Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vcm4W-00Ae43-3A for pgsql-hackers@arkaria.postgresql.org; Mon, 05 Jan 2026 15:00:42 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vcm4V-002U9V-2z for pgsql-hackers@arkaria.postgresql.org; Mon, 05 Jan 2026 15:00:40 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vcm4V-002U9M-17 for pgsql-hackers@lists.postgresql.org; Mon, 05 Jan 2026 15:00:40 +0000 Received: from mail-yx1-xb129.google.com ([2607:f8b0:4864:20::b129]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vcm4Q-004hQC-2i for pgsql-hackers@lists.postgresql.org; Mon, 05 Jan 2026 15:00:39 +0000 Received: by mail-yx1-xb129.google.com with SMTP id 956f58d0204a3-6446c1a7a1cso11365902d50.3 for ; Mon, 05 Jan 2026 07:00:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767625233; x=1768230033; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=4GvLh2qiJdL8bn7Va+N8YJX02l+t5hFLLhy4tdns9Hw=; b=RnfE4m9n1e75jprgYoeG/xXgcCHYBGv9u7OhhpiC+nwN6+6hNLiup69xVg6nIFqKle rVxnSXq2M/uUCVM3mhdAHxst4t2cy/cEKCu2mXipAU0GF72lbzJ6dNnH07XyftEQmIpX qW2ivmhl3YvTl1EZdyK423eRA+s9MOO+iZJpJOte4Vdv7BO/TlhccUmE7q+yFJYGr2fw PnHGgQKn3QccmRK/MH4zpIp2tq1eVPJbiNgLndspe2fLHumqYiHigAtfVyC411EkT7ND 2qA3ALZ6PkMypj33zALOtoUWE/I2s4G0CCguCE07W4XAN7ra1+c/8hWNpBqT+jy13jyM f5jw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767625233; x=1768230033; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=4GvLh2qiJdL8bn7Va+N8YJX02l+t5hFLLhy4tdns9Hw=; b=I0dLGLz32L6RHum7vY82mC/kMtKbuqVYPt+TN0IrTRWJCwvgcKZBNt+T9hX/qel4qa VoEfQSZTnps+7HZfNfwk7/EJW9R3t9V2Ms++mnqzjixEABdi4KLIzRlkwWaVHxqZMXcD luXInWdcDb943orOBks75Qfq0Y/Tgl/VS9KfAgPjsdmHyxlktPHTJKIWr44eXD0uLUGd +FCSgtDpCwa3pA+6+lj/wJD2pJV/HOOtb8h29VTcYL1SvZZAzAwIJ9O68O7RVgQ4Mj6U mjioVZspNxpbfKxeJQB98g3pGIOO/ojaWBxpFlDOqaUMb/lUmK+R6179bEP6lnRfzuim OlEg== X-Forwarded-Encrypted: i=1; AJvYcCXRnwLBN7BDQWVOjgu2DcmYoLrMAQL+OU9mM6gmGIDVqPJDpIy/n0MKlMg56K1yvAQv7bFW50/Ld1vpaRlz@lists.postgresql.org X-Gm-Message-State: AOJu0Yy3KQWr4wEADJyrKf0l7jURkem36uICQK0b3qh9xdOl3EvmiW4e MKvmw/m9If3M50CMYukFblASRklIIA1LoFmxqK4v8Bx1MaH7TD7ubhOGN+759XzylNCynDR9M74 E1pXpt6LpKddQPVsXe8zyULglEM8EsBoZGUwvKlE= X-Gm-Gg: AY/fxX6B8M3XVELy5De06w5MORolHj/TgsaZWnj+XeSLJvSoleW8bjGaCf1uQWUkAND qUBs17sz+fYgqBHCgXUmpZcw8Udzl4XYwxoH/wOuAwhW/L8flZ7AMXudsYiKNA/Xrf+ttMhD9E4 lN0YTA9jnPrv9mi7emjGkH0GgEGd8MSRMq4pO0Cf5G3G8ou6G1HlpFINJVeDYLI5Ukb2s7fJQHW pElMJGrcrpYUH+0439vnpCNPX51xQotjR2BOvvzHb9cXYdQn96FQH+1ZpR9Vm0Gl5T7v+0vXkzu VljS0OhYsUH5CWfKSLU0j19sBvJhKG/3eU8XZ+jU X-Google-Smtp-Source: AGHT+IHeGWZjYhGik3TQ33N0WEwsfGP9lIT8o8IowzF468/3yAGR7OKsQnCkkS83Ewq4PzJJ6vv+YC7dJaipjzR0dJU= X-Received: by 2002:a05:690e:4106:b0:646:6a79:7955 with SMTP id 956f58d0204a3-6466a8c0308mr38101824d50.59.1767625232145; Mon, 05 Jan 2026 07:00:32 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: vignesh C Date: Mon, 5 Jan 2026 20:30:15 +0530 X-Gm-Features: AQt7F2p1KRjt_i55km5gvSVTrGPtR6G3z04Ye51SWRFLAU8CfmNjaFseOgTcZSU Message-ID: Subject: Re: Proposal: Conflict log history table for Logical Replication To: shveta malik Cc: Dilip Kumar , Amit Kapila , Masahiko Sawada , Bharath Rupireddy , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="0000000000000fcdda0647a5526c" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000000fcdda0647a5526c Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, 2 Jan 2026 at 12:06, shveta malik wrote: > > On Fri, Dec 26, 2025 at 8:58=E2=80=AFPM vignesh C w= rote: > > > > > > Here is a rebased version of the remaining patches. > > > > Thank You Vignesh. Please find a few comments on 004: > > > 1) > IIUC, SubscriptionConflictrelIndexId is an unique index on sub-oid and > conf-relid, but we use it only on relid as key. Why didn't we create > it only on 'conf-relid' alone? Using a composite unique index is > guaranteed to give unique row only when all keys are used, but for a > single key, a unique row is not guaranteed. In our case, it will be a > unique row as conflict-relid is not shared, but still as an overall > general concept, it may not be. As we are searching only on subconflictlogrelid, index on subconflictlogrelid is sufficient. I have modified it. > 2) > IsConflictLogTable(): > + if (OidIsValid(subform->subconflictlogrelid)) > > Do we need this check? Since we=E2=80=99ve already performed an index acc= ess > using subconflictlogrelid as the key, isn=E2=80=99t it guaranteed to alwa= ys be > valid? It is not required, removed it > 3) > Please update the commit message to indicate that this patch makes CLT > publishable if a publication is explicitly created on it, else few > changes become very confusing due to unclear intent. Included this in the commit message. > 4) > pg_relation_is_publishable(): > > /* Subscription conflict log tables are not published */ > - result =3D is_publishable_class(relid, (Form_pg_class) GETSTRUCT(tuple)= ) && > - !IsConflictLogTable(relid); > > Comment should be removed too. Removed > 5) > We need to remove below comment: > > * Note: Conflict log tables are not publishable. However, we intentiona= lly > * skip this check here because this function is called for every change = and > * performing this check during every change publication is costly. To e= nsure > * unpublishable entries are ignored without incurring performance overhe= ad, > * tuples inserted into the conflict log table uses the HEAP_INSERT_NO_LO= GICAL > * flag. This allows the decoding layer to bypass these entries automati= cally. > */ > bool > is_publishable_relation(Relation rel) Removed > 6) > get_rel_sync_entry: > + /* is this relation used for conflict logging? */ > + isconflictlogrel =3D IsConflictLogTable(relid); > > Shall we add a comment indicating the intent of change in this > function. Something like: > > /* > * Check whether this is a conflict log table. If so, avoid publishing it= via > * FOR ALL TABLES or FOR TABLES IN SCHEMA publications, but still allow i= t > * to be published through a publication explicitly created for this tabl= e. > */ Included The attached v19 patch has the changes for the same. Regards, Vignesh --0000000000000fcdda0647a5526c Content-Type: text/x-patch; charset="US-ASCII"; name="v19-0001-Add-configurable-conflict-log-table-for-Logical-.patch" Content-Disposition: attachment; filename="v19-0001-Add-configurable-conflict-log-table-for-Logical-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mk1aet290 RnJvbSA2ZGY3ZTQ4N2Y5ZTA0NzA4MzIzNWRjMjg5NzVhNGNmYzFiNzI1MTFiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEaWxpcCBLdW1hciA8ZGlsaXBrdW1hcmJAZ29vZ2xlLmNvbT4K RGF0ZTogV2VkLCAxNyBEZWMgMjAyNSAxMTo1Mzo0NyArMDUzMApTdWJqZWN0OiBbUEFUQ0ggdjE5 IDEvNl0gQWRkIGNvbmZpZ3VyYWJsZSBjb25mbGljdCBsb2cgdGFibGUgZm9yIExvZ2ljYWwKIFJl cGxpY2F0aW9uCgpUaGlzIHBhdGNoIGFkZHMgYSBmZWF0dXJlIHRvIHByb3ZpZGUgYSBzdHJ1Y3R1 cmVkLCBxdWVyeWFibGUgcmVjb3JkIG9mIGFsbApsb2dpY2FsIHJlcGxpY2F0aW9uIGNvbmZsaWN0 cy4gVGhlIGN1cnJlbnQgYXBwcm9hY2ggb2YgbG9nZ2luZyBjb25mbGljdHMgYXMKcGxhaW4gdGV4 dCBpbiB0aGUgc2VydmVyIGxvZ3MgbWFrZXMgaXQgZGlmZmljdWx0IHRvIHF1ZXJ5LCBhbmFseXpl LCBhbmQKdXNlIGZvciBleHRlcm5hbCBtb25pdG9yaW5nIGFuZCBhdXRvbWF0aW9uLgoKVGhpcyBw YXRjaCBhZGRyZXNzZXMgdGhlc2UgbGltaXRhdGlvbnMgYnkgaW50cm9kdWNpbmcgYSBjb25maWd1 cmFibGUKY29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uPSgnbG9nJy8ndGFibGUnLydhbGwnKSBvcHRp b24gaW4gdGhlIENSRUFURSBTVUJTQ1JJUFRJT04KY29tbWFuZC4KCklmIHRoZSB1c2VyIGNob29z ZXMgdG8gZW5hYmxlIGxvZ2dpbmcgdG8gYSB0YWJsZSAoYnkgc2VsZWN0aW5nICd0YWJsZScgb3Ig J2FsbCcpLAphbiBpbnRlcm5hbCBsb2dnaW5nIHRhYmxlIG5hbWVkIGNvbmZsaWN0X2xvZ190YWJs ZV88c3ViaWQ+IGlzIGF1dG9tYXRpY2FsbHkKY3JlYXRlZCB3aXRoaW4gYSBkZWRpY2F0ZWQsIHN5 c3RlbS1tYW5hZ2VkIG5hbWVzcGFjZSBuYW1lZCBwZ19jb25mbGljdC4gVGhpcyB0YWJsZQppcyBs aW5rZWQgdG8gdGhlIHN1YnNjcmlwdGlvbiB2aWEgYW4gaW50ZXJuYWwgZGVwZW5kZW5jeSwgZW5z dXJpbmcgaXQgaXMKYXV0b21hdGljYWxseSBkcm9wcGVkIHdoZW4gdGhlIHN1YnNjcmlwdGlvbiBp cyByZW1vdmVkLgoKVGhlIGNvbmZsaWN0IGRldGFpbHMsIGluY2x1ZGluZyB0aGUgb3JpZ2luYWwg YW5kIHJlbW90ZSB0dXBsZXMsIGFyZSBzdG9yZWQgaW4gSlNPTgpjb2x1bW5zLCBwcm92aWRpbmcg YSBmbGV4aWJsZSBmb3JtYXQgdG8gYWNjb21tb2RhdGUgZGlmZmVyZW50IHRhYmxlIHNjaGVtYXMu CgpUaGUgbG9nIHRhYmxlIGNhcHR1cmVzIGVzc2VudGlhbCBhdHRyaWJ1dGVzIHN1Y2ggYXMgbG9j YWwgYW5kIHJlbW90ZSB0cmFuc2FjdGlvbiBJRHMsCkxTTnMsIGNvbW1pdCB0aW1lc3RhbXBzLCBh bmQgY29uZmxpY3QgdHlwZSwgcHJvdmlkaW5nIGEgY29tcGxldGUgcmVjb3JkIGZvciBwb3N0LW1v cnRlbQphbmFseXNpcy4KClRoaXMgZmVhdHVyZSB3aWxsIG1ha2UgbG9naWNhbCByZXBsaWNhdGlv biBjb25mbGljdHMgZWFzaWVyIHRvIG1vbml0b3IgYW5kIG1hbmFnZSwKc2lnbmlmaWNhbnRseSBp bXByb3ZpbmcgdGhlIG92ZXJhbGwgcmVzaWxpZW5jZSBhbmQgb3BlcmFiaWxpdHkgb2YgcmVwbGlj YXRpb24gc2V0dXBzLgoKVGhlIGNvbmZsaWN0IGxvZyB0YWJsZXMgd2lsbCBub3QgYmUgaW5jbHVk ZWQgaW4gYSBwdWJsaWNhdGlvbiwgZXZlbiBpZiB0aGUgcHVibGljYXRpb24KaXMgY29uZmlndXJl ZCB0byBpbmNsdWRlIEFMTCBUQUJMRVMgb3IgQUxMIFRBQkxFUyBJTiBTQ0hFTUEuCi0tLQogc3Jj L2JhY2tlbmQvY2F0YWxvZy9jYXRhbG9nLmMgICAgICAgICAgICAgIHwgIDI3ICstCiBzcmMvYmFj a2VuZC9jYXRhbG9nL2hlYXAuYyAgICAgICAgICAgICAgICAgfCAgIDMgKy0KIHNyYy9iYWNrZW5k L2NhdGFsb2cvbmFtZXNwYWNlLmMgICAgICAgICAgICB8ICAgNiArCiBzcmMvYmFja2VuZC9jYXRh bG9nL3BnX3B1YmxpY2F0aW9uLmMgICAgICAgfCAgMjYgKy0KIHNyYy9iYWNrZW5kL2NhdGFsb2cv cGdfc3Vic2NyaXB0aW9uLmMgICAgICB8ICAgNyArCiBzcmMvYmFja2VuZC9jb21tYW5kcy9zdWJz Y3JpcHRpb25jbWRzLmMgICAgfCAyODQgKysrKysrKysrKysrKysrKy0KIHNyYy9iaW4vcHNxbC9k ZXNjcmliZS5jICAgICAgICAgICAgICAgICAgICB8ICAyMSArLQogc3JjL2Jpbi9wc3FsL3RhYi1j b21wbGV0ZS5pbi5jICAgICAgICAgICAgIHwgICA4ICstCiBzcmMvaW5jbHVkZS9jYXRhbG9nL2Nh dGFsb2cuaCAgICAgICAgICAgICAgfCAgIDIgKwogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19uYW1l c3BhY2UuZGF0ICAgICAgIHwgICAzICsKIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfc3Vic2NyaXB0 aW9uLmggICAgICB8ICAxMSArCiBzcmMvaW5jbHVkZS9jb21tYW5kcy9zdWJzY3JpcHRpb25jbWRz LmggICAgfCAgIDQgKwogc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vY29uZmxpY3QuaCAgICAgICAg IHwgIDU2ICsrKysKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3Vic2NyaXB0aW9uLm91dCB8 IDMzNiArKysrKysrKysrKysrKystLS0tLS0KIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N1YnNjcmlw dGlvbi5zcWwgICAgICB8IDExOCArKysrKysrKwogc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZz Lmxpc3QgICAgICAgICAgIHwgICAyICsKIDE2IGZpbGVzIGNoYW5nZWQsIDgwOCBpbnNlcnRpb25z KCspLCAxMDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9j YXRhbG9nLmMgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2NhdGFsb2cuYwppbmRleCA3YmU0OTAzMjkz NC4uZDQzOGRjNjgyZWMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvY2F0YWxvZy5j CisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvY2F0YWxvZy5jCkBAIC04Niw3ICs4Niw4IEBAIGJv b2wKIElzU3lzdGVtQ2xhc3MoT2lkIHJlbGlkLCBGb3JtX3BnX2NsYXNzIHJlbHR1cGxlKQogewog CS8qIElzQ2F0YWxvZ1JlbGF0aW9uT2lkIGlzIGEgYml0IGZhc3Rlciwgc28gdGVzdCB0aGF0IGZp cnN0ICovCi0JcmV0dXJuIChJc0NhdGFsb2dSZWxhdGlvbk9pZChyZWxpZCkgfHwgSXNUb2FzdENs YXNzKHJlbHR1cGxlKSk7CisJcmV0dXJuIChJc0NhdGFsb2dSZWxhdGlvbk9pZChyZWxpZCkgfHwg SXNUb2FzdENsYXNzKHJlbHR1cGxlKQorCQkJfHwgSXNDb25mbGljdENsYXNzKHJlbHR1cGxlKSk7 CiB9CiAKIC8qCkBAIC0yMzAsNiArMjMxLDE4IEBAIElzVG9hc3RDbGFzcyhGb3JtX3BnX2NsYXNz IHJlbHR1cGxlKQogCXJldHVybiBJc1RvYXN0TmFtZXNwYWNlKHJlbG5hbWVzcGFjZSk7CiB9CiAK Ky8qCisgKiBJc0NvbmZsaWN0Q2xhc3MgLSBDaGVjayBpZiB0aGUgZ2l2ZW4gcGdfY2xhc3MgdHVw bGUgYmVsb25ncyB0byB0aGUgY29uZmxpY3QKKyAqCQkJCQkgbmFtZXNwYWNlLgorICovCitib29s CitJc0NvbmZsaWN0Q2xhc3MoRm9ybV9wZ19jbGFzcyByZWx0dXBsZSkKK3sKKwlPaWQJCQlyZWxu YW1lc3BhY2UgPSByZWx0dXBsZS0+cmVsbmFtZXNwYWNlOworCisJcmV0dXJuIElzQ29uZmxpY3RO YW1lc3BhY2UocmVsbmFtZXNwYWNlKTsKK30KKwogLyoKICAqIElzQ2F0YWxvZ05hbWVzcGFjZQog ICoJCVRydWUgaWZmIG5hbWVzcGFjZSBpcyBwZ19jYXRhbG9nLgpAQCAtMjY0LDYgKzI3NywxOCBA QCBJc1RvYXN0TmFtZXNwYWNlKE9pZCBuYW1lc3BhY2VJZCkKIAkJaXNUZW1wVG9hc3ROYW1lc3Bh Y2UobmFtZXNwYWNlSWQpOwogfQogCisvKgorICogSXNDb25mbGljdE5hbWVzcGFjZQorICoJCVRy dWUgaWZmIG5hbWVzcGFjZSBpcyBwZ19jb25mbGljdC4KKyAqCisgKgkJRG9lcyBub3QgcGVyZm9y bSBhbnkgY2F0YWxvZyBhY2Nlc3Nlcy4KKyAqLworYm9vbAorSXNDb25mbGljdE5hbWVzcGFjZShP aWQgbmFtZXNwYWNlSWQpCit7CisJcmV0dXJuIG5hbWVzcGFjZUlkID09IFBHX0NPTkZMSUNUX05B TUVTUEFDRTsKK30KKwogCiAvKgogICogSXNSZXNlcnZlZE5hbWUKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL2NhdGFsb2cvaGVhcC5jIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9oZWFwLmMKaW5kZXgg NjA2NDM0ODIzY2YuLjEwZGFkZjM3OGE0IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9n L2hlYXAuYworKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2hlYXAuYwpAQCAtMzE0LDcgKzMxNCw4 IEBAIGhlYXBfY3JlYXRlKGNvbnN0IGNoYXIgKnJlbG5hbWUsCiAJICovCiAJaWYgKCFhbGxvd19z eXN0ZW1fdGFibGVfbW9kcyAmJgogCQkoKElzQ2F0YWxvZ05hbWVzcGFjZShyZWxuYW1lc3BhY2Up ICYmIHJlbGtpbmQgIT0gUkVMS0lORF9JTkRFWCkgfHwKLQkJIElzVG9hc3ROYW1lc3BhY2UocmVs bmFtZXNwYWNlKSkgJiYKKwkJIElzVG9hc3ROYW1lc3BhY2UocmVsbmFtZXNwYWNlKSB8fAorCQkg SXNDb25mbGljdE5hbWVzcGFjZShyZWxuYW1lc3BhY2UpKSAmJgogCQlJc05vcm1hbFByb2Nlc3Np bmdNb2RlKCkpCiAJCWVyZXBvcnQoRVJST1IsCiAJCQkJKGVycmNvZGUoRVJSQ09ERV9JTlNVRkZJ Q0lFTlRfUFJJVklMRUdFKSwKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvbmFtZXNw YWNlLmMgYi9zcmMvYmFja2VuZC9jYXRhbG9nL25hbWVzcGFjZS5jCmluZGV4IGMzYjc5YTJiYTQ4 Li5jYzdmMGEwNDVhNiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9uYW1lc3BhY2Uu YworKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL25hbWVzcGFjZS5jCkBAIC0zNTM5LDYgKzM1Mzks MTIgQEAgQ2hlY2tTZXROYW1lc3BhY2UoT2lkIG9sZE5zcE9pZCwgT2lkIG5zcE9pZCkKIAkJZXJl cG9ydChFUlJPUiwKIAkJCQkoZXJyY29kZShFUlJDT0RFX0ZFQVRVUkVfTk9UX1NVUFBPUlRFRCks CiAJCQkJIGVycm1zZygiY2Fubm90IG1vdmUgb2JqZWN0cyBpbnRvIG9yIG91dCBvZiBUT0FTVCBz Y2hlbWEiKSkpOworCisJLyogc2ltaWxhcmx5IGZvciBDT05GTElDVCBzY2hlbWEgKi8KKwlpZiAo bnNwT2lkID09IFBHX0NPTkZMSUNUX05BTUVTUEFDRSB8fCBvbGROc3BPaWQgPT0gUEdfQ09ORkxJ Q1RfTkFNRVNQQUNFKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfRkVB VFVSRV9OT1RfU1VQUE9SVEVEKSwKKwkJCQkgZXJybXNnKCJjYW5ub3QgbW92ZSBvYmplY3RzIGlu dG8gb3Igb3V0IG9mIENPTkZMSUNUIHNjaGVtYSIpKSk7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmMgYi9zcmMvYmFja2VuZC9jYXRhbG9n L3BnX3B1YmxpY2F0aW9uLmMKaW5kZXggOWE0NzkxYzU3M2UuLmNiMzgzYTVjZTA0IDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmMKKysrIGIvc3JjL2JhY2tl bmQvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5jCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAi Y2F0YWxvZy9wZ19wdWJsaWNhdGlvbl9yZWwuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3R5cGUu aCIKICNpbmNsdWRlICJjb21tYW5kcy9wdWJsaWNhdGlvbmNtZHMuaCIKKyNpbmNsdWRlICJjb21t YW5kcy9zdWJzY3JpcHRpb25jbWRzLmgiCiAjaW5jbHVkZSAiZnVuY2FwaS5oIgogI2luY2x1ZGUg InV0aWxzL2FycmF5LmgiCiAjaW5jbHVkZSAidXRpbHMvYnVpbHRpbnMuaCIKQEAgLTg1LDYgKzg2 LDE1IEBAIGNoZWNrX3B1YmxpY2F0aW9uX2FkZF9yZWxhdGlvbihSZWxhdGlvbiB0YXJnZXRyZWwp CiAJCQkJIGVycm1zZygiY2Fubm90IGFkZCByZWxhdGlvbiBcIiVzXCIgdG8gcHVibGljYXRpb24i LAogCQkJCQkJUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUodGFyZ2V0cmVsKSksCiAJCQkJIGVycmRl dGFpbCgiVGhpcyBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCBmb3IgdW5sb2dnZWQgdGFibGVz LiIpKSk7CisKKwkvKiBDYW4ndCBiZSBjb25mbGljdCBsb2cgdGFibGUgKi8KKwlpZiAoSXNDb25m bGljdExvZ1RhYmxlKFJlbGF0aW9uR2V0UmVsaWQodGFyZ2V0cmVsKSkpCisJCWVyZXBvcnQoRVJS T1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9JTlZBTElEX1BBUkFNRVRFUl9WQUxVRSksCisJCQkJ IGVycm1zZygiY2Fubm90IGFkZCByZWxhdGlvbiBcIiVzLiVzXCIgdG8gcHVibGljYXRpb24iLAor CQkJCQkJZ2V0X25hbWVzcGFjZV9uYW1lKFJlbGF0aW9uR2V0TmFtZXNwYWNlKHRhcmdldHJlbCkp LAorCQkJCQkJUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUodGFyZ2V0cmVsKSksCisJCQkJIGVycmRl dGFpbCgiVGhpcyBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCBmb3IgY29uZmxpY3QgbG9nIHRh Ymxlcy4iKSkpOwogfQogCiAvKgpAQCAtMTQ1LDYgKzE1NSwxMyBAQCBpc19wdWJsaXNoYWJsZV9j bGFzcyhPaWQgcmVsaWQsIEZvcm1fcGdfY2xhc3MgcmVsdHVwbGUpCiAKIC8qCiAgKiBBbm90aGVy IHZhcmlhbnQgb2YgaXNfcHVibGlzaGFibGVfY2xhc3MoKSwgdGFraW5nIGEgUmVsYXRpb24uCisg KgorICogTm90ZTogQ29uZmxpY3QgbG9nIHRhYmxlcyBhcmUgbm90IHB1Ymxpc2hhYmxlLiAgSG93 ZXZlciwgd2UgaW50ZW50aW9uYWxseQorICogc2tpcCB0aGlzIGNoZWNrIGhlcmUgYmVjYXVzZSB0 aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBmb3IgZXZlcnkgY2hhbmdlIGFuZAorICogcGVyZm9ybWlu ZyB0aGlzIGNoZWNrIGR1cmluZyBldmVyeSBjaGFuZ2UgcHVibGljYXRpb24gaXMgY29zdGx5LiAg VG8gZW5zdXJlCisgKiB1bnB1Ymxpc2hhYmxlIGVudHJpZXMgYXJlIGlnbm9yZWQgd2l0aG91dCBp bmN1cnJpbmcgcGVyZm9ybWFuY2Ugb3ZlcmhlYWQsCisgKiB0dXBsZXMgaW5zZXJ0ZWQgaW50byB0 aGUgY29uZmxpY3QgbG9nIHRhYmxlIHVzZXMgdGhlIEhFQVBfSU5TRVJUX05PX0xPR0lDQUwKKyAq IGZsYWcuICBUaGlzIGFsbG93cyB0aGUgZGVjb2RpbmcgbGF5ZXIgdG8gYnlwYXNzIHRoZXNlIGVu dHJpZXMgYXV0b21hdGljYWxseS4KICAqLwogYm9vbAogaXNfcHVibGlzaGFibGVfcmVsYXRpb24o UmVsYXRpb24gcmVsKQpAQCAtMTY5LDcgKzE4NiwxMCBAQCBwZ19yZWxhdGlvbl9pc19wdWJsaXNo YWJsZShQR19GVU5DVElPTl9BUkdTKQogCXR1cGxlID0gU2VhcmNoU3lzQ2FjaGUxKFJFTE9JRCwg T2JqZWN0SWRHZXREYXR1bShyZWxpZCkpOwogCWlmICghSGVhcFR1cGxlSXNWYWxpZCh0dXBsZSkp CiAJCVBHX1JFVFVSTl9OVUxMKCk7Ci0JcmVzdWx0ID0gaXNfcHVibGlzaGFibGVfY2xhc3MocmVs aWQsIChGb3JtX3BnX2NsYXNzKSBHRVRTVFJVQ1QodHVwbGUpKTsKKworCS8qIFN1YnNjcmlwdGlv biBjb25mbGljdCBsb2cgdGFibGVzIGFyZSBub3QgcHVibGlzaGVkICovCisJcmVzdWx0ID0gaXNf cHVibGlzaGFibGVfY2xhc3MocmVsaWQsIChGb3JtX3BnX2NsYXNzKSBHRVRTVFJVQ1QodHVwbGUp KSAmJgorCQkJICFJc0NvbmZsaWN0TG9nVGFibGUocmVsaWQpOwogCVJlbGVhc2VTeXNDYWNoZSh0 dXBsZSk7CiAJUEdfUkVUVVJOX0JPT0wocmVzdWx0KTsKIH0KQEAgLTg5MCw3ICs5MTAsOSBAQCBH ZXRBbGxQdWJsaWNhdGlvblJlbGF0aW9ucyhjaGFyIHJlbGtpbmQsIGJvb2wgcHVidmlhcm9vdCkK IAkJRm9ybV9wZ19jbGFzcyByZWxGb3JtID0gKEZvcm1fcGdfY2xhc3MpIEdFVFNUUlVDVCh0dXBs ZSk7CiAJCU9pZAkJCXJlbGlkID0gcmVsRm9ybS0+b2lkOwogCisJCS8qIFN1YnNjcmlwdGlvbiBj b25mbGljdCBsb2cgdGFibGVzIGFyZSBub3QgcHVibGlzaGVkICovCiAJCWlmIChpc19wdWJsaXNo YWJsZV9jbGFzcyhyZWxpZCwgcmVsRm9ybSkgJiYKKwkJCSFJc0NvbmZsaWN0TG9nVGFibGUocmVs aWQpICYmCiAJCQkhKHJlbEZvcm0tPnJlbGlzcGFydGl0aW9uICYmIHB1YnZpYXJvb3QpKQogCQkJ cmVzdWx0ID0gbGFwcGVuZF9vaWQocmVzdWx0LCByZWxpZCk7CiAJfQpAQCAtMTAxOCw3ICsxMDQw LDcgQEAgR2V0U2NoZW1hUHVibGljYXRpb25SZWxhdGlvbnMoT2lkIHNjaGVtYWlkLCBQdWJsaWNh dGlvblBhcnRPcHQgcHViX3BhcnRvcHQpCiAJCU9pZAkJCXJlbGlkID0gcmVsRm9ybS0+b2lkOwog CQljaGFyCQlyZWxraW5kOwogCi0JCWlmICghaXNfcHVibGlzaGFibGVfY2xhc3MocmVsaWQsIHJl bEZvcm0pKQorCQlpZiAoIWlzX3B1Ymxpc2hhYmxlX2NsYXNzKHJlbGlkLCByZWxGb3JtKSB8fCBJ c0NvbmZsaWN0TG9nVGFibGUocmVsaWQpKQogCQkJY29udGludWU7CiAKIAkJcmVsa2luZCA9IGdl dF9yZWxfcmVsa2luZChyZWxpZCk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3Bn X3N1YnNjcmlwdGlvbi5jIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uYwpp bmRleCAyYjEwMzI0NTI5MC4uMjg1YTU5ODQ5N2QgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2Nh dGFsb2cvcGdfc3Vic2NyaXB0aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19zdWJz Y3JpcHRpb24uYwpAQCAtMTA2LDYgKzEwNiw3IEBAIEdldFN1YnNjcmlwdGlvbihPaWQgc3ViaWQs IGJvb2wgbWlzc2luZ19vaykKIAlzdWItPnJldGFpbmRlYWR0dXBsZXMgPSBzdWJmb3JtLT5zdWJy ZXRhaW5kZWFkdHVwbGVzOwogCXN1Yi0+bWF4cmV0ZW50aW9uID0gc3ViZm9ybS0+c3VibWF4cmV0 ZW50aW9uOwogCXN1Yi0+cmV0ZW50aW9uYWN0aXZlID0gc3ViZm9ybS0+c3VicmV0ZW50aW9uYWN0 aXZlOworCXN1Yi0+Y29uZmxpY3Rsb2dyZWxpZCA9IHN1YmZvcm0tPnN1YmNvbmZsaWN0bG9ncmVs aWQ7CiAKIAkvKiBHZXQgY29ubmluZm8gKi8KIAlkYXR1bSA9IFN5c0NhY2hlR2V0QXR0ck5vdE51 bGwoU1VCU0NSSVBUSU9OT0lELApAQCAtMTQxLDYgKzE0MiwxMiBAQCBHZXRTdWJzY3JpcHRpb24o T2lkIHN1YmlkLCBib29sIG1pc3Npbmdfb2spCiAJCQkJCQkJCSAgIEFudW1fcGdfc3Vic2NyaXB0 aW9uX3N1Ym9yaWdpbik7CiAJc3ViLT5vcmlnaW4gPSBUZXh0RGF0dW1HZXRDU3RyaW5nKGRhdHVt KTsKIAorCS8qIEdldCBjb25mbGljdCBsb2cgZGVzdGluYXRpb24gKi8KKwlkYXR1bSA9IFN5c0Nh Y2hlR2V0QXR0ck5vdE51bGwoU1VCU0NSSVBUSU9OT0lELAorCQkJCQkJCQkgICB0dXAsCisJCQkJ CQkJCSAgIEFudW1fcGdfc3Vic2NyaXB0aW9uX3N1YmNvbmZsaWN0bG9nZGVzdCk7CisJc3ViLT5j b25mbGljdGxvZ2Rlc3QgPSBUZXh0RGF0dW1HZXRDU3RyaW5nKGRhdHVtKTsKKwogCS8qIElzIHRo ZSBzdWJzY3JpcHRpb24gb3duZXIgYSBzdXBlcnVzZXI/ICovCiAJc3ViLT5vd25lcnN1cGVydXNl ciA9IHN1cGVydXNlcl9hcmcoc3ViLT5vd25lcik7CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNj cmlwdGlvbmNtZHMuYwppbmRleCBkNjY3NGYyMGZjMi4uNGIyZDk4YzllZDIgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuYworKysgYi9zcmMvYmFja2Vu ZC9jb21tYW5kcy9zdWJzY3JpcHRpb25jbWRzLmMKQEAgLTE1LDI1ICsxNSwzMSBAQAogI2luY2x1 ZGUgInBvc3RncmVzLmgiCiAKICNpbmNsdWRlICJhY2Nlc3MvY29tbWl0X3RzLmgiCisjaW5jbHVk ZSAiYWNjZXNzL2hlYXBhbS5oIgogI2luY2x1ZGUgImFjY2Vzcy9odHVwX2RldGFpbHMuaCIKICNp bmNsdWRlICJhY2Nlc3MvdGFibGUuaCIKICNpbmNsdWRlICJhY2Nlc3MvdHdvcGhhc2UuaCIKICNp bmNsdWRlICJhY2Nlc3MveGFjdC5oIgogI2luY2x1ZGUgImNhdGFsb2cvY2F0YWxvZy5oIgogI2lu Y2x1ZGUgImNhdGFsb2cvZGVwZW5kZW5jeS5oIgorI2luY2x1ZGUgImNhdGFsb2cvaGVhcC5oIgog I2luY2x1ZGUgImNhdGFsb2cvaW5kZXhpbmcuaCIKICNpbmNsdWRlICJjYXRhbG9nL25hbWVzcGFj ZS5oIgogI2luY2x1ZGUgImNhdGFsb2cvb2JqZWN0YWNjZXNzLmgiCiAjaW5jbHVkZSAiY2F0YWxv Zy9vYmplY3RhZGRyZXNzLmgiCisjaW5jbHVkZSAiY2F0YWxvZy9wZ19hbV9kLmgiCiAjaW5jbHVk ZSAiY2F0YWxvZy9wZ19hdXRoaWRfZC5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfZGF0YWJhc2Vf ZC5oIgorI2luY2x1ZGUgImNhdGFsb2cvcGdfbmFtZXNwYWNlLmgiCiAjaW5jbHVkZSAiY2F0YWxv Zy9wZ19zdWJzY3JpcHRpb24uaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3N1YnNjcmlwdGlvbl9y ZWwuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3R5cGUuaCIKKyNpbmNsdWRlICJjb21tYW5kcy9j b21tZW50LmgiCiAjaW5jbHVkZSAiY29tbWFuZHMvZGVmcmVtLmgiCiAjaW5jbHVkZSAiY29tbWFu ZHMvZXZlbnRfdHJpZ2dlci5oIgogI2luY2x1ZGUgImNvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMu aCIKICNpbmNsdWRlICJleGVjdXRvci9leGVjdXRvci5oIgorI2luY2x1ZGUgImZ1bmNhcGkuaCIK ICNpbmNsdWRlICJtaXNjYWRtaW4uaCIKICNpbmNsdWRlICJub2Rlcy9tYWtlZnVuY3MuaCIKICNp bmNsdWRlICJwZ3N0YXQuaCIKQEAgLTUxLDYgKzU3LDcgQEAKICNpbmNsdWRlICJ1dGlscy9sc3lz Y2FjaGUuaCIKICNpbmNsdWRlICJ1dGlscy9tZW11dGlscy5oIgogI2luY2x1ZGUgInV0aWxzL3Bn X2xzbi5oIgorI2luY2x1ZGUgInV0aWxzL3JlZ3Byb2MuaCIKICNpbmNsdWRlICJ1dGlscy9zeXNj YWNoZS5oIgogCiAvKgpAQCAtNzUsNiArODIsNyBAQAogI2RlZmluZSBTVUJPUFRfTUFYX1JFVEVO VElPTl9EVVJBVElPTgkweDAwMDA4MDAwCiAjZGVmaW5lIFNVQk9QVF9MU04JCQkJCTB4MDAwMTAw MDAKICNkZWZpbmUgU1VCT1BUX09SSUdJTgkJCQkweDAwMDIwMDAwCisjZGVmaW5lIFNVQk9QVF9D T05GTElDVF9MT0dfREVTVAkweDAwMDQwMDAwCiAKIC8qIGNoZWNrIGlmIHRoZSAndmFsJyBoYXMg J2JpdHMnIHNldCAqLwogI2RlZmluZSBJc1NldCh2YWwsIGJpdHMpICAoKCh2YWwpICYgKGJpdHMp KSA9PSAoYml0cykpCkBAIC0xMDMsNiArMTExLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgU3ViT3B0cwog CWJvb2wJCXJldGFpbmRlYWR0dXBsZXM7CiAJaW50MzIJCW1heHJldGVudGlvbjsKIAljaGFyCSAg ICpvcmlnaW47CisJQ29uZmxpY3RMb2dEZXN0IGxvZ2Rlc3Q7CiAJWExvZ1JlY1B0cglsc247CiB9 IFN1Yk9wdHM7CiAKQEAgLTEzNSw3ICsxNDQsNyBAQCBzdGF0aWMgTGlzdCAqbWVyZ2VfcHVibGlj YXRpb25zKExpc3QgKm9sZHB1Ymxpc3QsIExpc3QgKm5ld3B1Ymxpc3QsIGJvb2wgYWRkcHViLAog c3RhdGljIHZvaWQgUmVwb3J0U2xvdENvbm5lY3Rpb25FcnJvcihMaXN0ICpyc3RhdGVzLCBPaWQg c3ViaWQsIGNoYXIgKnNsb3RuYW1lLCBjaGFyICplcnIpOwogc3RhdGljIHZvaWQgQ2hlY2tBbHRl clN1Yk9wdGlvbihTdWJzY3JpcHRpb24gKnN1YiwgY29uc3QgY2hhciAqb3B0aW9uLAogCQkJCQkJ CQlib29sIHNsb3RfbmVlZHNfdXBkYXRlLCBib29sIGlzVG9wTGV2ZWwpOwotCitzdGF0aWMgT2lk IGNyZWF0ZV9jb25mbGljdF9sb2dfdGFibGUoT2lkIHN1YmlkLCBjaGFyICpzdWJuYW1lKTsKIAog LyoKICAqIENvbW1vbiBvcHRpb24gcGFyc2luZyBmdW5jdGlvbiBmb3IgQ1JFQVRFIGFuZCBBTFRF UiBTVUJTQ1JJUFRJT04gY29tbWFuZHMuCkBAIC0xOTEsNiArMjAwLDggQEAgcGFyc2Vfc3Vic2Ny aXB0aW9uX29wdGlvbnMoUGFyc2VTdGF0ZSAqcHN0YXRlLCBMaXN0ICpzdG10X29wdGlvbnMsCiAJ CW9wdHMtPm1heHJldGVudGlvbiA9IDA7CiAJaWYgKElzU2V0KHN1cHBvcnRlZF9vcHRzLCBTVUJP UFRfT1JJR0lOKSkKIAkJb3B0cy0+b3JpZ2luID0gcHN0cmR1cChMT0dJQ0FMUkVQX09SSUdJTl9B TlkpOworCWlmIChJc1NldChzdXBwb3J0ZWRfb3B0cywgU1VCT1BUX0NPTkZMSUNUX0xPR19ERVNU KSkKKwkJb3B0cy0+bG9nZGVzdCA9IENPTkZMSUNUX0xPR19ERVNUX0xPRzsKIAogCS8qIFBhcnNl IG9wdGlvbnMgKi8KIAlmb3JlYWNoKGxjLCBzdG10X29wdGlvbnMpCkBAIC00MDIsNiArNDEzLDIw IEBAIHBhcnNlX3N1YnNjcmlwdGlvbl9vcHRpb25zKFBhcnNlU3RhdGUgKnBzdGF0ZSwgTGlzdCAq c3RtdF9vcHRpb25zLAogCQkJb3B0cy0+c3BlY2lmaWVkX29wdHMgfD0gU1VCT1BUX0xTTjsKIAkJ CW9wdHMtPmxzbiA9IGxzbjsKIAkJfQorCQllbHNlIGlmIChJc1NldChzdXBwb3J0ZWRfb3B0cywg U1VCT1BUX0NPTkZMSUNUX0xPR19ERVNUKSAmJgorCQkJCSBzdHJjbXAoZGVmZWwtPmRlZm5hbWUs ICJjb25mbGljdF9sb2dfZGVzdGluYXRpb24iKSA9PSAwKQorCQl7CisJCQljaGFyICp2YWw7CisJ CQlDb25mbGljdExvZ0Rlc3QgZGVzdDsKKworCQkJaWYgKElzU2V0KG9wdHMtPnNwZWNpZmllZF9v cHRzLCBTVUJPUFRfQ09ORkxJQ1RfTE9HX0RFU1QpKQorCQkJCWVycm9yQ29uZmxpY3RpbmdEZWZF bGVtKGRlZmVsLCBwc3RhdGUpOworCisJCQl2YWwgPSBkZWZHZXRTdHJpbmcoZGVmZWwpOworCQkJ ZGVzdCA9IEdldExvZ0Rlc3RpbmF0aW9uKHZhbCk7CisJCQlvcHRzLT5sb2dkZXN0ID0gZGVzdDsK KwkJCW9wdHMtPnNwZWNpZmllZF9vcHRzIHw9IFNVQk9QVF9DT05GTElDVF9MT0dfREVTVDsKKwkJ fQogCQllbHNlCiAJCQllcmVwb3J0KEVSUk9SLAogCQkJCQkoZXJyY29kZShFUlJDT0RFX1NZTlRB WF9FUlJPUiksCkBAIC02MTIsNyArNjM3LDggQEAgQ3JlYXRlU3Vic2NyaXB0aW9uKFBhcnNlU3Rh dGUgKnBzdGF0ZSwgQ3JlYXRlU3Vic2NyaXB0aW9uU3RtdCAqc3RtdCwKIAkJCQkJICBTVUJPUFRf RElTQUJMRV9PTl9FUlIgfCBTVUJPUFRfUEFTU1dPUkRfUkVRVUlSRUQgfAogCQkJCQkgIFNVQk9Q VF9SVU5fQVNfT1dORVIgfCBTVUJPUFRfRkFJTE9WRVIgfAogCQkJCQkgIFNVQk9QVF9SRVRBSU5f REVBRF9UVVBMRVMgfAotCQkJCQkgIFNVQk9QVF9NQVhfUkVURU5USU9OX0RVUkFUSU9OIHwgU1VC T1BUX09SSUdJTik7CisJCQkJCSAgU1VCT1BUX01BWF9SRVRFTlRJT05fRFVSQVRJT04gfCBTVUJP UFRfT1JJR0lOIHwKKwkJCQkJICBTVUJPUFRfQ09ORkxJQ1RfTE9HX0RFU1QpOwogCXBhcnNlX3N1 YnNjcmlwdGlvbl9vcHRpb25zKHBzdGF0ZSwgc3RtdC0+b3B0aW9ucywgc3VwcG9ydGVkX29wdHMs ICZvcHRzKTsKIAogCS8qCkBAIC03NDcsNiArNzczLDMxIEBAIENyZWF0ZVN1YnNjcmlwdGlvbihQ YXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVN1YnNjcmlwdGlvblN0bXQgKnN0bXQsCiAJdmFsdWVz W0FudW1fcGdfc3Vic2NyaXB0aW9uX3N1Ym9yaWdpbiAtIDFdID0KIAkJQ1N0cmluZ0dldFRleHRE YXR1bShvcHRzLm9yaWdpbik7CiAKKwkvKiBBbHdheXMgc2V0IHRoZSBkZXN0aW5hdGlvbiwgZGVm YXVsdCB3aWxsIGJlICdsb2cnLiAqLworCXZhbHVlc1tBbnVtX3BnX3N1YnNjcmlwdGlvbl9zdWJj b25mbGljdGxvZ2Rlc3QgLSAxXSA9CisJCUNTdHJpbmdHZXRUZXh0RGF0dW0oQ29uZmxpY3RMb2dE ZXN0TmFtZXNbb3B0cy5sb2dkZXN0XSk7CisKKwkvKgorCSAqIElmIGxvZ2dpbmcgdG8gYSB0YWJs ZSBpcyByZXF1aXJlZCwgcGh5c2ljYWxseSBjcmVhdGUgdGhlIGxvZ2dpbmcKKwkgKiByZWxhdGlv biBhbmQgc3RvcmUgaXRzIE9JRCBpbiB0aGUgY2F0YWxvZy4KKwkgKi8KKwlpZiAob3B0cy5sb2dk ZXN0ID09IENPTkZMSUNUX0xPR19ERVNUX1RBQkxFIHx8CisJCW9wdHMubG9nZGVzdCA9PSBDT05G TElDVF9MT0dfREVTVF9BTEwpCisJeworCQlPaWQgICAgIGxvZ3JlbGlkOworCisJCS8qIFN0b3Jl IHRoZSBPaWQgcmV0dXJuZWQgZnJvbSBjcmVhdGlvbi4gKi8KKwkJbG9ncmVsaWQgPSBjcmVhdGVf Y29uZmxpY3RfbG9nX3RhYmxlKHN1YmlkLCBzdG10LT5zdWJuYW1lKTsKKwkJdmFsdWVzW0FudW1f cGdfc3Vic2NyaXB0aW9uX3N1YmNvbmZsaWN0bG9ncmVsaWQgLSAxXSA9CisJCQkJCQlPYmplY3RJ ZEdldERhdHVtKGxvZ3JlbGlkKTsKKwl9CisJZWxzZQorCXsKKwkJLyogRGVzdGluYXRpb24gaXMg J2xvZyc7IG5vIHRhYmxlIGlzIG5lZWRlZC4gKi8KKwkJdmFsdWVzW0FudW1fcGdfc3Vic2NyaXB0 aW9uX3N1YmNvbmZsaWN0bG9ncmVsaWQgLSAxXSA9CisJCQkJCQlPYmplY3RJZEdldERhdHVtKElu dmFsaWRPaWQpOworCX0KKwogCXR1cCA9IGhlYXBfZm9ybV90dXBsZShSZWxhdGlvbkdldERlc2Ny KHJlbCksIHZhbHVlcywgbnVsbHMpOwogCiAJLyogSW5zZXJ0IHR1cGxlIGludG8gY2F0YWxvZy4g Ki8KQEAgLTE0MTAsNyArMTQ2MSw4IEBAIEFsdGVyU3Vic2NyaXB0aW9uKFBhcnNlU3RhdGUgKnBz dGF0ZSwgQWx0ZXJTdWJzY3JpcHRpb25TdG10ICpzdG10LAogCQkJCQkJCQkgIFNVQk9QVF9SVU5f QVNfT1dORVIgfCBTVUJPUFRfRkFJTE9WRVIgfAogCQkJCQkJCQkgIFNVQk9QVF9SRVRBSU5fREVB RF9UVVBMRVMgfAogCQkJCQkJCQkgIFNVQk9QVF9NQVhfUkVURU5USU9OX0RVUkFUSU9OIHwKLQkJ CQkJCQkJICBTVUJPUFRfT1JJR0lOKTsKKwkJCQkJCQkJICBTVUJPUFRfT1JJR0lOIHwKKwkJCQkJ CQkJICBTVUJPUFRfQ09ORkxJQ1RfTE9HX0RFU1QpOwogCiAJCQkJcGFyc2Vfc3Vic2NyaXB0aW9u X29wdGlvbnMocHN0YXRlLCBzdG10LT5vcHRpb25zLAogCQkJCQkJCQkJCSAgIHN1cHBvcnRlZF9v cHRzLCAmb3B0cyk7CkBAIC0xNjY1LDYgKzE3MTcsNjMgQEAgQWx0ZXJTdWJzY3JpcHRpb24oUGFy c2VTdGF0ZSAqcHN0YXRlLCBBbHRlclN1YnNjcmlwdGlvblN0bXQgKnN0bXQsCiAJCQkJCW9yaWdp biA9IG9wdHMub3JpZ2luOwogCQkJCX0KIAorCQkJCWlmIChJc1NldChvcHRzLnNwZWNpZmllZF9v cHRzLCBTVUJPUFRfQ09ORkxJQ1RfTE9HX0RFU1QpKQorCQkJCXsKKwkJCQkJQ29uZmxpY3RMb2dE ZXN0IG9sZF9kZXN0ID0KKwkJCQkJCQlHZXRMb2dEZXN0aW5hdGlvbihzdWItPmNvbmZsaWN0bG9n ZGVzdCk7CisKKwkJCQkJaWYgKG9wdHMubG9nZGVzdCAhPSBvbGRfZGVzdCkKKwkJCQkJeworCQkJ CQkJYm9vbCB3YW50X3RhYmxlID0KKwkJCQkJCQkJSXNTZXQob3B0cy5sb2dkZXN0LCBDT05GTElD VF9MT0dfREVTVF9UQUJMRSk7CisJCQkJCQlib29sIGhhc19vbGR0YWJsZSA9CisJCQkJCQkJCUlz U2V0KG9sZF9kZXN0LCBDT05GTElDVF9MT0dfREVTVF9UQUJMRSk7CisKKwkJCQkJCXZhbHVlc1tB bnVtX3BnX3N1YnNjcmlwdGlvbl9zdWJjb25mbGljdGxvZ2Rlc3QgLSAxXSA9CisJCQkJCQkJQ1N0 cmluZ0dldFRleHREYXR1bShDb25mbGljdExvZ0Rlc3ROYW1lc1tvcHRzLmxvZ2Rlc3RdKTsKKwkJ CQkJCXJlcGxhY2VzW0FudW1fcGdfc3Vic2NyaXB0aW9uX3N1YmNvbmZsaWN0bG9nZGVzdCAtIDFd ID0gdHJ1ZTsKKworCQkJCQkJaWYgKHdhbnRfdGFibGUgJiYgIWhhc19vbGR0YWJsZSkKKwkJCQkJ CXsKKwkJCQkJCQlPaWQJCXJlbGlkOworCisJCQkJCQkJcmVsaWQgPSBjcmVhdGVfY29uZmxpY3Rf bG9nX3RhYmxlKHN1YmlkLCBzdWItPm5hbWUpOworCisJCQkJCQkJdmFsdWVzW0FudW1fcGdfc3Vi c2NyaXB0aW9uX3N1YmNvbmZsaWN0bG9ncmVsaWQgLSAxXSA9CisJCQkJCQkJCQkJCQkJCU9iamVj dElkR2V0RGF0dW0ocmVsaWQpOworCQkJCQkJCXJlcGxhY2VzW0FudW1fcGdfc3Vic2NyaXB0aW9u X3N1YmNvbmZsaWN0bG9ncmVsaWQgLSAxXSA9CisJCQkJCQkJCQkJCQkJCXRydWU7CisJCQkJCQl9 CisJCQkJCQllbHNlIGlmICghd2FudF90YWJsZSAmJiBoYXNfb2xkdGFibGUpCisJCQkJCQl7CisJ CQkJCQkJT2JqZWN0QWRkcmVzcyBvYmplY3Q7CisKKwkJCQkJCQkvKgorCQkJCQkJCSAqIENvbmZs aWN0IGxvZyB0YWJsZXMgYXJlIHJlY29yZGVkIGFzIGludGVybmFsCisJCQkJCQkJICogZGVwZW5k ZW5jaWVzIG9mIHRoZSBzdWJzY3JpcHRpb24uICBEcm9wIHRoZQorCQkJCQkJCSAqIHRhYmxlIGlm IGl0IGlzIG5vdCByZXF1aXJlZCBhbnltb3JlIHRvIGF2b2lkCisJCQkJCQkJICogc3RhbGUgb3Ig b3JwaGFuZWQgcmVsYXRpb25zLgorCQkJCQkJCSAqCisJCQkJCQkJICogWFhYOiBBdCBwcmVzZW50 LCBvbmx5IGNvbmZsaWN0IGxvZyB0YWJsZXMgYXJlCisJCQkJCQkJICogbWFuYWdlZCB0aGlzIHdh eS4gIEluIGZ1dHVyZSBpZiB3ZSBpbnRyb2R1Y2UKKwkJCQkJCQkgKiBhZGRpdGlvbmFsIGludGVy bmFsIGRlcGVuZGVuY2llcywgd2UgbWF5IG5lZWQKKwkJCQkJCQkgKiBhIHRhcmdldGVkIGRlbGV0 aW9uIHRvIGF2b2lkIGRlbGV0aW9uIG9mIGFueQorCQkJCQkJCSAqIG90aGVyIG9iamVjdHMuCisJ CQkJCQkJICovCisJCQkJCQkJT2JqZWN0QWRkcmVzc1NldChvYmplY3QsIFN1YnNjcmlwdGlvblJl bGF0aW9uSWQsCisJCQkJCQkJCQkJCSBzdWJpZCk7CisJCQkJCQkJcGVyZm9ybURlbGV0aW9uKCZv YmplY3QsIERST1BfQ0FTQ0FERSwKKwkJCQkJCQkJCQkJUEVSRk9STV9ERUxFVElPTl9JTlRFUk5B TCB8CisJCQkJCQkJCQkJCVBFUkZPUk1fREVMRVRJT05fU0tJUF9PUklHSU5BTCk7CisKKwkJCQkJ CQl2YWx1ZXNbQW51bV9wZ19zdWJzY3JpcHRpb25fc3ViY29uZmxpY3Rsb2dyZWxpZCAtIDFdID0K KwkJCQkJCQkJCQkJCU9iamVjdElkR2V0RGF0dW0oSW52YWxpZE9pZCk7CisJCQkJCQkJcmVwbGFj ZXNbQW51bV9wZ19zdWJzY3JpcHRpb25fc3ViY29uZmxpY3Rsb2dyZWxpZCAtIDFdID0KKwkJCQkJ CQkJCQkJCXRydWU7CisJCQkJCQl9CisJCQkJCX0KKwkJCQl9CisKIAkJCQl1cGRhdGVfdHVwbGUg PSB0cnVlOwogCQkJCWJyZWFrOwogCQkJfQpAQCAtMjAyNyw2ICsyMTM2LDcgQEAgRHJvcFN1YnNj cmlwdGlvbihEcm9wU3Vic2NyaXB0aW9uU3RtdCAqc3RtdCwgYm9vbCBpc1RvcExldmVsKQogCUZv cm1fcGdfc3Vic2NyaXB0aW9uIGZvcm07CiAJTGlzdAkgICAqcnN0YXRlczsKIAlib29sCQltdXN0 X3VzZV9wYXNzd29yZDsKKwlPYmplY3RBZGRyZXNzCW9iamVjdDsKIAogCS8qCiAJICogVGhlIGxh dW5jaGVyIG1heSBjb25jdXJyZW50bHkgc3RhcnQgYSBuZXcgd29ya2VyIGZvciB0aGlzIHN1YnNj cmlwdGlvbi4KQEAgLTIxODQsNiArMjI5NCwxOSBAQCBEcm9wU3Vic2NyaXB0aW9uKERyb3BTdWJz Y3JpcHRpb25TdG10ICpzdG10LCBib29sIGlzVG9wTGV2ZWwpCiAJLyogQ2xlYW4gdXAgZGVwZW5k ZW5jaWVzICovCiAJZGVsZXRlU2hhcmVkRGVwZW5kZW5jeVJlY29yZHNGb3IoU3Vic2NyaXB0aW9u UmVsYXRpb25JZCwgc3ViaWQsIDApOwogCisJLyoKKwkgKiBDb25mbGljdCBsb2cgdGFibGVzIGFy ZSByZWNvcmRlZCBhcyBpbnRlcm5hbCBkZXBlbmRlbmNpZXMgb2YgdGhlCisJICogc3Vic2NyaXB0 aW9uLiAgV2UgbXVzdCBkcm9wIHRoZSBkZXBlbmRlbnQgb2JqZWN0cyBiZWZvcmUgdGhlCisJICog c3Vic2NyaXB0aW9uIGl0c2VsZiBpcyByZW1vdmVkLiAgQnkgdXNpbmcKKwkgKiBQRVJGT1JNX0RF TEVUSU9OX1NLSVBfT1JJR0lOQUwsIHdlIGVuc3VyZSB0aGF0IG9ubHkgdGhlIGNvbmZsaWN0IGxv ZworCSAqIHRhYmxlIGlzIHJlYXBlZCB3aGlsZSB0aGUgc3Vic2NyaXB0aW9uIHJlbWFpbnMgZm9y IHRoZSBmaW5hbCBkZWxldGlvbgorCSAqIHN0ZXAuCisJICovCisJT2JqZWN0QWRkcmVzc1NldChv YmplY3QsIFN1YnNjcmlwdGlvblJlbGF0aW9uSWQsIHN1YmlkKTsKKwlwZXJmb3JtRGVsZXRpb24o Jm9iamVjdCwgRFJPUF9DQVNDQURFLAorCQkJCQlQRVJGT1JNX0RFTEVUSU9OX0lOVEVSTkFMIHwK KwkJCQkJUEVSRk9STV9ERUxFVElPTl9TS0lQX09SSUdJTkFMKTsKKwogCS8qIFJlbW92ZSBhbnkg YXNzb2NpYXRlZCByZWxhdGlvbiBzeW5jaHJvbml6YXRpb24gc3RhdGVzLiAqLwogCVJlbW92ZVN1 YnNjcmlwdGlvblJlbChzdWJpZCwgSW52YWxpZE9pZCk7CiAKQEAgLTMxOTAsMyArMzMxMywxNTgg QEAgZGVmR2V0U3RyZWFtaW5nTW9kZShEZWZFbGVtICpkZWYpCiAJCQkJCWRlZi0+ZGVmbmFtZSkp KTsKIAlyZXR1cm4gTE9HSUNBTFJFUF9TVFJFQU1fT0ZGOwkvKiBrZWVwIGNvbXBpbGVyIHF1aWV0 ICovCiB9CisKKy8qCisgKiBCdWlsZHMgdGhlIFR1cGxlRGVzYyBmb3IgdGhlIGNvbmZsaWN0IGxv ZyB0YWJsZS4KKyAqLworc3RhdGljIFR1cGxlRGVzYworY3JlYXRlX2NvbmZsaWN0X2xvZ190YWJs ZV90dXBkZXNjKHZvaWQpCit7CisJVHVwbGVEZXNjCXR1cGRlc2M7CisKKwl0dXBkZXNjID0gQ3Jl YXRlVGVtcGxhdGVUdXBsZURlc2MoTUFYX0NPTkZMSUNUX0FUVFJfTlVNKTsKKworCWZvciAoaW50 IGkgPSAwOyBpIDwgTUFYX0NPTkZMSUNUX0FUVFJfTlVNOyBpKyspCisJeworCQlPaWQgdHlwZV9v aWQgPSBDb25mbGljdExvZ1NjaGVtYVtpXS5hdHR0eXBpZDsKKworCQkvKgorCQkgKiBTcGVjaWFs IGhhbmRsaW5nIGZvciB0aGUgSlNPTiBhcnJheSB0eXBlIGZvciBwcm9wZXIKKwkJICogVHVwbGVE ZXNjSW5pdEVudHJ5IGNhbGwuCisJCSAqLworCQlpZiAodHlwZV9vaWQgPT0gSlNPTkFSUkFZT0lE KQorCQkJdHlwZV9vaWQgPSBnZXRfYXJyYXlfdHlwZShKU09OT0lEKTsKKworCQlUdXBsZURlc2NJ bml0RW50cnkodHVwZGVzYywgaSArIDEsCisJCQkJCQkgICBDb25mbGljdExvZ1NjaGVtYVtpXS5h dHRuYW1lLAorCQkJCQkJICAgdHlwZV9vaWQsCisJCQkJCQkgICAtMSwgMCk7CisJfQorCisJcmV0 dXJuIEJsZXNzVHVwbGVEZXNjKHR1cGRlc2MpOworfQorCisvKgorICogQ3JlYXRlIGEgc3RydWN0 dXJlZCBjb25mbGljdCBsb2cgdGFibGUgZm9yIGEgc3Vic2NyaXB0aW9uLgorICoKKyAqIFRoZSB0 YWJsZSBpcyBjcmVhdGVkIHdpdGhpbiB0aGUgZGVkaWNhdGVkICdwZ19jb25mbGljdCcgbmFtZXNw YWNlLCB3aGljaAorICogaXMgc3lzdGVtLW1hbmFnZWQuICBUaGUgdGFibGUgbmFtZSBpcyBnZW5l cmF0ZWQgYXV0b21hdGljYWxseSB1c2luZyB0aGUKKyAqIHN1YnNjcmlwdGlvbidzIE9JRCAoZS5n LiwgInBnX2NvbmZsaWN0XzxzdWJpZD4iKSB0byBlbnN1cmUgdW5pcXVlbmVzcworICogd2l0aGlu IHRoZSBjbHVzdGVyIGFuZCB0byBhdm9pZCBjb2xsaXNpb25zIGR1cmluZyBzdWJzY3JpcHRpb24g cmVuYW1lcy4KKyAqLworc3RhdGljIE9pZAorY3JlYXRlX2NvbmZsaWN0X2xvZ190YWJsZShPaWQg c3ViaWQsIGNoYXIgKnN1Ym5hbWUpCit7CisJVHVwbGVEZXNjCXR1cGRlc2M7CisJT2lkCQkJcmVs aWQ7CisJT2JqZWN0QWRkcmVzcwlteXNlbGY7CisJT2JqZWN0QWRkcmVzcwlzdWJhZGRyOworCWNo YXIgICAgCXJlbG5hbWVbTkFNRURBVEFMRU5dOworCisJc25wcmludGYocmVsbmFtZSwgTkFNRURB VEFMRU4sICJwZ19jb25mbGljdF8ldSIsIHN1YmlkKTsKKworCS8qIFRoZXJlIGNhbiBub3QgYmUg YW4gZXhpc3RpbmcgdGFibGUgd2l0aCB0aGUgc2FtZSBuYW1lLiAqLworCUFzc2VydCghT2lkSXNW YWxpZChnZXRfcmVsbmFtZV9yZWxpZChyZWxuYW1lLCBQR19DT05GTElDVF9OQU1FU1BBQ0UpKSk7 CisKKwkvKiBCdWlsZCB0aGUgdHVwbGUgZGVzY3JpcHRvciBmb3IgdGhlIG5ldyB0YWJsZS4gKi8K Kwl0dXBkZXNjID0gY3JlYXRlX2NvbmZsaWN0X2xvZ190YWJsZV90dXBkZXNjKCk7CisKKwkvKiBD cmVhdGUgY29uZmxpY3QgbG9nIHRhYmxlLiAqLworCXJlbGlkID0gaGVhcF9jcmVhdGVfd2l0aF9j YXRhbG9nKHJlbG5hbWUsCisJCQkJCQkJCQkgUEdfQ09ORkxJQ1RfTkFNRVNQQUNFLAorCQkJCQkJ CQkJIDAsCisJCQkJCQkJCQkgSW52YWxpZE9pZCwKKwkJCQkJCQkJCSBJbnZhbGlkT2lkLAorCQkJ CQkJCQkJIEludmFsaWRPaWQsCisJCQkJCQkJCQkgR2V0VXNlcklkKCksCisJCQkJCQkJCQkgSEVB UF9UQUJMRV9BTV9PSUQsCisJCQkJCQkJCQkgdHVwZGVzYywKKwkJCQkJCQkJCSBOSUwsCisJCQkJ CQkJCQkgUkVMS0lORF9SRUxBVElPTiwKKwkJCQkJCQkJCSBSRUxQRVJTSVNURU5DRV9QRVJNQU5F TlQsCisJCQkJCQkJCQkgZmFsc2UsCisJCQkJCQkJCQkgZmFsc2UsCisJCQkJCQkJCQkgT05DT01N SVRfTk9PUCwKKwkJCQkJCQkJCSAoRGF0dW0pIDAsCisJCQkJCQkJCQkgZmFsc2UsCisJCQkJCQkJ CQkgdHJ1ZSwKKwkJCQkJCQkJCSBmYWxzZSwKKwkJCQkJCQkJCSBJbnZhbGlkT2lkLAorCQkJCQkJ CQkJIE5VTEwpOworCisJLyoKKwkgKiBFc3RhYmxpc2ggYW4gaW50ZXJuYWwgZGVwZW5kZW5jeSBi ZXR3ZWVuIHRoZSBjb25mbGljdCBsb2cgdGFibGUgYW5kCisJICogdGhlIHN1YnNjcmlwdGlvbi4g IEJ5IHVzaW5nIERFUEVOREVOQ1lfSU5URVJOQUwsIHdlIGVuc3VyZSB0aGUgdGFibGUKKwkgKiBp cyBhdXRvbWF0aWNhbGx5IHJlYXBlZCB3aGVuIHRoZSBzdWJzY3JpcHRpb24gaXMgZHJvcHBlZC4g VGhpcyBhbHNvCisJICogcHJldmVudHMgdGhlIHRhYmxlIGZyb20gYmVpbmcgZHJvcHBlZCBpbmRl cGVuZGVudGx5IHVubGVzcyB0aGUKKwkgKiBzdWJzY3JpcHRpb24gaXRzZWxmIGlzIHJlbW92ZWQu CisJICovCisJT2JqZWN0QWRkcmVzc1NldChteXNlbGYsIFJlbGF0aW9uUmVsYXRpb25JZCwgcmVs aWQpOworCU9iamVjdEFkZHJlc3NTZXQoc3ViYWRkciwgU3Vic2NyaXB0aW9uUmVsYXRpb25JZCwg c3ViaWQpOworCXJlY29yZERlcGVuZGVuY3lPbigmbXlzZWxmLCAmc3ViYWRkciwgREVQRU5ERU5D WV9JTlRFUk5BTCk7CisKKwkvKiBSZWxlYXNlIHR1cGxlIGRlc2NyaXB0b3IgbWVtb3J5LiAqLwor CUZyZWVUdXBsZURlc2ModHVwZGVzYyk7CisKKwlyZXR1cm4gcmVsaWQ7Cit9CisKKy8qCisgKiBH ZXRMb2dEZXN0aW5hdGlvbgorICoKKyAqIENvbnZlcnQgc3RyaW5nIHRvIGVudW0gYnkgY29tcGFy aW5nIGFnYWluc3Qgc3RhbmRhcmRpemVkIGxhYmVscy4KKyAqLworQ29uZmxpY3RMb2dEZXN0CitH ZXRMb2dEZXN0aW5hdGlvbihjb25zdCBjaGFyICpkZXN0KQoreworCS8qIEVtcHR5IHN0cmluZyBv ciBOVUxMIGRlZmF1bHRzIHRvIExPRy4gKi8KKwlpZiAoZGVzdCA9PSBOVUxMIHx8IGRlc3RbMF0g PT0gJ1wwJyB8fCBwZ19zdHJjYXNlY21wKGRlc3QsICJsb2ciKSA9PSAwKQorCQlyZXR1cm4gQ09O RkxJQ1RfTE9HX0RFU1RfTE9HOworCisJaWYgKHBnX3N0cmNhc2VjbXAoZGVzdCwKKwkJCQkJICBD b25mbGljdExvZ0Rlc3ROYW1lc1tDT05GTElDVF9MT0dfREVTVF9UQUJMRV0pID09IDApCisJCXJl dHVybiBDT05GTElDVF9MT0dfREVTVF9UQUJMRTsKKworCWlmIChwZ19zdHJjYXNlY21wKGRlc3Qs IENvbmZsaWN0TG9nRGVzdE5hbWVzW0NPTkZMSUNUX0xPR19ERVNUX0FMTF0pID09IDApCisJCXJl dHVybiBDT05GTElDVF9MT0dfREVTVF9BTEw7CisKKwkvKiBVbnJlY29nbml6ZWQgc3RyaW5nLiAq LworCWVyZXBvcnQoRVJST1IsCisJCQkoZXJyY29kZShFUlJDT0RFX0lOVkFMSURfUEFSQU1FVEVS X1ZBTFVFKSwKKwkJCSBlcnJtc2coInVucmVjb2duaXplZCBjb25mbGljdF9sb2dfZGVzdGluYXRp b24gdmFsdWU6IFwiJXNcIiIsIGRlc3QpLAorCQkJIGVycmhpbnQoIlZhbGlkIHZhbHVlcyBhcmUg XCJsb2dcIiwgXCJ0YWJsZVwiLCBhbmQgXCJhbGxcIi4iKSkpOworfQorCisvKgorICogQ2hlY2sg aWYgdGhlIHNwZWNpZmllZCByZWxhdGlvbiBpcyB1c2VkIGFzIGEgY29uZmxpY3QgbG9nIHRhYmxl IGJ5IGFueQorICogc3Vic2NyaXB0aW9uLgorICovCitib29sCitJc0NvbmZsaWN0TG9nVGFibGUo T2lkIHJlbGlkKQoreworCVJlbGF0aW9uICAgICAgICByZWw7CisJVGFibGVTY2FuRGVzYyAgIHNj YW47CisJSGVhcFR1cGxlICAgICAgIHR1cDsKKwlib29sICAgICAgICAgICAgaXNfY2x0ID0gZmFs c2U7CisKKwlyZWwgPSB0YWJsZV9vcGVuKFN1YnNjcmlwdGlvblJlbGF0aW9uSWQsIEFjY2Vzc1No YXJlTG9jayk7CisJc2NhbiA9IHRhYmxlX2JlZ2luc2Nhbl9jYXRhbG9nKHJlbCwgMCwgTlVMTCk7 CisKKwl3aGlsZSAoSGVhcFR1cGxlSXNWYWxpZCh0dXAgPSBoZWFwX2dldG5leHQoc2NhbiwgRm9y d2FyZFNjYW5EaXJlY3Rpb24pKSkKKwl7CisJCUZvcm1fcGdfc3Vic2NyaXB0aW9uIHN1YmZvcm0g PSAoRm9ybV9wZ19zdWJzY3JpcHRpb24pIEdFVFNUUlVDVCh0dXApOworCisJCS8qIERpcmVjdCBP aWQgY29tcGFyaXNvbiBmcm9tIGNhdGFsb2cgKi8KKwkJaWYgKE9pZElzVmFsaWQoc3ViZm9ybS0+ c3ViY29uZmxpY3Rsb2dyZWxpZCkgJiYKKwkJCXN1YmZvcm0tPnN1YmNvbmZsaWN0bG9ncmVsaWQg PT0gcmVsaWQpCisJCXsKKwkJCWlzX2NsdCA9IHRydWU7CisJCQlicmVhazsKKwkJfQorCX0KKwor CXRhYmxlX2VuZHNjYW4oc2Nhbik7CisJdGFibGVfY2xvc2UocmVsLCBBY2Nlc3NTaGFyZUxvY2sp OworCisJcmV0dXJuIGlzX2NsdDsKK30KZGlmZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC9kZXNjcmli ZS5jIGIvc3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMKaW5kZXggMzU4NGM0ZTE0MjguLjIwZjA4ZTU0 OGJhIDEwMDY0NAotLS0gYS9zcmMvYmluL3BzcWwvZGVzY3JpYmUuYworKysgYi9zcmMvYmluL3Bz cWwvZGVzY3JpYmUuYwpAQCAtNjgwNiw3ICs2ODA2LDcgQEAgZGVzY3JpYmVTdWJzY3JpcHRpb25z KGNvbnN0IGNoYXIgKnBhdHRlcm4sIGJvb2wgdmVyYm9zZSkKIAlwcmludFF1ZXJ5T3B0IG15b3B0 ID0gcHNldC5wb3B0OwogCXN0YXRpYyBjb25zdCBib29sIHRyYW5zbGF0ZV9jb2x1bW5zW10gPSB7 ZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsCiAJCWZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNl LCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLAotCWZhbHNlLCBmYWxz ZSwgZmFsc2UsIGZhbHNlfTsKKwlmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2V9Owog CiAJaWYgKHBzZXQuc3ZlcnNpb24gPCAxMDAwMDApCiAJewpAQCAtNjkwMCwxNSArNjkwMCwyMiBA QCBkZXNjcmliZVN1YnNjcmlwdGlvbnMoY29uc3QgY2hhciAqcGF0dGVybiwgYm9vbCB2ZXJib3Nl KQogCQkJYXBwZW5kUFFFeHBCdWZmZXIoJmJ1ZiwKIAkJCQkJCQkgICIsIHN1YnNraXBsc24gQVMg XCIlc1wiXG4iLAogCQkJCQkJCSAgZ2V0dGV4dF9ub29wKCJTa2lwIExTTiIpKTsKKworCQkvKiBD b25mbGljdCBsb2cgZGVzdGluYXRpb24gaXMgc3VwcG9ydGVkIGluIHYxOSBhbmQgaGlnaGVyICov CisJCWlmIChwc2V0LnN2ZXJzaW9uID49IDE5MDAwMCkKKwkJeworCQkJYXBwZW5kUFFFeHBCdWZm ZXIoJmJ1ZiwKKwkJCQkJCQkgICIsIHN1YmNvbmZsaWN0bG9nZGVzdCBBUyBcIiVzXCJcbiIsCisJ CQkJCQkJICBnZXR0ZXh0X25vb3AoIkNvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiIpKTsKKwkJfQog CX0KIAogCS8qIE9ubHkgZGlzcGxheSBzdWJzY3JpcHRpb25zIGluIGN1cnJlbnQgZGF0YWJhc2Uu ICovCi0JYXBwZW5kUFFFeHBCdWZmZXJTdHIoJmJ1ZiwKLQkJCQkJCSAiRlJPTSBwZ19jYXRhbG9n LnBnX3N1YnNjcmlwdGlvblxuIgotCQkJCQkJICJXSEVSRSBzdWJkYmlkID0gKFNFTEVDVCBvaWRc biIKLQkJCQkJCSAiICAgICAgICAgICAgICAgICBGUk9NIHBnX2NhdGFsb2cucGdfZGF0YWJhc2Vc biIKLQkJCQkJCSAiICAgICAgICAgICAgICAgICBXSEVSRSBkYXRuYW1lID0gcGdfY2F0YWxvZy5j dXJyZW50X2RhdGFiYXNlKCkpIik7Ci0KKwlhcHBlbmRQUUV4cEJ1ZmZlcigmYnVmLAorCQkJCQkg ICJGUk9NIHBnX2NhdGFsb2cucGdfc3Vic2NyaXB0aW9uICIKKwkJCQkJICAiV0hFUkUgc3ViZGJp ZCA9IChTRUxFQ1Qgb2lkXG4iCisJCQkJCSAgIiAgICAgICAgICAgICAgICAgRlJPTSBwZ19jYXRh bG9nLnBnX2RhdGFiYXNlXG4iCisJCQkJCSAgIiAgICAgICAgICAgICAgICAgV0hFUkUgZGF0bmFt ZSA9IHBnX2NhdGFsb2cuY3VycmVudF9kYXRhYmFzZSgpKSIpOwogCWlmICghdmFsaWRhdGVTUUxO YW1lUGF0dGVybigmYnVmLCBwYXR0ZXJuLCB0cnVlLCBmYWxzZSwKIAkJCQkJCQkJTlVMTCwgInN1 Ym5hbWUiLCBOVUxMLAogCQkJCQkJCQlOVUxMLApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wc3FsL3Rh Yi1jb21wbGV0ZS5pbi5jIGIvc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5jCmluZGV4IGQ4 MWYyZmNkYmU2Li5lNWViNDM0YzkwYyAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wc3FsL3RhYi1jb21w bGV0ZS5pbi5jCisrKyBiL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYwpAQCAtMjM0NCw4 ICsyMzQ0LDggQEAgbWF0Y2hfcHJldmlvdXNfd29yZHMoaW50IHBhdHRlcm5faWQsCiAJCUNPTVBM RVRFX1dJVEgoIigiLCAiUFVCTElDQVRJT04iKTsKIAkvKiBBTFRFUiBTVUJTQ1JJUFRJT04gPG5h bWU+IFNFVCAoICovCiAJZWxzZSBpZiAoTWF0Y2hlcygiQUxURVIiLCAiU1VCU0NSSVBUSU9OIiwg TWF0Y2hBbnksIE1hdGNoQW55TiwgIlNFVCIsICIoIikpCi0JCUNPTVBMRVRFX1dJVEgoImJpbmFy eSIsICJkaXNhYmxlX29uX2Vycm9yIiwgImZhaWxvdmVyIiwKLQkJCQkJICAibWF4X3JldGVudGlv bl9kdXJhdGlvbiIsICJvcmlnaW4iLAorCQlDT01QTEVURV9XSVRIKCJiaW5hcnkiLCAiY29uZmxp Y3RfbG9nX2Rlc3RpbmF0aW9uIiwgImRpc2FibGVfb25fZXJyb3IiLAorCQkJCQkgICJmYWlsb3Zl ciIsICJtYXhfcmV0ZW50aW9uX2R1cmF0aW9uIiwgIm9yaWdpbiIsCiAJCQkJCSAgInBhc3N3b3Jk X3JlcXVpcmVkIiwgInJldGFpbl9kZWFkX3R1cGxlcyIsCiAJCQkJCSAgInJ1bl9hc19vd25lciIs ICJzbG90X25hbWUiLCAic3RyZWFtaW5nIiwKIAkJCQkJICAic3luY2hyb25vdXNfY29tbWl0Iiwg InR3b19waGFzZSIpOwpAQCAtMzg1MSw4ICszODUxLDggQEAgbWF0Y2hfcHJldmlvdXNfd29yZHMo aW50IHBhdHRlcm5faWQsCiAJCUNPTVBMRVRFX1dJVEgoIldJVEggKCIpOwogCS8qIENvbXBsZXRl ICJDUkVBVEUgU1VCU0NSSVBUSU9OIDxuYW1lPiAuLi4gIFdJVEggKCA8b3B0PiIgKi8KIAllbHNl IGlmIChNYXRjaGVzKCJDUkVBVEUiLCAiU1VCU0NSSVBUSU9OIiwgTWF0Y2hBbnlOLCAiV0lUSCIs ICIoIikpCi0JCUNPTVBMRVRFX1dJVEgoImJpbmFyeSIsICJjb25uZWN0IiwgImNvcHlfZGF0YSIs ICJjcmVhdGVfc2xvdCIsCi0JCQkJCSAgImRpc2FibGVfb25fZXJyb3IiLCAiZW5hYmxlZCIsICJm YWlsb3ZlciIsCisJCUNPTVBMRVRFX1dJVEgoImJpbmFyeSIsICJjb25mbGljdF9sb2dfZGVzdGlu YXRpb24iLCAiY29ubmVjdCIsICJjb3B5X2RhdGEiLAorCQkJCQkgICJjcmVhdGVfc2xvdCIsICJk aXNhYmxlX29uX2Vycm9yIiwgImVuYWJsZWQiLCAiZmFpbG92ZXIiLAogCQkJCQkgICJtYXhfcmV0 ZW50aW9uX2R1cmF0aW9uIiwgIm9yaWdpbiIsCiAJCQkJCSAgInBhc3N3b3JkX3JlcXVpcmVkIiwg InJldGFpbl9kZWFkX3R1cGxlcyIsCiAJCQkJCSAgInJ1bl9hc19vd25lciIsICJzbG90X25hbWUi LCAic3RyZWFtaW5nIiwKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvY2F0YWxvZy5o IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9jYXRhbG9nLmgKaW5kZXggYTlkNmU4ZWE5ODYuLjgxOTMy MjlmMmUyIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL2NhdGFsb2cuaAorKysgYi9z cmMvaW5jbHVkZS9jYXRhbG9nL2NhdGFsb2cuaApAQCAtMjUsNiArMjUsNyBAQCBleHRlcm4gYm9v bCBJc0lucGxhY2VVcGRhdGVSZWxhdGlvbihSZWxhdGlvbiByZWxhdGlvbik7CiAKIGV4dGVybiBi b29sIElzU3lzdGVtQ2xhc3MoT2lkIHJlbGlkLCBGb3JtX3BnX2NsYXNzIHJlbHR1cGxlKTsKIGV4 dGVybiBib29sIElzVG9hc3RDbGFzcyhGb3JtX3BnX2NsYXNzIHJlbHR1cGxlKTsKK2V4dGVybiBi b29sIElzQ29uZmxpY3RDbGFzcyhGb3JtX3BnX2NsYXNzIHJlbHR1cGxlKTsKIAogZXh0ZXJuIGJv b2wgSXNDYXRhbG9nUmVsYXRpb25PaWQoT2lkIHJlbGlkKTsKIGV4dGVybiBib29sIElzQ2F0YWxv Z1RleHRVbmlxdWVJbmRleE9pZChPaWQgcmVsaWQpOwpAQCAtMzIsNiArMzMsNyBAQCBleHRlcm4g Ym9vbCBJc0lucGxhY2VVcGRhdGVPaWQoT2lkIHJlbGlkKTsKIAogZXh0ZXJuIGJvb2wgSXNDYXRh bG9nTmFtZXNwYWNlKE9pZCBuYW1lc3BhY2VJZCk7CiBleHRlcm4gYm9vbCBJc1RvYXN0TmFtZXNw YWNlKE9pZCBuYW1lc3BhY2VJZCk7CitleHRlcm4gYm9vbCBJc0NvbmZsaWN0TmFtZXNwYWNlKE9p ZCBuYW1lc3BhY2VJZCk7CiAKIGV4dGVybiBib29sIElzUmVzZXJ2ZWROYW1lKGNvbnN0IGNoYXIg Km5hbWUpOwogCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX25hbWVzcGFjZS5k YXQgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX25hbWVzcGFjZS5kYXQKaW5kZXggMzA3NWUxNDJj NzMuLmM2ZTEwMTUwYjIxIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX25hbWVz cGFjZS5kYXQKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19uYW1lc3BhY2UuZGF0CkBAIC0x OCw2ICsxOCw5IEBACiB7IG9pZCA9PiAnOTknLCBvaWRfc3ltYm9sID0+ICdQR19UT0FTVF9OQU1F U1BBQ0UnLAogICBkZXNjciA9PiAncmVzZXJ2ZWQgc2NoZW1hIGZvciBUT0FTVCB0YWJsZXMnLAog ICBuc3BuYW1lID0+ICdwZ190b2FzdCcsIG5zcGFjbCA9PiAnX251bGxfJyB9LAoreyBvaWQgPT4g JzEzODInLCBvaWRfc3ltYm9sID0+ICdQR19DT05GTElDVF9OQU1FU1BBQ0UnLAorICBkZXNjciA9 PiAncmVzZXJ2ZWQgc2NoZW1hIGZvciBzdWJzY3JpcHRpb24tc3BlY2lmaWMgY29uZmxpY3QgdGFi bGVzJywKKyAgbnNwbmFtZSA9PiAncGdfY29uZmxpY3QnLCBuc3BhY2wgPT4gJ19udWxsXycgfSwK ICMgdXBkYXRlIGR1bXBOYW1lc3BhY2UoKSBpZiBjaGFuZ2luZyB0aGlzIGRlc2NyCiB7IG9pZCA9 PiAnMjIwMCcsIG9pZF9zeW1ib2wgPT4gJ1BHX1BVQkxJQ19OQU1FU1BBQ0UnLAogICBkZXNjciA9 PiAnc3RhbmRhcmQgcHVibGljIHNjaGVtYScsCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRh bG9nL3BnX3N1YnNjcmlwdGlvbi5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19zdWJzY3JpcHRp b24uaAppbmRleCBmMzU3MWQyYmZjZi4uNGFhMjllYTE1ZDQgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNs dWRlL2NhdGFsb2cvcGdfc3Vic2NyaXB0aW9uLmgKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9w Z19zdWJzY3JpcHRpb24uaApAQCAtOTAsNiArOTAsNyBAQCBDQVRBTE9HKHBnX3N1YnNjcmlwdGlv biw2MTAwLFN1YnNjcmlwdGlvblJlbGF0aW9uSWQpIEJLSV9TSEFSRURfUkVMQVRJT04gQktJX1JP VwogCQkJCQkJCQkJICogZXhjZWVkZWQgbWF4X3JldGVudGlvbl9kdXJhdGlvbiwgd2hlbgogCQkJ CQkJCQkJICogZGVmaW5lZCAqLwogCisJT2lkICAgICAgICAgc3ViY29uZmxpY3Rsb2dyZWxpZDsg LyogUmVsaWQgb2YgdGhlIGNvbmZsaWN0IGxvZyB0YWJsZS4gKi8KICNpZmRlZiBDQVRBTE9HX1ZB UkxFTgkJCS8qIHZhcmlhYmxlLWxlbmd0aCBmaWVsZHMgc3RhcnQgaGVyZSAqLwogCS8qIENvbm5l Y3Rpb24gc3RyaW5nIHRvIHRoZSBwdWJsaXNoZXIgKi8KIAl0ZXh0CQlzdWJjb25uaW5mbyBCS0lf Rk9SQ0VfTk9UX05VTEw7CkBAIC0xMDMsNiArMTA0LDE0IEBAIENBVEFMT0cocGdfc3Vic2NyaXB0 aW9uLDYxMDAsU3Vic2NyaXB0aW9uUmVsYXRpb25JZCkgQktJX1NIQVJFRF9SRUxBVElPTiBCS0lf Uk9XCiAJLyogTGlzdCBvZiBwdWJsaWNhdGlvbnMgc3Vic2NyaWJlZCB0byAqLwogCXRleHQJCXN1 YnB1YmxpY2F0aW9uc1sxXSBCS0lfRk9SQ0VfTk9UX05VTEw7CiAKKwkvKgorCSAqIFN0cmF0ZWd5 IGZvciBsb2dnaW5nIHJlcGxpY2F0aW9uIGNvbmZsaWN0czoKKwkgKiAnbG9nJyAtIHNlcnZlciBs b2cgb25seSwKKwkgKiAndGFibGUnIC0gaW50ZXJuYWwgdGFibGUgb25seSwKKwkgKiAnYWxsJyAt IGJvdGggbG9nIGFuZCB0YWJsZS4KKwkgKi8KKwl0ZXh0CQlzdWJjb25mbGljdGxvZ2Rlc3Q7CisK IAkvKiBPbmx5IHB1Ymxpc2ggZGF0YSBvcmlnaW5hdGluZyBmcm9tIHRoZSBzcGVjaWZpZWQgb3Jp Z2luICovCiAJdGV4dAkJc3Vib3JpZ2luIEJLSV9ERUZBVUxUKExPR0lDQUxSRVBfT1JJR0lOX0FO WSk7CiAjZW5kaWYKQEAgLTE1MiwxMiArMTYxLDE0IEBAIHR5cGVkZWYgc3RydWN0IFN1YnNjcmlw dGlvbgogCQkJCQkJCQkJICogYW5kIHRoZSByZXRlbnRpb24gZHVyYXRpb24gaGFzIG5vdAogCQkJ CQkJCQkJICogZXhjZWVkZWQgbWF4X3JldGVudGlvbl9kdXJhdGlvbiwgd2hlbgogCQkJCQkJCQkJ ICogZGVmaW5lZCAqLworCU9pZAkJCWNvbmZsaWN0bG9ncmVsaWQ7CS8qIGNvbmZsaWN0IGxvZyB0 YWJsZSBPaWQgKi8KIAljaGFyCSAgICpjb25uaW5mbzsJCS8qIENvbm5lY3Rpb24gc3RyaW5nIHRv IHRoZSBwdWJsaXNoZXIgKi8KIAljaGFyCSAgICpzbG90bmFtZTsJCS8qIE5hbWUgb2YgdGhlIHJl cGxpY2F0aW9uIHNsb3QgKi8KIAljaGFyCSAgICpzeW5jY29tbWl0OwkJLyogU3luY2hyb25vdXMg Y29tbWl0IHNldHRpbmcgZm9yIHdvcmtlciAqLwogCUxpc3QJICAgKnB1YmxpY2F0aW9uczsJLyog TGlzdCBvZiBwdWJsaWNhdGlvbiBuYW1lcyB0byBzdWJzY3JpYmUgdG8gKi8KIAljaGFyCSAgICpv cmlnaW47CQkJLyogT25seSBwdWJsaXNoIGRhdGEgb3JpZ2luYXRpbmcgZnJvbSB0aGUKIAkJCQkJ CQkJICogc3BlY2lmaWVkIG9yaWdpbiAqLworCWNoYXIJICAgKmNvbmZsaWN0bG9nZGVzdDsJLyog Q29uZmxpY3QgbG9nIGRlc3RpbmF0aW9uICovCiB9IFN1YnNjcmlwdGlvbjsKIAogI2lmZGVmIEVY UE9TRV9UT19DTElFTlRfQ09ERQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvc3Vi c2NyaXB0aW9uY21kcy5oIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5o CmluZGV4IDYzNTA0MjMyYTE0Li5iYzRhOTJhZjM1NiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUv Y29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5oCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3N1 YnNjcmlwdGlvbmNtZHMuaApAQCAtMTcsNiArMTcsNyBAQAogCiAjaW5jbHVkZSAiY2F0YWxvZy9v YmplY3RhZGRyZXNzLmgiCiAjaW5jbHVkZSAicGFyc2VyL3BhcnNlX25vZGUuaCIKKyNpbmNsdWRl ICJyZXBsaWNhdGlvbi9jb25mbGljdC5oIgogCiBleHRlcm4gT2JqZWN0QWRkcmVzcyBDcmVhdGVT dWJzY3JpcHRpb24oUGFyc2VTdGF0ZSAqcHN0YXRlLCBDcmVhdGVTdWJzY3JpcHRpb25TdG10ICpz dG10LAogCQkJCQkJCQkJCWJvb2wgaXNUb3BMZXZlbCk7CkBAIC0zNiw0ICszNyw3IEBAIGV4dGVy biB2b2lkIENoZWNrU3ViRGVhZFR1cGxlUmV0ZW50aW9uKGJvb2wgY2hlY2tfZ3VjLCBib29sIHN1 Yl9kaXNhYmxlZCwKIAkJCQkJCQkJCSAgIGJvb2wgcmV0ZW50aW9uX2FjdGl2ZSwKIAkJCQkJCQkJ CSAgIGJvb2wgbWF4X3JldGVudGlvbl9zZXQpOwogCitleHRlcm4gQ29uZmxpY3RMb2dEZXN0IEdl dExvZ0Rlc3RpbmF0aW9uKGNvbnN0IGNoYXIgKmRlc3QpOworZXh0ZXJuIGJvb2wgSXNDb25mbGlj dExvZ1RhYmxlKE9pZCByZWxpZCk7CisKICNlbmRpZgkJCQkJCQkvKiBTVUJTQ1JJUFRJT05DTURT X0ggKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL2NvbmZsaWN0LmggYi9z cmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9jb25mbGljdC5oCmluZGV4IGQ1MzgyNzQ2MzdmLi5hZjZk ZWFhNDI5NyAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vY29uZmxpY3QuaAor KysgYi9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9jb25mbGljdC5oCkBAIC0xMCw2ICsxMCw3IEBA CiAjZGVmaW5lIENPTkZMSUNUX0gKIAogI2luY2x1ZGUgImFjY2Vzcy94bG9nZGVmcy5oIgorI2lu Y2x1ZGUgImNhdGFsb2cvcGdfdHlwZS5oIgogI2luY2x1ZGUgIm5vZGVzL3BnX2xpc3QuaCIKICNp bmNsdWRlICJ1dGlscy90aW1lc3RhbXAuaCIKIApAQCAtNzksNiArODAsNjEgQEAgdHlwZWRlZiBz dHJ1Y3QgQ29uZmxpY3RUdXBsZUluZm8KIAkJCQkJCQkJICogY29uZmxpY3RpbmcgbG9jYWwgcm93 IG9jY3VycmVkICovCiB9IENvbmZsaWN0VHVwbGVJbmZvOwogCisvKgorICogQ29uZmxpY3QgbG9n IGRlc3RpbmF0aW9uIHR5cGVzLgorICoKKyAqIFRoZXNlIHZhbHVlcyBhcmUgZGVmaW5lZCBhcyBi aXRtYXNrIGZsYWdzIHRvIGFsbG93IGZvciBtdWx0aXBsZSBzaW11bHRhbmVvdXMKKyAqIGxvZ2dp bmcgZGVzdGluYXRpb25zIChlLmcuLCBsb2dnaW5nIHRvIGJvdGggc3lzdGVtIGxvZ3MgYW5kIGEg dGFibGUpLgorICogSW50ZXJuYWxseSwgd2UgdXNlIHRoZXNlIGZvciBiaXR3aXNlIGNvbXBhcmlz b25zIChJc1NldCksIGJ1dCB0aGUgc3RyaW5nIAorICogcmVwcmVzZW50YXRpb24gaXMgc3RvcmVk IGluIHBnX3N1YnNjcmlwdGlvbi5zdWJjb25mbGljdGxvZ2Rlc3QuCisgKi8KK3R5cGVkZWYgZW51 bSBDb25mbGljdExvZ0Rlc3QKK3sKKwkvKiBMb2cgY29uZmxpY3RzIHRvIHRoZSBzZXJ2ZXIgbG9n cyAqLworCUNPTkZMSUNUX0xPR19ERVNUX0xPRyAgID0gMSA8PCAwLCAgIC8qIDB4MDEgKi8KKwor CS8qIExvZyBjb25mbGljdHMgdG8gYW4gaW50ZXJuYWxseSBtYW5hZ2VkIHRhYmxlICovCisJQ09O RkxJQ1RfTE9HX0RFU1RfVEFCTEUgPSAxIDw8IDEsICAgLyogMHgwMiAqLworCisJLyogQ29udmVu aWVuY2UgZmxhZyBmb3IgYWxsIHN1cHBvcnRlZCBkZXN0aW5hdGlvbnMgKi8KKwlDT05GTElDVF9M T0dfREVTVF9BTEwgICA9IChDT05GTElDVF9MT0dfREVTVF9MT0cgfCBDT05GTElDVF9MT0dfREVT VF9UQUJMRSkKK30gQ29uZmxpY3RMb2dEZXN0OworCisvKgorICogQXJyYXkgbWFwcGluZyBmb3Ig Y29udmVydGluZyBpbnRlcm5hbCBlbnVtIHRvIHN0cmluZy4KKyAqLworc3RhdGljIGNvbnN0IGNo YXIgKmNvbnN0IENvbmZsaWN0TG9nRGVzdE5hbWVzW10gPSB7CisJW0NPTkZMSUNUX0xPR19ERVNU X0xPR10gPSAibG9nIiwKKwlbQ09ORkxJQ1RfTE9HX0RFU1RfVEFCTEVdID0gInRhYmxlIiwKKwlb Q09ORkxJQ1RfTE9HX0RFU1RfQUxMXSA9ICJhbGwiCit9OworCisvKiBTdHJ1Y3R1cmUgdG8gaG9s ZCBtZXRhZGF0YSBmb3Igb25lIGNvbHVtbiBvZiB0aGUgY29uZmxpY3QgbG9nIHRhYmxlICovCit0 eXBlZGVmIHN0cnVjdCBDb25mbGljdExvZ0NvbHVtbkRlZgoreworCWNvbnN0IGNoYXIgKmF0dG5h bWU7ICAgIC8qIENvbHVtbiBuYW1lICovCisJT2lkICAgICAgICAgYXR0dHlwaWQ7ICAgLyogRGF0 YSB0eXBlIE9JRCAqLworfSBDb25mbGljdExvZ0NvbHVtbkRlZjsKKworLyogVGhlIHNpbmdsZSBz b3VyY2Ugb2YgdHJ1dGggZm9yIHRoZSBjb25mbGljdCBsb2cgdGFibGUgc2NoZW1hICovCitzdGF0 aWMgY29uc3QgQ29uZmxpY3RMb2dDb2x1bW5EZWYgQ29uZmxpY3RMb2dTY2hlbWFbXSA9Cit7CisJ eyAuYXR0bmFtZSA9ICJyZWxpZCIsICAgICAgICAgICAgLmF0dHR5cGlkID0gT0lET0lEIH0sCisJ eyAuYXR0bmFtZSA9ICJzY2hlbWFuYW1lIiwgICAgICAgLmF0dHR5cGlkID0gVEVYVE9JRCB9LAor CXsgLmF0dG5hbWUgPSAicmVsbmFtZSIsICAgICAgICAgIC5hdHR0eXBpZCA9IFRFWFRPSUQgfSwK Kwl7IC5hdHRuYW1lID0gImNvbmZsaWN0X3R5cGUiLCAgICAuYXR0dHlwaWQgPSBURVhUT0lEIH0s CisJeyAuYXR0bmFtZSA9ICJyZW1vdGVfeGlkIiwgICAgICAgLmF0dHR5cGlkID0gWElET0lEIH0s CisJeyAuYXR0bmFtZSA9ICJyZW1vdGVfY29tbWl0X2xzbiIsLmF0dHR5cGlkID0gTFNOT0lEIH0s CisJeyAuYXR0bmFtZSA9ICJyZW1vdGVfY29tbWl0X3RzIiwgLmF0dHR5cGlkID0gVElNRVNUQU1Q VFpPSUQgfSwKKwl7IC5hdHRuYW1lID0gInJlbW90ZV9vcmlnaW4iLCAgICAuYXR0dHlwaWQgPSBU RVhUT0lEIH0sCisJeyAuYXR0bmFtZSA9ICJyZXBsaWNhX2lkZW50aXR5IiwgLmF0dHR5cGlkID0g SlNPTk9JRCB9LAorCXsgLmF0dG5hbWUgPSAicmVtb3RlX3R1cGxlIiwgICAgIC5hdHR0eXBpZCA9 IEpTT05PSUQgfSwKKwl7IC5hdHRuYW1lID0gImxvY2FsX2NvbmZsaWN0cyIsICAuYXR0dHlwaWQg PSBKU09OQVJSQVlPSUQgfQorfTsKKworLyogRGVmaW5lIHRoZSBjb3VudCB1c2luZyB0aGUgYXJy YXkgc2l6ZSAqLworI2RlZmluZSBNQVhfQ09ORkxJQ1RfQVRUUl9OVU0gKHNpemVvZihDb25mbGlj dExvZ1NjaGVtYSkgLyBzaXplb2YoQ29uZmxpY3RMb2dTY2hlbWFbMF0pKQorCiBleHRlcm4gYm9v bCBHZXRUdXBsZVRyYW5zYWN0aW9uSW5mbyhUdXBsZVRhYmxlU2xvdCAqbG9jYWxzbG90LAogCQkJ CQkJCQkJVHJhbnNhY3Rpb25JZCAqeG1pbiwKIAkJCQkJCQkJCVJlcE9yaWdpbklkICpsb2NhbG9y aWdpbiwKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3Vic2NyaXB0aW9u Lm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3Vic2NyaXB0aW9uLm91dAppbmRleCBi M2VjY2Q4YWZlMy4uZDVmOGFiZTkzMjUgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvc3Vic2NyaXB0aW9uLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N1 YnNjcmlwdGlvbi5vdXQKQEAgLTExNiwxOCArMTE2LDE4IEBAIENSRUFURSBTVUJTQ1JJUFRJT04g cmVncmVzc190ZXN0c3ViNCBDT05ORUNUSU9OICdkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3Qn IFBVCiBXQVJOSU5HOiAgc3Vic2NyaXB0aW9uIHdhcyBjcmVhdGVkLCBidXQgaXMgbm90IGNvbm5l Y3RlZAogSElOVDogIFRvIGluaXRpYXRlIHJlcGxpY2F0aW9uLCB5b3UgbXVzdCBtYW51YWxseSBj cmVhdGUgdGhlIHJlcGxpY2F0aW9uIHNsb3QsIGVuYWJsZSB0aGUgc3Vic2NyaXB0aW9uLCBhbmQg YWx0ZXIgdGhlIHN1YnNjcmlwdGlvbiB0byByZWZyZXNoIHB1YmxpY2F0aW9ucy4KIFxkUnMrIHJl Z3Jlc3NfdGVzdHN1YjQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBz dWJzY3JpcHRpb25zCi0gICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAg ICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhh c2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVk IHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJl dGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQg fCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCAgU2tpcCBMU04gIAotLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0t LSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWI0IHwgcmVncmVzc19zdWJzY3JpcHRp b25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQg ICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgbm9uZSAgIHwgdCAgICAgICAgICAg ICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAg ICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IDAvMDAwMDAwMDAKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlv bnMKKyAgICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJs ZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQg fCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMg b3duZXI/IHwgRmFpbG92ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1 cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAg IENvbm5pbmZvICAgICAgICAgICB8ICBTa2lwIExTTiAgfCBDb25mbGljdCBsb2cgZGVzdGluYXRp b24gCistLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorIHJlZ3Jlc3NfdGVzdHN1YjQgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAg ICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAg ICB8IGYgICAgICAgICAgICAgICAgfCBub25lICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAg ICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAg ICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1l PXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8wMDAwMDAwMCB8IGxvZwogKDEgcm93KQogCiBBTFRF UiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViNCBTRVQgKG9yaWdpbiA9IGFueSk7CiBcZFJz KyByZWdyZXNzX3Rlc3RzdWI0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qg b2Ygc3Vic2NyaXB0aW9ucwotICAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAg ICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdv LXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1 aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1h eCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29t bWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgIFNraXAgTFNOICAKLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViNCB8IHJlZ3Jlc3Nfc3Vic2Ny aXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAg fCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAg ICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAg ICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAwLzAwMDAwMDAwCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3Jp cHRpb25zCisgICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBF bmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29t bWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVu IGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlv biBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAg ICAgICBDb25uaW5mbyAgICAgICAgICAgfCAgU2tpcCBMU04gIHwgQ29uZmxpY3QgbG9nIGRlc3Rp bmF0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RzdWI0IHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8 IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAg ICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBm ICAgICAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRi bmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IDAvMDAwMDAwMDAgfCBsb2cKICgxIHJvdykKIAog RFJPUCBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViMzsKQEAgLTE0NSwxMCArMTQ1LDEwIEBA IEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgQ09OTkVDVElPTiAnZm9vYmFyJzsK IEVSUk9SOiAgaW52YWxpZCBjb25uZWN0aW9uIHN0cmluZyBzeW50YXg6IG1pc3NpbmcgIj0iIGFm dGVyICJmb29iYXIiIGluIGNvbm5lY3Rpb24gaW5mbyBzdHJpbmcKIAogXGRScysKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1l ICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlv biB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVy cm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92 ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50 aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAg ICAgICB8ICBTa2lwIExTTiAgCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCi0gcmVncmVz c190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1 Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAg ICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAg ICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAg ICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNu b3RleGlzdCB8IDAvMDAwMDAwMDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFtZSAgICAgICB8ICAgICAg ICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBT dHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8 IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgUmV0YWluIGRl YWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBT eW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCAgU2tpcCBM U04gIHwgQ29uZmxpY3QgbG9nIGRlc3RpbmF0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jl c3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBw YXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8 IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAg ICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBv ZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAwLzAwMDAw MDAwIHwgbG9nCiAoMSByb3cpCiAKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIg U0VUIFBVQkxJQ0FUSU9OIHRlc3RwdWIyLCB0ZXN0cHViMyBXSVRIIChyZWZyZXNoID0gZmFsc2Up OwpAQCAtMTU3LDEwICsxNTcsMTAgQEAgQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1 YiBTRVQgKHNsb3RfbmFtZSA9ICduZXduYW1lJyk7CiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVz c190ZXN0c3ViIFNFVCAocGFzc3dvcmRfcmVxdWlyZWQgPSBmYWxzZSk7CiBBTFRFUiBTVUJTQ1JJ UFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAocnVuX2FzX293bmVyID0gdHJ1ZSk7CiBcZFJzKwot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25z Ci0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQg fCAgICAgUHVibGljYXRpb24gICAgIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNv bW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1 biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRp b24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAg ICAgICAgIENvbm5pbmZvICAgICAgICAgICB8ICBTa2lwIExTTiAgCi0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3Jp cHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1YjIsdGVzdHB1YjN9IHwgZiAgICAgIHwgcGFy YWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCBm ICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICAg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2Zm ICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0MiB8IDAvMDAwMDAw MDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlz dCBvZiBzdWJzY3JpcHRpb25zCisgICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAg ICAgICAgICB8IEVuYWJsZWQgfCAgICAgUHVibGljYXRpb24gICAgIHwgQmluYXJ5IHwgU3RyZWFt aW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNz d29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFJldGFpbiBkZWFkIHR1 cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hy b25vdXMgY29tbWl0IHwgICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8ICBTa2lwIExTTiAg fCBDb25mbGljdCBsb2cgZGVzdGluYXRpb24gCistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViIHwg cmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1YjIsdGVzdHB1YjN9 IHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAg ICAgfCBhbnkgICAgfCBmICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgfCBmICAgICAg ICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAg ICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4 aXN0MiB8IDAvMDAwMDAwMDAgfCBsb2cKICgxIHJvdykKIAogQUxURVIgU1VCU0NSSVBUSU9OIHJl Z3Jlc3NfdGVzdHN1YiBTRVQgKHBhc3N3b3JkX3JlcXVpcmVkID0gdHJ1ZSk7CkBAIC0xNzYsMTAg KzE3NiwxMCBAQCBFUlJPUjogIHVucmVjb2duaXplZCBzdWJzY3JpcHRpb24gcGFyYW1ldGVyOiAi Y3JlYXRlX3Nsb3QiCiAtLSBvawogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBT S0lQIChsc24gPSAnMC8xMjM0NScpOwogXGRScysKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAg ICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgICAgIFB1YmxpY2F0aW9uICAgICB8IEJp bmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwg T3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBS ZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFj dGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAg fCAgU2tpcCBMU04gIAotLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQotIHJl Z3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rl c3RwdWIyLHRlc3RwdWIzfSB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAg fCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAg ICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1y ZWdyZXNzX2RvZXNub3RleGlzdDIgfCAwLzAwMDEyMzQ1CisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAg TmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgICAgIFB1 YmxpY2F0aW9uICAgICB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBE aXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3du ZXI/IHwgRmFpbG92ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0 aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgICBD b25uaW5mbyAgICAgICAgICAgfCAgU2tpcCBMU04gIHwgQ29uZmxpY3QgbG9nIGRlc3RpbmF0aW9u IAorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIg fCBmICAgICAgIHwge3Rlc3RwdWIyLHRlc3RwdWIzfSB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQg ICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAg ICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAg ICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdDIgfCAwLzAwMDEyMzQ1IHwgbG9nCiAo MSByb3cpCiAKIC0tIG9rIC0gd2l0aCBsc24gPSBOT05FCkBAIC0xODgsMTAgKzE4OCwxMCBAQCBB TFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNLSVAgKGxzbiA9IE5PTkUpOwogQUxU RVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTS0lQIChsc24gPSAnMC8wJyk7CiBFUlJP UjogIGludmFsaWQgV0FMIGxvY2F0aW9uIChMU04pOiAwLzAKIFxkUnMrCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUg ICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8ICAgICBQdWJsaWNh dGlvbiAgICAgfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJs ZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8 IEZhaWxvdmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8 IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICAgQ29ubmlu Zm8gICAgICAgICAgIHwgIFNraXAgTFNOICAKLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwg ZiAgICAgICB8IHt0ZXN0cHViMix0ZXN0cHViM30gfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAg ICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAg ICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAg ICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QyIHwgMC8wMDAwMDAwMAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlw dGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5h YmxlZCB8ICAgICBQdWJsaWNhdGlvbiAgICAgfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhh c2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVk IHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJl dGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQg fCAgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgIFNraXAgTFNOICB8IENvbmZsaWN0IGxv ZyBkZXN0aW5hdGlvbiAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNj cmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHViMix0ZXN0cHViM30gfCBmICAgICAgfCBw YXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8 IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAg ICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBv ZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QyIHwgMC8wMDAw MDAwMCB8IGxvZwogKDEgcm93KQogCiBCRUdJTjsKQEAgLTIyMywxMCArMjIzLDEwIEBAIEFMVEVS IFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWJfZm9vIFNFVCAoc3luY2hyb25vdXNfY29tbWl0 ID0gZm9vYmFyKTsKIEVSUk9SOiAgaW52YWxpZCB2YWx1ZSBmb3IgcGFyYW1ldGVyICJzeW5jaHJv bm91c19jb21taXQiOiAiZm9vYmFyIgogSElOVDogIEF2YWlsYWJsZSB2YWx1ZXM6IGxvY2FsLCBy ZW1vdGVfd3JpdGUsIHJlbW90ZV9hcHBseSwgb24sIG9mZi4KIFxkUnMrCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAgICBO YW1lICAgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8ICAgICBQ dWJsaWNhdGlvbiAgICAgfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwg RGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93 bmVyPyB8IEZhaWxvdmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJh dGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICAg Q29ubmluZm8gICAgICAgICAgIHwgIFNraXAgTFNOICAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViX2ZvbyB8IHJlZ3Jlc3Nfc3Vic2Ny aXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWIyLHRlc3RwdWIzfSB8IGYgICAgICB8IHBh cmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwg dCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IGxv Y2FsICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdDIgfCAwLzAwMDAw MDAwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TGlzdCBvZiBzdWJzY3JpcHRpb25zCisgICAgICAgIE5hbWUgICAgICAgICB8ICAgICAgICAgICBP d25lciAgICAgICAgICAgfCBFbmFibGVkIHwgICAgIFB1YmxpY2F0aW9uICAgICB8IEJpbmFyeSB8 IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2lu IHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBSZXRhaW4g ZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8 IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCAgU2tp cCBMU04gIHwgQ29uZmxpY3QgbG9nIGRlc3RpbmF0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNz X3Rlc3RzdWJfZm9vIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVz dHB1YjIsdGVzdHB1YjN9IHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8 IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAg ICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAg ICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgbG9jYWwgICAgICAgICAgICAgIHwgZGJuYW1lPXJl Z3Jlc3NfZG9lc25vdGV4aXN0MiB8IDAvMDAwMDAwMDAgfCBsb2cKICgxIHJvdykKIAogLS0gcmVu YW1lIGJhY2sgdG8ga2VlcCB0aGUgcmVzdCBzaW1wbGUKQEAgLTI1NSwxOSArMjU1LDE5IEBAIENS RUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIENPTk5FQ1RJT04gJ2RibmFtZT1yZWdy ZXNzX2RvZXNub3RleGlzdCcgUFVCCiBXQVJOSU5HOiAgc3Vic2NyaXB0aW9uIHdhcyBjcmVhdGVk LCBidXQgaXMgbm90IGNvbm5lY3RlZAogSElOVDogIFRvIGluaXRpYXRlIHJlcGxpY2F0aW9uLCB5 b3UgbXVzdCBtYW51YWxseSBjcmVhdGUgdGhlIHJlcGxpY2F0aW9uIHNsb3QsIGVuYWJsZSB0aGUg c3Vic2NyaXB0aW9uLCBhbmQgYWx0ZXIgdGhlIHN1YnNjcmlwdGlvbiB0byByZWZyZXNoIHB1Ymxp Y2F0aW9ucy4KIFxkUnMrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Yg c3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAg ICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhh c2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVk IHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJl dGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQg fCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCAgU2tpcCBMU04gIAotLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9u X3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCB0ICAgICAgfCBwYXJhbGxlbCAgfCBkICAg ICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAg ICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAg ICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAwLzAwMDAwMDAwCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMK KyAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8 IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERp c2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25l cj8gfCBGYWlsb3ZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRp b24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29u bmluZm8gICAgICAgICAgIHwgIFNraXAgTFNOICB8IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiAK Ky0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KyByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8 IHt0ZXN0cHVifSAgIHwgdCAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYg ICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAg ICAgfCBmICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAg IDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jl c3NfZG9lc25vdGV4aXN0IHwgMC8wMDAwMDAwMCB8IGxvZwogKDEgcm93KQogCiBBTFRFUiBTVUJT Q1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAoYmluYXJ5ID0gZmFsc2UpOwogQUxURVIgU1VC U0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKHNsb3RfbmFtZSA9IE5PTkUpOwogXGRScysK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0g ICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQ dWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNh YmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/ IHwgRmFpbG92ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9u IHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5p bmZvICAgICAgICAgICB8ICBTa2lwIExTTiAgCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ci0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAg fCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBm ICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAg ICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdy ZXNzX2RvZXNub3RleGlzdCB8IDAvMDAwMDAwMDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFtZSAgICAg ICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBC aW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8 IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwg UmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBh Y3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAg fCAgU2tpcCBMU04gIHwgQ29uZmxpY3QgbG9nIGRlc3RpbmF0aW9uIAorLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0t LS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1 YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBm ICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8 IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwg ZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAg ICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3Qg fCAwLzAwMDAwMDAwIHwgbG9nCiAoMSByb3cpCiAKIERST1AgU1VCU0NSSVBUSU9OIHJlZ3Jlc3Nf dGVzdHN1YjsKQEAgLTI3OSwyNyArMjc5LDI3IEBAIENSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVz c190ZXN0c3ViIENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCCiBX QVJOSU5HOiAgc3Vic2NyaXB0aW9uIHdhcyBjcmVhdGVkLCBidXQgaXMgbm90IGNvbm5lY3RlZAog SElOVDogIFRvIGluaXRpYXRlIHJlcGxpY2F0aW9uLCB5b3UgbXVzdCBtYW51YWxseSBjcmVhdGUg dGhlIHJlcGxpY2F0aW9uIHNsb3QsIGVuYWJsZSB0aGUgc3Vic2NyaXB0aW9uLCBhbmQgYWx0ZXIg dGhlIHN1YnNjcmlwdGlvbiB0byByZWZyZXNoIHB1YmxpY2F0aW9ucy4KIFxkUnMrCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAgTmFt ZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRp b24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBl cnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxv dmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVu dGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAg ICAgICAgfCAgU2tpcCBMU04gIAotLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQotIHJlZ3Jl c3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3Rw dWJ9ICAgfCBmICAgICAgfCBvbiAgICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAg ICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYg ICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYg ICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vz bm90ZXhpc3QgfCAwLzAwMDAwMDAwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAg ICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwg U3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4g fCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFJldGFpbiBk ZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwg U3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgIFNraXAg TFNOICB8IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSst LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RzdWIgfCByZWdy ZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwg b24gICAgICAgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAg fCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAg ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwg b2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8wMDAw MDAwMCB8IGxvZwogKDEgcm93KQogCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3Vi IFNFVCAoc3RyZWFtaW5nID0gcGFyYWxsZWwpOwogXGRScysKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAg ICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8 IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2lu IHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBSZXRhaW4g ZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8 IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8ICBTa2lw IExTTiAgCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwg cmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAg ICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55 ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCBmICAg ICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAg ICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IDAv MDAwMDAwMDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExp c3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAg ICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBU d28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJl cXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwg TWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBj b21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCAgU2tpcCBMU04gIHwgQ29uZmxp Y3QgbG9nIGRlc3RpbmF0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0 aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBk ICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAg ICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAg ICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAwLzAwMDAwMDAwIHwgbG9nCiAo MSByb3cpCiAKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChzdHJlYW1p bmcgPSBmYWxzZSk7CiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAoc2xv dF9uYW1lID0gTk9ORSk7CiBcZFJzKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBM aXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIg ICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwg VHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCBy ZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8 IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMg Y29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgIFNraXAgTFNOICAKLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0t LS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNj cmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgb2ZmICAgICAg IHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAg ICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICAgICAgICAg ICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAg ICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8wMDAwMDAwMAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3Jp cHRpb25zCisgICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVu YWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21t aXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4g YXMgb3duZXI/IHwgRmFpbG92ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9u IGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAg ICAgIENvbm5pbmZvICAgICAgICAgICB8ICBTa2lwIExTTiAgfCBDb25mbGljdCBsb2cgZGVzdGlu YXRpb24gCistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYg ICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IG9mZiAgICAgICB8IGQgICAgICAgICAgICAg ICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAg ICAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFt ZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IDAvMDAwMDAwMDAgfCBsb2cKICgxIHJvdykKIAogLS0g ZmFpbCAtIHB1YmxpY2F0aW9uIGFscmVhZHkgZXhpc3RzCkBAIC0zMTQsMTAgKzMxNCwxMCBAQCBB TFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIEFERCBQVUJMSUNBVElPTiB0ZXN0cHVi MSwgdGVzdHB1YjIgV0lUSCAocmVmcgogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1 YiBBREQgUFVCTElDQVRJT04gdGVzdHB1YjEsIHRlc3RwdWIyIFdJVEggKHJlZnJlc2ggPSBmYWxz ZSk7CiBFUlJPUjogIHB1YmxpY2F0aW9uICJ0ZXN0cHViMSIgaXMgYWxyZWFkeSBpbiBzdWJzY3Jp cHRpb24gInJlZ3Jlc3NfdGVzdHN1YiIKIFxkUnMrCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwg ICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCAgICAgICAgIFB1YmxpY2F0aW9u ICAgICAgICAgfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJs ZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8 IEZhaWxvdmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8 IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5m byAgICAgICAgICAgfCAgU2tpcCBMU04gIAotLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91 c2VyIHwgZiAgICAgICB8IHt0ZXN0cHViLHRlc3RwdWIxLHRlc3RwdWIyfSB8IGYgICAgICB8IG9m ZiAgICAgICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwg dCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9m ZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IDAvMDAwMDAw MDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TGlzdCBvZiBzdWJzY3JpcHRpb25zCisgICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVy ICAgICAgICAgICB8IEVuYWJsZWQgfCAgICAgICAgIFB1YmxpY2F0aW9uICAgICAgICAgfCBCaW5h cnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9y aWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgUmV0 YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3Rp dmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCAg U2tpcCBMU04gIHwgQ29uZmxpY3QgbG9nIGRlc3RpbmF0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBy ZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0 ZXN0cHViLHRlc3RwdWIxLHRlc3RwdWIyfSB8IGYgICAgICB8IG9mZiAgICAgICB8IGQgICAgICAg ICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAg fCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8 IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IDAvMDAwMDAwMDAgfCBsb2cKICgxIHJvdykK IAogLS0gZmFpbCAtIHB1YmxpY2F0aW9uIHVzZWQgbW9yZSB0aGFuIG9uY2UKQEAgLTMzMiwxMCAr MzMyLDEwIEBAIEVSUk9SOiAgcHVibGljYXRpb24gInRlc3RwdWIzIiBpcyBub3QgaW4gc3Vic2Ny aXB0aW9uICJyZWdyZXNzX3Rlc3RzdWIiCiAtLSBvayAtIGRlbGV0ZSBwdWJsaWNhdGlvbnMKIEFM VEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgRFJPUCBQVUJMSUNBVElPTiB0ZXN0cHVi MSwgdGVzdHB1YjIgV0lUSCAocmVmcmVzaCA9IGZhbHNlKTsKIFxkUnMrCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAg ICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBC aW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8 IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwg UmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBh Y3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAg fCAgU2tpcCBMU04gIAotLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVz dHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAg fCBmICAgICAgfCBvZmYgICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAg ICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAg IHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAg ICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhp c3QgfCAwLzAwMDAwMDAwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAg T3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFt aW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNz d29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFJldGFpbiBkZWFkIHR1 cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hy b25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgIFNraXAgTFNOICB8 IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1 YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgb2ZmICAg ICAgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAg ICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICAgICAg ICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAg ICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8wMDAwMDAwMCB8 IGxvZwogKDEgcm93KQogCiBEUk9QIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWI7CkBAIC0z NzEsMTkgKzM3MSwxOSBAQCBDUkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBDT05O RUNUSU9OICdkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QnIFBVQgogV0FSTklORzogIHN1YnNj cmlwdGlvbiB3YXMgY3JlYXRlZCwgYnV0IGlzIG5vdCBjb25uZWN0ZWQKIEhJTlQ6ICBUbyBpbml0 aWF0ZSByZXBsaWNhdGlvbiwgeW91IG11c3QgbWFudWFsbHkgY3JlYXRlIHRoZSByZXBsaWNhdGlv biBzbG90LCBlbmFibGUgdGhlIHN1YnNjcmlwdGlvbiwgYW5kIGFsdGVyIHRoZSBzdWJzY3JpcHRp b24gdG8gcmVmcmVzaCBwdWJsaWNhdGlvbnMuCiBcZFJzKwotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAgICAg ICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwg U3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4g fCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFJldGFpbiBk ZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwg U3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgIFNraXAg TFNOICAKLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCBy ZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAg IHwgcGFyYWxsZWwgIHwgcCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkg ICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8IGYgICAg ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAg IHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8w MDAwMDAwMAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlz dCBvZiBzdWJzY3JpcHRpb25zCisgICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAg ICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3 by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVx dWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBN YXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNv bW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8ICBTa2lwIExTTiAgfCBDb25mbGlj dCBsb2cgZGVzdGluYXRpb24gCistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRp b25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8IHAg ICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAg ICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAg ICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IDAvMDAwMDAwMDAgfCBsb2cKICgx IHJvdykKIAogLS0gd2UgY2FuIGFsdGVyIHN0cmVhbWluZyB3aGVuIHR3b19waGFzZSBlbmFibGVk CiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAoc3RyZWFtaW5nID0gdHJ1 ZSk7CiBcZFJzKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNj cmlwdGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwg RW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNv bW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1 biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRp b24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAg ICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgIFNraXAgTFNOICAKLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0t LS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2Vy IHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgb24gICAgICAgIHwgcCAgICAgICAg ICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8 IGYgICAgICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAg ICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwg ZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8wMDAwMDAwMAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCisgICAg ICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJs aWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxl IG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwg RmFpbG92ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwg UmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZv ICAgICAgICAgICB8ICBTa2lwIExTTiAgfCBDb25mbGljdCBsb2cgZGVzdGluYXRpb24gCistLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgcmVn cmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVz dHB1Yn0gICB8IGYgICAgICB8IG9uICAgICAgICB8IHAgICAgICAgICAgICAgICAgfCBmICAgICAg ICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwg ZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwg ZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2Rv ZXNub3RleGlzdCB8IDAvMDAwMDAwMDAgfCBsb2cKICgxIHJvdykKIAogQUxURVIgU1VCU0NSSVBU SU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKHNsb3RfbmFtZSA9IE5PTkUpOwpAQCAtMzkzLDEwICsz OTMsMTAgQEAgQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgQ09OTkVDVElPTiAn ZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0JyBQVUIKIFdBUk5JTkc6ICBzdWJzY3JpcHRpb24g d2FzIGNyZWF0ZWQsIGJ1dCBpcyBub3QgY29ubmVjdGVkCiBISU5UOiAgVG8gaW5pdGlhdGUgcmVw bGljYXRpb24sIHlvdSBtdXN0IG1hbnVhbGx5IGNyZWF0ZSB0aGUgcmVwbGljYXRpb24gc2xvdCwg ZW5hYmxlIHRoZSBzdWJzY3JpcHRpb24sIGFuZCBhbHRlciB0aGUgc3Vic2NyaXB0aW9uIHRvIHJl ZnJlc2ggcHVibGljYXRpb25zLgogXGRScysKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93 bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWlu ZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dv cmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBSZXRhaW4gZGVhZCB0dXBs ZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9u b3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8ICBTa2lwIExTTiAgCi0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19z dWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IG9uICAg ICAgICB8IHAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAg ICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAg ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAg ICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IDAvMDAwMDAwMDAK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vi c2NyaXB0aW9ucworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAg fCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2Ug Y29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwg UnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVu dGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAg ICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCAgU2tpcCBMU04gIHwgQ29uZmxpY3QgbG9nIGRl c3RpbmF0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIg fCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBvbiAgICAgICAgfCBwICAgICAgICAg ICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwg ZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBk Ym5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAwLzAwMDAwMDAwIHwgbG9nCiAoMSByb3cpCiAK IEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChzbG90X25hbWUgPSBOT05F KTsKQEAgLTQwOSwxOCArNDA5LDE4IEBAIENSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0 c3ViIENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCCiBXQVJOSU5H OiAgc3Vic2NyaXB0aW9uIHdhcyBjcmVhdGVkLCBidXQgaXMgbm90IGNvbm5lY3RlZAogSElOVDog IFRvIGluaXRpYXRlIHJlcGxpY2F0aW9uLCB5b3UgbXVzdCBtYW51YWxseSBjcmVhdGUgdGhlIHJl cGxpY2F0aW9uIHNsb3QsIGVuYWJsZSB0aGUgc3Vic2NyaXB0aW9uLCBhbmQgYWx0ZXIgdGhlIHN1 YnNjcmlwdGlvbiB0byByZWZyZXNoIHB1YmxpY2F0aW9ucy4KIFxkUnMrCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAg ICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBC aW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8 IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwg UmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBh Y3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAg fCAgU2tpcCBMU04gIAotLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVz dHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAg fCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAg ICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAg IHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAg ICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhp c3QgfCAwLzAwMDAwMDAwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAg T3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFt aW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNz d29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFJldGFpbiBkZWFkIHR1 cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hy b25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgIFNraXAgTFNOICB8 IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1 YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgcGFyYWxs ZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAg ICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICAgICAg ICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAg ICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8wMDAwMDAwMCB8 IGxvZwogKDEgcm93KQogCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAo ZGlzYWJsZV9vbl9lcnJvciA9IHRydWUpOwogXGRScysKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAg ICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0 cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwg UGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBSZXRhaW4gZGVh ZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5 bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8ICBTa2lwIExT TiAgCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVn cmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8 IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgIHwgYW55ICAg IHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAg ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8 IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IDAvMDAw MDAwMDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qg b2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAg ICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28t cGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVp cmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4 IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21t aXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCAgU2tpcCBMU04gIHwgQ29uZmxpY3Qg bG9nIGRlc3RpbmF0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9u X3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAg ICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAg ICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAg ICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAwLzAwMDAwMDAwIHwgbG9nCiAoMSBy b3cpCiAKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChzbG90X25hbWUg PSBOT05FKTsKQEAgLTQzMywxMCArNDMzLDEwIEBAIENSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVz c190ZXN0c3ViIENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCCiBX QVJOSU5HOiAgc3Vic2NyaXB0aW9uIHdhcyBjcmVhdGVkLCBidXQgaXMgbm90IGNvbm5lY3RlZAog SElOVDogIFRvIGluaXRpYXRlIHJlcGxpY2F0aW9uLCB5b3UgbXVzdCBtYW51YWxseSBjcmVhdGUg dGhlIHJlcGxpY2F0aW9uIHNsb3QsIGVuYWJsZSB0aGUgc3Vic2NyaXB0aW9uLCBhbmQgYWx0ZXIg dGhlIHN1YnNjcmlwdGlvbiB0byByZWZyZXNoIHB1YmxpY2F0aW9ucy4KIFxkUnMrCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAgTmFt ZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRp b24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBl cnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxv dmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVu dGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAg ICAgICAgfCAgU2tpcCBMU04gIAotLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQotIHJlZ3Jl c3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3Rw dWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAg ICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYg ICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYg ICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vz bm90ZXhpc3QgfCAwLzAwMDAwMDAwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAg ICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwg U3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4g fCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFJldGFpbiBk ZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwg U3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgIFNraXAg TFNOICB8IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSst LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RzdWIgfCByZWdy ZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwg cGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAg fCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAg ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwg b2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8wMDAw MDAwMCB8IGxvZwogKDEgcm93KQogCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3Vi IFNFVCAoc2xvdF9uYW1lID0gTk9ORSk7CkBAIC00NTAsMTkgKzQ1MCwxOSBAQCBOT1RJQ0U6ICBt YXhfcmV0ZW50aW9uX2R1cmF0aW9uIGlzIGluZWZmZWN0aXZlIHdoZW4gcmV0YWluX2RlYWRfdHVw bGVzIGlzIGRpc2FibAogV0FSTklORzogIHN1YnNjcmlwdGlvbiB3YXMgY3JlYXRlZCwgYnV0IGlz IG5vdCBjb25uZWN0ZWQKIEhJTlQ6ICBUbyBpbml0aWF0ZSByZXBsaWNhdGlvbiwgeW91IG11c3Qg bWFudWFsbHkgY3JlYXRlIHRoZSByZXBsaWNhdGlvbiBzbG90LCBlbmFibGUgdGhlIHN1YnNjcmlw dGlvbiwgYW5kIGFsdGVyIHRoZSBzdWJzY3JpcHRpb24gdG8gcmVmcmVzaCBwdWJsaWNhdGlvbnMu CiBcZFJzKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlw dGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5h YmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1p dCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBh cyBvd25lcj8gfCBGYWlsb3ZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24g ZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAg ICAgQ29ubmluZm8gICAgICAgICAgIHwgIFNraXAgTFNOICAKLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0t LSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwg ZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAg ICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYg ICAgICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgIDEwMDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJu YW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8wMDAwMDAwMAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCisgICAgICBO YW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNh dGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9u IGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFp bG92ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0 ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAg ICAgICAgICB8ICBTa2lwIExTTiAgfCBDb25mbGljdCBsb2cgZGVzdGluYXRpb24gCistLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgcmVncmVz c190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1 Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAg ICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAg ICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAxMDAwIHwgZiAg ICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNu b3RleGlzdCB8IDAvMDAwMDAwMDAgfCBsb2cKICgxIHJvdykKIAogLS0gb2sKIEFMVEVSIFNVQlND UklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChtYXhfcmV0ZW50aW9uX2R1cmF0aW9uID0gMCk7 CiBcZFJzKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlw dGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5h YmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1p dCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBh cyBvd25lcj8gfCBGYWlsb3ZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24g ZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAg ICAgQ29ubmluZm8gICAgICAgICAgIHwgIFNraXAgTFNOICAKLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0t LSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwg ZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAg ICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYg ICAgICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJu YW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8wMDAwMDAwMAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCisgICAgICBO YW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNh dGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9u IGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFp bG92ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0 ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAg ICAgICAgICB8ICBTa2lwIExTTiAgfCBDb25mbGljdCBsb2cgZGVzdGluYXRpb24gCistLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgcmVncmVz c190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1 Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAg ICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAg ICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAg ICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNu b3RleGlzdCB8IDAvMDAwMDAwMDAgfCBsb2cKICgxIHJvdykKIAogQUxURVIgU1VCU0NSSVBUSU9O IHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKHNsb3RfbmFtZSA9IE5PTkUpOwpAQCAtNTE3LDcgKzUxNywx NjcgQEAgQ09NTUlUOwogLS0gb2ssIG93bmluZyBpdCBpcyBlbm91Z2ggZm9yIHRoaXMgc3R1ZmYK IEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChzbG90X25hbWUgPSBOT05F KTsKIERST1AgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YjsKKy0tCistLSBDT05GTElDVCBM T0cgREVTVElOQVRJT04gVEVTVFMKKy0tCitTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OICdyZWdy ZXNzX3N1YnNjcmlwdGlvbl91c2VyJzsKKy0tIGZhaWwgLSB1bnJlY29nbml6ZWQgcGFyYW1ldGVy IHZhbHVlCitDUkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3RfZmFpbCBDT05ORUNU SU9OICdkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QnIFBVQkxJQ0FUSU9OIHRlc3RwdWIgV0lU SCAoY29ubmVjdCA9IGZhbHNlLCBjb25mbGljdF9sb2dfZGVzdGluYXRpb24gPSAnaW52YWxpZCcp OworRVJST1I6ICB1bnJlY29nbml6ZWQgY29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uIHZhbHVlOiAi aW52YWxpZCIKK0hJTlQ6ICBWYWxpZCB2YWx1ZXMgYXJlICJsb2ciLCAidGFibGUiLCBhbmQgImFs bCIuCistLSB2ZXJpZnkgc3ViY29uZmxpY3Rsb2dkZXN0IGlzICdsb2cnIGFuZCByZWxpZCBpcyAw IChJbnZhbGlkT2lkKSBmb3IgZGVmYXVsdCBjYXNlCitDUkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jl c3NfY29uZmxpY3RfbG9nX2RlZmF1bHQgQ09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25v dGV4aXN0JyBQVUJMSUNBVElPTiB0ZXN0cHViIFdJVEggKGNvbm5lY3QgPSBmYWxzZSk7CitXQVJO SU5HOiAgc3Vic2NyaXB0aW9uIHdhcyBjcmVhdGVkLCBidXQgaXMgbm90IGNvbm5lY3RlZAorSElO VDogIFRvIGluaXRpYXRlIHJlcGxpY2F0aW9uLCB5b3UgbXVzdCBtYW51YWxseSBjcmVhdGUgdGhl IHJlcGxpY2F0aW9uIHNsb3QsIGVuYWJsZSB0aGUgc3Vic2NyaXB0aW9uLCBhbmQgYWx0ZXIgdGhl IHN1YnNjcmlwdGlvbiB0byByZWZyZXNoIHB1YmxpY2F0aW9ucy4KK1NFTEVDVCBzdWJuYW1lLCBz dWJjb25mbGljdGxvZ2Rlc3QsIHN1YmNvbmZsaWN0bG9ncmVsaWQKK0ZST00gcGdfc3Vic2NyaXB0 aW9uIFdIRVJFIHN1Ym5hbWUgPSAncmVncmVzc19jb25mbGljdF9sb2dfZGVmYXVsdCc7CisgICAg ICAgICAgIHN1Ym5hbWUgICAgICAgICAgICB8IHN1YmNvbmZsaWN0bG9nZGVzdCB8IHN1YmNvbmZs aWN0bG9ncmVsaWQgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc19jb25mbGljdF9sb2dfZGVm YXVsdCB8IGxvZyAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIDAKKygxIHJvdykK KworLS0gdmVyaWZ5IGVtcHR5IHN0cmluZyBkZWZhdWx0cyB0byAnbG9nJworQ1JFQVRFIFNVQlND UklQVElPTiByZWdyZXNzX2NvbmZsaWN0X2VtcHR5X3N0ciBDT05ORUNUSU9OICdkYm5hbWU9cmVn cmVzc19kb2Vzbm90ZXhpc3QnIFBVQkxJQ0FUSU9OIHRlc3RwdWIgV0lUSCAoY29ubmVjdCA9IGZh bHNlLCBjb25mbGljdF9sb2dfZGVzdGluYXRpb24gPSAnJyk7CitXQVJOSU5HOiAgc3Vic2NyaXB0 aW9uIHdhcyBjcmVhdGVkLCBidXQgaXMgbm90IGNvbm5lY3RlZAorSElOVDogIFRvIGluaXRpYXRl IHJlcGxpY2F0aW9uLCB5b3UgbXVzdCBtYW51YWxseSBjcmVhdGUgdGhlIHJlcGxpY2F0aW9uIHNs b3QsIGVuYWJsZSB0aGUgc3Vic2NyaXB0aW9uLCBhbmQgYWx0ZXIgdGhlIHN1YnNjcmlwdGlvbiB0 byByZWZyZXNoIHB1YmxpY2F0aW9ucy4KK1NFTEVDVCBzdWJuYW1lLCBzdWJjb25mbGljdGxvZ2Rl c3QsIHN1YmNvbmZsaWN0bG9ncmVsaWQKK0ZST00gcGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5h bWUgPSAncmVncmVzc19jb25mbGljdF9lbXB0eV9zdHInOworICAgICAgICAgIHN1Ym5hbWUgICAg ICAgICAgIHwgc3ViY29uZmxpY3Rsb2dkZXN0IHwgc3ViY29uZmxpY3Rsb2dyZWxpZCAKKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisgcmVncmVzc19jb25mbGljdF9lbXB0eV9zdHIgfCBsb2cgICAgICAgICAgICAg ICAgfCAgICAgICAgICAgICAgICAgICAwCisoMSByb3cpCisKKy0tIHRoaXMgc2hvdWxkIGdlbmVy YXRlIGFuIGludGVybmFsIHRhYmxlIG5hbWVkIHBnX2NvbmZsaWN0XyRzdWJpZCQKK0NSRUFURSBT VUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF90ZXN0MSBDT05ORUNUSU9OICdkYm5hbWU9cmVn cmVzc19kb2Vzbm90ZXhpc3QnIFBVQkxJQ0FUSU9OIHRlc3RwdWIgV0lUSCAoY29ubmVjdCA9IGZh bHNlLCBjb25mbGljdF9sb2dfZGVzdGluYXRpb24gPSAndGFibGUnKTsKK1dBUk5JTkc6ICBzdWJz Y3JpcHRpb24gd2FzIGNyZWF0ZWQsIGJ1dCBpcyBub3QgY29ubmVjdGVkCitISU5UOiAgVG8gaW5p dGlhdGUgcmVwbGljYXRpb24sIHlvdSBtdXN0IG1hbnVhbGx5IGNyZWF0ZSB0aGUgcmVwbGljYXRp b24gc2xvdCwgZW5hYmxlIHRoZSBzdWJzY3JpcHRpb24sIGFuZCBhbHRlciB0aGUgc3Vic2NyaXB0 aW9uIHRvIHJlZnJlc2ggcHVibGljYXRpb25zLgorLS0gY2hlY2sgbWV0YWRhdGEgaW4gcGdfc3Vi c2NyaXB0aW9uOiBkZXN0aW5hdGlvbiBzaG91bGQgYmUgJ3RhYmxlJyBhbmQgcmVsaWQgdmFsaWQK K1NFTEVDVCBzdWJuYW1lLCBzdWJjb25mbGljdGxvZ2Rlc3QsIHN1YmNvbmZsaWN0bG9ncmVsaWQg PiAwIEFTIGhhc19yZWxpZAorRlJPTSBwZ19zdWJzY3JpcHRpb24gV0hFUkUgc3VibmFtZSA9ICdy ZWdyZXNzX2NvbmZsaWN0X3Rlc3QxJzsKKyAgICAgICAgc3VibmFtZSAgICAgICAgIHwgc3ViY29u ZmxpY3Rsb2dkZXN0IHwgaGFzX3JlbGlkIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgcmVncmVzc19jb25mbGljdF90ZXN0MSB8IHRh YmxlICAgICAgICAgICAgICB8IHQKKygxIHJvdykKKworLS0gdmVyaWZ5IHRoZSBwaHlzaWNhbCB0 YWJsZSBleGlzdHMgYW5kIGl0cyBPSUQgbWF0Y2hlcyBzdWJjb25mbGljdGxvZ3JlbGlkCitTRUxF Q1QgY291bnQoKikKK0ZST00gcGdfY2xhc3MgYworSk9JTiBwZ19zdWJzY3JpcHRpb24gcyBPTiBj LnJlbG5hbWUgPSAncGdfY29uZmxpY3RfJyB8fCBzLm9pZAorV0hFUkUgcy5zdWJuYW1lID0gJ3Jl Z3Jlc3NfY29uZmxpY3RfdGVzdDEnIEFORCBjLm9pZCA9IHMuc3ViY29uZmxpY3Rsb2dyZWxpZDsK KyBjb3VudCAKKy0tLS0tLS0KKyAgICAgMQorKDEgcm93KQorCistLSBjaGVjayBpZiB0aGUgaW50 ZXJuYWwgdGFibGUgaGFzIHRoZSBjb3JyZWN0IHNjaGVtYSAoMTEgY29sdW1ucykKK1NFTEVDVCBj b3VudCgqKQorRlJPTSBwZ19hdHRyaWJ1dGUgYQorSk9JTiBwZ19jbGFzcyBjIE9OIGEuYXR0cmVs aWQgPSBjLm9pZAorSk9JTiBwZ19zdWJzY3JpcHRpb24gcyBPTiBjLnJlbG5hbWUgPSAncGdfY29u ZmxpY3RfJyB8fCBzLm9pZAorV0hFUkUgcy5zdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3RfdGVz dDEnIEFORCBhLmF0dG51bSA+IDA7CisgY291bnQgCistLS0tLS0tCisgICAgMTEKKygxIHJvdykK KworLS0KKy0tIEFMVEVSIFNVQlNDUklQVElPTiAtIGNvbmZsaWN0X2xvZ19kZXN0aW5hdGlvbiBz dGF0ZSB0cmFuc2l0aW9ucworLS0KKy0tIFRoZXNlIHRlc3RzIHZlcmlmeSB0aGUgdHJhbnNpdGlv biBsb2dpYyBiZXR3ZWVuIGRpZmZlcmVudCBsb2dnaW5nCistLSBkZXN0aW5hdGlvbnMsIGVuc3Vy aW5nIGludGVybmFsIHRhYmxlcyBhcmUgY3JlYXRlZCBvciBkcm9wcGVkIGFzIGV4cGVjdGVkLgor LS0KKy0tIHRyYW5zaXRpb24gZnJvbSAnbG9nJyB0byAnYWxsJworLS0gYSBuZXcgaW50ZXJuYWwg Y29uZmxpY3QgbG9nIHRhYmxlIHNob3VsZCBiZSBjcmVhdGVkCitDUkVBVEUgU1VCU0NSSVBUSU9O IHJlZ3Jlc3NfY29uZmxpY3RfdGVzdDIgQ09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25v dGV4aXN0JyBQVUJMSUNBVElPTiB0ZXN0cHViIFdJVEggKGNvbm5lY3QgPSBmYWxzZSwgY29uZmxp Y3RfbG9nX2Rlc3RpbmF0aW9uID0gJ2xvZycpOworV0FSTklORzogIHN1YnNjcmlwdGlvbiB3YXMg Y3JlYXRlZCwgYnV0IGlzIG5vdCBjb25uZWN0ZWQKK0hJTlQ6ICBUbyBpbml0aWF0ZSByZXBsaWNh dGlvbiwgeW91IG11c3QgbWFudWFsbHkgY3JlYXRlIHRoZSByZXBsaWNhdGlvbiBzbG90LCBlbmFi bGUgdGhlIHN1YnNjcmlwdGlvbiwgYW5kIGFsdGVyIHRoZSBzdWJzY3JpcHRpb24gdG8gcmVmcmVz aCBwdWJsaWNhdGlvbnMuCitBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF90ZXN0 MiBTRVQgKGNvbmZsaWN0X2xvZ19kZXN0aW5hdGlvbiA9ICdhbGwnKTsKKy0tIHZlcmlmeSBtZXRh ZGF0YSBhZnRlciBBTFRFUiAoZGVzdGluYXRpb24gc2hvdWxkIGJlICdhbGwnKQorU0VMRUNUIHN1 Ym5hbWUsIHN1YmNvbmZsaWN0bG9nZGVzdCwgc3ViY29uZmxpY3Rsb2dyZWxpZCA+IDAgQVMgaGFz X3JlbGlkCitGUk9NIHBnX3N1YnNjcmlwdGlvbiBXSEVSRSBzdWJuYW1lID0gJ3JlZ3Jlc3NfY29u ZmxpY3RfdGVzdDInOworICAgICAgICBzdWJuYW1lICAgICAgICAgfCBzdWJjb25mbGljdGxvZ2Rl c3QgfCBoYXNfcmVsaWQgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0KKyByZWdyZXNzX2NvbmZsaWN0X3Rlc3QyIHwgYWxsICAgICAgICAg ICAgICAgIHwgdAorKDEgcm93KQorCistLSB0cmFuc2l0aW9uIGZyb20gJ2FsbCcgdG8gJ3RhYmxl JworLS0gc2hvdWxkIE5PVCBkcm9wIHRoZSB0YWJsZSwgb25seSBjaGFuZ2UgZGVzdGluYXRpb24g c3RyaW5nCitTRUxFQ1Qgc3ViY29uZmxpY3Rsb2dyZWxpZCBBUyBvbGRfcmVsaWQgRlJPTSBwZ19z dWJzY3JpcHRpb24gV0hFUkUgc3VibmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Rlc3QyJyBcZ3Nl dAorQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3RfdGVzdDIgU0VUIChjb25mbGlj dF9sb2dfZGVzdGluYXRpb24gPSAndGFibGUnKTsKK1NFTEVDVCBzdWJjb25mbGljdGxvZ2Rlc3Qs IHN1YmNvbmZsaWN0bG9ncmVsaWQgPSA6b2xkX3JlbGlkIEFTIHJlbGlkX3VuY2hhbmdlZAorRlJP TSBwZ19zdWJzY3JpcHRpb24gV0hFUkUgc3VibmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Rlc3Qy JzsKKyBzdWJjb25mbGljdGxvZ2Rlc3QgfCByZWxpZF91bmNoYW5nZWQgCistLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLQorIHRhYmxlICAgICAgICAgICAgICB8IHQKKygxIHJv dykKKworLS0gdHJhbnNpdGlvbiBmcm9tICd0YWJsZScgdG8gJ2xvZycKKy0tIHNob3VsZCBkcm9w IHRoZSB0YWJsZSBhbmQgY2xlYXIgcmVsaWQKK0FMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX2Nv bmZsaWN0X3Rlc3QyIFNFVCAoY29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uID0gJ2xvZycpOworU0VM RUNUIHN1YmNvbmZsaWN0bG9nZGVzdCwgc3ViY29uZmxpY3Rsb2dyZWxpZAorRlJPTSBwZ19zdWJz Y3JpcHRpb24gV0hFUkUgc3VibmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Rlc3QyJzsKKyBzdWJj b25mbGljdGxvZ2Rlc3QgfCBzdWJjb25mbGljdGxvZ3JlbGlkIAorLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgbG9nICAgICAgICAgICAgICAgIHwgICAgICAgICAg ICAgICAgICAgMAorKDEgcm93KQorCistLSB2ZXJpZnkgdGhlIHBoeXNpY2FsIHRhYmxlIGlzIGdv bmUKK1NFTEVDVCBjb3VudCgqKQorRlJPTSBwZ19jbGFzcyBjCitKT0lOIHBnX3N1YnNjcmlwdGlv biBzIE9OIGMucmVsbmFtZSA9ICdwZ19jb25mbGljdF8nIHx8IHMub2lkCitXSEVSRSBzLnN1Ym5h bWUgPSAncmVncmVzc19jb25mbGljdF90ZXN0Mic7CisgY291bnQgCistLS0tLS0tCisgICAgIDAK KygxIHJvdykKKworLS0gZW5zdXJlIGRyb3AgdGFibGUgbm90IGFsbG93ZWQgYW5kIERST1AgU1VC U0NSSVBUSU9OIHJlYXBzIHRoZSB0YWJsZQorLS0gcmUtZW5hYmxlIHRhYmxlIGxvZ2dpbmcgZm9y IHZlcmlmaWNhdGlvbgorQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3RfdGVzdDEg U0VUIChjb25mbGljdF9sb2dfZGVzdGluYXRpb24gPSAndGFibGUnKTsKKy0tIGZhaWwgLSBkcm9w IHRhYmxlIG5vdCBhbGxvd2VkIGR1ZSB0byBpbnRlcm5hbCBkZXBlbmRlbmN5CistLSB1c2UgRE8g YmxvY2sgdG8gaGlkZSBPSUQgaW4gZXJyb3IgbWVzc2FnZQorRE8gJCQKK0JFR0lOCisgICAgRVhF Q1VURSAnRFJPUCBUQUJMRSAnIHx8IChTRUxFQ1QgJ3BnX2NvbmZsaWN0LnBnX2NvbmZsaWN0Xycg fHwgb2lkIEZST00gcGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5hbWUgPSAncmVncmVzc19jb25m bGljdF90ZXN0MScpOworRVhDRVBUSU9OIFdIRU4gaW5zdWZmaWNpZW50X3ByaXZpbGVnZSBUSEVO CisgICAgUkFJU0UgTk9USUNFICdjYXB0dXJlZCBleHBlY3RlZCBlcnJvcjogaW5zdWZmaWNpZW50 X3ByaXZpbGVnZSc7CitFTkQgJCQ7CitOT1RJQ0U6ICBjYXB0dXJlZCBleHBlY3RlZCBlcnJvcjog aW5zdWZmaWNpZW50X3ByaXZpbGVnZQorLS0gUFVCTElDQVRJT046IFZlcmlmeSBpbnRlcm5hbCB0 YWJsZXMgYXJlIG5vdCBwdWJsaXNoYWJsZQorLS0gcGdfcmVsYXRpb25faXNfcHVibGlzaGFibGUg c2hvdWxkIHJldHVybiBmYWxzZSBmb3IgaW50ZXJuYWwgY29uZmxpY3QgbG9nIHRhYmxlcworU0VM RUNUIHBnX3JlbGF0aW9uX2lzX3B1Ymxpc2hhYmxlKHN1YmNvbmZsaWN0bG9ncmVsaWQpCitGUk9N IHBnX3N1YnNjcmlwdGlvbiBXSEVSRSBzdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3RfdGVzdDEn OworIHBnX3JlbGF0aW9uX2lzX3B1Ymxpc2hhYmxlIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorIGYKKygxIHJvdykKKworLS0gQ0xFQU5VUDogUHJvcGVyIGRyb3AgcmVhcHMgdGhlIHRh YmxlCitBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF90ZXN0MSBESVNBQkxFOwor QUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3RfdGVzdDEgU0VUIChzbG90X25hbWUg PSBOT05FKTsKKy0tIFZlcmlmeSB0aGUgdGFibGUgT0lEIGZvciByZWFwIGNoZWNrCitTRUxFQ1Qg J3BnX2NvbmZsaWN0XycgfHwgb2lkIEFTIGludGVybmFsX3RhYmxlbmFtZSBGUk9NIHBnX3N1YnNj cmlwdGlvbiBXSEVSRSBzdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3RfdGVzdDEnIFxnc2V0CitE Uk9QIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0X3Rlc3QxOworLS0gc2hvdWxkIHJldHVy biBOVUxMLCBtZWFuaW5nIHRoZSBpbnRlcm5hbCB0YWJsZSB3YXMgcmVhcGVkIHZpYSBkZXBlbmRl bmN5CitTRUxFQ1QgdG9fcmVnY2xhc3MoOidpbnRlcm5hbF90YWJsZW5hbWUnKTsKKyB0b19yZWdj bGFzcyAKKy0tLS0tLS0tLS0tLS0KKyAKKygxIHJvdykKKworLS0gQ2xlYW4gdXAgcmVtYWluaW5n IHRlc3Qgc3Vic2NyaXB0aW9uCitBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF9s b2dfZGVmYXVsdCBESVNBQkxFOworQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3Rf bG9nX2RlZmF1bHQgU0VUIChzbG90X25hbWUgPSBOT05FKTsKK0RST1AgU1VCU0NSSVBUSU9OIHJl Z3Jlc3NfY29uZmxpY3RfbG9nX2RlZmF1bHQ7CitBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc19j b25mbGljdF9lbXB0eV9zdHIgRElTQUJMRTsKK0FMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX2Nv bmZsaWN0X2VtcHR5X3N0ciBTRVQgKHNsb3RfbmFtZSA9IE5PTkUpOworRFJPUCBTVUJTQ1JJUFRJ T04gcmVncmVzc19jb25mbGljdF9lbXB0eV9zdHI7CitBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVz c19jb25mbGljdF90ZXN0MiBESVNBQkxFOworQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29u ZmxpY3RfdGVzdDIgU0VUIChzbG90X25hbWUgPSBOT05FKTsKK0RST1AgU1VCU0NSSVBUSU9OIHJl Z3Jlc3NfY29uZmxpY3RfdGVzdDI7CiBSRVNFVCBTRVNTSU9OIEFVVEhPUklaQVRJT047CitEUk9Q IFNDSEVNQSBjbHQ7CitFUlJPUjogIHNjaGVtYSAiY2x0IiBkb2VzIG5vdCBleGlzdAogRFJPUCBS T0xFIHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXI7CiBEUk9QIFJPTEUgcmVncmVzc19zdWJzY3Jp cHRpb25fdXNlcjI7CiBEUk9QIFJPTEUgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlcjM7CmRpZmYg LS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zdWJzY3JpcHRpb24uc3FsIGIvc3JjL3Rlc3Qv cmVncmVzcy9zcWwvc3Vic2NyaXB0aW9uLnNxbAppbmRleCBlZjBjMjk4ZDJkZi4uNmM3ZjM1OGZm ZDIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N1YnNjcmlwdGlvbi5zcWwKKysr IGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3Vic2NyaXB0aW9uLnNxbApAQCAtMzY1LDcgKzM2NSwx MjUgQEAgQ09NTUlUOwogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKHNs b3RfbmFtZSA9IE5PTkUpOwogRFJPUCBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViOwogCist LQorLS0gQ09ORkxJQ1QgTE9HIERFU1RJTkFUSU9OIFRFU1RTCistLQorCitTRVQgU0VTU0lPTiBB VVRIT1JJWkFUSU9OICdyZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyJzsKKworLS0gZmFpbCAtIHVu cmVjb2duaXplZCBwYXJhbWV0ZXIgdmFsdWUKK0NSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc19j b25mbGljdF9mYWlsIENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVC TElDQVRJT04gdGVzdHB1YiBXSVRIIChjb25uZWN0ID0gZmFsc2UsIGNvbmZsaWN0X2xvZ19kZXN0 aW5hdGlvbiA9ICdpbnZhbGlkJyk7CisKKy0tIHZlcmlmeSBzdWJjb25mbGljdGxvZ2Rlc3QgaXMg J2xvZycgYW5kIHJlbGlkIGlzIDAgKEludmFsaWRPaWQpIGZvciBkZWZhdWx0IGNhc2UKK0NSRUFU RSBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF9sb2dfZGVmYXVsdCBDT05ORUNUSU9OICdk Ym5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QnIFBVQkxJQ0FUSU9OIHRlc3RwdWIgV0lUSCAoY29u bmVjdCA9IGZhbHNlKTsKK1NFTEVDVCBzdWJuYW1lLCBzdWJjb25mbGljdGxvZ2Rlc3QsIHN1YmNv bmZsaWN0bG9ncmVsaWQKK0ZST00gcGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5hbWUgPSAncmVn cmVzc19jb25mbGljdF9sb2dfZGVmYXVsdCc7CisKKy0tIHZlcmlmeSBlbXB0eSBzdHJpbmcgZGVm YXVsdHMgdG8gJ2xvZycKK0NSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF9lbXB0 eV9zdHIgQ09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0JyBQVUJMSUNBVElP TiB0ZXN0cHViIFdJVEggKGNvbm5lY3QgPSBmYWxzZSwgY29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9u ID0gJycpOworU0VMRUNUIHN1Ym5hbWUsIHN1YmNvbmZsaWN0bG9nZGVzdCwgc3ViY29uZmxpY3Rs b2dyZWxpZAorRlJPTSBwZ19zdWJzY3JpcHRpb24gV0hFUkUgc3VibmFtZSA9ICdyZWdyZXNzX2Nv bmZsaWN0X2VtcHR5X3N0cic7CisKKy0tIHRoaXMgc2hvdWxkIGdlbmVyYXRlIGFuIGludGVybmFs IHRhYmxlIG5hbWVkIHBnX2NvbmZsaWN0XyRzdWJpZCQKK0NSRUFURSBTVUJTQ1JJUFRJT04gcmVn cmVzc19jb25mbGljdF90ZXN0MSBDT05ORUNUSU9OICdkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhp c3QnIFBVQkxJQ0FUSU9OIHRlc3RwdWIgV0lUSCAoY29ubmVjdCA9IGZhbHNlLCBjb25mbGljdF9s b2dfZGVzdGluYXRpb24gPSAndGFibGUnKTsKKworLS0gY2hlY2sgbWV0YWRhdGEgaW4gcGdfc3Vi c2NyaXB0aW9uOiBkZXN0aW5hdGlvbiBzaG91bGQgYmUgJ3RhYmxlJyBhbmQgcmVsaWQgdmFsaWQK K1NFTEVDVCBzdWJuYW1lLCBzdWJjb25mbGljdGxvZ2Rlc3QsIHN1YmNvbmZsaWN0bG9ncmVsaWQg PiAwIEFTIGhhc19yZWxpZAorRlJPTSBwZ19zdWJzY3JpcHRpb24gV0hFUkUgc3VibmFtZSA9ICdy ZWdyZXNzX2NvbmZsaWN0X3Rlc3QxJzsKKworLS0gdmVyaWZ5IHRoZSBwaHlzaWNhbCB0YWJsZSBl eGlzdHMgYW5kIGl0cyBPSUQgbWF0Y2hlcyBzdWJjb25mbGljdGxvZ3JlbGlkCitTRUxFQ1QgY291 bnQoKikKK0ZST00gcGdfY2xhc3MgYworSk9JTiBwZ19zdWJzY3JpcHRpb24gcyBPTiBjLnJlbG5h bWUgPSAncGdfY29uZmxpY3RfJyB8fCBzLm9pZAorV0hFUkUgcy5zdWJuYW1lID0gJ3JlZ3Jlc3Nf Y29uZmxpY3RfdGVzdDEnIEFORCBjLm9pZCA9IHMuc3ViY29uZmxpY3Rsb2dyZWxpZDsKKworLS0g Y2hlY2sgaWYgdGhlIGludGVybmFsIHRhYmxlIGhhcyB0aGUgY29ycmVjdCBzY2hlbWEgKDExIGNv bHVtbnMpCitTRUxFQ1QgY291bnQoKikKK0ZST00gcGdfYXR0cmlidXRlIGEKK0pPSU4gcGdfY2xh c3MgYyBPTiBhLmF0dHJlbGlkID0gYy5vaWQKK0pPSU4gcGdfc3Vic2NyaXB0aW9uIHMgT04gYy5y ZWxuYW1lID0gJ3BnX2NvbmZsaWN0XycgfHwgcy5vaWQKK1dIRVJFIHMuc3VibmFtZSA9ICdyZWdy ZXNzX2NvbmZsaWN0X3Rlc3QxJyBBTkQgYS5hdHRudW0gPiAwOworCistLQorLS0gQUxURVIgU1VC U0NSSVBUSU9OIC0gY29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uIHN0YXRlIHRyYW5zaXRpb25zCist LQorLS0gVGhlc2UgdGVzdHMgdmVyaWZ5IHRoZSB0cmFuc2l0aW9uIGxvZ2ljIGJldHdlZW4gZGlm ZmVyZW50IGxvZ2dpbmcKKy0tIGRlc3RpbmF0aW9ucywgZW5zdXJpbmcgaW50ZXJuYWwgdGFibGVz IGFyZSBjcmVhdGVkIG9yIGRyb3BwZWQgYXMgZXhwZWN0ZWQuCistLQorCistLSB0cmFuc2l0aW9u IGZyb20gJ2xvZycgdG8gJ2FsbCcKKy0tIGEgbmV3IGludGVybmFsIGNvbmZsaWN0IGxvZyB0YWJs ZSBzaG91bGQgYmUgY3JlYXRlZAorQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0 X3Rlc3QyIENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCTElDQVRJ T04gdGVzdHB1YiBXSVRIIChjb25uZWN0ID0gZmFsc2UsIGNvbmZsaWN0X2xvZ19kZXN0aW5hdGlv biA9ICdsb2cnKTsKK0FMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0X3Rlc3QyIFNF VCAoY29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uID0gJ2FsbCcpOworCistLSB2ZXJpZnkgbWV0YWRh dGEgYWZ0ZXIgQUxURVIgKGRlc3RpbmF0aW9uIHNob3VsZCBiZSAnYWxsJykKK1NFTEVDVCBzdWJu YW1lLCBzdWJjb25mbGljdGxvZ2Rlc3QsIHN1YmNvbmZsaWN0bG9ncmVsaWQgPiAwIEFTIGhhc19y ZWxpZAorRlJPTSBwZ19zdWJzY3JpcHRpb24gV0hFUkUgc3VibmFtZSA9ICdyZWdyZXNzX2NvbmZs aWN0X3Rlc3QyJzsKKworLS0gdHJhbnNpdGlvbiBmcm9tICdhbGwnIHRvICd0YWJsZScKKy0tIHNo b3VsZCBOT1QgZHJvcCB0aGUgdGFibGUsIG9ubHkgY2hhbmdlIGRlc3RpbmF0aW9uIHN0cmluZwor U0VMRUNUIHN1YmNvbmZsaWN0bG9ncmVsaWQgQVMgb2xkX3JlbGlkIEZST00gcGdfc3Vic2NyaXB0 aW9uIFdIRVJFIHN1Ym5hbWUgPSAncmVncmVzc19jb25mbGljdF90ZXN0MicgXGdzZXQKK0FMVEVS IFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0X3Rlc3QyIFNFVCAoY29uZmxpY3RfbG9nX2Rl c3RpbmF0aW9uID0gJ3RhYmxlJyk7CitTRUxFQ1Qgc3ViY29uZmxpY3Rsb2dkZXN0LCBzdWJjb25m bGljdGxvZ3JlbGlkID0gOm9sZF9yZWxpZCBBUyByZWxpZF91bmNoYW5nZWQKK0ZST00gcGdfc3Vi c2NyaXB0aW9uIFdIRVJFIHN1Ym5hbWUgPSAncmVncmVzc19jb25mbGljdF90ZXN0Mic7CisKKy0t IHRyYW5zaXRpb24gZnJvbSAndGFibGUnIHRvICdsb2cnCistLSBzaG91bGQgZHJvcCB0aGUgdGFi bGUgYW5kIGNsZWFyIHJlbGlkCitBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF90 ZXN0MiBTRVQgKGNvbmZsaWN0X2xvZ19kZXN0aW5hdGlvbiA9ICdsb2cnKTsKK1NFTEVDVCBzdWJj b25mbGljdGxvZ2Rlc3QsIHN1YmNvbmZsaWN0bG9ncmVsaWQKK0ZST00gcGdfc3Vic2NyaXB0aW9u IFdIRVJFIHN1Ym5hbWUgPSAncmVncmVzc19jb25mbGljdF90ZXN0Mic7CisKKy0tIHZlcmlmeSB0 aGUgcGh5c2ljYWwgdGFibGUgaXMgZ29uZQorU0VMRUNUIGNvdW50KCopCitGUk9NIHBnX2NsYXNz IGMKK0pPSU4gcGdfc3Vic2NyaXB0aW9uIHMgT04gYy5yZWxuYW1lID0gJ3BnX2NvbmZsaWN0Xycg fHwgcy5vaWQKK1dIRVJFIHMuc3VibmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Rlc3QyJzsKKwor LS0gZW5zdXJlIGRyb3AgdGFibGUgbm90IGFsbG93ZWQgYW5kIERST1AgU1VCU0NSSVBUSU9OIHJl YXBzIHRoZSB0YWJsZQorLS0gcmUtZW5hYmxlIHRhYmxlIGxvZ2dpbmcgZm9yIHZlcmlmaWNhdGlv bgorQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3RfdGVzdDEgU0VUIChjb25mbGlj dF9sb2dfZGVzdGluYXRpb24gPSAndGFibGUnKTsKKworLS0gZmFpbCAtIGRyb3AgdGFibGUgbm90 IGFsbG93ZWQgZHVlIHRvIGludGVybmFsIGRlcGVuZGVuY3kKKy0tIHVzZSBETyBibG9jayB0byBo aWRlIE9JRCBpbiBlcnJvciBtZXNzYWdlCitETyAkJAorQkVHSU4KKyAgICBFWEVDVVRFICdEUk9Q IFRBQkxFICcgfHwgKFNFTEVDVCAncGdfY29uZmxpY3QucGdfY29uZmxpY3RfJyB8fCBvaWQgRlJP TSBwZ19zdWJzY3JpcHRpb24gV0hFUkUgc3VibmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Rlc3Qx Jyk7CitFWENFUFRJT04gV0hFTiBpbnN1ZmZpY2llbnRfcHJpdmlsZWdlIFRIRU4KKyAgICBSQUlT RSBOT1RJQ0UgJ2NhcHR1cmVkIGV4cGVjdGVkIGVycm9yOiBpbnN1ZmZpY2llbnRfcHJpdmlsZWdl JzsKK0VORCAkJDsKKworLS0gUFVCTElDQVRJT046IFZlcmlmeSBpbnRlcm5hbCB0YWJsZXMgYXJl IG5vdCBwdWJsaXNoYWJsZQorLS0gcGdfcmVsYXRpb25faXNfcHVibGlzaGFibGUgc2hvdWxkIHJl dHVybiBmYWxzZSBmb3IgaW50ZXJuYWwgY29uZmxpY3QgbG9nIHRhYmxlcworU0VMRUNUIHBnX3Jl bGF0aW9uX2lzX3B1Ymxpc2hhYmxlKHN1YmNvbmZsaWN0bG9ncmVsaWQpCitGUk9NIHBnX3N1YnNj cmlwdGlvbiBXSEVSRSBzdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3RfdGVzdDEnOworCistLSBD TEVBTlVQOiBQcm9wZXIgZHJvcCByZWFwcyB0aGUgdGFibGUKK0FMVEVSIFNVQlNDUklQVElPTiBy ZWdyZXNzX2NvbmZsaWN0X3Rlc3QxIERJU0FCTEU7CitBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVz c19jb25mbGljdF90ZXN0MSBTRVQgKHNsb3RfbmFtZSA9IE5PTkUpOworCistLSBWZXJpZnkgdGhl IHRhYmxlIE9JRCBmb3IgcmVhcCBjaGVjaworU0VMRUNUICdwZ19jb25mbGljdF8nIHx8IG9pZCBB UyBpbnRlcm5hbF90YWJsZW5hbWUgRlJPTSBwZ19zdWJzY3JpcHRpb24gV0hFUkUgc3VibmFtZSA9 ICdyZWdyZXNzX2NvbmZsaWN0X3Rlc3QxJyBcZ3NldAorCitEUk9QIFNVQlNDUklQVElPTiByZWdy ZXNzX2NvbmZsaWN0X3Rlc3QxOworCistLSBzaG91bGQgcmV0dXJuIE5VTEwsIG1lYW5pbmcgdGhl IGludGVybmFsIHRhYmxlIHdhcyByZWFwZWQgdmlhIGRlcGVuZGVuY3kKK1NFTEVDVCB0b19yZWdj bGFzcyg6J2ludGVybmFsX3RhYmxlbmFtZScpOworCistLSBDbGVhbiB1cCByZW1haW5pbmcgdGVz dCBzdWJzY3JpcHRpb24KK0FMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0X2xvZ19k ZWZhdWx0IERJU0FCTEU7CitBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF9sb2df ZGVmYXVsdCBTRVQgKHNsb3RfbmFtZSA9IE5PTkUpOworRFJPUCBTVUJTQ1JJUFRJT04gcmVncmVz c19jb25mbGljdF9sb2dfZGVmYXVsdDsKKworQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29u ZmxpY3RfZW1wdHlfc3RyIERJU0FCTEU7CitBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25m bGljdF9lbXB0eV9zdHIgU0VUIChzbG90X25hbWUgPSBOT05FKTsKK0RST1AgU1VCU0NSSVBUSU9O IHJlZ3Jlc3NfY29uZmxpY3RfZW1wdHlfc3RyOworCitBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVz c19jb25mbGljdF90ZXN0MiBESVNBQkxFOworQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29u ZmxpY3RfdGVzdDIgU0VUIChzbG90X25hbWUgPSBOT05FKTsKK0RST1AgU1VCU0NSSVBUSU9OIHJl Z3Jlc3NfY29uZmxpY3RfdGVzdDI7CisKIFJFU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTjsKK0RS T1AgU0NIRU1BIGNsdDsKIERST1AgUk9MRSByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyOwogRFJP UCBST0xFIHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIyOwogRFJPUCBST0xFIHJlZ3Jlc3Nfc3Vi c2NyaXB0aW9uX3VzZXIzOwpkaWZmIC0tZ2l0IGEvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZz Lmxpc3QgYi9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdAppbmRleCBiOWU2NzFmY2Rh OC4uN2UyNDEwYmY1NGUgMTAwNjQ0Ci0tLSBhL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5s aXN0CisrKyBiL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CkBAIC01MDAsNiArNTAw LDggQEAgQ29uZGl0aW9uVmFyaWFibGVNaW5pbWFsbHlQYWRkZWQKIENvbmRpdGlvbmFsU3RhY2sK IENvbmZpZ0RhdGEKIENvbmZpZ1ZhcmlhYmxlCitDb25mbGljdExvZ0NvbHVtbkRlZgorQ29uZmxp Y3RMb2dEZXN0CiBDb25mbGljdFR1cGxlSW5mbwogQ29uZmxpY3RUeXBlCiBDb25uQ2FjaGVFbnRy eQotLSAKMi40My4wCgo= --0000000000000fcdda0647a5526c Content-Type: text/x-patch; charset="US-ASCII"; name="v19-0002-Implement-the-conflict-insertion-infrastructure-.patch" Content-Disposition: attachment; filename="v19-0002-Implement-the-conflict-insertion-infrastructure-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mk1aet2x1 RnJvbSBiYTEyOGZmMWRlMGY5OWY2ZjJlZDExM2Q4MjFlMjBiYjZlNzYyYWNmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEaWxpcCBLdW1hciA8ZGlsaXBrdW1hcmJAZ29vZ2xlLmNvbT4K RGF0ZTogU2F0LCAyMCBEZWMgMjAyNSAxNToyMDowOSArMDUzMApTdWJqZWN0OiBbUEFUQ0ggdjE5 IDIvNl0gSW1wbGVtZW50IHRoZSBjb25mbGljdCBpbnNlcnRpb24gaW5mcmFzdHJ1Y3R1cmUgZm9y CiB0aGUgY29uZmxpY3QgbG9nIHRhYmxlCgpUaGlzIHBhdGNoIGludHJvZHVjZXMgdGhlIGNvcmUg bG9naWMgdG8gcG9wdWxhdGUgdGhlIGNvbmZsaWN0IGxvZyB0YWJsZSB3aGVuZXZlcgphIGxvZ2lj YWwgcmVwbGljYXRpb24gY29uZmxpY3QgaXMgZGV0ZWN0ZWQuIEl0IGNhcHR1cmVzIHRoZSByZW1v dGUgdHJhbnNhY3Rpb24KZGV0YWlscyBhbG9uZyB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIGxvY2Fs IHN0YXRlIGF0IHRoZSB0aW1lIG9mIHRoZSBjb25mbGljdC4KCkhhbmRsaW5nIE11bHRpLXJvdyBD b25mbGljdHM6IEEgc2luZ2xlIHJlbW90ZSB0dXBsZSBtYXkgY29uZmxpY3Qgd2l0aCBtdWx0aXBs ZQpsb2NhbCB0dXBsZXMgKGUuZy4sIGluIHRoZSBjYXNlIG9mIG11bHRpcGxlX3VuaXF1ZV9jb25m bGljdHMpLiBUbyBoYW5kbGUgdGhpcywKdGhlIGluZnJhc3RydWN0dXJlIGNyZWF0ZXMgYSBzaW5n bGUgcm93IGluIHRoZSBjb25mbGljdCBsb2cgdGFibGUgZm9yIGVhY2gKcmVtb3RlIHR1cGxlLiBU aGUgZGV0YWlscyBvZiBhbGwgY29uZmxpY3RpbmcgbG9jYWwgcm93cyBhcmUgYWdncmVnYXRlZCBp bnRvIGEKc2luZ2xlIEpTT04gYXJyYXkgaW4gdGhlIGxvY2FsX2NvbmZsaWN0cyBjb2x1bW4uCgpU aGUgSlNPTiBhcnJheSB1c2VzIHRoZSBmb2xsb3dpbmcgc3RydWN0dXJlZCBmb3JtYXQ6ClsgeyAi eGlkIjogIjEwMDEiLCAiY29tbWl0X3RzIjogIjIwMjUtMTItMjUgMTA6MDA6MDArMDU6MzAiLCAi b3JpZ2luIjogIm5vZGVfMSIsCiJrZXkiOiB7ImlkIjogMX0sICJ0dXBsZSI6IHsiaWQiOiAxLCAi dmFsIjogIm9sZF9kYXRhIn0gfSwgLi4uIF0KCkV4YW1wbGUgb2YgcXVlcnlpbmcgdGhlIHN0cnVj dHVyZWQgY29uZmxpY3QgZGF0YToKClNFTEVDVCByZW1vdGVfeGlkLCByZWxuYW1lLCByZW1vdGVf b3JpZ2luLCBsb2NhbF9jb25mbGljdHNbMV0gLT4+ICd4aWQnIEFTIGxvY2FsX3hpZCwKICAgICAg IGxvY2FsX2NvbmZsaWN0c1sxXSAtPj4gJ3R1cGxlJyBBUyBsb2NhbF90dXBsZQpGUk9NIG15c2No ZW1hLmNvbmZsaWN0X2xvZ19oaXN0b3J5MjsKCiByZW1vdGVfeGlkIHwgcmVsbmFtZSAgfCByZW1v dGVfb3JpZ2luIHwgbG9jYWxfeGlkIHwgICAgIGxvY2FsX3R1cGxlCi0tLS0tLS0tLS0tLSstLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0K ICAgICAgICA3NjAgfCB0ZXN0ICAgICB8IHBnXzE2NDA2ICAgICAgfCA3NzEgICAgICAgfCB7ImEi OjEsImIiOjEwfQogICAgICAgIDc2NSB8IGNvbmZfdGFiIHwgcGdfMTY0MDYgICAgICB8IDc3NSAg ICAgICB8IHsiYSI6MiwiYiI6MiwiYyI6Mn0KLS0tCiBzcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9s b2dpY2FsL2NvbmZsaWN0LmMgICB8IDU0OCArKysrKysrKysrKysrKysrKy0tCiBzcmMvYmFja2Vu ZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2xhdW5jaGVyLmMgICB8ICAgMSArCiBzcmMvYmFja2VuZC9y ZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jICAgICB8ICAzMSArLQogc3JjL2luY2x1ZGUvcmVw bGljYXRpb24vY29uZmxpY3QuaCAgICAgICAgICAgfCAgIDQgKy0KIHNyYy9pbmNsdWRlL3JlcGxp Y2F0aW9uL3dvcmtlcl9pbnRlcm5hbC5oICAgIHwgICA3ICsKIHNyYy90ZXN0L3N1YnNjcmlwdGlv bi90LzAzN19jb25mbGljdF9kZXN0LnBsIHwgMTgxICsrKysrKwogNiBmaWxlcyBjaGFuZ2VkLCA3 MjggaW5zZXJ0aW9ucygrKSwgNDQgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3Jj L3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDM3X2NvbmZsaWN0X2Rlc3QucGwKCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2NvbmZsaWN0LmMgYi9zcmMvYmFja2VuZC9y ZXBsaWNhdGlvbi9sb2dpY2FsL2NvbmZsaWN0LmMKaW5kZXggOTMyMjJlZTNiODguLmUyM2ZmMGI3 MGNmIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2NvbmZsaWN0 LmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9jb25mbGljdC5jCkBAIC0x NSwxMyArMTUsMjAgQEAKICNpbmNsdWRlICJwb3N0Z3Jlcy5oIgogCiAjaW5jbHVkZSAiYWNjZXNz L2NvbW1pdF90cy5oIgorI2luY2x1ZGUgImFjY2Vzcy9oZWFwYW0uaCIKICNpbmNsdWRlICJhY2Nl c3MvdGFibGVhbS5oIgorI2luY2x1ZGUgImNvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuaCIKICNp bmNsdWRlICJleGVjdXRvci9leGVjdXRvci5oIgorI2luY2x1ZGUgImZ1bmNhcGkuaCIKICNpbmNs dWRlICJwZ3N0YXQuaCIKICNpbmNsdWRlICJyZXBsaWNhdGlvbi9jb25mbGljdC5oIgogI2luY2x1 ZGUgInJlcGxpY2F0aW9uL3dvcmtlcl9pbnRlcm5hbC5oIgogI2luY2x1ZGUgInN0b3JhZ2UvbG1n ci5oIgorI2luY2x1ZGUgInV0aWxzL2J1aWx0aW5zLmgiCisjaW5jbHVkZSAidXRpbHMvZm1ncm9p ZHMuaCIKICNpbmNsdWRlICJ1dGlscy9sc3lzY2FjaGUuaCIKKyNpbmNsdWRlICJ1dGlscy9wZ19s c24uaCIKKyNpbmNsdWRlICJ1dGlscy9qc29uYi5oIgogCiBzdGF0aWMgY29uc3QgY2hhciAqY29u c3QgQ29uZmxpY3RUeXBlTmFtZXNbXSA9IHsKIAlbQ1RfSU5TRVJUX0VYSVNUU10gPSAiaW5zZXJ0 X2V4aXN0cyIsCkBAIC0zNCw2ICs0MSwxOSBAQCBzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgQ29u ZmxpY3RUeXBlTmFtZXNbXSA9IHsKIAlbQ1RfTVVMVElQTEVfVU5JUVVFX0NPTkZMSUNUU10gPSAi bXVsdGlwbGVfdW5pcXVlX2NvbmZsaWN0cyIKIH07CiAKKy8qIFNjaGVtYSBmb3IgdGhlIGVsZW1l bnRzIHdpdGhpbiB0aGUgJ2xvY2FsX2NvbmZsaWN0cycgSlNPTiBhcnJheSAqLworc3RhdGljIGNv bnN0IENvbmZsaWN0TG9nQ29sdW1uRGVmIExvY2FsQ29uZmxpY3RTY2hlbWFbXSA9Cit7CisJeyAu YXR0bmFtZSA9ICJ4aWQiLCAgICAgICAuYXR0dHlwaWQgPSBYSURPSUQgfSwKKwl7IC5hdHRuYW1l ID0gImNvbW1pdF90cyIsIC5hdHR0eXBpZCA9IFRJTUVTVEFNUFRaT0lEIH0sCisJeyAuYXR0bmFt ZSA9ICJvcmlnaW4iLCAgICAuYXR0dHlwaWQgPSBURVhUT0lEIH0sCisJeyAuYXR0bmFtZSA9ICJr ZXkiLCAgICAgICAuYXR0dHlwaWQgPSBKU09OT0lEIH0sCisJeyAuYXR0bmFtZSA9ICJ0dXBsZSIs ICAgICAuYXR0dHlwaWQgPSBKU09OT0lEIH0KK307CisKKyNkZWZpbmUgTUFYX0xPQ0FMX0NPTkZM SUNUX0lORk9fQVRUUlMgXAorCShzaXplb2YoTG9jYWxDb25mbGljdFNjaGVtYSkgLyBzaXplb2Yo TG9jYWxDb25mbGljdFNjaGVtYVswXSkpCisKIHN0YXRpYyBpbnQJZXJyY29kZV9hcHBseV9jb25m bGljdChDb25mbGljdFR5cGUgdHlwZSk7CiBzdGF0aWMgdm9pZCBlcnJkZXRhaWxfYXBwbHlfY29u ZmxpY3QoRVN0YXRlICplc3RhdGUsCiAJCQkJCQkJCQkgUmVzdWx0UmVsSW5mbyAqcmVsaW5mbywK QEAgLTUwLDggKzcwLDI3IEBAIHN0YXRpYyBjaGFyICpidWlsZF90dXBsZV92YWx1ZV9kZXRhaWxz KEVTdGF0ZSAqZXN0YXRlLCBSZXN1bHRSZWxJbmZvICpyZWxpbmZvLAogCQkJCQkJCQkJICAgVHVw bGVUYWJsZVNsb3QgKmxvY2Fsc2xvdCwKIAkJCQkJCQkJCSAgIFR1cGxlVGFibGVTbG90ICpyZW1v dGVzbG90LAogCQkJCQkJCQkJICAgT2lkIGluZGV4b2lkKTsKK3N0YXRpYyB2b2lkIGJ1aWxkX2lu ZGV4X2RhdHVtc19mcm9tX3Nsb3QoRVN0YXRlICplc3RhdGUsIFJlbGF0aW9uIGxvY2FscmVsLAor CQkJCQkJCQkJCSBUdXBsZVRhYmxlU2xvdCAqc2xvdCwKKwkJCQkJCQkJCQkgUmVsYXRpb24gaW5k ZXhEZXNjLCBEYXR1bSAqdmFsdWVzLAorCQkJCQkJCQkJCSBib29sICppc251bGwpOwogc3RhdGlj IGNoYXIgKmJ1aWxkX2luZGV4X3ZhbHVlX2Rlc2MoRVN0YXRlICplc3RhdGUsIFJlbGF0aW9uIGxv Y2FscmVsLAogCQkJCQkJCQkJVHVwbGVUYWJsZVNsb3QgKnNsb3QsIE9pZCBpbmRleG9pZCk7Citz dGF0aWMgRGF0dW0gdHVwbGVfdGFibGVfc2xvdF90b19qc29uX2RhdHVtKFR1cGxlVGFibGVTbG90 ICpzbG90KTsKK3N0YXRpYyBEYXR1bSB0dXBsZV90YWJsZV9zbG90X3RvX2luZGV4dHVwX2pzb24o RVN0YXRlICplc3RhdGUsCisJCQkJCQkJCQkJCSAgIFJlbGF0aW9uIGxvY2FscmVsLAorCQkJCQkJ CQkJCQkgICBPaWQgcmVwbGljYV9pbmRleCwKKwkJCQkJCQkJCQkJICAgVHVwbGVUYWJsZVNsb3Qg KnNsb3QpOworc3RhdGljIFR1cGxlRGVzYyBidWlsZF9jb25mbGljdF90dXBsZWRlc2Modm9pZCk7 CitzdGF0aWMgRGF0dW0gYnVpbGRfbG9jYWxfY29uZmxpY3RzX2pzb25fYXJyYXkoRVN0YXRlICpl c3RhdGUsIFJlbGF0aW9uIHJlbCwKKwkJCQkJCQkJCQkJICBDb25mbGljdFR5cGUgY29uZmxpY3Rf dHlwZSwKKwkJCQkJCQkJCQkJICBMaXN0ICpjb25mbGljdHR1cGxlcyk7CitzdGF0aWMgdm9pZCBw cmVwYXJlX2NvbmZsaWN0X2xvZ190dXBsZShFU3RhdGUgKmVzdGF0ZSwgUmVsYXRpb24gcmVsLAor CQkJCQkJCQkJICAgUmVsYXRpb24gY29uZmxpY3Rsb2dyZWwsCisJCQkJCQkJCQkgICBDb25mbGlj dFR5cGUgY29uZmxpY3RfdHlwZSwKKwkJCQkJCQkJCSAgIFR1cGxlVGFibGVTbG90ICpzZWFyY2hz bG90LAorCQkJCQkJCQkJICAgTGlzdCAqY29uZmxpY3R0dXBsZXMsCisJCQkJCQkJCQkgICBUdXBs ZVRhYmxlU2xvdCAqcmVtb3Rlc2xvdCk7CiAKIC8qCiAgKiBHZXQgdGhlIHhtaW4gYW5kIGNvbW1p dCB0aW1lc3RhbXAgZGF0YSAob3JpZ2luIGFuZCB0aW1lc3RhbXApIGFzc29jaWF0ZWQKQEAgLTEw NSwzMCArMTQ0LDgzIEBAIFJlcG9ydEFwcGx5Q29uZmxpY3QoRVN0YXRlICplc3RhdGUsIFJlc3Vs dFJlbEluZm8gKnJlbGluZm8sIGludCBlbGV2ZWwsCiAJCQkJCUNvbmZsaWN0VHlwZSB0eXBlLCBU dXBsZVRhYmxlU2xvdCAqc2VhcmNoc2xvdCwKIAkJCQkJVHVwbGVUYWJsZVNsb3QgKnJlbW90ZXNs b3QsIExpc3QgKmNvbmZsaWN0dHVwbGVzKQogewotCVJlbGF0aW9uCWxvY2FscmVsID0gcmVsaW5m by0+cmlfUmVsYXRpb25EZXNjOwotCVN0cmluZ0luZm9EYXRhIGVycl9kZXRhaWw7CisJUmVsYXRp b24JCWxvY2FscmVsID0gcmVsaW5mby0+cmlfUmVsYXRpb25EZXNjOworCUNvbmZsaWN0TG9nRGVz dAlkZXN0OworCVJlbGF0aW9uCQljb25mbGljdGxvZ3JlbDsKIAotCWluaXRTdHJpbmdJbmZvKCZl cnJfZGV0YWlsKTsKKwkvKgorCSAqIEdldCBib3RoIHRoZSBjb25mbGljdCBsb2cgZGVzdGluYXRp b24gYW5kIHRoZSBvcGVuZWQgY29uZmxpY3QgbG9nCisJICogcmVsYXRpb24gZm9yIGluc2VydGlv bi4KKwkgKi8KKwljb25mbGljdGxvZ3JlbCA9IEdldENvbmZsaWN0TG9nVGFibGVJbmZvKCZkZXN0 KTsKIAotCS8qIEZvcm0gZXJyZGV0YWlsIG1lc3NhZ2UgYnkgY29tYmluaW5nIGNvbmZsaWN0aW5n IHR1cGxlcyBpbmZvcm1hdGlvbi4gKi8KLQlmb3JlYWNoX3B0cihDb25mbGljdFR1cGxlSW5mbywg Y29uZmxpY3R0dXBsZSwgY29uZmxpY3R0dXBsZXMpCi0JCWVycmRldGFpbF9hcHBseV9jb25mbGlj dChlc3RhdGUsIHJlbGluZm8sIHR5cGUsIHNlYXJjaHNsb3QsCi0JCQkJCQkJCSBjb25mbGljdHR1 cGxlLT5zbG90LCByZW1vdGVzbG90LAotCQkJCQkJCQkgY29uZmxpY3R0dXBsZS0+aW5kZXhvaWQs Ci0JCQkJCQkJCSBjb25mbGljdHR1cGxlLT54bWluLAotCQkJCQkJCQkgY29uZmxpY3R0dXBsZS0+ b3JpZ2luLAotCQkJCQkJCQkgY29uZmxpY3R0dXBsZS0+dHMsCi0JCQkJCQkJCSAmZXJyX2RldGFp bCk7CisJLyogSW5zZXJ0IHRvIHRhYmxlIGlmIGRlc3RpbmF0aW9uIGlzICd0YWJsZScgb3IgJ2Fs bCcgKi8KKwlpZiAoKGRlc3QgJiBDT05GTElDVF9MT0dfREVTVF9UQUJMRSkgIT0gMCkKKwl7CisJ CUFzc2VydChjb25mbGljdGxvZ3JlbCAhPSBOVUxMKTsKKworCQkvKgorCQkgKiBQcmVwYXJlIHRo ZSBjb25mbGljdCBsb2cgdHVwbGUuIElmIHRoZSBlcnJvciBsZXZlbCBpcyBiZWxvdyBFUlJPUiwK KwkJICogaW5zZXJ0IGl0IGltbWVkaWF0ZWx5LiBPdGhlcndpc2UsIGRlZmVyIHRoZSBpbnNlcnRp b24gdG8gYSBuZXcKKwkJICogdHJhbnNhY3Rpb24gYWZ0ZXIgdGhlIGN1cnJlbnQgb25lIGFib3J0 cywgZW5zdXJpbmcgdGhlIGluc2VydGlvbiBvZgorCQkgKiB0aGUgbG9nIHR1cGxlIGlzIG5vdCBy b2xsZWQgYmFjay4KKwkJICovCisJCXByZXBhcmVfY29uZmxpY3RfbG9nX3R1cGxlKGVzdGF0ZSwK KwkJCQkJCQkJICAgcmVsaW5mby0+cmlfUmVsYXRpb25EZXNjLAorCQkJCQkJCQkgICBjb25mbGlj dGxvZ3JlbCwKKwkJCQkJCQkJICAgdHlwZSwKKwkJCQkJCQkJICAgc2VhcmNoc2xvdCwKKwkJCQkJ CQkJICAgY29uZmxpY3R0dXBsZXMsCisJCQkJCQkJCSAgIHJlbW90ZXNsb3QpOworCQlpZiAoZWxl dmVsIDwgRVJST1IpCisJCQlJbnNlcnRDb25mbGljdExvZ1R1cGxlKGNvbmZsaWN0bG9ncmVsKTsK KworCQl0YWJsZV9jbG9zZShjb25mbGljdGxvZ3JlbCwgUm93RXhjbHVzaXZlTG9jayk7CisJfQog CiAJcGdzdGF0X3JlcG9ydF9zdWJzY3JpcHRpb25fY29uZmxpY3QoTXlTdWJzY3JpcHRpb24tPm9p ZCwgdHlwZSk7CiAKLQllcmVwb3J0KGVsZXZlbCwKLQkJCWVycmNvZGVfYXBwbHlfY29uZmxpY3Qo dHlwZSksCi0JCQllcnJtc2coImNvbmZsaWN0IGRldGVjdGVkIG9uIHJlbGF0aW9uIFwiJXMuJXNc IjogY29uZmxpY3Q9JXMiLAotCQkJCSAgIGdldF9uYW1lc3BhY2VfbmFtZShSZWxhdGlvbkdldE5h bWVzcGFjZShsb2NhbHJlbCkpLAotCQkJCSAgIFJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKGxvY2Fs cmVsKSwKLQkJCQkgICBDb25mbGljdFR5cGVOYW1lc1t0eXBlXSksCi0JCQllcnJkZXRhaWxfaW50 ZXJuYWwoIiVzIiwgZXJyX2RldGFpbC5kYXRhKSk7CisJLyogRGVjaWRlIHdoYXQgZGV0YWlsIHRv IHNob3cgaW4gc2VydmVyIGxvZ3MuICovCisJaWYgKChkZXN0ICYgQ09ORkxJQ1RfTE9HX0RFU1Rf TE9HKSAhPSAwKQorCXsKKwkJU3RyaW5nSW5mb0RhdGEJZXJyX2RldGFpbDsKKworCQlpbml0U3Ry aW5nSW5mbygmZXJyX2RldGFpbCk7CisKKwkJLyogRm9ybSBlcnJkZXRhaWwgbWVzc2FnZSBieSBj b21iaW5pbmcgY29uZmxpY3RpbmcgdHVwbGVzIGluZm9ybWF0aW9uLiAqLworCQlmb3JlYWNoX3B0 cihDb25mbGljdFR1cGxlSW5mbywgY29uZmxpY3R0dXBsZSwgY29uZmxpY3R0dXBsZXMpCisJCQll cnJkZXRhaWxfYXBwbHlfY29uZmxpY3QoZXN0YXRlLCByZWxpbmZvLCB0eXBlLCBzZWFyY2hzbG90 LAorCQkJCQkJCQkJY29uZmxpY3R0dXBsZS0+c2xvdCwgcmVtb3Rlc2xvdCwKKwkJCQkJCQkJCWNv bmZsaWN0dHVwbGUtPmluZGV4b2lkLAorCQkJCQkJCQkJY29uZmxpY3R0dXBsZS0+eG1pbiwKKwkJ CQkJCQkJCWNvbmZsaWN0dHVwbGUtPm9yaWdpbiwKKwkJCQkJCQkJCWNvbmZsaWN0dHVwbGUtPnRz LAorCQkJCQkJCQkJJmVycl9kZXRhaWwpOworCisJCS8qIFN0YW5kYXJkIHJlcG9ydGluZyB3aXRo IGZ1bGwgaW50ZXJuYWwgZGV0YWlscy4gKi8KKwkJZXJlcG9ydChlbGV2ZWwsCisJCQkJZXJyY29k ZV9hcHBseV9jb25mbGljdCh0eXBlKSwKKwkJCQllcnJtc2coImNvbmZsaWN0IGRldGVjdGVkIG9u IHJlbGF0aW9uIFwiJXMuJXNcIjogY29uZmxpY3Q9JXMiLAorCQkJCQkgICBnZXRfbmFtZXNwYWNl X25hbWUoUmVsYXRpb25HZXROYW1lc3BhY2UobG9jYWxyZWwpKSwKKwkJCQkJICAgUmVsYXRpb25H ZXRSZWxhdGlvbk5hbWUobG9jYWxyZWwpLAorCQkJCQkgICBDb25mbGljdFR5cGVOYW1lc1t0eXBl XSksCisJCQkJZXJyZGV0YWlsX2ludGVybmFsKCIlcyIsIGVycl9kZXRhaWwuZGF0YSkpOworCX0K KwllbHNlCisJeworCQkvKgorCQkgKiAndGFibGUnIG9ubHk6IFJlcG9ydCB0aGUgZXJyb3IgbXNn IGJ1dCBvbWl0IHJhdyB0dXBsZSBkYXRhIGZyb20KKwkJICogc2VydmVyIGxvZ3Mgc2luY2UgaXQn cyBhbHJlYWR5IGNhcHR1cmVkIGluIHRoZSBpbnRlcm5hbCB0YWJsZS4KKwkJICovCisJCWVyZXBv cnQoZWxldmVsLAorCQkJCWVycmNvZGVfYXBwbHlfY29uZmxpY3QodHlwZSksCisJCQkJZXJybXNn KCJjb25mbGljdCBkZXRlY3RlZCBvbiByZWxhdGlvbiBcIiVzLiVzXCI6IGNvbmZsaWN0PSVzIiwK KwkJCQkJICAgZ2V0X25hbWVzcGFjZV9uYW1lKFJlbGF0aW9uR2V0TmFtZXNwYWNlKGxvY2FscmVs KSksCisJCQkJCSAgIFJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKGxvY2FscmVsKSwKKwkJCQkJICAg Q29uZmxpY3RUeXBlTmFtZXNbdHlwZV0pLAorCQkJCWVycmRldGFpbCgiQ29uZmxpY3QgZGV0YWls cyBsb2dnZWQgdG8gaW50ZXJuYWwgdGFibGUgd2l0aCBPSUQgJXUuIiwKKwkJCQkJCSAgTXlTdWJz Y3JpcHRpb24tPmNvbmZsaWN0bG9ncmVsaWQpKTsKKwl9CiB9CiAKIC8qCkBAIC0xNjIsNiArMjU0 LDY3IEBAIEluaXRDb25mbGljdEluZGV4ZXMoUmVzdWx0UmVsSW5mbyAqcmVsSW5mbykKIAlyZWxJ bmZvLT5yaV9vbkNvbmZsaWN0QXJiaXRlckluZGV4ZXMgPSB1bmlxdWVJbmRleGVzOwogfQogCisv KgorICogR2V0Q29uZmxpY3RMb2dUYWJsZUluZm8KKyAqCisgKiBGZXRjaGVzIGNvbmZsaWN0IGxv Z2dpbmcgbWV0YWRhdGEgZnJvbSB0aGUgY2FjaGVkIE15U3Vic2NyaXB0aW9uIHBvaW50ZXIuCisg KiBTZXRzIHRoZSBkZXN0aW5hdGlvbiBlbnVtIGluICpsb2dfZGVzdCBhbmQsIGlmIGFwcGxpY2Fi bGUsIG9wZW5zIGFuZAorICogcmV0dXJucyB0aGUgcmVsYXRpb24gaGFuZGxlIGZvciB0aGUgaW50 ZXJuYWwgbG9nIHRhYmxlLgorICovCitSZWxhdGlvbgorR2V0Q29uZmxpY3RMb2dUYWJsZUluZm8o Q29uZmxpY3RMb2dEZXN0ICpsb2dfZGVzdCkKK3sKKwlPaWQJCQljb25mbGljdGxvZ3JlbGlkOwor CVJlbGF0aW9uCWNvbmZsaWN0bG9ncmVsID0gTlVMTDsKKworCS8qCisJICogQ29udmVydCB0aGUg dGV4dCBsb2cgZGVzdGluYXRpb24gdG8gdGhlIGludGVybmFsIGVudW0uICBNeVN1YnNjcmlwdGlv bgorCSAqIGFscmVhZHkgY29udGFpbnMgdGhlIGRhdGEgZnJvbSBwZ19zdWJzY3JpcHRpb24uCisJ ICovCisJKmxvZ19kZXN0ID0gR2V0TG9nRGVzdGluYXRpb24oTXlTdWJzY3JpcHRpb24tPmNvbmZs aWN0bG9nZGVzdCk7CisJY29uZmxpY3Rsb2dyZWxpZCA9IE15U3Vic2NyaXB0aW9uLT5jb25mbGlj dGxvZ3JlbGlkOworCisJLyogSWYgZGVzdGluYXRpb24gaXMgJ2xvZycgb25seSwgbm8gdGFibGUg dG8gb3Blbi4gKi8KKwlpZiAoKmxvZ19kZXN0ID09IENPTkZMSUNUX0xPR19ERVNUX0xPRykKKwkJ cmV0dXJuIE5VTEw7CisKKwlBc3NlcnQoT2lkSXNWYWxpZChjb25mbGljdGxvZ3JlbGlkKSk7CisK Kwljb25mbGljdGxvZ3JlbCA9IHRhYmxlX29wZW4oY29uZmxpY3Rsb2dyZWxpZCwgUm93RXhjbHVz aXZlTG9jayk7CisKKwkvKiBDb25mbGljdCBsb2cgdGFibGUgaXMgZHJvcHBlZCBvciBub3QgYWNj ZXNzaWJsZS4gKi8KKwlpZiAoY29uZmxpY3Rsb2dyZWwgPT0gTlVMTCkKKwkJZXJlcG9ydChXQVJO SU5HLAorCQkJCShlcnJjb2RlKEVSUkNPREVfVU5ERUZJTkVEX1RBQkxFKSwKKwkJCQkgZXJybXNn KCJjb25mbGljdCBsb2cgdGFibGUgd2l0aCBPSUQgJXUgZG9lcyBub3QgZXhpc3QiLAorCQkJCQkJ Y29uZmxpY3Rsb2dyZWxpZCkpKTsKKworCXJldHVybiBjb25mbGljdGxvZ3JlbDsKK30KKworLyoK KyAqIEluc2VydENvbmZsaWN0TG9nVHVwbGUKKyAqCisgKiBJbnNlcnQgY29uZmxpY3QgbG9nIHR1 cGxlIGludG8gdGhlIGNvbmZsaWN0IGxvZyB0YWJsZS4gSXQgdXNlcworICogSEVBUF9JTlNFUlRf Tk9fTE9HSUNBTCB0byBleHBsaWNpdGx5IGJsb2NrIGxvZ2ljYWwgZGVjb2Rpbmcgb2YgdGhlIHR1 cGxlCisgKiBpbnNlcnRlZCBpbnRvIHRoZSBjb25mbGljdCBsb2cgdGFibGUuCisgKi8KK3ZvaWQK K0luc2VydENvbmZsaWN0TG9nVHVwbGUoUmVsYXRpb24gY29uZmxpY3Rsb2dyZWwpCit7CisJaW50 CQkJb3B0aW9ucyA9IEhFQVBfSU5TRVJUX05PX0xPR0lDQUw7CisKKwkvKiBBIHZhbGlkIHR1cGxl IG11c3QgYmUgcHJlcGFyZWQgYW5kIHN0b3JlZCBpbiBNeUxvZ2ljYWxSZXBXb3JrZXIuICovCisJ QXNzZXJ0KE15TG9naWNhbFJlcFdvcmtlci0+Y29uZmxpY3RfbG9nX3R1cGxlICE9IE5VTEwpOwor CisJaGVhcF9pbnNlcnQoY29uZmxpY3Rsb2dyZWwsIE15TG9naWNhbFJlcFdvcmtlci0+Y29uZmxp Y3RfbG9nX3R1cGxlLAorCQkJCUdldEN1cnJlbnRDb21tYW5kSWQodHJ1ZSksIG9wdGlvbnMsIE5V TEwpOworCisJLyogRnJlZSBjb25mbGljdCBsb2cgdHVwbGUuICovCisJaGVhcF9mcmVldHVwbGUo TXlMb2dpY2FsUmVwV29ya2VyLT5jb25mbGljdF9sb2dfdHVwbGUpOworCU15TG9naWNhbFJlcFdv cmtlci0+Y29uZmxpY3RfbG9nX3R1cGxlID0gTlVMTDsKK30KKwogLyoKICAqIEFkZCBTUUxTVEFU RSBlcnJvciBjb2RlIHRvIHRoZSBjdXJyZW50IGNvbmZsaWN0IHJlcG9ydC4KICAqLwpAQCAtNDcy LDYgKzYyNSw0MCBAQCBidWlsZF90dXBsZV92YWx1ZV9kZXRhaWxzKEVTdGF0ZSAqZXN0YXRlLCBS ZXN1bHRSZWxJbmZvICpyZWxpbmZvLAogCXJldHVybiB0dXBsZV92YWx1ZS5kYXRhOwogfQogCisv KgorICogSGVscGVyIGZ1bmN0aW9uIHRvIGV4dHJhY3QgdGhlICJyYXciIGluZGV4IGtleSBEYXR1 bXMgYW5kIHRoZWlyIG51bGwgZmxhZ3MKKyAqIGZyb20gYSBUdXBsZVRhYmxlU2xvdCwgZ2l2ZW4g YW4gYWxyZWFkeSBvcGVuIGluZGV4IGRlc2NyaXB0b3IuCisgKiBUaGlzIGlzIHRoZSByZXVzYWJs ZSBjb3JlIGxvZ2ljLgorICovCitzdGF0aWMgdm9pZAorYnVpbGRfaW5kZXhfZGF0dW1zX2Zyb21f c2xvdChFU3RhdGUgKmVzdGF0ZSwgUmVsYXRpb24gbG9jYWxyZWwsCisJCQkJCQkJIFR1cGxlVGFi bGVTbG90ICpzbG90LAorCQkJCQkJCSBSZWxhdGlvbiBpbmRleERlc2MsIERhdHVtICp2YWx1ZXMs CisJCQkJCQkJIGJvb2wgKmlzbnVsbCkKK3sKKwlUdXBsZVRhYmxlU2xvdCAqdGFibGVzbG90ID0g c2xvdDsKKworCS8qCisJICogSWYgdGhlIHNsb3QgaXMgYSB2aXJ0dWFsIHNsb3QsIGNvcHkgaXQg aW50byBhIGhlYXAgdHVwbGUgc2xvdCBhcworCSAqIEZvcm1JbmRleERhdHVtIG9ubHkgd29ya3Mg d2l0aCBoZWFwIHR1cGxlIHNsb3RzLgorCSAqLworCWlmIChUVFNfSVNfVklSVFVBTChzbG90KSkK Kwl7CisJCS8qIFNsb3QgaXMgY3JlYXRlZCB3aXRoaW4gdGhlIEVTdGF0ZSdzIHR1cGxlIHRhYmxl ICovCisJCXRhYmxlc2xvdCA9IHRhYmxlX3Nsb3RfY3JlYXRlKGxvY2FscmVsLCAmZXN0YXRlLT5l c190dXBsZVRhYmxlKTsKKwkJdGFibGVzbG90ID0gRXhlY0NvcHlTbG90KHRhYmxlc2xvdCwgc2xv dCk7CisJfQorCisJLyoKKwkgKiBJbml0aWFsaXplIGVjeHRfc2NhbnR1cGxlIGZvciBwb3RlbnRp YWwgdXNlIGluIEZvcm1JbmRleERhdHVtCisJICovCisJR2V0UGVyVHVwbGVFeHByQ29udGV4dChl c3RhdGUpLT5lY3h0X3NjYW50dXBsZSA9IHRhYmxlc2xvdDsKKworCS8qIEZvcm0gdGhlIGluZGV4 IGRhdHVtcyAqLworCUZvcm1JbmRleERhdHVtKEJ1aWxkSW5kZXhJbmZvKGluZGV4RGVzYyksIHRh Ymxlc2xvdCwgZXN0YXRlLCB2YWx1ZXMsCisJCQkJICAgaXNudWxsKTsKK30KKwogLyoKICAqIEhl bHBlciBmdW5jdGlvbnMgdG8gY29uc3RydWN0IGEgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIGNvbnRl bnRzIG9mIGFuIGluZGV4CiAgKiBlbnRyeS4gU2VlIEJ1aWxkSW5kZXhWYWx1ZURlc2NyaXB0aW9u IGZvciBkZXRhaWxzLgpAQCAtNDg3LDQxICs2NzQsMzE4IEBAIGJ1aWxkX2luZGV4X3ZhbHVlX2Rl c2MoRVN0YXRlICplc3RhdGUsIFJlbGF0aW9uIGxvY2FscmVsLCBUdXBsZVRhYmxlU2xvdCAqc2xv dCwKIAlSZWxhdGlvbglpbmRleERlc2M7CiAJRGF0dW0JCXZhbHVlc1tJTkRFWF9NQVhfS0VZU107 CiAJYm9vbAkJaXNudWxsW0lOREVYX01BWF9LRVlTXTsKLQlUdXBsZVRhYmxlU2xvdCAqdGFibGVz bG90ID0gc2xvdDsKIAotCWlmICghdGFibGVzbG90KQorCWlmICghc2xvdCkKIAkJcmV0dXJuIE5V TEw7CiAKIAlBc3NlcnQoQ2hlY2tSZWxhdGlvbk9pZExvY2tlZEJ5TWUoaW5kZXhvaWQsIFJvd0V4 Y2x1c2l2ZUxvY2ssIHRydWUpKTsKIAogCWluZGV4RGVzYyA9IGluZGV4X29wZW4oaW5kZXhvaWQs IE5vTG9jayk7CiAKLQkvKgotCSAqIElmIHRoZSBzbG90IGlzIGEgdmlydHVhbCBzbG90LCBjb3B5 IGl0IGludG8gYSBoZWFwIHR1cGxlIHNsb3QgYXMKLQkgKiBGb3JtSW5kZXhEYXR1bSBvbmx5IHdv cmtzIHdpdGggaGVhcCB0dXBsZSBzbG90cy4KLQkgKi8KLQlpZiAoVFRTX0lTX1ZJUlRVQUwoc2xv dCkpCisJYnVpbGRfaW5kZXhfZGF0dW1zX2Zyb21fc2xvdChlc3RhdGUsIGxvY2FscmVsLCBzbG90 LCBpbmRleERlc2MsIHZhbHVlcywKKwkJCQkJCQkJIGlzbnVsbCk7CisKKwlpbmRleF92YWx1ZSA9 IEJ1aWxkSW5kZXhWYWx1ZURlc2NyaXB0aW9uKGluZGV4RGVzYywgdmFsdWVzLCBpc251bGwpOwor CisJaW5kZXhfY2xvc2UoaW5kZXhEZXNjLCBOb0xvY2spOworCisJcmV0dXJuIGluZGV4X3ZhbHVl OworfQorCisvKgorICogdHVwbGVfdGFibGVfc2xvdF90b19qc29uX2RhdHVtCisgKgorICogSGVs cGVyIGZ1bmN0aW9uIHRvIGNvbnZlcnQgYSBUdXBsZVRhYmxlU2xvdCB0byBKc29uYi4KKyAqLwor c3RhdGljIERhdHVtCit0dXBsZV90YWJsZV9zbG90X3RvX2pzb25fZGF0dW0oVHVwbGVUYWJsZVNs b3QgKnNsb3QpCit7CisJSGVhcFR1cGxlCXR1cGxlOworCURhdHVtCQlkYXR1bTsKKwlEYXR1bQkJ anNvbjsKKworCUFzc2VydChzbG90ICE9IE5VTEwpOworCisJdHVwbGUgPSBFeGVjQ29weVNsb3RI ZWFwVHVwbGUoc2xvdCk7CisJZGF0dW0gPSBoZWFwX2NvcHlfdHVwbGVfYXNfZGF0dW0odHVwbGUs IHNsb3QtPnR0c190dXBsZURlc2NyaXB0b3IpOworCisJanNvbiA9IERpcmVjdEZ1bmN0aW9uQ2Fs bDEocm93X3RvX2pzb24sIGRhdHVtKTsKKwloZWFwX2ZyZWV0dXBsZSh0dXBsZSk7CisKKwlyZXR1 cm4ganNvbjsKK30KKworLyoKKyAqIHR1cGxlX3RhYmxlX3Nsb3RfdG9faW5kZXh0dXBfanNvbgor ICoKKyAqIEZldGNoIHJlcGxpY2EgaWRlbnRpdHkga2V5IGZyb20gdGhlIHR1cGxlIHRhYmxlIHNs b3QgYW5kIGNvbnZlcnQgaW50byBhCisgKiBqc29uYiBkYXR1bS4KKyAqLworc3RhdGljIERhdHVt Cit0dXBsZV90YWJsZV9zbG90X3RvX2luZGV4dHVwX2pzb24oRVN0YXRlICplc3RhdGUsIFJlbGF0 aW9uIGxvY2FscmVsLAorCQkJCQkJCQkgIE9pZCBpbmRleGlkLCBUdXBsZVRhYmxlU2xvdCAqc2xv dCkKK3sKKwlSZWxhdGlvbglpbmRleERlc2M7CisJRGF0dW0JCXZhbHVlc1tJTkRFWF9NQVhfS0VZ U107CisJYm9vbAkJaXNudWxsW0lOREVYX01BWF9LRVlTXTsKKwlIZWFwVHVwbGUJdHVwbGU7CisJ VHVwbGVEZXNjCXR1cGRlc2M7CisJRGF0dW0JCWRhdHVtOworCisJQXNzZXJ0KHNsb3QgIT0gTlVM TCk7CisKKwlBc3NlcnQoQ2hlY2tSZWxhdGlvbk9pZExvY2tlZEJ5TWUoaW5kZXhpZCwgUm93RXhj bHVzaXZlTG9jaywgdHJ1ZSkpOworCisJaW5kZXhEZXNjID0gaW5kZXhfb3BlbihpbmRleGlkLCBO b0xvY2spOworCisJYnVpbGRfaW5kZXhfZGF0dW1zX2Zyb21fc2xvdChlc3RhdGUsIGxvY2FscmVs LCBzbG90LCBpbmRleERlc2MsIHZhbHVlcywKKwkJCQkJCQkJIGlzbnVsbCk7CisJdHVwZGVzYyA9 IFJlbGF0aW9uR2V0RGVzY3IoaW5kZXhEZXNjKTsKKworCS8qIEJsZXNzIHRoZSB0dXBkZXNjIHNv IGl0IGNhbiBiZSBsb29rZWQgdXAgYnkgcm93X3RvX2pzb24uICovCisJQmxlc3NUdXBsZURlc2Mo dHVwZGVzYyk7CisKKwkvKiBGb3JtIHRoZSByZXBsaWNhIGlkZW50aXR5IHR1cGxlLiAqLworCXR1 cGxlID0gaGVhcF9mb3JtX3R1cGxlKHR1cGRlc2MsIHZhbHVlcywgaXNudWxsKTsKKwlkYXR1bSA9 IGhlYXBfY29weV90dXBsZV9hc19kYXR1bSh0dXBsZSwgdHVwZGVzYyk7CisKKwlpbmRleF9jbG9z ZShpbmRleERlc2MsIE5vTG9jayk7CisKKwkvKiBDb252ZXJ0IHRvIGEgSlNPTkIgZGF0dW0uICov CisJcmV0dXJuIERpcmVjdEZ1bmN0aW9uQ2FsbDEocm93X3RvX2pzb24sIGRhdHVtKTsKK30KKwor c3RhdGljIFR1cGxlRGVzYworYnVpbGRfY29uZmxpY3RfdHVwbGVkZXNjKHZvaWQpCit7CisJVHVw bGVEZXNjICAgdHVwZGVzYzsKKworCXR1cGRlc2MgPSBDcmVhdGVUZW1wbGF0ZVR1cGxlRGVzYyhN QVhfTE9DQUxfQ09ORkxJQ1RfSU5GT19BVFRSUyk7CisKKwlmb3IgKGludCBpID0gMDsgaSA8IE1B WF9MT0NBTF9DT05GTElDVF9JTkZPX0FUVFJTOyBpKyspCisJCVR1cGxlRGVzY0luaXRFbnRyeSh0 dXBkZXNjLCAoQXR0ck51bWJlcikgKGkgKyAxKSwKKwkJCQkJCSAgIExvY2FsQ29uZmxpY3RTY2hl bWFbaV0uYXR0bmFtZSwKKwkJCQkJCSAgIExvY2FsQ29uZmxpY3RTY2hlbWFbaV0uYXR0dHlwaWQs CisJCQkJCQkgICAtMSwgMCk7CisKKwlCbGVzc1R1cGxlRGVzYyh0dXBkZXNjKTsKKworCXJldHVy biB0dXBkZXNjOworfQorCisvKgorICogQnVpbGRzIHRoZSBsb2NhbCBjb25mbGljdHMgSlNPTkIg YXJyYXkgY29sdW1uIGZyb20gdGhlIGxpc3Qgb2YKKyAqIENvbmZsaWN0VHVwbGVJbmZvIG9iamVj dHMuCisgKgorICogRXhhbXBsZSBvdXRwdXQgc3RydWN0dXJlOgorICogWyB7ICJ4aWQiOiAiMTAw MSIsICJjb21taXRfdHMiOiAiLi4uIiwgIm9yaWdpbiI6ICIuLi4iLCAidHVwbGUiOiB7Li4ufSB9 LCAuLi4gXQorICovCitzdGF0aWMgRGF0dW0KK2J1aWxkX2xvY2FsX2NvbmZsaWN0c19qc29uX2Fy cmF5KEVTdGF0ZSAqZXN0YXRlLCBSZWxhdGlvbiByZWwsCisJCQkJCQkJCSBDb25mbGljdFR5cGUg Y29uZmxpY3RfdHlwZSwKKwkJCQkJCQkJIExpc3QgKmNvbmZsaWN0dHVwbGVzKQoreworCUxpc3RD ZWxsICAgKmxjOworCUxpc3QJICAgKmpzb25fZGF0dW1zID0gTklMOyAvKiBMaXN0IHRvIGhvbGQg dGhlIHJvd190b19qc29uIHJlc3VsdHMgKHR5cGUganNvbikgKi8KKwlEYXR1bQkgICAqanNvbl9k YXR1bV9hcnJheTsKKwlib29sCSAgICpqc29uX251bGxfYXJyYXk7CisJRGF0dW0JCWpzb25fYXJy YXlfZGF0dW07CisJaW50CQkJbnVtX2NvbmZsaWN0czsKKwlpbnQJCQlpOworCWludDE2CQl0eXBs ZW47CisJYm9vbAkJdHlwYnl2YWw7CisJY2hhcgkJdHlwYWxpZ247CisJVHVwbGVEZXNjCXR1cGRl c2M7CisKKwkvKiBCdWlsZCBsb2NhbCBjb25mbGljdHMgdHVwbGUgZGVzY3JpcHRvci4gKi8KKwl0 dXBkZXNjID0gYnVpbGRfY29uZmxpY3RfdHVwbGVkZXNjKCk7CisKKwkvKiBQcm9jZXNzIGxvY2Fs IGNvbmZsaWN0IHR1cGxlIGxpc3QgYW5kIHByZXBhcmUgYW4gYXJyYXkgb2YgSlNPTi4gKi8KKwlm b3JlYWNoX3B0cihDb25mbGljdFR1cGxlSW5mbywgY29uZmxpY3R0dXBsZSwgY29uZmxpY3R0dXBs ZXMpCiAJewotCQl0YWJsZXNsb3QgPSB0YWJsZV9zbG90X2NyZWF0ZShsb2NhbHJlbCwgJmVzdGF0 ZS0+ZXNfdHVwbGVUYWJsZSk7Ci0JCXRhYmxlc2xvdCA9IEV4ZWNDb3B5U2xvdCh0YWJsZXNsb3Qs IHNsb3QpOworCQlEYXR1bQkJdmFsdWVzW01BWF9MT0NBTF9DT05GTElDVF9JTkZPX0FUVFJTXSA9 IHswfTsKKwkJYm9vbAkJbnVsbHNbTUFYX0xPQ0FMX0NPTkZMSUNUX0lORk9fQVRUUlNdID0gezB9 OworCQljaGFyCSAgICpvcmlnaW5fbmFtZSA9IE5VTEw7CisJCUhlYXBUdXBsZQl0dXBsZTsKKwkJ RGF0dW0JCWpzb25fZGF0dW07CisJCWludAkJCWF0dG5vOworCisJCWF0dG5vID0gMDsKKwkJdmFs dWVzW2F0dG5vKytdID0gVHJhbnNhY3Rpb25JZEdldERhdHVtKGNvbmZsaWN0dHVwbGUtPnhtaW4p OworCisJCWlmIChjb25mbGljdHR1cGxlLT50cykKKwkJCXZhbHVlc1thdHRubysrXSA9IFRpbWVz dGFtcFR6R2V0RGF0dW0oY29uZmxpY3R0dXBsZS0+dHMpOworCQllbHNlCisJCQludWxsc1thdHRu bysrXSA9IHRydWU7CisKKwkJaWYgKGNvbmZsaWN0dHVwbGUtPm9yaWdpbiAhPSBJbnZhbGlkUmVw T3JpZ2luSWQpCisJCQlyZXBsb3JpZ2luX2J5X29pZChjb25mbGljdHR1cGxlLT5vcmlnaW4sIHRy dWUsICZvcmlnaW5fbmFtZSk7CisKKwkJLyogU3RvcmUgZW1wdHkgc3RyaW5nIGlmIG9yaWdpbiBu YW1lIGZvciB0aGUgdHVwbGUgaXMgTlVMTC4gKi8KKwkJaWYgKG9yaWdpbl9uYW1lICE9IE5VTEwp CisJCQl2YWx1ZXNbYXR0bm8rK10gPSBDU3RyaW5nR2V0VGV4dERhdHVtKG9yaWdpbl9uYW1lKTsK KwkJZWxzZQorCQkJbnVsbHNbYXR0bm8rK10gPSB0cnVlOworCisJCS8qCisJCSAqIEFkZCB0aGUg Y29uZmxpY3Rpbmcga2V5IHZhbHVlcyBpbiB0aGUgY2FzZSBvZiBhIHVuaXF1ZSBjb25zdHJhaW50 CisJCSAqIHZpb2xhdGlvbi4KKwkJICovCisJCWlmIChjb25mbGljdF90eXBlID09IENUX0lOU0VS VF9FWElTVFMgfHwKKwkJCWNvbmZsaWN0X3R5cGUgPT0gQ1RfVVBEQVRFX0VYSVNUUyB8fAorCQkJ Y29uZmxpY3RfdHlwZSA9PSBDVF9NVUxUSVBMRV9VTklRVUVfQ09ORkxJQ1RTKQorCQl7CisJCQlP aWQJaW5kZXhvaWQgPSBjb25mbGljdHR1cGxlLT5pbmRleG9pZDsKKworCQkJQXNzZXJ0KE9pZElz VmFsaWQoaW5kZXhvaWQpICYmIGNvbmZsaWN0dHVwbGUtPnNsb3QgJiYKKwkJCQkgICBDaGVja1Jl bGF0aW9uT2lkTG9ja2VkQnlNZShpbmRleG9pZCwgUm93RXhjbHVzaXZlTG9jaywKKwkJCQkJCQkJ CQkJICB0cnVlKSk7CisJCQl2YWx1ZXNbYXR0bm8rK10gPQorCQkJCQl0dXBsZV90YWJsZV9zbG90 X3RvX2luZGV4dHVwX2pzb24oZXN0YXRlLCByZWwsCisJCQkJCQkJCQkJCQkJICBpbmRleG9pZCwK KwkJCQkJCQkJCQkJCQkgIGNvbmZsaWN0dHVwbGUtPnNsb3QpOworCQl9CisJCWVsc2UKKwkJCW51 bGxzW2F0dG5vKytdID0gdHJ1ZTsKKworCQkvKiBDb252ZXJ0IGNvbmZsaWN0aW5nIHR1cGxlIHRv IEpTT04gZGF0dW0uICovCisJCWlmIChjb25mbGljdHR1cGxlLT5zbG90KQorCQkJdmFsdWVzW2F0 dG5vXSA9IHR1cGxlX3RhYmxlX3Nsb3RfdG9fanNvbl9kYXR1bShjb25mbGljdHR1cGxlLT5zbG90 KTsKKwkJZWxzZQorCQkJbnVsbHNbYXR0bm9dID0gdHJ1ZTsKKworCQlBc3NlcnQoYXR0bm8gKyAx ID09IE1BWF9MT0NBTF9DT05GTElDVF9JTkZPX0FUVFJTKTsKKworCQl0dXBsZSA9IGhlYXBfZm9y bV90dXBsZSh0dXBkZXNjLCB2YWx1ZXMsIG51bGxzKTsKKworCQlqc29uX2RhdHVtID0gaGVhcF9j b3B5X3R1cGxlX2FzX2RhdHVtKHR1cGxlLCB0dXBkZXNjKTsKKworCQkvKgorCQkgKiBCdWlsZCB0 aGUgaGlnaGVyIGxldmVsIEpTT04gZGF0dW0gaW4gZm9ybWF0IGRlc2NyaWJlZCBpbiBmdW5jdGlv bgorCQkgKiBoZWFkZXIuCisJCSAqLworCQlqc29uX2RhdHVtID0gRGlyZWN0RnVuY3Rpb25DYWxs MShyb3dfdG9fanNvbiwganNvbl9kYXR1bSk7CisKKwkJLyogRG9uZSB3aXRoIHRoZSB0ZW1wb3Jh cnkgdHVwbGUuICovCisJCWhlYXBfZnJlZXR1cGxlKHR1cGxlKTsKKworCQkvKiBBZGQgdG8gdGhl IGFycmF5IGVsZW1lbnQuICovCisJCWpzb25fZGF0dW1zID0gbGFwcGVuZChqc29uX2RhdHVtcywg KHZvaWQgKikganNvbl9kYXR1bSk7CiAJfQogCi0JLyoKLQkgKiBJbml0aWFsaXplIGVjeHRfc2Nh bnR1cGxlIGZvciBwb3RlbnRpYWwgdXNlIGluIEZvcm1JbmRleERhdHVtIHdoZW4KLQkgKiBpbmRl eCBleHByZXNzaW9ucyBhcmUgcHJlc2VudC4KLQkgKi8KLQlHZXRQZXJUdXBsZUV4cHJDb250ZXh0 KGVzdGF0ZSktPmVjeHRfc2NhbnR1cGxlID0gdGFibGVzbG90OworCW51bV9jb25mbGljdHMgPSBs aXN0X2xlbmd0aChqc29uX2RhdHVtcyk7CiAKLQkvKgotCSAqIFRoZSB2YWx1ZXMvbnVsbHMgYXJy YXlzIHBhc3NlZCB0byBCdWlsZEluZGV4VmFsdWVEZXNjcmlwdGlvbiBzaG91bGQgYmUKLQkgKiB0 aGUgcmVzdWx0cyBvZiBGb3JtSW5kZXhEYXR1bSwgd2hpY2ggYXJlIHRoZSAicmF3IiBpbnB1dCB0 byB0aGUgaW5kZXgKLQkgKiBBTS4KLQkgKi8KLQlGb3JtSW5kZXhEYXR1bShCdWlsZEluZGV4SW5m byhpbmRleERlc2MpLCB0YWJsZXNsb3QsIGVzdGF0ZSwgdmFsdWVzLCBpc251bGwpOworCWpzb25f ZGF0dW1fYXJyYXkgPSAoRGF0dW0gKikgcGFsbG9jKG51bV9jb25mbGljdHMgKiBzaXplb2YoRGF0 dW0pKTsKKwlqc29uX251bGxfYXJyYXkgPSAoYm9vbCAqKSBwYWxsb2MwKG51bV9jb25mbGljdHMg KiBzaXplb2YoYm9vbCkpOwogCi0JaW5kZXhfdmFsdWUgPSBCdWlsZEluZGV4VmFsdWVEZXNjcmlw dGlvbihpbmRleERlc2MsIHZhbHVlcywgaXNudWxsKTsKKwlpID0gMDsKKwlmb3JlYWNoKGxjLCBq c29uX2RhdHVtcykKKwl7CisJCWpzb25fZGF0dW1fYXJyYXlbaV0gPSAoRGF0dW0pIGxmaXJzdChs Yyk7CisJCWkrKzsKKwl9CiAKLQlpbmRleF9jbG9zZShpbmRleERlc2MsIE5vTG9jayk7CisJLyog Q29uc3RydWN0IHRoZSBqc29uW10gYXJyYXkgRGF0dW0uICovCisJZ2V0X3R5cGxlbmJ5dmFsYWxp Z24oSlNPTk9JRCwgJnR5cGxlbiwgJnR5cGJ5dmFsLCAmdHlwYWxpZ24pOworCWpzb25fYXJyYXlf ZGF0dW0gPSBQb2ludGVyR2V0RGF0dW0oY29uc3RydWN0X2FycmF5KGpzb25fZGF0dW1fYXJyYXks CisJCQkJCQkJCQkJCQkJICAgbnVtX2NvbmZsaWN0cywKKwkJCQkJCQkJCQkJCQkgICBKU09OT0lE LAorCQkJCQkJCQkJCQkJCSAgIHR5cGxlbiwKKwkJCQkJCQkJCQkJCQkgICB0eXBieXZhbCwKKwkJ CQkJCQkJCQkJCQkgICB0eXBhbGlnbikpOworCXBmcmVlKGpzb25fZGF0dW1fYXJyYXkpOworCXBm cmVlKGpzb25fbnVsbF9hcnJheSk7CisKKwlyZXR1cm4ganNvbl9hcnJheV9kYXR1bTsKK30KIAot CXJldHVybiBpbmRleF92YWx1ZTsKKy8qCisgKiBwcmVwYXJlX2NvbmZsaWN0X2xvZ190dXBsZQor ICoKKyAqIFRoaXMgcm91dGluZSBwcmVwYXJlcyBhIHR1cGxlIGRldGFpbGluZyBhIGNvbmZsaWN0 IGVuY291bnRlcmVkIGR1cmluZworICogbG9naWNhbCByZXBsaWNhdGlvbi4gVGhlIHByZXBhcmVk IHR1cGxlIHdpbGwgYmUgc3RvcmVkIGluCisgKiBNeUxvZ2ljYWxSZXBXb3JrZXItPmNvbmZsaWN0 X2xvZ190dXBsZSB3aGljaCBzaG91bGQgYmUgaW5zZXJ0ZWQgaW50byB0aGUKKyAqIGNvbmZsaWN0 IGxvZyB0YWJsZSBieSBjYWxsaW5nIEluc2VydENvbmZsaWN0TG9nVHVwbGUuCisgKi8KK3N0YXRp YyB2b2lkCitwcmVwYXJlX2NvbmZsaWN0X2xvZ190dXBsZShFU3RhdGUgKmVzdGF0ZSwgUmVsYXRp b24gcmVsLAorCQkJCQkJICAgUmVsYXRpb24gY29uZmxpY3Rsb2dyZWwsCisJCQkJCQkgICBDb25m bGljdFR5cGUgY29uZmxpY3RfdHlwZSwKKwkJCQkJCSAgIFR1cGxlVGFibGVTbG90ICpzZWFyY2hz bG90LAorCQkJCQkJICAgTGlzdCAqY29uZmxpY3R0dXBsZXMsCisJCQkJCQkgICBUdXBsZVRhYmxl U2xvdCAqcmVtb3Rlc2xvdCkKK3sKKwlEYXR1bQkJdmFsdWVzW01BWF9DT05GTElDVF9BVFRSX05V TV0gPSB7MH07CisJYm9vbAkJbnVsbHNbTUFYX0NPTkZMSUNUX0FUVFJfTlVNXSA9IHswfTsKKwlp bnQJCQlhdHRubzsKKwljaGFyCSAgICpyZW1vdGVfb3JpZ2luID0gTlVMTDsKKwlNZW1vcnlDb250 ZXh0CW9sZGN0eDsKKworCUFzc2VydChNeUxvZ2ljYWxSZXBXb3JrZXItPmNvbmZsaWN0X2xvZ190 dXBsZSA9PSBOVUxMKTsKKworCS8qIFBvcHVsYXRlIHRoZSB2YWx1ZXMgYW5kIG51bGxzIGFycmF5 cy4gKi8KKwlhdHRubyA9IDA7CisJdmFsdWVzW2F0dG5vKytdID0gT2JqZWN0SWRHZXREYXR1bShS ZWxhdGlvbkdldFJlbGlkKHJlbCkpOworCisJdmFsdWVzW2F0dG5vKytdID0KKwkJCUNTdHJpbmdH ZXRUZXh0RGF0dW0oZ2V0X25hbWVzcGFjZV9uYW1lKFJlbGF0aW9uR2V0TmFtZXNwYWNlKHJlbCkp KTsKKworCXZhbHVlc1thdHRubysrXSA9IENTdHJpbmdHZXRUZXh0RGF0dW0oUmVsYXRpb25HZXRS ZWxhdGlvbk5hbWUocmVsKSk7CisKKwl2YWx1ZXNbYXR0bm8rK10gPSBDU3RyaW5nR2V0VGV4dERh dHVtKENvbmZsaWN0VHlwZU5hbWVzW2NvbmZsaWN0X3R5cGVdKTsKKworCWlmIChUcmFuc2FjdGlv bklkSXNWYWxpZChyZW1vdGVfeGlkKSkKKwkJdmFsdWVzW2F0dG5vKytdID0gVHJhbnNhY3Rpb25J ZEdldERhdHVtKHJlbW90ZV94aWQpOworCWVsc2UKKwkJbnVsbHNbYXR0bm8rK10gPSB0cnVlOwor CisJdmFsdWVzW2F0dG5vKytdID0gTFNOR2V0RGF0dW0ocmVtb3RlX2ZpbmFsX2xzbik7CisKKwlp ZiAocmVtb3RlX2NvbW1pdF90cyA+IDApCisJCXZhbHVlc1thdHRubysrXSA9IFRpbWVzdGFtcFR6 R2V0RGF0dW0ocmVtb3RlX2NvbW1pdF90cyk7CisJZWxzZQorCQludWxsc1thdHRubysrXSA9IHRy dWU7CisKKwlpZiAocmVwbG9yaWdpbl9zZXNzaW9uX29yaWdpbiAhPSBJbnZhbGlkUmVwT3JpZ2lu SWQpCisJCXJlcGxvcmlnaW5fYnlfb2lkKHJlcGxvcmlnaW5fc2Vzc2lvbl9vcmlnaW4sIHRydWUs ICZyZW1vdGVfb3JpZ2luKTsKKworCWlmIChyZW1vdGVfb3JpZ2luICE9IE5VTEwpCisJCXZhbHVl c1thdHRubysrXSA9IENTdHJpbmdHZXRUZXh0RGF0dW0ocmVtb3RlX29yaWdpbik7CisJZWxzZQor CQludWxsc1thdHRubysrXSA9IHRydWU7CisKKwlpZiAoIVR1cElzTnVsbChzZWFyY2hzbG90KSkK Kwl7CisJCU9pZAkJcmVwbGljYV9pbmRleCA9IEdldFJlbGF0aW9uSWRlbnRpdHlPclBLKHJlbCk7 CisKKwkJLyoKKwkJICogSWYgdGhlIHRhYmxlIGhhcyBhIHZhbGlkIHJlcGxpY2EgaWRlbnRpdHkg aW5kZXgsIGJ1aWxkIHRoZSBpbmRleAorCQkgKiBqc29uIGRhdHVtIGZyb20ga2V5IHZhbHVlLiBP dGhlcndpc2UsIGNvbnN0cnVjdCBpdCBmcm9tIHRoZSBjb21wbGV0ZQorCQkgKiB0dXBsZSBpbiBS RVBMSUNBIElERU5USVRZIEZVTEwgY2FzZXMuCisJCSAqLworCQlpZiAoT2lkSXNWYWxpZChyZXBs aWNhX2luZGV4KSkKKwkJCXZhbHVlc1thdHRubysrXSA9IHR1cGxlX3RhYmxlX3Nsb3RfdG9faW5k ZXh0dXBfanNvbihlc3RhdGUsIHJlbCwKKwkJCQkJCQkJCQkJCQkJCQlyZXBsaWNhX2luZGV4LAor CQkJCQkJCQkJCQkJCQkJCXNlYXJjaHNsb3QpOworCQllbHNlCisJCQl2YWx1ZXNbYXR0bm8rK10g PSB0dXBsZV90YWJsZV9zbG90X3RvX2pzb25fZGF0dW0oc2VhcmNoc2xvdCk7CisJfQorCWVsc2UK KwkJbnVsbHNbYXR0bm8rK10gPSB0cnVlOworCisJaWYgKCFUdXBJc051bGwocmVtb3Rlc2xvdCkp CisJCXZhbHVlc1thdHRubysrXSA9IHR1cGxlX3RhYmxlX3Nsb3RfdG9fanNvbl9kYXR1bShyZW1v dGVzbG90KTsKKwllbHNlCisJCW51bGxzW2F0dG5vKytdID0gdHJ1ZTsKKworCXZhbHVlc1thdHRu b10gPSBidWlsZF9sb2NhbF9jb25mbGljdHNfanNvbl9hcnJheShlc3RhdGUsIHJlbCwKKwkJCQkJ CQkJCQkJCQkgY29uZmxpY3RfdHlwZSwKKwkJCQkJCQkJCQkJCQkgY29uZmxpY3R0dXBsZXMpOwor CisJQXNzZXJ0KGF0dG5vICsgMSA9PSBNQVhfQ09ORkxJQ1RfQVRUUl9OVU0pOworCisJb2xkY3R4 ID0gTWVtb3J5Q29udGV4dFN3aXRjaFRvKEFwcGx5Q29udGV4dCk7CisJTXlMb2dpY2FsUmVwV29y a2VyLT5jb25mbGljdF9sb2dfdHVwbGUgPQorCQloZWFwX2Zvcm1fdHVwbGUoUmVsYXRpb25HZXRE ZXNjcihjb25mbGljdGxvZ3JlbCksIHZhbHVlcywgbnVsbHMpOworCU1lbW9yeUNvbnRleHRTd2l0 Y2hUbyhvbGRjdHgpOwogfQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9n aWNhbC9sYXVuY2hlci5jIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9sYXVuY2hl ci5jCmluZGV4IDNlZDg2NDgwYmUyLi4yZGRhNWE0NDIxOCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvcmVwbGljYXRpb24vbG9naWNhbC9sYXVuY2hlci5jCisrKyBiL3NyYy9iYWNrZW5kL3JlcGxp Y2F0aW9uL2xvZ2ljYWwvbGF1bmNoZXIuYwpAQCAtNDc3LDYgKzQ3Nyw3IEBAIHJldHJ5OgogCXdv cmtlci0+b2xkZXN0X25vbnJlbW92YWJsZV94aWQgPSByZXRhaW5fZGVhZF90dXBsZXMKIAkJPyBN eVJlcGxpY2F0aW9uU2xvdC0+ZGF0YS54bWluCiAJCTogSW52YWxpZFRyYW5zYWN0aW9uSWQ7CisJ d29ya2VyLT5jb25mbGljdF9sb2dfdHVwbGUgPSBOVUxMOwogCXdvcmtlci0+bGFzdF9sc24gPSBJ bnZhbGlkWExvZ1JlY1B0cjsKIAlUSU1FU1RBTVBfTk9CRUdJTih3b3JrZXItPmxhc3Rfc2VuZF90 aW1lKTsKIAlUSU1FU1RBTVBfTk9CRUdJTih3b3JrZXItPmxhc3RfcmVjdl90aW1lKTsKZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMgYi9zcmMvYmFj a2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jCmluZGV4IGFkMjgxZTcwNjliLi41YWM4 MjZjMjc5ZiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3Jr ZXIuYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jCkBAIC00 ODIsNyArNDgyLDkgQEAgc3RhdGljIGJvb2wgTXlTdWJzY3JpcHRpb25WYWxpZCA9IGZhbHNlOwog c3RhdGljIExpc3QgKm9uX2NvbW1pdF93YWtldXBfd29ya2Vyc19zdWJpZHMgPSBOSUw7CiAKIGJv b2wJCWluX3JlbW90ZV90cmFuc2FjdGlvbiA9IGZhbHNlOwotc3RhdGljIFhMb2dSZWNQdHIgcmVt b3RlX2ZpbmFsX2xzbiA9IEludmFsaWRYTG9nUmVjUHRyOworWExvZ1JlY1B0ciByZW1vdGVfZmlu YWxfbHNuID0gSW52YWxpZFhMb2dSZWNQdHI7CitUcmFuc2FjdGlvbklkCXJlbW90ZV94aWQgPSBJ bnZhbGlkVHJhbnNhY3Rpb25JZDsKK1RpbWVzdGFtcFR6CXJlbW90ZV9jb21taXRfdHMgPSAwOwog CiAvKiBmaWVsZHMgdmFsaWQgb25seSB3aGVuIHByb2Nlc3Npbmcgc3RyZWFtZWQgdHJhbnNhY3Rp b24gKi8KIHN0YXRpYyBib29sIGluX3N0cmVhbWVkX3RyYW5zYWN0aW9uID0gZmFsc2U7CkBAIC0x MjE5LDYgKzEyMjEsOCBAQCBhcHBseV9oYW5kbGVfYmVnaW4oU3RyaW5nSW5mbyBzKQogCXNldF9h cHBseV9lcnJvcl9jb250ZXh0X3hhY3QoYmVnaW5fZGF0YS54aWQsIGJlZ2luX2RhdGEuZmluYWxf bHNuKTsKIAogCXJlbW90ZV9maW5hbF9sc24gPSBiZWdpbl9kYXRhLmZpbmFsX2xzbjsKKwlyZW1v dGVfY29tbWl0X3RzID0gYmVnaW5fZGF0YS5jb21taXR0aW1lOworCXJlbW90ZV94aWQgPSBiZWdp bl9kYXRhLnhpZDsKIAogCW1heWJlX3N0YXJ0X3NraXBwaW5nX2NoYW5nZXMoYmVnaW5fZGF0YS5m aW5hbF9sc24pOwogCkBAIC0xNzQ1LDYgKzE3NDksMTAgQEAgYXBwbHlfaGFuZGxlX3N0cmVhbV9z dGFydChTdHJpbmdJbmZvIHMpCiAJLyogZXh0cmFjdCBYSUQgb2YgdGhlIHRvcC1sZXZlbCB0cmFu c2FjdGlvbiAqLwogCXN0cmVhbV94aWQgPSBsb2dpY2FscmVwX3JlYWRfc3RyZWFtX3N0YXJ0KHMs ICZmaXJzdF9zZWdtZW50KTsKIAorCXJlbW90ZV94aWQgPSBzdHJlYW1feGlkOworCXJlbW90ZV9m aW5hbF9sc24gPSBJbnZhbGlkWExvZ1JlY1B0cjsKKwlyZW1vdGVfY29tbWl0X3RzID0gMDsKKwog CWlmICghVHJhbnNhY3Rpb25JZElzVmFsaWQoc3RyZWFtX3hpZCkpCiAJCWVyZXBvcnQoRVJST1Is CiAJCQkJKGVycmNvZGUoRVJSQ09ERV9QUk9UT0NPTF9WSU9MQVRJT04pLApAQCAtNTYwOSw2ICs1 NjE3LDI3IEBAIHN0YXJ0X2FwcGx5KFhMb2dSZWNQdHIgb3JpZ2luX3N0YXJ0cG9zKQogCQkJcGdz dGF0X3JlcG9ydF9zdWJzY3JpcHRpb25fZXJyb3IoTXlTdWJzY3JpcHRpb24tPm9pZCwKIAkJCQkJ CQkJCQkJIE15TG9naWNhbFJlcFdvcmtlci0+dHlwZSk7CiAKKwkJCS8qCisJCQkgKiBJbnNlcnQg YW55IHBlbmRpbmcgY29uZmxpY3QgbG9nIHR1cGxlIHVuZGVyIGEgbmV3IHRyYW5zYWN0aW9uLgor CQkJICovCisJCQlpZiAoTXlMb2dpY2FsUmVwV29ya2VyLT5jb25mbGljdF9sb2dfdHVwbGUgIT0g TlVMTCkKKwkJCXsKKwkJCQlSZWxhdGlvbgljb25mbGljdGxvZ3JlbDsKKwkJCQlDb25mbGljdExv Z0Rlc3QJZGVzdDsKKworCQkJCVN0YXJ0VHJhbnNhY3Rpb25Db21tYW5kKCk7CisJCQkJUHVzaEFj dGl2ZVNuYXBzaG90KEdldFRyYW5zYWN0aW9uU25hcHNob3QoKSk7CisKKwkJCQkvKiBPcGVuIGNv bmZsaWN0IGxvZyB0YWJsZSBhbmQgaW5zZXJ0IHRoZSB0dXBsZS4gKi8KKwkJCQljb25mbGljdGxv Z3JlbCA9IEdldENvbmZsaWN0TG9nVGFibGVJbmZvKCZkZXN0KTsKKwkJCQlBc3NlcnQoKGRlc3Qg JiBDT05GTElDVF9MT0dfREVTVF9UQUJMRSkgIT0gMCk7CisJCQkJSW5zZXJ0Q29uZmxpY3RMb2dU dXBsZShjb25mbGljdGxvZ3JlbCk7CisJCQkJdGFibGVfY2xvc2UoY29uZmxpY3Rsb2dyZWwsIFJv d0V4Y2x1c2l2ZUxvY2spOworCisJCQkJUG9wQWN0aXZlU25hcHNob3QoKTsKKwkJCQlDb21taXRU cmFuc2FjdGlvbkNvbW1hbmQoKTsKKwkJCX0KKwogCQkJUEdfUkVfVEhST1coKTsKIAkJfQogCX0K ZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL2NvbmZsaWN0LmggYi9zcmMvaW5j bHVkZS9yZXBsaWNhdGlvbi9jb25mbGljdC5oCmluZGV4IGFmNmRlYWE0Mjk3Li5iNjBjMGIwM2Uy NiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vY29uZmxpY3QuaAorKysgYi9z cmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9jb25mbGljdC5oCkBAIC0xMzIsNyArMTMyLDYgQEAgc3Rh dGljIGNvbnN0IENvbmZsaWN0TG9nQ29sdW1uRGVmIENvbmZsaWN0TG9nU2NoZW1hW10gPQogCXsg LmF0dG5hbWUgPSAibG9jYWxfY29uZmxpY3RzIiwgIC5hdHR0eXBpZCA9IEpTT05BUlJBWU9JRCB9 CiB9OwogCi0vKiBEZWZpbmUgdGhlIGNvdW50IHVzaW5nIHRoZSBhcnJheSBzaXplICovCiAjZGVm aW5lIE1BWF9DT05GTElDVF9BVFRSX05VTSAoc2l6ZW9mKENvbmZsaWN0TG9nU2NoZW1hKSAvIHNp emVvZihDb25mbGljdExvZ1NjaGVtYVswXSkpCiAKIGV4dGVybiBib29sIEdldFR1cGxlVHJhbnNh Y3Rpb25JbmZvKFR1cGxlVGFibGVTbG90ICpsb2NhbHNsb3QsCkBAIC0xNDUsNCArMTQ0LDcgQEAg ZXh0ZXJuIHZvaWQgUmVwb3J0QXBwbHlDb25mbGljdChFU3RhdGUgKmVzdGF0ZSwgUmVzdWx0UmVs SW5mbyAqcmVsaW5mbywKIAkJCQkJCQkJVHVwbGVUYWJsZVNsb3QgKnJlbW90ZXNsb3QsCiAJCQkJ CQkJCUxpc3QgKmNvbmZsaWN0dHVwbGVzKTsKIGV4dGVybiB2b2lkIEluaXRDb25mbGljdEluZGV4 ZXMoUmVzdWx0UmVsSW5mbyAqcmVsSW5mbyk7CitleHRlcm4gUmVsYXRpb24gR2V0Q29uZmxpY3RM b2dUYWJsZUluZm8oQ29uZmxpY3RMb2dEZXN0ICpsb2dfZGVzdCk7CitleHRlcm4gdm9pZCBJbnNl cnRDb25mbGljdExvZ1R1cGxlKFJlbGF0aW9uIGNvbmZsaWN0bG9ncmVsKTsKK2V4dGVybiBib29s IFZhbGlkYXRlQ29uZmxpY3RMb2dUYWJsZShSZWxhdGlvbiByZWwpOwogI2VuZGlmCmRpZmYgLS1n aXQgYS9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi93b3JrZXJfaW50ZXJuYWwuaCBiL3NyYy9pbmNs dWRlL3JlcGxpY2F0aW9uL3dvcmtlcl9pbnRlcm5hbC5oCmluZGV4IGMxMjg1ZmRkMWJjLi41YmVk ZmM1NDUwZiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vd29ya2VyX2ludGVy bmFsLmgKKysrIGIvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vd29ya2VyX2ludGVybmFsLmgKQEAg LTEwMSw2ICsxMDEsOSBAQCB0eXBlZGVmIHN0cnVjdCBMb2dpY2FsUmVwV29ya2VyCiAJICovCiAJ VHJhbnNhY3Rpb25JZCBvbGRlc3Rfbm9ucmVtb3ZhYmxlX3hpZDsKIAorCS8qIEEgY29uZmxpY3Qg bG9nIHR1cGxlIHRoYXQgaXMgcHJlcGFyZWQgYnV0IG5vdCB5ZXQgaW5zZXJ0ZWQuICovCisJSGVh cFR1cGxlCWNvbmZsaWN0X2xvZ190dXBsZTsKKwogCS8qIFN0YXRzLiAqLwogCVhMb2dSZWNQdHIJ bGFzdF9sc247CiAJVGltZXN0YW1wVHogbGFzdF9zZW5kX3RpbWU7CkBAIC0yNTYsNiArMjU5LDEw IEBAIGV4dGVybiBQR0RMTElNUE9SVCBib29sIEluaXRpYWxpemluZ0FwcGx5V29ya2VyOwogCiBl eHRlcm4gUEdETExJTVBPUlQgTGlzdCAqdGFibGVfc3RhdGVzX25vdF9yZWFkeTsKIAorZXh0ZXJu IFhMb2dSZWNQdHIgcmVtb3RlX2ZpbmFsX2xzbjsKK2V4dGVybiBUaW1lc3RhbXBUeiByZW1vdGVf Y29tbWl0X3RzOworZXh0ZXJuIFRyYW5zYWN0aW9uSWQJcmVtb3RlX3hpZDsKKwogZXh0ZXJuIHZv aWQgbG9naWNhbHJlcF93b3JrZXJfYXR0YWNoKGludCBzbG90KTsKIGV4dGVybiBMb2dpY2FsUmVw V29ya2VyICpsb2dpY2FscmVwX3dvcmtlcl9maW5kKExvZ2ljYWxSZXBXb3JrZXJUeXBlIHd0eXBl LAogCQkJCQkJCQkJCQkJT2lkIHN1YmlkLCBPaWQgcmVsaWQsCmRpZmYgLS1naXQgYS9zcmMvdGVz dC9zdWJzY3JpcHRpb24vdC8wMzdfY29uZmxpY3RfZGVzdC5wbCBiL3NyYy90ZXN0L3N1YnNjcmlw dGlvbi90LzAzN19jb25mbGljdF9kZXN0LnBsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwLi5kMzM5OTM1MzBhNAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3N1YnNj cmlwdGlvbi90LzAzN19jb25mbGljdF9kZXN0LnBsCkBAIC0wLDAgKzEsMTgxIEBACisjIENvcHly aWdodCAoYykgMjAyNSwgUG9zdGdyZVNRTCBHbG9iYWwgRGV2ZWxvcG1lbnQgR3JvdXAKKworIyBU ZXN0IGNvbmZsaWN0cyBpbiBsb2dpY2FsIHJlcGxpY2F0aW9uCit1c2Ugc3RyaWN0OwordXNlIHdh cm5pbmdzIEZBVEFMID0+ICdhbGwnOwordXNlIFBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0ZXI7Cit1 c2UgUG9zdGdyZVNRTDo6VGVzdDo6VXRpbHM7Cit1c2UgVGVzdDo6TW9yZTsKKworIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBTZXR1cAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIworCisjIENyZWF0ZSBhIHB1Ymxpc2hlciBub2RlCitteSAkbm9kZV9wdWJsaXNoZXIg PSBQb3N0Z3JlU1FMOjpUZXN0OjpDbHVzdGVyLT5uZXcoJ3B1Ymxpc2hlcicpOworJG5vZGVfcHVi bGlzaGVyLT5pbml0KGFsbG93c19zdHJlYW1pbmcgPT4gJ2xvZ2ljYWwnKTsKKyRub2RlX3B1Ymxp c2hlci0+c3RhcnQ7CisKKyMgQ3JlYXRlIGEgc3Vic2NyaWJlciBub2RlCitteSAkbm9kZV9zdWJz Y3JpYmVyID0gUG9zdGdyZVNRTDo6VGVzdDo6Q2x1c3Rlci0+bmV3KCdzdWJzY3JpYmVyJyk7Cisk bm9kZV9zdWJzY3JpYmVyLT5pbml0KGFsbG93c19zdHJlYW1pbmcgPT4gJ2xvZ2ljYWwnKTsKKyRu b2RlX3N1YnNjcmliZXItPnN0YXJ0OworCisjIENyZWF0ZSBhIHRhYmxlIG9uIHB1Ymxpc2hlcgor JG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiQ1JFQVRFIFRBQkxFIGNv bmZfdGFiIChhIGludCBQUklNQVJZIEtFWSwgYiBpbnQgVU5JUVVFLCBjIGludCBVTklRVUUpOyIp OworCiskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJDUkVBVEUgVEFC TEUgY29uZl90YWJfMiAoYSBpbnQgUFJJTUFSWSBLRVksIGIgaW50IFVOSVFVRSwgYyBpbnQgVU5J UVVFKTsiCispOworCisjIENyZWF0ZSBzYW1lIHRhYmxlIG9uIHN1YnNjcmliZXIKKyRub2RlX3N1 YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJDUkVBVEUgVEFCTEUgY29uZl90YWIg KGEgaW50IFBSSU1BUlkga2V5LCBiIGludCBVTklRVUUsIGMgaW50IFVOSVFVRSk7Iik7CisKKyRu b2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgKKwkncG9zdGdyZXMnLCBxcVsKKwkgQ1JFQVRFIFRB QkxFIGNvbmZfdGFiXzIgKGEgaW50IFBSSU1BUlkgS0VZLCBiIGludCwgYyBpbnQsIHVuaXF1ZShh LGIpKSBQQVJUSVRJT04gQlkgUkFOR0UgKGEpOworCSBDUkVBVEUgVEFCTEUgY29uZl90YWJfMl9w MSBQQVJUSVRJT04gT0YgY29uZl90YWJfMiBGT1IgVkFMVUVTIEZST00gKE1JTlZBTFVFKSBUTyAo MTAwKTsKK10pOworCisjIFNldHVwIGxvZ2ljYWwgcmVwbGljYXRpb24KK215ICRwdWJsaXNoZXJf Y29ubnN0ciA9ICRub2RlX3B1Ymxpc2hlci0+Y29ubnN0ciAuICcgZGJuYW1lPXBvc3RncmVzJzsK KyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIkNSRUFURSBQVUJMSUNB VElPTiBwdWJfdGFiIEZPUiBUQUJMRSBjb25mX3RhYiwgY29uZl90YWJfMiIpOworCisjIENyZWF0 ZSB0aGUgc3Vic2NyaXB0aW9uCitteSAkYXBwbmFtZSA9ICdzdWJfdGFiJzsKKyRub2RlX3N1YnNj cmliZXItPnNhZmVfcHNxbCgKKwkncG9zdGdyZXMnLAorCSJDUkVBVEUgU1VCU0NSSVBUSU9OIHN1 Yl90YWIKKwkgQ09OTkVDVElPTiAnJHB1Ymxpc2hlcl9jb25uc3RyIGFwcGxpY2F0aW9uX25hbWU9 JGFwcG5hbWUnCisJIFBVQkxJQ0FUSU9OIHB1Yl90YWIgV0lUSCAoY29uZmxpY3RfbG9nX2Rlc3Rp bmF0aW9uPXRhYmxlKSIpOworCisjIFdhaXQgZm9yIGluaXRpYWwgdGFibGUgc3luYyB0byBmaW5p c2gKKyRub2RlX3N1YnNjcmliZXItPndhaXRfZm9yX3N1YnNjcmlwdGlvbl9zeW5jKCRub2RlX3B1 Ymxpc2hlciwgJGFwcG5hbWUpOworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIworIyBJTlNFUlQgZGF0YSBvbiBQdWIgYW5kIFN1YgorIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworIyBJbnNlcnQgZGF0 YSBpbiB0aGUgcHVibGlzaGVyIHRhYmxlCiskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9z dGdyZXMnLAorCSJJTlNFUlQgSU5UTyBjb25mX3RhYiBWQUxVRVMgKDEsMSwxKTsiKTsKKworIyBJ bnNlcnQgZGF0YSBpbiB0aGUgc3Vic2NyaWJlciB0YWJsZQorJG5vZGVfc3Vic2NyaWJlci0+c2Fm ZV9wc3FsKCdwb3N0Z3JlcycsCisJIklOU0VSVCBJTlRPIGNvbmZfdGFiIFZBTFVFUyAoMiwyLDIp LCAoMywzLDMpLCAoNCw0LDQpOyIpOworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFRlc3Qg Y29uZmxpY3QgaW5zZXJ0aW9uIGludG8gdGhlIGludGVybmFsIGNvbmZsaWN0IGxvZyB0YWJsZQor IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCiskbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bv c3RncmVzJywKKwkiSU5TRVJUIElOVE8gY29uZl90YWIgVkFMVUVTICgxMCwgMTAsIDEwKTsiKTsK KworIyBHZXQgdGhlIGludGVybmFsbHkgZ2VuZXJhdGVkIHRhYmxlIG5hbWUKK215ICRzdWJpZCA9 ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJTRUxFQ1Qgb2lkIEZS T00gcGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5hbWUgPSAnc3ViX3RhYic7Iik7CitteSAkY29u ZmxpY3RfdGFibGUgPSAicGdfY29uZmxpY3QucGdfY29uZmxpY3RfJHN1YmlkIjsKKworJG5vZGVf cHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiSU5TRVJUIElOVE8gY29uZl90YWIg VkFMVUVTICgxMCwgMjAsIDMwKTsiKTsKKworIyBXYWl0IGZvciB0aGUgY29uZmxpY3QgdG8gYmUg bG9nZ2VkCitteSAkbG9nX2NoZWNrID0gJG5vZGVfc3Vic2NyaWJlci0+cG9sbF9xdWVyeV91bnRp bCgKKyAgICAncG9zdGdyZXMnLAorICAgICJTRUxFQ1QgY291bnQoKikgPiAwIEZST00gJGNvbmZs aWN0X3RhYmxlOyIKKyk7CisKK2lzKCRsb2dfY2hlY2ssIDEsICdDb25mbGljdCB3YXMgc3VjY2Vz c2Z1bGx5IGxvZ2dlZCB0byB0aGUgaW50ZXJuYWwgdGFibGUnKTsKKworbXkgJGpzb25fcXVlcnkg PSBxcVsKKyAgICBTRUxFQ1Qgc3RyaW5nX2FnZygodW5uZXN0ZWQuajo6anNvbiktPidrZXknLT4+ J2EnLCAnLCcpCisgICAgRlJPTSAoCisgICAgICAgIFNFTEVDVCB1bm5lc3QobG9jYWxfY29uZmxp Y3RzKSBBUyBqCisgICAgICAgIEZST00gJGNvbmZsaWN0X3RhYmxlCisgICAgKSBBUyB1bm5lc3Rl ZDsKK107CisKK215ICRhbGxfa2V5cyA9ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9z dGdyZXMnLCAkanNvbl9xdWVyeSk7CisKKyMgVmVyaWZ5IHRoYXQgJzEwJyBpcyBwcmVzZW50IGlu IHRoZSByZXN1bHRpbmcgc3RyaW5nCitsaWtlKCRhbGxfa2V5cywgcXIvMTAvLCAnVmVyaWZpZWQg dGhhdCBrZXkgMTAgZXhpc3RzIGluIHRoZSBsb2NhbF9jb25mbGljdHMgbG9nJyk7CisKK3Bhc3Mo J0NvbmZsaWN0IHR5cGUgYW5kIGRhdGEgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCBpbiBpbnRlcm5h bCB0YWJsZScpOworCisjIEZpbmFsIGNsZWFudXAgZm9yIHN1YnNlcXVlbnQgYmlkaXJlY3Rpb25h bCB0ZXN0cyBpbiB0aGUgc2NyaXB0Ciskbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3Rn cmVzJywgIlRSVU5DQVRFIGNvbmZfdGFiOyIpOworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisj IFRlc3QgQ2FzZTogdXBkYXRlX21pc3NpbmcKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworIyBT eW5jIGEgcm93LCB0aGVuIGRlbGV0ZSBpdCBsb2NhbGx5IG9uIHN1YnNjcmliZXIKKyRub2RlX3B1 Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJJTlNFUlQgSU5UTyBjb25mX3RhYiBWQUxV RVMgKDUwLCA1MCwgNTApOyIpOworJG5vZGVfcHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCRh cHBuYW1lKTsKKyRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiREVMRVRF IEZST00gY29uZl90YWIgV0hFUkUgYSA9IDUwOyIpOworCisjIFRyaWdnZXIgY29uZmxpY3QgYnkg dXBkYXRpbmcgdGhhdCByb3cgb24gcHVibGlzaGVyCiskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNx bCgncG9zdGdyZXMnLCAiVVBEQVRFIGNvbmZfdGFiIFNFVCBiID0gNTAwIFdIRVJFIGEgPSA1MDsi KTsKKworIyBXYWl0IGZvciB0aGUgYXBwbHkgd29ya2VyIHRvIGRldGVjdCB0aGUgbWlzc2luZyBy b3cgYW5kIGxvZyBpdAorJG5vZGVfc3Vic2NyaWJlci0+cG9sbF9xdWVyeV91bnRpbCgncG9zdGdy ZXMnLAorICAgICJTRUxFQ1QgY291bnQoKikgPiAwIEZST00gJGNvbmZsaWN0X3RhYmxlIFdIRVJF IGNvbmZsaWN0X3R5cGUgPSAndXBkYXRlX21pc3NpbmcnOyIKKykgb3IgZGllICJUaW1lZCBvdXQg d2FpdGluZyBmb3IgdXBkYXRlX21pc3NpbmcgY29uZmxpY3QiOworCitteSAkdXBkX21pc3NfY2hl Y2sgPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKyAgICAiU0VMRUNU IGNvdW50KCopIEZST00gJGNvbmZsaWN0X3RhYmxlIFdIRVJFIGNvbmZsaWN0X3R5cGUgPSAndXBk YXRlX21pc3NpbmcnOyIpOworaXMoJHVwZF9taXNzX2NoZWNrLCAxLCAnVmVyaWZpZWQgdXBkYXRl X21pc3NpbmcgY29uZmxpY3QgbG9nZ2VkIHRvIGludGVybmFsIHRhYmxlJyk7CisKKyRub2RlX3N1 YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiVFJVTkNBVEUgY29uZl90YWI7Iik7CisK KyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgVGVzdCBDYXNlOiBpbnNlcnRfZXhpc3RzICh2aWEg c2Vjb25kYXJ5IHVuaXF1ZSBpbmRleCkKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworIyAxLiBT dWJzY3JpYmVyIGhhcyBhIHJvdyB3aXRoIGI9MTAwCiskbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3Bz cWwoJ3Bvc3RncmVzJywgIklOU0VSVCBJTlRPIGNvbmZfdGFiIFZBTFVFUyAoMTAwLCAxMDAsIDEw MCk7Iik7CisKKyMgMi4gUHVibGlzaGVyIGluc2VydHMgYSBORVcgUEsgKDEwMSkgYnV0IGEgRFVQ TElDQVRFICdiJyAoMTAwKQorJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywg IklOU0VSVCBJTlRPIGNvbmZfdGFiIFZBTFVFUyAoMTAxLCAxMDAsIDEwMSk7Iik7CisKKyMgMy4g VmVyaWZ5IGl0IGFwcGVhcnMgYXMgJ2luc2VydF9leGlzdHMnIGluIHlvdXIgbG9nIHRhYmxlCisk bm9kZV9zdWJzY3JpYmVyLT5wb2xsX3F1ZXJ5X3VudGlsKCdwb3N0Z3JlcycsCisgICAgIlNFTEVD VCBjb3VudCgqKSA+IDAgRlJPTSAkY29uZmxpY3RfdGFibGUgV0hFUkUgY29uZmxpY3RfdHlwZSA9 ICdpbnNlcnRfZXhpc3RzJyBBTkQgbG9jYWxfY29uZmxpY3RzOjp0ZXh0IExJS0UgJyUxMDAlJzsi CispIG9yIGRpZSAiVGltZWQgb3V0IHdhaXRpbmcgZm9yIHNlY29uZGFyeSBpbmRleCBpbnNlcnRf ZXhpc3RzIGNvbmZsaWN0IjsKKworcGFzcygnTG9nZ2VkIGluc2VydF9leGlzdHMgdHJpZ2dlcmVk IGJ5IHNlY29uZGFyeSB1bmlxdWUgaW5kZXggdmlvbGF0aW9uJyk7CisKKyRub2RlX3N1YnNjcmli ZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiVFJVTkNBVEUgY29uZl90YWI7Iik7CisKKyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKKyMgQ0FTRSAzOiBTd2l0Y2hpbmcgRGVzdGluYXRpb24gdG8gJ2xv ZycgKFNlcnZlciBMb2cgVmVyaWZpY2F0aW9uKQorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisj IFN3aXRjaCBkZXN0aW5hdGlvbgorJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3Jl cycsCisgICAgIkFMVEVSIFNVQlNDUklQVElPTiBzdWJfdGFiIFNFVCAoY29uZmxpY3RfbG9nX2Rl c3RpbmF0aW9uID0gJ2FsbCcpOyIpOworCiskbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bv c3RncmVzJywgIkRFTEVURSBGUk9NICRjb25mbGljdF90YWJsZTsiKTsKKyMgVHJpZ2dlciBhIGNv bmZsaWN0IGZvciBzZXJ2ZXIgbG9nIChpbnNlcnRfZXhpc3RzKQorJG5vZGVfc3Vic2NyaWJlci0+ c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJJTlNFUlQgSU5UTyBjb25mX3RhYiBWQUxVRVMgKDYwMCwg NjAwLCA2MDApOyIpOworJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIklO U0VSVCBJTlRPIGNvbmZfdGFiIFZBTFVFUyAoNjAwLCA3MDAsIDcwMCk7Iik7CisKKyMgV2FpdCBm b3IgdGFibGUgbG9nCiskbm9kZV9zdWJzY3JpYmVyLT5wb2xsX3F1ZXJ5X3VudGlsKCdwb3N0Z3Jl cycsICJTRUxFQ1QgY291bnQoKikgPiAwIEZST00gJGNvbmZsaWN0X3RhYmxlOyIpCisgICAgb3Ig ZGllICJUaW1lZCBvdXQgd2FpdGluZyBmb3IgaW5zZXJ0X2V4aXN0cyBjb25mbGljdCI7CisKKyMg Q2hlY2sgc3Vic2NyaWJlciBzZXJ2ZXIgbG9nCitteSAkbG9nX2ZvdW5kID0gJG5vZGVfc3Vic2Ny aWJlci0+d2FpdF9mb3JfbG9nKAorICAgIHFyL2NvbmZsaWN0IGRldGVjdGVkIG9uIHJlbGF0aW9u ICJwdWJsaWMuY29uZl90YWIiOiBjb25mbGljdD1pbnNlcnRfZXhpc3RzLworKTsKK29rKCRsb2df Zm91bmQsICdDb25mbGljdCBjb3JyZWN0bHkgZGlyZWN0ZWQgdG8gc2VydmVyIHN0ZGVyciBsb2cn KTsKKworIyBWZXJpZnkgdGFibGUgY291bnQgRElEIE5PVCBpbmNyZWFzZSBmb3IgdGhpcyBjb25m bGljdAorbXkgJHRhYmxlX2NoZWNrID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0 Z3JlcycsCisgICAgIlNFTEVDVCBjb3VudCgqKSBGUk9NICRjb25mbGljdF90YWJsZSBXSEVSRSBs b2NhbF9jb25mbGljdHM6OnRleHQgTElLRSAnJTYwMCUnOyIpOworaXMoJHRhYmxlX2NoZWNrLCAx LCAnVGFibGUgbG9nIHdhcyBieXBhc3NlZCB3aGVuIGRlc3RpbmF0aW9uIHNldCB0byBsb2cnKTsK KworZG9uZV90ZXN0aW5nKCk7Ci0tIAoyLjQzLjAKCg== --0000000000000fcdda0647a5526c Content-Type: text/x-patch; charset="US-ASCII"; name="v19-0004-Add-shared-index-for-conflict-log-table-lookup-a.patch" Content-Disposition: attachment; filename="v19-0004-Add-shared-index-for-conflict-log-table-lookup-a.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mk1aet3f3 RnJvbSA1MGRjNDhiNDQyZTJjNzY4M2ZiMGUyOTQ4Y2VjMWU5YjMwZjA4YzgxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaWduZXNoIEMgPHZpZ25lc2gyMUBnbWFpbC5jb20+CkRhdGU6 IE1vbiwgNSBKYW4gMjAyNiAxNTo0NjoxMCArMDUzMApTdWJqZWN0OiBbUEFUQ0ggdjE5IDQvNl0g QWRkIHNoYXJlZCBpbmRleCBmb3IgY29uZmxpY3QgbG9nIHRhYmxlIGxvb2t1cCBhbmQgCiBhbGxv dyBleHBsaWNpdCBwdWJsaWNhdGlvbiB0aHJvdWhnIEZPUiBUQUJMRSBwdWJsaWNhdGlvbgoKSW50 cm9kdWNlIGEgZGVkaWNhdGVkIHNoYXJlZCB1bmlxdWUgaW5kZXggb24KcGdfc3Vic2NyaXB0aW9u LnN1YmNvbmZsaWN0bG9ncmVsaWQgdG8gbWFrZSBjb25mbGljdCBsb2cgdGFibGUKZGV0ZWN0aW9u IGVmZmljaWVudCwgYW5kIGluZGV4LWJhY2tlZC4gIFByZXZpb3VzbHksIElzQ29uZmxpY3RMb2dU YWJsZSgpCnJlbGllZCBvbiBhIGZ1bGwgY2F0YWxvZyBzY2FuIG9mIHBnX3N1YnNjcmlwdGlvbiwg d2hpY2ggd2FzIGluZWZmaWNpZW50LgpUaGlzIGNoYW5nZSBhZGRzIHBnX3N1YnNjcmlwdGlvbl9j b25mbGljdHJlbF9pbmRleCBhbmQgbWFya3MgaXQgYXMgYQpzaGFyZWQgaW5kZXgsIG1hdGNoaW5n IHRoZSBzaGFyZWQgcGdfc3Vic2NyaXB0aW9uIHRhYmxlLCBhbmQgcmV3cml0ZXMKY29uZmxpY3Qg bG9nIHRhYmxlIGRldGVjdGlvbiB0byB1c2UgYW4gaW5kZXhlZCBzeXN0YWJsZSBzY2FuLgoKQWRk aXRpb25hbGx5IGNvbmZsaWN0IHRhYmxlcyBjYW4gYmUgcmVwbGljYXRlZCB3aGVuIHRoZSB0YWJs ZSBpcwpleHBsaWNpdGx5IHNwZWNpZmllZCB0aHJvdWdoIGEgRk9SIFRBQkxFIHB1YmxpY2F0aW9u LgotLS0KIHNyYy9iYWNrZW5kL2NhdGFsb2cvY2F0YWxvZy5jICAgICAgICAgICAgICAgfCAgMSAr CiBzcmMvYmFja2VuZC9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmMgICAgICAgIHwgMjAgKy0tLS0t LS0tLS0tLS0tCiBzcmMvYmFja2VuZC9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5jICAgICAgIHwg MjMgKysrKysrKysrKysrKysrKysKIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNt ZHMuYyAgICAgfCAyOCArKysrKysrKystLS0tLS0tLS0tLS0KIHNyYy9iYWNrZW5kL3JlcGxpY2F0 aW9uL2xvZ2ljYWwvY29uZmxpY3QuYyAgfCAgNCArLS0KIHNyYy9iYWNrZW5kL3JlcGxpY2F0aW9u L3Bnb3V0cHV0L3Bnb3V0cHV0LmMgfCAyMCArKysrKysrKysrKystLS0KIHNyYy9iaW4vcHNxbC9k ZXNjcmliZS5jICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0KIHNyYy9pbmNsdWRlL2NhdGFs b2cvcGdfcHJvYy5kYXQgICAgICAgICAgICAgfCAgNyArKysrKysKIHNyYy9pbmNsdWRlL2NhdGFs b2cvcGdfc3Vic2NyaXB0aW9uLmggICAgICAgfCAgMSArCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3N1YnNjcmlwdGlvbi5vdXQgIHwgIDcgKysrLS0tCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9z dWJzY3JpcHRpb24uc3FsICAgICAgIHwgIDUgKystLQogMTEgZmlsZXMgY2hhbmdlZCwgNzMgaW5z ZXJ0aW9ucygrKSwgNDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0 YWxvZy9jYXRhbG9nLmMgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2NhdGFsb2cuYwppbmRleCBkNDM4 ZGM2ODJlYy4uMTQ4YTZjY2Y5OTggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvY2F0 YWxvZy5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvY2F0YWxvZy5jCkBAIC0zNjEsNiArMzYx LDcgQEAgSXNTaGFyZWRSZWxhdGlvbihPaWQgcmVsYXRpb25JZCkKIAkJcmVsYXRpb25JZCA9PSBT aGFyZWRTZWNMYWJlbE9iamVjdEluZGV4SWQgfHwKIAkJcmVsYXRpb25JZCA9PSBTdWJzY3JpcHRp b25OYW1lSW5kZXhJZCB8fAogCQlyZWxhdGlvbklkID09IFN1YnNjcmlwdGlvbk9iamVjdEluZGV4 SWQgfHwKKwkJcmVsYXRpb25JZCA9PSBTdWJzY3JpcHRpb25Db25mbGljdHJlbEluZGV4SWQgfHwK IAkJcmVsYXRpb25JZCA9PSBUYWJsZXNwYWNlTmFtZUluZGV4SWQgfHwKIAkJcmVsYXRpb25JZCA9 PSBUYWJsZXNwYWNlT2lkSW5kZXhJZCkKIAkJcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmMgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3Bn X3B1YmxpY2F0aW9uLmMKaW5kZXggY2IzODNhNWNlMDQuLmZjZDQ4MTY2ZWRmIDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQv Y2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5jCkBAIC04NiwxNSArODYsNiBAQCBjaGVja19wdWJsaWNh dGlvbl9hZGRfcmVsYXRpb24oUmVsYXRpb24gdGFyZ2V0cmVsKQogCQkJCSBlcnJtc2coImNhbm5v dCBhZGQgcmVsYXRpb24gXCIlc1wiIHRvIHB1YmxpY2F0aW9uIiwKIAkJCQkJCVJlbGF0aW9uR2V0 UmVsYXRpb25OYW1lKHRhcmdldHJlbCkpLAogCQkJCSBlcnJkZXRhaWwoIlRoaXMgb3BlcmF0aW9u IGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHVubG9nZ2VkIHRhYmxlcy4iKSkpOwotCi0JLyogQ2FuJ3Qg YmUgY29uZmxpY3QgbG9nIHRhYmxlICovCi0JaWYgKElzQ29uZmxpY3RMb2dUYWJsZShSZWxhdGlv bkdldFJlbGlkKHRhcmdldHJlbCkpKQotCQllcmVwb3J0KEVSUk9SLAotCQkJCShlcnJjb2RlKEVS UkNPREVfSU5WQUxJRF9QQVJBTUVURVJfVkFMVUUpLAotCQkJCSBlcnJtc2coImNhbm5vdCBhZGQg cmVsYXRpb24gXCIlcy4lc1wiIHRvIHB1YmxpY2F0aW9uIiwKLQkJCQkJCWdldF9uYW1lc3BhY2Vf bmFtZShSZWxhdGlvbkdldE5hbWVzcGFjZSh0YXJnZXRyZWwpKSwKLQkJCQkJCVJlbGF0aW9uR2V0 UmVsYXRpb25OYW1lKHRhcmdldHJlbCkpLAotCQkJCSBlcnJkZXRhaWwoIlRoaXMgb3BlcmF0aW9u IGlzIG5vdCBzdXBwb3J0ZWQgZm9yIGNvbmZsaWN0IGxvZyB0YWJsZXMuIikpKTsKIH0KIAogLyoK QEAgLTE1NSwxMyArMTQ2LDYgQEAgaXNfcHVibGlzaGFibGVfY2xhc3MoT2lkIHJlbGlkLCBGb3Jt X3BnX2NsYXNzIHJlbHR1cGxlKQogCiAvKgogICogQW5vdGhlciB2YXJpYW50IG9mIGlzX3B1Ymxp c2hhYmxlX2NsYXNzKCksIHRha2luZyBhIFJlbGF0aW9uLgotICoKLSAqIE5vdGU6IENvbmZsaWN0 IGxvZyB0YWJsZXMgYXJlIG5vdCBwdWJsaXNoYWJsZS4gIEhvd2V2ZXIsIHdlIGludGVudGlvbmFs bHkKLSAqIHNraXAgdGhpcyBjaGVjayBoZXJlIGJlY2F1c2UgdGhpcyBmdW5jdGlvbiBpcyBjYWxs ZWQgZm9yIGV2ZXJ5IGNoYW5nZSBhbmQKLSAqIHBlcmZvcm1pbmcgdGhpcyBjaGVjayBkdXJpbmcg ZXZlcnkgY2hhbmdlIHB1YmxpY2F0aW9uIGlzIGNvc3RseS4gIFRvIGVuc3VyZQotICogdW5wdWJs aXNoYWJsZSBlbnRyaWVzIGFyZSBpZ25vcmVkIHdpdGhvdXQgaW5jdXJyaW5nIHBlcmZvcm1hbmNl IG92ZXJoZWFkLAotICogdHVwbGVzIGluc2VydGVkIGludG8gdGhlIGNvbmZsaWN0IGxvZyB0YWJs ZSB1c2VzIHRoZSBIRUFQX0lOU0VSVF9OT19MT0dJQ0FMCi0gKiBmbGFnLiAgVGhpcyBhbGxvd3Mg dGhlIGRlY29kaW5nIGxheWVyIHRvIGJ5cGFzcyB0aGVzZSBlbnRyaWVzIGF1dG9tYXRpY2FsbHku CiAgKi8KIGJvb2wKIGlzX3B1Ymxpc2hhYmxlX3JlbGF0aW9uKFJlbGF0aW9uIHJlbCkKQEAgLTE4 Nyw5ICsxNzEsNyBAQCBwZ19yZWxhdGlvbl9pc19wdWJsaXNoYWJsZShQR19GVU5DVElPTl9BUkdT KQogCWlmICghSGVhcFR1cGxlSXNWYWxpZCh0dXBsZSkpCiAJCVBHX1JFVFVSTl9OVUxMKCk7CiAK LQkvKiBTdWJzY3JpcHRpb24gY29uZmxpY3QgbG9nIHRhYmxlcyBhcmUgbm90IHB1Ymxpc2hlZCAq LwotCXJlc3VsdCA9IGlzX3B1Ymxpc2hhYmxlX2NsYXNzKHJlbGlkLCAoRm9ybV9wZ19jbGFzcykg R0VUU1RSVUNUKHR1cGxlKSkgJiYKLQkJCSAhSXNDb25mbGljdExvZ1RhYmxlKHJlbGlkKTsKKwly ZXN1bHQgPSBpc19wdWJsaXNoYWJsZV9jbGFzcyhyZWxpZCwgKEZvcm1fcGdfY2xhc3MpIEdFVFNU UlVDVCh0dXBsZSkpOwogCVJlbGVhc2VTeXNDYWNoZSh0dXBsZSk7CiAJUEdfUkVUVVJOX0JPT0wo cmVzdWx0KTsKIH0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfc3Vic2NyaXB0 aW9uLmMgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5jCmluZGV4IDI4NWE1 OTg0OTdkLi4xYTkzODI0NTA0YyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19z dWJzY3JpcHRpb24uYworKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5j CkBAIC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uaCIK ICNpbmNsdWRlICJjYXRhbG9nL3BnX3N1YnNjcmlwdGlvbl9yZWwuaCIKICNpbmNsdWRlICJjYXRh bG9nL3BnX3R5cGUuaCIKKyNpbmNsdWRlICJjb21tYW5kcy9zdWJzY3JpcHRpb25jbWRzLmgiCiAj aW5jbHVkZSAibWlzY2FkbWluLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9sbWdyLmgiCiAjaW5jbHVk ZSAidXRpbHMvYXJyYXkuaCIKQEAgLTE1Niw2ICsxNTcsMjggQEAgR2V0U3Vic2NyaXB0aW9uKE9p ZCBzdWJpZCwgYm9vbCBtaXNzaW5nX29rKQogCXJldHVybiBzdWI7CiB9CiAKKy8qCisgKiBwZ19y ZWxhdGlvbl9pc19jb25mbGljdF9sb2dfdGFibGUKKyAqCisgKiBSZXR1cm5zIHRydWUgaWYgdGhl IGdpdmVuIHJlbGF0aW9uIE9JRCBpcyB1c2VkIGFzIGEgY29uZmxpY3QgbG9nIHRhYmxlCisgKiBi eSBhbnkgc3Vic2NyaXB0aW9uLCBlbHNlIHJldHVybnMgZmFsc2UuCisgKi8KK0RhdHVtCitwZ19y ZWxhdGlvbl9pc19jb25mbGljdF9sb2dfdGFibGUoUEdfRlVOQ1RJT05fQVJHUykKK3sKKwlPaWQJ CQlyZWxpZCA9IFBHX0dFVEFSR19PSUQoMCk7CisJSGVhcFR1cGxlCXR1cGxlOworCWJvb2wJCXJl c3VsdDsKKworCXR1cGxlID0gU2VhcmNoU3lzQ2FjaGUxKFJFTE9JRCwgT2JqZWN0SWRHZXREYXR1 bShyZWxpZCkpOworCWlmICghSGVhcFR1cGxlSXNWYWxpZCh0dXBsZSkpCisJCVBHX1JFVFVSTl9O VUxMKCk7CisKKwlyZXN1bHQgPSBJc0NvbmZsaWN0TG9nVGFibGUocmVsaWQpOworCVJlbGVhc2VT eXNDYWNoZSh0dXBsZSk7CisJUEdfUkVUVVJOX0JPT0wocmVzdWx0KTsKK30KKwogLyoKICAqIFJl dHVybiBudW1iZXIgb2Ygc3Vic2NyaXB0aW9ucyBkZWZpbmVkIGluIGdpdmVuIGRhdGFiYXNlLgog ICogVXNlZCBieSBkcm9wZGIoKSB0byBjaGVjayBpZiBkYXRhYmFzZSBjYW4gaW5kZWVkIGJlIGRy b3BwZWQuCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9zdWJzY3JpcHRpb25jbWRz LmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9zdWJzY3JpcHRpb25jbWRzLmMKaW5kZXggNGIyZDk4 YzllZDIuLjQ5YzUwNDk2MGRiIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9zdWJz Y3JpcHRpb25jbWRzLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21k cy5jCkBAIC01Myw2ICs1Myw3IEBACiAjaW5jbHVkZSAic3RvcmFnZS9sbWdyLmgiCiAjaW5jbHVk ZSAidXRpbHMvYWNsLmgiCiAjaW5jbHVkZSAidXRpbHMvYnVpbHRpbnMuaCIKKyNpbmNsdWRlICJ1 dGlscy9mbWdyb2lkcy5oIgogI2luY2x1ZGUgInV0aWxzL2d1Yy5oIgogI2luY2x1ZGUgInV0aWxz L2xzeXNjYWNoZS5oIgogI2luY2x1ZGUgInV0aWxzL21lbXV0aWxzLmgiCkBAIC0zNDQzLDI3ICsz NDQ0LDIyIEBAIGJvb2wKIElzQ29uZmxpY3RMb2dUYWJsZShPaWQgcmVsaWQpCiB7CiAJUmVsYXRp b24gICAgICAgIHJlbDsKLQlUYWJsZVNjYW5EZXNjICAgc2NhbjsKLQlIZWFwVHVwbGUgICAgICAg dHVwOwotCWJvb2wgICAgICAgICAgICBpc19jbHQgPSBmYWxzZTsKKwlTY2FuS2V5RGF0YSBzY2Fu a2V5OworCVN5c1NjYW5EZXNjIHNjYW47CisJYm9vbCAgICAgICAgICAgIGlzX2NsdDsKIAogCXJl bCA9IHRhYmxlX29wZW4oU3Vic2NyaXB0aW9uUmVsYXRpb25JZCwgQWNjZXNzU2hhcmVMb2NrKTsK LQlzY2FuID0gdGFibGVfYmVnaW5zY2FuX2NhdGFsb2cocmVsLCAwLCBOVUxMKTsKKwlTY2FuS2V5 SW5pdCgmc2NhbmtleSwKKwkJCQlBbnVtX3BnX3N1YnNjcmlwdGlvbl9zdWJjb25mbGljdGxvZ3Jl bGlkLAorCQkJCUJURXF1YWxTdHJhdGVneU51bWJlciwgRl9PSURFUSwKKwkJCQlPYmplY3RJZEdl dERhdHVtKHJlbGlkKSk7CiAKLQl3aGlsZSAoSGVhcFR1cGxlSXNWYWxpZCh0dXAgPSBoZWFwX2dl dG5leHQoc2NhbiwgRm9yd2FyZFNjYW5EaXJlY3Rpb24pKSkKLQl7Ci0JCUZvcm1fcGdfc3Vic2Ny aXB0aW9uIHN1YmZvcm0gPSAoRm9ybV9wZ19zdWJzY3JpcHRpb24pIEdFVFNUUlVDVCh0dXApOwor CXNjYW4gPSBzeXN0YWJsZV9iZWdpbnNjYW4ocmVsLCBTdWJzY3JpcHRpb25Db25mbGljdHJlbElu ZGV4SWQsCisJCQkJCQkJICB0cnVlLCBOVUxMLCAxLCAmc2NhbmtleSk7CiAKLQkJLyogRGlyZWN0 IE9pZCBjb21wYXJpc29uIGZyb20gY2F0YWxvZyAqLwotCQlpZiAoT2lkSXNWYWxpZChzdWJmb3Jt LT5zdWJjb25mbGljdGxvZ3JlbGlkKSAmJgotCQkJc3ViZm9ybS0+c3ViY29uZmxpY3Rsb2dyZWxp ZCA9PSByZWxpZCkKLQkJewotCQkJaXNfY2x0ID0gdHJ1ZTsKLQkJCWJyZWFrOwotCQl9Ci0JfQor CWlzX2NsdCA9IEhlYXBUdXBsZUlzVmFsaWQoc3lzdGFibGVfZ2V0bmV4dChzY2FuKSk7CiAKLQl0 YWJsZV9lbmRzY2FuKHNjYW4pOworCXN5c3RhYmxlX2VuZHNjYW4oc2Nhbik7CiAJdGFibGVfY2xv c2UocmVsLCBBY2Nlc3NTaGFyZUxvY2spOwogCiAJcmV0dXJuIGlzX2NsdDsKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvY29uZmxpY3QuYyBiL3NyYy9iYWNrZW5k L3JlcGxpY2F0aW9uL2xvZ2ljYWwvY29uZmxpY3QuYwppbmRleCBlMjNmZjBiNzBjZi4uNmZjZTY1 MmRiY2IgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvY29uZmxp Y3QuYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2NvbmZsaWN0LmMKQEAg LTMwMiwxMyArMzAyLDExIEBAIEdldENvbmZsaWN0TG9nVGFibGVJbmZvKENvbmZsaWN0TG9nRGVz dCAqbG9nX2Rlc3QpCiB2b2lkCiBJbnNlcnRDb25mbGljdExvZ1R1cGxlKFJlbGF0aW9uIGNvbmZs aWN0bG9ncmVsKQogewotCWludAkJCW9wdGlvbnMgPSBIRUFQX0lOU0VSVF9OT19MT0dJQ0FMOwot CiAJLyogQSB2YWxpZCB0dXBsZSBtdXN0IGJlIHByZXBhcmVkIGFuZCBzdG9yZWQgaW4gTXlMb2dp Y2FsUmVwV29ya2VyLiAqLwogCUFzc2VydChNeUxvZ2ljYWxSZXBXb3JrZXItPmNvbmZsaWN0X2xv Z190dXBsZSAhPSBOVUxMKTsKIAogCWhlYXBfaW5zZXJ0KGNvbmZsaWN0bG9ncmVsLCBNeUxvZ2lj YWxSZXBXb3JrZXItPmNvbmZsaWN0X2xvZ190dXBsZSwKLQkJCQlHZXRDdXJyZW50Q29tbWFuZElk KHRydWUpLCBvcHRpb25zLCBOVUxMKTsKKwkJCQlHZXRDdXJyZW50Q29tbWFuZElkKHRydWUpLCAw LCBOVUxMKTsKIAogCS8qIEZyZWUgY29uZmxpY3QgbG9nIHR1cGxlLiAqLwogCWhlYXBfZnJlZXR1 cGxlKE15TG9naWNhbFJlcFdvcmtlci0+Y29uZmxpY3RfbG9nX3R1cGxlKTsKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Bnb3V0cHV0L3Bnb3V0cHV0LmMgYi9zcmMvYmFja2Vu ZC9yZXBsaWNhdGlvbi9wZ291dHB1dC9wZ291dHB1dC5jCmluZGV4IDQ1ODQxOGEyNDlkLi43YWI4 Yzk0MjY1MiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vcGdvdXRwdXQvcGdv dXRwdXQuYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9wZ291dHB1dC9wZ291dHB1dC5j CkBAIC0yMDk4LDYgKzIwOTgsNyBAQCBnZXRfcmVsX3N5bmNfZW50cnkoUEdPdXRwdXREYXRhICpk YXRhLCBSZWxhdGlvbiByZWxhdGlvbikKIAkJYm9vbAkJYW1fcGFydGl0aW9uID0gZ2V0X3JlbF9y ZWxpc3BhcnRpdGlvbihyZWxpZCk7CiAJCWNoYXIJCXJlbGtpbmQgPSBnZXRfcmVsX3JlbGtpbmQo cmVsaWQpOwogCQlMaXN0CSAgICpyZWxfcHVibGljYXRpb25zID0gTklMOworCQlib29sCQlpc2Nv bmZsaWN0bG9ncmVsOwogCiAJCS8qIFJlbG9hZCBwdWJsaWNhdGlvbnMgaWYgbmVlZGVkIGJlZm9y ZSB1c2UuICovCiAJCWlmICghcHVibGljYXRpb25zX3ZhbGlkKQpAQCAtMjE3Niw2ICsyMTc3LDE0 IEBAIGdldF9yZWxfc3luY19lbnRyeShQR091dHB1dERhdGEgKmRhdGEsIFJlbGF0aW9uIHJlbGF0 aW9uKQogCQllbnRyeS0+ZXN0YXRlID0gTlVMTDsKIAkJbWVtc2V0KGVudHJ5LT5leHByc3RhdGUs IDAsIHNpemVvZihlbnRyeS0+ZXhwcnN0YXRlKSk7CiAKKwkJLyoKKwkJICogQ2hlY2sgd2hldGhl ciB0aGlzIHRhYmxlIGlzIGEgY29uZmxpY3QgbG9nIHRhYmxlLiBJZiBzbywgYXZvaWQKKwkJICog cHVibGlzaGluZyBpdCB2aWEgRk9SIEFMTCBUQUJMRVMgb3IgRk9SIFRBQkxFUyBJTiBTQ0hFTUEK KwkJICogcHVibGljYXRpb25zLiBIb3dldmVyLCB0aGV5IG1heSBzdGlsbCBiZSBwdWJsaXNoZWQg aWYgZXhwbGljaXRseQorCQkgKiBhZGRlZCB0byBhIEZPUiBUQUJMRSBwdWJsaWNhdGlvbiBmb3Ig dGhpcyB0YWJsZS4KKwkJICovCisJCWlzY29uZmxpY3Rsb2dyZWwgPSBJc0NvbmZsaWN0TG9nVGFi bGUocmVsaWQpOworCiAJCS8qCiAJCSAqIEJ1aWxkIHB1YmxpY2F0aW9uIGNhY2hlLiBXZSBjYW4n dCB1c2Ugb25lIHByb3ZpZGVkIGJ5IHJlbGNhY2hlIGFzCiAJCSAqIHJlbGNhY2hlIGNvbnNpZGVy cyBhbGwgcHVibGljYXRpb25zIHRoYXQgdGhlIGdpdmVuIHJlbGF0aW9uIGlzIGluLApAQCAtMjE5 OSw3ICsyMjA4LDcgQEAgZ2V0X3JlbF9zeW5jX2VudHJ5KFBHT3V0cHV0RGF0YSAqZGF0YSwgUmVs YXRpb24gcmVsYXRpb24pCiAJCQkgKiBJZiB0aGlzIGlzIGEgRk9SIEFMTCBUQUJMRVMgcHVibGlj YXRpb24sIHBpY2sgdGhlIHBhcnRpdGlvbgogCQkJICogcm9vdCBhbmQgc2V0IHRoZSBhbmNlc3Rv ciBsZXZlbCBhY2NvcmRpbmdseS4KIAkJCSAqLwotCQkJaWYgKHB1Yi0+YWxsdGFibGVzKQorCQkJ aWYgKHB1Yi0+YWxsdGFibGVzICYmICFpc2NvbmZsaWN0bG9ncmVsKQogCQkJewogCQkJCXB1Ymxp c2ggPSB0cnVlOwogCQkJCWlmIChwdWItPnB1YnZpYXJvb3QgJiYgYW1fcGFydGl0aW9uKQpAQCAt MjIyNSw4ICsyMjM0LDEyIEBAIGdldF9yZWxfc3luY19lbnRyeShQR091dHB1dERhdGEgKmRhdGEs IFJlbGF0aW9uIHJlbGF0aW9uKQogCQkJCXsKIAkJCQkJT2lkCQkJYW5jZXN0b3I7CiAJCQkJCWlu dAkJCWxldmVsOwotCQkJCQlMaXN0CSAgICphbmNlc3RvcnMgPSBnZXRfcGFydGl0aW9uX2FuY2Vz dG9ycyhyZWxpZCk7CisJCQkJCUxpc3QJICAgKmFuY2VzdG9yczsKKworCQkJCQkvKiBDb25mbGlj dCBsb2cgdGFibGUgY2Fubm90IGJlIGEgcGFydGl0aW9uICovCisJCQkJCUFzc2VydChpc2NvbmZs aWN0bG9ncmVsID09IGZhbHNlKTsKIAorCQkJCQlhbmNlc3RvcnMgPSBnZXRfcGFydGl0aW9uX2Fu Y2VzdG9ycyhyZWxpZCk7CiAJCQkJCWFuY2VzdG9yID0gR2V0VG9wTW9zdEFuY2VzdG9ySW5QdWJs aWNhdGlvbihwdWItPm9pZCwKIAkJCQkJCQkJCQkJCQkJCSAgIGFuY2VzdG9ycywKIAkJCQkJCQkJ CQkJCQkJCSAgICZsZXZlbCk7CkBAIC0yMjQzLDcgKzIyNTYsOCBAQCBnZXRfcmVsX3N5bmNfZW50 cnkoUEdPdXRwdXREYXRhICpkYXRhLCBSZWxhdGlvbiByZWxhdGlvbikKIAkJCQl9CiAKIAkJCQlp ZiAobGlzdF9tZW1iZXJfb2lkKHB1YmlkcywgcHViLT5vaWQpIHx8Ci0JCQkJCWxpc3RfbWVtYmVy X29pZChzY2hlbWFQdWJpZHMsIHB1Yi0+b2lkKSB8fAorCQkJCQkobGlzdF9tZW1iZXJfb2lkKHNj aGVtYVB1YmlkcywgcHViLT5vaWQpICYmCisJCQkJCSAhaXNjb25mbGljdGxvZ3JlbCkgfHwKIAkJ CQkJYW5jZXN0b3JfcHVibGlzaGVkKQogCQkJCQlwdWJsaXNoID0gdHJ1ZTsKIAkJCX0KZGlmZiAt LWdpdCBhL3NyYy9iaW4vcHNxbC9kZXNjcmliZS5jIGIvc3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMK aW5kZXggMjBmMDhlNTQ4YmEuLjIzMGE2ODg5MmFlIDEwMDY0NAotLS0gYS9zcmMvYmluL3BzcWwv ZGVzY3JpYmUuYworKysgYi9zcmMvYmluL3BzcWwvZGVzY3JpYmUuYwpAQCAtMzA2Myw2ICszMDYz LDcgQEAgZGVzY3JpYmVPbmVUYWJsZURldGFpbHMoY29uc3QgY2hhciAqc2NoZW1hbmFtZSwKIAkJ CQkJCQkJICAiICAgICBKT0lOIHBnX2NhdGFsb2cucGdfcHVibGljYXRpb25fbmFtZXNwYWNlIHBu IE9OIHAub2lkID0gcG4ucG5wdWJpZFxuIgogCQkJCQkJCQkgICIgICAgIEpPSU4gcGdfY2F0YWxv Zy5wZ19jbGFzcyBwYyBPTiBwYy5yZWxuYW1lc3BhY2UgPSBwbi5wbm5zcGlkXG4iCiAJCQkJCQkJ CSAgIldIRVJFIHBjLm9pZCA9JyVzJyBhbmQgcGdfY2F0YWxvZy5wZ19yZWxhdGlvbl9pc19wdWJs aXNoYWJsZSgnJXMnKVxuIgorCQkJCQkJCQkgICJBTkQgTk9UIHBnX2NhdGFsb2cucGdfcmVsYXRp b25faXNfY29uZmxpY3RfbG9nX3RhYmxlKCclcyc6Om9pZClcbiIKIAkJCQkJCQkJICAiVU5JT05c biIKIAkJCQkJCQkJICAiU0VMRUNUIHB1Ym5hbWVcbiIKIAkJCQkJCQkJICAiICAgICAsIHBnX2dl dF9leHByKHByLnBycXVhbCwgYy5vaWQpXG4iCkBAIC0zMDgyLDggKzMwODMsOSBAQCBkZXNjcmli ZU9uZVRhYmxlRGV0YWlscyhjb25zdCBjaGFyICpzY2hlbWFuYW1lLAogCQkJCQkJCQkgICIgICAg ICwgTlVMTFxuIgogCQkJCQkJCQkgICJGUk9NIHBnX2NhdGFsb2cucGdfcHVibGljYXRpb24gcFxu IgogCQkJCQkJCQkgICJXSEVSRSBwLnB1YmFsbHRhYmxlcyBBTkQgcGdfY2F0YWxvZy5wZ19yZWxh dGlvbl9pc19wdWJsaXNoYWJsZSgnJXMnKVxuIgorCQkJCQkJCQkgICJBTkQgTk9UIHBnX2NhdGFs b2cucGdfcmVsYXRpb25faXNfY29uZmxpY3RfbG9nX3RhYmxlKCclcyc6Om9pZClcbiIKIAkJCQkJ CQkJICAiT1JERVIgQlkgMTsiLAotCQkJCQkJCQkgIG9pZCwgb2lkLCBvaWQsIG9pZCk7CisJCQkJ CQkJCSAgb2lkLCBvaWQsIG9pZCwgb2lkLCBvaWQsIG9pZCk7CiAJCQl9CiAJCQllbHNlCiAJCQl7 CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0IGIvc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAppbmRleCA3ZjQ4MTY4N2FmZS4uZDk5Zjg1MDBhYzUgMTAw NjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKKysrIGIvc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdApAQCAtMTIzMjgsNiArMTIzMjgsMTMgQEAKICAgcHJvcmV0 dHlwZSA9PiAnYm9vbCcsIHByb2FyZ3R5cGVzID0+ICdyZWdjbGFzcycsCiAgIHByb3NyYyA9PiAn cGdfcmVsYXRpb25faXNfcHVibGlzaGFibGUnIH0sCiAKKyMgc3Vic2NyaXB0aW9ucworeyBvaWQg PT4gJzYxMjMnLAorICBkZXNjciA9PiAncmV0dXJucyB3aGV0aGVyIGEgcmVsYXRpb24gaXMgYSBz dWJzY3JpcHRpb24gY29uZmxpY3QgbG9nIHRhYmxlJywKKyAgcHJvbmFtZSA9PiAncGdfcmVsYXRp b25faXNfY29uZmxpY3RfbG9nX3RhYmxlJywgcHJvdm9sYXRpbGUgPT4gJ3MnLAorICBwcm9yZXR0 eXBlID0+ICdib29sJywgcHJvYXJndHlwZXMgPT4gJ3JlZ2NsYXNzJywKKyAgcHJvc3JjID0+ICdw Z19yZWxhdGlvbl9pc19jb25mbGljdF9sb2dfdGFibGUnIH0sCisKICMgcmxzCiB7IG9pZCA9PiAn MzI5OCcsCiAgIGRlc2NyID0+ICdyb3cgc2VjdXJpdHkgZm9yIGN1cnJlbnQgY29udGV4dCBhY3Rp dmUgb24gdGFibGUgYnkgdGFibGUgb2lkJywKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFs b2cvcGdfc3Vic2NyaXB0aW9uLmggYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3N1YnNjcmlwdGlv bi5oCmluZGV4IDRhYTI5ZWExNWQ0Li4zZDIyMGIyZGI4YSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uaAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3Bn X3N1YnNjcmlwdGlvbi5oCkBAIC0xMjMsNiArMTIzLDcgQEAgREVDTEFSRV9UT0FTVF9XSVRIX01B Q1JPKHBnX3N1YnNjcmlwdGlvbiwgNDE4MywgNDE4NCwgUGdTdWJzY3JpcHRpb25Ub2FzdFRhYmxl LAogCiBERUNMQVJFX1VOSVFVRV9JTkRFWF9QS0VZKHBnX3N1YnNjcmlwdGlvbl9vaWRfaW5kZXgs IDYxMTQsIFN1YnNjcmlwdGlvbk9iamVjdEluZGV4SWQsIHBnX3N1YnNjcmlwdGlvbiwgYnRyZWUo b2lkIG9pZF9vcHMpKTsKIERFQ0xBUkVfVU5JUVVFX0lOREVYKHBnX3N1YnNjcmlwdGlvbl9zdWJu YW1lX2luZGV4LCA2MTE1LCBTdWJzY3JpcHRpb25OYW1lSW5kZXhJZCwgcGdfc3Vic2NyaXB0aW9u LCBidHJlZShzdWJkYmlkIG9pZF9vcHMsIHN1Ym5hbWUgbmFtZV9vcHMpKTsKK0RFQ0xBUkVfSU5E RVgocGdfc3Vic2NyaXB0aW9uX2NvbmZsaWN0cmVsX2luZGV4LCA2MTIyLCBTdWJzY3JpcHRpb25D b25mbGljdHJlbEluZGV4SWQsIHBnX3N1YnNjcmlwdGlvbiwgYnRyZWUoc3ViY29uZmxpY3Rsb2dy ZWxpZCBvaWRfb3BzKSk7CiAKIE1BS0VfU1lTQ0FDSEUoU1VCU0NSSVBUSU9OT0lELCBwZ19zdWJz Y3JpcHRpb25fb2lkX2luZGV4LCA0KTsKIE1BS0VfU1lTQ0FDSEUoU1VCU0NSSVBUSU9OTkFNRSwg cGdfc3Vic2NyaXB0aW9uX3N1Ym5hbWVfaW5kZXgsIDQpOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9zdWJzY3JpcHRpb24ub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9zdWJzY3JpcHRpb24ub3V0CmluZGV4IGQ1ZjhhYmU5MzI1Li44NGFiYmFhNWE0YSAxMDA2 NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zdWJzY3JpcHRpb24ub3V0CisrKyBi L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3Vic2NyaXB0aW9uLm91dApAQCAtNjQzLDEzICs2 NDMsMTQgQEAgRVhDRVBUSU9OIFdIRU4gaW5zdWZmaWNpZW50X3ByaXZpbGVnZSBUSEVOCiAgICAg UkFJU0UgTk9USUNFICdjYXB0dXJlZCBleHBlY3RlZCBlcnJvcjogaW5zdWZmaWNpZW50X3ByaXZp bGVnZSc7CiBFTkQgJCQ7CiBOT1RJQ0U6ICBjYXB0dXJlZCBleHBlY3RlZCBlcnJvcjogaW5zdWZm aWNpZW50X3ByaXZpbGVnZQotLS0gUFVCTElDQVRJT046IFZlcmlmeSBpbnRlcm5hbCB0YWJsZXMg YXJlIG5vdCBwdWJsaXNoYWJsZQotLS0gcGdfcmVsYXRpb25faXNfcHVibGlzaGFibGUgc2hvdWxk IHJldHVybiBmYWxzZSBmb3IgaW50ZXJuYWwgY29uZmxpY3QgbG9nIHRhYmxlcworLS0gUFVCTElD QVRJT046IFZlcmlmeSBpbnRlcm5hbCB0YWJsZXMgYXJlIHB1Ymxpc2hhYmxlCistLSBwZ19yZWxh dGlvbl9pc19wdWJsaXNoYWJsZSBzaG91bGQgcmV0dXJuIHRydWUgZm9yIGludGVybmFsIGNvbmZs aWN0IGxvZworLS0gdGFibGVzLCBhcyBpdCBjYW4gYmUgcHVibGlzaGVkIHVzaW5nIFRBQkxFIHB1 YmxpY2F0aW9uLgogU0VMRUNUIHBnX3JlbGF0aW9uX2lzX3B1Ymxpc2hhYmxlKHN1YmNvbmZsaWN0 bG9ncmVsaWQpCiBGUk9NIHBnX3N1YnNjcmlwdGlvbiBXSEVSRSBzdWJuYW1lID0gJ3JlZ3Jlc3Nf Y29uZmxpY3RfdGVzdDEnOwogIHBnX3JlbGF0aW9uX2lzX3B1Ymxpc2hhYmxlIAogLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQotIGYKKyB0CiAoMSByb3cpCiAKIC0tIENMRUFOVVA6IFByb3Bl ciBkcm9wIHJlYXBzIHRoZSB0YWJsZQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwv c3Vic2NyaXB0aW9uLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N1YnNjcmlwdGlvbi5zcWwK aW5kZXggNmM3ZjM1OGZmZDIuLjgzYmVmYTg3MjJjIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdy ZXNzL3NxbC9zdWJzY3JpcHRpb24uc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N1YnNj cmlwdGlvbi5zcWwKQEAgLTQ1Miw4ICs0NTIsOSBAQCBFWENFUFRJT04gV0hFTiBpbnN1ZmZpY2ll bnRfcHJpdmlsZWdlIFRIRU4KICAgICBSQUlTRSBOT1RJQ0UgJ2NhcHR1cmVkIGV4cGVjdGVkIGVy cm9yOiBpbnN1ZmZpY2llbnRfcHJpdmlsZWdlJzsKIEVORCAkJDsKIAotLS0gUFVCTElDQVRJT046 IFZlcmlmeSBpbnRlcm5hbCB0YWJsZXMgYXJlIG5vdCBwdWJsaXNoYWJsZQotLS0gcGdfcmVsYXRp b25faXNfcHVibGlzaGFibGUgc2hvdWxkIHJldHVybiBmYWxzZSBmb3IgaW50ZXJuYWwgY29uZmxp Y3QgbG9nIHRhYmxlcworLS0gUFVCTElDQVRJT046IFZlcmlmeSBpbnRlcm5hbCB0YWJsZXMgYXJl IHB1Ymxpc2hhYmxlCistLSBwZ19yZWxhdGlvbl9pc19wdWJsaXNoYWJsZSBzaG91bGQgcmV0dXJu IHRydWUgZm9yIGludGVybmFsIGNvbmZsaWN0IGxvZworLS0gdGFibGVzLCBhcyBpdCBjYW4gYmUg cHVibGlzaGVkIHVzaW5nIFRBQkxFIHB1YmxpY2F0aW9uLgogU0VMRUNUIHBnX3JlbGF0aW9uX2lz X3B1Ymxpc2hhYmxlKHN1YmNvbmZsaWN0bG9ncmVsaWQpCiBGUk9NIHBnX3N1YnNjcmlwdGlvbiBX SEVSRSBzdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3RfdGVzdDEnOwogCi0tIAoyLjQzLjAKCg== --0000000000000fcdda0647a5526c Content-Type: text/x-patch; charset="US-ASCII"; name="v19-0003-Doccumentation-patch.patch" Content-Disposition: attachment; filename="v19-0003-Doccumentation-patch.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mk1aet362 RnJvbSBiMWYyYmUxZWY5MTIzMWJhNmVlNDQyOWNhNzNmYmQ2NjZkY2JjZmM2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEaWxpcCBLdW1hciA8ZGlsaXBrdW1hcmJAZ29vZ2xlLmNvbT4K RGF0ZTogU3VuLCAyMSBEZWMgMjAyNSAxODo1MTo1NyArMDUzMApTdWJqZWN0OiBbUEFUQ0ggdjE5 IDMvNl0gRG9jY3VtZW50YXRpb24gcGF0Y2gKCi0tLQogZG9jL3NyYy9zZ21sL2xvZ2ljYWwtcmVw bGljYXRpb24uc2dtbCAgICAgfCAxMjQgKysrKysrKysrKysrKysrKysrKysrLQogZG9jL3NyYy9z Z21sL3JlZi9hbHRlcl9zdWJzY3JpcHRpb24uc2dtbCAgfCAgMTQgKystCiBkb2Mvc3JjL3NnbWwv cmVmL2NyZWF0ZV9zdWJzY3JpcHRpb24uc2dtbCB8ICAzNiArKysrKysrCiAzIGZpbGVzIGNoYW5n ZWQsIDE2OCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9z cmMvc2dtbC9sb2dpY2FsLXJlcGxpY2F0aW9uLnNnbWwgYi9kb2Mvc3JjL3NnbWwvbG9naWNhbC1y ZXBsaWNhdGlvbi5zZ21sCmluZGV4IDU4Y2U3NWQ4YjYzLi5hMmM2NmIxNjRhMCAxMDA2NDQKLS0t IGEvZG9jL3NyYy9zZ21sL2xvZ2ljYWwtcmVwbGljYXRpb24uc2dtbAorKysgYi9kb2Mvc3JjL3Nn bWwvbG9naWNhbC1yZXBsaWNhdGlvbi5zZ21sCkBAIC0yODksNiArMjg5LDE4IEBACiAgICBvcHRp b24gb2YgPGNvbW1hbmQ+Q1JFQVRFIFNVQlNDUklQVElPTjwvY29tbWFuZD4gZm9yIGRldGFpbHMu CiAgIDwvcGFyYT4KIAorICA8cGFyYT4KKyAgIENvbmZsaWN0cyB0aGF0IG9jY3VyIGR1cmluZyBy ZXBsaWNhdGlvbiBhcmUsIGJ5IGRlZmF1bHQsIGxvZ2dlZCBhcyBwbGFpbiB0ZXh0CisgICBpbiB0 aGUgc2VydmVyIGxvZywgd2hpY2ggY2FuIG1ha2UgYXV0b21hdGVkIG1vbml0b3JpbmcgYW5kIGFu YWx5c2lzIGRpZmZpY3VsdC4KKyAgIFRoZSA8Y29tbWFuZD5DUkVBVEUgU1VCU0NSSVBUSU9OPC9j b21tYW5kPiBjb21tYW5kIHByb3ZpZGVzIHRoZQorICAgPGxpbmsgbGlua2VuZD0ic3FsLWNyZWF0 ZXN1YnNjcmlwdGlvbi1wYXJhbXMtd2l0aC1jb25mbGljdC1sb2ctZGVzdGluYXRpb24iPgorICAg PGxpdGVyYWw+Y29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uPC9saXRlcmFsPjwvbGluaz4gb3B0aW9u IHRvIHJlY29yZCBkZXRhaWxlZAorICAgY29uZmxpY3QgaW5mb3JtYXRpb24gaW4gYSBzdHJ1Y3R1 cmVkLCBxdWVyeWFibGUgZm9ybWF0LiBXaGVuIHRoaXMgcGFyYW1ldGVyCisgICBpcyBzZXQgdG8g PGxpdGVyYWw+dGFibGU8L2xpdGVyYWw+IG9yIDxsaXRlcmFsPmFsbDwvbGl0ZXJhbD4sIHRoZSBz eXN0ZW0KKyAgIGF1dG9tYXRpY2FsbHkgbWFuYWdlcyBhIGRlZGljYXRlZCBjb25mbGljdCBzdG9y YWdlIHRhYmxlLCB3aGljaCBpcyBjcmVhdGVkCisgICBhbmQgZHJvcHBlZCBhbG9uZyB3aXRoIHRo ZSBzdWJzY3JpcHRpb24uIFRoaXMgc2lnbmlmaWNhbnRseSBpbXByb3ZlcyBwb3N0LW1vcnRlbQor ICAgYW5hbHlzaXMgYW5kIG9wZXJhdGlvbmFsIHZpc2liaWxpdHkgb2YgdGhlIHJlcGxpY2F0aW9u IHNldHVwLgorCiAgIDxzZWN0MiBpZD0ibG9naWNhbC1yZXBsaWNhdGlvbi1zdWJzY3JpcHRpb24t c2xvdCI+CiAgICA8dGl0bGU+TG9naWNhbCBSZXBsaWNhdGlvbiBTbG90IE1hbmFnZW1lbnQ8L3Rp dGxlPgogCkBAIC0yMDA2LDkgKzIwMTgsMTUgQEAgUHVibGljYXRpb25zOgogICA8L3BhcmE+CiAK ICAgPHBhcmE+Ci0gICBBZGRpdGlvbmFsIGxvZ2dpbmcgaXMgdHJpZ2dlcmVkLCBhbmQgdGhlIGNv bmZsaWN0IHN0YXRpc3RpY3MgYXJlIGNvbGxlY3RlZCAoZGlzcGxheWVkIGluIHRoZQotICAgPGxp bmsgbGlua2VuZD0ibW9uaXRvcmluZy1wZy1zdGF0LXN1YnNjcmlwdGlvbi1zdGF0cyI+PHN0cnVj dG5hbWU+cGdfc3RhdF9zdWJzY3JpcHRpb25fc3RhdHM8L3N0cnVjdG5hbWU+PC9saW5rPiB2aWV3 KQotICAgaW4gdGhlIGZvbGxvd2luZyA8Zmlyc3R0ZXJtPmNvbmZsaWN0PC9maXJzdHRlcm0+IGNh c2VzOgorICAgQWRkaXRpb25hbCBsb2dnaW5nIGlzIHRyaWdnZXJlZCwgYW5kIHRoZSBjb25mbGlj dCBzdGF0aXN0aWNzIGFyZSBjb2xsZWN0ZWQKKyAgIChkaXNwbGF5ZWQgaW4gdGhlIDxsaW5rIGxp bmtlbmQ9Im1vbml0b3JpbmctcGctc3RhdC1zdWJzY3JpcHRpb24tc3RhdHMiPgorICAgPHN0cnVj dG5hbWU+cGdfc3RhdF9zdWJzY3JpcHRpb25fc3RhdHM8L3N0cnVjdG5hbWU+PC9saW5rPiB2aWV3 KQorICAgaW4gdGhlIGZvbGxvd2luZyA8Zmlyc3R0ZXJtPmNvbmZsaWN0PC9maXJzdHRlcm0+IGNh c2VzLiBJZiB0aGUgc3Vic2NyaXB0aW9uCisgICB3YXMgY3JlYXRlZCB3aXRoIHRoZSA8bGl0ZXJh bD5jb25mbGljdF9sb2dfZGVzdGluYXRpb248L2xpdGVyYWw+IHNldCB0bworICAgPGxpdGVyYWw+ dGFibGU8L2xpdGVyYWw+IG9yIDxsaXRlcmFsPmFsbDwvbGl0ZXJhbD4sIGRldGFpbGVkIGNvbmZs aWN0CisgICBpbmZvcm1hdGlvbiBpcyBpbnNlcnRlZCBpbnRvIGFuIGludGVybmFsbHkgbWFuYWdl ZCB0YWJsZSBuYW1lZAorICAgPGxpdGVyYWw+cGdfY29uZmxpY3QucGdfY29uZmxpY3RfPHJlcGxh Y2VhYmxlPnN1YnNjcmlwdGlvbl9vaWQ8L3JlcGxhY2VhYmxlPgorICAgPC9saXRlcmFsPiwgcHJv dmlkaW5nIGEgc3RydWN0dXJlZCByZWNvcmQgb2YgYWxsIGNvbmZsaWN0cy4KICAgIDx2YXJpYWJs ZWxpc3Q+CiAgICAgPHZhcmxpc3RlbnRyeSBpZD0iY29uZmxpY3QtaW5zZXJ0LWV4aXN0cyIgeHJl ZmxhYmVsPSJpbnNlcnRfZXhpc3RzIj4KICAgICAgPHRlcm0+PGxpdGVyYWw+aW5zZXJ0X2V4aXN0 czwvbGl0ZXJhbD48L3Rlcm0+CkBAIC0yMTE4LDcgKzIxMzYsOTYgQEAgUHVibGljYXRpb25zOgog ICA8L3BhcmE+CiAKICAgPHBhcmE+Ci0gICBUaGUgbG9nIGZvcm1hdCBmb3IgbG9naWNhbCByZXBs aWNhdGlvbiBjb25mbGljdHMgaXMgYXMgZm9sbG93czoKKyAgIFdoZW4gdGhlIDxsaXRlcmFsPmNv bmZsaWN0X2xvZ19kZXN0aW5hdGlvbjwvbGl0ZXJhbD4gaXMgc2V0IHRvCisgICA8bGl0ZXJhbD50 YWJsZTwvbGl0ZXJhbD4gb3IgPGxpdGVyYWw+YWxsPC9saXRlcmFsPiwgdGhlIHN5c3RlbSBhdXRv bWF0aWNhbGx5CisgICBjcmVhdGVzIGEgbmV3IHRhYmxlIHdpdGggYSBwcmVkZWZpbmVkIHNjaGVt YSB0byBsb2cgY29uZmxpY3QgZGV0YWlscy4gVGhpcworICAgdGFibGUgaXMgY3JlYXRlZCBpbiB0 aGUgZGVkaWNhdGVkIDxsaXRlcmFsPnBnX2NvbmZsaWN0PC9saXRlcmFsPiBuYW1lc3BhY2UuCisg ICBUaGUgc2NoZW1hIG9mIHRoaXMgdGFibGUgaXMgZGV0YWlsZWQgaW4KKyAgIDx4cmVmIGxpbmtl bmQ9ImxvZ2ljYWwtcmVwbGljYXRpb24tY29uZmxpY3QtbG9nLXNjaGVtYSIvPi4KKyAgPC9wYXJh PgorCisgIDx0YWJsZSBpZD0ibG9naWNhbC1yZXBsaWNhdGlvbi1jb25mbGljdC1sb2ctc2NoZW1h Ij4KKyAgIDx0aXRsZT5Db25mbGljdCBMb2cgVGFibGUgU2NoZW1hPC90aXRsZT4KKyAgIDx0Z3Jv dXAgY29scz0iMyI+CisgICAgPHRoZWFkPgorICAgICA8cm93PgorICAgICAgPGVudHJ5PkNvbHVt bjwvZW50cnk+CisgICAgICA8ZW50cnk+VHlwZTwvZW50cnk+CisgICAgICA8ZW50cnk+RGVzY3Jp cHRpb248L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICA8L3RoZWFkPgorICAgIDx0Ym9keT4KKyAg ICAgPHJvdz4KKyAgICAgIDxlbnRyeT48bGl0ZXJhbD5yZWxpZDwvbGl0ZXJhbD48L2VudHJ5Pgor ICAgICAgPGVudHJ5Pjx0eXBlPm9pZDwvdHlwZT48L2VudHJ5PgorICAgICAgPGVudHJ5PlRoZSBP SUQgb2YgdGhlIGxvY2FsIHRhYmxlIHdoZXJlIHRoZSBjb25mbGljdCBvY2N1cnJlZC48L2VudHJ5 PgorICAgICA8L3Jvdz4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeT48bGl0ZXJhbD5zY2hlbWFu YW1lPC9saXRlcmFsPjwvZW50cnk+CisgICAgICA8ZW50cnk+PHR5cGU+dGV4dDwvdHlwZT48L2Vu dHJ5PgorICAgICAgPGVudHJ5PlRoZSBzY2hlbWEgbmFtZSBvZiB0aGUgY29uZmxpY3RpbmcgdGFi bGUuPC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgIDxyb3c+CisgICAgICA8ZW50cnk+PGxpdGVy YWw+cmVsbmFtZTwvbGl0ZXJhbD48L2VudHJ5PgorICAgICAgPGVudHJ5Pjx0eXBlPnRleHQ8L3R5 cGU+PC9lbnRyeT4KKyAgICAgIDxlbnRyeT5UaGUgbmFtZSBvZiB0aGUgY29uZmxpY3RpbmcgdGFi bGUuPC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgIDxyb3c+CisgICAgICA8ZW50cnk+PGxpdGVy YWw+Y29uZmxpY3RfdHlwZTwvbGl0ZXJhbD48L2VudHJ5PgorICAgICAgPGVudHJ5Pjx0eXBlPnRl eHQ8L3R5cGU+PC9lbnRyeT4KKyAgICAgIDxlbnRyeT5UaGUgdHlwZSBvZiBjb25mbGljdCB0aGF0 IG9jY3VycmVkIChlLmcuLCA8bGl0ZXJhbD5pbnNlcnRfZXhpc3RzPC9saXRlcmFsPikuPC9lbnRy eT4KKyAgICAgPC9yb3c+CisgICAgIDxyb3c+CisgICAgICA8ZW50cnk+PGxpdGVyYWw+cmVtb3Rl X3hpZDwvbGl0ZXJhbD48L2VudHJ5PgorICAgICAgPGVudHJ5Pjx0eXBlPnhpZDwvdHlwZT48L2Vu dHJ5PgorICAgICAgPGVudHJ5PlRoZSByZW1vdGUgdHJhbnNhY3Rpb24gSUQgdGhhdCBjYXVzZWQg dGhlIGNvbmZsaWN0LjwvZW50cnk+CisgICAgIDwvcm93PgorICAgICA8cm93PgorICAgICAgPGVu dHJ5PjxsaXRlcmFsPnJlbW90ZV9jb21taXRfbHNuPC9saXRlcmFsPjwvZW50cnk+CisgICAgICA8 ZW50cnk+PHR5cGU+cGdfbHNuPC90eXBlPjwvZW50cnk+CisgICAgICA8ZW50cnk+VGhlIGZpbmFs IExTTiBvZiB0aGUgcmVtb3RlIHRyYW5zYWN0aW9uLjwvZW50cnk+CisgICAgIDwvcm93PgorICAg ICA8cm93PgorICAgICAgPGVudHJ5PjxsaXRlcmFsPnJlbW90ZV9jb21taXRfdHM8L2xpdGVyYWw+ PC9lbnRyeT4KKyAgICAgIDxlbnRyeT48dHlwZT50aW1lc3RhbXB0ejwvdHlwZT48L2VudHJ5Pgor ICAgICAgPGVudHJ5PlRoZSByZW1vdGUgY29tbWl0IHRpbWVzdGFtcCBvZiB0aGUgcmVtb3RlIHRy YW5zYWN0aW9uLjwvZW50cnk+CisgICAgIDwvcm93PgorICAgICA8cm93PgorICAgICAgPGVudHJ5 PjxsaXRlcmFsPnJlbW90ZV9vcmlnaW48L2xpdGVyYWw+PC9lbnRyeT4KKyAgICAgIDxlbnRyeT48 dHlwZT50ZXh0PC90eXBlPjwvZW50cnk+CisgICAgICA8ZW50cnk+VGhlIG9yaWdpbiBvZiB0aGUg cmVtb3RlIHRyYW5zYWN0aW9uLjwvZW50cnk+CisgICAgIDwvcm93PgorICAgICA8cm93PgorICAg ICAgPGVudHJ5PjxsaXRlcmFsPnJlbW90ZV90dXBsZTwvbGl0ZXJhbD48L2VudHJ5PgorICAgICAg PGVudHJ5Pjx0eXBlPmpzb248L3R5cGU+PC9lbnRyeT4KKyAgICAgIDxlbnRyeT5UaGUgSlNPTiBy ZXByZXNlbnRhdGlvbiBvZiB0aGUgaW5jb21pbmcgcmVtb3RlIHJvdyB0aGF0IGNhdXNlZCB0aGUg Y29uZmxpY3QuPC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgIDxyb3c+CisgICAgICA8ZW50cnk+ PGxpdGVyYWw+bG9jYWxfY29uZmxpY3RzPC9saXRlcmFsPjwvZW50cnk+CisgICAgICA8ZW50cnk+ PHR5cGU+anNvbltdPC90eXBlPjwvZW50cnk+CisgICAgICA8ZW50cnk+CisgICAgICAgQW4gYXJy YXkgb2YgSlNPTiBvYmplY3RzIHJlcHJlc2VudGluZyB0aGUgbG9jYWwgc3RhdGUgZm9yIGVhY2gg Y29uZmxpY3QgYXR0ZW1wdC4KKyAgICAgICBFYWNoIG9iamVjdCBpbmNsdWRlcyB0aGUgbG9jYWwg dHJhbnNhY3Rpb24gSUQgKDxsaXRlcmFsPnhpZDwvbGl0ZXJhbD4pLCBjb21taXQKKyAgICAgICB0 aW1lc3RhbXAgKDxsaXRlcmFsPmNvbW1pdF90czwvbGl0ZXJhbD4pLCBvcmlnaW4gKDxsaXRlcmFs Pm9yaWdpbjwvbGl0ZXJhbD4pLAorICAgICAgIGNvbmZsaWN0aW5nIGtleSBkYXRhICg8bGl0ZXJh bD5rZXk8L2xpdGVyYWw+KSwgYW5kIHRoZSBmdWxsIGxvY2FsIHJvdworICAgICAgIGltYWdlICg8 bGl0ZXJhbD50dXBsZTwvbGl0ZXJhbD4pLgorICAgICAgPC9lbnRyeT4KKyAgICAgPC9yb3c+Cisg ICAgPC90Ym9keT4KKyAgIDwvdGdyb3VwPgorICA8L3RhYmxlPgorCisgIDxwYXJhPgorICAgVGhl IGNvbmZsaWN0aW5nIHJvdyBkYXRhLCBpbmNsdWRpbmcgdGhlIG9yaWdpbmFsIGxvY2FsIHR1cGxl IGFuZAorICAgdGhlIHJlbW90ZSB0dXBsZSwgaXMgc3RvcmVkIGluIDx0eXBlPkpTT048L3R5cGU+ IGNvbHVtbnMgKDxsaXRlcmFsPmxvY2FsX3R1cGxlPC9saXRlcmFsPgorICAgYW5kIDxsaXRlcmFs PnJlbW90ZV90dXBsZTwvbGl0ZXJhbD4pIGZvciBmbGV4aWJsZSBxdWVyeWluZyBhbmQgYW5hbHlz aXMuCisgIDwvcGFyYT4KKworICA8cGFyYT4KKyAgIElmIDxsaXRlcmFsPmNvbmZsaWN0X2xvZ19k ZXN0aW5hdGlvbjwvbGl0ZXJhbD4gaXMgbGVmdCBhdCB0aGUgZGVmYXVsdAorICAgc2V0dGluZyBv ciBleHBsaWNpdGx5IGNvbmZpZ3VyZWQgYXMgPGxpdGVyYWw+bG9nPC9saXRlcmFsPiBvcgorICAg PGxpdGVyYWw+YWxsPC9saXRlcmFsPiwgbG9naWNhbCByZXBsaWNhdGlvbiBjb25mbGljdHMgYXJl IGxvZ2dlZCBpbiB0aGUKKyAgIGZvbGxvd2luZyBmb3JtYXQ6CiA8c3lub3BzaXM+CiBMT0c6ICBj b25mbGljdCBkZXRlY3RlZCBvbiByZWxhdGlvbiAiPHJlcGxhY2VhYmxlPnNjaGVtYW5hbWU8L3Jl cGxhY2VhYmxlPi48cmVwbGFjZWFibGU+dGFibGVuYW1lPC9yZXBsYWNlYWJsZT4iOiBjb25mbGlj dD08cmVwbGFjZWFibGU+Y29uZmxpY3RfdHlwZTwvcmVwbGFjZWFibGU+CiBERVRBSUw6ICA8cmVw bGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZGV0YWlsZWRfZXhwbGFuYXRpb248L3JlcGxhY2Vh YmxlPi4KQEAgLTI0MTIsNiArMjUxOSwxNSBAQCBDT05URVhUOiAgcHJvY2Vzc2luZyByZW1vdGUg ZGF0YSBmb3IgcmVwbGljYXRpb24gb3JpZ2luICJwZ18xNjM5NSIgZHVyaW5nICJJTlNFUgogICAg ICBrZXkgb3IgcmVwbGljYSBpZGVudGl0eSBkZWZpbmVkIGZvciBpdC4KICAgICA8L3BhcmE+CiAg ICA8L2xpc3RpdGVtPgorCisgICA8bGlzdGl0ZW0+CisgICAgPHBhcmE+CisgICAgIFRoZSBpbnRl cm5hbCB0YWJsZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgd2hlbiA8bGl0ZXJhbD5jb25mbGljdF9s b2dfZGVzdGluYXRpb248L2xpdGVyYWw+CisgICAgIGlzIHNldCB0byA8bGl0ZXJhbD50YWJsZTwv bGl0ZXJhbD4gb3IgPGxpdGVyYWw+YWxsPC9saXRlcmFsPiBpcyBleGNsdWRlZCBmcm9tCisgICAg IGxvZ2ljYWwgcmVwbGljYXRpb24uIEl0IHdpbGwgbm90IGJlIHB1Ymxpc2hlZCwgZXZlbiBpZiBh IHB1YmxpY2F0aW9uIG9uIHRoZQorICAgICBzdWJzY3JpYmVyIGlzIGRlZmluZWQgdXNpbmcgPGxp dGVyYWw+Rk9SIEFMTCBUQUJMRVM8L2xpdGVyYWw+LgorICAgIDwvcGFyYT4KKyAgIDwvbGlzdGl0 ZW0+CiAgIDwvaXRlbWl6ZWRsaXN0PgogIDwvc2VjdDE+CiAKZGlmZiAtLWdpdCBhL2RvYy9zcmMv c2dtbC9yZWYvYWx0ZXJfc3Vic2NyaXB0aW9uLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2FsdGVy X3N1YnNjcmlwdGlvbi5zZ21sCmluZGV4IDI3YzA2NDM5ZjRmLi45MDMzMWY1OTBlMCAxMDA2NDQK LS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl9zdWJzY3JpcHRpb24uc2dtbAorKysgYi9kb2Mv c3JjL3NnbWwvcmVmL2FsdGVyX3N1YnNjcmlwdGlvbi5zZ21sCkBAIC0yODAsOCArMjgwLDkgQEAg QUxURVIgU1VCU0NSSVBUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9y ZXBsYWNlYWJsZT4gUkVOQU1FIFRPIDwKICAgICAgIDxsaW5rIGxpbmtlbmQ9InNxbC1jcmVhdGVz dWJzY3JpcHRpb24tcGFyYW1zLXdpdGgtb3JpZ2luIj48bGl0ZXJhbD5vcmlnaW48L2xpdGVyYWw+ PC9saW5rPiwKICAgICAgIDxsaW5rIGxpbmtlbmQ9InNxbC1jcmVhdGVzdWJzY3JpcHRpb24tcGFy YW1zLXdpdGgtZmFpbG92ZXIiPjxsaXRlcmFsPmZhaWxvdmVyPC9saXRlcmFsPjwvbGluaz4sCiAg ICAgICA8bGluayBsaW5rZW5kPSJzcWwtY3JlYXRlc3Vic2NyaXB0aW9uLXBhcmFtcy13aXRoLXR3 by1waGFzZSI+PGxpdGVyYWw+dHdvX3BoYXNlPC9saXRlcmFsPjwvbGluaz4sCi0gICAgICA8bGlu ayBsaW5rZW5kPSJzcWwtY3JlYXRlc3Vic2NyaXB0aW9uLXBhcmFtcy13aXRoLXJldGFpbi1kZWFk LXR1cGxlcyI+PGxpdGVyYWw+cmV0YWluX2RlYWRfdHVwbGVzPC9saXRlcmFsPjwvbGluaz4sIGFu ZAotICAgICAgPGxpbmsgbGlua2VuZD0ic3FsLWNyZWF0ZXN1YnNjcmlwdGlvbi1wYXJhbXMtd2l0 aC1tYXgtcmV0ZW50aW9uLWR1cmF0aW9uIj48bGl0ZXJhbD5tYXhfcmV0ZW50aW9uX2R1cmF0aW9u PC9saXRlcmFsPjwvbGluaz4uCisgICAgICA8bGluayBsaW5rZW5kPSJzcWwtY3JlYXRlc3Vic2Ny aXB0aW9uLXBhcmFtcy13aXRoLXJldGFpbi1kZWFkLXR1cGxlcyI+PGxpdGVyYWw+cmV0YWluX2Rl YWRfdHVwbGVzPC9saXRlcmFsPjwvbGluaz4sCisgICAgICA8bGluayBsaW5rZW5kPSJzcWwtY3Jl YXRlc3Vic2NyaXB0aW9uLXBhcmFtcy13aXRoLW1heC1yZXRlbnRpb24tZHVyYXRpb24iPjxsaXRl cmFsPm1heF9yZXRlbnRpb25fZHVyYXRpb248L2xpdGVyYWw+PC9saW5rPiBhbmQsCisgICAgICA8 bGluayBsaW5rZW5kPSJzcWwtY3JlYXRlc3Vic2NyaXB0aW9uLXBhcmFtcy13aXRoLWNvbmZsaWN0 LWxvZy1kZXN0aW5hdGlvbiI+PGxpdGVyYWw+Y29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uPC9saXRl cmFsPjwvbGluaz4uCiAgICAgICBPbmx5IGEgc3VwZXJ1c2VyIGNhbiBzZXQgPGxpdGVyYWw+cGFz c3dvcmRfcmVxdWlyZWQgPSBmYWxzZTwvbGl0ZXJhbD4uCiAgICAgIDwvcGFyYT4KIApAQCAtMzM5 LDYgKzM0MCwxNSBAQCBBTFRFUiBTVUJTQ1JJUFRJT04gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPiBSRU5BTUUgVE8gPAogICAgICAgPHF1b3RlPjxsaXRl cmFsPnBnX2NvbmZsaWN0X2RldGVjdGlvbjwvbGl0ZXJhbD48L3F1b3RlPiwgY3JlYXRlZCB0byBy ZXRhaW4KICAgICAgIGRlYWQgdHVwbGVzIGZvciBjb25mbGljdCBkZXRlY3Rpb24sIHdpbGwgYmUg ZHJvcHBlZC4KICAgICAgPC9wYXJhPgorCisgICAgIDxwYXJhPgorICAgICAgV2hlbiB0aGUgPGxp dGVyYWw+Y29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uPC9saXRlcmFsPiBwYXJhbWV0ZXIgaXMgc2V0 IHRvCisgICAgICA8bGl0ZXJhbD50YWJsZTwvbGl0ZXJhbD4gb3IgPGxpdGVyYWw+YWxsPC9saXRl cmFsPiwgdGhlIHN5c3RlbQorICAgICAgYXV0b21hdGljYWxseSBjcmVhdGVzIHRoZSBpbnRlcm5h bCBsb2dnaW5nIHRhYmxlIGlmIGl0IGRvZXMgbm90IGFscmVhZHkKKyAgICAgIGV4aXN0LiBDb252 ZXJzZWx5LCBpZiB0aGUgZGVzdGluYXRpb24gaXMgY2hhbmdlZCB0bworICAgICAgPGxpdGVyYWw+ bG9nPC9saXRlcmFsPiwgbG9nZ2luZyB0byB0aGUgdGFibGUgc3RvcHMgYW5kIHRoZSBpbnRlcm5h bAorICAgICAgdGFibGUgaXMgYXV0b21hdGljYWxseSBkcm9wcGVkLgorICAgICA8L3BhcmE+CiAg ICAgPC9saXN0aXRlbT4KICAgIDwvdmFybGlzdGVudHJ5PgogCmRpZmYgLS1naXQgYS9kb2Mvc3Jj L3NnbWwvcmVmL2NyZWF0ZV9zdWJzY3JpcHRpb24uc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvY3Jl YXRlX3N1YnNjcmlwdGlvbi5zZ21sCmluZGV4IGI3ZGQzNjEyOTRiLi5mNTBiZGI1MmYzNSAxMDA2 NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfc3Vic2NyaXB0aW9uLnNnbWwKKysrIGIv ZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfc3Vic2NyaXB0aW9uLnNnbWwKQEAgLTI3NCw2ICsyNzQs NDIgQEAgQ1JFQVRFIFNVQlNDUklQVElPTiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ c3Vic2NyaXB0aW9uX25hbWU8L3JlcGxhY2VhYmwKICAgICAgICAgPC9saXN0aXRlbT4KICAgICAg ICA8L3Zhcmxpc3RlbnRyeT4KIAorICAgICAgIDx2YXJsaXN0ZW50cnkgaWQ9InNxbC1jcmVhdGVz dWJzY3JpcHRpb24tcGFyYW1zLXdpdGgtY29uZmxpY3QtbG9nLWRlc3RpbmF0aW9uIj4KKyAgICAg ICAgPHRlcm0+PGxpdGVyYWw+Y29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uPC9saXRlcmFsPiAoPHR5 cGU+ZW51bTwvdHlwZT4pPC90ZXJtPgorICAgICAgICA8bGlzdGl0ZW0+CisgICAgICAgICA8cGFy YT4KKyAgICAgICAgICBTcGVjaWZpZXMgdGhlIGRlc3RpbmF0aW9uIGZvciByZWNvcmRpbmcgbG9n aWNhbCByZXBsaWNhdGlvbiBjb25mbGljdHMuCisgICAgICAgICAgVGhlIHN1cHBvcnRlZCB2YWx1 ZXMgYXJlIDxsaXRlcmFsPmxvZzwvbGl0ZXJhbD4sIDxsaXRlcmFsPnRhYmxlPC9saXRlcmFsPiwK KyAgICAgICAgICBhbmQgPGxpdGVyYWw+YWxsPC9saXRlcmFsPi4gVGhlIGRlZmF1bHQgaXMgPGxp dGVyYWw+bG9nPC9saXRlcmFsPi4KKyAgICAgICAgIDwvcGFyYT4KKyAgICAgICAgIDxwYXJhPgor ICAgICAgICAgIFRoZSBhdmFpbGFibGUgZGVzdGluYXRpb25zIGFyZToKKyAgICAgICAgICA8aXRl bWl6ZWRsaXN0PgorICAgICAgICAgICA8bGlzdGl0ZW0+CisgICAgICAgICAgICA8cGFyYT4KKyAg ICAgICAgICAgICA8bGl0ZXJhbD5sb2c8L2xpdGVyYWw+OiBDb25mbGljdCBkZXRhaWxzIGFyZSBy ZWNvcmRlZCBpbiB0aGUgc2VydmVyIGxvZy4KKyAgICAgICAgICAgICBUaGlzIGlzIHRoZSBkZWZh dWx0IGJlaGF2aW9yLgorICAgICAgICAgICAgPC9wYXJhPgorICAgICAgICAgICA8L2xpc3RpdGVt PgorICAgICAgICAgICA8bGlzdGl0ZW0+CisgICAgICAgICAgICA8cGFyYT4KKyAgICAgICAgICAg ICA8bGl0ZXJhbD50YWJsZTwvbGl0ZXJhbD46IFRoZSBzeXN0ZW0gYXV0b21hdGljYWxseSBjcmVh dGVzIGEgc3RydWN0dXJlZCB0YWJsZQorICAgICAgICAgICAgIG5hbWVkIDxsaXRlcmFsPnBnX2Nv bmZsaWN0LmNvbmZsaWN0X2xvZ190YWJsZV8mbHQ7c3ViaWQmZ3Q7PC9saXRlcmFsPi4KKyAgICAg ICAgICAgICBUaGlzIGFsbG93cyBmb3IgZWFzeSBxdWVyeWluZyBhbmQgYW5hbHlzaXMgb2YgY29u ZmxpY3RzLiBUaGlzIHRhYmxlIGlzCisgICAgICAgICAgICAgYXV0b21hdGljYWxseSBkcm9wcGVk IHdoZW4gdGhlIHN1YnNjcmlwdGlvbiBpcyByZW1vdmVkLgorICAgICAgICAgICAgPC9wYXJhPgor ICAgICAgICAgICA8L2xpc3RpdGVtPgorICAgICAgICAgICA8bGlzdGl0ZW0+CisgICAgICAgICAg ICA8cGFyYT4KKyAgICAgICAgICAgICA8bGl0ZXJhbD5hbGw8L2xpdGVyYWw+OiBSZWNvcmRzIHRo ZSBjb25mbGljdCBpbmZvcm1hdGlvbiB0byBib3RoIHRoZSBzZXJ2ZXIgbG9nCisgICAgICAgICAg ICAgYW5kIHRoZSBkZWRpY2F0ZWQgY29uZmxpY3QgdGFibGUuCisgICAgICAgICAgICA8L3BhcmE+ CisgICAgICAgICAgIDwvbGlzdGl0ZW0+CisgICAgICAgICAgPC9pdGVtaXplZGxpc3Q+CisgICAg ICAgICA8L3BhcmE+CisgICAgICAgIDwvbGlzdGl0ZW0+CisgICAgICAgPC92YXJsaXN0ZW50cnk+ CisKICAgICAgICA8dmFybGlzdGVudHJ5IGlkPSJzcWwtY3JlYXRlc3Vic2NyaXB0aW9uLXBhcmFt cy13aXRoLXN0cmVhbWluZyI+CiAgICAgICAgIDx0ZXJtPjxsaXRlcmFsPnN0cmVhbWluZzwvbGl0 ZXJhbD4gKDx0eXBlPmVudW08L3R5cGU+KTwvdGVybT4KICAgICAgICAgPGxpc3RpdGVtPgotLSAK Mi40My4wCgo= --0000000000000fcdda0647a5526c Content-Type: text/x-patch; charset="US-ASCII"; name="v19-0005-Preserve-conflict-log-destination-and-subscripti.patch" Content-Disposition: attachment; filename="v19-0005-Preserve-conflict-log-destination-and-subscripti.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mk1aet3r4 RnJvbSAxNTczNmY2NjkwYWVhNTExNGFmNTYxNGJkNGU4NzE3Nzk1NDZhNDU3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaWduZXNoIEMgPHZpZ25lc2gyMUBnbWFpbC5jb20+CkRhdGU6 IE1vbiwgNSBKYW4gMjAyNiAxNTo1NzowNCArMDUzMApTdWJqZWN0OiBbUEFUQ0ggdjE5IDUvNl0g UHJlc2VydmUgY29uZmxpY3QgbG9nIGRlc3RpbmF0aW9uIGFuZCBzdWJzY3JpcHRpb24KIE9JRCBm b3Igc3Vic2NyaXB0aW9ucwoKU3VwcG9ydCBwZ19kdW1wIHRvIGR1bXAgYW5kIHJlc3RvcmUgdGhl IGNvbmZsaWN0X2xvZ19kZXN0aW5hdGlvbiBzZXR0aW5nIGZvcgpzdWJzY3JpcHRpb25zLgoKRHVy aW5nIGEgbm9ybWFsIENSRUFURSBTVUJTQ1JJUFRJT04sIGEgY29uZmxpY3QgbG9nIHRhYmxlIGlz IGNyZWF0ZWQKYXV0b21hdGljYWxseSB3aGVuIHJlcXVpcmVkLiBIb3dldmVyLCBkdXJpbmcgYmlu YXJ5IHVwZ3JhZGUsIHRoZSBjb25mbGljdApsb2cgdGFibGUgd2lsbCBhbHJlYWR5IGV4aXN0IGFu ZCBtdXN0IGJlIHJldXNlZCByYXRoZXIgdGhhbiByZWNyZWF0ZWQsIGFuZAp0aGUgc3Vic2NyaXB0 aW9uIG11c3QgcmV0YWluIGl0cyBvcmlnaW5hbCBPSUQgdG8gY29ycmVjdGx5IHJlLWVzdGFibGlz aApjYXRhbG9nIHJlbGF0aW9uc2hpcHMuCgpUbyBlbnN1cmUgY29ycmVjdCBiZWhhdmlvciwgcGdf ZHVtcCBub3cgZW1pdHMgYW4gQUxURVIgU1VCU0NSSVBUSU9OIGNvbW1hbmQKYWZ0ZXIgc3Vic2Ny aXB0aW9uIGNyZWF0aW9uIHRvIHJlc3RvcmUgdGhlIGNvbmZsaWN0X2xvZ19kZXN0aW5hdGlvbiBz ZXR0aW5nLgotLS0KIHNyYy9iYWNrZW5kL2NhdGFsb2cvaGVhcC5jICAgICAgICAgICAgICAgICAg ICB8ICAgNCArLQogc3JjL2JhY2tlbmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jICAgICAg IHwgMTQ0ICsrKysrKysrKysrKystLS0tLQogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3BnX3VwZ3Jh ZGVfc3VwcG9ydC5jICAgIHwgIDEwICsrCiBzcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jICAgICAg ICAgICAgICAgICAgICAgfCAxMDIgKysrKysrKysrKysrLQogc3JjL2Jpbi9wZ19kdW1wL3BnX2R1 bXAuaCAgICAgICAgICAgICAgICAgICAgIHwgICAyICsKIHNyYy9iaW4vcGdfZHVtcC9wZ19kdW1w X3NvcnQuYyAgICAgICAgICAgICAgICB8ICAzMSArKysrCiBzcmMvYmluL3BnX2R1bXAvdC8wMDJf cGdfZHVtcC5wbCAgICAgICAgICAgICAgfCAgIDUgKy0KIHNyYy9iaW4vcGdfdXBncmFkZS9wZ191 cGdyYWRlLmMgICAgICAgICAgICAgICB8ICAgNCArCiBzcmMvYmluL3BnX3VwZ3JhZGUvdC8wMDRf c3Vic2NyaXB0aW9uLnBsICAgICAgfCAgMTQgKy0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvYmluYXJ5 X3VwZ3JhZGUuaCAgICAgICAgICB8ICAgMSArCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2Mu ZGF0ICAgICAgICAgICAgICAgfCAgIDQgKwogLi4uL2V4cGVjdGVkL3NwZ2lzdF9uYW1lX29wcy5v dXQgICAgICAgICAgICAgIHwgICA2ICstCiAxMiBmaWxlcyBjaGFuZ2VkLCAyNzggaW5zZXJ0aW9u cygrKSwgNDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9o ZWFwLmMgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2hlYXAuYwppbmRleCAxMGRhZGYzNzhhNC4uM2Vj YTBiMDIwZjAgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvaGVhcC5jCisrKyBiL3Ny Yy9iYWNrZW5kL2NhdGFsb2cvaGVhcC5jCkBAIC0zMTEsMTEgKzMxMSwxMyBAQCBoZWFwX2NyZWF0 ZShjb25zdCBjaGFyICpyZWxuYW1lLAogCSAqIEJ1dCBhbGxvdyBjcmVhdGluZyBpbmRleGVzIG9u IHJlbGF0aW9ucyBpbiBwZ19jYXRhbG9nIGV2ZW4gaWYKIAkgKiBhbGxvd19zeXN0ZW1fdGFibGVf bW9kcyA9IG9mZiwgdXBwZXIgbGF5ZXJzIGFscmVhZHkgZ3VhcmFudGVlIGl0J3Mgb24gYQogCSAq IHVzZXIgZGVmaW5lZCByZWxhdGlvbiwgbm90IGEgc3lzdGVtIG9uZS4KKwkgKgorCSAqIEFsbG93 IGNyZWF0aW9uIG9mIGNvbmZsaWN0IHRhYmxlIGluIGJpbmFyeS11cGdyYWRlIG1vZGUuCiAJICov CiAJaWYgKCFhbGxvd19zeXN0ZW1fdGFibGVfbW9kcyAmJgogCQkoKElzQ2F0YWxvZ05hbWVzcGFj ZShyZWxuYW1lc3BhY2UpICYmIHJlbGtpbmQgIT0gUkVMS0lORF9JTkRFWCkgfHwKIAkJIElzVG9h c3ROYW1lc3BhY2UocmVsbmFtZXNwYWNlKSB8fAotCQkgSXNDb25mbGljdE5hbWVzcGFjZShyZWxu YW1lc3BhY2UpKSAmJgorCQkgKCFJc0JpbmFyeVVwZ3JhZGUgJiYgSXNDb25mbGljdE5hbWVzcGFj ZShyZWxuYW1lc3BhY2UpKSkgJiYKIAkJSXNOb3JtYWxQcm9jZXNzaW5nTW9kZSgpKQogCQllcmVw b3J0KEVSUk9SLAogCQkJCShlcnJjb2RlKEVSUkNPREVfSU5TVUZGSUNJRU5UX1BSSVZJTEVHRSks CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9zdWJzY3JpcHRpb25jbWRzLmMgYi9z cmMvYmFja2VuZC9jb21tYW5kcy9zdWJzY3JpcHRpb25jbWRzLmMKaW5kZXggNDljNTA0OTYwZGIu LjZjODY1ZGFjZmQ3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9zdWJzY3JpcHRp b25jbWRzLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jCkBA IC04OCw2ICs4OCwxMSBAQAogLyogY2hlY2sgaWYgdGhlICd2YWwnIGhhcyAnYml0cycgc2V0ICov CiAjZGVmaW5lIElzU2V0KHZhbCwgYml0cykgICgoKHZhbCkgJiAoYml0cykpID09IChiaXRzKSkK IAorLyoKKyAqIFRoaXMgd2lsbCBiZSBzZXQgYnkgdGhlIHBnX3VwZ3JhZGVfc3VwcG9ydCBmdW5j dGlvbiAtLQorICogYmluYXJ5X3VwZ3JhZGVfc2V0X25leHRfcGdfc3Vic2NyaXB0aW9uX29pZCgp LgorICovCitPaWQJCQliaW5hcnlfdXBncmFkZV9uZXh0X3BnX3N1YnNjcmlwdGlvbl9vaWQgPSBJ bnZhbGlkT2lkOwogLyoKICAqIFN0cnVjdHVyZSB0byBob2xkIGEgYml0bWFwIHJlcHJlc2VudGlu ZyB0aGUgdXNlci1wcm92aWRlZCBDUkVBVEUvQUxURVIKICAqIFNVQlNDUklQVElPTiBjb21tYW5k IG9wdGlvbnMgYW5kIHRoZSBwYXJzZWQvZGVmYXVsdCB2YWx1ZXMgb2YgZWFjaCBvZiB0aGVtLgpA QCAtNzM1LDggKzc0MCwyMSBAQCBDcmVhdGVTdWJzY3JpcHRpb24oUGFyc2VTdGF0ZSAqcHN0YXRl LCBDcmVhdGVTdWJzY3JpcHRpb25TdG10ICpzdG10LAogCW1lbXNldCh2YWx1ZXMsIDAsIHNpemVv Zih2YWx1ZXMpKTsKIAltZW1zZXQobnVsbHMsIGZhbHNlLCBzaXplb2YobnVsbHMpKTsKIAotCXN1 YmlkID0gR2V0TmV3T2lkV2l0aEluZGV4KHJlbCwgU3Vic2NyaXB0aW9uT2JqZWN0SW5kZXhJZCwK LQkJCQkJCQkgICBBbnVtX3BnX3N1YnNjcmlwdGlvbl9vaWQpOworCS8qIFVzZSBiaW5hcnktdXBn cmFkZSBvdmVycmlkZSBmb3IgcGdfc3Vic2NyaXB0aW9uLm9pZD8gKi8KKwlpZiAoSXNCaW5hcnlV cGdyYWRlKQorCXsKKwkJaWYgKCFPaWRJc1ZhbGlkKGJpbmFyeV91cGdyYWRlX25leHRfcGdfc3Vi c2NyaXB0aW9uX29pZCkpCisJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkoZXJyY29kZShFUlJDT0RF X0lOVkFMSURfUEFSQU1FVEVSX1ZBTFVFKSwKKwkJCQkJIGVycm1zZygicGdfc3Vic2NyaXB0aW9u IE9JRCB2YWx1ZSBub3Qgc2V0IHdoZW4gaW4gYmluYXJ5IHVwZ3JhZGUgbW9kZSIpKSk7CisKKwkJ c3ViaWQgPSBiaW5hcnlfdXBncmFkZV9uZXh0X3BnX3N1YnNjcmlwdGlvbl9vaWQ7CisJCWJpbmFy eV91cGdyYWRlX25leHRfcGdfc3Vic2NyaXB0aW9uX29pZCA9IEludmFsaWRPaWQ7CisJfQorCWVs c2UKKwkJc3ViaWQgPSBHZXROZXdPaWRXaXRoSW5kZXgocmVsLCBTdWJzY3JpcHRpb25PYmplY3RJ bmRleElkLAorCQkJCQkJCQkgICBBbnVtX3BnX3N1YnNjcmlwdGlvbl9vaWQpOworCiAJdmFsdWVz W0FudW1fcGdfc3Vic2NyaXB0aW9uX29pZCAtIDFdID0gT2JqZWN0SWRHZXREYXR1bShzdWJpZCk7 CiAJdmFsdWVzW0FudW1fcGdfc3Vic2NyaXB0aW9uX3N1YmRiaWQgLSAxXSA9IE9iamVjdElkR2V0 RGF0dW0oTXlEYXRhYmFzZUlkKTsKIAl2YWx1ZXNbQW51bV9wZ19zdWJzY3JpcHRpb25fc3Vic2tp cGxzbiAtIDFdID0gTFNOR2V0RGF0dW0oSW52YWxpZFhMb2dSZWNQdHIpOwpAQCAtMTM3OCw2ICsx Mzk2LDg0IEBAIENoZWNrQWx0ZXJTdWJPcHRpb24oU3Vic2NyaXB0aW9uICpzdWIsIGNvbnN0IGNo YXIgKm9wdGlvbiwKIAl9CiB9CiAKKy8qCisgKiBBbHRlclN1YnNjcmlwdGlvbkNvbmZsaWN0TG9n RGVzdGluYXRpb24KKyAqCisgKiBVcGRhdGUgdGhlIGNvbmZsaWN0IGxvZyB0YWJsZSBhc3NvY2lh dGVkIHdpdGggYSBzdWJzY3JpcHRpb24gd2hlbiBpdHMKKyAqIGNvbmZsaWN0IGxvZyBkZXN0aW5h dGlvbiBpcyBjaGFuZ2VkLgorICoKKyAqIElmIHRoZSBuZXcgZGVzdGluYXRpb24gcmVxdWlyZXMg YSBjb25mbGljdCBsb2cgdGFibGUgYW5kIG5vbmUgd2FzIHByZXZpb3VzbHkKKyAqIHJlcXVpcmVk LCB0aGlzIGZ1bmN0aW9uIHZhbGlkYXRlcyBhbiBleGlzdGluZyBjb25mbGljdCBsb2cgdGFibGUg aWRlbnRpZmllZAorICogYnkgdGhlIHN1YnNjcmlwdGlvbiBzcGVjaWZpYyBuYW1pbmcgY29udmVu dGlvbiBvciBjcmVhdGVzIGEgbmV3IG9uZS4KKyAqCisgKiBJZiB0aGUgbmV3IGRlc3RpbmF0aW9u IG5vIGxvbmdlciByZXF1aXJlcyBhIGNvbmZsaWN0IGxvZyB0YWJsZSwgdGhlIGV4aXN0aW5nCisg KiBjb25mbGljdCBsb2cgdGFibGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBzdWJzY3JpcHRpb24gaXMg cmVtb3ZlZCB2aWEgaW50ZXJuYWwKKyAqIGRlcGVuZGVuY3kgY2xlYW51cCB0byBwcmV2ZW50IG9y cGhhbmVkIHJlbGF0aW9ucy4KKyAqCisgKiBUaGUgZnVuY3Rpb24gZW5mb3JjZXMgdGhhdCBhbnkg Y29uZmxpY3QgbG9nIHRhYmxlIHVzZWQgaXMgYSBwZXJtYW5lbnQKKyAqIHJlbGF0aW9uIGluIGEg cGVybWFuZW50IHNjaGVtYSwgbWF0Y2hlcyB0aGUgZXhwZWN0ZWQgc3RydWN0dXJlLCBhbmQgaXMg bm90CisgKiBhbHJlYWR5IGFzc29jaWF0ZWQgd2l0aCBhbm90aGVyIHN1YnNjcmlwdGlvbi4KKyAq CisgKiBPbiBzdWNjZXNzLCAqY29uZmxpY3R0YWJsZXJlbGlkIGlzIHNldCB0byB0aGUgT0lEIG9m IHRoZSBjb25mbGljdCBsb2cgdGFibGUKKyAqIHRoYXQgd2FzIGNyZWF0ZWQgb3IgdmFsaWRhdGVk LCBvciB0byBJbnZhbGlkT2lkIGlmIG5vIHRhYmxlIGlzIHJlcXVpcmVkLgorICoKKyAqIFJldHVy bnMgdHJ1ZSBpZiB0aGUgc3Vic2NyaXB0aW9uJ3MgY29uZmxpY3QgbG9nIHRhYmxlIHJlZmVyZW5j ZSBtdXN0IGJlCisgKiB1cGRhdGVkIGFzIGEgcmVzdWx0IG9mIHRoZSBkZXN0aW5hdGlvbiBjaGFu Z2U7IGZhbHNlIG90aGVyd2lzZS4KKyAqLworc3RhdGljIGJvb2wKK0FsdGVyU3Vic2NyaXB0aW9u Q29uZmxpY3RMb2dEZXN0aW5hdGlvbihTdWJzY3JpcHRpb24gKnN1YiwKKwkJCQkJCQkJCQlDb25m bGljdExvZ0Rlc3QgbG9nZGVzdCwKKwkJCQkJCQkJCQlPaWQgKmNvbmZsaWN0dGFibGVyZWxpZCkK K3sKKwlDb25mbGljdExvZ0Rlc3Qgb2xkX2Rlc3QgPSBHZXRMb2dEZXN0aW5hdGlvbihzdWItPmNv bmZsaWN0bG9nZGVzdCk7CisJYm9vbAkJd2FudF90YWJsZTsKKwlib29sCQloYXNfb2xkdGFibGU7 CisJYm9vbAkJdXBkYXRlX3JlbGlkID0gZmFsc2U7CisJT2lkCQkJcmVsaWQgPSBJbnZhbGlkT2lk OworCisJd2FudF90YWJsZSA9IElzU2V0KGxvZ2Rlc3QsIENPTkZMSUNUX0xPR19ERVNUX1RBQkxF KTsKKwloYXNfb2xkdGFibGUgPSBJc1NldChvbGRfZGVzdCwgQ09ORkxJQ1RfTE9HX0RFU1RfVEFC TEUpOworCisJaWYgKHdhbnRfdGFibGUgJiYgIWhhc19vbGR0YWJsZSkKKwl7CisJCWNoYXIJCXJl bG5hbWVbTkFNRURBVEFMRU5dOworCisJCXNucHJpbnRmKHJlbG5hbWUsIE5BTUVEQVRBTEVOLCAi cGdfY29uZmxpY3RfJXUiLCBzdWItPm9pZCk7CisKKwkJLyoKKwkJICogSW4gdXBncmFkZSBzY2Vu YXJpb3MsIHRoZSBjb25mbGljdCBsb2cgdGFibGUgYWxyZWFkeSBleGlzdHMuIFVwZGF0ZQorCQkg KiB0aGUgY2F0YWxvZyB0byByZWNvcmQgdGhlIGFzc29jaWF0aW9uLgorCQkgKi8KKwkJcmVsaWQg PSBnZXRfcmVsbmFtZV9yZWxpZChyZWxuYW1lLCBQR19DT05GTElDVF9OQU1FU1BBQ0UpOworCQlp ZiAoIU9pZElzVmFsaWQocmVsaWQpKQorCQkJcmVsaWQgPSBjcmVhdGVfY29uZmxpY3RfbG9nX3Rh YmxlKHN1Yi0+b2lkLCBzdWItPm5hbWUpOworCisJCXVwZGF0ZV9yZWxpZCA9IHRydWU7CisJfQor CWVsc2UgaWYgKCF3YW50X3RhYmxlICYmIGhhc19vbGR0YWJsZSkKKwl7CisJCU9iamVjdEFkZHJl c3Mgb2JqZWN0OworCisJCS8qCisJCSAqIENvbmZsaWN0IGxvZyB0YWJsZXMgYXJlIHJlY29yZGVk IGFzIGludGVybmFsIGRlcGVuZGVuY2llcyBvZiB0aGUKKwkJICogc3Vic2NyaXB0aW9uLiAgRHJv cCB0aGUgdGFibGUgaWYgaXQgaXMgbm90IHJlcXVpcmVkIGFueW1vcmUgdG8KKwkJICogYXZvaWQg c3RhbGUgb3Igb3JwaGFuZWQgcmVsYXRpb25zLgorCQkgKgorCQkgKiBYWFg6IEF0IHByZXNlbnQs IG9ubHkgY29uZmxpY3QgbG9nIHRhYmxlcyBhcmUgbWFuYWdlZCB0aGlzIHdheS4gSW4KKwkJICog ZnV0dXJlIGlmIHdlIGludHJvZHVjZSBhZGRpdGlvbmFsIGludGVybmFsIGRlcGVuZGVuY2llcywg d2UgbWF5CisJCSAqIG5lZWQgYSB0YXJnZXRlZCBkZWxldGlvbiB0byBhdm9pZCBkZWxldGlvbiBv ZiBhbnkgb3RoZXIgb2JqZWN0cy4KKwkJICovCisJCU9iamVjdEFkZHJlc3NTZXQob2JqZWN0LCBT dWJzY3JpcHRpb25SZWxhdGlvbklkLCBzdWItPm9pZCk7CisJCXBlcmZvcm1EZWxldGlvbigmb2Jq ZWN0LCBEUk9QX0NBU0NBREUsCisJCQkJCQlQRVJGT1JNX0RFTEVUSU9OX0lOVEVSTkFMIHwKKwkJ CQkJCVBFUkZPUk1fREVMRVRJT05fU0tJUF9PUklHSU5BTCk7CisJCXVwZGF0ZV9yZWxpZCA9IHRy dWU7CisJfQorCisJKmNvbmZsaWN0dGFibGVyZWxpZCA9IHJlbGlkOworCXJldHVybiB1cGRhdGVf cmVsaWQ7Cit9CisKIC8qCiAgKiBBbHRlciB0aGUgZXhpc3Rpbmcgc3Vic2NyaXB0aW9uLgogICov CkBAIC0xNzI1LDUyICsxODIxLDIwIEBAIEFsdGVyU3Vic2NyaXB0aW9uKFBhcnNlU3RhdGUgKnBz dGF0ZSwgQWx0ZXJTdWJzY3JpcHRpb25TdG10ICpzdG10LAogCiAJCQkJCWlmIChvcHRzLmxvZ2Rl c3QgIT0gb2xkX2Rlc3QpCiAJCQkJCXsKLQkJCQkJCWJvb2wgd2FudF90YWJsZSA9Ci0JCQkJCQkJ CUlzU2V0KG9wdHMubG9nZGVzdCwgQ09ORkxJQ1RfTE9HX0RFU1RfVEFCTEUpOwotCQkJCQkJYm9v bCBoYXNfb2xkdGFibGUgPQotCQkJCQkJCQlJc1NldChvbGRfZGVzdCwgQ09ORkxJQ1RfTE9HX0RF U1RfVEFCTEUpOworCQkJCQkJYm9vbAkJdXBkYXRlX3JlbGlkOworCQkJCQkJT2lkCQkJcmVsaWQg PSBJbnZhbGlkT2lkOwogCiAJCQkJCQl2YWx1ZXNbQW51bV9wZ19zdWJzY3JpcHRpb25fc3ViY29u ZmxpY3Rsb2dkZXN0IC0gMV0gPQogCQkJCQkJCUNTdHJpbmdHZXRUZXh0RGF0dW0oQ29uZmxpY3RM b2dEZXN0TmFtZXNbb3B0cy5sb2dkZXN0XSk7CiAJCQkJCQlyZXBsYWNlc1tBbnVtX3BnX3N1YnNj cmlwdGlvbl9zdWJjb25mbGljdGxvZ2Rlc3QgLSAxXSA9IHRydWU7CiAKLQkJCQkJCWlmICh3YW50 X3RhYmxlICYmICFoYXNfb2xkdGFibGUpCisJCQkJCQl1cGRhdGVfcmVsaWQgPSBBbHRlclN1YnNj cmlwdGlvbkNvbmZsaWN0TG9nRGVzdGluYXRpb24oc3ViLCBvcHRzLmxvZ2Rlc3QsICZyZWxpZCk7 CisJCQkJCQlpZiAodXBkYXRlX3JlbGlkKQogCQkJCQkJewotCQkJCQkJCU9pZAkJcmVsaWQ7Ci0K LQkJCQkJCQlyZWxpZCA9IGNyZWF0ZV9jb25mbGljdF9sb2dfdGFibGUoc3ViaWQsIHN1Yi0+bmFt ZSk7Ci0KLQkJCQkJCQl2YWx1ZXNbQW51bV9wZ19zdWJzY3JpcHRpb25fc3ViY29uZmxpY3Rsb2dy ZWxpZCAtIDFdID0KLQkJCQkJCQkJCQkJCQkJT2JqZWN0SWRHZXREYXR1bShyZWxpZCk7Ci0JCQkJ CQkJcmVwbGFjZXNbQW51bV9wZ19zdWJzY3JpcHRpb25fc3ViY29uZmxpY3Rsb2dyZWxpZCAtIDFd ID0KLQkJCQkJCQkJCQkJCQkJdHJ1ZTsKLQkJCQkJCX0KLQkJCQkJCWVsc2UgaWYgKCF3YW50X3Rh YmxlICYmIGhhc19vbGR0YWJsZSkKLQkJCQkJCXsKLQkJCQkJCQlPYmplY3RBZGRyZXNzIG9iamVj dDsKLQotCQkJCQkJCS8qCi0JCQkJCQkJICogQ29uZmxpY3QgbG9nIHRhYmxlcyBhcmUgcmVjb3Jk ZWQgYXMgaW50ZXJuYWwKLQkJCQkJCQkgKiBkZXBlbmRlbmNpZXMgb2YgdGhlIHN1YnNjcmlwdGlv bi4gIERyb3AgdGhlCi0JCQkJCQkJICogdGFibGUgaWYgaXQgaXMgbm90IHJlcXVpcmVkIGFueW1v cmUgdG8gYXZvaWQKLQkJCQkJCQkgKiBzdGFsZSBvciBvcnBoYW5lZCByZWxhdGlvbnMuCi0JCQkJ CQkJICoKLQkJCQkJCQkgKiBYWFg6IEF0IHByZXNlbnQsIG9ubHkgY29uZmxpY3QgbG9nIHRhYmxl cyBhcmUKLQkJCQkJCQkgKiBtYW5hZ2VkIHRoaXMgd2F5LiAgSW4gZnV0dXJlIGlmIHdlIGludHJv ZHVjZQotCQkJCQkJCSAqIGFkZGl0aW9uYWwgaW50ZXJuYWwgZGVwZW5kZW5jaWVzLCB3ZSBtYXkg bmVlZAotCQkJCQkJCSAqIGEgdGFyZ2V0ZWQgZGVsZXRpb24gdG8gYXZvaWQgZGVsZXRpb24gb2Yg YW55Ci0JCQkJCQkJICogb3RoZXIgb2JqZWN0cy4KLQkJCQkJCQkgKi8KLQkJCQkJCQlPYmplY3RB ZGRyZXNzU2V0KG9iamVjdCwgU3Vic2NyaXB0aW9uUmVsYXRpb25JZCwKLQkJCQkJCQkJCQkJIHN1 YmlkKTsKLQkJCQkJCQlwZXJmb3JtRGVsZXRpb24oJm9iamVjdCwgRFJPUF9DQVNDQURFLAotCQkJ CQkJCQkJCQlQRVJGT1JNX0RFTEVUSU9OX0lOVEVSTkFMIHwKLQkJCQkJCQkJCQkJUEVSRk9STV9E RUxFVElPTl9TS0lQX09SSUdJTkFMKTsKLQogCQkJCQkJCXZhbHVlc1tBbnVtX3BnX3N1YnNjcmlw dGlvbl9zdWJjb25mbGljdGxvZ3JlbGlkIC0gMV0gPQotCQkJCQkJCQkJCQkJT2JqZWN0SWRHZXRE YXR1bShJbnZhbGlkT2lkKTsKKwkJCQkJCQkJT2JqZWN0SWRHZXREYXR1bShyZWxpZCk7CiAJCQkJ CQkJcmVwbGFjZXNbQW51bV9wZ19zdWJzY3JpcHRpb25fc3ViY29uZmxpY3Rsb2dyZWxpZCAtIDFd ID0KLQkJCQkJCQkJCQkJCXRydWU7CisJCQkJCQkJCXRydWU7CiAJCQkJCQl9CiAJCQkJCX0KIAkJ CQl9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdfdXBncmFkZV9zdXBwb3J0 LmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdfdXBncmFkZV9zdXBwb3J0LmMKaW5kZXggODk1 M2ExNzc1M2UuLjYzODEzMGI3MzA1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQv cGdfdXBncmFkZV9zdXBwb3J0LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3BnX3VwZ3Jh ZGVfc3VwcG9ydC5jCkBAIC0xODEsNiArMTgxLDE2IEBAIGJpbmFyeV91cGdyYWRlX3NldF9uZXh0 X3BnX2F1dGhpZF9vaWQoUEdfRlVOQ1RJT05fQVJHUykKIAlQR19SRVRVUk5fVk9JRCgpOwogfQog CitEYXR1bQorYmluYXJ5X3VwZ3JhZGVfc2V0X25leHRfcGdfc3Vic2NyaXB0aW9uX29pZChQR19G VU5DVElPTl9BUkdTKQoreworCU9pZAkJCXN1YmlkID0gUEdfR0VUQVJHX09JRCgwKTsKKworCUNI RUNLX0lTX0JJTkFSWV9VUEdSQURFOworCWJpbmFyeV91cGdyYWRlX25leHRfcGdfc3Vic2NyaXB0 aW9uX29pZCA9IHN1YmlkOworCVBHX1JFVFVSTl9WT0lEKCk7Cit9CisKIERhdHVtCiBiaW5hcnlf dXBncmFkZV9jcmVhdGVfZW1wdHlfZXh0ZW5zaW9uKFBHX0ZVTkNUSU9OX0FSR1MpCiB7CmRpZmYg LS1naXQgYS9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1 bXAuYwppbmRleCA3ZGY1NmQ4YjFiMC4uNDRjYzlmNTA3YTQgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4v cGdfZHVtcC9wZ19kdW1wLmMKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYwpAQCAtMTk5 Nyw2ICsxOTk3LDggQEAgY2hlY2tFeHRlbnNpb25NZW1iZXJzaGlwKER1bXBhYmxlT2JqZWN0ICpk b2JqLCBBcmNoaXZlICpmb3V0KQogc3RhdGljIHZvaWQKIHNlbGVjdER1bXBhYmxlTmFtZXNwYWNl KE5hbWVzcGFjZUluZm8gKm5zaW5mbywgQXJjaGl2ZSAqZm91dCkKIHsKKwlEdW1wT3B0aW9ucyAq ZG9wdCA9IGZvdXQtPmRvcHQ7CisKIAkvKgogCSAqIERVTVBfQ09NUE9ORU5UX0RFRklOSVRJT04g dHlwaWNhbGx5IGltcGxpZXMgYSBDUkVBVEUgU0NIRU1BIHN0YXRlbWVudAogCSAqIGFuZCAoZm9y IC0tY2xlYW4pIGEgRFJPUCBTQ0hFTUEgc3RhdGVtZW50LiAgKEluIHRoZSBhYnNlbmNlIG9mCkBA IC0yMDI2LDYgKzIwMjgsMzIgQEAgc2VsZWN0RHVtcGFibGVOYW1lc3BhY2UoTmFtZXNwYWNlSW5m byAqbnNpbmZvLCBBcmNoaXZlICpmb3V0KQogCQkgKi8KIAkJbnNpbmZvLT5kb2JqLmR1bXBfY29u dGFpbnMgPSBuc2luZm8tPmRvYmouZHVtcCA9IERVTVBfQ09NUE9ORU5UX0FDTDsKIAl9CisJZWxz ZSBpZiAoc3RyY21wKG5zaW5mby0+ZG9iai5uYW1lLCAicGdfY29uZmxpY3QiKSA9PSAwKQorCXsK KwkJaWYgKGRvcHQtPmJpbmFyeV91cGdyYWRlKQorCQl7CisJCQkvKgorCQkJICogVGhlIHBnX2Nv bmZsaWN0IHNjaGVtYSBpcyBhIHN0cmFuZ2UgYmVhc3QgdGhhdCBzaXRzIGluIGEgc29ydCBvZgor CQkJICogbm8tbWFucy1sYW5kIGJldHdlZW4gYmVpbmcgYSBzeXN0ZW0gb2JqZWN0IGFuZCBhIHVz ZXIgb2JqZWN0LgorCQkJICogQ1JFQVRFIFNDSEVNQSB3b3VsZCBmYWlsLCBzbyBpdHMgRFVNUF9D T01QT05FTlRfREVGSU5JVElPTiBpcworCQkJICoganVzdCBhIGNvbW1lbnQuCisJCQkgKi8KKwkJ CW5zaW5mby0+Y3JlYXRlID0gZmFsc2U7CisJCQluc2luZm8tPmRvYmouZHVtcCA9IERVTVBfQ09N UE9ORU5UX0FMTDsKKwkJCW5zaW5mby0+ZG9iai5kdW1wICY9IH5EVU1QX0NPTVBPTkVOVF9ERUZJ TklUSU9OOworCQkJbnNpbmZvLT5kb2JqLmR1bXBfY29udGFpbnMgPSBEVU1QX0NPTVBPTkVOVF9B TEw7CisKKwkJCS8qCisJCQkqIEFsc28sIG1ha2UgbGlrZSBpdCBoYXMgYSBjb21tZW50IGV2ZW4g aWYgaXQgZG9lc24ndDsgdGhpcyBpcyBzbworCQkJKiB0aGF0IHdlJ2xsIGVtaXQgYSBjb21tYW5k IHRvIGRyb3AgdGhlIGNvbW1lbnQsIGlmIGFwcHJvcHJpYXRlLgorCQkJKiAoV2l0aG91dCB0aGlz LCB3ZSdkIG5vdCBjYWxsIGR1bXBDb21tZW50RXh0ZW5kZWQgZm9yIGl0LikKKwkJCSovCisJCQlu c2luZm8tPmRvYmouY29tcG9uZW50cyB8PSBEVU1QX0NPTVBPTkVOVF9DT01NRU5UOworCQl9CisJ CWVsc2UKKwkJCW5zaW5mby0+ZG9iai5kdW1wX2NvbnRhaW5zID0gbnNpbmZvLT5kb2JqLmR1bXAg PQorCQkJCURVTVBfQ09NUE9ORU5UX05PTkU7CisJfQogCWVsc2UgaWYgKHN0cm5jbXAobnNpbmZv LT5kb2JqLm5hbWUsICJwZ18iLCAzKSA9PSAwIHx8CiAJCQkgc3RyY21wKG5zaW5mby0+ZG9iai5u YW1lLCAiaW5mb3JtYXRpb25fc2NoZW1hIikgPT0gMCkKIAl7CkBAIC0yMDgzLDkgKzIxMTEsMzEg QEAgc2VsZWN0RHVtcGFibGVOYW1lc3BhY2UoTmFtZXNwYWNlSW5mbyAqbnNpbmZvLCBBcmNoaXZl ICpmb3V0KQogc3RhdGljIHZvaWQKIHNlbGVjdER1bXBhYmxlVGFibGUoVGFibGVJbmZvICp0Ymlu Zm8sIEFyY2hpdmUgKmZvdXQpCiB7CisJRHVtcE9wdGlvbnMgKmRvcHQgPSBmb3V0LT5kb3B0Owor CiAJaWYgKGNoZWNrRXh0ZW5zaW9uTWVtYmVyc2hpcCgmdGJpbmZvLT5kb2JqLCBmb3V0KSkKIAkJ cmV0dXJuOwkJCQkJLyogZXh0ZW5zaW9uIG1lbWJlcnNoaXAgb3ZlcnJpZGVzIGFsbCBlbHNlICov CiAKKwlpZiAoc3RyY21wKHRiaW5mby0+ZG9iai5uYW1lc3BhY2UtPmRvYmoubmFtZSwgInBnX2Nv bmZsaWN0IikgPT0gMCkKKwl7CisJCWlmIChkb3B0LT5iaW5hcnlfdXBncmFkZSkKKwkJeworCQkJ LyoKKwkJCSAqIER1bXAgcGdfY29uZmxpY3QgdGFibGVzIG9ubHkgZHVyaW5nIGJpbmFyeSB1cGdy YWRlLgorCQkJICogVGhlIHNjaGVtYSBpcyBhc3N1bWVkIHRvIGFscmVhZHkgZXhpc3QuCisJCQkg Ki8KKwkJCXRiaW5mby0+ZG9iai5kdW1wID0gRFVNUF9DT01QT05FTlRfREVGSU5JVElPTjsKKwor CQkJLyoKKwkJCSAqIFN1cHByZXNzIHRoZSAiQUxURVIgVEFCTEUgLi4uIE9XTkVSIFRPIC4uLiIg Y29tbWFuZCBmb3IgdGhpcworCQkJICogdGFibGUuIFRoaXMgcHJldmVudHMgcGdfZHVtcCBmcm9t IG91dHB1dHRpbmcgdGhlIG93bmVyIGNoYW5nZS4KKwkJCSAqLworCQkJdGJpbmZvLT5yb2xuYW1l ID0gTlVMTDsKKwkJfQorCQllbHNlCisJCQl0YmluZm8tPmRvYmouZHVtcCA9IERVTVBfQ09NUE9O RU5UX05PTkU7CisJfQorCiAJLyoKIAkgKiBJZiBzcGVjaWZpYyB0YWJsZXMgYXJlIGJlaW5nIGR1 bXBlZCwgZHVtcCBqdXN0IHRob3NlIHRhYmxlczsgZWxzZSwgZHVtcAogCSAqIGFjY29yZGluZyB0 byB0aGUgcGFyZW50IG5hbWVzcGFjZSdzIGR1bXAgZmxhZy4KQEAgLTUxMzAsNiArNTE4MCw4IEBA IGdldFN1YnNjcmlwdGlvbnMoQXJjaGl2ZSAqZm91dCkKIAlpbnQJCQlpX3N1YmZhaWxvdmVyOwog CWludAkJCWlfc3VicmV0YWluZGVhZHR1cGxlczsKIAlpbnQJCQlpX3N1Ym1heHJldGVudGlvbjsK KwlpbnQJCQlpX3N1YmNvbmZsaWN0bG9ncmVsaWQ7CisJaW50CQkJaV9zdWJsb2dkZXN0aW5hdGlv bjsKIAlpbnQJCQlpLAogCQkJCW50dXBzOwogCkBAIC01MjE2LDEwICs1MjY4LDE3IEBAIGdldFN1 YnNjcmlwdGlvbnMoQXJjaGl2ZSAqZm91dCkKIAogCWlmIChmb3V0LT5yZW1vdGVWZXJzaW9uID49 IDE5MDAwMCkKIAkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksCi0JCQkJCQkJICIgcy5zdWJt YXhyZXRlbnRpb25cbiIpOworCQkJCQkJCSAiIHMuc3VibWF4cmV0ZW50aW9uLFxuIik7CiAJZWxz ZQogCQlhcHBlbmRQUUV4cEJ1ZmZlcihxdWVyeSwKLQkJCQkJCSAgIiAwIEFTIHN1Ym1heHJldGVu dGlvblxuIik7CisJCQkJCQkgICIgMCBBUyBzdWJtYXhyZXRlbnRpb24sXG4iKTsKKworCWlmIChm b3V0LT5yZW1vdGVWZXJzaW9uID49IDE5MDAwMCkKKwkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVl cnksCisJCQkJCQkJICIgcy5zdWJjb25mbGljdGxvZ3JlbGlkLCBzLnN1YmNvbmZsaWN0bG9nZGVz dFxuIik7CisJZWxzZQorCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwKKwkJCQkJCQkgIiBO VUxMIEFTIHN1YmNvbmZsaWN0bG9ncmVsaWQsIE5VTEwgQVMgc3ViY29uZmxpY3Rsb2dkZXN0XG4i KTsKIAogCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LAogCQkJCQkJICJGUk9NIHBnX3N1YnNj cmlwdGlvbiBzXG4iKTsKQEAgLTUyNjEsNiArNTMyMCw4IEBAIGdldFN1YnNjcmlwdGlvbnMoQXJj aGl2ZSAqZm91dCkKIAlpX3N1YnB1YmxpY2F0aW9ucyA9IFBRZm51bWJlcihyZXMsICJzdWJwdWJs aWNhdGlvbnMiKTsKIAlpX3N1Ym9yaWdpbiA9IFBRZm51bWJlcihyZXMsICJzdWJvcmlnaW4iKTsK IAlpX3N1Ym9yaWdpbnJlbW90ZWxzbiA9IFBRZm51bWJlcihyZXMsICJzdWJvcmlnaW5yZW1vdGVs c24iKTsKKwlpX3N1YmNvbmZsaWN0bG9ncmVsaWQgPSBQUWZudW1iZXIocmVzLCAic3ViY29uZmxp Y3Rsb2dyZWxpZCIpOworCWlfc3VibG9nZGVzdGluYXRpb24gPSBQUWZudW1iZXIocmVzLCAic3Vi Y29uZmxpY3Rsb2dkZXN0Iik7CiAKIAlzdWJpbmZvID0gcGdfbWFsbG9jKG50dXBzICogc2l6ZW9m KFN1YnNjcmlwdGlvbkluZm8pKTsKIApAQCAtNTMwOSw2ICs1MzcwLDMwIEBAIGdldFN1YnNjcmlw dGlvbnMoQXJjaGl2ZSAqZm91dCkKIAkJZWxzZQogCQkJc3ViaW5mb1tpXS5zdWJvcmlnaW5yZW1v dGVsc24gPQogCQkJCXBnX3N0cmR1cChQUWdldHZhbHVlKHJlcywgaSwgaV9zdWJvcmlnaW5yZW1v dGVsc24pKTsKKwkJaWYgKFBRZ2V0aXNudWxsKHJlcywgaSwgaV9zdWJjb25mbGljdGxvZ3JlbGlk KSkKKwkJCXN1YmluZm9baV0uc3ViY29uZmxpY3Rsb2dyZWxpZCA9IEludmFsaWRPaWQ7CisJCWVs c2UKKwkJeworCQkJVGFibGVJbmZvICAqdGFibGVJbmZvOworCisJCQlzdWJpbmZvW2ldLnN1YmNv bmZsaWN0bG9ncmVsaWQgPQorCQkJCWF0b29pZChQUWdldHZhbHVlKHJlcywgaSwgaV9zdWJjb25m bGljdGxvZ3JlbGlkKSk7CisKKwkJCWlmIChzdWJpbmZvW2ldLnN1YmNvbmZsaWN0bG9ncmVsaWQp CisJCQl7CisJCQkJdGFibGVJbmZvID0gZmluZFRhYmxlQnlPaWQoc3ViaW5mb1tpXS5zdWJjb25m bGljdGxvZ3JlbGlkKTsKKwkJCQlpZiAoIXRhYmxlSW5mbykKKwkJCQkJcGdfZmF0YWwoImNvdWxk IG5vdCBmaW5kIGNvbmZsaWN0IGxvZyB0YWJsZSB3aXRoIE9JRCAldSIsCisJCQkJCQkJIHN1Ymlu Zm9baV0uc3ViY29uZmxpY3Rsb2dyZWxpZCk7CisKKwkJCQlhZGRPYmplY3REZXBlbmRlbmN5KCZz dWJpbmZvW2ldLmRvYmosIHRhYmxlSW5mby0+ZG9iai5kdW1wSWQpOworCQkJfQorCQl9CisJCWlm IChQUWdldGlzbnVsbChyZXMsIGksIGlfc3VibG9nZGVzdGluYXRpb24pKQorCQkJc3ViaW5mb1tp XS5zdWJjb25mbGljdGxvZ2Rlc3QgPSBOVUxMOworCQllbHNlCisJCQlzdWJpbmZvW2ldLnN1YmNv bmZsaWN0bG9nZGVzdCA9CisJCQkJcGdfc3RyZHVwKFBRZ2V0dmFsdWUocmVzLCBpLCBpX3N1Ymxv Z2Rlc3RpbmF0aW9uKSk7CiAKIAkJLyogRGVjaWRlIHdoZXRoZXIgd2Ugd2FudCB0byBkdW1wIGl0 ICovCiAJCXNlbGVjdER1bXBhYmxlT2JqZWN0KCYoc3ViaW5mb1tpXS5kb2JqKSwgZm91dCk7CkBA IC01NTAyLDYgKzU1ODcsMTQgQEAgZHVtcFN1YnNjcmlwdGlvbihBcmNoaXZlICpmb3V0LCBjb25z dCBTdWJzY3JpcHRpb25JbmZvICpzdWJpbmZvKQogCWFwcGVuZFBRRXhwQnVmZmVyKGRlbHEsICJE Uk9QIFNVQlNDUklQVElPTiAlcztcbiIsCiAJCQkJCSAgcXN1Ym5hbWUpOwogCisJaWYgKGRvcHQt PmJpbmFyeV91cGdyYWRlKQorCXsKKwkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksICJcbi0t IEZvciBiaW5hcnkgdXBncmFkZSwgbXVzdCBwcmVzZXJ2ZSBwZ19zdWJzY3JpcHRpb24ub2lkXG4i KTsKKwkJYXBwZW5kUFFFeHBCdWZmZXIocXVlcnksCisJCQkJCQkgICJTRUxFQ1QgcGdfY2F0YWxv Zy5iaW5hcnlfdXBncmFkZV9zZXRfbmV4dF9wZ19zdWJzY3JpcHRpb25fb2lkKCcldSc6OnBnX2Nh dGFsb2cub2lkKTtcblxuIiwKKwkJCQkJCSAgc3ViaW5mby0+ZG9iai5jYXRJZC5vaWQpOworCX0K KwogCWFwcGVuZFBRRXhwQnVmZmVyKHF1ZXJ5LCAiQ1JFQVRFIFNVQlNDUklQVElPTiAlcyBDT05O RUNUSU9OICIsCiAJCQkJCSAgcXN1Ym5hbWUpOwogCWFwcGVuZFN0cmluZ0xpdGVyYWxBSChxdWVy eSwgc3ViaW5mby0+c3ViY29ubmluZm8sIGZvdXQpOwpAQCAtNTU2NCw2ICs1NjU3LDExIEBAIGR1 bXBTdWJzY3JpcHRpb24oQXJjaGl2ZSAqZm91dCwgY29uc3QgU3Vic2NyaXB0aW9uSW5mbyAqc3Vi aW5mbykKIAogCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LCAiKTtcbiIpOwogCisJYXBwZW5k UFFFeHBCdWZmZXIocXVlcnksCisJCQkJCSAgIlxuXG5BTFRFUiBTVUJTQ1JJUFRJT04gJXMgU0VU IChjb25mbGljdF9sb2dfZGVzdGluYXRpb24gPSAlcyk7XG4iLAorCQkJCQkgIHFzdWJuYW1lLAor CQkJCQkgIHN1YmluZm8tPnN1YmNvbmZsaWN0bG9nZGVzdCk7CisKIAkvKgogCSAqIEluIGJpbmFy eS11cGdyYWRlIG1vZGUsIHdlIGFsbG93IHRoZSByZXBsaWNhdGlvbiB0byBjb250aW51ZSBhZnRl ciB0aGUKIAkgKiB1cGdyYWRlLgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAu aCBiL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmgKaW5kZXggNGM0YjE0ZTVmYzcuLjY0ODUxNjZm MmM2IDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5oCisrKyBiL3NyYy9iaW4v cGdfZHVtcC9wZ19kdW1wLmgKQEAgLTcxOSwxMiArNzE5LDE0IEBAIHR5cGVkZWYgc3RydWN0IF9T dWJzY3JpcHRpb25JbmZvCiAJYm9vbAkJc3ViZmFpbG92ZXI7CiAJYm9vbAkJc3VicmV0YWluZGVh ZHR1cGxlczsKIAlpbnQJCQlzdWJtYXhyZXRlbnRpb247CisJT2lkCQkJc3ViY29uZmxpY3Rsb2dy ZWxpZDsKIAljaGFyCSAgICpzdWJjb25uaW5mbzsKIAljaGFyCSAgICpzdWJzbG90bmFtZTsKIAlj aGFyCSAgICpzdWJzeW5jY29tbWl0OwogCWNoYXIJICAgKnN1YnB1YmxpY2F0aW9uczsKIAljaGFy CSAgICpzdWJvcmlnaW47CiAJY2hhcgkgICAqc3Vib3JpZ2lucmVtb3RlbHNuOworCWNoYXIJICAg KnN1YmNvbmZsaWN0bG9nZGVzdDsKIH0gU3Vic2NyaXB0aW9uSW5mbzsKIAogLyoKZGlmZiAtLWdp dCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wX3NvcnQuYyBiL3NyYy9iaW4vcGdfZHVtcC9wZ19k dW1wX3NvcnQuYwppbmRleCAyNGJlZDY2ODFkZS4uYTFkNzc2NWViNzUgMTAwNjQ0Ci0tLSBhL3Ny Yy9iaW4vcGdfZHVtcC9wZ19kdW1wX3NvcnQuYworKysgYi9zcmMvYmluL3BnX2R1bXAvcGdfZHVt cF9zb3J0LmMKQEAgLTExMzEsNiArMTEzMSwxOSBAQCByZXBhaXJUYWJsZUF0dHJEZWZNdWx0aUxv b3AoRHVtcGFibGVPYmplY3QgKnRhYmxlb2JqLAogCWFkZE9iamVjdERlcGVuZGVuY3koYXR0cmRl Zm9iaiwgdGFibGVvYmotPmR1bXBJZCk7CiB9CiAKKy8qCisgKiBCZWNhdXNlIHdlIG1ha2Ugc3Vi c2NyaXB0aW9ucyBkZXBlbmQgb24gdGhlaXIgY29uZmxpY3QgbG9nIHRhYmxlcywgd2hpbGUKKyAq IHRoZXJlIGlzIGFuIGF1dG9tYXRpYyBkZXBlbmRlbmN5IGluIHRoZSBvdGhlciBkaXJlY3Rpb24s IHdlIG5lZWQgdG8gYnJlYWsKKyAqIHRoZSBsb29wLiBSZW1vdmUgdGhlIGF1dG9tYXRpYyBkZXBl bmRlbmN5LCBhbGxvd2luZyB0aGUgdGFibGUgdG8gYmUgY3JlYXRlZAorICogZmlyc3QuCisgKi8K K3N0YXRpYyB2b2lkCityZXBhaXJTdWJzY3JpcHRpb25UYWJsZUxvb3AoRHVtcGFibGVPYmplY3Qg KnN1Ym9iaiwgRHVtcGFibGVPYmplY3QgKnRhYmxlb2JqKQoreworCS8qIFJlbW92ZSB0YWJsZSdz IGRlcGVuZGVuY3kgb24gc3Vic2NyaXB0aW9uICovCisJcmVtb3ZlT2JqZWN0RGVwZW5kZW5jeSh0 YWJsZW9iaiwgc3Vib2JqLT5kdW1wSWQpOworfQorCiAvKgogICogQ0hFQ0ssIE5PVCBOVUxMIGNv bnN0cmFpbnRzIG9uIGRvbWFpbnMgd29yayBqdXN0IGxpa2UgdGhvc2Ugb24gdGFibGVzIC4uLgog ICovCkBAIC0xMzYxLDYgKzEzNzQsMjQgQEAgcmVwYWlyRGVwZW5kZW5jeUxvb3AoRHVtcGFibGVP YmplY3QgKipsb29wLAogCQlyZXR1cm47CiAJfQogCisJLyoKKwkgKiBTdWJzY3JpcHRpb24gYW5k IGl0cyBDb25mbGljdCBMb2cgVGFibGUKKwkgKi8KKwlpZiAobkxvb3AgPT0gMiAmJgorCQlsb29w WzBdLT5vYmpUeXBlID09IERPX1RBQkxFICYmCisJCWxvb3BbMV0tPm9ialR5cGUgPT0gRE9fU1VC U0NSSVBUSU9OKQorCXsKKwkJcmVwYWlyU3Vic2NyaXB0aW9uVGFibGVMb29wKGxvb3BbMV0sIGxv b3BbMF0pOworCQlyZXR1cm47CisJfQorCWlmIChuTG9vcCA9PSAyICYmCisJCWxvb3BbMF0tPm9i alR5cGUgPT0gRE9fU1VCU0NSSVBUSU9OICYmCisJCWxvb3BbMV0tPm9ialR5cGUgPT0gRE9fVEFC TEUpCisJeworCQlyZXBhaXJTdWJzY3JpcHRpb25UYWJsZUxvb3AobG9vcFswXSwgbG9vcFsxXSk7 CisJCXJldHVybjsKKwl9CisKIAkvKiBpbmRleCBvbiBwYXJ0aXRpb25lZCB0YWJsZSBhbmQgY29y cmVzcG9uZGluZyBpbmRleCBvbiBwYXJ0aXRpb24gKi8KIAlpZiAobkxvb3AgPT0gMiAmJgogCQls b29wWzBdLT5vYmpUeXBlID09IERPX0lOREVYICYmCmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX2R1 bXAvdC8wMDJfcGdfZHVtcC5wbCBiL3NyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1wLnBsCmlu ZGV4IDI4ODEyZDI4YWE5Li4wZGY4NGNkNTg5NyAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19kdW1w L3QvMDAyX3BnX2R1bXAucGwKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL3QvMDAyX3BnX2R1bXAucGwK QEAgLTMyMDQsOSArMzIwNCwxMCBAQCBteSAldGVzdHMgPSAoCiAJCWNyZWF0ZV9vcmRlciA9PiA1 MCwKIAkJY3JlYXRlX3NxbCA9PiAnQ1JFQVRFIFNVQlNDUklQVElPTiBzdWIzCiAJCQkJCQkgQ09O TkVDVElPTiBcJ2RibmFtZT1kb2Vzbm90ZXhpc3RcJyBQVUJMSUNBVElPTiBwdWIxCi0JCQkJCQkg V0lUSCAoY29ubmVjdCA9IGZhbHNlLCBvcmlnaW4gPSBhbnksIHN0cmVhbWluZyA9IG9uKTsnLAor CQkJCQkJIFdJVEggKGNvbm5lY3QgPSBmYWxzZSwgb3JpZ2luID0gYW55LCBzdHJlYW1pbmcgPSBv biwgY29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uPSB0YWJsZSk7JywKIAkJcmVnZXhwID0+IHFyL14K LQkJCVxRQ1JFQVRFIFNVQlNDUklQVElPTiBzdWIzIENPTk5FQ1RJT04gJ2RibmFtZT1kb2Vzbm90 ZXhpc3QnIFBVQkxJQ0FUSU9OIHB1YjEgV0lUSCAoY29ubmVjdCA9IGZhbHNlLCBzbG90X25hbWUg PSAnc3ViMycsIHN0cmVhbWluZyA9IG9uKTtcRQorCQkJXFFDUkVBVEUgU1VCU0NSSVBUSU9OIHN1 YjMgQ09OTkVDVElPTiAnZGJuYW1lPWRvZXNub3RleGlzdCcgUFVCTElDQVRJT04gcHViMSBXSVRI IChjb25uZWN0ID0gZmFsc2UsIHNsb3RfbmFtZSA9ICdzdWIzJywgc3RyZWFtaW5nID0gb24pO1xF XG5cblxuCisJCQlcUUFMVEVSIFNVQlNDUklQVElPTiBzdWIzIFNFVCAoY29uZmxpY3RfbG9nX2Rl c3RpbmF0aW9uID0gdGFibGUpO1xFCiAJCQkveG0sCiAJCWxpa2UgPT4geyAlZnVsbF9ydW5zLCBz ZWN0aW9uX3Bvc3RfZGF0YSA9PiAxLCB9LAogCQl1bmxpa2UgPT4gewpkaWZmIC0tZ2l0IGEvc3Jj L2Jpbi9wZ191cGdyYWRlL3BnX3VwZ3JhZGUuYyBiL3NyYy9iaW4vcGdfdXBncmFkZS9wZ191cGdy YWRlLmMKaW5kZXggMjEyN2QyOTdiZmUuLjEzNWVmNjU4YzJjIDEwMDY0NAotLS0gYS9zcmMvYmlu L3BnX3VwZ3JhZGUvcGdfdXBncmFkZS5jCisrKyBiL3NyYy9iaW4vcGdfdXBncmFkZS9wZ191cGdy YWRlLmMKQEAgLTM1LDYgKzM1LDEwIEBACiAgKgogICoJV2UgY29udHJvbCBhbGwgYXNzaWdubWVu dHMgb2YgcGdfZGF0YWJhc2Uub2lkIGJlY2F1c2Ugd2Ugd2FudCB0aGUgZGlyZWN0b3J5CiAgKglu YW1lcyB0byBtYXRjaCBiZXR3ZWVuIHRoZSBvbGQgYW5kIG5ldyBjbHVzdGVyLgorICoKKyAqCVdl IGNvbnRyb2wgYXNzaWdubWVudCBvZiBwZ19zdWJzY3JpcHRpb24ub2lkIGJlY2F1c2Ugd2Ugd2Fu dCB0aGUgb2lkIHRvCisgKgltYXRjaCBiZXR3ZWVuIHRoZSBvbGQgYW5kIG5ldyBjbHVzdGVyIHRv IG1ha2UgdXNlIG9mIHN1YnNjcmlwdGlvbidzCisgKgljb25mbGljdCBsb2cgdGFibGUgd2hpY2gg aXMgbmFtZWQgdXNpbmcgdGhlIHN1YnNjcmlwdGlvbiBvaWQuCiAgKi8KIAogCmRpZmYgLS1naXQg YS9zcmMvYmluL3BnX3VwZ3JhZGUvdC8wMDRfc3Vic2NyaXB0aW9uLnBsIGIvc3JjL2Jpbi9wZ191 cGdyYWRlL3QvMDA0X3N1YnNjcmlwdGlvbi5wbAppbmRleCAzYThjOGI4ODk3Ni4uMDBjNGY5YTlm YzEgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfdXBncmFkZS90LzAwNF9zdWJzY3JpcHRpb24ucGwK KysrIGIvc3JjL2Jpbi9wZ191cGdyYWRlL3QvMDA0X3N1YnNjcmlwdGlvbi5wbApAQCAtMjkwLDcg KzI5MCw3IEBAICRwdWJsaXNoZXItPnNhZmVfcHNxbCgKICRvbGRfc3ViLT5zYWZlX3BzcWwoCiAJ J3Bvc3RncmVzJywgcXFbCiAJCUNSRUFURSBUQUJMRSB0YWJfdXBncmFkZWQyKGlkIGludCk7Ci0J CUNSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc19zdWI1IENPTk5FQ1RJT04gJyRjb25uc3RyJyBQ VUJMSUNBVElPTiByZWdyZXNzX3B1YjU7CisJCUNSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc19z dWI1IENPTk5FQ1RJT04gJyRjb25uc3RyJyBQVUJMSUNBVElPTiByZWdyZXNzX3B1YjUgd2l0aCAo Y29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uID0gJ3RhYmxlJyk7CiBdKTsKIAogIyBUaGUgdGFibGUg dGFiX3VwZ3JhZGVkMiB3aWxsIGJlIGluIHRoZSBpbml0IHN0YXRlIGFzIHRoZSBzdWJzY3JpYmVy J3MKQEAgLTMxMiw3ICszMTIsMTAgQEAgbXkgJHRhYl91cGdyYWRlZDFfb2lkID0gJG9sZF9zdWIt PnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJTRUxFQ1Qgb2lkIEZST00gcGdfY2xhc3MgV0hFUkUg cmVsbmFtZSA9ICd0YWJfdXBncmFkZWQxJyIpOwogbXkgJHRhYl91cGdyYWRlZDJfb2lkID0gJG9s ZF9zdWItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJTRUxFQ1Qgb2lkIEZST00gcGdfY2xhc3Mg V0hFUkUgcmVsbmFtZSA9ICd0YWJfdXBncmFkZWQyJyIpOwotCitteSAkc3ViNV9vaWQgPSAkb2xk X3N1Yi0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIlNFTEVDVCBvaWQgRlJPTSBwZ19zdWJzY3Jp cHRpb24gd2hlcmUgc3VibmFtZSA9ICdyZWdyZXNzX3N1YjUnIik7CitteSAkc3ViX2NsdF9yZWxp ZCA9ICRvbGRfc3ViLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiU0VMRUNUIHN1YmNvbmZsaWN0 bG9ncmVsaWQgRlJPTSBwZ19zdWJzY3JpcHRpb24gV0hFUkUgc3VibmFtZSA9ICdyZWdyZXNzX3N1 YjUnIik7CiAkb2xkX3N1Yi0+c3RvcDsKIAogIyBDaGFuZ2UgY29uZmlndXJhdGlvbiBzbyB0aGF0 IGluaXRpYWwgdGFibGUgc3luYyBkb2VzIG5vdCBnZXQgc3RhcnRlZApAQCAtMzkzLDYgKzM5Niwx MyBAQCAkcmVzdWx0ID0gJG5ld19zdWItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJTRUxFQ1Qg eG1pbiBJUyBOT1QgTlVMTCBmcm9tIHBnX3JlcGxpY2F0aW9uX3Nsb3RzIFdIRVJFIHNsb3RfbmFt ZSA9ICdwZ19jb25mbGljdF9kZXRlY3Rpb24nIik7CiBpcygkcmVzdWx0LCBxcSh0KSwgImNvbmZs aWN0IGRldGVjdGlvbiBzbG90IGV4aXN0cyIpOwogCisjIFRoZSBzdWJzY3JpcHRpb24gb2lkIGFu ZCB0aGUgc3Vic2NyaXB0aW9uIGNvbmZsaWN0IGxvZyB0YWJsZSByZWxpZCBzaG91bGQgYmUgcHJl c2VydmVkCiskcmVzdWx0ID0gJG5ld19zdWItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNU IG9pZCBGUk9NIHBnX3N1YnNjcmlwdGlvbiBXSEVSRSBzdWJuYW1lID0gJ3JlZ3Jlc3Nfc3ViNSci KTsKK2lzKCRyZXN1bHQsIHFxKCRzdWI1X29pZCksICJzdWJzY3JpcHRpb24gb2lkIHNob3VsZCBo YXZlIGJlZW4gcHJlc2VydmVkIik7CisKKyRyZXN1bHQgPSAkbmV3X3N1Yi0+c2FmZV9wc3FsKCdw b3N0Z3JlcycsICJTRUxFQ1Qgc3ViY29uZmxpY3Rsb2dyZWxpZCBGUk9NIHBnX3N1YnNjcmlwdGlv biBXSEVSRSBzdWJuYW1lID0gJ3JlZ3Jlc3Nfc3ViNSciKTsKK2lzKCRyZXN1bHQsIHFxKCRzdWJf Y2x0X3JlbGlkKSwgInN1YnNjcmlwdGlvbiBjb25mbGljdCBsb2cgdGFibGUgcmVsaWQgc2hvdWxk IGhhdmUgYmVlbiBwcmVzZXJ2ZWQiKTsKKwogIyBSZXN1bWUgdGhlIGluaXRpYWwgc3luYyBhbmQg d2FpdCB1bnRpbCBhbGwgdGFibGVzIG9mIHN1YnNjcmlwdGlvbgogIyAncmVncmVzc19zdWI1JyBh cmUgc3luY2hyb25pemVkCiAkbmV3X3N1Yi0+YXBwZW5kX2NvbmYoJ3Bvc3RncmVzcWwuY29uZics CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL2JpbmFyeV91cGdyYWRlLmggYi9zcmMv aW5jbHVkZS9jYXRhbG9nL2JpbmFyeV91cGdyYWRlLmgKaW5kZXggN2JmN2FlNDQzODUuLmIxNWIx OGU3ZGM5IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL2JpbmFyeV91cGdyYWRlLmgK KysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9iaW5hcnlfdXBncmFkZS5oCkBAIC0zMiw2ICszMiw3 IEBAIGV4dGVybiBQR0RMTElNUE9SVCBSZWxGaWxlTnVtYmVyIGJpbmFyeV91cGdyYWRlX25leHRf dG9hc3RfcGdfY2xhc3NfcmVsZmlsZW51bWJlCiAKIGV4dGVybiBQR0RMTElNUE9SVCBPaWQgYmlu YXJ5X3VwZ3JhZGVfbmV4dF9wZ19lbnVtX29pZDsKIGV4dGVybiBQR0RMTElNUE9SVCBPaWQgYmlu YXJ5X3VwZ3JhZGVfbmV4dF9wZ19hdXRoaWRfb2lkOworZXh0ZXJuIFBHRExMSU1QT1JUIE9pZCBi aW5hcnlfdXBncmFkZV9uZXh0X3BnX3N1YnNjcmlwdGlvbl9vaWQ7CiAKIGV4dGVybiBQR0RMTElN UE9SVCBib29sIGJpbmFyeV91cGdyYWRlX3JlY29yZF9pbml0X3ByaXZzOwogCmRpZmYgLS1naXQg YS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9w Z19wcm9jLmRhdAppbmRleCBkOTlmODUwMGFjNS4uODc4OWQwMzI2MWMgMTAwNjQ0Ci0tLSBhL3Ny Yy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9w Z19wcm9jLmRhdApAQCAtMTE4NDAsNiArMTE4NDAsMTAgQEAKICAgcHJvbmFtZSA9PiAnYmluYXJ5 X3VwZ3JhZGVfY3JlYXRlX2NvbmZsaWN0X2RldGVjdGlvbl9zbG90JywgcHJvaXNzdHJpY3QgPT4g J2YnLAogICBwcm92b2xhdGlsZSA9PiAndicsIHByb3BhcmFsbGVsID0+ICd1JywgcHJvcmV0dHlw ZSA9PiAndm9pZCcsCiAgIHByb2FyZ3R5cGVzID0+ICcnLCBwcm9zcmMgPT4gJ2JpbmFyeV91cGdy YWRlX2NyZWF0ZV9jb25mbGljdF9kZXRlY3Rpb25fc2xvdCcgfSwKK3sgb2lkID0+ICc4NDA3Jywg ZGVzY3IgPT4gJ2ZvciB1c2UgYnkgcGdfdXBncmFkZScsCisgIHByb25hbWUgPT4gJ2JpbmFyeV91 cGdyYWRlX3NldF9uZXh0X3BnX3N1YnNjcmlwdGlvbl9vaWQnLCBwcm92b2xhdGlsZSA9PiAndics CisgIHByb3BhcmFsbGVsID0+ICdyJywgcHJvcmV0dHlwZSA9PiAndm9pZCcsIHByb2FyZ3R5cGVz ID0+ICdvaWQnLAorICBwcm9zcmMgPT4gJ2JpbmFyeV91cGdyYWRlX3NldF9uZXh0X3BnX3N1YnNj cmlwdGlvbl9vaWQnIH0sCiAKICMgY29udmVyc2lvbiBmdW5jdGlvbnMKIHsgb2lkID0+ICc0MzAy JywKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L21vZHVsZXMvc3BnaXN0X25hbWVfb3BzL2V4cGVjdGVk L3NwZ2lzdF9uYW1lX29wcy5vdXQgYi9zcmMvdGVzdC9tb2R1bGVzL3NwZ2lzdF9uYW1lX29wcy9l eHBlY3RlZC9zcGdpc3RfbmFtZV9vcHMub3V0CmluZGV4IDFlZTY1ZWRlMjQzLi4zOWQ0MzM2OGM0 MiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvbW9kdWxlcy9zcGdpc3RfbmFtZV9vcHMvZXhwZWN0ZWQv c3BnaXN0X25hbWVfb3BzLm91dAorKysgYi9zcmMvdGVzdC9tb2R1bGVzL3NwZ2lzdF9uYW1lX29w cy9leHBlY3RlZC9zcGdpc3RfbmFtZV9vcHMub3V0CkBAIC01OSwxMSArNTksMTIgQEAgc2VsZWN0 ICogZnJvbSB0CiAgYmluYXJ5X3VwZ3JhZGVfc2V0X25leHRfbXVsdGlyYW5nZV9wZ190eXBlX29p ZCAgICAgICB8ICAxIHwgYmluYXJ5X3VwZ3JhZGVfc2V0X25leHRfbXVsdGlyYW5nZV9wZ190eXBl X29pZAogIGJpbmFyeV91cGdyYWRlX3NldF9uZXh0X3BnX2F1dGhpZF9vaWQgICAgICAgICAgICAg ICAgfCAgICB8IGJpbmFyeV91cGdyYWRlX3NldF9uZXh0X3BnX2F1dGhpZF9vaWQKICBiaW5hcnlf dXBncmFkZV9zZXRfbmV4dF9wZ19lbnVtX29pZCAgICAgICAgICAgICAgICAgIHwgICAgfCBiaW5h cnlfdXBncmFkZV9zZXRfbmV4dF9wZ19lbnVtX29pZAorIGJpbmFyeV91cGdyYWRlX3NldF9uZXh0 X3BnX3N1YnNjcmlwdGlvbl9vaWQgICAgICAgICAgfCAgICB8IGJpbmFyeV91cGdyYWRlX3NldF9u ZXh0X3BnX3N1YnNjcmlwdGlvbl9vaWQKICBiaW5hcnlfdXBncmFkZV9zZXRfbmV4dF9wZ190YWJs ZXNwYWNlX29pZCAgICAgICAgICAgIHwgICAgfCBiaW5hcnlfdXBncmFkZV9zZXRfbmV4dF9wZ190 YWJsZXNwYWNlX29pZAogIGJpbmFyeV91cGdyYWRlX3NldF9uZXh0X3BnX3R5cGVfb2lkICAgICAg ICAgICAgICAgICAgfCAgICB8IGJpbmFyeV91cGdyYWRlX3NldF9uZXh0X3BnX3R5cGVfb2lkCiAg YmluYXJ5X3VwZ3JhZGVfc2V0X25leHRfdG9hc3RfcGdfY2xhc3Nfb2lkICAgICAgICAgICB8ICAx IHwgYmluYXJ5X3VwZ3JhZGVfc2V0X25leHRfdG9hc3RfcGdfY2xhc3Nfb2lkCiAgYmluYXJ5X3Vw Z3JhZGVfc2V0X25leHRfdG9hc3RfcmVsZmlsZW5vZGUgICAgICAgICAgICB8ICAgIHwgYmluYXJ5 X3VwZ3JhZGVfc2V0X25leHRfdG9hc3RfcmVsZmlsZW5vZGUKLSgxMyByb3dzKQorKDE0IHJvd3Mp CiAKIC0tIFZlcmlmeSBjbGVhbiBmYWlsdXJlIHdoZW4gSU5DTFVERSdkIGNvbHVtbnMgcmVzdWx0 IGluIG92ZXJsZW5ndGggdHVwbGUKIC0tIFRoZSBlcnJvciBtZXNzYWdlIGRldGFpbHMgYXJlIHBs YXRmb3JtLWRlcGVuZGVudCwgc28gc2hvdyBvbmx5IFNRTFNUQVRFCkBAIC0xMDgsMTEgKzEwOSwx MiBAQCBzZWxlY3QgKiBmcm9tIHQKICBiaW5hcnlfdXBncmFkZV9zZXRfbmV4dF9tdWx0aXJhbmdl X3BnX3R5cGVfb2lkICAgICAgIHwgIDEgfCBiaW5hcnlfdXBncmFkZV9zZXRfbmV4dF9tdWx0aXJh bmdlX3BnX3R5cGVfb2lkCiAgYmluYXJ5X3VwZ3JhZGVfc2V0X25leHRfcGdfYXV0aGlkX29pZCAg ICAgICAgICAgICAgICB8ICAgIHwgYmluYXJ5X3VwZ3JhZGVfc2V0X25leHRfcGdfYXV0aGlkX29p ZAogIGJpbmFyeV91cGdyYWRlX3NldF9uZXh0X3BnX2VudW1fb2lkICAgICAgICAgICAgICAgICAg fCAgICB8IGJpbmFyeV91cGdyYWRlX3NldF9uZXh0X3BnX2VudW1fb2lkCisgYmluYXJ5X3VwZ3Jh ZGVfc2V0X25leHRfcGdfc3Vic2NyaXB0aW9uX29pZCAgICAgICAgICB8ICAgIHwgYmluYXJ5X3Vw Z3JhZGVfc2V0X25leHRfcGdfc3Vic2NyaXB0aW9uX29pZAogIGJpbmFyeV91cGdyYWRlX3NldF9u ZXh0X3BnX3RhYmxlc3BhY2Vfb2lkICAgICAgICAgICAgfCAgICB8IGJpbmFyeV91cGdyYWRlX3Nl dF9uZXh0X3BnX3RhYmxlc3BhY2Vfb2lkCiAgYmluYXJ5X3VwZ3JhZGVfc2V0X25leHRfcGdfdHlw ZV9vaWQgICAgICAgICAgICAgICAgICB8ICAgIHwgYmluYXJ5X3VwZ3JhZGVfc2V0X25leHRfcGdf dHlwZV9vaWQKICBiaW5hcnlfdXBncmFkZV9zZXRfbmV4dF90b2FzdF9wZ19jbGFzc19vaWQgICAg ICAgICAgIHwgIDEgfCBiaW5hcnlfdXBncmFkZV9zZXRfbmV4dF90b2FzdF9wZ19jbGFzc19vaWQK ICBiaW5hcnlfdXBncmFkZV9zZXRfbmV4dF90b2FzdF9yZWxmaWxlbm9kZSAgICAgICAgICAgIHwg ICAgfCBiaW5hcnlfdXBncmFkZV9zZXRfbmV4dF90b2FzdF9yZWxmaWxlbm9kZQotKDEzIHJvd3Mp CisoMTQgcm93cykKIAogXHNldCBWRVJCT1NJVFkgc3Fsc3RhdGUKIGluc2VydCBpbnRvIHQgdmFs dWVzKHJlcGVhdCgneHl6enknLCAxMiksIDQyLCByZXBlYXQoJ3h5enp5JywgNDAwMCkpOwotLSAK Mi40My4wCgo= --0000000000000fcdda0647a5526c Content-Type: text/x-patch; charset="US-ASCII"; name="v19-0006-Allow-combined-conflict_log_destination-settings.patch" Content-Disposition: attachment; filename="v19-0006-Allow-combined-conflict_log_destination-settings.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mk1aet405 RnJvbSBiZjdlYzY4OWJkMmJlMThhODMxZDA5Mjg0MTEzYzgyMjIwMDg2ZWQzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaWduZXNoIEMgPHZpZ25lc2gyMUBnbWFpbC5jb20+CkRhdGU6 IE1vbiwgNSBKYW4gMjAyNiAxNzozNDozMCArMDUzMApTdWJqZWN0OiBbUEFUQ0ggdjE5IDYvNl0g QWxsb3cgY29tYmluZWQgY29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uIHNldHRpbmdzCgpFeHRlbmQg Y29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uIGhhbmRsaW5nIHRvIHN1cHBvcnQgY29tYmluZWQgZGVz dGluYXRpb24Kc3BlY2lmaWNhdGlvbnMuIFByZXZpb3VzbHksIG9ubHkgbG9nLCB0YWJsZSwgb3Ig YWxsIHdlcmUgYWNjZXB0ZWQuIFRoaXMgY2hhbmdlCmFsbG93cyBjb21iaW5hdGlvbnMgb2YgdGhl bSBsaWtlIGxvZywgdGFibGUgYW5kIGFsbCwgbG9nLCB0YWJsZSBldGMKLS0tCiBzcmMvYmFja2Vu ZC9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5jICAgICAgfCAgMiArLQogc3JjL2JhY2tlbmQvY29t bWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jICAgIHwgOTIgKysrKysrKysrKysrKysrLS0tLS0tLQog c3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9jb25mbGljdC5jIHwgIDQgKy0KIHNyYy9i aW4vcGdfZHVtcC9wZ19kdW1wLmMgICAgICAgICAgICAgICAgICB8IDQ0ICsrKysrKysrLS0tCiBz cmMvYmluL3BnX2R1bXAvdC8wMDJfcGdfZHVtcC5wbCAgICAgICAgICAgfCAgNCArLQogc3JjL2lu Y2x1ZGUvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uaCAgICAgIHwgIDQgKy0KIHNyYy9pbmNsdWRl L2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuaCAgICB8ICA1ICstCiBzcmMvaW5jbHVkZS9yZXBs aWNhdGlvbi9jb25mbGljdC5oICAgICAgICAgfCAgOSAtLS0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvc3Vic2NyaXB0aW9uLm91dCB8IDcyICsrKysrKysrKy0tLS0tLS0tCiBzcmMvdGVzdC9y ZWdyZXNzL3NxbC9zdWJzY3JpcHRpb24uc3FsICAgICAgfCAxMSArKy0KIDEwIGZpbGVzIGNoYW5n ZWQsIDE1NyBpbnNlcnRpb25zKCspLCA5MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5jIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9w Z19zdWJzY3JpcHRpb24uYwppbmRleCAxYTkzODI0NTA0Yy4uYTcwMjhkMDU1MDYgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfc3Vic2NyaXB0aW9uLmMKKysrIGIvc3JjL2JhY2tl bmQvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uYwpAQCAtMTQ3LDcgKzE0Nyw3IEBAIEdldFN1YnNj cmlwdGlvbihPaWQgc3ViaWQsIGJvb2wgbWlzc2luZ19vaykKIAlkYXR1bSA9IFN5c0NhY2hlR2V0 QXR0ck5vdE51bGwoU1VCU0NSSVBUSU9OT0lELAogCQkJCQkJCQkgICB0dXAsCiAJCQkJCQkJCSAg IEFudW1fcGdfc3Vic2NyaXB0aW9uX3N1YmNvbmZsaWN0bG9nZGVzdCk7Ci0Jc3ViLT5jb25mbGlj dGxvZ2Rlc3QgPSBUZXh0RGF0dW1HZXRDU3RyaW5nKGRhdHVtKTsKKwlzdWItPmNvbmZsaWN0bG9n ZGVzdCA9IHRleHRhcnJheV90b19zdHJpbmdsaXN0KERhdHVtR2V0QXJyYXlUeXBlUChkYXR1bSkp OwogCiAJLyogSXMgdGhlIHN1YnNjcmlwdGlvbiBvd25lciBhIHN1cGVydXNlcj8gKi8KIAlzdWIt Pm93bmVyc3VwZXJ1c2VyID0gc3VwZXJ1c2VyX2FyZyhzdWItPm93bmVyKTsKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuYyBiL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuYwppbmRleCA2Yzg2NWRhY2ZkNy4uOGRiOTE5NDA1YjYg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuYworKysg Yi9zcmMvYmFja2VuZC9jb21tYW5kcy9zdWJzY3JpcHRpb25jbWRzLmMKQEAgLTYwLDYgKzYwLDcg QEAKICNpbmNsdWRlICJ1dGlscy9wZ19sc24uaCIKICNpbmNsdWRlICJ1dGlscy9yZWdwcm9jLmgi CiAjaW5jbHVkZSAidXRpbHMvc3lzY2FjaGUuaCIKKyNpbmNsdWRlICJ1dGlscy92YXJsZW5hLmgi CiAKIC8qCiAgKiBPcHRpb25zIHRoYXQgY2FuIGJlIHNwZWNpZmllZCBieSB0aGUgdXNlciBpbiBD UkVBVEUvQUxURVIgU1VCU0NSSVBUSU9OCkBAIC04NSw5ICs4Niw2IEBACiAjZGVmaW5lIFNVQk9Q VF9PUklHSU4JCQkJMHgwMDAyMDAwMAogI2RlZmluZSBTVUJPUFRfQ09ORkxJQ1RfTE9HX0RFU1QJ MHgwMDA0MDAwMAogCi0vKiBjaGVjayBpZiB0aGUgJ3ZhbCcgaGFzICdiaXRzJyBzZXQgKi8KLSNk ZWZpbmUgSXNTZXQodmFsLCBiaXRzKSAgKCgodmFsKSAmIChiaXRzKSkgPT0gKGJpdHMpKQotCiAv KgogICogVGhpcyB3aWxsIGJlIHNldCBieSB0aGUgcGdfdXBncmFkZV9zdXBwb3J0IGZ1bmN0aW9u IC0tCiAgKiBiaW5hcnlfdXBncmFkZV9zZXRfbmV4dF9wZ19zdWJzY3JpcHRpb25fb2lkKCkuCkBA IC00MjIsMTUgKzQyMCwyMSBAQCBwYXJzZV9zdWJzY3JpcHRpb25fb3B0aW9ucyhQYXJzZVN0YXRl ICpwc3RhdGUsIExpc3QgKnN0bXRfb3B0aW9ucywKIAkJZWxzZSBpZiAoSXNTZXQoc3VwcG9ydGVk X29wdHMsIFNVQk9QVF9DT05GTElDVF9MT0dfREVTVCkgJiYKIAkJCQkgc3RyY21wKGRlZmVsLT5k ZWZuYW1lLCAiY29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uIikgPT0gMCkKIAkJewotCQkJY2hhciAq dmFsOwotCQkJQ29uZmxpY3RMb2dEZXN0IGRlc3Q7CisJCQljaGFyCSAgICp2YWw7CisJCQlMaXN0 CSAgICpkZXN0OwogCiAJCQlpZiAoSXNTZXQob3B0cy0+c3BlY2lmaWVkX29wdHMsIFNVQk9QVF9D T05GTElDVF9MT0dfREVTVCkpCiAJCQkJZXJyb3JDb25mbGljdGluZ0RlZkVsZW0oZGVmZWwsIHBz dGF0ZSk7CiAKIAkJCXZhbCA9IGRlZkdldFN0cmluZyhkZWZlbCk7Ci0JCQlkZXN0ID0gR2V0TG9n RGVzdGluYXRpb24odmFsKTsKLQkJCW9wdHMtPmxvZ2Rlc3QgPSBkZXN0OworCQkJaWYgKCFTcGxp dElkZW50aWZpZXJTdHJpbmcodmFsLCAnLCcsICZkZXN0KSkKKwkJCQllcmVwb3J0KEVSUk9SLAor CQkJCQkJZXJyY29kZShFUlJDT0RFX1NZTlRBWF9FUlJPUiksCisJCQkJCQllcnJtc2coImludmFs aWQgbGlzdCBzeW50YXggaW4gcGFyYW1ldGVyIFwiJXNcIiIsCisJCQkJCQkJICAgImNvbmZsaWN0 X2xvZ19kZXN0aW5hdGlvbiIpKTsKKworCQkJb3B0cy0+bG9nZGVzdCA9IEdldExvZ0Rlc3RpbmF0 aW9uKGRlc3QsIGZhbHNlKTsKKwogCQkJb3B0cy0+c3BlY2lmaWVkX29wdHMgfD0gU1VCT1BUX0NP TkZMSUNUX0xPR19ERVNUOwogCQl9CiAJCWVsc2UKQEAgLTYxMCw2ICs2MTQsMzAgQEAgcHVibGlj YXRpb25MaXN0VG9BcnJheShMaXN0ICpwdWJsaXN0KQogCXJldHVybiBQb2ludGVyR2V0RGF0dW0o YXJyKTsKIH0KIAorLyoKKyAqIEJ1aWxkIGEgdGV4dFtdIGFycmF5IHJlcHJlc2VudGluZyB0aGUg Y29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uIGZsYWdzLgorICovCitzdGF0aWMgRGF0dW0KK0NvbmZs aWN0TG9nRGVzdEZsYWdzVG9BcnJheShDb25mbGljdExvZ0Rlc3QgbG9nZGVzdCkKK3sKKwlEYXR1 bQkJZGF0dW1zWzNdOworCWludAkJCW5kYXR1bXMgPSAwOworCisJaWYgKElzU2V0KGxvZ2Rlc3Qs IENPTkZMSUNUX0xPR19ERVNUX0FMTCkpCisJCWRhdHVtc1tuZGF0dW1zKytdID0gQ1N0cmluZ0dl dFRleHREYXR1bSgiYWxsIik7CisJZWxzZQorCXsKKwkJaWYgKElzU2V0KGxvZ2Rlc3QsIENPTkZM SUNUX0xPR19ERVNUX0xPRykpCisJCQlkYXR1bXNbbmRhdHVtcysrXSA9IENTdHJpbmdHZXRUZXh0 RGF0dW0oImxvZyIpOworCisJCWlmIChJc1NldChsb2dkZXN0LCBDT05GTElDVF9MT0dfREVTVF9U QUJMRSkpCisJCQlkYXR1bXNbbmRhdHVtcysrXSA9IENTdHJpbmdHZXRUZXh0RGF0dW0oInRhYmxl Iik7CisJfQorCisJcmV0dXJuIFBvaW50ZXJHZXREYXR1bSgKKwkJCQkJCSAgIGNvbnN0cnVjdF9h cnJheV9idWlsdGluKGRhdHVtcywgbmRhdHVtcywgVEVYVE9JRCkpOworfQorCiAvKgogICogQ3Jl YXRlIG5ldyBzdWJzY3JpcHRpb24uCiAgKi8KQEAgLTc5NCwxNCArODIyLDEzIEBAIENyZWF0ZVN1 YnNjcmlwdGlvbihQYXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVN1YnNjcmlwdGlvblN0bXQgKnN0 bXQsCiAKIAkvKiBBbHdheXMgc2V0IHRoZSBkZXN0aW5hdGlvbiwgZGVmYXVsdCB3aWxsIGJlICds b2cnLiAqLwogCXZhbHVlc1tBbnVtX3BnX3N1YnNjcmlwdGlvbl9zdWJjb25mbGljdGxvZ2Rlc3Qg LSAxXSA9Ci0JCUNTdHJpbmdHZXRUZXh0RGF0dW0oQ29uZmxpY3RMb2dEZXN0TmFtZXNbb3B0cy5s b2dkZXN0XSk7CisJCUNvbmZsaWN0TG9nRGVzdEZsYWdzVG9BcnJheShvcHRzLmxvZ2Rlc3QpOwog CiAJLyoKIAkgKiBJZiBsb2dnaW5nIHRvIGEgdGFibGUgaXMgcmVxdWlyZWQsIHBoeXNpY2FsbHkg Y3JlYXRlIHRoZSBsb2dnaW5nCiAJICogcmVsYXRpb24gYW5kIHN0b3JlIGl0cyBPSUQgaW4gdGhl IGNhdGFsb2cuCiAJICovCi0JaWYgKG9wdHMubG9nZGVzdCA9PSBDT05GTElDVF9MT0dfREVTVF9U QUJMRSB8fAotCQlvcHRzLmxvZ2Rlc3QgPT0gQ09ORkxJQ1RfTE9HX0RFU1RfQUxMKQorCWlmIChJ c1NldChvcHRzLmxvZ2Rlc3QsIENPTkZMSUNUX0xPR19ERVNUX1RBQkxFKSkKIAl7CiAJCU9pZCAg ICAgbG9ncmVsaWQ7CiAKQEAgLTE0MjUsNyArMTQ1Miw3IEBAIEFsdGVyU3Vic2NyaXB0aW9uQ29u ZmxpY3RMb2dEZXN0aW5hdGlvbihTdWJzY3JpcHRpb24gKnN1YiwKIAkJCQkJCQkJCQlDb25mbGlj dExvZ0Rlc3QgbG9nZGVzdCwKIAkJCQkJCQkJCQlPaWQgKmNvbmZsaWN0dGFibGVyZWxpZCkKIHsK LQlDb25mbGljdExvZ0Rlc3Qgb2xkX2Rlc3QgPSBHZXRMb2dEZXN0aW5hdGlvbihzdWItPmNvbmZs aWN0bG9nZGVzdCk7CisJQ29uZmxpY3RMb2dEZXN0IG9sZF9kZXN0ID0gR2V0TG9nRGVzdGluYXRp b24oc3ViLT5jb25mbGljdGxvZ2Rlc3QsIHRydWUpOwogCWJvb2wJCXdhbnRfdGFibGU7CiAJYm9v bAkJaGFzX29sZHRhYmxlOwogCWJvb2wJCXVwZGF0ZV9yZWxpZCA9IGZhbHNlOwpAQCAtMTgxNyw3 ICsxODQ0LDcgQEAgQWx0ZXJTdWJzY3JpcHRpb24oUGFyc2VTdGF0ZSAqcHN0YXRlLCBBbHRlclN1 YnNjcmlwdGlvblN0bXQgKnN0bXQsCiAJCQkJaWYgKElzU2V0KG9wdHMuc3BlY2lmaWVkX29wdHMs IFNVQk9QVF9DT05GTElDVF9MT0dfREVTVCkpCiAJCQkJewogCQkJCQlDb25mbGljdExvZ0Rlc3Qg b2xkX2Rlc3QgPQotCQkJCQkJCUdldExvZ0Rlc3RpbmF0aW9uKHN1Yi0+Y29uZmxpY3Rsb2dkZXN0 KTsKKwkJCQkJCUdldExvZ0Rlc3RpbmF0aW9uKHN1Yi0+Y29uZmxpY3Rsb2dkZXN0LCB0cnVlKTsK IAogCQkJCQlpZiAob3B0cy5sb2dkZXN0ICE9IG9sZF9kZXN0KQogCQkJCQl7CkBAIC0xODI1LDcg KzE4NTIsNyBAQCBBbHRlclN1YnNjcmlwdGlvbihQYXJzZVN0YXRlICpwc3RhdGUsIEFsdGVyU3Vi c2NyaXB0aW9uU3RtdCAqc3RtdCwKIAkJCQkJCU9pZAkJCXJlbGlkID0gSW52YWxpZE9pZDsKIAog CQkJCQkJdmFsdWVzW0FudW1fcGdfc3Vic2NyaXB0aW9uX3N1YmNvbmZsaWN0bG9nZGVzdCAtIDFd ID0KLQkJCQkJCQlDU3RyaW5nR2V0VGV4dERhdHVtKENvbmZsaWN0TG9nRGVzdE5hbWVzW29wdHMu bG9nZGVzdF0pOworCQkJCQkJCUNvbmZsaWN0TG9nRGVzdEZsYWdzVG9BcnJheShvcHRzLmxvZ2Rl c3QpOwogCQkJCQkJcmVwbGFjZXNbQW51bV9wZ19zdWJzY3JpcHRpb25fc3ViY29uZmxpY3Rsb2dk ZXN0IC0gMV0gPSB0cnVlOwogCiAJCQkJCQl1cGRhdGVfcmVsaWQgPSBBbHRlclN1YnNjcmlwdGlv bkNvbmZsaWN0TG9nRGVzdGluYXRpb24oc3ViLCBvcHRzLmxvZ2Rlc3QsICZyZWxpZCk7CkBAIC0z NDc3LDI3ICszNTA0LDM4IEBAIGNyZWF0ZV9jb25mbGljdF9sb2dfdGFibGUoT2lkIHN1YmlkLCBj aGFyICpzdWJuYW1lKQogLyoKICAqIEdldExvZ0Rlc3RpbmF0aW9uCiAgKgotICogQ29udmVydCBz dHJpbmcgdG8gZW51bSBieSBjb21wYXJpbmcgYWdhaW5zdCBzdGFuZGFyZGl6ZWQgbGFiZWxzLgor ICogQ29udmVydCBsb2cgZGVzdGluYXRpb24gTGlzdCBvZiBzdHJpbmdzIHRvIGVudW1zLgogICov CiBDb25mbGljdExvZ0Rlc3QKLUdldExvZ0Rlc3RpbmF0aW9uKGNvbnN0IGNoYXIgKmRlc3QpCitH ZXRMb2dEZXN0aW5hdGlvbihMaXN0ICpkZXN0bGlzdCwgYm9vbCBzdHJub2RlbGlzdCkKIHsKLQkv KiBFbXB0eSBzdHJpbmcgb3IgTlVMTCBkZWZhdWx0cyB0byBMT0cuICovCi0JaWYgKGRlc3QgPT0g TlVMTCB8fCBkZXN0WzBdID09ICdcMCcgfHwgcGdfc3RyY2FzZWNtcChkZXN0LCAibG9nIikgPT0g MCkKKwlDb25mbGljdExvZ0Rlc3QgbG9nZGVzdCA9IDA7CisJTGlzdENlbGwgICAqY2VsbDsKKwor CWlmIChkZXN0bGlzdCA9PSBOVUxMKQogCQlyZXR1cm4gQ09ORkxJQ1RfTE9HX0RFU1RfTE9HOwog Ci0JaWYgKHBnX3N0cmNhc2VjbXAoZGVzdCwKLQkJCQkJICBDb25mbGljdExvZ0Rlc3ROYW1lc1tD T05GTElDVF9MT0dfREVTVF9UQUJMRV0pID09IDApCi0JCXJldHVybiBDT05GTElDVF9MT0dfREVT VF9UQUJMRTsKKwlmb3JlYWNoKGNlbGwsIGRlc3RsaXN0KQorCXsKKwkJY2hhcgkgICAqbmFtZTsK IAotCWlmIChwZ19zdHJjYXNlY21wKGRlc3QsIENvbmZsaWN0TG9nRGVzdE5hbWVzW0NPTkZMSUNU X0xPR19ERVNUX0FMTF0pID09IDApCi0JCXJldHVybiBDT05GTElDVF9MT0dfREVTVF9BTEw7CisJ CW5hbWUgPSAoc3Rybm9kZWxpc3QpID8gc3RyVmFsKGxmaXJzdChjZWxsKSkgOiAoY2hhciAqKSBs Zmlyc3QoY2VsbCk7CiAKLQkvKiBVbnJlY29nbml6ZWQgc3RyaW5nLiAqLwotCWVyZXBvcnQoRVJS T1IsCi0JCQkoZXJyY29kZShFUlJDT0RFX0lOVkFMSURfUEFSQU1FVEVSX1ZBTFVFKSwKLQkJCSBl cnJtc2coInVucmVjb2duaXplZCBjb25mbGljdF9sb2dfZGVzdGluYXRpb24gdmFsdWU6IFwiJXNc IiIsIGRlc3QpLAotCQkJIGVycmhpbnQoIlZhbGlkIHZhbHVlcyBhcmUgXCJsb2dcIiwgXCJ0YWJs ZVwiLCBhbmQgXCJhbGxcIi4iKSkpOworCQlpZiAocGdfc3RyY2FzZWNtcChuYW1lLCAibG9nIikg PT0gMCkKKwkJCWxvZ2Rlc3QgfD0gQ09ORkxJQ1RfTE9HX0RFU1RfTE9HOworCQllbHNlIGlmIChw Z19zdHJjYXNlY21wKG5hbWUsICJ0YWJsZSIpID09IDApCisJCQlsb2dkZXN0IHw9IENPTkZMSUNU X0xPR19ERVNUX1RBQkxFOworCQllbHNlIGlmIChwZ19zdHJjYXNlY21wKG5hbWUsICJhbGwiKSA9 PSAwKQorCQkJbG9nZGVzdCB8PSBDT05GTElDVF9MT0dfREVTVF9BTEw7CisJCWVsc2UKKwkJCWVy ZXBvcnQoRVJST1IsCisJCQkJCWVycmNvZGUoRVJSQ09ERV9TWU5UQVhfRVJST1IpLAorCQkJCQll cnJtc2coInVucmVjb2duaXplZCB2YWx1ZSBmb3Igc3Vic2NyaXB0aW9uIHBhcmFtZXRlciBcIiVz XCI6IFwiJXNcIiIsCisJCQkJCQkgICAiY29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uIiwgbmFtZSks CisJCQkJCWVycmhpbnQoIlZhbGlkIHZhbHVlcyBhcmUgXCJsb2dcIiwgXCJ0YWJsZVwiLCBhbmQg XCJhbGxcIi4iKSk7CisJfQorCisJcmV0dXJuIGxvZ2Rlc3Q7CiB9CiAKIC8qCmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2NvbmZsaWN0LmMgYi9zcmMvYmFja2Vu ZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2NvbmZsaWN0LmMKaW5kZXggNmZjZTY1MmRiY2IuLmI5MzY1 YzE5OTc1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2NvbmZs aWN0LmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9jb25mbGljdC5jCkBA IC0xODEsNyArMTgxLDcgQEAgUmVwb3J0QXBwbHlDb25mbGljdChFU3RhdGUgKmVzdGF0ZSwgUmVz dWx0UmVsSW5mbyAqcmVsaW5mbywgaW50IGVsZXZlbCwKIAlwZ3N0YXRfcmVwb3J0X3N1YnNjcmlw dGlvbl9jb25mbGljdChNeVN1YnNjcmlwdGlvbi0+b2lkLCB0eXBlKTsKIAogCS8qIERlY2lkZSB3 aGF0IGRldGFpbCB0byBzaG93IGluIHNlcnZlciBsb2dzLiAqLwotCWlmICgoZGVzdCAmIENPTkZM SUNUX0xPR19ERVNUX0xPRykgIT0gMCkKKwlpZiAoSXNTZXQoZGVzdCwgQ09ORkxJQ1RfTE9HX0RF U1RfTE9HKSB8fCBJc1NldChkZXN0LCBDT05GTElDVF9MT0dfREVTVF9BTEwpKQogCXsKIAkJU3Ry aW5nSW5mb0RhdGEJZXJyX2RldGFpbDsKIApAQCAtMjcxLDcgKzI3MSw3IEBAIEdldENvbmZsaWN0 TG9nVGFibGVJbmZvKENvbmZsaWN0TG9nRGVzdCAqbG9nX2Rlc3QpCiAJICogQ29udmVydCB0aGUg dGV4dCBsb2cgZGVzdGluYXRpb24gdG8gdGhlIGludGVybmFsIGVudW0uICBNeVN1YnNjcmlwdGlv bgogCSAqIGFscmVhZHkgY29udGFpbnMgdGhlIGRhdGEgZnJvbSBwZ19zdWJzY3JpcHRpb24uCiAJ ICovCi0JKmxvZ19kZXN0ID0gR2V0TG9nRGVzdGluYXRpb24oTXlTdWJzY3JpcHRpb24tPmNvbmZs aWN0bG9nZGVzdCk7CisJKmxvZ19kZXN0ID0gR2V0TG9nRGVzdGluYXRpb24oTXlTdWJzY3JpcHRp b24tPmNvbmZsaWN0bG9nZGVzdCwgdHJ1ZSk7CiAJY29uZmxpY3Rsb2dyZWxpZCA9IE15U3Vic2Ny aXB0aW9uLT5jb25mbGljdGxvZ3JlbGlkOwogCiAJLyogSWYgZGVzdGluYXRpb24gaXMgJ2xvZycg b25seSwgbm8gdGFibGUgdG8gb3Blbi4gKi8KZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9w Z19kdW1wLmMgYi9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jCmluZGV4IDQ0Y2M5ZjUwN2E0Li5m Yzg1YTRiZWVlNCAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYworKysgYi9z cmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jCkBAIC01NTY5LDEwICs1NTY5LDEwIEBAIGR1bXBTdWJz Y3JpcHRpb24oQXJjaGl2ZSAqZm91dCwgY29uc3QgU3Vic2NyaXB0aW9uSW5mbyAqc3ViaW5mbykK IAlEdW1wT3B0aW9ucyAqZG9wdCA9IGZvdXQtPmRvcHQ7CiAJUFFFeHBCdWZmZXIgZGVscTsKIAlQ UUV4cEJ1ZmZlciBxdWVyeTsKLQlQUUV4cEJ1ZmZlciBwdWJsaWNhdGlvbnM7CisJUFFFeHBCdWZm ZXIgbmFtZWJ1ZjsKIAljaGFyCSAgICpxc3VibmFtZTsKLQljaGFyCSAgKipwdWJuYW1lcyA9IE5V TEw7Ci0JaW50CQkJbnB1Ym5hbWVzID0gMDsKKwljaGFyCSAgKipuYW1lcyA9IE5VTEw7CisJaW50 CQkJbm5hbWVzID0gMDsKIAlpbnQJCQlpOwogCiAJLyogRG8gbm90aGluZyBpZiBub3QgZHVtcGlu ZyBzY2hlbWEgKi8KQEAgLTU2MDAsMTkgKzU2MDAsMjIgQEAgZHVtcFN1YnNjcmlwdGlvbihBcmNo aXZlICpmb3V0LCBjb25zdCBTdWJzY3JpcHRpb25JbmZvICpzdWJpbmZvKQogCWFwcGVuZFN0cmlu Z0xpdGVyYWxBSChxdWVyeSwgc3ViaW5mby0+c3ViY29ubmluZm8sIGZvdXQpOwogCiAJLyogQnVp bGQgbGlzdCBvZiBxdW90ZWQgcHVibGljYXRpb25zIGFuZCBhcHBlbmQgdGhlbSB0byBxdWVyeS4g Ki8KLQlpZiAoIXBhcnNlUEdBcnJheShzdWJpbmZvLT5zdWJwdWJsaWNhdGlvbnMsICZwdWJuYW1l cywgJm5wdWJuYW1lcykpCisJaWYgKCFwYXJzZVBHQXJyYXkoc3ViaW5mby0+c3VicHVibGljYXRp b25zLCAmbmFtZXMsICZubmFtZXMpKQogCQlwZ19mYXRhbCgiY291bGQgbm90IHBhcnNlICVzIGFy cmF5IiwgInN1YnB1YmxpY2F0aW9ucyIpOwogCi0JcHVibGljYXRpb25zID0gY3JlYXRlUFFFeHBC dWZmZXIoKTsKLQlmb3IgKGkgPSAwOyBpIDwgbnB1Ym5hbWVzOyBpKyspCisJbmFtZWJ1ZiA9IGNy ZWF0ZVBRRXhwQnVmZmVyKCk7CisJZm9yIChpID0gMDsgaSA8IG5uYW1lczsgaSsrKQogCXsKIAkJ aWYgKGkgPiAwKQotCQkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocHVibGljYXRpb25zLCAiLCAiKTsK KwkJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKG5hbWVidWYsICIsICIpOwogCi0JCWFwcGVuZFBRRXhw QnVmZmVyU3RyKHB1YmxpY2F0aW9ucywgZm10SWQocHVibmFtZXNbaV0pKTsKKwkJYXBwZW5kUFFF eHBCdWZmZXJTdHIobmFtZWJ1ZiwgZm10SWQobmFtZXNbaV0pKTsKIAl9CiAKLQlhcHBlbmRQUUV4 cEJ1ZmZlcihxdWVyeSwgIiBQVUJMSUNBVElPTiAlcyBXSVRIIChjb25uZWN0ID0gZmFsc2UsIHNs b3RfbmFtZSA9ICIsIHB1YmxpY2F0aW9ucy0+ZGF0YSk7CisJYXBwZW5kUFFFeHBCdWZmZXIocXVl cnksICIgUFVCTElDQVRJT04gJXMgV0lUSCAoY29ubmVjdCA9IGZhbHNlLCBzbG90X25hbWUgPSAi LCBuYW1lYnVmLT5kYXRhKTsKKwlyZXNldFBRRXhwQnVmZmVyKG5hbWVidWYpOworCWZyZWUobmFt ZXMpOworCiAJaWYgKHN1YmluZm8tPnN1YnNsb3RuYW1lKQogCQlhcHBlbmRTdHJpbmdMaXRlcmFs QUgocXVlcnksIHN1YmluZm8tPnN1YnNsb3RuYW1lLCBmb3V0KTsKIAllbHNlCkBAIC01NjU3LDEw ICs1NjYwLDI1IEBAIGR1bXBTdWJzY3JpcHRpb24oQXJjaGl2ZSAqZm91dCwgY29uc3QgU3Vic2Ny aXB0aW9uSW5mbyAqc3ViaW5mbykKIAogCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LCAiKTtc biIpOwogCisJLyoKKwkgKiBCdWlsZCBsaXN0IG9mIHF1b3RlZCBjb25mbGljdCBsb2cgZGVzdGlu YXRpb25zIGFuZCBhcHBlbmQgdGhlbSB0bworCSAqIHF1ZXJ5LgorCSAqLworCWlmICghcGFyc2VQ R0FycmF5KHN1YmluZm8tPnN1YmNvbmZsaWN0bG9nZGVzdCwgJm5hbWVzLCAmbm5hbWVzKSkKKwkJ cGdfZmF0YWwoImNvdWxkIG5vdCBwYXJzZSAlcyBhcnJheSIsICJjb25mbGljdF9sb2dfZGVzdGlu YXRpb24iKTsKKworCWZvciAoaSA9IDA7IGkgPCBubmFtZXM7IGkrKykKKwl7CisJCWlmIChpID4g MCkKKwkJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKG5hbWVidWYsICIsICIpOworCisJCWFwcGVuZFBR RXhwQnVmZmVyKG5hbWVidWYsICIlcyIsIG5hbWVzW2ldKTsKKwl9CisKIAlhcHBlbmRQUUV4cEJ1 ZmZlcihxdWVyeSwKLQkJCQkJICAiXG5cbkFMVEVSIFNVQlNDUklQVElPTiAlcyBTRVQgKGNvbmZs aWN0X2xvZ19kZXN0aW5hdGlvbiA9ICVzKTtcbiIsCisJCQkJCSAgIlxuXG5BTFRFUiBTVUJTQ1JJ UFRJT04gJXMgU0VUIChjb25mbGljdF9sb2dfZGVzdGluYXRpb24gPSAnJXMnKTtcbiIsCiAJCQkJ CSAgcXN1Ym5hbWUsCi0JCQkJCSAgc3ViaW5mby0+c3ViY29uZmxpY3Rsb2dkZXN0KTsKKwkJCQkJ ICBuYW1lYnVmLT5kYXRhKTsKIAogCS8qCiAJICogSW4gYmluYXJ5LXVwZ3JhZGUgbW9kZSwgd2Ug YWxsb3cgdGhlIHJlcGxpY2F0aW9uIHRvIGNvbnRpbnVlIGFmdGVyIHRoZQpAQCAtNTcxOCw4ICs1 NzM2LDggQEAgZHVtcFN1YnNjcmlwdGlvbihBcmNoaXZlICpmb3V0LCBjb25zdCBTdWJzY3JpcHRp b25JbmZvICpzdWJpbmZvKQogCQkJCQkgTlVMTCwgc3ViaW5mby0+cm9sbmFtZSwKIAkJCQkJIHN1 YmluZm8tPmRvYmouY2F0SWQsIDAsIHN1YmluZm8tPmRvYmouZHVtcElkKTsKIAotCWRlc3Ryb3lQ UUV4cEJ1ZmZlcihwdWJsaWNhdGlvbnMpOwotCWZyZWUocHVibmFtZXMpOworCWRlc3Ryb3lQUUV4 cEJ1ZmZlcihuYW1lYnVmKTsKKwlmcmVlKG5hbWVzKTsKIAogCWRlc3Ryb3lQUUV4cEJ1ZmZlcihk ZWxxKTsKIAlkZXN0cm95UFFFeHBCdWZmZXIocXVlcnkpOwpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9w Z19kdW1wL3QvMDAyX3BnX2R1bXAucGwgYi9zcmMvYmluL3BnX2R1bXAvdC8wMDJfcGdfZHVtcC5w bAppbmRleCAwZGY4NGNkNTg5Ny4uZTA2YWM1NWRiNDcgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdf ZHVtcC90LzAwMl9wZ19kdW1wLnBsCisrKyBiL3NyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1w LnBsCkBAIC0zMjA0LDEwICszMjA0LDEwIEBAIG15ICV0ZXN0cyA9ICgKIAkJY3JlYXRlX29yZGVy ID0+IDUwLAogCQljcmVhdGVfc3FsID0+ICdDUkVBVEUgU1VCU0NSSVBUSU9OIHN1YjMKIAkJCQkJ CSBDT05ORUNUSU9OIFwnZGJuYW1lPWRvZXNub3RleGlzdFwnIFBVQkxJQ0FUSU9OIHB1YjEKLQkJ CQkJCSBXSVRIIChjb25uZWN0ID0gZmFsc2UsIG9yaWdpbiA9IGFueSwgc3RyZWFtaW5nID0gb24s IGNvbmZsaWN0X2xvZ19kZXN0aW5hdGlvbj0gdGFibGUpOycsCisJCQkJCQkgV0lUSCAoY29ubmVj dCA9IGZhbHNlLCBvcmlnaW4gPSBhbnksIHN0cmVhbWluZyA9IG9uLCBjb25mbGljdF9sb2dfZGVz dGluYXRpb249IFwnbG9nLHRhYmxlXCcpOycsCiAJCXJlZ2V4cCA9PiBxci9eCiAJCQlcUUNSRUFU RSBTVUJTQ1JJUFRJT04gc3ViMyBDT05ORUNUSU9OICdkYm5hbWU9ZG9lc25vdGV4aXN0JyBQVUJM SUNBVElPTiBwdWIxIFdJVEggKGNvbm5lY3QgPSBmYWxzZSwgc2xvdF9uYW1lID0gJ3N1YjMnLCBz dHJlYW1pbmcgPSBvbik7XEVcblxuXG4KLQkJCVxRQUxURVIgU1VCU0NSSVBUSU9OIHN1YjMgU0VU IChjb25mbGljdF9sb2dfZGVzdGluYXRpb24gPSB0YWJsZSk7XEUKKwkJCVxRQUxURVIgU1VCU0NS SVBUSU9OIHN1YjMgU0VUIChjb25mbGljdF9sb2dfZGVzdGluYXRpb24gPSAnYWxsJyk7XEUKIAkJ CS94bSwKIAkJbGlrZSA9PiB7ICVmdWxsX3J1bnMsIHNlY3Rpb25fcG9zdF9kYXRhID0+IDEsIH0s CiAJCXVubGlrZSA9PiB7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3N1YnNj cmlwdGlvbi5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uaAppbmRleCAz ZDIyMGIyZGI4YS4uOTJhNzQyNDM3YzIgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cv cGdfc3Vic2NyaXB0aW9uLmgKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19zdWJzY3JpcHRp b24uaApAQCAtMTEwLDcgKzExMCw3IEBAIENBVEFMT0cocGdfc3Vic2NyaXB0aW9uLDYxMDAsU3Vi c2NyaXB0aW9uUmVsYXRpb25JZCkgQktJX1NIQVJFRF9SRUxBVElPTiBCS0lfUk9XCiAJICogJ3Rh YmxlJyAtIGludGVybmFsIHRhYmxlIG9ubHksCiAJICogJ2FsbCcgLSBib3RoIGxvZyBhbmQgdGFi bGUuCiAJICovCi0JdGV4dAkJc3ViY29uZmxpY3Rsb2dkZXN0OworCXRleHQJCXN1YmNvbmZsaWN0 bG9nZGVzdFsxXSBCS0lfRk9SQ0VfTlVMTDsKIAogCS8qIE9ubHkgcHVibGlzaCBkYXRhIG9yaWdp bmF0aW5nIGZyb20gdGhlIHNwZWNpZmllZCBvcmlnaW4gKi8KIAl0ZXh0CQlzdWJvcmlnaW4gQktJ X0RFRkFVTFQoTE9HSUNBTFJFUF9PUklHSU5fQU5ZKTsKQEAgLTE2OSw3ICsxNjksNyBAQCB0eXBl ZGVmIHN0cnVjdCBTdWJzY3JpcHRpb24KIAlMaXN0CSAgICpwdWJsaWNhdGlvbnM7CS8qIExpc3Qg b2YgcHVibGljYXRpb24gbmFtZXMgdG8gc3Vic2NyaWJlIHRvICovCiAJY2hhcgkgICAqb3JpZ2lu OwkJCS8qIE9ubHkgcHVibGlzaCBkYXRhIG9yaWdpbmF0aW5nIGZyb20gdGhlCiAJCQkJCQkJCSAq IHNwZWNpZmllZCBvcmlnaW4gKi8KLQljaGFyCSAgICpjb25mbGljdGxvZ2Rlc3Q7CS8qIENvbmZs aWN0IGxvZyBkZXN0aW5hdGlvbiAqLworCUxpc3QJICAgKmNvbmZsaWN0bG9nZGVzdDsJLyogQ29u ZmxpY3QgbG9nIGRlc3RpbmF0aW9uICovCiB9IFN1YnNjcmlwdGlvbjsKIAogI2lmZGVmIEVYUE9T RV9UT19DTElFTlRfQ09ERQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvc3Vic2Ny aXB0aW9uY21kcy5oIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5oCmlu ZGV4IGJjNGE5MmFmMzU2Li5iOTc3ZGVlZjA0ZSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29t bWFuZHMvc3Vic2NyaXB0aW9uY21kcy5oCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3N1YnNj cmlwdGlvbmNtZHMuaApAQCAtMTksNiArMTksOSBAQAogI2luY2x1ZGUgInBhcnNlci9wYXJzZV9u b2RlLmgiCiAjaW5jbHVkZSAicmVwbGljYXRpb24vY29uZmxpY3QuaCIKIAorLyogY2hlY2sgaWYg dGhlICd2YWwnIGhhcyAnYml0cycgc2V0ICovCisjZGVmaW5lIElzU2V0KHZhbCwgYml0cykgICgo KHZhbCkgJiAoYml0cykpID09IChiaXRzKSkKKwogZXh0ZXJuIE9iamVjdEFkZHJlc3MgQ3JlYXRl U3Vic2NyaXB0aW9uKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQ3JlYXRlU3Vic2NyaXB0aW9uU3RtdCAq c3RtdCwKIAkJCQkJCQkJCQlib29sIGlzVG9wTGV2ZWwpOwogZXh0ZXJuIE9iamVjdEFkZHJlc3Mg QWx0ZXJTdWJzY3JpcHRpb24oUGFyc2VTdGF0ZSAqcHN0YXRlLCBBbHRlclN1YnNjcmlwdGlvblN0 bXQgKnN0bXQsIGJvb2wgaXNUb3BMZXZlbCk7CkBAIC0zNyw3ICs0MCw3IEBAIGV4dGVybiB2b2lk IENoZWNrU3ViRGVhZFR1cGxlUmV0ZW50aW9uKGJvb2wgY2hlY2tfZ3VjLCBib29sIHN1Yl9kaXNh YmxlZCwKIAkJCQkJCQkJCSAgIGJvb2wgcmV0ZW50aW9uX2FjdGl2ZSwKIAkJCQkJCQkJCSAgIGJv b2wgbWF4X3JldGVudGlvbl9zZXQpOwogCi1leHRlcm4gQ29uZmxpY3RMb2dEZXN0IEdldExvZ0Rl c3RpbmF0aW9uKGNvbnN0IGNoYXIgKmRlc3QpOworZXh0ZXJuIENvbmZsaWN0TG9nRGVzdCBHZXRM b2dEZXN0aW5hdGlvbihMaXN0ICpkZXN0bGlzdCwgYm9vbCBzdHJub2RlbGlzdCk7CiBleHRlcm4g Ym9vbCBJc0NvbmZsaWN0TG9nVGFibGUoT2lkIHJlbGlkKTsKIAogI2VuZGlmCQkJCQkJCS8qIFNV QlNDUklQVElPTkNNRFNfSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24v Y29uZmxpY3QuaCBiL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL2NvbmZsaWN0LmgKaW5kZXggYjYw YzBiMDNlMjYuLjNiNTA5MmQ2NTg0IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9yZXBsaWNhdGlv bi9jb25mbGljdC5oCisrKyBiL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL2NvbmZsaWN0LmgKQEAg LTEwMCwxNSArMTAwLDYgQEAgdHlwZWRlZiBlbnVtIENvbmZsaWN0TG9nRGVzdAogCUNPTkZMSUNU X0xPR19ERVNUX0FMTCAgID0gKENPTkZMSUNUX0xPR19ERVNUX0xPRyB8IENPTkZMSUNUX0xPR19E RVNUX1RBQkxFKQogfSBDb25mbGljdExvZ0Rlc3Q7CiAKLS8qCi0gKiBBcnJheSBtYXBwaW5nIGZv ciBjb252ZXJ0aW5nIGludGVybmFsIGVudW0gdG8gc3RyaW5nLgotICovCi1zdGF0aWMgY29uc3Qg Y2hhciAqY29uc3QgQ29uZmxpY3RMb2dEZXN0TmFtZXNbXSA9IHsKLQlbQ09ORkxJQ1RfTE9HX0RF U1RfTE9HXSA9ICJsb2ciLAotCVtDT05GTElDVF9MT0dfREVTVF9UQUJMRV0gPSAidGFibGUiLAot CVtDT05GTElDVF9MT0dfREVTVF9BTExdID0gImFsbCIKLX07Ci0KIC8qIFN0cnVjdHVyZSB0byBo b2xkIG1ldGFkYXRhIGZvciBvbmUgY29sdW1uIG9mIHRoZSBjb25mbGljdCBsb2cgdGFibGUgKi8K IHR5cGVkZWYgc3RydWN0IENvbmZsaWN0TG9nQ29sdW1uRGVmCiB7CmRpZmYgLS1naXQgYS9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N1YnNjcmlwdGlvbi5vdXQgYi9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL3N1YnNjcmlwdGlvbi5vdXQKaW5kZXggODRhYmJhYTVhNGEuLjhkOWQ3ZGZjMTMx IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N1YnNjcmlwdGlvbi5vdXQK KysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zdWJzY3JpcHRpb24ub3V0CkBAIC0xMTks NyArMTE5LDcgQEAgSElOVDogIFRvIGluaXRpYXRlIHJlcGxpY2F0aW9uLCB5b3UgbXVzdCBtYW51 YWxseSBjcmVhdGUgdGhlIHJlcGxpY2F0aW9uIHNsb3QsIGUKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKICAgICAgICBO YW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNh dGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9u IGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFp bG92ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0 ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAg ICAgICAgICB8ICBTa2lwIExTTiAgfCBDb25mbGljdCBsb2cgZGVzdGluYXRpb24gCiAtLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0t LS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIHJlZ3Jl c3NfdGVzdHN1YjQgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0 cHVifSAgIHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAg ICAgICAgICAgfCBub25lICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBm ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBm ICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9l c25vdGV4aXN0IHwgMC8wMDAwMDAwMCB8IGxvZworIHJlZ3Jlc3NfdGVzdHN1YjQgfCByZWdyZXNz X3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgcGFy YWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBub25lICAgfCB0 ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICAg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2Zm ICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8wMDAwMDAw MCB8IHtsb2d9CiAoMSByb3cpCiAKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWI0 IFNFVCAob3JpZ2luID0gYW55KTsKQEAgLTEyNyw3ICsxMjcsNyBAQCBBTFRFUiBTVUJTQ1JJUFRJ T04gcmVncmVzc190ZXN0c3ViNCBTRVQgKG9yaWdpbiA9IGFueSk7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCiAgICAg ICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVi bGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJs ZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8 IEZhaWxvdmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8 IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5m byAgICAgICAgICAgfCAgU2tpcCBMU04gIHwgQ29uZmxpY3QgbG9nIGRlc3RpbmF0aW9uIAogLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0t LS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBy ZWdyZXNzX3Rlc3RzdWI0IHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7 dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAg ICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAg IHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAw IHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNz X2RvZXNub3RleGlzdCB8IDAvMDAwMDAwMDAgfCBsb2cKKyByZWdyZXNzX3Rlc3RzdWI0IHwgcmVn cmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8 IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAg IHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAg ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8 IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IDAvMDAw MDAwMDAgfCB7bG9nfQogKDEgcm93KQogCiBEUk9QIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3Rz dWIzOwpAQCAtMTQ4LDcgKzE0OCw3IEBAIEVSUk9SOiAgaW52YWxpZCBjb25uZWN0aW9uIHN0cmlu ZyBzeW50YXg6IG1pc3NpbmcgIj0iIGFmdGVyICJmb29iYXIiIGluIGNvbm5lY3RpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlv bnMKICAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxl ZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8 IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBv d25lcj8gfCBGYWlsb3ZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVy YXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAg Q29ubmluZm8gICAgICAgICAgIHwgIFNraXAgTFNOICB8IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlv biAKIC0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAg ICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8 IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAg ICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAg ICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJl Z3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8wMDAwMDAwMCB8IGxvZworIHJlZ3Jlc3NfdGVzdHN1YiB8 IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAg ICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFu eSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgZiAg ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAg ICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAw LzAwMDAwMDAwIHwge2xvZ30KICgxIHJvdykKIAogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3Nf dGVzdHN1YiBTRVQgUFVCTElDQVRJT04gdGVzdHB1YjIsIHRlc3RwdWIzIFdJVEggKHJlZnJlc2gg PSBmYWxzZSk7CkBAIC0xNjAsNyArMTYwLDcgQEAgQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3Nf dGVzdHN1YiBTRVQgKHJ1bl9hc19vd25lciA9IHRydWUpOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKICAgICAg IE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8ICAgICBQ dWJsaWNhdGlvbiAgICAgfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwg RGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93 bmVyPyB8IEZhaWxvdmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJh dGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICAg Q29ubmluZm8gICAgICAgICAgIHwgIFNraXAgTFNOICB8IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlv biAKIC0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2Vy IHwgZiAgICAgICB8IHt0ZXN0cHViMix0ZXN0cHViM30gfCBmICAgICAgfCBwYXJhbGxlbCAgfCBk ICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IGYgICAgICAgICAg ICAgICAgIHwgdCAgICAgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAg ICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QyIHwgMC8wMDAwMDAwMCB8IGxvZwor IHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwg e3Rlc3RwdWIyLHRlc3RwdWIzfSB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAg ICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgZiAgICAgICAgICAgICAgICAgfCB0ICAg ICAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFt ZT1yZWdyZXNzX2RvZXNub3RleGlzdDIgfCAwLzAwMDAwMDAwIHwge2xvZ30KICgxIHJvdykKIAog QUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKHBhc3N3b3JkX3JlcXVpcmVk ID0gdHJ1ZSk7CkBAIC0xNzksNyArMTc5LDcgQEAgQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3Nf dGVzdHN1YiBTS0lQIChsc24gPSAnMC8xMjM0NScpOwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKICAgICAgIE5h bWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8ICAgICBQdWJs aWNhdGlvbiAgICAgfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlz YWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVy PyB8IEZhaWxvdmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlv biB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICAgQ29u bmluZm8gICAgICAgICAgIHwgIFNraXAgTFNOICB8IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiAK IC0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwg ZiAgICAgICB8IHt0ZXN0cHViMix0ZXN0cHViM30gfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAg ICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAg ICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAg ICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QyIHwgMC8wMDAxMjM0NSB8IGxvZworIHJl Z3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rl c3RwdWIyLHRlc3RwdWIzfSB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAg fCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAg ICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1y ZWdyZXNzX2RvZXNub3RleGlzdDIgfCAwLzAwMDEyMzQ1IHwge2xvZ30KICgxIHJvdykKIAogLS0g b2sgLSB3aXRoIGxzbiA9IE5PTkUKQEAgLTE5MSw3ICsxOTEsNyBAQCBFUlJPUjogIGludmFsaWQg V0FMIGxvY2F0aW9uIChMU04pOiAwLzAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCiAgICAgICBOYW1lICAgICAg IHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCAgICAgUHVibGljYXRpb24g ICAgIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24g ZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWls b3ZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRl bnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgIENvbm5pbmZvICAg ICAgICAgICB8ICBTa2lwIExTTiAgfCBDb25mbGljdCBsb2cgZGVzdGluYXRpb24gCiAtLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ci0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAg fCB7dGVzdHB1YjIsdGVzdHB1YjN9IHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAg ICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYg ICAgICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJu YW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0MiB8IDAvMDAwMDAwMDAgfCBsb2cKKyByZWdyZXNzX3Rl c3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHViMix0 ZXN0cHViM30gfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAg ICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8 IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8 IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19k b2Vzbm90ZXhpc3QyIHwgMC8wMDAwMDAwMCB8IHtsb2d9CiAoMSByb3cpCiAKIEJFR0lOOwpAQCAt MjI2LDcgKzIyNiw3IEBAIEhJTlQ6ICBBdmFpbGFibGUgdmFsdWVzOiBsb2NhbCwgcmVtb3RlX3dy aXRlLCByZW1vdGVfYXBwbHksIG9uLCBvZmYuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCiAgICAgICAgIE5h bWUgICAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgICAgIFB1 YmxpY2F0aW9uICAgICB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBE aXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3du ZXI/IHwgRmFpbG92ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0 aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgICBD b25uaW5mbyAgICAgICAgICAgfCAgU2tpcCBMU04gIHwgQ29uZmxpY3QgbG9nIGRlc3RpbmF0aW9u IAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWJfZm9vIHwgcmVncmVzc19zdWJzY3JpcHRp b25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1YjIsdGVzdHB1YjN9IHwgZiAgICAgIHwgcGFyYWxs ZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAg ICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICAgICAg ICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgbG9jYWwg ICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0MiB8IDAvMDAwMDAwMDAg fCBsb2cKKyByZWdyZXNzX3Rlc3RzdWJfZm9vIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8 IGYgICAgICAgfCB7dGVzdHB1YjIsdGVzdHB1YjN9IHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAg ICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAg ICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAg ICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgbG9jYWwgICAgICAgICAg ICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0MiB8IDAvMDAwMDAwMDAgfCB7bG9nfQog KDEgcm93KQogCiAtLSByZW5hbWUgYmFjayB0byBrZWVwIHRoZSByZXN0IHNpbXBsZQpAQCAtMjU4 LDcgKzI1OCw3IEBAIEhJTlQ6ICBUbyBpbml0aWF0ZSByZXBsaWNhdGlvbiwgeW91IG11c3QgbWFu dWFsbHkgY3JlYXRlIHRoZSByZXBsaWNhdGlvbiBzbG90LCBlCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKICAgICAgIE5h bWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0 aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24g ZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWls b3ZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRl bnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAg ICAgICAgIHwgIFNraXAgTFNOICB8IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiAKIC0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0t LS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNz X3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVi fSAgIHwgdCAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAg ICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAg ICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAg ICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25v dGV4aXN0IHwgMC8wMDAwMDAwMCB8IGxvZworIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vi c2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCB0ICAgICAgfCBwYXJhbGxl bCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAg ICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAg ICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAwLzAwMDAwMDAwIHwg e2xvZ30KICgxIHJvdykKIAogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQg KGJpbmFyeSA9IGZhbHNlKTsKQEAgLTI2Nyw3ICsyNjcsNyBAQCBBTFRFUiBTVUJTQ1JJUFRJT04g cmVncmVzc190ZXN0c3ViIFNFVCAoc2xvdF9uYW1lID0gTk9ORSk7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKICAgICAg IE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1Ymxp Y2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUg b24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBG YWlsb3ZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBS ZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8g ICAgICAgICAgIHwgIFNraXAgTFNOICB8IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiAKIC0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0t LS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSByZWdy ZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0 cHVifSAgIHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAg ICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBm ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBm ICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9l c25vdGV4aXN0IHwgMC8wMDAwMDAwMCB8IGxvZworIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nf c3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBwYXJh bGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQg ICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAg ICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYg ICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAwLzAwMDAwMDAw IHwge2xvZ30KICgxIHJvdykKIAogRFJPUCBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViOwpA QCAtMjgyLDcgKzI4Miw3IEBAIEhJTlQ6ICBUbyBpbml0aWF0ZSByZXBsaWNhdGlvbiwgeW91IG11 c3QgbWFudWFsbHkgY3JlYXRlIHRoZSByZXBsaWNhdGlvbiBzbG90LCBlCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKICAg ICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1 YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2Fi bGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8g fCBGYWlsb3ZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24g fCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmlu Zm8gICAgICAgICAgIHwgIFNraXAgTFNOICB8IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiAKIC0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0t LS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBy ZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0 ZXN0cHVifSAgIHwgZiAgICAgIHwgb24gICAgICAgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAg ICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAg fCBmICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAg fCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3Nf ZG9lc25vdGV4aXN0IHwgMC8wMDAwMDAwMCB8IGxvZworIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jl c3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBv biAgICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8 IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAg ICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBv ZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAwLzAwMDAw MDAwIHwge2xvZ30KICgxIHJvdykKIAogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1 YiBTRVQgKHN0cmVhbWluZyA9IHBhcmFsbGVsKTsKQEAgLTI5MCw3ICsyOTAsNyBAQCBBTFRFUiBT VUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAoc3RyZWFtaW5nID0gcGFyYWxsZWwpOwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJz Y3JpcHRpb25zCiAgICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8 IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBj b21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBS dW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50 aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAg ICAgICAgIENvbm5pbmZvICAgICAgICAgICB8ICBTa2lwIExTTiAgfCBDb25mbGljdCBsb2cgZGVz dGluYXRpb24gCiAtLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8 IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAg ICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBm ICAgICAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRi bmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IDAvMDAwMDAwMDAgfCBsb2cKKyByZWdyZXNzX3Rl c3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAg IHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAg ICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAg ICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAg ICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4 aXN0IHwgMC8wMDAwMDAwMCB8IHtsb2d9CiAoMSByb3cpCiAKIEFMVEVSIFNVQlNDUklQVElPTiBy ZWdyZXNzX3Rlc3RzdWIgU0VUIChzdHJlYW1pbmcgPSBmYWxzZSk7CkBAIC0yOTksNyArMjk5LDcg QEAgQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKHNsb3RfbmFtZSA9IE5P TkUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBv ZiBzdWJzY3JpcHRpb25zCiAgICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAg ICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1w aGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWly ZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXgg cmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1p dCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8ICBTa2lwIExTTiAgfCBDb25mbGljdCBs b2cgZGVzdGluYXRpb24gCiAtLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25f dXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IG9mZiAgICAgICB8IGQgICAg ICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAg ICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAg ICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IDAvMDAwMDAwMDAgfCBsb2cKKyByZWdy ZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0 cHVifSAgIHwgZiAgICAgIHwgb2ZmICAgICAgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAg ICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBm ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBm ICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9l c25vdGV4aXN0IHwgMC8wMDAwMDAwMCB8IHtsb2d9CiAoMSByb3cpCiAKIC0tIGZhaWwgLSBwdWJs aWNhdGlvbiBhbHJlYWR5IGV4aXN0cwpAQCAtMzE3LDcgKzMxNyw3IEBAIEVSUk9SOiAgcHVibGlj YXRpb24gInRlc3RwdWIxIiBpcyBhbHJlYWR5IGluIHN1YnNjcmlwdGlvbiAicmVncmVzc190ZXN0 c3ViIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKICAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3du ZXIgICAgICAgICAgIHwgRW5hYmxlZCB8ICAgICAgICAgUHVibGljYXRpb24gICAgICAgICB8IEJp bmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwg T3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBS ZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFj dGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8 ICBTa2lwIExTTiAgfCBDb25mbGljdCBsb2cgZGVzdGluYXRpb24gCiAtLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQot IHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwg e3Rlc3RwdWIsdGVzdHB1YjEsdGVzdHB1YjJ9IHwgZiAgICAgIHwgb2ZmICAgICAgIHwgZCAgICAg ICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAg ICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAg ICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAg IHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8wMDAwMDAwMCB8IGxvZworIHJlZ3Jl c3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3Rw dWIsdGVzdHB1YjEsdGVzdHB1YjJ9IHwgZiAgICAgIHwgb2ZmICAgICAgIHwgZCAgICAgICAgICAg ICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYg ICAgICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJu YW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8wMDAwMDAwMCB8IHtsb2d9CiAoMSByb3cpCiAK IC0tIGZhaWwgLSBwdWJsaWNhdGlvbiB1c2VkIG1vcmUgdGhhbiBvbmNlCkBAIC0zMzUsNyArMzM1 LDcgQEAgQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBEUk9QIFBVQkxJQ0FUSU9O IHRlc3RwdWIxLCB0ZXN0cHViMiBXSVRIIChyZWYKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwogICAgICAgTmFtZSAgICAg ICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBC aW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8 IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwg UmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBh Y3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAg fCAgU2tpcCBMU04gIHwgQ29uZmxpY3QgbG9nIGRlc3RpbmF0aW9uIAogLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0t LS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1 YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBm ICAgICAgfCBvZmYgICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8 IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwg ZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAg ICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3Qg fCAwLzAwMDAwMDAwIHwgbG9nCisgcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRp b25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IG9mZiAgICAgICB8IGQg ICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAg ICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAg ICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IDAvMDAwMDAwMDAgfCB7bG9nfQog KDEgcm93KQogCiBEUk9QIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWI7CkBAIC0zNzQsNyAr Mzc0LDcgQEAgSElOVDogIFRvIGluaXRpYXRlIHJlcGxpY2F0aW9uLCB5b3UgbXVzdCBtYW51YWxs eSBjcmVhdGUgdGhlIHJlcGxpY2F0aW9uIHNsb3QsIGUKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwogICAgICAgTmFtZSAg ICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24g fCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJv ciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVy IHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlv biBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAg ICAgfCAgU2tpcCBMU04gIHwgQ29uZmxpY3QgbG9nIGRlc3RpbmF0aW9uIAogLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVz dHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAg fCBmICAgICAgfCBwYXJhbGxlbCAgfCBwICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAg ICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAg IHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAg ICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhp c3QgfCAwLzAwMDAwMDAwIHwgbG9nCisgcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3Jp cHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8 IHAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAg ICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAg ICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IDAvMDAwMDAwMDAgfCB7bG9n fQogKDEgcm93KQogCiAtLSB3ZSBjYW4gYWx0ZXIgc3RyZWFtaW5nIHdoZW4gdHdvX3BoYXNlIGVu YWJsZWQKQEAgLTM4Myw3ICszODMsNyBAQCBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0 c3ViIFNFVCAoc3RyZWFtaW5nID0gdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKICAgICAgIE5hbWUgICAgICAg fCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmlu YXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBP cmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFJl dGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0 aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwg IFNraXAgTFNOICB8IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiAKIC0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0t LS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIg fCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAg ICAgIHwgb24gICAgICAgIHwgcCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBh bnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8IGYg ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAg ICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwg MC8wMDAwMDAwMCB8IGxvZworIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9u X3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBvbiAgICAgICAgfCBwICAg ICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAg ICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAg ICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAwLzAwMDAwMDAwIHwge2xvZ30KICgx IHJvdykKIAogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKHNsb3RfbmFt ZSA9IE5PTkUpOwpAQCAtMzk2LDcgKzM5Niw3IEBAIEhJTlQ6ICBUbyBpbml0aWF0ZSByZXBsaWNh dGlvbiwgeW91IG11c3QgbWFudWFsbHkgY3JlYXRlIHRoZSByZXBsaWNhdGlvbiBzbG90LCBlCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNj cmlwdGlvbnMKICAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwg RW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNv bW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1 biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRp b24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAg ICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgIFNraXAgTFNOICB8IENvbmZsaWN0IGxvZyBkZXN0 aW5hdGlvbiAKIC0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwg ZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgb24gICAgICAgIHwgcCAgICAgICAgICAg ICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYg ICAgICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJu YW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8wMDAwMDAwMCB8IGxvZworIHJlZ3Jlc3NfdGVz dHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAg fCBmICAgICAgfCBvbiAgICAgICAgfCBwICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAg ICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAg IHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAg ICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhp c3QgfCAwLzAwMDAwMDAwIHwge2xvZ30KICgxIHJvdykKIAogQUxURVIgU1VCU0NSSVBUSU9OIHJl Z3Jlc3NfdGVzdHN1YiBTRVQgKHNsb3RfbmFtZSA9IE5PTkUpOwpAQCAtNDEyLDcgKzQxMiw3IEBA IEhJTlQ6ICBUbyBpbml0aWF0ZSByZXBsaWNhdGlvbiwgeW91IG11c3QgbWFudWFsbHkgY3JlYXRl IHRoZSByZXBsaWNhdGlvbiBzbG90LCBlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKICAgICAgIE5hbWUgICAgICAgfCAg ICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5 IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmln aW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFJldGFp biBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZl IHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgIFNr aXAgTFNOICB8IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiAKIC0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0t LSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCBy ZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAg IHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkg ICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8IGYgICAg ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAg IHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8w MDAwMDAwMCB8IGxvZworIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3Vz ZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAg ICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAg IHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAg fCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAwLzAwMDAwMDAwIHwge2xvZ30KICgxIHJv dykKIAogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKGRpc2FibGVfb25f ZXJyb3IgPSB0cnVlKTsKQEAgLTQyMCw3ICs0MjAsNyBAQCBBTFRFUiBTVUJTQ1JJUFRJT04gcmVn cmVzc190ZXN0c3ViIFNFVCAoZGlzYWJsZV9vbl9lcnJvciA9IHRydWUpOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCiAg ICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQ dWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNh YmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/ IHwgRmFpbG92ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9u IHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5p bmZvICAgICAgICAgICB8ICBTa2lwIExTTiAgfCBDb25mbGljdCBsb2cgZGVzdGluYXRpb24gCiAt LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0g cmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7 dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCB0ICAg ICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAg IHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAw IHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNz X2RvZXNub3RleGlzdCB8IDAvMDAwMDAwMDAgfCBsb2cKKyByZWdyZXNzX3Rlc3RzdWIgfCByZWdy ZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwg cGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgfCBhbnkgICAg fCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAg ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwg b2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8wMDAw MDAwMCB8IHtsb2d9CiAoMSByb3cpCiAKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3Rz dWIgU0VUIChzbG90X25hbWUgPSBOT05FKTsKQEAgLTQzNiw3ICs0MzYsNyBAQCBISU5UOiAgVG8g aW5pdGlhdGUgcmVwbGljYXRpb24sIHlvdSBtdXN0IG1hbnVhbGx5IGNyZWF0ZSB0aGUgcmVwbGlj YXRpb24gc2xvdCwgZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCiAgICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93 bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWlu ZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dv cmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBSZXRhaW4gZGVhZCB0dXBs ZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9u b3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8ICBTa2lwIExTTiAgfCBD b25mbGljdCBsb2cgZGVzdGluYXRpb24gCiAtLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJz Y3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVs ICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAg ICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAg ICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IDAvMDAwMDAwMDAgfCBs b2cKKyByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAg ICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8 IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAg ICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAg ICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJl Z3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8wMDAwMDAwMCB8IHtsb2d9CiAoMSByb3cpCiAKIEFMVEVS IFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChzbG90X25hbWUgPSBOT05FKTsKQEAg LTQ1Myw3ICs0NTMsNyBAQCBISU5UOiAgVG8gaW5pdGlhdGUgcmVwbGljYXRpb24sIHlvdSBtdXN0 IG1hbnVhbGx5IGNyZWF0ZSB0aGUgcmVwbGljYXRpb24gc2xvdCwgZQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCiAgICAg ICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJs aWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxl IG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwg RmFpbG92ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwg UmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZv ICAgICAgICAgICB8ICBTa2lwIExTTiAgfCBDb25mbGljdCBsb2cgZGVzdGluYXRpb24gCiAtLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gcmVn cmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVz dHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAg ICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwg ZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAxMDAwIHwg ZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2Rv ZXNub3RleGlzdCB8IDAvMDAwMDAwMDAgfCBsb2cKKyByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNz X3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgcGFy YWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0 ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICAg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgIDEwMDAgfCBmICAgICAgICAgICAgICAgIHwgb2Zm ICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8wMDAwMDAw MCB8IHtsb2d9CiAoMSByb3cpCiAKIC0tIG9rCkBAIC00NjIsNyArNDYyLDcgQEAgQUxURVIgU1VC U0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKG1heF9yZXRlbnRpb25fZHVyYXRpb24gPSAw KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Yg c3Vic2NyaXB0aW9ucwogICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAg ICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhh c2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVk IHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJl dGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQg fCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCAgU2tpcCBMU04gIHwgQ29uZmxpY3QgbG9n IGRlc3RpbmF0aW9uIAogLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3Vz ZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAg ICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAg IHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAg fCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAwLzAwMDAwMDAwIHwgbG9nCisgcmVncmVz c190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1 Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAg ICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAg ICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAg ICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNu b3RleGlzdCB8IDAvMDAwMDAwMDAgfCB7bG9nfQogKDEgcm93KQogCiBBTFRFUiBTVUJTQ1JJUFRJ T04gcmVncmVzc190ZXN0c3ViIFNFVCAoc2xvdF9uYW1lID0gTk9ORSk7CkBAIC01MjMsNyArNTIz LDcgQEAgRFJPUCBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViOwogU0VUIFNFU1NJT04gQVVU SE9SSVpBVElPTiAncmVncmVzc19zdWJzY3JpcHRpb25fdXNlcic7CiAtLSBmYWlsIC0gdW5yZWNv Z25pemVkIHBhcmFtZXRlciB2YWx1ZQogQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZs aWN0X2ZhaWwgQ09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0JyBQVUJMSUNB VElPTiB0ZXN0cHViIFdJVEggKGNvbm5lY3QgPSBmYWxzZSwgY29uZmxpY3RfbG9nX2Rlc3RpbmF0 aW9uID0gJ2ludmFsaWQnKTsKLUVSUk9SOiAgdW5yZWNvZ25pemVkIGNvbmZsaWN0X2xvZ19kZXN0 aW5hdGlvbiB2YWx1ZTogImludmFsaWQiCitFUlJPUjogIHVucmVjb2duaXplZCB2YWx1ZSBmb3Ig c3Vic2NyaXB0aW9uIHBhcmFtZXRlciAiY29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uIjogImludmFs aWQiCiBISU5UOiAgVmFsaWQgdmFsdWVzIGFyZSAibG9nIiwgInRhYmxlIiwgYW5kICJhbGwiLgog LS0gdmVyaWZ5IHN1YmNvbmZsaWN0bG9nZGVzdCBpcyAnbG9nJyBhbmQgcmVsaWQgaXMgMCAoSW52 YWxpZE9pZCkgZm9yIGRlZmF1bHQgY2FzZQogQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX2Nv bmZsaWN0X2xvZ19kZWZhdWx0IENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlz dCcgUFVCTElDQVRJT04gdGVzdHB1YiBXSVRIIChjb25uZWN0ID0gZmFsc2UpOwpAQCAtNTMzLDcg KzUzMyw3IEBAIFNFTEVDVCBzdWJuYW1lLCBzdWJjb25mbGljdGxvZ2Rlc3QsIHN1YmNvbmZsaWN0 bG9ncmVsaWQKIEZST00gcGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5hbWUgPSAncmVncmVzc19j b25mbGljdF9sb2dfZGVmYXVsdCc7CiAgICAgICAgICAgIHN1Ym5hbWUgICAgICAgICAgICB8IHN1 YmNvbmZsaWN0bG9nZGVzdCB8IHN1YmNvbmZsaWN0bG9ncmVsaWQgCiAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ci0gcmVncmVzc19jb25mbGljdF9sb2dfZGVmYXVsdCB8IGxvZyAgICAgICAgICAgICAgICB8ICAg ICAgICAgICAgICAgICAgIDAKKyByZWdyZXNzX2NvbmZsaWN0X2xvZ19kZWZhdWx0IHwge2xvZ30g ICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgMAogKDEgcm93KQogCiAtLSB2ZXJpZnkg ZW1wdHkgc3RyaW5nIGRlZmF1bHRzIHRvICdsb2cnCkBAIC01NDQsMTEgKzU0NCwxMSBAQCBTRUxF Q1Qgc3VibmFtZSwgc3ViY29uZmxpY3Rsb2dkZXN0LCBzdWJjb25mbGljdGxvZ3JlbGlkCiBGUk9N IHBnX3N1YnNjcmlwdGlvbiBXSEVSRSBzdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3RfZW1wdHlf c3RyJzsKICAgICAgICAgICBzdWJuYW1lICAgICAgICAgICB8IHN1YmNvbmZsaWN0bG9nZGVzdCB8 IHN1YmNvbmZsaWN0bG9ncmVsaWQgCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfY29uZmxpY3Rf ZW1wdHlfc3RyIHwgbG9nICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgMAorIHJl Z3Jlc3NfY29uZmxpY3RfZW1wdHlfc3RyIHwge2xvZ30gICAgICAgICAgICAgIHwgICAgICAgICAg ICAgICAgICAgMAogKDEgcm93KQogCiAtLSB0aGlzIHNob3VsZCBnZW5lcmF0ZSBhbiBpbnRlcm5h bCB0YWJsZSBuYW1lZCBwZ19jb25mbGljdF8kc3ViaWQkCi1DUkVBVEUgU1VCU0NSSVBUSU9OIHJl Z3Jlc3NfY29uZmxpY3RfdGVzdDEgQ09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4 aXN0JyBQVUJMSUNBVElPTiB0ZXN0cHViIFdJVEggKGNvbm5lY3QgPSBmYWxzZSwgY29uZmxpY3Rf bG9nX2Rlc3RpbmF0aW9uID0gJ3RhYmxlJyk7CitDUkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3Nf Y29uZmxpY3RfdGVzdDEgQ09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0JyBQ VUJMSUNBVElPTiB0ZXN0cHViIFdJVEggKGNvbm5lY3QgPSBmYWxzZSwgY29uZmxpY3RfbG9nX2Rl c3RpbmF0aW9uID0gJ2xvZywgdGFibGUnKTsKIFdBUk5JTkc6ICBzdWJzY3JpcHRpb24gd2FzIGNy ZWF0ZWQsIGJ1dCBpcyBub3QgY29ubmVjdGVkCiBISU5UOiAgVG8gaW5pdGlhdGUgcmVwbGljYXRp b24sIHlvdSBtdXN0IG1hbnVhbGx5IGNyZWF0ZSB0aGUgcmVwbGljYXRpb24gc2xvdCwgZW5hYmxl IHRoZSBzdWJzY3JpcHRpb24sIGFuZCBhbHRlciB0aGUgc3Vic2NyaXB0aW9uIHRvIHJlZnJlc2gg cHVibGljYXRpb25zLgogLS0gY2hlY2sgbWV0YWRhdGEgaW4gcGdfc3Vic2NyaXB0aW9uOiBkZXN0 aW5hdGlvbiBzaG91bGQgYmUgJ3RhYmxlJyBhbmQgcmVsaWQgdmFsaWQKQEAgLTU1Niw3ICs1NTYs NyBAQCBTRUxFQ1Qgc3VibmFtZSwgc3ViY29uZmxpY3Rsb2dkZXN0LCBzdWJjb25mbGljdGxvZ3Jl bGlkID4gMCBBUyBoYXNfcmVsaWQKIEZST00gcGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5hbWUg PSAncmVncmVzc19jb25mbGljdF90ZXN0MSc7CiAgICAgICAgIHN1Ym5hbWUgICAgICAgICB8IHN1 YmNvbmZsaWN0bG9nZGVzdCB8IGhhc19yZWxpZCAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQotIHJlZ3Jlc3NfY29uZmxpY3RfdGVzdDEg fCB0YWJsZSAgICAgICAgICAgICAgfCB0CisgcmVncmVzc19jb25mbGljdF90ZXN0MSB8IHthbGx9 ICAgICAgICAgICAgICB8IHQKICgxIHJvdykKIAogLS0gdmVyaWZ5IHRoZSBwaHlzaWNhbCB0YWJs ZSBleGlzdHMgYW5kIGl0cyBPSUQgbWF0Y2hlcyBzdWJjb25mbGljdGxvZ3JlbGlkCkBAIC01ODYs MTggKzU4NiwyOCBAQCBXSEVSRSBzLnN1Ym5hbWUgPSAncmVncmVzc19jb25mbGljdF90ZXN0MScg QU5EIGEuYXR0bnVtID4gMDsKIC0tIFRoZXNlIHRlc3RzIHZlcmlmeSB0aGUgdHJhbnNpdGlvbiBs b2dpYyBiZXR3ZWVuIGRpZmZlcmVudCBsb2dnaW5nCiAtLSBkZXN0aW5hdGlvbnMsIGVuc3VyaW5n IGludGVybmFsIHRhYmxlcyBhcmUgY3JlYXRlZCBvciBkcm9wcGVkIGFzIGV4cGVjdGVkLgogLS0K LS0tIHRyYW5zaXRpb24gZnJvbSAnbG9nJyB0byAnYWxsJworLS0gdHJhbnNpdGlvbiBmcm9tICds b2cnIHRvICdsb2csIHRhYmxlJwogLS0gYSBuZXcgaW50ZXJuYWwgY29uZmxpY3QgbG9nIHRhYmxl IHNob3VsZCBiZSBjcmVhdGVkCiBDUkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3Rf dGVzdDIgQ09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0JyBQVUJMSUNBVElP TiB0ZXN0cHViIFdJVEggKGNvbm5lY3QgPSBmYWxzZSwgY29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9u ID0gJ2xvZycpOwogV0FSTklORzogIHN1YnNjcmlwdGlvbiB3YXMgY3JlYXRlZCwgYnV0IGlzIG5v dCBjb25uZWN0ZWQKIEhJTlQ6ICBUbyBpbml0aWF0ZSByZXBsaWNhdGlvbiwgeW91IG11c3QgbWFu dWFsbHkgY3JlYXRlIHRoZSByZXBsaWNhdGlvbiBzbG90LCBlbmFibGUgdGhlIHN1YnNjcmlwdGlv biwgYW5kIGFsdGVyIHRoZSBzdWJzY3JpcHRpb24gdG8gcmVmcmVzaCBwdWJsaWNhdGlvbnMuCitB TFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF90ZXN0MiBTRVQgKGNvbmZsaWN0X2xv Z19kZXN0aW5hdGlvbiA9ICdsb2csIHRhYmxlJyk7CistLSB2ZXJpZnkgbWV0YWRhdGEgYWZ0ZXIg QUxURVIgKGRlc3RpbmF0aW9uIHNob3VsZCBiZSAnbG9nLCB0YWJsZScpCitTRUxFQ1Qgc3VibmFt ZSwgc3ViY29uZmxpY3Rsb2dkZXN0LCBzdWJjb25mbGljdGxvZ3JlbGlkID4gMCBBUyBoYXNfcmVs aWQKK0ZST00gcGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5hbWUgPSAncmVncmVzc19jb25mbGlj dF90ZXN0Mic7CisgICAgICAgIHN1Ym5hbWUgICAgICAgICB8IHN1YmNvbmZsaWN0bG9nZGVzdCB8 IGhhc19yZWxpZCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLQorIHJlZ3Jlc3NfY29uZmxpY3RfdGVzdDIgfCB7YWxsfSAgICAgICAgICAg ICAgfCB0CisoMSByb3cpCisKKy0tIHRyYW5zaXRpb24gZnJvbSAnbG9nLCB0YWJsZScgdG8gJ2Fs bCcKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0X3Rlc3QyIFNFVCAoY29uZmxp Y3RfbG9nX2Rlc3RpbmF0aW9uID0gJ2FsbCcpOwogLS0gdmVyaWZ5IG1ldGFkYXRhIGFmdGVyIEFM VEVSIChkZXN0aW5hdGlvbiBzaG91bGQgYmUgJ2FsbCcpCiBTRUxFQ1Qgc3VibmFtZSwgc3ViY29u ZmxpY3Rsb2dkZXN0LCBzdWJjb25mbGljdGxvZ3JlbGlkID4gMCBBUyBoYXNfcmVsaWQKIEZST00g cGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5hbWUgPSAncmVncmVzc19jb25mbGljdF90ZXN0Mic7 CiAgICAgICAgIHN1Ym5hbWUgICAgICAgICB8IHN1YmNvbmZsaWN0bG9nZGVzdCB8IGhhc19yZWxp ZCAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLQotIHJlZ3Jlc3NfY29uZmxpY3RfdGVzdDIgfCBhbGwgICAgICAgICAgICAgICAgfCB0Cisg cmVncmVzc19jb25mbGljdF90ZXN0MiB8IHthbGx9ICAgICAgICAgICAgICB8IHQKICgxIHJvdykK IAogLS0gdHJhbnNpdGlvbiBmcm9tICdhbGwnIHRvICd0YWJsZScKQEAgLTYwOCw3ICs2MTgsNyBA QCBTRUxFQ1Qgc3ViY29uZmxpY3Rsb2dkZXN0LCBzdWJjb25mbGljdGxvZ3JlbGlkID0gOm9sZF9y ZWxpZCBBUyByZWxpZF91bmNoYW5nZWQKIEZST00gcGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5h bWUgPSAncmVncmVzc19jb25mbGljdF90ZXN0Mic7CiAgc3ViY29uZmxpY3Rsb2dkZXN0IHwgcmVs aWRfdW5jaGFuZ2VkIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KLSB0 YWJsZSAgICAgICAgICAgICAgfCB0Cisge3RhYmxlfSAgICAgICAgICAgIHwgdAogKDEgcm93KQog CiAtLSB0cmFuc2l0aW9uIGZyb20gJ3RhYmxlJyB0byAnbG9nJwpAQCAtNjE4LDcgKzYyOCw3IEBA IFNFTEVDVCBzdWJjb25mbGljdGxvZ2Rlc3QsIHN1YmNvbmZsaWN0bG9ncmVsaWQKIEZST00gcGdf c3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5hbWUgPSAncmVncmVzc19jb25mbGljdF90ZXN0Mic7CiAg c3ViY29uZmxpY3Rsb2dkZXN0IHwgc3ViY29uZmxpY3Rsb2dyZWxpZCAKIC0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIGxvZyAgICAgICAgICAgICAgICB8ICAgICAg ICAgICAgICAgICAgIDAKKyB7bG9nfSAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAw CiAoMSByb3cpCiAKIC0tIHZlcmlmeSB0aGUgcGh5c2ljYWwgdGFibGUgaXMgZ29uZQpkaWZmIC0t Z2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3Vic2NyaXB0aW9uLnNxbCBiL3NyYy90ZXN0L3Jl Z3Jlc3Mvc3FsL3N1YnNjcmlwdGlvbi5zcWwKaW5kZXggODNiZWZhODcyMmMuLjRlZTk2ZDRmY2Yy IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zdWJzY3JpcHRpb24uc3FsCisrKyBi L3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N1YnNjcmlwdGlvbi5zcWwKQEAgLTM4NSw3ICszODUsNyBA QCBTRUxFQ1Qgc3VibmFtZSwgc3ViY29uZmxpY3Rsb2dkZXN0LCBzdWJjb25mbGljdGxvZ3JlbGlk CiBGUk9NIHBnX3N1YnNjcmlwdGlvbiBXSEVSRSBzdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3Rf ZW1wdHlfc3RyJzsKIAogLS0gdGhpcyBzaG91bGQgZ2VuZXJhdGUgYW4gaW50ZXJuYWwgdGFibGUg bmFtZWQgcGdfY29uZmxpY3RfJHN1YmlkJAotQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX2Nv bmZsaWN0X3Rlc3QxIENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVC TElDQVRJT04gdGVzdHB1YiBXSVRIIChjb25uZWN0ID0gZmFsc2UsIGNvbmZsaWN0X2xvZ19kZXN0 aW5hdGlvbiA9ICd0YWJsZScpOworQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0 X3Rlc3QxIENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCTElDQVRJ T04gdGVzdHB1YiBXSVRIIChjb25uZWN0ID0gZmFsc2UsIGNvbmZsaWN0X2xvZ19kZXN0aW5hdGlv biA9ICdsb2csIHRhYmxlJyk7CiAKIC0tIGNoZWNrIG1ldGFkYXRhIGluIHBnX3N1YnNjcmlwdGlv bjogZGVzdGluYXRpb24gc2hvdWxkIGJlICd0YWJsZScgYW5kIHJlbGlkIHZhbGlkCiBTRUxFQ1Qg c3VibmFtZSwgc3ViY29uZmxpY3Rsb2dkZXN0LCBzdWJjb25mbGljdGxvZ3JlbGlkID4gMCBBUyBo YXNfcmVsaWQKQEAgLTQxMSw5ICs0MTEsMTYgQEAgV0hFUkUgcy5zdWJuYW1lID0gJ3JlZ3Jlc3Nf Y29uZmxpY3RfdGVzdDEnIEFORCBhLmF0dG51bSA+IDA7CiAtLSBkZXN0aW5hdGlvbnMsIGVuc3Vy aW5nIGludGVybmFsIHRhYmxlcyBhcmUgY3JlYXRlZCBvciBkcm9wcGVkIGFzIGV4cGVjdGVkLgog LS0KIAotLS0gdHJhbnNpdGlvbiBmcm9tICdsb2cnIHRvICdhbGwnCistLSB0cmFuc2l0aW9uIGZy b20gJ2xvZycgdG8gJ2xvZywgdGFibGUnCiAtLSBhIG5ldyBpbnRlcm5hbCBjb25mbGljdCBsb2cg dGFibGUgc2hvdWxkIGJlIGNyZWF0ZWQKIENSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25m bGljdF90ZXN0MiBDT05ORUNUSU9OICdkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QnIFBVQkxJ Q0FUSU9OIHRlc3RwdWIgV0lUSCAoY29ubmVjdCA9IGZhbHNlLCBjb25mbGljdF9sb2dfZGVzdGlu YXRpb24gPSAnbG9nJyk7CitBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF90ZXN0 MiBTRVQgKGNvbmZsaWN0X2xvZ19kZXN0aW5hdGlvbiA9ICdsb2csIHRhYmxlJyk7CisKKy0tIHZl cmlmeSBtZXRhZGF0YSBhZnRlciBBTFRFUiAoZGVzdGluYXRpb24gc2hvdWxkIGJlICdsb2csIHRh YmxlJykKK1NFTEVDVCBzdWJuYW1lLCBzdWJjb25mbGljdGxvZ2Rlc3QsIHN1YmNvbmZsaWN0bG9n cmVsaWQgPiAwIEFTIGhhc19yZWxpZAorRlJPTSBwZ19zdWJzY3JpcHRpb24gV0hFUkUgc3VibmFt ZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Rlc3QyJzsKKworLS0gdHJhbnNpdGlvbiBmcm9tICdsb2cs IHRhYmxlJyB0byAnYWxsJwogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3RfdGVz dDIgU0VUIChjb25mbGljdF9sb2dfZGVzdGluYXRpb24gPSAnYWxsJyk7CiAKIC0tIHZlcmlmeSBt ZXRhZGF0YSBhZnRlciBBTFRFUiAoZGVzdGluYXRpb24gc2hvdWxkIGJlICdhbGwnKQotLSAKMi40 My4wCgo= --0000000000000fcdda0647a5526c--