From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Kangas Newsgroups: gmane.emacs.bugs Subject: bug#51296: [PATCH] Add WebP format support Date: Wed, 20 Oct 2021 14:02:29 -0700 Message-ID: References: <837de7bzy0.fsf@gnu.org> <83y26nac3e.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="00000000000099a6f705cecf181e" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="36068"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 51296@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Oct 20 23:03:18 2021 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 1mdIk1-0009Af-CH for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 20 Oct 2021 23:03:17 +0200 Original-Received: from localhost ([::1]:37428 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mdIk0-0004Im-8A for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 20 Oct 2021 17:03:16 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:56460) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mdIjn-0004F8-SH for bug-gnu-emacs@gnu.org; Wed, 20 Oct 2021 17:03:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:44068) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mdIjn-0005AP-Gb for bug-gnu-emacs@gnu.org; Wed, 20 Oct 2021 17:03:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mdIjn-00016e-D5 for bug-gnu-emacs@gnu.org; Wed, 20 Oct 2021 17:03:03 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Kangas Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 20 Oct 2021 21:03:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 51296 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 51296-submit@debbugs.gnu.org id=B51296.16347637824225 (code B ref 51296); Wed, 20 Oct 2021 21:03:03 +0000 Original-Received: (at 51296) by debbugs.gnu.org; 20 Oct 2021 21:03:02 +0000 Original-Received: from localhost ([127.0.0.1]:55607 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mdIjc-00015b-7V for submit@debbugs.gnu.org; Wed, 20 Oct 2021 17:03:02 -0400 Original-Received: from mail-pf1-f169.google.com ([209.85.210.169]:39583) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mdIjL-00014W-JI for 51296@debbugs.gnu.org; Wed, 20 Oct 2021 17:02:51 -0400 Original-Received: by mail-pf1-f169.google.com with SMTP id d9so4016281pfl.6 for <51296@debbugs.gnu.org>; Wed, 20 Oct 2021 14:02:35 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:in-reply-to:references:mime-version:date :message-id:subject:to:cc; bh=me+q6DYVlJHMs006I99VLv2g0G1gghqTRFqElkq+XaM=; b=IEil2bKZOEmbYJzfHio3hsHAHz47R+Yb7v2+MfCbsq/IXyw3qOrhv7DiE/22APQs1j toTXf5rppQx7dxaoPDj61mN7+rhorNHmTazViaYfap7Og2qQpK5thU+XgW/MVd9idJue EOptg8Rylj4Sh0RvVclTECMsJSdEOBEUXswewZ6zQXHG9RalUsHV5XYuf1VnZPF914Vj MV81cCtTE1wLvof2AXDubrjhnzziMQWSqoCdiTRytJyI1cOlMafus6Bv1V/XvPgnmcIq fZRhojbLXv1OrAkriHEeCLuCQI8LTw8ptxOd4IaAZSkxBj+Mbu637Fhnoi4R3dVu+IqI TahA== X-Gm-Message-State: AOAM5316pyQZuaUOaeykTb7h+P/7U9Az3nI4D8Ls561fYFNlOffXEuUy 69z9jPXovKzxh27arOHRVf8sw5h/FUL9PsslO8OyYYNO X-Google-Smtp-Source: ABdhPJwFDVs6/wA0hS0O0kQbc590fzk1iEY2UrhSKpj/MI4dEbfKS46E9LhfQ0PeH3vyUG+xnkWXiNGHYoLe3k4/CAY= X-Received: by 2002:a05:6a00:1950:b0:44d:9402:3396 with SMTP id s16-20020a056a00195000b0044d94023396mr1628206pfk.70.1634763749817; Wed, 20 Oct 2021 14:02:29 -0700 (PDT) Original-Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Wed, 20 Oct 2021 14:02:29 -0700 In-Reply-To: <83y26nac3e.fsf@gnu.org> 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:217721 Archived-At: --00000000000099a6f705cecf181e Content-Type: text/plain; charset="UTF-8" Eli Zaretskii writes: > Thanks. If you install this when I'm awake, I can fix it in almost > real time. Excellent, thank you. > This is sub-optimal: it causes the Windows build to link with -lwebp, > which then makes the binary _require_ to have libwebp DLL when Emacs > starts. [...] Thanks for that detailed explanation. I believe this should be all fixed in the attached. > '(libwebp "libwebp-7.dll" "libwebp.dll") Also fixed. --00000000000099a6f705cecf181e Content-Type: text/x-diff; charset="US-ASCII"; name="0001-Add-WebP-format-support.patch" Content-Disposition: attachment; filename="0001-Add-WebP-format-support.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: 276026b580fbb7ca_0.1 RnJvbSA1ZTc2ODA2MTNiYzYwYzdiODcwOWE1MDIzMmZhMWVjNzcwODE0ZjQyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTdGVmYW4gS2FuZ2FzIDxzdGVmYW5AbWFyeGlzdC5zZT4KRGF0 ZTogRnJpLCAxNSBPY3QgMjAyMSAwNToyNTozOSArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIEFkZCBX ZWJQIGZvcm1hdCBzdXBwb3J0CgoqIGNvbmZpZ3VyZS5hYyAoLS13aXRoLXdlYnApOiBOZXcgb3B0 aW9uLgooSEFWRV9XRUJQKTogTmV3IHZhcmlhYmxlLgoqIHNyYy9pbWFnZS5jIChlbnVtIHdlYnBf a2V5d29yZF9pbmRleCkgW0hBVkVfV0VCUF06IE5ldyBlbnVtLgood2VicF9mb3JtYXQpIFtIQVZF X1dFQlBdOiBOZXcgdmFyaWFibGUuCih3ZWJwX2ltYWdlX3AsIGluaXRfd2VicF9mdW5jdGlvbnMs IHdlYnBfbG9hZCkgW0hBVkVfV0VCUF06IE5ldwpmdW5jdGlvbnMgZm9yIFdlYlAgc3VwcG9ydC4K KGltYWdlX3R5cGVzKSBbSEFWRV9XRUJQXTogRGVmaW5lIFdlYlAgZm9ybWF0Lgooc3ltc19vZl9p bWFnZSkgPFF3ZWJwPiBbSEFWRV9XRUJQXTogTmV3IERFRlNZTS4gIEFkZCBpbWFnZSB0eXBlIFF3 ZWJwLgoqIHNyYy9NYWtlZmlsZS5pbiAoTElCSU1BR0UpOiBBZGQgV0VCUF9MSUJTLgoKKiBsaXNw L2ZpbGVzLmVsIChhdXRvLW1vZGUtYWxpc3QpOgoqIGxpc3AvaW1hZ2UtZmlsZS5lbCAoaW1hZ2Ut ZmlsZS1uYW1lLWV4dGVuc2lvbnMpOgoqIGxpc3AvaW1hZ2UuZWwgKGltYWdlLXR5cGUtaGVhZGVy LXJlZ2V4cHMpCihpbWFnZS10eXBlLWZpbGUtbmFtZS1yZWdleHBzLCBpbWFnZS10eXBlLWF1dG8t ZGV0ZWN0YWJsZSk6IEFkZCBXZWJQCnN1cHBvcnQuCiogbGlzcC90ZXJtL3czMi13aW4uZWwgKGR5 bmFtaWMtbGlicmFyeS1hbGlzdCk6IEFkZCB0aGUgbGlid2VicCBETEwuCgoqIElOU1RBTEw6Ciog YWRtaW4vQ1BQLURFRklORVM6CiogZG9jL2xpc3ByZWYvZGlzcGxheS50ZXhpIChJbWFnZSBGb3Jt YXRzLCBPdGhlciBJbWFnZSBUeXBlcyk6CiogbnQvSU5TVEFMTDogRG9jdW1lbnQgV2ViUCBzdXBw b3J0LgoKKiB0ZXN0L2xpc3AvaW1hZ2UtdGVzdHMuZWwgKGltYWdlLWZpbmQtaW1hZ2UpCihpbWFn ZS10eXBlLWZyb20tZmlsZS1uYW1lKTogRXhwYW5kIHRlc3RzLgoqIHRlc3Qvc3JjL2ltYWdlLXRl c3RzLmVsIChpbWFnZS10ZXN0cy0tZmlsZXMpOiBBZGQgV2ViUC4KKGltYWdlLXRlc3RzLWltYWdl LXNpemUvd2VicCwgaW1hZ2UtdGVzdHMtaW1hZ2UtbWFzay1wL3dlYnApCihpbWFnZS10ZXN0cy1p bWFnZS1tZXRhZGF0YS93ZWJwKTogTmV3IHRlc3RzLgoqIHRlc3QvZGF0YS9pbWFnZS9ibGFjay53 ZWJwOiBOZXcgZmlsZS4KLS0tCiBJTlNUQUxMICAgICAgICAgICAgICAgICAgICB8ICAgMiArCiBh ZG1pbi9DUFAtREVGSU5FUyAgICAgICAgICB8ICAgMSArCiBjb25maWd1cmUuYWMgICAgICAgICAg ICAgICB8ICAyNCArKysrCiBkb2MvbGlzcHJlZi9kaXNwbGF5LnRleGkgICB8ICAxMSArLQogZXRj L05FV1MgICAgICAgICAgICAgICAgICAgfCAgIDUgKwogbGlzcC9maWxlcy5lbCAgICAgICAgICAg ICAgfCAgIDEgKwogbGlzcC9pbWFnZS1maWxlLmVsICAgICAgICAgfCAgIDIgKy0KIGxpc3AvaW1h Z2UuZWwgICAgICAgICAgICAgIHwgICAzICsKIGxpc3AvdGVybS93MzItd2luLmVsICAgICAgIHwg ICAxICsKIG50L0lOU1RBTEwgICAgICAgICAgICAgICAgIHwgICA5ICstCiBzcmMvTWFrZWZpbGUu aW4gICAgICAgICAgICB8ICAgMiArLQogc3JjL2ltYWdlLmMgICAgICAgICAgICAgICAgfCAyODUg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogdGVzdC9kYXRhL2ltYWdlL2Js YWNrLndlYnAgfCBCaW4gMCAtPiAzNzc4MCBieXRlcwogdGVzdC9saXNwL2ltYWdlLXRlc3RzLmVs ICAgfCAgIDggKy0KIHRlc3Qvc3JjL2ltYWdlLXRlc3RzLmVsICAgIHwgIDIzICsrLQogMTUgZmls ZXMgY2hhbmdlZCwgMzY0IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQogY3JlYXRlIG1v ZGUgMTAwNjQ0IHRlc3QvZGF0YS9pbWFnZS9ibGFjay53ZWJwCgpkaWZmIC0tZ2l0IGEvSU5TVEFM TCBiL0lOU1RBTEwKaW5kZXggNjIwN2Y0M2NlYy4uMjEyOTg0MjJhZiAxMDA2NDQKLS0tIGEvSU5T VEFMTAorKysgYi9JTlNUQUxMCkBAIC0xODcsNiArMTg3LDcgQEAgWDExIGlzIGJlaW5nIHVzZWQu CiAgIFggbGlidGlmZiBmb3IgVElGRjogaHR0cDovL3d3dy5zaW1wbGVzeXN0ZW1zLm9yZy9saWJ0 aWZmLwogICBYIGxpYmdpZiBmb3IgR0lGOiAgIGh0dHA6Ly9naWZsaWIuc291cmNlZm9yZ2UubmV0 LwogICAgIGxpYnJzdmcyIGZvciBTVkc6IGh0dHBzOi8vd2lraS5nbm9tZS5vcmcvUHJvamVjdHMv TGliUnN2ZworICAgIGxpYndlYnAgZm9yIFdlYlA6IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUu Y29tL3NwZWVkL3dlYnAvCiAKIElmIHlvdSBzdXBwbHkgdGhlIGFwcHJvcHJpYXRlIC0td2l0aG91 dC1MSUIgb3B0aW9uLCAnY29uZmlndXJlJyB3aWxsCiBvbWl0IHRoZSBjb3JyZXNwb25kaW5nIGxp YnJhcnkgZnJvbSBFbWFjcywgZXZlbiBpZiB0aGF0IG1ha2VzIGZvciBhCkBAIC0zMTMsNiArMzE0 LDcgQEAgb3IgbW9yZSBvZiB0aGVzZSBvcHRpb25zOgogICAtLXdpdGhvdXQtZ2lmICAgICAgICAg IGZvciBHSUYgaW1hZ2Ugc3VwcG9ydAogICAtLXdpdGhvdXQtcG5nICAgICAgICAgIGZvciBQTkcg aW1hZ2Ugc3VwcG9ydAogICAtLXdpdGhvdXQtcnN2ZyAgICAgICAgIGZvciBTVkcgaW1hZ2Ugc3Vw cG9ydAorICAtLXdpdGhvdXQtd2VicCAgICAgICAgIGZvciBXZWJQIGltYWdlIHN1cHBvcnQKIAog QWx0aG91Z2ggSW1hZ2VNYWdpY2sgc3VwcG9ydCBpcyBkaXNhYmxlZCBieSBkZWZhdWx0IGR1ZSB0 byBzZWN1cml0eQogYW5kIHN0YWJpbGl0eSBjb25jZXJucywgeW91IGNhbiBlbmFibGUgaXQgd2l0 aCAtLXdpdGgtaW1hZ2VtYWdpY2suCmRpZmYgLS1naXQgYS9hZG1pbi9DUFAtREVGSU5FUyBiL2Fk bWluL0NQUC1ERUZJTkVTCmluZGV4IDY4YzEyNDM4ZjUuLjYzNGQ2ZjNmM2IgMTAwNjQ0Ci0tLSBh L2FkbWluL0NQUC1ERUZJTkVTCisrKyBiL2FkbWluL0NQUC1ERUZJTkVTCkBAIC0yODcsNiArMjg3 LDcgQEAgSEFWRV9VVElNRU5TQVQKIEhBVkVfVVRNUF9ICiBIQVZFX1ZGT1JLCiBIQVZFX1ZGT1JL X0gKK0hBVkVfV0VCUAogSEFWRV9XQ0hBUl9ICiBIQVZFX1dDSEFSX1QKIEhBVkVfV0lORE9XX1NZ U1RFTQpkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCmluZGV4IDlhYjAz MTQ0MjguLjk1OTI3NTM5OGUgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3VyZS5hYworKysgYi9jb25maWd1 cmUuYWMKQEAgLTQ0Nyw2ICs0NDcsNyBAQCBBQ19ERUZVTgogT1BUSU9OX0RFRkFVTFRfT04oW2dp Zl0sW2Rvbid0IGNvbXBpbGUgd2l0aCBHSUYgaW1hZ2Ugc3VwcG9ydF0pCiBPUFRJT05fREVGQVVM VF9PTihbcG5nXSxbZG9uJ3QgY29tcGlsZSB3aXRoIFBORyBpbWFnZSBzdXBwb3J0XSkKIE9QVElP Tl9ERUZBVUxUX09OKFtyc3ZnXSxbZG9uJ3QgY29tcGlsZSB3aXRoIFNWRyBpbWFnZSBzdXBwb3J0 XSkKK09QVElPTl9ERUZBVUxUX09OKFt3ZWJwXSxbZG9uJ3QgY29tcGlsZSB3aXRoIFdlYlAgaW1h Z2Ugc3VwcG9ydF0pCiBPUFRJT05fREVGQVVMVF9PTihbbGNtczJdLFtkb24ndCBjb21waWxlIHdp dGggTGl0dGxlIENNUyBzdXBwb3J0XSkKIE9QVElPTl9ERUZBVUxUX09OKFtsaWJzeXN0ZW1kXSxb ZG9uJ3QgY29tcGlsZSB3aXRoIGxpYnN5c3RlbWQgc3VwcG9ydF0pCiBPUFRJT05fREVGQVVMVF9P TihbY2Fpcm9dLFtkb24ndCBjb21waWxlIHdpdGggQ2Fpcm8gZHJhd2luZ10pCkBAIC0yNTg4LDYg KzI1ODksMjggQEAgQUNfREVGVU4KICAgZmkKIGZpCiAKKyMjIyBVc2UgLWx3ZWJwIGlmIGF2YWls YWJsZSwgdW5sZXNzICctLXdpdGgtd2VicD1ubycKKyMjIyBtaW5ndzMyIGRvZXNuJ3QgdXNlIC1s d2VicCwgc2luY2UgaXQgbG9hZHMgdGhlIGxpYnJhcnkgZHluYW1pY2FsbHkuCitIQVZFX1dFQlA9 bm8KK2lmIHRlc3QgIiR7d2l0aF93ZWJwfSIgIT0gIm5vIjsgdGhlbgorICAgaWYgdGVzdCAiJG9w c3lzIiA9IG1pbmd3MzI7IHRoZW4KKyAgICAgIEFDX0NIRUNLX0hFQURFUihbd2VicC9kZWNvZGUu aF0sIFtIQVZFX1dFQlA9eWVzXSkKKyAgIGVsaWYgdGVzdCAiJHtIQVZFX1gxMX0iID0gInllcyIg fHwgdGVzdCAiJHtIQVZFX1czMn0iID0gInllcyIgXAorICAgICAgICAgfHwgdGVzdCAiJHtIQVZF X05TfSIgPSAieWVzIiB0aGVuCisgICAgICBXRUJQX1JFUVVJUkVEPTAuNi4wCisgICAgICBXRUJQ X01PRFVMRT0ibGlid2VicCA+PSAkV0VCUF9SRVFVSVJFRCIKKworICAgICAgRU1BQ1NfQ0hFQ0tf TU9EVUxFUyhbV0VCUF0sIFskV0VCUF9NT0RVTEVdKQorICAgICAgQUNfU1VCU1QoV0VCUF9DRkxB R1MpCisgICAgICBBQ19TVUJTVChXRUJQX0xJQlMpCisKKyAgICAgIGlmIHRlc3QgJEhBVkVfV0VC UCA9IHllczsgdGhlbgorICAgICAgICBBQ19ERUZJTkUoSEFWRV9XRUJQLCAxLCBbRGVmaW5lIHRv IDEgaWYgdXNpbmcgbGlid2VicC5dKQorICAgICAgICBDRkxBR1M9IiRDRkxBR1MgJFdFQlBfQ0ZM QUdTIgorICAgICAgZmkKKyAgIGZpCitmaQorCiBIQVZFX0lNQUdFTUFHSUNLPW5vCiBpZiB0ZXN0 ICIke0hBVkVfWDExfSIgPSAieWVzIiB8fCB0ZXN0ICIke0hBVkVfTlN9IiA9ICJ5ZXMiIHx8IHRl c3QgIiR7SEFWRV9XMzJ9IiA9ICJ5ZXMiOyB0aGVuCiAgIGlmIHRlc3QgIiR7d2l0aF9pbWFnZW1h Z2lja30iICE9ICJubyI7IHRoZW4KQEAgLTU5MjgsNiArNTk1MSw3IEBAIEFDX0RFRlVOCiAgIERv ZXMgRW1hY3MgdXNlIGEgZ2lmIGxpYnJhcnk/ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtI QVZFX0dJRn0gJExJQkdJRgogICBEb2VzIEVtYWNzIHVzZSBhIHBuZyBsaWJyYXJ5PyAgICAgICAg ICAgICAgICAgICAgICAgICAgICR7SEFWRV9QTkd9ICRMSUJQTkcKICAgRG9lcyBFbWFjcyB1c2Ug LWxyc3ZnLTI/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke0hBVkVfUlNWR30KKyAg RG9lcyBFbWFjcyB1c2UgLWx3ZWJwPyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAk e0hBVkVfV0VCUH0KICAgRG9lcyBFbWFjcyB1c2UgY2Fpcm8/ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAke0hBVkVfQ0FJUk99CiAgIERvZXMgRW1hY3MgdXNlIC1sbGNtczI/ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtIQVZFX0xDTVMyfQogICBEb2VzIEVtYWNz IHVzZSBpbWFnZW1hZ2ljaz8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7SEFWRV9JTUFH RU1BR0lDS30KZGlmZiAtLWdpdCBhL2RvYy9saXNwcmVmL2Rpc3BsYXkudGV4aSBiL2RvYy9saXNw cmVmL2Rpc3BsYXkudGV4aQppbmRleCAxNjU3N2QxM2MxLi45YzM3OGEzMDI3IDEwMDY0NAotLS0g YS9kb2MvbGlzcHJlZi9kaXNwbGF5LnRleGkKKysrIGIvZG9jL2xpc3ByZWYvZGlzcGxheS50ZXhp CkBAIC01MjY0LDEzICs1MjY0LDEzIEBAIEltYWdlIEZvcm1hdHMKICAgU3VwcG9ydGVkIGltYWdl IGZvcm1hdHMgKGFuZCB0aGUgcmVxdWlyZWQgc3VwcG9ydCBsaWJyYXJpZXMpIGluY2x1ZGUKIFBC TSBhbmQgWEJNICh3aGljaCBkbyBub3QgZGVwZW5kIG9uIHN1cHBvcnQgbGlicmFyaWVzIGFuZCBh cmUgYWx3YXlzCiBhdmFpbGFibGUpLCBYUE0gKEBjb2Rle2xpYlhwbX0pLCBHSUYgKEBjb2Rle2xp YmdpZn0gb3IKLUBjb2Rle2xpYnVuZ2lmfSksIEpQRUcgKEBjb2Rle2xpYmpwZWd9KSwgVElGRgot KEBjb2Rle2xpYnRpZmZ9KSwgUE5HIChAY29kZXtsaWJwbmd9KSwgYW5kIFNWRyAoQGNvZGV7bGli cnN2Z30pLgorQGNvZGV7bGlidW5naWZ9KSwgSlBFRyAoQGNvZGV7bGlianBlZ30pLCBUSUZGIChA Y29kZXtsaWJ0aWZmfSksIFBORworKEBjb2Rle2xpYnBuZ30pLCBTVkcgKEBjb2Rle2xpYnJzdmd9 KSwgYW5kIFdlYlAgKEBjb2Rle2xpYndlYnB9KS4KIAogICBFYWNoIG9mIHRoZXNlIGltYWdlIGZv cm1hdHMgaXMgYXNzb2NpYXRlZCB3aXRoIGFuIEBkZm57aW1hZ2UgdHlwZQogc3ltYm9sfS4gIFRo ZSBzeW1ib2xzIGZvciB0aGUgYWJvdmUgZm9ybWF0cyBhcmUsIHJlc3BlY3RpdmVseSwKLUBjb2Rl e3BibX0sIEBjb2Rle3hibX0sIEBjb2Rle3hwbX0sIEBjb2Rle2dpZn0sCi1AY29kZXtqcGVnfSwg QGNvZGV7dGlmZn0sIEBjb2Rle3BuZ30sIGFuZCBAY29kZXtzdmd9LgorQGNvZGV7cGJtfSwgQGNv ZGV7eGJtfSwgQGNvZGV7eHBtfSwgQGNvZGV7Z2lmfSwgQGNvZGV7anBlZ30sCitAY29kZXt0aWZm fSwgQGNvZGV7cG5nfSwgQGNvZGV7c3ZnfSwgYW5kIEBjb2Rle3dlYnB9LgogCiAgIEZ1cnRoZXJt b3JlLCBpZiB5b3UgYnVpbGQgRW1hY3Mgd2l0aCBJbWFnZU1hZ2ljawogKEBjb2Rle2xpYk1hZ2lj a1dhbmR9KSBzdXBwb3J0LCBFbWFjcyBjYW4gZGlzcGxheSBhbnkgaW1hZ2UgZm9ybWF0CkBAIC02 Mjc0LDYgKzYyNzQsOSBAQCBPdGhlciBJbWFnZSBUeXBlcwogQGl0ZW0gVElGRgogSW1hZ2UgdHlw ZSBAY29kZXt0aWZmfS4KIFN1cHBvcnRzIHRoZSBAY29kZXs6aW5kZXh9IHByb3BlcnR5LiAgQHhy ZWZ7TXVsdGktRnJhbWUgSW1hZ2VzfS4KKworQGl0ZW0gV2ViUAorSW1hZ2UgdHlwZSBAY29kZXt3 ZWJwfS4KIEBlbmQgdGFibGUKIAogQG5vZGUgRGVmaW5pbmcgSW1hZ2VzCmRpZmYgLS1naXQgYS9l dGMvTkVXUyBiL2V0Yy9ORVdTCmluZGV4IGY5ZmU3MmU5MWYuLjBhNDRlNjg4NWYgMTAwNjQ0Ci0t LSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBAIC01Myw2ICs1MywxMSBAQCB0aW1lLgogSnVt cGluZyB0byBzb3VyY2UgZnJvbSAiKkhlbHAqIiBidWZmZXIgbW92ZXMgdGhlIHBvaW50IHdoZW4g dGhlIHNvdXJjZQogYnVmZmVyIGlzIGFscmVhZHkgb3Blbi4gIE5vdywgdGhlIG9sZCBwb2ludCBp cyBwdXNoZWQgdG8gbWFyayByaW5nLgogCisqKiBTdXBwb3J0IGZvciB0aGUgV2ViUCBpbWFnZSBm b3JtYXQuCitUaGlzIHN1cHBvcnQgaXMgYnVpbHQgYnkgZGVmYXVsdCB3aGVuIHRoZSBsaWJ3ZWJw IGxpYnJhcnkgaXMKK2F2YWlsYWJsZS4gIFRvIGRpc2FibGUgaXQsIHVzZSB0aGUgJy0td2l0aG91 dC13ZWJwJyBjb25maWd1cmUgZmxhZy4KK0ltYWdlIHNwZWNpZmllcnMgY2FuIG5vdyB1c2UgJzp0 eXBlIHdlYnAnLgorCiAMCiAqIEVkaXRpbmcgQ2hhbmdlcyBpbiBFbWFjcyAyOS4xCiAKZGlmZiAt LWdpdCBhL2xpc3AvZmlsZXMuZWwgYi9saXNwL2ZpbGVzLmVsCmluZGV4IDVhNmEzMzcyMWIuLmU2 Yjk0YTRhMWEgMTAwNjQ0Ci0tLSBhL2xpc3AvZmlsZXMuZWwKKysrIGIvbGlzcC9maWxlcy5lbApA QCAtMjc1OCw2ICsyNzU4LDcgQEAgYXV0by1tb2RlLWFsaXN0CiAgICAgICgiXFwuZ2lmXFwnIiAu IGltYWdlLW1vZGUpCiAgICAgICgiXFwucG5nXFwnIiAuIGltYWdlLW1vZGUpCiAgICAgICgiXFwu anBlP2dcXCciIC4gaW1hZ2UtbW9kZSkKKyAgICAgKCJcXC53ZWJwXFwnIiAuIGltYWdlLW1vZGUp CiAgICAgICgiXFwudGU/eHRcXCciIC4gdGV4dC1tb2RlKQogICAgICAoIlxcLlt0VF1lW3hYXVxc JyIgLiB0ZXgtbW9kZSkKICAgICAgKCJcXC5pbnNcXCciIC4gdGV4LW1vZGUpCQk7SW5zdGFsbGF0 aW9uIGZpbGVzIGZvciBUZVggcGFja2FnZXMuCmRpZmYgLS1naXQgYS9saXNwL2ltYWdlLWZpbGUu ZWwgYi9saXNwL2ltYWdlLWZpbGUuZWwKaW5kZXggZmJjOWVhYWY5NC4uNmRmNDNmNzM3ZCAxMDA2 NDQKLS0tIGEvbGlzcC9pbWFnZS1maWxlLmVsCisrKyBiL2xpc3AvaW1hZ2UtZmlsZS5lbApAQCAt MzcsNyArMzcsNyBAQAogCiA7OzsjIyNhdXRvbG9hZAogKGRlZmN1c3RvbSBpbWFnZS1maWxlLW5h bWUtZXh0ZW5zaW9ucwotICAocHVyZWNvcHkgJygicG5nIiAianBlZyIgImpwZyIgImdpZiIgInRp ZmYiICJ0aWYiICJ4Ym0iICJ4cG0iICJwYm0iICJwZ20iICJwcG0iICJwbm0iICJzdmciKSkKKyAg KHB1cmVjb3B5ICcoInBuZyIgImpwZWciICJqcGciICJnaWYiICJ0aWZmIiAidGlmIiAieGJtIiAi eHBtIiAicGJtIiAicGdtIiAicHBtIiAicG5tIiAic3ZnIiAid2VicCIpKQogICAiQSBsaXN0IG9m IGltYWdlLWZpbGUgZmlsZW5hbWUgZXh0ZW5zaW9ucy4KIEZpbGVuYW1lcyBoYXZpbmcgb25lIG9m IHRoZXNlIGV4dGVuc2lvbnMgYXJlIGNvbnNpZGVyZWQgaW1hZ2UgZmlsZXMsCiBpbiBhZGRpdGlv biB0byB0aG9zZSBtYXRjaGluZyBgaW1hZ2UtZmlsZS1uYW1lLXJlZ2V4cHMnLgpkaWZmIC0tZ2l0 IGEvbGlzcC9pbWFnZS5lbCBiL2xpc3AvaW1hZ2UuZWwKaW5kZXggMjAyMmI0MWQxZi4uNTM0M2Uy NmQwMyAxMDA2NDQKLS0tIGEvbGlzcC9pbWFnZS5lbAorKysgYi9saXNwL2ltYWdlLmVsCkBAIC00 OCw2ICs0OCw3IEBAIGltYWdlLXR5cGUtaGVhZGVyLXJlZ2V4cHMKICAgICAoIlxcYFxcKD86TU1c MFxcKlxcfElJXFwqXDBcXCkiIC4gdGlmZikKICAgICAoIlxcYFtcdFxuXHIgXSolIVBTIiAuIHBv c3RzY3JpcHQpCiAgICAgKCJcXGBceGZmXHhkOCIgLiBqcGVnKSAgICA7IHVzZWQgdG8gYmUgKGlt YWdlLWpwZWctcCAuIGpwZWcpCisgICAgKCJcXGBSSUZGLi4uLldFQlBWUDgiIC4gd2VicCkKICAg ICAoLChsZXQqICgoaW5jb21tZW50LXJlICJcXCg/OlteLV1cXHwtW14tXVxcKSIpCiAJICAgICAo Y29tbWVudC1yZSAoY29uY2F0ICJcXCg/OiEtLSIgaW5jb21tZW50LXJlICIqLS0+WyBcdFxyXG5d KjxcXCkiKSkpCiAJKGNvbmNhdCAiXFwoPzo8XFw/eG1sWyBcdFxyXG5dK1tePl0qPlxcKT9bIFx0 XHJcbl0qPCIKQEAgLTY3LDYgKzY4LDcgQEAgaW1hZ2UtdHlwZS1maWxlLW5hbWUtcmVnZXhwcwog ICAnKCgiXFwucG5nXFwnIiAuIHBuZykKICAgICAoIlxcLmdpZlxcJyIgLiBnaWYpCiAgICAgKCJc XC5qcGU/Z1xcJyIgLiBqcGVnKQorICAgICgiXFwud2VicFxcJyIgLiB3ZWJwKQogICAgICgiXFwu Ym1wXFwnIiAuIGJtcCkKICAgICAoIlxcLnhwbVxcJyIgLiB4cG0pCiAgICAgKCJcXC5wYm1cXCci IC4gcGJtKQpAQCAtOTIsNiArOTQsNyBAQCBpbWFnZS10eXBlLWF1dG8tZGV0ZWN0YWJsZQogICAg IChqcGVnIC4gbWF5YmUpCiAgICAgKHRpZmYgLiBtYXliZSkKICAgICAoc3ZnIC4gbWF5YmUpCisg ICAgKHdlYnAgLiBtYXliZSkKICAgICAocG9zdHNjcmlwdCAuIG5pbCkpCiAgICJBbGlzdCBvZiAo SU1BR0UtVFlQRSAuIEFVVE9ERVRFQ1QpIHBhaXJzIHVzZWQgdG8gYXV0by1kZXRlY3QgaW1hZ2Ug ZmlsZXMuCiBcKFNlZSBgaW1hZ2UtdHlwZS1hdXRvLWRldGVjdGVkLXAnKS4KZGlmZiAtLWdpdCBh L2xpc3AvdGVybS93MzItd2luLmVsIGIvbGlzcC90ZXJtL3czMi13aW4uZWwKaW5kZXggNWQxZGM2 MDY2Ny4uMzY2OTkyY2JiZiAxMDA2NDQKLS0tIGEvbGlzcC90ZXJtL3czMi13aW4uZWwKKysrIGIv bGlzcC90ZXJtL3czMi13aW4uZWwKQEAgLTI3NCw2ICsyNzQsNyBAQCBsaWJnbnV0bHMtdmVyc2lv bgogCSAgICAgJyhnaWYgImxpYmdpZi02LmRsbCIgImdpZmxpYjUuZGxsIiAiZ2lmLmRsbCIpCiAJ ICcoZ2lmICJsaWJnaWYtNS5kbGwiICJnaWZsaWI0LmRsbCIgImxpYnVuZ2lmNC5kbGwiICJsaWJ1 bmdpZi5kbGwiKSkpCiAgICAgICAgJyhzdmcgImxpYnJzdmctMi0yLmRsbCIpCisgICAgICAgJyhs aWJ3ZWJwICJsaWJ3ZWJwLTcuZGxsIiAibGlid2VicC5kbGwiKQogICAgICAgICcoZ2RrLXBpeGJ1 ZiAibGliZ2RrX3BpeGJ1Zi0yLjAtMC5kbGwiKQogICAgICAgICcoZ2xpYiAibGliZ2xpYi0yLjAt MC5kbGwiKQogICAgICAgICcoZ2lvICJsaWJnaW8tMi4wLTAuZGxsIikKZGlmZiAtLWdpdCBhL250 L0lOU1RBTEwgYi9udC9JTlNUQUxMCmluZGV4IDlmNTQzMTUxYTkuLmEzOTA1N2M2NmMgMTAwNjQ0 Ci0tLSBhL250L0lOU1RBTEwKKysrIGIvbnQvSU5TVEFMTApAQCAtNDg4LDYgKzQ4OCw3IEBAIGJ1 aWxkIHdpbGwgcnVuIG9uIFdpbmRvd3MgOVggYW5kIG5ld2VyIHN5c3RlbXMpLgogICAgICAgIERv ZXMgRW1hY3MgdXNlIGEgZ2lmIGxpYnJhcnk/ICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVz CiAgICAgICAgRG9lcyBFbWFjcyB1c2UgYSBwbmcgbGlicmFyeT8gICAgICAgICAgICAgICAgICAg ICAgICAgICB5ZXMKICAgICAgICBEb2VzIEVtYWNzIHVzZSAtbHJzdmctMj8gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHllcworICAgICAgIERvZXMgRW1hY3MgdXNlIC1sd2VicD8gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVzCiAgICAgICAgRG9lcyBFbWFjcyB1c2Ug Y2Fpcm8/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBubwogICAgICAgIERvZXMg RW1hY3MgdXNlIC1sbGNtczI/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVzCiAg ICAgICAgRG9lcyBFbWFjcyB1c2UgaW1hZ2VtYWdpY2s/ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBubwpAQCAtNTk3LDggKzU5OCw4IEBAIGJ1aWxkIHdpbGwgcnVuIG9uIFdpbmRvd3MgOVgg YW5kIG5ld2VyIHN5c3RlbXMpLgogKiBPcHRpb25hbCBpbWFnZSBsaWJyYXJ5IHN1cHBvcnQKIAog ICBJbiBhZGRpdGlvbiB0byBpdHMgIm5hdGl2ZSIgaW1hZ2UgZm9ybWF0cyAocGJtIGFuZCB4Ym0p LCBFbWFjcyBjYW4KLSAgaGFuZGxlIG90aGVyIGltYWdlIHR5cGVzOiB4cG0sIHRpZmYsIGdpZiwg cG5nLCBqcGVnIGFuZCBleHBlcmltZW50YWwKLSAgc3VwcG9ydCBmb3Igc3ZnLgorICBoYW5kbGUg b3RoZXIgaW1hZ2UgdHlwZXM6IHhwbSwgdGlmZiwgZ2lmLCBwbmcsIGpwZWcsIHdlYnAgYW5kCisg IGV4cGVyaW1lbnRhbCBzdXBwb3J0IGZvciBzdmcuCiAKICAgVG8gYnVpbGQgRW1hY3Mgd2l0aCBz dXBwb3J0IGZvciB0aGVtLCB0aGUgY29ycmVzcG9uZGluZyBoZWFkZXJzIG11c3QKICAgYmUgaW4g dGhlIGluY2x1ZGUgcGF0aCBhbmQgbGlicmFyaWVzIHNob3VsZCBiZSB3aGVyZSB0aGUgbGlua2Vy CkBAIC03MzYsNiArNzM3LDEwIEBAIGJ1aWxkIHdpbGwgcnVuIG9uIFdpbmRvd3MgOVggYW5kIG5l d2VyIHN5c3RlbXMpLgogICB3aXRob3V0IGl0IGJ5IHNwZWNpZnlpbmcgdGhlIC0td2l0aG91dC1y c3ZnIHN3aXRjaCB0byB0aGUgY29uZmlndXJlCiAgIHNjcmlwdC4KIAorICBGb3IgV2ViUCBpbWFn ZXMgeW91IHdpbGwgbmVlZCBsaWJ3ZWJwOgorCisgICAgaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2ds ZS5jb20vc3BlZWQvd2VicC8KKwogICBCaW5hcmllcyBmb3IgdGhlIG90aGVyIGltYWdlIGxpYnJh cmllcyBjYW4gYmUgZm91bmQgb24gdGhlCiAgIGV6d2lucG9ydHMgc2l0ZSBvciBhdCB0aGUgR251 V2luMzIgcHJvamVjdCAodGhlIGxhdHRlciBhcmUgZ2VuZXJhbGx5CiAgIHZlcnkgb2xkLCBzbyBu b3QgcmVjb21tZW5kZWQpLiAgTm90ZSBzcGVjaWZpY2FsbHkgdGhhdCwgZHVlIHRvIHNvbWUKZGlm ZiAtLWdpdCBhL3NyYy9NYWtlZmlsZS5pbiBiL3NyYy9NYWtlZmlsZS5pbgppbmRleCA2ZDc1ZTM1 MzdhLi43Yzk3N2UzNGVhIDEwMDY0NAotLS0gYS9zcmMvTWFrZWZpbGUuaW4KKysrIGIvc3JjL01h a2VmaWxlLmluCkBAIC0xMjQsNyArMTI0LDcgQEAgTElCX01BVEg9CiAjIyAtbHB0aHJlYWQsIG9y IGVtcHR5LgogTElCX1BUSFJFQUQ9QExJQl9QVEhSRUFEQAogCi1MSUJJTUFHRT1ATElCVElGRkAg QExJQkpQRUdAIEBMSUJQTkdAIEBMSUJHSUZAIEBMSUJYUE1ACitMSUJJTUFHRT1ATElCVElGRkAg QExJQkpQRUdAIEBMSUJQTkdAIEBMSUJHSUZAIEBMSUJYUE1AIEBXRUJQX0xJQlNACiAKIFhDQl9M SUJTPUBYQ0JfTElCU0AKIFhGVF9MSUJTPUBYRlRfTElCU0AKZGlmZiAtLWdpdCBhL3NyYy9pbWFn ZS5jIGIvc3JjL2ltYWdlLmMKaW5kZXggZmYwNTc0MWIyYy4uNmZmMTcyNTA0ZiAxMDA2NDQKLS0t IGEvc3JjL2ltYWdlLmMKKysrIGIvc3JjL2ltYWdlLmMKQEAgLTg3MzksOCArODczOSwyODQgQEAg Z2lmX2xvYWQgKHN0cnVjdCBmcmFtZSAqZiwgc3RydWN0IGltYWdlICppbWcpCiAjZW5kaWYgLyog SEFWRV9HSUYgKi8KIAogCisjaWZkZWYgSEFWRV9XRUJQCisKKwwKKy8qKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgor CQkJCSBXZWJQCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlICJ3ZWJwL2RlY29kZS5oIgor CisvKiBJbmRpY2VzIG9mIGltYWdlIHNwZWNpZmljYXRpb24gZmllbGRzIGluIHdlYnBfZm9ybWF0 LCBiZWxvdy4gICovCisKK2VudW0gd2VicF9rZXl3b3JkX2luZGV4Cit7CisgIFdFQlBfVFlQRSwK KyAgV0VCUF9EQVRBLAorICBXRUJQX0ZJTEUsCisgIFdFQlBfQVNDRU5ULAorICBXRUJQX01BUkdJ TiwKKyAgV0VCUF9SRUxJRUYsCisgIFdFQlBfQUxHT1JJVEhNLAorICBXRUJQX0hFVVJJU1RJQ19N QVNLLAorICBXRUJQX01BU0ssCisgIFdFQlBfQkFDS0dST1VORCwKKyAgV0VCUF9MQVNUCit9Owor CisvKiBWZWN0b3Igb2YgaW1hZ2Vfa2V5d29yZCBzdHJ1Y3R1cmVzIGRlc2NyaWJpbmcgdGhlIGZv cm1hdAorICAgb2YgdmFsaWQgdXNlci1kZWZpbmVkIGltYWdlIHNwZWNpZmljYXRpb25zLiAgKi8K Kworc3RhdGljIGNvbnN0IHN0cnVjdCBpbWFnZV9rZXl3b3JkIHdlYnBfZm9ybWF0W1dFQlBfTEFT VF0gPQoreworICB7Ijp0eXBlIiwJCUlNQUdFX1NZTUJPTF9WQUxVRSwJCQkxfSwKKyAgeyI6ZGF0 YSIsCQlJTUFHRV9TVFJJTkdfVkFMVUUsCQkJMH0sCisgIHsiOmZpbGUiLAkJSU1BR0VfU1RSSU5H X1ZBTFVFLAkJCTB9LAorICB7Ijphc2NlbnQiLAkJSU1BR0VfQVNDRU5UX1ZBTFVFLAkJCTB9LAor ICB7IjptYXJnaW4iLAkJSU1BR0VfTk9OX05FR0FUSVZFX0lOVEVHRVJfVkFMVUVfT1JfUEFJUiwg MH0sCisgIHsiOnJlbGllZiIsCQlJTUFHRV9JTlRFR0VSX1ZBTFVFLAkJCTB9LAorICB7Ijpjb252 ZXJzaW9uIiwJSU1BR0VfRE9OVF9DSEVDS19WQUxVRV9UWVBFLAkJMH0sCisgIHsiOmhldXJpc3Rp Yy1tYXNrIiwJSU1BR0VfRE9OVF9DSEVDS19WQUxVRV9UWVBFLAkJMH0sCisgIHsiOm1hc2siLAkJ SU1BR0VfRE9OVF9DSEVDS19WQUxVRV9UWVBFLAkJMH0sCisgIHsiOmJhY2tncm91bmQiLAlJTUFH RV9TVFJJTkdfT1JfTklMX1ZBTFVFLAkJMH0KK307CisKKy8qIFJldHVybiB0cnVlIGlmIE9CSkVD VCBpcyBhIHZhbGlkIFdlYlAgaW1hZ2Ugc3BlY2lmaWNhdGlvbi4gICovCisKK3N0YXRpYyBib29s Cit3ZWJwX2ltYWdlX3AgKExpc3BfT2JqZWN0IG9iamVjdCkKK3sKKyAgc3RydWN0IGltYWdlX2tl eXdvcmQgZm10W1dFQlBfTEFTVF07CisgIG1lbWNweSAoZm10LCB3ZWJwX2Zvcm1hdCwgc2l6ZW9m IGZtdCk7CisKKyAgaWYgKCFwYXJzZV9pbWFnZV9zcGVjIChvYmplY3QsIGZtdCwgV0VCUF9MQVNU LCBRd2VicCkpCisgICAgcmV0dXJuIGZhbHNlOworCisgIC8qIE11c3Qgc3BlY2lmeSBlaXRoZXIg dGhlIDpkYXRhIG9yIDpmaWxlIGtleXdvcmQuICAqLworICByZXR1cm4gZm10W1dFQlBfRklMRV0u Y291bnQgKyBmbXRbV0VCUF9EQVRBXS5jb3VudCA9PSAxOworfQorCisjaWZkZWYgV0lORE9XU05U CisKKy8qIFdlYlAgbGlicmFyeSBkZXRhaWxzLiAgKi8KKworREVGX0RMTF9GTiAoaW50LCBXZWJQ R2V0SW5mbywgKGNvbnN0IHVpbnQ4X3QqIGRhdGEsIHNpemVfdCBkYXRhX3NpemUsIGludCogd2lk dGgsIGludCogaGVpZ2h0KSk7CitERUZfRExMX0ZOIChWUDhTdGF0dXNDb2RlLCBXZWJQR2V0RmVh dHVyZXMsCisJICAgIChjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3QgZGF0YV9zaXplLCBXZWJQ Qml0c3RyZWFtRmVhdHVyZXMqIGZlYXR1cmVzKSk7CitERUZfRExMX0ZOICh1aW50OF90KiwgV2Vi UERlY29kZVJHQiwKKwkgICAgKGNvbnN0IHVpbnQ4X3QqIGRhdGEsIHNpemVfdCBkYXRhX3NpemUs IGludCogd2lkdGgsIGludCogaGVpZ2h0KSk7CitERUZfRExMX0ZOICh1aW50OF90KiwgV2ViUERl Y29kZUJHUiwKKwkgICAgKGNvbnN0IHVpbnQ4X3QqIGRhdGEsIHNpemVfdCBkYXRhX3NpemUsIGlu dCogd2lkdGgsIGludCogaGVpZ2h0KSk7CitERUZfRExMX0ZOICh2b2lkLCBXZWJQRnJlZURlY0J1 ZmZlcgorCSAgICAoV2ViUERlY0J1ZmZlciogYnVmZmVyKSk7CisKK3N0YXRpYyBib29sCitpbml0 X3dlYnBfZnVuY3Rpb25zICh2b2lkKQoreworICBITU9EVUxFIGxpYnJhcnk7CisKKyAgaWYgKCEo bGlicmFyeSA9IHczMl9kZWxheWVkX2xvYWQgKFF3ZWJwKSkpCisgICAgcmV0dXJuIDA7CisKKyAg TE9BRF9ETExfRk4gKGxpYnJhcnksIFdlYlBHZXRJbmZvKTsKKyAgTE9BRF9ETExfRk4gKGxpYnJh cnksIFdlYlBHZXRGZWF0dXJlcyk7CisgIExPQURfRExMX0ZOIChsaWJyYXJ5LCBXZWJQRGVjb2Rl UkdCQSk7CisgIExPQURfRExMX0ZOIChsaWJyYXJ5LCBXZWJQRGVjb2RlUkdCKTsKKyAgTE9BRF9E TExfRk4gKGxpYnJhcnksIFdlYlBGcmVlKTsKKyAgcmV0dXJuIHRydWU7Cit9CisKKyN1bmRlZiBX ZWJQR2V0SW5mbworI3VuZGVmIFdlYlBHZXRGZWF0dXJlcworI3VuZGVmIFdlYlBEZWNvZGVSR0JB CisjdW5kZWYgV2ViUERlY29kZVJHQgorI3VuZGVmIFdlYlBGcmVlCisKKyNkZWZpbmUgV2ViUEdl dEluZm8gZm5fV2ViUEdldEluZm8KKyNkZWZpbmUgV2ViUEdldEZlYXR1cmVzIGZuX1dlYlBHZXRG ZWF0dXJlcworI2RlZmluZSBXZWJQRGVjb2RlUkdCQSBmbl9XZWJQRGVjb2RlUkdCQQorI2RlZmlu ZSBXZWJQRGVjb2RlUkdCIGZuX1dlYlBEZWNvZGVSR0IKKyNkZWZpbmUgV2ViUEZyZWUgZm5fV2Vi UEZyZWUKKworI2VuZGlmIC8qIFdJTkRPV1NOVCAqLworCisvKiBMb2FkIFdlYlAgaW1hZ2UgSU1H IGZvciB1c2Ugb24gZnJhbWUgRi4gIFZhbHVlIGlzIHRydWUgaWYKKyAgIHN1Y2Nlc3NmdWwuICAq LworCitzdGF0aWMgYm9vbAord2VicF9sb2FkIChzdHJ1Y3QgZnJhbWUgKmYsIHN0cnVjdCBpbWFn ZSAqaW1nKQoreworICBwdHJkaWZmX3Qgc2l6ZSA9IDA7CisgIHVpbnQ4X3QgKmNvbnRlbnRzOwor ICBMaXNwX09iamVjdCBmaWxlOworCisgIC8qIE9wZW4gdGhlIFdlYlAgZmlsZS4gICovCisgIExp c3BfT2JqZWN0IHNwZWNpZmllZF9maWxlID0gaW1hZ2Vfc3BlY192YWx1ZSAoaW1nLT5zcGVjLCBR Q2ZpbGUsIE5VTEwpOworICBMaXNwX09iamVjdCBzcGVjaWZpZWRfZGF0YSA9IGltYWdlX3NwZWNf dmFsdWUgKGltZy0+c3BlYywgUUNkYXRhLCBOVUxMKTsKKworICBpZiAoTklMUCAoc3BlY2lmaWVk X2RhdGEpKQorICAgIHsKKyAgICAgIGludCBmZDsKKyAgICAgIGZpbGUgPSBpbWFnZV9maW5kX2lt YWdlX2ZkIChzcGVjaWZpZWRfZmlsZSwgJmZkKTsKKyAgICAgIGlmICghU1RSSU5HUCAoZmlsZSkp CisJeworCSAgaW1hZ2VfZXJyb3IgKCJDYW5ub3QgZmluZCBpbWFnZSBmaWxlIGAlcyciLCBzcGVj aWZpZWRfZmlsZSk7CisJICByZXR1cm4gZmFsc2U7CisJfQorCisgICAgICBjb250ZW50cyA9ICh1 aW50OF90ICopIHNsdXJwX2ZpbGUgKGZkLCAmc2l6ZSk7CisgICAgICBpZiAoY29udGVudHMgPT0g TlVMTCkKKwl7CisJICBpbWFnZV9lcnJvciAoIkVycm9yIGxvYWRpbmcgV2ViUCBpbWFnZSBgJXMn IiwgZmlsZSk7CisJICByZXR1cm4gZmFsc2U7CisJfQorICAgIH0KKyAgZWxzZQorICAgIHsKKyAg ICAgIGlmICghU1RSSU5HUCAoc3BlY2lmaWVkX2RhdGEpKQorCXsKKwkgIGltYWdlX2Vycm9yICgi SW52YWxpZCBpbWFnZSBkYXRhIGAlcyciLCBzcGVjaWZpZWRfZGF0YSk7CisJICByZXR1cm4gZmFs c2U7CisJfQorICAgICAgY29udGVudHMgPSAodWludDhfdCopIFNTREFUQSAoc3BlY2lmaWVkX2Rh dGEpOworICAgICAgc2l6ZSA9IFNCWVRFUyAoc3BlY2lmaWVkX2RhdGEpOworICAgIH0KKworICAv KiBWYWxpZGF0ZSB0aGUgV2ViUCBpbWFnZSBoZWFkZXIuICAqLworICBpZiAoIVdlYlBHZXRJbmZv IChjb250ZW50cywgc2l6ZSwgTlVMTCwgTlVMTCkpCisgICAgeworICAgICAgaWYgKCFOSUxQIChz cGVjaWZpZWRfZGF0YSkpCisJaW1hZ2VfZXJyb3IgKCJOb3QgYSBXZWJQIGZpbGU6IGAlcyciLCBm aWxlKTsKKyAgICAgIGVsc2UKKwlpbWFnZV9lcnJvciAoIkludmFsaWQgV2ViUCBkYXRhIik7Cisg ICAgICBnb3RvIHdlYnBfZXJyb3IxOworICAgIH0KKworICAvKiBHZXQgV2ViUCBmZWF0dXJlcy4g ICovCisgIFdlYlBCaXRzdHJlYW1GZWF0dXJlcyBmZWF0dXJlczsKKyAgVlA4U3RhdHVzQ29kZSBy ZXN1bHQgPSBXZWJQR2V0RmVhdHVyZXMgKGNvbnRlbnRzLCBzaXplLCAmZmVhdHVyZXMpOworICBz d2l0Y2ggKHJlc3VsdCkKKyAgICB7CisgICAgY2FzZSBWUDhfU1RBVFVTX09LOgorICAgICAgYnJl YWs7CisgICAgY2FzZSBWUDhfU1RBVFVTX05PVF9FTk9VR0hfREFUQToKKyAgICBjYXNlIFZQOF9T VEFUVVNfT1VUX09GX01FTU9SWToKKyAgICBjYXNlIFZQOF9TVEFUVVNfSU5WQUxJRF9QQVJBTToK KyAgICBjYXNlIFZQOF9TVEFUVVNfQklUU1RSRUFNX0VSUk9SOgorICAgIGNhc2UgVlA4X1NUQVRV U19VTlNVUFBPUlRFRF9GRUFUVVJFOgorICAgIGNhc2UgVlA4X1NUQVRVU19TVVNQRU5ERUQ6Cisg ICAgY2FzZSBWUDhfU1RBVFVTX1VTRVJfQUJPUlQ6CisgICAgZGVmYXVsdDoKKyAgICAgIC8qIEVy cm9yIG91dCBpbiBhbGwgb3RoZXIgY2FzZXMuICAqLworICAgICAgaWYgKCFOSUxQIChzcGVjaWZp ZWRfZGF0YSkpCisJaW1hZ2VfZXJyb3IgKCJFcnJvciB3aGVuIGludGVycHJldGluZyBXZWJQIGRh dGE6IGAlcyciLCBmaWxlKTsKKyAgICAgIGVsc2UKKwlpbWFnZV9lcnJvciAoIkVycm9yIHdoZW4g aW50ZXJwcmV0aW5nIFdlYlAgZGF0YSIpOworICAgICAgZ290byB3ZWJwX2Vycm9yMTsKKyAgICB9 CisKKyAgLyogRGVjb2RlIFdlYlAgZGF0YS4gICovCisgIHVpbnQ4X3QgKmRlY29kZWQ7CisgIGlu dCB3aWR0aCwgaGVpZ2h0OworICBpZiAoZmVhdHVyZXMuaGFzX2FscGhhKQorICAgIC8qIExpbmVh ciBbcjAsIGcwLCBiMCwgYTAsIHIxLCBnMSwgYjEsIGExLCAuLi5dIG9yZGVyLiAgKi8KKyAgICBk ZWNvZGVkID0gV2ViUERlY29kZVJHQkEgKGNvbnRlbnRzLCBzaXplLCAmd2lkdGgsICZoZWlnaHQp OworICBlbHNlCisgICAgLyogTGluZWFyIFtyMCwgZzAsIGIwLCByMSwgZzEsIGIxLCAuLi5dIG9y ZGVyLiAgKi8KKyAgICBkZWNvZGVkID0gV2ViUERlY29kZVJHQiAoY29udGVudHMsIHNpemUsICZ3 aWR0aCwgJmhlaWdodCk7CisKKyAgaWYgKCEod2lkdGggPD0gSU5UX01BWCAmJiBoZWlnaHQgPD0g SU5UX01BWAorCSYmIGNoZWNrX2ltYWdlX3NpemUgKGYsIHdpZHRoLCBoZWlnaHQpKSkKKyAgICB7 CisgICAgICBpbWFnZV9zaXplX2Vycm9yICgpOworICAgICAgZ290byB3ZWJwX2Vycm9yMjsKKyAg ICB9CisKKyAgLyogQ3JlYXRlIHRoZSB4IGltYWdlIGFuZCBwaXhtYXAuICAqLworICBFbWFjc19Q aXhfQ29udGFpbmVyIHhpbWcsIG1hc2tfaW1nOworICBpZiAoIWltYWdlX2NyZWF0ZV94X2ltYWdl X2FuZF9waXhtYXAgKGYsIGltZywgd2lkdGgsIGhlaWdodCwgMCwgJnhpbWcsIGZhbHNlKSkKKyAg ICBnb3RvIHdlYnBfZXJyb3IyOworCisgIC8qIENyZWF0ZSBhbiBpbWFnZSBhbmQgcGl4bWFwIHNl cnZpbmcgYXMgbWFzayBpZiB0aGUgV2ViUCBpbWFnZQorICAgICBjb250YWlucyBhbiBhbHBoYSBj aGFubmVsLiAgKi8KKyAgaWYgKGZlYXR1cmVzLmhhc19hbHBoYQorICAgICAgJiYgIWltYWdlX2Ny ZWF0ZV94X2ltYWdlX2FuZF9waXhtYXAgKGYsIGltZywgd2lkdGgsIGhlaWdodCwgMSwgJm1hc2tf aW1nLCB0cnVlKSkKKyAgICB7CisgICAgICBpbWFnZV9kZXN0cm95X3hfaW1hZ2UgKHhpbWcpOwor ICAgICAgaW1hZ2VfY2xlYXJfaW1hZ2VfMSAoZiwgaW1nLCBDTEVBUl9JTUFHRV9QSVhNQVApOwor ICAgICAgZ290byB3ZWJwX2Vycm9yMjsKKyAgICB9CisKKyAgLyogRmlsbCB0aGUgWCBpbWFnZSBh bmQgbWFzayBmcm9tIFdlYlAgZGF0YS4gICovCisgIGluaXRfY29sb3JfdGFibGUgKCk7CisKKyAg dWludDhfdCAqcCA9IGRlY29kZWQ7CisgIGZvciAoaW50IHkgPSAwOyB5IDwgaGVpZ2h0OyArK3kp CisgICAgeworICAgICAgZm9yIChpbnQgeCA9IDA7IHggPCB3aWR0aDsgKyt4KQorCXsKKwkgIGlu dCByID0gKnArKyA8PCA4OworCSAgaW50IGcgPSAqcCsrIDw8IDg7CisJICBpbnQgYiA9ICpwKysg PDwgODsKKwkgIFBVVF9QSVhFTCAoeGltZywgeCwgeSwgbG9va3VwX3JnYl9jb2xvciAoZiwgciwg ZywgYikpOworCisJICAvKiBBbiBhbHBoYSBjaGFubmVsIGFzc29jaWF0ZXMgdmFyaWFibGUgdHJh bnNwYXJlbmN5IHdpdGggYW4KKwkgICAgIGltYWdlLiAgV2ViUCBhbGxvd3MgdXAgdG8gMjU2IGxl dmVscyBvZiBwYXJ0aWFsIHRyYW5zcGFyZW5jeS4KKwkgICAgIFdlIGhhbmRsZSB0aGlzIGxpa2Ug d2l0aCBQTkcgKHdoaWNoIHNlZSksIHVzaW5nIHRoZSBmcmFtZSdzCisJICAgICBiYWNrZ3JvdW5k IGNvbG9yIHRvIGNvbWJpbmUgdGhlIGltYWdlIHdpdGguICAqLworCSAgaWYgKGZlYXR1cmVzLmhh c19hbHBoYSkKKwkgICAgeworCSAgICAgIGlmIChtYXNrX2ltZykKKwkJUFVUX1BJWEVMIChtYXNr X2ltZywgeCwgeSwgKnAgPiAwID8gUElYX01BU0tfRFJBVyA6IFBJWF9NQVNLX1JFVEFJTik7CisJ ICAgICAgKytwOworCSAgICB9CisJfQorICAgIH0KKworI2lmZGVmIENPTE9SX1RBQkxFX1NVUFBP UlQKKyAgLyogUmVtZW1iZXIgY29sb3JzIGFsbG9jYXRlZCBmb3IgdGhpcyBpbWFnZS4gICovCisg IGltZy0+Y29sb3JzID0gY29sb3JzX2luX2NvbG9yX3RhYmxlICgmaW1nLT5uY29sb3JzKTsKKyAg ZnJlZV9jb2xvcl90YWJsZSAoKTsKKyNlbmRpZiAvKiBDT0xPUl9UQUJMRV9TVVBQT1JUICovCisK KyAgLyogUHV0IHhpbWcgaW50byB0aGUgaW1hZ2UuICAqLworICBpbWFnZV9wdXRfeF9pbWFnZSAo ZiwgaW1nLCB4aW1nLCAwKTsKKworICAvKiBTYW1lIGZvciB0aGUgbWFzay4gICovCisgIGlmICht YXNrX2ltZykKKyAgICB7CisgICAgICAvKiBGaWxsIGluIHRoZSBiYWNrZ3JvdW5kX3RyYW5zcGFy ZW50IGZpZWxkIHdoaWxlIHdlIGhhdmUgdGhlCisJIG1hc2sgaGFuZHkuICBDYXN0aW5nIGF2b2lk cyBhIEdDQyB3YXJuaW5nLiAgKi8KKyAgICAgIGltYWdlX2JhY2tncm91bmRfdHJhbnNwYXJlbnQg KGltZywgZiwgKEVtYWNzX1BpeF9Db250ZXh0KW1hc2tfaW1nKTsKKworICAgICAgaW1hZ2VfcHV0 X3hfaW1hZ2UgKGYsIGltZywgbWFza19pbWcsIDEpOworICAgIH0KKworICBpbWctPndpZHRoID0g d2lkdGg7CisgIGltZy0+aGVpZ2h0ID0gaGVpZ2h0OworCisgIC8qIENsZWFuIHVwLiAgKi8KKyAg V2ViUEZyZWUgKGRlY29kZWQpOworICBpZiAoTklMUCAoc3BlY2lmaWVkX2RhdGEpKQorICAgIHhm cmVlIChjb250ZW50cyk7CisgIHJldHVybiB0cnVlOworCisgd2VicF9lcnJvcjI6CisgIFdlYlBG cmVlIChkZWNvZGVkKTsKKworIHdlYnBfZXJyb3IxOgorICBpZiAoTklMUCAoc3BlY2lmaWVkX2Rh dGEpKQorICAgIHhmcmVlIChjb250ZW50cyk7CisgIHJldHVybiBmYWxzZTsKK30KKworI2VuZGlm IC8qIEhBVkVfV0VCUCAqLworCisKICNpZmRlZiBIQVZFX0lNQUdFTUFHSUNLCiAKKwwKIC8qKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKgogCQkJCSBJbWFnZU1hZ2ljawogKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCkBAIC0xMDcyNSw2 ICsxMTAwMSwxMCBAQCBpbml0aWFsaXplX2ltYWdlX3R5cGUgKHN0cnVjdCBpbWFnZV90eXBlIGNv bnN0ICp0eXBlKQogI2lmIGRlZmluZWQgSEFWRV9YUE0gfHwgZGVmaW5lZCBIQVZFX05TCiAgeyBT WU1CT0xfSU5ERVggKFF4cG0pLCB4cG1faW1hZ2VfcCwgeHBtX2xvYWQsIGltYWdlX2NsZWFyX2lt YWdlLAogICAgSU1BR0VfVFlQRV9JTklUIChpbml0X3hwbV9mdW5jdGlvbnMpIH0sCisjZW5kaWYK KyNpZiBkZWZpbmVkIEhBVkVfV0VCUAorIHsgU1lNQk9MX0lOREVYIChRd2VicCksIHdlYnBfaW1h Z2VfcCwgd2VicF9sb2FkLCBpbWFnZV9jbGVhcl9pbWFnZSwKKyAgIElNQUdFX1RZUEVfSU5JVCAo aW5pdF93ZWJwX2Z1bmN0aW9ucykgfSwKICNlbmRpZgogIHsgU1lNQk9MX0lOREVYIChReGJtKSwg eGJtX2ltYWdlX3AsIHhibV9sb2FkLCBpbWFnZV9jbGVhcl9pbWFnZSB9LAogIHsgU1lNQk9MX0lO REVYIChRcGJtKSwgcGJtX2ltYWdlX3AsIHBibV9sb2FkLCBpbWFnZV9jbGVhcl9pbWFnZSB9LApA QCAtMTA4OTEsNiArMTExNzEsMTEgQEAgc3ltc19vZl9pbWFnZSAodm9pZCkKICAgYWRkX2ltYWdl X3R5cGUgKFFwbmcpOwogI2VuZGlmCiAKKyNpZiBkZWZpbmVkIChIQVZFX1dFQlApCisgIERFRlNZ TSAoUXdlYnAsICJ3ZWJwIik7CisgIGFkZF9pbWFnZV90eXBlIChRd2VicCk7CisjZW5kaWYKKwog I2lmIGRlZmluZWQgKEhBVkVfSU1BR0VNQUdJQ0spCiAgIERFRlNZTSAoUWltYWdlbWFnaWNrLCAi aW1hZ2VtYWdpY2siKTsKICAgYWRkX2ltYWdlX3R5cGUgKFFpbWFnZW1hZ2ljayk7CmRpZmYgLS1n aXQgYS90ZXN0L2RhdGEvaW1hZ2UvYmxhY2sud2VicCBiL3Rlc3QvZGF0YS9pbWFnZS9ibGFjay53 ZWJwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAuLjVkYmU3MTY0MTViMTZlNjExMWFjOTJlYzM5Nzg0MTFkOTViZTA4ZTMK R0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDM3NzgwCnpjbWVIdzR8cDVKbmZKUytePWMkNV9GN1Nk VnE2JT5pWClwaWtzWmZ6VHRaajJXOF5kZUN2aWlkbHVHYFMkUlYrZgp6P2ZmQzdiZ2R9SE56K3Nx SD40PzA8RUNqIUlXQUMySW0lSGQxUEM7UkBUWmg9SnVjOWVxckhBVHVHajFKYFdeQjIKejglYSkt a2FHOSp5UWc8ZyYlNkY8LTxeR0Q9QUMhbWQxclFaY2Y3S3h2MnBodU1Bc34tWWhLLTR2JkskRGJB VUZZCnpyOUA1al8wNkxVcl5INCN2fkJFRGdHM3Y8YGc+UGlTdHIoOWQhNFpVak88aUVHaVZ5a2tH QSNvZ3FvWHxOJHZ9OAp6emtRVnlkRkFERG5idzdReyRTe3xfS3JSWHIzaTJzWjlUcEhwZCtCR3hB Z1omZExMKzRUUClmUmBoTClKZExiYV8KeipKT0JXbipPRHYqUU14R3A8S04hRTkrNDw3c0FFNUVW P3l8WmoxRzkxV3klc3tPdWROa1VtP0pyclJaYmk9O1BoCnoqYVg+OW49R05EcXc4YTxhUCRMM2JS eyo+YSV2Xyl0K2FfY1gjQDNCSWdWV2o+NyRqblVpU3kkN3BDR2pCVVVTNwp6YilyJVBIQmRLZ3Et WktXJHZPWkp3ekluSlRSWG9wNntJLW9oO3JWVG5FMjtlTHtgLUNkJiFCM3w5a0ptI0N1fnoKem1M QygxY2IkI2pKeFd5YkY5PVZiNGZCN1FDX2gyOyRnIzZ3dCM9WkFgISp1YWs5d2xMKE5zUGJ7SWEh Y2lHS1l4CnpxR3tJPk8rUUl3fDlEeiZ4RilhRFNBSXk7MCRuWnBLRzdIVjZQMnQoK1NtVnFhJnRz RHFxaCZfJD48TjNFMjxIeAp6JTBoUTVXJHBBKSZgeEE5WWkjS3dlV3hjQHtfdHhqP3h9aGAkYjtp X2B0KDFIelZaXz91bHJtNTZKTXpfIUFNS2kKekcmTWR5MEJkaDVCYmxgaHZyJHV+aVY3d3JMKDRS b1ZvNFJ9ZEM+VV5nWWdyKzBfZFArJXJeaWhjb1pCWjNZRERICnpAb21yLVhYc3luNHJGK3c2Oz5l YkcjcX5tUkR6YnFzM1Apb21RRnxWYmwjU2hDazk9OV5fWjJRVkRmPEhyS2NJMAp6cHgqKWdHSDk3 dTQyTkhRaVhlfk5vMTxPUHpWNUVoSGZtVTJVdyZue2lYSHwoKnY9ZlVZK0J3ZEQoNi1OPVReZFEK ekR1YjAzd0gza0lpYmJNd2VyP3NGK1JCQzArfXFqSi0/V145bD8lfVJeQU92T1VDSmRaU0woPWBx Tk42aVleaChWCno4S1BYMFAwXjh9V2ZeN2NXQVhyOTs3NV5pPSElSjdUTEd4cWg+QFFALVUkWUll aShfJHFmKFNVLWhnYzdgRGJOSgp6OUtRI1IkbTdwMFA5RzhjQTh0WU0tQDRPKFl3cktPV3RYfHJF WlFHV3d+STI9XjQlR182MH5wVll9PVdncC1xQGkKekZle3ZyUiNIKk4hT0huVE9FVFNGWTd0az4m e3UoMFpjcDxsWGhaRHdiWTg4SlhWeyp5e3E+LThoU1RBX3BzbUJ7CnpkX2ZZPSg5KD0tODUkbWU+ PjIpVFY3Z2A0TnxEVig1U14wNEVHXkhYOG9FNzs5P3FnXkckVjZHRnNPezRFaDhJRQp6d2ArayRX Njk5M1grIyV8b28pTns2PkNhbj18K19kRSEmTjlBazcxa1NjYUQybWFLNX5LKVFAPyE1YCNnIWFk OzgKenZVc2MrVERFN042PmlJLT9POE9+UWh4OEdSWFhXM1ReWCFjUjJ6aHxzMU95XndVdzIlNzR6 WHEtWEE5R1AwQT1ZCno9e0hpJjZhaWE3Tns/fllUUzJlbiF7dGZ0KjsofHczQHh1TWdkZFdyUnhW Z2JISzFpRldjT0V9TVBIcXY7a0BXJAp6OE0qQFc4cW1eYkhOKFBnJGsxeSplPTxXeUsofVMrODBa KmluWjhWQ2VIT2hUaXwpI3paPDU+KXZJbFd7diU+cWIKej0+OUJ2UXg/NUJpezY/PVpfQT1UbFNM MUpQQ345OHhZPkF5aE8/I1o4OUU2JWspWntBPjwtWFV3IUAlcjB9WjMyCnohIVl5RGZ9U2tuYTI5 PU03WDhJNmRWaHdOYHVxfVRzbjE3eyZNNEBzS3RCUWNVZUt1KUoxPEJGR3lGa1pgeEB3Ugp6V2JB PE5LYT5eel4oXn1TRWMhMSVyX3pCQmBBZzhVciN4e0g8T1ZJfUtMel4xRWRHYkc9eD02ZERkKXBr XnRWOUUKenhOanJ3QmNQQEh6WGJqNTQzQ3VhdWQtOzFWNlpjeS0rK2dpWDxmLVFFZzQkY1VQWUZE PTBuTCtwOXNWdEZlZ1JOCnpLQDxGM2hVWkA9aTF1WFk4S3tybDhDdTNeMGtAUnJhYDNNTEVxbC1n KDJLTHU3Z194QyE2UzlENTxJJEBycV9hQQp6aX5pWF9fJV9mPkdXPEJEdk1oUV83WDVrMUVaZGch aDhxeiNqTkBhN1lpNExSNkNOOyZ8MTAyPns3VnJZJGJgJUQKeiR9RkNTNEJaMzAmQkB8ZmtWU1c5 KHFEO215cjZsNlhnfXhAKDVaVF8zZjVjJngoc1FMLUFvdCtUV0pMSjNENihPCnolOE88QXAkLWhl Y31oMDBwJlYhWmlQY1FnUWNpMG9UPFpMdUVTX2JeUmJIMXtWSjJMOTtnNHA4LTwtd1kxTVcldwp6 eUU4aDhZJE5ue1J5bjRtODBjPSRDZ2BvOEJhP0RzKVZDN0NOKVB4dWdzJVYlSDQlZj9VSSFpbmJS cD1iT2tQc1gKenFBWiVzJD07PV5yYVZpWXN0aGU8K0w9WSlvfXNzKUZxZGEmKn49OyFUQmVgTyg2 XnYqMVQoWnUkSD5xaU5pb21yCnpiOFomVFdtKT4hbUJrOypxQSQoUnhrJV5CUz5aUkx5d2N2VEx3 UEAoMzc3ZF5rd3RVIVl+OShpPStlbzIqQW5mYAp6cyo4P3s0IyR3QEghfHJVTnZoNyE2S0kydFM+ YWJeKFZDZ2clWXhvNkNxcDl9UVp3fG9XelVVVyR8ekJyTUYmTT8KellQXiNrP15SR3srO3sjX144 OWJ5Qy12fEByUi1Ea2R+aSluPkYweT5eUVhRXyllOUVQVXFIQn1tPFB+JnVARGtlCnpyQkcyYlVu fjt1NF9OP0BSOVVyOVJFV3cyUnJzdntBdWJlMXwwX014cFNsTDhAfCk3WWxtQDBXRnJ8VjJZN0x3 LQp6YD9NZjRCZWZ1aWpuY2hreF9fJm5eWlU4VjE/VWJ4MDJ6TG96JE9SJGxTaTJ9SG9FSFNAPSQm S2wyeG0mVVVAQ2kKekI1YnYoS01AU3BydjVHJWg4dV5lP0VeSD51diVlRG51Kj8+WHNHa3MtPD0z R3drbzZmN1JPa0F3fE85K2tfUiExCnpeO35gfW95aC0hX0k3P3cmTzc7PWEoPEVqX3d5ZGh6aDhZ a3pxPEdkVD5tfXI3SHxyOUN8QHhqI19ge1Fkd0Bndgp6YD9VTT15R3goV3xKZHh+YFRzeiM8P201 e25nNUJoTkFqPHVNfWQ5JDNoZjc7Ji1aSUQ8dWZ7Ji0lMG85MldeTSoKem8lQkhkNSV4O3szenB5 SFVyV0V2Wj1WKUhkYVhiXnVvajJgPnd5aEc3dGpPcjB7eV5kVUBOYzx4Q09Xc0ZvOEliCnowMHd+ fVU+QzMoKmFJWjxDbmtvMDVud095K2tFbzwzZ1BicHpXa1pSe2BAIW5DSFdQQjBPV3IpfDVCPlN8 SHQxMgp6XldSfldgRENmZUFGKT1XOTlNdyUwbz9IKWMxJW4+Z3lYe3dsb2Zhc2NucEFzbXByWStH X3RKTSRoSEI7RSp5ST8KejdyP1h9JF4qQ3Q+aiYoQjE1aD1FYlU/JGsxS19MRj9qUlJYMWh9PWdm QTBoZXdRdUJIcVM1SXhAWVFIUFNOJDYwCnpVIWpldGIyVGRvPGwpb2FWTHxRN2ZtK1NONGtDPmJ6 eSN2SkFUU0R5MHx4SEpwVE99NzkxfVBtMSRGXlJVPD9RJgp6ezRwR2RmWmZgfSMyeUBuYW9tc05V Qkxhb0F6K2BEUHhvbDFxWjw0SUBCeDBII09rNmxZaz1sallianQmKGl8V04KelJOfnNAS28hc2t0 T2wrRikmTERhb2podWtnRV5EQFRZO3NaM2xZYGBJO3tQamRLTDg0dGZfUFpAP0haTkQwN3xtCno0 ZU00TXg4ZGpwQEFjWSg+RnYxSTNhQmBMNnZ3cTFxaCZhQDBJITRaJDRLYExAWSRgQUpRdmAhVVpI RmdTMTRxNAp6NT1SYH1zdUh0dXtfZXl6YnRUTnJ6aWxoejdPUkpvVEV1NTdtKypefndVfTBuMFBS MnJTSU9ZX1E2MnYjSFNvX1gKempYYjFgXjFzdUBfKHlVTkBPaWRfeXZ3PXxlRVdnQmZPfik+RmJz P1VkeDAzUjl3MlRJO3xkKURlSUlhKXw3UExACnpGUVRXcFBSfDQ1SlZEMyMycCMxST17YkhFYE1G T2k7WjgrQkUrNkUmQUlBcjl0VX14WFA9QFBzYUQ2VzVBbX5jYQp6RHJrKj1pI1VJcCFoREY5YSs3 LWFBP2sodlRYRWNtPDFIeDl0dkw0TXhFVihpYXBGSiU3ekJvWlVCR1QmNUFiYDsKejs7Z34oSS1t eHExI1NTWTBBMi1OMTZ+Snk0Nz5xNiVtcUNIRUpOT3BAPTx6PiY7MFA/cHI2M0M+dyNZWmNFQURU CnowbmdjSEQ8XkNoRTY/TTI2MzNVMkFEKFFrZVRiWHBFNEdQPVNBb31uKk1UMWNyPWEoQFArdmE8 LWlIMyk7bCRweQp6K3BYYHxSck1GWkZZVipEVSlsZHZzcGNmIXdkY3tWRj9JTUd5T24teGNoVD1+ eyhHR05KSSt0entCVytTSl9JfXIKekpPVnJsSk8oQHRKT1I4cihiKF8reSNjJEMmcFRRSElUc2lR NjJLcloxbmRISzFBQmxaRmJzP1VkeDNxeGUmODxQCno5PjQoVmZDaXV1Mm0/IWpXeCFRe2VCUURX WGFRQ09AfG53WiExY2ZseilNej5qek9MaSExSTg3KCk2NlFvc0pePgp6LUhCQiNtNU99R0VUNVZB ZmE/SDE1Q0Y9NjkmcGRXYVZgKTlEdUY3WDhtSXdrZnk7cF8wMFVzYVJYe1ZhNUAtUDsKektzeWl2 VDdrOHxkWX1pYDJIWE57MjM3K2x6IzJUaC1oZzhsYTB2T3wya1pxNzAwKTZsVV9XcGRmWEEwfCFq fEdkCnowdkg1X2ZMKnxEVT1NKURpIT1pNDFJQj1SZkMkaEV0T2E1fkpGcCh1M1R5em5mTmo3bnpe JVkkcGNuR0lKRiNSewp6RSROezAwMmkhRiE7dTN7enlhOFNONUs2a0BFR3RvQEM1TWcjSV5QQ0R3 dntXeGVCU2QyNUdxZzs8K0JPPWohQ2gKemJ4PEN6PjN8YigwZEJ3cDZhcSFMZi1WN3swR3wpJWV4 TXxHO3YpZ3oyQmNBellqbilYVUF1YTI/I0NLfXhtQ3JMCnokWVlJTnJSKHNCX0lsdDMqbEAmZG55 bzspLVEhc2MjMU9YTFpuMTJAdT9yWnREPGx4ZDJpZ3ltKnpGWHN7fCVNZAp6MTxnU05vTkc1Smkx MTRMMVhiQ0NSRV5fWElSN2JkOHVBZFZqUjdqNDBVV1JjNGo+UUUwVm0pQis8KnJ0MWQ0ITUKemZK YyR2VmB5aU9CZDtmKiN2ZGNpSC1Nd0xjN3tIKnJIKEVLbWs7bSpCfHJjdTFMZ3A4ZmduJWBRfn1q TTROd2JRCnowbFlpVzZkSSZhKVl1cXMwNX1MNzBgM0Z1Mk9hPHAwfWxaWTFDSWNZMCo/V1kxNVdA WllCdnJmZkkobWcqYWFrawp6VlBIM34yTihoTjB7ZWpkeitKI1MwTEVPYTh1N1p6IzYoZzQlWiVh WjBXSllsS20jfm4yT0t+aVB6ZE9ONkwwfTsKejBBKlFhcig1JEYocHk9TkN4ZFFpOSM4PWRGeD5a Mm8lXkZvZ1pyP3YoZnhXfSp4bE1FNWJrczVsaSUmNjUrTEFxCnpRPD1NcjxeWGZ1XkN7P1ZNezQh VW92MVZuRHtUSD9rM0lFfT47cCFVUTx0VlJGcnxTaDROUGZaTiZ7MEduOXsoTQp6MkJ0SkhyR1k2 OE9sZT9CMTUrQjkoIWk3a3JaaDA2ZmhpNDRYPCRrTlF5UTRrej8yNTJHJSUlc0RHZnwlVWBoajEK ejhrb3wrcE8qJDJSQEZEaHF1TFRPUjMrZ2hMeSsxK0hkREIycmp2PkAtR35QVTh3OG0pfDl9PTVG N0BSY2tZQVN7Cno9YmdPc0Z1dEYzUWVDS19ZMUx7QG0xbmxnJnVxUTtra25KKyFFZlBnOWx1NGhG VG9xcm0oRj5FZW40Vnc3cm08Wgp6PUtrKDlTJkhYRXRDbUBGYistMWoreThyKElET0c5Q3RGSzNI fTZ0UGwkeDlHUTxoV2gqOE5JKztffEpoPXh3X0UKejx7MD1GLSNqKSE3R3UrSE8wck50VzdnQUVU VjNxI2lKSHhZJG1fISZka3VOanR+QSl1aUFCdmZEOTB2aG1ZZDRJCnpRU355SlNNXjZ2QW03QGk8 RU12TlpJaUowLUBEQDRBLTMpRzt4KEAqQ1BmRSFEfkJsWm5Zfklxd1NLQXk9fHBkUwp6cDMwVHoq NDJwSHd6PWlzZWVaU05nZkcxPDgrd1leUnFzV0lFQDg3S0p+X0F0Rzhaa3slMD8kSFM/cUBsZWp+ MSYKem9HN2B7dUN5dEVXcD9HWGFAcDBAaCZBdE9EWn43JDFVdlFLJSZKQDJzbmRua1l1UnBFeFY/ bDRXI00pUUl8ekNrCnpAP0E5R1IoXm9yVEpWMig7NGJCPk82Yjx6cHMoRUtYWEVjSk9kTXBfb1VZ bHZvMkB3UUVCPmtTZ1ZTRExBP3JFcQp6XmA0O01neig7P3hSZ3UxWi1mNiprJVg9O3k+I3A4NlV3 RVJudkNBXzYmRzU1aShpOSVwVm94P21IJEpsIVpCcVQKelVFTF9seVI2fXRyKn5yWXJ7NGQyRXhX UVZ7Q2wjNT4haS1aXio2OTwtKW1pVm43dz1ZNkhVeyZxYWZHTGI5RWI2CnpkOUthK3NTVFFTYXJI OyRGMWUhNlVtYk1oZEl+U2pRfC0+JlNwXy1NXjdBdyYmJiRjcjw8M3VFSE4lXktRQlZ8RAp6bWU/ PTd4UTNTJWN3Q08pXnFJM2k8UDl2V25VaHlrSTc3NFdpJDliWHh6V256JkdYdF5iM1poRlBPO1BH KFdtRUgKelJYJHl4PUZzeDNzI1NIXkVSNkIxdyZrZVdoWUkhbGB+dGh+YlglUj1HMG1RKmMmOEl4 LUwmZTtjJjkyamRHSXdsCnpVS3VTbTRieCZPY28hO2NoRkhpY2N0WDhOeWhTbG4zRCVueU1iUkFZ VV9zZ05kVjZkY2k1KUVKQVlFbUszOUJiaAp6I0F8I3RabiV2JklxaFVQTHhVZUR5Mzg7PV8rV1gx OSkxT19nO3R1JVY4fUcmcUJnVkswVmh2ZF5pbkVkZntwRDkKemopa3ZSYl8rR141e1p6P2hZZHBC WXxmfUhlcEE5bzNOenZzPTUoeXk2V1hRazRqb1Z1ckFjRSV6a15LT0IoOz5oCno0OWhvfG92dFFM TnBqUWhqTXNWTlZUJE5WcTFRI09rUl94cGkrZXtxWEdCUEcyMVhMNGR1YDU7OERZazVDNHR4SQp6 YmgyPUR6MjJAbDspY1dQNEN6QzkwcG07PTdCeDI+X0ErSkFkc2w/S1c5MEhfViVTSStTbDdUMVVV UHtXYzlLZX0KeiQ0VU4qR01nVGJNX2x4Zkk1X1N7YyVvRlojWlJIXk9eXjZTOHNiZ3lDT3pWJFUz bCZEZlVzJUExUXN6dVZgOD08CnokVTdXMWQ3TTtUPCR8MEE4WHErRjhxQXhGbnQwPGImcmUzJjdG UVR8OFo8K3IhQVNCPW0jYGw/KGQtUDNkSElYMgp6eTZMJkViYSF9SEIhMHYhSjtxSUMjMkVDdGJr cUEjaTBMamRYZlEwJXE8NUkxdjM2IV9FWTw1Pm54YkFpTlkxaGIKenw4UTkyMmFtV0VRfTlrRypT cHNraWozRn5TTkomdThsV0ptIyZGcTJYNUR7Xk1kSVAwJTlMY2dYKkJXQE1uWUhPCnpxO3ZPOURt Nihqeil9SnQmWDFQalo5M1MpTlhWLURYLXt+fU5ZKVNHd2RaJEBjeGkoe1ZWd2A9NnZabFp1fElT eQp6Mz9xWXUjRCZTM2dWRWxvdWljQyNNVnczOz9vMWsyOFBxRUxjcFdjZlg9WnJXcDdCSHdOa2Ba P1laQFU5IWFtKFYKemlufmNgIWZTSElVe2l3PHBYTzVCVlE0OXxxOzVIM25fTz18dTB0V3xeIWdh LUZWVz8lNDN9M0pTeUQkZFpFVFdECnpwMzV1cElRakx1Tjt6aykkWnkmdyEhXj4qMzVSUC1yRDhv VkplfDZRSTlaWD5XRFlWSHhsTSpvbz0/aC1IJXFhbgp6KEBaZ0BlJHNLeW9+SjJVbEY0bHt6QzFy bVBqV0Q3VWIoN2UyPHNTcHAwOzdOalJTTmFlR0BCPUJ4ISlJcWQwdkEKekRfZC0lRlZHazFmeipD QyFWfEZHVTA3KUNIWDZiQDVEI0hMTTVBO2tWdCpDdU9sKEU5ZUlDQDh1e094cEBjU2lQCnpgQWUp YkZvXklrO0F9dGdjbzZGZ2pOJDU/TlQtVzc8TFVzWUE7aThEeEVyZ2hZQHV0aDIyRzRVTypiT3sw bEZFbwp6PzgwSmhPUitsMDNkcG4tOUdrRk8lJT8kcjdBdVlUO0o1MU9ZQWdXUE1JSEVVJE0xVVIq R2VCa2NxNylaeGg5Mj0KelYrRHklclpuTmdgV2hkaDVFaClmbnl5NWVZZH1sPUlPcX51S3lfR15X aXxGTlJ1bk9pX3Zhen5QRHU2O3IyWW5VCnpHeTw4cnBuPEtCWnd0YzVwdFZPKD5NeDxod31KbF90 Y2NUM0pIWXBzMiRrakQzQjclZD8hWGxqNXwxR2pza2FCewp6RTcwe2Y9eXFKYTFMQG9rUDJOWX1M RmkkYHlhemh6TG1vcCY7cSVia0otOWp5P3dlNClQZUE1JSRoI01FQiVxXkIKeiRtXjM+dzxIOGFR VDd7QUx6fVV0TmVgcntyQXR3IVJuUDwpSGBlZnBLKU0qPlRDdFlLRU5Hen5ZcDdmVWVKe3RnCnpQ YT0tQSFXbVNCbCR2bTU0UkFIO0wkMUF7S3xmeHNoUzVZSE45WmJDVFo4ejIpTWlYcWRQcT1GKHRz fmh3SGl9KAp6RDNCZ1Rlej51fGV6aWNOLVM4cTgtYWIoX3ZzaHRLN05BaVBGK3t3SE1GclFGRiQ/ YHtfR2N+V3taVj8zaj8tViQKel9wdUojMzNeRk1AOW9lYEMtaz13VEQlRGg0Qz8xS3EwaTYkajN2 RTRNYjlGSVdBcUgte303fEZedTcpO1ota0R6Cno1V0R2UkBvUSZxeDF7JGM9eX05Xzk1VEVMOEQz Vj5kazVtTEw7TVloeSVGKjhJYD11LSZxXmxxS1o9O2c9P1F2fgp6VVomVVNxPnxweyFpWH0zWnA2 UCh7KEROfG1ofUR8ZEpeJVVmKXBuKGxBSjdtMld0TXRSUSNKQFRra0xicUxOQVoKenBHM14zWCZo UjMyQCpgXkE0QURFQWROMT5taHRnd2A4bkg5WE1NXyYtayhDPS09aWF0fEhaOFFKNSFiXndhfCsp CnpsdkNiJEAlUE17JT5PJmt7YDA4NnJ8QzgxS1BpOEVze0F0a098YjI5bnMjM05NWUZiQSgpKUsl P2tETG5yMUFzUQp6O0gzT2deWHNBaWpmbVphX34rfllDO21aOGRWZDFhS1oqSyg4dTRHQ0ExZGl4 KV9mPVF3Km0yYHtPOU10JDNMbjYKenpsUD5jcCNHbWw/U0ckTVJNTlhfaz9XRGQyRT47N2dWQ1J9 KSVZak5GS2gxel5uWmVXMXA5a01OJD1+UnpabTUyCnpmJlN6SW5mT2ZZb2I5ZFJuPVJANkRDR1lo ZTh+dyZARkttU3Ixd3NnVC10QVUjKHZNd3w4dkVZP1BuYTtJfVFuNgp6a2soNS1QfH59TXpZZ0JE SjAtI1U8ekhCUW48YyR9N2Nya2wzTlBhS2x7NTBVcXdIej4+cjF1Ml5ZdTVnXypQNEwKenw3K0NU R3FDQFlzcnM5Jnw4KTV+UW59MGE+cEhMZTg7ZnRUcjF2TEw/eCpPeERlWFVoUFckVWo9YFhHU15Y dmF1CnpAdnRTbWU7NF9HQU0oRWRFeHZIM3tMPUUqcVh3a0BFPiE9OFNAIWJgWjA4NzRkRyNGcS1I Nzw+a1ZAfGIlaXJiUwp6WSlTOHJyfGVKR3xILVdRdHRrMTFSUSM/Qj02fXJKWEchblVlO3I1cFdx ZTRHQGp1ZFhyVHhuR0Jra3tlYClRcHUKej4zX2I5KmhrVFJldSh8dGBpfilnSD5+ZU0/SnVgdnZp KDFVe0dVTSFkS25yeFRtTiFGUzZQMTl7eD4yMl5ab0IlCnpvJCs1c0FeQjYjOzB1dWN0cEFvUlNJ UkgtY09tfX5vanV3OXpKcz49RWJAT0xyTjdEY0JpcTA5VSgkY2RfRzNOSQp6ZXg/Tm1FYjA5UyR9 Y3RXQksrU0FYWTV6bnBPanpQenMmITlgKnwjby1UdDB8ez1Xek5lZmY8NGtkbig1eWZHIWcKemBe KD19eTMzTkBBNGwxckxpPkZWSjFwUSN8Rkl0T2NPYUZYMykpWTlTO0NVdXBNbXl8TEhfNGEwXysr OGxrVUdkCnprJFlkTns/NkNgQyg5PD0tP3gkUFE7N2N4TzhAKkJgJW1qezlyRXNuMkgpVFEzKEkh b3J1VjFWSGB4flU3d203QAp6Y2k5VlV5TyFTZkQwYEhzVmshP1JnVVZpfG9Wd0w+KyFzQW5kVmcr dWYwUkFQWmUhMX43dWZeczNBUnM1P3xZUnkKemwkaTI0PCQkdE54ZU1fPmI2KSVkdil7PX1AQmhw JHcjPkMkWDFVdV5YdH5reUhjIyk1S0BZRGhmfGF1cSVEKkgyCno4Iyg5WkEyJTYzbUt4JDRNVj98 QiN1fEJGPmsyak5nQlRPM1JHX3F3MnJ3SFh6dyN+OExLOzJ8YXglK3kocj5kaAp6bE5zQWhDUlNv MnRXPFdtbHlaYn1SRzNFNjlLcXl7OEZNQXxvdGxZbkViQTF9JnxETl4rWHE0ZUJuRXRlMDZ1c2sK ekc3PD9fPG89bVNNZUEmY0JuKHJIPm11UzM8SFFPPVNZdU5xakJzJUN0T3dYUUtEVX5+Z3JTY0xi diZWfDNNRXYyCno0QnVqejQmMX5GanBHS0xzfE4xbTxyMjk4RW1FTkhmO2k0QEJWe1NnNyVfQX5p WWspM18rVyVONjIhdV4hKldRawp6aTc3fkY3Un0qQXA7cG9xVlo+PTFfaz9DLV52R3o5c1c5SmEt N2RjZWdEZ2xia2B2QWVnYSNQQ2ozdThUTWt2cDIKejNKVDlxUkFYM1pVTmNPPiZERjR+bX1DelBR QG1NfjMteGk8MGN8KiNaYTU2JEV9TEE2dVIoN1pwaE5YVXJBaispCnpCSSVnTilrQDhFVXYrdExr JERFI15reTExdzIwe3kkb3Q0RlNIUUhYTXxJc0MhVX0lZTsyUFZwWStPfTJ5QGd3KAp6ZHNpT0wk dSRDYnteWGVJV3h9Kk1YYG9VS1AlLWcpeHReP0JtWkxiRGk0VzJVR3hpLWZoIzlDdiZndXhoPXNN Z2gKekN8O0ImWXw2MUdCO3RheEkqV1M1dVZDSlM1ezRWQnhja1I0YXxRMShpKklPRzZhI0Z8OHBz cyZgVD9oQGxGNT95CnpqVEAlOUxuITMqIXhvZmcyeUlvQV57enQmSHIhJGF4entqPjdhU0xRQHkt Q3ZkWWFWPG9xe1NAZVlAPGM3Pn01Swp6SVRCNzc4cktjYjdsJWt0PHNsTTJnU0JERko3WmkzTW98 fCYlKyRDRThIcSNPVChAOHJHb1RNSm9xMVYtYDdDY3UKemppLTAmdChGSCNGPlRESTJVSiZsPjV6 Qz5rVDMrJW8xRDRFUkhMfSE7aGkpPDdNLWRMUzAhJEdPczhAbnopLUxPCnowfjBmKW98LVQwUkpu Xih0fThrWkBJLUVQSVFlc1lqQW9kfEh6UmVYNHZ8bzhKO1J0azhSZjJLNGQ8e2hPaFNwfgp6Y3k0 b3VqKzxuSiQtX2lFT2U+alMyTD1vR2lYMUU+P0hmakowYXc2UG1xNk4zQEtTc1I5YE1eSlB7P3Y5 c2k+R1YKelh6dU94KWtTciMzNzFKOzcmS1JmaVZwLXFBJTs3ciVHWVJMVkc5VSVORGI+dWMmczZ9 X215Iy1RPl45R0N9dVpjCno3S2UwI15raX4jN21MeU14UG88fkY9djYjdFg7dyEtNVlUUT5JVV5B RHZmeFpROEJJPm1efnZzOzJoLSFzZkpKdwp6dnorYWdRSnV6QW5+cz9AT25KbC1NQntKPWZ3LXlL T3Y1bj48M0pOMFJaWFV3JlI3SClCJGcqJjNWTVZMN0Z0NlQKelZYRWR8REFiPzx4ZnhwV0YtMzc8 KE0zbHFObFV8YHRnTVpwRHQpdUxad3J9MjFBSGllUGxQUlhBeT1UO09KMCtZCnptTClpT2VGNVZC aCQ+S2YxODYjPEJnQk5aT0hxZU1OZ1MrRE8rQTN5S1NpQ25vQWdSdUNAMz0qK3tEYVdTalR0Wgp6 T3ItfFpheHhNI3s2cjhFWUI1RlAlXmNBamZhZj8mVEcoYm1FN2EhQC1EeXtpWEhoMUtjJXN0NnN0 bzxPVEduVz8KenopOGd3OSotQ1NjTnxUb2xtWUAlVl5xd19UJXt5WHFfRDI9Q05lNkF4YkdGciQm SFdeUTRnclg2KX53VT9wJXNFCnorPkFIXyQ4QWcoQzc2M25oeXIjfXNNM3BJe1pHVEFEI09Ze2hJ NipUVTlre2ZqX1RnUTZNfH4/cUFqWV8lIWVeQQp6TD0wWEZaQXBoc1FySHZGVnxOK0gyZ2RCdmNk fCV3a20rdCtIN15QPFFOeFFZX185O3JUVUJHIT1iQSRpdnJZK18KeiQySFdWUktVdG5ZQjE1cEZl VWVqIVJxflJkTTwtSkl5dVFDSEtnaz4/VUwxRER5PSs+JUNUTVo1TndeI3Y8MURZCnokTW55NVhU Wj5XWTc/e1A8Ylk0M0lFcFombzJybFRBazRIUnszPSkyRTZORDkyckBfKzlhNT1ZRHhHd3BxS2hi Uwp6WipRVU56MDtZWWpuQzE0QChfMGxORDkrMTEtYFNzak0+P31JOCg/TXxCNT1LQjgtd1ZYd1ht XztKeVZhKW5YdTMKem9qaz16dXRQNig1RFA0JmdrcHgqcU1EZ3dTY3pMYm18UyZuUSFoQTRyV2Z8 NCNvITNyVDVTVSY0bGY+WUxtS0FRCnp5ZUBKM1dpJj8odnUyZWkmfGc+dlAjUktXQlRYa3doQD0h biRVPWVMaWYrK09VMSQzOChQWCZVTGMreEdLbjw5IQp6aFJ9dDgqZVg3eFNMPlhGSTRINXxvMmxz REJ2al9LQnA0WTZTYEhldEpwbF90OWtKXmclY14zZStjNnola2hTR0QKeihMKzFYRXJ9c0M0fnhk KiFvKER1dDQheTZXbjRqSkQod2BRPlkySFo+Mn0+RFIxdXorYUZ0YVkhbTdTPzF8flJsCnolbzNV SDR4ZHthcGVtdThJamxqSnFfYVZ3ZmZEbihMZVErPXBjUTZOcHQ5Z01oWUE5azRyZFhyQDtRbE4+ NGhZSQp6M3J2O3Y7ailWdzcxUUk3PSokZ3c8Zk9yYz5QKmJvM08oZlp4eF5AMXVOa0k8Wm8wXm1D azZNfHMrWEV4VF9qMk0KelJ6YEc8Tl5YeT11JmBvVXFtIT9XPlJfJHtlWVkxTTR+dWJGSShoSSZB bjRiNTwoU3pudnMyWkJEMyQ2XyQ2Yk04Cnp6dj9MQVI2P1NIQklJSkk+b1NYT0YtVU8zZyV4Pm5g MXItZ3lxcU9PUEBYR0U4ayNmQ0N9IXstVzxxPngkUTZuRQp6TyFVQGhYTVEhVkh0UWg9NGZ3Rz49 TWNkeWtoY00lKm1CVXFPfEk0QFZrYXE0Z085QkYwNlpUPzghYXc1RWdMSUYKeiY1fWBvWlhNM1g1 Q2QtRTdDb2FiLVQpdCM1SDklZzVGM3lTMVRZcGI2biRte0xtM2BhO2xOa21rJHx9fjVsRmBICnpw bGtxWChnPCRXVDYqQTExfkBtRGMrNjlKVTxROUFhMXBjYzVwJDVZMWEhckVlVWNKbSV2JEZXUkpS biR2WT1BcAp6KUgqS3MqTDZiYCZCViZrKVAjeDN6IzExPS0mR2V3KExeMlJvYDRYMDEpTU0lN0VG Sz1RTnQoY0xPaiNaRTkqVy0Kend0K2RKU1I5VVFgPHRyTFQhJUlqMjxVZEZ5I0VZMkBuTilLcG5M bk04UjVsRGIpbHVrTHEtSnM8KXw0NWtEOV9OCnpZejhBfDBOeFRVMGJjWnd7MmRyX2tyRnxWSWNo RHtWQFpEZXFibz1XMVBOQWQrZm05UXg9bGUoO3J0bjZOV1QqTwp6I3RfVkopSjBsPWJlRiRRdWFE Yk1tdH5RX2ZabVc4Uj5sI1dvUWJrfDgmJUZ4N0VUQW0/VVpBb0BnKTR0eEVWblUKend5RkYhbCsp eCYqcn5WeiVQaD9VMzhnQDEwVHIhWSZxWF9kQHV8V1BKYyhBdGVheGpgSVNgSH5COzx3Yk1WZ3FK Cnp3fW4pajhXUVRiWCtXS0kyXnRUZik0LTZQTEpIYjM4VyFxUXA5UGhkQXVGTWNqdHBSPUY+czYq K0wlYXNDOWteXwp6bylVSiUhQH0/NiRsNytHVU54Pm5ZfVhGaE0rMWRhWVQ+TDUqXnckdWB2QGBA X0B2K0Y7PntnIVAkNU0jWTBPe18KekcmIXYwUFR7fklpaElYdylhbVJxIV55QnBxd3JxaERxV2d1 NkVoa3B1ezMkZ29iQENQaGt7WVombCFmcXNPdUFJCnolPTlIaGp2dD12KFYpeU1zTjJTem0+MG40 UzJZZXQleVFqSjF0P0M7ajA5cDdNKVJgRV4rdWAoTil3WDNNNzMzawp6MVk/ZjgwbGhpdGhkeDVe UXs7Z2I0aGRkd3d4WDI7UmooXkR0Y1YobzVARlJ5NyhAKkxxPnBDZ2hSZm5gSlhTV1kKekVUYX1Z K0pNUUg+WTtZLTNLallBdSVMJkxzUld4QHl7a2ZGWGhuRVRZJHxvZXB0dihKZkckUTVELXo1O1Fg U3M/CnpWazM1eUN1aXg0YlQycFRHXm1WKCRhV0VwTXckMXB1eWdtT3ZCKElUNV9sVlkjPDFERXo1 IUtHPGJWLS1oITRvbwp6QzA2e3s3aVFkZz5abihaI1UtbmEjZGc+bkprakRSb3Z6RnglfmkhTzte diVAJlE9akRMZF8oJnNad0MyJFl9dCMKenBlTnlfS29sNV4qT2t4VWpTKCNXR0RJPHhUKFAoPCoj IU9JcF4hUm84RTI+PndLIyN7bUA1b3szWCs2Z3AmQD5WCnpMP0lWUU9DdjBQVl5KIyVKTyYkOVJa TVZ1RDZtc2dRZDVSUWV2WUElVVhScmphQmw+QV57UEhIYlBJK3srKWpDTAp6Tz9VKlBzRVRHd0BZ JFJqYWN3WDZpIygmQ2d1bG9kbm1IRVFSXjhxUDN8bHopPWZ0QlZsST9OWXo3PilXSE5YQHgKekFj bDM9RGUoQHYrTCtUJjRXe2VqPkdsVUhBeHkoe2R+ZF9pJGoyKntsNWlYa0lASmFrNjBDOTlLITsr bVBRNkw+CnpDY1MkQ3JwbFcybzZ1IWFiN0BrejFGQXQwbC1aamNwaj9ZbExfV0NoV0VyflhrWWJw bjkoZWFlMnQodj5xN0xeYgp6YTZVaGRJTUhkRjEhbThYNT9BeUgzK2RPSUEteXE0a3I7SDA9V3BK PFZOKT47WmgxSXw+ZFlwU208V2NOTz16eikKemo9TjsyYGxXYWN2Vn48TjYldkR9cGdWR2BGUkdE ODAkUFpvVy0wMyN2VyU3KnJRRmJjeVU2KTxJNEdmYFdoN3gpCnpuc1A4I0goQ15uIXRecFdqQX4w ekdUO2ombWtqYm1YVHJiQndFMm1HYWJzVlR2fHgoKkBXX0xOQUNFSEpvTDg3cAp6KShNZTk8UVQt UTVnZEBtKTVLekM+Nk55PG9OfTZOYW9AMF81ZjhaKGImYT87PkElRTZ6UCRve2NFbjt9OzFWNyYK ejU+WC1wdC1rVz5JKSpoKW48bCMrVlJHe1VjUisjYiMpRDJnVGc7VmZZQGt+bEojcXdJZDZ2Tmd3 IT9mbG15fjM5Cnp1WHhWbTRrYmczZn1XPnNOb2pJb2NwMDhTcVNZYGVTISV9Xih1QHB8WUdZWEND VH0zWWh1U2Nib1ZubFQ+antjNAp6YTs/Y3s3KXxQTzNeYCQoK15NM3M3Knc+XmwwdGZxUU1XUTJ2 djt+KFA8dnB5SHx8d0E2WC1PUzs9VksqQ3B8Sn4Kek5YUFQ0O1NTK3VNPkB9ZGNecX4oUERASm8o IWZxSW5AdVZuakgtR3YpRGxUVkZmJGR5UCRVd15QJko5QnVCZDklCnpCbj53JE8waEZrPTwqMilC QHshamtla1EocHB7JCQ8UHxVflFgY2hESFY5UzBqZHs5WUl1P3A2R3xGUTdiOCRSPgp6JEl4bilJ UTR3I1U8QiVXaWlSLXVITmIxclJERG9hKys8UzF1JU5UaFk9PnZZNEYtY1B6VExfNExMeFJPaEd2 NzgKelFEXypJYWZmV0chci1HeypKcntBUDBMOEkhTX5HTU0mPzZVJUBmREtPU2Q8S15xfD9+dk5A WkUoRUdFOVg9bn14CnopMS1TanludXBYQj1iQGU5Km8tQCFyN3BQN15nQl8lKFNzKyFmKWA7RGg7 S0I5JlAjdklkZT44SGY5V0M0azhZaAp6OEBLN0IhdnNedHZ1ejRrY3VVK2M5bEtTZ245S0EpKHpO X2U9V30jdDFAVTtgX1QkckZuUFo5PmgmUW0xRChpYnIKekpWS0dVUn53KSlsaSVHeTl0ZWM/ayZ2 cSM0SmR7XyZQdVZDZX1FU31EYnhuSFppVyYoVmNnTTR4S3wkfW4rO3JzCnpRaj1gVTJAZVZDKkBa Y3JUfFI7NEJiYlcySyhiPyQ1ZntUNCtgNkVBYlEwYllvNUpAOHJZbFpeTXUqNDxxNXRDJQp6cWsl Jm9BeXdIR3Bhem8qLTVFfW4tcmwocTZAV2k4KjtJKnpWeypLS0EhZCsqZXFPamVkKGpNUTJzZzkx VXVRQSsKeiRzUyE0YU5ScD5DVzRMJUZTWClFNk59d2NucjVVSEZEK29+Uy1AfTdZLVV1T0xBYnxa NSFLTVBaVnc4dEo3bHNFCnpnPkhoZTNVcEEpPmQ8KF5zX2NxIWE8PTJ5dnl0ZElOLSQxITdIaDA2 JnQ9Pz1hcW5JO1BiNENtODA9JlFoOWVQRgp6RmcmSHRvMjE2M29LNyRKSX0/c0xJUndPNFU1MXtV WTtJYDVGPUI+WTtiQ2dJblQpe3w2Zm41a3pgOXEqRzBiITUKel5NPWNrTFhYXiFfZTZIaEckVn5E NT8qPEx0Wl5FcE0zWThPZHJicGxEdSMrfGlXfFBiakMrSTJINm18UHo+fCk7CnpNOXs7JFBPP1Zn aHNqbDNodGRRKXA+UiZoa2tGIVZtVjcmak5QX21vPS0jX3ZFVCk0MHg4V2BII3pYU2ZHSnlmKQp6 MnU1YD5YQGx4ZXROSmxeZ3o4N2VoZTxLZlA4T14kckk0JG1qQEwhVzJpPHV+YUVGO0pXJEcxNmY5 PUo+Ykt3R20Kel5rSlhiJit0Q1o4Wi0yenJpNUB0Ty1+JS1VPGVWM3crPSs+NmlqWEAmRWJMPlde fU1yIU5kayRhTH5RNiFCRW4wCnopIzBUUE17fXR3Zn10dH5ARW1QPWtPVTNKKUxGaiRpWlUyWjhY YG5GNEteKUc3ej5hWDthVnQzWlVKfVRKejF5RQp6TEVuWDg5T1cyP0llTGVzak9EZjw8N09qcXJ2 K0FleGchdWFUK2VFUF99KyphOTdUciNyO0VsenI2b2wkU0tUYTIKeitMRmk3NiZwfTkpK2JeQ0py cX4kRj82eWJodE58aE9nTGtNUmskQXduXzx7V0FUaUVENz9jRVBpU3IkKzt4REJyCnpRe3BFJWdJ NV45OXF1VipJSnt9cEcpPk01XnVUXzI9LVdjQFErVGh6NDR9ODtIbX19Skp6QThsUC1pLTB4OTh2 Owp6M31aV0s3RVMpUXNVfjxqYms8OGFaJCZxU3xHaEElbjVlVWF6fkMlcVFENn48S1RIdStuJDZQ P1oqbUM7V2I4bzsKeiEoMWtMKj9+TzhRa00pNWh5MC0oWj5qLUIzfVFLPmZ0YSZBWCk8JXpyXypq Qi0kIXhURDhnY0BockpkPSpER0swCnpwJXIpXnJ5ZUNHUHRAI1dWaH14ZGs+UnVAJjxeIzt4OWd4 V1B6aHdzWHE/PTF6PkVHYztQZW1Ya09SVkBraENOKwp6TkorIVpFa3h3RHNtKGlWJClGUlphbitj U2Mhaz5QbilZa0tPYlcwXzBgSzJZOXNYXmJNKz0kdj5vQX1NJUAmOWoKemFoLXlkazc3SkdqWVMh e1VSR0Mpd3Zqfk5XKWA2cjJfNXFARn5JY0BwJH54SFJKNWt5QXc4QHwrQCQjKGNiSXQzCnokVCRA N1pOMHpMR0BRYXxtPVIxX2ojSEYtYk0jOytyeXc9TDYlVjFSYmQ/UDB4eUxjbXlBMyV2bGYhNHk7 NShSQQp6XkxYJWJqSD1fK3MxUntYMDswZD9iLUt8Z01ffVEyJFFOX1RBcV9fUz0tTzsoT3QkTjYh KF5JMT5RckgpVDRWPCUKelRKK0ZmeH15VFFjKH55K0V6Rz9KSDcxeUc1ITh5O0dacWI9R1Jvbytq WmBJV25EQ0BmMlkyVCVCUUFFTWg2fCEoCnooQHlaRWFpSlFjTzBxIXBNTThNcjNkMSkleGReKnIy WGdQUz9YYEhDUnYmUSZDfiRuYWp4cTZnentLZEwrKH14NQp6RCZoZ2tLQFU5O0NwQiFEMUBFQCNu ITVWeVB8VEBxTiZ7MEduOXsoTTJCdEpIckdZNjhPbGU/QjFPSDwrYUFqekQKentlOTxiO3Nkc3xU VDxLNSg5anBaX31CXmVeYiY4TyQzNU10PVNfM3UmVCFeQ2EmM0JeIT1DUkUpNmVCfTZeTm9qCnp3 YCtRZShHR3JhSWBnT0g3UihlKjF6LTh0VEs/LTRiZk4jdUBJazVuU01pKDNXS0czX2ltSGtWezVS IWJhM05qYQp6e3ozV3ZEWHhYOzd0RjYtU1d7QyZTMS1HRWRHcDZzaVJFKUVEJEE+YTgjanVeJURI JVdfVUUpPXo3Q1RUbjZlPDsKej4qMHZNM19YcmgrKyZpd1pFbjU9P31+JCNKZW91bkp0SVIpSzgy O3pTcSotY3B8fEFWMHlhNzghZkUyUWlCcUk2CnpaRVY1fEk1SVB0PGl5fEw0SUhqJVJ4TzhIdHlZ X2orWmBebmokRnF+PWskRW5oWUJ5ZjxVQHI7TVohT0t3KCFqPAp6RS1ESHZFUyhkcXNIJj5FYm9R ZGZISTxqb29uS1djNkgjbjc4eTRkQk9xPUdaXmNIIX5lMSFMKENNTCRJZmE2XiMKejZ4TjZMdUBw O3pHSTAhVikjRT5PRTIlQUE2akBNPG54azJ7JjdLUX1afFBEfjdOJU5xYSNSJnBLUH5eJnZSYVZp CnpeajN0bD1fe2dFLSVZTntmIXB1cCNkUXhKblgmVDRjbTRCUWQqZTJ7YHkkV0chZFdHPTFFcG5F M3QpN01ZVT4tOAp6RytyNVFURHEjYFcyPipoS2JtaUE/XndHbyoxNWl+Zjc5a0lUV3tYQkorV2ko d3hPTjdoVkt+cCFyblhnZVIyUVQKelJ9T3NqO01XZCl7bDE2M2BTNzxNYFN6b0tfMU11VGszSUdE R3NtQk8/eG1Nc2BONjl7ZUM8Y0N6eG1jcmUpX1l3Cnp8TmZueXxLZ3Yxe207TW9tKjQqREBCWiFn dlJ0eTlsVXVyRT1hczdmPHpsTDhRTFZDRTNmbSRKVVpDYzlEPlA/bAp6ZypBSDliWUpCRmNoJWl+ P31KQmQjcShGYkpFT0p0TVo0UXlfMiNVOWwwezNFPl8xbnFfI2FpV0dYKjxhdUdoKDcKeiFLKmd+ bUk4ZFRAVUFgSllGM3VHUj8tLXphPnNVK25rJHlMJSlyPkxoLTx8WFZHb1IlPVY0IXRZZWtzdDNM SGVGCnpXfkokKU85K2UtN2gqbT9AYGNWUDZDNmROZSs7QWBsaFZyKXtIYnc5Vis1YEpGO0ptQSVY d1A5a2ZRIXYhflRCXgp6QVo+KzlYNXN6IUtoNnF+YE8wU04jRSlwckBARFpNOT1CZnBrKnooXndp YFM4TVFne3AmYVREMmZCZXBPZVdKNXsKenZHMUElJVkofiU+TntlYztjZE1ndEZ+UiQoemZsIXdu Z299azZhLXgtJih0TVc2I0VwezsxZnhhWUkqTT9iZ008CnpYblN7U009Zlg+SmtLWG1FZDRod19R fGEzeUwmckMpIWVHTiFTVz9ySjJ6TVFrVmJGJitTLSozamhQZzF3JThaegp6QDkoTGRIeEMxKHht KUpYP2UxTVN1TDQ3aGRCTXRnbTZoZS1ERFModXQzU0g2eXNOS3hHS0dlWXpQOEBacDhuNDYKekUr SkVsd3N2cG9VK2hFdkRaeX4xWk9LKnlXUmpOV3NmN0ZiK3ZoZG1xelZOQSFAU0MxdSU8aiVTemZ0 RiVBUExOCnojLThRTiYmMkhObzB9QCkrX3Z0R15SYEJOPTJnck0mZkI+MDQwbTd1bEZldUh4Z2Q5 NiVnc0Y8Xkh6NUJiI0xsegp6PnNZZTZxcFFEb0dQOWx5b0JGY3orU0p6fWdIcDA/WGtSLUlWeTFH TzxpRTBNZEdpXjVzanpqTzgrJWdSbDU+KSkKenozbUs3JiEqbERzcTVgK15FeChrWSgoYUxOVWBE IVotM3w3dnNHfTh7UE1+PG5JbnJjPjdLKG1zVFl8KWx2bXIoCnotTF5eUSlZUCFwQ2szbys/ezRk Q3VUN0NfK2dtRlpFVHteV1MxeFI4RlIkdFZ3UEBrbTE/MyZWbnU+fiFpdDRzUwp6M3hicEJHPEVn JE40d2ZPV0k5TkJaWUw2MSthNnVDVV90eEJAPHNFajdNNTQ3VURRX0l4PTFGe3o5PXw8UUJfNk4K eitLVDk4e0h1RkFWY3BSVSs0OUpBK0wyQzh1ekp5Zyl7YUh4SDVDZ1dNPk5gNlVlbmdHd21qSFlH cnVBajRPVW1SCnpSezRhfmNXdFAtWHxiPHpGMnFXbUhnQWFidWtHJkx4WSlPPnZ1bzRWT2xWOHoj KlM2fVFLX1BlPmlKZEdITmxGNwp6MyN0fj9FTD5RYjthSl8jK1hzNzxObVReclJ3QjUpdCtvKmZN UFdkbDg+OHp3PTU2VXs/ZVBoel8qJSNnNE13R2YKekJnSXNTWVVfSkRxVyNeeUUjMks0N1c8P3VM TUEyS004QEUybXZ5KExxTkYlRytCNUJ+RjFsX1ckYSNPNT4tO09MCnpWJT1OMXspNTwpSmQ8JWx6 NVFGZGR2Q25EX3YrVTU5Y30lOEFvbHlZQ2daUCFFOSZkLXl9OVdSaUcyPTMrUzA7Xgp6KGNPRDxD YStaO0gpV158b2cmcFRZb2wjeDRmYUpoY2VNTDVmby12OSpTWmRQSkc2b3tUanZFVlpHUCpiZz40 SWkKeiFTWX5tZXJ0SkVUa0hKdFhtJDAxQCYmPUZfSnRrTT5QNk1UMShXZ255NFV0XmlTfkFjKX1o aStIISU4Qy1IMVRTCnpNb0s2N3chfUo2b3RGaEdAc0lDKHNYQ0Z+RD1vS2Q+fVdoXml6R2NrWklk Kk5SaHhReEhndENNby1Kbzg/Z2Jnbgp6MjQ+OVY0QE5xQkpyJD9FeVhSJiFte3xZU1RlPmNzKSUh UzdAc0BTQWIjKFEwVXJATkxZeDg3RHYtfiMxTihHQGEKdWttUS1aPCUkb3VpPU1oUHJHWTY4T2xl P0IxNStCOSghaWdxMkZ+N3tjNjRFb3dndlp8XiMxX1hYV3N8XwoKbGl0ZXJhbCAwCkhjbVY/ZDAw MDAxCgpkaWZmIC0tZ2l0IGEvdGVzdC9saXNwL2ltYWdlLXRlc3RzLmVsIGIvdGVzdC9saXNwL2lt YWdlLXRlc3RzLmVsCmluZGV4IGFhODYwMDYwOWMuLmMzNGMxNTJjYzkgMTAwNjQ0Ci0tLSBhL3Rl c3QvbGlzcC9pbWFnZS10ZXN0cy5lbAorKysgYi90ZXN0L2xpc3AvaW1hZ2UtdGVzdHMuZWwKQEAg LTQ5LDEyICs0OSwxNCBAQCBpbWFnZS0tc2V0LXByb3BlcnR5CiAgICAgKHNob3VsZCAoZXF1YWwg aW1hZ2UgJyhpbWFnZSkpKSkpCiAKIChlcnQtZGVmdGVzdCBpbWFnZS1maW5kLWltYWdlICgpCi0g IChmaW5kLWltYWdlICcoKDp0eXBlIHhwbSA6ZmlsZSAidW5kby54cG0iKSkpCi0gIChmaW5kLWlt YWdlICcoKDp0eXBlIHBuZyA6ZmlsZSAibmV3c3RpY2tlci9yc3MtZmVlZC5wbmciIDphc2NlbnQg Y2VudGVyKSkpKQorICAoc2hvdWxkIChsaXN0cCAoZmluZC1pbWFnZSAnKCg6dHlwZSB4cG0gOmZp bGUgInVuZG8ueHBtIikpKSkpCisgIChzaG91bGQgKGxpc3RwIChmaW5kLWltYWdlICcoKDp0eXBl IHBuZyA6ZmlsZSAibmV3c3RpY2tlci9yc3MtZmVlZC5wbmciIDphc2NlbnQgY2VudGVyKSkpKSkK KyAgKHNob3VsZC1ub3QgKGZpbmQtaW1hZ2UgJygoOnR5cGUgcG5nIDpmaWxlICJkb2VzLW5vdC1l eGlzdC1mb28tYmFyLnBuZyIpKSkpKQogCiAoZXJ0LWRlZnRlc3QgaW1hZ2UtdHlwZS1mcm9tLWZp bGUtbmFtZSAoKQogICAoc2hvdWxkIChlcSAoaW1hZ2UtdHlwZS1mcm9tLWZpbGUtbmFtZSAiZm9v LmpwZyIpICdqcGVnKSkKLSAgKHNob3VsZCAoZXEgKGltYWdlLXR5cGUtZnJvbS1maWxlLW5hbWUg ImZvby5wbmciKSAncG5nKSkpCisgIChzaG91bGQgKGVxIChpbWFnZS10eXBlLWZyb20tZmlsZS1u YW1lICJmb28ucG5nIikgJ3BuZykpCisgIChzaG91bGQgKGVxIChpbWFnZS10eXBlLWZyb20tZmls ZS1uYW1lICJmb28ud2VicCIpICd3ZWJwKSkpCiAKIChlcnQtZGVmdGVzdCBpbWFnZS10eXBlL2Zy b20tZmlsZW5hbWUgKCkKICAgOzsgT24gZW1iYSwgYGltYWdlLXR5cGVzJyBhbmQgYGltYWdlLWxv YWQtcGF0aCcgZG8gbm90IGV4aXN0LgpkaWZmIC0tZ2l0IGEvdGVzdC9zcmMvaW1hZ2UtdGVzdHMu ZWwgYi90ZXN0L3NyYy9pbWFnZS10ZXN0cy5lbAppbmRleCBkNWUzYTdjYzVjLi5iOTIxNzM5YTA1 IDEwMDY0NAotLS0gYS90ZXN0L3NyYy9pbWFnZS10ZXN0cy5lbAorKysgYi90ZXN0L3NyYy9pbWFn ZS10ZXN0cy5lbApAQCAtNDQsNiArNDQsOCBAQCBpbWFnZS10ZXN0cy0tZmlsZXMKICAgICAodGlm ZiAuICwoZXhwYW5kLWZpbGUtbmFtZQogICAgICAgICAgICAgICAibmV4dHN0ZXAvR05Vc3RlcC9F bWFjcy5iYXNlL1Jlc291cmNlcy9lbWFjcy50aWZmIgogICAgICAgICAgICAgICBzb3VyY2UtZGly ZWN0b3J5KSkKKyAgICAod2VicCAuICwoZXhwYW5kLWZpbGUtbmFtZSAidGVzdC9kYXRhL2ltYWdl L2JsYWNrLndlYnAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlLWRpcmVj dG9yeSkpCiAgICAgKHhibSAuICwoZmluZC1pbWFnZSAnKCg6ZmlsZSAiZ251cy9nbnVzLnhibSIg OnR5cGUgeGJtKSkpKQogICAgICh4cG0gLiAsKGZpbmQtaW1hZ2UgJygoOmZpbGUgInNwbGFzaC54 cG0iIDp0eXBlIHhwbSkpKSkKICAgICA7OyBUT0RPOiBnaWYKQEAgLTg2LDYgKzg4LDEzIEBAIGlt YWdlLXRlc3RzLWltYWdlLXNpemUvdGlmZgogICAgICAoc2hvdWxkIChmbG9hdHAgYSkpCiAgICAg IChzaG91bGQgKGZsb2F0cCBiKSkpKSkKIAorKGVydC1kZWZ0ZXN0IGltYWdlLXRlc3RzLWltYWdl LXNpemUvd2VicCAoKQorICAoaW1hZ2Utc2tpcC11bmxlc3MgJ3dlYnApCisgIChwY2FzZSAoaW1h Z2Utc2l6ZSAoY3JlYXRlLWltYWdlIChjZHIgKGFzc3EgJ3dlYnAgaW1hZ2UtdGVzdHMtLWZpbGVz KSkpKQorICAgIChgKCxhIC4gLGIpCisgICAgIChzaG91bGQgKGZsb2F0cCBhKSkKKyAgICAgKHNo b3VsZCAoZmxvYXRwIGIpKSkpKQorCiAoZXJ0LWRlZnRlc3QgaW1hZ2UtdGVzdHMtaW1hZ2Utc2l6 ZS94Ym0gKCkKICAgKGltYWdlLXNraXAtdW5sZXNzICd4Ym0pCiAgIChwY2FzZSAoaW1hZ2Utc2l6 ZSAoY2RyIChhc3NxICd4Ym0gaW1hZ2UtdGVzdHMtLWZpbGVzKSkpCkBAIC0xMzAsNyArMTM5LDEy IEBAIGltYWdlLXRlc3RzLWltYWdlLW1hc2stcC9zdmcKIChlcnQtZGVmdGVzdCBpbWFnZS10ZXN0 cy1pbWFnZS1tYXNrLXAvdGlmZiAoKQogICAoaW1hZ2Utc2tpcC11bmxlc3MgJ3RpZmYpCiAgIChz aG91bGQtbm90IChpbWFnZS1tYXNrLXAgKGNyZWF0ZS1pbWFnZQotCQkJICAgICAoY2RyIChhc3Nx ICd0aWZmIGltYWdlLXRlc3RzLS1maWxlcykpKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoY2RyIChhc3NxICd0aWZmIGltYWdlLXRlc3RzLS1maWxlcykpKSkpKQorCisoZXJ0LWRl ZnRlc3QgaW1hZ2UtdGVzdHMtaW1hZ2UtbWFzay1wL3dlYnAgKCkKKyAgKGltYWdlLXNraXAtdW5s ZXNzICd3ZWJwKQorICAoc2hvdWxkLW5vdCAoaW1hZ2UtbWFzay1wIChjcmVhdGUtaW1hZ2UKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNkciAoYXNzcSAnd2VicCBpbWFnZS10ZXN0cy0t ZmlsZXMpKSkpKSkKIAogKGVydC1kZWZ0ZXN0IGltYWdlLXRlc3RzLWltYWdlLW1hc2stcC94Ym0g KCkKICAgKGltYWdlLXNraXAtdW5sZXNzICd4Ym0pCkBAIC0xNzMsNyArMTg3LDEyIEBAIGltYWdl LXRlc3RzLWltYWdlLW1ldGFkYXRhL3N2ZwogKGVydC1kZWZ0ZXN0IGltYWdlLXRlc3RzLWltYWdl LW1ldGFkYXRhL3RpZmYgKCkKICAgKGltYWdlLXNraXAtdW5sZXNzICd0aWZmKQogICAoc2hvdWxk LW5vdCAoaW1hZ2UtbWV0YWRhdGEKLQkgICAgICAgKGNyZWF0ZS1pbWFnZSAoY2RyIChhc3NxICd0 aWZmIGltYWdlLXRlc3RzLS1maWxlcykpKSkpKQorICAgICAgICAgICAgICAgKGNyZWF0ZS1pbWFn ZSAoY2RyIChhc3NxICd0aWZmIGltYWdlLXRlc3RzLS1maWxlcykpKSkpKQorCisoZXJ0LWRlZnRl c3QgaW1hZ2UtdGVzdHMtaW1hZ2UtbWV0YWRhdGEvd2VicCAoKQorICAoaW1hZ2Utc2tpcC11bmxl c3MgJ3dlYnApCisgIChzaG91bGQtbm90IChpbWFnZS1tZXRhZGF0YQorICAgICAgICAgICAgICAg KGNyZWF0ZS1pbWFnZSAoY2RyIChhc3NxICd3ZWJwIGltYWdlLXRlc3RzLS1maWxlcykpKSkpKQog CiAoZXJ0LWRlZnRlc3QgaW1hZ2UtdGVzdHMtaW1hZ2UtbWV0YWRhdGEveGJtICgpCiAgIChpbWFn ZS1za2lwLXVubGVzcyAneGJtKQotLSAKMi4zMC4yCgo= --00000000000099a6f705cecf181e--