Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ksjuw-0004Pk-84 for pgadmin-hackers@arkaria.postgresql.org; Fri, 25 Dec 2020 10:01:51 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1ksjuu-0001cd-RT for pgadmin-hackers@arkaria.postgresql.org; Fri, 25 Dec 2020 10:01:48 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ksjut-0001cV-I8 for pgadmin-hackers@lists.postgresql.org; Fri, 25 Dec 2020 10:01:48 +0000 Received: from mail-lf1-x12b.google.com ([2a00:1450:4864:20::12b]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1ksjuk-0005gx-LV for pgadmin-hackers@postgresql.org; Fri, 25 Dec 2020 10:01:46 +0000 Received: by mail-lf1-x12b.google.com with SMTP id o13so9379788lfr.3 for ; Fri, 25 Dec 2020 02:01:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=0fi30K+0O6D2xou3+KPXI8q0KdzbhPvqM3bstwvP6Dw=; b=a5NivemT8+GRjyWXL/GEc4X0NkShN1lOGiPzHcEXdwn99wxYWxytyAdNJRSTbxmTFz gdRrAYzU+ieVrI6ayql9gfHgqBmTujKM5TI7zXPTaG27FgBZa5nrq0Zg71/AWtVyeoMq GFURq3XX88QLY+RRgLUmJPdhIqM8fi9tkyv+k2H0muPo5u3q/tokrnYTSTkldFUoX32Y dKlGYDif5mbVgKdEFsNXHiUNOY55vxNsHmANfwCFp62ov6Oi4+ObhpnVUuJvB9VlBgZa 3NYHwTrF74ZyAsO/YZJhLPR/VW1Lgds97MlynWJFy8xvDSyYEffWuCwo2FtDatnxPh8H XFeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=0fi30K+0O6D2xou3+KPXI8q0KdzbhPvqM3bstwvP6Dw=; b=fcAJZkL75dipK0sIyBqOenxLbjpa5nf/SoYy4bC/2izqOO9TY9CekgNZw1sYmKJXor cFg5PPdfCrJIgSlPDLKdSSR9roZz9XCXDime47uUGJ0/Pk9CQJvGzgVKAdh3ShqEb5th qRfCERzF7rVaNlD8I1eVXLetW2AuHLokFPXbFlzY6fUwnDL4Gx4nOHG25B1eIqwmuxua nCQYxx01VFVCEdiGtEOugJpRqCACFjVULpwR3DwtwhzKh5qziIePZxPSODM142Mdd7jP ZYTZjzVLaIWVWatKOkoj2wPEu9p3a5yHrR1yOPMW2SMTtyYOmA8w28d57x23/ryMsNGk dhiQ== X-Gm-Message-State: AOAM530m2herhIjU9wVzgQRteGhNS24Km/Rli0UynIZDx5YXO0t6g6aS k3HQDHYWKYmUIjS4FrMhKAPOmz8LnQEpyvc268V3yaISegnm7oPzFQ+979NsRPk6rTK8wEf1u4C wqU2TLRIENinBw0zVyYPDr/MEZMHmjsCauiiWMlAfCi44/ZWzDkoFcgQYyzJYCIMrICUWtDCAgH otdBnttq7l34L/WKh2y4s68QkG7fR6j1UObfR91QVaSKm1CJktKjBmSQZeNes8V9+8Ojz0 X-Google-Smtp-Source: ABdhPJxZHl2vRC/VAIX+7hundLRYVcRqY3dOEqj3sHQBQnq3QQs6Uwtg5vn1arrilvG4tJ7fOZcL+7dZyjArXdTmyKo= X-Received: by 2002:a05:6512:3089:: with SMTP id z9mr15125134lfd.433.1608890496492; Fri, 25 Dec 2020 02:01:36 -0800 (PST) MIME-Version: 1.0 From: Aditya Toshniwal Date: Fri, 25 Dec 2020 15:31:00 +0530 Message-ID: Subject: [pgAdmin][RM1802] ERD Tool (Beta) To: pgadmin-hackers Content-Type: multipart/mixed; boundary="00000000000086ec2b05b74702ac" X-CLOUD-SEC-AV-Info: enterprisedb,google_mail,monitor X-CLOUD-SEC-AV-Sent: true X-Gm-Spam: 0 X-Gm-Phishy: 0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --00000000000086ec2b05b74702ac Content-Type: multipart/alternative; boundary="00000000000086ec2705b74702aa" --00000000000086ec2705b74702aa Content-Type: text/plain; charset="UTF-8" Hi Hackers, Attached patch introduces ERD Tool(Beta) to pgAdmin. Below are the details: 1) Create a diagram from scratch or generate for an existing DB. 2) Generate "Create" DDL from the diagram. 3) Save the diagram and resume it later. 4) Supports basic table fields, one-to-many relationships, many-to-many relationships, adding notes. 5) Test cases added with 75-80% test coverage. Please review. -- Thanks, Aditya Toshniwal pgAdmin hacker | Sr. Software Engineer | *edbpostgres.com* "Don't Complain about Heat, Plant a TREE" --00000000000086ec2705b74702aa Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Hackers,

Attached patch introduces ERD Tool(Beta) to pg= Admin. Below are the details:
1) Create a diagram from scratch or generate = for an existing DB.
2) Generate "Create" DDL from the diagram.
3)= Save the diagram and resume it later.
4) Supports basic table fields, one-= to-many relationships, many-to-many relationships, adding notes.
5) Test ca= ses added with 75-80% test coverage.

Please review.

--
Thanks,
Aditya Toshn= iwal
pgAdmin hacker=C2=A0| Sr. Software Engineer= | edbpostgres.com<= /font>
"Don't Complain about Heat, Plant a TREE"
--00000000000086ec2705b74702aa-- --00000000000086ec2b05b74702ac Content-Type: application/octet-stream; name="RM1802.patch" Content-Disposition: attachment; filename="RM1802.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kj43u35j0 ZGlmZiAtLWdpdCBhL3dlYi8uZXNsaW50cmMuanMgYi93ZWIvLmVzbGludHJjLmpzCmluZGV4IDYy MmE5NDllOC4uMTUyNzUyZTViIDEwMDY0NAotLS0gYS93ZWIvLmVzbGludHJjLmpzCisrKyBiL3dl Yi8uZXNsaW50cmMuanMKQEAgLTE4LDYgKzE4LDcgQEAgbW9kdWxlLmV4cG9ydHMgPSB7CiAgICAg J2VzbGludDpyZWNvbW1lbmRlZCcsCiAgICAgJ3BsdWdpbjpyZWFjdC9yZWNvbW1lbmRlZCcsCiAg IF0sCisgICdwYXJzZXInOiAnYmFiZWwtZXNsaW50JywKICAgJ3BhcnNlck9wdGlvbnMnOiB7CiAg ICAgJ2VjbWFWZXJzaW9uJzogMjAxOCwKICAgICAnZWNtYUZlYXR1cmVzJzogewpkaWZmIC0tZ2l0 IGEvd2ViL3BhY2thZ2UuanNvbiBiL3dlYi9wYWNrYWdlLmpzb24KaW5kZXggYjc3Nzc2NTY5Li5l YzI3YzU0OTggMTAwNjQ0Ci0tLSBhL3dlYi9wYWNrYWdlLmpzb24KKysrIGIvd2ViL3BhY2thZ2Uu anNvbgpAQCAtNywxMiArNywxNSBAQAogICBdLAogICAibGljZW5zZSI6ICJQb3N0Z3JlU1FMIiwK ICAgImRldkRlcGVuZGVuY2llcyI6IHsKLSAgICAiQGJhYmVsL2NvcmUiOiAifjcuNi4wIiwKLSAg ICAiQGJhYmVsL3ByZXNldC1lbnYiOiAifjcuNi4wIiwKKyAgICAiQGJhYmVsL2NvcmUiOiAiXjcu MTAuMiIsCisgICAgIkBiYWJlbC9wbHVnaW4tcHJvcG9zYWwtb2JqZWN0LXJlc3Qtc3ByZWFkIjog Il43LjkuNiIsCisgICAgIkBiYWJlbC9wcmVzZXQtZW52IjogIl43LjEwLjIiLAorICAgICJAZW1v dGlvbi9jb3JlIjogIl4xMC4wLjE0IiwKKyAgICAiQGVtb3Rpb24vc3R5bGVkIjogIl4xMC4wLjE0 IiwKICAgICAiYXV0b3ByZWZpeGVyIjogIl45LjYuNCIsCiAgICAgImF4aW9zLW1vY2stYWRhcHRl ciI6ICJeMS4xNy4wIiwKLSAgICAiYmFiZWwtbG9hZGVyIjogIn44LjAuNSIsCi0gICAgImJhYmVs LXBsdWdpbi10cmFuc2Zvcm0tb2JqZWN0LXJlc3Qtc3ByZWFkIjogIl43LjAuMC1iZXRhLjMiLAor ICAgICJiYWJlbC1lc2xpbnQiOiAiXjEwLjEuMCIsCisgICAgImJhYmVsLWxvYWRlciI6ICJeOC4x LjAiLAogICAgICJjb3B5LXdlYnBhY2stcGx1Z2luIjogIl41LjEuMCIsCiAgICAgImNvcmUtanMi OiAiXjMuMi4xIiwKICAgICAiY3Jvc3MtZW52IjogIl41LjIuMCIsCkBAIC00MSw3ICs0NCw4IEBA CiAgICAgInBvcHBlci5qcyI6ICJeMS4xNC43IiwKICAgICAicG9zdGNzcy1sb2FkZXIiOiAiXjMu MC4wIiwKICAgICAicHJvcC10eXBlcyI6ICJeMTUuNy4yIiwKLSAgICAicmF3LWxvYWRlciI6ICJe MS4wLjAiLAorICAgICJyYXctbG9hZGVyIjogIl4zLjEuMCIsCisgICAgInJlc2l6ZS1vYnNlcnZl ci1wb2x5ZmlsbCI6ICJeMS41LjEiLAogICAgICJzYXNzIjogIl4xLjI0LjQiLAogICAgICJzYXNz LWxvYWRlciI6ICJeNy4xLjAiLAogICAgICJzYXNzLXJlc291cmNlcy1sb2FkZXIiOiAiXjIuMC4w IiwKQEAgLTUwLDcgKzU0LDcgQEAKICAgICAidXJsLWxvYWRlciI6ICJeMS4xLjIiLAogICAgICJ3 ZWJwYWNrIjogIl40LjQxLjIiLAogICAgICJ3ZWJwYWNrLWJ1bmRsZS1hbmFseXplciI6ICJeMy41 LjEiLAotICAgICJ3ZWJwYWNrLWNsaSI6ICJeMy4yLjMiLAorICAgICJ3ZWJwYWNrLWNsaSI6ICJe My4zLjExIiwKICAgICAid2VicGFjay1yZXF1aXJlLWZyb20iOiAiXjEuOC4wIiwKICAgICAieWFy bi1hdWRpdC1odG1sIjogIl4xLjEuMCIKICAgfSwKQEAgLTU4LDEyICs2MiwxMiBAQAogICAgICJA YmFiZWwvcGx1Z2luLXByb3Bvc2FsLWNsYXNzLXByb3BlcnRpZXMiOiAiXjcuMTAuNCIsCiAgICAg IkBiYWJlbC9wcmVzZXQtcmVhY3QiOiAiXjcuMTAuNCIsCiAgICAgIkBmb3J0YXdlc29tZS9mb250 YXdlc29tZS1mcmVlIjogIl41LjE0LjAiLAorICAgICJAcHJvamVjdHN0b3JtL3JlYWN0LWRpYWdy YW1zIjogIl42LjIuMCIsCiAgICAgIkBzaW1vbndlcC9waWNrciI6ICJeMS41LjEiLAorICAgICJA dGlwcHlqcy9yZWFjdCI6ICJeNC4yLjAiLAogICAgICJhY2l0cmVlIjogImdpdCtodHRwczovL2dp dGh1Yi5jb20vaW1zdXJpbmRlcjkwL2pxdWVyeS1hY2lUcmVlLmdpdCNyYy43IiwKICAgICAiYWxl cnRpZnlqcyI6ICJnaXQraHR0cHM6Ly9naXRodWIuY29tL0VudGVycHJpc2VEQi9BbGVydGlmeUpT LyM3MmMxZDc5NGY1YjZkNGVjMTNhNjhkMTIzYzA4ZjE5MDIxYWZlMjYzIiwKICAgICAiYXhpb3Mi OiAiXjAuMTguMSIsCi0gICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LW1vZHVsZXMt YW1kIjogIl42LjI0LjEiLAotICAgICJiYWJlbC1wcmVzZXQtZXMyMDE1LXdpdGhvdXQtc3RyaWN0 IjogIn4wLjAuNCIsCiAgICAgImJhYmVsaWZ5IjogIn4xMC4wLjAiLAogICAgICJiYWNrYm9uZSI6 ICIxLjQuMCIsCiAgICAgImJhY2tmb3JtIjogIl4wLjIuMCIsCkBAIC03NSwxMiArNzksMTcgQEAK ICAgICAiYm9vdHN0cmFwNC10b2dnbGUiOiAiMy40LjAiLAogICAgICJib3dzZXIiOiAiMi4xLjIi LAogICAgICJicm93c2VyaWZ5IjogIn4xNi4yLjMiLAorICAgICJjYW52ZyI6ICJeMy4wLjciLAog ICAgICJjaGFydC5qcyI6ICJeMi45LjMiLAorICAgICJjbG9zZXN0IjogIl4wLjAuMSIsCiAgICAg ImNvZGVtaXJyb3IiOiAiXjUuNTQuMCIsCiAgICAgImNzcy1sb2FkZXIiOiAiMi4xLjAiLAogICAg ICJjc3NuYW5vIjogIl40LjEuMTAiLAorICAgICJkYWdyZSI6ICJeMC44LjQiLAogICAgICJkcm9w em9uZSI6ICJeNS41LjEiLAogICAgICJleHBvcnRzLWxvYWRlciI6ICJ+MC43LjAiLAorICAgICJo dG1sLXRvLWltYWdlIjogIl4wLjEuMSIsCisgICAgImh0bWwyY2FudmFzIjogIl4xLjAuMC1yYy43 IiwKICAgICAiaW1tdXRhYmlsaXR5LWhlbHBlciI6ICJeMy4wLjAiLAogICAgICJpbXBvcnRzLWxv YWRlciI6ICJeMC44LjAiLAogICAgICJpcC1hZGRyZXNzIjogIl41LjguOSIsCkBAIC05MSwxMSAr MTAwLDE3IEBACiAgICAgImpzb24tYmlnbnVtYmVyIjogIl4xLjAuMSIsCiAgICAgImthcm1hLWNv dmVyYWdlIjogIl4yLjAuMyIsCiAgICAgImxlYWZsZXQiOiAiXjEuNS4xIiwKKyAgICAibG9kYXNo IjogIjQuKiIsCisgICAgIm1sLW1hdHJpeCI6ICJeNi41LjAiLAogICAgICJtb21lbnQiOiAiXjIu MjQuMCIsCiAgICAgIm1vbWVudC10aW1lem9uZSI6ICJeMC41LjIzIiwKICAgICAibW91c2V0cmFw IjogIl4xLjYuMyIsCisgICAgInBhdGhmaW5kaW5nIjogIl4wLjQuMTgiLAorICAgICJwYXRocy1q cyI6ICJeMC40LjkiLAorICAgICJyYWYiOiAiXjMuNC4xIiwKICAgICAicmVhY3QiOiAiXjE2LjEz LjEiLAogICAgICJyZWFjdC1kb20iOiAiXjE2LjEzLjEiLAorICAgICJyZWFjdC10by1wcmludCI6 ICJeMi4xMC4zIiwKICAgICAicmVxdWlyZWpzIjogIn4yLjMuNiIsCiAgICAgInNlbGVjdDIiOiAi XjQuMC42LXJjLjEiLAogICAgICJzaGltLWxvYWRlciI6ICJeMS4wLjEiLApkaWZmIC0tZ2l0IGEv d2ViL3BnYWRtaW4vYnJvd3Nlci9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvX19p bml0X18ucHkKaW5kZXggNzcxMjBjZDU5Li40NjQxN2FlOTYgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvX19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9fX2luaXRf Xy5weQpAQCAtNzY3LDYgKzc2Nyw3IEBAIGRlZiB1dGlscygpOgogICAgICAgICAgICAgZWRpdG9y X2luc2VydF9wYWlyX2JyYWNrZXRzPWluc2VydF9wYWlyX2JyYWNrZXRzLAogICAgICAgICAgICAg ZWRpdG9yX2luZGVudF93aXRoX3RhYnM9ZWRpdG9yX2luZGVudF93aXRoX3RhYnMsCiAgICAgICAg ICAgICBhcHBfbmFtZT1jb25maWcuQVBQX05BTUUsCisgICAgICAgICAgICBhcHBfdmVyc2lvbl9p bnQ9Y29uZmlnLkFQUF9WRVJTSU9OX0lOVCwKICAgICAgICAgICAgIHBnX2xpYnBxX3ZlcnNpb249 cGdfbGlicHFfdmVyc2lvbiwKICAgICAgICAgICAgIHN1cHBvcnRfc3NoX3R1bm5lbD1jb25maWcu U1VQUE9SVF9TU0hfVFVOTkVMLAogICAgICAgICAgICAgbG9nb3V0X3VybD1fZ2V0X2xvZ291dF91 cmwoKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL19faW5p dF9fLnB5CmluZGV4IDUxMzIzYTI3My4uYTE1ZGYyMGQxIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMv X19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL19faW5pdF9fLnB5CkBAIC0yMSw3ICsyMSw2IEBA IGZyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy51dGlscyBpbXBvcnQg cGFyc2VfcHJpdl90b19kYgogZnJvbSBwZ2FkbWluLnV0aWxzLmFqYXggaW1wb3J0IG1ha2VfanNv bl9yZXNwb25zZSwgaW50ZXJuYWxfc2VydmVyX2Vycm9yLCBcCiAgICAgbWFrZV9yZXNwb25zZSBh cyBhamF4X3Jlc3BvbnNlLCBnb25lCiBmcm9tIC51dGlscyBpbXBvcnQgQmFzZVRhYmxlVmlldwot ZnJvbSBwZ2FkbWluLnV0aWxzLnByZWZlcmVuY2VzIGltcG9ydCBQcmVmZXJlbmNlcwogZnJvbSBw Z2FkbWluLnRvb2xzLnNjaGVtYV9kaWZmLm5vZGVfcmVnaXN0cnkgaW1wb3J0IFNjaGVtYURpZmZS ZWdpc3RyeQogZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFi YXNlcy5zY2hlbWFzLnRhYmxlcy5cCiAgICAgY29uc3RyYWludHMuZm9yZWlnbl9rZXkgaW1wb3J0 IHV0aWxzIGFzIGZrZXlfdXRpbHMKQEAgLTEzNCw4ICsxMzMsNyBAQCBjbGFzcyBUYWJsZU1vZHVs ZShTY2hlbWFDaGlsZE1vZHVsZSk6CiBibHVlcHJpbnQgPSBUYWJsZU1vZHVsZShfX25hbWVfXykK IAogCi1jbGFzcyBUYWJsZVZpZXcoQmFzZVRhYmxlVmlldywgRGF0YVR5cGVSZWFkZXIsIFZhY3V1 bVNldHRpbmdzLAotICAgICAgICAgICAgICAgIFNjaGVtYURpZmZUYWJsZUNvbXBhcmUpOgorY2xh c3MgVGFibGVWaWV3KEJhc2VUYWJsZVZpZXcsIERhdGFUeXBlUmVhZGVyLCBTY2hlbWFEaWZmVGFi bGVDb21wYXJlKToKICAgICAiIiIKICAgICBUaGlzIGNsYXNzIGlzIHJlc3BvbnNpYmxlIGZvciBn ZW5lcmF0aW5nIHJvdXRlcyBmb3IgVGFibGUgbm9kZQogCkBAIC01ODksNyArNTg3LDcgQEAgY2xh c3MgVGFibGVWaWV3KEJhc2VUYWJsZVZpZXcsIERhdGFUeXBlUmVhZGVyLCBWYWN1dW1TZXR0aW5n cywKICAgICAgICAgUmV0dXJuczoKICAgICAgICAgICAgIEpTT04gb2Ygc2VsZWN0ZWQgdGFibGUg bm9kZQogICAgICAgICAiIiIKLSAgICAgICAgc3RhdHVzLCByZXMgPSBzZWxmLl9mZXRjaF9wcm9w ZXJ0aWVzKGRpZCwgc2NpZCwgdGlkKQorICAgICAgICBzdGF0dXMsIHJlcyA9IHNlbGYuX2ZldGNo X3RhYmxlX3Byb3BlcnRpZXMoZGlkLCBzY2lkLCB0aWQpCiAgICAgICAgIGlmIG5vdCBzdGF0dXM6 CiAgICAgICAgICAgICByZXR1cm4gcmVzCiAgICAgICAgIGlmIG5vdCByZXNbJ3Jvd3MnXToKQEAg LTU5OSw4NiArNTk3LDYgQEAgY2xhc3MgVGFibGVWaWV3KEJhc2VUYWJsZVZpZXcsIERhdGFUeXBl UmVhZGVyLCBWYWN1dW1TZXR0aW5ncywKICAgICAgICAgICAgIGdpZCwgc2lkLCBkaWQsIHNjaWQs IHRpZCwgcmVzPXJlcwogICAgICAgICApCiAKLSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIF9j aGVja19ybHNwb2xpY3lfc3VwcG9ydChyZXMpOgotICAgICAgICAiIiIKLSAgICAgICAgVGhpcyBm dW5jdGlvbiBpcyB1c2VkIHRvIGNoZWNrIHdoZXRoZXIgJ3Jsc3BvbGljeScgaW4gcmVzcG9uc2UK LSAgICAgICAgYXMgaXQgc3VwcG9ydGVkIGZvciB2ZXJzaW9uIDkuNSBhbmQgYWJvdmUKLSAgICAg ICAgOnBhcmFtIHJlczoKLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIGlm ICdybHNwb2xpY3knIGluIHJlc1sncm93cyddWzBdOgotICAgICAgICAgICAgIyBTZXQgdGhlIHZh bHVlIG9mIHJscyBwb2xpY3kKLSAgICAgICAgICAgIGlmIHJlc1sncm93cyddWzBdWydybHNwb2xp Y3knXSA9PSAidHJ1ZSI6Ci0gICAgICAgICAgICAgICAgcmVzWydyb3dzJ11bMF1bJ3Jsc3BvbGlj eSddID0gVHJ1ZQotCi0gICAgICAgICAgICAjIFNldCB0aGUgdmFsdWUgb2YgZm9yY2UgcmxzIHBv bGljeSBmb3IgdGFibGUgb3duZXIKLSAgICAgICAgICAgIGlmIHJlc1sncm93cyddWzBdWydmb3Jj ZXJsc3BvbGljeSddID09ICJ0cnVlIjoKLSAgICAgICAgICAgICAgICByZXNbJ3Jvd3MnXVswXVsn Zm9yY2VybHNwb2xpY3knXSA9IFRydWUKLQotICAgIGRlZiBfZmV0Y2hfcHJvcGVydGllcyhzZWxm LCBkaWQsIHNjaWQsIHRpZCk6Ci0gICAgICAgICIiIgotICAgICAgICBUaGlzIGZ1bmN0aW9uIGlz IHVzZWQgdG8gZmV0Y2ggdGhlIHByb3BlcnRpZXMgb2YgdGhlIHNwZWNpZmllZCBvYmplY3QKLSAg ICAgICAgOnBhcmFtIGRpZDoKLSAgICAgICAgOnBhcmFtIHNjaWQ6Ci0gICAgICAgIDpwYXJhbSB0 aWQ6Ci0gICAgICAgIDpyZXR1cm46Ci0gICAgICAgICIiIgotICAgICAgICBzcWwgPSByZW5kZXJf dGVtcGxhdGUoCi0gICAgICAgICAgICAiLyIuam9pbihbc2VsZi50YWJsZV90ZW1wbGF0ZV9wYXRo LCBzZWxmLl9QUk9QRVJUSUVTX1NRTF0pLAotICAgICAgICAgICAgZGlkPWRpZCwgc2NpZD1zY2lk LCB0aWQ9dGlkLAotICAgICAgICAgICAgZGF0bGFzdHN5c29pZD1zZWxmLmRhdGxhc3RzeXNvaWQK LSAgICAgICAgKQotICAgICAgICBzdGF0dXMsIHJlcyA9IHNlbGYuY29ubi5leGVjdXRlX2RpY3Qo c3FsKQotICAgICAgICBpZiBub3Qgc3RhdHVzOgotICAgICAgICAgICAgcmV0dXJuIEZhbHNlLCBp bnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVzKQotCi0gICAgICAgIGVsaWYgbGVuKHJl c1sncm93cyddKSA9PSAwOgotICAgICAgICAgICAgcmV0dXJuIEZhbHNlLCBnb25lKAotICAgICAg ICAgICAgICAgIGdldHRleHQoc2VsZi5ub3RfZm91bmRfZXJyb3JfbXNnKCkpKQotCi0gICAgICAg ICMgVXBkYXRlIGF1dG92YWN1dW0gcHJvcGVydGllcwotICAgICAgICBzZWxmLnVwZGF0ZV9hdXRv dmFjdXVtX3Byb3BlcnRpZXMocmVzWydyb3dzJ11bMF0pCi0KLSAgICAgICAgIyBXZSB3aWxsIGNo ZWNrIHRoZSB0aHJlc2hvbGQgc2V0IGJ5IHVzZXIgYmVmb3JlIGV4ZWN1dGluZwotICAgICAgICAj IHRoZSBxdWVyeSBiZWNhdXNlIHRoYXQgY2FuIGNhdXNlIHBlcmZvcm1hbmNlIGlzc3VlcwotICAg ICAgICAjIHdpdGggbGFyZ2UgcmVzdWx0IHNldAotICAgICAgICBwcmVmID0gUHJlZmVyZW5jZXMu bW9kdWxlKCdicm93c2VyJykKLSAgICAgICAgdGFibGVfcm93X2NvdW50X3ByZWYgPSBwcmVmLnBy ZWZlcmVuY2UoJ3RhYmxlX3Jvd19jb3VudF90aHJlc2hvbGQnKQotICAgICAgICB0YWJsZV9yb3df Y291bnRfdGhyZXNob2xkID0gdGFibGVfcm93X2NvdW50X3ByZWYuZ2V0KCkKLSAgICAgICAgZXN0 aW1hdGVkX3Jvd19jb3VudCA9IGludChyZXNbJ3Jvd3MnXVswXS5nZXQoJ3JlbHR1cGxlcycsIDAp KQotCi0gICAgICAgICMgQ2hlY2sgd2hldGhlciAncmxzcG9saWN5JyBpbiByZXNwb25zZSBhcyBp dCBzdXBwb3J0ZWQgZm9yCi0gICAgICAgICMgdmVyc2lvbiA5LjUgYW5kIGFib3ZlCi0gICAgICAg IFRhYmxlVmlldy5fY2hlY2tfcmxzcG9saWN5X3N1cHBvcnQocmVzKQotCi0gICAgICAgICMgSWYg ZXN0aW1hdGVkIHJvd3MgYXJlIGdyZWF0ZXIgdGhhbiB0aHJlc2hvbGQgdGhlbgotICAgICAgICBp ZiBlc3RpbWF0ZWRfcm93X2NvdW50IGFuZCBcCi0gICAgICAgICAgICAgICAgZXN0aW1hdGVkX3Jv d19jb3VudCA+IHRhYmxlX3Jvd19jb3VudF90aHJlc2hvbGQ6Ci0gICAgICAgICAgICByZXNbJ3Jv d3MnXVswXVsncm93c19jbnQnXSA9IHN0cih0YWJsZV9yb3dfY291bnRfdGhyZXNob2xkKSArICcr JwotCi0gICAgICAgICMgSWYgZXN0aW1hdGVkIHJvd3MgaXMgbG93ZXIgdGhhbiB0aHJlc2hvbGQg dGhlbiBjYWxjdWxhdGUgdGhlIGNvdW50Ci0gICAgICAgIGVsaWYgZXN0aW1hdGVkX3Jvd19jb3Vu dCBhbmQgXAotICAgICAgICAgICAgICAgIHRhYmxlX3Jvd19jb3VudF90aHJlc2hvbGQgPj0gZXN0 aW1hdGVkX3Jvd19jb3VudDoKLSAgICAgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgKLSAg ICAgICAgICAgICAgICAiLyIuam9pbigKLSAgICAgICAgICAgICAgICAgICAgW3NlbGYudGFibGVf dGVtcGxhdGVfcGF0aCwgJ2dldF90YWJsZV9yb3dfY291bnQuc3FsJ10KLSAgICAgICAgICAgICAg ICApLCBkYXRhPXJlc1sncm93cyddWzBdCi0gICAgICAgICAgICApCi0KLSAgICAgICAgICAgIHN0 YXR1cywgY291bnQgPSBzZWxmLmNvbm4uZXhlY3V0ZV9zY2FsYXIoc3FsKQotCi0gICAgICAgICAg ICBpZiBub3Qgc3RhdHVzOgotICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZSwgaW50ZXJuYWxf c2VydmVyX2Vycm9yKGVycm9ybXNnPWNvdW50KQotCi0gICAgICAgICAgICByZXNbJ3Jvd3MnXVsw XVsncm93c19jbnQnXSA9IGNvdW50Ci0KLSAgICAgICAgIyBJZiBlc3RpbWF0ZWRfcm93X2NvdW50 IGlzIHplcm8gdGhlbiBzZXQgdGhlIHJvdyBjb3VudCB3aXRoIHNhbWUKLSAgICAgICAgZWxpZiBu b3QgZXN0aW1hdGVkX3Jvd19jb3VudDoKLSAgICAgICAgICAgIHJlc1sncm93cyddWzBdWydyb3dz X2NudCddID0gZXN0aW1hdGVkX3Jvd19jb3VudAotCi0gICAgICAgIHJldHVybiBUcnVlLCByZXMK LQogICAgIEBCYXNlVGFibGVWaWV3LmNoZWNrX3ByZWNvbmRpdGlvbgogICAgIGRlZiB0eXBlcyhz ZWxmLCBnaWQsIHNpZCwgZGlkLCBzY2lkLCB0aWQ9Tm9uZSwgY2xpZD1Ob25lKToKICAgICAgICAg IiIiCkBAIC02ODYsMTIgKzYwNCw4IEBAIGNsYXNzIFRhYmxlVmlldyhCYXNlVGFibGVWaWV3LCBE YXRhVHlwZVJlYWRlciwgVmFjdXVtU2V0dGluZ3MsCiAgICAgICAgICAgICBUaGlzIGZ1bmN0aW9u IHdpbGwgcmV0dXJuIGxpc3Qgb2YgdHlwZXMgYXZhaWxhYmxlIGZvciBjb2x1bW4gbm9kZQogICAg ICAgICAgICAgZm9yIG5vZGUtYWpheC1jb250cm9sCiAgICAgICAgICIiIgotICAgICAgICBjb25k aXRpb24gPSByZW5kZXJfdGVtcGxhdGUoCi0gICAgICAgICAgICAiLyIuam9pbihbCi0gICAgICAg ICAgICAgICAgc2VsZi50YWJsZV90ZW1wbGF0ZV9wYXRoLCAnZ2V0X3R5cGVzX3doZXJlX2NvbmRp dGlvbi5zcWwnCi0gICAgICAgICAgICBdKSwKLSAgICAgICAgICAgIHNob3dfc3lzdGVtX29iamVj dHM9c2VsZi5ibHVlcHJpbnQuc2hvd19zeXN0ZW1fb2JqZWN0cwotICAgICAgICApCisgICAgICAg IGNvbmRpdGlvbiA9IHNlbGYuZ2V0X3R5cGVzX2NvbmRpdGlvbl9zcWwoCisgICAgICAgICAgICBz ZWxmLmJsdWVwcmludC5zaG93X3N5c3RlbV9vYmplY3RzKQogCiAgICAgICAgIHN0YXR1cywgdHlw ZXMgPSBzZWxmLmdldF90eXBlcyhzZWxmLmNvbm4sIGNvbmRpdGlvbiwgVHJ1ZSwgc2lkKQogCkBA IC0xMDczLDcgKzk4Nyw3IEBAIGNsYXNzIFRhYmxlVmlldyhCYXNlVGFibGVWaWV3LCBEYXRhVHlw ZVJlYWRlciwgVmFjdXVtU2V0dGluZ3MsCiAgICAgICAgICAgICAgICAgZGF0YVtrXSA9IHYKIAog ICAgICAgICB0cnk6Ci0gICAgICAgICAgICBzdGF0dXMsIHJlcyA9IHNlbGYuX2ZldGNoX3Byb3Bl cnRpZXMoZGlkLCBzY2lkLCB0aWQpCisgICAgICAgICAgICBzdGF0dXMsIHJlcyA9IHNlbGYuX2Zl dGNoX3RhYmxlX3Byb3BlcnRpZXMoZGlkLCBzY2lkLCB0aWQpCiAgICAgICAgICAgICBpZiBub3Qg c3RhdHVzOgogICAgICAgICAgICAgICAgIHJldHVybiByZXMKIApAQCAtMTMxNCw3ICsxMjI4LDcg QEAgY2xhc3MgVGFibGVWaWV3KEJhc2VUYWJsZVZpZXcsIERhdGFUeXBlUmVhZGVyLCBWYWN1dW1T ZXR0aW5ncywKICAgICAgICAgcmVzID0gTm9uZQogCiAgICAgICAgIGlmIHRpZCBpcyBub3QgTm9u ZToKLSAgICAgICAgICAgIHN0YXR1cywgcmVzID0gc2VsZi5fZmV0Y2hfcHJvcGVydGllcyhkaWQs IHNjaWQsIHRpZCkKKyAgICAgICAgICAgIHN0YXR1cywgcmVzID0gc2VsZi5fZmV0Y2hfdGFibGVf cHJvcGVydGllcyhkaWQsIHNjaWQsIHRpZCkKICAgICAgICAgICAgIGlmIG5vdCBzdGF0dXM6CiAg ICAgICAgICAgICAgICAgcmV0dXJuIHJlcwogCkBAIC0xMzc4LDcgKzEyOTIsNyBAQCBjbGFzcyBU YWJsZVZpZXcoQmFzZVRhYmxlVmlldywgRGF0YVR5cGVSZWFkZXIsIFZhY3V1bVNldHRpbmdzLAog ICAgICAgICAiIiIKICAgICAgICAgbWFpbl9zcWwgPSBbXQogCi0gICAgICAgIHN0YXR1cywgcmVz ID0gc2VsZi5fZmV0Y2hfcHJvcGVydGllcyhkaWQsIHNjaWQsIHRpZCkKKyAgICAgICAgc3RhdHVz LCByZXMgPSBzZWxmLl9mZXRjaF90YWJsZV9wcm9wZXJ0aWVzKGRpZCwgc2NpZCwgdGlkKQogICAg ICAgICBpZiBub3Qgc3RhdHVzOgogICAgICAgICAgICAgcmV0dXJuIHJlcwogCkBAIC0xNjY1LDU3 ICsxNTc5LDEyIEBAIGNsYXNzIFRhYmxlVmlldyhCYXNlVGFibGVWaWV3LCBEYXRhVHlwZVJlYWRl ciwgVmFjdXVtU2V0dGluZ3MsCiAgICAgICAgIDpyZXR1cm46IFRhYmxlIGRhdGFzZXQKICAgICAg ICAgIiIiCiAKLSAgICAgICAgaWYgdGlkOgotICAgICAgICAgICAgc3RhdHVzLCBkYXRhID0gc2Vs Zi5fZmV0Y2hfcHJvcGVydGllcyhkaWQsIHNjaWQsIHRpZCkKLQotICAgICAgICAgICAgaWYgbm90 IHN0YXR1czoKLSAgICAgICAgICAgICAgICBjdXJyZW50X2FwcC5sb2dnZXIuZXJyb3IoZGF0YSkK LSAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKLQotICAgICAgICAgICAgZGF0YSA9IHN1cGVy KFRhYmxlVmlldywgc2VsZikucHJvcGVydGllcygKLSAgICAgICAgICAgICAgICAwLCBzaWQsIGRp ZCwgc2NpZCwgdGlkLCByZXM9ZGF0YSwgcmV0dXJuX2FqYXhfcmVzcG9uc2U9RmFsc2UKLSAgICAg ICAgICAgICkKLQotICAgICAgICAgICAgcmV0dXJuIGRhdGEKLQotICAgICAgICBlbHNlOgotICAg ICAgICAgICAgcmVzID0gZGljdCgpCi0gICAgICAgICAgICBzcWwgPSByZW5kZXJfdGVtcGxhdGUo Ii8iLmpvaW4oW3NlbGYudGFibGVfdGVtcGxhdGVfcGF0aCwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fTk9ERVNfU1FMXSksIHNjaWQ9c2NpZCkKLSAg ICAgICAgICAgIHN0YXR1cywgdGFibGVzID0gc2VsZi5jb25uLmV4ZWN1dGVfMmRhcnJheShzcWwp Ci0gICAgICAgICAgICBpZiBub3Qgc3RhdHVzOgotICAgICAgICAgICAgICAgIGN1cnJlbnRfYXBw LmxvZ2dlci5lcnJvcih0YWJsZXMpCi0gICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0KLSAg ICAgICAgICAgIGZvciByb3cgaW4gdGFibGVzWydyb3dzJ106Ci0gICAgICAgICAgICAgICAgc3Rh dHVzLCBkYXRhID0gc2VsZi5fZmV0Y2hfcHJvcGVydGllcyhkaWQsIHNjaWQsIHJvd1snb2lkJ10p Ci0KLSAgICAgICAgICAgICAgICBpZiBzdGF0dXM6Ci0gICAgICAgICAgICAgICAgICAgIGRhdGEg PSBzdXBlcihUYWJsZVZpZXcsIHNlbGYpLnByb3BlcnRpZXMoCi0gICAgICAgICAgICAgICAgICAg ICAgICAwLCBzaWQsIGRpZCwgc2NpZCwgcm93WydvaWQnXSwgcmVzPWRhdGEsCi0gICAgICAgICAg ICAgICAgICAgICAgICByZXR1cm5fYWpheF9yZXNwb25zZT1GYWxzZQotICAgICAgICAgICAgICAg ICAgICApCi0KLSAgICAgICAgICAgICAgICAgICAgIyBHZXQgc3ViIG1vZHVsZSBkYXRhIG9mIGEg c3BlY2lmaWVkIHRhYmxlIGZvciBvYmplY3QKLSAgICAgICAgICAgICAgICAgICAgIyBjb21wYXJp c29uCi0gICAgICAgICAgICAgICAgICAgIHNlbGYuX2dldF9zdWJfbW9kdWxlX2RhdGFfZm9yX2Nv bXBhcmUoc2lkLCBkaWQsIHNjaWQsIGRhdGEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm93KQotICAgICAgICAgICAgICAgICAgICBy ZXNbcm93WyduYW1lJ11dID0gZGF0YQotCi0gICAgICAgICAgICByZXR1cm4gcmVzCisgICAgICAg IHN0YXR1cywgcmVzID0gQmFzZVRhYmxlVmlldy5mZXRjaF90YWJsZXMoc2VsZiwgc2lkLCBkaWQs IHNjaWQsIHRpZCkKKyAgICAgICAgaWYgbm90IHN0YXR1czoKKyAgICAgICAgICAgIGN1cnJlbnRf YXBwLmxvZ2dlci5lcnJvcihyZXMpCisgICAgICAgICAgICByZXR1cm4gRmFsc2UKIAotICAgIGRl ZiBfZ2V0X3N1Yl9tb2R1bGVfZGF0YV9mb3JfY29tcGFyZShzZWxmLCBzaWQsIGRpZCwgc2NpZCwg ZGF0YSwgcm93KToKLSAgICAgICAgIyBHZXQgc3ViIG1vZHVsZSBkYXRhIG9mIGEgc3BlY2lmaWVk IHRhYmxlIGZvciBvYmplY3QKLSAgICAgICAgIyBjb21wYXJpc29uCi0gICAgICAgIGZvciBtb2R1 bGUgaW4gc2VsZi50YWJsZXNfc3ViX21vZHVsZXM6Ci0gICAgICAgICAgICBtb2R1bGVfdmlldyA9 IFNjaGVtYURpZmZSZWdpc3RyeS5nZXRfbm9kZV92aWV3KG1vZHVsZSkKLSAgICAgICAgICAgIGlm IG1vZHVsZV92aWV3LmJsdWVwcmludC5zZXJ2ZXJfdHlwZSBpcyBOb25lIG9yIFwKLSAgICAgICAg ICAgICAgICBzZWxmLm1hbmFnZXIuc2VydmVyX3R5cGUgaW4gXAotICAgICAgICAgICAgICAgICAg ICBtb2R1bGVfdmlldy5ibHVlcHJpbnQuc2VydmVyX3R5cGU6Ci0gICAgICAgICAgICAgICAgc3Vi X2RhdGEgPSBtb2R1bGVfdmlldy5mZXRjaF9vYmplY3RzX3RvX2NvbXBhcmUoCi0gICAgICAgICAg ICAgICAgICAgIHNpZD1zaWQsIGRpZD1kaWQsIHNjaWQ9c2NpZCwgdGlkPXJvd1snb2lkJ10sCi0g ICAgICAgICAgICAgICAgICAgIG9pZD1Ob25lKQotICAgICAgICAgICAgICAgIGRhdGFbbW9kdWxl XSA9IHN1Yl9kYXRhCisgICAgICAgIHJldHVybiByZXMKIAogICAgIGRlZiBnZXRfc3VibW9kdWxl X3RlbXBsYXRlX3BhdGgoc2VsZiwgbW9kdWxlX25hbWUpOgogICAgICAgICAiIiIKZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL3RhYmxlcy9jb25zdHJhaW50cy9mb3JlaWduX2tleS91dGlscy5weSBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxl cy9jb25zdHJhaW50cy9mb3JlaWduX2tleS91dGlscy5weQppbmRleCBjMTIyYTRiZTYuLmUwNzJh NDM5MSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbnN0cmFpbnRzL2ZvcmVpZ25fa2V5L3V0aWxz LnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL3RhYmxlcy9jb25zdHJhaW50cy9mb3JlaWduX2tleS91dGlscy5weQpAQCAt MzE4LDIyICszMTgsMjMgQEAgZGVmIF9nZXRfc3FsX2Zvcl9jcmVhdGVfZmtfY29uc3QoZGF0YSwg Y29ubiwgdGVtcGxhdGVfcGF0aCk6CiAgICAgICAgICBsZW4oZGF0YVsnY29sdW1ucyddKSA8IDEp OgogICAgICAgICByZXR1cm4gVHJ1ZSwgJy0tIGRlZmluaXRpb24gaW5jb21wbGV0ZScsIG5hbWUs ICcnCiAKLSAgICBpZiBkYXRhWydhdXRvaW5kZXgnXSBhbmQgXAorICAgIGlmIGRhdGEuZ2V0KCdh dXRvaW5kZXgnLCBGYWxzZSkgYW5kIFwKICAgICAgICAgICAgICgnY292ZXJpbmdpbmRleCcgbm90 IGluIGRhdGEgb3IgZGF0YVsnY292ZXJpbmdpbmRleCddID09ICcnKToKICAgICAgICAgcmV0dXJu IFRydWUsICctLSBkZWZpbml0aW9uIGluY29tcGxldGUnLCBuYW1lLCAnJwogCi0gICAgIyBHZXQg dGhlIHBhcmVudCBzY2hlbWEgYW5kIHRhYmxlLgotICAgIHNjaGVtYSwgdGFibGUgPSBnZXRfcGFy ZW50KGNvbm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVsnY29sdW1ucydd WzBdWydyZWZlcmVuY2VzJ10pCisgICAgaWYgJ3JlZmVyZW5jZXMnIGluIGRhdGFbJ2NvbHVtbnMn XVswXToKKyAgICAgICAgIyBHZXQgdGhlIHBhcmVudCBzY2hlbWEgYW5kIHRhYmxlLgorICAgICAg ICBzY2hlbWEsIHRhYmxlID0gZ2V0X3BhcmVudChjb25uLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBkYXRhWydjb2x1bW5zJ11bMF1bJ3JlZmVyZW5jZXMnXSkKIAotICAgICMg QmVsb3cgaGFuZGxpbmcgd2lsbCBiZSB1c2VkIGluIFNjaGVtYSBkaWZmIGluIGNhc2UKLSAgICAj IG9mIGRpZmZlcmVudCBkYXRhYmFzZSBjb21wYXJpc29uCi0gICAgX2NoZWNrc19mb3Jfc2NoZW1h X2RpZmYodGFibGUsIHNjaGVtYSwgZGF0YSkKKyAgICAgICAgIyBCZWxvdyBoYW5kbGluZyB3aWxs IGJlIHVzZWQgaW4gU2NoZW1hIGRpZmYgaW4gY2FzZQorICAgICAgICAjIG9mIGRpZmZlcmVudCBk YXRhYmFzZSBjb21wYXJpc29uCisgICAgICAgIF9jaGVja3NfZm9yX3NjaGVtYV9kaWZmKHRhYmxl LCBzY2hlbWEsIGRhdGEpCiAKICAgICBzcWwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3Rl bXBsYXRlX3BhdGgsICdjcmVhdGUuc3FsJ10pLAogICAgICAgICAgICAgICAgICAgICAgICAgICBk YXRhPWRhdGEsIGNvbm49Y29ubikKIAotICAgIGlmIGRhdGFbJ2F1dG9pbmRleCddOgorICAgIGlm IGRhdGEuZ2V0KCdhdXRvaW5kZXgnLCBGYWxzZSk6CiAgICAgICAgIHNxbCArPSByZW5kZXJfdGVt cGxhdGUoCiAgICAgICAgICAgICAiLyIuam9pbihbdGVtcGxhdGVfcGF0aCwgJ2NyZWF0ZV9pbmRl eC5zcWwnXSksCiAgICAgICAgICAgICBkYXRhPWRhdGEsIGNvbm49Y29ubikKZGlmZiAtLWdpdCBh L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL3RhYmxlcy9wYXJ0aXRpb25zL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3BhcnRpdGlvbnMv X19pbml0X18ucHkKaW5kZXggMWRmODNlOTlkLi5jZTAzY2QxYmUgMTAwNjQ0Ci0tLSBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3Rh Ymxlcy9wYXJ0aXRpb25zL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9wYXJ0aXRpb25zL19f aW5pdF9fLnB5CkBAIC0xNzUsOCArMTc1LDcgQEAgY2xhc3MgUGFydGl0aW9uc01vZHVsZShDb2xs ZWN0aW9uTm9kZU1vZHVsZSk6CiBibHVlcHJpbnQgPSBQYXJ0aXRpb25zTW9kdWxlKF9fbmFtZV9f KQogCiAKLWNsYXNzIFBhcnRpdGlvbnNWaWV3KEJhc2VUYWJsZVZpZXcsIERhdGFUeXBlUmVhZGVy LCBWYWN1dW1TZXR0aW5ncywKLSAgICAgICAgICAgICAgICAgICAgIFNjaGVtYURpZmZPYmplY3RD b21wYXJlKToKK2NsYXNzIFBhcnRpdGlvbnNWaWV3KEJhc2VUYWJsZVZpZXcsIERhdGFUeXBlUmVh ZGVyLCBTY2hlbWFEaWZmT2JqZWN0Q29tcGFyZSk6CiAgICAgIiIiCiAgICAgVGhpcyBjbGFzcyBp cyByZXNwb25zaWJsZSBmb3IgZ2VuZXJhdGluZyByb3V0ZXMgZm9yIFBhcnRpdGlvbiBub2RlCiAK ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL3RhYmxlcy90ZW1wbGF0ZXMvZm9yZWlnbl9rZXkvc3FsL2RlZmF1bHQv Y3JlYXRlLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL3RhYmxlcy90ZW1wbGF0ZXMvZm9yZWlnbl9rZXkvc3FsL2RlZmF1bHQv Y3JlYXRlLnNxbAppbmRleCAyMmZkNzlhOWMuLmM4ZGQ5NmY4MiAxMDA2NDQKLS0tIGEvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFi bGVzL3RlbXBsYXRlcy9mb3JlaWduX2tleS9zcWwvZGVmYXVsdC9jcmVhdGUuc3FsCisrKyBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L3RhYmxlcy90ZW1wbGF0ZXMvZm9yZWlnbl9rZXkvc3FsL2RlZmF1bHQvY3JlYXRlLnNxbApAQCAt MiwyMSArMiwyMSBAQCBBTFRFUiBUQUJMRSB7eyBjb25ufHF0SWRlbnQoZGF0YS5zY2hlbWEsIGRh dGEudGFibGUpIH19CiAgICAgQUREeyUgaWYgZGF0YS5uYW1lICV9IENPTlNUUkFJTlQge3sgY29u bnxxdElkZW50KGRhdGEubmFtZSkgfX17JSBlbmRpZiV9IEZPUkVJR04gS0VZICh7JSBmb3IgY29s dW1ub2JqIGluIGRhdGEuY29sdW1ucyAlfXslIGlmIGxvb3AuaW5kZXggIT0gMSAlfQogLCB7JSBl bmRpZiAlfXt7IGNvbm58cXRJZGVudChjb2x1bW5vYmoubG9jYWxfY29sdW1uKX19eyUgZW5kZm9y ICV9KQogICAgIFJFRkVSRU5DRVMge3sgY29ubnxxdElkZW50KGRhdGEucmVtb3RlX3NjaGVtYSwg ZGF0YS5yZW1vdGVfdGFibGUpIH19ICh7JSBmb3IgY29sdW1ub2JqIGluIGRhdGEuY29sdW1ucyAl fXslIGlmIGxvb3AuaW5kZXggIT0gMSAlfQotLCB7JSBlbmRpZiAlfXt7IGNvbm58cXRJZGVudChj b2x1bW5vYmoucmVmZXJlbmNlZCl9fXslIGVuZGZvciAlfSkgeyUgaWYgZGF0YS5jb25mbWF0Y2h0 eXBlICV9TUFUQ0ggRlVMTHslIGVsc2UgJX1NQVRDSCBTSU1QTEV7JSBlbmRpZiV9CissIHslIGVu ZGlmICV9e3sgY29ubnxxdElkZW50KGNvbHVtbm9iai5yZWZlcmVuY2VkKX19eyUgZW5kZm9yICV9 KXslIGlmIGRhdGEuY29uZm1hdGNodHlwZSBpcyBkZWZpbmVkICV9IHslIGlmIGRhdGEuY29uZm1h dGNodHlwZSAlfU1BVENIIEZVTEx7JSBlbHNlICV9TUFUQ0ggU0lNUExFeyUgZW5kaWYlfXslIGVu ZGlmJX17JSBpZiBkYXRhLmNvbmZ1cGR0eXBlIGlzIGRlZmluZWQgJX0KIAogICAgIE9OIFVQREFU RXslIGlmIGRhdGEuY29uZnVwZHR5cGUgID09ICdhJyAlfQogIE5PIEFDVElPTnslIGVsaWYgZGF0 YS5jb25mdXBkdHlwZSAgPT0gJ3InICV9CiAgUkVTVFJJQ1R7JSBlbGlmIGRhdGEuY29uZnVwZHR5 cGUgID09ICdjJyAlfQogIENBU0NBREV7JSBlbGlmIGRhdGEuY29uZnVwZHR5cGUgID09ICduJyAl fQogIFNFVCBOVUxMeyUgZWxpZiBkYXRhLmNvbmZ1cGR0eXBlICA9PSAnZCcgJX0KLSBTRVQgREVG QVVMVHslIGVuZGlmICV9CisgU0VUIERFRkFVTFR7JSBlbmRpZiAlfXslIGVuZGlmICV9eyUgaWYg ZGF0YS5jb25mZGVsdHlwZSBpcyBkZWZpbmVkICV9CiAKICAgICBPTiBERUxFVEV7JSBpZiBkYXRh LmNvbmZkZWx0eXBlICA9PSAnYScgJX0KICBOTyBBQ1RJT057JSBlbGlmIGRhdGEuY29uZmRlbHR5 cGUgID09ICdyJyAlfQogIFJFU1RSSUNUeyUgZWxpZiBkYXRhLmNvbmZkZWx0eXBlICA9PSAnYycg JX0KICBDQVNDQURFeyUgZWxpZiBkYXRhLmNvbmZkZWx0eXBlICA9PSAnbicgJX0KICBTRVQgTlVM THslIGVsaWYgZGF0YS5jb25mZGVsdHlwZSAgPT0gJ2QnICV9Ci0gU0VUIERFRkFVTFR7JSBlbmRp ZiAlfQorIFNFVCBERUZBVUxUeyUgZW5kaWYgJX17JSBlbmRpZiAlfQogeyUgaWYgZGF0YS5jb25k ZWZlcnJhYmxlICV9CiAKICAgICBERUZFUlJBQkxFeyUgaWYgZGF0YS5jb25kZWZlcnJlZCAlfQpk aWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL3NjaGVtYXMvdGFibGVzL3V0aWxzLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3V0aWxzLnB5CmluZGV4 IDFiOTBmOGM0Ni4uMTZjOGVjYTM3IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdXRpbHMucHkKKysr IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvdGFibGVzL3V0aWxzLnB5CkBAIC00NSw5ICs0NSwxMyBAQCBmcm9tIHBnYWRtaW4uYnJv d3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnNjaGVtYXMudGFibGVzLlwKIGZy b20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMuc2NoZW1h cy4gXAogICAgIHRhYmxlcy5yb3dfc2VjdXJpdHlfcG9saWNpZXMgaW1wb3J0IFwKICAgICB1dGls cyBhcyByb3dfc2VjdXJpdHlfcG9saWNpZXNfdXRpbHMKK2Zyb20gcGdhZG1pbi51dGlscy5wcmVm ZXJlbmNlcyBpbXBvcnQgUHJlZmVyZW5jZXMKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9n cm91cHMuc2VydmVycy5kYXRhYmFzZXMuc2NoZW1hcy51dGlscyBcCisgICAgaW1wb3J0IFZhY3V1 bVNldHRpbmdzCitmcm9tIHBnYWRtaW4udG9vbHMuc2NoZW1hX2RpZmYubm9kZV9yZWdpc3RyeSBp bXBvcnQgU2NoZW1hRGlmZlJlZ2lzdHJ5CiAKIAotY2xhc3MgQmFzZVRhYmxlVmlldyhQR0NoaWxk Tm9kZVZpZXcsIEJhc2VQYXJ0aXRpb25UYWJsZSk6CitjbGFzcyBCYXNlVGFibGVWaWV3KFBHQ2hp bGROb2RlVmlldywgQmFzZVBhcnRpdGlvblRhYmxlLCBWYWN1dW1TZXR0aW5ncyk6CiAgICAgIiIi CiAgICAgVGhpcyBjbGFzcyBpcyBiYXNlIGNsYXNzIGZvciB0YWJsZXMgYW5kIHBhcnRpdGlvbmVk IHRhYmxlcy4KIApAQCAtMTAxLDcgKzEwNSwxMSBAQCBjbGFzcyBCYXNlVGFibGVWaWV3KFBHQ2hp bGROb2RlVmlldywgQmFzZVBhcnRpdGlvblRhYmxlKToKICAgICAgICAgICAgIGRyaXZlciA9IGdl dF9kcml2ZXIoUEdfREVGQVVMVF9EUklWRVIpCiAgICAgICAgICAgICBkaWQgPSBrd2FyZ3NbJ2Rp ZCddCiAgICAgICAgICAgICBzZWxmLm1hbmFnZXIgPSBkcml2ZXIuY29ubmVjdGlvbl9tYW5hZ2Vy KGt3YXJnc1snc2lkJ10pCi0gICAgICAgICAgICBzZWxmLmNvbm4gPSBzZWxmLm1hbmFnZXIuY29u bmVjdGlvbihkaWQ9a3dhcmdzWydkaWQnXSkKKyAgICAgICAgICAgIGlmICJjb25uX2lkIiBpbiBr d2FyZ3M6CisgICAgICAgICAgICAgICAgc2VsZi5jb25uID0gc2VsZi5tYW5hZ2VyLmNvbm5lY3Rp b24oCisgICAgICAgICAgICAgICAgICAgIGRpZD1rd2FyZ3NbJ2RpZCddLCBjb25uX2lkPWt3YXJn c1snY29ubl9pZCddKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLmNv bm4gPSBzZWxmLm1hbmFnZXIuY29ubmVjdGlvbihkaWQ9a3dhcmdzWydkaWQnXSkKICAgICAgICAg ICAgIHNlbGYucXRJZGVudCA9IGRyaXZlci5xdElkZW50CiAgICAgICAgICAgICBzZWxmLnF0VHlw ZUlkZW50ID0gZHJpdmVyLnF0VHlwZUlkZW50CiAgICAgICAgICAgICAjIFdlIG5lZWQgZGF0bGFz dHN5c29pZCB0byBjaGVjayBpZiBjdXJyZW50IHRhYmxlIGlzIHN5c3RlbSB0YWJsZQpAQCAtNDQy LDYgKzQ1MCwxNjEgQEAgY2xhc3MgQmFzZVRhYmxlVmlldyhQR0NoaWxkTm9kZVZpZXcsIEJhc2VQ YXJ0aXRpb25UYWJsZSk6CiAgICAgICAgICAgICBzdGF0dXM9MjAwCiAgICAgICAgICkKIAorICAg IGRlZiBnZXRfdHlwZXNfY29uZGl0aW9uX3NxbChzZWxmLCBzaG93X3N5c3RlbV9vYmplY3RzKToK KyAgICAgICAgY29uZGl0aW9uID0gcmVuZGVyX3RlbXBsYXRlKAorICAgICAgICAgICAgIi8iLmpv aW4oWworICAgICAgICAgICAgICAgIHNlbGYudGFibGVfdGVtcGxhdGVfcGF0aCwgJ2dldF90eXBl c193aGVyZV9jb25kaXRpb24uc3FsJworICAgICAgICAgICAgXSksCisgICAgICAgICAgICBzaG93 X3N5c3RlbV9vYmplY3RzPXNob3dfc3lzdGVtX29iamVjdHMKKyAgICAgICAgKQorCisgICAgICAg IHJldHVybiBjb25kaXRpb24KKworICAgIGRlZiBmZXRjaF90YWJsZXMoc2VsZiwgc2lkLCBkaWQs IHNjaWQsIHRpZD1Ob25lKToKKyAgICAgICAgIiIiCisgICAgICAgIFRoaXMgZnVuY3Rpb24gd2ls bCBmZXRjaCB0aGUgbGlzdCBvZiBhbGwgdGhlIHRhYmxlcworICAgICAgICBhbmQgd2lsbCBiZSB1 c2VkIGJ5IHNjaGVtYSBkaWZmLgorCisgICAgICAgIDpwYXJhbSBzaWQ6IFNlcnZlciBJZAorICAg ICAgICA6cGFyYW0gZGlkOiBEYXRhYmFzZSBJZAorICAgICAgICA6cGFyYW0gc2NpZDogU2NoZW1h IElkCisgICAgICAgIDpwYXJhbSB0aWQ6IFRhYmxlIElkCisgICAgICAgIDpyZXR1cm46IFRhYmxl IGRhdGFzZXQKKyAgICAgICAgIiIiCisKKyAgICAgICAgaWYgdGlkOgorICAgICAgICAgICAgc3Rh dHVzLCBkYXRhID0gc2VsZi5fZmV0Y2hfdGFibGVfcHJvcGVydGllcyhkaWQsIHNjaWQsIHRpZCkK KworICAgICAgICAgICAgaWYgbm90IHN0YXR1czoKKyAgICAgICAgICAgICAgICByZXR1cm4gRmFs c2UsIGRhdGEKKworICAgICAgICAgICAgZGF0YSA9IEJhc2VUYWJsZVZpZXcucHJvcGVydGllcygK KyAgICAgICAgICAgICAgICBzZWxmLCAwLCBzaWQsIGRpZCwgc2NpZCwgdGlkLCByZXM9ZGF0YSwK KyAgICAgICAgICAgICAgICByZXR1cm5fYWpheF9yZXNwb25zZT1GYWxzZQorICAgICAgICAgICAg KQorCisgICAgICAgICAgICByZXR1cm4gVHJ1ZSwgZGF0YQorCisgICAgICAgIGVsc2U6CisgICAg ICAgICAgICByZXMgPSBkaWN0KCkKKyAgICAgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgi LyIuam9pbihbc2VsZi50YWJsZV90ZW1wbGF0ZV9wYXRoLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9OT0RFU19TUUxdKSwgc2NpZD1zY2lkKQorICAg ICAgICAgICAgc3RhdHVzLCB0YWJsZXMgPSBzZWxmLmNvbm4uZXhlY3V0ZV8yZGFycmF5KHNxbCkK KyAgICAgICAgICAgIGlmIG5vdCBzdGF0dXM6CisgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNl LCB0YWJsZXMKKworICAgICAgICAgICAgZm9yIHJvdyBpbiB0YWJsZXNbJ3Jvd3MnXToKKyAgICAg ICAgICAgICAgICBzdGF0dXMsIGRhdGEgPSBcCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX2Zl dGNoX3RhYmxlX3Byb3BlcnRpZXMoZGlkLCBzY2lkLCByb3dbJ29pZCddKQorCisgICAgICAgICAg ICAgICAgaWYgc3RhdHVzOgorICAgICAgICAgICAgICAgICAgICBkYXRhID0gQmFzZVRhYmxlVmll dy5wcm9wZXJ0aWVzKAorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZiwgMCwgc2lkLCBkaWQs IHNjaWQsIHJvd1snb2lkJ10sIHJlcz1kYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgcmV0 dXJuX2FqYXhfcmVzcG9uc2U9RmFsc2UKKyAgICAgICAgICAgICAgICAgICAgKQorCisgICAgICAg ICAgICAgICAgICAgICMgR2V0IHN1YiBtb2R1bGUgZGF0YSBvZiBhIHNwZWNpZmllZCB0YWJsZSBm b3Igb2JqZWN0CisgICAgICAgICAgICAgICAgICAgICMgY29tcGFyaXNvbgorICAgICAgICAgICAg ICAgICAgICBCYXNlVGFibGVWaWV3Ll9nZXRfc3ViX21vZHVsZV9kYXRhX2Zvcl9jb21wYXJlKAor ICAgICAgICAgICAgICAgICAgICAgICAgc2VsZiwgc2lkLCBkaWQsIHNjaWQsIGRhdGEsIHJvdykK KyAgICAgICAgICAgICAgICAgICAgcmVzW3Jvd1snbmFtZSddXSA9IGRhdGEKKyAgICAgICAgICAg ICAgICAgICAgcmVzW3Jvd1snbmFtZSddXSA9IGRhdGEKKworICAgICAgICAgICAgcmV0dXJuIFRy dWUsIHJlcworCisgICAgZGVmIF9nZXRfc3ViX21vZHVsZV9kYXRhX2Zvcl9jb21wYXJlKHNlbGYs IHNpZCwgZGlkLCBzY2lkLCBkYXRhLCByb3cpOgorICAgICAgICAjIEdldCBzdWIgbW9kdWxlIGRh dGEgb2YgYSBzcGVjaWZpZWQgdGFibGUgZm9yIG9iamVjdAorICAgICAgICAjIGNvbXBhcmlzb24K KyAgICAgICAgZm9yIG1vZHVsZSBpbiBzZWxmLnRhYmxlc19zdWJfbW9kdWxlczoKKyAgICAgICAg ICAgIG1vZHVsZV92aWV3ID0gU2NoZW1hRGlmZlJlZ2lzdHJ5LmdldF9ub2RlX3ZpZXcobW9kdWxl KQorICAgICAgICAgICAgaWYgbW9kdWxlX3ZpZXcuYmx1ZXByaW50LnNlcnZlcl90eXBlIGlzIE5v bmUgb3IgXAorICAgICAgICAgICAgICAgIHNlbGYubWFuYWdlci5zZXJ2ZXJfdHlwZSBpbiBcCisg ICAgICAgICAgICAgICAgICAgIG1vZHVsZV92aWV3LmJsdWVwcmludC5zZXJ2ZXJfdHlwZToKKyAg ICAgICAgICAgICAgICBzdWJfZGF0YSA9IG1vZHVsZV92aWV3LmZldGNoX29iamVjdHNfdG9fY29t cGFyZSgKKyAgICAgICAgICAgICAgICAgICAgc2lkPXNpZCwgZGlkPWRpZCwgc2NpZD1zY2lkLCB0 aWQ9cm93WydvaWQnXSwKKyAgICAgICAgICAgICAgICAgICAgb2lkPU5vbmUpCisgICAgICAgICAg ICAgICAgZGF0YVttb2R1bGVdID0gc3ViX2RhdGEKKworICAgIEBzdGF0aWNtZXRob2QKKyAgICBk ZWYgX2NoZWNrX3Jsc3BvbGljeV9zdXBwb3J0KHJlcyk6CisgICAgICAgICIiIgorICAgICAgICBU aGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gY2hlY2sgd2hldGhlciAncmxzcG9saWN5JyBpbiByZXNw b25zZQorICAgICAgICBhcyBpdCBzdXBwb3J0ZWQgZm9yIHZlcnNpb24gOS41IGFuZCBhYm92ZQor ICAgICAgICA6cGFyYW0gcmVzOgorICAgICAgICA6cmV0dXJuOgorICAgICAgICAiIiIKKyAgICAg ICAgaWYgJ3Jsc3BvbGljeScgaW4gcmVzWydyb3dzJ11bMF06CisgICAgICAgICAgICAjIFNldCB0 aGUgdmFsdWUgb2YgcmxzIHBvbGljeQorICAgICAgICAgICAgaWYgcmVzWydyb3dzJ11bMF1bJ3Js c3BvbGljeSddID09ICJ0cnVlIjoKKyAgICAgICAgICAgICAgICByZXNbJ3Jvd3MnXVswXVsncmxz cG9saWN5J10gPSBUcnVlCisKKyAgICAgICAgICAgICMgU2V0IHRoZSB2YWx1ZSBvZiBmb3JjZSBy bHMgcG9saWN5IGZvciB0YWJsZSBvd25lcgorICAgICAgICAgICAgaWYgcmVzWydyb3dzJ11bMF1b J2ZvcmNlcmxzcG9saWN5J10gPT0gInRydWUiOgorICAgICAgICAgICAgICAgIHJlc1sncm93cydd WzBdWydmb3JjZXJsc3BvbGljeSddID0gVHJ1ZQorCisgICAgZGVmIF9mZXRjaF90YWJsZV9wcm9w ZXJ0aWVzKHNlbGYsIGRpZCwgc2NpZCwgdGlkKToKKyAgICAgICAgIiIiCisgICAgICAgIFRoaXMg ZnVuY3Rpb24gaXMgdXNlZCB0byBmZXRjaCB0aGUgcHJvcGVydGllcyBvZiB0aGUgc3BlY2lmaWVk IG9iamVjdAorICAgICAgICA6cGFyYW0gZGlkOgorICAgICAgICA6cGFyYW0gc2NpZDoKKyAgICAg ICAgOnBhcmFtIHRpZDoKKyAgICAgICAgOnJldHVybjoKKyAgICAgICAgIiIiCisgICAgICAgIHNx bCA9IHJlbmRlcl90ZW1wbGF0ZSgKKyAgICAgICAgICAgICIvIi5qb2luKFtzZWxmLnRhYmxlX3Rl bXBsYXRlX3BhdGgsIHNlbGYuX1BST1BFUlRJRVNfU1FMXSksCisgICAgICAgICAgICBkaWQ9ZGlk LCBzY2lkPXNjaWQsIHRpZD10aWQsCisgICAgICAgICAgICBkYXRsYXN0c3lzb2lkPXNlbGYuZGF0 bGFzdHN5c29pZAorICAgICAgICApCisgICAgICAgIHN0YXR1cywgcmVzID0gc2VsZi5jb25uLmV4 ZWN1dGVfZGljdChzcWwpCisgICAgICAgIGlmIG5vdCBzdGF0dXM6CisgICAgICAgICAgICByZXR1 cm4gRmFsc2UsIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1yZXMpCisKKyAgICAgICAg ZWxpZiBsZW4ocmVzWydyb3dzJ10pID09IDA6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UsIGdv bmUoCisgICAgICAgICAgICAgICAgZ2V0dGV4dChzZWxmLm5vdF9mb3VuZF9lcnJvcl9tc2coKSkp CisKKyAgICAgICAgIyBVcGRhdGUgYXV0b3ZhY3V1bSBwcm9wZXJ0aWVzCisgICAgICAgIHNlbGYu dXBkYXRlX2F1dG92YWN1dW1fcHJvcGVydGllcyhyZXNbJ3Jvd3MnXVswXSkKKworICAgICAgICAj IFdlIHdpbGwgY2hlY2sgdGhlIHRocmVzaG9sZCBzZXQgYnkgdXNlciBiZWZvcmUgZXhlY3V0aW5n CisgICAgICAgICMgdGhlIHF1ZXJ5IGJlY2F1c2UgdGhhdCBjYW4gY2F1c2UgcGVyZm9ybWFuY2Ug aXNzdWVzCisgICAgICAgICMgd2l0aCBsYXJnZSByZXN1bHQgc2V0CisgICAgICAgIHByZWYgPSBQ cmVmZXJlbmNlcy5tb2R1bGUoJ2Jyb3dzZXInKQorICAgICAgICB0YWJsZV9yb3dfY291bnRfcHJl ZiA9IHByZWYucHJlZmVyZW5jZSgndGFibGVfcm93X2NvdW50X3RocmVzaG9sZCcpCisgICAgICAg IHRhYmxlX3Jvd19jb3VudF90aHJlc2hvbGQgPSB0YWJsZV9yb3dfY291bnRfcHJlZi5nZXQoKQor ICAgICAgICBlc3RpbWF0ZWRfcm93X2NvdW50ID0gaW50KHJlc1sncm93cyddWzBdLmdldCgncmVs dHVwbGVzJywgMCkpCisKKyAgICAgICAgIyBDaGVjayB3aGV0aGVyICdybHNwb2xpY3knIGluIHJl c3BvbnNlIGFzIGl0IHN1cHBvcnRlZCBmb3IKKyAgICAgICAgIyB2ZXJzaW9uIDkuNSBhbmQgYWJv dmUKKyAgICAgICAgQmFzZVRhYmxlVmlldy5fY2hlY2tfcmxzcG9saWN5X3N1cHBvcnQocmVzKQor CisgICAgICAgICMgSWYgZXN0aW1hdGVkIHJvd3MgYXJlIGdyZWF0ZXIgdGhhbiB0aHJlc2hvbGQg dGhlbgorICAgICAgICBpZiBlc3RpbWF0ZWRfcm93X2NvdW50IGFuZCBcCisgICAgICAgICAgICAg ICAgZXN0aW1hdGVkX3Jvd19jb3VudCA+IHRhYmxlX3Jvd19jb3VudF90aHJlc2hvbGQ6CisgICAg ICAgICAgICByZXNbJ3Jvd3MnXVswXVsncm93c19jbnQnXSA9IHN0cih0YWJsZV9yb3dfY291bnRf dGhyZXNob2xkKSArICcrJworCisgICAgICAgICMgSWYgZXN0aW1hdGVkIHJvd3MgaXMgbG93ZXIg dGhhbiB0aHJlc2hvbGQgdGhlbiBjYWxjdWxhdGUgdGhlIGNvdW50CisgICAgICAgIGVsaWYgZXN0 aW1hdGVkX3Jvd19jb3VudCBhbmQgXAorICAgICAgICAgICAgICAgIHRhYmxlX3Jvd19jb3VudF90 aHJlc2hvbGQgPj0gZXN0aW1hdGVkX3Jvd19jb3VudDoKKyAgICAgICAgICAgIHNxbCA9IHJlbmRl cl90ZW1wbGF0ZSgKKyAgICAgICAgICAgICAgICAiLyIuam9pbigKKyAgICAgICAgICAgICAgICAg ICAgW3NlbGYudGFibGVfdGVtcGxhdGVfcGF0aCwgJ2dldF90YWJsZV9yb3dfY291bnQuc3FsJ10K KyAgICAgICAgICAgICAgICApLCBkYXRhPXJlc1sncm93cyddWzBdCisgICAgICAgICAgICApCisK KyAgICAgICAgICAgIHN0YXR1cywgY291bnQgPSBzZWxmLmNvbm4uZXhlY3V0ZV9zY2FsYXIoc3Fs KQorCisgICAgICAgICAgICBpZiBub3Qgc3RhdHVzOgorICAgICAgICAgICAgICAgIHJldHVybiBG YWxzZSwgaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPWNvdW50KQorCisgICAgICAgICAg ICByZXNbJ3Jvd3MnXVswXVsncm93c19jbnQnXSA9IGNvdW50CisKKyAgICAgICAgIyBJZiBlc3Rp bWF0ZWRfcm93X2NvdW50IGlzIHplcm8gdGhlbiBzZXQgdGhlIHJvdyBjb3VudCB3aXRoIHNhbWUK KyAgICAgICAgZWxpZiBub3QgZXN0aW1hdGVkX3Jvd19jb3VudDoKKyAgICAgICAgICAgIHJlc1sn cm93cyddWzBdWydyb3dzX2NudCddID0gZXN0aW1hdGVkX3Jvd19jb3VudAorCisgICAgICAgIHJl dHVybiBUcnVlLCByZXMKKwogICAgIGRlZiBfZm9ybWF0X2NvbHVtbl9saXN0KHNlbGYsIGRhdGEp OgogICAgICAgICAjIE5vdyB3ZSBoYXZlIGFsbCBsaXMgb2YgY29sdW1ucyB3aGljaCB3ZSBuZWVk CiAgICAgICAgICMgdG8gaW5jbHVkZSBpbiBvdXIgY3JlYXRlIGRlZmluaXRpb24sIExldCdzIGZv cm1hdCB0aGVtCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy91dGlscy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3V0aWxzLnB5CmluZGV4IDEw ZmNlMzA0Zi4uZDAwZDA4ODMzIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy91dGlscy5weQorKysgYi93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy91dGls cy5weQpAQCAtMTEwLDEzICsxMTAsMTUgQEAgY2xhc3MgRGF0YVR5cGVSZWFkZXI6CiAgICAgICAg ICIiIgogICAgICAgICAjIENoZWNrIGlmIHRlbXBsYXRlIHBhdGggaXMgYWxyZWFkeSBzZXQgb3Ig bm90CiAgICAgICAgICMgaWYgbm90IHRoZW4gd2Ugd2lsbCBzZXQgdGhlIHRlbXBsYXRlIHBhdGgg aGVyZQorICAgICAgICBtYW5hZ2VyID0gY29ubi5tYW5hZ2VyIGlmIG5vdCBoYXNhdHRyKHNlbGYs ICdtYW5hZ2VyJykgXAorICAgICAgICAgICAgZWxzZSBzZWxmLm1hbmFnZXIKICAgICAgICAgaWYg bm90IGhhc2F0dHIoc2VsZiwgJ2RhdGFfdHlwZV90ZW1wbGF0ZV9wYXRoJyk6CiAgICAgICAgICAg ICBzZWxmLmRhdGFfdHlwZV90ZW1wbGF0ZV9wYXRoID0gJ2RhdGF0eXBlL3NxbC8nICsgKAogICAg ICAgICAgICAgICAgICcjezB9I3sxfSMnLmZvcm1hdCgKLSAgICAgICAgICAgICAgICAgICAgc2Vs Zi5tYW5hZ2VyLnNlcnZlcl90eXBlLAotICAgICAgICAgICAgICAgICAgICBzZWxmLm1hbmFnZXIu dmVyc2lvbgotICAgICAgICAgICAgICAgICkgaWYgc2VsZi5tYW5hZ2VyLnNlcnZlcl90eXBlID09 ICdncGRiJyBlbHNlCi0gICAgICAgICAgICAgICAgJyN7MH0jJy5mb3JtYXQoc2VsZi5tYW5hZ2Vy LnZlcnNpb24pCisgICAgICAgICAgICAgICAgICAgIG1hbmFnZXIuc2VydmVyX3R5cGUsCisgICAg ICAgICAgICAgICAgICAgIG1hbmFnZXIudmVyc2lvbgorICAgICAgICAgICAgICAgICkgaWYgbWFu YWdlci5zZXJ2ZXJfdHlwZSA9PSAnZ3BkYicgZWxzZQorICAgICAgICAgICAgICAgICcjezB9Iycu Zm9ybWF0KG1hbmFnZXIudmVyc2lvbikKICAgICAgICAgICAgICkKICAgICAgICAgc3FsID0gcmVu ZGVyX3RlbXBsYXRlKAogICAgICAgICAgICAgIi8iLmpvaW4oW3NlbGYuZGF0YV90eXBlX3RlbXBs YXRlX3BhdGgsICdnZXRfdHlwZXMuc3FsJ10pLApAQCAtNzAxLDMgKzcwMywyMyBAQCBkZWYgZ2V0 X3NjaGVtYShzaWQsIGRpZCwgc2NpZCk6CiAgICAgKQogCiAgICAgcmV0dXJuIHN0YXR1cywgc2No ZW1hX25hbWUKKworCitkZWYgZ2V0X3NjaGVtYXMoY29ubiwgc2hvd19zeXN0ZW1fb2JqZWN0cz1G YWxzZSk6CisgICAgIiIiCisgICAgVGhpcyBmdW5jdGlvbiB3aWxsIHJldHVybiB0aGUgc2NoZW1h cy4KKyAgICAiIiIKKworICAgIHZlciA9IGNvbm4ubWFuYWdlci52ZXJzaW9uCisgICAgc2VydmVy X3R5cGUgPSBjb25uLm1hbmFnZXIuc2VydmVyX3R5cGUKKworICAgIFNRTCA9IHJlbmRlcl90ZW1w bGF0ZSgKKyAgICAgICAgIi8iLmpvaW4oWydzY2hlbWFzJywKKyAgICAgICAgICAgICAgICAgICd7 MH0vI3sxfSMnLmZvcm1hdChzZXJ2ZXJfdHlwZSwgdmVyKSwKKyAgICAgICAgICAgICAgICAgICdz cWwvbm9kZXMuc3FsJ10pLAorICAgICAgICBzaG93X3N5c29iaj1zaG93X3N5c3RlbV9vYmplY3Rz LAorICAgICAgICBzY2hlbWFfcmVzdHJpY3Rpb25zPU5vbmUKKyAgICApCisKKyAgICBzdGF0dXMs IHJzZXQgPSBjb25uLmV4ZWN1dGVfMmRhcnJheShTUUwpCisgICAgcmV0dXJuIHN0YXR1cywgcnNl dApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3N0YXRpYy9qcy9kYXRhYmFzZS5qcyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zdGF0aWMvanMvZGF0YWJhc2UuanMKaW5kZXgg MzYwNWUxZDU3Li5lYjVjNzNmMWUgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zdGF0aWMvanMvZGF0YWJhc2UuanMKKysrIGIv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3N0YXRp Yy9qcy9kYXRhYmFzZS5qcwpAQCAtODIsNiArODIsMTAgQEAgZGVmaW5lKCdwZ2FkbWluLm5vZGUu ZGF0YWJhc2UnLCBbCiAgICAgICAgICAgYXBwbGllczogWydvYmplY3QnLCAnY29udGV4dCddLCBj YWxsYmFjazogJ2Rpc2Nvbm5lY3RfZGF0YWJhc2UnLAogICAgICAgICAgIGNhdGVnb3J5OiAnZHJv cCcsIHByaW9yaXR5OiA1LCBsYWJlbDogZ2V0dGV4dCgnRGlzY29ubmVjdCBEYXRhYmFzZS4uLicp LAogICAgICAgICAgIGljb246ICdmYSBmYS11bmxpbmsnLCBlbmFibGUgOiAnaXNfY29ubmVjdGVk JywKKyAgICAgICAgfSx7CisgICAgICAgICAgbmFtZTogJ2dlbmVyYXRlX2VyZCcsIG5vZGU6ICdk YXRhYmFzZScsIG1vZHVsZTogdGhpcywKKyAgICAgICAgICBhcHBsaWVzOiBbJ29iamVjdCcsICdj b250ZXh0J10sIGNhbGxiYWNrOiAnZ2VuZXJhdGVfZXJkJywKKyAgICAgICAgICBjYXRlZ29yeTog J2VyZCcsIHByaW9yaXR5OiA1LCBsYWJlbDogZ2V0dGV4dCgnR2VuZXJhdGUgRVJEKEJldGEpLi4u JyksCiAgICAgICAgIH1dKTsKIAogICAgICAgICBfLmJpbmRBbGwodGhpcywgJ2Nvbm5lY3Rpb25f bG9zdCcpOwpAQCAtMjM2LDYgKzI0MCwxNSBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS5kYXRhYmFz ZScsIFsKICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0sCiAKKyAgICAgICAgLyog R2VuZXJhdGUgdGhlIEVSRCAqLworICAgICAgICBnZW5lcmF0ZV9lcmQ6IGZ1bmN0aW9uKGFyZ3Mp IHsKKyAgICAgICAgICB2YXIgaW5wdXQgPSBhcmdzIHx8IHt9LAorICAgICAgICAgICAgdCA9IHBn QnJvd3Nlci50cmVlLAorICAgICAgICAgICAgaSA9IGlucHV0Lml0ZW0gfHwgdC5zZWxlY3RlZCgp LAorICAgICAgICAgICAgZCA9IGkgJiYgaS5sZW5ndGggPT0gMSA/IHQuaXRlbURhdGEoaSkgOiB1 bmRlZmluZWQ7CisgICAgICAgICAgcGdCcm93c2VyLmVyZC5zaG93RXJkVG9vbChkLCBpLCB0cnVl KTsKKyAgICAgICAgfSwKKwogICAgICAgICAvKiBDb25uZWN0IHRoZSBkYXRhYmFzZSAoaWYgbm90 IGNvbm5lY3RlZCksIGJlZm9yZSBvcGVuaW5nIHRoaXMgbm9kZSAqLwogICAgICAgICBiZWZvcmVv cGVuOiBmdW5jdGlvbihpdGVtLCBkYXRhKSB7CiAgICAgICAgICAgaWYoIWRhdGEgfHwgZGF0YS5f dHlwZSAhPSAnZGF0YWJhc2UnIHx8IGRhdGEubGFiZWwgPT0gJ3RlbXBsYXRlMCcpIHsKZGlmZiAt LWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvdGVtcGxhdGVzL2Jyb3dzZXIvanMvdXRpbHMuanMg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3RlbXBsYXRlcy9icm93c2VyL2pzL3V0aWxzLmpzCmluZGV4 IDUxNmI2MjY5Ny4uYzBhMmZjNThlIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3Rl bXBsYXRlcy9icm93c2VyL2pzL3V0aWxzLmpzCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvdGVt cGxhdGVzL2Jyb3dzZXIvanMvdXRpbHMuanMKQEAgLTY4LDYgKzY4LDcgQEAgZGVmaW5lKCdwZ2Fk bWluLmJyb3dzZXIudXRpbHMnLAogICAgIGJyYWNlTWF0Y2hpbmc6ICd7eyBlZGl0b3JfYnJhY2Vf bWF0Y2hpbmcgfX0nID09ICdUcnVlJywKICAgICBpc19pbmRlbnRfd2l0aF90YWJzOiAne3sgZWRp dG9yX2luZGVudF93aXRoX3RhYnMgfX0nID09ICdUcnVlJywKICAgICBhcHBfbmFtZTogJ3t7IGFw cF9uYW1lIH19JywKKyAgICBhcHBfdmVyc2lvbl9pbnQ6ICd7eyBhcHBfdmVyc2lvbl9pbnR9fScs CiAgICAgcGdfbGlicHFfdmVyc2lvbjoge3twZ19saWJwcV92ZXJzaW9ufGV9fSwKICAgICBzdXBw b3J0X3NzaF90dW5uZWw6ICd7eyBzdXBwb3J0X3NzaF90dW5uZWwgfX0nID09ICdUcnVlJywKICAg ICBsb2dvdXRfdXJsOiAne3tsb2dvdXRfdXJsfX0nLApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4v c3RhdGljL2J1bmRsZS9icm93c2VyLmpzIGIvd2ViL3BnYWRtaW4vc3RhdGljL2J1bmRsZS9icm93 c2VyLmpzCmluZGV4IDdlZDliNzI1ZC4uZWJhOGZmYWZhIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi9zdGF0aWMvYnVuZGxlL2Jyb3dzZXIuanMKKysrIGIvd2ViL3BnYWRtaW4vc3RhdGljL2J1bmRs ZS9icm93c2VyLmpzCkBAIC0xMCw2ICsxMCw3IEBACiBkZWZpbmUoJ2J1bmRsZWRfYnJvd3Nlcics WwogICAncGdhZG1pbi5icm93c2VyJywKICAgJ3NvdXJjZXMvYnJvd3Nlci9pbmRleCcsCisgICd0 b3AvdG9vbHMvZXJkL3N0YXRpYy9qcy9pbmRleCcsCiBdLCBmdW5jdGlvbihwZ0Jyb3dzZXIpIHsK ICAgcGdCcm93c2VyLmluaXQoKTsKIH0pOwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vc3RhdGlj L2pzL2JhY2tmb3JtLnBnYWRtaW4uanMgYi93ZWIvcGdhZG1pbi9zdGF0aWMvanMvYmFja2Zvcm0u cGdhZG1pbi5qcwppbmRleCBiMzVjZWRlZjAuLmRjYTkzNTY2MiAxMDA2NDQKLS0tIGEvd2ViL3Bn YWRtaW4vc3RhdGljL2pzL2JhY2tmb3JtLnBnYWRtaW4uanMKKysrIGIvd2ViL3BnYWRtaW4vc3Rh dGljL2pzL2JhY2tmb3JtLnBnYWRtaW4uanMKQEAgLTE0NjUsNiArMTQ2NSwxMCBAQCBkZWZpbmUo WwogICAgICAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uLAogICAgICAgICAgICAgICBu b2RlX2luZm86IHNlbGYubW9kZWwubm9kZV9pbmZvLAogICAgICAgICAgICAgfSk7CisKKyAgICAg ICAgICAgIGlmKGRhdGEuYmVmb3JlQWRkKSB7CisgICAgICAgICAgICAgIG0gPSBkYXRhLmJlZm9y ZUFkZC5hcHBseShzZWxmLCBbbV0pOworICAgICAgICAgICAgfQogICAgICAgICAgICAgY29sbGVj dGlvbi5hZGQobSk7CiAKICAgICAgICAgICAgIHZhciBpZHggPSBjb2xsZWN0aW9uLmluZGV4T2Yo bSksCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9zdGF0aWMvanMvYmFja2dyaWQucGdhZG1pbi5q cyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9iYWNrZ3JpZC5wZ2FkbWluLmpzCmluZGV4IGRlZjlj MThmNi4uNTAzMzk2NWYyIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9zdGF0aWMvanMvYmFja2dy aWQucGdhZG1pbi5qcworKysgYi93ZWIvcGdhZG1pbi9zdGF0aWMvanMvYmFja2dyaWQucGdhZG1p bi5qcwpAQCAtMTAsMTAgKzEwLDEwIEBACiBkZWZpbmUoWwogICAnc291cmNlcy9nZXR0ZXh0Jywg J3VuZGVyc2NvcmUnLCAnanF1ZXJ5JywgJ2JhY2tib25lJywgJ2JhY2tmb3JtJywgJ2JhY2tncmlk JywgJ2FsZXJ0aWZ5JywKICAgJ21vbWVudCcsICdiaWdudW1iZXInLCAnY29kZW1pcnJvcicsICdz b3VyY2VzL3V0aWxzJywgJ3NvdXJjZXMva2V5Ym9hcmRfc2hvcnRjdXRzJywgJ3NvdXJjZXMvc2Vs ZWN0Mi9jb25maWd1cmVfc2hvd19vbl9zY3JvbGwnLAotICAnYm9vdHN0cmFwLmRhdGV0aW1lcGlj a2VyJywgJ2JhY2tncmlkLmZpbHRlcicsICdib290c3RyYXAudG9nZ2xlJywKKyAgJ3NvdXJjZXMv d2luZG93JywgJ2Jvb3RzdHJhcC5kYXRldGltZXBpY2tlcicsICdiYWNrZ3JpZC5maWx0ZXInLCAn Ym9vdHN0cmFwLnRvZ2dsZScsCiBdLCBmdW5jdGlvbigKICAgZ2V0dGV4dCwgXywgJCwgQmFja2Jv bmUsIEJhY2tmb3JtLCBCYWNrZ3JpZCwgQWxlcnRpZnksIG1vbWVudCwgQmlnTnVtYmVyLCBDb2Rl TWlycm9yLAotICBjb21tb25VdGlscywga2V5Ym9hcmRTaG9ydGN1dHMsIGNvbmZpZ3VyZV9zaG93 X29uX3Njcm9sbAorICBjb21tb25VdGlscywga2V5Ym9hcmRTaG9ydGN1dHMsIGNvbmZpZ3VyZV9z aG93X29uX3Njcm9sbCwgcGdXaW5kb3cKICkgewogICAvKgogICAgKiBBZGQgbWVjaGFuaXNtIGlu IGJhY2tncmlkIHRvIHJlbmRlciBkaWZmZXJlbnQgdHlwZXMgb2YgY2VsbHMgaW4KQEAgLTQzLDcg KzQzLDcgQEAgZGVmaW5lKFsKICAgLy8gYmluZCBzaG9ydGN1dCBpbiBjZWxsIGVkaXQgbW9kZQog ICBfLmV4dGVuZChCYWNrZ3JpZC5JbnB1dENlbGxFZGl0b3IucHJvdG90eXBlLmV2ZW50cywgewog ICAgICdrZXlkb3duJzogZnVuY3Rpb24oZSkgewotICAgICAgbGV0IHByZWZlcmVuY2VzID0gcGdC cm93c2VyLmdldF9wcmVmZXJlbmNlc19mb3JfbW9kdWxlKCdicm93c2VyJyk7CisgICAgICBsZXQg cHJlZmVyZW5jZXMgPSBwZ1dpbmRvdy5kZWZhdWx0LnBnQWRtaW4uQnJvd3Nlci5nZXRfcHJlZmVy ZW5jZXNfZm9yX21vZHVsZSgnYnJvd3NlcicpOwogICAgICAgaWYocHJlZmVyZW5jZXMgJiYga2V5 Ym9hcmRTaG9ydGN1dHMudmFsaWRhdGVTaG9ydGN1dEtleXMocHJlZmVyZW5jZXMuYWRkX2dyaWRf cm93LGUpKSB7CiAgICAgICAgIHBnQnJvd3Nlci5rZXlib2FyZE5hdmlnYXRpb24uYmluZEFkZEdy aWRSb3coKTsKICAgICAgIH0gZWxzZSB7CkBAIC0zMjMsNyArMzIzLDcgQEAgZGVmaW5lKFsKICAg ICAgICAgfSwKICAgICAgICAgZXZlbnRzOiB7CiAgICAgICAgICAgJ2tleWRvd24nOiBmdW5jdGlv biAoZXZlbnQpIHsKLSAgICAgICAgICAgIGxldCBwcmVmZXJlbmNlcyA9IHBnQnJvd3Nlci5nZXRf cHJlZmVyZW5jZXNfZm9yX21vZHVsZSgnYnJvd3NlcicpOworICAgICAgICAgICAgbGV0IHByZWZl cmVuY2VzID0gcGdXaW5kb3cuZGVmYXVsdC5wZ0FkbWluLkJyb3dzZXIuZ2V0X3ByZWZlcmVuY2Vz X2Zvcl9tb2R1bGUoJ2Jyb3dzZXInKTsKICAgICAgICAgICAgIGlmKHByZWZlcmVuY2VzICYmIGtl eWJvYXJkU2hvcnRjdXRzLnZhbGlkYXRlU2hvcnRjdXRLZXlzKHByZWZlcmVuY2VzLmFkZF9ncmlk X3JvdyxldmVudCkpIHsKICAgICAgICAgICAgICAgcGdCcm93c2VyLmtleWJvYXJkTmF2aWdhdGlv bi5iaW5kQWRkR3JpZFJvdygpOwogICAgICAgICAgICAgfQpAQCAtNzY0LDcgKzc2NCw3IEBAIGRl ZmluZShbCiAgICAgfSwKIAogICAgIG9uS2V5RG93bjogZnVuY3Rpb24oZSkgewotICAgICAgbGV0 IHByZWZlcmVuY2VzID0gcGdCcm93c2VyLmdldF9wcmVmZXJlbmNlc19mb3JfbW9kdWxlKCdicm93 c2VyJyk7CisgICAgICBsZXQgcHJlZmVyZW5jZXMgPSBwZ1dpbmRvdy5kZWZhdWx0LnBnQWRtaW4u QnJvd3Nlci5nZXRfcHJlZmVyZW5jZXNfZm9yX21vZHVsZSgnYnJvd3NlcicpOwogICAgICAgaWYo a2V5Ym9hcmRTaG9ydGN1dHMudmFsaWRhdGVTaG9ydGN1dEtleXMocHJlZmVyZW5jZXMuYWRkX2dy aWRfcm93LGUpKSB7CiAgICAgICAgIHBnQnJvd3Nlci5rZXlib2FyZE5hdmlnYXRpb24uYmluZEFk ZEdyaWRSb3coKTsKICAgICAgIH0KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3N0YXRpYy9zY3Nz L19ib290c3RyYXAub3ZlcnJpZGVzLnNjc3MgYi93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9fYm9v dHN0cmFwLm92ZXJyaWRlcy5zY3NzCmluZGV4IDI5YzRhNDMzYy4uMGQ0ZDY4ZjI0IDEwMDY0NAot LS0gYS93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9fYm9vdHN0cmFwLm92ZXJyaWRlcy5zY3NzCisr KyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9zY3NzL19ib290c3RyYXAub3ZlcnJpZGVzLnNjc3MKQEAg LTE4MSw2ICsxODEsMTUgQEAgbGVnZW5kIHsKICAgICB9CiB9CiAKKy5idG4td2FybmluZyB7Cisg IEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRjb2xvci13YXJuaW5nLCAkY29sb3Itd2FybmluZy1m Zyk7CisgIGJvcmRlci1jb2xvcjogJGNvbG9yLXdhcm5pbmc7CisgIEBpbmNsdWRlIGhvdmVyKCkg eworICAgIGNvbG9yOiAkY29sb3Itd2FybmluZy1mZyAhaW1wb3J0YW50OworICAgIGJvcmRlci1j b2xvcjogJGNvbG9yLXdhcm5pbmcgIWltcG9ydGFudDsKKyAgfQorfQorCiAKIC5mb3JtLWdyb3Vw IGZpZWxkc2V0IHsKIAliYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JheS1saWdodGVyOwpAQCAt MzcwLDYgKzM3OSwxMSBAQCB0ZC5zd2l0Y2gtY2VsbCA+IGRpdi50b2dnbGUgewogICBsaW5lLWhl aWdodDogMC43cmVtOwogfQogCisuYnRuLXhzIHsKKyAgQGV4dGVuZCAuYnRuLXNtOworICBwYWRk aW5nOiAwLjEyNXJlbSAwLjI1cmVtICFpbXBvcnRhbnQ7Cit9CisKIC5idG4tdG9vbGJhciB7CiAg IG1pbi13aWR0aDogMTAwJTsKIH0KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3N0YXRpYy9zY3Nz L19wZ2FkbWluLnN0eWxlLnNjc3MgYi93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9fcGdhZG1pbi5z dHlsZS5zY3NzCmluZGV4IGZhZGQ3MWI3Yi4uZjhmMmJjZjk5IDEwMDY0NAotLS0gYS93ZWIvcGdh ZG1pbi9zdGF0aWMvc2Nzcy9fcGdhZG1pbi5zdHlsZS5zY3NzCisrKyBiL3dlYi9wZ2FkbWluL3N0 YXRpYy9zY3NzL19wZ2FkbWluLnN0eWxlLnNjc3MKQEAgLTg4Niw2ICs4ODYsMTIgQEAgdGFibGUu dGFibGUtbm9vdXRlci1ib3JkZXIgewogICAgICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlLWJvcmRl ci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICB9CiAgIH0KKworICAmLnRhYmxlLW5vaGVh ZGVyIHsKKyAgICAmID4gdGJvZHkgdHI6Zmlyc3Qtb2YtdHlwZSB0ZCB7CisgICAgICBib3JkZXIt dG9wOiBub25lICFpbXBvcnRhbnQ7CisgICAgfQorICB9CiB9CiAKIHRhYmxlLnRhYmxlLWJvdHRv bS1ib3JkZXIgewpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvX3RpcHB5Lm92 ZXJyaWRlcy5zY3NzIGIvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvX3RpcHB5Lm92ZXJyaWRlcy5z Y3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uOTc1MDQzNGI3Ci0tLSAv ZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvX3RpcHB5Lm92ZXJyaWRlcy5z Y3NzCkBAIC0wLDAgKzEsOSBAQAorQGltcG9ydCAifm5vZGVfbW9kdWxlcy90aXBweS5qcy9kaXN0 L3RpcHB5LmNzcyI7CisKKy50aXBweS1ib3ggeworICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zl ci1iZzsKKyAgY29sb3I6ICRwb3BvdmVyLWJvZHktY29sb3I7CisgIC50aXBweS1hcnJvdyB7Cisg ICAgY29sb3I6ICRwb3BvdmVyLWJnOworICB9Cit9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9z dGF0aWMvc2Nzcy9wZ2FkbWluLnNjc3MgYi93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9wZ2FkbWlu LnNjc3MKaW5kZXggMTllNzlhZGYyLi5jYzc1MWI3N2UgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWlu L3N0YXRpYy9zY3NzL3BnYWRtaW4uc2NzcworKysgYi93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9w Z2FkbWluLnNjc3MKQEAgLTEzLDcgKzEzLDYgQEAgJHRoZW1lLWNvbG9yczogKAogfQogCiBAaW1w b3J0ICJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwIjsKLQogQGltcG9ydCAn d2ViY2FiaW4ucGdhZG1pbic7CiBAaW1wb3J0ICdib290c3RyYXAub3ZlcnJpZGVzJzsKIEBpbXBv cnQgJ2JhY2tncmlkLm92ZXJyaWRlcyc7CkBAIC0yNywzICsyNiw0IEBAICR0aGVtZS1jb2xvcnM6 ICgKIEBpbXBvcnQgJ3BnYWRtaW4uc3R5bGUnOwogQGltcG9ydCAnYm9vdHN0cmFwNC10b2dnbGUu b3ZlcnJpZGVzJzsKIEBpbXBvcnQgJ3BpY2tyLm92ZXJyaWRlcyc7CitAaW1wb3J0ICd0aXBweS5v dmVycmlkZXMnOwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvcmVzb3VyY2Vz L19kZWZhdWx0LnZhcmlhYmxlcy5zY3NzIGIvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvcmVzb3Vy Y2VzL19kZWZhdWx0LnZhcmlhYmxlcy5zY3NzCmluZGV4IDlkOTEzNzg4ZC4uYjcxYzg2YTRjIDEw MDY0NAotLS0gYS93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9yZXNvdXJjZXMvX2RlZmF1bHQudmFy aWFibGVzLnNjc3MKKysrIGIvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvcmVzb3VyY2VzL19kZWZh dWx0LnZhcmlhYmxlcy5zY3NzCkBAIC0xMTEsOCArMTExLDggQEAgJGRyb3Bkb3duLXNwYWNlcjog LjEyNXJlbTsgLy9uby1jaGFuZ2UKICRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAkdGV4 dC1tdXRlZDsKICRuYXYtZGl2aWRlci1tYXJnaW4teTogLjI1cmVtOwogCi0kcG9wb3Zlci1iZzog JGNvbG9yLWdyYXktZGFyayAhZGVmYXVsdDsKLSRwb3BvdmVyLWJvZHktY29sb3I6ICR3aGl0ZSAh ZGVmYXVsdDsKKyRwb3BvdmVyLWJnOiAkY29sb3ItZmcgIWRlZmF1bHQ7CiskcG9wb3Zlci1ib2R5 LWNvbG9yOiAkY29sb3ItYmcgIWRlZmF1bHQ7CiAkcG9wb3Zlci1ib3JkZXItY29sb3I6ICRkcm9w ZG93bi1ib3JkZXItY29sb3I7CiAkcG9wb3Zlci1ib3gtc2hhZG93OiAkZHJvcGRvd24tYm94LXNo YWRvdzsKIApAQCAtMzQ5LDMgKzM0OSwxNiBAQCAkZ3JpZC1ob3Zlci1mZy1jb2xvcjogJGNvbG9y LWZnICFkZWZhdWx0OwogCiAkYnRuLWNvcGllZC1jb2xvci1mZzogJGFjdGl2ZS1jb2xvciAhZGVm YXVsdDsKIAorLyoqIEVSRCAqKi8KKyRlcmQtcm93LXBhZGRpbmc6IDAuMjVyZW07CiskZXJkLW5v ZGUtYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yICFkZWZhdWx0OworJGVyZC1jYW52YXMtYmc6 ICRjb2xvci1iZyAhZGVmYXVsdDsKKyRlcmQtY2FudmFzLWdyaWQ6ICRjb2xvci1ncmF5ICFkZWZh dWx0OworJGVyZC1saW5rLWNvbG9yOiAkY29sb3ItZmcgIWRlZmF1bHQ7CiskZXJkLWxpbmstc2Vs ZWN0ZWQtY29sb3I6ICRjb2xvci1mZyAhZGVmYXVsdDsKKworCitAZnVuY3Rpb24gdXJsLWZyaWVu ZGx5LWNvbG91cigkY29sb3VyKSB7CisgIEByZXR1cm4gJyUyMycgKyBzdHItc2xpY2UoJyN7JGNv bG91cn0nLCAyLCAtMSkKK30KKyRlcmQtYmctZ3JpZDogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWws ICUzQ3N2ZyB3aWR0aD0nMTAwJTI1JyB2aWV3Qm94PScwIDAgNDUgNDUnIHN0eWxlPSdiYWNrZ3Jv dW5kLWNvbG9yOiN7dXJsLWZyaWVuZGx5LWNvbG91cigkZXJkLWNhbnZhcy1iZyl9JyBoZWlnaHQ9 JzEwMCUyNScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ2RlZnMlM0Ul M0NwYXR0ZXJuIGlkPSdzbWFsbEdyaWQnIHdpZHRoPScxNScgaGVpZ2h0PScxNScgcGF0dGVyblVu aXRzPSd1c2VyU3BhY2VPblVzZSclM0UlM0NwYXRoIGQ9J00gMTUgMCBMIDAgMCAwIDE1JyBmaWxs PSdub25lJyBzdHJva2U9JyN7dXJsLWZyaWVuZGx5LWNvbG91cigkZXJkLWNhbnZhcy1ncmlkKX0n IHN0cm9rZS13aWR0aD0nMC41Jy8lM0UlM0MvcGF0dGVybiUzRSUzQ3BhdHRlcm4gaWQ9J2dyaWQn IHdpZHRoPSc0NScgaGVpZ2h0PSc0NScgcGF0dGVyblVuaXRzPSd1c2VyU3BhY2VPblVzZSclM0Ul M0NyZWN0IHdpZHRoPScxMDAnIGhlaWdodD0nMTAwJyBmaWxsPSd1cmwoJTIzc21hbGxHcmlkKScv JTNFJTNDcGF0aCBkPSdNIDEwMCAwIEwgMCAwIDAgMTAwJyBmaWxsPSdub25lJyBzdHJva2U9JyN7 dXJsLWZyaWVuZGx5LWNvbG91cigkZXJkLWNhbnZhcy1ncmlkKX0nIHN0cm9rZS13aWR0aD0nMScv JTNFJTNDL3BhdHRlcm4lM0UlM0MvZGVmcyUzRSUzQ3JlY3Qgd2lkdGg9JzEwMCUyNScgaGVpZ2h0 PScxMDAlMjUnIGZpbGw9J3VybCglMjNncmlkKScgLyUzRSUzQy9zdmclM0UlMEEiKTsKZGlmZiAt LWdpdCBhL3dlYi9wZ2FkbWluL3N0YXRpYy9zY3NzL3Jlc291cmNlcy9kYXJrL190aGVtZS52YXJp YWJsZXMuc2NzcyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9zY3NzL3Jlc291cmNlcy9kYXJrL190aGVt ZS52YXJpYWJsZXMuc2NzcwppbmRleCAxMjliOWEyMTQuLmQ4Y2E2NWI1MCAxMDA2NDQKLS0tIGEv d2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvcmVzb3VyY2VzL2RhcmsvX3RoZW1lLnZhcmlhYmxlcy5z Y3NzCisrKyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9zY3NzL3Jlc291cmNlcy9kYXJrL190aGVtZS52 YXJpYWJsZXMuc2NzcwpAQCAtMTIxLDMgKzEyMSwxMSBAQCAkY29sb3Itc3VjY2Vzcy1ob3Zlci1m ZzogJGNvbG9yLWZnOwogJGRhdGFncmlkLXNlbGVjdGVkLWNvbG9yOiAkY29sb3ItcHJpbWFyeS1m ZzsKIAogJHNlbGVjdDItcGxhY2Vob2xkZXI6ICM5OTk7CisKKy8qIEVSRCAqLworJGVyZC1yb3ct cGFkZGluZzogMC4yNXJlbTsKKyRlcmQtbm9kZS1ib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7 CiskZXJkLWNhbnZhcy1iZzogJGNvbG9yLWdyYXktbGlnaHQ7CiskZXJkLWNhbnZhcy1ncmlkOiAj NDQ0OTUyOworJGVyZC1saW5rLWNvbG9yOiAkY29sb3ItZmc7CiskZXJkLWxpbmstc2VsZWN0ZWQt Y29sb3I6ICRjb2xvci1mZzsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFncmlk L3N0YXRpYy9qcy9kYXRhZ3JpZF9wYW5lbF90aXRsZS5qcyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2Rh dGFncmlkL3N0YXRpYy9qcy9kYXRhZ3JpZF9wYW5lbF90aXRsZS5qcwppbmRleCBiYWU1ZTM2ZDYu LjUzMTk3Y2Q4MyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQvc3RhdGlj L2pzL2RhdGFncmlkX3BhbmVsX3RpdGxlLmpzCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFn cmlkL3N0YXRpYy9qcy9kYXRhZ3JpZF9wYW5lbF90aXRsZS5qcwpAQCAtMjAsMTYgKzIwLDE3IEBA IGZ1bmN0aW9uIGlzU2VydmVySW5mb3JtYXRpb25BdmFpbGFibGUocGFyZW50RGF0YSkgewogICBy ZXR1cm4gcGFyZW50RGF0YS5zZXJ2ZXIgPT09IHVuZGVmaW5lZDsKIH0KIAotZXhwb3J0IGZ1bmN0 aW9uIGdldFBhbmVsVGl0bGUocGdCcm93c2VyLCBzZWxlY3RlZF9pdGVtPW51bGwsIGN1c3RvbV90 aXRsZT1udWxsKSB7CitleHBvcnQgZnVuY3Rpb24gZ2V0UGFuZWxUaXRsZShwZ0Jyb3dzZXIsIHNl bGVjdGVkX2l0ZW09bnVsbCwgY3VzdG9tX3RpdGxlPW51bGwsIHBhcmVudERhdGE9bnVsbCkgewog ICB2YXIgcHJlZmVyZW5jZXMgPSBwZ0Jyb3dzZXIuZ2V0X3ByZWZlcmVuY2VzX2Zvcl9tb2R1bGUo J2Jyb3dzZXInKTsKLSAgaWYoc2VsZWN0ZWRfaXRlbSA9PSBudWxsKSB7CisgIGlmKHNlbGVjdGVk X2l0ZW0gPT0gbnVsbCAmJiBwYXJlbnREYXRhID09IG51bGwpIHsKICAgICBzZWxlY3RlZF9pdGVt ID0gcGdCcm93c2VyLnRyZWVNZW51LnNlbGVjdGVkKCk7CiAgIH0KIAotICBjb25zdCBwYXJlbnRE YXRhID0gZ2V0VHJlZU5vZGVIaWVyYXJjaHlGcm9tSWRlbnRpZmllcgotICAgIC5jYWxsKHBnQnJv d3Nlciwgc2VsZWN0ZWRfaXRlbSk7Ci0gIGlmIChpc1NlcnZlckluZm9ybWF0aW9uQXZhaWxhYmxl KHBhcmVudERhdGEpKSB7Ci0gICAgcmV0dXJuOworICBpZihwYXJlbnREYXRhID09IG51bGwpIHsK KyAgICBwYXJlbnREYXRhID0gZ2V0VHJlZU5vZGVIaWVyYXJjaHlGcm9tSWRlbnRpZmllci5jYWxs KHBnQnJvd3Nlciwgc2VsZWN0ZWRfaXRlbSk7CisgICAgaWYgKGlzU2VydmVySW5mb3JtYXRpb25B dmFpbGFibGUocGFyZW50RGF0YSkpIHsKKyAgICAgIHJldHVybjsKKyAgICB9CiAgIH0KIAogICBj b25zdCBkYl9sYWJlbCA9IGdldERhdGFiYXNlTGFiZWwocGFyZW50RGF0YSk7CmRpZmYgLS1naXQg YS93ZWIvcGdhZG1pbi90b29scy9kYXRhZ3JpZC9zdGF0aWMvanMvc2hvd19xdWVyeV90b29sLmpz IGIvd2ViL3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQvc3RhdGljL2pzL3Nob3dfcXVlcnlfdG9vbC5q cwppbmRleCBhMjgwOTEyNjguLjM2YWJhZGFjMyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdG9v bHMvZGF0YWdyaWQvc3RhdGljL2pzL3Nob3dfcXVlcnlfdG9vbC5qcworKysgYi93ZWIvcGdhZG1p bi90b29scy9kYXRhZ3JpZC9zdGF0aWMvanMvc2hvd19xdWVyeV90b29sLmpzCkBAIC0xOCw3ICsx OCw3IEBAIGZ1bmN0aW9uIGhhc0RhdGFiYXNlSW5mb3JtYXRpb24ocGFyZW50RGF0YSkgewogICBy ZXR1cm4gcGFyZW50RGF0YS5kYXRhYmFzZTsKIH0KIAotZnVuY3Rpb24gZ2VuZXJhdGVVcmwodHJh bnNfaWQsIHRpdGxlLCBwYXJlbnREYXRhKSB7CitmdW5jdGlvbiBnZW5lcmF0ZVVybCh0cmFuc19p ZCwgdGl0bGUsIHBhcmVudERhdGEsIHNxbElkKSB7CiAgIGxldCB1cmxfZW5kcG9pbnQgPSB1cmxf Zm9yKCdkYXRhZ3JpZC5wYW5lbCcsIHsKICAgICAndHJhbnNfaWQnOiB0cmFuc19pZCwKICAgfSk7 CkBAIC0zMiw2ICszMiwxMCBAQCBmdW5jdGlvbiBnZW5lcmF0ZVVybCh0cmFuc19pZCwgdGl0bGUs IHBhcmVudERhdGEpIHsKICAgICB1cmxfZW5kcG9pbnQgKz0gYCZkaWQ9JHtwYXJlbnREYXRhLmRh dGFiYXNlLl9pZH1gOwogICB9CiAKKyAgaWYoc3FsSWQpIHsKKyAgICB1cmxfZW5kcG9pbnQgKz0g YCZzcWxfaWQ9JHtzcWxJZH1gOworICB9CisKICAgcmV0dXJuIHVybF9lbmRwb2ludDsKIH0KIApA QCAtODUsNiArODksMjUgQEAgZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlU2NyaXB0KHBhcmVudERh dGEsIGRhdGFncmlkLCBhbGVydGlmeSkgewogICBsYXVuY2hEYXRhR3JpZChkYXRhZ3JpZCwgdHJh bnNJZCwgdXJsX2VuZHBvaW50LCBxdWVyeVRvb2xUaXRsZSwgJycsIGFsZXJ0aWZ5KTsKIH0KIAor ZXhwb3J0IGZ1bmN0aW9uIHNob3dFUkRTcWxUb29sKHBhcmVudERhdGEsIGVyZFNxbElkLCBxdWVy eVRvb2xUaXRsZSwgZGF0YWdyaWQsIGFsZXJ0aWZ5KSB7CisgIGNvbnN0IHRyYW5zSWQgPSBnZXRS YW5kb21JbnQoMSwgOTk5OTk5OSk7CisgIHBhcmVudERhdGEgPSB7CisgICAgc2VydmVyX2dyb3Vw OiB7CisgICAgICBfaWQ6IHBhcmVudERhdGEuc2dpZCwKKyAgICB9LAorICAgIHNlcnZlcjogewor ICAgICAgX2lkOiBwYXJlbnREYXRhLnNpZCwKKyAgICAgIHNlcnZlcl90eXBlOiBwYXJlbnREYXRh LnN0eXBlLAorICAgIH0sCisgICAgZGF0YWJhc2U6IHsKKyAgICAgIF9pZDogcGFyZW50RGF0YS5k aWQsCisgICAgfSwKKyAgfTsKKworICBjb25zdCBncmlkVXJsID0gZ2VuZXJhdGVVcmwodHJhbnNJ ZCwgcXVlcnlUb29sVGl0bGUsIHBhcmVudERhdGEsIGVyZFNxbElkKTsKKyAgbGF1bmNoRGF0YUdy aWQoZGF0YWdyaWQsIHRyYW5zSWQsIGdyaWRVcmwsIHF1ZXJ5VG9vbFRpdGxlLCAnJywgYWxlcnRp ZnkpOworfQorCiBleHBvcnQgZnVuY3Rpb24gbGF1bmNoRGF0YUdyaWQoZGF0YWdyaWQsIHRyYW5z SWQsIGdyaWRVcmwsIHF1ZXJ5VG9vbFRpdGxlLCBzVVJMLCBhbGVydGlmeSkgewogICBsZXQgcmV0 VmFsID0gZGF0YWdyaWQubGF1bmNoX2dyaWQodHJhbnNJZCwgZ3JpZFVybCwgdHJ1ZSwgcXVlcnlU b29sVGl0bGUsIHNVUkwpOwogCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9lcmQvX19p bml0X18ucHkgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvX19pbml0X18ucHkKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4xY2ZmMzk3ZjIKLS0tIC9kZXYvbnVsbAorKysgYi93 ZWIvcGdhZG1pbi90b29scy9lcmQvX19pbml0X18ucHkKQEAgLTAsMCArMSw1ODcgQEAKKyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29w eXJpZ2h0IChDKSAyMDEzIC0gMjAyMCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBU aGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMK KyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjCisKKyIiIkEgYmx1ZXByaW50IG1vZHVsZSBpbXBsZW1lbnRpbmcg dGhlIHNjaGVtYV9kaWZmIGZyYW1lLiIiIgoraW1wb3J0IHNpbXBsZWpzb24gYXMganNvbgorCitm cm9tIGZsYXNrIGltcG9ydCB1cmxfZm9yLCByZXF1ZXN0Citmcm9tIGZsYXNrIGltcG9ydCByZW5k ZXJfdGVtcGxhdGUsIGN1cnJlbnRfYXBwIGFzIGFwcAorZnJvbSBmbGFza19zZWN1cml0eSBpbXBv cnQgbG9naW5fcmVxdWlyZWQKK2Zyb20gZmxhc2tfYmFiZWxleCBpbXBvcnQgZ2V0dGV4dAorZnJv bSB3ZXJremV1Zy51c2VyYWdlbnRzIGltcG9ydCBVc2VyQWdlbnQKK2Zyb20gcGdhZG1pbi51dGls cyBpbXBvcnQgUGdBZG1pbk1vZHVsZSwgXAorICAgIFNIT1JUQ1VUX0ZJRUxEUyBhcyBzaG9ydGN1 dF9maWVsZHMKK2Zyb20gcGdhZG1pbi51dGlscy5hamF4IGltcG9ydCBtYWtlX2pzb25fcmVzcG9u c2UsIGJhZF9yZXF1ZXN0LCBcCisgICAgaW50ZXJuYWxfc2VydmVyX2Vycm9yCitmcm9tIHBnYWRt aW4ubW9kZWwgaW1wb3J0IFNlcnZlcgorZnJvbSBjb25maWcgaW1wb3J0IFBHX0RFRkFVTFRfRFJJ VkVSCitmcm9tIHBnYWRtaW4udXRpbHMuZHJpdmVyIGltcG9ydCBnZXRfZHJpdmVyCitmcm9tIHBn YWRtaW4uYnJvd3Nlci51dGlscyBpbXBvcnQgdW5kZXJzY29yZV91bmVzY2FwZQorZnJvbSBwZ2Fk bWluLnV0aWxzLmV4Y2VwdGlvbiBpbXBvcnQgQ29ubmVjdGlvbkxvc3QsIFNTSFR1bm5lbENvbm5l Y3Rpb25Mb3N0Citmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0 YWJhc2VzLnNjaGVtYXMudXRpbHMgXAorICAgIGltcG9ydCBEYXRhVHlwZVJlYWRlcgorZnJvbSBw Z2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy5zY2hlbWFzLnV0 aWxzIFwKKyAgICBpbXBvcnQgZ2V0X3NjaGVtYXMKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZl cl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMuc2NoZW1hcy50YWJsZXMuIFwKKyAgICBjb25zdHJh aW50cy5mb3JlaWduX2tleSBpbXBvcnQgdXRpbHMgYXMgZmtleV91dGlscworZnJvbSBwZ2FkbWlu LnV0aWxzLmNvbnN0YW50cyBpbXBvcnQgUFJFRl9MQUJFTF9ESVNQTEFZLCBcCisgICAgUFJFRl9M QUJFTF9LRVlCT0FSRF9TSE9SVENVVFMKK2Zyb20gLnV0aWxzIGltcG9ydCBFUkRIZWxwZXIKKwor TU9EVUxFX05BTUUgPSAnZXJkJworCisKK2NsYXNzIEVSRE1vZHVsZShQZ0FkbWluTW9kdWxlKToK KyAgICAiIiIKKyAgICBjbGFzcyBTY2hlbWFEaWZmTW9kdWxlKFBnQWRtaW5Nb2R1bGUpCisKKyAg ICAgICAgQSBtb2R1bGUgY2xhc3MgZm9yIEVSRCBkZXJpdmVkIGZyb20gUGdBZG1pbk1vZHVsZS4K KyAgICAiIiIKKworICAgIExBQkVMID0gZ2V0dGV4dCgiRVJEIHRvb2wiKQorCisgICAgZGVmIGdl dF9vd25fbWVudWl0ZW1zKHNlbGYpOgorICAgICAgICByZXR1cm4ge30KKworICAgIGRlZiBnZXRf b3duX2phdmFzY3JpcHRzKHNlbGYpOgorICAgICAgICByZXR1cm4gW3sKKyAgICAgICAgICAgICdu YW1lJzogJ3BnYWRtaW4uZXJkJywKKyAgICAgICAgICAgICdwYXRoJzogdXJsX2ZvcignZXJkLmlu ZGV4JykgKyAiZXJkIiwKKyAgICAgICAgICAgICd3aGVuJzogTm9uZQorICAgICAgICB9XQorCisg ICAgZGVmIGdldF9wYW5lbHMoc2VsZik6CisgICAgICAgIHJldHVybiBbXQorCisgICAgZGVmIGdl dF9leHBvc2VkX3VybF9lbmRwb2ludHMoc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBSZXR1 cm5zOgorICAgICAgICAgICAgbGlzdDogVVJMIGVuZHBvaW50cyBmb3IgU2NoZW1hIERpZmYgbW9k dWxlCisgICAgICAgICIiIgorICAgICAgICByZXR1cm4gWworICAgICAgICAgICAgJ2VyZC5wYW5l bCcsCisgICAgICAgICAgICAnZXJkLmluaXRpYWxpemUnLAorICAgICAgICAgICAgJ2VyZC5wcmVx dWlzaXRlJywKKyAgICAgICAgICAgICdlcmQuc3FsJywKKyAgICAgICAgICAgICdlcmQudGFibGVz JywKKyAgICAgICAgICAgICdlcmQuY2xvc2UnCisgICAgICAgIF0KKworICAgIGRlZiByZWdpc3Rl cl9wcmVmZXJlbmNlcyhzZWxmKToKKyAgICAgICAgc2VsZi5wcmVmZXJlbmNlLnJlZ2lzdGVyKAor ICAgICAgICAgICAgJ2Rpc3BsYXknLCAnZXJkX25ld19icm93c2VyX3RhYicsCisgICAgICAgICAg ICBnZXR0ZXh0KCJPcGVuIGluIG5ldyBicm93c2VyIHRhYiIpLCAnYm9vbGVhbicsIEZhbHNlLAor ICAgICAgICAgICAgY2F0ZWdvcnlfbGFiZWw9Z2V0dGV4dCgnRGlzcGxheScpLAorICAgICAgICAg ICAgaGVscF9zdHI9Z2V0dGV4dCgnSWYgc2V0IHRvIFRydWUsIHRoZSBFUkQgdG9vbCAnCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICd3aWxsIGJlIG9wZW5lZCBpbiBhIG5ldyBicm93c2Vy IHRhYi4nKQorICAgICAgICApCisKKyAgICAgICAgc2VsZi5wcmVmZXJlbmNlLnJlZ2lzdGVyKAor ICAgICAgICAgICAgJ2tleWJvYXJkX3Nob3J0Y3V0cycsCisgICAgICAgICAgICAnb3Blbl9wcm9q ZWN0JywKKyAgICAgICAgICAgIGdldHRleHQoJ09wZW4gcHJvamVjdCcpLAorICAgICAgICAgICAg J2tleWJvYXJkc2hvcnRjdXQnLAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICdhbHQn OiBGYWxzZSwKKyAgICAgICAgICAgICAgICAnc2hpZnQnOiBGYWxzZSwKKyAgICAgICAgICAgICAg ICAnY29udHJvbCc6IFRydWUsCisgICAgICAgICAgICAgICAgJ2tleSc6IHsKKyAgICAgICAgICAg ICAgICAgICAgJ2tleV9jb2RlJzogNzksCisgICAgICAgICAgICAgICAgICAgICdjaGFyJzogJ28n CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIGNhdGVnb3J5 X2xhYmVsPVBSRUZfTEFCRUxfS0VZQk9BUkRfU0hPUlRDVVRTLAorICAgICAgICAgICAgZmllbGRz PXNob3J0Y3V0X2ZpZWxkcworICAgICAgICApCisKKyAgICAgICAgc2VsZi5wcmVmZXJlbmNlLnJl Z2lzdGVyKAorICAgICAgICAgICAgJ2tleWJvYXJkX3Nob3J0Y3V0cycsCisgICAgICAgICAgICAn c2F2ZV9wcm9qZWN0JywKKyAgICAgICAgICAgIGdldHRleHQoJ1NhdmUgcHJvamVjdCcpLAorICAg ICAgICAgICAgJ2tleWJvYXJkc2hvcnRjdXQnLAorICAgICAgICAgICAgeworICAgICAgICAgICAg ICAgICdhbHQnOiBGYWxzZSwKKyAgICAgICAgICAgICAgICAnc2hpZnQnOiBGYWxzZSwKKyAgICAg ICAgICAgICAgICAnY29udHJvbCc6IFRydWUsCisgICAgICAgICAgICAgICAgJ2tleSc6IHsKKyAg ICAgICAgICAgICAgICAgICAgJ2tleV9jb2RlJzogODMsCisgICAgICAgICAgICAgICAgICAgICdj aGFyJzogJ3MnCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAg IGNhdGVnb3J5X2xhYmVsPVBSRUZfTEFCRUxfS0VZQk9BUkRfU0hPUlRDVVRTLAorICAgICAgICAg ICAgZmllbGRzPXNob3J0Y3V0X2ZpZWxkcworICAgICAgICApCisKKyAgICAgICAgc2VsZi5wcmVm ZXJlbmNlLnJlZ2lzdGVyKAorICAgICAgICAgICAgJ2tleWJvYXJkX3Nob3J0Y3V0cycsCisgICAg ICAgICAgICAnc2F2ZV9wcm9qZWN0X2FzJywKKyAgICAgICAgICAgIGdldHRleHQoJ1NhdmUgcHJv amVjdCBhcycpLAorICAgICAgICAgICAgJ2tleWJvYXJkc2hvcnRjdXQnLAorICAgICAgICAgICAg eworICAgICAgICAgICAgICAgICdhbHQnOiBGYWxzZSwKKyAgICAgICAgICAgICAgICAnc2hpZnQn OiBUcnVlLAorICAgICAgICAgICAgICAgICdjb250cm9sJzogVHJ1ZSwKKyAgICAgICAgICAgICAg ICAna2V5JzogeworICAgICAgICAgICAgICAgICAgICAna2V5X2NvZGUnOiA4MywKKyAgICAgICAg ICAgICAgICAgICAgJ2NoYXInOiAncycKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9 LAorICAgICAgICAgICAgY2F0ZWdvcnlfbGFiZWw9UFJFRl9MQUJFTF9LRVlCT0FSRF9TSE9SVENV VFMsCisgICAgICAgICAgICBmaWVsZHM9c2hvcnRjdXRfZmllbGRzCisgICAgICAgICkKKworICAg ICAgICBzZWxmLnByZWZlcmVuY2UucmVnaXN0ZXIoCisgICAgICAgICAgICAna2V5Ym9hcmRfc2hv cnRjdXRzJywKKyAgICAgICAgICAgICdnZW5lcmF0ZV9zcWwnLAorICAgICAgICAgICAgZ2V0dGV4 dCgnR2VuZXJhdGUgU1FMJyksCisgICAgICAgICAgICAna2V5Ym9hcmRzaG9ydGN1dCcsCisgICAg ICAgICAgICB7CisgICAgICAgICAgICAgICAgJ2FsdCc6IFRydWUsCisgICAgICAgICAgICAgICAg J3NoaWZ0JzogRmFsc2UsCisgICAgICAgICAgICAgICAgJ2NvbnRyb2wnOiBUcnVlLAorICAgICAg ICAgICAgICAgICdrZXknOiB7CisgICAgICAgICAgICAgICAgICAgICdrZXlfY29kZSc6IDgzLAor ICAgICAgICAgICAgICAgICAgICAnY2hhcic6ICdzJworICAgICAgICAgICAgICAgIH0KKyAgICAg ICAgICAgIH0sCisgICAgICAgICAgICBjYXRlZ29yeV9sYWJlbD1QUkVGX0xBQkVMX0tFWUJPQVJE X1NIT1JUQ1VUUywKKyAgICAgICAgICAgIGZpZWxkcz1zaG9ydGN1dF9maWVsZHMKKyAgICAgICAg KQorCisgICAgICAgIHNlbGYucHJlZmVyZW5jZS5yZWdpc3RlcigKKyAgICAgICAgICAgICdrZXli b2FyZF9zaG9ydGN1dHMnLAorICAgICAgICAgICAgJ2Rvd25sb2FkX2ltYWdlJywKKyAgICAgICAg ICAgIGdldHRleHQoJ0Rvd25sb2FkIGltYWdlJyksCisgICAgICAgICAgICAna2V5Ym9hcmRzaG9y dGN1dCcsCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgJ2FsdCc6IFRydWUsCisgICAg ICAgICAgICAgICAgJ3NoaWZ0JzogRmFsc2UsCisgICAgICAgICAgICAgICAgJ2NvbnRyb2wnOiBU cnVlLAorICAgICAgICAgICAgICAgICdrZXknOiB7CisgICAgICAgICAgICAgICAgICAgICdrZXlf Y29kZSc6IDczLAorICAgICAgICAgICAgICAgICAgICAnY2hhcic6ICdpJworICAgICAgICAgICAg ICAgIH0KKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBjYXRlZ29yeV9sYWJlbD1QUkVGX0xB QkVMX0tFWUJPQVJEX1NIT1JUQ1VUUywKKyAgICAgICAgICAgIGZpZWxkcz1zaG9ydGN1dF9maWVs ZHMKKyAgICAgICAgKQorCisgICAgICAgIHNlbGYucHJlZmVyZW5jZS5yZWdpc3RlcigKKyAgICAg ICAgICAgICdrZXlib2FyZF9zaG9ydGN1dHMnLAorICAgICAgICAgICAgJ2FkZF90YWJsZScsCisg ICAgICAgICAgICBnZXR0ZXh0KCdBZGQgdGFibGUnKSwKKyAgICAgICAgICAgICdrZXlib2FyZHNo b3J0Y3V0JywKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAnYWx0JzogVHJ1ZSwKKyAg ICAgICAgICAgICAgICAnc2hpZnQnOiBGYWxzZSwKKyAgICAgICAgICAgICAgICAnY29udHJvbCc6 IFRydWUsCisgICAgICAgICAgICAgICAgJ2tleSc6IHsKKyAgICAgICAgICAgICAgICAgICAgJ2tl eV9jb2RlJzogNjUsCisgICAgICAgICAgICAgICAgICAgICdjaGFyJzogJ2EnCisgICAgICAgICAg ICAgICAgfQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIGNhdGVnb3J5X2xhYmVsPVBSRUZf TEFCRUxfS0VZQk9BUkRfU0hPUlRDVVRTLAorICAgICAgICAgICAgZmllbGRzPXNob3J0Y3V0X2Zp ZWxkcworICAgICAgICApCisKKyAgICAgICAgc2VsZi5wcmVmZXJlbmNlLnJlZ2lzdGVyKAorICAg ICAgICAgICAgJ2tleWJvYXJkX3Nob3J0Y3V0cycsCisgICAgICAgICAgICAnZWRpdF90YWJsZScs CisgICAgICAgICAgICBnZXR0ZXh0KCdFZGl0IHRhYmxlJyksCisgICAgICAgICAgICAna2V5Ym9h cmRzaG9ydGN1dCcsCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgJ2FsdCc6IFRydWUs CisgICAgICAgICAgICAgICAgJ3NoaWZ0JzogRmFsc2UsCisgICAgICAgICAgICAgICAgJ2NvbnRy b2wnOiBUcnVlLAorICAgICAgICAgICAgICAgICdrZXknOiB7CisgICAgICAgICAgICAgICAgICAg ICdrZXlfY29kZSc6IDY5LAorICAgICAgICAgICAgICAgICAgICAnY2hhcic6ICdlJworICAgICAg ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBjYXRlZ29yeV9sYWJlbD1Q UkVGX0xBQkVMX0tFWUJPQVJEX1NIT1JUQ1VUUywKKyAgICAgICAgICAgIGZpZWxkcz1zaG9ydGN1 dF9maWVsZHMKKyAgICAgICAgKQorCisgICAgICAgIHNlbGYucHJlZmVyZW5jZS5yZWdpc3RlcigK KyAgICAgICAgICAgICdrZXlib2FyZF9zaG9ydGN1dHMnLAorICAgICAgICAgICAgJ2Nsb25lX3Rh YmxlJywKKyAgICAgICAgICAgIGdldHRleHQoJ0Nsb25lIHRhYmxlJyksCisgICAgICAgICAgICAn a2V5Ym9hcmRzaG9ydGN1dCcsCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgJ2FsdCc6 IFRydWUsCisgICAgICAgICAgICAgICAgJ3NoaWZ0JzogRmFsc2UsCisgICAgICAgICAgICAgICAg J2NvbnRyb2wnOiBUcnVlLAorICAgICAgICAgICAgICAgICdrZXknOiB7CisgICAgICAgICAgICAg ICAgICAgICdrZXlfY29kZSc6IDY3LAorICAgICAgICAgICAgICAgICAgICAnY2hhcic6ICdjJwor ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBjYXRlZ29yeV9s YWJlbD1QUkVGX0xBQkVMX0tFWUJPQVJEX1NIT1JUQ1VUUywKKyAgICAgICAgICAgIGZpZWxkcz1z aG9ydGN1dF9maWVsZHMKKyAgICAgICAgKQorCisgICAgICAgIHNlbGYucHJlZmVyZW5jZS5yZWdp c3RlcigKKyAgICAgICAgICAgICdrZXlib2FyZF9zaG9ydGN1dHMnLAorICAgICAgICAgICAgJ2Ry b3BfdGFibGUnLAorICAgICAgICAgICAgZ2V0dGV4dCgnRHJvcCB0YWJsZScpLAorICAgICAgICAg ICAgJ2tleWJvYXJkc2hvcnRjdXQnLAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICdh bHQnOiBUcnVlLAorICAgICAgICAgICAgICAgICdzaGlmdCc6IEZhbHNlLAorICAgICAgICAgICAg ICAgICdjb250cm9sJzogVHJ1ZSwKKyAgICAgICAgICAgICAgICAna2V5JzogeworICAgICAgICAg ICAgICAgICAgICAna2V5X2NvZGUnOiA2OCwKKyAgICAgICAgICAgICAgICAgICAgJ2NoYXInOiAn ZCcKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LAorICAgICAgICAgICAgY2F0ZWdv cnlfbGFiZWw9UFJFRl9MQUJFTF9LRVlCT0FSRF9TSE9SVENVVFMsCisgICAgICAgICAgICBmaWVs ZHM9c2hvcnRjdXRfZmllbGRzCisgICAgICAgICkKKworICAgICAgICBzZWxmLnByZWZlcmVuY2Uu cmVnaXN0ZXIoCisgICAgICAgICAgICAna2V5Ym9hcmRfc2hvcnRjdXRzJywKKyAgICAgICAgICAg ICdhZGRfZWRpdF9ub3RlJywKKyAgICAgICAgICAgIGdldHRleHQoJ0FkZC9FZGl0IG5vdGUnKSwK KyAgICAgICAgICAgICdrZXlib2FyZHNob3J0Y3V0JywKKyAgICAgICAgICAgIHsKKyAgICAgICAg ICAgICAgICAnYWx0JzogVHJ1ZSwKKyAgICAgICAgICAgICAgICAnc2hpZnQnOiBGYWxzZSwKKyAg ICAgICAgICAgICAgICAnY29udHJvbCc6IFRydWUsCisgICAgICAgICAgICAgICAgJ2tleSc6IHsK KyAgICAgICAgICAgICAgICAgICAgJ2tleV9jb2RlJzogNzgsCisgICAgICAgICAgICAgICAgICAg ICdjaGFyJzogJ24nCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwKKyAgICAgICAg ICAgIGNhdGVnb3J5X2xhYmVsPVBSRUZfTEFCRUxfS0VZQk9BUkRfU0hPUlRDVVRTLAorICAgICAg ICAgICAgZmllbGRzPXNob3J0Y3V0X2ZpZWxkcworICAgICAgICApCisKKyAgICAgICAgc2VsZi5w cmVmZXJlbmNlLnJlZ2lzdGVyKAorICAgICAgICAgICAgJ2tleWJvYXJkX3Nob3J0Y3V0cycsCisg ICAgICAgICAgICAnb25lX3RvX21hbnknLAorICAgICAgICAgICAgZ2V0dGV4dCgnT25lIHRvIG1h bnkgbGluaycpLAorICAgICAgICAgICAgJ2tleWJvYXJkc2hvcnRjdXQnLAorICAgICAgICAgICAg eworICAgICAgICAgICAgICAgICdhbHQnOiBUcnVlLAorICAgICAgICAgICAgICAgICdzaGlmdCc6 IEZhbHNlLAorICAgICAgICAgICAgICAgICdjb250cm9sJzogVHJ1ZSwKKyAgICAgICAgICAgICAg ICAna2V5JzogeworICAgICAgICAgICAgICAgICAgICAna2V5X2NvZGUnOiA3OSwKKyAgICAgICAg ICAgICAgICAgICAgJ2NoYXInOiAnbycKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9 LAorICAgICAgICAgICAgY2F0ZWdvcnlfbGFiZWw9UFJFRl9MQUJFTF9LRVlCT0FSRF9TSE9SVENV VFMsCisgICAgICAgICAgICBmaWVsZHM9c2hvcnRjdXRfZmllbGRzCisgICAgICAgICkKKworICAg ICAgICBzZWxmLnByZWZlcmVuY2UucmVnaXN0ZXIoCisgICAgICAgICAgICAna2V5Ym9hcmRfc2hv cnRjdXRzJywKKyAgICAgICAgICAgICdtYW55X3RvX21hbnknLAorICAgICAgICAgICAgZ2V0dGV4 dCgnTWFueSB0byBtYW55IGxpbmsnKSwKKyAgICAgICAgICAgICdrZXlib2FyZHNob3J0Y3V0JywK KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAnYWx0JzogVHJ1ZSwKKyAgICAgICAgICAg ICAgICAnc2hpZnQnOiBGYWxzZSwKKyAgICAgICAgICAgICAgICAnY29udHJvbCc6IFRydWUsCisg ICAgICAgICAgICAgICAgJ2tleSc6IHsKKyAgICAgICAgICAgICAgICAgICAgJ2tleV9jb2RlJzog NzcsCisgICAgICAgICAgICAgICAgICAgICdjaGFyJzogJ20nCisgICAgICAgICAgICAgICAgfQor ICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIGNhdGVnb3J5X2xhYmVsPVBSRUZfTEFCRUxfS0VZ Qk9BUkRfU0hPUlRDVVRTLAorICAgICAgICAgICAgZmllbGRzPXNob3J0Y3V0X2ZpZWxkcworICAg ICAgICApCisKKyAgICAgICAgc2VsZi5wcmVmZXJlbmNlLnJlZ2lzdGVyKAorICAgICAgICAgICAg J2tleWJvYXJkX3Nob3J0Y3V0cycsCisgICAgICAgICAgICAnYXV0b19hbGlnbicsCisgICAgICAg ICAgICBnZXR0ZXh0KCdBdXRvIGFsaWduJyksCisgICAgICAgICAgICAna2V5Ym9hcmRzaG9ydGN1 dCcsCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgJ2FsdCc6IFRydWUsCisgICAgICAg ICAgICAgICAgJ3NoaWZ0JzogRmFsc2UsCisgICAgICAgICAgICAgICAgJ2NvbnRyb2wnOiBUcnVl LAorICAgICAgICAgICAgICAgICdrZXknOiB7CisgICAgICAgICAgICAgICAgICAgICdrZXlfY29k ZSc6IDc2LAorICAgICAgICAgICAgICAgICAgICAnY2hhcic6ICdsJworICAgICAgICAgICAgICAg IH0KKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBjYXRlZ29yeV9sYWJlbD1QUkVGX0xBQkVM X0tFWUJPQVJEX1NIT1JUQ1VUUywKKyAgICAgICAgICAgIGZpZWxkcz1zaG9ydGN1dF9maWVsZHMK KyAgICAgICAgKQorCisgICAgICAgIHNlbGYucHJlZmVyZW5jZS5yZWdpc3RlcigKKyAgICAgICAg ICAgICdrZXlib2FyZF9zaG9ydGN1dHMnLAorICAgICAgICAgICAgJ3pvb21fdG9fZml0JywKKyAg ICAgICAgICAgIGdldHRleHQoJ1pvb20gdG8gZml0JyksCisgICAgICAgICAgICAna2V5Ym9hcmRz aG9ydGN1dCcsCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgJ2FsdCc6IFRydWUsCisg ICAgICAgICAgICAgICAgJ3NoaWZ0JzogVHJ1ZSwKKyAgICAgICAgICAgICAgICAnY29udHJvbCc6 IEZhbHNlLAorICAgICAgICAgICAgICAgICdrZXknOiB7CisgICAgICAgICAgICAgICAgICAgICdr ZXlfY29kZSc6IDcwLAorICAgICAgICAgICAgICAgICAgICAnY2hhcic6ICdmJworICAgICAgICAg ICAgICAgIH0KKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBjYXRlZ29yeV9sYWJlbD1QUkVG X0xBQkVMX0tFWUJPQVJEX1NIT1JUQ1VUUywKKyAgICAgICAgICAgIGZpZWxkcz1zaG9ydGN1dF9m aWVsZHMKKyAgICAgICAgKQorCisgICAgICAgIHNlbGYucHJlZmVyZW5jZS5yZWdpc3RlcigKKyAg ICAgICAgICAgICdrZXlib2FyZF9zaG9ydGN1dHMnLAorICAgICAgICAgICAgJ3pvb21faW4nLAor ICAgICAgICAgICAgZ2V0dGV4dCgnWm9vbSBpbicpLAorICAgICAgICAgICAgJ2tleWJvYXJkc2hv cnRjdXQnLAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICdhbHQnOiBUcnVlLAorICAg ICAgICAgICAgICAgICdzaGlmdCc6IFRydWUsCisgICAgICAgICAgICAgICAgJ2NvbnRyb2wnOiBG YWxzZSwKKyAgICAgICAgICAgICAgICAna2V5JzogeworICAgICAgICAgICAgICAgICAgICAna2V5 X2NvZGUnOiAxODcsCisgICAgICAgICAgICAgICAgICAgICdjaGFyJzogJysnCisgICAgICAgICAg ICAgICAgfQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIGNhdGVnb3J5X2xhYmVsPVBSRUZf TEFCRUxfS0VZQk9BUkRfU0hPUlRDVVRTLAorICAgICAgICAgICAgZmllbGRzPXNob3J0Y3V0X2Zp ZWxkcworICAgICAgICApCisKKyAgICAgICAgc2VsZi5wcmVmZXJlbmNlLnJlZ2lzdGVyKAorICAg ICAgICAgICAgJ2tleWJvYXJkX3Nob3J0Y3V0cycsCisgICAgICAgICAgICAnem9vbV9vdXQnLAor ICAgICAgICAgICAgZ2V0dGV4dCgnWm9vbSBvdXQnKSwKKyAgICAgICAgICAgICdrZXlib2FyZHNo b3J0Y3V0JywKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAnYWx0JzogVHJ1ZSwKKyAg ICAgICAgICAgICAgICAnc2hpZnQnOiBUcnVlLAorICAgICAgICAgICAgICAgICdjb250cm9sJzog RmFsc2UsCisgICAgICAgICAgICAgICAgJ2tleSc6IHsKKyAgICAgICAgICAgICAgICAgICAgJ2tl eV9jb2RlJzogMTg5LAorICAgICAgICAgICAgICAgICAgICAnY2hhcic6ICctJworICAgICAgICAg ICAgICAgIH0KKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBjYXRlZ29yeV9sYWJlbD1QUkVG X0xBQkVMX0tFWUJPQVJEX1NIT1JUQ1VUUywKKyAgICAgICAgICAgIGZpZWxkcz1zaG9ydGN1dF9m aWVsZHMKKyAgICAgICAgKQorCisKK2JsdWVwcmludCA9IEVSRE1vZHVsZShNT0RVTEVfTkFNRSwg X19uYW1lX18sIHN0YXRpY191cmxfcGF0aD0nL3N0YXRpYycpCisKKworQGJsdWVwcmludC5yb3V0 ZSgKKyAgICAnL3BhbmVsLzxpbnQ6dHJhbnNfaWQ+JywKKyAgICBtZXRob2RzPVsiUE9TVCJdLAor ICAgIGVuZHBvaW50PSdwYW5lbCcKKykKK0Bsb2dpbl9yZXF1aXJlZAorZGVmIHBhbmVsKHRyYW5z X2lkKToKKyAgICAiIiIKKyAgICBUaGlzIG1ldGhvZCBjYWxscyBpbmRleC5odG1sIHRvIHJlbmRl ciB0aGUgc2NoZW1hIGRpZmYuCisKKyAgICBBcmdzOgorICAgICAgICBwYW5lbF90aXRsZTogVGl0 bGUgb2YgdGhlIHBhbmVsCisgICAgIiIiCisKKyAgICBwYXJhbXMgPSB7CisgICAgICAgICd0cmFu c19pZCc6IHRyYW5zX2lkLAorICAgICAgICAndGl0bGUnOiByZXF1ZXN0LmZvcm1bJ3RpdGxlJ10K KyAgICB9CisgICAgaWYgcmVxdWVzdC5hcmdzOgorICAgICAgICBwYXJhbXMudXBkYXRlKHtrOiB2 IGZvciBrLCB2IGluIHJlcXVlc3QuYXJncy5pdGVtcygpfSkKKworICAgIGlmICdnZW4nIGluIHBh cmFtczoKKyAgICAgICAgcGFyYW1zWydnZW4nXSA9IFRydWUgaWYgcGFyYW1zWydnZW4nXSA9PSAn dHJ1ZScgZWxzZSBGYWxzZQorCisgICAgY2xvc2VfdXJsID0gcmVxdWVzdC5mb3JtWydjbG9zZV91 cmwnXQorCisgICAgIyBXZSBuZWVkIGNsaWVudCBPUyBpbmZvcm1hdGlvbiB0byByZW5kZXIgY29y cmVjdCBLZXlib2FyZCBzaG9ydGN1dHMKKyAgICB1c2VyX2FnZW50ID0gVXNlckFnZW50KHJlcXVl c3QuaGVhZGVycy5nZXQoJ1VzZXItQWdlbnQnKSkKKworICAgICIiIgorICAgIEFuaW1hdGlvbnMg YW5kIHRyYW5zaXRpb25zIGFyZSBub3QgYXV0b21hdGljYWxseSBHUFUgYWNjZWxlcmF0ZWQgYW5k IGJ5CisgICAgZGVmYXVsdCB1c2UgYnJvd3NlcidzIHNsb3cgcmVuZGVyaW5nIGVuZ2luZS4gV2Ug bmVlZCB0byBzZXQgJ3RyYW5zbGF0ZTNkJworICAgIHZhbHVlIG9mICctd2Via2l0LXRyYW5zZm9y bScgcHJvcGVydHkgaW4gb3JkZXIgdG8gdXNlIEdQVS4gQWZ0ZXIgYXBwbHlpbmcKKyAgICB0aGlz IHByb3BlcnR5IHVuZGVyIGxpbnV4LCBXZWJraXQgY2FsY3VsYXRlcyB3cm9uZyBwb3NpdGlvbiBv ZiB0aGUKKyAgICBlbGVtZW50cyBzbyBwYW5lbCBjb250ZW50cyBhcmUgbm90IHZpc2libGUuIFRv IG1ha2UgaXQgd29yaywgd2UgbmVlZCB0bworICAgIGV4cGxpY2l0bHkgc2V0ICctd2Via2l0LXRy YW5zZm9ybScgcHJvcGVydHkgdG8gJ25vbmUnIGZvciAuYWpzLW5vdGlmaWVyLAorICAgIC5hanMt bWVzc2FnZSwgLmFqcy1tb2RhbCBjbGFzc2VzLgorCisgICAgVGhpcyBpc3N1ZSBpcyBvbmx5IHdp dGggbGludXggcnVudGltZSBhcHBsaWNhdGlvbiBhbmQgb2JzZXJ2ZWQgaW4gUXVlcnkKKyAgICB0 b29sIGFuZCBkZWJ1Z2dlci4gV2hlbiB3ZSBvcGVuICdPcGVuIEZpbGUnIGRpYWxvZyB0aGVuIHdo b2xlIFF1ZXJ5IHRvb2wKKyAgICBwYW5lbCBjb250ZW50IGlzIG5vdCB2aXNpYmxlIHRob3VnaCBp dCBjb250YWlucyBIVE1MIGVsZW1lbnQgaW4gYmFjayBlbmQuCisKKyAgICBUaGUgcG9ydCBudW1i ZXIgc2hvdWxkIGhhdmUgYWxyZWFkeSBiZWVuIHNldCBieSB0aGUgcnVudGltZSBpZiB3ZSdyZQor ICAgIHJ1bm5pbmcgaW4gZGVza3RvcCBtb2RlLgorICAgICIiIgorICAgIGlzX2xpbnV4X3BsYXRm b3JtID0gRmFsc2UKKworICAgIGZyb20gc3lzIGltcG9ydCBwbGF0Zm9ybSBhcyBfcGxhdGZvcm0K KyAgICBpZiAibGludXgiIGluIF9wbGF0Zm9ybToKKyAgICAgICAgaXNfbGludXhfcGxhdGZvcm0g PSBUcnVlCisKKyAgICBzID0gU2VydmVyLnF1ZXJ5LmZpbHRlcl9ieShpZD1wYXJhbXNbJ3NpZCdd KS5maXJzdCgpCisKKyAgICBwYXJhbXMudXBkYXRlKHsKKyAgICAgICAgJ2JnY29sb3InOiBzLmJn Y29sb3IsCisgICAgICAgICdmZ2NvbG9yJzogcy5mZ2NvbG9yLAorICAgICAgICAnY2xpZW50X3Bs YXRmb3JtJzogdXNlcl9hZ2VudC5wbGF0Zm9ybSwKKyAgICAgICAgJ2lzX2Rlc2t0b3BfbW9kZSc6 IGFwcC5QR0FETUlOX1JVTlRJTUUsCisgICAgICAgICdpc19saW51eCc6IGlzX2xpbnV4X3BsYXRm b3JtCisgICAgfSkKKworICAgIHJldHVybiByZW5kZXJfdGVtcGxhdGUoCisgICAgICAgICJlcmQv aW5kZXguaHRtbCIsCisgICAgICAgIHRpdGxlPXVuZGVyc2NvcmVfdW5lc2NhcGUocGFyYW1zWyd0 aXRsZSddKSwKKyAgICAgICAgY2xvc2VfdXJsPWNsb3NlX3VybCwKKyAgICAgICAgcGFyYW1zPWpz b24uZHVtcHMocGFyYW1zKSwKKyAgICApCisKKworQGJsdWVwcmludC5yb3V0ZSgKKyAgICAnL2lu aXRpYWxpemUvPGludDp0cmFuc19pZD4vPGludDpzZ2lkPi88aW50OnNpZD4vPGludDpkaWQ+JywK KyAgICBtZXRob2RzPVsiUE9TVCJdLCBlbmRwb2ludD0naW5pdGlhbGl6ZScKKykKK0Bsb2dpbl9y ZXF1aXJlZAorZGVmIGluaXRpYWxpemVfZXJkKHRyYW5zX2lkLCBzZ2lkLCBzaWQsIGRpZCk6Cisg ICAgIiIiCisgICAgVGhpcyBtZXRob2QgaXMgcmVzcG9uc2libGUgZm9yIGluc3RhbnRpYXRpbmcg YW5kIGluaXRpYWxpemluZworICAgIHRoZSBlcmQgdG9vbCBvYmplY3QuIEl0IHdpbGwgYWxzbyBj cmVhdGUgYSB1bmlxdWUKKyAgICB0cmFuc2FjdGlvbiBpZCBhbmQgc3RvcmUgdGhlIGluZm9ybWF0 aW9uIGludG8gc2Vzc2lvbiB2YXJpYWJsZS4KKworICAgIEFyZ3M6CisgICAgICAgIHNnaWQ6IFNl cnZlciBncm91cCBJZAorICAgICAgICBzaWQ6IFNlcnZlciBJZAorICAgICAgICBkaWQ6IERhdGFi YXNlIElkCisgICAgIiIiCisgICAgY29ubmVjdCA9IFRydWUKKyAgICAjIFJlYWQgdGhlIGRhdGEg aWYgcHJlc2VudC4gU2tpcHBpbmcgcmVhZCBtYXkgY2F1c2UgY29ubmVjdGlvbgorICAgICMgcmVz ZXQgZXJyb3IgaWYgZGF0YSBpcyBzZW50IGZyb20gdGhlIGNsaWVudAorICAgIGlmIHJlcXVlc3Qu ZGF0YToKKyAgICAgICAgXyA9IHJlcXVlc3QuZGF0YQorCisgICAgIyByZXFfYXJncyA9IHJlcXVl c3QuYXJncworICAgICMgaWYgKCdyZWNyZWF0ZScgaW4gcmVxX2FyZ3MgYW5kCisgICAgIyAgICAg cmVxX2FyZ3NbJ3JlY3JlYXRlJ10gPT0gJzEnKToKKyAgICAjICAgICBjb25uZWN0ID0gRmFsc2UK KworICAgIGNvbm4gPSBfZ2V0X2Nvbm5lY3Rpb24oc2lkLCBkaWQsIHRyYW5zX2lkKQorCisgICAg cmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKKyAgICAgICAgZGF0YT17CisgICAgICAgICAgICAn Y29ubklkJzogc3RyKHRyYW5zX2lkKSwKKyAgICAgICAgICAgICdzZXJ2ZXJWZXJzaW9uJzogY29u bi5tYW5hZ2VyLnZlcnNpb24sCisgICAgICAgIH0KKyAgICApCisKKworZGVmIF9nZXRfY29ubmVj dGlvbihzaWQsIGRpZCwgdHJhbnNfaWQpOgorICAgICIiIgorICAgIEdldCB0aGUgY29ubmVjdGlv biBvYmplY3Qgb2YgRVJELgorICAgIDpwYXJhbSBzaWQ6CisgICAgOnBhcmFtIGRpZDoKKyAgICA6 cGFyYW0gdHJhbnNfaWQ6CisgICAgOnJldHVybjoKKyAgICAiIiIKKyAgICBtYW5hZ2VyID0gZ2V0 X2RyaXZlcihQR19ERUZBVUxUX0RSSVZFUikuY29ubmVjdGlvbl9tYW5hZ2VyKHNpZCkKKyAgICB0 cnk6CisgICAgICAgIGNvbm4gPSBtYW5hZ2VyLmNvbm5lY3Rpb24oZGlkPWRpZCwgY29ubl9pZD10 cmFuc19pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvX3JlY29ubmVj dD1UcnVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZV9iaW5hcnlfcGxh Y2Vob2xkZXI9VHJ1ZSkKKyAgICAgICAgc3RhdHVzLCBtc2cgPSBjb25uLmNvbm5lY3QoKQorICAg ICAgICBpZiBub3Qgc3RhdHVzOgorICAgICAgICAgICAgYXBwLmxvZ2dlci5lcnJvcihtc2cpCisg ICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPXN0cihtc2cp KQorCisgICAgICAgIHJldHVybiBjb25uCisgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAg ICAgICBhcHAubG9nZ2VyLmVycm9yKGUpCisgICAgICAgIHJhaXNlCisKKworQGJsdWVwcmludC5y b3V0ZSgnL3ByZXF1aXNpdGUvPGludDp0cmFuc19pZD4vPGludDpzZ2lkPi88aW50OnNpZD4vPGlu dDpkaWQ+JywKKyAgICAgICAgICAgICAgICAgbWV0aG9kcz1bIkdFVCJdLAorICAgICAgICAgICAg ICAgICBlbmRwb2ludD0ncHJlcXVpc2l0ZScpCitAbG9naW5fcmVxdWlyZWQKK2RlZiBwcmVxdWlz aXRlKHRyYW5zX2lkLCBzZ2lkLCBzaWQsIGRpZCk6CisgICAgY29ubiA9IF9nZXRfY29ubmVjdGlv bihzaWQsIGRpZCwgdHJhbnNfaWQpCisgICAgaGVscGVyID0gRVJESGVscGVyKHRyYW5zX2lkLCBz aWQsIGRpZCkKKyAgICBzdGF0dXMsIGNvbF90eXBlcyA9IGhlbHBlci5nZXRfdHlwZXMoKQorCisg ICAgaWYgbm90IHN0YXR1czoKKyAgICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihl cnJvcm1zZz1jb2xfdHlwZXMpCisKKyAgICBzdGF0dXMsIHNjaGVtYXMgPSBnZXRfc2NoZW1hcyhj b25uLCBzaG93X3N5c3RlbV9vYmplY3RzPUZhbHNlKQorCisgICAgaWYgbm90IHN0YXR1czoKKyAg ICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1zY2hlbWFzKQorCisg ICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKKyAgICAgICAgZGF0YT17CisgICAgICAgICAg ICAnY29sX3R5cGVzJzogY29sX3R5cGVzLAorICAgICAgICAgICAgJ3NjaGVtYXMnOiBzY2hlbWFz Wydyb3dzJ10KKyAgICAgICAgfSwKKyAgICAgICAgc3RhdHVzPTIwMAorICAgICkKKworCitAYmx1 ZXByaW50LnJvdXRlKCcvc3FsLzxpbnQ6dHJhbnNfaWQ+LzxpbnQ6c2dpZD4vPGludDpzaWQ+Lzxp bnQ6ZGlkPicsCisgICAgICAgICAgICAgICAgIG1ldGhvZHM9WyJQT1NUIl0sCisgICAgICAgICAg ICAgICAgIGVuZHBvaW50PSdzcWwnKQorQGxvZ2luX3JlcXVpcmVkCitkZWYgc3FsKHRyYW5zX2lk LCBzZ2lkLCBzaWQsIGRpZCk6CisgICAgZGF0YSA9IGpzb24ubG9hZHMocmVxdWVzdC5kYXRhLCBl bmNvZGluZz0ndXRmLTgnKQorICAgIGhlbHBlciA9IEVSREhlbHBlcih0cmFuc19pZCwgc2lkLCBk aWQpCisgICAgY29ubiA9IF9nZXRfY29ubmVjdGlvbihzaWQsIGRpZCwgdHJhbnNfaWQpCisKKyAg ICBzcWwgPSAnJworICAgIGZvciB0YWJfa2V5LCB0YWJfZGF0YSBpbiBkYXRhLmdldCgnbm9kZXMn LCB7fSkuaXRlbXMoKToKKyAgICAgICAgc3FsICs9ICdcblxuJyArIGhlbHBlci5nZXRfdGFibGVf c3FsKHRhYl9kYXRhKQorCisgICAgZm9yIGxpbmtfa2V5LCBsaW5rX2RhdGEgaW4gZGF0YS5nZXQo J2xpbmtzJywge30pLml0ZW1zKCk6CisgICAgICAgIGxpbmtfc3FsLCBuYW1lID0gZmtleV91dGls cy5nZXRfc3FsKGNvbm4sIGxpbmtfZGF0YSwgTm9uZSkKKyAgICAgICAgc3FsICs9ICdcblxuJyAr IGxpbmtfc3FsCisKKyAgICByZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNlKAorICAgICAgICBkYXRh PXNxbCwKKyAgICAgICAgc3RhdHVzPTIwMAorICAgICkKKworCitAYmx1ZXByaW50LnJvdXRlKCcv dGFibGVzLzxpbnQ6dHJhbnNfaWQ+LzxpbnQ6c2dpZD4vPGludDpzaWQ+LzxpbnQ6ZGlkPicsCisg ICAgICAgICAgICAgICAgIG1ldGhvZHM9WyJHRVQiXSwKKyAgICAgICAgICAgICAgICAgZW5kcG9p bnQ9J3RhYmxlcycpCitAbG9naW5fcmVxdWlyZWQKK2RlZiB0YWJsZXModHJhbnNfaWQsIHNnaWQs IHNpZCwgZGlkKToKKyAgICBoZWxwZXIgPSBFUkRIZWxwZXIodHJhbnNfaWQsIHNpZCwgZGlkKQor ICAgIHN0YXR1cywgdGFibGVzID0gaGVscGVyLmdldF9hbGxfdGFibGVzKCkKKworICAgIGlmIG5v dCBzdGF0dXM6CisgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9 dGFibGVzKQorCisgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKKyAgICAgICAgZGF0YT10 YWJsZXMsCisgICAgICAgIHN0YXR1cz0yMDAKKyAgICApCisKKworQGJsdWVwcmludC5yb3V0ZSgn L2Nsb3NlLzxpbnQ6dHJhbnNfaWQ+LzxpbnQ6c2dpZD4vPGludDpzaWQ+LzxpbnQ6ZGlkPicsCisg ICAgICAgICAgICAgICAgIG1ldGhvZHM9WyJERUxFVEUiXSwKKyAgICAgICAgICAgICAgICAgZW5k cG9pbnQ9J2Nsb3NlJykKK0Bsb2dpbl9yZXF1aXJlZAorZGVmIGNsb3NlKHRyYW5zX2lkLCBzZ2lk LCBzaWQsIGRpZCk6CisgICAgbWFuYWdlciA9IGdldF9kcml2ZXIoCisgICAgICAgIFBHX0RFRkFV TFRfRFJJVkVSKS5jb25uZWN0aW9uX21hbmFnZXIoc2lkKQorICAgIGlmIG1hbmFnZXIgaXMgbm90 IE5vbmU6CisgICAgICAgIGNvbm4gPSBtYW5hZ2VyLmNvbm5lY3Rpb24oZGlkPWRpZCwgY29ubl9p ZD10cmFuc19pZCkKKworICAgICAgICAjIFJlbGVhc2UgdGhlIGNvbm5lY3Rpb24KKyAgICAgICAg aWYgY29ubi5jb25uZWN0ZWQoKToKKyAgICAgICAgICAgIGNvbm4uY2FuY2VsX3RyYW5zYWN0aW9u KHRyYW5zX2lkLCBkaWQ9ZGlkKQorICAgICAgICAgICAgbWFuYWdlci5yZWxlYXNlKGRpZD1kaWQs IGNvbm5faWQ9dHJhbnNfaWQpCisgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZShkYXRhPXsn c3RhdHVzJzogVHJ1ZX0pCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGlj L2pzL2VyZF9tb2R1bGUuanMgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pzL2VyZF9t b2R1bGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4xMjkxODMzZGUK LS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pzL2VyZF9t b2R1bGUuanMKQEAgLTAsMCArMSwyMTUgQEAKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyBwZ0FkbWluIDQgLSBQb3N0 Z3JlU1FMIFRvb2xzCisvLworLy8gQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAyMCwgVGhlIHBnQWRt aW4gRGV2ZWxvcG1lbnQgVGVhbQorLy8gVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0 aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisvLworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworaW1wb3J0IEFsZXJ0aWZ5IGZyb20g J3BnYWRtaW4uYWxlcnRpZnlqcyc7CitpbXBvcnQge2dldFRyZWVOb2RlSGllcmFyY2h5RnJvbUlk ZW50aWZpZXJ9IGZyb20gJ3NvdXJjZXMvdHJlZS9wZ2FkbWluX3RyZWVfbm9kZSc7CitpbXBvcnQg e2dldFBhbmVsVGl0bGV9IGZyb20gJ3Rvb2xzL2RhdGFncmlkL3N0YXRpYy9qcy9kYXRhZ3JpZF9w YW5lbF90aXRsZSc7CitpbXBvcnQge2dldFJhbmRvbUludH0gZnJvbSAnc291cmNlcy91dGlscyc7 CisKKworZXhwb3J0IGZ1bmN0aW9uIHNldFBhbmVsVGl0bGUoZXJkVG9vbFBhbmVsLCBwYW5lbFRp dGxlKSB7CisgIGVyZFRvb2xQYW5lbC50aXRsZSgnPHNwYW4gdGl0bGU9IicrcGFuZWxUaXRsZSsn Ij4nK3BhbmVsVGl0bGUrJzwvc3Bhbj4nKTsKK30KKworZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxp emUoZ2V0dGV4dCwgdXJsX2ZvciwgJCwgXywgcGdBZG1pbiwgY3NyZlRva2VuLCBwZ0Jyb3dzZXIs IHdjRG9ja2VyKSB7CisgIC8qIFJldHVybiBiYWNrLCB0aGlzIGhhcyBiZWVuIGNhbGxlZCBtb3Jl IHRoYW4gb25jZSAqLworICBpZiAocGdCcm93c2VyLmVyZCkKKyAgICByZXR1cm4gcGdCcm93c2Vy LmVyZDsKKworICBwZ0Jyb3dzZXIuZXJkID0geworICAgIGluaXQ6IGZ1bmN0aW9uKCkgeworICAg ICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpCisgICAgICAgIHJldHVybjsKKworICAgICAgdGhpcy5p bml0aWFsaXplZCA9IHRydWU7CisgICAgICBjc3JmVG9rZW4uc2V0UEdDU1JGVG9rZW4ocGdBZG1p bi5jc3JmX3Rva2VuX2hlYWRlciwgcGdBZG1pbi5jc3JmX3Rva2VuKTsKKworCisgICAgICAvLyBE ZWZpbmUgdGhlIG5vZGVzIG9uIHdoaWNoIHRoZSBtZW51cyB0byBiZSBhcHBlYXIKKyAgICAgIHZh ciBtZW51cyA9IFt7CisgICAgICAgIG5hbWU6ICdlcmQnLAorICAgICAgICBtb2R1bGU6IHRoaXMs CisgICAgICAgIGFwcGxpZXM6IFsndG9vbHMnXSwKKyAgICAgICAgY2FsbGJhY2s6ICdzaG93RXJk VG9vbCcsCisgICAgICAgIHByaW9yaXR5OiAxLAorICAgICAgICBsYWJlbDogZ2V0dGV4dCgnTmV3 IEVSRCBwcm9qZWN0KEJldGEpLi4uJyksCisgICAgICAgIGVuYWJsZTogdGhpcy5lcmRUb29sRW5h YmxlZCwKKyAgICAgIH1dOworCisgICAgICBwZ0Jyb3dzZXIuYWRkX21lbnVzKG1lbnVzKTsKKwor ICAgICAgLy8gQ3JlYXRpbmcgYSBuZXcgcGdCcm93c2VyIGZyYW1lIHRvIHNob3cgdGhlIGRhdGEu CisgICAgICB2YXIgZXJkRnJhbWVUeXBlID0gbmV3IHBnQnJvd3Nlci5GcmFtZSh7CisgICAgICAg IG5hbWU6ICdmcm1fZXJkdG9vbCcsCisgICAgICAgIHNob3dUaXRsZTogdHJ1ZSwKKyAgICAgICAg aXNDbG9zZWFibGU6IHRydWUsCisgICAgICAgIGlzUHJpdmF0ZTogdHJ1ZSwKKyAgICAgICAgdXJs OiAnYWJvdXQ6YmxhbmsnLAorICAgICAgfSk7CisKKyAgICAgIGxldCBzZWxmID0gdGhpczsKKyAg ICAgIC8qIENhY2hlIG1heSB0YWtlIHRpbWUgdG8gbG9hZCBmb3IgdGhlIGZpcnN0IHRpbWUKKyAg ICAgICAqIEtlZXAgdHJ5aW5nIHRpbGwgYXZhaWxhYmxlCisgICAgICAgKi8KKyAgICAgIGxldCBj YWNoZUludGVydmFsSWQgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsKKyAgICAgICAgaWYocGdC cm93c2VyLnByZWZlcmVuY2VfdmVyc2lvbigpID4gMCkgeworICAgICAgICAgIHNlbGYucHJlZmVy ZW5jZXMgPSBwZ0Jyb3dzZXIuZ2V0X3ByZWZlcmVuY2VzX2Zvcl9tb2R1bGUoJ2VyZCcpOworICAg ICAgICAgIGNsZWFySW50ZXJ2YWwoY2FjaGVJbnRlcnZhbElkKTsKKyAgICAgICAgfQorICAgICAg fSwwKTsKKworICAgICAgcGdCcm93c2VyLm9uUHJlZmVyZW5jZXNDaGFuZ2UoJ2VyZCcsIGZ1bmN0 aW9uKCkgeworICAgICAgICBzZWxmLnByZWZlcmVuY2VzID0gcGdCcm93c2VyLmdldF9wcmVmZXJl bmNlc19mb3JfbW9kdWxlKCdlcmQnKTsKKyAgICAgIH0pOworCisgICAgICAvLyBMb2FkIHRoZSBu ZXdseSBjcmVhdGVkIGZyYW1lCisgICAgICBlcmRGcmFtZVR5cGUubG9hZChwZ0Jyb3dzZXIuZG9j a2VyKTsKKyAgICAgIHJldHVybiB0aGlzOworICAgIH0sCisKKyAgICBlcmRUb29sRW5hYmxlZDog ZnVuY3Rpb24ob2JqKSB7CisgICAgICAvKiBTYW1lIGFzIHF1ZXJ5IHRvb2wgKi8KKyAgICAgIHZh ciBpc0VuYWJsZWQgPSAoKCkgPT4geworICAgICAgICBpZiAoIV8uaXNVbmRlZmluZWQob2JqKSAm JiAhXy5pc051bGwob2JqKSkgeworICAgICAgICAgIGlmIChfLmluZGV4T2YocGdBZG1pbi51bnN1 cHBvcnRlZF9ub2Rlcywgb2JqLl90eXBlKSA9PSAtMSkgeworICAgICAgICAgICAgaWYgKG9iai5f dHlwZSA9PSAnZGF0YWJhc2UnICYmIG9iai5hbGxvd0Nvbm4pIHsKKyAgICAgICAgICAgICAgcmV0 dXJuIHRydWU7CisgICAgICAgICAgICB9IGVsc2UgaWYgKG9iai5fdHlwZSAhPSAnZGF0YWJhc2Un KSB7CisgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgfSBlbHNlIHsKKyAg ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgfQorICAgICAgICAgIH0gZWxz ZSB7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgfQorICAgICAgICB9IGVs c2UgeworICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgICAgfSkoKTsKKyAg ICAgIHJldHVybiBpc0VuYWJsZWQ7CisgICAgfSwKKworICAgIC8vIENhbGxiYWNrIHRvIGRyYXcg c2NoZW1hIGRpZmYgZm9yIG9iamVjdHMKKyAgICBzaG93RXJkVG9vbDogZnVuY3Rpb24oZGF0YSwg YWNpVHJlZUlkZW50aWZpZXIsIGdlbj1mYWxzZSkgeworICAgICAgY29uc3Qgbm9kZSA9IHBnQnJv d3Nlci50cmVlTWVudS5maW5kTm9kZUJ5RG9tRWxlbWVudChhY2lUcmVlSWRlbnRpZmllcik7Cisg ICAgICBpZiAobm9kZSA9PT0gdW5kZWZpbmVkIHx8ICFub2RlLmdldERhdGEoKSkgeworICAgICAg ICBBbGVydGlmeS5hbGVydCgKKyAgICAgICAgICBnZXR0ZXh0KCdFUkQgRXJyb3InKSwKKyAgICAg ICAgICBnZXR0ZXh0KCdObyBvYmplY3Qgc2VsZWN0ZWQuJykKKyAgICAgICAgKTsKKyAgICAgICAg cmV0dXJuOworICAgICAgfQorCisgICAgICBjb25zdCBwYXJlbnREYXRhID0gZ2V0VHJlZU5vZGVI aWVyYXJjaHlGcm9tSWRlbnRpZmllci5jYWxsKAorICAgICAgICBwZ0Jyb3dzZXIsCisgICAgICAg IGFjaVRyZWVJZGVudGlmaWVyCisgICAgICApOworCisgICAgICBpZihfLmlzVW5kZWZpbmVkKHBh cmVudERhdGEuZGF0YWJhc2UpKSB7CisgICAgICAgIEFsZXJ0aWZ5LmFsZXJ0KAorICAgICAgICAg IGdldHRleHQoJ0VSRCBFcnJvcicpLAorICAgICAgICAgIGdldHRleHQoJ1BsZWFzZSBzZWxlY3Qg YSBkYXRhYmFzZS9kYXRhYmFzZSBvYmplY3QuJykKKyAgICAgICAgKTsKKyAgICAgICAgcmV0dXJu OworICAgICAgfQorCisgICAgICBjb25zdCB0cmFuc0lkID0gZ2V0UmFuZG9tSW50KDEsIDk5OTk5 OTkpOworICAgICAgY29uc3QgcGFuZWxUaXRsZSA9IGdldFBhbmVsVGl0bGUocGdCcm93c2VyLCBh Y2lUcmVlSWRlbnRpZmllcik7CisgICAgICBjb25zdCBbcGFuZWxVcmwsIHBhbmVsQ2xvc2VVcmxd ID0gdGhpcy5nZXRQYW5lbFVybHModHJhbnNJZCwgcGFuZWxUaXRsZSwgcGFyZW50RGF0YSwgZ2Vu KTsKKworICAgICAgbGV0IHNlbGYgPSB0aGlzOworICAgICAgbGV0IGVyZFRvb2xGb3JtID0gYAor ICAgICAgICA8Zm9ybSBpZD0iZXJkVG9vbEZvcm0iIGFjdGlvbj0iJHtwYW5lbFVybH0iIG1ldGhv ZD0icG9zdCI+CisgICAgICAgICAgPGlucHV0IGlkPSJ0aXRsZSIgbmFtZT0idGl0bGUiIGhpZGRl biAvPgorICAgICAgICAgIDxpbnB1dCBuYW1lPSJjbG9zZV91cmwiIHZhbHVlPSIke3BhbmVsQ2xv c2VVcmx9IiBoaWRkZW4gLz4KKyAgICAgICAgPC9mb3JtPgorICAgICAgICA8c2NyaXB0PgorICAg ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0aXRsZSIpLnZhbHVlID0gIiR7Xy5lc2Nh cGUocGFuZWxUaXRsZSl9IjsKKyAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZXJk VG9vbEZvcm0iKS5zdWJtaXQoKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICBgOworCisgICAg ICBpZiAoc2VsZi5wcmVmZXJlbmNlcy5uZXdfYnJvd3Nlcl90YWIpIHsKKyAgICAgICAgdmFyIG5l d1dpbiA9IHdpbmRvdy5vcGVuKCcnLCAnX2JsYW5rJyk7CisgICAgICAgIG5ld1dpbi5kb2N1bWVu dC53cml0ZShlcmRUb29sRm9ybSk7CisgICAgICAgIG5ld1dpbi5kb2N1bWVudC50aXRsZSA9IHBh bmVsVGl0bGU7CisgICAgICB9IGVsc2UgeworICAgICAgICAvKiBPbiBzdWNjZXNzZnVsbHkgaW5p dGlhbGl6YXRpb24gZmluZCB0aGUgZGFzaGJvYXJkIHBhbmVsLAorICAgICAgICAgKiBjcmVhdGUg bmV3IHBhbmVsIGFuZCBhZGQgaXQgdG8gdGhlIGRhc2hib2FyZCBwYW5lbC4KKyAgICAgICAgICov CisgICAgICAgIHZhciBwcm9wZXJ0aWVzUGFuZWwgPSBwZ0Jyb3dzZXIuZG9ja2VyLmZpbmRQYW5l bHMoJ3Byb3BlcnRpZXMnKTsKKyAgICAgICAgdmFyIGVyZFRvb2xQYW5lbCA9IHBnQnJvd3Nlci5k b2NrZXIuYWRkUGFuZWwoJ2ZybV9lcmR0b29sJywgd2NEb2NrZXIuRE9DSy5TVEFDS0VELCBwcm9w ZXJ0aWVzUGFuZWxbMF0pOworCisgICAgICAgIC8vIFNldCBwYW5lbCB0aXRsZSBhbmQgaWNvbgor ICAgICAgICBzZXRQYW5lbFRpdGxlKGVyZFRvb2xQYW5lbCwgJ1VudGl0bGVkJyk7CisgICAgICAg IGVyZFRvb2xQYW5lbC5pY29uKCdmYSBmYS1zaXRlbWFwJyk7CisgICAgICAgIGVyZFRvb2xQYW5l bC5mb2N1cygpOworCisgICAgICAgIC8vIExpc3RlbiBvbiB0aGUgcGFuZWwgY2xvc2VkIGV2ZW50 LgorICAgICAgICBlcmRUb29sUGFuZWwub24od2NEb2NrZXIuRVZFTlQuQ0xPU0VELCBmdW5jdGlv bigpIHsKKyAgICAgICAgICAkLmFqYXgoeworICAgICAgICAgICAgdXJsOiBwYW5lbENsb3NlVXJs LAorICAgICAgICAgICAgbWV0aG9kOiAnREVMRVRFJywKKyAgICAgICAgICB9KTsKKyAgICAgICAg fSk7CisKKyAgICAgICAgdmFyIG9wZW5FcmRUb29sVVJMID0gZnVuY3Rpb24oaikgeworICAgICAg ICAgIC8vIGFkZCBzcGlubmVyIGVsZW1lbnQKKyAgICAgICAgICBsZXQgJHNwaW5uZXJfZWwgPQor ICAgICAgICAgICAgJChgPGRpdiBjbGFzcz0icGctc3AtY29udGFpbmVyIj4KKyAgICAgICAgICAg ICAgICAgIDxkaXYgY2xhc3M9InBnLXNwLWNvbnRlbnQiPgorICAgICAgICAgICAgICAgICAgICAg IDxkaXYgY2xhc3M9InJvdyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9 ImNvbC0xMiBwZy1zcC1pY29uIj48L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4K KyAgICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICA8L2Rpdj5gKS5hcHBlbmRU bygkKGopLmRhdGEoJ2VtYmVkZGVkRnJhbWUnKS4kY29udGFpbmVyKTsKKworICAgICAgICAgIGxl dCBpbml0X3BvbGxlcl9pZCA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAg dmFyIGZyYW1lSW5pdGlhbGl6ZWQgPSAkKGopLmRhdGEoJ2ZyYW1lSW5pdGlhbGl6ZWQnKTsKKyAg ICAgICAgICAgIGlmIChmcmFtZUluaXRpYWxpemVkKSB7CisgICAgICAgICAgICAgIGNsZWFySW50 ZXJ2YWwoaW5pdF9wb2xsZXJfaWQpOworICAgICAgICAgICAgICB2YXIgZnJhbWUgPSAkKGopLmRh dGEoJ2VtYmVkZGVkRnJhbWUnKTsKKyAgICAgICAgICAgICAgaWYgKGZyYW1lKSB7CisgICAgICAg ICAgICAgICAgZnJhbWUub25Mb2FkZWQoKCk9PnsKKyAgICAgICAgICAgICAgICAgICRzcGlubmVy X2VsLnJlbW92ZSgpOworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgIGZyYW1l Lm9wZW5IVE1MKGVyZFRvb2xGb3JtKTsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQor ICAgICAgICAgIH0sIDEwMCk7CisgICAgICAgIH07CisKKyAgICAgICAgb3BlbkVyZFRvb2xVUkwo ZXJkVG9vbFBhbmVsKTsKKyAgICAgIH0KKyAgICB9LAorCisgICAgZ2V0UGFuZWxVcmxzOiBmdW5j dGlvbih0cmFuc0lkLCBwYW5lbFRpdGxlLCBwYXJlbnREYXRhLCBnZW4pIHsKKyAgICAgIGxldCBv cGVuVXJsID0gdXJsX2ZvcignZXJkLnBhbmVsJywgeworICAgICAgICB0cmFuc19pZDogdHJhbnNJ ZCwKKyAgICAgIH0pOworCisgICAgICBvcGVuVXJsICs9IGA/c2dpZD0ke3BhcmVudERhdGEuc2Vy dmVyX2dyb3VwLl9pZH1gCisgICAgICAgICtgJnNpZD0ke3BhcmVudERhdGEuc2VydmVyLl9pZH1g CisgICAgICAgICtgJnNlcnZlcl90eXBlPSR7cGFyZW50RGF0YS5zZXJ2ZXIuc2VydmVyX3R5cGV9 YAorICAgICAgICArYCZkaWQ9JHtwYXJlbnREYXRhLmRhdGFiYXNlLl9pZH1gCisgICAgICAgICtg Jmdlbj0ke2dlbn1gOworCisgICAgICBsZXQgY2xvc2VVcmwgPSB1cmxfZm9yKCdlcmQuY2xvc2Un LCB7CisgICAgICAgIHRyYW5zX2lkOiB0cmFuc0lkLAorICAgICAgICBzZ2lkOiBwYXJlbnREYXRh LnNlcnZlcl9ncm91cC5faWQsCisgICAgICAgIHNpZDogcGFyZW50RGF0YS5zZXJ2ZXIuX2lkLAor ICAgICAgICBkaWQ6IHBhcmVudERhdGEuZGF0YWJhc2UuX2lkLAorICAgICAgfSk7CisKKyAgICAg IHJldHVybiBbb3BlblVybCwgY2xvc2VVcmxdOworICAgIH0sCisgIH07CisKKyAgcmV0dXJuIHBn QnJvd3Nlci5lcmQ7Cit9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGlj L2pzL2VyZF90b29sL0VSRENvcmUuanMgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pz L2VyZF90b29sL0VSRENvcmUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw Li5mNjRhODRmNWUKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvc3Rh dGljL2pzL2VyZF90b29sL0VSRENvcmUuanMKQEAgLTAsMCArMSwzOTUgQEAKKy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisv LyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisvLworLy8gQ29weXJpZ2h0IChDKSAyMDEz IC0gMjAyMCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorLy8gVGhpcyBzb2Z0d2FyZSBp cyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisvLworLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworLyoK KyAqIFRoZSBFUkRDb3JlIGlzIHRoZSBtaWRkbGV3YXJlIGJldHdlZW4gdGhlIGNhbnZhcyBlbmdp bmUgYW5kIHRoZSBVSSBET00uCisgKi8KK2ltcG9ydCBjcmVhdGVFbmdpbmUgZnJvbSAnQHByb2pl Y3RzdG9ybS9yZWFjdC1kaWFncmFtcyc7CitpbXBvcnQge0RhZ3JlRW5naW5lLCBQYXRoRmluZGlu Z0xpbmtGYWN0b3J5LCBQb3J0TW9kZWxBbGlnbm1lbnR9IGZyb20gJ0Bwcm9qZWN0c3Rvcm0vcmVh Y3QtZGlhZ3JhbXMnOworaW1wb3J0IHsgWm9vbUNhbnZhc0FjdGlvbiB9IGZyb20gJ0Bwcm9qZWN0 c3Rvcm0vcmVhY3QtY2FudmFzLWNvcmUnOworCitpbXBvcnQge1RhYmxlTm9kZUZhY3RvcnksIFRh YmxlTm9kZU1vZGVsIH0gZnJvbSAnLi9ub2Rlcy9UYWJsZU5vZGUnOworaW1wb3J0IHtPbmVUb01h bnlMaW5rRmFjdG9yeSwgT25lVG9NYW55TGlua01vZGVsIH0gZnJvbSAnLi9saW5rcy9PbmVUb01h bnlMaW5rJzsKK2ltcG9ydCB7IE9uZVRvTWFueVBvcnRGYWN0b3J5IH0gZnJvbSAnLi9wb3J0cy9P bmVUb01hbnlQb3J0JzsKK2ltcG9ydCBFUkRNb2RlbCBmcm9tICcuL0VSRE1vZGVsJzsKKworZXhw b3J0IGRlZmF1bHQgY2xhc3MgRVJEQ29yZSB7CisgIGNvbnN0cnVjdG9yKCkgeworICAgIHRoaXMu X2NhY2hlID0ge307CisgICAgdGhpcy50YWJsZV9jb3VudGVyID0gMTsKKyAgICB0aGlzLm5vZGVf cG9zaXRpb25fdXBkYXRpbmcgPSBmYWxzZTsKKyAgICB0aGlzLmxpbmtfcG9zaXRpb25fdXBkYXRp bmcgPSBmYWxzZTsKKyAgICB0aGlzLmluaXRpYWxpemVFbmdpbmUoKTsKKyAgICB0aGlzLmluaXRp YWxpemVNb2RlbCgpOworICAgIHRoaXMuY29tcHV0ZVRhYmxlQ291bnRlcigpOworICB9CisKKyAg aW5pdGlhbGl6ZUVuZ2luZSgpIHsKKyAgICB0aGlzLmVuZ2luZSA9IGNyZWF0ZUVuZ2luZSh7Cisg ICAgICByZWdpc3RlckRlZmF1bHREZWxldGVJdGVtc0FjdGlvbjogZmFsc2UsCisgICAgICByZWdp c3RlckRlZmF1bHRab29tQ2FudmFzQWN0aW9uOiBmYWxzZSwKKyAgICB9KTsKKyAgICB0aGlzLmRh Z3JlX2VuZ2luZSA9IG5ldyBEYWdyZUVuZ2luZSh7CisgICAgICBncmFwaDogeworICAgICAgICBt YXJnaW54OiA1LAorICAgICAgICBtYXJnaW55OiA1LAorICAgICAgfSwKKyAgICAgIGluY2x1ZGVM aW5rczogdHJ1ZSwKKyAgICB9KTsKKworICAgIHRoaXMuZW5naW5lLmdldE5vZGVGYWN0b3JpZXMo KS5yZWdpc3RlckZhY3RvcnkobmV3IFRhYmxlTm9kZUZhY3RvcnkoKSk7CisgICAgdGhpcy5lbmdp bmUuZ2V0TGlua0ZhY3RvcmllcygpLnJlZ2lzdGVyRmFjdG9yeShuZXcgT25lVG9NYW55TGlua0Zh Y3RvcnkoKSk7CisgICAgdGhpcy5lbmdpbmUuZ2V0UG9ydEZhY3RvcmllcygpLnJlZ2lzdGVyRmFj dG9yeShuZXcgT25lVG9NYW55UG9ydEZhY3RvcnkoKSk7CisgICAgdGhpcy5yZWdpc3RlcktleUFj dGlvbihuZXcgWm9vbUNhbnZhc0FjdGlvbih7aW52ZXJzZVpvb206IHRydWV9KSk7CisgIH0KKwor ICBpbml0aWFsaXplTW9kZWwoZGF0YSwgY2FsbGJhY2s9KCk9Pnt9KSB7CisgICAgbGV0IG1vZGVs ID0gbmV3IEVSRE1vZGVsKCk7CisgICAgaWYoZGF0YSkgeworICAgICAgbW9kZWwuZGVzZXJpYWxp emVNb2RlbChkYXRhLCB0aGlzLmVuZ2luZSk7CisgICAgfQorCisgICAgY29uc3QgcmVnaXN0ZXJO b2RlRXZlbnRzID0gKG5vZGUpID0+IHsKKyAgICAgIG5vZGUucmVnaXN0ZXJMaXN0ZW5lcih7Cisg ICAgICAgIGV2ZW50RGlkRmlyZTogKGUpID0+IHsKKyAgICAgICAgICBpZihlLmZ1bmN0aW9uID09 PSAnc2VsZWN0aW9uQ2hhbmdlZCcpIHsKKyAgICAgICAgICAgIHRoaXMuZmlyZUV2ZW50KHt9LCAn bm9kZXNTZWxlY3Rpb25DaGFuZ2VkJywgdHJ1ZSk7CisgICAgICAgICAgfQorICAgICAgICAgIGVs c2UgaWYoZS5mdW5jdGlvbiA9PT0gJ3Nob3dOb3RlJykgeworICAgICAgICAgICAgdGhpcy5maXJl RXZlbnQoe25vZGU6IGUuZW50aXR5fSwgJ3Nob3dOb3RlJywgdHJ1ZSk7CisgICAgICAgICAgfQor ICAgICAgICAgIGVsc2UgaWYoZS5mdW5jdGlvbiA9PT0gJ2VkaXROb2RlJykgeworICAgICAgICAg ICAgdGhpcy5maXJlRXZlbnQoe25vZGU6IGUuZW50aXR5fSwgJ2VkaXROb2RlJywgdHJ1ZSk7Cisg ICAgICAgICAgfQorICAgICAgICAgIGVsc2UgaWYoZS5mdW5jdGlvbiA9PT0gJ25vZGVVcGRhdGVk JykgeworICAgICAgICAgICAgdGhpcy5maXJlRXZlbnQoe30sICdub2Rlc1VwZGF0ZWQnLCB0cnVl KTsKKyAgICAgICAgICB9CisgICAgICAgICAgZWxzZSBpZihlLmZ1bmN0aW9uID09PSAncG9zaXRp b25DaGFuZ2VkJykgeworICAgICAgICAgICAgLyogRWF0IHVwIHRoZSBleGNlc3NpdmUgcG9zaXRp b25DaGFuZ2VkIGV2ZW50cyBpZiBub2RlIGlzIGRyYWdnZWQgY29udGludW9zbHkgKi8KKyAgICAg ICAgICAgIGlmKCF0aGlzLm5vZGVfcG9zaXRpb25fdXBkYXRpbmcpIHsKKyAgICAgICAgICAgICAg dGhpcy5ub2RlX3Bvc2l0aW9uX3VwZGF0aW5nID0gdHJ1ZTsKKyAgICAgICAgICAgICAgdGhpcy5m aXJlRXZlbnQoe30sICdub2Rlc1VwZGF0ZWQnLCB0cnVlKTsKKyAgICAgICAgICAgICAgc2V0VGlt ZW91dCgoKT0+eworICAgICAgICAgICAgICAgIHRoaXMubm9kZV9wb3NpdGlvbl91cGRhdGluZyA9 IGZhbHNlOworICAgICAgICAgICAgICB9LCA1MDApOworICAgICAgICAgICAgfQorICAgICAgICAg IH0KKyAgICAgICAgfSwKKyAgICAgIH0pOworICAgIH07CisKKyAgICBjb25zdCByZWdpc3Rlckxp bmtFdmVudHMgPSAobGluaykgPT4geworICAgICAgbGluay5yZWdpc3Rlckxpc3RlbmVyKHsKKyAg ICAgICAgZXZlbnREaWRGaXJlOiAoZSkgPT4geworICAgICAgICAgIGlmKGUuZnVuY3Rpb24gPT09 ICdzZWxlY3Rpb25DaGFuZ2VkJykgeworICAgICAgICAgICAgdGhpcy5maXJlRXZlbnQoe30sICds aW5rc1NlbGVjdGlvbkNoYW5nZWQnLCB0cnVlKTsKKyAgICAgICAgICB9CisgICAgICAgICAgZWxz ZSBpZihlLmZ1bmN0aW9uID09PSAncG9zaXRpb25DaGFuZ2VkJykgeworICAgICAgICAgICAgLyog cG9zaXRpb25DaGFuZ2VkIGlzIHRyaWdnZXJlZCBtYW51YWxseSBpbiBMaW5rICovCisgICAgICAg ICAgICAvKiBFYXQgdXAgdGhlIGV4Y2Vzc2l2ZSBwb3NpdGlvbkNoYW5nZWQgZXZlbnRzIGlmIGxp bmsgaXMgZHJhZ2dlZCBjb250aW51b3NseSAqLworICAgICAgICAgICAgaWYoIXRoaXMubGlua19w b3NpdGlvbl91cGRhdGluZykgeworICAgICAgICAgICAgICB0aGlzLmxpbmtfcG9zaXRpb25fdXBk YXRpbmcgPSB0cnVlOworICAgICAgICAgICAgICB0aGlzLmZpcmVFdmVudCh7fSwgJ2xpbmtzVXBk YXRlZCcsIHRydWUpOworICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpPT57CisgICAgICAgICAg ICAgICAgdGhpcy5saW5rX3Bvc2l0aW9uX3VwZGF0aW5nID0gZmFsc2U7CisgICAgICAgICAgICAg IH0sIDUwMCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAg fSk7CisgICAgfTsKKworICAgIC8qIFJlZ2lzdGVyIGV2ZW50cyBmb3IgZGVzZXJpYWxpemVkIGRh dGEgKi8KKyAgICBtb2RlbC5nZXROb2RlcygpLmZvckVhY2gobm9kZSA9PiB7CisgICAgICByZWdp c3Rlck5vZGVFdmVudHMobm9kZSk7CisgICAgfSk7CisgICAgbW9kZWwuZ2V0TGlua3MoKS5mb3JF YWNoKGxpbmsgPT4geworICAgICAgcmVnaXN0ZXJMaW5rRXZlbnRzKGxpbmspOworICAgIH0pOwor CisgICAgLyogTGlzdGVuIGFuZCByZWdpc3RlciBldmVudHMgZm9yIG5ldyBkYXRhICovCisgICAg bW9kZWwucmVnaXN0ZXJMaXN0ZW5lcih7CisgICAgICAnbm9kZXNVcGRhdGVkJzogKGUpPT57Cisg ICAgICAgIGlmKGUuaXNDcmVhdGVkKSB7CisgICAgICAgICAgcmVnaXN0ZXJOb2RlRXZlbnRzKGUu bm9kZSk7CisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAnbGlua3NVcGRhdGVkJzogKGUpPT57 CisgICAgICAgIGlmKGUuaXNDcmVhdGVkKSB7CisgICAgICAgICAgcmVnaXN0ZXJMaW5rRXZlbnRz KGUubGluayk7CisgICAgICAgIH0KKyAgICAgIH0sCisgICAgfSk7CisKKyAgICBtb2RlbC5zZXRH cmlkU2l6ZSgxNSk7CisgICAgdGhpcy5lbmdpbmUuc2V0TW9kZWwobW9kZWwpOworICAgIGNhbGxi YWNrKCk7CisgIH0KKworICBjb21wdXRlVGFibGVDb3VudGVyKCkgeworICAgIC8qIFNvbWUgaW50 ZWxpZ2VuY2UgY2FuIGJlIGFkZGVkIHRvIHNldCB0aGUgY291bnRlciAqLworICAgIHRoaXMudGFi bGVfY291bnRlciA9IDE7CisgIH0KKworICBzZXRDYWNoZShkYXRhLCB2YWx1ZSkgeworICAgIGlm KHR5cGVvZihkYXRhKSA9PSAnc3RyaW5nJykgeworICAgICAgdGhpcy5fY2FjaGVbZGF0YV0gPSB2 YWx1ZTsKKyAgICB9IGVsc2UgeworICAgICAgdGhpcy5fY2FjaGUgPSB7CisgICAgICAgIC4uLnRo aXMuX2NhY2hlLAorICAgICAgICAuLi5kYXRhLAorICAgICAgfTsKKyAgICB9CisgIH0KKworICBn ZXRDYWNoZShrZXkpIHsKKyAgICByZXR1cm4ga2V5ID8gdGhpcy5fY2FjaGVba2V5XTogdGhpcy5f Y2FjaGU7CisgIH0KKworICByZWdpc3Rlck1vZGVsRXZlbnQoZXZlbnROYW1lLCBjYWxsYmFjaykg eworICAgIHRoaXMuZ2V0TW9kZWwoKS5yZWdpc3Rlckxpc3RlbmVyKHsKKyAgICAgIFtldmVudE5h bWVdOiBjYWxsYmFjaywKKyAgICB9KTsKKyAgfQorCisgIGdldE5leHRUYWJsZU5hbWUoKSB7Cisg ICAgbGV0IG5ld1RhYmxlTmFtZSA9IGBuZXd0YWJsZSR7dGhpcy50YWJsZV9jb3VudGVyfWA7Cisg ICAgdGhpcy50YWJsZV9jb3VudGVyKys7CisgICAgcmV0dXJuIG5ld1RhYmxlTmFtZTsKKyAgfQor CisgIGdldEVuZ2luZSgpIHtyZXR1cm4gdGhpcy5lbmdpbmU7fQorCisgIGdldE1vZGVsKCkge3Jl dHVybiB0aGlzLmdldEVuZ2luZSgpLmdldE1vZGVsKCk7fQorCisgIGdldE5ld05vZGUoaW5pdERh dGEpIHsKKyAgICByZXR1cm4gdGhpcy5nZXRFbmdpbmUoKS5nZXROb2RlRmFjdG9yaWVzKCkuZ2V0 RmFjdG9yeSgndGFibGUnKS5nZW5lcmF0ZU1vZGVsKHsKKyAgICAgIGluaXRpYWxDb25maWc6IHsK KyAgICAgICAgb3RoZXJJbmZvOiB7CisgICAgICAgICAgZGF0YTppbml0RGF0YSwKKyAgICAgICAg fSwKKyAgICAgIH0sCisgICAgfSk7CisgIH0KKworICBnZXROZXdMaW5rKHR5cGUsIGluaXREYXRh KSB7CisgICAgcmV0dXJuIHRoaXMuZ2V0RW5naW5lKCkuZ2V0TGlua0ZhY3RvcmllcygpLmdldEZh Y3RvcnkodHlwZSkuZ2VuZXJhdGVNb2RlbCh7CisgICAgICBpbml0aWFsQ29uZmlnOiB7CisgICAg ICAgIGRhdGE6aW5pdERhdGEsCisgICAgICB9LAorICAgIH0pOworICB9CisKKyAgZ2V0TmV3UG9y dCh0eXBlLCBpbml0RGF0YSwgaW5pdE9wdGlvbnMpIHsKKyAgICByZXR1cm4gdGhpcy5nZXRFbmdp bmUoKS5nZXRQb3J0RmFjdG9yaWVzKCkuZ2V0RmFjdG9yeSh0eXBlKS5nZW5lcmF0ZU1vZGVsKHsK KyAgICAgIGluaXRpYWxDb25maWc6IHsKKyAgICAgICAgZGF0YTppbml0RGF0YSwKKyAgICAgICAg b3B0aW9uczppbml0T3B0aW9ucywKKyAgICAgIH0sCisgICAgfSk7CisgIH0KKworICBhZGROb2Rl KGRhdGEsIHBvc2l0aW9uPVs1MCwgNTBdKSB7CisgICAgbGV0IG5ld05vZGUgPSB0aGlzLmdldE5l d05vZGUoZGF0YSk7CisgICAgdGhpcy5jbGVhclNlbGVjdGlvbigpOworICAgIG5ld05vZGUuc2V0 UG9zaXRpb24ocG9zaXRpb25bMF0sIHBvc2l0aW9uWzFdKTsKKyAgICB0aGlzLmdldE1vZGVsKCku YWRkTm9kZShuZXdOb2RlKTsKKyAgICByZXR1cm4gbmV3Tm9kZTsKKyAgfQorCisgIGFkZExpbmso ZGF0YSwgdHlwZSkgeworICAgIGxldCB0YWJsZU5vZGVzRGljdCA9IHRoaXMuZ2V0TW9kZWwoKS5n ZXROb2Rlc0RpY3QoKTsKKyAgICBsZXQgc291cmNlTm9kZSA9IHRhYmxlTm9kZXNEaWN0W2RhdGEu cmVmZXJlbmNlZF90YWJsZV91aWRdOworICAgIGxldCB0YXJnZXROb2RlID0gdGFibGVOb2Rlc0Rp Y3RbZGF0YS5sb2NhbF90YWJsZV91aWRdOworCisgICAgbGV0IHBvcnROYW1lID0gc291cmNlTm9k ZS5nZXRQb3J0TmFtZShkYXRhLnJlZmVyZW5jZWRfY29sdW1uX2F0dG51bSk7CisgICAgbGV0IHNv dXJjZVBvcnQgPSBzb3VyY2VOb2RlLmdldFBvcnQocG9ydE5hbWUpOworICAgIC8qIENyZWF0ZSB0 aGUgcG9ydCBpZiBub3QgdGhlcmUgKi8KKyAgICBpZighc291cmNlUG9ydCkgeworICAgICAgc291 cmNlUG9ydCA9IHNvdXJjZU5vZGUuYWRkUG9ydCh0aGlzLmdldE5ld1BvcnQodHlwZSwgbnVsbCwg e25hbWU6cG9ydE5hbWUsIGFsaWdubWVudDpQb3J0TW9kZWxBbGlnbm1lbnQuUklHSFR9KSk7Cisg ICAgfQorCisgICAgcG9ydE5hbWUgPSB0YXJnZXROb2RlLmdldFBvcnROYW1lKGRhdGEubG9jYWxf Y29sdW1uX2F0dG51bSk7CisgICAgbGV0IHRhcmdldFBvcnQgPSB0YXJnZXROb2RlLmdldFBvcnQo cG9ydE5hbWUpOworICAgIC8qIENyZWF0ZSB0aGUgcG9ydCBpZiBub3QgdGhlcmUgKi8KKyAgICBp ZighdGFyZ2V0UG9ydCkgeworICAgICAgdGFyZ2V0UG9ydCA9IHRhcmdldE5vZGUuYWRkUG9ydCh0 aGlzLmdldE5ld1BvcnQodHlwZSwgbnVsbCwge25hbWU6cG9ydE5hbWUsIGFsaWdubWVudDpQb3J0 TW9kZWxBbGlnbm1lbnQuUklHSFR9KSk7CisgICAgfQorCisgICAgLyogTGluayB0aGUgcG9ydHMg Ki8KKyAgICBsZXQgbmV3TGluayA9IHRoaXMuZ2V0TmV3TGluayh0eXBlLCBkYXRhKTsKKyAgICBu ZXdMaW5rLnNldFNvdXJjZVBvcnQoc291cmNlUG9ydCk7CisgICAgbmV3TGluay5zZXRUYXJnZXRQ b3J0KHRhcmdldFBvcnQpOworICAgIHRoaXMuZ2V0TW9kZWwoKS5hZGRMaW5rKG5ld0xpbmspOwor ICAgIHJldHVybiBuZXdMaW5rOworICB9CisKKyAgc2VyaWFsaXplKHZlcnNpb24pIHsKKyAgICBy ZXR1cm4geworICAgICAgdmVyc2lvbjogdmVyc2lvbnx8MCwKKyAgICAgIGRhdGE6IHRoaXMuZ2V0 TW9kZWwoKS5zZXJpYWxpemUoKSwKKyAgICB9OworICB9CisKKyAgZGVzZXJpYWxpemUoanNvbl9k YXRhKSB7CisgICAgaWYoanNvbl9kYXRhLnZlcnNpb24pIHsKKyAgICAgIHRoaXMuaW5pdGlhbGl6 ZU1vZGVsKGpzb25fZGF0YS5kYXRhKTsKKyAgICB9CisgIH0KKworICBzZXJpYWxpemVEYXRhKCkg eworICAgIGxldCBub2RlcyA9IHt9LCBsaW5rcyA9IHt9OworICAgIGxldCBub2Rlc0RpY3QgPSB0 aGlzLmdldE1vZGVsKCkuZ2V0Tm9kZXNEaWN0KCk7CisKKyAgICBPYmplY3Qua2V5cyhub2Rlc0Rp Y3QpLm1hcCgoaWQpPT57CisgICAgICBub2Rlc1tpZF0gPSBub2Rlc0RpY3RbaWRdLnNlcmlhbGl6 ZURhdGEoKTsKKyAgICB9KTsKKworICAgIHRoaXMuZ2V0TW9kZWwoKS5nZXRMaW5rcygpLm1hcCgo bGluayk9PnsKKyAgICAgIGxpbmtzW2xpbmsuZ2V0SUQoKV0gPSBsaW5rLnNlcmlhbGl6ZURhdGEo bm9kZXNEaWN0KTsKKyAgICB9KTsKKworICAgIC8qIFNlcGFyYXRlIHRoZSBsaW5rcyBmcm9tIG5v ZGVzIHNvIHRoYXQgd2UgZG9uJ3QgaGF2ZSBhbnkgZGVwZW5kYW5jeSBpc3N1ZXMgKi8KKyAgICBy ZXR1cm4geworICAgICAgJ25vZGVzJzogbm9kZXMsCisgICAgICAnbGlua3MnOiBsaW5rcywKKyAg ICB9OworICB9CisKKyAgZGVzZXJpYWxpemVEYXRhKGRhdGEpeworICAgIGxldCBvaWRVaWRNYXAg PSB7fTsKKyAgICBsZXQgdWlkRmtzID0gW107CisgICAgZGF0YS5mb3JFYWNoKChub2RlKT0+ewor ICAgICAgbGV0IG5ld0RhdGEgPSB7CisgICAgICAgIG5hbWU6IG5vZGUubmFtZSwKKyAgICAgICAg c2NoZW1hOiBub2RlLnNjaGVtYSwKKyAgICAgICAgZGVzY3JpcHRpb246IG5vZGUuZGVzY3JpcHRp b24sCisgICAgICAgIGNvbHVtbnM6IG5vZGUuY29sdW1ucywKKyAgICAgICAgcHJpbWFyeV9rZXk6 IG5vZGUucHJpbWFyeV9rZXksCisgICAgICB9OworICAgICAgbGV0IG5ld05vZGUgPSB0aGlzLmFk ZE5vZGUobmV3RGF0YSk7CisgICAgICBvaWRVaWRNYXBbbm9kZS5vaWRdID0gbmV3Tm9kZS5nZXRJ RCgpOworICAgICAgaWYobm9kZS5mb3JlaWduX2tleSkgeworICAgICAgICBub2RlLmZvcmVpZ25f a2V5LmZvckVhY2goKGFfZmspPT57CisgICAgICAgICAgdWlkRmtzLnB1c2goeworICAgICAgICAg ICAgdWlkOiBuZXdOb2RlLmdldElEKCksCisgICAgICAgICAgICBkYXRhOiBhX2ZrLmNvbHVtbnNb MF0sCisgICAgICAgICAgfSk7CisgICAgICAgIH0pOworICAgICAgfQorICAgIH0pOworCisgICAg LyogTGV0cyB1c2UgdGhlIG9pZFVpZE1hcCBmb3IgY3JlYXRpbmcgdGhlIGxpbmtzICovCisgICAg dWlkRmtzLmZvckVhY2goKGZrRGF0YSk9PnsKKyAgICAgIGxldCB0YWJsZU5vZGVzRGljdCA9IHRo aXMuZ2V0TW9kZWwoKS5nZXROb2Rlc0RpY3QoKTsKKyAgICAgIGxldCBuZXdEYXRhID0geworICAg ICAgICBsb2NhbF90YWJsZV91aWQ6IGZrRGF0YS51aWQsCisgICAgICAgIGxvY2FsX2NvbHVtbl9h dHRudW06IHVuZGVmaW5lZCwKKyAgICAgICAgcmVmZXJlbmNlZF90YWJsZV91aWQ6IG9pZFVpZE1h cFtma0RhdGEuZGF0YS5yZWZlcmVuY2VzXSwKKyAgICAgICAgcmVmZXJlbmNlZF9jb2x1bW5fYXR0 bnVtOiB1bmRlZmluZWQsCisgICAgICB9OworCisgICAgICBsZXQgc291cmNlTm9kZSA9IHRhYmxl Tm9kZXNEaWN0W25ld0RhdGEucmVmZXJlbmNlZF90YWJsZV91aWRdOworICAgICAgbGV0IHRhcmdl dE5vZGUgPSB0YWJsZU5vZGVzRGljdFtuZXdEYXRhLmxvY2FsX3RhYmxlX3VpZF07CisKKyAgICAg IG5ld0RhdGEubG9jYWxfY29sdW1uX2F0dG51bSA9IF8uZmluZCh0YXJnZXROb2RlLmdldENvbHVt bnMoKSwgKGNvbCk9PmNvbC5uYW1lPT1ma0RhdGEuZGF0YS5sb2NhbF9jb2x1bW4pLmF0dG51bTsK KyAgICAgIG5ld0RhdGEucmVmZXJlbmNlZF9jb2x1bW5fYXR0bnVtID0gXy5maW5kKHNvdXJjZU5v ZGUuZ2V0Q29sdW1ucygpLCAoY29sKT0+Y29sLm5hbWU9PWZrRGF0YS5kYXRhLnJlZmVyZW5jZWQp LmF0dG51bTsKKworICAgICAgdGhpcy5hZGRMaW5rKG5ld0RhdGEsICdvbmV0b21hbnknKTsKKyAg ICB9KTsKKyAgICBzZXRUaW1lb3V0KHRoaXMuZGFncmVEaXN0cmlidXRlTm9kZXMuYmluZCh0aGlz KSwgMCk7CisgIH0KKworICByZXBhaW50KCkgeworICAgIHRoaXMuZ2V0RW5naW5lKCkucmVwYWlu dENhbnZhcygpOworICB9CisKKyAgY2xlYXJTZWxlY3Rpb24oKSB7CisgICAgdGhpcy5nZXRFbmdp bmUoKQorICAgICAgLmdldE1vZGVsKCkKKyAgICAgIC5jbGVhclNlbGVjdGlvbigpOworICB9CisK KyAgZ2V0Tm9kZXNEYXRhKCkgeworICAgIHJldHVybiB0aGlzLmdldEVuZ2luZSgpLmdldE1vZGVs KCkuZ2V0Tm9kZXMoKS5tYXAoKG5vZGUpPT57CisgICAgICByZXR1cm4gbm9kZS5nZXREYXRhKCk7 CisgICAgfSk7CisgIH0KKworICBnZXRTZWxlY3RlZE5vZGVzKCkgeworICAgIHJldHVybiB0aGlz LmdldEVuZ2luZSgpCisgICAgICAuZ2V0TW9kZWwoKQorICAgICAgLmdldFNlbGVjdGVkRW50aXRp ZXMoKQorICAgICAgLmZpbHRlcihlbnRpdHkgPT4gZW50aXR5IGluc3RhbmNlb2YgVGFibGVOb2Rl TW9kZWwpOworICB9CisKKyAgZ2V0U2VsZWN0ZWRMaW5rcygpIHsKKyAgICByZXR1cm4gdGhpcy5n ZXRFbmdpbmUoKQorICAgICAgLmdldE1vZGVsKCkKKyAgICAgIC5nZXRTZWxlY3RlZEVudGl0aWVz KCkKKyAgICAgIC5maWx0ZXIoZW50aXR5ID0+IGVudGl0eSBpbnN0YW5jZW9mIE9uZVRvTWFueUxp bmtNb2RlbCk7CisgIH0KKworICBkYWdyZURpc3RyaWJ1dGVOb2RlcygpIHsKKyAgICB0aGlzLmRh Z3JlX2VuZ2luZS5yZWRpc3RyaWJ1dGUodGhpcy5nZXRNb2RlbCgpKTsKKyAgICB0aGlzLmdldEVu Z2luZSgpCisgICAgICAuZ2V0TGlua0ZhY3RvcmllcygpCisgICAgICAuZ2V0RmFjdG9yeShQYXRo RmluZGluZ0xpbmtGYWN0b3J5Lk5BTUUpCisgICAgICAuY2FsY3VsYXRlUm91dGluZ01hdHJpeCgp OworICAgIHRoaXMucmVwYWludCgpOworICB9CisKKyAgem9vbUluKCkgeworICAgIGxldCBtb2Rl bCA9IHRoaXMuZ2V0RW5naW5lKCkuZ2V0TW9kZWwoKTsKKyAgICBpZihtb2RlbCl7CisgICAgICBt b2RlbC5zZXRab29tTGV2ZWwobW9kZWwuZ2V0Wm9vbUxldmVsKCkgKyAyNSk7CisgICAgICB0aGlz LnJlcGFpbnQoKTsKKyAgICB9CisgIH0KKworICB6b29tT3V0KCkgeworICAgIGxldCBtb2RlbCA9 IHRoaXMuZ2V0RW5naW5lKCkuZ2V0TW9kZWwoKTsKKyAgICBpZihtb2RlbCkgeworICAgICAgbW9k ZWwuc2V0Wm9vbUxldmVsKG1vZGVsLmdldFpvb21MZXZlbCgpIC0gMjUpOworICAgICAgdGhpcy5y ZXBhaW50KCk7CisgICAgfQorICB9CisKKyAgem9vbVRvRml0KCkgeworICAgIHRoaXMuZ2V0RW5n aW5lKCkuem9vbVRvRml0KCk7CisgIH0KKworICAvLyBTYW1wbGUgY2FsbDogdGhpcy5maXJlQWN0 aW9uKHsgdHlwZTogJ2tleWRvd24nLCBjdHJsS2V5OiB0cnVlLCBjb2RlOiAnS2V5TicgfSk7Cisg IGZpcmVBY3Rpb24oZXZlbnQpIHsKKyAgICB0aGlzLmdldEVuZ2luZSgpLmdldEFjdGlvbkV2ZW50 QnVzKCkuZmlyZUFjdGlvbih7CisgICAgICBldmVudDogeworICAgICAgICAuLi5ldmVudCwKKyAg ICAgICAga2V5OiAnJywKKyAgICAgICAgcHJldmVudERlZmF1bHQ6ICgpID0+IHt9LAorICAgICAg ICBzdG9wUHJvcGFnYXRpb246ICgpID0+IHt9LAorICAgICAgfSwKKyAgICB9KTsKKyAgfQorCisg IGZpcmVFdmVudChkYXRhLCBldmVudE5hbWUsIG1vZGVsPWZhbHNlKSB7CisgICAgaWYobW9kZWwp IHsKKyAgICAgIHRoaXMuZ2V0RW5naW5lKCkuZ2V0TW9kZWwoKS5maXJlRXZlbnQoZGF0YSwgZXZl bnROYW1lKTsKKyAgICB9IGVsc2UgeworICAgICAgdGhpcy5nZXRFbmdpbmUoKS5maXJlRXZlbnQo ZGF0YSwgZXZlbnROYW1lKTsKKyAgICB9CisgIH0KKworICByZWdpc3RlcktleUFjdGlvbihhY3Rp b24pIHsKKyAgICB0aGlzLmdldEVuZ2luZSgpLmdldEFjdGlvbkV2ZW50QnVzKCkucmVnaXN0ZXJB Y3Rpb24oYWN0aW9uKTsKKyAgfQorCisgIGRlcmVnaXN0ZXJLZXlBY3Rpb24oYWN0aW9uKSB7Cisg ICAgdGhpcy5nZXRFbmdpbmUoKS5nZXRBY3Rpb25FdmVudEJ1cygpLmRlcmVnaXN0ZXJBY3Rpb24o YWN0aW9uKTsKKyAgfQorfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3N0YXRp Yy9qcy9lcmRfdG9vbC9FUkRNb2RlbC5qcyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMv anMvZXJkX3Rvb2wvRVJETW9kZWwuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwLi5hZTczZGI4YWMKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9lcmQv c3RhdGljL2pzL2VyZF90b29sL0VSRE1vZGVsLmpzCkBAIC0wLDAgKzEsMjEgQEAKKy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8v CisvLyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisvLworLy8gQ29weXJpZ2h0IChDKSAy MDEzIC0gMjAyMCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorLy8gVGhpcyBzb2Z0d2Fy ZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisvLworLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKwor aW1wb3J0IHsgRGlhZ3JhbU1vZGVsIH0gZnJvbSAnQHByb2plY3RzdG9ybS9yZWFjdC1kaWFncmFt cyc7CitpbXBvcnQgXyBmcm9tICdsb2Rhc2gnOworCitleHBvcnQgZGVmYXVsdCBjbGFzcyBFUkRN b2RlbCBleHRlbmRzIERpYWdyYW1Nb2RlbCB7CisgIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHsKKyAg ICBzdXBlcihvcHRpb25zKTsKKyAgfQorCisgIGdldE5vZGVzRGljdCgpIHsKKyAgICByZXR1cm4g Xy5mcm9tUGFpcnModGhpcy5nZXROb2RlcygpLm1hcChub2RlID0+IFtub2RlLmdldElEKCksIG5v ZGVdKSk7CisgIH0KK30KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMv anMvZXJkX3Rvb2wvZGlhbG9ncy9EaWFsb2dXcmFwcGVyLmpzIGIvd2ViL3BnYWRtaW4vdG9vbHMv ZXJkL3N0YXRpYy9qcy9lcmRfdG9vbC9kaWFsb2dzL0RpYWxvZ1dyYXBwZXIuanMKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi45YjZlNTRmYTkKLS0tIC9kZXYvbnVsbAorKysg Yi93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pzL2VyZF90b29sL2RpYWxvZ3MvRGlhbG9n V3JhcHBlci5qcwpAQCAtMCwwICsxLDE1OCBAQAorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vIHBnQWRtaW4gNCAtIFBv c3RncmVTUUwgVG9vbHMKKy8vCisvLyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUgcGdB ZG1pbiBEZXZlbG9wbWVudCBUZWFtCisvLyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVy IHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKy8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCitpbXBvcnQgZ2V0dGV4dCBmcm9t ICdzb3VyY2VzL2dldHRleHQnOworaW1wb3J0ICogYXMgY29tbW9uVXRpbHMgZnJvbSAnc291cmNl cy91dGlscyc7CisKK2V4cG9ydCBkZWZhdWx0IGNsYXNzIERpYWxvZ1dyYXBwZXIgeworICBjb25z dHJ1Y3RvcihkaWFsb2dDb250YWluZXJTZWxlY3RvciwgZGlhbG9nVGl0bGUsIHR5cGVPZkRpYWxv ZywKKyAgICBqcXVlcnksIHBnQnJvd3NlciwgYWxlcnRpZnksIGJhY2tmb3JtLCBiYWNrZ3JpZCkg eworCisgICAgdGhpcy5kaWFsb2dDb250YWluZXJTZWxlY3RvciA9IGRpYWxvZ0NvbnRhaW5lclNl bGVjdG9yOworICAgIHRoaXMuZGlhbG9nVGl0bGUgPSBkaWFsb2dUaXRsZTsKKyAgICB0aGlzLmpx dWVyeSA9IGpxdWVyeTsKKyAgICB0aGlzLnBnQnJvd3NlciA9IHBnQnJvd3NlcjsKKyAgICB0aGlz LmFsZXJ0aWZ5ID0gYWxlcnRpZnk7CisgICAgdGhpcy5iYWNrZm9ybSA9IGJhY2tmb3JtOworICAg IHRoaXMuYmFja2dyaWQgPSBiYWNrZ3JpZDsKKyAgICB0aGlzLnR5cGVPZkRpYWxvZyA9IHR5cGVP ZkRpYWxvZzsKKyAgfQorCisgIG1haW4odGl0bGUsIGRpYWxvZ01vZGVsLCBva0NhbGxiYWNrKSB7 CisgICAgdGhpcy5zZXQoJ3RpdGxlJywgdGl0bGUpOworICAgIHRoaXMuZGlhbG9nTW9kZWwgPSBk aWFsb2dNb2RlbDsKKyAgICB0aGlzLm9rQ2FsbGJhY2sgPSBva0NhbGxiYWNrOworICB9CisKKyAg YnVpbGQoKSB7CisgICAgdGhpcy5hbGVydGlmeS5wZ0RpYWxvZ0J1aWxkLmFwcGx5KHRoaXMpOwor ICB9CisKKyAgZGlzYWJsZU9LQnV0dG9uKCkgeworICAgIHRoaXMuX19pbnRlcm5hbC5idXR0b25z WzFdLmVsZW1lbnQuZGlzYWJsZWQgPSB0cnVlOworICB9CisKKyAgZW5hYmxlT0tCdXR0b24oKSB7 CisgICAgdGhpcy5fX2ludGVybmFsLmJ1dHRvbnNbMV0uZWxlbWVudC5kaXNhYmxlZCA9IGZhbHNl OworICB9CisKKyAgZm9jdXNPbkRpYWxvZyhhbGVydGlmeURpYWxvZykgeworICAgIGxldCBiYWNr Zm9ybV90YWIgPSB0aGlzLmpxdWVyeShhbGVydGlmeURpYWxvZy5lbGVtZW50cy5ib2R5KS5maW5k KCcuYmFja2Zvcm0tdGFiJyk7CisgICAgYmFja2Zvcm1fdGFiLmF0dHIoJ3RhYmluZGV4JywgLTEp OworICAgIHRoaXMucGdCcm93c2VyLmtleWJvYXJkTmF2aWdhdGlvbi5nZXREaWFsb2dUYWJOYXZp Z2F0b3IodGhpcy5qcXVlcnkoYWxlcnRpZnlEaWFsb2cuZWxlbWVudHMuZGlhbG9nKSk7CisgICAg bGV0IGNvbnRhaW5lciA9IGJhY2tmb3JtX3RhYi5maW5kKCcudGFiLWNvbnRlbnQ6Zmlyc3QgPiAu dGFiLXBhbmUuYWN0aXZlOmZpcnN0Jyk7CisKKyAgICBpZihjb250YWluZXIubGVuZ3RoID09PSAw ICYmIGFsZXJ0aWZ5RGlhbG9nLmVsZW1lbnRzLmNvbnRlbnQuaW5uZXJIVE1MKSB7CisgICAgICBj b250YWluZXIgPSB0aGlzLmpxdWVyeShhbGVydGlmeURpYWxvZy5lbGVtZW50cy5jb250ZW50KTsK KyAgICB9CisgICAgY29tbW9uVXRpbHMuZmluZEFuZFNldEZvY3VzKGNvbnRhaW5lcik7CisgIH0K KworICBzZXR1cCgpIHsKKyAgICByZXR1cm4geworICAgICAgYnV0dG9uczogW3sKKyAgICAgICAg dGV4dDogZ2V0dGV4dCgnQ2FuY2VsJyksCisgICAgICAgIGtleTogMjcsCisgICAgICAgIGNsYXNz TmFtZTogJ2J0biBidG4tc2Vjb25kYXJ5IGZhIGZhLWxnIGZhLXRpbWVzIHBnLWFsZXJ0aWZ5LWJ1 dHRvbicsCisgICAgICAgICdkYXRhLWJ0bi1uYW1lJzogJ2NhbmNlbCcsCisgICAgICB9LCB7Cisg ICAgICAgIHRleHQ6IGdldHRleHQoJ09LJyksCisgICAgICAgIGtleTogMTMsCisgICAgICAgIGNs YXNzTmFtZTogJ2J0biBidG4tcHJpbWFyeSBmYSBmYS1sZyBmYS1zYXZlIHBnLWFsZXJ0aWZ5LWJ1 dHRvbicsCisgICAgICAgICdkYXRhLWJ0bi1uYW1lJzogJ29rJywKKyAgICAgIH1dLAorICAgICAg Ly8gU2V0IG9wdGlvbnMgZm9yIGRpYWxvZworICAgICAgb3B0aW9uczogeworICAgICAgICB0aXRs ZTogdGhpcy5kaWFsb2dUaXRsZSwKKyAgICAgICAgLy9kaXNhYmxlIGJvdGggcGFkZGluZyBhbmQg b3ZlcmZsb3cgY29udHJvbC4KKyAgICAgICAgcGFkZGluZzogITEsCisgICAgICAgIG92ZXJmbG93 OiAhMSwKKyAgICAgICAgbW9kZWw6IDAsCisgICAgICAgIHJlc2l6YWJsZTogdHJ1ZSwKKyAgICAg ICAgbWF4aW1pemFibGU6IHRydWUsCisgICAgICAgIHBpbm5hYmxlOiBmYWxzZSwKKyAgICAgICAg Y2xvc2FibGVCeURpbW1lcjogZmFsc2UsCisgICAgICAgIG1vZGFsOiBmYWxzZSwKKyAgICAgIH0s CisgICAgfTsKKyAgfQorCisgIHByZXBhcmUoKSB7CisgICAgY29uc3QgJGNvbnRhaW5lciA9IHRo aXMuanF1ZXJ5KHRoaXMuZGlhbG9nQ29udGFpbmVyU2VsZWN0b3IpOworICAgIGNvbnN0IGRpYWxv ZyA9IHRoaXMuY3JlYXRlRGlhbG9nKCRjb250YWluZXIpOworICAgIGRpYWxvZy5yZW5kZXIoKTsK KyAgICB0aGlzLmVsZW1lbnRzLmNvbnRlbnQuaW5uZXJIVE1MID0gJyc7CisgICAgdGhpcy5lbGVt ZW50cy5jb250ZW50LmFwcGVuZENoaWxkKCRjb250YWluZXIuZ2V0KDApKTsKKyAgICB0aGlzLmpx dWVyeSh0aGlzLmVsZW1lbnRzLmJvZHkuY2hpbGROb2Rlc1swXSkuYWRkQ2xhc3MoCisgICAgICAn YWxlcnRpZnlfdG9vbHNfZGlhbG9nX3Byb3BlcnRpZXMgb2JqX3Byb3BlcnRpZXMnCisgICAgKTsK KyAgICBjb25zdCBzdGF0dXNCYXIgPSB0aGlzLmpxdWVyeSgKKyAgICAgICc8ZGl2IGNsYXNzPVwn cGctcHJvcC1zdGF0dXMtYmFyIHBnLXByb3Atc3RhdHVzLWJhci1hYnNvbHV0ZSBwZy1lbC14cy0x MiBkLW5vbmVcJz4nICsKKyAgICAgICcgIDxkaXYgY2xhc3M9ImVycm9yLWluLWZvb3RlciI+ICcg KworICAgICAgJyAgICA8ZGl2IGNsYXNzPSJkLWZsZXggcHgtMiBweS0xIj4gJyArCisgICAgICAn ICAgICAgPGRpdiBjbGFzcz0icHItMiI+ICcgKworICAgICAgJyAgICAgICAgPGkgY2xhc3M9ImZh IGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlIHRleHQtZGFuZ2VyIiBhcmlhLWhpZGRlbj0idHJ1ZSI+ PC9pPiAnICsKKyAgICAgICcgICAgICA8L2Rpdj4gJyArCisgICAgICAnICAgICAgPGRpdiBjbGFz cz0iYWxlcnQtdGV4dCIgcm9sZT0iYWxlcnQiPjwvZGl2PiAnICsKKyAgICAgICcgICAgICAgPGRp diBjbGFzcz0ibWwtYXV0byBjbG9zZS1lcnJvci1iYXIiPiAnICsKKyAgICAgICcgICAgICAgICAg PGEgYXJpYS1sYWJlbD0iJyArIGdldHRleHQoJ0Nsb3NlIGVycm9yIGJhcicpICsgJyIgY2xhc3M9 ImNsb3NlLWVycm9yIGZhIGZhLXRpbWVzIHRleHQtZGFuZ2VyIj48L2E+ICcgKworICAgICAgJyAg ICAgICAgPC9kaXY+ICcgKworICAgICAgJyAgICA8L2Rpdj4gJyArCisgICAgICAnICA8L2Rpdj4g JyArCisgICAgICAnPC9kaXY+JykuYXBwZW5kVG8oJGNvbnRhaW5lcik7CisKKyAgICBzdGF0dXNC YXIuZmluZCgnLmNsb3NlLWVycm9yJykub24oJ2NsaWNrJywgKCk9PnsKKyAgICAgIHN0YXR1c0Jh ci5hZGRDbGFzcygnZC1ub25lJyk7CisgICAgfSk7CisKKyAgICB2YXIgb25TZXNzaW9uSW52YWxp ZCA9IChtc2cpID0+IHsKKyAgICAgIHN0YXR1c0Jhci5maW5kKCcuYWxlcnQtdGV4dCcpLnRleHQo bXNnKTsKKyAgICAgIHN0YXR1c0Jhci5yZW1vdmVDbGFzcygnZC1ub25lJyk7CisgICAgICB0aGlz LmRpc2FibGVPS0J1dHRvbigpOworICAgICAgcmV0dXJuIHRydWU7CisgICAgfTsKKworICAgIHZh ciBvblNlc3Npb25WYWxpZGF0ZWQgPSAoKSA9PiB7CisgICAgICBzdGF0dXNCYXIuZmluZCgnLmFs ZXJ0LXRleHQnKS50ZXh0KCcnKTsKKyAgICAgIHN0YXR1c0Jhci5hZGRDbGFzcygnZC1ub25lJyk7 CisgICAgICB0aGlzLmVuYWJsZU9LQnV0dG9uKCk7CisgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9 OworCisgICAgdGhpcy5kaWFsb2dNb2RlbC5vbigncGdhZG1pbi1zZXNzaW9uOnZhbGlkJywgb25T ZXNzaW9uVmFsaWRhdGVkKTsKKyAgICB0aGlzLmRpYWxvZ01vZGVsLm9uKCdwZ2FkbWluLXNlc3Np b246aW52YWxpZCcsIG9uU2Vzc2lvbkludmFsaWQpOworICAgIHRoaXMuZGlhbG9nTW9kZWwuc3Rh cnROZXdTZXNzaW9uKCk7CisgICAgdGhpcy5kaXNhYmxlT0tCdXR0b24oKTsKKyAgICB0aGlzLmZv Y3VzT25EaWFsb2codGhpcyk7CisgIH0KKworICBjYWxsYmFjayhldmVudCkgeworICAgIGlmICh0 aGlzLndhc09rQnV0dG9uUHJlc3NlZChldmVudCkpIHsKKyAgICAgIHRoaXMub2tDYWxsYmFjayh0 aGlzLnZpZXcubW9kZWwudG9KU09OKHRydWUpKTsKKyAgICB9CisgIH0KKworICBjcmVhdGVEaWFs b2coJGNvbnRhaW5lcikgeworICAgIGxldCBmaWVsZHMgPSB0aGlzLmJhY2tmb3JtLmdlbmVyYXRl Vmlld1NjaGVtYSgKKyAgICAgIG51bGwsIHRoaXMuZGlhbG9nTW9kZWwsICdjcmVhdGUnLCBudWxs LCBudWxsLCB0cnVlLCBudWxsCisgICAgKTsKKworICAgIHRoaXMudmlldyA9IG5ldyB0aGlzLmJh Y2tmb3JtLkRpYWxvZyh7CisgICAgICBlbDogJGNvbnRhaW5lciwKKyAgICAgIG1vZGVsOiB0aGlz LmRpYWxvZ01vZGVsLAorICAgICAgc2NoZW1hOiBmaWVsZHMsCisgICAgfSk7CisKKyAgICByZXR1 cm4gdGhpcy52aWV3OworICB9CisKKyAgd2FzT2tCdXR0b25QcmVzc2VkKGV2ZW50KSB7CisgICAg cmV0dXJuIGV2ZW50LmJ1dHRvblsnZGF0YS1idG4tbmFtZSddID09PSAnb2snOworICB9Cit9CmRp ZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pzL2VyZF90b29sL2RpYWxv Z3MvTWFueVRvTWFueURpYWxvZy5qcyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMvanMv ZXJkX3Rvb2wvZGlhbG9ncy9NYW55VG9NYW55RGlhbG9nLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMC4uYWJlYzc5ZjVlCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRt aW4vdG9vbHMvZXJkL3N0YXRpYy9qcy9lcmRfdG9vbC9kaWFsb2dzL01hbnlUb01hbnlEaWFsb2cu anMKQEAgLTAsMCArMSwxNDAgQEAKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FM IFRvb2xzCisvLworLy8gQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAyMCwgVGhlIHBnQWRtaW4gRGV2 ZWxvcG1lbnQgVGVhbQorLy8gVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9z dGdyZVNRTCBMaWNlbmNlCisvLworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworaW1wb3J0IGdldHRleHQgZnJvbSAnc291cmNl cy9nZXR0ZXh0JzsKK2ltcG9ydCBCYWNrZm9ybSBmcm9tICdzb3VyY2VzL2JhY2tmb3JtLnBnYWRt aW4nOworaW1wb3J0IEFsZXJ0aWZ5IGZyb20gJ3BnYWRtaW4uYWxlcnRpZnlqcyc7CitpbXBvcnQg JCBmcm9tICdqcXVlcnknOworCitpbXBvcnQgRGlhbG9nV3JhcHBlciBmcm9tICcuL0RpYWxvZ1dy YXBwZXInOworaW1wb3J0IF8gZnJvbSAnbG9kYXNoJzsKKworZXhwb3J0IGRlZmF1bHQgY2xhc3Mg TWFueVRvTWFueURpYWxvZyB7CisgIGNvbnN0cnVjdG9yKHBnQnJvd3NlcikgeworICAgIHRoaXMu cGdCcm93c2VyID0gcGdCcm93c2VyOworICB9CisKKyAgZGlhbG9nTmFtZSgpIHsKKyAgICByZXR1 cm4gJ21hbnl0b21hbnlfZGlhbG9nJzsKKyAgfQorCisgIGdldERhdGFNb2RlbChhdHRyaWJ1dGVz LCB0YWJsZU5vZGVzRGljdCkgeworICAgIGNvbnN0IHBhcnNlQ29sdW1ucyA9IChjb2x1bW5zKT0+ eworICAgICAgcmV0dXJuIGNvbHVtbnMubWFwKChjb2wpPT57CisgICAgICAgIHJldHVybiB7Cisg ICAgICAgICAgdmFsdWU6IGNvbC5hdHRudW0sIGxhYmVsOiBjb2wubmFtZSwKKyAgICAgICAgfTsK KyAgICAgIH0pOworICAgIH07CisKKyAgICBsZXQgZGlhbG9nTW9kZWwgPSB0aGlzLnBnQnJvd3Nl ci5EYXRhTW9kZWwuZXh0ZW5kKHsKKyAgICAgIGRlZmF1bHRzOiB7CisgICAgICAgIGxlZnRfdGFi bGVfdWlkOiB1bmRlZmluZWQsCisgICAgICAgIGxlZnRfdGFibGVfY29sdW1uX2F0dG51bTogdW5k ZWZpbmVkLAorICAgICAgICByaWdodF90YWJsZV91aWQ6IHVuZGVmaW5lZCwKKyAgICAgICAgcmln aHRfdGFibGVfY29sdW1uX2F0dG51bTogdW5kZWZpbmVkLAorICAgICAgfSwKKyAgICAgIHNjaGVt YTogW3sKKyAgICAgICAgaWQ6ICdsZWZ0X3RhYmxlX3VpZCcsIGxhYmVsOiBnZXR0ZXh0KCdMZWZ0 IFRhYmxlJyksCisgICAgICAgIHR5cGU6ICdzZWxlY3QyJywgcmVhZG9ubHk6IHRydWUsCisgICAg ICAgIG9wdGlvbnM6ICgpPT57CisgICAgICAgICAgbGV0IHJldE9wdHMgPSBbXTsKKyAgICAgICAg ICBfLmZvckVhY2godGFibGVOb2Rlc0RpY3QsIChub2RlLCB1aWQpPT57CisgICAgICAgICAgICBs ZXQgW3NjaGVtYSwgbmFtZV0gPSBub2RlLmdldFNjaGVtYVRhYmxlTmFtZSgpOworICAgICAgICAg ICAgcmV0T3B0cy5wdXNoKHt2YWx1ZTogdWlkLCBsYWJlbDogYCgke3NjaGVtYX0pICR7bmFtZX1g fSk7CisgICAgICAgICAgfSk7CisgICAgICAgICAgcmV0dXJuIHJldE9wdHM7CisgICAgICAgIH0s CisgICAgICB9LCB7CisgICAgICAgIGlkOiAnbGVmdF90YWJsZV9jb2x1bW5fYXR0bnVtJywgbGFi ZWw6IGdldHRleHQoJ0xlZnQgdGFibGUgQ29sdW1uJyksCisgICAgICAgIHR5cGU6ICdzZWxlY3Qy JywgZGlzYWJsZWQ6IGZhbHNlLCBmaXJzdF9lbXB0eTogZmFsc2UsCisgICAgICAgIGVkaXRhYmxl OiB0cnVlLCBvcHRpb25zOiAodmlldyk9PnsKKyAgICAgICAgICByZXR1cm4gcGFyc2VDb2x1bW5z KHRhYmxlTm9kZXNEaWN0W3ZpZXcubW9kZWwuZ2V0KCdsZWZ0X3RhYmxlX3VpZCcpXS5nZXRDb2x1 bW5zKCkpOworICAgICAgICB9LAorICAgICAgfSx7CisgICAgICAgIGlkOiAncmlnaHRfdGFibGVf dWlkJywgbGFiZWw6IGdldHRleHQoJ1JpZ2h0IFRhYmxlJyksCisgICAgICAgIHR5cGU6ICdzZWxl Y3QyJywgZGlzYWJsZWQ6IGZhbHNlLAorICAgICAgICBlZGl0YWJsZTogdHJ1ZSwgb3B0aW9uczog KHZpZXcpPT57CisgICAgICAgICAgbGV0IHJldE9wdHMgPSBbXTsKKyAgICAgICAgICBfLmZvckVh Y2godGFibGVOb2Rlc0RpY3QsIChub2RlLCB1aWQpPT57CisgICAgICAgICAgICBpZih1aWQgPT09 IHZpZXcubW9kZWwuZ2V0KCdsZWZ0X3RhYmxlX3VpZCcpKSB7CisgICAgICAgICAgICAgIHJldHVy bjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGxldCBbc2NoZW1hLCBuYW1lXSA9IG5vZGUu Z2V0U2NoZW1hVGFibGVOYW1lKCk7CisgICAgICAgICAgICByZXRPcHRzLnB1c2goe3ZhbHVlOiB1 aWQsIGxhYmVsOiBgKCR7c2NoZW1hfSkgJHtuYW1lfWB9KTsKKyAgICAgICAgICB9KTsKKyAgICAg ICAgICByZXR1cm4gcmV0T3B0czsKKyAgICAgICAgfSwKKyAgICAgIH0seworICAgICAgICBpZDog J3JpZ2h0X3RhYmxlX2NvbHVtbl9hdHRudW0nLCBsYWJlbDogZ2V0dGV4dCgnUmlnaHQgdGFibGUg Q29sdW1uJyksCisgICAgICAgIHR5cGU6ICdzZWxlY3QyJywgZGlzYWJsZWQ6IGZhbHNlLCBkZXBz OiBbJ3JpZ2h0X3RhYmxlX3VpZCddLAorICAgICAgICBlZGl0YWJsZTogdHJ1ZSwgb3B0aW9uczog KHZpZXcpPT57CisgICAgICAgICAgaWYodmlldy5tb2RlbC5nZXQoJ3JpZ2h0X3RhYmxlX3VpZCcp KSB7CisgICAgICAgICAgICByZXR1cm4gcGFyc2VDb2x1bW5zKHRhYmxlTm9kZXNEaWN0W3ZpZXcu bW9kZWwuZ2V0KCdyaWdodF90YWJsZV91aWQnKV0uZ2V0Q29sdW1ucygpKTsKKyAgICAgICAgICB9 CisgICAgICAgICAgcmV0dXJuIFtdOworICAgICAgICB9LAorICAgICAgfV0sCisgICAgICB2YWxp ZGF0ZTogZnVuY3Rpb24oa2V5cykgeworICAgICAgICB2YXIgbXNnID0gdW5kZWZpbmVkOworCisg ICAgICAgIC8vIE5vdGhpbmcgdG8gdmFsaWRhdGUKKyAgICAgICAgaWYgKGtleXMgJiYga2V5cy5s ZW5ndGggPT0gMCkgeworICAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC5jbGVhcigpOworICAgICAg ICAgIHJldHVybiBudWxsOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgIHRoaXMuZXJyb3JN b2RlbC5jbGVhcigpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKF8uaXNVbmRlZmluZWQodGhp cy5nZXQoJ2xlZnRfdGFibGVfY29sdW1uX2F0dG51bScpKSB8fCB0aGlzLmdldCgnbGVmdF90YWJs ZV9jb2x1bW5fYXR0bnVtJykgPT0gJycpIHsKKyAgICAgICAgICBtc2cgPSBnZXR0ZXh0KCdTZWxl Y3QgdGhlIGxlZnQgdGFibGUgY29sdW1uLicpOworICAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC5z ZXQoJ2xlZnRfdGFibGVfY29sdW1uX2F0dG51bScsIG1zZyk7CisgICAgICAgICAgcmV0dXJuIG1z ZzsKKyAgICAgICAgfQorICAgICAgICBpZiAoXy5pc1VuZGVmaW5lZCh0aGlzLmdldCgncmlnaHRf dGFibGVfdWlkJykpIHx8IHRoaXMuZ2V0KCdyaWdodF90YWJsZV91aWQnKSA9PSAnJykgeworICAg ICAgICAgIG1zZyA9IGdldHRleHQoJ1NlbGVjdCB0aGUgcmlnaHQgdGFibGUuJyk7CisgICAgICAg ICAgdGhpcy5lcnJvck1vZGVsLnNldCgncmlnaHRfdGFibGVfdWlkJywgbXNnKTsKKyAgICAgICAg ICByZXR1cm4gbXNnOworICAgICAgICB9CisgICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKHRoaXMu Z2V0KCdyaWdodF90YWJsZV9jb2x1bW5fYXR0bnVtJykpIHx8IHRoaXMuZ2V0KCdyaWdodF90YWJs ZV9jb2x1bW5fYXR0bnVtJykgPT0gJycpIHsKKyAgICAgICAgICBtc2cgPSBnZXR0ZXh0KCdTZWxl Y3QgdGhlIHJpZ2h0IHRhYmxlIGNvbHVtbi4nKTsKKyAgICAgICAgICB0aGlzLmVycm9yTW9kZWwu c2V0KCdyaWdodF90YWJsZV9jb2x1bW5fYXR0bnVtJywgbXNnKTsKKyAgICAgICAgICByZXR1cm4g bXNnOworICAgICAgICB9CisgICAgICB9LAorICAgIH0pOworCisgICAgcmV0dXJuIG5ldyBkaWFs b2dNb2RlbChhdHRyaWJ1dGVzKTsKKyAgfQorCisgIGNyZWF0ZU9yR2V0RGlhbG9nKHRpdGxlKSB7 CisgICAgY29uc3QgZGlhbG9nTmFtZSA9IHRoaXMuZGlhbG9nTmFtZSgpOworCisgICAgaWYgKCFB bGVydGlmeVtkaWFsb2dOYW1lXSkgeworICAgICAgQWxlcnRpZnkuZGlhbG9nKGRpYWxvZ05hbWUs ICgpID0+IHsKKyAgICAgICAgcmV0dXJuIG5ldyBEaWFsb2dXcmFwcGVyKAorICAgICAgICAgIGA8 ZGl2IGNsYXNzPSIke2RpYWxvZ05hbWV9Ij48L2Rpdj5gLAorICAgICAgICAgIHRpdGxlLAorICAg ICAgICAgIG51bGwsCisgICAgICAgICAgJCwKKyAgICAgICAgICB0aGlzLnBnQnJvd3NlciwKKyAg ICAgICAgICBBbGVydGlmeSwKKyAgICAgICAgICBCYWNrZm9ybQorICAgICAgICApOworICAgICAg fSk7CisgICAgfQorICAgIHJldHVybiBBbGVydGlmeVtkaWFsb2dOYW1lXTsKKyAgfQorCisgIHNo b3codGl0bGUsIGF0dHJpYnV0ZXMsIHRhYmxlc0RhdGEsIHNWZXJzaW9uLCBjYWxsYmFjaykgewor ICAgIGxldCBkaWFsb2dUaXRsZSA9IHRpdGxlIHx8IGdldHRleHQoJ1Vua25vd24nKTsKKyAgICBj b25zdCBkaWFsb2cgPSB0aGlzLmNyZWF0ZU9yR2V0RGlhbG9nKCdtYW55dG9tYW55X2RpYWxvZycp OworICAgIGRpYWxvZyhkaWFsb2dUaXRsZSwgdGhpcy5nZXREYXRhTW9kZWwoYXR0cmlidXRlcywg dGFibGVzRGF0YSksIGNhbGxiYWNrKS5yZXNpemVUbyh0aGlzLnBnQnJvd3Nlci5zdGRXLnNtLCB0 aGlzLnBnQnJvd3Nlci5zdGRILm1kKTsKKyAgfQorfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4v dG9vbHMvZXJkL3N0YXRpYy9qcy9lcmRfdG9vbC9kaWFsb2dzL09uZVRvTWFueURpYWxvZy5qcyBi L3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMvanMvZXJkX3Rvb2wvZGlhbG9ncy9PbmVUb01h bnlEaWFsb2cuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4wZjRhOWNl M2UKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pzL2Vy ZF90b29sL2RpYWxvZ3MvT25lVG9NYW55RGlhbG9nLmpzCkBAIC0wLDAgKzEsMTQwIEBACisvLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v CisvLworLy8gcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworLy8KKy8vIENvcHlyaWdodCAo QykgMjAxMyAtIDIwMjAsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKy8vIFRoaXMgc29m dHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorLy8KKy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v CisKK2ltcG9ydCBnZXR0ZXh0IGZyb20gJ3NvdXJjZXMvZ2V0dGV4dCc7CitpbXBvcnQgQmFja2Zv cm0gZnJvbSAnc291cmNlcy9iYWNrZm9ybS5wZ2FkbWluJzsKK2ltcG9ydCBBbGVydGlmeSBmcm9t ICdwZ2FkbWluLmFsZXJ0aWZ5anMnOworaW1wb3J0ICQgZnJvbSAnanF1ZXJ5JzsKKworaW1wb3J0 IERpYWxvZ1dyYXBwZXIgZnJvbSAnLi9EaWFsb2dXcmFwcGVyJzsKK2ltcG9ydCBfIGZyb20gJ2xv ZGFzaCc7CisKK2V4cG9ydCBkZWZhdWx0IGNsYXNzIE9uZVRvTWFueURpYWxvZyB7CisgIGNvbnN0 cnVjdG9yKHBnQnJvd3NlcikgeworICAgIHRoaXMucGdCcm93c2VyID0gcGdCcm93c2VyOworICB9 CisKKyAgZGlhbG9nTmFtZSgpIHsKKyAgICByZXR1cm4gJ29uZXRvbWFueV9kaWFsb2cnOworICB9 CisKKyAgZ2V0RGF0YU1vZGVsKGF0dHJpYnV0ZXMsIHRhYmxlTm9kZXNEaWN0KSB7CisgICAgY29u c3QgcGFyc2VDb2x1bW5zID0gKGNvbHVtbnMpPT57CisgICAgICByZXR1cm4gY29sdW1ucy5tYXAo KGNvbCk9PnsKKyAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgICB2YWx1ZTogY29sLmF0dG51bSwg bGFiZWw6IGNvbC5uYW1lLAorICAgICAgICB9OworICAgICAgfSk7CisgICAgfTsKKworICAgIGxl dCBkaWFsb2dNb2RlbCA9IHRoaXMucGdCcm93c2VyLkRhdGFNb2RlbC5leHRlbmQoeworICAgICAg ZGVmYXVsdHM6IHsKKyAgICAgICAgbG9jYWxfdGFibGVfdWlkOiB1bmRlZmluZWQsCisgICAgICAg IGxvY2FsX2NvbHVtbl9hdHRudW06IHVuZGVmaW5lZCwKKyAgICAgICAgcmVmZXJlbmNlZF90YWJs ZV91aWQ6IHVuZGVmaW5lZCwKKyAgICAgICAgcmVmZXJlbmNlZF9jb2x1bW5fYXR0bnVtOiB1bmRl ZmluZWQsCisgICAgICB9LAorICAgICAgc2NoZW1hOiBbeworICAgICAgICBpZDogJ2xvY2FsX3Rh YmxlX3VpZCcsIGxhYmVsOiBnZXR0ZXh0KCdMb2NhbCBUYWJsZScpLAorICAgICAgICB0eXBlOiAn c2VsZWN0MicsIHJlYWRvbmx5OiB0cnVlLAorICAgICAgICBvcHRpb25zOiAoKT0+eworICAgICAg ICAgIGxldCByZXRPcHRzID0gW107CisgICAgICAgICAgXy5mb3JFYWNoKHRhYmxlTm9kZXNEaWN0 LCAobm9kZSwgdWlkKT0+eworICAgICAgICAgICAgbGV0IFtzY2hlbWEsIG5hbWVdID0gbm9kZS5n ZXRTY2hlbWFUYWJsZU5hbWUoKTsKKyAgICAgICAgICAgIHJldE9wdHMucHVzaCh7dmFsdWU6IHVp ZCwgbGFiZWw6IGAoJHtzY2hlbWF9KSAke25hbWV9YH0pOworICAgICAgICAgIH0pOworICAgICAg ICAgIHJldHVybiByZXRPcHRzOworICAgICAgICB9LAorICAgICAgfSwgeworICAgICAgICBpZDog J2xvY2FsX2NvbHVtbl9hdHRudW0nLCBsYWJlbDogZ2V0dGV4dCgnTG9jYWwgQ29sdW1uJyksCisg ICAgICAgIHR5cGU6ICdzZWxlY3QyJywgZGlzYWJsZWQ6IGZhbHNlLCBmaXJzdF9lbXB0eTogZmFs c2UsCisgICAgICAgIGVkaXRhYmxlOiB0cnVlLCBvcHRpb25zOiAodmlldyk9PnsKKyAgICAgICAg ICByZXR1cm4gcGFyc2VDb2x1bW5zKHRhYmxlTm9kZXNEaWN0W3ZpZXcubW9kZWwuZ2V0KCdsb2Nh bF90YWJsZV91aWQnKV0uZ2V0Q29sdW1ucygpKTsKKyAgICAgICAgfSwKKyAgICAgIH0seworICAg ICAgICBpZDogJ3JlZmVyZW5jZWRfdGFibGVfdWlkJywgbGFiZWw6IGdldHRleHQoJ1JlZmVyZW5j ZWQgVGFibGUnKSwKKyAgICAgICAgdHlwZTogJ3NlbGVjdDInLCBkaXNhYmxlZDogZmFsc2UsCisg ICAgICAgIGVkaXRhYmxlOiB0cnVlLCBvcHRpb25zOiAodmlldyk9PnsKKyAgICAgICAgICBsZXQg cmV0T3B0cyA9IFtdOworICAgICAgICAgIF8uZm9yRWFjaCh0YWJsZU5vZGVzRGljdCwgKG5vZGUs IHVpZCk9PnsKKyAgICAgICAgICAgIGlmKHVpZCA9PT0gdmlldy5tb2RlbC5nZXQoJ2xvY2FsX3Rh YmxlX3VpZCcpKSB7CisgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAg ICAgICAgIGxldCBbc2NoZW1hLCBuYW1lXSA9IG5vZGUuZ2V0U2NoZW1hVGFibGVOYW1lKCk7Cisg ICAgICAgICAgICByZXRPcHRzLnB1c2goe3ZhbHVlOiB1aWQsIGxhYmVsOiBgKCR7c2NoZW1hfSkg JHtuYW1lfWB9KTsKKyAgICAgICAgICB9KTsKKyAgICAgICAgICByZXR1cm4gcmV0T3B0czsKKyAg ICAgICAgfSwKKyAgICAgIH0seworICAgICAgICBpZDogJ3JlZmVyZW5jZWRfY29sdW1uX2F0dG51 bScsIGxhYmVsOiBnZXR0ZXh0KCdSZWZlcmVuY2VkIENvbHVtbicpLAorICAgICAgICB0eXBlOiAn c2VsZWN0MicsIGRpc2FibGVkOiBmYWxzZSwgZGVwczogWydyZWZlcmVuY2VkX3RhYmxlX3VpZCdd LAorICAgICAgICBlZGl0YWJsZTogdHJ1ZSwgb3B0aW9uczogKHZpZXcpPT57CisgICAgICAgICAg aWYodmlldy5tb2RlbC5nZXQoJ3JlZmVyZW5jZWRfdGFibGVfdWlkJykpIHsKKyAgICAgICAgICAg IHJldHVybiBwYXJzZUNvbHVtbnModGFibGVOb2Rlc0RpY3Rbdmlldy5tb2RlbC5nZXQoJ3JlZmVy ZW5jZWRfdGFibGVfdWlkJyldLmdldENvbHVtbnMoKSk7CisgICAgICAgICAgfQorICAgICAgICAg IHJldHVybiBbXTsKKyAgICAgICAgfSwKKyAgICAgIH1dLAorICAgICAgdmFsaWRhdGU6IGZ1bmN0 aW9uKGtleXMpIHsKKyAgICAgICAgdmFyIG1zZyA9IHVuZGVmaW5lZDsKKworICAgICAgICAvLyBO b3RoaW5nIHRvIHZhbGlkYXRlCisgICAgICAgIGlmIChrZXlzICYmIGtleXMubGVuZ3RoID09IDAp IHsKKyAgICAgICAgICB0aGlzLmVycm9yTW9kZWwuY2xlYXIoKTsKKyAgICAgICAgICByZXR1cm4g bnVsbDsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICB0aGlzLmVycm9yTW9kZWwuY2xlYXIo KTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKHRoaXMuZ2V0KCdsb2Nh bF9jb2x1bW5fYXR0bnVtJykpIHx8IHRoaXMuZ2V0KCdsb2NhbF9jb2x1bW5fYXR0bnVtJykgPT0g JycpIHsKKyAgICAgICAgICBtc2cgPSBnZXR0ZXh0KCdTZWxlY3QgdGhlIGxvY2FsIGNvbHVtbi4n KTsKKyAgICAgICAgICB0aGlzLmVycm9yTW9kZWwuc2V0KCdsb2NhbF9jb2x1bW5fYXR0bnVtJywg bXNnKTsKKyAgICAgICAgICByZXR1cm4gbXNnOworICAgICAgICB9CisgICAgICAgIGlmIChfLmlz VW5kZWZpbmVkKHRoaXMuZ2V0KCdyZWZlcmVuY2VkX3RhYmxlX3VpZCcpKSB8fCB0aGlzLmdldCgn cmVmZXJlbmNlZF90YWJsZV91aWQnKSA9PSAnJykgeworICAgICAgICAgIG1zZyA9IGdldHRleHQo J1NlbGVjdCB0aGUgcmVmZXJlbmNlZCB0YWJsZS4nKTsKKyAgICAgICAgICB0aGlzLmVycm9yTW9k ZWwuc2V0KCdyZWZlcmVuY2VkX3RhYmxlX3VpZCcsIG1zZyk7CisgICAgICAgICAgcmV0dXJuIG1z ZzsKKyAgICAgICAgfQorICAgICAgICBpZiAoXy5pc1VuZGVmaW5lZCh0aGlzLmdldCgncmVmZXJl bmNlZF9jb2x1bW5fYXR0bnVtJykpIHx8IHRoaXMuZ2V0KCdyZWZlcmVuY2VkX2NvbHVtbl9hdHRu dW0nKSA9PSAnJykgeworICAgICAgICAgIG1zZyA9IGdldHRleHQoJ1NlbGVjdCB0aGUgcmVmZXJl bmNlZCB0YWJsZSBjb2x1bW4uJyk7CisgICAgICAgICAgdGhpcy5lcnJvck1vZGVsLnNldCgncmVm ZXJlbmNlZF9jb2x1bW5fYXR0bnVtJywgbXNnKTsKKyAgICAgICAgICByZXR1cm4gbXNnOworICAg ICAgICB9CisgICAgICB9LAorICAgIH0pOworCisgICAgcmV0dXJuIG5ldyBkaWFsb2dNb2RlbChh dHRyaWJ1dGVzKTsKKyAgfQorCisgIGNyZWF0ZU9yR2V0RGlhbG9nKHRpdGxlKSB7CisgICAgY29u c3QgZGlhbG9nTmFtZSA9IHRoaXMuZGlhbG9nTmFtZSgpOworCisgICAgaWYgKCFBbGVydGlmeVtk aWFsb2dOYW1lXSkgeworICAgICAgQWxlcnRpZnkuZGlhbG9nKGRpYWxvZ05hbWUsICgpID0+IHsK KyAgICAgICAgcmV0dXJuIG5ldyBEaWFsb2dXcmFwcGVyKAorICAgICAgICAgIGA8ZGl2IGNsYXNz PSIke2RpYWxvZ05hbWV9Ij48L2Rpdj5gLAorICAgICAgICAgIHRpdGxlLAorICAgICAgICAgIG51 bGwsCisgICAgICAgICAgJCwKKyAgICAgICAgICB0aGlzLnBnQnJvd3NlciwKKyAgICAgICAgICBB bGVydGlmeSwKKyAgICAgICAgICBCYWNrZm9ybQorICAgICAgICApOworICAgICAgfSk7CisgICAg fQorICAgIHJldHVybiBBbGVydGlmeVtkaWFsb2dOYW1lXTsKKyAgfQorCisgIHNob3codGl0bGUs IGF0dHJpYnV0ZXMsIHRhYmxlc0RhdGEsIHNWZXJzaW9uLCBjYWxsYmFjaykgeworICAgIGxldCBk aWFsb2dUaXRsZSA9IHRpdGxlIHx8IGdldHRleHQoJ1Vua25vd24nKTsKKyAgICBjb25zdCBkaWFs b2cgPSB0aGlzLmNyZWF0ZU9yR2V0RGlhbG9nKCdvbmV0b21hbnlfZGlhbG9nJyk7CisgICAgZGlh bG9nKGRpYWxvZ1RpdGxlLCB0aGlzLmdldERhdGFNb2RlbChhdHRyaWJ1dGVzLCB0YWJsZXNEYXRh KSwgY2FsbGJhY2spLnJlc2l6ZVRvKHRoaXMucGdCcm93c2VyLnN0ZFcuc20sIHRoaXMucGdCcm93 c2VyLnN0ZEgubWQpOworICB9Cit9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9lcmQv c3RhdGljL2pzL2VyZF90b29sL2RpYWxvZ3MvVGFibGVEaWFsb2cuanMgYi93ZWIvcGdhZG1pbi90 b29scy9lcmQvc3RhdGljL2pzL2VyZF90b29sL2RpYWxvZ3MvVGFibGVEaWFsb2cuanMKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5lNWQzOGY3MWUKLS0tIC9kZXYvbnVsbAor KysgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pzL2VyZF90b29sL2RpYWxvZ3MvVGFi bGVEaWFsb2cuanMKQEAgLTAsMCArMSw3MzEgQEAKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyBwZ0FkbWluIDQgLSBQ b3N0Z3JlU1FMIFRvb2xzCisvLworLy8gQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAyMCwgVGhlIHBn QWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorLy8gVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRl ciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisvLworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworaW1wb3J0IGdldHRleHQgZnJv bSAnc291cmNlcy9nZXR0ZXh0JzsKK2ltcG9ydCBCYWNrZ3JpZCBmcm9tICdzb3VyY2VzL2JhY2tn cmlkLnBnYWRtaW4nOworaW1wb3J0IEJhY2tmb3JtIGZyb20gJ3NvdXJjZXMvYmFja2Zvcm0ucGdh ZG1pbic7CitpbXBvcnQgQWxlcnRpZnkgZnJvbSAncGdhZG1pbi5hbGVydGlmeWpzJzsKK2ltcG9y dCAkIGZyb20gJ2pxdWVyeSc7CitpbXBvcnQgXyBmcm9tICdsb2Rhc2gnOworCitpbXBvcnQgRGlh bG9nV3JhcHBlciBmcm9tICcuL0RpYWxvZ1dyYXBwZXInOworCitleHBvcnQgZnVuY3Rpb24gdHJh bnNmb3JtVG9TdXBwb3J0ZWQoZGF0YSkgeworICAvKiBUYWJsZSBmaWVsZHMgKi8KKyAgZGF0YSA9 IF8ucGljayhkYXRhLCBbJ29pZCcsICduYW1lJywgJ3NjaGVtYScsICdkZXNjcmlwdGlvbicsICdj b2x1bW5zJywgJ3ByaW1hcnlfa2V5JywgJ2ZvcmVpZ25fa2V5J10pOworCisgIC8qIENvbHVtbnMg Ki8KKyAgZGF0YVsnY29sdW1ucyddID0gZGF0YVsnY29sdW1ucyddLm1hcCgoY29sdW1uKT0+ewor ICAgIHJldHVybiBfLnBpY2soY29sdW1uLFsKKyAgICAgICduYW1lJywnZGVzY3JpcHRpb24nLCdh dHRvd25lcicsJ2F0dG51bScsJ2NsdHlwZScsJ21pbl92YWxfYXR0bGVuJywnbWluX3ZhbF9hdHRw cmVjaXNpb24nLCdtYXhfdmFsX2F0dGxlbicsCisgICAgICAnbWF4X3ZhbF9hdHRwcmVjaXNpb24n LCAnaXNfcHJpbWFyeV9rZXknLCdhdHRub3RudWxsJywnYXR0bGVuJywnYXR0cHJlY2lzaW9uJywn YXR0aWRlbnRpdHknLCdjb2xjb25zdHlwZScsCisgICAgICAnc2VxaW5jcmVtZW50Jywnc2Vxc3Rh cnQnLCdzZXFtaW4nLCdzZXFtYXgnLCdzZXFjYWNoZScsJ3NlcWN5Y2xlJywKKyAgICBdKTsKKyAg fSk7CisKKyAgLyogUHJpbWFyeSBrZXkgKi8KKyAgZGF0YVsncHJpbWFyeV9rZXknXSA9IGRhdGFb J3ByaW1hcnlfa2V5J10ubWFwKChwcmltYXJ5X2tleSk9PnsKKyAgICBwcmltYXJ5X2tleSA9IF8u cGljayhwcmltYXJ5X2tleSwgWydjb2x1bW5zJ10pOworICAgIHByaW1hcnlfa2V5Wydjb2x1bW5z J10gPSBwcmltYXJ5X2tleVsnY29sdW1ucyddLm1hcCgoY29sdW1uKT0+eworICAgICAgcmV0dXJu IF8ucGljayhjb2x1bW4sIFsnY29sdW1uJ10pOworICAgIH0pOworICAgIHJldHVybiBwcmltYXJ5 X2tleTsKKyAgfSk7CisKKyAgcmV0dXJuIGRhdGE7Cit9CisKK2V4cG9ydCBkZWZhdWx0IGNsYXNz IFRhYmxlRGlhbG9nIHsKKyAgY29uc3RydWN0b3IocGdCcm93c2VyKSB7CisgICAgdGhpcy5wZ0Jy b3dzZXIgPSBwZ0Jyb3dzZXI7CisgIH0KKworICBkaWFsb2dOYW1lKCkgeworICAgIHJldHVybiAn ZW50aXR5X2RpYWxvZyc7CisgIH0KKworICBnZXREYXRhTW9kZWwoYXR0cmlidXRlcywgY29sVHlw ZXMsIHNjaGVtYXMsIHNWZXJzaW9uKSB7CisgICAgbGV0IHNlbGYgPSB0aGlzOworICAgIGxldCBj b2x1bW5zTW9kZWwgPSB0aGlzLnBnQnJvd3Nlci5EYXRhTW9kZWwuZXh0ZW5kKHsKKyAgICAgIGlk QXR0cmlidXRlOiAnYXR0bnVtJywKKyAgICAgIGRlZmF1bHRzOiB7CisgICAgICAgIG5hbWU6IHVu ZGVmaW5lZCwKKyAgICAgICAgZGVzY3JpcHRpb246IHVuZGVmaW5lZCwKKyAgICAgICAgYXR0b3du ZXI6IHVuZGVmaW5lZCwKKyAgICAgICAgYXR0bnVtOiB1bmRlZmluZWQsCisgICAgICAgIGNsdHlw ZTogdW5kZWZpbmVkLAorICAgICAgICBtaW5fdmFsX2F0dGxlbjogdW5kZWZpbmVkLAorICAgICAg ICBtaW5fdmFsX2F0dHByZWNpc2lvbjogdW5kZWZpbmVkLAorICAgICAgICBtYXhfdmFsX2F0dGxl bjogdW5kZWZpbmVkLAorICAgICAgICBtYXhfdmFsX2F0dHByZWNpc2lvbjogdW5kZWZpbmVkLAor ICAgICAgICBpc19wcmltYXJ5X2tleTogZmFsc2UsCisgICAgICAgIGF0dG5vdG51bGw6IGZhbHNl LAorICAgICAgICBhdHRsZW46IG51bGwsCisgICAgICAgIGF0dHByZWNpc2lvbjogbnVsbCwKKyAg ICAgICAgYXR0aWRlbnRpdHk6ICdhJywKKyAgICAgICAgY29sY29uc3R5cGU6ICduJywKKyAgICAg ICAgc2VxaW5jcmVtZW50OiB1bmRlZmluZWQsCisgICAgICAgIHNlcXN0YXJ0OiB1bmRlZmluZWQs CisgICAgICAgIHNlcW1pbjogdW5kZWZpbmVkLAorICAgICAgICBzZXFtYXg6IHVuZGVmaW5lZCwK KyAgICAgICAgc2VxY2FjaGU6IHVuZGVmaW5lZCwKKyAgICAgICAgc2VxY3ljbGU6IHVuZGVmaW5l ZCwKKyAgICAgIH0sCisgICAgICBpbml0aWFsaXplOiBmdW5jdGlvbihhdHRycykgeworICAgICAg ICBpZiAoXy5zaXplKGF0dHJzKSAhPT0gMCkgeworICAgICAgICAgIHRoaXMuc2V0KHsKKyAgICAg ICAgICAgICdvbGRfYXR0aWRlbnRpdHknOiB0aGlzLmdldCgnYXR0aWRlbnRpdHknKSwKKyAgICAg ICAgICB9LCB7c2lsZW50OiB0cnVlfSk7CisgICAgICAgIH0KKyAgICAgICAgc2VsZi5wZ0Jyb3dz ZXIuRGF0YU1vZGVsLnByb3RvdHlwZS5pbml0aWFsaXplLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7 CisKKyAgICAgICAgaWYoIXRoaXMuZ2V0KCdjbHR5cGUnKSAmJiBjb2xUeXBlcy5sZW5ndGggPiAw KSB7CisgICAgICAgICAgdGhpcy5zZXQoeworICAgICAgICAgICAgJ2NsdHlwZSc6IGNvbFR5cGVz WzBdWyd2YWx1ZSddLAorICAgICAgICAgIH0sIHtzaWxlbnQ6IHRydWV9KTsKKyAgICAgICAgfQor ICAgICAgfSwKKyAgICAgIHNjaGVtYTogW3sKKyAgICAgICAgaWQ6ICduYW1lJywgbGFiZWw6IGdl dHRleHQoJ05hbWUnKSwgY2VsbDogJ3N0cmluZycsCisgICAgICAgIHR5cGU6ICd0ZXh0JywgZGlz YWJsZWQ6IGZhbHNlLAorICAgICAgICBjZWxsSGVhZGVyQ2xhc3NlczogJ3dpZHRoX3BlcmNlbnRf MzAnLAorICAgICAgICBlZGl0YWJsZTogdHJ1ZSwKKyAgICAgIH0sIHsKKyAgICAgICAgLy8gTmVl ZCB0byBzaG93IHRoaXMgZmllbGQgb25seSB3aGVuIGNyZWF0aW5nIG5ldyB0YWJsZQorICAgICAg ICAvLyBbaW4gU3ViTm9kZSBjb250cm9sXQorICAgICAgICBpZDogJ2lzX3ByaW1hcnlfa2V5Jywg bGFiZWw6IGdldHRleHQoJ1ByaW1hcnkga2V5PycpLAorICAgICAgICBjZWxsOiBCYWNrZ3JpZC5F eHRlbnNpb24uVGFibGVDaGlsZFN3aXRjaENlbGwsIHR5cGU6ICdzd2l0Y2gnLAorICAgICAgICBk ZXBzOiBbJ25hbWUnXSwgY2VsbEhlYWRlckNsYXNzZXM6ICd3aWR0aF9wZXJjZW50XzUnLAorICAg ICAgICBvcHRpb25zOiB7CisgICAgICAgICAgb25UZXh0OiBnZXR0ZXh0KCdZZXMnKSwgb2ZmVGV4 dDogZ2V0dGV4dCgnTm8nKSwKKyAgICAgICAgICBvbkNvbG9yOiAnc3VjY2VzcycsIG9mZkNvbG9y OiAndGVybmFyeScsCisgICAgICAgIH0sCisgICAgICAgIHZpc2libGU6IGZ1bmN0aW9uICgpIHsK KyAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfSwKKyAgICAgICAgZGlzYWJsZWQ6IGZh bHNlLAorICAgICAgICBlZGl0YWJsZTogdHJ1ZSwKKyAgICAgIH0sIHsKKyAgICAgICAgaWQ6ICdk ZXNjcmlwdGlvbicsIGxhYmVsOiBnZXR0ZXh0KCdDb21tZW50JyksIGNlbGw6ICdzdHJpbmcnLCB0 eXBlOiAnbXVsdGlsaW5lJywKKyAgICAgIH0sIHsKKyAgICAgICAgaWQ6ICdjbHR5cGUnLCBsYWJl bDogZ2V0dGV4dCgnRGF0YSB0eXBlJyksCisgICAgICAgIGNlbGw6ICdzZWxlY3QyJywKKyAgICAg ICAgdHlwZTogJ3NlbGVjdDInLCBkaXNhYmxlZDogZmFsc2UsCisgICAgICAgIGNvbnRyb2w6ICdz ZWxlY3QyJywKKyAgICAgICAgY2VsbEhlYWRlckNsYXNzZXM6ICd3aWR0aF9wZXJjZW50XzMwJywK KyAgICAgICAgc2VsZWN0MjogeyBhbGxvd0NsZWFyOiBmYWxzZSwgZmlyc3RfZW1wdHk6IGZhbHNl IH0sIGdyb3VwOiBnZXR0ZXh0KCdEZWZpbml0aW9uJyksCisgICAgICAgIG9wdGlvbnM6IGZ1bmN0 aW9uICgpIHsKKyAgICAgICAgICByZXR1cm4gY29sVHlwZXM7CisgICAgICAgIH0sCisgICAgICB9 LCB7CisgICAgICAgIGlkOiAnYXR0bGVuJywgbGFiZWw6IGdldHRleHQoJ0xlbmd0aC9QcmVjaXNp b24nKSwgY2VsbDogQmFja2dyaWQuRXh0ZW5zaW9uLkludGVnZXJEZXBDZWxsLAorICAgICAgICBk ZXBzOiBbJ2NsdHlwZSddLCB0eXBlOiAnaW50JywgZ3JvdXA6IGdldHRleHQoJ0RlZmluaXRpb24n KSwgY2VsbEhlYWRlckNsYXNzZXM6ICd3aWR0aF9wZXJjZW50XzIwJywKKyAgICAgICAgZGlzYWJs ZWQ6IGZ1bmN0aW9uIChtKSB7CisgICAgICAgICAgdmFyIG9mX3R5cGUgPSBtLmdldCgnY2x0eXBl JyksCisgICAgICAgICAgICBmbGFnID0gdHJ1ZTsKKyAgICAgICAgICBfLmVhY2goY29sVHlwZXMs IGZ1bmN0aW9uIChvKSB7CisgICAgICAgICAgICBpZiAob2ZfdHlwZSA9PSBvLnZhbHVlKSB7Cisg ICAgICAgICAgICAgIGlmIChvLmxlbmd0aCkgeworICAgICAgICAgICAgICAgIG0uc2V0KCdtaW5f dmFsX2F0dGxlbicsIG8ubWluX3ZhbCwgeyBzaWxlbnQ6IHRydWUgfSk7CisgICAgICAgICAgICAg ICAgbS5zZXQoJ21heF92YWxfYXR0bGVuJywgby5tYXhfdmFsLCB7IHNpbGVudDogdHJ1ZSB9KTsK KyAgICAgICAgICAgICAgICBmbGFnID0gZmFsc2U7CisgICAgICAgICAgICAgIH0KKyAgICAgICAg ICAgIH0KKyAgICAgICAgICB9KTsKKworICAgICAgICAgIGZsYWcgJiYgc2V0VGltZW91dChmdW5j dGlvbiAoKSB7CisgICAgICAgICAgICBpZiAobS5nZXQoJ2F0dGxlbicpKSB7CisgICAgICAgICAg ICAgIG0uc2V0KCdhdHRsZW4nLCBudWxsKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9LCAx MCk7CisKKyAgICAgICAgICByZXR1cm4gZmxhZzsKKyAgICAgICAgfSwKKyAgICAgICAgZWRpdGFi bGU6IGZ1bmN0aW9uIChtKSB7CisgICAgICAgICAgdmFyIG9mX3R5cGUgPSBtLmdldCgnY2x0eXBl JyksCisgICAgICAgICAgICBmbGFnID0gZmFsc2U7CisgICAgICAgICAgXy5lYWNoKGNvbFR5cGVz LCBmdW5jdGlvbiAobykgeworICAgICAgICAgICAgaWYgKG9mX3R5cGUgPT0gby52YWx1ZSkgewor ICAgICAgICAgICAgICBpZiAoby5sZW5ndGgpIHsKKyAgICAgICAgICAgICAgICBtLnNldCgnbWlu X3ZhbF9hdHRsZW4nLCBvLm1pbl92YWwsIHsgc2lsZW50OiB0cnVlIH0pOworICAgICAgICAgICAg ICAgIG0uc2V0KCdtYXhfdmFsX2F0dGxlbicsIG8ubWF4X3ZhbCwgeyBzaWxlbnQ6IHRydWUgfSk7 CisgICAgICAgICAgICAgICAgZmxhZyA9IHRydWU7CisgICAgICAgICAgICAgIH0KKyAgICAgICAg ICAgIH0KKyAgICAgICAgICB9KTsKKworICAgICAgICAgICFmbGFnICYmIHNldFRpbWVvdXQoZnVu Y3Rpb24gKCkgeworICAgICAgICAgICAgaWYgKG0uZ2V0KCdhdHRsZW4nKSkgeworICAgICAgICAg ICAgICBtLnNldCgnYXR0bGVuJywgbnVsbCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgfSwg MTApOworCisgICAgICAgICAgcmV0dXJuIGZsYWc7CisgICAgICAgIH0sCisgICAgICB9LCB7Cisg ICAgICAgIGlkOiAnYXR0cHJlY2lzaW9uJywgbGFiZWw6IGdldHRleHQoJ1NjYWxlJyksIGNlbGw6 IEJhY2tncmlkLkV4dGVuc2lvbi5JbnRlZ2VyRGVwQ2VsbCwKKyAgICAgICAgZGVwczogWydjbHR5 cGUnXSwgdHlwZTogJ2ludCcsIGdyb3VwOiBnZXR0ZXh0KCdEZWZpbml0aW9uJyksIGNlbGxIZWFk ZXJDbGFzc2VzOiAnd2lkdGhfcGVyY2VudF8yMCcsCisgICAgICAgIGRpc2FibGVkOiBmdW5jdGlv biAobSkgeworICAgICAgICAgIHZhciBvZl90eXBlID0gbS5nZXQoJ2NsdHlwZScpLAorICAgICAg ICAgICAgZmxhZyA9IHRydWU7CisgICAgICAgICAgXy5lYWNoKGNvbFR5cGVzLCBmdW5jdGlvbiAo bykgeworICAgICAgICAgICAgaWYgKG9mX3R5cGUgPT0gby52YWx1ZSkgeworICAgICAgICAgICAg ICBpZiAoby5wcmVjaXNpb24pIHsKKyAgICAgICAgICAgICAgICBtLnNldCgnbWluX3ZhbF9hdHRw cmVjaXNpb24nLCAwLCB7IHNpbGVudDogdHJ1ZSB9KTsKKyAgICAgICAgICAgICAgICBtLnNldCgn bWF4X3ZhbF9hdHRwcmVjaXNpb24nLCBvLm1heF92YWwsIHsgc2lsZW50OiB0cnVlIH0pOworICAg ICAgICAgICAgICAgIGZsYWcgPSBmYWxzZTsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAg fQorICAgICAgICAgIH0pOworCisgICAgICAgICAgZmxhZyAmJiBzZXRUaW1lb3V0KGZ1bmN0aW9u ICgpIHsKKyAgICAgICAgICAgIGlmIChtLmdldCgnYXR0cHJlY2lzaW9uJykpIHsKKyAgICAgICAg ICAgICAgbS5zZXQoJ2F0dHByZWNpc2lvbicsIG51bGwpOworICAgICAgICAgICAgfQorICAgICAg ICAgIH0sIDEwKTsKKyAgICAgICAgICByZXR1cm4gZmxhZzsKKyAgICAgICAgfSwKKyAgICAgICAg ZWRpdGFibGU6IGZ1bmN0aW9uIChtKSB7CisgICAgICAgICAgaWYgKCFjb2xUeXBlcykgeworICAg ICAgICAgICAgLy8gZGF0YXR5cGVzIG5vdCBsb2FkZWQgeWV0LCBtYXkgYmUgdGhpcyBjYWxsIGlz IGZyb20gQ2FsbEJ5TmVlZCBmcm9tIGJhY2tncmlkIGNlbGwgaW5pdGlhbGl6ZS4KKyAgICAgICAg ICAgIHJldHVybiB0cnVlOworICAgICAgICAgIH0KKworICAgICAgICAgIHZhciBvZl90eXBlID0g bS5nZXQoJ2NsdHlwZScpLAorICAgICAgICAgICAgZmxhZyA9IGZhbHNlOworICAgICAgICAgIF8u ZWFjaChjb2xUeXBlcywgZnVuY3Rpb24gKG8pIHsKKyAgICAgICAgICAgIGlmIChvZl90eXBlID09 IG8udmFsdWUpIHsKKyAgICAgICAgICAgICAgaWYgKG8ucHJlY2lzaW9uKSB7CisgICAgICAgICAg ICAgICAgbS5zZXQoJ21pbl92YWxfYXR0cHJlY2lzaW9uJywgMCwgeyBzaWxlbnQ6IHRydWUgfSk7 CisgICAgICAgICAgICAgICAgbS5zZXQoJ21heF92YWxfYXR0cHJlY2lzaW9uJywgby5tYXhfdmFs LCB7IHNpbGVudDogdHJ1ZSB9KTsKKyAgICAgICAgICAgICAgICBmbGFnID0gdHJ1ZTsKKyAgICAg ICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgIH0pOworCisgICAgICAgICAgIWZs YWcgJiYgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBpZiAobS5nZXQoJ2F0 dHByZWNpc2lvbicpKSB7CisgICAgICAgICAgICAgIG0uc2V0KCdhdHRwcmVjaXNpb24nLCBudWxs KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9LCAxMCk7CisKKyAgICAgICAgICByZXR1cm4g ZmxhZzsKKyAgICAgICAgfSwKKyAgICAgIH0sIHsKKyAgICAgICAgaWQ6ICdhdHRub3RudWxsJywg bGFiZWw6IGdldHRleHQoJ05vdCBOVUxMPycpLCBjZWxsOiAnc3dpdGNoJywKKyAgICAgICAgdHlw ZTogJ3N3aXRjaCcsIGNlbGxIZWFkZXJDbGFzc2VzOiAnd2lkdGhfcGVyY2VudF8yMCcsCisgICAg ICAgIGdyb3VwOiBnZXR0ZXh0KCdDb25zdHJhaW50cycpLAorICAgICAgICBvcHRpb25zOiB7IG9u VGV4dDogZ2V0dGV4dCgnWWVzJyksIG9mZlRleHQ6IGdldHRleHQoJ05vJyksIG9uQ29sb3I6ICdz dWNjZXNzJywgb2ZmQ29sb3I6ICd0ZXJuYXJ5JyB9LAorICAgICAgICBkaXNhYmxlZDogZnVuY3Rp b24obSkgeworICAgICAgICAgIGlmIChtLmdldCgnY29sY29uc3R5cGUnKSA9PSAnaScpIHsKKyAg ICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICBtLnNldCgn YXR0bm90bnVsbCcsIHRydWUpOworICAgICAgICAgICAgfSwgMTApOworICAgICAgICAgIH0KKyAg ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0sCisgICAgICB9LCB7CisgICAgICAgIGlk OiAnY29sY29uc3R5cGUnLAorICAgICAgICBsYWJlbDogZ2V0dGV4dCgnVHlwZScpLAorICAgICAg ICBjZWxsOiAnc3RyaW5nJywKKyAgICAgICAgdHlwZTogJ3JhZGlvTW9kZXJuJywKKyAgICAgICAg Y29udHJvbHNDbGFzc05hbWU6ICdwZ2FkbWluLWNvbnRyb2xzIGNvbC0xMiBjb2wtc20tOScsCisg ICAgICAgIGNvbnRyb2xMYWJlbENsYXNzTmFtZTogJ2NvbnRyb2wtbGFiZWwgY29sLXNtLTMgY29s LTEyJywKKyAgICAgICAgZ3JvdXA6IGdldHRleHQoJ0NvbnN0cmFpbnRzJyksCisgICAgICAgIG9w dGlvbnM6IGZ1bmN0aW9uKCkgeworICAgICAgICAgIHZhciBvcHRfYXJyYXkgPSBbCisgICAgICAg ICAgICB7J2xhYmVsJzogZ2V0dGV4dCgnTk9ORScpLCAndmFsdWUnOiAnbid9LAorICAgICAgICAg ICAgeydsYWJlbCc6IGdldHRleHQoJ0lERU5USVRZJyksICd2YWx1ZSc6ICdpJ30sCisgICAgICAg ICAgXTsKKworICAgICAgICAgIGlmIChzVmVyc2lvbiA+PSAxMjAwMDApIHsKKyAgICAgICAgICAg IG9wdF9hcnJheS5wdXNoKHsKKyAgICAgICAgICAgICAgJ2xhYmVsJzogZ2V0dGV4dCgnR0VORVJB VEVEJyksCisgICAgICAgICAgICAgICd2YWx1ZSc6ICdnJywKKyAgICAgICAgICAgIH0pOworICAg ICAgICAgIH0KKworICAgICAgICAgIHJldHVybiBvcHRfYXJyYXk7CisgICAgICAgIH0sCisgICAg ICAgIGRpc2FibGVkOiBmYWxzZSwKKyAgICAgICAgdmlzaWJsZTogZnVuY3Rpb24oKSB7CisgICAg ICAgICAgaWYgKHNWZXJzaW9uID49IDEwMDAwMCkgeworICAgICAgICAgICAgcmV0dXJuIHRydWU7 CisgICAgICAgICAgfQorICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfSwKKyAgICAg IH0sIHsKKyAgICAgICAgaWQ6ICdhdHRpZGVudGl0eScsIGxhYmVsOiBnZXR0ZXh0KCdJZGVudGl0 eScpLCBjb250cm9sOiAnc2VsZWN0MicsCisgICAgICAgIGNlbGw6ICdzZWxlY3QyJywKKyAgICAg ICAgc2VsZWN0Mjoge3BsYWNlaG9sZGVyOiAnU2VsZWN0IGlkZW50aXR5JywgYWxsb3dDbGVhcjog ZmFsc2UsIHdpZHRoOiAnMTAwJSd9LAorICAgICAgICBncm91cDogZ2V0dGV4dCgnQ29uc3RyYWlu dHMnKSwKKyAgICAgICAgJ29wdGlvbnMnOiBbCisgICAgICAgICAge2xhYmVsOiBnZXR0ZXh0KCdB TFdBWVMnKSwgdmFsdWU6ICdhJ30sCisgICAgICAgICAge2xhYmVsOiBnZXR0ZXh0KCdCWSBERUZB VUxUJyksIHZhbHVlOiAnZCd9LAorICAgICAgICBdLAorICAgICAgICBkZXBzOiBbJ2NvbGNvbnN0 eXBlJ10sCisgICAgICAgIHZpc2libGU6IGZ1bmN0aW9uKG0pIHsKKyAgICAgICAgICBpZiAoc1Zl cnNpb24gPj0gMTAwMDAwICYmIG0uaXNUeXBlSWRlbnRpdHkobSkpIHsKKyAgICAgICAgICAgIHJl dHVybiB0cnVlOworICAgICAgICAgIH0KKyAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAg IH0sCisgICAgICAgIGRpc2FibGVkOiBmdW5jdGlvbigpIHsKKyAgICAgICAgICByZXR1cm4gZmFs c2U7CisgICAgICAgIH0sCisgICAgICB9LCB7CisgICAgICAgIGlkOiAnc2VxaW5jcmVtZW50Jywg bGFiZWw6IGdldHRleHQoJ0luY3JlbWVudCcpLCB0eXBlOiAnaW50JywKKyAgICAgICAgbW9kZTog Wydwcm9wZXJ0aWVzJywgJ2NyZWF0ZScsICdlZGl0J10sIGdyb3VwOiBnZXR0ZXh0KCdDb25zdHJh aW50cycpLAorICAgICAgICBtaW46IDEsIGRlcHM6IFsnYXR0aWRlbnRpdHknLCAnY29sY29uc3R5 cGUnXSwgZGlzYWJsZWQ6ICdpc0lkZW50aXR5Q29sdW1uJywKKyAgICAgICAgdmlzaWJsZTogJ2lz VHlwZUlkZW50aXR5JywKKyAgICAgIH0seworICAgICAgICBpZDogJ3NlcXN0YXJ0JywgbGFiZWw6 IGdldHRleHQoJ1N0YXJ0JyksIHR5cGU6ICdpbnQnLAorICAgICAgICBtb2RlOiBbJ3Byb3BlcnRp ZXMnLCAnY3JlYXRlJywgJ2VkaXQnXSwgZ3JvdXA6IGdldHRleHQoJ0NvbnN0cmFpbnRzJyksCisg ICAgICAgIGRpc2FibGVkOiBmdW5jdGlvbihtKSB7CisgICAgICAgICAgbGV0IGlzSWRlbnRpdHkg PSBtLmdldCgnYXR0aWRlbnRpdHknKTsKKyAgICAgICAgICBpZighXy5pc1VuZGVmaW5lZChpc0lk ZW50aXR5KSAmJiAhXy5pc051bGwoaXNJZGVudGl0eSkgJiYgIV8uaXNFbXB0eShpc0lkZW50aXR5 KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg ICAgICAgfSwgZGVwczogWydhdHRpZGVudGl0eScsICdjb2xjb25zdHlwZSddLAorICAgICAgICB2 aXNpYmxlOiAnaXNUeXBlSWRlbnRpdHknLAorICAgICAgfSx7CisgICAgICAgIGlkOiAnc2VxbWlu JywgbGFiZWw6IGdldHRleHQoJ01pbmltdW0nKSwgdHlwZTogJ2ludCcsCisgICAgICAgIG1vZGU6 IFsncHJvcGVydGllcycsICdjcmVhdGUnLCAnZWRpdCddLCBncm91cDogZ2V0dGV4dCgnQ29uc3Ry YWludHMnKSwKKyAgICAgICAgZGVwczogWydhdHRpZGVudGl0eScsICdjb2xjb25zdHlwZSddLCBk aXNhYmxlZDogJ2lzSWRlbnRpdHlDb2x1bW4nLAorICAgICAgICB2aXNpYmxlOiAnaXNUeXBlSWRl bnRpdHknLAorICAgICAgfSx7CisgICAgICAgIGlkOiAnc2VxbWF4JywgbGFiZWw6IGdldHRleHQo J01heGltdW0nKSwgdHlwZTogJ2ludCcsCisgICAgICAgIG1vZGU6IFsncHJvcGVydGllcycsICdj cmVhdGUnLCAnZWRpdCddLCBncm91cDogZ2V0dGV4dCgnQ29uc3RyYWludHMnKSwKKyAgICAgICAg ZGVwczogWydhdHRpZGVudGl0eScsICdjb2xjb25zdHlwZSddLCBkaXNhYmxlZDogJ2lzSWRlbnRp dHlDb2x1bW4nLAorICAgICAgICB2aXNpYmxlOiAnaXNUeXBlSWRlbnRpdHknLAorICAgICAgfSx7 CisgICAgICAgIGlkOiAnc2VxY2FjaGUnLCBsYWJlbDogZ2V0dGV4dCgnQ2FjaGUnKSwgdHlwZTog J2ludCcsCisgICAgICAgIG1vZGU6IFsncHJvcGVydGllcycsICdjcmVhdGUnLCAnZWRpdCddLCBn cm91cDogZ2V0dGV4dCgnQ29uc3RyYWludHMnKSwKKyAgICAgICAgbWluOiAxLCBkZXBzOiBbJ2F0 dGlkZW50aXR5JywgJ2NvbGNvbnN0eXBlJ10sIGRpc2FibGVkOiAnaXNJZGVudGl0eUNvbHVtbics CisgICAgICAgIHZpc2libGU6ICdpc1R5cGVJZGVudGl0eScsCisgICAgICB9LHsKKyAgICAgICAg aWQ6ICdzZXFjeWNsZScsIGxhYmVsOiBnZXR0ZXh0KCdDeWNsZWQnKSwgdHlwZTogJ3N3aXRjaCcs CisgICAgICAgIG1vZGU6IFsncHJvcGVydGllcycsICdjcmVhdGUnLCAnZWRpdCddLCBncm91cDog Z2V0dGV4dCgnQ29uc3RyYWludHMnKSwKKyAgICAgICAgZGVwczogWydhdHRpZGVudGl0eScsICdj b2xjb25zdHlwZSddLCBkaXNhYmxlZDogJ2lzSWRlbnRpdHlDb2x1bW4nLAorICAgICAgICB2aXNp YmxlOiAnaXNUeXBlSWRlbnRpdHknLAorICAgICAgfV0sCisgICAgICB2YWxpZGF0ZTogZnVuY3Rp b24oa2V5cykgeworICAgICAgICB2YXIgbXNnID0gdW5kZWZpbmVkOworCisgICAgICAgIC8vIE5v dGhpbmcgdG8gdmFsaWRhdGUKKyAgICAgICAgaWYgKGtleXMgJiYga2V5cy5sZW5ndGggPT0gMCkg eworICAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC5jbGVhcigpOworICAgICAgICAgIHJldHVybiBu dWxsOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC5jbGVhcigp OworICAgICAgICB9CisKKyAgICAgICAgaWYgKF8uaXNVbmRlZmluZWQodGhpcy5nZXQoJ25hbWUn KSkKKyAgICAgICAgICAgIHx8IFN0cmluZyh0aGlzLmdldCgnbmFtZScpKS5yZXBsYWNlKC9eXHMr fFxzKyQvZywgJycpID09ICcnKSB7CisgICAgICAgICAgbXNnID0gZ2V0dGV4dCgnQ29sdW1uIG5h bWUgY2Fubm90IGJlIGVtcHR5LicpOworICAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC5zZXQoJ25h bWUnLCBtc2cpOworICAgICAgICAgIHJldHVybiBtc2c7CisgICAgICAgIH0KKworICAgICAgICBp ZiAoXy5pc1VuZGVmaW5lZCh0aGlzLmdldCgnY2x0eXBlJykpCisgICAgICAgICAgICB8fCBTdHJp bmcodGhpcy5nZXQoJ2NsdHlwZScpKS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgJycpID09ICcnKSB7 CisgICAgICAgICAgbXNnID0gZ2V0dGV4dCgnQ29sdW1uIHR5cGUgY2Fubm90IGJlIGVtcHR5Licp OworICAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC5zZXQoJ2NsdHlwZScsIG1zZyk7CisgICAgICAg ICAgcmV0dXJuIG1zZzsKKyAgICAgICAgfQorCisgICAgICAgIGlmICghXy5pc1VuZGVmaW5lZCh0 aGlzLmdldCgnY2x0eXBlJykpCisgICAgICAgICAgICAgICYmICFfLmlzVW5kZWZpbmVkKHRoaXMu Z2V0KCdhdHRsZW4nKSkKKyAgICAgICAgICAgICAgJiYgIV8uaXNOdWxsKHRoaXMuZ2V0KCdhdHRs ZW4nKSkKKyAgICAgICAgICAgICAgJiYgdGhpcy5nZXQoJ2F0dGxlbicpICE9PSAnJykgeworICAg ICAgICAgIC8vIFZhbGlkYXRpb24gZm9yIExlbmd0aCBmaWVsZAorICAgICAgICAgIGlmICh0aGlz LmdldCgnYXR0bGVuJykgPCB0aGlzLmdldCgnbWluX3ZhbF9hdHRsZW4nKSkKKyAgICAgICAgICAg IG1zZyA9IGdldHRleHQoJ0xlbmd0aC9QcmVjaXNpb24gc2hvdWxkIG5vdCBiZSBsZXNzIHRoYW46 ICcpICsgdGhpcy5nZXQoJ21pbl92YWxfYXR0bGVuJyk7CisgICAgICAgICAgaWYgKHRoaXMuZ2V0 KCdhdHRsZW4nKSA+IHRoaXMuZ2V0KCdtYXhfdmFsX2F0dGxlbicpKQorICAgICAgICAgICAgbXNn ID0gZ2V0dGV4dCgnTGVuZ3RoL1ByZWNpc2lvbiBzaG91bGQgbm90IGJlIGdyZWF0ZXIgdGhhbjog JykgKyB0aGlzLmdldCgnbWF4X3ZhbF9hdHRsZW4nKTsKKyAgICAgICAgICAvLyBJZiB3ZSBoYXZl IGFueSBlcnJvciBzZXQgdGhlbiB0aHJvdyBpdCB0byB1c2VyCisgICAgICAgICAgaWYobXNnKSB7 CisgICAgICAgICAgICB0aGlzLmVycm9yTW9kZWwuc2V0KCdhdHRsZW4nLCBtc2cpOworICAgICAg ICAgICAgcmV0dXJuIG1zZzsKKyAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBpZiAo IV8uaXNVbmRlZmluZWQodGhpcy5nZXQoJ2NsdHlwZScpKQorICAgICAgICAgICAgICAmJiAhXy5p c1VuZGVmaW5lZCh0aGlzLmdldCgnYXR0cHJlY2lzaW9uJykpCisgICAgICAgICAgICAgICYmICFf LmlzTnVsbCh0aGlzLmdldCgnYXR0cHJlY2lzaW9uJykpCisgICAgICAgICAgICAgICYmIHRoaXMu Z2V0KCdhdHRwcmVjaXNpb24nKSAhPT0gJycpIHsKKyAgICAgICAgICAvLyBWYWxpZGF0aW9uIGZv ciBwcmVjaXNpb24gZmllbGQKKyAgICAgICAgICBpZiAodGhpcy5nZXQoJ2F0dHByZWNpc2lvbicp IDwgdGhpcy5nZXQoJ21pbl92YWxfYXR0cHJlY2lzaW9uJykpCisgICAgICAgICAgICBtc2cgPSBn ZXR0ZXh0KCdTY2FsZSBzaG91bGQgbm90IGJlIGxlc3MgdGhhbjogJykgKyB0aGlzLmdldCgnbWlu X3ZhbF9hdHRwcmVjaXNpb24nKTsKKyAgICAgICAgICBpZiAodGhpcy5nZXQoJ2F0dHByZWNpc2lv bicpID4gdGhpcy5nZXQoJ21heF92YWxfYXR0cHJlY2lzaW9uJykpCisgICAgICAgICAgICBtc2cg PSBnZXR0ZXh0KCdTY2FsZSBzaG91bGQgbm90IGJlIGdyZWF0ZXIgdGhhbjogJykgKyB0aGlzLmdl dCgnbWF4X3ZhbF9hdHRwcmVjaXNpb24nKTsKKyAgICAgICAgICAvLyBJZiB3ZSBoYXZlIGFueSBl cnJvciBzZXQgdGhlbiB0aHJvdyBpdCB0byB1c2VyCisgICAgICAgICAgaWYobXNnKSB7CisgICAg ICAgICAgICB0aGlzLmVycm9yTW9kZWwuc2V0KCdhdHRwcmVjaXNpb24nLCBtc2cpOworICAgICAg ICAgICAgcmV0dXJuIG1zZzsKKyAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICB2YXIg bWluaW11bSA9IHRoaXMuZ2V0KCdzZXFtaW4nKSwKKyAgICAgICAgICBtYXhpbXVtID0gdGhpcy5n ZXQoJ3NlcW1heCcpLAorICAgICAgICAgIHN0YXJ0ID0gdGhpcy5nZXQoJ3NlcXN0YXJ0Jyk7CisK KyAgICAgICAgaWYgKCF0aGlzLmlzTmV3KCkgJiYgdGhpcy5nZXQoJ2NvbGNvbnN0eXBlJykgPT0g J2knICYmCisgICAgICAgICAgKHRoaXMuZ2V0KCdvbGRfYXR0aWRlbnRpdHknKSA9PSAnYScgfHwg dGhpcy5nZXQoJ29sZF9hdHRpZGVudGl0eScpID09ICdkJykgJiYKKyAgICAgICAgICAodGhpcy5n ZXQoJ2F0dGlkZW50aXR5JykgPT0gJ2EnIHx8IHRoaXMuZ2V0KCdhdHRpZGVudGl0eScpID09ICdk JykpIHsKKyAgICAgICAgICBpZiAoXy5pc1VuZGVmaW5lZCh0aGlzLmdldCgnc2VxaW5jcmVtZW50 JykpCisgICAgICAgICAgICB8fCBTdHJpbmcodGhpcy5nZXQoJ3NlcWluY3JlbWVudCcpKS5yZXBs YWNlKC9eXHMrfFxzKyQvZywgJycpID09ICcnKSB7CisgICAgICAgICAgICBtc2cgPSBnZXR0ZXh0 KCdJbmNyZW1lbnQgdmFsdWUgY2Fubm90IGJlIGVtcHR5LicpOworICAgICAgICAgICAgdGhpcy5l cnJvck1vZGVsLnNldCgnc2VxaW5jcmVtZW50JywgbXNnKTsKKyAgICAgICAgICAgIHJldHVybiBt c2c7CisgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC51bnNl dCgnc2VxaW5jcmVtZW50Jyk7CisgICAgICAgICAgfQorCisgICAgICAgICAgaWYgKF8uaXNVbmRl ZmluZWQodGhpcy5nZXQoJ3NlcW1pbicpKQorICAgICAgICAgICAgfHwgU3RyaW5nKHRoaXMuZ2V0 KCdzZXFtaW4nKSkucmVwbGFjZSgvXlxzK3xccyskL2csICcnKSA9PSAnJykgeworICAgICAgICAg ICAgbXNnID0gZ2V0dGV4dCgnTWluaW11bSB2YWx1ZSBjYW5ub3QgYmUgZW1wdHkuJyk7CisgICAg ICAgICAgICB0aGlzLmVycm9yTW9kZWwuc2V0KCdzZXFtaW4nLCBtc2cpOworICAgICAgICAgICAg cmV0dXJuIG1zZzsKKyAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgdGhpcy5lcnJvck1v ZGVsLnVuc2V0KCdzZXFtaW4nKTsKKyAgICAgICAgICB9CisKKyAgICAgICAgICBpZiAoXy5pc1Vu ZGVmaW5lZCh0aGlzLmdldCgnc2VxbWF4JykpCisgICAgICAgICAgICB8fCBTdHJpbmcodGhpcy5n ZXQoJ3NlcW1heCcpKS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgJycpID09ICcnKSB7CisgICAgICAg ICAgICBtc2cgPSBnZXR0ZXh0KCdNYXhpbXVtIHZhbHVlIGNhbm5vdCBiZSBlbXB0eS4nKTsKKyAg ICAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC5zZXQoJ3NlcW1heCcsIG1zZyk7CisgICAgICAgICAg ICByZXR1cm4gbXNnOworICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICB0aGlzLmVycm9y TW9kZWwudW5zZXQoJ3NlcW1heCcpOworICAgICAgICAgIH0KKworICAgICAgICAgIGlmIChfLmlz VW5kZWZpbmVkKHRoaXMuZ2V0KCdzZXFjYWNoZScpKQorICAgICAgICAgICAgfHwgU3RyaW5nKHRo aXMuZ2V0KCdzZXFjYWNoZScpKS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgJycpID09ICcnKSB7Cisg ICAgICAgICAgICBtc2cgPSBnZXR0ZXh0KCdDYWNoZSB2YWx1ZSBjYW5ub3QgYmUgZW1wdHkuJyk7 CisgICAgICAgICAgICB0aGlzLmVycm9yTW9kZWwuc2V0KCdzZXFjYWNoZScsIG1zZyk7CisgICAg ICAgICAgICByZXR1cm4gbXNnOworICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICB0aGlz LmVycm9yTW9kZWwudW5zZXQoJ3NlcWNhY2hlJyk7CisgICAgICAgICAgfQorICAgICAgICB9Cisg ICAgICAgIHZhciBtaW5fbHQgPSBnZXR0ZXh0KCdNaW5pbXVtIHZhbHVlIG11c3QgYmUgbGVzcyB0 aGFuIG1heGltdW0gdmFsdWUuJyksCisgICAgICAgICAgc3RhcnRfbHQgPSBnZXR0ZXh0KCdTdGFy dCB2YWx1ZSBjYW5ub3QgYmUgbGVzcyB0aGFuIG1pbmltdW0gdmFsdWUuJyksCisgICAgICAgICAg c3RhcnRfZ3QgPSBnZXR0ZXh0KCdTdGFydCB2YWx1ZSBjYW5ub3QgYmUgZ3JlYXRlciB0aGFuIG1h eGltdW0gdmFsdWUuJyk7CisKKyAgICAgICAgaWYgKF8uaXNFbXB0eShtaW5pbXVtKSB8fCBfLmlz RW1wdHkobWF4aW11bSkpCisgICAgICAgICAgcmV0dXJuIG51bGw7CisKKyAgICAgICAgaWYgKCht aW5pbXVtID09IDAgJiYgbWF4aW11bSA9PSAwKSB8fAorICAgICAgICAgICAgKHBhcnNlSW50KG1p bmltdW0sIDEwKSA+PSBwYXJzZUludChtYXhpbXVtLCAxMCkpKSB7CisgICAgICAgICAgdGhpcy5l cnJvck1vZGVsLnNldCgnc2VxbWluJywgbWluX2x0KTsKKyAgICAgICAgICByZXR1cm4gbWluX2x0 OworICAgICAgICB9IGVsc2UgeworICAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC51bnNldCgnc2Vx bWluJyk7CisgICAgICAgIH0KKworICAgICAgICBpZiAoc3RhcnQgJiYgbWluaW11bSAmJiBwYXJz ZUludChzdGFydCkgPCBwYXJzZUludChtaW5pbXVtKSkgeworICAgICAgICAgIHRoaXMuZXJyb3JN b2RlbC5zZXQoJ3NlcXN0YXJ0Jywgc3RhcnRfbHQpOworICAgICAgICAgIHJldHVybiBzdGFydF9s dDsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICB0aGlzLmVycm9yTW9kZWwudW5zZXQoJ3Nl cXN0YXJ0Jyk7CisgICAgICAgIH0KKworICAgICAgICBpZiAoc3RhcnQgJiYgbWF4aW11bSAmJiBw YXJzZUludChzdGFydCkgPiBwYXJzZUludChtYXhpbXVtKSkgeworICAgICAgICAgIHRoaXMuZXJy b3JNb2RlbC5zZXQoJ3NlcXN0YXJ0Jywgc3RhcnRfZ3QpOworICAgICAgICAgIHJldHVybiBzdGFy dF9ndDsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICB0aGlzLmVycm9yTW9kZWwudW5zZXQo J3NlcXN0YXJ0Jyk7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gbnVsbDsKKyAgICAgIH0s CisgICAgICAvLyBDaGVjayB3aGV0aGVyIHRoZSBjb2x1bW4gaXMgaWRlbnRpdHkgY29sdW1uIG9y IG5vdAorICAgICAgaXNJZGVudGl0eUNvbHVtbjogZnVuY3Rpb24obSkgeworICAgICAgICBsZXQg aXNJZGVudGl0eSA9IG0uZ2V0KCdhdHRpZGVudGl0eScpOworICAgICAgICBpZighXy5pc1VuZGVm aW5lZChpc0lkZW50aXR5KSAmJiAhXy5pc051bGwoaXNJZGVudGl0eSkgJiYgIV8uaXNFbXB0eShp c0lkZW50aXR5KSkKKyAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiB0cnVl OworICAgICAgfSwKKyAgICAgIC8vIENoZWNrIHdoZXRoZXIgdGhlIGNvbHVtbiBpcyBhIGlkZW50 aXR5IGNvbHVtbgorICAgICAgaXNUeXBlSWRlbnRpdHk6IGZ1bmN0aW9uKG0pIHsKKyAgICAgICAg bGV0IGNvbGNvbnN0eXBlID0gbS5nZXQoJ2NvbGNvbnN0eXBlJyk7CisgICAgICAgIGlmICghXy5p c1VuZGVmaW5lZChjb2xjb25zdHlwZSkgJiYgIV8uaXNOdWxsKGNvbGNvbnN0eXBlKSAmJiBjb2xj b25zdHlwZSA9PSAnaScpIHsKKyAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAg ICAgICByZXR1cm4gZmFsc2U7CisgICAgICB9LAorICAgICAgLy8gQ2hlY2sgd2hldGhlciB0aGUg Y29sdW1uIGlzIGEgZ2VuZXJhdGVkIGNvbHVtbgorICAgICAgaXNUeXBlR2VuZXJhdGVkOiBmdW5j dGlvbihtKSB7CisgICAgICAgIGxldCBjb2xjb25zdHlwZSA9IG0uZ2V0KCdjb2xjb25zdHlwZScp OworICAgICAgICBpZiAoIV8uaXNVbmRlZmluZWQoY29sY29uc3R5cGUpICYmICFfLmlzTnVsbChj b2xjb25zdHlwZSkgJiYgY29sY29uc3R5cGUgPT0gJ2cnKSB7CisgICAgICAgICAgcmV0dXJuIHRy dWU7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgfSwKKyAgICB9KTsK KworICAgIGNvbnN0IGZvcm1hdFNjaGVtYUl0ZW0gPSBmdW5jdGlvbihvcHQpIHsKKyAgICAgIGlm ICghb3B0LmlkKSB7CisgICAgICAgIHJldHVybiBvcHQudGV4dDsKKyAgICAgIH0KKworICAgICAg dmFyIG9wdGltYWdlID0gJChvcHQuZWxlbWVudCkuZGF0YSgnaW1hZ2UnKTsKKworICAgICAgaWYg KCFvcHRpbWFnZSkgeworICAgICAgICByZXR1cm4gb3B0LnRleHQ7CisgICAgICB9IGVsc2Ugewor ICAgICAgICByZXR1cm4gJCgnPHNwYW4+PC9zcGFuPicpLmFwcGVuZCgKKyAgICAgICAgICAkKCc8 c3Bhbj48L3NwYW4+JywgeworICAgICAgICAgICAgY2xhc3M6ICd3Y1RhYkljb24gJyArIG9wdGlt YWdlLAorICAgICAgICAgIH0pCisgICAgICAgICkuYXBwZW5kKCQoJzxzcGFuPjwvc3Bhbj4nKS50 ZXh0KG9wdC50ZXh0KSk7CisgICAgICB9CisgICAgfTsKKworICAgIGxldCBkaWFsb2dNb2RlbCA9 IHRoaXMucGdCcm93c2VyLkRhdGFNb2RlbC5leHRlbmQoeworICAgICAgZGVmYXVsdHM6IHsKKyAg ICAgICAgbmFtZTogdW5kZWZpbmVkLAorICAgICAgICBzY2hlbWE6IHVuZGVmaW5lZCwKKyAgICAg ICAgZGVzY3JpcHRpb246IHVuZGVmaW5lZCwKKyAgICAgICAgY29sdW1uczogW10sCisgICAgICAg IHByaW1hcnlfa2V5OiBbXSwKKyAgICAgIH0sCisgICAgICBpbml0aWFsaXplOiBmdW5jdGlvbigp IHsKKyAgICAgICAgc2VsZi5wZ0Jyb3dzZXIuRGF0YU1vZGVsLnByb3RvdHlwZS5pbml0aWFsaXpl LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CisKKyAgICAgICAgaWYoIXRoaXMuZ2V0KCdzY2hlbWEn KSAmJiBzY2hlbWFzLmxlbmd0aCA+IDApIHsKKyAgICAgICAgICB0aGlzLnNldCh7CisgICAgICAg ICAgICAnc2NoZW1hJzogc2NoZW1hc1swXVsnbmFtZSddLAorICAgICAgICAgIH0sIHtzaWxlbnQ6 IHRydWV9KTsKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgIHNjaGVtYTogW3sKKyAgICAgICAg aWQ6ICduYW1lJywgbGFiZWw6IGdldHRleHQoJ05hbWUnKSwgdHlwZTogJ3RleHQnLCBkaXNhYmxl ZDogZmFsc2UsCisgICAgICB9LHsKKyAgICAgICAgaWQ6ICdzY2hlbWEnLCBsYWJlbDogZ2V0dGV4 dCgnU2NoZW1hJyksIHR5cGU6ICd0ZXh0JywKKyAgICAgICAgY29udHJvbDogJ3NlbGVjdDInLCBz ZWxlY3QyOiB7CisgICAgICAgICAgYWxsb3dDbGVhcjogZmFsc2UsIGZpcnN0X2VtcHR5OiBmYWxz ZSwKKyAgICAgICAgICB0ZW1wbGF0ZVJlc3VsdDogZm9ybWF0U2NoZW1hSXRlbSwKKyAgICAgICAg ICB0ZW1wbGF0ZVNlbGVjdGlvbjogZm9ybWF0U2NoZW1hSXRlbSwKKyAgICAgICAgfSwKKyAgICAg ICAgb3B0aW9uczogZnVuY3Rpb24gKCkgeworICAgICAgICAgIHJldHVybiBzY2hlbWFzLm1hcCgo c2NoZW1hKT0+eworICAgICAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgICAgICAgJ3ZhbHVlJzog c2NoZW1hWyduYW1lJ10sCisgICAgICAgICAgICAgICdpbWFnZSc6ICdpY29uLXNjaGVtYScsCisg ICAgICAgICAgICAgICdsYWJlbCc6IHNjaGVtYVsnbmFtZSddLAorICAgICAgICAgICAgfTsKKyAg ICAgICAgICB9KTsKKyAgICAgICAgfSwKKyAgICAgICAgZmlsdGVyOiBmdW5jdGlvbihkKSB7Cisg ICAgICAgICAgLy8gSWYgc2NoZW1hIG5hbWUgc3RhcnQgd2l0aCBwZ18qIHRoZW4gd2UgbmVlZCB0 byBleGNsdWRlIHRoZW0KKyAgICAgICAgICBpZihkICYmIGQubGFiZWwubWF0Y2goL15wZ18vKSkK KyAgICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgfQorICAg ICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9LAorICAgICAgfSx7CisgICAgICAgIGlkOiAn ZGVzY3JpcHRpb24nLCBsYWJlbDogZ2V0dGV4dCgnQ29tbWVudCcpLCB0eXBlOiAnbXVsdGlsaW5l JywKKyAgICAgIH0seworICAgICAgICBpZDogJ2NvbHVtbnMnLCBsYWJlbDogZ2V0dGV4dCgnQ29s dW1ucycpLCB0eXBlOiAnY29sbGVjdGlvbicsIG1vZGU6IFsnY3JlYXRlJ10sCisgICAgICAgIGdy b3VwOiBnZXR0ZXh0KCdDb2x1bW5zJyksCisgICAgICAgIG1vZGVsOiBjb2x1bW5zTW9kZWwsCisg ICAgICAgIHN1Ym5vZGU6IGNvbHVtbnNNb2RlbCwKKyAgICAgICAgZGlzYWJsZWQ6IGZhbHNlLAor ICAgICAgICB1bmlxdWVDb2wgOiBbJ25hbWUnXSwKKyAgICAgICAgY29sdW1ucyA6IFsnbmFtZScg LCAnY2x0eXBlJywgJ2F0dGxlbicsICdhdHRwcmVjaXNpb24nLCAnYXR0bm90bnVsbCcsICdpc19w cmltYXJ5X2tleSddLAorICAgICAgICBjb250cm9sOiBCYWNrZm9ybS5VbmlxdWVDb2xDb2xsZWN0 aW9uQ29udHJvbC5leHRlbmQoeworICAgICAgICAgIGluaXRpYWxpemU6IGZ1bmN0aW9uKCkgewor CisgICAgICAgICAgICBCYWNrZm9ybS5VbmlxdWVDb2xDb2xsZWN0aW9uQ29udHJvbC5wcm90b3R5 cGUuaW5pdGlhbGl6ZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpOworICAgICAgICAgICAgdmFyIHNl bGYgPSB0aGlzLAorICAgICAgICAgICAgICBjb2xsZWN0aW9uID0gc2VsZi5tb2RlbC5nZXQoc2Vs Zi5maWVsZC5nZXQoJ25hbWUnKSk7CisKKyAgICAgICAgICAgIGlmKGNvbGxlY3Rpb24uaXNFbXB0 eSgpKSB7CisgICAgICAgICAgICAgIHNlbGYubGFzdF9hdHRudW0gPSAtMTsKKyAgICAgICAgICAg IH0gZWxzZSB7CisgICAgICAgICAgICAgIHZhciBsYXN0Q29sID0gY29sbGVjdGlvbi5tYXgoZnVu Y3Rpb24oY29sKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGNvbC5nZXQoJ2F0dG51bScpOwor ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgc2VsZi5sYXN0X2F0dG51bSA9IGxhc3RD b2wuZ2V0KCdhdHRudW0nKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgY29sbGVjdGlv bi5vbignY2hhbmdlOmlzX3ByaW1hcnlfa2V5JywgZnVuY3Rpb24obSkgeworICAgICAgICAgICAg ICB2YXIgcHJpbWFyeV9rZXlfY29sbCA9IHNlbGYubW9kZWwuZ2V0KCdwcmltYXJ5X2tleScpLAor ICAgICAgICAgICAgICAgIGNvbHVtbl9uYW1lID0gbS5nZXQoJ25hbWUnKSwKKyAgICAgICAgICAg ICAgICBwcmltYXJ5X2tleSwgcHJpbWFyeV9rZXlfY29sdW1uX2NvbGw7CisKKyAgICAgICAgICAg ICAgaWYobS5nZXQoJ2lzX3ByaW1hcnlfa2V5JykpIHsKKyAgICAgICAgICAgICAgICAvLyBBZGQg Y29sdW1uIHRvIHByaW1hcnkga2V5LgorICAgICAgICAgICAgICAgIGlmIChwcmltYXJ5X2tleV9j b2xsLmxlbmd0aCA8IDEpIHsKKyAgICAgICAgICAgICAgICAgIHByaW1hcnlfa2V5ID0gbmV3IChw cmltYXJ5X2tleV9jb2xsLm1vZGVsKSh7fSwgeworICAgICAgICAgICAgICAgICAgICB0b3A6IHNl bGYubW9kZWwsCisgICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb246IHByaW1hcnlfa2V5X2Nv bGwsCisgICAgICAgICAgICAgICAgICAgIGhhbmRsZXI6IHByaW1hcnlfa2V5X2NvbGwsCisgICAg ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICAgIHByaW1hcnlfa2V5X2NvbGwuYWRk KHByaW1hcnlfa2V5KTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg ICAgcHJpbWFyeV9rZXkgPSBwcmltYXJ5X2tleV9jb2xsLmZpcnN0KCk7CisgICAgICAgICAgICAg ICAgfQorCisgICAgICAgICAgICAgICAgcHJpbWFyeV9rZXlfY29sdW1uX2NvbGwgPSBwcmltYXJ5 X2tleS5nZXQoJ2NvbHVtbnMnKTsKKyAgICAgICAgICAgICAgICB2YXIgcHJpbWFyeV9rZXlfY29s dW1uX2V4aXN0ID0gcHJpbWFyeV9rZXlfY29sdW1uX2NvbGwud2hlcmUoe2NvbHVtbjpjb2x1bW5f bmFtZX0pOworCisgICAgICAgICAgICAgICAgaWYgKHByaW1hcnlfa2V5X2NvbHVtbl9leGlzdC5s ZW5ndGggPT0gMCkgeworICAgICAgICAgICAgICAgICAgdmFyIHByaW1hcnlfa2V5X2NvbHVtbiA9 IG5ldyAoCisgICAgICAgICAgICAgICAgICAgIHByaW1hcnlfa2V5X2NvbHVtbl9jb2xsLm1vZGVs CisgICAgICAgICAgICAgICAgICApKHtjb2x1bW46IGNvbHVtbl9uYW1lfSwgeworICAgICAgICAg ICAgICAgICAgICBzaWxlbnQ6IHRydWUsCisgICAgICAgICAgICAgICAgICAgIHRvcDogc2VsZi5t b2RlbCwKKyAgICAgICAgICAgICAgICAgICAgY29sbGVjdGlvbjogcHJpbWFyeV9rZXlfY29sbCwK KyAgICAgICAgICAgICAgICAgICAgaGFuZGxlcjogcHJpbWFyeV9rZXlfY29sbCwKKyAgICAgICAg ICAgICAgICAgIH0pOworCisgICAgICAgICAgICAgICAgICBwcmltYXJ5X2tleV9jb2x1bW5fY29s bC5hZGQocHJpbWFyeV9rZXlfY29sdW1uKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAg ICAgICAgICBwcmltYXJ5X2tleV9jb2x1bW5fY29sbC50cmlnZ2VyKAorICAgICAgICAgICAgICAg ICAgJ3BnYWRtaW46bXVsdGljb2x1bW46dXBkYXRlZCcsIHByaW1hcnlfa2V5X2NvbHVtbl9jb2xs CisgICAgICAgICAgICAgICAgKTsKKyAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg ICAgICAvLyByZW1vdmUgY29sdW1uIGZyb20gcHJpbWFyeSBrZXkuCisgICAgICAgICAgICAgICAg aWYgKHByaW1hcnlfa2V5X2NvbGwubGVuZ3RoID4gMCkgeworICAgICAgICAgICAgICAgICAgcHJp bWFyeV9rZXkgPSBwcmltYXJ5X2tleV9jb2xsLmZpcnN0KCk7CisgICAgICAgICAgICAgICAgICAv LyBEbyBub3QgYWx0ZXIgZXhpc3RpbmcgcHJpbWFyeSBrZXkgY29sdW1ucy4KKyAgICAgICAgICAg ICAgICAgIGlmICghXy5pc1VuZGVmaW5lZChwcmltYXJ5X2tleS5nZXQoJ29pZCcpKSkgeworICAg ICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAg ICAgICAgICAgIHByaW1hcnlfa2V5X2NvbHVtbl9jb2xsID0gcHJpbWFyeV9rZXkuZ2V0KCdjb2x1 bW5zJyk7CisgICAgICAgICAgICAgICAgICB2YXIgcmVtb3ZlZENvbHMgPSBwcmltYXJ5X2tleV9j b2x1bW5fY29sbC53aGVyZSh7Y29sdW1uOmNvbHVtbl9uYW1lfSk7CisgICAgICAgICAgICAgICAg ICBpZiAocmVtb3ZlZENvbHMubGVuZ3RoID4gMCkgeworICAgICAgICAgICAgICAgICAgICBwcmlt YXJ5X2tleV9jb2x1bW5fY29sbC5yZW1vdmUocmVtb3ZlZENvbHMpOworICAgICAgICAgICAgICAg ICAgICBfLmVhY2gocmVtb3ZlZENvbHMsIGZ1bmN0aW9uKGxvY2FsX21vZGVsKSB7CisgICAgICAg ICAgICAgICAgICAgICAgbG9jYWxfbW9kZWwuZGVzdHJveSgpOworICAgICAgICAgICAgICAgICAg ICB9KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHByaW1hcnlfa2V5X2NvbHVtbl9jb2xsLmxl bmd0aCA9PSAwKSB7CisgICAgICAgICAgICAgICAgICAgICAgLyogSWRlYWxseSBhYm92ZSBsaW5l IG9mIGNvZGUgc2hvdWxkIGJlICJwcmltYXJ5X2tleV9jb2xsLnJlc2V0KCkiLgorICAgICAgICAg ICAgICAgICAgICAgICAqIEJ1dCBvdXIgY3VzdG9tIERhdGFDb2xsZWN0aW9uIChleHRlbmRlZCBm cm9tIEJhY2tib25lIGNvbGxlY3Rpb24gaW4gZGF0YW1vZGVsLmpzKQorICAgICAgICAgICAgICAg ICAgICAgICAqIGRvZXMgbm90IHJlc3BvbmQgdG8gcmVzZXQgZXZlbnQsIGl0IG9ubHkgc3VwcG9y dHMgYWRkLCByZW1vdmUsIGNoYW5nZSBldmVudHMuCisgICAgICAgICAgICAgICAgICAgICAgICog QW5kIGhlbmNlIG5vIGN1c3RvbSBldmVudCBsaXN0ZW5lcnMvdmFsaWRhdG9ycyBnZXQgY2FsbGVk IGZvciByZXNldCBldmVudC4KKyAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAg ICAgICAgICAgICBwcmltYXJ5X2tleV9jb2xsLnJlbW92ZShwcmltYXJ5X2tleV9jb2xsLmZpcnN0 KCkpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICB9CisgICAgICAg ICAgICAgICAgICBwcmltYXJ5X2tleV9jb2x1bW5fY29sbC50cmlnZ2VyKCdwZ2FkbWluOm11bHRp Y29sdW1uOnVwZGF0ZWQnLCBwcmltYXJ5X2tleV9jb2x1bW5fY29sbCk7CisgICAgICAgICAgICAg ICAgfQorICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgY29s bGVjdGlvbi5vbignY2hhbmdlOm5hbWUnLCBmdW5jdGlvbihtKSB7CisgICAgICAgICAgICAgIGxl dCBwcmltYXJ5X2tleSA9IHNlbGYubW9kZWwuZ2V0KCdwcmltYXJ5X2tleScpLmZpcnN0KCksCisg ICAgICAgICAgICAgICAgdXBkYXRlZENvbHMgPSBwcmltYXJ5X2tleS5nZXQoJ2NvbHVtbnMnKS53 aGVyZSgKKyAgICAgICAgICAgICAgICAgIHtjb2x1bW46IG0ucHJldmlvdXMoJ25hbWUnKX0KKyAg ICAgICAgICAgICAgICApOworICAgICAgICAgICAgICBpZiAodXBkYXRlZENvbHMubGVuZ3RoID4g MCkgeworICAgICAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICAgICogVGFibGUgY29sdW1u IG5hbWUgaGFzIGNoYW5nZWQgc28gdXBkYXRlCisgICAgICAgICAgICAgICAgICogY29sdW1uIG5h bWUgaW4gcHJpbWFyeSBrZXkgYXMgd2VsbC4KKyAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAg ICAgICAgICB1cGRhdGVkQ29sc1swXS5zZXQoCisgICAgICAgICAgICAgICAgICB7J2NvbHVtbic6 IG0uZ2V0KCduYW1lJyl9LAorICAgICAgICAgICAgICAgICAge3NpbGVudDogdHJ1ZX0pOworICAg ICAgICAgICAgICB9CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgY29sbGVjdGlvbi5v bigncmVtb3ZlJywgZnVuY3Rpb24obSkgeworICAgICAgICAgICAgICBsZXQgcHJpbWFyeV9rZXkg PSBzZWxmLm1vZGVsLmdldCgncHJpbWFyeV9rZXknKS5maXJzdCgpLAorICAgICAgICAgICAgICAg IHJlbW92ZWRDb2xzID0gcHJpbWFyeV9rZXkuZ2V0KCdjb2x1bW5zJykud2hlcmUoCisgICAgICAg ICAgICAgICAgICB7Y29sdW1uOiBtLmdldCgnbmFtZScpfQorICAgICAgICAgICAgICAgICk7CisK KyAgICAgICAgICAgICAgcHJpbWFyeV9rZXkuZ2V0KCdjb2x1bW5zJykucmVtb3ZlKHJlbW92ZWRD b2xzKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICAgIH0sCisgICAgICAgIH0pLAorICAgICAg ICBjYW5BZGQ6IHRydWUsCisgICAgICAgIGNhbkVkaXQ6IHRydWUsIGNhbkRlbGV0ZTogdHJ1ZSwK KyAgICAgICAgLy8gRm9yIGVhY2ggcm93IGVkaXQvZGVsZXRlIGJ1dHRvbiBlbmFibGUvZGlzYWJs ZQorICAgICAgICBjYW5FZGl0Um93OiB0cnVlLAorICAgICAgICBjYW5EZWxldGVSb3c6IHRydWUs CisgICAgICAgIGFsbG93TXVsdGlwbGVFbXB0eVJvdzogZmFsc2UsCisgICAgICAgIGJlZm9yZUFk ZDogZnVuY3Rpb24obmV3TW9kZWwpIHsKKyAgICAgICAgICB0aGlzLmxhc3RfYXR0bnVtKys7Cisg ICAgICAgICAgbmV3TW9kZWwuc2V0KCdhdHRudW0nLCB0aGlzLmxhc3RfYXR0bnVtKTsKKyAgICAg ICAgICByZXR1cm4gbmV3TW9kZWw7CisgICAgICAgIH0sCisgICAgICB9LHsKKyAgICAgICAgLy8g SGVyZSB3ZSB3aWxsIGNyZWF0ZSB0YWIgY29udHJvbCBmb3IgY29uc3RyYWludHMKKyAgICAgICAg Ly8gV2Ugd2lsbCBoaWRlIHRoZSB0YWIgZm9yIEVSRAorICAgICAgICB0eXBlOiAnbmVzdGVkJywg Y29udHJvbDogJ3RhYicsIGdyb3VwOiBnZXR0ZXh0KCdDb25zdHJhaW50cycpLCBtb2RlOiBbJ3By b3BlcnRpZXMnXSwKKyAgICAgICAgc2NoZW1hOiBbeworICAgICAgICAgIGlkOiAncHJpbWFyeV9r ZXknLCBsYWJlbDogJycsCisgICAgICAgICAgbW9kZWw6IHRoaXMucGdCcm93c2VyLk5vZGVzWydw cmltYXJ5X2tleSddLm1vZGVsLAorICAgICAgICAgIHN1Ym5vZGU6IHRoaXMucGdCcm93c2VyLk5v ZGVzWydwcmltYXJ5X2tleSddLm1vZGVsLAorICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZSwgdHlw ZTogJ2NvbGxlY3Rpb24nLAorICAgICAgICB9LAorICAgICAgICBdLAorICAgICAgfV0sCisgICAg ICB2YWxpZGF0ZTogZnVuY3Rpb24oKSB7CisgICAgICAgIHZhciBtc2csCisgICAgICAgICAgbmFt ZSA9IHRoaXMuZ2V0KCduYW1lJyksCisgICAgICAgICAgc2NoZW1hID0gdGhpcy5nZXQoJ3NjaGVt YScpOworCisgICAgICAgIGlmICgKKyAgICAgICAgICBfLmlzVW5kZWZpbmVkKG5hbWUpIHx8IF8u aXNOdWxsKG5hbWUpIHx8CisgICAgICAgICAgICBTdHJpbmcobmFtZSkucmVwbGFjZSgvXlxzK3xc cyskL2csICcnKSA9PSAnJworICAgICAgICApIHsKKyAgICAgICAgICBtc2cgPSBnZXR0ZXh0KCdU YWJsZSBuYW1lIGNhbm5vdCBiZSBlbXB0eS4nKTsKKyAgICAgICAgICB0aGlzLmVycm9yTW9kZWwu c2V0KCduYW1lJywgbXNnKTsKKyAgICAgICAgICByZXR1cm4gbXNnOworICAgICAgICB9CisgICAg ICAgIHRoaXMuZXJyb3JNb2RlbC51bnNldCgnbmFtZScpOworICAgICAgICBpZiAoCisgICAgICAg ICAgXy5pc1VuZGVmaW5lZChzY2hlbWEpIHx8IF8uaXNOdWxsKHNjaGVtYSkgfHwKKyAgICAgICAg ICAgIFN0cmluZyhzY2hlbWEpLnJlcGxhY2UoL15ccyt8XHMrJC9nLCAnJykgPT0gJycKKyAgICAg ICAgKSB7CisgICAgICAgICAgbXNnID0gZ2V0dGV4dCgnVGFibGUgc2NoZW1hIGNhbm5vdCBiZSBl bXB0eS4nKTsKKyAgICAgICAgICB0aGlzLmVycm9yTW9kZWwuc2V0KCdzY2hlbWEnLCBtc2cpOwor ICAgICAgICAgIHJldHVybiBtc2c7CisgICAgICAgIH0KKyAgICAgICAgdGhpcy5lcnJvck1vZGVs LnVuc2V0KCdzY2hlbWEnKTsKKyAgICAgICAgcmV0dXJuIG51bGw7CisgICAgICB9LAorICAgIH0p OworCisgICAgcmV0dXJuIG5ldyBkaWFsb2dNb2RlbChhdHRyaWJ1dGVzKTsKKyAgfQorCisgIGNy ZWF0ZU9yR2V0RGlhbG9nKHR5cGUpIHsKKyAgICBjb25zdCBkaWFsb2dOYW1lID0gdGhpcy5kaWFs b2dOYW1lKCk7CisKKyAgICBpZiAoIUFsZXJ0aWZ5W2RpYWxvZ05hbWVdKSB7CisgICAgICBBbGVy dGlmeS5kaWFsb2coZGlhbG9nTmFtZSwgKCkgPT4geworICAgICAgICByZXR1cm4gbmV3IERpYWxv Z1dyYXBwZXIoCisgICAgICAgICAgYDxkaXYgY2xhc3M9IiR7ZGlhbG9nTmFtZX0iPjwvZGl2PmAs CisgICAgICAgICAgbnVsbCwKKyAgICAgICAgICB0eXBlLAorICAgICAgICAgICQsCisgICAgICAg ICAgdGhpcy5wZ0Jyb3dzZXIsCisgICAgICAgICAgQWxlcnRpZnksCisgICAgICAgICAgQmFja2Zv cm0KKyAgICAgICAgKTsKKyAgICAgIH0pOworICAgIH0KKyAgICByZXR1cm4gQWxlcnRpZnlbZGlh bG9nTmFtZV07CisgIH0KKworICBzaG93KHRpdGxlLCBhdHRyaWJ1dGVzLCBjb2xUeXBlcywgc2No ZW1hcywgc1ZlcnNpb24sIGNhbGxiYWNrKSB7CisgICAgbGV0IGRpYWxvZ1RpdGxlID0gdGl0bGUg fHwgZ2V0dGV4dCgnVW5rbm93bicpOworICAgIGNvbnN0IGRpYWxvZyA9IHRoaXMuY3JlYXRlT3JH ZXREaWFsb2coJ3RhYmxlX2RpYWxvZycpOworICAgIGRpYWxvZyhkaWFsb2dUaXRsZSwgdGhpcy5n ZXREYXRhTW9kZWwoYXR0cmlidXRlcywgY29sVHlwZXMsIHNjaGVtYXMsIHNWZXJzaW9uKSwgY2Fs bGJhY2spLnJlc2l6ZVRvKHRoaXMucGdCcm93c2VyLnN0ZFcubWQsIHRoaXMucGdCcm93c2VyLnN0 ZEgubWQpOworICB9Cit9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGlj L2pzL2VyZF90b29sL2RpYWxvZ3MvaW5kZXguanMgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvc3Rh dGljL2pzL2VyZF90b29sL2RpYWxvZ3MvaW5kZXguanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwLi5lYjBhYjEzMzYKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90 b29scy9lcmQvc3RhdGljL2pzL2VyZF90b29sL2RpYWxvZ3MvaW5kZXguanMKQEAgLTAsMCArMSwz MiBAQAorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLworLy8KKy8vIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKy8vCisvLyBD b3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisv LyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UK Ky8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLworCitpbXBvcnQgVGFibGVEaWFsb2csIHt0cmFuc2Zvcm1Ub1N1cHBvcnRlZCBh cyB0cmFuc2Zvcm1Ub1N1cHBvcnRlZFRhYmxlfSBmcm9tICcuL1RhYmxlRGlhbG9nJzsKK2ltcG9y dCBPbmVUb01hbnlEaWFsb2cgZnJvbSAnLi9PbmVUb01hbnlEaWFsb2cnOworaW1wb3J0IE1hbnlU b01hbnlEaWFsb2cgZnJvbSAnLi9NYW55VG9NYW55RGlhbG9nJzsKK2ltcG9ydCBwZ0Jyb3dzZXIg ZnJvbSAndG9wL2Jyb3dzZXIvc3RhdGljL2pzL2Jyb3dzZXInOworaW1wb3J0ICdzb3VyY2VzL2Jh Y2tncmlkLnBnYWRtaW4nOworaW1wb3J0ICdzb3VyY2VzL2JhY2tmb3JtLnBnYWRtaW4nOworCitl eHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXREaWFsb2coZGlhbG9nTmFtZSkgeworICBpZihkaWFs b2dOYW1lID09PSAnZW50aXR5X2RpYWxvZycpIHsKKyAgICByZXR1cm4gbmV3IFRhYmxlRGlhbG9n KHBnQnJvd3Nlcik7CisgIH0gZWxzZSBpZihkaWFsb2dOYW1lID09PSAnb25ldG9tYW55X2RpYWxv ZycpIHsKKyAgICByZXR1cm4gbmV3IE9uZVRvTWFueURpYWxvZyhwZ0Jyb3dzZXIpOworICB9IGVs c2UgaWYoZGlhbG9nTmFtZSA9PT0gJ21hbnl0b21hbnlfZGlhbG9nJykgeworICAgIHJldHVybiBu ZXcgTWFueVRvTWFueURpYWxvZyhwZ0Jyb3dzZXIpOworICB9Cit9CisKK2V4cG9ydCBmdW5jdGlv biB0cmFuc2Zvcm1Ub1N1cHBvcnRlZCh0eXBlLCBkYXRhKSB7CisgIGlmKHR5cGUgPT0gJ3RhYmxl JykgeworICAgIHJldHVybiB0cmFuc2Zvcm1Ub1N1cHBvcnRlZFRhYmxlKGRhdGEpOworICB9Cisg IHJldHVybiBkYXRhOworfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3N0YXRp Yy9qcy9lcmRfdG9vbC9pbmRleC5qcyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMvanMv ZXJkX3Rvb2wvaW5kZXguanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4x YmQ0YzNiYzYKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGlj L2pzL2VyZF90b29sL2luZGV4LmpzCkBAIC0wLDAgKzEsMzAgQEAKKy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyBwZ0Fk bWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisvLworLy8gQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAy MCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorLy8gVGhpcyBzb2Z0d2FyZSBpcyByZWxl YXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisvLworLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworaW1wb3J0IFJl YWN0IGZyb20gJ3JlYWN0JzsKK2ltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nOworaW1w b3J0IEJvZHlXaWRnZXQgZnJvbSAnLi91aV9jb21wb25lbnRzL0JvZHlXaWRnZXQnOworaW1wb3J0 IGdldERpYWxvZywge3RyYW5zZm9ybVRvU3VwcG9ydGVkfSBmcm9tICcuL2RpYWxvZ3MnOworaW1w b3J0IEFsZXJ0aWZ5IGZyb20gJ3BnYWRtaW4uYWxlcnRpZnlqcyc7CitpbXBvcnQgcGdXaW5kb3cg ZnJvbSAnc291cmNlcy93aW5kb3cnOworCitleHBvcnQgZGVmYXVsdCBjbGFzcyBFUkRUb29sIHsK KyAgY29uc3RydWN0b3IoY29udGFpbmVyLCBwYXJhbXMpIHsKKyAgICB0aGlzLmNvbnRhaW5lciA9 IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoY29udGFpbmVyKTsKKyAgICB0aGlzLnBhcmFtcyA9IHBh cmFtczsKKyAgfQorCisgIHJlbmRlcigpIHsKKyAgICAvKiBNb3VudCB0aGUgUmVhY3QgRVJEIHRv b2wgdG8gdGhlIGNvbnRhaW5lciAqLworICAgIFJlYWN0RE9NLnJlbmRlcigKKyAgICAgIDxCb2R5 V2lkZ2V0IHBhcmFtcz17dGhpcy5wYXJhbXN9IGdldERpYWxvZz17Z2V0RGlhbG9nfSB0cmFuc2Zv cm1Ub1N1cHBvcnRlZD17dHJhbnNmb3JtVG9TdXBwb3J0ZWR9IHBnQWRtaW49e3BnV2luZG93LnBn QWRtaW59IGFsZXJ0aWZ5PXtBbGVydGlmeX0gLz4sCisgICAgICB0aGlzLmNvbnRhaW5lcgorICAg ICk7CisgIH0KK30KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMvanMv ZXJkX3Rvb2wvbGlua3MvT25lVG9NYW55TGluay5qc3ggYi93ZWIvcGdhZG1pbi90b29scy9lcmQv c3RhdGljL2pzL2VyZF90b29sL2xpbmtzL09uZVRvTWFueUxpbmsuanN4Cm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMjYwZTNkYzU3Ci0tLSAvZGV2L251bGwKKysrIGIvd2Vi L3BnYWRtaW4vdG9vbHMvZXJkL3N0YXRpYy9qcy9lcmRfdG9vbC9saW5rcy9PbmVUb01hbnlMaW5r LmpzeApAQCAtMCwwICsxLDMwMSBAQAorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vIHBnQWRtaW4gNCAtIFBvc3RncmVT UUwgVG9vbHMKKy8vCisvLyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUgcGdBZG1pbiBE ZXZlbG9wbWVudCBUZWFtCisvLyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQ b3N0Z3JlU1FMIExpY2VuY2UKKy8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCitpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3Qn OworaW1wb3J0IHsKKyAgICBSaWdodEFuZ2xlTGlua01vZGVsLAorICAgIFJpZ2h0QW5nbGVMaW5r V2lkZ2V0LAorICAgIERlZmF1bHRMaW5rRmFjdG9yeSwKKyAgICBQb3J0TW9kZWxBbGlnbm1lbnQs CisgICAgTGlua1dpZGdldCwKKyAgICBQb2ludE1vZGVsCit9IGZyb20gJ0Bwcm9qZWN0c3Rvcm0v cmVhY3QtZGlhZ3JhbXMnOworaW1wb3J0IHtQb2ludH0gZnJvbSAnQHByb2plY3RzdG9ybS9nZW9t ZXRyeSc7CitpbXBvcnQgXyBmcm9tICdsb2Rhc2gnOworCitleHBvcnQgY29uc3QgT25lVG9NYW55 TW9kZWwgPSB7CisgIGxvY2FsX3RhYmxlX3VpZDogdW5kZWZpbmVkLAorICBsb2NhbF9jb2x1bW5f YXR0bnVtOiB1bmRlZmluZWQsCisgIHJlZmVyZW5jZWRfdGFibGVfdWlkOiB1bmRlZmluZWQsCisg IHJlZmVyZW5jZWRfY29sdW1uX2F0dG51bTogdW5kZWZpbmVkLAorfQorCitleHBvcnQgY2xhc3Mg T25lVG9NYW55TGlua01vZGVsIGV4dGVuZHMgUmlnaHRBbmdsZUxpbmtNb2RlbCB7CisgIGNvbnN0 cnVjdG9yKHtkYXRhLCAuLi5vcHRpb25zfSkgeworICAgIHN1cGVyKHsKKyAgICAgIHR5cGU6ICdv bmV0b21hbnknLAorICAgICAgd2lkdGg6IDEsCisgICAgICBjbGFzczogJ2xpbmstb25ldG9tYW55 JywKKyAgICAgIGxvY2tlZDogdHJ1ZSwKKyAgICAgIC4uLm9wdGlvbnMKKyAgICB9KTsKKworICAg IHRoaXMuX2RhdGEgPSB7CisgICAgICAuLi5kYXRhLAorICAgIH07CisgIH0KKworICBnZXREYXRh KCkgeworICAgIHJldHVybiB0aGlzLl9kYXRhOworICB9CisKKyAgc2V0RGF0YShkYXRhKSB7Cisg ICAgdGhpcy5fZGF0YSA9IGRhdGE7CisgIH0KKworICBzZXJpYWxpemVEYXRhKG5vZGVzRGljdCkg eworICAgIGxldCBkYXRhID0gdGhpcy5nZXREYXRhKCk7CisgICAgbGV0IHRhcmdldCA9IG5vZGVz RGljdFtkYXRhWydsb2NhbF90YWJsZV91aWQnXV0uZ2V0RGF0YSgpOworICAgIGxldCBzb3VyY2Ug PSBub2Rlc0RpY3RbZGF0YVsncmVmZXJlbmNlZF90YWJsZV91aWQnXV0uZ2V0RGF0YSgpOworICAg IHJldHVybiB7CisgICAgICAnc2NoZW1hJzogdGFyZ2V0LnNjaGVtYSwKKyAgICAgICd0YWJsZSc6 IHRhcmdldC5uYW1lLAorICAgICAgJ3JlbW90ZV9zY2hlbWEnOiBzb3VyY2Uuc2NoZW1hLAorICAg ICAgJ3JlbW90ZV90YWJsZSc6IHNvdXJjZS5uYW1lLAorICAgICAgJ2NvbHVtbnMnOiBbeworICAg ICAgICAnbG9jYWxfY29sdW1uJzogXy5maW5kKHRhcmdldC5jb2x1bW5zLCAoY29sKT0+ZGF0YS5s b2NhbF9jb2x1bW5fYXR0bnVtID09IGNvbC5hdHRudW0pLm5hbWUsCisgICAgICAgICdyZWZlcmVu Y2VkJzogXy5maW5kKHNvdXJjZS5jb2x1bW5zLCAoY29sKT0+ZGF0YS5yZWZlcmVuY2VkX2NvbHVt bl9hdHRudW0gPT0gY29sLmF0dG51bSkubmFtZSwKKyAgICAgIH1dLAorICAgIH0KKyAgfQorCisg IHNlcmlhbGl6ZSgpIHsKKyAgICByZXR1cm4geworICAgICAgLi4uc3VwZXIuc2VyaWFsaXplKCks CisgICAgICBkYXRhOiB0aGlzLmdldERhdGEoKQorICAgIH07CisgIH0KK30KKworY29uc3QgQ3Vz dG9tTGlua0VuZFdpZGdldCA9IHByb3BzID0+IHsKKyAgY29uc3QgeyBwb2ludCwgcm90YXRpb24s IHR4LCB0eSwgdHlwZSB9ID0gcHJvcHM7CisKKyAgY29uc3Qgc3ZnRm9yVHlwZSA9ICh0eXBlKSA9 PiB7CisgICAgaWYodHlwZSA9PSAnbWFueScpIHsKKyAgICAgIHJldHVybiAoCisgICAgICAgIDw+ CisgICAgICAgICAgPGNpcmNsZSBjbGFzc05hbWU9InN2Zy1saW5rLWVsZSBzdmctb3RvbS1jaXJj bGUiIGN4PSIwIiBjeT0iMTYiIHI9e3Byb3BzLndpZHRoKjEuNzV9IHN0cm9rZVdpZHRoPXtwcm9w cy53aWR0aH0gLz4KKyAgICAgICAgICA8cG9seWxpbmUgY2xhc3NOYW1lPSJzdmctbGluay1lbGUi IHBvaW50cz0iLTgsMCAwLDE1IDAsMCAwLDMwIDAsMTUgOCwwIiBmaWxsPSJub25lIiBzdHJva2VX aWR0aD17cHJvcHMud2lkdGh9IC8+CisgICAgICAgIDwvPgorICAgICAgKQorICAgIH0gZWxzZSBp ZiAodHlwZSA9PSAnb25lJykgeworICAgICAgcmV0dXJuICgKKyAgICAgICAgPHBvbHlsaW5lIGNs YXNzTmFtZT0ic3ZnLWxpbmstZWxlIiBwb2ludHM9Ii04LDE1IDAsMTUgMCwwIDAsMzAgMCwxNSA4 LDE1IiBmaWxsPSJub25lIiBzdHJva2VXaWR0aD17cHJvcHMud2lkdGh9IC8+CisgICAgICApCisg ICAgfQorICB9CisKKyAgcmV0dXJuICgKKyAgICA8ZyB0cmFuc2Zvcm09eyd0cmFuc2xhdGUoJyAr IHBvaW50LmdldFBvc2l0aW9uKCkueCArICcsICcgKyBwb2ludC5nZXRQb3NpdGlvbigpLnkgKyAn KSd9PgorICAgICAgPGcgdHJhbnNmb3JtPXsndHJhbnNsYXRlKCcrdHgrJywnK3R5KycpJ30+Cisg ICAgICAgIDxnIHN0eWxlPXt7IHRyYW5zZm9ybTogJ3JvdGF0ZSgnICsgcm90YXRpb24gKyAnZGVn KScgfX0+CisgICAgICAgICAge3N2Z0ZvclR5cGUodHlwZSl9CisgICAgICAgIDwvZz4KKyAgICAg IDwvZz4KKyAgICA8L2c+CisgICk7Cit9OworCitleHBvcnQgY2xhc3MgT25lVG9NYW55TGlua1dp ZGdldCBleHRlbmRzIFJpZ2h0QW5nbGVMaW5rV2lkZ2V0IHsKKyAgY29uc3RydWN0b3IocHJvcHMp IHsKKyAgICBzdXBlcihwcm9wcyk7CisgIH0KKworICBlbmRQb2ludFRyYW5zbGF0aW9uKGFsaWdu bWVudCwgb2Zmc2V0KSB7CisgICAgbGV0IGRlZ3JlZSA9IDA7CisgICAgbGV0IHR4ID0gMCwgdHkg PSAwOworICAgIHN3aXRjaChhbGlnbm1lbnQpIHsKKyAgICAgIGNhc2UgUG9ydE1vZGVsQWxpZ25t ZW50LkJPVFRPTToKKyAgICAgICAgZGVncmVlID0gMDsKKyAgICAgICAgdHkgPSAtb2Zmc2V0Owor ICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgUG9ydE1vZGVsQWxpZ25tZW50LkxFRlQ6CisgICAg ICAgIGRlZ3JlZSA9IDkwOworICAgICAgICB0eCA9IG9mZnNldAorICAgICAgICBicmVhazsKKyAg ICAgIGNhc2UgUG9ydE1vZGVsQWxpZ25tZW50LlRPUDoKKyAgICAgICAgZGVncmVlID0gMTgwOwor ICAgICAgICB0eSA9IG9mZnNldDsKKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlIFBvcnRNb2Rl bEFsaWdubWVudC5SSUdIVDoKKyAgICAgICAgZGVncmVlID0gLTkwOworICAgICAgICB0eCA9IC1v ZmZzZXQ7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICByZXR1cm4gW2RlZ3JlZSwgdHgsIHR5 XTsKKyAgfQorCisgIGFkZEN1c3RvbVdpZGdldFBvaW50KHR5cGUsIGVuZHBvaW50LCBwb2ludCkg eworICAgIGxldCBvZmZzZXQgPSAzMDsKKyAgICBjb25zdCBbcm90YXRpb24sIHR4LCB0eV0gPSB0 aGlzLmVuZFBvaW50VHJhbnNsYXRpb24oZW5kcG9pbnQub3B0aW9ucy5hbGlnbm1lbnQsIG9mZnNl dCk7CisgICAgaWYoIXBvaW50KSB7CisgICAgICBwb2ludCA9IHRoaXMucHJvcHMubGluay5wb2lu dCgKKyAgICAgICAgZW5kcG9pbnQuZ2V0WCgpLXR4LCBlbmRwb2ludC5nZXRZKCktdHksIHsnb25l JzogMSwgJ21hbnknOiAyfVt0eXBlXQorICAgICAgKTsKKyAgICB9IGVsc2UgeworICAgICAgcG9p bnQuc2V0UG9zaXRpb24oZW5kcG9pbnQuZ2V0WCgpLXR4LCBlbmRwb2ludC5nZXRZKCktdHkpOwor ICAgIH0KKworICAgIHJldHVybiB7CisgICAgICB0eXBlOiB0eXBlLAorICAgICAgcG9pbnQ6IHBv aW50LAorICAgICAgcm90YXRpb246IHJvdGF0aW9uLAorICAgICAgdHg6IHR4LAorICAgICAgdHk6 IHR5CisgICAgfQorICB9CisKKyAgZ2VuZXJhdGVDdXN0b21FbmRXaWRnZXQoe3R5cGUsIHBvaW50 LCByb3RhdGlvbiwgdHgsIHR5fSkgeworICAgIHJldHVybiAoCisgICAgICA8Q3VzdG9tTGlua0Vu ZFdpZGdldAorICAgICAgICBrZXk9e3BvaW50LmdldElEKCl9CisgICAgICAgIHBvaW50PXtwb2lu dH0KKyAgICAgICAgcm90YXRpb249e3JvdGF0aW9ufQorICAgICAgICB0eD17dHh9CisgICAgICAg IHR5PXt0eX0KKyAgICAgICAgdHlwZT17dHlwZX0KKyAgICAgICAgY29sb3JTZWxlY3RlZD17dGhp cy5wcm9wcy5saW5rLmdldE9wdGlvbnMoKS5zZWxlY3RlZENvbG9yfQorICAgICAgICBjb2xvcj17 dGhpcy5wcm9wcy5saW5rLmdldE9wdGlvbnMoKS5jb2xvcn0KKyAgICAgICAgd2lkdGg9e3RoaXMu cHJvcHMud2lkdGh9CisgICAgICAvPgorICAgICk7CisgIH0KKworICBkcmFnZ2luZ0V2ZW50KGV2 ZW50LCBpbmRleCkgeworICAgIGxldCBwb2ludHMgPSB0aGlzLnByb3BzLmxpbmsuZ2V0UG9pbnRz KCk7CisgICAgLy8gZ2V0IG1vdmluZyBkaWZmZXJlbmNlLiBJbmRleCArIDEgd2lsbCB3b3JrIGJl Y2F1c2UgbGlua3MgaW5kZXhlcyBoYXMKKyAgICAvLyBsZW5ndGggPSBwb2ludHMubGVuZ2h0IC0g MQorICAgIGxldCBkeCA9IE1hdGguYWJzKHBvaW50c1tpbmRleF0uZ2V0WCgpIC0gcG9pbnRzW2lu ZGV4ICsgMV0uZ2V0WCgpKTsKKyAgICBsZXQgZHkgPSBNYXRoLmFicyhwb2ludHNbaW5kZXhdLmdl dFkoKSAtIHBvaW50c1tpbmRleCArIDFdLmdldFkoKSk7CisKKyAgICAvLyBtb3Zpbmcgd2l0aCB5 IGRpcmVjdGlvbgorICAgIGlmIChkeCA9PT0gMCkgeworICAgICAgdGhpcy5jYWxjdWxhdGVQb3Np dGlvbnMocG9pbnRzLCBldmVudCwgaW5kZXgsICd4Jyk7CisgICAgfSBlbHNlIGlmIChkeSA9PT0g MCkgeworICAgICAgdGhpcy5jYWxjdWxhdGVQb3NpdGlvbnMocG9pbnRzLCBldmVudCwgaW5kZXgs ICd5Jyk7CisgICAgfQorICAgIHRoaXMucHJvcHMubGluay5zZXRGaXJzdEFuZExhc3RQYXRoc0Rp cmVjdGlvbigpOworICB9CisKKyAgaGFuZGxlTW92ZSA9IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAg dGhpcy5wcm9wcy5saW5rLmdldFRhcmdldFBvcnQoKQorICAgIHRoaXMuZHJhZ2dpbmdFdmVudChl dmVudCwgdGhpcy5kcmFnZ2luZ19pbmRleCk7CisgICAgdGhpcy5wcm9wcy5saW5rLmZpcmVFdmVu dCh7fSwgJ3Bvc2l0aW9uQ2hhbmdlZCcpOworICB9LmJpbmQodGhpcyk7CisKKyAgcmVuZGVyKCkg eworICAgIC8vZW5zdXJlIGlkIGlzIHByZXNlbnQgZm9yIGFsbCBwb2ludHMgb24gdGhlIHBhdGgK KyAgICBsZXQgcG9pbnRzID0gdGhpcy5wcm9wcy5saW5rLmdldFBvaW50cygpOworICAgIGxldCBw YXRocyA9IFtdOworCisgICAgLy8gR2V0IHBvaW50cyBiYXNlZCBvbiBsaW5rIG9yaWVudGF0aW9u CisgICAgbGV0IHBvaW50TGVmdCA9IHBvaW50c1swXTsKKyAgICBsZXQgcG9pbnRSaWdodCA9IHBv aW50c1twb2ludHMubGVuZ3RoIC0gMV07CisgICAgbGV0IGhhZFRvU3dpdGNoID0gZmFsc2U7Cisg ICAgaWYgKHBvaW50TGVmdC5nZXRYKCkgPiBwb2ludFJpZ2h0LmdldFgoKSkgeworICAgICAgcG9p bnRMZWZ0ID0gcG9pbnRzW3BvaW50cy5sZW5ndGggLSAxXTsKKyAgICAgIHBvaW50UmlnaHQgPSBw b2ludHNbMF07CisgICAgICBoYWRUb1N3aXRjaCA9IHRydWU7CisgICAgfQorICAgIGxldCBkeSA9 IE1hdGguYWJzKHBvaW50c1swXS5nZXRZKCkgLSBwb2ludHNbcG9pbnRzLmxlbmd0aCAtIDFdLmdl dFkoKSk7CisgICAgbGV0IGR4ID0gTWF0aC5hYnMocG9pbnRzWzBdLmdldFgoKSAtIHBvaW50c1tw b2ludHMubGVuZ3RoIC0gMV0uZ2V0WCgpKTsKKworICAgIGxldCBvbmVQb2ludCA9IHRoaXMuYWRk Q3VzdG9tV2lkZ2V0UG9pbnQoJ29uZScsIHRoaXMucHJvcHMubGluay5nZXRTb3VyY2VQb3J0KCks IHBvaW50c1swXSk7OworICAgIGxldCBtYW55UG9pbnQgPSB0aGlzLmFkZEN1c3RvbVdpZGdldFBv aW50KCdtYW55JywgdGhpcy5wcm9wcy5saW5rLmdldFRhcmdldFBvcnQoKSwgcG9pbnRzW3BvaW50 cy5sZW5ndGgtMV0pOworCisgICAgaWYgKCF0aGlzLnN0YXRlLmNhbkRyYWcgJiYgcG9pbnRzLmxl bmd0aCA+IDIpIHsKKyAgICAgIC8vIFRob3NlIHBvaW50cyBhbmQgaXRzIHBvc2l0aW9uIG9ubHkg d2lsbCBiZSBtb3ZlZAorICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPCBwb2ludHMubGVuZ3RoOyBp ICs9IHBvaW50cy5sZW5ndGggLSAyKSB7CisgICAgICAgIGlmIChpIC0gMSA9PT0gMCkgeworICAg ICAgICAgIGlmICh0aGlzLnByb3BzLmxpbmsuZ2V0Rmlyc3RQYXRoWGRpcmVjdGlvbigpKSB7Cisg ICAgICAgICAgICBwb2ludHNbaV0uc2V0UG9zaXRpb24ocG9pbnRzW2ldLmdldFgoKSwgcG9pbnRz W2kgLSAxXS5nZXRZKCkpOworICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBwb2ludHNb aV0uc2V0UG9zaXRpb24ocG9pbnRzW2kgLSAxXS5nZXRYKCksIHBvaW50c1tpXS5nZXRZKCkpOwor ICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICBpZiAodGhpcy5wcm9wcy5s aW5rLmdldExhc3RQYXRoWGRpcmVjdGlvbigpKSB7CisgICAgICAgICAgICBwb2ludHNbaSAtIDFd LnNldFBvc2l0aW9uKHBvaW50c1tpIC0gMV0uZ2V0WCgpLCBwb2ludHNbaV0uZ2V0WSgpKTsKKyAg ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgcG9pbnRzW2kgLSAxXS5zZXRQb3NpdGlvbihw b2ludHNbaV0uZ2V0WCgpLCBwb2ludHNbaSAtIDFdLmdldFkoKSk7CisgICAgICAgICAgfQorICAg ICAgICB9CisgICAgICB9CisgICAgfQorCisgICAgLy8gSWYgdGhlcmUgaXMgZXhpc3RpbmcgbGlu ayB3aGljaCBoYXMgdHdvIHBvaW50cyBhZGQgb25lCisgICAgaWYgKHBvaW50cy5sZW5ndGggPT09 IDIgJiYgIXRoaXMuc3RhdGUuY2FuRHJhZykgeworICAgICAgdGhpcy5wcm9wcy5saW5rLmFkZFBv aW50KAorICAgICAgICBuZXcgUG9pbnRNb2RlbCh7CisgICAgICAgICAgbGluazogdGhpcy5wcm9w cy5saW5rLAorICAgICAgICAgIHBvc2l0aW9uOiBuZXcgUG9pbnQob25lUG9pbnQucG9pbnQuZ2V0 WCgpLCBtYW55UG9pbnQucG9pbnQuZ2V0WSgpKQorICAgICAgICB9KQorICAgICAgKTsKKyAgICB9 CisKKyAgICBwYXRocy5wdXNoKHRoaXMuZ2VuZXJhdGVDdXN0b21FbmRXaWRnZXQob25lUG9pbnQp KTsKKyAgICBmb3IgKGxldCBqID0gMDsgaiA8IHBvaW50cy5sZW5ndGggLSAxOyBqKyspIHsKKyAg ICAgIHBhdGhzLnB1c2goCisgICAgICAgIHRoaXMuZ2VuZXJhdGVMaW5rKAorICAgICAgICAgIExp bmtXaWRnZXQuZ2VuZXJhdGVMaW5lUGF0aChwb2ludHNbal0sIHBvaW50c1tqICsgMV0pLAorICAg ICAgICAgIHsKKyAgICAgICAgICAgICdkYXRhLWxpbmtpZCc6IHRoaXMucHJvcHMubGluay5nZXRJ RCgpLAorICAgICAgICAgICAgJ2RhdGEtcG9pbnQnOiBqLAorICAgICAgICAgICAgb25Nb3VzZURv d246IChldmVudCkgPT4geworICAgICAgICAgICAgICBpZiAoZXZlbnQuYnV0dG9uID09PSAwKSB7 CisgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGNhbkRyYWc6IHRydWUgfSk7CisgICAg ICAgICAgICAgICAgdGhpcy5kcmFnZ2luZ19pbmRleCA9IGo7CisgICAgICAgICAgICAgICAgLy8g UmVnaXN0ZXIgbW91c2UgbW92ZSBldmVudCB0byB0cmFjayBtb3VzZSBwb3NpdGlvbgorICAgICAg ICAgICAgICAgIC8vIE9uIG1vdXNlIHVwIHRoZXNlIGV2ZW50cyBhcmUgdW5yZWdpc3RlcmVkIGNo ZWNrICJ0aGlzLmhhbmRsZVVwIgorICAgICAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3Rl bmVyKCdtb3VzZW1vdmUnLCB0aGlzLmhhbmRsZU1vdmUpOworICAgICAgICAgICAgICAgIHdpbmRv dy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdGhpcy5oYW5kbGVVcCk7CisgICAgICAgICAg ICAgIH0KKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBvbk1vdXNlRW50ZXI6IChldmVudCkg PT4geworICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgc2VsZWN0ZWQ6IHRydWUgfSk7Cisg ICAgICAgICAgICAgIHRoaXMucHJvcHMubGluay5sYXN0SG92ZXJJbmRleE9mUGF0aCA9IGo7Cisg ICAgICAgICAgICB9CisgICAgICAgICAgfSwKKyAgICAgICAgICBqCisgICAgICAgICkKKyAgICAg ICk7CisgICAgfQorICAgIHBhdGhzLnB1c2godGhpcy5nZW5lcmF0ZUN1c3RvbUVuZFdpZGdldCht YW55UG9pbnQpKTsKKworCisgICAgdGhpcy5yZWZQYXRocyA9IFtdOworICAgIHJldHVybiA8ZyBk YXRhLWRlZmF1bHQtbGluay10ZXN0PXt0aGlzLnByb3BzLmxpbmsuZ2V0T3B0aW9ucygpLnRlc3RO YW1lfT57cGF0aHN9PC9nPjsKKyAgfQorfQorCitleHBvcnQgY2xhc3MgT25lVG9NYW55TGlua0Zh Y3RvcnkgZXh0ZW5kcyBEZWZhdWx0TGlua0ZhY3RvcnkgeworICBjb25zdHJ1Y3RvcigpIHsKKyAg ICBzdXBlcignb25ldG9tYW55Jyk7CisgIH0KKworICBnZW5lcmF0ZU1vZGVsKGV2ZW50KSB7Cisg ICAgcmV0dXJuIG5ldyBPbmVUb01hbnlMaW5rTW9kZWwoZXZlbnQuaW5pdGlhbENvbmZpZyk7Cisg IH0KKworICBnZW5lcmF0ZVJlYWN0V2lkZ2V0KGV2ZW50KSB7CisgICAgcmV0dXJuIDxPbmVUb01h bnlMaW5rV2lkZ2V0IGNvbG9yPScjZmZmJyB3aWR0aD17MX0gc21vb3RoPXt0cnVlfSBsaW5rPXtl dmVudC5tb2RlbH0gZGlhZ3JhbUVuZ2luZT17dGhpcy5lbmdpbmV9IGZhY3Rvcnk9e3RoaXN9IC8+ OworICB9CisKKyAgZ2VuZXJhdGVMaW5rU2VnbWVudChtb2RlbCwgc2VsZWN0ZWQsIHBhdGgpIHsK KyAgICByZXR1cm4gKAorICAgICAgPHBhdGgKKyAgICAgICAgY2xhc3NOYW1lPXsnc3ZnLWxpbmst ZWxlIHBhdGggJyArIChzZWxlY3RlZCA/ICdzZWxlY3RlZCcgOiAnJyl9CisgICAgICAgIHN0cm9r ZT17bW9kZWwuZ2V0T3B0aW9ucygpLmNvbG9yfQorICAgICAgICBzZWxlY3RlZD17c2VsZWN0ZWR9 CisgICAgICAgIHN0cm9rZVdpZHRoPXttb2RlbC5nZXRPcHRpb25zKCkud2lkdGh9CisgICAgICAg IGQ9e3BhdGh9CisgICAgICA+CisgICAgICA8L3BhdGg+CisgICAgKTsKKyAgfQorfQpkaWZmIC0t Z2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3N0YXRpYy9qcy9lcmRfdG9vbC9ub2Rlcy9UYWJs ZU5vZGUuanN4IGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3N0YXRpYy9qcy9lcmRfdG9vbC9ub2Rl cy9UYWJsZU5vZGUuanN4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMDVk MzY4Nzc2Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3N0YXRpYy9q cy9lcmRfdG9vbC9ub2Rlcy9UYWJsZU5vZGUuanN4CkBAIC0wLDAgKzEsMjAzIEBACisvLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisv LworLy8gcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworLy8KKy8vIENvcHlyaWdodCAoQykg MjAxMyAtIDIwMjAsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKy8vIFRoaXMgc29mdHdh cmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorLy8KKy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisK K2ltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7CitpbXBvcnQgeyBQb3J0TW9kZWxBbGlnbm1lbnQs IERlZmF1bHROb2RlTW9kZWwgfSBmcm9tICdAcHJvamVjdHN0b3JtL3JlYWN0LWRpYWdyYW1zJzsK K2ltcG9ydCB7IFBvcnRXaWRnZXQgfSBmcm9tICdAcHJvamVjdHN0b3JtL3JlYWN0LWRpYWdyYW1z JzsKK2ltcG9ydCB7IEFic3RyYWN0UmVhY3RGYWN0b3J5IH0gZnJvbSAnQHByb2plY3RzdG9ybS9y ZWFjdC1jYW52YXMtY29yZSc7CitpbXBvcnQgXyBmcm9tICdsb2Rhc2gnOworaW1wb3J0IHsgSWNv bkJ1dHRvbiwgRGV0YWlsc1RvZ2dsZUJ1dHRvbiB9IGZyb20gJy4uL3VpX2NvbXBvbmVudHMvVG9v bEJhcic7CisKK2NvbnN0IFRZUEUgPSAndGFibGUnOworCitleHBvcnQgY2xhc3MgVGFibGVOb2Rl TW9kZWwgZXh0ZW5kcyBEZWZhdWx0Tm9kZU1vZGVsIHsKKyAgY29uc3RydWN0b3Ioe290aGVySW5m bywgLi4ub3B0aW9uc30pIHsKKyAgICBzdXBlcih7CisgICAgICAuLi5vcHRpb25zLAorICAgICAg dHlwZTogVFlQRQorICAgIH0pOworCisgICAgdGhpcy5fbm90ZSA9IG90aGVySW5mby5ub3RlIHx8 ICcnOworCisgICAgdGhpcy5fZGF0YSA9IHsKKyAgICAgIGNvbHVtbnM6IFtdLAorICAgICAgLi4u b3RoZXJJbmZvLmRhdGEsCisgICAgfTsKKyAgfQorCisgIGdldFBvcnROYW1lKGF0dG51bSkgewor ICAgIHJldHVybiBgY29sbC1wb3J0LSR7YXR0bnVtfWA7CisgIH0KKworICBzZXROb3RlKG5vdGUp IHsKKyAgICB0aGlzLl9ub3RlID0gbm90ZTsKKyAgfQorCisgIGdldE5vdGUoKSB7CisgICAgcmV0 dXJuIHRoaXMuX25vdGU7CisgIH0KKworICBhZGRDb2x1bW4oY29sKSB7CisgICAgdGhpcy5fZGF0 YS5jb2x1bW5zLnB1c2goY29sKTsKKyAgfQorCisgIGdldENvbHVtbkF0KGF0dG51bSkgeworICAg IHJldHVybiBfLmZpbmQodGhpcy5nZXRDb2x1bW5zKCksIChjb2wpPT5jb2wuYXR0bnVtPT1hdHRu dW0pOworICB9CisKKyAgZ2V0Q29sdW1ucygpIHsKKyAgICByZXR1cm4gdGhpcy5fZGF0YS5jb2x1 bW5zOworICB9CisKKyAgc2V0TmFtZShuYW1lKSB7CisgICAgdGhpcy5fZGF0YVsnbmFtZSddID0g bmFtZTsKKyAgfQorCisgIGNsb25lRGF0YShuYW1lKSB7CisgICAgbGV0IG5ld0RhdGEgPSB7Cisg ICAgICAuLi50aGlzLmdldERhdGEoKQorICAgIH07CisgICAgaWYobmFtZSkgeworICAgICAgbmV3 RGF0YVsnbmFtZSddID0gbmFtZQorICAgIH0KKyAgICByZXR1cm4gbmV3RGF0YTsKKyAgfQorCisg IHNldERhdGEoZGF0YSkgeworICAgIGxldCBzZWxmID0gdGhpczsKKyAgICAvKiBSZW1vdmUgdGhl IGxpbmtzIGlmIGNvbHVtbiBkcm9wcGVkICovCisgICAgXy5kaWZmZXJlbmNlV2l0aCh0aGlzLl9k YXRhLmNvbHVtbnMsIGRhdGEuY29sdW1ucywgZnVuY3Rpb24oZXhpc3RpbmcsIGluY29taW5nKSB7 CisgICAgICByZXR1cm4gZXhpc3RpbmcuYXR0bnVtID09IGluY29taW5nLmF0dG51bTsKKyAgICB9 KS5mb3JFYWNoKChjb2wpPT57CisgICAgICBsZXQgZXhpc3RQb3J0ID0gc2VsZi5nZXRQb3J0KHNl bGYuZ2V0UG9ydE5hbWUoY29sLmF0dG51bSkpOworICAgICAgaWYoZXhpc3RQb3J0KSB7CisgICAg ICAgIGV4aXN0UG9ydC5yZW1vdmVBbGxMaW5rcygpOworICAgICAgICBzZWxmLnJlbW92ZVBvcnQo ZXhpc3RQb3J0KTsKKyAgICAgIH0KKyAgICB9KTsKKyAgICB0aGlzLl9kYXRhID0gZGF0YTsKKyAg ICB0aGlzLmZpcmVFdmVudCh7fSwgJ25vZGVVcGRhdGVkJyk7CisgIH0KKworICBnZXREYXRhKCkg eworICAgIHJldHVybiB0aGlzLl9kYXRhOworICB9CisKKyAgZ2V0U2NoZW1hVGFibGVOYW1lKCkg eworICAgIHJldHVybiBbdGhpcy5fZGF0YS5zY2hlbWEsIHRoaXMuX2RhdGEubmFtZV07CisgIH0K KworICByZW1vdmUoKSB7CisgICAgT2JqZWN0LnZhbHVlcyh0aGlzLmdldFBvcnRzKCkpLmZvckVh Y2goKHBvcnQpPT57CisgICAgICBwb3J0LnJlbW92ZUFsbExpbmtzKCk7CisgICAgfSk7CisgICAg c3VwZXIucmVtb3ZlKCk7CisgIH0KKworICBzZXJpYWxpemVEYXRhKCkgeworICAgIHJldHVybiB0 aGlzLmdldERhdGEoKTsKKyAgfQorCisgIHNlcmlhbGl6ZSgpIHsKKyAgICByZXR1cm4geworICAg ICAgLi4uc3VwZXIuc2VyaWFsaXplKCksCisgICAgICBvdGhlckluZm86IHsKKyAgICAgICAgZGF0 YTogdGhpcy5nZXREYXRhKCksCisgICAgICAgIG5vdGU6IHRoaXMuZ2V0Tm90ZSgpLAorICAgICAg fQorICAgIH07CisgIH0KK30KKworZXhwb3J0IGNsYXNzIFRhYmxlTm9kZVdpZGdldCBleHRlbmRz IFJlYWN0LkNvbXBvbmVudCB7CisgIGNvbnN0cnVjdG9yKHByb3BzKSB7CisgICAgc3VwZXIocHJv cHMpOworCisgICAgdGhpcy5zdGF0ZSA9IHsKKyAgICAgIHNob3dfZGV0YWlsczogdHJ1ZQorICAg IH0KKworICAgIHRoaXMucHJvcHMubm9kZS5yZWdpc3Rlckxpc3RlbmVyKHsKKyAgICAgIHRvZ2ds ZURldGFpbHM6IChldmVudCkgPT4geworICAgICAgICB0aGlzLnNldFN0YXRlKHtzaG93X2RldGFp bHM6IGV2ZW50LnNob3dfZGV0YWlsc30pOworICAgICAgfSwKKyAgICB9KTsKKyAgfQorCisgIGdl bmVyYXRlQ29sdW1uKGNvbCkgeworICAgIGxldCBwb3J0ID0gdGhpcy5wcm9wcy5ub2RlLmdldFBv cnQodGhpcy5wcm9wcy5ub2RlLmdldFBvcnROYW1lKGNvbC5hdHRudW0pKTsKKyAgICByZXR1cm4g KAorICAgICAgPGRpdiBjbGFzc05hbWU9J2QtZmxleCBjb2wtcm93JyBrZXk9e2NvbC5hdHRudW19 PgorICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nZC1mbGV4IGNvbC1yb3ctZGF0YSc+CisgICAgICAg ICAgPGRpdj48c3BhbiBjbGFzc05hbWU9eyd3Y1RhYkljb24gJyArIChjb2wuaXNfcHJpbWFyeV9r ZXk/J2ljb24tcHJpbWFyeV9rZXknOidpY29uLWNvbHVtbicpfT48L3NwYW4+PC9kaXY+CisgICAg ICAgICAgPGRpdj4KKyAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT0nY29sLW5hbWUnPntjb2wu bmFtZX08L3NwYW4+Jm5ic3A7CisgICAgICAgICAgICB7dGhpcy5zdGF0ZS5zaG93X2RldGFpbHMg JiYKKyAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT0nY29sLWRhdGF0eXBlJz57Y29sLmNsdHlw ZX17Y29sLmF0dGxlbiA/ICgnKCcrIGNvbC5hdHRsZW4gKyAoY29sLmF0dHByZWNpc2lvbiA/ICcs Jytjb2wuYXR0cHJlY2lzaW9uIDogJycpICsnKScpIDogJyd9PC9zcGFuPn0KKyAgICAgICAgICA8 L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJtbC1hdXRvIGNv bC1yb3ctcG9ydCI+e3RoaXMuZ2VuZXJhdGVQb3J0KHBvcnQpfTwvZGl2PgorICAgICAgPC9kaXY+ CisgICAgKQorICB9CisKKyAgZ2VuZXJhdGVQb3J0ID0gcG9ydCA9PiB7CisgICAgaWYocG9ydCkg eworICAgICAgcmV0dXJuICgKKyAgICAgICAgPFBvcnRXaWRnZXQgZW5naW5lPXt0aGlzLnByb3Bz LmVuZ2luZX0gcG9ydD17cG9ydH0ga2V5PXtwb3J0LmdldElEKCl9IGNsYXNzTmFtZT17InBvcnQt IiArIHBvcnQub3B0aW9ucy5hbGlnbm1lbnR9IC8+CisgICAgICApOworICAgIH0KKyAgICByZXR1 cm4gPD48Lz47CisgIH07CisKKyAgdG9nZ2xlU2hvd0RldGFpbHMgPSAoZSkgPT4geworICAgIGUu cHJldmVudERlZmF1bHQoKTsKKyAgICB0aGlzLnNldFN0YXRlKChwcmV2U3RhdGUpPT4oe3Nob3df ZGV0YWlsczogIXByZXZTdGF0ZS5zaG93X2RldGFpbHN9KSk7CisgIH0KKworICByZW5kZXIoKSB7 CisgICAgbGV0IG5vZGVfZGF0YSA9IHRoaXMucHJvcHMubm9kZS5nZXREYXRhKCk7CisgICAgcmV0 dXJuICgKKyAgICAgIDxkaXYgY2xhc3NOYW1lPXsidGFibGUtbm9kZSAiICsgKHRoaXMucHJvcHMu bm9kZS5pc1NlbGVjdGVkKCkgPyAnc2VsZWN0ZWQnOiAnJykgfSBvbkRvdWJsZUNsaWNrPXsoKT0+ e3RoaXMucHJvcHMubm9kZS5maXJlRXZlbnQoe30sICdlZGl0Tm9kZScpfX0+CisgICAgICAgIDxk aXYgY2xhc3NOYW1lPSJ0YWJsZS10b29sYmFyIj4KKyAgICAgICAgICA8RGV0YWlsc1RvZ2dsZUJ1 dHRvbiBjbGFzc05hbWU9J2J0bi14cycgc2hvd0RldGFpbHM9e3RoaXMuc3RhdGUuc2hvd19kZXRh aWxzfSBvbkNsaWNrPXt0aGlzLnRvZ2dsZVNob3dEZXRhaWxzfSBvbkRvdWJsZUNsaWNrPXsoZSk9 PntlLnN0b3BQcm9wYWdhdGlvbigpO319IC8+CisgICAgICAgICAge3RoaXMucHJvcHMubm9kZS5n ZXROb3RlKCkgJiYKKyAgICAgICAgICAgIDxJY29uQnV0dG9uIGljb249ImZhciBmYS1zdGlja3kt bm90ZSIgY2xhc3NOYW1lPSJidG4teHMgYnRuLXdhcm5pbmcgbWwtYXV0byIgb25DbGljaz17KCk9 PnsKKyAgICAgICAgICAgICAgdGhpcy5wcm9wcy5ub2RlLmZpcmVFdmVudCh7fSwgJ3Nob3dOb3Rl JykKKyAgICAgICAgICAgIH19IHRpdGxlPSJDaGVjayBub3RlIiAvPn0KKyAgICAgICAgPC9kaXY+ CisgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJ0YWJsZS1zY2hlbWEiPgorICAgICAgICAgIDxzcGFu IGNsYXNzTmFtZT0id2NUYWJJY29uIGljb24tc2NoZW1hIj48L3NwYW4+CisgICAgICAgICAge25v ZGVfZGF0YS5zY2hlbWF9CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzTmFtZT0i dGFibGUtbmFtZSI+CisgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPSJ3Y1RhYkljb24gaWNvbi10 YWJsZSI+PC9zcGFuPgorICAgICAgICAgIHtub2RlX2RhdGEubmFtZX0KKyAgICAgICAgPC9kaXY+ CisgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJ0YWJsZS1jb2xzIj4KKyAgICAgICAgICB7Xy5tYXAo bm9kZV9kYXRhLmNvbHVtbnMsIChjb2wpPT50aGlzLmdlbmVyYXRlQ29sdW1uKGNvbCkpfQorICAg ICAgICA8L2Rpdj4KKyAgICAgIDwvZGl2PgorICAgICk7CisgIH0KK30KKworZXhwb3J0IGNsYXNz IFRhYmxlTm9kZUZhY3RvcnkgZXh0ZW5kcyBBYnN0cmFjdFJlYWN0RmFjdG9yeSB7CisgIGNvbnN0 cnVjdG9yKCkgeworICAgIHN1cGVyKFRZUEUpOworICB9CisKKyAgZ2VuZXJhdGVNb2RlbChldmVu dCkgeworICAgIHJldHVybiBuZXcgVGFibGVOb2RlTW9kZWwoZXZlbnQuaW5pdGlhbENvbmZpZyk7 CisgIH0KKworICBnZW5lcmF0ZVJlYWN0V2lkZ2V0KGV2ZW50KSB7CisgICAgcmV0dXJuIDxUYWJs ZU5vZGVXaWRnZXQgZW5naW5lPXt0aGlzLmVuZ2luZX0gbm9kZT17ZXZlbnQubW9kZWx9IC8+Owor ICB9Cit9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pzL2VyZF90 b29sL3BvcnRzL09uZVRvTWFueVBvcnQuanMgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGlj L2pzL2VyZF90b29sL3BvcnRzL09uZVRvTWFueVBvcnQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwLi42ZjZlMmMwZjIKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1p bi90b29scy9lcmQvc3RhdGljL2pzL2VyZF90b29sL3BvcnRzL09uZVRvTWFueVBvcnQuanMKQEAg LTAsMCArMSw0MyBAQAorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMK Ky8vCisvLyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVu dCBUZWFtCisvLyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FM IExpY2VuY2UKKy8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLworCitpbXBvcnQgeyBQb3J0TW9kZWwgfSBmcm9tICdAcHJvamVj dHN0b3JtL3JlYWN0LWRpYWdyYW1zLWNvcmUnOworaW1wb3J0IHtPbmVUb01hbnlMaW5rTW9kZWx9 IGZyb20gJy4uL2xpbmtzL09uZVRvTWFueUxpbmsnOworaW1wb3J0IHsgQWJzdHJhY3RNb2RlbEZh Y3RvcnkgfSBmcm9tICdAcHJvamVjdHN0b3JtL3JlYWN0LWNhbnZhcy1jb3JlJzsKKworY29uc3Qg VFlQRSA9ICdvbmV0b21hbnknOworCitleHBvcnQgZGVmYXVsdCBjbGFzcyBPbmVUb01hbnlQb3J0 TW9kZWwgZXh0ZW5kcyBQb3J0TW9kZWwgeworICBjb25zdHJ1Y3Rvcih7b3B0aW9uc30pIHsKKyAg ICBzdXBlcih7CisgICAgICAuLi5vcHRpb25zLAorICAgICAgdHlwZTogVFlQRSwKKyAgICB9KTsK KyAgfQorCisgIHJlbW92ZUFsbExpbmtzKCkgeworICAgIE9iamVjdC52YWx1ZXModGhpcy5nZXRM aW5rcygpKS5mb3JFYWNoKChsaW5rKT0+eworICAgICAgbGluay5yZW1vdmUoKTsKKyAgICB9KTsK KyAgfQorCisgIGNyZWF0ZUxpbmtNb2RlbCgpIHsKKyAgICByZXR1cm4gbmV3IE9uZVRvTWFueUxp bmtNb2RlbCh7fSk7CisgIH0KK30KKworZXhwb3J0IGNsYXNzIE9uZVRvTWFueVBvcnRGYWN0b3J5 IGV4dGVuZHMgQWJzdHJhY3RNb2RlbEZhY3RvcnkgeworICBjb25zdHJ1Y3RvcigpIHsKKyAgICBz dXBlcihUWVBFKTsKKyAgfQorCisgIGdlbmVyYXRlTW9kZWwoZXZlbnQpIHsKKyAgICByZXR1cm4g bmV3IE9uZVRvTWFueVBvcnRNb2RlbChldmVudC5pbml0aWFsQ29uZmlnfHx7fSk7CisgIH0KK30K ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMvanMvZXJkX3Rvb2wvdWlf Y29tcG9uZW50cy9Cb2R5V2lkZ2V0LmpzeCBiL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMv anMvZXJkX3Rvb2wvdWlfY29tcG9uZW50cy9Cb2R5V2lkZ2V0LmpzeApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAuLjI4NDY2NDBhMwotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9w Z2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMvanMvZXJkX3Rvb2wvdWlfY29tcG9uZW50cy9Cb2R5V2lk Z2V0LmpzeApAQCAtMCwwICsxLDY4NCBAQAorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vIHBnQWRtaW4gNCAtIFBvc3Rn cmVTUUwgVG9vbHMKKy8vCisvLyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUgcGdBZG1p biBEZXZlbG9wbWVudCBUZWFtCisvLyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRo ZSBQb3N0Z3JlU1FMIExpY2VuY2UKKy8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCitpbXBvcnQgKiBhcyBSZWFjdCBmcm9t ICdyZWFjdCc7CitpbXBvcnQgeyBDYW52YXNXaWRnZXQgfSBmcm9tICdAcHJvamVjdHN0b3JtL3Jl YWN0LWNhbnZhcy1jb3JlJzsKK2ltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7CitpbXBvcnQgeyBB Y3Rpb24sIElucHV0VHlwZSB9IGZyb20gJ0Bwcm9qZWN0c3Rvcm0vcmVhY3QtY2FudmFzLWNvcmUn OworaW1wb3J0IGh0bWwyY2FudmFzIGZyb20gJ2h0bWwyY2FudmFzJzsKKworaW1wb3J0IGdldHRl eHQgZnJvbSAnc291cmNlcy9nZXR0ZXh0JzsKK2ltcG9ydCB1cmxfZm9yIGZyb20gJ3NvdXJjZXMv dXJsX2Zvcic7CitpbXBvcnQge3Nob3dFUkRTcWxUb29sfSBmcm9tICd0b29scy9kYXRhZ3JpZC9z dGF0aWMvanMvc2hvd19xdWVyeV90b29sJzsKK2ltcG9ydCBFUkRDb3JlIGZyb20gJy4uL0VSRENv cmUnOworaW1wb3J0IFRvb2xCYXIsIHtJY29uQnV0dG9uLCBEZXRhaWxzVG9nZ2xlQnV0dG9uLCBC dXR0b25Hcm91cH0gZnJvbSAnLi9Ub29sQmFyJzsKK2ltcG9ydCBDb25uZWN0aW9uQmFyLCB7IFNU QVRVUyBhcyBDT05ORUNUX1NUQVRVUyB9IGZyb20gJy4vQ29ubmVjdGlvbkJhcic7CitpbXBvcnQg TG9hZGVyIGZyb20gJy4vTG9hZGVyJzsKK2ltcG9ydCBGbG9hdGluZ05vdGUgZnJvbSAnLi9GbG9h dGluZ05vdGUnOworaW1wb3J0IHtzZXRQYW5lbFRpdGxlfSBmcm9tICcuLi8uLi9lcmRfbW9kdWxl JzsKKworZXhwb3J0IGNsYXNzIEtleWJvYXJkU2hvcnRjdXRBY3Rpb24gZXh0ZW5kcyBBY3Rpb24g eworICBjb25zdHJ1Y3RvcihzaG9ydGN1dF9oYW5kbGVycz1bXSkgeworICAgICAgc3VwZXIoewor ICAgICAgICAgIHR5cGU6IElucHV0VHlwZS5LRVlfRE9XTiwKKyAgICAgICAgICBmaXJlOiAoeyBl dmVudCB9KT0+eworICAgICAgICAgICAgdGhpcy5jYWxsSGFuZGxlcihldmVudCk7CisgICAgICAg ICAgfQorICAgICAgfSk7CisgICAgICB0aGlzLnNob3J0Y3V0cyA9IHt9OworCisgICAgICBmb3Io bGV0IGk9MDsgaTxzaG9ydGN1dF9oYW5kbGVycy5sZW5ndGg7IGkrKyl7CisgICAgICAgIGxldCBb a2V5LCBoYW5kbGVyXSA9IHNob3J0Y3V0X2hhbmRsZXJzW2ldOworICAgICAgICB0aGlzLnNob3J0 Y3V0c1t0aGlzLnNob3J0Y3V0S2V5KGtleS5hbHQsIGtleS5jb250cm9sLCBrZXkuc2hpZnQsIGZh bHNlLCBrZXkua2V5LmtleV9jb2RlKV0gPSBoYW5kbGVyOworICAgICAgfQorICB9CisKKyAgc2hv cnRjdXRLZXkoYWx0S2V5LCBjdHJsS2V5LCBzaGlmdEtleSwgbWV0YUtleSwga2V5Q29kZSkgewor ICAgIHJldHVybiBgJHthbHRLZXl9OiR7Y3RybEtleX06JHtzaGlmdEtleX06JHttZXRhS2V5fTok e2tleUNvZGV9YDsKKyAgfQorCisgIGNhbGxIYW5kbGVyKGV2ZW50KSB7CisgICAgbGV0IGhhbmRs ZXIgPSB0aGlzLnNob3J0Y3V0c1t0aGlzLnNob3J0Y3V0S2V5KGV2ZW50LmFsdEtleSwgZXZlbnQu Y3RybEtleSwgZXZlbnQuc2hpZnRLZXksIGV2ZW50Lm1ldGFLZXksIGV2ZW50LmtleUNvZGUpXTsK KyAgICBpZihoYW5kbGVyKSB7CisgICAgICBoYW5kbGVyKCk7CisgICAgfQorICB9Cit9CisKK2V4 cG9ydCBkZWZhdWx0IGNsYXNzIEJvZHlXaWRnZXQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQgewor ICBjb25zdHJ1Y3RvcigpIHsKKyAgICBzdXBlcigpOworICAgIHRoaXMuc3RhdGUgPSB7CisgICAg ICBjb25uX3N0YXR1czogQ09OTkVDVF9TVEFUVVMuRElTQ09OTkVDVEVELAorICAgICAgc2VydmVy X3ZlcnNpb246IG51bGwsCisgICAgICBub19ub2RlX3NlbGVjdGVkOiB0cnVlLAorICAgICAgbm9f bGlua19zZWxlY3RlZDogdHJ1ZSwKKyAgICAgIGNvbGxfdHlwZXM6IFtdLAorICAgICAgbG9hZGlu Z19tc2c6IG51bGwsCisgICAgICBub3RlX29wZW46IGZhbHNlLAorICAgICAgbm90ZV9ub2RlOiBu dWxsLAorICAgICAgY3VycmVudF9maWxlOiBudWxsLAorICAgICAgZGlydHk6IGZhbHNlLAorICAg ICAgc2hvd19kZXRhaWxzOiB0cnVlLAorICAgICAgcHJlZmVyZW5jZXM6IHt9LAorICAgIH0KKyAg ICB0aGlzLmRpYWdyYW0gPSBuZXcgRVJEQ29yZSgpOworICAgIHRoaXMuZmlsZUlucHV0UmVmID0g UmVhY3QuY3JlYXRlUmVmKCk7CisgICAgdGhpcy5kaWFncmFtQ29udGFpbmVyUmVmID0gUmVhY3Qu Y3JlYXRlUmVmKCk7CisgICAgdGhpcy5jYW52YXNFbGUgPSBudWxsOworICAgIHRoaXMubm90ZVJl ZkVsZSA9IG51bGw7CisgICAgdGhpcy5ub3RlTm9kZSA9IG51bGw7CisgICAgdGhpcy5rZXlib2Fy ZEFjdGlvbk9iaiA9IG51bGw7CisKKyAgICB0aGlzLm9uTG9hZERpYWdyYW0gPSB0aGlzLm9uTG9h ZERpYWdyYW0uYmluZCh0aGlzKTsKKyAgICB0aGlzLm9uU2F2ZURpYWdyYW0gPSB0aGlzLm9uU2F2 ZURpYWdyYW0uYmluZCh0aGlzKTsKKyAgICB0aGlzLm9uU2F2ZUFzRGlhZ3JhbSA9IHRoaXMub25T YXZlQXNEaWFncmFtLmJpbmQodGhpcyk7CisgICAgdGhpcy5vblNRTENsaWNrID0gdGhpcy5vblNR TENsaWNrLmJpbmQodGhpcyk7CisgICAgdGhpcy5vbkltYWdlQ2xpY2sgPSB0aGlzLm9uSW1hZ2VD bGljay5iaW5kKHRoaXMpOworICAgIHRoaXMub25BZGROZXdOb2RlID0gdGhpcy5vbkFkZE5ld05v ZGUuYmluZCh0aGlzKTsKKyAgICB0aGlzLm9uRWRpdE5vZGUgPSB0aGlzLm9uRWRpdE5vZGUuYmlu ZCh0aGlzKTsKKyAgICB0aGlzLm9uQ2xvbmVOb2RlID0gdGhpcy5vbkNsb25lTm9kZS5iaW5kKHRo aXMpOworICAgIHRoaXMub25EZWxldGVOb2RlID0gdGhpcy5vbkRlbGV0ZU5vZGUuYmluZCh0aGlz KTsKKyAgICB0aGlzLm9uTm90ZUNsaWNrID0gdGhpcy5vbk5vdGVDbGljay5iaW5kKHRoaXMpOwor ICAgIHRoaXMub25Ob3RlQ2xvc2UgPSB0aGlzLm9uTm90ZUNsb3NlLmJpbmQodGhpcyk7CisgICAg dGhpcy5vbk9uZVRvTWFueUNsaWNrID0gdGhpcy5vbk9uZVRvTWFueUNsaWNrLmJpbmQodGhpcyk7 CisgICAgdGhpcy5vbk1hbnlUb01hbnlDbGljayA9IHRoaXMub25NYW55VG9NYW55Q2xpY2suYmlu ZCh0aGlzKTsKKyAgICB0aGlzLm9uQXV0b0Rpc3RyaWJ1dGUgPSB0aGlzLm9uQXV0b0Rpc3RyaWJ1 dGUuYmluZCh0aGlzKTsKKyAgICB0aGlzLm9uRGV0YWlsc1RvZ2dsZSA9IHRoaXMub25EZXRhaWxz VG9nZ2xlLmJpbmQodGhpcyk7CisgICAgdGhpcy5vbkhlbHBDbGljayA9IHRoaXMub25IZWxwQ2xp Y2suYmluZCh0aGlzKTsKKyAgICB0aGlzLmRpYWdyYW0uem9vbVRvRml0ID0gdGhpcy5kaWFncmFt Lnpvb21Ub0ZpdC5iaW5kKHRoaXMuZGlhZ3JhbSk7CisgICAgdGhpcy5kaWFncmFtLnpvb21JbiA9 IHRoaXMuZGlhZ3JhbS56b29tSW4uYmluZCh0aGlzLmRpYWdyYW0pOworICAgIHRoaXMuZGlhZ3Jh bS56b29tT3V0ID0gdGhpcy5kaWFncmFtLnpvb21PdXQuYmluZCh0aGlzLmRpYWdyYW0pOworICB9 CisKKyAgcmVnaXN0ZXJNb2RlbEV2ZW50cygpIHsKKyAgICBsZXQgZGlhZ3JhbUV2ZW50cyA9IHsK KyAgICAgICdvZmZzZXRVcGRhdGVkJzogKGV2ZW50KT0+eworICAgICAgICB0aGlzLnJlYWxpZ25H cmlkKHtiYWNrZ3JvdW5kUG9zaXRpb246IGAke2V2ZW50Lm9mZnNldFh9cHggJHtldmVudC5vZmZz ZXRZfXB4YH0pOworICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsKKyAgICAgIH0sCisg ICAgICAnem9vbVVwZGF0ZWQnOiAoZXZlbnQpPT57CisgICAgICAgIGxldCB7IGdyaWRTaXplIH0g PSB0aGlzLmRpYWdyYW0uZ2V0TW9kZWwoKS5nZXRPcHRpb25zKCk7CisgICAgICAgIGxldCBiZ1Np emUgPSBncmlkU2l6ZSpldmVudC56b29tLzEwMDsKKyAgICAgICAgdGhpcy5yZWFsaWduR3JpZCh7 YmFja2dyb3VuZFNpemU6IGAke2JnU2l6ZSozfXB4ICR7YmdTaXplKjN9cHhgfSk7CisgICAgICB9 LAorICAgICAgJ25vZGVzU2VsZWN0aW9uQ2hhbmdlZCc6ICgpPT57CisgICAgICAgIGxldCBzZWxl Y3RlZCA9IHRoaXMuZGlhZ3JhbS5nZXRTZWxlY3RlZE5vZGVzKCk7CisgICAgICAgIHRoaXMuc2V0 U3RhdGUoe25vX25vZGVfc2VsZWN0ZWQ6IHNlbGVjdGVkLmxlbmd0aCA9PSAwfSk7CisgICAgICB9 LAorICAgICAgJ2xpbmtzU2VsZWN0aW9uQ2hhbmdlZCc6ICgpPT57CisgICAgICAgIGxldCBzZWxl Y3RlZCA9IHRoaXMuZGlhZ3JhbS5nZXRTZWxlY3RlZExpbmtzKCk7CisgICAgICAgIHRoaXMuc2V0 U3RhdGUoe25vX2xpbmtfc2VsZWN0ZWQ6IHNlbGVjdGVkLmxlbmd0aCA9PSAwfSk7CisgICAgICB9 LAorICAgICAgJ2xpbmtzVXBkYXRlZCc6ICgpID0+IHsKKyAgICAgICAgdGhpcy5zZXRTdGF0ZSh7 ZGlydHk6IHRydWV9KTsKKyAgICAgIH0sCisgICAgICAnbm9kZXNVcGRhdGVkJzogKCk9PnsKKyAg ICAgICAgdGhpcy5zZXRTdGF0ZSh7ZGlydHk6IHRydWV9KTsKKyAgICAgIH0sCisgICAgICAnc2hv d05vdGUnOiAoZXZlbnQpPT57CisgICAgICAgIHRoaXMuc2hvd05vdGUoZXZlbnQubm9kZSk7Cisg ICAgICB9LAorICAgICAgJ2VkaXROb2RlJzogKGV2ZW50KSA9PiB7CisgICAgICAgIHRoaXMuYWRk RWRpdE5vZGUoZXZlbnQubm9kZSk7CisgICAgICB9CisgICAgfTsKKyAgICBPYmplY3Qua2V5cyhk aWFncmFtRXZlbnRzKS5mb3JFYWNoKGV2ZW50TmFtZSA9PiB7CisgICAgICB0aGlzLmRpYWdyYW0u cmVnaXN0ZXJNb2RlbEV2ZW50KGV2ZW50TmFtZSwgZGlhZ3JhbUV2ZW50c1tldmVudE5hbWVdKTsK KyAgICB9KTsKKyAgfQorCisgIHJlZ2lzdGVyS2V5Ym9hcmRTaG9ydGN1dHMoKSB7CisgICAgLyog Rmlyc3QgZGVyZWdpc3RlciB0byBhdm9pZCBkb3VibGUgZXZlbnRzICovCisgICAgdGhpcy5rZXli b2FyZEFjdGlvbk9iaiAmJiB0aGlzLmRpYWdyYW0uZGVyZWdpc3RlcktleUFjdGlvbih0aGlzLmtl eWJvYXJkQWN0aW9uT2JqKTsKKworICAgIHRoaXMua2V5Ym9hcmRBY3Rpb25PYmogPSBuZXcgS2V5 Ym9hcmRTaG9ydGN1dEFjdGlvbihbCisgICAgICBbdGhpcy5zdGF0ZS5wcmVmZXJlbmNlcy5vcGVu X3Byb2plY3QsIHRoaXMub25Mb2FkRGlhZ3JhbV0sCisgICAgICBbdGhpcy5zdGF0ZS5wcmVmZXJl bmNlcy5zYXZlX3Byb2plY3QsIHRoaXMub25TYXZlRGlhZ3JhbV0sCisgICAgICBbdGhpcy5zdGF0 ZS5wcmVmZXJlbmNlcy5zYXZlX3Byb2plY3RfYXMsIHRoaXMub25TYXZlQXNEaWFncmFtXSwKKyAg ICAgIFt0aGlzLnN0YXRlLnByZWZlcmVuY2VzLmdlbmVyYXRlX3NxbCwgdGhpcy5vblNRTENsaWNr XSwKKyAgICAgIFt0aGlzLnN0YXRlLnByZWZlcmVuY2VzLmRvd25sb2FkX2ltYWdlLCB0aGlzLm9u SW1hZ2VDbGlja10sCisgICAgICBbdGhpcy5zdGF0ZS5wcmVmZXJlbmNlcy5hZGRfdGFibGUsIHRo aXMub25BZGROZXdOb2RlXSwKKyAgICAgIFt0aGlzLnN0YXRlLnByZWZlcmVuY2VzLmVkaXRfdGFi bGUsIHRoaXMub25FZGl0Tm9kZV0sCisgICAgICBbdGhpcy5zdGF0ZS5wcmVmZXJlbmNlcy5jbG9u ZV90YWJsZSwgdGhpcy5vbkNsb25lTm9kZV0sCisgICAgICBbdGhpcy5zdGF0ZS5wcmVmZXJlbmNl cy5kcm9wX3RhYmxlLCB0aGlzLm9uRGVsZXRlTm9kZV0sCisgICAgICBbdGhpcy5zdGF0ZS5wcmVm ZXJlbmNlcy5hZGRfZWRpdF9ub3RlLCB0aGlzLm9uTm90ZUNsaWNrXSwKKyAgICAgIFt0aGlzLnN0 YXRlLnByZWZlcmVuY2VzLm9uZV90b19tYW55LCB0aGlzLm9uT25lVG9NYW55Q2xpY2tdLAorICAg ICAgW3RoaXMuc3RhdGUucHJlZmVyZW5jZXMubWFueV90b19tYW55LCB0aGlzLm9uTWFueVRvTWFu eUNsaWNrXSwKKyAgICAgIFt0aGlzLnN0YXRlLnByZWZlcmVuY2VzLmF1dG9fYWxpZ24sIHRoaXMu b25BdXRvRGlzdHJpYnV0ZV0sCisgICAgICBbdGhpcy5zdGF0ZS5wcmVmZXJlbmNlcy56b29tX3Rv X2ZpdCwgdGhpcy5kaWFncmFtLnpvb21Ub0ZpdF0sCisgICAgICBbdGhpcy5zdGF0ZS5wcmVmZXJl bmNlcy56b29tX2luLCB0aGlzLmRpYWdyYW0uem9vbUluXSwKKyAgICAgIFt0aGlzLnN0YXRlLnBy ZWZlcmVuY2VzLnpvb21fb3V0LCB0aGlzLmRpYWdyYW0uem9vbU91dF0KKyAgICBdKTsKKworICAg IHRoaXMuZGlhZ3JhbS5yZWdpc3RlcktleUFjdGlvbih0aGlzLmtleWJvYXJkQWN0aW9uT2JqKTsK KyAgfQorCisgIGhhbmRsZUF4aW9zQ2F0Y2goZXJyKSB7CisgICAgbGV0IGFsZXJ0ID0gdGhpcy5w cm9wcy5hbGVydGlmeS5hbGVydCgpLnNldCgndGl0bGUnLCBnZXR0ZXh0KCdFcnJvcicpKTsKKyAg ICBpZiAoZXJyLnJlc3BvbnNlKSB7CisgICAgICAvLyBjbGllbnQgcmVjZWl2ZWQgYW4gZXJyb3Ig cmVzcG9uc2UgKDV4eCwgNHh4KQorICAgICAgYWxlcnQuc2V0KCdtZXNzYWdlJywgYCR7ZXJyLnJl c3BvbnNlLnN0YXR1c1RleHR9IC0gJHtlcnIucmVzcG9uc2UuZGF0YS5lcnJvcm1zZ31gKS5zaG93 KCk7CisgICAgICBjb25zb2xlLmVycm9yKCdyZXNwb25zZSBlcnJvcicsIGVyci5yZXNwb25zZSk7 CisgICAgfSBlbHNlIGlmIChlcnIucmVxdWVzdCkgeworICAgICAgLy8gY2xpZW50IG5ldmVyIHJl Y2VpdmVkIGEgcmVzcG9uc2UsIG9yIHJlcXVlc3QgbmV2ZXIgbGVmdAorICAgICAgYWxlcnQuc2V0 KCdtZXNzYWdlJywgZ2V0dGV4dCgnQ2xpZW50IGVycm9yJykgKyAnOicgKyBlcnIpLnNob3coKTsK KyAgICAgIGNvbnNvbGUuZXJyb3IoJ2NsaWVudCBlcm9yJywgZXJyKTsKKyAgICB9IGVsc2Ugewor ICAgICAgYWxlcnQuc2V0KCdtZXNzYWdlJywgZXJyLm1lc3NhZ2UpLnNob3coKTsKKyAgICAgIGNv bnNvbGUuZXJyb3IoJ290aGVyIGVycm9yJywgZXJyKTsKKyAgICB9CisgIH0KKworICBhc3luYyBj b21wb25lbnREaWRNb3VudCgpIHsKKyAgICB0aGlzLnNldExvYWRpbmcoJ1ByZXBhcmluZycpOwor ICAgIHRoaXMuc2V0VGl0bGUodGhpcy5zdGF0ZS5jdXJyZW50X2ZpbGUpOworICAgIHRoaXMuc2V0 U3RhdGUoeworICAgICAgcHJlZmVyZW5jZXM6IHRoaXMucHJvcHMucGdBZG1pbi5Ccm93c2VyLmdl dF9wcmVmZXJlbmNlc19mb3JfbW9kdWxlKCdlcmQnKQorICAgIH0sIHRoaXMucmVnaXN0ZXJLZXli b2FyZFNob3J0Y3V0cyk7CisgICAgdGhpcy5yZWdpc3Rlck1vZGVsRXZlbnRzKCk7CisgICAgdGhp cy5yZWFsaWduR3JpZCh7CisgICAgICBiYWNrZ3JvdW5kU2l6ZTogJzQ1cHggNDVweCcsCisgICAg ICBiYWNrZ3JvdW5kUG9zaXRpb246ICcwcHggMHB4JywKKyAgICB9KTsKKworICAgIHRoaXMucHJv cHMucGdBZG1pbi5Ccm93c2VyLkV2ZW50cy5vbigncGdhZG1pbi1zdG9yYWdlOmZpbmlzaF9idG46 c2VsZWN0X2ZpbGUnLCB0aGlzLm9wZW5GaWxlLCB0aGlzKTsKKyAgICB0aGlzLnByb3BzLnBnQWRt aW4uQnJvd3Nlci5FdmVudHMub24oJ3BnYWRtaW4tc3RvcmFnZTpmaW5pc2hfYnRuOmNyZWF0ZV9m aWxlJywgdGhpcy5zYXZlRmlsZSwgdGhpcyk7CisgICAgdGhpcy5wcm9wcy5wZ0FkbWluLkJyb3dz ZXIub25QcmVmZXJlbmNlc0NoYW5nZSgnZXJkJywgKCkgPT4geworICAgICAgdGhpcy5zZXRTdGF0 ZSh7CisgICAgICAgIHByZWZlcmVuY2VzOiB0aGlzLnByb3BzLnBnQWRtaW4uQnJvd3Nlci5nZXRf cHJlZmVyZW5jZXNfZm9yX21vZHVsZSgnZXJkJykKKyAgICAgIH0sICgpPT50aGlzLnJlZ2lzdGVy S2V5Ym9hcmRTaG9ydGN1dHMoKSk7CisgICAgfSk7CisKKyAgICBsZXQgZG9uZSA9IGF3YWl0IHRo aXMuaW5pdENvbm5lY3Rpb24oKTsKKyAgICBpZighZG9uZSkgcmV0dXJuOworCisgICAgZG9uZSA9 IGF3YWl0IHRoaXMubG9hZFByZXF1aXNpdGVEYXRhKCk7CisgICAgaWYoIWRvbmUpIHJldHVybjsK KworICAgIGlmKHRoaXMucHJvcHMucGFyYW1zLmdlbikgeworICAgICAgZG9uZSA9IGF3YWl0IHRo aXMubG9hZFRhYmxlc0RhdGEoKTsKKyAgICB9CisgIH0KKworICBjb21wb25lbnREaWRVcGRhdGUo KSB7CisgICAgaWYodGhpcy5zdGF0ZS5kaXJ0eSkgeworICAgICAgdGhpcy5zZXRUaXRsZSh0aGlz LnN0YXRlLmN1cnJlbnRfZmlsZSwgdHJ1ZSk7CisgICAgfQorICB9CisKKyAgZ2V0RGlhbG9nKGRp YWxvZ05hbWUpIHsKKyAgICBpZihkaWFsb2dOYW1lID09PSAnZW50aXR5X2RpYWxvZycpIHsKKyAg ICAgIHJldHVybiAodGl0bGUsIGF0dHJpYnV0ZXMsIGNhbGxiYWNrKT0+eworICAgICAgICAgIHRo aXMucHJvcHMuZ2V0RGlhbG9nKGRpYWxvZ05hbWUpLnNob3coCisgICAgICAgICAgICB0aXRsZSwg YXR0cmlidXRlcywgdGhpcy5kaWFncmFtLmdldENhY2hlKCdjb2xUeXBlcycpLCB0aGlzLmRpYWdy YW0uZ2V0Q2FjaGUoJ3NjaGVtYXMnKSwgdGhpcy5zdGF0ZS5zZXJ2ZXJfdmVyc2lvbiwgY2FsbGJh Y2sKKyAgICAgICAgICApOworICAgICAgfTsKKyAgICB9IGVsc2UgaWYoZGlhbG9nTmFtZSA9PT0g J29uZXRvbWFueV9kaWFsb2cnKSB7CisgICAgICByZXR1cm4gKHRpdGxlLCBhdHRyaWJ1dGVzLCBj YWxsYmFjayk9PnsKKyAgICAgICAgICB0aGlzLnByb3BzLmdldERpYWxvZyhkaWFsb2dOYW1lKS5z aG93KAorICAgICAgICAgICAgICB0aXRsZSwgYXR0cmlidXRlcywgdGhpcy5kaWFncmFtLmdldE1v ZGVsKCkuZ2V0Tm9kZXNEaWN0KCksIHRoaXMuc3RhdGUuc2VydmVyX3ZlcnNpb24sIGNhbGxiYWNr CisgICAgICAgICAgKTsKKyAgICAgIH07CisgICAgfSBlbHNlIGlmKGRpYWxvZ05hbWUgPT09ICdt YW55dG9tYW55X2RpYWxvZycpIHsKKyAgICAgIHJldHVybiAodGl0bGUsIGF0dHJpYnV0ZXMsIGNh bGxiYWNrKT0+eworICAgICAgICB0aGlzLnByb3BzLmdldERpYWxvZyhkaWFsb2dOYW1lKS5zaG93 KAorICAgICAgICAgICAgICB0aXRsZSwgYXR0cmlidXRlcywgdGhpcy5kaWFncmFtLmdldE1vZGVs KCkuZ2V0Tm9kZXNEaWN0KCksIHRoaXMuc3RhdGUuc2VydmVyX3ZlcnNpb24sIGNhbGxiYWNrCisg ICAgICAgICAgKTsKKyAgICAgIH07CisgICAgfQorICB9CisKKyAgc2V0TG9hZGluZyhtZXNzYWdl KSB7CisgICAgdGhpcy5zZXRTdGF0ZSh7bG9hZGluZ19tc2c6IG1lc3NhZ2V9KTsKKyAgfQorCisg IHJlYWxpZ25HcmlkKHtiYWNrZ3JvdW5kU2l6ZSwgYmFja2dyb3VuZFBvc2l0aW9ufSkgeworICAg IGlmKGJhY2tncm91bmRTaXplKSB7CisgICAgICB0aGlzLmNhbnZhc0VsZS5zdHlsZS5iYWNrZ3Jv dW5kU2l6ZSA9IGJhY2tncm91bmRTaXplOworICAgIH0KKyAgICBpZihiYWNrZ3JvdW5kUG9zaXRp b24pIHsKKyAgICAgIHRoaXMuY2FudmFzRWxlLnN0eWxlLmJhY2tncm91bmRQb3NpdGlvbiA9IGJh Y2tncm91bmRQb3NpdGlvbjsKKyAgICB9CisgIH0KKworICBhZGRFZGl0Tm9kZShub2RlKSB7Cisg ICAgbGV0IGRpYWxvZyA9IHRoaXMuZ2V0RGlhbG9nKCdlbnRpdHlfZGlhbG9nJyk7CisgICAgaWYo bm9kZSkgeworICAgICAgbGV0IFtzY2hlbWEsIHRhYmxlXSA9IG5vZGUuZ2V0U2NoZW1hVGFibGVO YW1lKCk7CisgICAgICBkaWFsb2coXy5lc2NhcGUoYFRhYmxlOiAke3RhYmxlfSAoJHtzY2hlbWF9 KWApLCBub2RlLmdldERhdGEoKSwgKG5ld0RhdGEpPT57CisgICAgICAgIG5vZGUuc2V0RGF0YShu ZXdEYXRhKTsKKyAgICAgICAgdGhpcy5kaWFncmFtLnJlcGFpbnQoKTsKKyAgICAgIH0pOworICAg IH0gZWxzZSB7CisgICAgICBkaWFsb2coJ05ldyB0YWJsZScsIHtuYW1lOiB0aGlzLmRpYWdyYW0u Z2V0TmV4dFRhYmxlTmFtZSgpfSwgKG5ld0RhdGEpPT57CisgICAgICAgIGxldCBuZXdOb2RlID0g dGhpcy5kaWFncmFtLmFkZE5vZGUobmV3RGF0YSk7CisgICAgICAgIG5ld05vZGUuc2V0U2VsZWN0 ZWQodHJ1ZSk7CisgICAgICB9KTsKKyAgICB9CisgIH0KKworICBvbkVkaXROb2RlKCkgeworICAg IGNvbnN0IHNlbGVjdGVkID0gdGhpcy5kaWFncmFtLmdldFNlbGVjdGVkTm9kZXMoKTsKKyAgICBp ZihzZWxlY3RlZC5sZW5ndGggPT0gMSkgeworICAgICAgdGhpcy5hZGRFZGl0Tm9kZShzZWxlY3Rl ZFswXSk7CisgICAgfQorICB9CisKKyAgb25BZGROZXdOb2RlKCkgeworICAgIHRoaXMuYWRkRWRp dE5vZGUoKTsKKyAgfQorCisgIG9uQ2xvbmVOb2RlKCkgeworICAgIGNvbnN0IHNlbGVjdGVkID0g dGhpcy5kaWFncmFtLmdldFNlbGVjdGVkTm9kZXMoKTsKKyAgICBpZihzZWxlY3RlZC5sZW5ndGgg PT0gMSkgeworICAgICAgbGV0IG5ld0RhdGEgPSBzZWxlY3RlZFswXS5jbG9uZURhdGEodGhpcy5k aWFncmFtLmdldE5leHRUYWJsZU5hbWUoKSk7CisgICAgICBsZXQge3gsIHl9ID0gc2VsZWN0ZWRb MF0uZ2V0UG9zaXRpb24oKTsKKyAgICAgIGxldCBuZXdOb2RlID0gdGhpcy5kaWFncmFtLmFkZE5v ZGUobmV3RGF0YSwgW3grMjAsIHkrMjBdKTsKKyAgICAgIG5ld05vZGUuc2V0U2VsZWN0ZWQodHJ1 ZSk7CisgICAgfQorICB9CisKKyAgb25EZWxldGVOb2RlKCkgeworICAgIHRoaXMuZGlhZ3JhbS5n ZXRTZWxlY3RlZE5vZGVzKCkuZm9yRWFjaCgobm9kZSk9PnsKKyAgICAgIG5vZGUuc2V0U2VsZWN0 ZWQoZmFsc2UpOworICAgICAgbm9kZS5yZW1vdmUoKTsKKyAgICB9KTsKKyAgICB0aGlzLmRpYWdy YW0uZ2V0U2VsZWN0ZWRMaW5rcygpLmZvckVhY2goKGxpbmspPT57CisgICAgICBsaW5rLmdldFRh cmdldFBvcnQoKS5yZW1vdmUoKTsKKyAgICAgIGxpbmsuZ2V0U291cmNlUG9ydCgpLnJlbW92ZSgp OworICAgICAgbGluay5zZXRTZWxlY3RlZChmYWxzZSk7CisgICAgICBsaW5rLnJlbW92ZSgpOwor ICAgIH0pOworICAgIHRoaXMuZGlhZ3JhbS5yZXBhaW50KCk7CisgIH0KKworICBvbkF1dG9EaXN0 cmlidXRlKCkgeworICAgIHRoaXMuZGlhZ3JhbS5kYWdyZURpc3RyaWJ1dGVOb2RlcygpOworICB9 CisKKyAgb25EZXRhaWxzVG9nZ2xlKCkgeworICAgIHRoaXMuc2V0U3RhdGUoKHByZXZTdGF0ZSk9 Pih7CisgICAgICBzaG93X2RldGFpbHM6ICFwcmV2U3RhdGUuc2hvd19kZXRhaWxzCisgICAgfSks ICgpPT57CisgICAgICB0aGlzLmRpYWdyYW0uZ2V0TW9kZWwoKS5nZXROb2RlcygpLmZvckVhY2go KG5vZGUpPT57CisgICAgICAgIG5vZGUuZmlyZUV2ZW50KHtzaG93X2RldGFpbHM6IHRoaXMuc3Rh dGUuc2hvd19kZXRhaWxzfSwgJ3RvZ2dsZURldGFpbHMnKTsKKyAgICAgIH0pCisgICAgfSk7Cisg IH0KKworICBvbkhlbHBDbGljaygpIHsKKyAgICBsZXQgdXJsID0gdXJsX2ZvcignaGVscC5zdGF0 aWMnLCB7J2ZpbGVuYW1lJzogJ2VyZC5odG1sJ30pOworICAgIHdpbmRvdy5vcGVuKHVybCwgJ3Bn YWRtaW5faGVscCcpOworICB9CisKKyAgb25Mb2FkRGlhZ3JhbSgpIHsKKyAgICB2YXIgcGFyYW1z ID0geworICAgICAgJ3N1cHBvcnRlZF90eXBlcyc6IFsncGdlcmQnXSwgLy8gZmlsZSB0eXBlcyBh bGxvd2VkCisgICAgICAnZGlhbG9nX3R5cGUnOiAnc2VsZWN0X2ZpbGUnLCAvLyBvcGVuIHNlbGVj dCBmaWxlIGRpYWxvZworICAgIH07CisgICAgdGhpcy5wcm9wcy5wZ0FkbWluLkZpbGVNYW5hZ2Vy LmluaXQoKTsKKyAgICB0aGlzLnByb3BzLnBnQWRtaW4uRmlsZU1hbmFnZXIuc2hvd19kaWFsb2co cGFyYW1zKTsKKyAgfQorCisgIG9wZW5GaWxlKGZpbGVOYW1lKSB7CisgICAgYXhpb3MucG9zdCh1 cmxfZm9yKCdzcWxlZGl0b3IubG9hZF9maWxlJyksIHsKKyAgICAgICdmaWxlX25hbWUnOiBkZWNv ZGVVUkkoZmlsZU5hbWUpCisgICAgfSkudGhlbigocmVzKT0+eworICAgICAgdGhpcy5zZXRTdGF0 ZSh7CisgICAgICAgIGN1cnJlbnRfZmlsZTogZmlsZU5hbWUsCisgICAgICAgIGRpcnR5OiBmYWxz ZSwKKyAgICAgIH0pOworICAgICAgdGhpcy5zZXRUaXRsZShmaWxlTmFtZSk7CisgICAgICB0aGlz LmRpYWdyYW0uZGVzZXJpYWxpemUocmVzLmRhdGEpOworICAgICAgdGhpcy5yZWdpc3Rlck1vZGVs RXZlbnRzKCk7CisgICAgfSkuY2F0Y2goKGVycik9PnsKKyAgICAgIHRoaXMuaGFuZGxlQXhpb3ND YXRjaChlcnIpOworICAgIH0pOworICB9CisKKyAgb25TYXZlRGlhZ3JhbShpc1NhdmVBcz1mYWxz ZSkgeworICAgIGlmKHRoaXMuc3RhdGUuY3VycmVudF9maWxlICYmICFpc1NhdmVBcykgeworICAg ICAgdGhpcy5zYXZlRmlsZSh0aGlzLnN0YXRlLmN1cnJlbnRfZmlsZSk7CisgICAgfSBlbHNlIHsK KyAgICAgIHZhciBwYXJhbXMgPSB7CisgICAgICAgICdzdXBwb3J0ZWRfdHlwZXMnOiBbJ3BnZXJk J10sCisgICAgICAgICdkaWFsb2dfdHlwZSc6ICdjcmVhdGVfZmlsZScsCisgICAgICAgICdkaWFs b2dfdGl0bGUnOiAnU2F2ZSBGaWxlJywKKyAgICAgICAgJ2J0bl9wcmltYXJ5JzogJ1NhdmUnLAor ICAgICAgfTsKKyAgICAgIHRoaXMucHJvcHMucGdBZG1pbi5GaWxlTWFuYWdlci5pbml0KCk7Cisg ICAgICB0aGlzLnByb3BzLnBnQWRtaW4uRmlsZU1hbmFnZXIuc2hvd19kaWFsb2cocGFyYW1zKTsK KyAgICB9CisgIH0KKworICBvblNhdmVBc0RpYWdyYW0oKSB7CisgICAgdGhpcy5vblNhdmVEaWFn cmFtKHRydWUpOworICB9CisKKyAgc2F2ZUZpbGUoZmlsZU5hbWUpIHsKKyAgICBheGlvcy5wb3N0 KHVybF9mb3IoJ3NxbGVkaXRvci5zYXZlX2ZpbGUnKSwgeworICAgICAgJ2ZpbGVfbmFtZSc6IGRl Y29kZVVSSShmaWxlTmFtZSksCisgICAgICAnZmlsZV9jb250ZW50JzogSlNPTi5zdHJpbmdpZnko dGhpcy5kaWFncmFtLnNlcmlhbGl6ZSh0aGlzLnByb3BzLnBnQWRtaW4uQnJvd3Nlci51dGlscy5h cHBfdmVyc2lvbl9pbnQpKQorICAgIH0pLnRoZW4oKCk9PnsKKyAgICAgIHRoaXMucHJvcHMuYWxl cnRpZnkuc3VjY2VzcyhnZXR0ZXh0KCdQcm9qZWN0IHNhdmVkIHN1Y2Nlc3NmdWxseS4nKSk7Cisg ICAgICB0aGlzLnNldFN0YXRlKHsKKyAgICAgICAgY3VycmVudF9maWxlOiBmaWxlTmFtZSwKKyAg ICAgICAgZGlydHk6IGZhbHNlLAorICAgICAgfSk7CisgICAgICB0aGlzLnNldFRpdGxlKGZpbGVO YW1lKTsKKyAgICB9KS5jYXRjaCgoZXJyKT0+eworICAgICAgdGhpcy5oYW5kbGVBeGlvc0NhdGNo KGVycik7CisgICAgfSk7CisgIH0KKworICBnZXRDdXJyZW50UHJvamVjdE5hbWUocGF0aCkgewor ICAgIGxldCBjdXJyUGF0aCA9IHBhdGggfHwgdGhpcy5zdGF0ZS5jdXJyZW50X2ZpbGUgfHwgJ1Vu dGl0bGVkJzsKKyAgICByZXR1cm4gY3VyclBhdGguc3BsaXQoJ1xcJykucG9wKCkuc3BsaXQoJy8n KS5wb3AoKTsKKyAgfQorCisgIHNldFRpdGxlKHRpdGxlLCBkaXJ0eT1mYWxzZSkgeworICAgIGlm KHRpdGxlID09PSBudWxsIHx8IHRpdGxlID09PSAnJykgeworICAgICAgdGl0bGUgPSAnVW50aXRs ZWQnOworICAgIH0KKyAgICB0aXRsZSA9IHRoaXMuZ2V0Q3VycmVudFByb2plY3ROYW1lKHRpdGxl KSArIChkaXJ0eSA/ICcqJzogJycpOworICAgIGlmICh0aGlzLm5ld19icm93c2VyX3RhYikgewor ICAgICAgd2luZG93LmRvY3VtZW50LnRpdGxlID0gdGl0bGU7CisgICAgfSBlbHNlIHsKKyAgICAg IF8uZWFjaCh0aGlzLnByb3BzLnBnQWRtaW4uQnJvd3Nlci5kb2NrZXIuZmluZFBhbmVscygnZnJt X2VyZHRvb2wnKSwgZnVuY3Rpb24ocCkgeworICAgICAgICBpZiAocC5pc1Zpc2libGUoKSkgewor ICAgICAgICAgIHNldFBhbmVsVGl0bGUocCwgdGl0bGUpOworICAgICAgICB9CisgICAgICB9KTsK KyAgICB9CisgIH0KKworICBvblNRTENsaWNrKCkgeworICAgIGxldCBzY3JpcHRIZWFkZXIgPSBn ZXR0ZXh0KCctLSBUaGlzIHNjcmlwdCB3YXMgZ2VuZXJhdGVkIGJ5IGEgYmV0YSB2ZXJzaW9uIG9m IHRoZSBFUkQgdG9vbCBpbiBwZ0FkbWluIDQuXG4nKTsKKyAgICBzY3JpcHRIZWFkZXIgKz0gZ2V0 dGV4dCgnLS0gUGxlYXNlIGxvZyBhbiBpc3N1ZSBhdCBodHRwczovL3JlZG1pbmUucG9zdGdyZXNx bC5vcmcvcHJvamVjdHMvcGdhZG1pbjQvaXNzdWVzL25ldyBpZiB5b3UgZmluZCBhbnkgYnVncywg aW5jbHVkaW5nIHJlcHJvZHVjdGlvbiBzdGVwcy5cbicpOworCisgICAgbGV0IHVybCA9IHVybF9m b3IoJ2VyZC5zcWwnLCB7CisgICAgICB0cmFuc19pZDogdGhpcy5wcm9wcy5wYXJhbXMudHJhbnNf aWQsCisgICAgICBzZ2lkOiB0aGlzLnByb3BzLnBhcmFtcy5zZ2lkLAorICAgICAgc2lkOiB0aGlz LnByb3BzLnBhcmFtcy5zaWQsCisgICAgICBkaWQ6IHRoaXMucHJvcHMucGFyYW1zLmRpZAorICAg IH0pOworCisgICAgdGhpcy5zZXRMb2FkaW5nKGdldHRleHQoJ1ByZXBhcmluZyB0aGUgU1FMLi4u JykpOworICAgIGF4aW9zLnBvc3QodXJsLCB0aGlzLmRpYWdyYW0uc2VyaWFsaXplRGF0YSgpKQor ICAgICAgLnRoZW4oKHJlc3ApPT57CisgICAgICAgIGxldCBzcWxTY3JpcHQgPSByZXNwLmRhdGEu ZGF0YTsKKyAgICAgICAgc3FsU2NyaXB0ID0gc2NyaXB0SGVhZGVyICsgJ0JFR0lOO1xuJyArIHNx bFNjcmlwdCArICdcbkVORDsnOworCisgICAgICAgIGxldCBwYXJlbnREYXRhID0geworICAgICAg ICAgIHNnaWQ6IHRoaXMucHJvcHMucGFyYW1zLnNnaWQsCisgICAgICAgICAgc2lkOiB0aGlzLnBy b3BzLnBhcmFtcy5zaWQsCisgICAgICAgICAgZGlkOiB0aGlzLnByb3BzLnBhcmFtcy5kaWQsCisg ICAgICAgICAgc3R5cGU6IHRoaXMucHJvcHMucGFyYW1zLnNlcnZlcl90eXBlLAorICAgICAgICB9 CisKKyAgICAgICAgbGV0IHNxbElkID0gYGVyZCR7dGhpcy5wcm9wcy5wYXJhbXMudHJhbnNfaWR9 YDsKKyAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShzcWxJZCwgc3FsU2NyaXB0KTsKKyAg ICAgICAgc2hvd0VSRFNxbFRvb2wocGFyZW50RGF0YSwgc3FsSWQsIHRoaXMucHJvcHMucGFyYW1z LnRpdGxlLCB0aGlzLnByb3BzLnBnQWRtaW4uRGF0YUdyaWQsIHRoaXMucHJvcHMuYWxlcnRpZnkp OworICAgICAgfSkKKyAgICAgIC5jYXRjaCgoZXJyb3IpPT57CisgICAgICAgIHRoaXMuaGFuZGxl QXhpb3NDYXRjaChlcnJvcik7CisgICAgICB9KQorICAgICAgLnRoZW4oKCk9PnsKKyAgICAgICAg dGhpcy5zZXRMb2FkaW5nKG51bGwpOworICAgICAgfSkKKyAgfQorCisgIG9uSW1hZ2VDbGljaygp IHsKKyAgICAvKiBOb3Qgd29ya2luZyBjb21wbGV0ZWx5ICovCisgICAgcmV0dXJuOworICAgIHRo aXMuc2V0TG9hZGluZyhnZXR0ZXh0KCdQcmVwYXJpbmcgdGhlIGltYWdlLi4uJykpOworICAgIHZh ciBzdmdFbGVtZW50cyA9IHRoaXMuY2FudmFzRWxlLnF1ZXJ5U2VsZWN0b3JBbGwoJ3N2ZycpOwor ICAgIHN2Z0VsZW1lbnRzLmZvckVhY2goZnVuY3Rpb24oc3ZnKSB7CisgICAgICBzdmcuc2V0QXR0 cmlidXRlKCJ3aWR0aCIsIHN2Zy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCk7CisgICAg ICBzdmcuc2V0QXR0cmlidXRlKCJoZWlnaHQiLCBzdmcuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCku aGVpZ2h0KTsKKyAgICAgIHN2Zy5zdHlsZS53aWR0aCA9IG51bGw7CisgICAgICBzdmcuc3R5bGUu aGVpZ2h0PSBudWxsOworICAgIH0pOworICAgIHRoaXMuY2FudmFzRWxlLnN0eWxlLm92ZXJmbG93 ID0gJ2F1dG8nOworICAgIGh0bWwyY2FudmFzKHRoaXMuY2FudmFzRWxlLCB7CisgICAgICBzY3Jv bGxYOiAwLAorICAgICAgc2Nyb2xsWTogMAorICAgIH0pLnRoZW4oKGNhbnZhcyk9PnsKKyAgICAg IGxldCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpOworICAgICAgbGluay5zZXRB dHRyaWJ1dGUoJ2hyZWYnLCBjYW52YXMudG9EYXRhVVJMKCdpbWFnZS9wbmcnKSk7CisgICAgICBs aW5rLnNldEF0dHJpYnV0ZSgnZG93bmxvYWQnLCB0aGlzLmdldEN1cnJlbnRQcm9qZWN0TmFtZSgp ICsgJy5wbmcnKTsKKyAgICAgIGxpbmsuY2xpY2soKTsKKyAgICB9KS5jYXRjaCgoZXJyKT0+ewor ICAgICAgY29uc29sZS5sb2coZXJyKTsKKyAgICB9KS50aGVuKCgpPT57CisgICAgICB0aGlzLmNh bnZhc0VsZS5zdHlsZS5vdmVyZmxvdyA9ICdoaWRkZW4nOworICAgICAgdGhpcy5zZXRMb2FkaW5n KG51bGwpOworICAgIH0pOworICB9CisKKyAgb25PbmVUb01hbnlDbGljaygpIHsKKyAgICBsZXQg ZGlhbG9nID0gdGhpcy5nZXREaWFsb2coJ29uZXRvbWFueV9kaWFsb2cnKTsKKyAgICBsZXQgaW5p dERhdGEgPSB7bG9jYWxfdGFibGVfdWlkOiB0aGlzLmRpYWdyYW0uZ2V0U2VsZWN0ZWROb2Rlcygp WzBdLmdldElEKCl9OworICAgIGRpYWxvZygnT25lIHRvIG1hbnkgcmVsYXRpb24nLCBpbml0RGF0 YSwgKG5ld0RhdGEpPT57CisgICAgICBsZXQgbmV3TGluayA9IHRoaXMuZGlhZ3JhbS5hZGRMaW5r KG5ld0RhdGEsICdvbmV0b21hbnknKTsKKyAgICAgIHRoaXMuZGlhZ3JhbS5jbGVhclNlbGVjdGlv bigpOworICAgICAgbmV3TGluay5zZXRTZWxlY3RlZCh0cnVlKTsKKyAgICAgIHRoaXMuZGlhZ3Jh bS5yZXBhaW50KCk7CisgICAgfSk7CisgIH0KKworICBvbk1hbnlUb01hbnlDbGljaygpIHsKKyAg ICBsZXQgZGlhbG9nID0gdGhpcy5nZXREaWFsb2coJ21hbnl0b21hbnlfZGlhbG9nJyk7CisgICAg bGV0IGluaXREYXRhID0ge2xlZnRfdGFibGVfdWlkOiB0aGlzLmRpYWdyYW0uZ2V0U2VsZWN0ZWRO b2RlcygpWzBdLmdldElEKCl9OworICAgIGRpYWxvZygnTWFueSB0byBtYW55IHJlbGF0aW9uJywg aW5pdERhdGEsIChuZXdEYXRhKT0+eworICAgICAgbGV0IG5vZGVzID0gdGhpcy5kaWFncmFtLmdl dE1vZGVsKCkuZ2V0Tm9kZXNEaWN0KCk7CisgICAgICBsZXQgbGVmdF90YWJsZSA9IG5vZGVzW25l d0RhdGEubGVmdF90YWJsZV91aWRdOworICAgICAgbGV0IHJpZ2h0X3RhYmxlID0gbm9kZXNbbmV3 RGF0YS5yaWdodF90YWJsZV91aWRdOworICAgICAgbGV0IHRhYmxlRGF0YSA9IHsKKyAgICAgICAg bmFtZTogYCR7bGVmdF90YWJsZS5nZXREYXRhKCkubmFtZX1fJHtyaWdodF90YWJsZS5nZXREYXRh KCkubmFtZX1gLAorICAgICAgICBzY2hlbWE6IGxlZnRfdGFibGUuZ2V0RGF0YSgpLnNjaGVtYSwK KyAgICAgICAgY29sdW1uczogW3sKKyAgICAgICAgICAuLi5sZWZ0X3RhYmxlLmdldENvbHVtbkF0 KG5ld0RhdGEubGVmdF90YWJsZV9jb2x1bW5fYXR0bnVtKSwKKyAgICAgICAgICAnbmFtZSc6IGAk e2xlZnRfdGFibGUuZ2V0RGF0YSgpLm5hbWV9XyR7bGVmdF90YWJsZS5nZXRDb2x1bW5BdChuZXdE YXRhLmxlZnRfdGFibGVfY29sdW1uX2F0dG51bSkubmFtZX1gLAorICAgICAgICAgICdpc19wcmlt YXJ5X2tleSc6IGZhbHNlLAorICAgICAgICAgICdhdHRudW0nOiAwLAorICAgICAgICB9LHsKKyAg ICAgICAgICAuLi5yaWdodF90YWJsZS5nZXRDb2x1bW5BdChuZXdEYXRhLnJpZ2h0X3RhYmxlX2Nv bHVtbl9hdHRudW0pLAorICAgICAgICAgICduYW1lJzogYCR7cmlnaHRfdGFibGUuZ2V0RGF0YSgp Lm5hbWV9XyR7cmlnaHRfdGFibGUuZ2V0Q29sdW1uQXQobmV3RGF0YS5yaWdodF90YWJsZV9jb2x1 bW5fYXR0bnVtKS5uYW1lfWAsCisgICAgICAgICAgJ2lzX3ByaW1hcnlfa2V5JzogZmFsc2UsCisg ICAgICAgICAgJ2F0dG51bSc6IDEsCisgICAgICAgIH1dCisgICAgICB9CisgICAgICBsZXQgbmV3 Tm9kZSA9IHRoaXMuZGlhZ3JhbS5hZGROb2RlKHRhYmxlRGF0YSk7CisgICAgICBuZXdOb2RlLnNl dFNlbGVjdGVkKHRydWUpOworCisgICAgICBsZXQgbGlua0RhdGEgPSB7CisgICAgICAgIGxvY2Fs X3RhYmxlX3VpZDogbmV3Tm9kZS5nZXRJRCgpLAorICAgICAgICBsb2NhbF9jb2x1bW5fYXR0bnVt OiBuZXdOb2RlLmdldENvbHVtbnMoKVswXS5hdHRudW0sCisgICAgICAgIHJlZmVyZW5jZWRfdGFi bGVfdWlkOiBuZXdEYXRhLmxlZnRfdGFibGVfdWlkLAorICAgICAgICByZWZlcmVuY2VkX2NvbHVt bl9hdHRudW0gOiBuZXdEYXRhLmxlZnRfdGFibGVfY29sdW1uX2F0dG51bSwKKyAgICAgIH0KKyAg ICAgIHRoaXMuZGlhZ3JhbS5hZGRMaW5rKGxpbmtEYXRhLCAnb25ldG9tYW55Jyk7CisKKyAgICAg IGxpbmtEYXRhID0geworICAgICAgICBsb2NhbF90YWJsZV91aWQ6IG5ld05vZGUuZ2V0SUQoKSwK KyAgICAgICAgbG9jYWxfY29sdW1uX2F0dG51bTogbmV3Tm9kZS5nZXRDb2x1bW5zKClbMV0uYXR0 bnVtLAorICAgICAgICByZWZlcmVuY2VkX3RhYmxlX3VpZDogbmV3RGF0YS5yaWdodF90YWJsZV91 aWQsCisgICAgICAgIHJlZmVyZW5jZWRfY29sdW1uX2F0dG51bSA6IG5ld0RhdGEucmlnaHRfdGFi bGVfY29sdW1uX2F0dG51bSwKKyAgICAgIH0KKworICAgICAgdGhpcy5kaWFncmFtLmFkZExpbmso bGlua0RhdGEsICdvbmV0b21hbnknKTsKKworICAgICAgdGhpcy5kaWFncmFtLnJlcGFpbnQoKTsK KyAgICB9KTsKKyAgfQorCisgIHNob3dOb3RlKG5vdGVOb2RlKSB7CisgICAgaWYobm90ZU5vZGUp IHsKKyAgICAgIHRoaXMubm90ZVJlZkVsZSA9IHRoaXMuZGlhZ3JhbS5nZXRFbmdpbmUoKS5nZXRO b2RlRWxlbWVudChub3RlTm9kZSk7CisgICAgICB0aGlzLnNldFN0YXRlKHsKKyAgICAgICAgbm90 ZV9ub2RlOiBub3RlTm9kZSwKKyAgICAgICAgbm90ZV9vcGVuOiB0cnVlCisgICAgICB9KTsKKyAg ICB9CisgIH0KKworICBvbk5vdGVDbGljayhlKSB7CisgICAgbGV0IG5vdGVOb2RlID0gdGhpcy5k aWFncmFtLmdldFNlbGVjdGVkTm9kZXMoKVswXTsKKyAgICB0aGlzLnNob3dOb3RlKG5vdGVOb2Rl KTsKKyAgfQorCisgIG9uTm90ZUNsb3NlKHVwZGF0ZWQpIHsKKyAgICB0aGlzLnNldFN0YXRlKHtu b3RlX29wZW46IGZhbHNlfSkKKyAgICB1cGRhdGVkICYmIHRoaXMuZGlhZ3JhbS5maXJlRXZlbnQo e30sICdub2Rlc1VwZGF0ZWQnLCB0cnVlKTsKKyAgfQorCisgIGFzeW5jIGluaXRDb25uZWN0aW9u KCkgeworICAgIHRoaXMuc2V0TG9hZGluZyhnZXR0ZXh0KCdJbml0aWFsaXppbmcgY29ubmVjdGlv bi4uLicpKTsKKyAgICB0aGlzLnNldFN0YXRlKHtjb25uX3N0YXR1czogQ09OTkVDVF9TVEFUVVMu Q09OTkVDVElOR30pOworCisgICAgbGV0IGluaXRVcmwgPSB1cmxfZm9yKCdlcmQuaW5pdGlhbGl6 ZScsIHsKKyAgICAgIHRyYW5zX2lkOiB0aGlzLnByb3BzLnBhcmFtcy50cmFuc19pZCwKKyAgICAg IHNnaWQ6IHRoaXMucHJvcHMucGFyYW1zLnNnaWQsCisgICAgICBzaWQ6IHRoaXMucHJvcHMucGFy YW1zLnNpZCwKKyAgICAgIGRpZDogdGhpcy5wcm9wcy5wYXJhbXMuZGlkCisgICAgfSk7CisKKyAg ICB0cnkgeworICAgICAgbGV0IHJlc3BvbnNlID0gYXdhaXQgYXhpb3MucG9zdChpbml0VXJsKTsK KyAgICAgIHRoaXMuc2V0U3RhdGUoeworICAgICAgICBjb25uX3N0YXR1czogQ09OTkVDVF9TVEFU VVMuQ09OTkVDVEVELAorICAgICAgICBzZXJ2ZXJfdmVyc2lvbjogcmVzcG9uc2UuZGF0YS5kYXRh LnNlcnZlclZlcnNpb24KKyAgICAgIH0pOworICAgICAgcmV0dXJuIHRydWU7CisgICAgfSBjYXRj aCAoZXJyb3IpIHsKKyAgICAgIHRoaXMuc2V0U3RhdGUoe2Nvbm5fc3RhdHVzOiBDT05ORUNUX1NU QVRVUy5GQUlMRUR9KTsKKyAgICAgIHRoaXMuaGFuZGxlQXhpb3NDYXRjaChlcnJvcik7CisgICAg ICByZXR1cm4gZmFsc2U7CisgICAgfSBmaW5hbGx5IHsKKyAgICAgIHRoaXMuc2V0TG9hZGluZyhu dWxsKTsKKyAgICB9CisgIH0KKworICAvKiBHZXQgYWxsIHByZXF1aXNpdGUgaW4gb25lIGNvbm4g c2luY2UKKyAgICogd2UgaGF2ZSBvbmx5IG9uZSBjb25uZWN0aW9uCisgICAqLworICBhc3luYyBs b2FkUHJlcXVpc2l0ZURhdGEoKSB7CisgICAgdGhpcy5zZXRMb2FkaW5nKGdldHRleHQoJ0ZldGNo aW5nIHJlcXVpcmVkIGRhdGEuLi4nKSk7CisgICAgbGV0IHVybCA9IHVybF9mb3IoJ2VyZC5wcmVx dWlzaXRlJywgeworICAgICAgdHJhbnNfaWQ6IHRoaXMucHJvcHMucGFyYW1zLnRyYW5zX2lkLAor ICAgICAgc2dpZDogdGhpcy5wcm9wcy5wYXJhbXMuc2dpZCwKKyAgICAgIHNpZDogdGhpcy5wcm9w cy5wYXJhbXMuc2lkLAorICAgICAgZGlkOiB0aGlzLnByb3BzLnBhcmFtcy5kaWQKKyAgICB9KTsK KworICAgIHRyeSB7CisgICAgICBsZXQgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5nZXQodXJsKTsK KyAgICAgIGxldCBkYXRhID0gcmVzcG9uc2UuZGF0YS5kYXRhOworICAgICAgdGhpcy5kaWFncmFt LnNldENhY2hlKCdjb2xUeXBlcycsIGRhdGFbJ2NvbF90eXBlcyddKTsKKyAgICAgIHRoaXMuZGlh Z3JhbS5zZXRDYWNoZSgnc2NoZW1hcycsIGRhdGFbJ3NjaGVtYXMnXSk7CisgICAgICByZXR1cm4g dHJ1ZTsKKyAgICB9IGNhdGNoIChlcnJvcikgeworICAgICAgdGhpcy5oYW5kbGVBeGlvc0NhdGNo KGVycm9yKTsKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9IGZpbmFsbHkgeworICAgICAgdGhp cy5zZXRMb2FkaW5nKG51bGwpOworICAgIH0KKyAgfQorCisgIGFzeW5jIGxvYWRUYWJsZXNEYXRh KCkgeworICAgIHRoaXMuc2V0TG9hZGluZyhnZXR0ZXh0KCdGZXRjaGluZyBzY2hlbWEgZGF0YS4u LicpKTsKKyAgICBsZXQgdXJsID0gdXJsX2ZvcignZXJkLnRhYmxlcycsIHsKKyAgICAgIHRyYW5z X2lkOiB0aGlzLnByb3BzLnBhcmFtcy50cmFuc19pZCwKKyAgICAgIHNnaWQ6IHRoaXMucHJvcHMu cGFyYW1zLnNnaWQsCisgICAgICBzaWQ6IHRoaXMucHJvcHMucGFyYW1zLnNpZCwKKyAgICAgIGRp ZDogdGhpcy5wcm9wcy5wYXJhbXMuZGlkCisgICAgfSk7CisKKyAgICB0cnkgeworICAgICAgbGV0 IHJlc3BvbnNlID0gYXdhaXQgYXhpb3MuZ2V0KHVybCk7CisgICAgICBsZXQgdGFibGVzID0gcmVz cG9uc2UuZGF0YS5kYXRhLm1hcCgodGFibGUpPT57CisgICAgICAgIHJldHVybiB0aGlzLnByb3Bz LnRyYW5zZm9ybVRvU3VwcG9ydGVkKCd0YWJsZScsIHRhYmxlKTsKKyAgICAgIH0pOworICAgICAg dGhpcy5kaWFncmFtLmRlc2VyaWFsaXplRGF0YSh0YWJsZXMpOworICAgICAgcmV0dXJuIHRydWU7 CisgICAgfSBjYXRjaCAoZXJyb3IpIHsKKyAgICAgIHRoaXMuaGFuZGxlQXhpb3NDYXRjaChlcnJv cik7CisgICAgICByZXR1cm4gZmFsc2U7CisgICAgfSBmaW5hbGx5IHsKKyAgICAgIHRoaXMuc2V0 TG9hZGluZyhudWxsKTsKKyAgICB9CisgIH0KKworICByZW5kZXIoKSB7CisgICAgcmV0dXJuICgK KyAgICAgIDw+CisgICAgICA8VG9vbEJhciBpZD0iYnRuLXRvb2xiYXIiPgorICAgICAgICA8QnV0 dG9uR3JvdXA+CisgICAgICAgICAgPEljb25CdXR0b24gaWQ9Im9wZW4tZmlsZSIgaWNvbj0iZmEg ZmEtZm9sZGVyLW9wZW4iIG9uQ2xpY2s9e3RoaXMub25Mb2FkRGlhZ3JhbX0gdGl0bGU9e2dldHRl eHQoJ0xvYWQgZnJvbSBmaWxlJyl9CisgICAgICAgICAgICBzaG9ydGN1dD17dGhpcy5zdGF0ZS5w cmVmZXJlbmNlcy5vcGVuX3Byb2plY3R9Lz4KKyAgICAgICAgICA8SWNvbkJ1dHRvbiBpZD0ic2F2 ZS1lcmQiIGljb249ImZhIGZhLXNhdmUiIG9uQ2xpY2s9eygpPT57dGhpcy5vblNhdmVEaWFncmFt KCl9fSB0aXRsZT17Z2V0dGV4dCgnU2F2ZSBwcm9qZWN0Jyl9CisgICAgICAgICAgICBzaG9ydGN1 dD17dGhpcy5zdGF0ZS5wcmVmZXJlbmNlcy5zYXZlX3Byb2plY3R9IGRpc2FibGVkPXshdGhpcy5z dGF0ZS5kaXJ0eX0vPgorICAgICAgICAgIDxJY29uQnV0dG9uIGlkPSJzYXZlLWFzLWVyZCIgaWNv bj0iZmEgZmEtc2hhcmUtc3F1YXJlIiBvbkNsaWNrPXt0aGlzLm9uU2F2ZUFzRGlhZ3JhbX0gdGl0 bGU9e2dldHRleHQoJ1NhdmUgYXMnKX0KKyAgICAgICAgICAgIHNob3J0Y3V0PXt0aGlzLnN0YXRl LnByZWZlcmVuY2VzLnNhdmVfcHJvamVjdF9hc30vPgorICAgICAgICA8L0J1dHRvbkdyb3VwPgor ICAgICAgICA8QnV0dG9uR3JvdXA+CisgICAgICAgICAgPEljb25CdXR0b24gaWQ9InNhdmUtc3Fs IiBpY29uPSJmYSBmYS1maWxlLWNvZGUiIG9uQ2xpY2s9e3RoaXMub25TUUxDbGlja30gdGl0bGU9 e2dldHRleHQoJ0dlbmVyYXRlIFNRTCcpfQorICAgICAgICAgICAgc2hvcnRjdXQ9e3RoaXMuc3Rh dGUucHJlZmVyZW5jZXMuZ2VuZXJhdGVfc3FsfS8+CisgICAgICAgIDwvQnV0dG9uR3JvdXA+Cisg ICAgICAgIDxJY29uQnV0dG9uIGlkPSJzYXZlLWltYWdlIiBpY29uPSJmYXIgZmEtZmlsZS1pbWFn ZSIgb25DbGljaz17dGhpcy5vbkltYWdlQ2xpY2t9IHRpdGxlPXtnZXR0ZXh0KCdEb3dubG9hZCBh cyBpbWFnZScpfQorICAgICAgICAgICAgc2hvcnRjdXQ9e3RoaXMuc3RhdGUucHJlZmVyZW5jZXMu ZG93bmxvYWRfaW1hZ2V9IGNsYXNzTmFtZT17J2Qtbm9uZSd9Lz4KKyAgICAgICAgPEJ1dHRvbkdy b3VwPgorICAgICAgICAgIDxJY29uQnV0dG9uIGlkPSJhZGQtbm9kZSIgaWNvbj0iZmEgZmEtcGx1 cy1zcXVhcmUiIG9uQ2xpY2s9e3RoaXMub25BZGROZXdOb2RlfSB0aXRsZT17Z2V0dGV4dCgnQWRk IHRhYmxlJyl9CisgICAgICAgICAgICBzaG9ydGN1dD17dGhpcy5zdGF0ZS5wcmVmZXJlbmNlcy5h ZGRfdGFibGV9Lz4KKyAgICAgICAgICA8SWNvbkJ1dHRvbiBpZD0iZWRpdC1ub2RlIiBpY29uPSJm YSBmYS1wZW5jaWwtYWx0IiBvbkNsaWNrPXt0aGlzLm9uRWRpdE5vZGV9IHRpdGxlPXtnZXR0ZXh0 KCdFZGl0IHRhYmxlJyl9CisgICAgICAgICAgICBzaG9ydGN1dD17dGhpcy5zdGF0ZS5wcmVmZXJl bmNlcy5lZGl0X3RhYmxlfSBkaXNhYmxlZD17dGhpcy5zdGF0ZS5ub19ub2RlX3NlbGVjdGVkfS8+ CisgICAgICAgICAgPEljb25CdXR0b24gaWQ9ImNsb25lLW5vZGUiIGljb249ImZhIGZhLWNsb25l IiBvbkNsaWNrPXt0aGlzLm9uQ2xvbmVOb2RlfSB0aXRsZT17Z2V0dGV4dCgnQ2xvbmUgdGFibGUn KX0KKyAgICAgICAgICAgIHNob3J0Y3V0PXt0aGlzLnN0YXRlLnByZWZlcmVuY2VzLmNsb25lX3Rh YmxlfSBkaXNhYmxlZD17dGhpcy5zdGF0ZS5ub19ub2RlX3NlbGVjdGVkfS8+CisgICAgICAgICAg PEljb25CdXR0b24gaWQ9ImRlbGV0ZS1ub2RlIiBpY29uPSJmYSBmYS10cmFzaC1hbHQiIG9uQ2xp Y2s9e3RoaXMub25EZWxldGVOb2RlfSB0aXRsZT17Z2V0dGV4dCgnRHJvcCB0YWJsZS9saW5rJyl9 CisgICAgICAgICAgICBzaG9ydGN1dD17dGhpcy5zdGF0ZS5wcmVmZXJlbmNlcy5kcm9wX3RhYmxl fSBkaXNhYmxlZD17dGhpcy5zdGF0ZS5ub19ub2RlX3NlbGVjdGVkICYmIHRoaXMuc3RhdGUubm9f bGlua19zZWxlY3RlZH0vPgorICAgICAgICA8L0J1dHRvbkdyb3VwPgorICAgICAgICA8QnV0dG9u R3JvdXA+CisgICAgICAgICAgPEljb25CdXR0b24gaWQ9ImFkZC1ub3RlIiBpY29uPSJmYSBmYS1z dGlja3ktbm90ZSIgb25DbGljaz17dGhpcy5vbk5vdGVDbGlja30gdGl0bGU9e2dldHRleHQoJ0Fk ZC9FZGl0IG5vdGUnKX0KKyAgICAgICAgICAgIHNob3J0Y3V0PXt0aGlzLnN0YXRlLnByZWZlcmVu Y2VzLmFkZF9lZGl0X25vdGV9IGRpc2FibGVkPXt0aGlzLnN0YXRlLm5vX25vZGVfc2VsZWN0ZWR9 Lz4KKyAgICAgICAgICA8SWNvbkJ1dHRvbiBpZD0iYWRkLW9uZXRvbWFueSIgdGV4dD0iMU0iIG9u Q2xpY2s9e3RoaXMub25PbmVUb01hbnlDbGlja30gdGl0bGU9e2dldHRleHQoJ09uZS10by1NYW55 IGxpbmsnKX0KKyAgICAgICAgICAgIHNob3J0Y3V0PXt0aGlzLnN0YXRlLnByZWZlcmVuY2VzLm9u ZV90b19tYW55fSBkaXNhYmxlZD17dGhpcy5zdGF0ZS5ub19ub2RlX3NlbGVjdGVkfS8+CisgICAg ICAgICAgPEljb25CdXR0b24gaWQ9ImFkZC1tYW55dG9tYW55IiB0ZXh0PSJNTSIgb25DbGljaz17 dGhpcy5vbk1hbnlUb01hbnlDbGlja30gdGl0bGU9e2dldHRleHQoJ01hbnktdG8tTWFueSBsaW5r Jyl9CisgICAgICAgICAgICBzaG9ydGN1dD17dGhpcy5zdGF0ZS5wcmVmZXJlbmNlcy5tYW55X3Rv X21hbnl9IGRpc2FibGVkPXt0aGlzLnN0YXRlLm5vX25vZGVfc2VsZWN0ZWR9Lz4KKyAgICAgICAg PC9CdXR0b25Hcm91cD4KKyAgICAgICAgPEJ1dHRvbkdyb3VwPgorICAgICAgICAgIDxJY29uQnV0 dG9uIGlkPSJhdXRvLWFsaWduIiBpY29uPSJmYSBmYS1tYWdpYyIgb25DbGljaz17dGhpcy5vbkF1 dG9EaXN0cmlidXRlfSB0aXRsZT17Z2V0dGV4dCgnQXV0byBhbGlnbicpfQorICAgICAgICAgICAg c2hvcnRjdXQ9e3RoaXMuc3RhdGUucHJlZmVyZW5jZXMuYXV0b19hbGlnbn0gLz4KKyAgICAgICAg ICA8RGV0YWlsc1RvZ2dsZUJ1dHRvbiBpZD0ibW9yZS1kZXRhaWxzIiBvbkNsaWNrPXt0aGlzLm9u RGV0YWlsc1RvZ2dsZX0gc2hvd0RldGFpbHM9e3RoaXMuc3RhdGUuc2hvd19kZXRhaWxzfSAvPgor ICAgICAgICA8L0J1dHRvbkdyb3VwPgorICAgICAgICA8QnV0dG9uR3JvdXA+CisgICAgICAgICAg PEljb25CdXR0b24gaWQ9Inpvb20tdG8tZml0IiBpY29uPSJmYSBmYS1jb21wcmVzcyIgb25DbGlj az17dGhpcy5kaWFncmFtLnpvb21Ub0ZpdH0gdGl0bGU9e2dldHRleHQoJ1pvb20gdG8gZml0Jyl9 CisgICAgICAgICAgICBzaG9ydGN1dD17dGhpcy5zdGF0ZS5wcmVmZXJlbmNlcy56b29tX3RvX2Zp dH0vPgorICAgICAgICAgIDxJY29uQnV0dG9uIGlkPSJ6b29tLWluIiBpY29uPSJmYSBmYS1zZWFy Y2gtcGx1cyIgb25DbGljaz17dGhpcy5kaWFncmFtLnpvb21Jbn0gdGl0bGU9e2dldHRleHQoJ1pv b20gaW4nKX0KKyAgICAgICAgICAgIHNob3J0Y3V0PXt0aGlzLnN0YXRlLnByZWZlcmVuY2VzLnpv b21faW59Lz4KKyAgICAgICAgICA8SWNvbkJ1dHRvbiBpZD0iem9vbS1vdXQiIGljb249ImZhIGZh LXNlYXJjaC1taW51cyIgb25DbGljaz17dGhpcy5kaWFncmFtLnpvb21PdXR9IHRpdGxlPXtnZXR0 ZXh0KCdab29tIG91dCcpfQorICAgICAgICAgICAgc2hvcnRjdXQ9e3RoaXMuc3RhdGUucHJlZmVy ZW5jZXMuem9vbV9vdXR9Lz4KKyAgICAgICAgPC9CdXR0b25Hcm91cD4KKyAgICAgICAgPEJ1dHRv bkdyb3VwPgorICAgICAgICAgIDxJY29uQnV0dG9uIGlkPSJoZWxwIiBpY29uPSJmYSBmYS1xdWVz dGlvbiIgb25DbGljaz17dGhpcy5vbkhlbHBDbGlja30gdGl0bGU9e2dldHRleHQoJ0hlbHAnKX0g Lz4KKyAgICAgICAgPC9CdXR0b25Hcm91cD4KKyAgICAgIDwvVG9vbEJhcj4KKyAgICAgIDxDb25u ZWN0aW9uQmFyIHN0YXR1c0lkPSJidG4tY29ubi1zdGF0dXMiIHN0YXR1cz17dGhpcy5zdGF0ZS5j b25uX3N0YXR1c30gYmdjb2xvcj17dGhpcy5wcm9wcy5wYXJhbXMuYmdjb2xvcn0KKyAgICAgICAg Zmdjb2xvcj17dGhpcy5wcm9wcy5wYXJhbXMuZmdjb2xvcn0gdGl0bGU9e3RoaXMucHJvcHMucGFy YW1zLnRpdGxlfS8+CisgICAgICA8RmxvYXRpbmdOb3RlIG9wZW49e3RoaXMuc3RhdGUubm90ZV9v cGVufSBvbkNsb3NlPXt0aGlzLm9uTm90ZUNsb3NlfQorICAgICAgICByZWZlcmVuY2U9e3RoaXMu bm90ZVJlZkVsZX0gbm90ZU5vZGU9e3RoaXMuc3RhdGUubm90ZV9ub2RlfSBhcHBlbmRUbz17dGhp cy5kaWFncmFtQ29udGFpbmVyUmVmLmN1cnJlbnR9IHJvd3M9ezh9Lz4KKyAgICAgIDxkaXYgY2xh c3NOYW1lPSJkaWFncmFtLWNvbnRhaW5lciIgcmVmPXt0aGlzLmRpYWdyYW1Db250YWluZXJSZWZ9 PgorICAgICAgICA8TG9hZGVyIG1lc3NhZ2U9e3RoaXMuc3RhdGUubG9hZGluZ19tc2d9IGF1dG9F bGxpcHNpcz17dHJ1ZX0vPgorICAgICAgICA8Q2FudmFzV2lkZ2V0IGNsYXNzTmFtZT0iZGlhZ3Jh bS1jYW52YXMgZmxleC1ncm93LTEiIHJlZj17KGVsZSk9Pnt0aGlzLmNhbnZhc0VsZSA9IGVsZT8u cmVmPy5jdXJyZW50fX0gZW5naW5lPXt0aGlzLmRpYWdyYW0uZ2V0RW5naW5lKCl9IC8+CisgICAg ICA8L2Rpdj4KKyAgICAgIDwvPgorICAgICk7CisgIH0KK30KZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL3Rvb2xzL2VyZC9zdGF0aWMvanMvZXJkX3Rvb2wvdWlfY29tcG9uZW50cy9Db25uZWN0aW9u QmFyLmpzeCBiL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMvanMvZXJkX3Rvb2wvdWlfY29t cG9uZW50cy9Db25uZWN0aW9uQmFyLmpzeApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAuLmNiN2U3MTU1ZgotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2Vy ZC9zdGF0aWMvanMvZXJkX3Rvb2wvdWlfY29tcG9uZW50cy9Db25uZWN0aW9uQmFyLmpzeApAQCAt MCwwICsxLDQ3IEBACisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vCisvLworLy8gcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scwor Ly8KKy8vIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMjAsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50 IFRlYW0KKy8vIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwg TGljZW5jZQorLy8KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vCisKK2ltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7CitpbXBvcnQg Z2V0dGV4dCBmcm9tICdzb3VyY2VzL2dldHRleHQnOworCitleHBvcnQgY29uc3QgU1RBVFVTID0g eworICBDT05ORUNURUQ6IDEsCisgIERJU0NPTk5FQ1RFRDogMiwKKyAgQ09OTkVDVElORzogMywK KyAgRkFJTEVEOiA0LAorfQorCitleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBDb25uZWN0aW9uQmFy KHtzdGF0dXNJZCwgc3RhdHVzLCBiZ2NvbG9yLCBmZ2NvbG9yLCB0aXRsZX0pIHsKKyAgcmV0dXJu ICgKKyAgICA8ZGl2IGNsYXNzTmFtZT0iY29ubmVjdGlvbl9zdGF0dXNfd3JhcHBlciBkLWZsZXgi PgorICAgICAgPGRpdiBpZD17c3RhdHVzSWR9CisgICAgICAgIHJvbGU9InN0YXR1cyIKKyAgICAg ICAgY2xhc3NOYW1lPSJjb25uZWN0aW9uX3N0YXR1cyBkLWZsZXgganVzdGlmeS1jb250ZW50LWNl bnRlciBhbGlnbi1pdGVtcy1jZW50ZXIiIGRhdGEtY29udGFpbmVyPSJib2R5IgorICAgICAgICBk YXRhLXRvZ2dsZT0icG9wb3ZlciIgZGF0YS1wbGFjZW1lbnQ9ImJvdHRvbSIKKyAgICAgICAgZGF0 YS1jb250ZW50PSIiCisgICAgICAgIGRhdGEtcGFuZWwtdmlzaWJsZT0idmlzaWJsZSIKKyAgICAg ICAgdGFiSW5kZXg9IjAiPgorICAgICAgICA8c3BhbiBjbGFzc05hbWU9eydwZy1mb250LWljb24g ZC1mbGV4IG0tYXV0byAnCisgICAgICAgICAgICArIChzdGF0dXMgPT0gU1RBVFVTLkNPTk5FQ1RF RCA/ICdpY29uLXF1ZXJ5LXRvb2wtY29ubmVjdGVkJyA6ICcnKQorICAgICAgICAgICAgKyAoc3Rh dHVzID09IChTVEFUVVMuRElTQ09OTkVDVEVEIHx8IFNUQVRVUy5GQUlMRUQpID8gJ2ljb24tcXVl cnktdG9vbC1kaXNjb25uZWN0ZWQgJyA6ICcnKQorICAgICAgICAgICAgKyAoc3RhdHVzID09IFNU QVRVUy5DT05ORUNUSU5HID8gJ29idGFpbmluZy1jb25uJyA6ICcnKX0KKyAgICAgICAgICBhcmlh LWhpZGRlbj0idHJ1ZSIgdGl0bGU9IiIgcm9sZT0iaW1nIj4KKyAgICAgICAgPC9zcGFuPgorICAg ICAgPC9kaXY+CisgICAgICA8ZGl2IGNsYXNzTmFtZT0iY29ubmVjdGlvbi1pbmZvIGJ0bi1ncm91 cCIgcm9sZT0iZ3JvdXAiIGFyaWEtbGFiZWw9IiI+CisgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJl ZGl0b3ItdGl0bGUiCisgICAgICAgICAgc3R5bGU9e3tiYWNrZ3JvdW5kQ29sb3I6IGJnY29sb3Is IGNvbG9yOiBmZ2NvbG9yfX0+CisgICAgICAgICAgICB7c3RhdHVzID09IFNUQVRVUy5DT05ORUNU SU5HID8gJygnICsgZ2V0dGV4dCgnT2J0YWluaW5nIGNvbm5lY3Rpb24uLi4nKSArICcpICcgOiAn J30KKyAgICAgICAgICAgIHtzdGF0dXMgPT0gU1RBVFVTLkZBSUxFRCA/ICcoJyArIGdldHRleHQo J0Nvbm5lY3Rpb24gZmFpbGVkJykgKyAnKSAnIDogJyd9CisgICAgICAgICAgICB7dGl0bGV9Cisg ICAgICAgIDwvZGl2PgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgICkKK30KZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMvanMvZXJkX3Rvb2wvdWlfY29tcG9uZW50 cy9GbG9hdGluZ05vdGUuanN4IGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3N0YXRpYy9qcy9lcmRf dG9vbC91aV9jb21wb25lbnRzL0Zsb2F0aW5nTm90ZS5qc3gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwLi5mNzE0ZTFmNWQKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1p bi90b29scy9lcmQvc3RhdGljL2pzL2VyZF90b29sL3VpX2NvbXBvbmVudHMvRmxvYXRpbmdOb3Rl LmpzeApAQCAtMCwwICsxLDU5IEBACisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisvLworLy8gcGdBZG1pbiA0IC0gUG9zdGdyZVNR TCBUb29scworLy8KKy8vIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMjAsIFRoZSBwZ0FkbWluIERl dmVsb3BtZW50IFRlYW0KKy8vIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBv c3RncmVTUUwgTGljZW5jZQorLy8KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKK2ltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3Qs IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnOworaW1wb3J0IFRpcHB5IGZyb20gJ0B0aXBweWpzL3Jl YWN0JzsKK2ltcG9ydCBnZXR0ZXh0IGZyb20gJ3NvdXJjZXMvZ2V0dGV4dCc7CisKK2V4cG9ydCBk ZWZhdWx0IGZ1bmN0aW9uIEZsb2F0aW5nTm90ZSh7b3Blbiwgb25DbG9zZSwgcmVmZXJlbmNlLCBy b3dzLCBub3RlTm9kZSwgLi4udGlwcHlQcm9wc30pIHsKKyAgY29uc3QgdGV4dFJlZiA9IFJlYWN0 LnVzZVJlZihudWxsKTsKKyAgY29uc3QgW3RleHQsIHNldFRleHRdID0gdXNlU3RhdGUoJycpOwor ICBjb25zdCBbaGVhZGVyLCBzZXRIZWFkZXJdID0gdXNlU3RhdGUoJycpOworICB1c2VFZmZlY3Qo KCk9PnsKKyAgICBpZihub3RlTm9kZSkgeworICAgICAgc2V0VGV4dChub3RlTm9kZS5nZXROb3Rl KCkpOworICAgICAgbGV0IFtzY2hlbWEsIG5hbWVdID0gbm90ZU5vZGUuZ2V0U2NoZW1hVGFibGVO YW1lKCk7CisgICAgICBzZXRIZWFkZXIoYCR7bmFtZX0gKCR7c2NoZW1hfSlgKTsKKyAgICB9CisK KyAgICBpZihvcGVuKSB7CisgICAgICB0ZXh0UmVmPy5jdXJyZW50LmZvY3VzKCk7CisgICAgICB0 ZXh0UmVmPy5jdXJyZW50LmRpc3BhdGNoRXZlbnQobmV3IEtleWJvYXJkRXZlbnQoJ2tleXByZXNz JykpOworICAgIH0KKyAgfSwgW25vdGVOb2RlLCBvcGVuXSk7CisKKyAgcmV0dXJuICgKKyAgICA8 VGlwcHkgcmVuZGVyPXsoYXR0cnMpPT4oCisgICAgICA8ZGl2IGNsYXNzTmFtZT0iZmxvYXRpbmct bm90ZSIgey4uLmF0dHJzfT4KKyAgICAgICAgPGRpdiBjbGFzc05hbWU9Im5vdGUtaGVhZGVyIj57 Z2V0dGV4dCgnTm90ZScpfTo8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzc05hbWU9Im5vdGUtYm9k eSI+CisgICAgICAgICAgPGRpdiBjbGFzc05hbWU9InAtMSI+e2hlYWRlcn08L2Rpdj4KKyAgICAg ICAgICA8dGV4dGFyZWEgcmVmPXt0ZXh0UmVmfSBjbGFzc05hbWU9InBnLXRleHRhcmVhIiB2YWx1 ZT17dGV4dH0gcm93cz17cm93c30gb25DaGFuZ2U9eyhlKT0+c2V0VGV4dChlLnRhcmdldC52YWx1 ZSl9PjwvdGV4dGFyZWE+CisgICAgICAgICAgPGRpdiBjbGFzc05hbWU9InBnX2J1dHRvbnMiPgor ICAgICAgICAgICAgPGJ1dHRvbiBjbGFzc05hbWU9ImJ0biBidG4tcHJpbWFyeSBsb25nX3RleHRf ZWRpdG9yIHBnLWFsZXJ0aWZ5LWJ1dHRvbiIgZGF0YS1sYWJlbD0iT0siCisgICAgICAgICAgICAg IG9uQ2xpY2s9eygpPT57CisgICAgICAgICAgICAgICAgbGV0IHVwZGF0ZWQgPSAobm90ZU5vZGUu Z2V0Tm90ZSgpICE9IHRleHQpOworICAgICAgICAgICAgICAgIG5vdGVOb2RlLnNldE5vdGUodGV4 dCk7CisgICAgICAgICAgICAgICAgaWYob25DbG9zZSkgb25DbG9zZSh1cGRhdGVkKTsKKyAgICAg ICAgICAgICAgfX0+CisgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT0iZmEgZmEtY2hlY2sg cGctYWxlcnRpZnktYnV0dG9uIj48L3NwYW4+Jm5ic3A7e2dldHRleHQoJ09LJyl9CisgICAgICAg ICAgICA8L2J1dHRvbj4KKyAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICA8 L2Rpdj4KKyAgICAgICl9CisgICAgICB2aXNpYmxlPXtvcGVufQorICAgICAgaW50ZXJhY3RpdmU9 e3RydWV9CisgICAgICBhbmltYXRpb249e2ZhbHNlfQorICAgICAgcmVmZXJlbmNlPXtyZWZlcmVu Y2V9CisgICAgICBwbGFjZW1lbnQ9J2F1dG8tZW5kJworICAgICAgey4uLnRpcHB5UHJvcHN9Cisg ICAgLz4KKyAgKTsKK30KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMv anMvZXJkX3Rvb2wvdWlfY29tcG9uZW50cy9Mb2FkZXIuanN4IGIvd2ViL3BnYWRtaW4vdG9vbHMv ZXJkL3N0YXRpYy9qcy9lcmRfdG9vbC91aV9jb21wb25lbnRzL0xvYWRlci5qc3gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi45NmUyNDgxNjIKLS0tIC9kZXYvbnVsbAorKysg Yi93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pzL2VyZF90b29sL3VpX2NvbXBvbmVudHMv TG9hZGVyLmpzeApAQCAtMCwwICsxLDI3IEBACisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisvLworLy8gcGdBZG1pbiA0IC0gUG9z dGdyZVNRTCBUb29scworLy8KKy8vIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMjAsIFRoZSBwZ0Fk bWluIERldmVsb3BtZW50IFRlYW0KKy8vIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIg dGhlIFBvc3RncmVTUUwgTGljZW5jZQorLy8KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKK2ltcG9ydCBSZWFjdCBmcm9tICdy ZWFjdCc7CisKK2V4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIExvYWRlcih7bWVzc2FnZSwgYXV0b0Vs bGlwc2lzPWZhbHNlfSkgeworICBpZihtZXNzYWdlIHx8IG1lc3NhZ2UgPT0gJycpIHsKKyAgICBy ZXR1cm4gKAorICAgICAgPGRpdiBjbGFzc05hbWU9InBnLXNwLWNvbnRhaW5lciI+CisgICAgICAg IDxkaXYgY2xhc3NOYW1lPSJwZy1zcC1jb250ZW50Ij4KKyAgICAgICAgICA8ZGl2IGNsYXNzTmFt ZT0icm93Ij4KKyAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJjb2wtMTIgcGctc3AtaWNvbiI+ PC9kaXY+CisgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgPGRpdiBjbGFzc05hbWU9InJvdyI+ PGRpdiBjbGFzc05hbWU9ImNvbC0xMiBwZy1zcC10ZXh0Ij57bWVzc2FnZX17YXV0b0VsbGlwc2lz ID8gJy4uLic6Jyd9PC9kaXY+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgPC9kaXY+Cisg ICAgKTsKKyAgfSBlbHNlIHsKKyAgICByZXR1cm4gbnVsbDsKKyAgfQorfQpkaWZmIC0tZ2l0IGEv d2ViL3BnYWRtaW4vdG9vbHMvZXJkL3N0YXRpYy9qcy9lcmRfdG9vbC91aV9jb21wb25lbnRzL1Rv b2xCYXIuanN4IGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3N0YXRpYy9qcy9lcmRfdG9vbC91aV9j b21wb25lbnRzL1Rvb2xCYXIuanN4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MC4uNTM0MWFjNDA2Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3N0 YXRpYy9qcy9lcmRfdG9vbC91aV9jb21wb25lbnRzL1Rvb2xCYXIuanN4CkBAIC0wLDAgKzEsODMg QEAKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8KKy8vCisvLyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisvLworLy8gQ29w eXJpZ2h0IChDKSAyMDEzIC0gMjAyMCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorLy8g VGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisv LworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8KKworaW1wb3J0IFJlYWN0LCB7IGZvcndhcmRSZWYgfSBmcm9tICdyZWFjdCc7Citp bXBvcnQgVGlwcHkgZnJvbSAnQHRpcHB5anMvcmVhY3QnOworaW1wb3J0IHtpc01hY30gZnJvbSAn c291cmNlcy9rZXlib2FyZF9zaG9ydGN1dHMnOworaW1wb3J0IGdldHRleHQgZnJvbSAnc291cmNl cy9nZXR0ZXh0JzsKKworY29uc3QgQmFzZUljb25CdXR0b24gPSBmb3J3YXJkUmVmKChwcm9wcywg cmVmKT0+eworICBjb25zdCB7aWNvbiwgdGV4dCwgY2xhc3NOYW1lLCAuLi5vdGhlclByb3BzfSA9 IHByb3BzOworCisgIHJldHVybigKKyAgICA8YnV0dG9uIHJlZj17cmVmfSBjbGFzc05hbWU9e2Ns YXNzTmFtZX0gey4uLm90aGVyUHJvcHN9PgorICAgICAge2ljb24gJiYgPHNwYW4gY2xhc3NOYW1l PXtgJHtpY29ufSBzcWwtaWNvbi1sZ2B9IGFyaWEtaGlkZGVuPSJ0cnVlIiByb2xlPSJpbWciPjwv c3Bhbj59CisgICAgICB7dGV4dCAmJiA8c3BhbiBjbGFzc05hbWU9InRleHQtaWNvbiI+e3RleHR9 PC9zcGFuPn0KKyAgICA8L2J1dHRvbj4KKyAgKTsKK30pOworCitleHBvcnQgZnVuY3Rpb24gU2hv cnRjdXQoe3Nob3J0Y3V0fSkgeworICBsZXQga2V5cyA9IFtdOworICBzaG9ydGN1dC5hbHQgJiYg a2V5cy5wdXNoKChpc01hYygpID8gJ09wdGlvbicgOiAnQWx0JykpOworICBzaG9ydGN1dC5jb250 cm9sICYmIGtleXMucHVzaCgnQ3RybCcpOworICBzaG9ydGN1dC5zaGlmdCAmJiBrZXlzLnB1c2go J1NoaWZ0Jyk7CisgIGtleXMucHVzaChzaG9ydGN1dC5rZXkuY2hhci50b1VwcGVyQ2FzZSgpKTsK KyAgcmV0dXJuICgKKyAgICA8ZGl2IHN0eWxlPXt7anVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLCBt YXJnaW5Ub3A6ICcwLjEyNXJlbSd9fSBjbGFzc05hbWU9ImQtZmxleCI+CisgICAgICB7a2V5cy5t YXAoKGtleSwgaSk9PnsKKyAgICAgICAgcmV0dXJuIDxkaXYga2V5PXtpfSBjbGFzc05hbWU9InNo b3J0Y3V0LWtleSI+e2tleX08L2Rpdj4KKyAgICAgIH0pfQorICAgIDwvZGl2PgorICApCit9CisK K2V4cG9ydCBjb25zdCBJY29uQnV0dG9uID0gZm9yd2FyZFJlZigocHJvcHMsIHJlZikgPT4gewor ICBjb25zdCB7dGl0bGUsIHNob3J0Y3V0LCBjbGFzc05hbWUsIC4uLm90aGVyUHJvcHN9ID0gcHJv cHM7CisKKyAgaWYgKHRpdGxlKSB7CisgICAgcmV0dXJuICgKKyAgICAgIDxUaXBweSBjb250ZW50 PXsKKyAgICAgICAgPD4KKyAgICAgICAgICB7dGl0bGUgJiYgPGRpdiBzdHlsZT17e3RleHRBbGln bjogJ2NlbnRlcid9fT57dGl0bGV9PC9kaXY+fQorICAgICAgICAgIHtzaG9ydGN1dCAmJiA8U2hv cnRjdXQgc2hvcnRjdXQ9e3Nob3J0Y3V0fSAvPn0KKyAgICAgICAgPC8+CisgICAgICB9PgorICAg ICAgICA8QmFzZUljb25CdXR0b24gcmVmPXtyZWZ9IGNsYXNzTmFtZT17J2J0biBidG4tc20gYnRu LXByaW1hcnktaWNvbiAnICsgKGNsYXNzTmFtZSB8fCAnJyl9IHsuLi5vdGhlclByb3BzfS8+Cisg ICAgICA8L1RpcHB5PgorICAgICk7CisgIH0gZWxzZSB7CisgICAgcmV0dXJuIDxCYXNlSWNvbkJ1 dHRvbiByZWY9e3JlZn0gY2xhc3NOYW1lPSdidG4gYnRuLXNtIGJ0bi1wcmltYXJ5LWljb24nIHsu Li5vdGhlclByb3BzfS8+CisgIH0KK30pOworCitleHBvcnQgZnVuY3Rpb24gRGV0YWlsc1RvZ2ds ZUJ1dHRvbih7c2hvd0RldGFpbHMsIC4uLnByb3BzfSkgeworICByZXR1cm4gKAorICAgIDxJY29u QnV0dG9uCisgICAgICBpY29uPXtzaG93RGV0YWlscyA/ICdmYXIgZmEtZXllJyA6ICdmYXMgZmEt bG93LXZpc2lvbid9CisgICAgICB0aXRsZT17c2hvd0RldGFpbHMgPyBnZXR0ZXh0KCdTaG93IGZl d2VyIGRldGFpbHMnKSA6IGdldHRleHQoIlNob3cgbW9yZSBkZXRhaWxzIikgfQorICAgICAgey4u LnByb3BzfSAvPgorICApOworfQorCitleHBvcnQgZnVuY3Rpb24gQnV0dG9uR3JvdXAoe2NsYXNz TmFtZSwgY2hpbGRyZW59KSB7CisgIHJldHVybiAoCisgICAgPGRpdiBjbGFzc05hbWU9eydidG4t Z3JvdXAgbXItMSAnICsgKGNsYXNzTmFtZSA/IGNsYXNzTmFtZSA6ICcnKX0gcm9sZT0iZ3JvdXAi IGFyaWEtbGFiZWw9InNhdmUgZ3JvdXAiPgorICAgICAge2NoaWxkcmVufQorICAgIDwvZGl2Pgor ICApCit9CisKK2V4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFRvb2xCYXIoe2lkLCBjaGlsZHJlbn0p IHsKKyAgcmV0dXJuICgKKyAgICA8ZGl2IGlkPXtpZH0gY2xhc3NOYW1lPSJlZGl0b3ItdG9vbGJh ciBkLWZsZXgiIHJvbGU9InRvb2xiYXIiIGFyaWEtbGFiZWw9IiI+CisgICAgICB7Y2hpbGRyZW59 CisgICAgPC9kaXY+CisgICkKK30KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9z dGF0aWMvanMvZXJkX3Rvb2xfaG9vay5qcyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMv anMvZXJkX3Rvb2xfaG9vay5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAu LjE0YTY1ZmJhYQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0 aWMvanMvZXJkX3Rvb2xfaG9vay5qcwpAQCAtMCwwICsxLDM2IEBACisvLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisvLworLy8gcGdB ZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworLy8KKy8vIENvcHlyaWdodCAoQykgMjAxMyAtIDIw MjAsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKy8vIFRoaXMgc29mdHdhcmUgaXMgcmVs ZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorLy8KKy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKK2RlZmluZShb CisgICdzb3VyY2VzL3VybF9mb3InLCAnanF1ZXJ5JywKKyAgJ3NvdXJjZXMvcGdhZG1pbicsICdw Z2FkbWluLnRvb2xzLmVyZC9lcmRfdG9vbCcsICdwZ2FkbWluLmJyb3dzZXInLAorICAncGdhZG1p bi5icm93c2VyLnNlcnZlci5wcml2aWxlZ2UnLCAncGdhZG1pbi5ub2RlLmRhdGFiYXNlJywgJ3Bn YWRtaW4ubm9kZS5wcmltYXJ5X2tleScsCisgICdwZ2FkbWluLm5vZGUuZm9yZWlnbl9rZXknLCAn cGdhZG1pbi5icm93c2VyLmRhdGFtb2RlbCcsICdwZ2FkbWluLmZpbGVfbWFuYWdlcicsCitdLCBm dW5jdGlvbigKKyAgdXJsX2ZvciwgJCwgcGdBZG1pbiwgRVJEVG9vbE1vZHVsZQorKSB7CisgIHZh ciBwZ1Rvb2xzID0gcGdBZG1pbi5Ub29scyA9IHBnQWRtaW4uVG9vbHMgfHwge307CisgIHZhciBF UkRUb29sID0gRVJEVG9vbE1vZHVsZS5kZWZhdWx0OworCisgIC8qIFJldHVybiBiYWNrLCB0aGlz IGhhcyBiZWVuIGNhbGxlZCBtb3JlIHRoYW4gb25jZSAqLworICBpZiAocGdUb29scy5FUkRUb29s SG9vaykKKyAgICByZXR1cm4gcGdUb29scy5FUkRUb29sSG9vazsKKworICBwZ1Rvb2xzLkVSRFRv b2xIb29rID0geworICAgIGxvYWQ6IGZ1bmN0aW9uKHBhcmFtcykgeworICAgICAgLyogQ3JlYXRl IHRoZSBFUkQgVG9vbCBvYmplY3QgYW5kIHJlbmRlciBpdCAqLworICAgICAgbGV0IGVyZE9iaiA9 IG5ldyBFUkRUb29sKCcjZXJkLXRvb2wtY29udGFpbmVyJywgcGFyYW1zKTsKKyAgICAgIGVyZE9i ai5yZW5kZXIoKTsKKyAgICB9LAorICB9OworCisgIHJldHVybiBwZ1Rvb2xzLkVSRFRvb2xIb29r OworfSk7CisKKwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3N0YXRpYy9qcy9p bmRleC5qcyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMvanMvaW5kZXguanMKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5iOTY4YTUyMjMKLS0tIC9kZXYvbnVsbAor KysgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGljL2pzL2luZGV4LmpzCkBAIC0wLDAgKzEs MjMgQEAKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8KKy8vCisvLyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisvLworLy8g Q29weXJpZ2h0IChDKSAyMDEzIC0gMjAyMCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQor Ly8gVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNl CisvLworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8KK2ltcG9ydCBnZXR0ZXh0IGZyb20gJ3NvdXJjZXMvZ2V0dGV4dCc7CitpbXBv cnQgdXJsX2ZvciBmcm9tICdzb3VyY2VzL3VybF9mb3InOworaW1wb3J0ICQgZnJvbSAnanF1ZXJ5 JzsKK2ltcG9ydCBfIGZyb20gJ3VuZGVyc2NvcmUnOworaW1wb3J0IHBnQWRtaW4gZnJvbSAnc291 cmNlcy9wZ2FkbWluJzsKK2ltcG9ydCBwZ0Jyb3dzZXIgZnJvbSAndG9wL2Jyb3dzZXIvc3RhdGlj L2pzL2Jyb3dzZXInOworaW1wb3J0ICogYXMgY3NyZlRva2VuIGZyb20gJ3NvdXJjZXMvY3NyZic7 CitpbXBvcnQge2luaXRpYWxpemV9IGZyb20gJy4vZXJkX21vZHVsZSc7Cit2YXIgd2NEb2NrZXIg PSB3aW5kb3cud2NEb2NrZXI7CisKK2xldCBwZ0Jyb3dzZXJPdXQgPSBpbml0aWFsaXplKGdldHRl eHQsIHVybF9mb3IsICQsIF8sIHBnQWRtaW4sIGNzcmZUb2tlbiwgcGdCcm93c2VyLCB3Y0RvY2tl cik7CisKK21vZHVsZS5leHBvcnRzID0geworICBwZ0Jyb3dzZXI6IHBnQnJvd3Nlck91dCwKK307 CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9lcmQvc3RhdGljL3Njc3MvX2VyZC5zY3Nz IGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3N0YXRpYy9zY3NzL19lcmQuc2NzcwpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmM5YjdkMzE4NQotLS0gL2Rldi9udWxsCisrKyBi L3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMvc2Nzcy9fZXJkLnNjc3MKQEAgLTAsMCArMSwx OTIgQEAKKy5zaG9ydGN1dC1rZXkgeworICBwYWRkaW5nOiAwIDAuMjVyZW07CisgIGJvcmRlcjog MXB4IHNvbGlkICRib3JkZXItY29sb3I7CisgIG1hcmdpbi1yaWdodDogMC4xMjVyZW07CisgIGJv cmRlci1yYWRpdXM6ICRidG4tYm9yZGVyLXJhZGl1czsKK30KKworI2VyZC10b29sLWNvbnRhaW5l ciB7CisJd2lkdGg6IDEwMCU7CisJaGVpZ2h0OiAxMDAlOworCisgIC5maWxlLWlucHV0LWhpZGRl biB7CisgICAgaGVpZ2h0OiAwOworICAgIHdpZHRoOiAwOworICAgIHZpc2liaWxpdHk6IGhpZGRl bjsKKyAgfQorCisgIC50ZXh0LWljb24geworICAgIGZvbnQtd2VpZ2h0OiBib2xkOworICB9CisK KyAgLmVyZC1zdGF0dXMtYmFyIHsKKyAgICBiYWNrZ3JvdW5kOiAkc3FsLWd1dHRlcnMtYmc7Cisg ICAgYm9yZGVyLXRvcDogJHBhbmVsLWJvcmRlcjsKKyAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJl bTsKKyAgfQorCisgIC5kaWFncmFtLWNvbnRhaW5lciB7CisgICAgcG9zaXRpb246IHJlbGF0aXZl OworICAgIHdpZHRoOiAxMDAlOworICAgIGhlaWdodDogMTAwJTsKKyAgfQorCisgIC5mbG9hdGlu Zy1ub3RlIHsKKyAgICB3aWR0aDogMjUwcHg7CisgICAgYm9yZGVyOiAkcGFuZWwtYm9yZGVyOwor ICAgIGJvcmRlci1yYWRpdXM6ICRwYW5lbC1ib3JkZXItcmFkaXVzOworICAgIGJveC1zaGFkb3c6 ICRkaWFsb2ctYm94LXNoYWRvdzsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnQtZGlhbG9n LWJvZHktYmcgIWltcG9ydGFudDsKKyAgICBjb2xvcjogJGNvbG9yLWZnICFpbXBvcnRhbnQ7CisK KyAgICAubm90ZS1oZWFkZXIgeworICAgICAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07CisgICAg ICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnQtaGVhZGVyLWJnOworICAgICAgZm9udC1zaXplOiAk Zm9udC1zaXplLWJhc2U7CisgICAgICBmb250LXdlaWdodDogYm9sZDsKKyAgICAgIGNvbG9yOiAk YWxlcnQtaGVhZGVyLWZnOworICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKKyAgICAgIHdoaXRlLXNw YWNlOiBub3dyYXA7CisgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKKyAgICAgIGJvcmRl ci1yYWRpdXM6IDByZW07CisgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcGFuZWwtYm9y ZGVyLXJhZGl1czsKKyAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcGFuZWwtYm9yZGVy LXJhZGl1czsKKyAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CisgICAgICBtYXJnaW46IC0kYWxl cnRpZnktYm9yZGVycmVtb3ZlLW1hcmdpbjsgLy8tMjRweCBpcyBkZWZhdWx0IGJ5IGFsZXJ0aWZ5 CisgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7CisgICAgfQorCisgICAgLm5vdGUtYm9keSB7Cisg ICAgICAmIHRleHRhcmVhIHsKKyAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgIGJvcmRlcjog bm9uZTsKKyAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCBzb2xpZCAkZXJkLW5v ZGUtYm9yZGVyLWNvbG9yOworICAgICAgICBib3JkZXItdG9wOiAkYm9yZGVyLXdpZHRoIHNvbGlk ICRlcmQtbm9kZS1ib3JkZXItY29sb3I7CisgICAgICB9CisKKyAgICAgICYgLnBnX2J1dHRvbnMg eworICAgICAgICBwYWRkaW5nOiAwLjI1cmVtOworICAgICAgfQorICAgIH0KKyAgfQorCisgIC5k aWFncmFtLWNhbnZhc3sKKyAgICB3aWR0aDogMTAwJTsKKyAgICBoZWlnaHQ6IDEwMCU7CisgICAg Y29sb3I6ICRjb2xvci1mZzsKKyAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsKKyAgICBiYWNr Z3JvdW5kLWltYWdlOiAkZXJkLWJnLWdyaWQ7CisKKyAgICAvLyBvdmVyZmxvdzogYXV0bzsKKyAg ICAvLyBjdXJzb3I6IHVuc2V0OworCisgICAgLnRhYmxlLW5vZGUgeworICAgICAgYmFja2dyb3Vu ZC1jb2xvcjogJGlucHV0LWJnOworICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRl cmQtbm9kZS1ib3JkZXItY29sb3I7CisgICAgICBib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVy LXJhZGl1czsKKyAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgIHdpZHRoOiAxNzVweDsK KyAgICAgIGZvbnQtc2l6ZTogMC44ZW07CisKKyAgICAgICYuc2VsZWN0ZWQgeworICAgICAgICBi b3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7CisgICAgICAgIGJveC1zaGFk b3c6ICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzsKKyAgICAgIH0KKworICAgICAgLnRhYmxl LXRvb2xiYXIgeworICAgICAgICBiYWNrZ3JvdW5kOiAkZWRpdG9yLXRvb2xiYXItYmc7CisgICAg ICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGggc29saWQgJGVyZC1ub2RlLWJvcmRlci1j b2xvcjsKKyAgICAgICAgcGFkZGluZzogMC4xMjVyZW07CisgICAgICAgIGJvcmRlci10b3AtbGVm dC1yYWRpdXM6IGluaGVyaXQ7CisgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBpbmhl cml0OworICAgICAgICBkaXNwbGF5OiBmbGV4OworCisgICAgICAgIC5idG4geworICAgICAgICAg ICY6bm90KDpmaXJzdC1vZi10eXBlKSB7CisgICAgICAgICAgICBtYXJnaW4tbGVmdDogMC4xMjVy ZW07CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisKKyAgICAgIC50YWJsZS1zY2hl bWEgeworICAgICAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRlcmQtbm9k ZS1ib3JkZXItY29sb3I7CisgICAgICAgIHBhZGRpbmc6ICRlcmQtcm93LXBhZGRpbmc7CisgICAg ICAgIGZvbnQtd2VpZ2h0OiBib2xkOworICAgICAgfQorCisgICAgICAudGFibGUtbmFtZSB7Cisg ICAgICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGgqMiBzb2xpZCAkZXJkLW5vZGUtYm9y ZGVyLWNvbG9yOworICAgICAgICBwYWRkaW5nOiAkZXJkLXJvdy1wYWRkaW5nOworICAgICAgICBm b250LXdlaWdodDogYm9sZDsKKyAgICAgIH0KKworICAgICAgLnRhYmxlLWNvbHMgeworICAgICAg ICAuY29sLXJvdyB7CisgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCBzb2xp ZCAkZXJkLW5vZGUtYm9yZGVyLWNvbG9yOworICAgICAgICAgIC5jb2wtcm93LWRhdGEgeworICAg ICAgICAgICAgcGFkZGluZzogJGVyZC1yb3ctcGFkZGluZzsKKyAgICAgICAgICAgIHdpZHRoOiAx MDAlOworCisgICAgICAgICAgICAuY29sLW5hbWUgeworICAgICAgICAgICAgICB3b3JkLWJyZWFr OiBicmVhay1hbGw7CisgICAgICAgICAgICB9CisgICAgICAgICAgfQorICAgICAgICAgIC5jb2wt cm93LXBvcnQgeworICAgICAgICAgICAgcGFkZGluZzogMDsKKyAgICAgICAgICAgIG1pbi1oZWln aHQ6IDA7CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisgICAgfQorCisgICAgLnN2 Zy1saW5rLWVsZSB7CisgICAgICBzdHJva2U6ICRlcmQtbGluay1jb2xvcjsKKyAgICB9CisKKyAg ICAuc3ZnLWxpbmstZWxlLnBhdGggeworICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDsKKyAgICB9 CisKKyAgICBAa2V5ZnJhbWVzIHN2Zy1saW5rLWVsZS1zZWxlY3RlZCB7CisgICAgICBmcm9tIHsg c3Ryb2tlLWRhc2hvZmZzZXQ6IDI0OyB9IHRvIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7IH0KKyAg ICB9CisKKyAgICAuc3ZnLWxpbmstZWxlLnNlbGVjdGVkIHsKKyAgICAgIHN0cm9rZTogJGVyZC1s aW5rLXNlbGVjdGVkLWNvbG9yOworICAgICAgc3Ryb2tlLWRhc2hhcnJheTogMTAsIDI7CisgICAg ICBhbmltYXRpb246IHN2Zy1saW5rLWVsZS1zZWxlY3RlZCAxcyBsaW5lYXIgaW5maW5pdGU7Cisg ICAgfQorCisgICAgLnN2Zy1saW5rLWVsZS5zdmctb3RvbS1jaXJjbGUgeworICAgICAgZmlsbDog JGVyZC1saW5rLWNvbG9yOworICAgIH0KKworICAgIC5jdXN0b20tbm9kZS1jb2xvcnsKKyAgICAg IHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgIHRvcDogNTAlOworICAgICAgbGVmdDogNTAlOwor ICAgICAgd2lkdGg6IDIwcHg7CisgICAgICBoZWlnaHQ6IDIwcHg7CisgICAgICB0cmFuc2Zvcm06 IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKKyAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CisgICAg fQorCisgICAgLmNpcmNsZS1wb3J0eworICAgICAgd2lkdGg6IDEycHg7CisgICAgICBoZWlnaHQ6 IDEycHg7CisgICAgICBtYXJnaW46IDJweDsKKyAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKKyAg ICAgIGJhY2tncm91bmQ6IGRhcmtncmF5OworICAgICAgY3Vyc29yOiBwb2ludGVyOworICAgIH0K KworICAgIC5jaXJjbGUtcG9ydDpob3ZlcnsKKyAgICAgIGJhY2tncm91bmQ6IG1lZGl1bXB1cnBs ZTsKKyAgICB9CisKKyAgICAucG9ydCB7CisgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cisg ICAgICBtYXJnaW46IGF1dG87CisgICAgfQorICB9Cit9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1p bi90b29scy9lcmQvdGVtcGxhdGVzL2VyZC9pbmRleC5odG1sIGIvd2ViL3BnYWRtaW4vdG9vbHMv ZXJkL3RlbXBsYXRlcy9lcmQvaW5kZXguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAuLjEwYTA4OTZmNQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xz L2VyZC90ZW1wbGF0ZXMvZXJkL2luZGV4Lmh0bWwKQEAgLTAsMCArMSw1NSBAQAoreyUgZXh0ZW5k cyAiYmFzZS5odG1sIiAlfQoreyUgYmxvY2sgdGl0bGUgJX17e3RpdGxlfX17JSBlbmRibG9jayAl fQorCit7JSBibG9jayBjc3NfbGluayAlfQorPGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5 bGVzaGVldCIgaHJlZj0ie3sgdXJsX2ZvcignYnJvd3Nlci5icm93c2VyX2NzcycpfX0iLz4KK3sl IGVuZGJsb2NrICV9Cit7JSBibG9jayBib2R5ICV9Cis8c3R5bGU+CisgICAgYm9keSB7cGFkZGlu ZzogMHB4O30KKyAgICB7JSBpZiBpc19kZXNrdG9wX21vZGUgYW5kIGlzX2xpbnV4ICV9CisgICAg LmFsZXJ0aWZ5IC5hanMtZGltbWVyLC5hbGVydGlmeSAuYWpzLW1vZGFsey13ZWJraXQtdHJhbnNm b3JtOiBub25lO30KKyAgICAuYWxlcnRpZnktbm90aWZpZXJ7LXdlYmtpdC10cmFuc2Zvcm06IG5v bmU7fQorICAgIC5hbGVydGlmeS1ub3RpZmllciAuYWpzLW1lc3NhZ2V7LXdlYmtpdC10cmFuc2Zv cm06IG5vbmU7fQorICAgIC5hbGVydGlmeSAuYWpzLWRpYWxvZy5hanMtc2hha2V7LXdlYmtpdC1h bmltYXRpb24tbmFtZTogbm9uZTt9CisgICAgLnNxbC1lZGl0b3ItYnVzeS1pY29uLmZhLXB1bHNl ey13ZWJraXQtYW5pbWF0aW9uOiBub25lO30KKyAgICB7JSBlbmRpZiAlfQorPC9zdHlsZT4KKzxk aXYgaWQ9ImVyZC10b29sLWNvbnRhaW5lciIgY2xhc3M9ImQtZmxleCBmbGV4LWNvbHVtbiI+Cis8 L2Rpdj4KK3slIGVuZGJsb2NrICV9Cit7JSBibG9jayBpbml0X3NjcmlwdCAlfQorICAgIHRyeSB7 CisgICAgICAgIHJlcXVpcmUoCisgICAgICAgICAgICBbJ3NvdXJjZXMvZ2VuZXJhdGVkL2Jyb3dz ZXJfbm9kZXMnLCAnc291cmNlcy9nZW5lcmF0ZWQvY29kZW1pcnJvciddLAorICAgICAgICAgICAg ZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgcmVxdWlyZShbJ3NvdXJjZXMvZ2VuZXJhdGVk L2VyZF90b29sJ10sIGZ1bmN0aW9uKGVyZFRvb2xIb29rKSB7CisgICAgICAgICAgICAgICAgdmFy IGVyZFRvb2xIb29rID0gZXJkVG9vbEhvb2sgfHwgcGdBZG1pbi5Ub29scy5FUkRUb29sSG9vazsK KyAgICAgICAgICAgICAgICBlcmRUb29sSG9vay5sb2FkKHt7IHBhcmFtc3xzYWZlIH19KTsKKwor ICAgICAgICAgICAgICAgIGlmKHdpbmRvdy5vcGVuZXIpIHsKKyAgICAgICAgICAgICAgICAgICAg JCh3aW5kb3cpLm9uKCd1bmxvYWQnLCBmdW5jdGlvbihldikgeworICAgICAgICAgICAgICAgICAg ICAgICAgJC5hamF4KHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2Q6ICdERUxF VEUnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogJ3t7Y2xvc2VfdXJsfX0nCisg ICAgICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICAgICAgfSk7CisgICAg ICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgJCh3aW5kb3cpLm9uKCdi ZWZvcmV1bmxvYWQnLCBmdW5jdGlvbihldikgeworICAgICAgICAgICAgICAgICAgICAgICAgJC5h amF4KHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2Q6ICdERUxFVEUnLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogJ3t7Y2xvc2VfdXJsfX0nCisgICAgICAgICAg ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAg ICAgfQorICAgICAgICAgICAgfSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgY29uc29s ZS5sb2coYXJndW1lbnRzKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9LAorICAgICAgICBm dW5jdGlvbigpIHsKKyAgICAgICAgICAgIGNvbnNvbGUubG9nKGFyZ3VtZW50cyk7CisgICAgICAg IH0pOworICAgIH0gY2F0Y2ggKGVycikgeworICAgICAgICBjb25zb2xlLmxvZyhlcnIpOworICAg IH0KK3slIGVuZGJsb2NrICV9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9lcmQvdGVz dHMvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvdGVzdHMvX19pbml0X18ucHkK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi44YzhjNDg2Y2MKLS0tIC9kZXYv bnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvdGVzdHMvX19pbml0X18ucHkKQEAgLTAs MCArMSwxNSBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNR TCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUgcGdBZG1pbiBEZXZl bG9wbWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3Rn cmVTUUwgTGljZW5jZQorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworZnJvbSBwZ2FkbWluLnV0aWxz LnJvdXRlIGltcG9ydCBCYXNlVGVzdEdlbmVyYXRvcgorCisKK2NsYXNzIEVSREdlbmVyYXRlVGVz dENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgorICAgIGRlZiBydW5UZXN0KHNlbGYpOgorICAgICAg ICByZXR1cm4KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC90ZXN0cy9zcWwvMTJf cGx1cy90ZXN0X3NxbF9vdXRwdXQuc3FsIGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3Rlc3RzL3Nx bC8xMl9wbHVzL3Rlc3Rfc3FsX291dHB1dC5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwLi5lM2Q2YWI3NjIKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29s cy9lcmQvdGVzdHMvc3FsLzEyX3BsdXMvdGVzdF9zcWxfb3V0cHV0LnNxbApAQCAtMCwwICsxLDI1 IEBACisKKworQ1JFQVRFIFRBQkxFIHB1YmxpYy5uZXd0YWJsZTEKKygKKyAgICBpZCBpbnRlZ2Vy LAorICAgIGNvbDEgY2hhcmFjdGVyIHZhcnlpbmcoNTApLAorICAgIFBSSU1BUlkgS0VZIChpZCkK Kyk7CisKK0NSRUFURSBUQUJMRSBwdWJsaWMubmV3dGFibGUyCisoCisgICAgdGFibGUxX2lkIGlu dGVnZXIsCisgICAgY29sMiBjaGFyYWN0ZXIgdmFyeWluZyg1MCksCisgICAgUFJJTUFSWSBLRVkg KGlkKQorKTsKKworQ1JFQVRFIFRBQkxFIHB1YmxpYy5uZXd0YWJsZTMKKygKKykKKzsKKworQUxU RVIgVEFCTEUgcHVibGljLm5ld3RhYmxlMgorICAgIEFERCBGT1JFSUdOIEtFWSAodGFibGUxX2lk KQorICAgIFJFRkVSRU5DRVMgcHVibGljLm5ld3RhYmxlMSAoaWQpCisgICAgTk9UIFZBTElEOwpk aWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3Rlc3RzL3NxbC9kZWZhdWx0L3Rlc3Rf c3FsX291dHB1dC5zcWwgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvdGVzdHMvc3FsL2RlZmF1bHQv dGVzdF9zcWxfb3V0cHV0LnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAu LjMzMGU4MTQ0MwotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC90ZXN0 cy9zcWwvZGVmYXVsdC90ZXN0X3NxbF9vdXRwdXQuc3FsCkBAIC0wLDAgKzEsMzQgQEAKKworCitD UkVBVEUgVEFCTEUgcHVibGljLm5ld3RhYmxlMQorKAorICAgIGlkIGludGVnZXIsCisgICAgY29s MSBjaGFyYWN0ZXIgdmFyeWluZyg1MCksCisgICAgUFJJTUFSWSBLRVkgKGlkKQorKQorV0lUSCAo CisgICAgT0lEUyA9IEZBTFNFCispOworCitDUkVBVEUgVEFCTEUgcHVibGljLm5ld3RhYmxlMgor KAorICAgIHRhYmxlMV9pZCBpbnRlZ2VyLAorICAgIGNvbDIgY2hhcmFjdGVyIHZhcnlpbmcoNTAp LAorICAgIFBSSU1BUlkgS0VZIChpZCkKKykKK1dJVEggKAorICAgIE9JRFMgPSBGQUxTRQorKTsK KworQ1JFQVRFIFRBQkxFIHB1YmxpYy5uZXd0YWJsZTMKKygKKykKKworV0lUSCAoCisgICAgT0lE UyA9IEZBTFNFCispOworCitBTFRFUiBUQUJMRSBwdWJsaWMubmV3dGFibGUyCisgICAgQUREIEZP UkVJR04gS0VZICh0YWJsZTFfaWQpCisgICAgUkVGRVJFTkNFUyBwdWJsaWMubmV3dGFibGUxIChp ZCkKKyAgICBOT1QgVkFMSUQ7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9lcmQvdGVz dHMvdGVzdF9jbG9zZS5weSBiL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC90ZXN0cy90ZXN0X2Nsb3Nl LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMDA4ZGRhYjM5Ci0tLSAv ZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3Rlc3RzL3Rlc3RfY2xvc2UucHkK QEAgLTAsMCArMSw1NSBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9z dGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUgcGdBZG1p biBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhl IFBvc3RncmVTUUwgTGljZW5jZQorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworaW1wb3J0IGpzb24K KworZnJvbSBwZ2FkbWluLnV0aWxzLnJvdXRlIGltcG9ydCBCYXNlVGVzdEdlbmVyYXRvcgorZnJv bSByZWdyZXNzaW9uLnB5dGhvbl90ZXN0X3V0aWxzIGltcG9ydCB0ZXN0X3V0aWxzIGFzIHV0aWxz Citmcm9tIHJlZ3Jlc3Npb24gaW1wb3J0IHBhcmVudF9ub2RlX2RpY3QKK2Zyb20gcmVncmVzc2lv bi50ZXN0X3NldHVwIGltcG9ydCBjb25maWdfZGF0YQorZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2Vy dmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy50ZXN0cyBpbXBvcnQgdXRpbHMgYXMgXAorICAg IGRhdGFiYXNlX3V0aWxzCisKKworY2xhc3MgRVJEQ2xvc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgor CisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzZWxmLmRiX25hbWUgPSAiZXJkdGVzdGRi IgorICAgICAgICBzZWxmLnNpZCA9IHBhcmVudF9ub2RlX2RpY3RbInNlcnZlciJdWy0xXVsic2Vy dmVyX2lkIl0KKyAgICAgICAgc2VsZi5kaWQgPSB1dGlscy5jcmVhdGVfZGF0YWJhc2Uoc2VsZi5z ZXJ2ZXIsIHNlbGYuZGJfbmFtZSkKKyAgICAgICAgc2VsZi5zZ2lkID0gY29uZmlnX2RhdGFbInNl cnZlcl9ncm91cCJdCisKKyAgICBkZWYgcnVuVGVzdChzZWxmKToKKyAgICAgICAgZGJfY29uID0g ZGF0YWJhc2VfdXRpbHMuY29ubmVjdF9kYXRhYmFzZShzZWxmLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2dpZCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNpZCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRpZCkKKworICAgICAg ICBpZiBub3QgZGJfY29uWyJpbmZvIl0gPT0gIkRhdGFiYXNlIGNvbm5lY3RlZC4iOgorICAgICAg ICAgICAgcmFpc2UgRXhjZXB0aW9uKCJDb3VsZCBub3QgY29ubmVjdCB0byBkYXRhYmFzZSB0byBh ZGQgdGhlIHNjaGVtYS4iKQorCisgICAgICAgIHVybCA9ICcvZXJkL2luaXRpYWxpemUve3RyYW5z X2lkfS97c2dpZH0ve3NpZH0ve2RpZH0nLmZvcm1hdCgKKyAgICAgICAgICAgIHRyYW5zX2lkPTEy MzM0NCwgc2dpZD1zZWxmLnNnaWQsIHNpZD1zZWxmLnNpZCwgZGlkPXNlbGYuZGlkKQorCisgICAg ICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIucG9zdCh1cmwpCisgICAgICAgIHNlbGYuYXNzZXJ0 RXF1YWwocmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkKKworICAgICAgICB1cmwgPSAnL2VyZC9j bG9zZS97dHJhbnNfaWR9L3tzZ2lkfS97c2lkfS97ZGlkfScuZm9ybWF0KAorICAgICAgICAgICAg dHJhbnNfaWQ9MTIzMzQ0LCBzZ2lkPXNlbGYuc2dpZCwgc2lkPXNlbGYuc2lkLCBkaWQ9c2VsZi5k aWQpCisKKyAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5kZWxldGUodXJsKQorICAgICAg ICBzZWxmLmFzc2VydEVxdWFsKHJlc3BvbnNlLnN0YXR1c19jb2RlLCAyMDApCisKKyAgICBkZWYg dGVhckRvd24oc2VsZik6CisgICAgICAgIGNvbm5lY3Rpb24gPSB1dGlscy5nZXRfZGJfY29ubmVj dGlvbihzZWxmLnNlcnZlclsnZGInXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNlbGYuc2VydmVyWyd1c2VybmFtZSddLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJbJ2RiX3Bhc3N3b3JkJ10sCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlclsn aG9zdCddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vs Zi5zZXJ2ZXJbJ3BvcnQnXSkKKyAgICAgICAgdXRpbHMuZHJvcF9kYXRhYmFzZShjb25uZWN0aW9u LCBzZWxmLmRiX25hbWUpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9lcmQvdGVzdHMv dGVzdF9pbml0aWFsaXplLnB5IGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3Rlc3RzL3Rlc3RfaW5p dGlhbGl6ZS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmQ1ODZiYjNi NgotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC90ZXN0cy90ZXN0X2lu aXRpYWxpemUucHkKQEAgLTAsMCArMSw1NCBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdB ZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIw LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFz ZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKwor aW1wb3J0IGpzb24KKworZnJvbSBwZ2FkbWluLnV0aWxzLnJvdXRlIGltcG9ydCBCYXNlVGVzdEdl bmVyYXRvcgorZnJvbSByZWdyZXNzaW9uLnB5dGhvbl90ZXN0X3V0aWxzIGltcG9ydCB0ZXN0X3V0 aWxzIGFzIHV0aWxzCitmcm9tIHJlZ3Jlc3Npb24gaW1wb3J0IHBhcmVudF9ub2RlX2RpY3QKK2Zy b20gcmVncmVzc2lvbi50ZXN0X3NldHVwIGltcG9ydCBjb25maWdfZGF0YQorZnJvbSBwZ2FkbWlu LmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy50ZXN0cyBpbXBvcnQgdXRp bHMgYXMgXAorICAgIGRhdGFiYXNlX3V0aWxzCisKKworY2xhc3MgRVJESW5pdGlhbGl6ZShCYXNl VGVzdEdlbmVyYXRvcik6CisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHNlbGYuZGJf bmFtZSA9ICJlcmR0ZXN0ZGIiCisgICAgICAgIHNlbGYuc2lkID0gcGFyZW50X25vZGVfZGljdFsi c2VydmVyIl1bLTFdWyJzZXJ2ZXJfaWQiXQorICAgICAgICBzZWxmLmRpZCA9IHV0aWxzLmNyZWF0 ZV9kYXRhYmFzZShzZWxmLnNlcnZlciwgc2VsZi5kYl9uYW1lKQorICAgICAgICBzZWxmLnNnaWQg PSBjb25maWdfZGF0YVsic2VydmVyX2dyb3VwIl0KKworICAgIGRlZiBydW5UZXN0KHNlbGYpOgor ICAgICAgICBkYl9jb24gPSBkYXRhYmFzZV91dGlscy5jb25uZWN0X2RhdGFiYXNlKHNlbGYsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZ2lk LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYu c2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNl bGYuZGlkKQorCisgICAgICAgIGlmIG5vdCBkYl9jb25bImluZm8iXSA9PSAiRGF0YWJhc2UgY29u bmVjdGVkLiI6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNvdWxkIG5vdCBjb25uZWN0 IHRvIGRhdGFiYXNlIHRvIGFkZCB0aGUgc2NoZW1hLiIpCisKKyAgICAgICAgdXJsID0gJy9lcmQv aW5pdGlhbGl6ZS97dHJhbnNfaWR9L3tzZ2lkfS97c2lkfS97ZGlkfScuZm9ybWF0KAorICAgICAg ICAgICAgdHJhbnNfaWQ9MTIzMzQ0LCBzZ2lkPXNlbGYuc2dpZCwgc2lkPXNlbGYuc2lkLCBkaWQ9 c2VsZi5kaWQpCisKKyAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5wb3N0KHVybCkKKyAg ICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQorICAgICAg ICByZXNwb25zZV9kYXRhID0ganNvbi5sb2FkcyhyZXNwb25zZS5kYXRhLmRlY29kZSgndXRmLTgn KSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXNwb25zZV9kYXRhWydkYXRhJ10sIHsKKyAg ICAgICAgICAgICdjb25uSWQnOiAnMTIzMzQ0JywKKyAgICAgICAgICAgICdzZXJ2ZXJWZXJzaW9u Jzogc2VsZi5zZXJ2ZXJfaW5mb3JtYXRpb25bJ3NlcnZlcl92ZXJzaW9uJ10sCisgICAgICAgIH0p CisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgIGNvbm5lY3Rpb24gPSB1dGlscy5n ZXRfZGJfY29ubmVjdGlvbihzZWxmLnNlcnZlclsnZGInXSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyWyd1c2VybmFtZSddLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJbJ2RiX3Bh c3N3b3JkJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz ZWxmLnNlcnZlclsnaG9zdCddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc2VsZi5zZXJ2ZXJbJ3BvcnQnXSkKKyAgICAgICAgdXRpbHMuZHJvcF9kYXRhYmFz ZShjb25uZWN0aW9uLCBzZWxmLmRiX25hbWUpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29s cy9lcmQvdGVzdHMvdGVzdF9wYW5lbC5weSBiL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC90ZXN0cy90 ZXN0X3BhbmVsLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uYWQ0NGQw MDRhCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3Rlc3RzL3Rlc3Rf cGFuZWwucHkKQEAgLTAsMCArMSw0NCBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1p biA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBU aGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQg dW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworaW1w b3J0IGpzb24KKworZnJvbSBwZ2FkbWluLnV0aWxzLnJvdXRlIGltcG9ydCBCYXNlVGVzdEdlbmVy YXRvcgorZnJvbSByZWdyZXNzaW9uLnB5dGhvbl90ZXN0X3V0aWxzIGltcG9ydCB0ZXN0X3V0aWxz IGFzIHV0aWxzCitmcm9tIHJlZ3Jlc3Npb24gaW1wb3J0IHBhcmVudF9ub2RlX2RpY3QKK2Zyb20g cmVncmVzc2lvbi50ZXN0X3NldHVwIGltcG9ydCBjb25maWdfZGF0YQorZnJvbSBwZ2FkbWluLmJy b3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy50ZXN0cyBpbXBvcnQgdXRpbHMg YXMgXAorICAgIGRhdGFiYXNlX3V0aWxzCisKKworY2xhc3MgRVJEUGFuZWwoQmFzZVRlc3RHZW5l cmF0b3IpOgorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzZWxmLmRiX25hbWUgPSAi ZXJkdGVzdGRiIgorICAgICAgICBzZWxmLnNpZCA9IHBhcmVudF9ub2RlX2RpY3RbInNlcnZlciJd Wy0xXVsic2VydmVyX2lkIl0KKyAgICAgICAgc2VsZi5kaWQgPSB1dGlscy5jcmVhdGVfZGF0YWJh c2Uoc2VsZi5zZXJ2ZXIsIHNlbGYuZGJfbmFtZSkKKyAgICAgICAgc2VsZi5zZ2lkID0gY29uZmln X2RhdGFbInNlcnZlcl9ncm91cCJdCisKKyAgICBkZWYgcnVuVGVzdChzZWxmKToKKyAgICAgICAg dXJsID0gJy9lcmQvcGFuZWwve3RyYW5zX2lkfT9zZ2lkPXtzZ2lkfSZzaWQ9e3NpZH0mc2VydmVy X3R5cGU9cGcnIFwKKyAgICAgICAgICAgICAgJyZkaWQ9e2RpZH0mZ2VuPWZhbHNlJy5cCisgICAg ICAgICAgICBmb3JtYXQodHJhbnNfaWQ9MTIzMzQ0LCBzZ2lkPXNlbGYuc2dpZCwgc2lkPXNlbGYu c2lkLCBkaWQ9c2VsZi5kaWQpCisKKyAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5wb3N0 KAorICAgICAgICAgICAgdXJsLCBkYXRhPXsidGl0bGUiOiAicGFuZWxfdGl0bGUiLCAiY2xvc2Vf dXJsIjogInRoZS9jbG9zZS91cmwifSwKKyAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0iYXBwbGlj YXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChy ZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQorCisgICAgZGVmIHRlYXJEb3duKHNlbGYpOgorICAg ICAgICBjb25uZWN0aW9uID0gdXRpbHMuZ2V0X2RiX2Nvbm5lY3Rpb24oc2VsZi5zZXJ2ZXJbJ2Ri J10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNl cnZlclsndXNlcm5hbWUnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNlbGYuc2VydmVyWydkYl9wYXNzd29yZCddLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJbJ2hvc3QnXSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyWydwb3J0J10pCisg ICAgICAgIHV0aWxzLmRyb3BfZGF0YWJhc2UoY29ubmVjdGlvbiwgc2VsZi5kYl9uYW1lKQpkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3Rlc3RzL3Rlc3RfcHJlcXVpc2l0ZS5weSBi L3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC90ZXN0cy90ZXN0X3ByZXF1aXNpdGUucHkKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5mZWQ2YTA2NTIKLS0tIC9kZXYvbnVsbAorKysg Yi93ZWIvcGdhZG1pbi90b29scy9lcmQvdGVzdHMvdGVzdF9wcmVxdWlzaXRlLnB5CkBAIC0wLDAg KzEsNTIgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwg VG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAyMCwgVGhlIHBnQWRtaW4gRGV2ZWxv cG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3Jl U1FMIExpY2VuY2UKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2ltcG9ydCBqc29uCisKK2Zyb20g cGdhZG1pbi51dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKK2Zyb20gcmVncmVz c2lvbi5weXRob25fdGVzdF91dGlscyBpbXBvcnQgdGVzdF91dGlscyBhcyB1dGlscworZnJvbSBy ZWdyZXNzaW9uIGltcG9ydCBwYXJlbnRfbm9kZV9kaWN0Citmcm9tIHJlZ3Jlc3Npb24udGVzdF9z ZXR1cCBpbXBvcnQgY29uZmlnX2RhdGEKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91 cHMuc2VydmVycy5kYXRhYmFzZXMudGVzdHMgaW1wb3J0IHV0aWxzIGFzIFwKKyAgICBkYXRhYmFz ZV91dGlscworCisKK2NsYXNzIEVSRFByZXF1aXNpdGUoQmFzZVRlc3RHZW5lcmF0b3IpOgorCisg ICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzZWxmLmRiX25hbWUgPSAiZXJkdGVzdGRiIgor ICAgICAgICBzZWxmLnNpZCA9IHBhcmVudF9ub2RlX2RpY3RbInNlcnZlciJdWy0xXVsic2VydmVy X2lkIl0KKyAgICAgICAgc2VsZi5kaWQgPSB1dGlscy5jcmVhdGVfZGF0YWJhc2Uoc2VsZi5zZXJ2 ZXIsIHNlbGYuZGJfbmFtZSkKKyAgICAgICAgc2VsZi5zZ2lkID0gY29uZmlnX2RhdGFbInNlcnZl cl9ncm91cCJdCisKKyAgICBkZWYgcnVuVGVzdChzZWxmKToKKyAgICAgICAgZGJfY29uID0gZGF0 YWJhc2VfdXRpbHMuY29ubmVjdF9kYXRhYmFzZShzZWxmLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2dpZCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNpZCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRpZCkKKworICAgICAgICBp ZiBub3QgZGJfY29uWyJpbmZvIl0gPT0gIkRhdGFiYXNlIGNvbm5lY3RlZC4iOgorICAgICAgICAg ICAgcmFpc2UgRXhjZXB0aW9uKCJDb3VsZCBub3QgY29ubmVjdCB0byBkYXRhYmFzZSB0byBhZGQg dGhlIHNjaGVtYS4iKQorCisgICAgICAgIHVybCA9ICcvZXJkL3ByZXF1aXNpdGUve3RyYW5zX2lk fS97c2dpZH0ve3NpZH0ve2RpZH0nLmZvcm1hdCgKKyAgICAgICAgICAgIHRyYW5zX2lkPTEyMzM0 NCwgc2dpZD1zZWxmLnNnaWQsIHNpZD1zZWxmLnNpZCwgZGlkPXNlbGYuZGlkKQorCisgICAgICAg IHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIuZ2V0KHVybCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh bChyZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQorICAgICAgICByZXNwb25zZV9kYXRhID0ganNv bi5sb2FkcyhyZXNwb25zZS5kYXRhLmRlY29kZSgndXRmLTgnKSkKKyAgICAgICAgc2VsZi5hc3Nl cnRJbignY29sX3R5cGVzJywgcmVzcG9uc2VfZGF0YVsnZGF0YSddKQorICAgICAgICBzZWxmLmFz c2VydEluKCdzY2hlbWFzJywgcmVzcG9uc2VfZGF0YVsnZGF0YSddKQorCisgICAgZGVmIHRlYXJE b3duKHNlbGYpOgorICAgICAgICBjb25uZWN0aW9uID0gdXRpbHMuZ2V0X2RiX2Nvbm5lY3Rpb24o c2VsZi5zZXJ2ZXJbJ2RiJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzZWxmLnNlcnZlclsndXNlcm5hbWUnXSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyWydkYl9wYXNzd29yZCddLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJbJ2hvc3Qn XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2Vy dmVyWydwb3J0J10pCisgICAgICAgIHV0aWxzLmRyb3BfZGF0YWJhc2UoY29ubmVjdGlvbiwgc2Vs Zi5kYl9uYW1lKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3Rlc3RzL3Rlc3Rf c3FsLnB5IGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3Rlc3RzL3Rlc3Rfc3FsLnB5Cm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMzUyYTFkYzgzCi0tLSAvZGV2L251bGwKKysr IGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3Rlc3RzL3Rlc3Rfc3FsLnB5CkBAIC0wLDAgKzEsOTEg QEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMK KyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAyMCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQg VGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExp Y2VuY2UKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2ltcG9ydCBqc29uCisKK2Zyb20gcGdhZG1p bi51dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKK2Zyb20gcmVncmVzc2lvbi5w eXRob25fdGVzdF91dGlscyBpbXBvcnQgdGVzdF91dGlscyBhcyB1dGlscworZnJvbSByZWdyZXNz aW9uIGltcG9ydCBwYXJlbnRfbm9kZV9kaWN0Citmcm9tIHJlZ3Jlc3Npb24udGVzdF9zZXR1cCBp bXBvcnQgY29uZmlnX2RhdGEKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2Vy dmVycy5kYXRhYmFzZXMudGVzdHMgaW1wb3J0IHV0aWxzIGFzIFwKKyAgICBkYXRhYmFzZV91dGls cworZnJvbSBwZ2FkbWluLnV0aWxzLnZlcnNpb25lZF90ZW1wbGF0ZV9sb2FkZXIgaW1wb3J0IFwK KyAgICBnZXRfdmVyc2lvbl9tYXBwaW5nX2RpcmVjdG9yaWVzCitmcm9tIG9zIGltcG9ydCBwYXRo CisKKworY2xhc3MgRVJEU3FsKEJhc2VUZXN0R2VuZXJhdG9yKToKKworICAgIGRlZiBzZXRVcChz ZWxmKToKKyAgICAgICAgc2VsZi5kYl9uYW1lID0gImVyZHRlc3RkYiIKKyAgICAgICAgc2VsZi5z aWQgPSBwYXJlbnRfbm9kZV9kaWN0WyJzZXJ2ZXIiXVstMV1bInNlcnZlcl9pZCJdCisgICAgICAg IHNlbGYuZGlkID0gdXRpbHMuY3JlYXRlX2RhdGFiYXNlKHNlbGYuc2VydmVyLCBzZWxmLmRiX25h bWUpCisgICAgICAgIHNlbGYuc2dpZCA9IGNvbmZpZ19kYXRhWyJzZXJ2ZXJfZ3JvdXAiXQorICAg ICAgICBzZWxmLm1heERpZmYgPSBOb25lCisKKyAgICBkZWYgZ2V0X2V4cGVjdGVkX3NxbChzZWxm KToKKyAgICAgICAgc3FsX2Jhc2VfcGF0aCA9IHBhdGguam9pbigKKyAgICAgICAgICAgIHBhdGgu ZGlybmFtZShwYXRoLnJlYWxwYXRoKF9fZmlsZV9fKSksICdzcWwnKQorCisgICAgICAgICMgSXRl cmF0ZSB0aGUgdmVyc2lvbiBtYXBwaW5nIGRpcmVjdG9yaWVzLgorICAgICAgICBmb3IgdmVyc2lv bl9tYXBwaW5nIGluIFwKKyAgICAgICAgICAgICAgICBnZXRfdmVyc2lvbl9tYXBwaW5nX2RpcmVj dG9yaWVzKHNlbGYuc2VydmVyWyd0eXBlJ10pOgorICAgICAgICAgICAgaWYgdmVyc2lvbl9tYXBw aW5nWydudW1iZXInXSA+IFwKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJfaW5mb3Jt YXRpb25bJ3NlcnZlcl92ZXJzaW9uJ106CisgICAgICAgICAgICAgICAgY29udGludWUKKworICAg ICAgICAgICAgY29tcGxldGVfcGF0aCA9IHBhdGguam9pbigKKyAgICAgICAgICAgICAgICBzcWxf YmFzZV9wYXRoLCB2ZXJzaW9uX21hcHBpbmdbJ25hbWUnXSkKKworICAgICAgICAgICAgaWYgbm90 IHBhdGguZXhpc3RzKGNvbXBsZXRlX3BhdGgpOgorICAgICAgICAgICAgICAgIGNvbXBsZXRlX3Bh dGggPSBwYXRoLmpvaW4oc3FsX2Jhc2VfcGF0aCwgJ2RlZmF1bHQnKQorICAgICAgICAgICAgYnJl YWsKKworICAgICAgICBkYXRhX3NxbCA9ICcnCisgICAgICAgIHdpdGggb3BlbihwYXRoLmpvaW4o Y29tcGxldGVfcGF0aCwgJ3Rlc3Rfc3FsX291dHB1dC5zcWwnKSkgYXMgZnA6CisgICAgICAgICAg ICBkYXRhX3NxbCA9IGZwLnJlYWQoKQorCisgICAgICAgIHJldHVybiBkYXRhX3NxbAorCisgICAg ZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAgIHBhc3MKKyAgICAgICAgZGJfY29uID0gZGF0YWJh c2VfdXRpbHMuY29ubmVjdF9kYXRhYmFzZShzZWxmLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2dpZCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNpZCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRpZCkKKworICAgICAgICBpZiBu b3QgZGJfY29uWyJpbmZvIl0gPT0gIkRhdGFiYXNlIGNvbm5lY3RlZC4iOgorICAgICAgICAgICAg cmFpc2UgRXhjZXB0aW9uKCJDb3VsZCBub3QgY29ubmVjdCB0byBkYXRhYmFzZSB0byBhZGQgdGhl IHNjaGVtYS4iKQorCisgICAgICAgIHVybCA9ICcvZXJkL3NxbC97dHJhbnNfaWR9L3tzZ2lkfS97 c2lkfS97ZGlkfScuZm9ybWF0KAorICAgICAgICAgICAgdHJhbnNfaWQ9MTIzMzQ0LCBzZ2lkPXNl bGYuc2dpZCwgc2lkPXNlbGYuc2lkLCBkaWQ9c2VsZi5kaWQpCisKKyAgICAgICAgY3Vycl9kaXIg PSBwYXRoLmRpcm5hbWUoX19maWxlX18pCisKKyAgICAgICAgZGF0YV9qc29uID0gTm9uZQorICAg ICAgICB3aXRoIG9wZW4ocGF0aC5qb2luKGN1cnJfZGlyLCAndGVzdF9zcWxfaW5wdXRfZGF0YS5q c29uJykpIGFzIGZwOgorICAgICAgICAgICAgZGF0YV9qc29uID0gZnAucmVhZCgpCisKKyAgICAg ICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5wb3N0KHVybCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGRhdGE9ZGF0YV9qc29uLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24nKQorICAgICAgICBzZWxmLmFzc2Vy dEVxdWFsKHJlc3BvbnNlLnN0YXR1c19jb2RlLCAyMDApCisKKyAgICAgICAgZGF0YV9zcWwgPSBz ZWxmLmdldF9leHBlY3RlZF9zcWwoKQorCisgICAgICAgIHJlc3Bfc3FsID0ganNvbi5sb2Fkcyhy ZXNwb25zZS5kYXRhLmRlY29kZSgndXRmLTgnKSlbJ2RhdGEnXQorICAgICAgICBzZWxmLmFzc2Vy dEVxdWFsKHJlc3Bfc3FsLCBkYXRhX3NxbCkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAg ICAgICAgY29ubmVjdGlvbiA9IHV0aWxzLmdldF9kYl9jb25uZWN0aW9uKHNlbGYuc2VydmVyWydk YiddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5z ZXJ2ZXJbJ3VzZXJuYW1lJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzZWxmLnNlcnZlclsnZGJfcGFzc3dvcmQnXSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyWydob3N0J10sCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlclsncG9ydCddKQor ICAgICAgICB1dGlscy5kcm9wX2RhdGFiYXNlKGNvbm5lY3Rpb24sIHNlbGYuZGJfbmFtZSkKZGlm ZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2VyZC90ZXN0cy90ZXN0X3NxbF9pbnB1dF9kYXRh Lmpzb24gYi93ZWIvcGdhZG1pbi90b29scy9lcmQvdGVzdHMvdGVzdF9zcWxfaW5wdXRfZGF0YS5q c29uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uM2M4MTgyZTY4Ci0tLSAv ZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3Rlc3RzL3Rlc3Rfc3FsX2lucHV0 X2RhdGEuanNvbgpAQCAtMCwwICsxLDEwNiBAQAoreworICAibm9kZXMiOiB7CisgICAgIjFkOWRj NTZlLWU0ZjktNDhiOS04ODliLTYwODRlYzY0NDZiZiI6IHsKKyAgICAgICJjb2x1bW5zIjogWwor ICAgICAgICB7CisgICAgICAgICAgIm5hbWUiOiAiaWQiLAorICAgICAgICAgICJhdHRudW0iOiAw LAorICAgICAgICAgICJjbHR5cGUiOiAiaW50ZWdlciIsCisgICAgICAgICAgImlzX3ByaW1hcnlf a2V5IjogdHJ1ZSwKKyAgICAgICAgICAiYXR0bm90bnVsbCI6IGZhbHNlLAorICAgICAgICAgICJh dHRsZW4iOiBudWxsLAorICAgICAgICAgICJhdHRwcmVjaXNpb24iOiBudWxsLAorICAgICAgICAg ICJhdHRpZGVudGl0eSI6ICJhIiwKKyAgICAgICAgICAiY29sY29uc3R5cGUiOiAibiIKKyAgICAg ICAgfSwKKyAgICAgICAgeworICAgICAgICAgICJuYW1lIjogImNvbDEiLAorICAgICAgICAgICJh dHRudW0iOiAxLAorICAgICAgICAgICJjbHR5cGUiOiAiY2hhcmFjdGVyIHZhcnlpbmciLAorICAg ICAgICAgICJtaW5fdmFsX2F0dGxlbiI6IDEsCisgICAgICAgICAgIm1heF92YWxfYXR0bGVuIjog MjE0NzQ4MzY0NywKKyAgICAgICAgICAiaXNfcHJpbWFyeV9rZXkiOiBmYWxzZSwKKyAgICAgICAg ICAiYXR0bm90bnVsbCI6IGZhbHNlLAorICAgICAgICAgICJhdHRsZW4iOiA1MCwKKyAgICAgICAg ICAiYXR0cHJlY2lzaW9uIjogbnVsbCwKKyAgICAgICAgICAiYXR0aWRlbnRpdHkiOiAiYSIsCisg ICAgICAgICAgImNvbGNvbnN0eXBlIjogIm4iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAi bmFtZSI6ICJuZXd0YWJsZTEiLAorICAgICAgInNjaGVtYSI6ICJwdWJsaWMiLAorICAgICAgInBy aW1hcnlfa2V5IjogWworICAgICAgICB7CisgICAgICAgICAgImNvbHVtbnMiOiBbCisgICAgICAg ICAgICB7CisgICAgICAgICAgICAgICJjb2x1bW4iOiAiaWQiCisgICAgICAgICAgICB9CisgICAg ICAgICAgXSwKKyAgICAgICAgICAiaW5jbHVkZSI6IFtdCisgICAgICAgIH0KKyAgICAgIF0KKyAg ICB9LAorICAgICJjNGZlZTRhZC1jZjMyLTRmYzYtYmI4Ny05OGI4OTZiY2FiNjAiOiB7CisgICAg ICAibmFtZSI6ICJuZXd0YWJsZTIiLAorICAgICAgInNjaGVtYSI6ICJwdWJsaWMiLAorICAgICAg ImNvbHVtbnMiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAibmFtZSI6ICJ0YWJsZTFfaWQiLAor ICAgICAgICAgICJhdHRudW0iOiAwLAorICAgICAgICAgICJjbHR5cGUiOiAiaW50ZWdlciIsCisg ICAgICAgICAgImlzX3ByaW1hcnlfa2V5IjogZmFsc2UsCisgICAgICAgICAgImF0dG5vdG51bGwi OiBmYWxzZSwKKyAgICAgICAgICAiYXR0bGVuIjogbnVsbCwKKyAgICAgICAgICAiYXR0cHJlY2lz aW9uIjogbnVsbCwKKyAgICAgICAgICAiYXR0aWRlbnRpdHkiOiAiYSIsCisgICAgICAgICAgImNv bGNvbnN0eXBlIjogIm4iLAorICAgICAgICAgICJvbGRfYXR0aWRlbnRpdHkiOiAiYSIKKyAgICAg ICAgfSwKKyAgICAgICAgeworICAgICAgICAgICJuYW1lIjogImNvbDIiLAorICAgICAgICAgICJh dHRudW0iOiAxLAorICAgICAgICAgICJjbHR5cGUiOiAiY2hhcmFjdGVyIHZhcnlpbmciLAorICAg ICAgICAgICJtaW5fdmFsX2F0dGxlbiI6IDEsCisgICAgICAgICAgIm1heF92YWxfYXR0bGVuIjog MjE0NzQ4MzY0NywKKyAgICAgICAgICAiaXNfcHJpbWFyeV9rZXkiOiBmYWxzZSwKKyAgICAgICAg ICAiYXR0bm90bnVsbCI6IGZhbHNlLAorICAgICAgICAgICJhdHRsZW4iOiA1MCwKKyAgICAgICAg ICAiYXR0cHJlY2lzaW9uIjogbnVsbCwKKyAgICAgICAgICAiYXR0aWRlbnRpdHkiOiAiYSIsCisg ICAgICAgICAgImNvbGNvbnN0eXBlIjogIm4iLAorICAgICAgICAgICJvbGRfYXR0aWRlbnRpdHki OiAiYSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJwcmltYXJ5X2tleSI6IFsKKyAgICAg ICAgeworICAgICAgICAgICJjb2x1bW5zIjogWworICAgICAgICAgICAgeworICAgICAgICAgICAg ICAiY29sdW1uIjogImlkIgorICAgICAgICAgICAgfQorICAgICAgICAgIF0sCisgICAgICAgICAg ImluY2x1ZGUiOiBbXQorICAgICAgICB9CisgICAgICBdCisgICAgfSwKKyAgICAiZjAwMWE3NzAt ZDZmYS00NTcyLWI4OGItMTFkZDVlMzhkMzBjIjogeworICAgICAgImNvbHVtbnMiOiBbXSwKKyAg ICAgICJuYW1lIjogIm5ld3RhYmxlMyIsCisgICAgICAic2NoZW1hIjogInB1YmxpYyIsCisgICAg ICAicHJpbWFyeV9rZXkiOiBbXQorICAgIH0KKyAgfSwKKyAgImxpbmtzIjogeworICAgICI5OThk ZTE5YS1jYWEwLTQzMWUtOWNmNy05NzgyN2YwMTAyMmIiOiB7CisgICAgICAic2NoZW1hIjogInB1 YmxpYyIsCisgICAgICAidGFibGUiOiAibmV3dGFibGUyIiwKKyAgICAgICJyZW1vdGVfc2NoZW1h IjogInB1YmxpYyIsCisgICAgICAicmVtb3RlX3RhYmxlIjogIm5ld3RhYmxlMSIsCisgICAgICAi Y29sdW1ucyI6IFsKKyAgICAgICAgeworICAgICAgICAgICJsb2NhbF9jb2x1bW4iOiAidGFibGUx X2lkIiwKKyAgICAgICAgICAicmVmZXJlbmNlZCI6ICJpZCIKKyAgICAgICAgfQorICAgICAgXQor ICAgIH0KKyAgfQorfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3Rlc3RzL3Rl c3RfdGFibGVzLnB5IGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3Rlc3RzL3Rlc3RfdGFibGVzLnB5 Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uYjhkZTExNjQ2Ci0tLSAvZGV2 L251bGwKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZXJkL3Rlc3RzL3Rlc3RfdGFibGVzLnB5CkBA IC0wLDAgKzEsNzkgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBvc3Rn cmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAyMCwgVGhlIHBnQWRtaW4g RGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQ b3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2ltcG9ydCBqc29uCitp bXBvcnQgdXVpZAorCitmcm9tIHBnYWRtaW4udXRpbHMucm91dGUgaW1wb3J0IEJhc2VUZXN0R2Vu ZXJhdG9yCitmcm9tIHJlZ3Jlc3Npb24ucHl0aG9uX3Rlc3RfdXRpbHMgaW1wb3J0IHRlc3RfdXRp bHMgYXMgdXRpbHMKK2Zyb20gcmVncmVzc2lvbiBpbXBvcnQgcGFyZW50X25vZGVfZGljdAorZnJv bSByZWdyZXNzaW9uLnRlc3Rfc2V0dXAgaW1wb3J0IGNvbmZpZ19kYXRhCitmcm9tIHBnYWRtaW4u YnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnRlc3RzIGltcG9ydCB1dGls cyBhcyBcCisgICAgZGF0YWJhc2VfdXRpbHMKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9n cm91cHMuc2VydmVycy5kYXRhYmFzZXMuc2NoZW1hcy50YWJsZXMudGVzdHMgXAorICAgIGltcG9y dCB1dGlscyBhcyB0YWJsZXNfdXRpbHMKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91 cHMuc2VydmVycy5kYXRhYmFzZXMuc2NoZW1hcy50ZXN0cyBpbXBvcnQgXAorICAgIHV0aWxzIGFz IHNjaGVtYV91dGlscworCisKK2NsYXNzIEVSRFRhYmxlcyhCYXNlVGVzdEdlbmVyYXRvcik6CisK KyAgICBkZWYgZHJvcERCKHNlbGYpOgorICAgICAgICBjb25uZWN0aW9uID0gdXRpbHMuZ2V0X2Ri X2Nvbm5lY3Rpb24oc2VsZi5zZXJ2ZXJbJ2RiJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlclsndXNlcm5hbWUnXSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyWydkYl9wYXNzd29y ZCddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5z ZXJ2ZXJbJ2hvc3QnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNlbGYuc2VydmVyWydwb3J0J10pCisgICAgICAgIHV0aWxzLmRyb3BfZGF0YWJhc2UoY29u bmVjdGlvbiwgc2VsZi5kYl9uYW1lKQorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBz ZWxmLmRiX25hbWUgPSAiZXJkdGVzdGRiIgorICAgICAgICBzZWxmLnNpZCA9IHBhcmVudF9ub2Rl X2RpY3RbInNlcnZlciJdWy0xXVsic2VydmVyX2lkIl0KKyAgICAgICAgc2VsZi5kaWQgPSB1dGls cy5jcmVhdGVfZGF0YWJhc2Uoc2VsZi5zZXJ2ZXIsIHNlbGYuZGJfbmFtZSkKKworICAgICAgICB0 cnk6CisgICAgICAgICAgICBzZWxmLnNnaWQgPSBjb25maWdfZGF0YVsic2VydmVyX2dyb3VwIl0K KyAgICAgICAgICAgIHNlbGYudGFibGVzID0gWworICAgICAgICAgICAgICAgIFsiZXJkMSIsICJ0 YWJsZV8xIl0sIFsiZXJkMiIsICJ0YWJsZV8yIl0KKyAgICAgICAgICAgIF0KKworICAgICAgICAg ICAgZm9yIHRhYiBpbiBzZWxmLnRhYmxlczoKKyAgICAgICAgICAgICAgICBjb25uZWN0aW9uID0g dXRpbHMuZ2V0X2RiX2Nvbm5lY3Rpb24oCisgICAgICAgICAgICAgICAgICAgIHNlbGYuZGJfbmFt ZSwgc2VsZi5zZXJ2ZXJbJ3VzZXJuYW1lJ10sCisgICAgICAgICAgICAgICAgICAgIHNlbGYuc2Vy dmVyWydkYl9wYXNzd29yZCddLCBzZWxmLnNlcnZlclsnaG9zdCddLAorICAgICAgICAgICAgICAg ICAgICBzZWxmLnNlcnZlclsncG9ydCddKQorICAgICAgICAgICAgICAgIHNjaGVtYV91dGlscy5j cmVhdGVfc2NoZW1hKGNvbm5lY3Rpb24sIHRhYlswXSkKKyAgICAgICAgICAgICAgICB0YWJsZXNf dXRpbHMuY3JlYXRlX3RhYmxlKHNlbGYuc2VydmVyLCBzZWxmLmRiX25hbWUsIHRhYlswXSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYlsxXSkKKyAgICAgICAg ICAgICAgICBjb25uZWN0aW9uLmNsb3NlKCkKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBf OgorICAgICAgICAgICAgc2VsZi5kcm9wREIoKQorICAgICAgICAgICAgcmFpc2UKKworICAgIGRl ZiBydW5UZXN0KHNlbGYpOgorICAgICAgICBkYl9jb24gPSBkYXRhYmFzZV91dGlscy5jb25uZWN0 X2RhdGFiYXNlKHNlbGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc2VsZi5zZ2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNlbGYuc2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNlbGYuZGlkKQorCisgICAgICAgIGlmIG5vdCBkYl9jb25bImluZm8i XSA9PSAiRGF0YWJhc2UgY29ubmVjdGVkLiI6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24o IkNvdWxkIG5vdCBjb25uZWN0IHRvIGRhdGFiYXNlIHRvIGFkZCB0aGUgc2NoZW1hLiIpCisKKyAg ICAgICAgdXJsID0gJy9lcmQvdGFibGVzL3t0cmFuc19pZH0ve3NnaWR9L3tzaWR9L3tkaWR9Jy5m b3JtYXQoCisgICAgICAgICAgICB0cmFuc19pZD0xMjMzNDQsIHNnaWQ9c2VsZi5zZ2lkLCBzaWQ9 c2VsZi5zaWQsIGRpZD1zZWxmLmRpZCkKKworICAgICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVy LmdldCh1cmwpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzcG9uc2Uuc3RhdHVzX2NvZGUs IDIwMCkKKworICAgICAgICByZXNwb25zZSA9IGpzb24ubG9hZHMocmVzcG9uc2UuZGF0YS5kZWNv ZGUoJ3V0Zi04JykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi50YWJsZXMsIFtbdGFi WydzY2hlbWEnXSwgdGFiWyduYW1lJ11dCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBmb3IgdGFiIGluIHJlc3BvbnNlWydkYXRhJ11dKQorCisgICAgZGVmIHRlYXJEb3du KHNlbGYpOgorICAgICAgICBzZWxmLmRyb3BEQigpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90 b29scy9lcmQvdXRpbHMucHkgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvdXRpbHMucHkKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4xOTk5YTcxZTUKLS0tIC9kZXYvbnVsbAor KysgYi93ZWIvcGdhZG1pbi90b29scy9lcmQvdXRpbHMucHkKQEAgLTAsMCArMSw3MSBAQAorIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBD b3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisj IFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQor IworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKKworZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vw cy5zZXJ2ZXJzLmRhdGFiYXNlcy5zY2hlbWFzLnRhYmxlcy51dGlscyBcCisgICAgaW1wb3J0IEJh c2VUYWJsZVZpZXcKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5k YXRhYmFzZXMuc2NoZW1hcy51dGlscyBcCisgICAgaW1wb3J0IGdldF9zY2hlbWFzCitmcm9tIHBn YWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnNjaGVtYXMudXRp bHMgXAorICAgIGltcG9ydCBEYXRhVHlwZVJlYWRlcgorCisKK2NsYXNzIEVSRFRhYmxlVmlldyhC YXNlVGFibGVWaWV3LCBEYXRhVHlwZVJlYWRlcik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYpOgor ICAgICAgICBzdXBlcihCYXNlVGFibGVWaWV3LCBzZWxmKS5fX2luaXRfXyhjbWQ9J2VyZCcpCisK KyAgICBAQmFzZVRhYmxlVmlldy5jaGVja19wcmVjb25kaXRpb24KKyAgICBkZWYgc3FsKHNlbGYs IGNvbm5faWQ9Tm9uZSwgZGlkPU5vbmUsIHNpZD1Ob25lLCBkYXRhPXt9KToKKyAgICAgICAgcmV0 dXJuIEJhc2VUYWJsZVZpZXcuZ2V0X3NxbChzZWxmLCBkaWQsIE5vbmUsIE5vbmUsIGRhdGEsIE5v bmUpCisKKyAgICBAQmFzZVRhYmxlVmlldy5jaGVja19wcmVjb25kaXRpb24KKyAgICBkZWYgZ2V0 X3R5cGVzKHNlbGYsIGNvbm5faWQ9Tm9uZSwgZGlkPU5vbmUsIHNpZD1Ob25lKToKKyAgICAgICAg Y29uZGl0aW9uID0gc2VsZi5nZXRfdHlwZXNfY29uZGl0aW9uX3NxbChGYWxzZSkKKyAgICAgICAg cmV0dXJuIERhdGFUeXBlUmVhZGVyLmdldF90eXBlcyhzZWxmLCBzZWxmLmNvbm4sIGNvbmRpdGlv biwgVHJ1ZSkKKworICAgIEBCYXNlVGFibGVWaWV3LmNoZWNrX3ByZWNvbmRpdGlvbgorICAgIGRl ZiBmZXRjaF9hbGxfdGFibGVzKHNlbGYsIGNvbm5faWQ9Tm9uZSwgZGlkPU5vbmUsIHNpZD1Ob25l KToKKyAgICAgICAgc3RhdHVzLCBzY2hlbWFzID0gZ2V0X3NjaGVtYXMoc2VsZi5jb25uLCBzaG93 X3N5c3RlbV9vYmplY3RzPUZhbHNlKQorICAgICAgICBpZiBub3Qgc3RhdHVzOgorICAgICAgICAg ICAgcmV0dXJuIHN0YXR1cywgc2NoZW1hcworCisgICAgICAgIGFsbF90YWJsZXMgPSBbXQorICAg ICAgICBmb3Igcm93IGluIHNjaGVtYXNbJ3Jvd3MnXToKKyAgICAgICAgICAgIHN0YXR1cywgcmVz ID0gXAorICAgICAgICAgICAgICAgIEJhc2VUYWJsZVZpZXcuZmV0Y2hfdGFibGVzKHNlbGYsIHNp ZCwgZGlkLCByb3dbJ29pZCddKQorICAgICAgICAgICAgaWYgbm90IHN0YXR1czoKKyAgICAgICAg ICAgICAgICByZXR1cm4gc3RhdHVzLCByZXMKKworICAgICAgICAgICAgYWxsX3RhYmxlcy5leHRl bmQocmVzLnZhbHVlcygpKQorCisgICAgICAgIHJldHVybiBUcnVlLCBhbGxfdGFibGVzCisKKwor Y2xhc3MgRVJESGVscGVyOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjb25uX2lkLCBzaWQsIGRp ZCk6CisgICAgICAgIHNlbGYuY29ubl9pZCA9IGNvbm5faWQKKyAgICAgICAgc2VsZi5kaWQgPSBk aWQKKyAgICAgICAgc2VsZi5zaWQgPSBzaWQKKyAgICAgICAgc2VsZi50YWJsZV92aWV3ID0gRVJE VGFibGVWaWV3KCkKKyAgICAgICAgc2VsZi5saW5rX3ZpZXcgPSBOb25lCisKKyAgICBkZWYgZ2V0 X3R5cGVzKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi50YWJsZV92aWV3LmdldF90eXBlcygK KyAgICAgICAgICAgIGNvbm5faWQ9c2VsZi5jb25uX2lkLCBkaWQ9c2VsZi5kaWQsIHNpZD1zZWxm LnNpZCkKKworICAgIGRlZiBnZXRfdGFibGVfc3FsKHNlbGYsIGRhdGEpOgorICAgICAgICBTUUws IG5hbWUgPSBzZWxmLnRhYmxlX3ZpZXcuc3FsKAorICAgICAgICAgICAgY29ubl9pZD1zZWxmLmNv bm5faWQsIGRpZD1zZWxmLmRpZCwgc2lkPXNlbGYuc2lkLAorICAgICAgICAgICAgZGF0YT1kYXRh KQorICAgICAgICByZXR1cm4gU1FMCisKKyAgICBkZWYgZ2V0X2FsbF90YWJsZXMoc2VsZik6Cisg ICAgICAgIHN0YXR1cywgcmVzID0gc2VsZi50YWJsZV92aWV3LmZldGNoX2FsbF90YWJsZXMoCisg ICAgICAgICAgICBjb25uX2lkPXNlbGYuY29ubl9pZCwgZGlkPXNlbGYuZGlkLCBzaWQ9c2VsZi5z aWQpCisKKyAgICAgICAgcmV0dXJuIHN0YXR1cywgcmVzCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1p bi90b29scy9zcWxlZGl0b3Ivc3RhdGljL2pzL3NxbGVkaXRvci5qcyBiL3dlYi9wZ2FkbWluL3Rv b2xzL3NxbGVkaXRvci9zdGF0aWMvanMvc3FsZWRpdG9yLmpzCmluZGV4IGFiZDMzYTQ3Yi4uNWQ3 NGZkNTQ2IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3Ivc3RhdGljL2pz L3NxbGVkaXRvci5qcworKysgYi93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3Ivc3RhdGljL2pz L3NxbGVkaXRvci5qcwpAQCAtMjY1MSw2ICsyNjUxLDExIEBAIGRlZmluZSgndG9vbHMucXVlcnl0 b29sJywgWwogICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICB9KTsKKyAgICAgICAg ICB9IGVsc2UgaWYodXJsX3BhcmFtcy5zcWxfaWQpIHsKKyAgICAgICAgICAgIGxldCBzcWxWYWx1 ZSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0odXJsX3BhcmFtcy5zcWxfaWQpOworICAgICAgICAg ICAgaWYoc3FsVmFsdWUpIHsKKyAgICAgICAgICAgICAgc2VsZi5ncmlkVmlldy5xdWVyeV90b29s X29iai5zZXRWYWx1ZShzcWxWYWx1ZSk7CisgICAgICAgICAgICB9CiAgICAgICAgICAgfQogICAg ICAgICB9CiAgICAgICAgIGVsc2UgewpAQCAtMjY2OCw3ICsyNjczLDcgQEAgZGVmaW5lKCd0b29s cy5xdWVyeXRvb2wnLCBbCiAgICAgICB9LAogCiAgICAgICBzZXRfdmFsdWVfdG9fZWRpdG9yOiBm dW5jdGlvbihxdWVyeSkgewotICAgICAgICBpZiAodGhpcy5ncmlkVmlldyAmJiB0aGlzLmdyaWRW aWV3LnF1ZXJ5X3Rvb2xfb2JqICYmICFfLmlzVW5kZWZpbmVkKHF1ZXJ5KSkgeworICAgICAgICBp ZiAodGhpcy5ncmlkVmlldyAmJiB0aGlzLmdyaWRWaWV3LnF1ZXJ5X3Rvb2xfb2JqICYmICFfLmlz VW5kZWZpbmVkKHF1ZXJ5KSAmJiBxdWVyeSAhPSAnJykgewogICAgICAgICAgIHRoaXMuZ3JpZFZp ZXcucXVlcnlfdG9vbF9vYmouc2V0VmFsdWUocXVlcnkpOwogICAgICAgICB9CiAgICAgICB9LApk aWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdXRpbHMvY3NyZi5weSBiL3dlYi9wZ2FkbWluL3V0aWxz L2NzcmYucHkKaW5kZXggNDM0ZTY1M2E3Li4xZTZhZWY3ZDggMTAwNjQ0Ci0tLSBhL3dlYi9wZ2Fk bWluL3V0aWxzL2NzcmYucHkKKysrIGIvd2ViL3BnYWRtaW4vdXRpbHMvY3NyZi5weQpAQCAtMzYs NyArMzYsOCBAQCBjbGFzcyBfUEdDU1JGUHJvdGVjdChDU1JGUHJvdGVjdCk6CiAgICAgICAgICAg ICAncGdhZG1pbi50b29scy5kZWJ1Z2dlci5kaXJlY3RfbmV3JywKICAgICAgICAgICAgICdwZ2Fk bWluLnRvb2xzLnNjaGVtYV9kaWZmLnBhbmVsJywKICAgICAgICAgICAgICdwZ2FkbWluLnRvb2xz LnNjaGVtYV9kaWZmLmRkbF9jb21wYXJlJywKLSAgICAgICAgICAgICdwZ2FkbWluLmF1dGhlbnRp Y2F0ZS5sb2dpbicKKyAgICAgICAgICAgICdwZ2FkbWluLmF1dGhlbnRpY2F0ZS5sb2dpbicsCisg ICAgICAgICAgICAncGdhZG1pbi50b29scy5lcmQucGFuZWwnLAogICAgICAgICBdCiAKICAgICAg ICAgZm9yIGV4ZW1wdCBpbiBleGVtcHRfdmlld3M6CmRpZmYgLS1naXQgYS93ZWIvcmVncmVzc2lv bi9qYXZhc2NyaXB0L2VyZC9lcmRfY29yZV9zcGVjLmpzIGIvd2ViL3JlZ3Jlc3Npb24vamF2YXNj cmlwdC9lcmQvZXJkX2NvcmVfc3BlYy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAuLmM0ODhmZmRmMgotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9yZWdyZXNzaW9uL2phdmFz Y3JpcHQvZXJkL2VyZF9jb3JlX3NwZWMuanMKQEAgLTAsMCArMSwzODIgQEAKKy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisv LyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisvLworLy8gQ29weXJpZ2h0IChDKSAyMDEz IC0gMjAyMCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorLy8gVGhpcyBzb2Z0d2FyZSBp cyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisvLworLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KK2ltcG9y dCBFUkRDb3JlIGZyb20gJ3BnYWRtaW4udG9vbHMuZXJkL2VyZF90b29sL0VSRENvcmUnOworaW1w b3J0ICogYXMgY3JlYXRlRW5naW5lTGliIGZyb20gJ0Bwcm9qZWN0c3Rvcm0vcmVhY3QtZGlhZ3Jh bXMnOworaW1wb3J0IFRFU1RfVEFCTEVTX0RBVEEgZnJvbSAnLi90ZXN0X3RhYmxlcyc7CisKK2Rl c2NyaWJlKCdFUkRDb3JlJywgKCk9PnsKKyAgbGV0IGVsZUZhY3RvcnkgPSBqYXNtaW5lLmNyZWF0 ZVNweU9iaignbm9kZUZhY3RvcmllcycsIHsKKyAgICAncmVnaXN0ZXJGYWN0b3J5JzogbnVsbCwK KyAgICAnZ2V0RmFjdG9yeSc6IGphc21pbmUuY3JlYXRlU3B5T2JqKCdnZXRGYWN0b3J5JywgWydn ZW5lcmF0ZU1vZGVsJywgJ2NhbGN1bGF0ZVJvdXRpbmdNYXRyaXgnXSksCisgIH0pOworICBsZXQg ZXJkRW5naW5lID0gamFzbWluZS5jcmVhdGVTcHlPYmooJ2VuZ2luZScsIHsKKyAgICAnZ2V0Tm9k ZUZhY3Rvcmllcyc6IGVsZUZhY3RvcnksCisgICAgJ2dldExpbmtGYWN0b3JpZXMnOiBlbGVGYWN0 b3J5LAorICAgICdnZXRQb3J0RmFjdG9yaWVzJzogZWxlRmFjdG9yeSwKKyAgICAnZ2V0QWN0aW9u RXZlbnRCdXMnOiBqYXNtaW5lLmNyZWF0ZVNweU9iaignYWN0aW9uQnVzJywgWydmaXJlQWN0aW9u JywgJ2RlcmVnaXN0ZXJBY3Rpb24nLCAncmVnaXN0ZXJBY3Rpb24nXSksCisgICAgJ3NldE1vZGVs JzogbnVsbCwKKyAgICAnZ2V0TW9kZWwnOiBqYXNtaW5lLmNyZWF0ZVNweU9iaignbW9kZWxPYmon LCB7CisgICAgICAnYWRkTm9kZSc6IG51bGwsCisgICAgICAnY2xlYXJTZWxlY3Rpb24nOiBudWxs LAorICAgICAgJ2dldE5vZGVzRGljdCc6IG51bGwsCisgICAgICAnZ2V0TGlua3MnOiBudWxsLAor ICAgICAgJ3NlcmlhbGl6ZSc6ICgpPT4oeworICAgICAgICAnZGF0YSc6ICdzZXJpYWxpemVkJywK KyAgICAgIH0pLAorICAgICAgJ2FkZExpbmsnOiBudWxsLAorICAgICAgJ2dldE5vZGVzJzogbnVs bCwKKyAgICAgICdzZXRab29tTGV2ZWwnOiBudWxsLAorICAgICAgJ2dldFpvb21MZXZlbCc6IG51 bGwsCisgICAgICAnZmlyZUV2ZW50JzogbnVsbCwKKyAgICAgICdyZWdpc3Rlckxpc3RlbmVyJzog bnVsbCwKKyAgICB9KSwKKyAgICAncmVwYWludENhbnZhcyc6IG51bGwsCisgICAgJ3pvb21Ub0Zp dCc6IG51bGwsCisgICAgJ2ZpcmVFdmVudCc6IG51bGwsCisgIH0pOworCisgIGJlZm9yZUFsbCgo KT0+eworICAgIHNweU9uKGNyZWF0ZUVuZ2luZUxpYiwgJ2RlZmF1bHQnKS5hbmQucmV0dXJuVmFs dWUoZXJkRW5naW5lKTsKKyAgfSk7CisKKyAgaXQoJ2luaXRpYWxpemF0aW9uJywgKCk9PnsKKyAg ICBzcHlPbihFUkRDb3JlLnByb3RvdHlwZSwgJ2luaXRpYWxpemVFbmdpbmUnKS5hbmQuY2FsbFRo cm91Z2goKTsKKyAgICBzcHlPbihFUkRDb3JlLnByb3RvdHlwZSwgJ2luaXRpYWxpemVNb2RlbCcp LmFuZC5jYWxsVGhyb3VnaCgpOworICAgIHNweU9uKEVSRENvcmUucHJvdG90eXBlLCAnY29tcHV0 ZVRhYmxlQ291bnRlcicpLmFuZC5jYWxsVGhyb3VnaCgpOworICAgIGxldCBlcmRDb3JlT2JqID0g bmV3IEVSRENvcmUoKTsKKyAgICBleHBlY3QoZXJkQ29yZU9iai5pbml0aWFsaXplRW5naW5lKS50 b0hhdmVCZWVuQ2FsbGVkKCk7CisgICAgZXhwZWN0KGVyZENvcmVPYmouaW5pdGlhbGl6ZU1vZGVs KS50b0hhdmVCZWVuQ2FsbGVkKCk7CisgICAgZXhwZWN0KGVyZENvcmVPYmouY29tcHV0ZVRhYmxl Q291bnRlcikudG9IYXZlQmVlbkNhbGxlZCgpOworICB9KTsKKworICBkZXNjcmliZSgnZnVuY3Rp b25zJywgKCk9PnsKKyAgICBsZXQgZXJkQ29yZU9iajsKKworICAgIGJlZm9yZUFsbCgoKT0+ewor ICAgICAgZXJkQ29yZU9iaiA9IG5ldyBFUkRDb3JlKCk7CisgICAgfSk7CisKKyAgICBkZXNjcmli ZSgnY2FjaGUgY2hlY2snLCAoKT0+eworICAgICAgaXQoJ2ZvciBzaW5nbGUgdmFsdWUnLCAoKT0+ eworICAgICAgICBlcmRDb3JlT2JqLnNldENhY2hlKCdrZXkxJywgJ3ZhbHVlMScpOworICAgICAg ICBleHBlY3QoZXJkQ29yZU9iai5nZXRDYWNoZSgna2V5MScpKS50b0VxdWFsKCd2YWx1ZTEnKTsK KyAgICAgIH0pOworCisgICAgICBpdCgnZm9yIG11bHRpcGxlIHZhbHVlJywgKCk9PnsKKyAgICAg ICAgZXJkQ29yZU9iai5zZXRDYWNoZSh7J2tleTEnOiAndmFsdWVtMScsICdrZXkyJzogJ3ZhbHVl bTInfSk7CisgICAgICAgIGV4cGVjdChlcmRDb3JlT2JqLmdldENhY2hlKCdrZXkxJykpLnRvRXF1 YWwoJ3ZhbHVlbTEnKTsKKyAgICAgICAgZXhwZWN0KGVyZENvcmVPYmouZ2V0Q2FjaGUoJ2tleTIn KSkudG9FcXVhbCgndmFsdWVtMicpOworICAgICAgfSk7CisgICAgfSk7CisKKyAgICBpdCgncmVn aXN0ZXJNb2RlbEV2ZW50JywgKCk9PnsKKyAgICAgIGxldCBmbiA9ICgpPT57fTsKKyAgICAgIGVy ZENvcmVPYmoucmVnaXN0ZXJNb2RlbEV2ZW50KCdzb21lRXZlbnQnLCBmbik7CisgICAgICBleHBl Y3QoZXJkQ29yZU9iai5nZXRNb2RlbCgpLnJlZ2lzdGVyTGlzdGVuZXIpLnRvSGF2ZUJlZW5DYWxs ZWRXaXRoKHsKKyAgICAgICAgJ3NvbWVFdmVudCc6IGZuLAorICAgICAgfSk7CisgICAgfSk7CisK KyAgICBpdCgnZ2V0TmV4dFRhYmxlTmFtZScsICgpPT57CisgICAgICBleHBlY3QoZXJkQ29yZU9i ai5nZXROZXh0VGFibGVOYW1lKCkpLnRvRXF1YWwoJ25ld3RhYmxlMScpOworICAgICAgZXhwZWN0 KGVyZENvcmVPYmouZ2V0TmV4dFRhYmxlTmFtZSgpKS50b0VxdWFsKCduZXd0YWJsZTInKTsKKyAg ICB9KTsKKworICAgIGl0KCdnZXRFbmdpbmUnLCAoKT0+eworICAgICAgZXhwZWN0KGVyZENvcmVP YmouZ2V0RW5naW5lKCkpLnRvQmUoZXJkRW5naW5lKTsKKyAgICB9KTsKKworICAgIGl0KCdnZXRO ZXdOb2RlJywgKCk9PnsKKyAgICAgIGxldCBkYXRhID0ge25hbWU6ICd0YWJsZTEnfTsKKyAgICAg IGVyZENvcmVPYmouZ2V0TmV3Tm9kZShkYXRhKTsKKworICAgICAgZXhwZWN0KGVyZEVuZ2luZS5n ZXROb2RlRmFjdG9yaWVzKCkuZ2V0RmFjdG9yeSgpLmdlbmVyYXRlTW9kZWwpLnRvSGF2ZUJlZW5D YWxsZWRXaXRoKHsKKyAgICAgICAgaW5pdGlhbENvbmZpZzogeworICAgICAgICAgIG90aGVySW5m bzogeworICAgICAgICAgICAgZGF0YTpkYXRhLAorICAgICAgICAgIH0sCisgICAgICAgIH0sCisg ICAgICB9KTsKKyAgICB9KTsKKworICAgIGl0KCdnZXROZXdMaW5rJywgKCk9PnsKKyAgICAgIGxl dCBkYXRhID0ge25hbWU6ICdsaW5rMSd9OworICAgICAgZXJkQ29yZU9iai5nZXROZXdMaW5rKCds aW5rdHlwZScsIGRhdGEpOworCisgICAgICBleHBlY3QoZXJkRW5naW5lLmdldExpbmtGYWN0b3Jp ZXMoKS5nZXRGYWN0b3J5KS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgnbGlua3R5cGUnKTsKKyAgICAg IGV4cGVjdChlcmRFbmdpbmUuZ2V0TGlua0ZhY3RvcmllcygpLmdldEZhY3RvcnkoKS5nZW5lcmF0 ZU1vZGVsKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7CisgICAgICAgIGluaXRpYWxDb25maWc6IHsK KyAgICAgICAgICBkYXRhOiBkYXRhLAorICAgICAgICB9LAorICAgICAgfSk7CisgICAgfSk7CisK KyAgICBpdCgnZ2V0TmV3UG9ydCcsICgpPT57CisgICAgICBsZXQgZGF0YSA9IHtuYW1lOiAnbGlu azEnfTsKKyAgICAgIGxldCBvcHRpb25zID0ge29wdDE6ICd2YWwxJ307CisgICAgICBlcmRDb3Jl T2JqLmdldE5ld1BvcnQoJ3BvcnR0eXBlJywgZGF0YSwgb3B0aW9ucyk7CisKKyAgICAgIGV4cGVj dChlcmRFbmdpbmUuZ2V0UG9ydEZhY3RvcmllcygpLmdldEZhY3RvcnkpLnRvSGF2ZUJlZW5DYWxs ZWRXaXRoKCdwb3J0dHlwZScpOworICAgICAgZXhwZWN0KGVyZEVuZ2luZS5nZXRQb3J0RmFjdG9y aWVzKCkuZ2V0RmFjdG9yeSgpLmdlbmVyYXRlTW9kZWwpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHsK KyAgICAgICAgaW5pdGlhbENvbmZpZzogeworICAgICAgICAgIGRhdGE6ZGF0YSwKKyAgICAgICAg ICBvcHRpb25zOm9wdGlvbnMsCisgICAgICAgIH0sCisgICAgICB9KTsKKyAgICB9KTsKKworICAg IGl0KCdhZGROb2RlJywgKCk9PnsKKyAgICAgIGxldCBuZXdOb2RlID0gamFzbWluZS5jcmVhdGVT cHlPYmooJ25ld05vZGUnLCBbJ3NldFBvc2l0aW9uJ10pOworICAgICAgc3B5T24oZXJkQ29yZU9i aiwgJ2dldE5ld05vZGUnKS5hbmQucmV0dXJuVmFsdWUobmV3Tm9kZSk7CisgICAgICBzcHlPbihl cmRDb3JlT2JqLCAnY2xlYXJTZWxlY3Rpb24nKTsKKworICAgICAgbGV0IGRhdGEgPSB7bmFtZTog J2xpbmsxJ307CisKKyAgICAgIC8qIFdpdGhvdXQgcG9zaXRpb24gKi8KKyAgICAgIGVyZENvcmVP YmouYWRkTm9kZShkYXRhKTsKKyAgICAgIGV4cGVjdChlcmRDb3JlT2JqLmdldE5ld05vZGUpLnRv SGF2ZUJlZW5DYWxsZWRXaXRoKGRhdGEpOworICAgICAgZXhwZWN0KGVyZEVuZ2luZS5nZXRNb2Rl bCgpLmFkZE5vZGUpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKG5ld05vZGUpOworICAgICAgZXhwZWN0 KGVyZENvcmVPYmouY2xlYXJTZWxlY3Rpb24pLnRvSGF2ZUJlZW5DYWxsZWQoKTsKKworICAgICAg LyogV2l0aCBwb3NpdGlvbiAqLworICAgICAgZXJkQ29yZU9iai5hZGROb2RlKGRhdGEsIFsxMDgs IDEwOF0pOworICAgICAgZXhwZWN0KGVyZENvcmVPYmouZ2V0TmV3Tm9kZSgpLnNldFBvc2l0aW9u KS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgxMDgsIDEwOCk7CisgICAgfSk7CisKKworICAgIGl0KCdh ZGRMaW5rJywgKCk9PnsKKyAgICAgIGxldCBub2Rlc0RpY3QgPSB7CisgICAgICAgICdpZDEnOiB7 CisgICAgICAgICAgc2VyaWFsaXplRGF0YTogZnVuY3Rpb24oKXsgcmV0dXJuIHsKKyAgICAgICAg ICAgICduYW1lJzogJ3RhYmxlMScsCisgICAgICAgICAgfTt9LAorICAgICAgICAgIGdldFBvcnRO YW1lOiBmdW5jdGlvbihhdHRudW0pIHsKKyAgICAgICAgICAgIHJldHVybiBgcG9ydC0ke2F0dG51 bX1gOworICAgICAgICAgIH0sCisgICAgICAgICAgZ2V0UG9ydDogZnVuY3Rpb24oKSB7CisgICAg ICAgICAgICByZXR1cm4gbnVsbDsKKyAgICAgICAgICB9LAorICAgICAgICAgIGFkZFBvcnQ6IGph c21pbmUuY3JlYXRlU3B5KCdhZGRQb3J0JykuYW5kLmNhbGxGYWtlKChvYmopPT5vYmopLAorICAg ICAgICB9LAorICAgICAgICAnaWQyJzogeworICAgICAgICAgIHNlcmlhbGl6ZURhdGE6IGZ1bmN0 aW9uKCl7IHJldHVybiB7CisgICAgICAgICAgICAnbmFtZSc6ICd0YWJsZTInLAorICAgICAgICAg IH07fSwKKyAgICAgICAgICBnZXRQb3J0TmFtZTogZnVuY3Rpb24oYXR0bnVtKSB7CisgICAgICAg ICAgICByZXR1cm4gYHBvcnQtJHthdHRudW19YDsKKyAgICAgICAgICB9LAorICAgICAgICAgIGdl dFBvcnQ6IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgcmV0dXJuIG51bGw7CisgICAgICAgICAg fSwKKyAgICAgICAgICBhZGRQb3J0OiBqYXNtaW5lLmNyZWF0ZVNweSgnYWRkUG9ydCcpLmFuZC5j YWxsRmFrZSgob2JqKT0+b2JqKSwKKyAgICAgICAgfSwKKyAgICAgIH07CisgICAgICBsZXQgbGlu ayA9IGphc21pbmUuY3JlYXRlU3B5T2JqKCdsaW5rJywgWydzZXRTb3VyY2VQb3J0JywgJ3NldFRh cmdldFBvcnQnXSk7CisgICAgICBzcHlPbihlcmRFbmdpbmUuZ2V0TW9kZWwoKSwgJ2dldE5vZGVz RGljdCcpLmFuZC5yZXR1cm5WYWx1ZShub2Rlc0RpY3QpOworICAgICAgc3B5T24oZXJkQ29yZU9i aiwgJ2dldE5ld0xpbmsnKS5hbmQuY2FsbEZha2UoZnVuY3Rpb24oKSB7CisgICAgICAgIHJldHVy biBsaW5rOworICAgICAgfSk7CisgICAgICBzcHlPbihlcmRDb3JlT2JqLCAnZ2V0TmV3UG9ydCcp LmFuZC5jYWxsRmFrZShmdW5jdGlvbih0eXBlLCBpbml0RGF0YSwgb3B0aW9ucykgeworICAgICAg ICByZXR1cm4geworICAgICAgICAgIG5hbWU6IG9wdGlvbnMubmFtZSwKKyAgICAgICAgfTsKKyAg ICAgIH0pOworCisgICAgICBlcmRDb3JlT2JqLmFkZExpbmsoeworICAgICAgICAncmVmZXJlbmNl ZF9jb2x1bW5fYXR0bnVtJzogMSwKKyAgICAgICAgJ3JlZmVyZW5jZWRfdGFibGVfdWlkJzogJ2lk MScsCisgICAgICAgICdsb2NhbF9jb2x1bW5fYXR0bnVtJzogMywKKyAgICAgICAgJ2xvY2FsX3Rh YmxlX3VpZCc6ICdpZDInLAorICAgICAgfSwgJ29uZXRvbWFueScpOworCisgICAgICBleHBlY3Qo bm9kZXNEaWN0WydpZDEnXS5hZGRQb3J0KS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7bmFtZTogJ3Bv cnQtMSd9KTsKKyAgICAgIGV4cGVjdChub2Rlc0RpY3RbJ2lkMiddLmFkZFBvcnQpLnRvSGF2ZUJl ZW5DYWxsZWRXaXRoKHtuYW1lOiAncG9ydC0zJ30pOworICAgICAgZXhwZWN0KGxpbmsuc2V0U291 cmNlUG9ydCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoe25hbWU6ICdwb3J0LTEnfSk7CisgICAgICBl eHBlY3QobGluay5zZXRUYXJnZXRQb3J0KS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7bmFtZTogJ3Bv cnQtMyd9KTsKKworICAgIH0pOworCisgICAgaXQoJ3NlcmlhbGl6ZScsICgpPT57CisgICAgICBs ZXQgcmV0VmFsID0gZXJkQ29yZU9iai5zZXJpYWxpemUoKTsKKyAgICAgIGV4cGVjdChyZXRWYWwu aGFzT3duUHJvcGVydHkoJ3ZlcnNpb24nKSkudG9CZVRydXRoeSgpOworICAgICAgZXhwZWN0KHJl dFZhbC5oYXNPd25Qcm9wZXJ0eSgnZGF0YScpKS50b0JlVHJ1dGh5KCk7CisgICAgICBleHBlY3Qo ZXJkRW5naW5lLmdldE1vZGVsKCkuc2VyaWFsaXplKS50b0hhdmVCZWVuQ2FsbGVkKCk7CisgICAg fSk7CisKKyAgICBpdCgnZGVzZXJpYWxpemUnLCAoKT0+eworICAgICAgbGV0IGRlc2VyaWFsVmFs dWUgPSB7CisgICAgICAgICd2ZXJzaW9uJzogMTIzLAorICAgICAgICAnZGF0YSc6IHsKKyAgICAg ICAgICAna2V5JzogJ3NlcmlhbGl6ZWQnLAorICAgICAgICB9LAorICAgICAgfTsKKyAgICAgIHNw eU9uKGVyZENvcmVPYmosICdpbml0aWFsaXplTW9kZWwnKTsKKyAgICAgIGVyZENvcmVPYmouZGVz ZXJpYWxpemUoZGVzZXJpYWxWYWx1ZSk7CisgICAgICBleHBlY3QoZXJkQ29yZU9iai5pbml0aWFs aXplTW9kZWwpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGRlc2VyaWFsVmFsdWUuZGF0YSk7CisgICAg fSk7CisKKyAgICBpdCgnc2VyaWFsaXplRGF0YScsICgpPT57CisgICAgICBzcHlPbihlcmRFbmdp bmUuZ2V0TW9kZWwoKSwgJ2dldE5vZGVzRGljdCcpLmFuZC5yZXR1cm5WYWx1ZSh7CisgICAgICAg ICdpZDEnOiB7CisgICAgICAgICAgc2VyaWFsaXplRGF0YTogZnVuY3Rpb24oKXsgcmV0dXJuIHsK KyAgICAgICAgICAgICduYW1lJzogJ3RhYmxlMScsCisgICAgICAgICAgfTt9LAorICAgICAgICB9 LAorICAgICAgICAnaWQyJzogeworICAgICAgICAgIHNlcmlhbGl6ZURhdGE6IGZ1bmN0aW9uKCl7 IHJldHVybiB7CisgICAgICAgICAgICAnbmFtZSc6ICd0YWJsZTInLAorICAgICAgICAgIH07fSwK KyAgICAgICAgfSwKKyAgICAgIH0pOworICAgICAgc3B5T24oZXJkRW5naW5lLmdldE1vZGVsKCks ICdnZXRMaW5rcycpLmFuZC5yZXR1cm5WYWx1ZShbCisgICAgICAgIHsKKyAgICAgICAgICBzZXJp YWxpemVEYXRhOiAgZnVuY3Rpb24oKXsgcmV0dXJuIHsKKyAgICAgICAgICAgICduYW1lJzogJ2xp bmsxJywKKyAgICAgICAgICB9O30sCisgICAgICAgICAgZ2V0SUQ6ICBmdW5jdGlvbigpeyByZXR1 cm4gJ2xpZDEnOyB9LAorICAgICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgc2VyaWFsaXpl RGF0YTogIGZ1bmN0aW9uKCl7IHJldHVybiB7CisgICAgICAgICAgICAnbmFtZSc6ICdsaW5rMics CisgICAgICAgICAgfTt9LAorICAgICAgICAgIGdldElEOiAgZnVuY3Rpb24oKXsgcmV0dXJuICds aWQyJzsgfSwKKyAgICAgICAgfSwKKyAgICAgIF0pOworICAgICAgZXhwZWN0KEpTT04uc3RyaW5n aWZ5KGVyZENvcmVPYmouc2VyaWFsaXplRGF0YSgpKSkudG9FcXVhbChKU09OLnN0cmluZ2lmeSh7 CisgICAgICAgIG5vZGVzOiB7CisgICAgICAgICAgJ2lkMSc6IHsnbmFtZSc6ICd0YWJsZTEnfSwK KyAgICAgICAgICAnaWQyJzogeyduYW1lJzogJ3RhYmxlMid9LAorICAgICAgICB9LAorICAgICAg ICBsaW5rczogeworICAgICAgICAgICdsaWQxJzogeyduYW1lJzogJ2xpbmsxJ30sCisgICAgICAg ICAgJ2xpZDInOiB7J25hbWUnOiAnbGluazInfSwKKyAgICAgICAgfSwKKyAgICAgIH0pKTsKKyAg ICB9KTsKKworICAgIGl0KCdkZXNlcmlhbGl6ZURhdGEnLCAoZG9uZSk9PnsKKyAgICAgIGxldCBu b2Rlc0RpY3QgPSB7fTsKKyAgICAgIFRFU1RfVEFCTEVTX0RBVEEuZm9yRWFjaCgodGFibGUpPT57 CisgICAgICAgIG5vZGVzRGljdFtgaWQtJHt0YWJsZS5uYW1lfWBdID0geworICAgICAgICAgIGdl dENvbHVtbnM6IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgcmV0dXJuIHRhYmxlLmNvbHVtbnM7 CisgICAgICAgICAgfSwKKyAgICAgICAgICBnZXRQb3J0TmFtZTogZnVuY3Rpb24oYXR0bnVtKSB7 CisgICAgICAgICAgICByZXR1cm4gYHBvcnQtJHthdHRudW19YDsKKyAgICAgICAgICB9LAorICAg ICAgICAgIGdldFBvcnQ6IGZ1bmN0aW9uKG5hbWUpIHsKKyAgICAgICAgICAgIHJldHVybiB7J25h bWUnOiBuYW1lfTsKKyAgICAgICAgICB9LAorICAgICAgICAgIGFkZFBvcnQ6IGZ1bmN0aW9uKCkg eworCisgICAgICAgICAgfSwKKyAgICAgICAgfTsKKyAgICAgIH0pOworICAgICAgc3B5T24oZXJk RW5naW5lLmdldE1vZGVsKCksICdnZXROb2Rlc0RpY3QnKS5hbmQucmV0dXJuVmFsdWUobm9kZXNE aWN0KTsKKworICAgICAgc3B5T24oZXJkQ29yZU9iaiwgJ2dldE5ld0xpbmsnKS5hbmQuY2FsbEZh a2UoZnVuY3Rpb24oKSB7CisgICAgICAgIHJldHVybiB7CisgICAgICAgICAgc2V0U291cmNlUG9y dDogZnVuY3Rpb24oKSB7fSwKKyAgICAgICAgICBzZXRUYXJnZXRQb3J0OiBmdW5jdGlvbigpIHt9 LAorICAgICAgICB9OworICAgICAgfSk7CisgICAgICBzcHlPbihlcmRDb3JlT2JqLCAnZ2V0TmV3 UG9ydCcpLmFuZC5yZXR1cm5WYWx1ZSh7aWQ6ICdpZCd9KTsKKyAgICAgIHNweU9uKGVyZENvcmVP YmosICdhZGROb2RlJykuYW5kLmNhbGxGYWtlKGZ1bmN0aW9uKGRhdGEpIHsKKyAgICAgICAgcmV0 dXJuIHsKKyAgICAgICAgICBnZXRJRDogZnVuY3Rpb24oKSB7CisgICAgICAgICAgICByZXR1cm4g YGlkLSR7ZGF0YS5uYW1lfWA7CisgICAgICAgICAgfSwKKyAgICAgICAgfTsKKyAgICAgIH0pOwor ICAgICAgc3B5T24oZXJkQ29yZU9iaiwgJ2FkZExpbmsnKTsKKyAgICAgIHNweU9uKGVyZENvcmVP YmosICdkYWdyZURpc3RyaWJ1dGVOb2RlcycpOworCisgICAgICBlcmRDb3JlT2JqLmRlc2VyaWFs aXplRGF0YShURVNUX1RBQkxFU19EQVRBKTsKKyAgICAgIGV4cGVjdChlcmRDb3JlT2JqLmFkZE5v ZGUpLnRvSGF2ZUJlZW5DYWxsZWRUaW1lcyhURVNUX1RBQkxFU19EQVRBLmxlbmd0aCk7CisgICAg ICBleHBlY3QoZXJkQ29yZU9iai5hZGRMaW5rKS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMSk7CisK KyAgICAgIHNldFRpbWVvdXQoKCk9PnsKKyAgICAgICAgZXhwZWN0KGVyZENvcmVPYmouZGFncmVE aXN0cmlidXRlTm9kZXMpLnRvSGF2ZUJlZW5DYWxsZWQoKTsKKyAgICAgICAgZG9uZSgpOworICAg ICAgfSwgMTApOworICAgIH0pOworCisgICAgaXQoJ2NsZWFyU2VsZWN0aW9uJywgKCk9PnsKKyAg ICAgIGVyZENvcmVPYmouY2xlYXJTZWxlY3Rpb24oKTsKKyAgICAgIGV4cGVjdChlcmRFbmdpbmUu Z2V0TW9kZWwoKS5jbGVhclNlbGVjdGlvbikudG9IYXZlQmVlbkNhbGxlZCgpOworICAgIH0pOwor CisgICAgaXQoJ3JlcGFpbnQnLCAoKT0+eworICAgICAgZXJkQ29yZU9iai5yZXBhaW50KCk7Cisg ICAgICBleHBlY3QoZXJkRW5naW5lLnJlcGFpbnRDYW52YXMpLnRvSGF2ZUJlZW5DYWxsZWQoKTsK KyAgICB9KTsKKworICAgIGl0KCdnZXROb2Rlc0RhdGEnLCAoKT0+eworICAgICAgc3B5T24oZXJk RW5naW5lLmdldE1vZGVsKCksICdnZXROb2RlcycpLmFuZC5yZXR1cm5WYWx1ZShbCisgICAgICAg IHtnZXREYXRhOiBmdW5jdGlvbiAoKSB7cmV0dXJuIHtuYW1lOidub2RlMSd9O319LAorICAgICAg ICB7Z2V0RGF0YTogZnVuY3Rpb24gKCkge3JldHVybiB7bmFtZTonbm9kZTInfTt9fSwKKyAgICAg IF0pOworICAgICAgZXhwZWN0KEpTT04uc3RyaW5naWZ5KGVyZENvcmVPYmouZ2V0Tm9kZXNEYXRh KCkpKS50b0VxdWFsKEpTT04uc3RyaW5naWZ5KFsKKyAgICAgICAge25hbWU6J25vZGUxJ30sIHtu YW1lOidub2RlMid9LAorICAgICAgXSkpOworICAgIH0pOworCisgICAgaXQoJ2RhZ3JlRGlzdHJp YnV0ZU5vZGVzJywgKCk9PnsKKyAgICAgIHNweU9uKGVyZENvcmVPYmouZGFncmVfZW5naW5lLCAn cmVkaXN0cmlidXRlJyk7CisgICAgICBlcmRDb3JlT2JqLmRhZ3JlRGlzdHJpYnV0ZU5vZGVzKCk7 CisgICAgICBleHBlY3QoZXJkRW5naW5lLmdldExpbmtGYWN0b3JpZXMoKS5nZXRGYWN0b3J5KCku Y2FsY3VsYXRlUm91dGluZ01hdHJpeCkudG9IYXZlQmVlbkNhbGxlZCgpOworICAgICAgZXhwZWN0 KGVyZENvcmVPYmouZGFncmVfZW5naW5lLnJlZGlzdHJpYnV0ZSkudG9IYXZlQmVlbkNhbGxlZFdp dGgoZXJkRW5naW5lLmdldE1vZGVsKCkpOworICAgIH0pOworCisgICAgaXQoJ3pvb21JbicsICgp PT57CisgICAgICBzcHlPbihlcmRFbmdpbmUuZ2V0TW9kZWwoKSwgJ2dldFpvb21MZXZlbCcpLmFu ZC5yZXR1cm5WYWx1ZSgxMDApOworICAgICAgc3B5T24oZXJkQ29yZU9iaiwgJ3JlcGFpbnQnKTsK KyAgICAgIGVyZENvcmVPYmouem9vbUluKCk7CisgICAgICBleHBlY3QoZXJkRW5naW5lLmdldE1v ZGVsKCkuc2V0Wm9vbUxldmVsKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgxMjUpOworICAgICAgZXhw ZWN0KGVyZENvcmVPYmoucmVwYWludCkudG9IYXZlQmVlbkNhbGxlZCgpOworICAgIH0pOworCisg ICAgaXQoJ3pvb21PdXQnLCAoKT0+eworICAgICAgc3B5T24oZXJkRW5naW5lLmdldE1vZGVsKCks ICdnZXRab29tTGV2ZWwnKS5hbmQucmV0dXJuVmFsdWUoMTAwKTsKKyAgICAgIHNweU9uKGVyZENv cmVPYmosICdyZXBhaW50Jyk7CisgICAgICBlcmRDb3JlT2JqLnpvb21PdXQoKTsKKyAgICAgIGV4 cGVjdChlcmRFbmdpbmUuZ2V0TW9kZWwoKS5zZXRab29tTGV2ZWwpLnRvSGF2ZUJlZW5DYWxsZWRX aXRoKDc1KTsKKyAgICAgIGV4cGVjdChlcmRDb3JlT2JqLnJlcGFpbnQpLnRvSGF2ZUJlZW5DYWxs ZWQoKTsKKyAgICB9KTsKKworICAgIGl0KCd6b29tVG9GaXQnLCAoKT0+eworICAgICAgZXJkQ29y ZU9iai56b29tVG9GaXQoKTsKKyAgICAgIGV4cGVjdChlcmRFbmdpbmUuem9vbVRvRml0KS50b0hh dmVCZWVuQ2FsbGVkKCk7CisgICAgfSk7CisKKyAgICBpdCgnZmlyZUFjdGlvbicsICgpPT57Cisg ICAgICBlcmRDb3JlT2JqLmZpcmVBY3Rpb24oe2tleTogJ3h5eid9KTsKKyAgICAgIGV4cGVjdChl cmRFbmdpbmUuZ2V0QWN0aW9uRXZlbnRCdXMoKS5maXJlQWN0aW9uKS50b0hhdmVCZWVuQ2FsbGVk KCk7CisgICAgfSk7CisKKyAgICBpdCgnZmlyZUV2ZW50JywgKCk9PnsKKyAgICAgIGVyZENvcmVP YmouZmlyZUV2ZW50KHtrZXk6ICd4eXonfSwgJ3NvbWVldmVudCcsIGZhbHNlKTsKKyAgICAgIGV4 cGVjdChlcmRFbmdpbmUuZmlyZUV2ZW50KS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7a2V5OiAneHl6 J30sICdzb21lZXZlbnQnKTsKKworICAgICAgZXJkQ29yZU9iai5maXJlRXZlbnQoe2tleTogJ3h5 eid9LCAnc29tZWV2ZW50JywgdHJ1ZSk7CisgICAgICBleHBlY3QoZXJkRW5naW5lLmdldE1vZGVs KCkuZmlyZUV2ZW50KS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7a2V5OiAneHl6J30sICdzb21lZXZl bnQnKTsKKyAgICB9KTsKKworICAgIGl0KCdyZWdpc3RlcktleUFjdGlvbicsICgpPT57CisgICAg ICBlcmRDb3JlT2JqLnJlZ2lzdGVyS2V5QWN0aW9uKHtrZXk6ICd4eXonfSk7CisgICAgICBleHBl Y3QoZXJkRW5naW5lLmdldEFjdGlvbkV2ZW50QnVzKCkucmVnaXN0ZXJBY3Rpb24pLnRvSGF2ZUJl ZW5DYWxsZWRXaXRoKHtrZXk6ICd4eXonfSk7CisgICAgfSk7CisKKyAgICBpdCgnZGVyZWdpc3Rl cktleUFjdGlvbicsICgpPT57CisgICAgICBsZXQgYWN0aW9uID0ge2tleTogJ3h5eid9OworICAg ICAgZXJkQ29yZU9iai5kZXJlZ2lzdGVyS2V5QWN0aW9uKGFjdGlvbik7CisgICAgICBleHBlY3Qo ZXJkRW5naW5lLmdldEFjdGlvbkV2ZW50QnVzKCkuZGVyZWdpc3RlckFjdGlvbikudG9IYXZlQmVl bkNhbGxlZFdpdGgoe2tleTogJ3h5eid9KTsKKyAgICB9KTsKKyAgfSk7Cit9KTsKZGlmZiAtLWdp dCBhL3dlYi9yZWdyZXNzaW9uL2phdmFzY3JpcHQvZXJkL2VyZF9tb2RlbF9zcGVjLmpzIGIvd2Vi L3JlZ3Jlc3Npb24vamF2YXNjcmlwdC9lcmQvZXJkX21vZGVsX3NwZWMuanMKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5jZmRjYzA5ODMKLS0tIC9kZXYvbnVsbAorKysgYi93 ZWIvcmVncmVzc2lvbi9qYXZhc2NyaXB0L2VyZC9lcmRfbW9kZWxfc3BlYy5qcwpAQCAtMCwwICsx LDM0IEBACisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vCisvLworLy8gcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworLy8KKy8v IENvcHlyaWdodCAoQykgMjAxMyAtIDIwMjAsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0K Ky8vIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5j ZQorLy8KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vCitpbXBvcnQgRVJETW9kZWwgZnJvbSAncGdhZG1pbi50b29scy5lcmQvZXJk X3Rvb2wvRVJETW9kZWwnOworCitkZXNjcmliZSgnRVJETW9kZWwnLCAoKT0+eworICBpdCgnZ2V0 Tm9kZXNEaWN0JywgKCk9PnsKKyAgICBsZXQgbW9kZWwgPSBuZXcgRVJETW9kZWwoKTsKKworICAg IHNweU9uKG1vZGVsLCAnZ2V0Tm9kZXMnKS5hbmQucmV0dXJuVmFsdWUoWworICAgICAgeworICAg ICAgICBuYW1lOiAndGVzdDEnLAorICAgICAgICBnZXRJRDogZnVuY3Rpb24oKSB7CisgICAgICAg ICAgcmV0dXJuICdpZDEnOworICAgICAgICB9LAorICAgICAgfSwKKyAgICAgIHsKKyAgICAgICAg bmFtZTogJ3Rlc3QyJywKKyAgICAgICAgZ2V0SUQ6IGZ1bmN0aW9uKCkgeworICAgICAgICAgIHJl dHVybiAnaWQyJzsKKyAgICAgICAgfSwKKyAgICAgIH0sCisgICAgXSk7CisgICAgZXhwZWN0KEpT T04uc3RyaW5naWZ5KG1vZGVsLmdldE5vZGVzRGljdCgpKSkudG9CZShKU09OLnN0cmluZ2lmeSh7 CisgICAgICAnaWQxJzoge25hbWU6ICd0ZXN0MSd9LAorICAgICAgJ2lkMic6IHtuYW1lOiAndGVz dDInfSwKKyAgICB9KSk7CisgIH0pOworfSk7CmRpZmYgLS1naXQgYS93ZWIvcmVncmVzc2lvbi9q YXZhc2NyaXB0L2VyZC9rZXlib2FyZF9zaG9ydGN1dF9hY3Rpb25fc3BlYy5qcyBiL3dlYi9yZWdy ZXNzaW9uL2phdmFzY3JpcHQvZXJkL2tleWJvYXJkX3Nob3J0Y3V0X2FjdGlvbl9zcGVjLmpzCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMzEzNDc5NWVhCi0tLSAvZGV2L251 bGwKKysrIGIvd2ViL3JlZ3Jlc3Npb24vamF2YXNjcmlwdC9lcmQva2V5Ym9hcmRfc2hvcnRjdXRf YWN0aW9uX3NwZWMuanMKQEAgLTAsMCArMSw2MSBAQAorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vIHBnQWRtaW4gNCAt IFBvc3RncmVTUUwgVG9vbHMKKy8vCisvLyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUg cGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisvLyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVu ZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKy8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworaW1wb3J0IHtLZXlib2FyZFNo b3J0Y3V0QWN0aW9ufSBmcm9tICdwZ2FkbWluLnRvb2xzLmVyZC9lcmRfdG9vbC91aV9jb21wb25l bnRzL0JvZHlXaWRnZXQnOworCitkZXNjcmliZSgnS2V5Ym9hcmRTaG9ydGN1dEFjdGlvbicsICgp PT57CisgIGxldCBrZXlBY3Rpb24gPSBudWxsOworICBsZXQga2V5MSA9IHsKKyAgICBhbHQ6IHRy dWUsCisgICAgY29udHJvbDogdHJ1ZSwKKyAgICBzaGlmdDogZmFsc2UsCisgICAga2V5OiB7Cisg ICAgICBrZXlfY29kZTogNjUsCisgICAgfSwKKyAgfTsKKyAgbGV0IGtleTIgPSB7CisgICAgYWx0 OiBmYWxzZSwKKyAgICBjb250cm9sOiB0cnVlLAorICAgIHNoaWZ0OiBmYWxzZSwKKyAgICBrZXk6 IHsKKyAgICAgIGtleV9jb2RlOiA2NiwKKyAgICB9LAorICB9OworICBsZXQgaGFuZGxlcjEgPSBq YXNtaW5lLmNyZWF0ZVNweSgnaGFuZGxlcjEnKTsKKyAgbGV0IGhhbmRsZXIyID0gamFzbWluZS5j cmVhdGVTcHkoJ2hhbmRsZXIyJyk7CisKKyAgYmVmb3JlQWxsKCgpPT57CisgICAgc3B5T24oS2V5 Ym9hcmRTaG9ydGN1dEFjdGlvbi5wcm90b3R5cGUsICdzaG9ydGN1dEtleScpLmFuZC5jYWxsVGhy b3VnaCgpOworICAgIGtleUFjdGlvbiA9IG5ldyBLZXlib2FyZFNob3J0Y3V0QWN0aW9uKFsKKyAg ICAgIFtrZXkxLCBoYW5kbGVyMV0sCisgICAgICBba2V5MiwgaGFuZGxlcjJdLAorICAgIF0pOwor ICB9KTsKKworICBpdCgnaW5pdCcsICgpPT57CisgICAgZXhwZWN0KE9iamVjdC5rZXlzKGtleUFj dGlvbi5zaG9ydGN1dHMpLmxlbmd0aCkudG9CZSgyKTsKKyAgfSk7CisKKyAgaXQoJ3Nob3J0Y3V0 S2V5JywgKCk9PnsKKyAgICBleHBlY3Qoa2V5QWN0aW9uLnNob3J0Y3V0S2V5KHRydWUsIHRydWUs IHRydWUsIHRydWUsIDY1KSkudG9CZSgndHJ1ZTp0cnVlOnRydWU6dHJ1ZTo2NScpOworICAgIGV4 cGVjdChrZXlBY3Rpb24uc2hvcnRjdXRLZXkodHJ1ZSwgZmFsc2UsIHRydWUsIHRydWUsIDY1KSku dG9CZSgndHJ1ZTpmYWxzZTp0cnVlOnRydWU6NjUnKTsKKyAgICBleHBlY3Qoa2V5QWN0aW9uLnNo b3J0Y3V0S2V5KHRydWUsIHRydWUsIGZhbHNlLCB0cnVlLCA2NSkpLnRvQmUoJ3RydWU6dHJ1ZTpm YWxzZTp0cnVlOjY1Jyk7CisgICAgZXhwZWN0KGtleUFjdGlvbi5zaG9ydGN1dEtleSh0cnVlLCB0 cnVlLCB0cnVlLCBmYWxzZSwgNjUpKS50b0JlKCd0cnVlOnRydWU6dHJ1ZTpmYWxzZTo2NScpOwor ICAgIGV4cGVjdChrZXlBY3Rpb24uc2hvcnRjdXRLZXkoZmFsc2UsIHRydWUsIHRydWUsIHRydWUs IDY1KSkudG9CZSgnZmFsc2U6dHJ1ZTp0cnVlOnRydWU6NjUnKTsKKyAgfSk7CisKKyAgaXQoJ2Nh bGxIYW5kbGVyJywgKCk9PnsKKyAgICBsZXQga2V5RXZlbnQgPSB7YWx0S2V5OiBrZXkxLmFsdCwg Y3RybEtleToga2V5MS5jb250cm9sLCBzaGlmdEtleToga2V5MS5zaGlmdCwgbWV0YUtleTogZmFs c2UsIGtleUNvZGU6a2V5MS5rZXkua2V5X2NvZGV9OworICAgIGtleUFjdGlvbi5jYWxsSGFuZGxl cihrZXlFdmVudCk7CisgICAgZXhwZWN0KGhhbmRsZXIxKS50b0hhdmVCZWVuQ2FsbGVkKCk7CisK KyAgICBrZXlFdmVudCA9IHthbHRLZXk6IGtleTIuYWx0LCBjdHJsS2V5OiBrZXkyLmNvbnRyb2ws IHNoaWZ0S2V5OiBrZXkyLnNoaWZ0LCBtZXRhS2V5OiBmYWxzZSwga2V5Q29kZTprZXkyLmtleS5r ZXlfY29kZX07CisgICAga2V5QWN0aW9uLmNhbGxIYW5kbGVyKGtleUV2ZW50KTsKKyAgICBleHBl Y3QoaGFuZGxlcjIpLnRvSGF2ZUJlZW5DYWxsZWQoKTsKKyAgfSk7Cit9KTsKZGlmZiAtLWdpdCBh L3dlYi9yZWdyZXNzaW9uL2phdmFzY3JpcHQvZXJkL29uZXRvbWFueV9saW5rX3NwZWMuanMgYi93 ZWIvcmVncmVzc2lvbi9qYXZhc2NyaXB0L2VyZC9vbmV0b21hbnlfbGlua19zcGVjLmpzCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uYTc1OTBkYjY0Ci0tLSAvZGV2L251bGwK KysrIGIvd2ViL3JlZ3Jlc3Npb24vamF2YXNjcmlwdC9lcmQvb25ldG9tYW55X2xpbmtfc3BlYy5q cwpAQCAtMCwwICsxLDEzMyBAQAoraW1wb3J0IGphc21pbmVFbnp5bWUgZnJvbSAnamFzbWluZS1l bnp5bWUnOworaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JzsKK2ltcG9ydCB7bW91bnR9IGZyb20g J2VuenltZSc7CitpbXBvcnQgJy4uL2hlbHBlci9lbnp5bWUuaGVscGVyJzsKK2ltcG9ydCB7Cisg IFJpZ2h0QW5nbGVMaW5rTW9kZWwsCit9IGZyb20gJ0Bwcm9qZWN0c3Rvcm0vcmVhY3QtZGlhZ3Jh bXMnOworCitpbXBvcnQgT25lVG9NYW55UG9ydE1vZGVsIGZyb20gJ3BnYWRtaW4udG9vbHMuZXJk L2VyZF90b29sL3BvcnRzL09uZVRvTWFueVBvcnQnOworaW1wb3J0IHtPbmVUb01hbnlMaW5rTW9k ZWwsIE9uZVRvTWFueUxpbmtXaWRnZXQsIE9uZVRvTWFueUxpbmtGYWN0b3J5fSBmcm9tICdwZ2Fk bWluLnRvb2xzLmVyZC9lcmRfdG9vbC9saW5rcy9PbmVUb01hbnlMaW5rJzsKKworCitkZXNjcmli ZSgnRVJEIE9uZVRvTWFueUxpbmtNb2RlbCcsICgpPT57CisgIGxldCBtb2RlbE9iaiA9IG51bGw7 CisgIGJlZm9yZUFsbCgoKT0+eworICAgIHNweU9uKFJpZ2h0QW5nbGVMaW5rTW9kZWwucHJvdG90 eXBlLCAnc2VyaWFsaXplJykuYW5kLnJldHVyblZhbHVlKHsna2V5JzogJ3ZhbHVlJ30pOworICB9 KTsKKyAgYmVmb3JlRWFjaCgoKT0+eworICAgIG1vZGVsT2JqID0gbmV3IE9uZVRvTWFueUxpbmtN b2RlbCh7CisgICAgICBkYXRhOiB7CisgICAgICAgIGxvY2FsX3RhYmxlX3VpZDogJ2lkMScsCisg ICAgICAgIGxvY2FsX2NvbHVtbl9hdHRudW06IDAsCisgICAgICAgIHJlZmVyZW5jZWRfdGFibGVf dWlkOiAnaWQyJywKKyAgICAgICAgcmVmZXJlbmNlZF9jb2x1bW5fYXR0bnVtOiAxLAorICAgICAg fSwKKyAgICB9KTsKKyAgfSk7CisKKyAgaXQoJ2luaXQnLCAoKT0+eworICAgIGV4cGVjdChtb2Rl bE9iai5nZXREYXRhKCkpLnRvRXF1YWwoeworICAgICAgbG9jYWxfdGFibGVfdWlkOiAnaWQxJywK KyAgICAgIGxvY2FsX2NvbHVtbl9hdHRudW06IDAsCisgICAgICByZWZlcmVuY2VkX3RhYmxlX3Vp ZDogJ2lkMicsCisgICAgICByZWZlcmVuY2VkX2NvbHVtbl9hdHRudW06IDEsCisgICAgfSk7Cisg IH0pOworCisgIGl0KCdzZXREYXRhJywgKCk9PnsKKyAgICBtb2RlbE9iai5zZXREYXRhKHsKKyAg ICAgIGxvY2FsX2NvbHVtbl9hdHRudW06IDIsCisgICAgICByZWZlcmVuY2VkX2NvbHVtbl9hdHRu dW06IDQsCisgICAgfSk7CisgICAgZXhwZWN0KG1vZGVsT2JqLmdldERhdGEoKSkudG9FcXVhbCh7 CisgICAgICBsb2NhbF9jb2x1bW5fYXR0bnVtOiAyLAorICAgICAgcmVmZXJlbmNlZF9jb2x1bW5f YXR0bnVtOiA0LAorICAgIH0pOworICB9KTsKKworICBpdCgnc2VyaWFsaXplRGF0YScsICgpPT57 CisgICAgbGV0IG5vZGVzRGljdCA9IHsKKyAgICAgICdpZDEnOiB7CisgICAgICAgIGdldERhdGE6 IGZ1bmN0aW9uKCl7IHJldHVybiB7CisgICAgICAgICAgJ25hbWUnOiAndGFibGUxJywKKyAgICAg ICAgICAnc2NoZW1hJzogJ2VyZDEnLAorICAgICAgICAgICdjb2x1bW5zJzogWworICAgICAgICAg ICAgeyduYW1lJzogJ2NvbDExJywgYXR0bnVtOiAwfSwKKyAgICAgICAgICAgIHsnbmFtZSc6ICdj b2wxMicsIGF0dG51bTogMX0sCisgICAgICAgICAgXSwKKyAgICAgICAgfTt9LAorICAgICAgfSwK KyAgICAgICdpZDInOiB7CisgICAgICAgIGdldERhdGE6IGZ1bmN0aW9uKCl7IHJldHVybiB7Cisg ICAgICAgICAgJ25hbWUnOiAndGFibGUyJywKKyAgICAgICAgICAnc2NoZW1hJzogJ2VyZDInLAor ICAgICAgICAgICdjb2x1bW5zJzogWworICAgICAgICAgICAgeyduYW1lJzogJ2NvbDIxJywgYXR0 bnVtOiAwfSwKKyAgICAgICAgICAgIHsnbmFtZSc6ICdjb2wyMicsIGF0dG51bTogMX0sCisgICAg ICAgICAgXSwKKyAgICAgICAgfTt9LAorICAgICAgfSwKKyAgICB9OworCisgICAgZXhwZWN0KG1v ZGVsT2JqLnNlcmlhbGl6ZURhdGEobm9kZXNEaWN0KSkudG9FcXVhbCh7CisgICAgICAnc2NoZW1h JzogJ2VyZDEnLAorICAgICAgJ3RhYmxlJzogJ3RhYmxlMScsCisgICAgICAncmVtb3RlX3NjaGVt YSc6ICdlcmQyJywKKyAgICAgICdyZW1vdGVfdGFibGUnOiAndGFibGUyJywKKyAgICAgICdjb2x1 bW5zJzogW3sKKyAgICAgICAgJ2xvY2FsX2NvbHVtbic6ICdjb2wxMScsCisgICAgICAgICdyZWZl cmVuY2VkJzogJ2NvbDIyJywKKyAgICAgIH1dLAorICAgIH0pOworICB9KTsKKworICBpdCgnc2Vy aWFsaXplJywgKCk9PnsKKyAgICBsZXQgcmV0VmFsID0gbW9kZWxPYmouc2VyaWFsaXplKCk7Cisg ICAgZXhwZWN0KFJpZ2h0QW5nbGVMaW5rTW9kZWwucHJvdG90eXBlLnNlcmlhbGl6ZSkudG9IYXZl QmVlbkNhbGxlZCgpOworICAgIGV4cGVjdChyZXRWYWwpLnRvRXF1YWwoeworICAgICAga2V5OiAn dmFsdWUnLAorICAgICAgZGF0YTogeworICAgICAgICBsb2NhbF90YWJsZV91aWQ6ICdpZDEnLAor ICAgICAgICBsb2NhbF9jb2x1bW5fYXR0bnVtOiAwLAorICAgICAgICByZWZlcmVuY2VkX3RhYmxl X3VpZDogJ2lkMicsCisgICAgICAgIHJlZmVyZW5jZWRfY29sdW1uX2F0dG51bTogMSwKKyAgICAg IH0sCisgICAgfSk7CisgIH0pOworfSk7CisKK2Rlc2NyaWJlKCdFUkQgT25lVG9NYW55TGlua1dp ZGdldCcsICgpPT57CisgIGxldCBsaW5rRmFjdG9yeSA9IG5ldyBPbmVUb01hbnlMaW5rRmFjdG9y eSgpOworICBsZXQgZW5naW5lID0geworICAgIGdldEZhY3RvcnlGb3JMaW5rOiAoKT0+bGlua0Zh Y3RvcnksCisgIH07CisgIGxldCBsaW5rID0gbnVsbDsKKworICBiZWZvcmVFYWNoKCgpPT57Cisg ICAgamFzbWluZUVuenltZSgpOworCisgICAgbGluayA9IG5ldyBPbmVUb01hbnlMaW5rTW9kZWwo eworICAgICAgY29sb3I6ICcjMDAwJywKKyAgICAgIGRhdGE6IHsKKyAgICAgICAgbG9jYWxfdGFi bGVfdWlkOiAnaWQxJywKKyAgICAgICAgbG9jYWxfY29sdW1uX2F0dG51bTogMCwKKyAgICAgICAg cmVmZXJlbmNlZF90YWJsZV91aWQ6ICdpZDInLAorICAgICAgICByZWZlcmVuY2VkX2NvbHVtbl9h dHRudW06IDEsCisgICAgICB9LAorICAgIH0pOworICAgIGxpbmsuc2V0U291cmNlUG9ydChuZXcg T25lVG9NYW55UG9ydE1vZGVsKHtvcHRpb25zOiB7fX0pKTsKKyAgICBsaW5rLnNldFRhcmdldFBv cnQobmV3IE9uZVRvTWFueVBvcnRNb2RlbCh7b3B0aW9uczoge319KSk7CisgIH0pOworCisgIGl0 KCdyZW5kZXInLCAoKT0+eworICAgIGxldCBsaW5rV2lkZ2V0ID0gbW91bnQoCisgICAgICA8c3Zn PjxPbmVUb01hbnlMaW5rV2lkZ2V0IGxpbms9e2xpbmt9IGRpYWdyYW1FbmdpbmU9e2VuZ2luZX0g ZmFjdG9yeT17bGlua0ZhY3Rvcnl9IC8+PC9zdmc+CisgICAgKTsKKworICAgIGxldCBwYXRocyA9 IGxpbmtXaWRnZXQuZmluZCgnZyBnJyk7CisgICAgZXhwZWN0KHBhdGhzLmF0KDApLmZpbmQoJ3Bv bHlsaW5lJykubGVuZ3RoKS50b0JlKDEpOworICAgIGV4cGVjdChwYXRocy5hdChwYXRocy5sZW5n dGgtMSkuZmluZCgncG9seWxpbmUnKS5sZW5ndGgpLnRvQmUoMSk7CisgICAgZXhwZWN0KHBhdGhz LmF0KHBhdGhzLmxlbmd0aC0xKS5maW5kKCdjaXJjbGUnKS5sZW5ndGgpLnRvQmUoMSk7CisgIH0p OworfSk7CmRpZmYgLS1naXQgYS93ZWIvcmVncmVzc2lvbi9qYXZhc2NyaXB0L2VyZC9vbmV0b21h bnlfcG9ydF9zcGVjLmpzIGIvd2ViL3JlZ3Jlc3Npb24vamF2YXNjcmlwdC9lcmQvb25ldG9tYW55 X3BvcnRfc3BlYy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjBhZDQ4 MzFlZgotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9yZWdyZXNzaW9uL2phdmFzY3JpcHQvZXJkL29u ZXRvbWFueV9wb3J0X3NwZWMuanMKQEAgLTAsMCArMSwyMSBAQAoraW1wb3J0IHsgUG9ydE1vZGVs IH0gZnJvbSAnQHByb2plY3RzdG9ybS9yZWFjdC1kaWFncmFtcy1jb3JlJzsKK2ltcG9ydCBPbmVU b01hbnlQb3J0TW9kZWwgZnJvbSAncGdhZG1pbi50b29scy5lcmQvZXJkX3Rvb2wvcG9ydHMvT25l VG9NYW55UG9ydCc7CitpbXBvcnQge09uZVRvTWFueUxpbmtNb2RlbH0gZnJvbSAncGdhZG1pbi50 b29scy5lcmQvZXJkX3Rvb2wvbGlua3MvT25lVG9NYW55TGluayc7CisKK2Rlc2NyaWJlKCdFUkQg T25lVG9NYW55UG9ydE1vZGVsJywgKCk9PnsKKyAgaXQoJ3JlbW92ZUFsbExpbmtzJywgKCk9PnsK KyAgICBsZXQgbGluazEgPSBqYXNtaW5lLmNyZWF0ZVNweU9iaignbGluazEnLCBbJ3JlbW92ZSdd KTsKKyAgICBsZXQgbGluazIgPSBqYXNtaW5lLmNyZWF0ZVNweU9iaignbGluazInLCBbJ3JlbW92 ZSddKTsKKyAgICBzcHlPbihQb3J0TW9kZWwucHJvdG90eXBlLCAnZ2V0TGlua3MnKS5hbmQucmV0 dXJuVmFsdWUoW2xpbmsxLCBsaW5rMl0pOworCisgICAgbGV0IHBvcnRPYmogPSBuZXcgT25lVG9N YW55UG9ydE1vZGVsKHtvcHRpb25zOiB7fX0pOworICAgIHBvcnRPYmoucmVtb3ZlQWxsTGlua3Mo KTsKKyAgICBleHBlY3QobGluazEucmVtb3ZlKS50b0hhdmVCZWVuQ2FsbGVkKCk7CisgICAgZXhw ZWN0KGxpbmsyLnJlbW92ZSkudG9IYXZlQmVlbkNhbGxlZCgpOworICB9KTsKKworICBpdCgnY3Jl YXRlTGlua01vZGVsJywgKCk9PnsKKyAgICBsZXQgcG9ydE9iaiA9IG5ldyBPbmVUb01hbnlQb3J0 TW9kZWwoe29wdGlvbnM6IHt9fSk7CisgICAgZXhwZWN0KHBvcnRPYmouY3JlYXRlTGlua01vZGVs KCkpLnRvQmVJbnN0YW5jZU9mKE9uZVRvTWFueUxpbmtNb2RlbCk7CisgIH0pOworfSk7CmRpZmYg LS1naXQgYS93ZWIvcmVncmVzc2lvbi9qYXZhc2NyaXB0L2VyZC90YWJsZV9ub2RlX3NwZWMuanMg Yi93ZWIvcmVncmVzc2lvbi9qYXZhc2NyaXB0L2VyZC90YWJsZV9ub2RlX3NwZWMuanMKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5kOGVkY2RiNDQKLS0tIC9kZXYvbnVsbAor KysgYi93ZWIvcmVncmVzc2lvbi9qYXZhc2NyaXB0L2VyZC90YWJsZV9ub2RlX3NwZWMuanMKQEAg LTAsMCArMSwzMDUgQEAKK2ltcG9ydCBqYXNtaW5lRW56eW1lIGZyb20gJ2phc21pbmUtZW56eW1l JzsKK2ltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7CitpbXBvcnQge21vdW50fSBmcm9tICdlbnp5 bWUnOworaW1wb3J0ICcuLi9oZWxwZXIvZW56eW1lLmhlbHBlcic7CitpbXBvcnQgeyBEZWZhdWx0 Tm9kZU1vZGVsIH0gZnJvbSAnQHByb2plY3RzdG9ybS9yZWFjdC1kaWFncmFtcyc7CisKK2ltcG9y dCB7VGFibGVOb2RlTW9kZWwsIFRhYmxlTm9kZVdpZGdldH0gZnJvbSAncGdhZG1pbi50b29scy5l cmQvZXJkX3Rvb2wvbm9kZXMvVGFibGVOb2RlJzsKK2ltcG9ydCB7IEljb25CdXR0b24sIERldGFp bHNUb2dnbGVCdXR0b24gfSBmcm9tICdwZ2FkbWluLnRvb2xzLmVyZC9lcmRfdG9vbC91aV9jb21w b25lbnRzL1Rvb2xCYXInOworCisKK2Rlc2NyaWJlKCdFUkQgVGFibGVOb2RlTW9kZWwnLCAoKT0+ eworICBsZXQgbW9kZWxPYmogPSBudWxsOworICBiZWZvcmVBbGwoKCk9PnsKKyAgICBzcHlPbihE ZWZhdWx0Tm9kZU1vZGVsLnByb3RvdHlwZSwgJ3NlcmlhbGl6ZScpLmFuZC5yZXR1cm5WYWx1ZSh7 J2tleSc6ICd2YWx1ZSd9KTsKKyAgfSk7CisgIGJlZm9yZUVhY2goKCk9PnsKKyAgICBtb2RlbE9i aiA9IG5ldyBUYWJsZU5vZGVNb2RlbCh7CisgICAgICBjb2xvcjogJyMwMDAnLAorICAgICAgb3Ro ZXJJbmZvOiB7CisgICAgICAgIG5vdGU6ICdzb21lIG5vdGUnLAorICAgICAgICBkYXRhOiB7Cisg ICAgICAgICAgbmFtZTogJ3RhYmxlMScsCisgICAgICAgICAgc2NoZW1hOiAnZXJkJywKKyAgICAg ICAgfSwKKyAgICAgIH0sCisgICAgfSk7CisgIH0pOworCisgIGl0KCdpbml0JywgKCk9PnsKKyAg ICBleHBlY3QobW9kZWxPYmouZ2V0RGF0YSgpKS50b0VxdWFsKHsKKyAgICAgIGNvbHVtbnM6IFtd LAorICAgICAgbmFtZTogJ3RhYmxlMScsCisgICAgICBzY2hlbWE6ICdlcmQnLAorICAgIH0pOwor ICAgIGV4cGVjdChtb2RlbE9iai5nZXROb3RlKCkpLnRvQmUoJ3NvbWUgbm90ZScpOworICAgIGV4 cGVjdChtb2RlbE9iai5nZXRDb2x1bW5zKCkpLnRvRXF1YWwoW10pOworICB9KTsKKworICBpdCgn Z2V0UG9ydE5hbWUnLCAoKT0+eworICAgIGV4cGVjdChtb2RlbE9iai5nZXRQb3J0TmFtZSgyKSku dG9CZSgnY29sbC1wb3J0LTInKTsKKyAgfSk7CisKKyAgaXQoJ3NldE5vdGUnLCAoKT0+eworICAg IG1vZGVsT2JqLnNldE5vdGUoJ3NvbWUgbm90ZSB0byB0ZXN0Jyk7CisgICAgZXhwZWN0KG1vZGVs T2JqLmdldE5vdGUoKSkudG9CZSgnc29tZSBub3RlIHRvIHRlc3QnKTsKKyAgfSk7CisKKyAgaXQo J2FkZENvbHVtbicsICgpPT57CisgICAgbW9kZWxPYmouYWRkQ29sdW1uKHtuYW1lOiAnY29sMScs IG5vdF9udWxsOmZhbHNlLCBhdHRudW06IDB9KTsKKyAgICBleHBlY3QobW9kZWxPYmouZ2V0Q29s dW1ucygpKS50b0VxdWFsKFt7bmFtZTogJ2NvbDEnLCBub3RfbnVsbDpmYWxzZSwgYXR0bnVtOiAw fV0pOworICB9KTsKKworICBpdCgnZ2V0Q29sdW1uQXQnLCAoKT0+eworICAgIG1vZGVsT2JqLmFk ZENvbHVtbih7bmFtZTogJ2NvbDEnLCBub3RfbnVsbDpmYWxzZSwgYXR0bnVtOiAwfSk7CisgICAg bW9kZWxPYmouYWRkQ29sdW1uKHtuYW1lOiAnY29sMicsIG5vdF9udWxsOmZhbHNlLCBhdHRudW06 IDF9KTsKKyAgICBleHBlY3QobW9kZWxPYmouZ2V0Q29sdW1uQXQoMCkpLnRvRXF1YWwoe25hbWU6 ICdjb2wxJywgbm90X251bGw6ZmFsc2UsIGF0dG51bTogMH0pOworICAgIGV4cGVjdChtb2RlbE9i ai5nZXRDb2x1bW5BdCgxKSkudG9FcXVhbCh7bmFtZTogJ2NvbDInLCBub3RfbnVsbDpmYWxzZSwg YXR0bnVtOiAxfSk7CisgICAgZXhwZWN0KG1vZGVsT2JqLmdldENvbHVtbkF0KDIpKS50b0JlVW5k ZWZpbmVkKCk7CisgIH0pOworCisgIGl0KCdzZXROYW1lJywgKCk9PnsKKyAgICBtb2RlbE9iai5z ZXROYW1lKCdjaGFuZ2VkTmFtZScpOworICAgIGV4cGVjdChtb2RlbE9iai5nZXREYXRhKCkubmFt ZSkudG9CZSgnY2hhbmdlZE5hbWUnKTsKKyAgfSk7CisKKyAgaXQoJ2Nsb25lRGF0YScsICgpPT57 CisgICAgbW9kZWxPYmouYWRkQ29sdW1uKHtuYW1lOiAnY29sMScsIG5vdF9udWxsOmZhbHNlLCBh dHRudW06IDB9KTsKKyAgICBleHBlY3QobW9kZWxPYmouY2xvbmVEYXRhKCdjbG9uZWROb2RlJykp LnRvRXF1YWwoeworICAgICAgbmFtZTogJ2Nsb25lZE5vZGUnLAorICAgICAgc2NoZW1hOiAnZXJk JywKKyAgICAgIGNvbHVtbnM6IFt7bmFtZTogJ2NvbDEnLCBub3RfbnVsbDpmYWxzZSwgYXR0bnVt OiAwfV0sCisgICAgfSk7CisgIH0pOworCisgIGRlc2NyaWJlKCdzZXREYXRhJywgKCk9PnsKKyAg ICBsZXQgZXhpc3RQb3J0ID0gamFzbWluZS5jcmVhdGVTcHlPYmooJ3BvcnQnLCBbJ3JlbW92ZUFs bExpbmtzJ10pOworCisgICAgYmVmb3JlRWFjaCgoKT0+eworICAgICAgbW9kZWxPYmouX2RhdGEu Y29sdW1ucyA9IFsKKyAgICAgICAge25hbWU6ICdjb2wxJywgbm90X251bGw6ZmFsc2UsIGF0dG51 bTogMH0sCisgICAgICAgIHtuYW1lOiAnY29sMicsIG5vdF9udWxsOmZhbHNlLCBhdHRudW06IDF9 LAorICAgICAgICB7bmFtZTogJ2NvbDMnLCBub3RfbnVsbDpmYWxzZSwgYXR0bnVtOiAyfSwKKyAg ICAgIF07CisKKyAgICAgIHNweU9uKG1vZGVsT2JqLCAnZ2V0UG9ydCcpLmFuZC5jYWxsRmFrZSgo cG9ydE5hbWUpPT57CisgICAgICAgIC8qIElmIG5ldyBwb3J0IGFkZGVkIHRoZXJlIHdpbGwgbm90 IGJlIGFueSBwb3J0ICovCisgICAgICAgIGlmKHBvcnROYW1lICE9PSAnY29sbC1wb3J0LTMnKSB7 CisgICAgICAgICAgcmV0dXJuIGV4aXN0UG9ydDsKKyAgICAgICAgfQorICAgICAgfSk7CisgICAg ICBzcHlPbihtb2RlbE9iaiwgJ3JlbW92ZVBvcnQnKTsKKyAgICAgIHNweU9uKG1vZGVsT2JqLCAn Z2V0UG9ydE5hbWUnKTsKKyAgICB9KTsKKworICAgIGl0KCdhZGQgY29sdW1ucycsICgpPT57Cisg ICAgICBleGlzdFBvcnQucmVtb3ZlQWxsTGlua3MuY2FsbHMucmVzZXQoKTsKKyAgICAgIG1vZGVs T2JqLnNldERhdGEoeworICAgICAgICBuYW1lOiAnbm9uYW1lJywKKyAgICAgICAgc2NoZW1hOiAn ZXJkJywKKyAgICAgICAgY29sdW1uczogWworICAgICAgICAgIHtuYW1lOiAnY29sMScsIG5vdF9u dWxsOmZhbHNlLCBhdHRudW06IDB9LAorICAgICAgICAgIHtuYW1lOiAnY29sMicsIG5vdF9udWxs OmZhbHNlLCBhdHRudW06IDF9LAorICAgICAgICAgIHtuYW1lOiAnY29sMycsIG5vdF9udWxsOmZh bHNlLCBhdHRudW06IDJ9LAorICAgICAgICAgIHtuYW1lOiAnY29sNCcsIG5vdF9udWxsOmZhbHNl LCBhdHRudW06IDN9LAorICAgICAgICBdLAorICAgICAgfSk7CisgICAgICBleHBlY3QobW9kZWxP YmouZ2V0RGF0YSgpKS50b0VxdWFsKHsKKyAgICAgICAgbmFtZTogJ25vbmFtZScsCisgICAgICAg IHNjaGVtYTogJ2VyZCcsCisgICAgICAgIGNvbHVtbnM6IFsKKyAgICAgICAgICB7bmFtZTogJ2Nv bDEnLCBub3RfbnVsbDpmYWxzZSwgYXR0bnVtOiAwfSwKKyAgICAgICAgICB7bmFtZTogJ2NvbDIn LCBub3RfbnVsbDpmYWxzZSwgYXR0bnVtOiAxfSwKKyAgICAgICAgICB7bmFtZTogJ2NvbDMnLCBu b3RfbnVsbDpmYWxzZSwgYXR0bnVtOiAyfSwKKyAgICAgICAgICB7bmFtZTogJ2NvbDQnLCBub3Rf bnVsbDpmYWxzZSwgYXR0bnVtOiAzfSwKKyAgICAgICAgXSwKKyAgICAgIH0pOworICAgICAgZXhw ZWN0KGV4aXN0UG9ydC5yZW1vdmVBbGxMaW5rcykubm90LnRvSGF2ZUJlZW5DYWxsZWQoKTsKKyAg ICB9KTsKKworICAgIGl0KCd1cGRhdGUgY29sdW1ucycsICgpPT57CisgICAgICBleGlzdFBvcnQu cmVtb3ZlQWxsTGlua3MuY2FsbHMucmVzZXQoKTsKKyAgICAgIG1vZGVsT2JqLnNldERhdGEoewor ICAgICAgICBuYW1lOiAnbm9uYW1lJywKKyAgICAgICAgc2NoZW1hOiAnZXJkJywKKyAgICAgICAg Y29sdW1uczogWworICAgICAgICAgIHtuYW1lOiAnY29sMScsIG5vdF9udWxsOmZhbHNlLCBhdHRu dW06IDB9LAorICAgICAgICAgIHtuYW1lOiAnY29sMnVwZGF0ZWQnLCBub3RfbnVsbDpmYWxzZSwg YXR0bnVtOiAxfSwKKyAgICAgICAgICB7bmFtZTogJ2NvbDMnLCBub3RfbnVsbDp0cnVlLCBhdHRu dW06IDJ9LAorICAgICAgICBdLAorICAgICAgfSk7CisgICAgICBleHBlY3QobW9kZWxPYmouZ2V0 RGF0YSgpKS50b0VxdWFsKHsKKyAgICAgICAgbmFtZTogJ25vbmFtZScsCisgICAgICAgIHNjaGVt YTogJ2VyZCcsCisgICAgICAgIGNvbHVtbnM6IFsKKyAgICAgICAgICB7bmFtZTogJ2NvbDEnLCBu b3RfbnVsbDpmYWxzZSwgYXR0bnVtOiAwfSwKKyAgICAgICAgICB7bmFtZTogJ2NvbDJ1cGRhdGVk Jywgbm90X251bGw6ZmFsc2UsIGF0dG51bTogMX0sCisgICAgICAgICAge25hbWU6ICdjb2wzJywg bm90X251bGw6dHJ1ZSwgYXR0bnVtOiAyfSwKKyAgICAgICAgXSwKKyAgICAgIH0pOworICAgICAg ZXhwZWN0KGV4aXN0UG9ydC5yZW1vdmVBbGxMaW5rcykubm90LnRvSGF2ZUJlZW5DYWxsZWQoKTsK KyAgICB9KTsKKworICAgIGl0KCdyZW1vdmUgY29sdW1ucycsICgpPT57CisgICAgICBleGlzdFBv cnQucmVtb3ZlQWxsTGlua3MuY2FsbHMucmVzZXQoKTsKKyAgICAgIG1vZGVsT2JqLnNldERhdGEo eworICAgICAgICBuYW1lOiAnbm9uYW1lJywKKyAgICAgICAgc2NoZW1hOiAnZXJkJywKKyAgICAg ICAgY29sdW1uczogWworICAgICAgICAgIHtuYW1lOiAnY29sMicsIG5vdF9udWxsOmZhbHNlLCBh dHRudW06IDF9LAorICAgICAgICAgIHtuYW1lOiAnY29sMycsIG5vdF9udWxsOmZhbHNlLCBhdHRu dW06IDJ9LAorICAgICAgICBdLAorICAgICAgfSk7CisgICAgICBleHBlY3QobW9kZWxPYmouZ2V0 RGF0YSgpKS50b0VxdWFsKHsKKyAgICAgICAgbmFtZTogJ25vbmFtZScsCisgICAgICAgIHNjaGVt YTogJ2VyZCcsCisgICAgICAgIGNvbHVtbnM6IFsKKyAgICAgICAgICB7bmFtZTogJ2NvbDInLCBu b3RfbnVsbDpmYWxzZSwgYXR0bnVtOiAxfSwKKyAgICAgICAgICB7bmFtZTogJ2NvbDMnLCBub3Rf bnVsbDpmYWxzZSwgYXR0bnVtOiAyfSwKKyAgICAgICAgXSwKKyAgICAgIH0pOworCisgICAgICBl eHBlY3QobW9kZWxPYmouZ2V0UG9ydE5hbWUpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKDApOworICAg ICAgZXhwZWN0KGV4aXN0UG9ydC5yZW1vdmVBbGxMaW5rcykudG9IYXZlQmVlbkNhbGxlZCgpOwor ICAgICAgZXhwZWN0KG1vZGVsT2JqLnJlbW92ZVBvcnQpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGV4 aXN0UG9ydCk7CisgICAgfSk7CisgIH0pOworCisgIGl0KCdnZXRTY2hlbWFUYWJsZU5hbWUnLCAo KT0+eworICAgIGV4cGVjdChtb2RlbE9iai5nZXRTY2hlbWFUYWJsZU5hbWUoKSkudG9FcXVhbChb J2VyZCcsICd0YWJsZTEnXSk7CisgIH0pOworCisgIGl0KCdzZXJpYWxpemVEYXRhJywgKCk9PnsK KyAgICBtb2RlbE9iai5hZGRDb2x1bW4oe25hbWU6ICdjb2wxJywgbm90X251bGw6ZmFsc2UsIGF0 dG51bTogMH0pOworICAgIGV4cGVjdChtb2RlbE9iai5zZXJpYWxpemVEYXRhKCkpLnRvRXF1YWwo eworICAgICAgbmFtZTogJ3RhYmxlMScsCisgICAgICBzY2hlbWE6ICdlcmQnLAorICAgICAgY29s dW1uczogW3tuYW1lOiAnY29sMScsIG5vdF9udWxsOmZhbHNlLCBhdHRudW06IDB9XSwKKyAgICB9 KTsKKyAgfSk7CisKKyAgaXQoJ3NlcmlhbGl6ZScsICgpPT57CisgICAgbGV0IHJldFZhbCA9IG1v ZGVsT2JqLnNlcmlhbGl6ZSgpOworICAgIGV4cGVjdChEZWZhdWx0Tm9kZU1vZGVsLnByb3RvdHlw ZS5zZXJpYWxpemUpLnRvSGF2ZUJlZW5DYWxsZWQoKTsKKyAgICBleHBlY3QocmV0VmFsKS50b0Vx dWFsKHsKKyAgICAgIGtleTogJ3ZhbHVlJywKKyAgICAgIG90aGVySW5mbzogIHsKKyAgICAgICAg ZGF0YTogeworICAgICAgICAgIGNvbHVtbnM6IFtdLAorICAgICAgICAgIG5hbWU6ICd0YWJsZTEn LAorICAgICAgICAgIHNjaGVtYTogJ2VyZCcsCisgICAgICAgIH0sCisgICAgICAgIG5vdGU6ICdz b21lIG5vdGUnLAorICAgICAgfSwKKyAgICB9KTsKKyAgfSk7Cit9KTsKKworZGVzY3JpYmUoJ0VS RCBUYWJsZU5vZGVXaWRnZXQnLCAoKT0+eworICBsZXQgbm9kZSA9IG51bGw7CisKKyAgYmVmb3Jl RWFjaCgoKT0+eworICAgIGphc21pbmVFbnp5bWUoKTsKKworICAgIG5vZGUgPSBuZXcgVGFibGVO b2RlTW9kZWwoeworICAgICAgY29sb3I6ICcjMDAwJywKKyAgICAgIG90aGVySW5mbzogeworICAg ICAgICBub3RlOiAnc29tZSBub3RlJywKKyAgICAgICAgZGF0YTogeworICAgICAgICAgIG5hbWU6 ICd0YWJsZTEnLAorICAgICAgICAgIHNjaGVtYTogJ2VyZCcsCisgICAgICAgICAgY29sdW1uczog W3sKKyAgICAgICAgICAgIGF0dG51bTogMCwKKyAgICAgICAgICAgIGlzX3ByaW1hcnlfa2V5OiB0 cnVlLAorICAgICAgICAgICAgbmFtZTogJ2lkJywKKyAgICAgICAgICAgIGNsdHlwZTogJ2ludGVn ZXInLAorICAgICAgICAgICAgYXR0bGVuOiBudWxsLAorICAgICAgICAgICAgYXR0cHJlY2lzaW9u OiBudWxsLAorICAgICAgICAgIH0sIHsKKyAgICAgICAgICAgIGF0dG51bTogMSwKKyAgICAgICAg ICAgIGlzX3ByaW1hcnlfa2V5OiBmYWxzZSwKKyAgICAgICAgICAgIG5hbWU6ICdhbW91bnQnLAor ICAgICAgICAgICAgY2x0eXBlOiAnbnVtYmVyJywKKyAgICAgICAgICAgIGF0dGxlbjogMTAsCisg ICAgICAgICAgICBhdHRwcmVjaXNpb246IDUsCisgICAgICAgICAgfSwgeworICAgICAgICAgICAg YXR0bnVtOiAyLAorICAgICAgICAgICAgaXNfcHJpbWFyeV9rZXk6IGZhbHNlLAorICAgICAgICAg ICAgbmFtZTogJ2Rlc2MnLAorICAgICAgICAgICAgY2x0eXBlOiAnY2hhcmFjdGVyIHZhcnJ5aW5n JywKKyAgICAgICAgICAgIGF0dGxlbjogNTAsCisgICAgICAgICAgICBhdHRwcmVjaXNpb246IG51 bGwsCisgICAgICAgICAgfV0sCisgICAgICAgIH0sCisgICAgICB9LAorICAgIH0pOworICB9KTsK KworICBpdCgncmVuZGVyJywgKCk9PnsKKyAgICBsZXQgbm9kZVdpZGdldCA9IG1vdW50KDxUYWJs ZU5vZGVXaWRnZXQgbm9kZT17bm9kZX0vPik7CisgICAgZXhwZWN0KG5vZGVXaWRnZXQuZ2V0RE9N Tm9kZSgpLmNsYXNzTmFtZSkudG9CZSgndGFibGUtbm9kZSAnKTsKKyAgICBleHBlY3Qobm9kZVdp ZGdldC5maW5kKCcudGFibGUtbm9kZSAudGFibGUtdG9vbGJhcicpLmxlbmd0aCkudG9CZSgxKTsK KyAgICBleHBlY3Qobm9kZVdpZGdldC5maW5kKCcudGFibGUtbm9kZSAudGFibGUtc2NoZW1hJyku dGV4dCgpKS50b0JlKCdlcmQnKTsKKyAgICBleHBlY3Qobm9kZVdpZGdldC5maW5kKCcudGFibGUt bm9kZSAudGFibGUtbmFtZScpLnRleHQoKSkudG9CZSgndGFibGUxJyk7CisgICAgZXhwZWN0KG5v ZGVXaWRnZXQuZmluZCgnLnRhYmxlLW5vZGUgLnRhYmxlLWNvbHMnKS5sZW5ndGgpLnRvQmUoMSk7 CisgICAgZXhwZWN0KG5vZGVXaWRnZXQuZmluZChEZXRhaWxzVG9nZ2xlQnV0dG9uKS5sZW5ndGgp LnRvQmUoMSk7CisgICAgZXhwZWN0KG5vZGVXaWRnZXQuZmluZChJY29uQnV0dG9uKS5maW5kV2hl cmUobiA9PiBuLnByb3AoJ3RpdGxlJyk9PSdDaGVjayBub3RlJykubGVuZ3RoKS50b0JlKDEpOwor ICB9KTsKKworICBpdCgnbm9kZSBzZWxlY3RlZCcsICgpPT57CisgICAgc3B5T24obm9kZSwgJ2lz U2VsZWN0ZWQnKS5hbmQucmV0dXJuVmFsdWUodHJ1ZSk7CisgICAgbGV0IG5vZGVXaWRnZXQgPSBt b3VudCg8VGFibGVOb2RlV2lkZ2V0IG5vZGU9e25vZGV9Lz4pOworICAgIGV4cGVjdChub2RlV2lk Z2V0LmdldERPTU5vZGUoKS5jbGFzc05hbWUpLnRvQmUoJ3RhYmxlLW5vZGUgc2VsZWN0ZWQnKTsK KyAgfSk7CisKKyAgaXQoJ3JlbW92ZSBub3RlJywgKCk9PnsKKyAgICBub2RlLnNldE5vdGUoJycp OworICAgIGxldCBub2RlV2lkZ2V0ID0gbW91bnQoPFRhYmxlTm9kZVdpZGdldCBub2RlPXtub2Rl fS8+KTsKKyAgICBleHBlY3Qobm9kZVdpZGdldC5maW5kKEljb25CdXR0b24pLmZpbmRXaGVyZShu ID0+IG4ucHJvcCgndGl0bGUnKT09J0NoZWNrIG5vdGUnKS5sZW5ndGgpLnRvQmUoMCk7CisgIH0p OworCisgIGRlc2NyaWJlKCdnZW5lcmF0ZUNvbHVtbicsICgpPT57CisgICAgbGV0IG5vZGVXaWRn ZXQgPSBudWxsOworCisgICAgYmVmb3JlRWFjaCgoKT0+eworICAgICAgbm9kZVdpZGdldCA9IG1v dW50KDxUYWJsZU5vZGVXaWRnZXQgbm9kZT17bm9kZX0vPik7CisgICAgfSk7CisKKyAgICBpdCgn Y291bnQnLCAoKT0+eworICAgICAgZXhwZWN0KG5vZGVXaWRnZXQuZmluZCgnLnRhYmxlLW5vZGUg LnRhYmxlLWNvbHMgLmNvbC1yb3cnKS5sZW5ndGgpLnRvQmUoMyk7CisgICAgfSk7CisKKyAgICBp dCgnaWNvbnMnLCAoKT0+eworICAgICAgbGV0IGNvbHMgPSBub2RlV2lkZ2V0LmZpbmQoJy50YWJs ZS1ub2RlIC50YWJsZS1jb2xzIC5jb2wtcm93LWRhdGEnKTsKKyAgICAgIGV4cGVjdChjb2xzLmF0 KDApLmZpbmQoJy53Y1RhYkljb24nKS5oYXNDbGFzcygnaWNvbi1wcmltYXJ5X2tleScpKS50b0Jl VHJ1ZSgpOworICAgICAgZXhwZWN0KGNvbHMuYXQoMSkuZmluZCgnLndjVGFiSWNvbicpLmhhc0Ns YXNzKCdpY29uLWNvbHVtbicpKS50b0JlVHJ1ZSgpOworICAgICAgZXhwZWN0KGNvbHMuYXQoMiku ZmluZCgnLndjVGFiSWNvbicpLmhhc0NsYXNzKCdpY29uLWNvbHVtbicpKS50b0JlVHJ1ZSgpOwor ICAgIH0pOworCisgICAgaXQoJ2NvbHVtbiBuYW1lcycsICgpPT57CisgICAgICBsZXQgY29scyA9 IG5vZGVXaWRnZXQuZmluZCgnLnRhYmxlLW5vZGUgLnRhYmxlLWNvbHMgLmNvbC1yb3ctZGF0YScp OworICAgICAgZXhwZWN0KGNvbHMuYXQoMCkuZmluZCgnLmNvbC1uYW1lJykudGV4dCgpKS50b0Jl KCdpZCcpOworICAgICAgZXhwZWN0KGNvbHMuYXQoMSkuZmluZCgnLmNvbC1uYW1lJykudGV4dCgp KS50b0JlKCdhbW91bnQnKTsKKyAgICAgIGV4cGVjdChjb2xzLmF0KDIpLmZpbmQoJy5jb2wtbmFt ZScpLnRleHQoKSkudG9CZSgnZGVzYycpOworICAgIH0pOworCisgICAgaXQoJ2RhdGEgdHlwZXMn LCAoKT0+eworICAgICAgbGV0IGNvbHMgPSBub2RlV2lkZ2V0LmZpbmQoJy50YWJsZS1ub2RlIC50 YWJsZS1jb2xzIC5jb2wtcm93LWRhdGEnKTsKKyAgICAgIGV4cGVjdChjb2xzLmF0KDApLmZpbmQo Jy5jb2wtZGF0YXR5cGUnKS50ZXh0KCkpLnRvQmUoJ2ludGVnZXInKTsKKyAgICAgIGV4cGVjdChj b2xzLmF0KDEpLmZpbmQoJy5jb2wtZGF0YXR5cGUnKS50ZXh0KCkpLnRvQmUoJ251bWJlcigxMCw1 KScpOworICAgICAgZXhwZWN0KGNvbHMuYXQoMikuZmluZCgnLmNvbC1kYXRhdHlwZScpLnRleHQo KSkudG9CZSgnY2hhcmFjdGVyIHZhcnJ5aW5nKDUwKScpOworICAgIH0pOworCisgICAgaXQoJ3No b3dfZGV0YWlscycsIChkb25lKT0+eworICAgICAgbm9kZVdpZGdldC5zZXRTdGF0ZSh7c2hvd19k ZXRhaWxzOiBmYWxzZX0pOworICAgICAgZXhwZWN0KG5vZGVXaWRnZXQuZmluZCgnLnRhYmxlLW5v ZGUgLnRhYmxlLWNvbHMgLmNvbC1yb3ctZGF0YSAuY29sLWRhdGF0eXBlJykubGVuZ3RoKS50b0Jl KDApOworCisgICAgICBub2RlV2lkZ2V0Lmluc3RhbmNlKCkudG9nZ2xlU2hvd0RldGFpbHMoamFz bWluZS5jcmVhdGVTcHlPYmooJ2V2ZW50JywgWydwcmV2ZW50RGVmYXVsdCddKSk7CisgICAgICAv KiBEdW1teSBzZXQgc3RhdGUgdG8gd2FpdCBmb3IgdG9nZ2xlU2hvd0RldGFpbHMgLT4gc2V0U3Rh dGUgdG8gY29tcGxldGUgKi8KKyAgICAgIG5vZGVXaWRnZXQuc2V0U3RhdGUoe30sICgpPT57Cisg ICAgICAgIGV4cGVjdChub2RlV2lkZ2V0LmZpbmQoJy50YWJsZS1ub2RlIC50YWJsZS1jb2xzIC5j b2wtcm93LWRhdGEgLmNvbC1kYXRhdHlwZScpLmxlbmd0aCkudG9CZSgzKTsKKyAgICAgICAgZG9u ZSgpOworICAgICAgfSk7CisgICAgfSk7CisgIH0pOworfSk7CmRpZmYgLS1naXQgYS93ZWIvcmVn cmVzc2lvbi9qYXZhc2NyaXB0L2VyZC90ZXN0X3RhYmxlcy5qcyBiL3dlYi9yZWdyZXNzaW9uL2ph dmFzY3JpcHQvZXJkL3Rlc3RfdGFibGVzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMC4uZTJkYzQzZWY4Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3JlZ3Jlc3Npb24vamF2 YXNjcmlwdC9lcmQvdGVzdF90YWJsZXMuanMKQEAgLTAsMCArMSw2NTEgQEAKK2V4cG9ydCBkZWZh dWx0IFsKKyAgeworICAgICdvaWQnOiAxMjM0NTYsCisgICAgJ25hbWUnOiAndGVzdDEnLAorICAg ICdzcGNvaWQnOiAwLAorICAgICdyZWxhY2xfc3RyJzogbnVsbCwKKyAgICAnc3BjbmFtZSc6ICdw Z19kZWZhdWx0JywKKyAgICAnc2NoZW1hJzogJ3NjaGVtYTEnLAorICAgICdyZWxvd25lcic6ICdw b3N0Z3JlcycsCisgICAgJ3JlbGtpbmQnOiAncicsCisgICAgJ2lzX3BhcnRpdGlvbmVkJzogZmFs c2UsCisgICAgJ3JlbGhhc3N1YmNsYXNzJzogZmFsc2UsCisgICAgJ3JlbHR1cGxlcyc6ICcwJywK KyAgICAnZGVzY3JpcHRpb24nOiBudWxsLAorICAgICdjb25uYW1lJzogbnVsbCwKKyAgICAnY29u a2V5JzogbnVsbCwKKyAgICAnaXNyZXBsJzogZmFsc2UsCisgICAgJ3RyaWdnZXJjb3VudCc6ICcw JywKKyAgICAnY29sbF9pbmhlcml0cyc6IFtdLAorICAgICdpbmhlcml0ZWRfdGFibGVzX2NudCc6 ICcwJywKKyAgICAncmVscGVyc2lzdGVuY2UnOiBmYWxzZSwKKyAgICAnZmlsbGZhY3Rvcic6IG51 bGwsCisgICAgJ3BhcmFsbGVsX3dvcmtlcnMnOiBudWxsLAorICAgICd0b2FzdF90dXBsZV90YXJn ZXQnOiBudWxsLAorICAgICdhdXRvdmFjdXVtX2VuYWJsZWQnOiAneCcsCisgICAgJ2F1dG92YWN1 dW1fdmFjdXVtX3RocmVzaG9sZCc6IG51bGwsCisgICAgJ2F1dG92YWN1dW1fdmFjdXVtX3NjYWxl X2ZhY3Rvcic6IG51bGwsCisgICAgJ2F1dG92YWN1dW1fYW5hbHl6ZV90aHJlc2hvbGQnOiBudWxs LAorICAgICdhdXRvdmFjdXVtX2FuYWx5emVfc2NhbGVfZmFjdG9yJzogbnVsbCwKKyAgICAnYXV0 b3ZhY3V1bV92YWN1dW1fY29zdF9kZWxheSc6IG51bGwsCisgICAgJ2F1dG92YWN1dW1fdmFjdXVt X2Nvc3RfbGltaXQnOiBudWxsLAorICAgICdhdXRvdmFjdXVtX2ZyZWV6ZV9taW5fYWdlJzogbnVs bCwKKyAgICAnYXV0b3ZhY3V1bV9mcmVlemVfbWF4X2FnZSc6IG51bGwsCisgICAgJ2F1dG92YWN1 dW1fZnJlZXplX3RhYmxlX2FnZSc6IG51bGwsCisgICAgJ3RvYXN0X2F1dG92YWN1dW1fZW5hYmxl ZCc6ICd4JywKKyAgICAndG9hc3RfYXV0b3ZhY3V1bV92YWN1dW1fdGhyZXNob2xkJzogbnVsbCwK KyAgICAndG9hc3RfYXV0b3ZhY3V1bV92YWN1dW1fc2NhbGVfZmFjdG9yJzogbnVsbCwKKyAgICAn dG9hc3RfYXV0b3ZhY3V1bV9hbmFseXplX3RocmVzaG9sZCc6IG51bGwsCisgICAgJ3RvYXN0X2F1 dG92YWN1dW1fYW5hbHl6ZV9zY2FsZV9mYWN0b3InOiBudWxsLAorICAgICd0b2FzdF9hdXRvdmFj dXVtX3ZhY3V1bV9jb3N0X2RlbGF5JzogbnVsbCwKKyAgICAndG9hc3RfYXV0b3ZhY3V1bV92YWN1 dW1fY29zdF9saW1pdCc6IG51bGwsCisgICAgJ3RvYXN0X2F1dG92YWN1dW1fZnJlZXplX21pbl9h Z2UnOiBudWxsLAorICAgICd0b2FzdF9hdXRvdmFjdXVtX2ZyZWV6ZV9tYXhfYWdlJzogbnVsbCwK KyAgICAndG9hc3RfYXV0b3ZhY3V1bV9mcmVlemVfdGFibGVfYWdlJzogbnVsbCwKKyAgICAncmVs b3B0aW9ucyc6IG51bGwsCisgICAgJ3RvYXN0X3JlbG9wdGlvbnMnOiBudWxsLAorICAgICdyZWxv ZnR5cGUnOiAwLAorICAgICd0eXBuYW1lJzogbnVsbCwKKyAgICAndHlwb2lkJzogbnVsbCwKKyAg ICAncmxzcG9saWN5JzogZmFsc2UsCisgICAgJ2ZvcmNlcmxzcG9saWN5JzogZmFsc2UsCisgICAg J2hhc3RvYXN0dGFibGUnOiBmYWxzZSwKKyAgICAnc2VjbGFiZWxzJzogbnVsbCwKKyAgICAnaXNf c3lzX3RhYmxlJzogZmFsc2UsCisgICAgJ3BhcnRpdGlvbl9zY2hlbWUnOiAnJywKKyAgICAnYXV0 b3ZhY3V1bV9jdXN0b20nOiBmYWxzZSwKKyAgICAndG9hc3RfYXV0b3ZhY3V1bSc6IGZhbHNlLAor ICAgICdyb3dzX2NudCc6IDAsCisgICAgJ3ZhY3V1bV9zZXR0aW5nc19zdHInOiAnJywKKyAgICAn dmFjdXVtX3RhYmxlJzogWworICAgICAgeworICAgICAgICAnbmFtZSc6ICdhdXRvdmFjdXVtX2Fu YWx5emVfc2NhbGVfZmFjdG9yJywKKyAgICAgICAgJ3NldHRpbmcnOiAnMC4xJywKKyAgICAgICAg J2xhYmVsJzogJ0FOQUxZWkUgc2NhbGUgZmFjdG9yJywKKyAgICAgICAgJ2NvbHVtbl90eXBlJzog J251bWJlcicsCisgICAgICB9LAorICAgICAgeworICAgICAgICAnbmFtZSc6ICdhdXRvdmFjdXVt X2FuYWx5emVfdGhyZXNob2xkJywKKyAgICAgICAgJ3NldHRpbmcnOiAnNTAnLAorICAgICAgICAn bGFiZWwnOiAnQU5BTFlaRSBiYXNlIHRocmVzaG9sZCcsCisgICAgICAgICdjb2x1bW5fdHlwZSc6 ICdpbnRlZ2VyJywKKyAgICAgIH0sCisgICAgICB7CisgICAgICAgICduYW1lJzogJ2F1dG92YWN1 dW1fZnJlZXplX21heF9hZ2UnLAorICAgICAgICAnc2V0dGluZyc6ICcyMDAwMDAwMDAnLAorICAg ICAgICAnbGFiZWwnOiAnRlJFRVpFIG1heGltdW0gYWdlJywKKyAgICAgICAgJ2NvbHVtbl90eXBl JzogJ2ludGVnZXInLAorICAgICAgfSwKKyAgICAgIHsKKyAgICAgICAgJ25hbWUnOiAnYXV0b3Zh Y3V1bV92YWN1dW1fY29zdF9kZWxheScsCisgICAgICAgICdzZXR0aW5nJzogJzInLAorICAgICAg ICAnbGFiZWwnOiAnVkFDVVVNIGNvc3QgZGVsYXknLAorICAgICAgICAnY29sdW1uX3R5cGUnOiAn aW50ZWdlcicsCisgICAgICB9LAorICAgICAgeworICAgICAgICAnbmFtZSc6ICdhdXRvdmFjdXVt X3ZhY3V1bV9jb3N0X2xpbWl0JywKKyAgICAgICAgJ3NldHRpbmcnOiAnLTEnLAorICAgICAgICAn bGFiZWwnOiAnVkFDVVVNIGNvc3QgbGltaXQnLAorICAgICAgICAnY29sdW1uX3R5cGUnOiAnaW50 ZWdlcicsCisgICAgICB9LAorICAgICAgeworICAgICAgICAnbmFtZSc6ICdhdXRvdmFjdXVtX3Zh Y3V1bV9zY2FsZV9mYWN0b3InLAorICAgICAgICAnc2V0dGluZyc6ICcwLjInLAorICAgICAgICAn bGFiZWwnOiAnVkFDVVVNIHNjYWxlIGZhY3RvcicsCisgICAgICAgICdjb2x1bW5fdHlwZSc6ICdu dW1iZXInLAorICAgICAgfSwKKyAgICAgIHsKKyAgICAgICAgJ25hbWUnOiAnYXV0b3ZhY3V1bV92 YWN1dW1fdGhyZXNob2xkJywKKyAgICAgICAgJ3NldHRpbmcnOiAnNTAnLAorICAgICAgICAnbGFi ZWwnOiAnVkFDVVVNIGJhc2UgdGhyZXNob2xkJywKKyAgICAgICAgJ2NvbHVtbl90eXBlJzogJ2lu dGVnZXInLAorICAgICAgfSwKKyAgICAgIHsKKyAgICAgICAgJ25hbWUnOiAnYXV0b3ZhY3V1bV9m cmVlemVfbWluX2FnZScsCisgICAgICAgICdzZXR0aW5nJzogJzUwMDAwMDAwJywKKyAgICAgICAg J2xhYmVsJzogJ0ZSRUVaRSBtaW5pbXVtIGFnZScsCisgICAgICAgICdjb2x1bW5fdHlwZSc6ICdp bnRlZ2VyJywKKyAgICAgIH0sCisgICAgICB7CisgICAgICAgICduYW1lJzogJ2F1dG92YWN1dW1f ZnJlZXplX3RhYmxlX2FnZScsCisgICAgICAgICdzZXR0aW5nJzogJzE1MDAwMDAwMCcsCisgICAg ICAgICdsYWJlbCc6ICdGUkVFWkUgdGFibGUgYWdlJywKKyAgICAgICAgJ2NvbHVtbl90eXBlJzog J2ludGVnZXInLAorICAgICAgfSwKKyAgICBdLAorICAgICd2YWN1dW1fdG9hc3QnOiBbCisgICAg ICB7CisgICAgICAgICduYW1lJzogJ2F1dG92YWN1dW1fZnJlZXplX21heF9hZ2UnLAorICAgICAg ICAnc2V0dGluZyc6ICcyMDAwMDAwMDAnLAorICAgICAgICAnbGFiZWwnOiAnRlJFRVpFIG1heGlt dW0gYWdlJywKKyAgICAgICAgJ2NvbHVtbl90eXBlJzogJ2ludGVnZXInLAorICAgICAgfSwKKyAg ICAgIHsKKyAgICAgICAgJ25hbWUnOiAnYXV0b3ZhY3V1bV92YWN1dW1fY29zdF9kZWxheScsCisg ICAgICAgICdzZXR0aW5nJzogJzInLAorICAgICAgICAnbGFiZWwnOiAnVkFDVVVNIGNvc3QgZGVs YXknLAorICAgICAgICAnY29sdW1uX3R5cGUnOiAnaW50ZWdlcicsCisgICAgICB9LAorICAgICAg eworICAgICAgICAnbmFtZSc6ICdhdXRvdmFjdXVtX3ZhY3V1bV9jb3N0X2xpbWl0JywKKyAgICAg ICAgJ3NldHRpbmcnOiAnLTEnLAorICAgICAgICAnbGFiZWwnOiAnVkFDVVVNIGNvc3QgbGltaXQn LAorICAgICAgICAnY29sdW1uX3R5cGUnOiAnaW50ZWdlcicsCisgICAgICB9LAorICAgICAgewor ICAgICAgICAnbmFtZSc6ICdhdXRvdmFjdXVtX3ZhY3V1bV9zY2FsZV9mYWN0b3InLAorICAgICAg ICAnc2V0dGluZyc6ICcwLjInLAorICAgICAgICAnbGFiZWwnOiAnVkFDVVVNIHNjYWxlIGZhY3Rv cicsCisgICAgICAgICdjb2x1bW5fdHlwZSc6ICdudW1iZXInLAorICAgICAgfSwKKyAgICAgIHsK KyAgICAgICAgJ25hbWUnOiAnYXV0b3ZhY3V1bV92YWN1dW1fdGhyZXNob2xkJywKKyAgICAgICAg J3NldHRpbmcnOiAnNTAnLAorICAgICAgICAnbGFiZWwnOiAnVkFDVVVNIGJhc2UgdGhyZXNob2xk JywKKyAgICAgICAgJ2NvbHVtbl90eXBlJzogJ2ludGVnZXInLAorICAgICAgfSwKKyAgICAgIHsK KyAgICAgICAgJ25hbWUnOiAnYXV0b3ZhY3V1bV9mcmVlemVfbWluX2FnZScsCisgICAgICAgICdz ZXR0aW5nJzogJzUwMDAwMDAwJywKKyAgICAgICAgJ2xhYmVsJzogJ0ZSRUVaRSBtaW5pbXVtIGFn ZScsCisgICAgICAgICdjb2x1bW5fdHlwZSc6ICdpbnRlZ2VyJywKKyAgICAgIH0sCisgICAgICB7 CisgICAgICAgICduYW1lJzogJ2F1dG92YWN1dW1fZnJlZXplX3RhYmxlX2FnZScsCisgICAgICAg ICdzZXR0aW5nJzogJzE1MDAwMDAwMCcsCisgICAgICAgICdsYWJlbCc6ICdGUkVFWkUgdGFibGUg YWdlJywKKyAgICAgICAgJ2NvbHVtbl90eXBlJzogJ2ludGVnZXInLAorICAgICAgfSwKKyAgICBd LAorICAgICdjb2x1bW5zJzogW3sKKyAgICAgICduYW1lJzogJ2lkJywKKyAgICAgICdhdHR0eXBp ZCc6IDIzLAorICAgICAgJ2F0dGxlbic6IG51bGwsCisgICAgICAnYXR0bnVtJzogMSwKKyAgICAg ICdhdHRuZGltcyc6IDAsCisgICAgICAnYXR0dHlwbW9kJzogLTEsCisgICAgICAnYXR0YWNsJzog W10sCisgICAgICAnYXR0bm90bnVsbCc6IHRydWUsCisgICAgICAnYXR0b3B0aW9ucyc6IG51bGws CisgICAgICAnYXR0c3RhdHRhcmdldCc6IC0xLAorICAgICAgJ2F0dHN0b3JhZ2UnOiAncCcsCisg ICAgICAnYXR0aWRlbnRpdHknOiAnJywKKyAgICAgICdkZWZ2YWwnOiBudWxsLAorICAgICAgJ3R5 cG5hbWUnOiAnaW50ZWdlcicsCisgICAgICAnZGlzcGxheXR5cG5hbWUnOiAnaW50ZWdlcicsCisg ICAgICAnY2x0eXBlJzogJ2ludGVnZXInLAorICAgICAgJ2VsZW1vaWQnOiAyMywKKyAgICAgICd0 eXBuc3BuYW1lJzogJ3BnX2NhdGFsb2cnLAorICAgICAgJ2RlZmF1bHRzdG9yYWdlJzogJ3AnLAor ICAgICAgJ2Rlc2NyaXB0aW9uJzogbnVsbCwKKyAgICAgICdpbmRrZXknOiAnMScsCisgICAgICAn aXNkdXAnOiBmYWxzZSwKKyAgICAgICdjb2xsc3BjbmFtZSc6ICcnLAorICAgICAgJ2lzX2ZrJzog ZmFsc2UsCisgICAgICAnc2VjbGFiZWxzJzogbnVsbCwKKyAgICAgICdpc19zeXNfY29sdW1uJzog ZmFsc2UsCisgICAgICAnY29sY29uc3R5cGUnOiAnbicsCisgICAgICAnZ2VuZXhwcic6IG51bGws CisgICAgICAncmVsbmFtZSc6ICd0YWIxJywKKyAgICAgICdpc192aWV3X29ubHknOiBmYWxzZSwK KyAgICAgICdzZXFyZWxpZCc6IG51bGwsCisgICAgICAnc2VxdHlwaWQnOiBudWxsLAorICAgICAg J3NlcXN0YXJ0JzogbnVsbCwKKyAgICAgICdzZXFpbmNyZW1lbnQnOiBudWxsLAorICAgICAgJ3Nl cW1heCc6IG51bGwsCisgICAgICAnc2VxbWluJzogbnVsbCwKKyAgICAgICdzZXFjYWNoZSc6IG51 bGwsCisgICAgICAnc2VxY3ljbGUnOiBudWxsLAorICAgICAgJ2lzX3BrJzogdHJ1ZSwKKyAgICAg ICdpc19wcmltYXJ5X2tleSc6IHRydWUsCisgICAgICAnYXR0cHJlY2lzaW9uJzogbnVsbCwKKyAg ICAgICdlZGl0X3R5cGVzJzogWworICAgICAgICAnYmlnaW50JywKKyAgICAgICAgJ2RvdWJsZSBw cmVjaXNpb24nLAorICAgICAgICAnaW5mb3JtYXRpb25fc2NoZW1hLmNhcmRpbmFsX251bWJlcics CisgICAgICAgICdpbnRlZ2VyJywKKyAgICAgICAgJ21vbmV5JywKKyAgICAgICAgJ251bWVyaWMn LAorICAgICAgICAnb2lkJywKKyAgICAgICAgJ3JlYWwnLAorICAgICAgICAncmVnY2xhc3MnLAor ICAgICAgICAncmVnY29uZmlnJywKKyAgICAgICAgJ3JlZ2RpY3Rpb25hcnknLAorICAgICAgICAn cmVnbmFtZXNwYWNlJywKKyAgICAgICAgJ3JlZ29wZXInLAorICAgICAgICAncmVnb3BlcmF0b3In LAorICAgICAgICAncmVncHJvYycsCisgICAgICAgICdyZWdwcm9jZWR1cmUnLAorICAgICAgICAn cmVncm9sZScsCisgICAgICAgICdyZWd0eXBlJywKKyAgICAgICAgJ3NtYWxsaW50JywKKyAgICAg IF0sCisgICAgfV0sCisgICAgJ3ByaW1hcnlfa2V5JzogW10sCisgICAgJ3VuaXF1ZV9jb25zdHJh aW50JzogW10sCisgICAgJ2NoZWNrX2NvbnN0cmFpbnQnOiBbXSwKKyAgICAnaW5kZXgnOiB7fSwK KyAgICAncnVsZSc6IHt9LAorICAgICd0cmlnZ2VyJzoge30sCisgICAgJ3Jvd19zZWN1cml0eV9w b2xpY3knOiB7fSwKKyAgfSwKKyAgeworICAgICdvaWQnOiA0MDgyMjksCisgICAgJ25hbWUnOiAn dGVzdDInLAorICAgICdzcGNvaWQnOiAwLAorICAgICdyZWxhY2xfc3RyJzogbnVsbCwKKyAgICAn c3BjbmFtZSc6ICdwZ19kZWZhdWx0JywKKyAgICAnc2NoZW1hJzogJ2VyZCcsCisgICAgJ3JlbG93 bmVyJzogJ3Bvc3RncmVzJywKKyAgICAncmVsa2luZCc6ICdyJywKKyAgICAnaXNfcGFydGl0aW9u ZWQnOiBmYWxzZSwKKyAgICAncmVsaGFzc3ViY2xhc3MnOiBmYWxzZSwKKyAgICAncmVsdHVwbGVz JzogJzAnLAorICAgICdkZXNjcmlwdGlvbic6IG51bGwsCisgICAgJ2Nvbm5hbWUnOiAndGFiMV9w a2V5JywKKyAgICAnY29ua2V5JzogWworICAgICAgMSwKKyAgICBdLAorICAgICdpc3JlcGwnOiBm YWxzZSwKKyAgICAndHJpZ2dlcmNvdW50JzogJzAnLAorICAgICdjb2xsX2luaGVyaXRzJzogW10s CisgICAgJ2luaGVyaXRlZF90YWJsZXNfY250JzogJzAnLAorICAgICdyZWxwZXJzaXN0ZW5jZSc6 IGZhbHNlLAorICAgICdmaWxsZmFjdG9yJzogbnVsbCwKKyAgICAncGFyYWxsZWxfd29ya2Vycyc6 IG51bGwsCisgICAgJ3RvYXN0X3R1cGxlX3RhcmdldCc6IG51bGwsCisgICAgJ2F1dG92YWN1dW1f ZW5hYmxlZCc6ICd4JywKKyAgICAnYXV0b3ZhY3V1bV92YWN1dW1fdGhyZXNob2xkJzogbnVsbCwK KyAgICAnYXV0b3ZhY3V1bV92YWN1dW1fc2NhbGVfZmFjdG9yJzogbnVsbCwKKyAgICAnYXV0b3Zh Y3V1bV9hbmFseXplX3RocmVzaG9sZCc6IG51bGwsCisgICAgJ2F1dG92YWN1dW1fYW5hbHl6ZV9z Y2FsZV9mYWN0b3InOiBudWxsLAorICAgICdhdXRvdmFjdXVtX3ZhY3V1bV9jb3N0X2RlbGF5Jzog bnVsbCwKKyAgICAnYXV0b3ZhY3V1bV92YWN1dW1fY29zdF9saW1pdCc6IG51bGwsCisgICAgJ2F1 dG92YWN1dW1fZnJlZXplX21pbl9hZ2UnOiBudWxsLAorICAgICdhdXRvdmFjdXVtX2ZyZWV6ZV9t YXhfYWdlJzogbnVsbCwKKyAgICAnYXV0b3ZhY3V1bV9mcmVlemVfdGFibGVfYWdlJzogbnVsbCwK KyAgICAndG9hc3RfYXV0b3ZhY3V1bV9lbmFibGVkJzogJ3gnLAorICAgICd0b2FzdF9hdXRvdmFj dXVtX3ZhY3V1bV90aHJlc2hvbGQnOiBudWxsLAorICAgICd0b2FzdF9hdXRvdmFjdXVtX3ZhY3V1 bV9zY2FsZV9mYWN0b3InOiBudWxsLAorICAgICd0b2FzdF9hdXRvdmFjdXVtX2FuYWx5emVfdGhy ZXNob2xkJzogbnVsbCwKKyAgICAndG9hc3RfYXV0b3ZhY3V1bV9hbmFseXplX3NjYWxlX2ZhY3Rv cic6IG51bGwsCisgICAgJ3RvYXN0X2F1dG92YWN1dW1fdmFjdXVtX2Nvc3RfZGVsYXknOiBudWxs LAorICAgICd0b2FzdF9hdXRvdmFjdXVtX3ZhY3V1bV9jb3N0X2xpbWl0JzogbnVsbCwKKyAgICAn dG9hc3RfYXV0b3ZhY3V1bV9mcmVlemVfbWluX2FnZSc6IG51bGwsCisgICAgJ3RvYXN0X2F1dG92 YWN1dW1fZnJlZXplX21heF9hZ2UnOiBudWxsLAorICAgICd0b2FzdF9hdXRvdmFjdXVtX2ZyZWV6 ZV90YWJsZV9hZ2UnOiBudWxsLAorICAgICdyZWxvcHRpb25zJzogbnVsbCwKKyAgICAndG9hc3Rf cmVsb3B0aW9ucyc6IG51bGwsCisgICAgJ3JlbG9mdHlwZSc6IDAsCisgICAgJ3R5cG5hbWUnOiBu dWxsLAorICAgICd0eXBvaWQnOiBudWxsLAorICAgICdybHNwb2xpY3knOiBmYWxzZSwKKyAgICAn Zm9yY2VybHNwb2xpY3knOiBmYWxzZSwKKyAgICAnaGFzdG9hc3R0YWJsZSc6IGZhbHNlLAorICAg ICdzZWNsYWJlbHMnOiBudWxsLAorICAgICdpc19zeXNfdGFibGUnOiBmYWxzZSwKKyAgICAncGFy dGl0aW9uX3NjaGVtZSc6ICcnLAorICAgICdhdXRvdmFjdXVtX2N1c3RvbSc6IGZhbHNlLAorICAg ICd0b2FzdF9hdXRvdmFjdXVtJzogZmFsc2UsCisgICAgJ3Jvd3NfY250JzogMCwKKyAgICAndmFj dXVtX3NldHRpbmdzX3N0cic6ICcnLAorICAgICd2YWN1dW1fdGFibGUnOiBbCisgICAgICB7Cisg ICAgICAgICduYW1lJzogJ2F1dG92YWN1dW1fYW5hbHl6ZV9zY2FsZV9mYWN0b3InLAorICAgICAg ICAnc2V0dGluZyc6ICcwLjEnLAorICAgICAgICAnbGFiZWwnOiAnQU5BTFlaRSBzY2FsZSBmYWN0 b3InLAorICAgICAgICAnY29sdW1uX3R5cGUnOiAnbnVtYmVyJywKKyAgICAgIH0sCisgICAgICB7 CisgICAgICAgICduYW1lJzogJ2F1dG92YWN1dW1fYW5hbHl6ZV90aHJlc2hvbGQnLAorICAgICAg ICAnc2V0dGluZyc6ICc1MCcsCisgICAgICAgICdsYWJlbCc6ICdBTkFMWVpFIGJhc2UgdGhyZXNo b2xkJywKKyAgICAgICAgJ2NvbHVtbl90eXBlJzogJ2ludGVnZXInLAorICAgICAgfSwKKyAgICAg IHsKKyAgICAgICAgJ25hbWUnOiAnYXV0b3ZhY3V1bV9mcmVlemVfbWF4X2FnZScsCisgICAgICAg ICdzZXR0aW5nJzogJzIwMDAwMDAwMCcsCisgICAgICAgICdsYWJlbCc6ICdGUkVFWkUgbWF4aW11 bSBhZ2UnLAorICAgICAgICAnY29sdW1uX3R5cGUnOiAnaW50ZWdlcicsCisgICAgICB9LAorICAg ICAgeworICAgICAgICAnbmFtZSc6ICdhdXRvdmFjdXVtX3ZhY3V1bV9jb3N0X2RlbGF5JywKKyAg ICAgICAgJ3NldHRpbmcnOiAnMicsCisgICAgICAgICdsYWJlbCc6ICdWQUNVVU0gY29zdCBkZWxh eScsCisgICAgICAgICdjb2x1bW5fdHlwZSc6ICdpbnRlZ2VyJywKKyAgICAgIH0sCisgICAgICB7 CisgICAgICAgICduYW1lJzogJ2F1dG92YWN1dW1fdmFjdXVtX2Nvc3RfbGltaXQnLAorICAgICAg ICAnc2V0dGluZyc6ICctMScsCisgICAgICAgICdsYWJlbCc6ICdWQUNVVU0gY29zdCBsaW1pdCcs CisgICAgICAgICdjb2x1bW5fdHlwZSc6ICdpbnRlZ2VyJywKKyAgICAgIH0sCisgICAgICB7Cisg ICAgICAgICduYW1lJzogJ2F1dG92YWN1dW1fdmFjdXVtX3NjYWxlX2ZhY3RvcicsCisgICAgICAg ICdzZXR0aW5nJzogJzAuMicsCisgICAgICAgICdsYWJlbCc6ICdWQUNVVU0gc2NhbGUgZmFjdG9y JywKKyAgICAgICAgJ2NvbHVtbl90eXBlJzogJ251bWJlcicsCisgICAgICB9LAorICAgICAgewor ICAgICAgICAnbmFtZSc6ICdhdXRvdmFjdXVtX3ZhY3V1bV90aHJlc2hvbGQnLAorICAgICAgICAn c2V0dGluZyc6ICc1MCcsCisgICAgICAgICdsYWJlbCc6ICdWQUNVVU0gYmFzZSB0aHJlc2hvbGQn LAorICAgICAgICAnY29sdW1uX3R5cGUnOiAnaW50ZWdlcicsCisgICAgICB9LAorICAgICAgewor ICAgICAgICAnbmFtZSc6ICdhdXRvdmFjdXVtX2ZyZWV6ZV9taW5fYWdlJywKKyAgICAgICAgJ3Nl dHRpbmcnOiAnNTAwMDAwMDAnLAorICAgICAgICAnbGFiZWwnOiAnRlJFRVpFIG1pbmltdW0gYWdl JywKKyAgICAgICAgJ2NvbHVtbl90eXBlJzogJ2ludGVnZXInLAorICAgICAgfSwKKyAgICAgIHsK KyAgICAgICAgJ25hbWUnOiAnYXV0b3ZhY3V1bV9mcmVlemVfdGFibGVfYWdlJywKKyAgICAgICAg J3NldHRpbmcnOiAnMTUwMDAwMDAwJywKKyAgICAgICAgJ2xhYmVsJzogJ0ZSRUVaRSB0YWJsZSBh Z2UnLAorICAgICAgICAnY29sdW1uX3R5cGUnOiAnaW50ZWdlcicsCisgICAgICB9LAorICAgIF0s CisgICAgJ3ZhY3V1bV90b2FzdCc6IFsKKyAgICAgIHsKKyAgICAgICAgJ25hbWUnOiAnYXV0b3Zh Y3V1bV9mcmVlemVfbWF4X2FnZScsCisgICAgICAgICdzZXR0aW5nJzogJzIwMDAwMDAwMCcsCisg ICAgICAgICdsYWJlbCc6ICdGUkVFWkUgbWF4aW11bSBhZ2UnLAorICAgICAgICAnY29sdW1uX3R5 cGUnOiAnaW50ZWdlcicsCisgICAgICB9LAorICAgICAgeworICAgICAgICAnbmFtZSc6ICdhdXRv dmFjdXVtX3ZhY3V1bV9jb3N0X2RlbGF5JywKKyAgICAgICAgJ3NldHRpbmcnOiAnMicsCisgICAg ICAgICdsYWJlbCc6ICdWQUNVVU0gY29zdCBkZWxheScsCisgICAgICAgICdjb2x1bW5fdHlwZSc6 ICdpbnRlZ2VyJywKKyAgICAgIH0sCisgICAgICB7CisgICAgICAgICduYW1lJzogJ2F1dG92YWN1 dW1fdmFjdXVtX2Nvc3RfbGltaXQnLAorICAgICAgICAnc2V0dGluZyc6ICctMScsCisgICAgICAg ICdsYWJlbCc6ICdWQUNVVU0gY29zdCBsaW1pdCcsCisgICAgICAgICdjb2x1bW5fdHlwZSc6ICdp bnRlZ2VyJywKKyAgICAgIH0sCisgICAgICB7CisgICAgICAgICduYW1lJzogJ2F1dG92YWN1dW1f dmFjdXVtX3NjYWxlX2ZhY3RvcicsCisgICAgICAgICdzZXR0aW5nJzogJzAuMicsCisgICAgICAg ICdsYWJlbCc6ICdWQUNVVU0gc2NhbGUgZmFjdG9yJywKKyAgICAgICAgJ2NvbHVtbl90eXBlJzog J251bWJlcicsCisgICAgICB9LAorICAgICAgeworICAgICAgICAnbmFtZSc6ICdhdXRvdmFjdXVt X3ZhY3V1bV90aHJlc2hvbGQnLAorICAgICAgICAnc2V0dGluZyc6ICc1MCcsCisgICAgICAgICds YWJlbCc6ICdWQUNVVU0gYmFzZSB0aHJlc2hvbGQnLAorICAgICAgICAnY29sdW1uX3R5cGUnOiAn aW50ZWdlcicsCisgICAgICB9LAorICAgICAgeworICAgICAgICAnbmFtZSc6ICdhdXRvdmFjdXVt X2ZyZWV6ZV9taW5fYWdlJywKKyAgICAgICAgJ3NldHRpbmcnOiAnNTAwMDAwMDAnLAorICAgICAg ICAnbGFiZWwnOiAnRlJFRVpFIG1pbmltdW0gYWdlJywKKyAgICAgICAgJ2NvbHVtbl90eXBlJzog J2ludGVnZXInLAorICAgICAgfSwKKyAgICAgIHsKKyAgICAgICAgJ25hbWUnOiAnYXV0b3ZhY3V1 bV9mcmVlemVfdGFibGVfYWdlJywKKyAgICAgICAgJ3NldHRpbmcnOiAnMTUwMDAwMDAwJywKKyAg ICAgICAgJ2xhYmVsJzogJ0ZSRUVaRSB0YWJsZSBhZ2UnLAorICAgICAgICAnY29sdW1uX3R5cGUn OiAnaW50ZWdlcicsCisgICAgICB9LAorICAgIF0sCisgICAgJ2NvbHVtbnMnOiBbCisgICAgICB7 CisgICAgICAgICduYW1lJzogJ2lkJywKKyAgICAgICAgJ2F0dHR5cGlkJzogMjMsCisgICAgICAg ICdhdHRsZW4nOiBudWxsLAorICAgICAgICAnYXR0bnVtJzogMSwKKyAgICAgICAgJ2F0dG5kaW1z JzogMCwKKyAgICAgICAgJ2F0dHR5cG1vZCc6IC0xLAorICAgICAgICAnYXR0YWNsJzogW10sCisg ICAgICAgICdhdHRub3RudWxsJzogdHJ1ZSwKKyAgICAgICAgJ2F0dG9wdGlvbnMnOiBudWxsLAor ICAgICAgICAnYXR0c3RhdHRhcmdldCc6IC0xLAorICAgICAgICAnYXR0c3RvcmFnZSc6ICdwJywK KyAgICAgICAgJ2F0dGlkZW50aXR5JzogJycsCisgICAgICAgICdkZWZ2YWwnOiBudWxsLAorICAg ICAgICAndHlwbmFtZSc6ICdpbnRlZ2VyJywKKyAgICAgICAgJ2Rpc3BsYXl0eXBuYW1lJzogJ2lu dGVnZXInLAorICAgICAgICAnY2x0eXBlJzogJ2ludGVnZXInLAorICAgICAgICAnZWxlbW9pZCc6 IDIzLAorICAgICAgICAndHlwbnNwbmFtZSc6ICdwZ19jYXRhbG9nJywKKyAgICAgICAgJ2RlZmF1 bHRzdG9yYWdlJzogJ3AnLAorICAgICAgICAnZGVzY3JpcHRpb24nOiBudWxsLAorICAgICAgICAn aW5ka2V5JzogJzEnLAorICAgICAgICAnaXNkdXAnOiBmYWxzZSwKKyAgICAgICAgJ2NvbGxzcGNu YW1lJzogJycsCisgICAgICAgICdpc19mayc6IGZhbHNlLAorICAgICAgICAnc2VjbGFiZWxzJzog bnVsbCwKKyAgICAgICAgJ2lzX3N5c19jb2x1bW4nOiBmYWxzZSwKKyAgICAgICAgJ2NvbGNvbnN0 eXBlJzogJ24nLAorICAgICAgICAnZ2VuZXhwcic6IG51bGwsCisgICAgICAgICdyZWxuYW1lJzog J3RhYjEnLAorICAgICAgICAnaXNfdmlld19vbmx5JzogZmFsc2UsCisgICAgICAgICdzZXFyZWxp ZCc6IG51bGwsCisgICAgICAgICdzZXF0eXBpZCc6IG51bGwsCisgICAgICAgICdzZXFzdGFydCc6 IG51bGwsCisgICAgICAgICdzZXFpbmNyZW1lbnQnOiBudWxsLAorICAgICAgICAnc2VxbWF4Jzog bnVsbCwKKyAgICAgICAgJ3NlcW1pbic6IG51bGwsCisgICAgICAgICdzZXFjYWNoZSc6IG51bGws CisgICAgICAgICdzZXFjeWNsZSc6IG51bGwsCisgICAgICAgICdpc19wayc6IHRydWUsCisgICAg ICAgICdpc19wcmltYXJ5X2tleSc6IHRydWUsCisgICAgICAgICdhdHRwcmVjaXNpb24nOiBudWxs LAorICAgICAgICAnZWRpdF90eXBlcyc6IFsKKyAgICAgICAgICAnYmlnaW50JywKKyAgICAgICAg ICAnZG91YmxlIHByZWNpc2lvbicsCisgICAgICAgICAgJ2luZm9ybWF0aW9uX3NjaGVtYS5jYXJk aW5hbF9udW1iZXInLAorICAgICAgICAgICdpbnRlZ2VyJywKKyAgICAgICAgICAnbW9uZXknLAor ICAgICAgICAgICdudW1lcmljJywKKyAgICAgICAgICAnb2lkJywKKyAgICAgICAgICAncmVhbCcs CisgICAgICAgICAgJ3JlZ2NsYXNzJywKKyAgICAgICAgICAncmVnY29uZmlnJywKKyAgICAgICAg ICAncmVnZGljdGlvbmFyeScsCisgICAgICAgICAgJ3JlZ25hbWVzcGFjZScsCisgICAgICAgICAg J3JlZ29wZXInLAorICAgICAgICAgICdyZWdvcGVyYXRvcicsCisgICAgICAgICAgJ3JlZ3Byb2Mn LAorICAgICAgICAgICdyZWdwcm9jZWR1cmUnLAorICAgICAgICAgICdyZWdyb2xlJywKKyAgICAg ICAgICAncmVndHlwZScsCisgICAgICAgICAgJ3NtYWxsaW50JywKKyAgICAgICAgXSwKKyAgICAg IH0sCisgICAgICB7CisgICAgICAgICduYW1lJzogJ2NvbDFjb2wxY29sMWNvbDFjb2wxY29sMWNv bDFjb2wxJywKKyAgICAgICAgJ2F0dHR5cGlkJzogMjMsCisgICAgICAgICdhdHRsZW4nOiBudWxs LAorICAgICAgICAnYXR0bnVtJzogMiwKKyAgICAgICAgJ2F0dG5kaW1zJzogMCwKKyAgICAgICAg J2F0dHR5cG1vZCc6IC0xLAorICAgICAgICAnYXR0YWNsJzogW10sCisgICAgICAgICdhdHRub3Ru dWxsJzogdHJ1ZSwKKyAgICAgICAgJ2F0dG9wdGlvbnMnOiBudWxsLAorICAgICAgICAnYXR0c3Rh dHRhcmdldCc6IC0xLAorICAgICAgICAnYXR0c3RvcmFnZSc6ICdwJywKKyAgICAgICAgJ2F0dGlk ZW50aXR5JzogJycsCisgICAgICAgICdkZWZ2YWwnOiBudWxsLAorICAgICAgICAndHlwbmFtZSc6 ICdpbnRlZ2VyJywKKyAgICAgICAgJ2Rpc3BsYXl0eXBuYW1lJzogJ2ludGVnZXInLAorICAgICAg ICAnY2x0eXBlJzogJ2ludGVnZXInLAorICAgICAgICAnZWxlbW9pZCc6IDIzLAorICAgICAgICAn dHlwbnNwbmFtZSc6ICdwZ19jYXRhbG9nJywKKyAgICAgICAgJ2RlZmF1bHRzdG9yYWdlJzogJ3An LAorICAgICAgICAnZGVzY3JpcHRpb24nOiBudWxsLAorICAgICAgICAnaW5ka2V5JzogJzEnLAor ICAgICAgICAnaXNkdXAnOiBmYWxzZSwKKyAgICAgICAgJ2NvbGxzcGNuYW1lJzogJycsCisgICAg ICAgICdpc19mayc6IHRydWUsCisgICAgICAgICdzZWNsYWJlbHMnOiBudWxsLAorICAgICAgICAn aXNfc3lzX2NvbHVtbic6IGZhbHNlLAorICAgICAgICAnY29sY29uc3R5cGUnOiAnbicsCisgICAg ICAgICdnZW5leHByJzogbnVsbCwKKyAgICAgICAgJ3JlbG5hbWUnOiAndGFiMScsCisgICAgICAg ICdpc192aWV3X29ubHknOiBmYWxzZSwKKyAgICAgICAgJ3NlcXJlbGlkJzogbnVsbCwKKyAgICAg ICAgJ3NlcXR5cGlkJzogbnVsbCwKKyAgICAgICAgJ3NlcXN0YXJ0JzogbnVsbCwKKyAgICAgICAg J3NlcWluY3JlbWVudCc6IG51bGwsCisgICAgICAgICdzZXFtYXgnOiBudWxsLAorICAgICAgICAn c2VxbWluJzogbnVsbCwKKyAgICAgICAgJ3NlcWNhY2hlJzogbnVsbCwKKyAgICAgICAgJ3NlcWN5 Y2xlJzogbnVsbCwKKyAgICAgICAgJ2lzX3BrJzogZmFsc2UsCisgICAgICAgICdpc19wcmltYXJ5 X2tleSc6IGZhbHNlLAorICAgICAgICAnYXR0cHJlY2lzaW9uJzogbnVsbCwKKyAgICAgICAgJ2Vk aXRfdHlwZXMnOiBbCisgICAgICAgICAgJ2JpZ2ludCcsCisgICAgICAgICAgJ2RvdWJsZSBwcmVj aXNpb24nLAorICAgICAgICAgICdpbmZvcm1hdGlvbl9zY2hlbWEuY2FyZGluYWxfbnVtYmVyJywK KyAgICAgICAgICAnaW50ZWdlcicsCisgICAgICAgICAgJ2ludGVnZXInLAorICAgICAgICAgICdt b25leScsCisgICAgICAgICAgJ251bWVyaWMnLAorICAgICAgICAgICdvaWQnLAorICAgICAgICAg ICdyZWFsJywKKyAgICAgICAgICAncmVnY2xhc3MnLAorICAgICAgICAgICdyZWdjb25maWcnLAor ICAgICAgICAgICdyZWdkaWN0aW9uYXJ5JywKKyAgICAgICAgICAncmVnbmFtZXNwYWNlJywKKyAg ICAgICAgICAncmVnb3BlcicsCisgICAgICAgICAgJ3JlZ29wZXJhdG9yJywKKyAgICAgICAgICAn cmVncHJvYycsCisgICAgICAgICAgJ3JlZ3Byb2NlZHVyZScsCisgICAgICAgICAgJ3JlZ3JvbGUn LAorICAgICAgICAgICdyZWd0eXBlJywKKyAgICAgICAgICAnc21hbGxpbnQnLAorICAgICAgICBd LAorICAgICAgfSwKKyAgICAgIHsKKyAgICAgICAgJ25hbWUnOiAnY29sMicsCisgICAgICAgICdh dHR0eXBpZCc6IDIzLAorICAgICAgICAnYXR0bGVuJzogbnVsbCwKKyAgICAgICAgJ2F0dG51bSc6 IDMsCisgICAgICAgICdhdHRuZGltcyc6IDAsCisgICAgICAgICdhdHR0eXBtb2QnOiAtMSwKKyAg ICAgICAgJ2F0dGFjbCc6IFtdLAorICAgICAgICAnYXR0bm90bnVsbCc6IGZhbHNlLAorICAgICAg ICAnYXR0b3B0aW9ucyc6IG51bGwsCisgICAgICAgICdhdHRzdGF0dGFyZ2V0JzogLTEsCisgICAg ICAgICdhdHRzdG9yYWdlJzogJ3AnLAorICAgICAgICAnYXR0aWRlbnRpdHknOiAnJywKKyAgICAg ICAgJ2RlZnZhbCc6IG51bGwsCisgICAgICAgICd0eXBuYW1lJzogJ2ludGVnZXInLAorICAgICAg ICAnZGlzcGxheXR5cG5hbWUnOiAnaW50ZWdlcicsCisgICAgICAgICdjbHR5cGUnOiAnaW50ZWdl cicsCisgICAgICAgICdlbGVtb2lkJzogMjMsCisgICAgICAgICd0eXBuc3BuYW1lJzogJ3BnX2Nh dGFsb2cnLAorICAgICAgICAnZGVmYXVsdHN0b3JhZ2UnOiAncCcsCisgICAgICAgICdkZXNjcmlw dGlvbic6IG51bGwsCisgICAgICAgICdpbmRrZXknOiAnMScsCisgICAgICAgICdpc2R1cCc6IGZh bHNlLAorICAgICAgICAnY29sbHNwY25hbWUnOiAnJywKKyAgICAgICAgJ2lzX2ZrJzogZmFsc2Us CisgICAgICAgICdzZWNsYWJlbHMnOiBudWxsLAorICAgICAgICAnaXNfc3lzX2NvbHVtbic6IGZh bHNlLAorICAgICAgICAnY29sY29uc3R5cGUnOiAnbicsCisgICAgICAgICdnZW5leHByJzogbnVs bCwKKyAgICAgICAgJ3JlbG5hbWUnOiAndGFiMScsCisgICAgICAgICdpc192aWV3X29ubHknOiBm YWxzZSwKKyAgICAgICAgJ3NlcXJlbGlkJzogbnVsbCwKKyAgICAgICAgJ3NlcXR5cGlkJzogbnVs bCwKKyAgICAgICAgJ3NlcXN0YXJ0JzogbnVsbCwKKyAgICAgICAgJ3NlcWluY3JlbWVudCc6IG51 bGwsCisgICAgICAgICdzZXFtYXgnOiBudWxsLAorICAgICAgICAnc2VxbWluJzogbnVsbCwKKyAg ICAgICAgJ3NlcWNhY2hlJzogbnVsbCwKKyAgICAgICAgJ3NlcWN5Y2xlJzogbnVsbCwKKyAgICAg ICAgJ2lzX3BrJzogZmFsc2UsCisgICAgICAgICdpc19wcmltYXJ5X2tleSc6IGZhbHNlLAorICAg ICAgICAnYXR0cHJlY2lzaW9uJzogbnVsbCwKKyAgICAgICAgJ2VkaXRfdHlwZXMnOiBbCisgICAg ICAgICAgJ2JpZ2ludCcsCisgICAgICAgICAgJ2RvdWJsZSBwcmVjaXNpb24nLAorICAgICAgICAg ICdpbmZvcm1hdGlvbl9zY2hlbWEuY2FyZGluYWxfbnVtYmVyJywKKyAgICAgICAgICAnaW50ZWdl cicsCisgICAgICAgICAgJ2ludGVnZXInLAorICAgICAgICAgICdpbnRlZ2VyJywKKyAgICAgICAg ICAnbW9uZXknLAorICAgICAgICAgICdudW1lcmljJywKKyAgICAgICAgICAnb2lkJywKKyAgICAg ICAgICAncmVhbCcsCisgICAgICAgICAgJ3JlZ2NsYXNzJywKKyAgICAgICAgICAncmVnY29uZmln JywKKyAgICAgICAgICAncmVnZGljdGlvbmFyeScsCisgICAgICAgICAgJ3JlZ25hbWVzcGFjZScs CisgICAgICAgICAgJ3JlZ29wZXInLAorICAgICAgICAgICdyZWdvcGVyYXRvcicsCisgICAgICAg ICAgJ3JlZ3Byb2MnLAorICAgICAgICAgICdyZWdwcm9jZWR1cmUnLAorICAgICAgICAgICdyZWdy b2xlJywKKyAgICAgICAgICAncmVndHlwZScsCisgICAgICAgICAgJ3NtYWxsaW50JywKKyAgICAg ICAgXSwKKyAgICAgIH0sCisgICAgXSwKKyAgICAncHJpbWFyeV9rZXknOiBbCisgICAgICB7Cisg ICAgICAgICdvaWQnOiA0MDgyMzIsCisgICAgICAgICduYW1lJzogJ3RhYjFfcGtleScsCisgICAg ICAgICdjb2xfY291bnQnOiAxLAorICAgICAgICAnc3BjbmFtZSc6ICdwZ19kZWZhdWx0JywKKyAg ICAgICAgJ2NvbW1lbnQnOiBudWxsLAorICAgICAgICAnY29uZGVmZXJyYWJsZSc6IGZhbHNlLAor ICAgICAgICAnY29uZGVmZXJyZWQnOiBmYWxzZSwKKyAgICAgICAgJ2ZpbGxmYWN0b3InOiBudWxs LAorICAgICAgICAnY29sdW1ucyc6IFsKKyAgICAgICAgICB7CisgICAgICAgICAgICAnY29sdW1u JzogJ2lkJywKKyAgICAgICAgICB9LAorICAgICAgICBdLAorICAgICAgICAnaW5jbHVkZSc6IFtd LAorICAgICAgfSwKKyAgICBdLAorICAgICd1bmlxdWVfY29uc3RyYWludCc6IFtdLAorICAgICdm b3JlaWduX2tleSc6IFsKKyAgICAgIHsKKyAgICAgICAgJ29pZCc6IDQwODIzOSwKKyAgICAgICAg J25hbWUnOiAndGFiMV9jb2wxX2ZrZXknLAorICAgICAgICAnY29uZGVmZXJyYWJsZSc6IGZhbHNl LAorICAgICAgICAnY29uZGVmZXJyZWQnOiBmYWxzZSwKKyAgICAgICAgJ2NvbmZ1cGR0eXBlJzog J2EnLAorICAgICAgICAnY29uZmRlbHR5cGUnOiAnYScsCisgICAgICAgICdjb25mbWF0Y2h0eXBl JzogZmFsc2UsCisgICAgICAgICdjb25rZXknOiBbCisgICAgICAgICAgMiwKKyAgICAgICAgXSwK KyAgICAgICAgJ2NvbmZrZXknOiBbCisgICAgICAgICAgMSwKKyAgICAgICAgXSwKKyAgICAgICAg J2NvbmZyZWxpZCc6IDQwODIzNCwKKyAgICAgICAgJ2ZrbnNwJzogJ2VyZCcsCisgICAgICAgICdm a3RhYic6ICd0YWIxJywKKyAgICAgICAgJ3JlZm5zcCc6ICdlcmQnLAorICAgICAgICAncmVmdGFi JzogJ3RhYjInLAorICAgICAgICAnY29tbWVudCc6IG51bGwsCisgICAgICAgICdjb252YWxpZGF0 ZWQnOiBmYWxzZSwKKyAgICAgICAgJ2NvbHVtbnMnOiBbCisgICAgICAgICAgeworICAgICAgICAg ICAgJ2xvY2FsX2NvbHVtbic6ICdjb2wxY29sMWNvbDFjb2wxY29sMWNvbDFjb2wxY29sMScsCisg ICAgICAgICAgICAncmVmZXJlbmNlcyc6IDEyMzQ1NiwKKyAgICAgICAgICAgICdyZWZlcmVuY2Vk JzogJ2lkJywKKyAgICAgICAgICAgICdyZWZlcmVuY2VzX3RhYmxlX25hbWUnOiAnc2NoZW1hMS50 ZXN0MScsCisgICAgICAgICAgfSwKKyAgICAgICAgXSwKKyAgICAgICAgJ3JlbW90ZV9zY2hlbWEn OiAnc2NoZW1hMScsCisgICAgICAgICdyZW1vdGVfdGFibGUnOiAndGVzdDEnLAorICAgICAgICAn Y292ZXJpbmdpbmRleCc6IG51bGwsCisgICAgICAgICdhdXRvaW5kZXgnOiB0cnVlLAorICAgICAg ICAnaGFzaW5kZXgnOiBmYWxzZSwKKyAgICAgIH0sCisgICAgXSwKKyAgICAnY2hlY2tfY29uc3Ry YWludCc6IFtdLAorICAgICdpbmRleCc6IHt9LAorICAgICdydWxlJzoge30sCisgICAgJ3RyaWdn ZXInOiB7fSwKKyAgICAncm93X3NlY3VyaXR5X3BvbGljeSc6IHt9LAorICB9LAorXTsKZGlmZiAt LWdpdCBhL3dlYi9yZWdyZXNzaW9uL2phdmFzY3JpcHQvZXJkL3VpX2NvbXBvbmVudHMvYm9keV93 aWRnZXRfc3BlYy5qcyBiL3dlYi9yZWdyZXNzaW9uL2phdmFzY3JpcHQvZXJkL3VpX2NvbXBvbmVu dHMvYm9keV93aWRnZXRfc3BlYy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAuLjE3NzFkZGNiOQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9yZWdyZXNzaW9uL2phdmFzY3Jp cHQvZXJkL3VpX2NvbXBvbmVudHMvYm9keV93aWRnZXRfc3BlYy5qcwpAQCAtMCwwICsxLDUwNSBA QAoraW1wb3J0IGphc21pbmVFbnp5bWUgZnJvbSAnamFzbWluZS1lbnp5bWUnOworaW1wb3J0IFJl YWN0IGZyb20gJ3JlYWN0JzsKK2ltcG9ydCB7bW91bnR9IGZyb20gJ2VuenltZSc7CitpbXBvcnQg Jy4uLy4uL2hlbHBlci9lbnp5bWUuaGVscGVyJzsKK2ltcG9ydCBNb2NrQWRhcHRlciBmcm9tICdh eGlvcy1tb2NrLWFkYXB0ZXInOworaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zL2luZGV4JzsKKwor aW1wb3J0IEVSRENvcmUgZnJvbSAncGdhZG1pbi50b29scy5lcmQvZXJkX3Rvb2wvRVJEQ29yZSc7 CitpbXBvcnQgKiBhcyBlcmRNb2R1bGUgZnJvbSAncGdhZG1pbi50b29scy5lcmQvZXJkX21vZHVs ZSc7CitpbXBvcnQgZXJkUHJlZiBmcm9tICcuL2VyZF9wcmVmZXJlbmNlcyc7CitpbXBvcnQgQm9k eVdpZGdldCBmcm9tICdwZ2FkbWluLnRvb2xzLmVyZC9lcmRfdG9vbC91aV9jb21wb25lbnRzL0Jv ZHlXaWRnZXQnOworaW1wb3J0ICogYXMgRVJEU3FsVG9vbCBmcm9tICd0b29scy9kYXRhZ3JpZC9z dGF0aWMvanMvc2hvd19xdWVyeV90b29sJzsKKworbGV0IHBnQWRtaW4gPSB7CisgIEJyb3dzZXI6 IHsKKyAgICBFdmVudHM6IHsKKyAgICAgIG9uOiBqYXNtaW5lLmNyZWF0ZVNweSgnb24nKSwKKyAg ICB9LAorICAgIGdldF9wcmVmZXJlbmNlc19mb3JfbW9kdWxlOiBmdW5jdGlvbigpIHsKKyAgICAg IHJldHVybiBlcmRQcmVmOworICAgIH0sCisgICAgZG9ja2VyOiB7CisgICAgICBmaW5kUGFuZWxz OiBmdW5jdGlvbigpIHsKKyAgICAgICAgcmV0dXJuIFsKKyAgICAgICAgICB7CisgICAgICAgICAg ICBpc1Zpc2libGU6IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg ICAgICAgICAgIH0sCisgICAgICAgICAgfSwKKyAgICAgICAgXTsKKyAgICAgIH0sCisgICAgfSwK KyAgICBvblByZWZlcmVuY2VzQ2hhbmdlOiAoKT0+e30sCisgICAgdXRpbHM6IHsKKyAgICAgIGFw cF92ZXJzaW9uX2ludDogMTIzNCwKKyAgICB9LAorICB9LAorICBGaWxlTWFuYWdlcjogeworICAg IGluaXQ6IGphc21pbmUuY3JlYXRlU3B5KCksCisgICAgc2hvd19kaWFsb2c6IGphc21pbmUuY3Jl YXRlU3B5KCksCisgIH0sCit9OworCitsZXQgYWxlcnRpZnkgPSBqYXNtaW5lLmNyZWF0ZVNweU9i aignYWxlcnRpZnknLCB7CisgICdzdWNjZXNzJzogbnVsbCwKKyAgJ2Vycm9yJzogbnVsbCwKKyAg J2FsZXJ0JzogeworICAgICdzZXQnOiAoKT0+e30sCisgIH0sCit9KTsKKworbGV0IHRhYmxlRGlh bG9nID0gamFzbWluZS5jcmVhdGVTcHlPYmooJ1RhYmxlRGlhbG9nJywgWydzaG93J10pOworbGV0 IG90bURpYWxvZyA9IGphc21pbmUuY3JlYXRlU3B5T2JqKCdvdG1EaWFsb2cnLCBbJ3Nob3cnXSk7 CitsZXQgbXRtRGlhbG9nID0gamFzbWluZS5jcmVhdGVTcHlPYmooJ210bURpYWxvZycsIFsnc2hv dyddKTsKKworbGV0IGdldERpYWxvZyA9IChkaWFsb2dOYW1lKT0+eworICBzd2l0Y2goZGlhbG9n TmFtZSkgeworICBjYXNlICdlbnRpdHlfZGlhbG9nJzogcmV0dXJuIHRhYmxlRGlhbG9nOworICBj YXNlICdvbmV0b21hbnlfZGlhbG9nJzogcmV0dXJuIG90bURpYWxvZzsKKyAgY2FzZSAnbWFueXRv bWFueV9kaWFsb2cnOiByZXR1cm4gbXRtRGlhbG9nOworICB9Cit9OworCitkZXNjcmliZSgnRVJE IEJvZHlXaWRnZXQnLCAoKT0+eworICBsZXQgYm9keSA9IG51bGw7CisgIGxldCBib2R5SW5zdGFu Y2UgPSBudWxsOworICBsZXQgbmV0d29ya01vY2sgPSBudWxsOworICBsZXQgc2VydmVyVmVyc2lv biA9IDEyMDAwMDsKKyAgbGV0IGNvbFR5cGVzID0gWworICAgIHsnbGFiZWwnOiAnaW50ZWdlcics ICd2YWx1ZSc6ICdpbnRlZ2VyJ30sCisgICAgeydsYWJlbCc6ICdjaGFyYWN0ZXIgdmFycnlpbmcn LCAndmFsdWUnOiAnY2hhcmFjdGVyIHZhcnJ5aW5nJ30sCisgIF07CisgIGxldCBzY2hlbWFzID0g WworICAgIHsnb2lkJzogMTExLCAnbmFtZSc6ICdlcmQxJ30sCisgICAgeydvaWQnOiAyMjIsICdu YW1lJzogJ2VyZDInfSwKKyAgXTsKKyAgbGV0IHBhcmFtcyA9IHsKKyAgICBiZ2NvbG9yOiBudWxs LAorICAgIGNsaWVudF9wbGF0Zm9ybTogJ21hY29zJywKKyAgICBkaWQ6ICcxMzYzNycsCisgICAg Zmdjb2xvcjogbnVsbCwKKyAgICBnZW46IHRydWUsCisgICAgaXNfZGVza3RvcF9tb2RlOiB0cnVl LAorICAgIGlzX2xpbnV4OiBmYWxzZSwKKyAgICBzZXJ2ZXJfdHlwZTogJ3BnJywKKyAgICBzZ2lk OiAnMScsCisgICAgc2lkOiAnNScsCisgICAgdGl0bGU6ICdwb3N0Z3Jlcy9wb3N0Z3Jlc0BQb3N0 Z3JlU1FMIDEyJywKKyAgICB0cmFuc19pZDogMTEwMDA4LAorICB9OworCisgIGJlZm9yZUFsbCgo KT0+eworICAgIHNweU9uKGVyZE1vZHVsZSwgJ3NldFBhbmVsVGl0bGUnKTsKKyAgICBzcHlPbihF UkRDb3JlLnByb3RvdHlwZSwgJ3JlcGFpbnQnKTsKKyAgICBzcHlPbihFUkRDb3JlLnByb3RvdHlw ZSwgJ2Rlc2VyaWFsaXplRGF0YScpOworICAgIHNweU9uKEVSRENvcmUucHJvdG90eXBlLCAnYWRk Tm9kZScpLmFuZC5yZXR1cm5WYWx1ZSh7CisgICAgICBzZXRTZWxlY3RlZDogKCk9Pnt9LAorICAg ICAgZ2V0Q29sdW1uczogKCk9Pihbe2F0dG51bTogMH0sIHthdHRudW06IDF9XSksCisgICAgICBn ZXRJRDogKCk9PiduZXdpZDEnLAorICAgIH0pOworICAgIHNweU9uKEVSRENvcmUucHJvdG90eXBl LCAnYWRkTGluaycpLmFuZC5yZXR1cm5WYWx1ZSh7CisgICAgICBzZXRTZWxlY3RlZDogKCk9Pnt9 LAorICAgIH0pOworCisgICAgbmV0d29ya01vY2sgPSBuZXcgTW9ja0FkYXB0ZXIoYXhpb3MpOwor ICAgIG5ldHdvcmtNb2NrLm9uUG9zdCgnL2VyZC9pbml0aWFsaXplLzExMDAwOC8xLzUvMTM2Mzcn KS5yZXBseSgyMDAsIHsnZGF0YSc6IHsKKyAgICAgIHNlcnZlclZlcnNpb246IHNlcnZlclZlcnNp b24sCisgICAgfX0pOworICAgIG5ldHdvcmtNb2NrLm9uR2V0KCcvZXJkL3ByZXF1aXNpdGUvMTEw MDA4LzEvNS8xMzYzNycpLnJlcGx5KDIwMCwgeydkYXRhJzogeworICAgICAgJ2NvbF90eXBlcyc6 IGNvbFR5cGVzLAorICAgICAgJ3NjaGVtYXMnOiBzY2hlbWFzLAorICAgIH19KTsKKyAgICBuZXR3 b3JrTW9jay5vbkdldCgnL2VyZC90YWJsZXMvMTEwMDA4LzEvNS8xMzYzNycpLnJlcGx5KDIwMCwg eydkYXRhJzogW119KTsKKworICAgIG5ldHdvcmtNb2NrLm9uUG9zdCgnL2VyZC9zcWwvMTEwMDA4 LzEvNS8xMzYzNycpLnJlcGx5KDIwMCwgeydkYXRhJzogJ1NFTEVDVCAxOyd9KTsKKworICAgIG5l dHdvcmtNb2NrLm9uUG9zdCgnL3NxbGVkaXRvci9sb2FkX2ZpbGUvJykucmVwbHkoMjAwLCB7J2Rh dGEnOiAnZGF0YSd9KTsKKyAgICBuZXR3b3JrTW9jay5vblBvc3QoJy9zcWxlZGl0b3Ivc2F2ZV9m aWxlLycpLnJlcGx5KDIwMCwgeydkYXRhJzogJ2RhdGEnfSk7CisgIH0pOworCisgIGJlZm9yZUVh Y2goKCk9PnsKKyAgICBqYXNtaW5lRW56eW1lKCk7CisgICAgYm9keSA9IG1vdW50KDxCb2R5V2lk Z2V0IHBhcmFtcz17cGFyYW1zfSBwZ0FkbWluPXtwZ0FkbWlufSBnZXREaWFsb2c9e2dldERpYWxv Z30gYWxlcnRpZnk9e2FsZXJ0aWZ5fS8+KTsKKyAgICBib2R5SW5zdGFuY2UgPSBib2R5Lmluc3Rh bmNlKCk7CisgIH0pOworCisgIGFmdGVyQWxsKCgpID0+IHsKKyAgICBuZXR3b3JrTW9jay5yZXN0 b3JlKCk7CisgICAgaWYoYm9keSkgeworICAgICAgYm9keS51bm1vdW50KCk7CisgICAgfQorICB9 KTsKKworICBpdCgnY29uc3RydWN0b3InLCAoZG9uZSk9PnsKKworICAgIGV4cGVjdChib2R5LmZp bmQoJ1Rvb2xCYXInKS5sZW5ndGgpLnRvQmUoMSk7CisgICAgZXhwZWN0KGJvZHkuZmluZCgnQ29u bmVjdGlvbkJhcicpLmxlbmd0aCkudG9CZSgxKTsKKyAgICBleHBlY3QoYm9keS5maW5kKCdGbG9h dGluZ05vdGUnKS5sZW5ndGgpLnRvQmUoMSk7CisgICAgZXhwZWN0KGJvZHkuZmluZCgnLmRpYWdy YW0tY29udGFpbmVyIExvYWRlcicpLmxlbmd0aCkudG9CZSgxKTsKKyAgICBleHBlY3QoYm9keS5m aW5kKCcuZGlhZ3JhbS1jb250YWluZXIgQ2FudmFzV2lkZ2V0JykubGVuZ3RoKS50b0JlKDEpOwor CisgICAgYm9keS5pbnN0YW5jZSgpLnNldFN0YXRlKHt9LCAoKT0+eworICAgICAgbGV0IGluc3Rh bmNlID0gYm9keS5pbnN0YW5jZSgpOworCisgICAgICBzZXRUaW1lb3V0KCgpPT57CisgICAgICAg IGV4cGVjdChib2R5LnN0YXRlKCkpLnRvRXF1YWwoamFzbWluZS5vYmplY3RDb250YWluaW5nKHsK KyAgICAgICAgICBzZXJ2ZXJfdmVyc2lvbjogc2VydmVyVmVyc2lvbiwKKyAgICAgICAgICBwcmVm ZXJlbmNlczogZXJkUHJlZiwKKyAgICAgICAgfSkpOworICAgICAgICBleHBlY3QoaW5zdGFuY2Uu ZGlhZ3JhbS5nZXRDYWNoZSgnY29sVHlwZXMnKSkudG9FcXVhbChjb2xUeXBlcyk7CisgICAgICAg IGV4cGVjdChpbnN0YW5jZS5kaWFncmFtLmdldENhY2hlKCdzY2hlbWFzJykpLnRvRXF1YWwoc2No ZW1hcyk7CisgICAgICAgIGRvbmUoKTsKKyAgICAgIH0pOworICAgIH0pOworICB9KTsKKworICBp dCgnZXZlbnQgb2Zmc2V0VXBkYXRlZCcsIChkb25lKT0+eworICAgIGJvZHlJbnN0YW5jZS5kaWFn cmFtLmZpcmVFdmVudCh7b2Zmc2V0WDogNCwgb2Zmc2V0WTogNX0sICdvZmZzZXRVcGRhdGVkJywg dHJ1ZSk7CisgICAgc2V0VGltZW91dCgoKT0+eworICAgICAgZXhwZWN0KGJvZHlJbnN0YW5jZS5j YW52YXNFbGUuc3R5bGUuYmFja2dyb3VuZFBvc2l0aW9uKS50b0JlKCc0cHggNXB4Jyk7CisgICAg ICBkb25lKCk7CisgICAgfSk7CisgIH0pOworCisgIGl0KCdldmVudCB6b29tVXBkYXRlZCcsIChk b25lKT0+eworICAgIHNweU9uKGJvZHlJbnN0YW5jZS5kaWFncmFtLmdldE1vZGVsKCksICdnZXRP cHRpb25zJykuYW5kLnJldHVyblZhbHVlKHtncmlkU2l6ZTogMTV9KTsKKyAgICBib2R5SW5zdGFu Y2UuZGlhZ3JhbS5maXJlRXZlbnQoe3pvb206IDIwfSwgJ3pvb21VcGRhdGVkJywgdHJ1ZSk7Cisg ICAgc2V0VGltZW91dCgoKT0+eworICAgICAgZXhwZWN0KGJvZHlJbnN0YW5jZS5jYW52YXNFbGUu c3R5bGUuYmFja2dyb3VuZFNpemUpLnRvQmUoJzlweCA5cHgnKTsKKyAgICAgIGRvbmUoKTsKKyAg ICB9KTsKKyAgfSk7CisKKyAgaXQoJ2V2ZW50IG5vZGVzU2VsZWN0aW9uQ2hhbmdlZCcsIChkb25l KT0+eworICAgIHNweU9uKGJvZHlJbnN0YW5jZS5kaWFncmFtLCAnZ2V0U2VsZWN0ZWROb2Rlcycp LmFuZC5yZXR1cm5WYWx1ZShbe2tleTondmFsdWUnfV0pOworICAgIGJvZHlJbnN0YW5jZS5kaWFn cmFtLmZpcmVFdmVudCh7fSwgJ25vZGVzU2VsZWN0aW9uQ2hhbmdlZCcsIHRydWUpOworICAgIHNl dFRpbWVvdXQoKCk9PnsKKyAgICAgIGV4cGVjdChib2R5LnN0YXRlKCkubm9fbm9kZV9zZWxlY3Rl ZCkudG9CZShmYWxzZSk7CisgICAgICBkb25lKCk7CisgICAgfSk7CisgIH0pOworCisgIGl0KCdl dmVudCBsaW5rc1NlbGVjdGlvbkNoYW5nZWQnLCAoZG9uZSk9PnsKKyAgICBzcHlPbihib2R5SW5z dGFuY2UuZGlhZ3JhbSwgJ2dldFNlbGVjdGVkTGlua3MnKS5hbmQucmV0dXJuVmFsdWUoW3trZXk6 J3ZhbHVlJ31dKTsKKyAgICBib2R5SW5zdGFuY2UuZGlhZ3JhbS5maXJlRXZlbnQoe30sICdsaW5r c1NlbGVjdGlvbkNoYW5nZWQnLCB0cnVlKTsKKyAgICBzZXRUaW1lb3V0KCgpPT57CisgICAgICBl eHBlY3QoYm9keS5zdGF0ZSgpLm5vX2xpbmtfc2VsZWN0ZWQpLnRvQmUoZmFsc2UpOworICAgICAg ZG9uZSgpOworICAgIH0pOworICB9KTsKKworICBpdCgnZXZlbnQgbGlua3NVcGRhdGVkJywgKGRv bmUpPT57CisgICAgYm9keUluc3RhbmNlLmRpYWdyYW0uZmlyZUV2ZW50KHt9LCAnbGlua3NVcGRh dGVkJywgdHJ1ZSk7CisgICAgc2V0VGltZW91dCgoKT0+eworICAgICAgZXhwZWN0KGJvZHkuc3Rh dGUoKS5kaXJ0eSkudG9CZSh0cnVlKTsKKyAgICAgIGRvbmUoKTsKKyAgICB9KTsKKyAgfSk7CisK KyAgaXQoJ2V2ZW50IG5vZGVzVXBkYXRlZCcsIChkb25lKT0+eworICAgIGJvZHlJbnN0YW5jZS5k aWFncmFtLmZpcmVFdmVudCh7fSwgJ25vZGVzVXBkYXRlZCcsIHRydWUpOworICAgIHNldFRpbWVv dXQoKCk9PnsKKyAgICAgIGV4cGVjdChib2R5LnN0YXRlKCkuZGlydHkpLnRvQmUodHJ1ZSk7Cisg ICAgICBkb25lKCk7CisgICAgfSk7CisgIH0pOworCisgIGl0KCdldmVudCBzaG93Tm90ZScsIChk b25lKT0+eworICAgIGxldCBub3RlTm9kZSA9IHtrZXk6ICd2YWx1ZScsIGdldE5vdGU6ICgpPT4n YSBub3RlJ307CisgICAgc3B5T24oYm9keUluc3RhbmNlLCAnc2hvd05vdGUnKTsKKyAgICBib2R5 SW5zdGFuY2UuZGlhZ3JhbS5maXJlRXZlbnQoe25vZGU6IG5vdGVOb2RlfSwgJ3Nob3dOb3RlJywg dHJ1ZSk7CisgICAgc2V0VGltZW91dCgoKT0+eworICAgICAgZXhwZWN0KGJvZHlJbnN0YW5jZS5z aG93Tm90ZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgobm90ZU5vZGUpOworICAgICAgZG9uZSgpOwor ICAgIH0pOworICB9KTsKKworICBpdCgnZXZlbnQgZWRpdE5vZGUnLCAoZG9uZSk9PnsKKyAgICBs ZXQgbm9kZSA9IHtrZXk6ICd2YWx1ZScsIGdldE5vdGU6ICgpPT4nYSBub3RlJ307CisgICAgc3B5 T24oYm9keUluc3RhbmNlLCAnYWRkRWRpdE5vZGUnKTsKKyAgICBib2R5SW5zdGFuY2UuZGlhZ3Jh bS5maXJlRXZlbnQoe25vZGU6IG5vZGV9LCAnZWRpdE5vZGUnLCB0cnVlKTsKKyAgICBzZXRUaW1l b3V0KCgpPT57CisgICAgICBleHBlY3QoYm9keUluc3RhbmNlLmFkZEVkaXROb2RlKS50b0hhdmVC ZWVuQ2FsbGVkV2l0aChub2RlKTsKKyAgICAgIGRvbmUoKTsKKyAgICB9KTsKKyAgfSk7CisKKyAg aXQoJ2dldERpYWxvZycsICgpPT57CisgICAgYm9keUluc3RhbmNlLmdldERpYWxvZygnZW50aXR5 X2RpYWxvZycpKCk7CisgICAgZXhwZWN0KHRhYmxlRGlhbG9nLnNob3cpLnRvSGF2ZUJlZW5DYWxs ZWQoKTsKKworICAgIGJvZHlJbnN0YW5jZS5nZXREaWFsb2coJ29uZXRvbWFueV9kaWFsb2cnKSgp OworICAgIGV4cGVjdChvdG1EaWFsb2cuc2hvdykudG9IYXZlQmVlbkNhbGxlZCgpOworCisgICAg Ym9keUluc3RhbmNlLmdldERpYWxvZygnbWFueXRvbWFueV9kaWFsb2cnKSgpOworICAgIGV4cGVj dChtdG1EaWFsb2cuc2hvdykudG9IYXZlQmVlbkNhbGxlZCgpOworICB9KTsKKworICBpdCgnYWRk RWRpdE5vZGUnLCAoKT0+eworICAgIC8qIE5ldyAqLworICAgIHRhYmxlRGlhbG9nLnNob3cuY2Fs bHMucmVzZXQoKTsKKyAgICBib2R5SW5zdGFuY2UuYWRkRWRpdE5vZGUoKTsKKyAgICBleHBlY3Qo dGFibGVEaWFsb2cuc2hvdykudG9IYXZlQmVlbkNhbGxlZCgpOworCisgICAgbGV0IHNhdmVDYWxs YmFjayA9IHRhYmxlRGlhbG9nLnNob3cuY2FsbHMubW9zdFJlY2VudCgpLmFyZ3NbNV07CisgICAg bGV0IG5ld0RhdGEgPSB7a2V5OiAndmFsdWUnfTsKKyAgICBzYXZlQ2FsbGJhY2sobmV3RGF0YSk7 CisgICAgZXhwZWN0KGJvZHlJbnN0YW5jZS5kaWFncmFtLmFkZE5vZGUpLnRvSGF2ZUJlZW5DYWxs ZWRXaXRoKG5ld0RhdGEpOworCisgICAgLyogRXhpc3RpbmcgKi8KKyAgICB0YWJsZURpYWxvZy5z aG93LmNhbGxzLnJlc2V0KCk7CisgICAgbGV0IG5vZGUgPSBqYXNtaW5lLmNyZWF0ZVNweU9iaign bm9kZScseworICAgICAgZ2V0U2NoZW1hVGFibGVOYW1lOiBbJ2VyZDEnLCAndGFibGUxJ10sCisg ICAgICBzZXREYXRhOiBudWxsLAorICAgICAgZ2V0RGF0YTogbnVsbCwKKyAgICB9KTsKKyAgICBi b2R5SW5zdGFuY2UuYWRkRWRpdE5vZGUobm9kZSk7CisgICAgZXhwZWN0KHRhYmxlRGlhbG9nLnNo b3cpLnRvSGF2ZUJlZW5DYWxsZWQoKTsKKworICAgIHNhdmVDYWxsYmFjayA9IHRhYmxlRGlhbG9n LnNob3cuY2FsbHMubW9zdFJlY2VudCgpLmFyZ3NbNV07CisgICAgbmV3RGF0YSA9IHtrZXk6ICd2 YWx1ZSd9OworICAgIHNhdmVDYWxsYmFjayhuZXdEYXRhKTsKKyAgICBleHBlY3Qobm9kZS5zZXRE YXRhKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChuZXdEYXRhKTsKKyAgfSk7CisKKyAgaXQoJ29uRWRp dE5vZGUnLCAoKT0+eworICAgIGxldCBub2RlID0ge2tleTogJ3ZhbHVlJ307CisgICAgc3B5T24o Ym9keUluc3RhbmNlLCAnYWRkRWRpdE5vZGUnKTsKKyAgICBzcHlPbihib2R5SW5zdGFuY2UuZGlh Z3JhbSwgJ2dldFNlbGVjdGVkTm9kZXMnKS5hbmQucmV0dXJuVmFsdWUoW25vZGVdKTsKKyAgICBi b2R5SW5zdGFuY2Uub25FZGl0Tm9kZSgpOworICAgIGV4cGVjdChib2R5SW5zdGFuY2UuYWRkRWRp dE5vZGUpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKG5vZGUpOworICB9KTsKKworICBpdCgnb25BZGRO ZXdOb2RlJywgKCk9PnsKKyAgICBzcHlPbihib2R5SW5zdGFuY2UsICdhZGRFZGl0Tm9kZScpOwor ICAgIGJvZHlJbnN0YW5jZS5vbkFkZE5ld05vZGUoKTsKKyAgICBleHBlY3QoYm9keUluc3RhbmNl LmFkZEVkaXROb2RlKS50b0hhdmVCZWVuQ2FsbGVkKCk7CisgIH0pOworCisgIGl0KCdvbkNsb25l Tm9kZScsICgpPT57CisgICAgbGV0IG5vZGUgPSBqYXNtaW5lLmNyZWF0ZVNweU9iaignbm9kZScs eworICAgICAgZ2V0U2NoZW1hVGFibGVOYW1lOiBbJ2VyZDEnLCAndGFibGUxJ10sCisgICAgICBz ZXREYXRhOiBudWxsLAorICAgICAgZ2V0RGF0YTogbnVsbCwKKyAgICAgIGNsb25lRGF0YToge2tl eTogJ3ZhbHVlJ30sCisgICAgICBnZXRQb3NpdGlvbjoge3g6IDMwLCB5OiAzMH0sCisgICAgfSk7 CisgICAgc3B5T24oYm9keUluc3RhbmNlLmRpYWdyYW0sICdnZXRTZWxlY3RlZE5vZGVzJykuYW5k LnJldHVyblZhbHVlKFtub2RlXSk7CisgICAgc3B5T24oYm9keUluc3RhbmNlLmRpYWdyYW0sICdn ZXROZXh0VGFibGVOYW1lJykuYW5kLnJldHVyblZhbHVlKCduZXd0YWJsZTEnKTsKKyAgICBib2R5 SW5zdGFuY2Uub25DbG9uZU5vZGUoKTsKKyAgICBleHBlY3QoYm9keUluc3RhbmNlLmRpYWdyYW0u YWRkTm9kZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoe2tleTogJ3ZhbHVlJ30sIFs1MCwgNTBdKTsK KyAgfSk7CisKKyAgaXQoJ29uRGVsZXRlTm9kZScsICgpPT57CisgICAgbGV0IG5vZGUgPSBqYXNt aW5lLmNyZWF0ZVNweU9iaignbm9kZScseworICAgICAgZ2V0U2NoZW1hVGFibGVOYW1lOiBbJ2Vy ZDEnLCAndGFibGUxJ10sCisgICAgICBzZXREYXRhOiBudWxsLAorICAgICAgZ2V0RGF0YTogbnVs bCwKKyAgICAgIGNsb25lRGF0YToge2tleTogJ3ZhbHVlJ30sCisgICAgICBnZXRQb3NpdGlvbjog e3g6IDMwLCB5OiAzMH0sCisgICAgICByZW1vdmU6IG51bGwsCisgICAgICBzZXRTZWxlY3RlZDog bnVsbCwKKyAgICB9KTsKKyAgICBsZXQgbGluayA9IGphc21pbmUuY3JlYXRlU3B5T2JqKCdsaW5r JywgeworICAgICAgcmVtb3ZlOiBudWxsLAorICAgICAgc2V0U2VsZWN0ZWQ6IG51bGwsCisgICAg ICBnZXRUYXJnZXRQb3J0OiBqYXNtaW5lLmNyZWF0ZVNweU9iaigncG9ydCcsIFsncmVtb3ZlJ10p LAorICAgICAgZ2V0U291cmNlUG9ydDogamFzbWluZS5jcmVhdGVTcHlPYmooJ3BvcnQnLCBbJ3Jl bW92ZSddKSwKKyAgICB9KTsKKyAgICBzcHlPbihib2R5SW5zdGFuY2UuZGlhZ3JhbSwgJ2dldFNl bGVjdGVkTm9kZXMnKS5hbmQucmV0dXJuVmFsdWUoW25vZGVdKTsKKyAgICBzcHlPbihib2R5SW5z dGFuY2UuZGlhZ3JhbSwgJ2dldFNlbGVjdGVkTGlua3MnKS5hbmQucmV0dXJuVmFsdWUoW2xpbmtd KTsKKworICAgIGJvZHlJbnN0YW5jZS5vbkRlbGV0ZU5vZGUoKTsKKyAgICBleHBlY3Qobm9kZS5y ZW1vdmUpLnRvSGF2ZUJlZW5DYWxsZWQoKTsKKyAgICBleHBlY3QobGluay5yZW1vdmUpLnRvSGF2 ZUJlZW5DYWxsZWQoKTsKKyAgfSk7CisKKyAgaXQoJ29uQXV0b0Rpc3RyaWJ1dGUnLCAoKT0+ewor ICAgIHNweU9uKGJvZHlJbnN0YW5jZS5kaWFncmFtLCAnZGFncmVEaXN0cmlidXRlTm9kZXMnKTsK KyAgICBib2R5SW5zdGFuY2Uub25BdXRvRGlzdHJpYnV0ZSgpOworICAgIGV4cGVjdChib2R5SW5z dGFuY2UuZGlhZ3JhbS5kYWdyZURpc3RyaWJ1dGVOb2RlcykudG9IYXZlQmVlbkNhbGxlZCgpOwor ICB9KTsKKworICBpdCgnb25EZXRhaWxzVG9nZ2xlJywgKGRvbmUpPT57CisgICAgbGV0IG5vZGUg PSBqYXNtaW5lLmNyZWF0ZVNweU9iaignbm9kZScsWydmaXJlRXZlbnQnXSk7CisgICAgc3B5T24o Ym9keUluc3RhbmNlLmRpYWdyYW0sICdnZXRNb2RlbCcpLmFuZC5yZXR1cm5WYWx1ZSh7CisgICAg ICAnZ2V0Tm9kZXMnOiAoKT0+W25vZGVdLAorICAgIH0pOworCisgICAgbGV0IHNob3dfZGV0YWls cyA9IGJvZHkuc3RhdGUoKS5zaG93X2RldGFpbHM7CisgICAgYm9keUluc3RhbmNlLm9uRGV0YWls c1RvZ2dsZSgpOworICAgIGJvZHkuc2V0U3RhdGUoe30sICgpPT57CisgICAgICBleHBlY3QoYm9k eS5zdGF0ZSgpLnNob3dfZGV0YWlscykudG9CZSghc2hvd19kZXRhaWxzKTsKKyAgICAgIGV4cGVj dChub2RlLmZpcmVFdmVudCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoe3Nob3dfZGV0YWlsczogIXNo b3dfZGV0YWlsc30sICd0b2dnbGVEZXRhaWxzJyk7CisgICAgICBkb25lKCk7CisgICAgfSk7Cisg IH0pOworCisgIGl0KCdvbkxvYWREaWFncmFtJywgKCk9PnsKKyAgICBib2R5SW5zdGFuY2Uub25M b2FkRGlhZ3JhbSgpOworICAgIGV4cGVjdChwZ0FkbWluLkZpbGVNYW5hZ2VyLnNob3dfZGlhbG9n KS50b0hhdmVCZWVuQ2FsbGVkKCk7CisgIH0pOworCisgIGl0KCdvcGVuRmlsZScsIChkb25lKT0+ eworICAgIHNweU9uKGJvZHlJbnN0YW5jZS5kaWFncmFtLCAnZGVzZXJpYWxpemUnKTsKKyAgICBi b2R5SW5zdGFuY2Uub3BlbkZpbGUoJ3Rlc3QucGdlcmQnKTsKKyAgICBzZXRUaW1lb3V0KCgpPT57 CisgICAgICBleHBlY3QoYm9keS5zdGF0ZSgpKS50b0VxdWFsKGphc21pbmUub2JqZWN0Q29udGFp bmluZyh7CisgICAgICAgIGN1cnJlbnRfZmlsZTogJ3Rlc3QucGdlcmQnLAorICAgICAgICBkaXJ0 eTogZmFsc2UsCisgICAgICB9KSk7CisgICAgICBleHBlY3QoYm9keUluc3RhbmNlLmRpYWdyYW0u ZGVzZXJpYWxpemUpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHtkYXRhOiAnZGF0YSd9KTsKKyAgICAg IGRvbmUoKTsKKyAgICB9KTsKKyAgfSk7CisKKyAgaXQoJ29uU2F2ZURpYWdyYW0nLCAoZG9uZSk9 PnsKKyAgICBib2R5LnNldFN0YXRlKHsKKyAgICAgIGN1cnJlbnRfZmlsZTogJ25ld2ZpbGUucGdl cmQnLAorICAgIH0pOworICAgIGJvZHlJbnN0YW5jZS5vblNhdmVEaWFncmFtKCk7CisgICAgc2V0 VGltZW91dCgoKT0+eworICAgICAgZXhwZWN0KGJvZHkuc3RhdGUoKSkudG9FcXVhbChqYXNtaW5l Lm9iamVjdENvbnRhaW5pbmcoeworICAgICAgICBjdXJyZW50X2ZpbGU6ICduZXdmaWxlLnBnZXJk JywKKyAgICAgICAgZGlydHk6IGZhbHNlLAorICAgICAgfSkpOworICAgICAgZG9uZSgpOworICAg IH0pOworCisgICAgYm9keUluc3RhbmNlLm9uU2F2ZURpYWdyYW0odHJ1ZSk7CisgICAgZXhwZWN0 KHBnQWRtaW4uRmlsZU1hbmFnZXIuc2hvd19kaWFsb2cpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHsK KyAgICAgICdzdXBwb3J0ZWRfdHlwZXMnOiBbJ3BnZXJkJ10sCisgICAgICAnZGlhbG9nX3R5cGUn OiAnY3JlYXRlX2ZpbGUnLAorICAgICAgJ2RpYWxvZ190aXRsZSc6ICdTYXZlIEZpbGUnLAorICAg ICAgJ2J0bl9wcmltYXJ5JzogJ1NhdmUnLAorICAgIH0pOworICB9KTsKKworICBpdCgnb25TYXZl QXNEaWFncmFtJywgKCk9PnsKKyAgICBzcHlPbihib2R5SW5zdGFuY2UsICdvblNhdmVEaWFncmFt Jyk7CisgICAgYm9keUluc3RhbmNlLm9uU2F2ZUFzRGlhZ3JhbSgpOworICAgIGV4cGVjdChib2R5 SW5zdGFuY2Uub25TYXZlRGlhZ3JhbSkudG9IYXZlQmVlbkNhbGxlZFdpdGgodHJ1ZSk7CisgIH0p OworCisgIGl0KCdvblNRTENsaWNrJywgKGRvbmUpPT57CisgICAgc3B5T24oYm9keUluc3RhbmNl LmRpYWdyYW0sICdzZXJpYWxpemVEYXRhJykuYW5kLnJldHVyblZhbHVlKHtrZXk6ICd2YWx1ZSd9 KTsKKyAgICBzcHlPbihFUkRTcWxUb29sLCAnc2hvd0VSRFNxbFRvb2wnKTsKKyAgICBzcHlPbihz ZXNzaW9uU3RvcmFnZSwgJ3NldEl0ZW0nKTsKKyAgICBib2R5SW5zdGFuY2Uub25TUUxDbGljaygp OworCisgICAgc2V0VGltZW91dCgoKT0+eworICAgICAgbGV0IHNxbCA9ICctLSBUaGlzIHNjcmlw dCB3YXMgZ2VuZXJhdGVkIGJ5IGEgYmV0YSB2ZXJzaW9uIG9mIHRoZSBFUkQgdG9vbCBpbiBwZ0Fk bWluIDQuXG4nCisgICAgICArICctLSBQbGVhc2UgbG9nIGFuIGlzc3VlIGF0IGh0dHBzOi8vcmVk bWluZS5wb3N0Z3Jlc3FsLm9yZy9wcm9qZWN0cy9wZ2FkbWluNC9pc3N1ZXMvbmV3IGlmIHlvdSBm aW5kIGFueSBidWdzLCBpbmNsdWRpbmcgcmVwcm9kdWN0aW9uIHN0ZXBzLlxuJworICAgICAgKyAn QkVHSU47XG5TRUxFQ1QgMTtcbkVORDsnOworCisgICAgICBleHBlY3Qoc2Vzc2lvblN0b3JhZ2Uu c2V0SXRlbSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ2VyZCcrcGFyYW1zLnRyYW5zX2lkLCBzcWwp OworICAgICAgZXhwZWN0KEVSRFNxbFRvb2wuc2hvd0VSRFNxbFRvb2wpLnRvSGF2ZUJlZW5DYWxs ZWQoKTsKKyAgICAgIGRvbmUoKTsKKyAgICB9KTsKKyAgfSk7CisKKyAgaXQoJ29uT25lVG9NYW55 Q2xpY2snLCAoKT0+eworICAgIGxldCBub2RlID0gamFzbWluZS5jcmVhdGVTcHlPYmooJ25vZGUn LHsKKyAgICAgIGdldElEOiAnaWQxJywKKyAgICB9KTsKKyAgICBzcHlPbihib2R5SW5zdGFuY2Uu ZGlhZ3JhbSwgJ2dldFNlbGVjdGVkTm9kZXMnKS5hbmQucmV0dXJuVmFsdWUoW25vZGVdKTsKKwor ICAgIG90bURpYWxvZy5zaG93LmNhbGxzLnJlc2V0KCk7CisgICAgYm9keUluc3RhbmNlLm9uT25l VG9NYW55Q2xpY2soKTsKKyAgICBleHBlY3Qob3RtRGlhbG9nLnNob3cpLnRvSGF2ZUJlZW5DYWxs ZWQoKTsKKworICAgIGxldCBzYXZlQ2FsbGJhY2sgPSBvdG1EaWFsb2cuc2hvdy5jYWxscy5tb3N0 UmVjZW50KCkuYXJnc1s0XTsKKyAgICBsZXQgbmV3RGF0YSA9IHtrZXk6ICd2YWx1ZSd9OworICAg IHNhdmVDYWxsYmFjayhuZXdEYXRhKTsKKyAgICBleHBlY3QoYm9keUluc3RhbmNlLmRpYWdyYW0u YWRkTGluaykudG9IYXZlQmVlbkNhbGxlZFdpdGgobmV3RGF0YSwgJ29uZXRvbWFueScpOworICB9 KTsKKworICBpdCgnb25NYW55VG9NYW55Q2xpY2snLCAoKT0+eworICAgIGxldCBub2RlID0gamFz bWluZS5jcmVhdGVTcHlPYmooJ25vZGUnLHsKKyAgICAgIGdldElEOiAnaWQxJywKKyAgICB9KTsK KyAgICBzcHlPbihib2R5SW5zdGFuY2UuZGlhZ3JhbSwgJ2dldFNlbGVjdGVkTm9kZXMnKS5hbmQu cmV0dXJuVmFsdWUoW25vZGVdKTsKKworICAgIG10bURpYWxvZy5zaG93LmNhbGxzLnJlc2V0KCk7 CisgICAgYm9keUluc3RhbmNlLm9uTWFueVRvTWFueUNsaWNrKCk7CisgICAgZXhwZWN0KG10bURp YWxvZy5zaG93KS50b0hhdmVCZWVuQ2FsbGVkKCk7CisKKyAgICAvKiBvblNhdmUgKi8KKyAgICBs ZXQgbm9kZXNEaWN0ID0geworICAgICAgJ2lkMSc6IHsKKyAgICAgICAgZ2V0SUQ6ICgpPT4naWQx JywKKyAgICAgICAgZ2V0RGF0YTogKCk9Pih7bmFtZTogJ3RhYmxlMScsIHNjaGVtYTogJ2VyZDEn fSksCisgICAgICAgIGdldENvbHVtbkF0OiAoKT0+KHtuYW1lOiAnY29sMScsIHR5cGU6ICd0eXBl MScsIGF0dG51bTogMH0pLAorICAgICAgICBhZGRQb3J0OiBqYXNtaW5lLmNyZWF0ZVNweSgnYWRk UG9ydCcpLmFuZC5jYWxsRmFrZSgob2JqKT0+b2JqKSwKKyAgICAgIH0sCisgICAgICAnaWQyJzog eworICAgICAgICBnZXRJRDogKCk9PidpZDInLAorICAgICAgICBnZXREYXRhOiAoKT0+KHtuYW1l OiAndGFibGUyJywgc2NoZW1hOiAnZXJkMid9KSwKKyAgICAgICAgZ2V0Q29sdW1uQXQ6ICgpPT4o e25hbWU6ICdjb2wyJywgdHlwZTogJ3R5cGUyJywgYXR0bnVtOiAxfSksCisgICAgICAgIGFkZFBv cnQ6IGphc21pbmUuY3JlYXRlU3B5KCdhZGRQb3J0JykuYW5kLmNhbGxGYWtlKChvYmopPT5vYmop LAorICAgICAgfSwKKyAgICB9OworICAgIHNweU9uKGJvZHlJbnN0YW5jZS5kaWFncmFtLCAnZ2V0 TW9kZWwnKS5hbmQucmV0dXJuVmFsdWUoeworICAgICAgJ2dldE5vZGVzRGljdCc6ICgpPT5ub2Rl c0RpY3QsCisgICAgfSk7CisgICAgc3B5T24oYm9keUluc3RhbmNlLmRpYWdyYW0sICdhZGRMaW5r Jyk7CisgICAgbGV0IHNhdmVDYWxsYmFjayA9IG10bURpYWxvZy5zaG93LmNhbGxzLm1vc3RSZWNl bnQoKS5hcmdzWzRdOworICAgIGxldCBuZXdEYXRhID0geworICAgICAgbGVmdF90YWJsZV91aWQ6 ICdpZDEnLAorICAgICAgbGVmdF90YWJsZV9jb2x1bW5fYXR0bnVtOiAxLAorICAgICAgcmlnaHRf dGFibGVfdWlkOiAnaWQyJywKKyAgICAgIHJpZ2h0X3RhYmxlX2NvbHVtbl9hdHRudW06IDIsCisg ICAgfTsKKworICAgIGJvZHlJbnN0YW5jZS5kaWFncmFtLmFkZE5vZGUuY2FsbHMucmVzZXQoKTsK KyAgICBib2R5SW5zdGFuY2UuZGlhZ3JhbS5hZGRMaW5rLmNhbGxzLnJlc2V0KCk7CisgICAgc2F2 ZUNhbGxiYWNrKG5ld0RhdGEpOworICAgIGV4cGVjdChib2R5SW5zdGFuY2UuZGlhZ3JhbS5hZGRO b2RlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7CisgICAgICBuYW1lOiAndGFibGUxX3RhYmxlMics CisgICAgICBzY2hlbWE6ICdlcmQxJywKKyAgICAgIGNvbHVtbnM6IFsKKyAgICAgICAgeworICAg ICAgICAgIHR5cGU6ICd0eXBlMScsCisgICAgICAgICAgbmFtZTogJ3RhYmxlMV9jb2wxJywKKyAg ICAgICAgICBpc19wcmltYXJ5X2tleTogZmFsc2UsCisgICAgICAgICAgYXR0bnVtOiAwLAorICAg ICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgdHlwZTogJ3R5cGUyJywKKyAgICAgICAgICBu YW1lOiAndGFibGUyX2NvbDInLAorICAgICAgICAgIGlzX3ByaW1hcnlfa2V5OiBmYWxzZSwKKyAg ICAgICAgICBhdHRudW06IDEsCisgICAgICAgIH0sCisgICAgICBdLAorICAgIH0pOworCisgICAg bGV0IGxpbmtEYXRhID0geworICAgICAgbG9jYWxfdGFibGVfdWlkOiAnbmV3aWQxJywKKyAgICAg IGxvY2FsX2NvbHVtbl9hdHRudW06IDAsCisgICAgICByZWZlcmVuY2VkX3RhYmxlX3VpZDogJ2lk MScsCisgICAgICByZWZlcmVuY2VkX2NvbHVtbl9hdHRudW0gOiAxLAorICAgIH07CisgICAgZXhw ZWN0KGJvZHlJbnN0YW5jZS5kaWFncmFtLmFkZExpbmsuY2FsbHMuYXJnc0ZvcigwKSkudG9FcXVh bChbbGlua0RhdGEsICdvbmV0b21hbnknXSk7CisgICAgbGlua0RhdGEgPSB7CisgICAgICBsb2Nh bF90YWJsZV91aWQ6ICduZXdpZDEnLAorICAgICAgbG9jYWxfY29sdW1uX2F0dG51bTogMSwKKyAg ICAgIHJlZmVyZW5jZWRfdGFibGVfdWlkOiAnaWQyJywKKyAgICAgIHJlZmVyZW5jZWRfY29sdW1u X2F0dG51bSA6IDIsCisgICAgfTsKKyAgICBleHBlY3QoYm9keUluc3RhbmNlLmRpYWdyYW0uYWRk TGluay5jYWxscy5hcmdzRm9yKDEpKS50b0VxdWFsKFtsaW5rRGF0YSwgJ29uZXRvbWFueSddKTsK KyAgfSk7CisKKyAgaXQoJ29uTm90ZUNsaWNrJywgKCk9PnsKKyAgICBsZXQgbm90ZU5vZGUgPSB7 a2V5OiAndmFsdWUnLCBnZXROb3RlOiAoKT0+J2Egbm90ZSd9OworICAgIHNweU9uKGJvZHlJbnN0 YW5jZS5kaWFncmFtLCAnZ2V0U2VsZWN0ZWROb2RlcycpLmFuZC5yZXR1cm5WYWx1ZShbbm90ZU5v ZGVdKTsKKyAgICBzcHlPbihib2R5SW5zdGFuY2UuZGlhZ3JhbS5nZXRFbmdpbmUoKSwgJ2dldE5v ZGVFbGVtZW50JykuYW5kLnJldHVyblZhbHVlKG51bGwpOworICAgIHNweU9uKGJvZHlJbnN0YW5j ZS5kaWFncmFtLmdldEVuZ2luZSgpLCAnZ2V0Tm9kZUVsZW1lbnQnKS5hbmQucmV0dXJuVmFsdWUo bnVsbCk7CisgICAgc3B5T24oYm9keUluc3RhbmNlLCAnc2V0U3RhdGUnKTsKKyAgICBib2R5SW5z dGFuY2Uub25Ob3RlQ2xpY2soKTsKKyAgICBleHBlY3QoYm9keUluc3RhbmNlLnNldFN0YXRlKS50 b0hhdmVCZWVuQ2FsbGVkV2l0aCh7CisgICAgICBub3RlX25vZGU6IG5vdGVOb2RlLAorICAgICAg bm90ZV9vcGVuOiB0cnVlLAorICAgIH0pOworICB9KTsKK30pOwpkaWZmIC0tZ2l0IGEvd2ViL3Jl Z3Jlc3Npb24vamF2YXNjcmlwdC9lcmQvdWlfY29tcG9uZW50cy9jb25uZWN0aW9uX2Jhcl9zcGVj LmpzIGIvd2ViL3JlZ3Jlc3Npb24vamF2YXNjcmlwdC9lcmQvdWlfY29tcG9uZW50cy9jb25uZWN0 aW9uX2Jhcl9zcGVjLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMGY1 YjkzNWE5Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3JlZ3Jlc3Npb24vamF2YXNjcmlwdC9lcmQv dWlfY29tcG9uZW50cy9jb25uZWN0aW9uX2Jhcl9zcGVjLmpzCkBAIC0wLDAgKzEsMjUgQEAKK2lt cG9ydCBqYXNtaW5lRW56eW1lIGZyb20gJ2phc21pbmUtZW56eW1lJzsKK2ltcG9ydCBSZWFjdCBm cm9tICdyZWFjdCc7CitpbXBvcnQge21vdW50fSBmcm9tICdlbnp5bWUnOworaW1wb3J0ICcuLi8u Li9oZWxwZXIvZW56eW1lLmhlbHBlcic7CisKK2ltcG9ydCBDb25uZWN0aW9uQmFyLCB7U1RBVFVT fSBmcm9tICdwZ2FkbWluLnRvb2xzLmVyZC9lcmRfdG9vbC91aV9jb21wb25lbnRzL0Nvbm5lY3Rp b25CYXInOworCitkZXNjcmliZSgnRVJEIENvbm5lY3Rpb25CYXInLCAoKT0+eworICBiZWZvcmVF YWNoKCgpPT57CisgICAgamFzbWluZUVuenltZSgpOworICB9KTsKKworICBpdCgnPENvbm5lY3Rp b25CYXIgLz4gY29tcCcsICgpPT57CisgICAgbGV0IGNvbm5CYXIgPSBtb3VudCg8Q29ubmVjdGlv bkJhciB0aXRsZT0idGVzdCB0aXRsZSIvPik7CisKKyAgICBleHBlY3QoY29ubkJhci5maW5kKCcu ZWRpdG9yLXRpdGxlJykudGV4dCgpKS50b0JlKCd0ZXN0IHRpdGxlJyk7CisKKyAgICBjb25uQmFy LnNldFByb3BzKHtzdGF0dXM6IFNUQVRVUy5DT05ORUNUSU5HfSk7CisgICAgZXhwZWN0KGNvbm5C YXIuZmluZCgnLmVkaXRvci10aXRsZScpLnRleHQoKSkudG9CZSgnKE9idGFpbmluZyBjb25uZWN0 aW9uLi4uKSB0ZXN0IHRpdGxlJyk7CisKKyAgICBjb25uQmFyLnNldFByb3BzKHtiZ2NvbG9yOiAn IzAwMCcsIGZnY29sb3I6ICcjZmZmJ30pOworICAgIGV4cGVjdChjb25uQmFyLmZpbmQoJy5lZGl0 b3ItdGl0bGUnKS5wcm9wKCdzdHlsZScpLmJhY2tncm91bmRDb2xvcikudG9CZSgnIzAwMCcpOwor ICAgIGV4cGVjdChjb25uQmFyLmZpbmQoJy5lZGl0b3ItdGl0bGUnKS5wcm9wKCdzdHlsZScpLmNv bG9yKS50b0JlKCcjZmZmJyk7CisgIH0pOworfSk7CmRpZmYgLS1naXQgYS93ZWIvcmVncmVzc2lv bi9qYXZhc2NyaXB0L2VyZC91aV9jb21wb25lbnRzL2VyZF9wcmVmZXJlbmNlcy5qcyBiL3dlYi9y ZWdyZXNzaW9uL2phdmFzY3JpcHQvZXJkL3VpX2NvbXBvbmVudHMvZXJkX3ByZWZlcmVuY2VzLmpz Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uZDkxYjE1OGNlCi0tLSAvZGV2 L251bGwKKysrIGIvd2ViL3JlZ3Jlc3Npb24vamF2YXNjcmlwdC9lcmQvdWlfY29tcG9uZW50cy9l cmRfcHJlZmVyZW5jZXMuanMKQEAgLTAsMCArMSwxNDcgQEAKK2V4cG9ydCBkZWZhdWx0IHsKKyAg J2VyZF9uZXdfYnJvd3Nlcl90YWInOiBmYWxzZSwKKyAgJ29wZW5fcHJvamVjdCc6IHsKKyAgICAn YWx0JzogZmFsc2UsCisgICAgJ3NoaWZ0JzogZmFsc2UsCisgICAgJ2NvbnRyb2wnOiB0cnVlLAor ICAgICdrZXknOiB7CisgICAgICAna2V5X2NvZGUnOiA3OSwKKyAgICAgICdjaGFyJzogJ28nLAor ICAgIH0sCisgIH0sCisgICdzYXZlX3Byb2plY3QnOiB7CisgICAgJ2FsdCc6IGZhbHNlLAorICAg ICdzaGlmdCc6IGZhbHNlLAorICAgICdjb250cm9sJzogdHJ1ZSwKKyAgICAna2V5JzogeworICAg ICAgJ2tleV9jb2RlJzogODMsCisgICAgICAnY2hhcic6ICdzJywKKyAgICB9LAorICB9LAorICAn c2F2ZV9wcm9qZWN0X2FzJzogeworICAgICdhbHQnOiBmYWxzZSwKKyAgICAnc2hpZnQnOiB0cnVl LAorICAgICdjb250cm9sJzogdHJ1ZSwKKyAgICAna2V5JzogeworICAgICAgJ2tleV9jb2RlJzog ODMsCisgICAgICAnY2hhcic6ICdzJywKKyAgICB9LAorICB9LAorICAnZ2VuZXJhdGVfc3FsJzog eworICAgICdhbHQnOiB0cnVlLAorICAgICdzaGlmdCc6IGZhbHNlLAorICAgICdjb250cm9sJzog dHJ1ZSwKKyAgICAna2V5JzogeworICAgICAgJ2tleV9jb2RlJzogODMsCisgICAgICAnY2hhcic6 ICdzJywKKyAgICB9LAorICB9LAorICAnZG93bmxvYWRfaW1hZ2UnOiB7CisgICAgJ2FsdCc6IHRy dWUsCisgICAgJ3NoaWZ0JzogZmFsc2UsCisgICAgJ2NvbnRyb2wnOiB0cnVlLAorICAgICdrZXkn OiB7CisgICAgICAna2V5X2NvZGUnOiA3MywKKyAgICAgICdjaGFyJzogJ2knLAorICAgIH0sCisg IH0sCisgICdhZGRfdGFibGUnOiB7CisgICAgJ2FsdCc6IHRydWUsCisgICAgJ3NoaWZ0JzogZmFs c2UsCisgICAgJ2NvbnRyb2wnOiB0cnVlLAorICAgICdrZXknOiB7CisgICAgICAna2V5X2NvZGUn OiA2NSwKKyAgICAgICdjaGFyJzogJ2EnLAorICAgIH0sCisgIH0sCisgICdlZGl0X3RhYmxlJzog eworICAgICdhbHQnOiB0cnVlLAorICAgICdzaGlmdCc6IGZhbHNlLAorICAgICdjb250cm9sJzog dHJ1ZSwKKyAgICAna2V5JzogeworICAgICAgJ2tleV9jb2RlJzogNjksCisgICAgICAnY2hhcic6 ICdlJywKKyAgICB9LAorICB9LAorICAnY2xvbmVfdGFibGUnOiB7CisgICAgJ2FsdCc6IHRydWUs CisgICAgJ3NoaWZ0JzogZmFsc2UsCisgICAgJ2NvbnRyb2wnOiB0cnVlLAorICAgICdrZXknOiB7 CisgICAgICAna2V5X2NvZGUnOiA2NywKKyAgICAgICdjaGFyJzogJ2MnLAorICAgIH0sCisgIH0s CisgICdkcm9wX3RhYmxlJzogeworICAgICdhbHQnOiB0cnVlLAorICAgICdzaGlmdCc6IGZhbHNl LAorICAgICdjb250cm9sJzogdHJ1ZSwKKyAgICAna2V5JzogeworICAgICAgJ2tleV9jb2RlJzog NjgsCisgICAgICAnY2hhcic6ICdkJywKKyAgICB9LAorICB9LAorICAnYWRkX2VkaXRfbm90ZSc6 IHsKKyAgICAnYWx0JzogdHJ1ZSwKKyAgICAnc2hpZnQnOiBmYWxzZSwKKyAgICAnY29udHJvbCc6 IHRydWUsCisgICAgJ2tleSc6IHsKKyAgICAgICdrZXlfY29kZSc6IDc4LAorICAgICAgJ2NoYXIn OiAnbicsCisgICAgfSwKKyAgfSwKKyAgJ29uZV90b19tYW55JzogeworICAgICdhbHQnOiB0cnVl LAorICAgICdzaGlmdCc6IGZhbHNlLAorICAgICdjb250cm9sJzogdHJ1ZSwKKyAgICAna2V5Jzog eworICAgICAgJ2tleV9jb2RlJzogNzksCisgICAgICAnY2hhcic6ICdvJywKKyAgICB9LAorICB9 LAorICAnbWFueV90b19tYW55JzogeworICAgICdhbHQnOiB0cnVlLAorICAgICdzaGlmdCc6IGZh bHNlLAorICAgICdjb250cm9sJzogdHJ1ZSwKKyAgICAna2V5JzogeworICAgICAgJ2tleV9jb2Rl JzogNzcsCisgICAgICAnY2hhcic6ICdtJywKKyAgICB9LAorICB9LAorICAnYXV0b19hbGlnbic6 IHsKKyAgICAnYWx0JzogdHJ1ZSwKKyAgICAnc2hpZnQnOiBmYWxzZSwKKyAgICAnY29udHJvbCc6 IHRydWUsCisgICAgJ2tleSc6IHsKKyAgICAgICdrZXlfY29kZSc6IDc2LAorICAgICAgJ2NoYXIn OiAnbCcsCisgICAgfSwKKyAgfSwKKyAgJ3pvb21fdG9fZml0JzogeworICAgICdhbHQnOiB0cnVl LAorICAgICdzaGlmdCc6IHRydWUsCisgICAgJ2NvbnRyb2wnOiBmYWxzZSwKKyAgICAna2V5Jzog eworICAgICAgJ2tleV9jb2RlJzogNzAsCisgICAgICAnY2hhcic6ICdmJywKKyAgICB9LAorICB9 LAorICAnem9vbV9pbic6IHsKKyAgICAnYWx0JzogdHJ1ZSwKKyAgICAnc2hpZnQnOiB0cnVlLAor ICAgICdjb250cm9sJzogZmFsc2UsCisgICAgJ2tleSc6IHsKKyAgICAgICdrZXlfY29kZSc6IDE4 NywKKyAgICAgICdjaGFyJzogJysnLAorICAgIH0sCisgIH0sCisgICd6b29tX291dCc6IHsKKyAg ICAnYWx0JzogdHJ1ZSwKKyAgICAnc2hpZnQnOiB0cnVlLAorICAgICdjb250cm9sJzogZmFsc2Us CisgICAgJ2tleSc6IHsKKyAgICAgICdrZXlfY29kZSc6IDE4OSwKKyAgICAgICdjaGFyJzogJy0n LAorICAgIH0sCisgIH0sCit9OwpkaWZmIC0tZ2l0IGEvd2ViL3JlZ3Jlc3Npb24vamF2YXNjcmlw dC9lcmQvdWlfY29tcG9uZW50cy9mbG9hdGluZ19ub3RlX3NwZWMuanMgYi93ZWIvcmVncmVzc2lv bi9qYXZhc2NyaXB0L2VyZC91aV9jb21wb25lbnRzL2Zsb2F0aW5nX25vdGVfc3BlYy5qcwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmY3ODYyNjdiZgotLS0gL2Rldi9udWxs CisrKyBiL3dlYi9yZWdyZXNzaW9uL2phdmFzY3JpcHQvZXJkL3VpX2NvbXBvbmVudHMvZmxvYXRp bmdfbm90ZV9zcGVjLmpzCkBAIC0wLDAgKzEsMzkgQEAKK2ltcG9ydCBqYXNtaW5lRW56eW1lIGZy b20gJ2phc21pbmUtZW56eW1lJzsKK2ltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7CitpbXBvcnQg e21vdW50fSBmcm9tICdlbnp5bWUnOworaW1wb3J0ICcuLi8uLi9oZWxwZXIvZW56eW1lLmhlbHBl cic7CisKK2ltcG9ydCBGbG9hdGluZ05vdGUgZnJvbSAncGdhZG1pbi50b29scy5lcmQvZXJkX3Rv b2wvdWlfY29tcG9uZW50cy9GbG9hdGluZ05vdGUnOworCitkZXNjcmliZSgnRVJEIEZsb2F0aW5n Tm90ZScsICgpPT57CisKKyAgYmVmb3JlRWFjaCgoKT0+eworICAgIGphc21pbmVFbnp5bWUoKTsK KyAgfSk7CisKKyAgaXQoJzxGbG9hdGluZ05vdGUgLz4gb24gT0sgY2xpY2snLCAoKT0+eworICAg IGxldCBmbG9hdE5vdGUgPSBudWxsOworICAgIGxldCBvbkNsb3NlID0gamFzbWluZS5jcmVhdGVT cHkoJ29uQ2xvc2UnKTsKKyAgICBsZXQgbm90ZU5vZGUgPSB7CisgICAgICBnZXROb3RlOiBmdW5j dGlvbigpIHsKKyAgICAgICAgcmV0dXJuICdzb21lIG5vdGUnOworICAgICAgfSwKKyAgICAgIHNl dE5vdGU6IGphc21pbmUuY3JlYXRlU3B5KCdzZXROb3RlJyksCisgICAgICBnZXRTY2hlbWFUYWJs ZU5hbWU6IGZ1bmN0aW9uKCkgeworICAgICAgICByZXR1cm4gWydzY2hlbWExJywgJ3RhYmxlMSdd OworICAgICAgfSwKKyAgICB9OworCisgICAgZmxvYXROb3RlID0gbW91bnQoPEZsb2F0aW5nTm90 ZSBvcGVuPXtmYWxzZX0gb25DbG9zZT17b25DbG9zZX0KKyAgICAgIHJlZmVyZW5jZT17bnVsbH0g bm90ZU5vZGU9e25vdGVOb2RlfSBhcHBlbmRUbz17ZG9jdW1lbnQuYm9keX0gcm93cz17OH0vPik7 CisKKyAgICBmbG9hdE5vdGUuZmluZCgndGV4dGFyZWEnKS5zaW11bGF0ZSgnY2hhbmdlJywgewor ICAgICAgdGFyZ2V0OiB7CisgICAgICAgIHZhbHVlOiAndGhlIG5ldyBub3RlJywKKyAgICAgIH0s CisgICAgfSk7CisgICAgZmxvYXROb3RlLmZpbmQoJ2J1dHRvbltkYXRhLWxhYmVsPSJPSyJdJyku c2ltdWxhdGUoJ2NsaWNrJyk7CisgICAgZXhwZWN0KG5vdGVOb2RlLnNldE5vdGUpLnRvSGF2ZUJl ZW5DYWxsZWRXaXRoKCd0aGUgbmV3IG5vdGUnKTsKKyAgICBleHBlY3Qob25DbG9zZSkudG9IYXZl QmVlbkNhbGxlZCgpOworICB9KTsKK30pOwpkaWZmIC0tZ2l0IGEvd2ViL3JlZ3Jlc3Npb24vamF2 YXNjcmlwdC9lcmQvdWlfY29tcG9uZW50cy9sb2FkZXJfc3BlYy5qcyBiL3dlYi9yZWdyZXNzaW9u L2phdmFzY3JpcHQvZXJkL3VpX2NvbXBvbmVudHMvbG9hZGVyX3NwZWMuanMKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5iMTRlZDMwYWEKLS0tIC9kZXYvbnVsbAorKysgYi93 ZWIvcmVncmVzc2lvbi9qYXZhc2NyaXB0L2VyZC91aV9jb21wb25lbnRzL2xvYWRlcl9zcGVjLmpz CkBAIC0wLDAgKzEsMjMgQEAKK2ltcG9ydCBqYXNtaW5lRW56eW1lIGZyb20gJ2phc21pbmUtZW56 eW1lJzsKK2ltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7CitpbXBvcnQge3NoYWxsb3d9IGZyb20g J2VuenltZSc7CitpbXBvcnQgJy4uLy4uL2hlbHBlci9lbnp5bWUuaGVscGVyJzsKKworaW1wb3J0 IExvYWRlciBmcm9tICdwZ2FkbWluLnRvb2xzLmVyZC9lcmRfdG9vbC91aV9jb21wb25lbnRzL0xv YWRlcic7CisKK2Rlc2NyaWJlKCdFUkQgTG9hZGVyJywgKCk9PnsKKyAgYmVmb3JlRWFjaCgoKT0+ eworICAgIGphc21pbmVFbnp5bWUoKTsKKyAgfSk7CisKKyAgaXQoJzxMb2FkZXIgLz4gY29tcCcs ICgpPT57CisgICAgbGV0IGxvYWRlckNvbXAgPSBzaGFsbG93KDxMb2FkZXIgLz4pOworICAgIGV4 cGVjdChsb2FkZXJDb21wLmlzRW1wdHlSZW5kZXIoKSkudG9CZVRydWUoKTsKKworICAgIGxvYWRl ckNvbXAuc2V0UHJvcHMoe21lc3NhZ2U6ICd0ZXN0IG1lc3NhZ2UnfSk7CisgICAgZXhwZWN0KGxv YWRlckNvbXAuZmluZCgnLnBnLXNwLXRleHQnKS50ZXh0KCkpLnRvQmUoJ3Rlc3QgbWVzc2FnZScp OworCisgICAgbG9hZGVyQ29tcC5zZXRQcm9wcyh7YXV0b0VsbGlwc2lzOiB0cnVlfSk7CisgICAg ZXhwZWN0KGxvYWRlckNvbXAuZmluZCgnLnBnLXNwLXRleHQnKS50ZXh0KCkpLnRvQmUoJ3Rlc3Qg bWVzc2FnZS4uLicpOworICB9KTsKK30pOwpkaWZmIC0tZ2l0IGEvd2ViL3JlZ3Jlc3Npb24vamF2 YXNjcmlwdC9lcmQvdWlfY29tcG9uZW50cy90b29sYmFyX3NwZWMuanMgYi93ZWIvcmVncmVzc2lv bi9qYXZhc2NyaXB0L2VyZC91aV9jb21wb25lbnRzL3Rvb2xiYXJfc3BlYy5qcwpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjA0MjlkNzE4ZAotLS0gL2Rldi9udWxsCisrKyBi L3dlYi9yZWdyZXNzaW9uL2phdmFzY3JpcHQvZXJkL3VpX2NvbXBvbmVudHMvdG9vbGJhcl9zcGVj LmpzCkBAIC0wLDAgKzEsNzYgQEAKK2ltcG9ydCBqYXNtaW5lRW56eW1lIGZyb20gJ2phc21pbmUt ZW56eW1lJzsKK2ltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7CitpbXBvcnQgVGlwcHkgZnJvbSAn QHRpcHB5anMvcmVhY3QnOworaW1wb3J0IHttb3VudCwgc2hhbGxvd30gZnJvbSAnZW56eW1lJzsK K2ltcG9ydCAnLi4vLi4vaGVscGVyL2VuenltZS5oZWxwZXInOworCitpbXBvcnQgVG9vbEJhciwg e0J1dHRvbkdyb3VwLCBEZXRhaWxzVG9nZ2xlQnV0dG9uLCBJY29uQnV0dG9uLCBTaG9ydGN1dH0g ZnJvbSAncGdhZG1pbi50b29scy5lcmQvZXJkX3Rvb2wvdWlfY29tcG9uZW50cy9Ub29sQmFyJzsK KworZGVzY3JpYmUoJ0VSRCBUb29sYmFyJywgKCk9PnsKKyAgYmVmb3JlRWFjaCgoKT0+eworICAg IGphc21pbmVFbnp5bWUoKTsKKyAgfSk7CisKKyAgaXQoJzxUb29sYmFyIC8+IGNvbXAnLCAoKT0+ eworICAgIGxldCB0b29sQmFyID0gbW91bnQoPFRvb2xCYXIgaWQ9ImlkMSI+PGRpdiBjbGFzc05h bWU9InRlc3QiPjwvZGl2PjwvVG9vbEJhcj4pOworICAgIGV4cGVjdCh0b29sQmFyLmdldERPTU5v ZGUoKS5pZCkudG9CZSgnaWQxJyk7CisgICAgZXhwZWN0KHRvb2xCYXIuZmluZCgnLnRlc3QnKS5s ZW5ndGgpLnRvQmUoMSk7CisgIH0pOworCisgIGl0KCc8QnV0dG9uR3JvdXAgLz4gY29tcCcsICgp PT57CisgICAgbGV0IGJ0bkdycCA9IG1vdW50KDxCdXR0b25Hcm91cD48ZGl2IGNsYXNzTmFtZT0i dGVzdCI+PC9kaXY+PC9CdXR0b25Hcm91cD4pOworICAgIGV4cGVjdChidG5HcnAuZ2V0RE9NTm9k ZSgpLmNsYXNzTmFtZSkudG9CZSgnYnRuLWdyb3VwIG1yLTEgJyk7CisgICAgZXhwZWN0KGJ0bkdy cC5maW5kKCcudGVzdCcpLmxlbmd0aCkudG9CZSgxKTsKKyAgICBidG5HcnAudW5tb3VudCgpOwor CisgICAgYnRuR3JwID0gbW91bnQoPEJ1dHRvbkdyb3VwIGNsYXNzTmFtZT0ic29tZWNsYXNzIj48 L0J1dHRvbkdyb3VwPik7CisgICAgZXhwZWN0KGJ0bkdycC5nZXRET01Ob2RlKCkuY2xhc3NOYW1l KS50b0JlKCdidG4tZ3JvdXAgbXItMSBzb21lY2xhc3MnKTsKKyAgfSk7CisKKyAgaXQoJzxEZXRh aWxzVG9nZ2xlQnV0dG9uIC8+IGNvbXAnLCAoKT0+eworICAgIGxldCB0b2dnbGUgPSBzaGFsbG93 KDxEZXRhaWxzVG9nZ2xlQnV0dG9uIHNob3dEZXRhaWxzPXt0cnVlfSAvPik7CisgICAgbGV0IGJ0 biA9IHRvZ2dsZS5maW5kKEljb25CdXR0b24pOworICAgIGV4cGVjdChidG4ucHJvcCgnaWNvbicp KS50b0JlKCdmYXIgZmEtZXllJyk7CisgICAgZXhwZWN0KGJ0bi5wcm9wKCd0aXRsZScpKS50b0Jl KCdTaG93IGZld2VyIGRldGFpbHMnKTsKKworICAgIHRvZ2dsZS5zZXRQcm9wcyh7c2hvd0RldGFp bHM6IGZhbHNlfSk7CisgICAgYnRuID0gdG9nZ2xlLmZpbmQoSWNvbkJ1dHRvbik7CisgICAgZXhw ZWN0KGJ0bi5wcm9wKCdpY29uJykpLnRvQmUoJ2ZhcyBmYS1sb3ctdmlzaW9uJyk7CisgICAgZXhw ZWN0KGJ0bi5wcm9wKCd0aXRsZScpKS50b0JlKCdTaG93IG1vcmUgZGV0YWlscycpOworICB9KTsK KworICBpdCgnPEljb25CdXR0b24gLz4gY29tcCcsICgpPT57CisgICAgbGV0IGJ0biA9IG1vdW50 KDxJY29uQnV0dG9uIC8+KTsKKworICAgIGxldCB0aXBweSA9IGJ0bi5maW5kKFRpcHB5KTsKKyAg ICBleHBlY3QodGlwcHkubGVuZ3RoKS50b0JlKDApOworCisgICAgYnRuLnNldFByb3BzKHt0aXRs ZTogJ3Rlc3QgdGl0bGUnfSk7CisgICAgdGlwcHkgPSBidG4uZmluZChUaXBweSk7CisgICAgZXhw ZWN0KHRpcHB5Lmxlbmd0aCkudG9CZSgxKTsKKworICAgIGV4cGVjdChidG4uZmluZCgnYnV0dG9u JykuZ2V0RE9NTm9kZSgpLmNsYXNzTmFtZSkudG9CZSgnYnRuIGJ0bi1zbSBidG4tcHJpbWFyeS1p Y29uICcpOworCisgICAgYnRuLnNldFByb3BzKHtpY29uOiAnZmEgZmEtaWNvbid9KTsKKyAgICBl eHBlY3QoYnRuLmZpbmQoJ2J1dHRvbiAuc3FsLWljb24tbGcnKS5nZXRET01Ob2RlKCkuY2xhc3NO YW1lKS50b0JlKCdmYSBmYS1pY29uIHNxbC1pY29uLWxnJyk7CisgIH0pOworCisgIGl0KCc8U2hv cnRjdXQgLz4gY29tcCcsICgpPT57CisgICAgbGV0IGtleSA9IHsKKyAgICAgIGFsdDogdHJ1ZSwK KyAgICAgIGNvbnRyb2w6IHRydWUsCisgICAgICBzaGlmdDogZmFsc2UsCisgICAgICBrZXk6IHsK KyAgICAgICAga2V5X2NvZGU6IDY1LAorICAgICAgICBjaGFyOiAnYScsCisgICAgICB9LAorICAg IH07CisgICAgbGV0IHNob3J0Y3V0Q29tcCA9IG1vdW50KDxTaG9ydGN1dCBzaG9ydGN1dD17a2V5 fS8+KTsKKworICAgIGV4cGVjdChzaG9ydGN1dENvbXAuZmluZCgnLnNob3J0Y3V0LWtleScpLmxl bmd0aCkudG9CZSgzKTsKKworICAgIGtleS5hbHQgPSBmYWxzZTsKKyAgICBzaG9ydGN1dENvbXAu c2V0UHJvcHMoe3Nob3J0Y3V0OiBrZXl9KTsKKyAgICBleHBlY3Qoc2hvcnRjdXRDb21wLmZpbmQo Jy5zaG9ydGN1dC1rZXknKS5sZW5ndGgpLnRvQmUoMik7CisgIH0pOworfSk7CmRpZmYgLS1naXQg YS93ZWIvcmVncmVzc2lvbi9qYXZhc2NyaXB0L2Zha2VfZW5kcG9pbnRzLmpzIGIvd2ViL3JlZ3Jl c3Npb24vamF2YXNjcmlwdC9mYWtlX2VuZHBvaW50cy5qcwppbmRleCA4MDZmNTkwMDEuLjNhMDI4 YzQxNSAxMDA2NDQKLS0tIGEvd2ViL3JlZ3Jlc3Npb24vamF2YXNjcmlwdC9mYWtlX2VuZHBvaW50 cy5qcworKysgYi93ZWIvcmVncmVzc2lvbi9qYXZhc2NyaXB0L2Zha2VfZW5kcG9pbnRzLmpzCkBA IC0yMiw1ICsyMiwxMSBAQCBkZWZpbmUoZnVuY3Rpb24gKCkgewogICAgICdzZWFyY2hfb2JqZWN0 cy50eXBlcyc6ICcvc2VhcmNoX29iamVjdHMvdHlwZXMvPGludDpzaWQ+LzxpbnQ6ZGlkPicsCiAg ICAgJ3NlYXJjaF9vYmplY3RzLnNlYXJjaCc6ICcvc2VhcmNoX29iamVjdHMvc2VhcmNoLzxpbnQ6 c2lkPi88aW50OmRpZD4nLAogICAgICdkYXNoYm9hcmQuZGFzaGJvYXJkX3N0YXRzJzogJy9kYXNo Ym9hcmQvZGFzaGJvYXJkX3N0YXRzJywKKyAgICAnc3FsZWRpdG9yLmxvYWRfZmlsZSc6ICcvc3Fs ZWRpdG9yL2xvYWRfZmlsZS8nLAorICAgICdzcWxlZGl0b3Iuc2F2ZV9maWxlJzogJy9zcWxlZGl0 b3Ivc2F2ZV9maWxlLycsCisgICAgJ2VyZC5pbml0aWFsaXplJzogJy9lcmQvaW5pdGlhbGl6ZS88 aW50OnRyYW5zX2lkPi88aW50OnNnaWQ+LzxpbnQ6c2lkPi88aW50OmRpZD4nLAorICAgICdlcmQu c3FsJzogJy9lcmQvc3FsLzxpbnQ6dHJhbnNfaWQ+LzxpbnQ6c2dpZD4vPGludDpzaWQ+LzxpbnQ6 ZGlkPicsCisgICAgJ2VyZC5wcmVxdWlzaXRlJzogJy9lcmQvcHJlcXVpc2l0ZS88aW50OnRyYW5z X2lkPi88aW50OnNnaWQ+LzxpbnQ6c2lkPi88aW50OmRpZD4nLAorICAgICdlcmQudGFibGVzJzog Jy9lcmQvdGFibGVzLzxpbnQ6dHJhbnNfaWQ+LzxpbnQ6c2dpZD4vPGludDpzaWQ+LzxpbnQ6ZGlk PicsCiAgIH07CiB9KTsKZGlmZiAtLWdpdCBhL3dlYi93ZWJwYWNrLmNvbmZpZy5qcyBiL3dlYi93 ZWJwYWNrLmNvbmZpZy5qcwppbmRleCBjOWRkZjgwYzIuLmI3NzQ0NTUyZiAxMDA2NDQKLS0tIGEv d2ViL3dlYnBhY2suY29uZmlnLmpzCisrKyBiL3dlYi93ZWJwYWNrLmNvbmZpZy5qcwpAQCAtMzU1 LDYgKzM1NSw3IEBAIG1vZHVsZS5leHBvcnRzID0gW3sKICAgICBzcWxlZGl0b3I6ICcuL3BnYWRt aW4vdG9vbHMvc3FsZWRpdG9yL3N0YXRpYy9qcy9zcWxlZGl0b3IuanMnLAogICAgIGRlYnVnZ2Vy X2RpcmVjdDogJy4vcGdhZG1pbi90b29scy9kZWJ1Z2dlci9zdGF0aWMvanMvZGlyZWN0LmpzJywK ICAgICBzY2hlbWFfZGlmZjogJy4vcGdhZG1pbi90b29scy9zY2hlbWFfZGlmZi9zdGF0aWMvanMv c2NoZW1hX2RpZmZfaG9vay5qcycsCisgICAgZXJkX3Rvb2w6ICcuL3BnYWRtaW4vdG9vbHMvZXJk L3N0YXRpYy9qcy9lcmRfdG9vbF9ob29rLmpzJywKICAgICBmaWxlX3V0aWxzOiAnLi9wZ2FkbWlu L21pc2MvZmlsZV9tYW5hZ2VyL3N0YXRpYy9qcy91dGlsaXR5LmpzJywKICAgICAncGdhZG1pbi5z dHlsZSc6IHBnYWRtaW5Dc3NTdHlsZXMsCiAgICAgcGdhZG1pbjogcGdhZG1pblNjc3NTdHlsZXMs CkBAIC01MDEsNyArNTAyLDggQEAgbW9kdWxlLmV4cG9ydHMgPSBbewogICAgICAgICAnLHBnYWRt aW4ubm9kZS5wZ2Ffam9iJyArCiAgICAgICAgICcscGdhZG1pbi50b29scy5zY2hlbWFfZGlmZicg KwogICAgICAgICAnLHBnYWRtaW4udG9vbHMuc3RvcmFnZV9tYW5hZ2VyJyArCi0gICAgICAgICcs cGdhZG1pbi50b29scy5zZWFyY2hfb2JqZWN0cycsCisgICAgICAgICcscGdhZG1pbi50b29scy5z ZWFyY2hfb2JqZWN0cycgKworICAgICAgICAnLHBnYWRtaW4udG9vbHMuZXJkX21vZHVsZScsCiAg ICAgICB9LAogICAgIH0sIHsKICAgICAgIHRlc3Q6IHJlcXVpcmUucmVzb2x2ZSgnc25hcHN2Zycp LApkaWZmIC0tZ2l0IGEvd2ViL3dlYnBhY2suc2hpbS5qcyBiL3dlYi93ZWJwYWNrLnNoaW0uanMK aW5kZXggMTU1ZmI5ZWFmLi5lM2Q5ZGY4OWMgMTAwNjQ0Ci0tLSBhL3dlYi93ZWJwYWNrLnNoaW0u anMKKysrIGIvd2ViL3dlYnBhY2suc2hpbS5qcwpAQCAtMTQ3LDYgKzE0NywxMCBAQCB2YXIgd2Vi cGFja1NoaW1Db25maWcgPSB7CiAgICAgJ2NvbG9yLXBpY2tlcic6IHBhdGguam9pbihfX2Rpcm5h bWUsICcuL25vZGVfbW9kdWxlcy9Ac2ltb253ZXAvcGlja3IvZGlzdC9waWNrci5lczUubWluJyks CiAgICAgJ21vdXNldHJhcCc6IHBhdGguam9pbihfX2Rpcm5hbWUsICcuL25vZGVfbW9kdWxlcy9t b3VzZXRyYXAnKSwKICAgICAndGFibGVzb3J0ZXItbWV0cmljJzogcGF0aC5qb2luKF9fZGlybmFt ZSwgJy4vbm9kZV9tb2R1bGVzL3RhYmxlc29ydGVyL2Rpc3QvanMvcGFyc2Vycy9wYXJzZXItbWV0 cmljLm1pbicpLAorICAgICdwYXRoZmluZGluZyc6ICBwYXRoLmpvaW4oX19kaXJuYW1lLCAnbm9k ZV9tb2R1bGVzL3BhdGhmaW5kaW5nJyksCisgICAgJ2RhZ3JlJzogIHBhdGguam9pbihfX2Rpcm5h bWUsICdub2RlX21vZHVsZXMvZGFncmUnKSwKKyAgICAnZ3JhcGhsaWInOiBwYXRoLmpvaW4oX19k aXJuYW1lLCAnbm9kZV9tb2R1bGVzL2dyYXBobGliJyksCisgICAgJ3JlYWN0JzogcGF0aC5qb2lu KF9fZGlybmFtZSwgJ25vZGVfbW9kdWxlcy9yZWFjdCcpLAogCiAgICAgLy8gQWNpVHJlZQogICAg ICdqcXVlcnkuYWNpdHJlZSc6IHBhdGguam9pbihfX2Rpcm5hbWUsICcuL25vZGVfbW9kdWxlcy9h Y2l0cmVlL2pzL2pxdWVyeS5hY2lUcmVlLm1pbicpLApAQCAtMjc1LDYgKzI3OSw4IEBAIHZhciB3 ZWJwYWNrU2hpbUNvbmZpZyA9IHsKICAgICAncGdhZG1pbi50b29scy5zY2hlbWFfZGlmZl91aSc6 IHBhdGguam9pbihfX2Rpcm5hbWUsICcuL3BnYWRtaW4vdG9vbHMvc2NoZW1hX2RpZmYvc3RhdGlj L2pzL3NjaGVtYV9kaWZmX3VpJyksCiAgICAgJ3BnYWRtaW4udG9vbHMuc2VhcmNoX29iamVjdHMn OiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi9wZ2FkbWluL3Rvb2xzL3NlYXJjaF9vYmplY3RzL3N0 YXRpYy9qcy9zZWFyY2hfb2JqZWN0cycpLAogICAgICdwZ2FkbWluLnRvb2xzLnN0b3JhZ2VfbWFu YWdlcic6IHBhdGguam9pbihfX2Rpcm5hbWUsICcuL3BnYWRtaW4vdG9vbHMvc3RvcmFnZV9tYW5h Z2VyL3N0YXRpYy9qcy9zdG9yYWdlX21hbmFnZXInKSwKKyAgICAncGdhZG1pbi50b29scy5lcmRf bW9kdWxlJzogcGF0aC5qb2luKF9fZGlybmFtZSwgJy4vcGdhZG1pbi90b29scy9lcmQvc3RhdGlj L2pzL2VyZF9tb2R1bGUnKSwKKyAgICAncGdhZG1pbi50b29scy5lcmQnOiBwYXRoLmpvaW4oX19k aXJuYW1lLCAnLi9wZ2FkbWluL3Rvb2xzL2VyZC9zdGF0aWMvanMnKSwKICAgICAncGdhZG1pbi5z ZWFyY2hfb2JqZWN0cyc6IHBhdGguam9pbihfX2Rpcm5hbWUsICcuL3BnYWRtaW4vdG9vbHMvc2Vh cmNoX29iamVjdHMvc3RhdGljL2pzJyksCiAgICAgJ3BnYWRtaW4udG9vbHMudXNlcl9tYW5hZ2Vt ZW50JzogcGF0aC5qb2luKF9fZGlybmFtZSwgJy4vcGdhZG1pbi90b29scy91c2VyX21hbmFnZW1l bnQvc3RhdGljL2pzL3VzZXJfbWFuYWdlbWVudCcpLAogICAgICdwZ2FkbWluLnVzZXJfbWFuYWdl bWVudC5jdXJyZW50X3VzZXInOiAnL3VzZXJfbWFuYWdlbWVudC9jdXJyZW50X3VzZXInLApkaWZm IC0tZ2l0IGEvd2ViL3dlYnBhY2sudGVzdC5jb25maWcuanMgYi93ZWIvd2VicGFjay50ZXN0LmNv bmZpZy5qcwppbmRleCBiYTZmOTlkNmIuLmE0MzgzZDZhYSAxMDA2NDQKLS0tIGEvd2ViL3dlYnBh Y2sudGVzdC5jb25maWcuanMKKysrIGIvd2ViL3dlYnBhY2sudGVzdC5jb25maWcuanMKQEAgLTEx Myw2ICsxMTMsNyBAQCBtb2R1bGUuZXhwb3J0cyA9IHsKICAgICAgICdwZ2FkbWluLmJyb3dzZXIu bGF5b3V0JzogcGF0aC5qb2luKF9fZGlybmFtZSwgJy4vcGdhZG1pbi9icm93c2VyL3N0YXRpYy9q cy9sYXlvdXQnKSwKICAgICAgICdwZ2FkbWluLmJyb3dzZXIucHJlZmVyZW5jZXMnOiBwYXRoLmpv aW4oX19kaXJuYW1lLCAnLi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2pzL3ByZWZlcmVuY2VzJyks CiAgICAgICAncGdhZG1pbi5icm93c2VyLmFjdGl2aXR5JzogcGF0aC5qb2luKF9fZGlybmFtZSwg Jy4vcGdhZG1pbi9icm93c2VyL3N0YXRpYy9qcy9hY3Rpdml0eScpLAorICAgICAgJ3BnYWRtaW4u dG9vbHMuZXJkJzogcGF0aC5qb2luKF9fZGlybmFtZSwgJy4vcGdhZG1pbi90b29scy9lcmQvc3Rh dGljL2pzJyksCiAgICAgICAnYnVuZGxlZF9jb2RlbWlycm9yJzogcGF0aC5qb2luKF9fZGlybmFt ZSwgJy4vcGdhZG1pbi9zdGF0aWMvYnVuZGxlL2NvZGVtaXJyb3InKSwKICAgICAgICd0b29scyc6 IHBhdGguam9pbihfX2Rpcm5hbWUsICcuL3BnYWRtaW4vdG9vbHMvJyksCiAgICAgfSwKZGlmZiAt LWdpdCBhL3dlYi95YXJuLmxvY2sgYi93ZWIveWFybi5sb2NrCmluZGV4IGM5NDUwZDc1NS4uM2Ix OTQzOTk0IDEwMDY0NAotLS0gYS93ZWIveWFybi5sb2NrCisrKyBiL3dlYi95YXJuLmxvY2sKQEAg LTIsNzAgKzIsNTQgQEAKICMgeWFybiBsb2NrZmlsZSB2MQogCiAKLSJAYmFiZWwvY29kZS1mcmFt ZUBeNy4wLjAiLCAiQGJhYmVsL2NvZGUtZnJhbWVAXjcuMTAuNCIsICJAYmFiZWwvY29kZS1mcmFt ZUBeNy41LjUiOgotICB2ZXJzaW9uICI3LjEwLjQiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lz dHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9jb2RlLWZyYW1lLy0vY29kZS1mcmFtZS03LjEwLjQudGd6 IzE2OGRhMWEzNmU5MGRhNjhhZThkNDljMGYxYjQ4YzdjNjI0OTIxM2EiCi0gIGludGVncml0eSBz aGE1MTItdkc2U3ZCNm9ZRWh2Z2lzWk5GUm1SQ1VrTHoxMWM3cnArdGJOVHluR3FjNm1TMWQ1QVRk L3NHeVY2VzBLWlpuWFJLTVR6WkRSZ1FUM091OWpocEFmVWc9PQorIkBiYWJlbC9jb2RlLWZyYW1l QF43LjAuMCIsICJAYmFiZWwvY29kZS1mcmFtZUBeNy4xMC40IiwgIkBiYWJlbC9jb2RlLWZyYW1l QF43LjEyLjExIjoKKyAgdmVyc2lvbiAiNy4xMi4xMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVn aXN0cnkueWFybnBrZy5jb20vQGJhYmVsL2NvZGUtZnJhbWUvLS9jb2RlLWZyYW1lLTcuMTIuMTEu dGd6I2Y0YWQ0MzVhYTI2M2RiOTM1YjhmMTBmMmM1NTJkMjNmYjcxNmE2M2YiCisgIGludGVncml0 eSBzaGE1MTItWnQxeW9kQngxVWN5aWVQTVNrV25VNGhQcWh3cTdoR2kybkZMMUxlQTNFVWwrcTJM UXgxNk1JU2dKMCt6N2RubWd2UDlRdElsZXVFVEdPaU9IMVJjSXc9PQogICBkZXBlbmRlbmNpZXM6 CiAgICAgIkBiYWJlbC9oaWdobGlnaHQiICJeNy4xMC40IgogCi0iQGJhYmVsL2NvcmVAXjcuNy41 IjoKLSAgdmVyc2lvbiAiNy4xMS42IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJu cGtnLmNvbS9AYmFiZWwvY29yZS8tL2NvcmUtNy4xMS42LnRneiMzYTk0NTVkYzczODdmZjFiYWM0 NTc3MDY1MGJjMTNiYTA0YTE1NjUxIgotICBpbnRlZ3JpdHkgc2hhNTEyLVdwY3YwM0FHbm1rZ202 dVM2azhpd2hJd1RyY1AwbTE3VEwxbjFzeTdxRDBxZWxEdTRYTmVXMGROMG1IZmErR2VpMjExeURh TG9FZS9WbGJYUXpNNEJnPT0KKyJAYmFiZWwvY29tcGF0LWRhdGFAXjcuMTIuNSIsICJAYmFiZWwv Y29tcGF0LWRhdGFAXjcuMTIuNyI6CisgIHZlcnNpb24gIjcuMTIuNyIKKyAgcmVzb2x2ZWQgImh0 dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL2NvbXBhdC1kYXRhLy0vY29tcGF0LWRh dGEtNy4xMi43LnRneiM5MzI5YjQ3ODJhN2Q2YmJkN2VlZjU3ZTExYWRkZjkxZWUzZWYxZTQxIgor ICBpbnRlZ3JpdHkgc2hhNTEyLVlheFBNR3MvWElXdFlxcmRFT1pPQ1BzVldmRW9yaVhvcG5zejMv aTdhcFlQWFEzNjk4VUZoUzZkVlQxS041cU9zV21WZ3cvRk9ybVFncFJhWmF5R3N3PT0KKworIkBi YWJlbC9jb3JlQF43LjEwLjIiLCAiQGJhYmVsL2NvcmVAXjcuNy41IjoKKyAgdmVyc2lvbiAiNy4x Mi4xMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL2Nv cmUvLS9jb3JlLTcuMTIuMTAudGd6I2I3OWEyZTFiOWY3MGVkM2Q4NGJiZmI2ZDhjNGVmODI1ZjYw NmJjY2QiCisgIGludGVncml0eSBzaGE1MTItZVRBbFFLcTY1ekhma0haVjBzSVZPRENQR1Znb28x SGRCbGJTTGk5Q3FPenVaYW5NdjJpaHpZKzRwYWlLcjFtSCtYbVlFU01BbUovZHBaNjhlTjZkOHc9 PQogICBkZXBlbmRlbmNpZXM6CiAgICAgIkBiYWJlbC9jb2RlLWZyYW1lIiAiXjcuMTAuNCIKLSAg ICAiQGJhYmVsL2dlbmVyYXRvciIgIl43LjExLjYiCi0gICAgIkBiYWJlbC9oZWxwZXItbW9kdWxl LXRyYW5zZm9ybXMiICJeNy4xMS4wIgotICAgICJAYmFiZWwvaGVscGVycyIgIl43LjEwLjQiCi0g ICAgIkBiYWJlbC9wYXJzZXIiICJeNy4xMS41IgotICAgICJAYmFiZWwvdGVtcGxhdGUiICJeNy4x MC40IgotICAgICJAYmFiZWwvdHJhdmVyc2UiICJeNy4xMS41IgotICAgICJAYmFiZWwvdHlwZXMi ICJeNy4xMS41IgorICAgICJAYmFiZWwvZ2VuZXJhdG9yIiAiXjcuMTIuMTAiCisgICAgIkBiYWJl bC9oZWxwZXItbW9kdWxlLXRyYW5zZm9ybXMiICJeNy4xMi4xIgorICAgICJAYmFiZWwvaGVscGVy cyIgIl43LjEyLjUiCisgICAgIkBiYWJlbC9wYXJzZXIiICJeNy4xMi4xMCIKKyAgICAiQGJhYmVs L3RlbXBsYXRlIiAiXjcuMTIuNyIKKyAgICAiQGJhYmVsL3RyYXZlcnNlIiAiXjcuMTIuMTAiCisg ICAgIkBiYWJlbC90eXBlcyIgIl43LjEyLjEwIgogICAgIGNvbnZlcnQtc291cmNlLW1hcCAiXjEu Ny4wIgogICAgIGRlYnVnICJeNC4xLjAiCiAgICAgZ2Vuc3luYyAiXjEuMC4wLWJldGEuMSIKICAg ICBqc29uNSAiXjIuMS4yIgogICAgIGxvZGFzaCAiXjQuMTcuMTkiCi0gICAgcmVzb2x2ZSAiXjEu My4yIgotICAgIHNlbXZlciAiXjUuNC4xIgotICAgIHNvdXJjZS1tYXAgIl4wLjUuMCIKLQotIkBi YWJlbC9jb3JlQH43LjYuMCI6Ci0gIHZlcnNpb24gIjcuNi40IgotICByZXNvbHZlZCAiaHR0cHM6 Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvY29yZS8tL2NvcmUtNy42LjQudGd6IzZlYmQ5 ZmUwMDkyNWY2YzNlMTc3YmI3MjZhMTg4YjVmNTc4MDg4ZmYiCi0gIGludGVncml0eSBzaGE1MTIt Um0wSEd3MTAxR1k4RlR6cFdTeVJia2kvanpxKy9Qa05RSituU3VscmRZNmdGR09zTnNlQ3FENktI UlllMkUrRWR6dUJkcjJweENwNnM0VWs2ZUorWFE9PQotICBkZXBlbmRlbmNpZXM6Ci0gICAgIkBi YWJlbC9jb2RlLWZyYW1lIiAiXjcuNS41IgotICAgICJAYmFiZWwvZ2VuZXJhdG9yIiAiXjcuNi40 IgotICAgICJAYmFiZWwvaGVscGVycyIgIl43LjYuMiIKLSAgICAiQGJhYmVsL3BhcnNlciIgIl43 LjYuNCIKLSAgICAiQGJhYmVsL3RlbXBsYXRlIiAiXjcuNi4wIgotICAgICJAYmFiZWwvdHJhdmVy c2UiICJeNy42LjMiCi0gICAgIkBiYWJlbC90eXBlcyIgIl43LjYuMyIKLSAgICBjb252ZXJ0LXNv dXJjZS1tYXAgIl4xLjEuMCIKLSAgICBkZWJ1ZyAiXjQuMS4wIgotICAgIGpzb241ICJeMi4xLjAi Ci0gICAgbG9kYXNoICJeNC4xNy4xMyIKLSAgICByZXNvbHZlICJeMS4zLjIiCiAgICAgc2VtdmVy ICJeNS40LjEiCiAgICAgc291cmNlLW1hcCAiXjAuNS4wIgogCi0iQGJhYmVsL2dlbmVyYXRvckBe Ny4xMS41IiwgIkBiYWJlbC9nZW5lcmF0b3JAXjcuMTEuNiIsICJAYmFiZWwvZ2VuZXJhdG9yQF43 LjYuNCI6Ci0gIHZlcnNpb24gIjcuMTEuNiIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnku eWFybnBrZy5jb20vQGJhYmVsL2dlbmVyYXRvci8tL2dlbmVyYXRvci03LjExLjYudGd6I2I4Njg5 MDBmODFiMTYzYjRkNDY0ZWEyNDU0NWM2MWNiYWM0ZGM2MjAiCi0gIGludGVncml0eSBzaGE1MTIt RFd0UTFQVjNyK2NMYnlTb0hyd245UldFZ0tNQkxMbWE0T0JRbG9QUnlEWXZjNW1zSk05a3ZUTG8x WW5sSmQxUC9adUtiZGxpM2lqcjVxM0Z2QUYzdUE9PQorIkBiYWJlbC9nZW5lcmF0b3JAXjcuMTIu MTAiLCAiQGJhYmVsL2dlbmVyYXRvckBeNy4xMi4xMSI6CisgIHZlcnNpb24gIjcuMTIuMTEiCisg IHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9nZW5lcmF0b3Iv LS9nZW5lcmF0b3ItNy4xMi4xMS50Z3ojOThhN2RmN2I4YzM1OGM5YTM3YWIwN2EyNDA1Njg1MzAx NmFiYTNhZiIKKyAgaW50ZWdyaXR5IHNoYTUxMi1HZ2c2V1BPSnRTaTh5WVF2TFZqRzhGL1RscFdE bEt4ME9wUzRLdCt4TVFQczVPYUdZV3krdjFBKzFUdnhJNnNBTUdacEtXV29BUTFEYWVRYkltbEl0 QT09CiAgIGRlcGVuZGVuY2llczoKLSAgICAiQGJhYmVsL3R5cGVzIiAiXjcuMTEuNSIKKyAgICAi QGJhYmVsL3R5cGVzIiAiXjcuMTIuMTEiCiAgICAganNlc2MgIl4yLjUuMSIKICAgICBzb3VyY2Ut bWFwICJeMC41LjAiCiAKLSJAYmFiZWwvaGVscGVyLWFubm90YXRlLWFzLXB1cmVAXjcuMTAuNCI6 Ci0gIHZlcnNpb24gIjcuMTAuNCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBr Zy5jb20vQGJhYmVsL2hlbHBlci1hbm5vdGF0ZS1hcy1wdXJlLy0vaGVscGVyLWFubm90YXRlLWFz LXB1cmUtNy4xMC40LnRneiM1YmYwZDQ5NWEzZjc1N2FjM2JkYTQ4YjViZjNiM2JhMzA5YzcyYmEz IgotICBpbnRlZ3JpdHkgc2hhNTEyLVhRbHFLUVA0dlhGQjdCTjhmRUVlcnJtWXZIcDNmSy9yQmtS Rno5amFKYnpLMEIxRFNmZWo5S2M3WnpFOFovT25JZDFqcEpkTkFaM0JGUWpXRzY4cmNBPT0KKyJA YmFiZWwvaGVscGVyLWFubm90YXRlLWFzLXB1cmVAXjcuMTAuNCIsICJAYmFiZWwvaGVscGVyLWFu bm90YXRlLWFzLXB1cmVAXjcuMTIuMTAiOgorICB2ZXJzaW9uICI3LjEyLjEwIgorICByZXNvbHZl ZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvaGVscGVyLWFubm90YXRlLWFz LXB1cmUvLS9oZWxwZXItYW5ub3RhdGUtYXMtcHVyZS03LjEyLjEwLnRneiM1NGFiOWIwMDBlNjBh OTM2NDRjZTE3YjNmMzdkMzEzYWFmMWQxMTVkIgorICBpbnRlZ3JpdHkgc2hhNTEyLVhwbG1WYkMx bitLWTZqTDgvZmdMVlhYVWF1RElCK2xENStHc1FFaDZGNkdCRjFkcTFxeTREUDR5WFd6REtjb3FY QjNYNTh0NjFlODVGaXRvd3c0SlZRPT0KICAgZGVwZW5kZW5jaWVzOgotICAgICJAYmFiZWwvdHlw ZXMiICJeNy4xMC40IgorICAgICJAYmFiZWwvdHlwZXMiICJeNy4xMi4xMCIKIAogIkBiYWJlbC9o ZWxwZXItYnVpbGRlci1iaW5hcnktYXNzaWdubWVudC1vcGVyYXRvci12aXNpdG9yQF43LjEwLjQi OgogICB2ZXJzaW9uICI3LjEwLjQiCkBAIC03NSw0MyArNTksMzQgQEAKICAgICAiQGJhYmVsL2hl bHBlci1leHBsb2RlLWFzc2lnbmFibGUtZXhwcmVzc2lvbiIgIl43LjEwLjQiCiAgICAgIkBiYWJl bC90eXBlcyIgIl43LjEwLjQiCiAKLSJAYmFiZWwvaGVscGVyLWJ1aWxkZXItcmVhY3QtanN4LWV4 cGVyaW1lbnRhbEBeNy4xMC40IiwgIkBiYWJlbC9oZWxwZXItYnVpbGRlci1yZWFjdC1qc3gtZXhw ZXJpbWVudGFsQF43LjExLjUiOgotICB2ZXJzaW9uICI3LjExLjUiCi0gIHJlc29sdmVkICJodHRw czovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9oZWxwZXItYnVpbGRlci1yZWFjdC1qc3gt ZXhwZXJpbWVudGFsLy0vaGVscGVyLWJ1aWxkZXItcmVhY3QtanN4LWV4cGVyaW1lbnRhbC03LjEx LjUudGd6IzRlYTQzZGQ2Mzg1N2IwYTM1Y2QxZjFiMTYxZGMyOWI0MzQxNGU3OWYiCi0gIGludGVn cml0eSBzaGE1MTItVmM0YVBKblJaS1dmemVDQnNxVEJuenVsVk5qQUJWZGFoU1BodGRNRDNWczgw eWt4NGE4N2pUSHRGL1ZSK2FsU3JEbU52YXQ3bDEzeXJSSGF1R2NIVnc9PQorIkBiYWJlbC9oZWxw ZXItY29tcGlsYXRpb24tdGFyZ2V0c0BeNy4xMi41IjoKKyAgdmVyc2lvbiAiNy4xMi41IgorICBy ZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvaGVscGVyLWNvbXBp bGF0aW9uLXRhcmdldHMvLS9oZWxwZXItY29tcGlsYXRpb24tdGFyZ2V0cy03LjEyLjUudGd6I2Ni NDcwYzc2MTk4ZGI2YTI0ZTlkYmM4OTg3Mjc1NjMxZTVkMjk4MzEiCisgIGludGVncml0eSBzaGE1 MTItK3FINk5yc2NNb2xVbHpPWW5nU0JNSU9RcEtVR1BQc2M2MUJ1NVcxMG1nODRMeFo3Y212bkJI ekFSS2JEb0Z4VnZxcUFiajZUZzZON2JTcldTUFhNeXc9PQogICBkZXBlbmRlbmNpZXM6Ci0gICAg IkBiYWJlbC9oZWxwZXItYW5ub3RhdGUtYXMtcHVyZSIgIl43LjEwLjQiCi0gICAgIkBiYWJlbC9o ZWxwZXItbW9kdWxlLWltcG9ydHMiICJeNy4xMC40IgotICAgICJAYmFiZWwvdHlwZXMiICJeNy4x MS41IgotCi0iQGJhYmVsL2hlbHBlci1idWlsZGVyLXJlYWN0LWpzeEBeNy4xMC40IjoKLSAgdmVy c2lvbiAiNy4xMC40IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9A YmFiZWwvaGVscGVyLWJ1aWxkZXItcmVhY3QtanN4Ly0vaGVscGVyLWJ1aWxkZXItcmVhY3QtanN4 LTcuMTAuNC50Z3ojODA5NWNkZGJmZjg1OGU2ZmE5YzMyNmRhZWU1NGEyZjI3MzJjMWQ1ZCIKLSAg aW50ZWdyaXR5IHNoYTUxMi01blBjSVo3K0tLRHhUMTQyN29CaXZsOVY5WVRhbDdxazBkaWNjbmg3 UnJjZ3JUL3BHRk9qZ0d3MWRncnl5eDFHdkhFcFhWZm9ERjZBazNyVGlXaDhSZz09Ci0gIGRlcGVu ZGVuY2llczoKLSAgICAiQGJhYmVsL2hlbHBlci1hbm5vdGF0ZS1hcy1wdXJlIiAiXjcuMTAuNCIK LSAgICAiQGJhYmVsL3R5cGVzIiAiXjcuMTAuNCIKKyAgICAiQGJhYmVsL2NvbXBhdC1kYXRhIiAi XjcuMTIuNSIKKyAgICAiQGJhYmVsL2hlbHBlci12YWxpZGF0b3Itb3B0aW9uIiAiXjcuMTIuMSIK KyAgICBicm93c2Vyc2xpc3QgIl40LjE0LjUiCisgICAgc2VtdmVyICJeNS41LjAiCiAKLSJAYmFi ZWwvaGVscGVyLWNyZWF0ZS1jbGFzcy1mZWF0dXJlcy1wbHVnaW5AXjcuMTAuNCI6Ci0gIHZlcnNp b24gIjcuMTAuNSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJh YmVsL2hlbHBlci1jcmVhdGUtY2xhc3MtZmVhdHVyZXMtcGx1Z2luLy0vaGVscGVyLWNyZWF0ZS1j bGFzcy1mZWF0dXJlcy1wbHVnaW4tNy4xMC41LnRneiM5ZjYxNDQ2YmE4MGU4MjQwYjBhNWM4NWM2 ZmRhYzg0NTlkNmYyNTlkIgotICBpbnRlZ3JpdHkgc2hhNTEyLTBua2RlaWpCN1ZsWm9MVDNyL21Z M2JVa3czVDhXRy9oTncrRkFUcy82K3BHMjAzOUlKV2pUWUwwVlRJU3FzTkhNVVRFbndiVm5jODlX SUpYOVFlZDBBPT0KKyJAYmFiZWwvaGVscGVyLWNyZWF0ZS1jbGFzcy1mZWF0dXJlcy1wbHVnaW5A XjcuMTIuMSI6CisgIHZlcnNpb24gIjcuMTIuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0 cnkueWFybnBrZy5jb20vQGJhYmVsL2hlbHBlci1jcmVhdGUtY2xhc3MtZmVhdHVyZXMtcGx1Z2lu Ly0vaGVscGVyLWNyZWF0ZS1jbGFzcy1mZWF0dXJlcy1wbHVnaW4tNy4xMi4xLnRneiMzYzQ1OTk4 ZjQzMWVkZDRhOTIxNGM1ZjFkM2FkMTQ0OGE2MTM3ZjZlIgorICBpbnRlZ3JpdHkgc2hhNTEyLWhr TCsrcldldGEvT1ZPQlRSSmM5YTVBemg1bXQ1V2daVUdBS01EOEpNMTQxWXNFMDhLLy9icDF1bkJC aWVPNnJVS2tJUHlVRTBVU1EzMGpBeTNTazF3PT0KICAgZGVwZW5kZW5jaWVzOgogICAgICJAYmFi ZWwvaGVscGVyLWZ1bmN0aW9uLW5hbWUiICJeNy4xMC40IgotICAgICJAYmFiZWwvaGVscGVyLW1l bWJlci1leHByZXNzaW9uLXRvLWZ1bmN0aW9ucyIgIl43LjEwLjUiCisgICAgIkBiYWJlbC9oZWxw ZXItbWVtYmVyLWV4cHJlc3Npb24tdG8tZnVuY3Rpb25zIiAiXjcuMTIuMSIKICAgICAiQGJhYmVs L2hlbHBlci1vcHRpbWlzZS1jYWxsLWV4cHJlc3Npb24iICJeNy4xMC40IgotICAgICJAYmFiZWwv aGVscGVyLXBsdWdpbi11dGlscyIgIl43LjEwLjQiCi0gICAgIkBiYWJlbC9oZWxwZXItcmVwbGFj ZS1zdXBlcnMiICJeNy4xMC40IgorICAgICJAYmFiZWwvaGVscGVyLXJlcGxhY2Utc3VwZXJzIiAi XjcuMTIuMSIKICAgICAiQGJhYmVsL2hlbHBlci1zcGxpdC1leHBvcnQtZGVjbGFyYXRpb24iICJe Ny4xMC40IgogCi0iQGJhYmVsL2hlbHBlci1jcmVhdGUtcmVnZXhwLWZlYXR1cmVzLXBsdWdpbkBe Ny4xMC40IjoKLSAgdmVyc2lvbiAiNy4xMC40IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3Ry eS55YXJucGtnLmNvbS9AYmFiZWwvaGVscGVyLWNyZWF0ZS1yZWdleHAtZmVhdHVyZXMtcGx1Z2lu Ly0vaGVscGVyLWNyZWF0ZS1yZWdleHAtZmVhdHVyZXMtcGx1Z2luLTcuMTAuNC50Z3ojZmRkNjBk ODg1MjQ2NTlhMGI2OTU5YzA1Nzk5MjVlNDI1NzE0ZjNiOCIKLSAgaW50ZWdyaXR5IHNoYTUxMi0y L2h1NThJRVBLZW9MRjQ1REJ3eDNYRnFzYkNYbWtkQWF5NHNwVnIyeDBqWWdSeHJTTnArZVB3dlNz eTlnNllTYU5EY0tJUVZQWGsxT3Y4UzJlZGsyZz09CisiQGJhYmVsL2hlbHBlci1jcmVhdGUtcmVn ZXhwLWZlYXR1cmVzLXBsdWdpbkBeNy4xMi4xIjoKKyAgdmVyc2lvbiAiNy4xMi43IgorICByZXNv bHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvaGVscGVyLWNyZWF0ZS1y ZWdleHAtZmVhdHVyZXMtcGx1Z2luLy0vaGVscGVyLWNyZWF0ZS1yZWdleHAtZmVhdHVyZXMtcGx1 Z2luLTcuMTIuNy50Z3ojMjA4NDE3MmU5NTQ0M2ZhMGEwOTIxNGJhMWJiMzI4ZjlhZWExMjc4ZiIK KyAgaW50ZWdyaXR5IHNoYTUxMi1pZG51dHZRUGRwYmR1dXR2aTNKVmZFZ2NWSUhvb1FuaHZoeDBO azlpc09JTk9JR1lrWmVhMVBrMkpsSlJpVW5NZWZybHZyMHZrQnlBVEJZL21CNHZqUT09CiAgIGRl cGVuZGVuY2llczoKICAgICAiQGJhYmVsL2hlbHBlci1hbm5vdGF0ZS1hcy1wdXJlIiAiXjcuMTAu NCIKLSAgICAiQGJhYmVsL2hlbHBlci1yZWdleCIgIl43LjEwLjQiCi0gICAgcmVnZXhwdS1jb3Jl ICJeNC43LjAiCisgICAgcmVnZXhwdS1jb3JlICJeNC43LjEiCiAKICJAYmFiZWwvaGVscGVyLWRl ZmluZS1tYXBAXjcuMTAuNCI6CiAgIHZlcnNpb24gIjcuMTAuNSIKQEAgLTEyMywyNyArOTgsMjcg QEAKICAgICBsb2Rhc2ggIl40LjE3LjE5IgogCiAiQGJhYmVsL2hlbHBlci1leHBsb2RlLWFzc2ln bmFibGUtZXhwcmVzc2lvbkBeNy4xMC40IjoKLSAgdmVyc2lvbiAiNy4xMS40IgotICByZXNvbHZl ZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvaGVscGVyLWV4cGxvZGUtYXNz aWduYWJsZS1leHByZXNzaW9uLy0vaGVscGVyLWV4cGxvZGUtYXNzaWduYWJsZS1leHByZXNzaW9u LTcuMTEuNC50Z3ojMmQ4ZTM0NzAyNTJjYzE3YWJhOTE3ZWRlNzgwM2Q0YTdhMjc2YTQxYiIKLSAg aW50ZWdyaXR5IHNoYTUxMi11eDlobTN6UjRXVjFZM3hYeFhrZEcvMGd4RjludkkwWVZtS1Zodks5 QWZNb2FRa2VtTDNzSnBYdytYYno2NWF6bzhxSmlFejJYVkRVcEszS1loSDNaUT09CisgIHZlcnNp b24gIjcuMTIuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJh YmVsL2hlbHBlci1leHBsb2RlLWFzc2lnbmFibGUtZXhwcmVzc2lvbi8tL2hlbHBlci1leHBsb2Rl LWFzc2lnbmFibGUtZXhwcmVzc2lvbi03LjEyLjEudGd6IzgwMDZhNDY2Njk1YzRhZDg2YTJhNWYy ZmIxNWI1ZjJjMzFhZDU2MzMiCisgIGludGVncml0eSBzaGE1MTItZG1Vd0g4WG1sclVwVnFndFo3 Mzd0Szg4djA3bDg0MHo5ajNPRWhDTHdLVGtqbHZLcGZxWFZJWjB3cEszYWVPeHNwd0dyZi81QVA1 cUx4NHJPM3c1ckE9PQogICBkZXBlbmRlbmNpZXM6Ci0gICAgIkBiYWJlbC90eXBlcyIgIl43LjEw LjQiCisgICAgIkBiYWJlbC90eXBlcyIgIl43LjEyLjEiCiAKLSJAYmFiZWwvaGVscGVyLWZ1bmN0 aW9uLW5hbWVAXjcuMTAuNCI6Ci0gIHZlcnNpb24gIjcuMTAuNCIKLSAgcmVzb2x2ZWQgImh0dHBz Oi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL2hlbHBlci1mdW5jdGlvbi1uYW1lLy0vaGVs cGVyLWZ1bmN0aW9uLW5hbWUtNy4xMC40LnRneiNkMmQzYjIwYzU5YWQ4YzQ3MTEyZmE3ZDJhOTRi YzA5ZDVlZjgyZjFhIgotICBpbnRlZ3JpdHkgc2hhNTEyLVlkYVN5ejFuOGdZNDRFbU43eDQ0ekJu OXpRMVJ5MlkrM0dUQSszdkg2TWl6a2UxVncwYVdETTY2Rk9ZRVB3OC8vcUtrbXFPY2tyR2dUWWEr NnNjZXFRPT0KKyJAYmFiZWwvaGVscGVyLWZ1bmN0aW9uLW5hbWVAXjcuMTAuNCIsICJAYmFiZWwv aGVscGVyLWZ1bmN0aW9uLW5hbWVAXjcuMTIuMTEiOgorICB2ZXJzaW9uICI3LjEyLjExIgorICBy ZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvaGVscGVyLWZ1bmN0 aW9uLW5hbWUvLS9oZWxwZXItZnVuY3Rpb24tbmFtZS03LjEyLjExLnRneiMxZmQ3NzM4YWVlNWRj ZjUzYzNlY2ZmMjRmMWRhOWM1MTFlYzQ3YjQyIgorICBpbnRlZ3JpdHkgc2hhNTEyLUF0UUtqdFlO b2xLTmk2bk5OVkxRMjdDUDZEOW9GUjZicS9IUFlTaXpsemJwN3VDMU01OVhKZThMKzB1WGpiSWFa YVVKRjk5cnVIcVZHaUtYVS83eWJBPT0KICAgZGVwZW5kZW5jaWVzOgotICAgICJAYmFiZWwvaGVs cGVyLWdldC1mdW5jdGlvbi1hcml0eSIgIl43LjEwLjQiCi0gICAgIkBiYWJlbC90ZW1wbGF0ZSIg Il43LjEwLjQiCi0gICAgIkBiYWJlbC90eXBlcyIgIl43LjEwLjQiCisgICAgIkBiYWJlbC9oZWxw ZXItZ2V0LWZ1bmN0aW9uLWFyaXR5IiAiXjcuMTIuMTAiCisgICAgIkBiYWJlbC90ZW1wbGF0ZSIg Il43LjEyLjciCisgICAgIkBiYWJlbC90eXBlcyIgIl43LjEyLjExIgogCi0iQGJhYmVsL2hlbHBl ci1nZXQtZnVuY3Rpb24tYXJpdHlAXjcuMTAuNCI6Ci0gIHZlcnNpb24gIjcuMTAuNCIKLSAgcmVz b2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL2hlbHBlci1nZXQtZnVu Y3Rpb24tYXJpdHkvLS9oZWxwZXItZ2V0LWZ1bmN0aW9uLWFyaXR5LTcuMTAuNC50Z3ojOThjMWNi ZWEwZTIzMzJmMzNmOWE0NjYxYjhjZTE1MDViMmMxOWJhMiIKLSAgaW50ZWdyaXR5IHNoYTUxMi1F a04zWURCK1NSRGdpSVVuTmdjbWlEMzYxdGkrQVZiTDNmM0hlbmY2ZHFxVXlyNWRNc29ybm8wbEpX SnVMaERoa0k1c1lFcGdqNnk5a0I4QU9VMUkyQT09CisiQGJhYmVsL2hlbHBlci1nZXQtZnVuY3Rp b24tYXJpdHlAXjcuMTIuMTAiOgorICB2ZXJzaW9uICI3LjEyLjEwIgorICByZXNvbHZlZCAiaHR0 cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvaGVscGVyLWdldC1mdW5jdGlvbi1hcml0 eS8tL2hlbHBlci1nZXQtZnVuY3Rpb24tYXJpdHktNy4xMi4xMC50Z3ojYjE1ODgxN2EzMTY1YjVm YWEyMDQ3ODI1ZGZhNjE5NzBkZGNjMTZjZiIKKyAgaW50ZWdyaXR5IHNoYTUxMi1tbTBuNUJQalIw NndoOW1QUWFEZFhXRG9sbC9qNVVwQ0FQbDF4OGZTNzFHSG03SEE2VWEyVjR5bEcxSnU4bHZjVE9p ZXRiUE5OUGFTaWxLaitwaitBZz09CiAgIGRlcGVuZGVuY2llczoKLSAgICAiQGJhYmVsL3R5cGVz IiAiXjcuMTAuNCIKKyAgICAiQGJhYmVsL3R5cGVzIiAiXjcuMTIuMTAiCiAKICJAYmFiZWwvaGVs cGVyLWhvaXN0LXZhcmlhYmxlc0BeNy4xMC40IjoKICAgdmVyc2lvbiAiNy4xMC40IgpAQCAtMTUy LDExNyArMTI3LDExNSBAQAogICBkZXBlbmRlbmNpZXM6CiAgICAgIkBiYWJlbC90eXBlcyIgIl43 LjEwLjQiCiAKLSJAYmFiZWwvaGVscGVyLW1lbWJlci1leHByZXNzaW9uLXRvLWZ1bmN0aW9uc0Be Ny4xMC40IiwgIkBiYWJlbC9oZWxwZXItbWVtYmVyLWV4cHJlc3Npb24tdG8tZnVuY3Rpb25zQF43 LjEwLjUiOgotICB2ZXJzaW9uICI3LjExLjAiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5 Lnlhcm5wa2cuY29tL0BiYWJlbC9oZWxwZXItbWVtYmVyLWV4cHJlc3Npb24tdG8tZnVuY3Rpb25z Ly0vaGVscGVyLW1lbWJlci1leHByZXNzaW9uLXRvLWZ1bmN0aW9ucy03LjExLjAudGd6I2FlNjlj ODNkODRlZTgyZjRiNDJmOTZlMmEwOTQxMDkzNWE4ZjI2ZGYiCi0gIGludGVncml0eSBzaGE1MTIt SmJGbEtIRm50UlY1cUt3M1lDMEN2UW5EWjRYTXdnenpCYmxkN0x5NE1qNGNiRnkzS3l3Y1I4TnRO Y3RSVG9NV0pPVnZMSU5KdjUyNUdkNnd3VkV4L1E9PQorIkBiYWJlbC9oZWxwZXItbWVtYmVyLWV4 cHJlc3Npb24tdG8tZnVuY3Rpb25zQF43LjEyLjEiLCAiQGJhYmVsL2hlbHBlci1tZW1iZXItZXhw cmVzc2lvbi10by1mdW5jdGlvbnNAXjcuMTIuNyI6CisgIHZlcnNpb24gIjcuMTIuNyIKKyAgcmVz b2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL2hlbHBlci1tZW1iZXIt ZXhwcmVzc2lvbi10by1mdW5jdGlvbnMvLS9oZWxwZXItbWVtYmVyLWV4cHJlc3Npb24tdG8tZnVu Y3Rpb25zLTcuMTIuNy50Z3ojYWE3N2JkMDM5NmVjODExNGU1ZTMwNzg3ZWZhNzg1OTlkODc0YTg1 NSIKKyAgaW50ZWdyaXR5IHNoYTUxMi1EQ3N1UHllV3hlSGdoMUR1czdBUG43aXphNDJpL3FYcWlG UFd5QkRkT0Z0dlM1ODFKUWVQc2MxRi9uRCtmSHJjc3doTGxSYzJVcFlTMU53RVJ4WmhIdz09CiAg IGRlcGVuZGVuY2llczoKLSAgICAiQGJhYmVsL3R5cGVzIiAiXjcuMTEuMCIKKyAgICAiQGJhYmVs L3R5cGVzIiAiXjcuMTIuNyIKIAotIkBiYWJlbC9oZWxwZXItbW9kdWxlLWltcG9ydHNAXjcuMC4w IiwgIkBiYWJlbC9oZWxwZXItbW9kdWxlLWltcG9ydHNAXjcuMTAuNCI6Ci0gIHZlcnNpb24gIjcu MTAuNCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL2hl bHBlci1tb2R1bGUtaW1wb3J0cy8tL2hlbHBlci1tb2R1bGUtaW1wb3J0cy03LjEwLjQudGd6IzRj NWM1NGJlMDRiZDMxNjcwYTczODI3OTdkNzViOWZhMmU1YjU2MjAiCi0gIGludGVncml0eSBzaGE1 MTItbkVRSkhxWWF2STIxN29EOStzNU1VQnprNngxSWx2b1M5V1RQZmdHNDNDYk1FZVN0RTB2K3Ir VHVjV2R4OEtGR293UEd2eU9rRFQ5KzdESGVkSURuVnc9PQorIkBiYWJlbC9oZWxwZXItbW9kdWxl LWltcG9ydHNAXjcuMC4wIiwgIkBiYWJlbC9oZWxwZXItbW9kdWxlLWltcG9ydHNAXjcuMTIuMSIs ICJAYmFiZWwvaGVscGVyLW1vZHVsZS1pbXBvcnRzQF43LjEyLjUiOgorICB2ZXJzaW9uICI3LjEy LjUiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9oZWxw ZXItbW9kdWxlLWltcG9ydHMvLS9oZWxwZXItbW9kdWxlLWltcG9ydHMtNy4xMi41LnRneiMxYmZj MDIyOWY3OTQ5ODhmNzZlZDBhNGQ0ZTkwODYwODUwYjU0ZGZiIgorICBpbnRlZ3JpdHkgc2hhNTEy LVNSNzEzT2dxZzYrK3VleEZST1JmLytuUFhNbVdJbjgwVEFMdTB1YUZiK2lRSVVvUjdiT0M3ekJX eXpCczViM3RCQkpYdXlEMGNSdTFGMTVHeXpqT1dBPT0KICAgZGVwZW5kZW5jaWVzOgotICAgICJA YmFiZWwvdHlwZXMiICJeNy4xMC40IgorICAgICJAYmFiZWwvdHlwZXMiICJeNy4xMi41IgogCi0i QGJhYmVsL2hlbHBlci1tb2R1bGUtdHJhbnNmb3Jtc0BeNy4xMC40IiwgIkBiYWJlbC9oZWxwZXIt bW9kdWxlLXRyYW5zZm9ybXNAXjcuMTAuNSIsICJAYmFiZWwvaGVscGVyLW1vZHVsZS10cmFuc2Zv cm1zQF43LjExLjAiOgotICB2ZXJzaW9uICI3LjExLjAiCi0gIHJlc29sdmVkICJodHRwczovL3Jl Z2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9oZWxwZXItbW9kdWxlLXRyYW5zZm9ybXMvLS9oZWxw ZXItbW9kdWxlLXRyYW5zZm9ybXMtNy4xMS4wLnRneiNiMTZmMjUwMjI5ZTQ3MjExYWJkZDg0YjM0 YjY0NzM3YzJhYjJkMzU5IgotICBpbnRlZ3JpdHkgc2hhNTEyLTAyRVZ1OENPTXVUUk8xVEF6ZE10 cEJQYmU2YVExdy84ZmVQRDJZZ1FteFpVNGdwTldhTDlnSzNKcDdkeGxrVWxVQ0pPVGFTZUErSHJt MUJSUXdxSWhnPT0KKyJAYmFiZWwvaGVscGVyLW1vZHVsZS10cmFuc2Zvcm1zQF43LjEyLjEiOgor ICB2ZXJzaW9uICI3LjEyLjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cu Y29tL0BiYWJlbC9oZWxwZXItbW9kdWxlLXRyYW5zZm9ybXMvLS9oZWxwZXItbW9kdWxlLXRyYW5z Zm9ybXMtNy4xMi4xLnRneiM3OTU0ZmVjNzFmNWIzMmM0OGU0YjMwM2I0MzdjMzQ0NTNmZDcyNDdj IgorICBpbnRlZ3JpdHkgc2hhNTEyLVFRemVoZ0ZBWjJiYklTaUNwbVZHZmlHdXg4WVZGWFEwYWJC aWMyRW52aGVqMjJEVlhWOW5DRmFTNWhJUWJreW8xQWRHYitnTk1FMlRTaDNoWUpWVi93PT0KICAg ZGVwZW5kZW5jaWVzOgotICAgICJAYmFiZWwvaGVscGVyLW1vZHVsZS1pbXBvcnRzIiAiXjcuMTAu NCIKLSAgICAiQGJhYmVsL2hlbHBlci1yZXBsYWNlLXN1cGVycyIgIl43LjEwLjQiCi0gICAgIkBi YWJlbC9oZWxwZXItc2ltcGxlLWFjY2VzcyIgIl43LjEwLjQiCisgICAgIkBiYWJlbC9oZWxwZXIt bW9kdWxlLWltcG9ydHMiICJeNy4xMi4xIgorICAgICJAYmFiZWwvaGVscGVyLXJlcGxhY2Utc3Vw ZXJzIiAiXjcuMTIuMSIKKyAgICAiQGJhYmVsL2hlbHBlci1zaW1wbGUtYWNjZXNzIiAiXjcuMTIu MSIKICAgICAiQGJhYmVsL2hlbHBlci1zcGxpdC1leHBvcnQtZGVjbGFyYXRpb24iICJeNy4xMS4w IgorICAgICJAYmFiZWwvaGVscGVyLXZhbGlkYXRvci1pZGVudGlmaWVyIiAiXjcuMTAuNCIKICAg ICAiQGJhYmVsL3RlbXBsYXRlIiAiXjcuMTAuNCIKLSAgICAiQGJhYmVsL3R5cGVzIiAiXjcuMTEu MCIKKyAgICAiQGJhYmVsL3RyYXZlcnNlIiAiXjcuMTIuMSIKKyAgICAiQGJhYmVsL3R5cGVzIiAi XjcuMTIuMSIKICAgICBsb2Rhc2ggIl40LjE3LjE5IgogCi0iQGJhYmVsL2hlbHBlci1vcHRpbWlz ZS1jYWxsLWV4cHJlc3Npb25AXjcuMTAuNCI6Ci0gIHZlcnNpb24gIjcuMTAuNCIKLSAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL2hlbHBlci1vcHRpbWlzZS1j YWxsLWV4cHJlc3Npb24vLS9oZWxwZXItb3B0aW1pc2UtY2FsbC1leHByZXNzaW9uLTcuMTAuNC50 Z3ojNTBkYzk2NDEzZDU5NGY5OTVhNzc5MDU5MDViMDU4OTNjZDc3OTY3MyIKLSAgaW50ZWdyaXR5 IHNoYTUxMi1uM1VHS1k0Vlh3WFRoRWlLcmdSQW9WUEJNcWVvUGdIVnFpSFpPYW5BSkNHOW5RVUwy cExSUWlyVXpsMGlvS2NsSEdwR3FSZ0lPa2djSUphSVdMcHlnZz09CisiQGJhYmVsL2hlbHBlci1v cHRpbWlzZS1jYWxsLWV4cHJlc3Npb25AXjcuMTAuNCIsICJAYmFiZWwvaGVscGVyLW9wdGltaXNl LWNhbGwtZXhwcmVzc2lvbkBeNy4xMi4xMCI6CisgIHZlcnNpb24gIjcuMTIuMTAiCisgIHJlc29s dmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9oZWxwZXItb3B0aW1pc2Ut Y2FsbC1leHByZXNzaW9uLy0vaGVscGVyLW9wdGltaXNlLWNhbGwtZXhwcmVzc2lvbi03LjEyLjEw LnRneiM5NGNhNGUzMDZlZTExYTdkZDZlOWY0MjgyM2UyYWM2YjQ5ODgxZTJkIgorICBpbnRlZ3Jp dHkgc2hhNTEyLTR0cGJVMFNyU1RqanQ2NVVNV1NyVU9QWlRzZ3ZQZ0dHNFM4UVNUTkhhY0t6cFM1 MUlWV0dEajB5Q3d5ZVpORC9pK0xTTjJnL082M2pFWEVXbTQ5c1lRPT0KICAgZGVwZW5kZW5jaWVz OgotICAgICJAYmFiZWwvdHlwZXMiICJeNy4xMC40IgorICAgICJAYmFiZWwvdHlwZXMiICJeNy4x Mi4xMCIKIAotIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzQF43LjAuMCIsICJAYmFiZWwvaGVs cGVyLXBsdWdpbi11dGlsc0BeNy4xMC40IiwgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzQF43 LjguMCI6CisiQGJhYmVsL2hlbHBlci1wbHVnaW4tdXRpbHNAXjcuMC4wIiwgIkBiYWJlbC9oZWxw ZXItcGx1Z2luLXV0aWxzQF43LjEwLjQiLCAiQGJhYmVsL2hlbHBlci1wbHVnaW4tdXRpbHNAXjcu OC4wIiwgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzQF43LjguMyI6CiAgIHZlcnNpb24gIjcu MTAuNCIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL2hl bHBlci1wbHVnaW4tdXRpbHMvLS9oZWxwZXItcGx1Z2luLXV0aWxzLTcuMTAuNC50Z3ojMmY3NWE4 MzEyNjlkNGY2NzdkZTQ5OTg2ZGZmNTk5Mjc1MzNjZjM3NSIKICAgaW50ZWdyaXR5IHNoYTUxMi1P NEtDdlFBNmxMaU1VOWwyZWF3QlBNZjF4UFA4eFBmQjNpRVF3MTUwaE9WVHFqL3JmWHowVGhUYjRI RXpxUWZzMkJtbzVBeThCenhmelZ0QnJyOWRWZz09CiAKLSJAYmFiZWwvaGVscGVyLXJlZ2V4QF43 LjEwLjQiOgotICB2ZXJzaW9uICI3LjEwLjUiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5 Lnlhcm5wa2cuY29tL0BiYWJlbC9oZWxwZXItcmVnZXgvLS9oZWxwZXItcmVnZXgtNy4xMC41LnRn eiMzMmRmYmI3OTg5OTA3M2M0MTU1NTcwNTNhMTliZDA1NWFhZTUwYWUwIgotICBpbnRlZ3JpdHkg c2hhNTEyLTY4a2RVQXpEcmxqcUJyaW83RFlBRWdDb0pIeHBwSk9FUkhPZ09yRE43V2pPelAwWlEx THNTRFJYY2VtelZaYUx2amFKc0pFRVNiNnF0K3puTnVFTkRnPT0KLSAgZGVwZW5kZW5jaWVzOgot ICAgIGxvZGFzaCAiXjQuMTcuMTkiCi0KLSJAYmFiZWwvaGVscGVyLXJlbWFwLWFzeW5jLXRvLWdl bmVyYXRvckBeNy4xMC40IjoKLSAgdmVyc2lvbiAiNy4xMS40IgotICByZXNvbHZlZCAiaHR0cHM6 Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvaGVscGVyLXJlbWFwLWFzeW5jLXRvLWdlbmVy YXRvci8tL2hlbHBlci1yZW1hcC1hc3luYy10by1nZW5lcmF0b3ItNy4xMS40LnRneiM0NDc0ZWE5 Zjc0MzhmMTg1NzVlMzBiMGNhYzc4NDA0NWI0MDJhMTJkIgotICBpbnRlZ3JpdHkgc2hhNTEyLXRS NXZKL3ZCYTl3RnkzbTVMTHYyZmFhcEpMbkRGeE5XZmYyU0FZa1NFNHJMVWRicDdDZE9iWUZnSTd3 SzRUL01qNFV6cGpQd3pSOFB6bXI1bTdNSEdBPT0KKyJAYmFiZWwvaGVscGVyLXJlbWFwLWFzeW5j LXRvLWdlbmVyYXRvckBeNy4xMi4xIjoKKyAgdmVyc2lvbiAiNy4xMi4xIgorICByZXNvbHZlZCAi aHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvaGVscGVyLXJlbWFwLWFzeW5jLXRv LWdlbmVyYXRvci8tL2hlbHBlci1yZW1hcC1hc3luYy10by1nZW5lcmF0b3ItNy4xMi4xLnRneiM4 YzRkYmJmOTE2MzE0ZjYwNDdkYzA1ZTZhMjIxNzA3NDIzODM0N2ZkIgorICBpbnRlZ3JpdHkgc2hh NTEyLTlkMEtRQ1JNOGNsTVBjRHdvOFNldk5zKy85YTh5V1ZWbWFFODBGR0pjRVA4TjFxVG9SRW1X RUduQm44QlVsSmhZUkZ6NmZxeGVSTDFzbDVPZ3NlZDdBPT0KICAgZGVwZW5kZW5jaWVzOgogICAg ICJAYmFiZWwvaGVscGVyLWFubm90YXRlLWFzLXB1cmUiICJeNy4xMC40IgogICAgICJAYmFiZWwv aGVscGVyLXdyYXAtZnVuY3Rpb24iICJeNy4xMC40IgotICAgICJAYmFiZWwvdGVtcGxhdGUiICJe Ny4xMC40IgotICAgICJAYmFiZWwvdHlwZXMiICJeNy4xMC40IgorICAgICJAYmFiZWwvdHlwZXMi ICJeNy4xMi4xIgogCi0iQGJhYmVsL2hlbHBlci1yZXBsYWNlLXN1cGVyc0BeNy4xMC40IjoKLSAg dmVyc2lvbiAiNy4xMC40IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNv bS9AYmFiZWwvaGVscGVyLXJlcGxhY2Utc3VwZXJzLy0vaGVscGVyLXJlcGxhY2Utc3VwZXJzLTcu MTAuNC50Z3ojZDU4NWNkOTM4OGVhMDZlNjAzMWU0Y2Q0NGI2NzEzY2JlYWQ5ZTZjZiIKLSAgaW50 ZWdyaXR5IHNoYTUxMi1zUHhaZkZYb2NFeW1ZVGRWSzFVTm1GUEJOK0h2NW1Ka0xQc1lXd0dCeFpB eGFXZkZ1K3hxcDdiNnFXRDB5ak51TkwyVktjNkw1TTE4dE9YVVA3TlUwQT09CisiQGJhYmVsL2hl bHBlci1yZXBsYWNlLXN1cGVyc0BeNy4xMi4xIjoKKyAgdmVyc2lvbiAiNy4xMi4xMSIKKyAgcmVz b2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL2hlbHBlci1yZXBsYWNl LXN1cGVycy8tL2hlbHBlci1yZXBsYWNlLXN1cGVycy03LjEyLjExLnRneiNlYTUxMTY1OGZjNjZj NzkwOGY5MjMxMDZkZDg4ZTA4ZDE5OTdkNjBkIgorICBpbnRlZ3JpdHkgc2hhNTEyLXErdzFjcW1o TDdSMEZOenRoL1BMTHAyTitzY1hFSy9MMkFIYlhVeXlkeHA4MjhGNEZFYTVXY1ZvcXVpOXZGUmlI RFFFcmo5Wm9mOGF6UDMydUdWVFJBPT0KICAgZGVwZW5kZW5jaWVzOgotICAgICJAYmFiZWwvaGVs cGVyLW1lbWJlci1leHByZXNzaW9uLXRvLWZ1bmN0aW9ucyIgIl43LjEwLjQiCi0gICAgIkBiYWJl bC9oZWxwZXItb3B0aW1pc2UtY2FsbC1leHByZXNzaW9uIiAiXjcuMTAuNCIKLSAgICAiQGJhYmVs L3RyYXZlcnNlIiAiXjcuMTAuNCIKLSAgICAiQGJhYmVsL3R5cGVzIiAiXjcuMTAuNCIKKyAgICAi QGJhYmVsL2hlbHBlci1tZW1iZXItZXhwcmVzc2lvbi10by1mdW5jdGlvbnMiICJeNy4xMi43Igor ICAgICJAYmFiZWwvaGVscGVyLW9wdGltaXNlLWNhbGwtZXhwcmVzc2lvbiIgIl43LjEyLjEwIgor ICAgICJAYmFiZWwvdHJhdmVyc2UiICJeNy4xMi4xMCIKKyAgICAiQGJhYmVsL3R5cGVzIiAiXjcu MTIuMTEiCiAKLSJAYmFiZWwvaGVscGVyLXNpbXBsZS1hY2Nlc3NAXjcuMTAuNCI6Ci0gIHZlcnNp b24gIjcuMTAuNCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJh YmVsL2hlbHBlci1zaW1wbGUtYWNjZXNzLy0vaGVscGVyLXNpbXBsZS1hY2Nlc3MtNy4xMC40LnRn eiMwZjVjY2RhMjk0NTI3N2EyYTdhMmQzYTgyMWUxNTM5NWVkY2YzNDYxIgotICBpbnRlZ3JpdHkg c2hhNTEyLTBmTXk3MmVqL1ZFdkY4VUxtWDZ5YjVNdEhHNHVINERiZDZJL2FIRGIvSlZnMGJiaXZ3 dDlXZytoM3VNdlgrUVNGdHdyNU1lSXR2YXpicmM0anRSQVh3PT0KKyJAYmFiZWwvaGVscGVyLXNp bXBsZS1hY2Nlc3NAXjcuMTIuMSI6CisgIHZlcnNpb24gIjcuMTIuMSIKKyAgcmVzb2x2ZWQgImh0 dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL2hlbHBlci1zaW1wbGUtYWNjZXNzLy0v aGVscGVyLXNpbXBsZS1hY2Nlc3MtNy4xMi4xLnRneiMzMjQyN2U1YWE2MTU0N2QzOGViMWU2ZWFm NWZkMTQyNmZkYWQ5MTM2IgorICBpbnRlZ3JpdHkgc2hhNTEyLU94QnA3cE1yalZld1NTQzhmWERG ckhyQmNKQVRPT0Zzc1p3djE2RjMvNlh0YzEzOEdIeWJCZlBibTlrZmlxUUhLaFlRcmxhbVdJTHds RENleU1GRWFBPT0KICAgZGVwZW5kZW5jaWVzOgotICAgICJAYmFiZWwvdGVtcGxhdGUiICJeNy4x MC40IgotICAgICJAYmFiZWwvdHlwZXMiICJeNy4xMC40IgorICAgICJAYmFiZWwvdHlwZXMiICJe Ny4xMi4xIgogCi0iQGJhYmVsL2hlbHBlci1za2lwLXRyYW5zcGFyZW50LWV4cHJlc3Npb24td3Jh cHBlcnNAXjcuMTEuMCI6Ci0gIHZlcnNpb24gIjcuMTEuMCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8v cmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL2hlbHBlci1za2lwLXRyYW5zcGFyZW50LWV4cHJl c3Npb24td3JhcHBlcnMvLS9oZWxwZXItc2tpcC10cmFuc3BhcmVudC1leHByZXNzaW9uLXdyYXBw ZXJzLTcuMTEuMC50Z3ojZWVjMTYyZjExMmMyZjU4ZDNhZjBhZjEyNWUzYmI1NzY2NTE0NjcyOSIK LSAgaW50ZWdyaXR5IHNoYTUxMi0wWElkaVFsbjRFbGdsZ2pid285d3VKcEwvSzdBR0NZMjZrbUV0 MCtwUlAwVEFqNGpqeU5xMU1qb1J2aWtyVFZxS2N4NEd5c3h0NGNYdlZGWFAvSk8yUT09CisiQGJh YmVsL2hlbHBlci1za2lwLXRyYW5zcGFyZW50LWV4cHJlc3Npb24td3JhcHBlcnNAXjcuMTIuMSI6 CisgIHZlcnNpb24gIjcuMTIuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBr Zy5jb20vQGJhYmVsL2hlbHBlci1za2lwLXRyYW5zcGFyZW50LWV4cHJlc3Npb24td3JhcHBlcnMv LS9oZWxwZXItc2tpcC10cmFuc3BhcmVudC1leHByZXNzaW9uLXdyYXBwZXJzLTcuMTIuMS50Z3oj NDYyZGM2M2E3ZTQzNWFkZTg0NjgzODVjNjNkMmI4NGNjZTRiM2NiZiIKKyAgaW50ZWdyaXR5IHNo YTUxMi1NZjVBVXVoRzEvT0NDaE9KL0hjQURtdmNITTQyV0pvY2tvbWJuOEFUSkczT255aVN4Qksv TW01eDc4QlFXdm10WFpLSGdiamRHTDJraW4vSE9MbFpHQT09CiAgIGRlcGVuZGVuY2llczoKLSAg ICAiQGJhYmVsL3R5cGVzIiAiXjcuMTEuMCIKKyAgICAiQGJhYmVsL3R5cGVzIiAiXjcuMTIuMSIK IAotIkBiYWJlbC9oZWxwZXItc3BsaXQtZXhwb3J0LWRlY2xhcmF0aW9uQF43LjEwLjQiLCAiQGJh YmVsL2hlbHBlci1zcGxpdC1leHBvcnQtZGVjbGFyYXRpb25AXjcuMTEuMCI6Ci0gIHZlcnNpb24g IjcuMTEuMCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVs L2hlbHBlci1zcGxpdC1leHBvcnQtZGVjbGFyYXRpb24vLS9oZWxwZXItc3BsaXQtZXhwb3J0LWRl Y2xhcmF0aW9uLTcuMTEuMC50Z3ojZjhhNDkxMjQ0YWNmNmE2NzYxNThhYzQyMDcyOTExYmE4M2Fk MDk5ZiIKLSAgaW50ZWdyaXR5IHNoYTUxMi03NFZlanZwNm1Ia0dFK20razV2SFk5M0ZYMmNBdHJ3 MXpYclpYUmxHNGw0MTBObTlQeGZFaVZUbjFQakRQVjVTbm1pZWl1ZVk0QUZnMnhxaE5GdXVaZz09 CisiQGJhYmVsL2hlbHBlci1zcGxpdC1leHBvcnQtZGVjbGFyYXRpb25AXjcuMTAuNCIsICJAYmFi ZWwvaGVscGVyLXNwbGl0LWV4cG9ydC1kZWNsYXJhdGlvbkBeNy4xMS4wIiwgIkBiYWJlbC9oZWxw ZXItc3BsaXQtZXhwb3J0LWRlY2xhcmF0aW9uQF43LjEyLjExIjoKKyAgdmVyc2lvbiAiNy4xMi4x MSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL2hlbHBl ci1zcGxpdC1leHBvcnQtZGVjbGFyYXRpb24vLS9oZWxwZXItc3BsaXQtZXhwb3J0LWRlY2xhcmF0 aW9uLTcuMTIuMTEudGd6IzFiNGNjNDI0NDU4NjQzYzQ3ZDM3MDIyMjIzZGEzM2Q3NmVhNDYwM2Ei CisgIGludGVncml0eSBzaGE1MTItTHNJVk44ajQ4Z0hnd3pmb2NZVVNrTy9oallBT0pxbHBKRWM3 dEdYY0ltNGN1YmpWVWY4TEdXNmVXUnl4RXU3Z0EyNXEwMnAwclFVV29DSTMzSE5TNWc9PQogICBk ZXBlbmRlbmNpZXM6Ci0gICAgIkBiYWJlbC90eXBlcyIgIl43LjExLjAiCisgICAgIkBiYWJlbC90 eXBlcyIgIl43LjEyLjExIgogCi0iQGJhYmVsL2hlbHBlci12YWxpZGF0b3ItaWRlbnRpZmllckBe Ny4xMC40IjoKLSAgdmVyc2lvbiAiNy4xMC40IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3Ry eS55YXJucGtnLmNvbS9AYmFiZWwvaGVscGVyLXZhbGlkYXRvci1pZGVudGlmaWVyLy0vaGVscGVy LXZhbGlkYXRvci1pZGVudGlmaWVyLTcuMTAuNC50Z3ojYTc4YzdhNzI1MWUwMWY2MTY1MTJkMzFi MTBhZGNmNTJhZGE1ZTBkMiIKLSAgaW50ZWdyaXR5IHNoYTUxMi0zVTl5KzQzaHo3Wk0rcnpHMjRR ZTJtdWZXNUtodkZnL05obk5waCtpOW1nQ3RkVEN0TUp1STFUTWtySVVpSzdJeDRQWWxSRjlJNWRo cWFMWUEvQURYdz09CisiQGJhYmVsL2hlbHBlci12YWxpZGF0b3ItaWRlbnRpZmllckBeNy4xMC40 IiwgIkBiYWJlbC9oZWxwZXItdmFsaWRhdG9yLWlkZW50aWZpZXJAXjcuMTIuMTEiOgorICB2ZXJz aW9uICI3LjEyLjExIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9A YmFiZWwvaGVscGVyLXZhbGlkYXRvci1pZGVudGlmaWVyLy0vaGVscGVyLXZhbGlkYXRvci1pZGVu dGlmaWVyLTcuMTIuMTEudGd6I2M5YTFmMDIxOTE3ZGNiNWNjZjBkNGU0NTNlMzk5MDIyOTgxZmM5 ZWQiCisgIGludGVncml0eSBzaGE1MTItbnAvbEczdUFSRnlia29Ib2tKVW1mMVFmRXZSVkNQYm1R ZVVRcEtvdzVjUTN4V3JWOWkzclVIb2RLREpQUWZUVlg2MXFLaStVZFlrOGtpazg0bjdYT3c9PQor CisiQGJhYmVsL2hlbHBlci12YWxpZGF0b3Itb3B0aW9uQF43LjEyLjEiLCAiQGJhYmVsL2hlbHBl ci12YWxpZGF0b3Itb3B0aW9uQF43LjEyLjExIjoKKyAgdmVyc2lvbiAiNy4xMi4xMSIKKyAgcmVz b2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL2hlbHBlci12YWxpZGF0 b3Itb3B0aW9uLy0vaGVscGVyLXZhbGlkYXRvci1vcHRpb24tNy4xMi4xMS50Z3ojZDY2Y2I4Yjdh M2U3ZmU0YzY5NjJiMzIwMjBhMTMxZWNmMDg0N2Y0ZiIKKyAgaW50ZWdyaXR5IHNoYTUxMi1UQkZD eWo5MzltRlNkZVg3VTdERGozMld0ellZN2ZEY2FsZ3E4djNmQlpNTk9KUU5uN25PWXpNYVVDaVB4 UFlmQ3VwNjltdElwcWxLZ01aTHZROFhodz09CiAKICJAYmFiZWwvaGVscGVyLXdyYXAtZnVuY3Rp b25AXjcuMTAuNCI6Ci0gIHZlcnNpb24gIjcuMTAuNCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVn aXN0cnkueWFybnBrZy5jb20vQGJhYmVsL2hlbHBlci13cmFwLWZ1bmN0aW9uLy0vaGVscGVyLXdy YXAtZnVuY3Rpb24tNy4xMC40LnRneiM4YTZmNzAxZWFiMGZmMzlmNzY1YjVhMWNmZWY0MDk5OTBl NjI0Yjg3IgotICBpbnRlZ3JpdHkgc2hhNTEyLTZweTQ1V3ZFRjBNaGlMcmR4dFJqS2p1ZndMTDEv b2IycURKZ2c1SmdOZG9qQkFaU0FLbkFqa3lPQ051ZzZuK09CbDRWVzc2WGp2Z1NGVGRhTWNXMFVn PT0KKyAgdmVyc2lvbiAiNy4xMi4zIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJu cGtnLmNvbS9AYmFiZWwvaGVscGVyLXdyYXAtZnVuY3Rpb24vLS9oZWxwZXItd3JhcC1mdW5jdGlv bi03LjEyLjMudGd6IzMzMzIzMzlmYzRkMWZiYmYxYzI3ZDc5NThjMjdkMzQ3MDhlOTkwZDkiCisg IGludGVncml0eSBzaGE1MTItQ3ZiOEl1SkRsbjNyczZ0empXM1k4VWVlbEFPZG5wQjh4dFE0c21l Mk1TWjl3T3hyYlRocG9yQzB5L0V0RTE2VkF0b3lFZkxNNDA0WHIxZTBPT3Arb3c9PQogICBkZXBl bmRlbmNpZXM6CiAgICAgIkBiYWJlbC9oZWxwZXItZnVuY3Rpb24tbmFtZSIgIl43LjEwLjQiCiAg ICAgIkBiYWJlbC90ZW1wbGF0ZSIgIl43LjEwLjQiCiAgICAgIkBiYWJlbC90cmF2ZXJzZSIgIl43 LjEwLjQiCiAgICAgIkBiYWJlbC90eXBlcyIgIl43LjEwLjQiCiAKLSJAYmFiZWwvaGVscGVyc0Be Ny4xMC40IiwgIkBiYWJlbC9oZWxwZXJzQF43LjYuMiI6Ci0gIHZlcnNpb24gIjcuMTAuNCIKLSAg cmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL2hlbHBlcnMvLS9o ZWxwZXJzLTcuMTAuNC50Z3ojMmFiZWIwZDcyMWFmZjdjMGE5NzM3NmI5ZTFmNmY2NWQ3YTQ3NTA0 NCIKLSAgaW50ZWdyaXR5IHNoYTUxMi1MMmdYL1hlVU9OZUViSTc4ZFhTckp6R2R6NEdRK1pUQS9h YXpmVXNGYVdqU2U5NWtpQ3VPWjVIc1h2a2l3M2l3RittRkhTUlVmSlU4dDZZYXZvY2RYQT09Cisi QGJhYmVsL2hlbHBlcnNAXjcuMTIuNSI6CisgIHZlcnNpb24gIjcuMTIuNSIKKyAgcmVzb2x2ZWQg Imh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL2hlbHBlcnMvLS9oZWxwZXJzLTcu MTIuNS50Z3ojMWExYmE0YTc2OGQ5YjU4MzEwZWRhNTE2YzQ0OTkxM2ZlNjQ3MTE2ZSIKKyAgaW50 ZWdyaXR5IHNoYTUxMi1sZ0tHTVFsS3FBOG1lSnFLc1c2clVuYzRNZFVrMzVMbjBBVERxZE0xYS9V cEFST0RkSTRqNVk1bFZmVVNjblNOa0pjZENSQWFXa3NweWtOb0ZnOXNKQT09CiAgIGRlcGVuZGVu Y2llczoKICAgICAiQGJhYmVsL3RlbXBsYXRlIiAiXjcuMTAuNCIKLSAgICAiQGJhYmVsL3RyYXZl cnNlIiAiXjcuMTAuNCIKLSAgICAiQGJhYmVsL3R5cGVzIiAiXjcuMTAuNCIKKyAgICAiQGJhYmVs L3RyYXZlcnNlIiAiXjcuMTIuNSIKKyAgICAiQGJhYmVsL3R5cGVzIiAiXjcuMTIuNSIKIAogIkBi YWJlbC9oaWdobGlnaHRAXjcuMTAuNCI6CiAgIHZlcnNpb24gIjcuMTAuNCIKQEAgLTI3Myw1MTQg KzI0Niw3MzUgQEAKICAgICBjaGFsayAiXjIuMC4wIgogICAgIGpzLXRva2VucyAiXjQuMC4wIgog Ci0iQGJhYmVsL3BhcnNlckBeNy4xMC40IiwgIkBiYWJlbC9wYXJzZXJAXjcuMTEuNSIsICJAYmFi ZWwvcGFyc2VyQF43LjYuNCI6Ci0gIHZlcnNpb24gIjcuMTEuNSIKLSAgcmVzb2x2ZWQgImh0dHBz Oi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BhcnNlci8tL3BhcnNlci03LjExLjUudGd6 I2M3ZmY2MzAzZGY3MTA4MGVjN2E0ZjViOGMwMDNjNThmMWNmNTEwMzciCi0gIGludGVncml0eSBz aGE1MTItWDlyRDhxcW02OTV2Z21lYVE0ZnZ6L28zK1drNFp6UXZTSGtEQmdwWUt4cEQ0cVRBVW04 OFpLdEhrVnFJT3NZRkZiSVE2d1FZaEM2cTdwanFWSzBFMFE9PQorIkBiYWJlbC9wYXJzZXJAXjcu MTIuMTAiLCAiQGJhYmVsL3BhcnNlckBeNy4xMi4xMSIsICJAYmFiZWwvcGFyc2VyQF43LjEyLjci LCAiQGJhYmVsL3BhcnNlckBeNy43LjAiOgorICB2ZXJzaW9uICI3LjEyLjExIgorICByZXNvbHZl ZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGFyc2VyLy0vcGFyc2VyLTcu MTIuMTEudGd6IzljZTM1OTViY2Q3NGJjNWM0NjY5MDVlODZjNTM1YjhiMjUwMTFlNzkiCisgIGlu dGVncml0eSBzaGE1MTItTjNVeEcrdXVGNENNWW9OajhBaG5iQWNKRjBQaXVKOUtIdXkxbFFta1lz eFRlci9NQUg5VUJOSHNCb0FYLzRzNk52bEREMDQ3Tm84bVlWR0d6TEw0aGc9PQogCi0iQGJhYmVs L3BsdWdpbi1wcm9wb3NhbC1hc3luYy1nZW5lcmF0b3ItZnVuY3Rpb25zQF43LjIuMCI6Ci0gIHZl cnNpb24gIjcuMTAuNSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20v QGJhYmVsL3BsdWdpbi1wcm9wb3NhbC1hc3luYy1nZW5lcmF0b3ItZnVuY3Rpb25zLy0vcGx1Z2lu LXByb3Bvc2FsLWFzeW5jLWdlbmVyYXRvci1mdW5jdGlvbnMtNy4xMC41LnRneiMzNDkxY2FiZjJm N2MxNzlhYjgyMDYwNmNlYzI3ZmVkMTVlMGU4NTU4IgotICBpbnRlZ3JpdHkgc2hhNTEyLWNOTUNW ZXpRYnJSR3ZYSndtOWZ1LzFzSmo5YkhkR0FnS29kWmRMcU9RSXBmb0gzcmFxbVJQQk0xNytsaDdD emhpS1JSQnJHdFpMOVdjanhTb0dZVVNnPT0KKyJAYmFiZWwvcGx1Z2luLXByb3Bvc2FsLWFzeW5j LWdlbmVyYXRvci1mdW5jdGlvbnNAXjcuMTIuMSI6CisgIHZlcnNpb24gIjcuMTIuMTIiCisgIHJl c29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tcHJvcG9z YWwtYXN5bmMtZ2VuZXJhdG9yLWZ1bmN0aW9ucy8tL3BsdWdpbi1wcm9wb3NhbC1hc3luYy1nZW5l cmF0b3ItZnVuY3Rpb25zLTcuMTIuMTIudGd6IzA0YjhmMjRmZDQ1MzIwMDhhYjRlNzlmNzg4NDY4 ZmQ1YTg0NzY1NjYiCisgIGludGVncml0eSBzaGE1MTItbnJ6OXkwYTR4bVVyUnE1MWJZa1dKSU81 U0JaeUcyeXMycWluSHNOMHpIREhWc1VhTW9kcmtweVdXV1hmR3FZUW1PTDN4OXNRSWNUTk4vcEJH cG8wOUE9PQogICBkZXBlbmRlbmNpZXM6CiAgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxz IiAiXjcuMTAuNCIKLSAgICAiQGJhYmVsL2hlbHBlci1yZW1hcC1hc3luYy10by1nZW5lcmF0b3Ii ICJeNy4xMC40IgorICAgICJAYmFiZWwvaGVscGVyLXJlbWFwLWFzeW5jLXRvLWdlbmVyYXRvciIg Il43LjEyLjEiCiAgICAgIkBiYWJlbC9wbHVnaW4tc3ludGF4LWFzeW5jLWdlbmVyYXRvcnMiICJe Ny44LjAiCiAKLSJAYmFiZWwvcGx1Z2luLXByb3Bvc2FsLWNsYXNzLXByb3BlcnRpZXNAXjcuMTAu NCI6Ci0gIHZlcnNpb24gIjcuMTAuNCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFy bnBrZy5jb20vQGJhYmVsL3BsdWdpbi1wcm9wb3NhbC1jbGFzcy1wcm9wZXJ0aWVzLy0vcGx1Z2lu LXByb3Bvc2FsLWNsYXNzLXByb3BlcnRpZXMtNy4xMC40LnRneiNhMzNiZjYzMmRhMzkwYTU5Yzdh OGM1NzAwNDVkMTExNWNkNzc4ODA3IgotICBpbnRlZ3JpdHkgc2hhNTEyLXZod2tFUk94emNIR051 Mm16VUMwT0ZGTlhkWjRNMjNpYjhhUlJjSlNzVzhCWks5cFFNRDdRQjdjc2w5N05CYmdHWk83WnlI VXlLRG54ek9hUDRJckNnPT0KKyJAYmFiZWwvcGx1Z2luLXByb3Bvc2FsLWNsYXNzLXByb3BlcnRp ZXNAXjcuMTAuNCIsICJAYmFiZWwvcGx1Z2luLXByb3Bvc2FsLWNsYXNzLXByb3BlcnRpZXNAXjcu MTIuMSI6CisgIHZlcnNpb24gIjcuMTIuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnku eWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi1wcm9wb3NhbC1jbGFzcy1wcm9wZXJ0aWVzLy0vcGx1 Z2luLXByb3Bvc2FsLWNsYXNzLXByb3BlcnRpZXMtNy4xMi4xLnRneiNhMDgyZmY1NDFmMmEyOWE0 ODIxMDY1YjhhZGQ5MzQ2YzBjMTZlNWRlIgorICBpbnRlZ3JpdHkgc2hhNTEyLWNLcDNkbFFzRnNF czVDV0tuTjdCblNIT2QwRU9XOEVLcEVqa296MXBPMkU1S3pJRE5WOVJvczFiMENubWJWZ0FHWEp1 Yk9ZVkJPR0NUMU9tSndPSTd3PT0KICAgZGVwZW5kZW5jaWVzOgotICAgICJAYmFiZWwvaGVscGVy LWNyZWF0ZS1jbGFzcy1mZWF0dXJlcy1wbHVnaW4iICJeNy4xMC40IgorICAgICJAYmFiZWwvaGVs cGVyLWNyZWF0ZS1jbGFzcy1mZWF0dXJlcy1wbHVnaW4iICJeNy4xMi4xIgogICAgICJAYmFiZWwv aGVscGVyLXBsdWdpbi11dGlscyIgIl43LjEwLjQiCiAKLSJAYmFiZWwvcGx1Z2luLXByb3Bvc2Fs LWR5bmFtaWMtaW1wb3J0QF43LjUuMCI6Ci0gIHZlcnNpb24gIjcuMTAuNCIKLSAgcmVzb2x2ZWQg Imh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi1wcm9wb3NhbC1keW5h bWljLWltcG9ydC8tL3BsdWdpbi1wcm9wb3NhbC1keW5hbWljLWltcG9ydC03LjEwLjQudGd6I2Jh NTdhMjZjYjk4YjM3NzQxZTlkNWJjYTFiOGIwZGRmODI5MWYxN2UiCi0gIGludGVncml0eSBzaGE1 MTItdXA2b0lEMUxlaWRPT0FTTlhndi9DRmJnQnFUdUtKMGNKano2QW41dFdEK05WQk5scDNWTlNC eHYyWmRVN1NZbDNOeEpDN2FnQVFEQXBadXNWNnVGd1E9PQorIkBiYWJlbC9wbHVnaW4tcHJvcG9z YWwtZHluYW1pYy1pbXBvcnRAXjcuMTIuMSI6CisgIHZlcnNpb24gIjcuMTIuMSIKKyAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi1wcm9wb3NhbC1k eW5hbWljLWltcG9ydC8tL3BsdWdpbi1wcm9wb3NhbC1keW5hbWljLWltcG9ydC03LjEyLjEudGd6 IzQzZWI1YzJhMzQ4N2VjZDk4YzVjOGVhOGI1ZmRiNjlhMjc0OWIyZGMiCisgIGludGVncml0eSBz aGE1MTItYTRyaFVTWkZ1cTVXOC9PTzhIN0JMNXpzcGpuYzFGTGQ5aGxPeElLL2Y3cUc0YTBxc3Fr OHV2Ri95d2dCQTgvT21qc2FwanB2YUVPWUl0ZkdHMXFJdlE9PQogICBkZXBlbmRlbmNpZXM6CiAg ICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIKICAgICAiQGJhYmVsL3Bs dWdpbi1zeW50YXgtZHluYW1pYy1pbXBvcnQiICJeNy44LjAiCiAKLSJAYmFiZWwvcGx1Z2luLXBy b3Bvc2FsLWpzb24tc3RyaW5nc0BeNy4yLjAiOgotICB2ZXJzaW9uICI3LjEwLjQiCi0gIHJlc29s dmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tcHJvcG9zYWwt anNvbi1zdHJpbmdzLy0vcGx1Z2luLXByb3Bvc2FsLWpzb24tc3RyaW5ncy03LjEwLjQudGd6IzU5 M2U1OWM2MzUyODE2MDIzM2JkMzIxYjFhZWJlMDgyMGMyMzQxZGIiCi0gIGludGVncml0eSBzaGE1 MTItZkNMN1FGMEpvODN1eTFLMFAyWVhyZlgxMXRqM2xrcE43bDRkTXY5WTlWa293a2hrUUR3RkhG ZDhJaXd5SzVNWmpFOFVwYmdva2tndGNSZUg4OEFiYXc9PQorIkBiYWJlbC9wbHVnaW4tcHJvcG9z YWwtZXhwb3J0LW5hbWVzcGFjZS1mcm9tQF43LjEyLjEiOgorICB2ZXJzaW9uICI3LjEyLjEiCisg IHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tcHJv cG9zYWwtZXhwb3J0LW5hbWVzcGFjZS1mcm9tLy0vcGx1Z2luLXByb3Bvc2FsLWV4cG9ydC1uYW1l c3BhY2UtZnJvbS03LjEyLjEudGd6IzhiOWI4ZjM3NmIyZDg4ZjVkZDc3NGU0ZDI0YTVjYzJlMzY3 OWI2ZDQiCisgIGludGVncml0eSBzaGE1MTItNkNUaEdmMGlyRWt6dWpZUzVMUWNqQng4ai80YVFH aVZ2N0o5KzJmN3BHZnhxeUtoM1dubVZKWVczaGRyUWp5a3NFck1HQlBRckNuSGZPdG5hK1dMYnc9 PQorICBkZXBlbmRlbmNpZXM6CisgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcu MTAuNCIKKyAgICAiQGJhYmVsL3BsdWdpbi1zeW50YXgtZXhwb3J0LW5hbWVzcGFjZS1mcm9tIiAi XjcuOC4zIgorCisiQGJhYmVsL3BsdWdpbi1wcm9wb3NhbC1qc29uLXN0cmluZ3NAXjcuMTIuMSI6 CisgIHZlcnNpb24gIjcuMTIuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBr Zy5jb20vQGJhYmVsL3BsdWdpbi1wcm9wb3NhbC1qc29uLXN0cmluZ3MvLS9wbHVnaW4tcHJvcG9z YWwtanNvbi1zdHJpbmdzLTcuMTIuMS50Z3ojZDQ1NDIzYjUxNzcxNGVlZGQ1NjIxYTlkZmRjMDNm YTlmNGViMjQxYyIKKyAgaW50ZWdyaXR5IHNoYTUxMi1Hb0xEVWk2VTlaTHpsU2RhMkRmKytWU3FE SmczQ0crZFIwK2lXc3Y2WFJ3MXJFcSt6d3Q0RGlyTTl5cnhXNlhXYVRwbWFpMWNXSkxNZk04cVFK Zit5dz09CiAgIGRlcGVuZGVuY2llczoKICAgICAiQGJhYmVsL2hlbHBlci1wbHVnaW4tdXRpbHMi ICJeNy4xMC40IgogICAgICJAYmFiZWwvcGx1Z2luLXN5bnRheC1qc29uLXN0cmluZ3MiICJeNy44 LjAiCiAKLSJAYmFiZWwvcGx1Z2luLXByb3Bvc2FsLW9iamVjdC1yZXN0LXNwcmVhZEBeNy42LjIi OgotICB2ZXJzaW9uICI3LjExLjAiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5w a2cuY29tL0BiYWJlbC9wbHVnaW4tcHJvcG9zYWwtb2JqZWN0LXJlc3Qtc3ByZWFkLy0vcGx1Z2lu LXByb3Bvc2FsLW9iamVjdC1yZXN0LXNwcmVhZC03LjExLjAudGd6I2JkODFmOTVhMWY3NDY3NjBl YTQzYjZjMmQzZDYyYjExNzkwYWQwYWYiCi0gIGludGVncml0eSBzaGE1MTItd3pjaDQxTjR5enR3 b1J3MGFrKzM3d3h3Sk0yb2lJaXk2aHVHQ29xa3ZTVEE5YWNZV2NQZm45WTRhSnFtRkZKNzBLVEpV dTI5ZjNEUTQzdUo5SFh6RUE9PQorIkBiYWJlbC9wbHVnaW4tcHJvcG9zYWwtbG9naWNhbC1hc3Np Z25tZW50LW9wZXJhdG9yc0BeNy4xMi4xIjoKKyAgdmVyc2lvbiAiNy4xMi4xIgorICByZXNvbHZl ZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXByb3Bvc2FsLWxv Z2ljYWwtYXNzaWdubWVudC1vcGVyYXRvcnMvLS9wbHVnaW4tcHJvcG9zYWwtbG9naWNhbC1hc3Np Z25tZW50LW9wZXJhdG9ycy03LjEyLjEudGd6I2YyYzQ5MGQzNmUxYjNjOTY1OTI0MTAzNGE1ZDJj ZDUwMjYzYTI3NTEiCisgIGludGVncml0eSBzaGE1MTItazhabVZ2MEpVKzRnY1VHZUNEWk9HZDBs Q0lhbVUvc010SWlYM1VXblVjNXl6Z3E2WVVHeUVvbE5ZRCtNTFlLZlN6Z0VDUGNxZXRWY0pQOUFm ZS9hQ0E9PQorICBkZXBlbmRlbmNpZXM6CisgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxz IiAiXjcuMTAuNCIKKyAgICAiQGJhYmVsL3BsdWdpbi1zeW50YXgtbG9naWNhbC1hc3NpZ25tZW50 LW9wZXJhdG9ycyIgIl43LjEwLjQiCisKKyJAYmFiZWwvcGx1Z2luLXByb3Bvc2FsLW51bGxpc2gt Y29hbGVzY2luZy1vcGVyYXRvckBeNy4xMi4xIjoKKyAgdmVyc2lvbiAiNy4xMi4xIgorICByZXNv bHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXByb3Bvc2Fs LW51bGxpc2gtY29hbGVzY2luZy1vcGVyYXRvci8tL3BsdWdpbi1wcm9wb3NhbC1udWxsaXNoLWNv YWxlc2Npbmctb3BlcmF0b3ItNy4xMi4xLnRneiMzZWQ0ZmZmMzFjMDE1ZTdmM2YxNDY3ZjE5MGRi ZTU0NWNkN2IwNDZjIgorICBpbnRlZ3JpdHkgc2hhNTEyLW5aWTBFU2lhUURJMXk5NitqazZWeE1P YUw0TFBvL1FESEJxTCtTRjMvdmw2ZEhrVHdIbE9JOEw0Wnd1UkJIZ2FrUkJ3NXpzVnlsZWw3UVBi Ykd1WWdnPT0KKyAgZGVwZW5kZW5jaWVzOgorICAgICJAYmFiZWwvaGVscGVyLXBsdWdpbi11dGls cyIgIl43LjEwLjQiCisgICAgIkBiYWJlbC9wbHVnaW4tc3ludGF4LW51bGxpc2gtY29hbGVzY2lu Zy1vcGVyYXRvciIgIl43LjguMCIKKworIkBiYWJlbC9wbHVnaW4tcHJvcG9zYWwtbnVtZXJpYy1z ZXBhcmF0b3JAXjcuMTIuNyI6CisgIHZlcnNpb24gIjcuMTIuNyIKKyAgcmVzb2x2ZWQgImh0dHBz Oi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi1wcm9wb3NhbC1udW1lcmljLXNl cGFyYXRvci8tL3BsdWdpbi1wcm9wb3NhbC1udW1lcmljLXNlcGFyYXRvci03LjEyLjcudGd6Izhi ZjI1M2RlODEzOTA5OWZlYTE5M2IyOTdkMjNhOWQ0MDZlZjA1NmIiCisgIGludGVncml0eSBzaGE1 MTItOGMrdXkwcW1uUlRldWtpR3NqTEd5NnVWcy9URmpKY2hHWFVlQnFsRzRWV1lPZEpXa2hoVlBk UTN1SHdibWFsZkp3djJKc1YwcWZmWFA0YXNSZkwyU1E9PQorICBkZXBlbmRlbmNpZXM6CisgICAg IkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIKKyAgICAiQGJhYmVsL3BsdWdp bi1zeW50YXgtbnVtZXJpYy1zZXBhcmF0b3IiICJeNy4xMC40IgorCisiQGJhYmVsL3BsdWdpbi1w cm9wb3NhbC1vYmplY3QtcmVzdC1zcHJlYWRAXjcuMTIuMSIsICJAYmFiZWwvcGx1Z2luLXByb3Bv c2FsLW9iamVjdC1yZXN0LXNwcmVhZEBeNy45LjYiOgorICB2ZXJzaW9uICI3LjEyLjEiCisgIHJl c29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tcHJvcG9z YWwtb2JqZWN0LXJlc3Qtc3ByZWFkLy0vcGx1Z2luLXByb3Bvc2FsLW9iamVjdC1yZXN0LXNwcmVh ZC03LjEyLjEudGd6I2RlZjliZDAzY2VhMGY5YjcyMjgzZGFjMGVjMjJkMjg5Yzc2OTEwNjkiCisg IGludGVncml0eSBzaGE1MTItczZTb3dKSWp6bGh4OG83bHNGeDV6bVk0QXQ2Q1R0RHZnTlFEZFB6 a0JRdWNsZTU4QTZiL1RUZUVCWXR5RGdtY1hqVVRNK3ZFOFlPR0haenpiYy9pb0E9PQogICBkZXBl bmRlbmNpZXM6CiAgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIKICAg ICAiQGJhYmVsL3BsdWdpbi1zeW50YXgtb2JqZWN0LXJlc3Qtc3ByZWFkIiAiXjcuOC4wIgotICAg ICJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1wYXJhbWV0ZXJzIiAiXjcuMTAuNCIKKyAgICAiQGJh YmVsL3BsdWdpbi10cmFuc2Zvcm0tcGFyYW1ldGVycyIgIl43LjEyLjEiCiAKLSJAYmFiZWwvcGx1 Z2luLXByb3Bvc2FsLW9wdGlvbmFsLWNhdGNoLWJpbmRpbmdAXjcuMi4wIjoKLSAgdmVyc2lvbiAi Ny4xMC40IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwv cGx1Z2luLXByb3Bvc2FsLW9wdGlvbmFsLWNhdGNoLWJpbmRpbmcvLS9wbHVnaW4tcHJvcG9zYWwt b3B0aW9uYWwtY2F0Y2gtYmluZGluZy03LjEwLjQudGd6IzMxYzkzODMwOWQyNGE3OGE0OWQ2OGZk YWJmZmFhODYzNzU4NTU0ZGQiCi0gIGludGVncml0eSBzaGE1MTItTGZsVDZuUGgrR0syTW5GaUtE eUxpcVNxVkhrUW5WZjdoZG9BdnlUbm5Lajl4QjNkb2NHUnNkUHV4cDZxcXFXMTlpZkszeGdjOVU1 L0Z3clNhQ05YNWc9PQorIkBiYWJlbC9wbHVnaW4tcHJvcG9zYWwtb3B0aW9uYWwtY2F0Y2gtYmlu ZGluZ0BeNy4xMi4xIjoKKyAgdmVyc2lvbiAiNy4xMi4xIgorICByZXNvbHZlZCAiaHR0cHM6Ly9y ZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXByb3Bvc2FsLW9wdGlvbmFsLWNhdGNo LWJpbmRpbmcvLS9wbHVnaW4tcHJvcG9zYWwtb3B0aW9uYWwtY2F0Y2gtYmluZGluZy03LjEyLjEu dGd6I2NjYzI0MjFhZjY0ZDNhYWU1MGI1NThhNzFjZWRlOTI5YTVhYjI5NDIiCisgIGludGVncml0 eSBzaGE1MTItaEZ2SWpncHJoOW1NdzV2NDJzSldMSTFselU1TDJzem5QODA1emVUNnJ5U1ZSQTBZ MThTdFJoRHFoU3hsYXAwb1ZnSXRSc0I2V1NST3A0WW5KVEp6MGc9PQogICBkZXBlbmRlbmNpZXM6 CiAgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIKICAgICAiQGJhYmVs L3BsdWdpbi1zeW50YXgtb3B0aW9uYWwtY2F0Y2gtYmluZGluZyIgIl43LjguMCIKIAotIkBiYWJl bC9wbHVnaW4tcHJvcG9zYWwtdW5pY29kZS1wcm9wZXJ0eS1yZWdleEBeNy42LjIiOgotICB2ZXJz aW9uICI3LjEwLjQiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0Bi YWJlbC9wbHVnaW4tcHJvcG9zYWwtdW5pY29kZS1wcm9wZXJ0eS1yZWdleC8tL3BsdWdpbi1wcm9w b3NhbC11bmljb2RlLXByb3BlcnR5LXJlZ2V4LTcuMTAuNC50Z3ojNDQ4M2NkYTUzMDQxY2UzNDEz YjdmZTJmMDAwMjI2NjVkZGZhYTc1ZCIKLSAgaW50ZWdyaXR5IHNoYTUxMi1IKzNmT2dQbkVYRkw5 ekdZdEtRZTRJRE9QS1lsWmRGMWtxRkRRUlJiOFBLNEI4YWYxdkFHSzA0dEY1aVFBQXN1aSttSE5C UVNBdGQyL25kRURlOXd1QT09CisiQGJhYmVsL3BsdWdpbi1wcm9wb3NhbC1vcHRpb25hbC1jaGFp bmluZ0BeNy4xMi43IjoKKyAgdmVyc2lvbiAiNy4xMi43IgorICByZXNvbHZlZCAiaHR0cHM6Ly9y ZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXByb3Bvc2FsLW9wdGlvbmFsLWNoYWlu aW5nLy0vcGx1Z2luLXByb3Bvc2FsLW9wdGlvbmFsLWNoYWluaW5nLTcuMTIuNy50Z3ojZTAyZjBl YTFiNWRjNTlkNDAxZWMxNmZiODI0Njc5ZjY4M2QzMzAzYyIKKyAgaW50ZWdyaXR5IHNoYTUxMi00 b3Z5bFhaMFBXbXdvT3ZoVTJ2aG56Vk5ubTg4L1NtOW54N1Y4QlBnTXZBem41ekRvdTMvQXd5MEVq Z2x5dWJWSGFzSmorWENFa3IvcjFYM1A1ZWxDQT09CisgIGRlcGVuZGVuY2llczoKKyAgICAiQGJh YmVsL2hlbHBlci1wbHVnaW4tdXRpbHMiICJeNy4xMC40IgorICAgICJAYmFiZWwvaGVscGVyLXNr aXAtdHJhbnNwYXJlbnQtZXhwcmVzc2lvbi13cmFwcGVycyIgIl43LjEyLjEiCisgICAgIkBiYWJl bC9wbHVnaW4tc3ludGF4LW9wdGlvbmFsLWNoYWluaW5nIiAiXjcuOC4wIgorCisiQGJhYmVsL3Bs dWdpbi1wcm9wb3NhbC1wcml2YXRlLW1ldGhvZHNAXjcuMTIuMSI6CisgIHZlcnNpb24gIjcuMTIu MSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdp bi1wcm9wb3NhbC1wcml2YXRlLW1ldGhvZHMvLS9wbHVnaW4tcHJvcG9zYWwtcHJpdmF0ZS1tZXRo b2RzLTcuMTIuMS50Z3ojODY4MTRmNmU3YTIxMzc0Yzk4MGMxMGQzOGI0NDkzZTcwM2Y0YTM4OSIK KyAgaW50ZWdyaXR5IHNoYTUxMi1td1oxcGh2SDcvTkhLNktmOExQN01ZRG9nR1YrREtCMW1yeUZP RXd4NUVCTlFyb3N2SWN6elpGVFVtV2FldWpkNXhUNkcxRUxZV1V6M0N1dE1oakUxdz09CiAgIGRl cGVuZGVuY2llczoKLSAgICAiQGJhYmVsL2hlbHBlci1jcmVhdGUtcmVnZXhwLWZlYXR1cmVzLXBs dWdpbiIgIl43LjEwLjQiCisgICAgIkBiYWJlbC9oZWxwZXItY3JlYXRlLWNsYXNzLWZlYXR1cmVz LXBsdWdpbiIgIl43LjEyLjEiCiAgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcu MTAuNCIKIAotIkBiYWJlbC9wbHVnaW4tc3ludGF4LWFzeW5jLWdlbmVyYXRvcnNAXjcuMi4wIiwg IkBiYWJlbC9wbHVnaW4tc3ludGF4LWFzeW5jLWdlbmVyYXRvcnNAXjcuOC4wIjoKKyJAYmFiZWwv cGx1Z2luLXByb3Bvc2FsLXVuaWNvZGUtcHJvcGVydHktcmVnZXhAXjcuMTIuMSIsICJAYmFiZWwv cGx1Z2luLXByb3Bvc2FsLXVuaWNvZGUtcHJvcGVydHktcmVnZXhAXjcuNC40IjoKKyAgdmVyc2lv biAiNy4xMi4xIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFi ZWwvcGx1Z2luLXByb3Bvc2FsLXVuaWNvZGUtcHJvcGVydHktcmVnZXgvLS9wbHVnaW4tcHJvcG9z YWwtdW5pY29kZS1wcm9wZXJ0eS1yZWdleC03LjEyLjEudGd6IzJhMTgzOTU4ZDQxNzc2NWI5ZWFl MzM0ZjQ3NzU4ZTVkNmE4MmUwNzIiCisgIGludGVncml0eSBzaGE1MTItTVlxK2wrUHZIdXcvcktV ejFhdC92YjZuQ25RMmdtSkJOYU02MnowT2dIN0IyVzFEOXB2a3BZdGx0aTliR3Rpek5JVTFLM3pt NGJaRjlGOTFlZlZZMHc9PQorICBkZXBlbmRlbmNpZXM6CisgICAgIkBiYWJlbC9oZWxwZXItY3Jl YXRlLXJlZ2V4cC1mZWF0dXJlcy1wbHVnaW4iICJeNy4xMi4xIgorICAgICJAYmFiZWwvaGVscGVy LXBsdWdpbi11dGlscyIgIl43LjEwLjQiCisKKyJAYmFiZWwvcGx1Z2luLXN5bnRheC1hc3luYy1n ZW5lcmF0b3JzQF43LjguMCI6CiAgIHZlcnNpb24gIjcuOC40IgogICByZXNvbHZlZCAiaHR0cHM6 Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXN5bnRheC1hc3luYy1nZW5lcmF0 b3JzLy0vcGx1Z2luLXN5bnRheC1hc3luYy1nZW5lcmF0b3JzLTcuOC40LnRneiNhOTgzZmIxYWVi MmVjM2Y2ZWQwNDJhMjEwZjY0MGU5MGU3ODZmZTBkIgogICBpbnRlZ3JpdHkgc2hhNTEyLXR5Y21a eGtHZlpheGhNUmJYbFBYdVZGcGRXbFhwaXIyVzRBTWhTSmdSS3prL2VEbElYT2hiMkxIV29McERG N1RFSHlsVjV6Tmh5a1g2S0FnSEptVE53PT0KICAgZGVwZW5kZW5jaWVzOgogICAgICJAYmFiZWwv aGVscGVyLXBsdWdpbi11dGlscyIgIl43LjguMCIKIAotIkBiYWJlbC9wbHVnaW4tc3ludGF4LWR5 bmFtaWMtaW1wb3J0QF43LjIuMCIsICJAYmFiZWwvcGx1Z2luLXN5bnRheC1keW5hbWljLWltcG9y dEBeNy44LjAiOgorIkBiYWJlbC9wbHVnaW4tc3ludGF4LWNsYXNzLXByb3BlcnRpZXNAXjcuMTIu MSI6CisgIHZlcnNpb24gIjcuMTIuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFy bnBrZy5jb20vQGJhYmVsL3BsdWdpbi1zeW50YXgtY2xhc3MtcHJvcGVydGllcy8tL3BsdWdpbi1z eW50YXgtY2xhc3MtcHJvcGVydGllcy03LjEyLjEudGd6I2JjYjI5N2M1MzY2ZTc5YmViYWRlZjUw OTU0OWNkOTNiMDRmMTk5NzgiCisgIGludGVncml0eSBzaGE1MTItVTQwQTc2eDVnVHdtRVN6K3Fp cXNzcW1lRXNLdmNTeXZ0Z2t0cm0wdXpjQVJBbU05STFqUjIyMWY2T3ErR21IcmNEK0x2WkRhZzFV VE9UZTJmTDNUZUE9PQorICBkZXBlbmRlbmNpZXM6CisgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2lu LXV0aWxzIiAiXjcuMTAuNCIKKworIkBiYWJlbC9wbHVnaW4tc3ludGF4LWR5bmFtaWMtaW1wb3J0 QF43LjguMCI6CiAgIHZlcnNpb24gIjcuOC4zIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3Ry eS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXN5bnRheC1keW5hbWljLWltcG9ydC8tL3BsdWdp bi1zeW50YXgtZHluYW1pYy1pbXBvcnQtNy44LjMudGd6IzYyYmY5OGIyZGEzY2QyMWQ2MjYxNTRm Yzk2ZWU1YjNjYjY4ZWFjYjMiCiAgIGludGVncml0eSBzaGE1MTItNWdkR2JGb24rUHN6WXpxczgz UzNFNW1waTcveS84TTllQzkwTVJUWmZkdVFPWVc3NmlnNlNPU1BOZTQxSUc1TG9QM0ZHQm4yTjBS alZEU1FpUzk0a1E9PQogICBkZXBlbmRlbmNpZXM6CiAgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2lu LXV0aWxzIiAiXjcuOC4wIgogCi0iQGJhYmVsL3BsdWdpbi1zeW50YXgtanNvbi1zdHJpbmdzQF43 LjIuMCIsICJAYmFiZWwvcGx1Z2luLXN5bnRheC1qc29uLXN0cmluZ3NAXjcuOC4wIjoKKyJAYmFi ZWwvcGx1Z2luLXN5bnRheC1leHBvcnQtbmFtZXNwYWNlLWZyb21AXjcuOC4zIjoKKyAgdmVyc2lv biAiNy44LjMiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJl bC9wbHVnaW4tc3ludGF4LWV4cG9ydC1uYW1lc3BhY2UtZnJvbS8tL3BsdWdpbi1zeW50YXgtZXhw b3J0LW5hbWVzcGFjZS1mcm9tLTcuOC4zLnRneiMwMjg5NjRhOWJhODBkYmMwOTRjOTE1YzQ4N2Fk N2M0ZTdhNjY0NjVhIgorICBpbnRlZ3JpdHkgc2hhNTEyLU1YZjVsYVhvNmMxSWJFYmVnRG16R1B3 R05Uc0habUV5NlFHem51NVNoMlVDV3Z1ZXl3YjJlZStDQ0U0elFpWnN0eFU5Qk1vUU85aTZ6VUZT WTBLajBRPT0KKyAgZGVwZW5kZW5jaWVzOgorICAgICJAYmFiZWwvaGVscGVyLXBsdWdpbi11dGls cyIgIl43LjguMyIKKworIkBiYWJlbC9wbHVnaW4tc3ludGF4LWpzb24tc3RyaW5nc0BeNy44LjAi OgogICB2ZXJzaW9uICI3LjguMyIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBr Zy5jb20vQGJhYmVsL3BsdWdpbi1zeW50YXgtanNvbi1zdHJpbmdzLy0vcGx1Z2luLXN5bnRheC1q c29uLXN0cmluZ3MtNy44LjMudGd6IzAxY2EyMWI2NjhjZDgyMThjOWU2NDBjYjZkZDg4YzU0MTJi MmM5NmEiCiAgIGludGVncml0eSBzaGE1MTItbFk2a2RHcFdIdmpvZTJ2azRXckFhcEV1QlI2OUVN eFpsK1JvR1JockZHTllWSzhtT1BBVzhWZmJUL1pnckZiWGxETmlpYXhRbkF0Z1ZDWjZqdjMwRUE9 PQogICBkZXBlbmRlbmNpZXM6CiAgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcu OC4wIgogCi0iQGJhYmVsL3BsdWdpbi1zeW50YXgtanN4QF43LjEwLjQiOgorIkBiYWJlbC9wbHVn aW4tc3ludGF4LWpzeEBeNy4xMi4xIjoKKyAgdmVyc2lvbiAiNy4xMi4xIgorICByZXNvbHZlZCAi aHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXN5bnRheC1qc3gvLS9w bHVnaW4tc3ludGF4LWpzeC03LjEyLjEudGd6IzlkOWQzNTdjYzgxOGFhN2FlNzkzNTkxN2MxMjU3 ZjY3Njc3YTA5MjYiCisgIGludGVncml0eSBzaGE1MTItMXlSaTd5QXRCMEVUZ3hkWTl0aS9wMlRp dlV4SmtUZGh1L1piRjlNc2hWR3FPeDFUZEIzYjd4Q1hzNDlGdXBnZzUwTjQ1S2NBc1JQL1pxV2pz OVNSamc9PQorICBkZXBlbmRlbmNpZXM6CisgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxz IiAiXjcuMTAuNCIKKworIkBiYWJlbC9wbHVnaW4tc3ludGF4LWxvZ2ljYWwtYXNzaWdubWVudC1v cGVyYXRvcnNAXjcuMTAuNCI6CisgIHZlcnNpb24gIjcuMTAuNCIKKyAgcmVzb2x2ZWQgImh0dHBz Oi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi1zeW50YXgtbG9naWNhbC1hc3Np Z25tZW50LW9wZXJhdG9ycy8tL3BsdWdpbi1zeW50YXgtbG9naWNhbC1hc3NpZ25tZW50LW9wZXJh dG9ycy03LjEwLjQudGd6I2NhOTFlZjQ2MzAzNTMwNDQ4YjkwNjY1MmJhYzJlOWZlOTk0MWY2OTki CisgIGludGVncml0eSBzaGE1MTItZDh3YVNobHBGRGluUTVNdHZHVTl4REFPektINDcrRkZvbmV5 MmJhRklvTXI5NTJoS09McDFIUjdWc3pvWnZPc1YvNCtSUnN6Tlk3RDE3YmEwdGUwaWc9PQorICBk ZXBlbmRlbmNpZXM6CisgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIK KworIkBiYWJlbC9wbHVnaW4tc3ludGF4LW51bGxpc2gtY29hbGVzY2luZy1vcGVyYXRvckBeNy44 LjAiOgorICB2ZXJzaW9uICI3LjguMyIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFy bnBrZy5jb20vQGJhYmVsL3BsdWdpbi1zeW50YXgtbnVsbGlzaC1jb2FsZXNjaW5nLW9wZXJhdG9y Ly0vcGx1Z2luLXN5bnRheC1udWxsaXNoLWNvYWxlc2Npbmctb3BlcmF0b3ItNy44LjMudGd6IzE2 N2VkNzAzNjg4ODYwODFmNzRiNWMzNmM2NWE4OGMwM2I2NmQxYTkiCisgIGludGVncml0eSBzaGE1 MTItYVNmZjR6UElJMXUyUUQ3eStGOG9Ec3oxOWV3NElHRUpnOVNWVyticXdwd3RmRmxlaVFETWR6 QS9SK1VsV0R6Zm5IRkN4eGxlRlQwUE1JclIzNlhMTlE9PQorICBkZXBlbmRlbmNpZXM6CisgICAg IkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuOC4wIgorCisiQGJhYmVsL3BsdWdpbi1z eW50YXgtbnVtZXJpYy1zZXBhcmF0b3JAXjcuMTAuNCI6CiAgIHZlcnNpb24gIjcuMTAuNCIKLSAg cmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi1zeW50 YXgtanN4Ly0vcGx1Z2luLXN5bnRheC1qc3gtNy4xMC40LnRneiMzOWFiYWFlM2NiZjcxMGM0Mzcz ZDg0Mjk0ODRlNmJhMjEzNDAxNjZjIgotICBpbnRlZ3JpdHkgc2hhNTEyLUtDZzltaW85andpQVJD QjdXQWNRN1kxcStxaWNJTGpvSzhMUC9Wa1BrRUthZjVka2FaWksxRWNUZTkxYTNKSmxaM3F5Nkw1 czlYNTJib0VZaThETTlnPT0KKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5j b20vQGJhYmVsL3BsdWdpbi1zeW50YXgtbnVtZXJpYy1zZXBhcmF0b3IvLS9wbHVnaW4tc3ludGF4 LW51bWVyaWMtc2VwYXJhdG9yLTcuMTAuNC50Z3ojYjliMDcwYjNlMzM1NzBjZDlmZDA3YmE3ZmE5 MWMwZGQzN2I5YWY5NyIKKyAgaW50ZWdyaXR5IHNoYTUxMi05SDZZZGZrY0svdU9uWS9LNy9hQTJ4 cHphQWdrUW4zN3l6V1VNUks3T2FQT3FPcEdTMStuMEg1aHhUOUFVdzlFc1NqUFc4U1Z5TUp3WVJ0 V3MzWDN1Zz09CiAgIGRlcGVuZGVuY2llczoKICAgICAiQGJhYmVsL2hlbHBlci1wbHVnaW4tdXRp bHMiICJeNy4xMC40IgogCi0iQGJhYmVsL3BsdWdpbi1zeW50YXgtb2JqZWN0LXJlc3Qtc3ByZWFk QF43LjIuMCIsICJAYmFiZWwvcGx1Z2luLXN5bnRheC1vYmplY3QtcmVzdC1zcHJlYWRAXjcuOC4w IjoKKyJAYmFiZWwvcGx1Z2luLXN5bnRheC1vYmplY3QtcmVzdC1zcHJlYWRAXjcuOC4wIjoKICAg dmVyc2lvbiAiNy44LjMiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29t L0BiYWJlbC9wbHVnaW4tc3ludGF4LW9iamVjdC1yZXN0LXNwcmVhZC8tL3BsdWdpbi1zeW50YXgt b2JqZWN0LXJlc3Qtc3ByZWFkLTcuOC4zLnRneiM2MGUyMjVlZGNiZDk4YTY0MDMzMmEyZTcyZGQz ZTY2ZjFhZjU1ODcxIgogICBpbnRlZ3JpdHkgc2hhNTEyLVhvcU1pakdaYjl5M3kyWHNrTitQMXdV R2lWd1daNUptb0RSd3g1KzNHbUVwbE55Vk0yczJEZzhJTEZRbThyV000OG9yR3k1WXBJNUJsOFUx eTd5ZGxBPT0KICAgZGVwZW5kZW5jaWVzOgogICAgICJAYmFiZWwvaGVscGVyLXBsdWdpbi11dGls cyIgIl43LjguMCIKIAotIkBiYWJlbC9wbHVnaW4tc3ludGF4LW9wdGlvbmFsLWNhdGNoLWJpbmRp bmdAXjcuMi4wIiwgIkBiYWJlbC9wbHVnaW4tc3ludGF4LW9wdGlvbmFsLWNhdGNoLWJpbmRpbmdA XjcuOC4wIjoKKyJAYmFiZWwvcGx1Z2luLXN5bnRheC1vcHRpb25hbC1jYXRjaC1iaW5kaW5nQF43 LjguMCI6CiAgIHZlcnNpb24gIjcuOC4zIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55 YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXN5bnRheC1vcHRpb25hbC1jYXRjaC1iaW5kaW5nLy0v cGx1Z2luLXN5bnRheC1vcHRpb25hbC1jYXRjaC1iaW5kaW5nLTcuOC4zLnRneiM2MTExYTI2NWJj ZmIwMjBlYjllZmQwZmRmZDdkMjY0MDJiOWVkNmMxIgogICBpbnRlZ3JpdHkgc2hhNTEyLTZWUEQw UGMxbHBUcXcwYUtvZVJUTWlCK2tXaEFvVDI0UEEra3NXU0JyRnRsNVNJUlZwWmx3TjNOTlBRamVo QTJFLzkxRlYzUmpMV29WVGdsV2NTVjNRPT0KICAgZGVwZW5kZW5jaWVzOgogICAgICJAYmFiZWwv aGVscGVyLXBsdWdpbi11dGlscyIgIl43LjguMCIKIAotIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3Jt LWFycm93LWZ1bmN0aW9uc0BeNy4yLjAiOgotICB2ZXJzaW9uICI3LjEwLjQiCi0gIHJlc29sdmVk ICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWFy cm93LWZ1bmN0aW9ucy8tL3BsdWdpbi10cmFuc2Zvcm0tYXJyb3ctZnVuY3Rpb25zLTcuMTAuNC50 Z3ojZTIyOTYwZDc3ZTY5N2M3NGY0MWM1MDFkNDRkNzNkYmY4YTZhNjRjZCIKLSAgaW50ZWdyaXR5 IHNoYTUxMi05Si9vRDFqVjBaQ0JjZ25vRldGcTF2SmQ0bXNvS2IvVENwR05GeXlMdDB6QUJkY3Zn SzNhWWlrWjhIanpCMTRjMjZiYzdFM1ExeXVncHdHeTJhVFBOQT09CisiQGJhYmVsL3BsdWdpbi1z eW50YXgtb3B0aW9uYWwtY2hhaW5pbmdAXjcuOC4wIjoKKyAgdmVyc2lvbiAiNy44LjMiCisgIHJl c29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tc3ludGF4 LW9wdGlvbmFsLWNoYWluaW5nLy0vcGx1Z2luLXN5bnRheC1vcHRpb25hbC1jaGFpbmluZy03Ljgu My50Z3ojNGY2OWMyYWI5NTE2N2UwMTgwY2Q1MzM2NjEzZjhjNTc4OGY3ZDQ4YSIKKyAgaW50ZWdy aXR5IHNoYTUxMi1Lb0s5RXJIMU1CbENQeFYwVkFOa1hXMi9kdzR2bGJHRHJGZ3o4Ym1Vc0JHWWtG UmNiUndNaDZjSUp1YmRQcmt4Und1R2R0Q2swdi93UFRLYlFnQmprZz09CisgIGRlcGVuZGVuY2ll czoKKyAgICAiQGJhYmVsL2hlbHBlci1wbHVnaW4tdXRpbHMiICJeNy44LjAiCisKKyJAYmFiZWwv cGx1Z2luLXN5bnRheC10b3AtbGV2ZWwtYXdhaXRAXjcuMTIuMSI6CisgIHZlcnNpb24gIjcuMTIu MSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdp bi1zeW50YXgtdG9wLWxldmVsLWF3YWl0Ly0vcGx1Z2luLXN5bnRheC10b3AtbGV2ZWwtYXdhaXQt Ny4xMi4xLnRneiNkZDZjMGIzNTdhYzFiYjE0MmQ5ODUzNzQ1MGEzMTk2MjVkMTNkMmEwIgorICBp bnRlZ3JpdHkgc2hhNTEyLWk3b29NWkZTK2EvT20wY3J4Wm9kclR6TkVQSkhacmxNVkdNVEVwRkFq NnJZWS9iS0NkZEIwRGsvWXhmUHVZWE9vcHVoS2svZTFqVjZoK1dVVTlYTjNBPT0KICAgZGVwZW5k ZW5jaWVzOgogICAgICJAYmFiZWwvaGVscGVyLXBsdWdpbi11dGlscyIgIl43LjEwLjQiCiAKLSJA YmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1hc3luYy10by1nZW5lcmF0b3JAXjcuNS4wIjoKLSAgdmVy c2lvbiAiNy4xMC40IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9A YmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1hc3luYy10by1nZW5lcmF0b3IvLS9wbHVnaW4tdHJhbnNm b3JtLWFzeW5jLXRvLWdlbmVyYXRvci03LjEwLjQudGd6IzQxYTUwMTdlNDllYjZmM2NkYTkzOTJh NTFlZWYyOTQwNWIyNDVhMzciCi0gIGludGVncml0eSBzaGE1MTItRjZuUkVPYW43SjVVWFRMc0Rz WkczRFhtWlNWb2ZyMnRHTndmZHJWd2tEV0hmUWNrYlFYblhTUGZEN2lPK2MvMkhHcXljd3lMU1Qz RG5aMTZuK2NCSlE9PQorIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWFycm93LWZ1bmN0aW9uc0Be Ny4xMi4xIjoKKyAgdmVyc2lvbiAiNy4xMi4xIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3Ry eS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1hcnJvdy1mdW5jdGlvbnMvLS9w bHVnaW4tdHJhbnNmb3JtLWFycm93LWZ1bmN0aW9ucy03LjEyLjEudGd6IzgwODNmZmM4NmFjOGU3 NzdmYmUyNGI1OTY3YzRiMjUyMWYzY2IyYjMiCisgIGludGVncml0eSBzaGE1MTItNVFCNTBxeU40 NGZ6eno0L3F4RFBRTUJDVEhneGczbjB4UkJMSlVtQmxMb1Uvc0Z2eFZXR1pGL1pVZk1WRFF1SlVL WGFCaGJ1cHhJeklmWjZGd2svMEE9PQogICBkZXBlbmRlbmNpZXM6Ci0gICAgIkBiYWJlbC9oZWxw ZXItbW9kdWxlLWltcG9ydHMiICJeNy4xMC40IgogICAgICJAYmFiZWwvaGVscGVyLXBsdWdpbi11 dGlscyIgIl43LjEwLjQiCi0gICAgIkBiYWJlbC9oZWxwZXItcmVtYXAtYXN5bmMtdG8tZ2VuZXJh dG9yIiAiXjcuMTAuNCIKIAotIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWJsb2NrLXNjb3BlZC1m dW5jdGlvbnNAXjcuMi4wIjoKLSAgdmVyc2lvbiAiNy4xMC40IgotICByZXNvbHZlZCAiaHR0cHM6 Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1ibG9jay1zY29w ZWQtZnVuY3Rpb25zLy0vcGx1Z2luLXRyYW5zZm9ybS1ibG9jay1zY29wZWQtZnVuY3Rpb25zLTcu MTAuNC50Z3ojMWFmYTU5NTc0NGY3NWU0M2E5MWFmNzNiMGQ5OThlY2ZlNGViYzJlOCIKLSAgaW50 ZWdyaXR5IHNoYTUxMi1XelhEYXJRWFlZZmphVjFzekp2TjNBRDdyWmdaekMxSnRqSlo4ZE1IVXlp SzhteFBSYWh5bnAxNHp6TmpVM1ZrUHFQc08zOEN6eGlXTzFjOUFSWjhKQT09CisiQGJhYmVsL3Bs dWdpbi10cmFuc2Zvcm0tYXN5bmMtdG8tZ2VuZXJhdG9yQF43LjEyLjEiOgorICB2ZXJzaW9uICI3 LjEyLjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9w bHVnaW4tdHJhbnNmb3JtLWFzeW5jLXRvLWdlbmVyYXRvci8tL3BsdWdpbi10cmFuc2Zvcm0tYXN5 bmMtdG8tZ2VuZXJhdG9yLTcuMTIuMS50Z3ojMzg0OWE0OWNjMmEyMmU5NzQzY2JkNmI1MjkyNmQz MDMzNzIyOWFmMSIKKyAgaW50ZWdyaXR5IHNoYTUxMi1TRHRxb0VjYXJLMURGbFJKMWhIUlk1SHZK VWo1a1g0cW10cE1BbTJRbmhPbHl1TUM0VE1kQ1JnVzZXWHB2OTNyWmVZTmVMUDIyeThBcTJkYmNE Uk0xQT09CiAgIGRlcGVuZGVuY2llczoKKyAgICAiQGJhYmVsL2hlbHBlci1tb2R1bGUtaW1wb3J0 cyIgIl43LjEyLjEiCiAgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIK KyAgICAiQGJhYmVsL2hlbHBlci1yZW1hcC1hc3luYy10by1nZW5lcmF0b3IiICJeNy4xMi4xIgog Ci0iQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tYmxvY2stc2NvcGluZ0BeNy42LjMiOgotICB2ZXJz aW9uICI3LjExLjEiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0Bi YWJlbC9wbHVnaW4tdHJhbnNmb3JtLWJsb2NrLXNjb3BpbmcvLS9wbHVnaW4tdHJhbnNmb3JtLWJs b2NrLXNjb3BpbmctNy4xMS4xLnRneiM1YjdlZmU5ODg1MmJlZjhkNjUyYzBiMjgxNDRjZDkzYTll NGI1MjE1IgotICBpbnRlZ3JpdHkgc2hhNTEyLTAwZFllREUwRVZFSHV1TSsyNiswdy9TQ0wwQkgy UXk3THdIdUk0SGk0TUg1Z2tDOC9BcU1ONXVXRkpJc29YWnJBcGhpTW0xaVh6Qnc2TDJUK2VBMGV3 PT0KKyJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1ibG9jay1zY29wZWQtZnVuY3Rpb25zQF43LjEy LjEiOgorICB2ZXJzaW9uICI3LjEyLjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlh cm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWJsb2NrLXNjb3BlZC1mdW5jdGlvbnMv LS9wbHVnaW4tdHJhbnNmb3JtLWJsb2NrLXNjb3BlZC1mdW5jdGlvbnMtNy4xMi4xLnRneiNmMmEx YTM2NWJkZTJiNzExMmUwYTZkZWQ5MDY3ZmRkN2MwNzkwNWQ5IgorICBpbnRlZ3JpdHkgc2hhNTEy LTVPcHhmdVluU2dQYWxScG84RVdHUHpJWWYwbEhCV09SQ2tqNU0wb0xCd0hkbHV4OVJpMzZRcUdX My9MUjEzUlNWT0FvVVVNem9QSS9qcEU0QUJjSG9BPT0KICAgZGVwZW5kZW5jaWVzOgogICAgICJA YmFiZWwvaGVscGVyLXBsdWdpbi11dGlscyIgIl43LjEwLjQiCiAKLSJAYmFiZWwvcGx1Z2luLXRy YW5zZm9ybS1jbGFzc2VzQF43LjUuNSI6Ci0gIHZlcnNpb24gIjcuMTAuNCIKLSAgcmVzb2x2ZWQg Imh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tY2xh c3Nlcy8tL3BsdWdpbi10cmFuc2Zvcm0tY2xhc3Nlcy03LjEwLjQudGd6IzQwNTEzNmFmMmIzZTIx OGJjNGExOTI2MjI4YmM5MTdhYjFhMGFkYzciCi0gIGludGVncml0eSBzaGE1MTItMm9aOXFManQx NjFkbjFaRTBNczY2eEJuY1FINEluOFNxdzFZV2dCVVp1R1ZKSlM1YzBPRlpYTDZkUDJNUkhya1Uv ZUtoV2c4Q3pGSmhSUWw1MHJReEE9PQorIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWJsb2NrLXNj b3BpbmdAXjcuMTIuMTEiOgorICB2ZXJzaW9uICI3LjEyLjEyIgorICByZXNvbHZlZCAiaHR0cHM6 Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1ibG9jay1zY29w aW5nLy0vcGx1Z2luLXRyYW5zZm9ybS1ibG9jay1zY29waW5nLTcuMTIuMTIudGd6I2Q5M2E1Njdh MTUyYzIyYWVhM2IxOTI5YmIxMThkMWQwYTE3NWNkY2EiCisgIGludGVncml0eSBzaGE1MTItVk9F UFEvRXhPVnFidWt1UDdCWUp0STVaeHhzbWVnVHd6WjA0ajFhRjBka1N5cEdvOVhwREh1T3JBQnNK dStpZStwZW5wU0poZURKMTF4MUJFWk5peVE9PQorICBkZXBlbmRlbmNpZXM6CisgICAgIkBiYWJl bC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIKKworIkBiYWJlbC9wbHVnaW4tdHJhbnNm b3JtLWNsYXNzZXNAXjcuMTIuMSI6CisgIHZlcnNpb24gIjcuMTIuMSIKKyAgcmVzb2x2ZWQgImh0 dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tY2xhc3Nl cy8tL3BsdWdpbi10cmFuc2Zvcm0tY2xhc3Nlcy03LjEyLjEudGd6IzY1ZTY1MGZjYWRkZDNkODhk ZGNlNjdjMGY4MzRhM2Q0MzZhMzJkYjYiCisgIGludGVncml0eSBzaGE1MTItLzc0eGtBN2JWZHpR VEJlU1VoTExKZ1lJY3h3L2RwRXBDZFJEaUhnUEozTXY2dUMxMVVoanBPaGw3MkNncWJCQ210MXF0 c3NDeUIyeG5KbTErUEZqb2c9PQogICBkZXBlbmRlbmNpZXM6CiAgICAgIkBiYWJlbC9oZWxwZXIt YW5ub3RhdGUtYXMtcHVyZSIgIl43LjEwLjQiCiAgICAgIkBiYWJlbC9oZWxwZXItZGVmaW5lLW1h cCIgIl43LjEwLjQiCiAgICAgIkBiYWJlbC9oZWxwZXItZnVuY3Rpb24tbmFtZSIgIl43LjEwLjQi CiAgICAgIkBiYWJlbC9oZWxwZXItb3B0aW1pc2UtY2FsbC1leHByZXNzaW9uIiAiXjcuMTAuNCIK ICAgICAiQGJhYmVsL2hlbHBlci1wbHVnaW4tdXRpbHMiICJeNy4xMC40IgotICAgICJAYmFiZWwv aGVscGVyLXJlcGxhY2Utc3VwZXJzIiAiXjcuMTAuNCIKKyAgICAiQGJhYmVsL2hlbHBlci1yZXBs YWNlLXN1cGVycyIgIl43LjEyLjEiCiAgICAgIkBiYWJlbC9oZWxwZXItc3BsaXQtZXhwb3J0LWRl Y2xhcmF0aW9uIiAiXjcuMTAuNCIKICAgICBnbG9iYWxzICJeMTEuMS4wIgogCi0iQGJhYmVsL3Bs dWdpbi10cmFuc2Zvcm0tY29tcHV0ZWQtcHJvcGVydGllc0BeNy4yLjAiOgotICB2ZXJzaW9uICI3 LjEwLjQiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9w bHVnaW4tdHJhbnNmb3JtLWNvbXB1dGVkLXByb3BlcnRpZXMvLS9wbHVnaW4tdHJhbnNmb3JtLWNv bXB1dGVkLXByb3BlcnRpZXMtNy4xMC40LnRneiM5ZGVkODNhODE2ZTgyZGVkMjhkNTJkNGI0ZWNi ZGQ4MTBjZGZjMGViIgotICBpbnRlZ3JpdHkgc2hhNTEyLUpGd1ZEWGNQL2hNL1RieXpHcTNsL1hX R3V0N3A0NlozUXZxRk1YVGZrNi8wOW03eFpISlVOOXhIZnN2N3ZxcUQ0WW5mSTV1ZVlkU0p0WHFx Qkx5akJ3PT0KKyJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1jb21wdXRlZC1wcm9wZXJ0aWVzQF43 LjEyLjEiOgorICB2ZXJzaW9uICI3LjEyLjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5 Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWNvbXB1dGVkLXByb3BlcnRpZXMv LS9wbHVnaW4tdHJhbnNmb3JtLWNvbXB1dGVkLXByb3BlcnRpZXMtNy4xMi4xLnRneiNkNjhjZjZj OWI3ZjgzOGE4YTQxNDRiYWRiZTk3NTQxZWEwOTA0ODUyIgorICBpbnRlZ3JpdHkgc2hhNTEyLXZW VU9ZcFBXQjdCa2dVV1BvNEM0NG1VUUhwVFpYYWtFcUZqYnY4clFNZzdUQzZTNlpoR1ozb3RRY1JI NnU3K2FkU2xFNWkwc3A2M2VNQy9YR2ZmcnpnPT0KICAgZGVwZW5kZW5jaWVzOgogICAgICJAYmFi ZWwvaGVscGVyLXBsdWdpbi11dGlscyIgIl43LjEwLjQiCiAKLSJAYmFiZWwvcGx1Z2luLXRyYW5z Zm9ybS1kZXN0cnVjdHVyaW5nQF43LjYuMCI6Ci0gIHZlcnNpb24gIjcuMTAuNCIKLSAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0t ZGVzdHJ1Y3R1cmluZy8tL3BsdWdpbi10cmFuc2Zvcm0tZGVzdHJ1Y3R1cmluZy03LjEwLjQudGd6 IzcwZGRkMmIzZDFiZWE4M2QwMTUwOWU5YmIyNWRkYjNhNzRmYzg1ZTUiCi0gIGludGVncml0eSBz aGE1MTItK1dtZnZ5ZnN5RjYwM2lQYTY4MjVtcTZRcmI3dUxqVE9zYTNYT0Z6bFljWURIU1M0UW1w T1dPTDBOTkJZNXFNYnZyY2YzdHEwQ3crdjRseHN3T0JwZ0E9PQorIkBiYWJlbC9wbHVnaW4tdHJh bnNmb3JtLWRlc3RydWN0dXJpbmdAXjcuMTIuMSI6CisgIHZlcnNpb24gIjcuMTIuMSIKKyAgcmVz b2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi10cmFuc2Zv cm0tZGVzdHJ1Y3R1cmluZy8tL3BsdWdpbi10cmFuc2Zvcm0tZGVzdHJ1Y3R1cmluZy03LjEyLjEu dGd6I2I5YTU3MGZlMGQwYThkNDYwMTE2NDEzY2I0Zjk3ZThlMDhiMmY4NDciCisgIGludGVncml0 eSBzaGE1MTItZlJNWUZLdXppL3JTaVliMnVSTGlVRU5KT0txNEdubCs2cU92NWY4ejBUWlhnM2xs VXdVaHNOTndyd2FULzZkVWhKVHpOcEJyK0NVdkVXQnRmTlkxY3c9PQogICBkZXBlbmRlbmNpZXM6 CiAgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIKIAotIkBiYWJlbC9w bHVnaW4tdHJhbnNmb3JtLWRvdGFsbC1yZWdleEBeNy42LjIiOgotICB2ZXJzaW9uICI3LjEwLjQi Ci0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4t dHJhbnNmb3JtLWRvdGFsbC1yZWdleC8tL3BsdWdpbi10cmFuc2Zvcm0tZG90YWxsLXJlZ2V4LTcu MTAuNC50Z3ojNDY5YzIwNjIxMDVjMWViNmEwNDBlYWY0ZmFjNGI0ODgwNzgzOTVlZSIKLSAgaW50 ZWdyaXR5IHNoYTUxMi1aRUFWdlVUQ01sTUZBYkFTWVNWUW94SWJIbTJPa0cyTXNlVzZiVjJKakl5 Z09qZFZ2OHR1eHJDVHpqMStSeW5oN09EYjhHaXZVeTdkekVYekVodVBhQT09CisiQGJhYmVsL3Bs dWdpbi10cmFuc2Zvcm0tZG90YWxsLXJlZ2V4QF43LjEyLjEiLCAiQGJhYmVsL3BsdWdpbi10cmFu c2Zvcm0tZG90YWxsLXJlZ2V4QF43LjQuNCI6CisgIHZlcnNpb24gIjcuMTIuMSIKKyAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0t ZG90YWxsLXJlZ2V4Ly0vcGx1Z2luLXRyYW5zZm9ybS1kb3RhbGwtcmVnZXgtNy4xMi4xLnRneiNh MWQxNmMxNDg2MjgxN2I2NDA5YzBhNjc4ZDZmOTM3M2NhOWNkOTc1IgorICBpbnRlZ3JpdHkgc2hh NTEyLUIycFhlUktvTHN6ZkVXN0o0SGc5TG9GYVdFYnIva3pvM3RlV0htdEZDc3pqUk5hL2I0MGY5 bWZlcVpzSURMTHQvRmp3UTZwei9HZGx3eTg1eE5ja0JBPT0KICAgZGVwZW5kZW5jaWVzOgotICAg ICJAYmFiZWwvaGVscGVyLWNyZWF0ZS1yZWdleHAtZmVhdHVyZXMtcGx1Z2luIiAiXjcuMTAuNCIK KyAgICAiQGJhYmVsL2hlbHBlci1jcmVhdGUtcmVnZXhwLWZlYXR1cmVzLXBsdWdpbiIgIl43LjEy LjEiCiAgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIKIAotIkBiYWJl bC9wbHVnaW4tdHJhbnNmb3JtLWR1cGxpY2F0ZS1rZXlzQF43LjUuMCI6Ci0gIHZlcnNpb24gIjcu MTAuNCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3Bs dWdpbi10cmFuc2Zvcm0tZHVwbGljYXRlLWtleXMvLS9wbHVnaW4tdHJhbnNmb3JtLWR1cGxpY2F0 ZS1rZXlzLTcuMTAuNC50Z3ojNjk3ZTUwYzlmZWUxNDM4MGZlODQzZDFmMzA2YjI5NTYxNzQzMWU0 NyIKLSAgaW50ZWdyaXR5IHNoYTUxMi1HTDAvZkpubWdNY2xIaUJUVFdYTmxZallzQTdyRHJ0c2F6 SEc2bWdsYUdTVGgwS3NyVzA0cW1sK0JiejlGTDBMY0pJUndCV0w1WnFsTkhLVGtVM3hBQT09Cisi QGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tZHVwbGljYXRlLWtleXNAXjcuMTIuMSI6CisgIHZlcnNp b24gIjcuMTIuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJh YmVsL3BsdWdpbi10cmFuc2Zvcm0tZHVwbGljYXRlLWtleXMvLS9wbHVnaW4tdHJhbnNmb3JtLWR1 cGxpY2F0ZS1rZXlzLTcuMTIuMS50Z3ojNzQ1NjYxYmFiYTI5NWFjMDZlNjg2ODIyNzk3YTY5ZmJh YTJjYTIyOCIKKyAgaW50ZWdyaXR5IHNoYTUxMi1pUmdodDBUMEh6dEFiL0NhenZlVXBVUXJaWSth R0tLYVdYTUo0dWY5WUp0cXhTVWUwOWozd3RlenRDVURSSHMrU1JBTDd5TXVGcVVzTG9BS0t6Z1hq dz09CiAgIGRlcGVuZGVuY2llczoKICAgICAiQGJhYmVsL2hlbHBlci1wbHVnaW4tdXRpbHMiICJe Ny4xMC40IgogCi0iQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tZXhwb25lbnRpYXRpb24tb3BlcmF0 b3JAXjcuMi4wIjoKLSAgdmVyc2lvbiAiNy4xMC40IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdp c3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1leHBvbmVudGlhdGlvbi1v cGVyYXRvci8tL3BsdWdpbi10cmFuc2Zvcm0tZXhwb25lbnRpYXRpb24tb3BlcmF0b3ItNy4xMC40 LnRneiM1YWUzMzhjNTdmOGNmNDAwMWJkYjM1NjA3YWU2NmI5MmQ2NjVhZjJlIgotICBpbnRlZ3Jp dHkgc2hhNTEyLVM1SGdMVmdrQmNSZHlRQUhiS2orN0t5dVd4OEM2dDVvRVRtVXV3ejFwdDNXVFdK aHNVVjBXSUlYdVZ2ZlhNeGwvUVF5SEtsU0NOTnRhSWFtRzhmeXN3PT0KKyJAYmFiZWwvcGx1Z2lu LXRyYW5zZm9ybS1leHBvbmVudGlhdGlvbi1vcGVyYXRvckBeNy4xMi4xIjoKKyAgdmVyc2lvbiAi Ny4xMi4xIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwv cGx1Z2luLXRyYW5zZm9ybS1leHBvbmVudGlhdGlvbi1vcGVyYXRvci8tL3BsdWdpbi10cmFuc2Zv cm0tZXhwb25lbnRpYXRpb24tb3BlcmF0b3ItNy4xMi4xLnRneiNiMGYyZWQzNTZiYTFiZTE0Mjhl Y2FmMTI4ZmY4YTI0ZjAyODMwYWUwIgorICBpbnRlZ3JpdHkgc2hhNTEyLTd0cXd5MmJ2NDhxK2Mx RUhiWEswWngzS1hkMlJWUXA2T0M3UGJ3Rk50L2RQVEFWM0x1NXNXdFd1QWo4b3dyNXdxdFducUhm bDIvbUpsVW1xa0NoS3VnPT0KICAgZGVwZW5kZW5jaWVzOgogICAgICJAYmFiZWwvaGVscGVyLWJ1 aWxkZXItYmluYXJ5LWFzc2lnbm1lbnQtb3BlcmF0b3ItdmlzaXRvciIgIl43LjEwLjQiCiAgICAg IkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIKIAotIkBiYWJlbC9wbHVnaW4t dHJhbnNmb3JtLWZvci1vZkBeNy40LjQiOgotICB2ZXJzaW9uICI3LjEwLjQiCi0gIHJlc29sdmVk ICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWZv ci1vZi8tL3BsdWdpbi10cmFuc2Zvcm0tZm9yLW9mLTcuMTAuNC50Z3ojYzA4ODkyZTg4MTlkM2E1 ZGIyOTAzMWIxMTVhZjUxMWRiYmZlYmFlOSIKLSAgaW50ZWdyaXR5IHNoYTUxMi1JdGRRZkF6dTlB bEVxbXVzQS82NVRxSjc5ZVJjZ0dtcFBQRnZCbkdJTFhaSDk3NUcwTE5qUDF5akh2R2dmdUN4cXJQ UHVlWE9QZStGc3Z4bXhLaUhIUT09CisiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tZm9yLW9mQF43 LjEyLjEiOgorICB2ZXJzaW9uICI3LjEyLjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5 Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWZvci1vZi8tL3BsdWdpbi10cmFu c2Zvcm0tZm9yLW9mLTcuMTIuMS50Z3ojMDc2NDBmMjg4NjdlZDE2Zjk1MTFjOTljODg4MjkxZjU2 MDkyMWNmYSIKKyAgaW50ZWdyaXR5IHNoYTUxMi1aYWVxMTBuYUFzdUhvN2hlUXZ5VjBwdGo0ZGxa SndaZ05BdEJZQm51NW5OS0pvVzYybTB6S2NJRXlWRUNyVUtFcmtVa2c2YWpNeTRaZm5WWmNpU0Jo Zz09CiAgIGRlcGVuZGVuY2llczoKICAgICAiQGJhYmVsL2hlbHBlci1wbHVnaW4tdXRpbHMiICJe Ny4xMC40IgogCi0iQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tZnVuY3Rpb24tbmFtZUBeNy40LjQi OgotICB2ZXJzaW9uICI3LjEwLjQiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5w a2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWZ1bmN0aW9uLW5hbWUvLS9wbHVnaW4tdHJh bnNmb3JtLWZ1bmN0aW9uLW5hbWUtNy4xMC40LnRneiM2YTQ2Nzg4MGUwZmM5NjM4NTE0YmEzNjkx MTE4MTFkZGJlMjY0NGI3IgotICBpbnRlZ3JpdHkgc2hhNTEyLU9jRENxMnk1K0UwZFZENU1hZ1Q1 WCt5VFJiY3ZGakRJMlpWQW90dEdINnR6cWp4L0xLcGdrVWVwdTNocC91NHRaQnp4eHBOR3dMc0F2 R0J2UTJtSnpnPT0KKyJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1mdW5jdGlvbi1uYW1lQF43LjEy LjEiOgorICB2ZXJzaW9uICI3LjEyLjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlh cm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWZ1bmN0aW9uLW5hbWUvLS9wbHVnaW4t dHJhbnNmb3JtLWZ1bmN0aW9uLW5hbWUtNy4xMi4xLnRneiMyZWM3NjI1OGM3MGZlMDhjNmQ3ZGEx NTQwMDNhNDgwNjIwZWJhNjY3IgorICBpbnRlZ3JpdHkgc2hhNTEyLUpGM1VnSlVJTG9GckZNRW5P SkxKa1JIU2s2TFVTWExtRUZzQTIzYVIyTzVDU0xVeGJlVVgxSVoxWVE3U24wYVhiNjAxTmN3ang3 M2ErRlZxZ2NsalZ3PT0KICAgZGVwZW5kZW5jaWVzOgogICAgICJAYmFiZWwvaGVscGVyLWZ1bmN0 aW9uLW5hbWUiICJeNy4xMC40IgogICAgICJAYmFiZWwvaGVscGVyLXBsdWdpbi11dGlscyIgIl43 LjEwLjQiCiAKLSJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1saXRlcmFsc0BeNy4yLjAiOgotICB2 ZXJzaW9uICI3LjEwLjQiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29t L0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWxpdGVyYWxzLy0vcGx1Z2luLXRyYW5zZm9ybS1saXRl cmFscy03LjEwLjQudGd6IzlmNDJiYTA4NDExMDBhMTM1ZjIyNzEyZDBlMzkxYzQ2MmY1NzFmM2Mi Ci0gIGludGVncml0eSBzaGE1MTItWGQvZEZTVEVWdVVXbnlaaU11NzYvSW5aeExUWWlsT1NyMVVs SFYrcDExNVovTGUyRmkxS1hrSlVZejBiNDJEZm5kb3N0WWxQdWIzbThaVFFsTWFpcVE9PQorIkBi YWJlbC9wbHVnaW4tdHJhbnNmb3JtLWxpdGVyYWxzQF43LjEyLjEiOgorICB2ZXJzaW9uICI3LjEy LjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVn aW4tdHJhbnNmb3JtLWxpdGVyYWxzLy0vcGx1Z2luLXRyYW5zZm9ybS1saXRlcmFscy03LjEyLjEu dGd6I2Q3M2I4MDNhMjZiMzcwMTdkZGY5ZDNiYjhmNGRjNThiZmI4MDZmNTciCisgIGludGVncml0 eSBzaGE1MTItK1B4VkdBKzJBZzZ1R2dMMEE1Zis5cmtsT25uTWNjd0VCendZRkwzRVVhS3VpeVZu VWlweVhuY0ZjZmpTa2JpbUxyT0RvcWtpMVU5WHhaelR2Zk43SVE9PQogICBkZXBlbmRlbmNpZXM6 CiAgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIKIAotIkBiYWJlbC9w bHVnaW4tdHJhbnNmb3JtLW1lbWJlci1leHByZXNzaW9uLWxpdGVyYWxzQF43LjIuMCI6Ci0gIHZl cnNpb24gIjcuMTAuNCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20v QGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tbWVtYmVyLWV4cHJlc3Npb24tbGl0ZXJhbHMvLS9wbHVn aW4tdHJhbnNmb3JtLW1lbWJlci1leHByZXNzaW9uLWxpdGVyYWxzLTcuMTAuNC50Z3ojYjFlYzQ0 ZmNmMTk1YWZjYjhkYjJjNjJjZDhlNTUxYzg4MWJhZjhiNyIKLSAgaW50ZWdyaXR5IHNoYTUxMi0w YkZPdlB5QW9UQmh0Y0pMcjlWY3dacUttU2pGbWwxaVZ4dlBMMFJlb21HVTUzQ1g1M0hzTTRoMlN6 Y2tOZGtRY0hveDFicEFxenhCSTFZMDlMbEJTdz09CisiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0t bWVtYmVyLWV4cHJlc3Npb24tbGl0ZXJhbHNAXjcuMTIuMSI6CisgIHZlcnNpb24gIjcuMTIuMSIK KyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi10 cmFuc2Zvcm0tbWVtYmVyLWV4cHJlc3Npb24tbGl0ZXJhbHMvLS9wbHVnaW4tdHJhbnNmb3JtLW1l bWJlci1leHByZXNzaW9uLWxpdGVyYWxzLTcuMTIuMS50Z3ojNDk2MDM4NjAyZGFmMTUxNGE2NGQ0 M2Q4ZTE3Y2JiMjc1NWUwYzNhZCIKKyAgaW50ZWdyaXR5IHNoYTUxMi0xc3hlUGw2ejlhZDBnRk1C OUtxbVlvZmszNGZscTYyYXFNdDlOcWxpUy83aFBFcFVSVUNNYnlIWHJNUGxvMjgyaVk3bkF2VUIx YVFkNW1nNzlVRDlKZz09CiAgIGRlcGVuZGVuY2llczoKICAgICAiQGJhYmVsL2hlbHBlci1wbHVn aW4tdXRpbHMiICJeNy4xMC40IgogCi0iQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tbW9kdWxlcy1h bWRAXjcuNS4wIjoKLSAgdmVyc2lvbiAiNy4xMC41IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdp c3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1tb2R1bGVzLWFtZC8tL3Bs dWdpbi10cmFuc2Zvcm0tbW9kdWxlcy1hbWQtNy4xMC41LnRneiMxYjljZGRhZjA1ZDllODhiM2Fh ZDMzOWNiM2U0NDVjNGYwMjBhOWIxIgotICBpbnRlZ3JpdHkgc2hhNTEyLWVsbTV1cnVOaW83Q1RM Rkl0VkMvckl6S0xmUTE3K2ZYN0VWejVXMFRNZ0lIRm8xelkwT3p6eCtsZ3doTDRwbHpsOE96Vm42 UWFzeDVEZUVGeW9OaVJ3PT0KKyJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1tb2R1bGVzLWFtZEBe Ny4xMi4xIjoKKyAgdmVyc2lvbiAiNy4xMi4xIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3Ry eS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1tb2R1bGVzLWFtZC8tL3BsdWdp bi10cmFuc2Zvcm0tbW9kdWxlcy1hbWQtNy4xMi4xLnRneiMzMTU0MzAwYjAyNjE4NTY2NmVlYmIw YzBlZDdmODQxNWZlZmNmNmY5IgorICBpbnRlZ3JpdHkgc2hhNTEyLXREVzhoTWt6YWQ1b0R0enNC NzBISVFRUkJpVEtyaGZnd0MvS2tKZUdzYU5GVGRXaEtOdC9CaUU4YzV5ajE5WGlHeXJ4cGJrT2ZI ODdxa05nMVlHbE9RPT0KICAgZGVwZW5kZW5jaWVzOgotICAgICJAYmFiZWwvaGVscGVyLW1vZHVs ZS10cmFuc2Zvcm1zIiAiXjcuMTAuNSIKKyAgICAiQGJhYmVsL2hlbHBlci1tb2R1bGUtdHJhbnNm b3JtcyIgIl43LjEyLjEiCiAgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAu NCIKICAgICBiYWJlbC1wbHVnaW4tZHluYW1pYy1pbXBvcnQtbm9kZSAiXjIuMy4zIgogCi0iQGJh YmVsL3BsdWdpbi10cmFuc2Zvcm0tbW9kdWxlcy1jb21tb25qc0BeNy42LjAiOgotICB2ZXJzaW9u ICI3LjEwLjQiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJl bC9wbHVnaW4tdHJhbnNmb3JtLW1vZHVsZXMtY29tbW9uanMvLS9wbHVnaW4tdHJhbnNmb3JtLW1v ZHVsZXMtY29tbW9uanMtNy4xMC40LnRneiM2NjY2N2MzZWVkYTFlYmY3ODk2ZDQxZjFmMTZiMTcx MDVhMmZiY2EwIgotICBpbnRlZ3JpdHkgc2hhNTEyLVhqN1VxNW84MEhETGxXNjRyVmZEQmhhbzZP WDg5SEtVbWIrOXZXWWFMWEJaT21hNGdBNnR3NE5pMU81cVZEb1pXVVYwZnhNWUEwYVl6T2F3ejBs KzF3PT0KKyJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1tb2R1bGVzLWNvbW1vbmpzQF43LjEyLjEi OgorICB2ZXJzaW9uICI3LjEyLjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5w a2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLW1vZHVsZXMtY29tbW9uanMvLS9wbHVnaW4t dHJhbnNmb3JtLW1vZHVsZXMtY29tbW9uanMtNy4xMi4xLnRneiNmYTQwMzEyNDU0MjYzNmM3ODZj ZjliNDYwYTBmZmJiNDhhODZlNjQ4IgorICBpbnRlZ3JpdHkgc2hhNTEyLWRZNzg5d3E2bDB1TFk4 cHk5YzFCNDhWOG1WTDVnWmgvK1BRNVpQcnlsUFlzbkF2bkVNanFzVVhrdW9EVlBlVksrMFZ5R2Fy K0QwODEwN0x6RFE2cGFnPT0KICAgZGVwZW5kZW5jaWVzOgotICAgICJAYmFiZWwvaGVscGVyLW1v ZHVsZS10cmFuc2Zvcm1zIiAiXjcuMTAuNCIKKyAgICAiQGJhYmVsL2hlbHBlci1tb2R1bGUtdHJh bnNmb3JtcyIgIl43LjEyLjEiCiAgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcu MTAuNCIKLSAgICAiQGJhYmVsL2hlbHBlci1zaW1wbGUtYWNjZXNzIiAiXjcuMTAuNCIKKyAgICAi QGJhYmVsL2hlbHBlci1zaW1wbGUtYWNjZXNzIiAiXjcuMTIuMSIKICAgICBiYWJlbC1wbHVnaW4t ZHluYW1pYy1pbXBvcnQtbm9kZSAiXjIuMy4zIgogCi0iQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0t bW9kdWxlcy1zeXN0ZW1qc0BeNy41LjAiOgotICB2ZXJzaW9uICI3LjEwLjUiCi0gIHJlc29sdmVk ICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLW1v ZHVsZXMtc3lzdGVtanMvLS9wbHVnaW4tdHJhbnNmb3JtLW1vZHVsZXMtc3lzdGVtanMtNy4xMC41 LnRneiM2MjcwMDk5Yzg1NDA2NjY4MWJhZTllMDVmODdlMWI5Y2FkYmU4Yzg1IgotICBpbnRlZ3Jp dHkgc2hhNTEyLWY0UkxPL09MMTQvRlAxQUViY3NXTXpwYlV6NnRzc1JhZVFnMTFSSDFCUC9YblBw Um9Wd2dlWVZpTUZhY25rYXc0azR3alJTam4zaXAxVXc5VGFYdU13PT0KKyJAYmFiZWwvcGx1Z2lu LXRyYW5zZm9ybS1tb2R1bGVzLXN5c3RlbWpzQF43LjEyLjEiOgorICB2ZXJzaW9uICI3LjEyLjEi CisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4t dHJhbnNmb3JtLW1vZHVsZXMtc3lzdGVtanMvLS9wbHVnaW4tdHJhbnNmb3JtLW1vZHVsZXMtc3lz dGVtanMtNy4xMi4xLnRneiM2NjNmZWE2MjBkNTkzYzkzZjIxNGE0NjRjZDM5OWJmNmRjNjgzMDg2 IgorICBpbnRlZ3JpdHkgc2hhNTEyLUhuN2NWdk9hdlZoOHl2VzZmTHd2ZUZxU25kN3JiUU4zekp2 b1BOeU5hUVN2Z2ZLbURCTzlVMVlMOStQQ1hHUmxaRDl0TmRXVHk1QUNLcU11enluMzJRPT0KICAg ZGVwZW5kZW5jaWVzOgogICAgICJAYmFiZWwvaGVscGVyLWhvaXN0LXZhcmlhYmxlcyIgIl43LjEw LjQiCi0gICAgIkBiYWJlbC9oZWxwZXItbW9kdWxlLXRyYW5zZm9ybXMiICJeNy4xMC41IgorICAg ICJAYmFiZWwvaGVscGVyLW1vZHVsZS10cmFuc2Zvcm1zIiAiXjcuMTIuMSIKICAgICAiQGJhYmVs L2hlbHBlci1wbHVnaW4tdXRpbHMiICJeNy4xMC40IgorICAgICJAYmFiZWwvaGVscGVyLXZhbGlk YXRvci1pZGVudGlmaWVyIiAiXjcuMTAuNCIKICAgICBiYWJlbC1wbHVnaW4tZHluYW1pYy1pbXBv cnQtbm9kZSAiXjIuMy4zIgogCi0iQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tbW9kdWxlcy11bWRA XjcuMi4wIjoKLSAgdmVyc2lvbiAiNy4xMC40IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3Ry eS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1tb2R1bGVzLXVtZC8tL3BsdWdp bi10cmFuc2Zvcm0tbW9kdWxlcy11bWQtNy4xMC40LnRneiM5YTg0ODFmZTgxYjgyNDY1NGIzYTBi NjVkYTNkZjg5ZjNkMjE4MzllIgotICBpbnRlZ3JpdHkgc2hhNTEyLW1vaFc1cTN1QUV0OFQ0NVlU N1FjNXdzNm1XZ0pBYUwvOEJmV0Q5RG9kbzFBM1JLV2xpOHdUUytXaVEva25GK3RYbFBpclcvMS9N cXp6R2ZDRXhLRUNBPT0KKyJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1tb2R1bGVzLXVtZEBeNy4x Mi4xIjoKKyAgdmVyc2lvbiAiNy4xMi4xIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55 YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1tb2R1bGVzLXVtZC8tL3BsdWdpbi10 cmFuc2Zvcm0tbW9kdWxlcy11bWQtNy4xMi4xLnRneiNlYjVhMjE4ZDZiMWM2OGYzZDYyMTdiOGZh MmNjODJmZWM2NTQ3OTAyIgorICBpbnRlZ3JpdHkgc2hhNTEyLWFFSXViQ1MwS0hLTTB6VW9zNWZJ b1FtK0FaVU10MVp2TXBxejAvSDVxQVE3dld5bHI5K1BMWXVyVCtJYzdJRC9iS0xkNHE4aERvdmFH M1pjaDJ1ejVRPT0KICAgZGVwZW5kZW5jaWVzOgotICAgICJAYmFiZWwvaGVscGVyLW1vZHVsZS10 cmFuc2Zvcm1zIiAiXjcuMTAuNCIKKyAgICAiQGJhYmVsL2hlbHBlci1tb2R1bGUtdHJhbnNmb3Jt cyIgIl43LjEyLjEiCiAgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIK IAotIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLW5hbWVkLWNhcHR1cmluZy1ncm91cHMtcmVnZXhA XjcuNi4zIjoKLSAgdmVyc2lvbiAiNy4xMC40IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3Ry eS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1uYW1lZC1jYXB0dXJpbmctZ3Jv dXBzLXJlZ2V4Ly0vcGx1Z2luLXRyYW5zZm9ybS1uYW1lZC1jYXB0dXJpbmctZ3JvdXBzLXJlZ2V4 LTcuMTAuNC50Z3ojNzhiNGQ5Nzg4MTBiNmYzYmNmMDNmOWUzMThmMmZjMGVkNDFhZWNiNiIKLSAg aW50ZWdyaXR5IHNoYTUxMi1WNkx1T25EMzFrVGt4UVBoS2lWWXpZQy9KZ2RxNTNpckpDL3hCU21x Y05jcUZHVitQRVI0bDZyVTVTSDJWbDdiSDltTERIY2MwK2w5SFVPZTRSTkdLQT09CisiQGJhYmVs L3BsdWdpbi10cmFuc2Zvcm0tbmFtZWQtY2FwdHVyaW5nLWdyb3Vwcy1yZWdleEBeNy4xMi4xIjoK KyAgdmVyc2lvbiAiNy4xMi4xIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtn LmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1uYW1lZC1jYXB0dXJpbmctZ3JvdXBzLXJlZ2V4 Ly0vcGx1Z2luLXRyYW5zZm9ybS1uYW1lZC1jYXB0dXJpbmctZ3JvdXBzLXJlZ2V4LTcuMTIuMS50 Z3ojYjQwN2Y1Yzk2YmUwZDlmNWY4ODQ2NzQ5N2ZhODJiMzBhYzNlODc1MyIKKyAgaW50ZWdyaXR5 IHNoYTUxMi10QjQzdVE2MlJIY29EcDl2Mk5zZitkU004c2JOb2RiRWljYlFOQTUzekh6OHBXVWhz Z0hTSkNHcHQ3ZGFYeFJ5ZGpiMEtuZm1CK0NoWE92M29BRHAxUT09CiAgIGRlcGVuZGVuY2llczoK LSAgICAiQGJhYmVsL2hlbHBlci1jcmVhdGUtcmVnZXhwLWZlYXR1cmVzLXBsdWdpbiIgIl43LjEw LjQiCisgICAgIkBiYWJlbC9oZWxwZXItY3JlYXRlLXJlZ2V4cC1mZWF0dXJlcy1wbHVnaW4iICJe Ny4xMi4xIgogCi0iQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tbmV3LXRhcmdldEBeNy40LjQiOgot ICB2ZXJzaW9uICI3LjEwLjQiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cu Y29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLW5ldy10YXJnZXQvLS9wbHVnaW4tdHJhbnNmb3Jt LW5ldy10YXJnZXQtNy4xMC40LnRneiM5MDk3ZDc1M2NiN2IwMjRjYjczODFhM2IyZTUyZTk1MTNh OWM2ODg4IgotICBpbnRlZ3JpdHkgc2hhNTEyLVlYd1dVREFIL0o2ZGxmd3FsV3N6dEkyUHV6MU50 VUF1YlhoT1BMUTVnalIvcW1RNVU5NkRZNEZRTzhBdDMzSk40WFBCaHJqQjhJNGVNbUxST2pqTGp3 PT0KKyJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1uZXctdGFyZ2V0QF43LjEyLjEiOgorICB2ZXJz aW9uICI3LjEyLjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0Bi YWJlbC9wbHVnaW4tdHJhbnNmb3JtLW5ldy10YXJnZXQvLS9wbHVnaW4tdHJhbnNmb3JtLW5ldy10 YXJnZXQtNy4xMi4xLnRneiM4MDA3M2YwMmVlMWJiMmQzNjVjMzQxNjQ5MGUwODVjOTU3NTlkZWMw IgorICBpbnRlZ3JpdHkgc2hhNTEyLStlVy9WTGNVTDVMOUl2Skg3clQxc1QwQ3prZFVUdlByWEMy UFhUbi83ejd0WExCdUt2ZXpZYkdkeEQ1V01Sb3l2eWF1ak9xMmZXb0tsODY5aGVLamh3PT0KICAg ZGVwZW5kZW5jaWVzOgogICAgICJAYmFiZWwvaGVscGVyLXBsdWdpbi11dGlscyIgIl43LjEwLjQi CiAKLSJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1vYmplY3Qtc3VwZXJAXjcuNS41IjoKLSAgdmVy c2lvbiAiNy4xMC40IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9A YmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1vYmplY3Qtc3VwZXIvLS9wbHVnaW4tdHJhbnNmb3JtLW9i amVjdC1zdXBlci03LjEwLjQudGd6I2Q3MTQ2YzRkMTM5NDMzZTdhNjUyNmY4ODhjNjY3ZTMxNGEw OTM4OTQiCi0gIGludGVncml0eSBzaGE1MTItNWlUdzBKa2RSZEp2cjdzWTB2SHFUcG5ydVVwVGVh MzJKSG1xL2F0SVdxc25OdXNzYlJ6akVEeVdlcDhVTnp0dDFCNUl1c0JZZzhJcmIwYkxiaUVCQ1E9 PQorIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLW9iamVjdC1zdXBlckBeNy4xMi4xIjoKKyAgdmVy c2lvbiAiNy4xMi4xIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9A YmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1vYmplY3Qtc3VwZXIvLS9wbHVnaW4tdHJhbnNmb3JtLW9i amVjdC1zdXBlci03LjEyLjEudGd6IzRlYTA4Njk2YjhkMmU2NTg0MWQwYzc3MDY0ODJiMDQ4YmVk MTA2NmUiCisgIGludGVncml0eSBzaGE1MTItQXZ5cGlHSkg5aHNxdU5VbitSWFZjQmRlRTNLSFBa ZXhXUmRpbWh1VjU5Y1NvT3Q1a0ZCbXFsQnlvckFlVWxHRzJDSldkMFUrNFp0TktnYS9UQjBjQXc9 PQogICBkZXBlbmRlbmNpZXM6CiAgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcu MTAuNCIKLSAgICAiQGJhYmVsL2hlbHBlci1yZXBsYWNlLXN1cGVycyIgIl43LjEwLjQiCisgICAg IkBiYWJlbC9oZWxwZXItcmVwbGFjZS1zdXBlcnMiICJeNy4xMi4xIgogCi0iQGJhYmVsL3BsdWdp bi10cmFuc2Zvcm0tcGFyYW1ldGVyc0BeNy4xMC40IiwgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3Jt LXBhcmFtZXRlcnNAXjcuNC40IjoKLSAgdmVyc2lvbiAiNy4xMC41IgotICByZXNvbHZlZCAiaHR0 cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1wYXJhbWV0 ZXJzLy0vcGx1Z2luLXRyYW5zZm9ybS1wYXJhbWV0ZXJzLTcuMTAuNS50Z3ojNTlkMzM5ZDU4ZDBi MTk1MDQzNWY0MDQzZTc0ZTI1MTAwMDVlMmM0YSIKLSAgaW50ZWdyaXR5IHNoYTUxMi14UEh3VWo1 UmRGVjhsMXd1WWl1NVM5ZnFXR00yRHJZYzI0VE12VWlSclBWbStTTTNYZXFVOUJjb2tRWC9rRVVl K3AyUkJ3eSt5b2lSMXcvQmxxNnVidz09CisiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tcGFyYW1l dGVyc0BeNy4xMi4xIjoKKyAgdmVyc2lvbiAiNy4xMi4xIgorICByZXNvbHZlZCAiaHR0cHM6Ly9y ZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1wYXJhbWV0ZXJzLy0v cGx1Z2luLXRyYW5zZm9ybS1wYXJhbWV0ZXJzLTcuMTIuMS50Z3ojZDJlOTYzYjAzODc3MTY1MGM5 MjJlZmY1OTM3OTljOTZkODUzMjU1ZCIKKyAgaW50ZWdyaXR5IHNoYTUxMi14cTlDNUVRaGRQSzIz WmVDZE14bDhiYlJuQWdIRnJ3NUVPQzNLSlVzU3lsWnFka0NhRkVYeEdTQnVUU09iT3BpaUhITnli ODJlczhNMVFZZ2ZRR2ZOZz09CiAgIGRlcGVuZGVuY2llczoKLSAgICAiQGJhYmVsL2hlbHBlci1n ZXQtZnVuY3Rpb24tYXJpdHkiICJeNy4xMC40IgogICAgICJAYmFiZWwvaGVscGVyLXBsdWdpbi11 dGlscyIgIl43LjEwLjQiCiAKLSJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1wcm9wZXJ0eS1saXRl cmFsc0BeNy4yLjAiOgotICB2ZXJzaW9uICI3LjEwLjQiCi0gIHJlc29sdmVkICJodHRwczovL3Jl Z2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXByb3BlcnR5LWxpdGVy YWxzLy0vcGx1Z2luLXRyYW5zZm9ybS1wcm9wZXJ0eS1saXRlcmFscy03LjEwLjQudGd6I2Y2ZmU1 NGI2NTkwMzUyMjk4Nzg1YjgzZWRkODE1ZDIxNGM0MmUzYzAiCi0gIGludGVncml0eSBzaGE1MTIt b2ZzQWNLaVV4UThUWTRzU2Nnc0dlUjJ2SklzZnJ6cXZGYjlHdko1VWRYRHpsK015WUNhQmovRkd6 WHV2N3FFMGFKY2pXTUlMbnkxZXBxZWxuRmx6OGc9PQorIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3Jt LXByb3BlcnR5LWxpdGVyYWxzQF43LjEyLjEiOgorICB2ZXJzaW9uICI3LjEyLjEiCisgIHJlc29s dmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3Jt LXByb3BlcnR5LWxpdGVyYWxzLy0vcGx1Z2luLXRyYW5zZm9ybS1wcm9wZXJ0eS1saXRlcmFscy03 LjEyLjEudGd6IzQxYmM4MTIwMGQ3MzBhYmI0NDU2YWI4YjNmYmQ1NTM3YjU5YWRlY2QiCisgIGlu dGVncml0eSBzaGE1MTItNk1UQ1IvbVoxTVFTK0F3WkxwbFg0Y0V5U2pDcG5JRjI2VG9Xbzk0Mm5x bjhoWFNtN01jYUhRTmVHeC9wdDdzdUkxVFdPV01mYS9OZ0JoaXFTblgwY1E9PQogICBkZXBlbmRl bmNpZXM6CiAgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIKIAotIkBi YWJlbC9wbHVnaW4tdHJhbnNmb3JtLXJlYWN0LWRpc3BsYXktbmFtZUBeNy4xMC40IjoKLSAgdmVy c2lvbiAiNy4xMC40IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9A YmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1yZWFjdC1kaXNwbGF5LW5hbWUvLS9wbHVnaW4tdHJhbnNm b3JtLXJlYWN0LWRpc3BsYXktbmFtZS03LjEwLjQudGd6I2I1Nzk1ZjRlM2UzMTQwNDE5YzM2MTFi N2EyYTM4MzJiOWFlZjMyOGQiCi0gIGludGVncml0eSBzaGE1MTItWmQ0WDU0TXU5U0JmUEduRWNh R2NPclZBWU90alQyb244UVprTEtFcTFTL3RIZXhHMzlkOVhYR1p2MTlWZlJyRGpQSnpGbVBmVEFx T1FTMXBmRk91anc9PQorIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXJlYWN0LWRpc3BsYXktbmFt ZUBeNy4xMi4xIjoKKyAgdmVyc2lvbiAiNy4xMi4xIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdp c3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1yZWFjdC1kaXNwbGF5LW5h bWUvLS9wbHVnaW4tdHJhbnNmb3JtLXJlYWN0LWRpc3BsYXktbmFtZS03LjEyLjEudGd6IzFjYmNk MGMzYjFkNjY0OGM1NTM3NGEyMmZjOWI2YjdlNTM0MWMwMGQiCisgIGludGVncml0eSBzaGE1MTIt Y0F6QitVekJJcmVrZll4eUxsRnFmL09hZ1R2SExjVkJiNXZwb3V6a1lrQmNsUlByYWl5Z1ZuYWZ2 QW9pcEVyWkxJOEFOdjhFY242RS9tNXFQWEQyNnc9PQogICBkZXBlbmRlbmNpZXM6CiAgICAgIkBi YWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIKIAotIkBiYWJlbC9wbHVnaW4tdHJh bnNmb3JtLXJlYWN0LWpzeC1kZXZlbG9wbWVudEBeNy4xMC40IjoKLSAgdmVyc2lvbiAiNy4xMS41 IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2lu LXRyYW5zZm9ybS1yZWFjdC1qc3gtZGV2ZWxvcG1lbnQvLS9wbHVnaW4tdHJhbnNmb3JtLXJlYWN0 LWpzeC1kZXZlbG9wbWVudC03LjExLjUudGd6I2UxNDM5ZTZhNTdlZTNkNDNlOWY1NGFjZTM2M2Zi MjljZWZlNWQ3YjYiCi0gIGludGVncml0eSBzaGE1MTItY0ltQW1JbEtKODRzRG1wUXptNC8wcS8y eHJYbERlelFvaXh5M3FvejFOSmVaTC84UFJvbjZ4WnRsdXZyNEg0Rnp3bERHSTV0Q2NGdXBNblhH dHIrcXc9PQorIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXJlYWN0LWpzeC1kZXZlbG9wbWVudEBe Ny4xMi43IjoKKyAgdmVyc2lvbiAiNy4xMi4xMiIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0 cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tcmVhY3QtanN4LWRldmVsb3Bt ZW50Ly0vcGx1Z2luLXRyYW5zZm9ybS1yZWFjdC1qc3gtZGV2ZWxvcG1lbnQtNy4xMi4xMi50Z3oj YmNjY2EzMzEwOGZlOTlkOTVkN2Y5ZTgyMDQ2YmZlNzYyZTcxZjRlNyIKKyAgaW50ZWdyaXR5IHNo YTUxMi1pMUF4bkt4SGVNeFVhV1ZYUU9TSWNvNHR2VnZ2Q3hNU2ZlQk1uTU0wNm1wYUp0M2crTXB4 WVFRckRmb2pVUWxkUDF4eHJhUFNKWVNNRWxqb1dNL2RDZz09CiAgIGRlcGVuZGVuY2llczoKLSAg ICAiQGJhYmVsL2hlbHBlci1idWlsZGVyLXJlYWN0LWpzeC1leHBlcmltZW50YWwiICJeNy4xMS41 IgotICAgICJAYmFiZWwvaGVscGVyLXBsdWdpbi11dGlscyIgIl43LjEwLjQiCi0gICAgIkBiYWJl bC9wbHVnaW4tc3ludGF4LWpzeCIgIl43LjEwLjQiCisgICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNm b3JtLXJlYWN0LWpzeCIgIl43LjEyLjEyIgogCi0iQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tcmVh Y3QtanN4LXNlbGZAXjcuMTAuNCI6Ci0gIHZlcnNpb24gIjcuMTAuNCIKLSAgcmVzb2x2ZWQgImh0 dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tcmVhY3Qt anN4LXNlbGYvLS9wbHVnaW4tdHJhbnNmb3JtLXJlYWN0LWpzeC1zZWxmLTcuMTAuNC50Z3ojY2Qz MDFhNWZlZDg5ODhjMTgyZWQwYjlkNTVlOWJkNmRiMGJkOTM2OSIKLSAgaW50ZWdyaXR5IHNoYTUx Mi15T3Z4WTJwRGlWSmkwYXhkVFdIU01pNVQwRElMTitIK1NhZUplQUNIS2pRTGV6RXpoTHg5bkVG OXhncEJMUHRrWnNrczljbmI1UDlpQkVpMjFFbjNnZz09CisiQGJhYmVsL3BsdWdpbi10cmFuc2Zv cm0tcmVhY3QtanN4QF43LjEyLjEwIiwgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXJlYWN0LWpz eEBeNy4xMi4xMiI6CisgIHZlcnNpb24gIjcuMTIuMTIiCisgIHJlc29sdmVkICJodHRwczovL3Jl Z2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXJlYWN0LWpzeC8tL3Bs dWdpbi10cmFuc2Zvcm0tcmVhY3QtanN4LTcuMTIuMTIudGd6I2IwZGE1MWZmZTVmMzRiOWE5MDBl OWYxZjVmYjgxNGY5ZTUxMmQyNWUiCisgIGludGVncml0eSBzaGE1MTItSkRXR3V6R05Xc2NZY3E4 b0pWQ3RTRTYxYTUrWEFPb3MrVjBIcnhuRGllVXVzNFVNbkJFb3NEblkxVkpxVTVpWjRwQTA0UVk3 bDArSnZITDFoWkVmc3c9PQogICBkZXBlbmRlbmNpZXM6CisgICAgIkBiYWJlbC9oZWxwZXItYW5u b3RhdGUtYXMtcHVyZSIgIl43LjEyLjEwIgorICAgICJAYmFiZWwvaGVscGVyLW1vZHVsZS1pbXBv cnRzIiAiXjcuMTIuNSIKICAgICAiQGJhYmVsL2hlbHBlci1wbHVnaW4tdXRpbHMiICJeNy4xMC40 IgotICAgICJAYmFiZWwvcGx1Z2luLXN5bnRheC1qc3giICJeNy4xMC40IgorICAgICJAYmFiZWwv cGx1Z2luLXN5bnRheC1qc3giICJeNy4xMi4xIgorICAgICJAYmFiZWwvdHlwZXMiICJeNy4xMi4x MiIKIAotIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXJlYWN0LWpzeC1zb3VyY2VAXjcuMTAuNCI6 Ci0gIHZlcnNpb24gIjcuMTAuNSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBr Zy5jb20vQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tcmVhY3QtanN4LXNvdXJjZS8tL3BsdWdpbi10 cmFuc2Zvcm0tcmVhY3QtanN4LXNvdXJjZS03LjEwLjUudGd6IzM0ZjE3NzkxMTc1MjBhNzc5YzA1 NGYyY2RkOTY4MDQzNWI5MjIyYjQiCi0gIGludGVncml0eSBzaGE1MTItd1RlcUhWa04xbGZQTHVi UmlaSDNvNzNmNHJmb240MkhwZ3hVU3M4Nk5jKzhRSWNtL0I5czhOTlZYdS9nd0djT3lkN3lEaWI5 aWt4b0RMeEpQMFVpREE9PQorIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXJlYWN0LXB1cmUtYW5u b3RhdGlvbnNAXjcuMTIuMSI6CisgIHZlcnNpb24gIjcuMTIuMSIKKyAgcmVzb2x2ZWQgImh0dHBz Oi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tcmVhY3QtcHVy ZS1hbm5vdGF0aW9ucy8tL3BsdWdpbi10cmFuc2Zvcm0tcmVhY3QtcHVyZS1hbm5vdGF0aW9ucy03 LjEyLjEudGd6IzA1ZDQ2ZjBhYjRkMTMzOWFjNTlhZGYyMGExNDYyYzkxYjM3YTFhNDIiCisgIGlu dGVncml0eSBzaGE1MTItUnFlYUhpd1p0cGhTSVVaNUk4NVBFSDE5TE9TenhmdUVhem9ZNy9wV0FT Q0FJQnVBVFF6cFNWRCtlVDZNZWJlZVpUMkY0ZVNMMHU0dnc2bjRObTBNamc9PQogICBkZXBlbmRl bmNpZXM6CisgICAgIkBiYWJlbC9oZWxwZXItYW5ub3RhdGUtYXMtcHVyZSIgIl43LjEwLjQiCiAg ICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIKLSAgICAiQGJhYmVsL3Bs dWdpbi1zeW50YXgtanN4IiAiXjcuMTAuNCIKIAotIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXJl YWN0LWpzeEBeNy4xMC40IjoKLSAgdmVyc2lvbiAiNy4xMC40IgotICByZXNvbHZlZCAiaHR0cHM6 Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1yZWFjdC1qc3gv LS9wbHVnaW4tdHJhbnNmb3JtLXJlYWN0LWpzeC03LjEwLjQudGd6IzY3M2M5ZjkxMzk0ODc2NGE0 NDIxNjgzYjJiZWYyOTM2OTY4ZmRkZjIiCi0gIGludGVncml0eSBzaGE1MTItTCtNZlJoV2pYMGVJ N0pzMDkzTU02TWFjS1U0TTZkbkNSYS9RUER3WU14amxqelNDenpsekt6ajlQazRQM090clBjeHIy TjN6blI0MTlucjNYdys2NUE9PQorIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXJlZ2VuZXJhdG9y QF43LjEyLjEiOgorICB2ZXJzaW9uICI3LjEyLjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lz dHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXJlZ2VuZXJhdG9yLy0vcGx1 Z2luLXRyYW5zZm9ybS1yZWdlbmVyYXRvci03LjEyLjEudGd6IzVmMGEyOGQ4NDJmNjQ2MjI4MWYw NmE5NjRlODhiYThkN2FiNDk3NTMiCisgIGludGVncml0eSBzaGE1MTItZ1lySHFzNWl0dzZpNFBm bEZYM09kQlBNUWRQYkY0YmoyUkVJVXhsTVJVRmswL1pPQUlwREZ1Vml1eFBqVUw3WUM4VVBuZitY RzcvdXRKdnFYZFBLbmc9PQogICBkZXBlbmRlbmNpZXM6Ci0gICAgIkBiYWJlbC9oZWxwZXItYnVp bGRlci1yZWFjdC1qc3giICJeNy4xMC40IgotICAgICJAYmFiZWwvaGVscGVyLWJ1aWxkZXItcmVh Y3QtanN4LWV4cGVyaW1lbnRhbCIgIl43LjEwLjQiCi0gICAgIkBiYWJlbC9oZWxwZXItcGx1Z2lu LXV0aWxzIiAiXjcuMTAuNCIKLSAgICAiQGJhYmVsL3BsdWdpbi1zeW50YXgtanN4IiAiXjcuMTAu NCIKKyAgICByZWdlbmVyYXRvci10cmFuc2Zvcm0gIl4wLjE0LjIiCiAKLSJAYmFiZWwvcGx1Z2lu LXRyYW5zZm9ybS1yZWFjdC1wdXJlLWFubm90YXRpb25zQF43LjEwLjQiOgotICB2ZXJzaW9uICI3 LjEwLjQiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9w bHVnaW4tdHJhbnNmb3JtLXJlYWN0LXB1cmUtYW5ub3RhdGlvbnMvLS9wbHVnaW4tdHJhbnNmb3Jt LXJlYWN0LXB1cmUtYW5ub3RhdGlvbnMtNy4xMC40LnRneiMzZWVmYmI3M2RiOTRhZmJjMDc1ZjA5 NzUyM2U0NDUzNTRhMWM2NTAxIgotICBpbnRlZ3JpdHkgc2hhNTEyLStualprcWNPdVM4UmFQYWty blI5S3Z4am9HMUFTSldwb0l2L2RveVduZ0lkODhKb0ZsUGxJU2VuR1hqclZhY1pVSUFMR1VyNmVv ZFJzMXZtUG5GMjNBPT0KKyJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1yZXNlcnZlZC13b3Jkc0Be Ny4xMi4xIjoKKyAgdmVyc2lvbiAiNy4xMi4xIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3Ry eS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1yZXNlcnZlZC13b3Jkcy8tL3Bs dWdpbi10cmFuc2Zvcm0tcmVzZXJ2ZWQtd29yZHMtNy4xMi4xLnRneiM2ZmRmYzhjYzdlZGNjNDJi MzZhN2MxMjE4OGM2Nzg3Yzg3M2FkY2Q4IgorICBpbnRlZ3JpdHkgc2hhNTEyLXBPblVmaHlQS3Za cFZ5QkhoU0JvWDh2ZkEwOWI3cjAwUG1tMXNIKzI5YWUyaE1US1ZtU3A0WnRzcjhLQktqTGp4MTdI MGVKcWFSQzNiUjJpVGhNNTRBPT0KICAgZGVwZW5kZW5jaWVzOgotICAgICJAYmFiZWwvaGVscGVy LWFubm90YXRlLWFzLXB1cmUiICJeNy4xMC40IgogICAgICJAYmFiZWwvaGVscGVyLXBsdWdpbi11 dGlscyIgIl43LjEwLjQiCiAKLSJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1yZWdlbmVyYXRvckBe Ny40LjUiOgotICB2ZXJzaW9uICI3LjEwLjQiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5 Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXJlZ2VuZXJhdG9yLy0vcGx1Z2lu LXRyYW5zZm9ybS1yZWdlbmVyYXRvci03LjEwLjQudGd6IzIwMTVlNTlkODM5MDc0ZTc2ODM4ZGUy MTU5ZGI0MjE5NjZmZDhiNjMiCi0gIGludGVncml0eSBzaGE1MTItM3RoQUh3dG9yMzlBN0MwNFh1 Y2JNZzE3UmNaM1FwcGZ4cjIyd1l6Wk5jVklrUEhmcE05SjBTTzh6dUNWNlNaYTI2NWt4QkpTcmZL VHZEQ1lxQkZYR3c9PQorIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXNob3J0aGFuZC1wcm9wZXJ0 aWVzQF43LjEyLjEiOgorICB2ZXJzaW9uICI3LjEyLjEiCisgIHJlc29sdmVkICJodHRwczovL3Jl Z2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXNob3J0aGFuZC1wcm9w ZXJ0aWVzLy0vcGx1Z2luLXRyYW5zZm9ybS1zaG9ydGhhbmQtcHJvcGVydGllcy03LjEyLjEudGd6 IzBiZjljYWM1NTUwZmNlMGNmZGYwNDM0MjBmNjYxZDY0NWZkYzc1ZTMiCisgIGludGVncml0eSBz aGE1MTItR0ZaUzNjL01oWDFPdXNxQjFNWjFjdDJ4UnpYNXBwUWgySlUxaDJQbmZrODhIdEZUTStU V1FxSk5md2tteHRQUXRiL3MxdGs4N29FTmZYSmx4N3JTRHc9PQogICBkZXBlbmRlbmNpZXM6Ci0g ICAgcmVnZW5lcmF0b3ItdHJhbnNmb3JtICJeMC4xNC4yIgorICAgICJAYmFiZWwvaGVscGVyLXBs dWdpbi11dGlscyIgIl43LjEwLjQiCiAKLSJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1yZXNlcnZl ZC13b3Jkc0BeNy4yLjAiOgotICB2ZXJzaW9uICI3LjEwLjQiCi0gIHJlc29sdmVkICJodHRwczov L3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXJlc2VydmVkLXdv cmRzLy0vcGx1Z2luLXRyYW5zZm9ybS1yZXNlcnZlZC13b3Jkcy03LjEwLjQudGd6IzhmMjY4MmJj ZGNlZjllZDMyN2UxYjA4NjE1ODVkNzAxM2Y4YTU0ZGQiCi0gIGludGVncml0eSBzaGE1MTItaEdz dzFPNlJldzFma0ZiREltWklFcUE4R29pZHdUQWlsd0N5V3FMQk05ZitlL3Uvc1FNUXU3dVg2ZHlv a2ZPYXlSdXVWZktPVzRPN0h2YUJXTStKbFE9PQorIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXNw cmVhZEBeNy4xMi4xIjoKKyAgdmVyc2lvbiAiNy4xMi4xIgorICByZXNvbHZlZCAiaHR0cHM6Ly9y ZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1zcHJlYWQvLS9wbHVn aW4tdHJhbnNmb3JtLXNwcmVhZC03LjEyLjEudGd6IzUyN2Y5ZjMxMWJlNGVjN2ZkYzJiNzliYjg5 ZjdiZjg4NGIzZTFlMWUiCisgIGludGVncml0eSBzaGE1MTItdnVMcDhDUDBCRTE4elZZanNFQlo1 eG9DZWNNSzZMQk1NeFl6Sm5oMDFyeFFSdmhOaEgxY3NNTW1CZk5vNXRHcEdPK05oZFNOVzJtekl2 QnUzSzFmbmc9PQogICBkZXBlbmRlbmNpZXM6CiAgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0 aWxzIiAiXjcuMTAuNCIKKyAgICAiQGJhYmVsL2hlbHBlci1za2lwLXRyYW5zcGFyZW50LWV4cHJl c3Npb24td3JhcHBlcnMiICJeNy4xMi4xIgogCi0iQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tc2hv cnRoYW5kLXByb3BlcnRpZXNAXjcuMi4wIjoKLSAgdmVyc2lvbiAiNy4xMC40IgotICByZXNvbHZl ZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1z aG9ydGhhbmQtcHJvcGVydGllcy8tL3BsdWdpbi10cmFuc2Zvcm0tc2hvcnRoYW5kLXByb3BlcnRp ZXMtNy4xMC40LnRneiM5ZmQyNWVjNWNkZDU1NWJiN2Y0NzNlNWU2ZWUxYzk3MWVlZGU0ZGQ2Igot ICBpbnRlZ3JpdHkgc2hhNTEyLUFDMksvdDdvMDdLZVRJeE1vSG5leVg5MHYzemttNWNqSEpFb2ty UEVBR0V5M1VDcDhzTEtmbmZPSUdkWjE5NGZ5TjR3ZlgvelpVV1Q5dHJKWjBxYytRPT0KKyJAYmFi ZWwvcGx1Z2luLXRyYW5zZm9ybS1zdGlja3ktcmVnZXhAXjcuMTIuNyI6CisgIHZlcnNpb24gIjcu MTIuNyIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3Bs dWdpbi10cmFuc2Zvcm0tc3RpY2t5LXJlZ2V4Ly0vcGx1Z2luLXRyYW5zZm9ybS1zdGlja3ktcmVn ZXgtNy4xMi43LnRneiM1NjAyMjQ2MTNhYjIzOTg3NDUzOTQ4ZWQyMWQwYjBiMTkzZmE3ZmFkIgor ICBpbnRlZ3JpdHkgc2hhNTEyLVZFaXFaTDVOL1F2RGJkamZZUUJocnVOMEhZalNQakM0WGtlcVc0 bnkvak50SDlnY2JnYXFCSVhZRVpDTm5FU01BR3MwL0svUjdvRkdNaE95dS9lSXhnPT0KICAgZGVw ZW5kZW5jaWVzOgogICAgICJAYmFiZWwvaGVscGVyLXBsdWdpbi11dGlscyIgIl43LjEwLjQiCiAK LSJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1zcHJlYWRAXjcuNi4yIjoKLSAgdmVyc2lvbiAiNy4x MS4wIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcGx1 Z2luLXRyYW5zZm9ybS1zcHJlYWQvLS9wbHVnaW4tdHJhbnNmb3JtLXNwcmVhZC03LjExLjAudGd6 I2ZhODRkMzAwZjVlNGY1Nzc1MmZlNDFhNmQxYjNjNTU0ZjEzZjE3Y2MiCi0gIGludGVncml0eSBz aGE1MTItVXdRWUdPcUlkUUplNGFXTnlTN25vcUFuTjJWYmFjelBMaUV0bG4relBvd1JObEQrNzl3 M29pMlRXZlllMGVaZ2QrZ2paQ2JzeWRON2x6V3lzRHQrZ3c9PQorIkBiYWJlbC9wbHVnaW4tdHJh bnNmb3JtLXRlbXBsYXRlLWxpdGVyYWxzQF43LjEyLjEiOgorICB2ZXJzaW9uICI3LjEyLjEiCisg IHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wbHVnaW4tdHJh bnNmb3JtLXRlbXBsYXRlLWxpdGVyYWxzLy0vcGx1Z2luLXRyYW5zZm9ybS10ZW1wbGF0ZS1saXRl cmFscy03LjEyLjEudGd6I2I0M2VjZTZlZDlhNzljMGM3MTExOWY1NzZkMjk5ZWYwOWQ5NDI4NDMi CisgIGludGVncml0eSBzaGE1MTItYjRaeDNLSGkrdGFYQjFkVlJCaFZKdEVQaTloMVRIQ2VLbWFl MnFQMFlkVUhJRmhWanRwcXFOZnhlVkFhMXhlSFZoQXk0U2JIeEV3eDVjbHRBdTVhcHc9PQogICBk ZXBlbmRlbmNpZXM6CiAgICAgIkBiYWJlbC9oZWxwZXItcGx1Z2luLXV0aWxzIiAiXjcuMTAuNCIK LSAgICAiQGJhYmVsL2hlbHBlci1za2lwLXRyYW5zcGFyZW50LWV4cHJlc3Npb24td3JhcHBlcnMi ICJeNy4xMS4wIgogCi0iQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tc3RpY2t5LXJlZ2V4QF43LjIu MCI6Ci0gIHZlcnNpb24gIjcuMTAuNCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFy bnBrZy5jb20vQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tc3RpY2t5LXJlZ2V4Ly0vcGx1Z2luLXRy YW5zZm9ybS1zdGlja3ktcmVnZXgtNy4xMC40LnRneiM4ZjM4ODllZTg2NTc1ODExMzBhMjlkOWNj OTFkN2M3M2I3YzRhMjhkIgotICBpbnRlZ3JpdHkgc2hhNTEyLURkeTNRWmZJYkVWMFZZY1Z0RkRD amVFNHh3VlRKV1RtVXRvckFKa242dS85MlovbldKTlYrbUlMeXFIS3JVeFhZS0EyRW9DaWxnb1Bl UHltS0w0RHZRPT0KKyJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS10eXBlb2Ytc3ltYm9sQF43LjEy LjEwIjoKKyAgdmVyc2lvbiAiNy4xMi4xMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnku eWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tdHlwZW9mLXN5bWJvbC8tL3BsdWdp bi10cmFuc2Zvcm0tdHlwZW9mLXN5bWJvbC03LjEyLjEwLnRneiNkZTAxYzRjOGY5NjU4MGJkMDBm MTgzMDcyYjBkMGVjZGNmMGRlYzRiIgorICBpbnRlZ3JpdHkgc2hhNTEyLUpRNkg4Um5zb2doLy9p anhzcENqYzIxWVBkM1ZMVm9ZdEF3djN6UW1xQXQ4WUdZVXRkbzV1c05oZGw0YjkvVmlyMmtQRlps Nm4xaDBQZlV6NGhKaGFBPT0KICAgZGVwZW5kZW5jaWVzOgogICAgICJAYmFiZWwvaGVscGVyLXBs dWdpbi11dGlscyIgIl43LjEwLjQiCi0gICAgIkBiYWJlbC9oZWxwZXItcmVnZXgiICJeNy4xMC40 IgogCi0iQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tdGVtcGxhdGUtbGl0ZXJhbHNAXjcuNC40IjoK LSAgdmVyc2lvbiAiNy4xMC41IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtn LmNvbS9AYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS10ZW1wbGF0ZS1saXRlcmFscy8tL3BsdWdpbi10 cmFuc2Zvcm0tdGVtcGxhdGUtbGl0ZXJhbHMtNy4xMC41LnRneiM3OGJjNWQ2MjZhNjY0MmRiMzMx MmQ5ZDBmMDAxZjVlNzYzOWZkZThjIgotICBpbnRlZ3JpdHkgc2hhNTEyLVYvbG5QR0liK0tUMTJP UWlrRHZnU3Vlc1JYMTRjazVGZkpYdDYrdFhoZGtKK1ZzZDBsRENWdEY2amNCNHJOQ2xZRnphQjJq dXNaK2xOSVNEazJtTU13PT0KKyJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS11bmljb2RlLWVzY2Fw ZXNAXjcuMTIuMSI6CisgIHZlcnNpb24gIjcuMTIuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVn aXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tdW5pY29kZS1lc2NhcGVz Ly0vcGx1Z2luLXRyYW5zZm9ybS11bmljb2RlLWVzY2FwZXMtNy4xMi4xLnRneiM1MjMyYjlmODFj Y2IwNzA3MGI3YzNjMzZjNjdhMWI3OGYxODQ1NzA5IgorICBpbnRlZ3JpdHkgc2hhNTEyLUk4Z05I SkxJYzdHZEFwbTd3a1ZuU3RXc3NQTmJTUk1QdGdIZG1IM3NSTTF6b3B6MDlVV1BTNHg1VjRuMXl6 L01JV1RWbko5c3A2SWt1WGRXTTR3KzJRPT0KICAgZGVwZW5kZW5jaWVzOgotICAgICJAYmFiZWwv aGVscGVyLWFubm90YXRlLWFzLXB1cmUiICJeNy4xMC40IgogICAgICJAYmFiZWwvaGVscGVyLXBs dWdpbi11dGlscyIgIl43LjEwLjQiCiAKLSJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS10eXBlb2Yt c3ltYm9sQF43LjIuMCI6Ci0gIHZlcnNpb24gIjcuMTAuNCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8v cmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tdHlwZW9mLXN5bWJv bC8tL3BsdWdpbi10cmFuc2Zvcm0tdHlwZW9mLXN5bWJvbC03LjEwLjQudGd6Izk1MDlmMWE3ZWVj MzFjNGVkYmZmZTEzN2MxNmNjMzNmZjBiYzViZmMiCi0gIGludGVncml0eSBzaGE1MTItUXFOZ1l3 dXVXMHkwSCtrVUUvR1dTUjQ1dC9jY1JoZTE0RnMvNFpSb3VOTlFzeWQ0bzNQRzRPdEhpSXJlcGJN MldLVUJEQVhLQ0FLL0xrNFZoelRhR0E9PQorIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXVuaWNv ZGUtcmVnZXhAXjcuMTIuMSI6CisgIHZlcnNpb24gIjcuMTIuMSIKKyAgcmVzb2x2ZWQgImh0dHBz Oi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tdW5pY29kZS1y ZWdleC8tL3BsdWdpbi10cmFuc2Zvcm0tdW5pY29kZS1yZWdleC03LjEyLjEudGd6I2NjOTY2MWY2 MTM5MGRiNWM2NWUzZmViYWNjZWZkNWM2YWMzZmFlY2IiCisgIGludGVncml0eSBzaGE1MTItU3FI NENsTm5naC96R3dIWk9PUU1URCtlOEZHV2V4SUxWK2VQTXlpREp0dEFXUmg1ZGhETDhyY2w1bFNn VTNIdWlxNlpuNnBXVE12ZFBBYjIxRHdkeWc9PQogICBkZXBlbmRlbmNpZXM6CisgICAgIkBiYWJl bC9oZWxwZXItY3JlYXRlLXJlZ2V4cC1mZWF0dXJlcy1wbHVnaW4iICJeNy4xMi4xIgogICAgICJA YmFiZWwvaGVscGVyLXBsdWdpbi11dGlscyIgIl43LjEwLjQiCiAKLSJAYmFiZWwvcGx1Z2luLXRy YW5zZm9ybS11bmljb2RlLXJlZ2V4QF43LjYuMiI6Ci0gIHZlcnNpb24gIjcuMTAuNCIKLSAgcmVz b2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3BsdWdpbi10cmFuc2Zv cm0tdW5pY29kZS1yZWdleC8tL3BsdWdpbi10cmFuc2Zvcm0tdW5pY29kZS1yZWdleC03LjEwLjQu dGd6I2U1NmQ3MWY5MjgyZmFjNmRiMDljODI3NDIwNTU1NzZkNWU2ZDgwYTgiCi0gIGludGVncml0 eSBzaGE1MTItd05mc2M0czhOMnFuSXdwTy9XUDJaaVN5amZwVGFtVDJDOVY5RkRIL0xqdWI5enc2 UDNTamtYY0ZtYzBSUVV0OTZrMmZtSXZ0bGEyTU1qZ1R3SUFDK0E9PQorIkBiYWJlbC9wcmVzZXQt ZW52QF43LjEwLjIiOgorICB2ZXJzaW9uICI3LjEyLjExIgorICByZXNvbHZlZCAiaHR0cHM6Ly9y ZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcHJlc2V0LWVudi8tL3ByZXNldC1lbnYtNy4xMi4x MS50Z3ojNTVkNWY3OTgxNDg3MzY1YzkzZGJiYzg0NTA3YjFjNzIxNWU4NTdmOSIKKyAgaW50ZWdy aXR5IHNoYTUxMi1qOFRiK0tLSVhLWWxEQlF5SU95NEJMeHp2MU5VT3dsSGZaNzRydlcrWjBHcDQv Y0kySU1EUEJXQWdXY2VHY0U3YWVwOW9MLzBLOW1semxNR3hBOHlOdz09CiAgIGRlcGVuZGVuY2ll czoKLSAgICAiQGJhYmVsL2hlbHBlci1jcmVhdGUtcmVnZXhwLWZlYXR1cmVzLXBsdWdpbiIgIl43 LjEwLjQiCisgICAgIkBiYWJlbC9jb21wYXQtZGF0YSIgIl43LjEyLjciCisgICAgIkBiYWJlbC9o ZWxwZXItY29tcGlsYXRpb24tdGFyZ2V0cyIgIl43LjEyLjUiCisgICAgIkBiYWJlbC9oZWxwZXIt bW9kdWxlLWltcG9ydHMiICJeNy4xMi41IgogICAgICJAYmFiZWwvaGVscGVyLXBsdWdpbi11dGls cyIgIl43LjEwLjQiCisgICAgIkBiYWJlbC9oZWxwZXItdmFsaWRhdG9yLW9wdGlvbiIgIl43LjEy LjExIgorICAgICJAYmFiZWwvcGx1Z2luLXByb3Bvc2FsLWFzeW5jLWdlbmVyYXRvci1mdW5jdGlv bnMiICJeNy4xMi4xIgorICAgICJAYmFiZWwvcGx1Z2luLXByb3Bvc2FsLWNsYXNzLXByb3BlcnRp ZXMiICJeNy4xMi4xIgorICAgICJAYmFiZWwvcGx1Z2luLXByb3Bvc2FsLWR5bmFtaWMtaW1wb3J0 IiAiXjcuMTIuMSIKKyAgICAiQGJhYmVsL3BsdWdpbi1wcm9wb3NhbC1leHBvcnQtbmFtZXNwYWNl LWZyb20iICJeNy4xMi4xIgorICAgICJAYmFiZWwvcGx1Z2luLXByb3Bvc2FsLWpzb24tc3RyaW5n cyIgIl43LjEyLjEiCisgICAgIkBiYWJlbC9wbHVnaW4tcHJvcG9zYWwtbG9naWNhbC1hc3NpZ25t ZW50LW9wZXJhdG9ycyIgIl43LjEyLjEiCisgICAgIkBiYWJlbC9wbHVnaW4tcHJvcG9zYWwtbnVs bGlzaC1jb2FsZXNjaW5nLW9wZXJhdG9yIiAiXjcuMTIuMSIKKyAgICAiQGJhYmVsL3BsdWdpbi1w cm9wb3NhbC1udW1lcmljLXNlcGFyYXRvciIgIl43LjEyLjciCisgICAgIkBiYWJlbC9wbHVnaW4t cHJvcG9zYWwtb2JqZWN0LXJlc3Qtc3ByZWFkIiAiXjcuMTIuMSIKKyAgICAiQGJhYmVsL3BsdWdp bi1wcm9wb3NhbC1vcHRpb25hbC1jYXRjaC1iaW5kaW5nIiAiXjcuMTIuMSIKKyAgICAiQGJhYmVs L3BsdWdpbi1wcm9wb3NhbC1vcHRpb25hbC1jaGFpbmluZyIgIl43LjEyLjciCisgICAgIkBiYWJl bC9wbHVnaW4tcHJvcG9zYWwtcHJpdmF0ZS1tZXRob2RzIiAiXjcuMTIuMSIKKyAgICAiQGJhYmVs L3BsdWdpbi1wcm9wb3NhbC11bmljb2RlLXByb3BlcnR5LXJlZ2V4IiAiXjcuMTIuMSIKKyAgICAi QGJhYmVsL3BsdWdpbi1zeW50YXgtYXN5bmMtZ2VuZXJhdG9ycyIgIl43LjguMCIKKyAgICAiQGJh YmVsL3BsdWdpbi1zeW50YXgtY2xhc3MtcHJvcGVydGllcyIgIl43LjEyLjEiCisgICAgIkBiYWJl bC9wbHVnaW4tc3ludGF4LWR5bmFtaWMtaW1wb3J0IiAiXjcuOC4wIgorICAgICJAYmFiZWwvcGx1 Z2luLXN5bnRheC1leHBvcnQtbmFtZXNwYWNlLWZyb20iICJeNy44LjMiCisgICAgIkBiYWJlbC9w bHVnaW4tc3ludGF4LWpzb24tc3RyaW5ncyIgIl43LjguMCIKKyAgICAiQGJhYmVsL3BsdWdpbi1z eW50YXgtbG9naWNhbC1hc3NpZ25tZW50LW9wZXJhdG9ycyIgIl43LjEwLjQiCisgICAgIkBiYWJl bC9wbHVnaW4tc3ludGF4LW51bGxpc2gtY29hbGVzY2luZy1vcGVyYXRvciIgIl43LjguMCIKKyAg ICAiQGJhYmVsL3BsdWdpbi1zeW50YXgtbnVtZXJpYy1zZXBhcmF0b3IiICJeNy4xMC40IgorICAg ICJAYmFiZWwvcGx1Z2luLXN5bnRheC1vYmplY3QtcmVzdC1zcHJlYWQiICJeNy44LjAiCisgICAg IkBiYWJlbC9wbHVnaW4tc3ludGF4LW9wdGlvbmFsLWNhdGNoLWJpbmRpbmciICJeNy44LjAiCisg ICAgIkBiYWJlbC9wbHVnaW4tc3ludGF4LW9wdGlvbmFsLWNoYWluaW5nIiAiXjcuOC4wIgorICAg ICJAYmFiZWwvcGx1Z2luLXN5bnRheC10b3AtbGV2ZWwtYXdhaXQiICJeNy4xMi4xIgorICAgICJA YmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1hcnJvdy1mdW5jdGlvbnMiICJeNy4xMi4xIgorICAgICJA YmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1hc3luYy10by1nZW5lcmF0b3IiICJeNy4xMi4xIgorICAg ICJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1ibG9jay1zY29wZWQtZnVuY3Rpb25zIiAiXjcuMTIu MSIKKyAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tYmxvY2stc2NvcGluZyIgIl43LjEyLjEx IgorICAgICJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1jbGFzc2VzIiAiXjcuMTIuMSIKKyAgICAi QGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tY29tcHV0ZWQtcHJvcGVydGllcyIgIl43LjEyLjEiCisg ICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWRlc3RydWN0dXJpbmciICJeNy4xMi4xIgorICAg ICJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1kb3RhbGwtcmVnZXgiICJeNy4xMi4xIgorICAgICJA YmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1kdXBsaWNhdGUta2V5cyIgIl43LjEyLjEiCisgICAgIkBi YWJlbC9wbHVnaW4tdHJhbnNmb3JtLWV4cG9uZW50aWF0aW9uLW9wZXJhdG9yIiAiXjcuMTIuMSIK KyAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tZm9yLW9mIiAiXjcuMTIuMSIKKyAgICAiQGJh YmVsL3BsdWdpbi10cmFuc2Zvcm0tZnVuY3Rpb24tbmFtZSIgIl43LjEyLjEiCisgICAgIkBiYWJl bC9wbHVnaW4tdHJhbnNmb3JtLWxpdGVyYWxzIiAiXjcuMTIuMSIKKyAgICAiQGJhYmVsL3BsdWdp bi10cmFuc2Zvcm0tbWVtYmVyLWV4cHJlc3Npb24tbGl0ZXJhbHMiICJeNy4xMi4xIgorICAgICJA YmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1tb2R1bGVzLWFtZCIgIl43LjEyLjEiCisgICAgIkBiYWJl bC9wbHVnaW4tdHJhbnNmb3JtLW1vZHVsZXMtY29tbW9uanMiICJeNy4xMi4xIgorICAgICJAYmFi ZWwvcGx1Z2luLXRyYW5zZm9ybS1tb2R1bGVzLXN5c3RlbWpzIiAiXjcuMTIuMSIKKyAgICAiQGJh YmVsL3BsdWdpbi10cmFuc2Zvcm0tbW9kdWxlcy11bWQiICJeNy4xMi4xIgorICAgICJAYmFiZWwv cGx1Z2luLXRyYW5zZm9ybS1uYW1lZC1jYXB0dXJpbmctZ3JvdXBzLXJlZ2V4IiAiXjcuMTIuMSIK KyAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tbmV3LXRhcmdldCIgIl43LjEyLjEiCisgICAg IkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLW9iamVjdC1zdXBlciIgIl43LjEyLjEiCisgICAgIkBi YWJlbC9wbHVnaW4tdHJhbnNmb3JtLXBhcmFtZXRlcnMiICJeNy4xMi4xIgorICAgICJAYmFiZWwv cGx1Z2luLXRyYW5zZm9ybS1wcm9wZXJ0eS1saXRlcmFscyIgIl43LjEyLjEiCisgICAgIkBiYWJl bC9wbHVnaW4tdHJhbnNmb3JtLXJlZ2VuZXJhdG9yIiAiXjcuMTIuMSIKKyAgICAiQGJhYmVsL3Bs dWdpbi10cmFuc2Zvcm0tcmVzZXJ2ZWQtd29yZHMiICJeNy4xMi4xIgorICAgICJAYmFiZWwvcGx1 Z2luLXRyYW5zZm9ybS1zaG9ydGhhbmQtcHJvcGVydGllcyIgIl43LjEyLjEiCisgICAgIkBiYWJl bC9wbHVnaW4tdHJhbnNmb3JtLXNwcmVhZCIgIl43LjEyLjEiCisgICAgIkBiYWJlbC9wbHVnaW4t dHJhbnNmb3JtLXN0aWNreS1yZWdleCIgIl43LjEyLjciCisgICAgIkBiYWJlbC9wbHVnaW4tdHJh bnNmb3JtLXRlbXBsYXRlLWxpdGVyYWxzIiAiXjcuMTIuMSIKKyAgICAiQGJhYmVsL3BsdWdpbi10 cmFuc2Zvcm0tdHlwZW9mLXN5bWJvbCIgIl43LjEyLjEwIgorICAgICJAYmFiZWwvcGx1Z2luLXRy YW5zZm9ybS11bmljb2RlLWVzY2FwZXMiICJeNy4xMi4xIgorICAgICJAYmFiZWwvcGx1Z2luLXRy YW5zZm9ybS11bmljb2RlLXJlZ2V4IiAiXjcuMTIuMSIKKyAgICAiQGJhYmVsL3ByZXNldC1tb2R1 bGVzIiAiXjAuMS4zIgorICAgICJAYmFiZWwvdHlwZXMiICJeNy4xMi4xMSIKKyAgICBjb3JlLWpz LWNvbXBhdCAiXjMuOC4wIgorICAgIHNlbXZlciAiXjUuNS4wIgogCi0iQGJhYmVsL3ByZXNldC1l bnZAfjcuNi4wIjoKLSAgdmVyc2lvbiAiNy42LjMiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lz dHJ5Lnlhcm5wa2cuY29tL0BiYWJlbC9wcmVzZXQtZW52Ly0vcHJlc2V0LWVudi03LjYuMy50Z3oj OWUxYmYwNWEyZTJkNjg3MDM2ZDI0YzQwZTQ2MzlkYzQ2Y2VmMjI3MSIKLSAgaW50ZWdyaXR5IHNo YTUxMi1DV1FrbjdFVm53emxPZFI1Tk9tMitwZmdTTkVabXZHak9obENIQkRxMEo4L0VTdHIrRytG dlBFaXo5QjU2ZFI2TW9pVUZqWGhmRTRoakxvQUtLSnRJUT09CisiQGJhYmVsL3ByZXNldC1tb2R1 bGVzQF4wLjEuMyI6CisgIHZlcnNpb24gIjAuMS40IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdp c3RyeS55YXJucGtnLmNvbS9AYmFiZWwvcHJlc2V0LW1vZHVsZXMvLS9wcmVzZXQtbW9kdWxlcy0w LjEuNC50Z3ojMzYyZjJiNjhjNjYyODQyOTcwZmRiNWUyNTRmZmM4ZmMxYzJlNDE1ZSIKKyAgaW50 ZWdyaXR5IHNoYTUxMi1KMzZOaHduZmR6cG1INDFNMURybmtrZ0FxaFphcXIvTkJkUGZRNjc3bUx6 bGFYbytvRGl2MWRleUNEdGdBaHo4cDMyOG90ZG9iMER1Nyt4Z0hHWmJLZz09CiAgIGRlcGVuZGVu Y2llczoKLSAgICAiQGJhYmVsL2hlbHBlci1tb2R1bGUtaW1wb3J0cyIgIl43LjAuMCIKICAgICAi QGJhYmVsL2hlbHBlci1wbHVnaW4tdXRpbHMiICJeNy4wLjAiCi0gICAgIkBiYWJlbC9wbHVnaW4t cHJvcG9zYWwtYXN5bmMtZ2VuZXJhdG9yLWZ1bmN0aW9ucyIgIl43LjIuMCIKLSAgICAiQGJhYmVs L3BsdWdpbi1wcm9wb3NhbC1keW5hbWljLWltcG9ydCIgIl43LjUuMCIKLSAgICAiQGJhYmVsL3Bs dWdpbi1wcm9wb3NhbC1qc29uLXN0cmluZ3MiICJeNy4yLjAiCi0gICAgIkBiYWJlbC9wbHVnaW4t cHJvcG9zYWwtb2JqZWN0LXJlc3Qtc3ByZWFkIiAiXjcuNi4yIgotICAgICJAYmFiZWwvcGx1Z2lu LXByb3Bvc2FsLW9wdGlvbmFsLWNhdGNoLWJpbmRpbmciICJeNy4yLjAiCi0gICAgIkBiYWJlbC9w bHVnaW4tcHJvcG9zYWwtdW5pY29kZS1wcm9wZXJ0eS1yZWdleCIgIl43LjYuMiIKLSAgICAiQGJh YmVsL3BsdWdpbi1zeW50YXgtYXN5bmMtZ2VuZXJhdG9ycyIgIl43LjIuMCIKLSAgICAiQGJhYmVs L3BsdWdpbi1zeW50YXgtZHluYW1pYy1pbXBvcnQiICJeNy4yLjAiCi0gICAgIkBiYWJlbC9wbHVn aW4tc3ludGF4LWpzb24tc3RyaW5ncyIgIl43LjIuMCIKLSAgICAiQGJhYmVsL3BsdWdpbi1zeW50 YXgtb2JqZWN0LXJlc3Qtc3ByZWFkIiAiXjcuMi4wIgotICAgICJAYmFiZWwvcGx1Z2luLXN5bnRh eC1vcHRpb25hbC1jYXRjaC1iaW5kaW5nIiAiXjcuMi4wIgotICAgICJAYmFiZWwvcGx1Z2luLXRy YW5zZm9ybS1hcnJvdy1mdW5jdGlvbnMiICJeNy4yLjAiCi0gICAgIkBiYWJlbC9wbHVnaW4tdHJh bnNmb3JtLWFzeW5jLXRvLWdlbmVyYXRvciIgIl43LjUuMCIKLSAgICAiQGJhYmVsL3BsdWdpbi10 cmFuc2Zvcm0tYmxvY2stc2NvcGVkLWZ1bmN0aW9ucyIgIl43LjIuMCIKLSAgICAiQGJhYmVsL3Bs dWdpbi10cmFuc2Zvcm0tYmxvY2stc2NvcGluZyIgIl43LjYuMyIKLSAgICAiQGJhYmVsL3BsdWdp bi10cmFuc2Zvcm0tY2xhc3NlcyIgIl43LjUuNSIKLSAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zv cm0tY29tcHV0ZWQtcHJvcGVydGllcyIgIl43LjIuMCIKLSAgICAiQGJhYmVsL3BsdWdpbi10cmFu c2Zvcm0tZGVzdHJ1Y3R1cmluZyIgIl43LjYuMCIKLSAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zv cm0tZG90YWxsLXJlZ2V4IiAiXjcuNi4yIgotICAgICJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1k dXBsaWNhdGUta2V5cyIgIl43LjUuMCIKLSAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tZXhw b25lbnRpYXRpb24tb3BlcmF0b3IiICJeNy4yLjAiCi0gICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNm b3JtLWZvci1vZiIgIl43LjQuNCIKLSAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tZnVuY3Rp b24tbmFtZSIgIl43LjQuNCIKLSAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tbGl0ZXJhbHMi ICJeNy4yLjAiCi0gICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLW1lbWJlci1leHByZXNzaW9u LWxpdGVyYWxzIiAiXjcuMi4wIgotICAgICJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1tb2R1bGVz LWFtZCIgIl43LjUuMCIKLSAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tbW9kdWxlcy1jb21t b25qcyIgIl43LjYuMCIKLSAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tbW9kdWxlcy1zeXN0 ZW1qcyIgIl43LjUuMCIKLSAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tbW9kdWxlcy11bWQi ICJeNy4yLjAiCi0gICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLW5hbWVkLWNhcHR1cmluZy1n cm91cHMtcmVnZXgiICJeNy42LjMiCi0gICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLW5ldy10 YXJnZXQiICJeNy40LjQiCi0gICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLW9iamVjdC1zdXBl ciIgIl43LjUuNSIKLSAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tcGFyYW1ldGVycyIgIl43 LjQuNCIKLSAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tcHJvcGVydHktbGl0ZXJhbHMiICJe Ny4yLjAiCi0gICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXJlZ2VuZXJhdG9yIiAiXjcuNC41 IgotICAgICJAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1yZXNlcnZlZC13b3JkcyIgIl43LjIuMCIK LSAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tc2hvcnRoYW5kLXByb3BlcnRpZXMiICJeNy4y LjAiCi0gICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXNwcmVhZCIgIl43LjYuMiIKLSAgICAi QGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tc3RpY2t5LXJlZ2V4IiAiXjcuMi4wIgotICAgICJAYmFi ZWwvcGx1Z2luLXRyYW5zZm9ybS10ZW1wbGF0ZS1saXRlcmFscyIgIl43LjQuNCIKLSAgICAiQGJh YmVsL3BsdWdpbi10cmFuc2Zvcm0tdHlwZW9mLXN5bWJvbCIgIl43LjIuMCIKLSAgICAiQGJhYmVs L3BsdWdpbi10cmFuc2Zvcm0tdW5pY29kZS1yZWdleCIgIl43LjYuMiIKLSAgICAiQGJhYmVsL3R5 cGVzIiAiXjcuNi4zIgotICAgIGJyb3dzZXJzbGlzdCAiXjQuNi4wIgotICAgIGNvcmUtanMtY29t cGF0ICJeMy4xLjEiCi0gICAgaW52YXJpYW50ICJeMi4yLjIiCi0gICAganMtbGV2ZW5zaHRlaW4g Il4xLjEuMyIKLSAgICBzZW12ZXIgIl41LjUuMCIKKyAgICAiQGJhYmVsL3BsdWdpbi1wcm9wb3Nh bC11bmljb2RlLXByb3BlcnR5LXJlZ2V4IiAiXjcuNC40IgorICAgICJAYmFiZWwvcGx1Z2luLXRy YW5zZm9ybS1kb3RhbGwtcmVnZXgiICJeNy40LjQiCisgICAgIkBiYWJlbC90eXBlcyIgIl43LjQu NCIKKyAgICBlc3V0aWxzICJeMi4wLjIiCiAKICJAYmFiZWwvcHJlc2V0LXJlYWN0QF43LjEwLjQi OgotICB2ZXJzaW9uICI3LjEwLjQiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5w a2cuY29tL0BiYWJlbC9wcmVzZXQtcmVhY3QvLS9wcmVzZXQtcmVhY3QtNy4xMC40LnRneiM5MmU4 YTY2ZDgxNmY5OTExZDExZDRjYzkzNWJlNjdhZGZjODJkYmNmIgotICBpbnRlZ3JpdHkgc2hhNTEy LUJySHA0VGdPSXk0TTE5SkFmTzFMaHljVlhPUFdkRGJUUmVwN2VWeWF0ZjE3NEhmZis2VWs1M3NE eWFqcVpQdThXMXFYUkJpWU9mSWFtZWs2akE3WVZ3PT0KKyAgdmVyc2lvbiAiNy4xMi4xMCIKKyAg cmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGJhYmVsL3ByZXNldC1yZWFj dC8tL3ByZXNldC1yZWFjdC03LjEyLjEwLnRneiM0ZmVkNjVmMjk2Y2JiMGY1ZmIwOWRlNmJlOGNk ZGM4NWNjOTA5YmU5IgorICBpbnRlZ3JpdHkgc2hhNTEyLXZ0UU5qYUhSbDREVXBwK3QrZzR3dlRI c0xRdXllK24wSC93c1hJWlJuNjlvei9mdk5DN2dRNElLNzN6R0pCYXh2SG94RWxEdm5ZQ3RoTWNU N3V6Rm9RPT0KICAgZGVwZW5kZW5jaWVzOgogICAgICJAYmFiZWwvaGVscGVyLXBsdWdpbi11dGls cyIgIl43LjEwLjQiCi0gICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXJlYWN0LWRpc3BsYXkt bmFtZSIgIl43LjEwLjQiCi0gICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXJlYWN0LWpzeCIg Il43LjEwLjQiCi0gICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXJlYWN0LWpzeC1kZXZlbG9w bWVudCIgIl43LjEwLjQiCi0gICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXJlYWN0LWpzeC1z ZWxmIiAiXjcuMTAuNCIKLSAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tcmVhY3QtanN4LXNv dXJjZSIgIl43LjEwLjQiCi0gICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXJlYWN0LXB1cmUt YW5ub3RhdGlvbnMiICJeNy4xMC40IgotCi0iQGJhYmVsL3J1bnRpbWVAXjcuOC40IjoKLSAgdmVy c2lvbiAiNy4xMS4yIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9A YmFiZWwvcnVudGltZS8tL3J1bnRpbWUtNy4xMS4yLnRneiNmNTQ5YzEzYzc1NGNjNDBiODc2NDRi OWZhOWYwOWE2YTk1ZmUwNzM2IgotICBpbnRlZ3JpdHkgc2hhNTEyLVRlV2tVNTJzbzBtUHREY2FD VHhOQkkvSUhpejBwWmdyOFZFRnFYRnRaV3BZRDA4WkI2RmFTd1ZBUzhNS1JRQVAzYllLaVZqd3lz T0pnTUZZMjhvNlR3PT0KKyAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tcmVhY3QtZGlzcGxh eS1uYW1lIiAiXjcuMTIuMSIKKyAgICAiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tcmVhY3QtanN4 IiAiXjcuMTIuMTAiCisgICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXJlYWN0LWpzeC1kZXZl bG9wbWVudCIgIl43LjEyLjciCisgICAgIkBiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLXJlYWN0LXB1 cmUtYW5ub3RhdGlvbnMiICJeNy4xMi4xIgorCisiQGJhYmVsL3J1bnRpbWUtY29yZWpzM0BeNy45 LjYiOgorICB2ZXJzaW9uICI3LjEyLjUiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlh cm5wa2cuY29tL0BiYWJlbC9ydW50aW1lLWNvcmVqczMvLS9ydW50aW1lLWNvcmVqczMtNy4xMi41 LnRneiNmZmVlOTFkYTBlYjRjNmRhZTA4MDc3NGU5NGJhNjA2MzY4ZTQxNGY0IgorICBpbnRlZ3Jp dHkgc2hhNTEyLXJvR3I1NENzVG1OUFB6Wm9DUDFBbURYdUJvTmFvN3RuU0E4M1RYVHd0K1VLNVFW eWgxRElKbnJnWVJQV0tDRjJmbHFaUVh3YTdZcjh2N1ZtTHpGMFlRPT0KICAgZGVwZW5kZW5jaWVz OgorICAgIGNvcmUtanMtcHVyZSAiXjMuMC4wIgogICAgIHJlZ2VuZXJhdG9yLXJ1bnRpbWUgIl4w LjEzLjQiCiAKLSJAYmFiZWwvdGVtcGxhdGVAXjcuMTAuNCIsICJAYmFiZWwvdGVtcGxhdGVAXjcu Ni4wIjoKLSAgdmVyc2lvbiAiNy4xMC40IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55 YXJucGtnLmNvbS9AYmFiZWwvdGVtcGxhdGUvLS90ZW1wbGF0ZS03LjEwLjQudGd6IzMyNTE5OTZj NDIwMGViYzcxZDFhOGZjNDA1ZmJhOTQwZjM2YmEyNzgiCi0gIGludGVncml0eSBzaGE1MTItWkNq RDI3Y0dKRlVCNm5tQ0IxRW5raTNyK0w1a0p2ZVg5cHExU3ZBVUtvSUN5NkNaOXlEOHhPMDg2WVhk WWh2TmpCZG5la200Wm5hUDV5QzhDcy8xdEE9PQorIkBiYWJlbC9ydW50aW1lQF43LjUuNSIsICJA YmFiZWwvcnVudGltZUBeNy43LjIiLCAiQGJhYmVsL3J1bnRpbWVAXjcuOC40IjoKKyAgdmVyc2lv biAiNy4xMi41IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFi ZWwvcnVudGltZS8tL3J1bnRpbWUtNy4xMi41LnRneiM0MTBlN2U0ODc0NDFlMWIzNjBjMjliZTcx NWQ4NzBkOWI5ODU4ODJlIgorICBpbnRlZ3JpdHkgc2hhNTEyLXBsY2MraGJFeHkzTWNjaEpDRVFH M2tuT3N1aDNISCtQcngxUDZjTElrRVQvMGRMdVFERW5yVCtzMjdBeGdjOWJxZnNtTlVOSGZzY2dN VWRCcEM5eGZnPT0KICAgZGVwZW5kZW5jaWVzOgotICAgICJAYmFiZWwvY29kZS1mcmFtZSIgIl43 LjEwLjQiCi0gICAgIkBiYWJlbC9wYXJzZXIiICJeNy4xMC40IgotICAgICJAYmFiZWwvdHlwZXMi ICJeNy4xMC40IgorICAgIHJlZ2VuZXJhdG9yLXJ1bnRpbWUgIl4wLjEzLjQiCiAKLSJAYmFiZWwv dHJhdmVyc2VAXjcuMTAuNCIsICJAYmFiZWwvdHJhdmVyc2VAXjcuMTEuNSIsICJAYmFiZWwvdHJh dmVyc2VAXjcuNi4zIjoKLSAgdmVyc2lvbiAiNy4xMS41IgotICByZXNvbHZlZCAiaHR0cHM6Ly9y ZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvdHJhdmVyc2UvLS90cmF2ZXJzZS03LjExLjUudGd6 I2JlNzc3YjkzYjUxOGViNmQ3NmVlMmUxZWExZDE0M2RhYTExZTYxYzMiCi0gIGludGVncml0eSBz aGE1MTItRWppUFh0K3I3TGlDWlhFZlJwU0pkK2pVTW5CZDQvOU9VdjdOeDMrMHU5K2VpbU13Sm1H MFE5OGx3NC8yODlKQ294U0U4T29sRE1OWmFhRi9KWjY5V1E9PQorIkBiYWJlbC90ZW1wbGF0ZUBe Ny4xMC40IiwgIkBiYWJlbC90ZW1wbGF0ZUBeNy4xMi43IjoKKyAgdmVyc2lvbiAiNy4xMi43Igor ICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvdGVtcGxhdGUv LS90ZW1wbGF0ZS03LjEyLjcudGd6I2M4MTcyMzM2OTYwMThlMzlmYmI2YzQ5MWQyZmI2ODRlMDVl ZDQzYmMiCisgIGludGVncml0eSBzaGE1MTItR2tEem1IUzZHVjdaZVhmSlowdExSQmhaY01jWTAv TG5iK2VFYlhEQmZDQWNaQ2pyWktlNnAzSjR3ZS9EMjRPOVk4ZW54V0FnMWNXd29mNTl5TGgyb3c9 PQogICBkZXBlbmRlbmNpZXM6CiAgICAgIkBiYWJlbC9jb2RlLWZyYW1lIiAiXjcuMTAuNCIKLSAg ICAiQGJhYmVsL2dlbmVyYXRvciIgIl43LjExLjUiCi0gICAgIkBiYWJlbC9oZWxwZXItZnVuY3Rp b24tbmFtZSIgIl43LjEwLjQiCi0gICAgIkBiYWJlbC9oZWxwZXItc3BsaXQtZXhwb3J0LWRlY2xh cmF0aW9uIiAiXjcuMTEuMCIKLSAgICAiQGJhYmVsL3BhcnNlciIgIl43LjExLjUiCi0gICAgIkBi YWJlbC90eXBlcyIgIl43LjExLjUiCisgICAgIkBiYWJlbC9wYXJzZXIiICJeNy4xMi43IgorICAg ICJAYmFiZWwvdHlwZXMiICJeNy4xMi43IgorCisiQGJhYmVsL3RyYXZlcnNlQF43LjEwLjQiLCAi QGJhYmVsL3RyYXZlcnNlQF43LjEyLjEiLCAiQGJhYmVsL3RyYXZlcnNlQF43LjEyLjEwIiwgIkBi YWJlbC90cmF2ZXJzZUBeNy4xMi41IiwgIkBiYWJlbC90cmF2ZXJzZUBeNy43LjAiOgorICB2ZXJz aW9uICI3LjEyLjEyIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9A YmFiZWwvdHJhdmVyc2UvLS90cmF2ZXJzZS03LjEyLjEyLnRneiNkMGNkODc4OTI3MDRlZGQ4ZGEw MDJkNjc0YmM4MTFjZTY0NzQzMzc2IgorICBpbnRlZ3JpdHkgc2hhNTEyLXM4OGkwWDBsUHk0NVJy TE04YjltejhSUEg1RnFPOUc5cDd0aTU5Y1RvRTQ0eEZtMVErUGpoNUdxNFNYQmJ0Yjg4WDdVeTdw ZXhlcVJJUURETU5rTDB3PT0KKyAgZGVwZW5kZW5jaWVzOgorICAgICJAYmFiZWwvY29kZS1mcmFt ZSIgIl43LjEyLjExIgorICAgICJAYmFiZWwvZ2VuZXJhdG9yIiAiXjcuMTIuMTEiCisgICAgIkBi YWJlbC9oZWxwZXItZnVuY3Rpb24tbmFtZSIgIl43LjEyLjExIgorICAgICJAYmFiZWwvaGVscGVy LXNwbGl0LWV4cG9ydC1kZWNsYXJhdGlvbiIgIl43LjEyLjExIgorICAgICJAYmFiZWwvcGFyc2Vy IiAiXjcuMTIuMTEiCisgICAgIkBiYWJlbC90eXBlcyIgIl43LjEyLjEyIgogICAgIGRlYnVnICJe NC4xLjAiCiAgICAgZ2xvYmFscyAiXjExLjEuMCIKICAgICBsb2Rhc2ggIl40LjE3LjE5IgogCi0i QGJhYmVsL3R5cGVzQF43LjEwLjQiLCAiQGJhYmVsL3R5cGVzQF43LjEwLjUiLCAiQGJhYmVsL3R5 cGVzQF43LjExLjAiLCAiQGJhYmVsL3R5cGVzQF43LjExLjUiLCAiQGJhYmVsL3R5cGVzQF43LjYu MyI6Ci0gIHZlcnNpb24gIjcuMTEuNSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFy bnBrZy5jb20vQGJhYmVsL3R5cGVzLy0vdHlwZXMtNy4xMS41LnRneiNkOWRlNTc3ZDAxMjUyZDc3 YzY4MDBjZWUwMzllZTY0ZmFmNzU2NjJkIgotICBpbnRlZ3JpdHkgc2hhNTEyLWJ2TTdRejZlS25K VkZJbisxTFB0amxCRlBWTjVqTkRjMVhtTjE1dldlN1EzRFBCdWZXV3NMaUl2VXU3eFc4N3VURzZR b2dncElEblVnTFF2UGhlVStRPT0KKyJAYmFiZWwvdHlwZXNAXjcuMTAuNCIsICJAYmFiZWwvdHlw ZXNAXjcuMTAuNSIsICJAYmFiZWwvdHlwZXNAXjcuMTIuMSIsICJAYmFiZWwvdHlwZXNAXjcuMTIu MTAiLCAiQGJhYmVsL3R5cGVzQF43LjEyLjExIiwgIkBiYWJlbC90eXBlc0BeNy4xMi4xMiIsICJA YmFiZWwvdHlwZXNAXjcuMTIuNSIsICJAYmFiZWwvdHlwZXNAXjcuMTIuNyIsICJAYmFiZWwvdHlw ZXNAXjcuNC40IiwgIkBiYWJlbC90eXBlc0BeNy43LjAiOgorICB2ZXJzaW9uICI3LjEyLjEyIgor ICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AYmFiZWwvdHlwZXMvLS90 eXBlcy03LjEyLjEyLnRneiM0NjA4YTZlYzMxM2FiYmQ4N2FmYTU1MDA0ZDM3M2FkMDRhOTZjMjk5 IgorICBpbnRlZ3JpdHkgc2hhNTEyLWxuSVg3cGlUeE9IMjJ4RTdmRFhEYlNIZzlNTTEvNk9SbmFm cEptb3Y1cnMwa1g1ZzRCWnhlWE5KTFhzTVJpTzBVNVJiOC9Gdk1TNnhsVG5USHZ4b25RPT0KICAg ZGVwZW5kZW5jaWVzOgotICAgICJAYmFiZWwvaGVscGVyLXZhbGlkYXRvci1pZGVudGlmaWVyIiAi XjcuMTAuNCIKKyAgICAiQGJhYmVsL2hlbHBlci12YWxpZGF0b3ItaWRlbnRpZmllciIgIl43LjEy LjExIgogICAgIGxvZGFzaCAiXjQuMTcuMTkiCiAgICAgdG8tZmFzdC1wcm9wZXJ0aWVzICJeMi4w LjAiCiAKKyJAZW1vdGlvbi9jYWNoZUBeMTAuMC4yNyI6CisgIHZlcnNpb24gIjEwLjAuMjkiCisg IHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BlbW90aW9uL2NhY2hlLy0v Y2FjaGUtMTAuMC4yOS50Z3ojODdlN2U2NGY0MTJjMDYwMTAyZDU4OWZlN2M2ZGMwNDJlNmY5ZDFl MCIKKyAgaW50ZWdyaXR5IHNoYTUxMi1mVTJWdFNWbEhpRjI3ZW1wU2J4aTFPMkpGZE5XWk8rMk5G SGZ3TzBweGdUZXA2WGEzdUdiKzNwVktmTHd3MmwvSUJHTE5FWmw1WGYvKytBNHdBWURZUT09Cisg IGRlcGVuZGVuY2llczoKKyAgICAiQGVtb3Rpb24vc2hlZXQiICIwLjkuNCIKKyAgICAiQGVtb3Rp b24vc3R5bGlzIiAiMC44LjUiCisgICAgIkBlbW90aW9uL3V0aWxzIiAiMC4xMS4zIgorICAgICJA ZW1vdGlvbi93ZWFrLW1lbW9pemUiICIwLjIuNSIKKworIkBlbW90aW9uL2NvcmVAXjEwLjAuMTQi OgorICB2ZXJzaW9uICIxMC4xLjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5w a2cuY29tL0BlbW90aW9uL2NvcmUvLS9jb3JlLTEwLjEuMS50Z3ojYzk1NmMxMzY1ZjJmMjQ4MTk2 MDA2NGJjYjhjNDczMmU1ZmI2MTJjMyIKKyAgaW50ZWdyaXR5IHNoYTUxMi1aTUxHNnFwWFI4eDAz MU5YRDhISnF1Z3kvQVpTa0F1TXh4cUI0NnBtQVI3emU0N01oTko1NmNkb1gyNDNRUFpkR2N0cmRm bytzMDh5WlRpd2FVY1JLQT09CisgIGRlcGVuZGVuY2llczoKKyAgICAiQGJhYmVsL3J1bnRpbWUi ICJeNy41LjUiCisgICAgIkBlbW90aW9uL2NhY2hlIiAiXjEwLjAuMjciCisgICAgIkBlbW90aW9u L2NzcyIgIl4xMC4wLjI3IgorICAgICJAZW1vdGlvbi9zZXJpYWxpemUiICJeMC4xMS4xNSIKKyAg ICAiQGVtb3Rpb24vc2hlZXQiICIwLjkuNCIKKyAgICAiQGVtb3Rpb24vdXRpbHMiICIwLjExLjMi CisKKyJAZW1vdGlvbi9jc3NAXjEwLjAuMjciOgorICB2ZXJzaW9uICIxMC4wLjI3IgorICByZXNv bHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AZW1vdGlvbi9jc3MvLS9jc3MtMTAu MC4yNy50Z3ojM2E3NDU4MTk4ZmJiZWJiNTNiMDFiMmI4N2Y2NGU1ZTIxMjQxZTE0YyIKKyAgaW50 ZWdyaXR5IHNoYTUxMi02d1pqc3ZZZUJoeVpRWU5yR29SNXlQTVliTUJORW5hbkRycW1zcVMxbXpE bTFjT1R1MTJzaHZsMmo0UUhOUzM2VWFURTBVU0lKYXdDSDlDOG9XMzRadz09CisgIGRlcGVuZGVu Y2llczoKKyAgICAiQGVtb3Rpb24vc2VyaWFsaXplIiAiXjAuMTEuMTUiCisgICAgIkBlbW90aW9u L3V0aWxzIiAiMC4xMS4zIgorICAgIGJhYmVsLXBsdWdpbi1lbW90aW9uICJeMTAuMC4yNyIKKwor IkBlbW90aW9uL2hhc2hAMC44LjAiOgorICB2ZXJzaW9uICIwLjguMCIKKyAgcmVzb2x2ZWQgImh0 dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGVtb3Rpb24vaGFzaC8tL2hhc2gtMC44LjAudGd6 I2JiYmZmNjg5NzhmZWZkYmU2OGNjYjUzM2JjOGNiZTFkMWFmYjU0MTMiCisgIGludGVncml0eSBz aGE1MTIta0JKdGY3UEg2YVd3WjZma2EzelEwcDZTQll6eDRmbDFMb1pYRTJScm5ZU1Q5WGxqbTdX ZktKclU0Zy9YcjNCZWc3Mk1McnAxQVdOVW11WUpUTDdDb3c9PQorCisiQGVtb3Rpb24vaXMtcHJv cC12YWxpZEAwLjguOCI6CisgIHZlcnNpb24gIjAuOC44IgorICByZXNvbHZlZCAiaHR0cHM6Ly9y ZWdpc3RyeS55YXJucGtnLmNvbS9AZW1vdGlvbi9pcy1wcm9wLXZhbGlkLy0vaXMtcHJvcC12YWxp ZC0wLjguOC50Z3ojZGIyOGIxYzQzNjhhMjU5YjYwYTk3MzExZDZhOTUyZDRmZDAxYWMxYSIKKyAg aW50ZWdyaXR5IHNoYTUxMi11NVd0bmVFQXI1SURHMld2NjV5aHVuUFNNTElwdUtzYnVPa3RSb2pm ckVpRXZSeUM4NUxnUE1aSTYzY3I3TlVxVDhaSUdkU1ZnOFpLR3hJdWc0bFhjQT09CisgIGRlcGVu ZGVuY2llczoKKyAgICAiQGVtb3Rpb24vbWVtb2l6ZSIgIjAuNy40IgorCisiQGVtb3Rpb24vbWVt b2l6ZUAwLjcuNCI6CisgIHZlcnNpb24gIjAuNy40IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdp c3RyeS55YXJucGtnLmNvbS9AZW1vdGlvbi9tZW1vaXplLy0vbWVtb2l6ZS0wLjcuNC50Z3ojMTli ZjBmNWFmMTkxNDkxMTFjNDBkOThiYjBjZjgyMTE5ZjVkOWVlYiIKKyAgaW50ZWdyaXR5IHNoYTUx Mi1KYS9WZnFlM0hwdXpSc0cxb0J0V1RIazJQR1o3R1IrMlZ6NWlZR2VsQXc4ZHgzMksweTdQalZ1 eEs2ejFuTXBaT3FBRnNSVVBDa0sxWWpKNTZxSmxndz09CisKKyJAZW1vdGlvbi9zZXJpYWxpemVA XjAuMTEuMTUiLCAiQGVtb3Rpb24vc2VyaWFsaXplQF4wLjExLjE2IjoKKyAgdmVyc2lvbiAiMC4x MS4xNiIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGVtb3Rpb24v c2VyaWFsaXplLy0vc2VyaWFsaXplLTAuMTEuMTYudGd6I2RlZTA1ZjllOTZhZDJmYjI1YTUyMDZi NmQ3NTliMmQxZWQzMzc5YWQiCisgIGludGVncml0eSBzaGE1MTItRzNKNG84YnkwVlJyTytQRmVT YzNqczJteVlOT1hWSjNZYStSR1Z4bnNoUllnc3ZFcmZBT2dsS0FpeTFFbzF2aHp4cXRVdmpDeVM1 Z3Rld3prbXZTU2c9PQorICBkZXBlbmRlbmNpZXM6CisgICAgIkBlbW90aW9uL2hhc2giICIwLjgu MCIKKyAgICAiQGVtb3Rpb24vbWVtb2l6ZSIgIjAuNy40IgorICAgICJAZW1vdGlvbi91bml0bGVz cyIgIjAuNy41IgorICAgICJAZW1vdGlvbi91dGlscyIgIjAuMTEuMyIKKyAgICBjc3N0eXBlICJe Mi41LjciCisKKyJAZW1vdGlvbi9zaGVldEAwLjkuNCI6CisgIHZlcnNpb24gIjAuOS40IgorICBy ZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AZW1vdGlvbi9zaGVldC8tL3No ZWV0LTAuOS40LnRneiM4OTQzNzRiZWEzOWVjMzBmNDg5YmJmYzM0MzgxOTJiOTc3NGQzMmU1Igor ICBpbnRlZ3JpdHkgc2hhNTEyLXpNOVBGbWdWU3FCdzR6TDEwMVEwSHJCVlRHbXBBeEZaSC9wWXgv Y2pKVDVhZHZYZ3V2Y2dqSEZUQ2FJTzNlbkwveHI4OXZLMmJoME1meWo5YWEwQU5BPT0KKworIkBl bW90aW9uL3N0eWxlZC1iYXNlQF4xMC4wLjI3IjoKKyAgdmVyc2lvbiAiMTAuMC4zMSIKKyAgcmVz b2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGVtb3Rpb24vc3R5bGVkLWJhc2Uv LS9zdHlsZWQtYmFzZS0xMC4wLjMxLnRneiM5NDA5NTdlZTBhYTE1YzY5NzRhZGM3ZDQ5NGZmMTk3 NjVhMmY3NDJhIgorICBpbnRlZ3JpdHkgc2hhNTEyLXdUT0UxTmNYbXFNV2x5cnR3ZGtxZzg3TXU2 UmoxTWF1a0VvRW1Fa0hpck81SW9IREo4TGdDUUw0TWpKT0RneFd4WGliR1Izb3BHcDFwN1l2a05F ZFhRPT0KKyAgZGVwZW5kZW5jaWVzOgorICAgICJAYmFiZWwvcnVudGltZSIgIl43LjUuNSIKKyAg ICAiQGVtb3Rpb24vaXMtcHJvcC12YWxpZCIgIjAuOC44IgorICAgICJAZW1vdGlvbi9zZXJpYWxp emUiICJeMC4xMS4xNSIKKyAgICAiQGVtb3Rpb24vdXRpbHMiICIwLjExLjMiCisKKyJAZW1vdGlv bi9zdHlsZWRAXjEwLjAuMTQiOgorICB2ZXJzaW9uICIxMC4wLjI3IgorICByZXNvbHZlZCAiaHR0 cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AZW1vdGlvbi9zdHlsZWQvLS9zdHlsZWQtMTAuMC4y Ny50Z3ojMTJjYjY3ZTkxZjdhZDc0MzFlMTg3NWIxZDgzYTk0YjgxNDEzM2VhZiIKKyAgaW50ZWdy aXR5IHNoYTUxMi1pSy84U2g3K05MSnp5cDlhNSt2SVFJWFRZeGZUNHlCL09KYmp6UWFuQjJSWnB2 bXpCUU9IWldocEFNWldZRUtSTk5ic0Q2V2ZCdzVzVldrYjZXelMvUT09CisgIGRlcGVuZGVuY2ll czoKKyAgICAiQGVtb3Rpb24vc3R5bGVkLWJhc2UiICJeMTAuMC4yNyIKKyAgICBiYWJlbC1wbHVn aW4tZW1vdGlvbiAiXjEwLjAuMjciCisKKyJAZW1vdGlvbi9zdHlsaXNAMC44LjUiOgorICB2ZXJz aW9uICIwLjguNSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGVt b3Rpb24vc3R5bGlzLy0vc3R5bGlzLTAuOC41LnRneiNkZWFjYjM4OWJkNmVlNzdkMWU3ZmNhY2Nj ZTllMTZjNWM3ZTc4ZTA0IgorICBpbnRlZ3JpdHkgc2hhNTEyLWg2S3RQaWhLRm4zVDlmdUlyd3ZY WFVPd2x4M3JmVXZmWkljUDVhNnJoOFk3empFM08wNmhUNVNzNFMvWUkxQVlodVoxa2phRS81RWFP T0kyTnFTeWxRPT0KKworIkBlbW90aW9uL3VuaXRsZXNzQDAuNy41IjoKKyAgdmVyc2lvbiAiMC43 LjUiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BlbW90aW9uL3Vu aXRsZXNzLy0vdW5pdGxlc3MtMC43LjUudGd6Izc3MjExMjkxYzE5MDBhNzAwYjhhNzhjZmFmZGEz MTYwZDc2OTQ5ZWQiCisgIGludGVncml0eSBzaGE1MTItT1dPUk5wZmpNc1NTVUJWclJCVkdFQ2to V2NVTE9BSno5Wlc4dUs5cWd4RCs4N003akhSY3ZoL0E5NlhYTmhYVExtS2NvWVNRdEJFWDdsSE1P N1lSd2c9PQorCisiQGVtb3Rpb24vdXRpbHNAMC4xMS4zIjoKKyAgdmVyc2lvbiAiMC4xMS4zIgor ICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AZW1vdGlvbi91dGlscy8t L3V0aWxzLTAuMTEuMy50Z3ojYTc1OTg2Mzg2N2JlZmE3ZTU4MzQwMGQzMjI2NTJhM2Y0NDgyMDky NCIKKyAgaW50ZWdyaXR5IHNoYTUxMi0wbzRsNnBaQytoSTg4K2J6dWFYLzZCZ092UVZoYnQyUGZt eGF1VmFZT0dnYnNBdzE0d2RLeXZNQ1pYbnNuc0h5czk0aWFkY0YrUkcvd1p5eDYrWlpCdz09CisK KyJAZW1vdGlvbi93ZWFrLW1lbW9pemVAMC4yLjUiOgorICB2ZXJzaW9uICIwLjIuNSIKKyAgcmVz b2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQGVtb3Rpb24vd2Vhay1tZW1vaXpl Ly0vd2Vhay1tZW1vaXplLTAuMi41LnRneiM4ZWVkOTgyZTJlZTZmN2Y0ZTQ0YzI1M2UxMjk2Mjk4 MDc5MWVmZDQ2IgorICBpbnRlZ3JpdHkgc2hhNTEyLTZVNzFDMldwN3I1WHRGdFF6WXJXNWlLRlQ2 N09peHJTeGpJNE1wdENIemRTVmxnYWJjenpxTGUwWlNnbnViLzVLcDRoU2JwREIxdE15dFpZOXB3 eHhBPT0KKwogIkBmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlQF41LjE0LjAiOgogICB2ZXJz aW9uICI1LjE1LjEiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0Bm b3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlLy0vZm9udGF3ZXNvbWUtZnJlZS01LjE1LjEudGd6 I2NjZmVmNmRkYmU1OWY4ZmU4ZjY5NDc4M2UxZDNlYjg4OTAyZGM1ZWIiCkBAIC03OTEsMTIgKzk4 NSw2MiBAQAogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AaXN0YW5i dWxqcy9zY2hlbWEvLS9zY2hlbWEtMC4xLjIudGd6IzI2NTIwYmYwOWFiZTRhNTY0NGNkNTQxNGUz NzEyNWE4OTU0MjQxZGQiCiAgIGludGVncml0eSBzaGE1MTItdHNBUU54MzJhOENvRmhqaGlqVUlo STRrY2NJQWdtR2h5OExaTVpnR2ZtWGNwTWJQUlVxbjVMV21nUnR0SUxpNnllR21CSmQyeHNQa0ZN czBQemdQQ3c9PQogCisiQHBvcHBlcmpzL2NvcmVAXjIuNC40IjoKKyAgdmVyc2lvbiAiMi42LjAi CisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0Bwb3BwZXJqcy9jb3Jl Ly0vY29yZS0yLjYuMC50Z3ojZjAyMjE5NWFmZGZjOTQyZTA4OGVlMjEwMTI4NWExZDMxYzdkNzI3 ZiIKKyAgaW50ZWdyaXR5IHNoYTUxMi1jUHFqanp1RldOSzNCU0tMbTBhYnNwUDBzcC9JR09saTRw NUk1ZktGQXpkUzhmdmpkT3dEQ2ZacUFhSWlYZDlsUGtPV2kzU1VVZlpvZjNoRWI3Si91dz09CisK KyJAcHJvamVjdHN0b3JtL2dlb21ldHJ5QF42LjMuMCI6CisgIHZlcnNpb24gIjYuMy4wIgorICBy ZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AcHJvamVjdHN0b3JtL2dlb21l dHJ5Ly0vZ2VvbWV0cnktNi4zLjAudGd6IzJjMzdkZWU0YjkwN2VkMDA4NmU5MTY4MGI4MTVjZDE2 MTg4MzUzZjAiCisgIGludGVncml0eSBzaGE1MTItRmMySlZBa1pQblFNQUtkbjRGdEFBcHZsNDBT K3NVTDlFMnVzUm9YY25xUmJ3bWhEM1dIQkxobURJdlVUQXJJeUtKSk9UenlRVzQrTzcrTmN5cks5 L1E9PQorCisiQHByb2plY3RzdG9ybS9yZWFjdC1jYW52YXMtY29yZUBeNi4zLjAiOgorICB2ZXJz aW9uICI2LjMuMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQHBy b2plY3RzdG9ybS9yZWFjdC1jYW52YXMtY29yZS8tL3JlYWN0LWNhbnZhcy1jb3JlLTYuMy4wLnRn eiNkZmUzMDcyYmIzODE3OTEwYzY1MGExZmEwMDRjZTQzOWY1YmQwNjY5IgorICBpbnRlZ3JpdHkg c2hhNTEyLW1DaEtacGRmclRXZEd2ZzFPQjBFT2FDejVvdkM2c3BZL01KZkd0eFllazVnVTM2bWpv QVhFK0w2dUx6akVMVE0zSi9USmhEa20zV2Q3alc5dkNOVXlBPT0KKyAgZGVwZW5kZW5jaWVzOgor ICAgICJAcHJvamVjdHN0b3JtL2dlb21ldHJ5IiAiXjYuMy4wIgorCisiQHByb2plY3RzdG9ybS9y ZWFjdC1kaWFncmFtcy1jb3JlQF42LjMuMCI6CisgIHZlcnNpb24gIjYuMy4wIgorICByZXNvbHZl ZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AcHJvamVjdHN0b3JtL3JlYWN0LWRpYWdy YW1zLWNvcmUvLS9yZWFjdC1kaWFncmFtcy1jb3JlLTYuMy4wLnRneiM0ZTIyNWU4NmEwMzg5ZjM4 MzAyMGI0YTllOGJiY2UyZTU1NzgxY2QyIgorICBpbnRlZ3JpdHkgc2hhNTEyLXhkQUErUno1dkUw YWROYS9ybG9YdmpEUTJNRmxpY21kY1pIRUZUclBIK25WOG1pQXFoSGltemJDZ2U4eXBBd1F5VlhT OENMZHhVRjJSUUEvMUI4U25nPT0KKyAgZGVwZW5kZW5jaWVzOgorICAgICJAcHJvamVjdHN0b3Jt L2dlb21ldHJ5IiAiXjYuMy4wIgorICAgICJAcHJvamVjdHN0b3JtL3JlYWN0LWNhbnZhcy1jb3Jl IiAiXjYuMy4wIgorCisiQHByb2plY3RzdG9ybS9yZWFjdC1kaWFncmFtcy1kZWZhdWx0c0BeNi4z LjAiOgorICB2ZXJzaW9uICI2LjMuMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFy bnBrZy5jb20vQHByb2plY3RzdG9ybS9yZWFjdC1kaWFncmFtcy1kZWZhdWx0cy8tL3JlYWN0LWRp YWdyYW1zLWRlZmF1bHRzLTYuMy4wLnRneiMyNDc5ZGUxYWJiM2U2MzhkZjA0ZjMzZjA5NDEzZDMy NmIyN2UyOWVhIgorICBpbnRlZ3JpdHkgc2hhNTEyLTVxQkZnOXNTbDNPbEl0NUVkdjQ1dUVDZ2tq cWpwZytQU1JZZGVyT1hKakVRaTNTWWhmOWwwWWxmTXpwVHZ0NUdtVm55WDdnUVByb3l0L3AvZTRl OXJRPT0KKyAgZGVwZW5kZW5jaWVzOgorICAgICJAcHJvamVjdHN0b3JtL3JlYWN0LWRpYWdyYW1z LWNvcmUiICJeNi4zLjAiCisKKyJAcHJvamVjdHN0b3JtL3JlYWN0LWRpYWdyYW1zLXJvdXRpbmdA XjYuMy4wIjoKKyAgdmVyc2lvbiAiNi4zLjAiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5 Lnlhcm5wa2cuY29tL0Bwcm9qZWN0c3Rvcm0vcmVhY3QtZGlhZ3JhbXMtcm91dGluZy8tL3JlYWN0 LWRpYWdyYW1zLXJvdXRpbmctNi4zLjAudGd6IzM4Yjg5NzNhYzM1ZTQwNjM5ZGRlNzQ5MDg0MDIx N2Q4Y2IxZTY2ZmIiCisgIGludGVncml0eSBzaGE1MTIta2dxME1OcmpiZUVjcFFjZU9PUkwvNWJP UUpORjcwYy9JZjJ4L2pxZEVLZnN3ekdDOVZlVVlPS1p2ellDUmh4c09jcG45aENBNis2V2tkOGU0 ekZ6WVE9PQorICBkZXBlbmRlbmNpZXM6CisgICAgIkBwcm9qZWN0c3Rvcm0vZ2VvbWV0cnkiICJe Ni4zLjAiCisgICAgIkBwcm9qZWN0c3Rvcm0vcmVhY3QtZGlhZ3JhbXMtY29yZSIgIl42LjMuMCIK KyAgICAiQHByb2plY3RzdG9ybS9yZWFjdC1kaWFncmFtcy1kZWZhdWx0cyIgIl42LjMuMCIKKwor IkBwcm9qZWN0c3Rvcm0vcmVhY3QtZGlhZ3JhbXNAXjYuMi4wIjoKKyAgdmVyc2lvbiAiNi4zLjAi CisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0Bwcm9qZWN0c3Rvcm0v cmVhY3QtZGlhZ3JhbXMvLS9yZWFjdC1kaWFncmFtcy02LjMuMC50Z3ojYmQ0MzU2OTlmMDRiNjNm ZjU3Yjg0MzRhMjU5YWEyZGMzYjQ5NDEyOSIKKyAgaW50ZWdyaXR5IHNoYTUxMi1xSFBobFRCc1pr L2l3WEFQWE1oNnF6bWs2Nis3VTRjU2hTd1hNLzNPcURrckJpNnlJN25MdGRZNVZoaW9PMHFCaGhP eVI4djFDOG9lWUdGcVkwcGE4UT09CisgIGRlcGVuZGVuY2llczoKKyAgICAiQHByb2plY3RzdG9y bS9yZWFjdC1kaWFncmFtcy1jb3JlIiAiXjYuMy4wIgorICAgICJAcHJvamVjdHN0b3JtL3JlYWN0 LWRpYWdyYW1zLWRlZmF1bHRzIiAiXjYuMy4wIgorICAgICJAcHJvamVjdHN0b3JtL3JlYWN0LWRp YWdyYW1zLXJvdXRpbmciICJeNi4zLjAiCisKICJAc2ltb253ZXAvcGlja3JAXjEuNS4xIjoKLSAg dmVyc2lvbiAiMS43LjQiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29t L0BzaW1vbndlcC9waWNrci8tL3BpY2tyLTEuNy40LnRneiNiMTRmY2Q5NDU4OTAzODhiODcwY2Q2 ZGI0ZDZjNzhkNTMxZjI1MTQxIgotICBpbnRlZ3JpdHkgc2hhNTEyLWZxN2pnS0pUMjF1V0dDMW1B UkJIdnZkMUpZbEVmOTNvN1N1Vk9CNExyMHgvMlVQdU5DOU9lOW4vR3pWZWc0b1Z0cU1EZmgxd0lF SnBzZE9KRVpiKzNnPT0KKyAgdmVyc2lvbiAiMS44LjAiCisgIHJlc29sdmVkICJodHRwczovL3Jl Z2lzdHJ5Lnlhcm5wa2cuY29tL0BzaW1vbndlcC9waWNrci8tL3BpY2tyLTEuOC4wLnRneiNhZGJm ZjlhNGY3ZjBlNTlkZWM5OTQ2NTA4YzVlNDgxYjdhYmFlMGY4IgorICBpbnRlZ3JpdHkgc2hhNTEy LVZhU0Q3VHdrdE9zcm81blEvRmpSeDVKQUowOWs1Q05mR1JIYWNnVlJ4ZVZQb2xVUXdlbHoxU2pM OEhBT0tad1RTbWNuSU9icHRwSEFCUVM0emdON3N3PT0KICAgZGVwZW5kZW5jaWVzOgotICAgIGNv cmUtanMgIl4zLjYuNSIKKyAgICBjb3JlLWpzICJeMy44LjAiCiAgICAgbmFub3BvcCAiXjIuMS4w IgogCiAiQHNpbmRyZXNvcmh1cy9pc0BeMC43LjAiOgpAQCAtODA0LDIxICsxMDQ4LDQzIEBACiAg IHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0BzaW5kcmVzb3JodXMvaXMv LS9pcy0wLjcuMC50Z3ojOWEwNmY0ZjEzN2VlODRkN2RmMDQ2MGMxZmRiMTEzNWZmYTZjNTBmZCIK ICAgaW50ZWdyaXR5IHNoYTUxMi1PTmhhS1BJdWZ6enJsTmJxdFdGRmQramxuZW1YNmxKQWdxOVpl aVp0UzdJMVBJZi9sYTdDVzRtODNyVFhSblZuc01iVzJrNTZwR1l1N0FVRkpEOVBvdz09CiAKKyJA dGlwcHlqcy9yZWFjdEBeNC4yLjAiOgorICB2ZXJzaW9uICI0LjIuMCIKKyAgcmVzb2x2ZWQgImh0 dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQHRpcHB5anMvcmVhY3QvLS9yZWFjdC00LjIuMC50 Z3ojYTFjYjM2OWQwMDUxMDk5ZThhN2U0Y2ViNTlmODA5YWJkOTk1NTI4MyIKKyAgaW50ZWdyaXR5 IHNoYTUxMi1UNlVjSHR3dEdrdmdzQlE0Yk5wOEJ0WEd4YTJ1amZPa1dVb2dZa1J0TjRVVkoyUVJn RGRGb0plYVB4ZG5kblZZRkVhMnVUVnhTRnhzOFFrU2taMkdkdz09CisgIGRlcGVuZGVuY2llczoK KyAgICB0aXBweS5qcyAiXjYuMi4wIgorCisiQHR5cGVzL2VzdHJlZUAqIjoKKyAgdmVyc2lvbiAi MC4wLjQ1IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AdHlwZXMv ZXN0cmVlLy0vZXN0cmVlLTAuMC40NS50Z3ojZTkzODc1NzI5OThlNWVjZGFjMjIxOTUwZGFiM2U4 YzNiMTZhZjg4NCIKKyAgaW50ZWdyaXR5IHNoYTUxMi1qbnFJVUtEVXFKYkRJVXhtMFVqN2JubE1u Um0xVC9lWjlOK0FWTXFoUGd6cmJhMkdoR0c1by9qQ1R3bWRQSzcwOW5FWnNHb016WEVEVWpjWEhh M1cwZz09CisKICJAdHlwZXMvanNvbi1zY2hlbWFAXjcuMC41IjoKICAgdmVyc2lvbiAiNy4wLjYi CiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0B0eXBlcy9qc29uLXNj aGVtYS8tL2pzb24tc2NoZW1hLTcuMC42LnRneiNmNGM3ZWM0M2U4MWIzMTlhOTgxNTExNTAzMTcw OWYyNjk4Nzg5MWYwIgogICBpbnRlZ3JpdHkgc2hhNTEyLTNjK3lHS3ZWUDVZOVRZQkVpYkdOUitr THRpam5qN21ZclhSZytXcEZiMlg5eG0wNGcvRFhZa2ZnNGhtekpRb3NjOXNuRk5VUGtiWUlodStL QW02akp3PT0KIAogIkB0eXBlcy9ub2RlQCoiOgotICB2ZXJzaW9uICIxNC4xMS41IgotICByZXNv bHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AdHlwZXMvbm9kZS8tL25vZGUtMTQu MTEuNS50Z3ojZmVjYWQ0MWMwNDFjYWU3ZjI0MDRhZDRiMmQwNzQyZmRiNjI4YjMwNSIKLSAgaW50 ZWdyaXR5IHNoYTUxMi1qVkZ6RFY2TlRickxNeG00eERTSVcvZ0tuazhyUUxGOXdBekxXSU9nKzVu VTZBQ3JJTW5kZUJkWGNpMEZHdHFKYlA5dFF2bTZWMzllc2hjOTZUTzJ3UT09CisgIHZlcnNpb24g IjE0LjE0LjE2IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9AdHlw ZXMvbm9kZS8tL25vZGUtMTQuMTQuMTYudGd6IzNjYzM1MWY4ZDQ4MTAxZGVhZGZlZDRjOWU0ZjEx NjA0OGQ0MzdiNGIiCisgIGludGVncml0eSBzaGE1MTItbmFYWWVQaHdlVGkrQk12MTFUZ2lvRTIv RlhVNGZTbDI5SEFIMWZmeFZjaU5zSDNyWVhqTlAyeU04d3FtU203alMyMGdNOFRJa2xLaVRlbisx aVZuY3c9PQorCisiQHR5cGVzL3BhcnNlLWpzb25AXjQuMC4wIjoKKyAgdmVyc2lvbiAiNC4wLjAi CisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0B0eXBlcy9wYXJzZS1q c29uLy0vcGFyc2UtanNvbi00LjAuMC50Z3ojMmY4YmI0NDE0MzRkMTYzYjM1ZmI4ZmZkY2NkNzEz ODkyN2ZmYjhjMCIKKyAgaW50ZWdyaXR5IHNoYTUxMi0vL29vckVaakw2c2JQY0tVYUNkSUdsSVVl SDI2bWd6aW1qQkI3N0c2WFJnbkRsL0w1d09ucHlCR1JlL01tZjVDVlczUHdFQkUxTmppTVovc3NG aDR3QT09CiAKICJAdHlwZXMvcUBeMS41LjEiOgogICB2ZXJzaW9uICIxLjUuNCIKICAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vQHR5cGVzL3EvLS9xLTEuNS40LnRneiMx NTkyNTQxNGUwYWQyY2Q3NjViZmVmNTg4NDJmN2UyNmE3YWNjYjI0IgogICBpbnRlZ3JpdHkgc2hh NTEyLTFIY0RhczhTRWo0ejFXYzY5NnRINTZHOE9sUmFIL3NxWk95bk5OQitIRjBXT2VYUGF4VHRi WXpKWTJvRWZpVXhqU0tqaENLcitNdlI3ZENIY0VlbHVnPT0KIAorIkB0eXBlcy9yYWZAXjMuNC4w IjoKKyAgdmVyc2lvbiAiMy40LjAiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5w a2cuY29tL0B0eXBlcy9yYWYvLS9yYWYtMy40LjAudGd6IzJiNzJjYmQ1NTQwNWUwNzFmMWM0ZDI5 OTkyNjM4ZTAyMmIyMGFjYzIiCisgIGludGVncml0eSBzaGE1MTItdGFXNS9XWXFvMzZON1YzOW9Z eUhQOUlwZmQ1cE5GdkdUSVFzTkdqODZ4Vjg4WVE3R25JMzAveU1mS0RGN1pnaW4wbTNlK2lrWDg4 RnZJbW5LNFJqR3c9PQorCiAiQHdlYmFzc2VtYmx5anMvYXN0QDEuOS4wIjoKICAgdmVyc2lvbiAi MS45LjAiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL0B3ZWJhc3Nl bWJseWpzL2FzdC8tL2FzdC0xLjkuMC50Z3ojYmQ4NTA2MDRiNDA0MjQ1OWE1YTQxY2Q3ZDMzOGNi ZWQ2OTVlZDk2NCIKQEAgLTEwMjMsNyArMTI4OSw3IEBAIGFjb3JuQF42LjAuNywgYWNvcm5AXjYu NC4xOgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9hY29ybi8tL2Fj b3JuLTYuNC4yLnRneiMzNTg2NmZkNzEwNTI4ZTkyZGUxMGNmMDYwMTY0OThlNDdlMzllMWU2Igog ICBpbnRlZ3JpdHkgc2hhNTEyLVh0R0loWHdGOFlNOGJKaEd4RzVrWGdqa0V1TkdMVGtvWXFWRStL TVIrYXNwcjRLR1ltS1lnN3lVZTNLZ2h5UTl5aGVOd0xuam16aC83K2dmREJtSENRPT0KIAotYWNv cm5AXjcuMC4wLCBhY29ybkBeNy4xLjE6CithY29ybkBeNy4wLjAsIGFjb3JuQF43LjEuMCwgYWNv cm5AXjcuMS4xOgogICB2ZXJzaW9uICI3LjQuMSIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0 cnkueWFybnBrZy5jb20vYWNvcm4vLS9hY29ybi03LjQuMS50Z3ojZmVhZWQyNTU5NzNkMmU3NzU1 NWI4M2RiYzA4ODUxYTZjNjM1MjBmYSIKICAgaW50ZWdyaXR5IHNoYTUxMi1uUXlwMG8xL21OZGJU TzFQTzZrSGt3U3JtZ1owTVQvakNDcE5pd2JVakdvUk40ZGxCaHFKdG9RdUNuRU9LemdUVndnMFpX aUNvUXk2U3hNZWJRVmg4QT09CkBAIC0xMDc3LDkgKzEzNDMsOSBAQCBhanZAXjUuMC4wOgogICAg IGpzb24tc2NoZW1hLXRyYXZlcnNlICJeMC4zLjAiCiAKIGFqdkBeNi4xLjAsIGFqdkBeNi4xMC4y LCBhanZAXjYuMTIuNCwgYWp2QF42LjkuMToKLSAgdmVyc2lvbiAiNi4xMi41IgotICByZXNvbHZl ZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9hanYvLS9hanYtNi4xMi41LnRneiMxOWIw ZThiYWU4ZjQ3NmU1YmE2NjYzMDAzODc3NzVmYjFhMDBhNGRhIgotICBpbnRlZ3JpdHkgc2hhNTEy LWxSRjhST1JjaGpwS0c1MC9XRmY4eG1nN3NnQ0xGaVlOTm5xZEtmbGs2M3doTVFjV1I1bmdHamlT WGtMOWJqeHk2QjJucE9LMkhTTU40OWpFQk1Ta2FnPT0KKyAgdmVyc2lvbiAiNi4xMi42IgorICBy ZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9hanYvLS9hanYtNi4xMi42LnRn eiNiYWY1YTYyZTgwMmIwN2Q5NzcwMzQ1ODZmOGMzYmFmNWFkZjI2ZGY0IgorICBpbnRlZ3JpdHkg c2hhNTEyLWozZlZMZ3ZUbzUyN2FueVl5Sk9HVFlKYkcrdm5uUVl2RTBtNW1ta2MxVEsrbnhBcHBr Q0xNSUwwYVo0ZGJsVkNOb0dTaGhtK2t6RTRaVXlrQm9NZzRnPT0KICAgZGVwZW5kZW5jaWVzOgog ICAgIGZhc3QtZGVlcC1lcXVhbCAiXjMuMS4xIgogICAgIGZhc3QtanNvbi1zdGFibGUtc3RyaW5n aWZ5ICJeMi4wLjAiCkBAIC0xMDg4LDcgKzEzNTQsNyBAQCBhanZAXjYuMS4wLCBhanZAXjYuMTAu MiwgYWp2QF42LjEyLjQsIGFqdkBeNi45LjE6CiAKICJhbGVydGlmeWpzQGdpdCtodHRwczovL2dp dGh1Yi5jb20vRW50ZXJwcmlzZURCL0FsZXJ0aWZ5SlMvIzcyYzFkNzk0ZjViNmQ0ZWMxM2E2OGQx MjNjMDhmMTkwMjFhZmUyNjMiOgogICB2ZXJzaW9uICIxLjcuMSIKLSAgcmVzb2x2ZWQgImdpdCto dHRwczovL2dpdGh1Yi5jb20vRW50ZXJwcmlzZURCL0FsZXJ0aWZ5SlMuZ2l0IzcyYzFkNzk0ZjVi NmQ0ZWMxM2E2OGQxMjNjMDhmMTkwMjFhZmUyNjMiCisgIHJlc29sdmVkICJnaXQraHR0cHM6Ly9n aXRodWIuY29tL0VudGVycHJpc2VEQi9BbGVydGlmeUpTLyM3MmMxZDc5NGY1YjZkNGVjMTNhNjhk MTIzYzA4ZjE5MDIxYWZlMjYzIgogCiBhbHBoYW51bS1zb3J0QF4xLjAuMDoKICAgdmVyc2lvbiAi MS4wLjIiCkBAIC0xMTYxLDkgKzE0MjcsOSBAQCBhcHJvYmFAXjEuMS4xOgogICBpbnRlZ3JpdHkg c2hhNTEyLVk5SjZaalh0b1loOFJuWFZDTU9VL3R0RG1rMWFCanVucTl2TzB0YTV4ODVXRFFpUWZV RjlzSVBCSVRkYmlpSVZjQm8wM0hpM2pNeGlnQnRzZGRsWFJ3PT0KIAogYXJjaEBeMi4xLjA6Ci0g IHZlcnNpb24gIjIuMS4yIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNv bS9hcmNoLy0vYXJjaC0yLjEuMi50Z3ojMGM1MmJiZTczNDRiYjRmYTI2MGM0NDNkMmNiYWQ5YzAw ZmYyZjBiZiIKLSAgaW50ZWdyaXR5IHNoYTUxMi1OVEJJSWJBZmtKZUlsZXR5QUJiVnRkUGdlS2ZE YWZSKzFtWlYvQXl5ZkMxVWtWa3A5aVVqVit3d21xdFVncGhIWWFqYkk4NmplakJKcDVlK2prR1Rp UT09CisgIHZlcnNpb24gIjIuMi4wIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJu cGtnLmNvbS9hcmNoLy0vYXJjaC0yLjIuMC50Z3ojMWJjNDc4MThmMzA1NzY0ZjIzYWIzMzA2YjBi ZmMwODZjNWEyOWQxMSIKKyAgaW50ZWdyaXR5IHNoYTUxMi1PZi9SMHdxcDgzY2dIb3pmSVlMYkJN bmVqNzlVL1NWR09PeXVCM1ZWRnYxTlJNL1BTRk1LMTJ4OUtWdGlZekpxbW5VNVdSMnFwMFo1ckhi N3NXR25GUT09CiAKIGFyY2hpdmUtdHlwZUBeNC4wLjA6CiAgIHZlcnNpb24gIjQuMC4wIgpAQCAt MTIwOSwxMyArMTQ3NSwxNSBAQCBhcnJheS1mbGF0dGVuQDEuMS4xOgogICByZXNvbHZlZCAiaHR0 cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9hcnJheS1mbGF0dGVuLy0vYXJyYXktZmxhdHRlbi0x LjEuMS50Z3ojOWE1ZjY5OTA1MWIxZTcwNzMzMjhmMmEwMDg5NjhiNjRlYTI5NTVkMiIKICAgaW50 ZWdyaXR5IHNoYTEtbWw5cGtGR3g1d2N6S1BLZ0NKYUxaT29wVmRJPQogCi1hcnJheS1pbmNsdWRl c0BeMy4xLjE6Ci0gIHZlcnNpb24gIjMuMS4xIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3Ry eS55YXJucGtnLmNvbS9hcnJheS1pbmNsdWRlcy8tL2FycmF5LWluY2x1ZGVzLTMuMS4xLnRneiNj ZGQ2N2U2ODUyYmRmOWMxMjE1NDYwNzg2NzMyMjU1ZWQyNDU5MzQ4IgotICBpbnRlZ3JpdHkgc2hh NTEyLWMyVlhhQ0hsN3pQc3Zwa0ZzdzRueHZGaWU0ZmgxdXI5YnBjZ3NWa0lqcW4wSC9Yd2RnKzdm djNuMnIvaXN5UzhFQmo1YjA2TTlrSHladUlyNEVsNldRPT0KK2FycmF5LWluY2x1ZGVzQF4zLjEu MSwgYXJyYXktaW5jbHVkZXNAXjMuMS4yOgorICB2ZXJzaW9uICIzLjEuMiIKKyAgcmVzb2x2ZWQg Imh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYXJyYXktaW5jbHVkZXMvLS9hcnJheS1pbmNs dWRlcy0zLjEuMi50Z3ojYThkYjAzZTBiODhjOGM2YWVkZGM0OWNiMTMyZjliY2FiNGViZjljOCIK KyAgaW50ZWdyaXR5IHNoYTUxMi13MkdzcGV4TlFweCtQdXRHM1FwVDQzNy9CZW5aQmowTS9NWkdu NW16di9Nb2ZZcW8weG1SSHpuNGxGc29EbFdKK1RIWXNHSm1GbFc2OFdsREZ4N1ZSdz09CiAgIGRl cGVuZGVuY2llczoKKyAgICBjYWxsLWJpbmQgIl4xLjAuMCIKICAgICBkZWZpbmUtcHJvcGVydGll cyAiXjEuMS4zIgotICAgIGVzLWFic3RyYWN0ICJeMS4xNy4wIgorICAgIGVzLWFic3RyYWN0ICJe MS4xOC4wLW5leHQuMSIKKyAgICBnZXQtaW50cmluc2ljICJeMS4wLjEiCiAgICAgaXMtc3RyaW5n ICJeMS4wLjUiCiAKIGFycmF5LXVuaW9uQF4xLjAuMToKQEAgLTEyNDQsMjAgKzE1MTIsMjIgQEAg YXJyYXkucHJvdG90eXBlLmZpbmRAXjIuMS4xOgogICAgIGVzLWFic3RyYWN0ICJeMS4xNy40Igog CiBhcnJheS5wcm90b3R5cGUuZmxhdEBeMS4yLjM6Ci0gIHZlcnNpb24gIjEuMi4zIgotICByZXNv bHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9hcnJheS5wcm90b3R5cGUuZmxhdC8t L2FycmF5LnByb3RvdHlwZS5mbGF0LTEuMi4zLnRneiMwZGU4MmI0MjZiMDMxOGRiZmRiOTQwMDg5 ZTM4YjA0M2QzN2Y2YzdiIgotICBpbnRlZ3JpdHkgc2hhNTEyLWdCbFJaVjBWU21mUEllV2Z1dXk1 NlhaTXZiVmZiRVVuT1hVdnQzRi9lVVVVU3l6bGdMeGhFWDRZQUVweE5Bb2dSR2VoUFNuZlh5UHRZ eUtBaGt6UWhRPT0KKyAgdmVyc2lvbiAiMS4yLjQiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lz dHJ5Lnlhcm5wa2cuY29tL2FycmF5LnByb3RvdHlwZS5mbGF0Ly0vYXJyYXkucHJvdG90eXBlLmZs YXQtMS4yLjQudGd6IzZlZjYzOGI0MzMxMmJkNDAxYjRjNjE5OWZkZWM3ZTJkYzllOWExMjMiCisg IGludGVncml0eSBzaGE1MTItNDQ3MFhpM0dBUEFqWnFGY2xqWDJ4emNrdjFxZUtQaXpvTmtpUzAr TzRJb1BSMlpOcGNqRTBwa2hkaWhsRG91Syt4NlFPYXN0MjZCNFEvTzlESm53U2c9PQogICBkZXBl bmRlbmNpZXM6CisgICAgY2FsbC1iaW5kICJeMS4wLjAiCiAgICAgZGVmaW5lLXByb3BlcnRpZXMg Il4xLjEuMyIKLSAgICBlcy1hYnN0cmFjdCAiXjEuMTcuMC1uZXh0LjEiCisgICAgZXMtYWJzdHJh Y3QgIl4xLjE4LjAtbmV4dC4xIgogCiBhcnJheS5wcm90b3R5cGUuZmxhdG1hcEBeMS4yLjM6Ci0g IHZlcnNpb24gIjEuMi4zIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNv bS9hcnJheS5wcm90b3R5cGUuZmxhdG1hcC8tL2FycmF5LnByb3RvdHlwZS5mbGF0bWFwLTEuMi4z LnRneiMxYzEzZjg0YTE3ODU2NjA0MmRkNjNkZTQ0MTQ0NDBkYjkyMjJlNDQzIgotICBpbnRlZ3Jp dHkgc2hhNTEyLU9PRWsrbGtlUGNnK09EWElwdnVVOVBBcnlDaWtDSnlvN0dsREcxdXBsZUVwUVJ4 Nm16TDlwdUVCa296UTVpQXgyMEtWMGwzRGJ5UXdxY2lKdHFlNVBnPT0KKyAgdmVyc2lvbiAiMS4y LjQiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2FycmF5LnByb3Rv dHlwZS5mbGF0bWFwLy0vYXJyYXkucHJvdG90eXBlLmZsYXRtYXAtMS4yLjQudGd6Izk0Y2ZkNDdj YzE1NTZlYzA3NDdkOTdmN2M3NzM4YzU4MTIyMDA0YzkiCisgIGludGVncml0eSBzaGE1MTItcjla MHpZb3hxSHo2MHZ2UWJXRWRYSUV0Q3dIRjB5eGFXZm5vOXF6WGVOSHZmeWwzQlpxeWdtR3piODRk c3VieWFYTEg0aHVzRitORmdNU2RwWmhrMlE9PQogICBkZXBlbmRlbmNpZXM6CisgICAgY2FsbC1i aW5kICJeMS4wLjAiCiAgICAgZGVmaW5lLXByb3BlcnRpZXMgIl4xLjEuMyIKLSAgICBlcy1hYnN0 cmFjdCAiXjEuMTcuMC1uZXh0LjEiCisgICAgZXMtYWJzdHJhY3QgIl4xLjE4LjAtbmV4dC4xIgog ICAgIGZ1bmN0aW9uLWJpbmQgIl4xLjEuMSIKIAogYXJyYXlidWZmZXIuc2xpY2VAfjAuMC43OgpA QCAtMTMzNCwxMSArMTYwNCwxMSBAQCBhdXRvcHJlZml4ZXJAXjkuNi40OgogICAgIHBvc3Rjc3Mt dmFsdWUtcGFyc2VyICJeNC4xLjAiCiAKIGF4aW9zLW1vY2stYWRhcHRlckBeMS4xNy4wOgotICB2 ZXJzaW9uICIxLjE4LjIiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29t L2F4aW9zLW1vY2stYWRhcHRlci8tL2F4aW9zLW1vY2stYWRhcHRlci0xLjE4LjIudGd6IzAxZmE5 ZTg4ZTY5MmU4ZjFiYmMxYWQxMjAwZGRlNjcyNDg2ZTAzYzciCi0gIGludGVncml0eSBzaGE1MTIt ZTVhVHNQeTJWaW92MjJ6TnBGVGxpZDc2VzFTY3o4MnBYZUV3d0NYZHRPODVMUk9oSEFGOHBIRjJx RGhpeU1PTkx4S3lZM2xRK1M0VUNzS2dybHg4SHc9PQorICB2ZXJzaW9uICIxLjE5LjAiCisgIHJl c29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2F4aW9zLW1vY2stYWRhcHRlci8t L2F4aW9zLW1vY2stYWRhcHRlci0xLjE5LjAudGd6IzlkNzJlMzIxYTZjNTQxOGUxZWZmMDY3YWE5 OTc2MWE4NmM1MTg4YTQiCisgIGludGVncml0eSBzaGE1MTItRCswVTRMTlByN1dyb2lCRHZXaWx6 VE1ZUFlUdVpsYm82Qkk4WUhadGo3d1lRUzhOa0FSbFA5S0J0OElXV0hUUUowcS84b1owQ2xQQnRL Q0NreDhjUWc9PQogICBkZXBlbmRlbmNpZXM6Ci0gICAgZmFzdC1kZWVwLWVxdWFsICJeMy4xLjEi CisgICAgZmFzdC1kZWVwLWVxdWFsICJeMy4xLjMiCiAgICAgaXMtYnVmZmVyICJeMi4wLjMiCiAK IGF4aW9zQF4wLjE4LjE6CkBAIC0xMzU4LDYgKzE2MjgsMTggQEAgYmFiZWwtY29kZS1mcmFtZUBe Ni4yNi4wOgogICAgIGVzdXRpbHMgIl4yLjAuMiIKICAgICBqcy10b2tlbnMgIl4zLjAuMiIKIAor YmFiZWwtZXNsaW50QF4xMC4xLjA6CisgIHZlcnNpb24gIjEwLjEuMCIKKyAgcmVzb2x2ZWQgImh0 dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYmFiZWwtZXNsaW50Ly0vYmFiZWwtZXNsaW50LTEw LjEuMC50Z3ojNjk2OGU1NjhhOTEwYjc4ZmIzNzc5Y2RkOGI2YWMyZjQ3OTk0MzIzMiIKKyAgaW50 ZWdyaXR5IHNoYTUxMi1pZldhVEhRMGNlKzQ0OENZb3A4QWRyUWlCc0dybkMrYk1nZnlLRmRpNkVz UExUQVdHK1FmeURlTTZPSCtGbVduS3ZFcTVObkJNTHZsQlVQS1Fab0RTZz09CisgIGRlcGVuZGVu Y2llczoKKyAgICAiQGJhYmVsL2NvZGUtZnJhbWUiICJeNy4wLjAiCisgICAgIkBiYWJlbC9wYXJz ZXIiICJeNy43LjAiCisgICAgIkBiYWJlbC90cmF2ZXJzZSIgIl43LjcuMCIKKyAgICAiQGJhYmVs L3R5cGVzIiAiXjcuNy4wIgorICAgIGVzbGludC12aXNpdG9yLWtleXMgIl4xLjAuMCIKKyAgICBy ZXNvbHZlICJeMS4xMi4wIgorCiBiYWJlbC1nZW5lcmF0b3JAXjYuMTguMDoKICAgdmVyc2lvbiAi Ni4yNi4xIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9iYWJlbC1n ZW5lcmF0b3IvLS9iYWJlbC1nZW5lcmF0b3ItNi4yNi4xLnRneiMxODQ0NDA4ZDNiOGYwZDM1YTQw NGVhN2FjMTgwZjA4N2E2MDFiZDkwIgpAQCAtMTM3Miw5MSArMTY1NCwxNSBAQCBiYWJlbC1nZW5l cmF0b3JAXjYuMTguMDoKICAgICBzb3VyY2UtbWFwICJeMC41LjciCiAgICAgdHJpbS1yaWdodCAi XjEuMC4xIgogCi1iYWJlbC1oZWxwZXItY2FsbC1kZWxlZ2F0ZUBeNi4yNC4xOgotICB2ZXJzaW9u ICI2LjI0LjEiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2JhYmVs LWhlbHBlci1jYWxsLWRlbGVnYXRlLy0vYmFiZWwtaGVscGVyLWNhbGwtZGVsZWdhdGUtNi4yNC4x LnRneiNlY2U2YWFjZGRjNzZlNDFjMzQ2MWY4OGJmYzU3NWJkMGRhYTJkZjhkIgotICBpbnRlZ3Jp dHkgc2hhMS03T2FxemR4MjVCdzBZZmlML0ZkYjBOcWkzNDA9CitiYWJlbC1sb2FkZXJAXjguMS4w OgorICB2ZXJzaW9uICI4LjIuMiIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBr Zy5jb20vYmFiZWwtbG9hZGVyLy0vYmFiZWwtbG9hZGVyLTguMi4yLnRneiM5MzYzY2U4NGMxMGM5 YTQwZTZjNzUzNzQ4ZTE0NDFiNjBjOGEwYjgxIgorICBpbnRlZ3JpdHkgc2hhNTEyLUp2VGQwL0Q4 ODlQUUJ0VVhKMlBYYUtVL3BqWkRNdEhBOVYyZWNtK2VOUm1tQkNNUjA5YStmbXBHVE53bkp0Rm1G bDVFaTdWeTQ3TGpCYitMMHdROTlnPT0KICAgZGVwZW5kZW5jaWVzOgotICAgIGJhYmVsLWhlbHBl ci1ob2lzdC12YXJpYWJsZXMgIl42LjI0LjEiCi0gICAgYmFiZWwtcnVudGltZSAiXjYuMjIuMCIK LSAgICBiYWJlbC10cmF2ZXJzZSAiXjYuMjQuMSIKLSAgICBiYWJlbC10eXBlcyAiXjYuMjQuMSIK LQotYmFiZWwtaGVscGVyLWRlZmluZS1tYXBAXjYuMjQuMToKLSAgdmVyc2lvbiAiNi4yNi4wIgot ICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9iYWJlbC1oZWxwZXItZGVm aW5lLW1hcC8tL2JhYmVsLWhlbHBlci1kZWZpbmUtbWFwLTYuMjYuMC50Z3ojYTVmNTZkYWI0MWEy NWY5N2VjYjQ5OGM3ZWJhY2E5ODE5Zjk1YmU1ZiIKLSAgaW50ZWdyaXR5IHNoYTEtcGZWdHEwR2lY NWZzdEpqSDY2eXBnWitWdmw4PQotICBkZXBlbmRlbmNpZXM6Ci0gICAgYmFiZWwtaGVscGVyLWZ1 bmN0aW9uLW5hbWUgIl42LjI0LjEiCi0gICAgYmFiZWwtcnVudGltZSAiXjYuMjYuMCIKLSAgICBi YWJlbC10eXBlcyAiXjYuMjYuMCIKLSAgICBsb2Rhc2ggIl40LjE3LjQiCi0KLWJhYmVsLWhlbHBl ci1mdW5jdGlvbi1uYW1lQF42LjI0LjE6Ci0gIHZlcnNpb24gIjYuMjQuMSIKLSAgcmVzb2x2ZWQg Imh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYmFiZWwtaGVscGVyLWZ1bmN0aW9uLW5hbWUv LS9iYWJlbC1oZWxwZXItZnVuY3Rpb24tbmFtZS02LjI0LjEudGd6I2QzNDc1YjhjMDNlZDk4MjQy YTI1YjQ4MzUxYWIxODM5OWQzNTgwYTkiCi0gIGludGVncml0eSBzaGExLTAwZGJqQVB0bUNRcUpi U0RVYXNZT1owMWdLaz0KLSAgZGVwZW5kZW5jaWVzOgotICAgIGJhYmVsLWhlbHBlci1nZXQtZnVu Y3Rpb24tYXJpdHkgIl42LjI0LjEiCi0gICAgYmFiZWwtcnVudGltZSAiXjYuMjIuMCIKLSAgICBi YWJlbC10ZW1wbGF0ZSAiXjYuMjQuMSIKLSAgICBiYWJlbC10cmF2ZXJzZSAiXjYuMjQuMSIKLSAg ICBiYWJlbC10eXBlcyAiXjYuMjQuMSIKLQotYmFiZWwtaGVscGVyLWdldC1mdW5jdGlvbi1hcml0 eUBeNi4yNC4xOgotICB2ZXJzaW9uICI2LjI0LjEiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lz dHJ5Lnlhcm5wa2cuY29tL2JhYmVsLWhlbHBlci1nZXQtZnVuY3Rpb24tYXJpdHkvLS9iYWJlbC1o ZWxwZXItZ2V0LWZ1bmN0aW9uLWFyaXR5LTYuMjQuMS50Z3ojOGY3NzgyYWE5MzQwN2M0MWQzYWE1 MDkwOGY4OWIwMzFiMWI2ODUzZCIKLSAgaW50ZWdyaXR5IHNoYTEtajNlQ3FwTkFmRUhUcWxDUWo0 bXdNYkcyaFQwPQotICBkZXBlbmRlbmNpZXM6Ci0gICAgYmFiZWwtcnVudGltZSAiXjYuMjIuMCIK LSAgICBiYWJlbC10eXBlcyAiXjYuMjQuMSIKLQotYmFiZWwtaGVscGVyLWhvaXN0LXZhcmlhYmxl c0BeNi4yNC4xOgotICB2ZXJzaW9uICI2LjI0LjEiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lz dHJ5Lnlhcm5wa2cuY29tL2JhYmVsLWhlbHBlci1ob2lzdC12YXJpYWJsZXMvLS9iYWJlbC1oZWxw ZXItaG9pc3QtdmFyaWFibGVzLTYuMjQuMS50Z3ojMWVjYjI3Njg5YzlkMjU1MTNlYWRiYzk5MTRh NzNmNTQwOGJlN2E3NiIKLSAgaW50ZWdyaXR5IHNoYTEtSHNzbmFKeWRKVkUrcmJ5WkZLYy9WQWkr ZW5ZPQotICBkZXBlbmRlbmNpZXM6Ci0gICAgYmFiZWwtcnVudGltZSAiXjYuMjIuMCIKLSAgICBi YWJlbC10eXBlcyAiXjYuMjQuMSIKLQotYmFiZWwtaGVscGVyLW9wdGltaXNlLWNhbGwtZXhwcmVz c2lvbkBeNi4yNC4xOgotICB2ZXJzaW9uICI2LjI0LjEiCi0gIHJlc29sdmVkICJodHRwczovL3Jl Z2lzdHJ5Lnlhcm5wa2cuY29tL2JhYmVsLWhlbHBlci1vcHRpbWlzZS1jYWxsLWV4cHJlc3Npb24v LS9iYWJlbC1oZWxwZXItb3B0aW1pc2UtY2FsbC1leHByZXNzaW9uLTYuMjQuMS50Z3ojZjdhMTM0 MjdiYTlmNzNmOGY0ZmE5OTNjNTRhOTc4ODJkMTI0NDI1NyIKLSAgaW50ZWdyaXR5IHNoYTEtOTZF MEo3cWZjL2owK3BrOFZLbDRndEVrUWxjPQotICBkZXBlbmRlbmNpZXM6Ci0gICAgYmFiZWwtcnVu dGltZSAiXjYuMjIuMCIKLSAgICBiYWJlbC10eXBlcyAiXjYuMjQuMSIKLQotYmFiZWwtaGVscGVy LXJlZ2V4QF42LjI0LjE6Ci0gIHZlcnNpb24gIjYuMjYuMCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8v cmVnaXN0cnkueWFybnBrZy5jb20vYmFiZWwtaGVscGVyLXJlZ2V4Ly0vYmFiZWwtaGVscGVyLXJl Z2V4LTYuMjYuMC50Z3ojMzI1YzU5ZjkwMmY4MmYyNGI3NGZhY2VlZDAzNjM5NTRmNjQ5NWU3MiIK LSAgaW50ZWdyaXR5IHNoYTEtTWx4WitRTDRMeVMzVDZ6dTBEWTVWUFpKWG5JPQotICBkZXBlbmRl bmNpZXM6Ci0gICAgYmFiZWwtcnVudGltZSAiXjYuMjYuMCIKLSAgICBiYWJlbC10eXBlcyAiXjYu MjYuMCIKLSAgICBsb2Rhc2ggIl40LjE3LjQiCi0KLWJhYmVsLWhlbHBlci1yZXBsYWNlLXN1cGVy c0BeNi4yNC4xOgotICB2ZXJzaW9uICI2LjI0LjEiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lz dHJ5Lnlhcm5wa2cuY29tL2JhYmVsLWhlbHBlci1yZXBsYWNlLXN1cGVycy8tL2JhYmVsLWhlbHBl ci1yZXBsYWNlLXN1cGVycy02LjI0LjEudGd6I2JmNmRiZmU0MzkzOGQxNzM2OWEyMTNjYThhOGJm NzRiNmE5MGFiMWEiCi0gIGludGVncml0eSBzaGExLXYyMi81RGs0MFhOcG9oUEtpb3YzUzJxUXF4 bz0KLSAgZGVwZW5kZW5jaWVzOgotICAgIGJhYmVsLWhlbHBlci1vcHRpbWlzZS1jYWxsLWV4cHJl c3Npb24gIl42LjI0LjEiCi0gICAgYmFiZWwtbWVzc2FnZXMgIl42LjIzLjAiCi0gICAgYmFiZWwt cnVudGltZSAiXjYuMjIuMCIKLSAgICBiYWJlbC10ZW1wbGF0ZSAiXjYuMjQuMSIKLSAgICBiYWJl bC10cmF2ZXJzZSAiXjYuMjQuMSIKLSAgICBiYWJlbC10eXBlcyAiXjYuMjQuMSIKLQotYmFiZWwt bG9hZGVyQH44LjAuNToKLSAgdmVyc2lvbiAiOC4wLjYiCi0gIHJlc29sdmVkICJodHRwczovL3Jl Z2lzdHJ5Lnlhcm5wa2cuY29tL2JhYmVsLWxvYWRlci8tL2JhYmVsLWxvYWRlci04LjAuNi50Z3oj ZTMzYmRiNmYzNjJiMDNmNGJiMTQxYTBjMjFhYjg3YzUwMWI3MGRmYiIKLSAgaW50ZWdyaXR5IHNo YTUxMi00Qm1XS3RCT0JtMTN1b1V3ZDA4VXdqWmxhdzNPOUdXZjQ1NlI5ais1WXlrRlo2TFVJaklL TGMwekVaZitoYXV4UE9Kczk2QzhrNkZ2WUQwOXZXemhZdz09Ci0gIGRlcGVuZGVuY2llczoKLSAg ICBmaW5kLWNhY2hlLWRpciAiXjIuMC4wIgotICAgIGxvYWRlci11dGlscyAiXjEuMC4yIgotICAg IG1rZGlycCAiXjAuNS4xIgotICAgIHBpZnkgIl40LjAuMSIKKyAgICBmaW5kLWNhY2hlLWRpciAi XjMuMy4xIgorICAgIGxvYWRlci11dGlscyAiXjEuNC4wIgorICAgIG1ha2UtZGlyICJeMy4xLjAi CisgICAgc2NoZW1hLXV0aWxzICJeMi42LjUiCiAKIGJhYmVsLW1lc3NhZ2VzQF42LjIzLjA6CiAg IHZlcnNpb24gIjYuMjMuMCIKQEAgLTE0NjUsMTMgKzE2NzEsNiBAQCBiYWJlbC1tZXNzYWdlc0Be Ni4yMy4wOgogICBkZXBlbmRlbmNpZXM6CiAgICAgYmFiZWwtcnVudGltZSAiXjYuMjIuMCIKIAot YmFiZWwtcGx1Z2luLWNoZWNrLWVzMjAxNS1jb25zdGFudHNAXjYuMy4xMzoKLSAgdmVyc2lvbiAi Ni4yMi4wIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9iYWJlbC1w bHVnaW4tY2hlY2stZXMyMDE1LWNvbnN0YW50cy8tL2JhYmVsLXBsdWdpbi1jaGVjay1lczIwMTUt Y29uc3RhbnRzLTYuMjIuMC50Z3ojMzUxNTdiMTAxNDI2ZmQyZmZkM2RhM2Y3NWM3ZDFlOTE4MzVi YmY4YSIKLSAgaW50ZWdyaXR5IHNoYTEtTlJWN0VCUW0vUy85UGFQM1hIMGVrWU5idjRvPQotICBk ZXBlbmRlbmNpZXM6Ci0gICAgYmFiZWwtcnVudGltZSAiXjYuMjIuMCIKLQogYmFiZWwtcGx1Z2lu LWR5bmFtaWMtaW1wb3J0LW5vZGVAXjIuMy4zOgogICB2ZXJzaW9uICIyLjMuMyIKICAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYmFiZWwtcGx1Z2luLWR5bmFtaWMtaW1w b3J0LW5vZGUvLS9iYWJlbC1wbHVnaW4tZHluYW1pYy1pbXBvcnQtbm9kZS0yLjMuMy50Z3ojODRm ZGExOWM5NzZlYzVjNmRlZmVmNTdmOTQyN2IzZGVmNjZlMTdhMyIKQEAgLTE0NzksMjMzICsxNjc4 LDM3IEBAIGJhYmVsLXBsdWdpbi1keW5hbWljLWltcG9ydC1ub2RlQF4yLjMuMzoKICAgZGVwZW5k ZW5jaWVzOgogICAgIG9iamVjdC5hc3NpZ24gIl40LjEuMCIKIAotYmFiZWwtcGx1Z2luLXN5bnRh eC1vYmplY3QtcmVzdC1zcHJlYWRANy4wLjAtYmV0YS4zOgotICB2ZXJzaW9uICI3LjAuMC1iZXRh LjMiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2JhYmVsLXBsdWdp bi1zeW50YXgtb2JqZWN0LXJlc3Qtc3ByZWFkLy0vYmFiZWwtcGx1Z2luLXN5bnRheC1vYmplY3Qt cmVzdC1zcHJlYWQtNy4wLjAtYmV0YS4zLnRneiM3Zjc4MWMxODA4OTlkYWZkODhmMTMyZjY5NDcy Mzk3NTQ5YmU0OGU1IgotICBpbnRlZ3JpdHkgc2hhNTEyLTIxL01ubVVGZHVMcjRKenhyS01tL01l RitKanlpNVVkWm8zOElxenJQMHNMaG1QYmFsNVpBVUo0SGdXSDQzMzlTZGpuWWdFTmFjYlk1d2Zr L3p4VEdnPT0KLQotYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtYXJyb3ctZnVuY3Rpb25z QF42LjMuMTM6Ci0gIHZlcnNpb24gIjYuMjIuMCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0 cnkueWFybnBrZy5jb20vYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtYXJyb3ctZnVuY3Rp b25zLy0vYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtYXJyb3ctZnVuY3Rpb25zLTYuMjIu MC50Z3ojNDUyNjkyY2I3MTFkNWY3OWRjN2Y4NWU0NDBjZTQxYjlmMjQ0ZDIyMSIKLSAgaW50ZWdy aXR5IHNoYTEtUlNhU3kzRWRYM25jZjRYa1FNNUJ1ZkpFMGlFPQotICBkZXBlbmRlbmNpZXM6Ci0g ICAgYmFiZWwtcnVudGltZSAiXjYuMjIuMCIKLQotYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIw MTUtYmxvY2stc2NvcGVkLWZ1bmN0aW9uc0BeNi4zLjEzOgotICB2ZXJzaW9uICI2LjIyLjAiCi0g IHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2JhYmVsLXBsdWdpbi10cmFu c2Zvcm0tZXMyMDE1LWJsb2NrLXNjb3BlZC1mdW5jdGlvbnMvLS9iYWJlbC1wbHVnaW4tdHJhbnNm b3JtLWVzMjAxNS1ibG9jay1zY29wZWQtZnVuY3Rpb25zLTYuMjIuMC50Z3ojYmJjNTFiNDlmOTY0 ZDcwY2I4ZDhlMGI5NGU4MjAyNDZjZTNhNjE0MSIKLSAgaW50ZWdyaXR5IHNoYTEtdThVYlNmbGsx d3k0Mk9DNVRvSUNSczQ2WVVFPQotICBkZXBlbmRlbmNpZXM6Ci0gICAgYmFiZWwtcnVudGltZSAi XjYuMjIuMCIKLQotYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtYmxvY2stc2NvcGluZ0Be Ni45LjA6Ci0gIHZlcnNpb24gIjYuMjYuMCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnku eWFybnBrZy5jb20vYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtYmxvY2stc2NvcGluZy8t L2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWJsb2NrLXNjb3BpbmctNi4yNi4wLnRneiNk NzBmNTI5OWMxMzA4ZDA1YzEyZjQ2MzgxM2IwYTA5ZTczYjE4OTVmIgotICBpbnRlZ3JpdHkgc2hh MS0xdzlTbWNFd2pRWEJMMFk0RTdDZ25uT3hpVjg9Ci0gIGRlcGVuZGVuY2llczoKLSAgICBiYWJl bC1ydW50aW1lICJeNi4yNi4wIgotICAgIGJhYmVsLXRlbXBsYXRlICJeNi4yNi4wIgotICAgIGJh YmVsLXRyYXZlcnNlICJeNi4yNi4wIgotICAgIGJhYmVsLXR5cGVzICJeNi4yNi4wIgotICAgIGxv ZGFzaCAiXjQuMTcuNCIKLQotYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtY2xhc3Nlc0Be Ni45LjA6Ci0gIHZlcnNpb24gIjYuMjQuMSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnku eWFybnBrZy5jb20vYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtY2xhc3Nlcy8tL2JhYmVs LXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWNsYXNzZXMtNi4yNC4xLnRneiM1YTRjNThhNTBjOWM5 NDYxZTU2NGI0YjJhM2JmYWJjOTdhMjU4NGRiIgotICBpbnRlZ3JpdHkgc2hhMS1Xa3hZcFF5Y2xH SGxaTFN5bzcrcnlYb2xoTnM9Ci0gIGRlcGVuZGVuY2llczoKLSAgICBiYWJlbC1oZWxwZXItZGVm aW5lLW1hcCAiXjYuMjQuMSIKLSAgICBiYWJlbC1oZWxwZXItZnVuY3Rpb24tbmFtZSAiXjYuMjQu MSIKLSAgICBiYWJlbC1oZWxwZXItb3B0aW1pc2UtY2FsbC1leHByZXNzaW9uICJeNi4yNC4xIgot ICAgIGJhYmVsLWhlbHBlci1yZXBsYWNlLXN1cGVycyAiXjYuMjQuMSIKLSAgICBiYWJlbC1tZXNz YWdlcyAiXjYuMjMuMCIKLSAgICBiYWJlbC1ydW50aW1lICJeNi4yMi4wIgotICAgIGJhYmVsLXRl bXBsYXRlICJeNi4yNC4xIgotICAgIGJhYmVsLXRyYXZlcnNlICJeNi4yNC4xIgotICAgIGJhYmVs LXR5cGVzICJeNi4yNC4xIgotCi1iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1jb21wdXRl ZC1wcm9wZXJ0aWVzQF42LjMuMTM6Ci0gIHZlcnNpb24gIjYuMjQuMSIKLSAgcmVzb2x2ZWQgImh0 dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUt Y29tcHV0ZWQtcHJvcGVydGllcy8tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWNvbXB1 dGVkLXByb3BlcnRpZXMtNi4yNC4xLnRneiM2ZmUyYThkMTY4OTVkNTYzNGY0Y2Q5OTliNmQzNDgw YTMwODE1OWIzIgotICBpbnRlZ3JpdHkgc2hhMS1iK0tvMFdpVjFXTlBUTm1adHROSUNqQ0JXYk09 Ci0gIGRlcGVuZGVuY2llczoKLSAgICBiYWJlbC1ydW50aW1lICJeNi4yMi4wIgotICAgIGJhYmVs LXRlbXBsYXRlICJeNi4yNC4xIgotCi1iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1kZXN0 cnVjdHVyaW5nQF42LjkuMDoKLSAgdmVyc2lvbiAiNi4yMy4wIgotICByZXNvbHZlZCAiaHR0cHM6 Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1kZXN0 cnVjdHVyaW5nLy0vYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtZGVzdHJ1Y3R1cmluZy02 LjIzLjAudGd6Izk5N2JiMWYxYWI5NjdmNjgyZDJiMDg3NmZlMzU4ZDYwZTc2NWM1NmQiCi0gIGlu dGVncml0eSBzaGExLW1YdXg4YXVXZjJndEt3aDIvaldOWU9kbHhXMD0KLSAgZGVwZW5kZW5jaWVz OgotICAgIGJhYmVsLXJ1bnRpbWUgIl42LjIyLjAiCi0KLWJhYmVsLXBsdWdpbi10cmFuc2Zvcm0t ZXMyMDE1LWR1cGxpY2F0ZS1rZXlzQF42LjYuMDoKLSAgdmVyc2lvbiAiNi4yNC4xIgotICByZXNv bHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9iYWJlbC1wbHVnaW4tdHJhbnNmb3Jt LWVzMjAxNS1kdXBsaWNhdGUta2V5cy8tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWR1 cGxpY2F0ZS1rZXlzLTYuMjQuMS50Z3ojNzNlYjNkMzEwY2E5NjllM2VmOWVjOTFjNTM3NDFhNmYx NTc2NDIzZSIKLSAgaW50ZWdyaXR5IHNoYTEtYytzOU1ReXBhZVB2bnNrY1UzUWFieFYyUWo0PQor YmFiZWwtcGx1Z2luLWVtb3Rpb25AXjEwLjAuMjc6CisgIHZlcnNpb24gIjEwLjAuMzMiCisgIHJl c29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2JhYmVsLXBsdWdpbi1lbW90aW9u Ly0vYmFiZWwtcGx1Z2luLWVtb3Rpb24tMTAuMC4zMy50Z3ojY2UxMTU1ZGNkMTc4M2JiYjkyODYw NTFlZmVlNTNmNGUyYmU2M2UwMyIKKyAgaW50ZWdyaXR5IHNoYTUxMi1ieFpiVFRHejBBSlFESG04 azZSZjNSUUo4dFgyc2NzZnNSeUtWZ0FiaVVQVU5JUnRsSys3SnhQK1RBZDFrUkxBQkZ4ZTBDRm0y VmRLNGVQa29BOUZ4UT09CiAgIGRlcGVuZGVuY2llczoKLSAgICBiYWJlbC1ydW50aW1lICJeNi4y Mi4wIgotICAgIGJhYmVsLXR5cGVzICJeNi4yNC4xIgotCi1iYWJlbC1wbHVnaW4tdHJhbnNmb3Jt LWVzMjAxNS1mb3Itb2ZAXjYuNi4wOgotICB2ZXJzaW9uICI2LjIzLjAiCi0gIHJlc29sdmVkICJo dHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1 LWZvci1vZi8tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWZvci1vZi02LjIzLjAudGd6 I2Y0N2M5NWIyYjYxM2RmMWQzZWNjMmZkYjc1NzM2MjNjNzUyNDg2OTEiCi0gIGludGVncml0eSBz aGExLTlIeVZzcllUM3gwK3pDL2JkWE5pUEhVa2hwRT0KLSAgZGVwZW5kZW5jaWVzOgotICAgIGJh YmVsLXJ1bnRpbWUgIl42LjIyLjAiCi0KLWJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWZ1 bmN0aW9uLW5hbWVAXjYuOS4wOgotICB2ZXJzaW9uICI2LjI0LjEiCi0gIHJlc29sdmVkICJodHRw czovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWZ1 bmN0aW9uLW5hbWUvLS9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1mdW5jdGlvbi1uYW1l LTYuMjQuMS50Z3ojODM0Yzg5ODUzYmMzNmIxYWYwZjNhNGM1ZGJhYTk0ZmQ4ZWFjYWE4YiIKLSAg aW50ZWdyaXR5IHNoYTEtZzB5SmhUdkRheHJ3ODZURjI2cVUvWTZzcW9zPQotICBkZXBlbmRlbmNp ZXM6Ci0gICAgYmFiZWwtaGVscGVyLWZ1bmN0aW9uLW5hbWUgIl42LjI0LjEiCi0gICAgYmFiZWwt cnVudGltZSAiXjYuMjIuMCIKLSAgICBiYWJlbC10eXBlcyAiXjYuMjQuMSIKLQotYmFiZWwtcGx1 Z2luLXRyYW5zZm9ybS1lczIwMTUtbGl0ZXJhbHNAXjYuMy4xMzoKLSAgdmVyc2lvbiAiNi4yMi4w IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9iYWJlbC1wbHVnaW4t dHJhbnNmb3JtLWVzMjAxNS1saXRlcmFscy8tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1 LWxpdGVyYWxzLTYuMjIuMC50Z3ojNGY1NGEwMmQ2Y2Q2NmNmOTE1MjgwMDE5YTMxZDMxOTI1Mzc3 Y2EyZSIKLSAgaW50ZWdyaXR5IHNoYTEtVDFTZ0xXeldiUGtWS0FBWm94MHhrbE4zeWk0PQotICBk ZXBlbmRlbmNpZXM6Ci0gICAgYmFiZWwtcnVudGltZSAiXjYuMjIuMCIKLQotYmFiZWwtcGx1Z2lu LXRyYW5zZm9ybS1lczIwMTUtbW9kdWxlcy1hbWRAXjYuMjQuMToKLSAgdmVyc2lvbiAiNi4yNC4x IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9iYWJlbC1wbHVnaW4t dHJhbnNmb3JtLWVzMjAxNS1tb2R1bGVzLWFtZC8tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMy MDE1LW1vZHVsZXMtYW1kLTYuMjQuMS50Z3ojM2IzZTU0MDE3MjM5ODQyZDZkMTljMzAxMWM0YmQy ZjAwYTAwZDE1NCIKLSAgaW50ZWdyaXR5IHNoYTEtT3o1VUFYSTVoQzF0R2NNQkhFdlM4QW9BMFZR PQotICBkZXBlbmRlbmNpZXM6Ci0gICAgYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtbW9k dWxlcy1jb21tb25qcyAiXjYuMjQuMSIKLSAgICBiYWJlbC1ydW50aW1lICJeNi4yMi4wIgotICAg IGJhYmVsLXRlbXBsYXRlICJeNi4yNC4xIgotCi1iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAx NS1tb2R1bGVzLWNvbW1vbmpzQF42LjI0LjEsIGJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1 LW1vZHVsZXMtY29tbW9uanNAXjYuNi4wOgotICB2ZXJzaW9uICI2LjI2LjIiCi0gIHJlc29sdmVk ICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMy MDE1LW1vZHVsZXMtY29tbW9uanMvLS9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1tb2R1 bGVzLWNvbW1vbmpzLTYuMjYuMi50Z3ojNThhNzkzODYzYTllN2NhODcwYmRjNWE4ODExMTdmZmFj MjdkYjZmMyIKLSAgaW50ZWdyaXR5IHNoYTUxMi1DVjlST09IRWRyamN3aElhSk5CR01CQ29kTisx Y2Zrd3RNMVNiVUhtdnl5MzVLR1Q3Zm9oYnBPeGtFMnVMejFvNm9kS0syQ2svdHo0N3orVnFRZmk5 UT09Ci0gIGRlcGVuZGVuY2llczoKLSAgICBiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLXN0cmljdC1t b2RlICJeNi4yNC4xIgotICAgIGJhYmVsLXJ1bnRpbWUgIl42LjI2LjAiCi0gICAgYmFiZWwtdGVt cGxhdGUgIl42LjI2LjAiCi0gICAgYmFiZWwtdHlwZXMgIl42LjI2LjAiCi0KLWJhYmVsLXBsdWdp bi10cmFuc2Zvcm0tZXMyMDE1LW9iamVjdC1zdXBlckBeNi4zLjEzOgotICB2ZXJzaW9uICI2LjI0 LjEiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2JhYmVsLXBsdWdp bi10cmFuc2Zvcm0tZXMyMDE1LW9iamVjdC1zdXBlci8tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0t ZXMyMDE1LW9iamVjdC1zdXBlci02LjI0LjEudGd6IzI0Y2VmNjlhZTIxY2I4M2E3Zjg2MDNkYWQw MjFmNTcyZWIyNzhmOGQiCi0gIGludGVncml0eSBzaGExLUpNNzJtdUljdURwL2hnUGEwQ0gxY3Vz bmo0MD0KLSAgZGVwZW5kZW5jaWVzOgotICAgIGJhYmVsLWhlbHBlci1yZXBsYWNlLXN1cGVycyAi XjYuMjQuMSIKLSAgICBiYWJlbC1ydW50aW1lICJeNi4yMi4wIgotCi1iYWJlbC1wbHVnaW4tdHJh bnNmb3JtLWVzMjAxNS1wYXJhbWV0ZXJzQF42LjkuMDoKLSAgdmVyc2lvbiAiNi4yNC4xIgotICBy ZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9iYWJlbC1wbHVnaW4tdHJhbnNm b3JtLWVzMjAxNS1wYXJhbWV0ZXJzLy0vYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtcGFy YW1ldGVycy02LjI0LjEudGd6IzU3YWMzNTFhYjQ5Y2FmMTRhOTdjZDEzYjA5ZjY2ZmRmMGE2MjVm MmIiCi0gIGludGVncml0eSBzaGExLVY2dzFHclNjcnhTcGZORTdDZlp2M3dwaVh5cz0KLSAgZGVw ZW5kZW5jaWVzOgotICAgIGJhYmVsLWhlbHBlci1jYWxsLWRlbGVnYXRlICJeNi4yNC4xIgotICAg IGJhYmVsLWhlbHBlci1nZXQtZnVuY3Rpb24tYXJpdHkgIl42LjI0LjEiCi0gICAgYmFiZWwtcnVu dGltZSAiXjYuMjIuMCIKLSAgICBiYWJlbC10ZW1wbGF0ZSAiXjYuMjQuMSIKLSAgICBiYWJlbC10 cmF2ZXJzZSAiXjYuMjQuMSIKLSAgICBiYWJlbC10eXBlcyAiXjYuMjQuMSIKLQotYmFiZWwtcGx1 Z2luLXRyYW5zZm9ybS1lczIwMTUtc2hvcnRoYW5kLXByb3BlcnRpZXNAXjYuMy4xMzoKLSAgdmVy c2lvbiAiNi4yNC4xIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9i YWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1zaG9ydGhhbmQtcHJvcGVydGllcy8tL2JhYmVs LXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LXNob3J0aGFuZC1wcm9wZXJ0aWVzLTYuMjQuMS50Z3oj MjRmODc1ZDY3MjFjODc2NjFiYmQ5OWE0NjIyZTUxZjE0ZGUzOGFhMCIKLSAgaW50ZWdyaXR5IHNo YTEtSlBoMTFuSWNoMllidlpta1lpNVI4VTNqaXFBPQotICBkZXBlbmRlbmNpZXM6Ci0gICAgYmFi ZWwtcnVudGltZSAiXjYuMjIuMCIKLSAgICBiYWJlbC10eXBlcyAiXjYuMjQuMSIKLQotYmFiZWwt cGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtc3ByZWFkQF42LjMuMTM6Ci0gIHZlcnNpb24gIjYuMjIu MCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYmFiZWwtcGx1Z2lu LXRyYW5zZm9ybS1lczIwMTUtc3ByZWFkLy0vYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUt c3ByZWFkLTYuMjIuMC50Z3ojZDZkNjhhOTlmODlhZWRjNDUzNmM4MWE1NDJlOGRkOWYxNzQ2Zjhk MSIKLSAgaW50ZWdyaXR5IHNoYTEtMXRhS21maWE3Y1JUYklHbFF1amRueGRHK05FPQotICBkZXBl bmRlbmNpZXM6Ci0gICAgYmFiZWwtcnVudGltZSAiXjYuMjIuMCIKLQotYmFiZWwtcGx1Z2luLXRy YW5zZm9ybS1lczIwMTUtc3RpY2t5LXJlZ2V4QF42LjMuMTM6Ci0gIHZlcnNpb24gIjYuMjQuMSIK LSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYmFiZWwtcGx1Z2luLXRy YW5zZm9ybS1lczIwMTUtc3RpY2t5LXJlZ2V4Ly0vYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIw MTUtc3RpY2t5LXJlZ2V4LTYuMjQuMS50Z3ojMDBjMWNkYjFhY2E3MTExMmNkZjBjZjYxMjZjMmVk NmI0NTdjY2RiYyIKLSAgaW50ZWdyaXR5IHNoYTEtQU1ITnNheW5FUkxOOE05aEpzTHRhMFY4emJ3 PQotICBkZXBlbmRlbmNpZXM6Ci0gICAgYmFiZWwtaGVscGVyLXJlZ2V4ICJeNi4yNC4xIgotICAg IGJhYmVsLXJ1bnRpbWUgIl42LjIyLjAiCi0gICAgYmFiZWwtdHlwZXMgIl42LjI0LjEiCi0KLWJh YmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LXRlbXBsYXRlLWxpdGVyYWxzQF42LjYuMDoKLSAg dmVyc2lvbiAiNi4yMi4wIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNv bS9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS10ZW1wbGF0ZS1saXRlcmFscy8tL2JhYmVs LXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LXRlbXBsYXRlLWxpdGVyYWxzLTYuMjIuMC50Z3ojYTg0 YjM0NTBmN2U5ZjhmMWY2ODM5ZDZkNjg3ZGE4NGJiMTIzNmQ4ZCIKLSAgaW50ZWdyaXR5IHNoYTEt cUVzMFVQZnArUEgyZzUxdGFIMm9TN0VqYlkwPQotICBkZXBlbmRlbmNpZXM6Ci0gICAgYmFiZWwt cnVudGltZSAiXjYuMjIuMCIKLQotYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtdHlwZW9m LXN5bWJvbEBeNi42LjA6Ci0gIHZlcnNpb24gIjYuMjMuMCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8v cmVnaXN0cnkueWFybnBrZy5jb20vYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtdHlwZW9m LXN5bWJvbC8tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LXR5cGVvZi1zeW1ib2wtNi4y My4wLnRneiNkZWMwOWYxY2RkZmY5NGI1MmFjNzNkNTA1Yzg0ZGY1OWRjY2ViMzcyIgotICBpbnRl Z3JpdHkgc2hhMS0zc0NmSE4zL2xMVXF4ejFRWElUZldkek9zM0k9Ci0gIGRlcGVuZGVuY2llczoK LSAgICBiYWJlbC1ydW50aW1lICJeNi4yMi4wIgotCi1iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVz MjAxNS11bmljb2RlLXJlZ2V4QF42LjMuMTM6Ci0gIHZlcnNpb24gIjYuMjQuMSIKLSAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1l czIwMTUtdW5pY29kZS1yZWdleC8tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LXVuaWNv ZGUtcmVnZXgtNi4yNC4xLnRneiNkMzhiMTJmNDJlYTczMjNmNzI5Mzg3ZjE4YTdjNWFlMWZhZWIz NWU5IgotICBpbnRlZ3JpdHkgc2hhMS0wNHNTOUM2bk1qOXlrNGZ4aW54YTRmcnJOZWs9Ci0gIGRl cGVuZGVuY2llczoKLSAgICBiYWJlbC1oZWxwZXItcmVnZXggIl42LjI0LjEiCi0gICAgYmFiZWwt cnVudGltZSAiXjYuMjIuMCIKLSAgICByZWdleHB1LWNvcmUgIl4yLjAuMCIKLQotYmFiZWwtcGx1 Z2luLXRyYW5zZm9ybS1vYmplY3QtcmVzdC1zcHJlYWRAXjcuMC4wLWJldGEuMzoKLSAgdmVyc2lv biAiNy4wLjAtYmV0YS4zIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNv bS9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLW9iamVjdC1yZXN0LXNwcmVhZC8tL2JhYmVsLXBsdWdp bi10cmFuc2Zvcm0tb2JqZWN0LXJlc3Qtc3ByZWFkLTcuMC4wLWJldGEuMy50Z3ojNWM0MDlmM2Nk NzA4MTlkYmIzMzgyZDIwNTY5NzFjNWViZTAxMzkzYSIKLSAgaW50ZWdyaXR5IHNoYTUxMi1OT2xo cnExQ214eXVJOTR2TnNxTWhSUE11TDVWRzJFS1VPSUpRMGJ3TmlYQml3V1JMZFBvV3lQVCtJcnJ4 NWc0ZzBQa0ZnQTQ2dG5SajdEYzRaR3N4Zz09Ci0gIGRlcGVuZGVuY2llczoKLSAgICBiYWJlbC1w bHVnaW4tc3ludGF4LW9iamVjdC1yZXN0LXNwcmVhZCAiNy4wLjAtYmV0YS4zIgorICAgICJAYmFi ZWwvaGVscGVyLW1vZHVsZS1pbXBvcnRzIiAiXjcuMC4wIgorICAgICJAZW1vdGlvbi9oYXNoIiAi MC44LjAiCisgICAgIkBlbW90aW9uL21lbW9pemUiICIwLjcuNCIKKyAgICAiQGVtb3Rpb24vc2Vy aWFsaXplIiAiXjAuMTEuMTYiCisgICAgYmFiZWwtcGx1Z2luLW1hY3JvcyAiXjIuMC4wIgorICAg IGJhYmVsLXBsdWdpbi1zeW50YXgtanN4ICJeNi4xOC4wIgorICAgIGNvbnZlcnQtc291cmNlLW1h cCAiXjEuNS4wIgorICAgIGVzY2FwZS1zdHJpbmctcmVnZXhwICJeMS4wLjUiCisgICAgZmluZC1y b290ICJeMS4xLjAiCisgICAgc291cmNlLW1hcCAiXjAuNS43IgogCi1iYWJlbC1wbHVnaW4tdHJh bnNmb3JtLXJlZ2VuZXJhdG9yQF42LjkuMDoKLSAgdmVyc2lvbiAiNi4yNi4wIgotICByZXNvbHZl ZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLXJl Z2VuZXJhdG9yLy0vYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1yZWdlbmVyYXRvci02LjI2LjAudGd6 I2UwNzAzNjk2ZmJkZTI3ZjBhM2VmY2FjZjhiNGRjYTJmN2IzYThmMmYiCi0gIGludGVncml0eSBz aGExLTRIQTJsdnZlSi9Dajc4clBpMDNLTDNzNmp5OD0KK2JhYmVsLXBsdWdpbi1tYWNyb3NAXjIu MC4wOgorICB2ZXJzaW9uICIyLjguMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFy bnBrZy5jb20vYmFiZWwtcGx1Z2luLW1hY3Jvcy8tL2JhYmVsLXBsdWdpbi1tYWNyb3MtMi44LjAu dGd6IzBmOTU4YTdjYzY1NTZiMWU2NTM0NDQ2NWQ5OTExMWExZTVlMTAxMzgiCisgIGludGVncml0 eSBzaGE1MTItU0VQNWtKcGZHWXFZS3BCcmo1WFUzYWh3NXA1R09ISjBVNXNzT1NRL1dCVmR3a0Qy RHpsY2U5NWV4UVRzM2pPVldQUEtMQk4ycmxFV2tDSzdkU21Mdmc9PQogICBkZXBlbmRlbmNpZXM6 Ci0gICAgcmVnZW5lcmF0b3ItdHJhbnNmb3JtICJeMC4xMC4wIgorICAgICJAYmFiZWwvcnVudGlt ZSIgIl43LjcuMiIKKyAgICBjb3NtaWNvbmZpZyAiXjYuMC4wIgorICAgIHJlc29sdmUgIl4xLjEy LjAiCiAKLWJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tc3RyaWN0LW1vZGVAXjYuMjQuMToKLSAgdmVy c2lvbiAiNi4yNC4xIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9i YWJlbC1wbHVnaW4tdHJhbnNmb3JtLXN0cmljdC1tb2RlLy0vYmFiZWwtcGx1Z2luLXRyYW5zZm9y bS1zdHJpY3QtbW9kZS02LjI0LjEudGd6I2Q1ZmFmN2FhNTc4YTY1YmJlNTkxY2Y1ZWRhZTA0YTBj NjcwMjA3NTgiCi0gIGludGVncml0eSBzaGExLTFmcjNxbGVLWmJ2bGtjOWUydUJLREdjQ0IxZz0K LSAgZGVwZW5kZW5jaWVzOgotICAgIGJhYmVsLXJ1bnRpbWUgIl42LjIyLjAiCi0gICAgYmFiZWwt dHlwZXMgIl42LjI0LjEiCitiYWJlbC1wbHVnaW4tc3ludGF4LWpzeEBeNi4xOC4wOgorICB2ZXJz aW9uICI2LjE4LjAiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Jh YmVsLXBsdWdpbi1zeW50YXgtanN4Ly0vYmFiZWwtcGx1Z2luLXN5bnRheC1qc3gtNi4xOC4wLnRn eiMwYWYzMmE5YTZlMTNjYTdhM2ZkNTA2OWU2MmQ3YjBmNThkMGQ4OTQ2IgorICBpbnRlZ3JpdHkg c2hhMS1Ddk1xbW00VHluby8xUWFlWXRldzlZME5pVVk9CiAKLWJhYmVsLXByZXNldC1lczIwMTUt d2l0aG91dC1zdHJpY3RAfjAuMC40OgotICB2ZXJzaW9uICIwLjAuNCIKLSAgcmVzb2x2ZWQgImh0 dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYmFiZWwtcHJlc2V0LWVzMjAxNS13aXRob3V0LXN0 cmljdC8tL2JhYmVsLXByZXNldC1lczIwMTUtd2l0aG91dC1zdHJpY3QtMC4wLjQudGd6Izg4Yzlm MzZlNzlkNDc2MmM1ODM0N2IxYTY5OGEwN2MzNWI2YmRhNWQiCi0gIGludGVncml0eSBzaGExLWlN bnpibm5VZGl4WU5Ic2FhWW9IdzF0cjJsMD0KLSAgZGVwZW5kZW5jaWVzOgotICAgIGJhYmVsLXBs dWdpbi1jaGVjay1lczIwMTUtY29uc3RhbnRzICJeNi4zLjEzIgotICAgIGJhYmVsLXBsdWdpbi10 cmFuc2Zvcm0tZXMyMDE1LWFycm93LWZ1bmN0aW9ucyAiXjYuMy4xMyIKLSAgICBiYWJlbC1wbHVn aW4tdHJhbnNmb3JtLWVzMjAxNS1ibG9jay1zY29wZWQtZnVuY3Rpb25zICJeNi4zLjEzIgotICAg IGJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWJsb2NrLXNjb3BpbmcgIl42LjkuMCIKLSAg ICBiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1jbGFzc2VzICJeNi45LjAiCi0gICAgYmFi ZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtY29tcHV0ZWQtcHJvcGVydGllcyAiXjYuMy4xMyIK LSAgICBiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1kZXN0cnVjdHVyaW5nICJeNi45LjAi Ci0gICAgYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtZHVwbGljYXRlLWtleXMgIl42LjYu MCIKLSAgICBiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1mb3Itb2YgIl42LjYuMCIKLSAg ICBiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1mdW5jdGlvbi1uYW1lICJeNi45LjAiCi0g ICAgYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtbGl0ZXJhbHMgIl42LjMuMTMiCi0gICAg YmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtbW9kdWxlcy1jb21tb25qcyAiXjYuNi4wIgot ICAgIGJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LW9iamVjdC1zdXBlciAiXjYuMy4xMyIK LSAgICBiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1wYXJhbWV0ZXJzICJeNi45LjAiCi0g ICAgYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtc2hvcnRoYW5kLXByb3BlcnRpZXMgIl42 LjMuMTMiCi0gICAgYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtc3ByZWFkICJeNi4zLjEz IgotICAgIGJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LXN0aWNreS1yZWdleCAiXjYuMy4x MyIKLSAgICBiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS10ZW1wbGF0ZS1saXRlcmFscyAi XjYuNi4wIgotICAgIGJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LXR5cGVvZi1zeW1ib2wg Il42LjYuMCIKLSAgICBiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS11bmljb2RlLXJlZ2V4 ICJeNi4zLjEzIgotICAgIGJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tcmVnZW5lcmF0b3IgIl42Ljku MCIKLQotYmFiZWwtcnVudGltZUBeNi4xOC4wLCBiYWJlbC1ydW50aW1lQF42LjIyLjAsIGJhYmVs LXJ1bnRpbWVAXjYuMjYuMDoKK2JhYmVsLXJ1bnRpbWVAXjYuMjIuMCwgYmFiZWwtcnVudGltZUBe Ni4yNi4wOgogICB2ZXJzaW9uICI2LjI2LjAiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5 Lnlhcm5wa2cuY29tL2JhYmVsLXJ1bnRpbWUvLS9iYWJlbC1ydW50aW1lLTYuMjYuMC50Z3ojOTY1 YzcwNTg2NjhlODJiNTVkN2JmZTA0ZmYyMzM3YmM4YjU2NDdmZSIKICAgaW50ZWdyaXR5IHNoYTEt bGx4d1dHYU9nclZkZS80RS95TTN2SXRXUi80PQpAQCAtMTcxMyw3ICsxNzE2LDcgQEAgYmFiZWwt cnVudGltZUBeNi4xOC4wLCBiYWJlbC1ydW50aW1lQF42LjIyLjAsIGJhYmVsLXJ1bnRpbWVAXjYu MjYuMDoKICAgICBjb3JlLWpzICJeMi40LjAiCiAgICAgcmVnZW5lcmF0b3ItcnVudGltZSAiXjAu MTEuMCIKIAotYmFiZWwtdGVtcGxhdGVAXjYuMTYuMCwgYmFiZWwtdGVtcGxhdGVAXjYuMjQuMSwg YmFiZWwtdGVtcGxhdGVAXjYuMjYuMDoKK2JhYmVsLXRlbXBsYXRlQF42LjE2LjA6CiAgIHZlcnNp b24gIjYuMjYuMCIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYmFi ZWwtdGVtcGxhdGUvLS9iYWJlbC10ZW1wbGF0ZS02LjI2LjAudGd6I2RlMDNlMmQxNjM5NmIwNjlm NDZkZDlmZmY4NTIxZmIxYTBlMzVlMDIiCiAgIGludGVncml0eSBzaGExLTNnUGkwV09Xc0duMGJk bi8rRklmc2FEalhnST0KQEAgLTE3MjQsNyArMTcyNyw3IEBAIGJhYmVsLXRlbXBsYXRlQF42LjE2 LjAsIGJhYmVsLXRlbXBsYXRlQF42LjI0LjEsIGJhYmVsLXRlbXBsYXRlQF42LjI2LjA6CiAgICAg YmFieWxvbiAiXjYuMTguMCIKICAgICBsb2Rhc2ggIl40LjE3LjQiCiAKLWJhYmVsLXRyYXZlcnNl QF42LjE4LjAsIGJhYmVsLXRyYXZlcnNlQF42LjI0LjEsIGJhYmVsLXRyYXZlcnNlQF42LjI2LjA6 CitiYWJlbC10cmF2ZXJzZUBeNi4xOC4wLCBiYWJlbC10cmF2ZXJzZUBeNi4yNi4wOgogICB2ZXJz aW9uICI2LjI2LjAiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Jh YmVsLXRyYXZlcnNlLy0vYmFiZWwtdHJhdmVyc2UtNi4yNi4wLnRneiM0NmE5Y2JkN2VkY2M2MmM4 ZTVjMDY0ZTJkMmQ4ZDBmNDAzNTc2NmVlIgogICBpbnRlZ3JpdHkgc2hhMS1ScW5MMSszTVlzamx3 R1RpMHRqUTlBTlhadTQ9CkBAIC0xNzM5LDcgKzE3NDIsNyBAQCBiYWJlbC10cmF2ZXJzZUBeNi4x OC4wLCBiYWJlbC10cmF2ZXJzZUBeNi4yNC4xLCBiYWJlbC10cmF2ZXJzZUBeNi4yNi4wOgogICAg IGludmFyaWFudCAiXjIuMi4yIgogICAgIGxvZGFzaCAiXjQuMTcuNCIKIAotYmFiZWwtdHlwZXNA XjYuMTguMCwgYmFiZWwtdHlwZXNAXjYuMTkuMCwgYmFiZWwtdHlwZXNAXjYuMjQuMSwgYmFiZWwt dHlwZXNAXjYuMjYuMDoKK2JhYmVsLXR5cGVzQF42LjE4LjAsIGJhYmVsLXR5cGVzQF42LjI2LjA6 CiAgIHZlcnNpb24gIjYuMjYuMCIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBr Zy5jb20vYmFiZWwtdHlwZXMvLS9iYWJlbC10eXBlcy02LjI2LjAudGd6I2EzYjA3M2Y5NGFiNDll YjZmYTU1Y2Q2NTIyN2EzMzQzODA2MzI0OTciCiAgIGludGVncml0eSBzaGExLW83QnorVXEwbnJi NlZjMWxJbm96UTRCakpKYz0KQEAgLTE4MjMsMTAgKzE4MjYsMTUgQEAgYmFzZTY0LWFycmF5YnVm ZmVyQDAuMS41OgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9iYXNl NjQtYXJyYXlidWZmZXIvLS9iYXNlNjQtYXJyYXlidWZmZXItMC4xLjUudGd6IzczOTI2NzcxOTIz YjVhMTk3NDdhZDY2NmFhNWNkNGJmOWM2ZTljZTgiCiAgIGludGVncml0eSBzaGExLWM1Sm5jWkk3 V2hsMGV0Wm1xbHpVdjV4dW5PZz0KIAotYmFzZTY0LWpzQF4xLjAuMjoKLSAgdmVyc2lvbiAiMS4z LjEiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Jhc2U2NC1qcy8t L2Jhc2U2NC1qcy0xLjMuMS50Z3ojNThlY2U4Y2I3NWRkMDdlNzFlZDA4YzczNmFiYzVmYWM0ZGJm OGRmMSIKLSAgaW50ZWdyaXR5IHNoYTUxMi1tTFE0aTJRTzF5dHZHV0ZXbWNuZ0tPLy9KWEFRdWVa dndFS3RqZ1FGTTRqSUswa1UreXRNZnBsTDhqK241bXNwT2ZqSHdvQWcrOXloYjdCd0FIbTM2Zz09 CitiYXNlNjQtYXJyYXlidWZmZXJAXjAuMi4wOgorICB2ZXJzaW9uICIwLjIuMCIKKyAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYmFzZTY0LWFycmF5YnVmZmVyLy0vYmFz ZTY0LWFycmF5YnVmZmVyLTAuMi4wLnRneiM0Yjk0NGZhYzAxOTFhYTU5MDdhZmUyZDhjOTk5Y2Nj NTdjZTgwZjQ1IgorICBpbnRlZ3JpdHkgc2hhNTEyLTdlbXlDc3UxL3hpQlhnUVpyc2N3LzhLUFJU NDRJNFlxOVBlNkVHczNhUFJUc1d1Z2dNTDEvMURUdVpVdUlhSlBJbTFGVERVVlhsNHgveVc4czBr UURRPT0KKworYmFzZTY0LWpzQF4xLjAuMiwgYmFzZTY0LWpzQF4xLjMuMToKKyAgdmVyc2lvbiAi MS41LjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Jhc2U2NC1q cy8tL2Jhc2U2NC1qcy0xLjUuMS50Z3ojMWIxYjQ0MDE2MGE1YmY3YWQ0MGI2NTBmMDk1OTYzNDgx OTAzOTMwYSIKKyAgaW50ZWdyaXR5IHNoYTUxMi1BS3BhWWxIbjh0NFNWYk9IQ3krYjUrS0tndlI0 dnJzRDh2YnZyYmlRSnBzN2ZLRFRramtEcnk2amkwclVKakMwa3piTmVQTHd6eHE4aXlwbzQxcWVX QT09CiAKIGJhc2U2NGlkQDEuMC4wOgogICB2ZXJzaW9uICIxLjAuMCIKQEAgLTE5NjYsNyArMTk3 NCw3IEBAIGJuLmpzQF40LjAuMCwgYm4uanNAXjQuMS4wLCBibi5qc0BeNC40LjA6CiAgIHJlc29s dmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2JuLmpzLy0vYm4uanMtNC4xMS45LnRn eiMyNmQ1NTY4Mjk0NThmOWQxZTgxZmM0ODk1MjQ5M2QwYmEzNTA3ODI4IgogICBpbnRlZ3JpdHkg c2hhNTEyLUU2UW9ZcUNLWmZnYXRIVGRIenMxUlJLUDdpcDR2dm0rRXlSVWVFMlJGME5ibHdWdmIw cDZqU1ZlTlRPRnhQbjI2UVhOMm82U01mTnhLcDZrVTh6UWF3PT0KIAotYm4uanNAXjUuMS4xOgor Ym4uanNAXjUuMC4wLCBibi5qc0BeNS4xLjE6CiAgIHZlcnNpb24gIjUuMS4zIgogICByZXNvbHZl ZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9ibi5qcy8tL2JuLmpzLTUuMS4zLnRneiNi ZWNhMDA1NDA4ZjY0MmViZWJlYTgwYjA0MmI0ZDE4ZDJhYzBlZTZiIgogICBpbnRlZ3JpdHkgc2hh NTEyLUdrVGlGcGpGdFV6VTlDYk1lSjVpYXprQ3pHTDNqcmh6ZXJ6Wkl1cUxBQmpid1JhRnQzM0k5 dFVkU05yeUlwdE0rUnhEZXQ2T0ttMlduTFh6VzUxS3NRPT0KQEAgLTIwMDQsMTAgKzIwMTIsMTAg QEAgYm9vdHN0cmFwNC10b2dnbGVAMy40LjA6CiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5 Lnlhcm5wa2cuY29tL2Jvb3RzdHJhcDQtdG9nZ2xlLy0vYm9vdHN0cmFwNC10b2dnbGUtMy40LjAu dGd6IzU4MjY0ZDRjN2ZkMjRlYjJlMDljY2E1MTU2YTMzOGIyYjIyYTQ3OTIiCiAgIGludGVncml0 eSBzaGE1MTItdktmQmdzaklDVzZtT3FiMjY0cXd3YmJHdHBjT3grcDlqT2xRbUxmUlowN2lHRSti NVliUWxZNGZ0OWFBaFB1bGg3VjNvS090RXV1cTBGY1NLQUk0YlE9PQogCi1ib290c3RyYXBAPj00 LjEuMiwgYm9vdHN0cmFwQF40LjMuMToKLSAgdmVyc2lvbiAiNC41LjIiCi0gIHJlc29sdmVkICJo dHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Jvb3RzdHJhcC8tL2Jvb3RzdHJhcC00LjUuMi50 Z3ojYTg1YzRlZGE1OTE1NWYwZDcxMTg2YjZlNmFkOWI4NzU4MTM3NzlhYiIKLSAgaW50ZWdyaXR5 IHNoYTUxMi12bEduMGJjeVNZbC9pVitCR0E1NDRKa2taUDVMQjNqc21rZUtMRlFha0NPd0NNM0FP azdWa2xkQno0anJ6U2UrWjBFem45OU5WWGExbzQ1Y1FZNFI2QT09Citib290c3RyYXBAXjQuMy4x LCBib290c3RyYXBAXjQuNS4yOgorICB2ZXJzaW9uICI0LjUuMyIKKyAgcmVzb2x2ZWQgImh0dHBz Oi8vcmVnaXN0cnkueWFybnBrZy5jb20vYm9vdHN0cmFwLy0vYm9vdHN0cmFwLTQuNS4zLnRneiNj NmE3MmIzNTVhYWYzMjM5MjBiZTgwMDI0NmE2ZTRlZjMwOTk3ZmU2IgorICBpbnRlZ3JpdHkgc2hh NTEyLW85cHBLUWlvWEdxaHc4WjdtYWg2S2RUWXBOUVkvL3RpcG5reHBwV2hQYmlTV2REKzFyYVlz bmh3RVpqa1RIWWJHZWU0Y1ZRMFJ4NjVFaE9ZL0hOTGNRPT0KIAogYm93c2VyQDIuMS4yOgogICB2 ZXJzaW9uICIyLjEuMiIKQEAgLTIxMDgsMTEgKzIxMTYsMTEgQEAgYnJvd3NlcmlmeS1kZXNAXjEu MC4wOgogICAgIHNhZmUtYnVmZmVyICJeNS4xLjIiCiAKIGJyb3dzZXJpZnktcnNhQF40LjAuMCwg YnJvd3NlcmlmeS1yc2FAXjQuMC4xOgotICB2ZXJzaW9uICI0LjAuMSIKLSAgcmVzb2x2ZWQgImh0 dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYnJvd3NlcmlmeS1yc2EvLS9icm93c2VyaWZ5LXJz YS00LjAuMS50Z3ojMjFlMGFiZmFmNmYyMDI5Y2YyZmFmYjEzMzU2N2E3MDFkNDEzNTUyNCIKLSAg aW50ZWdyaXR5IHNoYTEtSWVDcit2YnlBcHp5K3ZzVE5XZW5BZFFUVlNRPQorICB2ZXJzaW9uICI0 LjEuMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYnJvd3Nlcmlm eS1yc2EvLS9icm93c2VyaWZ5LXJzYS00LjEuMC50Z3ojYjJmZDA2YjViNzVhZTI5N2Y3Y2UyZGM2 NTFmOTE4ZjViZTE1OGM4ZCIKKyAgaW50ZWdyaXR5IHNoYTUxMi1BZEVFUjBIa3NwZ25vMmFSOTdT QWY2dmkweTBrOE51T3BHblZIM085OXJjQTVRNnNoOFF4Y25ndEh1SjZ1WHduZkFYTk00R24xR2I3 L01WMStZbWJvZz09CiAgIGRlcGVuZGVuY2llczoKLSAgICBibi5qcyAiXjQuMS4wIgorICAgIGJu LmpzICJeNS4wLjAiCiAgICAgcmFuZG9tYnl0ZXMgIl4yLjAuMSIKIAogYnJvd3NlcmlmeS1zaWdu QF40LjAuMDoKQEAgLTIxMzcsNyArMjE0NSw2MSBAQCBicm93c2VyaWZ5LXpsaWJAXjAuMi4wLCBi cm93c2VyaWZ5LXpsaWJAfjAuMi4wOgogICBkZXBlbmRlbmNpZXM6CiAgICAgcGFrbyAifjEuMC41 IgogCi1icm93c2VyaWZ5QF4xNi4xLjAsIGJyb3dzZXJpZnlAfjE2LjIuMzoKK2Jyb3dzZXJpZnlA XjE2LjEuMDoKKyAgdmVyc2lvbiAiMTYuNS4yIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3Ry eS55YXJucGtnLmNvbS9icm93c2VyaWZ5Ly0vYnJvd3NlcmlmeS0xNi41LjIudGd6I2Q5MjY4MzVl OTI4MGZhNWZkNTdmNWJjMzAxZjJlZjI0YTk3MmRkZmUiCisgIGludGVncml0eSBzaGE1MTItVGtP UjFjUUdkbVhVOXpXNFl1a1d6V1ZTSndyeG1OZEFERmJxYkUzSEZnUVdlNXdxWm1PYXdxWjdKLzhN UEN3ay9XOHlZN1kwaCs3bU90Y1p4TFAyM2c9PQorICBkZXBlbmRlbmNpZXM6CisgICAgSlNPTlN0 cmVhbSAiXjEuMC4zIgorICAgIGFzc2VydCAiXjEuNC4wIgorICAgIGJyb3dzZXItcGFjayAiXjYu MC4xIgorICAgIGJyb3dzZXItcmVzb2x2ZSAiXjIuMC4wIgorICAgIGJyb3dzZXJpZnktemxpYiAi fjAuMi4wIgorICAgIGJ1ZmZlciAifjUuMi4xIgorICAgIGNhY2hlZC1wYXRoLXJlbGF0aXZlICJe MS4wLjAiCisgICAgY29uY2F0LXN0cmVhbSAiXjEuNi4wIgorICAgIGNvbnNvbGUtYnJvd3Nlcmlm eSAiXjEuMS4wIgorICAgIGNvbnN0YW50cy1icm93c2VyaWZ5ICJ+MS4wLjAiCisgICAgY3J5cHRv LWJyb3dzZXJpZnkgIl4zLjAuMCIKKyAgICBkZWZpbmVkICJeMS4wLjAiCisgICAgZGVwcy1zb3J0 ICJeMi4wLjAiCisgICAgZG9tYWluLWJyb3dzZXIgIl4xLjIuMCIKKyAgICBkdXBsZXhlcjIgIn4w LjEuMiIKKyAgICBldmVudHMgIl4yLjAuMCIKKyAgICBnbG9iICJeNy4xLjAiCisgICAgaGFzICJe MS4wLjAiCisgICAgaHRtbGVzY2FwZSAiXjEuMS4wIgorICAgIGh0dHBzLWJyb3dzZXJpZnkgIl4x LjAuMCIKKyAgICBpbmhlcml0cyAifjIuMC4xIgorICAgIGluc2VydC1tb2R1bGUtZ2xvYmFscyAi XjcuMC4wIgorICAgIGxhYmVsZWQtc3RyZWFtLXNwbGljZXIgIl4yLjAuMCIKKyAgICBta2RpcnAt Y2xhc3NpYyAiXjAuNS4yIgorICAgIG1vZHVsZS1kZXBzICJeNi4yLjMiCisgICAgb3MtYnJvd3Nl cmlmeSAifjAuMy4wIgorICAgIHBhcmVudHMgIl4xLjAuMSIKKyAgICBwYXRoLWJyb3dzZXJpZnkg In4wLjAuMCIKKyAgICBwcm9jZXNzICJ+MC4xMS4wIgorICAgIHB1bnljb2RlICJeMS4zLjIiCisg ICAgcXVlcnlzdHJpbmctZXMzICJ+MC4yLjAiCisgICAgcmVhZC1vbmx5LXN0cmVhbSAiXjIuMC4w IgorICAgIHJlYWRhYmxlLXN0cmVhbSAiXjIuMC4yIgorICAgIHJlc29sdmUgIl4xLjEuNCIKKyAg ICBzaGFzdW0gIl4xLjAuMCIKKyAgICBzaGVsbC1xdW90ZSAiXjEuNi4xIgorICAgIHN0cmVhbS1i cm93c2VyaWZ5ICJeMi4wLjAiCisgICAgc3RyZWFtLWh0dHAgIl4zLjAuMCIKKyAgICBzdHJpbmdf ZGVjb2RlciAiXjEuMS4xIgorICAgIHN1YmFyZyAiXjEuMC4wIgorICAgIHN5bnRheC1lcnJvciAi XjEuMS4xIgorICAgIHRocm91Z2gyICJeMi4wLjAiCisgICAgdGltZXJzLWJyb3dzZXJpZnkgIl4x LjAuMSIKKyAgICB0dHktYnJvd3NlcmlmeSAiMC4wLjEiCisgICAgdXJsICJ+MC4xMS4wIgorICAg IHV0aWwgIn4wLjEwLjEiCisgICAgdm0tYnJvd3NlcmlmeSAiXjEuMC4wIgorICAgIHh0ZW5kICJe NC4wLjAiCisKK2Jyb3dzZXJpZnlAfjE2LjIuMzoKICAgdmVyc2lvbiAiMTYuMi4zIgogICByZXNv bHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9icm93c2VyaWZ5Ly0vYnJvd3Nlcmlm eS0xNi4yLjMudGd6IzdlZTZlNjU0YmE0ZjkyYmNlNmFiMzU5OWMzNDg1YjFjYzdhMGFkMGIiCiAg IGludGVncml0eSBzaGE1MTItelF0L0dkMStXK0lZK2gveFgyTllNVzRvclFXaHFTd3lWK3hzYmx5 Y1R0cE91QjI3aDFmWmhoTlF1aXBKNHQ3OW9odzRQNG1NZW0wanAvWmtJU1F0alE9PQpAQCAtMjE5 MSwxNSArMjI1MywxNiBAQCBicm93c2VyaWZ5QF4xNi4xLjAsIGJyb3dzZXJpZnlAfjE2LjIuMzoK ICAgICB2bS1icm93c2VyaWZ5ICJeMS4wLjAiCiAgICAgeHRlbmQgIl40LjAuMCIKIAotYnJvd3Nl cnNsaXN0QF40LjAuMCwgYnJvd3NlcnNsaXN0QF40LjEyLjAsIGJyb3dzZXJzbGlzdEBeNC42LjAs IGJyb3dzZXJzbGlzdEBeNC44LjU6Ci0gIHZlcnNpb24gIjQuMTQuNSIKLSAgcmVzb2x2ZWQgImh0 dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vYnJvd3NlcnNsaXN0Ly0vYnJvd3NlcnNsaXN0LTQu MTQuNS50Z3ojMWM3NTE0NjFhMTAyZGRjNjBlNDA5OTM2MzliNzA5YmU3ZjJjNDAxNSIKLSAgaW50 ZWdyaXR5IHNoYTUxMi1aK3ZzQ1pJdkNCdnFMb1lrQkZUd0VZSDN2NU1DUWJzQWpwNTBFUnljcE9q blBtb2xnMUdqeTQrS2FXV3BtOFFPSnQ5R0hraGRxQWwxNE5wQ1g3M0NXQT09Citicm93c2Vyc2xp c3RAXjQuMC4wLCBicm93c2Vyc2xpc3RAXjQuMTIuMCwgYnJvd3NlcnNsaXN0QF40LjE0LjUsIGJy b3dzZXJzbGlzdEBeNC4xNS4wOgorICB2ZXJzaW9uICI0LjE2LjAiCisgIHJlc29sdmVkICJodHRw czovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Jyb3dzZXJzbGlzdC8tL2Jyb3dzZXJzbGlzdC00LjE2 LjAudGd6IzQxMDI3NzYyNzUwMGJlM2NiMjhhMWJmZTAzNzU4NmZiZWRmOTQ4OGIiCisgIGludGVn cml0eSBzaGE1MTItL2o2azhSMHAzbnhPQzZreDVKR0F4c25oYzlpeGFXSmZZYytUTlR6eGc2K0FS YUVTQXZRR1Y3aDB1Tk9CNHQrcExRSlpXemNyTXhYT3hqZ3NDajNkcVE9PQogICBkZXBlbmRlbmNp ZXM6Ci0gICAgY2FuaXVzZS1saXRlICJeMS4wLjMwMDAxMTM1IgotICAgIGVsZWN0cm9uLXRvLWNo cm9taXVtICJeMS4zLjU3MSIKLSAgICBlc2NhbGFkZSAiXjMuMS4wIgotICAgIG5vZGUtcmVsZWFz ZXMgIl4xLjEuNjEiCisgICAgY2FuaXVzZS1saXRlICJeMS4wLjMwMDAxMTY1IgorICAgIGNvbG9y ZXR0ZSAiXjEuMi4xIgorICAgIGVsZWN0cm9uLXRvLWNocm9taXVtICJeMS4zLjYyMSIKKyAgICBl c2NhbGFkZSAiXjMuMS4xIgorICAgIG5vZGUtcmVsZWFzZXMgIl4xLjEuNjciCiAKIGJ1ZmZlci1h bGxvYy11bnNhZmVAXjEuMS4wOgogICB2ZXJzaW9uICIxLjEuMCIKQEAgLTIyNDQsOSArMjMwNywx NyBAQCBidWZmZXJAXjQuMy4wOgogICAgIGlzYXJyYXkgIl4xLjAuMCIKIAogYnVmZmVyQF41LjAu MiwgYnVmZmVyQF41LjIuMToKLSAgdmVyc2lvbiAiNS42LjAiCi0gIHJlc29sdmVkICJodHRwczov L3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2J1ZmZlci8tL2J1ZmZlci01LjYuMC50Z3ojYTMxNzQ5ZGM3 ZDgxZDg0ZGIwOGFiZjkzN2I2YjhjNDAzM2Y2Mjc4NiIKLSAgaW50ZWdyaXR5IHNoYTUxMi0vZ0RZ cC9VdFUwZUExeXM4Yk9zOUo2YStFL0tXSVkrRForUTJXRVNOVUEwakZSc0pPYzBTTlVPNnhKNVNH QTF4dWVnM05MNjVXNnMrTlk1bDljdW51dz09CisgIHZlcnNpb24gIjUuNy4xIgorICByZXNvbHZl ZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9idWZmZXIvLS9idWZmZXItNS43LjEudGd6 I2JhNjJlN2MxMzEzMzA1MzU4MjE5NzE2MDg1MWE4ZjY0OGU5OWVlZDAiCisgIGludGVncml0eSBz aGE1MTItRUhjeUlQQlE0QlNHbHZqQjE2azVLZ0FKMjdDSXNIWS8ySkJtQ1JSZW80OHk5clEzTWFV eldYM0tWbEJhNFU3TXlYMDJIZFZqMEs3QzNXYUIzanU3RlE9PQorICBkZXBlbmRlbmNpZXM6Cisg ICAgYmFzZTY0LWpzICJeMS4zLjEiCisgICAgaWVlZTc1NCAiXjEuMS4xMyIKKworYnVmZmVyQH41 LjIuMToKKyAgdmVyc2lvbiAiNS4yLjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlh cm5wa2cuY29tL2J1ZmZlci8tL2J1ZmZlci01LjIuMS50Z3ojZGQ1N2ZhMGYxMDlhYzU5YzYwMjQ3 OTA0NGRjYTdiOGIzZDBiNzFkNiIKKyAgaW50ZWdyaXR5IHNoYTUxMi1jK0tvMGxvRGFGZnVQV2lM MDJsczlYZDNHTzNjUFZtVW9iUTZ0M3JYTlVrMzA0dTZoR3ErOE4va0ZpK1FFSUtoekszdXdvbFZo THpzem1mTG1NTG5xZz09CiAgIGRlcGVuZGVuY2llczoKICAgICBiYXNlNjQtanMgIl4xLjAuMiIK ICAgICBpZWVlNzU0ICJeMS4xLjQiCkBAIC0yMzM5LDYgKzI0MTAsMTQgQEAgY2FjaGVkLXBhdGgt cmVsYXRpdmVAXjEuMC4wLCBjYWNoZWQtcGF0aC1yZWxhdGl2ZUBeMS4wLjI6CiAgIHJlc29sdmVk ICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2NhY2hlZC1wYXRoLXJlbGF0aXZlLy0vY2Fj aGVkLXBhdGgtcmVsYXRpdmUtMS4wLjIudGd6I2ExM2RmNDE5NmQyNjc3NjIyMGNjMzM1NmViMTQ3 YTUyZGJhMmM2ZGIiCiAgIGludGVncml0eSBzaGE1MTItNXIyR3Fzb0ViNHFNVFROOUorV3pYZmpv ditoanhUK2ozdTVLK2tJVk5Jd0FkOTlETENKRTlwQklNUDFxVmV5YlY2SmlpakwzODVPejBEY1l4 ZmJPSWc9PQogCitjYWxsLWJpbmRAXjEuMC4wOgorICB2ZXJzaW9uICIxLjAuMCIKKyAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vY2FsbC1iaW5kLy0vY2FsbC1iaW5kLTEu MC4wLnRneiMyNDEyNzA1NGJiM2Y5YmRjYjRiMWZiODI0MTgxODYwNzJmNzdiOGNlIgorICBpbnRl Z3JpdHkgc2hhNTEyLUFFWHNZSXl5RFkzTUN6YndkaHpHM0p4MVIwSjJ3ZXRReVV5bm42ZFlIQU8r Ymc4bDFrN2p3WnRSdjRyeXJ5RnM3RVArTkRsaWtKbFZlNTlqcjBjTTJ3PT0KKyAgZGVwZW5kZW5j aWVzOgorICAgIGZ1bmN0aW9uLWJpbmQgIl4xLjEuMSIKKyAgICBnZXQtaW50cmluc2ljICJeMS4w LjAiCisKIGNhbGxlci1jYWxsc2l0ZUBeMi4wLjA6CiAgIHZlcnNpb24gIjIuMC4wIgogICByZXNv bHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9jYWxsZXItY2FsbHNpdGUvLS9jYWxs ZXItY2FsbHNpdGUtMi4wLjAudGd6Izg0N2UwZmNlMGEyMjM3NTBhOWEwMjdjNTRiMzM3MzFhZDMx NTQxMzQiCkBAIC0yMzk2LDEwICsyNDc1LDIyIEBAIGNhbml1c2UtYXBpQF4zLjAuMDoKICAgICBs b2Rhc2gubWVtb2l6ZSAiXjQuMS4yIgogICAgIGxvZGFzaC51bmlxICJeNC41LjAiCiAKLWNhbml1 c2UtbGl0ZUBeMS4wLjAsIGNhbml1c2UtbGl0ZUBeMS4wLjMwMDAxMTA5LCBjYW5pdXNlLWxpdGVA XjEuMC4zMDAwMTEzNToKLSAgdmVyc2lvbiAiMS4wLjMwMDAxMTQ2IgotICByZXNvbHZlZCAiaHR0 cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9jYW5pdXNlLWxpdGUvLS9jYW5pdXNlLWxpdGUtMS4w LjMwMDAxMTQ2LnRneiNjNjFmY2IxNDc0NTIwYzE0NjI5MTM2ODkyMDFmYjI5MmJhNmY0NDdjIgot ICBpbnRlZ3JpdHkgc2hhNTEyLVZBeTVSSERmVEpocHhuRGRwMm40MEdQUExwM0txTnJYejFRcUZ2 NEo2NEh2QXJLczhudU5NT1drQjNJQ09hQlRVL0FqNHJZQW8veXRkUURERkYvUHVnPT0KK2Nhbml1 c2UtbGl0ZUBeMS4wLjAsIGNhbml1c2UtbGl0ZUBeMS4wLjMwMDAxMTA5LCBjYW5pdXNlLWxpdGVA XjEuMC4zMDAwMTE2NToKKyAgdmVyc2lvbiAiMS4wLjMwMDAxMTcwIgorICByZXNvbHZlZCAiaHR0 cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9jYW5pdXNlLWxpdGUvLS9jYW5pdXNlLWxpdGUtMS4w LjMwMDAxMTcwLnRneiMwMDg4YmZlY2M2YTE0Njk0OTY5ZTM5MWNjMjlkN2ViNjM2MmNhNmE3Igor ICBpbnRlZ3JpdHkgc2hhNTEyLURkNGQvKzB0c0swVU5MclpzM0N2TnVrcWFsblZUUnJ4YjVtY1Ft OHJITDQ5dDdWNVphVHlnd1hrcnErRkIrZFZEZisrNHJpOGVKbkZFSkFCODMzMlBBPT0KKworY2Fu dmdAXjMuMC43OgorICB2ZXJzaW9uICIzLjAuNyIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0 cnkueWFybnBrZy5jb20vY2FudmcvLS9jYW52Zy0zLjAuNy50Z3ojZTQ1Yjg3YTY0MTE2YWY5MDY5 MTdmN2NhZDU3ZDM3MGVhMzcyZDY4MiIKKyAgaW50ZWdyaXR5IHNoYTUxMi00c3E2aUw1UTRWT1hT M1BMMUJhcGlYSVpJdHB4WXlBTlZ6c0FLcFRQUzVvcTR1M1NLYkdmVWNiWmgyZ2RMQ1EzaldwRy95 NXdSa01sQkJBSmhYZWlaQT09CisgIGRlcGVuZGVuY2llczoKKyAgICAiQGJhYmVsL3J1bnRpbWUt Y29yZWpzMyIgIl43LjkuNiIKKyAgICAiQHR5cGVzL3JhZiIgIl4zLjQuMCIKKyAgICByYWYgIl4z LjQuMSIKKyAgICByZ2Jjb2xvciAiXjEuMC4xIgorICAgIHN0YWNrYmx1ci1jYW52YXMgIl4yLjAu MCIKKyAgICBzdmctcGF0aGRhdGEgIl41LjAuNSIKIAogY2F3QF4yLjAuMCwgY2F3QF4yLjAuMToK ICAgdmVyc2lvbiAiMi4wLjEiCkBAIC0yNDQ1LDkgKzI1MzYsOSBAQCBjaGFyZGV0QF4wLjcuMDoK ICAgaW50ZWdyaXR5IHNoYTUxMi1tVDhpRGNyaDAzcURHUlJtb0EyaG1CSm54cGxsTVIrMC8wcWx6 anFaRVM2TmRpV0RjWmtDTkFrNHJQRlo5UTg1cjI3dW5raU5OZzhaT2l3WlhCSHdjQT09CiAKIGNo YXJ0LmpzQF4yLjkuMzoKLSAgdmVyc2lvbiAiMi45LjMiCi0gIHJlc29sdmVkICJodHRwczovL3Jl Z2lzdHJ5Lnlhcm5wa2cuY29tL2NoYXJ0LmpzLy0vY2hhcnQuanMtMi45LjMudGd6I2FlMzg4NDEx NGRhZmQzODFiYzYwMGY1YjM1YTE4OTEzOGFhYzFlZjciCi0gIGludGVncml0eSBzaGE1MTItKzJq bE9vYlNrNTJjMVZVNmZ6a2gzVXdxSE1kU2xnSDF4RnY5RktNcUhpTkNwWHNHUFFhLys4MUFGYStp M2paMjUzTXE5YUF5Y1B3RGpubjFYYlJOTnc9PQorICB2ZXJzaW9uICIyLjkuNCIKKyAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vY2hhcnQuanMvLS9jaGFydC5qcy0yLjku NC50Z3ojMDgyN2Y5NTYzZmFmZmIyZGM1YzA2NTYyZjhlYjEwMzM3ZDViOTY4NCIKKyAgaW50ZWdy aXR5IHNoYTUxMi1CMDdhQXp4Y3Jpa2pBUHlWKzAxajdCbU9weHRRRVR4VFNsUTI2QkVZSiszaVVr Yk5LYU9KL25EYlQ2Smp5cVl4c2VNME9OMTJDT0hZZFUyY1RJakM3QT09CiAgIGRlcGVuZGVuY2ll czoKICAgICBjaGFydGpzLWNvbG9yICJeMi4xLjAiCiAgICAgbW9tZW50ICJeMi4xMC4yIgpAQCAt MjQ3MiwxOSArMjU2Myw0NiBAQCBjaGVjay10eXBlc0BeOC4wLjM6CiAgIHJlc29sdmVkICJodHRw czovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2NoZWNrLXR5cGVzLy0vY2hlY2stdHlwZXMtOC4wLjMu dGd6IzMzNTZjY2ExOWM4ODk1NDRmMmQ3YTk1ZWQ0OWNlNTA4YTBlY2Y1NTIiCiAgIGludGVncml0 eSBzaGE1MTItWXBlS1puZ1VtRzY1ckx1ZEo0dGFVN1ZMa09DVE1oTmwvdTRjdE5DNTZMUVMvekpU eU5IMExydHdtMXRmVHNiTGx3dmxmc0EyZDFjOHZDZi9LaDJLd1E9PQogCitjaGVlcmlvLXNlbGVj dC10bXBAXjAuMS4wOgorICB2ZXJzaW9uICIwLjEuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVn aXN0cnkueWFybnBrZy5jb20vY2hlZXJpby1zZWxlY3QtdG1wLy0vY2hlZXJpby1zZWxlY3QtdG1w LTAuMS4xLnRneiM1NWJiZWYwMmE0NzcxNzEwMTk1YWQ3MzZkNWUzNDY3NjNjYTRlNjQ2IgorICBp bnRlZ3JpdHkgc2hhNTEyLVlZczVKdmJwVTE5VllKeWorRjdvWXJJRTJCT2xsMS9oUlU3ckV5LzUr djlCemtTbzNiSzgxaUFlZVFFTUk5MnZSSXh6Njc3bTcyVW1KVWlWd3dnamZRPT0KKyAgZGVwZW5k ZW5jaWVzOgorICAgIGNzcy1zZWxlY3QgIl4zLjEuMiIKKyAgICBjc3Mtd2hhdCAiXjQuMC4wIgor ICAgIGRvbWVsZW1lbnR0eXBlICJeMi4xLjAiCisgICAgZG9taGFuZGxlciAiXjQuMC4wIgorICAg IGRvbXV0aWxzICJeMi40LjQiCisKIGNoZWVyaW9AXjEuMC4wLXJjLjM6Ci0gIHZlcnNpb24gIjEu MC4wLXJjLjMiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2NoZWVy aW8vLS9jaGVlcmlvLTEuMC4wLXJjLjMudGd6IzA5NDYzNmQ0MjViMmU5YzBmNGViOTFhNDZjMDU2 MzBjOWExYThiZjYiCi0gIGludGVncml0eSBzaGE1MTItMHRkNWlqZlVQdXVid0xVdTBPQm9lOThn Wmo4Qy9BQStSVzN2NjdHUGxHT3J2eFdqWm1CWGlCQ1JVK0k4VkVpTnlKemp0aDQwUE9mSGl6MlJC M2dJbUE9PQotICBkZXBlbmRlbmNpZXM6Ci0gICAgY3NzLXNlbGVjdCAifjEuMi4wIgotICAgIGRv bS1zZXJpYWxpemVyICJ+MC4xLjEiCi0gICAgZW50aXRpZXMgIn4xLjEuMSIKLSAgICBodG1scGFy c2VyMiAiXjMuOS4xIgotICAgIGxvZGFzaCAiXjQuMTUuMCIKLSAgICBwYXJzZTUgIl4zLjAuMSIK LQotImNob2tpZGFyQD49Mi4wLjAgPDQuMC4wIiwgY2hva2lkYXJAXjIuMS4xLCBjaG9raWRhckBe Mi4xLjg6CisgIHZlcnNpb24gIjEuMC4wLXJjLjUiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lz dHJ5Lnlhcm5wa2cuY29tL2NoZWVyaW8vLS9jaGVlcmlvLTEuMC4wLXJjLjUudGd6Izg4OTA3ZTE4 Mjg2NzRlOGY5ZmVlMzc1MTg4YjI3ZGFkZDRmMGZhMmYiCisgIGludGVncml0eSBzaGE1MTIteW9x cHMvVkNhWmdONHBmWHRlbndIUk9UcDhORzYvSGx0NEpwejJGRVAwWkpRK1pVa1ZEZDBoQVBETkto ajNuYWtwZlB0L0NOczU3eUV0eEQxYlhRaXc9PQorICBkZXBlbmRlbmNpZXM6CisgICAgY2hlZXJp by1zZWxlY3QtdG1wICJeMC4xLjAiCisgICAgZG9tLXNlcmlhbGl6ZXIgIn4xLjIuMCIKKyAgICBk b21oYW5kbGVyICJeNC4wLjAiCisgICAgZW50aXRpZXMgIn4yLjEuMCIKKyAgICBodG1scGFyc2Vy MiAiXjYuMC4wIgorICAgIHBhcnNlNSAiXjYuMC4wIgorICAgIHBhcnNlNS1odG1scGFyc2VyMi10 cmVlLWFkYXB0ZXIgIl42LjAuMCIKKworImNob2tpZGFyQD49Mi4wLjAgPDQuMC4wIiwgY2hva2lk YXJAXjMuMC4wLCBjaG9raWRhckBeMy40LjE6CisgIHZlcnNpb24gIjMuNC4zIgorICByZXNvbHZl ZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9jaG9raWRhci8tL2Nob2tpZGFyLTMuNC4z LnRneiNjMWRmMzgyMzE0NDhlNDVjYTRhYzU4OGU2Yzc5NTczYmE2YTU3ZDViIgorICBpbnRlZ3Jp dHkgc2hhNTEyLUR0TTNnN2p1Q1hReEZWU05QTkJ5RUMyK05JbXRCdXhRUXZXbEh1bnBKSVM1T2Ny MGxHMzA2Y0M3RkNpN2NFQTBmem15YlBVSWw0dHhCSW9iazFnR09RPT0KKyAgZGVwZW5kZW5jaWVz OgorICAgIGFueW1hdGNoICJ+My4xLjEiCisgICAgYnJhY2VzICJ+My4wLjIiCisgICAgZ2xvYi1w YXJlbnQgIn41LjEuMCIKKyAgICBpcy1iaW5hcnktcGF0aCAifjIuMS4wIgorICAgIGlzLWdsb2Ig In40LjAuMSIKKyAgICBub3JtYWxpemUtcGF0aCAifjMuMC4wIgorICAgIHJlYWRkaXJwICJ+My41 LjAiCisgIG9wdGlvbmFsRGVwZW5kZW5jaWVzOgorICAgIGZzZXZlbnRzICJ+Mi4xLjIiCisKK2No b2tpZGFyQF4yLjEuMSwgY2hva2lkYXJAXjIuMS44OgogICB2ZXJzaW9uICIyLjEuOCIKICAgcmVz b2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vY2hva2lkYXIvLS9jaG9raWRhci0y LjEuOC50Z3ojODA0YjNhN2I2YTk5MzU4YzNjNWM2MWU3MWQ4NzI4ZjA0MWNmZjkxNyIKICAgaW50 ZWdyaXR5IHNoYTUxMi1abVpVYXpmT3pmME52ZTdkdWlDS0QyM1BGU0NzNEpQb1l5Y2NqVUZGM2FR a1FhZHFCaGZ6aGprd0JIMm1OT0c5Y1RCd2hhbU0zN0VJc0lrWnczblJnZz09CkBAIC0yNTAzLDIx ICsyNjIxLDYgQEAgY2hlZXJpb0BeMS4wLjAtcmMuMzoKICAgb3B0aW9uYWxEZXBlbmRlbmNpZXM6 CiAgICAgZnNldmVudHMgIl4xLjIuNyIKIAotY2hva2lkYXJAXjMuMC4wLCBjaG9raWRhckBeMy40 LjE6Ci0gIHZlcnNpb24gIjMuNC4yIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJu cGtnLmNvbS9jaG9raWRhci8tL2Nob2tpZGFyLTMuNC4yLnRneiMzOGRjOGU2NThkZWMzODA5NzQx ZWIzZWY3YmIwYTQ3ZmU0MjQyMzJkIgotICBpbnRlZ3JpdHkgc2hhNTEyLUlaSGFEZUJlSStzWkpS WDdsR2NYc2R6Z3ZacUt2NnNFQ3FzYkVySkE0bUhXZnBSckQ4Qjk3a1NGTjRjUXo2bkdCR2l1Rmlh MU1LUjRkNmMxbzhDdjdBPT0KLSAgZGVwZW5kZW5jaWVzOgotICAgIGFueW1hdGNoICJ+My4xLjEi Ci0gICAgYnJhY2VzICJ+My4wLjIiCi0gICAgZ2xvYi1wYXJlbnQgIn41LjEuMCIKLSAgICBpcy1i aW5hcnktcGF0aCAifjIuMS4wIgotICAgIGlzLWdsb2IgIn40LjAuMSIKLSAgICBub3JtYWxpemUt cGF0aCAifjMuMC4wIgotICAgIHJlYWRkaXJwICJ+My40LjAiCi0gIG9wdGlvbmFsRGVwZW5kZW5j aWVzOgotICAgIGZzZXZlbnRzICJ+Mi4xLjIiCi0KIGNob3duckBeMS4xLjEsIGNob3duckBeMS4x LjI6CiAgIHZlcnNpb24gIjEuMS40IgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJu cGtnLmNvbS9jaG93bnIvLS9jaG93bnItMS4xLjQudGd6IzZmYzlkN2I0MmQzMmE1ODM1OTYzMzc2 NjZlN2QwODA4NGRhMmNjNmIiCkBAIC0yNTk1LDYgKzI2OTgsMTMgQEAgY2xvbmUtcmVzcG9uc2VA MS4wLjI6CiAgIGRlcGVuZGVuY2llczoKICAgICBtaW1pYy1yZXNwb25zZSAiXjEuMC4wIgogCitj bG9zZXN0QF4wLjAuMToKKyAgdmVyc2lvbiAiMC4wLjEiCisgIHJlc29sdmVkICJodHRwczovL3Jl Z2lzdHJ5Lnlhcm5wa2cuY29tL2Nsb3Nlc3QvLS9jbG9zZXN0LTAuMC4xLnRneiMyNmRhNmY4MGIz ZTBlMTdlNzFmODBmMTI3ODI4MTllOWY2NTM0OTVjIgorICBpbnRlZ3JpdHkgc2hhMS1KdHB2Z0xQ ZzRYNXgrQThTZUNnWjZmWlRTVnc9CisgIGRlcGVuZGVuY2llczoKKyAgICBtYXRjaGVzLXNlbGVj dG9yICIwLjAuMSIKKwogY29AXjQuNi4wOgogICB2ZXJzaW9uICI0LjYuMCIKICAgcmVzb2x2ZWQg Imh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vY28vLS9jby00LjYuMC50Z3ojNmVhNmJkZjNk ODUzYWU1NGNjYjhlNDdiZmEwYmYzZjkwMzFmYjE4NCIKQEAgLTI2MTAsOSArMjcyMCw5IEBAIGNv YUBeMi4wLjI6CiAgICAgcSAiXjEuMS4yIgogCiBjb2RlbWlycm9yQF41LjU0LjA6Ci0gIHZlcnNp b24gIjUuNTguMSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vY29k ZW1pcnJvci8tL2NvZGVtaXJyb3ItNS41OC4xLnRneiNlYzZiZjM4YWQyYTE3Zjc0YzYxYmQwMGNj NmRjNWE2OWJkMTY3ODU0IgotICBpbnRlZ3JpdHkgc2hhNTEyLVVHYi91ZXUyMFU0eHFXazhoWkIz eElmVjIvU0ZxblNMWU9OaU0zd1RNRHFrbzBic1lyc0FrR0docVV6YlJrWW04OWFCS1B5SHR1TkVi VldGOUZURnp3PT0KKyAgdmVyc2lvbiAiNS41OS4wIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdp c3RyeS55YXJucGtnLmNvbS9jb2RlbWlycm9yLy0vY29kZW1pcnJvci01LjU5LjAudGd6IzZkODEz MjA1NTQ1OWFhYmYyMWQwNGNhZTVjZjVjNDMwZTVjNTdiYjkiCisgIGludGVncml0eSBzaGE1MTIt VUd6U2tDYWNZOXowclNwUTN3blRXUk4ybnZSRTZmb0RYbkpsdFdXOHBhekluUi9SKzNnWEhyYW80 SUZRTXYvYlNCdkZCeHQ4L0hQcGtwS0FTNTR4NVE9PQogCiBjb2xsZWN0aW9uLXZpc2l0QF4xLjAu MDoKICAgdmVyc2lvbiAiMS4wLjAiCkBAIC0yNjM2LDMxICsyNzQ2LDMxIEBAIGNvbG9yLWNvbnZl cnRAXjIuMC4xOgogICBkZXBlbmRlbmNpZXM6CiAgICAgY29sb3ItbmFtZSAifjEuMS40IgogCi1j b2xvci1uYW1lQDEuMS4zLCBjb2xvci1uYW1lQF4xLjAuMDoKK2NvbG9yLW5hbWVAMS4xLjM6CiAg IHZlcnNpb24gIjEuMS4zIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNv bS9jb2xvci1uYW1lLy0vY29sb3ItbmFtZS0xLjEuMy50Z3ojYTdkMDU1OGJkODljNDJmNzk1ZGQ0 MjMyOGY3NDA4MzFjYTUzYmMyNSIKICAgaW50ZWdyaXR5IHNoYTEtcDlCVmk5aWNRdmVWM1VJeWoz UUlNY3BUdkNVPQogCi1jb2xvci1uYW1lQH4xLjEuNDoKK2NvbG9yLW5hbWVAXjEuMC4wLCBjb2xv ci1uYW1lQH4xLjEuNDoKICAgdmVyc2lvbiAiMS4xLjQiCiAgIHJlc29sdmVkICJodHRwczovL3Jl Z2lzdHJ5Lnlhcm5wa2cuY29tL2NvbG9yLW5hbWUvLS9jb2xvci1uYW1lLTEuMS40LnRneiNjMmEw OWE4N2FjYmRlNjk1NDNkZTZmNjNmYTM5OTVjODI2YzUzNmEyIgogICBpbnRlZ3JpdHkgc2hhNTEy LWRPeSszQXVXM2Eyd05iWkhJdU1acFRjZ2pHdUxVL3VCTC91YmNaRjlPWGJEbzhmZjRPOHlWcDVC ZjBlZlM4dUVvWW81cTRGeDdkWTlPZ1FHWGdBc1FBPT0KIAotY29sb3Itc3RyaW5nQF4xLjUuMjoK LSAgdmVyc2lvbiAiMS41LjMiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cu Y29tL2NvbG9yLXN0cmluZy8tL2NvbG9yLXN0cmluZy0xLjUuMy50Z3ojYzliYmM1ZjAxYjU4YjU0 OTJmM2Q2ODU3NDU5Y2I2NTkwY2UyMDRjYyIKLSAgaW50ZWdyaXR5IHNoYTUxMi1kQzJDNXFlV29Z a3hraTVVQVhhcGRqcU82NzJBTTR2WnVQR1JRZk84YjVIS3VLR0JiS1dwSVR5RFlON1RPRkt2Ulc3 a09nQW4zNzQ2Y2xEQk1ESnlRdz09Citjb2xvci1zdHJpbmdAXjEuNS40OgorICB2ZXJzaW9uICIx LjUuNCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vY29sb3Itc3Ry aW5nLy0vY29sb3Itc3RyaW5nLTEuNS40LnRneiNkZDUxY2QyNWNmZWU5NTNkMTM4ZmU0MDAyMzcy Y2MzZDBlNTA0Y2I2IgorICBpbnRlZ3JpdHkgc2hhNTEyLTU3eUY1eXQ4WGEzY3pTRVcxamZRREU3 OUlkazArQWtOLzRLV2FkNnRiZHhVbUFzM012anhsV1NXRDRkZVl5dGNSZm9aOW5oS3lGbDFrajV0 QnZpZGJ3PT0KICAgZGVwZW5kZW5jaWVzOgogICAgIGNvbG9yLW5hbWUgIl4xLjAuMCIKICAgICBz aW1wbGUtc3dpenpsZSAiXjAuMi4yIgogCiBjb2xvckBeMy4wLjA6Ci0gIHZlcnNpb24gIjMuMS4y IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9jb2xvci8tL2NvbG9y LTMuMS4yLnRneiM2ODE0OGU3Zjg1ZDQxYWQ3NjQ5YzVmYThjODEwNmYwOThkMjI5ZTEwIgotICBp bnRlZ3JpdHkgc2hhNTEyLXZYVEpoSGViQnl4Wm4zbER2REpZdzRsUjUrdUIzdnVvSHN1WUE1QUt1 eFJWbjV3enpJZlFLR0xCbWdkVlJIS1RKWWVLNXJ2SmNIbnJkMExpNDlDRnBnPT0KKyAgdmVyc2lv biAiMy4xLjMiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2NvbG9y Ly0vY29sb3ItMy4xLjMudGd6I2NhNjdmYjRlN2I5N2Q2MTFkY2RlMzllY2VlZDQyMjA2N2Q5MTU5 NmUiCisgIGludGVncml0eSBzaGE1MTIteGdYQWNUSGEySGVGQ0dMRTlYcy9SODJodWpHdHU5SmQ5 eDROVzNUMzQrT01zN1ZvUHNqd3pSY3pLSHZUQUhlSndXRndYNWoxNStNZ0FwcEU4enRPYlE9PQog ICBkZXBlbmRlbmNpZXM6CiAgICAgY29sb3ItY29udmVydCAiXjEuOS4xIgotICAgIGNvbG9yLXN0 cmluZyAiXjEuNS4yIgorICAgIGNvbG9yLXN0cmluZyAiXjEuNS40IgogCiBjb2xvcmV0dGVAXjEu Mi4xOgogICB2ZXJzaW9uICIxLjIuMSIKQEAgLTI2ODgsOSArMjc5OCw5IEBAIGNvbW1hbmRlckBe Mi4xMi4yLCBjb21tYW5kZXJAXjIuMTguMCwgY29tbWFuZGVyQF4yLjE5LjAsIGNvbW1hbmRlckBe Mi4yMC4wLCBjb21tCiAgIGludGVncml0eSBzaGE1MTItR3BWa21NOHZGMnZRVWtqMkx2Wm1EMzVK eGVKT0xDd0o5Y1VrdWd5azJudWhidjMrbUp2cExZWXQrMCtVU014RStvaitleS9sSkVuaFp3NzV4 L09NY1E9PQogCiBjb21tYW5kZXJAXjYuMC4wOgotICB2ZXJzaW9uICI2LjEuMCIKLSAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vY29tbWFuZGVyLy0vY29tbWFuZGVyLTYu MS4wLnRneiNmOGQ3MjJiNzgxMDMxNDEwMDZiNjZmNGM3YmExZTk3MzE1YmE3NWJjIgotICBpbnRl Z3JpdHkgc2hhNTEyLXdsN1BOcllXZDJ5NW1wMU9LL0xoVGx2OEZmNGtRSlFSWFhBdkYrdVUvVFBO aVZKVXhaTFJZR2ovQjB5L2xQR0FWY1NiSnFIMlphL2N2SG1yUE1DOG1BPT0KKyAgdmVyc2lvbiAi Ni4yLjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2NvbW1hbmRl ci8tL2NvbW1hbmRlci02LjIuMS50Z3ojMDc5MmViNjgyZGZiYzMyNTk5OWJiMmI4NGZkZGRkYmEx MTBhYzczYyIKKyAgaW50ZWdyaXR5IHNoYTUxMi1VN1ZkckpGbkpnbzR4anJIcFR6dTB5ckhQR0lt ZHNtRDk1WmxnWVNFYWpBbjJKS3pEaERUUEc5a0JUZWZtT2JMMncvbmdlWm5pbGsrT1Y5Q0czZDdV QT09CiAKIGNvbW1vbmRpckBeMS4wLjE6CiAgIHZlcnNpb24gIjEuMC4xIgpAQCAtMjc3NywxOCAr Mjg4NywxOCBAQCBjb250ZW50LXR5cGVAfjEuMC40OgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdp c3RyeS55YXJucGtnLmNvbS9jb250ZW50LXR5cGUvLS9jb250ZW50LXR5cGUtMS4wLjQudGd6I2Ux MzhjYzc1ZTA0MGM3MjdiMTk2NmZlNWU1ZjhjOWFlZTI1NmZlM2IiCiAgIGludGVncml0eSBzaGE1 MTItaElQM0VFUHM4dEI5QVQxTCtOVXF0d09BcHM0bWsyWm9iODlNV1hNSGpIV2c5bWlsRi9qNG9z bm5RTFhCQ0JGQmsvdHZJRy90VWM5bU9VSmlQQmhQWEE9PQogCi1jb252ZXJ0LXNvdXJjZS1tYXBA XjEuMS4wLCBjb252ZXJ0LXNvdXJjZS1tYXBAXjEuMS4zLCBjb252ZXJ0LXNvdXJjZS1tYXBAfjEu MS4wOgotICB2ZXJzaW9uICIxLjEuMyIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFy bnBrZy5jb20vY29udmVydC1zb3VyY2UtbWFwLy0vY29udmVydC1zb3VyY2UtbWFwLTEuMS4zLnRn eiM0ODI5Yzg3N2U5ZmU0OWIzMTYxZjNiZjM2NzM4ODhlMjA0Njk5ODYwIgotICBpbnRlZ3JpdHkg c2hhMS1TQ25JZCtuK1NiTVdIenZ6WnppSTRnUnBtR0E9Ci0KLWNvbnZlcnQtc291cmNlLW1hcEBe MS41LjAsIGNvbnZlcnQtc291cmNlLW1hcEBeMS43LjA6Citjb252ZXJ0LXNvdXJjZS1tYXBAXjEu MS4zLCBjb252ZXJ0LXNvdXJjZS1tYXBAXjEuNS4wLCBjb252ZXJ0LXNvdXJjZS1tYXBAXjEuNy4w OgogICB2ZXJzaW9uICIxLjcuMCIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBr Zy5jb20vY29udmVydC1zb3VyY2UtbWFwLy0vY29udmVydC1zb3VyY2UtbWFwLTEuNy4wLnRneiMx N2EyY2I4ODJkN2Y3N2QzNDkwNTg1ZTJjZTZjNTI0NDI0YTNhNDQyIgogICBpbnRlZ3JpdHkgc2hh NTEyLTRGSmtYektYRURCMXNuQ0ZabExQNGdwQzNKSUxpY0NwR2J6RzlmOUc3dEdxR0N6RVRRMmhX UHJjaW5BOW9VNHd0ZjJiaVVhRUg1MDY1VW5NZVIzM29BPT0KICAgZGVwZW5kZW5jaWVzOgogICAg IHNhZmUtYnVmZmVyICJ+NS4xLjEiCiAKK2NvbnZlcnQtc291cmNlLW1hcEB+MS4xLjA6CisgIHZl cnNpb24gIjEuMS4zIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9j b252ZXJ0LXNvdXJjZS1tYXAvLS9jb252ZXJ0LXNvdXJjZS1tYXAtMS4xLjMudGd6IzQ4MjljODc3 ZTlmZTQ5YjMxNjFmM2JmMzY3Mzg4OGUyMDQ2OTk4NjAiCisgIGludGVncml0eSBzaGExLVNDbklk K24rU2JNV0h6dnpaemlJNGdScG1HQT0KKwogY29va2llLXNpZ25hdHVyZUAxLjAuNjoKICAgdmVy c2lvbiAiMS4wLjYiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Nv b2tpZS1zaWduYXR1cmUvLS9jb29raWUtc2lnbmF0dXJlLTEuMC42LnRneiNlMzAzYTg4MmIzNDJj YzNlZThjYTUxM2E3OTk5OTczNGRhYjNhZTJjIgpAQCAtMjgzOSwyMyArMjk0OSwyOCBAQCBjb3B5 LXdlYnBhY2stcGx1Z2luQF41LjEuMDoKICAgICBzZXJpYWxpemUtamF2YXNjcmlwdCAiXjQuMC4w IgogICAgIHdlYnBhY2stbG9nICJeMi4wLjAiCiAKLWNvcmUtanMtY29tcGF0QF4zLjEuMToKLSAg dmVyc2lvbiAiMy42LjUiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29t L2NvcmUtanMtY29tcGF0Ly0vY29yZS1qcy1jb21wYXQtMy42LjUudGd6IzJhNTFkOWE0ZTI1ZGZk NmU2OTAyNTFhYTgxZjk5ZTNjMDU0ODFmMWMiCi0gIGludGVncml0eSBzaGE1MTItN0l0VEtPaE9a YnpuaFhBUTJnL3NsR2cxUEpWNXpETy9XZGtUd2k3VUVPSm1rdnNFMzJQV3Z4Nm1LdERqaU1wam5S MkNOZjZCQUQ2c1N4SWx2N3B0bmc9PQorY29yZS1qcy1jb21wYXRAXjMuOC4wOgorICB2ZXJzaW9u ICIzLjguMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vY29yZS1q cy1jb21wYXQvLS9jb3JlLWpzLWNvbXBhdC0zLjguMS50Z3ojOGQxZGRkMzQxZDY2MGJhNjE5NGNi ZTBjZTYwZjRjNzk0Yzg3YTM2ZSIKKyAgaW50ZWdyaXR5IHNoYTUxMi1hMTZUTG15OU5WRDFya2pV R2J3dXlXa2lEb04wRkRwQXdyZkxPTnZIRlF4MEQ5azdKOXkwc3J3TVQ4UVAvWjZIRTNNSUZhVnlu RWVZd1p3UFgxbzVSUT09CiAgIGRlcGVuZGVuY2llczoKLSAgICBicm93c2Vyc2xpc3QgIl40Ljgu NSIKKyAgICBicm93c2Vyc2xpc3QgIl40LjE1LjAiCiAgICAgc2VtdmVyICI3LjAuMCIKIAorY29y ZS1qcy1wdXJlQF4zLjAuMDoKKyAgdmVyc2lvbiAiMy44LjEiCisgIHJlc29sdmVkICJodHRwczov L3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2NvcmUtanMtcHVyZS8tL2NvcmUtanMtcHVyZS0zLjguMS50 Z3ojMjNmODQwNDhmMzY2ZmRmY2Y1MmQzZmQxYzY4ZmVjMzQ5MTc3ZDExOSIKKyAgaW50ZWdyaXR5 IHNoYTUxMi1TZStMYXhxWGxWWEd2bWV4S0dQdm5VSVlDMWp3WHUxSDZQa3liM3VCTTVkOC9ORUxN WUNIcy80L3JvRDc3MjFOeHJUTHl2N2U1blhkNS9RTEJPKzEwZz09CisKIGNvcmUtanNAXjIuNC4w OgotICB2ZXJzaW9uICIyLjYuMTEiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5w a2cuY29tL2NvcmUtanMvLS9jb3JlLWpzLTIuNi4xMS50Z3ojMzg4MzE0NjlmOTkyMmJkZWQ4ZWUy MWM5ZGM0Njk4NWUwMzk5MzA4YyIKLSAgaW50ZWdyaXR5IHNoYTUxMi01d2pucGFULzNkVitYQjRi b3JFc25BWVFjaG4wMFhTZ1RBV0tEa0VxditLOEtldmpiem1vZks2aGZKOVRaSWxwajJOMHhRcGF6 eTdQaVJRaVdIcXpXZz09CisgIHZlcnNpb24gIjIuNi4xMiIKKyAgcmVzb2x2ZWQgImh0dHBzOi8v cmVnaXN0cnkueWFybnBrZy5jb20vY29yZS1qcy8tL2NvcmUtanMtMi42LjEyLnRneiNkOTMzM2Rm YTdiMDY1ZTM0N2NjNTY4MjIxOWQ2ZjY5MDg1OWNjMmVjIgorICBpbnRlZ3JpdHkgc2hhNTEyLUti MndDMGZ2c1dmUXJnazhIVTVsVzZVL0xjczgrOWFhWWN5NFpGYzZERGxvNG5aN243MGRFZ0U1cnRS MG9HNnVmS0RVbnJ3ZldMMW1YUjVsakRhdHJRPT0KIAotY29yZS1qc0BeMy4yLjEsIGNvcmUtanNA XjMuNi41OgotICB2ZXJzaW9uICIzLjYuNSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnku eWFybnBrZy5jb20vY29yZS1qcy8tL2NvcmUtanMtMy42LjUudGd6IzczOTVkYzI3M2FmMzdmYjJl NTBlOWJkM2Q5ZmU4NDEyODUyMzFkMWEiCi0gIGludGVncml0eSBzaGE1MTItdlpWRUV3Wm9Jc0kr dlBFdW9GOUlxZjVINy9NM2VlUXFXbFFuWWE4RlNLS2VQdVlUZjVNV254YjVTREF6Q2E2MGIzSkJS UzVnOWIrRHE3YjF5L1JDckE9PQorY29yZS1qc0BeMy4yLjEsIGNvcmUtanNAXjMuOC4wOgorICB2 ZXJzaW9uICIzLjguMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20v Y29yZS1qcy8tL2NvcmUtanMtMy44LjEudGd6I2Y1MTUyMzY2OGFjOGEyOTRkMTI4NWMzYjlkYjQ0 MDI1ZmRhNjZkNDciCisgIGludGVncml0eSBzaGE1MTItOUlkMnhIWTFXN204aENsOE5raFFuNUN1 Zm1GL1d1UjMwQlRSZXd2Q1hjMWFaZDNrTUVDd05aNjluZExiZWtLZmFrdzlSZjJYeWMrUVI2RTdH ZytvYmc9PQogCiBjb3JlLXV0aWwtaXNAfjEuMC4wOgogICB2ZXJzaW9uICIxLjAuMiIKQEAgLTI4 NzIsNiArMjk4NywxNyBAQCBjb3NtaWNvbmZpZ0BeNS4wLjA6CiAgICAganMteWFtbCAiXjMuMTMu MSIKICAgICBwYXJzZS1qc29uICJeNC4wLjAiCiAKK2Nvc21pY29uZmlnQF42LjAuMDoKKyAgdmVy c2lvbiAiNi4wLjAiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Nv c21pY29uZmlnLy0vY29zbWljb25maWctNi4wLjAudGd6I2RhNGZlZTg1M2M1MmY2YjFlNjkzNWY0 MWMxYTJmYzUwYmQ0YTk5ODIiCisgIGludGVncml0eSBzaGE1MTIteGIzWkw2K0w4YjlKTExDeDNa ZG9aeTQrMkVDcGhDTW8yUHdxZ1AxdGxmVnE2TTZZUmV5ekJKdHZXV3RiRFNwTnI5aG45NnBrQ2la cVVjRkVjKzU0UWc9PQorICBkZXBlbmRlbmNpZXM6CisgICAgIkB0eXBlcy9wYXJzZS1qc29uIiAi XjQuMC4wIgorICAgIGltcG9ydC1mcmVzaCAiXjMuMS4wIgorICAgIHBhcnNlLWpzb24gIl41LjAu MCIKKyAgICBwYXRoLXR5cGUgIl40LjAuMCIKKyAgICB5YW1sICJeMS43LjIiCisKIGNyZWF0ZS1l Y2RoQF40LjAuMDoKICAgdmVyc2lvbiAiNC4wLjQiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lz dHJ5Lnlhcm5wa2cuY29tL2NyZWF0ZS1lY2RoLy0vY3JlYXRlLWVjZGgtNC4wLjQudGd6I2Q2ZTdm NGJmZmE2NjczNjA4NWEwNzYyZmQzYTYzMjY4NGRhYmNjNGUiCkBAIC0yOTYwLDYgKzMwODYsMTMg QEAgY3NzLWRlY2xhcmF0aW9uLXNvcnRlckBeNC4wLjE6CiAgICAgcG9zdGNzcyAiXjcuMC4xIgog ICAgIHRpbXNvcnQgIl4wLjMuMCIKIAorY3NzLWxpbmUtYnJlYWtAMS4xLjE6CisgIHZlcnNpb24g IjEuMS4xIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9jc3MtbGlu ZS1icmVhay8tL2Nzcy1saW5lLWJyZWFrLTEuMS4xLnRneiNkNWU5YmRkMjk3ODQwMDk5ZWIwNTAz YzczMTBmZDM0OTI3YTAyNmVmIgorICBpbnRlZ3JpdHkgc2hhNTEyLTFmZU5WYU00Rnl6ZGo0bUtQ SVFOTDJuNzBNbXVZekFYWjFheXRsUk9GWDFKc09vMDcwT3N1Z3dHamo3bmw2am5ESldIRE04elJa c3drbWVZVldaSlFBPT0KKyAgZGVwZW5kZW5jaWVzOgorICAgIGJhc2U2NC1hcnJheWJ1ZmZlciAi XjAuMi4wIgorCiBjc3MtbG9hZGVyQDIuMS4wOgogICB2ZXJzaW9uICIyLjEuMCIKICAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vY3NzLWxvYWRlci8tL2Nzcy1sb2FkZXIt Mi4xLjAudGd6IzQyOTUyYWMyMmJjYTVkMDc2OTc4NjM4ZTk4MTNhYmNlNDliOGYwY2MiCkBAIC0y OTkxLDE1ICszMTI0LDE2IEBAIGNzcy1zZWxlY3RAXjIuMC4wOgogICAgIGRvbXV0aWxzICJeMS43 LjAiCiAgICAgbnRoLWNoZWNrICJeMS4wLjIiCiAKLWNzcy1zZWxlY3RAfjEuMi4wOgotICB2ZXJz aW9uICIxLjIuMCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vY3Nz LXNlbGVjdC8tL2Nzcy1zZWxlY3QtMS4yLjAudGd6IzJiM2ExMTA1MzljNTM1NWYxY2Q4ZDMxNDYy M2U4NzBiMTIxZWM4NTgiCi0gIGludGVncml0eSBzaGExLUt6b1JCVG5GTlY4YzJOTVVZajZIQ3hJ ZXlGZz0KK2Nzcy1zZWxlY3RAXjMuMS4yOgorICB2ZXJzaW9uICIzLjEuMiIKKyAgcmVzb2x2ZWQg Imh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vY3NzLXNlbGVjdC8tL2Nzcy1zZWxlY3QtMy4x LjIudGd6I2Q1MmNiZGM2ZmVlMzc5ZmJhOTdmYjBkMzkyNWFiYmQxOGFmMmQ5ZDgiCisgIGludGVn cml0eSBzaGE1MTItcW1zczFFaWhTdUJOV05OaEhqeHp4U2ZKb0ZCTS9sRVJCL1E0RW5zSlFRQzYy UjJldkpEVzQ4MTA5MW9BZE9yOXVoNDYvMG40bnJnMEl0NWNBbmoxUkE9PQogICBkZXBlbmRlbmNp ZXM6Ci0gICAgYm9vbGJhc2UgIn4xLjAuMCIKLSAgICBjc3Mtd2hhdCAiMi4xIgotICAgIGRvbXV0 aWxzICIxLjUuMSIKLSAgICBudGgtY2hlY2sgIn4xLjAuMSIKKyAgICBib29sYmFzZSAiXjEuMC4w IgorICAgIGNzcy13aGF0ICJeNC4wLjAiCisgICAgZG9taGFuZGxlciAiXjQuMC4wIgorICAgIGRv bXV0aWxzICJeMi40LjMiCisgICAgbnRoLWNoZWNrICJeMi4wLjAiCiAKIGNzcy10cmVlQDEuMC4w LWFscGhhLjM3OgogICB2ZXJzaW9uICIxLjAuMC1hbHBoYS4zNyIKQEAgLTMwMDksMjMgKzMxNDMs MjMgQEAgY3NzLXRyZWVAMS4wLjAtYWxwaGEuMzc6CiAgICAgbWRuLWRhdGEgIjIuMC40IgogICAg IHNvdXJjZS1tYXAgIl4wLjYuMSIKIAotY3NzLXRyZWVAMS4wLjAtYWxwaGEuMzk6Ci0gIHZlcnNp b24gIjEuMC4wLWFscGhhLjM5IgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtn LmNvbS9jc3MtdHJlZS8tL2Nzcy10cmVlLTEuMC4wLWFscGhhLjM5LnRneiMyYmZmM2ZmZTFiYjNm Nzc2Y2Y3ZWVmZDkxZWU1Y2JhNzdhMTQ5ZWViIgotICBpbnRlZ3JpdHkgc2hhNTEyLTdVdmtFWWdC QUhSRzlOdDk4MGxZeGpzVHJDeUhGTjUza3kzd1ZzRGtpTWRWcXlscVJ0K1pjK2ptNXF3Ny9xeU92 TjJkSFNZdFgwZTRNYkNDRXhTdm5BPT0KK2Nzcy10cmVlQF4xLjEuMjoKKyAgdmVyc2lvbiAiMS4x LjIiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Nzcy10cmVlLy0v Y3NzLXRyZWUtMS4xLjIudGd6IzlhZTM5M2I1ZGFmZDdkYWU4YTYyMjQ3NWNhZWM3OGQzZDhmYmQ3 YjUiCisgIGludGVncml0eSBzaGE1MTItd0NvV3VzaDVBZW80OEdMaGZIUGJtdlpzNTlaK003azUr QjF4RG5YYmRXTmNFRjQyM0RvRmRxU1dFMFBNNWFOazVuSTVjcDFxN21zMzZ6R0FwWS9zS1E9PQog ICBkZXBlbmRlbmNpZXM6Ci0gICAgbWRuLWRhdGEgIjIuMC42IgorICAgIG1kbi1kYXRhICIyLjAu MTQiCiAgICAgc291cmNlLW1hcCAiXjAuNi4xIgogCi1jc3Mtd2hhdEAyLjE6Ci0gIHZlcnNpb24g IjIuMS4zIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9jc3Mtd2hh dC8tL2Nzcy13aGF0LTIuMS4zLnRneiNhNmQ3NjA0NTczMzY1ZmU3NDY4NmMzZjMxMWM1NjUxM2Q4 ODI4NWYyIgotICBpbnRlZ3JpdHkgc2hhNTEyLWErRVBvRCt1WmlOZmgrNWZ4dzJuTzlRd0ZhNm5K ZTJPcjM1ZkdZNklwdzFSM1I0QUd6MWQxVEVackNlZ3Z3MllUbVowalhpckdZbHp4eHBZU0h3cEVn PT0KLQogY3NzLXdoYXRAXjMuMi4xOgotICB2ZXJzaW9uICIzLjQuMSIKLSAgcmVzb2x2ZWQgImh0 dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vY3NzLXdoYXQvLS9jc3Mtd2hhdC0zLjQuMS50Z3oj ODFjYjcwYjYwOWU0YjEzNTFiMWU1NGNiYzkwZmQ5YzU0YWY4NmUyZSIKLSAgaW50ZWdyaXR5IHNo YTUxMi13SE9wcFZES2w0dlRBT1d6SnQ1RWszN1NnZDlxcTFCbWovVDFPanZpY1diVTVXN3J1N1Bx Ym4wSmRxaWkzRHJ4L2grZGl4SEtYTmhaWXg3Ymx0aEw3Zz09CisgIHZlcnNpb24gIjMuNC4yIgor ICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9jc3Mtd2hhdC8tL2Nzcy13 aGF0LTMuNC4yLnRneiNlYTcwMjZmY2IwMTc3N2VkYmRlNTIxMjRlMjFmMzI3ZTdhZTk1MGU0Igor ICBpbnRlZ3JpdHkgc2hhNTEyLUFDVW0zTDAvamlaVHFmelJNM0hpOVE4ZVpxZDZJSzM3bU1XUEx6 OVBKeGtMV2xsWWVSZitFSFVTSFlFdEZvcDJFcXl0YXExRml6RlZoN1hmQm5YQ0RRPT0KKworY3Nz LXdoYXRAXjQuMC4wOgorICB2ZXJzaW9uICI0LjAuMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVn aXN0cnkueWFybnBrZy5jb20vY3NzLXdoYXQvLS9jc3Mtd2hhdC00LjAuMC50Z3ojMzVlNzM3NjFj YWIyZWViM2QzNjYxMTI2YjIzZDdhYTBlODQzMjIzMyIKKyAgaW50ZWdyaXR5IHNoYTUxMi10ZWlq ekc3a3dZZk5Wc1VoMkgvWU42MnhXM0tLOVloWEVnU2xieE1sY3lqUE52ZEtKcUZ4NWxyd2xKZ29G UDFaSGxCODlpR0Rsby9KeXNoS2VSaHY1QT09CiAKIGNzc2VzY0BeMy4wLjA6CiAgIHZlcnNpb24g IjMuMC4wIgpAQCAtMzEwMSwxMSArMzIzNSwxNiBAQCBjc3NuYW5vQF40LjEuMTA6CiAgICAgcG9z dGNzcyAiXjcuMC4wIgogCiBjc3NvQF40LjAuMjoKLSAgdmVyc2lvbiAiNC4wLjMiCi0gIHJlc29s dmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Nzc28vLS9jc3NvLTQuMC4zLnRneiMw ZDk5ODVkYzg1MmM3Y2MyYjJjYWNmYmJlMTA3OTAxNGQxYThlOTAzIgotICBpbnRlZ3JpdHkgc2hh NTEyLU5MM3NweXN4VWtjck9nbnBzVDRYZGwyYWlFaUJHNmJYc3dBQUJRVkhjTXJmampCaXNGT0t3 TERPbWY0d2YzMmFQZGNKd3MxemRzMkIwUmcranFNeUhRPT0KKyAgdmVyc2lvbiAiNC4yLjAiCisg IHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Nzc28vLS9jc3NvLTQuMi4w LnRneiNlYTNhNTYxMzQ2ZThkYzlmNTQ2ZDZmZWJlZGQ1MDE4N2NmMzg5NTI5IgorICBpbnRlZ3Jp dHkgc2hhNTEyLXd2bGNkSWJmNnB3S0VrN3ZIajgvQmtjMEI0eWxYWnJ1THZPZ3M5ZG9TNWVPc09w dW9kT1YyekpDaFNwa3ArcFJwWVFMUU1lRjA0bnIzWjY4U3RhOWpBPT0KICAgZGVwZW5kZW5jaWVz OgotICAgIGNzcy10cmVlICIxLjAuMC1hbHBoYS4zOSIKKyAgICBjc3MtdHJlZSAiXjEuMS4yIgor Citjc3N0eXBlQF4yLjUuNzoKKyAgdmVyc2lvbiAiMi42LjE0IgorICByZXNvbHZlZCAiaHR0cHM6 Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9jc3N0eXBlLy0vY3NzdHlwZS0yLjYuMTQudGd6IzAwNDgy MmE0MDUwMzQ1YjU1YWQ0ZGNjMDBiZTFkOWNmMmY0Mjk2ZGUiCisgIGludGVncml0eSBzaGE1MTIt Mm1TYytWRXBHUGJsekF4eWVSK3ZaaEpLZ1lnME9nMG5uUmk3cG1SWEZZWXhTZm5Pblc4QTV3d1Fi NG40Y0UybklPenFLT0F6TENhRVg2YUJtTkV2OEE9PQogCiBjdWJpYzJxdWFkQF4xLjAuMDoKICAg dmVyc2lvbiAiMS4xLjEiCkBAIC0zMTM4LDYgKzMyNzcsMTQgQEAgY3ljbGlzdEBeMS4wLjE6CiAg IHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2N5Y2xpc3QvLS9jeWNsaXN0 LTEuMC4xLnRneiM1OTZlOTY5OGZkMGM4MGUxMjAzOGMyYjgyZDZlYjFiMzViNjIyNGQ5IgogICBp bnRlZ3JpdHkgc2hhMS1XVzZXbVAwTWdPRWdPTUs0TFc2eHMxdGlKTms9CiAKK2RhZ3JlQF4wLjgu NDoKKyAgdmVyc2lvbiAiMC44LjUiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5w a2cuY29tL2RhZ3JlLy0vZGFncmUtMC44LjUudGd6I2JhMzBiMDA1NWRhYzEyYjZjMWZjYzI0Nzgx NzQ0Mjc3N2QwNmFmZWUiCisgIGludGVncml0eSBzaGE1MTItL2FUcW1uUnRhN3g3TUNDcEV4azdI UUwyTzRvd0NUMmg4TlQvLzlJMU9ROXZ0MjlQYTBCelNBa1I1bHdGVWNRNzQ5MXlWaS8zQ1hVOWpR NW8wTW4yU3c9PQorICBkZXBlbmRlbmNpZXM6CisgICAgZ3JhcGhsaWIgIl4yLjEuOCIKKyAgICBs b2Rhc2ggIl40LjE3LjE1IgorCiBkYXNoLWFzdEBeMS4wLjA6CiAgIHZlcnNpb24gIjEuMC4wIgog ICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9kYXNoLWFzdC8tL2Rhc2gt YXN0LTEuMC4wLnRneiMxMjAyOWJhNWZiMmY4YWE2ZjBhODYxNzk1YjIzYzFiNGI2YzI3ZDM3IgpA QCAtMzE2MywxNiArMzMxMCwxNiBAQCBkZWJ1Z0A9My4xLjAsIGRlYnVnQH4zLjEuMDoKICAgICBt cyAiMi4wLjAiCiAKIGRlYnVnQF4zLjIuNjoKLSAgdmVyc2lvbiAiMy4yLjYiCi0gIHJlc29sdmVk ICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2RlYnVnLy0vZGVidWctMy4yLjYudGd6I2U4 M2QxN2RlMTZkOGE3ZWZiNzcxN2VkYmU1ZmIxMDEzNWVlZTYyOWIiCi0gIGludGVncml0eSBzaGE1 MTItbWVsK2pmN25ydEVsNVBuMVF4NDZ6QVJYS0RwQmJ2emV6c2U3cDdMcUlObWRvSWs4UFlQNVN5 U2F4RW1ZdjZUWjBKeUVLQTFoc0NJZDZESWhnSVR0V1E9PQorICB2ZXJzaW9uICIzLjIuNyIKKyAg cmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vZGVidWcvLS9kZWJ1Zy0zLjIu Ny50Z3ojNzI1ODBiN2U5MTQ1ZmIzOWI2Njc2ZjljNWU1ZmIxMDBiOTM0MTc5YSIKKyAgaW50ZWdy aXR5IHNoYTUxMi1DRmp6WVlBaTRUaGZpUXZpenJGUWV2VFRYSHRuQ3FXZmU3eDFBaGdFc2NUejZa YkxiZm9MUkxQdWdUUXlCdGg2ZjhaRVJWVVN5V0hGRC83V3U0dDFYUT09CiAgIGRlcGVuZGVuY2ll czoKICAgICBtcyAiXjIuMS4xIgogCiBkZWJ1Z0BeNC4wLjEsIGRlYnVnQF40LjEuMCwgZGVidWdA XjQuMS4xOgotICB2ZXJzaW9uICI0LjIuMCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnku eWFybnBrZy5jb20vZGVidWcvLS9kZWJ1Zy00LjIuMC50Z3ojN2YxNTBmOTM5MjBlOTRjNThmNTU3 NGMyZmQwMWEzMTEwZWZmZTdmMSIKLSAgaW50ZWdyaXR5IHNoYTUxMi1JWDJuY1k3OHZEVGpaTUZV ZG1zdklSRlkyQ2Y0Rm5EMHdScytuUXdKVThMdTk5L3RQRmRiMFZ5YmlpTVRQZTNJNnJRbXdzcVFx UkJ2eFUrYlovSThzZz09CisgIHZlcnNpb24gIjQuMy4xIgorICByZXNvbHZlZCAiaHR0cHM6Ly9y ZWdpc3RyeS55YXJucGtnLmNvbS9kZWJ1Zy8tL2RlYnVnLTQuMy4xLnRneiNmMGQyMjljNTA1ZTBj NmQ4YzQ5YWM1NTNkMWIxM2RjMTgzZjZiMmVlIgorICBpbnRlZ3JpdHkgc2hhNTEyLWRvRXdkdm00 UENlSzRLM1JRTjJaQzJCWVVCYXh3TEFSQ3FabU1qdEY4YTUxSjJSYjB4cFZsb0ZSbkNPRHdxanB3 bkFvYW80cGVsTjhsM1JKZHYzZ1JRPT0KICAgZGVwZW5kZW5jaWVzOgogICAgIG1zICIyLjEuMiIK IApAQCAtMzM5MSw0MCArMzUzOCw0NiBAQCBkb20tc2VyaWFsaXplQF4yLjIuMDoKICAgICBleHRl bmQgIl4zLjAuMCIKICAgICB2b2lkLWVsZW1lbnRzICJeMi4wLjAiCiAKLWRvbS1zZXJpYWxpemVy QDAsIGRvbS1zZXJpYWxpemVyQH4wLjEuMToKLSAgdmVyc2lvbiAiMC4xLjEiCi0gIHJlc29sdmVk ICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2RvbS1zZXJpYWxpemVyLy0vZG9tLXNlcmlh bGl6ZXItMC4xLjEudGd6IzFlYzQwNTllMjg0YmFiZWQzNmVlYzI5NDFkNGE5NzBhMTg5Y2U3YzAi Ci0gIGludGVncml0eSBzaGE1MTItbDBJVTBwUHpMV1NIQmNpZVpicE9LZ2tJbjN0czN2QWg3WnVG eVhOd0p4SlhrL2M0R3dqOXhhVEp3SURWUUNYYXdXRDBxYjNJek1HSDVyZ2xRYU8wWEE9PQorZG9t LXNlcmlhbGl6ZXJAMDoKKyAgdmVyc2lvbiAiMC4yLjIiCisgIHJlc29sdmVkICJodHRwczovL3Jl Z2lzdHJ5Lnlhcm5wa2cuY29tL2RvbS1zZXJpYWxpemVyLy0vZG9tLXNlcmlhbGl6ZXItMC4yLjIu dGd6IzFhZmI4MWY1MzM3MTcxNzVkNDc4NjU1ZGViYzVlMzMyZDlmOWJiNTEiCisgIGludGVncml0 eSBzaGE1MTItMi94UGIzT1JzUTQybkhZaVN1blhrRGpQTEJhRWoveFR3VU80QjdYQ1pRVFJrN0VC dFRPUGF5Z2gxMFlBQWgyT0kxUXJwNk5XZnBBaHpzd2oweWR0OWc9PQorICBkZXBlbmRlbmNpZXM6 CisgICAgZG9tZWxlbWVudHR5cGUgIl4yLjAuMSIKKyAgICBlbnRpdGllcyAiXjIuMC4wIgorCitk b20tc2VyaWFsaXplckBeMS4wLjEsIGRvbS1zZXJpYWxpemVyQH4xLjIuMDoKKyAgdmVyc2lvbiAi MS4yLjAiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2RvbS1zZXJp YWxpemVyLy0vZG9tLXNlcmlhbGl6ZXItMS4yLjAudGd6IzM0MzNkOTEzNmFlYjNjNjI3OTgxZGFh Mzg1ZmM3ZjMyZDI3YzQ4ZjEiCisgIGludGVncml0eSBzaGE1MTItbjZrWkZIL0tsQ3Jxcy8xR0hN T2Q1aTJmZC9iZVFIdWVoS2RXdk5OZmZiR0hUci9hbG1kaHVWdlRWRmIzVjdmZ2x6K25DNTBmRnVz dTNsWTMzaDEycEE9PQogICBkZXBlbmRlbmNpZXM6Ci0gICAgZG9tZWxlbWVudHR5cGUgIl4xLjMu MCIKLSAgICBlbnRpdGllcyAiXjEuMS4xIgorICAgIGRvbWVsZW1lbnR0eXBlICJeMi4wLjEiCisg ICAgZG9taGFuZGxlciAiXjQuMC4wIgorICAgIGVudGl0aWVzICJeMi4wLjAiCiAKIGRvbWFpbi1i cm93c2VyQF4xLjEuMSwgZG9tYWluLWJyb3dzZXJAXjEuMi4wOgogICB2ZXJzaW9uICIxLjIuMCIK ICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vZG9tYWluLWJyb3dzZXIv LS9kb21haW4tYnJvd3Nlci0xLjIuMC50Z3ojM2QzMWY1MDE5MWE2NzQ5ZGQxMzc1YTdmNTIyZTgy M2Q0MmU1NGVkYSIKICAgaW50ZWdyaXR5IHNoYTUxMi1qbmp5aU02ZVJ5WmwySCtXOFEvekxNQTQ4 MWh6aTBlc3pBYUJVeklWbm1ZVkRCYm5MeFZObmZ1MUhnRUJ2Q2JMKzcxRnJ4TWwzRTZscEtIN0dl M09YQT09CiAKLWRvbWVsZW1lbnR0eXBlQDEsIGRvbWVsZW1lbnR0eXBlQF4xLjMuMCwgZG9tZWxl bWVudHR5cGVAXjEuMy4xOgorZG9tZWxlbWVudHR5cGVAMToKICAgdmVyc2lvbiAiMS4zLjEiCiAg IHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2RvbWVsZW1lbnR0eXBlLy0v ZG9tZWxlbWVudHR5cGUtMS4zLjEudGd6I2QwNDhjNDRiMzdiMGQxMGE3ZjJhM2Q1ZmVlM2Y0MzMz ZDc5MDQ4MWYiCiAgIGludGVncml0eSBzaGE1MTItQlNLQitUU3BNcEZJL0hPeENOcjFPOGFNT1Ra OGhUM3BNM0dRMHcvbVdSbWtoRURTRkpra3l6ejRYUXNCVjQ0QkNod0drckRmTXlqVkQwZUEyYUZW M3c9PQogCi1kb21oYW5kbGVyQF4yLjMuMDoKLSAgdmVyc2lvbiAiMi40LjIiCi0gIHJlc29sdmVk ICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2RvbWhhbmRsZXIvLS9kb21oYW5kbGVyLTIu NC4yLnRneiM4ODA1MDk3ZTkzM2Q2NWU4NTU0NmY3MjZkNjBmNWViODhiNDRmODAzIgotICBpbnRl Z3JpdHkgc2hhNTEyLUppSzA0aDBIdDV1LzgwZmRMTUNFbVY0emtOaDJCY29NRkJtWi85MVd0WVo4 cVZYU0tqaXc3ZlhNZ0ZQbkhjU1pnT28zWGRpbkh2bW5EVWVNZjVSNHdBPT0KLSAgZGVwZW5kZW5j aWVzOgotICAgIGRvbWVsZW1lbnR0eXBlICIxIgorZG9tZWxlbWVudHR5cGVAXjIuMC4xLCBkb21l bGVtZW50dHlwZUBeMi4xLjA6CisgIHZlcnNpb24gIjIuMS4wIgorICByZXNvbHZlZCAiaHR0cHM6 Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9kb21lbGVtZW50dHlwZS8tL2RvbWVsZW1lbnR0eXBlLTIu MS4wLnRneiNhODUxYzA4MGE2ZDFjM2Q5NDM0NGFlZDE1MWQ5OWY2NjllZGY1ODVlIgorICBpbnRl Z3JpdHkgc2hhNTEyLUxzVGd4L0w1VnBEK1E4bG1zWFNIVzJXcEErZUJsWjlIUGYzZXJEMUlvUEYw MC8zSktIWjNCa25VVkEyUUdETnU2OVpObXlGbUNXQlNPNDVYallLQzV3PT0KIAotZG9tdXRpbHNA MS41LjE6Ci0gIHZlcnNpb24gIjEuNS4xIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55 YXJucGtnLmNvbS9kb211dGlscy8tL2RvbXV0aWxzLTEuNS4xLnRneiNkY2Q4NDg4YTI2ZjU2M2Q2 MTA3OWU0OGM5ZjdiN2UzMjM3MzY4MmNmIgotICBpbnRlZ3JpdHkgc2hhMS0zTmhJaWliMVk5WVFl ZVNNbjN0K01qYzJnczg9Citkb21oYW5kbGVyQF40LjAuMDoKKyAgdmVyc2lvbiAiNC4wLjAiCisg IHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2RvbWhhbmRsZXIvLS9kb21o YW5kbGVyLTQuMC4wLnRneiMwMWVhNzgyMWRlOTk2ZDg1ZjY5MDI5ZTgxZmE4NzNjMjE4MzMwOThl IgorICBpbnRlZ3JpdHkgc2hhNTEyLUtQVGJuR1ExSmVFTVF5TzFpWVhvYWdzSTZzby9DOTZIWmlG eUJ5VTNUNmlBenBYbjhFR0V2Y3Q2dW5tMVpHb2VkOEJ5TzJvaXJ4Z3d4Qm1xS0Y5aGFBPT0KICAg ZGVwZW5kZW5jaWVzOgotICAgIGRvbS1zZXJpYWxpemVyICIwIgotICAgIGRvbWVsZW1lbnR0eXBl ICIxIgorICAgIGRvbWVsZW1lbnR0eXBlICJeMi4xLjAiCiAKLWRvbXV0aWxzQF4xLjUuMSwgZG9t dXRpbHNAXjEuNy4wOgorZG9tdXRpbHNAXjEuNy4wOgogICB2ZXJzaW9uICIxLjcuMCIKICAgcmVz b2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vZG9tdXRpbHMvLS9kb211dGlscy0x LjcuMC50Z3ojNTZlYTM0MWU4MzRlMDZlNjc0OGFmN2ExY2IyNWRhNjdlYTlmOGMyYSIKICAgaW50 ZWdyaXR5IHNoYTUxMi1MZ2QyWGNKL05qRXcrN3RGdmZLeE96Q1lLWnNkY3Q1bGN6UTJaYVFZOERq ejdwZkFEM0dicDh5U0pXdHJlSUkvdkRsTVZteHdhNnBIbWR4SVlndHREZz09CkBAIC0zNDMyLDYg KzM1ODUsMTUgQEAgZG9tdXRpbHNAXjEuNS4xLCBkb211dGlsc0BeMS43LjA6CiAgICAgZG9tLXNl cmlhbGl6ZXIgIjAiCiAgICAgZG9tZWxlbWVudHR5cGUgIjEiCiAKK2RvbXV0aWxzQF4yLjQuMywg ZG9tdXRpbHNAXjIuNC40OgorICB2ZXJzaW9uICIyLjQuNCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8v cmVnaXN0cnkueWFybnBrZy5jb20vZG9tdXRpbHMvLS9kb211dGlscy0yLjQuNC50Z3ojMjgyNzM5 YzRiMTUwZDAyMmQzNDY5OTc5NzM2OWFhZDhkMTliYmJkMyIKKyAgaW50ZWdyaXR5IHNoYTUxMi1q QkMwdk9zRUNJNE9NZEQwR0M5bUduN05YUExiK1F0NktXMVlEUXplUVlSVUZLbU5HOGxoN21PNUhp RUxmcitsTFFFN2xvRFZJNFFjQXhWODBIUytSQT09CisgIGRlcGVuZGVuY2llczoKKyAgICBkb20t c2VyaWFsaXplciAiXjEuMC4xIgorICAgIGRvbWVsZW1lbnR0eXBlICJeMi4wLjEiCisgICAgZG9t aGFuZGxlciAiXjQuMC4wIgorCiBkb3QtcHJvcEBeNS4yLjA6CiAgIHZlcnNpb24gIjUuMy4wIgog ICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9kb3QtcHJvcC8tL2RvdC1w cm9wLTUuMy4wLnRneiM5MGNjY2U3MDhjZDljZDgyY2M0ZGM4YzNkZGQ5YWJkZDU1YjIwZTg4IgpA QCAtMzUyMSwxMCArMzY4MywxMCBAQCBlanNAfjMuMC4yOgogICByZXNvbHZlZCAiaHR0cHM6Ly9y ZWdpc3RyeS55YXJucGtnLmNvbS9lanMvLS9lanMtMy4wLjIudGd6Izc0NWIwMWNkY2ZlMzhjMWM2 YTJkYTNiYmIyZDk5NTcwNjBhMzEyMjYiCiAgIGludGVncml0eSBzaGE1MTItSW5jbVVwbjF5Tjg0 aHkyc2hiMFBPSjgwRldyZkdOWTBjeE85ZjR2Ky9zRzdxY0J2QXRWV1VBMUlkelkvOEVZVW1PVmhv S0pWZEpqTmQzQVpjbnhPakE9PQogCi1lbGVjdHJvbi10by1jaHJvbWl1bUBeMS4zLjU3MToKLSAg dmVyc2lvbiAiMS4zLjU3OCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5j b20vZWxlY3Ryb24tdG8tY2hyb21pdW0vLS9lbGVjdHJvbi10by1jaHJvbWl1bS0xLjMuNTc4LnRn eiNlNjY3MTkzNmY0NTcxYTg3NGViMjZlMmU4MzNhYTBiMmMwYjc3NmUwIgotICBpbnRlZ3JpdHkg c2hhNTEyLXo0Z1U2ZEExQ2JCSnNBRXJXNXN3VEdBYVUyVEJ6YzJtUEFvbkpiMDB6cVcxck9yYURv MnpmQk1EUnZhejljVmljKzBKRVppWWJIV1B3L2ZUYVpsRzJRPT0KK2VsZWN0cm9uLXRvLWNocm9t aXVtQF4xLjMuNjIxOgorICB2ZXJzaW9uICIxLjMuNjMzIgorICByZXNvbHZlZCAiaHR0cHM6Ly9y ZWdpc3RyeS55YXJucGtnLmNvbS9lbGVjdHJvbi10by1jaHJvbWl1bS8tL2VsZWN0cm9uLXRvLWNo cm9taXVtLTEuMy42MzMudGd6IzE2ZGQ1YWVjOWRlMDM4OTRlOGQxNGExZGI0Y2RhOGEzNjliOWI3 ZmUiCisgIGludGVncml0eSBzaGE1MTItYnNWQ3NPTmlWWDFhYmtXZEg3S3RwdURBaHNRM04zYmpQ WWhST1NBWEU3OHJvSktldDBZNXd6bkExNEpFOXB6YndTWm1TTUFXNktpS1lmMVJ2YlRKa0E9PQog CiBlbGxpcHRpY0BeNi41LjM6CiAgIHZlcnNpb24gIjYuNS4zIgpAQCAtMzYxNSwxMCArMzc3Nywx MCBAQCBlbnRAfjIuMi4wOgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNv bS9lbnQvLS9lbnQtMi4yLjAudGd6I2U5NjQyMTkzMjVhMjFkMDVmNDQ0NjZhMmY2ODZlZDZjZTVm NWRkMWQiCiAgIGludGVncml0eSBzaGExLTZXUWhreVdpSFFYMFJHYWk5b2J0Yk9YMTNSMD0KIAot ZW50aXRpZXNAXjEuMS4xLCBlbnRpdGllc0B+MS4xLjE6Ci0gIHZlcnNpb24gIjEuMS4yIgotICBy ZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9lbnRpdGllcy8tL2VudGl0aWVz LTEuMS4yLnRneiNiZGZhNzM1Mjk5NjY0ZGZhZmQzNDUyOWVkNGY4NTIyYTI3NWZlYTU2IgotICBp bnRlZ3JpdHkgc2hhNTEyLWYyTFpNWWwxRnp1N1lTQktnK1JvUk9lbHBPYU5yY0dtRTlBWnViZURm ckNFaWE0ODNvVzRNSTRWeUZkNVZOSElnUS83cW0xSTB3VUhLMWVKbm4yeTJ3PT0KK2VudGl0aWVz QF4yLjAuMCwgZW50aXRpZXNAfjIuMS4wOgorICB2ZXJzaW9uICIyLjEuMCIKKyAgcmVzb2x2ZWQg Imh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vZW50aXRpZXMvLS9lbnRpdGllcy0yLjEuMC50 Z3ojOTkyZDMxMjljZjdkZjY4NzBiOTZjNTc4NThjMjQ5YTEyMGY4YjhiNSIKKyAgaW50ZWdyaXR5 IHNoYTUxMi1oQ3gxb2t5OVBGcko2MTFtZjBpZkJMQlJXOGxVVVZSbEZvbGI1Z1dSZklFTGFiQmxi cDl4WnZycVpMWkFzK054Rm5iZlFvZUdkOHdEa3lnamc3VTg1dz09CiAKIGVuenltZS1hZGFwdGVy LXJlYWN0LTE2QF4xLjE1LjI6CiAgIHZlcnNpb24gIjEuMTUuNSIKQEAgLTM2MzYsMTQgKzM3OTgs MTUgQEAgZW56eW1lLWFkYXB0ZXItcmVhY3QtMTZAXjEuMTUuMjoKICAgICBzZW12ZXIgIl41Ljcu MCIKIAogZW56eW1lLWFkYXB0ZXItdXRpbHNAXjEuMTMuMToKLSAgdmVyc2lvbiAiMS4xMy4xIgot ICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9lbnp5bWUtYWRhcHRlci11 dGlscy8tL2VuenltZS1hZGFwdGVyLXV0aWxzLTEuMTMuMS50Z3ojNTljMWI3MzRiMDkyNzU0M2Uz ZDhkYzQ3NzI5OWVjOTU3ZmViMzEyZCIKLSAgaW50ZWdyaXR5IHNoYTUxMi01QTlNWFhnbWgvVGt2 ZWUzYkwvOVJDQUFnbGVIcUZuc3VyVFlDYnltZWNPNG9odnROTzV6cUloSHhWMzcwdDduSkF3YUNm a2d0ZmZhcktwQzBHUHQwZz09CisgIHZlcnNpb24gIjEuMTQuMCIKKyAgcmVzb2x2ZWQgImh0dHBz Oi8vcmVnaXN0cnkueWFybnBrZy5jb20vZW56eW1lLWFkYXB0ZXItdXRpbHMvLS9lbnp5bWUtYWRh cHRlci11dGlscy0xLjE0LjAudGd6I2FmYmIwNDg1ZTgwMzNhYTUwYzc0NGVmYjVmNTcxMWU2NGZi ZjFhZDAiCisgIGludGVncml0eSBzaGE1MTItRi96LzdTZUx0K3JlS0ZjYjc1OTdJVGhwRHAwYm16 Y0gxRTlPYWJxditvMDFjSUQyL1lJbmxxSGJGbDdIeldCbDRoM09kWlllZHR3TkRPbVNLa2swYmc9 PQogICBkZXBlbmRlbmNpZXM6CiAgICAgYWlyYm5iLXByb3AtdHlwZXMgIl4yLjE2LjAiCi0gICAg ZnVuY3Rpb24ucHJvdG90eXBlLm5hbWUgIl4xLjEuMiIKLSAgICBvYmplY3QuYXNzaWduICJeNC4x LjAiCi0gICAgb2JqZWN0LmZyb21lbnRyaWVzICJeMi4wLjIiCisgICAgZnVuY3Rpb24ucHJvdG90 eXBlLm5hbWUgIl4xLjEuMyIKKyAgICBoYXMgIl4xLjAuMyIKKyAgICBvYmplY3QuYXNzaWduICJe NC4xLjIiCisgICAgb2JqZWN0LmZyb21lbnRyaWVzICJeMi4wLjMiCiAgICAgcHJvcC10eXBlcyAi XjE1LjcuMiIKICAgICBzZW12ZXIgIl41LjcuMSIKIApAQCAtMzY5Miw5ICszODU1LDkgQEAgZW56 eW1lQF4zLjExLjA6CiAgICAgc3RyaW5nLnByb3RvdHlwZS50cmltICJeMS4yLjEiCiAKIGVycm5v QF4wLjEuMywgZXJybm9AfjAuMS43OgotICB2ZXJzaW9uICIwLjEuNyIKLSAgcmVzb2x2ZWQgImh0 dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vZXJybm8vLS9lcnJuby0wLjEuNy50Z3ojNDY4NGQ3 MTc3OWFkMzlhZjE3N2UzZjAwNzk5NmY3YzY3Yzg1MjYxOCIKLSAgaW50ZWdyaXR5IHNoYTUxMi1N ZnJSQkRXeklXaWZncTZ0Smo2MGdrQXd0TE5iNnNRUGxjRnJTT2ZsY1AxYUZtbXJ1S1Eyd1JuemUv OFY2a2d5ejdIM0ZGOE5wenY3OG1aN1hMTGZsZz09CisgIHZlcnNpb24gIjAuMS44IgorICByZXNv bHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9lcnJuby8tL2Vycm5vLTAuMS44LnRn eiM4YmIzZTljN2Q0NjNiZTQ5NzZmZjg4OGY3NmI0ODA5ZWJjMmU4MTFmIgorICBpbnRlZ3JpdHkg c2hhNTEyLWRKNm9CcjVTUTFWU2Q5cWtrN0J5UmdiLzFTSDRKWmpDSFNXL21yNjMvUWNYTzl6TFZ4 dko2T3kxM25pbzAzcnhwU25WRERqRm9yNzVTalZlWldQVy9BPT0KICAgZGVwZW5kZW5jaWVzOgog ICAgIHByciAifjEuMC4xIgogCkBAIC0zNzA1LDcgKzM4NjgsNyBAQCBlcnJvci1leEBeMS4yLjAs IGVycm9yLWV4QF4xLjMuMToKICAgZGVwZW5kZW5jaWVzOgogICAgIGlzLWFycmF5aXNoICJeMC4y LjEiCiAKLWVzLWFic3RyYWN0QF4xLjE3LjAsIGVzLWFic3RyYWN0QF4xLjE3LjAtbmV4dC4xLCBl cy1hYnN0cmFjdEBeMS4xNy4yLCBlcy1hYnN0cmFjdEBeMS4xNy40LCBlcy1hYnN0cmFjdEBeMS4x Ny41OgorZXMtYWJzdHJhY3RAXjEuMTcuMC1uZXh0LjEsIGVzLWFic3RyYWN0QF4xLjE3LjIsIGVz LWFic3RyYWN0QF4xLjE3LjQ6CiAgIHZlcnNpb24gIjEuMTcuNyIKICAgcmVzb2x2ZWQgImh0dHBz Oi8vcmVnaXN0cnkueWFybnBrZy5jb20vZXMtYWJzdHJhY3QvLS9lcy1hYnN0cmFjdC0xLjE3Ljcu dGd6I2E0ZGU2MWIyZjY2OTg5ZmM3NDIxNjc2YzFjYjk3ODc1NzNhY2U1NGMiCiAgIGludGVncml0 eSBzaGE1MTItVkJsL2duZmNKN09lcmNLQTlNVmFlZ1dzQkhGalY0OTJzeU11ZGNuUVp2dC9Edzhl enBjT0hZWlhhL0o5Nk84dngrZzR4NjVZS2h4T3dEVWg2M2FTNWc9PQpAQCAtMzc0OSwxMCArMzkx MiwxMCBAQCBlcy10by1wcmltaXRpdmVAXjEuMi4xOgogICAgIGlzLWRhdGUtb2JqZWN0ICJeMS4w LjEiCiAgICAgaXMtc3ltYm9sICJeMS4wLjIiCiAKLWVzY2FsYWRlQF4zLjEuMDoKLSAgdmVyc2lv biAiMy4xLjAiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2VzY2Fs YWRlLy0vZXNjYWxhZGUtMy4xLjAudGd6I2U4ZTJkN2M3YThiNzZmNmVlNjRjMjE4MWQ2YjgxNTE0 NDE2MDJkNGUiCi0gIGludGVncml0eSBzaGE1MTItbUFrK2hQU084ZkxEa2hWN1YwZFhhekg1cERj Nk1yakJUUHlEM1ZlS3p4blZGakgxTUl4YkNkcUdaQjlPOCtFd1dha1pzM1pDYkRTNElwUnQ3OVYx aWc9PQorZXNjYWxhZGVAXjMuMS4xOgorICB2ZXJzaW9uICIzLjEuMSIKKyAgcmVzb2x2ZWQgImh0 dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vZXNjYWxhZGUvLS9lc2NhbGFkZS0zLjEuMS50Z3oj ZDhjZmRjNzAwMDk2NWM1YTAxNzRiNGE4MmVhYTVjMDU1Mjc0MmU0MCIKKyAgaW50ZWdyaXR5IHNo YTUxMi1rMGVyMmdVa0xmOE8wektKaUFobWtUbkpsVHZJTkd2N3lnRE5QYmVJc1gvVEpqR0paSHVo OUIyVXhic2FFa21sRW85TWZoclN6bWhJbGhSbEkyR1hudz09CiAKIGVzY2FwZS1odG1sQH4xLjAu MzoKICAgdmVyc2lvbiAiMS4wLjMiCkBAIC0zNzY1LDIwICszOTI4LDIwIEBAIGVzY2FwZS1zdHJp bmctcmVnZXhwQF4xLjAuMiwgZXNjYXBlLXN0cmluZy1yZWdleHBAXjEuMC41OgogICBpbnRlZ3Jp dHkgc2hhMS1HMkhBVmlHUXFOLzJyanV5endJQXloTUxodFE9CiAKIGVzbGludC1wbHVnaW4tcmVh Y3RAXjcuMjAuNToKLSAgdmVyc2lvbiAiNy4yMS4zIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdp c3RyeS55YXJucGtnLmNvbS9lc2xpbnQtcGx1Z2luLXJlYWN0Ly0vZXNsaW50LXBsdWdpbi1yZWFj dC03LjIxLjMudGd6IzcxNjU1ZDJhZjUxNTViMTkyODVlYzkyOWRkMmNkYzY3YTQ0NzBiNTIiCi0g IGludGVncml0eSBzaGE1MTItT0k0R3dUQ3F5SWI0aXBhT0VHTFdkYU9IQ1haWnlkU3RBc0JFUEIy ZTFaZk5NMzdib2pwZ08xQm9PUWJGYjBlTFZ6M1FMRHg3Yis2a1ljcnhDdUpmaHc9PQorICB2ZXJz aW9uICI3LjIxLjUiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Vz bGludC1wbHVnaW4tcmVhY3QvLS9lc2xpbnQtcGx1Z2luLXJlYWN0LTcuMjEuNS50Z3ojNTBiMjFh NDEyYjk1NzRiZmUwNWIyMWRiMTc2ZThiN2IzYjE1YmZmMyIKKyAgaW50ZWdyaXR5IHNoYTUxMi04 TWFFZ2dDMmV0MHdTRjZiVWV5d0Y3cVE0NkVSODFpck9kV1M0UVd4bm5sQUVzbnplQmV2azFzV2g3 ZmhwQ2doUHBYYis4S3M3aHZhZnQ2TC94c1I2Zz09CiAgIGRlcGVuZGVuY2llczoKICAgICBhcnJh eS1pbmNsdWRlcyAiXjMuMS4xIgogICAgIGFycmF5LnByb3RvdHlwZS5mbGF0bWFwICJeMS4yLjMi CiAgICAgZG9jdHJpbmUgIl4yLjEuMCIKICAgICBoYXMgIl4xLjAuMyIKLSAgICBqc3gtYXN0LXV0 aWxzICJeMi40LjEiCisgICAganN4LWFzdC11dGlscyAiXjIuNC4xIHx8IF4zLjAuMCIKICAgICBv YmplY3QuZW50cmllcyAiXjEuMS4yIgogICAgIG9iamVjdC5mcm9tZW50cmllcyAiXjIuMC4yIgog ICAgIG9iamVjdC52YWx1ZXMgIl4xLjEuMSIKICAgICBwcm9wLXR5cGVzICJeMTUuNy4yIgotICAg IHJlc29sdmUgIl4xLjE3LjAiCisgICAgcmVzb2x2ZSAiXjEuMTguMSIKICAgICBzdHJpbmcucHJv dG90eXBlLm1hdGNoYWxsICJeNC4wLjIiCiAKIGVzbGludC1zY29wZUBeNC4wLjIsIGVzbGludC1z Y29wZUBeNC4wLjM6CkBAIC00MTAzLDcgKzQyNjYsNyBAQCBmYXN0LWRlZXAtZXF1YWxAXjEuMC4w OgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9mYXN0LWRlZXAtZXF1 YWwvLS9mYXN0LWRlZXAtZXF1YWwtMS4xLjAudGd6I2MwNTM0Nzc4MTdjODZiNTFkYWE4NTNjODFl MDU5YjczM2QwMjM2MTQiCiAgIGludGVncml0eSBzaGExLXdGTkhlQmZJYTFIYXFGUElIZ1diY3ow Q05oUT0KIAotZmFzdC1kZWVwLWVxdWFsQF4zLjEuMToKK2Zhc3QtZGVlcC1lcXVhbEBeMy4xLjEs IGZhc3QtZGVlcC1lcXVhbEBeMy4xLjM6CiAgIHZlcnNpb24gIjMuMS4zIgogICByZXNvbHZlZCAi aHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9mYXN0LWRlZXAtZXF1YWwvLS9mYXN0LWRlZXAt ZXF1YWwtMy4xLjMudGd6IzNhN2Q1NmI1NTlkNmNiYzNlYjUxMjMyNTI0NGU2MTlhNjVjNmM1MjUi CiAgIGludGVncml0eSBzaGE1MTItZjNxUTlvUXk5ajJBaEJlL0g5VkM5MXdMbUtCQ0NVL2dET25L TkFZRzVoc3dPN0JMS2owOUhjNUhZTno5Y0dJKyt4bHBEQ0lnRGFpdFZzMDNBVFI4NFE9PQpAQCAt NDI0OSw3ICs0NDEyLDcgQEAgZmluYWxoYW5kbGVyQDEuMS4yLCBmaW5hbGhhbmRsZXJAfjEuMS4y OgogICAgIHN0YXR1c2VzICJ+MS41LjAiCiAgICAgdW5waXBlICJ+MS4wLjAiCiAKLWZpbmQtY2Fj aGUtZGlyQF4yLjAuMCwgZmluZC1jYWNoZS1kaXJAXjIuMS4wOgorZmluZC1jYWNoZS1kaXJAXjIu MS4wOgogICB2ZXJzaW9uICIyLjEuMCIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFy bnBrZy5jb20vZmluZC1jYWNoZS1kaXIvLS9maW5kLWNhY2hlLWRpci0yLjEuMC50Z3ojOGQwZjk0 Y2QxM2ZlNDNjNmM3YzI2MWEwZDg2MTE1Y2E5MThjMDVmNyIKICAgaW50ZWdyaXR5IHNoYTUxMi1U cTZQaXhFMHcvVk1GZkNnYk9ObmtpUUlWb2wvSkpMN25STWkyMGZxekE0TlJzOUFmZXFNR2VSZFBp M3dJaFlreGplQmFXaDJyeHdhcG41VHUzSXFPUT09CkBAIC00MjY3LDYgKzQ0MzAsMTEgQEAgZmlu ZC1jYWNoZS1kaXJAXjMuMy4xOgogICAgIG1ha2UtZGlyICJeMy4wLjIiCiAgICAgcGtnLWRpciAi XjQuMS4wIgogCitmaW5kLXJvb3RAXjEuMS4wOgorICB2ZXJzaW9uICIxLjEuMCIKKyAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vZmluZC1yb290Ly0vZmluZC1yb290LTEu MS4wLnRneiNhYmNmYzhiYTc2ZjcwOGM0MmE5N2IzZDY4NWI3ZTk0NTBiZmI5Y2U0IgorICBpbnRl Z3JpdHkgc2hhNTEyLU5LZlc2YmVjNkdmS2MwU0d4MWUwN1FaWTlQRTk5dTBCZnQvMHJ6U0Q1azNz Ty92d2tWVXBEVUtWbTVHcHA1VWUzWWZTaFBGVFgyMDcwdERzNWtCOU5nPT0KKwogZmluZC11cEBe MS4wLjA6CiAgIHZlcnNpb24gIjEuMS4yIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55 YXJucGtnLmNvbS9maW5kLXVwLy0vZmluZC11cC0xLjEuMi50Z3ojNmIyZTk4MjJiMWEyY2UwYTYw YWI2NGQ2MTBlY2NhZDUzY2IyNGQwZiIKQEAgLTQzMjksMTMgKzQ0OTcsMTggQEAgZmx1c2gtd3Jp dGUtc3RyZWFtQF4xLjAuMDoKICAgICBpbmhlcml0cyAiXjIuMC4zIgogICAgIHJlYWRhYmxlLXN0 cmVhbSAiXjIuMy42IgogCi1mb2xsb3ctcmVkaXJlY3RzQDEuNS4xMCwgZm9sbG93LXJlZGlyZWN0 c0BeMS4wLjA6Citmb2xsb3ctcmVkaXJlY3RzQDEuNS4xMDoKICAgdmVyc2lvbiAiMS41LjEwIgog ICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9mb2xsb3ctcmVkaXJlY3Rz Ly0vZm9sbG93LXJlZGlyZWN0cy0xLjUuMTAudGd6IzdiN2E5ZjlhZWEyZmRmZjM2Nzg2YTk0ZmY2 NDNlZDA3ZjRmZjVlMmEiCiAgIGludGVncml0eSBzaGE1MTItMFY1bDRDaXp6dnF0NUQ0NGFUWGJG WnorRnR5WFYxdnJETjZxcmVseHRmWVFLVzBLTzBXMlQvaGtFOHh2R2EvNTQwTGtabGthVWpPNGFp bFlURnRIVlE9PQogICBkZXBlbmRlbmNpZXM6CiAgICAgZGVidWcgIj0zLjEuMCIKIAorZm9sbG93 LXJlZGlyZWN0c0BeMS4wLjA6CisgIHZlcnNpb24gIjEuMTMuMSIKKyAgcmVzb2x2ZWQgImh0dHBz Oi8vcmVnaXN0cnkueWFybnBrZy5jb20vZm9sbG93LXJlZGlyZWN0cy8tL2ZvbGxvdy1yZWRpcmVj dHMtMS4xMy4xLnRneiM1ZjY5YjgxMzM3NmNlZTRmZDA0NzRhM2FiYTgzNWRmMDRhYjc2M2I3Igor ICBpbnRlZ3JpdHkgc2hhNTEyLVNTRzV4bVpoMW1rUEd5S3pqWlA4ekxqbHRJZnBXMzJZNVFwZE5K eWpjZkd4SzNxbzNORERrWk9aU0ZpR24xQTZTY2xReFk5R3pFd0FIUTNkbVlSV3BnPT0KKwogZm9y LWluQF4xLjAuMjoKICAgdmVyc2lvbiAiMS4wLjIiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lz dHJ5Lnlhcm5wa2cuY29tL2Zvci1pbi8tL2Zvci1pbi0xLjAuMi50Z3ojODEwNjhkMjk1YTgxNDJl YzBhYzcyNmM2ZTIyMDBjMzBmYjZkNWU4MCIKQEAgLTQ0MjcsMjkgKzQ2MDAsMzAgQEAgZnVuY3Rp b24tYmluZEBeMS4xLjE6CiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29t L2Z1bmN0aW9uLWJpbmQvLS9mdW5jdGlvbi1iaW5kLTEuMS4xLnRneiNhNTY4OTlkM2VhM2M5YmFi ODc0YmI5NzczYjdjNWVkZTkyZjQ4OTVkIgogICBpbnRlZ3JpdHkgc2hhNTEyLXlJb3ZBek1YNDlz RjhZbDU4ZlNDV0o1c3ZTTHVhaWJQeFhRSkZMbUJPYlR1Q3IwTWYxS2lQb3BHTTlOaUZqaVlCQ2Jm YWEyRmg2YnJlUTZBTlZUSTBBPT0KIAotZnVuY3Rpb24ucHJvdG90eXBlLm5hbWVAXjEuMS4yOgot ICB2ZXJzaW9uICIxLjEuMiIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5j b20vZnVuY3Rpb24ucHJvdG90eXBlLm5hbWUvLS9mdW5jdGlvbi5wcm90b3R5cGUubmFtZS0xLjEu Mi50Z3ojNWNkZjc5ZDdjMDVkYjQwMTU5MWRmZGU4M2UzYjcwYzUxMjNlOWE0NSIKLSAgaW50ZWdy aXR5IHNoYTUxMi1DOEErTGxIQkpqQjJBZGNSUG9yYzVKdko1VlVvV2xYZEVITE9KZENJN2tqSEV0 R1RwSFFVaXFNdkNJS1V3SXNHd1pYMmpaSnk3NjFBWHNuMzU2YkpRZz09CitmdW5jdGlvbi5wcm90 b3R5cGUubmFtZUBeMS4xLjIsIGZ1bmN0aW9uLnByb3RvdHlwZS5uYW1lQF4xLjEuMzoKKyAgdmVy c2lvbiAiMS4xLjMiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Z1 bmN0aW9uLnByb3RvdHlwZS5uYW1lLy0vZnVuY3Rpb24ucHJvdG90eXBlLm5hbWUtMS4xLjMudGd6 IzBiYjAzNGJiMzA4ZTc2ODI4MjZmMjE1ZWI2YjJhZTY0OTE4ODQ3ZmUiCisgIGludGVncml0eSBz aGE1MTItSDUxcWtiTlNwOG10a0p0K255VzFneVN0QmlLWnhmUnF5U05VUjk5eWxxNkJQWEhLSTRT RXZJbFRLcDRvZExmalJLSlYwNERGV01VM0cvWVJsUU9zYWc9PQogICBkZXBlbmRlbmNpZXM6Cisg ICAgY2FsbC1iaW5kICJeMS4wLjAiCiAgICAgZGVmaW5lLXByb3BlcnRpZXMgIl4xLjEuMyIKLSAg ICBlcy1hYnN0cmFjdCAiXjEuMTcuMC1uZXh0LjEiCi0gICAgZnVuY3Rpb25zLWhhdmUtbmFtZXMg Il4xLjIuMCIKKyAgICBlcy1hYnN0cmFjdCAiXjEuMTguMC1uZXh0LjEiCisgICAgZnVuY3Rpb25z LWhhdmUtbmFtZXMgIl4xLjIuMSIKIAogZnVuY3Rpb25hbC1yZWQtYmxhY2stdHJlZUBeMS4wLjE6 CiAgIHZlcnNpb24gIjEuMC4xIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtn LmNvbS9mdW5jdGlvbmFsLXJlZC1ibGFjay10cmVlLy0vZnVuY3Rpb25hbC1yZWQtYmxhY2stdHJl ZS0xLjAuMS50Z3ojMWIwYWIzYmQ1NTNiMmEwZDYzOTlkMjljMGUzZWEwYjI1MjA3ODMyNyIKICAg aW50ZWdyaXR5IHNoYTEtR3dxenZWVTdLZzFqbWRLY0RqNmdzbElIZ3ljPQogCi1mdW5jdGlvbnMt aGF2ZS1uYW1lc0BeMS4yLjA6Ci0gIHZlcnNpb24gIjEuMi4xIgotICByZXNvbHZlZCAiaHR0cHM6 Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9mdW5jdGlvbnMtaGF2ZS1uYW1lcy8tL2Z1bmN0aW9ucy1o YXZlLW5hbWVzLTEuMi4xLnRneiNhOTgxYWMzOTdmYTBjOTk2NDU1MTQwMmNkYzU1MzNkN2E0ZDUy ZjkxIgotICBpbnRlZ3JpdHkgc2hhNTEyLWo0OEIvWkk3VktzM3NnZUkyY1pwN1dYV21aWHU3SXE1 cGw1L3ZwdFY1TjJtcStER0Z1Uy91bGFEanRhb0xwWXp1RDZ1OFVnclVLSGZnbzdmRFRTaUJBPT0K K2Z1bmN0aW9ucy1oYXZlLW5hbWVzQF4xLjIuMToKKyAgdmVyc2lvbiAiMS4yLjIiCisgIHJlc29s dmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2Z1bmN0aW9ucy1oYXZlLW5hbWVzLy0v ZnVuY3Rpb25zLWhhdmUtbmFtZXMtMS4yLjIudGd6Izk4ZDkzOTkxYzM5ZGE5MzYxZjhlNTBiMzM3 YzRmNmU0MWYxMjBlMjEiCisgIGludGVncml0eSBzaGE1MTItYkxnYzNhc2JXZHdQYngybU5rMlM0 OWttSkN1UWV1MG5mbWFPZ2JzOFdJeXp6a3czcjRodHN6ZElpOVE5RU1lekRQVFl1Sngyd3ZqWi9F d2dBdGhwbkE9PQogCiBnZW5zeW5jQF4xLjAuMC1iZXRhLjE6Ci0gIHZlcnNpb24gIjEuMC4wLWJl dGEuMSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vZ2Vuc3luYy8t L2dlbnN5bmMtMS4wLjAtYmV0YS4xLnRneiM1OGY0MzYxZmY5ODdlNWZmNmUxZTdhMjEwODI3YWEz NzFlYWFjMjY5IgotICBpbnRlZ3JpdHkgc2hhNTEyLXI4RUM2Tk8xc25nSC96ZEQ5ZmlSRExkY2du YmF5WGFoK21MZ01hblRhSVpKcUVDMU1ac3Rtbm94OEtwbkkyL2Z4UXdycDVPcENPWVdMcDRyQmw0 SmNnPT0KKyAgdmVyc2lvbiAiMS4wLjAtYmV0YS4yIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdp c3RyeS55YXJucGtnLmNvbS9nZW5zeW5jLy0vZ2Vuc3luYy0xLjAuMC1iZXRhLjIudGd6IzMyYTZl ZTc2YzNkN2Y1MmQ0NmIyYjFhZTVkOTNmZWE4NTgwYTI1ZTAiCisgIGludGVncml0eSBzaGE1MTIt M2hON05hc2tZdk1ETFFZNTVnblczTlErbWVzRUFlcFRxbGcrVkViajd6enFFTUJWTmh6Y0dZWWVx Rm8vVGxZejZlUWlGY3AxSGNzQ1pPK25HZ1M4emc9PQogCiBnZW9tZXRyeS1pbnRlcmZhY2VzQF4x LjEuNDoKICAgdmVyc2lvbiAiMS4xLjQiCkBAIC00NDY2LDYgKzQ2NDAsMTUgQEAgZ2V0LWNhbGxl ci1maWxlQF4yLjAuMToKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20v Z2V0LWNhbGxlci1maWxlLy0vZ2V0LWNhbGxlci1maWxlLTIuMC41LnRneiM0Zjk0NDEyYTgyZGIz MmYzNmUzYjBiOTc0MWY4YTk3ZmViMDMxZjdlIgogICBpbnRlZ3JpdHkgc2hhNTEyLUR5RlAzQk0v M1lIVFFPQ1VML3cwT1pIUjBscEtlR3J4b3RjSFdjcU5FZG5sdHFGd1hWZmhFQlE5NGVJbzM0QWZR cG8wckdraTRjeUlpZnRZMDZoMkZnPT0KIAorZ2V0LWludHJpbnNpY0BeMS4wLjAsIGdldC1pbnRy aW5zaWNAXjEuMC4xOgorICB2ZXJzaW9uICIxLjAuMiIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVn aXN0cnkueWFybnBrZy5jb20vZ2V0LWludHJpbnNpYy8tL2dldC1pbnRyaW5zaWMtMS4wLjIudGd6 IzY4MjBkYTIyNmU1MGIyNDg5NGUwODg1OTQ2OWRjNjgzNjE1NDVkNDkiCisgIGludGVncml0eSBz aGE1MTItYWVYMHZyRm0yMUlMbDMrSnBGRlJOZTlhVXZwNlZGWmIyL0NUYmdMYjhqNzVrT2h2b05Z anQ5ZDhLQS90Skc0Z1NvOG56RURlZFJsMGg3dkRtQllSVmc9PQorICBkZXBlbmRlbmNpZXM6Cisg ICAgZnVuY3Rpb24tYmluZCAiXjEuMS4xIgorICAgIGhhcyAiXjEuMC4zIgorICAgIGhhcy1zeW1i b2xzICJeMS4wLjEiCisKIGdldC1wcm94eUBeMi4wLjA6CiAgIHZlcnNpb24gIjIuMS4wIgogICBy ZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9nZXQtcHJveHkvLS9nZXQtcHJv eHktMi4xLjAudGd6IzM0OWYyYjRkOTFkNDRjNGQ0ZDRlOWNiYTJhZDkwMTQzZmFjNWVmOTMiCkBA IC00NjU3LDYgKzQ4NDAsMTMgQEAgZ3JhY2VmdWwtZnNAXjQuMS4xMCwgZ3JhY2VmdWwtZnNAXjQu MS4xMSwgZ3JhY2VmdWwtZnNAXjQuMS4xNSwgZ3JhY2VmdWwtZnNAXjQuMS4KICAgcmVzb2x2ZWQg Imh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vZ3JhY2VmdWwtZnMvLS9ncmFjZWZ1bC1mcy00 LjIuNC50Z3ojMjI1NmJkZTE0ZDM2MzI5NThjNDY1ZWJjOTZkYzQ2N2NhMDdhMjlmYiIKICAgaW50 ZWdyaXR5IHNoYTUxMi1XaktQTkpGNzlkdEpBVm5pVWxHR1dIWUd6MmpXeFQ2VmhOLzRtMU5ka2Ja Mm5Pc0VGK2NJMUVkZ3FsNXpDUmhzL1ZzUVlSdnJYY3R4a3RWWFpVa2l4dz09CiAKK2dyYXBobGli QF4yLjEuODoKKyAgdmVyc2lvbiAiMi4xLjgiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5 Lnlhcm5wa2cuY29tL2dyYXBobGliLy0vZ3JhcGhsaWItMi4xLjgudGd6IzU3NjFkNDE0NzM3ODcw MDg0YzkyZWM3YjVkYmNiMDU5MmM5ZDM1ZGEiCisgIGludGVncml0eSBzaGE1MTItamNMTGZrcG9W R21INy9Jbk1DLzFoSXZPUFNVaDM4b0p0R2h2ck9GR3ppb0UxRForMFlXMTZSZ21PSmhIaXVXVHZH aUpROVoxSWs0M0p2a1JQUnZFK0E9PQorICBkZXBlbmRlbmNpZXM6CisgICAgbG9kYXNoICJeNC4x Ny4xNSIKKwogZ3ppcC1zaXplQF41LjAuMDoKICAgdmVyc2lvbiAiNS4xLjEiCiAgIHJlc29sdmVk ICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2d6aXAtc2l6ZS8tL2d6aXAtc2l6ZS01LjEu MS50Z3ojY2I5YmVlNjkyZjg3YzA2MTJiMjMyODQwYTg3MzkwNGU0YzEzNTI3NCIKQEAgLTQ3NzEs NiArNDk2MSwxMSBAQCBoYXRAXjAuMC4zOgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55 YXJucGtnLmNvbS9oYXQvLS9oYXQtMC4wLjMudGd6I2JiMDE0YTllNjRiMzc4OGFlZDgwMDU5MTc0 MTNkNGZmM2Q1MDJkOGEiCiAgIGludGVncml0eSBzaGExLXV3RktubVN6ZUlydGdBV1JkQlBVL3ox UUxZbz0KIAoraGVhcEAwLjIuNToKKyAgdmVyc2lvbiAiMC4yLjUiCisgIHJlc29sdmVkICJodHRw czovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2hlYXAvLS9oZWFwLTAuMi41LnRneiM3MTNiNjU1OTBl YmNjNDBmY2JlZWFmNTVlODUxNjk0MDkyYjM5YWYxIgorICBpbnRlZ3JpdHkgc2hhMS1jVHRsV1E2 OHhBL0w3cTlWNkZGcFFKS3ptdkU9CisKIGhleC1jb2xvci1yZWdleEBeMS4xLjA6CiAgIHZlcnNp b24gIjEuMS4wIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9oZXgt Y29sb3ItcmVnZXgvLS9oZXgtY29sb3ItcmVnZXgtMS4xLjAudGd6IzRjMDZmY2NiNDYwMmZlMjYw MmIzYzkzZGY4MmQ3ZTdkYmYxYThhOGUiCkBAIC00ODI5LDI5ICs1MDI0LDM5IEBAIGh0bWwtZXNj YXBlckBeMi4wLjA6CiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2h0 bWwtZXNjYXBlci8tL2h0bWwtZXNjYXBlci0yLjAuMi50Z3ojZGZkNjAwMjdkYTM2YTM2ZGZjYmUy MzYyNjJjMDBhNTgyMjY4MTQ1MyIKICAgaW50ZWdyaXR5IHNoYTUxMi1IMmlNdGQwSTRNdDVlWWlh cFJkSURqcCtYemVsWFEwdEZFNEpTN1lGd0ZldlhYTW1PcDlteU5yVXZDZzBENndzOGlxa1JQQmZL SGdid2lnMVNtbExmZz09CiAKK2h0bWwtdG8taW1hZ2VAXjAuMS4xOgorICB2ZXJzaW9uICIwLjEu MyIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vaHRtbC10by1pbWFn ZS8tL2h0bWwtdG8taW1hZ2UtMC4xLjMudGd6Izk2NjFhNTRjMzBlZDljNGIyNjlmNDYxMjQxNmIx YzdlODg3ZGUzYTciCisgIGludGVncml0eSBzaGE1MTItOEpUR0VBQWRKR0wvbmxwM3diL1dJOGZM TXgyZEhLT0ZaTWRzdmRvbjIzRDQ1WmR0c1hEZVJtMzlXZGRmMDRsdWRRZTNPUG12ak1KOW5Qakkv N2hQbGc9PQorCitodG1sMmNhbnZhc0BeMS4wLjAtcmMuNzoKKyAgdmVyc2lvbiAiMS4wLjAtcmMu NyIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vaHRtbDJjYW52YXMv LS9odG1sMmNhbnZhcy0xLjAuMC1yYy43LnRneiM3MGMxNTljZTBlNjM5NTRhOTExNjk1MzE4OTRk MDhhZDU2MjdhYzk4IgorICBpbnRlZ3JpdHkgc2hhNTEyLXl2UE5aR2VqQjJLT3lLbGVac3BqSy9O cnVYVlF1b3d1OE5uVjJIWUc3Z1c3eXR6bCt1bWZmYnRVSTYydjJkQ0hRTERkc0s2SElEdHlKWjBX M25lZXJBPT0KKyAgZGVwZW5kZW5jaWVzOgorICAgIGNzcy1saW5lLWJyZWFrICIxLjEuMSIKKwog aHRtbGVzY2FwZUBeMS4xLjA6CiAgIHZlcnNpb24gIjEuMS4xIgogICByZXNvbHZlZCAiaHR0cHM6 Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9odG1sZXNjYXBlLy0vaHRtbGVzY2FwZS0xLjEuMS50Z3oj M2EwM2VkYzIyMTRiY2EzYjY2NDI0YTNlNzk1OTM0OTUwOWNiMDM1MSIKICAgaW50ZWdyaXR5IHNo YTEtT2dQdHdpRkx5anRtUWtvK2VWazBsUW5MQTFFPQogCi1odG1scGFyc2VyMkBeMy45LjE6Ci0g IHZlcnNpb24gIjMuMTAuMSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5j b20vaHRtbHBhcnNlcjIvLS9odG1scGFyc2VyMi0zLjEwLjEudGd6I2JkNjc5ZGMzZjU5ODk3YjZh MzRiYjEwNzQ5Yzg1NWJiNTNhOTM5MmYiCi0gIGludGVncml0eSBzaGE1MTItSWdpZU5palVNYmtE b3Z5b0tPYlUxRFVobTFpd05ZRS9mdWlmRW9FSGZkMW9aS1pEYU9OQlNrYWw3WTAxc2h4c000OVI0 WGFNZEdlejNXbkY5VWZpQ1E9PQoraHRtbHBhcnNlcjJAXjYuMC4wOgorICB2ZXJzaW9uICI2LjAu MCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vaHRtbHBhcnNlcjIv LS9odG1scGFyc2VyMi02LjAuMC50Z3ojYzJkYTAwNTAzMDM5MDkwOGNhNGM5MWU1NjI5ZTQxOGUw NjY1YWMwMSIKKyAgaW50ZWdyaXR5IHNoYTUxMi1udW1UUXREWk1vaDc4ekpwYU5kSjlNWGIyY3Y1 RzNqd1VvZTNkTVFPRHViWnZMb0d2VEUvT2ZwNnNIdkg4T0dLY04vOEE0N3BHTGkvazU4eEhQL1Rm dz09CiAgIGRlcGVuZGVuY2llczoKLSAgICBkb21lbGVtZW50dHlwZSAiXjEuMy4xIgotICAgIGRv bWhhbmRsZXIgIl4yLjMuMCIKLSAgICBkb211dGlscyAiXjEuNS4xIgotICAgIGVudGl0aWVzICJe MS4xLjEiCi0gICAgaW5oZXJpdHMgIl4yLjAuMSIKLSAgICByZWFkYWJsZS1zdHJlYW0gIl4zLjEu MSIKKyAgICBkb21lbGVtZW50dHlwZSAiXjIuMC4xIgorICAgIGRvbWhhbmRsZXIgIl40LjAuMCIK KyAgICBkb211dGlscyAiXjIuNC40IgorICAgIGVudGl0aWVzICJeMi4wLjAiCiAKIGh0dHAtY2Fj aGUtc2VtYW50aWNzQDMuOC4xOgogICB2ZXJzaW9uICIzLjguMSIKICAgcmVzb2x2ZWQgImh0dHBz Oi8vcmVnaXN0cnkueWFybnBrZy5jb20vaHR0cC1jYWNoZS1zZW1hbnRpY3MvLS9odHRwLWNhY2hl LXNlbWFudGljcy0zLjguMS50Z3ojMzliMGUxNmFkZDliNjA1YmYwYTllZjNkOWRhYWY0ODQzYjRj YWNkMiIKICAgaW50ZWdyaXR5IHNoYTUxMi01YWkyaWtzeVY4WlhtblpoSEg0cldQb3h4aXN0RWV4 U2k1OTM2eklRMWJuTlRXNVZuQTg1QjZQL1ZwWGlSTTAxN0lnUnZiMmtLbzFhLy95KzB3U3Azdz09 CiAKLWh0dHAtZXJyb3JzQDEuNy4yLCBodHRwLWVycm9yc0B+MS43LjI6CitodHRwLWVycm9yc0Ax LjcuMjoKICAgdmVyc2lvbiAiMS43LjIiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlh cm5wa2cuY29tL2h0dHAtZXJyb3JzLy0vaHR0cC1lcnJvcnMtMS43LjIudGd6IzRmNTAyOWNmMTMy MzlmMzEwMzZlNWIyZTU1MjkyYmNmYmNjODVjOGYiCiAgIGludGVncml0eSBzaGE1MTItdVVRQnQz SC9jU0lWZmNoNmkxRXVQTnkvWXNSU09VQlhUVmZaK3lSN1pqZXozcWpCejZpOStpNHpqTmFvcWNv RlZJNGxRSjVwbGc2M1R2R2ZSU0RDUmc9PQpAQCAtNDg2Miw2ICs1MDY3LDE3IEBAIGh0dHAtZXJy b3JzQDEuNy4yLCBodHRwLWVycm9yc0B+MS43LjI6CiAgICAgc3RhdHVzZXMgIj49IDEuNS4wIDwg MiIKICAgICB0b2lkZW50aWZpZXIgIjEuMC4wIgogCitodHRwLWVycm9yc0B+MS43LjI6CisgIHZl cnNpb24gIjEuNy4zIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9o dHRwLWVycm9ycy8tL2h0dHAtZXJyb3JzLTEuNy4zLnRneiM2YzYxOWU0ZjljNjAzMDhjMzg1MTk0 OThjMTRmYmIxMGFhY2ViYjA2IgorICBpbnRlZ3JpdHkgc2hhNTEyLVpUVFgwTVdyc1EyWkFoQTFj ZWpBd0RMeWNGc2Q3STduVnRua1QzT2wwYXFvZGFLVyswQ1RaRFExdUJ2NXdocHRDbmM4ZThIZVJS SnhSczBrbW0vUWZ3PT0KKyAgZGVwZW5kZW5jaWVzOgorICAgIGRlcGQgIn4xLjEuMiIKKyAgICBp bmhlcml0cyAiMi4wLjQiCisgICAgc2V0cHJvdG90eXBlb2YgIjEuMS4xIgorICAgIHN0YXR1c2Vz ICI+PSAxLjUuMCA8IDIiCisgICAgdG9pZGVudGlmaWVyICIxLjAuMCIKKwogaHR0cC1wcm94eUBe MS4xMy4wOgogICB2ZXJzaW9uICIxLjE4LjEiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5 Lnlhcm5wa2cuY29tL2h0dHAtcHJveHkvLS9odHRwLXByb3h5LTEuMTguMS50Z3ojNDAxNTQxZjA1 MzQ4ODRiYmY5NTI2MDMzNGU3MmY4OGVlMzk3NjU0OSIKQEAgLTQ5MDYsMTAgKzUxMjIsMTAgQEAg aWNzcy11dGlsc0BeNC4wLjA6CiAgIGRlcGVuZGVuY2llczoKICAgICBwb3N0Y3NzICJeNy4wLjE0 IgogCi1pZWVlNzU0QF4xLjEuNDoKLSAgdmVyc2lvbiAiMS4xLjEzIgotICByZXNvbHZlZCAiaHR0 cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9pZWVlNzU0Ly0vaWVlZTc1NC0xLjEuMTMudGd6I2Vj MTY4NTU4ZTk1YWExODFmZDg3ZDM3ZjU1YzMyYmJjYjY3MDhiODQiCi0gIGludGVncml0eSBzaGE1 MTItNHZmN0kyTFlWL0hhV2VyU28zWG1sTWtwNWVaODNpKy9DRGx1WGkvSUdUcy9PMXNlakJOaFR0 bnh6bVJaZnZPVXFqN2xaanFIa2VUdnBnU0ZEbFdaVGc9PQoraWVlZTc1NEBeMS4xLjEzLCBpZWVl NzU0QF4xLjEuNDoKKyAgdmVyc2lvbiAiMS4yLjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lz dHJ5Lnlhcm5wa2cuY29tL2llZWU3NTQvLS9pZWVlNzU0LTEuMi4xLnRneiM4ZWI3YTEwYTYzZmZm MjVkMTVhNTdiMDAxNTg2ZDE3N2QxYjBkMzUyIgorICBpbnRlZ3JpdHkgc2hhNTEyLWRjeXFoRHZY MUM0NmxYWmNWcUNwSytGdE1SUVZkSU1ONi9EZjVqczJ6b3VVc3FHN0k2c0Z4aXRJQys3S1lLMjlL ZFhPTEhkdTl6TDRzRm5vVlFucWFBPT0KIAogaWZlcnJAXjAuMS41OgogICB2ZXJzaW9uICIwLjEu NSIKQEAgLTUwMjcsMTAgKzUyNDMsMTAgQEAgaW1wb3J0LWZyZXNoQF4yLjAuMDoKICAgICBjYWxs ZXItcGF0aCAiXjIuMC4wIgogICAgIHJlc29sdmUtZnJvbSAiXjMuMC4wIgogCi1pbXBvcnQtZnJl c2hAXjMuMC4wOgotICB2ZXJzaW9uICIzLjIuMSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0 cnkueWFybnBrZy5jb20vaW1wb3J0LWZyZXNoLy0vaW1wb3J0LWZyZXNoLTMuMi4xLnRneiM2MzNm ZjYxODUwNmU3OTNhZjVhYzkxYmY0OGI3MjY3N2UxNWNiZTY2IgotICBpbnRlZ3JpdHkgc2hhNTEy LTZlMXExY25XUDJSWEQ5L2tlU2t4SFNjZzUwOENkWHFYV2dXQmFFVE5oeXVCRnora1VabEtib2gr SVNLK2JVKytEbWJIaW1WQnJPei96elBlMHNaM3NRPT0KK2ltcG9ydC1mcmVzaEBeMy4wLjAsIGlt cG9ydC1mcmVzaEBeMy4xLjA6CisgIHZlcnNpb24gIjMuMy4wIgorICByZXNvbHZlZCAiaHR0cHM6 Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9pbXBvcnQtZnJlc2gvLS9pbXBvcnQtZnJlc2gtMy4zLjAu dGd6IzM3MTYyYzI1ZmNiOWViYWEyZTZlNTNkNWI0ZDg4Y2UxN2Q5ZTBjMmIiCisgIGludGVncml0 eSBzaGE1MTItdmVZWWhRYStEMVFCS3pudmhVSHhiOGZheGxyd1VueHNlREFiQXA0NTdFMHdMTmlv MmJPU0tuallEaE1qK1lpQXE2MXhyTUdoUWs5aVhWazVGemdRTXc9PQogICBkZXBlbmRlbmNpZXM6 CiAgICAgcGFyZW50LW1vZHVsZSAiXjEuMC4wIgogICAgIHJlc29sdmUtZnJvbSAiXjQuMC4wIgpA QCAtNTEwMyw3ICs1MzE5LDcgQEAgaW5mbGlnaHRAXjEuMC40OgogICAgIG9uY2UgIl4xLjMuMCIK ICAgICB3cmFwcHkgIjEiCiAKLWluaGVyaXRzQDIsIGluaGVyaXRzQF4yLjAuMSwgaW5oZXJpdHNA XjIuMC4zLCBpbmhlcml0c0BeMi4wLjQsIGluaGVyaXRzQH4yLjAuMSwgaW5oZXJpdHNAfjIuMC4z OgoraW5oZXJpdHNAMiwgaW5oZXJpdHNAMi4wLjQsIGluaGVyaXRzQF4yLjAuMSwgaW5oZXJpdHNA XjIuMC4zLCBpbmhlcml0c0BeMi4wLjQsIGluaGVyaXRzQH4yLjAuMSwgaW5oZXJpdHNAfjIuMC4z OgogICB2ZXJzaW9uICIyLjAuNCIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBr Zy5jb20vaW5oZXJpdHMvLS9pbmhlcml0cy0yLjAuNC50Z3ojMGZhMmM2NGY5MzI5MTdjMzQzM2Ew ZGVkNTUzNjNhYWUzNzQxNmI3YyIKICAgaW50ZWdyaXR5IHNoYTUxMi1rL3ZHYVg0L1lsYTNXenlN Q3ZUUU9YWWVJSHZxT0t0bnFCZHV6VEhwenBRWnpBc2tLTWhaMksrRW5CaVNNOXpHU29JRmVNcFhL eGE0ZFllWklRcWV3UT09CkBAIC01MTE5LDkgKzUzMzUsOSBAQCBpbmhlcml0c0AyLjAuMzoKICAg aW50ZWdyaXR5IHNoYTEtWXp3c2crUGFRcVVDOVNSbUFpU0E5Q0NDWWQ0PQogCiBpbmlAXjEuMy40 LCBpbmlAXjEuMy41OgotICB2ZXJzaW9uICIxLjMuNSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVn aXN0cnkueWFybnBrZy5jb20vaW5pLy0vaW5pLTEuMy41LnRneiNlZWUyNWY1NmRiMWM5ZWM2MDg1 ZTBjMjI3NzgwODNmNTk2YWJmOTI3IgotICBpbnRlZ3JpdHkgc2hhNTEyLVJaWTVodUlLQ01SV0RV cVpsRWk3MmYvbG1YS012dXN6Y01CZHVsaVEzbm5XYng5WC9aQlFPN0Rpak1FWVM5RWhIQmIycWFj UlVNdEM3c3ZMd2UwbGN3PT0KKyAgdmVyc2lvbiAiMS4zLjgiCisgIHJlc29sdmVkICJodHRwczov L3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2luaS8tL2luaS0xLjMuOC50Z3ojYTI5ZGE0MjViNDg4MDZm MzQ3NjdhNGVmY2UzOTcyNjlhZjI4NDMyYyIKKyAgaW50ZWdyaXR5IHNoYTUxMi1KVi95dWdWMnV6 VzVpTVJTaVpBeUR0UWQrbnh0VW5qZUx0MGFjTmR3OThrS0xydnVSVnlCODB0c1JFT0U3eXZHVmdh bGhaNlJOWENtRUhrVUtCS3hldz09CiAKIGlubGluZS1zb3VyY2UtbWFwQH4wLjYuMDoKICAgdmVy c2lvbiAiMC42LjIiCkBAIC01MTUwLDkgKzUzNjYsOSBAQCBpbnF1aXJlckBeNi4yLjI6CiAgICAg dGhyb3VnaCAiXjIuMy42IgogCiBpbnNlcnQtbW9kdWxlLWdsb2JhbHNAXjcuMC4wOgotICB2ZXJz aW9uICI3LjIuMCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vaW5z ZXJ0LW1vZHVsZS1nbG9iYWxzLy0vaW5zZXJ0LW1vZHVsZS1nbG9iYWxzLTcuMi4wLnRneiNlYzg3 ZTViNDI3Mjg0NzllMzI3YmQ1YzVjNzE2MTFkZGZiNDc1MmJhIgotICBpbnRlZ3JpdHkgc2hhNTEy LVZFNk5sVytXR24yL0FlT01kNDk2QUhGWW1FN2VMS2tVWTZUeTMxazRvZzV2bUEzRmp1d2U5djZp Zkg2WHgvSHoyN1F2ZG9Nb3ZpdzEvcHFXUkIwOVN3PT0KKyAgdmVyc2lvbiAiNy4yLjEiCisgIHJl c29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2luc2VydC1tb2R1bGUtZ2xvYmFs cy8tL2luc2VydC1tb2R1bGUtZ2xvYmFscy03LjIuMS50Z3ojZDVlMzMxODUxODFhNGUxZjMzYjE1 ZjdiZjEwMGVlOTE4OTBkNWNiMyIKKyAgaW50ZWdyaXR5IHNoYTUxMi11ZlM1UXE5UlpOK0J1ODk5 ZUE5UUNBWVRoWStnR1c3b1JrbWIwdkM5M1ZseXUvQ0ZHY0gwT1lQRWpWa0RYQTVGRWJUdDErVld6 ZG9PRDNOeTlOKzh0Zz09CiAgIGRlcGVuZGVuY2llczoKICAgICBKU09OU3RyZWFtICJeMS4wLjMi CiAgICAgYWNvcm4tbm9kZSAiXjEuNS4yIgpAQCAtNTIyNyw2ICs1NDQzLDEzIEBAIGlzLWFjY2Vz c29yLWRlc2NyaXB0b3JAXjEuMC4wOgogICBkZXBlbmRlbmNpZXM6CiAgICAga2luZC1vZiAiXjYu MC4wIgogCitpcy1hbnktYXJyYXlAXjAuMS4wOgorICB2ZXJzaW9uICIwLjEuMCIKKyAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vaXMtYW55LWFycmF5Ly0vaXMtYW55LWFy cmF5LTAuMS4wLnRneiNlNWEyNzk2NWUzMzcxNjEwYzEwYzY2YmNhM2JlMzdlZTE3N2JkZjhlIgor ICBpbnRlZ3JpdHkgc2hhNTEyLTZLa2wxUm52ZmRrbVhNNlpsUCtrRUxHQk1BNzROcTVwU09tOWdJ S0RhUFJlOUtRbElKem9uck9ncTBKem4vaUVsQjZGMi9vbHBMZ1dZZVZ5U3pyU1JnPT0KKyAgZGVw ZW5kZW5jaWVzOgorICAgIHJvbGx1cCAiXjEuMzEuMSIKKwogaXMtYXJyYXlpc2hAXjAuMi4xOgog ICB2ZXJzaW9uICIwLjIuMSIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5j b20vaXMtYXJyYXlpc2gvLS9pcy1hcnJheWlzaC0wLjIuMS50Z3ojNzdjOTk4NDA1MjdhYThlY2Ix YThiYTY5N2I4MDY0NWE3YTkyNmE5ZCIKQEAgLTUyNTIsOSArNTQ3NSwxMSBAQCBpcy1iaW5hcnkt cGF0aEB+Mi4xLjA6CiAgICAgYmluYXJ5LWV4dGVuc2lvbnMgIl4yLjAuMCIKIAogaXMtYm9vbGVh bi1vYmplY3RAXjEuMC4xOgotICB2ZXJzaW9uICIxLjAuMSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8v cmVnaXN0cnkueWFybnBrZy5jb20vaXMtYm9vbGVhbi1vYmplY3QvLS9pcy1ib29sZWFuLW9iamVj dC0xLjAuMS50Z3ojMTBlZGMwOTAwZGQxMjc2OTdhOTJmNmY5ODA3Yzc2MTdkNjhhYzQ4ZSIKLSAg aW50ZWdyaXR5IHNoYTUxMi1UcVp1VndhL3NwcGNyaFVDQVlrR0JrN3cweXhmUVFueHEyOGZqa081 M3RuSzlGUVhtZHd6MkpTNStHanNXUTZSQnlFUzFLNDBuSSt5RGljNWM5L2FBUT09CisgIHZlcnNp b24gIjEuMS4wIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9pcy1i b29sZWFuLW9iamVjdC8tL2lzLWJvb2xlYW4tb2JqZWN0LTEuMS4wLnRneiNlMmFhYWQzYTNhOGZj YTM0YzI4ZjZlZWUxMzViMTU2ZWQyNTg3ZmYwIgorICBpbnRlZ3JpdHkgc2hhNTEyLWE3VXByeDhV dEQrSFdkeVl3bkQxK0V4dFRncVF0RDJrLzF5Smd0WFA2d25NbThieWhrb1RaUmwrOTVMTFRocHpO Wko1YUV2aTQ2Y2RIK2F5TUZSd21BPT0KKyAgZGVwZW5kZW5jaWVzOgorICAgIGNhbGwtYmluZCAi XjEuMC4wIgogCiBpcy1idWZmZXJAXjEuMS4wLCBpcy1idWZmZXJAXjEuMS41OgogICB2ZXJzaW9u ICIxLjEuNiIKQEAgLTUyNjIsOSArNTQ4Nyw5IEBAIGlzLWJ1ZmZlckBeMS4xLjAsIGlzLWJ1ZmZl ckBeMS4xLjU6CiAgIGludGVncml0eSBzaGE1MTItTmNkQUx3cFhrVG01WnZ2Yms3b3dPVVN2VnZC S0RnS1A1L2V3ZlhFem5tUUZmczRaUm1hbk9lS0JUalJWamthM1FGb042WEorOUYzVVNxZkhxVGFV NXc9PQogCiBpcy1idWZmZXJAXjIuMC4yLCBpcy1idWZmZXJAXjIuMC4zOgotICB2ZXJzaW9uICIy LjAuNCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vaXMtYnVmZmVy Ly0vaXMtYnVmZmVyLTIuMC40LnRneiMzZTU3MmYyM2M4NDExYTVjZmQ5NTU3Yzg0OWUzNjY1ZTBi MjkwNjIzIgotICBpbnRlZ3JpdHkgc2hhNTEyLUtxMXJva1dYT1BYV3VhTUFxWmlKVzRYeHNtRDl6 R3g5cTRhZVBhYmJuM3FDUkdlZHRIN0NtK3pWOFdFVGl0TWZ1MXdkaCtSdmQ2dzVlZ3dTbmdVWDJB PT0KKyAgdmVyc2lvbiAiMi4wLjUiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5w a2cuY29tL2lzLWJ1ZmZlci8tL2lzLWJ1ZmZlci0yLjAuNS50Z3ojZWJjMjUyZTQwMGQyMmZmOGQ3 N2ZhMDk4ODg4MjFhMjRhNjU4YzE5MSIKKyAgaW50ZWdyaXR5IHNoYTUxMi1pMlI2ek5GRHdnRUhK eVFVdEpFazBYRmkxaTBkUEZuL29xakszL3ZQQ2NEZUp2VzVOUTgzVjhRYmljZkYxU3VwT2FCMGg4 bnRnQkMyWWlFN2RmeWN0UT09CiAKIGlzLWNhbGxhYmxlQF4xLjEuNCwgaXMtY2FsbGFibGVAXjEu MS41LCBpcy1jYWxsYWJsZUBeMS4yLjI6CiAgIHZlcnNpb24gIjEuMi4yIgpAQCAtNTI4Myw2ICs1 NTA4LDEzIEBAIGlzLWNvbG9yLXN0b3BAXjEuMC4wOgogICAgIHJnYi1yZWdleCAiXjEuMC4xIgog ICAgIHJnYmEtcmVnZXggIl4xLjAuMCIKIAoraXMtY29yZS1tb2R1bGVAXjIuMS4wOgorICB2ZXJz aW9uICIyLjIuMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vaXMt Y29yZS1tb2R1bGUvLS9pcy1jb3JlLW1vZHVsZS0yLjIuMC50Z3ojOTcwMzdlZjNkNTIyMjRkODUx NjNmNTU5N2IyYjYzZDlhZmVkOTgxYSIKKyAgaW50ZWdyaXR5IHNoYTUxMi1YUkFmQWR5eVk1RjVj T1huN2hZUURxaDJYbWlpK0RFZkljUUd4Sy91TndNSGhJa1BXTzBnOG1zWGNiekxlK01wR29SOTUx TWxxTS8yaUlsVTR2S0RkUT09CisgIGRlcGVuZGVuY2llczoKKyAgICBoYXMgIl4xLjAuMyIKKwog aXMtY3dlYnAtcmVhZGFibGVAXjIuMC4xOgogICB2ZXJzaW9uICIyLjAuMSIKICAgcmVzb2x2ZWQg Imh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vaXMtY3dlYnAtcmVhZGFibGUvLS9pcy1jd2Vi cC1yZWFkYWJsZS0yLjAuMS50Z3ojYWZiOTNiMGMwYWJkMGEyNTEwMTAxNmFlMzNhZWE4YWVkZjky NmQyNiIKQEAgLTUzOTYsOSArNTYyOCw5IEBAIGlzLW5hdHVyYWwtbnVtYmVyQF40LjAuMToKICAg aW50ZWdyaXR5IHNoYTEtcTUxMjRkdE03VkhqWGVESExyN1BDZmMwemVnPQogCiBpcy1uZWdhdGl2 ZS16ZXJvQF4yLjAuMDoKLSAgdmVyc2lvbiAiMi4wLjAiCi0gIHJlc29sdmVkICJodHRwczovL3Jl Z2lzdHJ5Lnlhcm5wa2cuY29tL2lzLW5lZ2F0aXZlLXplcm8vLS9pcy1uZWdhdGl2ZS16ZXJvLTIu MC4wLnRneiM5NTUzYjEyMWIwZmFjMjg4NjlkYTllZDQ1OWUyMGM3NTQzNzg4NDYxIgotICBpbnRl Z3JpdHkgc2hhMS1sVk94SWJENndvaHAycDdVV2VJTWRVTjRoR0U9CisgIHZlcnNpb24gIjIuMC4x IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9pcy1uZWdhdGl2ZS16 ZXJvLy0vaXMtbmVnYXRpdmUtemVyby0yLjAuMS50Z3ojM2RlNzQ2YzE4ZGRhMjMxOTI0MWE1MzY3 NTkwOGQ4Zjc2NmYxMWMyNCIKKyAgaW50ZWdyaXR5IHNoYTUxMi0yejZKelF2WlJhOUEyWTd4QzZk UVFtNEZTVFNUTldqS0lZWVR0NDI0NmVNVEptSW8wUStaeU9zVTY2WDhseEsxQWJCOTJkRmVnbFBM cmh3cGVSS082dz09CiAKIGlzLW51bWJlci1vYmplY3RAXjEuMC40OgogICB2ZXJzaW9uICIxLjAu NCIKQEAgLTU0MjMsOSArNTY1NSw5IEBAIGlzLW9iakBeMi4wLjA6CiAgIGludGVncml0eSBzaGE1 MTItZHJxREczY2Jjenh4RUpSb09YY09qdGRwMUovbHlwMW1ObjB4YXpuUnM4K211QmhnUWNybmJz cG94NVg1Zk93MEhuTW5iZkR6dm5FTUV0cURFSkVvOHc9PQogCiBpcy1vYmplY3RAXjEuMC4xOgot ICB2ZXJzaW9uICIxLjAuMSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5j b20vaXMtb2JqZWN0Ly0vaXMtb2JqZWN0LTEuMC4xLnRneiM4OTUyNjg4YzVlYzJmZmQ2YjAzZWNj ODVlNzY5ZTAyOTAzMDgzNDcwIgotICBpbnRlZ3JpdHkgc2hhMS1pVkpvakY3Qy85YXdQc3lGNTJu Z0tRTUlOSEE9CisgIHZlcnNpb24gIjEuMC4yIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3Ry eS55YXJucGtnLmNvbS9pcy1vYmplY3QvLS9pcy1vYmplY3QtMS4wLjIudGd6I2E1NjU1MmUxYzY2 NWM5ZTk1MGI0YTAyNTQ2MWRhODdlNzJmODZmY2YiCisgIGludGVncml0eSBzaGE1MTItMnJSSWFo aFpyMlVXYjQ1ZklPdXZaR3BGdHowVHlPWkxmMzJLeEJiU29VQ2VaUjQ5NXpDS2xXVUtLVUJ5azNn ZVMyZUFzN1pBQUJ0MFkvUngwR2lRR0E9PQogCiBpcy1wbGFpbi1vYmpAXjEuMC4wLCBpcy1wbGFp bi1vYmpAXjEuMS4wOgogICB2ZXJzaW9uICIxLjEuMCIKQEAgLTU2MjgsNyArNTg2MCwxMiBAQCBp c3VybEBeMS4wLjAtYWxwaGE1OgogICAgIGhhcy10by1zdHJpbmctdGFnLXggIl4xLjIuMCIKICAg ICBpcy1vYmplY3QgIl4xLjAuMSIKIAotamFzbWluZS1jb3JlQF4zLjMsIGphc21pbmUtY29yZUB+ My4zLjA6CitqYXNtaW5lLWNvcmVAXjMuMzoKKyAgdmVyc2lvbiAiMy42LjAiCisgIHJlc29sdmVk ICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2phc21pbmUtY29yZS8tL2phc21pbmUtY29y ZS0zLjYuMC50Z3ojNDkxZjNiYjIzOTQxNzk5YzM1M2NlYjdhNDViMzhhOTUwZWJjNWEyMCIKKyAg aW50ZWdyaXR5IHNoYTUxMi04dVFZYTd6Sk44aHE5eitnOHoxYnFDZmRDOGVvREFlVm5NNXNmcXM3 S0h2OS9pZm9KNTAwbTAxOGZwRmM3UkRhTzZTV0NMQ1h3by93UFNOY2RZVGdjdz09CisKK2phc21p bmUtY29yZUB+My4zLjA6CiAgIHZlcnNpb24gIjMuMy4wIgogICByZXNvbHZlZCAiaHR0cHM6Ly9y ZWdpc3RyeS55YXJucGtnLmNvbS9qYXNtaW5lLWNvcmUvLS9qYXNtaW5lLWNvcmUtMy4zLjAudGd6 I2RlYTFjZGM2MzRiYzkzYzdlMGQ0YWQyNzE4NWRmMzBmYTk3MWIxMGUiCiAgIGludGVncml0eSBz aGE1MTItMy94U21HL2QzNWhmODBCRU42Nlk2ZzlDYTVsL0lzZGVnL2o2enZiVFlsVHplS2luem1h VE00cDlhbTVrWXFPbUUwNUQ3czF0OEZHanpkU25iVWJjZUE9PQpAQCAtNTY2MCwxNiArNTg5Nywx MSBAQCBqcXVlcnktdWlAPj0xLjguMCwganF1ZXJ5LXVpQF4xLjEyLjE6CiAgIHJlc29sdmVkICJo dHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2pxdWVyeS11aS8tL2pxdWVyeS11aS0xLjEyLjEu dGd6I2JjYjQwNDVjOGRkMDUzOWMxMzRiYzE0ODhjZGQzZTc2OGE3YTllNTEiCiAgIGludGVncml0 eSBzaGExLXZMUUVYSTNRVTV3VFM4RklqTjArZG9wNm5sRT0KIAotanF1ZXJ5QD49MS4yLjYsICJq cXVlcnlAPj0xLjcuMSA8NC4wLjAiLCBqcXVlcnlAPj0xLjguMCwganF1ZXJ5QF4zLjAsIGpxdWVy eUBeMy4zLjEsIGpxdWVyeUBeMy41LjAsIGpxdWVyeUBeMy41LjE6CitqcXVlcnlAPj0xLjIuNiwg ImpxdWVyeUA+PTEuNy4xIDw0LjAuMCIsIGpxdWVyeUA+PTEuOC4wLCBqcXVlcnlAXjMuMy4xLCBq cXVlcnlAXjMuNS4wLCBqcXVlcnlAXjMuNS4xOgogICB2ZXJzaW9uICIzLjUuMSIKICAgcmVzb2x2 ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vanF1ZXJ5Ly0vanF1ZXJ5LTMuNS4xLnRn eiNkN2I0ZDA4ZTFiZmRiODZhZDJmMWEzZDAzOWVhMTczMDQ3MTdhYmI1IgogICBpbnRlZ3JpdHkg c2hhNTEyLVh3SUJQcWNNbjU3RnhmVCtHbzVwenlTbm00S1drVDFUdjdnanJwVDFzcnRmOFdleW5s NlIyNzNWSjVHamtSYjUxSXpNcDVuYmFQakpYTVdlanUyTUtnPT0KIAotanMtbGV2ZW5zaHRlaW5A XjEuMS4zOgotICB2ZXJzaW9uICIxLjEuNiIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnku eWFybnBrZy5jb20vanMtbGV2ZW5zaHRlaW4vLS9qcy1sZXZlbnNodGVpbi0xLjEuNi50Z3ojYzZj ZWU1OGViMzU1MDM3MmRmOGRlYjg1ZmFkNWNlNjZjZTAxZDU5ZCIKLSAgaW50ZWdyaXR5IHNoYTUx Mi1YMkJCMTFZWnRyUnFZNEVuUWNMWDVSaDM3M3piSzRhbEMxRlc3RDdNQmhMMmd0Y0MxN2NUbnI2 RG1mSFplUzBzMnJUSGpVVE1NSGZHN2dPOFNTZHcrZz09Ci0KIGpzLXN0cmluZy1lc2NhcGVAXjEu MC4wOgogICB2ZXJzaW9uICIxLjAuMSIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFy bnBrZy5jb20vanMtc3RyaW5nLWVzY2FwZS8tL2pzLXN0cmluZy1lc2NhcGUtMS4wLjEudGd6I2Uy NjI1YmFkYmMwZDY3Yzc1MzNlOWVkYzEwNjhjNTg3YWU0MTM3ZWYiCkBAIC01Njg2LDkgKzU5MTgs OSBAQCBqcy10b2tlbnNAXjMuMC4yOgogICBpbnRlZ3JpdHkgc2hhMS1tR2JmT1ZFQ0V3NDQ5L21X dk90bFJESUp3bHM9CiAKIGpzLXlhbWxAXjMuMTIuMCwganMteWFtbEBeMy4xMy4xOgotICB2ZXJz aW9uICIzLjE0LjAiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2pz LXlhbWwvLS9qcy15YW1sLTMuMTQuMC50Z3ojYTdhMzQxNzBmMjZhMjFiYjE2MjQyNGQ4YWRhY2I0 MTEzYTY5ZTQ4MiIKLSAgaW50ZWdyaXR5IHNoYTUxMi0vNEliSWVIY0Q5Vk1IRnFEUi9nUTdFZFpk TGltT3ZXMkRkY3hGamR5eVo5TnNiUytjY3JYcVZXRHRhYi9sUmw1QWxVcW1wQng4RWhQYVdSK090 WTE3QT09CisgIHZlcnNpb24gIjMuMTQuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnku eWFybnBrZy5jb20vanMteWFtbC8tL2pzLXlhbWwtMy4xNC4xLnRneiNkYWU4MTJmZGIzODI1ZmEz MDY2MDlhODcxNzM4M2M1MGMzNmEwNTM3IgorICBpbnRlZ3JpdHkgc2hhNTEyLW9rTUg3T1hYSjdZ ck45T2szL1NYcm51NGlYOXlPaysyNW5xWDRpbVMybnB1dlRZRG1vL1FFWm9xd1prWWFJRGszalZ2 Qk9UT0lFZ0VoYUxPeW5CUzlnPT0KICAgZGVwZW5kZW5jaWVzOgogICAgIGFyZ3BhcnNlICJeMS4w LjciCiAgICAgZXNwcmltYSAiXjQuMC4wIgpAQCAtNTczMCw2ICs1OTYyLDExIEBAIGpzb24tcGFy c2UtYmV0dGVyLWVycm9yc0BeMS4wLjEsIGpzb24tcGFyc2UtYmV0dGVyLWVycm9yc0BeMS4wLjI6 CiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2pzb24tcGFyc2UtYmV0 dGVyLWVycm9ycy8tL2pzb24tcGFyc2UtYmV0dGVyLWVycm9ycy0xLjAuMi50Z3ojYmI4NjdjZmIz NDUwZTY5MTA3YzEzMWQxYzUxNGJhYjNkYzhiY2FhOSIKICAgaW50ZWdyaXR5IHNoYTUxMi1tcnF5 WktmWDVFaEw3aHZxY1Y2V0cxeVlqbmpldVlEekRoaGNBQVVycThQbzg1TkJRQkpQK1pEVVQ3NXFa UTk4SWtVb0JxZGtFeGt1a09VN1RzMndydz09CiAKK2pzb24tcGFyc2UtZXZlbi1iZXR0ZXItZXJy b3JzQF4yLjMuMDoKKyAgdmVyc2lvbiAiMi4zLjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lz dHJ5Lnlhcm5wa2cuY29tL2pzb24tcGFyc2UtZXZlbi1iZXR0ZXItZXJyb3JzLy0vanNvbi1wYXJz ZS1ldmVuLWJldHRlci1lcnJvcnMtMi4zLjEudGd6IzdjNDc4MDVhOTQzMTk5MjhlMDU3Nzc0MDVk YzEyZTFmN2E0ZWUwMmQiCisgIGludGVncml0eSBzaGE1MTIteHlGd3locm8vSkVvZjZHaGUyaXoy TmNYb2oyc2xvTnNXci9Yc0VSREsvb2lQQ2ZhTmhsNU9OZnAralFkQVpSUVEwSUpXTnpIOXpJWkY3 bGk5MWtoMnc9PQorCiBqc29uLXNjaGVtYS10cmF2ZXJzZUBeMC4zLjA6CiAgIHZlcnNpb24gIjAu My4xIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9qc29uLXNjaGVt YS10cmF2ZXJzZS8tL2pzb24tc2NoZW1hLXRyYXZlcnNlLTAuMy4xLnRneiMzNDlhNmQ0NGM1M2E1 MWRlODliNDA4MDVjNWQ1ZTU5YjQxN2QzMzQwIgpAQCAtNTc1OSw3ICs1OTk2LDcgQEAganNvbjVA XjEuMC4xOgogICBkZXBlbmRlbmNpZXM6CiAgICAgbWluaW1pc3QgIl4xLjIuMCIKIAotanNvbjVA XjIuMS4wLCBqc29uNUBeMi4xLjI6Citqc29uNUBeMi4xLjI6CiAgIHZlcnNpb24gIjIuMS4zIgog ICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9qc29uNS8tL2pzb241LTIu MS4zLnRneiNjOWIwZjdmYTkyMzNiZmU1ODA3ZmU2NmZjZjNhNTYxN2VkNTk3ZDQzIgogICBpbnRl Z3JpdHkgc2hhNTEyLUtYUHZPbThLOUlKS0ZNMGJtZG44UVhoN3VkRGgxZy9naWllWDBOTENhTW5i NGhFaVZGcW5vcDJJbVRYQ2M1ZTAvb0h6M0xUcW1IR3RFeG41aGZNa09BPT0KQEAgLTU3ODMsMTMg KzYwMjAsMTMgQEAganNvbnBhcnNlQF4xLjIuMDoKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0 cnkueWFybnBrZy5jb20vanNvbnBhcnNlLy0vanNvbnBhcnNlLTEuMy4xLnRneiMzZjRkYWU0YTkx ZmFjMzE1ZjcxMDYyZjg1MjFjYzIzOWYxMzY2MjgwIgogICBpbnRlZ3JpdHkgc2hhMS1QMDJ1U3BI Nnd4WDNFR0w0VWh6Q09mRTJZb0E9CiAKLWpzeC1hc3QtdXRpbHNAXjIuNC4xOgotICB2ZXJzaW9u ICIyLjQuMSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vanN4LWFz dC11dGlscy8tL2pzeC1hc3QtdXRpbHMtMi40LjEudGd6IzExMTRhNGMxMjA5NDgxZGIwNmM2OTBj MmI0ZjQ4OGNjNjY1ZjY1N2UiCi0gIGludGVncml0eSBzaGE1MTItejF4U2xkSjZpbUVTU3pPamQz Tk5raWVWSktSbEtZU090TUc4U0Z5Q2oyRklydlNhU3VsaS9XanBCa0V6Q0JvUjliWVlZRmdxSnc2 MVhodTdMY2drK3c9PQorImpzeC1hc3QtdXRpbHNAXjIuNC4xIHx8IF4zLjAuMCI6CisgIHZlcnNp b24gIjMuMi4wIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9qc3gt YXN0LXV0aWxzLy0vanN4LWFzdC11dGlscy0zLjIuMC50Z3ojNDExMDhkMmNlYzQwOGMzNDUzYzFi YmU4YTRhYWU5ZTFlMmJkOGY4MiIKKyAgaW50ZWdyaXR5IHNoYTUxMi1FSXNtdDNPM2xqc1U2c290 L0o0RTF6RFJ4ZkJOcmhqeWYvT0tqbHlkd2dFaW1RdXpubE00V3Y3VSt1ZU9OSk15RW4xV1JFMEs4 ZGhpM2RWQVhZVDI0UT09CiAgIGRlcGVuZGVuY2llczoKLSAgICBhcnJheS1pbmNsdWRlcyAiXjMu MS4xIgotICAgIG9iamVjdC5hc3NpZ24gIl40LjEuMCIKKyAgICBhcnJheS1pbmNsdWRlcyAiXjMu MS4yIgorICAgIG9iamVjdC5hc3NpZ24gIl40LjEuMiIKIAoga2FybWEtYmFiZWwtcHJlcHJvY2Vz c29yQF44LjAuMDoKICAgdmVyc2lvbiAiOC4wLjEiCkBAIC01OTYzLDYgKzYyMDAsMTEgQEAgbGV2 bkBeMC4zLjAsIGxldm5AfjAuMy4wOgogICAgIHByZWx1ZGUtbHMgIn4xLjEuMiIKICAgICB0eXBl LWNoZWNrICJ+MC4zLjIiCiAKK2xpbmVzLWFuZC1jb2x1bW5zQF4xLjEuNjoKKyAgdmVyc2lvbiAi MS4xLjYiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL2xpbmVzLWFu ZC1jb2x1bW5zLy0vbGluZXMtYW5kLWNvbHVtbnMtMS4xLjYudGd6IzFjMDBjNzQzYjQzM2NkMGE0 ZTgwNzU4ZjdiNjRhNTc0NDBkOWZmMDAiCisgIGludGVncml0eSBzaGExLUhBREhRN1F6elFwT2dI V1BlMlNsZEVEWi93QT0KKwogbG9hZC1qc29uLWZpbGVAXjEuMC4wOgogICB2ZXJzaW9uICIxLjEu MCIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vbG9hZC1qc29uLWZp bGUvLS9sb2FkLWpzb24tZmlsZS0xLjEuMC50Z3ojOTU2OTA1NzA4ZDU4YjRiYWI0YzIyNjFiMDRm NTlmMzFjOTkzNzRjMCIKQEAgLTYwOTMsNyArNjMzNSw3IEBAIGxvZGFzaC51bmlxQF40LjUuMDoK ICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vbG9kYXNoLnVuaXEvLS9s b2Rhc2gudW5pcS00LjUuMC50Z3ojZDAyMjUzNzNhZWI2NTJhZGMxYmM4MmU0OTQ1MzM5YTg0Mjc1 NDc3MyIKICAgaW50ZWdyaXR5IHNoYTEtMENKVGM2NjJVcTNCdklMa2xGTTVxRUoxUjNNPQogCi1s b2Rhc2hAXjQuMTQuMSwgbG9kYXNoQF40LjE1LjAsIGxvZGFzaEBeNC4xNy4xMCwgbG9kYXNoQF40 LjE3LjExLCBsb2Rhc2hAXjQuMTcuMTIsIGxvZGFzaEBeNC4xNy4xMywgbG9kYXNoQF40LjE3LjE0 LCBsb2Rhc2hAXjQuMTcuMTUsIGxvZGFzaEBeNC4xNy4xOSwgbG9kYXNoQF40LjE3LjQsIGxvZGFz aEBeNC4xNy41OgorbG9kYXNoQDQuKiwgbG9kYXNoQF40LjE0LjEsIGxvZGFzaEBeNC4xNy4xMCwg bG9kYXNoQF40LjE3LjExLCBsb2Rhc2hAXjQuMTcuMTIsIGxvZGFzaEBeNC4xNy4xNCwgbG9kYXNo QF40LjE3LjE1LCBsb2Rhc2hAXjQuMTcuMTksIGxvZGFzaEBeNC4xNy40LCBsb2Rhc2hAXjQuMTcu NToKICAgdmVyc2lvbiAiNC4xNy4yMCIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFy bnBrZy5jb20vbG9kYXNoLy0vbG9kYXNoLTQuMTcuMjAudGd6I2I0NGE5YjYyOTdiY2I2OThmMWM1 MWEzNTQ1YTJiM2IzNjhkNTljNTIiCiAgIGludGVncml0eSBzaGE1MTItUGxoZEZjaWxsT0lOZmVW N05pNm9GMVRBRWF5eVpCb1o4YmNzaFRIcU9ZSllscnF6Uks1aGFncGFna3k1bzRIZkN6emQxVFJr WFBNRnE2Y0trOXJHbUE9PQpAQCAtNjE5Miw3ICs2NDM0LDcgQEAgbWFrZS1kaXJAXjIuMC4wOgog ICAgIHBpZnkgIl40LjAuMSIKICAgICBzZW12ZXIgIl41LjYuMCIKIAotbWFrZS1kaXJAXjMuMC4w LCBtYWtlLWRpckBeMy4wLjI6CittYWtlLWRpckBeMy4wLjAsIG1ha2UtZGlyQF4zLjAuMiwgbWFr ZS1kaXJAXjMuMS4wOgogICB2ZXJzaW9uICIzLjEuMCIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVn aXN0cnkueWFybnBrZy5jb20vbWFrZS1kaXIvLS9tYWtlLWRpci0zLjEuMC50Z3ojNDE1ZTk2NzA0 NmIzYTdmMWQxODUyNzdkODRhYTU4MjAzNzI2YTEzZiIKICAgaW50ZWdyaXR5IHNoYTUxMi1nM0Zl UDIwTE53aEFMYi82Q3o2RGQ0RjJuZ3plMGp6N3RienJEMndBVitvOUZlTkhlNHJMK3lLMm1kMEov ZmlTZjFzYTFBRGhYcWk1K29Wd09NL2VHdz09CkBAIC02MjE3LDkgKzY0NTksMTQgQEAgbWFwLXZp c2l0QF4xLjAuMDoKICAgICBvYmplY3QtdmlzaXQgIl4xLjAuMCIKIAogbWFya2VkQF4xLjEuMToK LSAgdmVyc2lvbiAiMS4yLjAiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cu Y29tL21hcmtlZC8tL21hcmtlZC0xLjIuMC50Z3ojNzIyMWNlMjM5NWZhNmNmNmQ3MjJlNmYyODcx YTMyZDM1MTNjODVjYSIKLSAgaW50ZWdyaXR5IHNoYTUxMi10aVJ4YWtnYk5QQnIzMDFpaGUvNzg1 Tm50dll5aHhscWNMM1lhQzhDYXhKUWg3a2lhRXRyTjlCL2VLMkkyOTQzWWpraDVndzI1Y2hZRkRR aE9NQ3dNQT09CisgIHZlcnNpb24gIjEuMi43IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3Ry eS55YXJucGtnLmNvbS9tYXJrZWQvLS9tYXJrZWQtMS4yLjcudGd6IzZlMTRiNTk1NTgxZDIzMTlj ZGNmMDMzYTI0Y2FhZjQxNDU1YTAxZmIiCisgIGludGVncml0eSBzaGE1MTItTm8xMWhGWWNYci96 a0J2TDZxRm1BcDF6NkJLWTN6cUxNSG55L0pOL2V5K2FsN3F3Q00yK0NNQkw5Qk9ncU14WlUzNmZ6 NGNDV2ZuMnBvV0lmN1FSWEE9PQorCittYXRjaGVzLXNlbGVjdG9yQDAuMC4xOgorICB2ZXJzaW9u ICIwLjAuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vbWF0Y2hl cy1zZWxlY3Rvci8tL21hdGNoZXMtc2VsZWN0b3ItMC4wLjEudGd6IzFkZjUyNjIyNDNhZTM0MWMx YTA4MDRkZDMwMjA0ODI2N2FjNzEzYmIiCisgIGludGVncml0eSBzaGExLUhmVW1Ja091TkJ3YUNB VGRNQ0JJSm5ySEU3cz0KIAogbWQ1LmpzQF4xLjMuNDoKICAgdmVyc2lvbiAiMS4zLjUiCkBAIC02 MjMwLDE2ICs2NDc3LDE2IEBAIG1kNS5qc0BeMS4zLjQ6CiAgICAgaW5oZXJpdHMgIl4yLjAuMSIK ICAgICBzYWZlLWJ1ZmZlciAiXjUuMS4yIgogCittZG4tZGF0YUAyLjAuMTQ6CisgIHZlcnNpb24g IjIuMC4xNCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vbWRuLWRh dGEvLS9tZG4tZGF0YS0yLjAuMTQudGd6IzcxMTNmYzQyODE5MTdkNjNjZTI5YjQzNDQ2ZjcwMWU2 OGMyNWJhNTAiCisgIGludGVncml0eSBzaGE1MTItZG42d2QwdXc1R3Nkc3dQRmZzZ01wNU5TQjAv YURlNmZLOTRZSlYvQUpEWVhMNkhWTFdCc3hlcTdqczdBZCttVTJLOUxBbHdwazZrTjJENW13Q1BW b3c9PQorCiBtZG4tZGF0YUAyLjAuNDoKICAgdmVyc2lvbiAiMi4wLjQiCiAgIHJlc29sdmVkICJo dHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL21kbi1kYXRhLy0vbWRuLWRhdGEtMi4wLjQudGd6 IzY5OWIzYzM4YWM2ZjFkNzI4MDkxYTY0NjUwYjY1ZDM4ODUwMmZkNWIiCiAgIGludGVncml0eSBz aGE1MTItaVYzWE5LdzA2ajVRN21pNmgrOXZieDIzVHY3SmtqRVZnS0hXNHBpbXd5REdXbTBPSVFu dEpKK3UxQzZtZzZtSzFFYVR2NDJYUTd3NzZ5dXpIN00yY0E9PQogCi1tZG4tZGF0YUAyLjAuNjoK LSAgdmVyc2lvbiAiMi4wLjYiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cu Y29tL21kbi1kYXRhLy0vbWRuLWRhdGEtMi4wLjYudGd6Izg1MmRjNjBmY2FhNWRhYTJlOGNmNmM5 MTg5YzQ0MGVkM2UwNDI5NzgiCi0gIGludGVncml0eSBzaGE1MTItclF2anY3MW9sd05IZ2lUYmZQ WkZrSnRqTk1jaVdnc3dZZWNpWmh0dldMTzhibVgzVG5oeUE2Mkk2c1RXT3lac3NXSEpKalk2L0tp V3dxUXNXV3NxT0E9PQotCiBtZWRpYS10eXBlckAwLjMuMDoKICAgdmVyc2lvbiAiMC4zLjAiCiAg IHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL21lZGlhLXR5cGVyLy0vbWVk aWEtdHlwZXItMC4zLjAudGd6Izg3MTBkN2FmMGFhNjI2ZjhmZmZhMWNlMDAxNjg1NDUyNjMyNTU3 NDgiCkBAIC02MzQ3LDkgKzY1OTQsOSBAQCBtaW1lQDEuNi4wOgogICBpbnRlZ3JpdHkgc2hhNTEy LXgwVm44c3BJK3d1SjFPNlM3Z25iYVFnOFB4aDROTkhiN0tTSU5tRVdLaVBFNFJLT3BsdmlqbitO a21ZbW1SZ1A2OG1jNzBqMkViZVRGUnNyc3dhUWVnPT0KIAogbWltZUBeMi4wLjMsIG1pbWVAXjIu My4xLCBtaW1lQF4yLjQuNDoKLSAgdmVyc2lvbiAiMi40LjYiCi0gIHJlc29sdmVkICJodHRwczov L3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL21pbWUvLS9taW1lLTIuNC42LnRneiNlNWI0MDdjOTBkYjQ0 MmYyYmViNWIxNjIzNzNkMDdiNjlhZmZhNGQxIgotICBpbnRlZ3JpdHkgc2hhNTEyLVJaS2hDM0Vt cEJjaGZUR0JWYjhmYitSTDJjV3l3LzMybHNobnNFVHR0a0JBeUFVWFNHSHhiRUpXV1JYYzc1MURy SXhHMXEwNGI4UXdNYkF3a1JQcFVBPT0KKyAgdmVyc2lvbiAiMi40LjciCisgIHJlc29sdmVkICJo dHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL21pbWUvLS9taW1lLTIuNC43LnRneiM5NjJhZWQ5 YmUwZWQxOWM5MWZkN2RjMmVjZTVkN2Y0ZTg5YTkwZDc0IgorICBpbnRlZ3JpdHkgc2hhNTEyLWRo TmQxdUEydTM5N3VRazNOdjVMTTRsbTkzV1lEVVhGbjNGdTI5MUZKZXJuczRqeVR1ZHFoSVdlNFcw NFlMeTdVazF0bTFPcmUwNE5walJ2UXAvTlBBPT0KIAogbWltaWMtZm5AXjEuMC4wOgogICB2ZXJz aW9uICIxLjIuMCIKQEAgLTY0NDksNiArNjY5NiwxMSBAQCBtaXhpbi1kZWVwQF4xLjIuMDoKICAg ICBmb3ItaW4gIl4xLjAuMiIKICAgICBpcy1leHRlbmRhYmxlICJeMS4wLjEiCiAKK21rZGlycC1j bGFzc2ljQF4wLjUuMjoKKyAgdmVyc2lvbiAiMC41LjMiCisgIHJlc29sdmVkICJodHRwczovL3Jl Z2lzdHJ5Lnlhcm5wa2cuY29tL21rZGlycC1jbGFzc2ljLy0vbWtkaXJwLWNsYXNzaWMtMC41LjMu dGd6I2ZhMTBjOTExNWNjNmQ4ODY1YmUyMjFiYTQ3ZWU5YmVkNzg2MDExMTMiCisgIGludGVncml0 eSBzaGE1MTItZ0tMY1JFTWh0dVpSd1JBZnFQM1JGVytUSzRKcUFwVkJ0T0lmdFZnanVBQnBBdHB4 aFBHYURjZnZiaE52RDBCOGlEMW9Vci90eFgzNU5qY2FZNk5zL0E9PQorCiBta2RpcnBAXjAuNS4w LCBta2RpcnBAXjAuNS4xLCBta2RpcnBAXjAuNS4zLCBta2RpcnBAfjAuNS4xOgogICB2ZXJzaW9u ICIwLjUuNSIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vbWtkaXJw Ly0vbWtkaXJwLTAuNS41LnRneiNkOTFjZWZkNjJkMTQzNmNhMGY0MTYyMGUyNTEyODhkNDIwMDk5 ZGVmIgpAQCAtNjQ1Niw3ICs2NzA4LDM3IEBAIG1rZGlycEBeMC41LjAsIG1rZGlycEBeMC41LjEs IG1rZGlycEBeMC41LjMsIG1rZGlycEB+MC41LjE6CiAgIGRlcGVuZGVuY2llczoKICAgICBtaW5p bWlzdCAiXjEuMi41IgogCi1tb2R1bGUtZGVwc0BeNi4wLjA6CittbC1hcnJheS1tYXhAXjEuMi4w OgorICB2ZXJzaW9uICIxLjIuMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBr Zy5jb20vbWwtYXJyYXktbWF4Ly0vbWwtYXJyYXktbWF4LTEuMi4wLnRneiMxNDE1OTUxMzFmZTEw MjA4ZGQ4OTg5N2NlOThhYjdmZDM4MmEzOTUxIgorICBpbnRlZ3JpdHkgc2hhNTEyLTNVSDdYQ2Rq SU54YnRCV2oxRXVITWVJMjQyUTN1THVDNHJUcFN5YkJXVXBHam5HL0JlZkFGeG1Ub2xVQ3VYRE01 OW1KL0cvcmU4MENRYmFWSXVNalFBPT0KKyAgZGVwZW5kZW5jaWVzOgorICAgIGlzLWFueS1hcnJh eSAiXjAuMS4wIgorCittbC1hcnJheS1taW5AXjEuMi4wOgorICB2ZXJzaW9uICIxLjIuMCIKKyAg cmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vbWwtYXJyYXktbWluLy0vbWwt YXJyYXktbWluLTEuMi4wLnRneiM2ODgwZWEzMTkyNTBhOTllYzczYmMyNzk5YWMwMDVjMTBhMGYw NDg5IgorICBpbnRlZ3JpdHkgc2hhNTEyLVdnZjIrbENuZEx5MVNiZU9aU1VxbGt4RDlUMUNYUFQ3 Q0lsTkdBWlJSUUkzNXdzcXZmdU50TE5INHFLRng4a05qbHEzVkdYS09TQkhlaVhSMzF2YVRBPT0K KyAgZGVwZW5kZW5jaWVzOgorICAgIGlzLWFueS1hcnJheSAiXjAuMS4wIgorCittbC1hcnJheS1y ZXNjYWxlQF4xLjMuMjoKKyAgdmVyc2lvbiAiMS4zLjIiCisgIHJlc29sdmVkICJodHRwczovL3Jl Z2lzdHJ5Lnlhcm5wa2cuY29tL21sLWFycmF5LXJlc2NhbGUvLS9tbC1hcnJheS1yZXNjYWxlLTEu My4yLnRneiNlYmRlYWFhODRkMTVmNzE0ZGJiMDBlOTRhNmE5MzM2ZGRjZjEwNDEzIgorICBpbnRl Z3JpdHkgc2hhNTEyLWtpWHdkVkNHcmVyN3JMbmpSNlE5WmdQNmU5cmJubVF2WVZVTUxYeXFOZzQr ek9zK2plazh5QnVwcVBaUERyK052bFNFNU91TW5mQWJQMW9BNjNrSEJBPT0KKyAgZGVwZW5kZW5j aWVzOgorICAgIGlzLWFueS1hcnJheSAiXjAuMS4wIgorICAgIG1sLWFycmF5LW1heCAiXjEuMi4w IgorICAgIG1sLWFycmF5LW1pbiAiXjEuMi4wIgorCittbC1tYXRyaXhAXjYuNS4wOgorICB2ZXJz aW9uICI2LjUuMyIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vbWwt bWF0cml4Ly0vbWwtbWF0cml4LTYuNS4zLnRneiMwYzRiYjI2NzE0NjA3Y2FjNzZkMjg5Yjk0MzE3 MWM3MDgzNDE4ZWVkIgorICBpbnRlZ3JpdHkgc2hhNTEyLXdYcm4rY2NBcEo2Z0hrdHhtb3NPenM2 QjZNMGh1YWRhaERwY2dQWUlBSmdncHFON0N0VjRWZDd6cFc2TGVsLzFvTTV5Q1VMY3JiUkoxQTVn Ri9HWURBPT0KKyAgZGVwZW5kZW5jaWVzOgorICAgIG1sLWFycmF5LXJlc2NhbGUgIl4xLjMuMiIK KworbW9kdWxlLWRlcHNAXjYuMC4wLCBtb2R1bGUtZGVwc0BeNi4yLjM6CiAgIHZlcnNpb24gIjYu Mi4zIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9tb2R1bGUtZGVw cy8tL21vZHVsZS1kZXBzLTYuMi4zLnRneiMxNTQ5MGJjMDJhZjRiNTZjZjYyMjk5YzdjMTdjYmEz MmQ3MWE5NmVlIgogICBpbnRlZ3JpdHkgc2hhNTEyLWZnN09aYVFCY0w0L0wrQUs1ZjRpVnFmOU9N YkNjbFhmeS96blhSeFRWaEpTZVc1QUlsUzlBd2hlWXdEYVhNM2xWVzdPQmVhZVVFWTNnYmFDNmNM bFNBPT0KQEAgLTY0NzcsMjUgKzY3NTksMjMgQEAgbW9kdWxlLWRlcHNAXjYuMC4wOgogICAgIHRo cm91Z2gyICJeMi4wLjAiCiAgICAgeHRlbmQgIl40LjAuMCIKIAotbW9tZW50LXRpbWV6b25lQF4w LjQuMDoKLSAgdmVyc2lvbiAiMC40LjEiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlh cm5wa2cuY29tL21vbWVudC10aW1lem9uZS8tL21vbWVudC10aW1lem9uZS0wLjQuMS50Z3ojODFm NTk4YzNhZDVlMjJjZGFkNzk2YjY3ZWNkOGQ4OGQwZjViYWEwNiIKLSAgaW50ZWdyaXR5IHNoYTEt Z2ZXWXc2MWVJczJ0ZVd0bjdOallqUTlicWdZPQotICBkZXBlbmRlbmNpZXM6Ci0gICAgbW9tZW50 ICI+PSAyLjYuMCIKLQotbW9tZW50LXRpbWV6b25lQF4wLjUuMTEsIG1vbWVudC10aW1lem9uZUBe MC41LjIzOgotICB2ZXJzaW9uICIwLjUuMzEiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5 Lnlhcm5wa2cuY29tL21vbWVudC10aW1lem9uZS8tL21vbWVudC10aW1lem9uZS0wLjUuMzEudGd6 IzljNDBkOGM1MDI2ZjBjN2FiNDZlZGEzZDYzZTQ5YzE1NTE0OGRlMDUiCi0gIGludGVncml0eSBz aGE1MTItK0dnSE5nOHhSaE1YZkVidjgxaUR0clZlVGNXdDBrV21URVkxWFFLMTRkSUNUWG5XSm5U MGR4ZGxQc3B3cUYza2VLTVZQWHdheUVzazFESTBBQS9qZEE9PQorbW9tZW50LXRpbWV6b25lQF4w LjUuMjMsIG1vbWVudC10aW1lem9uZUBeMC41LjI4LCBtb21lbnQtdGltZXpvbmVAXjAuNS4zMToK KyAgdmVyc2lvbiAiMC41LjMyIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtn LmNvbS9tb21lbnQtdGltZXpvbmUvLS9tb21lbnQtdGltZXpvbmUtMC41LjMyLnRneiNkYjc2Nzdj YzNjYzY4MGZkMzAzMDNlYmQ5MGIwZGExY2EwZGZlY2MyIgorICBpbnRlZ3JpdHkgc2hhNTEyLVo4 UU55dVFIUUFtV3VjcDhLbm1nZWk4WU5vMjhhTGpKcTZNYStqeTFaU3BTazVueWZSVDh4Z1ViU1F2 RDIrMlVhaklTZmVubmR3dkZ1SDNOR1MrbnZBPT0KICAgZGVwZW5kZW5jaWVzOgogICAgIG1vbWVu dCAiPj0gMi45LjAiCiAKLSJtb21lbnRAPj0gMi42LjAiLCAibW9tZW50QD49IDIuOS4wIiwgbW9t ZW50QF4yLjEwLjIsIG1vbWVudEBeMi4yMi4yLCBtb21lbnRAXjIuMjQuMDoKKyJtb21lbnRAPj0g Mi45LjAiLCBtb21lbnRAXjIuMTAuMiwgbW9tZW50QF4yLjI0LjAsIG1vbWVudEBeMi4yOS4wOgog ICB2ZXJzaW9uICIyLjI5LjEiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cu Y29tL21vbWVudC8tL21vbWVudC0yLjI5LjEudGd6I2IyYmU3NjlmYTMxOTQwYmU5ZWVlYTY0Njlj MDc1ZTM1MDA2ZmEzZDMiCiAgIGludGVncml0eSBzaGE1MTIta0htb3liY1BWOFNxeTU5RHdORFkz SmVmcjY0bEsvYnkvZGEwVmlGY3VBNERIMHZRZzVRNlplNVZpbXhrZlFOU0MrTWxzL0t4NTNzN1Rq UDFSaEZFRFE9PQogCittb21lbnRAfjIuMjQuMDoKKyAgdmVyc2lvbiAiMi4yNC4wIgorICByZXNv bHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9tb21lbnQvLS9tb21lbnQtMi4yNC4w LnRneiMwZDA1NWQ1M2Y1MDUyYWE2NTNjOWY2ZWI2OGJiNWQxMmJmNWMyYjViIgorICBpbnRlZ3Jp dHkgc2hhNTEyLWJWN2YrNmwyUWlnZUJCWlNNLzZ5VE5xNFAyZk5wU1dqLzBlN2pRY3k4N0E4ZTdv Mm5BZlAvMzQvMmt5NVZ3NEI5UzQ0NkV0SWhvZEF6a0ZDY1I0ZFFnPT0KKwogbW9vQF4wLjUuMDoK ICAgdmVyc2lvbiAiMC41LjEiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cu Y29tL21vby8tL21vby0wLjUuMS50Z3ojN2FhZTdmMzg0YjliMDlmNjIwYjZhYmY2Zjc0ZWJiY2Qx YjY1ZGJjNCIKQEAgLTY1MzcsMjAgKzY4MTcsMjUgQEAgbXNAMi4xLjE6CiAgIHJlc29sdmVkICJo dHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL21zLy0vbXMtMi4xLjEudGd6IzMwYTU4NjRlYjNl YmIwYTY2ZjJlYmU2ZDcyN2FmMDZhMDlkODZlMGEiCiAgIGludGVncml0eSBzaGE1MTItdGdwK2Rs NWNHazI4dXRZa3RCc3JGcUE3SEtncmhnUHNnNlovRWZoV0k0Z2wxSHdxOEIvR21ZLzBvWFo2bkY4 aERWZXNTL0ZwbllhRC9rT1doWVF2eWc9PQogCi1tc0AyLjEuMiwgbXNAXjIuMS4xOgorbXNAMi4x LjI6CiAgIHZlcnNpb24gIjIuMS4yIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJu cGtnLmNvbS9tcy8tL21zLTIuMS4yLnRneiNkMDlkMWYzNTdiNDQzZjQ5MzM4MmE4ZWIzY2NkMTgz ODcyYWU2MDA5IgogICBpbnRlZ3JpdHkgc2hhNTEyLXNHa1B4K1ZqTXRtQTZNWDI3b0E0RkJGRUxG Q1paNFM0WHFlR09YQ3Y2OHRUK2piM3ZrL1J5YUtXUDBQVEt5V3RtTFNNMGIrYWRVVEV2YnMxUEVh SDJ3PT0KIAorbXNAXjIuMS4xOgorICB2ZXJzaW9uICIyLjEuMyIKKyAgcmVzb2x2ZWQgImh0dHBz Oi8vcmVnaXN0cnkueWFybnBrZy5jb20vbXMvLS9tcy0yLjEuMy50Z3ojNTc0YzgxMzhjZTFkMmI1 ODYxZjBiNDQ1NzlkYmFkZDYwYzY2MTViMiIKKyAgaW50ZWdyaXR5IHNoYTUxMi02Rmx6dWJUTFpH M0oyYS9OVkNBbGVFaGp6cTVveGdIeWFDVTl5WVh2Y0xzdm9WYUhKcS9zNXhYSTYvWFhQNnR6N1I5 eEFPdEhuU08vdFh0RjNXUlRsQT09CisKIG11dGUtc3RyZWFtQDAuMC43OgogICB2ZXJzaW9uICIw LjAuNyIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vbXV0ZS1zdHJl YW0vLS9tdXRlLXN0cmVhbS0wLjAuNy50Z3ojMzA3NWNlOTNiYzIxYjhmYWI0M2UxYmM0ZGE3ZTgx MTVlZDFlN2JhYiIKICAgaW50ZWdyaXR5IHNoYTEtTUhYT2s3d2h1UHEwUGh2RTJuNkJGZTBlZTZz PQogCiBuYW5AXjIuMTIuMToKLSAgdmVyc2lvbiAiMi4xNC4xIgotICByZXNvbHZlZCAiaHR0cHM6 Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9uYW4vLS9uYW4tMi4xNC4xLnRneiNkN2JlMzRkZmEzMTA1 YjkxNDk0YzMxNDcwODkzMTVlZmY4ODc0YjAxIgotICBpbnRlZ3JpdHkgc2hhNTEyLWlzV0hnVmpu RmpoMngyeXVKL3RqM0pid29IdTNVQzJkWDVHLzg4Q20yNHlCNllvcFZneHZCT2JEWTduNXhXNkV4 bUZoSnBTRVFxRlB2cTl6YVhjOEp3PT0KKyAgdmVyc2lvbiAiMi4xNC4yIgorICByZXNvbHZlZCAi aHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9uYW4vLS9uYW4tMi4xNC4yLnRneiNmNTM3NjQw MDY5NTE2OGY0Y2M2OTRhYzkzOTNkMGM5NTg1ZWVlYTE5IgorICBpbnRlZ3JpdHkgc2hhNTEyLU0y dWZ6SWlJTktDdURmQlNBVXIxdldRK3Z1VmNBOWtxeDhKSlVzYlFpNnlmMXVHUnliN0hmcGRmVXI1 cUxYZjNCL3Q4ZFB2Y2poS01tbGZuUDQ3RXpRPT0KIAogbmFub21hdGNoQF4xLjIuOToKICAgdmVy c2lvbiAiMS4yLjEzIgpAQCAtNjU4MCwxNSArNjg2NSwxNCBAQCBuYXR1cmFsLWNvbXBhcmVAXjEu NC4wOgogICBpbnRlZ3JpdHkgc2hhMS1TcjYvN3RkVUh5d25yUHNwdmJ2UlhJMWJwUGM9CiAKIG5l YXJsZXlAXjIuNy4xMDoKLSAgdmVyc2lvbiAiMi4xOS43IgotICByZXNvbHZlZCAiaHR0cHM6Ly9y ZWdpc3RyeS55YXJucGtnLmNvbS9uZWFybGV5Ly0vbmVhcmxleS0yLjE5LjcudGd6I2VhZmJlM2Uy ZDhjY2ZlNzBhZGFhNWMwMjZhYjFmOTcwOWMxMTYyMTgiCi0gIGludGVncml0eSBzaGE1MTItWStL TndoQlBjU0pLZXlRQ0ZqbjhCL01JZStERGxoYWFEZ2pWbGRoeTV4dEZld0liaVFnY2JaVjhrMmdD VndrSTFac0tDbmpJWVpiUiswRmltNVFZZ2c9PQorICB2ZXJzaW9uICIyLjIwLjEiCisgIHJlc29s dmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL25lYXJsZXkvLS9uZWFybGV5LTIuMjAu MS50Z3ojMjQ2Y2QzM2VmZjBkMDEyZmFmMTk3ZmY2Nzc0ZDdhYzc4YWNkZDQ3NCIKKyAgaW50ZWdy aXR5IHNoYTUxMi0rTWM4VWFBZWJGemdWK0twSTVuN0Rhc3V1UUNIQTg5ZG13bTdKWHczVFY0M3Vr Zk5ROURuQkgzTWRiMmcvSTRGZHhjMjZwd2ltQld2akl3MFVBSUxTUT09CiAgIGRlcGVuZGVuY2ll czoKICAgICBjb21tYW5kZXIgIl4yLjE5LjAiCiAgICAgbW9vICJeMC41LjAiCiAgICAgcmFpbHJv YWQtZGlhZ3JhbXMgIl4xLjAuMCIKICAgICByYW5kZXhwICIwLjQuNiIKLSAgICBzZW12ZXIgIl41 LjQuMSIKIAogbmVhdGVxdWFsQF4xLjAuMDoKICAgdmVyc2lvbiAiMS4wLjAiCkBAIC02NjQxLDEw ICs2OTI1LDEwIEBAIG5vZGUtbGlicy1icm93c2VyQF4yLjIuMToKICAgICB1dGlsICJeMC4xMS4w IgogICAgIHZtLWJyb3dzZXJpZnkgIl4xLjAuMSIKIAotbm9kZS1yZWxlYXNlc0BeMS4xLjYxOgot ICB2ZXJzaW9uICIxLjEuNjEiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cu Y29tL25vZGUtcmVsZWFzZXMvLS9ub2RlLXJlbGVhc2VzLTEuMS42MS50Z3ojNzA3YjBmY2E5Y2U0 ZTExNzgzNjEyYmE0YTJmY2JhMDkwNDdhZjE2ZSIKLSAgaW50ZWdyaXR5IHNoYTUxMi1ERDV2ZWJR TGc4akxDT3p3dXBuOTU0ZmJJaVpodDA1REFaczBrMnU4TlN0U2U2aDlYZHN1SVFMOGhTUktZaVU4 V1VRUnpubVNEcktHYnYzT2JPbUM3Zz09Citub2RlLXJlbGVhc2VzQF4xLjEuNjc6CisgIHZlcnNp b24gIjEuMS42NyIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vbm9k ZS1yZWxlYXNlcy8tL25vZGUtcmVsZWFzZXMtMS4xLjY3LnRneiMyOGViZmNjY2QwYmFhNmFhZDhl OGQ0ZDhmZTRjYmM0OWFlMjM5YzEyIgorICBpbnRlZ3JpdHkgc2hhNTEyLVY1UUY5bm9HRmwzRXlt RXdVWXpPKzNOVERwR2ZRQjR2ZTZRZm56ZjNVTnlkTWhqUVJWUFIxRFpUdXZXaUx6YUZKWXcyZm1E d0FmblJORVZiNjRoU0lnPT0KIAogbm9ybWFsaXplLXBhY2thZ2UtZGF0YUBeMi4zLjIsIG5vcm1h bGl6ZS1wYWNrYWdlLWRhdGFAXjIuMy40OgogICB2ZXJzaW9uICIyLjUuMCIKQEAgLTY3MDIsMTMg KzY5ODYsMjAgQEAgbnBtLXJ1bi1wYXRoQF4yLjAuMDoKICAgZGVwZW5kZW5jaWVzOgogICAgIHBh dGgta2V5ICJeMi4wLjAiCiAKLW50aC1jaGVja0BeMS4wLjIsIG50aC1jaGVja0B+MS4wLjE6Citu dGgtY2hlY2tAXjEuMC4yOgogICB2ZXJzaW9uICIxLjAuMiIKICAgcmVzb2x2ZWQgImh0dHBzOi8v cmVnaXN0cnkueWFybnBrZy5jb20vbnRoLWNoZWNrLy0vbnRoLWNoZWNrLTEuMC4yLnRneiNiMmJk Mjk1YzM3ZTNkZDU4YTNiZjA3MDAzNzY2NjNiYTRkOWNmMDVjIgogICBpbnRlZ3JpdHkgc2hhNTEy LVdlQk9kanU4U256UE41dlRVSll4WVV4TGVYcENhVlA1aTVlMExGOGZnN1dPUkYyV2Q3d0ZYL3Br MHRZWms3czhUK0o3Vkx5MERhNkoxK3dDVDBBdEhnPT0KICAgZGVwZW5kZW5jaWVzOgogICAgIGJv b2xiYXNlICJ+MS4wLjAiCiAKK250aC1jaGVja0BeMi4wLjA6CisgIHZlcnNpb24gIjIuMC4wIgor ICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9udGgtY2hlY2svLS9udGgt Y2hlY2stMi4wLjAudGd6IzFiYjRmNmRhYzcwMDcyZmMzMTNlOGM5Y2QxNDE3YjUwNzRjMGExMjUi CisgIGludGVncml0eSBzaGE1MTItaTRzYy9LajhodEJyQWlIMXZpWjBUZ1U4WTVYcUNhVi9GemlZ SzZUQmN6eG1lS20zQUVGV3FxRjMxOTV5S3VkcmFycXk3WnU4MFJhNWRvYkZqbjlYL1E9PQorICBk ZXBlbmRlbmNpZXM6CisgICAgYm9vbGJhc2UgIl4xLjAuMCIKKwogbnVsbC1jaGVja0BeMS4wLjA6 CiAgIHZlcnNpb24gIjEuMC4wIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtn LmNvbS9udWxsLWNoZWNrLy0vbnVsbC1jaGVjay0xLjAuMC50Z3ojOTc3ZGZmZDcxNzYwMTJiOWVj MzBkMmEzOWRiNWNmNzJhMDQzOWVkZCIKQEAgLTY3MzksMTcgKzcwMzAsMTcgQEAgb2JqZWN0LWNv cHlAXjAuMS4wOgogICAgIGtpbmQtb2YgIl4zLjAuMyIKIAogb2JqZWN0LWluc3BlY3RAXjEuNy4w LCBvYmplY3QtaW5zcGVjdEBeMS44LjA6Ci0gIHZlcnNpb24gIjEuOC4wIgotICByZXNvbHZlZCAi aHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9vYmplY3QtaW5zcGVjdC8tL29iamVjdC1pbnNw ZWN0LTEuOC4wLnRneiNkZjgwN2U1ZWNmNTNhNjA5Y2M2YmZlOTNlYWMzY2M3YmU1YjNhOWQwIgot ICBpbnRlZ3JpdHkgc2hhNTEyLWpMZHRFT0IxMTJmT1J1eXBBeWwvNTBWUlZJQklkVlFPU1VVR1FI eko0eEJTYml0ODF6UmFyejdHVGhrRUZaeTFSY2VZcldZY1BjQkZQUXdIeUFjMWdBPT0KKyAgdmVy c2lvbiAiMS45LjAiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL29i amVjdC1pbnNwZWN0Ly0vb2JqZWN0LWluc3BlY3QtMS45LjAudGd6I2M5MDUyMWQ3NGUxMTI3YjY3 MjY2ZGVkMzM5NGFkNjExNjk4NjUzM2EiCisgIGludGVncml0eSBzaGE1MTItaTNCcDlpVHF3aGFM WkJ4R2tSZm81WmJFMDdCUVJUN01HdTgrbk5nd1c5SXRHcDFUekNUdzJETEVvV3dqQ2x4QmpPRkkv aFdsalRBbVlHQ0V3bXRuT3c9PQogCiBvYmplY3QtaXNAXjEuMC4yLCBvYmplY3QtaXNAXjEuMS4y OgotICB2ZXJzaW9uICIxLjEuMyIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBr Zy5jb20vb2JqZWN0LWlzLy0vb2JqZWN0LWlzLTEuMS4zLnRneiMyZTNiOWU2NTU2MDEzNzQ1NWVl M2JkNjJhZWM0ZDkwYTJlYTFjYzgxIgotICBpbnRlZ3JpdHkgc2hhNTEyLXRleXFMdkZXekxrcTVC OWtpOEZWV0E5MDJVRVIycWt4bWRBNG5MZit3ak9MQVdneHpDV1pOQ3hwRHE5TXZFOE1taFdOcitJ OHczQk40OVZ4MzZZNlhnPT0KKyAgdmVyc2lvbiAiMS4xLjQiCisgIHJlc29sdmVkICJodHRwczov L3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL29iamVjdC1pcy8tL29iamVjdC1pcy0xLjEuNC50Z3ojNjNk NmM4M2MwMGE0M2Y0Y2JjOTQzNGViOTc1N2M4YTViODU2NTA2OCIKKyAgaW50ZWdyaXR5IHNoYTUx Mi0xWnZBWjR3bEY3SXlQVk9jRTFPbWlrdDdVcGFGbE9RcTBIbFN0aStadkRIM1VpRDJicndHTXdE YnlWNDNqYW8yYktKKzQrV2RQSkhTZDdrZ3pLWVZxZz09CiAgIGRlcGVuZGVuY2llczoKKyAgICBj YWxsLWJpbmQgIl4xLjAuMCIKICAgICBkZWZpbmUtcHJvcGVydGllcyAiXjEuMS4zIgotICAgIGVz LWFic3RyYWN0ICJeMS4xOC4wLW5leHQuMSIKIAogb2JqZWN0LWtleXNAXjEuMC4xMiwgb2JqZWN0 LWtleXNAXjEuMS4xOgogICB2ZXJzaW9uICIxLjEuMSIKQEAgLTY3NjMsNDIgKzcwNTQsNDQgQEAg b2JqZWN0LXZpc2l0QF4xLjAuMDoKICAgZGVwZW5kZW5jaWVzOgogICAgIGlzb2JqZWN0ICJeMy4w LjAiCiAKLW9iamVjdC5hc3NpZ25AXjQuMS4wLCBvYmplY3QuYXNzaWduQF40LjEuMToKLSAgdmVy c2lvbiAiNC4xLjEiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL29i amVjdC5hc3NpZ24vLS9vYmplY3QuYXNzaWduLTQuMS4xLnRneiMzMDM4NjdhNjY2Y2RkNDE5MzZl Y2RlZGZiMWY4ZjNlMzJhNDc4Y2RkIgotICBpbnRlZ3JpdHkgc2hhNTEyLVZUL2N4bXg1eWFvSFNP VFN5ckN5Z0lERmNvK1JzaWJZMk5NMGE0UmRFZVkvNEtncWV6d0Z0SzF5cjNVNjd4WWhxSlNsQVNt MnBLaExWelBqMmxyNGJBPT0KK29iamVjdC5hc3NpZ25AXjQuMS4wLCBvYmplY3QuYXNzaWduQF40 LjEuMSwgb2JqZWN0LmFzc2lnbkBeNC4xLjI6CisgIHZlcnNpb24gIjQuMS4yIgorICByZXNvbHZl ZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9vYmplY3QuYXNzaWduLy0vb2JqZWN0LmFz c2lnbi00LjEuMi50Z3ojMGVkNTRhMzQyZWNlYjM3YjM4ZmY3NmViODMxYTBlNzg4Y2I2Mzk0MCIK KyAgaW50ZWdyaXR5IHNoYTUxMi1peFQyTDVUSFhzQXB5aVVQWUttVysyRUhwWFhlNUlpM00rZjRl K2FKRkFIYW81YW1GUlc2SjBPTzZjL0xVOEJlNDd1dEN4MkdMODloeEdCNlhTbUt1UT09CiAgIGRl cGVuZGVuY2llczoKKyAgICBjYWxsLWJpbmQgIl4xLjAuMCIKICAgICBkZWZpbmUtcHJvcGVydGll cyAiXjEuMS4zIgotICAgIGVzLWFic3RyYWN0ICJeMS4xOC4wLW5leHQuMCIKICAgICBoYXMtc3lt Ym9scyAiXjEuMC4xIgogICAgIG9iamVjdC1rZXlzICJeMS4xLjEiCiAKIG9iamVjdC5lbnRyaWVz QF4xLjEuMSwgb2JqZWN0LmVudHJpZXNAXjEuMS4yOgotICB2ZXJzaW9uICIxLjEuMiIKLSAgcmVz b2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vb2JqZWN0LmVudHJpZXMvLS9vYmpl Y3QuZW50cmllcy0xLjEuMi50Z3ojYmM3M2YwMGFjYjZiNmJiMTZjMjAzNDM0YjEwZjlhN2U3OTdk M2FkZCIKLSAgaW50ZWdyaXR5IHNoYTUxMi1CUWRCOXFLbWIvSHlOZE1OV1ZyN08zK3o1TVVJeDNh aWVnRUlKcWpNQmJCZjBZVDlSUnhUSlNpbTRtekZxdHlyN1BEQUhpZ3EwTjlkTzBtMHRSYWtRQT09 CisgIHZlcnNpb24gIjEuMS4zIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtn LmNvbS9vYmplY3QuZW50cmllcy8tL29iamVjdC5lbnRyaWVzLTEuMS4zLnRneiNjNjAxYzdmMTY4 YjYyMzc0NTQxYTA3ZGRiZDNlMmQ1ZTRmNzcxMWE2IgorICBpbnRlZ3JpdHkgc2hhNTEyLXltN2g3 T1plYk5TOTZobjVJSmV5VW1hV2hhU000U1Z0QVBQZk5MUUVJMk1ZV0NPMmVnc0lUYjluYWIyK2kv UHdpYngrUjBtdG4rbHRLSlhSU2VUTUdnPT0KICAgZGVwZW5kZW5jaWVzOgorICAgIGNhbGwtYmlu ZCAiXjEuMC4wIgogICAgIGRlZmluZS1wcm9wZXJ0aWVzICJeMS4xLjMiCi0gICAgZXMtYWJzdHJh Y3QgIl4xLjE3LjUiCisgICAgZXMtYWJzdHJhY3QgIl4xLjE4LjAtbmV4dC4xIgogICAgIGhhcyAi XjEuMC4zIgogCi1vYmplY3QuZnJvbWVudHJpZXNAXjIuMC4yOgotICB2ZXJzaW9uICIyLjAuMiIK LSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vb2JqZWN0LmZyb21lbnRy aWVzLy0vb2JqZWN0LmZyb21lbnRyaWVzLTIuMC4yLnRneiM0YTA5YzliOWJiMzg0M2RkMGY4OWFj ZGI1MTdhNzk0ZDRmMzU1YWM5IgotICBpbnRlZ3JpdHkgc2hhNTEyLXIzWmlCSDdNUXBwREpWTHg2 ZmhENjE4R0tORzQwQ1pZSDl3Z3dkaEt4QkREYlFnamVXR0dkNEF0a1phZDg0ZDI5MVl4dldlN2JK R3VFNjVBbmgwZHhRPT0KK29iamVjdC5mcm9tZW50cmllc0BeMi4wLjIsIG9iamVjdC5mcm9tZW50 cmllc0BeMi4wLjM6CisgIHZlcnNpb24gIjIuMC4zIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdp c3RyeS55YXJucGtnLmNvbS9vYmplY3QuZnJvbWVudHJpZXMvLS9vYmplY3QuZnJvbWVudHJpZXMt Mi4wLjMudGd6IzEzY2VmY2ZmYTcwMmRjNjc3NTAzMTRhMzMwNWU4Y2IzZmFkMWQwNzIiCisgIGlu dGVncml0eSBzaGE1MTItSURVU01YczZMT1NKQldFKytMMGx6SWJTcUhsOUtEQ2ZmZjJ4L0pTRUlE dEVVYXZVbnlNWUMyWkdheS8wNFpxNFVUOGx2ZDR4TmhVNC9ZSEtpYkFPbHc9PQogICBkZXBlbmRl bmNpZXM6CisgICAgY2FsbC1iaW5kICJeMS4wLjAiCiAgICAgZGVmaW5lLXByb3BlcnRpZXMgIl4x LjEuMyIKLSAgICBlcy1hYnN0cmFjdCAiXjEuMTcuMC1uZXh0LjEiCi0gICAgZnVuY3Rpb24tYmlu ZCAiXjEuMS4xIgorICAgIGVzLWFic3RyYWN0ICJeMS4xOC4wLW5leHQuMSIKICAgICBoYXMgIl4x LjAuMyIKIAogb2JqZWN0LmdldG93bnByb3BlcnR5ZGVzY3JpcHRvcnNAXjIuMS4wOgotICB2ZXJz aW9uICIyLjEuMCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vb2Jq ZWN0LmdldG93bnByb3BlcnR5ZGVzY3JpcHRvcnMvLS9vYmplY3QuZ2V0b3ducHJvcGVydHlkZXNj cmlwdG9ycy0yLjEuMC50Z3ojMzY5YmYxZjk1OTJkOGFiODlkNzEyZGNlZDVjYjgxYzdjNTM1MjY0 OSIKLSAgaW50ZWdyaXR5IHNoYTUxMi1aNTNPYWg5QTNUZExvYmxUN1ZLSmFURGRYZFQrbFFPK2NO cEtWbnlhNUpEZTl1THZ6dTFZeVkxeUZERnJjeHJsUmdXckVGSDBqSnREL0lidXdqY0VWZz09Cisg IHZlcnNpb24gIjIuMS4xIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNv bS9vYmplY3QuZ2V0b3ducHJvcGVydHlkZXNjcmlwdG9ycy8tL29iamVjdC5nZXRvd25wcm9wZXJ0 eWRlc2NyaXB0b3JzLTIuMS4xLnRneiMwZGZkYThkMTA4MDc0ZDljNTYzZTgwNDkwYzg4M2I2NjYx MDkxNTQ0IgorICBpbnRlZ3JpdHkgc2hhNTEyLTZEdFhnWi9sSVo5aHF4NEd0WkVUb2JYTFIvWkxh YTBhcVYwa3pibjgwUmY4WjJlL1hGbmhBMEk3cDA3TjJ3SDhiQkJsdHIyeFFQaTZzYktXQVkyRW5n PT0KICAgZGVwZW5kZW5jaWVzOgorICAgIGNhbGwtYmluZCAiXjEuMC4wIgogICAgIGRlZmluZS1w cm9wZXJ0aWVzICJeMS4xLjMiCi0gICAgZXMtYWJzdHJhY3QgIl4xLjE3LjAtbmV4dC4xIgorICAg IGVzLWFic3RyYWN0ICJeMS4xOC4wLW5leHQuMSIKIAogb2JqZWN0LnBpY2tAXjEuMy4wOgogICB2 ZXJzaW9uICIxLjMuMCIKQEAgLTY4MDgsMTMgKzcxMDEsMTMgQEAgb2JqZWN0LnBpY2tAXjEuMy4w OgogICAgIGlzb2JqZWN0ICJeMy4wLjEiCiAKIG9iamVjdC52YWx1ZXNAXjEuMS4wLCBvYmplY3Qu dmFsdWVzQF4xLjEuMToKLSAgdmVyc2lvbiAiMS4xLjEiCi0gIHJlc29sdmVkICJodHRwczovL3Jl Z2lzdHJ5Lnlhcm5wa2cuY29tL29iamVjdC52YWx1ZXMvLS9vYmplY3QudmFsdWVzLTEuMS4xLnRn eiM2OGE5OWVjZGUzNTZiN2U5Mjk1YTNjNWUwY2UzMWRjOGM5NTNkZTVlIgotICBpbnRlZ3JpdHkg c2hhNTEyLVdUYTU0ZzJLOGl1MGttUy91czE4akVtZHYxYTRXaS8vQlovRFRWWUVjSDBYaExNNU5Z ZHBESGphM2d0NTdWclpMY05BTzJXR0ErS3BXc0RCYUh0NmVBPT0KKyAgdmVyc2lvbiAiMS4xLjIi CisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL29iamVjdC52YWx1ZXMv LS9vYmplY3QudmFsdWVzLTEuMS4yLnRneiM3YTIwMTVlMDZmY2IwZjU0NmJkNjUyNDg2Y2U4NTgz YTQ3MzFjNzMxIgorICBpbnRlZ3JpdHkgc2hhNTEyLU1ZQzBqdkpvcHI4RUs2ZFBCaU84TmI5bXZq ZHlwT2FjaE81UkVHazZNWHp1amJCckFpc0tvM0htZEVJNmtaREw2ZkMzMU13ZWUvNVlidE1lYml4 ZWFnPT0KICAgZGVwZW5kZW5jaWVzOgorICAgIGNhbGwtYmluZCAiXjEuMC4wIgogICAgIGRlZmlu ZS1wcm9wZXJ0aWVzICJeMS4xLjMiCi0gICAgZXMtYWJzdHJhY3QgIl4xLjE3LjAtbmV4dC4xIgot ICAgIGZ1bmN0aW9uLWJpbmQgIl4xLjEuMSIKKyAgICBlcy1hYnN0cmFjdCAiXjEuMTguMC1uZXh0 LjEiCiAgICAgaGFzICJeMS4wLjMiCiAKIG9uLWZpbmlzaGVkQH4yLjMuMDoKQEAgLTcwNjEsMTcg KzczNTQsMzIgQEAgcGFyc2UtanNvbkBeNC4wLjA6CiAgICAgZXJyb3ItZXggIl4xLjMuMSIKICAg ICBqc29uLXBhcnNlLWJldHRlci1lcnJvcnMgIl4xLjAuMSIKIAorcGFyc2UtanNvbkBeNS4wLjA6 CisgIHZlcnNpb24gIjUuMS4wIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtn LmNvbS9wYXJzZS1qc29uLy0vcGFyc2UtanNvbi01LjEuMC50Z3ojZjk2MDg4Y2RmMjRhOGZhYTlh ZWE5YTAwOWYyZDlkOTQyYzk5OTY0NiIKKyAgaW50ZWdyaXR5IHNoYTUxMi0rbWkvbG1WVk5LRk5W eUxYVjMxRVJpeTJDWTVFMS9GNlF0SkZFem9DaFBSd3duZ01OWFJEUTlHSjVXZEUyWjJQNEF1anNP aTAvKzJxSElENjhLd2ZJUT09CisgIGRlcGVuZGVuY2llczoKKyAgICAiQGJhYmVsL2NvZGUtZnJh bWUiICJeNy4wLjAiCisgICAgZXJyb3ItZXggIl4xLjMuMSIKKyAgICBqc29uLXBhcnNlLWV2ZW4t YmV0dGVyLWVycm9ycyAiXjIuMy4wIgorICAgIGxpbmVzLWFuZC1jb2x1bW5zICJeMS4xLjYiCisK IHBhcnNlLXBhc3N3ZEBeMS4wLjA6CiAgIHZlcnNpb24gIjEuMC4wIgogICByZXNvbHZlZCAiaHR0 cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9wYXJzZS1wYXNzd2QvLS9wYXJzZS1wYXNzd2QtMS4w LjAudGd6IzZkNWI5MzRhNDU2OTkzYjIzZDM3ZjQwYTM4MmQ2ZjE2NjZhOGU1YzYiCiAgIGludGVn cml0eSBzaGExLWJWdVRTa1ZwazdJOU4vUUtPQzF2Rm1hbzVjWT0KIAotcGFyc2U1QF4zLjAuMToK LSAgdmVyc2lvbiAiMy4wLjMiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cu Y29tL3BhcnNlNS8tL3BhcnNlNS0zLjAuMy50Z3ojMDQyZjc5MmZmZGQzNjg1MTU1MWNmNGU5ZTA2 NmIzODc0YWI0NWI1YyIKLSAgaW50ZWdyaXR5IHNoYTUxMi1yZ085Wmc1TExMa2ZKRjlFNkNDbVhs U0U0VVZjZWxveXM4SnJGcUNjSGxvQzN1c2Qva0pDeVBEd0gyU09seml4MmozeGFQOXNVWDNlOCtr dmt1bGVBQT09CitwYXJzZTUtaHRtbHBhcnNlcjItdHJlZS1hZGFwdGVyQF42LjAuMDoKKyAgdmVy c2lvbiAiNi4wLjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3Bh cnNlNS1odG1scGFyc2VyMi10cmVlLWFkYXB0ZXIvLS9wYXJzZTUtaHRtbHBhcnNlcjItdHJlZS1h ZGFwdGVyLTYuMC4xLnRneiMyY2RmOWFkODIzMzIxMTQwMzcwZDRkYmY1ZDNlOTJjN2M4ZGRjNmU2 IgorICBpbnRlZ3JpdHkgc2hhNTEyLXFQdVd2YkxndkRHaWxLYzVCb2ljUm92bFQ0TXRZVDZKZkp5 Qk9NRHNLb2lUK0dpdVA1cXlyUENuUjlIY1BFQ0lKSm1aaDVqUm5keU5UaG5oaGIvdmxBPT0KICAg ZGVwZW5kZW5jaWVzOgotICAgICJAdHlwZXMvbm9kZSIgIioiCisgICAgcGFyc2U1ICJeNi4wLjEi CisKK3BhcnNlNUBeNi4wLjAsIHBhcnNlNUBeNi4wLjE6CisgIHZlcnNpb24gIjYuMC4xIgorICBy ZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9wYXJzZTUvLS9wYXJzZTUtNi4w LjEudGd6I2UxYTFjMDg1YzU2OWIzZGMwODMyMTE4NGYxOWEzOWNjMjdmN2MzMGIiCisgIGludGVn cml0eSBzaGE1MTItT2ZuL0NURnpSR1RUeHdwTkVzOVBQOTNnWFNoSGNUcTI1NW56UllTS2U4QWtW cFpZN2UxZnBtVGZPeW9JdmpQNUhHN1oyWk03VlM5UFBoUUdXMnBPcHc9PQogCiBwYXJzZXFzQDAu MC41OgogICB2ZXJzaW9uICIwLjAuNSIKQEAgLTcxNzAsNiArNzQ3OCwyMyBAQCBwYXRoLXR5cGVA XjMuMC4wOgogICBkZXBlbmRlbmNpZXM6CiAgICAgcGlmeSAiXjMuMC4wIgogCitwYXRoLXR5cGVA XjQuMC4wOgorICB2ZXJzaW9uICI0LjAuMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnku eWFybnBrZy5jb20vcGF0aC10eXBlLy0vcGF0aC10eXBlLTQuMC4wLnRneiM4NGVkMDFjMGE3YmEz ODBhZmUwOWQ5MGE4YzE4MGRjZDlkMDMwNDNiIgorICBpbnRlZ3JpdHkgc2hhNTEyLWdES2I4YVpN RGVEL3RaV3M5UDYrcTBKOU13a2RsNnhNVjhUam5HUDNxSlZKMDZiZE1na2JCbExVOElkZk9zSXNG ejJCVzFyTlZUM1h1TkVsOHpQQXZ3PT0KKworcGF0aGZpbmRpbmdAXjAuNC4xODoKKyAgdmVyc2lv biAiMC40LjE4IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9wYXRo ZmluZGluZy8tL3BhdGhmaW5kaW5nLTAuNC4xOC50Z3ojYTk5OTBmNmZhMjJiN2VmMTk2ZTU2NTFi MDQ5MTY1NDAzYTA0NWZlOCIKKyAgaW50ZWdyaXR5IHNoYTEtcVprUGI2SXJmdkdXNVdVYkJKRmxR RG9FWCtnPQorICBkZXBlbmRlbmNpZXM6CisgICAgaGVhcCAiMC4yLjUiCisKK3BhdGhzLWpzQF4w LjQuOToKKyAgdmVyc2lvbiAiMC40LjExIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55 YXJucGtnLmNvbS9wYXRocy1qcy8tL3BhdGhzLWpzLTAuNC4xMS50Z3ojYjJhOWQ1Zjk0ZWU5OTQ5 YWE4ZmVlOTQ1Zjc4YTEyYWJmZjQ0NTk5ZSIKKyAgaW50ZWdyaXR5IHNoYTUxMi0zbXFjTG9tREJY T283Rm8rVWxhZW5HNmY3MWJrMVplelBReTJKQ21ZSHkyVzJrNVZLcFArSmJpbjlIMGJqWHluZWxU YmdsQ3FkRmhTRWtlSWtLVFlVQT09CisKIHBia2RmMkBeMy4wLjM6CiAgIHZlcnNpb24gIjMuMS4x IgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9wYmtkZjIvLS9wYmtk ZjItMy4xLjEudGd6I2NiODcyNGIwZmFkYTk4NDU5Njg1NmQxYTZlYmFmZDM1ODQ2NTRiOTQiCkBA IC03MjQ3LDcgKzc1NzIsNyBAQCBwbmdxdWFudC1iaW5AXjUuMC4wOgogICAgIGV4ZWNhICJeMC4x MC4wIgogICAgIGxvZ2Fsb3QgIl4yLjAuMCIKIAotcG9wcGVyLmpzQF4xLjE0LjMsIHBvcHBlci5q c0BeMS4xNC43OgorcG9wcGVyLmpzQF4xLjE0LjcsIHBvcHBlci5qc0BeMS4xNi4xOgogICB2ZXJz aW9uICIxLjE2LjEiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3Bv cHBlci5qcy8tL3BvcHBlci5qcy0xLjE2LjEudGd6IzJhMjIzY2IzZGM3YjYyMTNkNzQwZTQwMzcy YmU0MGRlNDNlNjViMWIiCiAgIGludGVncml0eSBzaGE1MTItV2I0cDFKNHp5RlRiTSt1Nld1TzRY c3RZeDRLeTlDZXdlNERXcmVsN0IwdzZWVklDdlB3ZE9wb3RqemNmNmVEOFRzY2tWbklNTk9OUXlQ SVVGT1ViQ1E9PQpAQCAtNzYyMSwxMSArNzk0Niw2IEBAIHByZXBlbmQtaHR0cEBeMi4wLjA6CiAg IHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3ByZXBlbmQtaHR0cC8tL3By ZXBlbmQtaHR0cC0yLjAuMC50Z3ojZTkyNDM0YmZhNWVhOGMxOWY0MWNkZmQ0MDFkNzQxYTNjODE5 ZDg5NyIKICAgaW50ZWdyaXR5IHNoYTEtNlNRMHY2WHFqQm4wSE4vVUFkZEJvOGdaMkpjPQogCi1w cml2YXRlQF4wLjEuNjoKLSAgdmVyc2lvbiAiMC4xLjgiCi0gIHJlc29sdmVkICJodHRwczovL3Jl Z2lzdHJ5Lnlhcm5wa2cuY29tL3ByaXZhdGUvLS9wcml2YXRlLTAuMS44LnRneiMyMzgxZWRiMzY4 OWY3YTUzZDY1MzE5MDA2MGZjZjgyMmQyZjM2OGZmIgotICBpbnRlZ3JpdHkgc2hhNTEyLVZ2aXZN cmJ2ZDJuS2tpRzM4cWpVTHpsYys0Vng0d20vd2hJOXBRRDM1WXJBUk5uaHhlaVJrdFNPaFN1a1JM Rk5semc2QnIvY0pQZXQ1Si91MTlyL21nPT0KLQogcHJvY2Vzcy1uZXh0aWNrLWFyZ3NAfjIuMC4w OgogICB2ZXJzaW9uICIyLjAuMSIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBr Zy5jb20vcHJvY2Vzcy1uZXh0aWNrLWFyZ3MvLS9wcm9jZXNzLW5leHRpY2stYXJncy0yLjAuMS50 Z3ojNzgyMGQ5YjE2MTIwY2M1NWNhOWFlNzc5MjY4MGFlN2RiYTZkN2ZlMiIKQEAgLTc4MjMsMTgg KzgxNDMsMTggQEAgcmF3LWJvZHlAMi40LjA6CiAgICAgaWNvbnYtbGl0ZSAiMC40LjI0IgogICAg IHVucGlwZSAiMS4wLjAiCiAKLXJhdy1sb2FkZXJAXjEuMC4wOgotICB2ZXJzaW9uICIxLjAuMCIK LSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vcmF3LWxvYWRlci8tL3Jh dy1sb2FkZXItMS4wLjAudGd6IzNmOTg4OWU3M2RhZGJkYTlhNDI0YmNlNzk4MDliNDEzM2FkNDY0 MDUiCi0gIGludGVncml0eSBzaGE1MTItVXF5NUFxRUxweXRKVFJ4WVQ0ZmhsdGNLUGowVHlhRXB6 SkRjR3o3REZKaStwUU9PaTNHalIvRE9keFRrVHNGK056aG5sZElvRzZUT1JhQmxJblV1cUE9PQor cmF3LWxvYWRlckBeMy4xLjA6CisgIHZlcnNpb24gIjMuMS4wIgorICByZXNvbHZlZCAiaHR0cHM6 Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9yYXctbG9hZGVyLy0vcmF3LWxvYWRlci0zLjEuMC50Z3oj NWU5ZDM5OWE1YTIyMmNjMGRlMThmNDJjM2JjNWU0OTY3NzUzMmIzZiIKKyAgaW50ZWdyaXR5IHNo YTUxMi1selVWTXVKMDZIRjRyWXZlYXo5VHYwV1JsVU14SjBZMWhnU2trZ2crNTBpRWRhSTBUdGh5 RURlMDhLSUhiMFhzRjZybjhXWVRxUENhR1RaZzNzWCtxQT09CiAgIGRlcGVuZGVuY2llczoKICAg ICBsb2FkZXItdXRpbHMgIl4xLjEuMCIKLSAgICBzY2hlbWEtdXRpbHMgIl4xLjAuMCIKKyAgICBz Y2hlbWEtdXRpbHMgIl4yLjAuMSIKIAogcmVhY3QtZG9tQF4xNi4xMy4xOgotICB2ZXJzaW9uICIx Ni4xMy4xIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9yZWFjdC1k b20vLS9yZWFjdC1kb20tMTYuMTMuMS50Z3ojYzFiZDM3MzMxYTA0ODZjMDc4ZWU1NGM0NzQwNzIw OTkzYjJlMGU3ZiIKLSAgaW50ZWdyaXR5IHNoYTUxMi04MVBJTW1WTG5DTkxPL2ZGT1F4ZFFrdkVx LytIZnB2MjRYTkpmcHlaaFRSZk8wUWNtUUlGL1BnQ2ExekNPajJ3MWhybjEyTUZMeWFKL0cwK014 dGZhZz09CisgIHZlcnNpb24gIjE2LjE0LjAiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5 Lnlhcm5wa2cuY29tL3JlYWN0LWRvbS8tL3JlYWN0LWRvbS0xNi4xNC4wLnRneiM3YWQ4MzhlYzI5 YTc3N2ZiM2M3NWMzYTE5MGY2NjFjZjkyYWI4Yjg5IgorICBpbnRlZ3JpdHkgc2hhNTEyLTFnQ2VR WERMb0lxTWdxRDNJTzJBaDlibmYwdzlremh3TjVxNEZHbkhaNjdoQm05eWVQekI1SkpBSVFDYzh4 M3BGbk5sd0ZxNFJpZFpnZ05BQWt6V1d3PT0KICAgZGVwZW5kZW5jaWVzOgogICAgIGxvb3NlLWVu dmlmeSAiXjEuMS4wIgogICAgIG9iamVjdC1hc3NpZ24gIl40LjEuMSIKQEAgLTc4NDcsMTkgKzgx NjcsMjYgQEAgcmVhY3QtaXNAXjE2LjEzLjEsIHJlYWN0LWlzQF4xNi44LjEsIHJlYWN0LWlzQF4x Ni44LjY6CiAgIGludGVncml0eSBzaGE1MTItMjRlNnluRTJIK09LdDRrcXNPdk5kOGtCcFY2NXpv eGJBNEJWc0VPQjNBUlZXUWtpL0RIemFVb0M1S3VPTi9CaWNjRGFDQ1RaQnVPY2Zaczcwa1I4YlE9 PQogCiByZWFjdC10ZXN0LXJlbmRlcmVyQF4xNi4wLjAtMDoKLSAgdmVyc2lvbiAiMTYuMTMuMSIK LSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vcmVhY3QtdGVzdC1yZW5k ZXJlci8tL3JlYWN0LXRlc3QtcmVuZGVyZXItMTYuMTMuMS50Z3ojZGUyNWVhMzU4ZDkwMTI2MDZk ZTUxZTAxMmQ5NzQyZTdmMGRlYWJjMSIKLSAgaW50ZWdyaXR5IHNoYTUxMi1TbjJWUnlPSzJZSkps ZE9xb2g4VG4vbFdRK1ppS2h5WlRQdGFPMFE2eU5qK1FEYm1Sa1ZGYXA2cFpQeTNZUWs4RFNjUkRm eXFtL0t4S1lQOWdDTVJpUT09CisgIHZlcnNpb24gIjE2LjE0LjAiCisgIHJlc29sdmVkICJodHRw czovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3JlYWN0LXRlc3QtcmVuZGVyZXIvLS9yZWFjdC10ZXN0 LXJlbmRlcmVyLTE2LjE0LjAudGd6I2U5ODM2MDA4NzM0OGUyNjBjNTZkNGZlMjMxNWU5NzA0ODBj MjI4YWUiCisgIGludGVncml0eSBzaGE1MTItTDh5UGpxUEU1Q1pPNnJLc0tYUk8vclZQaWFDT3kw dFFRSmJDK1VqUE5sb2JsNW1hZDU5bHZQandGc1FIVHZMMDNjYVZESVZyOXg5L09TZ0RlNkk1RWc9 PQogICBkZXBlbmRlbmNpZXM6CiAgICAgb2JqZWN0LWFzc2lnbiAiXjQuMS4xIgogICAgIHByb3At dHlwZXMgIl4xNS42LjIiCiAgICAgcmVhY3QtaXMgIl4xNi44LjYiCiAgICAgc2NoZWR1bGVyICJe MC4xOS4xIgogCityZWFjdC10by1wcmludEBeMi4xMC4zOgorICB2ZXJzaW9uICIyLjEyLjEiCisg IHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3JlYWN0LXRvLXByaW50Ly0v cmVhY3QtdG8tcHJpbnQtMi4xMi4xLnRneiMxMjBmMzExNmZlZjU1YTE0MWY1NTM1NDgzODg2MjRi OTc2NTk2ODM1IgorICBpbnRlZ3JpdHkgc2hhNTEyLSt6R05VWVFLYWFlN1dwMEpMMkpjb1dNMGxE ZDVjc2FzUm1UcVJabEpMT2o2RjRzUm1Kc1Q3WlBnSDBTTDZaUTdnV3owaHdnbGhMbExveUY4NWxH Z0h3PT0KKyAgZGVwZW5kZW5jaWVzOgorICAgIHByb3AtdHlwZXMgIl4xNS43LjIiCisKIHJlYWN0 QF4xNi4xMy4xOgotICB2ZXJzaW9uICIxNi4xMy4xIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdp c3RyeS55YXJucGtnLmNvbS9yZWFjdC8tL3JlYWN0LTE2LjEzLjEudGd6IzJlODE4ODIyZjFhOTc0 MzEyMmMwNjNkNjQxMGQ4NWMxZTNhZmU0OGUiCi0gIGludGVncml0eSBzaGE1MTItWU1aUVFxMzJ4 SExYMGJ6NU1uaWJ2MS9MSGIzU3F6bmd1N3hzdFNNK3Zya0U1S3pyOXhFMHlNQnlLNWtNb1RLMzBZ VkpFNjFXZmJ4SUZGdmZlREtUMXc9PQorICB2ZXJzaW9uICIxNi4xNC4wIgorICByZXNvbHZlZCAi aHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9yZWFjdC8tL3JlYWN0LTE2LjE0LjAudGd6Izk0 ZDc3NmRkZDBhYWEzN2RhM2VkYThmYzViNmIxOGE0YzlhMzExNGQiCisgIGludGVncml0eSBzaGE1 MTItMFgyQ0ltRGtKR0FwaUFsY2YwT0RLSW5lU3dCUGhxSmF3T2E1d0N0S2J1N1pFQ3JtUzI2TnZ0 U0lMeW5RNjZjZ2tUL1JKNExpZEpPYzNiVUVTd21VOGc9PQogICBkZXBlbmRlbmNpZXM6CiAgICAg bG9vc2UtZW52aWZ5ICJeMS4xLjAiCiAgICAgb2JqZWN0LWFzc2lnbiAiXjQuMS4xIgpAQCAtNzkx Miw3ICs4MjM5LDcgQEAgcmVhZGFibGUtc3RyZWFtQF4xLjAuMzM6CiAgICAgaXNhcnJheSAiMC4w LjEiCiAgICAgc3RyaW5nX2RlY29kZXIgIn4wLjEwLngiCiAKLXJlYWRhYmxlLXN0cmVhbUBeMy4x LjEsIHJlYWRhYmxlLXN0cmVhbUBeMy42LjA6CityZWFkYWJsZS1zdHJlYW1AXjMuNi4wOgogICB2 ZXJzaW9uICIzLjYuMCIKICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20v cmVhZGFibGUtc3RyZWFtLy0vcmVhZGFibGUtc3RyZWFtLTMuNi4wLnRneiMzMzdiYmRhM2FkYzA3 MDZiZDNlMDI0NDI2YTI4NmQ0YjRiMmM5MTk4IgogICBpbnRlZ3JpdHkgc2hhNTEyLUJWaUh5N0xL ZVR6NG9ObmtjTEorbFZTTDZ2cGlGZVg2L2Qzb1NIOHpDVzdVeFAyb25jaGsrdlRHQjE0M3h1RmpI UzNkZVRna0tvWFh5bVhxeW1pSWRBPT0KQEAgLTc5MzAsMTAgKzgyNTcsMTAgQEAgcmVhZGRpcnBA XjIuMi4xOgogICAgIG1pY3JvbWF0Y2ggIl4zLjEuMTAiCiAgICAgcmVhZGFibGUtc3RyZWFtICJe Mi4wLjIiCiAKLXJlYWRkaXJwQH4zLjQuMDoKLSAgdmVyc2lvbiAiMy40LjAiCi0gIHJlc29sdmVk ICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3JlYWRkaXJwLy0vcmVhZGRpcnAtMy40LjAu dGd6IzlmZGNjZGY5ZTkxNTU4MDU0NDkyMjFhYzY0NWU4MzAzYWI1YjlhZGEiCi0gIGludGVncml0 eSBzaGE1MTItMHhlMDAxdlpCbkpFSyt1S2NqOHFPaHlBS1B6SVQrZ1N0eFdyM0xDQjBEd2NYUjVO WkozSWFDK3lHbkhDWXpCL1M3b3YzbTNFRWJaSTJ6ZU52WCtoR1E9PQorcmVhZGRpcnBAfjMuNS4w OgorICB2ZXJzaW9uICIzLjUuMCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBr Zy5jb20vcmVhZGRpcnAvLS9yZWFkZGlycC0zLjUuMC50Z3ojOWJhNzRjMDE5YjE1ZDM2NTI3OGQy ZTkxYmI4YzQ4ZDdiNGQ0MmM5ZSIKKyAgaW50ZWdyaXR5IHNoYTUxMi1jTWh1N2MvOHJkaGtIWFdz WStvc0JoZlN5MEppa3dwSEsvNStpbW8rTHBlYXNURjhvdUVySHJsWWt3VDArK25qaXl1RHZjN09G WTVUM3Vrdlo4cW1GUT09CiAgIGRlcGVuZGVuY2llczoKICAgICBwaWNvbWF0Y2ggIl4yLjIuMSIK IApAQCAtNzk1NywxMCArODI4NCwxMCBAQCByZWdlbmVyYXRlLXVuaWNvZGUtcHJvcGVydGllc0Be OC4yLjA6CiAgIGRlcGVuZGVuY2llczoKICAgICByZWdlbmVyYXRlICJeMS40LjAiCiAKLXJlZ2Vu ZXJhdGVAXjEuMi4xLCByZWdlbmVyYXRlQF4xLjQuMDoKLSAgdmVyc2lvbiAiMS40LjEiCi0gIHJl c29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3JlZ2VuZXJhdGUvLS9yZWdlbmVy YXRlLTEuNC4xLnRneiNjYWQ5MmFkOGU2YjU5MTc3MzQ4NWZiZTA1YTQ4NWNhZjRmNDU3ZTZmIgot ICBpbnRlZ3JpdHkgc2hhNTEyLWoyK0M4K050WFFnRUtXazQ5TU1QNVAvdTJHaG5haFR0VmtSSUhy NVI1bFZSbGJLdm1RK29TK0E1YUxLV3AybWE1VmtUOHNoNnYrdjRoYkgwWUhSNjZBPT0KK3JlZ2Vu ZXJhdGVAXjEuNC4wOgorICB2ZXJzaW9uICIxLjQuMiIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVn aXN0cnkueWFybnBrZy5jb20vcmVnZW5lcmF0ZS8tL3JlZ2VuZXJhdGUtMS40LjIudGd6I2I5MzQ2 ZDg4MjdlOGY1YTMyZjdiYTI5NjM3ZDM5OGI2OTAxNDg0OGEiCisgIGludGVncml0eSBzaGE1MTIt enJjZVIvWGhHWVUvZC9vcHIyRUtPN2FSSFVlaUJJOHFqdGZIcUFEVHdaZDZTemZ5MTZsYTZrcUQw TUlVczV6NWh4NkFhS2ErUGl4cFByUjI4OStJMEE9PQogCiByZWdlbmVyYXRvci1ydW50aW1lQF4w LjExLjA6CiAgIHZlcnNpb24gIjAuMTEuMSIKQEAgLTc5NzIsMTUgKzgyOTksNiBAQCByZWdlbmVy YXRvci1ydW50aW1lQF4wLjEzLjQ6CiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5w a2cuY29tL3JlZ2VuZXJhdG9yLXJ1bnRpbWUvLS9yZWdlbmVyYXRvci1ydW50aW1lLTAuMTMuNy50 Z3ojY2FjMmRhY2M4YTFlYTY3NWZlYWFiYWViOGFlODMzODk4YWU0NmY1NSIKICAgaW50ZWdyaXR5 IHNoYTUxMi1hNTRGeG9KRElyMjdwZ2Y3SWdlUUd4bXFVTllyY1YzMzhsZi82Z0g0NTZIWi9QaFgr NUJjd0hYRzlhakVTbXdlNldSTzB0QXpSVXJSbU5PTldna3Jldz09CiAKLXJlZ2VuZXJhdG9yLXRy YW5zZm9ybUBeMC4xMC4wOgotICB2ZXJzaW9uICIwLjEwLjEiCi0gIHJlc29sdmVkICJodHRwczov L3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3JlZ2VuZXJhdG9yLXRyYW5zZm9ybS8tL3JlZ2VuZXJhdG9y LXRyYW5zZm9ybS0wLjEwLjEudGd6IzFlNDk5NjgzNzIzMWRhOGI3ZjNjZjQxMTRkNzFiNTY5MWEw NjgwZGQiCi0gIGludGVncml0eSBzaGE1MTItUEplcGJ2RGJ1SzF4Z0lnbmF1N1k5MGN3YUFtTy9M Q0xNSTJtUHZhWHEyaGVHTVIzYVdXNS9CUXZZcmhKOGpnbVFqWGV3WHZCanpmcUtjVk9taGpaNlE9 PQotICBkZXBlbmRlbmNpZXM6Ci0gICAgYmFiZWwtcnVudGltZSAiXjYuMTguMCIKLSAgICBiYWJl bC10eXBlcyAiXjYuMTkuMCIKLSAgICBwcml2YXRlICJeMC4xLjYiCi0KIHJlZ2VuZXJhdG9yLXRy YW5zZm9ybUBeMC4xNC4yOgogICB2ZXJzaW9uICIwLjE0LjUiCiAgIHJlc29sdmVkICJodHRwczov L3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3JlZ2VuZXJhdG9yLXRyYW5zZm9ybS8tL3JlZ2VuZXJhdG9y LXRyYW5zZm9ybS0wLjE0LjUudGd6I2M5OGRhMTU0NjgzNjcxYzljNGRjYjE2ZWNlNzM2NTE3ZTFi N2ZlYjQiCkBAIC04MDA5LDE2ICs4MzI3LDcgQEAgcmVnZXhwcEBeMi4wLjE6CiAgIHJlc29sdmVk ICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3JlZ2V4cHAvLS9yZWdleHBwLTIuMC4xLnRn eiM4ZDE5ZDMxY2Y2MzI0ODJiNTg5MDQ5ZjgyODFmOTNkYmNiYTRkMDdmIgogICBpbnRlZ3JpdHkg c2hhNTEyLWx2ME02K1RrRFZuaUEzYUQxRWcwRFZwZlUvYm9vU3U3RWV2M1RETy9tWktIQmZWamdD R1RWNHQ0YnVwcEVTRVlEdGtBcllGT3hUSld2NlM1QytpYU53PT0KIAotcmVnZXhwdS1jb3JlQF4y LjAuMDoKLSAgdmVyc2lvbiAiMi4wLjAiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlh cm5wa2cuY29tL3JlZ2V4cHUtY29yZS8tL3JlZ2V4cHUtY29yZS0yLjAuMC50Z3ojNDlkMDM4ODM3 YjhkY2Y4YmZhNWI5YTQyMTM5OTM4ZTZlYTJhZTI0MCIKLSAgaW50ZWdyaXR5IHNoYTEtU2RBNGcz dU56NHY2VzVwQ0U1azQ1dW9xNGtBPQotICBkZXBlbmRlbmNpZXM6Ci0gICAgcmVnZW5lcmF0ZSAi XjEuMi4xIgotICAgIHJlZ2pzZ2VuICJeMC4yLjAiCi0gICAgcmVnanNwYXJzZXIgIl4wLjEuNCIK LQotcmVnZXhwdS1jb3JlQF40LjcuMDoKK3JlZ2V4cHUtY29yZUBeNC43LjE6CiAgIHZlcnNpb24g IjQuNy4xIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9yZWdleHB1 LWNvcmUvLS9yZWdleHB1LWNvcmUtNC43LjEudGd6IzJkZWE1YTlhMDcyMzMyOThmYmYwZGI5MWZh OWFiYzRjNmUwZjhhZDYiCiAgIGludGVncml0eSBzaGE1MTIteXdIMlZVcmFBNDREWlF1Ukt6QVJt dzZTNjZtcjQ4cFFWdmE0TEJlUmhjT2x0SjZoRXh2V2x5NVpqRkxZbzY3eGJJeGI2VzFxNGJBR3Rn ZkVsMjB6ZlE9PQpAQCAtODAzMCwyMyArODMzOSwxMSBAQCByZWdleHB1LWNvcmVAXjQuNy4wOgog ICAgIHVuaWNvZGUtbWF0Y2gtcHJvcGVydHktZWNtYXNjcmlwdCAiXjEuMC40IgogICAgIHVuaWNv ZGUtbWF0Y2gtcHJvcGVydHktdmFsdWUtZWNtYXNjcmlwdCAiXjEuMi4wIgogCi1yZWdqc2dlbkBe MC4yLjA6Ci0gIHZlcnNpb24gIjAuMi4wIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55 YXJucGtnLmNvbS9yZWdqc2dlbi8tL3JlZ2pzZ2VuLTAuMi4wLnRneiM2YzAxNmFkZWFjNTU0Zjc1 ODIzZmUzN2FjMDViOTJkNWE0ZWRiMWY3IgotICBpbnRlZ3JpdHkgc2hhMS1iQUZxM3F4VlQzV0NQ K042d0Z1UzFhVHRzZmM9Ci0KIHJlZ2pzZ2VuQF4wLjUuMToKICAgdmVyc2lvbiAiMC41LjIiCiAg IHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3JlZ2pzZ2VuLy0vcmVnanNn ZW4tMC41LjIudGd6IzkyZmYyOTVmYjFkZWVjYmY2ZWNkYWIyNTQzZDIwN2U5MWFhMzM3MzMiCiAg IGludGVncml0eSBzaGE1MTItT0ZGVDNNZnJIOTB4SVc4T09TeVVyazZRSEQ1RTlKT1RlR29kaUpl QlMzSjZJd2xnekpNTkUvMWJaa2xXejVvVGcrOWRDTXlFZXRjbHZDVlhPUG9OM0E9PQogCi1yZWdq c3BhcnNlckBeMC4xLjQ6Ci0gIHZlcnNpb24gIjAuMS41IgotICByZXNvbHZlZCAiaHR0cHM6Ly9y ZWdpc3RyeS55YXJucGtnLmNvbS9yZWdqc3BhcnNlci8tL3JlZ2pzcGFyc2VyLTAuMS41LnRneiM3 ZWU4Zjg0ZGM2ZmE3OTJkM2ZkMGFlMjI4ZDI0YmQ5NDllYWQyMDVjIgotICBpbnRlZ3JpdHkgc2hh MS1mdWo0VGNiNmVTMC8wSzRpalNTOWxKNnRJRnc9Ci0gIGRlcGVuZGVuY2llczoKLSAgICBqc2Vz YyAifjAuNS4wIgotCiByZWdqc3BhcnNlckBeMC42LjQ6CiAgIHZlcnNpb24gIjAuNi40IgogICBy ZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9yZWdqc3BhcnNlci8tL3JlZ2pz cGFyc2VyLTAuNi40LnRneiNhNzY5Zjg2ODQzMDg0MDFhNjZlOWI1MjlkMjQzNmZmNGQwNjY2Mjcy IgpAQCAtODEwMSw2ICs4Mzk4LDExIEBAIHJlcXVpcmVzLXBvcnRAXjEuMC4wOgogICByZXNvbHZl ZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9yZXF1aXJlcy1wb3J0Ly0vcmVxdWlyZXMt cG9ydC0xLjAuMC50Z3ojOTI1ZDI2MDFkMzlhYzQ4NWUwOTFjZjBkYTVjNmU2OTRkYzNkY2FmZiIK ICAgaW50ZWdyaXR5IHNoYTEta2wwbUFkT2F4SVhna2M4TnBjYm1sTnc5eXY4PQogCityZXNpemUt b2JzZXJ2ZXItcG9seWZpbGxAXjEuNS4xOgorICB2ZXJzaW9uICIxLjUuMSIKKyAgcmVzb2x2ZWQg Imh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vcmVzaXplLW9ic2VydmVyLXBvbHlmaWxsLy0v cmVzaXplLW9ic2VydmVyLXBvbHlmaWxsLTEuNS4xLnRneiMwZTkwMjBkZDNkMjEwMjQ0NThkNGVi ZDI3ZTIzZTQwMjY5ODEwNDY0IgorICBpbnRlZ3JpdHkgc2hhNTEyLUx3WnJvdGRIT28xMm5RdVps SEVtdHVYZHFHb09EME9oYXhvcGFORnhXeklucEVnYUxXb1Z1QU1iVHppeHVvc0N4Mm5FRzU4bmd6 VzN2eGRXb3hJZ2RnPT0KKwogcmVzb2x2ZS1jd2RAXjIuMC4wOgogICB2ZXJzaW9uICIyLjAuMCIK ICAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vcmVzb2x2ZS1jd2QvLS9y ZXNvbHZlLWN3ZC0yLjAuMC50Z3ojMDBhOWY3Mzg3NTU2ZTI3MDM4ZWFlMjMyY2FhMzcyYTZhNTli NjY1YSIKQEAgLTgxMzYsMTEgKzg0MzgsMTIgQEAgcmVzb2x2ZUAxLjEuNzoKICAgcmVzb2x2ZWQg Imh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vcmVzb2x2ZS8tL3Jlc29sdmUtMS4xLjcudGd6 IzIwMzExNGQ4MmFkMmM1ZWQ5ZThlMDQxMWIzOTMyODc1ZTg4OWU5N2IiCiAgIGludGVncml0eSBz aGExLUlERVUyQ3JTeGUyZWpnUVJzNU1vZGVpSjZYcz0KIAotcmVzb2x2ZUBeMS4xLjQsIHJlc29s dmVAXjEuMTAuMCwgcmVzb2x2ZUBeMS4xNy4wLCByZXNvbHZlQF4xLjMuMiwgcmVzb2x2ZUBeMS40 LjA6Ci0gIHZlcnNpb24gIjEuMTcuMCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFy bnBrZy5jb20vcmVzb2x2ZS8tL3Jlc29sdmUtMS4xNy4wLnRneiNiMjU5NDFiNTQ5NjgyMzFjYzJk MWJiNzZhNzljYjdmMmMwYmY4NDQ0IgotICBpbnRlZ3JpdHkgc2hhNTEyLWljKzdKWWlWOFZpMnl6 UUdGV09raVpENVo5ejdPMlpobTlYTWFUeGRKRXhLYXNpZUZDcit5WFovV21Yc2NrSGlLbDEyYXIw eTZYaVhEeDNtNFJIbjF3PT0KK3Jlc29sdmVAXjEuMS40LCByZXNvbHZlQF4xLjEwLjAsIHJlc29s dmVAXjEuMTIuMCwgcmVzb2x2ZUBeMS4xNy4wLCByZXNvbHZlQF4xLjE4LjEsIHJlc29sdmVAXjEu NC4wOgorICB2ZXJzaW9uICIxLjE5LjAiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlh cm5wa2cuY29tL3Jlc29sdmUvLS9yZXNvbHZlLTEuMTkuMC50Z3ojMWFmNWJmNjMwNDA5NzM0YTA2 N2NhZTI5MzE4YWFjN2ZhMjlhMjY3YyIKKyAgaW50ZWdyaXR5IHNoYTUxMi1yQXJFWEFnc0JHNFVn UkdjeW54V0lXS0Z2aC9YWkNjUzhVSmRIaHd5OTF6d0F2Q1pJYmNzK3ZBYmZsZ0JuTmpZTXMvaS9p Ky9VeDZJWmhNTDF5UHZ4Zz09CiAgIGRlcGVuZGVuY2llczoKKyAgICBpcy1jb3JlLW1vZHVsZSAi XjIuMS4wIgogICAgIHBhdGgtcGFyc2UgIl4xLjAuNiIKIAogcmVzcG9uc2VsaWtlQDEuMC4yOgpA QCAtODE3OCw2ICs4NDgxLDExIEBAIHJnYmEtcmVnZXhAXjEuMC4wOgogICByZXNvbHZlZCAiaHR0 cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9yZ2JhLXJlZ2V4Ly0vcmdiYS1yZWdleC0xLjAuMC50 Z3ojNDMzNzRlMmUyY2EwOTY4YjBlZjE1MjM0NjBiN2Q3MzBmZjIyZWViMyIKICAgaW50ZWdyaXR5 IHNoYTEtUXpkT0xpeWdsb3NPOFZJMFlMZlhNUDhpN3JNPQogCityZ2Jjb2xvckBeMS4wLjE6Cisg IHZlcnNpb24gIjEuMC4xIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNv bS9yZ2Jjb2xvci8tL3JnYmNvbG9yLTEuMC4xLnRneiNkNjUwNWVjZGIzMDRhNjU5NWRhMjZmYTRi NDMzMDczMDY3NzU5NDVkIgorICBpbnRlZ3JpdHkgc2hhMS0xbEJlemJNRXBsbGRvbStrdERNSE1H ZDFsRjA9CisKIHJpbXJhZkAyLjYuMzoKICAgdmVyc2lvbiAiMi42LjMiCiAgIHJlc29sdmVkICJo dHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3JpbXJhZi8tL3JpbXJhZi0yLjYuMy50Z3ojYjJk MTA0ZmUwZDhmYjI3Y2Y5ZTBhMWNkYTgyNjJkZDM4MzNjNmNhYiIKQEAgLTgyMDAsNiArODUwOCwx NSBAQCByaXBlbWQxNjBAXjIuMC4wLCByaXBlbWQxNjBAXjIuMC4xOgogICAgIGhhc2gtYmFzZSAi XjMuMC4wIgogICAgIGluaGVyaXRzICJeMi4wLjEiCiAKK3JvbGx1cEBeMS4zMS4xOgorICB2ZXJz aW9uICIxLjMyLjEiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3Jv bGx1cC8tL3JvbGx1cC0xLjMyLjEudGd6IzQ0ODBlNTJkOWQ5ZTJhZTRiNDZiYTBkOWRkZWFmMzE2 Mzk0MGY5YzQiCisgIGludGVncml0eSBzaGE1MTItLzJIQTBFYzcwVHZRblhkenluRmZma2pBNlhO KzFlMnBFdi91S1M1VWxjYTQwZzJMN0t1T0Uzcmlhc0hvTlZIT3NGRDVLS1pnRHNNazFDUDNUdzlz K0E9PQorICBkZXBlbmRlbmNpZXM6CisgICAgIkB0eXBlcy9lc3RyZWUiICIqIgorICAgICJAdHlw ZXMvbm9kZSIgIioiCisgICAgYWNvcm4gIl43LjEuMCIKKwogcnN0LXNlbGVjdG9yLXBhcnNlckBe Mi4yLjM6CiAgIHZlcnNpb24gIjIuMi4zIgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55 YXJucGtnLmNvbS9yc3Qtc2VsZWN0b3ItcGFyc2VyLy0vcnN0LXNlbGVjdG9yLXBhcnNlci0yLjIu My50Z3ojODFiMjMwZWEyZmNjNjA2NmM4OWUzNDcyZGU3OTQyODVkOWIwM2Q5MSIKQEAgLTgyNzEs OSArODU4OCw5IEBAIHNhc3MtcmVzb3VyY2VzLWxvYWRlckBeMi4wLjA6CiAgICAgbG9hZGVyLXV0 aWxzICJeMi4wLjAiCiAKIHNhc3NAXjEuMjQuNDoKLSAgdmVyc2lvbiAiMS4yNy4wIgotICByZXNv bHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9zYXNzLy0vc2Fzcy0xLjI3LjAudGd6 IzA2NTdmZjY3NDIwNmI5NWVjMjBkYzYzOGE5M2UxNzljNzhmNmFkYTIiCi0gIGludGVncml0eSBz aGE1MTItMGdjckVSNTZPa3pvdEsvR0d3Z2c0ZlByS3VpRmxQTml0TzdlVUoxOEJzKy9OQmxvZkpm TXhteHFwcUp4amFlOXZ1MFdxOFRaenJTeXhaYWwwMFdEaWc9PQorICB2ZXJzaW9uICIxLjMwLjAi CisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3Nhc3MvLS9zYXNzLTEu MzAuMC50Z3ojNjBiYmJiYWY3NmJhMTAxMTdlNjFjNmMyNGYwMDE2MWMzZDYwNjEwZSIKKyAgaW50 ZWdyaXR5IHNoYTUxMi0yNkVVaE9YUkxhVVk3K21XdVJGcUdlR0dObWhCMXZibHBURU5PMVo3bUF6 eklaZVZ4WnI5RVpvYVkxa3lHTEZXZFNPWnhSTUF1ZmlOMm1rYk82ZEFsdz09CiAgIGRlcGVuZGVu Y2llczoKICAgICBjaG9raWRhciAiPj0yLjAuMCA8NC4wLjAiCiAKQEAgLTgzMDYsNyArODYyMyw3 IEBAIHNjaGVtYS11dGlsc0BeMS4wLjA6CiAgICAgYWp2LWVycm9ycyAiXjEuMC4wIgogICAgIGFq di1rZXl3b3JkcyAiXjMuMS4wIgogCi1zY2hlbWEtdXRpbHNAXjIuNi42Ogorc2NoZW1hLXV0aWxz QF4yLjAuMSwgc2NoZW1hLXV0aWxzQF4yLjYuNSwgc2NoZW1hLXV0aWxzQF4yLjYuNjoKICAgdmVy c2lvbiAiMi43LjEiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3Nj aGVtYS11dGlscy8tL3NjaGVtYS11dGlscy0yLjcuMS50Z3ojMWNhNGYzMmQxYjI0YzU5MGMyMDNi OGU3YTUwYmYwZWE0Y2QzOTRkNyIKICAgaW50ZWdyaXR5IHNoYTUxMi1TSGlOdE1PVUdXQlFKd3pJ U2lWWUt1ODJHaVY0UVlHZVBwM29kbFkxdHVLTzdnUHRwaEFUNVIvcHkwZkE2eHRiZ0xML1J2dEpa blU5YjhzMEYxcTBYZz09CkBAIC04NDcyLDcgKzg3ODksNyBAQCBzaGltLWxvYWRlckBeMS4wLjE6 CiAgICAgcHJlY29uZCAiXjAuMi4zIgogICAgIHdlYnBhY2stc291cmNlcyAiXjAuMi4zIgogCi1z aWRlLWNoYW5uZWxAXjEuMC4yOgorc2lkZS1jaGFubmVsQF4xLjAuMiwgc2lkZS1jaGFubmVsQF4x LjAuMzoKICAgdmVyc2lvbiAiMS4wLjMiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlh cm5wa2cuY29tL3NpZGUtY2hhbm5lbC8tL3NpZGUtY2hhbm5lbC0xLjAuMy50Z3ojY2RjNDZiMDU3 NTUwYmJhYjYzNzA2MjEwODM4ZGY1ZDRjMTk1MTljMyIKICAgaW50ZWdyaXR5IHNoYTUxMi1BNitC eWhsTGtrc0ZvVWVwc0d4Zmo1eDFnVFNycytPeWRzUnB0VXhlTkNhYlFwQ0ZVdmN3SWN6Z09pZ0k4 dmhZL09KQ25QbnlFOXJHaXdndnI5Y1MxZz09CkBAIC04Njk4LDkgKzkwMTUsOSBAQCBzcGR4LWV4 cHJlc3Npb24tcGFyc2VAXjMuMC4wOgogICAgIHNwZHgtbGljZW5zZS1pZHMgIl4zLjAuMCIKIAog c3BkeC1saWNlbnNlLWlkc0BeMy4wLjA6Ci0gIHZlcnNpb24gIjMuMC42IgotICByZXNvbHZlZCAi aHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9zcGR4LWxpY2Vuc2UtaWRzLy0vc3BkeC1saWNl bnNlLWlkcy0zLjAuNi50Z3ojYzgwNzU3MzgzYzI4YWJmNzI5Njc0NDk5OGNiYzEwNmFlOGI4NTRj ZSIKLSAgaW50ZWdyaXR5IHNoYTUxMi0rb3JRSzgza3lNdmEzV3lQZjU5azErWTUyNWNzajVKZWpp Y1d1dDU1emVUV0FOdU4xN3FTaVNMVVhXdHpIZU5XT1JTdlQ3R0xESi9FL1hpSVdvWEJUdz09Cisg IHZlcnNpb24gIjMuMC43IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNv bS9zcGR4LWxpY2Vuc2UtaWRzLy0vc3BkeC1saWNlbnNlLWlkcy0zLjAuNy50Z3ojZTljMThhNDEw ZTVlZDdlMTI0NDJhNTQ5ZmJkOGFmYTc2NzAzOGQ2NSIKKyAgaW50ZWdyaXR5IHNoYTUxMi1VK01U RU9PMEFpRHp4d0Z2b2E0SlZuTVY2bVpsSktrMnNCTHQ5MHM3RzBHZDBNbGtuYzdreEVuM251RFBO WlJ0YTdPMnV5OG9MY1pMVlQrNHNxTlpIUT09CiAKIHNwbGl0LXN0cmluZ0BeMy4wLjEsIHNwbGl0 LXN0cmluZ0BeMy4wLjI6CiAgIHZlcnNpb24gIjMuMS4wIgpAQCAtODc1Myw2ICs5MDcwLDExIEBA IHN0YWJsZUBeMC4xLjg6CiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29t L3N0YWJsZS8tL3N0YWJsZS0wLjEuOC50Z3ojODM2ZWIzYzgzODJmZTI5MzZmZWFmNTQ0NjMxMDE3 Y2U3ZDQ3YTNjZiIKICAgaW50ZWdyaXR5IHNoYTUxMi1qaTlxeFJuT1ZmY3VMRHlTajlxemhHU0VG Vm9ieXQxa0lPU2tqMXFaellMenE3VG9zL29VVVd2b3RVUFFMbHJzaWRxc0s2dEJIODlCYzlrTDV6 SEE2dz09CiAKK3N0YWNrYmx1ci1jYW52YXNAXjIuMC4wOgorICB2ZXJzaW9uICIyLjQuMCIKKyAg cmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vc3RhY2tibHVyLWNhbnZhcy8t L3N0YWNrYmx1ci1jYW52YXMtMi40LjAudGd6IzJiMmViYTkxMGNiNDZmNmZlYWU5MThlMWM0MDJm ODYzZDYwMmMwMWIiCisgIGludGVncml0eSBzaGE1MTItWitIaXhmZ1lWMHNzM0MzNDJEeFB3YytV dk4xU1lXcW96N1dzaTN4RURXRW5hQmtTQ0wzRXkyMWdGNGlvK1dsTG04L1JJclNuQ3JEQklFY0g0 TytxNVE9PQorCiBzdGF0aWMtZXh0ZW5kQF4wLjEuMToKICAgdmVyc2lvbiAiMC4xLjIiCiAgIHJl c29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3N0YXRpYy1leHRlbmQvLS9zdGF0 aWMtZXh0ZW5kLTAuMS4yLnRneiM2MDgwOWMzOWNiZmY1NTMzNzIyNmZkNWUwYjUyMGYzNDFmMWZi NWM2IgpAQCAtODgwMSw2ICs5MTIzLDE2IEBAIHN0cmVhbS1odHRwQF4yLjAuMCwgc3RyZWFtLWh0 dHBAXjIuNy4yOgogICAgIHRvLWFycmF5YnVmZmVyICJeMS4wLjAiCiAgICAgeHRlbmQgIl40LjAu MCIKIAorc3RyZWFtLWh0dHBAXjMuMC4wOgorICB2ZXJzaW9uICIzLjEuMSIKKyAgcmVzb2x2ZWQg Imh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vc3RyZWFtLWh0dHAvLS9zdHJlYW0taHR0cC0z LjEuMS50Z3ojMDM3MGE4MDE3Y2Y4ZDA1MGI5YTg1NTRhZmU2MDhmMDQzZWFmZjU2NCIKKyAgaW50 ZWdyaXR5IHNoYTUxMi1TN09xYVl1MEVrRnBnZUdGYi9OUE9vUEx4RmtvN1RQcXRFZUZnNURYUEI0 di9LRVRIRzBMbjZmUkZyTmV6b2VscGFES215Y0VtbVo4MWNDOURBd2dZZz09CisgIGRlcGVuZGVu Y2llczoKKyAgICBidWlsdGluLXN0YXR1cy1jb2RlcyAiXjMuMC4wIgorICAgIGluaGVyaXRzICJe Mi4wLjQiCisgICAgcmVhZGFibGUtc3RyZWFtICJeMy42LjAiCisgICAgeHRlbmQgIl40LjAuMiIK Kwogc3RyZWFtLXNoaWZ0QF4xLjAuMDoKICAgdmVyc2lvbiAiMS4wLjEiCiAgIHJlc29sdmVkICJo dHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3N0cmVhbS1zaGlmdC8tL3N0cmVhbS1zaGlmdC0x LjAuMS50Z3ojZDcwODgyODE1NTlhYjI3Nzg0MjQyNzliMDg3N2RhM2MzOTJkNWEzZCIKQEAgLTg4 NTgsNDAgKzkxOTAsNDIgQEAgc3RyaW5nLnByb3RvdHlwZS5jb2RlcG9pbnRhdEBeMC4yLjA6CiAg IGludGVncml0eSBzaGE1MTItMmNCVkNqNkk0SU92RW5qZ08vaFdxWGpxQkdzWSt6d1BtSGwxMlNy azlJWFNaNTZKd3dteSs2NlhPNUl1dC9vUVZSN3Q1aWhZZExCMEdNYTRhbEVVY2c9PQogCiBzdHJp bmcucHJvdG90eXBlLm1hdGNoYWxsQF40LjAuMjoKLSAgdmVyc2lvbiAiNC4wLjIiCi0gIHJlc29s dmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3N0cmluZy5wcm90b3R5cGUubWF0Y2hh bGwvLS9zdHJpbmcucHJvdG90eXBlLm1hdGNoYWxsLTQuMC4yLnRneiM0OGJiNTEwMzI2ZmI5ZmRl YjZhMzNjZWFhODFhNmVhMDRlZjc2NDhlIgotICBpbnRlZ3JpdHkgc2hhNTEyLU4vanA2TzVmTWY5 b3MwSlUzRTcyUWhmNTkwUlNSWlUvdW5nc0wvcUpVWVZUTnY3aFRHMFAvZGJQanhJTlZOOWpwc2N1 M256WXdLRVNVM1AzUlk1dE9nPT0KKyAgdmVyc2lvbiAiNC4wLjMiCisgIHJlc29sdmVkICJodHRw czovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3N0cmluZy5wcm90b3R5cGUubWF0Y2hhbGwvLS9zdHJp bmcucHJvdG90eXBlLm1hdGNoYWxsLTQuMC4zLnRneiMyNDI0MzM5OWJjMzFiMGE0OWQxOWUyYjc0 MTcxYTE1NjUzZWM5OTZhIgorICBpbnRlZ3JpdHkgc2hhNTEyLU9CeFlEQTJpZlpRMmUxM2NQODJk V0ZNYUNWOUNHRjhHem1ONGZsakJWdzVPNXdlcDBsdTRnYWNtMU9MNk1qUk9vVW5COFZia1dSVGhx a1YyWUZMTnh3PT0KICAgZGVwZW5kZW5jaWVzOgorICAgIGNhbGwtYmluZCAiXjEuMC4wIgogICAg IGRlZmluZS1wcm9wZXJ0aWVzICJeMS4xLjMiCi0gICAgZXMtYWJzdHJhY3QgIl4xLjE3LjAiCisg ICAgZXMtYWJzdHJhY3QgIl4xLjE4LjAtbmV4dC4xIgogICAgIGhhcy1zeW1ib2xzICJeMS4wLjEi CiAgICAgaW50ZXJuYWwtc2xvdCAiXjEuMC4yIgogICAgIHJlZ2V4cC5wcm90b3R5cGUuZmxhZ3Mg Il4xLjMuMCIKLSAgICBzaWRlLWNoYW5uZWwgIl4xLjAuMiIKKyAgICBzaWRlLWNoYW5uZWwgIl4x LjAuMyIKIAogc3RyaW5nLnByb3RvdHlwZS50cmltQF4xLjIuMToKLSAgdmVyc2lvbiAiMS4yLjIi Ci0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3N0cmluZy5wcm90b3R5 cGUudHJpbS8tL3N0cmluZy5wcm90b3R5cGUudHJpbS0xLjIuMi50Z3ojZjUzOGQwYmFjZDk4ZmM0 Mjk3ZjBiZWY2NDUyMjZkNWFhZWJmNTlmMyIKLSAgaW50ZWdyaXR5IHNoYTUxMi1iNXlyYmwzQlhJ akhhdTlQcms3VTBSUlljVVlkTjR3R1NWYXFvQlFTNTBDQ0UzS0J1WVUwVFlSTlBGQ1A3YVZvTk1Y ODdIS1RoZE1SVklQM2dpY2xLZz09CisgIHZlcnNpb24gIjEuMi4zIgorICByZXNvbHZlZCAiaHR0 cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS9zdHJpbmcucHJvdG90eXBlLnRyaW0vLS9zdHJpbmcu cHJvdG90eXBlLnRyaW0tMS4yLjMudGd6I2QyM2EyMmZkZTAxYzFlNjU3MWE3ZmFkY2I5YmUxMWRl Y2Q4MDYxYTciCisgIGludGVncml0eSBzaGE1MTItMTZJTDlwSUJBNWFzTk9TdWtQZnhYMlc2OEJh QnZ4eWlSSzE2SDNSQS9sV1c5QkRvc2grdzdmK0xob21QSHBYSjgyUUVlN3c3L3JZL1MxQ1Y5N3Jh TGc9PQogICBkZXBlbmRlbmNpZXM6CisgICAgY2FsbC1iaW5kICJeMS4wLjAiCiAgICAgZGVmaW5l LXByb3BlcnRpZXMgIl4xLjEuMyIKLSAgICBlcy1hYnN0cmFjdCAiXjEuMTguMC1uZXh0LjAiCisg ICAgZXMtYWJzdHJhY3QgIl4xLjE4LjAtbmV4dC4xIgogCiBzdHJpbmcucHJvdG90eXBlLnRyaW1l bmRAXjEuMC4xOgotICB2ZXJzaW9uICIxLjAuMSIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0 cnkueWFybnBrZy5jb20vc3RyaW5nLnByb3RvdHlwZS50cmltZW5kLy0vc3RyaW5nLnByb3RvdHlw ZS50cmltZW5kLTEuMC4xLnRneiM4NTgxMmE2Yjg0N2FjMDAyMjcwZjU4MDgxNDYwNjRjOTk1ZmI2 OTEzIgotICBpbnRlZ3JpdHkgc2hhNTEyLUxSUHhGVWFUdHBxWXNUZU5LYUZPdzNSNGJ4SXpXT25i UTgzN1FmQnlsbzhqSXh0Y2JLL0Evc01WN1ErT0FWL3ZXbys3czI1cE9FMTBLWVNqYVNPMDZnPT0K KyAgdmVyc2lvbiAiMS4wLjMiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cu Y29tL3N0cmluZy5wcm90b3R5cGUudHJpbWVuZC8tL3N0cmluZy5wcm90b3R5cGUudHJpbWVuZC0x LjAuMy50Z3ojYTIyYmQ1M2NjYTVjN2NmNDRkN2M5ZDVjNzMyMTE4ODczZDZjZDE4YiIKKyAgaW50 ZWdyaXR5IHNoYTUxMi1heUgwcEIrdWYwVTI4Q3RqbEx2TDdOYW9odlIxYW1VdlZaayt5M0RZYjBF eTJQVVY1elBra0t5OStVMW5kVkVJWE84aE5nMThlSXY5Sm50YmlpK2RLdz09CiAgIGRlcGVuZGVu Y2llczoKKyAgICBjYWxsLWJpbmQgIl4xLjAuMCIKICAgICBkZWZpbmUtcHJvcGVydGllcyAiXjEu MS4zIgotICAgIGVzLWFic3RyYWN0ICJeMS4xNy41IgogCiBzdHJpbmcucHJvdG90eXBlLnRyaW1z dGFydEBeMS4wLjE6Ci0gIHZlcnNpb24gIjEuMC4xIgotICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdp c3RyeS55YXJucGtnLmNvbS9zdHJpbmcucHJvdG90eXBlLnRyaW1zdGFydC8tL3N0cmluZy5wcm90 b3R5cGUudHJpbXN0YXJ0LTEuMC4xLnRneiMxNGFmNmQ5ZjM0YjA1M2Y3Y2ZjODliNzJmOGYyZWUx NGI5MDM5YTU0IgotICBpbnRlZ3JpdHkgc2hhNTEyLVh4Wm4rUXB2ckJJMUZPY2c2ZElweFVQZ1dD UHVOWHZNRDcyYWFSYVVRdjFlRDRlL1F5OGkvaEZUZTBCVW1ENjBwL1FBNmJoMWF2bXVQVGZOanFW V1J3PT0KKyAgdmVyc2lvbiAiMS4wLjMiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlh cm5wa2cuY29tL3N0cmluZy5wcm90b3R5cGUudHJpbXN0YXJ0Ly0vc3RyaW5nLnByb3RvdHlwZS50 cmltc3RhcnQtMS4wLjMudGd6IzliNGNiNTkwZTEyM2JiMzY1NjQ0MDFkNTk4MjQyOThkZTUwZmQ1 YWEiCisgIGludGVncml0eSBzaGE1MTItb0JJQlV5NWxlYTV0dDBvdnRPRmlFUWFCa29CQmt5Smha WHpKWXJTbURvNUlVVXFiT1B2VmV6dVJzL2FnQklkWjJwMkVvMUZENmJEOVVTeUJMZmwzeGc9PQog ICBkZXBlbmRlbmNpZXM6CisgICAgY2FsbC1iaW5kICJeMS4wLjAiCiAgICAgZGVmaW5lLXByb3Bl cnRpZXMgIl4xLjEuMyIKLSAgICBlcy1hYnN0cmFjdCAiXjEuMTcuNSIKIAogc3RyaW5nX2RlY29k ZXJAXjEuMC4wLCBzdHJpbmdfZGVjb2RlckBeMS4xLjE6CiAgIHZlcnNpb24gIjEuMy4wIgpAQCAt OTAyMSw3ICs5MzU1LDcgQEAgc3VwcG9ydHMtY29sb3JAXjcuMC4wLCBzdXBwb3J0cy1jb2xvckBe Ny4xLjA6CiAgIGRlcGVuZGVuY2llczoKICAgICBoYXMtZmxhZyAiXjQuMC4wIgogCi1zdmctcGF0 aGRhdGFAXjUuMC4wOgorc3ZnLXBhdGhkYXRhQF41LjAuMCwgc3ZnLXBhdGhkYXRhQF41LjAuNToK ICAgdmVyc2lvbiAiNS4wLjUiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cu Y29tL3N2Zy1wYXRoZGF0YS8tL3N2Zy1wYXRoZGF0YS01LjAuNS50Z3ojNjVlOGQ3NjU2NDJiYTE1 ZmUxNTQzNDQ0NDA4N2QwODJiYzUyNmIyOSIKICAgaW50ZWdyaXR5IHNoYTUxMi1UQUF2TE5TRTNm RWh5bC9EYTE5SldmTUFkaFNYVFlldmlYc0xTb0RUMVVNNzZBRGo1bmR3QVBYMUZLUUVnQi9nRk1Q YXZPeTZ0T3FmYWxYS1VpWHJvdz09CkBAIC05MTM0LDI0ICs5NDY4LDI0IEBAIHRlbXBmaWxlQF4y LjAuMDoKICAgICB1dWlkICJeMy4wLjEiCiAKIHRlbXB1c2RvbWludXMtYm9vdHN0cmFwLTRAXjUu MS4yOgotICB2ZXJzaW9uICI1LjEuMiIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFy bnBrZy5jb20vdGVtcHVzZG9taW51cy1ib290c3RyYXAtNC8tL3RlbXB1c2RvbWludXMtYm9vdHN0 cmFwLTQtNS4xLjIudGd6IzNjOTkwNmNhNmU1ZDU2M2ZhYTBiODFiMmZkYzZhYTc5Y2FkOWMwYmUi Ci0gIGludGVncml0eSBzaGE1MTIta3NEOHFjNHdPSmVFMTl3dnJ5WG1FcFJ6TVVTWnU0d1NPZEc2 ektTbjhsNGNjYWQxNjI0OUtPWDFqMENjY3lacHV1RVMvbjRGTHFMQVVCK0RkMUxUQkE9PQorICB2 ZXJzaW9uICI1LjM5LjAiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29t L3RlbXB1c2RvbWludXMtYm9vdHN0cmFwLTQvLS90ZW1wdXNkb21pbnVzLWJvb3RzdHJhcC00LTUu MzkuMC50Z3ojZjEzZGNmZWM2YzQxYjM3YzVmZTUwOWYwOGJkNTEzNTkwYzY0NDExZiIKKyAgaW50 ZWdyaXR5IHNoYTUxMi12WW5rbVFZUXE0K0E1MVd5UmMvNmUwM2VNMEJIRG9QYXhkNTU2SzFwZDRO aHIwZUdlQjMrTWk5YiszQ0R4NDE4OWZnM2dRbHJzS3pnSmlIUFJ3U1gzUT09CiAgIGRlcGVuZGVu Y2llczoKLSAgICBib290c3RyYXAgIj49NC4xLjIiCi0gICAganF1ZXJ5ICJeMy4wIgotICAgIG1v bWVudCAiXjIuMjIuMiIKLSAgICBtb21lbnQtdGltZXpvbmUgIl4wLjUuMTEiCi0gICAgcG9wcGVy LmpzICJeMS4xNC4zIgorICAgIGJvb3RzdHJhcCAiXjQuNS4yIgorICAgIGpxdWVyeSAiXjMuNS4x IgorICAgIG1vbWVudCAiXjIuMjkuMCIKKyAgICBtb21lbnQtdGltZXpvbmUgIl4wLjUuMzEiCisg ICAgcG9wcGVyLmpzICJeMS4xNi4xIgogCiB0ZW1wdXNkb21pbnVzLWNvcmVAXjUuMC4zOgotICB2 ZXJzaW9uICI1LjAuMyIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20v dGVtcHVzZG9taW51cy1jb3JlLy0vdGVtcHVzZG9taW51cy1jb3JlLTUuMC4zLnRneiM4MDg2NDJl NDdhODNmNDVkN2VmMThjMTU5N2ZkN2IxZDQxM2Q2OWU1IgotICBpbnRlZ3JpdHkgc2hhNTEyLTUy bENsbVUzM2diNko2SS9TOXVHRHJnUXdjY3EzWXc5U2xaZXJUZ0dMT3pPQjNTYzlwZ0lWQmlyZlBN c01jeDhuUHNnNm1BNUl0RkFILzVCWmlRVGhnPT0KKyAgdmVyc2lvbiAiNS4xOS4wIgorICByZXNv bHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS90ZW1wdXNkb21pbnVzLWNvcmUvLS90 ZW1wdXNkb21pbnVzLWNvcmUtNS4xOS4wLnRneiNjY2JkMmMzNTEwOWIwYTRiOTZjNjE1MTNlNTNl MDE3NWVjNDg5NmJkIgorICBpbnRlZ3JpdHkgc2hhNTEyLTdhNG9CUXc0Y2p6NkM4N0JMUmczS0hW dnpwblBsblJUa3VEWjdTd2NKYXlRUTRRZ09yeVg1dTZ3ajBxMDdUWGhndE1RTENudFpPNm5WaEhJ S1BhZVV3PT0KICAgZGVwZW5kZW5jaWVzOgotICAgIGpxdWVyeSAiXjMuMCIKLSAgICBtb21lbnQg Il4yLjIyLjIiCi0gICAgbW9tZW50LXRpbWV6b25lICJeMC40LjAiCisgICAganF1ZXJ5ICJeMy41 LjAiCisgICAgbW9tZW50ICJ+Mi4yNC4wIgorICAgIG1vbWVudC10aW1lem9uZSAiXjAuNS4yOCIK IAogdGVyc2VyLXdlYnBhY2stcGx1Z2luQF4xLjQuMzoKICAgdmVyc2lvbiAiMS40LjUiCkBAIC05 MjIzLDkgKzk1NTcsOSBAQCB0aW1lcnMtYnJvd3NlcmlmeUBeMS4wLjE6CiAgICAgcHJvY2VzcyAi fjAuMTEuMCIKIAogdGltZXJzLWJyb3dzZXJpZnlAXjIuMC40OgotICB2ZXJzaW9uICIyLjAuMTEi Ci0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3RpbWVycy1icm93c2Vy aWZ5Ly0vdGltZXJzLWJyb3dzZXJpZnktMi4wLjExLnRneiM4MDBiMWYzZWVlMjcyZTViYzUzZWU0 NjVhMDRkMGU4MDRjMzEyMTFmIgotICBpbnRlZ3JpdHkgc2hhNTEyLTYwYVY2c2dKNVlFYnpVZG45 YzhrWUdJcU91YlBvVWRxUUN1bDNTQkFzUkNaNDBzNlk1Y01jclc0ZHQzL2svRXNiTFZKTmw5bjZW ejNmVGMrazJHZUtRPT0KKyAgdmVyc2lvbiAiMi4wLjEyIgorICByZXNvbHZlZCAiaHR0cHM6Ly9y ZWdpc3RyeS55YXJucGtnLmNvbS90aW1lcnMtYnJvd3NlcmlmeS8tL3RpbWVycy1icm93c2VyaWZ5 LTIuMC4xMi50Z3ojNDRhNDVjMTFmYmY0MDdmMzRmOTdiY2NkMTU3N2M2NTIzNjFiMDBlZSIKKyAg aW50ZWdyaXR5IHNoYTUxMi05cGhsNzZDcW02RmhTWDlYZTFaVUFNTHRtMUJMa0tqMlFkNUFweVdr WHpzTVJhQTdkZ3I4MWtmNHdKbVFmL2hBdmc4RUV5SnhEbzNkdS8wS2xoUGlLUT09CiAgIGRlcGVu ZGVuY2llczoKICAgICBzZXRpbW1lZGlhdGUgIl4xLjAuNCIKIApAQCAtOTIzNCw2ICs5NTY4LDEz IEBAIHRpbXNvcnRAXjAuMy4wOgogICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtn LmNvbS90aW1zb3J0Ly0vdGltc29ydC0wLjMuMC50Z3ojNDA1NDExYThlN2U2MzM5ZmU2NGRiOWEy MzRkZTExZGMzMWUwMmJkNCIKICAgaW50ZWdyaXR5IHNoYTEtUUZRUnFPZm1NNS9tVGJtaU5ONFIz REhnSzlRPQogCit0aXBweS5qc0BeNi4yLjA6CisgIHZlcnNpb24gIjYuMi43IgorICByZXNvbHZl ZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS90aXBweS5qcy8tL3RpcHB5LmpzLTYuMi43 LnRneiM2MmZiMzRlZGEyM2Y3ZDc4MTUxZGRjYTkyMmI2MjgxOGMxYWI5ODY5IgorICBpbnRlZ3Jp dHkgc2hhNTEyLWsra1dGOUFKejV4TFFIQmkzSy9YbG1KaXl1K3A5Z3NDeWM1cVpoeHhHYUpXSVc4 U01qdzFSK0M3c2FVblAzM0lNOGdVaERBMnhYLy9lalJTd3FSMHRBPT0KKyAgZGVwZW5kZW5jaWVz OgorICAgICJAcG9wcGVyanMvY29yZSIgIl4yLjQuNCIKKwogdG1wQDAuMC4zMywgdG1wQDAuMC54 LCB0bXBAXjAuMC4zMzoKICAgdmVyc2lvbiAiMC4wLjMzIgogICByZXNvbHZlZCAiaHR0cHM6Ly9y ZWdpc3RyeS55YXJucGtnLmNvbS90bXAvLS90bXAtMC4wLjMzLnRneiM2ZDM0MzM1ODg5NzY4ZDIx YjJiY2RhMGFhMjc3Y2VkM2IxYmZhZGY5IgpAQCAtOTMzMSw5ICs5NjcyLDkgQEAgdHJ5ZXJAXjEu MC4xOgogICBpbnRlZ3JpdHkgc2hhNTEyLWMzemF5Yjgva1dXcHljV1lnODdQNzFFMVMxWkw2YjZJ SnhmYjVmdnNVZ3NmMFMyTVZHYURoRFhYakRNcGRDcGZXWHFwdGMrNG1Yd21peTF5cFhxUkFBPT0K IAogdHNsaWJAXjEuOS4wOgotICB2ZXJzaW9uICIxLjE0LjAiCi0gIHJlc29sdmVkICJodHRwczov L3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3RzbGliLy0vdHNsaWItMS4xNC4wLnRneiNkNjI0OTgzZjNl MmM1ZTBiNTUzMDdjM2RkNmM4NmFjZDczNzYyMmM2IgotICBpbnRlZ3JpdHkgc2hhNTEyLStadzVs dTBEOXR2Qk1qR1A4THB2TWIwdTJXVzJRVjN5K0Q4bU82SitjTnpDWUlONHNWeTQzQmY5dmw5Mm5x RmFodXROMEk4ekhhN2NjNHZpaElzaG53PT0KKyAgdmVyc2lvbiAiMS4xNC4xIgorICByZXNvbHZl ZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS90c2xpYi8tL3RzbGliLTEuMTQuMS50Z3oj Y2YyZDM4YmRjMzRhMTM0YmNhZjEwOTFjNDFmNjYxOWUyZjY3MmQwMCIKKyAgaW50ZWdyaXR5IHNo YTUxMi1YbmkzNU5LempnTXJ3ZXZ5c0hUQ0FydExEcFB2eWU4elYvMEU0RXlZbjQzUDcvN3F2UXdQ aDlCR2tIZXdiTXVsVm50YmlnbWNUN3JkWDNCTm85d1JKZz09CiAKIHR0ZjJ3b2ZmQDIuMC4xOgog ICB2ZXJzaW9uICIyLjAuMSIKQEAgLTk0MTEsOSArOTc1Miw5IEBAIHVuZGVjbGFyZWQtaWRlbnRp ZmllcnNAXjEuMS4yOgogICAgIHh0ZW5kICJeNC4wLjEiCiAKIHVuZGVyc2NvcmVAPj0xLjcuMCwg dW5kZXJzY29yZUA+PTEuOC4zLCB1bmRlcnNjb3JlQF4xLjguMCwgdW5kZXJzY29yZUBeMS44LjMs IHVuZGVyc2NvcmVAXjEuOS4xOgotICB2ZXJzaW9uICIxLjExLjAiCi0gIHJlc29sdmVkICJodHRw czovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3VuZGVyc2NvcmUvLS91bmRlcnNjb3JlLTEuMTEuMC50 Z3ojZGQ3YzIzYTE5NWRiMzQyNjcxODYwNDQ2NDk4NzBmZjFiYWI1OTI5ZSIKLSAgaW50ZWdyaXR5 IHNoYTUxMi14WTk2U3NOM05BNDYxcUlSS1ovK3FveDM3WVhQdFNCc3dNR2ZpTnB0cit3cnQ2ZHM0 SGFNdzIzVFA2MTJmRXlHZWtSRTZMTlJpTFlyL2FxYkhYTmVkdz09CisgIHZlcnNpb24gIjEuMTIu MCIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vdW5kZXJzY29yZS8t L3VuZGVyc2NvcmUtMS4xMi4wLnRneiM0ODE0OTQwNTUxZmM4MDU4N2NlZjc4NDBkMWViYjBmMTY0 NTNiZTk3IgorICBpbnRlZ3JpdHkgc2hhNTEyLTIxclF6c3MvWFBNam9sVGlJZXpTdTNKQWpnYWdY S1JPdE5yWUZFT1dLMTA5cVkxVXYydFZqUFRaMWNpMkhndlFEQTE2Z0hZU3RoUUlKZkIrWElkL3JR PT0KIAogdW5pY29kZS1jYW5vbmljYWwtcHJvcGVydHktbmFtZXMtZWNtYXNjcmlwdEBeMS4wLjQ6 CiAgIHZlcnNpb24gIjEuMC40IgpAQCAtOTYwOCw5ICs5OTQ5LDkgQEAgdXVpZEBeMy4wLjEsIHV1 aWRAXjMuMy4yOgogICBpbnRlZ3JpdHkgc2hhNTEyLUhqU0RSdzZnWkU1Sk1nZ2N0SEJjalZhazA4 K0tFVmhTSWlEekZuVDlTOWFlZ21wODVTL2JSZUJWVGI0UVRGYVJOcHRKOWt1WWFOaG5iTkVPa2JL Yi9BPT0KIAogdjgtY29tcGlsZS1jYWNoZUBeMi4xLjE6Ci0gIHZlcnNpb24gIjIuMS4xIgotICBy ZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS92OC1jb21waWxlLWNhY2hlLy0v djgtY29tcGlsZS1jYWNoZS0yLjEuMS50Z3ojNTRiYzNjZGQ0MzMxN2JjYTkxZTM1ZGNhZjMwNWIx YTcyMzdkZTc0NSIKLSAgaW50ZWdyaXR5IHNoYTUxMi04T1E5Q0wrVld5dDNKU3RqN0hYNy9jaVRM MlYzUmwxV2Y1T0wrU05UbTB5SzFLdnRSZVZ1bGtzeWVSbkNBTkhIdVV4SGxRaWcrSkpEbFVoQnQx TlFEUT09CisgIHZlcnNpb24gIjIuMi4wIgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55 YXJucGtnLmNvbS92OC1jb21waWxlLWNhY2hlLy0vdjgtY29tcGlsZS1jYWNoZS0yLjIuMC50Z3oj OTQ3MWVmYTNlZjkxMjhkMmY3YzZhN2NhMzljNGRkNmI1MDU1YjEzMiIKKyAgaW50ZWdyaXR5IHNo YTUxMi1nVHBSNVhRTktGd09kNGNseGZuaGFxdmZxTXBxRXdyNHRPdEN5ejRNdFlaWDJKWWhmcjFK dkJGS2RTKzdLLzlyZnBaUjNWTFgrWVdCYktveENnUzQzUT09CiAKIHZhbGlkYXRlLW5wbS1wYWNr YWdlLWxpY2Vuc2VAXjMuMC4xOgogICB2ZXJzaW9uICIzLjAuNCIKQEAgLTk2NjAsMjMgKzEwMDAx LDIzIEBAIHdhdGNoaWZ5QH4zLjExLjE6CiAgICAgdGhyb3VnaDIgIl4yLjAuMCIKICAgICB4dGVu ZCAiXjQuMC4wIgogCi13YXRjaHBhY2stY2hva2lkYXIyQF4yLjAuMDoKLSAgdmVyc2lvbiAiMi4w LjAiCi0gIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3dhdGNocGFjay1j aG9raWRhcjIvLS93YXRjaHBhY2stY2hva2lkYXIyLTIuMC4wLnRneiM5OTQ4YTE4NjZjYmJkNmNi ODI0ZGVhMTNhN2VkNjkxZjZjOGRkZmYwIgotICBpbnRlZ3JpdHkgc2hhNTEyLTlUeWZPeU4vekxV YkEyODh3WjhJc01aKzZjYnp2c055RXpTQnA2ZS96a2lmaTZ4eGJsOFNtUS9DeFFxMzJrOE5OcXJk VkVWVVZTRWY1Nkw0clEvWnhBPT0KK3dhdGNocGFjay1jaG9raWRhcjJAXjIuMC4xOgorICB2ZXJz aW9uICIyLjAuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20vd2F0 Y2hwYWNrLWNob2tpZGFyMi8tL3dhdGNocGFjay1jaG9raWRhcjItMi4wLjEudGd6IzM4NTAwMDcy ZWU2ZWNlNjZmMzc2OTkzNjk1MGVhMTc3MWJlMWM5NTciCisgIGludGVncml0eSBzaGE1MTItbkNG ZkJJUEtyNVNoNjFzNExQcHkxV3RmaTBIRThpc0ozZDJZYjUvUHB3MlAyQi8zZVZTRUJqS2ZOMGZt SEpTSzE0KzMxS3dNS21jcnpzMkdNNFAwV3c9PQogICBkZXBlbmRlbmNpZXM6CiAgICAgY2hva2lk YXIgIl4yLjEuOCIKIAogd2F0Y2hwYWNrQF4xLjcuNDoKLSAgdmVyc2lvbiAiMS43LjQiCi0gIHJl c29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3dhdGNocGFjay8tL3dhdGNocGFj ay0xLjcuNC50Z3ojNmU5ZGE1M2IzYzgwYmIyZDY1MDgxODhmNWIyMDA0MTA4NjZjZDMwYiIKLSAg aW50ZWdyaXR5IHNoYTUxMi1hV0FnVFc0TW9TSnpaUEFpY2xqa08xaHNpMW9Lai9SUnEvT0pRaDJQ S0kyVUtMMDRjMkJzK01CT0IrQkJBQkhUWEpwZjltQ3dITjdBTkN2WXN2WTJzZz09CisgIHZlcnNp b24gIjEuNy41IgorICByZXNvbHZlZCAiaHR0cHM6Ly9yZWdpc3RyeS55YXJucGtnLmNvbS93YXRj aHBhY2svLS93YXRjaHBhY2stMS43LjUudGd6IzEyNjdlNmM1NWUwYjliNWJlNDRjMjAyM2FlZDU0 MzdhMmMyNmM0NTMiCisgIGludGVncml0eSBzaGE1MTItOVAzTVdrNlNyS2pIc0drTFQyS0hYZFEv OVNOa3lvSmJhYnhuS09vSmVwc3ZKakpHOHVZVFIzeVRQeFBRdk5ESTN3NE56MXhuRTBUTEhLNFJJ VmUvTVE9PQogICBkZXBlbmRlbmNpZXM6CiAgICAgZ3JhY2VmdWwtZnMgIl40LjEuMiIKICAgICBu ZW8tYXN5bmMgIl4yLjUuMCIKICAgb3B0aW9uYWxEZXBlbmRlbmNpZXM6CiAgICAgY2hva2lkYXIg Il4zLjQuMSIKLSAgICB3YXRjaHBhY2stY2hva2lkYXIyICJeMi4wLjAiCisgICAgd2F0Y2hwYWNr LWNob2tpZGFyMiAiXjIuMC4xIgogCiAid2ViY2FiaW4tZG9ja2VyQGdpdCtodHRwczovL2dpdGh1 Yi5jb20vRW50ZXJwcmlzZURCL3djRG9ja2VyLyNjNGEzMzk4Yjg5NTg4NDA4ZGM3MDU4OTU2NzVi Y2U3YmQ3NjYwZDM2IjoKICAgdmVyc2lvbiAiMi4yLjQtZGV2IgpAQCAtOTcwNiw3ICsxMDA0Nyw3 IEBAIHdlYnBhY2stYnVuZGxlLWFuYWx5emVyQF4zLjUuMToKICAgICBvcGVuZXIgIl4xLjUuMSIK ICAgICB3cyAiXjYuMC4wIgogCi13ZWJwYWNrLWNsaUBeMy4yLjM6Cit3ZWJwYWNrLWNsaUBeMy4z LjExOgogICB2ZXJzaW9uICIzLjMuMTIiCiAgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlh cm5wa2cuY29tL3dlYnBhY2stY2xpLy0vd2VicGFjay1jbGktMy4zLjEyLnRneiM5NGU5YWRhMDgx NDUzY2QwYWE2MDljOTllNTAwMDEyZmQzYWQyZDRhIgogICBpbnRlZ3JpdHkgc2hhNTEyLU5WV0Jh ejlrODM5Wkgvc2ludXJNK0hjRHZKT1RYd1NqWXAxa3UrNVhLZU9DMDN6OHY1UWl0bksveCtsQXhH WEZ5aGRheW9JZi9HT3B2ODV6My94UGFnPT0KQEAgLTk3MjQsOSArMTAwNjUsOSBAQCB3ZWJwYWNr LWNsaUBeMy4yLjM6CiAgICAgeWFyZ3MgIl4xMy4zLjIiCiAKIHdlYnBhY2stZGV2LW1pZGRsZXdh cmVAXjMuNy4wOgotICB2ZXJzaW9uICIzLjcuMiIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0 cnkueWFybnBrZy5jb20vd2VicGFjay1kZXYtbWlkZGxld2FyZS8tL3dlYnBhY2stZGV2LW1pZGRs ZXdhcmUtMy43LjIudGd6IzAwMTljM2RiNzE2ZTNmYTVjZWNiZjY0ZjJhYjg4YTc0YmFiMzMxZjMi Ci0gIGludGVncml0eSBzaGE1MTItMXhDNDJMeGJZb3FMTkFoVjZZelRZYWNpY2dNWlFUcVJkMjdT aW05d241aEpyWDNJNW54WXkxU3hTZDQrZ2pVRnN6MWRRRmoreUVlNnpFVm1Ta2VKanc9PQorICB2 ZXJzaW9uICIzLjcuMyIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBrZy5jb20v d2VicGFjay1kZXYtbWlkZGxld2FyZS8tL3dlYnBhY2stZGV2LW1pZGRsZXdhcmUtMy43LjMudGd6 IzA2MzkzNzJiMTQzMjYyZTJiODRhYjk1ZDNiOTFhNzU5NzA2MWMyYzUiCisgIGludGVncml0eSBz aGE1MTItZGplbGMvekdpejluWmovVTdQVEJpMlZpb3JHSlhFV28vM2x0a1BiRHl4Q1hoaEVYa1cw Y2U5OWZhbGFvazRUUGorQXN4TGlYSlIwRUJPYjB6aDlmS1E9PQogICBkZXBlbmRlbmNpZXM6CiAg ICAgbWVtb3J5LWZzICJeMC40LjEiCiAgICAgbWltZSAiXjIuNC40IgpAQCAtOTc0Myw5ICsxMDA4 NCw5IEBAIHdlYnBhY2stbG9nQF4yLjAuMDoKICAgICB1dWlkICJeMy4zLjIiCiAKIHdlYnBhY2st cmVxdWlyZS1mcm9tQF4xLjguMDoKLSAgdmVyc2lvbiAiMS44LjEiCi0gIHJlc29sdmVkICJodHRw czovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3dlYnBhY2stcmVxdWlyZS1mcm9tLy0vd2VicGFjay1y ZXF1aXJlLWZyb20tMS44LjEudGd6IzE4ZmQ2ZmMxOGYwOTIwYTA5N2E2ZjQzODU1YWMzMzVmNDg2 YmZiMDYiCi0gIGludGVncml0eSBzaGE1MTItaktwci82Q0g2c1czUUg0RTVjZi9VTks0RHBzazRF MXg2SXBpSWplWlE5ck9ocjVqcXBHQ3lGVzZlL0xFRnBKM1U5QXpSdGFVSGdhaFI3UUZRbnR0TFE9 PQorICB2ZXJzaW9uICIxLjguMiIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFybnBr Zy5jb20vd2VicGFjay1yZXF1aXJlLWZyb20vLS93ZWJwYWNrLXJlcXVpcmUtZnJvbS0xLjguMi50 Z3ojZDBjNjgzODU1MzMxNWJiODgwMmY4NzlhYjQzYzI5MzA5ZjVjODBmYiIKKyAgaW50ZWdyaXR5 IHNoYTUxMi1OOWtERk5HTkVubXVNL3JpVW0veU5YaGVmQVVDVUc1MHNWVjUwOW4wV3RDZEtsSWpN WWViVndHc0V1akRLUlJpeTUzOUo4NG9PWmxyWmltOUZKWE5QQT09CiAKIHdlYnBhY2stc291cmNl c0BeMC4yLjM6CiAgIHZlcnNpb24gIjAuMi4zIgpAQCAtOTg4MSw5ICsxMDIyMiw5IEBAIHh0ZW5k QF40LjAuMCwgeHRlbmRAXjQuMC4xLCB4dGVuZEBeNC4wLjIsIHh0ZW5kQH40LjAuMToKICAgaW50 ZWdyaXR5IHNoYTUxMi1MS1lVMWlBWEpYVWdBWG45VVJqaXUrTVdoeVVYSHN2ZnA3bWN1WW05ZFNV S0swL0NqdHJVd0ZBeEQ4Mi9tQ1didExzR2pGSWFkMHdJc29kNHpyVEFFUT09CiAKIHkxOG5AXjQu MC4wOgotICB2ZXJzaW9uICI0LjAuMCIKLSAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0cnkueWFy bnBrZy5jb20veTE4bi8tL3kxOG4tNC4wLjAudGd6Izk1ZWY5NGY4NWVjYzgxZDAwN2MyNjRlMTkw YTEyMGYwYTNjODU2NmIiCi0gIGludGVncml0eSBzaGE1MTItcjlTL1p5WHUvWHU5cTF0WWxwc0xJ c2EzRWVMWFhrMFZ3bHhxVGNGUmZnOUVoTVcrMTdrYnQ5RzBOcmdDbWhHYjV2VDJoeWhKWkxmREd4 KzcrNVVqL3c9PQorICB2ZXJzaW9uICI0LjAuMSIKKyAgcmVzb2x2ZWQgImh0dHBzOi8vcmVnaXN0 cnkueWFybnBrZy5jb20veTE4bi8tL3kxOG4tNC4wLjEudGd6IzhkYjJiODNjMzFjNWQ3NTA5OWJi ODkwYjIzZjMwOTQ4OTFlMjQ3ZDQiCisgIGludGVncml0eSBzaGE1MTItd05jeTROdmpNWUw4Z29n V1dZQU83WkZXRmZIY2JkYkU1N3RaTzhlNGNicGo4dGZVY3dyd3FTbDNhZDhIeHBZV0NkWGNKVUNl S0taUzYyQXYxYWZmd1E9PQogCiB5YWxsaXN0QF4yLjEuMjoKICAgdmVyc2lvbiAiMi4xLjIiCkBA IC05OTAwLDYgKzEwMjQxLDExIEBAIHlhbGxpc3RAXjQuMC4wOgogICByZXNvbHZlZCAiaHR0cHM6 Ly9yZWdpc3RyeS55YXJucGtnLmNvbS95YWxsaXN0Ly0veWFsbGlzdC00LjAuMC50Z3ojOWJiOTI3 OTBkOWMwZWZmZWM2M2JlNzM1MTllMTFhMzUwMTlhM2E3MiIKICAgaW50ZWdyaXR5IHNoYTUxMi0z d2RHaWRaeXE1UEIwODRYTEVTNVRwT1NSQTN3alhBbElXTWh1bTJrUmN2LzQxU24yZW1RMGR5Y1FX NHVaWExlandLdmc2RXN2YmRsVkwrRllFY3Q3QT09CiAKK3lhbWxAXjEuNy4yOgorICB2ZXJzaW9u ICIxLjEwLjAiCisgIHJlc29sdmVkICJodHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3lhbWwv LS95YW1sLTEuMTAuMC50Z3ojM2I1OTNhZGQ5NDQ4NzYwNzdkNGQ2ODNmZWUwMTA4MWJkOWZmZjMx ZSIKKyAgaW50ZWdyaXR5IHNoYTUxMi15cjJpY0k0Z2xZYU5HK0tXT05PRGFweTIvakRkTVNEbnJP TlNqYmxBQmpEOUI0WjVMZ2lpcmNTdDhtOHNSWkZOaTA4a0c5U20wdVNIdEVtUDN6YUVHZz09CisK IHlhcmdzLXBhcnNlckBeMTMuMS4yOgogICB2ZXJzaW9uICIxMy4xLjIiCiAgIHJlc29sdmVkICJo dHRwczovL3JlZ2lzdHJ5Lnlhcm5wa2cuY29tL3lhcmdzLXBhcnNlci8tL3lhcmdzLXBhcnNlci0x My4xLjIudGd6IzEzMGYwOTcwMmViYWVlZjI2NTBkNTRjZTZlM2U1NzA2ZjdhNGZiMzgiCg== --00000000000086ec2b05b74702ac--