MESSAGE
DATE | 2020-05-29 |
FROM | ronald munjoma
|
SUBJECT | Subject: [Hangout - NYLXS] [Health] 3.6.3 to 3.6.4 Database upgrade step
|
From hangout-bounces-at-nylxs.com Sat May 30 09:09:11 2020 Return-Path: X-Original-To: archive-at-mrbrklyn.com Delivered-To: archive-at-mrbrklyn.com Received: from www2.mrbrklyn.com (www2.mrbrklyn.com [96.57.23.82]) by mrbrklyn.com (Postfix) with ESMTP id 7BFE3161173; Sat, 30 May 2020 09:08:44 -0400 (EDT) X-Original-To: hangout-at-www2.mrbrklyn.com Delivered-To: hangout-at-www2.mrbrklyn.com Received: by mrbrklyn.com (Postfix, from userid 1000) id 4C7EC161151; Sat, 30 May 2020 09:08:40 -0400 (EDT) Resent-From: Ruben Safir Resent-Date: Sat, 30 May 2020 09:08:40 -0400 Resent-Message-ID: <20200530130840.GA1795-at-www2.mrbrklyn.com> Resent-To: hangout-at-mrbrklyn.com X-Original-To: ruben-at-mrbrklyn.com Delivered-To: ruben-at-mrbrklyn.com Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mrbrklyn.com (Postfix) with ESMTP id 71765161151 for ; Sat, 30 May 2020 04:59:21 -0400 (EDT) Received: from localhost ([::1]:43212 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jexKq-0005ux-Eg for ruben-at-mrbrklyn.com; Sat, 30 May 2020 04:59:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45064) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jelgK-0005MQ-OQ for health-at-gnu.org; Fri, 29 May 2020 16:32:44 -0400 Received: from mail-qt1-x844.google.com ([2607:f8b0:4864:20::844]:37644) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jelgI-0005mI-Oj for health-at-gnu.org; Fri, 29 May 2020 16:32:44 -0400 Received: by mail-qt1-x844.google.com with SMTP id x29so3076208qtv.4 for ; Fri, 29 May 2020 13:32:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=Wri7Ze9pFiqTdhqPdGM1uT3nrkfI7hvv/KIdpI5Djq0=; b=qF13veD9YT/r5e1CvOggQ6M7eG8Mz0Ytj60c2g/4+JhzWxY2pmeR2nBQvvMd4D38/Z AiF/cgduxvD3r48Fap+Z7j3TuAgruq7rrlr6hA/1tkpSxIGC4Dd59PDCP8dL71222m/8 26IXJ2P/ra5pf0Y+7lh3QK6k3BPtUrpgvEjwx60c9wl7y+BW5O2WaXif0/EnqCOq+wjN 196TRK0kYQm7bLllpQhz5mFztp5fJrh18duJZTV+W1KxQ68VKBrNCfcwHYUZyIDsxLmZ wXWS4omKqlBvv5cWA4jy81/T+1indlh5I05bicAy36bAczX26yIuODUMGse7WdR1RI0T yl+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=Wri7Ze9pFiqTdhqPdGM1uT3nrkfI7hvv/KIdpI5Djq0=; b=XUA4XVtVll+/f6vG3wU01lo7Dfx7phMpgqMo/jqw3EAgvzs3it/yuUiJNKmz2cQWuT 09oa6lNTMylq7qwlVv47vx16/J2ukZxnU60BqxC6stE22yY4boEuyKNS7vsxoiDtNKE6 iRk/fgb6bqXmx+VPnM6nOI7WasAyfTyYJ71y/rRKut0q/kX5LHVTDEb4E0MKJjtJOe2x eqLbjWFWDKhQr+f3PkUIwhJLFdOI0h4TyrVQxWq96zDSwJ25QMOoryfNtcEGWbI4Jn+z G0AnnOhnO9irudx4n/QoKcnz2gXCLeuxqAHUbXZws2RF2aDGP4V5jXZGKun1/nmQaTCd x9Qg== X-Gm-Message-State: AOAM532/u1zpOp756bFplmeQeCLyKjlq4ZwQoBXMIWydtR9zhFkFnbG8 qQ4VSc+3c5qpe8O4yWtHbI7abUGfN+JYsKBoygjMpsLWuwE= X-Google-Smtp-Source: ABdhPJxSjUMP8P71/ZRmAn6TU4ajDNJsOgxeBVzzO3AZrZsEyI66lffKved13jKH0DFRHWZ7Hl8J/wO5OiE/q7FrSuQ= X-Received: by 2002:ac8:6118:: with SMTP id a24mr10950821qtm.30.1590784350977; Fri, 29 May 2020 13:32:30 -0700 (PDT) MIME-Version: 1.0 From: ronald munjoma Date: Fri, 29 May 2020 22:31:50 +0200 Message-ID: To: health Received-SPF: pass client-ip=2607:f8b0:4864:20::844; envelope-from=simbiso-at-gmail.com; helo=mail-qt1-x844.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-Mailman-Approved-At: Sat, 30 May 2020 04:59:06 -0400 X-BeenThere: health-at-gnu.org X-Mailman-Version: 2.1.23 Precedence: list Subject: [Hangout - NYLXS] [Health] 3.6.3 to 3.6.4 Database upgrade step throws Missing dependencies: webdav calendar error X-BeenThere: hangout-at-nylxs.com List-Id: NYLXS Tech Talk and Politics List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: General GNU Health discussion and help Content-Type: multipart/mixed; boundary="===============1461887856==" Errors-To: hangout-bounces-at-nylxs.com Sender: "Hangout"
--===============1461887856== Content-Type: multipart/related; boundary="00000000000027b64a05a6cf5832"
--00000000000027b64a05a6cf5832 Content-Type: multipart/alternative; boundary="00000000000027b64805a6cf5831"
--00000000000027b64805a6cf5831 Content-Type: text/plain; charset="UTF-8"
Hi,
Updating GNU Health 3.6.3 to 3.6.4 running the database upgrade step throws below error
gnuhealth-at-osboxes:~/gnuhealth/tryton/server/trytond-5.0.23/bin $ ./trytond-admin --all --database=health Traceback (most recent call last): File "./trytond-admin", line 21, in admin.run(options) File "/home/gnuhealth/gnuhealth/tryton/server/trytond-5.0.23/trytond/admin.py", line 54, in run activatedeps=options.activatedeps) File "/home/gnuhealth/gnuhealth/tryton/server/trytond-5.0.23/trytond/pool.py", line 149, in init self.start() File "/home/gnuhealth/gnuhealth/tryton/server/trytond-5.0.23/trytond/pool.py", line 102, in start register_classes() File "/home/gnuhealth/gnuhealth/tryton/server/trytond-5.0.23/trytond/modules/__init__.py", line 323, in register_classes for node in create_graph(get_module_list()): File "/home/gnuhealth/gnuhealth/tryton/server/trytond-5.0.23/trytond/modules/__init__.py", line 159, in create_graph raise MissingDependenciesException(list(missing)) trytond.exceptions.MissingDependenciesException: Missing dependencies: webdav calendar gnuhealth-at-osboxes:~/gnuhealth/tryton/server/trytond-5.0.23/bin $
-- Best and Regards Ronald Munjoma +263 775 625 283
[image: image]
Ronald Munjoma [image: image] about.me/ronaldmunjoma
--00000000000027b64805a6cf5831 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
rrow,sans-serif">Hi, :arial narrow,sans-serif">
ont-family:arial narrow,sans-serif">Updating GNU Health 3.6.3 to 3.6.4 runn= ing the database upgrade step throws below error efault" style=3D"font-family:arial narrow,sans-serif">
=3D"gmail_default" style=3D"font-family:arial narrow,sans-serif">gnuhealth-at-= osboxes:~/gnuhealth/tryton/server/trytond-5.0.23/bin $ ./trytond-admin --al= l --database=3Dhealth Traceback (most recent call last): =C2=A0 File = "./trytond-admin", line 21, in <module> =C2=A0 =C2=A0 ad= min.run(options) =C2=A0 File "/home/gnuhealth/gnuhealth/tryton/serv= er/trytond-5.0.23/trytond/admin.py", line 54, in run =C2=A0 =C2=A0 = activatedeps=3Doptions.activatedeps) =C2=A0 File "/home/gnuhealth/g= nuhealth/tryton/server/trytond-5.0.23/trytond/pool.py", line 149, in i= nit =C2=A0 =C2=A0 self.start() =C2=A0 File "/home/gnuhealth/gnuh= ealth/tryton/server/trytond-5.0.23/trytond/pool.py", line 102, in star= t =C2=A0 =C2=A0 register_classes() =C2=A0 File "/home/gnuhealth/= gnuhealth/tryton/server/trytond-5.0.23/trytond/modules/__init__.py", l= ine 323, in register_classes =C2=A0 =C2=A0 for node in create_graph(get_= module_list()): =C2=A0 File "/home/gnuhealth/gnuhealth/tryton/serve= r/trytond-5.0.23/trytond/modules/__init__.py", line 159, in create_gra= ph =C2=A0 =C2=A0 raise MissingDependenciesException(list(missing)) tr= ytond.exceptions.MissingDependenciesException: Missing dependencies: webdav= calendar gnuhealth-at-osboxes:~/gnuhealth/tryton/server/trytond-5.0.23/bin= $=C2=A0
-- nature" data-smartmail=3D"gmail_signature"> =3D"ltr"> al narrow, sans-serif">Best and Regards ly:arial;font-size:small">Ronald Mu= njoma ce=3D"arial narrow, sans-serif">+263 775 625 283 font-family:arial;font-size:small"> llspacing=3D"0" style=3D"margin:0px;padding:0px;border:0px;outline:0px;font= -size:14px;font-family:proxima-nova-1,proxima-nova-2,Tahoma,Helvetica,Verda= na,sans-serif;vertical-align:baseline;border-spacing:0px;color:rgb(51,51,51= );line-height:18.2px">line:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertica= l-align:baseline">x;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align= :baseline">it;font-size:0px;font-family:inherit;vertical-align:baseline;width:auto;hei= ght:30px">=C2=A0 | tline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertic= al-align:baseline">le:inherit;font-family:inherit;vertical-align:baseline;width:auto">le=3D"margin:0px;padding:0px;border:0px;outline:0px;font-weight:inherit;fon= t-style:inherit;font-family:inherit;vertical-align:baseline;line-height:0">= n:0px;padding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inh= erit;font-family:inherit;vertical-align:baseline;color:rgb(43,130,173);text= -decoration:none;display:inline-block" target=3D"_blank">" cellpadding=3D"0" cellspacing=3D"0" style=3D"margin:0px;padding:0px;borde= r:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inheri= t;vertical-align:baseline;border-spacing:0px">dding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inherit;fon= t-family:inherit;vertical-align:baseline">px;border:0px;outline:0px;font-weight:inherit;font-style:inherit;font-famil= y:inherit;vertical-align:baseline">=3D"padding:0px;border:0px;outline:0px;font-style:inherit;font-family:inher= it;vertical-align:top;width:48px;line-height:1">nvkzs0" alt=3D"image"> :0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit= ;vertical-align:baseline"> /signature/me-badge.png" alt=3D"" width=3D"48" height=3D"48" style=3D"margi= n:0px;padding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inh= erit;font-family:inherit;vertical-align:baseline;display:block"> | =
e:0px;font-family:inherit;vertical-align:baseline;width:8px">=C2=A0 | align=3D"left" valign=3D"middle" style=3D"padding:0px;border:0px;outline:0= px;font-style:inherit;font-family:inherit;vertical-align:middle;width:auto;= height:48px;line-height:1">outline:0px;font-weight:bold;font-style:inherit;font-size:18px;font-family:= proxima-nova-1,Proxima-Nova,Helvetica,Arial,sans-serif;vertical-align:basel= ine;color:rgb(51,51,51)">Ronald Munjoma px;padding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inheri= t;font-size:12px;font-family:proxima-nova-1,Proxima-Nova,Helvetica,Arial,sa= ns-serif;vertical-align:baseline"> "image"> about.me/ronaldmunjoma | >=C2=A0 | utline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;verti= cal-align:baseline">yle:inherit;font-size:0px;font-family:inherit;vertical-align:baseline;width= :auto;height:20px">dth=3D"1" height=3D"1" style=3D"margin:0px;padding:0px;border:0px;outline:0= px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-alig= n:baseline;overflow:hidden"> | iv> --00000000000027b64805a6cf5831-- --00000000000027b64a05a6cf5832 Content-Type: text/html; charset="US-ASCII"; name=image Content-Disposition: inline; filename=image Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: ii_kasnvl4f1
PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZW4tR0IiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9 IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij48dGl0bGU+ R21haWw8L3RpdGxlPjxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0i SUU9ZWRnZSI+PG1ldGEgbmFtZT0iZ29vZ2xlIiB2YWx1ZT0ibm90cmFuc2xhdGUiPjxtZXRhIG5h bWU9ImFwcGxpY2F0aW9uLW5hbWUiIGNvbnRlbnQ9IkdtYWlsIj48bWV0YSBuYW1lPSJkZXNjcmlw dGlvbiIgY29udGVudD0iR29vZ2xlJiMzOTtzIGFwcHJvYWNoIHRvIGVtYWlsIj48bWV0YSBuYW1l PSJhcHBsaWNhdGlvbi11cmwiIGNvbnRlbnQ9Imh0dHBzOi8vbWFpbC5nb29nbGUuY29tL21haWwv dS8wIj48bWV0YSBuYW1lPSJnb29nbGUiIGNvbnRlbnQ9Im5vdHJhbnNsYXRlIj48bGluayByZWw9 ImNhbm9uaWNhbCIgaHJlZj0iaHR0cHM6Ly9tYWlsLmdvb2dsZS5jb20vbWFpbC8iLz48bGluayBy ZWw9InNob3J0Y3V0IGljb24iIGhyZWY9Imh0dHBzOi8vc3NsLmdzdGF0aWMuY29tL3VpL3YxL2lj b25zL21haWwvaW1hZ2VzL2Zhdmljb241LmljbyIgdHlwZT0iaW1hZ2UveC1pY29uIj48bGluayBy ZWw9ImFsdGVybmF0ZSIgdHlwZT0iYXBwbGljYXRpb24vYXRvbSt4bWwiIHRpdGxlPSJHbWFpbCBB dG9tIEZlZWQiIGhyZWY9ImZlZWQvYXRvbSI+PGxpbmsgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0 IiBocmVmPSIvXy9zY3MvbWFpbC1zdGF0aWMvXy9qcy9rPWdtYWlsLm1haW4uZW5fR0IuT1FaT3lN WVZhYmsuTy9hbT0xLXZ2U1hnZy1DTHdaV2NFTkFBd1BvQlRxZEktd0g5UlN0Tl9lQ1Q4SHBNSDRD RUdIb0Q5RC1vREFBQUFBQUFBQUFBQUFBQUFBQUNBUFNCREpRL2Q9MS9pbT0xL2RnPTAvY3Q9emdt cy9ycz1BSEdXcTlBTHJQWFRoeEtoNFp6TjZwR2RCM2V1Q3dfazdBL209YiIgbm9uY2U9IjJzMGVa MDNWVmNQY1J0UVFSd2I3ZEEiPjxsaW5rIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIgaHJlZj0i L18vc2NzL21haWwtc3RhdGljL18vanMvaz1nbWFpbC5tYWluLmVuX0dCLk9RWk95TVlWYWJrLk8v YW09MS12dlNYZ2ctQ0x3WldjRU5BQXdQb0JUcWRJLXdIOVJTdE5fZUNUOEhwTUg0Q0VHSG9EOUQt b0RBQUFBQUFBQUFBQUFBQUFBQUFDQVBTQkRKUS9kPTEvZXhtPWIvZWQ9MS9pbT0xL2RnPTAvY3Q9 emdtcy9ycz1BSEdXcTlBTHJQWFRoeEtoNFp6TjZwR2RCM2V1Q3dfazdBL209YSIgbm9uY2U9IjJz MGVaMDNWVmNQY1J0UVFSd2I3ZEEiPjxsaW5rIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIgaHJl Zj0iL18vc2NzL21haWwtc3RhdGljL18vanMvaz1nbWFpbC5tYWluLmVuX0dCLk9RWk95TVlWYWJr Lk8vYW09MS12dlNYZ2ctQ0x3WldjRU5BQXdQb0JUcWRJLXdIOVJTdE5fZUNUOEhwTUg0Q0VHSG9E OUQtb0RBQUFBQUFBQUFBQUFBQUFBQUFDQVBTQkRKUS9kPTEvZXhtPWEsYi9lZD0xL2ltPTEvZGc9 MC9jdD16Z21zL3JzPUFIR1dxOUFMclBYVGh4S2g0WnpONnBHZEIzZXVDd19rN0EvbT1tLG1faSxp MjBqZmQsbEtyV3hjLGhralhKLGdZT2w2ZCxIWExqSWIsREw4alplLHhhUWN5ZSxvUm1IdCxFMVAw a2QscEU5MmxiLHYyZUVCYyIgbm9uY2U9IjJzMGVaMDNWVmNQY1J0UVFSd2I3ZEEiPjxsaW5rIHJl bD0icHJlbG9hZCIgYXM9InNjcmlwdCIgaHJlZj0iL18vc2NzL21haWwtc3RhdGljL18vanMvaz1n bWFpbC5tYWluLmVuX0dCLk9RWk95TVlWYWJrLk8vYW09MS12dlNYZ2ctQ0x3WldjRU5BQXdQb0JU cWRJLXdIOVJTdE5fZUNUOEhwTUg0Q0VHSG9EOUQtb0RBQUFBQUFBQUFBQUFBQUFBQUFDQVBTQkRK US9kPTEvZXhtPURMOGpaZSxFMVAwa2QsSFhMakliLGEsYixnWU9sNmQsaGtqWEosaTIwamZkLGxL cld4YyxtLG1faSxvUm1IdCxwRTkybGIsdjJlRUJjLHhhUWN5ZS9lZD0xL2ltPTEvZGc9MC9jdD16 Z21zL3JzPUFIR1dxOUFMclBYVGh4S2g0WnpONnBHZEIzZXVDd19rN0EvbT1zcHMsbCxzcGl0LHQs aXQsYW5jIiBub25jZT0iMnMwZVowM1ZWY1BjUnRRUVJ3YjdkQSI+PHN0eWxlIHR5cGU9InRleHQv Y3NzIiBub25jZT0iMnMwZVowM1ZWY1BjUnRRUVJ3YjdkQSI+CkBmb250LWZhY2UgeyBmb250LWZh bWlseTogJ0dvb2dsZSBTYW5zJzsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdodDogNDAw OyBzcmM6IGxvY2FsKCdHb29nbGUgU2FucyBSZWd1bGFyJyksIGxvY2FsKCdHb29nbGVTYW5zLVJl Z3VsYXInKSwgdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3YxNC80VWFHckVO SHN4SmxHRHVHbzFPSWxMM0t3cDVNS2cud29mZjIpIGZvcm1hdCgnd29mZjInKTsgdW5pY29kZS1y YW5nZTogVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2OyB9IEBm b250LWZhY2UgeyBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zJzsgZm9udC1zdHlsZTogbm9ybWFs OyBmb250LXdlaWdodDogNDAwOyBzcmM6IGxvY2FsKCdHb29nbGUgU2FucyBSZWd1bGFyJyksIGxv Y2FsKCdHb29nbGVTYW5zLVJlZ3VsYXInKSwgdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29n bGVzYW5zL3YxNC80VWFHckVOSHN4SmxHRHVHbzFPSWxMM053cDVNS2cud29mZjIpIGZvcm1hdCgn d29mZjInKTsgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzRkY7IH0gQGZvbnQtZmFjZSB7IGZvbnQt ZmFtaWx5OiAnR29vZ2xlIFNhbnMnOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0 MDA7IHNyYzogbG9jYWwoJ0dvb2dsZSBTYW5zIFJlZ3VsYXInKSwgbG9jYWwoJ0dvb2dsZVNhbnMt UmVndWxhcicpLCB1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnMvdjE0LzRVYUdy RU5Ic3hKbEdEdUdvMU9JbEwzQndwNU1LZy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOyB1bmljb2Rl LXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2 OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzFFQTAtMUVGOSwgVSsyMEFCOyB9IEBmb250 LWZhY2UgeyBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zJzsgZm9udC1zdHlsZTogbm9ybWFsOyBm b250LXdlaWdodDogNDAwOyBzcmM6IGxvY2FsKCdHb29nbGUgU2FucyBSZWd1bGFyJyksIGxvY2Fs KCdHb29nbGVTYW5zLVJlZ3VsYXInKSwgdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVz YW5zL3YxNC80VWFHckVOSHN4SmxHRHVHbzFPSWxMM0F3cDVNS2cud29mZjIpIGZvcm1hdCgnd29m ZjInKTsgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyNEYsIFUrMDI1OSwgVSsxRTAwLTFFRkYsIFUr MjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3 MjAtQTdGRjsgfSBAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICdHb29nbGUgU2Fucyc7IGZvbnQt c3R5bGU6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgc3JjOiBsb2NhbCgnR29vZ2xlIFNhbnMg UmVndWxhcicpLCBsb2NhbCgnR29vZ2xlU2Fucy1SZWd1bGFyJyksIHVybCgvL2ZvbnRzLmdzdGF0 aWMuY29tL3MvZ29vZ2xlc2Fucy92MTQvNFVhR3JFTkhzeEpsR0R1R28xT0lsTDNPd3A0LndvZmYy KSBmb3JtYXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUr MDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSsyMDAwLTIw NkYsIFUrMjA3NCwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIx NSwgVStGRUZGLCBVK0ZGRkQ7IH0gQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNh bnMnOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA1MDA7IHNyYzogbG9jYWwoJ0dv b2dsZSBTYW5zIE1lZGl1bScpLCBsb2NhbCgnR29vZ2xlU2Fucy1NZWRpdW0nKSwgdXJsKC8vZm9u dHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3YxNC80VWFickVOSHN4SmxHRHVHbzFPSWxMVTk0 WXQzQ3daLVB3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFuZ2U6IFUrMDQwMC0w NDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsgfSBAZm9udC1mYWNlIHsgZm9u dC1mYW1pbHk6ICdHb29nbGUgU2Fucyc7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC13ZWlnaHQ6 IDUwMDsgc3JjOiBsb2NhbCgnR29vZ2xlIFNhbnMgTWVkaXVtJyksIGxvY2FsKCdHb29nbGVTYW5z LU1lZGl1bScpLCB1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnMvdjE0LzRVYWJy RU5Ic3hKbEdEdUdvMU9JbExVOTRZdHdDd1otUHcud29mZjIpIGZvcm1hdCgnd29mZjInKTsgdW5p Y29kZS1yYW5nZTogVSswMzcwLTAzRkY7IH0gQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnR29v Z2xlIFNhbnMnOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA1MDA7IHNyYzogbG9j YWwoJ0dvb2dsZSBTYW5zIE1lZGl1bScpLCBsb2NhbCgnR29vZ2xlU2Fucy1NZWRpdW0nKSwgdXJs KC8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3YxNC80VWFickVOSHN4SmxHRHVHbzFP SWxMVTk0WXQ4Q3daLVB3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFuZ2U6IFUr MDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAt MDFBMSwgVSswMUFGLTAxQjAsIFUrMUVBMC0xRUY5LCBVKzIwQUI7IH0gQGZvbnQtZmFjZSB7IGZv bnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMnOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0 OiA1MDA7IHNyYzogbG9jYWwoJ0dvb2dsZSBTYW5zIE1lZGl1bScpLCBsb2NhbCgnR29vZ2xlU2Fu cy1NZWRpdW0nKSwgdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3YxNC80VWFi ckVOSHN4SmxHRHVHbzFPSWxMVTk0WXQ5Q3daLVB3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7IHVu aWNvZGUtcmFuZ2U6IFUrMDEwMC0wMjRGLCBVKzAyNTksIFUrMUUwMC0xRUZGLCBVKzIwMjAsIFUr MjBBMC0yMEFCLCBVKzIwQUQtMjBDRiwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7 IH0gQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMnOyBmb250LXN0eWxlOiBu b3JtYWw7IGZvbnQtd2VpZ2h0OiA1MDA7IHNyYzogbG9jYWwoJ0dvb2dsZSBTYW5zIE1lZGl1bScp LCBsb2NhbCgnR29vZ2xlU2Fucy1NZWRpdW0nKSwgdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9n b29nbGVzYW5zL3YxNC80VWFickVOSHN4SmxHRHVHbzFPSWxMVTk0WXR6Q3dZLndvZmYyKSBmb3Jt YXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0w MTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSsyMDAwLTIwNkYsIFUr MjA3NCwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStG RUZGLCBVK0ZGRkQ7IH0gQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnUHJvZHVjdCBTYW5zJzsg Zm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBzcmM6IGxvY2FsKCdQcm9kdWN0 IFNhbnMnKSwgbG9jYWwoJ1Byb2R1Y3RTYW5zLVJlZ3VsYXInKSwgdXJsKC8vZm9udHMuZ3N0YXRp Yy5jb20vcy9wcm9kdWN0c2Fucy92OS9weGlEeXBRa290MVRuRmhzRk1PZkdTaFZHZGVPY0VnLndv ZmYyKSBmb3JtYXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMjRGLCBVKzAyNTks IFUrMUUwMC0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDRiwgVSsyMTEzLCBV KzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7IH0gQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnUHJv ZHVjdCBTYW5zJzsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBzcmM6IGxv Y2FsKCdQcm9kdWN0IFNhbnMnKSwgbG9jYWwoJ1Byb2R1Y3RTYW5zLVJlZ3VsYXInKSwgdXJsKC8v Zm9udHMuZ3N0YXRpYy5jb20vcy9wcm9kdWN0c2Fucy92OS9weGlEeXBRa290MVRuRmhzRk1PZkdT aFZGOWVPLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZG LCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJE QywgVSsyMDAwLTIwNkYsIFUrMjA3NCwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBV KzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7IH0gQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5 OiAnUm9ib3RvJzsgZm9udC1zdHlsZTogaXRhbGljOyBmb250LXdlaWdodDogNDAwOyBzcmM6IGxv Y2FsKCdSb2JvdG8gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tSXRhbGljJyksIHVybCgvL2ZvbnRz LmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YxOC9LRk9rQ25xRXU5MkZyMU11NTF4Rkl6SUZLdy53b2Zm MikgZm9ybWF0KCd3b2ZmMicpOyB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFD ODgsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsgfSBAZm9u dC1mYWNlIHsgZm9udC1mYW1pbHk6ICdSb2JvdG8nOyBmb250LXN0eWxlOiBpdGFsaWM7IGZvbnQt d2VpZ2h0OiA0MDA7IHNyYzogbG9jYWwoJ1JvYm90byBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1J dGFsaWMnKSwgdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tGT2tDbnFFdTky RnIxTXU1MXhNSXpJRkt3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFuZ2U6IFUr MDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsgfSBAZm9udC1mYWNl IHsgZm9udC1mYW1pbHk6ICdSb2JvdG8nOyBmb250LXN0eWxlOiBpdGFsaWM7IGZvbnQtd2VpZ2h0 OiA0MDA7IHNyYzogbG9jYWwoJ1JvYm90byBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1JdGFsaWMn KSwgdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tGT2tDbnFFdTkyRnIxTXU1 MXhFSXpJRkt3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0x RkZGOyB9IEBmb250LWZhY2UgeyBmb250LWZhbWlseTogJ1JvYm90byc7IGZvbnQtc3R5bGU6IGl0 YWxpYzsgZm9udC13ZWlnaHQ6IDQwMDsgc3JjOiBsb2NhbCgnUm9ib3RvIEl0YWxpYycpLCBsb2Nh bCgnUm9ib3RvLUl0YWxpYycpLCB1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92MTgv S0ZPa0NucUV1OTJGcjFNdTUxeExJeklGS3cud29mZjIpIGZvcm1hdCgnd29mZjInKTsgdW5pY29k ZS1yYW5nZTogVSswMzcwLTAzRkY7IH0gQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnUm9ib3Rv JzsgZm9udC1zdHlsZTogaXRhbGljOyBmb250LXdlaWdodDogNDAwOyBzcmM6IGxvY2FsKCdSb2Jv dG8gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tSXRhbGljJyksIHVybCgvL2ZvbnRzLmdzdGF0aWMu Y29tL3Mvcm9ib3RvL3YxOC9LRk9rQ25xRXU5MkZyMU11NTF4SEl6SUZLdy53b2ZmMikgZm9ybWF0 KCd3b2ZmMicpOyB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEy OC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzFFQTAtMUVG OSwgVSsyMEFCOyB9IEBmb250LWZhY2UgeyBmb250LWZhbWlseTogJ1JvYm90byc7IGZvbnQtc3R5 bGU6IGl0YWxpYzsgZm9udC13ZWlnaHQ6IDQwMDsgc3JjOiBsb2NhbCgnUm9ib3RvIEl0YWxpYycp LCBsb2NhbCgnUm9ib3RvLUl0YWxpYycpLCB1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90 by92MTgvS0ZPa0NucUV1OTJGcjFNdTUxeEdJeklGS3cud29mZjIpIGZvcm1hdCgnd29mZjInKTsg dW5pY29kZS1yYW5nZTogVSswMTAwLTAyNEYsIFUrMDI1OSwgVSsxRTAwLTFFRkYsIFUrMjAyMCwg VSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdG RjsgfSBAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICdSb2JvdG8nOyBmb250LXN0eWxlOiBpdGFs aWM7IGZvbnQtd2VpZ2h0OiA0MDA7IHNyYzogbG9jYWwoJ1JvYm90byBJdGFsaWMnKSwgbG9jYWwo J1JvYm90by1JdGFsaWMnKSwgdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tG T2tDbnFFdTkyRnIxTXU1MXhJSXpJLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFu Z2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2 LCBVKzAyREEsIFUrMDJEQywgVSsyMDAwLTIwNkYsIFUrMjA3NCwgVSsyMEFDLCBVKzIxMjIsIFUr MjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7IH0gQGZvbnQtZmFj ZSB7IGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdo dDogNDAwOyBzcmM6IGxvY2FsKCdSb2JvdG8gUmVndWxhcicpLCBsb2NhbCgnUm9ib3RvLVJlZ3Vs YXInKSwgdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tGT21DbnFFdTkyRnIx TXU3MnhLT3pZLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0w NTJGLCBVKzFDODAtMUM4OCwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUy RS1GRTJGOyB9IEBmb250LWZhY2UgeyBmb250LWZhbWlseTogJ1JvYm90byc7IGZvbnQtc3R5bGU6 IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgc3JjOiBsb2NhbCgnUm9ib3RvIFJlZ3VsYXInKSwg bG9jYWwoJ1JvYm90by1SZWd1bGFyJyksIHVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3Rv L3YxOC9LRk9tQ25xRXU5MkZyMU11NW14S096WS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOyB1bmlj b2RlLXJhbmdlOiBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7 IH0gQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsgZm9udC1zdHlsZTogbm9ybWFs OyBmb250LXdlaWdodDogNDAwOyBzcmM6IGxvY2FsKCdSb2JvdG8gUmVndWxhcicpLCBsb2NhbCgn Um9ib3RvLVJlZ3VsYXInKSwgdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tG T21DbnFFdTkyRnIxTXU3bXhLT3pZLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFu Z2U6IFUrMUYwMC0xRkZGOyB9IEBmb250LWZhY2UgeyBmb250LWZhbWlseTogJ1JvYm90byc7IGZv bnQtc3R5bGU6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgc3JjOiBsb2NhbCgnUm9ib3RvIFJl Z3VsYXInKSwgbG9jYWwoJ1JvYm90by1SZWd1bGFyJyksIHVybCgvL2ZvbnRzLmdzdGF0aWMuY29t L3Mvcm9ib3RvL3YxOC9LRk9tQ25xRXU5MkZyMU11NFd4S096WS53b2ZmMikgZm9ybWF0KCd3b2Zm MicpOyB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDNGRjsgfSBAZm9udC1mYWNlIHsgZm9udC1mYW1p bHk6ICdSb2JvdG8nOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IHNyYzog bG9jYWwoJ1JvYm90byBSZWd1bGFyJyksIGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLCB1cmwoLy9m b250cy5nc3RhdGljLmNvbS9zL3JvYm90by92MTgvS0ZPbUNucUV1OTJGcjFNdTdXeEtPelkud29m ZjIpIGZvcm1hdCgnd29mZjInKTsgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0w MTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwg VSsxRUEwLTFFRjksIFUrMjBBQjsgfSBAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICdSb2JvdG8n OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IHNyYzogbG9jYWwoJ1JvYm90 byBSZWd1bGFyJyksIGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLCB1cmwoLy9mb250cy5nc3RhdGlj LmNvbS9zL3JvYm90by92MTgvS0ZPbUNucUV1OTJGcjFNdTdHeEtPelkud29mZjIpIGZvcm1hdCgn d29mZjInKTsgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyNEYsIFUrMDI1OSwgVSsxRTAwLTFFRkYs IFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBV K0E3MjAtQTdGRjsgfSBAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICdSb2JvdG8nOyBmb250LXN0 eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IHNyYzogbG9jYWwoJ1JvYm90byBSZWd1bGFy JyksIGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLCB1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3Jv Ym90by92MTgvS0ZPbUNucUV1OTJGcjFNdTRteEsud29mZjIpIGZvcm1hdCgnd29mZjInKTsgdW5p Y29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJD LCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUr MjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsgfSBA Zm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICdSb2JvdG8nOyBmb250LXN0eWxlOiBub3JtYWw7IGZv bnQtd2VpZ2h0OiA1MDA7IHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0nKSwgbG9jYWwoJ1JvYm90 by1NZWRpdW0nKSwgdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tGT2xDbnFF dTkyRnIxTW1FVTlmQ1JjNEVzQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOyB1bmljb2RlLXJhbmdl OiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDODgsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1B NjlGLCBVK0ZFMkUtRkUyRjsgfSBAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICdSb2JvdG8nOyBm b250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA1MDA7IHNyYzogbG9jYWwoJ1JvYm90byBN ZWRpdW0nKSwgbG9jYWwoJ1JvYm90by1NZWRpdW0nKSwgdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20v cy9yb2JvdG8vdjE4L0tGT2xDbnFFdTkyRnIxTW1FVTlmQUJjNEVzQS53b2ZmMikgZm9ybWF0KCd3 b2ZmMicpOyB1bmljb2RlLXJhbmdlOiBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0w NEIxLCBVKzIxMTY7IH0gQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsgZm9udC1z dHlsZTogbm9ybWFsOyBmb250LXdlaWdodDogNTAwOyBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVt JyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtJyksIHVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9i b3RvL3YxOC9LRk9sQ25xRXU5MkZyMU1tRVU5ZkNCYzRFc0Eud29mZjIpIGZvcm1hdCgnd29mZjIn KTsgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7IH0gQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5 OiAnUm9ib3RvJzsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdodDogNTAwOyBzcmM6IGxv Y2FsKCdSb2JvdG8gTWVkaXVtJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtJyksIHVybCgvL2ZvbnRz LmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YxOC9LRk9sQ25xRXU5MkZyMU1tRVU5ZkJ4YzRFc0Eud29m ZjIpIGZvcm1hdCgnd29mZjInKTsgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzRkY7IH0gQGZvbnQt ZmFjZSB7IGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdl aWdodDogNTAwOyBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtJyksIGxvY2FsKCdSb2JvdG8tTWVk aXVtJyksIHVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YxOC9LRk9sQ25xRXU5MkZy MU1tRVU5ZkN4YzRFc0Eud29mZjIpIGZvcm1hdCgnd29mZjInKTsgdW5pY29kZS1yYW5nZTogVSsw MTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0w MUExLCBVKzAxQUYtMDFCMCwgVSsxRUEwLTFFRjksIFUrMjBBQjsgfSBAZm9udC1mYWNlIHsgZm9u dC1mYW1pbHk6ICdSb2JvdG8nOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA1MDA7 IHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0nKSwgbG9jYWwoJ1JvYm90by1NZWRpdW0nKSwgdXJs KC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tGT2xDbnFFdTkyRnIxTW1FVTlmQ2hj NEVzQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOyB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDI0Riwg VSswMjU5LCBVKzFFMDAtMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQ0YsIFUr MjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOyB9IEBmb250LWZhY2UgeyBmb250LWZhbWls eTogJ1JvYm90byc7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDUwMDsgc3JjOiBs b2NhbCgnUm9ib3RvIE1lZGl1bScpLCBsb2NhbCgnUm9ib3RvLU1lZGl1bScpLCB1cmwoLy9mb250 cy5nc3RhdGljLmNvbS9zL3JvYm90by92MTgvS0ZPbENucUV1OTJGcjFNbUVVOWZCQmM0LndvZmYy KSBmb3JtYXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUr MDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSsyMDAwLTIw NkYsIFUrMjA3NCwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIx NSwgVStGRUZGLCBVK0ZGRkQ7IH0gQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsg Zm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdodDogNzAwOyBzcmM6IGxvY2FsKCdSb2JvdG8g Qm9sZCcpLCBsb2NhbCgnUm9ib3RvLUJvbGQnKSwgdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9y b2JvdG8vdjE4L0tGT2xDbnFFdTkyRnIxTW1XVWxmQ1JjNEVzQS53b2ZmMikgZm9ybWF0KCd3b2Zm MicpOyB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDODgsIFUrMjBCNCwgVSsy REUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsgfSBAZm9udC1mYWNlIHsgZm9udC1m YW1pbHk6ICdSb2JvdG8nOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA3MDA7IHNy YzogbG9jYWwoJ1JvYm90byBCb2xkJyksIGxvY2FsKCdSb2JvdG8tQm9sZCcpLCB1cmwoLy9mb250 cy5nc3RhdGljLmNvbS9zL3JvYm90by92MTgvS0ZPbENucUV1OTJGcjFNbVdVbGZBQmM0RXNBLndv ZmYyKSBmb3JtYXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFuZ2U6IFUrMDQwMC0wNDVGLCBVKzA0OTAt MDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsgfSBAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICdS b2JvdG8nOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA3MDA7IHNyYzogbG9jYWwo J1JvYm90byBCb2xkJyksIGxvY2FsKCdSb2JvdG8tQm9sZCcpLCB1cmwoLy9mb250cy5nc3RhdGlj LmNvbS9zL3JvYm90by92MTgvS0ZPbENucUV1OTJGcjFNbVdVbGZDQmM0RXNBLndvZmYyKSBmb3Jt YXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOyB9IEBmb250LWZhY2UgeyBm b250LWZhbWlseTogJ1JvYm90byc7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDcw MDsgc3JjOiBsb2NhbCgnUm9ib3RvIEJvbGQnKSwgbG9jYWwoJ1JvYm90by1Cb2xkJyksIHVybCgv L2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YxOC9LRk9sQ25xRXU5MkZyMU1tV1VsZkJ4YzRF c0Eud29mZjIpIGZvcm1hdCgnd29mZjInKTsgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzRkY7IH0g QGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsgZm9udC1zdHlsZTogbm9ybWFsOyBm b250LXdlaWdodDogNzAwOyBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCcpLCBsb2NhbCgnUm9ib3Rv LUJvbGQnKSwgdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tGT2xDbnFFdTky RnIxTW1XVWxmQ3hjNEVzQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOyB1bmljb2RlLXJhbmdlOiBV KzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEw LTAxQTEsIFUrMDFBRi0wMUIwLCBVKzFFQTAtMUVGOSwgVSsyMEFCOyB9IEBmb250LWZhY2UgeyBm b250LWZhbWlseTogJ1JvYm90byc7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDcw MDsgc3JjOiBsb2NhbCgnUm9ib3RvIEJvbGQnKSwgbG9jYWwoJ1JvYm90by1Cb2xkJyksIHVybCgv L2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YxOC9LRk9sQ25xRXU5MkZyMU1tV1VsZkNoYzRF c0Eud29mZjIpIGZvcm1hdCgnd29mZjInKTsgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyNEYsIFUr MDI1OSwgVSsxRTAwLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzIx MTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsgfSBAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6 ICdSb2JvdG8nOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA3MDA7IHNyYzogbG9j YWwoJ1JvYm90byBCb2xkJyksIGxvY2FsKCdSb2JvdG8tQm9sZCcpLCB1cmwoLy9mb250cy5nc3Rh dGljLmNvbS9zL3JvYm90by92MTgvS0ZPbENucUV1OTJGcjFNbVdVbGZCQmM0LndvZmYyKSBmb3Jt YXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0w MTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSsyMDAwLTIwNkYsIFUr MjA3NCwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStG RUZGLCBVK0ZGRkQ7IH0KPC9zdHlsZT48c3R5bGUgbm9uY2U9IjJzMGVaMDNWVmNQY1J0UVFSd2I3 ZEEiPgpib2R5e21hcmdpbjowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9IGJvZHksdGQsaW5wdXQs dGV4dGFyZWEsc2VsZWN0LCNsb2FkaW5ne2ZvbnQtZmFtaWx5OmFyaWFsLHNhbnMtc2VyaWZ9IGlu cHV0LHRleHRhcmVhLHNlbGVjdHtmb250LXNpemU6MTAwJX0gI2xvYWRpbmd7cG9zaXRpb246YWJz b2x1dGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjEwMDA7YmFja2dyb3VuZC1jb2xv cjojZmZmfSAubXNneyBjb2xvcjogIzc1NzU3NTsgZm9udC1zaXplOiAyMHB4OyBsZXR0ZXItc3Bh Y2luZzogLjJweDsgbGluZS1oZWlnaHQ6IDIwcHg7IHRleHQtYWxpZ246IGNlbnRlciB9ICNubHB0 eyBhbmltYXRpb246IGEtcyAuNXMgMi41cyAxIGZvcndhcmRzOyBiYWNrZ3JvdW5kLWNvbG9yOiAj ZjFmMWYxOyBoZWlnaHQ6IDRweDsgbWFyZ2luOiA1NnB4IGF1dG8gMjBweDsgb3BhY2l0eTogMDsg b3ZlcmZsb3c6IGhpZGRlbjsgcG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMzAwcHggfSAjbmxw dDo6YmVmb3JleyBhbmltYXRpb246IGEtbGIgMjBzIDNzIGxpbmVhciBmb3J3YXJkczsgYmFja2dy b3VuZC1jb2xvcjogI2RiNDQzNzsgY29udGVudDogJyc7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6 IDEwMCU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMDBweCk7 IHdpZHRoOiAxMDAlIH0gQGtleWZyYW1lcyBhLWxieyAwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgt MzAwcHgpfTUle3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yNDBweCl9MTUle3RyYW5zZm9ybTp0cmFu c2xhdGVYKC0zMHB4KX0yNSV7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTMwcHgpfTMwJXt0cmFuc2Zv cm06dHJhbnNsYXRlWCgtMjBweCl9NDUle3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMHB4KX01MCV7 dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTE1cHgpfTY1JXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTVw eCl9NzAle3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMHB4KX05NSV7dHJhbnNmb3JtOnRyYW5zbGF0 ZVgoLTEwcHgpfTEwMCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTVweCl9IH0gQGtleWZyYW1lcyBh LXN7IDEwMCV7b3BhY2l0eToxfSB9IEBrZXlmcmFtZXMgYS1oeyAxMDAle29wYWNpdHk6MH0gfSBA a2V5ZnJhbWVzIGEtbnR7IDEwMCV7dHJhbnNmb3JtOm5vbmV9IH0gQGtleWZyYW1lcyBhLWV7IDQz JXthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguOCwwLC4yLDEpO3RyYW5z Zm9ybTpzY2FsZSguNzUpfSA2MCV7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXpp ZXIoLjgsMCwxLDEpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xNnB4KX0gNzcle2FuaW1hdGlvbi10 aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4xNiwwLC4yLDEpO3RyYW5zZm9ybTpub25lfSA4 OSV7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjgsMCwxLDEpO3RyYW5z Zm9ybTp0cmFuc2xhdGVZKC01cHgpfSAxMDAle3RyYW5zZm9ybTpub25lfSB9IEBrZXlmcmFtZXMg YS1lZnsgMjQle2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC44LDAsLjYs MSk7dHJhbnNmb3JtOnNjYWxlWSguNDIpfSA1MiV7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpj dWJpYy1iZXppZXIoLjYzLDAsLjIsMSk7dHJhbnNmb3JtOnNjYWxlWSguOTgpfSA4MyV7YW5pbWF0 aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjgsMCwuODQsMSk7dHJhbnNmb3JtOnNj YWxlWSguOTYpfSAxMDAle3RyYW5zZm9ybTpub25lfSB9IEBrZXlmcmFtZXMgYS1lZnN7IDI0JXth bmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguOCwwLC42LDEpO29wYWNpdHk6 LjN9IDUyJXthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNjMsMCwuMiwx KTtvcGFjaXR5Oi4wM30gODMle2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVy KC44LDAsLjg0LDEpO29wYWNpdHk6LjA1fSAxMDAle29wYWNpdHk6MH0gfSBAa2V5ZnJhbWVzIGEt ZXN7IDI0JXthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguOCwwLC42LDEp O3RyYW5zZm9ybTpyb3RhdGUoLTI1ZGVnKX0gNTIle2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246 Y3ViaWMtYmV6aWVyKC42MywwLC4yLDEpO3RyYW5zZm9ybTpyb3RhdGUoLTQyLjVkZWcpfSA4MyV7 YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjgsMCwuODQsMSk7dHJhbnNm b3JtOnJvdGF0ZSgtNDJkZWcpfSAxMDAle3RyYW5zZm9ybTpyb3RhdGUoLTQzZGVnKX0gfSAuaW52 ZnJ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3otaW5kZXg6LTE7d2lkdGg6MDtoZWln aHQ6MDtib3JkZXI6MH0gLm1zZ2J7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDtmb250LXNpemU6 MTJweDtmb250LXdlaWdodDpub3JtYWw7Y29sb3I6IzAwMDtwYWRkaW5nOjIwcHh9Cjwvc3R5bGU+ PHN0eWxlIG5vbmNlPSIyczBlWjAzVlZjUGNSdFFRUndiN2RBIj4KLnN1Ym1pdF9hc19saW5re2Jv cmRlcjpub25lOyBiYWNrZ3JvdW5kOm5vbmU7IGNvbG9yOmJsdWU7dGV4dC1kZWNvcmF0aW9uOnVu ZGVybGluZTsgY3Vyc29yOnBvaW50ZXI7IG1hcmdpbjowOyBwYWRkaW5nOjA7fSAuc3VibWl0X2Fz X2xpbms6YWN0aXZle2NvbG9yOnJlZDsgb3V0bGluZTowfQo8L3N0eWxlPjxzY3JpcHQgdHlwZT0i dGV4dC9qYXZhc2NyaXB0IiBub25jZT0iMnMwZVowM1ZWY1BjUnRRUVJ3YjdkQSI+Ly8gPCFbQ0RB VEFbCnZhciBHTV9TVEFSVF9USU1FPShuZXcgRGF0ZSkuZ2V0VGltZSgpO3ZhciBHTV9TT0xDRj1m YWxzZTt2YXIgR01fU1VQUE9SVEVEX0lFX1ZFUlNJT049IjExLjAiO3ZhciBHTV9TVVBQT1JURURf R0VDS09fVkVSU0lPTj0iNDYiO3ZhciBHTV9TVVBQT1JURURfQ0hST01FX1ZFUlNJT049IjQzIjt2 YXIgR01fU1VQUE9SVEVEX1NBRkFSSV9WRVJTSU9OPSI5Ijt2YXIgR01fTU9PU0VfVVJMPSI/dWlc eDNkaHRtbFx4MjZ6eVx4M2RiIjt2YXIgR01fTk9fQ09PS0lFX1VSTD0iP3ZpZXdceDNkbm9jb29r aWVzIjt2YXIgR01fQVBQX05BTUU9IkdtYWlsIjt2YXIgR01fQUNUSU9OX1RPS0VOPSJBRjZidXBQ YnJCU3R5MG9qTC05VE9tS2xORFhTZzh4VEdRIjt2YXIgR01fU1BUX0VOQUJMRUQ9InRydWUiO3Zh ciBHTV9SRlRfRU5BQkxFRD0idHJ1ZSI7dmFyIEdNX0lOSVRJQUxfUEFHRV9WSVNJQklMSVRZPWRv Y3VtZW50LnZpc2liaWxpdHlTdGF0ZTsKdmFyIEdNX0pTX1VSTFM9WyIvXy9zY3MvbWFpbC1zdGF0 aWMvXy9qcy9rXHgzZGdtYWlsLm1haW4uZW5fR0IuT1FaT3lNWVZhYmsuTy9hbVx4M2QxLXZ2U1hn Zy1DTHdaV2NFTkFBd1BvQlRxZEktd0g5UlN0Tl9lQ1Q4SHBNSDRDRUdIb0Q5RC1vREFBQUFBQUFB QUFBQUFBQUFBQUNBUFNCREpRL2RceDNkMS9pbVx4M2QxL2RnXHgzZDAvY3RceDNkemdtcy9yc1x4 M2RBSEdXcTlBTHJQWFRoeEtoNFp6TjZwR2RCM2V1Q3dfazdBL21ceDNkYiIsIi9fL3Njcy9tYWls LXN0YXRpYy9fL2pzL2tceDNkZ21haWwubWFpbi5lbl9HQi5PUVpPeU1ZVmFiay5PL2FtXHgzZDEt dnZTWGdnLUNMd1pXY0VOQUF3UG9CVHFkSS13SDlSU3ROX2VDVDhIcE1INENFR0hvRDlELW9EQUFB QUFBQUFBQUFBQUFBQUFBQ0FQU0JESlEvZFx4M2QxL2V4bVx4M2RiL2VkXHgzZDEvaW1ceDNkMS9k Z1x4M2QwL2N0XHgzZHpnbXMvcnNceDNkQUhHV3E5QUxyUFhUaHhLaDRaek42cEdkQjNldUN3X2s3 QS9tXHgzZGEiLCIvXy9zY3MvbWFpbC1zdGF0aWMvXy9qcy9rXHgzZGdtYWlsLm1haW4uZW5fR0Iu T1FaT3lNWVZhYmsuTy9hbVx4M2QxLXZ2U1hnZy1DTHdaV2NFTkFBd1BvQlRxZEktd0g5UlN0Tl9l Q1Q4SHBNSDRDRUdIb0Q5RC1vREFBQUFBQUFBQUFBQUFBQUFBQUNBUFNCREpRL2RceDNkMS9leG1c eDNkYSxiL2VkXHgzZDEvaW1ceDNkMS9kZ1x4M2QwL2N0XHgzZHpnbXMvcnNceDNkQUhHV3E5QUxy UFhUaHhLaDRaek42cEdkQjNldUN3X2s3QS9tXHgzZG0sbV9pLGkyMGpmZCxsS3JXeGMsaGtqWEos Z1lPbDZkLEhYTGpJYixETDhqWmUseGFRY3llLG9SbUh0LEUxUDBrZCxwRTkybGIsdjJlRUJjIiwK Ii9fL3Njcy9tYWlsLXN0YXRpYy9fL2pzL2tceDNkZ21haWwubWFpbi5lbl9HQi5PUVpPeU1ZVmFi ay5PL2FtXHgzZDEtdnZTWGdnLUNMd1pXY0VOQUF3UG9CVHFkSS13SDlSU3ROX2VDVDhIcE1INENF R0hvRDlELW9EQUFBQUFBQUFBQUFBQUFBQUFBQ0FQU0JESlEvZFx4M2QxL2V4bVx4M2RETDhqWmUs RTFQMGtkLEhYTGpJYixhLGIsZ1lPbDZkLGhralhKLGkyMGpmZCxsS3JXeGMsbSxtX2ksb1JtSHQs cEU5MmxiLHYyZUVCYyx4YVFjeWUvZWRceDNkMS9pbVx4M2QxL2RnXHgzZDAvY3RceDNkemdtcy9y c1x4M2RBSEdXcTlBTHJQWFRoeEtoNFp6TjZwR2RCM2V1Q3dfazdBL21ceDNkc3BzLGwsc3BpdCx0 LGl0LGFuYyJdO3ZhciBHTV9TVFlMRVNIRUVUX1VSTFM9WyIvXy9zY3MvbWFpbC1zdGF0aWMvXy9z cy9rXHgzZGdtYWlsLm1haW4uLTY0aHN3NWp6YnFiei5MLlcuTy9hbVx4M2QxLXZ2U1hnZy1DTHda V2NFTkFBd1BxQlRxZEktd0g5UlN0Tl9lQ1Q4SHBNSDRDRUdIb0Q5RC1vREFBQUFEQUFBQUFBQUFB QUFBQUNBUFNCREpRL2RceDNkMS9leGNtXHgzZGF0L2N0XHgzZHpnbXMvcnNceDNkQUhHV3E5QXo4 OF9YTm4ybEVkLVZtN2FFZER0Q25Fc29pZyJdOwp2YXIgR01fSU5JVElBTF9QQURESU5HX1BSRUY9 InQiO3ZhciBHTV9JRF9LRVk9Ijc5ZmE1Y2E3ZGEiO3ZhciBHTV93cml0ZUVycm9yUGFnZT1mdW5j dGlvbihlcnJvclBhZ2VEaXNwbGF5ZWQsY2FsbGJhY2spe2lmKCFHTV93cml0ZUVycm9yUGFnZS5j YWxsZWQpe0dNX3dyaXRlRXJyb3JQYWdlLmNhbGxlZD10cnVlO0dNX3dyaXRlRXJyb3JQYWdlLmNh bGxiYWNrPWNhbGxiYWNrO0dNX3dyaXRlRXJyb3JQYWdlLmVycm9yUGFnZURpc3BsYXllZD1lcnJv clBhZ2VEaXNwbGF5ZWR9fTtfRHVtcEV4Y2VwdGlvbj1mdW5jdGlvbihlKXtHTV93cml0ZUVycm9y UGFnZSgwLGZ1bmN0aW9uKCl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm51bWVyaWNfY29kZSIp LnRleHRDb250ZW50PSI5In0pfTt2YXIgcHI9MDsKZnVuY3Rpb24gX0JfbG9nSW1nXyh2LHApeyhu ZXcgSW1hZ2UpLnNyYz0iP3VpXHgzZDJceDI2dmlld1x4M2QiK3YrIlx4MjYiK3ArIlx4MjZpa1x4 M2QiK0dNX0lEX0tFWSsiXHgyNml0cFx4M2QiKyhHTE9CQUxTP0dMT0JBTFNbNjVdOiJ1bmtub3du IikrIlx4MjZoZVx4M2QiKyhHTE9CQUxTJiZHTE9CQUxTWzEwMV0/MTowKSsiXHgyNnJhbmRvbVx4 M2QiKyhuZXcgRGF0ZSkuZ2V0VGltZSgpfWZ1bmN0aW9uIHNpKGksY3NvbCl7KG5ldyBJbWFnZSku c3JjPSI/dWlceDNkMlx4MjZ2aWV3XHgzZGpzbGVceDI2aWtceDNkIitHTV9JRF9LRVkrIlx4MjZp bXBceDNkIitpKyJceDI2dmFsXHgzZCIrcHIrIlx4MjZpdHBceDNkIisoR0xPQkFMUz9HTE9CQUxT WzY1XToidW5rbm93biIpKyJceDI2aGVceDNkIisoR0xPQkFMUyYmR0xPQkFMU1sxMDFdPzE6MCkr Ilx4MjZyYW5kb21ceDNkIitHTV9TVEFSVF9USU1FKyJceDI2Y3NvbFx4M2QiKyhjc29sfHwwKX07 Ci8vIF1dPgo8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSIyczBlWjAzVlZjUGNSdFFRUndiN2RBIj4K KGZ1bmN0aW9uKCl7dHJ5e3ZhciBuPSJFZGdlIixiYT0iT3BlcmEiLGNhPSJjb21wbGV0ZSIscT0i ZnVuY3Rpb24iLHU9Im9iamVjdCIsdj0ic3RyaW5nIjtmdW5jdGlvbiBkYSgpe3JldHVybiBmdW5j dGlvbigpe319dmFyIGthPWZ1bmN0aW9uKGIsYyl7dmFyIGQ9bmV3IGVhKHgubG9jYXRpb24uaHJl Zik7ZmEoZCwiL21haWwvbG9nc3RyZWFteiIpO2hhKGQsIiIsdm9pZCAwKTt2YXIgZT1uZXcgRm9y bURhdGE7ZS5hcHBlbmQoImltcHJlc3Npb25JZCIsYik7ZS5hcHBlbmQoImRhdGEiLEpTT04uc3Ry aW5naWZ5KGMpKTtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oZil7aWEoZCxmdW5jdGlvbihn KXtmKGphKGcudGFyZ2V0KSl9LGUpfSl9LGxhPWZ1bmN0aW9uKCl7dmFyIGI9bmV3IGVhKHgubG9j YXRpb24uaHJlZik7c3dpdGNoKGIuYy5nZXQoInZpZXciKSl7Y2FzZSAiY20iOnJldHVybiAxO2Nh c2UgImN2IjpyZXR1cm4gMjtjYXNlICJtaXAiOnJldHVybiAzO2Nhc2UgImFtIjpyZXR1cm4gNDsK ZGVmYXVsdDpyZXR1cm4iZG90X25ldyI9PWIuYy5nZXQoInVzcCIpPzU6MH19LG9hPWZ1bmN0aW9u KGIsYyxkKXtjPXZvaWQgMD09PWM/IiI6Yzt4LnRvcC5HTV9zaG93RXJyb3JQYWdlQ2FsbGVkPSEw O21hLmFkZChiKTtuYSgic2AiK2IrImAiK2MsZHx8bnVsbCk7aWYobnVsbD09PXguR01fREVQKXt4 LkdNX0RFUD1iO3ZhciBlPTA7NT09YiYmKGU9MSk7eC50b3AuR01fd3JpdGVFcnJvclBhZ2UoZSxm dW5jdGlvbigpe3gudG9wLkdNX1NMRigpO3ZhciBmPXgucGVyZm9ybWFuY2UmJngucGVyZm9ybWFu Y2UuZ2V0RW50cmllcygpLmZpbmQoZnVuY3Rpb24oZyl7cmV0dXJuIGcgaW5zdGFuY2VvZiB4LlBl cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcmJiJpZnJhbWUiPT1nLmluaXRpYXRvclR5cGUmJi8uK1wv bWFpbChcL3VcL1xkKyk/XC9kYXRhKFw/fCQpLy50ZXN0KGcubmFtZSl9KTtrYSgiY2xpZW50X2Vy cm9yX3BhZ2UiLHtlcnJvcl9wYWdlX2NhdXNlOmIsd2luZG93X3R5cGU6bGEoKSwKdWk6eC5HTE9C QUxTWzEwMV0/Imh1YiI6InJlZnJpdG8iLGVycm9yOmMrKGQmJmQuc3RhY2s/IlxuIitkLnN0YWNr OiIiKSxkZWJ1ZzpKU09OLnN0cmluZ2lmeSh7dXNlckFnZW50OnguR0xPQkFMU1s3MV0sYnVpbGQ6 eC5HTE9CQUxTWzNdLGpzVmVyc2lvbjp4LkdMT0JBTFNbNF0saW5ib3hUeXBlOnguR0xPQkFMU1s2 NV0sbmF2UHJlbG9hZEh0bWw6eC5HTE9CQUxTWzc5XSxvZmZsaW5lRW5hYmxlZDp4LkdMT0JBTFNb NjFdLHJlbG9hZENvdW50OngubG9jYWxTdG9yYWdlLmdldEl0ZW0oInJlbG9hZF9jb3VudCIpLGlz Q2FjaGVhYmxlSHRtbDp4LkdMT0JBTFNbNTddLGRhdGFJZnJhbWU6ISFmLGRhdGFJZnJhbWVQYXRo OnguR01fRElQfHxudWxsLGRhdGFJZnJhbWVMb2NhdGlvbkVycm9yOnguR01fRElMRXx8bnVsbCxk YXRhSWZyYW1lUmVhZHlTdGF0ZTp4LkdNX0RJUlN8fG51bGwsc3RhbGVGbGFnRXJyb3I6eC5HTV9T RkV8fG51bGx9KX0pO3gudG9wLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZXRhaWxlZF90ZWNo X2luZm8iKSYmCih4LnRvcC5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibnVtZXJpY19jb2RlIiku dGV4dENvbnRlbnQ9U3RyaW5nKGIpKX0pfXJldHVybiBuZXcgUHJvbWlzZShkYSgpKX0scGE9ZnVu Y3Rpb24oYil7dmFyIGM9MDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYzxiLmxlbmd0aD97ZG9u ZTohMSx2YWx1ZTpiW2MrK119Ontkb25lOiEwfX19LEI9ZnVuY3Rpb24oYil7dmFyIGM9InVuZGVm aW5lZCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5pdGVyYXRvciYmYltTeW1ib2wuaXRlcmF0b3Jd O3JldHVybiBjP2MuY2FsbChiKTp7bmV4dDpwYShiKX19LHFhPXR5cGVvZiBPYmplY3QuZGVmaW5l UHJvcGVydGllcz09cT9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYixjLGQpe2lmKGI9 PUFycmF5LnByb3RvdHlwZXx8Yj09T2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gYjtiW2NdPWQudmFs dWU7cmV0dXJuIGJ9LHJhPWZ1bmN0aW9uKGIpe2I9W3U9PXR5cGVvZiBnbG9iYWxUaGlzJiZnbG9i YWxUaGlzLApiLHU9PXR5cGVvZiB3aW5kb3cmJndpbmRvdyx1PT10eXBlb2Ygc2VsZiYmc2VsZix1 PT10eXBlb2YgZ2xvYmFsJiZnbG9iYWxdO2Zvcih2YXIgYz0wO2M8Yi5sZW5ndGg7KytjKXt2YXIg ZD1iW2NdO2lmKGQmJmQuTWF0aD09TWF0aClyZXR1cm4gZH10aHJvdyBFcnJvcigiYSIpO30sc2E9 cmEodGhpcyksQz1mdW5jdGlvbihiLGMpe2lmKGMpe3ZhciBkPXNhO2I9Yi5zcGxpdCgiLiIpO2Zv cih2YXIgZT0wO2U8Yi5sZW5ndGgtMTtlKyspe3ZhciBmPWJbZV07ZiBpbiBkfHwoZFtmXT17fSk7 ZD1kW2ZdfWI9YltiLmxlbmd0aC0xXTtlPWRbYl07Yz1jKGUpO2MhPWUmJm51bGwhPWMmJnFhKGQs Yix7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX19O0MoIkFycmF5LnByb3Rv dHlwZS5maW5kIixmdW5jdGlvbihiKXtyZXR1cm4gYj9iOmZ1bmN0aW9uKGMsZCl7YTp7dmFyIGU9 dGhpcztlIGluc3RhbmNlb2YgU3RyaW5nJiYoZT1TdHJpbmcoZSkpO2Zvcih2YXIgZj1lLmxlbmd0 aCwKZz0wO2c8ZjtnKyspe3ZhciBrPWVbZ107aWYoYy5jYWxsKGQsayxnLGUpKXtjPWs7YnJlYWsg YX19Yz12b2lkIDB9cmV0dXJuIGN9fSk7QygiUHJvbWlzZSIsZnVuY3Rpb24oYil7ZnVuY3Rpb24g Yygpe3RoaXMuYj1udWxsfWZ1bmN0aW9uIGQoayl7cmV0dXJuIGsgaW5zdGFuY2VvZiBmP2s6bmV3 IGYoZnVuY3Rpb24oaCl7aChrKX0pfWlmKGIpcmV0dXJuIGI7Yy5wcm90b3R5cGUuYz1mdW5jdGlv bihrKXtpZihudWxsPT10aGlzLmIpe3RoaXMuYj1bXTt2YXIgaD10aGlzO3RoaXMuZihmdW5jdGlv bigpe2guaSgpfSl9dGhpcy5iLnB1c2goayl9O3ZhciBlPXNhLnNldFRpbWVvdXQ7Yy5wcm90b3R5 cGUuZj1mdW5jdGlvbihrKXtlKGssMCl9O2MucHJvdG90eXBlLmk9ZnVuY3Rpb24oKXtmb3IoO3Ro aXMuYiYmdGhpcy5iLmxlbmd0aDspe3ZhciBrPXRoaXMuYjt0aGlzLmI9W107Zm9yKHZhciBoPTA7 aDxrLmxlbmd0aDsrK2gpe3ZhciBsPWtbaF07a1toXT1udWxsO3RyeXtsKCl9Y2F0Y2gobSl7dGhp cy5nKG0pfX19dGhpcy5iPQpudWxsfTtjLnByb3RvdHlwZS5nPWZ1bmN0aW9uKGspe3RoaXMuZihm dW5jdGlvbigpe3Rocm93IGs7fSl9O3ZhciBmPWZ1bmN0aW9uKGspe3RoaXMuYz0wO3RoaXMuZj12 b2lkIDA7dGhpcy5iPVtdO3ZhciBoPXRoaXMuZygpO3RyeXtrKGgucmVzb2x2ZSxoLnJlamVjdCl9 Y2F0Y2gobCl7aC5yZWplY3QobCl9fTtmLnByb3RvdHlwZS5nPWZ1bmN0aW9uKCl7ZnVuY3Rpb24g ayhtKXtyZXR1cm4gZnVuY3Rpb24ocCl7bHx8KGw9ITAsbS5jYWxsKGgscCkpfX12YXIgaD10aGlz LGw9ITE7cmV0dXJue3Jlc29sdmU6ayh0aGlzLkMpLHJlamVjdDprKHRoaXMuaSl9fTtmLnByb3Rv dHlwZS5DPWZ1bmN0aW9uKGspe2lmKGs9PT10aGlzKXRoaXMuaShuZXcgVHlwZUVycm9yKCJiIikp O2Vsc2UgaWYoayBpbnN0YW5jZW9mIGYpdGhpcy5EKGspO2Vsc2V7YTpzd2l0Y2godHlwZW9mIGsp e2Nhc2UgdTp2YXIgaD1udWxsIT1rO2JyZWFrIGE7Y2FzZSBxOmg9ITA7YnJlYWsgYTtkZWZhdWx0 Omg9ITF9aD8KdGhpcy53KGspOnRoaXMuaihrKX19O2YucHJvdG90eXBlLnc9ZnVuY3Rpb24oayl7 dmFyIGg9dm9pZCAwO3RyeXtoPWsudGhlbn1jYXRjaChsKXt0aGlzLmkobCk7cmV0dXJufXR5cGVv ZiBoPT1xP3RoaXMuRihoLGspOnRoaXMuaihrKX07Zi5wcm90b3R5cGUuaT1mdW5jdGlvbihrKXt0 aGlzLmwoMixrKX07Zi5wcm90b3R5cGUuaj1mdW5jdGlvbihrKXt0aGlzLmwoMSxrKX07Zi5wcm90 b3R5cGUubD1mdW5jdGlvbihrLGgpe2lmKDAhPXRoaXMuYyl0aHJvdyBFcnJvcigiY2AiK2srImAi K2grImAiK3RoaXMuYyk7dGhpcy5jPWs7dGhpcy5mPWg7dGhpcy5vKCl9O2YucHJvdG90eXBlLm89 ZnVuY3Rpb24oKXtpZihudWxsIT10aGlzLmIpe2Zvcih2YXIgaz0wO2s8dGhpcy5iLmxlbmd0aDsr K2spZy5jKHRoaXMuYltrXSk7dGhpcy5iPW51bGx9fTt2YXIgZz1uZXcgYztmLnByb3RvdHlwZS5E PWZ1bmN0aW9uKGspe3ZhciBoPXRoaXMuZygpO2suSChoLnJlc29sdmUsaC5yZWplY3QpfTtmLnBy b3RvdHlwZS5GPQpmdW5jdGlvbihrLGgpe3ZhciBsPXRoaXMuZygpO3RyeXtrLmNhbGwoaCxsLnJl c29sdmUsbC5yZWplY3QpfWNhdGNoKG0pe2wucmVqZWN0KG0pfX07Zi5wcm90b3R5cGUudGhlbj1m dW5jdGlvbihrLGgpe2Z1bmN0aW9uIGwocix3KXtyZXR1cm4gdHlwZW9mIHI9PXE/ZnVuY3Rpb24o VCl7dHJ5e20ocihUKSl9Y2F0Y2goYWEpe3AoYWEpfX06d312YXIgbSxwLHQ9bmV3IGYoZnVuY3Rp b24ocix3KXttPXI7cD13fSk7dGhpcy5IKGwoayxtKSxsKGgscCkpO3JldHVybiB0fTtmLnByb3Rv dHlwZS5jYXRjaD1mdW5jdGlvbihrKXtyZXR1cm4gdGhpcy50aGVuKHZvaWQgMCxrKX07Zi5wcm90 b3R5cGUuSD1mdW5jdGlvbihrLGgpe2Z1bmN0aW9uIGwoKXtzd2l0Y2gobS5jKXtjYXNlIDE6ayht LmYpO2JyZWFrO2Nhc2UgMjpoKG0uZik7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigiZGAiK20u Yyk7fX12YXIgbT10aGlzO251bGw9PXRoaXMuYj9nLmMobCk6dGhpcy5iLnB1c2gobCl9O2YucmVz b2x2ZT0KZDtmLnJlamVjdD1mdW5jdGlvbihrKXtyZXR1cm4gbmV3IGYoZnVuY3Rpb24oaCxsKXts KGspfSl9O2YucmFjZT1mdW5jdGlvbihrKXtyZXR1cm4gbmV3IGYoZnVuY3Rpb24oaCxsKXtmb3Io dmFyIG09QihrKSxwPW0ubmV4dCgpOyFwLmRvbmU7cD1tLm5leHQoKSlkKHAudmFsdWUpLkgoaCxs KX0pfTtmLmFsbD1mdW5jdGlvbihrKXt2YXIgaD1CKGspLGw9aC5uZXh0KCk7cmV0dXJuIGwuZG9u ZT9kKFtdKTpuZXcgZihmdW5jdGlvbihtLHApe2Z1bmN0aW9uIHQoVCl7cmV0dXJuIGZ1bmN0aW9u KGFhKXtyW1RdPWFhO3ctLTswPT13JiZtKHIpfX12YXIgcj1bXSx3PTA7ZG8gci5wdXNoKHZvaWQg MCksdysrLGQobC52YWx1ZSkuSCh0KHIubGVuZ3RoLTEpLHApLGw9aC5uZXh0KCk7d2hpbGUoIWwu ZG9uZSl9KX07cmV0dXJuIGZ9KTtDKCJTeW1ib2wiLGZ1bmN0aW9uKGIpe2lmKGIpcmV0dXJuIGI7 dmFyIGM9ZnVuY3Rpb24oZixnKXt0aGlzLmI9ZjtxYSh0aGlzLCJkZXNjcmlwdGlvbiIsCntjb25m aWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Z30pfTtjLnByb3RvdHlwZS50b1N0cmluZz1m dW5jdGlvbigpe3JldHVybiB0aGlzLmJ9O3ZhciBkPTAsZT1mdW5jdGlvbihmKXtpZih0aGlzIGlu c3RhbmNlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJlIik7cmV0dXJuIG5ldyBjKCJqc2NvbXBf c3ltYm9sXyIrKGZ8fCIiKSsiXyIrZCsrLGYpfTtyZXR1cm4gZX0pO0MoIlN5bWJvbC5pdGVyYXRv ciIsZnVuY3Rpb24oYil7aWYoYilyZXR1cm4gYjtiPVN5bWJvbCgiZiIpO2Zvcih2YXIgYz0iQXJy YXkgSW50OEFycmF5IFVpbnQ4QXJyYXkgVWludDhDbGFtcGVkQXJyYXkgSW50MTZBcnJheSBVaW50 MTZBcnJheSBJbnQzMkFycmF5IFVpbnQzMkFycmF5IEZsb2F0MzJBcnJheSBGbG9hdDY0QXJyYXki LnNwbGl0KCIgIiksZD0wO2Q8Yy5sZW5ndGg7ZCsrKXt2YXIgZT1zYVtjW2RdXTt0eXBlb2YgZT09 PXEmJnR5cGVvZiBlLnByb3RvdHlwZVtiXSE9cSYmcWEoZS5wcm90b3R5cGUsCmIse2NvbmZpZ3Vy YWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0YShwYSh0aGlzKSl9 fSl9cmV0dXJuIGJ9KTt2YXIgdGE9ZnVuY3Rpb24oYil7Yj17bmV4dDpifTtiW1N5bWJvbC5pdGVy YXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc307cmV0dXJuIGJ9LEQ9ZnVuY3Rpb24oYixjKXty ZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsYyl9O0MoIldlYWtN YXAiLGZ1bmN0aW9uKGIpe2Z1bmN0aW9uIGMoKXt9ZnVuY3Rpb24gZChsKXt2YXIgbT10eXBlb2Yg bDtyZXR1cm4gbT09PXUmJm51bGwhPT1sfHxtPT09cX1mdW5jdGlvbiBlKGwpe2lmKCFEKGwsZykp e3ZhciBtPW5ldyBjO3FhKGwsZyx7dmFsdWU6bX0pfX1mdW5jdGlvbiBmKGwpe3ZhciBtPU9iamVj dFtsXTttJiYoT2JqZWN0W2xdPWZ1bmN0aW9uKHApe2lmKHAgaW5zdGFuY2VvZiBjKXJldHVybiBw O2UocCk7cmV0dXJuIG0ocCl9KX1pZihmdW5jdGlvbigpe2lmKCFifHwKIU9iamVjdC5zZWFsKXJl dHVybiExO3RyeXt2YXIgbD1PYmplY3Quc2VhbCh7fSksbT1PYmplY3Quc2VhbCh7fSkscD1uZXcg YihbW2wsMl0sW20sM11dKTtpZigyIT1wLmdldChsKXx8MyE9cC5nZXQobSkpcmV0dXJuITE7cC5k ZWxldGUobCk7cC5zZXQobSw0KTtyZXR1cm4hcC5oYXMobCkmJjQ9PXAuZ2V0KG0pfWNhdGNoKHQp e3JldHVybiExfX0oKSlyZXR1cm4gYjt2YXIgZz0iJGpzY29tcF9oaWRkZW5fIitNYXRoLnJhbmRv bSgpO2YoImZyZWV6ZSIpO2YoInByZXZlbnRFeHRlbnNpb25zIik7Zigic2VhbCIpO3ZhciBrPTAs aD1mdW5jdGlvbihsKXt0aGlzLmI9KGsrPU1hdGgucmFuZG9tKCkrMSkudG9TdHJpbmcoKTtpZihs KXtsPUIobCk7Zm9yKHZhciBtOyEobT1sLm5leHQoKSkuZG9uZTspbT1tLnZhbHVlLHRoaXMuc2V0 KG1bMF0sbVsxXSl9fTtoLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24obCxtKXtpZighZChsKSl0aHJv dyBFcnJvcigiZyIpO2UobCk7aWYoIUQobCxnKSl0aHJvdyBFcnJvcigiaGAiKwpsKTtsW2ddW3Ro aXMuYl09bTtyZXR1cm4gdGhpc307aC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGwpe3JldHVybiBk KGwpJiZEKGwsZyk/bFtnXVt0aGlzLmJdOnZvaWQgMH07aC5wcm90b3R5cGUuaGFzPWZ1bmN0aW9u KGwpe3JldHVybiBkKGwpJiZEKGwsZykmJkQobFtnXSx0aGlzLmIpfTtoLnByb3RvdHlwZS5kZWxl dGU9ZnVuY3Rpb24obCl7cmV0dXJuIGQobCkmJkQobCxnKSYmRChsW2ddLHRoaXMuYik/ZGVsZXRl IGxbZ11bdGhpcy5iXTohMX07cmV0dXJuIGh9KTtDKCJNYXAiLGZ1bmN0aW9uKGIpe2lmKGZ1bmN0 aW9uKCl7aWYoIWJ8fHR5cGVvZiBiIT1xfHwhYi5wcm90b3R5cGUuZW50cmllc3x8dHlwZW9mIE9i amVjdC5zZWFsIT1xKXJldHVybiExO3RyeXt2YXIgaD1PYmplY3Quc2VhbCh7eDo0fSksbD1uZXcg YihCKFtbaCwicyJdXSkpO2lmKCJzIiE9bC5nZXQoaCl8fDEhPWwuc2l6ZXx8bC5nZXQoe3g6NH0p fHxsLnNldCh7eDo0fSwidCIpIT1sfHwyIT1sLnNpemUpcmV0dXJuITE7CnZhciBtPWwuZW50cmll cygpLHA9bS5uZXh0KCk7aWYocC5kb25lfHxwLnZhbHVlWzBdIT1ofHwicyIhPXAudmFsdWVbMV0p cmV0dXJuITE7cD1tLm5leHQoKTtyZXR1cm4gcC5kb25lfHw0IT1wLnZhbHVlWzBdLnh8fCJ0IiE9 cC52YWx1ZVsxXXx8IW0ubmV4dCgpLmRvbmU/ITE6ITB9Y2F0Y2godCl7cmV0dXJuITF9fSgpKXJl dHVybiBiO3ZhciBjPW5ldyBXZWFrTWFwLGQ9ZnVuY3Rpb24oaCl7dGhpcy5jPXt9O3RoaXMuYj1n KCk7dGhpcy5zaXplPTA7aWYoaCl7aD1CKGgpO2Zvcih2YXIgbDshKGw9aC5uZXh0KCkpLmRvbmU7 KWw9bC52YWx1ZSx0aGlzLnNldChsWzBdLGxbMV0pfX07ZC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9u KGgsbCl7aD0wPT09aD8wOmg7dmFyIG09ZSh0aGlzLGgpO20ubGlzdHx8KG0ubGlzdD10aGlzLmNb bS5pZF09W10pO20ubT9tLm0udmFsdWU9bDoobS5tPXtuZXh0OnRoaXMuYix1OnRoaXMuYi51LGhl YWQ6dGhpcy5iLGtleTpoLHZhbHVlOmx9LG0ubGlzdC5wdXNoKG0ubSksCnRoaXMuYi51Lm5leHQ9 bS5tLHRoaXMuYi51PW0ubSx0aGlzLnNpemUrKyk7cmV0dXJuIHRoaXN9O2QucHJvdG90eXBlLmRl bGV0ZT1mdW5jdGlvbihoKXtoPWUodGhpcyxoKTtyZXR1cm4gaC5tJiZoLmxpc3Q/KGgubGlzdC5z cGxpY2UoaC5pbmRleCwxKSxoLmxpc3QubGVuZ3RofHxkZWxldGUgdGhpcy5jW2guaWRdLGgubS51 Lm5leHQ9aC5tLm5leHQsaC5tLm5leHQudT1oLm0udSxoLm0uaGVhZD1udWxsLHRoaXMuc2l6ZS0t LCEwKTohMX07ZC5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmM9e307dGhpcy5iPXRo aXMuYi51PWcoKTt0aGlzLnNpemU9MH07ZC5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGgpe3JldHVy biEhZSh0aGlzLGgpLm19O2QucHJvdG90eXBlLmdldD1mdW5jdGlvbihoKXtyZXR1cm4oaD1lKHRo aXMsaCkubSkmJmgudmFsdWV9O2QucHJvdG90eXBlLmVudHJpZXM9ZnVuY3Rpb24oKXtyZXR1cm4g Zih0aGlzLGZ1bmN0aW9uKGgpe3JldHVybltoLmtleSwKaC52YWx1ZV19KX07ZC5wcm90b3R5cGUu a2V5cz1mdW5jdGlvbigpe3JldHVybiBmKHRoaXMsZnVuY3Rpb24oaCl7cmV0dXJuIGgua2V5fSl9 O2QucHJvdG90eXBlLnZhbHVlcz1mdW5jdGlvbigpe3JldHVybiBmKHRoaXMsZnVuY3Rpb24oaCl7 cmV0dXJuIGgudmFsdWV9KX07ZC5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbihoLGwpe2Zvcih2 YXIgbT10aGlzLmVudHJpZXMoKSxwOyEocD1tLm5leHQoKSkuZG9uZTspcD1wLnZhbHVlLGguY2Fs bChsLHBbMV0scFswXSx0aGlzKX07ZC5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1kLnByb3Rv dHlwZS5lbnRyaWVzO3ZhciBlPWZ1bmN0aW9uKGgsbCl7dmFyIG09bCYmdHlwZW9mIGw7bT09dXx8 bT09cT9jLmhhcyhsKT9tPWMuZ2V0KGwpOihtPSIiKyArK2ssYy5zZXQobCxtKSk6bT0icF8iK2w7 dmFyIHA9aC5jW21dO2lmKHAmJkQoaC5jLG0pKWZvcihoPTA7aDxwLmxlbmd0aDtoKyspe3ZhciB0 PXBbaF07aWYobCE9PWwmJnQua2V5IT09CnQua2V5fHxsPT09dC5rZXkpcmV0dXJue2lkOm0sbGlz dDpwLGluZGV4OmgsbTp0fX1yZXR1cm57aWQ6bSxsaXN0OnAsaW5kZXg6LTEsbTp2b2lkIDB9fSxm PWZ1bmN0aW9uKGgsbCl7dmFyIG09aC5iO3JldHVybiB0YShmdW5jdGlvbigpe2lmKG0pe2Zvcig7 bS5oZWFkIT1oLmI7KW09bS51O2Zvcig7bS5uZXh0IT1tLmhlYWQ7KXJldHVybiBtPW0ubmV4dCx7 ZG9uZTohMSx2YWx1ZTpsKG0pfTttPW51bGx9cmV0dXJue2RvbmU6ITAsdmFsdWU6dm9pZCAwfX0p fSxnPWZ1bmN0aW9uKCl7dmFyIGg9e307cmV0dXJuIGgudT1oLm5leHQ9aC5oZWFkPWh9LGs9MDty ZXR1cm4gZH0pO0MoIlNldCIsZnVuY3Rpb24oYil7aWYoZnVuY3Rpb24oKXtpZighYnx8dHlwZW9m IGIhPXF8fCFiLnByb3RvdHlwZS5lbnRyaWVzfHx0eXBlb2YgT2JqZWN0LnNlYWwhPXEpcmV0dXJu ITE7dHJ5e3ZhciBkPU9iamVjdC5zZWFsKHt4OjR9KSxlPW5ldyBiKEIoW2RdKSk7aWYoIWUuaGFz KGQpfHwxIT1lLnNpemV8fAplLmFkZChkKSE9ZXx8MSE9ZS5zaXplfHxlLmFkZCh7eDo0fSkhPWV8 fDIhPWUuc2l6ZSlyZXR1cm4hMTt2YXIgZj1lLmVudHJpZXMoKSxnPWYubmV4dCgpO2lmKGcuZG9u ZXx8Zy52YWx1ZVswXSE9ZHx8Zy52YWx1ZVsxXSE9ZClyZXR1cm4hMTtnPWYubmV4dCgpO3JldHVy biBnLmRvbmV8fGcudmFsdWVbMF09PWR8fDQhPWcudmFsdWVbMF0ueHx8Zy52YWx1ZVsxXSE9Zy52 YWx1ZVswXT8hMTpmLm5leHQoKS5kb25lfWNhdGNoKGspe3JldHVybiExfX0oKSlyZXR1cm4gYjt2 YXIgYz1mdW5jdGlvbihkKXt0aGlzLmI9bmV3IE1hcDtpZihkKXtkPUIoZCk7Zm9yKHZhciBlOyEo ZT1kLm5leHQoKSkuZG9uZTspdGhpcy5hZGQoZS52YWx1ZSl9dGhpcy5zaXplPXRoaXMuYi5zaXpl fTtjLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oZCl7ZD0wPT09ZD8wOmQ7dGhpcy5iLnNldChkLGQp O3RoaXMuc2l6ZT10aGlzLmIuc2l6ZTtyZXR1cm4gdGhpc307Yy5wcm90b3R5cGUuZGVsZXRlPWZ1 bmN0aW9uKGQpe2Q9CnRoaXMuYi5kZWxldGUoZCk7dGhpcy5zaXplPXRoaXMuYi5zaXplO3JldHVy biBkfTtjLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuYi5jbGVhcigpO3RoaXMuc2l6 ZT0wfTtjLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24oZCl7cmV0dXJuIHRoaXMuYi5oYXMoZCl9O2Mu cHJvdG90eXBlLmVudHJpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5iLmVudHJpZXMoKX07Yy5w cm90b3R5cGUudmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYi52YWx1ZXMoKX07Yy5wcm90 b3R5cGUua2V5cz1jLnByb3RvdHlwZS52YWx1ZXM7Yy5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9y XT1jLnByb3RvdHlwZS52YWx1ZXM7Yy5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbihkLGUpe3Zh ciBmPXRoaXM7dGhpcy5iLmZvckVhY2goZnVuY3Rpb24oZyl7cmV0dXJuIGQuY2FsbChlLGcsZyxm KX0pfTtyZXR1cm4gY30pO0MoIk9iamVjdC5lbnRyaWVzIixmdW5jdGlvbihiKXtyZXR1cm4gYj9i OgpmdW5jdGlvbihjKXt2YXIgZD1bXSxlO2ZvcihlIGluIGMpRChjLGUpJiZkLnB1c2goW2UsY1tl XV0pO3JldHVybiBkfX0pO3ZhciB1YT11YXx8e30seD10aGlzfHxzZWxmLHZhPWRhKCksd2E9ZnVu Y3Rpb24oYil7dmFyIGM9dHlwZW9mIGI7aWYoYz09dSlpZihiKXtpZihiIGluc3RhbmNlb2YgQXJy YXkpcmV0dXJuImFycmF5IjtpZihiIGluc3RhbmNlb2YgT2JqZWN0KXJldHVybiBjO3ZhciBkPU9i amVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChiKTtpZigiW29iamVjdCBXaW5kb3ddIj09ZCly ZXR1cm4gdTtpZigiW29iamVjdCBBcnJheV0iPT1kfHwibnVtYmVyIj09dHlwZW9mIGIubGVuZ3Ro JiYidW5kZWZpbmVkIiE9dHlwZW9mIGIuc3BsaWNlJiYidW5kZWZpbmVkIiE9dHlwZW9mIGIucHJv cGVydHlJc0VudW1lcmFibGUmJiFiLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJzcGxpY2UiKSlyZXR1 cm4iYXJyYXkiO2lmKCJbb2JqZWN0IEZ1bmN0aW9uXSI9PWR8fCJ1bmRlZmluZWQiIT0KdHlwZW9m IGIuY2FsbCYmInVuZGVmaW5lZCIhPXR5cGVvZiBiLnByb3BlcnR5SXNFbnVtZXJhYmxlJiYhYi5w cm9wZXJ0eUlzRW51bWVyYWJsZSgiY2FsbCIpKXJldHVybiBxfWVsc2UgcmV0dXJuIm51bGwiO2Vs c2UgaWYoYz09cSYmInVuZGVmaW5lZCI9PXR5cGVvZiBiLmNhbGwpcmV0dXJuIHU7cmV0dXJuIGN9 LHhhPWZ1bmN0aW9uKGIpe3ZhciBjPXR5cGVvZiBiO3JldHVybiBjPT11JiZudWxsIT1ifHxjPT1x fSx5YT1mdW5jdGlvbihiLGMsZCl7cmV0dXJuIGIuY2FsbC5hcHBseShiLmJpbmQsYXJndW1lbnRz KX0semE9ZnVuY3Rpb24oYixjLGQpe2lmKCFiKXRocm93IEVycm9yKCk7aWYoMjxhcmd1bWVudHMu bGVuZ3RoKXt2YXIgZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMik7cmV0 dXJuIGZ1bmN0aW9uKCl7dmFyIGY9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRz KTtBcnJheS5wcm90b3R5cGUudW5zaGlmdC5hcHBseShmLGUpO3JldHVybiBiLmFwcGx5KGMsCmYp fX1yZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYi5hcHBseShjLGFyZ3VtZW50cyl9fSxBYT1mdW5j dGlvbihiLGMsZCl7RnVuY3Rpb24ucHJvdG90eXBlLmJpbmQmJi0xIT1GdW5jdGlvbi5wcm90b3R5 cGUuYmluZC50b1N0cmluZygpLmluZGV4T2YoIm5hdGl2ZSBjb2RlIik/QWE9eWE6QWE9emE7cmV0 dXJuIEFhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQmE9ZnVuY3Rpb24oYixjKXt2YXIgZD1BcnJh eS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSk7cmV0dXJuIGZ1bmN0aW9uKCl7dmFy IGU9ZC5zbGljZSgpO2UucHVzaC5hcHBseShlLGFyZ3VtZW50cyk7cmV0dXJuIGIuYXBwbHkodGhp cyxlKX19LENhPURhdGUubm93fHxmdW5jdGlvbigpe3JldHVybituZXcgRGF0ZX0sRT1mdW5jdGlv bihiLGMpe2I9Yi5zcGxpdCgiLiIpO3ZhciBkPXg7YlswXWluIGR8fCJ1bmRlZmluZWQiPT10eXBl b2YgZC5leGVjU2NyaXB0fHxkLmV4ZWNTY3JpcHQoInZhciAiK2JbMF0pOwpmb3IodmFyIGU7Yi5s ZW5ndGgmJihlPWIuc2hpZnQoKSk7KWIubGVuZ3RofHx2b2lkIDA9PT1jP2RbZV0mJmRbZV0hPT1P YmplY3QucHJvdG90eXBlW2VdP2Q9ZFtlXTpkPWRbZV09e306ZFtlXT1jfSxEYT1mdW5jdGlvbihi LGMpe2Z1bmN0aW9uIGQoKXt9ZC5wcm90b3R5cGU9Yy5wcm90b3R5cGU7Yi5XPWMucHJvdG90eXBl O2IucHJvdG90eXBlPW5ldyBkO2IucHJvdG90eXBlLmNvbnN0cnVjdG9yPWJ9O3ZhciBFYT1BcnJh eS5wcm90b3R5cGUuaW5kZXhPZj9mdW5jdGlvbihiLGMpe3JldHVybiBBcnJheS5wcm90b3R5cGUu aW5kZXhPZi5jYWxsKGIsYyx2b2lkIDApfTpmdW5jdGlvbihiLGMpe2lmKHR5cGVvZiBiPT09dily ZXR1cm4gdHlwZW9mIGMhPT12fHwxIT1jLmxlbmd0aD8tMTpiLmluZGV4T2YoYywwKTtmb3IodmFy IGQ9MDtkPGIubGVuZ3RoO2QrKylpZihkIGluIGImJmJbZF09PT1jKXJldHVybiBkO3JldHVybi0x fSxGYT1BcnJheS5wcm90b3R5cGUuZm9yRWFjaD9mdW5jdGlvbihiLApjLGQpe0FycmF5LnByb3Rv dHlwZS5mb3JFYWNoLmNhbGwoYixjLGQpfTpmdW5jdGlvbihiLGMsZCl7Zm9yKHZhciBlPWIubGVu Z3RoLGY9dHlwZW9mIGI9PT12P2Iuc3BsaXQoIiIpOmIsZz0wO2c8ZTtnKyspZyBpbiBmJiZjLmNh bGwoZCxmW2ddLGcsYil9LEdhPWZ1bmN0aW9uKGIsYyl7YTp7Zm9yKHZhciBkPWIubGVuZ3RoLGU9 dHlwZW9mIGI9PT12P2Iuc3BsaXQoIiIpOmIsZj0wO2Y8ZDtmKyspaWYoZiBpbiBlJiZjLmNhbGwo dm9pZCAwLGVbZl0sZixiKSl7Yz1mO2JyZWFrIGF9Yz0tMX1yZXR1cm4gMD5jP251bGw6dHlwZW9m IGI9PT12P2IuY2hhckF0KGMpOmJbY119LEhhPWZ1bmN0aW9uKGIsYyl7Yz1FYShiLGMpO3ZhciBk OyhkPTA8PWMpJiZBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoYixjLDEpO3JldHVybiBkfSxJ YT1mdW5jdGlvbihiKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxhcmd1 bWVudHMpfSxKYT1mdW5jdGlvbihiKXt2YXIgYz0KYi5sZW5ndGg7aWYoMDxjKXtmb3IodmFyIGQ9 QXJyYXkoYyksZT0wO2U8YztlKyspZFtlXT1iW2VdO3JldHVybiBkfXJldHVybltdfTt2YXIgS2E9 ZnVuY3Rpb24oYixjKXtyZXR1cm4gbnVsbCE9PWImJmMgaW4gYn0sTGE9ImNvbnN0cnVjdG9yIGhh c093blByb3BlcnR5IGlzUHJvdG90eXBlT2YgcHJvcGVydHlJc0VudW1lcmFibGUgdG9Mb2NhbGVT dHJpbmcgdG9TdHJpbmcgdmFsdWVPZiIuc3BsaXQoIiAiKSxNYT1mdW5jdGlvbihiLGMpe2Zvcih2 YXIgZCxlLGY9MTtmPGFyZ3VtZW50cy5sZW5ndGg7ZisrKXtlPWFyZ3VtZW50c1tmXTtmb3IoZCBp biBlKWJbZF09ZVtkXTtmb3IodmFyIGc9MDtnPExhLmxlbmd0aDtnKyspZD1MYVtnXSxPYmplY3Qu cHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxkKSYmKGJbZF09ZVtkXSl9fTt2YXIgUGE9 ZnVuY3Rpb24oYixjKXt0aGlzLmY9Yj09PU5hJiZjfHwiIjt0aGlzLmc9T2F9O1BhLnByb3RvdHlw ZS5jPSEwO3ZhciBRYT1mdW5jdGlvbihiKXtpZihiIGluc3RhbmNlb2YKUGEmJmIuY29uc3RydWN0 b3I9PT1QYSYmYi5nPT09T2EpcmV0dXJuIGIuZjt3YShiKTtyZXR1cm4idHlwZV9lcnJvcjpUcnVz dGVkUmVzb3VyY2VVcmwifSxPYT17fSxOYT17fTt2YXIgUmE9U3RyaW5nLnByb3RvdHlwZS50cmlt P2Z1bmN0aW9uKGIpe3JldHVybiBiLnRyaW0oKX06ZnVuY3Rpb24oYil7cmV0dXJuL15bXHNceGEw XSooW1xzXFNdKj8pW1xzXHhhMF0qJC8uZXhlYyhiKVsxXX0sVGE9ZnVuY3Rpb24oYixjKXt2YXIg ZD0wO2I9UmEoU3RyaW5nKGIpKS5zcGxpdCgiLiIpO2M9UmEoU3RyaW5nKGMpKS5zcGxpdCgiLiIp O2Zvcih2YXIgZT1NYXRoLm1heChiLmxlbmd0aCxjLmxlbmd0aCksZj0wOzA9PWQmJmY8ZTtmKysp e3ZhciBnPWJbZl18fCIiLGs9Y1tmXXx8IiI7ZG97Zz0vKFxkKikoXEQqKSguKikvLmV4ZWMoZyl8 fFsiIiwiIiwiIiwiIl07az0vKFxkKikoXEQqKSguKikvLmV4ZWMoayl8fFsiIiwiIiwiIiwiIl07 aWYoMD09Z1swXS5sZW5ndGgmJjA9PWtbMF0ubGVuZ3RoKWJyZWFrOwpkPVNhKDA9PWdbMV0ubGVu Z3RoPzA6cGFyc2VJbnQoZ1sxXSwxMCksMD09a1sxXS5sZW5ndGg/MDpwYXJzZUludChrWzFdLDEw KSl8fFNhKDA9PWdbMl0ubGVuZ3RoLDA9PWtbMl0ubGVuZ3RoKXx8U2EoZ1syXSxrWzJdKTtnPWdb M107az1rWzNdfXdoaWxlKDA9PWQpfXJldHVybiBkfSxTYT1mdW5jdGlvbihiLGMpe3JldHVybiBi PGM/LTE6Yj5jPzE6MH07dmFyIEY7YTp7dmFyIFVhPXgubmF2aWdhdG9yO2lmKFVhKXt2YXIgVmE9 VWEudXNlckFnZW50O2lmKFZhKXtGPVZhO2JyZWFrIGF9fUY9IiJ9dmFyIEc9ZnVuY3Rpb24oYil7 cmV0dXJuLTEhPUYuaW5kZXhPZihiKX0sV2E9ZnVuY3Rpb24oYil7Zm9yKHZhciBjPS8oXHdbXHcg XSspXC8oW15cc10rKVxzKig/OlwoKC4qPylcKSk/L2csZD1bXSxlO2U9Yy5leGVjKGIpOylkLnB1 c2goW2VbMV0sZVsyXSxlWzNdfHx2b2lkIDBdKTtyZXR1cm4gZH07dmFyIFhhPWZ1bmN0aW9uKCl7 cmV0dXJuIEcoIkZpcmVmb3giKXx8RygiRnhpT1MiKX0sCllhPWZ1bmN0aW9uKCl7cmV0dXJuKEco IkNocm9tZSIpfHxHKCJDcmlPUyIpKSYmIUcobil9LCRhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYihm KXtmPUdhKGYsZSk7cmV0dXJuIGRbZl18fCIifXZhciBjPUY7aWYoRygiVHJpZGVudCIpfHxHKCJN U0lFIikpcmV0dXJuIFphKGMpO2M9V2EoYyk7dmFyIGQ9e307RmEoYyxmdW5jdGlvbihmKXtkW2Zb MF1dPWZbMV19KTt2YXIgZT1CYShLYSxkKTtyZXR1cm4gRyhiYSk/YihbIlZlcnNpb24iLGJhXSk6 RyhuKT9iKFtuXSk6RygiRWRnLyIpP2IoWyJFZGciXSk6WWEoKT9iKFsiQ2hyb21lIiwiQ3JpT1Mi LCJIZWFkbGVzc0Nocm9tZSJdKTooYz1jWzJdKSYmY1sxXXx8IiJ9LFphPWZ1bmN0aW9uKGIpe3Zh ciBjPS9ydjogKihbXGRcLl0qKS8uZXhlYyhiKTtpZihjJiZjWzFdKXJldHVybiBjWzFdO2M9IiI7 dmFyIGQ9L01TSUUgKyhbXGRcLl0rKS8uZXhlYyhiKTtpZihkJiZkWzFdKWlmKGI9L1RyaWRlbnRc LyhcZC5cZCkvLmV4ZWMoYiksIjcuMCI9PQpkWzFdKWlmKGImJmJbMV0pc3dpdGNoKGJbMV0pe2Nh c2UgIjQuMCI6Yz0iOC4wIjticmVhaztjYXNlICI1LjAiOmM9IjkuMCI7YnJlYWs7Y2FzZSAiNi4w IjpjPSIxMC4wIjticmVhaztjYXNlICI3LjAiOmM9IjExLjAifWVsc2UgYz0iNy4wIjtlbHNlIGM9 ZFsxXTtyZXR1cm4gY307TWF0aC5mbG9vcigyMTQ3NDgzNjQ4Kk1hdGgucmFuZG9tKCkpLnRvU3Ry aW5nKDM2KTtNYXRoLmFicyhNYXRoLmZsb29yKDIxNDc0ODM2NDgqTWF0aC5yYW5kb20oKSleQ2Eo KSkudG9TdHJpbmcoMzYpO3ZhciBhYj1mdW5jdGlvbihiKXthYlsiICJdKGIpO3JldHVybiBifTth YlsiICJdPXZhO3ZhciBjYj1mdW5jdGlvbihiLGMpe3ZhciBkPWJiO3JldHVybiBPYmplY3QucHJv dG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZCxiKT9kW2JdOmRbYl09YyhiKX07dmFyIGRiPUco YmEpLEg9RygiVHJpZGVudCIpfHxHKCJNU0lFIiksZWI9RyhuKSxmYj1HKCJHZWNrbyIpJiYhKC0x IT1GLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigid2Via2l0IikmJgohRyhuKSkmJiEoRygiVHJpZGVu dCIpfHxHKCJNU0lFIikpJiYhRyhuKSxnYj0tMSE9Ri50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIndl YmtpdCIpJiYhRyhuKSxoYj1mdW5jdGlvbigpe3ZhciBiPXguZG9jdW1lbnQ7cmV0dXJuIGI/Yi5k b2N1bWVudE1vZGU6dm9pZCAwfSxpYjthOnt2YXIgamI9IiIsa2I9ZnVuY3Rpb24oKXt2YXIgYj1G O2lmKGZiKXJldHVybi9ydjooW15cKTtdKykoXCl8OykvLmV4ZWMoYik7aWYoZWIpcmV0dXJuL0Vk Z2VcLyhbXGRcLl0rKS8uZXhlYyhiKTtpZihIKXJldHVybi9cYig/Ok1TSUV8cnYpWzogXShbXlwp O10rKShcKXw7KS8uZXhlYyhiKTtpZihnYilyZXR1cm4vV2ViS2l0XC8oXFMrKS8uZXhlYyhiKTtp ZihkYilyZXR1cm4vKD86VmVyc2lvbilbIFwvXT8oXFMrKS8uZXhlYyhiKX0oKTtrYiYmKGpiPWti P2tiWzFdOiIiKTtpZihIKXt2YXIgbGI9aGIoKTtpZihudWxsIT1sYiYmbGI+cGFyc2VGbG9hdChq Yikpe2liPVN0cmluZyhsYik7YnJlYWsgYX19aWI9CmpifXZhciBtYj1pYixiYj17fSxuYj1mdW5j dGlvbihiKXtyZXR1cm4gY2IoYixmdW5jdGlvbigpe3JldHVybiAwPD1UYShtYixiKX0pfSxvYjtp Zih4LmRvY3VtZW50JiZIKXt2YXIgcGI9aGIoKTtvYj1wYj9wYjpwYXJzZUludChtYiwxMCl8fHZv aWQgMH1lbHNlIG9iPXZvaWQgMDt2YXIgcWI9b2I7dmFyIHJiPWZ1bmN0aW9uKCl7dGhpcy5pPXRo aXMuaTt0aGlzLnc9dGhpcy53fTtyYi5wcm90b3R5cGUuaT0hMTtyYi5wcm90b3R5cGUuaj1mdW5j dGlvbigpe2lmKHRoaXMudylmb3IoO3RoaXMudy5sZW5ndGg7KXRoaXMudy5zaGlmdCgpKCl9O3Zh ciBzYj1mdW5jdGlvbihiLGMpe3RoaXMudHlwZT1iO3RoaXMuYj10aGlzLnRhcmdldD1jO3RoaXMu ZGVmYXVsdFByZXZlbnRlZD0hMX07c2IucHJvdG90eXBlLmM9ZnVuY3Rpb24oKXt0aGlzLmRlZmF1 bHRQcmV2ZW50ZWQ9ITB9O3ZhciB0YjsodGI9IUgpfHwodGI9OTw9TnVtYmVyKHFiKSk7dmFyIHVi PXRiLHZiPUgmJiFuYigiOSIpLAp3Yj1mdW5jdGlvbigpe2lmKCF4LmFkZEV2ZW50TGlzdGVuZXJ8 fCFPYmplY3QuZGVmaW5lUHJvcGVydHkpcmV0dXJuITE7dmFyIGI9ITEsYz1PYmplY3QuZGVmaW5l UHJvcGVydHkoe30sInBhc3NpdmUiLHtnZXQ6ZnVuY3Rpb24oKXtiPSEwfX0pO3RyeXt4LmFkZEV2 ZW50TGlzdGVuZXIoInRlc3QiLHZhLGMpLHgucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsdmEs Yyl9Y2F0Y2goZCl7fXJldHVybiBifSgpO3ZhciB5Yj1mdW5jdGlvbihiLGMpe3NiLmNhbGwodGhp cyxiP2IudHlwZToiIik7dGhpcy5yZWxhdGVkVGFyZ2V0PXRoaXMuYj10aGlzLnRhcmdldD1udWxs O3RoaXMuYnV0dG9uPXRoaXMuc2NyZWVuWT10aGlzLnNjcmVlblg9dGhpcy5jbGllbnRZPXRoaXMu Y2xpZW50WD0wO3RoaXMua2V5PSIiO3RoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuYWx0 S2V5PXRoaXMuY3RybEtleT0hMTt0aGlzLnBvaW50ZXJJZD0wO3RoaXMucG9pbnRlclR5cGU9IiI7 dGhpcy5mPW51bGw7CmlmKGIpe3ZhciBkPXRoaXMudHlwZT1iLnR5cGUsZT1iLmNoYW5nZWRUb3Vj aGVzJiZiLmNoYW5nZWRUb3VjaGVzLmxlbmd0aD9iLmNoYW5nZWRUb3VjaGVzWzBdOm51bGw7dGhp cy50YXJnZXQ9Yi50YXJnZXR8fGIuc3JjRWxlbWVudDt0aGlzLmI9YztpZihjPWIucmVsYXRlZFRh cmdldCl7aWYoZmIpe2E6e3RyeXthYihjLm5vZGVOYW1lKTt2YXIgZj0hMDticmVhayBhfWNhdGNo KGcpe31mPSExfWZ8fChjPW51bGwpfX1lbHNlIm1vdXNlb3ZlciI9PWQ/Yz1iLmZyb21FbGVtZW50 OiJtb3VzZW91dCI9PWQmJihjPWIudG9FbGVtZW50KTt0aGlzLnJlbGF0ZWRUYXJnZXQ9YztlPyh0 aGlzLmNsaWVudFg9dm9pZCAwIT09ZS5jbGllbnRYP2UuY2xpZW50WDplLnBhZ2VYLHRoaXMuY2xp ZW50WT12b2lkIDAhPT1lLmNsaWVudFk/ZS5jbGllbnRZOmUucGFnZVksdGhpcy5zY3JlZW5YPWUu c2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9ZS5zY3JlZW5ZfHwwKToodGhpcy5jbGllbnRYPXZvaWQg MCE9PQpiLmNsaWVudFg/Yi5jbGllbnRYOmIucGFnZVgsdGhpcy5jbGllbnRZPXZvaWQgMCE9PWIu Y2xpZW50WT9iLmNsaWVudFk6Yi5wYWdlWSx0aGlzLnNjcmVlblg9Yi5zY3JlZW5YfHwwLHRoaXMu c2NyZWVuWT1iLnNjcmVlbll8fDApO3RoaXMuYnV0dG9uPWIuYnV0dG9uO3RoaXMua2V5PWIua2V5 fHwiIjt0aGlzLmN0cmxLZXk9Yi5jdHJsS2V5O3RoaXMuYWx0S2V5PWIuYWx0S2V5O3RoaXMuc2hp ZnRLZXk9Yi5zaGlmdEtleTt0aGlzLm1ldGFLZXk9Yi5tZXRhS2V5O3RoaXMucG9pbnRlcklkPWIu cG9pbnRlcklkfHwwO3RoaXMucG9pbnRlclR5cGU9dHlwZW9mIGIucG9pbnRlclR5cGU9PT12P2Iu cG9pbnRlclR5cGU6eGJbYi5wb2ludGVyVHlwZV18fCIiO3RoaXMuZj1iO2IuZGVmYXVsdFByZXZl bnRlZCYmdGhpcy5jKCl9fTtEYSh5YixzYik7dmFyIHhiPXsyOiJ0b3VjaCIsMzoicGVuIiw0OiJt b3VzZSJ9O3liLnByb3RvdHlwZS5jPWZ1bmN0aW9uKCl7eWIuVy5jLmNhbGwodGhpcyk7CnZhciBi PXRoaXMuZjtpZihiLnByZXZlbnREZWZhdWx0KWIucHJldmVudERlZmF1bHQoKTtlbHNlIGlmKGIu cmV0dXJuVmFsdWU9ITEsdmIpdHJ5e2lmKGIuY3RybEtleXx8MTEyPD1iLmtleUNvZGUmJjEyMz49 Yi5rZXlDb2RlKWIua2V5Q29kZT0tMX1jYXRja--===============1461887856== Content-Type: multipart/related; boundary="00000000000027b64a05a6cf5832"
--00000000000027b64a05a6cf5832 Content-Type: multipart/alternative; boundary="00000000000027b64805a6cf5831"
--00000000000027b64805a6cf5831 Content-Type: text/plain; charset="UTF-8"
Hi,
Updating GNU Health 3.6.3 to 3.6.4 running the database upgrade step throws below error
gnuhealth-at-osboxes:~/gnuhealth/tryton/server/trytond-5.0.23/bin $ ./trytond-admin --all --database=health Traceback (most recent call last): File "./trytond-admin", line 21, in admin.run(options) File "/home/gnuhealth/gnuhealth/tryton/server/trytond-5.0.23/trytond/admin.py", line 54, in run activatedeps=options.activatedeps) File "/home/gnuhealth/gnuhealth/tryton/server/trytond-5.0.23/trytond/pool.py", line 149, in init self.start() File "/home/gnuhealth/gnuhealth/tryton/server/trytond-5.0.23/trytond/pool.py", line 102, in start register_classes() File "/home/gnuhealth/gnuhealth/tryton/server/trytond-5.0.23/trytond/modules/__init__.py", line 323, in register_classes for node in create_graph(get_module_list()): File "/home/gnuhealth/gnuhealth/tryton/server/trytond-5.0.23/trytond/modules/__init__.py", line 159, in create_graph raise MissingDependenciesException(list(missing)) trytond.exceptions.MissingDependenciesException: Missing dependencies: webdav calendar gnuhealth-at-osboxes:~/gnuhealth/tryton/server/trytond-5.0.23/bin $
-- Best and Regards Ronald Munjoma +263 775 625 283
[image: image]
Ronald Munjoma [image: image] about.me/ronaldmunjoma
--00000000000027b64805a6cf5831 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
rrow,sans-serif">Hi, :arial narrow,sans-serif">
ont-family:arial narrow,sans-serif">Updating GNU Health 3.6.3 to 3.6.4 runn= ing the database upgrade step throws below error efault" style=3D"font-family:arial narrow,sans-serif">
=3D"gmail_default" style=3D"font-family:arial narrow,sans-serif">gnuhealth-at-= osboxes:~/gnuhealth/tryton/server/trytond-5.0.23/bin $ ./trytond-admin --al= l --database=3Dhealth Traceback (most recent call last): =C2=A0 File = "./trytond-admin", line 21, in <module> =C2=A0 =C2=A0 ad= min.run(options) =C2=A0 File "/home/gnuhealth/gnuhealth/tryton/serv= er/trytond-5.0.23/trytond/admin.py", line 54, in run =C2=A0 =C2=A0 = activatedeps=3Doptions.activatedeps) =C2=A0 File "/home/gnuhealth/g= nuhealth/tryton/server/trytond-5.0.23/trytond/pool.py", line 149, in i= nit =C2=A0 =C2=A0 self.start() =C2=A0 File "/home/gnuhealth/gnuh= ealth/tryton/server/trytond-5.0.23/trytond/pool.py", line 102, in star= t =C2=A0 =C2=A0 register_classes() =C2=A0 File "/home/gnuhealth/= gnuhealth/tryton/server/trytond-5.0.23/trytond/modules/__init__.py", l= ine 323, in register_classes =C2=A0 =C2=A0 for node in create_graph(get_= module_list()): =C2=A0 File "/home/gnuhealth/gnuhealth/tryton/serve= r/trytond-5.0.23/trytond/modules/__init__.py", line 159, in create_gra= ph =C2=A0 =C2=A0 raise MissingDependenciesException(list(missing)) tr= ytond.exceptions.MissingDependenciesException: Missing dependencies: webdav= calendar gnuhealth-at-osboxes:~/gnuhealth/tryton/server/trytond-5.0.23/bin= $=C2=A0
-- nature" data-smartmail=3D"gmail_signature"> =3D"ltr"> al narrow, sans-serif">Best and Regards ly:arial;font-size:small">Ronald Mu= njoma ce=3D"arial narrow, sans-serif">+263 775 625 283 font-family:arial;font-size:small"> llspacing=3D"0" style=3D"margin:0px;padding:0px;border:0px;outline:0px;font= -size:14px;font-family:proxima-nova-1,proxima-nova-2,Tahoma,Helvetica,Verda= na,sans-serif;vertical-align:baseline;border-spacing:0px;color:rgb(51,51,51= );line-height:18.2px">line:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertica= l-align:baseline">x;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align= :baseline">it;font-size:0px;font-family:inherit;vertical-align:baseline;width:auto;hei= ght:30px">=C2=A0 | tline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertic= al-align:baseline">le:inherit;font-family:inherit;vertical-align:baseline;width:auto">le=3D"margin:0px;padding:0px;border:0px;outline:0px;font-weight:inherit;fon= t-style:inherit;font-family:inherit;vertical-align:baseline;line-height:0">= n:0px;padding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inh= erit;font-family:inherit;vertical-align:baseline;color:rgb(43,130,173);text= -decoration:none;display:inline-block" target=3D"_blank">" cellpadding=3D"0" cellspacing=3D"0" style=3D"margin:0px;padding:0px;borde= r:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inheri= t;vertical-align:baseline;border-spacing:0px">dding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inherit;fon= t-family:inherit;vertical-align:baseline">px;border:0px;outline:0px;font-weight:inherit;font-style:inherit;font-famil= y:inherit;vertical-align:baseline">=3D"padding:0px;border:0px;outline:0px;font-style:inherit;font-family:inher= it;vertical-align:top;width:48px;line-height:1">nvkzs0" alt=3D"image"> :0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit= ;vertical-align:baseline"> /signature/me-badge.png" alt=3D"" width=3D"48" height=3D"48" style=3D"margi= n:0px;padding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inh= erit;font-family:inherit;vertical-align:baseline;display:block"> | =
e:0px;font-family:inherit;vertical-align:baseline;width:8px">=C2=A0 | align=3D"left" valign=3D"middle" style=3D"padding:0px;border:0px;outline:0= px;font-style:inherit;font-family:inherit;vertical-align:middle;width:auto;= height:48px;line-height:1">outline:0px;font-weight:bold;font-style:inherit;font-size:18px;font-family:= proxima-nova-1,Proxima-Nova,Helvetica,Arial,sans-serif;vertical-align:basel= ine;color:rgb(51,51,51)">Ronald Munjoma px;padding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inheri= t;font-size:12px;font-family:proxima-nova-1,Proxima-Nova,Helvetica,Arial,sa= ns-serif;vertical-align:baseline"> "image"> about.me/ronaldmunjoma | >=C2=A0 | utline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;verti= cal-align:baseline">yle:inherit;font-size:0px;font-family:inherit;vertical-align:baseline;width= :auto;height:20px">dth=3D"1" height=3D"1" style=3D"margin:0px;padding:0px;border:0px;outline:0= px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-alig= n:baseline;overflow:hidden"> | iv> --00000000000027b64805a6cf5831-- --00000000000027b64a05a6cf5832 Content-Type: text/html; charset="US-ASCII"; name=image Content-Disposition: inline; filename=image Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: ii_kasnvl4f1
PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZW4tR0IiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9 IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij48dGl0bGU+ R21haWw8L3RpdGxlPjxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0i SUU9ZWRnZSI+PG1ldGEgbmFtZT0iZ29vZ2xlIiB2YWx1ZT0ibm90cmFuc2xhdGUiPjxtZXRhIG5h bWU9ImFwcGxpY2F0aW9uLW5hbWUiIGNvbnRlbnQ9IkdtYWlsIj48bWV0YSBuYW1lPSJkZXNjcmlw dGlvbiIgY29udGVudD0iR29vZ2xlJiMzOTtzIGFwcHJvYWNoIHRvIGVtYWlsIj48bWV0YSBuYW1l PSJhcHBsaWNhdGlvbi11cmwiIGNvbnRlbnQ9Imh0dHBzOi8vbWFpbC5nb29nbGUuY29tL21haWwv dS8wIj48bWV0YSBuYW1lPSJnb29nbGUiIGNvbnRlbnQ9Im5vdHJhbnNsYXRlIj48bGluayByZWw9 ImNhbm9uaWNhbCIgaHJlZj0iaHR0cHM6Ly9tYWlsLmdvb2dsZS5jb20vbWFpbC8iLz48bGluayBy ZWw9InNob3J0Y3V0IGljb24iIGhyZWY9Imh0dHBzOi8vc3NsLmdzdGF0aWMuY29tL3VpL3YxL2lj b25zL21haWwvaW1hZ2VzL2Zhdmljb241LmljbyIgdHlwZT0iaW1hZ2UveC1pY29uIj48bGluayBy ZWw9ImFsdGVybmF0ZSIgdHlwZT0iYXBwbGljYXRpb24vYXRvbSt4bWwiIHRpdGxlPSJHbWFpbCBB dG9tIEZlZWQiIGhyZWY9ImZlZWQvYXRvbSI+PGxpbmsgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0 IiBocmVmPSIvXy9zY3MvbWFpbC1zdGF0aWMvXy9qcy9rPWdtYWlsLm1haW4uZW5fR0IuT1FaT3lN WVZhYmsuTy9hbT0xLXZ2U1hnZy1DTHdaV2NFTkFBd1BvQlRxZEktd0g5UlN0Tl9lQ1Q4SHBNSDRD RUdIb0Q5RC1vREFBQUFBQUFBQUFBQUFBQUFBQUNBUFNCREpRL2Q9MS9pbT0xL2RnPTAvY3Q9emdt cy9ycz1BSEdXcTlBTHJQWFRoeEtoNFp6TjZwR2RCM2V1Q3dfazdBL209YiIgbm9uY2U9IjJzMGVa MDNWVmNQY1J0UVFSd2I3ZEEiPjxsaW5rIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIgaHJlZj0i L18vc2NzL21haWwtc3RhdGljL18vanMvaz1nbWFpbC5tYWluLmVuX0dCLk9RWk95TVlWYWJrLk8v YW09MS12dlNYZ2ctQ0x3WldjRU5BQXdQb0JUcWRJLXdIOVJTdE5fZUNUOEhwTUg0Q0VHSG9EOUQt b0RBQUFBQUFBQUFBQUFBQUFBQUFDQVBTQkRKUS9kPTEvZXhtPWIvZWQ9MS9pbT0xL2RnPTAvY3Q9 emdtcy9ycz1BSEdXcTlBTHJQWFRoeEtoNFp6TjZwR2RCM2V1Q3dfazdBL209YSIgbm9uY2U9IjJz MGVaMDNWVmNQY1J0UVFSd2I3ZEEiPjxsaW5rIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIgaHJl Zj0iL18vc2NzL21haWwtc3RhdGljL18vanMvaz1nbWFpbC5tYWluLmVuX0dCLk9RWk95TVlWYWJr Lk8vYW09MS12dlNYZ2ctQ0x3WldjRU5BQXdQb0JUcWRJLXdIOVJTdE5fZUNUOEhwTUg0Q0VHSG9E OUQtb0RBQUFBQUFBQUFBQUFBQUFBQUFDQVBTQkRKUS9kPTEvZXhtPWEsYi9lZD0xL2ltPTEvZGc9 MC9jdD16Z21zL3JzPUFIR1dxOUFMclBYVGh4S2g0WnpONnBHZEIzZXVDd19rN0EvbT1tLG1faSxp MjBqZmQsbEtyV3hjLGhralhKLGdZT2w2ZCxIWExqSWIsREw4alplLHhhUWN5ZSxvUm1IdCxFMVAw a2QscEU5MmxiLHYyZUVCYyIgbm9uY2U9IjJzMGVaMDNWVmNQY1J0UVFSd2I3ZEEiPjxsaW5rIHJl bD0icHJlbG9hZCIgYXM9InNjcmlwdCIgaHJlZj0iL18vc2NzL21haWwtc3RhdGljL18vanMvaz1n bWFpbC5tYWluLmVuX0dCLk9RWk95TVlWYWJrLk8vYW09MS12dlNYZ2ctQ0x3WldjRU5BQXdQb0JU cWRJLXdIOVJTdE5fZUNUOEhwTUg0Q0VHSG9EOUQtb0RBQUFBQUFBQUFBQUFBQUFBQUFDQVBTQkRK US9kPTEvZXhtPURMOGpaZSxFMVAwa2QsSFhMakliLGEsYixnWU9sNmQsaGtqWEosaTIwamZkLGxL cld4YyxtLG1faSxvUm1IdCxwRTkybGIsdjJlRUJjLHhhUWN5ZS9lZD0xL2ltPTEvZGc9MC9jdD16 Z21zL3JzPUFIR1dxOUFMclBYVGh4S2g0WnpONnBHZEIzZXVDd19rN0EvbT1zcHMsbCxzcGl0LHQs aXQsYW5jIiBub25jZT0iMnMwZVowM1ZWY1BjUnRRUVJ3YjdkQSI+PHN0eWxlIHR5cGU9InRleHQv Y3NzIiBub25jZT0iMnMwZVowM1ZWY1BjUnRRUVJ3YjdkQSI+CkBmb250LWZhY2UgeyBmb250LWZh bWlseTogJ0dvb2dsZSBTYW5zJzsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdodDogNDAw OyBzcmM6IGxvY2FsKCdHb29nbGUgU2FucyBSZWd1bGFyJyksIGxvY2FsKCdHb29nbGVTYW5zLVJl Z3VsYXInKSwgdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3YxNC80VWFHckVO SHN4SmxHRHVHbzFPSWxMM0t3cDVNS2cud29mZjIpIGZvcm1hdCgnd29mZjInKTsgdW5pY29kZS1y YW5nZTogVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2OyB9IEBm b250LWZhY2UgeyBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zJzsgZm9udC1zdHlsZTogbm9ybWFs OyBmb250LXdlaWdodDogNDAwOyBzcmM6IGxvY2FsKCdHb29nbGUgU2FucyBSZWd1bGFyJyksIGxv Y2FsKCdHb29nbGVTYW5zLVJlZ3VsYXInKSwgdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29n bGVzYW5zL3YxNC80VWFHckVOSHN4SmxHRHVHbzFPSWxMM053cDVNS2cud29mZjIpIGZvcm1hdCgn d29mZjInKTsgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzRkY7IH0gQGZvbnQtZmFjZSB7IGZvbnQt ZmFtaWx5OiAnR29vZ2xlIFNhbnMnOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0 MDA7IHNyYzogbG9jYWwoJ0dvb2dsZSBTYW5zIFJlZ3VsYXInKSwgbG9jYWwoJ0dvb2dsZVNhbnMt UmVndWxhcicpLCB1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnMvdjE0LzRVYUdy RU5Ic3hKbEdEdUdvMU9JbEwzQndwNU1LZy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOyB1bmljb2Rl LXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2 OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzFFQTAtMUVGOSwgVSsyMEFCOyB9IEBmb250 LWZhY2UgeyBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zJzsgZm9udC1zdHlsZTogbm9ybWFsOyBm b250LXdlaWdodDogNDAwOyBzcmM6IGxvY2FsKCdHb29nbGUgU2FucyBSZWd1bGFyJyksIGxvY2Fs KCdHb29nbGVTYW5zLVJlZ3VsYXInKSwgdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVz YW5zL3YxNC80VWFHckVOSHN4SmxHRHVHbzFPSWxMM0F3cDVNS2cud29mZjIpIGZvcm1hdCgnd29m ZjInKTsgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyNEYsIFUrMDI1OSwgVSsxRTAwLTFFRkYsIFUr MjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3 MjAtQTdGRjsgfSBAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICdHb29nbGUgU2Fucyc7IGZvbnQt c3R5bGU6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgc3JjOiBsb2NhbCgnR29vZ2xlIFNhbnMg UmVndWxhcicpLCBsb2NhbCgnR29vZ2xlU2Fucy1SZWd1bGFyJyksIHVybCgvL2ZvbnRzLmdzdGF0 aWMuY29tL3MvZ29vZ2xlc2Fucy92MTQvNFVhR3JFTkhzeEpsR0R1R28xT0lsTDNPd3A0LndvZmYy KSBmb3JtYXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUr MDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSsyMDAwLTIw NkYsIFUrMjA3NCwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIx NSwgVStGRUZGLCBVK0ZGRkQ7IH0gQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNh bnMnOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA1MDA7IHNyYzogbG9jYWwoJ0dv b2dsZSBTYW5zIE1lZGl1bScpLCBsb2NhbCgnR29vZ2xlU2Fucy1NZWRpdW0nKSwgdXJsKC8vZm9u dHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3YxNC80VWFickVOSHN4SmxHRHVHbzFPSWxMVTk0 WXQzQ3daLVB3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFuZ2U6IFUrMDQwMC0w NDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsgfSBAZm9udC1mYWNlIHsgZm9u dC1mYW1pbHk6ICdHb29nbGUgU2Fucyc7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC13ZWlnaHQ6 IDUwMDsgc3JjOiBsb2NhbCgnR29vZ2xlIFNhbnMgTWVkaXVtJyksIGxvY2FsKCdHb29nbGVTYW5z LU1lZGl1bScpLCB1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnMvdjE0LzRVYWJy RU5Ic3hKbEdEdUdvMU9JbExVOTRZdHdDd1otUHcud29mZjIpIGZvcm1hdCgnd29mZjInKTsgdW5p Y29kZS1yYW5nZTogVSswMzcwLTAzRkY7IH0gQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnR29v Z2xlIFNhbnMnOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA1MDA7IHNyYzogbG9j YWwoJ0dvb2dsZSBTYW5zIE1lZGl1bScpLCBsb2NhbCgnR29vZ2xlU2Fucy1NZWRpdW0nKSwgdXJs KC8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3YxNC80VWFickVOSHN4SmxHRHVHbzFP SWxMVTk0WXQ4Q3daLVB3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFuZ2U6IFUr MDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAt MDFBMSwgVSswMUFGLTAxQjAsIFUrMUVBMC0xRUY5LCBVKzIwQUI7IH0gQGZvbnQtZmFjZSB7IGZv bnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMnOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0 OiA1MDA7IHNyYzogbG9jYWwoJ0dvb2dsZSBTYW5zIE1lZGl1bScpLCBsb2NhbCgnR29vZ2xlU2Fu cy1NZWRpdW0nKSwgdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3YxNC80VWFi ckVOSHN4SmxHRHVHbzFPSWxMVTk0WXQ5Q3daLVB3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7IHVu aWNvZGUtcmFuZ2U6IFUrMDEwMC0wMjRGLCBVKzAyNTksIFUrMUUwMC0xRUZGLCBVKzIwMjAsIFUr MjBBMC0yMEFCLCBVKzIwQUQtMjBDRiwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7 IH0gQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMnOyBmb250LXN0eWxlOiBu b3JtYWw7IGZvbnQtd2VpZ2h0OiA1MDA7IHNyYzogbG9jYWwoJ0dvb2dsZSBTYW5zIE1lZGl1bScp LCBsb2NhbCgnR29vZ2xlU2Fucy1NZWRpdW0nKSwgdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9n b29nbGVzYW5zL3YxNC80VWFickVOSHN4SmxHRHVHbzFPSWxMVTk0WXR6Q3dZLndvZmYyKSBmb3Jt YXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0w MTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSsyMDAwLTIwNkYsIFUr MjA3NCwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStG RUZGLCBVK0ZGRkQ7IH0gQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnUHJvZHVjdCBTYW5zJzsg Zm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBzcmM6IGxvY2FsKCdQcm9kdWN0 IFNhbnMnKSwgbG9jYWwoJ1Byb2R1Y3RTYW5zLVJlZ3VsYXInKSwgdXJsKC8vZm9udHMuZ3N0YXRp Yy5jb20vcy9wcm9kdWN0c2Fucy92OS9weGlEeXBRa290MVRuRmhzRk1PZkdTaFZHZGVPY0VnLndv ZmYyKSBmb3JtYXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMjRGLCBVKzAyNTks IFUrMUUwMC0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDRiwgVSsyMTEzLCBV KzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7IH0gQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnUHJv ZHVjdCBTYW5zJzsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBzcmM6IGxv Y2FsKCdQcm9kdWN0IFNhbnMnKSwgbG9jYWwoJ1Byb2R1Y3RTYW5zLVJlZ3VsYXInKSwgdXJsKC8v Zm9udHMuZ3N0YXRpYy5jb20vcy9wcm9kdWN0c2Fucy92OS9weGlEeXBRa290MVRuRmhzRk1PZkdT aFZGOWVPLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZG LCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJE QywgVSsyMDAwLTIwNkYsIFUrMjA3NCwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBV KzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7IH0gQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5 OiAnUm9ib3RvJzsgZm9udC1zdHlsZTogaXRhbGljOyBmb250LXdlaWdodDogNDAwOyBzcmM6IGxv Y2FsKCdSb2JvdG8gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tSXRhbGljJyksIHVybCgvL2ZvbnRz LmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YxOC9LRk9rQ25xRXU5MkZyMU11NTF4Rkl6SUZLdy53b2Zm MikgZm9ybWF0KCd3b2ZmMicpOyB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFD ODgsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsgfSBAZm9u dC1mYWNlIHsgZm9udC1mYW1pbHk6ICdSb2JvdG8nOyBmb250LXN0eWxlOiBpdGFsaWM7IGZvbnQt d2VpZ2h0OiA0MDA7IHNyYzogbG9jYWwoJ1JvYm90byBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1J dGFsaWMnKSwgdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tGT2tDbnFFdTky RnIxTXU1MXhNSXpJRkt3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFuZ2U6IFUr MDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsgfSBAZm9udC1mYWNl IHsgZm9udC1mYW1pbHk6ICdSb2JvdG8nOyBmb250LXN0eWxlOiBpdGFsaWM7IGZvbnQtd2VpZ2h0 OiA0MDA7IHNyYzogbG9jYWwoJ1JvYm90byBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1JdGFsaWMn KSwgdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tGT2tDbnFFdTkyRnIxTXU1 MXhFSXpJRkt3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0x RkZGOyB9IEBmb250LWZhY2UgeyBmb250LWZhbWlseTogJ1JvYm90byc7IGZvbnQtc3R5bGU6IGl0 YWxpYzsgZm9udC13ZWlnaHQ6IDQwMDsgc3JjOiBsb2NhbCgnUm9ib3RvIEl0YWxpYycpLCBsb2Nh bCgnUm9ib3RvLUl0YWxpYycpLCB1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92MTgv S0ZPa0NucUV1OTJGcjFNdTUxeExJeklGS3cud29mZjIpIGZvcm1hdCgnd29mZjInKTsgdW5pY29k ZS1yYW5nZTogVSswMzcwLTAzRkY7IH0gQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnUm9ib3Rv JzsgZm9udC1zdHlsZTogaXRhbGljOyBmb250LXdlaWdodDogNDAwOyBzcmM6IGxvY2FsKCdSb2Jv dG8gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tSXRhbGljJyksIHVybCgvL2ZvbnRzLmdzdGF0aWMu Y29tL3Mvcm9ib3RvL3YxOC9LRk9rQ25xRXU5MkZyMU11NTF4SEl6SUZLdy53b2ZmMikgZm9ybWF0 KCd3b2ZmMicpOyB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEy OC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzFFQTAtMUVG OSwgVSsyMEFCOyB9IEBmb250LWZhY2UgeyBmb250LWZhbWlseTogJ1JvYm90byc7IGZvbnQtc3R5 bGU6IGl0YWxpYzsgZm9udC13ZWlnaHQ6IDQwMDsgc3JjOiBsb2NhbCgnUm9ib3RvIEl0YWxpYycp LCBsb2NhbCgnUm9ib3RvLUl0YWxpYycpLCB1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90 by92MTgvS0ZPa0NucUV1OTJGcjFNdTUxeEdJeklGS3cud29mZjIpIGZvcm1hdCgnd29mZjInKTsg dW5pY29kZS1yYW5nZTogVSswMTAwLTAyNEYsIFUrMDI1OSwgVSsxRTAwLTFFRkYsIFUrMjAyMCwg VSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdG RjsgfSBAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICdSb2JvdG8nOyBmb250LXN0eWxlOiBpdGFs aWM7IGZvbnQtd2VpZ2h0OiA0MDA7IHNyYzogbG9jYWwoJ1JvYm90byBJdGFsaWMnKSwgbG9jYWwo J1JvYm90by1JdGFsaWMnKSwgdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tG T2tDbnFFdTkyRnIxTXU1MXhJSXpJLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFu Z2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2 LCBVKzAyREEsIFUrMDJEQywgVSsyMDAwLTIwNkYsIFUrMjA3NCwgVSsyMEFDLCBVKzIxMjIsIFUr MjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7IH0gQGZvbnQtZmFj ZSB7IGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdo dDogNDAwOyBzcmM6IGxvY2FsKCdSb2JvdG8gUmVndWxhcicpLCBsb2NhbCgnUm9ib3RvLVJlZ3Vs YXInKSwgdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tGT21DbnFFdTkyRnIx TXU3MnhLT3pZLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0w NTJGLCBVKzFDODAtMUM4OCwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUy RS1GRTJGOyB9IEBmb250LWZhY2UgeyBmb250LWZhbWlseTogJ1JvYm90byc7IGZvbnQtc3R5bGU6 IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgc3JjOiBsb2NhbCgnUm9ib3RvIFJlZ3VsYXInKSwg bG9jYWwoJ1JvYm90by1SZWd1bGFyJyksIHVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3Rv L3YxOC9LRk9tQ25xRXU5MkZyMU11NW14S096WS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOyB1bmlj b2RlLXJhbmdlOiBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7 IH0gQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsgZm9udC1zdHlsZTogbm9ybWFs OyBmb250LXdlaWdodDogNDAwOyBzcmM6IGxvY2FsKCdSb2JvdG8gUmVndWxhcicpLCBsb2NhbCgn Um9ib3RvLVJlZ3VsYXInKSwgdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tG T21DbnFFdTkyRnIxTXU3bXhLT3pZLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFu Z2U6IFUrMUYwMC0xRkZGOyB9IEBmb250LWZhY2UgeyBmb250LWZhbWlseTogJ1JvYm90byc7IGZv bnQtc3R5bGU6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgc3JjOiBsb2NhbCgnUm9ib3RvIFJl Z3VsYXInKSwgbG9jYWwoJ1JvYm90by1SZWd1bGFyJyksIHVybCgvL2ZvbnRzLmdzdGF0aWMuY29t L3Mvcm9ib3RvL3YxOC9LRk9tQ25xRXU5MkZyMU11NFd4S096WS53b2ZmMikgZm9ybWF0KCd3b2Zm MicpOyB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDNGRjsgfSBAZm9udC1mYWNlIHsgZm9udC1mYW1p bHk6ICdSb2JvdG8nOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IHNyYzog bG9jYWwoJ1JvYm90byBSZWd1bGFyJyksIGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLCB1cmwoLy9m b250cy5nc3RhdGljLmNvbS9zL3JvYm90by92MTgvS0ZPbUNucUV1OTJGcjFNdTdXeEtPelkud29m ZjIpIGZvcm1hdCgnd29mZjInKTsgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0w MTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwg VSsxRUEwLTFFRjksIFUrMjBBQjsgfSBAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICdSb2JvdG8n OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IHNyYzogbG9jYWwoJ1JvYm90 byBSZWd1bGFyJyksIGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLCB1cmwoLy9mb250cy5nc3RhdGlj LmNvbS9zL3JvYm90by92MTgvS0ZPbUNucUV1OTJGcjFNdTdHeEtPelkud29mZjIpIGZvcm1hdCgn d29mZjInKTsgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyNEYsIFUrMDI1OSwgVSsxRTAwLTFFRkYs IFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBV K0E3MjAtQTdGRjsgfSBAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICdSb2JvdG8nOyBmb250LXN0 eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IHNyYzogbG9jYWwoJ1JvYm90byBSZWd1bGFy JyksIGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLCB1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3Jv Ym90by92MTgvS0ZPbUNucUV1OTJGcjFNdTRteEsud29mZjIpIGZvcm1hdCgnd29mZjInKTsgdW5p Y29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJD LCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUr MjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsgfSBA Zm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICdSb2JvdG8nOyBmb250LXN0eWxlOiBub3JtYWw7IGZv bnQtd2VpZ2h0OiA1MDA7IHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0nKSwgbG9jYWwoJ1JvYm90 by1NZWRpdW0nKSwgdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tGT2xDbnFF dTkyRnIxTW1FVTlmQ1JjNEVzQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOyB1bmljb2RlLXJhbmdl OiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDODgsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1B NjlGLCBVK0ZFMkUtRkUyRjsgfSBAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICdSb2JvdG8nOyBm b250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA1MDA7IHNyYzogbG9jYWwoJ1JvYm90byBN ZWRpdW0nKSwgbG9jYWwoJ1JvYm90by1NZWRpdW0nKSwgdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20v cy9yb2JvdG8vdjE4L0tGT2xDbnFFdTkyRnIxTW1FVTlmQUJjNEVzQS53b2ZmMikgZm9ybWF0KCd3 b2ZmMicpOyB1bmljb2RlLXJhbmdlOiBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0w NEIxLCBVKzIxMTY7IH0gQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsgZm9udC1z dHlsZTogbm9ybWFsOyBmb250LXdlaWdodDogNTAwOyBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVt JyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtJyksIHVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9i b3RvL3YxOC9LRk9sQ25xRXU5MkZyMU1tRVU5ZkNCYzRFc0Eud29mZjIpIGZvcm1hdCgnd29mZjIn KTsgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7IH0gQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5 OiAnUm9ib3RvJzsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdodDogNTAwOyBzcmM6IGxv Y2FsKCdSb2JvdG8gTWVkaXVtJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtJyksIHVybCgvL2ZvbnRz LmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YxOC9LRk9sQ25xRXU5MkZyMU1tRVU5ZkJ4YzRFc0Eud29m ZjIpIGZvcm1hdCgnd29mZjInKTsgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzRkY7IH0gQGZvbnQt ZmFjZSB7IGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdl aWdodDogNTAwOyBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtJyksIGxvY2FsKCdSb2JvdG8tTWVk aXVtJyksIHVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YxOC9LRk9sQ25xRXU5MkZy MU1tRVU5ZkN4YzRFc0Eud29mZjIpIGZvcm1hdCgnd29mZjInKTsgdW5pY29kZS1yYW5nZTogVSsw MTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0w MUExLCBVKzAxQUYtMDFCMCwgVSsxRUEwLTFFRjksIFUrMjBBQjsgfSBAZm9udC1mYWNlIHsgZm9u dC1mYW1pbHk6ICdSb2JvdG8nOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA1MDA7 IHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0nKSwgbG9jYWwoJ1JvYm90by1NZWRpdW0nKSwgdXJs KC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tGT2xDbnFFdTkyRnIxTW1FVTlmQ2hj NEVzQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOyB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDI0Riwg VSswMjU5LCBVKzFFMDAtMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQ0YsIFUr MjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOyB9IEBmb250LWZhY2UgeyBmb250LWZhbWls eTogJ1JvYm90byc7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDUwMDsgc3JjOiBs b2NhbCgnUm9ib3RvIE1lZGl1bScpLCBsb2NhbCgnUm9ib3RvLU1lZGl1bScpLCB1cmwoLy9mb250 cy5nc3RhdGljLmNvbS9zL3JvYm90by92MTgvS0ZPbENucUV1OTJGcjFNbUVVOWZCQmM0LndvZmYy KSBmb3JtYXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUr MDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSsyMDAwLTIw NkYsIFUrMjA3NCwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIx NSwgVStGRUZGLCBVK0ZGRkQ7IH0gQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsg Zm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdodDogNzAwOyBzcmM6IGxvY2FsKCdSb2JvdG8g Qm9sZCcpLCBsb2NhbCgnUm9ib3RvLUJvbGQnKSwgdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9y b2JvdG8vdjE4L0tGT2xDbnFFdTkyRnIxTW1XVWxmQ1JjNEVzQS53b2ZmMikgZm9ybWF0KCd3b2Zm MicpOyB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDODgsIFUrMjBCNCwgVSsy REUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsgfSBAZm9udC1mYWNlIHsgZm9udC1m YW1pbHk6ICdSb2JvdG8nOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA3MDA7IHNy YzogbG9jYWwoJ1JvYm90byBCb2xkJyksIGxvY2FsKCdSb2JvdG8tQm9sZCcpLCB1cmwoLy9mb250 cy5nc3RhdGljLmNvbS9zL3JvYm90by92MTgvS0ZPbENucUV1OTJGcjFNbVdVbGZBQmM0RXNBLndv ZmYyKSBmb3JtYXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFuZ2U6IFUrMDQwMC0wNDVGLCBVKzA0OTAt MDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsgfSBAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICdS b2JvdG8nOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA3MDA7IHNyYzogbG9jYWwo J1JvYm90byBCb2xkJyksIGxvY2FsKCdSb2JvdG8tQm9sZCcpLCB1cmwoLy9mb250cy5nc3RhdGlj LmNvbS9zL3JvYm90by92MTgvS0ZPbENucUV1OTJGcjFNbVdVbGZDQmM0RXNBLndvZmYyKSBmb3Jt YXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOyB9IEBmb250LWZhY2UgeyBm b250LWZhbWlseTogJ1JvYm90byc7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDcw MDsgc3JjOiBsb2NhbCgnUm9ib3RvIEJvbGQnKSwgbG9jYWwoJ1JvYm90by1Cb2xkJyksIHVybCgv L2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YxOC9LRk9sQ25xRXU5MkZyMU1tV1VsZkJ4YzRF c0Eud29mZjIpIGZvcm1hdCgnd29mZjInKTsgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzRkY7IH0g QGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsgZm9udC1zdHlsZTogbm9ybWFsOyBm b250LXdlaWdodDogNzAwOyBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCcpLCBsb2NhbCgnUm9ib3Rv LUJvbGQnKSwgdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tGT2xDbnFFdTky RnIxTW1XVWxmQ3hjNEVzQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOyB1bmljb2RlLXJhbmdlOiBV KzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEw LTAxQTEsIFUrMDFBRi0wMUIwLCBVKzFFQTAtMUVGOSwgVSsyMEFCOyB9IEBmb250LWZhY2UgeyBm b250LWZhbWlseTogJ1JvYm90byc7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDcw MDsgc3JjOiBsb2NhbCgnUm9ib3RvIEJvbGQnKSwgbG9jYWwoJ1JvYm90by1Cb2xkJyksIHVybCgv L2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YxOC9LRk9sQ25xRXU5MkZyMU1tV1VsZkNoYzRF c0Eud29mZjIpIGZvcm1hdCgnd29mZjInKTsgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyNEYsIFUr MDI1OSwgVSsxRTAwLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzIx MTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsgfSBAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6 ICdSb2JvdG8nOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA3MDA7IHNyYzogbG9j YWwoJ1JvYm90byBCb2xkJyksIGxvY2FsKCdSb2JvdG8tQm9sZCcpLCB1cmwoLy9mb250cy5nc3Rh dGljLmNvbS9zL3JvYm90by92MTgvS0ZPbENucUV1OTJGcjFNbVdVbGZCQmM0LndvZmYyKSBmb3Jt YXQoJ3dvZmYyJyk7IHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0w MTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSsyMDAwLTIwNkYsIFUr MjA3NCwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStG RUZGLCBVK0ZGRkQ7IH0KPC9zdHlsZT48c3R5bGUgbm9uY2U9IjJzMGVaMDNWVmNQY1J0UVFSd2I3 ZEEiPgpib2R5e21hcmdpbjowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9IGJvZHksdGQsaW5wdXQs dGV4dGFyZWEsc2VsZWN0LCNsb2FkaW5ne2ZvbnQtZmFtaWx5OmFyaWFsLHNhbnMtc2VyaWZ9IGlu cHV0LHRleHRhcmVhLHNlbGVjdHtmb250LXNpemU6MTAwJX0gI2xvYWRpbmd7cG9zaXRpb246YWJz b2x1dGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjEwMDA7YmFja2dyb3VuZC1jb2xv cjojZmZmfSAubXNneyBjb2xvcjogIzc1NzU3NTsgZm9udC1zaXplOiAyMHB4OyBsZXR0ZXItc3Bh Y2luZzogLjJweDsgbGluZS1oZWlnaHQ6IDIwcHg7IHRleHQtYWxpZ246IGNlbnRlciB9ICNubHB0 eyBhbmltYXRpb246IGEtcyAuNXMgMi41cyAxIGZvcndhcmRzOyBiYWNrZ3JvdW5kLWNvbG9yOiAj ZjFmMWYxOyBoZWlnaHQ6IDRweDsgbWFyZ2luOiA1NnB4IGF1dG8gMjBweDsgb3BhY2l0eTogMDsg b3ZlcmZsb3c6IGhpZGRlbjsgcG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMzAwcHggfSAjbmxw dDo6YmVmb3JleyBhbmltYXRpb246IGEtbGIgMjBzIDNzIGxpbmVhciBmb3J3YXJkczsgYmFja2dy b3VuZC1jb2xvcjogI2RiNDQzNzsgY29udGVudDogJyc7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6 IDEwMCU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMDBweCk7 IHdpZHRoOiAxMDAlIH0gQGtleWZyYW1lcyBhLWxieyAwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgt MzAwcHgpfTUle3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yNDBweCl9MTUle3RyYW5zZm9ybTp0cmFu c2xhdGVYKC0zMHB4KX0yNSV7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTMwcHgpfTMwJXt0cmFuc2Zv cm06dHJhbnNsYXRlWCgtMjBweCl9NDUle3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMHB4KX01MCV7 dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTE1cHgpfTY1JXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTVw eCl9NzAle3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMHB4KX05NSV7dHJhbnNmb3JtOnRyYW5zbGF0 ZVgoLTEwcHgpfTEwMCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTVweCl9IH0gQGtleWZyYW1lcyBh LXN7IDEwMCV7b3BhY2l0eToxfSB9IEBrZXlmcmFtZXMgYS1oeyAxMDAle29wYWNpdHk6MH0gfSBA a2V5ZnJhbWVzIGEtbnR7IDEwMCV7dHJhbnNmb3JtOm5vbmV9IH0gQGtleWZyYW1lcyBhLWV7IDQz JXthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguOCwwLC4yLDEpO3RyYW5z Zm9ybTpzY2FsZSguNzUpfSA2MCV7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXpp ZXIoLjgsMCwxLDEpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xNnB4KX0gNzcle2FuaW1hdGlvbi10 aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4xNiwwLC4yLDEpO3RyYW5zZm9ybTpub25lfSA4 OSV7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjgsMCwxLDEpO3RyYW5z Zm9ybTp0cmFuc2xhdGVZKC01cHgpfSAxMDAle3RyYW5zZm9ybTpub25lfSB9IEBrZXlmcmFtZXMg YS1lZnsgMjQle2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC44LDAsLjYs MSk7dHJhbnNmb3JtOnNjYWxlWSguNDIpfSA1MiV7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpj dWJpYy1iZXppZXIoLjYzLDAsLjIsMSk7dHJhbnNmb3JtOnNjYWxlWSguOTgpfSA4MyV7YW5pbWF0 aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjgsMCwuODQsMSk7dHJhbnNmb3JtOnNj YWxlWSguOTYpfSAxMDAle3RyYW5zZm9ybTpub25lfSB9IEBrZXlmcmFtZXMgYS1lZnN7IDI0JXth bmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguOCwwLC42LDEpO29wYWNpdHk6 LjN9IDUyJXthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNjMsMCwuMiwx KTtvcGFjaXR5Oi4wM30gODMle2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVy KC44LDAsLjg0LDEpO29wYWNpdHk6LjA1fSAxMDAle29wYWNpdHk6MH0gfSBAa2V5ZnJhbWVzIGEt ZXN7IDI0JXthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguOCwwLC42LDEp O3RyYW5zZm9ybTpyb3RhdGUoLTI1ZGVnKX0gNTIle2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246 Y3ViaWMtYmV6aWVyKC42MywwLC4yLDEpO3RyYW5zZm9ybTpyb3RhdGUoLTQyLjVkZWcpfSA4MyV7 YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjgsMCwuODQsMSk7dHJhbnNm b3JtOnJvdGF0ZSgtNDJkZWcpfSAxMDAle3RyYW5zZm9ybTpyb3RhdGUoLTQzZGVnKX0gfSAuaW52 ZnJ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3otaW5kZXg6LTE7d2lkdGg6MDtoZWln aHQ6MDtib3JkZXI6MH0gLm1zZ2J7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDtmb250LXNpemU6 MTJweDtmb250LXdlaWdodDpub3JtYWw7Y29sb3I6IzAwMDtwYWRkaW5nOjIwcHh9Cjwvc3R5bGU+ PHN0eWxlIG5vbmNlPSIyczBlWjAzVlZjUGNSdFFRUndiN2RBIj4KLnN1Ym1pdF9hc19saW5re2Jv cmRlcjpub25lOyBiYWNrZ3JvdW5kOm5vbmU7IGNvbG9yOmJsdWU7dGV4dC1kZWNvcmF0aW9uOnVu ZGVybGluZTsgY3Vyc29yOnBvaW50ZXI7IG1hcmdpbjowOyBwYWRkaW5nOjA7fSAuc3VibWl0X2Fz X2xpbms6YWN0aXZle2NvbG9yOnJlZDsgb3V0bGluZTowfQo8L3N0eWxlPjxzY3JpcHQgdHlwZT0i dGV4dC9qYXZhc2NyaXB0IiBub25jZT0iMnMwZVowM1ZWY1BjUnRRUVJ3YjdkQSI+Ly8gPCFbQ0RB VEFbCnZhciBHTV9TVEFSVF9USU1FPShuZXcgRGF0ZSkuZ2V0VGltZSgpO3ZhciBHTV9TT0xDRj1m YWxzZTt2YXIgR01fU1VQUE9SVEVEX0lFX1ZFUlNJT049IjExLjAiO3ZhciBHTV9TVVBQT1JURURf R0VDS09fVkVSU0lPTj0iNDYiO3ZhciBHTV9TVVBQT1JURURfQ0hST01FX1ZFUlNJT049IjQzIjt2 YXIgR01fU1VQUE9SVEVEX1NBRkFSSV9WRVJTSU9OPSI5Ijt2YXIgR01fTU9PU0VfVVJMPSI/dWlc eDNkaHRtbFx4MjZ6eVx4M2RiIjt2YXIgR01fTk9fQ09PS0lFX1VSTD0iP3ZpZXdceDNkbm9jb29r aWVzIjt2YXIgR01fQVBQX05BTUU9IkdtYWlsIjt2YXIgR01fQUNUSU9OX1RPS0VOPSJBRjZidXBQ YnJCU3R5MG9qTC05VE9tS2xORFhTZzh4VEdRIjt2YXIgR01fU1BUX0VOQUJMRUQ9InRydWUiO3Zh ciBHTV9SRlRfRU5BQkxFRD0idHJ1ZSI7dmFyIEdNX0lOSVRJQUxfUEFHRV9WSVNJQklMSVRZPWRv Y3VtZW50LnZpc2liaWxpdHlTdGF0ZTsKdmFyIEdNX0pTX1VSTFM9WyIvXy9zY3MvbWFpbC1zdGF0 aWMvXy9qcy9rXHgzZGdtYWlsLm1haW4uZW5fR0IuT1FaT3lNWVZhYmsuTy9hbVx4M2QxLXZ2U1hn Zy1DTHdaV2NFTkFBd1BvQlRxZEktd0g5UlN0Tl9lQ1Q4SHBNSDRDRUdIb0Q5RC1vREFBQUFBQUFB QUFBQUFBQUFBQUNBUFNCREpRL2RceDNkMS9pbVx4M2QxL2RnXHgzZDAvY3RceDNkemdtcy9yc1x4 M2RBSEdXcTlBTHJQWFRoeEtoNFp6TjZwR2RCM2V1Q3dfazdBL21ceDNkYiIsIi9fL3Njcy9tYWls LXN0YXRpYy9fL2pzL2tceDNkZ21haWwubWFpbi5lbl9HQi5PUVpPeU1ZVmFiay5PL2FtXHgzZDEt dnZTWGdnLUNMd1pXY0VOQUF3UG9CVHFkSS13SDlSU3ROX2VDVDhIcE1INENFR0hvRDlELW9EQUFB QUFBQUFBQUFBQUFBQUFBQ0FQU0JESlEvZFx4M2QxL2V4bVx4M2RiL2VkXHgzZDEvaW1ceDNkMS9k Z1x4M2QwL2N0XHgzZHpnbXMvcnNceDNkQUhHV3E5QUxyUFhUaHhLaDRaek42cEdkQjNldUN3X2s3 QS9tXHgzZGEiLCIvXy9zY3MvbWFpbC1zdGF0aWMvXy9qcy9rXHgzZGdtYWlsLm1haW4uZW5fR0Iu T1FaT3lNWVZhYmsuTy9hbVx4M2QxLXZ2U1hnZy1DTHdaV2NFTkFBd1BvQlRxZEktd0g5UlN0Tl9l Q1Q4SHBNSDRDRUdIb0Q5RC1vREFBQUFBQUFBQUFBQUFBQUFBQUNBUFNCREpRL2RceDNkMS9leG1c eDNkYSxiL2VkXHgzZDEvaW1ceDNkMS9kZ1x4M2QwL2N0XHgzZHpnbXMvcnNceDNkQUhHV3E5QUxy UFhUaHhLaDRaek42cEdkQjNldUN3X2s3QS9tXHgzZG0sbV9pLGkyMGpmZCxsS3JXeGMsaGtqWEos Z1lPbDZkLEhYTGpJYixETDhqWmUseGFRY3llLG9SbUh0LEUxUDBrZCxwRTkybGIsdjJlRUJjIiwK Ii9fL3Njcy9tYWlsLXN0YXRpYy9fL2pzL2tceDNkZ21haWwubWFpbi5lbl9HQi5PUVpPeU1ZVmFi ay5PL2FtXHgzZDEtdnZTWGdnLUNMd1pXY0VOQUF3UG9CVHFkSS13SDlSU3ROX2VDVDhIcE1INENF R0hvRDlELW9EQUFBQUFBQUFBQUFBQUFBQUFBQ0FQU0JESlEvZFx4M2QxL2V4bVx4M2RETDhqWmUs RTFQMGtkLEhYTGpJYixhLGIsZ1lPbDZkLGhralhKLGkyMGpmZCxsS3JXeGMsbSxtX2ksb1JtSHQs cEU5MmxiLHYyZUVCYyx4YVFjeWUvZWRceDNkMS9pbVx4M2QxL2RnXHgzZDAvY3RceDNkemdtcy9y c1x4M2RBSEdXcTlBTHJQWFRoeEtoNFp6TjZwR2RCM2V1Q3dfazdBL21ceDNkc3BzLGwsc3BpdCx0 LGl0LGFuYyJdO3ZhciBHTV9TVFlMRVNIRUVUX1VSTFM9WyIvXy9zY3MvbWFpbC1zdGF0aWMvXy9z cy9rXHgzZGdtYWlsLm1haW4uLTY0aHN3NWp6YnFiei5MLlcuTy9hbVx4M2QxLXZ2U1hnZy1DTHda V2NFTkFBd1BxQlRxZEktd0g5UlN0Tl9lQ1Q4SHBNSDRDRUdIb0Q5RC1vREFBQUFEQUFBQUFBQUFB QUFBQUNBUFNCREpRL2RceDNkMS9leGNtXHgzZGF0L2N0XHgzZHpnbXMvcnNceDNkQUhHV3E5QXo4 OF9YTm4ybEVkLVZtN2FFZER0Q25Fc29pZyJdOwp2YXIgR01fSU5JVElBTF9QQURESU5HX1BSRUY9 InQiO3ZhciBHTV9JRF9LRVk9Ijc5ZmE1Y2E3ZGEiO3ZhciBHTV93cml0ZUVycm9yUGFnZT1mdW5j dGlvbihlcnJvclBhZ2VEaXNwbGF5ZWQsY2FsbGJhY2spe2lmKCFHTV93cml0ZUVycm9yUGFnZS5j YWxsZWQpe0dNX3dyaXRlRXJyb3JQYWdlLmNhbGxlZD10cnVlO0dNX3dyaXRlRXJyb3JQYWdlLmNh bGxiYWNrPWNhbGxiYWNrO0dNX3dyaXRlRXJyb3JQYWdlLmVycm9yUGFnZURpc3BsYXllZD1lcnJv clBhZ2VEaXNwbGF5ZWR9fTtfRHVtcEV4Y2VwdGlvbj1mdW5jdGlvbihlKXtHTV93cml0ZUVycm9y UGFnZSgwLGZ1bmN0aW9uKCl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm51bWVyaWNfY29kZSIp LnRleHRDb250ZW50PSI5In0pfTt2YXIgcHI9MDsKZnVuY3Rpb24gX0JfbG9nSW1nXyh2LHApeyhu ZXcgSW1hZ2UpLnNyYz0iP3VpXHgzZDJceDI2dmlld1x4M2QiK3YrIlx4MjYiK3ArIlx4MjZpa1x4 M2QiK0dNX0lEX0tFWSsiXHgyNml0cFx4M2QiKyhHTE9CQUxTP0dMT0JBTFNbNjVdOiJ1bmtub3du IikrIlx4MjZoZVx4M2QiKyhHTE9CQUxTJiZHTE9CQUxTWzEwMV0/MTowKSsiXHgyNnJhbmRvbVx4 M2QiKyhuZXcgRGF0ZSkuZ2V0VGltZSgpfWZ1bmN0aW9uIHNpKGksY3NvbCl7KG5ldyBJbWFnZSku c3JjPSI/dWlceDNkMlx4MjZ2aWV3XHgzZGpzbGVceDI2aWtceDNkIitHTV9JRF9LRVkrIlx4MjZp bXBceDNkIitpKyJceDI2dmFsXHgzZCIrcHIrIlx4MjZpdHBceDNkIisoR0xPQkFMUz9HTE9CQUxT WzY1XToidW5rbm93biIpKyJceDI2aGVceDNkIisoR0xPQkFMUyYmR0xPQkFMU1sxMDFdPzE6MCkr Ilx4MjZyYW5kb21ceDNkIitHTV9TVEFSVF9USU1FKyJceDI2Y3NvbFx4M2QiKyhjc29sfHwwKX07 Ci8vIF1dPgo8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSIyczBlWjAzVlZjUGNSdFFRUndiN2RBIj4K KGZ1bmN0aW9uKCl7dHJ5e3ZhciBuPSJFZGdlIixiYT0iT3BlcmEiLGNhPSJjb21wbGV0ZSIscT0i ZnVuY3Rpb24iLHU9Im9iamVjdCIsdj0ic3RyaW5nIjtmdW5jdGlvbiBkYSgpe3JldHVybiBmdW5j dGlvbigpe319dmFyIGthPWZ1bmN0aW9uKGIsYyl7dmFyIGQ9bmV3IGVhKHgubG9jYXRpb24uaHJl Zik7ZmEoZCwiL21haWwvbG9nc3RyZWFteiIpO2hhKGQsIiIsdm9pZCAwKTt2YXIgZT1uZXcgRm9y bURhdGE7ZS5hcHBlbmQoImltcHJlc3Npb25JZCIsYik7ZS5hcHBlbmQoImRhdGEiLEpTT04uc3Ry aW5naWZ5KGMpKTtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oZil7aWEoZCxmdW5jdGlvbihn KXtmKGphKGcudGFyZ2V0KSl9LGUpfSl9LGxhPWZ1bmN0aW9uKCl7dmFyIGI9bmV3IGVhKHgubG9j YXRpb24uaHJlZik7c3dpdGNoKGIuYy5nZXQoInZpZXciKSl7Y2FzZSAiY20iOnJldHVybiAxO2Nh c2UgImN2IjpyZXR1cm4gMjtjYXNlICJtaXAiOnJldHVybiAzO2Nhc2UgImFtIjpyZXR1cm4gNDsK ZGVmYXVsdDpyZXR1cm4iZG90X25ldyI9PWIuYy5nZXQoInVzcCIpPzU6MH19LG9hPWZ1bmN0aW9u KGIsYyxkKXtjPXZvaWQgMD09PWM/IiI6Yzt4LnRvcC5HTV9zaG93RXJyb3JQYWdlQ2FsbGVkPSEw O21hLmFkZChiKTtuYSgic2AiK2IrImAiK2MsZHx8bnVsbCk7aWYobnVsbD09PXguR01fREVQKXt4 LkdNX0RFUD1iO3ZhciBlPTA7NT09YiYmKGU9MSk7eC50b3AuR01fd3JpdGVFcnJvclBhZ2UoZSxm dW5jdGlvbigpe3gudG9wLkdNX1NMRigpO3ZhciBmPXgucGVyZm9ybWFuY2UmJngucGVyZm9ybWFu Y2UuZ2V0RW50cmllcygpLmZpbmQoZnVuY3Rpb24oZyl7cmV0dXJuIGcgaW5zdGFuY2VvZiB4LlBl cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcmJiJpZnJhbWUiPT1nLmluaXRpYXRvclR5cGUmJi8uK1wv bWFpbChcL3VcL1xkKyk/XC9kYXRhKFw/fCQpLy50ZXN0KGcubmFtZSl9KTtrYSgiY2xpZW50X2Vy cm9yX3BhZ2UiLHtlcnJvcl9wYWdlX2NhdXNlOmIsd2luZG93X3R5cGU6bGEoKSwKdWk6eC5HTE9C QUxTWzEwMV0/Imh1YiI6InJlZnJpdG8iLGVycm9yOmMrKGQmJmQuc3RhY2s/IlxuIitkLnN0YWNr OiIiKSxkZWJ1ZzpKU09OLnN0cmluZ2lmeSh7dXNlckFnZW50OnguR0xPQkFMU1s3MV0sYnVpbGQ6 eC5HTE9CQUxTWzNdLGpzVmVyc2lvbjp4LkdMT0JBTFNbNF0saW5ib3hUeXBlOnguR0xPQkFMU1s2 NV0sbmF2UHJlbG9hZEh0bWw6eC5HTE9CQUxTWzc5XSxvZmZsaW5lRW5hYmxlZDp4LkdMT0JBTFNb NjFdLHJlbG9hZENvdW50OngubG9jYWxTdG9yYWdlLmdldEl0ZW0oInJlbG9hZF9jb3VudCIpLGlz Q2FjaGVhYmxlSHRtbDp4LkdMT0JBTFNbNTddLGRhdGFJZnJhbWU6ISFmLGRhdGFJZnJhbWVQYXRo OnguR01fRElQfHxudWxsLGRhdGFJZnJhbWVMb2NhdGlvbkVycm9yOnguR01fRElMRXx8bnVsbCxk YXRhSWZyYW1lUmVhZHlTdGF0ZTp4LkdNX0RJUlN8fG51bGwsc3RhbGVGbGFnRXJyb3I6eC5HTV9T RkV8fG51bGx9KX0pO3gudG9wLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZXRhaWxlZF90ZWNo X2luZm8iKSYmCih4LnRvcC5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibnVtZXJpY19jb2RlIiku dGV4dENvbnRlbnQ9U3RyaW5nKGIpKX0pfXJldHVybiBuZXcgUHJvbWlzZShkYSgpKX0scGE9ZnVu Y3Rpb24oYil7dmFyIGM9MDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYzxiLmxlbmd0aD97ZG9u ZTohMSx2YWx1ZTpiW2MrK119Ontkb25lOiEwfX19LEI9ZnVuY3Rpb24oYil7dmFyIGM9InVuZGVm aW5lZCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5pdGVyYXRvciYmYltTeW1ib2wuaXRlcmF0b3Jd O3JldHVybiBjP2MuY2FsbChiKTp7bmV4dDpwYShiKX19LHFhPXR5cGVvZiBPYmplY3QuZGVmaW5l UHJvcGVydGllcz09cT9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYixjLGQpe2lmKGI9 PUFycmF5LnByb3RvdHlwZXx8Yj09T2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gYjtiW2NdPWQudmFs dWU7cmV0dXJuIGJ9LHJhPWZ1bmN0aW9uKGIpe2I9W3U9PXR5cGVvZiBnbG9iYWxUaGlzJiZnbG9i YWxUaGlzLApiLHU9PXR5cGVvZiB3aW5kb3cmJndpbmRvdyx1PT10eXBlb2Ygc2VsZiYmc2VsZix1 PT10eXBlb2YgZ2xvYmFsJiZnbG9iYWxdO2Zvcih2YXIgYz0wO2M8Yi5sZW5ndGg7KytjKXt2YXIg ZD1iW2NdO2lmKGQmJmQuTWF0aD09TWF0aClyZXR1cm4gZH10aHJvdyBFcnJvcigiYSIpO30sc2E9 cmEodGhpcyksQz1mdW5jdGlvbihiLGMpe2lmKGMpe3ZhciBkPXNhO2I9Yi5zcGxpdCgiLiIpO2Zv cih2YXIgZT0wO2U8Yi5sZW5ndGgtMTtlKyspe3ZhciBmPWJbZV07ZiBpbiBkfHwoZFtmXT17fSk7 ZD1kW2ZdfWI9YltiLmxlbmd0aC0xXTtlPWRbYl07Yz1jKGUpO2MhPWUmJm51bGwhPWMmJnFhKGQs Yix7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX19O0MoIkFycmF5LnByb3Rv dHlwZS5maW5kIixmdW5jdGlvbihiKXtyZXR1cm4gYj9iOmZ1bmN0aW9uKGMsZCl7YTp7dmFyIGU9 dGhpcztlIGluc3RhbmNlb2YgU3RyaW5nJiYoZT1TdHJpbmcoZSkpO2Zvcih2YXIgZj1lLmxlbmd0 aCwKZz0wO2c8ZjtnKyspe3ZhciBrPWVbZ107aWYoYy5jYWxsKGQsayxnLGUpKXtjPWs7YnJlYWsg YX19Yz12b2lkIDB9cmV0dXJuIGN9fSk7QygiUHJvbWlzZSIsZnVuY3Rpb24oYil7ZnVuY3Rpb24g Yygpe3RoaXMuYj1udWxsfWZ1bmN0aW9uIGQoayl7cmV0dXJuIGsgaW5zdGFuY2VvZiBmP2s6bmV3 IGYoZnVuY3Rpb24oaCl7aChrKX0pfWlmKGIpcmV0dXJuIGI7Yy5wcm90b3R5cGUuYz1mdW5jdGlv bihrKXtpZihudWxsPT10aGlzLmIpe3RoaXMuYj1bXTt2YXIgaD10aGlzO3RoaXMuZihmdW5jdGlv bigpe2guaSgpfSl9dGhpcy5iLnB1c2goayl9O3ZhciBlPXNhLnNldFRpbWVvdXQ7Yy5wcm90b3R5 cGUuZj1mdW5jdGlvbihrKXtlKGssMCl9O2MucHJvdG90eXBlLmk9ZnVuY3Rpb24oKXtmb3IoO3Ro aXMuYiYmdGhpcy5iLmxlbmd0aDspe3ZhciBrPXRoaXMuYjt0aGlzLmI9W107Zm9yKHZhciBoPTA7 aDxrLmxlbmd0aDsrK2gpe3ZhciBsPWtbaF07a1toXT1udWxsO3RyeXtsKCl9Y2F0Y2gobSl7dGhp cy5nKG0pfX19dGhpcy5iPQpudWxsfTtjLnByb3RvdHlwZS5nPWZ1bmN0aW9uKGspe3RoaXMuZihm dW5jdGlvbigpe3Rocm93IGs7fSl9O3ZhciBmPWZ1bmN0aW9uKGspe3RoaXMuYz0wO3RoaXMuZj12 b2lkIDA7dGhpcy5iPVtdO3ZhciBoPXRoaXMuZygpO3RyeXtrKGgucmVzb2x2ZSxoLnJlamVjdCl9 Y2F0Y2gobCl7aC5yZWplY3QobCl9fTtmLnByb3RvdHlwZS5nPWZ1bmN0aW9uKCl7ZnVuY3Rpb24g ayhtKXtyZXR1cm4gZnVuY3Rpb24ocCl7bHx8KGw9ITAsbS5jYWxsKGgscCkpfX12YXIgaD10aGlz LGw9ITE7cmV0dXJue3Jlc29sdmU6ayh0aGlzLkMpLHJlamVjdDprKHRoaXMuaSl9fTtmLnByb3Rv dHlwZS5DPWZ1bmN0aW9uKGspe2lmKGs9PT10aGlzKXRoaXMuaShuZXcgVHlwZUVycm9yKCJiIikp O2Vsc2UgaWYoayBpbnN0YW5jZW9mIGYpdGhpcy5EKGspO2Vsc2V7YTpzd2l0Y2godHlwZW9mIGsp e2Nhc2UgdTp2YXIgaD1udWxsIT1rO2JyZWFrIGE7Y2FzZSBxOmg9ITA7YnJlYWsgYTtkZWZhdWx0 Omg9ITF9aD8KdGhpcy53KGspOnRoaXMuaihrKX19O2YucHJvdG90eXBlLnc9ZnVuY3Rpb24oayl7 dmFyIGg9dm9pZCAwO3RyeXtoPWsudGhlbn1jYXRjaChsKXt0aGlzLmkobCk7cmV0dXJufXR5cGVv ZiBoPT1xP3RoaXMuRihoLGspOnRoaXMuaihrKX07Zi5wcm90b3R5cGUuaT1mdW5jdGlvbihrKXt0 aGlzLmwoMixrKX07Zi5wcm90b3R5cGUuaj1mdW5jdGlvbihrKXt0aGlzLmwoMSxrKX07Zi5wcm90 b3R5cGUubD1mdW5jdGlvbihrLGgpe2lmKDAhPXRoaXMuYyl0aHJvdyBFcnJvcigiY2AiK2srImAi K2grImAiK3RoaXMuYyk7dGhpcy5jPWs7dGhpcy5mPWg7dGhpcy5vKCl9O2YucHJvdG90eXBlLm89 ZnVuY3Rpb24oKXtpZihudWxsIT10aGlzLmIpe2Zvcih2YXIgaz0wO2s8dGhpcy5iLmxlbmd0aDsr K2spZy5jKHRoaXMuYltrXSk7dGhpcy5iPW51bGx9fTt2YXIgZz1uZXcgYztmLnByb3RvdHlwZS5E PWZ1bmN0aW9uKGspe3ZhciBoPXRoaXMuZygpO2suSChoLnJlc29sdmUsaC5yZWplY3QpfTtmLnBy b3RvdHlwZS5GPQpmdW5jdGlvbihrLGgpe3ZhciBsPXRoaXMuZygpO3RyeXtrLmNhbGwoaCxsLnJl c29sdmUsbC5yZWplY3QpfWNhdGNoKG0pe2wucmVqZWN0KG0pfX07Zi5wcm90b3R5cGUudGhlbj1m dW5jdGlvbihrLGgpe2Z1bmN0aW9uIGwocix3KXtyZXR1cm4gdHlwZW9mIHI9PXE/ZnVuY3Rpb24o VCl7dHJ5e20ocihUKSl9Y2F0Y2goYWEpe3AoYWEpfX06d312YXIgbSxwLHQ9bmV3IGYoZnVuY3Rp b24ocix3KXttPXI7cD13fSk7dGhpcy5IKGwoayxtKSxsKGgscCkpO3JldHVybiB0fTtmLnByb3Rv dHlwZS5jYXRjaD1mdW5jdGlvbihrKXtyZXR1cm4gdGhpcy50aGVuKHZvaWQgMCxrKX07Zi5wcm90 b3R5cGUuSD1mdW5jdGlvbihrLGgpe2Z1bmN0aW9uIGwoKXtzd2l0Y2gobS5jKXtjYXNlIDE6ayht LmYpO2JyZWFrO2Nhc2UgMjpoKG0uZik7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigiZGAiK20u Yyk7fX12YXIgbT10aGlzO251bGw9PXRoaXMuYj9nLmMobCk6dGhpcy5iLnB1c2gobCl9O2YucmVz b2x2ZT0KZDtmLnJlamVjdD1mdW5jdGlvbihrKXtyZXR1cm4gbmV3IGYoZnVuY3Rpb24oaCxsKXts KGspfSl9O2YucmFjZT1mdW5jdGlvbihrKXtyZXR1cm4gbmV3IGYoZnVuY3Rpb24oaCxsKXtmb3Io dmFyIG09QihrKSxwPW0ubmV4dCgpOyFwLmRvbmU7cD1tLm5leHQoKSlkKHAudmFsdWUpLkgoaCxs KX0pfTtmLmFsbD1mdW5jdGlvbihrKXt2YXIgaD1CKGspLGw9aC5uZXh0KCk7cmV0dXJuIGwuZG9u ZT9kKFtdKTpuZXcgZihmdW5jdGlvbihtLHApe2Z1bmN0aW9uIHQoVCl7cmV0dXJuIGZ1bmN0aW9u KGFhKXtyW1RdPWFhO3ctLTswPT13JiZtKHIpfX12YXIgcj1bXSx3PTA7ZG8gci5wdXNoKHZvaWQg MCksdysrLGQobC52YWx1ZSkuSCh0KHIubGVuZ3RoLTEpLHApLGw9aC5uZXh0KCk7d2hpbGUoIWwu ZG9uZSl9KX07cmV0dXJuIGZ9KTtDKCJTeW1ib2wiLGZ1bmN0aW9uKGIpe2lmKGIpcmV0dXJuIGI7 dmFyIGM9ZnVuY3Rpb24oZixnKXt0aGlzLmI9ZjtxYSh0aGlzLCJkZXNjcmlwdGlvbiIsCntjb25m aWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Z30pfTtjLnByb3RvdHlwZS50b1N0cmluZz1m dW5jdGlvbigpe3JldHVybiB0aGlzLmJ9O3ZhciBkPTAsZT1mdW5jdGlvbihmKXtpZih0aGlzIGlu c3RhbmNlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJlIik7cmV0dXJuIG5ldyBjKCJqc2NvbXBf c3ltYm9sXyIrKGZ8fCIiKSsiXyIrZCsrLGYpfTtyZXR1cm4gZX0pO0MoIlN5bWJvbC5pdGVyYXRv ciIsZnVuY3Rpb24oYil7aWYoYilyZXR1cm4gYjtiPVN5bWJvbCgiZiIpO2Zvcih2YXIgYz0iQXJy YXkgSW50OEFycmF5IFVpbnQ4QXJyYXkgVWludDhDbGFtcGVkQXJyYXkgSW50MTZBcnJheSBVaW50 MTZBcnJheSBJbnQzMkFycmF5IFVpbnQzMkFycmF5IEZsb2F0MzJBcnJheSBGbG9hdDY0QXJyYXki LnNwbGl0KCIgIiksZD0wO2Q8Yy5sZW5ndGg7ZCsrKXt2YXIgZT1zYVtjW2RdXTt0eXBlb2YgZT09 PXEmJnR5cGVvZiBlLnByb3RvdHlwZVtiXSE9cSYmcWEoZS5wcm90b3R5cGUsCmIse2NvbmZpZ3Vy YWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0YShwYSh0aGlzKSl9 fSl9cmV0dXJuIGJ9KTt2YXIgdGE9ZnVuY3Rpb24oYil7Yj17bmV4dDpifTtiW1N5bWJvbC5pdGVy YXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc307cmV0dXJuIGJ9LEQ9ZnVuY3Rpb24oYixjKXty ZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsYyl9O0MoIldlYWtN YXAiLGZ1bmN0aW9uKGIpe2Z1bmN0aW9uIGMoKXt9ZnVuY3Rpb24gZChsKXt2YXIgbT10eXBlb2Yg bDtyZXR1cm4gbT09PXUmJm51bGwhPT1sfHxtPT09cX1mdW5jdGlvbiBlKGwpe2lmKCFEKGwsZykp e3ZhciBtPW5ldyBjO3FhKGwsZyx7dmFsdWU6bX0pfX1mdW5jdGlvbiBmKGwpe3ZhciBtPU9iamVj dFtsXTttJiYoT2JqZWN0W2xdPWZ1bmN0aW9uKHApe2lmKHAgaW5zdGFuY2VvZiBjKXJldHVybiBw O2UocCk7cmV0dXJuIG0ocCl9KX1pZihmdW5jdGlvbigpe2lmKCFifHwKIU9iamVjdC5zZWFsKXJl dHVybiExO3RyeXt2YXIgbD1PYmplY3Quc2VhbCh7fSksbT1PYmplY3Quc2VhbCh7fSkscD1uZXcg YihbW2wsMl0sW20sM11dKTtpZigyIT1wLmdldChsKXx8MyE9cC5nZXQobSkpcmV0dXJuITE7cC5k ZWxldGUobCk7cC5zZXQobSw0KTtyZXR1cm4hcC5oYXMobCkmJjQ9PXAuZ2V0KG0pfWNhdGNoKHQp e3JldHVybiExfX0oKSlyZXR1cm4gYjt2YXIgZz0iJGpzY29tcF9oaWRkZW5fIitNYXRoLnJhbmRv bSgpO2YoImZyZWV6ZSIpO2YoInByZXZlbnRFeHRlbnNpb25zIik7Zigic2VhbCIpO3ZhciBrPTAs aD1mdW5jdGlvbihsKXt0aGlzLmI9KGsrPU1hdGgucmFuZG9tKCkrMSkudG9TdHJpbmcoKTtpZihs KXtsPUIobCk7Zm9yKHZhciBtOyEobT1sLm5leHQoKSkuZG9uZTspbT1tLnZhbHVlLHRoaXMuc2V0 KG1bMF0sbVsxXSl9fTtoLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24obCxtKXtpZighZChsKSl0aHJv dyBFcnJvcigiZyIpO2UobCk7aWYoIUQobCxnKSl0aHJvdyBFcnJvcigiaGAiKwpsKTtsW2ddW3Ro aXMuYl09bTtyZXR1cm4gdGhpc307aC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGwpe3JldHVybiBk KGwpJiZEKGwsZyk/bFtnXVt0aGlzLmJdOnZvaWQgMH07aC5wcm90b3R5cGUuaGFzPWZ1bmN0aW9u KGwpe3JldHVybiBkKGwpJiZEKGwsZykmJkQobFtnXSx0aGlzLmIpfTtoLnByb3RvdHlwZS5kZWxl dGU9ZnVuY3Rpb24obCl7cmV0dXJuIGQobCkmJkQobCxnKSYmRChsW2ddLHRoaXMuYik/ZGVsZXRl IGxbZ11bdGhpcy5iXTohMX07cmV0dXJuIGh9KTtDKCJNYXAiLGZ1bmN0aW9uKGIpe2lmKGZ1bmN0 aW9uKCl7aWYoIWJ8fHR5cGVvZiBiIT1xfHwhYi5wcm90b3R5cGUuZW50cmllc3x8dHlwZW9mIE9i amVjdC5zZWFsIT1xKXJldHVybiExO3RyeXt2YXIgaD1PYmplY3Quc2VhbCh7eDo0fSksbD1uZXcg YihCKFtbaCwicyJdXSkpO2lmKCJzIiE9bC5nZXQoaCl8fDEhPWwuc2l6ZXx8bC5nZXQoe3g6NH0p fHxsLnNldCh7eDo0fSwidCIpIT1sfHwyIT1sLnNpemUpcmV0dXJuITE7CnZhciBtPWwuZW50cmll cygpLHA9bS5uZXh0KCk7aWYocC5kb25lfHxwLnZhbHVlWzBdIT1ofHwicyIhPXAudmFsdWVbMV0p cmV0dXJuITE7cD1tLm5leHQoKTtyZXR1cm4gcC5kb25lfHw0IT1wLnZhbHVlWzBdLnh8fCJ0IiE9 cC52YWx1ZVsxXXx8IW0ubmV4dCgpLmRvbmU/ITE6ITB9Y2F0Y2godCl7cmV0dXJuITF9fSgpKXJl dHVybiBiO3ZhciBjPW5ldyBXZWFrTWFwLGQ9ZnVuY3Rpb24oaCl7dGhpcy5jPXt9O3RoaXMuYj1n KCk7dGhpcy5zaXplPTA7aWYoaCl7aD1CKGgpO2Zvcih2YXIgbDshKGw9aC5uZXh0KCkpLmRvbmU7 KWw9bC52YWx1ZSx0aGlzLnNldChsWzBdLGxbMV0pfX07ZC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9u KGgsbCl7aD0wPT09aD8wOmg7dmFyIG09ZSh0aGlzLGgpO20ubGlzdHx8KG0ubGlzdD10aGlzLmNb bS5pZF09W10pO20ubT9tLm0udmFsdWU9bDoobS5tPXtuZXh0OnRoaXMuYix1OnRoaXMuYi51LGhl YWQ6dGhpcy5iLGtleTpoLHZhbHVlOmx9LG0ubGlzdC5wdXNoKG0ubSksCnRoaXMuYi51Lm5leHQ9 bS5tLHRoaXMuYi51PW0ubSx0aGlzLnNpemUrKyk7cmV0dXJuIHRoaXN9O2QucHJvdG90eXBlLmRl bGV0ZT1mdW5jdGlvbihoKXtoPWUodGhpcyxoKTtyZXR1cm4gaC5tJiZoLmxpc3Q/KGgubGlzdC5z cGxpY2UoaC5pbmRleCwxKSxoLmxpc3QubGVuZ3RofHxkZWxldGUgdGhpcy5jW2guaWRdLGgubS51 Lm5leHQ9aC5tLm5leHQsaC5tLm5leHQudT1oLm0udSxoLm0uaGVhZD1udWxsLHRoaXMuc2l6ZS0t LCEwKTohMX07ZC5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmM9e307dGhpcy5iPXRo aXMuYi51PWcoKTt0aGlzLnNpemU9MH07ZC5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGgpe3JldHVy biEhZSh0aGlzLGgpLm19O2QucHJvdG90eXBlLmdldD1mdW5jdGlvbihoKXtyZXR1cm4oaD1lKHRo aXMsaCkubSkmJmgudmFsdWV9O2QucHJvdG90eXBlLmVudHJpZXM9ZnVuY3Rpb24oKXtyZXR1cm4g Zih0aGlzLGZ1bmN0aW9uKGgpe3JldHVybltoLmtleSwKaC52YWx1ZV19KX07ZC5wcm90b3R5cGUu a2V5cz1mdW5jdGlvbigpe3JldHVybiBmKHRoaXMsZnVuY3Rpb24oaCl7cmV0dXJuIGgua2V5fSl9 O2QucHJvdG90eXBlLnZhbHVlcz1mdW5jdGlvbigpe3JldHVybiBmKHRoaXMsZnVuY3Rpb24oaCl7 cmV0dXJuIGgudmFsdWV9KX07ZC5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbihoLGwpe2Zvcih2 YXIgbT10aGlzLmVudHJpZXMoKSxwOyEocD1tLm5leHQoKSkuZG9uZTspcD1wLnZhbHVlLGguY2Fs bChsLHBbMV0scFswXSx0aGlzKX07ZC5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1kLnByb3Rv dHlwZS5lbnRyaWVzO3ZhciBlPWZ1bmN0aW9uKGgsbCl7dmFyIG09bCYmdHlwZW9mIGw7bT09dXx8 bT09cT9jLmhhcyhsKT9tPWMuZ2V0KGwpOihtPSIiKyArK2ssYy5zZXQobCxtKSk6bT0icF8iK2w7 dmFyIHA9aC5jW21dO2lmKHAmJkQoaC5jLG0pKWZvcihoPTA7aDxwLmxlbmd0aDtoKyspe3ZhciB0 PXBbaF07aWYobCE9PWwmJnQua2V5IT09CnQua2V5fHxsPT09dC5rZXkpcmV0dXJue2lkOm0sbGlz dDpwLGluZGV4OmgsbTp0fX1yZXR1cm57aWQ6bSxsaXN0OnAsaW5kZXg6LTEsbTp2b2lkIDB9fSxm PWZ1bmN0aW9uKGgsbCl7dmFyIG09aC5iO3JldHVybiB0YShmdW5jdGlvbigpe2lmKG0pe2Zvcig7 bS5oZWFkIT1oLmI7KW09bS51O2Zvcig7bS5uZXh0IT1tLmhlYWQ7KXJldHVybiBtPW0ubmV4dCx7 ZG9uZTohMSx2YWx1ZTpsKG0pfTttPW51bGx9cmV0dXJue2RvbmU6ITAsdmFsdWU6dm9pZCAwfX0p fSxnPWZ1bmN0aW9uKCl7dmFyIGg9e307cmV0dXJuIGgudT1oLm5leHQ9aC5oZWFkPWh9LGs9MDty ZXR1cm4gZH0pO0MoIlNldCIsZnVuY3Rpb24oYil7aWYoZnVuY3Rpb24oKXtpZighYnx8dHlwZW9m IGIhPXF8fCFiLnByb3RvdHlwZS5lbnRyaWVzfHx0eXBlb2YgT2JqZWN0LnNlYWwhPXEpcmV0dXJu ITE7dHJ5e3ZhciBkPU9iamVjdC5zZWFsKHt4OjR9KSxlPW5ldyBiKEIoW2RdKSk7aWYoIWUuaGFz KGQpfHwxIT1lLnNpemV8fAplLmFkZChkKSE9ZXx8MSE9ZS5zaXplfHxlLmFkZCh7eDo0fSkhPWV8 fDIhPWUuc2l6ZSlyZXR1cm4hMTt2YXIgZj1lLmVudHJpZXMoKSxnPWYubmV4dCgpO2lmKGcuZG9u ZXx8Zy52YWx1ZVswXSE9ZHx8Zy52YWx1ZVsxXSE9ZClyZXR1cm4hMTtnPWYubmV4dCgpO3JldHVy biBnLmRvbmV8fGcudmFsdWVbMF09PWR8fDQhPWcudmFsdWVbMF0ueHx8Zy52YWx1ZVsxXSE9Zy52 YWx1ZVswXT8hMTpmLm5leHQoKS5kb25lfWNhdGNoKGspe3JldHVybiExfX0oKSlyZXR1cm4gYjt2 YXIgYz1mdW5jdGlvbihkKXt0aGlzLmI9bmV3IE1hcDtpZihkKXtkPUIoZCk7Zm9yKHZhciBlOyEo ZT1kLm5leHQoKSkuZG9uZTspdGhpcy5hZGQoZS52YWx1ZSl9dGhpcy5zaXplPXRoaXMuYi5zaXpl fTtjLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oZCl7ZD0wPT09ZD8wOmQ7dGhpcy5iLnNldChkLGQp O3RoaXMuc2l6ZT10aGlzLmIuc2l6ZTtyZXR1cm4gdGhpc307Yy5wcm90b3R5cGUuZGVsZXRlPWZ1 bmN0aW9uKGQpe2Q9CnRoaXMuYi5kZWxldGUoZCk7dGhpcy5zaXplPXRoaXMuYi5zaXplO3JldHVy biBkfTtjLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuYi5jbGVhcigpO3RoaXMuc2l6 ZT0wfTtjLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24oZCl7cmV0dXJuIHRoaXMuYi5oYXMoZCl9O2Mu cHJvdG90eXBlLmVudHJpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5iLmVudHJpZXMoKX07Yy5w cm90b3R5cGUudmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYi52YWx1ZXMoKX07Yy5wcm90 b3R5cGUua2V5cz1jLnByb3RvdHlwZS52YWx1ZXM7Yy5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9y XT1jLnByb3RvdHlwZS52YWx1ZXM7Yy5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbihkLGUpe3Zh ciBmPXRoaXM7dGhpcy5iLmZvckVhY2goZnVuY3Rpb24oZyl7cmV0dXJuIGQuY2FsbChlLGcsZyxm KX0pfTtyZXR1cm4gY30pO0MoIk9iamVjdC5lbnRyaWVzIixmdW5jdGlvbihiKXtyZXR1cm4gYj9i OgpmdW5jdGlvbihjKXt2YXIgZD1bXSxlO2ZvcihlIGluIGMpRChjLGUpJiZkLnB1c2goW2UsY1tl XV0pO3JldHVybiBkfX0pO3ZhciB1YT11YXx8e30seD10aGlzfHxzZWxmLHZhPWRhKCksd2E9ZnVu Y3Rpb24oYil7dmFyIGM9dHlwZW9mIGI7aWYoYz09dSlpZihiKXtpZihiIGluc3RhbmNlb2YgQXJy YXkpcmV0dXJuImFycmF5IjtpZihiIGluc3RhbmNlb2YgT2JqZWN0KXJldHVybiBjO3ZhciBkPU9i amVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChiKTtpZigiW29iamVjdCBXaW5kb3ddIj09ZCly ZXR1cm4gdTtpZigiW29iamVjdCBBcnJheV0iPT1kfHwibnVtYmVyIj09dHlwZW9mIGIubGVuZ3Ro JiYidW5kZWZpbmVkIiE9dHlwZW9mIGIuc3BsaWNlJiYidW5kZWZpbmVkIiE9dHlwZW9mIGIucHJv cGVydHlJc0VudW1lcmFibGUmJiFiLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJzcGxpY2UiKSlyZXR1 cm4iYXJyYXkiO2lmKCJbb2JqZWN0IEZ1bmN0aW9uXSI9PWR8fCJ1bmRlZmluZWQiIT0KdHlwZW9m IGIuY2FsbCYmInVuZGVmaW5lZCIhPXR5cGVvZiBiLnByb3BlcnR5SXNFbnVtZXJhYmxlJiYhYi5w cm9wZXJ0eUlzRW51bWVyYWJsZSgiY2FsbCIpKXJldHVybiBxfWVsc2UgcmV0dXJuIm51bGwiO2Vs c2UgaWYoYz09cSYmInVuZGVmaW5lZCI9PXR5cGVvZiBiLmNhbGwpcmV0dXJuIHU7cmV0dXJuIGN9 LHhhPWZ1bmN0aW9uKGIpe3ZhciBjPXR5cGVvZiBiO3JldHVybiBjPT11JiZudWxsIT1ifHxjPT1x fSx5YT1mdW5jdGlvbihiLGMsZCl7cmV0dXJuIGIuY2FsbC5hcHBseShiLmJpbmQsYXJndW1lbnRz KX0semE9ZnVuY3Rpb24oYixjLGQpe2lmKCFiKXRocm93IEVycm9yKCk7aWYoMjxhcmd1bWVudHMu bGVuZ3RoKXt2YXIgZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMik7cmV0 dXJuIGZ1bmN0aW9uKCl7dmFyIGY9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRz KTtBcnJheS5wcm90b3R5cGUudW5zaGlmdC5hcHBseShmLGUpO3JldHVybiBiLmFwcGx5KGMsCmYp fX1yZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYi5hcHBseShjLGFyZ3VtZW50cyl9fSxBYT1mdW5j dGlvbihiLGMsZCl7RnVuY3Rpb24ucHJvdG90eXBlLmJpbmQmJi0xIT1GdW5jdGlvbi5wcm90b3R5 cGUuYmluZC50b1N0cmluZygpLmluZGV4T2YoIm5hdGl2ZSBjb2RlIik/QWE9eWE6QWE9emE7cmV0 dXJuIEFhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQmE9ZnVuY3Rpb24oYixjKXt2YXIgZD1BcnJh eS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSk7cmV0dXJuIGZ1bmN0aW9uKCl7dmFy IGU9ZC5zbGljZSgpO2UucHVzaC5hcHBseShlLGFyZ3VtZW50cyk7cmV0dXJuIGIuYXBwbHkodGhp cyxlKX19LENhPURhdGUubm93fHxmdW5jdGlvbigpe3JldHVybituZXcgRGF0ZX0sRT1mdW5jdGlv bihiLGMpe2I9Yi5zcGxpdCgiLiIpO3ZhciBkPXg7YlswXWluIGR8fCJ1bmRlZmluZWQiPT10eXBl b2YgZC5leGVjU2NyaXB0fHxkLmV4ZWNTY3JpcHQoInZhciAiK2JbMF0pOwpmb3IodmFyIGU7Yi5s ZW5ndGgmJihlPWIuc2hpZnQoKSk7KWIubGVuZ3RofHx2b2lkIDA9PT1jP2RbZV0mJmRbZV0hPT1P YmplY3QucHJvdG90eXBlW2VdP2Q9ZFtlXTpkPWRbZV09e306ZFtlXT1jfSxEYT1mdW5jdGlvbihi LGMpe2Z1bmN0aW9uIGQoKXt9ZC5wcm90b3R5cGU9Yy5wcm90b3R5cGU7Yi5XPWMucHJvdG90eXBl O2IucHJvdG90eXBlPW5ldyBkO2IucHJvdG90eXBlLmNvbnN0cnVjdG9yPWJ9O3ZhciBFYT1BcnJh eS5wcm90b3R5cGUuaW5kZXhPZj9mdW5jdGlvbihiLGMpe3JldHVybiBBcnJheS5wcm90b3R5cGUu aW5kZXhPZi5jYWxsKGIsYyx2b2lkIDApfTpmdW5jdGlvbihiLGMpe2lmKHR5cGVvZiBiPT09dily ZXR1cm4gdHlwZW9mIGMhPT12fHwxIT1jLmxlbmd0aD8tMTpiLmluZGV4T2YoYywwKTtmb3IodmFy IGQ9MDtkPGIubGVuZ3RoO2QrKylpZihkIGluIGImJmJbZF09PT1jKXJldHVybiBkO3JldHVybi0x fSxGYT1BcnJheS5wcm90b3R5cGUuZm9yRWFjaD9mdW5jdGlvbihiLApjLGQpe0FycmF5LnByb3Rv dHlwZS5mb3JFYWNoLmNhbGwoYixjLGQpfTpmdW5jdGlvbihiLGMsZCl7Zm9yKHZhciBlPWIubGVu Z3RoLGY9dHlwZW9mIGI9PT12P2Iuc3BsaXQoIiIpOmIsZz0wO2c8ZTtnKyspZyBpbiBmJiZjLmNh bGwoZCxmW2ddLGcsYil9LEdhPWZ1bmN0aW9uKGIsYyl7YTp7Zm9yKHZhciBkPWIubGVuZ3RoLGU9 dHlwZW9mIGI9PT12P2Iuc3BsaXQoIiIpOmIsZj0wO2Y8ZDtmKyspaWYoZiBpbiBlJiZjLmNhbGwo dm9pZCAwLGVbZl0sZixiKSl7Yz1mO2JyZWFrIGF9Yz0tMX1yZXR1cm4gMD5jP251bGw6dHlwZW9m IGI9PT12P2IuY2hhckF0KGMpOmJbY119LEhhPWZ1bmN0aW9uKGIsYyl7Yz1FYShiLGMpO3ZhciBk OyhkPTA8PWMpJiZBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoYixjLDEpO3JldHVybiBkfSxJ YT1mdW5jdGlvbihiKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxhcmd1 bWVudHMpfSxKYT1mdW5jdGlvbihiKXt2YXIgYz0KYi5sZW5ndGg7aWYoMDxjKXtmb3IodmFyIGQ9 QXJyYXkoYyksZT0wO2U8YztlKyspZFtlXT1iW2VdO3JldHVybiBkfXJldHVybltdfTt2YXIgS2E9 ZnVuY3Rpb24oYixjKXtyZXR1cm4gbnVsbCE9PWImJmMgaW4gYn0sTGE9ImNvbnN0cnVjdG9yIGhh c093blByb3BlcnR5IGlzUHJvdG90eXBlT2YgcHJvcGVydHlJc0VudW1lcmFibGUgdG9Mb2NhbGVT dHJpbmcgdG9TdHJpbmcgdmFsdWVPZiIuc3BsaXQoIiAiKSxNYT1mdW5jdGlvbihiLGMpe2Zvcih2 YXIgZCxlLGY9MTtmPGFyZ3VtZW50cy5sZW5ndGg7ZisrKXtlPWFyZ3VtZW50c1tmXTtmb3IoZCBp biBlKWJbZF09ZVtkXTtmb3IodmFyIGc9MDtnPExhLmxlbmd0aDtnKyspZD1MYVtnXSxPYmplY3Qu cHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxkKSYmKGJbZF09ZVtkXSl9fTt2YXIgUGE9 ZnVuY3Rpb24oYixjKXt0aGlzLmY9Yj09PU5hJiZjfHwiIjt0aGlzLmc9T2F9O1BhLnByb3RvdHlw ZS5jPSEwO3ZhciBRYT1mdW5jdGlvbihiKXtpZihiIGluc3RhbmNlb2YKUGEmJmIuY29uc3RydWN0 b3I9PT1QYSYmYi5nPT09T2EpcmV0dXJuIGIuZjt3YShiKTtyZXR1cm4idHlwZV9lcnJvcjpUcnVz dGVkUmVzb3VyY2VVcmwifSxPYT17fSxOYT17fTt2YXIgUmE9U3RyaW5nLnByb3RvdHlwZS50cmlt P2Z1bmN0aW9uKGIpe3JldHVybiBiLnRyaW0oKX06ZnVuY3Rpb24oYil7cmV0dXJuL15bXHNceGEw XSooW1xzXFNdKj8pW1xzXHhhMF0qJC8uZXhlYyhiKVsxXX0sVGE9ZnVuY3Rpb24oYixjKXt2YXIg ZD0wO2I9UmEoU3RyaW5nKGIpKS5zcGxpdCgiLiIpO2M9UmEoU3RyaW5nKGMpKS5zcGxpdCgiLiIp O2Zvcih2YXIgZT1NYXRoLm1heChiLmxlbmd0aCxjLmxlbmd0aCksZj0wOzA9PWQmJmY8ZTtmKysp e3ZhciBnPWJbZl18fCIiLGs9Y1tmXXx8IiI7ZG97Zz0vKFxkKikoXEQqKSguKikvLmV4ZWMoZyl8 fFsiIiwiIiwiIiwiIl07az0vKFxkKikoXEQqKSguKikvLmV4ZWMoayl8fFsiIiwiIiwiIiwiIl07 aWYoMD09Z1swXS5sZW5ndGgmJjA9PWtbMF0ubGVuZ3RoKWJyZWFrOwpkPVNhKDA9PWdbMV0ubGVu Z3RoPzA6cGFyc2VJbnQoZ1sxXSwxMCksMD09a1sxXS5sZW5ndGg/MDpwYXJzZUludChrWzFdLDEw KSl8fFNhKDA9PWdbMl0ubGVuZ3RoLDA9PWtbMl0ubGVuZ3RoKXx8U2EoZ1syXSxrWzJdKTtnPWdb M107az1rWzNdfXdoaWxlKDA9PWQpfXJldHVybiBkfSxTYT1mdW5jdGlvbihiLGMpe3JldHVybiBi PGM/LTE6Yj5jPzE6MH07dmFyIEY7YTp7dmFyIFVhPXgubmF2aWdhdG9yO2lmKFVhKXt2YXIgVmE9 VWEudXNlckFnZW50O2lmKFZhKXtGPVZhO2JyZWFrIGF9fUY9IiJ9dmFyIEc9ZnVuY3Rpb24oYil7 cmV0dXJuLTEhPUYuaW5kZXhPZihiKX0sV2E9ZnVuY3Rpb24oYil7Zm9yKHZhciBjPS8oXHdbXHcg XSspXC8oW15cc10rKVxzKig/OlwoKC4qPylcKSk/L2csZD1bXSxlO2U9Yy5leGVjKGIpOylkLnB1 c2goW2VbMV0sZVsyXSxlWzNdfHx2b2lkIDBdKTtyZXR1cm4gZH07dmFyIFhhPWZ1bmN0aW9uKCl7 cmV0dXJuIEcoIkZpcmVmb3giKXx8RygiRnhpT1MiKX0sCllhPWZ1bmN0aW9uKCl7cmV0dXJuKEco IkNocm9tZSIpfHxHKCJDcmlPUyIpKSYmIUcobil9LCRhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYihm KXtmPUdhKGYsZSk7cmV0dXJuIGRbZl18fCIifXZhciBjPUY7aWYoRygiVHJpZGVudCIpfHxHKCJN U0lFIikpcmV0dXJuIFphKGMpO2M9V2EoYyk7dmFyIGQ9e307RmEoYyxmdW5jdGlvbihmKXtkW2Zb MF1dPWZbMV19KTt2YXIgZT1CYShLYSxkKTtyZXR1cm4gRyhiYSk/YihbIlZlcnNpb24iLGJhXSk6 RyhuKT9iKFtuXSk6RygiRWRnLyIpP2IoWyJFZGciXSk6WWEoKT9iKFsiQ2hyb21lIiwiQ3JpT1Mi LCJIZWFkbGVzc0Nocm9tZSJdKTooYz1jWzJdKSYmY1sxXXx8IiJ9LFphPWZ1bmN0aW9uKGIpe3Zh ciBjPS9ydjogKihbXGRcLl0qKS8uZXhlYyhiKTtpZihjJiZjWzFdKXJldHVybiBjWzFdO2M9IiI7 dmFyIGQ9L01TSUUgKyhbXGRcLl0rKS8uZXhlYyhiKTtpZihkJiZkWzFdKWlmKGI9L1RyaWRlbnRc LyhcZC5cZCkvLmV4ZWMoYiksIjcuMCI9PQpkWzFdKWlmKGImJmJbMV0pc3dpdGNoKGJbMV0pe2Nh c2UgIjQuMCI6Yz0iOC4wIjticmVhaztjYXNlICI1LjAiOmM9IjkuMCI7YnJlYWs7Y2FzZSAiNi4w IjpjPSIxMC4wIjticmVhaztjYXNlICI3LjAiOmM9IjExLjAifWVsc2UgYz0iNy4wIjtlbHNlIGM9 ZFsxXTtyZXR1cm4gY307TWF0aC5mbG9vcigyMTQ3NDgzNjQ4Kk1hdGgucmFuZG9tKCkpLnRvU3Ry aW5nKDM2KTtNYXRoLmFicyhNYXRoLmZsb29yKDIxNDc0ODM2NDgqTWF0aC5yYW5kb20oKSleQ2Eo KSkudG9TdHJpbmcoMzYpO3ZhciBhYj1mdW5jdGlvbihiKXthYlsiICJdKGIpO3JldHVybiBifTth YlsiICJdPXZhO3ZhciBjYj1mdW5jdGlvbihiLGMpe3ZhciBkPWJiO3JldHVybiBPYmplY3QucHJv dG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZCxiKT9kW2JdOmRbYl09YyhiKX07dmFyIGRiPUco YmEpLEg9RygiVHJpZGVudCIpfHxHKCJNU0lFIiksZWI9RyhuKSxmYj1HKCJHZWNrbyIpJiYhKC0x IT1GLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigid2Via2l0IikmJgohRyhuKSkmJiEoRygiVHJpZGVu dCIpfHxHKCJNU0lFIikpJiYhRyhuKSxnYj0tMSE9Ri50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIndl YmtpdCIpJiYhRyhuKSxoYj1mdW5jdGlvbigpe3ZhciBiPXguZG9jdW1lbnQ7cmV0dXJuIGI/Yi5k b2N1bWVudE1vZGU6dm9pZCAwfSxpYjthOnt2YXIgamI9IiIsa2I9ZnVuY3Rpb24oKXt2YXIgYj1G O2lmKGZiKXJldHVybi9ydjooW15cKTtdKykoXCl8OykvLmV4ZWMoYik7aWYoZWIpcmV0dXJuL0Vk Z2VcLyhbXGRcLl0rKS8uZXhlYyhiKTtpZihIKXJldHVybi9cYig/Ok1TSUV8cnYpWzogXShbXlwp O10rKShcKXw7KS8uZXhlYyhiKTtpZihnYilyZXR1cm4vV2ViS2l0XC8oXFMrKS8uZXhlYyhiKTtp ZihkYilyZXR1cm4vKD86VmVyc2lvbilbIFwvXT8oXFMrKS8uZXhlYyhiKX0oKTtrYiYmKGpiPWti P2tiWzFdOiIiKTtpZihIKXt2YXIgbGI9aGIoKTtpZihudWxsIT1sYiYmbGI+cGFyc2VGbG9hdChq Yikpe2liPVN0cmluZyhsYik7YnJlYWsgYX19aWI9CmpifXZhciBtYj1pYixiYj17fSxuYj1mdW5j dGlvbihiKXtyZXR1cm4gY2IoYixmdW5jdGlvbigpe3JldHVybiAwPD1UYShtYixiKX0pfSxvYjtp Zih4LmRvY3VtZW50JiZIKXt2YXIgcGI9aGIoKTtvYj1wYj9wYjpwYXJzZUludChtYiwxMCl8fHZv aWQgMH1lbHNlIG9iPXZvaWQgMDt2YXIgcWI9b2I7dmFyIHJiPWZ1bmN0aW9uKCl7dGhpcy5pPXRo aXMuaTt0aGlzLnc9dGhpcy53fTtyYi5wcm90b3R5cGUuaT0hMTtyYi5wcm90b3R5cGUuaj1mdW5j dGlvbigpe2lmKHRoaXMudylmb3IoO3RoaXMudy5sZW5ndGg7KXRoaXMudy5zaGlmdCgpKCl9O3Zh ciBzYj1mdW5jdGlvbihiLGMpe3RoaXMudHlwZT1iO3RoaXMuYj10aGlzLnRhcmdldD1jO3RoaXMu ZGVmYXVsdFByZXZlbnRlZD0hMX07c2IucHJvdG90eXBlLmM9ZnVuY3Rpb24oKXt0aGlzLmRlZmF1 bHRQcmV2ZW50ZWQ9ITB9O3ZhciB0YjsodGI9IUgpfHwodGI9OTw9TnVtYmVyKHFiKSk7dmFyIHVi PXRiLHZiPUgmJiFuYigiOSIpLAp3Yj1mdW5jdGlvbigpe2lmKCF4LmFkZEV2ZW50TGlzdGVuZXJ8 fCFPYmplY3QuZGVmaW5lUHJvcGVydHkpcmV0dXJuITE7dmFyIGI9ITEsYz1PYmplY3QuZGVmaW5l UHJvcGVydHkoe30sInBhc3NpdmUiLHtnZXQ6ZnVuY3Rpb24oKXtiPSEwfX0pO3RyeXt4LmFkZEV2 ZW50TGlzdGVuZXIoInRlc3QiLHZhLGMpLHgucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsdmEs Yyl9Y2F0Y2goZCl7fXJldHVybiBifSgpO3ZhciB5Yj1mdW5jdGlvbihiLGMpe3NiLmNhbGwodGhp cyxiP2IudHlwZToiIik7dGhpcy5yZWxhdGVkVGFyZ2V0PXRoaXMuYj10aGlzLnRhcmdldD1udWxs O3RoaXMuYnV0dG9uPXRoaXMuc2NyZWVuWT10aGlzLnNjcmVlblg9dGhpcy5jbGllbnRZPXRoaXMu Y2xpZW50WD0wO3RoaXMua2V5PSIiO3RoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuYWx0 S2V5PXRoaXMuY3RybEtleT0hMTt0aGlzLnBvaW50ZXJJZD0wO3RoaXMucG9pbnRlclR5cGU9IiI7 dGhpcy5mPW51bGw7CmlmKGIpe3ZhciBkPXRoaXMudHlwZT1iLnR5cGUsZT1iLmNoYW5nZWRUb3Vj aGVzJiZiLmNoYW5nZWRUb3VjaGVzLmxlbmd0aD9iLmNoYW5nZWRUb3VjaGVzWzBdOm51bGw7dGhp cy50YXJnZXQ9Yi50YXJnZXR8fGIuc3JjRWxlbWVudDt0aGlzLmI9YztpZihjPWIucmVsYXRlZFRh cmdldCl7aWYoZmIpe2E6e3RyeXthYihjLm5vZGVOYW1lKTt2YXIgZj0hMDticmVhayBhfWNhdGNo KGcpe31mPSExfWZ8fChjPW51bGwpfX1lbHNlIm1vdXNlb3ZlciI9PWQ/Yz1iLmZyb21FbGVtZW50 OiJtb3VzZW91dCI9PWQmJihjPWIudG9FbGVtZW50KTt0aGlzLnJlbGF0ZWRUYXJnZXQ9YztlPyh0 aGlzLmNsaWVudFg9dm9pZCAwIT09ZS5jbGllbnRYP2UuY2xpZW50WDplLnBhZ2VYLHRoaXMuY2xp ZW50WT12b2lkIDAhPT1lLmNsaWVudFk/ZS5jbGllbnRZOmUucGFnZVksdGhpcy5zY3JlZW5YPWUu c2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9ZS5zY3JlZW5ZfHwwKToodGhpcy5jbGllbnRYPXZvaWQg MCE9PQpiLmNsaWVudFg/Yi5jbGllbnRYOmIucGFnZVgsdGhpcy5jbGllbnRZPXZvaWQgMCE9PWIu Y2xpZW50WT9iLmNsaWVudFk6Yi5wYWdlWSx0aGlzLnNjcmVlblg9Yi5zY3JlZW5YfHwwLHRoaXMu c2NyZWVuWT1iLnNjcmVlbll8fDApO3RoaXMuYnV0dG9uPWIuYnV0dG9uO3RoaXMua2V5PWIua2V5 fHwiIjt0aGlzLmN0cmxLZXk9Yi5jdHJsS2V5O3RoaXMuYWx0S2V5PWIuYWx0S2V5O3RoaXMuc2hp ZnRLZXk9Yi5zaGlmdEtleTt0aGlzLm1ldGFLZXk9Yi5tZXRhS2V5O3RoaXMucG9pbnRlcklkPWIu cG9pbnRlcklkfHwwO3RoaXMucG9pbnRlclR5cGU9dHlwZW9mIGIucG9pbnRlclR5cGU9PT12P2Iu cG9pbnRlclR5cGU6eGJbYi5wb2ludGVyVHlwZV18fCIiO3RoaXMuZj1iO2IuZGVmYXVsdFByZXZl bnRlZCYmdGhpcy5jKCl9fTtEYSh5YixzYik7dmFyIHhiPXsyOiJ0b3VjaCIsMzoicGVuIiw0OiJt b3VzZSJ9O3liLnByb3RvdHlwZS5jPWZ1bmN0aW9uKCl7eWIuVy5jLmNhbGwodGhpcyk7CnZhciBi PXRoaXMuZjtpZihiLnByZXZlbnREZWZhdWx0KWIucHJldmVudERlZmF1bHQoKTtlbHNlIGlmKGIu cmV0dXJuVmFsdWU9ITEsdmIpdHJ5e2lmKGIuY3RybEtleXx8MTEyPD1iLmtleUNvZGUmJjEyMz49 Yi5rZXlDb2RlKWIua2V5Q29kZT0tMX1jYXRja |
|