From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?Q?=E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0_?= =?UTF-8?Q?=E0=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9?= Sameer Singh Newsgroups: gmane.emacs.bugs Subject: bug#55370: [PATCH] Add support for the Syloti Nagri script Date: Sun, 15 May 2022 05:17:07 +0530 Message-ID: References: <83wnerp6p0.fsf@gnu.org> <83bkw2q28v.fsf@gnu.org> <837d6qpvdo.fsf@gnu.org> <831qwyptr7.fsf@gnu.org> <83sfpeoe81.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="00000000000008952505df016bc3" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="9213"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 55370@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun May 15 01:48:14 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nq1Ub-0002Ha-Pq for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 15 May 2022 01:48:13 +0200 Original-Received: from localhost ([::1]:46492 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nq1Ua-0005EG-Cn for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 14 May 2022 19:48:12 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:38948) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nq1UQ-0005E5-Rq for bug-gnu-emacs@gnu.org; Sat, 14 May 2022 19:48:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:53831) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nq1UQ-0003XP-Jh for bug-gnu-emacs@gnu.org; Sat, 14 May 2022 19:48:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nq1UQ-0003lr-HY for bug-gnu-emacs@gnu.org; Sat, 14 May 2022 19:48:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: =?UTF-8?Q?=E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0_?= =?UTF-8?Q?=E0=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9?= Sameer Singh Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 14 May 2022 23:48:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55370 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 55370-submit@debbugs.gnu.org id=B55370.165257207614453 (code B ref 55370); Sat, 14 May 2022 23:48:02 +0000 Original-Received: (at 55370) by debbugs.gnu.org; 14 May 2022 23:47:56 +0000 Original-Received: from localhost ([127.0.0.1]:47728 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nq1UJ-0003kz-LB for submit@debbugs.gnu.org; Sat, 14 May 2022 19:47:56 -0400 Original-Received: from mail-qv1-f53.google.com ([209.85.219.53]:35459) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nq1UG-0003k2-UD for 55370@debbugs.gnu.org; Sat, 14 May 2022 19:47:54 -0400 Original-Received: by mail-qv1-f53.google.com with SMTP id dm17so716990qvb.2 for <55370@debbugs.gnu.org>; Sat, 14 May 2022 16:47:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=tW/BObW77Ot8esOTHxFQlx8CDolEscBa0KAJbBHRrs0=; b=aXmU1aTd0L6cBo1dKkKobU6nfpT/1mOiHK23+U2/ie/5IORIxy4Xc09YHILeBLzXXL lKEunjtKz0zOzNWyXEPz43YvWJAeRX5LpNsgKHgVLBjl4D08vi4AlXTYwpC1h187k8I0 mGkSOgI5gtuqr4gD/gJOpQ4iVioNTLy85VJhkMDkENPALnplBqtbTPhB/2DGdqJMOU2B PZBeX43uxyYBaiynC3DdjQAnN5PPSDlbnWy+OWnuOIDp52Zpo6k8uqis+moB3cDn5uvM yZNhiVsw6ku8iYMtgaOGQqqrsHW7IqDbi2tt1lM9iggFB2RirLOJqJhNoDH3c1qrkZmn 9seQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=tW/BObW77Ot8esOTHxFQlx8CDolEscBa0KAJbBHRrs0=; b=GcpwmBY94iZMflBKFmaTDshRYFkOHFdxtVr9GwvAUtAeUcZ0aXma5DDnEsMbBMwMmZ 1gmcdRkrKMgUXm6M+h2+SMg/Drv1X3/AfBQcOwaH1W/EiFaeibSVqJsUodiQhPTTDYwd sFGYIJLMnAyrd4KJogMwRpGIFmfNLTVxI2pTLUTHP5o1lq64DMoTDWWKq7/vM8M2gzHc Kt0vz9nLlzRPrDMZnM7z1f96e9Vo8yZ8y5rdVHbmoFkj3l6E3mviipJodNnpgNRGZbr+ 12OvEoRgW1OHp+KK7c4ve+dcp1UNn06mUMu6A/TzGK0yNDwr0LWcrBHNpOG339xC/e0g vPiw== X-Gm-Message-State: AOAM531n/Vwb/q7xYcitRS/F5mfeQ6ZBZO8gOrZgZVxSBE/R9EIPy7l2 gkXI0H37/ekH4YiITZ/L8hUE9wKN/KsYo5pf8a0s81SEpCJOZA== X-Google-Smtp-Source: ABdhPJwYLMrFpzkfCECOZgUmNXE3m/JPqraH7mPxLxiGnzHR/2kNJTWkShxgXjX4GfPOBC6MW5nU6fJ3354eSw7rDxs= X-Received: by 2002:ad4:58b4:0:b0:461:ca02:7577 with SMTP id ea20-20020ad458b4000000b00461ca027577mr169102qvb.71.1652572067227; Sat, 14 May 2022 16:47:47 -0700 (PDT) In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:232262 Archived-At: --00000000000008952505df016bc3 Content-Type: multipart/alternative; boundary="00000000000008952305df016bc1" --00000000000008952305df016bc1 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable I have updated the patch. 1. Wherever the nasal signs are not in range, I have not included them in a composition rule if they appear alone with a character and left them up to composite.el. For eg in Kaithi - ;; Nasal vowels - (concat independent-vowel nasal "?") + ;; Vowel based syllables + (concat independent-vowel nukta "?" virama "?" vowel "?") 2. I have also written composition rules for independent vowels with nukta, virama, vowel signs etc, so that Emacs does not hang when they are typed together. Please review the patch. On Thu, May 12, 2022 at 10:58 PM =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0 =E0= =A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9 Sameer Singh < lumarzeli30@gmail.com> wrote: > Ok I will do that, thanks! > > On Thu, May 12, 2022 at 10:55 PM Eli Zaretskii wrote: > >> > From: =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0 =E0=A4=B8=E0=A4=BF=E0=A4=82= =E0=A4=B9 Sameer Singh >> > Date: Thu, 12 May 2022 22:40:02 +0530 >> > Cc: 55370@debbugs.gnu.org >> > >> > Yes it was not correct, this seems more appropriate. >> > >> > ;; Syloti Nagri composition rules >> > (let ((consonant "[\xA807-\xA80A\xA80C-\xA822]") >> > (independent-vowel "[\xA800\xA801\xA803-\xA805]") >> > (vowel "[\xA802\xA823-\xA827]") >> > (nasal "[\xA80B]") >> > (virama "[\xA806\xA82C]")) >> > (set-char-table-range composition-function-table >> > '(#xA802 . #xA82C) >> > (list (vector >> > ;; Consonant conjunct based syllables >> > (concat independent-vowel "?" consonant >> "\\(?:" virama consonant "\\)+" >> > vowel "?" nasal "?") >> > 1 'font-shape-gstring)))) >> > >> > btw this range does not cause emacs to slow down, right? >> >> It might, because the range is very large, and so any character in the >> range #xA802..#xA82C will cause Emacs to try to match the regexp. >> >> So if there's a way of having the rules on fewer characters, that >> would be better, even if there will be more rules. >> >> > also should I send separate patches for the syloti nagri, and the fix >> for previous scripts, or combine them into >> > one? >> >> You can combine them into a single patch, just make sure the log >> message mentions all the changes. >> >> Thanks. >> > --00000000000008952305df016bc1 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I have updated the patch.

