From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 99680C433ED for ; Mon, 19 Apr 2021 11:57:26 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 6DA6D61042 for ; Mon, 19 Apr 2021 11:57:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233519AbhDSL5x (ORCPT ); Mon, 19 Apr 2021 07:57:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40412 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232272AbhDSL5w (ORCPT ); Mon, 19 Apr 2021 07:57:52 -0400 Received: from mail-pj1-x1032.google.com (mail-pj1-x1032.google.com [IPv6:2607:f8b0:4864:20::1032]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D29D1C06174A for ; Mon, 19 Apr 2021 04:57:21 -0700 (PDT) Received: by mail-pj1-x1032.google.com with SMTP id b8-20020a17090a5508b029014d0fbe9b64so20218238pji.5 for ; Mon, 19 Apr 2021 04:57:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=iyb75xgeZjvRnrciCYtLxnISJ2FEJyTc0fr9QrdpLL0=; b=fMIC2YsEvn9e/U3a1dtsN/Ij4hQLZGueUiRNqrDqHeJ0dHOl+ScVf2t9xcX5XYxbGd KINs7NyVTM3SpfqB9xBApF0sNYYRjOyUEa8rcdnAar9lO2EjuPtYeUBESi96cVFPMMPT D8kGy+7Waimi4nOsQ7H9mPrJgNuAGPqGWp+rcPQM/bvzABD8fkABq9EKOoRIZ6Ovrzy/ bQ3GoyWfZr24VQSiSbNWNeKIu1iiOpWpjECxpVAIEoAVKY9IvKNLAuixoJA3ZepjWAmT dp99tS6sKyc8auJAhjXbLpIqR0cUdNt5GxvPiUdkxXhKVHhro+ONraH1zX6Tpz8F+LEw gnaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=iyb75xgeZjvRnrciCYtLxnISJ2FEJyTc0fr9QrdpLL0=; b=JMtvEKrpbBFIzQxmCdIhHMFN2wJhXvoLXmLa4GxEKBh5uKyUs+x2Nc15Ut8xDx5dgT /Go6xaf4Hnnq1nJ6Ga+K4dPMDLYCG9AIYvKVfL9kxaxhn3p1ZiizDpsqouk5fmTyIWrT YjJ9U3T0LyZNVn+UG1KSHJo6qNsNwkpApaXhgQi4ezoHHErB7LjkVyY6HgITQ3x6jxBH fFswSUtTx4DwTzY557YH5NnA+B083GfubcBs4+4JgKSU8D0Cd03dVABbG1lt6TqXef69 ow14ol5gT7DRc11YNa9AQNoUt8ynX24nWUVnLWBG+UkPl/UUFeS7w+/i04a4NA7/8MFN vhBg== X-Gm-Message-State: AOAM5326yLcUlI4Xq+afZTGEEdaS1sm6GH/xF+Snko58UVSEFSVO7Cxa vpWQqfWZvnl4zvr0buZCt2zOT9YAiMHqRcPhV0c= X-Google-Smtp-Source: ABdhPJz+HNdi/kjjzvEbLvV0Hx2taJpLWp0WQDqMACjrHs+TV4DMN3URQpxm7j2iencR0xoVSy2HNswbHjDurS3RRys= X-Received: by 2002:a17:90a:c589:: with SMTP id l9mr18087629pjt.24.1618833440420; Mon, 19 Apr 2021 04:57:20 -0700 (PDT) MIME-Version: 1.0 References: <26979ff9c52fe352f117204b3c5b939e4fe0c58d.1618761749.git.bobwxc@email.cn> In-Reply-To: From: teng sterling Date: Mon, 19 Apr 2021 19:57:09 +0800 Message-ID: Subject: Re: [PATCH 1/2] docs/zh_CN: Add translation zh_CN/kernel-hacking/locking.rst To: Wu XiangCheng Cc: Alex Shi , Jonathan Corbet , Yanteng Si , linux-doc@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Precedence: bulk List-ID: X-Mailing-List: linux-doc@vger.kernel.org dGVuZyBzdGVybGluZyA8c3Rlcmxpbmd0ZW5nQGdtYWlsLmNvbT4g5LqOMjAyMeW5tDTmnIgxOeaX peWRqOS4gCDkuIrljYgxMTozMuWGmemBk++8mg0KPg0KPiBXdSBYaWFuZ0NoZW5nIDxib2J3eGNA ZW1haWwuY24+IOS6jjIwMjHlubQ05pyIMTnml6XlkajkuIAg5LiK5Y2IMTI6MTHlhpnpgZPvvJoN Cj4gPg0KPiA+IEFkZCBhIG5ldyB0cmFuc2xhdGlvbg0KPiA+ICAgRG9jdW1lbnRhdGlvbi90cmFu c2xhdGlvbnMvemhfQ04va2VybmVsLWhhY2tpbmcvbG9ja2luZy5yc3QNCj4gPiBhbmQgbGluayBp dCB0byB6aF9DTi9rZXJuZWwtaGFja2luZy9pbmRleC5yc3QNCj4gPg0KPiA+IFNpZ25lZC1vZmYt Ynk6IFd1IFhpYW5nQ2hlbmcgPGJvYnd4Y0BlbWFpbC5jbj4NCj4gPiAtLS0NCj4gPiAgLi4uL3po X0NOL2tlcm5lbC1oYWNraW5nL2luZGV4LnJzdCAgICAgICAgICAgIHwgICAgNSArLQ0KPiA+ICAu Li4vemhfQ04va2VybmVsLWhhY2tpbmcvbG9ja2luZy5yc3QgICAgICAgICAgfCAxMjQ5ICsrKysr KysrKysrKysrKysrDQo+ID4gIDIgZmlsZXMgY2hhbmdlZCwgMTI1MCBpbnNlcnRpb25zKCspLCA0 IGRlbGV0aW9ucygtKQ0KPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgRG9jdW1lbnRhdGlvbi90cmFu c2xhdGlvbnMvemhfQ04va2VybmVsLWhhY2tpbmcvbG9ja2luZy5yc3QNCj4gPg0KPiA+IGRpZmYg LS1naXQgYS9Eb2N1bWVudGF0aW9uL3RyYW5zbGF0aW9ucy96aF9DTi9rZXJuZWwtaGFja2luZy9p bmRleC5yc3QgYi9Eb2N1bWVudGF0aW9uL3RyYW5zbGF0aW9ucy96aF9DTi9rZXJuZWwtaGFja2lu Zy9pbmRleC5yc3QNCj4gPiBpbmRleCBkZjUzMGRlMjI3OGQuLjIzMDQzOWFlMjFkZSAxMDA2NDQN Cj4gPiAtLS0gYS9Eb2N1bWVudGF0aW9uL3RyYW5zbGF0aW9ucy96aF9DTi9rZXJuZWwtaGFja2lu Zy9pbmRleC5yc3QNCj4gPiArKysgYi9Eb2N1bWVudGF0aW9uL3RyYW5zbGF0aW9ucy96aF9DTi9r ZXJuZWwtaGFja2luZy9pbmRleC5yc3QNCj4gPiBAQCAtMTYsNyArMTYsNCBAQA0KPiA+ICAgICA6 bWF4ZGVwdGg6IDINCj4gPg0KPiA+ICAgICBoYWNraW5nDQo+ID4gLQ0KPiA+IC1UT0RPDQo+ID4g LQ0KPiA+IC0tIGxvY2tpbmcNCj4gPiArICAgbG9ja2luZw0KPiA+IGRpZmYgLS1naXQgYS9Eb2N1 bWVudGF0aW9uL3RyYW5zbGF0aW9ucy96aF9DTi9rZXJuZWwtaGFja2luZy9sb2NraW5nLnJzdCBi L0RvY3VtZW50YXRpb24vdHJhbnNsYXRpb25zL3poX0NOL2tlcm5lbC1oYWNraW5nL2xvY2tpbmcu cnN0DQo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwMDAwMDAuLjY2 ZjE0NGU0OGQwYw0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiArKysgYi9Eb2N1bWVudGF0aW9uL3Ry YW5zbGF0aW9ucy96aF9DTi9rZXJuZWwtaGFja2luZy9sb2NraW5nLnJzdA0KPiA+IEBAIC0wLDAg KzEsMTI0OSBAQA0KPiA+ICsuLiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMA0KPiA+ ICsNCj4gPiArLi4gaW5jbHVkZTo6IC4uL2Rpc2NsYWltZXItemhfQ04ucnN0DQo+ID4gKw0KPiA+ ICs6T3JpZ2luYWw6IERvY3VtZW50YXRpb24va2VybmVsLWhhY2tpbmcvbG9ja2luZy5yc3QNCj4g PiArDQo+ID4gKzror5HogIU6DQo+ID4gKw0KPiA+ICsg5ZC05oOz5oiQIFd1IFhpYW5nQ2hlbmcg PGJvYnd4Y0BlbWFpbC5jbj4NCj4gPiArDQo+ID4gKy4uIF9rZXJuZWxfaGFja2luZ19sb2NrX3po Og0KPiA+ICsNCj4gPiArPT09PT09PT09PQ0KPiA+ICvplIHmk43kvZzmjIfljJcNCj4gPiArPT09 PT09PT09PQ0KPiDmjIfljJcgLT4g5oyH5Y2X77yfDQo+IEkgdGhpbmsga2VybmVsIGRvY3VtZW50 cyBhcmUgcHVibGljYXRpb25zLCBhbmQgdGhlIHdvcmRzIHVzZWQgaGVyZSBhcmUNCj4gbm90IGZv cm1hbCwgZXNwZWNpYWxseSB0aGUgdGl0bGUuDQo+IOKAneaMh+WMl+KAnOWSjOKAneaMh+WNl+KA nOWcqOivjeS5ieS4iuacieetieWQjOeahOWcsOaWue+8jOKAneaMh+WNl+KAnOi+g+S4uuato+W8 j+OAgeS4peiCg+S4lOS9v+eUqOiMg+WbtOW5v+azm++8jOKAneaMh+WMl+KAnOi+g+S4uui9u+ad vumaj+aEj+OAgg0KPiDmiJHku6zlupTor6XlnKjkuI3lkIznmoTlnLrlkIjkvb/nlKjkuI3lkIzn moTor43jgILor6bmg4Xor7flj4LpmIXvvJoNCj4gWzFd5p2O5b636b6ZLuKAnOaMh+WMl+KAneS4 juKAnOaMh+WNl+KAnVtKXS7or63mloflu7rorr4sMjAwMygwNSk6NDAuDQo+IFsyXeeJm+a0pemr mOmYtuWPjOivreivjeWFuA0KPiBbMV3lvKDpuY8u5oyH5Y2X6ZKI5Li65LuA5LmI5LiN5Y+r5oyH 5YyX6ZKIW0pdLuaVsOWtpuWkp+S4lueVjCjlsI/lrabkuInlm5vlubTnuqfpgILnlKgpLDIwMTEo MDMpOjIwLg0KPiA+ICsNCj4gPiArOkF1dGhvcjogUnVzdHkgUnVzc2VsbA0KPiA+ICsNCj4gPiAr 5YmN6KiADQo+ID4gKz09PT0NCj4gPiArDQo+ID4gK+asoui/juadpeWIsFJ1c3R555qE5LiN6Z2g 6LCx5YaF5qC46ZSB5pON5L2c6Zeu6aKY5oyH5Y2X44CC5pys5paH5qGj5o+P6L+w5LqGTGludXjl hoXmoLgyLjbniYjmnKznmoTplIHns7vnu5/jgIINCj4gPiArDQo+ID4gK+maj+edgExpbnV45YaF 5qC45Lit6LaF57q/56iL5ZKM5oqi5Y2g55qE5bm/5rOb5Y+v55So77yM6L+b6KGM5YaF5qC457yW 56iL55qE5q+P5Liq5Lq66YO96ZyA6KaB5LqG6KejU01QDQo+ID4gK++8iFN5bW1ldHJpY2FsIE11 bHRpLVByb2Nlc3NpbmfvvIzlr7nnp7DlpJrlpITnkIbvvInnmoTlubblj5HkuI7plIHnmoTln7rm nKzljp/nkIbjgIINCj4gPiArDQo+ID4gK+W5tuWPkemXrumimA0KPiA+ICs9PT09PT09PQ0KPiA+ ICsNCj4gPiArKu+8iOWmguaenOaCqOefpemBk+S7gOS5iOaYr+ernuaAgVtSYWNlIENvbmRpdGlv bl3vvIzor7fot7Pov4fjgILvvIkqDQo+IGRlbGV0ZSAqDQo+ID4gKw0KPiA+ICvlnKjmma7pgJrn qIvluo/kuK3vvIzlj6/ku6XmjInlpoLkuIvmlrnlvI/pgJLlop7orqHmlbDlmajvvJoNCj4gPiAr DQo+ID4gKzo6DQo+ID4gKw0KPiA+ICsgICAgICAgICAgdmVyeV9pbXBvcnRhbnRfY291bnQrKzsN Cj4gPiArDQo+ID4gKw0KPiA+ICvku6XkuIvmmK/ku5bku6zpooTmnJ/kvJrlj5HnlJ/nmoTvvJoN Cj4gPiArDQo+ID4gKy4uIHRhYmxlOjog6aKE5pyf57uT5p6cDQo+ID4gKw0KPiA+ICsgICstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKw0KPiA+ICsgIHwg5a6e5L6LIDEgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwg5a6e5L6LIDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCj4gPiArICArPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PSsNCj4gPiArICB8IOivu+WPliB2ZXJ5X2ltcG9ydGFudF9jb3VudCAoNSkg ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiA+ICsgICstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKw0KPiA+ICsgIHwg5YqgIDEgKDYpICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCj4gPiArICArLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSsNCj4gPiArICB8IOWGmeWbniB2ZXJ5X2ltcG9ydGFudF9jb3VudCAoNikgICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiA+ICsgICstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKw0KPiA+ICsgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IOivu+WPliB2ZXJ5X2ltcG9ydGFudF9jb3VudCAoNikgICAgICB8DQo+ID4gKyAgKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rDQo+ID4gKyAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg 5YqgIDEgKDcpICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiA+ICsgICstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKw0KPiA+ICsgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IOWG meWbniB2ZXJ5X2ltcG9ydGFudF9jb3VudCAoNykgICAgICB8DQo+ID4gKyAgKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rDQo+IHZlcnlfaW1wb3J0YW50X2NvdW50IElzIG5vdCBhIGZpbGUgb3Igc3RvcmFnZSBo YXJkd2FyZSwgaXQgaXMganVzdCBhDQo+IHZhcmlhYmxlIGluIGEgcHJvZ3JhbSBzZWdtZW50LCBz byBpdCBzaG91bGQgYmUgdHJhbnNsYXRlZCBhc++8mg0KPiByZWFkIC0+IOivuw0KPiB3cml0ZSAt PiDlhpkNCj4gPiArDQo+ID4gK+S7peS4i+aYr+WPr+iDveS8muWPkeeUn+eahO+8mg0KPiA+ICsN Cj4gPiArLi4gdGFibGU6OiDlj6/og73nmoTnu5PmnpwNCj4gPiArDQo+ID4gKyAgKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rDQo+ID4gKyAgfCDlrp7kvosgMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCDlrp7kvosgMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiA+ICsgICs9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Kw0KPiA+ICsgIHwg6K+75Y+WIHZlcnlfaW1wb3J0YW50X2NvdW50ICg1KSAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQo+ID4gKyAgKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rDQo+ID4gKyAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg 6K+75Y+WIHZlcnlfaW1wb3J0YW50X2NvdW50ICg1KSAgICAgIHwNCj4gPiArICArLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSsNCj4gPiArICB8IOWKoCAxICg2KSAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQo+ID4gKyAgKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rDQo+ID4gKyAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg5Yqg IDEgKDYpICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiA+ICsgICstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKw0KPiA+ICsgIHwg5YaZ5ZueIHZlcnlfaW1wb3J0YW50X2NvdW50ICg2KSAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQo+ID4gKyAgKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rDQo+ID4gKyAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg5YaZ5Zue IHZlcnlfaW1wb3J0YW50X2NvdW50ICg2KSAgICAgIHwNCj4gPiArICArLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSsNCj4g4oCd6K+74oCcIGFuZCAi5YaZ4oCdDQo+ID4gKw0KPiA+ICsNCj4gPiAr56ue5LqJ5oCB 5Yq/5LiO5Li055WM5Yy65Z+fDQo+IOernuaAge+8nyDnq57kuonmgIHlir/vvJ8NCj4gUGxlYXNl IGJlIGNvbnNpc3RlbnQNCj4gPiArLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gKw0KPiA+ICvov5nn p43ph43lj6DkvJrlr7zoh7Tnu5Pmnpzlj5blhrPkuo7lpJrkuKrku7vliqHnmoTnm7jlr7nml7bp l7TvvIznp7DkuLrnq57kuonmgIHlir/vvIhSYWNlIENvbmRpdGlvbu+8jA0KPiBBcHBlYXJlZCBm b3IgdGhlIHRoaXJkIHRpbWUNCj4gZGVsZXRlICgpDQo+ID4gK+ernuaAge+8ieOAguWMheWQq+W5 tuWPkemXrumimOeahOS7o+eggeauteensOS4uuS4tOeVjOWMuuWfn++8iENyaXRpY2FsIFJlZ2lv bu+8ieOAgueJueWIq+aYr+S7jkxpbnV4DQo+ID4gK+W8gOWni+WcqFNNUOacuuWZqOS4iui/kOih jOS7peadpe+8jOWug+S7rOaIkOS4uuWGheaguOiuvuiuoeWSjOWunueOsOS4reeahOS4u+imgemX rumimOS5i+S4gOOAgg0KPiA+ICsNCj4gPiAr5oqi5Y2g77yIUHJlZW1wdGlvbu+8ieWPr+S7peS6 p+eUn+ebuOWQjOeahOaViOaenO+8jOWNs+S9v+WPquacieS4gOS4qkNQVe+8mumAmui/h+WcqOWF s+mUruWMuuWfn+aKouWNoOS4gOS4qg0KPiDlhbPplK7ljLrln5/vvJ/kuLTnlYzljLrln5/vvIhD cml0aWNhbCBSZWdpb27vvInvvJ8NCj4gUGxlYXNlIGJlIGNvbnNpc3RlbnQNCj4gPiAr5Lu75Yqh 77yM5bCx5Lya5Ye6546w5LiA5qC355qE56ue5LqJ5p2h5Lu244CC5Zyo6L+Z56eN5oOF5Ya15LiL 77yM5oqi5Y2g55qE57q/56iL5Y+v6IO95Lya6L+Q6KGM5YWz6ZSu5Yy65Z+f5pys6Lqr44CCDQo+ ID4gKw0KPiA+ICvop6PlhrPmlrnmoYjmmK/or4bliKvov5nkupvlkIzmraXorr/pl67kvZXml7bl j5HnlJ/vvIzlubbkvb/nlKjplIHmnaXnoa7kv53ku7vmhI/ml7bliLvlj6rmnInkuIDkuKrlrp7k vovlj6/ku6Xov5sNCj4gPiAr5YWl5YWz6ZSu5Yy65Z+f44CCTGludXjlhoXmoLjkuK3mnInorrjl pJrlj4vlpb3nmoTljp/or63lj6/ku6XluK7liqnmgqjlgZrliLDov5nkuIDngrnjgILkuZ/mnInk uIDkupvkuI3lpb3kvb/nmoQNCj4gPiAr5Y6f6K+t77yM5LiN6L+H5oiR5Lya5YGH6KOF5LuW5Lus 5LiN5a2Y5Zyo44CCDQo+ID4gKw0KPiBUaGVyZSdzIGEgdGhyZWFkIGNhbGxlZCBIdW5ncnksIHdo aWNoIHByZWVtcHRpb25zIG1lLiAgfj5fPH4NCj4gVGhlIGFmdGVybm9vbiBjb250aW51ZXPjgIIN Cj4gPiArTGludXjlhoXmoLjnmoTplIHmk43kvZwNCj4gPiArPT09PT09PT09PT09PT09PT0NCg0K PiA+ICsNCklzIHRoZXJlIGEgd29yZCBtaXNzaW5nIGhlcmU/DQoNCj4gPiAr5aaC5p6c6Z2e6KaB 5oiR57uZ5L2g5YWz5LqO6ZSB55qE5bu66K6u77yM6YKj5bCx5pivKirkv53mjIHnroDljZUqKuOA gg0KPiA+ICsNCj4gPiAr5LiN6KaB6L275piT5byV5YWl5paw6ZSB44CCDQpJcyB0aGVyZSBhIHdv cmQgbWlzc2luZyBoZXJlPw0KDQo+ID4gKw0KPiA+ICvkuKTnp43kuLvopoHnmoTlhoXmoLjplIHv vJroh6rml4vplIHlkozkupLmlqXplIENCj4gPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0NCj4gPiArDQo+ID4gK+WGheaguOmUgeS4u+imgeacieS4pOenjeexu+Wei+OAgg0KPiA+ ICsNCj4gPiAr5pyA5Z+65pys55qE57G75Z6L5piv6Ieq5peL6ZSB77yIc3BpbmxvY2vvvIwgYGBp bmNsdWRlL2FzbS9zcGlubG9jay5oYGAg77yJ77yM6L+Z5piv5LiA5Liq6Z2e5bi4DQo+ID4gK+eu gOWNleeahOWNleaMgeacieiAhemUge+8muWmguaenOaXoOazleiOt+W+l+iHquaXi+mUge+8jOWI mee7p+e7reWwneivle+8iOiHquaXi++8ieebtOWIsOWPr+S7peOAguiHquaXi+mUgemdnuW4uA0K PiA+ICvlsI/kuJTlv6vpgJ/vvIzlj6/ku6XlnKjku7vkvZXlnLDmlrnkvb/nlKjjgIINCj4gPiAr DQo+ID4gK+esrOS6jOenjeexu+Wei+aYr+S6kuaWpemUge+8iG11dGV477yMIGBgaW5jbHVkZS9s aW51eC9tdXRleC5oYGAg77yJ77ya5a6D57G75Ly85LqO6Ieq5peL6ZSB77yM5L2GDQo+ID4gK+aY r+aCqOWPr+S7pemYu+atouaMgeacieS6kuaWpemUgeOAguWmguaenOaXoOazleWKoOS4iuS6kuaW pemUge+8jOWImeS7u+WKoeWwhuaMgui1t++8jOW5tuWcqOmHiuaUvuS6kuaWpemUgeaXtuiiqw0K YmxvY2sgLT4g6Zi75aGe77yM6L+Z5piv5LiA5Liq6K6h566X5py65pyv6K+t44CCDQpUaGUgc2Vu dGVuY2Ugd2FzIG1pc3RyYW5zbGF0ZWTjgIINCj4gPiAr5ZSk6YaS44CC6L+Z5oSP5ZGz552AQ1BV 5Y+v5Lul5Zyo5oKo562J5b6F5pe25omn6KGM5YW25LuW5pON5L2c44CC5Zyo5b6I5aSa5oOF5Ya1 5LiL77yM5L2g5peg5rOV552h55yg77yI6KeBDQo+ID4gK2Dku47kuK3mlq3kuK3osIPnlKjlk6rk upvlh73mlbDmmK/lronlhajnmoTvvJ9gXyDvvInvvIzmraTml7blv4XpobvmlLnnlKjoh6rml4vp lIHjgIINCj4gPiArDQo+ID4gK+i/meS4pOenjemUgemDveS4jeaYr+mAkuW9kueahO+8muivt+WP gumYhSBg5q276ZSB77ya5YWl6Zeo5LiO6L+b6Zi2YF8g44CCDQo+ID4gKw0KPiA+ICvplIHlkozl jZXlpITnkIblmajlhoXmoLgNCj4gPiArLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ICsNCj4gPiAr5a+5 5LqO57yW6K+R5pe25pyq5ZCv55SoIGBgQ09ORklHX1NNUGBgIOWSjCBgYENPTkZJR19QUkVFTVBU YGAg55qE5YaF5qC477yM6Ieq5peL6ZSB5qC55pys5LiN5a2Y5Zyo44CCDQo+ID4gK+i/meaYr+S4 gOS4quW+iOWlveeahOiuvuiuoeWGs+etlu+8muW9k+ayoeacieWFtuS7lui/m+eoi+WPr+S7peWQ jOaXtui/kOihjOaXtu+8jOmUgeWwseayoeacieWtmOWcqOaEj+S5ieS6huOAgg0KPiA+ICsNCj4g PiAr5aaC5p6c57yW6K+R5YaF5qC45pe25pyq5ZCv55SoIGBgQ09ORklHX1NNUGBgIO+8jOS9huaY r+WQr+eUqOS6hiBgYENPTkZJR19QUkVFTVBUYGAg77yM6YKj5LmI6Ieq5peLDQo+ID4gK+mUgeWP quS8muemgeeUqOaKouWNoO+8jOi/mei2s+S7pemYsuatouS7u+S9leernuS6ieOAguWcqOWkp+Wk muaVsOaDheWGteS4i++8jOaIkeS7rOWPr+S7peWwhuaKouWNoOadg+inhuS4uuetieWQjOS6jg0K PiA+ICtTTVDvvIzogIzkuI3lv4XljZXni6zmi4Xlv4PlroPjgIINCj4gPiArDQo+ID4gK+aCqOW6 lOivpeWni+e7iOWcqOWQr+eUqCBgYENPTkZJR19TTVBgYCDlkowgYGBDT05GSUdfUFJFRU1QVGBg IOeahOaDheWGteS4i+a1i+ivlemUgeS7o+egge+8jOWNs+S9vw0KPiA+ICvmgqjmsqHmnIlTTVDm tYvor5Xorr7lpIfvvIzlm6DkuLrov5nku43nhLbog73mjZXojrfmn5DkupvnsbvlnovnmoTplIHn vLrpmbfjgIINCj4gPiArDQo+ID4gK+S6kuaWpemUgeS7jeeEtuWtmOWcqO+8jOWboOS4uuWug+S7 rOaYr+WcqOeUqOaIt+S4iuS4i+aWh+S5i+mXtOi/m+ihjOWQjOatpeaJgOW/hemcgOeahO+8jOaI keS7rOWwhuWcqOS4i+mdoueci+WIsOOAgg0KPiA+ICsNCj4gPiAr5LuF5Zyo55So5oi35LiK5LiL 5paH5Lit55qE6ZSB5pON5L2cDQo+ID4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ICsN Cj4gPiAr5aaC5p6c5oKo5pyJ5LiA5Liq5Y+q6IO95LuO55So5oi35LiK5LiL5paH6K6/6Zeu55qE 5pWw5o2u57uT5p6E77yM6YKj5LmI5Y+v5Lul5L2/55So5LiA5Liq566A5Y2V55qE5LqS5pal6ZSB 77yIDQo+ID4gK2BgaW5jbHVkZS9saW51eC9tdXRleC5oYGAg77yJ5p2l5L+d5oqk5a6D44CC6L+Z 5piv5pyA566A5Y2V55qE5oOF5b2i77ya5Yid5aeL5YyW5LqS5pal6ZSB44CC54S25ZCO6LCD55So DQo+ID4gK211dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgp5p2l6I635Y+W5LqS5pal6ZSB77yM5oiW 6LCD55SobXV0ZXhfdW5sb2NrKCnmnaXph4rmlL7lroPjgILov5jmnInkuIDkuKoNCj4gPiAr5bqU 6YG/5YWN5L2/55So55qEbXV0ZXhfbG9jaygp77yM5Zug5Li65b2T5pS25Yiw5L+h5Y+35pe25a6D 5LiN5Lya6L+U5Zue44CCDQo+ID4gKw0KPiA+ICvnpLrkvovvvJogYGBuZXQvbmV0ZmlsdGVyL25m X3NvY2tvcHQuY2BgIOWFgeiuuOS9v+eUqG5mX3JlZ2lzdGVyX3NvY2tvcHQoKeazqOWGjOaWsOea hA0KPiA+ICtzZXRzb2Nrb3B0KCnlkoxnZXRzb2Nrb3B0KCkg6LCD55So44CC5rOo5YaM5ZKM5Y+W 5raI5rOo5YaM5LuF5Zyo5qih5Z2X5Yqg6L295ZKM5Y246L295pe277yI5Lul5Y+K5byV5a+8DQo+ ID4gK+aXtu+8jOWcqOayoeacieW5tuWPkeeahOaDheWGteS4i++8ieWujOaIkO+8jOW5tuS4lOaz qOWGjOWIl+ihqOS7heeUqOS6juacquefpeeahHNldHNvY2tvcHQoKeaIlg0KPiA+ICtnZXRzb2Nr b3B0KCnns7vnu5/osIPnlKjjgIIgYGBuZl9zb2Nrb3B0X211dGV4YGAg6Z2e5bi46YCC5ZCI55So 5p2l5L+d5oqk5q2k5oOF5Ya177yM5bCk5YW25piv5Zug5Li6DQo+ID4gK3NldHNvY2tvcHTlkoxn ZXRzb2Nrb3B06LCD55So5Y+v6IO95Lya552h55yg44CCDQo+ID4gKw0KPiA+ICvnlKjmiLfkuIrk uIvmloflkozova/kuK3mlq3kuYvpl7TnmoTplIHmk43kvZwNCj4gPiArLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQo+ID4gKw0KPiA+ICvlpoLmnpzova/kuK3mlq3vvIhzb2Z0aXJx77yJ 6ZyA6KaB5LiO55So5oi35LiK5LiL5paH5YWx5Lqr5pWw5o2u77yM5YiZ5Lya5Lqn55Sf5Lik5Liq 6Zeu6aKY44CC6aaW5YWI77yM5b2T5YmNDQo+ID4gK+eUqOaIt+S4iuS4i+aWh+WPr+S7peiiq+i9 r+S4reaWreS4reaWre+8m+WFtuasoe+8jOWFs+mUruWMuuWfn+WPr+S7peS7juWPpuS4gOS4qkNQ Vei/m+WFpeOAguatpOaXtuW6lOW9k+S9v+eUqA0KPiA+ICtzcGluX2xvY2tfYmgoKe+8iCBgYGlu Y2x1ZGUvbGludXgvc3BpbmxvY2suaGBgIO+8ieOAguWug+emgeeUqOatpENQVeS4iueahOi9r+S4 reaWre+8jOeEtuWQjg0KPiA+ICvojrflj5bplIHjgIJzcGluX3VubG9ja19iaCgp5omn6KGM55u4 5Y+N55qE5pON5L2c77yI4oCcX2Jo4oCd5ZCO57yA5piv5a+54oCc5LiL5Y2K6YOoW0JvdHRvbSBI YWx2ZXNd4oCdDQo+ID4gK+eahOWOhuWPsuaAp+W8leeUqO+8jOi/meaYr+i9r+S4reaWreeahOaX p+WQjeensOOAguWug+WunumZheS4iuW6lOivpeiiq+ensOS4unNwaW5fbG9ja19zb2Z0aXJxKCnv vInjgIINCj4gPiArDQo+ID4gK+ivt+azqOaEj++8jOaCqOS5n+WPr+S7peWcqOatpOWkhOS9v+eU qCBzcGluX2xvY2tfaXJxKCnmiJZzcGluX2xvY2tfaXJxc2F2ZSgp77yM5a6D5Lus5Y+v5Lul5YGc 5q2iDQo+ID4gK+ehrOS4reaWre+8jOivt+WPgumYhSBg56Gs5Lit5pat5LiK5LiL5paHYF8g44CC DQo+ID4gKw0KPiA+ICvov5nlr7lVUOS5n+mdnuW4uOacieaViO+8muiHquaXi+mUgea2iOWkse+8 jOi/meS4quWuj+S8muebtOaOpeWPmOaIkGxvY2FsX2JoX2Rpc2FibGUoKe+8iA0KPiA+ICtgYGlu Y2x1ZGUvbGludXgvaW50ZXJydXB0LmhgYCDvvInvvIzkv53miqTmgqjkuI3lj5fmraPlnKjov5Do oYznmoTova/kuK3mlq3nmoTlvbHlk43jgIINCj4gPiArDQo+ID4gK+eUqOaIt+S4iuS4i+aWh+WS jOWtkOS7u+WKoeS5i+mXtOeahOmUgeaTjeS9nA0KPiA+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0NCj4gPiArDQo+ID4gK+i/meS4juS4iumdoueahOWujOWFqOebuOWQjO+8jOWboOS4 uuWtkOS7u+WKoe+8iFRhc2tsZXTvvInlrp7pmYXkuIrmmK/ku47ova/kuK3mlq3ov5DooYznmoTj gIINCj4gPiArDQo+ID4gK+eUqOaIt+S4iuS4i+aWh+WSjOiuoeaXtuWZqOS5i+mXtOeahOmUgeaT jeS9nA0KPiA+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiArDQo+ID4gK+i/ meS5n+S4juS4iumdouWujOWFqOebuOWQjO+8jOWboOS4uuiuoeaXtuWZqOWunumZheS4iuS5n+aY r+S7jui9r+S4reaWrei/kOihjOeahOOAgg0KPiA+ICvku47plIHnmoTop5LluqbmnaXnnIvvvIzl rZDku7vliqHlkozorqHml7blmajmmK/nm7jlkIznmoTjgIINCj4gPiArDQo+ID4gK+WtkOS7u+WK oS/orqHml7blmajkuYvpl7TnmoTplIHmk43kvZwNCj4gPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KPiA+ICsNCj4gPiAr5pyJ5pe277yM5LiA5Liq5a2Q5Lu75Yqh5oiW6K6h5pe25Zmo5Y+v 6IO95biM5pyb5LiO5Y+m5LiA5Liq5a2Q5Lu75Yqh5oiW6K6h5pe25Zmo5YWx5Lqr5pWw5o2u44CC DQo+ID4gKw0KPiA+ICvnm7jlkIznmoTlrZDku7vliqEv6K6h5pe25ZmoDQo+ID4gK35+fn5+fn5+ fn5+fn5+fn5+fn4NCj4gPiArDQo+ID4gK+eUseS6juWtkOS7u+WKoeawuOi/nOS4jeS8muWQjOaX tuWcqOS4pOS4qkNQVeS4iui/kOihjO+8jOWboOatpOaCqOS4jeW/heaLheW/g+aCqOeahOWtkOS7 u+WKoeaYr+WPr+mHjeWFpeeahA0KPiA+ICvvvIjkuIDkuIvov5DooYzkuKTmrKHvvInvvIzljbPk vb/mmK/lnKhTTVDkuIrjgIINCj4gPiArDQo+ID4gK+S4jeWQjOeahOWtkOS7u+WKoS/orqHml7bl magNCj4gPiArfn5+fn5+fn5+fn5+fn5+fn5+fg0KPiA+ICsNCj4gPiAr5aaC5p6c5Y+m5LiA5Liq 5a2Q5Lu75YqhL+iuoeaXtuWZqOW4jOacm+S4juaCqOeahOWtkOS7u+WKoeaIluiuoeaXtuWZqOWF seS6q+aVsOaNru+8jOWImeaCqOmcgOimgeS9v+eUqA0KPiA+ICt1c2Ugc3Bpbl9sb2NrKCnlkoxz cGluX3VubG9jaygp6LCD55So44CC6L+Z6YeM5peg6ZyA5L2/55Soc3Bpbl9sb2NrX2JoKCnvvIzl m6DkuLrmgqjlt7Lnu4/lnKgNCj4gPiAr5LiA5Liq5a2Q5Lu75Yqh5Lit77yM5bm25LiU5LiN5Lya 5pyJ5Y+m5LiA5Liq5Zyo5ZCM5LiA5LiqQ1BV5LiK6L+Q6KGM44CCDQo+ID4gKw0KPiA+ICvova/k uK3mlq3kuYvpl7TnmoTplIHmk43kvZwNCj4gPiArLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gKw0K PiA+ICvova/kuK3mlq3luLjluLjlj6/og73luIzmnJvkuI7oh6rlt7HmiJblrZDku7vliqEv6K6h 5pe25Zmo5YWx5Lqr5pWw5o2u44CCDQo+ID4gKw0KPiA+ICvnm7jlkIznmoTova/kuK3mlq0NCj4g PiArfn5+fn5+fn5+fn5+DQo+ID4gKw0KPiA+ICvlkIzmoLfnmoTova/kuK3mlq3lj6/ku6XlnKjl hbbku5ZDUFXkuIrov5DooYzvvJrmgqjlj6/ku6Xkvb/nlKjpgJBDUFXmlbDnu4TvvIjlj4Lop4Eg YOmAkENQVeaVsOaNrmBfIO+8ieadpQ0K6YCQQ1BV5pWw5o2uIC0+IOavj0NQVeaVsOaNru+8nw0K PiA+ICvojrflvpfmm7Tlpb3nmoTmgKfog73jgILlpoLmnpzmgqjmiZPnrpfkvb/nlKjova/kuK3m lq3vvIzpgqPkuYjmgqjlj6/og73pnZ7luLjlhbPlv4Plj6/kvLjnvKnmgKfog73vvIzotrPku6Xl pITnkIYNCj4gPiAr6aKd5aSW55qE5aSN5p2C5oCn44CCDQo+ID4gKw0KPiA+ICvlr7nkuo7lhbHk uqvmlbDmja7vvIzmgqjpnIDopoHkvb/nlKhzcGluX2xvY2soKeWSjHNwaW5fdW5sb2NrKCnjgIIN Cj4gPiArDQo+ID4gK+S4jeWQjOeahOi9r+S4reaWrQ0KPiA+ICt+fn5+fn5+fn5+fn4NCj4gPiAr DQo+ID4gK+WvueS6juWFseS6q+aVsOaNru+8jOaCqOmcgOimgeS9v+eUqHNwaW5fbG9jaygp5ZKM c3Bpbl91bmxvY2soKe+8jOaXoOiuuuaYr+iuoeaXtuWZqOOAgeWtkOS7u+WKoeOAgQ0KPiA+ICvn m7jlkIwv5LiN5ZCM55qE6L2v5Lit5pat5oiW5Y+m5LiA5Liq6L2v5Lit5pat77ya5a6D5Lus5Lit 55qE5Lu75L2V5LiA5Liq6YO95Y+v5Lul5Zyo5LiN5ZCM55qEQ1BV5LiK6L+Q6KGM44CCDQo+ID4g Kw0KPiA+ICvnoazkuK3mlq3kuIrkuIvmlocNCj4gPiArPT09PT09PT09PT09DQo+ID4gKw0KPiA+ ICvnoazku7bkuK3mlq3pgJrluLjkuI7lrZDku7vliqHmiJbova/kuK3mlq3pgJrkv6HjgILov5nl uLjluLjmtonlj4rliLDlsIblt6XkvZzmlL7lhaXpmJ/liJfkuK3vvIznhLblkI7ova/kuK3mlq3k vJoNCj4gPiAr5bCG5YW25Y+W5Ye644CCDQo+ID4gKw0KPiA+ICvnoazkuK3mlq3lkozova/kuK3m lq0v5a2Q5Lu75Yqh5LmL6Ze055qE6ZSB5pON5L2cDQo+ID4gKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQ0KPiA+ICsNCj4gPiAr5aaC5p6c56Gs5Lu25Lit5pat5aSE55CG56iL5bqP 6ZyA6KaB5LiO6L2v5Lit5pat5YWx5Lqr5pWw5o2u77yM5YiZ5pyJ5Lik5Liq6Zeu6aKY44CC6aaW 5YWI77yM6YCa6L+H56Gs5Lu25Lit5patDQo+ID4gK+WPr+S7peS4reaWrei9r+S4reaWreWkhOeQ hu+8m+WFtuasoe+8jOmAmui/h+WPpuS4gENQVeS4iueahOehrOS7tuS4reaWreWPr+S7pei/m+WF peWFs+mUruWMuuWfn+OAguatpOaXtuW6lA0KPiA+ICvkvb/nlKhzcGluX2xvY2tfaXJxKCnjgILl roPlrprkuYnkuLrnpoHnlKjor6VDUFXkuIrnmoTkuK3mlq3vvIznhLblkI7ojrflj5bplIHjgIJz cGluX3VubG9ja19pcnEoKQ0KPiA+ICvmiafooYznm7jlj43nmoTmk43kvZzjgIINCj4gPiArDQo+ ID4gK+S4reaWreWkhOeQhueoi+W6j+aXoOmcgOS9v+eUqHNwaW5fbG9ja19pcnEoKe+8jOWboOS4 uuWcqOS4reaWreWkhOeQhueoi+W6j+i/kOihjOaXtui9r+S4reaWreS4jeiDvei/kOihjO+8mg0K PiA+ICvlroPlj6/ku6Xkvb/nlKhzcGluX2xvY2soKe+8jOS8mueojeW+ruW/q+S4gOeCueOAguWU r+S4gOeahOS+i+WkluaYr++8jOWmguaenOS4jeWQjOeahOehrOS7tuS4reaWreWkhOeQhueoi+W6 jw0KPiA+ICvkvb/nlKjnm7jlkIznmoTplIHvvJpzcGluX2xvY2tfaXJxKCnlsIbpmLvmraLlroPk uK3mlq3miJHku6zjgIINCj4gPiArDQo+ID4gK+i/meWvuVVQ5Lmf6Z2e5bi45pyJ5pWI77ya6Ieq 5peL6ZSB5raI5aSx77yM6L+Z5Liq5a6P5Lya55u05o6l5Y+Y5oiQbG9jYWxfaXJxX2Rpc2FibGUo Ke+8iA0KPiA+ICtgYGluY2x1ZGUvYXNtL3NtcC5oYGAg77yJ77yM5a6D5L+d5oqk5oKo5LiN5Y+X 6L2v5Lit5patL+WtkOS7u+WKoS/kuIvljYrpg6jov5DooYznmoTlvbHlk43jgIINCj4gPiArDQo+ ID4gK3NwaW5fbG9ja19pcnFzYXZlKCnvvIggYGBpbmNsdWRlL2xpbnV4L3NwaW5sb2NrLmhgYCDv vInmmK/kuIDkuKrlj5jkvZPvvIzlroPkvJrlnKjkuIDkuKoNCj4gPiAr5qCH5b+X5a2X5Lit5L+d 5a2Y5Lit5pat5piv5omT5byA6L+Y5piv5YWz6Zet77yM5q2k5qCH5b+X5a2X5bCG6KKr5Lyg6YCS 57uZc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgp44CCDQo+ID4gK+i/meaEj+WRs+edgOWPr+S7peWc qOehrOS4reaWreWkhOeQhueoi+W6j++8iOS4reaWreW3sue7j+WFs+mXreaXtu+8ieWSjOi9r+S4 reaWre+8iOmcgOimgeemgeeUqOS4reaWre+8ieS4reS9v+eUqA0KPiA+ICvnm7jlkIznmoTku6Pn oIHjgIINCj4gPiArDQo+ID4gK+ivt+azqOaEj++8jOi9r+S4reaWre+8iOS7peWPiuWFtuS6p+eU n+eahOWtkOS7u+WKoeWSjOiuoeaXtuWZqO+8ieaYr+WcqOehrOS7tuS4reaWrei/lOWbnuaXtui/ kOihjOeahO+8jOWboOatpA0KPiA+ICtzcGluX2xvY2tfaXJxKCnkuZ/kvJrlgZzmraLov5nkupvm k43kvZzjgILku47ov5nkuKrmhI/kuYnkuIror7TvvIxzcGluX2xvY2tfaXJxc2F2ZSgp5piv5pyA 6YCa55So44CBDQo+ID4gK+acgOW8uuWkp+eahOmUgeaTjeS9nOWHveaVsOOAgg0KPiA+ICsNCj4g PiAr5Lik5Liq56Gs5Lit5pat5aSE55CG5Zmo5LmL6Ze055qE6ZSB5pON5L2cDQo+ID4gKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiArDQo+ID4gK+WcqOS4pOS4quS4reaWreWkhOeQ hueoi+W6j+S5i+mXtOWFseS6q+aVsOaNruaYr+W+iOWwkeingeeahO+8jOS9huaYr+WmguaenOi/ meagt+WBmu+8jOWImeW6lOivpeS9v+eUqA0KPiA+ICtzcGluX2xvY2tfaXJxc2F2ZSgpIO+8muaY r+WQpuWcqOS4reaWreWkhOeQhueoi+W6j+WGhemDqOemgeeUqOaJgOacieS4reaWreWPluWGs+S6 jueJueWumuS9k+ezu+e7k+aehOOAgg0KPiA+ICsNCj4gPiAr6ZSB5pON5L2c6YCf5p+l6KGoDQo+ ID4gKz09PT09PT09PT09PQ0KPiA+ICsNCj4gPiArUGV0ZSBaYWl0Y2V257uZ5Ye65LqG5Lul5LiL 5oC757uT77yaDQo+ID4gKw0KPiA+ICstICDlpoLmnpzmgqjlpITkuo7ov5vnqIvkuIrkuIvmlofv vIjku7vkvZXns7vnu5/osIPnlKjvvInkuK3vvIzlubbkuJTluIzmnJvliqDplIHmjpLpmaTlhbbk u5bov5vnqIvvvIzor7fkvb/nlKgNCj4gPiArICAg5LqS5pal6ZSB44CC5oKo5Y+v5Lul5oyB5pyJ 5LqS5pal6ZSB5bm25LyR55yg77yIIGBgY29weV9mcm9tX3VzZXIqKClgYCDmiJYNCj4gPiArICAg YGBrbWFsbG9jKHgsR0ZQX0tFUk5FTClgYCDvvInjgIINCj4gPiArDQo+ID4gKy0gIOWQpuWIme+8 iOWNs+aVsOaNruWPr+WcqOS4reaWreS4reiiq+iuv+mXru+8ieivt+S9v+eUqHNwaW5fbG9ja19p cnFzYXZlKCnlkowNCj4gPiArICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgp44CCDQo+ID4gKw0K PiA+ICstICDpgb/lhY3lnKjotoXov4c16KGM5Luj56CB5ZKM5Lu75L2V5Ye95pWw6LCD55So5Lit 5L2/55So6Ieq5peL6ZSB77yIcmVhZGIoKeS5i+exu+eahOiuv+mXruWZqOmZpOWklu+8ieOAgg0K PiA+ICsNCj4gPiAr5pyA5L2O6KaB5rGC6KGoDQo+ID4gKy0tLS0tLS0tLS0NCj4gPiArDQo+ID4g K+S4i+ihqOWIl+WHuuS6huS4jeWQjOS4iuS4i+aWh+S5i+mXtOeahCAqKuacgOS9jioqIOmUgeaT jeS9nOimgeaxguOAguWcqOafkOS6m+aDheWGteS4i++8jOWQjOS4gOS4iuS4i+aWh+S4gOasoQ0K PiA+ICvlj6rog73lnKjkuIDkuKpDUFXkuIrov5DooYzvvIzlm6DmraTor6XkuIrkuIvmlofml6Dp nIDliqDplIHvvIjkvovlpoLvvIznibnlrprnur/nqIvkuIDmrKHlj6rog73lnKjkuIDkuKpDUFXk uIoNCj4gPiAr6L+Q6KGM77yM5L2G5aaC5p6c5a6D6ZyA6KaB5LiO5Y+m5LiA5Liq57q/56iL5YWx 5Lqr5pWw5o2u77yM5YiZ6ZyA6KaB5Yqg6ZSB77yJ44CCDQo+ID4gKw0KPiA+ICvorrDkvY/kuIrp naLnmoTlu7rorq7vvJrmgqjmgLvmmK/lj6/ku6Xkvb/nlKhzcGluX2xvY2tfaXJxc2F2ZSgp77yM 5a6D5piv5omA5pyJ5YW25LuW6Ieq5peL6ZSB5Y6f6K+t55qE6LaF6ZuG44CCDQo+ID4gKw0KPiA+ ICsuLiB0YWJsZTo6IOmUgeaTjeS9nOimgeaxguihqA0KPiA+ICsNCj4gPiArICA9PT09PT09PT09 PT09PSA9PT09PT09PT09PT09ID09PT09PT09PT09PT0gPT09PT09PT09ID09PT09PT09PSA9PT09 PT09PT0gPT09PT09PT09ID09PT09PT0gPT09PT09PSA9PT09PT09PT09PT09PSA9PT09PT09PT09 PT09PQ0KPiA+ICsgICAgICAgICAgICAgICAgIOS4reaWreWkhOeQhueoi+W6j0Eg5Lit5pat5aSE 55CG56iL5bqPQiDova/kuK3mlq1BICAg6L2v5Lit5patQiAgIOWtkOS7u+WKoUEgICDlrZDku7vl iqFCICAg6K6h5pe25ZmoQSDorqHml7blmahCIOeUqOaIt+S4iuS4i+aWh0EgICAg55So5oi35LiK 5LiL5paHQg0KPiA+ICsgID09PT09PT09PT09PT09ID09PT09PT09PT09PT0gPT09PT09PT09PT09 PSA9PT09PT09PT0gPT09PT09PT09ID09PT09PT09PSA9PT09PT09PT0gPT09PT09PSA9PT09PT09 ID09PT09PT09PT09PT09ID09PT09PT09PT09PT09DQo+ID4gKyAg5Lit5pat5aSE55CG56iL5bqP QSAgTm9uZQ0KPiA+ICsgIOS4reaWreWkhOeQhueoi+W6j0IgIFNMSVMgICAgICAgICAgTm9uZQ0K PiA+ICsgIOi9r+S4reaWrUEgICAgICAgIFNMSSAgICAgICAgICAgU0xJICAgICAgICAgICBTTA0K PiA+ICsgIOi9r+S4reaWrUIgICAgICAgIFNMSSAgICAgICAgICAgU0xJICAgICAgICAgICBTTCAg ICAgICAgU0wNCj4gPiArICDlrZDku7vliqFBICAgICAgICBTTEkgICAgICAgICAgIFNMSSAgICAg ICAgICAgU0wgICAgICAgIFNMICAgICAgICBOb25lDQo+ID4gKyAg5a2Q5Lu75YqhQiAgICAgICAg U0xJICAgICAgICAgICBTTEkgICAgICAgICAgIFNMICAgICAgICBTTCAgICAgICAgU0wgICAgICAg IE5vbmUNCj4gPiArICDorqHml7blmahBICAgICAgICBTTEkgICAgICAgICAgIFNMSSAgICAgICAg ICAgU0wgICAgICAgIFNMICAgICAgICBTTCAgICAgICAgU0wgICAgICAgIE5vbmUNCj4gPiArICDo rqHml7blmahCICAgICAgICBTTEkgICAgICAgICAgIFNMSSAgICAgICAgICAgU0wgICAgICAgIFNM ICAgICAgICBTTCAgICAgICAgU0wgICAgICAgIFNMICAgICAgTm9uZQ0KPiA+ICsgIOeUqOaIt+S4 iuS4i+aWh0EgICAgU0xJICAgICAgICAgICBTTEkgICAgICAgICAgIFNMQkggICAgICBTTEJIICAg ICAgU0xCSCAgICAgIFNMQkggICAgICBTTEJIICAgIFNMQkggICAgTm9uZQ0KPiA+ICsgIOeUqOaI t+S4iuS4i+aWh0IgICAgU0xJICAgICAgICAgICBTTEkgICAgICAgICAgIFNMQkggICAgICBTTEJI ICAgICAgU0xCSCAgICAgIFNMQkggICAgICBTTEJIICAgIFNMQkggICAgTUxJICAgICAgICAgICAg Tm9uZQ0KPiA+ICsgID09PT09PT09PT09PT09ID09PT09PT09PT09PT0gPT09PT09PT09PT09PSA9 PT09PT09PT0gPT09PT09PT09ID09PT09PT09PSA9PT09PT09PT0gPT09PT09PSA9PT09PT09ID09 PT09PT09PT09PT09ID09PT09PT09PT09PT09DQo+ID4gKw0KPiA+ICsuLiB0YWJsZTo6IOmUgeaT jeS9nOimgeaxguihqCDms6jph4oNCj4gPiArDQo+ID4gKyAgKy0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rDQo+ID4gKyAgfCBTTElTICAgfCBzcGluX2xvY2tfaXJxc2F2ZSAg ICAgICAgICB8DQo+ID4gKyAgKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r DQo+ID4gKyAgfCBTTEkgICAgfCBzcGluX2xvY2tfaXJxICAgICAgICAgICAgICB8DQo+ID4gKyAg Ky0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQo+ID4gKyAgfCBTTCAgICAg fCBzcGluX2xvY2sgICAgICAgICAgICAgICAgICB8DQo+ID4gKyAgKy0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rDQo+ID4gKyAgfCBTTEJIICAgfCBzcGluX2xvY2tfYmggICAg ICAgICAgICAgICB8DQo+ID4gKyAgKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rDQo+ID4gKyAgfCBNTEkgICAgfCBtdXRleF9sb2NrX2ludGVycnVwdGlibGUgICB8DQo+ID4g KyAgKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQo+ID4gKw0KPiA+ICvo r5XplIHvvIh0cnlsb2Nr77yJ5Ye95pWwDQo+ID4gKz09PT09PT09PT09PT09PT09PT0NCj4gPiAr DQo+ID4gK+i/meS6m+WHveaVsOWPquWwneivleiOt+WPluS4gOasoemUge+8jOW5tueri+WNs+i/ lOWbnuS4gOS4quWAvOivtOaYjuiOt+WPlumUgeaIkOWKn+aIluWksei0peOAguWmguaenOS9oOaX oOmcgA0KPiA+ICvorr/pl67lj5flhbbku5bnur/nqIvmjIHmnInnmoTplIHkv53miqTnmoTmlbDm ja7vvIzlj6/ku6Xkvb/nlKjlroPku6zjgILlpoLmnpzpnIDopoHorr/pl67lj5fplIHkv53miqTn moTmlbDmja7vvIwNCj4gPiAr5YiZ5bqU56iN5ZCO6I635Y+W6ZSB44CCDQo+ID4gKw0KPiA+ICtz cGluX3RyeWxvY2soKeS4jeS8muiHquaXi++8jOS9huiLpeWcqOmmluasoeWwneivleaXtuiOt+W+ l+iHquaXi+mUgeWImei/lOWbnumdnumbtu+8jOWQpuWImei/lOWbnumbtuOAguatpA0KPiA+ICvl h73mlbDlj6/ku6Xlg49zcGluX2xvY2soKeS4gOagt+WcqOaJgOacieS4iuS4i+aWh+S4reS9v+eU qO+8muaCqOW/hemhu+emgeeUqOWPr+iDveS4reaWreaCqOW5tuiOt+WPluiHquaXi+mUgQ0KPiA+ ICvnmoTkuIrkuIvmlofjgIINCj4gPiArDQo+ID4gK211dGV4X3RyeWxvY2soKeS4jeS8muaMgui1 t+S7u+WKoe+8jOS9huiLpeWFtuWcqOmmluasoeWwneivleaXtuiOt+W+l+S6kuaWpemUge+8jOWI mei/lOWbnumdnumbtu+8jOWQpuWImQ0KPiA+ICvov5Tlm57pm7bjgILlsL3nrqHmnKrkvJHnnKDv vIzkvYbmraTlip/og73lnKjnoazku7bmiJbova/ku7bkuK3mlq3kuIrkuIvmlofkuK3ml6Dms5Xl ronlhajkvb/nlKjjgIINCj4gPiArDQo+ID4gK+W4uOingeS+i+WtkA0KPiA+ICs9PT09PT09PQ0K PiA+ICsNCj4gPiAr6K6p5oiR5Lus5p2l55yL5LiA5Liq566A5Y2V55qE5L6L5a2Q77ya5LiA5Liq 5pWw5a2X5Yiw5ZCN56ew5pig5bCE55qE57yT5a2Y44CCDQrkuIDkuKrmlbDlrZfliLDlkI3np7Dm mKDlsITnmoTnvJPlrZjjgIINCkkgZG9uJ3QgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGlz IHNlbnRlbmNlDQoNCmNhY2hlIOW7uuiuruS/neeVmeiLseaWhw0KDQo+ID4gK+e8k+WtmOiusOW9 leavj+S4quWvueixoeeahOS9v+eUqOmikeeOh++8jOW9k+e8k+WtmOa7oeS6huaXtu+8jOaKm+WH uuacgOWwkeS9v+eUqOeahOWvueixoeOAgg0KPiA+ICsNCj4gPiAr5a6M5YWo5Zyo55So5oi35LiK 5LiL5paH5LitDQo+ID4gKy0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ICsNCj4gPiAr5a+55LqO56ys 5LiA5Liq56S65L6L77yM5oiR5Lus5YGH6K6+5omA5pyJ5pON5L2c6YO95Zyo55So5oi35LiK5LiL 5paH5Lit77yI5Y2z5p2l6Ieq57O757uf6LCD55So77yJ77yM5Zug5q2k5oiR5LusDQo+ID4gK+WP r+S7peS8keecoOOAgui/meaEj+WRs+edgOaIkeS7rOWPr+S7peS9v+eUqOS6kuaWpemUgeadpeS/ neaKpOe8k+WtmOWSjOWFtuS4reeahOaJgOacieWvueixoeOAguS7o+eggeWmguS4izo6DQo+ID4g Kw0KPiA+ICsgICAgI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4NCj4gPiArICAgICNpbmNsdWRlIDxs aW51eC9zbGFiLmg+DQo+ID4gKyAgICAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+DQo+ID4gKyAg ICAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4NCj4gPiArICAgICNpbmNsdWRlIDxhc20vZXJybm8u aD4NCj4gPiArDQo+ID4gKyAgICBzdHJ1Y3Qgb2JqZWN0DQo+ID4gKyAgICB7DQo+ID4gKyAgICAg ICAgICAgIHN0cnVjdCBsaXN0X2hlYWQgbGlzdDsNCj4gPiArICAgICAgICAgICAgaW50IGlkOw0K PiA+ICsgICAgICAgICAgICBjaGFyIG5hbWVbMzJdOw0KPiA+ICsgICAgICAgICAgICBpbnQgcG9w dWxhcml0eTsNCj4gPiArICAgIH07DQo+ID4gKw0KPiA+ICsgICAgLyogUHJvdGVjdHMgdGhlIGNh Y2hlLCBjYWNoZV9udW0sIGFuZCB0aGUgb2JqZWN0cyB3aXRoaW4gaXQgKi8NCj4gPiArICAgIHN0 YXRpYyBERUZJTkVfTVVURVgoY2FjaGVfbG9jayk7DQo+ID4gKyAgICBzdGF0aWMgTElTVF9IRUFE KGNhY2hlKTsNCj4gPiArICAgIHN0YXRpYyB1bnNpZ25lZCBpbnQgY2FjaGVfbnVtID0gMDsNCj4g PiArICAgICNkZWZpbmUgTUFYX0NBQ0hFX1NJWkUgMTANCj4gPiArDQo+ID4gKyAgICAvKiBNdXN0 IGJlIGhvbGRpbmcgY2FjaGVfbG9jayAqLw0KPiA+ICsgICAgc3RhdGljIHN0cnVjdCBvYmplY3Qg Kl9fY2FjaGVfZmluZChpbnQgaWQpDQo+ID4gKyAgICB7DQo+ID4gKyAgICAgICAgICAgIHN0cnVj dCBvYmplY3QgKmk7DQo+ID4gKw0KPiA+ICsgICAgICAgICAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5 KGksICZjYWNoZSwgbGlzdCkNCj4gPiArICAgICAgICAgICAgICAgICAgICBpZiAoaS0+aWQgPT0g aWQpIHsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIGktPnBvcHVsYXJpdHkrKzsN Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpOw0KPiA+ICsgICAgICAg ICAgICAgICAgICAgIH0NCj4gPiArICAgICAgICAgICAgcmV0dXJuIE5VTEw7DQo+ID4gKyAgICB9 DQo+ID4gKw0KPiA+ICsgICAgLyogTXVzdCBiZSBob2xkaW5nIGNhY2hlX2xvY2sgKi8NCj4gPiAr ICAgIHN0YXRpYyB2b2lkIF9fY2FjaGVfZGVsZXRlKHN0cnVjdCBvYmplY3QgKm9iaikNCj4gPiAr ICAgIHsNCj4gPiArICAgICAgICAgICAgQlVHX09OKCFvYmopOw0KPiA+ICsgICAgICAgICAgICBs aXN0X2RlbCgmb2JqLT5saXN0KTsNCj4gPiArICAgICAgICAgICAga2ZyZWUob2JqKTsNCj4gPiAr ICAgICAgICAgICAgY2FjaGVfbnVtLS07DQo+ID4gKyAgICB9DQo+ID4gKw0KPiA+ICsgICAgLyog TXVzdCBiZSBob2xkaW5nIGNhY2hlX2xvY2sgKi8NCj4gPiArICAgIHN0YXRpYyB2b2lkIF9fY2Fj aGVfYWRkKHN0cnVjdCBvYmplY3QgKm9iaikNCj4gPiArICAgIHsNCj4gPiArICAgICAgICAgICAg bGlzdF9hZGQoJm9iai0+bGlzdCwgJmNhY2hlKTsNCj4gPiArICAgICAgICAgICAgaWYgKCsrY2Fj aGVfbnVtID4gTUFYX0NBQ0hFX1NJWkUpIHsNCj4gPiArICAgICAgICAgICAgICAgICAgICBzdHJ1 Y3Qgb2JqZWN0ICppLCAqb3V0Y2FzdCA9IE5VTEw7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAg bGlzdF9mb3JfZWFjaF9lbnRyeShpLCAmY2FjaGUsIGxpc3QpIHsNCj4gPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGlmICghb3V0Y2FzdCB8fCBpLT5wb3B1bGFyaXR5IDwgb3V0Y2FzdC0+ cG9wdWxhcml0eSkNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0 Y2FzdCA9IGk7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgfQ0KPiA+ICsgICAgICAgICAgICAg ICAgICAgIF9fY2FjaGVfZGVsZXRlKG91dGNhc3QpOw0KPiA+ICsgICAgICAgICAgICB9DQo+ID4g KyAgICB9DQo+ID4gKw0KPiA+ICsgICAgaW50IGNhY2hlX2FkZChpbnQgaWQsIGNvbnN0IGNoYXIg Km5hbWUpDQo+ID4gKyAgICB7DQo+ID4gKyAgICAgICAgICAgIHN0cnVjdCBvYmplY3QgKm9iajsN Cj4gPiArDQo+ID4gKyAgICAgICAgICAgIGlmICgob2JqID0ga21hbGxvYyhzaXplb2YoKm9iaiks IEdGUF9LRVJORUwpKSA9PSBOVUxMKQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgIHJldHVybiAt RU5PTUVNOw0KPiA+ICsNCj4gPiArICAgICAgICAgICAgc3Ryc2NweShvYmotPm5hbWUsIG5hbWUs IHNpemVvZihvYmotPm5hbWUpKTsNCj4gPiArICAgICAgICAgICAgb2JqLT5pZCA9IGlkOw0KPiA+ ICsgICAgICAgICAgICBvYmotPnBvcHVsYXJpdHkgPSAwOw0KPiA+ICsNCj4gPiArICAgICAgICAg ICAgbXV0ZXhfbG9jaygmY2FjaGVfbG9jayk7DQo+ID4gKyAgICAgICAgICAgIF9fY2FjaGVfYWRk KG9iaik7DQo+ID4gKyAgICAgICAgICAgIG11dGV4X3VubG9jaygmY2FjaGVfbG9jayk7DQo+ID4g KyAgICAgICAgICAgIHJldHVybiAwOw0KPiA+ICsgICAgfQ0KPiA+ICsNCj4gPiArICAgIHZvaWQg Y2FjaGVfZGVsZXRlKGludCBpZCkNCj4gPiArICAgIHsNCj4gPiArICAgICAgICAgICAgbXV0ZXhf bG9jaygmY2FjaGVfbG9jayk7DQo+ID4gKyAgICAgICAgICAgIF9fY2FjaGVfZGVsZXRlKF9fY2Fj aGVfZmluZChpZCkpOw0KPiA+ICsgICAgICAgICAgICBtdXRleF91bmxvY2soJmNhY2hlX2xvY2sp Ow0KPiA+ICsgICAgfQ0KPiA+ICsNCj4gPiArICAgIGludCBjYWNoZV9maW5kKGludCBpZCwgY2hh ciAqbmFtZSkNCj4gPiArICAgIHsNCj4gPiArICAgICAgICAgICAgc3RydWN0IG9iamVjdCAqb2Jq Ow0KPiA+ICsgICAgICAgICAgICBpbnQgcmV0ID0gLUVOT0VOVDsNCj4gPiArDQo+ID4gKyAgICAg ICAgICAgIG11dGV4X2xvY2soJmNhY2hlX2xvY2spOw0KPiA+ICsgICAgICAgICAgICBvYmogPSBf X2NhY2hlX2ZpbmQoaWQpOw0KPiA+ICsgICAgICAgICAgICBpZiAob2JqKSB7DQo+ID4gKyAgICAg ICAgICAgICAgICAgICAgcmV0ID0gMDsNCj4gPiArICAgICAgICAgICAgICAgICAgICBzdHJjcHko bmFtZSwgb2JqLT5uYW1lKTsNCj4gPiArICAgICAgICAgICAgfQ0KPiA+ICsgICAgICAgICAgICBt dXRleF91bmxvY2soJmNhY2hlX2xvY2spOw0KPiA+ICsgICAgICAgICAgICByZXR1cm4gcmV0Ow0K PiA+ICsgICAgfQ0KPiA+ICsNCj4gPiAr6K+35rOo5oSP77yM5Zyo5re75Yqg44CB5Yig6Zmk5oiW 5p+l5om+57yT5a2Y5pe277yM5oiR5Lus5aeL57uI56Gu5L+d5oul5pyJY2FjaGVfbG9ja+e8k+Wt mOmUge+8mue8k+WtmOWfuuehgA0KPiA+ICvnu5PmnoTmnKzouqvlkozlr7nosaHnmoTlhoXlrrnp g73lj5fliLDplIHnmoTkv53miqTjgILmnKzkvovkuK3ov5nlvojlrrnmmJPvvIzlm6DkuLrmiJHk u6zkuLrnlKjmiLflpI3liLbmlbDmja7vvIwNCj4gPiAr5LiN5Lya6K6p5LuW5Lus55u05o6l6K6/ 6Zeu5a+56LGh44CCDQrku47kuI3kvJrvvJ8g5a+56LGhIC0+IOaVsOaNru+8nw0KVGhlIGNhY2hl IG9wZXJhdGlvbiBpcyBpbiB0aGUga2VybmVsIHN0YXRlLg0KDQo+ID4gKw0KPiA+ICvov5nph4zm nInkuIDkuKrlsI/vvIjkuZ/mmK/luLjop4HnmoTvvInkvJjljJbvvJrlnKhjYWNoZV9hZGQoKeS4 re+8jOaIkeS7rOWcqOiOt+WPlumUgeS5i+WJjeiuvue9ruWvueixoeeahA0KPiA+ICvlrZfmrrXj gILov5nmmK/lronlhajnmoTvvIzlm6DkuLrlnKjmiJHku6zlsIblroPmlL7lhaXnvJPlrZjkuYvl iY3vvIzlhbbku5bkurrml6Dms5Xorr/pl67lroPjgIINCj4gPiArDQo+ID4gK+S7juS4reaWreS4 iuS4i+aWh+iuv+mXrg0KPiA+ICstLS0tLS0tLS0tLS0tLS0tDQo+ID4gKw0KPiA+ICvnjrDlnKjo gIPomZHlj6/ku6Xku47kuK3mlq3kuIrkuIvmlofosIPnlKhjYWNoZV9maW5kKCnnmoTmg4XlhrXv vJrlj6/ku6XmmK/noazkuK3mlq3miJbova/kuK3mlq3jgIINCj4gPiAr5L6L5aaC5LuO57yT5a2Y 5Lit5Yig6Zmk5a+56LGh55qE6K6h5pe25Zmo44CCDQo+ID4gKw0KPiA+ICvkuIvpnaLku6XmoIfl h4booaXkuIHmoLzlvI/mmL7npLrkuobmm7TmlLnvvJogYGAtYGAg5piv5Yig6Zmk55qE6KGM77yM 6ICMIGBgK2BgIOaYr+WinuWKoOeahOihjOOAgg0KPiA+ICsNCj4gPiArOjoNCj4gPiArDQo+ID4g KyAgICAtLS0gY2FjaGUuYy51c2VyY29udGV4dCAyMDAzLTEyLTA5IDEzOjU4OjU0LjAwMDAwMDAw MCArMTEwMA0KPiA+ICsgICAgKysrIGNhY2hlLmMuaW50ZXJydXB0ICAgMjAwMy0xMi0wOSAxNDow Nzo0OS4wMDAwMDAwMDAgKzExMDANCj4gPiArICAgIEBAIC0xMiw3ICsxMiw3IEBADQo+ID4gKyAg ICAgICAgICAgICBpbnQgcG9wdWxhcml0eTsNCj4gPiArICAgICB9Ow0KPiA+ICsNCj4gPiArICAg IC1zdGF0aWMgREVGSU5FX01VVEVYKGNhY2hlX2xvY2spOw0KPiA+ICsgICAgK3N0YXRpYyBERUZJ TkVfU1BJTkxPQ0soY2FjaGVfbG9jayk7DQo+ID4gKyAgICAgc3RhdGljIExJU1RfSEVBRChjYWNo ZSk7DQo+ID4gKyAgICAgc3RhdGljIHVuc2lnbmVkIGludCBjYWNoZV9udW0gPSAwOw0KPiA+ICsg ICAgICNkZWZpbmUgTUFYX0NBQ0hFX1NJWkUgMTANCj4gPiArICAgIEBAIC01NSw2ICs1NSw3IEBA DQo+ID4gKyAgICAgaW50IGNhY2hlX2FkZChpbnQgaWQsIGNvbnN0IGNoYXIgKm5hbWUpDQo+ID4g KyAgICAgew0KPiA+ICsgICAgICAgICAgICAgc3RydWN0IG9iamVjdCAqb2JqOw0KPiA+ICsgICAg KyAgICAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsNCj4gPiArDQo+ID4gKyAgICAgICAgICAgICBp ZiAoKG9iaiA9IGttYWxsb2Moc2l6ZW9mKCpvYmopLCBHRlBfS0VSTkVMKSkgPT0gTlVMTCkNCj4g PiArICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07DQo+ID4gKyAgICBAQCAtNjMs MzAgKzY0LDMzIEBADQo+ID4gKyAgICAgICAgICAgICBvYmotPmlkID0gaWQ7DQo+ID4gKyAgICAg ICAgICAgICBvYmotPnBvcHVsYXJpdHkgPSAwOw0KPiA+ICsNCj4gPiArICAgIC0gICAgICAgIG11 dGV4X2xvY2soJmNhY2hlX2xvY2spOw0KPiA+ICsgICAgKyAgICAgICAgc3Bpbl9sb2NrX2lycXNh dmUoJmNhY2hlX2xvY2ssIGZsYWdzKTsNCj4gPiArICAgICAgICAgICAgIF9fY2FjaGVfYWRkKG9i aik7DQo+ID4gKyAgICAtICAgICAgICBtdXRleF91bmxvY2soJmNhY2hlX2xvY2spOw0KPiA+ICsg ICAgKyAgICAgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2FjaGVfbG9jaywgZmxhZ3MpOw0K PiA+ICsgICAgICAgICAgICAgcmV0dXJuIDA7DQo+ID4gKyAgICAgfQ0KPiA+ICsNCj4gPiArICAg ICB2b2lkIGNhY2hlX2RlbGV0ZShpbnQgaWQpDQo+ID4gKyAgICAgew0KPiA+ICsgICAgLSAgICAg ICAgbXV0ZXhfbG9jaygmY2FjaGVfbG9jayk7DQo+ID4gKyAgICArICAgICAgICB1bnNpZ25lZCBs b25nIGZsYWdzOw0KPiA+ICsgICAgKw0KPiA+ICsgICAgKyAgICAgICAgc3Bpbl9sb2NrX2lycXNh dmUoJmNhY2hlX2xvY2ssIGZsYWdzKTsNCj4gPiArICAgICAgICAgICAgIF9fY2FjaGVfZGVsZXRl KF9fY2FjaGVfZmluZChpZCkpOw0KPiA+ICsgICAgLSAgICAgICAgbXV0ZXhfdW5sb2NrKCZjYWNo ZV9sb2NrKTsNCj4gPiArICAgICsgICAgICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNhY2hl X2xvY2ssIGZsYWdzKTsNCj4gPiArICAgICB9DQo+ID4gKw0KPiA+ICsgICAgIGludCBjYWNoZV9m aW5kKGludCBpZCwgY2hhciAqbmFtZSkNCj4gPiArICAgICB7DQo+ID4gKyAgICAgICAgICAgICBz dHJ1Y3Qgb2JqZWN0ICpvYmo7DQo+ID4gKyAgICAgICAgICAgICBpbnQgcmV0ID0gLUVOT0VOVDsN Cj4gPiArICAgICsgICAgICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7DQo+ID4gKw0KPiA+ICsgICAg LSAgICAgICAgbXV0ZXhfbG9jaygmY2FjaGVfbG9jayk7DQo+ID4gKyAgICArICAgICAgICBzcGlu X2xvY2tfaXJxc2F2ZSgmY2FjaGVfbG9jaywgZmxhZ3MpOw0KPiA+ICsgICAgICAgICAgICAgb2Jq ID0gX19jYWNoZV9maW5kKGlkKTsNCj4gPiArICAgICAgICAgICAgIGlmIChvYmopIHsNCj4gPiAr ICAgICAgICAgICAgICAgICAgICAgcmV0ID0gMDsNCj4gPiArICAgICAgICAgICAgICAgICAgICAg c3RyY3B5KG5hbWUsIG9iai0+bmFtZSk7DQo+ID4gKyAgICAgICAgICAgICB9DQo+ID4gKyAgICAt ICAgICAgICBtdXRleF91bmxvY2soJmNhY2hlX2xvY2spOw0KPiA+ICsgICAgKyAgICAgICAgc3Bp bl91bmxvY2tfaXJxcmVzdG9yZSgmY2FjaGVfbG9jaywgZmxhZ3MpOw0KPiA+ICsgICAgICAgICAg ICAgcmV0dXJuIHJldDsNCj4gPiArICAgICB9DQo+ID4gKw0KPiA+ICvor7fms6jmhI/vvIzoi6Xk uK3mlq3miZPlvIDvvIxzcGluX2xvY2tfaXJxc2F2ZSgp5Lya5bCG5YW25YWz6Zet77yM5ZCm5YiZ 5LuA5LmI5Lmf5LiN5YGa77yI5aaC5p6c5oiR5LusDQo+ID4gK+W3sue7j+WcqOS4reaWreWkhOeQ hueoi+W6j+S4re+8ie+8jOWboOatpOi/meS6m+WHveaVsOWPr+S7peS7juS7u+S9leS4iuS4i+aW h+WuieWFqOiwg+eUqOOAgg0KPiA+ICsNCj4gPiAr5LiN5bm455qE5piv77yMY2FjaGVfYWRkKCnk vb/nlKggYGBHRlBfS0VSTkVMYGAg5qCH5b+X6LCD55Soa21hbGxvYygp77yM6L+Z5Y+q5Zyo55So 5oi35LiK5LiL5paHDQo+ID4gK+S4reaYr+WQiOazleeahOOAguaIkeWBh+iuvmNhY2hlX2FkZCgp 5LuN54S25Y+q5Zyo55So5oi35LiK5LiL5paH5Lit6LCD55So77yM5ZCm5YiZ6L+Z5bqU6K+l5oiQ 5Li6DQo+ID4gK2NhY2hlX2FkZCgp55qE5Y+C5pWw44CCDQo+ID4gKw0KPiA+ICvmmrTpnLLkuo7m raTmlofku7bkuYvlpJbnmoTlr7nosaENCj4gPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ ICsNCj4gPiAr5aaC5p6c5oiR5Lus55qE5a+56LGh5YyF5ZCr5pu05aSa55qE5L+h5oGv77yM6YKj 5LmI5Y+q5bCG5L+h5oGv5aSN5Yi26L+b5aSN5Yi25Ye65Y+v6IO95piv5LiN5aSf55qE77ya5L6L 5aaC77yMDQo+ID4gK+S7o+eggeeahOWFtuS7lumDqOWIhuWPr+iDveW4jOacm+S/neeVmeaMh+WQ kei/meS6m+WvueixoeeahOaMh+mSiO+8jOiAjOS4jeaYr+avj+asoemDveafpeaJvmlk44CC6L+Z 5bCx5Lqn55Sf5LqGDQo+ID4gK+S4pOS4qumXrumimOOAgg0KPiA+ICsNCj4gPiAr56ys5LiA5Liq 6Zeu6aKY5piv5oiR5Lus5L2/55SoIGBgY2FjaGVfbG9ja2BgIOadpeS/neaKpOWvueixoe+8mui/ memcgOimgeS9v+Wug+aIkOS4uumdnumdmeaAgeeahO+8jOS7peS+vw0KPiA+ICvku6PnoIHnmoTl hbbkvZnpg6jliIblj6/ku6Xkvb/nlKjlroPjgILov5nkvb/lvpfliqDplIHlj5jlvpfmm7TliqDm o5jmiYvvvIzlm6DkuLrlroPkuI3lho3mmK/lhajlnKjkuIDlpITjgIINCj4gPiArDQo+ID4gK+es rOS6jOS4qumXrumimOaYr+eUn+WRveWRqOacn+mXrumimO+8muWmguaenOWPpuS4gOS4que7k+ae hOS/neeVmeS4gOS4quaMh+WQkeWvueixoeeahOaMh+mSiO+8jOWug+WPr+iDveW4jOacm+ivpQ0K PiA+ICvmjIfpkojkv53mjIHmnInmlYjjgILkvYbov5nlj6rog73lnKjmgqjmjIHmnInplIHml7bk v53or4HmnInmlYjvvIzlkKbliJnmnInkurrlj6/og73kvJrosIPnlKhjYWNoZV9kZWxldGUoKe+8 jA0KPiA+ICvmiJbmm7Tns5/nmoTmmK/mt7vliqDkuoblj6bkuIDkuKrph43mlrDkvb/nlKjnm7jl kIzlnLDlnYDnmoTlr7nosaHjgIINCj4gPiArDQo+ID4gK+WboOS4uuWPquacieS4gOaKiumUge+8 jOS9oOS4jeiDveawuOi/nOaMgeacieWug++8mui/meS8muWvvOiHtOWIq+S6uuayoeazleWujOaI kOWFtuS7luW3peS9nOOAgg0KPiA+ICsNCj4gPiAr5q2k6Zeu6aKY55qE6Kej5Yaz5pa55qGI5piv 5L2/55So5byV55So6K6h5pWw77ya5q+P5Liq5pyJ5oyH5ZCR5a+56LGh55qE5oyH6ZKI55qE56iL 5bqP5Zyo56ys5LiA5qyh5b6X5Yiw5a+56LGh5pe2DQo+ID4gK+mDveS8muWinuWKoOW8leeUqOiu oeaVsO+8jOiAjOWcqOWkhOeQhuWujOWvueixoeaXtuS8muWHj+WwkeW8leeUqOiuoeaVsOOAguW9 k+W8leeUqOiuoeaVsOW9kumbtuaXtu+8jOWvueixoeWwseaYrw0KPiA+ICvmnKrkvb/nlKjnmoTk uJTlj6/ku6XooqvliKDpmaTjgIINCj4gPiArDQo+ID4gK+S7o+eggeWmguS4izo6DQo+ID4gKw0K PiA+ICsgICAgLS0tIGNhY2hlLmMuaW50ZXJydXB0ICAgMjAwMy0xMi0wOSAxNDoyNTo0My4wMDAw MDAwMDAgKzExMDANCj4gPiArICAgICsrKyBjYWNoZS5jLnJlZmNudCAgMjAwMy0xMi0wOSAxNDoz MzowNS4wMDAwMDAwMDAgKzExMDANCj4gPiArICAgIEBAIC03LDYgKzcsNyBAQA0KPiA+ICsgICAg IHN0cnVjdCBvYmplY3QNCj4gPiArICAgICB7DQo+ID4gKyAgICAgICAgICAgICBzdHJ1Y3QgbGlz dF9oZWFkIGxpc3Q7DQo+ID4gKyAgICArICAgICAgICB1bnNpZ25lZCBpbnQgcmVmY250Ow0KPiA+ ICsgICAgICAgICAgICAgaW50IGlkOw0KPiA+ICsgICAgICAgICAgICAgY2hhciBuYW1lWzMyXTsN Cj4gPiArICAgICAgICAgICAgIGludCBwb3B1bGFyaXR5Ow0KPiA+ICsgICAgQEAgLTE3LDYgKzE4 LDM1IEBADQo+ID4gKyAgICAgc3RhdGljIHVuc2lnbmVkIGludCBjYWNoZV9udW0gPSAwOw0KPiA+ ICsgICAgICNkZWZpbmUgTUFYX0NBQ0hFX1NJWkUgMTANCj4gPiArDQo+ID4gKyAgICArc3RhdGlj IHZvaWQgX19vYmplY3RfcHV0KHN0cnVjdCBvYmplY3QgKm9iaikNCj4gPiArICAgICt7DQo+ID4g KyAgICArICAgICAgICBpZiAoLS1vYmotPnJlZmNudCA9PSAwKQ0KPiA+ICsgICAgKyAgICAgICAg ICAgICAgICBrZnJlZShvYmopOw0KPiA+ICsgICAgK30NCj4gPiArICAgICsNCj4gPiArICAgICtz dGF0aWMgdm9pZCBfX29iamVjdF9nZXQoc3RydWN0IG9iamVjdCAqb2JqKQ0KPiA+ICsgICAgK3sN Cj4gPiArICAgICsgICAgICAgIG9iai0+cmVmY250Kys7DQo+ID4gKyAgICArfQ0KPiA+ICsgICAg Kw0KPiA+ICsgICAgK3ZvaWQgb2JqZWN0X3B1dChzdHJ1Y3Qgb2JqZWN0ICpvYmopDQo+ID4gKyAg ICArew0KPiA+ICsgICAgKyAgICAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsNCj4gPiArICAgICsN Cj4gPiArICAgICsgICAgICAgIHNwaW5fbG9ja19pcnFzYXZlKCZjYWNoZV9sb2NrLCBmbGFncyk7 DQo+ID4gKyAgICArICAgICAgICBfX29iamVjdF9wdXQob2JqKTsNCj4gPiArICAgICsgICAgICAg IHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNhY2hlX2xvY2ssIGZsYWdzKTsNCj4gPiArICAgICt9 DQo+ID4gKyAgICArDQo+ID4gKyAgICArdm9pZCBvYmplY3RfZ2V0KHN0cnVjdCBvYmplY3QgKm9i aikNCj4gPiArICAgICt7DQo+ID4gKyAgICArICAgICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOw0K PiA+ICsgICAgKw0KPiA+ICsgICAgKyAgICAgICAgc3Bpbl9sb2NrX2lycXNhdmUoJmNhY2hlX2xv Y2ssIGZsYWdzKTsNCj4gPiArICAgICsgICAgICAgIF9fb2JqZWN0X2dldChvYmopOw0KPiA+ICsg ICAgKyAgICAgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2FjaGVfbG9jaywgZmxhZ3MpOw0K PiA+ICsgICAgK30NCj4gPiArICAgICsNCj4gPiArICAgICAvKiBNdXN0IGJlIGhvbGRpbmcgY2Fj aGVfbG9jayAqLw0KPiA+ICsgICAgIHN0YXRpYyBzdHJ1Y3Qgb2JqZWN0ICpfX2NhY2hlX2ZpbmQo aW50IGlkKQ0KPiA+ICsgICAgIHsNCj4gPiArICAgIEBAIC0zNSw2ICs2NSw3IEBADQo+ID4gKyAg ICAgew0KPiA+ICsgICAgICAgICAgICAgQlVHX09OKCFvYmopOw0KPiA+ICsgICAgICAgICAgICAg bGlzdF9kZWwoJm9iai0+bGlzdCk7DQo+ID4gKyAgICArICAgICAgICBfX29iamVjdF9wdXQob2Jq KTsNCj4gPiArICAgICAgICAgICAgIGNhY2hlX251bS0tOw0KPiA+ICsgICAgIH0NCj4gPiArDQo+ ID4gKyAgICBAQCAtNjMsNiArOTQsNyBAQA0KPiA+ICsgICAgICAgICAgICAgc3Ryc2NweShvYmot Pm5hbWUsIG5hbWUsIHNpemVvZihvYmotPm5hbWUpKTsNCj4gPiArICAgICAgICAgICAgIG9iai0+ aWQgPSBpZDsNCj4gPiArICAgICAgICAgICAgIG9iai0+cG9wdWxhcml0eSA9IDA7DQo+ID4gKyAg ICArICAgICAgICBvYmotPnJlZmNudCA9IDE7IC8qIFRoZSBjYWNoZSBob2xkcyBhIHJlZmVyZW5j ZSAqLw0KPiA+ICsNCj4gPiArICAgICAgICAgICAgIHNwaW5fbG9ja19pcnFzYXZlKCZjYWNoZV9s b2NrLCBmbGFncyk7DQo+ID4gKyAgICAgICAgICAgICBfX2NhY2hlX2FkZChvYmopOw0KPiA+ICsg ICAgQEAgLTc5LDE4ICsxMTEsMTUgQEANCj4gPiArICAgICAgICAgICAgIHNwaW5fdW5sb2NrX2ly cXJlc3RvcmUoJmNhY2hlX2xvY2ssIGZsYWdzKTsNCj4gPiArICAgICB9DQo+ID4gKw0KPiA+ICsg ICAgLWludCBjYWNoZV9maW5kKGludCBpZCwgY2hhciAqbmFtZSkNCj4gPiArICAgICtzdHJ1Y3Qg b2JqZWN0ICpjYWNoZV9maW5kKGludCBpZCkNCj4gPiArICAgICB7DQo+ID4gKyAgICAgICAgICAg ICBzdHJ1Y3Qgb2JqZWN0ICpvYmo7DQo+ID4gKyAgICAtICAgICAgICBpbnQgcmV0ID0gLUVOT0VO VDsNCj4gPiArICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7DQo+ID4gKw0KPiA+ICsg ICAgICAgICAgICAgc3Bpbl9sb2NrX2lycXNhdmUoJmNhY2hlX2xvY2ssIGZsYWdzKTsNCj4gPiAr ICAgICAgICAgICAgIG9iaiA9IF9fY2FjaGVfZmluZChpZCk7DQo+ID4gKyAgICAtICAgICAgICBp ZiAob2JqKSB7DQo+ID4gKyAgICAtICAgICAgICAgICAgICAgIHJldCA9IDA7DQo+ID4gKyAgICAt ICAgICAgICAgICAgICAgIHN0cmNweShuYW1lLCBvYmotPm5hbWUpOw0KPiA+ICsgICAgLSAgICAg ICAgfQ0KPiA+ICsgICAgKyAgICAgICAgaWYgKG9iaikNCj4gPiArICAgICsgICAgICAgICAgICAg ICAgX19vYmplY3RfZ2V0KG9iaik7DQo+ID4gKyAgICAgICAgICAgICBzcGluX3VubG9ja19pcnFy ZXN0b3JlKCZjYWNoZV9sb2NrLCBmbGFncyk7DQo+ID4gKyAgICAtICAgICAgICByZXR1cm4gcmV0 Ow0KPiA+ICsgICAgKyAgICAgICAgcmV0dXJuIG9iajsNCj4gPiArICAgICB9DQo+ID4gKw0KPiA+ ICvmiJHku6zlsIblvJXnlKjorqHmlbDlsIHoo4Xov5vmoIflh4bnmoTigJxnZXTigJ3lkozigJxw dXTigJ3lh73mlbDkuK3jgILnjrDlnKjmiJHku6zlj6/ku6Xku45jYWNoZV9maW5kKCnov5Tlm54N Cj4gPiAr5a+56LGh5pys6Lqr77yM6L+Z5qC35YGa55qE5aW95aSE5piv55So5oi3546w5Zyo5Y+v 5Lul5Zyo5oyB5pyJ5a+56LGh5pe25LyR55yg77yI5L6L5aaC55SoY29weV90b191c2VyKCnlsIYN Cj4gPiArbmFtZeWkjeWItuWIsHVzZXJzcGFjZe+8ieOAgg0KPiA+ICsNCj4gPiAr6ZyA6KaB5rOo 5oSP55qE5Y+m5LiA54K55piv77yM5bqU5Li65oyH5ZCR5a+56LGh55qE5q+P5Liq5oyH6ZKI5L+d 55WZ5LiA5Liq5byV55So77ya5Zug5q2k5b2T6aaW5qyh5o+S5YWl57yT5a2Y5pe277yMDQo+ID4g K+W8leeUqOiuoeaVsOW9k+aYrzHjgILlnKjmn5DkupvniYjmnKzkuK3vvIzmoYbmnrbkuI3ljaDn lKjlvJXnlKjorqHmlbDvvIzkvYblroPku6zmm7TlpI3mnYLjgIINCj4gPiArDQo+ID4gK+WvueW8 leeUqOiuoeaVsOS9v+eUqOWOn+WtkOaTjeS9nA0KPiA+ICt+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ DQo+ID4gKw0KPiA+ICvlnKjlrp7ot7XkuK3vvIw6Yzp0eXBlOmBhdG9taWNfdGAg6YCa5bi46KKr 55So5LqO5byV55So6K6h5pWw44CCIGBgaW5jbHVkZS9hc20vYXRvbWljLmhgYCDkuK0NCj4gPiAr 5a6a5LmJ5LqG6K645aSa5Y6f5a2Q5pON5L2c77ya6L+Z5Lqb5pON5L2c5Y+v5Lul5L+d6K+B5Zyo 57O757uf5omA5pyJQ1BV5Lit55qE5Y6f5a2Q5Y+v6KeB5oCn77yM5Zug5q2k5LiN6ZyA6KaB6ZSB 44CCDQo+ID4gK+i/meS9v+Wug+avlOS9v+eUqOiHquaXi+mUgeabtOeugOWNle+8jOWwveeuoeWv ueS6juS7u+S9lemdnueQkOeijueahOS6i+aDhe+8jOS9v+eUqOiHquaXi+mUgeabtOa4healmuOA gueUqA0KPiA+ICthdG9taWNfaW5jKCnlkoxhdG9taWNfZGVjX2FuZF90ZXN0KCnmnaXku6Pmm7/m oIflh4bnmoTpgJLlop7lkozpgJLlh4/ov5DnrpfnrKbvvIzlsLHml6DpnIDkvb/nlKjplIENCj4g PiAr5p2l5L+d5oqk5byV55So6K6h5pWw5pys6Lqr5LqG44CCDQo+ID4gKw0KPiA+ICs6Og0KPiA+ ICsNCj4gPiArICAgIC0tLSBjYWNoZS5jLnJlZmNudCAgMjAwMy0xMi0wOSAxNTowMDozNS4wMDAw MDAwMDAgKzExMDANCj4gPiArICAgICsrKyBjYWNoZS5jLnJlZmNudC1hdG9taWMgICAyMDAzLTEy LTExIDE1OjQ5OjQyLjAwMDAwMDAwMCArMTEwMA0KPiA+ICsgICAgQEAgLTcsNyArNyw3IEBADQo+ ID4gKyAgICAgc3RydWN0IG9iamVjdA0KPiA+ICsgICAgIHsNCj4gPiArICAgICAgICAgICAgIHN0 cnVjdCBsaXN0X2hlYWQgbGlzdDsNCj4gPiArICAgIC0gICAgICAgIHVuc2lnbmVkIGludCByZWZj bnQ7DQo+ID4gKyAgICArICAgICAgICBhdG9taWNfdCByZWZjbnQ7DQo+ID4gKyAgICAgICAgICAg ICBpbnQgaWQ7DQo+ID4gKyAgICAgICAgICAgICBjaGFyIG5hbWVbMzJdOw0KPiA+ICsgICAgICAg ICAgICAgaW50IHBvcHVsYXJpdHk7DQo+ID4gKyAgICBAQCAtMTgsMzMgKzE4LDE1IEBADQo+ID4g KyAgICAgc3RhdGljIHVuc2lnbmVkIGludCBjYWNoZV9udW0gPSAwOw0KPiA+ICsgICAgICNkZWZp bmUgTUFYX0NBQ0hFX1NJWkUgMTANCj4gPiArDQo+ID4gKyAgICAtc3RhdGljIHZvaWQgX19vYmpl Y3RfcHV0KHN0cnVjdCBvYmplY3QgKm9iaikNCj4gPiArICAgIC17DQo+ID4gKyAgICAtICAgICAg ICBpZiAoLS1vYmotPnJlZmNudCA9PSAwKQ0KPiA+ICsgICAgLSAgICAgICAgICAgICAgICBrZnJl ZShvYmopOw0KPiA+ICsgICAgLX0NCj4gPiArICAgIC0NCj4gPiArICAgIC1zdGF0aWMgdm9pZCBf X29iamVjdF9nZXQoc3RydWN0IG9iamVjdCAqb2JqKQ0KPiA+ICsgICAgLXsNCj4gPiArICAgIC0g ICAgICAgIG9iai0+cmVmY250Kys7DQo+ID4gKyAgICAtfQ0KPiA+ICsgICAgLQ0KPiA+ICsgICAg IHZvaWQgb2JqZWN0X3B1dChzdHJ1Y3Qgb2JqZWN0ICpvYmopDQo+ID4gKyAgICAgew0KPiA+ICsg ICAgLSAgICAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsNCj4gPiArICAgIC0NCj4gPiArICAgIC0g ICAgICAgIHNwaW5fbG9ja19pcnFzYXZlKCZjYWNoZV9sb2NrLCBmbGFncyk7DQo+ID4gKyAgICAt ICAgICAgICBfX29iamVjdF9wdXQob2JqKTsNCj4gPiArICAgIC0gICAgICAgIHNwaW5fdW5sb2Nr X2lycXJlc3RvcmUoJmNhY2hlX2xvY2ssIGZsYWdzKTsNCj4gPiArICAgICsgICAgICAgIGlmIChh dG9taWNfZGVjX2FuZF90ZXN0KCZvYmotPnJlZmNudCkpDQo+ID4gKyAgICArICAgICAgICAgICAg ICAgIGtmcmVlKG9iaik7DQo+ID4gKyAgICAgfQ0KPiA+ICsNCj4gPiArICAgICB2b2lkIG9iamVj dF9nZXQoc3RydWN0IG9iamVjdCAqb2JqKQ0KPiA+ICsgICAgIHsNCj4gPiArICAgIC0gICAgICAg IHVuc2lnbmVkIGxvbmcgZmxhZ3M7DQo+ID4gKyAgICAtDQo+ID4gKyAgICAtICAgICAgICBzcGlu X2xvY2tfaXJxc2F2ZSgmY2FjaGVfbG9jaywgZmxhZ3MpOw0KPiA+ICsgICAgLSAgICAgICAgX19v YmplY3RfZ2V0KG9iaik7DQo+ID4gKyAgICAtICAgICAgICBzcGluX3VubG9ja19pcnFyZXN0b3Jl KCZjYWNoZV9sb2NrLCBmbGFncyk7DQo+ID4gKyAgICArICAgICAgICBhdG9taWNfaW5jKCZvYmot PnJlZmNudCk7DQo+ID4gKyAgICAgfQ0KPiA+ICsNCj4gPiArICAgICAvKiBNdXN0IGJlIGhvbGRp bmcgY2FjaGVfbG9jayAqLw0KPiA+ICsgICAgQEAgLTY1LDcgKzQ3LDcgQEANCj4gPiArICAgICB7 DQo+ID4gKyAgICAgICAgICAgICBCVUdfT04oIW9iaik7DQo+ID4gKyAgICAgICAgICAgICBsaXN0 X2RlbCgmb2JqLT5saXN0KTsNCj4gPiArICAgIC0gICAgICAgIF9fb2JqZWN0X3B1dChvYmopOw0K PiA+ICsgICAgKyAgICAgICAgb2JqZWN0X3B1dChvYmopOw0KPiA+ICsgICAgICAgICAgICAgY2Fj aGVfbnVtLS07DQo+ID4gKyAgICAgfQ0KPiA+ICsNCj4gPiArICAgIEBAIC05NCw3ICs3Niw3IEBA DQo+ID4gKyAgICAgICAgICAgICBzdHJzY3B5KG9iai0+bmFtZSwgbmFtZSwgc2l6ZW9mKG9iai0+ bmFtZSkpOw0KPiA+ICsgICAgICAgICAgICAgb2JqLT5pZCA9IGlkOw0KPiA+ICsgICAgICAgICAg ICAgb2JqLT5wb3B1bGFyaXR5ID0gMDsNCj4gPiArICAgIC0gICAgICAgIG9iai0+cmVmY250ID0g MTsgLyogVGhlIGNhY2hlIGhvbGRzIGEgcmVmZXJlbmNlICovDQo+ID4gKyAgICArICAgICAgICBh dG9taWNfc2V0KCZvYmotPnJlZmNudCwgMSk7IC8qIFRoZSBjYWNoZSBob2xkcyBhIHJlZmVyZW5j ZSAqLw0KPiA+ICsNCj4gPiArICAgICAgICAgICAgIHNwaW5fbG9ja19pcnFzYXZlKCZjYWNoZV9s b2NrLCBmbGFncyk7DQo+ID4gKyAgICAgICAgICAgICBfX2NhY2hlX2FkZChvYmopOw0KPiA+ICsg ICAgQEAgLTExOSw3ICsxMDEsNyBAQA0KPiA+ICsgICAgICAgICAgICAgc3Bpbl9sb2NrX2lycXNh dmUoJmNhY2hlX2xvY2ssIGZsYWdzKTsNCj4gPiArICAgICAgICAgICAgIG9iaiA9IF9fY2FjaGVf ZmluZChpZCk7DQo+ID4gKyAgICAgICAgICAgICBpZiAob2JqKQ0KPiA+ICsgICAgLSAgICAgICAg ICAgICAgICBfX29iamVjdF9nZXQob2JqKTsNCj4gPiArICAgICsgICAgICAgICAgICAgICAgb2Jq ZWN0X2dldChvYmopOw0KPiA+ICsgICAgICAgICAgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgm Y2FjaGVfbG9jaywgZmxhZ3MpOw0KPiA+ICsgICAgICAgICAgICAgcmV0dXJuIG9iajsNCj4gPiAr ICAgICB9DQo+ID4gKw0KPiA+ICvkv53miqTlr7nosaHmnKzouqsNCj4gPiArLS0tLS0tLS0tLS0t DQo+ID4gKw0KPiA+ICvlnKjov5nkupvnpLrkvovkuK3vvIzmiJHku6zlgYforr7lr7nosaHvvIjl vJXnlKjorqHmlbDpmaTlpJbvvInlnKjliJvlu7rlkI7ku47mnKrmm7TmlLnjgILlpoLmnpzmiJHk u6zmg7Pmm7TmlLkNCj4gPiAr5ZCN56ew77yM5YiZ5pyJ5LiJ56eN5Y+v6IO977yaDQo+ID4gKw0K PiA+ICstICDmgqjlj6/ku6Xkvb8gYGBjYWNoZV9sb2NrYGAg5oiQ5Li66Z2e6Z2Z5oCB55qE77yM 5bm25ZGK6K+J5Lq65Lus5Zyo5pu05pS55Lu75L2V5a+56LGh55qE5ZCN56ew5LmL5YmNDQo+ID4g KyAgIOiOt+WPluivpemUgeOAgg0KPiA+ICsNCj4gPiArLSAg5oKo5Y+v5Lul5o+Q5L6b5LiA5Liq Y2FjaGVfb2JqX3JlbmFtZSgp5Ye95pWw5p2l6I635Y+W5q2k6ZSB5bm25pu05pS56LCD55So6ICF 55qE5ZCN56ew77yM5bm25ZGK6K+JDQo+ID4gKyAgIOaJgOacieS6uuS9v+eUqOivpeWHveaVsOOA gg0KPiA+ICsNCj4gPiArLSAg5oKo5Y+v5Lul5L2/IGBgY2FjaGVfbG9ja2BgIOS7heS/neaKpOe8 k+WtmOacrOi6q++8jOW5tuS9v+eUqOWPpuS4gOS4qumUgeadpeS/neaKpOWQjeensOOAgg0KPiA+ ICsNCj4gPiAr55CG6K665LiK5p2l6K+077yM5Y+v5Lul5L2/6ZSB55qE57KS5bqm57K+57uG5Yiw 5q+P5LiA5Liq5a2X5q6144CB5q+P5LiA5Liq5a+56LGh44CCDQo+ID4gK+WunumZheS4iu+8jOac gOW4uOingeeahOWPmOS9k+aYr++8mg0KPiA+ICsNCj4gPiArLSAg5LiA5Liq6ZSB5L+d5oqk5Z+6 56GA57uT5p6E77yI5pys5L6L5Lit55qEIGBgY2FjaGVgYCDnvJPlrZjliJfooajvvInlkozmiYDm nInlr7nosaHjgILov5nlsLHmmK/miJHku6wNCj4gPiArICAg546w5Zyo5omA5YGa55qE44CCDQo+ ID4gKw0KPiA+ICstICDkuIDkuKrplIHkv53miqTln7rnoYDnu5PmnoTvvIjljIXmi6zlr7nosaHk uK3nmoTliJfooajmjIfpkojvvInvvIzkuIDkuKrplIHkv53miqTlr7nosaHkuK3nmoTlhbbkvZnp g6jliIbjgIINCj4gPiArDQo+ID4gKy0gIOWkmuS4qumUgeadpeS/neaKpOWfuuehgOiuvuaWve+8 iOS+i+Wmgu+8jOavj+S4quWTiOW4jOmTvuS4gOS4qumUge+8ie+8jOWPr+iDveavj+S4quWvueix oemDveacieS4gOS4quWNleeLrA0KPiA+ICsgICDnmoTplIHjgIINCj4gPiArDQo+ID4gK+S7peS4 i+aYr+KAnOavj+S4quWvueixoeS4gOS4qumUgeKAneeahOWunueOsO+8mg0KPiA+ICsNCj4gPiAr OjoNCj4gPiArDQo+ID4gKyAgICAtLS0gY2FjaGUuYy5yZWZjbnQtYXRvbWljICAgMjAwMy0xMi0x MSAxNTo1MDo1NC4wMDAwMDAwMDAgKzExMDANCj4gPiArICAgICsrKyBjYWNoZS5jLnBlcm9iamVj dGxvY2sgICAyMDAzLTEyLTExIDE3OjE1OjAzLjAwMDAwMDAwMCArMTEwMA0KPiA+ICsgICAgQEAg LTYsMTEgKzYsMTcgQEANCj4gPiArDQo+ID4gKyAgICAgc3RydWN0IG9iamVjdA0KPiA+ICsgICAg IHsNCj4gPiArICAgICsgICAgICAgIC8qIFRoZXNlIHR3byBwcm90ZWN0ZWQgYnkgY2FjaGVfbG9j ay4gKi8NCj4gPiArICAgICAgICAgICAgIHN0cnVjdCBsaXN0X2hlYWQgbGlzdDsNCj4gPiArICAg ICsgICAgICAgIGludCBwb3B1bGFyaXR5Ow0KPiA+ICsgICAgKw0KPiA+ICsgICAgICAgICAgICAg YXRvbWljX3QgcmVmY250Ow0KPiA+ICsgICAgKw0KPiA+ICsgICAgKyAgICAgICAgLyogRG9lc24n dCBjaGFuZ2Ugb25jZSBjcmVhdGVkLiAqLw0KPiA+ICsgICAgICAgICAgICAgaW50IGlkOw0KPiA+ ICsgICAgKw0KPiA+ICsgICAgKyAgICAgICAgc3BpbmxvY2tfdCBsb2NrOyAvKiBQcm90ZWN0cyB0 aGUgbmFtZSAqLw0KPiA+ICsgICAgICAgICAgICAgY2hhciBuYW1lWzMyXTsNCj4gPiArICAgIC0g ICAgICAgIGludCBwb3B1bGFyaXR5Ow0KPiA+ICsgICAgIH07DQo+ID4gKw0KPiA+ICsgICAgIHN0 YXRpYyBERUZJTkVfU1BJTkxPQ0soY2FjaGVfbG9jayk7DQo+ID4gKyAgICBAQCAtNzcsNiArODQs NyBAQA0KPiA+ICsgICAgICAgICAgICAgb2JqLT5pZCA9IGlkOw0KPiA+ICsgICAgICAgICAgICAg b2JqLT5wb3B1bGFyaXR5ID0gMDsNCj4gPiArICAgICAgICAgICAgIGF0b21pY19zZXQoJm9iai0+ cmVmY250LCAxKTsgLyogVGhlIGNhY2hlIGhvbGRzIGEgcmVmZXJlbmNlICovDQo+ID4gKyAgICAr ICAgICAgICBzcGluX2xvY2tfaW5pdCgmb2JqLT5sb2NrKTsNCj4gPiArDQo+ID4gKyAgICAgICAg ICAgICBzcGluX2xvY2tfaXJxc2F2ZSgmY2FjaGVfbG9jaywgZmxhZ3MpOw0KPiA+ICsgICAgICAg ICAgICAgX19jYWNoZV9hZGQob2JqKTsNCj4gPiArDQo+ID4gK+azqOaEj++8jOaIkeS9v+eUqCBg YGNhY2hlX2xvY2tgYCDmnaXkv53miqTmtLvot4PluqborqHmlbDvvIzogIzkuI3mmK/pgJDlr7no saHplIHvvJrov5nmmK/lm6DkuLrlroPvvIjlg48NCj4gPiAr5a+56LGh5Lit55qEIDpjOnR5cGU6 YHN0cnVjdCBsaXN0X2hlYWQgPGxpc3RfaGVhZD5gIO+8ieWcqOmAu+i+keS4iuaYr+WfuuehgOe7 k+aehOeahOS4gOmDqOWIhuOAgg0KPiA+ICvov5nmoLflsLHkuI3pnIDopoHlnKjlr7vmib7mnIDk uI3mtLvot4PnmoTlr7nosaHml7bojrflj5ZfX2NhY2hlX2FkZCgp5Lit5q+P5Liq5a+56LGh55qE 6ZSB44CCDQo+ID4gKw0KPiA+ICvmiJHov5jkvb9pZOaIkOWRmOS4uuS4jeWPr+abtOaUue+8jOi/ meagt+WwseaXoOmcgOS4gOS4gOiOt+WPll9fY2FjaGVfZmluZCgp5Lit55qE5a+56LGh6ZSB5p2l 5qOA5p+laWTvvJoNCj4gPiAr5a+56LGh6ZSB5Y+q55Sx5biM5pyb6K+75Y+W5oiW5YaZ5YWl5ZCN 56ew5a2X5q6155qE6LCD55So6ICF5L2/55So44CCDQo+ID4gKw0KPiA+ICvov5jopoHms6jmhI/v vIzmiJHmt7vliqDkuobkuIDkuKrmj4/ov7Dlk6rkupvmlbDmja7lj5flk6rkupvplIHnmoTkv53m iqTnmoTms6jph4rjgILov5nkuIDngrnpnZ7luLjph43opoHvvIzlm6DkuLoNCj4gPiAr5a6D5o+P 6L+w5LqG5Luj56CB6L+Q6KGM5pe255qE6KGM5Li677yM5bm25LiU5b6I6Zq+55u05o6l55yL5Ye6 5p2l44CC5q2j5aaCQWxhbiBDb3jmiYDor7TvvIzigJzlr7nmlbDmja7liqDplIHvvIwNCj4gPiAr 6ICM5LiN5piv5Luj56CB4oCd44CCDQo+ID4gKw0KPiA+ICvluLjop4Hpl67popgNCj4gPiArPT09 PT09PT0NCj4gPiArDQo+ID4gK+atu+mUge+8muWFpemXqOS4jui/m+mYtg0KPiA+ICstLS0tLS0t LS0tLS0tLS0tDQo+ID4gKw0KPiA+ICvkuIDmrrXku6PnoIHor5Xlm77kuKTmrKHojrflj5blkIzk uIDoh6rml4vplIHkvJrlr7zoh7TplJnor6/vvJrlroPlsIbmsLjov5zoh6rml4vvvIznrYnlvoXp lIHooqvph4rmlL7vvIjoh6rml4vplIHjgIENCj4gPiAr6K+75YaZ6ZSBW3J3bG9ja3Nd5ZKM5LqS 5pal6ZSB5ZyoTGludXjkuK3kuI3mmK/pgJLlvZLnmoTvvInjgILov5nor4rmlq3otbfmnaXlvojn roDljZXnkJDnoo7vvJrkuI3mmK/kuIDkuKoNCj4gPiAr4oCc5oiR5oOz5LqG5Y2B5aSp5Y2B5aSc 4oCm4oCm4oCd55qE6Zeu6aKY44CCDQo+ID4gKw0KPiA+ICvlr7nkuo7nqI3lvq7lpI3mnYLkuIDn grnnmoTmg4XlhrXvvIzlgYforr7mgqjmnInkuIDkuKrnlLHova/kuK3mlq3lkoznlKjmiLfkuIrk uIvmloflhbHkuqvnmoTljLrln5/jgILlpoLmnpzmgqjosIPnlKgNCj4gPiArc3Bpbl9sb2NrKCnm naXkv53miqTlroPvvIzpgqPkuYjlvZPova/kuK3mlq3mjIHmnInplIHml7bvvIznlKjmiLfkuIrk uIvmloflj6/og73kvJrooqvkuK3mlq3vvIznhLblkI7ova/kuK3mlq0NCj4gPiAr5Lya5LiA55u0 5peL6L2s5Lul6K+V5Zu+6I635Y+W5ZCM5LiA6ZSB44CCDQo+ID4gKw0KPiA+ICvov5nkuKTnp43m g4XlhrXpg73np7DkuLrmrbvplIHvvIzlpoLkuIrmiYDnpLrvvIzljbPkvb/lj6rmnInkuIDkuKpD UFXkuZ/kvJrlj5HnlJ/mrbvplIHvvIjlsL3nrqHlnKhVUOe8luivkeS4reS4jQ0KPiA+ICvmmK/o v5nmoLfvvIzlm6DkuLrlnKggYGBDT05GSUdfU01QID0gbmBgIOeahOWGheaguOe8luivkeS4re+8 jOiHquaXi+mUgeS8mua2iOWkseOAguS4jei/h+esrOS6jOS4quekuuS+i+S4rQ0KPiA+ICvku43n hLbkvJrlh7rnjrDmlbDmja7mjZ/lnY/vvInjgIINCj4gPiArDQo+ID4gK+i/meenjeWujOWFqOmU geWumuW+iOWuueaYk+iviuaWre+8muWcqFNNUOiuoeeul+acuuS4iuWPkeeUn+i/meenjeaDheWG teaXtu+8jOeci+mXqOeLl+iuoeaXtuWZqOaIluW8gOWQrw0KPiA+ICtgYERFQlVHX1NQSU5MT0NL YGAg6K6+572u77yIIGBgaW5jbHVkZS9saW51eC9zcGlubG9jay5oYGAg77yJ57yW6K+R5Lya56uL 5Y2z5pi+56S65Ye65p2l44CCDQo+ID4gKw0KPiA+ICvmm7TlpI3mnYLnmoTkuIDnp43mg4XlhrXm mK/miYDosJPnmoTigJzoh7Tlkb3mi6XmirHvvIhkZWFkbHkgZW1icmFjZe+8ieKAne+8jOWQjOaX tua2ieWPiuS4pOS4quaIluWkmuS4qumUgeOAgg0KPiA+ICvlgYforr7mgqjmnInkuIDkuKrlk4jl uIzooajvvJrooajkuK3nmoTmr4/kuKrmnaHnm67pg73mmK/kuIDkuKroh6rml4vplIHlkozkuIDk uKrlk4jluIzlr7nosaHpk77jgILlnKjova/kuK3mlq0NCj4gPiAr5aSE55CG56iL5bqP5Lit77yM 5pyJ5pe26ZyA6KaB5bCG5a+56LGh5LuO5ZOI5biM5Lit55qE5LiA5Liq5L2N572u5pu05pS55Li6 5Y+m5LiA5Liq5L2N572u77ya6I635Y+W5pen5ZOI5biM6ZO+55qEDQo+ID4gK+iHquaXi+mUgeWS jOaWsOWTiOW4jOmTvueahOiHquaXi+mUge+8jOeEtuWQjuS7juaXp+WTiOW4jOmTvuS4reWIoOmZ pOWvueixoe+8jOW5tuWwhuWFtuaPkuWFpeaWsOaVo+WIl+mTvuS4reOAgg0KPiA+ICsNCj4gPiAr 6L+Z6YeM5pyJ5Lik5Liq6Zeu6aKY44CC6aaW5YWI77yM5aaC5p6c5oKo55qE5Luj56CB6K+V5Zu+ 5bCG5a+56LGh56e75Yqo5Yiw5ZCM5LiA5Liq6ZO+5Lit77yM5a6D5bCG5Zyo5Lik5qyh5bCd6K+V DQo+ID4gK+mUgeWumuWvueixoeaXtuS4juiHqui6q+atu+mUgeOAguWFtuasoe+8jOWmguaenOWP puS4gOS4qkNQVeS4iueahOWQjOS4gOS4qui9r+S4reaWreato+ivleWbvuWPjeWQkeenu+WKqOWP puS4gOS4qg0KPiA+ICvlr7nosaHvvIzliJnlj6/og73lj5HnlJ/ku6XkuIvmg4XlhrXvvJoNCj4g PiArDQo+ID4gKy4uIHRhYmxlOjog57uT5p6c6KGoDQo+ID4gKw0KPiA+ICsgICstLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rDQo+ID4gKyAgfCBDUFUgMSAgICAgICAgICAg ICB8IENQVSAyICAgICAgICAgICAgIHwNCj4gPiArICArPT09PT09PT09PT09PT09PT09PSs9PT09 PT09PT09PT09PT09PT09Kw0KPiA+ICsgIHwg6I635Y+W6ZSBQSAtPiBPSyAgICAgfCDojrflj5bp lIFCIC0+IE9LICAgICB8DQo+ID4gKyAgKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLSsNCj4gPiArICB8IOiOt+WPlumUgUIgLT4g6Ieq5peLICAgfCDojrflj5bplIFBIC0+ IOiHquaXiyAgIHwNCj4gPiArICArLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tKw0KPiA+ICsNCj4gPiAr5Lik5LiqQ1BV5bCG5rC46L+c6Ieq5peL77yM562J5b6F5Y+m5LiA 5Liq5pS+5byD6ZSB44CC5aaC5p6c6L+Z55yL6LW35p2l5YOP5LqL5pWF44CB6Ze76LW35p2l5YOP 5LqL5pWF44CB5oSf6KeJDQo+ID4gK+i1t+adpeS5n+WDj+S6i+aVhe+8jOmCo+WNgei2s+aYr+S4 quS6i+aVheOAgg0KPiA+ICsNCj4gPiAr6Ziy5q2i5Ye6546w5q276ZSBDQo+ID4gKy0tLS0tLS0t LS0tLQ0KPiA+ICsNCj4gPiAr5pWZ56eR5Lmm5Lya5ZGK6K+J5L2g77yM5aaC5p6c5L2g5oC75piv 5oyJ54Wn5Zu65a6a6aG65bqP5Yqg6ZSB77yM6YKj5rC46L+c5LiN5Lya5Ye6546w5q276ZSB44CC DQo+ID4gK+S9huWunui3teS8muWRiuivieaCqO+8jOi/meenjeaWueazleayoeacieaJqeWxleaA p++8muW9k+WIm+W7uuS4gOS4quaWsOmUgeaXtu+8jOaIkeWvueWGheaguOeahOeQhuino+eoi+W6 puWwmg0KPiA+ICvml6Dms5Xnoa7lrprlroPlnKg1MDAw57qn6ZSB5bGC5qyh57uT5p6E5Lit55qE 5L2N572u44CCDQo+ID4gKw0KPiA+ICvmnIDlpb3nmoTplIHmmK/nu4/ov4flsIHoo4XnmoTvvJrl roPku6zku47kuI3mmrTpnLLlnKjlpLTmlofku7bkuK3vvIzkuZ/ku47kuI3ooqvlr7nlkIzkuIDm lofku7blpJbnmoTlpI3mnYLlh73mlbANCj4gPiAr55qE6LCD55So5omA5oyB5pyJ44CC5oKo5Y+v 5Lul6YCa6K+76L+Z5q615Luj56CB5bm255yL5Yiw5a6D5rC46L+c5LiN5Lya5q276ZSB77yM5Zug 5Li65a6D5Zyo5oyB5pyJ5p+Q5Liq6ZSB5pe25LuO5LiNDQo+ID4gK+WwneivleiOt+WPluWPpuS4 gOS4quWQjOagt+eahOmUgeOAguS9v+eUqOS9oOS7o+eggeeahOS6uueUmuiHs+S4jemcgOimgeef pemBk+S9oOWcqOS9v+eUqOmUgeOAgg0KPiA+ICsNCj4gPiAr5b2T5oKo5o+Q5L6b5Zue6LCD5oiW 6ZKp5a2Q5pe277yM5Lya5Ye6546w5LiA5Liq57uP5YW455qE6Zeu6aKY77ya5aaC5p6c5oKo5Zyo 5oyB5pyJ6ZSB55qE5oOF5Ya15LiL6LCD55So6L+Z5LqbDQo+ID4gK+Wbnuiwg+aIlumSqeWtkO+8 jOaCqOWwhumdouS4tOKAnOeugOWNleeahOatu+mUgeKAneaIluKAnOiHtOWRveaLpeaKseKAne+8 iOiwgeefpemBk+Wbnuiwg+S8muWBmuS7gOS5iO+8n++8ieOAguiusOS9j++8jA0KPiA+ICvlhbbk u5bnqIvluo/lkZjpg73mmK/mnaXmkJ7kvaDnmoTvvIzmiYDku6XkuI3opoHov5nmoLflgZrjgIIN Cj4gPiArDQo+ID4gK+i/h+WIhumYsuatouatu+mUgQ0KPiA+ICt+fn5+fn5+fn5+fn4NCj4gPiAr DQo+ID4gK+atu+mUgeaYr+S4qumXrumimO+8jOS9huayoeacieaVsOaNruaNn+Wdj+mCo+S5iOS4 pemHjeOAguiOt+WPluivu+mUgeOAgeaQnOe0ouWIl+ihqOOAgeaJvuS4jeWIsOaJgOmcgOWGheWu ueOAgQ0KPiA+ICvmlL7lvIPor7vplIHjgIHojrflj5blhpnplIHku6Xlj4rmj5LlhaXlr7nosaHo v5nkupvmk43kvZznmoTku6PnoIHmmK/lhbfmnInnq57kuonmnaHku7bnmoTjgIINCj4gPiArDQo+ ID4gK+WmguaenOS9oOWwmuacqua4healmuWOn+WboO+8jOivt+S4jeimgei9u+aYk+aUueWKqOS7 o+eggeOAgg0KPiA+ICsNCj4gPiAr56ue5LqJ6K6h5pe25Zmo77ya5YaF5qC455qE56m66ZeyDQo+ ID4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiArDQo+ID4gK+iuoeaXtuWZqOS8muWHuueO sOWFtueJueacieeahOernuS6iemXrumimOOAguivleaDs+S4gOS4quWvueixoembhuWQiO+8iOWI l+ihqOOAgeaVo+WIl+etie+8ie+8jOWFtuS4reavj+S4quWvueixoQ0KPiA+ICvpg73mnInkuIDk uKrorqHml7blmajvvIzor6XorqHml7blmajlsIbplIDmr4HlroPjgIINCj4gPiArDQo+ID4gK+Wm guaenOimgemUgOavgeaVtOS4qumbhuWQiO+8iOS+i+WmguWcqOWIoOmZpOaooeWdl+aXtu+8ie+8 jOWPr+S7peaJp+ihjOS7peS4i+aTjeS9nDo6DQo+ID4gKw0KPiA+ICsgICAgICAgICAgICAvKiDo v5nmrrXku6PnoIHlvojns5/ns5XvvJrlpoLmnpzmg4XlhrXlho3ns5/kuIDngrnngrnvvIwNCj4g PiArICAgICAgICAgICAg5a6D5bCG5L2/55So5YyI54mZ5Yip56ym5Y+377yISFVOR0FSSUFOIE5P VEFUSU9O77yJKi8NCj4gPiArICAgICAgICAgICAgc3Bpbl9sb2NrX2JoKCZsaXN0X2xvY2spOw0K PiA+ICsNCj4gPiArICAgICAgICAgICAgd2hpbGUgKGxpc3QpIHsNCj4gPiArICAgICAgICAgICAg ICAgICAgICBzdHJ1Y3QgZm9vICpuZXh0ID0gbGlzdC0+bmV4dDsNCj4gPiArICAgICAgICAgICAg ICAgICAgICBkZWxfdGltZXIoJmxpc3QtPnRpbWVyKTsNCj4gPiArICAgICAgICAgICAgICAgICAg ICBrZnJlZShsaXN0KTsNCj4gPiArICAgICAgICAgICAgICAgICAgICBsaXN0ID0gbmV4dDsNCj4g PiArICAgICAgICAgICAgfQ0KPiA+ICsNCj4gPiArICAgICAgICAgICAgc3Bpbl91bmxvY2tfYmgo Jmxpc3RfbG9jayk7DQo+ID4gKw0KPiA+ICsNCj4gPiAr6L+Z6L+f5pep5Lya5ZyoU01Q5LiK5bSp 5rqD77yM5Zug5Li65LiA5Liq6K6h5pe25Zmo5Y+v6IO95Zyoc3Bpbl9sb2NrX2JoKCnkuYvliY3l iJrliJrlhbPpl63vvIzlroPlj6rkvJoNCj4gPiAr5Zyo5oiR5Lusc3Bpbl91bmxvY2tfYmgoKeS5 i+WQjuiOt+W+l+mUge+8jOeEtuWQjuWwneivlemHiuaUviAqKuW3sue7j+mHiuaUvuS6hueahCoq IOWFg+e0oOOAgg0KPiA+ICsNCj4gPiAr6L+Z5Y+v5Lul6YCa6L+H5qOA5p+lZGVsX3RpbWVyKCnn moTnu5PmnpzmnaXpgb/lhY3vvJrlpoLmnpzlroPov5Tlm54x77yM5YiZ6KGo56S66K6h5pe25Zmo 5bey6KKr5Yig6Zmk44CCDQo+ID4gK+WmguaenOS4ujDvvIzvvIjlnKjmnKzkvovkuK3vvInliJno oajnpLrlroPlvZPliY3mraPlnKjov5DooYzvvIzlm6DmraTmiJHku6zlj6/ku6Xov5nmoLflgZo6 Og0KPiA+ICsNCj4gPiArICAgICAgICAgICAgcmV0cnk6DQo+ID4gKyAgICAgICAgICAgICAgICAg ICAgc3Bpbl9sb2NrX2JoKCZsaXN0X2xvY2spOw0KPiA+ICsNCj4gPiArICAgICAgICAgICAgICAg ICAgICB3aGlsZSAobGlzdCkgew0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IGZvbyAqbmV4dCA9IGxpc3QtPm5leHQ7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICBpZiAoIWRlbF90aW1lcigmbGlzdC0+dGltZXIpKSB7DQo+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC8qIEdpdmUgdGltZXIgYSBjaGFuY2UgdG8gZGVsZXRlIHRo aXMgKi8NCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Bpbl91bmxv Y2tfYmgoJmxpc3RfbG9jayk7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGdvdG8gcmV0cnk7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQo+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZnJlZShsaXN0KTsNCj4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGxpc3QgPSBuZXh0Ow0KPiA+ICsgICAgICAgICAgICAgICAgICAg IH0NCj4gPiArDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgc3Bpbl91bmxvY2tfYmgoJmxpc3Rf bG9jayk7DQo+ID4gKw0KPiA+ICsNCj4gPiAr5Y+m5LiA5Liq5bi46KeB6Zeu6aKY5piv6KaB5Yig 6Zmk5Lya6YeN5ZCv6Ieq5bex55qE6K6h5pe25Zmo77yI6K6h5pe25Zmo5Ye95pWw5pyr5bC+6LCD 55So5LqGYWRkX3RpbWVyKCnvvInjgIINCj4gPiAr6L+Z5piv5LiA56eN5b6I5bi46KeB55qE5a65 5piT5byV5Y+R56ue5LqJ55qE5oOF5Ya177yM5bqU6K+l5L2/55SoZGVsX3RpbWVyX3N5bmMoKQ0K PiA+ICvvvIggYGBpbmNsdWRlL2xpbnV4L3RpbWVyLmhgYCDvvInmnaXlpITnkIbjgILlroPov5Tl m57miJHku6zmnIDnu4jpmLvmraLorqHml7blmajph43mlrDmt7vliqDoh6rouqsNCj4gPiAr5LmL 5YmN5b+F6aG75Yig6Zmk55qE5qyh5pWw44CCDQo+ID4gKw0KPiA+ICvplIHmk43kvZzpgJ/luqYN Cj4gPiArPT09PT09PT09PQ0KPiA+ICsNCj4gPiAr5Zyo6ICD6JmR5p+Q5Lqb5omn6KGM6ZSB5pON 5L2c5Luj56CB55qE6YCf5bqm5pe277yM5Li76KaB5pyJ5LiJ5Liq6Zeu6aKY5YC85b6X5rOo5oSP 44CC6aaW5YWI5piv5bm25Y+R5oCn77ya5b2T5p+QDQo+ID4gK+WHveaVsOaMgeaciemUgeaXtu+8 jOacieWkmuWwkeS6i+aDheimgeetieW+heOAguWFtuasoeaYr+WunumZheiOt+WPluWSjOmHiuaU vumdnuernuS6iemUgeaJgOmcgOeahOaXtumXtOOAguesrOS4iQ0KPiA+ICvmmK/kvb/nlKjmm7Tl sJHmiJbmm7Tmmbrog73nmoTplIHjgILov5nph4zmiJHlgYforr7plIHkvb/nlKjlvpfnm7jlvZPp opHnuYHvvIzlkKbliJnmgqjlsLHkuI3lpKrkvJrlhbPlv4PmlYjnjofjgIINCj4gPiArDQo+ID4g K+W5tuWPkeaAp+WPluWGs+S6jumAmuW4uOmUgeiiq+aMgeacieeahOaXtumXtO+8muaCqOW6lOiv peagueaNrumcgOimgeaMgeaciemUge+8jOS4jeWPr+aXoOerr+iOt+WPluOAguWcqGNhY2hlDQo+ ID4gK+ekuuS+i+S4re+8jOaIkeS7rOaAu+aYr+WcqOS4jeaMgeaciemUgeeahOaDheWGteS4i+WI m+W7uuWvueixoe+8jOWPquacieS5i+WQjuWHhuWkh+WwhuWFtuaPkuWFpeWIl+ihqOaXtuaJjeiO t+WPlumUgeOAgg0KPiA+ICsNCj4gPiAr6I635Y+W5pe26Ze05Y+W5Yaz5LqO6ZSB5pON5L2c5a+5 566h57q/77yIcGlwZWxpbmXvvInpgKDmiJDnmoTnoLTlnY/nqIvluqbvvIjnrqHnur/mmoLlgZzv vInku6Xlj4ror6VDUFXmnIDlkI4NCua1geawtOe6vw0KPiA+ICvkuIDkuKrojrflj5bplIHnmoTl j6/og73mgKfvvIjljbPor6VDUFXnmoTplIHnvJPlrZjmmK/lkKbng63vvInvvJrlnKjlhbfmnInm m7TlpJpDUFXnmoTmnLrlmajkuIrvvIzov5nnp43lj6/og73mgKcNCj4gPiAr5LiL6ZmN5b6X5b6I 5b+r44CC5LulNzAwTUh6IEludGVsIFBlbnRpdW0gSUlJ5Li65L6L77ya5LiA5p2h5oyH5Luk5aSn 57qm6ZyA6KaBMC43bnPvvIzkuIDkuKrljp/lrZDlop4NCj4gPiAr5Yqg5aSn57qm6ZyA6KaBNThu c++8jOS4gOS4qkNQVeS4iueDree8k+WtmOeahOmUgemcgOimgTE2MG5z77yM5LuO5Y+m5LiA5Liq Q1BV5Lyg6L6T57yT5a2Y57q/6ZyA6KaB6aKd5aSW55qEDQo+ID4gKzE3MOWIsDM2MG5z77yI6L+Z 5Lqb5pWw5o2u5p2l6IeqUGF1bCBNY0tlbm5leeeahCBgTGludXggSm91cm5hbCBSQ1Ug5paH56ug DQo+ID4gKzxodHRwOi8vd3d3LmxpbnV4am91cm5hbC5jb20vYXJ0aWNsZS5waHA/c2lkPTY5OTM+ YF8g77yJ44CCDQo+ID4gKw0KPiA+ICvov5nkuKTkuKrnm67moIfmmK/lhrLnqoHnmoTvvJrnvKnn n63plIHnmoTmjIHmnInml7bpl7Tlj6/ku6XpgJrov4flsIbplIHliIbmiJDlh6DkuKrpg6jliIbm naXlrozmiJDnmoTvvIjkvovlpoINCj4gPiAr5pyA5ZCO55qE6YCQ5a+56LGh6ZSB56S65L6L77yJ 77yM5L2G5piv6L+Z5Lya5aKe5Yqg6ZSB6I635Y+W5pON5L2c55qE5pWw6YeP77yM5LiU57uT5p6c 6YCa5bi45q+U5oyB5pyJ5LiA5Liq6ZSB5oWi44CCDQo+ID4gK+i/meS5n+aYr+aPkOWAoeeugOWN lemUgeaTjeS9nOeahOWPpuS4gOS4quWOn+WboOOAgg0KPiA+ICsNCj4gPiAr56ys5LiJ5Liq6Zeu 6aKY5aaC5LiL77ya5pyJ5LiA5Lqb5pa55rOV5Y+v5Lul5YeP5bCR6ZyA6KaB5omn6KGM55qE6ZSB 5pON5L2c5pWw6YeP44CCDQo+ID4gKw0KPiA+ICvor7sv5YaZ6ZSB5Y+Y5L2TDQo+ID4gKy0tLS0t LS0tLS0tDQo+ID4gKw0KPiA+ICvoh6rml4vplIHlkozkupLmlqXplIHpg73mnInor7sv5YaZ5Y+Y 5L2T77yaIGBgcndsb2NrX3RgYCDlkowgOmM6dHlwZTpgc3RydWN0IHJ3X3NlbWFwaG9yZQ0KPiA+ ICs8cndfc2VtYXBob3JlPmAg44CC6L+Z5bCG5pON5L2c5YiG5Li65Lik57G777ya6K+75ZKM5YaZ 44CC5aaC5p6c5Y+q6K+75Y+W5pWw5o2u77yM5YiZ5Y+v5Lul6I635b6X6K+76ZSB77ybDQo+ID4g K+S9huimgeWGmeWFpeaVsOaNru+8jOWImemcgOimgeWGmemUgeOAguivu+mUgeWPr+eUseWkmuS6 uuaMgeacie+8jOS9huWGmemUgeaMgeacieiAheW/hemhu+WUr+S4gOOAgg0KPiA+ICsNCj4gPiAr 5aaC5p6c5oKo55qE5Luj56CB6K+7L+WGmeWZqOa4heaZsOWIhuemu++8iOWwseWDj+aIkeS7rOea hOe8k+WtmOS7o+eggemCo+agt++8ie+8jOW5tuS4lOmUgeeUseivu+WGmeWZqOaMgeacieebuOW9 kw0KPiA+ICvplb/nmoTml7bpl7TvvIzpgqPkuYjkvb/nlKjov5nkupvplIHkvJrmnInmiYDluK7l iqnjgILkuI3ov4flroPku6zmr5Tmma7pgJrplIHnqI3mhaLvvIzlm6DmraTlnKjlrp7ot7XkuK0N Cj4gPiArYGByd2xvY2tfdGBgIOmAmuW4uOS4jeWAvOW+l+S9v+eUqOOAgg0KPiA+ICsNCj4gPiAr 6YG/5YWN5Yqg6ZSB77ya6K+7LeWkjeWIti3mm7TmlrANCj4gPiArLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KPiA+ICsNCj4gPiAr5pyJ5LiA56eN54m55q6K55qE6K+7L+WGmemUgeWumuaWueazleen sOS4uuivuy3lpI3liLYt5pu05paw77yIUmVhZCBDb3B5IFVwZGF0Ze+8jFJDVe+8ieOAguS9v+eU qFJDVe+8jA0KPiA+ICvor7vlj5bnqIvluo/lj6/ku6Xlrozlhajpgb/lhY3kvb/nlKjplIHvvJrl m6DkuLrmiJHku6zmnJ/mnJvnvJPlrZjnmoTor7vlj5bpopHnjofmr5Tmm7TmlrDpopHnjofpq5jv vIjlkKbliJnnvJPlrZgNCj4gPiAr5piv5rWq6LS55pe26Ze077yJ77yM5omA5Lul5a6D6YCC55So 6L+Z56eN5LyY5YyW44CCDQo+ID4gKw0KPiA+ICvpgqPmiJHku6zlpoLkvZXmkYbohLHor7vplIHl kaLvvJ/mkYbohLHor7vplIHmhI/lkbPnnYDlhpnnqIvluo/lj6/og73kvJrmm7TmlLnor7vnqIvl uo/kuIvpnaLnmoTliJfooajjgILov5nlrp7pmYUNCj4gPiAr5LiK6Z2e5bi4566A5Y2V77ya5aaC 5p6c5YaZ56iL5bqP6Z2e5bi45bCP5b+D5Zyw5re75Yqg5YWD57Sg77yM5oiR5Lus5Y+v5Lul5Zyo 5re75Yqg5YWD57Sg5pe26K+75Y+W6ZO+6KGo44CCDQo+ID4gK+S+i+Wmgu+8jOWQkeWQjeS4uiBg YGxpc3RgYCDnmoTljZXpk77ooajmt7vliqAgYGBuZXdgYCA6Og0KPiA+ICsNCj4gPiArICAgICAg ICAgICAgbmV3LT5uZXh0ID0gbGlzdC0+bmV4dDsNCj4gPiArICAgICAgICAgICAgd21iKCk7DQo+ ID4gKyAgICAgICAgICAgIGxpc3QtPm5leHQgPSBuZXc7DQo+ID4gKw0KPiA+ICsNCj4gPiArd21i KCnmmK/kuIDkuKrlhpnlhoXlrZjlsY/pmpzvvIh3cml0ZSBtZW1vcnkgYmFycmllcu+8ieOAguWu g+ehruS/neesrOS4gOS4quaTjeS9nO+8iOiuvue9ruaWsOWFg+e0oOeahA0KPiA+ICtgYG5leHRg YCDmjIfpkojvvInmmK/lrozmlbTnmoTvvIzlubbkuJTlnKjnrKzkuozkuKrmk43kvZzvvIjlsIbm lrDlhYPntKDmlL7lhaXliJfooajvvInkuYvliY3miYDmnIlDUFXpg73lj68NCj4gPiAr6KeB44CC 6L+Z5LiA54K55b6I6YeN6KaB77yM5Zug5Li6546w5Luj57yW6K+R5Zmo5ZKM546w5LujQ1BV6YO9 5Y+v5Lul5a+55oyH5Luk6YeN5paw5o6S5bqP77yI6Zmk6Z2e5Y+m5pyJ6K+05piO77yJ77yaDQo+ ID4gK+aIkeS7rOW4jOacm+ivu+WPlueoi+W6j+imgeS5iOagueacrOeci+S4jeWIsOaWsOWFg+e0 oO+8jOimgeS5iOeci+WIsCBgYG5leHRgYCDmjIfpkojmraPnoa7mjIflkJHliJfooajlhbbkvZkN Cj4gPiAr6YOo5YiG55qE5paw5YWD57Sg44CCDQo+ID4gKw0KPiA+ICvlubjov5DnmoTmmK/vvIzl r7nkuo7moIflh4bnmoQgOmM6dHlwZTpgc3RydWN0IGxpc3RfaGVhZCA8bGlzdF9oZWFkPmAg5YiX 6KGo5pyJ5LiA5Liq5Ye95pWw5Y+v5LulDQo+ID4gK+WBmuWIsOi/meS4gOeCue+8mmxpc3RfYWRk X3JjdSgp77yIIGBgaW5jbHVkZS9saW51eC9saXN0LmhgYCDvvInjgIINCj4gPiArDQo+ID4gK0Zv cnR1bmF0ZWx5LCB0aGVyZSBpcyBhIGZ1bmN0aW9uIHRvIGRvIHRoaXMgZm9yIHN0YW5kYXJkDQo+ ID4gKzpjOnR5cGU6YHN0cnVjdCBsaXN0X2hlYWQgPGxpc3RfaGVhZD5gIGxpc3RzOg0KPiA+ICts aXN0X2FkZF9yY3UoKSAoYGBpbmNsdWRlL2xpbnV4L2xpc3QuaGBgKS4NCj4gPiArDQo+ID4gK+S7 juWIl+ihqOS4reWIoOmZpOWFg+e0oOabtOeugOWNle+8muaIkeS7rOWwhuaMh+WQkeaXp+WFg+e0 oOeahOaMh+mSiOabv+aNouS4uuaMh+WQkeWFtuWQjue7reWFg+e0oOeahOaMh+mSiO+8jOivu+WP lg0KPiA+ICvnqIvluo/opoHkuYjlj6/ku6XnnIvliLDlroPvvIzopoHkuYjot7Pov4flroPjgIIN Cj4gPiArDQo+ID4gKzo6DQo+ID4gKw0KPiA+ICsgICAgICAgICAgICBsaXN0LT5uZXh0ID0gb2xk LT5uZXh0Ow0KPiA+ICsNCj4gPiArbGlzdF9kZWxfcmN1KCnvvIggYGBpbmNsdWRlL2xpbnV4L2xp c3QuaGBgIO+8ieWHveaVsOWPr+S7peWBmui/meS4qu+8iOaZrumAmueJiOacrOS8muavkuWMluaX pw0KPiA+ICvlr7nosaHvvIzov5nmmK/miJHku6zkuI3luIzmnJvnmoTvvInjgIINCj4gPiArDQo+ ID4gK+ivu+WPlueoi+W6j+S5n+W/hemhu+Wwj+W/g++8muS4gOS6m0NQVeWPr+S7peafpeeciyBg YG5leHRgYCDmjIfpkojvvIzku6Xkvr/lsL3ml6nlvIDlp4vor7vlj5bkuIvkuIDkuKrlhYPntKAN Cj4gPiAr55qE5YaF5a6577yM5L2G5b2TIGBgbmV4dGBgIOaMh+mSiOWcqOWFtuWQjuabtOaUueaX tu+8jOaXoOazleWPkeeOsOWIsOmihOivu+eahOWGheWuueaYr+mUmeivr+eahOOAguWQjOagt++8 jA0KPiA+ICtsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdSgp77yIIGBgaW5jbHVkZS9saW51eC9saXN0 LmhgYCDvvInlj6/ku6XluK7liqnmgqjjgILlvZPnhLbvvIzlhpnlhaUNCj4gPiAr56iL5bqP5Y+v 5Lul5Y+q5L2/55SobGlzdF9mb3JfZWFjaF9lbnRyeSgp77yM5Zug5Li65LiN6IO95ZCM5pe25pyJ 5Lik5Liq5YaZ5YWl56iL5bqP44CCDQo+ID4gKw0KPiA+ICvmnIDlkI7kuIDkuKrpmr7popjmmK/v vJrmiJHku6zku4DkuYjml7blgJnmiY3og73nnJ/mraPplIDmr4Hnp7vpmaTnmoTlhYPntKDvvJ/o rrDkvY/vvIzor7vlj5bnqIvluo/lj6/og73mraPlnKjliJfooagNCj4gPiAr5Lit6K+75Yiw6L+Z 5Liq5YWD57Sg77ya5aaC5p6c6YeK5pS+6L+Z5Liq5YWD57Sg5bm25LiUIGBgbmV4dGBgIOaMh+mS iOWPkeeUn+WPmOWMlu+8jOivu+WPlueoi+W6j+WwseS8mui3s+i/mw0KPiA+ICvlnoPlnL7loIbl ubbltKnmuoPjgILmiJHku6zpnIDopoHnrYnliLDpgY3ljobliJfooajnmoTmiYDmnInor7vlj5bn qIvluo/pg73lrozmiJDkuobmiY3lj6/ku6XliKDpmaTlhYPntKDjgILlj6/kvb/nlKgNCj4gPiAr Y2FsbF9yY3UoKeazqOWGjOS4gOS4quWbnuiwg++8jOS4gOaXpuaJgOaciemihOWFiOWtmOWcqOea hOivu+WPlueoi+W6j+mDveWujOaIkO+8jOWbnuiwg+WwseS8mumUgOavgeivpeWvueixoeOAgg0K PiA+ICvmiJbogIXvvIxzeW5jaHJvbml6ZV9yY3UoKeWPr+S7peeUqOS6jumYu+atoumHiuaUvueb tOWIsOaJgOaciemihOWFiOWtmOWcqOeahOivu+WPlueoi+W6j+WujOaIkOOAgg0KPiA+ICsNCj4g PiAr6YKj5LmI6K+7LeWkjeWIti3mm7TmlrDlpoLkvZXnn6XpgZPor7vlj5bnqIvluo/kvZXml7bl rozmiJDvvJ/mlrnms5XmmK/vvJrpppblhYjvvIzor7vlj5bnqIvluo/mgLvmmK/pgY3ljoYNCj4g PiArcmN1X3JlYWRfbG9jaygpL3JjdV9yZWFkX3VubG9jaygp5a+55Lit55qE5YiX6KGo77ya6L+Z 55u05o6l56aB55So5LqG5oqi5Y2g77yM5Lul5L2/6K+75Y+W56iL5bqPDQo+ID4gK+WcqOivu+WP luWIl+ihqOaXtuS4jeS8muS8keecoOOAgg0KPiA+ICsNCj4gPiAr54S25ZCOUkNV562J5b6F5q+P 5LiqQ1BV6Iez5bCR5LyR55yg5LiA5qyh77ya55Sx5LqO6K+75Y+W56iL5bqP5peg5rOV5LyR55yg 77yM6L+Z5qC35oiR5Lus5bCx55+l6YGT5Zyo5Yig6Zmk6L+H56iLDQo+ID4gK+S4remBjeWOhuWI l+ihqOeahOaJgOacieivu+WPlueoi+W6j+mDveW3sue7j+WujOaIkO+8jOW5tuS4lOinpuWPkeWb nuiwg+OAguecn+ato+eahOivuy3lpI3liLYt5pu05paw5Luj56CB5q+U6L+ZDQo+ID4gK+abtOS8 mOWMluS6huS4gOeCue+8jOS9huWfuuacrOWOn+eQhuebuOWQjOOAgg0KPiA+ICsNCj4gPiArOjoN Cj4gPiArDQo+ID4gKyAgICAtLS0gY2FjaGUuYy5wZXJvYmplY3Rsb2NrICAgMjAwMy0xMi0xMSAx NzoxNTowMy4wMDAwMDAwMDAgKzExMDANCj4gPiArICAgICsrKyBjYWNoZS5jLnJjdXBkYXRlICAg IDIwMDMtMTItMTEgMTc6NTU6MTQuMDAwMDAwMDAwICsxMTAwDQo+ID4gKyAgICBAQCAtMSwxNSAr MSwxOCBAQA0KPiA+ICsgICAgICNpbmNsdWRlIDxsaW51eC9saXN0Lmg+DQo+ID4gKyAgICAgI2lu Y2x1ZGUgPGxpbnV4L3NsYWIuaD4NCj4gPiArICAgICAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+ DQo+ID4gKyAgICArI2luY2x1ZGUgPGxpbnV4L3JjdXBkYXRlLmg+DQo+ID4gKyAgICAgI2luY2x1 ZGUgPGxpbnV4L211dGV4Lmg+DQo+ID4gKyAgICAgI2luY2x1ZGUgPGFzbS9lcnJuby5oPg0KPiA+ ICsNCj4gPiArICAgICBzdHJ1Y3Qgb2JqZWN0DQo+ID4gKyAgICAgew0KPiA+ICsgICAgLSAgICAg ICAgLyogVGhlc2UgdHdvIHByb3RlY3RlZCBieSBjYWNoZV9sb2NrLiAqLw0KPiA+ICsgICAgKyAg ICAgICAgLyogVGhpcyBpcyBwcm90ZWN0ZWQgYnkgUkNVICovDQo+ID4gKyAgICAgICAgICAgICBz dHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7DQo+ID4gKyAgICAgICAgICAgICBpbnQgcG9wdWxhcml0eTsN Cj4gPiArDQo+ID4gKyAgICArICAgICAgICBzdHJ1Y3QgcmN1X2hlYWQgcmN1Ow0KPiA+ICsgICAg Kw0KPiA+ICsgICAgICAgICAgICAgYXRvbWljX3QgcmVmY250Ow0KPiA+ICsNCj4gPiArICAgICAg ICAgICAgIC8qIERvZXNuJ3QgY2hhbmdlIG9uY2UgY3JlYXRlZC4gKi8NCj4gPiArICAgIEBAIC00 MCw3ICs0Myw3IEBADQo+ID4gKyAgICAgew0KPiA+ICsgICAgICAgICAgICAgc3RydWN0IG9iamVj dCAqaTsNCj4gPiArDQo+ID4gKyAgICAtICAgICAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5KGksICZj YWNoZSwgbGlzdCkgew0KPiA+ICsgICAgKyAgICAgICAgbGlzdF9mb3JfZWFjaF9lbnRyeV9yY3Uo aSwgJmNhY2hlLCBsaXN0KSB7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgIGlmIChpLT5pZCA9 PSBpZCkgew0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGktPnBvcHVsYXJpdHkr KzsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaTsNCj4gPiArICAg IEBAIC00OSwxOSArNTIsMjUgQEANCj4gPiArICAgICAgICAgICAgIHJldHVybiBOVUxMOw0KPiA+ ICsgICAgIH0NCj4gPiArDQo+ID4gKyAgICArLyogRmluYWwgZGlzY2FyZCBkb25lIG9uY2Ugd2Ug a25vdyBubyByZWFkZXJzIGFyZSBsb29raW5nLiAqLw0KPiA+ICsgICAgK3N0YXRpYyB2b2lkIGNh Y2hlX2RlbGV0ZV9yY3Uodm9pZCAqYXJnKQ0KPiA+ICsgICAgK3sNCj4gPiArICAgICsgICAgICAg IG9iamVjdF9wdXQoYXJnKTsNCj4gPiArICAgICt9DQo+ID4gKyAgICArDQo+ID4gKyAgICAgLyog TXVzdCBiZSBob2xkaW5nIGNhY2hlX2xvY2sgKi8NCj4gPiArICAgICBzdGF0aWMgdm9pZCBfX2Nh Y2hlX2RlbGV0ZShzdHJ1Y3Qgb2JqZWN0ICpvYmopDQo+ID4gKyAgICAgew0KPiA+ICsgICAgICAg ICAgICAgQlVHX09OKCFvYmopOw0KPiA+ICsgICAgLSAgICAgICAgbGlzdF9kZWwoJm9iai0+bGlz dCk7DQo+ID4gKyAgICAtICAgICAgICBvYmplY3RfcHV0KG9iaik7DQo+ID4gKyAgICArICAgICAg ICBsaXN0X2RlbF9yY3UoJm9iai0+bGlzdCk7DQo+ID4gKyAgICAgICAgICAgICBjYWNoZV9udW0t LTsNCj4gPiArICAgICsgICAgICAgIGNhbGxfcmN1KCZvYmotPnJjdSwgY2FjaGVfZGVsZXRlX3Jj dSk7DQo+ID4gKyAgICAgfQ0KPiA+ICsNCj4gPiArICAgICAvKiBNdXN0IGJlIGhvbGRpbmcgY2Fj aGVfbG9jayAqLw0KPiA+ICsgICAgIHN0YXRpYyB2b2lkIF9fY2FjaGVfYWRkKHN0cnVjdCBvYmpl Y3QgKm9iaikNCj4gPiArICAgICB7DQo+ID4gKyAgICAtICAgICAgICBsaXN0X2FkZCgmb2JqLT5s aXN0LCAmY2FjaGUpOw0KPiA+ICsgICAgKyAgICAgICAgbGlzdF9hZGRfcmN1KCZvYmotPmxpc3Qs ICZjYWNoZSk7DQo+ID4gKyAgICAgICAgICAgICBpZiAoKytjYWNoZV9udW0gPiBNQVhfQ0FDSEVf U0laRSkgew0KPiA+ICsgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgb2JqZWN0ICppLCAqb3V0 Y2FzdCA9IE5VTEw7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgIGxpc3RfZm9yX2VhY2hfZW50 cnkoaSwgJmNhY2hlLCBsaXN0KSB7DQo+ID4gKyAgICBAQCAtMTA0LDEyICsxMTQsMTEgQEANCj4g PiArICAgICBzdHJ1Y3Qgb2JqZWN0ICpjYWNoZV9maW5kKGludCBpZCkNCj4gPiArICAgICB7DQo+ ID4gKyAgICAgICAgICAgICBzdHJ1Y3Qgb2JqZWN0ICpvYmo7DQo+ID4gKyAgICAtICAgICAgICB1 bnNpZ25lZCBsb25nIGZsYWdzOw0KPiA+ICsNCj4gPiArICAgIC0gICAgICAgIHNwaW5fbG9ja19p cnFzYXZlKCZjYWNoZV9sb2NrLCBmbGFncyk7DQo+ID4gKyAgICArICAgICAgICByY3VfcmVhZF9s b2NrKCk7DQo+ID4gKyAgICAgICAgICAgICBvYmogPSBfX2NhY2hlX2ZpbmQoaWQpOw0KPiA+ICsg ICAgICAgICAgICAgaWYgKG9iaikNCj4gPiArICAgICAgICAgICAgICAgICAgICAgb2JqZWN0X2dl dChvYmopOw0KPiA+ICsgICAgLSAgICAgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2FjaGVf bG9jaywgZmxhZ3MpOw0KPiA+ICsgICAgKyAgICAgICAgcmN1X3JlYWRfdW5sb2NrKCk7DQo+ID4g KyAgICAgICAgICAgICByZXR1cm4gb2JqOw0KPiA+ICsgICAgIH0NCj4gPiArDQo+ID4gK+ivt+az qOaEj++8jOivu+WPlueoi+W6j+WwhuabtOaUuV9fY2FjaGVfZmluZCgp5Lit55qE5rS76LeD5oiQ 5ZGY77yM546w5Zyo5a6D5LiN5oyB5pyJ6ZSB44CC5LiA56eN6Kej5Yaz5pa55qGIDQo+ID4gK+aY r+iuqeWFtuaIkOS4uiBgYGF0b21pY190YGAg77yM5L2G5a+55LqO6L+Z56eN55So5rOV77yM5oiR 5Lus5bm25LiN55yf5q2j5YWz5b+D56ue5LqJ77ya6L+R5Ly855qE57uT5p6c5bCxDQo+ID4gK+i2 s+Wkn+S6hu+8jOaJgOS7peaIkeayoeacieabtOaUueWug+OAgg0KPiA+ICsNCj4gPiAr57uT5p6c 5pivY2FjaGVfZmluZO+8iOS4jemcgOimgeS4juS7u+S9leWFtuS7luWHveaVsOWQjOatpe+8jOWb oOatpOWcqFNNUOS4iueahOmAn+W6puWHoOS5juS4juWcqFVQ5LiK55qE6YCfDQo+ID4gK+W6puS4 gOagt+W/q+OAgg0KPiA+ICsNCj4gPiAr6L+Y5pyJ5LiA5Liq5Y+v5Lul6L+b5LiA5q2l5LyY5YyW 55qE54K577ya6L+Y6K6w5b6X5oiR5Lus5Y6f5p2l55qE57yT5a2Y5Luj56CB5ZCX77yM5rKh5pyJ 5byV55So6K6h5pWw77yM6LCD55So6ICFDQo+ID4gK+WcqOS9v+eUqOWvueixoeaXtuebtOaOpeaM geaciemUge+8n+i/meS7jeeEtuaYr+WPr+iDveeahO+8muWmguaenOaCqOaMgeaciemUge+8jOay oeacieS6uuWPr+S7peWIoOmZpOWvueixoe+8jOi/meagtw0KPiA+ICvmgqjlsLHkuI3pnIDopoHo jrflj5blubbmlL7nva7lvJXnlKjorqHmlbDjgIINCj4gPiArDQo+ID4gK+eOsOWcqO+8jOeUseS6 jlJDVeS4reeahOKAnOivu+WPlumUgeKAneWPquaYr+emgeeUqOS6huaKouWNoO+8jOaJgOS7peWc qOiwg+eUqGNhY2hlX2ZpbmQoKeWSjG9iamVjdF9wdXQoKQ0KPiA+ICvkuYvpl7Tlp4vnu4jnpoHn lKjkuobmiqLljaDnmoTosIPnlKjogIXkuI3pnIDopoHlrp7pmYXojrflj5blkozmlL7nva7lvJXn lKjorqHmlbDvvJrmiJHku6zlj6/ku6XpgJrov4fkvb/lhbbmiJDkuLoNCj4gPiAr6Z2e6Z2Z5oCB 5p2l5pq06ZyyX19jYWNoZV9maW5kKCnvvIzov5nmoLfnmoTosIPnlKjogIXlj6/ku6Xnm7TmjqXo sIPnlKjjgIINCj4gPiArDQo+ID4gK+i/meagt+eahOWlveWkhOaYr+W8leeUqOiuoeaVsOS4jeS8 muiiq+WGmeWFpe+8muWvueixoeS4jeS8muS7peS7u+S9leaWueW8j+abtOaUue+8jOi/meWcqFNN UOacuuWZqOS4iueUseS6jue8k+WtmA0KPiA+ICvogIzlv6vlvpflpJrjgIINCj4gPiArDQo+ID4g K+mAkENQVeaVsOaNrg0KPiA+ICstLS0tLS0tLS0NCj4gPiArDQo+ID4gK+WPpuS4gOenjeiiq+W5 v+azm+S9v+eUqOeahOmBv+WFjemUgeeahOaKgOacr+aYr+S4uuavj+S4qkNQVeWkjeWItuS/oeaB r+OAguS+i+Wmgu+8jOWmguaenOaCqOaDs+S/neaMgeS4gOS4quW4uOingQ0KPiA+ICvmnaHku7bn moTorqHmlbDvvIzlj6/ku6Xkvb/nlKjoh6rml4vplIHlkozljZXkuKrorqHmlbDlmajjgILlj4jl pb3lj4jnroDljZXjgIINCj4gPiArDQo+ID4gK+WmguaenOmAn+W6puWkquaFou+8iOmAmuW4uOS4 jeS8mu+8jOS9huaYr+WmguaenOS9oOacieS4gOWPsOmdnuW4uOWkp+eahOacuuWZqOWPr+S7pea1 i+ivleWwseS8muWPkeeOsOi/meenjeaDheWGte+8ie+8jA0KPiA+ICvkvaDlj6/ku6XkuLrmr4/k uKpDUFXkvb/nlKjkuIDkuKrorqHmlbDlmajvvIzpgqPkuYjlroPku6zpg73kuI3pnIDopoHni6zl jaDplIHjgILor7flj4Lop4FERUZJTkVfUEVSX0NQVSgp77yMDQo+ID4gK2dldF9jcHVfdmFyKCnl koxwdXRfY3B1X3Zhcigp77yIIGBgaW5jbHVkZS9saW51eC9wZXJjcHUuaGBgIO+8ieOAgg0KPiA+ ICsNCj4gPiAr5a+55LqO566A5Y2V55qE6YCQQ1BV6K6h5pWw5Zmo77yMIGBgbG9jYWxfdGBgIOex u+Wei+OAgWNwdV9sb2NhbF9pbmMoKeWSjOebuOWFs+WHveaVsOeJueWIq+acieeUqO+8jA0KPiA+ ICvlroPku6zlnKjmn5DkupvkvZPns7vnu5PmnoTvvIggYGDljIXmi6wvYXNtL2xvY2FsLmhgYCDv vInkuIrmr5TnroDljZXku6PnoIHmm7TmnInmlYjjgIINCj4gPiArDQo+ID4gK+ivt+azqOaEj++8 jOWmguaenOS4jeW8leWFpeabtOWkmumUge+8jOWwseayoeacieeugOWNleOAgeWPr+mdoOeahOaW ueazleadpeiOt+WPluatpOexu+iuoeaVsOWZqOeahOeyvuehruWAvOOAgg0KPiA+ICvkuI3ov4fl r7nkuo7mn5DkupvnlKjpgJTmnaXor7TvvIzov5nlubbkuI3mmK/pl67popjjgIINCj4gPiArDQo+ ID4gK+S4u+imgeeUseS4reaWreWkhOeQhueoi+W6j+S9v+eUqOeahOaVsOaNrg0KPiA+ICstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gKw0KPiA+ICvlpoLmnpzmgLvmmK/ku47lkIzk uIDkuKrkuK3mlq3lpITnkIbnqIvluo/kuK3orr/pl67mlbDmja7vvIzliJnmoLnmnKzkuI3pnIDo poHplIHvvJrlhoXmoLjlt7Lnu4/kv53or4HkuK3mlq3lpITnkIYNCj4gPiAr56iL5bqP5LiN5Lya 5Zyo5aSa5LiqQ1BV5LiK5ZCM5pe26L+Q6KGM44CCDQo+ID4gKw0KPiA+ICtNYW5mcmVkIFNwcmF1 bOaMh+WHuuaCqOS7jeeEtuWPr+S7pei/meagt+WBmu+8jOWNs+S9v+aVsOaNruWBtuWwlOWcqOeU qOaIt+S4iuS4i+aWh+aIlui9r+S4reaWrS/lrZDku7vliqHkuK0NCj4gPiAr6K6/6Zeu44CC5Lit 5pat5aSE55CG56iL5bqP5LiN5L2/55So6ZSB77yM5omA5pyJ5YW25LuW6K6/6Zeu6YO95piv6L+Z 5qC36L+b6KGM55qEOjoNCj4gPiArDQo+ID4gKyAgICAgICAgc3Bpbl9sb2NrKCZsb2NrKTsNCj4g PiArICAgICAgICBkaXNhYmxlX2lycShpcnEpOw0KPiA+ICsgICAgICAgIC4uLg0KPiA+ICsgICAg ICAgIGVuYWJsZV9pcnEoaXJxKTsNCj4gPiArICAgICAgICBzcGluX3VubG9jaygmbG9jayk7DQo+ ID4gKw0KPiA+ICtkaXNhYmxlX2lycSgp5Lya6Zi75q2i5Lit5pat5aSE55CG56iL5bqP6L+Q6KGM 77yI5aaC5p6c5a6D5b2T5YmN5q2j5Zyo5YW25LuWQ1BV5LiK6L+Q6KGM77yM5YiZ562J5b6F5a6D DQo+ID4gK+WujOaIkO+8ieOAguiHquaXi+mUgeS8mumYu+atouS7u+S9leWFtuS7luiuv+mXruWQ jOaXtuWPkeeUn+OAguW9k+eEtu+8jOi/meavlOWNleS4qnNwaW5fbG9ja19pcnEoKeiwg+eUqA0K PiA+ICvopoHmhaLvvIzmiYDku6Xlj6rmnInlnKjov5nnp43orr/pl67lvojlsJHlj5HnlJ/ml7bm iY3mnInmhI/kuYnjgIINCj4gPiArDQo+ID4gK+S7juS4reaWreS4reiwg+eUqOWTquS6m+WHveaV sOaYr+WuieWFqOeahO+8nw0KPiA+ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4g PiArDQo+ID4gKw0KPiA+ICvlhoXmoLjkvJHnnKDkuK3nmoTorrjlpJrlh73mlbDvvIjljbNjYWxs IHNjaGVkdWxlKCnvvInpg73mmK/nm7TmjqXmiJbpl7TmjqXnmoTvvJrlnKjmjIHmnInoh6rml4vp lIHmiJbnpoHnlKgNCj4gPiAr5oqi5Y2g55qE5oOF5Ya15LiL77yM5rC46L+c5LiN6IO96LCD55So 5a6D5Lus44CC6L+Z5Lmf5oSP5ZGz552A5oKo6ZyA6KaB5aSE5LqO55So5oi35LiK5LiL5paH5Lit 77ya5LuO5Lit5pat6LCD55SoDQo+ID4gK+Wug+S7rOaYr+S4jeWFgeiuuOeahOOAgg0KPiA+ICsN Cj4gPiAr5LiA5Lqb5LyR55yg55qE5Ye95pWwDQo+ID4gKy0tLS0tLS0tLS0tLS0tDQo+ID4gKw0K PiA+ICvkuIvpnaLliJflh7rkuobmnIDluLjop4HnmoTkuIDkupvvvIzkvYbmmK/mgqjpgJrluLjl v4XpobvpmIXor7vku6PnoIHmiY3og73noa7lrprlhbbku5bosIPnlKjmmK/lkKblronlhajjgILl poLmnpwNCj4gPiAr5YW25LuW6LCD55So5a6D55qE56iL5bqP6YO95Y+v5Lul5LyR55yg77yM5L2g 5Y+v6IO95Lmf5Y+v5Lul5LyR55yg44CC54m55Yir5piv77yM5rOo5YaM5ZKM5rOo6ZSA5Ye95pWw 6YCa5bi45pyf5pybDQo+ID4gK+S7jueUqOaIt+S4iuS4i+aWh+iwg+eUqO+8jOW5tuS4lOWPr+S7 peS8keecoOOAgg0KPiA+ICsNCj4gPiArLSAg6K6/6Zeu55So5oi356m66Ze077yaDQo+ID4gKw0K PiA+ICsgICAtICBjb3B5X2Zyb21fdXNlcigpDQo+ID4gKw0KPiA+ICsgICAtICBjb3B5X3RvX3Vz ZXIoKQ0KPiA+ICsNCj4gPiArICAgLSAgZ2V0X3VzZXIoKQ0KPiA+ICsNCj4gPiArICAgLSAgcHV0 X3VzZXIoKQ0KPiA+ICsNCj4gPiArLSAgOmM6ZnVuYzpga21hbGxvYyhHUF9LRVJORUwpIDxrbWFs bG9jPmANCj4gPiArDQo+ID4gKy0gIG11dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgpIOWSjCBtdXRl eF9sb2NrKCkNCj4gPiArDQo+ID4gKyAgIG11dGV4X3RyeWxvY2soKeS4jeS8keecoO+8m+S9huaY r++8jOS4jeiDveWcqOS4reaWreS4iuS4i+aWh+S4reS9v+eUqOWug++8jOWboOS4uuWug+eahOWu nueOsOWvueatpOS4jQ0KPiA+ICsgICDlronlhajjgIJtdXRleF91bmxvY2soKeS5n+S4jeS8muS8 keecoO+8m+Wug+S5n+S4jeiDveWcqOS4reaWreS4iuS4i+aWh+S4reS9v+eUqO+8jOWboOS4uuS6 kuaWpemUgeW/hemhuw0KPiA+ICsgICDnlLHojrflj5blroPnmoTlkIzkuIDkuKrku7vliqHph4rm lL7jgIINCj4gPiArDQo+ID4gK+S4gOS6m+S4jeS8keecoOeahOWHveaVsA0KPiA+ICstLS0tLS0t LS0tLS0tLS0tDQo+ID4gKw0KPiA+ICvmnInkupvlh73mlbDlj6/ku6Xku47ku7vkvZXkuIrkuIvm lofosIPnlKjvvIzmiJbogIXmjIHmnInlh6DkuY7ku7vkvZXplIHjgIINCj4gPiArDQo+ID4gKy0g IHByaW50aygpDQo+ID4gKw0KPiA+ICstICBrZnJlZSgpDQo+ID4gKw0KPiA+ICstICBhZGRfdGlt ZXIoKSDlkowgZGVsX3RpbWVyKCkNCj4gPiArDQo+ID4gK+S6kuaWpemUgUFQSeWPguiAgw0KPiA+ ICs9PT09PT09PT09PT09PT09PT09DQo+ID4gKw0KPiA+ICsuLiBrZXJuZWwtZG9jOjogaW5jbHVk ZS9saW51eC9tdXRleC5oDQo+ID4gKyAgIDppbnRlcm5hbDoNCj4gPiArDQo+ID4gKy4uIGtlcm5l bC1kb2M6OiBrZXJuZWwvbG9ja2luZy9tdXRleC5jDQo+ID4gKyAgIDpleHBvcnQ6DQo+ID4gKw0K PiA+ICvlv6vpgJ/nlKjmiLfnqbrpl7TkupLmlqXplIHvvIhGdXRleO+8iUFQSeWPguiAgw0KPiA+ ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+ID4gKw0KPiA+ICsq6K+R5rOo 77yaRnV0ZXjvvIxGYXN0IFVzZXJzcGFjZSBNdXRleCoNCj4gPiArDQo+ID4gKy4uIGtlcm5lbC1k b2M6OiBrZXJuZWwvZnV0ZXguYw0KPiA+ICsgICA6aW50ZXJuYWw6DQo+ID4gKw0KPiA+ICvov5vk uIDmraXpmIXor7votYTmlpkNCj4gPiArPT09PT09PT09PT09PT0NCj4gPiArDQo+ID4gKy0gIERv Y3VtZW50YXRpb24vbG9ja2luZy9zcGlubG9ja3MucnN0IO+8mkxpbnVzIFRvcnZhbGRz55qE6Ieq 5peL6ZSB5pWZ56iL44CCDQo+ID4gKw0KPiA+ICstICDjgIrnjrDku6PkvZPns7vnu5PmnoTkuIrn moRVTklY57O757uf4oCU4oCU5YaF5qC456iL5bqP5ZGY55qEU01Q5ZKMQ2FjaGluZ+aKgOacr+OA iw0KPiA+ICsNCj4gPiArICAgKlVuaXggU3lzdGVtcyBmb3IgTW9kZXJuIEFyY2hpdGVjdHVyZXM6 IFN5bW1ldHJpYyBNdWx0aXByb2Nlc3NpbmcgYW5kDQo+ID4gKyAgIENhY2hpbmcgZm9yIEtlcm5l bCBQcm9ncmFtbWVycyoNCj4gPiArDQo+ID4gKyAgIEN1cnQgU2NoaW1tZWzlr7nlhoXmoLjnuqfp lIHnmoTkuIrkvbPku4vnu43vvIjkuI3mmK/kuLpMaW51eOe8luWGmeeahO+8jOS9huaYr+WHoOS5 juaJgOacieeahOS4nOilvw0KPiA+ICsgICDpg73pgILnlKjvvInjgILov5nmnKzkuabmmK/mmILo tLXnmoTvvIzkvYboirHngrnpkrHljrvmkJ7mh4JTTVDplIHlrprnu53lr7nkuI3kuo/jgIINCj4g PiArDQo+ID4gKyAgIOOAkOiLseaWh+WOn+eJiCBJU0JOIDAyMDE2MzMzODjjgJENCj4gPiArICAg 44CQ5Lit6K+R5pysIElTQk4gNy0xNTUtMTA4NzYtNSDkurrmsJHpgq7nlLXlh7rniYjnpL7jgJEN Cj4gPiArDQo+ID4gK+iHtOiwog0KPiA+ICs9PT09DQo+ID4gKw0KPiA+ICvmhJ/osKJUZWxzYSBH d3lubmXluK7liqlEb2NCb29raW5n44CB5pW055CG5ZKM5re75Yqg5qC85byP44CCDQo+ID4gKw0K PiA+ICvmhJ/osKJNYXJ0aW4gUG9vbO+8jFBoaWxpcHAgUnVtcGbvvIxTdGVwaGVuIFJvdGh3ZWxs 77yMUGF1bCBNYWNrZXJyYXPvvIwNCj4gPiArUnVlZGkgQXNjaHdhbmRlbu+8jEFsYW4gQ29477yM TWFuZnJlZCBTcHJhdWzvvIxUaW0gV2F1Z2jvvIxQZXRlIFphaXRjZXbvvIwNCj4gPiArSmFtZXNN b3JyaXPvvIxSb2JlcnQgTG92Ze+8jFBhdWwgTWNLZW5uZXnvvIxKb2huIEFzaGJ555qE5qCh5a+5 44CB5pu05q2j44CB6K+E6K6644CCDQo+ID4gKw0KPiA+ICvmhJ/osKLlj43lr7nlm6LkvZPmsqHm nInlvbHlk43mraTmlofmoaPjgIINCj4gPiArDQo+ID4gK+acr+ivreihqA0KPiA+ICs9PT09PT0N Cj4gPiArDQo+ID4gK+aKouWNoCBwcmVlbXB0aW9uDQo+ID4gKyAg5ZyoMi4154mI5pys5LmL5YmN 77yM5oiW6ICF5b2TIGBgQ09ORklHX1BSRUVNUFRgYCDmnKrorr7nva7ml7bvvIzlhoXmoLjph4zn lKjmiLfkuIrkuIvmlofkuK3nmoTov5vnqIsNCj4gPiArICDkuI3kvJrnm7jkupLmiqLljaDvvIjl jbPlnKjmlL7lvINDUFXkuYvliY3vvIzpmaTkuobkuK3mlq3kuYvlpJbvvIzmgqjkuIDnm7Tmi6Xm nInor6VDUFXvvInjgIIyLjUuNOeJiOacrOS4rQ0KPiA+ICsgIOWinuWKoOeahCBgYENPTkZJR19Q UkVFTVBUYGAg5pS55Y+Y5LqG5q2k5py65Yi277ya5Zyo55So5oi35LiK5LiL5paH5Lit77yM5pu0 6auY5LyY5YWI57qn55qE5Lu75Yqh5Y+vDQo+ID4gKyAg5Lul4oCc5YiH5YWl4oCd77ya6Ieq5peL 6ZSB6KKr5pu05pS55Li656aB55So5oqi5Y2g77yM5Y2z5L2/5piv5ZyoVVDkuIrjgIINCj4gPiAr DQo+ID4gK+S4i+WNiumDqCBiaA0KPiA+ICsgICpbQm90dG9tIEhhbGZdKiDnlLHkuo7ljoblj7Ll jp/lm6DvvIzluKbmnInigJxfYmjigJ3nmoTlh73mlbDnjrDlnKjpgJrluLjmjIfku7vkvZXova/k u7bkuK3mlq3vvIzkvovlpoINCj4gPiArICBzcGluX2xvY2tfYmgoKeS8mumYu+atouW9k+WJjUNQ VeS4iueahOS7u+S9lei9r+S7tuS4reaWreOAguS4i+WNiumDqOW3suiiq+W8g+eUqO+8jOacgOe7 iOWwhuiiq+WtkOS7u+WKoQ0KPiA+ICsgIOWPluS7o+OAguS7u+S9leaXtuWAmeWPquacieS4gOS4 quS4i+WNiumDqOS8muWcqOi/kOihjOOAgg0KPiA+ICsNCj4gPiAr56Gs77yI5Lu277yJ5Lit5pat IEhhcmR3YXJlIEludGVycnVwdCAvIEhhcmR3YXJlIElSUQ0KPiA+ICsgIOehrOS7tuS4reaWreiv t+axguOAgmluX2lycSgp5Zyo56Gs5Lu25Lit5pat5aSE55CG56iL5bqP5Lit6L+U5ZuedHJ1ZeOA gg0KPiA+ICsNCj4gPiAr5Lit5pat5LiK5LiL5paHIEludGVycnVwdCBDb250ZXh0DQo+ID4gKyAg 6Z2e55So5oi35LiK5LiL5paH77ya5aSE55CG56Gs5Lu25Lit5pat5oiW6L2v5Lu25Lit5pat44CC 55Sx6L+U5ZuedHJ1ZeeahGluX2ludGVycnVwdCgp5a6P5oyH56S644CCDQo+ID4gKw0KPiA+ICvl r7nnp7DlpJrlpITnkIblmaggU01QDQo+ID4gKyAgKltTeW1tZXRyaWMgTXVsdGktUHJvY2Vzc29y XSog5Li65aSaQ1BV5py65Zmo57yW6K+R55qE5YaF5qC477yIIGBgQ09ORklHX1NNUD15YGAg77yJ 44CCDQo+ID4gKw0KPiA+ICvova/vvIjku7bvvInkuK3mlq0gU29mdHdhcmUgSW50ZXJydXB0IC8g c29mdGlycQ0KPiA+ICsgIOi9r+S7tuS4reaWreWkhOeQhueoi+W6j+OAgmluX2lycSgp6L+U5Zue ZmFsc2XvvJtpbl9zb2Z0aXJxKCnov5Tlm550cnVl44CCDQo+ID4gKyAg5a2Q5Lu75Yqh5ZKM6L2v 5Lit5pat6YO95bGe5LqO4oCc6L2v5Lu25Lit5pat4oCd55qE6IyD55W044CCDQo+ID4gKw0KPiA+ ICsgIOS4peagvOadpeivtO+8jOi9r+S4reaWreaYr+acgOWkmjMy5Liq5p6a5Li+6L2v5Lu25Lit 5pat5LmL5LiA77yM5Y+v5Lul5ZCM5pe25Zyo5aSa5LiqQ1BV5LiK6L+Q6KGM44CCDQo+ID4gKyAg 5pyJ5pe25Lmf55So5p2l5oyH5a2Q5Lu75Yqh77yI5Y2z5omA5pyJ6L2v5Lu25Lit5pat77yJ44CC DQo+ID4gKw0KPiA+ICvlrZDku7vliqEgdGFza2xldA0KPiA+ICsgIOS4gOenjeWPr+WKqOaAgeaz qOWGjOeahOi9r+S7tuS4reaWre+8jOS/neivgeS4gOasoeWPquiDveWcqOS4gOS4qkNQVeS4iui/ kOihjOOAgg0KPiA+ICsNCj4gPiAr6K6h5pe25ZmoIHRpbWVyDQo+ID4gKyAg5LiA56eN5Y+v5Yqo 5oCB5rOo5YaM55qE6L2v5Lu25Lit5pat77yM5Zyo57uZ5a6a5pe26Ze077yI5oiW5o6l6L+R57uZ 5a6a5pe26Ze077yJ6L+Q6KGM44CCDQo+ID4gKyAg6L+Q6KGM5pe277yM5a6D5bCx5YOP5LiA5Liq 5a2Q5Lu75Yqh77yI5a6e6ZmF5LiK77yM5a6D5Lus5piv5LuOIGBgVElNRVJfU09GVElSUWBgIOiw g+eUqOeahO+8ieOAgg0KPiA+ICsNCj4gPiAr5Y2V5aSE55CG5ZmoIFVQDQo+ID4gKyAgKltVbmkt UHJvY2Vzc29yXSog6Z2eU01Q77yIIGBgQ09ORklHX1NNUD1uYGAg77yJ44CCDQo+ID4gKw0KPiA+ ICvnlKjmiLfkuIrkuIvmlocgVXNlciBDb250ZXh0DQo+ID4gKyAg5Luj6KGo54m55a6a6L+b56iL 77yI5Y2z57O757uf6LCD55So5oiW6Zm36ZixW3RyYXBd77yJ5oiW5YaF5qC457q/56iL5omn6KGM 55qE5YaF5qC444CC5oKo5Y+v5Lul55SoDQo+ID4gKyAgYGBjdXJyZW50YGAg5a6P5p2l5Yik5pat 5ZOq5Liq6L+b56iL77yJ44CC5LiN6KaB5LiO55So5oi356m66Ze05re35reG44CC5Y+v6KKr6L2v 5Lu25oiW56Gs5Lu25Lit5pat5Lit5pat44CCDQo+ID4gKw0KPiA+ICvnlKjmiLfnqbrpl7QgVXNl cnNwYWNlDQo+ID4gKyAg5Zyo5YaF5qC45aSW5omn6KGM6Ieq5bex5Luj56CB55qE6L+b56iL44CC DQo+ID4gLS0NCj4gPiAyLjIwLjENCj4gPg0KDQpUaGlzIGRvY3VtZW50IGlzIHRvbyBrbm93bGVk Z2VhYmxlLCBhbmQgSSBjYW4gb25seSByZXZpZXcgYSBzbWFsbCBwYXJ0DQpvZiBpdCBhcyBhIHdo b2xlLg0KDQpUaGFua3MsDQoNCllhbnRlbmcNCg==