Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tSBne-00Eive-7J for pgsql-hackers@arkaria.postgresql.org; Mon, 30 Dec 2024 09:10:58 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tSBnd-00Avac-IU for pgsql-hackers@arkaria.postgresql.org; Mon, 30 Dec 2024 09:10:57 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tSBnc-00AvaM-Sy for pgsql-hackers@lists.postgresql.org; Mon, 30 Dec 2024 09:10:56 +0000 Received: from mail-il1-x134.google.com ([2607:f8b0:4864:20::134]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1tSBnb-001EEA-0F for pgsql-hackers@lists.postgresql.org; Mon, 30 Dec 2024 09:10:55 +0000 Received: by mail-il1-x134.google.com with SMTP id e9e14a558f8ab-3a761a622dcso64885765ab.0 for ; Mon, 30 Dec 2024 01:10:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1735549854; x=1736154654; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=YCSY1kc8cNdWjwRQWuPlxC7qez9esPQ01O4BMa0MNFE=; b=hfNgzQL6uhg4cdqTUTtSaj/JLl1nUwJwOrPoKaz60Wd+ho7wH2HDl4TyrBePA/uuQB V7S0NMPCVMhxBRGBOcnH29A11jbVcjso6GZFrwgmxeh0HYKKnZZMNnSA5nSN/tLPIDog /QtR4lBTj5CgWyEK58y9myHpC8jIfQAfls9O4OnrqpLmhdSQ4Z40Vstq/6b+GMButn8W 7iIYujtUSqITvmy/jUqqgiBgiX1vrZU7BkD265xdXsoyaxJ0SXXzD6mWPLPJH0jHJIKI 9sUKgYL6YLf2biROhM6qcQ7aX4Sg6SBmSeXx+TvaooUZVNYEu2lIixCFA5JoO7DVSLDh GeDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1735549854; x=1736154654; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=YCSY1kc8cNdWjwRQWuPlxC7qez9esPQ01O4BMa0MNFE=; b=wU9FK1iI9GUHw40u/p/B0twn3LrKSfkgsbQUjrHpFSR8PSb6neI9rtNBqvLAwEMgPf vBV8RRrEBzHpbvcQpJZyD5uy1H5g1a+JuTRo15e+1BNEEI81bl2eInJees9uBU5s+sYS ojaoOV00PBTz9h2uk+omSEnOUvzXARgAW7JauCliFGKjNxCF+7QScUq14LWH1wXzCTk7 jV6rCSUbS2tttCMVz1iuHW509UhUyofNPMi3h9xesCmmMOa0/vmNDSvSll6GdiFOT3bA 59AvbqKzbV1OkQGphg6kw080gMcd491ItXivvXPfmjCZd8Q1Wi2qznY0l5p4i+WDTrlO t6gw== X-Gm-Message-State: AOJu0YxOQAwmI6AXCwnyZ+fOXfIBW1yUbNKZWD2KriUpGrVtnBRCA2VG S43/Eus4fmDPDLitPDdt3i2M5iOx4MODjz0HfxuKoDiyu51Ns3waGBnqB9vmy1ceVUJYYGopuWY cYNq9UyopVgw2nBGBe0c4EvQuA+X+1xrH X-Gm-Gg: ASbGncucnKlcDTmgLfL8DSDmALxmb9hfosLG0sa76z6qyLkd8fxZL9hnQoRO/R6V7kK zf7b3P4So5H3fIzzmXaROXF/uWMXAs6ae4IKwCg== X-Google-Smtp-Source: AGHT+IGC40IXA4fKpiZmXBY0dks5/0sfZIACnvK7mQLAUQRnSLtexDUgFSmudHPCFtHgFJ4ohLuB+af1CefhL7DHxZ8= X-Received: by 2002:a05:6e02:1806:b0:3a7:7ee3:108d with SMTP id e9e14a558f8ab-3c2d5c2fb2bmr356167815ab.23.1735549853980; Mon, 30 Dec 2024 01:10:53 -0800 (PST) MIME-Version: 1.0 From: Dean Rasheed Date: Mon, 30 Dec 2024 09:10:42 +0000 Message-ID: Subject: psql: Option to use expanded mode for various meta-commands To: PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000897cda062a79302a" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000897cda062a79302a Content-Type: text/plain; charset="UTF-8" The output from various psql meta-commands such as \df+ can be quite wide, making it hard to read, and there is another patch [1] that will make it even wider. The output is much more readable if expanded mode is used, but it's somewhat inconvenient to keep turning that on and off, if you don't want all other query output in expanded mode. Attached is a rough patch that adds 'x' as an option to all \d* psql meta-commands, which forces the output to be displayed in expanded mode. So, for example, you can type \dfx or \dfx+ (or equivalently \df+x) to show a list of functions in expanded mode. This applies to all \d* meta-commands except a bare \d. That limitation is necessary because \dx already means something else (list extensions). In the case of \d with a pattern, this limitation isn't really new, since that already always uses expanded=off for its output regardless of the current \x setting. However, it does mean that you can't use 'x' with \d without a pattern to get an expanded mode list of all relations. However, the limitation only applies as long as there isn't another character after the \d, so you can type \d+x and it will work the same as \dtvmsE+x, listing all relations in expanded mode. So in practice, this doesn't seem like such a bad limitation, since you're much less likely to need expanded mode with \d without '+'. There are a couple of other similar meta-commands (\l and \z) that I haven't looked at yet, but they should be easy to make work in the same way, if people think this is useful. Regards, Dean [1] https://www.postgresql.org/message-id/flat/20240701220817.483f9b645b95611f8b1f65da@sranhm.sraoss.co.jp --000000000000897cda062a79302a Content-Type: text/x-patch; charset="US-ASCII"; name="psql-meta-cmds-expanded-mode.patch" Content-Disposition: attachment; filename="psql-meta-cmds-expanded-mode.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_m5asojrz0 ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvcHNxbC1yZWYuc2dtbCBiL2RvYy9zcmMvc2dt bC9yZWYvcHNxbC1yZWYuc2dtbAppbmRleCA3MmYzMzQ3ZTUzLi5iMmJhNzc3NmYyIDEwMDY0NAot LS0gYS9kb2Mvc3JjL3NnbWwvcmVmL3BzcWwtcmVmLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3Jl Zi9wc3FsLXJlZi5zZ21sCkBAIC04NjQsNiArODY0LDEzIEBAIHRlc3RkYj0mZ3Q7CiAgICAgc2Ft ZSBsaW5lLgogICAgIDwvcGFyYT4KIAorICAgIDxwYXJhPgorICAgIE1hbnkgb2YgdGhlIG1ldGEt Y29tbWFuZHMgYWxzbyBhbGxvdyA8bGl0ZXJhbD54PC9saXRlcmFsPiB0byBiZSBhcHBlbmRlZAor ICAgIGFzIGFuIG9wdGlvbi4gVGhpcyB3aWxsIGNhdXNlIHRoZSByZXN1bHRzIHRvIGJlIGRpc3Bs YXllZCBpbiBleHBhbmRlZAorICAgIG1vZGUsIGFzIGlmIDxsaXRlcmFsPmV4cGFuZGVkPW9uPC9s aXRlcmFsPiB3ZXJlIGluY2x1ZGVkIGluIHRoZSBsaXN0IG9mCisgICAgPGxpdGVyYWw+XHBzZXQ8 L2xpdGVyYWw+IG9wdGlvbnMuIFNlZSBhbHNvIDxsaXRlcmFsPlx4PC9saXRlcmFsPi4KKyAgICA8 L3BhcmE+CisKICAgICA8cGFyYT4KICAgICBUaGUgZm9sbG93aW5nIG1ldGEtY29tbWFuZHMgYXJl IGRlZmluZWQ6CiAKQEAgLTEyNzIsNyArMTI3OSw3IEBAIFNFTEVDVCAkMSBccGFyc2Ugc3RtdDEK IAogCiAgICAgICA8dmFybGlzdGVudHJ5IGlkPSJhcHAtcHNxbC1tZXRhLWNvbW1hbmQtZCI+Ci0g ICAgICAgIDx0ZXJtPjxsaXRlcmFsPlxkW1MrXSBbIDxsaW5rIGxpbmtlbmQ9ImFwcC1wc3FsLXBh dHRlcm5zIj48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGF0dGVybjwvcmVwbGFjZWFi bGU+PC9saW5rPiBdPC9saXRlcmFsPjwvdGVybT4KKyAgICAgICAgPHRlcm0+PGxpdGVyYWw+XGRb U3grXSBbIDxsaW5rIGxpbmtlbmQ9ImFwcC1wc3FsLXBhdHRlcm5zIj48cmVwbGFjZWFibGUgY2xh c3M9InBhcmFtZXRlciI+cGF0dGVybjwvcmVwbGFjZWFibGU+PC9saW5rPiBdPC9saXRlcmFsPjwv dGVybT4KIAogICAgICAgICA8bGlzdGl0ZW0+CiAgICAgICAgIDxwYXJhPgpAQCAtMTMyMSwxMiAr MTMyOCwyNCBAQCBTRUxFQ1QgJDEgXHBhcnNlIHN0bXQxCiAgICAgICAgIGZvcmVpZ24gdGFibGVz LgogICAgICAgICBUaGlzIGlzIHB1cmVseSBhIGNvbnZlbmllbmNlIG1lYXN1cmUuCiAgICAgICAg IDwvcGFyYT4KKyAgICAgICAgPHBhcmE+CisgICAgICAgIEFzIHdpdGggbWFueSBvdGhlciBjb21t YW5kcywgaWYgPGxpdGVyYWw+eDwvbGl0ZXJhbD4gaXMgYXBwZW5kZWQgdG8KKyAgICAgICAgdGhl IGNvbW1hbmQgbmFtZSwgdGhlIHJlc3VsdHMgYXJlIGRpc3BsYXllZCBpbiBleHBhbmRlZCBtb2Rl LCBidXQgbm90ZQorICAgICAgICB0aGF0IHRoaXMgb25seSBhcHBsaWVzIHdoZW4gPGNvbW1hbmQ+ XGQ8L2NvbW1hbmQ+IGlzIHVzZWQgd2l0aG91dCBhCisgICAgICAgIDxyZXBsYWNlYWJsZSBjbGFz cz0icGFyYW1ldGVyIj5wYXR0ZXJuPC9yZXBsYWNlYWJsZT4gYXJndW1lbnQsIGFuZAorICAgICAg ICB0aGUgPGxpdGVyYWw+eDwvbGl0ZXJhbD4gbW9kaWZpZXIgY2Fubm90IGFwcGVhciBpbW1lZGlh dGVseSBhZnRlciB0aGUKKyAgICAgICAgPGNvbW1hbmQ+XGQ8L2NvbW1hbmQ+IChiZWNhdXNlIDxj b21tYW5kPlxkeDwvY29tbWFuZD4gaXMgYSBkaWZmZXJlbnQKKyAgICAgICAgY29tbWFuZCk7IHRo ZSA8bGl0ZXJhbD54PC9saXRlcmFsPiBtb2RpZmllciBtYXkgb25seSBhcHBlYXIgYWZ0ZXIgYQor ICAgICAgICA8bGl0ZXJhbD5TPC9saXRlcmFsPiBvciA8bGl0ZXJhbD4rPC9saXRlcmFsPiBtb2Rp Zmllci4gRm9yIGV4YW1wbGUsCisgICAgICAgIDxjb21tYW5kPlxkK3g8L2NvbW1hbmQ+IGlzIGVx dWl2YWxlbnQgdG8gPGNvbW1hbmQ+XGR0dm1zRSt4PC9jb21tYW5kPgorICAgICAgICBhbmQgd2ls bCBzaG93IGEgbGlzdCBvZiBhbGwgcmVsYXRpb25zIGluIGV4cGFuZGVkIG1vZGUuCisgICAgICAg IDwvcGFyYT4KICAgICAgICAgPC9ub3RlPgogICAgICAgICA8L2xpc3RpdGVtPgogICAgICAgPC92 YXJsaXN0ZW50cnk+CiAKICAgICAgIDx2YXJsaXN0ZW50cnkgaWQ9ImFwcC1wc3FsLW1ldGEtY29t bWFuZC1kYS1sYyI+Ci0gICAgICAgIDx0ZXJtPjxsaXRlcmFsPlxkYVtTXSBbIDxsaW5rIGxpbmtl bmQ9ImFwcC1wc3FsLXBhdHRlcm5zIj48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGF0 dGVybjwvcmVwbGFjZWFibGU+PC9saW5rPiBdPC9saXRlcmFsPjwvdGVybT4KKyAgICAgICAgPHRl cm0+PGxpdGVyYWw+XGRhW1N4XSBbIDxsaW5rIGxpbmtlbmQ9ImFwcC1wc3FsLXBhdHRlcm5zIj48 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGF0dGVybjwvcmVwbGFjZWFibGU+PC9saW5r PiBdPC9saXRlcmFsPjwvdGVybT4KIAogICAgICAgICA8bGlzdGl0ZW0+CiAgICAgICAgIDxwYXJh PgpAQCAtMTM0Miw3ICsxMzYxLDcgQEAgU0VMRUNUICQxIFxwYXJzZSBzdG10MQogICAgICAgPC92 YXJsaXN0ZW50cnk+CiAKICAgICAgIDx2YXJsaXN0ZW50cnkgaWQ9ImFwcC1wc3FsLW1ldGEtY29t bWFuZC1kYS11YyI+Ci0gICAgICAgIDx0ZXJtPjxsaXRlcmFsPlxkQVsrXSBbIDxsaW5rIGxpbmtl bmQ9ImFwcC1wc3FsLXBhdHRlcm5zIj48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGF0 dGVybjwvcmVwbGFjZWFibGU+PC9saW5rPiBdPC9saXRlcmFsPjwvdGVybT4KKyAgICAgICAgPHRl cm0+PGxpdGVyYWw+XGRBW3grXSBbIDxsaW5rIGxpbmtlbmQ9ImFwcC1wc3FsLXBhdHRlcm5zIj48 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGF0dGVybjwvcmVwbGFjZWFibGU+PC9saW5r PiBdPC9saXRlcmFsPjwvdGVybT4KIAogICAgICAgICA8bGlzdGl0ZW0+CiAgICAgICAgIDxwYXJh PgpAQCAtMTM1Nyw3ICsxMzc2LDcgQEAgU0VMRUNUICQxIFxwYXJzZSBzdG10MQogCiAgICAgICA8 dmFybGlzdGVudHJ5IGlkPSJhcHAtcHNxbC1tZXRhLWNvbW1hbmQtZGFjIj4KICAgICAgICAgPHRl cm0+Ci0gICAgICAgICAgPGxpdGVyYWw+XGRBY1srXQorICAgICAgICAgIDxsaXRlcmFsPlxkQWNb eCtdCiAgICAgICAgICAgICBbPGxpbmsgbGlua2VuZD0iYXBwLXBzcWwtcGF0dGVybnMiPjxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5hY2Nlc3MtbWV0aG9kLXBhdHRlcm48L3JlcGxhY2Vh YmxlPjwvbGluaz4KICAgICAgICAgICAgICAgWzxsaW5rIGxpbmtlbmQ9ImFwcC1wc3FsLXBhdHRl cm5zIj48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+aW5wdXQtdHlwZS1wYXR0ZXJuPC9y ZXBsYWNlYWJsZT48L2xpbms+XV0KICAgICAgICAgICA8L2xpdGVyYWw+CkBAIC0xMzgwLDcgKzEz OTksNyBAQCBTRUxFQ1QgJDEgXHBhcnNlIHN0bXQxCiAKICAgICAgIDx2YXJsaXN0ZW50cnkgaWQ9 ImFwcC1wc3FsLW1ldGEtY29tbWFuZC1kYWYiPgogICAgICAgICA8dGVybT4KLSAgICAgICAgICA8 bGl0ZXJhbD5cZEFmWytdCisgICAgICAgICAgPGxpdGVyYWw+XGRBZlt4K10KICAgICAgICAgICAg IFs8bGluayBsaW5rZW5kPSJhcHAtcHNxbC1wYXR0ZXJucyI+PHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPmFjY2Vzcy1tZXRob2QtcGF0dGVybjwvcmVwbGFjZWFibGU+PC9saW5rPgogICAg ICAgICAgICAgICBbPGxpbmsgbGlua2VuZD0iYXBwLXBzcWwtcGF0dGVybnMiPjxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5pbnB1dC10eXBlLXBhdHRlcm48L3JlcGxhY2VhYmxlPjwvbGlu az5dXQogICAgICAgICAgIDwvbGl0ZXJhbD4KQEAgLTE0MDMsNyArMTQyMiw3IEBAIFNFTEVDVCAk MSBccGFyc2Ugc3RtdDEKIAogICAgICAgPHZhcmxpc3RlbnRyeSBpZD0iYXBwLXBzcWwtbWV0YS1j b21tYW5kLWRhbyI+CiAgICAgICAgIDx0ZXJtPgotICAgICAgICAgIDxsaXRlcmFsPlxkQW9bK10K KyAgICAgICAgICA8bGl0ZXJhbD5cZEFvW3grXQogICAgICAgICAgICAgWzxsaW5rIGxpbmtlbmQ9 ImFwcC1wc3FsLXBhdHRlcm5zIj48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+YWNjZXNz LW1ldGhvZC1wYXR0ZXJuPC9yZXBsYWNlYWJsZT48L2xpbms+CiAgICAgICAgICAgICAgIFs8bGlu ayBsaW5rZW5kPSJhcHAtcHNxbC1wYXR0ZXJucyI+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPm9wZXJhdG9yLWZhbWlseS1wYXR0ZXJuPC9yZXBsYWNlYWJsZT48L2xpbms+XV0KICAgICAg ICAgICA8L2xpdGVyYWw+CkBAIC0xNDI3LDcgKzE0NDYsNyBAQCBTRUxFQ1QgJDEgXHBhcnNlIHN0 bXQxCiAKICAgICAgIDx2YXJsaXN0ZW50cnkgaWQ9ImFwcC1wc3FsLW1ldGEtY29tbWFuZC1kYXAi PgogICAgICAgICA8dGVybT4KLSAgICAgICAgICA8bGl0ZXJhbD5cZEFwWytdCisgICAgICAgICAg PGxpdGVyYWw+XGRBcFt4K10KICAgICAgICAgICAgIFs8bGluayBsaW5rZW5kPSJhcHAtcHNxbC1w YXR0ZXJucyI+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmFjY2Vzcy1tZXRob2QtcGF0 dGVybjwvcmVwbGFjZWFibGU+PC9saW5rPgogICAgICAgICAgICAgICBbPGxpbmsgbGlua2VuZD0i YXBwLXBzcWwtcGF0dGVybnMiPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5vcGVyYXRv ci1mYW1pbHktcGF0dGVybjwvcmVwbGFjZWFibGU+PC9saW5rPl1dCiAgICAgICAgICAgPC9saXRl cmFsPgpAQCAtMTQ0OSw3ICsxNDY4LDcgQEAgU0VMRUNUICQxIFxwYXJzZSBzdG10MQogICAgICAg PC92YXJsaXN0ZW50cnk+CiAKICAgICAgIDx2YXJsaXN0ZW50cnkgaWQ9ImFwcC1wc3FsLW1ldGEt Y29tbWFuZC1kYiI+Ci0gICAgICAgIDx0ZXJtPjxsaXRlcmFsPlxkYlsrXSBbIDxsaW5rIGxpbmtl bmQ9ImFwcC1wc3FsLXBhdHRlcm5zIj48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGF0 dGVybjwvcmVwbGFjZWFibGU+PC9saW5rPiBdPC9saXRlcmFsPjwvdGVybT4KKyAgICAgICAgPHRl cm0+PGxpdGVyYWw+XGRiW3grXSBbIDxsaW5rIGxpbmtlbmQ9ImFwcC1wc3FsLXBhdHRlcm5zIj48 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGF0dGVybjwvcmVwbGFjZWFibGU+PC9saW5r PiBdPC9saXRlcmFsPjwvdGVybT4KIAogICAgICAgICA8bGlzdGl0ZW0+CiAgICAgICAgIDxwYXJh PgpAQCAtMTQ2NSw3ICsxNDg0LDcgQEAgU0VMRUNUICQxIFxwYXJzZSBzdG10MQogCiAKICAgICAg IDx2YXJsaXN0ZW50cnkgaWQ9ImFwcC1wc3FsLW1ldGEtY29tbWFuZC1kYy1sYyI+Ci0gICAgICAg IDx0ZXJtPjxsaXRlcmFsPlxkY1tTK10gWyA8bGluayBsaW5rZW5kPSJhcHAtcHNxbC1wYXR0ZXJu cyI+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBhdHRlcm48L3JlcGxhY2VhYmxlPjwv bGluaz4gXTwvbGl0ZXJhbD48L3Rlcm0+CisgICAgICAgIDx0ZXJtPjxsaXRlcmFsPlxkY1tTeCtd IFsgPGxpbmsgbGlua2VuZD0iYXBwLXBzcWwtcGF0dGVybnMiPjxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5wYXR0ZXJuPC9yZXBsYWNlYWJsZT48L2xpbms+IF08L2xpdGVyYWw+PC90ZXJt PgogICAgICAgICA8bGlzdGl0ZW0+CiAgICAgICAgIDxwYXJhPgogICAgICAgICBMaXN0cyBjb252 ZXJzaW9ucyBiZXR3ZWVuIGNoYXJhY3Rlci1zZXQgZW5jb2RpbmdzLgpAQCAtMTQ4Myw3ICsxNTAy LDcgQEAgU0VMRUNUICQxIFxwYXJzZSBzdG10MQogCiAKICAgICAgIDx2YXJsaXN0ZW50cnkgaWQ9 ImFwcC1wc3FsLW1ldGEtY29tbWFuZC1kY29uZmlnIj4KLSAgICAgICAgPHRlcm0+PGxpdGVyYWw+ XGRjb25maWdbK10gWyA8bGluayBsaW5rZW5kPSJhcHAtcHNxbC1wYXR0ZXJucyI+PHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBhdHRlcm48L3JlcGxhY2VhYmxlPjwvbGluaz4gXTwvbGl0 ZXJhbD48L3Rlcm0+CisgICAgICAgIDx0ZXJtPjxsaXRlcmFsPlxkY29uZmlnW3grXSBbIDxsaW5r IGxpbmtlbmQ9ImFwcC1wc3FsLXBhdHRlcm5zIj48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+cGF0dGVybjwvcmVwbGFjZWFibGU+PC9saW5rPiBdPC9saXRlcmFsPjwvdGVybT4KICAgICAg ICAgPGxpc3RpdGVtPgogICAgICAgICA8cGFyYT4KICAgICAgICAgTGlzdHMgc2VydmVyIGNvbmZp Z3VyYXRpb24gcGFyYW1ldGVycyBhbmQgdGhlaXIgdmFsdWVzLgpAQCAtMTUwMiw3ICsxNTIxLDcg QEAgU0VMRUNUICQxIFxwYXJzZSBzdG10MQogCiAKICAgICAgIDx2YXJsaXN0ZW50cnkgaWQ9ImFw cC1wc3FsLW1ldGEtY29tbWFuZC1kYy11YyI+Ci0gICAgICAgIDx0ZXJtPjxsaXRlcmFsPlxkQ1sr XSBbIDxsaW5rIGxpbmtlbmQ9ImFwcC1wc3FsLXBhdHRlcm5zIj48cmVwbGFjZWFibGUgY2xhc3M9 InBhcmFtZXRlciI+cGF0dGVybjwvcmVwbGFjZWFibGU+PC9saW5rPiBdPC9saXRlcmFsPjwvdGVy bT4KKyAgICAgICAgPHRlcm0+PGxpdGVyYWw+XGRDW3grXSBbIDxsaW5rIGxpbmtlbmQ9ImFwcC1w c3FsLXBhdHRlcm5zIj48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGF0dGVybjwvcmVw bGFjZWFibGU+PC9saW5rPiBdPC9saXRlcmFsPjwvdGVybT4KICAgICAgICAgPGxpc3RpdGVtPgog ICAgICAgICA8cGFyYT4KICAgICAgICAgTGlzdHMgdHlwZSBjYXN0cy4KQEAgLTE1MTcsNyArMTUz Niw3IEBAIFNFTEVDVCAkMSBccGFyc2Ugc3RtdDEKIAogCiAgICAgICA8dmFybGlzdGVudHJ5IGlk PSJhcHAtcHNxbC1tZXRhLWNvbW1hbmQtZGQtbGMiPgotICAgICAgICA8dGVybT48bGl0ZXJhbD5c ZGRbU10gWyA8bGluayBsaW5rZW5kPSJhcHAtcHNxbC1wYXR0ZXJucyI+PHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPnBhdHRlcm48L3JlcGxhY2VhYmxlPjwvbGluaz4gXTwvbGl0ZXJhbD48 L3Rlcm0+CisgICAgICAgIDx0ZXJtPjxsaXRlcmFsPlxkZFtTeF0gWyA8bGluayBsaW5rZW5kPSJh cHAtcHNxbC1wYXR0ZXJucyI+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBhdHRlcm48 L3JlcGxhY2VhYmxlPjwvbGluaz4gXTwvbGl0ZXJhbD48L3Rlcm0+CiAgICAgICAgIDxsaXN0aXRl bT4KICAgICAgICAgPHBhcmE+CiAgICAgICAgIFNob3dzIHRoZSBkZXNjcmlwdGlvbnMgb2Ygb2Jq ZWN0cyBvZiB0eXBlIDxsaXRlcmFsPmNvbnN0cmFpbnQ8L2xpdGVyYWw+LApAQCAtMTU0Niw3ICsx NTY1LDcgQEAgU0VMRUNUICQxIFxwYXJzZSBzdG10MQogCiAKICAgICAgIDx2YXJsaXN0ZW50cnkg aWQ9ImFwcC1wc3FsLW1ldGEtY29tbWFuZC1kZC11YyI+Ci0gICAgICAgIDx0ZXJtPjxsaXRlcmFs PlxkRFtTK10gWyA8bGluayBsaW5rZW5kPSJhcHAtcHNxbC1wYXR0ZXJucyI+PHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPnBhdHRlcm48L3JlcGxhY2VhYmxlPjwvbGluaz4gXTwvbGl0ZXJh bD48L3Rlcm0+CisgICAgICAgIDx0ZXJtPjxsaXRlcmFsPlxkRFtTeCtdIFsgPGxpbmsgbGlua2Vu ZD0iYXBwLXBzcWwtcGF0dGVybnMiPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wYXR0 ZXJuPC9yZXBsYWNlYWJsZT48L2xpbms+IF08L2xpdGVyYWw+PC90ZXJtPgogICAgICAgICA8bGlz dGl0ZW0+CiAgICAgICAgIDxwYXJhPgogICAgICAgICBMaXN0cyBkb21haW5zLiBJZiA8cmVwbGFj ZWFibGUKQEAgLTE1NjMsNyArMTU4Miw3IEBAIFNFTEVDVCAkMSBccGFyc2Ugc3RtdDEKIAogCiAg ICAgICA8dmFybGlzdGVudHJ5IGlkPSJhcHAtcHNxbC1tZXRhLWNvbW1hbmQtZGRwIj4KLSAgICAg ICAgPHRlcm0+PGxpdGVyYWw+XGRkcCBbIDxsaW5rIGxpbmtlbmQ9ImFwcC1wc3FsLXBhdHRlcm5z Ij48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGF0dGVybjwvcmVwbGFjZWFibGU+PC9s aW5rPiBdPC9saXRlcmFsPjwvdGVybT4KKyAgICAgICAgPHRlcm0+PGxpdGVyYWw+XGRkcFt4XSBb IDxsaW5rIGxpbmtlbmQ9ImFwcC1wc3FsLXBhdHRlcm5zIj48cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+cGF0dGVybjwvcmVwbGFjZWFibGU+PC9saW5rPiBdPC9saXRlcmFsPjwvdGVybT4K ICAgICAgICAgPGxpc3RpdGVtPgogICAgICAgICA8cGFyYT4KICAgICAgICAgTGlzdHMgZGVmYXVs dCBhY2Nlc3MgcHJpdmlsZWdlIHNldHRpbmdzLiAgQW4gZW50cnkgaXMgc2hvd24gZm9yCkBAIC0x NTg1LDEyICsxNjA0LDEyIEBAIFNFTEVDVCAkMSBccGFyc2Ugc3RtdDEKIAogCiAgICAgICA8dmFy bGlzdGVudHJ5IGlkPSJhcHAtcHNxbC1tZXRhLWNvbW1hbmQtZGUiPgotICAgICAgICA8dGVybT48 bGl0ZXJhbD5cZEVbUytdIFsgPGxpbmsgbGlua2VuZD0iYXBwLXBzcWwtcGF0dGVybnMiPjxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wYXR0ZXJuPC9yZXBsYWNlYWJsZT48L2xpbms+IF08 L2xpdGVyYWw+PC90ZXJtPgotICAgICAgICA8dGVybT48bGl0ZXJhbD5cZGlbUytdIFsgPGxpbmsg bGlua2VuZD0iYXBwLXBzcWwtcGF0dGVybnMiPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij5wYXR0ZXJuPC9yZXBsYWNlYWJsZT48L2xpbms+IF08L2xpdGVyYWw+PC90ZXJtPgotICAgICAg ICA8dGVybT48bGl0ZXJhbD5cZG1bUytdIFsgPGxpbmsgbGlua2VuZD0iYXBwLXBzcWwtcGF0dGVy bnMiPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wYXR0ZXJuPC9yZXBsYWNlYWJsZT48 L2xpbms+IF08L2xpdGVyYWw+PC90ZXJtPgotICAgICAgICA8dGVybT48bGl0ZXJhbD5cZHNbUytd IFsgPGxpbmsgbGlua2VuZD0iYXBwLXBzcWwtcGF0dGVybnMiPjxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5wYXR0ZXJuPC9yZXBsYWNlYWJsZT48L2xpbms+IF08L2xpdGVyYWw+PC90ZXJt PgotICAgICAgICA8dGVybT48bGl0ZXJhbD5cZHRbUytdIFsgPGxpbmsgbGlua2VuZD0iYXBwLXBz cWwtcGF0dGVybnMiPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wYXR0ZXJuPC9yZXBs YWNlYWJsZT48L2xpbms+IF08L2xpdGVyYWw+PC90ZXJtPgotICAgICAgICA8dGVybT48bGl0ZXJh bD5cZHZbUytdIFsgPGxpbmsgbGlua2VuZD0iYXBwLXBzcWwtcGF0dGVybnMiPjxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5wYXR0ZXJuPC9yZXBsYWNlYWJsZT48L2xpbms+IF08L2xpdGVy YWw+PC90ZXJtPgorICAgICAgICA8dGVybT48bGl0ZXJhbD5cZEVbU3grXSBbIDxsaW5rIGxpbmtl bmQ9ImFwcC1wc3FsLXBhdHRlcm5zIj48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGF0 dGVybjwvcmVwbGFjZWFibGU+PC9saW5rPiBdPC9saXRlcmFsPjwvdGVybT4KKyAgICAgICAgPHRl cm0+PGxpdGVyYWw+XGRpW1N4K10gWyA8bGluayBsaW5rZW5kPSJhcHAtcHNxbC1wYXR0ZXJucyI+ PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBhdHRlcm48L3JlcGxhY2VhYmxlPjwvbGlu az4gXTwvbGl0ZXJhbD48L3Rlcm0+CisgICAgICAgIDx0ZXJtPjxsaXRlcmFsPlxkbVtTeCtdIFsg PGxpbmsgbGlua2VuZD0iYXBwLXBzcWwtcGF0dGVybnMiPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFy YW1ldGVyIj5wYXR0ZXJuPC9yZXBsYWNlYWJsZT48L2xpbms+IF08L2xpdGVyYWw+PC90ZXJtPgor ICAgICAgICA8dGVybT48bGl0ZXJhbD5cZHNbU3grXSBbIDxsaW5rIGxpbmtlbmQ9ImFwcC1wc3Fs LXBhdHRlcm5zIj48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGF0dGVybjwvcmVwbGFj ZWFibGU+PC9saW5rPiBdPC9saXRlcmFsPjwvdGVybT4KKyAgICAgICAgPHRlcm0+PGxpdGVyYWw+ XGR0W1N4K10gWyA8bGluayBsaW5rZW5kPSJhcHAtcHNxbC1wYXR0ZXJucyI+PHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPnBhdHRlcm48L3JlcGxhY2VhYmxlPjwvbGluaz4gXTwvbGl0ZXJh bD48L3Rlcm0+CisgICAgICAgIDx0ZXJtPjxsaXRlcmFsPlxkdltTeCtdIFsgPGxpbmsgbGlua2Vu ZD0iYXBwLXBzcWwtcGF0dGVybnMiPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wYXR0 ZXJuPC9yZXBsYWNlYWJsZT48L2xpbms+IF08L2xpdGVyYWw+PC90ZXJtPgogCiAgICAgICAgIDxs aXN0aXRlbT4KICAgICAgICAgPHBhcmE+CkBAIC0xNjE4LDcgKzE2MzcsNyBAQCBTRUxFQ1QgJDEg XHBhcnNlIHN0bXQxCiAKIAogICAgICAgPHZhcmxpc3RlbnRyeSBpZD0iYXBwLXBzcWwtbWV0YS1j b21tYW5kLWRlcyI+Ci0gICAgICAgIDx0ZXJtPjxsaXRlcmFsPlxkZXNbK10gWyA8bGluayBsaW5r ZW5kPSJhcHAtcHNxbC1wYXR0ZXJucyI+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBh dHRlcm48L3JlcGxhY2VhYmxlPjwvbGluaz4gXTwvbGl0ZXJhbD48L3Rlcm0+CisgICAgICAgIDx0 ZXJtPjxsaXRlcmFsPlxkZXNbeCtdIFsgPGxpbmsgbGlua2VuZD0iYXBwLXBzcWwtcGF0dGVybnMi PjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wYXR0ZXJuPC9yZXBsYWNlYWJsZT48L2xp bms+IF08L2xpdGVyYWw+PC90ZXJtPgogICAgICAgICA8bGlzdGl0ZW0+CiAgICAgICAgIDxwYXJh PgogICAgICAgICBMaXN0cyBmb3JlaWduIHNlcnZlcnMgKG1uZW1vbmljOiA8cXVvdGU+ZXh0ZXJu YWwKQEAgLTE2MzQsNyArMTY1Myw3IEBAIFNFTEVDVCAkMSBccGFyc2Ugc3RtdDEKIAogCiAgICAg ICA8dmFybGlzdGVudHJ5IGlkPSJhcHAtcHNxbC1tZXRhLWNvbW1hbmQtZGV0Ij4KLSAgICAgICAg PHRlcm0+PGxpdGVyYWw+XGRldFsrXSBbIDxsaW5rIGxpbmtlbmQ9ImFwcC1wc3FsLXBhdHRlcm5z Ij48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGF0dGVybjwvcmVwbGFjZWFibGU+PC9s aW5rPiBdPC9saXRlcmFsPjwvdGVybT4KKyAgICAgICAgPHRlcm0+PGxpdGVyYWw+XGRldFt4K10g WyA8bGluayBsaW5rZW5kPSJhcHAtcHNxbC1wYXR0ZXJucyI+PHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPnBhdHRlcm48L3JlcGxhY2VhYmxlPjwvbGluaz4gXTwvbGl0ZXJhbD48L3Rlcm0+ CiAgICAgICAgIDxsaXN0aXRlbT4KICAgICAgICAgPHBhcmE+CiAgICAgICAgIExpc3RzIGZvcmVp Z24gdGFibGVzIChtbmVtb25pYzogPHF1b3RlPmV4dGVybmFsIHRhYmxlczwvcXVvdGU+KS4KQEAg LTE2NDksNyArMTY2OCw3IEBAIFNFTEVDVCAkMSBccGFyc2Ugc3RtdDEKIAogCiAgICAgICA8dmFy bGlzdGVudHJ5IGlkPSJhcHAtcHNxbC1tZXRhLWNvbW1hbmQtZGV1Ij4KLSAgICAgICAgPHRlcm0+ PGxpdGVyYWw+XGRldVsrXSBbIDxsaW5rIGxpbmtlbmQ9ImFwcC1wc3FsLXBhdHRlcm5zIj48cmVw bGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGF0dGVybjwvcmVwbGFjZWFibGU+PC9saW5rPiBd PC9saXRlcmFsPjwvdGVybT4KKyAgICAgICAgPHRlcm0+PGxpdGVyYWw+XGRldVt4K10gWyA8bGlu ayBsaW5rZW5kPSJhcHAtcHNxbC1wYXR0ZXJucyI+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPnBhdHRlcm48L3JlcGxhY2VhYmxlPjwvbGluaz4gXTwvbGl0ZXJhbD48L3Rlcm0+CiAgICAg ICAgIDxsaXN0aXRlbT4KICAgICAgICAgPHBhcmE+CiAgICAgICAgIExpc3RzIHVzZXIgbWFwcGlu Z3MgKG1uZW1vbmljOiA8cXVvdGU+ZXh0ZXJuYWwKQEAgLTE2NzIsNyArMTY5MSw3IEBAIFNFTEVD VCAkMSBccGFyc2Ugc3RtdDEKIAogCiAgICAgICA8dmFybGlzdGVudHJ5IGlkPSJhcHAtcHNxbC1t ZXRhLWNvbW1hbmQtZGV3Ij4KLSAgICAgICAgPHRlcm0+PGxpdGVyYWw+XGRld1srXSBbIDxsaW5r IGxpbmtlbmQ9ImFwcC1wc3FsLXBhdHRlcm5zIj48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+cGF0dGVybjwvcmVwbGFjZWFibGU+PC9saW5rPiBdPC9saXRlcmFsPjwvdGVybT4KKyAgICAg ICAgPHRlcm0+PGxpdGVyYWw+XGRld1t4K10gWyA8bGluayBsaW5rZW5kPSJhcHAtcHNxbC1wYXR0 ZXJucyI+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBhdHRlcm48L3JlcGxhY2VhYmxl PjwvbGluaz4gXTwvbGl0ZXJhbD48L3Rlcm0+CiAgICAgICAgIDxsaXN0aXRlbT4KICAgICAgICAg PHBhcmE+CiAgICAgICAgIExpc3RzIGZvcmVpZ24tZGF0YSB3cmFwcGVycyAobW5lbW9uaWM6IDxx dW90ZT5leHRlcm5hbApAQCAtMTY4OCw3ICsxNzA3LDcgQEAgU0VMRUNUICQxIFxwYXJzZSBzdG10 MQogCiAKICAgICAgIDx2YXJsaXN0ZW50cnkgaWQ9ImFwcC1wc3FsLW1ldGEtY29tbWFuZC1kZi1s YyI+Ci0gICAgICAgIDx0ZXJtPjxsaXRlcmFsPlxkZlthbnB0d1MrXSBbIDxsaW5rIGxpbmtlbmQ9 ImFwcC1wc3FsLXBhdHRlcm5zIj48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGF0dGVy bjwvcmVwbGFjZWFibGU+PC9saW5rPiBbIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5h cmdfcGF0dGVybjwvcmVwbGFjZWFibGU+IC4uLiBdIF08L2xpdGVyYWw+PC90ZXJtPgorICAgICAg ICA8dGVybT48bGl0ZXJhbD5cZGZbYW5wdHdTeCtdIFsgPGxpbmsgbGlua2VuZD0iYXBwLXBzcWwt cGF0dGVybnMiPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wYXR0ZXJuPC9yZXBsYWNl YWJsZT48L2xpbms+IFsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmFyZ19wYXR0ZXJu PC9yZXBsYWNlYWJsZT4gLi4uIF0gXTwvbGl0ZXJhbD48L3Rlcm0+CiAKICAgICAgICAgPGxpc3Rp dGVtPgogICAgICAgICA8cGFyYT4KQEAgLTE3MjIsNyArMTc0MSw3IEBAIFNFTEVDVCAkMSBccGFy c2Ugc3RtdDEKICAgICAgIDwvdmFybGlzdGVudHJ5PgogCiAgICAgICA8dmFybGlzdGVudHJ5IGlk PSJhcHAtcHNxbC1tZXRhLWNvbW1hbmQtZGYtdWMiPgotICAgICAgICA8dGVybT48bGl0ZXJhbD5c ZEZbK10gWyA8bGluayBsaW5rZW5kPSJhcHAtcHNxbC1wYXR0ZXJucyI+PHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPnBhdHRlcm48L3JlcGxhY2VhYmxlPjwvbGluaz4gXTwvbGl0ZXJhbD48 L3Rlcm0+CisgICAgICAgIDx0ZXJtPjxsaXRlcmFsPlxkRlt4K10gWyA8bGluayBsaW5rZW5kPSJh cHAtcHNxbC1wYXR0ZXJucyI+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBhdHRlcm48 L3JlcGxhY2VhYmxlPjwvbGluaz4gXTwvbGl0ZXJhbD48L3Rlcm0+CiAgICAgICAgIDxsaXN0aXRl bT4KICAgICAgICAgPHBhcmE+CiAgICAgICAgICBMaXN0cyB0ZXh0IHNlYXJjaCBjb25maWd1cmF0 aW9ucy4KQEAgLTE3MzYsNyArMTc1NSw3IEBAIFNFTEVDVCAkMSBccGFyc2Ugc3RtdDEKICAgICAg IDwvdmFybGlzdGVudHJ5PgogCiAgICAgICA8dmFybGlzdGVudHJ5IGlkPSJhcHAtcHNxbC1tZXRh LWNvbW1hbmQtZGZkIj4KLSAgICAgICAgPHRlcm0+PGxpdGVyYWw+XGRGZFsrXSBbIDxsaW5rIGxp bmtlbmQ9ImFwcC1wc3FsLXBhdHRlcm5zIj48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ cGF0dGVybjwvcmVwbGFjZWFibGU+PC9saW5rPiBdPC9saXRlcmFsPjwvdGVybT4KKyAgICAgICAg PHRlcm0+PGxpdGVyYWw+XGRGZFt4K10gWyA8bGluayBsaW5rZW5kPSJhcHAtcHNxbC1wYXR0ZXJu cyI+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBhdHRlcm48L3JlcGxhY2VhYmxlPjwv bGluaz4gXTwvbGl0ZXJhbD48L3Rlcm0+CiAgICAgICAgIDxsaXN0aXRlbT4KICAgICAgICAgPHBh cmE+CiAgICAgICAgICBMaXN0cyB0ZXh0IHNlYXJjaCBkaWN0aW9uYXJpZXMuCkBAIC0xNzUwLDcg KzE3NjksNyBAQCBTRUxFQ1QgJDEgXHBhcnNlIHN0bXQxCiAgICAgICA8L3Zhcmxpc3RlbnRyeT4K IAogICAgICAgPHZhcmxpc3RlbnRyeSBpZD0iYXBwLXBzcWwtbWV0YS1jb21tYW5kLWRmcCI+Ci0g ICAgICAgIDx0ZXJtPjxsaXRlcmFsPlxkRnBbK10gWyA8bGluayBsaW5rZW5kPSJhcHAtcHNxbC1w YXR0ZXJucyI+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBhdHRlcm48L3JlcGxhY2Vh YmxlPjwvbGluaz4gXTwvbGl0ZXJhbD48L3Rlcm0+CisgICAgICAgIDx0ZXJtPjxsaXRlcmFsPlxk RnBbeCtdIFsgPGxpbmsgbGlua2VuZD0iYXBwLXBzcWwtcGF0dGVybnMiPjxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj5wYXR0ZXJuPC9yZXBsYWNlYWJsZT48L2xpbms+IF08L2xpdGVyYWw+ PC90ZXJtPgogICAgICAgICA8bGlzdGl0ZW0+CiAgICAgICAgIDxwYXJhPgogICAgICAgICAgTGlz dHMgdGV4dCBzZWFyY2ggcGFyc2Vycy4KQEAgLTE3NjQsNyArMTc4Myw3IEBAIFNFTEVDVCAkMSBc cGFyc2Ugc3RtdDEKICAgICAgIDwvdmFybGlzdGVudHJ5PgogCiAgICAgICA8dmFybGlzdGVudHJ5 IGlkPSJhcHAtcHNxbC1tZXRhLWNvbW1hbmQtZGZ0Ij4KLSAgICAgICAgPHRlcm0+PGxpdGVyYWw+ XGRGdFsrXSBbIDxsaW5rIGxpbmtlbmQ9ImFwcC1wc3FsLXBhdHRlcm5zIj48cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+cGF0dGVybjwvcmVwbGFjZWFibGU+PC9saW5rPiBdPC9saXRlcmFs PjwvdGVybT4KKyAgICAgICAgPHRlcm0+PGxpdGVyYWw+XGRGdFt4K10gWyA8bGluayBsaW5rZW5k PSJhcHAtcHNxbC1wYXR0ZXJucyI+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBhdHRl cm48L3JlcGxhY2VhYmxlPjwvbGluaz4gXTwvbGl0ZXJhbD48L3Rlcm0+CiAgICAgICAgIDxsaXN0 aXRlbT4KICAgICAgICAgPHBhcmE+CiAgICAgICAgICBMaXN0cyB0ZXh0IHNlYXJjaCB0ZW1wbGF0 ZXMuCkBAIC0xNzc4LDcgKzE3OTcsNyBAQCBTRUxFQ1QgJDEgXHBhcnNlIHN0bXQxCiAKIAogICAg ICAgPHZhcmxpc3RlbnRyeSBpZD0iYXBwLXBzcWwtbWV0YS1jb21tYW5kLWRnIj4KLSAgICAgICAg PHRlcm0+PGxpdGVyYWw+XGRnW1MrXSBbIDxsaW5rIGxpbmtlbmQ9ImFwcC1wc3FsLXBhdHRlcm5z Ij48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGF0dGVybjwvcmVwbGFjZWFibGU+PC9s aW5rPiBdPC9saXRlcmFsPjwvdGVybT4KKyAgICAgICAgPHRlcm0+PGxpdGVyYWw+XGRnW1N4K10g WyA8bGluayBsaW5rZW5kPSJhcHAtcHNxbC1wYXR0ZXJucyI+PHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPnBhdHRlcm48L3JlcGxhY2VhYmxlPjwvbGluaz4gXTwvbGl0ZXJhbD48L3Rlcm0+ CiAgICAgICAgIDxsaXN0aXRlbT4KICAgICAgICAgPHBhcmE+CiAgICAgICAgIExpc3RzIGRhdGFi YXNlIHJvbGVzLgpAQCAtMTc5OCw3ICsxODE3LDcgQEAgU0VMRUNUICQxIFxwYXJzZSBzdG10MQog CiAKICAgICAgIDx2YXJsaXN0ZW50cnkgaWQ9ImFwcC1wc3FsLW1ldGEtY29tbWFuZC1kbC1sYyI+ Ci0gICAgICAgIDx0ZXJtPjxsaXRlcmFsPlxkbFsrXTwvbGl0ZXJhbD48L3Rlcm0+CisgICAgICAg IDx0ZXJtPjxsaXRlcmFsPlxkbFt4K108L2xpdGVyYWw+PC90ZXJtPgogICAgICAgICA8bGlzdGl0 ZW0+CiAgICAgICAgIDxwYXJhPgogICAgICAgICBUaGlzIGlzIGFuIGFsaWFzIGZvciA8Y29tbWFu ZD5cbG9fbGlzdDwvY29tbWFuZD4sIHdoaWNoIHNob3dzIGEKQEAgLTE4MTEsNyArMTgzMCw3IEBA IFNFTEVDVCAkMSBccGFyc2Ugc3RtdDEKICAgICAgIDwvdmFybGlzdGVudHJ5PgogCiAgICAgICA8 dmFybGlzdGVudHJ5IGlkPSJhcHAtcHNxbC1tZXRhLWNvbW1hbmQtZGwtdWMiPgotICAgICAgICA8 dGVybT48bGl0ZXJhbD5cZExbUytdIFsgPGxpbmsgbGlua2VuZD0iYXBwLXBzcWwtcGF0dGVybnMi PjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wYXR0ZXJuPC9yZXBsYWNlYWJsZT48L2xp bms+IF08L2xpdGVyYWw+PC90ZXJtPgorICAgICAgICA8dGVybT48bGl0ZXJhbD5cZExbU3grXSBb IDxsaW5rIGxpbmtlbmQ9ImFwcC1wc3FsLXBhdHRlcm5zIj48cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+cGF0dGVybjwvcmVwbGFjZWFibGU+PC9saW5rPiBdPC9saXRlcmFsPjwvdGVybT4K ICAgICAgICAgPGxpc3RpdGVtPgogICAgICAgICA8cGFyYT4KICAgICAgICAgTGlzdHMgcHJvY2Vk dXJhbCBsYW5ndWFnZXMuIElmIDxyZXBsYWNlYWJsZQpAQCAtMTgyOCw3ICsxODQ3LDcgQEAgU0VM RUNUICQxIFxwYXJzZSBzdG10MQogCiAKICAgICAgIDx2YXJsaXN0ZW50cnkgaWQ9ImFwcC1wc3Fs LW1ldGEtY29tbWFuZC1kbiI+Ci0gICAgICAgIDx0ZXJtPjxsaXRlcmFsPlxkbltTK10gWyA8bGlu ayBsaW5rZW5kPSJhcHAtcHNxbC1wYXR0ZXJucyI+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPnBhdHRlcm48L3JlcGxhY2VhYmxlPjwvbGluaz4gXTwvbGl0ZXJhbD48L3Rlcm0+CisgICAg ICAgIDx0ZXJtPjxsaXRlcmFsPlxkbltTeCtdIFsgPGxpbmsgbGlua2VuZD0iYXBwLXBzcWwtcGF0 dGVybnMiPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wYXR0ZXJuPC9yZXBsYWNlYWJs ZT48L2xpbms+IF08L2xpdGVyYWw+PC90ZXJtPgogCiAgICAgICAgIDxsaXN0aXRlbT4KICAgICAg ICAgPHBhcmE+CkBAIC0xODQ1LDcgKzE4NjQsNyBAQCBTRUxFQ1QgJDEgXHBhcnNlIHN0bXQxCiAK IAogICAgICAgPHZhcmxpc3RlbnRyeSBpZD0iYXBwLXBzcWwtbWV0YS1jb21tYW5kLWRvLWxjIj4K LSAgICAgICAgPHRlcm0+PGxpdGVyYWw+XGRvW1MrXSBbIDxsaW5rIGxpbmtlbmQ9ImFwcC1wc3Fs LXBhdHRlcm5zIj48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGF0dGVybjwvcmVwbGFj ZWFibGU+PC9saW5rPiBbIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5hcmdfcGF0dGVy bjwvcmVwbGFjZWFibGU+IFsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmFyZ19wYXR0 ZXJuPC9yZXBsYWNlYWJsZT4gXSBdIF08L2xpdGVyYWw+PC90ZXJtPgorICAgICAgICA8dGVybT48 bGl0ZXJhbD5cZG9bU3grXSBbIDxsaW5rIGxpbmtlbmQ9ImFwcC1wc3FsLXBhdHRlcm5zIj48cmVw bGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGF0dGVybjwvcmVwbGFjZWFibGU+PC9saW5rPiBb IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5hcmdfcGF0dGVybjwvcmVwbGFjZWFibGU+ IFsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmFyZ19wYXR0ZXJuPC9yZXBsYWNlYWJs ZT4gXSBdIF08L2xpdGVyYWw+PC90ZXJtPgogICAgICAgICA8bGlzdGl0ZW0+CiAgICAgICAgIDxw YXJhPgogICAgICAgICBMaXN0cyBvcGVyYXRvcnMgd2l0aCB0aGVpciBvcGVyYW5kIGFuZCByZXN1 bHQgdHlwZXMuCkBAIC0xODcwLDcgKzE4ODksNyBAQCBTRUxFQ1QgJDEgXHBhcnNlIHN0bXQxCiAK IAogICAgICAgPHZhcmxpc3RlbnRyeSBpZD0iYXBwLXBzcWwtbWV0YS1jb21tYW5kLWRvLXVjIj4K LSAgICAgICAgPHRlcm0+PGxpdGVyYWw+XGRPW1MrXSBbIDxsaW5rIGxpbmtlbmQ9ImFwcC1wc3Fs LXBhdHRlcm5zIj48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGF0dGVybjwvcmVwbGFj ZWFibGU+PC9saW5rPiBdPC9saXRlcmFsPjwvdGVybT4KKyAgICAgICAgPHRlcm0+PGxpdGVyYWw+ XGRPW1N4K10gWyA8bGluayBsaW5rZW5kPSJhcHAtcHNxbC1wYXR0ZXJucyI+PHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPnBhdHRlcm48L3JlcGxhY2VhYmxlPjwvbGluaz4gXTwvbGl0ZXJh bD48L3Rlcm0+CiAgICAgICAgIDxsaXN0aXRlbT4KICAgICAgICAgPHBhcmE+CiAgICAgICAgIExp c3RzIGNvbGxhdGlvbnMuCkBAIC0xODkwLDcgKzE5MDksNyBAQCBTRUxFQ1QgJDEgXHBhcnNlIHN0 bXQxCiAKIAogICAgICAgPHZhcmxpc3RlbnRyeSBpZD0iYXBwLXBzcWwtbWV0YS1jb21tYW5kLWRw LWxjIj4KLSAgICAgICAgPHRlcm0+PGxpdGVyYWw+XGRwW1NdIFsgPGxpbmsgbGlua2VuZD0iYXBw LXBzcWwtcGF0dGVybnMiPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wYXR0ZXJuPC9y ZXBsYWNlYWJsZT48L2xpbms+IF08L2xpdGVyYWw+PC90ZXJtPgorICAgICAgICA8dGVybT48bGl0 ZXJhbD5cZHBbU3hdIFsgPGxpbmsgbGlua2VuZD0iYXBwLXBzcWwtcGF0dGVybnMiPjxyZXBsYWNl YWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wYXR0ZXJuPC9yZXBsYWNlYWJsZT48L2xpbms+IF08L2xp dGVyYWw+PC90ZXJtPgogICAgICAgICA8bGlzdGl0ZW0+CiAgICAgICAgIDxwYXJhPgogICAgICAg ICBMaXN0cyB0YWJsZXMsIHZpZXdzIGFuZCBzZXF1ZW5jZXMgd2l0aCB0aGVpcgpAQCAtMTkxNCw3 ICsxOTMzLDcgQEAgU0VMRUNUICQxIFxwYXJzZSBzdG10MQogCiAKICAgICAgIDx2YXJsaXN0ZW50 cnkgaWQ9ImFwcC1wc3FsLW1ldGEtY29tbWFuZC1kcC11YyI+Ci0gICAgICAgIDx0ZXJtPjxsaXRl cmFsPlxkUFtpdG4rXSBbIDxsaW5rIGxpbmtlbmQ9ImFwcC1wc3FsLXBhdHRlcm5zIj48cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGF0dGVybjwvcmVwbGFjZWFibGU+PC9saW5rPiBdPC9s aXRlcmFsPjwvdGVybT4KKyAgICAgICAgPHRlcm0+PGxpdGVyYWw+XGRQW2l0bngrXSBbIDxsaW5r IGxpbmtlbmQ9ImFwcC1wc3FsLXBhdHRlcm5zIj48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+cGF0dGVybjwvcmVwbGFjZWFibGU+PC9saW5rPiBdPC9saXRlcmFsPjwvdGVybT4KICAgICAg ICAgPGxpc3RpdGVtPgogICAgICAgICA8cGFyYT4KICAgICAgICAgTGlzdHMgcGFydGl0aW9uZWQg cmVsYXRpb25zLgpAQCAtMTk0Nyw3ICsxOTY2LDcgQEAgU0VMRUNUICQxIFxwYXJzZSBzdG10MQog CiAKICAgICAgIDx2YXJsaXN0ZW50cnkgaWQ9ImFwcC1wc3FsLW1ldGEtY29tbWFuZC1kcmRzIj4K LSAgICAgICAgPHRlcm0+PGxpdGVyYWw+XGRyZHMgWyA8bGluayBsaW5rZW5kPSJhcHAtcHNxbC1w YXR0ZXJucyI+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJvbGUtcGF0dGVybjwvcmVw bGFjZWFibGU+PC9saW5rPiBbIDxsaW5rIGxpbmtlbmQ9ImFwcC1wc3FsLXBhdHRlcm5zIj48cmVw bGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZGF0YWJhc2UtcGF0dGVybjwvcmVwbGFjZWFibGU+ PC9saW5rPiBdIF08L2xpdGVyYWw+PC90ZXJtPgorICAgICAgICA8dGVybT48bGl0ZXJhbD5cZHJk c1t4XSBbIDxsaW5rIGxpbmtlbmQ9ImFwcC1wc3FsLXBhdHRlcm5zIj48cmVwbGFjZWFibGUgY2xh c3M9InBhcmFtZXRlciI+cm9sZS1wYXR0ZXJuPC9yZXBsYWNlYWJsZT48L2xpbms+IFsgPGxpbmsg bGlua2VuZD0iYXBwLXBzcWwtcGF0dGVybnMiPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij5kYXRhYmFzZS1wYXR0ZXJuPC9yZXBsYWNlYWJsZT48L2xpbms+IF0gXTwvbGl0ZXJhbD48L3Rl cm0+CiAgICAgICAgIDxsaXN0aXRlbT4KICAgICAgICAgPHBhcmE+CiAgICAgICAgIExpc3RzIGRl ZmluZWQgY29uZmlndXJhdGlvbiBzZXR0aW5ncy4gIFRoZXNlIHNldHRpbmdzIGNhbiBiZQpAQCAt MTk3MCw3ICsxOTg5LDcgQEAgU0VMRUNUICQxIFxwYXJzZSBzdG10MQogCiAKICAgICAgIDx2YXJs aXN0ZW50cnkgaWQ9ImFwcC1wc3FsLW1ldGEtY29tbWFuZC1kcmciPgotICAgICAgICA8dGVybT48 bGl0ZXJhbD5cZHJnW1NdIFsgPGxpbmsgbGlua2VuZD0iYXBwLXBzcWwtcGF0dGVybnMiPjxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wYXR0ZXJuPC9yZXBsYWNlYWJsZT48L2xpbms+IF08 L2xpdGVyYWw+PC90ZXJtPgorICAgICAgICA8dGVybT48bGl0ZXJhbD5cZHJnW1N4XSBbIDxsaW5r IGxpbmtlbmQ9ImFwcC1wc3FsLXBhdHRlcm5zIj48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+cGF0dGVybjwvcmVwbGFjZWFibGU+PC9saW5rPiBdPC9saXRlcmFsPjwvdGVybT4KICAgICAg ICAgPGxpc3RpdGVtPgogICAgICAgICA8cGFyYT4KICAgICAgICAgTGlzdHMgaW5mb3JtYXRpb24g YWJvdXQgZWFjaCBncmFudGVkIHJvbGUgbWVtYmVyc2hpcCwgaW5jbHVkaW5nCkBAIC0xOTkwLDcg KzIwMDksNyBAQCBTRUxFQ1QgJDEgXHBhcnNlIHN0bXQxCiAKIAogICAgICAgPHZhcmxpc3RlbnRy eSBpZD0iYXBwLXBzcWwtbWV0YS1jb21tYW5kLWRycCI+Ci0gICAgICAgIDx0ZXJtPjxsaXRlcmFs PlxkUnBbK10gWyA8bGluayBsaW5rZW5kPSJhcHAtcHNxbC1wYXR0ZXJucyI+PHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPnBhdHRlcm48L3JlcGxhY2VhYmxlPjwvbGluaz4gXTwvbGl0ZXJh bD48L3Rlcm0+CisgICAgICAgIDx0ZXJtPjxsaXRlcmFsPlxkUnBbeCtdIFsgPGxpbmsgbGlua2Vu ZD0iYXBwLXBzcWwtcGF0dGVybnMiPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wYXR0 ZXJuPC9yZXBsYWNlYWJsZT48L2xpbms+IF08L2xpdGVyYWw+PC90ZXJtPgogICAgICAgICA8bGlz dGl0ZW0+CiAgICAgICAgIDxwYXJhPgogICAgICAgICBMaXN0cyByZXBsaWNhdGlvbiBwdWJsaWNh dGlvbnMuCkBAIC0yMDA0LDcgKzIwMjMsNyBAQCBTRUxFQ1QgJDEgXHBhcnNlIHN0bXQxCiAgICAg ICA8L3Zhcmxpc3RlbnRyeT4KIAogICAgICAgPHZhcmxpc3RlbnRyeSBpZD0iYXBwLXBzcWwtbWV0 YS1jb21tYW5kLWRycyI+Ci0gICAgICAgIDx0ZXJtPjxsaXRlcmFsPlxkUnNbK10gWyA8bGluayBs aW5rZW5kPSJhcHAtcHNxbC1wYXR0ZXJucyI+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi PnBhdHRlcm48L3JlcGxhY2VhYmxlPjwvbGluaz4gXTwvbGl0ZXJhbD48L3Rlcm0+CisgICAgICAg IDx0ZXJtPjxsaXRlcmFsPlxkUnNbeCtdIFsgPGxpbmsgbGlua2VuZD0iYXBwLXBzcWwtcGF0dGVy bnMiPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wYXR0ZXJuPC9yZXBsYWNlYWJsZT48 L2xpbms+IF08L2xpdGVyYWw+PC90ZXJtPgogICAgICAgICA8bGlzdGl0ZW0+CiAgICAgICAgIDxw YXJhPgogICAgICAgICBMaXN0cyByZXBsaWNhdGlvbiBzdWJzY3JpcHRpb25zLgpAQCAtMjAxOCw3 ICsyMDM3LDcgQEAgU0VMRUNUICQxIFxwYXJzZSBzdG10MQogICAgICAgPC92YXJsaXN0ZW50cnk+ CiAKICAgICAgIDx2YXJsaXN0ZW50cnkgaWQ9ImFwcC1wc3FsLW1ldGEtY29tbWFuZC1kdCI+Ci0g ICAgICAgIDx0ZXJtPjxsaXRlcmFsPlxkVFtTK10gWyA8bGluayBsaW5rZW5kPSJhcHAtcHNxbC1w YXR0ZXJucyI+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBhdHRlcm48L3JlcGxhY2Vh YmxlPjwvbGluaz4gXTwvbGl0ZXJhbD48L3Rlcm0+CisgICAgICAgIDx0ZXJtPjxsaXRlcmFsPlxk VFtTeCtdIFsgPGxpbmsgbGlua2VuZD0iYXBwLXBzcWwtcGF0dGVybnMiPjxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj5wYXR0ZXJuPC9yZXBsYWNlYWJsZT48L2xpbms+IF08L2xpdGVyYWw+ PC90ZXJtPgogICAgICAgICA8bGlzdGl0ZW0+CiAgICAgICAgIDxwYXJhPgogICAgICAgICBMaXN0 cyBkYXRhIHR5cGVzLgpAQCAtMjAzNSw3ICsyMDU0LDcgQEAgU0VMRUNUICQxIFxwYXJzZSBzdG10 MQogICAgICAgPC92YXJsaXN0ZW50cnk+CiAKICAgICAgIDx2YXJsaXN0ZW50cnkgaWQ9ImFwcC1w c3FsLW1ldGEtY29tbWFuZC1kdSI+Ci0gICAgICAgIDx0ZXJtPjxsaXRlcmFsPlxkdVtTK10gWyA8 bGluayBsaW5rZW5kPSJhcHAtcHNxbC1wYXR0ZXJucyI+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPnBhdHRlcm48L3JlcGxhY2VhYmxlPjwvbGluaz4gXTwvbGl0ZXJhbD48L3Rlcm0+Cisg ICAgICAgIDx0ZXJtPjxsaXRlcmFsPlxkdVtTeCtdIFsgPGxpbmsgbGlua2VuZD0iYXBwLXBzcWwt cGF0dGVybnMiPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wYXR0ZXJuPC9yZXBsYWNl YWJsZT48L2xpbms+IF08L2xpdGVyYWw+PC90ZXJtPgogICAgICAgICA8bGlzdGl0ZW0+CiAgICAg ICAgIDxwYXJhPgogICAgICAgICBMaXN0cyBkYXRhYmFzZSByb2xlcy4KQEAgLTIwNTQsNyArMjA3 Myw3IEBAIFNFTEVDVCAkMSBccGFyc2Ugc3RtdDEKICAgICAgIDwvdmFybGlzdGVudHJ5PgogCiAg ICAgICA8dmFybGlzdGVudHJ5IGlkPSJhcHAtcHNxbC1tZXRhLWNvbW1hbmQtZHgtbGMiPgotICAg ICAgICA8dGVybT48bGl0ZXJhbD5cZHhbK10gWyA8bGluayBsaW5rZW5kPSJhcHAtcHNxbC1wYXR0 ZXJucyI+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBhdHRlcm48L3JlcGxhY2VhYmxl PjwvbGluaz4gXTwvbGl0ZXJhbD48L3Rlcm0+CisgICAgICAgIDx0ZXJtPjxsaXRlcmFsPlxkeFt4 K10gWyA8bGluayBsaW5rZW5kPSJhcHAtcHNxbC1wYXR0ZXJucyI+PHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPnBhdHRlcm48L3JlcGxhY2VhYmxlPjwvbGluaz4gXTwvbGl0ZXJhbD48L3Rl cm0+CiAgICAgICAgIDxsaXN0aXRlbT4KICAgICAgICAgPHBhcmE+CiAgICAgICAgIExpc3RzIGlu c3RhbGxlZCBleHRlbnNpb25zLgpAQCAtMjA2OCw3ICsyMDg3LDcgQEAgU0VMRUNUICQxIFxwYXJz ZSBzdG10MQogICAgICAgPC92YXJsaXN0ZW50cnk+CiAKICAgICAgIDx2YXJsaXN0ZW50cnkgaWQ9 ImFwcC1wc3FsLW1ldGEtY29tbWFuZC1keC11YyI+Ci0gICAgICAgIDx0ZXJtPjxsaXRlcmFsPlxk WCBbIDxsaW5rIGxpbmtlbmQ9ImFwcC1wc3FsLXBhdHRlcm5zIj48cmVwbGFjZWFibGUgY2xhc3M9 InBhcmFtZXRlciI+cGF0dGVybjwvcmVwbGFjZWFibGU+PC9saW5rPiBdPC9saXRlcmFsPjwvdGVy bT4KKyAgICAgICAgPHRlcm0+PGxpdGVyYWw+XGRYW3hdIFsgPGxpbmsgbGlua2VuZD0iYXBwLXBz cWwtcGF0dGVybnMiPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wYXR0ZXJuPC9yZXBs YWNlYWJsZT48L2xpbms+IF08L2xpdGVyYWw+PC90ZXJtPgogICAgICAgICA8bGlzdGl0ZW0+CiAg ICAgICAgIDxwYXJhPgogICAgICAgICBMaXN0cyBleHRlbmRlZCBzdGF0aXN0aWNzLgpAQCAtMjA5 MCw3ICsyMTA5LDcgQEAgU0VMRUNUICQxIFxwYXJzZSBzdG10MQogICAgICAgPC92YXJsaXN0ZW50 cnk+CiAKICAgICAgIDx2YXJsaXN0ZW50cnkgaWQ9ImFwcC1wc3FsLW1ldGEtY29tbWFuZC1keSI+ Ci0gICAgICAgIDx0ZXJtPjxsaXRlcmFsPlxkeVsrXSBbIDxsaW5rIGxpbmtlbmQ9ImFwcC1wc3Fs LXBhdHRlcm5zIj48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGF0dGVybjwvcmVwbGFj ZWFibGU+PC9saW5rPiBdPC9saXRlcmFsPjwvdGVybT4KKyAgICAgICAgPHRlcm0+PGxpdGVyYWw+ XGR5W3grXSBbIDxsaW5rIGxpbmtlbmQ9ImFwcC1wc3FsLXBhdHRlcm5zIj48cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+cGF0dGVybjwvcmVwbGFjZWFibGU+PC9saW5rPiBdPC9saXRlcmFs PjwvdGVybT4KICAgICAgICAgPGxpc3RpdGVtPgogICAgICAgICA8cGFyYT4KICAgICAgICAgTGlz dHMgZXZlbnQgdHJpZ2dlcnMuCkBAIC01Mzg2LDYgKzU0MDUsMzAgQEAgdGVzdGRiPSZndDsgPHVz ZXJpbnB1dD5cZGYgaW50KnBsICogYmlnaW50PC91c2VyaW5wdXQ+CiA8L3Byb2dyYW1saXN0aW5n PgogICA8L3BhcmE+CiAKKyAgPHBhcmE+CisgICBIZXJlLCB0aGUgPGxpdGVyYWw+KzwvbGl0ZXJh bD4gb3B0aW9uIGlzIHVzZWQgdG8gZGlzcGxheSBhZGRpdGlvbmFsCisgICBpbmZvcm1hdGlvbiBh Ym91dCBvbmUgb2YgdGhlc2UgZnVuY3Rpb25zLCBhbmQgPGxpdGVyYWw+eDwvbGl0ZXJhbD4gaXMg dXNlZAorICAgdG8gZGlzcGxheSB0aGUgcmVzdWx0cyBpbiBleHBhbmRlZCBtb2RlOgorPHByb2dy YW1saXN0aW5nPgordGVzdGRiPSZndDsgPHVzZXJpbnB1dD5cZGYreCBpbnQ0KnBsICogYmlnaW50 PC91c2VyaW5wdXQ+CitMaXN0IG9mIGZ1bmN0aW9ucworLVsgUkVDT1JEIDEgXS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1NjaGVtYSAgICAgICAgICAgICAgfCBwZ19jYXRh bG9nCitOYW1lICAgICAgICAgICAgICAgIHwgaW50NDhwbAorUmVzdWx0IGRhdGEgdHlwZSAgICB8 IGJpZ2ludAorQXJndW1lbnQgZGF0YSB0eXBlcyB8IGludGVnZXIsIGJpZ2ludAorVHlwZSAgICAg ICAgICAgICAgICB8IGZ1bmMKK1ZvbGF0aWxpdHkgICAgICAgICAgfCBpbW11dGFibGUKK1BhcmFs bGVsICAgICAgICAgICAgfCBzYWZlCitPd25lciAgICAgICAgICAgICAgIHwgcGdkZXZlbAorU2Vj dXJpdHkgICAgICAgICAgICB8IGludm9rZXIKK0FjY2VzcyBwcml2aWxlZ2VzICAgfAorTGFuZ3Vh Z2UgICAgICAgICAgICB8IGludGVybmFsCitJbnRlcm5hbCBuYW1lICAgICAgIHwgaW50NDhwbAor RGVzY3JpcHRpb24gICAgICAgICB8IGltcGxlbWVudGF0aW9uIG9mICsgb3BlcmF0b3IKKzwvcHJv Z3JhbWxpc3Rpbmc+CisgIDwvcGFyYT4KKwogICA8cGFyYT4KICAgV2hlbiBzdWl0YWJsZSwgcXVl cnkgcmVzdWx0cyBjYW4gYmUgc2hvd24gaW4gYSBjcm9zc3RhYiByZXByZXNlbnRhdGlvbgogICB3 aXRoIHRoZSA8Y29tbWFuZD5cY3Jvc3N0YWJ2aWV3PC9jb21tYW5kPiBjb21tYW5kOgpkaWZmIC0t Z2l0IGEvc3JjL2Jpbi9wc3FsL2NvbW1hbmQuYyBiL3NyYy9iaW4vcHNxbC9jb21tYW5kLmMKaW5k ZXggY2QxNmYyNzk0Ny4uNDYyYjIzMTE4ZiAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wc3FsL2NvbW1h bmQuYworKysgYi9zcmMvYmluL3BzcWwvY29tbWFuZC5jCkBAIC04NTAsNiArODUwLDcgQEAgZXhl Y19jb21tYW5kX2QoUHNxbFNjYW5TdGF0ZSBzY2FuX3N0YXRlLCBib29sIGFjdGl2ZV9icmFuY2gs IGNvbnN0IGNoYXIgKmNtZCkKIAkJY2hhcgkgICAqcGF0dGVybjsKIAkJYm9vbAkJc2hvd192ZXJi b3NlLAogCQkJCQlzaG93X3N5c3RlbTsKKwkJdW5zaWduZWQgc2hvcnQgaW50IHNhdmVfZXhwYW5k ZWQ7CiAKIAkJLyogV2UgZG9uJ3QgZG8gU1FMSUQgcmVkdWN0aW9uIG9uIHRoZSBwYXR0ZXJuIHll dCAqLwogCQlwYXR0ZXJuID0gcHNxbF9zY2FuX3NsYXNoX29wdGlvbihzY2FuX3N0YXRlLApAQCAt ODU4LDYgKzg1OSwxNiBAQCBleGVjX2NvbW1hbmRfZChQc3FsU2NhblN0YXRlIHNjYW5fc3RhdGUs IGJvb2wgYWN0aXZlX2JyYW5jaCwgY29uc3QgY2hhciAqY21kKQogCQlzaG93X3ZlcmJvc2UgPSBz dHJjaHIoY21kLCAnKycpID8gdHJ1ZSA6IGZhbHNlOwogCQlzaG93X3N5c3RlbSA9IHN0cmNocihj bWQsICdTJykgPyB0cnVlIDogZmFsc2U7CiAKKwkJLyoKKwkJICogVGhlICd4JyBvcHRpb24gdHVy bnMgZXhwYW5kZWQgbW9kZSBvbiBmb3IgdGhpcyBjb21tYW5kIG9ubHkuIFRoaXMKKwkJICogaXMg YWxsb3dlZCBpbiBhbGwgXGQqIGNvbW1hbmRzLCBleGNlcHQgXGQgYnkgaXRzZWxmLCBzaW5jZSBc ZHggaXMgYQorCQkgKiBzZXBhcmF0ZSBjb21tYW5kLCBhbmQgc28gdGhlICd4JyBvcHRpb24gY2Fu bm90IGFwcGVhciBpbW1lZGlhdGVseQorCQkgKiBhZnRlciB0aGUgaW5pdGlhbCAnZCcuCisJCSAq LworCQlzYXZlX2V4cGFuZGVkID0gcHNldC5wb3B0LnRvcHQuZXhwYW5kZWQ7CisJCWlmIChzdHJj aHIoJmNtZFsyXSwgJ3gnKSkKKwkJCXBzZXQucG9wdC50b3B0LmV4cGFuZGVkID0gMTsKKwogCQlz d2l0Y2ggKGNtZFsxXSkKIAkJewogCQkJY2FzZSAnXDAnOgpAQCAtODczLDEzICs4ODQsMTQgQEAg ZXhlY19jb21tYW5kX2QoUHNxbFNjYW5TdGF0ZSBzY2FuX3N0YXRlLCBib29sIGFjdGl2ZV9icmFu Y2gsIGNvbnN0IGNoYXIgKmNtZCkKIAkJCQl7CiAJCQkJCWNoYXIJICAgKnBhdHRlcm4yID0gTlVM TDsKIAotCQkJCQlpZiAocGF0dGVybiAmJiBjbWRbMl0gIT0gJ1wwJyAmJiBjbWRbMl0gIT0gJysn KQorCQkJCQlpZiAocGF0dGVybiAmJiBjbWRbMl0gIT0gJ1wwJyAmJiBjbWRbMl0gIT0gJysnICYm IGNtZFsyXSAhPSAneCcpCiAJCQkJCQlwYXR0ZXJuMiA9IHBzcWxfc2Nhbl9zbGFzaF9vcHRpb24o c2Nhbl9zdGF0ZSwgT1RfTk9STUFMLCBOVUxMLCB0cnVlKTsKIAogCQkJCQlzd2l0Y2ggKGNtZFsy XSkKIAkJCQkJewogCQkJCQkJY2FzZSAnXDAnOgogCQkJCQkJY2FzZSAnKyc6CisJCQkJCQljYXNl ICd4JzoKIAkJCQkJCQlzdWNjZXNzID0gZGVzY3JpYmVBY2Nlc3NNZXRob2RzKHBhdHRlcm4sIHNo b3dfdmVyYm9zZSk7CiAJCQkJCQkJYnJlYWs7CiAJCQkJCQljYXNlICdjJzoKQEAgLTk0MSw2ICs5 NTMsNyBAQCBleGVjX2NvbW1hbmRfZChQc3FsU2NhblN0YXRlIHNjYW5fc3RhdGUsIGJvb2wgYWN0 aXZlX2JyYW5jaCwgY29uc3QgY2hhciAqY21kKQogCQkJCQljYXNlICdwJzoKIAkJCQkJY2FzZSAn dCc6CiAJCQkJCWNhc2UgJ3cnOgorCQkJCQljYXNlICd4JzoKIAkJCQkJCXN1Y2Nlc3MgPSBleGVj X2NvbW1hbmRfZGZvKHNjYW5fc3RhdGUsIGNtZCwgcGF0dGVybiwKIAkJCQkJCQkJCQkJCSAgIHNo b3dfdmVyYm9zZSwgc2hvd19zeXN0ZW0pOwogCQkJCQkJYnJlYWs7CkBAIC05ODEsNiArOTk0LDcg QEAgZXhlY19jb21tYW5kX2QoUHNxbFNjYW5TdGF0ZSBzY2FuX3N0YXRlLCBib29sIGFjdGl2ZV9i cmFuY2gsIGNvbnN0IGNoYXIgKmNtZCkKIAkJCQkJCWNhc2UgJ3QnOgogCQkJCQkJY2FzZSAnaSc6 CiAJCQkJCQljYXNlICduJzoKKwkJCQkJCWNhc2UgJ3gnOgogCQkJCQkJCXN1Y2Nlc3MgPSBsaXN0 UGFydGl0aW9uZWRUYWJsZXMoJmNtZFsyXSwgcGF0dGVybiwgc2hvd192ZXJib3NlKTsKIAkJCQkJ CQlicmVhazsKIAkJCQkJCWRlZmF1bHQ6CkBAIC0xMDQxLDYgKzEwNTUsNyBAQCBleGVjX2NvbW1h bmRfZChQc3FsU2NhblN0YXRlIHNjYW5fc3RhdGUsIGJvb2wgYWN0aXZlX2JyYW5jaCwgY29uc3Qg Y2hhciAqY21kKQogCQkJCXsKIAkJCQkJY2FzZSAnXDAnOgogCQkJCQljYXNlICcrJzoKKwkJCQkJ Y2FzZSAneCc6CiAJCQkJCQlzdWNjZXNzID0gbGlzdFRTQ29uZmlncyhwYXR0ZXJuLCBzaG93X3Zl cmJvc2UpOwogCQkJCQkJYnJlYWs7CiAJCQkJCWNhc2UgJ3AnOgpAQCAtMTA5Myw2ICsxMTA4LDkg QEAgZXhlY19jb21tYW5kX2QoUHNxbFNjYW5TdGF0ZSBzY2FuX3N0YXRlLCBib29sIGFjdGl2ZV9i cmFuY2gsIGNvbnN0IGNoYXIgKmNtZCkKIAkJCQlzdGF0dXMgPSBQU1FMX0NNRF9VTktOT1dOOwog CQl9CiAKKwkJLyogUmVzdG9yZSBvcmlnaW5hbCBleHBhbmRlZCBtb2RlICovCisJCXBzZXQucG9w dC50b3B0LmV4cGFuZGVkID0gc2F2ZV9leHBhbmRlZDsKKwogCQlmcmVlKHBhdHRlcm4pOwogCX0K IAllbHNlCmRpZmYgLS1naXQgYS9zcmMvYmluL3BzcWwvZGVzY3JpYmUuYyBiL3NyYy9iaW4vcHNx bC9kZXNjcmliZS5jCmluZGV4IDI2NTdhYmRjNzIuLmNiZmIzN2U3MTYgMTAwNjQ0Ci0tLSBhL3Ny Yy9iaW4vcHNxbC9kZXNjcmliZS5jCisrKyBiL3NyYy9iaW4vcHNxbC9kZXNjcmliZS5jCkBAIC0z MDksOSArMzA5LDkgQEAgZGVzY3JpYmVGdW5jdGlvbnMoY29uc3QgY2hhciAqZnVuY3R5cGVzLCBj b25zdCBjaGFyICpmdW5jX3BhdHRlcm4sCiAJLyogTm8gIlBhcmFsbGVsIiBjb2x1bW4gYmVmb3Jl IDkuNiAqLwogCXN0YXRpYyBjb25zdCBib29sIHRyYW5zbGF0ZV9jb2x1bW5zX3ByZV85NltdID0g e2ZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgdHJ1ZSwgZmFs c2UsIGZhbHNlLCBmYWxzZSwgZmFsc2V9OwogCi0JaWYgKHN0cmxlbihmdW5jdHlwZXMpICE9IHN0 cnNwbihmdW5jdHlwZXMsICJhbnB0d1MrIikpCisJaWYgKHN0cmxlbihmdW5jdHlwZXMpICE9IHN0 cnNwbihmdW5jdHlwZXMsICJhbnB0d1N4KyIpKQogCXsKLQkJcGdfbG9nX2Vycm9yKCJcXGRmIG9u bHkgdGFrZXMgW2FucHR3UytdIGFzIG9wdGlvbnMiKTsKKwkJcGdfbG9nX2Vycm9yKCJcXGRmIG9u bHkgdGFrZXMgW2FucHR3U3grXSBhcyBvcHRpb25zIik7CiAJCXJldHVybiB0cnVlOwogCX0KIAo= --000000000000897cda062a79302a--