From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa3.mentor.iphmx.com (esa3.mentor.iphmx.com [68.232.137.180]) by sourceware.org (Postfix) with ESMTPS id B34A63858D3C; Sun, 27 Nov 2022 17:38:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B34A63858D3C Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com X-IronPort-AV: E=Sophos;i="5.96,198,1665475200"; d="diff'?scan'208";a="87745353" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa3.mentor.iphmx.com with ESMTP; 27 Nov 2022 09:38:48 -0800 IronPort-SDR: 2sMUbrRP9xWlbLLOvYmmhGXki+yaeJWUhq66sWPVGWHresGUiijT/E+rXHgHnc4t5otszInxAF sr11RFtnTwpz7u8WeMbSHKx9YoEf7+E58z0t/cQ30PtCOrHubmtQGG9Ge+xsa4vFMR2ak/PaeE 2FAgUsLU+bFOZ4HAlSuD14PGHRgxwDyuD2nm8JRndC9op+uwjz13eJ+1LSqVYJPkCH1nqYFgnj YdvozSowJ21oSYypR9y4pQ99JOW7twKvYx8eKWlbkaMk0rlIE+dqbdx848xjxbOl8bYoSEkQwC 7Ok= Content-Type: multipart/mixed; boundary="------------RhKSQQTuhvKiKfCi190eUeR8" Message-ID: Date: Sun, 27 Nov 2022 18:38:41 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0 Subject: Re: [Patch] OpenMP/Fortran: Permit end-clause on directive Content-Language: en-US To: Jakub Jelinek CC: gcc-patches , fortran References: <821786f3-ac7b-01e3-a386-f7c082494022@codesourcery.com> From: Tobias Burnus In-Reply-To: X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) To svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00,GIT_PATCH_0,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,KAM_SHORT,NICE_REPLY_A,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --------------RhKSQQTuhvKiKfCi190eUeR8 Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: quoted-printable Updated patch =E2=80=93 taking the comments below into account =E2=80=93 an= d the remark by Harald, second by Jakub. Namely: I have now split the pre-existing nowait-2.f90 into nowait-2.f90 (with only valid usage) and nowait-4.f90 (with the dg-error tests). In the previous version of the patch, nowait-4.f90 was a variant of nowait-2.f90 that used 'nowait' on the directive line. - And Harald suggested to split the latter, which I now did =E2=80=93 into nowait-{5,6}.= f90. Cf. Harald's email at https://gcc.gnu.org/pipermail/gcc-patches/2022-August/600539.html and two emails by Jakub ("Otherwise LGTM"), first at https://gcc.gnu.org/pipermail/gcc-patches/2022-September/601304.html + the next email in the thread. I intent to commit the attached patch tomorrow, unless there are further comments. Thanks for the reviews (and I know that the follow up is very belated)! Tobias On 08.09.22 17:21, Jakub Jelinek via Fortran wrote: > On Fri, Aug 26, 2022 at 08:21:26PM +0200, Tobias Burnus wrote: >> I did run into some issues related to this; those turned out to be >> unrelated, but I end ended up implementing this feature. >> >> Side remark: 'omp parallel workshare' seems to actually permit 'nowait' >> now, but I guess that's an unintended change due to the >> syntax-representation change. Hence, it is now tracked as Spec Issue >> 3338 and I do not permit it. >> >> OK for mainline? >> >> Tobias >> ----------------- >> Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstra=C3=9Fe = 201, 80634 M=C3=BCnchen; Gesellschaft mit beschr=C3=A4nkter Haftung; Gesch= =C3=A4ftsf=C3=BChrer: Thomas Heurung, Frank Th=C3=BCrauf; Sitz der Gesellsc= haft: M=C3=BCnchen; Registergericht M=C3=BCnchen, HRB 106955 >> OpenMP/Fortran: Permit end-clause on directive >> >> gcc/fortran/ChangeLog: >> >> * openmp.cc (OMP_DO_CLAUSES, OMP_SCOPE_CLAUSES, >> OMP_SECTIONS_CLAUSES, OMP_SINGLE_CLAUSES): Add 'nowait'. > This doesn't describe what the patch actually does, Add 'nowait'. > is only true for the first 3, for OMP_SINGLE_CLAUSES IMHO you > want a separate > (OMP_SINGLE_CLAUSES): Add 'nowait' and 'copyprivate'. > entry. > >> @@ -3855,7 +3857,7 @@ cleanup: >> | OMP_CLAUSE_ORDER | OMP_CLAUSE_ALLOCATE) >> #define OMP_SINGLE_CLAUSES \ >> (omp_mask (OMP_CLAUSE_PRIVATE) | OMP_CLAUSE_FIRSTPRIVATE \ >> - | OMP_CLAUSE_ALLOCATE) >> + | OMP_CLAUSE_ALLOCATE | OMP_CLAUSE_NOWAIT | OMP_CLAUSE_COPYPRIVATE) >> #define OMP_ORDERED_CLAUSES \ >> (omp_mask (OMP_CLAUSE_THREADS) | OMP_CLAUSE_SIMD) >> #define OMP_DECLARE_TARGET_CLAUSES \ >> @@ -5909,13 +5915,11 @@ gfc_match_omp_teams_distribute_simd (void) >> match >> gfc_match_omp_workshare (void) >> { >> - if (gfc_match_omp_eos () !=3D MATCH_YES) >> - { >> - gfc_error ("Unexpected junk after $OMP WORKSHARE statement at %C"= ); >> - return MATCH_ERROR; >> - } >> + gfc_omp_clauses *c; >> + if (gfc_match_omp_clauses (&c, omp_mask (OMP_CLAUSE_NOWAIT)) !=3D MAT= CH_YES) >> + return MATCH_ERROR; >> new_st.op =3D EXEC_OMP_WORKSHARE; >> - new_st.ext.omp_clauses =3D gfc_get_omp_clauses (); >> + new_st.ext.omp_clauses =3D c; >> return MATCH_YES; >> } > I think it would be better to introduce OMP_WORKSHARE_CLAUSES and use > it in both gfc_match_omp_workshare and just use > return match_omp (EXEC_OMP_WORKSHARE, OMP_WORKSHARE_CLAUSES); > ? > >> @@ -6954,6 +6952,9 @@ resolve_omp_clauses (gfc_code *code, gfc_omp_claus= es *omp_clauses, >> } >> break; >> case OMP_LIST_COPYPRIVATE: >> + if (omp_clauses->nowait) >> + gfc_error ("NOWAIT clause must not be be used with COPYPRIVAT= E " > s/be be/be/ >> + "clause at %L", &n->where); >> for (; n !=3D NULL; n =3D n->next) >> { >> if (n->sym->as && n->sym->as->type =3D=3D AS_ASSUMED_SIZE) >> @@ -5284,7 +5285,13 @@ parse_omp_do (gfc_statement omp_st) >> if (st =3D=3D omp_end_st) >> { >> if (new_st.op =3D=3D EXEC_OMP_END_NOWAIT) >> - cp->ext.omp_clauses->nowait |=3D new_st.ext.omp_bool; >> + { >> + if (cp->ext.omp_clauses->nowait && new_st.ext.omp_bool) >> + gfc_error_now ("Duplicated NOWAIT clause on %s and %s at %C", >> + gfc_ascii_statement (omp_st), >> + gfc_ascii_statement (omp_end_st)); >> + cp->ext.omp_clauses->nowait |=3D new_st.ext.omp_bool; >> + } >> else >> gcc_assert (new_st.op =3D=3D EXEC_NOP); >> gfc_clear_new_st (); > Not sure if the standard is clear enough that unique clauses can't be > repeated on both directive and corresponding end directive. But let's > assume that is the case. > >> --- /dev/null >> +++ b/gcc/testsuite/gfortran.dg/gomp/copyprivate-2.f90 >> @@ -0,0 +1,69 @@ >> + FUNCTION t() >> + INTEGER :: a, b, t >> + a =3D 0 >> + t =3D b >> + b =3D 0 >> + !$OMP PARALLEL REDUCTION(+:b) >> + !$OMP SINGLE COPYPRIVATE (b) NOWAIT ! { dg-error "NOWAIT clause = must not be be used with COPYPRIVATE clause" } > Here too (several times). > >> + !$OMP ATOMIC WRITE >> + b =3D 6 >> + !$OMP END SINGLE >> + !$OMP END PARALLEL >> + t =3D t + b >> + END FUNCTION >> + >> + FUNCTION t2() >> + INTEGER :: a, b, t2 >> + a =3D 0 >> + t2 =3D b >> + b =3D 0 >> + !$OMP PARALLEL REDUCTION(+:b) >> + !$OMP SINGLE NOWAIT COPYPRIVATE (b) ! { dg-error "NOWAIT clause = must not be be used with COPYPRIVATE clause" } >> + !$OMP ATOMIC WRITE >> + b =3D 6 >> + !$OMP END SINGLE >> + !$OMP END PARALLEL >> + t2 =3D t2 + b >> + END FUNCTION >> + >> + FUNCTION t3() >> + INTEGER :: a, b, t3 >> + a =3D 0 >> + t3 =3D b >> + b =3D 0 >> + !$OMP PARALLEL REDUCTION(+:b) >> + !$OMP SINGLE COPYPRIVATE (b) ! { dg-error "NOWAIT clause must no= t be be used with COPYPRIVATE clause" } >> + !$OMP ATOMIC WRITE >> + b =3D 6 >> + !$OMP END SINGLE NOWAIT >> + !$OMP END PARALLEL >> + t3 =3D t3 + b >> + END FUNCTION >> + >> + FUNCTION t4() >> + INTEGER :: a, b, t4 >> + a =3D 0 >> + t4 =3D b >> + b =3D 0 >> + !$OMP PARALLEL REDUCTION(+:b) >> + !$OMP SINGLE >> + !$OMP ATOMIC WRITE >> + b =3D 6 >> + !$OMP END SINGLE NOWAIT COPYPRIVATE (b) ! { dg-error "NOWAIT cla= use must not be be used with COPYPRIVATE clause" } >> + !$OMP END PARALLEL >> + t4 =3D t4 + b >> + END FUNCTION >> + >> + FUNCTION t5() >> + INTEGER :: a, b, t5 >> + a =3D 0 >> + t5 =3D b >> + b =3D 0 >> + !$OMP PARALLEL REDUCTION(+:b) >> + !$OMP SINGLE >> + !$OMP ATOMIC WRITE >> + b =3D 6 >> + !$OMP END SINGLE COPYPRIVATE (b) NOWAIT ! { dg-error "NOWAIT cla= use must not be be used with COPYPRIVATE clause" } >> + !$OMP END PARALLEL >> + t5 =3D t5 + b >> + END FUNCTION > I think this lacks a test for !$OMP SINGLE NOWAIT and !$OMP END SINGLE CO= PYPRIVATE (b). > > Also, shouldn't we have test coverage for !$OMP SINGLE COPYPRIVATE (b) wi= th !$OMP END SINGLE COPYPRIVATE (b) > (that we detect multiple copyprivate clauses for the same variable even t= hat > way)? > > Otherwise LGTM. > > Note, for combined constructs with target seems we were already implement= ing > this, because the 5.1 wording allows nowait only on !$omp target and not = on > !$omp end target, right? > > Jakub > ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstra=C3=9Fe 201= , 80634 M=C3=BCnchen; Gesellschaft mit beschr=C3=A4nkter Haftung; Gesch=C3= =A4ftsf=C3=BChrer: Thomas Heurung, Frank Th=C3=BCrauf; Sitz der Gesellschaf= t: M=C3=BCnchen; Registergericht M=C3=BCnchen, HRB 106955 --------------RhKSQQTuhvKiKfCi190eUeR8 Content-Type: text/x-patch; charset="UTF-8"; name="end-decl-v3.diff" Content-Disposition: attachment; filename="end-decl-v3.diff" Content-Transfer-Encoding: base64 T3Blbk1QL0ZvcnRyYW46IFBlcm1pdCBlbmQtY2xhdXNlIG9uIGRpcmVjdGl2ZQoKZ2NjL2Zv cnRyYW4vQ2hhbmdlTG9nOgoKCSogb3Blbm1wLmNjIChPTVBfRE9fQ0xBVVNFUywgT01QX1ND T1BFX0NMQVVTRVMsCglPTVBfU0VDVElPTlNfQ0xBVVNFUyk6IEFkZCAnbm93YWl0Jy4KCShP TVBfU0lOR0xFX0NMQVVTRVMpOiBBZGQgJ25vd2FpdCcgYW5kICdjb3B5cHJpdmF0ZScuCgko Z2ZjX21hdGNoX29tcF9kaXN0cmlidXRlX3BhcmFsbGVsX2RvLAoJZ2ZjX21hdGNoX29tcF9k aXN0cmlidXRlX3BhcmFsbGVsX2RvX3NpbWQsCglnZmNfbWF0Y2hfb21wX3BhcmFsbGVsX2Rv LAoJZ2ZjX21hdGNoX29tcF9wYXJhbGxlbF9kb19zaW1kLAoJZ2ZjX21hdGNoX29tcF9wYXJh bGxlbF9zZWN0aW9ucywKCWdmY19tYXRjaF9vbXBfdGVhbXNfZGlzdHJpYnV0ZV9wYXJhbGxl bF9kbywKCWdmY19tYXRjaF9vbXBfdGVhbXNfZGlzdHJpYnV0ZV9wYXJhbGxlbF9kb19zaW1k KTogRGlzYWxsb3cgJ25vd2FpdCcuCglnZmNfbWF0Y2hfb21wX3dvcmtzaGFyZSk6IE1hdGNo ICdub3dhaXQnIGNsYXVzZS4KCShnZmNfbWF0Y2hfb21wX2VuZF9zaW5nbGUpOiBVc2UgY2xh dXNlIG1hdGNoZXIgZm9yICdub3dhaXQnLgoJKHJlc29sdmVfb21wX2NsYXVzZXMpOiBSZWpl Y3QgJ25vd2FpdCcgKyAnY29weXByaXZhdGUnLgoJKiBwYXJzZS5jYyAoZGVjb2RlX29tcF9k aXJlY3RpdmUpOiBCcmVhayB0b28gbG9uZyBsaW5lLgoJKHBhcnNlX29tcF9kbywgcGFyc2Vf b21wX3N0cnVjdHVyZWRfYmxvY2spOiBEaWFnbm9zZSBkdXBsaWNhdGVkCgknbm93YWl0JyBj bGF1c2UuCgpsaWJnb21wL0NoYW5nZUxvZzoKCgkqIGxpYmdvbXAudGV4aSAoT3Blbk1QIDUu Mik6IE1hcmsgZW5kLWRpcmVjdGl2ZSBhcyBZLgoKZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2c6 CgoJKiBnZm9ydHJhbi5kZy9nb21wL2NvcHlwcml2YXRlLTEuZjkwOiBOZXcgdGVzdC4KCSog Z2ZvcnRyYW4uZGcvZ29tcC9jb3B5cHJpdmF0ZS0yLmY5MDogTmV3IHRlc3QuCgkqIGdmb3J0 cmFuLmRnL2dvbXAvbm93YWl0LTIuZjkwOiBNb3ZlIGRnLWVycm9yIHRlc3RzIC4uLgoJKiBn Zm9ydHJhbi5kZy9nb21wL25vd2FpdC00LmY5MDogLi4uIHRvIHRoaXMgbmV3IGZpbGUuCgkq IGdmb3J0cmFuLmRnL2dvbXAvbm93YWl0LTUuZjkwOiBOZXcgdGVzdC4KCSogZ2ZvcnRyYW4u ZGcvZ29tcC9ub3dhaXQtNi5mOTA6IE5ldyB0ZXN0LgoJKiBnZm9ydHJhbi5kZy9nb21wL25v d2FpdC03LmY5MDogTmV3IHRlc3QuCgkqIGdmb3J0cmFuLmRnL2dvbXAvbm93YWl0LTguZjkw OiBOZXcgdGVzdC4KCiBnY2MvZm9ydHJhbi9vcGVubXAuY2MgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgNTcgKysrKy0tLS0KIGdjYy9mb3J0cmFuL3BhcnNlLmNjICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAzMyArKysrLQogZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJh bi5kZy9nb21wL2NvcHlwcml2YXRlLTEuZjkwIHwgIDIxICsrKwogZ2NjL3Rlc3RzdWl0ZS9n Zm9ydHJhbi5kZy9nb21wL2NvcHlwcml2YXRlLTIuZjkwIHwgIDk3ICsrKysrKysrKysrKysr CiBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvbXAvbm93YWl0LTIuZjkwICAgICAgfCAx NTkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcv Z29tcC9ub3dhaXQtNC5mOTAgICAgICB8IDE1OCArKysrKysrKysrKysrKysrKysrKysrCiBn Y2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvbXAvbm93YWl0LTUuZjkwICAgICAgfCAxNTYg KysrKysrKysrKysrKysrKysrKysrKwogZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21w L25vd2FpdC02LmY5MCAgICAgIHwgMTU4ICsrKysrKysrKysrKysrKysrKysrKysKIGdjYy90 ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9ub3dhaXQtNy5mOTAgICAgICB8IDExOCArKysr KysrKysrKysrKysrKwogZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL25vd2FpdC04 LmY5MCAgICAgIHwgIDkyICsrKysrKysrKysrKysKIGxpYmdvbXAvbGliZ29tcC50ZXhpICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQogMTEgZmlsZXMgY2hhbmdlZCwg ODU3IGluc2VydGlvbnMoKyksIDE5NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9nY2Mv Zm9ydHJhbi9vcGVubXAuY2MgYi9nY2MvZm9ydHJhbi9vcGVubXAuY2MKaW5kZXggZTBlM2I1 MmFkNTcuLjg2MmM2NDliMGI2IDEwMDY0NAotLS0gYS9nY2MvZm9ydHJhbi9vcGVubXAuY2MK KysrIGIvZ2NjL2ZvcnRyYW4vb3Blbm1wLmNjCkBAIC00MTczLDE3ICs0MTczLDE5IEBAIGNs ZWFudXA6CiAgIChvbXBfbWFzayAoT01QX0NMQVVTRV9QUklWQVRFKSB8IE9NUF9DTEFVU0Vf RklSU1RQUklWQVRFCQlcCiAgICB8IE9NUF9DTEFVU0VfTEFTVFBSSVZBVEUgfCBPTVBfQ0xB VVNFX1JFRFVDVElPTgkJCVwKICAgIHwgT01QX0NMQVVTRV9TQ0hFRFVMRSB8IE9NUF9DTEFV U0VfT1JERVJFRCB8IE9NUF9DTEFVU0VfQ09MTEFQU0UJXAotICAgfCBPTVBfQ0xBVVNFX0xJ TkVBUiB8IE9NUF9DTEFVU0VfT1JERVIgfCBPTVBfQ0xBVVNFX0FMTE9DQVRFKQorICAgfCBP TVBfQ0xBVVNFX0xJTkVBUiB8IE9NUF9DTEFVU0VfT1JERVIgfCBPTVBfQ0xBVVNFX0FMTE9D QVRFCQlcCisgICB8IE9NUF9DTEFVU0VfTk9XQUlUKQogI2RlZmluZSBPTVBfTE9PUF9DTEFV U0VTIFwKICAgKG9tcF9tYXNrIChPTVBfQ0xBVVNFX0JJTkQpIHwgT01QX0NMQVVTRV9DT0xM QVBTRSB8IE9NUF9DTEFVU0VfT1JERVIJXAogICAgfCBPTVBfQ0xBVVNFX1BSSVZBVEUgfCBP TVBfQ0xBVVNFX0xBU1RQUklWQVRFIHwgT01QX0NMQVVTRV9SRURVQ1RJT04pCiAKICNkZWZp bmUgT01QX1NDT1BFX0NMQVVTRVMgXAogICAob21wX21hc2sgKE9NUF9DTEFVU0VfUFJJVkFU RSkgfE9NUF9DTEFVU0VfRklSU1RQUklWQVRFCQlcCi0gICB8IE9NUF9DTEFVU0VfUkVEVUNU SU9OIHwgT01QX0NMQVVTRV9BTExPQ0FURSkKKyAgIHwgT01QX0NMQVVTRV9SRURVQ1RJT04g fCBPTVBfQ0xBVVNFX0FMTE9DQVRFIHwgT01QX0NMQVVTRV9OT1dBSVQpCiAjZGVmaW5lIE9N UF9TRUNUSU9OU19DTEFVU0VTIFwKICAgKG9tcF9tYXNrIChPTVBfQ0xBVVNFX1BSSVZBVEUp IHwgT01QX0NMQVVTRV9GSVJTVFBSSVZBVEUJCVwKLSAgIHwgT01QX0NMQVVTRV9MQVNUUFJJ VkFURSB8IE9NUF9DTEFVU0VfUkVEVUNUSU9OIHwgT01QX0NMQVVTRV9BTExPQ0FURSkKKyAg IHwgT01QX0NMQVVTRV9MQVNUUFJJVkFURSB8IE9NUF9DTEFVU0VfUkVEVUNUSU9OCQkJXAor ICAgfCBPTVBfQ0xBVVNFX0FMTE9DQVRFIHwgT01QX0NMQVVTRV9OT1dBSVQpCiAjZGVmaW5l IE9NUF9TSU1EX0NMQVVTRVMgXAogICAob21wX21hc2sgKE9NUF9DTEFVU0VfUFJJVkFURSkg fCBPTVBfQ0xBVVNFX0xBU1RQUklWQVRFCQlcCiAgICB8IE9NUF9DTEFVU0VfUkVEVUNUSU9O IHwgT01QX0NMQVVTRV9DT0xMQVBTRSB8IE9NUF9DTEFVU0VfU0FGRUxFTglcCkBAIC00MjMz LDcgKzQyMzUsNyBAQCBjbGVhbnVwOgogICAgfCBPTVBfQ0xBVVNFX09SREVSIHwgT01QX0NM QVVTRV9BTExPQ0FURSkKICNkZWZpbmUgT01QX1NJTkdMRV9DTEFVU0VTIFwKICAgKG9tcF9t YXNrIChPTVBfQ0xBVVNFX1BSSVZBVEUpIHwgT01QX0NMQVVTRV9GSVJTVFBSSVZBVEUJCVwK LSAgIHwgT01QX0NMQVVTRV9BTExPQ0FURSkKKyAgIHwgT01QX0NMQVVTRV9BTExPQ0FURSB8 IE9NUF9DTEFVU0VfTk9XQUlUIHwgT01QX0NMQVVTRV9DT1BZUFJJVkFURSkKICNkZWZpbmUg T01QX09SREVSRURfQ0xBVVNFUyBcCiAgIChvbXBfbWFzayAoT01QX0NMQVVTRV9USFJFQURT KSB8IE9NUF9DTEFVU0VfU0lNRCkKICNkZWZpbmUgT01QX0RFQ0xBUkVfVEFSR0VUX0NMQVVT RVMgXApAQCAtNDI0Nyw3ICs0MjQ5LDggQEAgY2xlYW51cDoKICAgKG9tcF9tYXNrIChPTVBf Q0xBVVNFX0ZJTFRFUikpCiAjZGVmaW5lIE9NUF9FUlJPUl9DTEFVU0VTIFwKICAgKG9tcF9t YXNrIChPTVBfQ0xBVVNFX0FUKSB8IE9NUF9DTEFVU0VfTUVTU0FHRSB8IE9NUF9DTEFVU0Vf U0VWRVJJVFkpCi0KKyNkZWZpbmUgT01QX1dPUktTSEFSRV9DTEFVU0VTIFwKKyAgb21wX21h c2sgKE9NUF9DTEFVU0VfTk9XQUlUKQogCiAKIHN0YXRpYyBtYXRjaApAQCAtNDQ1OCw4ICs0 NDYxLDggQEAgZ2ZjX21hdGNoX29tcF9kaXN0cmlidXRlX3BhcmFsbGVsX2RvICh2b2lkKQog ICByZXR1cm4gbWF0Y2hfb21wIChFWEVDX09NUF9ESVNUUklCVVRFX1BBUkFMTEVMX0RPLAog CQkgICAgKE9NUF9ESVNUUklCVVRFX0NMQVVTRVMgfCBPTVBfUEFSQUxMRUxfQ0xBVVNFUwog CQkgICAgIHwgT01QX0RPX0NMQVVTRVMpCi0JCSAgICAmIH4ob21wX21hc2sgKE9NUF9DTEFV U0VfT1JERVJFRCkpCi0JCSAgICAmIH4ob21wX21hc2sgKE9NUF9DTEFVU0VfTElORUFSKSkp OworCQkgICAgJiB+KG9tcF9tYXNrIChPTVBfQ0xBVVNFX09SREVSRUQpCisJCQl8IE9NUF9D TEFVU0VfTElORUFSIHwgT01QX0NMQVVTRV9OT1dBSVQpKTsKIH0KIAogCkBAIC00NDY5LDcg KzQ0NzIsNyBAQCBnZmNfbWF0Y2hfb21wX2Rpc3RyaWJ1dGVfcGFyYWxsZWxfZG9fc2ltZCAo dm9pZCkKICAgcmV0dXJuIG1hdGNoX29tcCAoRVhFQ19PTVBfRElTVFJJQlVURV9QQVJBTExF TF9ET19TSU1ELAogCQkgICAgKE9NUF9ESVNUUklCVVRFX0NMQVVTRVMgfCBPTVBfUEFSQUxM RUxfQ0xBVVNFUwogCQkgICAgIHwgT01QX0RPX0NMQVVTRVMgfCBPTVBfU0lNRF9DTEFVU0VT KQotCQkgICAgJiB+KG9tcF9tYXNrIChPTVBfQ0xBVVNFX09SREVSRUQpKSk7CisJCSAgICAm IH4ob21wX21hc2sgKE9NUF9DTEFVU0VfT1JERVJFRCkgfCBPTVBfQ0xBVVNFX05PV0FJVCkp OwogfQogCiAKQEAgLTU3NzAsNyArNTc3Myw4IEBAIG1hdGNoCiBnZmNfbWF0Y2hfb21wX3Bh cmFsbGVsX2RvICh2b2lkKQogewogICByZXR1cm4gbWF0Y2hfb21wIChFWEVDX09NUF9QQVJB TExFTF9ETywKLQkJICAgIE9NUF9QQVJBTExFTF9DTEFVU0VTIHwgT01QX0RPX0NMQVVTRVMp OworCQkgICAgKE9NUF9QQVJBTExFTF9DTEFVU0VTIHwgT01QX0RPX0NMQVVTRVMpCisJCSAg ICAmIH4ob21wX21hc2sgKE9NUF9DTEFVU0VfTk9XQUlUKSkpOwogfQogCiAKQEAgLTU3Nzgs NyArNTc4Miw4IEBAIG1hdGNoCiBnZmNfbWF0Y2hfb21wX3BhcmFsbGVsX2RvX3NpbWQgKHZv aWQpCiB7CiAgIHJldHVybiBtYXRjaF9vbXAgKEVYRUNfT01QX1BBUkFMTEVMX0RPX1NJTUQs Ci0JCSAgICBPTVBfUEFSQUxMRUxfQ0xBVVNFUyB8IE9NUF9ET19DTEFVU0VTIHwgT01QX1NJ TURfQ0xBVVNFUyk7CisJCSAgICAoT01QX1BBUkFMTEVMX0NMQVVTRVMgfCBPTVBfRE9fQ0xB VVNFUyB8IE9NUF9TSU1EX0NMQVVTRVMpCisJCSAgICAmIH4ob21wX21hc2sgKE9NUF9DTEFV U0VfTk9XQUlUKSkpOwogfQogCiAKQEAgLTU4MzQsNyArNTgzOSw4IEBAIG1hdGNoCiBnZmNf bWF0Y2hfb21wX3BhcmFsbGVsX3NlY3Rpb25zICh2b2lkKQogewogICByZXR1cm4gbWF0Y2hf b21wIChFWEVDX09NUF9QQVJBTExFTF9TRUNUSU9OUywKLQkJICAgIE9NUF9QQVJBTExFTF9D TEFVU0VTIHwgT01QX1NFQ1RJT05TX0NMQVVTRVMpOworCQkgICAgKE9NUF9QQVJBTExFTF9D TEFVU0VTIHwgT01QX1NFQ1RJT05TX0NMQVVTRVMpCisJCSAgICAmIH4ob21wX21hc2sgKE9N UF9DTEFVU0VfTk9XQUlUKSkpOwogfQogCiAKQEAgLTYzMjAsOCArNjMyNiw4IEBAIGdmY19t YXRjaF9vbXBfdGVhbXNfZGlzdHJpYnV0ZV9wYXJhbGxlbF9kbyAodm9pZCkKICAgcmV0dXJu IG1hdGNoX29tcCAoRVhFQ19PTVBfVEVBTVNfRElTVFJJQlVURV9QQVJBTExFTF9ETywKIAkJ ICAgIChPTVBfVEVBTVNfQ0xBVVNFUyB8IE9NUF9ESVNUUklCVVRFX0NMQVVTRVMKIAkJICAg ICB8IE9NUF9QQVJBTExFTF9DTEFVU0VTIHwgT01QX0RPX0NMQVVTRVMpCi0JCSAgICAmIH4o b21wX21hc2sgKE9NUF9DTEFVU0VfT1JERVJFRCkpCi0JCSAgICAmIH4ob21wX21hc2sgKE9N UF9DTEFVU0VfTElORUFSKSkpOworCQkgICAgJiB+KG9tcF9tYXNrIChPTVBfQ0xBVVNFX09S REVSRUQpCisJCQl8IE9NUF9DTEFVU0VfTElORUFSIHwgT01QX0NMQVVTRV9OT1dBSVQpKTsK IH0KIAogCkBAIC02MzMxLDcgKzYzMzcsOCBAQCBnZmNfbWF0Y2hfb21wX3RlYW1zX2Rpc3Ry aWJ1dGVfcGFyYWxsZWxfZG9fc2ltZCAodm9pZCkKICAgcmV0dXJuIG1hdGNoX29tcCAoRVhF Q19PTVBfVEVBTVNfRElTVFJJQlVURV9QQVJBTExFTF9ET19TSU1ELAogCQkgICAgKE9NUF9U RUFNU19DTEFVU0VTIHwgT01QX0RJU1RSSUJVVEVfQ0xBVVNFUwogCQkgICAgIHwgT01QX1BB UkFMTEVMX0NMQVVTRVMgfCBPTVBfRE9fQ0xBVVNFUwotCQkgICAgIHwgT01QX1NJTURfQ0xB VVNFUykgJiB+KG9tcF9tYXNrIChPTVBfQ0xBVVNFX09SREVSRUQpKSk7CisJCSAgICAgfCBP TVBfU0lNRF9DTEFVU0VTKQorCQkgICAgJiB+KG9tcF9tYXNrIChPTVBfQ0xBVVNFX09SREVS RUQpIHwgT01QX0NMQVVTRV9OT1dBSVQpKTsKIH0KIAogCkBAIC02MzQ3LDE0ICs2MzU0LDcg QEAgZ2ZjX21hdGNoX29tcF90ZWFtc19kaXN0cmlidXRlX3NpbWQgKHZvaWQpCiBtYXRjaAog Z2ZjX21hdGNoX29tcF93b3Jrc2hhcmUgKHZvaWQpCiB7Ci0gIGlmIChnZmNfbWF0Y2hfb21w X2VvcyAoKSAhPSBNQVRDSF9ZRVMpCi0gICAgewotICAgICAgZ2ZjX2Vycm9yICgiVW5leHBl Y3RlZCBqdW5rIGFmdGVyICRPTVAgV09SS1NIQVJFIHN0YXRlbWVudCBhdCAlQyIpOwotICAg ICAgcmV0dXJuIE1BVENIX0VSUk9SOwotICAgIH0KLSAgbmV3X3N0Lm9wID0gRVhFQ19PTVBf V09SS1NIQVJFOwotICBuZXdfc3QuZXh0Lm9tcF9jbGF1c2VzID0gZ2ZjX2dldF9vbXBfY2xh dXNlcyAoKTsKLSAgcmV0dXJuIE1BVENIX1lFUzsKKyAgcmV0dXJuIG1hdGNoX29tcCAoRVhF Q19PTVBfV09SS1NIQVJFLCBPTVBfV09SS1NIQVJFX0NMQVVTRVMpOwogfQogCiAKQEAgLTY2 NTgsMTQgKzY2NTgsOCBAQCBtYXRjaAogZ2ZjX21hdGNoX29tcF9lbmRfc2luZ2xlICh2b2lk KQogewogICBnZmNfb21wX2NsYXVzZXMgKmM7Ci0gIGlmIChnZmNfbWF0Y2ggKCIlIG5vd2Fp dCIpID09IE1BVENIX1lFUykKLSAgICB7Ci0gICAgICBuZXdfc3Qub3AgPSBFWEVDX09NUF9F TkRfTk9XQUlUOwotICAgICAgbmV3X3N0LmV4dC5vbXBfYm9vbCA9IHRydWU7Ci0gICAgICBy ZXR1cm4gTUFUQ0hfWUVTOwotICAgIH0KLSAgaWYgKGdmY19tYXRjaF9vbXBfY2xhdXNlcyAo JmMsIG9tcF9tYXNrIChPTVBfQ0xBVVNFX0NPUFlQUklWQVRFKSkKLSAgICAgICE9IE1BVENI X1lFUykKKyAgaWYgKGdmY19tYXRjaF9vbXBfY2xhdXNlcyAoJmMsIG9tcF9tYXNrIChPTVBf Q0xBVVNFX0NPUFlQUklWQVRFKQorCQkJCQkgICB8IE9NUF9DTEFVU0VfTk9XQUlUKSAhPSBN QVRDSF9ZRVMpCiAgICAgcmV0dXJuIE1BVENIX0VSUk9SOwogICBuZXdfc3Qub3AgPSBFWEVD X09NUF9FTkRfU0lOR0xFOwogICBuZXdfc3QuZXh0Lm9tcF9jbGF1c2VzID0gYzsKQEAgLTc0 MDYsNiArNzQwMCw5IEBAIHJlc29sdmVfb21wX2NsYXVzZXMgKGdmY19jb2RlICpjb2RlLCBn ZmNfb21wX2NsYXVzZXMgKm9tcF9jbGF1c2VzLAogCSAgICAgIH0KIAkgICAgYnJlYWs7CiAJ ICBjYXNlIE9NUF9MSVNUX0NPUFlQUklWQVRFOgorCSAgICBpZiAob21wX2NsYXVzZXMtPm5v d2FpdCkKKwkgICAgICBnZmNfZXJyb3IgKCJOT1dBSVQgY2xhdXNlIG11c3Qgbm90IGJlIHVz ZWQgd2l0aCBDT1BZUFJJVkFURSAiCisJCQkgImNsYXVzZSBhdCAlTCIsICZuLT53aGVyZSk7 CiAJICAgIGZvciAoOyBuICE9IE5VTEw7IG4gPSBuLT5uZXh0KQogCSAgICAgIHsKIAkJaWYg KG4tPnN5bS0+YXMgJiYgbi0+c3ltLT5hcy0+dHlwZSA9PSBBU19BU1NVTUVEX1NJWkUpCmRp ZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9wYXJzZS5jYyBiL2djYy9mb3J0cmFuL3BhcnNlLmNj CmluZGV4IGYwNGZkMTNjYzY5Li41MWZmMGZjNmFjZSAxMDA2NDQKLS0tIGEvZ2NjL2ZvcnRy YW4vcGFyc2UuY2MKKysrIGIvZ2NjL2ZvcnRyYW4vcGFyc2UuY2MKQEAgLTk0Miw3ICs5NDIs OCBAQCBkZWNvZGVfb21wX2RpcmVjdGl2ZSAodm9pZCkKICAgICAgIG1hdGNocyAoImVuZCBv cmRlcmVkIiwgZ2ZjX21hdGNoX29tcF9lb3NfZXJyb3IsIFNUX09NUF9FTkRfT1JERVJFRCk7 CiAgICAgICBtYXRjaHMgKCJlbmQgcGFyYWxsZWwgZG8gc2ltZCIsIGdmY19tYXRjaF9vbXBf ZW9zX2Vycm9yLAogCSAgICAgIFNUX09NUF9FTkRfUEFSQUxMRUxfRE9fU0lNRCk7Ci0gICAg ICBtYXRjaG8gKCJlbmQgcGFyYWxsZWwgZG8iLCBnZmNfbWF0Y2hfb21wX2Vvc19lcnJvciwg U1RfT01QX0VORF9QQVJBTExFTF9ETyk7CisgICAgICBtYXRjaG8gKCJlbmQgcGFyYWxsZWwg ZG8iLCBnZmNfbWF0Y2hfb21wX2Vvc19lcnJvciwKKwkgICAgICBTVF9PTVBfRU5EX1BBUkFM TEVMX0RPKTsKICAgICAgIG1hdGNobyAoImVuZCBwYXJhbGxlbCBsb29wIiwgZ2ZjX21hdGNo X29tcF9lb3NfZXJyb3IsCiAJICAgICAgU1RfT01QX0VORF9QQVJBTExFTF9MT09QKTsKICAg ICAgIG1hdGNobyAoImVuZCBwYXJhbGxlbCBtYXNrZWQgdGFza2xvb3Agc2ltZCIsIGdmY19t YXRjaF9vbXBfZW9zX2Vycm9yLApAQCAtNTMwNSw3ICs1MzA2LDEzIEBAIHBhcnNlX29tcF9k byAoZ2ZjX3N0YXRlbWVudCBvbXBfc3QpCiAgIGlmIChzdCA9PSBvbXBfZW5kX3N0KQogICAg IHsKICAgICAgIGlmIChuZXdfc3Qub3AgPT0gRVhFQ19PTVBfRU5EX05PV0FJVCkKLQljcC0+ ZXh0Lm9tcF9jbGF1c2VzLT5ub3dhaXQgfD0gbmV3X3N0LmV4dC5vbXBfYm9vbDsKKwl7CisJ ICBpZiAoY3AtPmV4dC5vbXBfY2xhdXNlcy0+bm93YWl0ICYmIG5ld19zdC5leHQub21wX2Jv b2wpCisJICAgIGdmY19lcnJvcl9ub3cgKCJEdXBsaWNhdGVkIE5PV0FJVCBjbGF1c2Ugb24g JXMgYW5kICVzIGF0ICVDIiwKKwkJCSAgIGdmY19hc2NpaV9zdGF0ZW1lbnQgKG9tcF9zdCks CisJCQkgICBnZmNfYXNjaWlfc3RhdGVtZW50IChvbXBfZW5kX3N0KSk7CisJICBjcC0+ZXh0 Lm9tcF9jbGF1c2VzLT5ub3dhaXQgfD0gbmV3X3N0LmV4dC5vbXBfYm9vbDsKKwl9CiAgICAg ICBlbHNlCiAJZ2NjX2Fzc2VydCAobmV3X3N0Lm9wID09IEVYRUNfTk9QKTsKICAgICAgIGdm Y19jbGVhcl9uZXdfc3QgKCk7CkBAIC01NzQ1LDYgKzU3NTIsMTAgQEAgcGFyc2Vfb21wX3N0 cnVjdHVyZWRfYmxvY2sgKGdmY19zdGF0ZW1lbnQgb21wX3N0LCBib29sIHdvcmtzaGFyZV9z dG10c19vbmx5KQogICBzd2l0Y2ggKG5ld19zdC5vcCkKICAgICB7CiAgICAgY2FzZSBFWEVD X09NUF9FTkRfTk9XQUlUOgorICAgICAgaWYgKGNwLT5leHQub21wX2NsYXVzZXMtPm5vd2Fp dCAmJiBuZXdfc3QuZXh0Lm9tcF9ib29sKQorCWdmY19lcnJvcl9ub3cgKCJEdXBsaWNhdGVk IE5PV0FJVCBjbGF1c2Ugb24gJXMgYW5kICVzIGF0ICVDIiwKKwkJICAgICAgIGdmY19hc2Np aV9zdGF0ZW1lbnQgKG9tcF9zdCksCisJCSAgICAgICBnZmNfYXNjaWlfc3RhdGVtZW50IChv bXBfZW5kX3N0KSk7CiAgICAgICBjcC0+ZXh0Lm9tcF9jbGF1c2VzLT5ub3dhaXQgfD0gbmV3 X3N0LmV4dC5vbXBfYm9vbDsKICAgICAgIGJyZWFrOwogICAgIGNhc2UgRVhFQ19PTVBfRU5E X0NSSVRJQ0FMOgpAQCAtNTc1OSw4ICs1NzcwLDIyIEBAIHBhcnNlX29tcF9zdHJ1Y3R1cmVk X2Jsb2NrIChnZmNfc3RhdGVtZW50IG9tcF9zdCwgYm9vbCB3b3Jrc2hhcmVfc3RtdHNfb25s eSkKICAgICAgIG5ld19zdC5leHQub21wX25hbWUgPSBOVUxMOwogICAgICAgYnJlYWs7CiAg ICAgY2FzZSBFWEVDX09NUF9FTkRfU0lOR0xFOgotICAgICAgY3AtPmV4dC5vbXBfY2xhdXNl cy0+bGlzdHNbT01QX0xJU1RfQ09QWVBSSVZBVEVdCi0JPSBuZXdfc3QuZXh0Lm9tcF9jbGF1 c2VzLT5saXN0c1tPTVBfTElTVF9DT1BZUFJJVkFURV07CisgICAgICBpZiAoY3AtPmV4dC5v bXBfY2xhdXNlcy0+bm93YWl0ICYmIG5ld19zdC5leHQub21wX2NsYXVzZXMtPm5vd2FpdCkK KwlnZmNfZXJyb3Jfbm93ICgiRHVwbGljYXRlZCBOT1dBSVQgY2xhdXNlIG9uICVzIGFuZCAl cyBhdCAlQyIsCisJCSAgICAgICBnZmNfYXNjaWlfc3RhdGVtZW50IChvbXBfc3QpLAorCQkg ICAgICAgZ2ZjX2FzY2lpX3N0YXRlbWVudCAob21wX2VuZF9zdCkpOworICAgICAgY3AtPmV4 dC5vbXBfY2xhdXNlcy0+bm93YWl0IHw9IG5ld19zdC5leHQub21wX2NsYXVzZXMtPm5vd2Fp dDsKKyAgICAgIGlmIChjcC0+ZXh0Lm9tcF9jbGF1c2VzLT5saXN0c1tPTVBfTElTVF9DT1BZ UFJJVkFURV0pCisJeworCSAgZ2ZjX29tcF9uYW1lbGlzdCAqbmw7CisJICBmb3IgKG5sID0g Y3AtPmV4dC5vbXBfY2xhdXNlcy0+bGlzdHNbT01QX0xJU1RfQ09QWVBSSVZBVEVdOworCSAg ICAgIG5sLT5uZXh0OyBubCA9IG5sLT5uZXh0KTsKKwkgICAgOworCSAgbmwtPm5leHQgPSBu ZXdfc3QuZXh0Lm9tcF9jbGF1c2VzLT5saXN0c1tPTVBfTElTVF9DT1BZUFJJVkFURV07CisJ fQorICAgICAgZWxzZQorCWNwLT5leHQub21wX2NsYXVzZXMtPmxpc3RzW09NUF9MSVNUX0NP UFlQUklWQVRFXQorCSAgPSBuZXdfc3QuZXh0Lm9tcF9jbGF1c2VzLT5saXN0c1tPTVBfTElT VF9DT1BZUFJJVkFURV07CiAgICAgICBuZXdfc3QuZXh0Lm9tcF9jbGF1c2VzLT5saXN0c1tP TVBfTElTVF9DT1BZUFJJVkFURV0gPSBOVUxMOwogICAgICAgZ2ZjX2ZyZWVfb21wX2NsYXVz ZXMgKG5ld19zdC5leHQub21wX2NsYXVzZXMpOwogICAgICAgYnJlYWs7CmRpZmYgLS1naXQg YS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvbXAvY29weXByaXZhdGUtMS5mOTAgYi9n Y2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvbXAvY29weXByaXZhdGUtMS5mOTAKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmViMmM4NjU4MThlCi0tLSAvZGV2 L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL2NvcHlwcml2YXRl LTEuZjkwCkBAIC0wLDAgKzEsMjEgQEAKKyEgYmFzZWQgb24gcHI1OTQ2Ny5mOTAgYnV0IENP UFlQUklWQVRFIG9uIHRoZSBkaXJlY3RpdmUKKyEgeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMg Ii1mZHVtcC10cmVlLW9yaWdpbmFsIiB9CisKKyAgRlVOQ1RJT04gdCgpCisgICAgSU5URUdF UiA6OiBhLCBiLCB0CisgICAgYSA9IDAKKyAgICBiID0gMAorICAgIHQgPSBiCisgICAgYiA9 IDAKKyAgICAhJE9NUCBQQVJBTExFTCBSRURVQ1RJT04oKzpiKQorICAgICAgISRPTVAgU0lO R0xFIENPUFlQUklWQVRFIChiKQorICAgICAgICAhJE9NUCBBVE9NSUMgV1JJVEUKKyAgICAg ICAgYiA9IDYKKyAgICAgICEkT01QIEVORCBTSU5HTEUKKyAgICAhJE9NUCBFTkQgUEFSQUxM RUwKKyAgICB0ID0gdCArIGIKKyAgRU5EIEZVTkNUSU9OCisKKyEgeyBkZy1maW5hbCB7IHNj YW4tdHJlZS1kdW1wLXRpbWVzICIjcHJhZ21hIG9tcCBwYXJhbGxlbCByZWR1Y3Rpb25cXChc XCs6YlxcKSIgMSAib3JpZ2luYWwiIH0gfQorISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1 bXAtdGltZXMgIiNwcmFnbWEgb21wIHNpbmdsZSBjb3B5cHJpdmF0ZVxcKGJcXCkiIDEgIm9y aWdpbmFsIiB9IH0KKyEgeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICIjcHJh Z21hIG9tcCBhdG9taWMgcmVsYXhlZCIgMSAib3JpZ2luYWwiIH0gfQpkaWZmIC0tZ2l0IGEv Z2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL2NvcHlwcml2YXRlLTIuZjkwIGIvZ2Nj L3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL2NvcHlwcml2YXRlLTIuZjkwCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4xMzBmMzcxNmUxZQotLS0gL2Rldi9u dWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9jb3B5cHJpdmF0ZS0y LmY5MApAQCAtMCwwICsxLDk3IEBACisgIEZVTkNUSU9OIHQoKQorICAgIElOVEVHRVIgOjog YSwgYiwgdAorICAgIGEgPSAwCisgICAgdCA9IGIKKyAgICBiID0gMAorICAgICEkT01QIFBB UkFMTEVMIFJFRFVDVElPTigrOmIpCisgICAgICAhJE9NUCBTSU5HTEUgQ09QWVBSSVZBVEUg KGIpIE5PV0FJVCAgISB7IGRnLWVycm9yICJOT1dBSVQgY2xhdXNlIG11c3Qgbm90IGJlIHVz ZWQgd2l0aCBDT1BZUFJJVkFURSBjbGF1c2UiIH0KKyAgICAgICAgISRPTVAgQVRPTUlDIFdS SVRFCisgICAgICAgIGIgPSA2CisgICAgICAhJE9NUCBFTkQgU0lOR0xFCisgICAgISRPTVAg RU5EIFBBUkFMTEVMCisgICAgdCA9IHQgKyBiCisgIEVORCBGVU5DVElPTgorCisgIEZVTkNU SU9OIHQyKCkKKyAgICBJTlRFR0VSIDo6IGEsIGIsIHQyCisgICAgYSA9IDAKKyAgICB0MiA9 IGIKKyAgICBiID0gMAorICAgICEkT01QIFBBUkFMTEVMIFJFRFVDVElPTigrOmIpCisgICAg ICAhJE9NUCBTSU5HTEUgTk9XQUlUIENPUFlQUklWQVRFIChiKSAgISB7IGRnLWVycm9yICJO T1dBSVQgY2xhdXNlIG11c3Qgbm90IGJlIHVzZWQgd2l0aCBDT1BZUFJJVkFURSBjbGF1c2Ui IH0KKyAgICAgICAgISRPTVAgQVRPTUlDIFdSSVRFCisgICAgICAgIGIgPSA2CisgICAgICAh JE9NUCBFTkQgU0lOR0xFCisgICAgISRPTVAgRU5EIFBBUkFMTEVMCisgICAgdDIgPSB0MiAr IGIKKyAgRU5EIEZVTkNUSU9OCisKKyAgRlVOQ1RJT04gdDMoKQorICAgIElOVEVHRVIgOjog YSwgYiwgdDMKKyAgICBhID0gMAorICAgIHQzID0gYgorICAgIGIgPSAwCisgICAgISRPTVAg UEFSQUxMRUwgUkVEVUNUSU9OKCs6YikKKyAgICAgICEkT01QIFNJTkdMRSBDT1BZUFJJVkFU RSAoYikgICEgeyBkZy1lcnJvciAiTk9XQUlUIGNsYXVzZSBtdXN0IG5vdCBiZSB1c2VkIHdp dGggQ09QWVBSSVZBVEUgY2xhdXNlIiB9CisgICAgICAgICEkT01QIEFUT01JQyBXUklURQor ICAgICAgICBiID0gNgorICAgICAgISRPTVAgRU5EIFNJTkdMRSBOT1dBSVQKKyAgICAhJE9N UCBFTkQgUEFSQUxMRUwKKyAgICB0MyA9IHQzICsgYgorICBFTkQgRlVOQ1RJT04KKworICBG VU5DVElPTiB0NCgpCisgICAgSU5URUdFUiA6OiBhLCBiLCB0NAorICAgIGEgPSAwCisgICAg dDQgPSBiCisgICAgYiA9IDAKKyAgICAhJE9NUCBQQVJBTExFTCBSRURVQ1RJT04oKzpiKQor ICAgICAgISRPTVAgU0lOR0xFCisgICAgICAgICEkT01QIEFUT01JQyBXUklURQorICAgICAg ICBiID0gNgorICAgICAgISRPTVAgRU5EIFNJTkdMRSBOT1dBSVQgQ09QWVBSSVZBVEUgKGIp ICAhIHsgZGctZXJyb3IgIk5PV0FJVCBjbGF1c2UgbXVzdCBub3QgYmUgdXNlZCB3aXRoIENP UFlQUklWQVRFIGNsYXVzZSIgfQorICAgICEkT01QIEVORCBQQVJBTExFTAorICAgIHQ0ID0g dDQgKyBiCisgIEVORCBGVU5DVElPTgorCisgIEZVTkNUSU9OIHQ1KCkKKyAgICBJTlRFR0VS IDo6IGEsIGIsIHQ1CisgICAgYSA9IDAKKyAgICB0NSA9IGIKKyAgICBiID0gMAorICAgICEk T01QIFBBUkFMTEVMIFJFRFVDVElPTigrOmIpCisgICAgICAhJE9NUCBTSU5HTEUKKyAgICAg ICAgISRPTVAgQVRPTUlDIFdSSVRFCisgICAgICAgIGIgPSA2CisgICAgICAhJE9NUCBFTkQg U0lOR0xFIENPUFlQUklWQVRFIChiKSBOT1dBSVQgICEgeyBkZy1lcnJvciAiTk9XQUlUIGNs YXVzZSBtdXN0IG5vdCBiZSB1c2VkIHdpdGggQ09QWVBSSVZBVEUgY2xhdXNlIiB9CisgICAg ISRPTVAgRU5EIFBBUkFMTEVMCisgICAgdDUgPSB0NSArIGIKKyAgRU5EIEZVTkNUSU9OCisK KyAgRlVOQ1RJT04gdDYoKQorICAgIElOVEVHRVIgOjogYSwgYiwgdDYKKyAgICBhID0gMAor ICAgIHQ2ID0gYgorICAgIGIgPSAwCisgICAgISRPTVAgUEFSQUxMRUwgUkVEVUNUSU9OKCs6 YikKKyAgICAgICEkT01QIFNJTkdMRSBOT1dBSVQKKyAgICAgICAgISRPTVAgQVRPTUlDIFdS SVRFCisgICAgICAgIGIgPSA2CisgICAgICAhJE9NUCBFTkQgU0lOR0xFIENPUFlQUklWQVRF IChiKSAhIHsgZGctZXJyb3IgIk5PV0FJVCBjbGF1c2UgbXVzdCBub3QgYmUgdXNlZCB3aXRo IENPUFlQUklWQVRFIGNsYXVzZSIgfQorICAgICEkT01QIEVORCBQQVJBTExFTAorICAgIHQ2 ID0gdDYgKyBiCisgIEVORCBGVU5DVElPTgorCisgIEZVTkNUSU9OIHQ3KCkKKyAgICBJTlRF R0VSIDo6IGEsIGIsIHQ3CisgICAgYSA9IDAKKyAgICB0NyA9IGIKKyAgICBiID0gMAorICAg ICEkT01QIFBBUkFMTEVMIFJFRFVDVElPTigrOmIpCisgICAgICAhJE9NUCBTSU5HTEUgQ09Q WVBSSVZBVEUgKGIpCisgICAgICAgICEkT01QIEFUT01JQyBXUklURQorICAgICAgICBiID0g NworICAgICAgISRPTVAgRU5EIFNJTkdMRSBDT1BZUFJJVkFURSAoYikgISB7IGRnLWVycm9y ICJTeW1ib2wgJ2InIHByZXNlbnQgb24gbXVsdGlwbGUgY2xhdXNlcyIgfQorICAgICEkT01Q IEVORCBQQVJBTExFTAorICAgIHQ3ID0gdDcgKyBiCisgIEVORCBGVU5DVElPTgpkaWZmIC0t Z2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL25vd2FpdC0yLmY5MCBiL2dj Yy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9ub3dhaXQtMi5mOTAKaW5kZXggZDE4NDU5 YmQzMTUuLmM2ODgxMTcxZTVkIDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFu LmRnL2dvbXAvbm93YWl0LTIuZjkwCisrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcv Z29tcC9ub3dhaXQtMi5mOTAKQEAgLTE1NCwxNjIgKzE1NCwzIEBAIGVuZCBkbwogISRvbXAg ZW5kIHRhcmdldCBkYXRhCiAKIGVuZAotCi0hIGludmFsaWQgbm93YWl0Ci0KLXN1YnJvdXRp bmUgZm9vCi1pbXBsaWNpdCBub25lCi1pbnRlZ2VyIDo6IGksIGEoNSkKLSEkb21wIGF0b21p YyB3cml0ZQotaSA9IDUKLSEkb21wIGVuZCBhdG9taWMgbm93YWl0ICAhIHsgZGctZXJyb3Ig IlVuZXhwZWN0ZWQganVuayIgfQotCi0hJG9tcCBjcml0aWNhbAotISRvbXAgZW5kIGNyaXRp Y2FsIG5vd2FpdCAgISB7IGRnLWVycm9yICJVbmV4cGVjdGVkIGp1bmsiIH0KLQotISRvbXAg ZGlzdHJpYnV0ZQotZG8gaSA9IDEsIDUKLWVuZCBkbwotISRvbXAgZW5kIGRpc3RyaWJ1dGUg bm93YWl0ICAhIHsgZGctZXJyb3IgIlVuZXhwZWN0ZWQganVuayIgfQotCi0hJG9tcCBkaXN0 cmlidXRlIHBhcmFsbGVsIGRvCi1kbyBpID0gMSwgNQotZW5kIGRvCi0hJG9tcCBlbmQgZGlz dHJpYnV0ZSBwYXJhbGxlbCBkbyBub3dhaXQgICEgeyBkZy1lcnJvciAiVW5leHBlY3RlZCBq dW5rIiB9Ci0KLSEkb21wIGRpc3RyaWJ1dGUgcGFyYWxsZWwgZG8gc2ltZAotZG8gaSA9IDEs IDUKLWVuZCBkbwotISRvbXAgZW5kIGRpc3RyaWJ1dGUgcGFyYWxsZWwgZG8gc2ltZCBub3dh aXQgICEgeyBkZy1lcnJvciAiVW5leHBlY3RlZCBqdW5rIiB9Ci0KLSEkb21wIHBhcmFsbGVs IHNlY3Rpb25zCi0gICEkb21wIHNlY3Rpb24KLSAgYmxvY2s7IGVuZCBibG9jawotISRvbXAg ZW5kIHBhcmFsbGVsIHNlY3Rpb25zIG5vd2FpdCAgISB7IGRnLWVycm9yICJVbmV4cGVjdGVk IGp1bmsiIH0KLQotISRvbXAgZGlzdHJpYnV0ZSBzaW1kCi1kbyBpID0gMSwgNQotZW5kIGRv Ci0hJG9tcCBlbmQgZGlzdHJpYnV0ZSBzaW1kIG5vd2FpdCAgISB7IGRnLWVycm9yICJVbmV4 cGVjdGVkIGp1bmsiIH0KLQotISRvbXAgbWFza2VkCi0hJG9tcCBlbmQgbWFza2VkIG5vd2Fp dCAgISB7IGRnLWVycm9yICJVbmV4cGVjdGVkIGp1bmsiIH0KLQotISRvbXAgbWFza2VkIHRh c2tsb29wCi1kbyBpID0gMSwgNQotZW5kIGRvCi0hJG9tcCBlbmQgbWFza2VkIHRhc2tsb29w IG5vd2FpdCAgISB7IGRnLWVycm9yICJVbmV4cGVjdGVkIGp1bmsiIH0KLQotISRvbXAgbWFz a2VkIHRhc2tsb29wIHNpbWQKLWRvIGkgPSAxLCA1Ci1lbmQgZG8KLSEkb21wIGVuZCBtYXNr ZWQgdGFza2xvb3Agc2ltZCBub3dhaXQgICEgeyBkZy1lcnJvciAiVW5leHBlY3RlZCBqdW5r IiB9Ci0KLSEkb21wIG1hc3RlcgotISRvbXAgZW5kIG1hc3RlciBub3dhaXQgICEgeyBkZy1l cnJvciAiVW5leHBlY3RlZCBqdW5rIiB9Ci0KLSEkb21wIG1hc3RlciB0YXNrbG9vcAotZG8g aSA9IDEsIDUKLWVuZCBkbwotISRvbXAgZW5kIG1hc3RlciB0YXNrbG9vcCBub3dhaXQgICEg eyBkZy1lcnJvciAiVW5leHBlY3RlZCBqdW5rIiB9Ci0KLSEkb21wIG1hc3RlciB0YXNrbG9v cCBzaW1kCi1kbyBpID0gMSwgNQotZW5kIGRvCi0hJG9tcCBlbmQgbWFzdGVyIHRhc2tsb29w IHNpbWQgbm93YWl0ICAhIHsgZGctZXJyb3IgIlVuZXhwZWN0ZWQganVuayIgfQotCi0hJG9t cCBvcmRlcmVkCi0hJG9tcCBlbmQgb3JkZXJlZCBub3dhaXQgICEgeyBkZy1lcnJvciAiVW5l eHBlY3RlZCBqdW5rIiB9Ci0KLSEkb21wIHBhcmFsbGVsCi0hJG9tcCBlbmQgcGFyYWxsZWwg bm93YWl0ICAhIHsgZGctZXJyb3IgIlVuZXhwZWN0ZWQganVuayIgfQotCi0hJG9tcCBwYXJh bGxlbCB3b3Jrc2hhcmUKLWEoOikgPSA1Ci0hJG9tcCBlbmQgcGFyYWxsZWwgd29ya3NoYXJl IG5vd2FpdCAgISB7IGRnLWVycm9yICJVbmV4cGVjdGVkIGp1bmsiIH0KLQotISRvbXAgcGFy YWxsZWwgZG8KLWRvIGkgPSAxLCA1Ci1lbmQgZG8KLSEkb21wIGVuZCBwYXJhbGxlbCBkbyBu b3dhaXQgICEgeyBkZy1lcnJvciAiVW5leHBlY3RlZCBqdW5rIiB9Ci0KLSEkb21wIHBhcmFs bGVsIGRvIHNpbWQKLWRvIGkgPSAxLCA1Ci1lbmQgZG8KLSEkb21wIGVuZCBwYXJhbGxlbCBk byBzaW1kIG5vd2FpdCAgISB7IGRnLWVycm9yICJVbmV4cGVjdGVkIGp1bmsiIH0KLQotISRv bXAgcGFyYWxsZWwgbWFza2VkCi0hJG9tcCBlbmQgcGFyYWxsZWwgbWFza2VkIG5vd2FpdCAg ISB7IGRnLWVycm9yICJVbmV4cGVjdGVkIGp1bmsiIH0KLQotISRvbXAgcGFyYWxsZWwgbWFz a2VkIHRhc2tsb29wCi1kbyBpID0gMSwgNQotZW5kIGRvCi0hJG9tcCBlbmQgcGFyYWxsZWwg bWFza2VkIHRhc2tsb29wIG5vd2FpdCAgISB7IGRnLWVycm9yICJVbmV4cGVjdGVkIGp1bmsi IH0KLQotISRvbXAgcGFyYWxsZWwgbWFza2VkIHRhc2tsb29wIHNpbWQKLWRvIGkgPSAxLCA1 Ci1lbmQgZG8KLSEkb21wIGVuZCBwYXJhbGxlbCBtYXNrZWQgdGFza2xvb3Agc2ltZCBub3dh aXQgICEgeyBkZy1lcnJvciAiVW5leHBlY3RlZCBqdW5rIiB9Ci0KLSEkb21wIHBhcmFsbGVs IG1hc3RlcgotISRvbXAgZW5kIHBhcmFsbGVsIG1hc3RlciBub3dhaXQgICEgeyBkZy1lcnJv ciAiVW5leHBlY3RlZCBqdW5rIiB9Ci0KLSEkb21wIHBhcmFsbGVsIG1hc3RlciB0YXNrbG9v cAotZG8gaSA9IDEsIDUKLWVuZCBkbwotISRvbXAgZW5kIHBhcmFsbGVsIG1hc3RlciB0YXNr bG9vcCBub3dhaXQgICEgeyBkZy1lcnJvciAiVW5leHBlY3RlZCBqdW5rIiB9Ci0KLSEkb21w IHBhcmFsbGVsIG1hc3RlciB0YXNrbG9vcCBzaW1kCi1kbyBpID0gMSwgNQotZW5kIGRvCi0h JG9tcCBlbmQgcGFyYWxsZWwgbWFzdGVyIHRhc2tsb29wIHNpbWQgbm93YWl0ICAhIHsgZGct ZXJyb3IgIlVuZXhwZWN0ZWQganVuayIgfQotCi0hJG9tcCBzaW1kCi1kbyBpID0gMSwgNQot ZW5kIGRvCi0hJG9tcCBlbmQgc2ltZCBub3dhaXQgICEgeyBkZy1lcnJvciAiVW5leHBlY3Rl ZCBqdW5rIiB9Ci0KLSEkb21wIHRhc2sKLSEkb21wIGVuZCB0YXNrIG5vd2FpdCAgISB7IGRn LWVycm9yICJVbmV4cGVjdGVkIGp1bmsiIH0KLQotISRvbXAgdGFza2dyb3VwCi0hJG9tcCBl bmQgdGFza2dyb3VwIG5vd2FpdCAgISB7IGRnLWVycm9yICJVbmV4cGVjdGVkIGp1bmsiIH0K LQotISRvbXAgdGFza2xvb3AKLWRvIGkgPSAxLCA1Ci1lbmQgZG8KLSEkb21wIGVuZCB0YXNr bG9vcCBub3dhaXQgICEgeyBkZy1lcnJvciAiVW5leHBlY3RlZCBqdW5rIiB9Ci0KLSEkb21w IHRhc2tsb29wIHNpbWQKLWRvIGkgPSAxLCA1Ci1lbmQgZG8KLSEkb21wIGVuZCB0YXNrbG9v cCBzaW1kIG5vd2FpdCAgISB7IGRnLWVycm9yICJVbmV4cGVjdGVkIGp1bmsiIH0KLQotISRv bXAgdGVhbXMKLSEkb21wIGVuZCB0ZWFtcyBub3dhaXQgICEgeyBkZy1lcnJvciAiVW5leHBl Y3RlZCBqdW5rIiB9Ci0KLSEkb21wIHRlYW1zIGRpc3RyaWJ1dGUKLWRvIGkgPSAxLCA1Ci1l bmQgZG8KLSEkb21wIGVuZCB0ZWFtcyBkaXN0cmlidXRlIG5vd2FpdCAgISB7IGRnLWVycm9y ICJVbmV4cGVjdGVkIGp1bmsiIH0KLQotISRvbXAgdGVhbXMgZGlzdHJpYnV0ZSBwYXJhbGxl bCBkbwotZG8gaSA9IDEsIDUKLWVuZCBkbwotISRvbXAgZW5kIHRlYW1zIGRpc3RyaWJ1dGUg cGFyYWxsZWwgZG8gbm93YWl0ICAhIHsgZGctZXJyb3IgIlVuZXhwZWN0ZWQganVuayIgfQot Ci0hJG9tcCB0ZWFtcyBkaXN0cmlidXRlIHBhcmFsbGVsIGRvIHNpbWQKLWRvIGkgPSAxLCA1 Ci1lbmQgZG8KLSEkb21wIGVuZCB0ZWFtcyBkaXN0cmlidXRlIHBhcmFsbGVsIGRvIHNpbWQg bm93YWl0ICAhIHsgZGctZXJyb3IgIlVuZXhwZWN0ZWQganVuayIgfQotCi0hJG9tcCB0ZWFt cyBkaXN0cmlidXRlIHNpbWQKLWRvIGkgPSAxLCA1Ci1lbmQgZG8KLSEkb21wIGVuZCB0ZWFt cyBkaXN0cmlidXRlIHNpbWQgbm93YWl0ICAhIHsgZGctZXJyb3IgIlVuZXhwZWN0ZWQganVu ayIgfQotCi0hJG9tcCB0YXJnZXQgZGF0YSBtYXAodG9mcm9tOmkpCi0hJG9tcCBlbmQgdGFy Z2V0IGRhdGEgbm93YWl0ICAhIHsgZGctZXJyb3IgIlVuZXhwZWN0ZWQganVuayIgfQotCi1l bmQgICEgeyBkZy1lcnJvciAiVW5leHBlY3RlZCBFTkQgc3RhdGVtZW50IiB9Ci0hIHsgZGct cHJ1bmUtb3V0cHV0ICJVbmV4cGVjdGVkIGVuZCBvZiBmaWxlIiB9CmRpZmYgLS1naXQgYS9n Y2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvbXAvbm93YWl0LTQuZjkwIGIvZ2NjL3Rlc3Rz dWl0ZS9nZm9ydHJhbi5kZy9nb21wL25vd2FpdC00LmY5MApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMC4uYmViYjlkN2ZiOGYKLS0tIC9kZXYvbnVsbAorKysgYi9n Y2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvbXAvbm93YWl0LTQuZjkwCkBAIC0wLDAgKzEs MTU4IEBACishIGludmFsaWQgbm93YWl0CisKK3N1YnJvdXRpbmUgZm9vCitpbXBsaWNpdCBu b25lCitpbnRlZ2VyIDo6IGksIGEoNSkKKyEkb21wIGF0b21pYyB3cml0ZQoraSA9IDUKKyEk b21wIGVuZCBhdG9taWMgbm93YWl0ICAhIHsgZGctZXJyb3IgIlVuZXhwZWN0ZWQganVuayIg fQorCishJG9tcCBjcml0aWNhbAorISRvbXAgZW5kIGNyaXRpY2FsIG5vd2FpdCAgISB7IGRn LWVycm9yICJVbmV4cGVjdGVkIGp1bmsiIH0KKworISRvbXAgZGlzdHJpYnV0ZQorZG8gaSA9 IDEsIDUKK2VuZCBkbworISRvbXAgZW5kIGRpc3RyaWJ1dGUgbm93YWl0ICAhIHsgZGctZXJy b3IgIlVuZXhwZWN0ZWQganVuayIgfQorCishJG9tcCBkaXN0cmlidXRlIHBhcmFsbGVsIGRv CitkbyBpID0gMSwgNQorZW5kIGRvCishJG9tcCBlbmQgZGlzdHJpYnV0ZSBwYXJhbGxlbCBk byBub3dhaXQgICEgeyBkZy1lcnJvciAiVW5leHBlY3RlZCBqdW5rIiB9CisKKyEkb21wIGRp c3RyaWJ1dGUgcGFyYWxsZWwgZG8gc2ltZAorZG8gaSA9IDEsIDUKK2VuZCBkbworISRvbXAg ZW5kIGRpc3RyaWJ1dGUgcGFyYWxsZWwgZG8gc2ltZCBub3dhaXQgICEgeyBkZy1lcnJvciAi VW5leHBlY3RlZCBqdW5rIiB9CisKKyEkb21wIHBhcmFsbGVsIHNlY3Rpb25zCisgICEkb21w IHNlY3Rpb24KKyAgYmxvY2s7IGVuZCBibG9jaworISRvbXAgZW5kIHBhcmFsbGVsIHNlY3Rp b25zIG5vd2FpdCAgISB7IGRnLWVycm9yICJVbmV4cGVjdGVkIGp1bmsiIH0KKworISRvbXAg ZGlzdHJpYnV0ZSBzaW1kCitkbyBpID0gMSwgNQorZW5kIGRvCishJG9tcCBlbmQgZGlzdHJp YnV0ZSBzaW1kIG5vd2FpdCAgISB7IGRnLWVycm9yICJVbmV4cGVjdGVkIGp1bmsiIH0KKwor ISRvbXAgbWFza2VkCishJG9tcCBlbmQgbWFza2VkIG5vd2FpdCAgISB7IGRnLWVycm9yICJV bmV4cGVjdGVkIGp1bmsiIH0KKworISRvbXAgbWFza2VkIHRhc2tsb29wCitkbyBpID0gMSwg NQorZW5kIGRvCishJG9tcCBlbmQgbWFza2VkIHRhc2tsb29wIG5vd2FpdCAgISB7IGRnLWVy cm9yICJVbmV4cGVjdGVkIGp1bmsiIH0KKworISRvbXAgbWFza2VkIHRhc2tsb29wIHNpbWQK K2RvIGkgPSAxLCA1CitlbmQgZG8KKyEkb21wIGVuZCBtYXNrZWQgdGFza2xvb3Agc2ltZCBu b3dhaXQgICEgeyBkZy1lcnJvciAiVW5leHBlY3RlZCBqdW5rIiB9CisKKyEkb21wIG1hc3Rl cgorISRvbXAgZW5kIG1hc3RlciBub3dhaXQgICEgeyBkZy1lcnJvciAiVW5leHBlY3RlZCBq dW5rIiB9CisKKyEkb21wIG1hc3RlciB0YXNrbG9vcAorZG8gaSA9IDEsIDUKK2VuZCBkbwor ISRvbXAgZW5kIG1hc3RlciB0YXNrbG9vcCBub3dhaXQgICEgeyBkZy1lcnJvciAiVW5leHBl Y3RlZCBqdW5rIiB9CisKKyEkb21wIG1hc3RlciB0YXNrbG9vcCBzaW1kCitkbyBpID0gMSwg NQorZW5kIGRvCishJG9tcCBlbmQgbWFzdGVyIHRhc2tsb29wIHNpbWQgbm93YWl0ICAhIHsg ZGctZXJyb3IgIlVuZXhwZWN0ZWQganVuayIgfQorCishJG9tcCBvcmRlcmVkCishJG9tcCBl bmQgb3JkZXJlZCBub3dhaXQgICEgeyBkZy1lcnJvciAiVW5leHBlY3RlZCBqdW5rIiB9CisK KyEkb21wIHBhcmFsbGVsCishJG9tcCBlbmQgcGFyYWxsZWwgbm93YWl0ICAhIHsgZGctZXJy b3IgIlVuZXhwZWN0ZWQganVuayIgfQorCishJG9tcCBwYXJhbGxlbCB3b3Jrc2hhcmUKK2Eo OikgPSA1CishJG9tcCBlbmQgcGFyYWxsZWwgd29ya3NoYXJlIG5vd2FpdCAgISB7IGRnLWVy cm9yICJVbmV4cGVjdGVkIGp1bmsiIH0KKworISRvbXAgcGFyYWxsZWwgZG8KK2RvIGkgPSAx LCA1CitlbmQgZG8KKyEkb21wIGVuZCBwYXJhbGxlbCBkbyBub3dhaXQgICEgeyBkZy1lcnJv ciAiVW5leHBlY3RlZCBqdW5rIiB9CisKKyEkb21wIHBhcmFsbGVsIGRvIHNpbWQKK2RvIGkg PSAxLCA1CitlbmQgZG8KKyEkb21wIGVuZCBwYXJhbGxlbCBkbyBzaW1kIG5vd2FpdCAgISB7 IGRnLWVycm9yICJVbmV4cGVjdGVkIGp1bmsiIH0KKworISRvbXAgcGFyYWxsZWwgbWFza2Vk CishJG9tcCBlbmQgcGFyYWxsZWwgbWFza2VkIG5vd2FpdCAgISB7IGRnLWVycm9yICJVbmV4 cGVjdGVkIGp1bmsiIH0KKworISRvbXAgcGFyYWxsZWwgbWFza2VkIHRhc2tsb29wCitkbyBp ID0gMSwgNQorZW5kIGRvCishJG9tcCBlbmQgcGFyYWxsZWwgbWFza2VkIHRhc2tsb29wIG5v d2FpdCAgISB7IGRnLWVycm9yICJVbmV4cGVjdGVkIGp1bmsiIH0KKworISRvbXAgcGFyYWxs ZWwgbWFza2VkIHRhc2tsb29wIHNpbWQKK2RvIGkgPSAxLCA1CitlbmQgZG8KKyEkb21wIGVu ZCBwYXJhbGxlbCBtYXNrZWQgdGFza2xvb3Agc2ltZCBub3dhaXQgICEgeyBkZy1lcnJvciAi VW5leHBlY3RlZCBqdW5rIiB9CisKKyEkb21wIHBhcmFsbGVsIG1hc3RlcgorISRvbXAgZW5k IHBhcmFsbGVsIG1hc3RlciBub3dhaXQgICEgeyBkZy1lcnJvciAiVW5leHBlY3RlZCBqdW5r IiB9CisKKyEkb21wIHBhcmFsbGVsIG1hc3RlciB0YXNrbG9vcAorZG8gaSA9IDEsIDUKK2Vu ZCBkbworISRvbXAgZW5kIHBhcmFsbGVsIG1hc3RlciB0YXNrbG9vcCBub3dhaXQgICEgeyBk Zy1lcnJvciAiVW5leHBlY3RlZCBqdW5rIiB9CisKKyEkb21wIHBhcmFsbGVsIG1hc3RlciB0 YXNrbG9vcCBzaW1kCitkbyBpID0gMSwgNQorZW5kIGRvCishJG9tcCBlbmQgcGFyYWxsZWwg bWFzdGVyIHRhc2tsb29wIHNpbWQgbm93YWl0ICAhIHsgZGctZXJyb3IgIlVuZXhwZWN0ZWQg anVuayIgfQorCishJG9tcCBzaW1kCitkbyBpID0gMSwgNQorZW5kIGRvCishJG9tcCBlbmQg c2ltZCBub3dhaXQgICEgeyBkZy1lcnJvciAiVW5leHBlY3RlZCBqdW5rIiB9CisKKyEkb21w IHRhc2sKKyEkb21wIGVuZCB0YXNrIG5vd2FpdCAgISB7IGRnLWVycm9yICJVbmV4cGVjdGVk IGp1bmsiIH0KKworISRvbXAgdGFza2dyb3VwCishJG9tcCBlbmQgdGFza2dyb3VwIG5vd2Fp dCAgISB7IGRnLWVycm9yICJVbmV4cGVjdGVkIGp1bmsiIH0KKworISRvbXAgdGFza2xvb3AK K2RvIGkgPSAxLCA1CitlbmQgZG8KKyEkb21wIGVuZCB0YXNrbG9vcCBub3dhaXQgICEgeyBk Zy1lcnJvciAiVW5leHBlY3RlZCBqdW5rIiB9CisKKyEkb21wIHRhc2tsb29wIHNpbWQKK2Rv IGkgPSAxLCA1CitlbmQgZG8KKyEkb21wIGVuZCB0YXNrbG9vcCBzaW1kIG5vd2FpdCAgISB7 IGRnLWVycm9yICJVbmV4cGVjdGVkIGp1bmsiIH0KKworISRvbXAgdGVhbXMKKyEkb21wIGVu ZCB0ZWFtcyBub3dhaXQgICEgeyBkZy1lcnJvciAiVW5leHBlY3RlZCBqdW5rIiB9CisKKyEk b21wIHRlYW1zIGRpc3RyaWJ1dGUKK2RvIGkgPSAxLCA1CitlbmQgZG8KKyEkb21wIGVuZCB0 ZWFtcyBkaXN0cmlidXRlIG5vd2FpdCAgISB7IGRnLWVycm9yICJVbmV4cGVjdGVkIGp1bmsi IH0KKworISRvbXAgdGVhbXMgZGlzdHJpYnV0ZSBwYXJhbGxlbCBkbworZG8gaSA9IDEsIDUK K2VuZCBkbworISRvbXAgZW5kIHRlYW1zIGRpc3RyaWJ1dGUgcGFyYWxsZWwgZG8gbm93YWl0 ICAhIHsgZGctZXJyb3IgIlVuZXhwZWN0ZWQganVuayIgfQorCishJG9tcCB0ZWFtcyBkaXN0 cmlidXRlIHBhcmFsbGVsIGRvIHNpbWQKK2RvIGkgPSAxLCA1CitlbmQgZG8KKyEkb21wIGVu ZCB0ZWFtcyBkaXN0cmlidXRlIHBhcmFsbGVsIGRvIHNpbWQgbm93YWl0ICAhIHsgZGctZXJy b3IgIlVuZXhwZWN0ZWQganVuayIgfQorCishJG9tcCB0ZWFtcyBkaXN0cmlidXRlIHNpbWQK K2RvIGkgPSAxLCA1CitlbmQgZG8KKyEkb21wIGVuZCB0ZWFtcyBkaXN0cmlidXRlIHNpbWQg bm93YWl0ICAhIHsgZGctZXJyb3IgIlVuZXhwZWN0ZWQganVuayIgfQorCishJG9tcCB0YXJn ZXQgZGF0YSBtYXAodG9mcm9tOmkpCishJG9tcCBlbmQgdGFyZ2V0IGRhdGEgbm93YWl0ICAh IHsgZGctZXJyb3IgIlVuZXhwZWN0ZWQganVuayIgfQorCitlbmQgICEgeyBkZy1lcnJvciAi VW5leHBlY3RlZCBFTkQgc3RhdGVtZW50IiB9CishIHsgZGctcHJ1bmUtb3V0cHV0ICJVbmV4 cGVjdGVkIGVuZCBvZiBmaWxlIiB9CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0 cmFuLmRnL2dvbXAvbm93YWl0LTUuZjkwIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9n b21wL25vd2FpdC01LmY5MApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MC4uYzY4ODExNzFlNWQKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0 cmFuLmRnL2dvbXAvbm93YWl0LTUuZjkwCkBAIC0wLDAgKzEsMTU2IEBACishIENyb3NzIGNo ZWNrIHRoYXQgaXQgaXMgYWNjZXB0ZWQgd2l0aG91dCBub3dhaXQKK3N1YnJvdXRpbmUgYmFy KCkKK2ltcGxpY2l0IG5vbmUKK2ludGVnZXIgOjogaSwgYSg1KQorISRvbXAgYXRvbWljIHdy aXRlCitpID0gNQorISRvbXAgZW5kIGF0b21pYworCishJG9tcCBjcml0aWNhbAorISRvbXAg ZW5kIGNyaXRpY2FsCisKKyEkb21wIGRpc3RyaWJ1dGUKK2RvIGkgPSAxLCA1CitlbmQgZG8K KyEkb21wIGVuZCBkaXN0cmlidXRlCisKKyEkb21wIGRpc3RyaWJ1dGUgcGFyYWxsZWwgZG8K K2RvIGkgPSAxLCA1CitlbmQgZG8KKyEkb21wIGVuZCBkaXN0cmlidXRlIHBhcmFsbGVsIGRv CisKKyEkb21wIGRpc3RyaWJ1dGUgcGFyYWxsZWwgZG8gc2ltZAorZG8gaSA9IDEsIDUKK2Vu ZCBkbworISRvbXAgZW5kIGRpc3RyaWJ1dGUgcGFyYWxsZWwgZG8gc2ltZAorCishJG9tcCBk aXN0cmlidXRlIHNpbWQKK2RvIGkgPSAxLCA1CitlbmQgZG8KKyEkb21wIGVuZCBkaXN0cmli dXRlIHNpbWQKKworISRvbXAgbWFza2VkCishJG9tcCBlbmQgbWFza2VkCisKKyEkb21wIG1h c2tlZCB0YXNrbG9vcAorZG8gaSA9IDEsIDUKK2VuZCBkbworISRvbXAgZW5kIG1hc2tlZCB0 YXNrbG9vcAorCishJG9tcCBtYXNrZWQgdGFza2xvb3Agc2ltZAorZG8gaSA9IDEsIDUKK2Vu ZCBkbworISRvbXAgZW5kIG1hc2tlZCB0YXNrbG9vcCBzaW1kCisKKyEkb21wIG1hc3Rlcgor ISRvbXAgZW5kIG1hc3RlcgorCishJG9tcCBtYXN0ZXIgdGFza2xvb3AKK2RvIGkgPSAxLCA1 CitlbmQgZG8KKyEkb21wIGVuZCBtYXN0ZXIgdGFza2xvb3AKKworISRvbXAgbWFzdGVyIHRh c2tsb29wIHNpbWQKK2RvIGkgPSAxLCA1CitlbmQgZG8KKyEkb21wIGVuZCBtYXN0ZXIgdGFz a2xvb3Agc2ltZAorCishJG9tcCBvcmRlcmVkCishJG9tcCBlbmQgb3JkZXJlZAorCishJG9t cCBwYXJhbGxlbAorISRvbXAgZW5kIHBhcmFsbGVsCisKKyEkb21wIHBhcmFsbGVsIHdvcmtz aGFyZQorYSg6KSA9IDUKKyEkb21wIGVuZCBwYXJhbGxlbCB3b3Jrc2hhcmUKKworISRvbXAg cGFyYWxsZWwgZG8KK2RvIGkgPSAxLCA1CitlbmQgZG8KKyEkb21wIGVuZCBwYXJhbGxlbCBk bworCishJG9tcCBwYXJhbGxlbCBkbyBzaW1kCitkbyBpID0gMSwgNQorZW5kIGRvCishJG9t cCBlbmQgcGFyYWxsZWwgZG8gc2ltZAorCishJG9tcCBwYXJhbGxlbCBzZWN0aW9ucworICAh JG9tcCBzZWN0aW9uCisgIGJsb2NrOyBlbmQgYmxvY2sKKyEkb21wIGVuZCBwYXJhbGxlbCBz ZWN0aW9ucworCishJG9tcCBwYXJhbGxlbCBtYXNrZWQKKyEkb21wIGVuZCBwYXJhbGxlbCBt YXNrZWQKKworISRvbXAgcGFyYWxsZWwgbWFza2VkIHRhc2tsb29wCitkbyBpID0gMSwgNQor ZW5kIGRvCishJG9tcCBlbmQgcGFyYWxsZWwgbWFza2VkIHRhc2tsb29wCisKKyEkb21wIHBh cmFsbGVsIG1hc2tlZCB0YXNrbG9vcCBzaW1kCitkbyBpID0gMSwgNQorZW5kIGRvCishJG9t cCBlbmQgcGFyYWxsZWwgbWFza2VkIHRhc2tsb29wIHNpbWQKKworISRvbXAgcGFyYWxsZWwg bWFzdGVyCishJG9tcCBlbmQgcGFyYWxsZWwgbWFzdGVyCisKKyEkb21wIHBhcmFsbGVsIG1h c3RlciB0YXNrbG9vcAorZG8gaSA9IDEsIDUKK2VuZCBkbworISRvbXAgZW5kIHBhcmFsbGVs IG1hc3RlciB0YXNrbG9vcAorCishJG9tcCBwYXJhbGxlbCBtYXN0ZXIgdGFza2xvb3Agc2lt ZAorZG8gaSA9IDEsIDUKK2VuZCBkbworISRvbXAgZW5kIHBhcmFsbGVsIG1hc3RlciB0YXNr bG9vcCBzaW1kCisKKyEkb21wIHNpbWQKK2RvIGkgPSAxLCA1CitlbmQgZG8KKyEkb21wIGVu ZCBzaW1kCisKKyEkb21wIHRhc2sKKyEkb21wIGVuZCB0YXNrCisKKyEkb21wIHRhc2tncm91 cAorISRvbXAgZW5kIHRhc2tncm91cAorCishJG9tcCB0YXNrbG9vcAorZG8gaSA9IDEsIDUK K2VuZCBkbworISRvbXAgZW5kIHRhc2tsb29wCisKKyEkb21wIHRhc2tsb29wIHNpbWQKK2Rv IGkgPSAxLCA1CitlbmQgZG8KKyEkb21wIGVuZCB0YXNrbG9vcCBzaW1kCisKKyEkb21wIHRl YW1zCishJG9tcCBlbmQgdGVhbXMKKworISRvbXAgdGVhbXMgZGlzdHJpYnV0ZQorZG8gaSA9 IDEsIDUKK2VuZCBkbworISRvbXAgZW5kIHRlYW1zIGRpc3RyaWJ1dGUKKworISRvbXAgdGVh bXMgZGlzdHJpYnV0ZSBwYXJhbGxlbCBkbworZG8gaSA9IDEsIDUKK2VuZCBkbworISRvbXAg ZW5kIHRlYW1zIGRpc3RyaWJ1dGUgcGFyYWxsZWwgZG8KKworISRvbXAgdGVhbXMgZGlzdHJp YnV0ZSBwYXJhbGxlbCBkbyBzaW1kCitkbyBpID0gMSwgNQorZW5kIGRvCishJG9tcCBlbmQg dGVhbXMgZGlzdHJpYnV0ZSBwYXJhbGxlbCBkbyBzaW1kCisKKyEkb21wIHRlYW1zIGRpc3Ry aWJ1dGUgc2ltZAorZG8gaSA9IDEsIDUKK2VuZCBkbworISRvbXAgZW5kIHRlYW1zIGRpc3Ry aWJ1dGUgc2ltZAorCishJG9tcCB0YXJnZXQgZGF0YSBtYXAodG9mcm9tOmkpCishJG9tcCBl bmQgdGFyZ2V0IGRhdGEKKworZW5kCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0 cmFuLmRnL2dvbXAvbm93YWl0LTYuZjkwIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9n b21wL25vd2FpdC02LmY5MApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MC4uNWZlN2QzOGZjYjcKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0 cmFuLmRnL2dvbXAvbm93YWl0LTYuZjkwCkBAIC0wLDAgKzEsMTU4IEBACishIGludmFsaWQg bm93YWl0CisKK3N1YnJvdXRpbmUgZm9vCitpbXBsaWNpdCBub25lCitpbnRlZ2VyIDo6IGks IGEoNSkKKyEkb21wIGF0b21pYyB3cml0ZSBub3dhaXQgICEgeyBkZy1lcnJvciAiRmFpbGVk IHRvIG1hdGNoIGNsYXVzZSIgfQoraSA9IDUKKyEkb21wIGVuZCBhdG9taWMgICEgeyBkZy1l cnJvciAiVW5leHBlY3RlZCAuLk9NUCBFTkQgIiB9CisKKyEkb21wIGNyaXRpY2FsIG5vd2Fp dCAgISB7IGRnLWVycm9yICJGYWlsZWQgdG8gbWF0Y2ggY2xhdXNlIiB9CishJG9tcCBlbmQg Y3JpdGljYWwgICEgeyBkZy1lcnJvciAiVW5leHBlY3RlZCAuLk9NUCBFTkQgIiB9CisKKyEk b21wIGRpc3RyaWJ1dGUgbm93YWl0ICAhIHsgZGctZXJyb3IgIkZhaWxlZCB0byBtYXRjaCBj bGF1c2UiIH0KK2RvIGkgPSAxLCA1CitlbmQgZG8KKyEkb21wIGVuZCBkaXN0cmlidXRlICAh IHsgZGctZXJyb3IgIlVuZXhwZWN0ZWQgLi5PTVAgRU5EICIgfQorCishJG9tcCBkaXN0cmli dXRlIHBhcmFsbGVsIGRvIG5vd2FpdCAgISB7IGRnLWVycm9yICJGYWlsZWQgdG8gbWF0Y2gg Y2xhdXNlIiB9CitkbyBpID0gMSwgNQorZW5kIGRvCishJG9tcCBlbmQgZGlzdHJpYnV0ZSBw YXJhbGxlbCBkbyAgISB7IGRnLWVycm9yICJVbmV4cGVjdGVkIC4uT01QIEVORCAiIH0KKwor ISRvbXAgZGlzdHJpYnV0ZSBwYXJhbGxlbCBkbyBzaW1kIG5vd2FpdCAgISB7IGRnLWVycm9y ICJGYWlsZWQgdG8gbWF0Y2ggY2xhdXNlIiB9CitkbyBpID0gMSwgNQorZW5kIGRvCishJG9t cCBlbmQgZGlzdHJpYnV0ZSBwYXJhbGxlbCBkbyBzaW1kICAhIHsgZGctZXJyb3IgIlVuZXhw ZWN0ZWQgLi5PTVAgRU5EICIgfQorCishJG9tcCBwYXJhbGxlbCBzZWN0aW9ucyBub3dhaXQg ICEgeyBkZy1lcnJvciAiRmFpbGVkIHRvIG1hdGNoIGNsYXVzZSIgfQorICAhJG9tcCBzZWN0 aW9uICAhIHsgZGctZXJyb3IgIlVuZXhwZWN0ZWQgLi5PTVAgU0VDVElPTiBzdGF0ZW1lbnQi IH0KKyAgYmxvY2s7IGVuZCBibG9jaworISRvbXAgZW5kIHBhcmFsbGVsIHNlY3Rpb25zICAh IHsgZGctZXJyb3IgIlVuZXhwZWN0ZWQgLi5PTVAgRU5EICIgfQorCishJG9tcCBkaXN0cmli dXRlIHNpbWQgbm93YWl0ICAhIHsgZGctZXJyb3IgIkZhaWxlZCB0byBtYXRjaCBjbGF1c2Ui IH0KK2RvIGkgPSAxLCA1CitlbmQgZG8KKyEkb21wIGVuZCBkaXN0cmlidXRlIHNpbWQgICEg eyBkZy1lcnJvciAiVW5leHBlY3RlZCAuLk9NUCBFTkQgIiB9CisKKyEkb21wIG1hc2tlZCBu b3dhaXQgICEgeyBkZy1lcnJvciAiRmFpbGVkIHRvIG1hdGNoIGNsYXVzZSIgfQorISRvbXAg ZW5kIG1hc2tlZCAgISB7IGRnLWVycm9yICJVbmV4cGVjdGVkIC4uT01QIEVORCAiIH0KKwor ISRvbXAgbWFza2VkIHRhc2tsb29wIG5vd2FpdCAgISB7IGRnLWVycm9yICJGYWlsZWQgdG8g bWF0Y2ggY2xhdXNlIiB9CitkbyBpID0gMSwgNQorZW5kIGRvCishJG9tcCBlbmQgbWFza2Vk IHRhc2tsb29wICAhIHsgZGctZXJyb3IgIlVuZXhwZWN0ZWQgLi5PTVAgRU5EICIgfQorCish JG9tcCBtYXNrZWQgdGFza2xvb3Agc2ltZCBub3dhaXQgICEgeyBkZy1lcnJvciAiRmFpbGVk IHRvIG1hdGNoIGNsYXVzZSIgfQorZG8gaSA9IDEsIDUKK2VuZCBkbworISRvbXAgZW5kIG1h c2tlZCB0YXNrbG9vcCBzaW1kICAhIHsgZGctZXJyb3IgIlVuZXhwZWN0ZWQgLi5PTVAgRU5E ICIgfQorCishJG9tcCBtYXN0ZXIgbm93YWl0ICAhIHsgZGctZXJyb3IgIlVuZXhwZWN0ZWQg anVuayIgfQorISRvbXAgZW5kIG1hc3RlciAgISB7IGRnLWVycm9yICJVbmV4cGVjdGVkIC4u T01QIEVORCAiIH0KKworISRvbXAgbWFzdGVyIHRhc2tsb29wIG5vd2FpdCAgISB7IGRnLWVy cm9yICJGYWlsZWQgdG8gbWF0Y2ggY2xhdXNlIiB9CitkbyBpID0gMSwgNQorZW5kIGRvCish JG9tcCBlbmQgbWFzdGVyIHRhc2tsb29wICAhIHsgZGctZXJyb3IgIlVuZXhwZWN0ZWQgLi5P TVAgRU5EICIgfQorCishJG9tcCBtYXN0ZXIgdGFza2xvb3Agc2ltZCBub3dhaXQgICEgeyBk Zy1lcnJvciAiRmFpbGVkIHRvIG1hdGNoIGNsYXVzZSIgfQorZG8gaSA9IDEsIDUKK2VuZCBk bworISRvbXAgZW5kIG1hc3RlciB0YXNrbG9vcCBzaW1kICAhIHsgZGctZXJyb3IgIlVuZXhw ZWN0ZWQgLi5PTVAgRU5EICIgfQorCishJG9tcCBvcmRlcmVkIG5vd2FpdCAgISB7IGRnLWVy cm9yICJGYWlsZWQgdG8gbWF0Y2ggY2xhdXNlIiB9CishJG9tcCBlbmQgb3JkZXJlZCAgISB7 IGRnLWVycm9yICJVbmV4cGVjdGVkIC4uT01QIEVORCAiIH0KKworISRvbXAgcGFyYWxsZWwg bm93YWl0ICAhIHsgZGctZXJyb3IgIkZhaWxlZCB0byBtYXRjaCBjbGF1c2UiIH0KKyEkb21w IGVuZCBwYXJhbGxlbCAgISB7IGRnLWVycm9yICJVbmV4cGVjdGVkIC4uT01QIEVORCAiIH0K KworISRvbXAgcGFyYWxsZWwgd29ya3NoYXJlIG5vd2FpdCAgISB7IGRnLWVycm9yICJGYWls ZWQgdG8gbWF0Y2ggY2xhdXNlIiB9CithKDopID0gNQorISRvbXAgZW5kIHBhcmFsbGVsIHdv cmtzaGFyZSAgISB7IGRnLWVycm9yICJVbmV4cGVjdGVkIC4uT01QIEVORCAiIH0KKworISRv bXAgcGFyYWxsZWwgZG8gbm93YWl0ICAhIHsgZGctZXJyb3IgIkZhaWxlZCB0byBtYXRjaCBj bGF1c2UiIH0KK2RvIGkgPSAxLCA1CitlbmQgZG8KKyEkb21wIGVuZCBwYXJhbGxlbCBkbyAg ISB7IGRnLWVycm9yICJVbmV4cGVjdGVkIC4uT01QIEVORCAiIH0KKworISRvbXAgcGFyYWxs ZWwgZG8gc2ltZCBub3dhaXQgICEgeyBkZy1lcnJvciAiRmFpbGVkIHRvIG1hdGNoIGNsYXVz ZSIgfQorZG8gaSA9IDEsIDUKK2VuZCBkbworISRvbXAgZW5kIHBhcmFsbGVsIGRvIHNpbWQg ICEgeyBkZy1lcnJvciAiVW5leHBlY3RlZCAuLk9NUCBFTkQgIiB9CisKKyEkb21wIHBhcmFs bGVsIG1hc2tlZCBub3dhaXQgICEgeyBkZy1lcnJvciAiRmFpbGVkIHRvIG1hdGNoIGNsYXVz ZSIgfQorISRvbXAgZW5kIHBhcmFsbGVsIG1hc2tlZCAgISB7IGRnLWVycm9yICJVbmV4cGVj dGVkIC4uT01QIEVORCAiIH0KKworISRvbXAgcGFyYWxsZWwgbWFza2VkIHRhc2tsb29wIG5v d2FpdCAgISB7IGRnLWVycm9yICJGYWlsZWQgdG8gbWF0Y2ggY2xhdXNlIiB9CitkbyBpID0g MSwgNQorZW5kIGRvCishJG9tcCBlbmQgcGFyYWxsZWwgbWFza2VkIHRhc2tsb29wICAhIHsg ZGctZXJyb3IgIlVuZXhwZWN0ZWQgLi5PTVAgRU5EICIgfQorCishJG9tcCBwYXJhbGxlbCBt YXNrZWQgdGFza2xvb3Agc2ltZCBub3dhaXQgICEgeyBkZy1lcnJvciAiRmFpbGVkIHRvIG1h dGNoIGNsYXVzZSIgfQorZG8gaSA9IDEsIDUKK2VuZCBkbworISRvbXAgZW5kIHBhcmFsbGVs IG1hc2tlZCB0YXNrbG9vcCBzaW1kICAhIHsgZGctZXJyb3IgIlVuZXhwZWN0ZWQgLi5PTVAg RU5EICIgfQorCishJG9tcCBwYXJhbGxlbCBtYXN0ZXIgbm93YWl0ICAhIHsgZGctZXJyb3Ig IkZhaWxlZCB0byBtYXRjaCBjbGF1c2UiIH0KKyEkb21wIGVuZCBwYXJhbGxlbCBtYXN0ZXIg ICEgeyBkZy1lcnJvciAiVW5leHBlY3RlZCAuLk9NUCBFTkQgIiB9CisKKyEkb21wIHBhcmFs bGVsIG1hc3RlciB0YXNrbG9vcCBub3dhaXQgICEgeyBkZy1lcnJvciAiRmFpbGVkIHRvIG1h dGNoIGNsYXVzZSIgfQorZG8gaSA9IDEsIDUKK2VuZCBkbworISRvbXAgZW5kIHBhcmFsbGVs IG1hc3RlciB0YXNrbG9vcCAgISB7IGRnLWVycm9yICJVbmV4cGVjdGVkIC4uT01QIEVORCAi IH0KKworISRvbXAgcGFyYWxsZWwgbWFzdGVyIHRhc2tsb29wIHNpbWQgbm93YWl0ICAhIHsg ZGctZXJyb3IgIkZhaWxlZCB0byBtYXRjaCBjbGF1c2UiIH0KK2RvIGkgPSAxLCA1CitlbmQg ZG8KKyEkb21wIGVuZCBwYXJhbGxlbCBtYXN0ZXIgdGFza2xvb3Agc2ltZCAgISB7IGRnLWVy cm9yICJVbmV4cGVjdGVkIC4uT01QIEVORCAiIH0KKworISRvbXAgc2ltZCBub3dhaXQgICEg eyBkZy1lcnJvciAiRmFpbGVkIHRvIG1hdGNoIGNsYXVzZSIgfQorZG8gaSA9IDEsIDUKK2Vu ZCBkbworISRvbXAgZW5kIHNpbWQgICEgeyBkZy1lcnJvciAiVW5leHBlY3RlZCAuLk9NUCBF TkQgIiB9CisKKyEkb21wIHRhc2sgbm93YWl0ICAhIHsgZGctZXJyb3IgIkZhaWxlZCB0byBt YXRjaCBjbGF1c2UiIH0KKyEkb21wIGVuZCB0YXNrICAhIHsgZGctZXJyb3IgIlVuZXhwZWN0 ZWQgLi5PTVAgRU5EICIgfQorCishJG9tcCB0YXNrZ3JvdXAgbm93YWl0ICAhIHsgZGctZXJy b3IgIkZhaWxlZCB0byBtYXRjaCBjbGF1c2UiIH0KKyEkb21wIGVuZCB0YXNrZ3JvdXAgICEg eyBkZy1lcnJvciAiVW5leHBlY3RlZCAuLk9NUCBFTkQgIiB9CisKKyEkb21wIHRhc2tsb29w IG5vd2FpdCAgISB7IGRnLWVycm9yICJGYWlsZWQgdG8gbWF0Y2ggY2xhdXNlIiB9CitkbyBp ID0gMSwgNQorZW5kIGRvCishJG9tcCBlbmQgdGFza2xvb3AgICEgeyBkZy1lcnJvciAiVW5l eHBlY3RlZCAuLk9NUCBFTkQgIiB9CisKKyEkb21wIHRhc2tsb29wIHNpbWQgbm93YWl0ICAh IHsgZGctZXJyb3IgIkZhaWxlZCB0byBtYXRjaCBjbGF1c2UiIH0KK2RvIGkgPSAxLCA1Citl bmQgZG8KKyEkb21wIGVuZCB0YXNrbG9vcCBzaW1kICAhIHsgZGctZXJyb3IgIlVuZXhwZWN0 ZWQgLi5PTVAgRU5EICIgfQorCishJG9tcCB0ZWFtcyBub3dhaXQgICEgeyBkZy1lcnJvciAi RmFpbGVkIHRvIG1hdGNoIGNsYXVzZSIgfQorISRvbXAgZW5kIHRlYW1zICAhIHsgZGctZXJy b3IgIlVuZXhwZWN0ZWQgLi5PTVAgRU5EICIgfQorCishJG9tcCB0ZWFtcyBkaXN0cmlidXRl IG5vd2FpdCAgISB7IGRnLWVycm9yICJGYWlsZWQgdG8gbWF0Y2ggY2xhdXNlIiB9CitkbyBp ID0gMSwgNQorZW5kIGRvCishJG9tcCBlbmQgdGVhbXMgZGlzdHJpYnV0ZSAgISB7IGRnLWVy cm9yICJVbmV4cGVjdGVkIC4uT01QIEVORCAiIH0KKworISRvbXAgdGVhbXMgZGlzdHJpYnV0 ZSBwYXJhbGxlbCBkbyBub3dhaXQgICEgeyBkZy1lcnJvciAiRmFpbGVkIHRvIG1hdGNoIGNs YXVzZSIgfQorZG8gaSA9IDEsIDUKK2VuZCBkbworISRvbXAgZW5kIHRlYW1zIGRpc3RyaWJ1 dGUgcGFyYWxsZWwgZG8gICEgeyBkZy1lcnJvciAiVW5leHBlY3RlZCAuLk9NUCBFTkQgIiB9 CisKKyEkb21wIHRlYW1zIGRpc3RyaWJ1dGUgcGFyYWxsZWwgZG8gc2ltZCBub3dhaXQgICEg eyBkZy1lcnJvciAiRmFpbGVkIHRvIG1hdGNoIGNsYXVzZSIgfQorZG8gaSA9IDEsIDUKK2Vu ZCBkbworISRvbXAgZW5kIHRlYW1zIGRpc3RyaWJ1dGUgcGFyYWxsZWwgZG8gc2ltZCAgISB7 IGRnLWVycm9yICJVbmV4cGVjdGVkIC4uT01QIEVORCAiIH0KKworISRvbXAgdGVhbXMgZGlz dHJpYnV0ZSBzaW1kIG5vd2FpdCAgISB7IGRnLWVycm9yICJGYWlsZWQgdG8gbWF0Y2ggY2xh dXNlIiB9CitkbyBpID0gMSwgNQorZW5kIGRvCishJG9tcCBlbmQgdGVhbXMgZGlzdHJpYnV0 ZSBzaW1kICAhIHsgZGctZXJyb3IgIlVuZXhwZWN0ZWQgLi5PTVAgRU5EICIgfQorCishJG9t cCB0YXJnZXQgZGF0YSBtYXAodG9mcm9tOmkpIG5vd2FpdCAgISB7IGRnLWVycm9yICJGYWls ZWQgdG8gbWF0Y2ggY2xhdXNlIiB9CishJG9tcCBlbmQgdGFyZ2V0IGRhdGEgICEgeyBkZy1l cnJvciAiVW5leHBlY3RlZCAuLk9NUCBFTkQgIiB9CisKK2VuZAorISB7IGRnLXBydW5lLW91 dHB1dCAiVW5leHBlY3RlZCBlbmQgb2YgZmlsZSIgfQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3Rz dWl0ZS9nZm9ydHJhbi5kZy9nb21wL25vd2FpdC03LmY5MCBiL2djYy90ZXN0c3VpdGUvZ2Zv cnRyYW4uZGcvZ29tcC9ub3dhaXQtNy5mOTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAuLjQxZWFkMmY3ZWViCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3Rz dWl0ZS9nZm9ydHJhbi5kZy9nb21wL25vd2FpdC03LmY5MApAQCAtMCwwICsxLDExOCBAQAor ISB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLWZkdW1wLXRyZWUtb3JpZ2luYWwiIH0KKwor c3Vicm91dGluZSBmb28KK2ltcGxpY2l0IG5vbmUKK2ludGVnZXIgOjogaSwgYSg1KQorCish JG9tcCBkbyBub3dhaXQKK2RvIGkgPSAxLCA1CitlbmQgZG8KKyEkb21wIGVuZCBkbworCish JG9tcCBkbyBzaW1kIG5vd2FpdAorZG8gaSA9IDEsIDUKK2VuZCBkbworISRvbXAgZW5kIGRv IHNpbWQKKworISRvbXAgc2NvcGUgbm93YWl0CishJG9tcCBlbmQgc2NvcGUKKworISRvbXAg c2VjdGlvbnMgbm93YWl0CisgICEkb21wIHNlY3Rpb24KKyAgYmxvY2s7IGVuZCBibG9jawor ISRvbXAgZW5kIHNlY3Rpb25zCisKKyEkb21wIHNpbmdsZSBub3dhaXQKKyEkb21wIGVuZCBz aW5nbGUKKworISRvbXAgdGFyZ2V0IG5vd2FpdAorISRvbXAgZW5kIHRhcmdldAorCishJG9t cCB0YXJnZXQgcGFyYWxsZWwgbm93YWl0CishJG9tcCBlbmQgdGFyZ2V0IHBhcmFsbGVsCisK KyEkb21wIHRhcmdldCBwYXJhbGxlbCBkbyBub3dhaXQKK2RvIGkgPSAxLCA1CitlbmQgZG8K KyEkb21wIGVuZCB0YXJnZXQgcGFyYWxsZWwgZG8KKworISRvbXAgdGFyZ2V0IHBhcmFsbGVs IGRvIHNpbWQgbm93YWl0CitkbyBpID0gMSwgNQorZW5kIGRvCishJG9tcCBlbmQgdGFyZ2V0 IHBhcmFsbGVsIGRvIHNpbWQKKworISRvbXAgdGFyZ2V0IHBhcmFsbGVsIGxvb3Agbm93YWl0 CitkbyBpID0gMSwgNQorZW5kIGRvCishJG9tcCBlbmQgdGFyZ2V0IHBhcmFsbGVsIGxvb3AK KworISRvbXAgdGFyZ2V0IHRlYW1zIGRpc3RyaWJ1dGUgcGFyYWxsZWwgZG8gbm93YWl0Citk byBpID0gMSwgNQorZW5kIGRvCishJG9tcCBlbmQgdGFyZ2V0IHRlYW1zIGRpc3RyaWJ1dGUg cGFyYWxsZWwgZG8KKworISRvbXAgdGFyZ2V0IHRlYW1zIGRpc3RyaWJ1dGUgcGFyYWxsZWwg ZG8gc2ltZCBub3dhaXQKK2RvIGkgPSAxLCA1CitlbmQgZG8KKyEkb21wIGVuZCB0YXJnZXQg dGVhbXMgZGlzdHJpYnV0ZSBwYXJhbGxlbCBkbyBzaW1kCisKKyEkb21wIHRhcmdldCBzaW1k IG5vd2FpdAorZG8gaSA9IDEsIDUKK2VuZCBkbworISRvbXAgZW5kIHRhcmdldCBzaW1kCisK KyEkb21wIHRhcmdldCB0ZWFtcyBub3dhaXQKKyEkb21wIGVuZCB0YXJnZXQgdGVhbXMKKwor ISRvbXAgdGFyZ2V0IHRlYW1zIGRpc3RyaWJ1dGUgbm93YWl0CitkbyBpID0gMSwgNQorZW5k IGRvCishJG9tcCBlbmQgdGFyZ2V0IHRlYW1zIGRpc3RyaWJ1dGUKKworISRvbXAgdGFyZ2V0 IHRlYW1zIGRpc3RyaWJ1dGUgc2ltZCBub3dhaXQKK2RvIGkgPSAxLCA1CitlbmQgZG8KKyEk b21wIGVuZCB0YXJnZXQgdGVhbXMgZGlzdHJpYnV0ZSBzaW1kCisKKyEkb21wIHRhcmdldCB0 ZWFtcyBsb29wIG5vd2FpdAorZG8gaSA9IDEsIDUKK2VuZCBkbworISRvbXAgZW5kIHRhcmdl dCB0ZWFtcyBsb29wCisKKyEkb21wIHdvcmtzaGFyZSBub3dhaXQKK0EoOikgPSA1CishJG9t cCBlbmQgd29ya3NoYXJlCitlbmQKKworISBOb3RlOiBpbnRlcm5hbGx5LCBmb3IgJy4uLiBw YXJhbGxlbCBkbyAuLi4nLCAnbm93YWl0JyBpcyBhbHdheXMgYWRkZWQKKyEgc3VjaCB0aGF0 IGZvciAnb21wIGVuZCB0YXJnZXQgcGFyYWxsZWwgZG8gbm93YWl0JywgJ25vd2FpdCcgaXMg b24gYm90aAorISAndGFyZ2V0JyBhcyBzcGVjaWZpZWQgaW4gdGhlIE9wZW5NUCBzcGVjIGFu ZCBhbmQgb24gJ2RvJyBkdWUgdG8gaW50ZXJuYWwgdXNhZ2UuCisKKyEgRXhwZWN0ZWQgd2l0 aCAnbm93YWl0JworCishIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAiI3By YWdtYSBvbXAgZm9yIG5vd2FpdCIgNiAib3JpZ2luYWwiIH0gfQorISB7IGRnLWZpbmFsIHsg c2Nhbi10cmVlLWR1bXAtdGltZXMgIiNwcmFnbWEgb21wIGZvciBzY2hlZHVsZVxcKHN0YXRp Y1xcKSBub3dhaXQiIDEgIm9yaWdpbmFsIiB9IH0KKyEgeyBkZy1maW5hbCB7IHNjYW4tdHJl ZS1kdW1wLXRpbWVzICIjcHJhZ21hIG9tcCBzZWN0aW9ucyBub3dhaXQiIDEgIm9yaWdpbmFs IiB9IH0KKyEgeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICIjcHJhZ21hIG9t cCBzaW5nbGUgbm93YWl0IiAxICJvcmlnaW5hbCIgfSB9CishIHsgZGctZmluYWwgeyBzY2Fu LXRyZWUtZHVtcC10aW1lcyAiI3ByYWdtYSBvbXAgdGFyZ2V0IG5vd2FpdCIgMTIgIm9yaWdp bmFsIiB9IH0KKworISBOZXZlcjoKKworISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAt bm90ICIjcHJhZ21hIG9tcCBkaXN0cmlidXRlXFteXG5ccl0qbm93YWl0IiAib3JpZ2luYWwi IH0gfQorISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtbm90ICIjcHJhZ21hIG9tcCBs b29wXFteXG5ccl0qbm93YWl0IiAib3JpZ2luYWwiIH0gfQorISB7IGRnLWZpbmFsIHsgc2Nh bi10cmVlLWR1bXAtbm90ICIjcHJhZ21hIG9tcCBwYXJhbGxlbFxbXlxuXHJdKm5vd2FpdCIg Im9yaWdpbmFsIiB9IH0KKyEgeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLW5vdCAiI3By YWdtYSBvbXAgc2VjdGlvblxbXnNcXVxbXlxuXHJdKm5vd2FpdCIgIm9yaWdpbmFsIiB9IH0K KyEgeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLW5vdCAiI3ByYWdtYSBvbXAgc2ltZFxb XlxuXHJdKm5vd2FpdCIgIm9yaWdpbmFsIiB9IH0KKyEgeyBkZy1maW5hbCB7IHNjYW4tdHJl ZS1kdW1wLW5vdCAiI3ByYWdtYSBvbXAgdGVhbXNcW15cblxyXSpub3dhaXQiICJvcmlnaW5h bCIgfSB9CisKKyEgU29tZXRpbWVzIG9yIG5ldmVyIHdpdGggbm93YWl0OgorCishIHsgZGct ZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAiI3ByYWdtYSBvbXAgZGlzdHJpYnV0ZVxb XG5ccl0iIDQgIm9yaWdpbmFsIiB9IH0KKyEgeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1w LXRpbWVzICIjcHJhZ21hIG9tcCBsb29wXFtcblxyXSIgMiAib3JpZ2luYWwiIH0gfQorISB7 IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgIiNwcmFnbWEgb21wIHBhcmFsbGVs XFtcblxyXSIgNiAib3JpZ2luYWwiIH0gfQorISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1 bXAtdGltZXMgIiNwcmFnbWEgb21wIHNlY3Rpb25cW1xuXHJdIiAxICJvcmlnaW5hbCIgfSB9 CishIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAiI3ByYWdtYSBvbXAgc2lt ZCBsaW5lYXJcXChpOjFcXClcW1xuXHJdIiA1ICJvcmlnaW5hbCIgfSB9CishIHsgZGctZmlu YWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAiI3ByYWdtYSBvbXAgdGVhbXNcW1xuXHJdIiA2 ICJvcmlnaW5hbCIgfSB9CisKKyEgeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVz ICIjcHJhZ21hIG9tcCB0YXJnZXRcW1xuXHJdIiAwICJvcmlnaW5hbCIgfSB9CishIHsgZGct ZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAiI3ByYWdtYSBvbXAgZm9yXFtcblxyXSIg MCAib3JpZ2luYWwiIH0gfQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5k Zy9nb21wL25vd2FpdC04LmY5MCBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9u b3dhaXQtOC5mOTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjVl NjY2ZDEyM2M1Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5k Zy9nb21wL25vd2FpdC04LmY5MApAQCAtMCwwICsxLDkyIEBACitzdWJyb3V0aW5lIGZvbwor aW1wbGljaXQgbm9uZQoraW50ZWdlciA6OiBpLCBhKDUpCisKKyEkb21wIGRvIG5vd2FpdCBu b3dhaXQgICEgeyBkZy1lcnJvciAiRHVwbGljYXRlZCAnbm93YWl0JyBjbGF1c2UiIH0KK2Rv IGkgPSAxLCA1CitlbmQgZG8KKworISRvbXAgZG8KK2RvIGkgPSAxLCA1CitlbmQgZG8KKyEk b21wIGRvIG5vd2FpdCBub3dhaXQgICEgeyBkZy1lcnJvciAiRHVwbGljYXRlZCAnbm93YWl0 JyBjbGF1c2UiIH0KKworISRvbXAgZG8gbm93YWl0CitkbyBpID0gMSwgNQorZW5kIGRvCish JG9tcCBlbmQgZG8gbm93YWl0ICAhIHsgZGctZXJyb3IgIkR1cGxpY2F0ZWQgTk9XQUlUIGNs YXVzZSIgfQorCishJG9tcCBkbyBzaW1kIG5vd2FpdAorZG8gaSA9IDEsIDUKK2VuZCBkbwor ISRvbXAgZW5kIGRvIHNpbWQgbm93YWl0ICAhIHsgZGctZXJyb3IgIkR1cGxpY2F0ZWQgTk9X QUlUIGNsYXVzZSIgfQorCishJG9tcCBzY29wZSBub3dhaXQKKyEkb21wIGVuZCBzY29wZSBu b3dhaXQgICEgeyBkZy1lcnJvciAiRHVwbGljYXRlZCBOT1dBSVQgY2xhdXNlIiB9CisKKyEk b21wIHNlY3Rpb25zIG5vd2FpdAorICAhJG9tcCBzZWN0aW9uCisgIGJsb2NrOyBlbmQgYmxv Y2sKKyEkb21wIGVuZCBzZWN0aW9ucyBub3dhaXQgICEgeyBkZy1lcnJvciAiRHVwbGljYXRl ZCBOT1dBSVQgY2xhdXNlIiB9CisKKyEkb21wIHNpbmdsZSBub3dhaXQKKyEkb21wIGVuZCBz aW5nbGUgbm93YWl0ICAhIHsgZGctZXJyb3IgIkR1cGxpY2F0ZWQgTk9XQUlUIGNsYXVzZSIg fQorCishJG9tcCB0YXJnZXQgbm93YWl0CishJG9tcCBlbmQgdGFyZ2V0IG5vd2FpdCAgISB7 IGRnLWVycm9yICJEdXBsaWNhdGVkIE5PV0FJVCBjbGF1c2UiIH0KKworISRvbXAgdGFyZ2V0 IHBhcmFsbGVsIG5vd2FpdAorISRvbXAgZW5kIHRhcmdldCBwYXJhbGxlbCBub3dhaXQgICEg eyBkZy1lcnJvciAiRHVwbGljYXRlZCBOT1dBSVQgY2xhdXNlIiB9CisKKyEkb21wIHRhcmdl dCBwYXJhbGxlbCBkbyBub3dhaXQKK2RvIGkgPSAxLCA1CitlbmQgZG8KKyEkb21wIGVuZCB0 YXJnZXQgcGFyYWxsZWwgZG8gbm93YWl0ICAhIHsgZGctZXJyb3IgIkR1cGxpY2F0ZWQgTk9X QUlUIGNsYXVzZSIgfQorCishJG9tcCB0YXJnZXQgcGFyYWxsZWwgZG8gc2ltZCBub3dhaXQK K2RvIGkgPSAxLCA1CitlbmQgZG8KKyEkb21wIGVuZCB0YXJnZXQgcGFyYWxsZWwgZG8gc2lt ZCBub3dhaXQgICEgeyBkZy1lcnJvciAiRHVwbGljYXRlZCBOT1dBSVQgY2xhdXNlIiB9CisK KyEkb21wIHRhcmdldCBwYXJhbGxlbCBsb29wIG5vd2FpdAorZG8gaSA9IDEsIDUKK2VuZCBk bworISRvbXAgZW5kIHRhcmdldCBwYXJhbGxlbCBsb29wIG5vd2FpdCAgISB7IGRnLWVycm9y ICJEdXBsaWNhdGVkIE5PV0FJVCBjbGF1c2UiIH0KKworISRvbXAgdGFyZ2V0IHRlYW1zIGRp c3RyaWJ1dGUgcGFyYWxsZWwgZG8gbm93YWl0CitkbyBpID0gMSwgNQorZW5kIGRvCishJG9t cCBlbmQgdGFyZ2V0IHRlYW1zIGRpc3RyaWJ1dGUgcGFyYWxsZWwgZG8gbm93YWl0ICAhIHsg ZGctZXJyb3IgIkR1cGxpY2F0ZWQgTk9XQUlUIGNsYXVzZSIgfQorCishJG9tcCB0YXJnZXQg dGVhbXMgZGlzdHJpYnV0ZSBwYXJhbGxlbCBkbyBzaW1kIG5vd2FpdAorZG8gaSA9IDEsIDUK K2VuZCBkbworISRvbXAgZW5kIHRhcmdldCB0ZWFtcyBkaXN0cmlidXRlIHBhcmFsbGVsIGRv IHNpbWQgbm93YWl0ICAhIHsgZGctZXJyb3IgIkR1cGxpY2F0ZWQgTk9XQUlUIGNsYXVzZSIg fQorCishJG9tcCB0YXJnZXQgc2ltZCBub3dhaXQKK2RvIGkgPSAxLCA1CitlbmQgZG8KKyEk b21wIGVuZCB0YXJnZXQgc2ltZCBub3dhaXQgICEgeyBkZy1lcnJvciAiRHVwbGljYXRlZCBO T1dBSVQgY2xhdXNlIiB9CisKKyEkb21wIHRhcmdldCB0ZWFtcyBub3dhaXQKKyEkb21wIGVu ZCB0YXJnZXQgdGVhbXMgbm93YWl0ICAhIHsgZGctZXJyb3IgIkR1cGxpY2F0ZWQgTk9XQUlU IGNsYXVzZSIgfQorCishJG9tcCB0YXJnZXQgdGVhbXMgZGlzdHJpYnV0ZSBub3dhaXQKK2Rv IGkgPSAxLCA1CitlbmQgZG8KKyEkb21wIGVuZCB0YXJnZXQgdGVhbXMgZGlzdHJpYnV0ZSBu b3dhaXQgICEgeyBkZy1lcnJvciAiRHVwbGljYXRlZCBOT1dBSVQgY2xhdXNlIiB9CisKKyEk b21wIHRhcmdldCB0ZWFtcyBkaXN0cmlidXRlIHNpbWQgbm93YWl0CitkbyBpID0gMSwgNQor ZW5kIGRvCishJG9tcCBlbmQgdGFyZ2V0IHRlYW1zIGRpc3RyaWJ1dGUgc2ltZCBub3dhaXQg ICEgeyBkZy1lcnJvciAiRHVwbGljYXRlZCBOT1dBSVQgY2xhdXNlIiB9CisKKyEkb21wIHRh cmdldCB0ZWFtcyBsb29wIG5vd2FpdAorZG8gaSA9IDEsIDUKK2VuZCBkbworISRvbXAgZW5k IHRhcmdldCB0ZWFtcyBsb29wIG5vd2FpdCAgISB7IGRnLWVycm9yICJEdXBsaWNhdGVkIE5P V0FJVCBjbGF1c2UiIH0KKworISRvbXAgd29ya3NoYXJlIG5vd2FpdAorQSg6KSA9IDUKKyEk b21wIGVuZCB3b3Jrc2hhcmUgbm93YWl0ICAhIHsgZGctZXJyb3IgIkR1cGxpY2F0ZWQgTk9X QUlUIGNsYXVzZSIgfQorZW5kCmRpZmYgLS1naXQgYS9saWJnb21wL2xpYmdvbXAudGV4aSBi L2xpYmdvbXAvbGliZ29tcC50ZXhpCmluZGV4IDU4NGFmNDViZDY3Li44NWNhZTc0MmNkNCAx MDA2NDQKLS0tIGEvbGliZ29tcC9saWJnb21wLnRleGkKKysrIGIvbGliZ29tcC9saWJnb21w LnRleGkKQEAgLTM3NSw3ICszNzUsNyBAQCB0byBhZGRyZXNzIG9mIG1hdGNoaW5nIG1hcHBl ZCBsaXN0IGl0ZW0gcGVyIDUuMSwgU2VjdC4gMi4yMS43LjIgQHRhYiBOIEB0YWIKICAgICAg IGEgd2FybmluZyBlbmFibGVkIGJ5IGRlZmF1bHQgYW5kLCBmb3IgZml4ZWQtc291cmNlIGNv ZGUsIHRoZSBAY29kZXtvbXh9CiAgICAgICBzZW50aW5lbCBpcyB3YXJuZWQgZm9yIHdpdGgg d2l0aCBAY29kZXstV3N1cnByaXNpbmd9IChlbmFibGVkIGJ5CiAgICAgICBAY29kZXstV2Fs bH0pLiAgVW5rbm93biBjbGF1c2VzIGFyZSBhbHdheXMgcmVqZWN0ZWQgd2l0aCBhbiBlcnJv ci59Ci1AaXRlbSBDbGF1c2VzIG9uIEBjb2Rle2VuZH0gZGlyZWN0aXZlIGNhbiBiZSBvbiBk aXJlY3RpdmUgQHRhYiBOIEB0YWIKK0BpdGVtIENsYXVzZXMgb24gQGNvZGV7ZW5kfSBkaXJl Y3RpdmUgY2FuIGJlIG9uIGRpcmVjdGl2ZSBAdGFiIFkgQHRhYgogQGl0ZW0gRGVwcmVjYXRp b24gb2Ygbm8tYXJndW1lbnQgQGNvZGV7ZGVzdHJveX0gY2xhdXNlIG9uIEBjb2Rle2RlcG9i an0KICAgICAgIEB0YWIgTiBAdGFiCiBAaXRlbSBAY29kZXtsaW5lYXJ9IGNsYXVzZSBzeW50 YXggY2hhbmdlcyBhbmQgQGNvZGV7c3RlcH0gbW9kaWZpZXIgQHRhYiBZIEB0YWIK --------------RhKSQQTuhvKiKfCi190eUeR8--