From: Ashish Agarwal Date: May 21 2012 2:23pm Subject: bzr push into mysql-trunk branch (ashish.y.agarwal:3898 to 3899) WL#2739 List-Archive: http://lists.mysql.com/commits/143875 Message-Id: <201205211424.q4LEO1BY028713@acsmt358.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 IDM4OTkgQXNoaXNoIEFnYXJ3YWwJMjAxMi0wNS0yMQogICAgICBXTCMyNzM5OiBBdWRpdGluZyBQ YXNzd29yZCBTZWN1cml0eQogICAgICAqKioqKioKICAgICAgV0wjMjczOTogRmFpbGluZyB0ZXN0 IGNhc2UgaW4gV0wgYnJhbmNoLgogICAgICAqKioqKioKICAgICAgV0wjMjczOTogU29tZSB0ZXN0 cyB3ZXJlIGZhaWxpbmcuCiAgICAgICAgICAgICAgIFVuYWJsZSB0byBjb21waWxlIGluIHdpbmRv d3MuCiAgICAgICAgICAgICAgIHBhdGNoIHRvIGNvcnJlY3QgdGhlIHRlc3QgY2FzZXMgYW5kCiAg ICAgICAgICAgICAgIG1ha2UgaXQgY29tcGlsZSBpbiB3aW5kb3dzLgogICAgICAqKioqKioKICAg ICAgd2wjMjczOTogQ2hhbmdlcyBpbiB0aGUgdGhlIHRlc3QgY2FzZQogICAgICAgICAgICAgICBj b21waWxpbmcgaXQgaW4gd2luZG93cy4gCiAgICAgICoqKioqKgogICAgICBXTCMyNzM5OiBTdGls bCBzb21lIHByb2JsZW0gZXhzaXN0cyB3aXRoIGNvbXBpbGF0aW9uIGluIHdpbmRvd3MuCiAgICAg ICAgICAgICAgIFBhdGNoIHRvIHNvbHZlIGl0LgogICAgICAqKioqKioKICAgICAgd2wyNzM5OiBB dWRpdGluZyBQYXNzd29yZCBTZWN1cml0eQogICAgICAgICAgICAgIFNvbWUgcGVyZm9ybWFuY2Ug aXNzdWUuCiAgICAgICoqKioqKgogICAgICBXTCMyNzM5OiBzb21lIGltcG9ydGFudCBjaGFuZ2Vz IHJlZ2FyZGluZyBpbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgICBUZXN0IGZhaWwgaW4gd2lu ZG93cwogICAgICAqKioqKioKICAgICAgd2wjMjczOTogQnVpbGQgcHJvYmxlbSBpbiBzb2xhcmlz L3dpbmRvd3MKICAgICAgKioqKioqCiAgICAgIHdsMjczOTogQnVpbGQgZmFpbHVyZSBpbiB3aW5k b3dzIGFuZCBzb21lIGFkZGl0aW9uYWwgY2hhbmdlcy4KICAgICAgKioqKioqCiAgICAgIFdMMjcz OTogSW5jbHVkaW5nIHBhc3N3b3JkIHZhbGlkYXRpb24gb24gbXVsdGlwbGUKICAgICAgICAgICAg ICBjaGFyYWN0ZXIgc2V0LiAKICAgICAgKioqKioqCiAgICAgIHdsMjczOTogQ2hhbmdpbmcgdGhl IGRpY3Rpb25hcnkgZmlsZQogICAgICAqKioqKioKICAgICAgV0wyNzM5OiBUZXN0IGZhaWxpbmcg b24gd2luZG93cy4KICAgICAgICAgICAgICBEaWN0aW9uYXJ5IGZpbGUgaXMgbm90IGZvdW5kIGlu IHBsdWdpbgogICAgICAgICAgICAgIGRpcmVjdG9yeS4KICAgICAgKioqKioqCiAgICAgIHdsMjcz OTogVGVzdCBjYXNlIGZhaWxzIGluIGxpbnV4IGR1ZSB0byBkaWN0aW9uYXJ5CiAgICAgICAgICAg ICAgZmlsZS4KICAgICAgKioqKioqCiAgICAgIHdsMjczOTogQXVkaXRpbmcgUGFzc3dvcmQgU2Vj dXJpdHkKICAgICAgICAgICAgICBJbXBlbWVudGluZyByZXZpZXcgY29tbWVudHMuCiAgICAgICoq KioqKgogICAgICB3bDI3Mzk6IEF1ZGl0aW5nIFBhc3N3b3JkIFNlY3VyaXR5CiAgICAgICAgICAg ICAgQnVpbGQgZmFpbHVyZSBpbiB3aW5kb3dzLgogICAgICAqKioqKioKICAgICAgd2wyNzM5OiBB dWRpdGluZyBQYXNzd29yZCBTZWN1cml0eQogICAgICAgICAgICAgIEJ1aWxkIGZhaWx1cmUgaW4g d2luZG93cwogICAgICAqKioqKioKICAgICAgd2wyNzM5OiBBdWRpdGluZyBQYXNzd29yZCBTZWN1 cml0eQogICAgICAgICAgICAgIEJ1aWxkIGZhaWx1cmUgaW4gd2luZG93cy4KICAgICAgKioqKioq CiAgICAgIFdMMjczOTogQXVkaXRpbmcgUGFzc3dvcmQgU2VjdXJpdHkKICAgICAgICAgICAgICBJ bXBsZW1lbnRpbmcgcmV2aWV3IGNvbW1lbnRzLgogICAgICAqKioqKioKICAgICAgV0wyNzM5OiBB dWRpdGluZyBQYXNzd29yZCBTZWN1cml0eQogICAgICAgICAgICAgIEltcGxlbWVudGluZyByZXZp ZXcgY29tbWVudAogICAgICAqKioqKioKICAgICAgd2wyNzM5OiBBdWRpdGluZyBQYXNzd29yZCBT ZWN1cml0eQogICAgICAgICAgICAgIEltcGxlbWVudGluZyBzdWdnZXN0aW9ucy4KICAgICAgKioq KioqCiAgICAgIHdsMjczOTogQXVkaXRpbmcgUGFzc3dvcmQgU2VjdXJpdHkKICAgICAgICAgICAg ICBJbXBsZW1lbnRpbmcgY29kZSByZXZpZXcuCiAgICAgICoqKioqKgogICAgICB3bDI3Mzk6IEF1 ZGl0aW5nIFBhc3N3b3JkIFNlY3VyaXR5CiAgICAgICAgICAgICAgSW1wbGVtZW50aW5nIGNvZGUg cmV2aWV3CiAgICAgICoqKioqKgogICAgICB3bDI3Mzk6IEF1ZGl0aW5nIFBhc3N3b3JkIFNlY3Vy aXR5CiAgICAgICAgICAgICAgQ29tcGlsYXRpb24gZXJyb3IgaW4gc29sYXJpcy4KICAgICAgKioq KioqCiAgICAgIHdsIzI3Mzk6IEF1ZGl0aW5nIFBhc3N3b3JkIFNlY3VyaXR5CiAgICAgICAgICAg ICAgIFRlc3QgZmFpbHVyZSBpbiB3aW5kb3dzIAogICAgICAqKioqKioKICAgICAgV0wjMjczOTog QXVkaXRpbmcgUGFzc3dvcmQgU2VjdXJpdHkKICAgICAgICAgICAgICAgQ2hhbmdlIGluIHRoZSAu Y25mIGZpbGUKCiAgICBhZGRlZDoKICAgICAgaW5jbHVkZS9teXNxbC9wbHVnaW5fdmFsaWRhdGVf cGFzc3dvcmQuaAogICAgICBpbmNsdWRlL215c3FsL3NlcnZpY2VfbXlzcWxfc3RyaW5nLmgKICAg ICAgbGlic2VydmljZXMvbXlzcWxfc3RyaW5nX3NlcnZpY2UuYwogICAgICBteXNxbC10ZXN0L2lu Y2x1ZGUvaGF2ZV92YWxpZGF0ZV9wYXNzd29yZF9wbHVnaW4uaW5jCiAgICAgIG15c3FsLXRlc3Qv ci92YWxpZGF0ZV9wYXNzd29yZF9wbHVnaW4ucmVzdWx0CiAgICAgIG15c3FsLXRlc3QvdC92YWxp ZGF0ZV9wYXNzd29yZF9wbHVnaW4tbWFzdGVyLm9wdAogICAgICBteXNxbC10ZXN0L3QvdmFsaWRh dGVfcGFzc3dvcmRfcGx1Z2luLnRlc3QKICAgICAgcGx1Z2luL3Bhc3N3b3JkX3ZhbGlkYXRpb24v CiAgICAgIHBsdWdpbi9wYXNzd29yZF92YWxpZGF0aW9uL0NNYWtlTGlzdHMudHh0CiAgICAgIHBs dWdpbi9wYXNzd29yZF92YWxpZGF0aW9uL3ZhbGlkYXRlX3Bhc3N3b3JkLmNjCiAgICAgIHNxbC9z aGFyZS9kaWN0aW9uYXJ5LnR4dAogICAgICBzcWwvc3RyaW5nX3NlcnZpY2UuY2MKICAgICAgc3Fs L3N0cmluZ19zZXJ2aWNlLmgKICAgIG1vZGlmaWVkOgogICAgICBpbmNsdWRlL0NNYWtlTGlzdHMu dHh0CiAgICAgIGluY2x1ZGUvbXlzcWwvcGx1Z2luLmgKICAgICAgaW5jbHVkZS9teXNxbC9wbHVn aW5fYXVkaXQuaC5wcAogICAgICBpbmNsdWRlL215c3FsL3BsdWdpbl9hdXRoLmgucHAKICAgICAg aW5jbHVkZS9teXNxbC9wbHVnaW5fZnRwYXJzZXIuaC5wcAogICAgICBpbmNsdWRlL215c3FsL3Nl cnZpY2VzLmgKICAgICAgaW5jbHVkZS9zZXJ2aWNlX3ZlcnNpb25zLmgKICAgICAgbGlic2Vydmlj ZXMvQ01ha2VMaXN0cy50eHQKICAgICAgbXlzcWwtdGVzdC9pbmNsdWRlL3BsdWdpbi5kZWZzCiAg ICAgIHNxbC9DTWFrZUxpc3RzLnR4dAogICAgICBzcWwvaXRlbV9jcmVhdGUuY2MKICAgICAgc3Fs L2l0ZW1fZnVuYy5jYwogICAgICBzcWwvaXRlbV9mdW5jLmgKICAgICAgc3FsL2l0ZW1fc3RyZnVu Yy5jYwogICAgICBzcWwvc2hhcmUvQ01ha2VMaXN0cy50eHQKICAgICAgc3FsL3NoYXJlL2Vycm1z Zy11dGY4LnR4dAogICAgICBzcWwvc3FsX2FjbC5jYwogICAgICBzcWwvc3FsX2FjbC5oCiAgICAg IHNxbC9zcWxfcGx1Z2luLmNjCiAgICAgIHNxbC9zcWxfcGx1Z2luX3NlcnZpY2VzLmgKICAgICAg c3FsL3NxbF95YWNjLnl5CiAgICAgIHN1cHBvcnQtZmlsZXMvQ01ha2VMaXN0cy50eHQKICAgICAg c3VwcG9ydC1maWxlcy9teS1odWdlLmNuZi5zaAogICAgICBzdXBwb3J0LWZpbGVzL215LWxhcmdl LmNuZi5zaAogICAgICBzdXBwb3J0LWZpbGVzL215LW1lZGl1bS5jbmYuc2gKICAgICAgc3VwcG9y dC1maWxlcy9teS1zbWFsbC5jbmYuc2gKIDM4OTggTWF5YW5rIFByYXNhZAkyMDEyLTA1LTIxCiAg ICAgIEJVRyMxMzc4NDgwNCA6IFJFTU9WRSBUSEUgTEVHQUNZIFNIQTEgQU5EIE1ENSBDT0RFIEZS T00gVEhFIFNFUlZFUgogICAgICAKICAgICAgRGV0YWlsczoKICAgICAgIC0gUmVtb3ZpbmcgTXlT UUwgaW1wbGVtZW50YXRpb24gb2YgTUQ1IGFuZCBTSEExLgogICAgICAgLSBSZW1vdmVkIC1EV0lU SF9TU0w9bm8gY29tcGlsZSBvcHRpb24gZm9yIFNTTC4gCiAgICAgIAogICAgICBOT1RFOgogICAg ICAgIEFzIHBlciBpbmNsdWRlL215X2dsb2JhbC5oLCBIQVZFX09QRU5TU0wgaXMgdW5kZWZpbmVk IGluIGVtYmVkZGVkIGxpYnJhcnk6CiAgICAgICAKICAgICAgICAgI2lmZGVmIEVNQkVEREVEX0xJ QlJBUlkKICAgICAgIAogICAgICAgICAvKiBUaGluZ3Mgd2UgZG9uJ3QgbmVlZCBpbiB0aGUgZW1i ZWRkZWQgdmVyc2lvbiBvZiBNeVNRTCAqLwogICAgICAgICAvKiBUT0RPIEhGIGFkZCAjdW5kZWYg SEFWRV9WSU8gaWYgd2UgZG9uJ3Qgd2FudCBjbGllbnQgaW4gZW1iZWRkZWQgbGlicmFyeQogICAg ICAgICAqLwogICAgICAgCiAgICAgICAgICN1bmRlZiBIQVZFX09QRU5TU0wKICAgICAgICAgI3Vu ZGVmIEhBVkVfU01FTSAgICAgICAgICAgICAgICAvKiBObyBzaGFyZWQgbWVtb3J5ICovCiAgICAg ICAKICAgICAgICAgI2VuZGlmIC8qIEVNQkVEREVEX0xJQlJBUlkgKi8KICAgICAgIAogICAgICAg IElmIGVtYmVkZGVkIGxpYnJhcnkgaXMgYnVpbHQgd2l0aCAtRFdJVEhfU1NMPXN5c3RlbSBvcHRp b24sIGVhcmxpZXIgKGJlZm9yZQogICAgICAgIHRoaXMgYnVnKSBpdCB3YXMgc3VwcG9zZSB0byBn byBpbnRvIE15U1FMIGltcGxlbWVudGF0aW9uIG9mIFNTTCBidXQgbm93IHRoaXMKICAgICAgICBo YXMgYmVlbiByZW1vdmVkLCBzbyBpdCB3b3VsZG4ndCBoYXZlIFNTTCBzdXBwb3J0LgoKICAgIHJl bW92ZWQ6CiAgICAgIG15c3lzL21kNS5jCiAgICAgIG15c3lzL3NoYTEuYwogICAgbW9kaWZpZWQ6 CiAgICAgIENNYWtlTGlzdHMudHh0CiAgICAgIGNtYWtlL3NzbC5jbWFrZQogICAgICBpbmNsdWRl L215X21kNS5oCiAgICAgIGluY2x1ZGUvc2hhMS5oCiAgICAgIG15c3FsLXRlc3QvdC9kaXNhYmxl ZC5kZWYKICAgICAgbXlzeXMvQ01ha2VMaXN0cy50eHQKICAgICAgc3FsL21kNS5jYwogICAgICBz cWwvc2hhMS5jYwo9PT0gbW9kaWZpZWQgZmlsZSAnaW5jbHVkZS9DTWFrZUxpc3RzLnR4dCcKLS0t IGEvaW5jbHVkZS9DTWFrZUxpc3RzLnR4dAkyMDEyLTAyLTE2IDA5OjUxOjE0ICswMDAwCisrKyBi L2luY2x1ZGUvQ01ha2VMaXN0cy50eHQJMjAxMi0wNS0yMSAxNDoyMjo1NiArMDAwMApAQCAtMzAs NiArMzAsNyBAQCBTRVQoSEVBREVSU19BQkkKICAgbXlzcWwvcGx1Z2luLmgKICAgbXlzcWwvcGx1 Z2luX2F1ZGl0LmgKICAgbXlzcWwvcGx1Z2luX2Z0cGFyc2VyLmgKKyAgbXlzcWwvcGx1Z2luX3Zh bGlkYXRlX3Bhc3N3b3JkLmgKICkKIAogU0VUKEhFQURFUlMgCgo9PT0gbW9kaWZpZWQgZmlsZSAn aW5jbHVkZS9teXNxbC9wbHVnaW4uaCcKLS0tIGEvaW5jbHVkZS9teXNxbC9wbHVnaW4uaAkyMDEy LTAzLTA2IDE0OjI5OjQyICswMDAwCisrKyBiL2luY2x1ZGUvbXlzcWwvcGx1Z2luLmgJMjAxMi0w NS0yMSAxNDoyMjo1NiArMDAwMApAQCAtNzMsNyArNzMsNyBAQCB0eXBlZGVmIHN0cnVjdCBzdF9t eXNxbF94aWQgTVlTUUxfWElEOwogICBQbHVnaW4gQVBJLiBDb21tb24gZm9yIGFsbCBwbHVnaW4g dHlwZXMuCiAqLwogCi0jZGVmaW5lIE1ZU1FMX1BMVUdJTl9JTlRFUkZBQ0VfVkVSU0lPTiAweDAx MDMKKyNkZWZpbmUgTVlTUUxfUExVR0lOX0lOVEVSRkFDRV9WRVJTSU9OIDB4MDEwNAogCiAvKgog ICBUaGUgYWxsb3dhYmxlIHR5cGVzIG9mIHBsdWdpbnMKQEAgLTg2LDcgKzg2LDggQEAgdHlwZWRl ZiBzdHJ1Y3Qgc3RfbXlzcWxfeGlkIE1ZU1FMX1hJRDsKICNkZWZpbmUgTVlTUUxfQVVESVRfUExV R0lOICAgICAgICAgICA1ICAvKiBUaGUgQXVkaXQgcGx1Z2luIHR5cGUgICAgICAgICovCiAjZGVm aW5lIE1ZU1FMX1JFUExJQ0FUSU9OX1BMVUdJTiAgICAgNgkvKiBUaGUgcmVwbGljYXRpb24gcGx1 Z2luIHR5cGUgKi8KICNkZWZpbmUgTVlTUUxfQVVUSEVOVElDQVRJT05fUExVR0lOICA3ICAvKiBU aGUgYXV0aGVudGljYXRpb24gcGx1Z2luIHR5cGUgKi8KLSNkZWZpbmUgTVlTUUxfTUFYX1BMVUdJ Tl9UWVBFX05VTSAgICA4ICAvKiBUaGUgbnVtYmVyIG9mIHBsdWdpbiB0eXBlcyAgICovCisjZGVm aW5lIE1ZU1FMX1ZBTElEQVRFX1BBU1NXT1JEX1BMVUdJTiAgOCAgIC8qIHZhbGlkYXRlIHBhc3N3 b3JkIHBsdWdpbiB0eXBlICovCisjZGVmaW5lIE1ZU1FMX01BWF9QTFVHSU5fVFlQRV9OVU0gICAg OSAgLyogVGhlIG51bWJlciBvZiBwbHVnaW4gdHlwZXMgICAqLwogCiAvKiBXZSB1c2UgdGhlIGZv bGxvd2luZyBzdHJpbmdzIHRvIGRlZmluZSBsaWNlbnNlcyBmb3IgcGx1Z2lucyAqLwogI2RlZmlu ZSBQTFVHSU5fTElDRU5TRV9QUk9QUklFVEFSWSAwCgo9PT0gbW9kaWZpZWQgZmlsZSAnaW5jbHVk ZS9teXNxbC9wbHVnaW5fYXVkaXQuaC5wcCcKLS0tIGEvaW5jbHVkZS9teXNxbC9wbHVnaW5fYXVk aXQuaC5wcAkyMDEyLTAzLTAxIDEzOjUzOjU1ICswMDAwCisrKyBiL2luY2x1ZGUvbXlzcWwvcGx1 Z2luX2F1ZGl0LmgucHAJMjAxMi0wNS0yMSAxNDoyMjo1NiArMDAwMApAQCAtNzMsNiArNzMsMzUg QEAgZXh0ZXJuIHN0cnVjdCBteV9wbHVnaW5fbG9nX3NlcnZpY2UKIH0gKm15X3BsdWdpbl9sb2df c2VydmljZTsKIGludCBteV9wbHVnaW5fbG9nX21lc3NhZ2UoTVlTUUxfUExVR0lOICpwbHVnaW4s IGVudW0gcGx1Z2luX2xvZ19sZXZlbCBsZXZlbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3QgY2hhciAqZm9ybWF0LCAuLi4pOworI2luY2x1ZGUgPG15c3FsL3NlcnZpY2VfbXlzcWxf c3RyaW5nLmg+Cit0eXBlZGVmIHZvaWQgKm15c3FsX3N0cmluZ19pdGVyYXRvcl9oYW5kbGU7Cit0 eXBlZGVmIHZvaWQgKm15c3FsX3N0cmluZ19oYW5kbGU7CitleHRlcm4gc3RydWN0IG15c3FsX3N0 cmluZ19zZXJ2aWNlX3N0IHsKKyAgaW50ICgqbXlzcWxfc3RyaW5nX2NvbnZlcnRfdG9fY2hhcl9w dHJfdHlwZSkKKyAgICAgICAobXlzcWxfc3RyaW5nX2hhbmRsZSwgY29uc3QgY2hhciAqLCBjaGFy ICosIGludCAqKTsKKyAgbXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2hhbmRsZSAoKm15c3FsX3N0cmlu Z19nZXRfaXRlcmF0b3JfdHlwZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG15 c3FsX3N0cmluZ19oYW5kbGUpOworICBpbnQgKCpteXNxbF9zdHJpbmdfaXRlcmF0b3JfbmV4dF90 eXBlKShteXNxbF9zdHJpbmdfaXRlcmF0b3JfaGFuZGxlKTsKKyAgaW50ICgqbXlzcWxfc3RyaW5n X2l0ZXJhdG9yX2lzdXBwZXJfdHlwZSkobXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2hhbmRsZSk7Cisg IGludCAoKm15c3FsX3N0cmluZ19pdGVyYXRvcl9pc2xvd2VyX3R5cGUpKG15c3FsX3N0cmluZ19p dGVyYXRvcl9oYW5kbGUpOworICBpbnQgKCpteXNxbF9zdHJpbmdfaXRlcmF0b3JfaXNkaWdpdF90 eXBlKShteXNxbF9zdHJpbmdfaXRlcmF0b3JfaGFuZGxlKTsKKyAgbXlzcWxfc3RyaW5nX2hhbmRs ZSAoKm15c3FsX3N0cmluZ190b19sb3dlcmNhc2VfdHlwZSkobXlzcWxfc3RyaW5nX2hhbmRsZSk7 CisgIHZvaWQgKCpteXNxbF9zdHJpbmdfZnJlZV90eXBlKShteXNxbF9zdHJpbmdfaGFuZGxlKTsK KyAgdm9pZCAoKm15c3FsX3N0cmluZ19pdGVyYXRvcl9mcmVlX3R5cGUpKG15c3FsX3N0cmluZ19p dGVyYXRvcl9oYW5kbGUpOworfSAqbXlzcWxfc3RyaW5nX3NlcnZpY2U7CitpbnQgbXlzcWxfc3Ry aW5nX2NvbnZlcnRfdG9fY2hhcl9wdHIobXlzcWxfc3RyaW5nX2hhbmRsZSBzdHJpbmdfaGFuZGxl LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmNoYXJz ZXRfbmFtZSwgY2hhciAqYnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGludCAqZXJyb3IpOworbXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2hhbmRsZSBteXNxbF9zdHJp bmdfZ2V0X2l0ZXJhdG9yKG15c3FsX3N0cmluZ19oYW5kbGUKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmdfaGFuZGxlKTsKK2ludCBt eXNxbF9zdHJpbmdfaXRlcmF0b3JfbmV4dChteXNxbF9zdHJpbmdfaXRlcmF0b3JfaGFuZGxlIGl0 ZXJhdG9yX2hhbmRsZSk7CitpbnQgbXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2lzdXBwZXIobXlzcWxf c3RyaW5nX2l0ZXJhdG9yX2hhbmRsZSBpdGVyYXRvcl9oYW5kbGUpOworaW50IG15c3FsX3N0cmlu Z19pdGVyYXRvcl9pc2xvd2VyKG15c3FsX3N0cmluZ19pdGVyYXRvcl9oYW5kbGUgaXRlcmF0b3Jf aGFuZGxlKTsKK2ludCBteXNxbF9zdHJpbmdfaXRlcmF0b3JfaXNkaWdpdChteXNxbF9zdHJpbmdf aXRlcmF0b3JfaGFuZGxlIGl0ZXJhdG9yX2hhbmRsZSk7CitteXNxbF9zdHJpbmdfaGFuZGxlIG15 c3FsX3N0cmluZ190b19sb3dlcmNhc2UobXlzcWxfc3RyaW5nX2hhbmRsZQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ19oYW5kbGUpOwordm9pZCBt eXNxbF9zdHJpbmdfZnJlZShteXNxbF9zdHJpbmdfaGFuZGxlKTsKK3ZvaWQgbXlzcWxfc3RyaW5n X2l0ZXJhdG9yX2ZyZWUobXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2hhbmRsZSk7CiBzdHJ1Y3Qgc3Rf bXlzcWxfeGlkIHsKICAgbG9uZyBmb3JtYXRJRDsKICAgbG9uZyBndHJpZF9sZW5ndGg7Cgo9PT0g bW9kaWZpZWQgZmlsZSAnaW5jbHVkZS9teXNxbC9wbHVnaW5fYXV0aC5oLnBwJwotLS0gYS9pbmNs dWRlL215c3FsL3BsdWdpbl9hdXRoLmgucHAJMjAxMi0wMy0wMSAxMzo1Mzo1NSArMDAwMAorKysg Yi9pbmNsdWRlL215c3FsL3BsdWdpbl9hdXRoLmgucHAJMjAxMi0wNS0yMSAxNDoyMjo1NiArMDAw MApAQCAtNzMsNiArNzMsMzUgQEAgZXh0ZXJuIHN0cnVjdCBteV9wbHVnaW5fbG9nX3NlcnZpY2UK IH0gKm15X3BsdWdpbl9sb2dfc2VydmljZTsKIGludCBteV9wbHVnaW5fbG9nX21lc3NhZ2UoTVlT UUxfUExVR0lOICpwbHVnaW4sIGVudW0gcGx1Z2luX2xvZ19sZXZlbCBsZXZlbCwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pOworI2luY2x1ZGUgPG15 c3FsL3NlcnZpY2VfbXlzcWxfc3RyaW5nLmg+Cit0eXBlZGVmIHZvaWQgKm15c3FsX3N0cmluZ19p dGVyYXRvcl9oYW5kbGU7Cit0eXBlZGVmIHZvaWQgKm15c3FsX3N0cmluZ19oYW5kbGU7CitleHRl cm4gc3RydWN0IG15c3FsX3N0cmluZ19zZXJ2aWNlX3N0IHsKKyAgaW50ICgqbXlzcWxfc3RyaW5n X2NvbnZlcnRfdG9fY2hhcl9wdHJfdHlwZSkKKyAgICAgICAobXlzcWxfc3RyaW5nX2hhbmRsZSwg Y29uc3QgY2hhciAqLCBjaGFyICosIGludCAqKTsKKyAgbXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2hh bmRsZSAoKm15c3FsX3N0cmluZ19nZXRfaXRlcmF0b3JfdHlwZSkKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKG15c3FsX3N0cmluZ19oYW5kbGUpOworICBpbnQgKCpteXNxbF9zdHJp bmdfaXRlcmF0b3JfbmV4dF90eXBlKShteXNxbF9zdHJpbmdfaXRlcmF0b3JfaGFuZGxlKTsKKyAg aW50ICgqbXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2lzdXBwZXJfdHlwZSkobXlzcWxfc3RyaW5nX2l0 ZXJhdG9yX2hhbmRsZSk7CisgIGludCAoKm15c3FsX3N0cmluZ19pdGVyYXRvcl9pc2xvd2VyX3R5 cGUpKG15c3FsX3N0cmluZ19pdGVyYXRvcl9oYW5kbGUpOworICBpbnQgKCpteXNxbF9zdHJpbmdf aXRlcmF0b3JfaXNkaWdpdF90eXBlKShteXNxbF9zdHJpbmdfaXRlcmF0b3JfaGFuZGxlKTsKKyAg bXlzcWxfc3RyaW5nX2hhbmRsZSAoKm15c3FsX3N0cmluZ190b19sb3dlcmNhc2VfdHlwZSkobXlz cWxfc3RyaW5nX2hhbmRsZSk7CisgIHZvaWQgKCpteXNxbF9zdHJpbmdfZnJlZV90eXBlKShteXNx bF9zdHJpbmdfaGFuZGxlKTsKKyAgdm9pZCAoKm15c3FsX3N0cmluZ19pdGVyYXRvcl9mcmVlX3R5 cGUpKG15c3FsX3N0cmluZ19pdGVyYXRvcl9oYW5kbGUpOworfSAqbXlzcWxfc3RyaW5nX3NlcnZp Y2U7CitpbnQgbXlzcWxfc3RyaW5nX2NvbnZlcnRfdG9fY2hhcl9wdHIobXlzcWxfc3RyaW5nX2hh bmRsZSBzdHJpbmdfaGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IGNoYXIgKmNoYXJzZXRfbmFtZSwgY2hhciAqYnVmZmVyLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGludCAqZXJyb3IpOworbXlzcWxfc3RyaW5nX2l0ZXJhdG9y X2hhbmRsZSBteXNxbF9zdHJpbmdfZ2V0X2l0ZXJhdG9yKG15c3FsX3N0cmluZ19oYW5kbGUKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJp bmdfaGFuZGxlKTsKK2ludCBteXNxbF9zdHJpbmdfaXRlcmF0b3JfbmV4dChteXNxbF9zdHJpbmdf aXRlcmF0b3JfaGFuZGxlIGl0ZXJhdG9yX2hhbmRsZSk7CitpbnQgbXlzcWxfc3RyaW5nX2l0ZXJh dG9yX2lzdXBwZXIobXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2hhbmRsZSBpdGVyYXRvcl9oYW5kbGUp OworaW50IG15c3FsX3N0cmluZ19pdGVyYXRvcl9pc2xvd2VyKG15c3FsX3N0cmluZ19pdGVyYXRv cl9oYW5kbGUgaXRlcmF0b3JfaGFuZGxlKTsKK2ludCBteXNxbF9zdHJpbmdfaXRlcmF0b3JfaXNk aWdpdChteXNxbF9zdHJpbmdfaXRlcmF0b3JfaGFuZGxlIGl0ZXJhdG9yX2hhbmRsZSk7CitteXNx bF9zdHJpbmdfaGFuZGxlIG15c3FsX3N0cmluZ190b19sb3dlcmNhc2UobXlzcWxfc3RyaW5nX2hh bmRsZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlu Z19oYW5kbGUpOwordm9pZCBteXNxbF9zdHJpbmdfZnJlZShteXNxbF9zdHJpbmdfaGFuZGxlKTsK K3ZvaWQgbXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2ZyZWUobXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2hh bmRsZSk7CiBzdHJ1Y3Qgc3RfbXlzcWxfeGlkIHsKICAgbG9uZyBmb3JtYXRJRDsKICAgbG9uZyBn dHJpZF9sZW5ndGg7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnaW5jbHVkZS9teXNxbC9wbHVnaW5fZnRw YXJzZXIuaC5wcCcKLS0tIGEvaW5jbHVkZS9teXNxbC9wbHVnaW5fZnRwYXJzZXIuaC5wcAkyMDEy LTAzLTAxIDEzOjUzOjU1ICswMDAwCisrKyBiL2luY2x1ZGUvbXlzcWwvcGx1Z2luX2Z0cGFyc2Vy LmgucHAJMjAxMi0wNS0yMSAxNDoyMjo1NiArMDAwMApAQCAtNzMsNiArNzMsMzUgQEAgZXh0ZXJu IHN0cnVjdCBteV9wbHVnaW5fbG9nX3NlcnZpY2UKIH0gKm15X3BsdWdpbl9sb2dfc2VydmljZTsK IGludCBteV9wbHVnaW5fbG9nX21lc3NhZ2UoTVlTUUxfUExVR0lOICpwbHVnaW4sIGVudW0gcGx1 Z2luX2xvZ19sZXZlbCBsZXZlbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hh ciAqZm9ybWF0LCAuLi4pOworI2luY2x1ZGUgPG15c3FsL3NlcnZpY2VfbXlzcWxfc3RyaW5nLmg+ Cit0eXBlZGVmIHZvaWQgKm15c3FsX3N0cmluZ19pdGVyYXRvcl9oYW5kbGU7Cit0eXBlZGVmIHZv aWQgKm15c3FsX3N0cmluZ19oYW5kbGU7CitleHRlcm4gc3RydWN0IG15c3FsX3N0cmluZ19zZXJ2 aWNlX3N0IHsKKyAgaW50ICgqbXlzcWxfc3RyaW5nX2NvbnZlcnRfdG9fY2hhcl9wdHJfdHlwZSkK KyAgICAgICAobXlzcWxfc3RyaW5nX2hhbmRsZSwgY29uc3QgY2hhciAqLCBjaGFyICosIGludCAq KTsKKyAgbXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2hhbmRsZSAoKm15c3FsX3N0cmluZ19nZXRfaXRl cmF0b3JfdHlwZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG15c3FsX3N0cmlu Z19oYW5kbGUpOworICBpbnQgKCpteXNxbF9zdHJpbmdfaXRlcmF0b3JfbmV4dF90eXBlKShteXNx bF9zdHJpbmdfaXRlcmF0b3JfaGFuZGxlKTsKKyAgaW50ICgqbXlzcWxfc3RyaW5nX2l0ZXJhdG9y X2lzdXBwZXJfdHlwZSkobXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2hhbmRsZSk7CisgIGludCAoKm15 c3FsX3N0cmluZ19pdGVyYXRvcl9pc2xvd2VyX3R5cGUpKG15c3FsX3N0cmluZ19pdGVyYXRvcl9o YW5kbGUpOworICBpbnQgKCpteXNxbF9zdHJpbmdfaXRlcmF0b3JfaXNkaWdpdF90eXBlKShteXNx bF9zdHJpbmdfaXRlcmF0b3JfaGFuZGxlKTsKKyAgbXlzcWxfc3RyaW5nX2hhbmRsZSAoKm15c3Fs X3N0cmluZ190b19sb3dlcmNhc2VfdHlwZSkobXlzcWxfc3RyaW5nX2hhbmRsZSk7CisgIHZvaWQg KCpteXNxbF9zdHJpbmdfZnJlZV90eXBlKShteXNxbF9zdHJpbmdfaGFuZGxlKTsKKyAgdm9pZCAo Km15c3FsX3N0cmluZ19pdGVyYXRvcl9mcmVlX3R5cGUpKG15c3FsX3N0cmluZ19pdGVyYXRvcl9o YW5kbGUpOworfSAqbXlzcWxfc3RyaW5nX3NlcnZpY2U7CitpbnQgbXlzcWxfc3RyaW5nX2NvbnZl cnRfdG9fY2hhcl9wdHIobXlzcWxfc3RyaW5nX2hhbmRsZSBzdHJpbmdfaGFuZGxlLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmNoYXJzZXRfbmFtZSwg Y2hhciAqYnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAq ZXJyb3IpOworbXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2hhbmRsZSBteXNxbF9zdHJpbmdfZ2V0X2l0 ZXJhdG9yKG15c3FsX3N0cmluZ19oYW5kbGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmdfaGFuZGxlKTsKK2ludCBteXNxbF9zdHJp bmdfaXRlcmF0b3JfbmV4dChteXNxbF9zdHJpbmdfaXRlcmF0b3JfaGFuZGxlIGl0ZXJhdG9yX2hh bmRsZSk7CitpbnQgbXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2lzdXBwZXIobXlzcWxfc3RyaW5nX2l0 ZXJhdG9yX2hhbmRsZSBpdGVyYXRvcl9oYW5kbGUpOworaW50IG15c3FsX3N0cmluZ19pdGVyYXRv cl9pc2xvd2VyKG15c3FsX3N0cmluZ19pdGVyYXRvcl9oYW5kbGUgaXRlcmF0b3JfaGFuZGxlKTsK K2ludCBteXNxbF9zdHJpbmdfaXRlcmF0b3JfaXNkaWdpdChteXNxbF9zdHJpbmdfaXRlcmF0b3Jf aGFuZGxlIGl0ZXJhdG9yX2hhbmRsZSk7CitteXNxbF9zdHJpbmdfaGFuZGxlIG15c3FsX3N0cmlu Z190b19sb3dlcmNhc2UobXlzcWxfc3RyaW5nX2hhbmRsZQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ19oYW5kbGUpOwordm9pZCBteXNxbF9zdHJp bmdfZnJlZShteXNxbF9zdHJpbmdfaGFuZGxlKTsKK3ZvaWQgbXlzcWxfc3RyaW5nX2l0ZXJhdG9y X2ZyZWUobXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2hhbmRsZSk7CiBzdHJ1Y3Qgc3RfbXlzcWxfeGlk IHsKICAgbG9uZyBmb3JtYXRJRDsKICAgbG9uZyBndHJpZF9sZW5ndGg7Cgo9PT0gYWRkZWQgZmls ZSAnaW5jbHVkZS9teXNxbC9wbHVnaW5fdmFsaWRhdGVfcGFzc3dvcmQuaCcKLS0tIGEvaW5jbHVk ZS9teXNxbC9wbHVnaW5fdmFsaWRhdGVfcGFzc3dvcmQuaAkxOTcwLTAxLTAxIDAwOjAwOjAwICsw MDAwCisrKyBiL2luY2x1ZGUvbXlzcWwvcGx1Z2luX3ZhbGlkYXRlX3Bhc3N3b3JkLmgJMjAxMi0w NS0yMSAxNDoyMjo1NiArMDAwMApAQCAtMCwwICsxLDQ2IEBACisvKiBDb3B5cmlnaHQgwqkgMjAx MiwgT3JhY2xlIGFuZC9vciBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKwor ICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkKKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uOyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UuCisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgYnV0IFdJ VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK KyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUKKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu CisKKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlCisgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0 ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g U3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgIFVTQSAqLworCisjaWZuZGVm IE1ZU1FMX1BMVUdJTl9WQUxJREFURV9QQVNTV09SRF9JTkNMVURFRAorI2RlZmluZSBNWVNRTF9Q TFVHSU5fVkFMSURBVEVfUEFTU1dPUkRfSU5DTFVERUQKKworLyogQVBJIGZvciB2YWxpZGF0ZV9w YXNzd29yZCBwbHVnaW4uIChNWVNRTF9WQUxJREFURV9QQVNTV09SRF9QTFVHSU4pICovCisKKyNp bmNsdWRlIDxteXNxbC9wbHVnaW4uaD4KKyNkZWZpbmUgTVlTUUxfVkFMSURBVEVfUEFTU1dPUkRf SU5URVJGQUNFX1ZFUlNJT04gMHgwMTAwCisKKy8qICAKKyAgVGhlIGRlc2NyaXB0b3Igc3RydWN0 dXJlIGZvciB0aGUgcGx1Z2luLCB0aGF0IGlzIHJlZmVycmVkIGZyb20KKyAgc3RfbXlzcWxfcGx1 Z2luLgorKi8KKwordHlwZWRlZiB2b2lkKiBteXNxbF9zdHJpbmdfaGFuZGxlOworCitzdHJ1Y3Qg c3RfbXlzcWxfdmFsaWRhdGVfcGFzc3dvcmQKK3sKKyAgaW50IGludGVyZmFjZV92ZXJzaW9uOwor ICAvKiAgCisgICAgVGhpcyBmdW5jdGlvbiByZXR1bnMgVFJVRSBmb3IgcGFzc3dvcmRzIHdoaWNo IHNhdGlzZnkgdGhlIHBhc3N3b3JkCisgICAgcG9saWN5IChhcyBjaG9vc2VuIGJ5IHBsdWdpbiB2 YXJpYWJsZSkgYW5kIEZBTFNFIGZvciBhbGwgb3RoZXIKKyAgICBwYXNzd29yZAorICAqLworICBp bnQgKCp2YWxpZGF0ZV9wYXNzd29yZCkobXlzcWxfc3RyaW5nX2hhbmRsZSBwYXNzd29yZCk7Cisg IC8qICAKKyAgICBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIHBhc3N3b3JkIHN0cmVuZ3RoICgw LTEwMCkgZGVwZW5kaW5nCisgICAgdXBvbiB0aGUgcG9saWNpZXMKKyAgKi8KKyAgaW50ICgqZ2V0 X3Bhc3N3b3JkX3N0cmVuZ3RoKShteXNxbF9zdHJpbmdfaGFuZGxlIHBhc3N3b3JkKTsKK307Cisj ZW5kaWYKCj09PSBhZGRlZCBmaWxlICdpbmNsdWRlL215c3FsL3NlcnZpY2VfbXlzcWxfc3RyaW5n LmgnCi0tLSBhL2luY2x1ZGUvbXlzcWwvc2VydmljZV9teXNxbF9zdHJpbmcuaAkxOTcwLTAxLTAx IDAwOjAwOjAwICswMDAwCisrKyBiL2luY2x1ZGUvbXlzcWwvc2VydmljZV9teXNxbF9zdHJpbmcu aAkyMDEyLTA1LTIxIDE0OjIyOjU2ICswMDAwCkBAIC0wLDAgKzEsMTMyIEBACisvKiBDb3B5cmln aHQgwqkgMjAxMiwgT3JhY2xlIGFuZC9vciBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNl cnZlZC4KKworICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgICB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uOyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UuCisKKyAgIFRoaXMgcHJv Z3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor ICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YKKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUKKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCisKKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYg bm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICAgRm91bmRhdGlvbiwgSW5jLiwgNTEg RnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgIFVTQSAqLwor CisvKiBUaGlzIHNlcnZpY2UgcHJvdmlkZXMgZnVuY3Rpb25zIHRvIHBhcnNlIG15c3FsIFN0cmlu ZyAqLworCisjaWZuZGVmIE1ZU1FMX1NFUlZJQ0VfTVlTUUxfU1RSSU5HX0lOQ0xVREVECisjZGVm aW5lIE1ZU1FMX1NFUlZJQ0VfTVlTUUxfU1RSSU5HX0lOQ0xVREVECisKKyNpZm5kZWYgTVlTUUxf QUJJX0NIRUNLCisjaW5jbHVkZSA8c3RkbGliLmg+CisjZW5kaWYKKworI2lmZGVmIF9fY3BsdXNw bHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCit0eXBlZGVmIHZvaWQgKm15c3FsX3N0cmluZ19p dGVyYXRvcl9oYW5kbGU7Cit0eXBlZGVmIHZvaWQgKm15c3FsX3N0cmluZ19oYW5kbGU7CisKK2V4 dGVybiBzdHJ1Y3QgbXlzcWxfc3RyaW5nX3NlcnZpY2Vfc3QgeworICBpbnQgKCpteXNxbF9zdHJp bmdfY29udmVydF90b19jaGFyX3B0cl90eXBlKQorICAgICAgIChteXNxbF9zdHJpbmdfaGFuZGxl LCBjb25zdCBjaGFyICosIGNoYXIgKiwgaW50ICopOworICBteXNxbF9zdHJpbmdfaXRlcmF0b3Jf aGFuZGxlICgqbXlzcWxfc3RyaW5nX2dldF9pdGVyYXRvcl90eXBlKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAobXlzcWxfc3RyaW5nX2hhbmRsZSk7CisgIGludCAoKm15c3FsX3N0 cmluZ19pdGVyYXRvcl9uZXh0X3R5cGUpKG15c3FsX3N0cmluZ19pdGVyYXRvcl9oYW5kbGUpOwor ICBpbnQgKCpteXNxbF9zdHJpbmdfaXRlcmF0b3JfaXN1cHBlcl90eXBlKShteXNxbF9zdHJpbmdf aXRlcmF0b3JfaGFuZGxlKTsKKyAgaW50ICgqbXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2lzbG93ZXJf dHlwZSkobXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2hhbmRsZSk7CisgIGludCAoKm15c3FsX3N0cmlu Z19pdGVyYXRvcl9pc2RpZ2l0X3R5cGUpKG15c3FsX3N0cmluZ19pdGVyYXRvcl9oYW5kbGUpOwor ICBteXNxbF9zdHJpbmdfaGFuZGxlICgqbXlzcWxfc3RyaW5nX3RvX2xvd2VyY2FzZV90eXBlKSht eXNxbF9zdHJpbmdfaGFuZGxlKTsKKyAgdm9pZCAoKm15c3FsX3N0cmluZ19mcmVlX3R5cGUpKG15 c3FsX3N0cmluZ19oYW5kbGUpOworICB2b2lkICgqbXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2ZyZWVf dHlwZSkobXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2hhbmRsZSk7Cit9ICpteXNxbF9zdHJpbmdfc2Vy dmljZTsKKworI2lmZGVmIE1ZU1FMX0RZTkFNSUNfUExVR0lOCisKKyNkZWZpbmUgbXlzcWxfc3Ry aW5nX2NvbnZlcnRfdG9fY2hhcl9wdHIoc3RyaW5nX2hhbmRsZSwgY2hhcnNldF9uYW1lLCBcCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZlciwgZXJyb3IpIFwK KyAgICAgICAgbXlzcWxfc3RyaW5nX3NlcnZpY2UtPm15c3FsX3N0cmluZ19jb252ZXJ0X3RvX2No YXJfcHRyX3R5cGUgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZ19oYW5k bGUsIGNoYXJzZXRfbmFtZSwgYnVmZmVyLCBlcnJvcikKKworI2RlZmluZSBteXNxbF9zdHJpbmdf Z2V0X2l0ZXJhdG9yKHN0cmluZ19oYW5kbGUpIFwKKyAgICAgICAgbXlzcWxfc3RyaW5nX3NlcnZp Y2UtPm15c3FsX3N0cmluZ19nZXRfaXRlcmF0b3JfdHlwZShzdHJpbmdfaGFuZGxlKQorCisjZGVm aW5lIG15c3FsX3N0cmluZ19pdGVyYXRvcl9uZXh0KGl0ZXJhdG9yX2hhbmRsZSkgXAorICAgICAg ICBteXNxbF9zdHJpbmdfc2VydmljZS0+bXlzcWxfc3RyaW5nX2l0ZXJhdG9yX25leHRfdHlwZShp dGVyYXRvcl9oYW5kbGUpCisKKyNkZWZpbmUgbXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2lzdXBwZXIo aXRlcmF0b3JfaGFuZGxlKSBcCisgICAgICAgIG15c3FsX3N0cmluZ19zZXJ2aWNlLT5teXNxbF9z dHJpbmdfaXRlcmF0b3JfaXN1cHBlcl90eXBlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoaXRlcmF0b3JfaGFuZGxlKQorCisjZGVmaW5lIG15c3FsX3N0cmluZ19pdGVy YXRvcl9pc2xvd2VyKGl0ZXJhdG9yX2hhbmRsZSkgXAorICAgICAgICBteXNxbF9zdHJpbmdfc2Vy dmljZS0+bXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2lzbG93ZXJfdHlwZSBcCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKGl0ZXJhdG9yX2hhbmRsZSkKKworI2RlZmluZSBteXNx bF9zdHJpbmdfaXRlcmF0b3JfaXNkaWdpdChpdGVyYXRvcl9oYW5kbGUpIFwKKyAgICAgICAgbXlz cWxfc3RyaW5nX3NlcnZpY2UtPm15c3FsX3N0cmluZ19pdGVyYXRvcl9pc2RpZ2l0X3R5cGUgXAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpdGVyYXRvcl9oYW5kbGUpCisK KyNkZWZpbmUgbXlzcWxfc3RyaW5nX3RvX2xvd2VyY2FzZShzdHJpbmdfaGFuZGxlKSBcCisgICAg ICAgIG15c3FsX3N0cmluZ19zZXJ2aWNlLT5teXNxbF9zdHJpbmdfdG9fbG93ZXJjYXNlX3R5cGUo c3RyaW5nX2hhbmRsZSkKKworI2RlZmluZSBteXNxbF9zdHJpbmdfZnJlZShteXNxbF9zdHJpbmdf aGFuZGxlKSBcCisgICAgICAgIG15c3FsX3N0cmluZ19zZXJ2aWNlLT5teXNxbF9zdHJpbmdfZnJl ZV90eXBlKG15c3FsX3N0cmluZ19oYW5kbGUpCisKKyNkZWZpbmUgbXlzcWxfc3RyaW5nX2l0ZXJh dG9yX2ZyZWUobXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2hhbmRsZSkgXAorICAgICAgICBteXNxbF9z dHJpbmdfc2VydmljZS0+bXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2ZyZWVfdHlwZSBcCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKG15c3FsX3N0cmluZ19pdGVyYXRvcl9oYW5kbGUp CisjZWxzZQorCisvKiBUaGlzIHNlcnZpY2UgZnVuY3Rpb24gY29udmVydCBzdHJpbmcgaW50byBn aXZlbiBjaGFyYWN0ZXIgc2V0ICovCitpbnQgbXlzcWxfc3RyaW5nX2NvbnZlcnRfdG9fY2hhcl9w dHIobXlzcWxfc3RyaW5nX2hhbmRsZSBzdHJpbmdfaGFuZGxlLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmNoYXJzZXRfbmFtZSwgY2hhciAqYnVmZmVy LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAqZXJyb3IpOworCisv KiBUaGlzIHNlcnZpY2UgZnVuY3Rpb24gcmV0dXJucyB0aGUgYmVnaW5uaW5nIG9mIHRoZSBpdGVy YXRvciBoYW5kbGUgKi8KK215c3FsX3N0cmluZ19pdGVyYXRvcl9oYW5kbGUgbXlzcWxfc3RyaW5n X2dldF9pdGVyYXRvcihteXNxbF9zdHJpbmdfaGFuZGxlCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nX2hhbmRsZSk7CisvKiAgCisg IFRoaXMgc2VydmljZSBmdW5jdGlvbiBnZXRzIHRoZSBuZXh0IGl0ZXJhdG9yIGhhbmRsZQorICBy ZXR1cm5zIDAgaWYgcmVhY2hlZCB0aGUgZW5kIGVsc2UgcmV0dXJuIDEKKyovCitpbnQgbXlzcWxf c3RyaW5nX2l0ZXJhdG9yX25leHQobXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2hhbmRsZSBpdGVyYXRv cl9oYW5kbGUpOworCisvKiAgCisgIFRoaXMgc2VydmljZSBmdW5jdGlvbiByZXR1cm4gMSBpZiBj dXJyZW50IGl0ZXJhdG9yIGhhbmRsZSBwb2ludHMgdG8gYQorICB1cHBlcmNhc2UgY2hhcmFjdGVy IGVsc2UgcmV0dXJuIDAgZm9yIGNsaWVudCBjaGFyYWN0ZXIgc2V0LgorKi8KK2ludCBteXNxbF9z dHJpbmdfaXRlcmF0b3JfaXN1cHBlcihteXNxbF9zdHJpbmdfaXRlcmF0b3JfaGFuZGxlIGl0ZXJh dG9yX2hhbmRsZSk7CisKKy8qICAKKyAgVGhpcyBzZXJ2aWNlIGZ1bmN0aW9uIHJldHVybiAxIGlm IGN1cnJlbnQgaXRlcmF0b3IgaGFuZGxlIHBvaW50cyB0byBhCisgIGxvd2VyY2FzZSBjaGFyYWN0 ZXIgZWxzZSByZXR1cm4gMCBmb3IgY2xpZW50IGNoYXJhY3RlciBzZXQuCisqLworaW50IG15c3Fs X3N0cmluZ19pdGVyYXRvcl9pc2xvd2VyKG15c3FsX3N0cmluZ19pdGVyYXRvcl9oYW5kbGUgaXRl cmF0b3JfaGFuZGxlKTsKKworLyogIAorICBUaGlzIHNlcnZpY2UgZnVuY3Rpb24gcmV0dXJuIDEg aWYgY3VycmVudCBpdGVyYXRvciBoYW5kbGUgcG9pbnRzIHRvIGEgZGlnaXQKKyAgZWxzZSByZXR1 cm4gMCBmb3IgY2xpZW50IGNoYXJhY3RlciBzZXRzLgorKi8KK2ludCBteXNxbF9zdHJpbmdfaXRl cmF0b3JfaXNkaWdpdChteXNxbF9zdHJpbmdfaXRlcmF0b3JfaGFuZGxlIGl0ZXJhdG9yX2hhbmRs ZSk7CisKKy8qIGNvbnZlcnQgc3RyaW5nX2hhbmRsZSBpbnRvIGxvd2VyY2FzZSAqLworbXlzcWxf c3RyaW5nX2hhbmRsZSBteXNxbF9zdHJpbmdfdG9fbG93ZXJjYXNlKG15c3FsX3N0cmluZ19oYW5k bGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmdf aGFuZGxlKTsKKworLyogSXQgZGVhbGxvY2F0ZXMgdGhlIHN0cmluZyBjcmVhdGVkIG9uIHNlcnZl ciBzaWRlIGR1cmluZyBwbHVnaW4gb3BlcmF0aW9ucyAqLwordm9pZCBteXNxbF9zdHJpbmdfZnJl ZShteXNxbF9zdHJpbmdfaGFuZGxlKTsKKworLyogIAorICBJdCBkZWFsbG9jYXRlcyB0aGUgc3Ry aW5nIGl0ZXJhdG9yIGNyZWF0ZWQgb24gc2VydmVyIHNpZGUKKyAgZHVyaW5nIHBsdWdpbiBvcGVy YXRpb25zCisqLwordm9pZCBteXNxbF9zdHJpbmdfaXRlcmF0b3JfZnJlZShteXNxbF9zdHJpbmdf aXRlcmF0b3JfaGFuZGxlKTsKKworI2VuZGlmCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRp ZgorCisjZW5kaWYKCj09PSBtb2RpZmllZCBmaWxlICdpbmNsdWRlL215c3FsL3NlcnZpY2VzLmgn Ci0tLSBhL2luY2x1ZGUvbXlzcWwvc2VydmljZXMuaAkyMDExLTA2LTMwIDE1OjUwOjQ1ICswMDAw CisrKyBiL2luY2x1ZGUvbXlzcWwvc2VydmljZXMuaAkyMDEyLTA1LTIxIDE0OjIyOjU2ICswMDAw CkBAIC0yMyw2ICsyMyw3IEBAIGV4dGVybiAiQyIgewogI2luY2x1ZGUgPG15c3FsL3NlcnZpY2Vf dGhkX3dhaXQuaD4KICNpbmNsdWRlIDxteXNxbC9zZXJ2aWNlX3RocmVhZF9zY2hlZHVsZXIuaD4K ICNpbmNsdWRlIDxteXNxbC9zZXJ2aWNlX215X3BsdWdpbl9sb2cuaD4KKyNpbmNsdWRlIDxteXNx bC9zZXJ2aWNlX215c3FsX3N0cmluZy5oPgogCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KCj09PSBt b2RpZmllZCBmaWxlICdpbmNsdWRlL3NlcnZpY2VfdmVyc2lvbnMuaCcKLS0tIGEvaW5jbHVkZS9z ZXJ2aWNlX3ZlcnNpb25zLmgJMjAxMS0wNi0zMCAxNTo1MDo0NSArMDAwMAorKysgYi9pbmNsdWRl L3NlcnZpY2VfdmVyc2lvbnMuaAkyMDEyLTA1LTIxIDE0OjIyOjU2ICswMDAwCkBAIC0yNCwzICsy NCw0IEBACiAjZGVmaW5lIFZFUlNJT05fdGhkX3dhaXQgICAgICAgIDB4MDEwMAogI2RlZmluZSBW RVJTSU9OX215X3RocmVhZF9zY2hlZHVsZXIgMHgwMTAwCiAjZGVmaW5lIFZFUlNJT05fbXlfcGx1 Z2luX2xvZyAweDAxMDAKKyNkZWZpbmUgVkVSU0lPTl9teXNxbF9zdHJpbmcgIDB4MDEwMAoKPT09 IG1vZGlmaWVkIGZpbGUgJ2xpYnNlcnZpY2VzL0NNYWtlTGlzdHMudHh0JwotLS0gYS9saWJzZXJ2 aWNlcy9DTWFrZUxpc3RzLnR4dAkyMDExLTA2LTMwIDE1OjUwOjQ1ICswMDAwCisrKyBiL2xpYnNl cnZpY2VzL0NNYWtlTGlzdHMudHh0CTIwMTItMDUtMjEgMTQ6MjI6NTYgKzAwMDAKQEAgLTIwLDcg KzIwLDggQEAgU0VUKE1ZU1FMU0VSVklDRVNfU09VUkNFUwogICB0aGRfYWxsb2Nfc2VydmljZS5j CiAgIHRoZF93YWl0X3NlcnZpY2UuYwogICBteV9wbHVnaW5fbG9nX3NlcnZpY2UuYwotICBteV90 aHJlYWRfc2NoZWR1bGVyX3NlcnZpY2UuYykKKyAgbXlfdGhyZWFkX3NjaGVkdWxlcl9zZXJ2aWNl LmMKKyAgbXlzcWxfc3RyaW5nX3NlcnZpY2UuYykKIAogQUREX0xJQlJBUlkobXlzcWxzZXJ2aWNl cyAke01ZU1FMU0VSVklDRVNfU09VUkNFU30pCiBJTlNUQUxMKFRBUkdFVFMgbXlzcWxzZXJ2aWNl cyBERVNUSU5BVElPTiAke0lOU1RBTExfTElCRElSfSBDT01QT05FTlQgRGV2ZWxvcG1lbnQpCgo9 PT0gYWRkZWQgZmlsZSAnbGlic2VydmljZXMvbXlzcWxfc3RyaW5nX3NlcnZpY2UuYycKLS0tIGEv bGlic2VydmljZXMvbXlzcWxfc3RyaW5nX3NlcnZpY2UuYwkxOTcwLTAxLTAxIDAwOjAwOjAwICsw MDAwCisrKyBiL2xpYnNlcnZpY2VzL215c3FsX3N0cmluZ19zZXJ2aWNlLmMJMjAxMi0wNS0yMSAx NDoyMjo1NiArMDAwMApAQCAtMCwwICsxLDE4IEBACisvKiAgQ29weXJpZ2h0IMKpIDIwMTIsIE9y YWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICAgCisg ICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGFzCisgICAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IHZlcnNpb24gMiBvZiB0aGUKKyAgICBMaWNlbnNlLgorICAgIAorICAgIFRoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiBTZWUgdGhlCisgICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KKyAgICAKKyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5 IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgIGFsb25nIHdpdGggdGhpcyBw cm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgICAgRm91bmRhdGlv biwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEz MDEgVVNBICovCisKKyNpbmNsdWRlIDxzZXJ2aWNlX3ZlcnNpb25zLmg+CitTRVJWSUNFX1ZFUlNJ T04gKm15c3FsX3N0cmluZ19zZXJ2aWNlPSAodm9pZCopVkVSU0lPTl9teXNxbF9zdHJpbmc7Cgo9 PT0gYWRkZWQgZmlsZSAnbXlzcWwtdGVzdC9pbmNsdWRlL2hhdmVfdmFsaWRhdGVfcGFzc3dvcmRf cGx1Z2luLmluYycKLS0tIGEvbXlzcWwtdGVzdC9pbmNsdWRlL2hhdmVfdmFsaWRhdGVfcGFzc3dv cmRfcGx1Z2luLmluYwkxOTcwLTAxLTAxIDAwOjAwOjAwICswMDAwCisrKyBiL215c3FsLXRlc3Qv aW5jbHVkZS9oYXZlX3ZhbGlkYXRlX3Bhc3N3b3JkX3BsdWdpbi5pbmMJMjAxMi0wNS0yMSAxNDoy Mjo1NiArMDAwMApAQCAtMCwwICsxLDIwIEBACisjCisjIENoZWNrIGlmIHNlcnZlciBoYXMgc3Vw cG9ydCBmb3IgbG9hZGluZyBwbHVnaW5zCisjCitpZiAoYFNFTEVDVCBAQGhhdmVfZHluYW1pY19s b2FkaW5nICE9ICdZRVMnYCkgeworICAtLXNraXAgdmFsaWRhdGUgcGFzc3dvcmQgcmVxdWlyZXMg ZHluYW1pYyBsb2FkaW5nCit9CisKKyMKKyMgQ2hlY2sgaWYgdGhlIHZhcmlhYmxlIFZBTElEQVRF X1BBU1NXT1JEIGlzIHNldAorIworaWYgKCEkVkFMSURBVEVfUEFTU1dPUkQpIHsKKyAgLS1za2lw IHZhbGlkYXRlIHBhc3N3b3JkIHJlcXVpcmVzIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBcJFZB TElEQVRFX1BBU1NXT1JEIHRvIGJlIHNldCAobm9ybWFsbHkgZG9uZSBieSBtdHIpCit9CisKKyMK KyMgQ2hlY2sgaWYgLS1wbHVnaW4tZGlyIHdhcyBzZXR1cCBmb3IgdmFsaWRhdGUgcGFzc3dvcmQK KyMKK2lmIChgU0VMRUNUIENPTkNBVCgnLS1wbHVnaW4tZGlyPScsIFJFUExBQ0UoQEBwbHVnaW5f ZGlyLCAnXFxcXCcsICcvJykpICE9ICckVkFMSURBVEVfUEFTU1dPUkRfT1BULydgKSB7CisgIC0t c2tpcCB2YWxpZGF0ZSBwYXNzd29yZCByZXF1aXJlcyB0aGF0IC0tcGx1Z2luLWRpciBpcyBzZXQg dG8gdGhlIHZhbGlkYXRlIHBhc3N3b3JkIGRpciAoZWl0aGVyIHRoZSAub3B0IGZpbGUgZG9lcyBu b3QgY29udGFpbiBcJFZBTElEQVRFX1BBU1NXT1JEX09QVCBvciBhbm90aGVyIHBsdWdpbiBpcyBp biB1c2UpCit9Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9pbmNsdWRlL3BsdWdpbi5k ZWZzJwotLS0gYS9teXNxbC10ZXN0L2luY2x1ZGUvcGx1Z2luLmRlZnMJMjAxMi0wMi0yMCAxNjoy OToxOCArMDAwMAorKysgYi9teXNxbC10ZXN0L2luY2x1ZGUvcGx1Z2luLmRlZnMJMjAxMi0wNS0y MSAxNDoyMjo1NiArMDAwMApAQCAtNDQsMyArNDQsNCBAQCBhZHRfbnVsbCAgICAgICAgICAgcGx1 Z2luL2F1ZGl0X251bGwgIEFVCiBsaWJkYWVtb25fZXhhbXBsZSAgcGx1Z2luL2RhZW1vbl9leGFt cGxlIERBRU1PTkVYQU1QTEUKIGxpYm1lbWNhY2hlZCAgICAgICBwbHVnaW4vaW5ub2RiX21lbWNh Y2hlZC9kYWVtb25fbWVtY2FjaGVkIERBRU1PTl9NRU1DQUNIRUQgZGFlbW9uX21lbWNhY2hlZAog aW5ub2RiX2VuZ2luZSAgICAgIHBsdWdpbi9pbm5vZGJfbWVtY2FjaGVkL2lubm9kYl9tZW1jYWNo ZSBJTk5PREJfRU5HSU5FCit2YWxpZGF0ZV9wYXNzd29yZCAgcGx1Z2luL3Bhc3N3b3JkX3ZhbGlk YXRpb24gVkFMSURBVEVfUEFTU1dPUkQKCj09PSBhZGRlZCBmaWxlICdteXNxbC10ZXN0L3IvdmFs aWRhdGVfcGFzc3dvcmRfcGx1Z2luLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9yL3ZhbGlkYXRl X3Bhc3N3b3JkX3BsdWdpbi5yZXN1bHQJMTk3MC0wMS0wMSAwMDowMDowMCArMDAwMAorKysgYi9t eXNxbC10ZXN0L3IvdmFsaWRhdGVfcGFzc3dvcmRfcGx1Z2luLnJlc3VsdAkyMDEyLTA1LTIxIDE0 OjIyOjU2ICswMDAwCkBAIC0wLDAgKzEsMTA0IEBACitDUkVBVEUgVVNFUiAnYmFzZV91c2VyJ0An bG9jYWxob3N0JyBJREVOVElGSUVEIEJZICdwYXNzJzsKK0dSQU5UIEFMTCBPTiBteXNxbC4qIFRP ICd1c2VyMSdAJ2xvY2FsaG9zdCcgSURFTlRJRklFRCBCWSAncGFzcyc7CitJTlNUQUxMIFBMVUdJ TiB2YWxpZGF0ZV9wYXNzd29yZCBTT05BTUUgJ3ZhbGlkYXRlX3Bhc3N3b3JkLnNvJzsKKyMgcGFz c3dvcmQgcG9saWN5IExPVyAod2hpY2ggb25seSBjaGVjayBmb3IgcGFzc3dvcmQgbGVuZ3RoKQor IyBkZWZhdWx0IGNhc2U6IHBhc3N3b3JkIGxlbmd0aCBzaG91bGQgYmUgbWluaW11bSA4CitTRVQg QEBnbG9iYWwudmFsaWRhdGVfcGFzc3dvcmRfcG9saWN5X251bWJlcj1MT1c7CitDUkVBVEUgVVNF UiAndXNlcidAJ2xvY2FsaG9zdCcgSURFTlRJRklFRCBCWSAnJzsKK0VSUk9SIEhZMDAwOiBZb3Vy IHBhc3N3b3JkIGRvZXMgbm90IHNhdGlzZnkgdGhlIGN1cnJlbnQgcG9saWN5IHJlcXVpcmVtZW50 cyAKK1NFVCBQQVNTV09SRCBGT1IgJ2Jhc2VfdXNlcidAJ2xvY2FsaG9zdCc9IFBBU1NXT1JEKCdw YXNzd29yZCcpOworU0VUIEBAZ2xvYmFsLnZhbGlkYXRlX3Bhc3N3b3JkX2xlbmd0aD0gMTI7CitV UERBVEUgbXlzcWwudXNlciBTRVQgUEFTU1dPUkQ9IFBBU1NXT1JEKCdwYXNzd29yZCcpIFdIRVJF IHVzZXI9J2Jhc2VfdXNlcic7CitFUlJPUiBIWTAwMDogWW91ciBwYXNzd29yZCBkb2VzIG5vdCBz YXRpc2Z5IHRoZSBjdXJyZW50IHBvbGljeSByZXF1aXJlbWVudHMgCitHUkFOVCBVU0FHRSBPTiAq LiogVE8gJ2Jhc2VfdXNlcidAJ2xvY2FsaG9zdCcgSURFTlRJRklFRCBCWSAncGFzc3dvcmQxMjM0 JzsKK1NFVCBAQGdsb2JhbC52YWxpZGF0ZV9wYXNzd29yZF9sZW5ndGg9IDg7CisjIHBhc3N3b3Jk IHBvbGljeSBNRURJVU0gKGNoZWNrIGZvciBtaXhlZF9jYXNlLCBkaWdpdHMsIHNwZWNpYWxfY2hh cnMpCisjIGRlZmF1bHQgY2FzZSA6IGF0bGVhc3QgMSBtaXhlZF9jYXNlLCAxIGRpZ2l0LCAxIHNw ZWNpYWxfY2hhcgorU0VUIEBAZ2xvYmFsLnZhbGlkYXRlX3Bhc3N3b3JkX3BvbGljeV9udW1iZXI9 TUVESVVNOworQ1JFQVRFIFVTRVIgJ3VzZXInQCdsb2NhbGhvc3QnIElERU5USUZJRUQgQlkgJ3Bh c3N3b3JkJzsKK0VSUk9SIEhZMDAwOiBZb3VyIHBhc3N3b3JkIGRvZXMgbm90IHNhdGlzZnkgdGhl IGN1cnJlbnQgcG9saWN5IHJlcXVpcmVtZW50cyAKK1NFVCBQQVNTV09SRCBGT1IgJ2Jhc2VfdXNl cidAJ2xvY2FsaG9zdCc9IFBBU1NXT1JEKCdwYXNzd29yZDFBIycpOworU0VUIEBAZ2xvYmFsLnZh bGlkYXRlX3Bhc3N3b3JkX251bWJlcl9jb3VudD0gMjsKK1VQREFURSBteXNxbC51c2VyIFNFVCBQ QVNTV09SRD0gUEFTU1dPUkQoJ3Bhc3N3b3JkMUEjJykgV0hFUkUgdXNlcj0nYmFzZV91c2VyJzsK K0VSUk9SIEhZMDAwOiBZb3VyIHBhc3N3b3JkIGRvZXMgbm90IHNhdGlzZnkgdGhlIGN1cnJlbnQg cG9saWN5IHJlcXVpcmVtZW50cyAKK1VQREFURSBteXNxbC51c2VyIFNFVCBQQVNTV09SRD0gUEFT U1dPUkQoJ3Bhc3N3b3JkMTJBIycpIFdIRVJFIHVzZXI9J2Jhc2VfdXNlcic7CitTRVQgQEBnbG9i YWwudmFsaWRhdGVfcGFzc3dvcmRfbnVtYmVyX2NvdW50PSAxOworU0VUIEBAZ2xvYmFsLnZhbGlk YXRlX3Bhc3N3b3JkX21peGVkX2Nhc2VfY291bnQ9IDI7CitVUERBVEUgbXlzcWwudXNlciBTRVQg UEFTU1dPUkQ9IFBBU1NXT1JEKCdwYXNzd29yZDFBIycpIFdIRVJFIHVzZXI9J2Jhc2VfdXNlcic7 CitFUlJPUiBIWTAwMDogWW91ciBwYXNzd29yZCBkb2VzIG5vdCBzYXRpc2Z5IHRoZSBjdXJyZW50 IHBvbGljeSByZXF1aXJlbWVudHMgCitVUERBVEUgbXlzcWwudXNlciBTRVQgUEFTU1dPUkQ9IFBB U1NXT1JEKCdwYXNzd29yZDFBQiMnKSBXSEVSRSB1c2VyPSdiYXNlX3VzZXInOworU0VUIEBAZ2xv YmFsLnZhbGlkYXRlX3Bhc3N3b3JkX21peGVkX2Nhc2VfY291bnQ9IDE7CitTRVQgQEBnbG9iYWwu dmFsaWRhdGVfcGFzc3dvcmRfc3BlY2lhbF9jaGFyX2NvdW50PSAyOworR1JBTlQgVVNBR0UgT04g Ki4qIFRPICdiYXNlX3VzZXInQCdsb2NhbGhvc3QnIElERU5USUZJRUQgQlkgJ3Bhc3N3b3JkMUEj JzsKK0VSUk9SIEhZMDAwOiBZb3VyIHBhc3N3b3JkIGRvZXMgbm90IHNhdGlzZnkgdGhlIGN1cnJl bnQgcG9saWN5IHJlcXVpcmVtZW50cyAKK0dSQU5UIFVTQUdFIE9OICouKiBUTyAnYmFzZV91c2Vy J0AnbG9jYWxob3N0JyBJREVOVElGSUVEIEJZICdwYXNzd29yZDFBIyQnOworU0VUIEBAZ2xvYmFs LnZhbGlkYXRlX3Bhc3N3b3JkX3NwZWNpYWxfY2hhcl9jb3VudD0gMTsKKyMgTm8gZGljdGlvbmFy eSBmaWxlIHByZXNlbnQsIG5vIGRpY3Rpb25hcnkgY2hlY2sKK1NFVCBAQGdsb2JhbC52YWxpZGF0 ZV9wYXNzd29yZF9wb2xpY3lfbnVtYmVyPVNUUk9ORzsKK1NFVCBQQVNTV09SRCBGT1IgJ2Jhc2Vf dXNlcidAJ2xvY2FsaG9zdCc9IFBBU1NXT1JEKCdwYXNzd29yZDFBIycpOworVVBEQVRFIG15c3Fs LnVzZXIgU0VUIFBBU1NXT1JEPSBQQVNTV09SRCgncGFzc3dvcmQxQSMnKSBXSEVSRSB1c2VyPSdi YXNlX3VzZXInOworVU5JTlNUQUxMIFBMVUdJTiB2YWxpZGF0ZV9wYXNzd29yZDsKKyMgcmVzdGFy dGluZyB0aGUgc2VydmVyIHdpdGggZGljdGlvbmFyeSBmaWxlLgorIyBSZXN0YXJ0IHNlcnZlci4K K0lOU1RBTEwgUExVR0lOIHZhbGlkYXRlX3Bhc3N3b3JkIFNPTkFNRSAndmFsaWRhdGVfcGFzc3dv cmQuc28nOworIyBwYXNzd29yZCBwb2xpY3kgc3Ryb25nCisjIGRlZmF1bHRfZmlsZSA6IGRpY3Rp b25hcnkudHh0CitTRVQgQEBnbG9iYWwudmFsaWRhdGVfcGFzc3dvcmRfcG9saWN5X251bWJlcj1T VFJPTkc7CitDUkVBVEUgVVNFUiAndXNlcidAJ2xvY2FsaG9zdCcgSURFTlRJRklFRCBCWSAncGFz c3dvcmQnOworRVJST1IgSFkwMDA6IFlvdXIgcGFzc3dvcmQgZG9lcyBub3Qgc2F0aXNmeSB0aGUg Y3VycmVudCBwb2xpY3kgcmVxdWlyZW1lbnRzIAorU0VUIFBBU1NXT1JEIEZPUiAnYmFzZV91c2Vy J0AnbG9jYWxob3N0Jz0gUEFTU1dPUkQoJ3Bhc3N3b3JkMUEjJyk7CitFUlJPUiBIWTAwMDogWW91 ciBwYXNzd29yZCBkb2VzIG5vdCBzYXRpc2Z5IHRoZSBjdXJyZW50IHBvbGljeSByZXF1aXJlbWVu dHMgCitVUERBVEUgbXlzcWwudXNlciBTRVQgUEFTU1dPUkQ9IFBBU1NXT1JEKCdwYXNzMTIzNDVB IycpIFdIRVJFIHVzZXI9J2Jhc2VfdXNlcic7CitFUlJPUiBIWTAwMDogWW91ciBwYXNzd29yZCBk b2VzIG5vdCBzYXRpc2Z5IHRoZSBjdXJyZW50IHBvbGljeSByZXF1aXJlbWVudHMgCitVUERBVEUg bXlzcWwudXNlciBTRVQgUEFTU1dPUkQ9IFBBU1NXT1JEKCdwYXNzMDAwMEEjJykgV0hFUkUgdXNl cj0nYmFzZV91c2VyJzsKK0VSUk9SIEhZMDAwOiBZb3VyIHBhc3N3b3JkIGRvZXMgbm90IHNhdGlz ZnkgdGhlIGN1cnJlbnQgcG9saWN5IHJlcXVpcmVtZW50cyAKK0dSQU5UIFVTQUdFIE9OICouKiBU TyAnYmFzZV91c2VyJ0AnbG9jYWxob3N0JyBJREVOVElGSUVEIEJZICdQQTAwd3JkISMnOworIyB0 ZXN0IGZvciBwYXNzd29yZF92YWxpZGF0ZV9zdHJlbmd0aCBmdW5jdGlvbgorU0VMRUNUIFZBTElE QVRFX1BBU1NXT1JEX1NUUkVOR1RIKCdwYXNzd29yZCcsIDApOworRVJST1IgNDIwMDA6IEluY29y cmVjdCBwYXJhbWV0ZXIgY291bnQgaW4gdGhlIGNhbGwgdG8gbmF0aXZlIGZ1bmN0aW9uICdWQUxJ REFURV9QQVNTV09SRF9TVFJFTkdUSCcKK1NFTEVDVCBWQUxJREFURV9QQVNTV09SRF9TVFJFTkdU SCgpOworRVJST1IgNDIwMDA6IEluY29ycmVjdCBwYXJhbWV0ZXIgY291bnQgaW4gdGhlIGNhbGwg dG8gbmF0aXZlIGZ1bmN0aW9uICdWQUxJREFURV9QQVNTV09SRF9TVFJFTkdUSCcKK1NFTEVDVCBW QUxJREFURV9QQVNTV09SRF9TVFJFTkdUSCgnJyk7CitWQUxJREFURV9QQVNTV09SRF9TVFJFTkdU SCgnJykKKzAKK1NFTEVDVCBWQUxJREFURV9QQVNTV09SRF9TVFJFTkdUSCgncGFzcycpOworVkFM SURBVEVfUEFTU1dPUkRfU1RSRU5HVEgoJ3Bhc3MnKQorMjUKK1NFTEVDVCBWQUxJREFURV9QQVNT V09SRF9TVFJFTkdUSCgncGFzc3dvcmQnKTsKK1ZBTElEQVRFX1BBU1NXT1JEX1NUUkVOR1RIKCdw YXNzd29yZCcpCis1MAorU0VMRUNUIFZBTElEQVRFX1BBU1NXT1JEX1NUUkVOR1RIKCdwYXNzd29y ZDAwMDAnKTsKK1ZBTElEQVRFX1BBU1NXT1JEX1NUUkVOR1RIKCdwYXNzd29yZDAwMDAnKQorNTAK K1NFTEVDVCBWQUxJREFURV9QQVNTV09SRF9TVFJFTkdUSCgncGFzc3dvcmQxQSMnKTsKK1ZBTElE QVRFX1BBU1NXT1JEX1NUUkVOR1RIKCdwYXNzd29yZDFBIycpCis3NQorU0VMRUNUIFZBTElEQVRF X1BBU1NXT1JEX1NUUkVOR1RIKCdQQTEyd3JkISMnKTsKK1ZBTElEQVRFX1BBU1NXT1JEX1NUUkVO R1RIKCdQQTEyd3JkISMnKQorMTAwCitTRUxFQ1QgVkFMSURBVEVfUEFTU1dPUkRfU1RSRU5HVEgo J1BBMDB3cmQhIycpOworVkFMSURBVEVfUEFTU1dPUkRfU1RSRU5HVEgoJ1BBMDB3cmQhIycpCisx MDAKK1NFVCBOQU1FUyAndWppcyc7CitTRUxFQ1QgVkFMSURBVEVfUEFTU1dPUkRfU1RSRU5HVEgo J1BBMTJ3cmQhIycpOworVkFMSURBVEVfUEFTU1dPUkRfU1RSRU5HVEgoJ1BBMTJ3cmQhIycpCisx MDAKK1NFVCBAQGdsb2JhbC52YWxpZGF0ZV9wYXNzd29yZF9wb2xpY3lfbnVtYmVyPU1FRElVTTsK K1NFVCBAQGdsb2JhbC52YWxpZGF0ZV9wYXNzd29yZF9wb2xpY3lfbnVtYmVyPUxPVzsKK0VSUk9S IDQyMDAwOiBBY2Nlc3MgZGVuaWVkOyB5b3UgbmVlZCAoYXQgbGVhc3Qgb25lIG9mKSB0aGUgU1VQ RVIgcHJpdmlsZWdlKHMpIGZvciB0aGlzIG9wZXJhdGlvbgorU0VUIEBAZ2xvYmFsLnZhbGlkYXRl X3Bhc3N3b3JkX2xlbmd0aD0gNDsKK0VSUk9SIDQyMDAwOiBBY2Nlc3MgZGVuaWVkOyB5b3UgbmVl ZCAoYXQgbGVhc3Qgb25lIG9mKSB0aGUgU1VQRVIgcHJpdmlsZWdlKHMpIGZvciB0aGlzIG9wZXJh dGlvbgorU0VUIEBAZ2xvYmFsLnZhbGlkYXRlX3Bhc3N3b3JkX3NwZWNpYWxfY2hhcl9jb3VudD0g MDsKK0VSUk9SIDQyMDAwOiBBY2Nlc3MgZGVuaWVkOyB5b3UgbmVlZCAoYXQgbGVhc3Qgb25lIG9m KSB0aGUgU1VQRVIgcHJpdmlsZWdlKHMpIGZvciB0aGlzIG9wZXJhdGlvbgorU0VUIEBAZ2xvYmFs LnZhbGlkYXRlX3Bhc3N3b3JkX21peGVkX2Nhc2VfY291bnQ9IDA7CitFUlJPUiA0MjAwMDogQWNj ZXNzIGRlbmllZDsgeW91IG5lZWQgKGF0IGxlYXN0IG9uZSBvZikgdGhlIFNVUEVSIHByaXZpbGVn ZShzKSBmb3IgdGhpcyBvcGVyYXRpb24KK0NSRUFURSBVU0VSICd1c2VyMidAJ2xvY2FsaG9zdCcg SURFTlRJRklFRCBCWSAncGFzc3dvcmQnOworRVJST1IgSFkwMDA6IFlvdXIgcGFzc3dvcmQgZG9l cyBub3Qgc2F0aXNmeSB0aGUgY3VycmVudCBwb2xpY3kgcmVxdWlyZW1lbnRzIAorQ1JFQVRFIFVT RVIgJ3VzZXIyJ0AnbG9jYWxob3N0JyBJREVOVElGSUVEIEJZICdQQTAwd3JkISMnOworVVBEQVRF IG15c3FsLnVzZXIgU0VUIFBBU1NXT1JEPSBQQVNTV09SRCgncGFzc3dvcmQnKSBXSEVSRSB1c2Vy PSd1c2VyMic7CitFUlJPUiBIWTAwMDogWW91ciBwYXNzd29yZCBkb2VzIG5vdCBzYXRpc2Z5IHRo ZSBjdXJyZW50IHBvbGljeSByZXF1aXJlbWVudHMgCitVUERBVEUgbXlzcWwudXNlciBTRVQgUEFT U1dPUkQ9IFBBU1NXT1JEKCdQQTAwd3JkISMnKSBXSEVSRSB1c2VyPSd1c2VyMic7CitEUk9QIFVT RVIgJ3VzZXIyJ0AnbG9jYWxob3N0JzsKK0RST1AgVVNFUiAnYmFzZV91c2VyJ0AnbG9jYWxob3N0 JzsKK0RST1AgVVNFUiAndXNlcjEnQCdsb2NhbGhvc3QnOworVU5JTlNUQUxMIFBMVUdJTiB2YWxp ZGF0ZV9wYXNzd29yZDsKCj09PSBhZGRlZCBmaWxlICdteXNxbC10ZXN0L3QvdmFsaWRhdGVfcGFz c3dvcmRfcGx1Z2luLW1hc3Rlci5vcHQnCi0tLSBhL215c3FsLXRlc3QvdC92YWxpZGF0ZV9wYXNz d29yZF9wbHVnaW4tbWFzdGVyLm9wdAkxOTcwLTAxLTAxIDAwOjAwOjAwICswMDAwCisrKyBiL215 c3FsLXRlc3QvdC92YWxpZGF0ZV9wYXNzd29yZF9wbHVnaW4tbWFzdGVyLm9wdAkyMDEyLTA1LTIx IDE0OjIyOjU2ICswMDAwCkBAIC0wLDAgKzEgQEAKKyRWQUxJREFURV9QQVNTV09SRF9PUFQKCj09 PSBhZGRlZCBmaWxlICdteXNxbC10ZXN0L3QvdmFsaWRhdGVfcGFzc3dvcmRfcGx1Z2luLnRlc3Qn Ci0tLSBhL215c3FsLXRlc3QvdC92YWxpZGF0ZV9wYXNzd29yZF9wbHVnaW4udGVzdAkxOTcwLTAx LTAxIDAwOjAwOjAwICswMDAwCisrKyBiL215c3FsLXRlc3QvdC92YWxpZGF0ZV9wYXNzd29yZF9w bHVnaW4udGVzdAkyMDEyLTA1LTIxIDE0OjIyOjU2ICswMDAwCkBAIC0wLDAgKzEsMTUyIEBACist LXNvdXJjZSBpbmNsdWRlL25vdF9lbWJlZGRlZC5pbmMKKy0tc291cmNlIGluY2x1ZGUvaGF2ZV92 YWxpZGF0ZV9wYXNzd29yZF9wbHVnaW4uaW5jCisKK2xldCAkTVlTUUxfRVJSTVNHX0JBU0VESVI9 YHNlbGVjdCBAQGxjX21lc3NhZ2VzX2RpcmA7CisKKyMgcGx1Z2luIGlzIG5vdCBpbnN0YWxsZWQg c28gZXZlbiAncGFzcycgKHZlcnkgd2VhaykKKyMgaXMgYWNjZXB0ZWQgYXMgYSBwYXNzd29yZAor Q1JFQVRFIFVTRVIgJ2Jhc2VfdXNlcidAJ2xvY2FsaG9zdCcgSURFTlRJRklFRCBCWSAncGFzcyc7 CitHUkFOVCBBTEwgT04gbXlzcWwuKiBUTyAndXNlcjEnQCdsb2NhbGhvc3QnIElERU5USUZJRUQg QlkgJ3Bhc3MnOworCistLXJlcGxhY2VfcmVnZXggL1wuZGxsLy5zby8KK2V2YWwgSU5TVEFMTCBQ TFVHSU4gdmFsaWRhdGVfcGFzc3dvcmQgU09OQU1FICckVkFMSURBVEVfUEFTU1dPUkQnOworCisj IHRlc3QgZm9yIGFsbCB0aGUgdGhyZWUgcGFzc3dvcmQgcG9saWN5CisjIHBvbGljeTogTE9XLCBN RURJVU0sIFNUUk9ORyAKKworLS1lY2hvICMgcGFzc3dvcmQgcG9saWN5IExPVyAod2hpY2ggb25s eSBjaGVjayBmb3IgcGFzc3dvcmQgbGVuZ3RoKQorLS1lY2hvICMgZGVmYXVsdCBjYXNlOiBwYXNz d29yZCBsZW5ndGggc2hvdWxkIGJlIG1pbmltdW0gOAorCitTRVQgQEBnbG9iYWwudmFsaWRhdGVf cGFzc3dvcmRfcG9saWN5X251bWJlcj1MT1c7CistLWVycm9yIEVSX05PVF9WQUxJRF9QQVNTV09S RAorQ1JFQVRFIFVTRVIgJ3VzZXInQCdsb2NhbGhvc3QnIElERU5USUZJRUQgQlkgJyc7CitTRVQg UEFTU1dPUkQgRk9SICdiYXNlX3VzZXInQCdsb2NhbGhvc3QnPSBQQVNTV09SRCgncGFzc3dvcmQn KTsKK1NFVCBAQGdsb2JhbC52YWxpZGF0ZV9wYXNzd29yZF9sZW5ndGg9IDEyOworLS1lcnJvciBF Ul9OT1RfVkFMSURfUEFTU1dPUkQKK1VQREFURSBteXNxbC51c2VyIFNFVCBQQVNTV09SRD0gUEFT U1dPUkQoJ3Bhc3N3b3JkJykgV0hFUkUgdXNlcj0nYmFzZV91c2VyJzsKK0dSQU5UIFVTQUdFIE9O ICouKiBUTyAnYmFzZV91c2VyJ0AnbG9jYWxob3N0JyBJREVOVElGSUVEIEJZICdwYXNzd29yZDEy MzQnOworU0VUIEBAZ2xvYmFsLnZhbGlkYXRlX3Bhc3N3b3JkX2xlbmd0aD0gODsKKworLS1lY2hv ICMgcGFzc3dvcmQgcG9saWN5IE1FRElVTSAoY2hlY2sgZm9yIG1peGVkX2Nhc2UsIGRpZ2l0cywg c3BlY2lhbF9jaGFycykKKy0tZWNobyAjIGRlZmF1bHQgY2FzZSA6IGF0bGVhc3QgMSBtaXhlZF9j YXNlLCAxIGRpZ2l0LCAxIHNwZWNpYWxfY2hhcgorCitTRVQgQEBnbG9iYWwudmFsaWRhdGVfcGFz c3dvcmRfcG9saWN5X251bWJlcj1NRURJVU07CistLWVycm9yIEVSX05PVF9WQUxJRF9QQVNTV09S RAorQ1JFQVRFIFVTRVIgJ3VzZXInQCdsb2NhbGhvc3QnIElERU5USUZJRUQgQlkgJ3Bhc3N3b3Jk JzsKK1NFVCBQQVNTV09SRCBGT1IgJ2Jhc2VfdXNlcidAJ2xvY2FsaG9zdCc9IFBBU1NXT1JEKCdw YXNzd29yZDFBIycpOworU0VUIEBAZ2xvYmFsLnZhbGlkYXRlX3Bhc3N3b3JkX251bWJlcl9jb3Vu dD0gMjsKKy0tZXJyb3IgRVJfTk9UX1ZBTElEX1BBU1NXT1JECitVUERBVEUgbXlzcWwudXNlciBT RVQgUEFTU1dPUkQ9IFBBU1NXT1JEKCdwYXNzd29yZDFBIycpIFdIRVJFIHVzZXI9J2Jhc2VfdXNl cic7CitVUERBVEUgbXlzcWwudXNlciBTRVQgUEFTU1dPUkQ9IFBBU1NXT1JEKCdwYXNzd29yZDEy QSMnKSBXSEVSRSB1c2VyPSdiYXNlX3VzZXInOworU0VUIEBAZ2xvYmFsLnZhbGlkYXRlX3Bhc3N3 b3JkX251bWJlcl9jb3VudD0gMTsKK1NFVCBAQGdsb2JhbC52YWxpZGF0ZV9wYXNzd29yZF9taXhl ZF9jYXNlX2NvdW50PSAyOworLS1lcnJvciBFUl9OT1RfVkFMSURfUEFTU1dPUkQKK1VQREFURSBt eXNxbC51c2VyIFNFVCBQQVNTV09SRD0gUEFTU1dPUkQoJ3Bhc3N3b3JkMUEjJykgV0hFUkUgdXNl cj0nYmFzZV91c2VyJzsKK1VQREFURSBteXNxbC51c2VyIFNFVCBQQVNTV09SRD0gUEFTU1dPUkQo J3Bhc3N3b3JkMUFCIycpIFdIRVJFIHVzZXI9J2Jhc2VfdXNlcic7CitTRVQgQEBnbG9iYWwudmFs aWRhdGVfcGFzc3dvcmRfbWl4ZWRfY2FzZV9jb3VudD0gMTsKK1NFVCBAQGdsb2JhbC52YWxpZGF0 ZV9wYXNzd29yZF9zcGVjaWFsX2NoYXJfY291bnQ9IDI7CistLWVycm9yIEVSX05PVF9WQUxJRF9Q QVNTV09SRAorR1JBTlQgVVNBR0UgT04gKi4qIFRPICdiYXNlX3VzZXInQCdsb2NhbGhvc3QnIElE RU5USUZJRUQgQlkgJ3Bhc3N3b3JkMUEjJzsKK0dSQU5UIFVTQUdFIE9OICouKiBUTyAnYmFzZV91 c2VyJ0AnbG9jYWxob3N0JyBJREVOVElGSUVEIEJZICdwYXNzd29yZDFBIyQnOworU0VUIEBAZ2xv YmFsLnZhbGlkYXRlX3Bhc3N3b3JkX3NwZWNpYWxfY2hhcl9jb3VudD0gMTsKKworLS1lY2hvICMg Tm8gZGljdGlvbmFyeSBmaWxlIHByZXNlbnQsIG5vIGRpY3Rpb25hcnkgY2hlY2sKK1NFVCBAQGds b2JhbC52YWxpZGF0ZV9wYXNzd29yZF9wb2xpY3lfbnVtYmVyPVNUUk9ORzsKK1NFVCBQQVNTV09S RCBGT1IgJ2Jhc2VfdXNlcidAJ2xvY2FsaG9zdCc9IFBBU1NXT1JEKCdwYXNzd29yZDFBIycpOwor VVBEQVRFIG15c3FsLnVzZXIgU0VUIFBBU1NXT1JEPSBQQVNTV09SRCgncGFzc3dvcmQxQSMnKSBX SEVSRSB1c2VyPSdiYXNlX3VzZXInOworCitVTklOU1RBTEwgUExVR0lOIHZhbGlkYXRlX3Bhc3N3 b3JkOworCistLWVjaG8gIyByZXN0YXJ0aW5nIHRoZSBzZXJ2ZXIgd2l0aCBkaWN0aW9uYXJ5IGZp bGUuCisKKyMgV3JpdGUgZmlsZSB0byBtYWtlIG15c3FsLXRlc3QtcnVuLnBsIHdhaXQgZm9yIHRo ZSBzZXJ2ZXIgdG8gc3RvcAorLS1leGVjIGVjaG8gIndhaXQiID4gJE1ZU1FMVEVTVF9WQVJESVIv dG1wL215c3FsZC4xLmV4cGVjdAorCisjIFJlcXVlc3Qgc2h1dGRvd24KKy0tIHNlbmRfc2h1dGRv d24KKworIyBDYWxsIHNjcmlwdCB0aGF0IHdpbGwgcG9sbCB0aGUgc2VydmVyIHdhaXRpbmcgZm9y IGl0IHRvIGRpc2FwZWFyCistLSBzb3VyY2UgaW5jbHVkZS93YWl0X3VudGlsX2Rpc2Nvbm5lY3Rl ZC5pbmMKKworLS1lY2hvICMgUmVzdGFydCBzZXJ2ZXIuCisKKy0tZXhlYyBlY2hvICJyZXN0YXJ0 Oi0tbG9vc2UtdmFsaWRhdGVfcGFzc3dvcmRfZGljdGlvbmFyeV9maWxlPSRNWVNRTF9FUlJNU0df QkFTRURJUi9kaWN0aW9uYXJ5LnR4dCIgPiAkTVlTUUxURVNUX1ZBUkRJUi90bXAvbXlzcWxkLjEu ZXhwZWN0CisKKyMgVHVybiBvbiByZWNvbm5lY3QKKy0tZW5hYmxlX3JlY29ubmVjdAorCisjIENh bGwgc2NyaXB0IHRoYXQgd2lsbCBwb2xsIHRoZSBzZXJ2ZXIgd2FpdGluZyBmb3IgaXQgdG8gYmUg YmFjayBvbmxpbmUgYWdhaW4KKy0tc291cmNlIGluY2x1ZGUvd2FpdF91bnRpbF9jb25uZWN0ZWRf YWdhaW4uaW5jCisKKyMgVHVybiBvZmYgcmVjb25uZWN0IGFnYWluCistLWRpc2FibGVfcmVjb25u ZWN0CisKKy0tcmVwbGFjZV9yZWdleCAvXC5kbGwvLnNvLworZXZhbCBJTlNUQUxMIFBMVUdJTiB2 YWxpZGF0ZV9wYXNzd29yZCBTT05BTUUgJyRWQUxJREFURV9QQVNTV09SRCc7CisKKy0tZWNobyAj IHBhc3N3b3JkIHBvbGljeSBzdHJvbmcKKy0tZWNobyAjIGRlZmF1bHRfZmlsZSA6IGRpY3Rpb25h cnkudHh0CisKKyMgZmlsZSBzaG91bGQgY29udGFpbiAxIHdvcmQgcGVyIGxpbmUKKyMgZXJyb3Ig aWYgc3Vic3RyaW5nIG9mIHBhc3N3b3JkIGlzIGEgZGljdGlvbmFyeSB3b3JkCisKK1NFVCBAQGds b2JhbC52YWxpZGF0ZV9wYXNzd29yZF9wb2xpY3lfbnVtYmVyPVNUUk9ORzsKKy0tZXJyb3IgRVJf Tk9UX1ZBTElEX1BBU1NXT1JECitDUkVBVEUgVVNFUiAndXNlcidAJ2xvY2FsaG9zdCcgSURFTlRJ RklFRCBCWSAncGFzc3dvcmQnOworLS1lcnJvciBFUl9OT1RfVkFMSURfUEFTU1dPUkQKK1NFVCBQ QVNTV09SRCBGT1IgJ2Jhc2VfdXNlcidAJ2xvY2FsaG9zdCc9IFBBU1NXT1JEKCdwYXNzd29yZDFB IycpOworLS1lcnJvciBFUl9OT1RfVkFMSURfUEFTU1dPUkQKK1VQREFURSBteXNxbC51c2VyIFNF VCBQQVNTV09SRD0gUEFTU1dPUkQoJ3Bhc3MxMjM0NUEjJykgV0hFUkUgdXNlcj0nYmFzZV91c2Vy JzsKKy0tZXJyb3IgRVJfTk9UX1ZBTElEX1BBU1NXT1JECitVUERBVEUgbXlzcWwudXNlciBTRVQg UEFTU1dPUkQ9IFBBU1NXT1JEKCdwYXNzMDAwMEEjJykgV0hFUkUgdXNlcj0nYmFzZV91c2VyJzsK K0dSQU5UIFVTQUdFIE9OICouKiBUTyAnYmFzZV91c2VyJ0AnbG9jYWxob3N0JyBJREVOVElGSUVE IEJZICdQQTAwd3JkISMnOworCistLWVjaG8gIyB0ZXN0IGZvciBwYXNzd29yZF92YWxpZGF0ZV9z dHJlbmd0aCBmdW5jdGlvbgorCistLWVycm9yIEVSX1dST05HX1BBUkFNQ09VTlRfVE9fTkFUSVZF X0ZDVAorU0VMRUNUIFZBTElEQVRFX1BBU1NXT1JEX1NUUkVOR1RIKCdwYXNzd29yZCcsIDApOwor LS1lcnJvciBFUl9XUk9OR19QQVJBTUNPVU5UX1RPX05BVElWRV9GQ1QKK1NFTEVDVCBWQUxJREFU RV9QQVNTV09SRF9TVFJFTkdUSCgpOworU0VMRUNUIFZBTElEQVRFX1BBU1NXT1JEX1NUUkVOR1RI KCcnKTsKK1NFTEVDVCBWQUxJREFURV9QQVNTV09SRF9TVFJFTkdUSCgncGFzcycpOworU0VMRUNU IFZBTElEQVRFX1BBU1NXT1JEX1NUUkVOR1RIKCdwYXNzd29yZCcpOworU0VMRUNUIFZBTElEQVRF X1BBU1NXT1JEX1NUUkVOR1RIKCdwYXNzd29yZDAwMDAnKTsKK1NFTEVDVCBWQUxJREFURV9QQVNT V09SRF9TVFJFTkdUSCgncGFzc3dvcmQxQSMnKTsKK1NFTEVDVCBWQUxJREFURV9QQVNTV09SRF9T VFJFTkdUSCgnUEExMndyZCEjJyk7CitTRUxFQ1QgVkFMSURBVEVfUEFTU1dPUkRfU1RSRU5HVEgo J1BBMDB3cmQhIycpOworCisjIFRlc3QgZm9yIG11bHRpYnl0ZSBjaGFyYWN0ZXIgc2V0IHRoYXQg aGF2ZSBncmVhdGVyIHNpemUgd2hlbiBjb252ZXJ0ZWQKKyMgZnJvbSB1cHBlcmNhc2UgdG8gbG93 ZXJjYXNlLgorU0VUIE5BTUVTICd1amlzJzsKK1NFTEVDVCBWQUxJREFURV9QQVNTV09SRF9TVFJF TkdUSCgnUEExMndyZCEjJyk7CisKKyMgZGVmYXVsdCBwb2xpY3kgaXMgc2V0LCBhbGwgb3RoZXIg cGx1Z2luIHZhcmlhYmxlcyBzZXQgdG8gZGVmYXVsdAorIyBUZXN0IHRvIGVuc3VyZSB0aGF0IG9u bHkgdGhlIHByaXZpbGVnZWQgdXNlciBjYW4gYWNjZXNzIHRoZSBwbHVnaW4gdmFyaWFibGVzCitT RVQgQEBnbG9iYWwudmFsaWRhdGVfcGFzc3dvcmRfcG9saWN5X251bWJlcj1NRURJVU07CisKKyMg TmV3IGNvbm5lY3Rpb24KK2Nvbm5lY3QgKHBsdWdfY29uLGxvY2FsaG9zdCx1c2VyMSxwYXNzKTsK Ky0tZXJyb3IgRVJfU1BFQ0lGSUNfQUNDRVNTX0RFTklFRF9FUlJPUgorU0VUIEBAZ2xvYmFsLnZh bGlkYXRlX3Bhc3N3b3JkX3BvbGljeV9udW1iZXI9TE9XOworLS1lcnJvciBFUl9TUEVDSUZJQ19B Q0NFU1NfREVOSUVEX0VSUk9SCitTRVQgQEBnbG9iYWwudmFsaWRhdGVfcGFzc3dvcmRfbGVuZ3Ro PSA0OworLS1lcnJvciBFUl9TUEVDSUZJQ19BQ0NFU1NfREVOSUVEX0VSUk9SCitTRVQgQEBnbG9i YWwudmFsaWRhdGVfcGFzc3dvcmRfc3BlY2lhbF9jaGFyX2NvdW50PSAwOworLS1lcnJvciBFUl9T UEVDSUZJQ19BQ0NFU1NfREVOSUVEX0VSUk9SCitTRVQgQEBnbG9iYWwudmFsaWRhdGVfcGFzc3dv cmRfbWl4ZWRfY2FzZV9jb3VudD0gMDsKKyMgdXNlciBoYXMgdGhlIHVwZGF0ZS9jcmVhdGUgcHJp dmlsZWdlIGJ1dCBuZWVkcyB0byBzYXRpc2Z5IHBhc3N3b3JkIHBvbGljeQorIyB0byB1cGRhdGUv Y3JlYXRlIG5ldyBhY2NvdW50IAorLS1lcnJvciBFUl9OT1RfVkFMSURfUEFTU1dPUkQKK0NSRUFU RSBVU0VSICd1c2VyMidAJ2xvY2FsaG9zdCcgSURFTlRJRklFRCBCWSAncGFzc3dvcmQnOworQ1JF QVRFIFVTRVIgJ3VzZXIyJ0AnbG9jYWxob3N0JyBJREVOVElGSUVEIEJZICdQQTAwd3JkISMnOwor LS1lcnJvciBFUl9OT1RfVkFMSURfUEFTU1dPUkQKK1VQREFURSBteXNxbC51c2VyIFNFVCBQQVNT V09SRD0gUEFTU1dPUkQoJ3Bhc3N3b3JkJykgV0hFUkUgdXNlcj0ndXNlcjInOworVVBEQVRFIG15 c3FsLnVzZXIgU0VUIFBBU1NXT1JEPSBQQVNTV09SRCgnUEEwMHdyZCEjJykgV0hFUkUgdXNlcj0n dXNlcjInOworRFJPUCBVU0VSICd1c2VyMidAJ2xvY2FsaG9zdCc7CitkaXNjb25uZWN0IHBsdWdf Y29uOworLS1zb3VyY2UgaW5jbHVkZS93YWl0X3VudGlsX2Rpc2Nvbm5lY3RlZC5pbmMKKworY29u bmVjdGlvbiBkZWZhdWx0OworRFJPUCBVU0VSICdiYXNlX3VzZXInQCdsb2NhbGhvc3QnOworRFJP UCBVU0VSICd1c2VyMSdAJ2xvY2FsaG9zdCc7CitVTklOU1RBTEwgUExVR0lOIHZhbGlkYXRlX3Bh c3N3b3JkOwoKPT09IGFkZGVkIGRpcmVjdG9yeSAncGx1Z2luL3Bhc3N3b3JkX3ZhbGlkYXRpb24n Cj09PSBhZGRlZCBmaWxlICdwbHVnaW4vcGFzc3dvcmRfdmFsaWRhdGlvbi9DTWFrZUxpc3RzLnR4 dCcKLS0tIGEvcGx1Z2luL3Bhc3N3b3JkX3ZhbGlkYXRpb24vQ01ha2VMaXN0cy50eHQJMTk3MC0w MS0wMSAwMDowMDowMCArMDAwMAorKysgYi9wbHVnaW4vcGFzc3dvcmRfdmFsaWRhdGlvbi9DTWFr ZUxpc3RzLnR4dAkyMDEyLTA1LTIxIDE0OjIyOjU2ICswMDAwCkBAIC0wLDAgKzEsMTcgQEAKKyMg Q29weXJpZ2h0IMKpIDIwMTIsIE9yYWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdo dHMgcmVzZXJ2ZWQuCisjIAorIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UuCisjIAorIyBU aGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig bW9yZSBkZXRhaWxzLgorIyAKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07 IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyMgRm91bmRhdGlvbiwgSW5jLiwg NTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxIFVTQQor CitNWVNRTF9BRERfUExVR0lOKHZhbGlkYXRlX3Bhc3N3b3JkIHZhbGlkYXRlX3Bhc3N3b3JkLmNj CisgICAgTU9EVUxFX09OTFkpCgo9PT0gYWRkZWQgZmlsZSAncGx1Z2luL3Bhc3N3b3JkX3ZhbGlk YXRpb24vdmFsaWRhdGVfcGFzc3dvcmQuY2MnCi0tLSBhL3BsdWdpbi9wYXNzd29yZF92YWxpZGF0 aW9uL3ZhbGlkYXRlX3Bhc3N3b3JkLmNjCTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAwMDAKKysrIGIv cGx1Z2luL3Bhc3N3b3JkX3ZhbGlkYXRpb24vdmFsaWRhdGVfcGFzc3dvcmQuY2MJMjAxMi0wNS0y MSAxNDoyMjo1NiArMDAwMApAQCAtMCwwICsxLDMxOSBAQAorLyogQ29weXJpZ2h0IMKpIDIwMTIs IE9yYWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisKKyAg IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IgbW9kaWZ5CisgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbjsgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLgorCisgICBUaGlzIHByb2dyYW0gaXMgZGlz dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgIGJ1dCBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg ICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT ZWUgdGhlCisgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor CisgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZQorICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUg dG8gdGhlIEZyZWUgU29mdHdhcmUKKyAgIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0 LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxICBVU0EgKi8KKworI2luY2x1ZGUg PG15X3N5cy5oPgorI2luY2x1ZGUgPHN0cmluZz4KKyNpbmNsdWRlIDxteXNxbC9wbHVnaW5fdmFs aWRhdGVfcGFzc3dvcmQuaD4KKyNpbmNsdWRlIDxzZXQ+CisjaW5jbHVkZSA8aW9zdHJlYW0+Cisj aW5jbHVkZSA8ZnN0cmVhbT4KKworCisvKiAgCisgIF9fYXR0cmlidXRlX18oQSkgbmVlZHMgdG8g YmUgZGVmaW5lZCBmb3IgV2luZG93cyBlbHNlIGNvbXBsaWVyCisgIGRvIG5vdCByZWNvZ25pc2Ug aXQuIEFyZ3VtZW50IGluIHBsdWdpbl9pbml0IGFuZCBwbHVnaW5fZGVpbml0CisgIFVzZWQgaW4g b3RoZXIgcGx1Z2lucyBhcyB3ZWxsLgorKi8KKyNpZiAhZGVmaW5lZChfX2F0dHJpYnV0ZV9fKSAm JiAoZGVmaW5lZChfX2NwbHVzcGx1cykgfHwgIWRlZmluZWQoX19HTlVDX18pICB8fCBfX0dOVUNf XyA9PSAyICYmIF9fR05VQ19NSU5PUl9fIDwgOCkKKyNkZWZpbmUgX19hdHRyaWJ1dGVfXyhBKQor I2VuZGlmCisKKyNkZWZpbmUgTUFYX0RJQ1RJT05BUllfRklMRV9MRU5HVEggICAgMTAyNCAqIDEw MjQKKyNkZWZpbmUgUEFTU1dPUkRfU0NPUkUgICAgICAgICAgICAgICAgMjUKKyNkZWZpbmUgTUlO X0RJQ1RJT05BUllfV09SRF9MRU5HVEggICAgNAorI2RlZmluZSBNQVhfUEFTU1dPUkRfTEVOR1RI ICAgICAgICAgICAxMDAKKworLyogIAorICBUaGVzZSBhcmUgdGhlIDMgcGFzc3dvcmQgcG9saWNp ZXMgdGhhdCB0aGlzIHBsdWdpbiBhbGxvdyB0byBzZXQKKyAgYW5kIGNvbmZpZ3VyZSBhcyBwZXIg dGhlIHJlcXVpcmVtZW50cy4KKyovCisKK2VudW0gcGFzc3dvcmRfcG9saWN5X2VudW0geyBQQVNT V09SRF9QT0xJQ1lfTE9XLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBBU1NXT1JEX1BP TElDWV9NRURJVU0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEFTU1dPUkRfUE9MSUNZ X1NUUk9ORworfTsKKworc3RhdGljIGNvbnN0IGNoYXIqIHBvbGljeV9uYW1lc1tdID0geyAiTE9X IiwgIk1FRElVTSIsICJTVFJPTkciLCBOdWxsUyB9OworCitzdGF0aWMgVFlQRUxJQiBwYXNzd29y ZF9wb2xpY3lfdHlwZWxpYl90ID0geworICAgICAgICBhcnJheV9lbGVtZW50cyhwb2xpY3lfbmFt ZXMpIC0gMSwKKyAgICAgICAgInBhc3N3b3JkX3BvbGljeV90eXBlbGliX3QiLAorICAgICAgICBw b2xpY3lfbmFtZXMsCisgICAgICAgIE5VTEwKK307CisKK3R5cGVkZWYgc3RkOjpzdHJpbmcgc3Ry aW5nX3R5cGU7Cit0eXBlZGVmIHN0ZDo6c2V0PHN0cmluZ190eXBlPiBzZXRfdHlwZTsKK3N0YXRp YyBzZXRfdHlwZSBkaWN0aW9uYXJ5X3dvcmRzOworCitzdGF0aWMgaW50IHZhbGlkYXRlX3Bhc3N3 b3JkX2xlbmd0aDsKK3N0YXRpYyBpbnQgdmFsaWRhdGVfcGFzc3dvcmRfbnVtYmVyX2NvdW50Owor c3RhdGljIGludCB2YWxpZGF0ZV9wYXNzd29yZF9taXhlZF9jYXNlX2NvdW50Oworc3RhdGljIGlu dCB2YWxpZGF0ZV9wYXNzd29yZF9zcGVjaWFsX2NoYXJfY291bnQ7CitzdGF0aWMgdWxvbmcgdmFs aWRhdGVfcGFzc3dvcmRfcG9saWN5X251bWJlcjsKK3N0YXRpYyBjaGFyICp2YWxpZGF0ZV9wYXNz d29yZF9kaWN0aW9uYXJ5X2ZpbGU7CisKKy8qIFRvIHJlYWQgZGljdGlvbmFyeSBmaWxlIGludG8g c3RkOjpzZXQgKi8KK3N0YXRpYyB2b2lkIHJlYWRfZGljdGlvbmFyeV9maWxlKCkKK3sKKyAgc3Ry aW5nX3R5cGUgd29yZHM7CisgIGxvbmcgZmlsZV9sZW5ndGg7CisKKyAgaWYgKHZhbGlkYXRlX3Bh c3N3b3JkX2RpY3Rpb25hcnlfZmlsZSA9PSBOVUxMKQorICAgIHJldHVybjsKKyAgc3RkOjppZnN0 cmVhbSBkaWN0aW9uYXJ5X3N0cmVhbSh2YWxpZGF0ZV9wYXNzd29yZF9kaWN0aW9uYXJ5X2ZpbGUp OworICBpZiAoIWRpY3Rpb25hcnlfc3RyZWFtKQorICAgIHJldHVybjsKKyAgZGljdGlvbmFyeV9z dHJlYW0uc2Vla2coMCwgc3RkOjppb3M6OmVuZCk7CisgIGZpbGVfbGVuZ3RoPSBkaWN0aW9uYXJ5 X3N0cmVhbS50ZWxsZygpOworICBkaWN0aW9uYXJ5X3N0cmVhbS5zZWVrZygwLCBzdGQ6Omlvczo6 YmVnKTsKKyAgaWYgKGZpbGVfbGVuZ3RoID4gTUFYX0RJQ1RJT05BUllfRklMRV9MRU5HVEgpCisg IHsKKyAgICBkaWN0aW9uYXJ5X3N0cmVhbS5jbG9zZSgpOworICAgIHJldHVybjsKKyAgfQorICB3 aGlsZSAoZGljdGlvbmFyeV9zdHJlYW0uZ29vZCgpKQorICB7CisgICAgc3RkOjpnZXRsaW5lKGRp Y3Rpb25hcnlfc3RyZWFtLCB3b3Jkcyk7CisgICAgZGljdGlvbmFyeV93b3Jkcy5pbnNlcnQod29y ZHMpOworICB9CisgIGRpY3Rpb25hcnlfc3RyZWFtLmNsb3NlKCk7Cit9CisKKy8qIENsZWFyIHdv cmRzIGZyb20gc3RkOjpzZXQgKi8KK3N0YXRpYyB2b2lkIGZyZWVfZGljdGlvbmFyeV9maWxlKCkK K3sKKyAgaWYgKCFkaWN0aW9uYXJ5X3dvcmRzLmVtcHR5KCkpCisgICAgZGljdGlvbmFyeV93b3Jk cy5jbGVhcigpOworfQorCisvKiAgCisgIENoZWNrcyB3ZWF0aGVyIHBhc3N3b3JkIG9yIHN1YnN0 cmluZyBvZiBwYXNzd29yZAorICBpcyBwcmVzZW50IGluIGRpY3Rpb25hcnkgZmlsZSBzdG9yZWQg YXMgc3RkOjpzZXQKKyovCitzdGF0aWMgaW50IHZhbGlkYXRlX2RpY3Rpb25hcnlfY2hlY2sobXlz cWxfc3RyaW5nX2hhbmRsZSBwYXNzd29yZCkKK3sKKyAgaW50IGxlbmd0aDsKKyAgaW50IGVycm9y PSAwOworICBjaGFyICpidWZmZXI7CisgIG15c3FsX3N0cmluZ19oYW5kbGUgbG93ZXJfc3RyaW5n X2hhbmRsZT0gbXlzcWxfc3RyaW5nX3RvX2xvd2VyY2FzZShwYXNzd29yZCk7CisgIGlmICghKGJ1 ZmZlcj0gKGNoYXIqKSBtYWxsb2MoTUFYX1BBU1NXT1JEX0xFTkdUSCkpKQorICAgIHJldHVybiAo MCk7CisKKyAgaWYgKChsZW5ndGg9IG15c3FsX3N0cmluZ19jb252ZXJ0X3RvX2NoYXJfcHRyKGxv d2VyX3N0cmluZ19oYW5kbGUsICJ1dGY4IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYnVmZmVyLCAmZXJyb3IpKSA+IDAgJiYgZXJyb3IgPT0gMCkKKyAgICAgYnVm ZmVyW2xlbmd0aF09ICdcMCc7CisKKyAgaW50IHN1YnN0cl9wb3M9IDA7CisgIGludCBzdWJzdHJf bGVuZ3RoPSBsZW5ndGg7CisgIHN0cmluZ190eXBlIHBhc3N3b3JkX3N0cj0gKGNvbnN0IGNoYXIg KilidWZmZXI7CisgIHN0cmluZ190eXBlIHBhc3N3b3JkX3N1YnN0cjsKKyAgc2V0X3R5cGU6Oml0 ZXJhdG9yIGl0cjsKKyAgLyogIAorICAgIHN0ZDo6c2V0IGFzIGNvbnRhaW5lciBzdG9yZXMgdGhl IGRpY3Rpb25hcnkgd29yZHMsCisgICAgYmluYXJ5IGNvbXBhcmlzb24gYmV0d2VlbiBkaWN0aW9u YXJ5IHdvcmRzIGFuZCBwYXNzd29yZAorICAqLworICBpZiAoIWRpY3Rpb25hcnlfd29yZHMuZW1w dHkoKSkKKyAgeworICAgIHdoaWxlIChzdWJzdHJfbGVuZ3RoID49IE1JTl9ESUNUSU9OQVJZX1dP UkRfTEVOR1RIKQorICAgIHsKKyAgICAgIHN1YnN0cl9wb3M9IDA7CisgICAgICB3aGlsZSAoc3Vi c3RyX3BvcyArIHN1YnN0cl9sZW5ndGggPD0gbGVuZ3RoKQorICAgICAgeworICAgICAgICBwYXNz d29yZF9zdWJzdHI9IHBhc3N3b3JkX3N0ci5zdWJzdHIoc3Vic3RyX3Bvcywgc3Vic3RyX2xlbmd0 aCk7CisgICAgICAgIGl0cj0gZGljdGlvbmFyeV93b3Jkcy5maW5kKHBhc3N3b3JkX3N1YnN0cik7 CisgICAgICAgIGlmIChpdHIgIT0gZGljdGlvbmFyeV93b3Jkcy5lbmQoKSkKKyAgICAgICAgewor ICAgICAgICAgIGZyZWUoYnVmZmVyKTsKKyAgICAgICAgICByZXR1cm4gKDApOworICAgICAgICB9 CisgICAgICAgIHN1YnN0cl9wb3MrKzsKKyAgICAgIH0KKyAgICAgIHN1YnN0cl9sZW5ndGgtLTsK KyAgICB9CisgIH0KKyAgZnJlZShidWZmZXIpOworICByZXR1cm4gKDEpOworfQorCitzdGF0aWMg aW50IHZhbGlkYXRlX3Bhc3N3b3JkX3BvbGljeShteXNxbF9zdHJpbmdfaGFuZGxlIHBhc3N3b3Jk LCBpbnQgcG9saWN5KQoreworICBpbnQgaGFzX2RpZ2l0PSAwOworICBpbnQgaGFzX2xvd2VyPSAw OworICBpbnQgaGFzX3VwcGVyPSAwOworICBpbnQgaGFzX3NwZWNpYWxfY2hhcnM9IDA7CisgIGlu dCBuX2NoYXJzPSAwOworICBteXNxbF9zdHJpbmdfaXRlcmF0b3JfaGFuZGxlIGl0ZXI7CisKKyAg aXRlciA9IG15c3FsX3N0cmluZ19nZXRfaXRlcmF0b3IocGFzc3dvcmQpOworICB3aGlsZShteXNx bF9zdHJpbmdfaXRlcmF0b3JfbmV4dChpdGVyKSkKKyAgeworICAgIG5fY2hhcnMrKzsKKyAgICBp ZiAocG9saWN5ID4gUEFTU1dPUkRfUE9MSUNZX0xPVykKKyAgICB7CisgICAgICBpZiAobXlzcWxf c3RyaW5nX2l0ZXJhdG9yX2lzbG93ZXIoaXRlcikpCisgICAgICAgIGhhc19sb3dlcisrOworICAg ICAgZWxzZSBpZiAobXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2lzdXBwZXIoaXRlcikpCisgICAgICAg IGhhc191cHBlcisrOworICAgICAgZWxzZSBpZiAobXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2lzZGln aXQoaXRlcikpCisgICAgICAgIGhhc19kaWdpdCsrOworICAgICAgZWxzZQorICAgICAgICBoYXNf c3BlY2lhbF9jaGFycysrOworICAgIH0KKyAgfQorCisgIG15c3FsX3N0cmluZ19pdGVyYXRvcl9m cmVlKGl0ZXIpOworICBpZiAobl9jaGFycyA+PSB2YWxpZGF0ZV9wYXNzd29yZF9sZW5ndGgpCisg IHsKKyAgICBpZiAocG9saWN5ID09IFBBU1NXT1JEX1BPTElDWV9MT1cpCisgICAgICByZXR1cm4g KDEpOworICAgIGlmIChoYXNfdXBwZXIgPj0gdmFsaWRhdGVfcGFzc3dvcmRfbWl4ZWRfY2FzZV9j b3VudCAmJgorICAgICAgICBoYXNfbG93ZXIgPj0gdmFsaWRhdGVfcGFzc3dvcmRfbWl4ZWRfY2Fz ZV9jb3VudCAmJgorICAgICAgICBoYXNfc3BlY2lhbF9jaGFycyA+PSB2YWxpZGF0ZV9wYXNzd29y ZF9zcGVjaWFsX2NoYXJfY291bnQgJiYKKyAgICAgICAgaGFzX2RpZ2l0ID49IHZhbGlkYXRlX3Bh c3N3b3JkX251bWJlcl9jb3VudCkKKyAgICB7CisgICAgICBpZiAocG9saWN5ID09IFBBU1NXT1JE X1BPTElDWV9NRURJVU0gfHwgdmFsaWRhdGVfZGljdGlvbmFyeV9jaGVjaworICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwYXNzd29yZCkpCisgICAgICAgIHJl dHVybiAoMSk7CisgICAgfQorICB9CisgIHJldHVybiAoMCk7Cit9CisKKy8qIEFjdHVhbCBwbHVn aW4gZnVuY3Rpb24gd2hpY2ggYWN0cyBhcyBhIHdyYXBwZXIgKi8KK3N0YXRpYyBpbnQgdmFsaWRh dGVfcGFzc3dvcmQobXlzcWxfc3RyaW5nX2hhbmRsZSBwYXNzd29yZCkKK3sKKyAgcmV0dXJuIHZh bGlkYXRlX3Bhc3N3b3JkX3BvbGljeShwYXNzd29yZCwgdmFsaWRhdGVfcGFzc3dvcmRfcG9saWN5 X251bWJlcik7Cit9CisKKy8qIFBhc3N3b3JkIHN0cmVuZ3RoIGJldHdlZW4gKDAtMTAwKSAqLwor c3RhdGljIGludCBnZXRfcGFzc3dvcmRfc3RyZW5ndGgobXlzcWxfc3RyaW5nX2hhbmRsZSBwYXNz d29yZCkKK3sKKyAgaW50IHBvbGljeT0gMDsKKyAgaW50IG5fY2hhcnM9IDA7CisgIG15c3FsX3N0 cmluZ19pdGVyYXRvcl9oYW5kbGUgaXRlcjsKKworICBpdGVyID0gbXlzcWxfc3RyaW5nX2dldF9p dGVyYXRvcihwYXNzd29yZCk7CisgIHdoaWxlKG15c3FsX3N0cmluZ19pdGVyYXRvcl9uZXh0KGl0 ZXIpKQorICAgIG5fY2hhcnMrKzsKKyAgCisgIG15c3FsX3N0cmluZ19pdGVyYXRvcl9mcmVlKGl0 ZXIpOworICBpZiAobl9jaGFycyA8IE1JTl9ESUNUSU9OQVJZX1dPUkRfTEVOR1RIKQorICAgIHJl dHVybiAocG9saWN5KTsKKyAgaWYgKG5fY2hhcnMgPCB2YWxpZGF0ZV9wYXNzd29yZF9sZW5ndGgp CisgICAgcmV0dXJuIChQQVNTV09SRF9TQ09SRSk7CisgIGVsc2UKKyAgeworICAgIHBvbGljeT0g UEFTU1dPUkRfUE9MSUNZX0xPVzsKKyAgICBpZiAodmFsaWRhdGVfcGFzc3dvcmRfcG9saWN5KHBh c3N3b3JkLCBQQVNTV09SRF9QT0xJQ1lfTUVESVVNKSkKKyAgICB7CisgICAgICBwb2xpY3k9IFBB U1NXT1JEX1BPTElDWV9NRURJVU07CisgICAgICBpZiAodmFsaWRhdGVfZGljdGlvbmFyeV9jaGVj ayhwYXNzd29yZCkpCisgICAgICAgIHBvbGljeT0gUEFTU1dPUkRfUE9MSUNZX1NUUk9ORzsKKyAg ICB9CisgIH0KKyAgcmV0dXJuICgocG9saWN5KzEpICogUEFTU1dPUkRfU0NPUkUgKyBQQVNTV09S RF9TQ09SRSk7Cit9CisKKy8qIFBsdWdpbiB0eXBlLXNwZWNpZmljIGRlc2NyaXB0b3IgKi8KK3N0 YXRpYyBzdHJ1Y3Qgc3RfbXlzcWxfdmFsaWRhdGVfcGFzc3dvcmQgdmFsaWRhdGVfcGFzc3dvcmRf ZGVzY3JpcHRvcj0KK3sKKyAgTVlTUUxfVkFMSURBVEVfUEFTU1dPUkRfSU5URVJGQUNFX1ZFUlNJ T04sCisgIHZhbGlkYXRlX3Bhc3N3b3JkLCAgICAgICAgICAgICAgICAgICAgICAgICAvKiB2YWxp ZGF0ZSBmdW5jdGlvbiAgICAgICAgICAqLworICBnZXRfcGFzc3dvcmRfc3RyZW5ndGggICAgICAg ICAgICAgICAgICAgICAgLyogdmFsaWRhdGUgc3RyZW5ndGggZnVuY3Rpb24gKi8KK307CisKKy8q ICAKKyAgSW5pdGlhbGl6ZSB0aGUgcGFzc3dvcmQgcGx1Z2luIGF0IHNlcnZlciBzdGFydCBvciBw bHVnaW4gaW5zdGFsbGF0aW9uLAorICByZWFkIGRpY3Rpb25hcnkgZmlsZSBpbnRvIHN0ZDo6c2V0 LgorKi8KKworc3RhdGljIGludCB2YWxpZGF0ZV9wYXNzd29yZF9pbml0KHZvaWQgKmFyZyBfX2F0 dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKyAgcmVhZF9kaWN0aW9uYXJ5X2ZpbGUoKTsKKyAgcmV0 dXJuICgwKTsKK30KKworLyogIAorICBUZXJtaW5hdGUgdGhlIHBhc3N3b3JkIHBsdWdpbiBhdCBz ZXJ2ZXIgc2h1dGRvd24gb3IgcGx1Z2luIGRlaW5zdGFsbGF0aW9uLgorICBJdCBlbXB0eSB0aGUg c3RkOjpzZXQgYW5kIHJldHVybnMgMAorKi8KKworc3RhdGljIGludCB2YWxpZGF0ZV9wYXNzd29y ZF9kZWluaXQodm9pZCAqYXJnIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworICBmcmVlX2Rp Y3Rpb25hcnlfZmlsZSgpOworICByZXR1cm4gKDApOworfQorCisvKiBQbHVnaW4gc3lzdGVtIHZh cmlhYmxlcyAqLworCitzdGF0aWMgTVlTUUxfU1lTVkFSX0lOVChsZW5ndGgsIHZhbGlkYXRlX3Bh c3N3b3JkX2xlbmd0aCwKKyAgUExVR0lOX1ZBUl9SUUNNREFSRywKKyAgIlBhc3N3b3JkIHZhbGlk YXRlIGxlbmd0aCB0byBjaGVjayBmb3IgbWluaW11bSBwYXNzd29yZF9sZW5ndGgiLAorICBOVUxM LCBOVUxMLCA4LCAwLCAwLCAwKTsKKworc3RhdGljIE1ZU1FMX1NZU1ZBUl9JTlQobnVtYmVyX2Nv dW50LCB2YWxpZGF0ZV9wYXNzd29yZF9udW1iZXJfY291bnQsCisgIFBMVUdJTl9WQVJfUlFDTURB UkcsCisgICJwYXNzd29yZCB2YWxpZGF0ZSBkaWdpdCB0byBlbnN1cmUgbWluaW11bSBudW1lcmlj IGNoYXJhY3RlciBpbiBwYXNzd29yZCIsCisgIE5VTEwsIE5VTEwsIDEsIDAsIDAsIDApOworCitz dGF0aWMgTVlTUUxfU1lTVkFSX0lOVChtaXhlZF9jYXNlX2NvdW50LCB2YWxpZGF0ZV9wYXNzd29y ZF9taXhlZF9jYXNlX2NvdW50LAorICBQTFVHSU5fVkFSX1JRQ01EQVJHLAorICAiUGFzc3dvcmQg dmFsaWRhdGUgbWl4ZWQgY2FzZSB0byBlbnN1cmUgbWluaW11bSB1cHBlci9sb3dlciBjYXNlIGlu IHBhc3N3b3JkIiwKKyAgTlVMTCwgTlVMTCwgMSwgMCwgMCwgMCk7CisKK3N0YXRpYyBNWVNRTF9T WVNWQVJfSU5UKHNwZWNpYWxfY2hhcl9jb3VudCwKKyAgdmFsaWRhdGVfcGFzc3dvcmRfc3BlY2lh bF9jaGFyX2NvdW50LCBQTFVHSU5fVkFSX1JRQ01EQVJHLAorICAicGFzc3dvcmQgdmFsaWRhdGUg c3BlY2lhbCB0byBlbnN1cmUgbWluaW11bSBzcGVjaWFsIGNoYXJhY3RlciBpbiBwYXNzd29yZCIs CisgIE5VTEwsIE5VTEwsIDEsIDAsIDAsIDApOworCitzdGF0aWMgTVlTUUxfU1lTVkFSX0VOVU0o cG9saWN5X251bWJlciwgdmFsaWRhdGVfcGFzc3dvcmRfcG9saWN5X251bWJlciwKKyAgUExVR0lO X1ZBUl9SUUNNREFSRywKKyAgInBhc3N3b3JkX3ZhbGlkYXRlX3BvbGljeSBjaG9vc2VuIHBvbGlj eSB0byB2YWxpZGF0ZSBwYXNzd29yZCIKKyAgInBvc3NpYmxlIHZhbHVlcyBhcmUgTE9XIE1FRElV TSAoZGVmYXVsdCksIFNUUk9ORyIsCisgIE5VTEwsIE5VTEwsIFBBU1NXT1JEX1BPTElDWV9NRURJ VU0sICZwYXNzd29yZF9wb2xpY3lfdHlwZWxpYl90KTsKKworc3RhdGljIE1ZU1FMX1NZU1ZBUl9T VFIoZGljdGlvbmFyeV9maWxlLCB2YWxpZGF0ZV9wYXNzd29yZF9kaWN0aW9uYXJ5X2ZpbGUsCisg IFBMVUdJTl9WQVJfUkVBRE9OTFksCisgICJwYXNzd29yZF92YWxpZGF0ZV9kaWN0aW9uYXJ5IGZp bGUgdG8gYmUgbG9hZGVkIGFuZCBjaGVjayBmb3IgcGFzc3dvcmQiLAorICBOVUxMLCBOVUxMLCBO VUxMKTsKKworc3RhdGljIHN0cnVjdCBzdF9teXNxbF9zeXNfdmFyKiB2YWxpZGF0ZV9wYXNzd29y ZF9zeXN0ZW1fdmFyaWFibGVzW109IHsKKyAgTVlTUUxfU1lTVkFSKGxlbmd0aCksCisgIE1ZU1FM X1NZU1ZBUihudW1iZXJfY291bnQpLAorICBNWVNRTF9TWVNWQVIobWl4ZWRfY2FzZV9jb3VudCks CisgIE1ZU1FMX1NZU1ZBUihzcGVjaWFsX2NoYXJfY291bnQpLAorICBNWVNRTF9TWVNWQVIocG9s aWN5X251bWJlciksCisgIE1ZU1FMX1NZU1ZBUihkaWN0aW9uYXJ5X2ZpbGUpLAorICBOVUxMCit9 OworCitteXNxbF9kZWNsYXJlX3BsdWdpbih2YWxpZGF0ZV9wYXNzd29yZCkKK3sKKyAgTVlTUUxf VkFMSURBVEVfUEFTU1dPUkRfUExVR0lOLCAgICAgLyogICB0eXBlICAgICAgICAgICAgICAgICAg ICAgICAgICAgICovCisgICZ2YWxpZGF0ZV9wYXNzd29yZF9kZXNjcmlwdG9yLCAgICAgIC8qICAg ZGVzY3JpcHRvciAgICAgICAgICAgICAgICAgICAgICAqLworICAidmFsaWRhdGVfcGFzc3dvcmQi LCAgICAgICAgICAgICAgICAvKiAgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8K KyAgIk9yYWNsZSBDb3Jwb3JhdGlvbiIsICAgICAgICAgICAgICAgLyogICBhdXRob3IgICAgICAg ICAgICAgICAgICAgICAgICAgICovCisgICJjaGVjayBwYXNzd29yZCBzdHJlbmd0aCIsICAgICAg ICAgIC8qICAgZGVzY3JpcHRpb24gICAgICAgICAgICAgICAgICAgICAqLworICBQTFVHSU5fTElD RU5TRV9HUEwsCisgIHZhbGlkYXRlX3Bhc3N3b3JkX2luaXQsICAgICAgICAgICAgIC8qICAgaW5p dCBmdW5jdGlvbiAod2hlbiBsb2FkZWQpICAgICAqLworICB2YWxpZGF0ZV9wYXNzd29yZF9kZWlu aXQsICAgICAgICAgICAvKiAgIGRlaW5pdCBmdW5jdGlvbiAod2hlbiB1bmxvYWRlZCkgKi8KKyAg MHgwMTAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogICB2ZXJzaW9uICAgICAgICAg ICAgICAgICAgICAgICAgICovCisgIE5VTEwsCisgIHZhbGlkYXRlX3Bhc3N3b3JkX3N5c3RlbV92 YXJpYWJsZXMsIC8qICAgc3lzdGVtIHZhcmlhYmxlcyAgICAgICAgICAgICAgICAqLworICBOVUxM LAorICAwLAorfQorbXlzcWxfZGVjbGFyZV9wbHVnaW5fZW5kOwoKPT09IG1vZGlmaWVkIGZpbGUg J3NxbC9DTWFrZUxpc3RzLnR4dCcKLS0tIGEvc3FsL0NNYWtlTGlzdHMudHh0CTIwMTItMDUtMTgg MTQ6Mzk6MjUgKzAwMDAKKysrIGIvc3FsL0NNYWtlTGlzdHMudHh0CTIwMTItMDUtMjEgMTQ6MjI6 NTYgKzAwMDAKQEAgLTExNCw2ICsxMTQsNyBAQCBTRVQoU1FMX1NIQVJFRF9TT1VSQ0VTCiAgIHNw X3Bjb250ZXh0LmNjIAogICBzcF9yY29udGV4dC5jYwogICBzcGF0aWFsLmNjCisgIHN0cmluZ19z ZXJ2aWNlLmNjCiAgIHNxbF9hY2wuY2MKICAgc3FsX2FkbWluLmNjCiAgIHNxbF9hbGxvY19lcnJv cl9oYW5kbGVyLmNjCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL2l0ZW1fY3JlYXRlLmNjJwotLS0g YS9zcWwvaXRlbV9jcmVhdGUuY2MJMjAxMi0wNS0xNiAxMTowMzo0MyArMDAwMAorKysgYi9zcWwv aXRlbV9jcmVhdGUuY2MJMjAxMi0wNS0yMSAxNDoyMjo1NiArMDAwMApAQCAtMjQ4MSw2ICsyNDgx LDE5IEBAIHByb3RlY3RlZDoKIH07CiAKIAorY2xhc3MgQ3JlYXRlX2Z1bmNfdmFsaWRhdGVfcGFz c3dvcmRfc3RyZW5ndGggOiBwdWJsaWMgQ3JlYXRlX2Z1bmNfYXJnMQoreworcHVibGljOgorICB2 aXJ0dWFsIEl0ZW0gKmNyZWF0ZShUSEQgKnRoZCwgSXRlbSAqYXJnMSk7CisKKyAgc3RhdGljIENy ZWF0ZV9mdW5jX3ZhbGlkYXRlX3Bhc3N3b3JkX3N0cmVuZ3RoIHNfc2luZ2xldG9uOworCitwcm90 ZWN0ZWQ6CisgIENyZWF0ZV9mdW5jX3ZhbGlkYXRlX3Bhc3N3b3JkX3N0cmVuZ3RoKCkge30KKyAg dmlydHVhbCB+Q3JlYXRlX2Z1bmNfdmFsaWRhdGVfcGFzc3dvcmRfc3RyZW5ndGgoKSB7fQorfTsK KworCiBjbGFzcyBDcmVhdGVfZnVuY192ZXJzaW9uIDogcHVibGljIENyZWF0ZV9mdW5jX2FyZzAK IHsKIHB1YmxpYzoKQEAgLTUxODEsNiArNTE5NCwxNiBAQCBDcmVhdGVfZnVuY191dWlkX3Nob3J0 OjpjcmVhdGUoVEhEICp0aGQpCiB9CiAKIAorQ3JlYXRlX2Z1bmNfdmFsaWRhdGVfcGFzc3dvcmRf c3RyZW5ndGgKKyAgICAgICAgICAgICAgICAgICAgIENyZWF0ZV9mdW5jX3ZhbGlkYXRlX3Bhc3N3 b3JkX3N0cmVuZ3RoOjpzX3NpbmdsZXRvbjsKKworSXRlbSoKK0NyZWF0ZV9mdW5jX3ZhbGlkYXRl X3Bhc3N3b3JkX3N0cmVuZ3RoOjpjcmVhdGUoVEhEICp0aGQsIEl0ZW0gKmFyZzEpCit7CisgIHJl dHVybiBuZXcgKHRoZC0+bWVtX3Jvb3QpIEl0ZW1fZnVuY192YWxpZGF0ZV9wYXNzd29yZF9zdHJl bmd0aChhcmcxKTsKK30KKworCiBDcmVhdGVfZnVuY192ZXJzaW9uIENyZWF0ZV9mdW5jX3ZlcnNp b246OnNfc2luZ2xldG9uOwogCiBJdGVtKgpAQCAtNTYwOCw2ICs1NjMxLDcgQEAgc3RhdGljIE5h dGl2ZV9mdW5jX3JlZ2lzdHJ5IGZ1bmNfYXJyYXlbXQogICB7IHsgQ19TVFJJTkdfV0lUSF9MRU4o IlVQUEVSIikgfSwgQlVJTERFUihDcmVhdGVfZnVuY191Y2FzZSl9LAogICB7IHsgQ19TVFJJTkdf V0lUSF9MRU4oIlVVSUQiKSB9LCBCVUlMREVSKENyZWF0ZV9mdW5jX3V1aWQpfSwKICAgeyB7IENf U1RSSU5HX1dJVEhfTEVOKCJVVUlEX1NIT1JUIikgfSwgQlVJTERFUihDcmVhdGVfZnVuY191dWlk X3Nob3J0KX0sCisgIHsgeyBDX1NUUklOR19XSVRIX0xFTigiVkFMSURBVEVfUEFTU1dPUkRfU1RS RU5HVEgiKSB9LCBCVUlMREVSKENyZWF0ZV9mdW5jX3ZhbGlkYXRlX3Bhc3N3b3JkX3N0cmVuZ3Ro KX0sCiAgIHsgeyBDX1NUUklOR19XSVRIX0xFTigiVkVSU0lPTiIpIH0sIEJVSUxERVIoQ3JlYXRl X2Z1bmNfdmVyc2lvbil9LAogICB7IHsgQ19TVFJJTkdfV0lUSF9MRU4oIldFRUtEQVkiKSB9LCBC VUlMREVSKENyZWF0ZV9mdW5jX3dlZWtkYXkpfSwKICAgeyB7IENfU1RSSU5HX1dJVEhfTEVOKCJX RUVLT0ZZRUFSIikgfSwgQlVJTERFUihDcmVhdGVfZnVuY193ZWVrb2Z5ZWFyKX0sCgo9PT0gbW9k aWZpZWQgZmlsZSAnc3FsL2l0ZW1fZnVuYy5jYycKLS0tIGEvc3FsL2l0ZW1fZnVuYy5jYwkyMDEy LTA1LTE4IDE0OjA4OjQ5ICswMDAwCisrKyBiL3NxbC9pdGVtX2Z1bmMuY2MJMjAxMi0wNS0yMSAx NDoyMjo1NiArMDAwMApAQCAtMzIxOSw2ICszMjE5LDE1IEBAIHZvaWQgSXRlbV9mdW5jX2xvY2F0 ZTo6cHJpbnQoU3RyaW5nICpzdHIKIH0KIAogCitsb25nbG9uZyBJdGVtX2Z1bmNfdmFsaWRhdGVf cGFzc3dvcmRfc3RyZW5ndGg6OnZhbF9pbnQoKQoreworICBTdHJpbmcgKmZpZWxkOworICBpZiAo IShmaWVsZD0gYXJnc1swXS0+dmFsX3N0cigmdmFsdWUpKSkKKyAgICByZXR1cm4gMDsKKyAgcmV0 dXJuIChjaGVja19wYXNzd29yZF9zdHJlbmd0aChmaWVsZCkpOworfQorCisKIGxvbmdsb25nIEl0 ZW1fZnVuY19maWVsZDo6dmFsX2ludCgpCiB7CiAgIERCVUdfQVNTRVJUKGZpeGVkID09IDEpOwoK PT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9pdGVtX2Z1bmMuaCcKLS0tIGEvc3FsL2l0ZW1fZnVuYy5o CTIwMTItMDUtMTggMTQ6MDg6NDkgKzAwMDAKKysrIGIvc3FsL2l0ZW1fZnVuYy5oCTIwMTItMDUt MjEgMTQ6MjI6NTYgKzAwMDAKQEAgLTExMDYsNiArMTEwNiwxNyBAQCBwdWJsaWM6CiB9OwogCiAK K2NsYXNzIEl0ZW1fZnVuY192YWxpZGF0ZV9wYXNzd29yZF9zdHJlbmd0aCA6cHVibGljIEl0ZW1f aW50X2Z1bmMKK3sKKyAgU3RyaW5nIHZhbHVlOworcHVibGljOgorICBJdGVtX2Z1bmNfdmFsaWRh dGVfcGFzc3dvcmRfc3RyZW5ndGgoSXRlbSAqYSkgOkl0ZW1faW50X2Z1bmMoYSkge30KKyAgbG9u Z2xvbmcgdmFsX2ludCgpOworICBjb25zdCBjaGFyICpmdW5jX25hbWUoKSBjb25zdCB7IHJldHVy biAidmFsaWRhdGVfcGFzc3dvcmRfc3RyZW5ndGgiOyB9CisgIHZvaWQgZml4X2xlbmd0aF9hbmRf ZGVjKCkgeyBtYXhfbGVuZ3RoPTEwOyB9Cit9OworCisKIGNsYXNzIEl0ZW1fZnVuY19maWVsZCA6 cHVibGljIEl0ZW1faW50X2Z1bmMKIHsKICAgU3RyaW5nIHZhbHVlLHRtcDsKCj09PSBtb2RpZmll ZCBmaWxlICdzcWwvaXRlbV9zdHJmdW5jLmNjJwotLS0gYS9zcWwvaXRlbV9zdHJmdW5jLmNjCTIw MTItMDQtMTcgMTQ6Mzc6NTAgKzAwMDAKKysrIGIvc3FsL2l0ZW1fc3RyZnVuYy5jYwkyMDEyLTA1 LTIxIDE0OjIyOjU2ICswMDAwCkBAIC0xOTI1LDYgKzE5MjUsNyBAQCBTdHJpbmcgKkl0ZW1fZnVu Y19wYXNzd29yZDo6dmFsX3N0cl9hc2NpCiAgIFN0cmluZyAqcmVzPSBhcmdzWzBdLT52YWxfc3Ry KHN0cik7IAogICBpZiAoKG51bGxfdmFsdWU9YXJnc1swXS0+bnVsbF92YWx1ZSkpCiAgICAgcmV0 dXJuIDA7CisgIGNoZWNrX3Bhc3N3b3JkX3BvbGljeShyZXMpOwogICBpZiAocmVzLT5sZW5ndGgo KSA9PSAwKQogICAgIHJldHVybiBtYWtlX2VtcHR5X3Jlc3VsdCgpOwogICBteV9tYWtlX3NjcmFt YmxlZF9wYXNzd29yZCh0bXBfdmFsdWUsIHJlcy0+cHRyKCksIHJlcy0+bGVuZ3RoKCkpOwpAQCAt MTkzNyw3ICsxOTM4LDEyIEBAIGNoYXIgKkl0ZW1fZnVuY19wYXNzd29yZDo6YWxsb2MoVEhEICp0 aGQKIHsKICAgY2hhciAqYnVmZj0gKGNoYXIgKikgdGhkLT5hbGxvYyhTQ1JBTUJMRURfUEFTU1dP UkRfQ0hBUl9MRU5HVEgrMSk7CiAgIGlmIChidWZmKQorICB7CisgICAgU3RyaW5nICpwYXNzd29y ZF9zdHI9IG5ldyAodGhkLT5tZW1fcm9vdClTdHJpbmcocGFzc3dvcmQsIHRoZC0+dmFyaWFibGVz LgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNo YXJhY3Rlcl9zZXRfY2xpZW50KTsKKyAgICBjaGVja19wYXNzd29yZF9wb2xpY3kocGFzc3dvcmRf c3RyKTsKICAgICBteV9tYWtlX3NjcmFtYmxlZF9wYXNzd29yZChidWZmLCBwYXNzd29yZCwgcGFz c19sZW4pOworICB9CiAgIHJldHVybiBidWZmOwogfQogCkBAIC0xOTQ5LDYgKzE5NTUsNyBAQCBT dHJpbmcgKkl0ZW1fZnVuY19vbGRfcGFzc3dvcmQ6OnZhbF9zdHJfCiAgIFN0cmluZyAqcmVzPSBh cmdzWzBdLT52YWxfc3RyKHN0cik7CiAgIGlmICgobnVsbF92YWx1ZT1hcmdzWzBdLT5udWxsX3Zh bHVlKSkKICAgICByZXR1cm4gMDsKKyAgY2hlY2tfcGFzc3dvcmRfcG9saWN5KHJlcyk7CiAgIGlm IChyZXMtPmxlbmd0aCgpID09IDApCiAgICAgcmV0dXJuIG1ha2VfZW1wdHlfcmVzdWx0KCk7CiAg IG15X21ha2Vfc2NyYW1ibGVkX3Bhc3N3b3JkXzMyMyh0bXBfdmFsdWUsIHJlcy0+cHRyKCksIHJl cy0+bGVuZ3RoKCkpOwpAQCAtMTk2MSw3ICsxOTY4LDEyIEBAIGNoYXIgKkl0ZW1fZnVuY19vbGRf cGFzc3dvcmQ6OmFsbG9jKFRIRAogewogICBjaGFyICpidWZmPSAoY2hhciAqKSB0aGQtPmFsbG9j KFNDUkFNQkxFRF9QQVNTV09SRF9DSEFSX0xFTkdUSF8zMjMrMSk7CiAgIGlmIChidWZmKQorICB7 CisgICAgU3RyaW5nICpwYXNzd29yZF9zdHI9IG5ldyAodGhkLT5tZW1fcm9vdClTdHJpbmcocGFz c3dvcmQsIHRoZC0+dmFyaWFibGVzLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNoYXJhY3Rlcl9zZXRfY2xpZW50KTsKKyAgICBjaGVja19wYXNz d29yZF9wb2xpY3kocGFzc3dvcmRfc3RyKTsKICAgICBteV9tYWtlX3NjcmFtYmxlZF9wYXNzd29y ZF8zMjMoYnVmZiwgcGFzc3dvcmQsIHBhc3NfbGVuKTsKKyAgfQogICByZXR1cm4gYnVmZjsKIH0K IAoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9zaGFyZS9DTWFrZUxpc3RzLnR4dCcKLS0tIGEvc3Fs L3NoYXJlL0NNYWtlTGlzdHMudHh0CTIwMTEtMDYtMzAgMTU6NDY6NTMgKzAwMDAKKysrIGIvc3Fs L3NoYXJlL0NNYWtlTGlzdHMudHh0CTIwMTItMDUtMjEgMTQ6MjI6NTYgKzAwMDAKQEAgLTQyLDYg KzQyLDcgQEAgc2VyYmlhbgogCiBTRVQoZmlsZXMgCiAgZXJybXNnLXV0ZjgudHh0CisgZGljdGlv bmFyeS50eHQKICkKIAogRk9SRUFDSCAoZGlyICR7ZGlyc30pCkBAIC01MSw1ICs1Miw1IEBAIEVO REZPUkVBQ0goKQogSU5TVEFMTChESVJFQ1RPUlkgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9 L2NoYXJzZXRzIERFU1RJTkFUSU9OICR7SU5TVEFMTF9NWVNRTFNIQVJFRElSfSBDT01QT05FTlQg U2VydmVyCiAgIFBBVFRFUk4gImxhbmd1YWdlcy5odG1sIiBFWENMVURFCiApCi0KK0NPTkZJR1VS RV9GSUxFKGRpY3Rpb25hcnkudHh0ICR7Q01BS0VfQklOQVJZX0RJUn0vc3FsL3NoYXJlL2RpY3Rp b25hcnkudHh0KQogSU5TVEFMTChGSUxFUyAke2ZpbGVzfSBERVNUSU5BVElPTiAke0lOU1RBTExf TVlTUUxTSEFSRURJUn0gQ09NUE9ORU5UIFNlcnZlcikKCj09PSBhZGRlZCBmaWxlICdzcWwvc2hh cmUvZGljdGlvbmFyeS50eHQnCi0tLSBhL3NxbC9zaGFyZS9kaWN0aW9uYXJ5LnR4dAkxOTcwLTAx LTAxIDAwOjAwOjAwICswMDAwCisrKyBiL3NxbC9zaGFyZS9kaWN0aW9uYXJ5LnR4dAkyMDEyLTA1 LTIxIDE0OjIyOjU2ICswMDAwCkBAIC0wLDAgKzEsMzUzOCBAQAorMDAwMAorMTExMQorMTIzNDU2 CisxMjM0NQorcGFzc3dvcmQKK3Bhc3N3b3JkMQorMTIzNDU2Nzg5CisxMjM0NTY3OAorMTIzNDU2 Nzg5MAorYWJjMTIzCitjb21wdXRlcgordGlnZ2VyCisxMjM0Citxd2VydHkKK21vbmV5CitjYXJt ZW4KK21pY2tleQorc2VjcmV0CitzdW1tZXIKK2ludGVybmV0CithMWIyYzMKK3NlcnZpY2UKK2Nh bmFkYQoraGVsbG8KK3Jhbmdlcgorc2hhZG93CitiYXNlYmFsbAorZG9uYWxkCitoYXJsZXkKK2hv Y2tleQorbGV0bWVpbgorbWFnZ2llCittaWtlCittdXN0YW5nCitzbm9vcHkKK2J1c3RlcgorZHJh Z29uCitqb3JkYW4KK21pY2hhZWwKK21pY2hlbGxlCittaW5keQorcGF0cmljaworMTIzYWJjCith bmRyZXcKK2JlYXIKK2NhbHZpbgorY2hhbmdlbWUKK2RpYW1vbmQKK2Z1Y2ttZQorZnVja3lvdQor bWF0dGhldworbWlsbGVyCit0aWdlcgordHJ1c3RubzEKK2FsZXgKK2FwcGxlCithdmFsb24KK2Jy YW5keQorY2hlbHNlYQorY29mZmVlCitmYWxjb24KK2ZyZWVkb20KK2dhbmRhbGYKK2dyZWVuCito ZWxwbWUKK2xpbmRhCittYWdpYworbWVybGluCituZXd5b3JrCitzb2NjZXIKK3Rob21hcword2l6 YXJkCithc2RmZ2gKK2JhbmRpdAorYmF0bWFuCitib3JpcworYnV0dGhlYWQKK2Rvcm90aHkKK2Vl eW9yZQorZmlzaGluZworZm9vdGJhbGwKK2dlb3JnZQoraGFwcHkKK2lsb3ZleW91CitqZW5uaWZl cgoram9uYXRoYW4KK2xvdmUKK21hcmluYQorbWFzdGVyCittaXNzeQorbW9uZGF5Cittb25rZXkK K25hdGFzaGEKK25jYzE3MDEKK3BhbWVsYQorcGVwcGVyCitwaWdsZXQKK3Bvb2hiZWFyCitwb29r aWUKK3JhYmJpdAorcmFjaGVsCityb2NrZXQKK3Jvc2UKK3NtaWxlCitzcGFya3kKK3NwcmluZwor c3RldmVuCitzdWNjZXNzCitzdW5zaGluZQordmljdG9yaWEKK3doYXRldmVyCit6YXBhdGEKKzg2 NzUzMDkKK2FtYW5kYQorYW5keQorYW5nZWwKK2F1Z3VzdAorYmFybmV5CitiaXRlbWUKK2Jvb21l cgorYnJpYW4KK2Nhc2V5Citjb3dib3kKK2RlbHRhCitkb2N0b3IKK2Zpc2hlcgoraXNsYW5kCitq b2huCitqb3NodWEKK2thcmVuCittYXJsZXkKK29yYW5nZQorcGxlYXNlCityYXNjYWwKK3JpY2hh cmQKK3NhcmFoCitzY29vdGVyCitzaGFsb20KK3NpbHZlcgorc2tpcHB5CitzdGFubGV5Cit0YXls b3IKK3dlbGNvbWUKK3plcGh5cgorMTExMTExCithYWFhYWEKK2FjY2VzcworYWxiZXJ0CithbGV4 YW5kZXIKK2FuZHJlYQorYW5uYQorYW50aG9ueQorYXNkZmprbDsKK2FzaGxleQorYmFza2V0YmFs bAorYmVhdmlzCitibGFjaworYm9iCitib29ib28KK2JyYWRsZXkKK2JyYW5kb24KK2J1ZGR5Citj YWl0bGluCitjYW1hcm8KK2NoYXJsaWUKK2NoaWNrZW4KK2NocmlzCitjaW5keQorY3JpY2tldAor ZGFrb3RhCitkYWxsYXMKK2RhbmllbAorZGF2aWQKK2RlYmJpZQorZG9scGhpbgorZWxlcGhhbnQK K2VtaWx5CitmcmllbmQKK2Z1Y2tlcgorZ2luZ2VyCitnb29kbHVjaworaGFtbWVyCitoZWF0aGVy CitpY2VtYW4KK2phc29uCitqZXNzaWNhCitqZXN1cworam9zZXBoCitqdXBpdGVyCitqdXN0aW4K K2tldmluCitrbmlnaHQKK2xhY3Jvc3NlCitsYWtlcnMKK2xpemFyZAorbWFkaXNvbgorbWFyeQor bW90aGVyCittdWZmaW4KK211cnBoeQorbmlydmFuYQorcGFyaXMKK3BlbnRpdW0KK3Bob2VuaXgK K3BpY3R1cmUKK3JhaW5ib3cKK3NhbmR5CitzYXR1cm4KK3Njb3R0CitzaGFubm9uCitzaGl0aGVh ZAorc2tlZXRlcgorc29waGllCitzcGVjaWFsCitzdGVwaGFuaWUKK3N0ZXBoZW4KK3N0ZXZlCitz d2VldGllCit0ZWFjaGVyCit0ZW5uaXMKK3Rlc3QKK3Rlc3QxMjMKK3RvbW15Cit0b3BndW4KK3Ry aXN0YW4KK3dhbGx5Cit3aWxsaWFtCit3aWxzb24KKzFxMnczZQorNjU0MzIxCis2NjY2NjYKK2Ex MjM0NQorYTFiMmMzZDQKK2FscGhhCithbWJlcgorYW5nZWxhCithbmdpZQorYXJjaGllCithc2Rm CitibGF6ZXIKK2JvbmQwMDcKK2Jvb2dlcgorY2hhcmxlcworY2hyaXN0aW4KK2NsYWlyZQorY29u dHJvbAorZGFubnkKK2RhdmlkMQorZGVubmlzCitkaWdpdGFsCitkaXNuZXkKK2Vkd2FyZAorZWx2 aXMKK2ZlbGl4CitmbGlwcGVyCitmcmFua2xpbgorZnJvZG8KK2hvbmRhCitob3JzZXMKK2h1bnRl cgoraW5kaWdvCitqYW1lcworamFzcGVyCitqZXJlbXkKK2p1bGlhbgora2Vsc2V5CitraWxsZXIK K2xhdXJlbgorbWFyaWUKK21hcnlqYW5lCittYXRyaXgKK21hdmVyaWNrCittYXlkYXkKK21lcmN1 cnkKK21pdGNoZWxsCittb3JnYW4KK21vdW50YWluCituaW5lcnMKK25vdGhpbmcKK29saXZlcgor cGVhY2UKK3BlYW51dAorcGVhcmxqYW0KK3BoYW50b20KK3BvcGNvcm4KK3ByaW5jZXNzCitwc3lj aG8KK3B1bXBraW4KK3B1cnBsZQorcmFuZHkKK3JlYmVjY2EKK3JlZGRvZworcm9iZXJ0Cityb2Nr eQorcm9zZXMKK3NhbG1vbgorc2Ftc29uCitzaGFyb24KK3NpZXJyYQorc21va2V5CitzdGFydHJl aworc3RlZWxlcnMKK3N0aW1weQorc3VuZmxvd2VyCitzdXBlcm1hbgorc3VwcG9ydAorc3lkbmV5 Cit0ZWNobm8KK3dhbHRlcgord2lsbGllCit3aWxsb3cKK3dpbm5lcgoremlnZ3kKK3p4Y3Zibm0K K2FsYXNrYQorYWxleGlzCithbGljZQorYW5pbWFsCithcHBsZXMKK2JhcmJhcmEKK2JlbmphbWlu CitiaWxseQorYmx1ZQorYmx1ZWJpcmQKK2JvYmJ5Citib25uaWUKK2J1YmJhCitjYW1lcmEKK2No b2NvbGF0ZQorY2xhcmsKK2NsYXVkaWEKK2NvY2Fjb2xhCitjb21wdG9uCitjb25uZWN0Citjb29r aWUKK2NydWlzZQorZG91Z2xhcworZHJlYW1lcgorZHJlYW1zCitkdWNraWUKK2VhZ2xlcworZWRk aWUKK2VpbnN0ZWluCitlbnRlcgorZXhwbG9yZXIKK2ZhaXRoCitmYW1pbHkKK2ZlcnJhcmkKK2Zs YW1pbmdvCitmbG93ZXIKK2ZveHRyb3QKK2ZyYW5jaXMKK2ZyZWRkeQorZnJpZGF5Citmcm9nZ3kK K2dpYW50cworZ2l6bW8KK2dsb2JhbAorZ29vZnkKK2hhcHB5MQoraGVuZHJpeAoraGVucnkKK2hl cm1hbgoraG9tZXIKK2hvbmV5Citob3VzZQoraG91c3RvbgoraWd1YW5hCitpbmRpYW5hCitpbnNh bmUKK2luc2lkZQoraXJpc2gKK2lyb25tYW4KK2pha2UKK2phc21pbgoramVhbm5lCitqZXJyeQor am9leQoranVzdGljZQora2F0aGVyaW5lCitrZXJtaXQKK2tpdHR5Citrb2FsYQorbGFycnkKK2xl c2xpZQorbG9nYW4KK2x1Y2t5CittYXJrCittYXJ0aW4KK21hdHQKK21pbm5pZQorbWlzdHkKK21p dGNoCittb3VzZQorbmFuY3kKK25hc2NhcgorbmVsc29uCitwYW50ZXJhCitwYXJrZXIKK3Blbmd1 aW4KK3BldGVyCitwaWFubworcGl6emEKK3ByaW5jZQorcHVua2luCitweXJhbWlkCityYXltb25k Cityb2Jpbgorcm9nZXIKK3Jvc2VidWQKK3JvdXRlNjYKK3JveWFsCitydW5uaW5nCitzYWRpZQor c2FzaGEKK3NlY3VyaXR5CitzaGVlbmEKK3NoZWlsYQorc2tpaW5nCitzbmFwcGxlCitzbm93YmFs bAorc3BhcnJvdworc3BlbmNlcgorc3Bpa2UKK3N0YXIKK3N0ZWFsdGgKK3N0dWRlbnQKK3N1bm55 CitzeWx2aWEKK3RhbWFyYQordGF1cnVzCit0ZXJlc2EKK3RoZXJlc2EKK3RodW5kZXJiaXJkCit0 aWdlcnMKK3RvbnkKK3RveW90YQordHJhdmVsCit0dWVzZGF5Cit2aWN0b3J5Cit2aXBlcjEKK3dl c2xleQord2hpc2t5Cit3aW5uaWUKK3dpbnRlcgord29sdmVzCit4eXoxMjMKK3pvcnJvCisxMjMx MjMKKzEyMzQ1NjcKKzY5Njk2OQorODg4ODg4CitBbnRob255CitKb3NodWEKK01hdHRoZXcKK1Rp Z2dlcgorYWFyb24KK2FiYnkKK2FiY2RlZgorYWRpZGFzCithZHJpYW4KK2FsZnJlZAorYXJ0aHVy CithdGhlbmEKK2F1c3RpbgorYXdlc29tZQorYmFkZ2VyCitiYW1ib28KK2JlYWdsZQorYmVhcnMK K2JlYXRsZXMKK2JlYXV0aWZ1bAorYmVhdmVyCitiZW5ueQorYmlnbWFjCitiaW5nbworYml0Y2gK K2Jsb25kZQorYm9vZ2llCitib3N0b24KK2JyZW5kYQorYnJpZ2h0CitidWJiYTEKK2J1YmJsZXMK K2J1ZmZ5CitidXR0b24KK2J1dHRvbnMKK2NhY3R1cworY2FuZHkKK2NhcHRhaW4KK2Nhcmxvcwor Y2Fyb2xpbmUKK2NhcnJpZQorY2FzcGVyCitjYXRjaDIyCitjaGFuY2UKK2NoYXJpdHkKK2NoYXJs b3R0ZQorY2hlZXNlCitjaGVyeWwKK2NobG9lCitjaHJpczEKK2NsYW5jeQorY29tcGFxCitjb25y YWQKK2Nvb3BlcgorY29vdGVyCitjb3BwZXIKK2Nvc21vcworY291Z2FyCitjcmFja2VyCitjcmF3 Zm9yZAorY3J5c3RhbAorY3VydGlzCitjeWNsb25lCitkYW5jZQorZGlhYmxvCitkb2xsYXJzCitk b29raWUKK2R1bWJhc3MKK2R1bmRlZQorZWxpemFiZXRoCitlcmljCitldXJvcGUKK2Zhcm1lcgor ZmlyZWJpcmQKK2ZsZXRjaGVyCitmbHVmZnkKK2ZyYW5jZQorZnJlYWsxCitmcmllbmRzCitmdWNr b2ZmCitnYWJyaWVsCitnYWxheHkKK2dhbWJpdAorZ2FyZGVuCitnYXJmaWVsZAorZ2FybmV0Citn ZW5lc2lzCitnZW5pdXMKK2dvZHppbGxhCitnb2xmZXIKK2dvb2JlcgorZ3JhY2UKK2dyZWVuZGF5 Citncm9vdnkKK2dyb3ZlcgorZ3VpdGFyCitoYWNrZXIKK2hhcnJ5CitoYXplbAoraGVjdG9yCito ZXJiZXJ0Citob3Jpem9uCitob3JuZXQKK2hvd2FyZAoraWNlY3JlYW0KK2ltYWdpbmUKK2ltcGFs YQoramFjaworamFuaWNlCitqYXNtaW5lCitqYXNvbjEKK2plYW5ldHRlCitqZWZmcmV5CitqZW5p ZmVyCitqZW5uaQoramVzdXMxCitqZXdlbHMKK2pva2VyCitqdWxpZQoranVsaWUxCitqdW5pb3IK K2p1c3RpbjEKK2thdGhsZWVuCitrZWl0aAora2VsbHkKK2tlbGx5MQora2VubmVkeQora2V2aW4x Citrbmlja3MKK2xhcnJ5MQorbGVvbmFyZAorbGVzdGF0CitsaWJyYXJ5CitsaW5jb2xuCitsaW9u a2luZworbG9uZG9uCitsb3Vpc2UKK2x1Y2t5MQorbHVjeQorbWFkZG9nCittYXJnYXJldAorbWFy aXBvc2EKK21hcmxib3JvCittYXJ0aW4xCittYXJ0eQorbWFzdGVyMQorbWVuc3VjaworbWVyY2Vk ZXMKK21ldGFsCittaWRvcmkKK21pa2V5CittaWxsaWUKK21pcmFnZQorbW9sbHkKK21vbmV0Citt b25leTEKK21vbmljYQorbW9ub3BvbHkKK21vb2tpZQorbW9vc2UKK21vcm9uaQorbXVzaWMKK25h b21pCituYXRoYW4KK25ndXllbgorbmljaG9sYXMKK25pY29sZQorbmltcm9kCitvY3RvYmVyCitv bGl2ZQorb2xpdmlhCitvbmxpbmUKK29zY2FyCitveGZvcmQKK3BhY2lmaWMKK3BhaW50ZXIKK3Bl YWNoZXMKK3BlbmVsb3BlCitwZXBzaQorcGV0dW5pYQorcGhpbGlwCitwaG9lbml4MQorcGhvdG8K K3BpY2tsZQorcGxheWVyCitwb2l1eXQKK3BvcnNjaGUKK3BvcnRlcgorcHVwcHkKK3B5dGhvbgor cXVhbGl0eQorcmFxdWVsCityYXZlbgorcmVtZW1iZXIKK3JvYmJpZQorcm9iZXJ0MQorcm9tYW4K K3J1Z2J5CitydW5uZXIKK3J1c3NlbGwKK3J5YW4KK3NhaWxpbmcKK3NhaWxvcgorc2FtYW50aGEK K3NhdmFnZQorc2NhcmxldHQKK3NjaG9vbAorc2Vhbgorc2V2ZW4KK3NoYWRvdzEKK3NoZWJhCitz aGVsYnkKK3NoaXQKK3Nob2VzCitzaW1iYQorc2ltcGxlCitza2lwcGVyCitzbWlsZXkKK3NuYWtl Citzbmlja2Vycworc25pcGVyCitzbm9vcGRvZworc25vd21hbgorc29uaWMKK3NwaXRmaXJlCitz cHJpdGUKK3NwdW5reQorc3RhcndhcnMKK3N0YXRpb24KK3N0ZWxsYQorc3RpbmdyYXkKK3N0b3Jt CitzdG9ybXkKK3N0dXBpZAorc3VubnkxCitzdW5yaXNlCitzdXJmZXIKK3N1c2FuCit0YW1teQor dGFuZ28KK3RhbnlhCit0ZWRkeTEKK3RoZWJvc3MKK3RoZWtpbmcKK3RodW1wZXIKK3RpbmEKK3Rp bnRpbgordG9tY2F0Cit0cmVib3IKK3RyZXZvcgordHdlZXR5Cit1bmljb3JuCit2YWxlbnRpbmUK K3ZhbGVyaWUKK3ZhbmlsbGEKK3Zlcm9uaWNhCit2aWN0b3IKK3ZpbmNlbnQKK3ZpcGVyCit3YXJy aW9yCit3YXJyaW9ycword2Vhc2VsCit3aGVlbHMKK3dpbGJ1cgord2luc3Rvbgord2lzZG9tCit3 b21iYXQKK3hhdmllcgoreWVsbG93Cit6ZXBwZWxpbgorMTExMQorMTIxMgorQW5kcmV3CitGYW1p bHkKK0ZyaWVuZHMKK01pY2hhZWwKK01pY2hlbGxlCitTbm9vcHkKK2FiY2QxMjM0CithYmNkZWZn CithYmlnYWlsCithY2NvdW50CithZGFtCithbGV4MQorYWxpY2UxCithbGxpc29uCithbHBpbmUK K2FuZHJlMQorYW5kcmVhMQorYW5nZWwxCithbml0YQorYW5uZXR0ZQorYW50YXJlcworYXBhY2hl CithcG9sbG8KK2FyYWdvcm4KK2FyaXpvbmEKK2Fybm9sZAorYXJzZW5hbAorYXNkZmFzZGYKK2Fz ZGZnCithc2RmZ2hqaworYXZlbmdlcgorYmFieQorYmFieWRvbGwKK2JhaWxleQorYmFuYW5hCiti YXJyeQorYmFza2V0CitiYXRtYW4xCitiZWFuZXIKK2JlYXN0CitiZWF0cmljZQorYmVsbGEKK2Jl cnRoYQorYmlnYmVuCitiaWdkb2cKK2JpZ2dsZXMKK2JpZ21hbgorYmlua3kKK2Jpb2xvZ3kKK2Jp c2hvcAorYmxvbmRpZQorYmx1ZWZpc2gKK2JvYmNhdAorYm9zY28KK2JyYXZlcworYnJhemlsCiti cnVjZQorYnJ1bm8KK2JydXR1cworYnVmZmFsbworYnVsbGRvZworYnVsbGV0CitidWxsc2hpdAor YnVubnkKK2J1c2luZXNzCitidXRjaAorYnV0bGVyCitidXR0ZXIKK2NhbGlmb3JuaWEKK2NhcmVi ZWFyCitjYXJvbAorY2Fyb2wxCitjYXJvbGUKK2Nhc3NpZQorY2FzdGxlCitjYXRhbGluYQorY2F0 aGVyaW5lCitjY2NjY2MKK2NlbGluZQorY2VudGVyCitjaGFtcGlvbgorY2hhbmVsCitjaGFvcwor Y2hlbHNlYTEKK2NoZXN0ZXIxCitjaGljYWdvCitjaGljbworY2hyaXN0aWFuCitjaHJpc3R5Citj aHVyY2gKK2NpbmRlcgorY29sbGVlbgorY29sb3JhZG8KK2NvbHVtYmlhCitjb21tYW5kZXIKK2Nv bm5pZQorY29va2llcworY29va2luZworY29yb25hCitjb3dib3lzCitjb3lvdGUKK2NyYWlnCitj cmVhdGl2ZQorY3VkZGxlcworY3VlcnZvCitjdXRpZQorZGFkZHkKK2RhaXN5CitkYW5pZWwxCitk YW5pZWxsZQorZGF2aWRzCitkZWF0aAorZGVuaXMKK2RlcmVrCitkZXNpZ24KK2Rlc3RpbnkKK2Rp YW5hCitkaWFuZQorZGlja2hlYWQKK2RpZ2dlcgorZG9kZ2VyCitkb25uYQorZG91Z2llCitkcmFn b25mbHkKK2R5bGFuCitlYWdsZQorZWNsaXBzZQorZWxlY3RyaWMKK2VtZXJhbGQKK2V0b2lsZQor ZXhjYWxpYnVyCitleHByZXNzCitmZW5kZXIKK2Zpb25hCitmaXJlbWFuCitmbGFzaAorZmxvcmlk YQorZmxvd2VycworZm9zdGVyCitmcmFuY2VzY28KK2ZyYW5jaW5lCitmcmFuY29pcworZnJhbmsK K2ZyZW5jaAorZnVja2ZhY2UKK2dlbWluaQorZ2VuZXJhbAorZ2VyYWxkCitnZXJtYW55CitnaWxi ZXJ0Citnb2F3YXkKK2dvbGRlbgorZ29sZGZpc2gKK2dvb3NlCitnb3Jkb24KK2dyYWhhbQorZ3Jh bnQKK2dyZWdvcnkKK2dyZXRjaGVuCitndW5uZXIKK2hhbm5haAoraGFyb2xkCitoYXJyaXNvbgor aGFydmV5CitoYXdrZXllCitoZWF2ZW4KK2hlaWRpCitoZWxlbgoraGVsZW5hCitoaXRoZXJlCito b2JiaXQKK2liYW5legoraWRvbnRrbm93CitpbnRlZ3JhCitpcmVsYW5kCitpcmVuZQoraXNhYWMK K2lzYWJlbAoramFja2FzcworamFja2llCitqYWNrc29uCitqYWd1YXIKK2phbWFpY2EKK2phcGFu CitqZW5ueTEKK2plc3NpZQoram9oYW4KK2pvaG5ueQoram9rZXIxCitqb3JkYW4yMworanVkaXRo CitqdWxpYQoranVtYW5qaQora2FuZ2Fyb28KK2thcmVuMQora2F0aHkKK2tlZXBvdXQKK2tlaXRo MQora2VubmV0aAora2ltYmVybHkKK2tpbmdkb20KK2tpdGthdAora3JhbWVyCitrcmlzdGVuCits YXVyYQorbGF1cmllCitsYXdyZW5jZQorbGF3eWVyCitsZWdlbmQKK2xpYmVydHkKK2xpZ2h0Cits aW5kc2F5CitsaW5kc2V5CitsaXNhCitsaXZlcnBvb2wKK2xvbGEKK2xvbmVseQorbG91aXMKK2xv dmVseQorbG92ZW1lCitsdWNhcworbWFkb25uYQorbWFsY29sbQorbWFsaWJ1CittYXJhdGhvbgor bWFyY2VsCittYXJpYTEKK21hcmlhaAorbWFyaWFoMQorbWFyaWx5bgorbWFyaW8KK21hcnZpbgor bWF1cmljZQorbWF4aW5lCittYXh3ZWxsCittZQorbWVnZ2llCittZWxhbmllCittZWxpc3NhCitt ZWxvZHkKK21leGljbworbWljaGFlbDEKK21pY2hlbGUKK21pZG5pZ2h0CittaWtlMQorbWlyYWNs ZQorbWlzaGEKK21pc2hrYQorbW9sbHkxCittb25pcXVlCittb250cmVhbAorbW9vY293Cittb29y ZQorbW9ycmlzCittb3VzZTEKK211bGRlcgorbmF1dGljYQorbmVsbGllCituZXd0b24KK25pY2sK K25pcnZhbmExCituaXNzYW4KK25vcm1hbgorbm90ZWJvb2sKK29jZWFuCitvbGl2aWVyCitvbGxp ZQorb3Jhbmdlcworb3JlZ29uCitvcmlvbgorcGFuZGEKK3BhbmRvcmEKK3BhbnRoZXIKK3Bhc3Np b24KK3BhdHJpY2lhCitwZWFybAorcGVld2VlCitwZW5jaWwKK3Blbm55CitwZW9wbGUKK3BlcmN5 CitwZXJzb24KK3BldGVyMQorcGV0ZXkKK3BpY2Fzc28KK3BpZXJyZQorcGlua2Zsb3lkCitwb2xh cmlzCitwb2xpY2UKK3Bvb2tpZTEKK3BvcHB5Citwb3dlcgorcHJlZGF0b3IKK3ByZXN0b24KK3Ex dzJlMworcXVlZW4KK3F1ZWVuaWUKK3F1ZW50aW4KK3JhbHBoCityYW5kb20KK3JhbmdlcnMKK3Jh cHRvcgorcmVhbGl0eQorcmVkcnVtCityZW1vdGUKK3JleW5vbGRzCityaG9uZGEKK3JpY2FyZG8K K3JpY2FyZG8xCityaWNreQorcml2ZXIKK3JvYWRydW5uZXIKK3JvYmluaG9vZAorcm9ja25yb2xs Cityb2NreTEKK3JvbmFsZAorcm94eQorcnV0aGllCitzYWJyaW5hCitzYWt1cmEKK3NhbGx5Citz YW1wc29uCitzYW11ZWwKK3NhbmRyYQorc2FudGEKK3NhcHBoaXJlCitzY2FybGV0CitzY29ycGlv CitzY290dDEKK3Njb3R0aWUKK3NjcnVmZnkKK3NlYXR0bGUKK3NlcmVuYQorc2hhbnRpCitzaGFy aworc2hvZ3VuCitzaW1vbgorc2luZ2VyCitza3VsbAorc2t5d2Fsa2VyCitzbGFja2VyCitzbWFz aGluZworc21pbGVzCitzbm93Zmxha2UKK3NudWZmeQorc29jY2VyMQorc29sZWlsCitzb25ueQor c3Bhbmt5CitzcGVlZHkKK3NwaWRlcgorc3Bvb2t5CitzdGFjZXkKK3N0YXI2OQorc3RhcnQKK3N0 ZXZlbjEKK3N0aW5reQorc3RyYXdiZXJyeQorc3R1YXJ0CitzdWdhcgorc3VuZGFuY2UKK3N1cGVy Zmx5CitzdXphbm5lCitzdXp1a2kKK3N3aW1tZXIKK3N3aW1taW5nCitzeXN0ZW0KK3RhZmZ5Cit0 YXJ6YW4KK3RlZGR5Cit0ZWRkeWJlYXIKK3RlcnJ5Cit0aGVhdHJlCit0aHVuZGVyCit0aHVyc2Rh eQordGlua2VyCit0b290c2llCit0b3JuYWRvCit0cmFjeQordHJpY2lhCit0cmlkZW50Cit0cm9q YW4KK3RydW1hbgordHJ1bXBldAordHVja2VyCit0dXJ0bGUKK3R5bGVyCit1dG9waWEKK3ZveWFn ZXIKK3dhcmNyYWZ0Cit3YXJsb2NrCit3YXJyZW4KK3dhdGVyCit3YXluZQord2VuZHkKK3dpbGxp YW1zCit3aWxseQord2lub25hCit3b29keQord29vZndvb2YKK3dyYW5nbGVyCit3cmlnaHQKK3hm aWxlcworeHh4eHh4Cit5YW5rZWVzCit5dm9ubmUKK3plYnJhCit6ZW5pdGgKK3ppZ3phZworem9t YmllCit6eGMxMjMKK3p4Y3ZiCiswMDAwMDAKKzAwNzAwNworMTExMTEKKzExMTExMTExCisxMjMz MjEKKzE3MTcxNworMTgxODE4CisxYTJiM2MKKzFjaHJpcworNHJ1bm5lcgorNTQzMjEKKzU1NTU1 Cis2OTY5Cis3Nzc3Nzc3Cis3ODk0NTYKKzg4ODg4ODg4CitBbGV4aXMKK0JhaWxleQorQ2hhcmxp ZQorQ2hyaXMKK0RhbmllbAorRHJhZ29uCitFbGl6YWJldGgKK0hBUkxFWQorSGVhdGhlcgorSmVu bmlmZXIKK0plc3NpY2EKK0pvcmRhbgorS0lMTEVSCitOaWNob2xhcworUGFzc3dvcmQKK1ByaW5j ZXNzCitQdXJwbGUKK1JlYmVjY2EKK1JvYmVydAorU2hhZG93CitTdGV2ZW4KK1N1bW1lcgorU3Vu c2hpbmUKK1N1cGVybWFuCitUYXlsb3IKK1Rob21hcworVmljdG9yaWEKK2FiY2QxMjMKK2FiY2Rl CithY2NvcmQKK2FjdGl2ZQorYWZyaWNhCithaXJib3JuZQorYWxmYXJvCithbGljaWEKK2FsaWVu cworYWxpbmEKK2FsaW5lCithbGlzb24KK2FsbGVuCithbG9oYQorYWxwaGExCithbHRoZWEKK2Fs dGltYQorYW1hbmRhMQorYW1hemluZworYW1lcmljYQorYW1vdXIKK2FuZGVyc29uCithbmRyZQor YW5kcmV3MQorYW5kcm9tZWRhCithbmdlbHMKK2FuZ2llMQorYW5uaWUKK2FueXRoaW5nCithcHBs ZTEKK2FwcGxlMgorYXBwbGVwaWUKK2FwcmlsCithcXVhcml1cworYXJpYW5lCithcmllbAorYXJs ZW5lCithcnRlbWlzCithc2RmMTIzNAorYXNkZmprbAorYXNobGV5MQorYXNocmFmCithc2h0b24K K2FzdGVyaXgKK2F0dGlsYQorYXV0dW1uCithdmF0YXIKK2JhYmVzCitiYW1iaQorYmFyYmllCiti YXJuZXkxCitiYXJyZXR0CitiYmFsbAorYmVhY2hlcworYmVhbmllCitiZWFucworYmVhdXR5Citi ZWNjYQorYmVsaXplCitiZWxsZQorYmVsbW9udAorYmVuamkKK2JlbnNvbgorYmVybmFyZG8KK2Jl cnJ5CitiZXRzeQorYmV0dHkKK2JpZ2Jvc3MKK2JpZ3JlZAorYmlsbHkxCitiaXJkaWUKK2JpcnRo ZGF5CitiaXNjdWl0CitiaXR0ZXIKK2JsYWNramFjaworYmxhaAorYmxhbmNoZQorYmxvb2QKK2Js b3dqb2IKK2Jsb3dtZQorYmx1ZWV5ZXMKK2JsdWVzCitib2dhcnQKK2JvbWJheQorYm9vYmllCiti b290cworYm9vdHNpZQorYm94ZXJzCiticmFuZGkKK2JyZW50CiticmV3c3RlcgorYnJpZGdlCiti cm9uY28KK2Jyb250ZQorYnJvb2tlCiticm90aGVyCiticnlhbgorYnViYmxlCitidWRkaGEKK2J1 ZGdpZQorYnVydG9uCitidXR0ZXJmbHkKK2J5cm9uCitjYWxlbmRhcgorY2FsdmluMQorY2FtZWwK K2NhbWlsbGUKK2NhbXBiZWxsCitjYW1waW5nCitjYW5jZXIKK2NhbmVsYQorY2Fubm9uCitjYXJi b24KK2Nhcm5hZ2UKK2Nhcm9seW4KK2NhcnJvdAorY2FzY2FkZQorY2F0ZmlzaAorY2F0aHkKK2Nh dHdvbWFuCitjZWNpbGUKK2NlbGljYQorY2hhbmdlCitjaGFudGFsCitjaGFyZ2VyCitjaGVycnkK K2NoaWFyYQorY2hpZWZzCitjaGluYQorY2hyaXMxMjMKK2NocmlzdDEKK2NocmlzdG1hcworY2hy aXN0b3BoZXIKK2NodWNrCitjaW5keTEKK2NpbmVtYQorY2l2aWMKK2NsYXVkZQorY2x1ZWxlc3MK K2NvYmFpbgorY29icmEKK2NvZHkKK2NvbGV0dGUKK2NvbGxlZ2UKK2NvbG9ycworY29sdDQ1Citj b25mdXNlZAorY29vbAorY29ydmV0dGUKK2Nvc21vCitjb3VudHJ5CitjcnVzYWRlcgorY3Vubmlu Z2hhbQorY3VwY2FrZQorY3ludGhpYQorZGFnZ2VyCitkYW1taXQKK2RhbmNlcgorZGFwaG5lCitk YXJrc3RhcgorZGFycmVuCitkYXJyeWwKK2RhcndpbgorZGVib3JhaAorZGVjZW1iZXIKK2RlZWRl ZQorZGVlem51dHMKK2RlbGFubworZGVsZXRlCitkZW1vbgorZGVuaXNlCitkZW5ueQorZGVzZXJ0 CitkZXNramV0CitkZXRyb2l0CitkZXZpbAorZGV2aW5lCitkZXZvbgorZGV4dGVyCitkaWFubmUK K2RpZXNlbAorZGlyZWN0b3IKK2RpeGllCitkb2RnZXJzCitkb2dneQorZG9sbGFyCitkb2xseQor ZG9taW5pcXVlCitkb21pbm8KK2RvbnRrbm93Citkb29naWUKK2RvdWRvdQorZG93bnRvd24KK2Ry YWdvbjEKK2RyaXZlcgorZHVkZQorZHVkbGV5CitkdXRjaGVzcworZHdpZ2h0CitlYWdsZTEKK2Vh c3RlcgorZWFzdGVybgorZWRpdGgKK2VkbXVuZAorZWlnaHQKK2VsZW1lbnQKK2VsaXNzYQorZWxs ZW4KK2VsbGlvdAorZW1waXJlCitlbmlnbWEKK2VudGVycHJpc2UKK2VyaW4KK2VzY29ydAorZXN0 ZWxsZQorZXVnZW5lCitldmVseW4KK2V4cGxvcmUKK2ZhbWlseTEKK2ZhdGJveQorZmVsaXBlCitm ZXJndXNvbgorZmVycmV0CitmZXJyaXMKK2ZpcmViYWxsCitmaXNoZXMKK2Zpc2hpZQorZmxpZ2h0 CitmbG9yaWRhMQorZmxvd2VycG90Citmb3J3YXJkCitmcmVkZGllCitmcmVlYmlyZAorZnJlZW1h bgorZnJpc2NvCitmcml0egorZnJvZ2dpZQorZnJvZ2dpZXMKK2Zyb2dzCitmdWNrdQorZnV0dXJl CitnYWJieQorZ2FtZXMKK2dhcmNpYQorZ2FzdG9uCitnYXRld2F5CitnZW9yZ2UxCitnZW9yZ2lh CitnZXJtYW4KK2dlcm1hbnkxCitnZXRvdXQKK2dob3N0CitnaWJzb24KK2dpc2VsbGUKK2dtb25l eQorZ29ibGluCitnb2JsdWUKK2dvbGx1bQorZ3JhbmRtYQorZ3JlbWxpbgorZ3JpenpseQorZ3J1 bXB5CitndWVzcworZ3VpdGFyMQorZ3VzdGF2bworaGFnZ2lzCitoYWhhCitoYWlsZXkKK2hhbGxv d2VlbgoraGFtaWx0b24KK2hhbWxldAoraGFubmEKK2hhbnNvbgoraGFwcHkxMjMKK2hhcHB5ZGF5 CitoYXJkY29yZQoraGFybGV5MQoraGFycmlldAoraGFycmlzCitoYXJ2YXJkCitoZWFsdGgKK2hl YXJ0CitoZWF0aGVyMQoraGVhdGhlcjIKK2hlZGdlaG9nCitoZWxlbmUKK2hlbGxvMQoraGVsbG8x MjMKK2hlbGxvaGVsbG8KK2hlcm1lcworaGV5dGhlcmUKK2hpZ2hsYW5kCitoaWxkYQoraGlsbGFy eQoraGlzdG9yeQoraGl0bGVyCitob2JiZXMKK2hvbGlkYXkKK2hvbGx5Citob25kYTEKK2hvbmdr b25nCitob290aWUKK2hvcnNlCitob3Ryb2QKK2h1ZHNvbgoraHVtbWVyCitodXNraWVzCitpZGlv dAoraWZvcmdldAoraWxvdmV1CitpbXBhY3QKK2luZG9uZXNpYQoraXJpbmEKK2lzYWJlbGxlCitp c3JhZWwKK2l0YWxpYQoraXRhbHkKK2phY2tpZTEKK2phY29iCitqYWtleQoramFtZXMxCitqYW1l c2JvbmQKK2phbWllCitqYW1qYW0KK2plZmZyZXkxCitqZW5uaWUKK2plbm55CitqZW5zZW4KK2pl c3NlCitqZXNzZTEKK2plc3RlcgoramV0aHJvCitqaW1ib2IKK2ppbW15Citqb2FubmEKK2pvZWxs ZQoram9objMxNgoram9yZGllCitqb3JnZQoram9zaAoram91cm5leQoram95Y2UKK2p1YmlsZWUK K2p1bGVzCitqdWxpZW4KK2p1bGlldAoranVuZWJ1ZworanVuaXBlcgoranVzdGRvaXQKK2thcmlu CitrYXJpbmUKK2thcm1hCitrYXRlcmluYQora2F0aWUKK2thdGllMQora2F5bGEKK2tlZXBlcgor a2VsbGVyCitrZW5kYWxsCitrZW5ueQora2V0Y2h1cAora2luZ3MKK2tpc3NtZQora2l0dGVuCitr aXR0eWNhdAora2tra2trCitrcmlzdGkKK2tyaXN0aW5lCitsYWJ0ZWMKK2xhZGRpZQorbGFkeWJ1 ZworbGFuY2UKK2xhdXJlbAorbGF3c29uCitsZWFkZXIKK2xlbGFuZAorbGVtb24KK2xlc3Rlcgor bGV0dGVyCitsZXR0ZXJzCitsZXh1czEKK2xpYnJhCitsaWdodHMKK2xpb25lbAorbGl0dGxlCits aXp6eQorbG9saXRhCitsb25lc3RhcgorbG9uZ2hvcm4KK2xvb25leQorbG9yZW4KK2xvcm5hCits b3NlcgorbG92ZXJzCitsb3ZleW91CitsdWNpYQorbHVjaWZlcgorbHVja3kxNAorbWFkZGllCitt YWRtYXgKK21hZ2ljMQorbWFnbnVtCittYWlkZW4KK21haW5lCittYW5hZ2VtZW50CittYW5zb24K K21hbnVlbAorbWFyY3VzCittYXJpYQorbWFyaWVsbGUKK21hcmluZQorbWFyaW5vCittYXJzaGFs bAorbWFydGhhCittYXhtYXgKK21lYXRsb2FmCittZWRpY2FsCittZWdhbgorbWVsaW5hCittZW1w aGlzCittZXJtYWlkCittaWFtaQorbWljaGVsCittaWNoaWdhbgorbWlja2V5MQorbWljcm9zb2Z0 CittaWthZWwKK21pbGFubworbWlsZXMKK21pbGxlbml1bQorbWlsbGlvbgorbWlyYW5kYQorbWly aWFtCittaXNzaW9uCittbW1tbW0KK21vYmlsZQorbW9ua2V5MQorbW9ucm9lCittb250YW5hCitt b250eQorbW9vbW9vCittb29uYmVhbQorbW9ycGhldXMKK21vdG9yb2xhCittb3ZpZXMKK21vemFy dAorbXVuY2hraW4KK211cnJheQorbXVzdGFuZzEKK25hZGlhCituYWRpbmUKK25hcG9sZW9uCitu YXRpb24KK25hdGlvbmFsCituZXN0bGUKK25ld2xpZmUKK25ld3lvcmsxCituaWNob2xlCituaWtp dGEKK25pa2tpCituaW50ZW5kbworbm9raWEKK25vbW9yZQorbm9ybWFsCitub3J0b24KK25vd2F5 CitudWdnZXQKK251bWJlcjkKK251bWJlcnMKK251cnNlCitudXRtZWcKK29oc2hpdAorb2ljdTgx Mgorb21lZ2EKK29wZW51cAorb3JjaGlkCitvcmVvCitvcmxhbmRvCitwYWNrYXJkCitwYWNrZXJz CitwYWxvbWEKK3BhbmNha2UKK3BhbmljCitwYXJvbGEKK3BhcnJvdAorcGFydG5lcgorcGFzY2Fs CitwYXRjaGVzCitwYXRyaW90cworcGF1bGEKK3BhdWxpbmUKK3BheXRvbgorcGVhY2gKK3BlYW51 dHMKK3BlZHJvMQorcGVnZ3kKK3BlcmZlY3QKK3BlcnJ5CitwZXRlcnBhbgorcGhpbGlwcworcGhp bGxpcHMKK3Bob25lCitwaWVyY2UKK3BpZ2VvbgorcGluaworcGlvbmVlcgorcGlwZXIxCitwaXJh dGUKK3Bpc2NlcworcGxheWJveQorcGx1dG8KK3BvZXRyeQorcG9udGlhYworcG9va2V5Citwb3Bl eWUKK3ByYXllcgorcHJlY2lvdXMKK3ByZWx1ZGUKK3ByZW1pZXIKK3B1ZGRpbgorcHVsc2FyCitw dXNzeQorcHVzc3kxCitxd2VydAorcXdlcnR5MTIKK3F3ZXJ0eXVpCityYWJiaXQxCityYWNoZWxs ZQorcmFjb29uCityYW1ibworcmFuZHkxCityYXZlbnMKK3JlZG1hbgorcmVkc2tpbnMKK3JlZ2dh ZQorcmVnZ2llCityZW5lZQorcmVuZWdhZGUKK3Jlc2N1ZQorcmV2b2x1dGlvbgorcmljaGFyZDEK K3JpY2hhcmRzCityaWNobW9uZAorcmlsZXkKK3JpcHBlcgorcm9iYnkKK3JvYmVydHMKK3JvY2sK K3JvY2tldDEKK3JvY2tpZQorcm9ja29uCityb2dlcjEKK3JvZ2Vycworcm9sYW5kCityb21tZWwK K3Jvb2tpZQorcm9vdGJlZXIKK3Jvc2llCitydWZ1cworcnVzdHkKK3J1dGhsZXNzCitzYWJiYXRo CitzYWJpbmEKK3NhZmV0eQorc2FpbnQKK3NhbWlhbQorc2FtbWllCitzYW1teQorc2Ftc2FtCitz YW5kaQorc2Fuam9zZQorc2FwaGlyZQorc2FyYWgxCitzYXNraWEKK3Nhc3N5CitzYXR1cmRheQor c2NpZW5jZQorc2Nvb2J5CitzY29vYnlkb28KK3Njb290ZXIxCitzY29ycGlvbgorc2NvdHR5Citz Y291dHMKK3NlYXJjaAorc2VwdGVtYmVyCitzZXJ2ZXIKK3NldmVuNworc2V4eQorc2hhZ2d5Citz aGFubnkKK3NoYW9saW4KK3NoYXN0YQorc2hheW5lCitzaGVsbHkKK3NoZXJyeQorc2hpcmxleQor c2hvcnR5CitzaG90Z3VuCitzaWRuZXkKK3NpbWJhMQorc2luYXRyYQorc2lyaXVzCitza2F0ZQor c2tpcHBlcjEKK3NreWxlcgorc2xheWVyCitzbGVlcHkKK3NsaWRlcgorc21pbGUxCitzbWl0dHkK K3Ntb2tlCitzbmFrZXMKK3NuYXBwZXIKK3Nub29wCitzb2xvbW9uCitzb3BoaWEKK3NwYWNlCitz cGFya3MKK3NwYXJ0YW4KK3NwaWtlMQorc3BvbmdlCitzcHVycworc3F1YXNoCitzdGFyZ2F0ZQor c3RhcmxpZ2h0CitzdGFycworc3RlcGgxCitzdGV2ZTEKK3N0ZXZlbnMKK3N0ZXdhcnQKK3N0b25l CitzdHJhbmdlcgorc3RyZXRjaAorc3Ryb25nCitzdHVkaW8KK3N0dW1weQorc3Vja2VyCitzdWNr bWUKK3N1bHRhbgorc3VtbWl0CitzdW5maXJlCitzdW5zZXQKK3N1cGVyCitzdXBlcnN0YXIKK3N1 cmZpbmcKK3N1c2FuMQorc3V0dG9uCitzd2VkZW4KK3N3ZWV0cGVhCitzd2VldHkKK3N3b3JkZmlz aAordGFiYXRoYQordGFjb2JlbGwKK3RhaXdhbgordGFtdGFtCit0YW5uZXIKK3RhcmdldAordGFz aGEKK3RhdHRvbwordGVxdWlsYQordGVycnkxCit0ZXhhcwordGhhbmt5b3UKK3RoZWVuZAordGhv bXBzb24KK3RocmFzaGVyCit0aWdlcjIKK3RpbWJlcgordGltb3RoeQordGlua2VyYmVsbAordG9w Y2F0Cit0b3BoZXIKK3Rvc2hpYmEKK3RvdG90bwordHJhdmlzCit0cmVhc3VyZQordHJlZXMKK3Ry aWNreQordHJpc2gKK3RyaXRvbgordHJvbWJvbmUKK3Ryb3VibGUKK3RydWNrZXIKK3R1cmJvCit0 d2lucwordHlsZXIxCit1bHRpbWF0ZQordW5pcXVlCit1bml0ZWQKK3Vyc3VsYQordmFjYXRpb24K K3ZhbGxleQordmFtcGlyZQordmFuZXNzYQordmVuaWNlCit2ZW51cwordmVybW9udAordmlja2kK K3ZpY2t5Cit2aWN0b3IxCit2aW5jZW50MQordmlvbGV0Cit2aW9saW4KK3ZpcmdpbAordmlyZ2lu aWEKK3Zpc2lvbgordm9sbGV5Cit2b29kb28KK3ZvcnRleAord2FpdGluZword2Fua2VyCit3YXJu ZXIKK3dhdGVyMQord2F5bmUxCit3ZWJzdGVyCit3ZWV6ZXIKK3dlbmR5MQord2VzdGVybgord2hp dGUKK3doaXRuZXkKK3dob2NhcmVzCit3aWxkY2F0Cit3aWxsaWFtMQord2lsbWEKK3dpbmRvdwor d2lubmlldGhlcG9vaAord29sZmdhbmcKK3dvbHZlcmluZQord29uZGVyCit4eHh4eHh4eAoreWFt YWhhCit5YW5rZWUKK3lvZ2liZWFyCit5b2xhbmRhCit5b21hbWEKK3l2ZXR0ZQoremFjaGFyeQor emVicmFzCit6eGN2Ym4KKzAwMDAwMDAwCisxMjEyMTIKKzEyMzRxd2VyCisxMzEzMTMKKzEzNTc5 Cis5MDIxMAorOTk5OTk5OTkKK0FCQzEyMworYWN0aW9uCithbWVsaWUKK2FuYWNvbmRhCithcG9s bG8xMworYXJ0aXN0Cithc3Nob2xlCitiZW5vaXQKK2Jlcm5hcmQKK2Jlcm5pZQorYmlnYmlyZAor YmxpenphcmQKK2JsdWVza3kKK2JvbmpvdXIKK2NhZXNhcgorY2FyZGluYWwKK2Nhcm9saW5hCitj ZXNhcgorY2hhbmRsZXIKK2NoYXBtYW4KK2NoYXJsaWUxCitjaGV2eQorY2hpcXVpdGEKK2Nob2Nv bGF0Citjb2NvCitjb3VnYXJzCitjb3VydG5leQorZG9scGhpbnMKK2RvbWluaWMKK2RvbmtleQor ZHVzdHkKK2VtaW5lbQorZW5lcmd5CitmZWFybGVzcworZm9yZXN0Citmb3JldmVyCitnbGVubgor Z3Vpbm5lc3MKK2hvdGRvZworaW5kaWFuCitqYXJlZAoramltYm8KK2pvaG5zb24KK2pvam8KK2pv c2llCitrcmlzdGluCitsbG95ZAorbG9ycmFpbmUKK2x5bm4KK21heGltZQorbWVtb3J5CittaW1p CittaXJyb3IKK25lYnJhc2thCituZW1lc2lzCituZXR3b3JrCituaWdlbAorb2F0bWVhbAorcGF0 dG9uCitwZWRybworcGxhbmV0CitwbGF5ZXJzCitwb3J0bGFuZAorcHJhaXNlCitwc2FsbXMKK3F3 YXN6eAorcmFpZGVycworcmFtYm8xCityYW5jaWQKK3NoYXduCitzaGVsbGV5Citzb2Z0YmFsbAor c3BlZWRvCitzcG9ydHMKK3Nzc3Nzcworc3RlZWxlCitzdGVwaAorc3RlcGhhbmkKK3N1bmRheQor dGlmZmFueQordGlncmUKK3Rvcm9udG8KK3RyaXhpZQordW5kZWFkCit2YWxlbnRpbgordmVsdmV0 Cit2aWtpbmcKK3dhbGtlcgord2F0c29uCit5b3VuZworYmFieWdpcmwKK3ByZXR0eQoraG90dGll Cit0ZWFtbworOTg3NjU0MzIxCituYXJ1dG8KK3Nwb25nZWJvYgorZGFuaWVsYQorcHJpbmNlc2EK K2NocmlzdAorYmxlc3NlZAorc2luZ2xlCitxYXp3c3gKK3Bva2Vtb24KK2lsb3ZleW91MQoraWxv dmV5b3UyCitmdWNreW91MQoraGFoYWhhCitwb29wCitibGVzc2luZworYmxhaGJsYWgKK2JsaW5r MTgyCisxMjNxd2UKK3RyaW5pdHkKK3Bhc3N3MHJkCitnb29nbGUKK2xvb2tpbmcKK3NwaXJpdAor aWxvdmV5b3UhCitxd2VydHkxCitvbmVsb3ZlCitteWxvdmUKKzIyMjIyMgoraWxvdmVnb2QKK2Zv b3RiYWxsMQorbG92aW5nCitlbW1hbnVlbAorMXEydzNlNHIKK3JlZDEyMworYmxhYmxhCisxMTIy MzMKK2hhbGxvCitzcGlkZXJtYW4KK3NpbXBzb25zCittb25zdGVyCitub3ZlbWJlcgorYnJvb2ts eW4KK3Bvb3BvbworZGFya25lc3MKKzE1OTc1MworcGluZWFwcGxlCitjaGVzdGVyCisxcWF6Mndz eAorZHJvd3NzYXAKK21vbmtleTEyCit3b3JkcGFzcworcTF3MmUzcjQKK2Nvb2xuZXNzCisxMTIz NTgxMworc29tZXRoaW5nCithbGV4YW5kcmEKK2VzdHJlbGxhCittaWd1ZWwKK2lsb3ZlbWUKK3Nh eWFuZworcHJpbmNlc3MxCis1NTU1NTUKKzk5OTk5OQorYWxlamFuZHJvCiticml0dGFueQorYWxl amFuZHJhCit0ZXF1aWVybworYW50b25pbworOTg3NjU0CiswMDAwMAorZmVybmFuZG8KK2NvcmF6 b24KK2NyaXN0aW5hCitraXNzZXMKK215c3BhY2UKK3JlYmVsZGUKK2JhYnlndXJsCithbHlzc2EK K21haGFsa2l0YQorZ2FicmllbGEKK3BpY3R1cmVzCitoZWxsb2tpdHR5CitiYWJ5Z2lybDEKK2Fu Z2VsaWNhCittYWhhbGtvCittYXJpYW5hCitlZHVhcmRvCithbmRyZXMKK3JvbmFsZG8KK2ludXlh c2hhCithZHJpYW5hCitjZWx0aWMKK3NhbXN1bmcKK2FuZ2VsbworNDU2Nzg5CitzZWJhc3RpYW4K K2thcmluYQoraG90bWFpbAorMDEyMzQ1Njc4OQorYmFyY2Vsb25hCitjYW1lcm9uCitzbGlwa25v dAorY3V0aWVwaWUKKzUwY2VudAorYm9uaXRhCittYWdhbmRhCitiYWJ5Ym95CituYXRhbGllCitj dXRlYWtvCitqYXZpZXIKKzc4OTQ1NjEyMworMTIzNjU0Citib3d3b3cKK3BvcnR1Z2FsCis3Nzc3 NzcKK3ZvbGxleWJhbGwKK2phbnVhcnkKK2NyaXN0aWFuCitiaWFuY2EKK2NocmlzYnJvd24KKzEw MTAxMAorc3dlZXQKK3BhbmdldAorYmVuZmljYQorbG92ZTEyMworbG9sbGlwb3AKK2NhbWlsYQor cXdlcnR5dWlvcAoraGFycnlwb3R0ZXIKK2loYXRleW91CitjaHJpc3RpbmUKK2xvcmVuYQorYW5k cmVlYQorY2hhcm1lZAorcmFmYWVsCiticmlhbm5hCithYWxpeWFoCitqb2huY2VuYQorbG92ZWxv dmUKK2dhbmdzdGEKKzMzMzMzMworaGlwaG9wCitteWJhYnkKK3NlcmdpbworbWV0YWxsaWNhCitt eXNwYWNlMQorYmFieWJsdWUKK2JhZGJveQorZmVybmFuZGEKK3dlc3RsaWZlCitzYXN1a2UKK3N0 ZWF1YQorcm9iZXJ0bworc2xpZGVzaG93Cithc2RmZ2hqa2wKK3NhbnRpYWdvCitqYXlzb24KKzUy MDEzMTQKK2plcm9tZQorZ2FuZGFrbworZ2F0aXRhCitiYWJ5a28KKzI0NjgxMAorc3dlZXRoZWFy dAorY2hpdmFzCithbGJlcnRvCit2YWxlcmlhCituaWNvbGUxCisxMjM0NTY3ODkxMAorbGVvbmFy ZG8KK2pheWpheQorbGlsaWFuYQorc2V4eWdpcmwKKzIzMjMyMworYW1vcmVzCithbnRob255MQor Yml0Y2gxCitmYXRpbWEKK21pYW1vcgorbG92ZXIKK2xhbGFsYQorMjUyNTI1Citza2l0dGxlcwor Y29sb21iaWEKKzE1OTM1NworbWFudXRkCisxMjM0NTZhCiticml0bmV5CitrYXRyaW5hCitjaHJp c3RpbmEKK3Bhc2F3YXkKK21haGFsCit0YXRpYW5hCitjYW50aWsKKzAxMjM0NTYKK3RlaXViZXNj CisxNDcyNTgzNjkKK25hdGFsaWEKK2ZyYW5jaXNjbworYW1vcmNpdG8KK3Bhb2xhCithbmdlbGl0 bworbWFuY2hlc3RlcgorbW9tbXkxCisxNDcyNTgKK2FtaWdvcworbWFybG9uCitsaW5raW5wYXJr CisxNDc4NTIKK2RpZWdvCis0NDQ0NDQKK2l2ZXJzb24KK2FuZHJlaQoranVzdGluZQorZnJhbmtp ZQorcGltcGluCitmYXNoaW9uCitiZXN0ZnJpZW5kCitlbmdsYW5kCitoZXJtb3NhCis0NTYxMjMK KzEwMjAzMAorc3BvcnRpbmcKK2hlYXJ0cworcG90dGVyCitpbG92ZXUyCitudW1iZXIxCisyMTIx MjEKK3RydWVsb3ZlCitqYXlkZW4KK3NhdmFubmFoCitob3R0aWUxCitnYW5kYQorc2NvdGxhbmQK K2lsb3ZlaGltCitzaGFraXJhCitlc3RyZWxsaXRhCiticmFuZG9uMQorc3dlZXRzCitmYW1pbGlh Citsb3ZlMTIKK29tYXJpb24KK21vbmtleXMKK2xvdmVyYm95CitlbGlqYWgKK3Jvbm5pZQorbWFt aXRhCis5OTk5OTk5OTkKK2Jyb2tlbgorcm9kcmlnbword2VzdHNpZGUKK21hdXJpY2lvCithbWln YXMKK3ByZWNpb3NhCitzaG9wcGluZworZmxvcmVzCitpc2FiZWxsYQorbWFydGluZXoKK2VsYWlu ZQorZnJpZW5kc3RlcgorY2hlY2hlCitncmFjaWUKK2Nvbm5vcgordmFsZW50aW5hCitkYXJsaW5n CitzYW50b3MKK2pvYW5uZQorZnVja3lvdTIKK3BlYmJsZXMKK3N1bnNoaW5lMQorZ2FuZ3N0ZXIK K2dsb3JpYQorZGFya2FuZ2VsCitiZXR0eWJvb3AKK2plc3NpY2ExCitjaGV5ZW5uZQorZHVzdGlu CitpdWJpcmUKK2ExMjM0NTYKK3B1cnBsZTEKK2Jlc3RmcmllbmRzCitpbmxvdmUKK2JhdGlzdGEK K2thcmxhCitjaGFjaGEKK21hcmlhbgorc2V4eW1lCitwb2dpYWtvCitqb3JkYW4xCiswMTAyMDMK K2RhZGR5MQorZGFkZHlzZ2lybAorYmlsbGFib25nCitwaW5reQorZXJpa2EKK3NrYXRlcgorbmVu aXRhCit0aWdnZXIxCitnYXRpdG8KK2xva2l0YQorbWFsZGl0YQorYnV0dGVyY3VwCitiYW1iYW0K K2dsaXR0ZXIKKzEyMzc4OQorc2lzdGVyCit6YWNlZnJvbgordG9raW9ob3RlbAorbG92ZXlhCits b3ZlYnVnCitidWJibGVndW0KK21hcmlzc2EKK2NlY2lsaWEKK2xvbGx5cG9wCituaWNvbGFzCitw dXBwaWVzCithcmlhbmEKK2NodWJieQorc2V4eWJpdGNoCityb3hhbmEKK21lbWVtZQorc3VzYW5h CitiYWxsZXIKK2hvdHN0dWZmCitjYXJ0ZXIKK2JhYnlsb3ZlCithbmdlbGluYQorcGxheWdpcmwK K3N3ZWV0MTYKKzAxMjM0NQorYmhlYmhlCittYXJjb3MKK2xvdmVtZTEKK21pbGFncm9zCitsaWxt YW1hCitiZXlvbmNlCitsb3ZlbHkxCitjYXRkb2cKK2FybWFuZG8KK21hcmdhcml0YQorMTUxNTE1 Citsb3ZlcworMjAyMDIwCitnZXJhcmQKK3VuZGVydGFrZXIKK2FtaXN0YWQKK2NhcHJpY29ybgor ZGVsZmluCitjaGVlcmxlYWRlcgorcGFzc3dvcmQyCitQQVNTV09SRAorbGl6emllCittYXR0aGV3 MQorZW5yaXF1ZQorYmFkZ2lybAorMTQxNDE0CitkYW5jaW5nCitjdXRlbWUKK2FtZWxpYQorc2t5 bGluZQorYW5nZWxlcworamFuaW5lCitjYXJsaXRvcworanVzdG1lCitsZWdvbGFzCittaWNoZWxs ZTEKK2NpbmRlcmVsbGEKK2plc3VzY2hyaXN0CitpbG92ZWplc3VzCit0YXptYW5pYQordGVraWVy bwordGhlYmVzdAorcHJpbmNlc2l0YQorbHVja3k3CitqZXN1Y3Jpc3RvCitidWRkeTEKK3JlZ2lu YQorbXlzZWxmCitsaXBnbG9zcworamF6bWluCityb3NpdGEKK2NoaWNoaQorcGFuZ2l0CittaWVy ZGEKKzc0MTg1Mjk2MworaGVybmFuZGV6CithcnR1cm8KK3NpbHZpYQorbWVsdmluCitjZWxlc3Rl CitwdXNzeWNhdAorZ29yZ2VvdXMKK2hvbmV5a28KK215bGlmZQorYmFieWJvbworbG92ZXUKK2x1 cGl0YQorcGFudGhlcnMKK2hvbGx5d29vZAorYWxmcmVkbworbXVzaWNhCitoYXdhaWkKK3NwYXJr bGUKK2tyaXN0aW5hCitzZXh5bWFtYQorY3JhenkKK3NjYXJmYWNlCiswOTg3NjUKK2hheWRlbgor bWljaGVhbAorMjQyNDI0CiswOTg3NjU0MzIxCittYXJpc29sCitqZXJlbWlhaAorbWhpbmUKK2lz YWlhaAorbG9saXBvcAorYnV0dGVyZmx5MQoreGJveDM2MAorbWFkYWxpbmEKK2FuYW1hcmlhCit5 b3VybW9tCitqYXNtaW5lMQorYnViYmxlczEKK2JlYXRyaXoKK2RpYW1vbmRzCitmcmllbmRzaGlw Citzd2VldG5lc3MKK2Rlc2lyZWUKKzc0MTg1MgoraGFubmFoMQorYmFuYW5hcworanVsaXVzCits ZWFubmUKK21hcmllMQorbG92ZXIxCit0d2lua2xlCitmZWJydWFyeQorYmViaXRhCis4NzY1NDMy MQordHdpbGlnaHQKK2ltaXNzeW91Citwb2xsaXRvCithc2hsZWUKK2Nvb2tpZTEKKzE0Nzg1MjM2 OQorYmVja2hhbQorc2ltb25lCitudXJzaW5nCit0b3JyZXMKK2RhbWlhbgorMTIzMTIzMTIzCitq b3NodWExCitiYWJ5ZmFjZQorZGluYW1vCittb21teQoranVsaWFuYQorY2Fzc2FuZHJhCityZWRz b3gKK2d1bmRhbQorMDAwMAorb3U4MTIKK2RhdmUKK2dvbGYKK21vbHNvbgorTW9uZGF5CituZXdw YXNzCit0aHgxMTM4CitJbnRlcm5ldAorY29rZQorZm9vYmFyCithYmMKK2Zpc2gKK2ZyZWQKK2hl bHAKK25jYzE3MDFkCituZXd1c2VyCitub25lCitwYXQKK2RvZworZHVjaworZHVrZQorZmxveWQK K2d1ZXN0Citqb2UKK2tpbmdmaXNoCittaWNybworc2FtCit0ZWxlY29tCit0ZXN0MQorNzc3Nwor YWJzb2x1dAorYmFieWxvbjUKK2JhY2t1cAorYmlsbAorYmlyZDMzCitkZWxpdmVyCitmaXJlCitm bGlwCitnYWxpbGVvCitnb3BoZXIKK2hhbnNvbG8KK2phbmUKK2ppbQorbW9tCitwYXNzd2QKK3Bo aWwKK3BoaXNoCitwb3JzY2hlOTExCityYWluCityZWQKK3NlcmdlaQordHJhaW5pbmcKK3RydWNr Cit2aWRlbwordm9sdm8KKzAwNworMTk2OQorNTY4MworQm9uZDAwNworRnJpZGF5CitIZW5kcml4 CitPY3RvYmVyCitUYXVydXMKK2FhYQorYWxleGFuZHIKK2NhdGFsb2cKK2NoYWxsZW5nZQorY2xp cHBlcgorY29sdHJhbmUKK2N5cmFubworZGFuCitkYXduCitkZWFuCitkZXV0c2NoCitkaWxiZXJ0 CitlLW1haWwKK2V4cG9ydAorZm9yZAorZm91bnRhaW4KK2ZveAorZnJvZworZ2FicmllbGwKK2dh cmxpYworZ29mb3JpdAorZ3JhdGVmdWwKK2hvb3BzCitsYWR5CitsZWR6ZXAKK2xlZQorbWFpbG1h bgorbWFudHJhCittYXJrZXQKK21hemRhMQorbWV0YWxsaWMKK25jYzE3MDFlCituZXNiaXR0Citv cGVuCitwZXRlCitxdWVzdAorcmVwdWJsaWMKK3Jlc2VhcmNoCitzdXByYQordGFyYQordGVzdGlu ZworeGFuYWR1Cit4eHh4Cit6YXBob2QKK3pldXMKKzAwMDcKKzEwMjIKKzEwc25lMQorMTk3Mwor MTk3OAorMjAwMAorMjIyMgorM2JlYXJzCitCcm9hZHdheQorRmlzaGVyCitKZWFubmUKK0tpbGxl cgorS25pZ2h0CitNYXN0ZXIKK1BlcHBlcgorU2llcnJhCitUZW5uaXMKK2FiYWNhYgorYWJjZAor YWNlCithY3JvcG9saXMKK2FteQorYW5kZXJzCithdmVuaXIKK2Jhc2lsCitiYXNzCitiZWVyCiti ZW4KK2JsaXNzCitibG93ZmlzaAorYm9zcworYnJpZGdlcworYnVjaworYnVnc3kKK2J1bGwKK2Nh bm5vbmRhbGUKK2Nhbm9uCitjYXRuaXAKK2NoaXAKK2NpdmlsCitjb250ZW50Citjb29rCitjb3Jk ZWxpYQorY3JhY2sxCitjeWJlcgorZGFpc2llCitkYXJrMQorZGF0YWJhc2UKK2RlYWRoZWFkCitk ZW5hbGkKK2RlcGVjaGUKK2RpY2tlbnMKK2VtbWl0dAorZW50cm9weQorZmFyb3V0CitmYXJzaWRl CitmZWVkYmFjaworZmlkZWwKK2ZpcmVuemUKK2Zpc2gxCitmbGV0Y2gKK2Zvb2wKK2ZvenppZQor ZnVuCitnYXJnb3lsZQorZ2FzbWFuCitnb2xkCitncmFwaGljCitoZWxsCitpbWFnZQoraW50ZXJu CitpbnRyZXBpZAoramVmZgoramtsMTIzCitqb2VsCitqb2hhbm5hMQora2lkZGVyCitraW0KK2tp bmcKK2tpcmsKK2tyaXMKK2xhbWJkYQorbGVvbgorbG9naWNhbAorbG9ycmllCittYWpvcgorbWFy aW5lcgorbWFyazEKK21heAorbWVkaWEKK21lcmxvdAorbWlkd2F5CittaW5lCittbW91c2UKK21v b24KK21vcGFyCittb3J0aW1lcgorbmVybWFsCituaW5hCitvbHNlbgorb3BlcmEKK292ZXJraWxs CitwYWNlcnMKK3BhY2tlcgorcGljYXJkCitwb2xhcgorcG9sbworcHJpbXVzCitwcm9tZXRoZXVz CitwdWJsaWMKK3JhZGlvCityYXN0YWZhcmlhbgorcmVwdGlsZQorcm9iCityb2JvdGVjaAorcm9k ZW8KK3JvbGV4Cityb3VnZQorcm95CitydWJ5CitzYWxhc2FuYQorc2NhcmVjcm93CitzY291dAor c2N1YmExCitzZXJnZXkKK3NraWJ1bQorc2t1bmsKK3NvdW5kCitzdGFydGVyCitzdGluZzEKK3N1 bmJpcmQKK3RiaXJkCit0ZWZsb24KK3RlbXBvcmFsCit0ZXJtaW5hbAordGhlCit0aGVqdWRnZQor dGltZQordG9ieQordG9kYXkKK3Rva3lvCit0cmVlCit0cm91dAordmFkZXIKK3ZhbAordmFsaGFs bGEKK3dpbmRzdXJmCit3b2xmCit3b2xmMQoreGNvdW50cnkKK3lvZGEKK3l1a29uCisxMjEzCisx MjE0CisxMjI1CisxMzEzCisxODE4CisxOTc1CisxOTc3CisxOTkxCisxa2l0dHkKKzIwMDEKKzIw MjAKKzIxMTIKKzJraWRzCiszMzMKKzQ0NDQKKzUwNTAKKzU3Y2hldnkKKzdkd2FyZnMKK0FuaW1h bHMKK0FyaWVsCitCaXNtaWxsYWgKK0Jvb2JvbworQm9zdG9uCitDYXJvbAorQ29tcHV0ZXIKK0Ny ZWF0aXZlCitDdXJ0aXMKK0RlbmlzZQorRWFnbGVzCitFc3RoZXIKK0Zpc2hpbmcKK0ZyZWRkeQor R2FuZGFsZgorR29sZGVuCitHb29iZXIKK0hhY2tlcgorSGFybGV5CitIZW5yeQorSGVyc2hleQor SmFja3NvbgorSmVyc2V5CitKb2FubmEKK0pvaG5zb24KK0thdGllCitLaXR0ZW4KK0xpYmVydHkK K0xpbmRzYXkKK0xpemFyZAorTWFkZWxpbmUKK01hcmdhcmV0CitNYXh3ZWxsCitNb25leQorTW9u c3RlcgorUGFtZWxhCitQZWFjaGVzCitQZXRlcgorUGhvZW5peAorUGlnbGV0CitQb29raWUKK1Jh YmJpdAorUmFpZGVycworUmFuZG9tCitSdXNzZWxsCitTYW1teQorU2F0dXJuCitTa2VldGVyCitT bW9rZXkKK1NwYXJreQorU3BlZWR5CitTdGVybGluZworVGhlcmVzYQorVGh1bmRlcgorVmluY2Vu dAorV2lsbG93CitXaW5uaWUKK1dvbHZlcmluZQorYWFhYQorYWFyZHZhcmsKK2FiYm90dAorYWN1 cmEKK2FkbWluCithZG1pbjEKK2Fkcm9jaworYWVyb2JpY3MKK2FnZW50CithaXJ3b2xmCithbGkK K2FsaWVuCithbGxlZ3JvCithbGxzdGF0ZQorYWx0YW1pcmEKK2FsdGltYTEKK2FuZHJldyEKK2Fu bgorYW5uZQorYW5uZWxpCithcHRpdmEKK2Fycm93Cithc2RmO2xragorYXNzbXVuY2gKK2JhcmFr YQorYmFybnlhcmQKK2JhcnQKK2JhcnRtYW4KK2JlYXN0eQorYmVhdmlzMQorYmViZQorYmVsZ2l1 bQorYmVvd3VsZgorYmVyeWwKK2Jlc3QKK2JoYXJhdAorYmljaG9uCitiaWdhbAorYmlrZXIKK2Jp bGJvCitiaWxscworYmltbWVyCitiaW9jaGVtCitiaXJkeQorYmxpbmRzCitibGl0egorYmx1ZWpl YW4KK2JvZ2V5Citib2d1cworYm91bGRlcgorYm91cmJvbgorYm94ZXIKK2JyYWluCiticmFuY2gK K2JyaXRhaW4KK2Jyb2tlcgorYnVja3MKK2J1ZmZldHQKK2J1Z3MKK2J1bGxzCitidXJucworYnV6 egorYzAwcGVyCitjYWxnYXJ5CitjYW1heQorY2FybAorY2F0CitjZW1lbnQKK2Nlc3NuYQorY2hh ZAorY2hhaW5zYXcKK2NoYW1lbGVvbgorY2hhbmcKK2NoZXNzCitjaGlub29rCitjaG91ZXR0ZQor Y2hyb25vcworY2ljZXJvCitjaXJjdWl0CitjaXJxdWUKK2NpcnJ1cworY2xhcHRvbgorY2xhcmtz b24KK2NsYXNzCitjbGF1ZGVsCitjbGVvCitjbGlmZgorY2xvY2sKK2NvbG9yCitjb21ldAorY29u Y2VwdAorY29uY29yZGUKK2Nvb2xiZWFuCitjb3JreQorY29ybmZsYWtlCitjb3J3aW4KK2Nvd3MK K2NyZXNjZW50Citjcm9zcworY3Jvd2xleQorY3RodWxodQorY3VudAorY3VycmVudAorY3V0bGFz cworZGFlZGFsdXMKK2RhZ2dlcjEKK2RhaWx5CitkYWxlCitkYW5hCitkYXl0ZWsKK2RlYWQKK2Rl Y2tlcgorZGhhcm1hCitkaWxsd2VlZAorZGlwcGVyCitkaXNjbworZGl4b24KK2RvaXRub3cKK2Rv b3JzCitkb3JrCitkb3VnCitkdXRjaAorZWZmaWUKK2VsbGEKK2Vsc2llCitlbmdhZ2UKK2VyaWMx Citlcm5pZTEKK2VzY29ydDEKK2V4Y2VsCitmYWN1bHR5CitmYWlydmlldworZmF1c3QKK2ZlbnJp cworZmluYW5jZQorZmlyc3QKK2Zpc2hoZWFkCitmbGFuZGVycworZmxldXJzCitmbHV0ZQorZmx5 Ym95CitmbHllcgorZnJhbmthCitmcmVkZXJpYworZnJlZQorZnJvbnQyNDIKK2Zyb250aWVyCitm dWdhemkKK2Z1bnRpbWUKK2dhYnkKK2dhZWxpYworZ2FtYmxlcgorZ2FtbWFwaGkKK2dhcmZ1bmtl bAorZ2FydGgKK2dhcnkKK2dhdGV3YXkyCitnYXRvcjEKK2dpYmJvbnMKK2dpZ2kKK2dpbGdhbWVz aAorZ29hdAorZ29kaXZhCitnb2V0aGUKK2dvZmlzaAorZ29vZAorZ3JhbXBzCitncmF2aXMKK2dy YXkKK2dyZWVkCitncmVnCitncmVnMQorZ3JldGEKK2dyZXR6a3kKK2d1aWRvCitndW1ieQoraDJv cG9sbworaGFtaWQKK2hhbmsKK2hhd2tleWUxCitoZWFsdGgxCitoZWxsbzgKK2hlbHAxMjMKK2hl bHBlcgoraG9tZXJqCitob29zaWVyCitob3BlCitodWFuZworaHVnbworaHlkcm9nZW4KK2liNnVi OQoraW5zaWdodAoraW5zdHJ1Y3RvcgoraW50ZWdyYWwKK2lvbWVnYQoraXJpcworaXp6eQoramF6 egoramVhbgoramVlcHN0ZXIKK2pldHRhMQoram9hbmllCitqb3NlZQoram95CitqdWxpYTIKK2p1 bWJvCitqdW1wCitqdXN0aWNlNAora2FsYW1hem9vCitrYWxpCitrYXQKK2thdGUKK2tlcmFsYQor a2lkcwora2l3aQora2xlZW5leAora29tYmF0CitsYW1lcgorbGFzZXIKK2xhc2VyamV0CitsYXNz aWUxCitsZWJsYW5jCitsZWdhbAorbGVvCitsaWZlCitsaW9ucworbGl6Citsb2dnZXIKK2xvZ29z Citsb2lzbGFuZQorbG9raQorbG9uZ2VyCitsb3JpCitsb3N0Citsb3R1cworbG91CittYWNoYQor bWFjcm9zcworbWFkb2thCittYWtlaXRzbworbWFsbGFyZAorbWFyYworbWF0aAorbWF0dGluZ2x5 CittZWNoYW5pYworbWVpc3RlcgorbWVyY2VyCittZXJkZQorbWVycmlsbAorbWljaGFsCittaWNo b3UKK21pY2tlbAorbWlub3UKK21vYnlkaWNrCittb2RlbQorbW9qbworbW9udGFuYTMKK21vbnRy b3NlCittb3RvcgorbW93Z2xpCittdWxkZXIxCittdXNjbGUKK25laWwKK25ldXRyaW5vCituZXdh Y2NvdW50CituaWNrbGF1cworbmlnaHRzaGFkZQorbmlnaHR3aW5nCituaWtlCitub25lMQorbm9w YXNzCitub3V2ZWF1Citub3ZlbGwKK29heGFjYQorb2Jpd2FuCitvYnNlc3Npb24KK29ydmlsbGUK K290dGVyCitvenp5CitwYWNrcmF0CitwYWludAorcGFwYQorcGFyYWRpZ20KK3Bhc3MKK3BhdmVs CitwZXRlcmsKK3BoaWFscGhhCitwaGlzaHkKK3BpYW5vMQorcGlhbm9tYW4KK3BpYW5vcworcGlw ZWxpbmUKK3BsYXRvCitwbGF5Citwb2V0aWMKK3ByaW50CitwcmludGluZworcHJvdmlkZXIKK3Fx cTExMQorcXVlYmVjCitxd2VyCityYWNlcgorcmFjZXJ4CityYWRhcgorcmFmaWtpCityYWxlaWdo CityYXN0YTEKK3JlZGNsb3VkCityZWRmaXNoCityZWR3aW5nCityZWR3b29kCityZWVkCityZW5l CityZXpub3IKK3JoaW5vCityaXBwbGUKK3JpdGEKK3JvYm9jb3AKK3JvYm90aWNzCityb2NoZQor cm9uaQorcm9zc2lnbm9sCitydWdnZXIKK3NhZmV0eTEKK3NhaWdvbgorc2F0b3JpCitzYXR1cm41 CitzY2huYXBwcworc2NvdGNoCitzY3ViYQorc2VjcmV0Mworc2Vla2VyCitzZXJ2aWNlcworc2V4 CitzaGFuZ2hhaQorc2hhemFtCitzaGVsdGVyCitzaWdtYWNoaQorc2lnbmFsCitzaWduYXR1cmUK K3NpbXNpbQorc2t5ZGl2ZQorc2xpY2sKK3NtZWdtYQorc21pdGhzCitzbXVyZnkKK3Nub3cKK3Nv YmVyMQorc29uaWNzCitzb255CitzcGF6egorc3BoeW54CitzcG9jaworc3Bvb24KK3Nwb3QKK3Nw cm9ja2V0CitzdGFyYnVjaworc3RlZWwKK3N0ZXBoaQorc3RpbmcKK3N0b2Nrcworc3RvcmFnZQor c3RyYXQKK3N0cmF0bworc3R1ZAorc3R1ZGVudDIKK3N1c2FubmEKK3N3YW5zb24KK3N3aW0KK3N3 aXR6ZXIKK3N5c3RlbTUKK3QtYm9uZQordGFsb24KK3RhcmhlZWwKK3RhdGEKK3RhemRldmlsCit0 ZXN0ZXIKK3Rlc3R0ZXN0Cit0aGlzaXNpdAordGhvcm5lCit0aWdodGVuZAordGltCit0b20KK3Rv b2wKK3RvdGFsCit0b3VjYW4KK3RyYW5zZmVyCit0cmFuc2l0Cit0cmFuc3BvcnQKK3RyYXBwZXIK K3RyYXNoCit0cm9waHkKK3R1Y3NvbgordHVyYm8yCit1bml0eQordXBzaWxvbgordmVkZGVyCit2 ZXR0ZQordmlrcmFtCit2aXJhZ28KK3Zpc3VhbAordm9sY2Fubword2FsZGVuCit3YWxkbword2Fs bGV5ZQord2VibWFzdGVyCit3ZWRnZQord2hhbGUxCit3aGl0Cit3aG92aWxsZQord2liYmxlCit3 aWxsCit3b21iYXQxCit3b3JkCit3b3JsZAoreC1maWxlcworeHh4MTIzCit6YWNrCit6ZXBwbGlu Cit6b2x0YW4KK3pvb21lcgorMTIzZ28KKzIxMTIyMTEyCis1NTU1Cis5MTEKK0Z1Y2tZb3UKK0Z1 Y2t5b3UKK0dpem1vCitIZWxsbworTWljaGVsCitRd2VydHkKK1dpbmRvd3MKK2FuZ3VzCithc3Bl bgorYXNzCitiaXJkCitib29zdGVyCitieXRlbWUKK2NhdHMKK2NoYW5nZWl0CitjaHJpc3RpYQor Y2hyaXN0b3BoCitjbGFzc3Jvb20KK2Nsb2NsbworY29ycmFkbworZGFzaGEKK2ZpY3Rpb24KK2Zy ZW5jaDEKK2Z1YmFyCitnYXRvcgorZ2lsbGVzCitnb2NvdWdzCitoaWxiZXJ0Citob2xhCitob21l CitqdWR5Citrb2tvCitsdWx1CittYWMKK21hY2ludG9zaAorbWFpbGVyCittYXJzCittZW93Citu ZTE0NjkKK25pa2kKK3BhdWwKK3BvbGl0aWNzCitwb21tZQorcHJvcGVydHkKK3J1dGgKK3NhbGVz CitzYWx1dAorc2Nyb29nZQorc2tpZG9vCitzcGFpbgorc3VyZgorc3lsdmllCitzeW1ib2wKK2Zv cnVtCityb3RpbWkKK2dvZAorc2F2ZWQKKzI1ODAKKzE5OTgKK3h4eAorMTkyOAorNzc3CitpbmZv CithCituZXR3YXJlCitzdW4KK3RlY2gKK2Rvb20KK21tbQorb25lCitwcHAKKzE5MTEKKzE5NDgK KzE5OTYKKzUyNTIKK0NoYW1wcworVHVlc2RheQorYmFjaAorY3JvdworZG9uCitkcmFmdAoraGFs OTAwMAoraGVyem9nCitodWV5CitqZXRocm90dWxsCitqdXNzaQorbWFpbAorbWlraQorbmljYXJh bworc25vd3NraQorMTMxNgorMTQxMgorMTQzMAorMTk1MgorMTk1MworMTk1NQorMTk1NgorMTk2 MAorMTk2NAorMXF3MjNlCisyMjAwCisyMjUyCiszMDEwCiszMTEyCis0Nzg4Cis2MjYyCitBbHBo YQorQmFzdGFyZAorQmVhdmlzCitDYXJkaW5hbAorQ2VsdGljcworQ291Z2FyCitEYXJrbWFuCitG aWdhcm8KK0ZvcnR1bmUKK0dlcm9uaW1vCitIYW1tZXIKK0hvbWVyCitKYW5ldAorTWVsbG9uCitN ZXJsb3QKK01ldGFsbGljCitNb250cmVhbAorTmV3dG9uCitQYWxhZGluCitQZWFudXRzCitTZXJ2 aWNlCitWZXJub24KK1dhdGVybG9vCitXZWJzdGVyCitha2kxMjMKK2FxdWEKK2F5bG1lcgorYmV0 YQorYm96bworY2FyCitjaGF0CitjaGluYWNhdAorY29yYQorY291cmllcgorZG9nYmVydAorZWll aW8KK2VsaW5hMQorZmx5CitmdW5ndXkKK2Z1enoKK2dnZW9yZ2UKK2dsaWRlcjEKK2dvbmUKK2hh d2sKK2hlaWtraQoraGlzdG9pcmUKK2h1Z2gKK2lmNndhczkKK2luZ3ZhcgoramFuCitqZWRpCitq aW1pCitqdWhhbmkKK2toYW4KK2xpbWEKK21pZHZhbGUKK25la28KK25lc2JpdAorbmV4dXM2Citu aXNzZQorbm90dGExCitwYW0KK3BhcmsKK3BvbGUKK3BvcGUKK3B5cm8KK3JhbQorcmVsaWFudAor cmV4CitydXNoCitzZW91bAorc2tpcAorc3Rhbgorc3VlCitzdXp5Cit0YWIKK3Rlc3RpCit0aGVs b3JheAordGlrYQordG50Cit0b3RvMQordHJlCit3aW5kCit4LW1lbgoreHl6Cit6eGMKKzM2OQor QWJjZGVmCitBc2RmZ2gKK0NoYW5nZW1lCitOQ0MxNzAxCitaeGN2Ym5tCitkZW1vCitkb29tMgor Z29vZC1sdWNrCitob21lYnJldworbTE5MTFhMQorbmF0CituZTE0MTBzCituZTE0YTY5Cit6aG9u Z2d1bworc2FtcGxlMTIzCiswODUyCitiYXNmCitPVTgxMgorIUAjJCUKK2luZm9ybWl4CittYWpv cmRvbW8KK25ld3MKK3RlbXAKK3RyZWsKKyFAIyQlXgorIUAjJCVeJioKK1BlbnRpdW0KK1JhaXN0 bGluCithZGkKK2JtdworbGF3CituZXcKK29wdXMKK3BsdXMKK3Zpc2EKK3d3dworenp6CisxMzMy CisxOTUwCiszMTQxCiszNTMzCis0MDU1Cis0ODU0Cis2MzAxCitCb256bworQ2hhbmdlTWUKK0Zy b250MjQyCitHcmV0ZWwKK01pY2hlbDEKK05vcmlrbworU2lkZWtpY2sKK1N2ZXJpZ2UKK1N3b29z aAorV29vZHJvdworYXllbGV0CitiYXJuCitiZXRhY2FtCitiaXoKK2JvYXQKK2N1ZGEKK2RvYwor aGFsCitoYWxsb3dlbGwKK2hhcm8KK2hvc2VoZWFkCitpbG1hcmkKK2lybWVsaQorajFsMnQzCitq ZXIKK2tjaW4KK2tlcnJ5YQora2lzc2EyCitsZWFmCitsaXNzYWJvbgorbWFydAorbWF0dGkxCitt ZWNoCittb3JlY2F0cworcGFhZ2FsCitwZXJmb3JtYQorcHJvZgorcmF0aW8KK3NoaXAKK3NsaXAK K3N0aXZlcnMKK3RhcGFuaQordGFyZ2FzCit0ZXN0MgordGVzdDMKK3R1bGEKK3VuaXgKK3VzZXIx Cit4YW50aAorIUAjJCVeJgorMTcwMWQKK0AjJCVeJgorUXdlcnQKK2FsbG8KK2RpcmsKK25ld2Nv dXJ0CituaXRlCitub3R1c2VkCitzc3MKCj09PSBtb2RpZmllZCBmaWxlICdzcWwvc2hhcmUvZXJy bXNnLXV0ZjgudHh0JwotLS0gYS9zcWwvc2hhcmUvZXJybXNnLXV0ZjgudHh0CTIwMTItMDUtMTEg MTA6MTU6MjggKzAwMDAKKysrIGIvc3FsL3NoYXJlL2Vycm1zZy11dGY4LnR4dAkyMDEyLTA1LTIx IDE0OjIyOjU2ICswMDAwCkBAIC02NzYzLDYgKzY3NjMsOCBAQCBFUl9DT0xfQ09VTlRfRE9FU05U X01BVENIX0NPUlJVUFRFRF9WMgogRVJfU0xBVkVfU0lMRU5UX1JFVFJZX1RSQU5TQUNUSU9OCiAg IGVuZyAiU2xhdmUgbXVzdCBzaWxlbnRseSByZXRyeSBjdXJyZW50IHRyYW5zYWN0aW9uIgogCitF Ul9OT1RfVkFMSURfUEFTU1dPUkQKKyAgZW5nICJZb3VyIHBhc3N3b3JkIGRvZXMgbm90IHNhdGlz ZnkgdGhlIGN1cnJlbnQgcG9saWN5IHJlcXVpcmVtZW50cyAiCiAjCiAjICBFbmQgb2YgNS42IGVy cm9yIG1lc3NhZ2VzLgogIwoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9zcWxfYWNsLmNjJwotLS0g YS9zcWwvc3FsX2FjbC5jYwkyMDEyLTA1LTE2IDExOjAzOjQzICswMDAwCisrKyBiL3NxbC9zcWxf YWNsLmNjCTIwMTItMDUtMjEgMTQ6MjI6NTYgKzAwMDAKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNs dWRlICJzcWxfY29ubmVjdC5oIgogI2luY2x1ZGUgImhvc3RuYW1lLmgiCiAjaW5jbHVkZSAic3Fs X2RiLmgiCisjaW5jbHVkZSA8bXlzcWwvcGx1Z2luX3ZhbGlkYXRlX3Bhc3N3b3JkLmg+CiAKIHVz aW5nIHN0ZDo6bWluOwogdXNpbmcgc3RkOjptYXg7CkBAIC0xODAsNiArMTgxLDEwIEBAIHN0YXRp YyBMRVhfU1RSSU5HIG9sZF9wYXNzd29yZF9wbHVnaW5fbmEKICAgQ19TVFJJTkdfV0lUSF9MRU4o Im15c3FsX29sZF9wYXNzd29yZCIpCiB9OwogICAKK3N0YXRpYyBMRVhfU1RSSU5HIHZhbGlkYXRl X3Bhc3N3b3JkX3BsdWdpbl9uYW1lPSB7CisgIENfU1RSSU5HX1dJVEhfTEVOKCJ2YWxpZGF0ZV9w YXNzd29yZCIpCit9OworCiAvLy8gQHRvZG8gbWFrZSBpdCBjb25maWd1cmFibGUKIExFWF9TVFJJ TkcgKmRlZmF1bHRfYXV0aF9wbHVnaW5fbmFtZT0gJm5hdGl2ZV9wYXNzd29yZF9wbHVnaW5fbmFt ZTsKIApAQCAtOTkyNCwzICs5OTI5LDQxIEBAIG15c3FsX2RlY2xhcmVfcGx1Z2luKG15c3FsX3Bh c3N3b3JkKQogfQogbXlzcWxfZGVjbGFyZV9wbHVnaW5fZW5kOwogCisvKiAgCisgUEFTU1dPUkRf VkFMSURBVElPTl9DT0RFLCBpbnZva2luZyBhcHByb3ByaWF0ZSBwbHVnaW4gdG8gdmFsaWRhdGUK KyB0aGUgcGFzc3dvcmQgc3RyZW5ndGguCisqLworCisvKiBmb3IgdmFsaWRhdGVfcGFzc3dvcmRf c3RyZW5ndGggU1FMIGZ1bmN0aW9uICovCitpbnQgY2hlY2tfcGFzc3dvcmRfc3RyZW5ndGgoU3Ry aW5nICpwYXNzd29yZCkKK3sKKyAgaW50IHJlcz0gMDsKKyAgcGx1Z2luX3JlZiBwbHVnaW49IG15 X3BsdWdpbl9sb2NrX2J5X25hbWUoMCwgJnZhbGlkYXRlX3Bhc3N3b3JkX3BsdWdpbl9uYW1lLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNWVNRTF9WQUxJREFU RV9QQVNTV09SRF9QTFVHSU4pOworICBpZiAocGx1Z2luKQorICB7CisgICAgc3RfbXlzcWxfdmFs aWRhdGVfcGFzc3dvcmQgKnBhc3N3b3JkX3N0cmVuZ3RoPQorICAgICAgICAgICAgICAgICAgICAg IChzdF9teXNxbF92YWxpZGF0ZV9wYXNzd29yZCAqKSBwbHVnaW5fZGVjbChwbHVnaW4pLT5pbmZv OworCisgICAgcmVzPSBwYXNzd29yZF9zdHJlbmd0aC0+Z2V0X3Bhc3N3b3JkX3N0cmVuZ3RoKHBh c3N3b3JkKTsKKyAgICBwbHVnaW5fdW5sb2NrKDAsIHBsdWdpbik7CisgIH0KKyAgcmV0dXJuKHJl cyk7Cit9CisKKy8qIGNhbGxlZCB3aGVuIG5ldyB1c2VyIGlzIGNyZWF0ZWQgb3IgZXhzaXN0aW5n IHBhc3N3b3JkIGlzIGNoYW5nZWQgKi8KK3ZvaWQgY2hlY2tfcGFzc3dvcmRfcG9saWN5KFN0cmlu ZyAqcGFzc3dvcmQpCit7CisgIHBsdWdpbl9yZWYgcGx1Z2luPSBteV9wbHVnaW5fbG9ja19ieV9u YW1lKDAsICZ2YWxpZGF0ZV9wYXNzd29yZF9wbHVnaW5fbmFtZSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTVlTUUxfVkFMSURBVEVfUEFTU1dPUkRfUExVR0lO KTsKKyAgaWYgKHBsdWdpbikKKyAgeworICAgIHN0X215c3FsX3ZhbGlkYXRlX3Bhc3N3b3JkICpw YXNzd29yZF92YWxpZGF0ZT0KKyAgICAgICAgICAgICAgICAgICAgICAoc3RfbXlzcWxfdmFsaWRh dGVfcGFzc3dvcmQgKikgcGx1Z2luX2RlY2wocGx1Z2luKS0+aW5mbzsKKworICAgIGlmICghcGFz c3dvcmRfdmFsaWRhdGUtPnZhbGlkYXRlX3Bhc3N3b3JkKHBhc3N3b3JkKSkKKyAgICAgIG15X2Vy cm9yKEVSX05PVF9WQUxJRF9QQVNTV09SRCwgTVlGKDApKTsKKworICAgIHBsdWdpbl91bmxvY2so MCwgcGx1Z2luKTsKKyAgfQorfQoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9zcWxfYWNsLmgnCi0t LSBhL3NxbC9zcWxfYWNsLmgJMjAxMi0wMy0wNiAxNDoyOTo0MiArMDAwMAorKysgYi9zcWwvc3Fs X2FjbC5oCTIwMTItMDUtMjEgMTQ6MjI6NTYgKzAwMDAKQEAgLTI1MSw3ICsyNTEsOCBAQCBpbnQg ZmlsbF9zY2hlbWFfc2NoZW1hX3ByaXZpbGVnZXMoVEhEICp0CiBpbnQgZmlsbF9zY2hlbWFfdGFi bGVfcHJpdmlsZWdlcyhUSEQgKnRoZCwgVEFCTEVfTElTVCAqdGFibGVzLCBJdGVtICpjb25kKTsK IGludCBmaWxsX3NjaGVtYV9jb2x1bW5fcHJpdmlsZWdlcyhUSEQgKnRoZCwgVEFCTEVfTElTVCAq dGFibGVzLCBJdGVtICpjb25kKTsKIGludCB3aWxkX2Nhc2VfY29tcGFyZShDSEFSU0VUX0lORk8g KmNzLCBjb25zdCBjaGFyICpzdHIsY29uc3QgY2hhciAqd2lsZHN0cik7Ci0KK2ludCBjaGVja19w YXNzd29yZF9zdHJlbmd0aChTdHJpbmcgKnBhc3N3b3JkKTsKK3ZvaWQgY2hlY2tfcGFzc3dvcmRf cG9saWN5KFN0cmluZyAqcGFzc3dvcmQpOwogI2lmZGVmIE5PX0VNQkVEREVEX0FDQ0VTU19DSEVD S1MKICNkZWZpbmUgY2hlY2tfZ3JhbnQoQSxCLEMsRCxFLEYpIDAKICNkZWZpbmUgY2hlY2tfZ3Jh bnRfZGIoQSxCKSAwCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL3NxbF9wbHVnaW4uY2MnCi0tLSBh L3NxbC9zcWxfcGx1Z2luLmNjCTIwMTItMDQtMTMgMTI6MDA6MzkgKzAwMDAKKysrIGIvc3FsL3Nx bF9wbHVnaW4uY2MJMjAxMi0wNS0yMSAxNDoyMjo1NiArMDAwMApAQCAtMzMsNiArMzMsNyBAQAog I2luY2x1ZGUgInNxbF9hdWRpdC5oIgogI2luY2x1ZGUgPG15c3FsL3BsdWdpbl9hdXRoLmg+CiAj aW5jbHVkZSAibG9jay5oIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBNWVNRTF9M T0NLX0lHTk9SRV9USU1FT1VUCisjaW5jbHVkZSA8bXlzcWwvcGx1Z2luX3ZhbGlkYXRlX3Bhc3N3 b3JkLmg+CiAKICNpbmNsdWRlIDxhbGdvcml0aG0+CiAKQEAgLTcyLDcgKzczLDggQEAgY29uc3Qg TEVYX1NUUklORyBwbHVnaW5fdHlwZV9uYW1lc1tNWVNRTAogICB7IENfU1RSSU5HX1dJVEhfTEVO KCJJTkZPUk1BVElPTiBTQ0hFTUEiKSB9LAogICB7IENfU1RSSU5HX1dJVEhfTEVOKCJBVURJVCIp IH0sCiAgIHsgQ19TVFJJTkdfV0lUSF9MRU4oIlJFUExJQ0FUSU9OIikgfSwKLSAgeyBDX1NUUklO R19XSVRIX0xFTigiQVVUSEVOVElDQVRJT04iKSB9CisgIHsgQ19TVFJJTkdfV0lUSF9MRU4oIkFV VEhFTlRJQ0FUSU9OIikgfSwKKyAgeyBDX1NUUklOR19XSVRIX0xFTigiVkFMSURBVEUgUEFTU1dP UkQiKSB9CiB9OwogCiBleHRlcm4gaW50IGluaXRpYWxpemVfc2NoZW1hX3RhYmxlKHN0X3BsdWdp bl9pbnQgKnBsdWdpbik7CkBAIC04OSwxMyArOTEsMTMgQEAgZXh0ZXJuIGludCBmaW5hbGl6ZV9h dWRpdF9wbHVnaW4oc3RfcGx1ZwogcGx1Z2luX3R5cGVfaW5pdCBwbHVnaW5fdHlwZV9pbml0aWFs aXplW01ZU1FMX01BWF9QTFVHSU5fVFlQRV9OVU1dPQogewogICAwLGhhX2luaXRpYWxpemVfaGFu ZGxlcnRvbiwwLDAsaW5pdGlhbGl6ZV9zY2hlbWFfdGFibGUsCi0gIGluaXRpYWxpemVfYXVkaXRf cGx1Z2luLDAsMAorICBpbml0aWFsaXplX2F1ZGl0X3BsdWdpbiwwLDAsMAogfTsKIAogcGx1Z2lu X3R5cGVfaW5pdCBwbHVnaW5fdHlwZV9kZWluaXRpYWxpemVbTVlTUUxfTUFYX1BMVUdJTl9UWVBF X05VTV09CiB7CiAgIDAsaGFfZmluYWxpemVfaGFuZGxlcnRvbiwwLDAsZmluYWxpemVfc2NoZW1h X3RhYmxlLAotICBmaW5hbGl6ZV9hdWRpdF9wbHVnaW4sMCwwCisgIGZpbmFsaXplX2F1ZGl0X3Bs dWdpbiwwLDAsMAogfTsKIAogI2lmZGVmIEhBVkVfRExPUEVOCkBAIC0xMjEsNyArMTIzLDggQEAg c3RhdGljIGludCBtaW5fcGx1Z2luX2luZm9faW50ZXJmYWNlX3ZlcgogICBNWVNRTF9JTkZPUk1B VElPTl9TQ0hFTUFfSU5URVJGQUNFX1ZFUlNJT04sCiAgIE1ZU1FMX0FVRElUX0lOVEVSRkFDRV9W RVJTSU9OLAogICBNWVNRTF9SRVBMSUNBVElPTl9JTlRFUkZBQ0VfVkVSU0lPTiwKLSAgTVlTUUxf QVVUSEVOVElDQVRJT05fSU5URVJGQUNFX1ZFUlNJT04KKyAgTVlTUUxfQVVUSEVOVElDQVRJT05f SU5URVJGQUNFX1ZFUlNJT04sCisgIE1ZU1FMX1ZBTElEQVRFX1BBU1NXT1JEX0lOVEVSRkFDRV9W RVJTSU9OCiB9Owogc3RhdGljIGludCBjdXJfcGx1Z2luX2luZm9faW50ZXJmYWNlX3ZlcnNpb25b TVlTUUxfTUFYX1BMVUdJTl9UWVBFX05VTV09CiB7CkBAIC0xMzIsNyArMTM1LDggQEAgc3RhdGlj IGludCBjdXJfcGx1Z2luX2luZm9faW50ZXJmYWNlX3ZlcgogICBNWVNRTF9JTkZPUk1BVElPTl9T Q0hFTUFfSU5URVJGQUNFX1ZFUlNJT04sCiAgIE1ZU1FMX0FVRElUX0lOVEVSRkFDRV9WRVJTSU9O LAogICBNWVNRTF9SRVBMSUNBVElPTl9JTlRFUkZBQ0VfVkVSU0lPTiwKLSAgTVlTUUxfQVVUSEVO VElDQVRJT05fSU5URVJGQUNFX1ZFUlNJT04KKyAgTVlTUUxfQVVUSEVOVElDQVRJT05fSU5URVJG QUNFX1ZFUlNJT04sCisgIE1ZU1FMX1ZBTElEQVRFX1BBU1NXT1JEX0lOVEVSRkFDRV9WRVJTSU9O CiB9OwogCiAvKiBzdXBwb3J0IGZvciBTZXJ2aWNlcyAqLwoKPT09IG1vZGlmaWVkIGZpbGUgJ3Nx bC9zcWxfcGx1Z2luX3NlcnZpY2VzLmgnCi0tLSBhL3NxbC9zcWxfcGx1Z2luX3NlcnZpY2VzLmgJ MjAxMS0wNi0zMCAxNTo1MDo0NSArMDAwMAorKysgYi9zcWwvc3FsX3BsdWdpbl9zZXJ2aWNlcy5o CTIwMTItMDUtMjEgMTQ6MjI6NTYgKzAwMDAKQEAgLTUwLDcgKzUwLDE3IEBAIHN0YXRpYyBzdHJ1 Y3QgbXlfcGx1Z2luX2xvZ19zZXJ2aWNlIG15X3AKICAgbXlfcGx1Z2luX2xvZ19tZXNzYWdlCiB9 OwogCi0KK3N0YXRpYyBzdHJ1Y3QgbXlzcWxfc3RyaW5nX3NlcnZpY2Vfc3QgbXlzcWxfc3RyaW5n X2hhbmRsZXI9IHsKKyAgbXlzcWxfc3RyaW5nX2NvbnZlcnRfdG9fY2hhcl9wdHIsCisgIG15c3Fs X3N0cmluZ19nZXRfaXRlcmF0b3IsCisgIG15c3FsX3N0cmluZ19pdGVyYXRvcl9uZXh0LAorICBt eXNxbF9zdHJpbmdfaXRlcmF0b3JfaXN1cHBlciwKKyAgbXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2lz bG93ZXIsCisgIG15c3FsX3N0cmluZ19pdGVyYXRvcl9pc2RpZ2l0LAorICBteXNxbF9zdHJpbmdf dG9fbG93ZXJjYXNlLAorICBteXNxbF9zdHJpbmdfZnJlZSwKKyAgbXlzcWxfc3RyaW5nX2l0ZXJh dG9yX2ZyZWUsCit9OwogCiBzdGF0aWMgc3RydWN0IHN0X3NlcnZpY2VfcmVmIGxpc3Rfb2Zfc2Vy dmljZXNbXT0KIHsKQEAgLTYwLDUgKzcwLDcgQEAgc3RhdGljIHN0cnVjdCBzdF9zZXJ2aWNlX3Jl ZiBsaXN0X29mX3NlcgogICB7ICJteV90aHJlYWRfc2NoZWR1bGVyX3NlcnZpY2UiLAogICAgIFZF UlNJT05fbXlfdGhyZWFkX3NjaGVkdWxlciwgJm15X3RocmVhZF9zY2hlZHVsZXJfaGFuZGxlciB9 LAogICB7ICJteV9wbHVnaW5fbG9nX3NlcnZpY2UiLCBWRVJTSU9OX215X3BsdWdpbl9sb2csICZt eV9wbHVnaW5fbG9nX2hhbmRsZXIgfSwKKyAgeyAibXlzcWxfc3RyaW5nX3NlcnZpY2UiLAorICAg IFZFUlNJT05fbXlzcWxfc3RyaW5nLCAmbXlzcWxfc3RyaW5nX2hhbmRsZXIgfSwKIH07CiAKCj09 PSBtb2RpZmllZCBmaWxlICdzcWwvc3FsX3lhY2MueXknCi0tLSBhL3NxbC9zcWxfeWFjYy55eQky MDEyLTA1LTE4IDExOjA2OjAwICswMDAwCisrKyBiL3NxbC9zcWxfeWFjYy55eQkyMDEyLTA1LTIx IDE0OjIyOjU2ICswMDAwCkBAIC0xNTE2NSw2ICsxNTE2NSw5IEBAIGdyYW50X3VzZXI6CiAgICAg ICAgICAgICAkJD0kMTsgJDEtPnBhc3N3b3JkPSQ0OwogICAgICAgICAgICAgaWYgKExleC0+c3Fs X2NvbW1hbmQgPT0gU1FMQ09NX1JFVk9LRSkKICAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsK KyAgICAgICAgICAgIFN0cmluZyAqcGFzc3dvcmQgPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgU3Ry aW5nKChjb25zdCBjaGFyKikkNC5zdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBZWVRIRC0+dmFyaWFibGVzLmNoYXJhY3Rlcl9zZXRfY2xpZW50KTsKKyAgICAgICAgICAg IGNoZWNrX3Bhc3N3b3JkX3BvbGljeShwYXNzd29yZCk7CiAgICAgICAgICAgICBpZiAoJDQubGVu Z3RoKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICBpZiAoWVlUSEQtPnZhcmlhYmxlcy5v bGRfcGFzc3dvcmRzKQoKPT09IGFkZGVkIGZpbGUgJ3NxbC9zdHJpbmdfc2VydmljZS5jYycKLS0t IGEvc3FsL3N0cmluZ19zZXJ2aWNlLmNjCTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAwMDAKKysrIGIv c3FsL3N0cmluZ19zZXJ2aWNlLmNjCTIwMTItMDUtMjEgMTQ6MjI6NTYgKzAwMDAKQEAgLTAsMCAr MSwxNTYgQEAKKy8qIENvcHlyaWdodCDCqSAyMDEyLCBPcmFjbGUgYW5kL29yIGl0cyBhZmZpbGlh dGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorCisgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0 d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICAgaXQgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg YnkKKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMiBvZiB0aGUgTGlj ZW5zZS4KKworICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICAgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgWW91IHNob3VsZCBoYXZlIHJlY2Vp dmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgIGFsb25nIHdp dGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgICBG b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEg MDIxMTAtMTMwMSAgVVNBICovCisKKworLyogIAorICBUaGlzIGZpbGUgcHJvdmlkZSBteXNxbF9z dHJpbmcgc2VydmljZSB0byBwbHVnaW5zLgorICBvcGVyYXRpb25zIG9uIG15c3FsX3N0cmluZyBj YW4gYmUgcGVyZm9ybWVkIGJ5IHBsdWdpbnMgdmlhIHRoZXNlIHNlcnZpY2UKKyAgZnVuY3Rpb25z LgorKi8KKworI2luY2x1ZGUgPG15X3N5cy5oPgorI2luY2x1ZGUgInN0cmluZ19zZXJ2aWNlLmgi CisvKiAgCisgIFRoaXMgc2VydmljZSBmdW5jdGlvbiBjb252ZXJ0cyB0aGUgbXlzcWxfc3RyaW5n IHRvIHRoZSBjaGFyYWN0ZXIgc2V0CisgIHNwZWNpZmllZCBieSBjaGFyc2V0X25hbWUgcGFyYW1l dGVyLgorKi8KK2V4dGVybiAiQyIKK2ludCBteXNxbF9zdHJpbmdfY29udmVydF90b19jaGFyX3B0 cihteXNxbF9zdHJpbmdfaGFuZGxlIHN0cmluZ19oYW5kbGUsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqY2hhcnNldF9uYW1lLCBjaGFyICpidWZmZXIs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICplcnJvcikKK3sKKyAg U3RyaW5nICpzdHI9IChTdHJpbmcgKikgc3RyaW5nX2hhbmRsZTsKKyAgaW50IGxlbj0gKGludClt eV9jb252ZXJ0KGJ1ZmZlciwgMTAwLCAmbXlfY2hhcnNldF91dGY4X2dlbmVyYWxfY2ksIHN0ci0+ cHRyKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHItPmxlbmd0aCgpLCBzdHItPmNo YXJzZXQoKSwgKHVpbnQqKSBlcnJvcik7CisgIHJldHVybiAobGVuKTsKK30KKworLyogIAorICBU aGlzIHNlcnZpY2UgZnVuY3Rpb24gZGVhbGxvY2F0ZXMgdGhlIG15c3FsX3N0cmluZ19oYW5kbGUg YWxsb2NhdGVkIG9uCisgIHNlcnZlciBhbmQgdXNlZCBpbiBwbHVnaW5zLgorKi8KK2V4dGVybiAi QyIKK3ZvaWQgbXlzcWxfc3RyaW5nX2ZyZWUobXlzcWxfc3RyaW5nX2hhbmRsZSBzdHJpbmdfaGFu ZGxlKQoreworICBteV9mcmVlKChTdHJpbmcgKikgc3RyaW5nX2hhbmRsZSk7Cit9CisKKy8qICAK KyAgVGhpcyBzZXJ2aWNlIGZ1bmN0aW9uIGRlYWxsb2NhdGVzIHRoZSBteXNxbF9zdHJpbmdfaXRl cmF0b3JfaGFuZGxlCisgIGFsbG9jYXRlZCBvbiBzZXJ2ZXIgYW5kIHVzZWQgaW4gcGx1Z2lucy4K KyovCitleHRlcm4gIkMiCit2b2lkIG15c3FsX3N0cmluZ19pdGVyYXRvcl9mcmVlKG15c3FsX3N0 cmluZ19pdGVyYXRvcl9oYW5kbGUgaXRlcmF0b3JfaGFuZGxlKQoreworICBteV9mcmVlKChzdHJp bmdfaXRlcmF0b3IgKikgaXRlcmF0b3JfaGFuZGxlKTsKK30KKworLyogVGhpcyBzZXJ2aWNlIGZ1 bmN0aW9uIGFsbG9jYXRlIG15c3FsX3N0cmluZ19pdGVyYXRvcl9oYW5kbGUgYW5kIHJldHVybiBp dCAqLworZXh0ZXJuICJDIgorbXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2hhbmRsZSBteXNxbF9zdHJp bmdfZ2V0X2l0ZXJhdG9yKG15c3FsX3N0cmluZ19oYW5kbGUKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmdfaGFuZGxlKQoreworICBT dHJpbmcgKnN0cj0gKFN0cmluZyAqKSBzdHJpbmdfaGFuZGxlOworICBzdHJpbmdfaXRlcmF0b3Ig Kml0ZXJhdG9yPSAoc3RyaW5nX2l0ZXJhdG9yICopIG15X21hbGxvYyhzaXplb2YKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nX2l0ZXJhdG9y ICopLCBNWUYoMCkpOworICBpdGVyYXRvci0+aXRlcmF0b3Jfc3RyPSBzdHI7CisgIGl0ZXJhdG9y LT5pdGVyYXRvcl9wdHI9IHN0ci0+cHRyKCk7CisgIGl0ZXJhdG9yLT5jdHlwZT0gMDsKKyAgcmV0 dXJuIChpdGVyYXRvcik7Cit9CisKKy8qIFByb3ZpZGUgc2VydmljZSB3aGljaCByZXR1cm5zIHRo ZSBuZXh0IG15c3FsX3N0cmluZ19pdGVyYXRvcl9oYW5kbGUgKi8KK2V4dGVybiAiQyIKK2ludCBt eXNxbF9zdHJpbmdfaXRlcmF0b3JfbmV4dChteXNxbF9zdHJpbmdfaXRlcmF0b3JfaGFuZGxlIGl0 ZXJhdG9yX2hhbmRsZSkKK3sKKyAgaW50IGNoYXJfbGVuLCBjaGFyX3R5cGU7CisgIHN0cmluZ19p dGVyYXRvciAqaXRlcmF0b3I9IChzdHJpbmdfaXRlcmF0b3IgKikgaXRlcmF0b3JfaGFuZGxlOwor ICBTdHJpbmcgKnN0cj0gaXRlcmF0b3ItPml0ZXJhdG9yX3N0cjsKKyAgY29uc3QgQ0hBUlNFVF9J TkZPICpjcz0gc3RyLT5jaGFyc2V0KCk7CisgIGNoYXIgKmVuZD0gKGNoYXIqKSBzdHItPnB0cigp ICsgc3RyLT5sZW5ndGgoKTsKKyAgaWYgKGl0ZXJhdG9yLT5pdGVyYXRvcl9wdHIgPT0gKGNvbnN0 IGNoYXIqKSBlbmQpCisgICAgcmV0dXJuICgwKTsKKyAgY2hhcl9sZW49IChjcy0+Y3NldC0+Y3R5 cGUoY3MsICZjaGFyX3R5cGUsICh1Y2hhciopIGl0ZXJhdG9yLT5pdGVyYXRvcl9wdHIsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICh1Y2hhciopIGVuZCkpOworICBpdGVyYXRvci0+Y3R5 cGU9IGNoYXJfdHlwZTsKKyAgaXRlcmF0b3ItPml0ZXJhdG9yX3B0cis9IChjaGFyX2xlbiA+IDAg PyBjaGFyX2xlbiA6IChjaGFyX2xlbiA8IDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA/IC1jaGFyX2xlbiA6IDEpKTsKKyAgcmV0dXJuICgx KTsKK30KKworLyogIAorICBQcm92aWRlIHNlcnZpY2Ugd2hpY2ggY2FsY3VsYXRlIHdlYXRoZXIg dGhlIGN1cnJlbnQgaXRlcmF0b3JfcHRyIHBvaW50cyB0bworICB1cHBlciBjYXNlIGNoYXJhY3Rl ciBvciBub3QKKyovCitleHRlcm4gIkMiCitpbnQgbXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2lzdXBw ZXIobXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2hhbmRsZSBpdGVyYXRvcl9oYW5kbGUpCit7CisgIHN0 cmluZ19pdGVyYXRvciAqaXRlcmF0b3I9IChzdHJpbmdfaXRlcmF0b3IgKikgaXRlcmF0b3JfaGFu ZGxlOworICByZXR1cm4gKGl0ZXJhdG9yLT5jdHlwZSAmIF9NWV9VKTsKK30KKworLyogIAorICBQ cm92aWRlIHNlcnZpY2Ugd2hpY2ggY2FsY3VsYXRlIHdlYXRoZXIgdGhlIGN1cnJlbnQgaXRlcmF0 b3JfcHRyIHBvaW50cyB0bworICBsb3dlciBjYXNlIGNoYXJhY3RlciBvciBub3QKKyovCitleHRl cm4gIkMiCitpbnQgbXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2lzbG93ZXIobXlzcWxfc3RyaW5nX2l0 ZXJhdG9yX2hhbmRsZSBpdGVyYXRvcl9oYW5kbGUpCit7CisgIHN0cmluZ19pdGVyYXRvciAqaXRl cmF0b3I9IChzdHJpbmdfaXRlcmF0b3IgKikgaXRlcmF0b3JfaGFuZGxlOworICByZXR1cm4gKGl0 ZXJhdG9yLT5jdHlwZSAmIF9NWV9MKTsKK30KKworLyogIAorICBQcm92aWRlIHNlcnZpY2Ugd2hp Y2ggY2FsY3VsYXRlIHdlYXRoZXIgdGhlIGN1cnJlbnQgaXRlcmF0b3JfcHRyIHBvaW50cyB0bwor ICBkaWdpdCBvciBub3QKKyovCitleHRlcm4gIkMiCitpbnQgbXlzcWxfc3RyaW5nX2l0ZXJhdG9y X2lzZGlnaXQobXlzcWxfc3RyaW5nX2l0ZXJhdG9yX2hhbmRsZSBpdGVyYXRvcl9oYW5kbGUpCit7 CisgIHN0cmluZ19pdGVyYXRvciAqaXRlcmF0b3I9IChzdHJpbmdfaXRlcmF0b3IgKikgaXRlcmF0 b3JfaGFuZGxlOworICByZXR1cm4gKGl0ZXJhdG9yLT5jdHlwZSAmIF9NWV9OTVIpOworfQorCisv KiAgCisgIFRoaXMgZnVuY3Rpb24gcHJvdmlkZSBwbHVnaW4gc2VydmljZSB0byBjb252ZXJ0IGEg U3RyaW5nIHBvaW50ZWQgYnkgaGFuZGxlIHRvCisgIGxvd2VyIGNhc2UuIENvbnZlcnNpb24gZGVw ZW5kcyBvbiB0aGUgY2xpZW50IGNoYXJhY3RlciBzZXQgaW5mbworKi8KK2V4dGVybiAiQyIKK215 c3FsX3N0cmluZ19oYW5kbGUgbXlzcWxfc3RyaW5nX3RvX2xvd2VyY2FzZShteXNxbF9zdHJpbmdf aGFuZGxlIHN0cmluZ19oYW5kbGUpCit7CisgIFN0cmluZyAqc3RyPSAoU3RyaW5nICopIHN0cmlu Z19oYW5kbGU7CisgIFN0cmluZyAqcmVzOworICBjb25zdCBDSEFSU0VUX0lORk8gKmNzPSBzdHIt PmNoYXJzZXQoKTsKKworICBpZiAoY3MtPmNhc2Vkbl9tdWx0aXBseSA9PSAxKQorICB7CisgICAg dWludCBsZW47CisgICAgbGVuPSBjcy0+Y3NldC0+Y2FzZWRuKGNzLCAoY2hhciopIHN0ci0+cHRy KCksIHN0ci0+bGVuZ3RoKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFyKikgc3Ry LT5wdHIoKSwgc3RyLT5sZW5ndGgoKSk7CisgICAgc3RyLT5sZW5ndGgobGVuKTsKKyAgICByZXM9 IHN0cjsKKyAgfQorICBlbHNlCisgIHsKKyAgICB1aW50IGxlbj0gc3RyLT5sZW5ndGgoKSAqIGNz LT5jYXNlZG5fbXVsdGlwbHk7CisgICAgdGVtcF9zdHIuYWxsb2MobGVuKTsKKyAgICB0ZW1wX3N0 ci5zZXRfY2hhcnNldChjcyk7CisgICAgbGVuPSBjcy0+Y3NldC0+Y2FzZWRuKGNzLCAoY2hhciop IHN0ci0+cHRyKCksIHN0ci0+bGVuZ3RoKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgIChj aGFyKikgdGVtcF9zdHIucHRyKCksIGxlbik7CisgICAgdGVtcF9zdHIubGVuZ3RoKGxlbik7Cisg ICAgcmVzPSAmdGVtcF9zdHI7CisgIH0KKyAgcmV0dXJuIChyZXMpOworfQoKPT09IGFkZGVkIGZp bGUgJ3NxbC9zdHJpbmdfc2VydmljZS5oJwotLS0gYS9zcWwvc3RyaW5nX3NlcnZpY2UuaAkxOTcw LTAxLTAxIDAwOjAwOjAwICswMDAwCisrKyBiL3NxbC9zdHJpbmdfc2VydmljZS5oCTIwMTItMDUt MjEgMTQ6MjI6NTYgKzAwMDAKQEAgLTAsMCArMSwzMSBAQAorLyogQ29weXJpZ2h0IMKpIDIwMTIs IE9yYWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisKKyAg IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IgbW9kaWZ5CisgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbjsgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLgorCisgICBUaGlzIHByb2dyYW0gaXMgZGlz dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgIGJ1dCBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg ICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT ZWUgdGhlCisgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor CisgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZQorICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUg dG8gdGhlIEZyZWUgU29mdHdhcmUKKyAgIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0 LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxICBVU0EgKi8KKworI2lmbmRlZiBN WV9TVFJJTkdfU0VSVklDRV9JTkNMVURFRAorI2RlZmluZSBNWV9TVFJJTkdfU0VSVklDRV9JTkNM VURFRAorCisjaW5jbHVkZSAic3FsX3N0cmluZy5oIgorCitTdHJpbmcgdGVtcF9zdHI7CisKKy8q IG15c3FsX3N0cmluZ19pdHJlcmF0b3Igc3RydWN0dXJlIHRvIHByb3ZpZGUgc2VydmljZSB0byBw bHVnaW5zICovCitzdHJ1Y3Qgc3RyaW5nX2l0ZXJhdG9yCit7CisgIFN0cmluZyAqaXRlcmF0b3Jf c3RyOworICBjb25zdCBjaGFyICppdGVyYXRvcl9wdHI7CisgIGludCBjdHlwZTsKK307CisKKyNl bmRpZiAvKiBNWV9TVFJJTkdfU0VSVklDRV9JTkNMVURFRCAqLwoKPT09IG1vZGlmaWVkIGZpbGUg J3N1cHBvcnQtZmlsZXMvQ01ha2VMaXN0cy50eHQnCi0tLSBhL3N1cHBvcnQtZmlsZXMvQ01ha2VM aXN0cy50eHQJMjAxMi0wMy0yMyAxMDozMjozMyArMDAwMAorKysgYi9zdXBwb3J0LWZpbGVzL0NN YWtlTGlzdHMudHh0CTIwMTItMDUtMjEgMTQ6MjI6NTYgKzAwMDAKQEAgLTMyLDYgKzMyLDggQEAg RUxTRSgpCiAgIFNFVChIT1NUTkFNRSAiaG9zdG5hbWUiKQogRU5ESUYoKQogCisgIFNFVChkaWN0 aW9uYXJ5ICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS8ke0lOU1RBTExfU0hBUkVESVJ9L2RpY3Rp b25hcnkudHh0IiApCisKICMgWFhYOiBzaG91bGRuJ3Qgd2UganVzdCBoYXZlIHZhcmlhYmxlcyBm b3IgYWxsIHRoaXMgc3R1ZmYgYW5kIGNlbnRyYWxpc2UKICMgWFhYOiB0aGVpciBjb25maWd1cmF0 aW9uIGluIGluc3RhbGxfbGF5b3V0LmNtYWtlPwogSUYoV0lOMzIpCgo9PT0gbW9kaWZpZWQgZmls ZSAnc3VwcG9ydC1maWxlcy9teS1odWdlLmNuZi5zaCcKLS0tIGEvc3VwcG9ydC1maWxlcy9teS1o dWdlLmNuZi5zaAkyMDEwLTExLTE5IDEzOjU2OjA4ICswMDAwCisrKyBiL3N1cHBvcnQtZmlsZXMv bXktaHVnZS5jbmYuc2gJMjAxMi0wNS0yMSAxNDoyMjo1NiArMDAwMApAQCAtMTI3LDYgKzEyNyw5 IEBAIHNlcnZlci1pZAk9IDEKICNpbm5vZGJfZmx1c2hfbG9nX2F0X3RyeF9jb21taXQgPSAxCiAj aW5ub2RiX2xvY2tfd2FpdF90aW1lb3V0ID0gNTAKIAorIyBkaWN0aW9uYXJ5IGZpbGUgZm9yIHZh bGlkYXRlX3Bhc3N3b3JkIHBsdWdpbgorbG9vc2UtdmFsaWRhdGVfcGFzc3dvcmRfZGljdGlvbmFy eV9maWxlID0gQGRpY3Rpb25hcnlACisKIFtteXNxbGR1bXBdCiBxdWljawogbWF4X2FsbG93ZWRf cGFja2V0ID0gMTZNCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3VwcG9ydC1maWxlcy9teS1sYXJnZS5j bmYuc2gnCi0tLSBhL3N1cHBvcnQtZmlsZXMvbXktbGFyZ2UuY25mLnNoCTIwMTAtMTEtMTkgMTM6 NTY6MDggKzAwMDAKKysrIGIvc3VwcG9ydC1maWxlcy9teS1sYXJnZS5jbmYuc2gJMjAxMi0wNS0y MSAxNDoyMjo1NiArMDAwMApAQCAtMTI3LDYgKzEyNyw5IEBAIHNlcnZlci1pZAk9IDEKICNpbm5v ZGJfZmx1c2hfbG9nX2F0X3RyeF9jb21taXQgPSAxCiAjaW5ub2RiX2xvY2tfd2FpdF90aW1lb3V0 ID0gNTAKIAorIyBkaWN0aW9uYXJ5IGZpbGUgZm9yIHZhbGlkYXRlX3Bhc3N3b3JkIHBsdWdpbgor bG9vc2UtdmFsaWRhdGVfcGFzc3dvcmRfZGljdGlvbmFyeV9maWxlID0gQGRpY3Rpb25hcnlACisK IFtteXNxbGR1bXBdCiBxdWljawogbWF4X2FsbG93ZWRfcGFja2V0ID0gMTZNCgo9PT0gbW9kaWZp ZWQgZmlsZSAnc3VwcG9ydC1maWxlcy9teS1tZWRpdW0uY25mLnNoJwotLS0gYS9zdXBwb3J0LWZp bGVzL215LW1lZGl1bS5jbmYuc2gJMjAxMC0xMS0xOSAxMzo1NjowOCArMDAwMAorKysgYi9zdXBw b3J0LWZpbGVzL215LW1lZGl1bS5jbmYuc2gJMjAxMi0wNS0yMSAxNDoyMjo1NiArMDAwMApAQCAt MTI1LDYgKzEyNSw5IEBAIHNlcnZlci1pZAk9IDEKICNpbm5vZGJfZmx1c2hfbG9nX2F0X3RyeF9j b21taXQgPSAxCiAjaW5ub2RiX2xvY2tfd2FpdF90aW1lb3V0ID0gNTAKIAorIyBkaWN0aW9uYXJ5 IGZpbGUgZm9yIHZhbGlkYXRlX3Bhc3N3b3JkIHBsdWdpbgorbG9vc2UtdmFsaWRhdGVfcGFzc3dv cmRfZGljdGlvbmFyeV9maWxlID0gQGRpY3Rpb25hcnlACisKIFtteXNxbGR1bXBdCiBxdWljawog bWF4X2FsbG93ZWRfcGFja2V0ID0gMTZNCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3VwcG9ydC1maWxl cy9teS1zbWFsbC5jbmYuc2gnCi0tLSBhL3N1cHBvcnQtZmlsZXMvbXktc21hbGwuY25mLnNoCTIw MTAtMTEtMTkgMTM6NTk6NDUgKzAwMDAKKysrIGIvc3VwcG9ydC1maWxlcy9teS1zbWFsbC5jbmYu c2gJMjAxMi0wNS0yMSAxNDoyMjo1NiArMDAwMApAQCAtNzIsNiArNzIsOSBAQCBzZXJ2ZXItaWQJ PSAxCiAjaW5ub2RiX2ZsdXNoX2xvZ19hdF90cnhfY29tbWl0ID0gMQogI2lubm9kYl9sb2NrX3dh aXRfdGltZW91dCA9IDUwCiAKKyMgZGljdGlvbmFyeSBmaWxlIGZvciB2YWxpZGF0ZV9wYXNzd29y ZCBwbHVnaW4KK2xvb3NlLXZhbGlkYXRlX3Bhc3N3b3JkX2RpY3Rpb25hcnlfZmlsZSA9IEBkaWN0 aW9uYXJ5QAorCiBbbXlzcWxkdW1wXQogcXVpY2sKIG1heF9hbGxvd2VkX3BhY2tldCA9IDE2TQoK Tm8gYnVuZGxlIChyZWFzb246IHVzZWxlc3MgZm9yIHB1c2ggZW1haWxzKS4=