1.= Wherever the nasal signs are not in range, I have not included them in a c= omposition rule if they appear alone with a character and left them up to c= omposite.el.
For eg in Kaithi

- ;; Nasal vowels
= - (concat independent-vowel nasal "?")
+ ;; Vowel based syllab= les
+ (concat independent-vowel nukta "?" virama "?"= vowel "?")

2. I have also written compo= sition rules for independent vowels with nukta, virama, vowel signs etc, so= that Emacs does not hang when they are typed together.

Please review the patch.

On Thu, May 12, 2022 at 10:58 PM =E0=A4= =B8=E0=A4=AE=E0=A5=80=E0=A4=B0 =E0=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9 Sameer = Singh <lumarzeli30@gmail.com> wrote:
Ok I will do that, thanks!

> From: =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0 =E0=A4=B8=E0=A4=BF= =E0=A4=82=E0=A4=B9 Sameer Singh <lumarzeli30@gmail.com>
> Date: Thu, 12 May 2022 22:40:02 +0530
> Cc: 55370@d= ebbugs.gnu.org
>
> Yes it was not correct, this seems more appropriate.
>
> ;; Syloti Nagri composition rules
> (let ((consonant=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 "[\xA80= 7-\xA80A\xA80C-\xA822]")
>=C2=A0 =C2=A0 =C2=A0 =C2=A0(independent-vowel=C2=A0 =C2=A0 "[\xA80= 0\xA801\xA803-\xA805]")
>=C2=A0 =C2=A0 =C2=A0 =C2=A0(vowel=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 "[\xA802\xA823-\xA827]")
>=C2=A0 =C2=A0 =C2=A0 =C2=A0(nasal=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 "[\xA80B]")
>=C2=A0 =C2=A0 =C2=A0 =C2=A0(virama=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0"[\xA806\xA82C]"))
>=C2=A0 =C2=A0(set-char-table-range composition-function-table
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0'(#xA802 . #xA82C)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0(list (vector
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ;; Consonant conjunct based sylla= bles
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (concat independent-vowel "?= " consonant "\\(?:" virama consonant "\\)+"
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 vowel= "?" nasal "?")
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 1 'font-shape-gstring))))
>
> btw this range does not cause emacs to slow down, right?

It might, because the range is very large, and so any character in the
range #xA802..#xA82C will cause Emacs to try to match the regexp.

So if there's a way of having the rules on fewer characters, that
would be better, even if there will be more rules.

> also should I send separate patches for the syloti nagri, and the fix = for previous scripts, or combine them into
> one?

You can combine them into a single patch, just make sure the log
message mentions all the changes.

Thanks.
--00000000000008952305df016bc1-- --00000000000008952505df016bc3 Content-Type: text/x-patch; charset="UTF-8"; name="0001-Add-support-for-the-Syloti-Nagri-script.patch" Content-Disposition: attachment; filename="0001-Add-support-for-the-Syloti-Nagri-script.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l36ihfly0 RnJvbSAyMzFhMTEzYjcyMWU5MmE2MmNlMTcxYjk4YzM0NjFjMjU1NDI5ODYyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUUwPUE0PUI4PUUwPUE0PUFFPUUwPUE1PTgw PUUwPUE0PUIwPTIwPUUwPUE0PUI4PUUwPUE0PUJGPz0KID0/VVRGLTg/cT89RTA9QTQ9ODI9RTA9 QTQ9Qjk9MjBTYW1lZXI9MjBTaW5naD89IDxsdW1hcnplbGkzMEBnbWFpbC5jb20+CkRhdGU6IFN1 biwgMTUgTWF5IDIwMjIgMDU6MDk6MTUgKzA1MzAKU3ViamVjdDogW1BBVENIXSBBZGQgc3VwcG9y dCBmb3IgdGhlIFN5bG90aSBOYWdyaSBzY3JpcHQKCiogbGlzcC9sYW5ndWFnZS9pbmRpYW4uZWwg KCJTeWxvdGkgTmFncmkiKTogTmV3IGxhbmd1YWdlIGVudmlyb25tZW50LgpBZGQgY29tcG9zaXRp b24gcnVsZXMgZm9yIFN5bG90aSBOYWdyaS4gIEFkZCBzYW1wbGUgdGV4dCBhbmQgaW5wdXQKbWV0 aG9kLgpJbXByb3ZlIGNvbXBvc2l0aW9uIHJ1bGVzIGZvciBLYWl0aGksIFRpcmh1dGEsIFNoYXJh ZGEgYW5kIFNpZGRoYW0uCiogbGlzcC9pbnRlcm5hdGlvbmFsL2ZvbnRzZXQuZWwgKHNjcmlwdC1y ZXByZXNlbnRhdGl2ZS1jaGFycykKKHNldHVwLWRlZmF1bHQtZm9udHNldCk6IFN1cHBvcnQgU3ls b3RpIE5hZ3JpLgoqIGxpc3AvbGVpbS9xdWFpbC9pbmRpYW4uZWwgKCJzeWxvdGktbmFncmkiKTog TmV3IGlucHV0IG1ldGhvZC4KCiogZXRjL0hFTExPOiBBZGQgdHdvIFN5bG90aSBOYWdyaSBncmVl dGluZ3MuCiogZXRjL05FV1M6IEFubm91bmNlIHRoZSBuZXcgbGFuZ3VhZ2UgZW52aXJvbm1lbnQg YW5kIGl0cwppbnB1dCBtZXRob2QuCi0tLQogZXRjL0hFTExPICAgICAgICAgICAgICAgICAgICAg fCAgMSArCiBldGMvTkVXUyAgICAgICAgICAgICAgICAgICAgICB8ICA1ICsrKwogbGlzcC9pbnRl cm5hdGlvbmFsL2ZvbnRzZXQuZWwgfCAgMiArCiBsaXNwL2xhbmd1YWdlL2luZGlhbi5lbCAgICAg ICB8IDc5ICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KIGxpc3AvbGVpbS9xdWFp bC9pbmRpYW4uZWwgICAgIHwgODEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK IDUgZmlsZXMgY2hhbmdlZCwgMTUxIGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2V0Yy9IRUxMTyBiL2V0Yy9IRUxMTwppbmRleCBiMTRmYTBlODYxLi4xNmEzOGI1 OWQzIDEwMDY0NAotLS0gYS9ldGMvSEVMTE8KKysrIGIvZXRjL0hFTExPCkBAIC04Miw2ICs4Miw3 IEBAIFNsb3ZhayAoc2xvdmVuxI1pbmEpCURvYnLDvSBkZcWICiBTbG92ZW5pYW4gKHNsb3ZlbsWh xI1pbmEpCVBvemRyYXZsamVuaSEKIFNwYW5pc2ggKGVzcGHDsW9sKQnCoUhvbGEhCiBTd2VkaXNo IChzdmVuc2thKQlIZWogLyBHb2RkYWcgLyBIYWxsw6UKK1N5bG90aSBOYWdyaSAo6qCN6qCk6qCf 6qCQ6qCkIOqgmOqgo+qgieqgnuqgpCkJ6qCA6qCM6qCG6qCN6qCj6qCf6qCj6qCd6qClIOqggOqg n+qgo+qggeqgh+qgpeqgnSAvIOqgmOqgneqgoeqghuqgh+qgo+qgngogVGFtaWwgKOCupOCuruCu v+CutOCvjSkJ4K614K6j4K6V4K+N4K6V4K6u4K+NCiBUZWx1Z3UgKOCwpOCxhuCwsuCxgeCwl+Cx gSkJ4LCo4LCu4LC44LGN4LCV4LC+4LCw4LCCCiBUYWlWaWV0ICjqqoHqqqvqqrHqqqMg6qq86qqV KQnqqoXqqrDqqpnqq4Ig6qqo6qqu6quCIOqqgeqqq+qqsSAvIOqqheqqvSDqqqjqqrcg6qqB6qqr 6qqxCmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTCmluZGV4IGQ5M2E3OWVkMzYuLjI5 NjJhNTBkOTkgMTAwNjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBAIC03OTEsNiAr NzkxLDExIEBAIGxhbmd1YWdlLiAgTm93YWRheXMgaXQgaXMgbW9zdGx5IHVzZWQgYnkgdGhlIEJ1 ZGRoaXN0IG1vbmtzIGluIEphcGFuIGZvcgogcmVsaWdpb3VzIHdyaXRpbmdzLiAgQSBuZXcgaW5w dXQgbWV0aG9kLCAnc2lkZGhhbScsIGlzIHByb3ZpZGVkIHRvIHR5cGUKIHRleHQgaW4gdGhpcyBz Y3JpcHQuCiAKKyoqKiBOZXcgbGFuZ3VhZ2UgZW52aXJvbm1lbnQgIlN5bG90aSBOYWdyaSIKK1Ro aXMgbGFuZ3VhZ2UgZW52aXJvbm1lbnQgc3VwcG9ydHMgdGhlIFN5bG90aSBOYWdyaSBzY3JpcHQg Zm9yIHRoZSBTeWxoZXRpCitsYW5ndWFnZSwgd2hpY2ggaXMgc3Bva2UgaW4gcGFydHMgb2YgQmFu Z2xhZGVzaCwgQXNzYW0gYW5kIFRyaXB1cmEuICBBIG5ldworaW5wdXQgbWV0aG9kLCAnc3lsb3Rp LW5hZ3JpJywgaXMgcHJvdmlkZWQgdG8gdHlwZSB0ZXh0IGluIHRoaXMgc2NyaXB0LgorCiAtLS0K ICoqKiBOZXcgR3JlZWsgdHJhbnNsYXRpb24gb2YgdGhlIEVtYWNzIHR1dG9yaWFsLgogVHlwZSAn Qy11IEMtaCB0JyB0byBzZWxlY3QgaXQgaW4gY2FzZSB5b3VyIGxhbmd1YWdlIHNldHVwIGRvZXMg bm90IGRvCmRpZmYgLS1naXQgYS9saXNwL2ludGVybmF0aW9uYWwvZm9udHNldC5lbCBiL2xpc3Av aW50ZXJuYXRpb25hbC9mb250c2V0LmVsCmluZGV4IDE0NGMzNzYxYTAuLjI1NzliODM5ZGQgMTAw NjQ0Ci0tLSBhL2xpc3AvaW50ZXJuYXRpb25hbC9mb250c2V0LmVsCisrKyBiL2xpc3AvaW50ZXJu YXRpb25hbC9mb250c2V0LmVsCkBAIC0xOTQsNiArMTk0LDcgQEAgZm9udC1lbmNvZGluZy1jaGFy c2V0LWFsaXN0CiAJKGthbmJ1biAjeDMxOUQpCiAJKGhhbiAjeDVCNTcpCiAJKHlpICN4QTI4OCkK KyAgICAgICAgKHN5bG90aS1uYWdyaSAjeEE4MDcgI3hBODIzICN4QTgyQykKIAkoamF2YW5lc2Ug I3hBOTgwKQogCShjaGFtICN4QUEwMCkKIAkodGFpLXZpZXQgI3hBQTgwKQpAQCAtNzQ4LDYgKzc0 OSw3IEBAIHNldHVwLWRlZmF1bHQtZm9udHNldAogCQkgICAgc3ltYm9sCiAJCSAgICBicmFpbGxl CiAJCSAgICB5aQorICAgICAgICAgICAgICAgICAgICBzeWxvdGktbmFncmkKICAgICAgICAgICAg ICAgICAgICAgamF2YW5lc2UKIAkJICAgIHRhaS12aWV0CiAJCSAgICBhZWdlYW4tbnVtYmVyCmRp ZmYgLS1naXQgYS9saXNwL2xhbmd1YWdlL2luZGlhbi5lbCBiL2xpc3AvbGFuZ3VhZ2UvaW5kaWFu LmVsCmluZGV4IGIzOTk3NTZiYmUuLjU1OTIzOWI0OTEgMTAwNjQ0Ci0tLSBhL2xpc3AvbGFuZ3Vh Z2UvaW5kaWFuLmVsCisrKyBiL2xpc3AvbGFuZ3VhZ2UvaW5kaWFuLmVsCkBAIC0xODAsNiArMTgw LDE3IEBAICdkZXZhbmFnYXJpCiBpbiB0aGlzIGxhbmd1YWdlIGVudmlyb25tZW50LiIpKQogICco IkluZGlhbiIpKQogCisoc2V0LWxhbmd1YWdlLWluZm8tYWxpc3QKKyAiU3lsb3RpIE5hZ3JpIiAn KChjaGFyc2V0IHVuaWNvZGUpCisgICAgICAgICAgICAgICAgICAoY29kaW5nLXN5c3RlbSB1dGYt OCkKKyAgICAgICAgICAgICAgICAgIChjb2RpbmctcHJpb3JpdHkgdXRmLTgpCisgICAgICAgICAg ICAgICAgICAoaW5wdXQtbWV0aG9kIC4gInN5bG90aS1uYWdyaSIpCisgICAgICAgICAgICAgICAg ICAoc2FtcGxlLXRleHQgLiAiU3lsb3RpIE5hZ3JpICjqoI3qoKTqoJ/qoJDqoKQg6qCY6qCj6qCJ 6qCe6qCkKSAgICAgICAg6qCA6qCM6qCG6qCN6qCj6qCf6qCj6qCd6qClIOqggOqgn+qgo+qggeqg h+qgpeqgnSIpCisgICAgICAgICAgICAgICAgICAoZG9jdW1lbnRhdGlvbiAuICJcCitTeWxoZXRp IGxhbmd1YWdlIGFuZCBpdHMgc2NyaXB0IFN5bG90aSBOYWdyaSBpcyBzdXBwb3J0ZWQKK2luIHRo aXMgbGFuZ3VhZ2UgZW52aXJvbm1lbnQuIikpCisgJygiSW5kaWFuIikpCisKIAogOzsgUmVwbGFj ZSBtbmVtb25pYyBjaGFyYWN0ZXJzIGluIFJFR0VYUCBhY2NvcmRpbmcgdG8gVEFCTEUuICBUQUJM RSBpcwogOzsgYW4gYWxpc3Qgb2YgKE1ORU1PTklDLVNUUklORyAuIFJFUExBQ0VNRU5ULVNUUklO RykuCkBAIC00ODUsMTIgKzQ5NiwxMyBAQCBtYWxheWFsYW0tY29tcG9zYWJsZS1wYXR0ZXJuCiAg ICAgICAgICAgICAgICAgICAgICAgICAnKCN4MTEwQjAgLiAjeDExMEJBKQogICAgICAgICAgICAg ICAgICAgICAgICAgKGxpc3QgKHZlY3RvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDs7IENvbnNvbmFudCBiYXNlZCBzeWxsYWJsZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoY29uY2F0IGNvbnNvbmFudCBudWt0YSAiP1xcKD86IiB2aXJhbWEgendqICI/IiBjb25z b25hbnQgbnVrdGEgIj9cXCkqXFwoPzoiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB2aXJhbWEgendqICI/XFx8IiB2b3dlbCAiKiIgbnVrdGEgIj8iIG5hc2FsICI/XFwp IikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uY2F0IGNvbnNvbmFudCBudWt0 YSAiP1xcKD86IiB2aXJhbWEgendqICI/IiBjb25zb25hbnQKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG51a3RhICI/XFwpKlxcKD86IiB2aXJhbWEgendqICI/XFx8IiB2 b3dlbCAiKiIgbnVrdGEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI/ IiBuYXNhbCAiP1xcKSIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAnZm9udC1z aGFwZS1nc3RyaW5nKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZlY3RvcgotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IE5hc2FsIHZvd2VscwotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChjb25jYXQgaW5kZXBlbmRlbnQtdm93ZWwgbmFzYWwgIj8iKQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IFZvd2VsIGJhc2VkIHN5bGxhYmxlcwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25jYXQgaW5kZXBlbmRlbnQtdm93ZWwg bnVrdGEgIj8iIHZpcmFtYSAiPyIgdm93ZWwgIj8iKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDEgJ2ZvbnQtc2hhcGUtZ3N0cmluZykpKQogICAoc2V0LWNoYXItdGFibGUtcmFuZ2Ug Y29tcG9zaXRpb24tZnVuY3Rpb24tdGFibGUKICAgICAgICAgICAgICAgICAgICAgICAgICcoI3gx MTBCRCAuICN4MTEwQkQpCkBAIC01MTYsMTIgKzUyOCwxMyBAQCBtYWxheWFsYW0tY29tcG9zYWJs ZS1wYXR0ZXJuCiAgICAgICAgICAgICAgICAgICAgICAgICAnKCN4MTE0QjAgLiAjeDExNEMzKQog ICAgICAgICAgICAgICAgICAgICAgICAgKGxpc3QgKHZlY3RvcgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDs7IENvbnNvbmFudCBiYXNlZCBzeWxsYWJsZXMKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoY29uY2F0IGNvbnNvbmFudCBudWt0YSAiP1xcKD86IiB2aXJhbWEg Y29uc29uYW50IG51a3RhICI/XFwpKlxcKD86IgotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdmlyYW1hICJcXHwiIHZvd2VsICIqIiBudWt0YSAiPyIgbmFzYWwgIj9cXCki KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25jYXQgY29uc29uYW50IG51a3Rh ICI/XFwoPzoiIHZpcmFtYSBjb25zb25hbnQgbnVrdGEKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICI/XFwpKlxcKD86IiB2aXJhbWEgIlxcfCIgdm93ZWwgIioiIG51a3Rh ICI/IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFzYWwgIj9cXCki KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgJ2ZvbnQtc2hhcGUtZ3N0cmluZykK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2ZWN0b3IKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA7OyBOYXNhbCB2b3dlbHMKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoY29uY2F0IGluZGVwZW5kZW50LXZvd2VsIG5hc2FsICI/IikKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA7OyBWb3dlbCBiYXNlZCBzeWxsYWJsZXMKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoY29uY2F0IGluZGVwZW5kZW50LXZvd2VsIG51a3RhICI/IiB2aXJh bWEgIj8iIHZvd2VsICI/IiBuYXNhbCAiPyIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMSAnZm9udC1zaGFwZS1nc3RyaW5nKSkpKQogCiA7OyBTaGFyYWRhIGNvbXBvc2l0aW9uIHJ1 bGVzCkBAIC01MzUsMTkgKzU0OCwyMSBAQCBtYWxheWFsYW0tY29tcG9zYWJsZS1wYXR0ZXJuCiAg ICAgICAodmlyYW1hICAgICAgICAgICAgICAgICAiXHgxMTFDMCIpCiAgICAgICAoZnJpY2F0aXZl cyAgICAgICAgICAgICAiW1x4MTExQzJceDExMUMzXSIpCiAgICAgICAoc2FuZGhpLW1hcmsgICAg ICAgICAgICAiXHgxMTFDOSIpCi0gICAgICAobWlzYyAgICAgICAgICAgICAgICAgICAiW15ceDEx MTgwLVx4MTExQzBceDExMUMyXHgxMTFDM1x4MTExQzktXHgxMTFDQ1x4MTExQ0UtXHgxMTFDRl0i KSkKKyAgICAgIChtaXNjICAgICAgICAgICAgICAgICAgICJbXHgxMTFDNC1ceDExMUM4XHgxMTFD RF0iKSkKICAgKHNldC1jaGFyLXRhYmxlLXJhbmdlIGNvbXBvc2l0aW9uLWZ1bmN0aW9uLXRhYmxl Ci0gICAgICAgICAgICAgICAgICAgICAgICAnKCN4MTExQjMgLiAjeDExMUNGKQorICAgICAgICAg ICAgICAgICAgICAgICAgJygjeDExMUIzIC4gI3gxMTFDRSkKICAgICAgICAgICAgICAgICAgICAg ICAgIChsaXN0ICh2ZWN0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBDb25z b25hbnQgYmFzZWQgc3lsbGFibGVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNv bmNhdCBjb25zb25hbnQgbnVrdGEgIj8iIHZvd2VsLW1vZGlmaWVyICI/XFwoPzoiIHZpcmFtYQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29uYW50IG51a3RhICI/ IiB2b3dlbC1tb2RpZmllciAiP1xcKSpcXCg/OiIgdmlyYW1hCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiXFx8IiB2b3dlbCAiKiIgbnVrdGEgIj8iIG5hc2FsICI/IiBl eHRyYS1zaG9ydC12b3dlbC1tYXJrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiPyIgdm93ZWwtbW9kaWZpZXIgIj8iIHNhbmRoaS1tYXJrICI/KyIgbWlzYyAiP1xcKSIp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIj8iIHZvd2VsLW1vZGlm aWVyICI/IiBzYW5kaGktbWFyayAiPysiIG1pc2MgIj9cXCkiKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDEgJ2ZvbnQtc2hhcGUtZ3N0cmluZykKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICh2ZWN0b3IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBOYXNh bCB2b3dlbHMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uY2F0IGluZGVwZW5k ZW50LXZvd2VsIG5hc2FsICI/IikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBW b3dlbCBiYXNlZCBzeWxsYWJsZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29u Y2F0IGluZGVwZW5kZW50LXZvd2VsIG51a3RhICI/IiB2b3dlbC1tb2RpZmllciAiPyIgdmlyYW1h ICI/IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm93ZWwgIj8iIGV4 dHJhLXNob3J0LXZvd2VsLW1hcmsgIj8iIHNhbmRoaS1tYXJrICI/IgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZnJpY2F0aXZlcyAiPyIgbWlzYyAiPyIpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMSAnZm9udC1zaGFwZS1nc3RyaW5nKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHZlY3RvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDs7IEZyaWNhdGl2ZXMgd2l0aCBDb25zb25hbnRzCkBAIC01NjAsMTcgKzU3NSw0NyBAQCBt YWxheWFsYW0tY29tcG9zYWJsZS1wYXR0ZXJuCiAgICAgICAoaW5kZXBlbmRlbnQtdm93ZWwgICAg IltceDExNTgwLVx4MTE1OERceDExNUQ4LVx4MTE1REJdIikKICAgICAgICh2b3dlbCAgICAgICAg ICAgICAgICAiW1x4MTE1QUYtXHgxMTVCQlx4MTE1RENceDExNUREXSIpCiAgICAgICAobmFzYWwg ICAgICAgICAgICAgICAgIltceDExNUJDXHgxMTVCRF0iKQorICAgICAgKHZpc2FyZ2EgICAgICAg ICAgICAgICJceDExNUJFIikKICAgICAgICh2aXJhbWEgICAgICAgICAgICAgICAiXHgxMTVCRiIp KQogICAoc2V0LWNoYXItdGFibGUtcmFuZ2UgY29tcG9zaXRpb24tZnVuY3Rpb24tdGFibGUKICAg ICAgICAgICAgICAgICAgICAgICAgICcoI3gxMTVBRiAuICN4MTE1QzApCiAgICAgICAgICAgICAg ICAgICAgICAgICAobGlzdCAodmVjdG9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg OzsgQ29uc29uYW50IGJhc2VkIHN5bGxhYmxlcwotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChjb25jYXQgY29uc29uYW50IG51a3RhICI/XFwoPzoiIHZpcmFtYSBjb25zb25hbnQgbnVr dGEgIj9cXCkqXFwoPzoiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2 aXJhbWEgIlxcfCIgdm93ZWwgIioiIG51a3RhICI/IiBuYXNhbCAiP1xcKSIpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKGNvbmNhdCBjb25zb25hbnQgbnVrdGEgIj8iICJcXCg/OiIg dmlyYW1hIGNvbnNvbmFudCBudWt0YQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIj9cXCkqXFwoPzoiIHZpcmFtYSAiXFx8IiB2b3dlbCAiKiIgbnVrdGEgIj8iIG5hc2Fs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiPyIgdmlzYXJnYSAiP1xc KSIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAnZm9udC1zaGFwZS1nc3RyaW5n KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZlY3RvcgotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDs7IE5hc2FsIHZvd2VscwotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChjb25jYXQgaW5kZXBlbmRlbnQtdm93ZWwgbmFzYWwgIj8iKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDs7IFZvd2VscyBiYXNlZCBzeWxsYWJsZXMKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoY29uY2F0IGluZGVwZW5kZW50LXZvd2VsIG51a3RhICI/IiB2 aXJhbWEgIj8iIHZvd2VsICI/IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbmFzYWwgIj8iIHZpc2FyZ2EgIj8iKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDEgJ2ZvbnQtc2hhcGUtZ3N0cmluZykpKSkKKworOzsgU3lsb3RpIE5hZ3JpIGNvbXBvc2l0aW9u IHJ1bGVzCisobGV0ICgoY29uc29uYW50ICAgICAgICAgICAgIltceEE4MDctXHhBODBBXHhBODBD LVx4QTgyMl0iKQorICAgICAgKHZvd2VsICAgICAgICAgICAgICAgICJbXHhBODAyXHhBODIzLVx4 QTgyN10iKQorICAgICAgKG5hc2FsICAgICAgICAgICAgICAgICJbXHhBODBCXSIpCisgICAgICAo dmlyYW1hICAgICAgICAgICAgICAgIlx4QTgwNiIpCisgICAgICAoYWx0ZXJuYXRlLXZpcmFtYSAg ICAgIlx4QTgyQyIpKQorICAoc2V0LWNoYXItdGFibGUtcmFuZ2UgY29tcG9zaXRpb24tZnVuY3Rp b24tdGFibGUKKyAgICAgICAgICAgICAgICAgICAgICAgICcoI3hBODA2IC4gI3hBODA2KQorICAg ICAgICAgICAgICAgICAgICAgICAgKGxpc3QgKHZlY3RvcgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDs7IENvbnNvbmFudCBjb25qdW5jdCBiYXNlZCBzeWxsYWJsZXMKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoY29uY2F0IGNvbnNvbmFudCAiXFwoPzoiIHZpcmFtYSBj b25zb25hbnQgIlxcKSsiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2 b3dlbCAiPyIgbmFzYWwgIj8iKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgJ2Zv bnQtc2hhcGUtZ3N0cmluZykpKQorICAoc2V0LWNoYXItdGFibGUtcmFuZ2UgY29tcG9zaXRpb24t ZnVuY3Rpb24tdGFibGUKKyAgICAgICAgICAgICAgICAgICAgICAgICcoI3hBODIzIC4gI3hBODI3 KQorICAgICAgICAgICAgICAgICAgICAgICAgKGxpc3QgKHZlY3RvcgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDs7IE5vbiBDb25zb25hbnQgY29uanVuY3QgYmFzZWQgc3lsbGFibGVz CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbmNhdCBjb25zb25hbnQgdm93ZWwg bmFzYWwgIj8iKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgJ2ZvbnQtc2hhcGUt Z3N0cmluZykpKQorICAgIChzZXQtY2hhci10YWJsZS1yYW5nZSBjb21wb3NpdGlvbi1mdW5jdGlv bi10YWJsZQorICAgICAgICAgICAgICAgICAgICAgICAgJygjeEE4MkMgLiAjeEE4MkMpCisgICAg ICAgICAgICAgICAgICAgICAgICAobGlzdCAodmVjdG9yCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgOzsgQ29uc29uYW50IHdpdGggdGhlIGFsdGVybmF0ZSB2aXJhbWEKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoY29uY2F0IGNvbnNvbmFudCAiXFwoPzoiIGFsdGVybmF0 ZS12aXJhbWEgY29uc29uYW50ICJcXCkrIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdm93ZWwgIj8iIG5hc2FsICI/IikKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAxICdmb250LXNoYXBlLWdzdHJpbmcpKSkpCiAKIChwcm92aWRlICdpbmRpYW4pCmRpZmYg LS1naXQgYS9saXNwL2xlaW0vcXVhaWwvaW5kaWFuLmVsIGIvbGlzcC9sZWltL3F1YWlsL2luZGlh bi5lbAppbmRleCA2YzU4ZmRkNDBiLi5lYjlkMTE4M2U1IDEwMDY0NAotLS0gYS9saXNwL2xlaW0v cXVhaWwvaW5kaWFuLmVsCisrKyBiL2xpc3AvbGVpbS9xdWFpbC9pbmRpYW4uZWwKQEAgLTEyNjcs NCArMTI2Nyw4NSBAQCAifHwiCiAoImBtIiA/8JGWvCkKICkKIAorCisocXVhaWwtZGVmaW5lLXBh Y2thZ2UKKyAic3lsb3RpLW5hZ3JpIiAiU3lsb3RpIE5hZ3JpIiAi6qCN6qCkIiB0ICJTeWxvdGkg TmFncmkgcGhvbmV0aWMgaW5wdXQgbWV0aG9kLgorCisgYFxcPWAnIGlzIHVzZWQgdG8gc3dpdGNo IGxldmVscyBpbnN0ZWFkIG9mIEFsdC1Hci4KKyIgbmlsIHQgdCB0IHQgbmlsIG5pbCBuaWwgbmls IG5pbCB0KQorCisocXVhaWwtZGVmaW5lLXJ1bGVzCisoImBgIiA/4oK5KQorKCJgfiIgP+CnsykK KygiMSIgID/gp6cpCisoImAxIiA/MSkKKygiMiIgID/gp6gpCisoImAyIiA/MikKKygiMyIgID/g p6kpCisoImAzIiA/MykKKygiNCIgID/gp6opCisoImA0IiA/NCkKKygiNSIgID/gp6spCisoImA1 IiA/NSkKKygiNiIgID/gp6wpCisoImA2IiA/NikKKygiNyIgID/gp60pCisoImA3IiA/NykKKygi OCIgID/gp64pCisoImA4IiA/OCkKKygiOSIgID/gp68pCisoImA5IiA/OSkKKygiMCIgID/gp6Yp CisoImAwIiA/MCkKKygiYFxcIiA/8JGHhSkKKygiYHwiID/wkYeGKQorKCJgIiAgP+qgkCkKKygi cSIgID/qoJApCisoIlEiICA/6qCRKQorKCJgcSIgP+qgqCkKKygiYFEiID/qoKkpCisoInciICA/ 6qCSKQorKCJXIiAgP+qgkykKKygiYHciID/qoKopCisoImBXIiA/6qCrKQorKCJlIiAgP+qgpikK KygiRSIgID/qoIQpCisoInIiICA/6qCeKQorKCJSIiAgP+qgoCkKKygidCIgID/qoJQpCisoIlQi ICA/6qCVKQorKCJ5IiAgP+qggikKKygidSIgID/qoKUpCisoIlUiICA/6qCDKQorKCJpIiAgP+qg pCkKKygiSSIgID/qoIEpCisoIm8iICA/6qCnKQorKCJPIiAgP+qghSkKKygicCIgID/qoJkpCiso IlAiICA/6qCaKQorKCJhIiAgP+qgoykKKygiQSIgID/qoIApCisoInMiICA/6qChKQorKCJkIiAg P+qglikKKygiRCIgID/qoJcpCisoImYiICA/6qCGKQorKCJGIiA/6qCsKQorKCJnIiAgP+qgiSkK KygiRyIgID/qoIopCisoImgiICA/6qCiKQorKCJqIiAgP+qgjikKKygiSiIgID/qoI8pCisoImsi ICA/6qCHKQorKCJLIiAgP+qgiCkKKygibCIgID/qoJ8pCisoImMiICA/6qCMKQorKCJDIiAgP+qg jSkKKygiYGMiICN4MjAwQykgIDsgWldOSgorKCJiIiAgP+qgmykKKygiQiIgID/qoJwpCisoIm4i ICA/6qCYKQorKCJtIiAgP+qgnSkKKygiTSIgID/qoIspCispCisKIDs7OyBpbmRpYW4uZWwgZW5k cyBoZXJlCi0tIAoyLjM2LjEKCg== --00000000000008952505df016bc3--