Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1os2M6-00085Y-Dt for pgsql-hackers@arkaria.postgresql.org; Mon, 07 Nov 2022 13:40:02 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1os2M5-0003kN-9v for pgsql-hackers@arkaria.postgresql.org; Mon, 07 Nov 2022 13:40:01 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1os2M4-0003kE-Q1 for pgsql-hackers@lists.postgresql.org; Mon, 07 Nov 2022 13:40:00 +0000 Received: from mail-ot1-x32b.google.com ([2607:f8b0:4864:20::32b]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1os2Lz-0004lt-JM for pgsql-hackers@lists.postgresql.org; Mon, 07 Nov 2022 13:40:00 +0000 Received: by mail-ot1-x32b.google.com with SMTP id j25-20020a056830015900b0066ca2cd96daso2988206otp.10 for ; Mon, 07 Nov 2022 05:39:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=+bH0lggmGdTDPe4mBYrq7FqXmcB55l69kuokIe2/qqo=; b=QR+grEtC1ChNqMfnFlxcqB62xiQMwl/xOr96tEmcEWxvgnSPnV/uNiCz9/J0A6ASaG 15Xkdk2OlqIdEJW6PG+5cPD05/ztMjO6IKjq/haQR3N2yMNz1/txE2Gv7JqxvEXL06ag he/Bn37k+YwjW/Lj96+JZatlEPdfWOQe86aDCoW/1MaO1QDRZvFATZQgg0NTyL0CipyF UZkHJx61bEA16eMd0VdJDDLaQ8TG/2/odifIj0Nvk+VT7tVnNasHAR1rioFf5oV1+hH6 yCZ2laYutwRBff6gv6dkpO2QPZeQpJn+zvGBtFbKU9iUEFqzft/x6WpYyo7avDHmF4FG azjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=+bH0lggmGdTDPe4mBYrq7FqXmcB55l69kuokIe2/qqo=; b=kMRtLc2tLPz2fiTJbfFdOmKHRhySxGj9eGRt9Zg64HX1iuo+p28NWu0qxgm1NQ78tC xMmbdoOa5EvMNESPDT89vC9cvqr2FkHgTz766ZzPIdFEVN3FLpNqPgezH+EWz0b9VO6F WRW0atrGgSMk6pjA3KxIMACTV0v4OwSQDv9cRbD8TQ9gESUqMP40n7w67I59itIJfiKT x7xxH0hfcV7p4lPv13UxxR+t5nYDsaRvi9bzHdfdEDsXnpkobx/Rbh6p7NCytcPgEbu2 dtoB6b1+Kh73SKFi+AQIGhwCpo3QW4YHQjzEq4I8IIX42kLiXomG0Z8blzOY3gjyK/hm +/nA== X-Gm-Message-State: ANoB5pkiduh6rPJzg9tUeVzhUSCNR03KyVMpDSHcnyieWZvM4m4Ivr9U kpV5XwenJrYj2rTKptQpelRzt9zDxhe7Cj3IVW4= X-Google-Smtp-Source: AA0mqf7ZsLjMSnUYaTKuWo5SP9MtTQpippO+CRs8GK5Mz/pdr0EWBfA2sscgWDeg2AaDgk3z0Epr2TYrbF16weLLpKQ= X-Received: by 2002:a05:6830:2aa0:b0:66d:40d:3fa6 with SMTP id s32-20020a0568302aa000b0066d040d3fa6mr993268otu.167.1667828393919; Mon, 07 Nov 2022 05:39:53 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: vignesh C Date: Mon, 7 Nov 2022 19:09:41 +0530 Message-ID: Subject: Re: Skipping schema changes in publication To: Ian Lawrence Barwick Cc: "osumi.takamichi@fujitsu.com" , Peter Smith , Amit Kapila , Bharath Rupireddy , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000f7e01105ece18e44" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000f7e01105ece18e44 Content-Type: text/plain; charset="UTF-8" On Fri, 4 Nov 2022 at 08:19, Ian Lawrence Barwick wrote: > > Hi > > cfbot reports the patch no longer applies [1]. As CommitFest 2022-11 is > currently underway, this would be an excellent time to update the patch. > > [1] http://cfbot.cputube.org/patch_40_3646.log Here is an updated patch which is rebased on top of HEAD. Regards, Vignesh --000000000000f7e01105ece18e44 Content-Type: text/x-patch; charset="US-ASCII"; name="v9-0001-Add-RESET-clause-to-Alter-Publication-which-will-.patch" Content-Disposition: attachment; filename="v9-0001-Add-RESET-clause-to-Alter-Publication-which-will-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_la6t5y8p0 RnJvbSAyMmQxN2JkOGVlYjJjMzU4NzBiODBjYmM0MWMyM2U4OWUyYzhmOTgxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaWduZXNoIEMgPHZpZ25lc2gyMUBnbWFpbC5jb20+CkRhdGU6 IFN1biwgNiBOb3YgMjAyMiAwNjozNDo0NCArMDUzMApTdWJqZWN0OiBbUEFUQ0ggdjkgMS8yXSBB ZGQgUkVTRVQgY2xhdXNlIHRvIEFsdGVyIFB1YmxpY2F0aW9uIHdoaWNoIHdpbGwgcmVzZXQKIHRo ZSBwdWJsaWNhdGlvbiB3aXRoIGRlZmF1bHQgdmFsdWVzLgoKVGhpcyBwYXRjaCBhZGRzIGEgbmV3 IFJFU0VUIGNsYXVzZSB0byBBTFRFUiBQVUJMSUNBVElPTiB3aGljaCB3aWxsIHJlc2V0CnRoZSBw dWJsaWNhdGlvbiB0byB0aGUgZGVmYXVsdCBzdGF0ZSB3aGljaCBpbmNsdWRlcyByZXNldHRpbmcg dGhlIHB1YmxpY2F0aW9uCnBhcmFtZXRlcnMsIHNldHRpbmcgQUxMIFRBQkxFUyBmbGFnIHRvIGZh bHNlIGFuZCBkcm9wcGluZyB0aGUgcmVsYXRpb25zIGFuZApzY2hlbWFzIHRoYXQgYXJlIGFzc29j aWF0ZWQgd2l0aCB0aGUgcHVibGljYXRpb24uClVzYWdlOgpBTFRFUiBQVUJMSUNBVElPTiBwdWIx IFJFU0VUOwotLS0KIGRvYy9zcmMvc2dtbC9yZWYvYWx0ZXJfcHVibGljYXRpb24uc2dtbCAgIHwg IDI1ICsrKysrLQogc3JjL2JhY2tlbmQvY29tbWFuZHMvcHVibGljYXRpb25jbWRzLmMgICAgfCAx MDUgKysrKysrKysrKysrKysrKysrKystLQogc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueSAgICAg ICAgICAgICAgICAgfCAgIDkgKysKIHNyYy9iaW4vcHNxbC90YWItY29tcGxldGUuYyAgICAgICAg ICAgICAgIHwgICAyICstCiBzcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmggICAgICAgICAg ICB8ICAgMyArLQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wdWJsaWNhdGlvbi5vdXQgfCAx MDEgKysrKysrKysrKysrKysrKysrKysrCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9wdWJsaWNhdGlv bi5zcWwgICAgICB8ICA1MCArKysrKysrKysrKwogNyBmaWxlcyBjaGFuZ2VkLCAyODUgaW5zZXJ0 aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9h bHRlcl9wdWJsaWNhdGlvbi5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl9wdWJsaWNhdGlv bi5zZ21sCmluZGV4IGM4NGIxMWY0N2EuLjJmMDUwOWVjNDMgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMv c2dtbC9yZWYvYWx0ZXJfcHVibGljYXRpb24uc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2Fs dGVyX3B1YmxpY2F0aW9uLnNnbWwKQEAgLTI3LDYgKzI3LDcgQEAgQUxURVIgUFVCTElDQVRJT04g PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPiBEUk9QIDxy ZXBsYWMKIEFMVEVSIFBVQkxJQ0FUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5u YW1lPC9yZXBsYWNlYWJsZT4gU0VUICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnB1 YmxpY2F0aW9uX3BhcmFtZXRlcjwvcmVwbGFjZWFibGU+IFs9IDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj52YWx1ZTwvcmVwbGFjZWFibGU+XSBbLCAuLi4gXSApCiBBTFRFUiBQVUJMSUNB VElPTiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+IE9X TkVSIFRPIHsgPHJlcGxhY2VhYmxlPm5ld19vd25lcjwvcmVwbGFjZWFibGU+IHwgQ1VSUkVOVF9S T0xFIHwgQ1VSUkVOVF9VU0VSIHwgU0VTU0lPTl9VU0VSIH0KIEFMVEVSIFBVQkxJQ0FUSU9OIDxy ZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT4gUkVOQU1FIFRP IDxyZXBsYWNlYWJsZT5uZXdfbmFtZTwvcmVwbGFjZWFibGU+CitBTFRFUiBQVUJMSUNBVElPTiA8 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+IFJFU0VUCiAK IDxwaHJhc2U+d2hlcmUgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnB1YmxpY2F0aW9u X29iamVjdDwvcmVwbGFjZWFibGU+IGlzIG9uZSBvZjo8L3BocmFzZT4KIApAQCAtNjcsMTQgKzY4 LDI2IEBAIEFMVEVSIFBVQkxJQ0FUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5u YW1lPC9yZXBsYWNlYWJsZT4gUkVOQU1FIFRPIDxyCiAgIDwvcGFyYT4KIAogICA8cGFyYT4KLSAg IFRoZSByZW1haW5pbmcgdmFyaWFudHMgY2hhbmdlIHRoZSBvd25lciBhbmQgdGhlIG5hbWUgb2Yg dGhlIHB1YmxpY2F0aW9uLgorICAgVGhlIDxsaXRlcmFsPk9XTkVSPC9saXRlcmFsPiBjbGF1c2Ug d2lsbCBjaGFuZ2UgdGhlIG93bmVyIG9mIHRoZSBwdWJsaWNhdGlvbi4KKyAgPC9wYXJhPgorCisg IDxwYXJhPgorICAgVGhlIDxsaXRlcmFsPlJFTkFNRTwvbGl0ZXJhbD4gY2xhdXNlIHdpbGwgY2hh bmdlIHRoZSBuYW1lIG9mIHRoZSBwdWJsaWNhdGlvbi4KKyAgPC9wYXJhPgorCisgIDxwYXJhPgor ICAgVGhlIDxsaXRlcmFsPlJFU0VUPC9saXRlcmFsPiBjbGF1c2Ugd2lsbCByZXNldCB0aGUgcHVi bGljYXRpb24gdG8gdGhlCisgICBkZWZhdWx0IHN0YXRlIHdoaWNoIGluY2x1ZGVzIHJlc2V0dGlu ZyB0aGUgcHVibGljYXRpb24gcGFyYW1ldGVycywgc2V0dGluZworICAgPGxpdGVyYWw+QUxMIFRB QkxFUzwvbGl0ZXJhbD4gZmxhZyB0byA8bGl0ZXJhbD5mYWxzZTwvbGl0ZXJhbD4gYW5kCisgICBk cm9wcGluZyBhbGwgcmVsYXRpb25zIGFuZCBzY2hlbWFzIHRoYXQgYXJlIGFzc29jaWF0ZWQgd2l0 aCB0aGUgcHVibGljYXRpb24uCiAgIDwvcGFyYT4KIAogICA8cGFyYT4KICAgIFlvdSBtdXN0IG93 biB0aGUgcHVibGljYXRpb24gdG8gdXNlIDxjb21tYW5kPkFMVEVSIFBVQkxJQ0FUSU9OPC9jb21t YW5kPi4KICAgIEFkZGluZyBhIHRhYmxlIHRvIGEgcHVibGljYXRpb24gYWRkaXRpb25hbGx5IHJl cXVpcmVzIG93bmluZyB0aGF0IHRhYmxlLgotICAgVGhlIDxsaXRlcmFsPkFERCBUQUJMRVMgSU4g U0NIRU1BPC9saXRlcmFsPiBhbmQKLSAgIDxsaXRlcmFsPlNFVCBUQUJMRVMgSU4gU0NIRU1BPC9s aXRlcmFsPiB0byBhIHB1YmxpY2F0aW9uIHJlcXVpcmVzIHRoZQorICAgVGhlIDxsaXRlcmFsPkFE RCBUQUJMRVMgSU4gU0NIRU1BPC9saXRlcmFsPiwKKyAgIDxsaXRlcmFsPlNFVCBUQUJMRVMgSU4g U0NIRU1BPC9saXRlcmFsPiB0byBhIHB1YmxpY2F0aW9uIGFuZAorICAgPGxpdGVyYWw+UkVTRVQ8 L2xpdGVyYWw+IG9mIHB1YmxpY2F0aW9uIHJlcXVpcmVzIHRoZQogICAgaW52b2tpbmcgdXNlciB0 byBiZSBhIHN1cGVydXNlci4gIFRvIGFsdGVyIHRoZSBvd25lciwgeW91IG11c3QgYWxzbyBiZSBh CiAgICBkaXJlY3Qgb3IgaW5kaXJlY3QgbWVtYmVyIG9mIHRoZSBuZXcgb3duaW5nIHJvbGUuIFRo ZSBuZXcgb3duZXIgbXVzdCBoYXZlCiAgICA8bGl0ZXJhbD5DUkVBVEU8L2xpdGVyYWw+IHByaXZp bGVnZSBvbiB0aGUgZGF0YWJhc2UuICBBbHNvLCB0aGUgbmV3IG93bmVyCkBAIC0yMTAsNiArMjIz LDEyIEBAIEFMVEVSIFBVQkxJQ0FUSU9OIHNhbGVzX3B1YmxpY2F0aW9uIEFERCBUQUJMRVMgSU4g U0NIRU1BIG1hcmtldGluZywgc2FsZXM7CiAgICA8c3RydWN0bmFtZT5wcm9kdWN0aW9uX3B1Ymxp Y2F0aW9uPC9zdHJ1Y3RuYW1lPjoKIDxwcm9ncmFtbGlzdGluZz4KIEFMVEVSIFBVQkxJQ0FUSU9O IHByb2R1Y3Rpb25fcHVibGljYXRpb24gQUREIFRBQkxFIHVzZXJzLCBkZXBhcnRtZW50cywgVEFC TEVTIElOIFNDSEVNQSBwcm9kdWN0aW9uOworPC9wcm9ncmFtbGlzdGluZz48L3BhcmE+CisKKyAg PHBhcmE+CisgICBSZXNldCB0aGUgcHVibGljYXRpb24gPHN0cnVjdG5hbWU+cHJvZHVjdGlvbl9w dWJsaWNhdGlvbjwvc3RydWN0bmFtZT46Cis8cHJvZ3JhbWxpc3Rpbmc+CitBTFRFUiBQVUJMSUNB VElPTiBwcm9kdWN0aW9uX3B1YmxpY2F0aW9uIFJFU0VUOwogPC9wcm9ncmFtbGlzdGluZz48L3Bh cmE+CiAgPC9yZWZzZWN0MT4KIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvcHVi bGljYXRpb25jbWRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9wdWJsaWNhdGlvbmNtZHMuYwpp bmRleCBhOGI3NWViMWJlLi4zY2ZmMTYzNWJmIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21t YW5kcy9wdWJsaWNhdGlvbmNtZHMuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9wdWJsaWNh dGlvbmNtZHMuYwpAQCAtNTQsNiArNTQsMTQgQEAKICNpbmNsdWRlICJ1dGlscy92YXJsZW5hLmgi CiAKIAorLyogQ1JFQVRFIFBVQkxJQ0FUSU9OIGRlZmF1bHQgdmFsdWVzIGZvciBmbGFncyBhbmQg cHVibGljYXRpb24gcGFyYW1ldGVycyAqLworI2RlZmluZSBQVUJfREVGQVVMVF9BQ1RJT05fSU5T RVJUIHRydWUKKyNkZWZpbmUgUFVCX0RFRkFVTFRfQUNUSU9OX1VQREFURSB0cnVlCisjZGVmaW5l IFBVQl9ERUZBVUxUX0FDVElPTl9ERUxFVEUgdHJ1ZQorI2RlZmluZSBQVUJfREVGQVVMVF9BQ1RJ T05fVFJVTkNBVEUgdHJ1ZQorI2RlZmluZSBQVUJfREVGQVVMVF9WSUFfUk9PVCBmYWxzZQorI2Rl ZmluZSBQVUJfREVGQVVMVF9BTExfVEFCTEVTIGZhbHNlCisKIC8qCiAgKiBJbmZvcm1hdGlvbiB1 c2VkIHRvIHZhbGlkYXRlIHRoZSBjb2x1bW5zIGluIHRoZSByb3cgZmlsdGVyIGV4cHJlc3Npb24u IFNlZQogICogY29udGFpbl9pbnZhbGlkX3JmY29sdW1uX3dhbGtlciBmb3IgZGV0YWlscy4KQEAg LTkyLDExICsxMDAsMTEgQEAgcGFyc2VfcHVibGljYXRpb25fb3B0aW9ucyhQYXJzZVN0YXRlICpw c3RhdGUsCiAJKnB1Ymxpc2hfdmlhX3BhcnRpdGlvbl9yb290X2dpdmVuID0gZmFsc2U7CiAKIAkv KiBkZWZhdWx0cyAqLwotCXB1YmFjdGlvbnMtPnB1Ymluc2VydCA9IHRydWU7Ci0JcHViYWN0aW9u cy0+cHVidXBkYXRlID0gdHJ1ZTsKLQlwdWJhY3Rpb25zLT5wdWJkZWxldGUgPSB0cnVlOwotCXB1 YmFjdGlvbnMtPnB1YnRydW5jYXRlID0gdHJ1ZTsKLQkqcHVibGlzaF92aWFfcGFydGl0aW9uX3Jv b3QgPSBmYWxzZTsKKwlwdWJhY3Rpb25zLT5wdWJpbnNlcnQgPSBQVUJfREVGQVVMVF9BQ1RJT05f SU5TRVJUOworCXB1YmFjdGlvbnMtPnB1YnVwZGF0ZSA9IFBVQl9ERUZBVUxUX0FDVElPTl9VUERB VEU7CisJcHViYWN0aW9ucy0+cHViZGVsZXRlID0gUFVCX0RFRkFVTFRfQUNUSU9OX0RFTEVURTsK KwlwdWJhY3Rpb25zLT5wdWJ0cnVuY2F0ZSA9IFBVQl9ERUZBVUxUX0FDVElPTl9UUlVOQ0FURTsK KwkqcHVibGlzaF92aWFfcGFydGl0aW9uX3Jvb3QgPSBQVUJfREVGQVVMVF9WSUFfUk9PVDsKIAog CS8qIFBhcnNlIG9wdGlvbnMgKi8KIAlmb3JlYWNoKGxjLCBvcHRpb25zKQpAQCAtMTA3OCw2ICsx MDg2LDkxIEBAIEludmFsaWRhdGVQdWJsaWNhdGlvblJlbHMoTGlzdCAqcmVsaWRzKQogCQlDYWNo ZUludmFsaWRhdGVSZWxjYWNoZUFsbCgpOwogfQogCisvKgorICogUmVzZXQgdGhlIHB1YmxpY2F0 aW9uLgorICoKKyAqIFJlc2V0IHRoZSBwdWJsaWNhdGlvbiBwYXJhbWV0ZXJzLCBzZXR0aW5nIEFM TCBUQUJMRVMgZmxhZyB0byBmYWxzZSBhbmQgZHJvcAorICogYWxsIHJlbGF0aW9ucyBhbmQgc2No ZW1hcyB0aGF0IGFyZSBhc3NvY2lhdGVkIHdpdGggdGhlIHB1YmxpY2F0aW9uLgorICovCitzdGF0 aWMgdm9pZAorQWx0ZXJQdWJsaWNhdGlvblJlc2V0KFBhcnNlU3RhdGUgKnBzdGF0ZSwgQWx0ZXJQ dWJsaWNhdGlvblN0bXQgKnN0bXQsCisJCQkJCSAgUmVsYXRpb24gcmVsLCBIZWFwVHVwbGUgdHVw KQoreworCUZvcm1fcGdfcHVibGljYXRpb24gcHViZm9ybSA9IChGb3JtX3BnX3B1YmxpY2F0aW9u KSBHRVRTVFJVQ1QodHVwKTsKKwlPaWQJCQlwdWJpZCA9IHB1YmZvcm0tPm9pZDsKKwlMaXN0CSAg ICpzY2hlbWFzID0gTklMOworCUxpc3QJICAgKnJlbHMgPSBOSUw7CisJYm9vbAkJbnVsbHNbTmF0 dHNfcGdfcHVibGljYXRpb25dOworCWJvb2wJCXJlcGxhY2VzW05hdHRzX3BnX3B1YmxpY2F0aW9u XTsKKwlEYXR1bQkJdmFsdWVzW05hdHRzX3BnX3B1YmxpY2F0aW9uXTsKKwlPYmplY3RBZGRyZXNz IG9iajsKKwlMaXN0Q2VsbCAgICpsYzsKKwlPaWQJCQlwcmlkOworCisJLyogUkVTRVQgcHVibGlj YXRpb24gcmVxdWlyZXMgc3VwZXJ1c2VyICovCisJaWYgKCFzdXBlcnVzZXIoKSkKKwkJZXJlcG9y dChFUlJPUiwKKwkJCQllcnJjb2RlKEVSUkNPREVfSU5TVUZGSUNJRU5UX1BSSVZJTEVHRSksCisJ CQkJZXJybXNnKCJtdXN0IGJlIHN1cGVydXNlciB0byBSRVNFVCBwdWJsaWNhdGlvbiIpKTsKKwor CW1lbXNldCh2YWx1ZXMsIDAsIHNpemVvZih2YWx1ZXMpKTsKKwltZW1zZXQobnVsbHMsIGZhbHNl LCBzaXplb2YobnVsbHMpKTsKKwltZW1zZXQocmVwbGFjZXMsIGZhbHNlLCBzaXplb2YocmVwbGFj ZXMpKTsKKworCS8qIFJlc2V0IHRoZSBwdWJsaWNhdGlvbiBwYXJhbWV0ZXJzICovCisJdmFsdWVz W0FudW1fcGdfcHVibGljYXRpb25fcHViaW5zZXJ0IC0gMV0gPSBCb29sR2V0RGF0dW0oUFVCX0RF RkFVTFRfQUNUSU9OX0lOU0VSVCk7CisJcmVwbGFjZXNbQW51bV9wZ19wdWJsaWNhdGlvbl9wdWJp bnNlcnQgLSAxXSA9IHRydWU7CisKKwl2YWx1ZXNbQW51bV9wZ19wdWJsaWNhdGlvbl9wdWJ1cGRh dGUgLSAxXSA9IEJvb2xHZXREYXR1bShQVUJfREVGQVVMVF9BQ1RJT05fVVBEQVRFKTsKKwlyZXBs YWNlc1tBbnVtX3BnX3B1YmxpY2F0aW9uX3B1YnVwZGF0ZSAtIDFdID0gdHJ1ZTsKKworCXZhbHVl c1tBbnVtX3BnX3B1YmxpY2F0aW9uX3B1YmRlbGV0ZSAtIDFdID0gQm9vbEdldERhdHVtKFBVQl9E RUZBVUxUX0FDVElPTl9ERUxFVEUpOworCXJlcGxhY2VzW0FudW1fcGdfcHVibGljYXRpb25fcHVi ZGVsZXRlIC0gMV0gPSB0cnVlOworCisJdmFsdWVzW0FudW1fcGdfcHVibGljYXRpb25fcHVidHJ1 bmNhdGUgLSAxXSA9IEJvb2xHZXREYXR1bShQVUJfREVGQVVMVF9BQ1RJT05fVFJVTkNBVEUpOwor CXJlcGxhY2VzW0FudW1fcGdfcHVibGljYXRpb25fcHVidHJ1bmNhdGUgLSAxXSA9IHRydWU7CisK Kwl2YWx1ZXNbQW51bV9wZ19wdWJsaWNhdGlvbl9wdWJ2aWFyb290IC0gMV0gPSBCb29sR2V0RGF0 dW0oUFVCX0RFRkFVTFRfVklBX1JPT1QpOworCXJlcGxhY2VzW0FudW1fcGdfcHVibGljYXRpb25f cHVidmlhcm9vdCAtIDFdID0gdHJ1ZTsKKworCS8qIFNldCBBTEwgVEFCTEVTIGZsYWcgdG8gZmFs c2UgKi8KKwlpZiAocHViZm9ybS0+cHViYWxsdGFibGVzKQorCXsKKwkJdmFsdWVzW0FudW1fcGdf cHVibGljYXRpb25fcHViYWxsdGFibGVzIC0gMV0gPSBCb29sR2V0RGF0dW0oUFVCX0RFRkFVTFRf QUxMX1RBQkxFUyk7CisJCXJlcGxhY2VzW0FudW1fcGdfcHVibGljYXRpb25fcHViYWxsdGFibGVz IC0gMV0gPSB0cnVlOworCQlDYWNoZUludmFsaWRhdGVSZWxjYWNoZUFsbCgpOworCX0KKworCXR1 cCA9IGhlYXBfbW9kaWZ5X3R1cGxlKHR1cCwgUmVsYXRpb25HZXREZXNjcihyZWwpLCB2YWx1ZXMs IG51bGxzLAorCQkJCQkJCXJlcGxhY2VzKTsKKworCS8qIFVwZGF0ZSB0aGUgY2F0YWxvZy4gKi8K KwlDYXRhbG9nVHVwbGVVcGRhdGUocmVsLCAmdHVwLT50X3NlbGYsIHR1cCk7CisKKwkvKiBEcm9w IHRoZSBzY2hlbWFzIGFzc29jaWF0ZWQgd2l0aCB0aGUgcHVibGljYXRpb24gKi8KKwlzY2hlbWFz ID0gR2V0UHVibGljYXRpb25TY2hlbWFzKHB1YmlkKTsKKwlQdWJsaWNhdGlvbkRyb3BTY2hlbWFz KHB1YmlkLCBzY2hlbWFzLCBmYWxzZSk7CisKKwkvKiBEcm9wIHRoZSByZWxhdGlvbnMgYXNzb2Np YXRlZCB3aXRoIHRoZSBwdWJsaWNhdGlvbiAqLworCXJlbHMgPSBHZXRQdWJsaWNhdGlvblJlbGF0 aW9ucyhwdWJpZCwgUFVCTElDQVRJT05fUEFSVF9ST09UKTsKKwlmb3JlYWNoKGxjLCByZWxzKQor CXsKKwkJT2lkCQkJcmVsaWQgPSBsZmlyc3Rfb2lkKGxjKTsKKworCQlwcmlkID0gR2V0U3lzQ2Fj aGVPaWQyKFBVQkxJQ0FUSU9OUkVMTUFQLCBBbnVtX3BnX3B1YmxpY2F0aW9uX3JlbF9vaWQsCisJ CQkJCQkJICAgT2JqZWN0SWRHZXREYXR1bShyZWxpZCksCisJCQkJCQkJICAgT2JqZWN0SWRHZXRE YXR1bShwdWJpZCkpOworCQlpZiAoIU9pZElzVmFsaWQocHJpZCkpCisJCQllcmVwb3J0KEVSUk9S LAorCQkJCQkoZXJyY29kZShFUlJDT0RFX1VOREVGSU5FRF9PQkpFQ1QpLAorCQkJCQkgZXJybXNn KCJyZWxhdGlvbiBcIiVzXCIgaXMgbm90IHBhcnQgb2YgdGhlIHB1YmxpY2F0aW9uIiwKKwkJCQkJ CQlnZXRfcmVsX25hbWUocmVsaWQpKSkpOworCisJCU9iamVjdEFkZHJlc3NTZXQob2JqLCBQdWJs aWNhdGlvblJlbFJlbGF0aW9uSWQsIHByaWQpOworCQlwZXJmb3JtRGVsZXRpb24oJm9iaiwgRFJP UF9DQVNDQURFLCAwKTsKKwl9Cit9CisKIC8qCiAgKiBBZGQgb3IgcmVtb3ZlIHRhYmxlIHRvL2Zy b20gcHVibGljYXRpb24uCiAgKi8KQEAgLTE0MDAsNiArMTQ5Myw4IEBAIEFsdGVyUHVibGljYXRp b24oUGFyc2VTdGF0ZSAqcHN0YXRlLCBBbHRlclB1YmxpY2F0aW9uU3RtdCAqc3RtdCkKIAogCWlm IChzdG10LT5vcHRpb25zKQogCQlBbHRlclB1YmxpY2F0aW9uT3B0aW9ucyhwc3RhdGUsIHN0bXQs IHJlbCwgdHVwKTsKKwllbHNlIGlmIChzdG10LT5hY3Rpb24gPT0gQVBfUmVzZXRQdWJsaWNhdGlv bikKKwkJQWx0ZXJQdWJsaWNhdGlvblJlc2V0KHBzdGF0ZSwgc3RtdCwgcmVsLCB0dXApOwogCWVs c2UKIAl7CiAJCUxpc3QJICAgKnJlbGF0aW9ucyA9IE5JTDsKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL3BhcnNlci9ncmFtLnkgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CmluZGV4IGRlYjEw MTcxMGUuLjFjMDQyZWIxYTcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkK KysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQpAQCAtMTA0ODIsNiArMTA0ODIsOCBAQCBw dWJfb2JqX2xpc3Q6CVB1YmxpY2F0aW9uT2JqU3BlYwogICoKICAqIEFMVEVSIFBVQkxJQ0FUSU9O IG5hbWUgU0VUIHB1Yl9vYmogWywgLi4uXQogICoKKyAqIEFMVEVSIFBVQkxJQ0FUSU9OIG5hbWUg UkVTRVQKKyAqCiAgKiBwdWJfb2JqIGlzIG9uZSBvZjoKICAqCiAgKgkJVEFCTEUgdGFibGVfbmFt ZSBbLCAuLi5dCkBAIC0xMDUyOCw2ICsxMDUzMCwxMyBAQCBBbHRlclB1YmxpY2F0aW9uU3RtdDoK IAkJCQkJbi0+YWN0aW9uID0gQVBfRHJvcE9iamVjdHM7CiAJCQkJCSQkID0gKE5vZGUgKikgbjsK IAkJCQl9CisJCQl8IEFMVEVSIFBVQkxJQ0FUSU9OIG5hbWUgUkVTRVQKKwkJCQl7CisJCQkJCUFs dGVyUHVibGljYXRpb25TdG10ICpuID0gbWFrZU5vZGUoQWx0ZXJQdWJsaWNhdGlvblN0bXQpOwor CQkJCQluLT5wdWJuYW1lID0gJDM7CisJCQkJCW4tPmFjdGlvbiA9IEFQX1Jlc2V0UHVibGljYXRp b247CisJCQkJCSQkID0gKE5vZGUgKiluOworCQkJCX0KIAkJOwogCiAvKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuYyBiL3NyYy9iaW4v cHNxbC90YWItY29tcGxldGUuYwppbmRleCA0YzQ1ZTQ3NDdhLi40YzQ2NjRiMjg0IDEwMDY0NAot LS0gYS9zcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmMKKysrIGIvc3JjL2Jpbi9wc3FsL3RhYi1j b21wbGV0ZS5jCkBAIC0xODE3LDcgKzE4MTcsNyBAQCBwc3FsX2NvbXBsZXRpb24oY29uc3QgY2hh ciAqdGV4dCwgaW50IHN0YXJ0LCBpbnQgZW5kKQogCiAJLyogQUxURVIgUFVCTElDQVRJT04gPG5h bWU+ICovCiAJZWxzZSBpZiAoTWF0Y2hlcygiQUxURVIiLCAiUFVCTElDQVRJT04iLCBNYXRjaEFu eSkpCi0JCUNPTVBMRVRFX1dJVEgoIkFERCIsICJEUk9QIiwgIk9XTkVSIFRPIiwgIlJFTkFNRSBU TyIsICJTRVQiKTsKKwkJQ09NUExFVEVfV0lUSCgiQUREIiwgIkRST1AiLCAiT1dORVIgVE8iLCAi UkVOQU1FIFRPIiwgIlJFU0VUIiwgIlNFVCIpOwogCS8qIEFMVEVSIFBVQkxJQ0FUSU9OIDxuYW1l PiBBREQgKi8KIAllbHNlIGlmIChNYXRjaGVzKCJBTFRFUiIsICJQVUJMSUNBVElPTiIsIE1hdGNo QW55LCAiQUREIikpCiAJCUNPTVBMRVRFX1dJVEgoIlRBQkxFUyBJTiBTQ0hFTUEiLCAiVEFCTEUi KTsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaCBiL3NyYy9pbmNs dWRlL25vZGVzL3BhcnNlbm9kZXMuaAppbmRleCA3Y2FmZjYyYWY3Li40N2ExNzU3ZTk1IDEwMDY0 NAotLS0gYS9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgKKysrIGIvc3JjL2luY2x1ZGUv bm9kZXMvcGFyc2Vub2Rlcy5oCkBAIC0zNzY4LDcgKzM3NjgsOCBAQCB0eXBlZGVmIGVudW0gQWx0 ZXJQdWJsaWNhdGlvbkFjdGlvbgogewogCUFQX0FkZE9iamVjdHMsCQkJCS8qIGFkZCBvYmplY3Rz IHRvIHB1YmxpY2F0aW9uICovCiAJQVBfRHJvcE9iamVjdHMsCQkJCS8qIHJlbW92ZSBvYmplY3Rz IGZyb20gcHVibGljYXRpb24gKi8KLQlBUF9TZXRPYmplY3RzCQkJCS8qIHNldCBsaXN0IG9mIG9i amVjdHMgKi8KKwlBUF9TZXRPYmplY3RzLAkJCQkvKiBzZXQgbGlzdCBvZiBvYmplY3RzICovCisJ QVBfUmVzZXRQdWJsaWNhdGlvbgkJCS8qIHJlc2V0IHRoZSBwdWJsaWNhdGlvbiAqLwogfSBBbHRl clB1YmxpY2F0aW9uQWN0aW9uOwogCiB0eXBlZGVmIHN0cnVjdCBBbHRlclB1YmxpY2F0aW9uU3Rt dApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wdWJsaWNhdGlvbi5vdXQg Yi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3B1YmxpY2F0aW9uLm91dAppbmRleCA0MjdmODdl YTA3Li43MDhjZGJiZDc2IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3B1 YmxpY2F0aW9uLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3B1YmxpY2F0aW9u Lm91dApAQCAtMTcyMyw2ICsxNzIzLDEwNyBAQCBEUk9QIFBVQkxJQ0FUSU9OIHB1YjsKIERST1Ag VEFCTEUgc2NoMS50YmwxOwogRFJPUCBTQ0hFTUEgc2NoMSBjYXNjYWRlOwogRFJPUCBTQ0hFTUEg c2NoMiBjYXNjYWRlOworLS0gVGVzdHMgZm9yIEFMVEVSIFBVQkxJQ0FUSU9OIC4uLiBSRVNFVAor Q1JFQVRFIFNDSEVNQSBwdWJfc2NoMTsKK0NSRUFURSBUQUJMRSBwdWJfc2NoMS50YmwxIChhIGlu dCk7CitTRVQgY2xpZW50X21pbl9tZXNzYWdlcyA9ICdFUlJPUic7CitDUkVBVEUgUFVCTElDQVRJ T04gdGVzdHB1Yl9yZXNldCBGT1IgQUxMIFRBQkxFUzsKK1JFU0VUIGNsaWVudF9taW5fbWVzc2Fn ZXM7CistLSBWZXJpZnkgdGhhdCAnQUxMIFRBQkxFUycgZmxhZyBpcyByZXNldAorXGRScCsgdGVz dHB1Yl9yZXNldAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24g dGVzdHB1Yl9yZXNldAorICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJ bnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0t LS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tCisgcmVncmVzc19wdWJsaWNhdGlvbl91c2Vy IHwgdCAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8 IGYKKygxIHJvdykKKworQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9yZXNldCBSRVNFVDsKK1xk UnArIHRlc3RwdWJfcmVzZXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1Ymxp Y2F0aW9uIHRlc3RwdWJfcmVzZXQKKyAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFi bGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3Qg CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0t LS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQorIHJlZ3Jlc3NfcHVibGljYXRp b25fdXNlciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAg ICAgICAgfCBmCisoMSByb3cpCisKK0FMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfcmVzZXQgQURE IFRBQkxFIHB1Yl9zY2gxLnRibDE7CistLSBWZXJpZnkgdGhhdCB0YWJsZXMgYXNzb2NpYXRlZCB3 aXRoIHRoZSBwdWJsaWNhdGlvbiBhcmUgZHJvcHBlZCBhZnRlciBSRVNFVAorXGRScCsgdGVzdHB1 Yl9yZXNldAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVz dHB1Yl9yZXNldAorICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNl cnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0t LS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tCisgcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwg ZiAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYK K1RhYmxlczoKKyAgICAicHViX3NjaDEudGJsMSIKKworQUxURVIgUFVCTElDQVRJT04gdGVzdHB1 Yl9yZXNldCBSRVNFVDsKK1xkUnArIHRlc3RwdWJfcmVzZXQKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWJfcmVzZXQKKyAgICAgICAgICBPd25lciAg ICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1 bmNhdGVzIHwgVmlhIHJvb3QgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQor IHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAg ICB8IHQgICAgICAgfCB0ICAgICAgICAgfCBmCisoMSByb3cpCisKK0FMVEVSIFBVQkxJQ0FUSU9O IHRlc3RwdWJfcmVzZXQgQUREIEFMTCBUQUJMRVMgSU4gU0NIRU1BIHB1YmxpYzsKKy0tIFZlcmlm eSB0aGF0IHNjaGVtYXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBwdWJsaWNhdGlvbiBhcmUgZHJvcHBl ZCBhZnRlciBSRVNFVAorXGRScCsgdGVzdHB1Yl9yZXNldAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1Yl9yZXNldAorICAgICAgICAgIE93bmVyICAg ICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVu Y2F0ZXMgfCBWaWEgcm9vdCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tCisg cmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAg IHwgdCAgICAgICB8IHQgICAgICAgICB8IGYKK1RhYmxlcyBmcm9tIHNjaGVtYXM6CisgICAgInB1 YmxpYyIKKworQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9yZXNldCBSRVNFVDsKK1xkUnArIHRl c3RwdWJfcmVzZXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9u IHRlc3RwdWJfcmVzZXQKKyAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwg SW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgCistLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQorIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNl ciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAg fCBmCisoMSByb3cpCisKK0FMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfcmVzZXQgU0VUIChQVUJM SVNIID0gJycpOworLS0gVmVyaWZ5IHRoYXQgJ1BVQkxJU0gnIHBhcmFtZXRlciBpcyByZXNldAor XGRScCsgdGVzdHB1Yl9yZXNldAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVi bGljYXRpb24gdGVzdHB1Yl9yZXNldAorICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0 YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9v dCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0t LS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tCisgcmVncmVzc19wdWJsaWNh dGlvbl91c2VyIHwgZiAgICAgICAgICB8IGYgICAgICAgfCBmICAgICAgIHwgZiAgICAgICB8IGYg ICAgICAgICB8IGYKKygxIHJvdykKKworQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9yZXNldCBS RVNFVDsKK1xkUnArIHRlc3RwdWJfcmVzZXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFB1YmxpY2F0aW9uIHRlc3RwdWJfcmVzZXQKKyAgICAgICAgICBPd25lciAgICAgICAgICAg fCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwg VmlhIHJvb3QgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQorIHJlZ3Jlc3Nf cHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAg ICAgfCB0ICAgICAgICAgfCBmCisoMSByb3cpCisKK0FMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJf cmVzZXQgU0VUIChQVUJMSVNIX1ZJQV9QQVJUSVRJT05fUk9PVCA9ICd0cnVlJyk7CistLSBWZXJp ZnkgdGhhdCAnUFVCTElTSF9WSUFfUEFSVElUSU9OX1JPT1QnIHBhcmFtZXRlciBpcyByZXNldAor XGRScCsgdGVzdHB1Yl9yZXNldAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVi bGljYXRpb24gdGVzdHB1Yl9yZXNldAorICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0 YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9v dCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0t LS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tCisgcmVncmVzc19wdWJsaWNh dGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQg ICAgICAgICB8IHQKKygxIHJvdykKKworQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9yZXNldCBS RVNFVDsKK1xkUnArIHRlc3RwdWJfcmVzZXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFB1YmxpY2F0aW9uIHRlc3RwdWJfcmVzZXQKKyAgICAgICAgICBPd25lciAgICAgICAgICAg fCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwg VmlhIHJvb3QgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQorIHJlZ3Jlc3Nf cHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAg ICAgfCB0ICAgICAgICAgfCBmCisoMSByb3cpCisKKy0tIFZlcmlmeSB0aGF0IG9ubHkgc3VwZXJ1 c2VyIGNhbiByZXNldCBhIHB1YmxpY2F0aW9uCitBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX3Jl c2V0IE9XTkVSIFRPIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlcjI7CitTRVQgUk9MRSByZWdyZXNz X3B1YmxpY2F0aW9uX3VzZXIyOworQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9yZXNldCBSRVNF VDsgLS0gZmFpbCAtIG11c3QgYmUgc3VwZXJ1c2VyCitFUlJPUjogIG11c3QgYmUgc3VwZXJ1c2Vy IHRvIFJFU0VUIHB1YmxpY2F0aW9uCitTRVQgUk9MRSByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXI7 CitEUk9QIFBVQkxJQ0FUSU9OIHRlc3RwdWJfcmVzZXQ7CitEUk9QIFRBQkxFIHB1Yl9zY2gxLnRi bDE7CitEUk9QIFNDSEVNQSBwdWJfc2NoMTsKIFJFU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTjsK IERST1AgUk9MRSByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIsIHJlZ3Jlc3NfcHVibGljYXRpb25f dXNlcjI7CiBEUk9QIFJPTEUgcmVncmVzc19wdWJsaWNhdGlvbl91c2VyX2R1bW15OwpkaWZmIC0t Z2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcHVibGljYXRpb24uc3FsIGIvc3JjL3Rlc3QvcmVn cmVzcy9zcWwvcHVibGljYXRpb24uc3FsCmluZGV4IGE0N2M1OTM5ZDUuLmVjNzEwZmYzM2QgMTAw NjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3B1YmxpY2F0aW9uLnNxbAorKysgYi9zcmMv dGVzdC9yZWdyZXNzL3NxbC9wdWJsaWNhdGlvbi5zcWwKQEAgLTEwOTMsNiArMTA5Myw1NiBAQCBE Uk9QIFRBQkxFIHNjaDEudGJsMTsKIERST1AgU0NIRU1BIHNjaDEgY2FzY2FkZTsKIERST1AgU0NI RU1BIHNjaDIgY2FzY2FkZTsKIAorLS0gVGVzdHMgZm9yIEFMVEVSIFBVQkxJQ0FUSU9OIC4uLiBS RVNFVAorQ1JFQVRFIFNDSEVNQSBwdWJfc2NoMTsKK0NSRUFURSBUQUJMRSBwdWJfc2NoMS50Ymwx IChhIGludCk7CitTRVQgY2xpZW50X21pbl9tZXNzYWdlcyA9ICdFUlJPUic7CitDUkVBVEUgUFVC TElDQVRJT04gdGVzdHB1Yl9yZXNldCBGT1IgQUxMIFRBQkxFUzsKK1JFU0VUIGNsaWVudF9taW5f bWVzc2FnZXM7CisKKy0tIFZlcmlmeSB0aGF0ICdBTEwgVEFCTEVTJyBmbGFnIGlzIHJlc2V0Citc ZFJwKyB0ZXN0cHViX3Jlc2V0CitBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX3Jlc2V0IFJFU0VU OworXGRScCsgdGVzdHB1Yl9yZXNldAorCitBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX3Jlc2V0 IEFERCBUQUJMRSBwdWJfc2NoMS50YmwxOworCistLSBWZXJpZnkgdGhhdCB0YWJsZXMgYXNzb2Np YXRlZCB3aXRoIHRoZSBwdWJsaWNhdGlvbiBhcmUgZHJvcHBlZCBhZnRlciBSRVNFVAorXGRScCsg dGVzdHB1Yl9yZXNldAorQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9yZXNldCBSRVNFVDsKK1xk UnArIHRlc3RwdWJfcmVzZXQKKworQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9yZXNldCBBREQg QUxMIFRBQkxFUyBJTiBTQ0hFTUEgcHVibGljOworCistLSBWZXJpZnkgdGhhdCBzY2hlbWFzIGFz c29jaWF0ZWQgd2l0aCB0aGUgcHVibGljYXRpb24gYXJlIGRyb3BwZWQgYWZ0ZXIgUkVTRVQKK1xk UnArIHRlc3RwdWJfcmVzZXQKK0FMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfcmVzZXQgUkVTRVQ7 CitcZFJwKyB0ZXN0cHViX3Jlc2V0CisKK0FMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfcmVzZXQg U0VUIChQVUJMSVNIID0gJycpOworCistLSBWZXJpZnkgdGhhdCAnUFVCTElTSCcgcGFyYW1ldGVy IGlzIHJlc2V0CitcZFJwKyB0ZXN0cHViX3Jlc2V0CitBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHVi X3Jlc2V0IFJFU0VUOworXGRScCsgdGVzdHB1Yl9yZXNldAorCitBTFRFUiBQVUJMSUNBVElPTiB0 ZXN0cHViX3Jlc2V0IFNFVCAoUFVCTElTSF9WSUFfUEFSVElUSU9OX1JPT1QgPSAndHJ1ZScpOwor CistLSBWZXJpZnkgdGhhdCAnUFVCTElTSF9WSUFfUEFSVElUSU9OX1JPT1QnIHBhcmFtZXRlciBp cyByZXNldAorXGRScCsgdGVzdHB1Yl9yZXNldAorQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9y ZXNldCBSRVNFVDsKK1xkUnArIHRlc3RwdWJfcmVzZXQKKworLS0gVmVyaWZ5IHRoYXQgb25seSBz dXBlcnVzZXIgY2FuIHJlc2V0IGEgcHVibGljYXRpb24KK0FMVEVSIFBVQkxJQ0FUSU9OIHRlc3Rw dWJfcmVzZXQgT1dORVIgVE8gcmVncmVzc19wdWJsaWNhdGlvbl91c2VyMjsKK1NFVCBST0xFIHJl Z3Jlc3NfcHVibGljYXRpb25fdXNlcjI7CitBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX3Jlc2V0 IFJFU0VUOyAtLSBmYWlsIC0gbXVzdCBiZSBzdXBlcnVzZXIKK1NFVCBST0xFIHJlZ3Jlc3NfcHVi bGljYXRpb25fdXNlcjsKKworRFJPUCBQVUJMSUNBVElPTiB0ZXN0cHViX3Jlc2V0OworRFJPUCBU QUJMRSBwdWJfc2NoMS50YmwxOworRFJPUCBTQ0hFTUEgcHViX3NjaDE7CisKIFJFU0VUIFNFU1NJ T04gQVVUSE9SSVpBVElPTjsKIERST1AgUk9MRSByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIsIHJl Z3Jlc3NfcHVibGljYXRpb25fdXNlcjI7CiBEUk9QIFJPTEUgcmVncmVzc19wdWJsaWNhdGlvbl91 c2VyX2R1bW15OwotLSAKMi4zNC4xCgo= --000000000000f7e01105ece18e44 Content-Type: text/x-patch; charset="US-ASCII"; name="v9-0002-Skip-publishing-the-tables-specified-in-EXCEPT-TA.patch" Content-Disposition: attachment; filename="v9-0002-Skip-publishing-the-tables-specified-in-EXCEPT-TA.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_la6t651l1 RnJvbSBkYTg3Yjc5MjY5YjFkZmNjODQ3ODM2ZGQ1NGMwM2I0ODlmMDBkZTZjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaWduZXNoIEMgPHZpZ25lc2gyMUBnbWFpbC5jb20+CkRhdGU6 IE1vbiwgNyBOb3YgMjAyMiAxMjoyMDoyOCArMDUzMApTdWJqZWN0OiBbUEFUQ0ggdjkgMi8yXSBT a2lwIHB1Ymxpc2hpbmcgdGhlIHRhYmxlcyBzcGVjaWZpZWQgaW4gRVhDRVBUIFRBQkxFLgoKQSBu ZXcgIkVYQ0VQVCBUQUJMRSIgY2xhdXNlIGZvciBDUkVBVEUvQUxURVIgUFVCTElDQVRJT04gYWxs b3dzIG9uZSBvcgptb3JlIHRhYmxlcyB0byBiZSBleGNsdWRlZC4gVGhlIHB1Ymxpc2hlciB3aWxs IG5vdCBzZW5kIHRoZSBkYXRhIG9mCmV4Y2x1ZGVkIHRhYmxlcyB0byB0aGUgc3Vic2NyaWJlci4K ClRoZSBuZXcgc3ludGF4IGFsbG93cyBzcGVjaWZ5aW5nIGV4Y2x1ZGVkIHJlbGF0aW9ucyB3aGVu IGNyZWF0aW5nIG9yIGFsdGVyaW5nCmEgcHVibGljYXRpb24uIEZvciBleGFtcGxlOgpDUkVBVEUg UFVCTElDQVRJT04gcHViMSBGT1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgdDEsdDI7Cm9yCkFM VEVSIFBVQkxJQ0FUSU9OIHB1YjEgQUREIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFIHQxLHQyOwoK QSBuZXcgY29sdW1uICJwcmV4Y2VwdCIgaXMgYWRkZWQgdG8gdGFibGUgInBnX3B1YmxpY2F0aW9u X3JlbCIsIHRvIG1haW50YWluCnRoZSByZWxhdGlvbnMgdGhhdCB0aGUgdXNlciB3YW50cyB0byBl eGNsdWRlIGZyb20gdGhlIHB1YmxpY2F0aW9ucy4KCnBnX2R1bXAgaXMgdXBkYXRlZCB0byBpZGVu dGlmeSBhbmQgZHVtcCB0aGUgZXhjbHVkZWQgdGFibGVzIG9mIHRoZSBwdWJsaWNhdGlvbnMuCgpU aGUgcHNxbCBcZCBmYW1pbHkgb2YgY29tbWFuZHMgY2FuIG5vdyBkaXNwbGF5IGV4Y2x1ZGVkIHRh Ymxlcy4gZS5nLiBwc3FsClxkUnArIHZhcmlhbnQgd2lsbCBub3cgZGlzcGxheSBhc3NvY2lhdGVk ICJleGNlcHQgdGFibGVzIiBpZiBhbnkuCgpCdW1wIGNhdGFsb2cgdmVyc2lvbi4KLS0tCiBkb2Mv c3JjL3NnbWwvY2F0YWxvZ3Muc2dtbCAgICAgICAgICAgICAgICAgICAgfCAgIDkgKwogZG9jL3Ny Yy9zZ21sL2xvZ2ljYWwtcmVwbGljYXRpb24uc2dtbCAgICAgICAgIHwgICA4ICstCiBkb2Mvc3Jj L3NnbWwvcmVmL2FsdGVyX3B1YmxpY2F0aW9uLnNnbWwgICAgICAgfCAgMTkgKy0KIGRvYy9zcmMv c2dtbC9yZWYvY3JlYXRlX3B1YmxpY2F0aW9uLnNnbWwgICAgICB8ICAyOSArKy0KIGRvYy9zcmMv c2dtbC9yZWYvcHNxbC1yZWYuc2dtbCAgICAgICAgICAgICAgICB8ICAgNSArLQogc3JjL2JhY2tl bmQvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5jICAgICAgICAgIHwgIDY4ICsrKystLQogc3JjL2Jh Y2tlbmQvY29tbWFuZHMvcHVibGljYXRpb25jbWRzLmMgICAgICAgIHwgMTk3ICsrKysrKysrKysr KysrLS0tLQogc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMgICAgICAgICAgICAgIHwg ICAyICstCiBzcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55ICAgICAgICAgICAgICAgICAgICAgfCAg NDEgKysrLQogc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vcGdvdXRwdXQvcGdvdXRwdXQuYyAgIHwg IDI1ICstLQogc3JjL2JhY2tlbmQvdXRpbHMvY2FjaGUvcmVsY2FjaGUuYyAgICAgICAgICAgIHwg IDE3ICstCiBzcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jICAgICAgICAgICAgICAgICAgICAgfCAg NTYgKysrKy0KIHNyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmggICAgICAgICAgICAgICAgICAgICB8 ICAgMSArCiBzcmMvYmluL3BnX2R1bXAvcGdfZHVtcF9zb3J0LmMgICAgICAgICAgICAgICAgfCAg IDcgKwogc3JjL2Jpbi9wZ19kdW1wL3QvMDAyX3BnX2R1bXAucGwgICAgICAgICAgICAgIHwgIDI2 ICsrKwogc3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDYy ICsrKysrLQogc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5jICAgICAgICAgICAgICAgICAgIHwg IDEwICstCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmggICAgICAgICAgfCAg IDcgKy0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHVibGljYXRpb25fcmVsLmggICAgICB8ICAg MSArCiBzcmMvaW5jbHVkZS9jb21tYW5kcy9wdWJsaWNhdGlvbmNtZHMuaCAgICAgICAgfCAgIDcg Ky0KIHNyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaCAgICAgICAgICAgICAgICB8ICAgMiAr CiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3B1YmxpY2F0aW9uLm91dCAgICAgfCAgOTEgKysr KysrKy0KIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3B1YmxpY2F0aW9uLnNxbCAgICAgICAgICB8ICA0 OCArKysrLQogLi4uL3QvMDMyX3JlcF9jaGFuZ2VzX2V4Y2VwdF90YWJsZS5wbCAgICAgICAgIHwg IDgwICsrKysrKysKIDI0IGZpbGVzIGNoYW5nZWQsIDY4OSBpbnNlcnRpb25zKCspLCAxMjkgZGVs ZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDMy X3JlcF9jaGFuZ2VzX2V4Y2VwdF90YWJsZS5wbAoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9j YXRhbG9ncy5zZ21sIGIvZG9jL3NyYy9zZ21sL2NhdGFsb2dzLnNnbWwKaW5kZXggMDBmODMzZDIx MC4uYzg2ZTMwMTgyZSAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2NhdGFsb2dzLnNnbWwKKysr IGIvZG9jL3NyYy9zZ21sL2NhdGFsb2dzLnNnbWwKQEAgLTY0NTUsNiArNjQ1NSwxNSBAQCBTQ1JB TS1TSEEtMjU2JDxyZXBsYWNlYWJsZT4mbHQ7aXRlcmF0aW9uIGNvdW50Jmd0OzwvcmVwbGFjZWFi bGU+OjxyZXBsYWNlYWJsZT4mbAogICAgICAgaWYgdGhlcmUgaXMgbm8gcHVibGljYXRpb24gcXVh bGlmeWluZyBjb25kaXRpb24uPC9wYXJhPjwvZW50cnk+CiAgICAgIDwvcm93PgogCisgICAgIDxy b3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgPHN0cnVjdGZpZWxkPnByZXhjZXB0PC9zdHJ1Y3Rm aWVsZD4gPHR5cGU+Ym9vbDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgIFRydWUgaWYgdGhlIHJlbGF0aW9uIG11c3QgYmUgZXhjbHVkZWQKKyAgICAgIDwvcGFyYT48 L2VudHJ5PgorICAgICA8L3Jvdz4KKwogICAgICA8cm93PgogICAgICAgPGVudHJ5IHJvbGU9ImNh dGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KICAgICAg ICA8c3RydWN0ZmllbGQ+cHJhdHRyczwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDJ2ZWN0b3I8L3R5 cGU+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvbG9naWNhbC1yZXBsaWNhdGlvbi5zZ21sIGIv ZG9jL3NyYy9zZ21sL2xvZ2ljYWwtcmVwbGljYXRpb24uc2dtbAppbmRleCBmODc1NjM4OWEzLi4x NmU3MTliMTMxIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvbG9naWNhbC1yZXBsaWNhdGlvbi5z Z21sCisrKyBiL2RvYy9zcmMvc2dtbC9sb2dpY2FsLXJlcGxpY2F0aW9uLnNnbWwKQEAgLTE3MjEs MTAgKzE3MjEsMTAgQEAgQ09OVEVYVDogIHByb2Nlc3NpbmcgcmVtb3RlIGRhdGEgZm9yIHJlcGxp Y2F0aW9uIG9yaWdpbiAicGdfMTYzOTUiIGR1cmluZyAiSU5TRVIKICAgPC9wYXJhPgogCiAgIDxw YXJhPgotICAgVG8gYWRkIHRhYmxlcyB0byBhIHB1YmxpY2F0aW9uLCB0aGUgdXNlciBtdXN0IGhh dmUgb3duZXJzaGlwIHJpZ2h0cyBvbiB0aGUKLSAgIHRhYmxlLiBUbyBhZGQgYWxsIHRhYmxlcyBp biBzY2hlbWEgdG8gYSBwdWJsaWNhdGlvbiwgdGhlIHVzZXIgbXVzdCBiZSBhCi0gICBzdXBlcnVz ZXIuIFRvIGNyZWF0ZSBhIHB1YmxpY2F0aW9uIHRoYXQgcHVibGlzaGVzIGFsbCB0YWJsZXMgb3Ig YWxsIHRhYmxlcyBpbgotICAgc2NoZW1hIGF1dG9tYXRpY2FsbHksIHRoZSB1c2VyIG11c3QgYmUg YSBzdXBlcnVzZXIuCisgICBUbyBjcmVhdGUgYSBwdWJsaWNhdGlvbiB1c2luZyBGT1IgQUxMIFRB QkxFUyBvciBGT1IgQUxMIFRBQkxFUyBJTiBTQ0hFTUEsCisgICB0aGUgdXNlciBtdXN0IGJlIGEg c3VwZXJ1c2VyLiBUbyBhZGQgQUxMIFRBQkxFUyBvciBBTEwgVEFCTEVTIElOIFNDSEVNQSB0byBh CisgICBwdWJsaWNhdGlvbiwgdGhlIHVzZXIgbXVzdCBiZSBhIHN1cGVydXNlci4gVG8gYWRkIHRh YmxlcyB0byBhIHB1YmxpY2F0aW9uLAorICAgdGhlIHVzZXIgbXVzdCBoYXZlIG93bmVyc2hpcCBy aWdodHMgb24gdGhlIHRhYmxlLgogICA8L3BhcmE+CiAKICAgPHBhcmE+CmRpZmYgLS1naXQgYS9k b2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3B1YmxpY2F0aW9uLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVm L2FsdGVyX3B1YmxpY2F0aW9uLnNnbWwKaW5kZXggMmYwNTA5ZWM0My4uMmE2MjkxODhhZiAxMDA2 NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl9wdWJsaWNhdGlvbi5zZ21sCisrKyBiL2Rv Yy9zcmMvc2dtbC9yZWYvYWx0ZXJfcHVibGljYXRpb24uc2dtbApAQCAtMjIsNiArMjIsNyBAQCBQ b3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KICA8cmVmc3lub3BzaXNkaXY+CiA8c3lub3BzaXM+CiBB TFRFUiBQVUJMSUNBVElPTiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVw bGFjZWFibGU+IEFERCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cHVibGljYXRpb25f b2JqZWN0PC9yZXBsYWNlYWJsZT4gWywgLi4uXQorQUxURVIgUFVCTElDQVRJT04gPHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPiBBREQgQUxMIFRBQkxFUyBb IEVYQ0VQVCBbIFRBQkxFIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmV4Y2VwdGlv bl9vYmplY3Q8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSBdCiBBTFRFUiBQVUJMSUNBVElPTiA8cmVw bGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+IFNFVCA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cHVibGljYXRpb25fb2JqZWN0PC9yZXBsYWNlYWJsZT4g WywgLi4uXQogQUxURVIgUFVCTElDQVRJT04gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi Pm5hbWU8L3JlcGxhY2VhYmxlPiBEUk9QIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5w dWJsaWNhdGlvbl9vYmplY3Q8L3JlcGxhY2VhYmxlPiBbLCAuLi5dCiBBTFRFUiBQVUJMSUNBVElP TiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+IFNFVCAo IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wdWJsaWNhdGlvbl9wYXJhbWV0ZXI8L3Jl cGxhY2VhYmxlPiBbPSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dmFsdWU8L3JlcGxh Y2VhYmxlPl0gWywgLi4uIF0gKQpAQCAtMzMsNiArMzQsMTEgQEAgQUxURVIgUFVCTElDQVRJT04g PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPiBSRVNFVAog CiAgICAgVEFCTEUgWyBPTkxZIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxl X25hbWU8L3JlcGxhY2VhYmxlPiBbICogXSBbICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPmNvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT4gWywgLi4uIF0gKSBdIFsgV0hFUkUgKCA8cmVw bGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZXhwcmVzc2lvbjwvcmVwbGFjZWFibGU+ICkgXSBb LCAuLi4gXQogICAgIFRBQkxFUyBJTiBTQ0hFTUEgeyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+c2NoZW1hX25hbWU8L3JlcGxhY2VhYmxlPiB8IENVUlJFTlRfU0NIRU1BIH0gWywgLi4u IF0KKworPHBocmFzZT53aGVyZSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZXhjZXB0 aW9uX29iamVjdDwvcmVwbGFjZWFibGU+IGlzOjwvcGhyYXNlPgorCisgICAgWyBPTkxZIF0gPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxlX25hbWU8L3JlcGxhY2VhYmxlPiBbICog XQorCiA8L3N5bm9wc2lzPgogIDwvcmVmc3lub3BzaXNkaXY+CiAKQEAgLTg0LDggKzkwLDkgQEAg QUxURVIgUFVCTElDQVRJT04gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3Jl cGxhY2VhYmxlPiBSRVNFVAogCiAgIDxwYXJhPgogICAgWW91IG11c3Qgb3duIHRoZSBwdWJsaWNh dGlvbiB0byB1c2UgPGNvbW1hbmQ+QUxURVIgUFVCTElDQVRJT048L2NvbW1hbmQ+LgotICAgQWRk aW5nIGEgdGFibGUgdG8gYSBwdWJsaWNhdGlvbiBhZGRpdGlvbmFsbHkgcmVxdWlyZXMgb3duaW5n IHRoYXQgdGFibGUuCi0gICBUaGUgPGxpdGVyYWw+QUREIFRBQkxFUyBJTiBTQ0hFTUE8L2xpdGVy YWw+LAorICAgQWRkaW5nIGEgdGFibGUgdG8gb3IgZXhjbHVkaW5nIGEgdGFibGUgZnJvbSBhIHB1 YmxpY2F0aW9uIGFkZGl0aW9uYWxseQorICAgcmVxdWlyZXMgb3duaW5nIHRoYXQgdGFibGUuIFRo ZSA8bGl0ZXJhbD5BREQgQUxMIFRBQkxFUzwvbGl0ZXJhbD4sCisgICA8bGl0ZXJhbD5BREQgQUxM IFRBQkxFUyBJTiBTQ0hFTUE8L2xpdGVyYWw+LAogICAgPGxpdGVyYWw+U0VUIFRBQkxFUyBJTiBT Q0hFTUE8L2xpdGVyYWw+IHRvIGEgcHVibGljYXRpb24gYW5kCiAgICA8bGl0ZXJhbD5SRVNFVDwv bGl0ZXJhbD4gb2YgcHVibGljYXRpb24gcmVxdWlyZXMgdGhlCiAgICBpbnZva2luZyB1c2VyIHRv IGJlIGEgc3VwZXJ1c2VyLiAgVG8gYWx0ZXIgdGhlIG93bmVyLCB5b3UgbXVzdCBhbHNvIGJlIGEK QEAgLTIxNiw2ICsyMjMsMTQgQEAgQUxURVIgUFVCTElDQVRJT04gc2FsZXNfcHVibGljYXRpb24g QUREIFRBQkxFUyBJTiBTQ0hFTUEgbWFya2V0aW5nLCBzYWxlczsKIDwvcHJvZ3JhbWxpc3Rpbmc+ CiAgIDwvcGFyYT4KIAorICA8cGFyYT4KKyAgIEFsdGVyIHB1YmxpY2F0aW9uIDxzdHJ1Y3RuYW1l PnByb2R1Y3Rpb25fcHVibGljYXRpb248L3N0cnVjdG5hbWU+IHRvIHB1Ymxpc2gKKyAgIGFsbCB0 YWJsZXMgZXhjZXB0IDxzdHJ1Y3RuYW1lPnVzZXJzPC9zdHJ1Y3RuYW1lPiBhbmQKKyAgIDxzdHJ1 Y3RuYW1lPmRlcGFydG1lbnRzPC9zdHJ1Y3RuYW1lPjoKKzxwcm9ncmFtbGlzdGluZz4KK0FMVEVS IFBVQkxJQ0FUSU9OIHByb2R1Y3Rpb25fcHVibGljYXRpb24gQUREIEFMTCBUQUJMRVMgRVhDRVBU IHVzZXJzLCBkZXBhcnRtZW50czsKKzwvcHJvZ3JhbWxpc3Rpbmc+PC9wYXJhPgorCiAgIDxwYXJh PgogICAgQWRkIHRhYmxlcyA8c3RydWN0bmFtZT51c2Vyczwvc3RydWN0bmFtZT4sCiAgICA8c3Ry dWN0bmFtZT5kZXBhcnRtZW50czwvc3RydWN0bmFtZT4gYW5kIHNjaGVtYQpkaWZmIC0tZ2l0IGEv ZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfcHVibGljYXRpb24uc2dtbCBiL2RvYy9zcmMvc2dtbC9y ZWYvY3JlYXRlX3B1YmxpY2F0aW9uLnNnbWwKaW5kZXggZTIyOTM4NGU2Zi4uNGM0NjdjMjU2MyAx MDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfcHVibGljYXRpb24uc2dtbAorKysg Yi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9wdWJsaWNhdGlvbi5zZ21sCkBAIC0yMiw3ICsyMiw3 IEBAIFBvc3RncmVTUUwgZG9jdW1lbnRhdGlvbgogIDxyZWZzeW5vcHNpc2Rpdj4KIDxzeW5vcHNp cz4KIENSRUFURSBQVUJMSUNBVElPTiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFt ZTwvcmVwbGFjZWFibGU+Ci0gICAgWyBGT1IgQUxMIFRBQkxFUworICAgIFsgRk9SIEFMTCBUQUJM RVMgWyBFWENFUFQgWyBUQUJMRSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5leGNl cHRpb25fb2JqZWN0PC9yZXBsYWNlYWJsZT4gWywgLi4uIF0gXQogICAgICAgfCBGT1IgPHJlcGxh Y2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnB1YmxpY2F0aW9uX29iamVjdDwvcmVwbGFjZWFibGU+ IFssIC4uLiBdIF0KICAgICBbIFdJVEggKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ cHVibGljYXRpb25fcGFyYW1ldGVyPC9yZXBsYWNlYWJsZT4gWz0gPHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPnZhbHVlPC9yZXBsYWNlYWJsZT5dIFssIC4uLiBdICkgXQogCkBAIC0zMCw2 ICszMCwxMCBAQCBDUkVBVEUgUFVCTElDQVRJT04gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPgogCiAgICAgVEFCTEUgWyBPTkxZIF0gPHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxlX25hbWU8L3JlcGxhY2VhYmxlPiBbICogXSBbICggPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT4gWywg Li4uIF0gKSBdIFsgV0hFUkUgKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZXhwcmVz c2lvbjwvcmVwbGFjZWFibGU+ICkgXSBbLCAuLi4gXQogICAgIFRBQkxFUyBJTiBTQ0hFTUEgeyA8 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+c2NoZW1hX25hbWU8L3JlcGxhY2VhYmxlPiB8 IENVUlJFTlRfU0NIRU1BIH0gWywgLi4uIF0KKworPHBocmFzZT53aGVyZSA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+ZXhjZXB0aW9uX29iamVjdDwvcmVwbGFjZWFibGU+IGlzOjwvcGhy YXNlPgorCisgICAgWyBPTkxZIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxl X25hbWU8L3JlcGxhY2VhYmxlPiBbICogXQogPC9zeW5vcHNpcz4KICA8L3JlZnN5bm9wc2lzZGl2 PgogCkBAIC0xMjIsNyArMTI2LDkgQEAgQ1JFQVRFIFBVQkxJQ0FUSU9OIDxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT4KICAgICA8bGlzdGl0ZW0+CiAgICAg IDxwYXJhPgogICAgICAgTWFya3MgdGhlIHB1YmxpY2F0aW9uIGFzIG9uZSB0aGF0IHJlcGxpY2F0 ZXMgY2hhbmdlcyBmb3IgYWxsIHRhYmxlcyBpbgotICAgICAgdGhlIGRhdGFiYXNlLCBpbmNsdWRp bmcgdGFibGVzIGNyZWF0ZWQgaW4gdGhlIGZ1dHVyZS4KKyAgICAgIHRoZSBkYXRhYmFzZSwgaW5j bHVkaW5nIHRhYmxlcyBjcmVhdGVkIGluIHRoZSBmdXR1cmUuIElmCisgICAgICA8bGl0ZXJhbD5F WENFUFQgVEFCTEU8L2xpdGVyYWw+IGlzIHNwZWNpZmllZCwgdGhlbiBleGNsdWRlIHJlcGxpY2F0 aW5nCisgICAgICB0aGUgY2hhbmdlcyBmb3IgdGhlIHNwZWNpZmllZCB0YWJsZXMuCiAgICAgIDwv cGFyYT4KICAgICA8L2xpc3RpdGVtPgogICAgPC92YXJsaXN0ZW50cnk+CkBAIC0xNTgsNiArMTY0 LDE2IEBAIENSRUFURSBQVUJMSUNBVElPTiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ bmFtZTwvcmVwbGFjZWFibGU+CiAgICAgPC9saXN0aXRlbT4KICAgIDwvdmFybGlzdGVudHJ5Pgog CisgICA8dmFybGlzdGVudHJ5PgorICAgIDx0ZXJtPjxsaXRlcmFsPkVYQ0VQVCBUQUJMRTwvbGl0 ZXJhbD48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIFRoaXMgY2xh dXNlIHNwZWNpZmllcyBhIGxpc3Qgb2YgdGFibGVzIHRvIGJlIGV4Y2x1ZGVkIGZyb20gdGhlCisg ICAgICBwdWJsaWNhdGlvbi4gSXQgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIDxsaXRlcmFsPkZPUiBB TEwgVEFCTEVTPC9saXRlcmFsPi4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8 L3Zhcmxpc3RlbnRyeT4KKwogICAgPHZhcmxpc3RlbnRyeT4KICAgICA8dGVybT48bGl0ZXJhbD5X SVRIICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnB1YmxpY2F0aW9uX3BhcmFtZXRl cjwvcmVwbGFjZWFibGU+IFs9IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj52YWx1ZTwv cmVwbGFjZWFibGU+XSBbLCAuLi4gXSApPC9saXRlcmFsPjwvdGVybT4KICAgICA8bGlzdGl0ZW0+ CkBAIC0zNzIsNiArMzg4LDE1IEBAIENSRUFURSBQVUJMSUNBVElPTiBwcm9kdWN0aW9uX3B1Ymxp Y2F0aW9uIEZPUiBUQUJMRSB1c2VycywgZGVwYXJ0bWVudHMsIFRBQkxFUyBJCiBDUkVBVEUgUFVC TElDQVRJT04gc2FsZXNfcHVibGljYXRpb24gRk9SIFRBQkxFUyBJTiBTQ0hFTUEgbWFya2V0aW5n LCBzYWxlczsKIDwvcHJvZ3JhbWxpc3Rpbmc+PC9wYXJhPgogCisgIDxwYXJhPgorICAgQ3JlYXRl IGEgcHVibGljYXRpb24gdGhhdCBwdWJsaXNoZXMgYWxsIGNoYW5nZXMgaW4gYWxsIHRoZSB0YWJs ZXMgZXhjZXB0IGZvcgorICAgdGhlIGNoYW5nZXMgb2YgPHN0cnVjdG5hbWU+dXNlcnM8L3N0cnVj dG5hbWU+IGFuZAorICAgPHN0cnVjdG5hbWU+ZGVwYXJ0bWVudHM8L3N0cnVjdG5hbWU+OgorPHBy b2dyYW1saXN0aW5nPgorQ1JFQVRFIFBVQkxJQ0FUSU9OIG15cHVibGljYXRpb24gRk9SIEFMTCBU QUJMRVMgRVhDRVBUIHVzZXJzLCBkZXBhcnRtZW50czsKKzwvcHJvZ3JhbWxpc3Rpbmc+CisgIDwv cGFyYT4KKwogICA8cGFyYT4KICAgIENyZWF0ZSBhIHB1YmxpY2F0aW9uIHRoYXQgcHVibGlzaGVz IGFsbCBjaGFuZ2VzIGZvciB0YWJsZSA8c3RydWN0bmFtZT51c2Vyczwvc3RydWN0bmFtZT4sCiAg ICBidXQgcmVwbGljYXRlcyBvbmx5IGNvbHVtbnMgPHN0cnVjdG5hbWU+dXNlcl9pZDwvc3RydWN0 bmFtZT4gYW5kCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL3BzcWwtcmVmLnNnbWwgYi9k b2Mvc3JjL3NnbWwvcmVmL3BzcWwtcmVmLnNnbWwKaW5kZXggOTQ5NGYyODA2My4uYzgzZjQ4NzQ4 NyAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9wc3FsLXJlZi5zZ21sCisrKyBiL2RvYy9z cmMvc2dtbC9yZWYvcHNxbC1yZWYuc2dtbApAQCAtMTg3MSw4ICsxODcxLDkgQEAgdGVzdGRiPSZn dDsKICAgICAgICAgSWYgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBhdHRlcm48L3Jl cGxhY2VhYmxlPiBpcwogICAgICAgICBzcGVjaWZpZWQsIG9ubHkgdGhvc2UgcHVibGljYXRpb25z IHdob3NlIG5hbWVzIG1hdGNoIHRoZSBwYXR0ZXJuIGFyZQogICAgICAgICBsaXN0ZWQuCi0gICAg ICAgIElmIDxsaXRlcmFsPis8L2xpdGVyYWw+IGlzIGFwcGVuZGVkIHRvIHRoZSBjb21tYW5kIG5h bWUsIHRoZSB0YWJsZXMgYW5kCi0gICAgICAgIHNjaGVtYXMgYXNzb2NpYXRlZCB3aXRoIGVhY2gg cHVibGljYXRpb24gYXJlIHNob3duIGFzIHdlbGwuCisgICAgICAgIElmIDxsaXRlcmFsPis8L2xp dGVyYWw+IGlzIGFwcGVuZGVkIHRvIHRoZSBjb21tYW5kIG5hbWUsIHRoZSB0YWJsZXMsCisgICAg ICAgIGV4Y2x1ZGVkIHRhYmxlcyBhbmQgc2NoZW1hcyBhc3NvY2lhdGVkIHdpdGggZWFjaCBwdWJs aWNhdGlvbiBhcmUgc2hvd24gYXMKKyAgICAgICAgd2VsbC4KICAgICAgICAgPC9wYXJhPgogICAg ICAgICA8L2xpc3RpdGVtPgogICAgICAgPC92YXJsaXN0ZW50cnk+CmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmMgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3Bn X3B1YmxpY2F0aW9uLmMKaW5kZXggNTk5NjcwOThiMy4uOWJhODQwNDVjOCAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5jCisrKyBiL3NyYy9iYWNrZW5kL2Nh dGFsb2cvcGdfcHVibGljYXRpb24uYwpAQCAtMjkwLDcgKzI5MCw4IEBAIEdldFB1YlBhcnRpdGlv bk9wdGlvblJlbGF0aW9ucyhMaXN0ICpyZXN1bHQsIFB1YmxpY2F0aW9uUGFydE9wdCBwdWJfcGFy dG9wdCwKICAqIGFuY2VzdG9yIGlzIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3QuCiAgKi8KIE9pZAot R2V0VG9wTW9zdEFuY2VzdG9ySW5QdWJsaWNhdGlvbihPaWQgcHVib2lkLCBMaXN0ICphbmNlc3Rv cnMsIGludCAqYW5jZXN0b3JfbGV2ZWwpCitHZXRUb3BNb3N0QW5jZXN0b3JJblB1YmxpY2F0aW9u KE9pZCBwdWJvaWQsIExpc3QgKmFuY2VzdG9ycywKKwkJCQkJCQkJaW50ICphbmNlc3Rvcl9sZXZl bCwgYm9vbCBwdWJhbGx0YWJsZXMpCiB7CiAJTGlzdENlbGwgICAqbGM7CiAJT2lkCQkJdG9wbW9z dF9yZWxpZCA9IEludmFsaWRPaWQ7CkBAIC0zMDIsMzIgKzMwMyw0NCBAQCBHZXRUb3BNb3N0QW5j ZXN0b3JJblB1YmxpY2F0aW9uKE9pZCBwdWJvaWQsIExpc3QgKmFuY2VzdG9ycywgaW50ICphbmNl c3Rvcl9sZXZlbAogCWZvcmVhY2gobGMsIGFuY2VzdG9ycykKIAl7CiAJCU9pZAkJCWFuY2VzdG9y ID0gbGZpcnN0X29pZChsYyk7Ci0JCUxpc3QJICAgKmFwdWJpZHMgPSBHZXRSZWxhdGlvblB1Ymxp Y2F0aW9ucyhhbmNlc3Rvcik7Ci0JCUxpc3QJICAgKmFzY2hlbWFQdWJpZHMgPSBOSUw7CisJCUxp c3QJICAgKmFwdWJpZHMgPSBHZXRSZWxhdGlvblB1YmxpY2F0aW9ucyhhbmNlc3RvciwgZmFsc2Up OworCQlMaXN0CSAgICphc2NoZW1hcHViaWRzID0gTklMOworCQlMaXN0CSAgICphZXhjZXB0cHVi aWRzID0gTklMOworCQlib29sCQlzZXRfdG9wID0gZmFsc2U7CiAKIAkJbGV2ZWwrKzsKIAotCQlp ZiAobGlzdF9tZW1iZXJfb2lkKGFwdWJpZHMsIHB1Ym9pZCkpCisJCS8qIGNoZWNrIGlmIG1lbWJl ciBvZiB0YWJsZSBwdWJsaWNhdGlvbnMgKi8KKwkJc2V0X3RvcCA9IGxpc3RfbWVtYmVyX29pZChh cHViaWRzLCBwdWJvaWQpOworCQlpZiAoIXNldF90b3ApCiAJCXsKLQkJCXRvcG1vc3RfcmVsaWQg PSBhbmNlc3RvcjsKKwkJCWFzY2hlbWFwdWJpZHMgPSBHZXRTY2hlbWFQdWJsaWNhdGlvbnMoZ2V0 X3JlbF9uYW1lc3BhY2UoYW5jZXN0b3IpKTsKIAotCQkJaWYgKGFuY2VzdG9yX2xldmVsKQotCQkJ CSphbmNlc3Rvcl9sZXZlbCA9IGxldmVsOworCQkJLyogY2hlY2sgaWYgbWVtYmVyIG9mIHNjaGVt YSBwdWJsaWNhdGlvbnMgKi8KKwkJCXNldF90b3AgPSBsaXN0X21lbWJlcl9vaWQoYXNjaGVtYXB1 YmlkcywgcHVib2lkKTsKKworCQkJLyoKKwkJCSAqIElmIHRoZSBwdWJsaWNhdGlvbiBpcyBhbGwg dGFibGVzIHB1YmxpY2F0aW9uIGFuZCB0aGUgdGFibGUKKwkJCSAqIGlzIG5vdCBwYXJ0IG9mIGV4 Y2VwdGlvbiB0YWJsZXMuCisJCQkgKi8KKwkJCWlmICghc2V0X3RvcCAmJiBwdWJhbGx0YWJsZXMp CisJCQl7CisJCQkJYWV4Y2VwdHB1YmlkcyA9IEdldFJlbGF0aW9uUHVibGljYXRpb25zKGFuY2Vz dG9yLCB0cnVlKTsKKwkJCQlzZXRfdG9wID0gIWxpc3RfbWVtYmVyX29pZChhZXhjZXB0cHViaWRz LCBwdWJvaWQpOworCQkJfQogCQl9Ci0JCWVsc2UKKworCQlpZiAoc2V0X3RvcCkKIAkJewotCQkJ YXNjaGVtYVB1YmlkcyA9IEdldFNjaGVtYVB1YmxpY2F0aW9ucyhnZXRfcmVsX25hbWVzcGFjZShh bmNlc3RvcikpOwotCQkJaWYgKGxpc3RfbWVtYmVyX29pZChhc2NoZW1hUHViaWRzLCBwdWJvaWQp KQotCQkJewotCQkJCXRvcG1vc3RfcmVsaWQgPSBhbmNlc3RvcjsKKwkJCXRvcG1vc3RfcmVsaWQg PSBhbmNlc3RvcjsKIAotCQkJCWlmIChhbmNlc3Rvcl9sZXZlbCkKLQkJCQkJKmFuY2VzdG9yX2xl dmVsID0gbGV2ZWw7Ci0JCQl9CisJCQlpZiAoYW5jZXN0b3JfbGV2ZWwpCisJCQkJKmFuY2VzdG9y X2xldmVsID0gbGV2ZWw7CiAJCX0KIAogCQlsaXN0X2ZyZWUoYXB1Ymlkcyk7Ci0JCWxpc3RfZnJl ZShhc2NoZW1hUHViaWRzKTsKKwkJbGlzdF9mcmVlKGFzY2hlbWFwdWJpZHMpOworCQlsaXN0X2Zy ZWUoYWV4Y2VwdHB1Ymlkcyk7CiAJfQogCiAJcmV0dXJuIHRvcG1vc3RfcmVsaWQ7CkBAIC0zOTYs NiArNDA5LDggQEAgcHVibGljYXRpb25fYWRkX3JlbGF0aW9uKE9pZCBwdWJpZCwgUHVibGljYXRp b25SZWxJbmZvICpwcmksCiAJCU9iamVjdElkR2V0RGF0dW0ocHViaWQpOwogCXZhbHVlc1tBbnVt X3BnX3B1YmxpY2F0aW9uX3JlbF9wcnJlbGlkIC0gMV0gPQogCQlPYmplY3RJZEdldERhdHVtKHJl bGlkKTsKKwl2YWx1ZXNbQW51bV9wZ19wdWJsaWNhdGlvbl9yZWxfcHJleGNlcHQgLSAxXSA9CisJ CUJvb2xHZXREYXR1bShwcmktPmV4Y2VwdCk7CiAKIAkvKiBBZGQgcXVhbGlmaWNhdGlvbnMsIGlm IGF2YWlsYWJsZSAqLwogCWlmIChwcmktPndoZXJlQ2xhdXNlICE9IE5VTEwpCkBAIC02NjQsOSAr Njc5LDkgQEAgcHVibGljYXRpb25fYWRkX3NjaGVtYShPaWQgcHViaWQsIE9pZCBzY2hlbWFpZCwg Ym9vbCBpZl9ub3RfZXhpc3RzKQogCXJldHVybiBteXNlbGY7CiB9CiAKLS8qIEdldHMgbGlzdCBv ZiBwdWJsaWNhdGlvbiBvaWRzIGZvciBhIHJlbGF0aW9uICovCisvKiBHZXRzIGxpc3Qgb2YgcHVi bGljYXRpb24gb2lkcyBmb3IgYSByZWxhdGlvbiB0aGF0IG1hdGNoZXMgdGhlIGV4Y2VwdF9mbGFn ICovCiBMaXN0ICoKLUdldFJlbGF0aW9uUHVibGljYXRpb25zKE9pZCByZWxpZCkKK0dldFJlbGF0 aW9uUHVibGljYXRpb25zKE9pZCByZWxpZCwgYm9vbCBleGNlcHRfZmxhZykKIHsKIAlMaXN0CSAg ICpyZXN1bHQgPSBOSUw7CiAJQ2F0Q0xpc3QgICAqcHVicmVsbGlzdDsKQEAgLTY4MCw3ICs2OTUs OCBAQCBHZXRSZWxhdGlvblB1YmxpY2F0aW9ucyhPaWQgcmVsaWQpCiAJCUhlYXBUdXBsZQl0dXAg PSAmcHVicmVsbGlzdC0+bWVtYmVyc1tpXS0+dHVwbGU7CiAJCU9pZAkJCXB1YmlkID0gKChGb3Jt X3BnX3B1YmxpY2F0aW9uX3JlbCkgR0VUU1RSVUNUKHR1cCkpLT5wcnB1YmlkOwogCi0JCXJlc3Vs dCA9IGxhcHBlbmRfb2lkKHJlc3VsdCwgcHViaWQpOworCQlpZiAoZXhjZXB0X2ZsYWcgPT0gKChG b3JtX3BnX3B1YmxpY2F0aW9uX3JlbCkgR0VUU1RSVUNUKHR1cCkpLT5wcmV4Y2VwdCkKKwkJCXJl c3VsdCA9IGxhcHBlbmRfb2lkKHJlc3VsdCwgcHViaWQpOwogCX0KIAogCVJlbGVhc2VTeXNDYWNo ZUxpc3QocHVicmVsbGlzdCk7CkBAIC03NzksMTMgKzc5NSwxNiBAQCBHZXRBbGxUYWJsZXNQdWJs aWNhdGlvbnModm9pZCkKICAqIHJvb3QgcGFydGl0aW9uZWQgdGFibGVzLgogICovCiBMaXN0ICoK LUdldEFsbFRhYmxlc1B1YmxpY2F0aW9uUmVsYXRpb25zKGJvb2wgcHVidmlhcm9vdCkKK0dldEFs bFRhYmxlc1B1YmxpY2F0aW9uUmVsYXRpb25zKE9pZCBwdWJpZCwgYm9vbCBwdWJ2aWFyb290KQog ewogCVJlbGF0aW9uCWNsYXNzUmVsOwogCVNjYW5LZXlEYXRhIGtleVsxXTsKIAlUYWJsZVNjYW5E ZXNjIHNjYW47CiAJSGVhcFR1cGxlCXR1cGxlOwogCUxpc3QJICAgKnJlc3VsdCA9IE5JTDsKKwlM aXN0CSAgICpleGNlcHRsaXN0OworCisJZXhjZXB0bGlzdCA9IEdldFB1YmxpY2F0aW9uUmVsYXRp b25zKHB1YmlkLCBQVUJMSUNBVElPTl9QQVJUX0FMTCk7CiAKIAljbGFzc1JlbCA9IHRhYmxlX29w ZW4oUmVsYXRpb25SZWxhdGlvbklkLCBBY2Nlc3NTaGFyZUxvY2spOwogCkBAIC04MDIsNyArODIx LDggQEAgR2V0QWxsVGFibGVzUHVibGljYXRpb25SZWxhdGlvbnMoYm9vbCBwdWJ2aWFyb290KQog CQlPaWQJCQlyZWxpZCA9IHJlbEZvcm0tPm9pZDsKIAogCQlpZiAoaXNfcHVibGlzaGFibGVfY2xh c3MocmVsaWQsIHJlbEZvcm0pICYmCi0JCQkhKHJlbEZvcm0tPnJlbGlzcGFydGl0aW9uICYmIHB1 YnZpYXJvb3QpKQorCQkJIShyZWxGb3JtLT5yZWxpc3BhcnRpdGlvbiAmJiBwdWJ2aWFyb290KSAm JgorCQkJIWxpc3RfbWVtYmVyX29pZChleGNlcHRsaXN0LCByZWxpZCkpCiAJCQlyZXN1bHQgPSBs YXBwZW5kX29pZChyZXN1bHQsIHJlbGlkKTsKIAl9CiAKQEAgLTgyMyw3ICs4NDMsOCBAQCBHZXRB bGxUYWJsZXNQdWJsaWNhdGlvblJlbGF0aW9ucyhib29sIHB1YnZpYXJvb3QpCiAJCQlPaWQJCQly ZWxpZCA9IHJlbEZvcm0tPm9pZDsKIAogCQkJaWYgKGlzX3B1Ymxpc2hhYmxlX2NsYXNzKHJlbGlk LCByZWxGb3JtKSAmJgotCQkJCSFyZWxGb3JtLT5yZWxpc3BhcnRpdGlvbikKKwkJCQkhcmVsRm9y bS0+cmVsaXNwYXJ0aXRpb24gJiYKKwkJCQkhbGlzdF9tZW1iZXJfb2lkKGV4Y2VwdGxpc3QsIHJl bGlkKSkKIAkJCQlyZXN1bHQgPSBsYXBwZW5kX29pZChyZXN1bHQsIHJlbGlkKTsKIAkJfQogCkBA IC0xMDU4LDcgKzEwNzksOCBAQCBwZ19nZXRfcHVibGljYXRpb25fdGFibGVzKFBHX0ZVTkNUSU9O X0FSR1MpCiAJCSAqLwogCQlpZiAocHVibGljYXRpb24tPmFsbHRhYmxlcykKIAkJewotCQkJdGFi bGVzID0gR2V0QWxsVGFibGVzUHVibGljYXRpb25SZWxhdGlvbnMocHVibGljYXRpb24tPnB1YnZp YXJvb3QpOworCQkJdGFibGVzID0gR2V0QWxsVGFibGVzUHVibGljYXRpb25SZWxhdGlvbnMocHVi bGljYXRpb24tPm9pZCwKKwkJCQkJCQkJCQkJCQkgIHB1YmxpY2F0aW9uLT5wdWJ2aWFyb290KTsK IAkJfQogCQllbHNlCiAJCXsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3B1Ymxp Y2F0aW9uY21kcy5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvcHVibGljYXRpb25jbWRzLmMKaW5k ZXggM2NmZjE2MzViZi4uZmQzODA1NDJlMCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFu ZHMvcHVibGljYXRpb25jbWRzLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvcHVibGljYXRp b25jbWRzLmMKQEAgLTE5Niw2ICsxOTYsMTEgQEAgT2JqZWN0c0luUHVibGljYXRpb25Ub09pZHMo TGlzdCAqcHVib2Jqc3BlY19saXN0LCBQYXJzZVN0YXRlICpwc3RhdGUsCiAJCXN3aXRjaCAocHVi b2JqLT5wdWJvYmp0eXBlKQogCQl7CiAJCQljYXNlIFBVQkxJQ0FUSU9OT0JKX1RBQkxFOgorCQkJ CXB1Ym9iai0+cHVidGFibGUtPmV4Y2VwdCA9IGZhbHNlOworCQkJCSpyZWxzID0gbGFwcGVuZCgq cmVscywgcHVib2JqLT5wdWJ0YWJsZSk7CisJCQkJYnJlYWs7CisJCQljYXNlIFBVQkxJQ0FUSU9O T0JKX0VYQ0VQVF9UQUJMRToKKwkJCQlwdWJvYmotPnB1YnRhYmxlLT5leGNlcHQgPSB0cnVlOwog CQkJCSpyZWxzID0gbGFwcGVuZCgqcmVscywgcHVib2JqLT5wdWJ0YWJsZSk7CiAJCQkJYnJlYWs7 CiAJCQljYXNlIFBVQkxJQ0FUSU9OT0JKX1RBQkxFU19JTl9TQ0hFTUE6CkBAIC0yNzAsNyArMjc1 LDcgQEAgY29udGFpbl9pbnZhbGlkX3JmY29sdW1uX3dhbGtlcihOb2RlICpub2RlLCByZl9jb250 ZXh0ICpjb250ZXh0KQogICovCiBib29sCiBwdWJfcmZfY29udGFpbnNfaW52YWxpZF9jb2x1bW4o T2lkIHB1YmlkLCBSZWxhdGlvbiByZWxhdGlvbiwgTGlzdCAqYW5jZXN0b3JzLAotCQkJCQkJCSAg IGJvb2wgcHVidmlhcm9vdCkKKwkJCQkJCQkgICBib29sIHB1YnZpYXJvb3QsIGJvb2wgcHViYWxs dGFibGVzKQogewogCUhlYXBUdXBsZQlyZnR1cGxlOwogCU9pZAkJCXJlbGlkID0gUmVsYXRpb25H ZXRSZWxpZChyZWxhdGlvbik7CkBAIC0yOTcsNyArMzAyLDggQEAgcHViX3JmX2NvbnRhaW5zX2lu dmFsaWRfY29sdW1uKE9pZCBwdWJpZCwgUmVsYXRpb24gcmVsYXRpb24sIExpc3QgKmFuY2VzdG9y cywKIAlpZiAocHVidmlhcm9vdCAmJiByZWxhdGlvbi0+cmRfcmVsLT5yZWxpc3BhcnRpdGlvbikK IAl7CiAJCXB1Ymxpc2hfYXNfcmVsaWQKLQkJCT0gR2V0VG9wTW9zdEFuY2VzdG9ySW5QdWJsaWNh dGlvbihwdWJpZCwgYW5jZXN0b3JzLCBOVUxMKTsKKwkJCT0gR2V0VG9wTW9zdEFuY2VzdG9ySW5Q dWJsaWNhdGlvbihwdWJpZCwgYW5jZXN0b3JzLCBOVUxMLAorCQkJCQkJCQkJCQkgIHB1YmFsbHRh Ymxlcyk7CiAKIAkJaWYgKCFPaWRJc1ZhbGlkKHB1Ymxpc2hfYXNfcmVsaWQpKQogCQkJcHVibGlz aF9hc19yZWxpZCA9IHJlbGlkOwpAQCAtMzQ2LDcgKzM1Miw3IEBAIHB1Yl9yZl9jb250YWluc19p bnZhbGlkX2NvbHVtbihPaWQgcHViaWQsIFJlbGF0aW9uIHJlbGF0aW9uLCBMaXN0ICphbmNlc3Rv cnMsCiAgKi8KIGJvb2wKIHB1Yl9jb2xsaXN0X2NvbnRhaW5zX2ludmFsaWRfY29sdW1uKE9pZCBw dWJpZCwgUmVsYXRpb24gcmVsYXRpb24sIExpc3QgKmFuY2VzdG9ycywKLQkJCQkJCQkJCWJvb2wg cHVidmlhcm9vdCkKKwkJCQkJCQkJCWJvb2wgcHVidmlhcm9vdCwgYm9vbCBwdWJhbGx0YWJsZXMp CiB7CiAJSGVhcFR1cGxlCXR1cGxlOwogCU9pZAkJCXJlbGlkID0gUmVsYXRpb25HZXRSZWxpZChy ZWxhdGlvbik7CkBAIC0zNjUsNyArMzcxLDggQEAgcHViX2NvbGxpc3RfY29udGFpbnNfaW52YWxp ZF9jb2x1bW4oT2lkIHB1YmlkLCBSZWxhdGlvbiByZWxhdGlvbiwgTGlzdCAqYW5jZXN0b3IKIAkg Ki8KIAlpZiAocHVidmlhcm9vdCAmJiByZWxhdGlvbi0+cmRfcmVsLT5yZWxpc3BhcnRpdGlvbikK IAl7Ci0JCXB1Ymxpc2hfYXNfcmVsaWQgPSBHZXRUb3BNb3N0QW5jZXN0b3JJblB1YmxpY2F0aW9u KHB1YmlkLCBhbmNlc3RvcnMsIE5VTEwpOworCQlwdWJsaXNoX2FzX3JlbGlkID0gR2V0VG9wTW9z dEFuY2VzdG9ySW5QdWJsaWNhdGlvbihwdWJpZCwgYW5jZXN0b3JzLAorCQkJCQkJCQkJCQkJCQkg ICBOVUxMLCBwdWJhbGx0YWJsZXMpOwogCiAJCWlmICghT2lkSXNWYWxpZChwdWJsaXNoX2FzX3Jl bGlkKSkKIAkJCXB1Ymxpc2hfYXNfcmVsaWQgPSByZWxpZDsKQEAgLTgyMSw1MiArODI4LDUwIEBA IENyZWF0ZVB1YmxpY2F0aW9uKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQ3JlYXRlUHVibGljYXRpb25T dG10ICpzdG10KQogCS8qIE1ha2UgdGhlIGNoYW5nZXMgdmlzaWJsZS4gKi8KIAlDb21tYW5kQ291 bnRlckluY3JlbWVudCgpOwogCi0JLyogQXNzb2NpYXRlIG9iamVjdHMgd2l0aCB0aGUgcHVibGlj YXRpb24uICovCi0JaWYgKHN0bXQtPmZvcl9hbGxfdGFibGVzKQotCXsKLQkJLyogSW52YWxpZGF0 ZSByZWxjYWNoZSBzbyB0aGF0IHB1YmxpY2F0aW9uIGluZm8gaXMgcmVidWlsdC4gKi8KLQkJQ2Fj aGVJbnZhbGlkYXRlUmVsY2FjaGVBbGwoKTsKLQl9Ci0JZWxzZQotCXsKLQkJT2JqZWN0c0luUHVi bGljYXRpb25Ub09pZHMoc3RtdC0+cHVib2JqZWN0cywgcHN0YXRlLCAmcmVsYXRpb25zLAotCQkJ CQkJCQkgICAmc2NoZW1haWRsaXN0KTsKKwlPYmplY3RzSW5QdWJsaWNhdGlvblRvT2lkcyhzdG10 LT5wdWJvYmplY3RzLCBwc3RhdGUsICZyZWxhdGlvbnMsCisJCQkJCQkJICAgJnNjaGVtYWlkbGlz dCk7CiAKLQkJLyogRk9SIFRBQkxFUyBJTiBTQ0hFTUEgcmVxdWlyZXMgc3VwZXJ1c2VyICovCi0J CWlmIChzY2hlbWFpZGxpc3QgIT0gTklMICYmICFzdXBlcnVzZXIoKSkKLQkJCWVyZXBvcnQoRVJS T1IsCi0JCQkJCWVycmNvZGUoRVJSQ09ERV9JTlNVRkZJQ0lFTlRfUFJJVklMRUdFKSwKLQkJCQkJ ZXJybXNnKCJtdXN0IGJlIHN1cGVydXNlciB0byBjcmVhdGUgRk9SIFRBQkxFUyBJTiBTQ0hFTUEg cHVibGljYXRpb24iKSk7CisJLyogRk9SIFRBQkxFUyBJTiBTQ0hFTUEgcmVxdWlyZXMgc3VwZXJ1 c2VyICovCisJaWYgKHNjaGVtYWlkbGlzdCAhPSBOSUwgJiYgIXN1cGVydXNlcigpKQorCQllcmVw b3J0KEVSUk9SLAorCQkJCWVycmNvZGUoRVJSQ09ERV9JTlNVRkZJQ0lFTlRfUFJJVklMRUdFKSwK KwkJCQllcnJtc2coIm11c3QgYmUgc3VwZXJ1c2VyIHRvIGNyZWF0ZSBGT1IgVEFCTEVTIElOIFND SEVNQSBwdWJsaWNhdGlvbiIpKTsKIAotCQlpZiAocmVsYXRpb25zICE9IE5JTCkKLQkJewotCQkJ TGlzdAkgICAqcmVsczsKKwlpZiAocmVsYXRpb25zICE9IE5JTCkKKwl7CisJCUxpc3QJICAgKnJl bHM7CiAKLQkJCXJlbHMgPSBPcGVuVGFibGVMaXN0KHJlbGF0aW9ucyk7Ci0JCQlUcmFuc2Zvcm1Q dWJXaGVyZUNsYXVzZXMocmVscywgcHN0YXRlLT5wX3NvdXJjZXRleHQsCi0JCQkJCQkJCQkgcHVi bGlzaF92aWFfcGFydGl0aW9uX3Jvb3QpOworCQlyZWxzID0gT3BlblRhYmxlTGlzdChyZWxhdGlv bnMpOworCQlUcmFuc2Zvcm1QdWJXaGVyZUNsYXVzZXMocmVscywgcHN0YXRlLT5wX3NvdXJjZXRl eHQsCisJCQkJCQkJCQlwdWJsaXNoX3ZpYV9wYXJ0aXRpb25fcm9vdCk7CiAKLQkJCUNoZWNrUHVi UmVsYXRpb25Db2x1bW5MaXN0KHN0bXQtPnB1Ym5hbWUsIHJlbHMsCi0JCQkJCQkJCQkgICBzY2hl bWFpZGxpc3QgIT0gTklMLAotCQkJCQkJCQkJICAgcHVibGlzaF92aWFfcGFydGl0aW9uX3Jvb3Qp OworCQlDaGVja1B1YlJlbGF0aW9uQ29sdW1uTGlzdChzdG10LT5wdWJuYW1lLCByZWxzLAorCQkJ CQkJCQkJc2NoZW1haWRsaXN0ICE9IE5JTCwKKwkJCQkJCQkJCXB1Ymxpc2hfdmlhX3BhcnRpdGlv bl9yb290KTsKIAotCQkJUHVibGljYXRpb25BZGRUYWJsZXMocHVib2lkLCByZWxzLCB0cnVlLCBO VUxMKTsKLQkJCUNsb3NlVGFibGVMaXN0KHJlbHMpOwotCQl9CisJCVB1YmxpY2F0aW9uQWRkVGFi bGVzKHB1Ym9pZCwgcmVscywgdHJ1ZSwgTlVMTCk7CisJCUNsb3NlVGFibGVMaXN0KHJlbHMpOwor CX0KIAotCQlpZiAoc2NoZW1haWRsaXN0ICE9IE5JTCkKLQkJewotCQkJLyoKLQkJCSAqIFNjaGVt YSBsb2NrIGlzIGhlbGQgdW50aWwgdGhlIHB1YmxpY2F0aW9uIGlzIGNyZWF0ZWQgdG8gcHJldmVu dAotCQkJICogY29uY3VycmVudCBzY2hlbWEgZGVsZXRpb24uCi0JCQkgKi8KLQkJCUxvY2tTY2hl bWFMaXN0KHNjaGVtYWlkbGlzdCk7Ci0JCQlQdWJsaWNhdGlvbkFkZFNjaGVtYXMocHVib2lkLCBz Y2hlbWFpZGxpc3QsIHRydWUsIE5VTEwpOwotCQl9CisJaWYgKHNjaGVtYWlkbGlzdCAhPSBOSUwp CisJeworCQkvKgorCQkgKiBTY2hlbWEgbG9jayBpcyBoZWxkIHVudGlsIHRoZSBwdWJsaWNhdGlv biBpcyBjcmVhdGVkIHRvIHByZXZlbnQKKwkJICogY29uY3VycmVudCBzY2hlbWEgZGVsZXRpb24u CisJCSAqLworCQlMb2NrU2NoZW1hTGlzdChzY2hlbWFpZGxpc3QpOworCQlQdWJsaWNhdGlvbkFk ZFNjaGVtYXMocHVib2lkLCBzY2hlbWFpZGxpc3QsIHRydWUsIE5VTEwpOwogCX0KIAogCXRhYmxl X2Nsb3NlKHJlbCwgUm93RXhjbHVzaXZlTG9jayk7CiAKKwkvKiBBc3NvY2lhdGUgb2JqZWN0cyB3 aXRoIHRoZSBwdWJsaWNhdGlvbi4gKi8KKwlpZiAoc3RtdC0+Zm9yX2FsbF90YWJsZXMpCisJewor CQkvKiBJbnZhbGlkYXRlIHJlbGNhY2hlIHNvIHRoYXQgcHVibGljYXRpb24gaW5mbyBpcyByZWJ1 aWx0LiAqLworCQlDYWNoZUludmFsaWRhdGVSZWxjYWNoZUFsbCgpOworCX0KKwogCUludm9rZU9i amVjdFBvc3RDcmVhdGVIb29rKFB1YmxpY2F0aW9uUmVsYXRpb25JZCwgcHVib2lkLCAwKTsKIAog CWlmICh3YWxfbGV2ZWwgIT0gV0FMX0xFVkVMX0xPR0lDQUwpCkBAIC0xMTMzLDYgKzExMzgsMjcg QEAgQWx0ZXJQdWJsaWNhdGlvblJlc2V0KFBhcnNlU3RhdGUgKnBzdGF0ZSwgQWx0ZXJQdWJsaWNh dGlvblN0bXQgKnN0bXQsCiAJdmFsdWVzW0FudW1fcGdfcHVibGljYXRpb25fcHVidmlhcm9vdCAt IDFdID0gQm9vbEdldERhdHVtKFBVQl9ERUZBVUxUX1ZJQV9ST09UKTsKIAlyZXBsYWNlc1tBbnVt X3BnX3B1YmxpY2F0aW9uX3B1YnZpYXJvb3QgLSAxXSA9IHRydWU7CiAKKwkvKgorCSAqIExvY2sg dGhlIHB1YmxpY2F0aW9uIHNvIG5vYm9keSBlbHNlIGNhbiBkbyBhbnl0aGluZyB3aXRoIGl0LiBU aGlzCisJICogcHJldmVudHMgY29uY3VycmVudCBwdWJsaWNhdGlvbiBwYXJhbWV0ZXIgY2hhbmdl cywgYWRkL2Ryb3AgdGFibGVzKHMpIHRvCisJICogdGhlIHB1YmxpY2F0aW9uIGFuZCBhZGQvZHJv cCBzY2hlbWEocykgdG8gdGhlIHB1YmxpY2F0aW9uLgorCSAqLworCUxvY2tEYXRhYmFzZU9iamVj dChQdWJsaWNhdGlvblJlbGF0aW9uSWQsIHB1YmlkLCAwLAorCQkJCQkJQWNjZXNzRXhjbHVzaXZl TG9jayk7CisKKwkvKgorCSAqIEl0IGlzIHBvc3NpYmxlIHRoYXQgYnkgdGhlIHRpbWUgd2UgYWNx dWlyZSB0aGUgbG9jayBvbiBwdWJsaWNhdGlvbiwKKwkgKiBjb25jdXJyZW50IERETCBoYXMgcmVt b3ZlZCBpdC4gV2UgY2FuIHRlc3QgdGhpcyBieSBjaGVja2luZyB0aGUKKwkgKiBleGlzdGVuY2Ug b2YgcHVibGljYXRpb24uIFdlIGdldCB0aGUgdHVwbGUgYWdhaW4gdG8gYXZvaWQgdGhlIHJpc2sK KwkgKiBvZiBhbnkgcHVibGljYXRpb24gb3B0aW9uIGdldHRpbmcgY2hhbmdlZC4KKwkgKi8KKwl0 dXAgPSBTZWFyY2hTeXNDYWNoZUNvcHkxKFBVQkxJQ0FUSU9OT0lELCBPYmplY3RJZEdldERhdHVt KHB1YmlkKSk7CisJaWYgKCFIZWFwVHVwbGVJc1ZhbGlkKHR1cCkpCisJCWVyZXBvcnQoRVJST1Is CisJCQkJZXJyY29kZShFUlJDT0RFX1VOREVGSU5FRF9PQkpFQ1QpLAorCQkJCWVycm1zZygicHVi bGljYXRpb24gXCIlc1wiIGRvZXMgbm90IGV4aXN0IiwKKwkJCQkJCXN0bXQtPnB1Ym5hbWUpKTsK KwogCS8qIFNldCBBTEwgVEFCTEVTIGZsYWcgdG8gZmFsc2UgKi8KIAlpZiAocHViZm9ybS0+cHVi YWxsdGFibGVzKQogCXsKQEAgLTExNzEsNiArMTE5Nyw3OSBAQCBBbHRlclB1YmxpY2F0aW9uUmVz ZXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBBbHRlclB1YmxpY2F0aW9uU3RtdCAqc3RtdCwKIAl9CiB9 CiAKKy8qCisgKiBDaGVjayBpZiB0aGUgcHVibGljYXRpb24gaGFzIGRlZmF1bHQgdmFsdWVzLgor ICoKKyAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgcHVibGljYXRpb24gc2F0aXNmaWVzIGFsbCB0aGUg Zm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKiBhKSBQdWJsaWNhdGlvbiBpcyBub3Qgc2V0IHdpdGgg IkZPUiBBTEwgVEFCTEVTIgorICogYikgUHVibGljYXRpb24gaXMgaGF2aW5nIGRlZmF1bHQgcHVi bGljYXRpb24gcGFyYW1ldGVyIHZhbHVlcworICogYykgUHVibGljYXRpb24gaXMgbm90IGFzc29j aWF0ZWQgd2l0aCBzY2hlbWFzCisgKiBkKSBQdWJsaWNhdGlvbiBpcyBub3QgYXNzb2NpYXRlZCB3 aXRoIHJlbGF0aW9ucworICovCitzdGF0aWMgYm9vbAorQ2hlY2tQdWJsaWNhdGlvbkRlZlZhbHVl cyhIZWFwVHVwbGUgdHVwKQoreworCUZvcm1fcGdfcHVibGljYXRpb24gcHViZm9ybSA9IChGb3Jt X3BnX3B1YmxpY2F0aW9uKSBHRVRTVFJVQ1QodHVwKTsKKwlPaWQJCQlwdWJpZCA9IHB1YmZvcm0t Pm9pZDsKKwlMaXN0CSAgICpwdWJvYmpzID0gTklMOworCisJaWYgKHB1YmZvcm0tPnB1YmFsbHRh YmxlcyAhPSBQVUJfREVGQVVMVF9BTExfVEFCTEVTKQorCQlyZXR1cm4gZmFsc2U7CisKKwlpZiAo cHViZm9ybS0+cHViaW5zZXJ0ICE9IFBVQl9ERUZBVUxUX0FDVElPTl9JTlNFUlQgfHwKKwkJcHVi Zm9ybS0+cHVidXBkYXRlICE9IFBVQl9ERUZBVUxUX0FDVElPTl9VUERBVEUgfHwKKwkJcHViZm9y bS0+cHViZGVsZXRlICE9IFBVQl9ERUZBVUxUX0FDVElPTl9ERUxFVEUgfHwKKwkJcHViZm9ybS0+ cHVidHJ1bmNhdGUgIT0gUFVCX0RFRkFVTFRfQUNUSU9OX1RSVU5DQVRFIHx8CisJCXB1YmZvcm0t PnB1YnZpYXJvb3QgIT0gUFVCX0RFRkFVTFRfVklBX1JPT1QpCisJCXJldHVybiBmYWxzZTsKKwor CXB1Ym9ianMgPSBHZXRQdWJsaWNhdGlvblNjaGVtYXMocHViaWQpOworCWlmIChsaXN0X2xlbmd0 aChwdWJvYmpzKSkKKwkJcmV0dXJuIGZhbHNlOworCisJcHVib2JqcyA9IEdldFB1YmxpY2F0aW9u UmVsYXRpb25zKHB1YmlkLCBQVUJMSUNBVElPTl9QQVJUX1JPT1QpOworCWlmIChsaXN0X2xlbmd0 aChwdWJvYmpzKSkKKwkJcmV0dXJuIGZhbHNlOworCisJcmV0dXJuIHRydWU7Cit9CisKKy8qCisg KiBTZXQgcHVibGljYXRpb24gdG8gcHVibGlzaCBhbGwgdGFibGVzLgorICovCitzdGF0aWMgdm9p ZAorQWx0ZXJQdWJsaWNhdGlvblNldEFsbFRhYmxlcyhSZWxhdGlvbiByZWwsIEhlYXBUdXBsZSB0 dXApCit7CisJRm9ybV9wZ19wdWJsaWNhdGlvbiBwdWJmb3JtIFBHX1VTRURfRk9SX0FTU0VSVFNf T05MWSA9IChGb3JtX3BnX3B1YmxpY2F0aW9uKSBHRVRTVFJVQ1QodHVwKTsKKwlib29sCQludWxs c1tOYXR0c19wZ19wdWJsaWNhdGlvbl07CisJYm9vbAkJcmVwbGFjZXNbTmF0dHNfcGdfcHVibGlj YXRpb25dOworCURhdHVtCQl2YWx1ZXNbTmF0dHNfcGdfcHVibGljYXRpb25dOworCisjaWZkZWYg VVNFX0FTU0VSVF9DSEVDS0lORworCUFzc2VydCghcHViZm9ybS0+cHViYWxsdGFibGVzKTsKKyNl bmRpZgorCisJLyogQWRkIEFMTCBUQUJMRVMgdG8gdGhlIHB1YmxpY2F0aW9uIHJlcXVpcmVzIHN1 cGVydXNlciAqLworCWlmICghc3VwZXJ1c2VyKCkpCisJCWVyZXBvcnQoRVJST1IsCisJCQkJZXJy Y29kZShFUlJDT0RFX0lOU1VGRklDSUVOVF9QUklWSUxFR0UpLAorCQkJCWVycm1zZygibXVzdCBi ZSBzdXBlcnVzZXIgdG8gQUREIEFMTCBUQUJMRVMgdG8gdGhlIHB1YmxpY2F0aW9uIikpOworCisJ bWVtc2V0KHZhbHVlcywgMCwgc2l6ZW9mKHZhbHVlcykpOworCW1lbXNldChudWxscywgZmFsc2Us IHNpemVvZihudWxscykpOworCW1lbXNldChyZXBsYWNlcywgZmFsc2UsIHNpemVvZihyZXBsYWNl cykpOworCisJLyogU2V0IEFMTCBUQUJMRVMgZmxhZyAqLworCXZhbHVlc1tBbnVtX3BnX3B1Ymxp Y2F0aW9uX3B1YmFsbHRhYmxlcyAtIDFdID0gQm9vbEdldERhdHVtKHRydWUpOworCXJlcGxhY2Vz W0FudW1fcGdfcHVibGljYXRpb25fcHViYWxsdGFibGVzIC0gMV0gPSB0cnVlOworCisJdHVwID0g aGVhcF9tb2RpZnlfdHVwbGUodHVwLCBSZWxhdGlvbkdldERlc2NyKHJlbCksIHZhbHVlcywgbnVs bHMsCisJCQkJCQkJcmVwbGFjZXMpOworCisJLyogVXBkYXRlIHRoZSBjYXRhbG9nLiAqLworCUNh dGFsb2dUdXBsZVVwZGF0ZShyZWwsICZ0dXAtPnRfc2VsZiwgdHVwKTsKK30KKwogLyoKICAqIEFk ZCBvciByZW1vdmUgdGFibGUgdG8vZnJvbSBwdWJsaWNhdGlvbi4KICAqLwpAQCAtMTQ5MSw2ICsx NTkwLDIwIEBAIEFsdGVyUHVibGljYXRpb24oUGFyc2VTdGF0ZSAqcHN0YXRlLCBBbHRlclB1Ymxp Y2F0aW9uU3RtdCAqc3RtdCkKIAkJYWNsY2hlY2tfZXJyb3IoQUNMQ0hFQ0tfTk9UX09XTkVSLCBP QkpFQ1RfUFVCTElDQVRJT04sCiAJCQkJCSAgIHN0bXQtPnB1Ym5hbWUpOwogCisJaWYgKHN0bXQt PmZvcl9hbGxfdGFibGVzKQorCXsKKwkJYm9vbAkJaXNkZWZhdWx0ID0gQ2hlY2tQdWJsaWNhdGlv bkRlZlZhbHVlcyh0dXApOworCisJCWlmICghaXNkZWZhdWx0KQorCQkJZXJlcG9ydChFUlJPUiwK KwkJCQkJZXJyY29kZShFUlJDT0RFX0lOVkFMSURfT0JKRUNUX0RFRklOSVRJT04pLAorCQkJCQll cnJtc2coImFkZGluZyBBTEwgVEFCTEVTIHJlcXVpcmVzIHRoZSBwdWJsaWNhdGlvbiB0byBoYXZl IGRlZmF1bHQgcHVibGljYXRpb24gcGFyYW1ldGVyIHZhbHVlcyIpLAorCQkJCQllcnJkZXRhaWwo IkFMTCBUQUJMRVMgZmxhZyBzaG91bGQgbm90IGJlIHNldCBhbmQgbm8gdGFibGVzL3NjaGVtYXMg c2hvdWxkIGJlIGFzc29jaWF0ZWQuIik7CisJCQkJCWVycmhpbnQoIlVzZSBBTFRFUiBQVUJMSUNB VElPTiAuLi4gUkVTRVQgdG8gcmVzZXQgdGhlIHB1YmxpY2F0aW9uIikpOworCisJCUFsdGVyUHVi bGljYXRpb25TZXRBbGxUYWJsZXMocmVsLCB0dXApOworCX0KKwogCWlmIChzdG10LT5vcHRpb25z KQogCQlBbHRlclB1YmxpY2F0aW9uT3B0aW9ucyhwc3RhdGUsIHN0bXQsIHJlbCwgdHVwKTsKIAll bHNlIGlmIChzdG10LT5hY3Rpb24gPT0gQVBfUmVzZXRQdWJsaWNhdGlvbikKQEAgLTE3MDMsNiAr MTgxNiw3IEBAIE9wZW5UYWJsZUxpc3QoTGlzdCAqdGFibGVzKQogCQlwdWJfcmVsLT5yZWxhdGlv biA9IHJlbDsKIAkJcHViX3JlbC0+d2hlcmVDbGF1c2UgPSB0LT53aGVyZUNsYXVzZTsKIAkJcHVi X3JlbC0+Y29sdW1ucyA9IHQtPmNvbHVtbnM7CisJCXB1Yl9yZWwtPmV4Y2VwdCA9IHQtPmV4Y2Vw dDsKIAkJcmVscyA9IGxhcHBlbmQocmVscywgcHViX3JlbCk7CiAJCXJlbGlkcyA9IGxhcHBlbmRf b2lkKHJlbGlkcywgbXlyZWxpZCk7CiAKQEAgLTE3NzUsNiArMTg4OSw3IEBAIE9wZW5UYWJsZUxp c3QoTGlzdCAqdGFibGVzKQogCiAJCQkJLyogY2hpbGQgaW5oZXJpdHMgY29sdW1uIGxpc3QgZnJv bSBwYXJlbnQgKi8KIAkJCQlwdWJfcmVsLT5jb2x1bW5zID0gdC0+Y29sdW1uczsKKwkJCQlwdWJf cmVsLT5leGNlcHQgPSB0LT5leGNlcHQ7CiAJCQkJcmVscyA9IGxhcHBlbmQocmVscywgcHViX3Jl bCk7CiAJCQkJcmVsaWRzID0gbGFwcGVuZF9vaWQocmVsaWRzLCBjaGlsZHJlbGlkKTsKIApAQCAt MTg1MCw4ICsxOTY1LDYgQEAgUHVibGljYXRpb25BZGRUYWJsZXMoT2lkIHB1YmlkLCBMaXN0ICpy ZWxzLCBib29sIGlmX25vdF9leGlzdHMsCiB7CiAJTGlzdENlbGwgICAqbGM7CiAKLQlBc3NlcnQo IXN0bXQgfHwgIXN0bXQtPmZvcl9hbGxfdGFibGVzKTsKLQogCWZvcmVhY2gobGMsIHJlbHMpCiAJ ewogCQlQdWJsaWNhdGlvblJlbEluZm8gKnB1Yl9yZWwgPSAoUHVibGljYXRpb25SZWxJbmZvICop IGxmaXJzdChsYyk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMu YyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCmluZGV4IDYwMDdlMTA3MzAuLmVh YWU2M2E4YWIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCisr KyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCkBAIC0xNjMxMyw3ICsxNjMxMyw3 IEBAIEFUUHJlcENoYW5nZVBlcnNpc3RlbmNlKFJlbGF0aW9uIHJlbCwgYm9vbCB0b0xvZ2dlZCkK IAkgKiBVTkxPR0dFRCwgYXMgVU5MT0dHRUQgdGFibGVzIGNhbid0IGJlIHB1Ymxpc2hlZC4KIAkg Ki8KIAlpZiAoIXRvTG9nZ2VkICYmCi0JCUdldFJlbGF0aW9uUHVibGljYXRpb25zKFJlbGF0aW9u R2V0UmVsaWQocmVsKSkgIT0gTklMKQorCQlsaXN0X2xlbmd0aChHZXRSZWxhdGlvblB1YmxpY2F0 aW9ucyhSZWxhdGlvbkdldFJlbGlkKHJlbCksIGZhbHNlKSkgPiAwKQogCQllcmVwb3J0KEVSUk9S LAogCQkJCShlcnJjb2RlKEVSUkNPREVfT0JKRUNUX05PVF9JTl9QUkVSRVFVSVNJVEVfU1RBVEUp LAogCQkJCSBlcnJtc2coImNhbm5vdCBjaGFuZ2UgdGFibGUgXCIlc1wiIHRvIHVubG9nZ2VkIGJl Y2F1c2UgaXQgaXMgcGFydCBvZiBhIHB1YmxpY2F0aW9uIiwKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL3BhcnNlci9ncmFtLnkgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CmluZGV4IDFjMDQy ZWIxYTcuLjZjNzVmNmZmNGUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkK KysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQpAQCAtNDUyLDcgKzQ1Miw3IEBAIHN0YXRp YyBOb2RlICptYWtlUmVjdXJzaXZlVmlld1NlbGVjdChjaGFyICpyZWxuYW1lLCBMaXN0ICphbGlh c2VzLCBOb2RlICpxdWVyeSk7CiAJCQkJdHJhbnNmb3JtX2VsZW1lbnRfbGlzdCB0cmFuc2Zvcm1f dHlwZV9saXN0CiAJCQkJVHJpZ2dlclRyYW5zaXRpb25zIFRyaWdnZXJSZWZlcmVuY2luZwogCQkJ CXZhY3V1bV9yZWxhdGlvbl9saXN0IG9wdF92YWN1dW1fcmVsYXRpb25fbGlzdAotCQkJCWRyb3Bf b3B0aW9uX2xpc3QgcHViX29ial9saXN0CisJCQkJZHJvcF9vcHRpb25fbGlzdCBwdWJfb2JqX2xp c3QgZXhjZXB0X3B1Yl9vYmpfbGlzdAogCiAldHlwZSA8bm9kZT4Jb3B0X3JvdXRpbmVfYm9keQog JXR5cGUgPGdyb3VwY2xhdXNlPiBncm91cF9jbGF1c2UKQEAgLTU4Niw2ICs1ODYsNyBAQCBzdGF0 aWMgTm9kZSAqbWFrZVJlY3Vyc2l2ZVZpZXdTZWxlY3QoY2hhciAqcmVsbmFtZSwgTGlzdCAqYWxp YXNlcywgTm9kZSAqcXVlcnkpOwogJXR5cGUgPG5vZGU+CXZhcl92YWx1ZSB6b25lX3ZhbHVlCiAl dHlwZSA8cm9sZXNwZWM+IGF1dGhfaWRlbnQgUm9sZVNwZWMgb3B0X2dyYW50ZWRfYnkKICV0eXBl IDxwdWJsaWNhdGlvbm9iamVjdHNwZWM+IFB1YmxpY2F0aW9uT2JqU3BlYworJXR5cGUgPHB1Ymxp Y2F0aW9ub2JqZWN0c3BlYz4gRXhjZXB0UHVibGljYXRpb25PYmpTcGVjCiAKICV0eXBlIDxrZXl3 b3JkPiB1bnJlc2VydmVkX2tleXdvcmQgdHlwZV9mdW5jX25hbWVfa2V5d29yZAogJXR5cGUgPGtl eXdvcmQ+IGNvbF9uYW1lX2tleXdvcmQgcmVzZXJ2ZWRfa2V5d29yZApAQCAtMTAzMzQsNyArMTAz MzUsNyBAQCBBbHRlck93bmVyU3RtdDogQUxURVIgQUdHUkVHQVRFIGFnZ3JlZ2F0ZV93aXRoX2Fy Z3R5cGVzIE9XTkVSIFRPIFJvbGVTcGVjCiAgKgogICogQ1JFQVRFIFBVQkxJQ0FUSU9OIG5hbWUg W1dJVEggb3B0aW9uc10KICAqCi0gKiBDUkVBVEUgUFVCTElDQVRJT04gRk9SIEFMTCBUQUJMRVMg W1dJVEggb3B0aW9uc10KKyAqIENSRUFURSBQVUJMSUNBVElPTiBGT1IgQUxMIFRBQkxFUyBbRVhD RVBUIFtUQUJMRV0gdGFibGUgWywgLi4uXV0gW1dJVEggb3B0aW9uc10KICAqCiAgKiBDUkVBVEUg UFVCTElDQVRJT04gRk9SIHB1Yl9vYmogWywgLi4uXSBbV0lUSCBvcHRpb25zXQogICoKQEAgLTEw MzU0LDEyICsxMDM1NSwxMyBAQCBDcmVhdGVQdWJsaWNhdGlvblN0bXQ6CiAJCQkJCW4tPm9wdGlv bnMgPSAkNDsKIAkJCQkJJCQgPSAoTm9kZSAqKSBuOwogCQkJCX0KLQkJCXwgQ1JFQVRFIFBVQkxJ Q0FUSU9OIG5hbWUgRk9SIEFMTCBUQUJMRVMgb3B0X2RlZmluaXRpb24KKwkJCXwgQ1JFQVRFIFBV QkxJQ0FUSU9OIG5hbWUgRk9SIEFMTCBUQUJMRVMgZXhjZXB0X3B1Yl9vYmpfbGlzdCBvcHRfZGVm aW5pdGlvbgogCQkJCXsKIAkJCQkJQ3JlYXRlUHVibGljYXRpb25TdG10ICpuID0gbWFrZU5vZGUo Q3JlYXRlUHVibGljYXRpb25TdG10KTsKIAogCQkJCQluLT5wdWJuYW1lID0gJDM7Ci0JCQkJCW4t Pm9wdGlvbnMgPSAkNzsKKwkJCQkJbi0+b3B0aW9ucyA9ICQ4OworCQkJCQluLT5wdWJvYmplY3Rz ID0gKExpc3QgKikkNzsKIAkJCQkJbi0+Zm9yX2FsbF90YWJsZXMgPSB0cnVlOwogCQkJCQkkJCA9 IChOb2RlICopIG47CiAJCQkJfQpAQCAtMTAzOTcsNiArMTAzOTksNyBAQCBQdWJsaWNhdGlvbk9i alNwZWM6CiAJCQkJCSQkLT5wdWJ0YWJsZS0+cmVsYXRpb24gPSAkMjsKIAkJCQkJJCQtPnB1YnRh YmxlLT5jb2x1bW5zID0gJDM7CiAJCQkJCSQkLT5wdWJ0YWJsZS0+d2hlcmVDbGF1c2UgPSAkNDsK KwkJCQkJJCQtPmxvY2F0aW9uID0gQDE7CiAJCQkJfQogCQkJfCBUQUJMRVMgSU5fUCBTQ0hFTUEg Q29sSWQKIAkJCQl7CkBAIC0xMDQ3Miw2ICsxMDQ3NSwyNSBAQCBwdWJfb2JqX2xpc3Q6CVB1Ymxp Y2F0aW9uT2JqU3BlYwogCQkJCQl7ICQkID0gbGFwcGVuZCgkMSwgJDMpOyB9CiAJOwogCitFeGNl cHRQdWJsaWNhdGlvbk9ialNwZWM6CisJCQkgcmVsYXRpb25fZXhwcgorCQkJCXsKKwkJCQkJJCQg PSBtYWtlTm9kZShQdWJsaWNhdGlvbk9ialNwZWMpOworCQkJCQkkJC0+cHVib2JqdHlwZSA9IFBV QkxJQ0FUSU9OT0JKX0VYQ0VQVF9UQUJMRTsKKwkJCQkJJCQtPnB1YnRhYmxlID0gbWFrZU5vZGUo UHVibGljYXRpb25UYWJsZSk7CisJCQkJCSQkLT5wdWJ0YWJsZS0+ZXhjZXB0ID0gdHJ1ZTsKKwkJ CQkJJCQtPnB1YnRhYmxlLT5yZWxhdGlvbiA9ICQxOworCQkJCQkkJC0+bG9jYXRpb24gPSBAMTsK KwkJCQl9CisJOworCitleGNlcHRfcHViX29ial9saXN0OglFWENFUFQgb3B0X3RhYmxlIEV4Y2Vw dFB1YmxpY2F0aW9uT2JqU3BlYworCQkJCQl7ICQkID0gbGlzdF9tYWtlMSgkMyk7IH0KKwkJCXwg ZXhjZXB0X3B1Yl9vYmpfbGlzdCAnLCcgRXhjZXB0UHVibGljYXRpb25PYmpTcGVjCisJCQkJCXsg JCQgPSBsYXBwZW5kKCQxLCAkMyk7IH0KKwkJCXwgIC8qRU1QVFkqLwkJCQkJCQkJeyAkJCA9IE5V TEw7IH0KKwk7CisKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICoKICAqIEFMVEVSIFBVQkxJQ0FU SU9OIG5hbWUgU0VUICggb3B0aW9ucyApCkBAIC0xMDQ4NCw2ICsxMDUwNiw4IEBAIHB1Yl9vYmpf bGlzdDoJUHVibGljYXRpb25PYmpTcGVjCiAgKgogICogQUxURVIgUFVCTElDQVRJT04gbmFtZSBS RVNFVAogICoKKyAqIEFMVEVSIFBVQkxJQ0FUSU9OIG5hbWUgQUREIEFMTCBUQUJMRVMgRVhDRVBU IFtUQUJMRV0gdGFibGVfbmFtZSBbLCAuLi5dCisgKgogICogcHViX29iaiBpcyBvbmUgb2Y6CiAg KgogICoJCVRBQkxFIHRhYmxlX25hbWUgWywgLi4uXQpAQCAtMTA1MTAsNiArMTA1MzQsMTUgQEAg QWx0ZXJQdWJsaWNhdGlvblN0bXQ6CiAJCQkJCW4tPmFjdGlvbiA9IEFQX0FkZE9iamVjdHM7CiAJ CQkJCSQkID0gKE5vZGUgKikgbjsKIAkJCQl9CisJCQl8IEFMVEVSIFBVQkxJQ0FUSU9OIG5hbWUg QUREX1AgQUxMIFRBQkxFUyBleGNlcHRfcHViX29ial9saXN0CisJCQkJeworCQkJCQlBbHRlclB1 YmxpY2F0aW9uU3RtdCAqbiA9IG1ha2VOb2RlKEFsdGVyUHVibGljYXRpb25TdG10KTsKKwkJCQkJ bi0+cHVibmFtZSA9ICQzOworCQkJCQluLT5wdWJvYmplY3RzID0gJDc7CisJCQkJCW4tPmZvcl9h bGxfdGFibGVzID0gdHJ1ZTsKKwkJCQkJbi0+YWN0aW9uID0gQVBfQWRkT2JqZWN0czsKKwkJCQkJ JCQgPSAoTm9kZSAqKW47CisJCQkJfQogCQkJfCBBTFRFUiBQVUJMSUNBVElPTiBuYW1lIFNFVCBw dWJfb2JqX2xpc3QKIAkJCQl7CiAJCQkJCUFsdGVyUHVibGljYXRpb25TdG10ICpuID0gbWFrZU5v ZGUoQWx0ZXJQdWJsaWNhdGlvblN0bXQpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGlj YXRpb24vcGdvdXRwdXQvcGdvdXRwdXQuYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Bnb3V0 cHV0L3Bnb3V0cHV0LmMKaW5kZXggMmVjYWE1YjkwNy4uNDA5MWRmZDQ2NyAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvcmVwbGljYXRpb24vcGdvdXRwdXQvcGdvdXRwdXQuYworKysgYi9zcmMvYmFj a2VuZC9yZXBsaWNhdGlvbi9wZ291dHB1dC9wZ291dHB1dC5jCkBAIC0yMDA3LDcgKzIwMDcsOCBA QCBnZXRfcmVsX3N5bmNfZW50cnkoUEdPdXRwdXREYXRhICpkYXRhLCBSZWxhdGlvbiByZWxhdGlv bikKIAlpZiAoIWVudHJ5LT5yZXBsaWNhdGVfdmFsaWQpCiAJewogCQlPaWQJCQlzY2hlbWFJZCA9 IGdldF9yZWxfbmFtZXNwYWNlKHJlbGlkKTsKLQkJTGlzdAkgICAqcHViaWRzID0gR2V0UmVsYXRp b25QdWJsaWNhdGlvbnMocmVsaWQpOworCQlMaXN0CSAgICpwdWJpZHMgPSBHZXRSZWxhdGlvblB1 YmxpY2F0aW9ucyhyZWxpZCwgZmFsc2UpOworCQlMaXN0CSAgICpleGNlcHRUYWJsZVB1YmlkcyA9 IEdldFJlbGF0aW9uUHVibGljYXRpb25zKHJlbGlkLCB0cnVlKTsKIAogCQkvKgogCQkgKiBXZSBk b24ndCBhY3F1aXJlIGEgbG9jayBvbiB0aGUgbmFtZXNwYWNlIHN5c3RlbSB0YWJsZSBhcyB3ZSBi dWlsZApAQCAtMjA5NiwyMiArMjA5Nyw2IEBAIGdldF9yZWxfc3luY19lbnRyeShQR091dHB1dERh dGEgKmRhdGEsIFJlbGF0aW9uIHJlbGF0aW9uKQogCQkJT2lkCQkJcHViX3JlbGlkID0gcmVsaWQ7 CiAJCQlpbnQJCQlhbmNlc3Rvcl9sZXZlbCA9IDA7CiAKLQkJCS8qCi0JCQkgKiBJZiB0aGlzIGlz IGEgRk9SIEFMTCBUQUJMRVMgcHVibGljYXRpb24sIHBpY2sgdGhlIHBhcnRpdGlvbgotCQkJICog cm9vdCBhbmQgc2V0IHRoZSBhbmNlc3RvciBsZXZlbCBhY2NvcmRpbmdseS4KLQkJCSAqLwotCQkJ aWYgKHB1Yi0+YWxsdGFibGVzKQotCQkJewotCQkJCXB1Ymxpc2ggPSB0cnVlOwotCQkJCWlmIChw dWItPnB1YnZpYXJvb3QgJiYgYW1fcGFydGl0aW9uKQotCQkJCXsKLQkJCQkJTGlzdAkgICAqYW5j ZXN0b3JzID0gZ2V0X3BhcnRpdGlvbl9hbmNlc3RvcnMocmVsaWQpOwotCi0JCQkJCXB1Yl9yZWxp ZCA9IGxsYXN0X29pZChhbmNlc3RvcnMpOwotCQkJCQlhbmNlc3Rvcl9sZXZlbCA9IGxpc3RfbGVu Z3RoKGFuY2VzdG9ycyk7Ci0JCQkJfQotCQkJfQotCiAJCQlpZiAoIXB1Ymxpc2gpCiAJCQl7CiAJ CQkJYm9vbAkJYW5jZXN0b3JfcHVibGlzaGVkID0gZmFsc2U7CkBAIC0yMTMwLDcgKzIxMTUsOCBA QCBnZXRfcmVsX3N5bmNfZW50cnkoUEdPdXRwdXREYXRhICpkYXRhLCBSZWxhdGlvbiByZWxhdGlv bikKIAogCQkJCQlhbmNlc3RvciA9IEdldFRvcE1vc3RBbmNlc3RvckluUHVibGljYXRpb24ocHVi LT5vaWQsCiAJCQkJCQkJCQkJCQkJCQkgICBhbmNlc3RvcnMsCi0JCQkJCQkJCQkJCQkJCQkgICAm bGV2ZWwpOworCQkJCQkJCQkJCQkJCQkJICAgJmxldmVsLAorCQkJCQkJCQkJCQkJCQkJICAgcHVi LT5hbGx0YWJsZXMpOwogCiAJCQkJCWlmIChhbmNlc3RvciAhPSBJbnZhbGlkT2lkKQogCQkJCQl7 CkBAIC0yMTQ1LDYgKzIxMzEsOCBAQCBnZXRfcmVsX3N5bmNfZW50cnkoUEdPdXRwdXREYXRhICpk YXRhLCBSZWxhdGlvbiByZWxhdGlvbikKIAogCQkJCWlmIChsaXN0X21lbWJlcl9vaWQocHViaWRz LCBwdWItPm9pZCkgfHwKIAkJCQkJbGlzdF9tZW1iZXJfb2lkKHNjaGVtYVB1YmlkcywgcHViLT5v aWQpIHx8CisJCQkJCShwdWItPmFsbHRhYmxlcyAmJgorCQkJCQkgIWxpc3RfbWVtYmVyX29pZChl eGNlcHRUYWJsZVB1YmlkcywgcHViLT5vaWQpKSB8fAogCQkJCQlhbmNlc3Rvcl9wdWJsaXNoZWQp CiAJCQkJCXB1Ymxpc2ggPSB0cnVlOwogCQkJfQpAQCAtMjIyMCw2ICsyMjA4LDcgQEAgZ2V0X3Jl bF9zeW5jX2VudHJ5KFBHT3V0cHV0RGF0YSAqZGF0YSwgUmVsYXRpb24gcmVsYXRpb24pCiAKIAkJ bGlzdF9mcmVlKHB1Ymlkcyk7CiAJCWxpc3RfZnJlZShzY2hlbWFQdWJpZHMpOworCQlsaXN0X2Zy ZWUoZXhjZXB0VGFibGVQdWJpZHMpOwogCQlsaXN0X2ZyZWUocmVsX3B1YmxpY2F0aW9ucyk7CiAK IAkJZW50cnktPnJlcGxpY2F0ZV92YWxpZCA9IHRydWU7CmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC91dGlscy9jYWNoZS9yZWxjYWNoZS5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvY2FjaGUvcmVsY2Fj aGUuYwppbmRleCBiZDZjZDRlNDdiLi43YTYwY2I1OTcwIDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC91dGlscy9jYWNoZS9yZWxjYWNoZS5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2NhY2hlL3Jl bGNhY2hlLmMKQEAgLTU2MTEsNiArNTYxMSw4IEBAIHZvaWQKIFJlbGF0aW9uQnVpbGRQdWJsaWNh dGlvbkRlc2MoUmVsYXRpb24gcmVsYXRpb24sIFB1YmxpY2F0aW9uRGVzYyAqcHViZGVzYykKIHsK IAlMaXN0CSAgICpwdWJvaWRzOworCUxpc3QJICAgKmFsbHRhYmxlc3B1Ym9pZHM7CisJTGlzdAkg ICAqZXhjZXB0cHVib2lkcyA9IE5JTDsKIAlMaXN0Q2VsbCAgICpsYzsKIAlNZW1vcnlDb250ZXh0 IG9sZGN4dDsKIAlPaWQJCQlzY2hlbWFpZDsKQEAgLTU2NDQsNyArNTY0Niw3IEBAIFJlbGF0aW9u QnVpbGRQdWJsaWNhdGlvbkRlc2MoUmVsYXRpb24gcmVsYXRpb24sIFB1YmxpY2F0aW9uRGVzYyAq cHViZGVzYykKIAlwdWJkZXNjLT5jb2xzX3ZhbGlkX2Zvcl9kZWxldGUgPSB0cnVlOwogCiAJLyog RmV0Y2ggdGhlIHB1YmxpY2F0aW9uIG1lbWJlcnNoaXAgaW5mby4gKi8KLQlwdWJvaWRzID0gR2V0 UmVsYXRpb25QdWJsaWNhdGlvbnMocmVsaWQpOworCXB1Ym9pZHMgPSBHZXRSZWxhdGlvblB1Ymxp Y2F0aW9ucyhyZWxpZCwgZmFsc2UpOwogCXNjaGVtYWlkID0gUmVsYXRpb25HZXROYW1lc3BhY2Uo cmVsYXRpb24pOwogCXB1Ym9pZHMgPSBsaXN0X2NvbmNhdF91bmlxdWVfb2lkKHB1Ym9pZHMsIEdl dFNjaGVtYVB1YmxpY2F0aW9ucyhzY2hlbWFpZCkpOwogCkBAIC01NjU4LDE0ICs1NjYwLDE5IEBA IFJlbGF0aW9uQnVpbGRQdWJsaWNhdGlvbkRlc2MoUmVsYXRpb24gcmVsYXRpb24sIFB1YmxpY2F0 aW9uRGVzYyAqcHViZGVzYykKIAkJCU9pZAkJCWFuY2VzdG9yID0gbGZpcnN0X29pZChsYyk7CiAK IAkJCXB1Ym9pZHMgPSBsaXN0X2NvbmNhdF91bmlxdWVfb2lkKHB1Ym9pZHMsCi0JCQkJCQkJCQkJ CSBHZXRSZWxhdGlvblB1YmxpY2F0aW9ucyhhbmNlc3RvcikpOworCQkJCQkJCQkJCQkgR2V0UmVs YXRpb25QdWJsaWNhdGlvbnMoYW5jZXN0b3IsIGZhbHNlKSk7CiAJCQlzY2hlbWFpZCA9IGdldF9y ZWxfbmFtZXNwYWNlKGFuY2VzdG9yKTsKIAkJCXB1Ym9pZHMgPSBsaXN0X2NvbmNhdF91bmlxdWVf b2lkKHB1Ym9pZHMsCiAJCQkJCQkJCQkJCSBHZXRTY2hlbWFQdWJsaWNhdGlvbnMoc2NoZW1haWQp KTsKKwkJCWV4Y2VwdHB1Ym9pZHMgPSBsaXN0X2NvbmNhdF91bmlxdWVfb2lkKGV4Y2VwdHB1Ym9p ZHMsCisJCQkJCQkJCQkJCQkgICBHZXRSZWxhdGlvblB1YmxpY2F0aW9ucyhhbmNlc3RvciwgdHJ1 ZSkpOwogCQl9CiAJfQotCXB1Ym9pZHMgPSBsaXN0X2NvbmNhdF91bmlxdWVfb2lkKHB1Ym9pZHMs IEdldEFsbFRhYmxlc1B1YmxpY2F0aW9ucygpKTsKIAorCWFsbHRhYmxlc3B1Ym9pZHMgPSBHZXRB bGxUYWJsZXNQdWJsaWNhdGlvbnMoKTsKKwlwdWJvaWRzID0gbGlzdF9jb25jYXRfdW5pcXVlX29p ZChwdWJvaWRzLAorCQkJCQkJCQkJIGxpc3RfZGlmZmVyZW5jZV9vaWQoYWxsdGFibGVzcHVib2lk cywKKwkJCQkJCQkJCQkJCQkJIGV4Y2VwdHB1Ym9pZHMpKTsKIAlmb3JlYWNoKGxjLCBwdWJvaWRz KQogCXsKIAkJT2lkCQkJcHViaWQgPSBsZmlyc3Rfb2lkKGxjKTsKQEAgLTU2OTQsNyArNTcwMSw3 IEBAIFJlbGF0aW9uQnVpbGRQdWJsaWNhdGlvbkRlc2MoUmVsYXRpb24gcmVsYXRpb24sIFB1Ymxp Y2F0aW9uRGVzYyAqcHViZGVzYykKIAkJaWYgKCFwdWJmb3JtLT5wdWJhbGx0YWJsZXMgJiYKIAkJ CShwdWJmb3JtLT5wdWJ1cGRhdGUgfHwgcHViZm9ybS0+cHViZGVsZXRlKSAmJgogCQkJcHViX3Jm X2NvbnRhaW5zX2ludmFsaWRfY29sdW1uKHB1YmlkLCByZWxhdGlvbiwgYW5jZXN0b3JzLAotCQkJ CQkJCQkJCSAgIHB1YmZvcm0tPnB1YnZpYXJvb3QpKQorCQkJCQkJCQkJCSAgIHB1YmZvcm0tPnB1 YnZpYXJvb3QsIHB1YmZvcm0tPnB1YmFsbHRhYmxlcykpCiAJCXsKIAkJCWlmIChwdWJmb3JtLT5w dWJ1cGRhdGUpCiAJCQkJcHViZGVzYy0+cmZfdmFsaWRfZm9yX3VwZGF0ZSA9IGZhbHNlOwpAQCAt NTcxMSw3ICs1NzE4LDcgQEAgUmVsYXRpb25CdWlsZFB1YmxpY2F0aW9uRGVzYyhSZWxhdGlvbiBy ZWxhdGlvbiwgUHVibGljYXRpb25EZXNjICpwdWJkZXNjKQogCQlpZiAoIXB1YmZvcm0tPnB1YmFs bHRhYmxlcyAmJgogCQkJKHB1YmZvcm0tPnB1YnVwZGF0ZSB8fCBwdWJmb3JtLT5wdWJkZWxldGUp ICYmCiAJCQlwdWJfY29sbGlzdF9jb250YWluc19pbnZhbGlkX2NvbHVtbihwdWJpZCwgcmVsYXRp b24sIGFuY2VzdG9ycywKLQkJCQkJCQkJCQkJCXB1YmZvcm0tPnB1YnZpYXJvb3QpKQorCQkJCQkJ CQkJCQkJcHViZm9ybS0+cHVidmlhcm9vdCwgcHViZm9ybS0+cHViYWxsdGFibGVzKSkKIAkJewog CQkJaWYgKHB1YmZvcm0tPnB1YnVwZGF0ZSkKIAkJCQlwdWJkZXNjLT5jb2xzX3ZhbGlkX2Zvcl91 cGRhdGUgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMgYi9z cmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jCmluZGV4IGRhNDI3ZjRkNGEuLjI2ZjQ2YmRkNDQgMTAw NjQ0Ci0tLSBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMKKysrIGIvc3JjL2Jpbi9wZ19kdW1w L3BnX2R1bXAuYwpAQCAtMTI4LDYgKzEyOCw4IEBAIHN0YXRpYyBTaW1wbGVPaWRMaXN0IGZvcmVp Z25fc2VydmVyc19pbmNsdWRlX29pZHMgPSB7TlVMTCwgTlVMTH07CiBzdGF0aWMgU2ltcGxlU3Ry aW5nTGlzdCBleHRlbnNpb25faW5jbHVkZV9wYXR0ZXJucyA9IHtOVUxMLCBOVUxMfTsKIHN0YXRp YyBTaW1wbGVPaWRMaXN0IGV4dGVuc2lvbl9pbmNsdWRlX29pZHMgPSB7TlVMTCwgTlVMTH07CiAK K3N0YXRpYyBTaW1wbGVQdHJMaXN0IGV4Y2VwdGluZm8gPSB7TlVMTCwgTlVMTH07CisKIHN0YXRp YyBjb25zdCBDYXRhbG9nSWQgbmlsQ2F0YWxvZ0lkID0gezAsIDB9OwogCiAvKiBvdmVycmlkZSBm b3Igc3RhbmRhcmQgZXh0cmFfZmxvYXRfZGlnaXRzIHNldHRpbmcgKi8KQEAgLTQwMTAsOCArNDAx MiwzNCBAQCBkdW1wUHVibGljYXRpb24oQXJjaGl2ZSAqZm91dCwgY29uc3QgUHVibGljYXRpb25J bmZvICpwdWJpbmZvKQogCQkJCQkgIHFwdWJuYW1lKTsKIAogCWlmIChwdWJpbmZvLT5wdWJhbGx0 YWJsZXMpCisJeworCQlTaW1wbGVQdHJMaXN0Q2VsbCAqY2VsbDsKKwogCQlhcHBlbmRQUUV4cEJ1 ZmZlclN0cihxdWVyeSwgIiBGT1IgQUxMIFRBQkxFUyIpOwogCisJCS8qIEluY2x1ZGUgZXhjZXB0 aW9uIHRhYmxlcyBpZiB0aGUgcHVibGljYXRpb24gaGFzIGV4Y2VwdCB0YWJsZXMgKi8KKwkJZm9y IChjZWxsID0gZXhjZXB0aW5mby5oZWFkOyBjZWxsOyBjZWxsID0gY2VsbC0+bmV4dCkKKwkJewor CQkJUHVibGljYXRpb25SZWxJbmZvICpwdWJyaW5mbyA9IChQdWJsaWNhdGlvblJlbEluZm8gKikg Y2VsbC0+cHRyOworCQkJVGFibGVJbmZvICAqdGJpbmZvOworCisJCQlpZiAocHViaW5mbyA9PSBw dWJyaW5mby0+cHVibGljYXRpb24pCisJCQl7CisJCQkJdGJpbmZvID0gcHVicmluZm8tPnB1YnRh YmxlOworCisJCQkJaWYgKGZpcnN0KQorCQkJCXsKKwkJCQkJYXBwZW5kUFFFeHBCdWZmZXJTdHIo cXVlcnksICIgRVhDRVBUIFRBQkxFIik7CisJCQkJCWZpcnN0ID0gZmFsc2U7CisJCQkJfQorCQkJ CWVsc2UKKwkJCQkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksICIsIik7CisJCQkJYXBwZW5k UFFFeHBCdWZmZXIocXVlcnksICIgT05MWSAlcyIsIGZtdFF1YWxpZmllZER1bXBhYmxlKHRiaW5m bykpOworCQkJfQorCQl9CisJfQorCisJZmlyc3QgPSB0cnVlOwogCWFwcGVuZFBRRXhwQnVmZmVy U3RyKHF1ZXJ5LCAiIFdJVEggKHB1Ymxpc2ggPSAnIik7CiAJaWYgKHB1YmluZm8tPnB1Ymluc2Vy dCkKIAl7CkBAIC00MTgxLDYgKzQyMDksNyBAQCBnZXRQdWJsaWNhdGlvblRhYmxlcyhBcmNoaXZl ICpmb3V0LCBUYWJsZUluZm8gdGJsaW5mb1tdLCBpbnQgbnVtVGFibGVzKQogCWludAkJCWlfcHJy ZWxpZDsKIAlpbnQJCQlpX3BycmVscXVhbDsKIAlpbnQJCQlpX3ByYXR0cnM7CisJaW50CQkJaV9w cmV4Y2VwdDsKIAlpbnQJCQlpLAogCQkJCWosCiAJCQkJbnR1cHM7CkBAIC00MTkyLDggKzQyMjEs MTcgQEAgZ2V0UHVibGljYXRpb25UYWJsZXMoQXJjaGl2ZSAqZm91dCwgVGFibGVJbmZvIHRibGlu Zm9bXSwgaW50IG51bVRhYmxlcykKIAogCS8qIENvbGxlY3QgYWxsIHB1YmxpY2F0aW9uIG1lbWJl cnNoaXAgaW5mby4gKi8KIAlpZiAoZm91dC0+cmVtb3RlVmVyc2lvbiA+PSAxNTAwMDApCisJewor CQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwKKwkJCQkJCQkgIlNFTEVDVCB0YWJsZW9pZCwg b2lkLCBwcnB1YmlkLCBwcnJlbGlkLFxuIik7CisKKwkJLyogRklYTUU6IDE1MDAwMCBzaG91bGQg YmUgY2hhbmdlZCB0byAxNjAwMDAgbGF0ZXIgZm9yIFBHMTYuICovCisJCWlmIChmb3V0LT5yZW1v dGVWZXJzaW9uID49IDE1MDAwMCkKKwkJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LCAiIHBy ZXhjZXB0LFxuIik7CisJCWVsc2UKKwkJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LCAiIGZh bHNlIEFTIHByZXhjZXB0LFxuIik7CisKIAkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksCi0J CQkJCQkJICJTRUxFQ1QgdGFibGVvaWQsIG9pZCwgcHJwdWJpZCwgcHJyZWxpZCwgIgogCQkJCQkJ CSAicGdfY2F0YWxvZy5wZ19nZXRfZXhwcihwcnF1YWwsIHBycmVsaWQpIEFTIHBycmVscXVhbCwg IgogCQkJCQkJCSAiKENBU0VcbiIKIAkJCQkJCQkgIiAgV0hFTiBwci5wcmF0dHJzIElTIE5PVCBO VUxMIFRIRU5cbiIKQEAgLTQyMDQsNiArNDI0Miw3IEBAIGdldFB1YmxpY2F0aW9uVGFibGVzKEFy Y2hpdmUgKmZvdXQsIFRhYmxlSW5mbyB0YmxpbmZvW10sIGludCBudW1UYWJsZXMpCiAJCQkJCQkJ ICIgICAgICBXSEVSRSBhdHRyZWxpZCA9IHByLnBycmVsaWQgQU5EIGF0dG51bSA9IHByYXR0cnNb c10pXG4iCiAJCQkJCQkJICIgIEVMU0UgTlVMTCBFTkQpIHByYXR0cnMgIgogCQkJCQkJCSAiRlJP TSBwZ19jYXRhbG9nLnBnX3B1YmxpY2F0aW9uX3JlbCBwciIpOworCX0KIAllbHNlCiAJCWFwcGVu ZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LAogCQkJCQkJCSAiU0VMRUNUIHRhYmxlb2lkLCBvaWQsIHBy cHViaWQsIHBycmVsaWQsICIKQEAgLTQyMTksNiArNDI1OCw3IEBAIGdldFB1YmxpY2F0aW9uVGFi bGVzKEFyY2hpdmUgKmZvdXQsIFRhYmxlSW5mbyB0YmxpbmZvW10sIGludCBudW1UYWJsZXMpCiAJ aV9wcnJlbGlkID0gUFFmbnVtYmVyKHJlcywgInBycmVsaWQiKTsKIAlpX3BycmVscXVhbCA9IFBR Zm51bWJlcihyZXMsICJwcnJlbHF1YWwiKTsKIAlpX3ByYXR0cnMgPSBQUWZudW1iZXIocmVzLCAi cHJhdHRycyIpOworCWlfcHJleGNlcHQgPSBQUWZudW1iZXIocmVzLCAicHJleGNlcHQiKTsKIAog CS8qIHRoaXMgYWxsb2NhdGlvbiBtYXkgYmUgbW9yZSB0aGFuIHdlIG5lZWQgKi8KIAlwdWJyaW5m byA9IHBnX21hbGxvYyhudHVwcyAqIHNpemVvZihQdWJsaWNhdGlvblJlbEluZm8pKTsKQEAgLTQy MzAsNiArNDI3MCw3IEBAIGdldFB1YmxpY2F0aW9uVGFibGVzKEFyY2hpdmUgKmZvdXQsIFRhYmxl SW5mbyB0YmxpbmZvW10sIGludCBudW1UYWJsZXMpCiAJCU9pZAkJCXBycmVsaWQgPSBhdG9vaWQo UFFnZXR2YWx1ZShyZXMsIGksIGlfcHJyZWxpZCkpOwogCQlQdWJsaWNhdGlvbkluZm8gKnB1Ymlu Zm87CiAJCVRhYmxlSW5mbyAgKnRiaW5mbzsKKwkJY2hhcgkgICAqcHJleGNlcHQgPSBwZ19zdHJk dXAoUFFnZXR2YWx1ZShyZXMsIGksIGlfcHJleGNlcHQpKTsKIAogCQkvKgogCQkgKiBJZ25vcmUg YW55IGVudHJpZXMgZm9yIHdoaWNoIHdlIGFyZW4ndCBpbnRlcmVzdGVkIGluIGVpdGhlciB0aGUK QEAgLTQyNTAsNyArNDI5MSwxMSBAQCBnZXRQdWJsaWNhdGlvblRhYmxlcyhBcmNoaXZlICpmb3V0 LCBUYWJsZUluZm8gdGJsaW5mb1tdLCBpbnQgbnVtVGFibGVzKQogCQkJY29udGludWU7CiAKIAkJ LyogT0ssIG1ha2UgYSBEdW1wYWJsZU9iamVjdCBmb3IgdGhpcyByZWxhdGlvbnNoaXAgKi8KLQkJ cHVicmluZm9bal0uZG9iai5vYmpUeXBlID0gRE9fUFVCTElDQVRJT05fUkVMOworCQlpZiAoc3Ry Y21wKHByZXhjZXB0LCAiZiIpID09IDApCisJCQlwdWJyaW5mb1tqXS5kb2JqLm9ialR5cGUgPSBE T19QVUJMSUNBVElPTl9SRUw7CisJCWVsc2UKKwkJCXB1YnJpbmZvW2pdLmRvYmoub2JqVHlwZSA9 IERPX1BVQkxJQ0FUSU9OX0VYQ0VQVF9SRUw7CisKIAkJcHVicmluZm9bal0uZG9iai5jYXRJZC50 YWJsZW9pZCA9CiAJCQlhdG9vaWQoUFFnZXR2YWx1ZShyZXMsIGksIGlfdGFibGVvaWQpKTsKIAkJ cHVicmluZm9bal0uZG9iai5jYXRJZC5vaWQgPSBhdG9vaWQoUFFnZXR2YWx1ZShyZXMsIGksIGlf b2lkKSk7CkBAIC00Mjg5LDYgKzQzMzQsOSBAQCBnZXRQdWJsaWNhdGlvblRhYmxlcyhBcmNoaXZl ICpmb3V0LCBUYWJsZUluZm8gdGJsaW5mb1tdLCBpbnQgbnVtVGFibGVzKQogCQkvKiBEZWNpZGUg d2hldGhlciB3ZSB3YW50IHRvIGR1bXAgaXQgKi8KIAkJc2VsZWN0RHVtcGFibGVQdWJsaWNhdGlv bk9iamVjdCgmKHB1YnJpbmZvW2pdLmRvYmopLCBmb3V0KTsKIAorCQlpZiAoc3RyY21wKHByZXhj ZXB0LCAidCIpID09IDApCisJCQlzaW1wbGVfcHRyX2xpc3RfYXBwZW5kKCZleGNlcHRpbmZvLCAm cHVicmluZm9bal0pOworCiAJCWorKzsKIAl9CiAKQEAgLTk5NzYsNiArMTAwMjQsOSBAQCBkdW1w RHVtcGFibGVPYmplY3QoQXJjaGl2ZSAqZm91dCwgRHVtcGFibGVPYmplY3QgKmRvYmopCiAJCWNh c2UgRE9fUFVCTElDQVRJT046CiAJCQlkdW1wUHVibGljYXRpb24oZm91dCwgKGNvbnN0IFB1Ymxp Y2F0aW9uSW5mbyAqKSBkb2JqKTsKIAkJCWJyZWFrOworCQljYXNlIERPX1BVQkxJQ0FUSU9OX0VY Q0VQVF9SRUw6CisJCQkvKiB3aWxsIGJlIGR1bXBlZCBpbiBkdW1wUHVibGljYXRpb24gKi8KKwkJ CWJyZWFrOwogCQljYXNlIERPX1BVQkxJQ0FUSU9OX1JFTDoKIAkJCWR1bXBQdWJsaWNhdGlvblRh YmxlKGZvdXQsIChjb25zdCBQdWJsaWNhdGlvblJlbEluZm8gKikgZG9iaik7CiAJCQlicmVhazsK QEAgLTE3OTM0LDYgKzE3OTg1LDcgQEAgYWRkQm91bmRhcnlEZXBlbmRlbmNpZXMoRHVtcGFibGVP YmplY3QgKipkb2JqcywgaW50IG51bU9ianMsCiAJCQljYXNlIERPX0RFRkFVTFRfQUNMOgogCQkJ Y2FzZSBET19QT0xJQ1k6CiAJCQljYXNlIERPX1BVQkxJQ0FUSU9OOgorCQkJY2FzZSBET19QVUJM SUNBVElPTl9FWENFUFRfUkVMOgogCQkJY2FzZSBET19QVUJMSUNBVElPTl9SRUw6CiAJCQljYXNl IERPX1BVQkxJQ0FUSU9OX1RBQkxFX0lOX1NDSEVNQToKIAkJCWNhc2UgRE9fU1VCU0NSSVBUSU9O OgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuaCBiL3NyYy9iaW4vcGdfZHVt cC9wZ19kdW1wLmgKaW5kZXggNDI3ZjVkNDVmNi4uY2YxYzI5OTBkNiAxMDA2NDQKLS0tIGEvc3Jj L2Jpbi9wZ19kdW1wL3BnX2R1bXAuaAorKysgYi9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5oCkBA IC04MCw2ICs4MCw3IEBAIHR5cGVkZWYgZW51bQogCURPX1JFRlJFU0hfTUFUVklFVywKIAlET19Q T0xJQ1ksCiAJRE9fUFVCTElDQVRJT04sCisJRE9fUFVCTElDQVRJT05fRVhDRVBUX1JFTCwKIAlE T19QVUJMSUNBVElPTl9SRUwsCiAJRE9fUFVCTElDQVRJT05fVEFCTEVfSU5fU0NIRU1BLAogCURP X1NVQlNDUklQVElPTgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXBfc29ydC5j IGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXBfc29ydC5jCmluZGV4IDVkZTMyNDFlYjQuLmE2NTk1 ZjI1YTYgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wX3NvcnQuYworKysgYi9z cmMvYmluL3BnX2R1bXAvcGdfZHVtcF9zb3J0LmMKQEAgLTkwLDYgKzkwLDcgQEAgZW51bSBkYk9i amVjdFR5cGVQcmlvcml0aWVzCiAJUFJJT19GS19DT05TVFJBSU5ULAogCVBSSU9fUE9MSUNZLAog CVBSSU9fUFVCTElDQVRJT04sCisJUFJJT19QVUJMSUNBVElPTl9FWENFUFRfUkVMLAogCVBSSU9f UFVCTElDQVRJT05fUkVMLAogCVBSSU9fUFVCTElDQVRJT05fVEFCTEVfSU5fU0NIRU1BLAogCVBS SU9fU1VCU0NSSVBUSU9OLApAQCAtMTQ0LDYgKzE0NSw3IEBAIHN0YXRpYyBjb25zdCBpbnQgZGJP YmplY3RUeXBlUHJpb3JpdHlbXSA9CiAJUFJJT19SRUZSRVNIX01BVFZJRVcsCQkvKiBET19SRUZS RVNIX01BVFZJRVcgKi8KIAlQUklPX1BPTElDWSwJCQkJLyogRE9fUE9MSUNZICovCiAJUFJJT19Q VUJMSUNBVElPTiwJCQkvKiBET19QVUJMSUNBVElPTiAqLworCVBSSU9fUFVCTElDQVRJT05fRVhD RVBUX1JFTCwJLyogRE9fUFVCTElDQVRJT05fRVhDRVBUX1JFTCAqLwogCVBSSU9fUFVCTElDQVRJ T05fUkVMLAkJLyogRE9fUFVCTElDQVRJT05fUkVMICovCiAJUFJJT19QVUJMSUNBVElPTl9UQUJM RV9JTl9TQ0hFTUEsCS8qIERPX1BVQkxJQ0FUSU9OX1RBQkxFX0lOX1NDSEVNQSAqLwogCVBSSU9f U1VCU0NSSVBUSU9OCQkJLyogRE9fU1VCU0NSSVBUSU9OICovCkBAIC0xNDgzLDYgKzE0ODUsMTEg QEAgZGVzY3JpYmVEdW1wYWJsZU9iamVjdChEdW1wYWJsZU9iamVjdCAqb2JqLCBjaGFyICpidWYs IGludCBidWZzaXplKQogCQkJCQkgIlBVQkxJQ0FUSU9OIChJRCAlZCBPSUQgJXUpIiwKIAkJCQkJ IG9iai0+ZHVtcElkLCBvYmotPmNhdElkLm9pZCk7CiAJCQlyZXR1cm47CisJCWNhc2UgRE9fUFVC TElDQVRJT05fRVhDRVBUX1JFTDoKKwkJCXNucHJpbnRmKGJ1ZiwgYnVmc2l6ZSwKKwkJCQkJICJQ VUJMSUNBVElPTiBFWENFUFQgVEFCTEUgKElEICVkIE9JRCAldSkiLAorCQkJCQkgb2JqLT5kdW1w SWQsIG9iai0+Y2F0SWQub2lkKTsKKwkJCXJldHVybjsKIAkJY2FzZSBET19QVUJMSUNBVElPTl9S RUw6CiAJCQlzbnByaW50ZihidWYsIGJ1ZnNpemUsCiAJCQkJCSAiUFVCTElDQVRJT04gVEFCTEUg KElEICVkIE9JRCAldSkiLApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1wL3QvMDAyX3BnX2R1 bXAucGwgYi9zcmMvYmluL3BnX2R1bXAvdC8wMDJfcGdfZHVtcC5wbAppbmRleCA4ZGMxZjBlY2Ni Li5hYzk0NWJmNWU1IDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2R1bXAvdC8wMDJfcGdfZHVtcC5w bAorKysgYi9zcmMvYmluL3BnX2R1bXAvdC8wMDJfcGdfZHVtcC5wbApAQCAtMjQ2Niw2ICsyNDY2 LDMyIEBAIG15ICV0ZXN0cyA9ICgKIAkJbGlrZSA9PiB7ICVmdWxsX3J1bnMsIHNlY3Rpb25fcG9z dF9kYXRhID0+IDEsIH0sCiAJfSwKIAorCSdDUkVBVEUgUFVCTElDQVRJT04gcHViNScgPT4gewor CQljcmVhdGVfb3JkZXIgPT4gNTAsCisJCWNyZWF0ZV9zcWwgICA9PiAnQ1JFQVRFIFBVQkxJQ0FU SU9OIHB1YjUgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIGR1bXBfdGVzdC50ZXN0X3RhYmxlOycsCisJ CXJlZ2V4cCA9PiBxci9eCisJCQlcUUNSRUFURSBQVUJMSUNBVElPTiBwdWI1IEZPUiBBTEwgVEFC TEVTIEVYQ0VQVCBUQUJMRSBPTkxZIGR1bXBfdGVzdC50ZXN0X3RhYmxlIFdJVEggKHB1Ymxpc2gg PSAnaW5zZXJ0LCB1cGRhdGUsIGRlbGV0ZSwgdHJ1bmNhdGUnKTtcRQorCQkJL3htLAorCQlsaWtl ID0+IHsgJWZ1bGxfcnVucywgc2VjdGlvbl9wb3N0X2RhdGEgPT4gMSwgfSwKKwkJdW5saWtlID0+ IHsKKwkJCWV4Y2x1ZGVfZHVtcF90ZXN0X3NjaGVtYSA9PiAxLAorCQkJZXhjbHVkZV90ZXN0X3Rh YmxlICAgICAgID0+IDEsCisJCX0sCisJfSwKKworCSdDUkVBVEUgUFVCTElDQVRJT04gcHViNicg PT4geworCQljcmVhdGVfb3JkZXIgPT4gNTAsCisJCWNyZWF0ZV9zcWwgICA9PiAnQ1JFQVRFIFBV QkxJQ0FUSU9OIHB1YjYgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFIGR1bXBfdGVzdC50ZXN0 X3RhYmxlLCBkdW1wX3Rlc3QudGVzdF9zZWNvbmRfdGFibGU7JywKKwkJcmVnZXhwID0+IHFyL14K KwkJCVxRQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1YjYgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxF IE9OTFkgZHVtcF90ZXN0LnRlc3RfdGFibGUsIE9OTFkgZHVtcF90ZXN0LnRlc3Rfc2Vjb25kX3Rh YmxlIFdJVEggKHB1Ymxpc2ggPSAnaW5zZXJ0LCB1cGRhdGUsIGRlbGV0ZSwgdHJ1bmNhdGUnKTtc RQorCQkJL3htLAorCQlsaWtlID0+IHsgJWZ1bGxfcnVucywgc2VjdGlvbl9wb3N0X2RhdGEgPT4g MSwgfSwKKwkJdW5saWtlID0+IHsKKwkJCWV4Y2x1ZGVfZHVtcF90ZXN0X3NjaGVtYSA9PiAxLAor CQkJZXhjbHVkZV90ZXN0X3RhYmxlICAgICAgID0+IDEsCisJCX0sCisJfSwKKwogCSdDUkVBVEUg U1VCU0NSSVBUSU9OIHN1YjEnID0+IHsKIAkJY3JlYXRlX29yZGVyID0+IDUwLAogCQljcmVhdGVf c3FsICAgPT4gJ0NSRUFURSBTVUJTQ1JJUFRJT04gc3ViMQpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9w c3FsL2Rlc2NyaWJlLmMgYi9zcmMvYmluL3BzcWwvZGVzY3JpYmUuYwppbmRleCBjNjQ1ZDY2NDE4 Li4zY2I3ZWFlNGU5IDEwMDY0NAotLS0gYS9zcmMvYmluL3BzcWwvZGVzY3JpYmUuYworKysgYi9z cmMvYmluL3BzcWwvZGVzY3JpYmUuYwpAQCAtMjk4MywxNyArMjk4MywzNiBAQCBkZXNjcmliZU9u ZVRhYmxlRGV0YWlscyhjb25zdCBjaGFyICpzY2hlbWFuYW1lLAogCQkJCQkJCQkgICIgICAgICAg ICAgV0hFUkUgYXR0cmVsaWQgPSBwci5wcnJlbGlkIEFORCBhdHRudW0gPSBwcmF0dHJzW3NdKVxu IgogCQkJCQkJCQkgICIgICAgICAgIEVMU0UgTlVMTCBFTkQpICIKIAkJCQkJCQkJICAiRlJPTSBw Z19jYXRhbG9nLnBnX3B1YmxpY2F0aW9uIHBcbiIKLQkJCQkJCQkJICAiICAgICBKT0lOIHBnX2Nh dGFsb2cucGdfcHVibGljYXRpb25fcmVsIHByIE9OIHAub2lkID0gcHIucHJwdWJpZFxuIgotCQkJ CQkJCQkgICIgICAgIEpPSU4gcGdfY2F0YWxvZy5wZ19jbGFzcyBjIE9OIGMub2lkID0gcHIucHJy ZWxpZFxuIgotCQkJCQkJCQkgICJXSEVSRSBwci5wcnJlbGlkID0gJyVzJ1xuIgorCQkJCQkJCQkg ICIJCUpPSU4gcGdfY2F0YWxvZy5wZ19wdWJsaWNhdGlvbl9yZWwgcHIgT04gcC5vaWQgPSBwci5w cnB1YmlkXG4iCisJCQkJCQkJCSAgIgkJSk9JTiBwZ19jYXRhbG9nLnBnX2NsYXNzIGMgT04gYy5v aWQgPSBwci5wcnJlbGlkXG4iCisJCQkJCQkJCSAgIldIRVJFIHByLnBycmVsaWQgPSAnJXMnXG4i LAorCQkJCQkJCQkgIG9pZCwgb2lkLCBvaWQpOworCisJCQkJLyogRklYTUU6IDE1MDAwMCBzaG91 bGQgYmUgY2hhbmdlZCB0byAxNjAwMDAgbGF0ZXIgZm9yIFBHMTYuICovCisJCQkJaWYgKHBzZXQu c3ZlcnNpb24gPj0gMTUwMDAwKQorCQkJCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cigmYnVmLCAiIEFO RCBOT1QgcHIucHJleGNlcHRcbiIpOworCisJCQkJYXBwZW5kUFFFeHBCdWZmZXIoJmJ1ZiwKIAkJ CQkJCQkJICAiVU5JT05cbiIKIAkJCQkJCQkJICAiU0VMRUNUIHB1Ym5hbWVcbiIKLQkJCQkJCQkJ ICAiICAgICAsIE5VTExcbiIKLQkJCQkJCQkJICAiICAgICAsIE5VTExcbiIKKwkJCQkJCQkJICAi CQksIE5VTExcbiIKKwkJCQkJCQkJICAiCQksIE5VTExcbiIKIAkJCQkJCQkJICAiRlJPTSBwZ19j YXRhbG9nLnBnX3B1YmxpY2F0aW9uIHBcbiIKLQkJCQkJCQkJICAiV0hFUkUgcC5wdWJhbGx0YWJs ZXMgQU5EIHBnX2NhdGFsb2cucGdfcmVsYXRpb25faXNfcHVibGlzaGFibGUoJyVzJylcbiIKLQkJ CQkJCQkJICAiT1JERVIgQlkgMTsiLAotCQkJCQkJCQkgIG9pZCwgb2lkLCBvaWQsIG9pZCk7CisJ CQkJCQkJCSAgIldIRVJFIHAucHViYWxsdGFibGVzIEFORCBwZ19jYXRhbG9nLnBnX3JlbGF0aW9u X2lzX3B1Ymxpc2hhYmxlKCclcycpXG4iLAorCQkJCQkJCQkgIG9pZCk7CisKKwkJCQkvKiBGSVhN RTogMTUwMDAwIHNob3VsZCBiZSBjaGFuZ2VkIHRvIDE2MDAwMCBsYXRlciBmb3IgUEcxNi4gKi8K KwkJCQlpZiAocHNldC5zdmVyc2lvbiA+PSAxNTAwMDApCisJCQkJCWFwcGVuZFBRRXhwQnVmZmVy KCZidWYsCisJCQkJCQkJCQkgICIgICAgIEFORCBOT1QgRVhJU1RTIChcbiIKKwkJCQkJCQkJCSAg IgkJU0VMRUNUIDFcbiIKKwkJCQkJCQkJCSAgIgkJRlJPTSBwZ19jYXRhbG9nLnBnX3B1YmxpY2F0 aW9uX3JlbCBwclxuIgorCQkJCQkJCQkJICAiCQlKT0lOIHBnX2NhdGFsb2cucGdfY2xhc3MgcGNc biIKKwkJCQkJCQkJCSAgIgkJT04gcHIucHJyZWxpZCA9IHBjLm9pZFxuIgorCQkJCQkJCQkJICAi CQlXSEVSRSBwci5wcnJlbGlkID0gJyVzJyBBTkQgcHIucHJwdWJpZCA9IHAub2lkKVxuIiwKKwkJ CQkJCQkJCSAgb2lkKTsKKworCQkJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKCZidWYsICJPUkRFUiBC WSAxOyIpOwogCQkJfQogCQkJZWxzZQogCQkJewpAQCAtNjQxNyw4ICs2NDM2LDEzIEBAIGRlc2Ny aWJlUHVibGljYXRpb25zKGNvbnN0IGNoYXIgKnBhdHRlcm4pCiAJCQkJCQkJICAiICAgICBwZ19j YXRhbG9nLnBnX3B1YmxpY2F0aW9uX3JlbCBwclxuIgogCQkJCQkJCSAgIldIRVJFIGMucmVsbmFt ZXNwYWNlID0gbi5vaWRcbiIKIAkJCQkJCQkgICIgIEFORCBjLm9pZCA9IHByLnBycmVsaWRcbiIK LQkJCQkJCQkgICIgIEFORCBwci5wcnB1YmlkID0gJyVzJ1xuIgotCQkJCQkJCSAgIk9SREVSIEJZ IDEsMiIsIHB1YmlkKTsKKwkJCQkJCQkgICIgIEFORCBwci5wcnB1YmlkID0gJyVzJ1xuIiwgcHVi aWQpOworCisJCQkvKiBGSVhNRTogMTUwMDAwIHNob3VsZCBiZSBjaGFuZ2VkIHRvIDE2MDAwMCBs YXRlciBmb3IgUEcxNi4gKi8KKwkJCWlmIChwc2V0LnN2ZXJzaW9uID49IDE1MDAwMCkKKwkJCQlh cHBlbmRQUUV4cEJ1ZmZlcigmYnVmLCAiICBBTkQgTk9UIHByLnByZXhjZXB0XG4iKTsKKworCQkJ YXBwZW5kUFFFeHBCdWZmZXIoJmJ1ZiwgIk9SREVSIEJZIDEsMiIpOwogCQkJaWYgKCFhZGRGb290 ZXJUb1B1YmxpY2F0aW9uRGVzYygmYnVmLCBfKCJUYWJsZXM6IiksIGZhbHNlLCAmY29udCkpCiAJ CQkJZ290byBlcnJvcl9yZXR1cm47CiAKQEAgLTY0MzYsNiArNjQ2MCwyNCBAQCBkZXNjcmliZVB1 YmxpY2F0aW9ucyhjb25zdCBjaGFyICpwYXR0ZXJuKQogCQkJCQlnb3RvIGVycm9yX3JldHVybjsK IAkJCX0KIAkJfQorCQllbHNlCisJCXsKKwkJCS8qIEZJWE1FOiAxNTAwMDAgc2hvdWxkIGJlIGNo YW5nZWQgdG8gMTYwMDAwIGxhdGVyIGZvciBQRzE2LiAqLworCQkJaWYgKHBzZXQuc3ZlcnNpb24g Pj0gMTUwMDAwKQorCQkJeworCQkJCS8qIEdldCB0aGUgZXhjbHVkZWQgdGFibGVzIGZvciB0aGUg c3BlY2lmaWVkIHB1YmxpY2F0aW9uICovCisJCQkJcHJpbnRmUFFFeHBCdWZmZXIoJmJ1ZiwKKwkJ CQkJCQkJICAiU0VMRUNUIGNvbmNhdChjLnJlbG5hbWVzcGFjZTo6cmVnbmFtZXNwYWNlLCAnLics IGMucmVsbmFtZSlcbiIKKwkJCQkJCQkJICAiRlJPTSBwZ19jYXRhbG9nLnBnX2NsYXNzIGNcbiIK KwkJCQkJCQkJICAiICAgICBKT0lOIHBnX2NhdGFsb2cucGdfcHVibGljYXRpb25fcmVsIHByIE9O IGMub2lkID0gcHIucHJyZWxpZFxuIgorCQkJCQkJCQkgICJXSEVSRSBwci5wcnB1YmlkID0gJyVz J1xuIgorCQkJCQkJCQkgICIgIEFORCBwci5wcmV4Y2VwdFxuIgorCQkJCQkJCQkgICJPUkRFUiBC WSAxIiwgcHViaWQpOworCQkJCWlmICghYWRkRm9vdGVyVG9QdWJsaWNhdGlvbkRlc2MoJmJ1Ziwg XygiRXhjZXB0IHRhYmxlczoiKSwKKwkJCQkJCQkJCQkJCXRydWUsICZjb250KSkKKwkJCQkJZ290 byBlcnJvcl9yZXR1cm47CisJCQl9CisJCX0KIAogCQlwcmludFRhYmxlKCZjb250LCBwc2V0LnF1 ZXJ5Rm91dCwgZmFsc2UsIHBzZXQubG9nZmlsZSk7CiAJCXByaW50VGFibGVDbGVhbnVwKCZjb250 KTsKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuYyBiL3NyYy9iaW4vcHNx bC90YWItY29tcGxldGUuYwppbmRleCA0YzQ2NjRiMjg0Li4xMzU2ZWFhMTk5IDEwMDY0NAotLS0g YS9zcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmMKKysrIGIvc3JjL2Jpbi9wc3FsL3RhYi1jb21w bGV0ZS5jCkBAIC0xODIwLDkgKzE4MjAsMTMgQEAgcHNxbF9jb21wbGV0aW9uKGNvbnN0IGNoYXIg KnRleHQsIGludCBzdGFydCwgaW50IGVuZCkKIAkJQ09NUExFVEVfV0lUSCgiQUREIiwgIkRST1Ai LCAiT1dORVIgVE8iLCAiUkVOQU1FIFRPIiwgIlJFU0VUIiwgIlNFVCIpOwogCS8qIEFMVEVSIFBV QkxJQ0FUSU9OIDxuYW1lPiBBREQgKi8KIAllbHNlIGlmIChNYXRjaGVzKCJBTFRFUiIsICJQVUJM SUNBVElPTiIsIE1hdGNoQW55LCAiQUREIikpCi0JCUNPTVBMRVRFX1dJVEgoIlRBQkxFUyBJTiBT Q0hFTUEiLCAiVEFCTEUiKTsKKwkJQ09NUExFVEVfV0lUSCgiQUxMIFRBQkxFUyIsICJUQUJMRVMg SU4gU0NIRU1BIiwgIlRBQkxFIik7CisJZWxzZSBpZiAoTWF0Y2hlcygiQUxURVIiLCAiUFVCTElD QVRJT04iLCBNYXRjaEFueSwgIkFERCIsICJBTEwiLCAiVEFCTEVTIikpCisJCUNPTVBMRVRFX1dJ VEgoIkVYQ0VQVCBUQUJMRSIpOwogCWVsc2UgaWYgKE1hdGNoZXMoIkFMVEVSIiwgIlBVQkxJQ0FU SU9OIiwgTWF0Y2hBbnksICJBRER8U0VUIiwgIlRBQkxFIikgfHwKLQkJCSAoSGVhZE1hdGNoZXMo IkFMVEVSIiwgIlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJBRER8U0VUIiwgIlRBQkxFIikgJiYK KwkJCSBNYXRjaGVzKCJBTFRFUiIsICJQVUJMSUNBVElPTiIsIE1hdGNoQW55LCAiQUREIiwgIkFM TCIsICJUQUJMRVMiLCAiRVhDRVBUIiwgIlRBQkxFIikgfHwKKwkJCSAoKEhlYWRNYXRjaGVzKCJB TFRFUiIsICJQVUJMSUNBVElPTiIsIE1hdGNoQW55LCAiQUREfFNFVCIsICJUQUJMRSIpIHx8CisJ CQkgICBIZWFkTWF0Y2hlcygiQUxURVIiLCAiUFVCTElDQVRJT04iLCBNYXRjaEFueSwgIkFERCIs ICJBTEwiLCAiVEFCTEVTIiwgIkVYQ0VQVCIsICJUQUJMRSIpKSAmJgogCQkJICBlbmRzX3dpdGgo cHJldl93ZCwgJywnKSkpCiAJCUNPTVBMRVRFX1dJVEhfU0NIRU1BX1FVRVJZKFF1ZXJ5X2Zvcl9s aXN0X29mX3RhYmxlcyk7CiAKQEAgLTMwMjMsNyArMzAyNyw3IEBAIHBzcWxfY29tcGxldGlvbihj b25zdCBjaGFyICp0ZXh0LCBpbnQgc3RhcnQsIGludCBlbmQpCiAJZWxzZSBpZiAoTWF0Y2hlcygi Q1JFQVRFIiwgIlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJGT1IiLCAiQUxMIikpCiAJCUNPTVBM RVRFX1dJVEgoIlRBQkxFUyIpOwogCWVsc2UgaWYgKE1hdGNoZXMoIkNSRUFURSIsICJQVUJMSUNB VElPTiIsIE1hdGNoQW55LCAiRk9SIiwgIkFMTCIsICJUQUJMRVMiKSkKLQkJQ09NUExFVEVfV0lU SCgiV0lUSCAoIik7CisJCUNPTVBMRVRFX1dJVEgoIkVYQ0VQVCBUQUJMRSIsICJXSVRIICgiKTsK IAllbHNlIGlmIChNYXRjaGVzKCJDUkVBVEUiLCAiUFVCTElDQVRJT04iLCBNYXRjaEFueSwgIkZP UiIsICJUQUJMRVMiKSkKIAkJQ09NUExFVEVfV0lUSCgiSU4gU0NIRU1BIik7CiAJZWxzZSBpZiAo TWF0Y2hlcygiQ1JFQVRFIiwgIlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJGT1IiLCAiVEFCTEUi LCBNYXRjaEFueSkgJiYgIWVuZHNfd2l0aChwcmV2X3dkLCAnLCcpKQpkaWZmIC0tZ2l0IGEvc3Jj L2luY2x1ZGUvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9w Z19wdWJsaWNhdGlvbi5oCmluZGV4IGVjZjVhMjhlMDAuLjhkZDYyZGM3Y2UgMTAwNjQ0Ci0tLSBh L3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHVibGljYXRpb24uaAorKysgYi9zcmMvaW5jbHVkZS9j YXRhbG9nL3BnX3B1YmxpY2F0aW9uLmgKQEAgLTEwOCwxMSArMTA4LDEyIEBAIHR5cGVkZWYgc3Ry dWN0IFB1YmxpY2F0aW9uUmVsSW5mbwogCVJlbGF0aW9uCXJlbGF0aW9uOwogCU5vZGUJICAgKndo ZXJlQ2xhdXNlOwogCUxpc3QJICAgKmNvbHVtbnM7CisJYm9vbAkJZXhjZXB0OwogfSBQdWJsaWNh dGlvblJlbEluZm87CiAKIGV4dGVybiBQdWJsaWNhdGlvbiAqR2V0UHVibGljYXRpb24oT2lkIHB1 YmlkKTsKIGV4dGVybiBQdWJsaWNhdGlvbiAqR2V0UHVibGljYXRpb25CeU5hbWUoY29uc3QgY2hh ciAqcHVibmFtZSwgYm9vbCBtaXNzaW5nX29rKTsKLWV4dGVybiBMaXN0ICpHZXRSZWxhdGlvblB1 YmxpY2F0aW9ucyhPaWQgcmVsaWQpOworZXh0ZXJuIExpc3QgKkdldFJlbGF0aW9uUHVibGljYXRp b25zKE9pZCByZWxpZCwgYm9vbCBleGNlcHRfZmxhZyk7CiAKIC8qLS0tLS0tLS0tCiAgKiBFeHBl Y3RlZCB2YWx1ZXMgZm9yIHB1Yl9wYXJ0b3B0IHBhcmFtZXRlciBvZiBHZXRSZWxhdGlvblB1Ymxp Y2F0aW9ucygpLApAQCAtMTMyLDcgKzEzMyw3IEBAIHR5cGVkZWYgZW51bSBQdWJsaWNhdGlvblBh cnRPcHQKIAogZXh0ZXJuIExpc3QgKkdldFB1YmxpY2F0aW9uUmVsYXRpb25zKE9pZCBwdWJpZCwg UHVibGljYXRpb25QYXJ0T3B0IHB1Yl9wYXJ0b3B0KTsKIGV4dGVybiBMaXN0ICpHZXRBbGxUYWJs ZXNQdWJsaWNhdGlvbnModm9pZCk7Ci1leHRlcm4gTGlzdCAqR2V0QWxsVGFibGVzUHVibGljYXRp b25SZWxhdGlvbnMoYm9vbCBwdWJ2aWFyb290KTsKK2V4dGVybiBMaXN0ICpHZXRBbGxUYWJsZXNQ dWJsaWNhdGlvblJlbGF0aW9ucyhPaWQgcHViaWQsIGJvb2wgcHVidmlhcm9vdCk7CiBleHRlcm4g TGlzdCAqR2V0UHVibGljYXRpb25TY2hlbWFzKE9pZCBwdWJpZCk7CiBleHRlcm4gTGlzdCAqR2V0 U2NoZW1hUHVibGljYXRpb25zKE9pZCBzY2hlbWFpZCk7CiBleHRlcm4gTGlzdCAqR2V0U2NoZW1h UHVibGljYXRpb25SZWxhdGlvbnMoT2lkIHNjaGVtYWlkLApAQCAtMTQzLDcgKzE0NCw3IEBAIGV4 dGVybiBMaXN0ICpHZXRQdWJQYXJ0aXRpb25PcHRpb25SZWxhdGlvbnMoTGlzdCAqcmVzdWx0LAog CQkJCQkJCQkJCQlQdWJsaWNhdGlvblBhcnRPcHQgcHViX3BhcnRvcHQsCiAJCQkJCQkJCQkJCU9p ZCByZWxpZCk7CiBleHRlcm4gT2lkCUdldFRvcE1vc3RBbmNlc3RvckluUHVibGljYXRpb24oT2lk IHB1Ym9pZCwgTGlzdCAqYW5jZXN0b3JzLAotCQkJCQkJCQkJCQlpbnQgKmFuY2VzdG9yX2xldmVs KTsKKwkJCQkJCQkJCQkJaW50ICphbmNlc3Rvcl9sZXZlbCwgYm9vbCBwdWJhbGx0YWJsZXMpOwog CiBleHRlcm4gYm9vbCBpc19wdWJsaXNoYWJsZV9yZWxhdGlvbihSZWxhdGlvbiByZWwpOwogZXh0 ZXJuIGJvb2wgaXNfc2NoZW1hX3B1YmxpY2F0aW9uKE9pZCBwdWJpZCk7CmRpZmYgLS1naXQgYS9z cmMvaW5jbHVkZS9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uX3JlbC5oIGIvc3JjL2luY2x1ZGUvY2F0 YWxvZy9wZ19wdWJsaWNhdGlvbl9yZWwuaAppbmRleCBlY2QzNzM5ZjFhLi4yOGEzM2ZmMTdhIDEw MDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uX3JlbC5oCisrKyBi L3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHVibGljYXRpb25fcmVsLmgKQEAgLTMxLDYgKzMxLDcg QEAgQ0FUQUxPRyhwZ19wdWJsaWNhdGlvbl9yZWwsNjEwNixQdWJsaWNhdGlvblJlbFJlbGF0aW9u SWQpCiAJT2lkCQkJb2lkOwkJCS8qIG9pZCAqLwogCU9pZAkJCXBycHViaWQgQktJX0xPT0tVUChw Z19wdWJsaWNhdGlvbik7IC8qIE9pZCBvZiB0aGUgcHVibGljYXRpb24gKi8KIAlPaWQJCQlwcnJl bGlkIEJLSV9MT09LVVAocGdfY2xhc3MpOwkvKiBPaWQgb2YgdGhlIHJlbGF0aW9uICovCisJYm9v bAkJcHJleGNlcHQgQktJX0RFRkFVTFQoZik7CS8qIGV4Y2x1ZGUgdGhlIHJlbGF0aW9uICovCiAK ICNpZmRlZglDQVRBTE9HX1ZBUkxFTgkJCS8qIHZhcmlhYmxlLWxlbmd0aCBmaWVsZHMgc3RhcnQg aGVyZSAqLwogCXBnX25vZGVfdHJlZSBwcnF1YWw7CQkvKiBxdWFsaWZpY2F0aW9ucyAqLwpkaWZm IC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvcHVibGljYXRpb25jbWRzLmggYi9zcmMvaW5j bHVkZS9jb21tYW5kcy9wdWJsaWNhdGlvbmNtZHMuaAppbmRleCAyNDkxMTk2NTcwLi45MmZjNmU3 NzczIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jb21tYW5kcy9wdWJsaWNhdGlvbmNtZHMuaAor KysgYi9zcmMvaW5jbHVkZS9jb21tYW5kcy9wdWJsaWNhdGlvbmNtZHMuaApAQCAtMzIsOCArMzIs MTEgQEAgZXh0ZXJuIE9iamVjdEFkZHJlc3MgQWx0ZXJQdWJsaWNhdGlvbk93bmVyKGNvbnN0IGNo YXIgKm5hbWUsIE9pZCBuZXdPd25lcklkKTsKIGV4dGVybiB2b2lkIEFsdGVyUHVibGljYXRpb25P d25lcl9vaWQoT2lkIHN1YmlkLCBPaWQgbmV3T3duZXJJZCk7CiBleHRlcm4gdm9pZCBJbnZhbGlk YXRlUHVibGljYXRpb25SZWxzKExpc3QgKnJlbGlkcyk7CiBleHRlcm4gYm9vbCBwdWJfcmZfY29u dGFpbnNfaW52YWxpZF9jb2x1bW4oT2lkIHB1YmlkLCBSZWxhdGlvbiByZWxhdGlvbiwKLQkJCQkJ CQkJCQkgICBMaXN0ICphbmNlc3RvcnMsIGJvb2wgcHVidmlhcm9vdCk7CisJCQkJCQkJCQkJICAg TGlzdCAqYW5jZXN0b3JzLCBib29sIHB1YnZpYXJvb3QsCisJCQkJCQkJCQkJICAgYm9vbCBwdWJh bGx0YWJsZXMpOwogZXh0ZXJuIGJvb2wgcHViX2NvbGxpc3RfY29udGFpbnNfaW52YWxpZF9jb2x1 bW4oT2lkIHB1YmlkLCBSZWxhdGlvbiByZWxhdGlvbiwKLQkJCQkJCQkJCQkJCUxpc3QgKmFuY2Vz dG9ycywgYm9vbCBwdWJ2aWFyb290KTsKKwkJCQkJCQkJCQkJCUxpc3QgKmFuY2VzdG9ycywKKwkJ CQkJCQkJCQkJCWJvb2wgcHVidmlhcm9vdCwKKwkJCQkJCQkJCQkJCWJvb2wgcHViYWxsdGFibGVz KTsKIAogI2VuZGlmCQkJCQkJCS8qIFBVQkxJQ0FUSU9OQ01EU19IICovCmRpZmYgLS1naXQgYS9z cmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmggYi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5v ZGVzLmgKaW5kZXggNDdhMTc1N2U5NS4uZGRlZTEyNTFkMSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1 ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oCisrKyBiL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMu aApAQCAtMzczMiw2ICszNzMyLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgUHVibGljYXRpb25UYWJsZQog CVJhbmdlVmFyICAgKnJlbGF0aW9uOwkJLyogcmVsYXRpb24gdG8gYmUgcHVibGlzaGVkICovCiAJ Tm9kZQkgICAqd2hlcmVDbGF1c2U7CS8qIHF1YWxpZmljYXRpb25zICovCiAJTGlzdAkgICAqY29s dW1uczsJCS8qIExpc3Qgb2YgY29sdW1ucyBpbiBhIHB1YmxpY2F0aW9uIHRhYmxlICovCisJYm9v bAkJZXhjZXB0OwkJCS8qIGV4Y2x1ZGUgdGhlIHJlbGF0aW9uICovCiB9IFB1YmxpY2F0aW9uVGFi bGU7CiAKIC8qCkBAIC0zNzQwLDYgKzM3NDEsNyBAQCB0eXBlZGVmIHN0cnVjdCBQdWJsaWNhdGlv blRhYmxlCiB0eXBlZGVmIGVudW0gUHVibGljYXRpb25PYmpTcGVjVHlwZQogewogCVBVQkxJQ0FU SU9OT0JKX1RBQkxFLAkJLyogQSB0YWJsZSAqLworCVBVQkxJQ0FUSU9OT0JKX0VYQ0VQVF9UQUJM RSwJCS8qIEEgdGFibGUgdG8gYmUgZXhjbHVkZWQgKi8KIAlQVUJMSUNBVElPTk9CSl9UQUJMRVNf SU5fU0NIRU1BLAkvKiBBbGwgdGFibGVzIGluIHNjaGVtYSAqLwogCVBVQkxJQ0FUSU9OT0JKX1RB QkxFU19JTl9DVVJfU0NIRU1BLAkvKiBBbGwgdGFibGVzIGluIGZpcnN0IGVsZW1lbnQgb2YKIAkJ CQkJCQkJCQkJICogc2VhcmNoX3BhdGggKi8KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvcHVibGljYXRpb24ub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wdWJs aWNhdGlvbi5vdXQKaW5kZXggNzA4Y2RiYmQ3Ni4uOGYxYjg3N2QwNyAxMDA2NDQKLS0tIGEvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wdWJsaWNhdGlvbi5vdXQKKysrIGIvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9wdWJsaWNhdGlvbi5vdXQKQEAgLTE5MiwxMyArMTkyLDM3IEBAIFB1Ymxp Y2F0aW9uczoKICByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCB0ICAgICAgICAgIHwgdCAgICAg ICB8IHQgICAgICAgfCBmICAgICAgIHwgZiAgICAgICAgIHwgZgogKDEgcm93KQogCitTRVQgY2xp ZW50X21pbl9tZXNzYWdlcyA9ICdFUlJPUic7CitDUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1Yl9m b3JhbGx0YWJsZXNfZXhjZXB0dGFibGUgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFIHRlc3Rw dWJfdGJsMSwgdGVzdHB1Yl90YmwyOworLS0gc3BlY2lmeSBFWENFUFQgd2l0aG91dCBUQUJMRQor Q1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlMSBGT1Ig QUxMIFRBQkxFUyBFWENFUFQgdGVzdHB1Yl90YmwxOworUkVTRVQgY2xpZW50X21pbl9tZXNzYWdl czsKK1xkUnArIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlCisgICAgICAgICAgICAg ICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZQor ICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRl cyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0t LS0tLSstLS0tLS0tLS0tCisgcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgdCAgICAgICAgICB8 IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYKK0V4Y2VwdCB0YWJs ZXM6CisgICAgInB1YmxpYy50ZXN0cHViX3RibDEiCisgICAgInB1YmxpYy50ZXN0cHViX3RibDIi CisKK1xkUnArIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlMQorICAgICAgICAgICAg ICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZTEK KyAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0 ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgCistLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0t LS0tLS0rLS0tLS0tLS0tLQorIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IHQgICAgICAgICAg fCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAgfCBmCitFeGNlcHQgdGFi bGVzOgorICAgICJwdWJsaWMudGVzdHB1Yl90YmwxIgorCiBEUk9QIFRBQkxFIHRlc3RwdWJfdGJs MjsKLURST1AgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JhbGx0YWJsZXMsIHRlc3RwdWJfZm9ydGFi bGUsIHRlc3RwdWJfZm9yc2NoZW1hLCB0ZXN0cHViX2Zvcl90Ymxfc2NoZW1hOworRFJPUCBQVUJM SUNBVElPTiB0ZXN0cHViX2ZvcmFsbHRhYmxlcywgdGVzdHB1Yl9mb3J0YWJsZSwgdGVzdHB1Yl9m b3JzY2hlbWEsIHRlc3RwdWJfZm9yX3RibF9zY2hlbWEsIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4 Y2VwdHRhYmxlLCB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZTE7CiBDUkVBVEUgVEFC TEUgdGVzdHB1Yl90YmwzIChhIGludCk7CiBDUkVBVEUgVEFCTEUgdGVzdHB1Yl90YmwzYSAoYiB0 ZXh0KSBJTkhFUklUUyAodGVzdHB1Yl90YmwzKTsKIFNFVCBjbGllbnRfbWluX21lc3NhZ2VzID0g J0VSUk9SJzsKIENSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViMyBGT1IgVEFCTEUgdGVzdHB1Yl90 YmwzOwogQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI0IEZPUiBUQUJMRSBPTkxZIHRlc3RwdWJf dGJsMzsKK0NSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViNSBGT1IgQUxMIFRBQkxFUyBFWENFUFQg VEFCTEUgdGVzdHB1Yl90YmwzOworQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI2IEZPUiBBTEwg VEFCTEVTIEVYQ0VQVCBUQUJMRSBPTkxZIHRlc3RwdWJfdGJsMzsKIFJFU0VUIGNsaWVudF9taW5f bWVzc2FnZXM7CiBcZFJwKyB0ZXN0cHViMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUHVibGljYXRpb24gdGVzdHB1YjMKQEAgLTIxNyw4ICsyNDEsMjUgQEAgVGFibGVzOgog VGFibGVzOgogICAgICJwdWJsaWMudGVzdHB1Yl90YmwzIgogCitcZFJwKyB0ZXN0cHViNQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1YjUKKyAg ICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMg fCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0t LS0rLS0tLS0tLS0tLQorIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IHQgICAgICAgICAgfCB0 ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAgfCBmCitFeGNlcHQgdGFibGVz OgorICAgICJwdWJsaWMudGVzdHB1Yl90YmwzIgorICAgICJwdWJsaWMudGVzdHB1Yl90YmwzYSIK KworXGRScCsgdGVzdHB1YjYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1 YmxpY2F0aW9uIHRlc3RwdWI2CisgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxl cyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IAor LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0t LS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0aW9u X3VzZXIgfCB0ICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAg ICAgIHwgZgorRXhjZXB0IHRhYmxlczoKKyAgICAicHVibGljLnRlc3RwdWJfdGJsMyIKKwogRFJP UCBUQUJMRSB0ZXN0cHViX3RibDMsIHRlc3RwdWJfdGJsM2E7Ci1EUk9QIFBVQkxJQ0FUSU9OIHRl c3RwdWIzLCB0ZXN0cHViNDsKK0RST1AgUFVCTElDQVRJT04gdGVzdHB1YjMsIHRlc3RwdWI0LCB0 ZXN0cHViNSwgdGVzdHB1YjY7CiAtLSBUZXN0cyBmb3IgcGFydGl0aW9uZWQgdGFibGVzCiBTRVQg Y2xpZW50X21pbl9tZXNzYWdlcyA9ICdFUlJPUic7CiBDUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1 Yl9mb3JwYXJ0ZWQ7CkBAIC0xNzI2LDkgKzE3NjcsMTUgQEAgRFJPUCBTQ0hFTUEgc2NoMiBjYXNj YWRlOwogLS0gVGVzdHMgZm9yIEFMVEVSIFBVQkxJQ0FUSU9OIC4uLiBSRVNFVAogQ1JFQVRFIFND SEVNQSBwdWJfc2NoMTsKIENSRUFURSBUQUJMRSBwdWJfc2NoMS50YmwxIChhIGludCk7CitDUkVB VEUgVEFCTEUgcHViX3NjaDEudGJsMiAoYSBpbnQpOwogU0VUIGNsaWVudF9taW5fbWVzc2FnZXMg PSAnRVJST1InOwogQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWJfcmVzZXQgRk9SIEFMTCBUQUJM RVM7CiBSRVNFVCBjbGllbnRfbWluX21lc3NhZ2VzOworLS0gQ2FuJ3QgYWRkIEVYQ0VQVCBUQUJM RSB0byAnRk9SIEFMTCBUQUJMRVMnIHB1YmxpY2F0aW9uCitBTFRFUiBQVUJMSUNBVElPTiB0ZXN0 cHViX3Jlc2V0IEFERCBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSBwdWJfc2NoMS50YmwxOworRVJS T1I6ICBhZGRpbmcgQUxMIFRBQkxFUyByZXF1aXJlcyB0aGUgcHVibGljYXRpb24gdG8gaGF2ZSBk ZWZhdWx0IHB1YmxpY2F0aW9uIHBhcmFtZXRlciB2YWx1ZXMKK0RFVEFJTDogIEFMTCBUQUJMRVMg ZmxhZyBzaG91bGQgbm90IGJlIHNldCBhbmQgbm8gdGFibGVzL3NjaGVtYXMgc2hvdWxkIGJlIGFz c29jaWF0ZWQuCitISU5UOiAgVXNlIEFMVEVSIFBVQkxJQ0FUSU9OIC4uLiBSRVNFVCB0byByZXNl dCB0aGUgcHVibGljYXRpb24KIC0tIFZlcmlmeSB0aGF0ICdBTEwgVEFCTEVTJyBmbGFnIGlzIHJl c2V0CiBcZFJwKyB0ZXN0cHViX3Jlc2V0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBQdWJsaWNhdGlvbiB0ZXN0cHViX3Jlc2V0CkBAIC0xNzQ1LDcgKzE3OTIsMjQgQEAgQUxURVIg UFVCTElDQVRJT04gdGVzdHB1Yl9yZXNldCBSRVNFVDsKICByZWdyZXNzX3B1YmxpY2F0aW9uX3Vz ZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICAg IHwgZgogKDEgcm93KQogCistLSBTaG91bGQgd29yayBub3cgYWZ0ZXIgcmVzZXR0aW5nIHRoZSBw dWJsaWNhdGlvbgorQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9yZXNldCBBREQgQUxMIFRBQkxF UyBFWENFUFQgVEFCTEUgcHViX3NjaDEudGJsMSwgcHViX3NjaDEudGJsMjsKK1xkUnArIHRlc3Rw dWJfcmVzZXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRl c3RwdWJfcmVzZXQKKyAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5z ZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgCistLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQorIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8 IHQgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAgfCBm CitFeGNlcHQgdGFibGVzOgorICAgICJwdWJfc2NoMS50YmwxIgorICAgICJwdWJfc2NoMS50Ymwy IgorCitBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX3Jlc2V0IFJFU0VUOwogQUxURVIgUFVCTElD QVRJT04gdGVzdHB1Yl9yZXNldCBBREQgVEFCTEUgcHViX3NjaDEudGJsMTsKKy0tIENhbid0IGFk ZCBFWENFUFQgVEFCTEUgdG8gJ0ZPUiBUQUJMRScgcHVibGljYXRpb24KK0FMVEVSIFBVQkxJQ0FU SU9OIHRlc3RwdWJfcmVzZXQgQUREIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFIHB1Yl9zY2gxLnRi bDE7CitFUlJPUjogIGFkZGluZyBBTEwgVEFCTEVTIHJlcXVpcmVzIHRoZSBwdWJsaWNhdGlvbiB0 byBoYXZlIGRlZmF1bHQgcHVibGljYXRpb24gcGFyYW1ldGVyIHZhbHVlcworREVUQUlMOiAgQUxM IFRBQkxFUyBmbGFnIHNob3VsZCBub3QgYmUgc2V0IGFuZCBubyB0YWJsZXMvc2NoZW1hcyBzaG91 bGQgYmUgYXNzb2NpYXRlZC4KK0hJTlQ6ICBVc2UgQUxURVIgUFVCTElDQVRJT04gLi4uIFJFU0VU IHRvIHJlc2V0IHRoZSBwdWJsaWNhdGlvbgogLS0gVmVyaWZ5IHRoYXQgdGFibGVzIGFzc29jaWF0 ZWQgd2l0aCB0aGUgcHVibGljYXRpb24gYXJlIGRyb3BwZWQgYWZ0ZXIgUkVTRVQKIFxkUnArIHRl c3RwdWJfcmVzZXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9u IHRlc3RwdWJfcmVzZXQKQEAgLTE3NjMsNyArMTgyNywxMiBAQCBBTFRFUiBQVUJMSUNBVElPTiB0 ZXN0cHViX3Jlc2V0IFJFU0VUOwogIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYgICAgICAg ICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAgfCBmCiAoMSByb3cp CiAKLUFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfcmVzZXQgQUREIEFMTCBUQUJMRVMgSU4gU0NI RU1BIHB1YmxpYzsKK0FMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfcmVzZXQgQUREIFRBQkxFUyBJ TiBTQ0hFTUEgcHVibGljOworLS0gQ2FuJ3QgYWRkIEVYQ0VQVCBUQUJMRSB0byAnRk9SIEFMTCBU QUJMRVMgSU4gU0NIRU1BJyBwdWJsaWNhdGlvbgorQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9y ZXNldCBBREQgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgcHViX3NjaDEudGJsMTsKK0VSUk9SOiAg YWRkaW5nIEFMTCBUQUJMRVMgcmVxdWlyZXMgdGhlIHB1YmxpY2F0aW9uIHRvIGhhdmUgZGVmYXVs dCBwdWJsaWNhdGlvbiBwYXJhbWV0ZXIgdmFsdWVzCitERVRBSUw6ICBBTEwgVEFCTEVTIGZsYWcg c2hvdWxkIG5vdCBiZSBzZXQgYW5kIG5vIHRhYmxlcy9zY2hlbWFzIHNob3VsZCBiZSBhc3NvY2lh dGVkLgorSElOVDogIFVzZSBBTFRFUiBQVUJMSUNBVElPTiAuLi4gUkVTRVQgdG8gcmVzZXQgdGhl IHB1YmxpY2F0aW9uCiAtLSBWZXJpZnkgdGhhdCBzY2hlbWFzIGFzc29jaWF0ZWQgd2l0aCB0aGUg cHVibGljYXRpb24gYXJlIGRyb3BwZWQgYWZ0ZXIgUkVTRVQKIFxkUnArIHRlc3RwdWJfcmVzZXQK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWJfcmVz ZXQKQEAgLTE3ODIsNiArMTg1MSwxMiBAQCBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX3Jlc2V0 IFJFU0VUOwogKDEgcm93KQogCiBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX3Jlc2V0IFNFVCAo UFVCTElTSCA9ICcnKTsKKy0tIENhbid0IGFkZCBFWENFUFQgVEFCTEUgd2hlbiB0aGUgJ1BVQkxJ U0gnIHBhcmFtZXRlciBkb2VzIG5vdCBoYXZlIGRlZmF1bHQKKy0tIHZhbHVlCitBTFRFUiBQVUJM SUNBVElPTiB0ZXN0cHViX3Jlc2V0IEFERCBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSBwdWJfc2No MS50YmwxOworRVJST1I6ICBhZGRpbmcgQUxMIFRBQkxFUyByZXF1aXJlcyB0aGUgcHVibGljYXRp b24gdG8gaGF2ZSBkZWZhdWx0IHB1YmxpY2F0aW9uIHBhcmFtZXRlciB2YWx1ZXMKK0RFVEFJTDog IEFMTCBUQUJMRVMgZmxhZyBzaG91bGQgbm90IGJlIHNldCBhbmQgbm8gdGFibGVzL3NjaGVtYXMg c2hvdWxkIGJlIGFzc29jaWF0ZWQuCitISU5UOiAgVXNlIEFMVEVSIFBVQkxJQ0FUSU9OIC4uLiBS RVNFVCB0byByZXNldCB0aGUgcHVibGljYXRpb24KIC0tIFZlcmlmeSB0aGF0ICdQVUJMSVNIJyBw YXJhbWV0ZXIgaXMgcmVzZXQKIFxkUnArIHRlc3RwdWJfcmVzZXQKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWJfcmVzZXQKQEAgLTE3OTksNiArMTg3 NCwxMiBAQCBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX3Jlc2V0IFJFU0VUOwogKDEgcm93KQog CiBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX3Jlc2V0IFNFVCAoUFVCTElTSF9WSUFfUEFSVElU SU9OX1JPT1QgPSAndHJ1ZScpOworLS0gQ2FuJ3QgYWRkIEVYQ0VQVCBUQUJMRSB3aGVuICdQVUJM SVNIX1ZJQV9QQVJUSVRJT05fUk9PVCcgcGFyYW1ldGVyIGRvZXMgbm90CistLSBoYXZlIGRlZmF1 bHQgdmFsdWUKK0FMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfcmVzZXQgQUREIEFMTCBUQUJMRVMg RVhDRVBUIFRBQkxFIHB1Yl9zY2gxLnRibDE7CitFUlJPUjogIGFkZGluZyBBTEwgVEFCTEVTIHJl cXVpcmVzIHRoZSBwdWJsaWNhdGlvbiB0byBoYXZlIGRlZmF1bHQgcHVibGljYXRpb24gcGFyYW1l dGVyIHZhbHVlcworREVUQUlMOiAgQUxMIFRBQkxFUyBmbGFnIHNob3VsZCBub3QgYmUgc2V0IGFu ZCBubyB0YWJsZXMvc2NoZW1hcyBzaG91bGQgYmUgYXNzb2NpYXRlZC4KK0hJTlQ6ICBVc2UgQUxU RVIgUFVCTElDQVRJT04gLi4uIFJFU0VUIHRvIHJlc2V0IHRoZSBwdWJsaWNhdGlvbgogLS0gVmVy aWZ5IHRoYXQgJ1BVQkxJU0hfVklBX1BBUlRJVElPTl9ST09UJyBwYXJhbWV0ZXIgaXMgcmVzZXQK IFxkUnArIHRlc3RwdWJfcmVzZXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1 YmxpY2F0aW9uIHRlc3RwdWJfcmVzZXQKQEAgLTE4MjAsOSArMTkwMSwxMyBAQCBBTFRFUiBQVUJM SUNBVElPTiB0ZXN0cHViX3Jlc2V0IE9XTkVSIFRPIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlcjI7 CiBTRVQgUk9MRSByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIyOwogQUxURVIgUFVCTElDQVRJT04g dGVzdHB1Yl9yZXNldCBSRVNFVDsgLS0gZmFpbCAtIG11c3QgYmUgc3VwZXJ1c2VyCiBFUlJPUjog IG11c3QgYmUgc3VwZXJ1c2VyIHRvIFJFU0VUIHB1YmxpY2F0aW9uCistLSBWZXJpZnkgdGhhdCBv bmx5IHN1cGVydXNlciBjYW4gQUREIEFMTCBUQUJMRVMKK0FMVEVSIFBVQkxJQ0FUSU9OIHRlc3Rw dWJfcmVzZXQgQUREIEFMTCBUQUJMRVM7CitFUlJPUjogIG11c3QgYmUgc3VwZXJ1c2VyIHRvIEFE RCBBTEwgVEFCTEVTIHRvIHRoZSBwdWJsaWNhdGlvbgogU0VUIFJPTEUgcmVncmVzc19wdWJsaWNh dGlvbl91c2VyOwogRFJPUCBQVUJMSUNBVElPTiB0ZXN0cHViX3Jlc2V0OwogRFJPUCBUQUJMRSBw dWJfc2NoMS50YmwxOworRFJPUCBUQUJMRSBwdWJfc2NoMS50YmwyOwogRFJPUCBTQ0hFTUEgcHVi X3NjaDE7CiBSRVNFVCBTRVNTSU9OIEFVVEhPUklaQVRJT047CiBEUk9QIFJPTEUgcmVncmVzc19w dWJsaWNhdGlvbl91c2VyLCByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIyOwpkaWZmIC0tZ2l0IGEv c3JjL3Rlc3QvcmVncmVzcy9zcWwvcHVibGljYXRpb24uc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9z cWwvcHVibGljYXRpb24uc3FsCmluZGV4IGVjNzEwZmYzM2QuLjVhM2ZhOGY1ODIgMTAwNjQ0Ci0t LSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3B1YmxpY2F0aW9uLnNxbAorKysgYi9zcmMvdGVzdC9y ZWdyZXNzL3NxbC9wdWJsaWNhdGlvbi5zcWwKQEAgLTk4LDIwICs5OCwzNCBAQCBTRUxFQ1QgcHVi bmFtZSwgcHViYWxsdGFibGVzIEZST00gcGdfcHVibGljYXRpb24gV0hFUkUgcHVibmFtZSA9ICd0 ZXN0cHViX2ZvcmFsbAogXGQrIHRlc3RwdWJfdGJsMgogXGRScCsgdGVzdHB1Yl9mb3JhbGx0YWJs ZXMKIAorU0VUIGNsaWVudF9taW5fbWVzc2FnZXMgPSAnRVJST1InOworQ1JFQVRFIFBVQkxJQ0FU SU9OIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlIEZPUiBBTEwgVEFCTEVTIEVYQ0VQ VCBUQUJMRSB0ZXN0cHViX3RibDEsIHRlc3RwdWJfdGJsMjsKKy0tIHNwZWNpZnkgRVhDRVBUIHdp dGhvdXQgVEFCTEUKK0NSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNl cHR0YWJsZTEgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIHRlc3RwdWJfdGJsMTsKK1JFU0VUIGNsaWVu dF9taW5fbWVzc2FnZXM7CisKK1xkUnArIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxl CitcZFJwKyB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZTEKKwogRFJPUCBUQUJMRSB0 ZXN0cHViX3RibDI7Ci1EUk9QIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9yYWxsdGFibGVzLCB0ZXN0 cHViX2ZvcnRhYmxlLCB0ZXN0cHViX2ZvcnNjaGVtYSwgdGVzdHB1Yl9mb3JfdGJsX3NjaGVtYTsK K0RST1AgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JhbGx0YWJsZXMsIHRlc3RwdWJfZm9ydGFibGUs IHRlc3RwdWJfZm9yc2NoZW1hLCB0ZXN0cHViX2Zvcl90Ymxfc2NoZW1hLCB0ZXN0cHViX2ZvcmFs bHRhYmxlc19leGNlcHR0YWJsZSwgdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUxOwor CiAKIENSRUFURSBUQUJMRSB0ZXN0cHViX3RibDMgKGEgaW50KTsKIENSRUFURSBUQUJMRSB0ZXN0 cHViX3RibDNhIChiIHRleHQpIElOSEVSSVRTICh0ZXN0cHViX3RibDMpOwogU0VUIGNsaWVudF9t aW5fbWVzc2FnZXMgPSAnRVJST1InOwogQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWIzIEZPUiBU QUJMRSB0ZXN0cHViX3RibDM7CiBDUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1YjQgRk9SIFRBQkxF IE9OTFkgdGVzdHB1Yl90YmwzOworQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI1IEZPUiBBTEwg VEFCTEVTIEVYQ0VQVCBUQUJMRSB0ZXN0cHViX3RibDM7CitDUkVBVEUgUFVCTElDQVRJT04gdGVz dHB1YjYgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFIE9OTFkgdGVzdHB1Yl90YmwzOwogUkVT RVQgY2xpZW50X21pbl9tZXNzYWdlczsKIFxkUnArIHRlc3RwdWIzCiBcZFJwKyB0ZXN0cHViNAor XGRScCsgdGVzdHB1YjUKK1xkUnArIHRlc3RwdWI2CiAKIERST1AgVEFCTEUgdGVzdHB1Yl90Ymwz LCB0ZXN0cHViX3RibDNhOwotRFJPUCBQVUJMSUNBVElPTiB0ZXN0cHViMywgdGVzdHB1YjQ7CitE Uk9QIFBVQkxJQ0FUSU9OIHRlc3RwdWIzLCB0ZXN0cHViNCwgdGVzdHB1YjUsIHRlc3RwdWI2Owog CiAtLSBUZXN0cyBmb3IgcGFydGl0aW9uZWQgdGFibGVzCiBTRVQgY2xpZW50X21pbl9tZXNzYWdl cyA9ICdFUlJPUic7CkBAIC0xMDk2LDIzICsxMTEwLDM5IEBAIERST1AgU0NIRU1BIHNjaDIgY2Fz Y2FkZTsKIC0tIFRlc3RzIGZvciBBTFRFUiBQVUJMSUNBVElPTiAuLi4gUkVTRVQKIENSRUFURSBT Q0hFTUEgcHViX3NjaDE7CiBDUkVBVEUgVEFCTEUgcHViX3NjaDEudGJsMSAoYSBpbnQpOworQ1JF QVRFIFRBQkxFIHB1Yl9zY2gxLnRibDIgKGEgaW50KTsKIFNFVCBjbGllbnRfbWluX21lc3NhZ2Vz ID0gJ0VSUk9SJzsKIENSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViX3Jlc2V0IEZPUiBBTEwgVEFC TEVTOwogUkVTRVQgY2xpZW50X21pbl9tZXNzYWdlczsKIAorLS0gQ2FuJ3QgYWRkIEVYQ0VQVCBU QUJMRSB0byAnRk9SIEFMTCBUQUJMRVMnIHB1YmxpY2F0aW9uCitBTFRFUiBQVUJMSUNBVElPTiB0 ZXN0cHViX3Jlc2V0IEFERCBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSBwdWJfc2NoMS50YmwxOwor CiAtLSBWZXJpZnkgdGhhdCAnQUxMIFRBQkxFUycgZmxhZyBpcyByZXNldAogXGRScCsgdGVzdHB1 Yl9yZXNldAogQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9yZXNldCBSRVNFVDsKIFxkUnArIHRl c3RwdWJfcmVzZXQKIAorLS0gU2hvdWxkIHdvcmsgbm93IGFmdGVyIHJlc2V0dGluZyB0aGUgcHVi bGljYXRpb24KK0FMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfcmVzZXQgQUREIEFMTCBUQUJMRVMg RVhDRVBUIFRBQkxFIHB1Yl9zY2gxLnRibDEsIHB1Yl9zY2gxLnRibDI7CitcZFJwKyB0ZXN0cHVi X3Jlc2V0CisKK0FMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfcmVzZXQgUkVTRVQ7CisKIEFMVEVS IFBVQkxJQ0FUSU9OIHRlc3RwdWJfcmVzZXQgQUREIFRBQkxFIHB1Yl9zY2gxLnRibDE7CiAKKy0t IENhbid0IGFkZCBFWENFUFQgVEFCTEUgdG8gJ0ZPUiBUQUJMRScgcHVibGljYXRpb24KK0FMVEVS IFBVQkxJQ0FUSU9OIHRlc3RwdWJfcmVzZXQgQUREIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFIHB1 Yl9zY2gxLnRibDE7CisKIC0tIFZlcmlmeSB0aGF0IHRhYmxlcyBhc3NvY2lhdGVkIHdpdGggdGhl IHB1YmxpY2F0aW9uIGFyZSBkcm9wcGVkIGFmdGVyIFJFU0VUCiBcZFJwKyB0ZXN0cHViX3Jlc2V0 CiBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX3Jlc2V0IFJFU0VUOwogXGRScCsgdGVzdHB1Yl9y ZXNldAogCi1BTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX3Jlc2V0IEFERCBBTEwgVEFCTEVTIElO IFNDSEVNQSBwdWJsaWM7CitBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX3Jlc2V0IEFERCBUQUJM RVMgSU4gU0NIRU1BIHB1YmxpYzsKKworLS0gQ2FuJ3QgYWRkIEVYQ0VQVCBUQUJMRSB0byAnRk9S IEFMTCBUQUJMRVMgSU4gU0NIRU1BJyBwdWJsaWNhdGlvbgorQUxURVIgUFVCTElDQVRJT04gdGVz dHB1Yl9yZXNldCBBREQgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgcHViX3NjaDEudGJsMTsKIAog LS0gVmVyaWZ5IHRoYXQgc2NoZW1hcyBhc3NvY2lhdGVkIHdpdGggdGhlIHB1YmxpY2F0aW9uIGFy ZSBkcm9wcGVkIGFmdGVyIFJFU0VUCiBcZFJwKyB0ZXN0cHViX3Jlc2V0CkBAIC0xMTIxLDYgKzEx NTEsMTAgQEAgQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9yZXNldCBSRVNFVDsKIAogQUxURVIg UFVCTElDQVRJT04gdGVzdHB1Yl9yZXNldCBTRVQgKFBVQkxJU0ggPSAnJyk7CiAKKy0tIENhbid0 IGFkZCBFWENFUFQgVEFCTEUgd2hlbiB0aGUgJ1BVQkxJU0gnIHBhcmFtZXRlciBkb2VzIG5vdCBo YXZlIGRlZmF1bHQKKy0tIHZhbHVlCitBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX3Jlc2V0IEFE RCBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSBwdWJfc2NoMS50YmwxOworCiAtLSBWZXJpZnkgdGhh dCAnUFVCTElTSCcgcGFyYW1ldGVyIGlzIHJlc2V0CiBcZFJwKyB0ZXN0cHViX3Jlc2V0CiBBTFRF UiBQVUJMSUNBVElPTiB0ZXN0cHViX3Jlc2V0IFJFU0VUOwpAQCAtMTEyOCw2ICsxMTYyLDEwIEBA IEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfcmVzZXQgUkVTRVQ7CiAKIEFMVEVSIFBVQkxJQ0FU SU9OIHRlc3RwdWJfcmVzZXQgU0VUIChQVUJMSVNIX1ZJQV9QQVJUSVRJT05fUk9PVCA9ICd0cnVl Jyk7CiAKKy0tIENhbid0IGFkZCBFWENFUFQgVEFCTEUgd2hlbiAnUFVCTElTSF9WSUFfUEFSVElU SU9OX1JPT1QnIHBhcmFtZXRlciBkb2VzIG5vdAorLS0gaGF2ZSBkZWZhdWx0IHZhbHVlCitBTFRF UiBQVUJMSUNBVElPTiB0ZXN0cHViX3Jlc2V0IEFERCBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSBw dWJfc2NoMS50YmwxOworCiAtLSBWZXJpZnkgdGhhdCAnUFVCTElTSF9WSUFfUEFSVElUSU9OX1JP T1QnIHBhcmFtZXRlciBpcyByZXNldAogXGRScCsgdGVzdHB1Yl9yZXNldAogQUxURVIgUFVCTElD QVRJT04gdGVzdHB1Yl9yZXNldCBSRVNFVDsKQEAgLTExMzcsMTAgKzExNzUsMTQgQEAgQUxURVIg UFVCTElDQVRJT04gdGVzdHB1Yl9yZXNldCBSRVNFVDsKIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3Rw dWJfcmVzZXQgT1dORVIgVE8gcmVncmVzc19wdWJsaWNhdGlvbl91c2VyMjsKIFNFVCBST0xFIHJl Z3Jlc3NfcHVibGljYXRpb25fdXNlcjI7CiBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX3Jlc2V0 IFJFU0VUOyAtLSBmYWlsIC0gbXVzdCBiZSBzdXBlcnVzZXIKKworLS0gVmVyaWZ5IHRoYXQgb25s eSBzdXBlcnVzZXIgY2FuIEFERCBBTEwgVEFCTEVTCitBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHVi X3Jlc2V0IEFERCBBTEwgVEFCTEVTOwogU0VUIFJPTEUgcmVncmVzc19wdWJsaWNhdGlvbl91c2Vy OwogCiBEUk9QIFBVQkxJQ0FUSU9OIHRlc3RwdWJfcmVzZXQ7CiBEUk9QIFRBQkxFIHB1Yl9zY2gx LnRibDE7CitEUk9QIFRBQkxFIHB1Yl9zY2gxLnRibDI7CiBEUk9QIFNDSEVNQSBwdWJfc2NoMTsK IAogUkVTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qvc3Vi c2NyaXB0aW9uL3QvMDMyX3JlcF9jaGFuZ2VzX2V4Y2VwdF90YWJsZS5wbCBiL3NyYy90ZXN0L3N1 YnNjcmlwdGlvbi90LzAzMl9yZXBfY2hhbmdlc19leGNlcHRfdGFibGUucGwKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMTc1ZTM4MzQyZQotLS0gL2Rldi9udWxsCisrKyBi L3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzMl9yZXBfY2hhbmdlc19leGNlcHRfdGFibGUucGwK QEAgLTAsMCArMSw4MCBAQAorCisjIENvcHlyaWdodCAoYykgMjAyMS0yMDIyLCBQb3N0Z3JlU1FM IEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cAorCisjIExvZ2ljYWwgcmVwbGljYXRpb24gdGVzdHMg Zm9yIGV4Y2VwdCB0YWJsZSBwdWJsaWNhdGlvbnMKK3VzZSBzdHJpY3Q7Cit1c2Ugd2FybmluZ3M7 Cit1c2UgUG9zdGdyZVNRTDo6VGVzdDo6Q2x1c3RlcjsKK3VzZSBQb3N0Z3JlU1FMOjpUZXN0OjpV dGlsczsKK3VzZSBUZXN0OjpNb3JlOworCisjIEluaXRpYWxpemUgcHVibGlzaGVyIG5vZGUKK215 ICRub2RlX3B1Ymxpc2hlciA9IFBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0ZXItPm5ldygncHVibGlz aGVyJyk7Ciskbm9kZV9wdWJsaXNoZXItPmluaXQoYWxsb3dzX3N0cmVhbWluZyA9PiAnbG9naWNh bCcpOworJG5vZGVfcHVibGlzaGVyLT5zdGFydDsKKworIyBDcmVhdGUgc3Vic2NyaWJlciBub2Rl CitteSAkbm9kZV9zdWJzY3JpYmVyID0gUG9zdGdyZVNRTDo6VGVzdDo6Q2x1c3Rlci0+bmV3KCdz dWJzY3JpYmVyJyk7Ciskbm9kZV9zdWJzY3JpYmVyLT5pbml0KGFsbG93c19zdHJlYW1pbmcgPT4g J2xvZ2ljYWwnKTsKKyRub2RlX3N1YnNjcmliZXItPnN0YXJ0OworCisjIFRlc3QgcmVwbGljYXRp b24gd2l0aCBwdWJsaWNhdGlvbnMgY3JlYXRlZCB1c2luZyBGT1IgQUxMIFRBQkxFUyBFWENFUFQg VEFCTEUKKyMgY2xhdXNlLgorIyBDcmVhdGUgc2NoZW1hcyBhbmQgdGFibGVzIG9uIHB1Ymxpc2hl cgorJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFURSBTQ0hFTUEg c2NoMSIpOworJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiQ1JFQVRF IFRBQkxFIHNjaDEudGFiMSBBUyBTRUxFQ1QgZ2VuZXJhdGVfc2VyaWVzKDEsMTApIEFTIGEiKTsK KyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIkNSRUFURSBUQUJMRSBw dWJsaWMudGFiMShhIGludCkiKTsKKworIyBDcmVhdGUgc2NoZW1hcyBhbmQgdGFibGVzIG9uIHN1 YnNjcmliZXIKKyRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiQ1JFQVRF IFNDSEVNQSBzY2gxIik7Ciskbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywg IkNSRUFURSBUQUJMRSBzY2gxLnRhYjEgKGEgaW50KSIpOworJG5vZGVfc3Vic2NyaWJlci0+c2Fm ZV9wc3FsKCdwb3N0Z3JlcycsICJDUkVBVEUgVEFCTEUgcHVibGljLnRhYjEgKGEgaW50KSIpOwor CisjIFNldHVwIGxvZ2ljYWwgcmVwbGljYXRpb24KK215ICRwdWJsaXNoZXJfY29ubnN0ciA9ICRu b2RlX3B1Ymxpc2hlci0+Y29ubnN0ciAuICcgZGJuYW1lPXBvc3RncmVzJzsKKyRub2RlX3B1Ymxp c2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIkNSRUFURSBQVUJMSUNBVElPTiB0YXBfcHVi X3NjaGVtYSBGT1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgc2NoMS50YWIxIik7CisKKyRub2Rl X3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJDUkVBVEUgU1VCU0NSSVBUSU9O IHRhcF9zdWJfc2NoZW1hIENPTk5FQ1RJT04gJyRwdWJsaXNoZXJfY29ubnN0cicgUFVCTElDQVRJ T04gdGFwX3B1Yl9zY2hlbWEiCispOworCisjIFdhaXQgZm9yIGluaXRpYWwgdGFibGUgc3luYyB0 byBmaW5pc2gKKyRub2RlX3N1YnNjcmliZXItPndhaXRfZm9yX3N1YnNjcmlwdGlvbl9zeW5jKCRu b2RlX3B1Ymxpc2hlciwgJ3RhcF9zdWJfc2NoZW1hJyk7CisKKyMgQ2hlY2sgdGhlIHRhYmxlIGRh dGEgZG9lcyBub3Qgc3luYyBmb3IgZXhjbHVkZWQgdGFibGUKK215ICRyZXN1bHQgPSAkbm9kZV9z dWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiU0VMRUNUIGNvdW50KCopLCBtaW4o YSksIG1heChhKSBGUk9NIHNjaDEudGFiMSIpOworaXMoJHJlc3VsdCwgcXEoMHx8KSwgJ2NoZWNr IHRoZXJlIGlzIG5vIGluaXRpYWwgZGF0YSBjb3BpZWQgZm9yIHRoZSBleGNsdWRlZCB0YWJsZScp OworCisjIEluc2VydCBzb21lIGRhdGEgYW5kIHZlcmlmeSB0aGF0IGluc2VydGVkIGRhdGEgaXMg bm90IHJlcGxpY2F0ZWQKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJ IklOU0VSVCBJTlRPIHNjaDEudGFiMSBWQUxVRVMoZ2VuZXJhdGVfc2VyaWVzKDExLDIwKSkiKTsK KworJG5vZGVfcHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCd0YXBfc3ViX3NjaGVtYScpOwor CiskcmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIlNF TEVDVCBjb3VudCgqKSwgbWluKGEpLCBtYXgoYSkgRlJPTSBzY2gxLnRhYjEiKTsKK2lzKCRyZXN1 bHQsIHFxKDB8fCksICdjaGVjayByZXBsaWNhdGVkIGluc2VydHMgb24gc3Vic2NyaWJlcicpOwor CisjIEFsdGVyIHB1YmxpY2F0aW9uIHRvIGV4Y2x1ZGUgZGF0YSBjaGFuZ2VzIGluIHB1YmxpYy50 YWIxIGFuZCB2ZXJpZnkgdGhhdAorIyBzdWJzY3JpYmVyIGRvZXMgbm90IGdldCB0aGUgY2hhbmdl ZCBkYXRhIGZvciB0aGlzIHRhYmxlLgorJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3Rn cmVzJywKKyAgICAgICAgIkFMVEVSIFBVQkxJQ0FUSU9OIHRhcF9wdWJfc2NoZW1hIFJFU0VUIik7 Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorICAgICAgICAiQUxURVIg UFVCTElDQVRJT04gdGFwX3B1Yl9zY2hlbWEgQUREIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFIHNj aDEudGFiMSwgcHVibGljLnRhYjEiKTsKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0 Z3JlcycsCisgICAgICAgICJJTlNFUlQgSU5UTyBwdWJsaWMudGFiMSBWQUxVRVMoZ2VuZXJhdGVf c2VyaWVzKDEsMTApKSIpOworCiskbm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2NhdGNodXAoJ3Rh cF9zdWJfc2NoZW1hJyk7CisKKyRyZXN1bHQgPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwo J3Bvc3RncmVzJywKKwkiU0VMRUNUIGNvdW50KCopLCBtaW4oYSksIG1heChhKSBGUk9NIHB1Ymxp Yy50YWIxIik7CitpcygkcmVzdWx0LCBxcSgwfHwpLCAnY2hlY2sgcm93cyBvbiBzdWJzY3JpYmVy IGNhdGNodXAnKTsKKworJG5vZGVfc3Vic2NyaWJlci0+c3RvcCgnZmFzdCcpOworJG5vZGVfcHVi bGlzaGVyLT5zdG9wKCdmYXN0Jyk7CisKK2RvbmVfdGVzdGluZygpOwotLSAKMi4zNC4xCgo= --000000000000f7e01105ece18e44--