Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vLxyk-00FF2p-2W for pgsql-hackers@arkaria.postgresql.org; Thu, 20 Nov 2025 06:17:16 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vLxyj-00HPys-0y for pgsql-hackers@arkaria.postgresql.org; Thu, 20 Nov 2025 06:17:13 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vLnFx-00Ecf2-12 for pgsql-hackers@lists.postgresql.org; Wed, 19 Nov 2025 18:50:18 +0000 Received: from mail-io1-xd36.google.com ([2607:f8b0:4864:20::d36]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vLnFv-000PQ9-1q for pgsql-hackers@lists.postgresql.org; Wed, 19 Nov 2025 18:50:17 +0000 Received: by mail-io1-xd36.google.com with SMTP id ca18e2360f4ac-9490c862fcbso1369339f.2 for ; Wed, 19 Nov 2025 10:50:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=illuminatedcomputing-com.20230601.gappssmtp.com; s=20230601; t=1763578213; x=1764183013; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=iT5eYDBlCt0rxH9ubAvwuhv2ZcGHImQZ8khVBNYZUsY=; b=n8RU2VOWjvVsJW59Ez64YN+hnAjAvTUgQuJ7eXgtSwEXcuIICJ/9vMpk9FR22qjPj7 cpPEmDMtwBu1shQuxLtC1FaPbpl6m8KdJgQEna8jnWbh8peAOFXfs67D9nX5lJIShAUo OxiLD5bC5+GLeNs6X1LOx2NH94hUXZWJw/jwO6jIB4Zbm3BoOODInd2JBITywYgMqyK0 eBlsTMY0VJYzBSRu1yjS8DmJ8oAjQ6oq8OG7cE8rOhUqQOR252kDbUvL5dM+3+ivxtJj 1DdwiTlfVjrepOxzOA3yeaTVogqKZnmoHZH2c5qX0/8HYRZk3T5ICBQJ9qVe8Tw89d4p 6ysg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763578213; x=1764183013; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=iT5eYDBlCt0rxH9ubAvwuhv2ZcGHImQZ8khVBNYZUsY=; b=tL67QKISty2hiJwzG/lUZGt5dBYrKYd33YS8oV0lJCDqfUUcbg30qi3NFvW+JufA6A w7xcT755yW59w85lOKV+E2JFXXO64q1q+EyL7xAvstBJkO5QcnP3uyNqMoim35rEC+k9 uTLY6gqdbJa5hPptzAVTXMTBdd0tMfFP398cnB5eFVISLQQ+9lDwdOq6kAmTLS3f0F08 mVen+s/Lv7NX8vX0vgATMOCfkkZ1qXMj0NcP+txJEXTO1VUtAPPLxZhQDP1sgXRY8hRx 1pUwAx4Jq15vwvy0Ym5zMGqK2PLHbCym2Ldfw0UlsZudChbqbYFf1Uh0z5VxMII3Ai38 6uyA== X-Forwarded-Encrypted: i=1; AJvYcCX/dxemA/SaCjWNpYpj5P5F6ylgiZ/t6k2Q1eaADZ2aoOI4Wx6Q64HS1l22j2k5Q5AAeXG5uEFemVZWqEv4@lists.postgresql.org X-Gm-Message-State: AOJu0Yzxg/6xTpR/P7bxNE92S/hxmsXxYZZMKwYvPvJMlAnK947dvVo5 A0whUMxFuF7f16f7M2K3+TdINslz5zRrC5nwrdyalnwR3OP01OILi7wYDz85NE1mxzVFMnpfP1l Z7sZmzcryAiJG2SO0vY4svKDSe18zWy8yQOfFsFUjKA== X-Gm-Gg: ASbGncvUlLEuW62vDFu/UhUmZhVVn1YJGL7C9ZpQGpiYaSIE9m+RkzCQju24xF8X0s8 SlAWl2bLNuWTV+WTluu/a0RSMdHLhMxcaMBAkGx3vGYeabpxmxmgWKIgu7128D/84ieCh+7HkoK QSjaijhypAF3t1qGOZlGErxzG2nA6lQHqDPGfkwB4iUUXScGY+hxikBHyXuyMFMYq/pZeq1elk0 Zwe6PrWm6d3vf7I286vSxhqygXSYnJu2iekwQC6YJkLZflMbf4V2pgHKIn5tpADOy86 X-Google-Smtp-Source: AGHT+IEepucMB8j9EQeh07zIvZkNf+uI6mUsibKNwh0vthWyptK3/VR9Kw3Jtz3haS++arUw0n8xwoV7zg2QDgHEY0E= X-Received: by 2002:a05:6638:24c8:b0:5b7:30b6:6264 with SMTP id 8926c6da1cb9f-5b95411ff29mr318539173.12.1763578212642; Wed, 19 Nov 2025 10:50:12 -0800 (PST) MIME-Version: 1.0 References: <2f5364f3-a1d3-4410-98f3-d788b11e6525@eisentraut.org> <1ace7bc1-9dd4-42c9-a473-517cef37cce9@eisentraut.org> <6F8D7105-BD1C-432D-84F3-BC688C0C8EDC@gmail.com> <9B820A52-D2F6-465D-B258-6FE8EBA59FAE@gmail.com> In-Reply-To: <9B820A52-D2F6-465D-B258-6FE8EBA59FAE@gmail.com> From: Paul A Jungwirth Date: Wed, 19 Nov 2025 10:49:59 -0800 X-Gm-Features: AWmQ_bmxUbpk31yaMlgLyC5mCjXu9xdGTgxIDEfgpIywCpnmrvOTDn2r43t5rb0 Message-ID: Subject: Re: SQL:2011 Application Time Update & Delete To: Chao Li Cc: Peter Eisentraut , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000e635b70643f70cee" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000e635b70643f70cee Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Nov 13, 2025 at 8:10=E2=80=AFPM Chao Li wr= ote: > I continue reviewing ... Thank you for another detailed review! New patches are attached (v61), details below. > Even if I have hard reset to 705601c5ae, =E2=80=9Cgit am=E2=80=9D still f= ailed at 0009. Anyway, I guess I cannot reach that far today. I tested them out against 705601c5ae with `git am v60*` and got a couple whitespace warnings, but otherwise they applied. Those warnings are fixed in this batch, and the v61 patches apply against master for me. If you still have problems, can you share the command you're using and its output? > 7 - 0004 - create_publication.sgml > ``` > + For a FOR PORTION OF command, the publication will= publish an > ``` > > This is a little confusing, =E2=80=9CFOR PORTION OF=E2=80=9D is not a com= mand, it=E2=80=99s just a clause inside UDDATE or DELETE. So maybe change t= o: > > For an UPDATE/DELETE ... FOR PORTION OF clause =E2=80= =A6 Okay. > 8 - 0004 - delete.sgml > ``` > + you may supply a FOR PORTION OF clause, and your d= elete will > + only affect rows that overlap the given interval. Furthermore, if a r= ow's history > + extends outside the FOR PORTION OF bounds, then yo= ur delete > ``` > > =E2=80=9CYour delete=E2=80=9D sounds not formal doc style. I searched ove= r all docs and didn=E2=80=99t found other occurrence. Okay. > 9 - 0004 - update.sgml > ``` > + you may supply a FOR PORTION OF clause, and your u= pdate will > + only affect rows that overlap the given interval. Furthermore, if a r= ow's history > + extends outside the FOR PORTION OF bounds, then yo= ur update > ``` > > =E2=80=9CYour update=E2=80=9D, same comment as 8. Okay. > 10 - 0004 - update.sgml > ``` > + Specifically, when PostgreSQL updates the = existing row, > + it will also change the range or multirange so that their interval > ``` > > =E2=80=9CUpdate the existing row=E2=80=9D, here I think =E2=80=9Can=E2=80= =9D is better than =E2=80=9Cthe=E2=80=9D, because we are not referring to a= ny specific row. > Then, =E2=80=9Cthere interval=E2=80=9D should be =E2=80=9Cits interval=E2= =80=9D. Okay. > 11 - 0004 - update.sgml > ``` > + the targeted bounds, with un-updated values in their other columns. > ``` > > =E2=80=9CUn-updated=E2=80=9D sounds strange, I never saw that. Maybe =E2= =80=9Cunchanged=E2=80=9D? Changed to "the original values". > 12 - 0004 - update.sgml > ``` > + There will be zero to two inserted records, > ``` > > I don=E2=80=99t fully get this. Say, original range is 2-5: > > * if update 1-6, then no insert; > * if update 3-4, then two inserts > * if update 2-4, should it be just one insert? I agree an example is nice. I reworked this a bit. > 13 - 0004 - nodeModifyTable.c > ``` > + /* > + * Get the old pre-UPDATE/DELETE tuple. We will use its range to = compute > + * untouched parts of history, and if necessary we will insert co= pies > + * with truncated start/end times. > + * > + * We have already locked the tuple in ExecUpdate/ExecDelete, and= it has > + * passed EvalPlanQual. This ensures that concurrent updates in R= EAD > + * COMMITTED can't insert conflicting temporal leftovers. > + */ > + if (!table_tuple_fetch_row_version(resultRelInfo->ri_RelationDesc= , tupleid, SnapshotAny, oldtupleSlot)) > + elog(ERROR, "failed to fetch tuple for FOR PORTION OF=E2= =80=9D); > ``` > > I have a question and don=E2=80=99t find the answer from the code change. > > For update, the old row will point to the newly inserted row, so that the= re is chain of history rows. With portion update, from an old row it has no= way to find the newly inserted row, is this a concern? True, there is not a connection from the newly-inserted rows to the old updated row (other than the scalar part(s) of the primary key). I think that is correct as far as lower-level details go. It might be nice to have something for triggers though, similar to how I'm exposing the TO/FROM bounds, and then users could set a column if they like. The standard doesn't suggest anything like that, but we could add it. I think it can be a separate follow-on patch though. > 14 - 0004 - nodeModifyTable.c > ``` > + elog(ERROR, "Got a null from without_portion func= tion=E2=80=9D); > ``` > > Nit: it=E2=80=99s unusual to start elog with a capital letter, so =E2=80= =9CGot=E2=80=9D -> =E2=80=9Cgot=E2=80=9D. Okay. > 15 - 0004 - nodeModifyTable.c > ``` > + if (rel->rd_rel->relkind =3D=3D RELKIND_PARTITIONED_TABLE= && > + mtstate->mt_partition_tuple_routing =3D=3D NULL) > + { > + /* > + * We will need tuple routing to insert temporal = leftovers. Since > + * we are initializing things before ExecCrossPar= titionUpdate > + * runs, we must do everything it needs as well. > + */ > + if (mtstate->mt_partition_tuple_routing =3D=3D NU= LL) > + { > ``` > > The outer =E2=80=9Cif=E2=80=9D has checked mtstate->mt_partition_tuple_ro= uting =3D=3D NULL, so the inner =E2=80=9Cif=E2=80=9D is a redundant. You're right, fixed. > 16 - 0004 - nodeFuncs.c > ``` > + case T_ForPortionOfExpr: > + { > + ForPortionOfExpr *forPortionOf =3D (ForPo= rtionOfExpr *) node; > + > + if (WALK(forPortionOf->targetRange)) > + return true; > + } > + break; > ``` > > I am not sure, but do we also need to walk rangeVar and rangeTargetList? No. Postgres builds both of those during analysis from simple Var nodes. > 17 - 0004 - analyze.c > ``` > +static Node * > +addForPortionOfWhereConditions(Query *qry, ForPortionOfClause *forPortio= nOf, Node *whereClause) > +{ > + if (forPortionOf) > + { > + if (whereClause) > + return (Node *) makeBoolExpr(AND_EXPR, list_make2= (qry->forPortionOf->overlapsExpr, whereClause), -1); > + else > + return qry->forPortionOf->overlapsExpr; > ``` > > Do we need to check if qry->forPortionOf is NULL? It should be set if forPortionOf is set. I added an Assert for it. > 18 - 0005 - dml.sgml > ``` > + In READ COMMITTED mode, temporal updates and delet= es can > + cause unexpected results when they concurrently touch the same row. I= t is > ``` > > =E2=80=9CCause unexpected results=E2=80=9D sounds not formal doc style, s= uggesting =E2=80=9Cmay yield results that differ from what the user intends= =E2=80=9D. That seems quite verbose. I found many examples of "unexpected results". I changed "change" to "yield" though, which matches existing documentation. > 19 - 0006 - tablecmds.c > ``` > @@ -13760,6 +13760,7 @@ validateForeignKeyConstraint(char *conname, > trigdata.tg_trigtuple =3D ExecFetchSlotHeapTuple(slot, fa= lse, NULL); > trigdata.tg_trigslot =3D slot; > trigdata.tg_trigger =3D &trig; > + trigdata.tg_temporal =3D NULL; > ``` > > Looks like no need to assign NULL to trigdata.tg_temporal, because =E2=80= =9Ctrigdata=E2=80=9D has bee zero-ed when defining it. In other places of t= his patch, you don=E2=80=99t additionally initialize it, so this place migh= t not need as well. Okay. > 20 - 0007 - pg_constraint.c > ... > I don=E2=80=99t see withoutportionoid is initialized. You're right, this is not actually used by foreign keys anymore. It was required for RESTRICT, but we decided to leave that out for now, and I thought at first I would also need it for CASCADE/SET NULL/SET DEFAULT, but then I realized those operations didn't require it. It looks like I only partially removed it though. > 21 - 0008 - ri_triggers.c > ``` > + quoteOneName(attname, > + RIAttName(fk_rel, riinfo= ->fk_attnums[i])); > ``` > > This patch uses quoteOneName() a lot. This function simply add double quo= tes without much checks which is unsafe. I think quote_identifier() is more= preferred. As you say in your followup, quoteOneName is used extensively in the foreign key code to quote columns. It's defined in ri_triggers.c. I don't think it is unsafe here. We should follow what the surrounding code is doing. > 22 - 0009 - pl_exec.c > ``` > + case PLPGSQL_PROMISE_TG_PERIOD_BOUNDS: > + fpo =3D estate->trigdata->tg_temporal; > + > + if (estate->trigdata =3D=3D NULL) > + elog(ERROR, "trigger promise is not in a = trigger function"); > ``` > > You deference estate->trigdata before the NULL check. So the =E2=80=9Cfpo= =E2=80=9D assignment should be moved to after the NULL check. You're right! Fixed. > 23 - 0009 - pl_comp.c > ``` > + /* > + * Add the variable to tg_period_bounds. This cou= ld be any > ``` > > Nit typo: =E2=80=9Cto=E2=80=9D is not needed. Okay. Rebased to d5b4f3a6d4. Yours, --=20 Paul ~{:-) pj@illuminatedcomputing.com --000000000000e635b70643f70cee Content-Type: text/x-patch; charset="US-ASCII"; name="v61-0003-Add-range_minus_multi-and-multirange_minus_multi.patch" Content-Disposition: attachment; filename="v61-0003-Add-range_minus_multi-and-multirange_minus_multi.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mi6cumlj2 RnJvbSAwMGY1N2VlNTM4NGY3MDAzOTc1ZDEwZGI2MGQ2NTQyOTM4MGVlMTRhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IFNhdCwgMzAgRGVjIDIwMjMgMjM6MTA6NTkgLTA4MDAKU3ViamVj dDogW1BBVENIIHY2MSAwMy8xMF0gQWRkIHJhbmdlX21pbnVzX211bHRpIGFuZCBtdWx0aXJhbmdl X21pbnVzX211bHRpCiBmdW5jdGlvbnMKClRoZSBleGlzdGluZyByYW5nZV9taW51cyBmdW5jdGlv biByYWlzZXMgYW4gZXhjZXB0aW9uIHdoZW4gdGhlIHJhbmdlIGlzCiJzcGxpdCIsIGJlY2F1c2Ug dGhlbiB0aGUgcmVzdWx0IGNhbid0IGJlIHJlcHJlc2VudGVkIGJ5IGEgc2luZ2xlIHJhbmdlLgpG b3IgZXhhbXBsZSAnWzAsMTApJzo6aW50NHJhbmdlIC0gJ1s0LDUpJyB3b3VsZCBiZSAnWzAsNCkn IGFuZCAnWzUsMTApJy4KClRoaXMgY29tbWl0IGFkZHMgbmV3IHNldC1yZXR1cm5pbmcgZnVuY3Rp b25zIHNvIHRoYXQgY2FsbGVycyBjYW4gZ2V0CnJlc3VsdHMgZXZlbiBpbiB0aGUgY2FzZSBvZiBz cGxpdHMuIFRoZXJlIGlzIG5vIHJpc2sgb2YgYW4gZXhjZXB0aW9uIGZvcgptdWx0aXJhbmdlcywg YnV0IGEgc2V0LXJldHVybmluZyBmdW5jdGlvbiBsZXRzIHVzIGhhbmRsZSB0aGVtIHRoZSBzYW1l CndheSB3ZSBoYW5kbGUgcmFuZ2VzLgoKQm90aCBmdW5jdGlvbnMgcmV0dXJuIHplcm8gcmVzdWx0 cyBpZiB0aGUgc3VidHJhY3Rpb24gd291bGQgZ2l2ZSBhbgplbXB0eSByYW5nZS9tdWx0aXJhbmdl LgoKVGhlIG1haW4gdXNlLWNhc2UgZm9yIHRoZXNlIGZ1bmN0aW9ucyBpcyB0byBpbXBsZW1lbnQg VVBEQVRFL0RFTEVURSBGT1IKUE9SVElPTiBPRiwgd2hpY2ggbXVzdCBjb21wdXRlIHRoZSBhcHBs aWNhdGlvbi10aW1lIG9mICJ0ZW1wb3JhbApsZWZ0b3ZlcnMiOiB0aGUgcGFydCBvZiBoaXN0b3J5 IGluIGFuIHVwZGF0ZWQvZGVsZXRlZCByb3cgdGhhdCB3YXMgbm90CmNoYW5nZWQuIFRvIHByZXNl cnZlIHRoZSB1bnRvdWNoZWQgaGlzdG9yeSwgd2Ugd2lsbCBpbXBsaWNpdGx5IGluc2VydApvbmUg cmVjb3JkIGZvciBlYWNoIHJlc3VsdCByZXR1cm5lZCBieSByYW5nZS9tdWx0aXJhbmdlX21pbnVz X211bHRpLgpVc2luZyBhIHNldC1yZXR1cm5pbmcgZnVuY3Rpb24gd2lsbCBhbHNvIGxldCB1cyBz dXBwb3J0IHVzZXItZGVmaW5lZAp0eXBlcyBmb3IgYXBwbGljYXRpb24tdGltZSB1cGRhdGUvZGVs ZXRlIGluIHRoZSBmdXR1cmUuCgpBdXRob3I6IFBhdWwgQS4gSnVuZ3dpcnRoIDxwakBpbGx1bWlu YXRlZGNvbXB1dGluZy5jb20+Ci0tLQogZG9jL3NyYy9zZ21sL2Z1bmMvZnVuYy1yYW5nZS5zZ21s ICAgICAgICAgICAgIHwgIDQyICsrKysrCiBzcmMvYmFja2VuZC91dGlscy9hZHQvbXVsdGlyYW5n ZXR5cGVzLmMgICAgICAgfCAgNzEgKysrKysrKysKIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9yYW5n ZXR5cGVzLmMgICAgICAgICAgICB8IDE2NyArKysrKysrKysrKysrKysrKysKIHNyYy9pbmNsdWRl L2NhdGFsb2cvcGdfcHJvYy5kYXQgICAgICAgICAgICAgICB8ICAgOCArCiBzcmMvaW5jbHVkZS91 dGlscy9yYW5nZXR5cGVzLmggICAgICAgICAgICAgICAgfCAgIDIgKwogc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9tdWx0aXJhbmdldHlwZXMub3V0IHwgMTE2ICsrKysrKysrKysrKwogc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9yYW5nZXR5cGVzLm91dCAgICAgIHwgIDU0ICsrKysrKwogc3Jj L3Rlc3QvcmVncmVzcy9zcWwvbXVsdGlyYW5nZXR5cGVzLnNxbCAgICAgIHwgIDIyICsrKwogc3Jj L3Rlc3QvcmVncmVzcy9zcWwvcmFuZ2V0eXBlcy5zcWwgICAgICAgICAgIHwgIDEwICsrCiA5IGZp bGVzIGNoYW5nZWQsIDQ5MiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21s L2Z1bmMvZnVuYy1yYW5nZS5zZ21sIGIvZG9jL3NyYy9zZ21sL2Z1bmMvZnVuYy1yYW5nZS5zZ21s CmluZGV4IDJkYzQwMzQ4YTU3Li4zYzVhMzQ3OTZhMSAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21s L2Z1bmMvZnVuYy1yYW5nZS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9mdW5jL2Z1bmMtcmFuZ2Uu c2dtbApAQCAtODQyLDYgKzg0MiwyOSBAQAogICAgICAgICA8cmV0dXJudmFsdWU+WzEsNCk8L3Jl dHVybnZhbHVlPgogICAgICAgIDwvcGFyYT48L2VudHJ5PgogICAgICAgPC9yb3c+CisKKyAgICAg IDxyb3c+CisgICAgICAgPGVudHJ5IHJvbGU9ImZ1bmNfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImZ1bmNfc2lnbmF0dXJlIj4KKyAgICAgICAgPGluZGV4dGVybT4KKyAgICAgICAgIDxwcmltYXJ5 PnJhbmdlX21pbnVzX211bHRpPC9wcmltYXJ5PgorICAgICAgICA8L2luZGV4dGVybT4KKyAgICAg ICAgPGZ1bmN0aW9uPnJhbmdlX21pbnVzX211bHRpPC9mdW5jdGlvbj4gKCA8dHlwZT5hbnlyYW5n ZTwvdHlwZT4sIDx0eXBlPmFueXJhbmdlPC90eXBlPiApCisgICAgICAgIDxyZXR1cm52YWx1ZT5z ZXRvZiBhbnlyYW5nZTwvcmV0dXJudmFsdWU+CisgICAgICAgPC9wYXJhPgorICAgICAgIDxwYXJh PgorICAgICAgICBSZXR1cm5zIHRoZSBub24tZW1wdHkgcmFuZ2UocykgcmVtYWluaW5nIGFmdGVy IHN1YnRyYWN0aW5nIHRoZSBzZWNvbmQgcmFuZ2UgZnJvbSB0aGUgZmlyc3QuCisgICAgICAgIE9u ZSByb3cgaXMgcmV0dXJuZWQgZm9yIGVhY2ggcmFuZ2UsIHNvIGlmIHRoZSBzZWNvbmQgcmFuZ2Ug c3BsaXRzIHRoZSBmaXJzdCBpbnRvIHR3byBwYXJ0cywKKyAgICAgICAgdGhlcmUgd2lsbCBiZSB0 d28gcmVzdWx0cy4gSWYgdGhlIHN1YnRyYWN0aW9uIHlpZWxkcyBhbiBlbXB0eSByYW5nZSwgbm8g cm93cyBhcmUgcmV0dXJuZWQuCisgICAgICAgPC9wYXJhPgorICAgICAgIDxwYXJhPgorICAgICAg ICA8bGl0ZXJhbD5yYW5nZV9taW51c19tdWx0aSgnWzAsMTApJzo6aW50NHJhbmdlLCAnWzMsNCkn OjppbnQ0cmFuZ2UpPC9saXRlcmFsPgorICAgICAgICA8cmV0dXJudmFsdWU+PC9yZXR1cm52YWx1 ZT4KKzxwcm9ncmFtbGlzdGluZz4KKyBbMCwzKQorIFs0LDEwKQorPC9wcm9ncmFtbGlzdGluZz4K KyAgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgIDwvcm93PgogICAgICA8L3Rib2R5PgogICAg IDwvdGdyb3VwPgogICAgPC90YWJsZT4KQEAgLTEwNDEsNiArMTA2NCwyNSBAQAogPC9wcm9ncmFt bGlzdGluZz4KICAgICAgICA8L3BhcmE+PC9lbnRyeT4KICAgICAgIDwvcm93PgorCisgICAgICA8 cm93PgorICAgICAgIDxlbnRyeSByb2xlPSJmdW5jX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJm dW5jX3NpZ25hdHVyZSI+CisgICAgICAgIDxpbmRleHRlcm0+CisgICAgICAgICA8cHJpbWFyeT5t dWx0aXJhbmdlX21pbnVzX211bHRpPC9wcmltYXJ5PgorICAgICAgICA8L2luZGV4dGVybT4KKyAg ICAgICAgPGZ1bmN0aW9uPm11bHRpcmFuZ2VfbWludXNfbXVsdGk8L2Z1bmN0aW9uPiAoIDx0eXBl PmFueW11bHRpcmFuZ2U8L3R5cGU+LCA8dHlwZT5hbnltdWx0aXJhbmdlPC90eXBlPiApCisgICAg ICAgIDxyZXR1cm52YWx1ZT5zZXRvZiBhbnltdWx0aXJhbmdlPC9yZXR1cm52YWx1ZT4KKyAgICAg ICA8L3BhcmE+CisgICAgICAgPHBhcmE+CisgICAgICAgIFJldHVybnMgdGhlIG5vbi1lbXB0eSBt dWx0aXJhbmdlKHMpIHJlbWFpbmluZyBhZnRlciBzdWJ0cmFjdGluZyB0aGUgc2Vjb25kIG11bHRp cmFuZ2UgZnJvbSB0aGUgZmlyc3QuCisgICAgICAgIElmIHRoZSBzdWJ0cmFjdGlvbiB5aWVsZHMg YW4gZW1wdHkgbXVsdGlyYW5nZSwgbm8gcm93cyBhcmUgcmV0dXJuZWQuCisgICAgICAgIFR3byBy b3dzIGFyZSBuZXZlciByZXR1cm5lZCwgYmVjYXVzZSBhIHNpbmdsZSBtdWx0aXJhbmdlIGNhbiBh bHdheXMgYWNjb21tb2RhdGUgYW55IHJlc3VsdC4KKyAgICAgICA8L3BhcmE+CisgICAgICAgPHBh cmE+CisgICAgICAgIDxsaXRlcmFsPm11bHRpcmFuZ2VfbWludXNfbXVsdGkoJ3tbMCwxMCl9Jzo6 aW50NG11bHRpcmFuZ2UsICd7WzMsNCl9Jzo6aW50NG11bHRpcmFuZ2UpPC9saXRlcmFsPgorICAg ICAgICA8cmV0dXJudmFsdWU+e1swLDMpLCBbNCwxMCl9PC9yZXR1cm52YWx1ZT4KKyAgICAgICA8 L3BhcmE+PC9lbnRyeT4KKyAgICAgIDwvcm93PgogICAgICA8L3Rib2R5PgogICAgIDwvdGdyb3Vw PgogICAgPC90YWJsZT4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9tdWx0aXJh bmdldHlwZXMuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9tdWx0aXJhbmdldHlwZXMuYwppbmRl eCA5NWU5NTM5NTkxZS4uNTI3M2I5N2Y3ZmUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxz L2FkdC9tdWx0aXJhbmdldHlwZXMuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvbXVsdGly YW5nZXR5cGVzLmMKQEAgLTEyMjcsNiArMTIyNyw3NyBAQCBtdWx0aXJhbmdlX21pbnVzX2ludGVy bmFsKE9pZCBtbHRybmd0eXBvaWQsIFR5cGVDYWNoZUVudHJ5ICpyYW5nZXR5cCwKIAlyZXR1cm4g bWFrZV9tdWx0aXJhbmdlKG1sdHJuZ3R5cG9pZCwgcmFuZ2V0eXAsIHJhbmdlX2NvdW50MywgcmFu Z2VzMyk7CiB9CiAKKy8qCisgKiBtdWx0aXJhbmdlX21pbnVzX211bHRpIC0gbGlrZSBtdWx0aXJh bmdlX21pbnVzIGJ1dCByZXR1cm5pbmcgdGhlIHJlc3VsdCBhcyBhCisgKiBTUkYsIHdpdGggbm8g cm93cyBpZiB0aGUgcmVzdWx0IHdvdWxkIGJlIGVtcHR5LgorICovCitEYXR1bQorbXVsdGlyYW5n ZV9taW51c19tdWx0aShQR19GVU5DVElPTl9BUkdTKQoreworCUZ1bmNDYWxsQ29udGV4dCAqZnVu Y2N0eDsKKwlNZW1vcnlDb250ZXh0IG9sZGNvbnRleHQ7CisKKwlpZiAoIVNSRl9JU19GSVJTVENB TEwoKSkKKwl7CisJCS8qIFdlIG5ldmVyIGhhdmUgbW9yZSB0aGFuIG9uZSByZXN1bHQgKi8KKwkJ ZnVuY2N0eCA9IFNSRl9QRVJDQUxMX1NFVFVQKCk7CisJCVNSRl9SRVRVUk5fRE9ORShmdW5jY3R4 KTsKKwl9CisJZWxzZQorCXsKKwkJTXVsdGlyYW5nZVR5cGUgKm1yMTsKKwkJTXVsdGlyYW5nZVR5 cGUgKm1yMjsKKwkJT2lkCQkJbWx0cm5ndHlwb2lkOworCQlUeXBlQ2FjaGVFbnRyeSAqdHlwY2Fj aGU7CisJCVR5cGVDYWNoZUVudHJ5ICpyYW5nZXR5cDsKKwkJaW50MzIJCXJhbmdlX2NvdW50MTsK KwkJaW50MzIJCXJhbmdlX2NvdW50MjsKKwkJUmFuZ2VUeXBlICoqcmFuZ2VzMTsKKwkJUmFuZ2VU eXBlICoqcmFuZ2VzMjsKKwkJTXVsdGlyYW5nZVR5cGUgKm1yOworCisJCWZ1bmNjdHggPSBTUkZf RklSU1RDQUxMX0lOSVQoKTsKKworCQkvKgorCQkgKiBzd2l0Y2ggdG8gbWVtb3J5IGNvbnRleHQg YXBwcm9wcmlhdGUgZm9yIG11bHRpcGxlIGZ1bmN0aW9uIGNhbGxzCisJCSAqLworCQlvbGRjb250 ZXh0ID0gTWVtb3J5Q29udGV4dFN3aXRjaFRvKGZ1bmNjdHgtPm11bHRpX2NhbGxfbWVtb3J5X2N0 eCk7CisKKwkJLyogZ2V0IGFyZ3MsIGRldG9hc3RpbmcgaW50byBtdWx0aS1jYWxsIG1lbW9yeSBj b250ZXh0ICovCisJCW1yMSA9IFBHX0dFVEFSR19NVUxUSVJBTkdFX1AoMCk7CisJCW1yMiA9IFBH X0dFVEFSR19NVUxUSVJBTkdFX1AoMSk7CisKKwkJbWx0cm5ndHlwb2lkID0gTXVsdGlyYW5nZVR5 cGVHZXRPaWQobXIxKTsKKwkJdHlwY2FjaGUgPSBsb29rdXBfdHlwZV9jYWNoZShtbHRybmd0eXBv aWQsIFRZUEVDQUNIRV9NVUxUSVJBTkdFX0lORk8pOworCQlpZiAodHlwY2FjaGUtPnJuZ3R5cGUg PT0gTlVMTCkKKwkJCWVsb2coRVJST1IsICJ0eXBlICV1IGlzIG5vdCBhIG11bHRpcmFuZ2UgdHlw ZSIsIG1sdHJuZ3R5cG9pZCk7CisJCXJhbmdldHlwID0gdHlwY2FjaGUtPnJuZ3R5cGU7CisKKwkJ aWYgKE11bHRpcmFuZ2VJc0VtcHR5KG1yMSkgfHwgTXVsdGlyYW5nZUlzRW1wdHkobXIyKSkKKwkJ CW1yID0gbXIxOworCQllbHNlCisJCXsKKwkJCW11bHRpcmFuZ2VfZGVzZXJpYWxpemUocmFuZ2V0 eXAsIG1yMSwgJnJhbmdlX2NvdW50MSwgJnJhbmdlczEpOworCQkJbXVsdGlyYW5nZV9kZXNlcmlh bGl6ZShyYW5nZXR5cCwgbXIyLCAmcmFuZ2VfY291bnQyLCAmcmFuZ2VzMik7CisKKwkJCW1yID0g bXVsdGlyYW5nZV9taW51c19pbnRlcm5hbChtbHRybmd0eXBvaWQsCisJCQkJCQkJCQkJICAgcmFu Z2V0eXAsCisJCQkJCQkJCQkJICAgcmFuZ2VfY291bnQxLAorCQkJCQkJCQkJCSAgIHJhbmdlczEs CisJCQkJCQkJCQkJICAgcmFuZ2VfY291bnQyLAorCQkJCQkJCQkJCSAgIHJhbmdlczIpOworCQl9 CisKKwkJTWVtb3J5Q29udGV4dFN3aXRjaFRvKG9sZGNvbnRleHQpOworCisJCWZ1bmNjdHggPSBT UkZfUEVSQ0FMTF9TRVRVUCgpOworCQlpZiAoTXVsdGlyYW5nZUlzRW1wdHkobXIpKQorCQkJU1JG X1JFVFVSTl9ET05FKGZ1bmNjdHgpOworCQllbHNlCisJCQlTUkZfUkVUVVJOX05FWFQoZnVuY2N0 eCwgTXVsdGlyYW5nZVR5cGVQR2V0RGF0dW0obXIpKTsKKwl9Cit9CisKIC8qIG11bHRpcmFuZ2Ug aW50ZXJzZWN0aW9uICovCiBEYXR1bQogbXVsdGlyYW5nZV9pbnRlcnNlY3QoUEdfRlVOQ1RJT05f QVJHUykKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9yYW5nZXR5cGVzLmMgYi9z cmMvYmFja2VuZC91dGlscy9hZHQvcmFuZ2V0eXBlcy5jCmluZGV4IDBlNDUxZTQ2OTNiLi4wNjVh ODAwMGNmMiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3JhbmdldHlwZXMuYwor KysgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcmFuZ2V0eXBlcy5jCkBAIC0zMSw2ICszMSw3IEBA CiAjaW5jbHVkZSAicG9zdGdyZXMuaCIKIAogI2luY2x1ZGUgImNvbW1vbi9oYXNoZm4uaCIKKyNp bmNsdWRlICJmdW5jYXBpLmgiCiAjaW5jbHVkZSAibGlicHEvcHFmb3JtYXQuaCIKICNpbmNsdWRl ICJtaXNjYWRtaW4uaCIKICNpbmNsdWRlICJub2Rlcy9tYWtlZnVuY3MuaCIKQEAgLTEyMTYsNiAr MTIxNywxNzIgQEAgcmFuZ2Vfc3BsaXRfaW50ZXJuYWwoVHlwZUNhY2hlRW50cnkgKnR5cGNhY2hl LCBjb25zdCBSYW5nZVR5cGUgKnIxLCBjb25zdCBSYW5nZVQKIAlyZXR1cm4gZmFsc2U7CiB9CiAK Ky8qCisgKiByYW5nZV9taW51c19tdWx0aSAtIGxpa2UgcmFuZ2VfbWludXMgYnV0IGFzIGEgU1JG IHRvIGFjY29tbW9kYXRlIHNwbGl0cywKKyAqIHdpdGggbm8gcmVzdWx0IHJvd3MgaWYgdGhlIHJl c3VsdCB3b3VsZCBiZSBlbXB0eS4KKyAqLworRGF0dW0KK3JhbmdlX21pbnVzX211bHRpKFBHX0ZV TkNUSU9OX0FSR1MpCit7CisJc3RydWN0IHJhbmdlX21pbnVzX211bHRpX2ZjdHgKKwl7CisJCVJh bmdlVHlwZSAgKnJzWzJdOworCQlpbnQJCQluOworCX07CisKKwlGdW5jQ2FsbENvbnRleHQgKmZ1 bmNjdHg7CisJc3RydWN0IHJhbmdlX21pbnVzX211bHRpX2ZjdHggKmZjdHg7CisJTWVtb3J5Q29u dGV4dCBvbGRjb250ZXh0OworCisJLyogc3R1ZmYgZG9uZSBvbmx5IG9uIHRoZSBmaXJzdCBjYWxs IG9mIHRoZSBmdW5jdGlvbiAqLworCWlmIChTUkZfSVNfRklSU1RDQUxMKCkpCisJeworCQlSYW5n ZVR5cGUgICpyMTsKKwkJUmFuZ2VUeXBlICAqcjI7CisJCU9pZAkJCXJuZ3R5cGlkOworCQlUeXBl Q2FjaGVFbnRyeSAqdHlwY2FjaGU7CisKKwkJLyogY3JlYXRlIGEgZnVuY3Rpb24gY29udGV4dCBm b3IgY3Jvc3MtY2FsbCBwZXJzaXN0ZW5jZSAqLworCQlmdW5jY3R4ID0gU1JGX0ZJUlNUQ0FMTF9J TklUKCk7CisKKwkJLyoKKwkJICogc3dpdGNoIHRvIG1lbW9yeSBjb250ZXh0IGFwcHJvcHJpYXRl IGZvciBtdWx0aXBsZSBmdW5jdGlvbiBjYWxscworCQkgKi8KKwkJb2xkY29udGV4dCA9IE1lbW9y eUNvbnRleHRTd2l0Y2hUbyhmdW5jY3R4LT5tdWx0aV9jYWxsX21lbW9yeV9jdHgpOworCisJCXIx ID0gUEdfR0VUQVJHX1JBTkdFX1AoMCk7CisJCXIyID0gUEdfR0VUQVJHX1JBTkdFX1AoMSk7CisK KwkJLyogRGlmZmVyZW50IHR5cGVzIHNob3VsZCBiZSBwcmV2ZW50ZWQgYnkgQU5ZUkFOR0UgbWF0 Y2hpbmcgcnVsZXMgKi8KKwkJaWYgKFJhbmdlVHlwZUdldE9pZChyMSkgIT0gUmFuZ2VUeXBlR2V0 T2lkKHIyKSkKKwkJCWVsb2coRVJST1IsICJyYW5nZSB0eXBlcyBkbyBub3QgbWF0Y2giKTsKKwor CQkvKiBhbGxvY2F0ZSBtZW1vcnkgZm9yIHVzZXIgY29udGV4dCAqLworCQlmY3R4ID0gKHN0cnVj dCByYW5nZV9taW51c19tdWx0aV9mY3R4ICopIHBhbGxvYyhzaXplb2Yoc3RydWN0IHJhbmdlX21p bnVzX211bHRpX2ZjdHgpKTsKKworCQkvKgorCQkgKiBJbml0aWFsaXplIHN0YXRlLiBXZSBjYW4n dCBzdG9yZSB0aGUgcmFuZ2UgdHlwY2FjaGUgaW4gZm5fZXh0cmEKKwkJICogYmVjYXVzZSB0aGUg Y2FsbGVyIHVzZXMgdGhhdCBmb3IgdGhlIFNSRiBzdGF0ZS4KKwkJICovCisJCXJuZ3R5cGlkID0g UmFuZ2VUeXBlR2V0T2lkKHIxKTsKKwkJdHlwY2FjaGUgPSBsb29rdXBfdHlwZV9jYWNoZShybmd0 eXBpZCwgVFlQRUNBQ0hFX1JBTkdFX0lORk8pOworCQlpZiAodHlwY2FjaGUtPnJuZ2VsZW10eXBl ID09IE5VTEwpCisJCQllbG9nKEVSUk9SLCAidHlwZSAldSBpcyBub3QgYSByYW5nZSB0eXBlIiwg cm5ndHlwaWQpOworCQlyYW5nZV9taW51c19tdWx0aV9pbnRlcm5hbCh0eXBjYWNoZSwgcjEsIHIy LCBmY3R4LT5ycywgJmZjdHgtPm4pOworCisJCWZ1bmNjdHgtPnVzZXJfZmN0eCA9IGZjdHg7CisJ CU1lbW9yeUNvbnRleHRTd2l0Y2hUbyhvbGRjb250ZXh0KTsKKwl9CisKKwkvKiBzdHVmZiBkb25l IG9uIGV2ZXJ5IGNhbGwgb2YgdGhlIGZ1bmN0aW9uICovCisJZnVuY2N0eCA9IFNSRl9QRVJDQUxM X1NFVFVQKCk7CisJZmN0eCA9IGZ1bmNjdHgtPnVzZXJfZmN0eDsKKworCWlmIChmdW5jY3R4LT5j YWxsX2NudHIgPCBmY3R4LT5uKQorCXsKKwkJLyoKKwkJICogV2UgbXVzdCBrZWVwIHRoZXNlIG9u IHNlcGFyYXRlIGxpbmVzIGJlY2F1c2UgU1JGX1JFVFVSTl9ORVhUIGRvZXMKKwkJICogY2FsbF9j bnRyKys6CisJCSAqLworCQlSYW5nZVR5cGUgICpyZXQgPSBmY3R4LT5yc1tmdW5jY3R4LT5jYWxs X2NudHJdOworCisJCVNSRl9SRVRVUk5fTkVYVChmdW5jY3R4LCBSYW5nZVR5cGVQR2V0RGF0dW0o cmV0KSk7CisJfQorCWVsc2UKKwkJLyogZG8gd2hlbiB0aGVyZSBpcyBubyBtb3JlIGxlZnQgKi8K KwkJU1JGX1JFVFVSTl9ET05FKGZ1bmNjdHgpOworfQorCisvKgorICogcmFuZ2VfbWludXNfbXVs dGlfaW50ZXJuYWwgLSBTdWJ0cmFjdHMgcjIgZnJvbSByMQorICoKKyAqIFRoZSBzdWJ0cmFjdGlv biBjYW4gcHJvZHVjZSB6ZXJvLCBvbmUsIG9yIHR3byByZXN1bHRpbmcgcmFuZ2VzLiBXZSByZXR1 cm4KKyAqIHRoZSByZXN1bHRzIGJ5IHNldHRpbmcgb3V0cHV0cyBhbmQgb3V0cHV0biB0byB0aGUg cmFuZ2VzIHJlbWFpbmluZyBhbmQgdGhlaXIKKyAqIGNvdW50IChyZXNwZWN0aXZlbHkpLiBUaGUg cmVzdWx0cyB3aWxsIG5ldmVyIGNvbnRhaW4gZW1wdHkgcmFuZ2VzIGFuZCB3aWxsCisgKiBiZSBv cmRlcmVkLiBDYWxsZXIgc2hvdWxkIHNldCBvdXRwdXRzIHRvIGEgdHdvLWVsZW1lbnQgYXJyYXkg b2YgUmFuZ2VUeXBlCisgKiBwb2ludGVycy4KKyAqLwordm9pZAorcmFuZ2VfbWludXNfbXVsdGlf aW50ZXJuYWwoVHlwZUNhY2hlRW50cnkgKnR5cGNhY2hlLCBSYW5nZVR5cGUgKnIxLAorCQkJCQkJ ICAgUmFuZ2VUeXBlICpyMiwgUmFuZ2VUeXBlICoqb3V0cHV0cywgaW50ICpvdXRwdXRuKQorewor CWludAkJCWNtcF9sMWwyLAorCQkJCWNtcF9sMXUyLAorCQkJCWNtcF91MWwyLAorCQkJCWNtcF91 MXUyOworCVJhbmdlQm91bmQJbG93ZXIxLAorCQkJCWxvd2VyMjsKKwlSYW5nZUJvdW5kCXVwcGVy MSwKKwkJCQl1cHBlcjI7CisJYm9vbAkJZW1wdHkxLAorCQkJCWVtcHR5MjsKKworCXJhbmdlX2Rl c2VyaWFsaXplKHR5cGNhY2hlLCByMSwgJmxvd2VyMSwgJnVwcGVyMSwgJmVtcHR5MSk7CisJcmFu Z2VfZGVzZXJpYWxpemUodHlwY2FjaGUsIHIyLCAmbG93ZXIyLCAmdXBwZXIyLCAmZW1wdHkyKTsK KworCWlmIChlbXB0eTEpCisJeworCQkvKiBpZiByMSBpcyBlbXB0eSB0aGVuIHIxIC0gcjIgaXMg ZW1wdHksIHNvIHJldHVybiB6ZXJvIHJlc3VsdHMgKi8KKwkJKm91dHB1dG4gPSAwOworCQlyZXR1 cm47CisJfQorCWVsc2UgaWYgKGVtcHR5MikKKwl7CisJCS8qIHIyIGlzIGVtcHR5IHNvIHRoZSBy ZXN1bHQgaXMganVzdCByMSAod2hpY2ggd2Uga25vdyBpcyBub3QgZW1wdHkpICovCisJCW91dHB1 dHNbMF0gPSByMTsKKwkJKm91dHB1dG4gPSAxOworCQlyZXR1cm47CisJfQorCisJLyoKKwkgKiBV c2UgdGhlIHNhbWUgbG9naWMgYXMgcmFuZ2VfbWludXNfaW50ZXJuYWwsIGJ1dCBzdXBwb3J0IHRo ZSBzcGxpdCBjYXNlCisJICovCisJY21wX2wxbDIgPSByYW5nZV9jbXBfYm91bmRzKHR5cGNhY2hl LCAmbG93ZXIxLCAmbG93ZXIyKTsKKwljbXBfbDF1MiA9IHJhbmdlX2NtcF9ib3VuZHModHlwY2Fj aGUsICZsb3dlcjEsICZ1cHBlcjIpOworCWNtcF91MWwyID0gcmFuZ2VfY21wX2JvdW5kcyh0eXBj YWNoZSwgJnVwcGVyMSwgJmxvd2VyMik7CisJY21wX3UxdTIgPSByYW5nZV9jbXBfYm91bmRzKHR5 cGNhY2hlLCAmdXBwZXIxLCAmdXBwZXIyKTsKKworCWlmIChjbXBfbDFsMiA8IDAgJiYgY21wX3Ux dTIgPiAwKQorCXsKKwkJbG93ZXIyLmluY2x1c2l2ZSA9ICFsb3dlcjIuaW5jbHVzaXZlOworCQls b3dlcjIubG93ZXIgPSBmYWxzZTsJLyogaXQgd2lsbCBiZWNvbWUgdGhlIHVwcGVyIGJvdW5kICov CisJCW91dHB1dHNbMF0gPSBtYWtlX3JhbmdlKHR5cGNhY2hlLCAmbG93ZXIxLCAmbG93ZXIyLCBm YWxzZSwgTlVMTCk7CisKKwkJdXBwZXIyLmluY2x1c2l2ZSA9ICF1cHBlcjIuaW5jbHVzaXZlOwor CQl1cHBlcjIubG93ZXIgPSB0cnVlOwkvKiBpdCB3aWxsIGJlY29tZSB0aGUgbG93ZXIgYm91bmQg Ki8KKwkJb3V0cHV0c1sxXSA9IG1ha2VfcmFuZ2UodHlwY2FjaGUsICZ1cHBlcjIsICZ1cHBlcjEs IGZhbHNlLCBOVUxMKTsKKworCQkqb3V0cHV0biA9IDI7CisJfQorCWVsc2UgaWYgKGNtcF9sMXUy ID4gMCB8fCBjbXBfdTFsMiA8IDApCisJeworCQlvdXRwdXRzWzBdID0gcjE7CisJCSpvdXRwdXRu ID0gMTsKKwl9CisJZWxzZSBpZiAoY21wX2wxbDIgPj0gMCAmJiBjbXBfdTF1MiA8PSAwKQorCXsK KwkJKm91dHB1dG4gPSAwOworCX0KKwllbHNlIGlmIChjbXBfbDFsMiA8PSAwICYmIGNtcF91MWwy ID49IDAgJiYgY21wX3UxdTIgPD0gMCkKKwl7CisJCWxvd2VyMi5pbmNsdXNpdmUgPSAhbG93ZXIy LmluY2x1c2l2ZTsKKwkJbG93ZXIyLmxvd2VyID0gZmFsc2U7CS8qIGl0IHdpbGwgYmVjb21lIHRo ZSB1cHBlciBib3VuZCAqLworCQlvdXRwdXRzWzBdID0gbWFrZV9yYW5nZSh0eXBjYWNoZSwgJmxv d2VyMSwgJmxvd2VyMiwgZmFsc2UsIE5VTEwpOworCQkqb3V0cHV0biA9IDE7CisJfQorCWVsc2Ug aWYgKGNtcF9sMWwyID49IDAgJiYgY21wX3UxdTIgPj0gMCAmJiBjbXBfbDF1MiA8PSAwKQorCXsK KwkJdXBwZXIyLmluY2x1c2l2ZSA9ICF1cHBlcjIuaW5jbHVzaXZlOworCQl1cHBlcjIubG93ZXIg PSB0cnVlOwkvKiBpdCB3aWxsIGJlY29tZSB0aGUgbG93ZXIgYm91bmQgKi8KKwkJb3V0cHV0c1sw XSA9IG1ha2VfcmFuZ2UodHlwY2FjaGUsICZ1cHBlcjIsICZ1cHBlcjEsIGZhbHNlLCBOVUxMKTsK KwkJKm91dHB1dG4gPSAxOworCX0KKwllbHNlCisJeworCQllbG9nKEVSUk9SLCAidW5leHBlY3Rl ZCBjYXNlIGluIHJhbmdlX21pbnVzX211bHRpIik7CisJfQorfQorCiAvKiByYW5nZSAtPiByYW5n ZSBhZ2dyZWdhdGUgZnVuY3Rpb25zICovCiAKIERhdHVtCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX3Byb2MuZGF0IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdApp bmRleCBhYWFkZmQ4Yzc0OC4uMWVkYjE4OTU4ZjcgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2Nh dGFsb2cvcGdfcHJvYy5kYXQKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdApA QCAtMTA5MzksNiArMTA5MzksMTAgQEAKIHsgb2lkID0+ICczODY5JywKICAgcHJvbmFtZSA9PiAn cmFuZ2VfbWludXMnLCBwcm9yZXR0eXBlID0+ICdhbnlyYW5nZScsCiAgIHByb2FyZ3R5cGVzID0+ ICdhbnlyYW5nZSBhbnlyYW5nZScsIHByb3NyYyA9PiAncmFuZ2VfbWludXMnIH0sCit7IG9pZCA9 PiAnODQxMicsIGRlc2NyID0+ICdyZW1vdmUgcG9ydGlvbiBmcm9tIHJhbmdlJywKKyAgcHJvbmFt ZSA9PiAncmFuZ2VfbWludXNfbXVsdGknLCBwcm9yb3dzID0+ICcyJywKKyAgcHJvcmV0c2V0ID0+ ICd0JywgcHJvcmV0dHlwZSA9PiAnYW55cmFuZ2UnLAorICBwcm9hcmd0eXBlcyA9PiAnYW55cmFu Z2UgYW55cmFuZ2UnLCBwcm9zcmMgPT4gJ3JhbmdlX21pbnVzX211bHRpJyB9LAogeyBvaWQgPT4g JzM4NzAnLCBkZXNjciA9PiAnbGVzcy1lcXVhbC1ncmVhdGVyJywKICAgcHJvbmFtZSA9PiAncmFu Z2VfY21wJywgcHJvcmV0dHlwZSA9PiAnaW50NCcsCiAgIHByb2FyZ3R5cGVzID0+ICdhbnlyYW5n ZSBhbnlyYW5nZScsIHByb3NyYyA9PiAncmFuZ2VfY21wJyB9LApAQCAtMTEyMjksNiArMTEyMzMs MTAgQEAKIHsgb2lkID0+ICc0MjcxJywKICAgcHJvbmFtZSA9PiAnbXVsdGlyYW5nZV9taW51cycs IHByb3JldHR5cGUgPT4gJ2FueW11bHRpcmFuZ2UnLAogICBwcm9hcmd0eXBlcyA9PiAnYW55bXVs dGlyYW5nZSBhbnltdWx0aXJhbmdlJywgcHJvc3JjID0+ICdtdWx0aXJhbmdlX21pbnVzJyB9LAor eyBvaWQgPT4gJzg0MTEnLCBkZXNjciA9PiAncmVtb3ZlIHBvcnRpb24gZnJvbSBtdWx0aXJhbmdl JywKKyAgcHJvbmFtZSA9PiAnbXVsdGlyYW5nZV9taW51c19tdWx0aScsIHByb3Jvd3MgPT4gJzEn LAorICBwcm9yZXRzZXQgPT4gJ3QnLCBwcm9yZXR0eXBlID0+ICdhbnltdWx0aXJhbmdlJywKKyAg cHJvYXJndHlwZXMgPT4gJ2FueW11bHRpcmFuZ2UgYW55bXVsdGlyYW5nZScsIHByb3NyYyA9PiAn bXVsdGlyYW5nZV9taW51c19tdWx0aScgfSwKIHsgb2lkID0+ICc0MjcyJywKICAgcHJvbmFtZSA9 PiAnbXVsdGlyYW5nZV9pbnRlcnNlY3QnLCBwcm9yZXR0eXBlID0+ICdhbnltdWx0aXJhbmdlJywK ICAgcHJvYXJndHlwZXMgPT4gJ2FueW11bHRpcmFuZ2UgYW55bXVsdGlyYW5nZScsCmRpZmYgLS1n aXQgYS9zcmMvaW5jbHVkZS91dGlscy9yYW5nZXR5cGVzLmggYi9zcmMvaW5jbHVkZS91dGlscy9y YW5nZXR5cGVzLmgKaW5kZXggNTBhZGIzYzhjMTMuLjgzNmYyYjA5MTRiIDEwMDY0NAotLS0gYS9z cmMvaW5jbHVkZS91dGlscy9yYW5nZXR5cGVzLmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvcmFu Z2V0eXBlcy5oCkBAIC0xNjQsNSArMTY0LDcgQEAgZXh0ZXJuIFJhbmdlVHlwZSAqbWFrZV9lbXB0 eV9yYW5nZShUeXBlQ2FjaGVFbnRyeSAqdHlwY2FjaGUpOwogZXh0ZXJuIGJvb2wgcmFuZ2Vfc3Bs aXRfaW50ZXJuYWwoVHlwZUNhY2hlRW50cnkgKnR5cGNhY2hlLCBjb25zdCBSYW5nZVR5cGUgKnIx LAogCQkJCQkJCQkgY29uc3QgUmFuZ2VUeXBlICpyMiwgUmFuZ2VUeXBlICoqb3V0cHV0MSwKIAkJ CQkJCQkJIFJhbmdlVHlwZSAqKm91dHB1dDIpOworZXh0ZXJuIHZvaWQgcmFuZ2VfbWludXNfbXVs dGlfaW50ZXJuYWwoVHlwZUNhY2hlRW50cnkgKnR5cGNhY2hlLCBSYW5nZVR5cGUgKnIxLAorCQkJ CQkJCQkJICAgUmFuZ2VUeXBlICpyMiwgUmFuZ2VUeXBlICoqb3V0cHV0cywgaW50ICpvdXRwdXRu KTsKIAogI2VuZGlmCQkJCQkJCS8qIFJBTkdFVFlQRVNfSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9tdWx0aXJhbmdldHlwZXMub3V0IGIvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9tdWx0aXJhbmdldHlwZXMub3V0CmluZGV4IDYzZGU0ZDA5YjE1Li5mNWU3ZGY4 ZGY0MyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9tdWx0aXJhbmdldHlw ZXMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvbXVsdGlyYW5nZXR5cGVzLm91 dApAQCAtMjIwMCw2ICsyMjAwLDEyMiBAQCBTRUxFQ1QgbnVtbXVsdGlyYW5nZShudW1yYW5nZSgx LDIpLCBudW1yYW5nZSg0LDUpKSAtIG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoLTIsMAogIHtbMSwy KSxbNCw1KX0KICgxIHJvdykKIAorLS0gbXVsdGlyYW5nZV9taW51c19tdWx0aQorU0VMRUNUIG11 bHRpcmFuZ2VfbWludXNfbXVsdGkobnVtbXVsdGlyYW5nZSgpLCBudW1tdWx0aXJhbmdlKCkpOwor IG11bHRpcmFuZ2VfbWludXNfbXVsdGkgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKygwIHJv d3MpCisKK1NFTEVDVCBtdWx0aXJhbmdlX21pbnVzX211bHRpKG51bW11bHRpcmFuZ2UoKSwgbnVt bXVsdGlyYW5nZShudW1yYW5nZSgxLDIpKSk7CisgbXVsdGlyYW5nZV9taW51c19tdWx0aSAKKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKDAgcm93cykKKworU0VMRUNUIG11bHRpcmFuZ2VfbWlu dXNfbXVsdGkobnVtbXVsdGlyYW5nZShudW1yYW5nZSgxLDIpKSwgbnVtbXVsdGlyYW5nZSgpKTsK KyBtdWx0aXJhbmdlX21pbnVzX211bHRpIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisge1sx LDIpfQorKDEgcm93KQorCitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0aShudW1tdWx0aXJh bmdlKG51bXJhbmdlKDEsMiksIG51bXJhbmdlKDMsNCkpLCBudW1tdWx0aXJhbmdlKCkpOworIG11 bHRpcmFuZ2VfbWludXNfbXVsdGkgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyB7WzEsMiks WzMsNCl9CisoMSByb3cpCisKK1NFTEVDVCBtdWx0aXJhbmdlX21pbnVzX211bHRpKG51bW11bHRp cmFuZ2UobnVtcmFuZ2UoMSwyKSksIG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMSwyKSkpOworIG11 bHRpcmFuZ2VfbWludXNfbXVsdGkgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKygwIHJvd3Mp CisKK1NFTEVDVCBtdWx0aXJhbmdlX21pbnVzX211bHRpKG51bW11bHRpcmFuZ2UobnVtcmFuZ2Uo MSwyKSksIG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMiw0KSkpOworIG11bHRpcmFuZ2VfbWludXNf bXVsdGkgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyB7WzEsMil9CisoMSByb3cpCisKK1NF TEVDVCBtdWx0aXJhbmdlX21pbnVzX211bHRpKG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMSwyKSks IG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMyw0KSkpOworIG11bHRpcmFuZ2VfbWludXNfbXVsdGkg CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyB7WzEsMil9CisoMSByb3cpCisKK1NFTEVDVCBt dWx0aXJhbmdlX21pbnVzX211bHRpKG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMSw0KSksIG51bW11 bHRpcmFuZ2UobnVtcmFuZ2UoMSwyKSkpOworIG11bHRpcmFuZ2VfbWludXNfbXVsdGkgCistLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKyB7WzIsNCl9CisoMSByb3cpCisKK1NFTEVDVCBtdWx0aXJh bmdlX21pbnVzX211bHRpKG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMSw0KSksIG51bW11bHRpcmFu Z2UobnVtcmFuZ2UoMiwzKSkpOworIG11bHRpcmFuZ2VfbWludXNfbXVsdGkgCistLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKyB7WzEsMiksWzMsNCl9CisoMSByb3cpCisKK1NFTEVDVCBtdWx0aXJh bmdlX21pbnVzX211bHRpKG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMSw0KSksIG51bW11bHRpcmFu Z2UobnVtcmFuZ2UoMCw4KSkpOworIG11bHRpcmFuZ2VfbWludXNfbXVsdGkgCistLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKygwIHJvd3MpCisKK1NFTEVDVCBtdWx0aXJhbmdlX21pbnVzX211bHRp KG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMSw0KSksIG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMCwy KSkpOworIG11bHRpcmFuZ2VfbWludXNfbXVsdGkgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KyB7WzIsNCl9CisoMSByb3cpCisKK1NFTEVDVCBtdWx0aXJhbmdlX21pbnVzX211bHRpKG51bW11 bHRpcmFuZ2UobnVtcmFuZ2UoMSw4KSksIG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMCwyKSwgbnVt cmFuZ2UoMyw0KSkpOworIG11bHRpcmFuZ2VfbWludXNfbXVsdGkgCistLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyB7WzIsMyksWzQsOCl9CisoMSByb3cpCisKK1NFTEVDVCBtdWx0aXJhbmdlX21p bnVzX211bHRpKG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMSw4KSksIG51bW11bHRpcmFuZ2UobnVt cmFuZ2UoMiwzKSwgbnVtcmFuZ2UoNSxudWxsKSkpOworIG11bHRpcmFuZ2VfbWludXNfbXVsdGkg CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyB7WzEsMiksWzMsNSl9CisoMSByb3cpCisKK1NF TEVDVCBtdWx0aXJhbmdlX21pbnVzX211bHRpKG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMSwyKSwg bnVtcmFuZ2UoNCw1KSksIG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoLTIsMCkpKTsKKyBtdWx0aXJh bmdlX21pbnVzX211bHRpIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisge1sxLDIpLFs0LDUp fQorKDEgcm93KQorCitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0aShudW1tdWx0aXJhbmdl KG51bXJhbmdlKDEsMiksIG51bXJhbmdlKDQsNSkpLCBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDIs NCkpKTsKKyBtdWx0aXJhbmdlX21pbnVzX211bHRpIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Cisge1sxLDIpLFs0LDUpfQorKDEgcm93KQorCitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0 aShudW1tdWx0aXJhbmdlKG51bXJhbmdlKDEsMiksIG51bXJhbmdlKDQsNSkpLCBudW1tdWx0aXJh bmdlKG51bXJhbmdlKDMsNSkpKTsKKyBtdWx0aXJhbmdlX21pbnVzX211bHRpIAorLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisge1sxLDIpfQorKDEgcm93KQorCitTRUxFQ1QgbXVsdGlyYW5nZV9t aW51c19tdWx0aShudW1tdWx0aXJhbmdlKG51bXJhbmdlKDEsMiksIG51bXJhbmdlKDQsNSkpLCBu dW1tdWx0aXJhbmdlKG51bXJhbmdlKDAsOSkpKTsKKyBtdWx0aXJhbmdlX21pbnVzX211bHRpIAor LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisoMCByb3dzKQorCitTRUxFQ1QgbXVsdGlyYW5nZV9t aW51c19tdWx0aShudW1tdWx0aXJhbmdlKG51bXJhbmdlKDEsMyksIG51bXJhbmdlKDQsNSkpLCBu dW1tdWx0aXJhbmdlKG51bXJhbmdlKDIsOSkpKTsKKyBtdWx0aXJhbmdlX21pbnVzX211bHRpIAor LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisge1sxLDIpfQorKDEgcm93KQorCitTRUxFQ1QgbXVs dGlyYW5nZV9taW51c19tdWx0aShudW1tdWx0aXJhbmdlKG51bXJhbmdlKDEsMiksIG51bXJhbmdl KDQsNSkpLCBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDgsOSkpKTsKKyBtdWx0aXJhbmdlX21pbnVz X211bHRpIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisge1sxLDIpLFs0LDUpfQorKDEgcm93 KQorCitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0aShudW1tdWx0aXJhbmdlKG51bXJhbmdl KDEsMiksIG51bXJhbmdlKDQsNSkpLCBudW1tdWx0aXJhbmdlKG51bXJhbmdlKC0yLDApLCBudW1y YW5nZSg4LDkpKSk7CisgbXVsdGlyYW5nZV9taW51c19tdWx0aSAKKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorIHtbMSwyKSxbNCw1KX0KKygxIHJvdykKKwogLS0gaW50ZXJzZWN0aW9uCiBTRUxF Q1QgbnVtbXVsdGlyYW5nZSgpICogbnVtbXVsdGlyYW5nZSgpOwogID9jb2x1bW4/IApkaWZmIC0t Z2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9yYW5nZXR5cGVzLm91dCBiL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvcmFuZ2V0eXBlcy5vdXQKaW5kZXggY2RkOTU3OTljZDUuLmUwNjJh NGU1YzJjIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3JhbmdldHlwZXMu b3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcmFuZ2V0eXBlcy5vdXQKQEAgLTQ4 MSw2ICs0ODEsNjAgQEAgc2VsZWN0IHJhbmdlX21pbnVzKG51bXJhbmdlKDEwLjEsMTIuMiwnW10n KSwgbnVtcmFuZ2UoMC4wLDEyMC4yLCcoXScpKTsKICBlbXB0eQogKDEgcm93KQogCitzZWxlY3Qg cmFuZ2VfbWludXNfbXVsdGkoJ2VtcHR5Jzo6bnVtcmFuZ2UsIG51bXJhbmdlKDIuMCwgMy4wKSk7 CisgcmFuZ2VfbWludXNfbXVsdGkgCistLS0tLS0tLS0tLS0tLS0tLS0tCisoMCByb3dzKQorCitz ZWxlY3QgcmFuZ2VfbWludXNfbXVsdGkobnVtcmFuZ2UoMS4xLCAyLjIpLCAnZW1wdHknOjpudW1y YW5nZSk7CisgcmFuZ2VfbWludXNfbXVsdGkgCistLS0tLS0tLS0tLS0tLS0tLS0tCisgWzEuMSwy LjIpCisoMSByb3cpCisKK3NlbGVjdCByYW5nZV9taW51c19tdWx0aShudW1yYW5nZSgxLjEsIDIu MiksIG51bXJhbmdlKDIuMCwgMy4wKSk7CisgcmFuZ2VfbWludXNfbXVsdGkgCistLS0tLS0tLS0t LS0tLS0tLS0tCisgWzEuMSwyLjApCisoMSByb3cpCisKK3NlbGVjdCByYW5nZV9taW51c19tdWx0 aShudW1yYW5nZSgxLjEsIDIuMiksIG51bXJhbmdlKDIuMiwgMy4wKSk7CisgcmFuZ2VfbWludXNf bXVsdGkgCistLS0tLS0tLS0tLS0tLS0tLS0tCisgWzEuMSwyLjIpCisoMSByb3cpCisKK3NlbGVj dCByYW5nZV9taW51c19tdWx0aShudW1yYW5nZSgxLjEsIDIuMiwnW10nKSwgbnVtcmFuZ2UoMi4w LCAzLjApKTsKKyByYW5nZV9taW51c19tdWx0aSAKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKyBbMS4x LDIuMCkKKygxIHJvdykKKworc2VsZWN0IHJhbmdlX21pbnVzX211bHRpKG51bXJhbmdlKDEuMCwg My4wKSwgbnVtcmFuZ2UoMS41LCAyLjApKTsKKyByYW5nZV9taW51c19tdWx0aSAKKy0tLS0tLS0t LS0tLS0tLS0tLS0KKyBbMS4wLDEuNSkKKyBbMi4wLDMuMCkKKygyIHJvd3MpCisKK3NlbGVjdCBy YW5nZV9taW51c19tdWx0aShudW1yYW5nZSgxMC4xLDEyLjIsJ1tdJyksIG51bXJhbmdlKDExMC4w LDEyMC4yLCcoXScpKTsKKyByYW5nZV9taW51c19tdWx0aSAKKy0tLS0tLS0tLS0tLS0tLS0tLS0K KyBbMTAuMSwxMi4yXQorKDEgcm93KQorCitzZWxlY3QgcmFuZ2VfbWludXNfbXVsdGkobnVtcmFu Z2UoMTAuMSwxMi4yLCdbXScpLCBudW1yYW5nZSgwLjAsMTIwLjIsJyhdJykpOworIHJhbmdlX21p bnVzX211bHRpIAorLS0tLS0tLS0tLS0tLS0tLS0tLQorKDAgcm93cykKKworc2VsZWN0IHJhbmdl X21pbnVzX211bHRpKG51bXJhbmdlKDEuMCwzLjAsJ1tdJyksIG51bXJhbmdlKDEuNSwyLjAsJyhd JykpOworIHJhbmdlX21pbnVzX211bHRpIAorLS0tLS0tLS0tLS0tLS0tLS0tLQorIFsxLjAsMS41 XQorICgyLjAsMy4wXQorKDIgcm93cykKKwogc2VsZWN0IG51bXJhbmdlKDQuNSwgNS41LCAnW10n KSAmJiBudW1yYW5nZSg1LjUsIDYuNSk7CiAgP2NvbHVtbj8gCiAtLS0tLS0tLS0tCmRpZmYgLS1n aXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9tdWx0aXJhbmdldHlwZXMuc3FsIGIvc3JjL3Rlc3Qv cmVncmVzcy9zcWwvbXVsdGlyYW5nZXR5cGVzLnNxbAppbmRleCA0MWQ1NTI0Mjg1YS4uMTEyMzM0 YjAzZWIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL211bHRpcmFuZ2V0eXBlcy5z cWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvbXVsdGlyYW5nZXR5cGVzLnNxbApAQCAtNDE0 LDYgKzQxNCwyOCBAQCBTRUxFQ1QgbnVtbXVsdGlyYW5nZShudW1yYW5nZSgxLDMpLCBudW1yYW5n ZSg0LDUpKSAtIG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMiw5KQogU0VMRUNUIG51bW11bHRpcmFu Z2UobnVtcmFuZ2UoMSwyKSwgbnVtcmFuZ2UoNCw1KSkgLSBudW1tdWx0aXJhbmdlKG51bXJhbmdl KDgsOSkpOwogU0VMRUNUIG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMSwyKSwgbnVtcmFuZ2UoNCw1 KSkgLSBudW1tdWx0aXJhbmdlKG51bXJhbmdlKC0yLDApLCBudW1yYW5nZSg4LDkpKTsKIAorLS0g bXVsdGlyYW5nZV9taW51c19tdWx0aQorU0VMRUNUIG11bHRpcmFuZ2VfbWludXNfbXVsdGkobnVt bXVsdGlyYW5nZSgpLCBudW1tdWx0aXJhbmdlKCkpOworU0VMRUNUIG11bHRpcmFuZ2VfbWludXNf bXVsdGkobnVtbXVsdGlyYW5nZSgpLCBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDEsMikpKTsKK1NF TEVDVCBtdWx0aXJhbmdlX21pbnVzX211bHRpKG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMSwyKSks IG51bW11bHRpcmFuZ2UoKSk7CitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0aShudW1tdWx0 aXJhbmdlKG51bXJhbmdlKDEsMiksIG51bXJhbmdlKDMsNCkpLCBudW1tdWx0aXJhbmdlKCkpOwor U0VMRUNUIG11bHRpcmFuZ2VfbWludXNfbXVsdGkobnVtbXVsdGlyYW5nZShudW1yYW5nZSgxLDIp KSwgbnVtbXVsdGlyYW5nZShudW1yYW5nZSgxLDIpKSk7CitTRUxFQ1QgbXVsdGlyYW5nZV9taW51 c19tdWx0aShudW1tdWx0aXJhbmdlKG51bXJhbmdlKDEsMikpLCBudW1tdWx0aXJhbmdlKG51bXJh bmdlKDIsNCkpKTsKK1NFTEVDVCBtdWx0aXJhbmdlX21pbnVzX211bHRpKG51bW11bHRpcmFuZ2Uo bnVtcmFuZ2UoMSwyKSksIG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMyw0KSkpOworU0VMRUNUIG11 bHRpcmFuZ2VfbWludXNfbXVsdGkobnVtbXVsdGlyYW5nZShudW1yYW5nZSgxLDQpKSwgbnVtbXVs dGlyYW5nZShudW1yYW5nZSgxLDIpKSk7CitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0aShu dW1tdWx0aXJhbmdlKG51bXJhbmdlKDEsNCkpLCBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDIsMykp KTsKK1NFTEVDVCBtdWx0aXJhbmdlX21pbnVzX211bHRpKG51bW11bHRpcmFuZ2UobnVtcmFuZ2Uo MSw0KSksIG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMCw4KSkpOworU0VMRUNUIG11bHRpcmFuZ2Vf bWludXNfbXVsdGkobnVtbXVsdGlyYW5nZShudW1yYW5nZSgxLDQpKSwgbnVtbXVsdGlyYW5nZShu dW1yYW5nZSgwLDIpKSk7CitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0aShudW1tdWx0aXJh bmdlKG51bXJhbmdlKDEsOCkpLCBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDAsMiksIG51bXJhbmdl KDMsNCkpKTsKK1NFTEVDVCBtdWx0aXJhbmdlX21pbnVzX211bHRpKG51bW11bHRpcmFuZ2UobnVt cmFuZ2UoMSw4KSksIG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMiwzKSwgbnVtcmFuZ2UoNSxudWxs KSkpOworU0VMRUNUIG11bHRpcmFuZ2VfbWludXNfbXVsdGkobnVtbXVsdGlyYW5nZShudW1yYW5n ZSgxLDIpLCBudW1yYW5nZSg0LDUpKSwgbnVtbXVsdGlyYW5nZShudW1yYW5nZSgtMiwwKSkpOwor U0VMRUNUIG11bHRpcmFuZ2VfbWludXNfbXVsdGkobnVtbXVsdGlyYW5nZShudW1yYW5nZSgxLDIp LCBudW1yYW5nZSg0LDUpKSwgbnVtbXVsdGlyYW5nZShudW1yYW5nZSgyLDQpKSk7CitTRUxFQ1Qg bXVsdGlyYW5nZV9taW51c19tdWx0aShudW1tdWx0aXJhbmdlKG51bXJhbmdlKDEsMiksIG51bXJh bmdlKDQsNSkpLCBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDMsNSkpKTsKK1NFTEVDVCBtdWx0aXJh bmdlX21pbnVzX211bHRpKG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMSwyKSwgbnVtcmFuZ2UoNCw1 KSksIG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMCw5KSkpOworU0VMRUNUIG11bHRpcmFuZ2VfbWlu dXNfbXVsdGkobnVtbXVsdGlyYW5nZShudW1yYW5nZSgxLDMpLCBudW1yYW5nZSg0LDUpKSwgbnVt bXVsdGlyYW5nZShudW1yYW5nZSgyLDkpKSk7CitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0 aShudW1tdWx0aXJhbmdlKG51bXJhbmdlKDEsMiksIG51bXJhbmdlKDQsNSkpLCBudW1tdWx0aXJh bmdlKG51bXJhbmdlKDgsOSkpKTsKK1NFTEVDVCBtdWx0aXJhbmdlX21pbnVzX211bHRpKG51bW11 bHRpcmFuZ2UobnVtcmFuZ2UoMSwyKSwgbnVtcmFuZ2UoNCw1KSksIG51bW11bHRpcmFuZ2UobnVt cmFuZ2UoLTIsMCksIG51bXJhbmdlKDgsOSkpKTsKKwogLS0gaW50ZXJzZWN0aW9uCiBTRUxFQ1Qg bnVtbXVsdGlyYW5nZSgpICogbnVtbXVsdGlyYW5nZSgpOwogU0VMRUNUIG51bW11bHRpcmFuZ2Uo KSAqIG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMSwyKSk7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9y ZWdyZXNzL3NxbC9yYW5nZXR5cGVzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3JhbmdldHlw ZXMuc3FsCmluZGV4IGE1ZWNkZjUzNzJmLi41YzRiMDMzN2I3YSAxMDA2NDQKLS0tIGEvc3JjL3Rl c3QvcmVncmVzcy9zcWwvcmFuZ2V0eXBlcy5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwv cmFuZ2V0eXBlcy5zcWwKQEAgLTEwNyw2ICsxMDcsMTYgQEAgc2VsZWN0IG51bXJhbmdlKDEuMSwg Mi4yLCdbXScpIC0gbnVtcmFuZ2UoMi4wLCAzLjApOwogc2VsZWN0IHJhbmdlX21pbnVzKG51bXJh bmdlKDEwLjEsMTIuMiwnW10nKSwgbnVtcmFuZ2UoMTEwLjAsMTIwLjIsJyhdJykpOwogc2VsZWN0 IHJhbmdlX21pbnVzKG51bXJhbmdlKDEwLjEsMTIuMiwnW10nKSwgbnVtcmFuZ2UoMC4wLDEyMC4y LCcoXScpKTsKIAorc2VsZWN0IHJhbmdlX21pbnVzX211bHRpKCdlbXB0eSc6Om51bXJhbmdlLCBu dW1yYW5nZSgyLjAsIDMuMCkpOworc2VsZWN0IHJhbmdlX21pbnVzX211bHRpKG51bXJhbmdlKDEu MSwgMi4yKSwgJ2VtcHR5Jzo6bnVtcmFuZ2UpOworc2VsZWN0IHJhbmdlX21pbnVzX211bHRpKG51 bXJhbmdlKDEuMSwgMi4yKSwgbnVtcmFuZ2UoMi4wLCAzLjApKTsKK3NlbGVjdCByYW5nZV9taW51 c19tdWx0aShudW1yYW5nZSgxLjEsIDIuMiksIG51bXJhbmdlKDIuMiwgMy4wKSk7CitzZWxlY3Qg cmFuZ2VfbWludXNfbXVsdGkobnVtcmFuZ2UoMS4xLCAyLjIsJ1tdJyksIG51bXJhbmdlKDIuMCwg My4wKSk7CitzZWxlY3QgcmFuZ2VfbWludXNfbXVsdGkobnVtcmFuZ2UoMS4wLCAzLjApLCBudW1y YW5nZSgxLjUsIDIuMCkpOworc2VsZWN0IHJhbmdlX21pbnVzX211bHRpKG51bXJhbmdlKDEwLjEs MTIuMiwnW10nKSwgbnVtcmFuZ2UoMTEwLjAsMTIwLjIsJyhdJykpOworc2VsZWN0IHJhbmdlX21p bnVzX211bHRpKG51bXJhbmdlKDEwLjEsMTIuMiwnW10nKSwgbnVtcmFuZ2UoMC4wLDEyMC4yLCco XScpKTsKK3NlbGVjdCByYW5nZV9taW51c19tdWx0aShudW1yYW5nZSgxLjAsMy4wLCdbXScpLCBu dW1yYW5nZSgxLjUsMi4wLCcoXScpKTsKKwogc2VsZWN0IG51bXJhbmdlKDQuNSwgNS41LCAnW10n KSAmJiBudW1yYW5nZSg1LjUsIDYuNSk7CiBzZWxlY3QgbnVtcmFuZ2UoMS4wLCAyLjApIDw8IG51 bXJhbmdlKDMuMCwgNC4wKTsKIHNlbGVjdCBudW1yYW5nZSgxLjAsIDMuMCwnW10nKSA8PCBudW1y YW5nZSgzLjAsIDQuMCwnW10nKTsKLS0gCjIuNDcuMwoK --000000000000e635b70643f70cee Content-Type: text/x-patch; charset="US-ASCII"; name="v61-0002-Document-temporal-update-delete.patch" Content-Disposition: attachment; filename="v61-0002-Document-temporal-update-delete.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mi6cumle1 RnJvbSAyNmY2NGY0MGJlMjdkMDMzN2M2ODFkNGVlYTlmNWRmNTJhYzUyZTliIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IFR1ZSwgMTcgSnVuIDIwMjUgMjE6Mzg6NDAgLTA3MDAKU3ViamVj dDogW1BBVENIIHY2MSAwMi8xMF0gRG9jdW1lbnQgdGVtcG9yYWwgdXBkYXRlL2RlbGV0ZQoKVGhl IEZPUiBQT1JUSU9OIE9GIHN5bnRheCB3aWxsIGFsc28gYmUgZG9jdW1lbnRlZCBpbiB0aGUgcmVm ZXJlbmNlIHBhZ2VzCmZvciBVUERBVEUgYW5kIERFTEVURSwgYnV0IHRoaXMgY29tbWl0IGFkZHMg YSBuZXcgc2VjdGlvbiB0byB0aGUgRE1MIGNoYXB0ZXIsCmNhbGxlZCAiVXBkYXRpbmcgYW5kIERl bGV0aW5nIFRlbXBvcmFsIERhdGEsIiBnaXZpbmcgYSBjb25jZXB0dWFsIGRlc2NyaXB0aW9uLAph cyB3ZWxsIGFzIGEgZ2xvc3NhcnkgdGVybSBmb3IgInRlbXBvcmFsIGxlZnRvdmVycyIuIFRoZSBT UUwgc3RhbmRhcmQgZG9lc24ndApnaXZlIGFueSB0ZXJtIGZvciB0aGUgc3VwcGxlbWVudGFyeSBJ TlNFUlRzIGFmdGVyIGFuIFVQREFURS9ERUxFVEUgRk9SIFBPUlRJT04KT0YsIGJ1dCBpdCBpcyBy ZWFsbHkgaGFuZHkgdG8gaGF2ZSBhIG5hbWUgZm9yIHRoZW0uCgpBdXRob3I6IFBhdWwgQS4gSnVu Z3dpcnRoIDxwakBpbGx1bWluYXRlZGNvbXB1dGluZy5jb20+Ci0tLQogZG9jL3NyYy9zZ21sL2Rt bC5zZ21sICAgICAgICAgICAgICAgICAgIHwgMTM5ICsrKysrKysrKysrKysrKysrKysrKysrKwog ZG9jL3NyYy9zZ21sL2dsb3NzYXJ5LnNnbWwgICAgICAgICAgICAgIHwgIDE1ICsrKwogZG9jL3Ny Yy9zZ21sL2ltYWdlcy9NYWtlZmlsZSAgICAgICAgICAgIHwgICA0ICstCiBkb2Mvc3JjL3NnbWwv aW1hZ2VzL3RlbXBvcmFsLWRlbGV0ZS5zdmcgfCAgNDEgKysrKysrKwogZG9jL3NyYy9zZ21sL2lt YWdlcy90ZW1wb3JhbC1kZWxldGUudHh0IHwgIDEyICsrCiBkb2Mvc3JjL3NnbWwvaW1hZ2VzL3Rl bXBvcmFsLXVwZGF0ZS5zdmcgfCAgNDUgKysrKysrKysKIGRvYy9zcmMvc2dtbC9pbWFnZXMvdGVt cG9yYWwtdXBkYXRlLnR4dCB8ICAxMiArKwogNyBmaWxlcyBjaGFuZ2VkLCAyNjcgaW5zZXJ0aW9u cygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRvYy9zcmMvc2dtbC9pbWFn ZXMvdGVtcG9yYWwtZGVsZXRlLnN2ZwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRvYy9zcmMvc2dtbC9p bWFnZXMvdGVtcG9yYWwtZGVsZXRlLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IGRvYy9zcmMvc2dt bC9pbWFnZXMvdGVtcG9yYWwtdXBkYXRlLnN2ZwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRvYy9zcmMv c2dtbC9pbWFnZXMvdGVtcG9yYWwtdXBkYXRlLnR4dAoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dt bC9kbWwuc2dtbCBiL2RvYy9zcmMvc2dtbC9kbWwuc2dtbAppbmRleCA2MWM2NGNmNmM0OS4uMWQx NmVhZTE4NzQgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9kbWwuc2dtbAorKysgYi9kb2Mvc3Jj L3NnbWwvZG1sLnNnbWwKQEAgLTI2MSw2ICsyNjEsMTQ1IEBAIERFTEVURSBGUk9NIHByb2R1Y3Rz OwogICA8L3BhcmE+CiAgPC9zZWN0MT4KIAorIDxzZWN0MSBpZD0iZG1sLWFwcGxpY2F0aW9uLXRp bWUtdXBkYXRlLWRlbGV0ZSI+CisgIDx0aXRsZT5VcGRhdGluZyBhbmQgRGVsZXRpbmcgVGVtcG9y YWwgRGF0YTwvdGl0bGU+CisKKyAgPHBhcmE+CisgICBTcGVjaWFsIHN5bnRheCBpcyBhdmFpbGFi bGUgdG8gdXBkYXRlIGFuZCBkZWxldGUgZnJvbSA8bGluaworICAgbGlua2VuZD0iZGRsLWFwcGxp Y2F0aW9uLXRpbWUiPmFwcGxpY2F0aW9uLXRpbWUgdGVtcG9yYWwgdGFibGVzPC9saW5rPi4gKE5v CisgICBleHRyYSBzeW50YXggaXMgcmVxdWlyZWQgdG8gaW5zZXJ0IGludG8gdGhlbTogdGhlIHVz ZXIganVzdAorICAgcHJvdmlkZXMgdGhlIGFwcGxpY2F0aW9uIHRpbWUgbGlrZSBhbnkgb3RoZXIg YXR0cmlidXRlLikgV2hlbiB1cGRhdGluZworICAgb3IgZGVsZXRpbmcsIHRoZSB1c2VyIGNhbiB0 YXJnZXQgYSBzcGVjaWZpYyBwb3J0aW9uIG9mIGhpc3RvcnkuIE9ubHkKKyAgIHJvd3Mgb3Zlcmxh cHBpbmcgdGhhdCBoaXN0b3J5IGFyZSBhZmZlY3RlZCwgYW5kIHdpdGhpbiB0aG9zZSByb3dzIG9u bHkKKyAgIHRoZSB0YXJnZXRlZCBoaXN0b3J5IGlzIGNoYW5nZWQuIElmIGEgcm93IGNvbnRhaW5z IG1vcmUgaGlzdG9yeSBiZXlvbmQKKyAgIHdoYXQgaXMgdGFyZ2V0ZWQsIGl0cyBhcHBsaWNhdGlv biB0aW1lIGlzIHJlZHVjZWQgdG8gZml0IHdpdGhpbiB0aGUKKyAgIHRhcmdldGVkIGludGVydmFs LCBhbmQgbmV3IHJvd3MgYXJlIGluc2VydGVkIHRvIHByZXNlcnZlIHRoZSBoaXN0b3J5CisgICB0 aGF0IHdhcyBub3QgdGFyZ2V0ZWQuCisgIDwvcGFyYT4KKworICA8cGFyYT4KKyAgIFJlY2FsbCB0 aGUgZXhhbXBsZSB0YWJsZSBmcm9tIDx4cmVmIGxpbmtlbmQ9InRlbXBvcmFsLWVudGl0aWVzLWZp Z3VyZSIgLz4sCisgICBjb250YWluaW5nIHRoaXMgZGF0YToKKworPHByb2dyYW1saXN0aW5nPgor IHByb2R1Y3Rfbm8gfCBwcmljZSB8ICAgICAgICB2YWxpZF9hdAorLS0tLS0tLS0tLS0tKy0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgIDUgfCAgNS4wMCB8IFsyMDIw LTAxLTAxLDIwMjItMDEtMDEpCisgICAgICAgICAgNSB8ICA4LjAwIHwgWzIwMjItMDEtMDEsKQor ICAgICAgICAgIDYgfCAgOS4wMCB8IFsyMDIxLTAxLTAxLDIwMjQtMDEtMDEpCis8L3Byb2dyYW1s aXN0aW5nPgorCisgICBBIHRlbXBvcmFsIHVwZGF0ZSBtaWdodCBsb29rIGxpa2UgdGhpczoKKwor PHByb2dyYW1saXN0aW5nPgorVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzIwMjMtMDktMDEnIFRPICcyMDI1LTAzLTAxJworICBBUyBwCisgIFNFVCBwcmlj ZSA9IDEyLjAwCisgIFdIRVJFIHByb2R1Y3Rfbm8gPSA1OworPC9wcm9ncmFtbGlzdGluZz4KKwor ICAgVGhhdCBjb21tYW5kIHdpbGwgdXBkYXRlIHRoZSBzZWNvbmQgcmVjb3JkIGZvciBwcm9kdWN0 IDUuIEl0IHdpbGwgc2V0IHRoZQorICAgcHJpY2UgdG8gMTIuMDAgYW5kIHRoZSBhcHBsaWNhdGlv biB0aW1lIHRvIDxsaXRlcmFsPlsyMDIzLTA5LTAxLDIwMjUtMDMtMDEpPC9saXRlcmFsPi4KKyAg IFRoZW4sIHNpbmNlIHRoZSByb3cncyBhcHBsaWNhdGlvbiB0aW1lIHdhcyBvcmlnaW5hbGx5Cisg ICA8bGl0ZXJhbD5bMjAyMi0wMS0wMSwpPC9saXRlcmFsPiwgdGhlIGNvbW1hbmQgbXVzdCBpbnNl cnQgdHdvCisgICA8Z2xvc3N0ZXJtIGxpbmtlbmQ9Imdsb3NzYXJ5LXRlbXBvcmFsLWxlZnRvdmVy cyI+dGVtcG9yYWwKKyAgIGxlZnRvdmVyczwvZ2xvc3N0ZXJtPjogb25lIGZvciBoaXN0b3J5IGJl Zm9yZSBTZXB0ZW1iZXIgMSwgMjAyMywgYW5kCisgICBhbm90aGVyIGZvciBoaXN0b3J5IHNpbmNl IE1hcmNoIDEsIDIwMjUuIEFmdGVyIHRoZSB1cGRhdGUsIHRoZSB0YWJsZQorICAgaGFzIGZvdXIg cm93cyBmb3IgcHJvZHVjdCA1OgorCis8cHJvZ3JhbWxpc3Rpbmc+CisgcHJvZHVjdF9ubyB8IHBy aWNlIHwgICAgICAgIHZhbGlkX2F0CistLS0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisgICAgICAgICAgNSB8ICA1LjAwIHwgWzIwMjAtMDEtMDEsMjAyMi0wMS0w MSkKKyAgICAgICAgICA1IHwgIDguMDAgfCBbMjAyMi0wMS0wMSwyMDIzLTA5LTAxKQorICAgICAg ICAgIDUgfCAxMi4wMCB8IFsyMDIzLTA5LTAxLDIwMjUtMDMtMDEpCisgICAgICAgICAgNSB8ICA4 LjAwIHwgWzIwMjUtMDMtMDEsKQorPC9wcm9ncmFtbGlzdGluZz4KKworICAgVGhlIG5ldyBoaXN0 b3J5IGNvdWxkIGJlIHBsb3R0ZWQgYXMgaW4gPHhyZWYgbGlua2VuZD0idGVtcG9yYWwtdXBkYXRl LWZpZ3VyZSIvPi4KKyAgPC9wYXJhPgorCisgIDxmaWd1cmUgaWQ9InRlbXBvcmFsLXVwZGF0ZS1m aWd1cmUiPgorICAgPHRpdGxlPlRlbXBvcmFsIFVwZGF0ZSBFeGFtcGxlPC90aXRsZT4KKyAgIDxt ZWRpYW9iamVjdD4KKyAgICA8aW1hZ2VvYmplY3Q+CisgICAgIDxpbWFnZWRhdGEgZmlsZXJlZj0i aW1hZ2VzL3RlbXBvcmFsLXVwZGF0ZS5zdmciIGZvcm1hdD0iU1ZHIiB3aWR0aD0iMTAwJSIvPgor ICAgIDwvaW1hZ2VvYmplY3Q+CisgICA8L21lZGlhb2JqZWN0PgorICA8L2ZpZ3VyZT4KKworICA8 cGFyYT4KKyAgIFNpbWlsYXJseSwgYSBzcGVjaWZpYyBwb3J0aW9uIG9mIGhpc3RvcnkgbWF5IGJl IHRhcmdldGVkIHdoZW4KKyAgIGRlbGV0aW5nIHJvd3MgZnJvbSBhIHRhYmxlLiBJbiB0aGF0IGNh c2UsIHRoZSBvcmlnaW5hbCByb3dzIGFyZQorICAgcmVtb3ZlZCwgYnV0IG5ldworICAgPGdsb3Nz dGVybSBsaW5rZW5kPSJnbG9zc2FyeS10ZW1wb3JhbC1sZWZ0b3ZlcnMiPnRlbXBvcmFsIGxlZnRv dmVyczwvZ2xvc3N0ZXJtPgorICAgYXJlIGluc2VydGVkIHRvIHByZXNlcnZlIHRoZSB1bnRvdWNo ZWQgaGlzdG9yeS4gVGhlIHN5bnRheCBmb3IgYQorICAgdGVtcG9yYWwgZGVsZXRlIGlzOgorCis8 cHJvZ3JhbWxpc3Rpbmc+CitERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDIxLTA4LTAxJyBUTyAnMjAyMy0wOS0wMScKKyAgQVMgcAorV0hFUkUg cHJvZHVjdF9ubyA9IDU7Cis8L3Byb2dyYW1saXN0aW5nPgorCisgICBDb250aW51aW5nIHRoZSBl eGFtcGxlLCB0aGlzIGNvbW1hbmQgd291bGQgZGVsZXRlIHR3byByZWNvcmRzLiBUaGUKKyAgIGZp cnN0IHJlY29yZCB3b3VsZCB5aWVsZCBhIHNpbmdsZSB0ZW1wb3JhbCBsZWZ0b3ZlciwgYW5kIHRo ZSBzZWNvbmQKKyAgIHdvdWxkIGJlIGRlbGV0ZWQgZW50aXJlbHkuIFRoZSByb3dzIGZvciBwcm9k dWN0IDUgd291bGQgbm93IGJlOgorCis8cHJvZ3JhbWxpc3Rpbmc+CisgcHJvZHVjdF9ubyB8IHBy aWNlIHwgICAgICAgIHZhbGlkX2F0CistLS0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisgICAgICAgICAgNSB8ICA1LjAwIHwgWzIwMjAtMDEtMDEsMjAyMS0wOC0w MSkKKyAgICAgICAgICA1IHwgMTIuMDAgfCBbMjAyMy0wOS0wMSwyMDI1LTAzLTAxKQorICAgICAg ICAgIDUgfCAgOC4wMCB8IFsyMDI1LTAzLTAxLCkKKzwvcHJvZ3JhbWxpc3Rpbmc+CisKKyAgIFRo ZSBuZXcgaGlzdG9yeSBjb3VsZCBiZSBwbG90dGVkIGFzIGluIDx4cmVmIGxpbmtlbmQ9InRlbXBv cmFsLWRlbGV0ZS1maWd1cmUiLz4uCisgIDwvcGFyYT4KKworICA8ZmlndXJlIGlkPSJ0ZW1wb3Jh bC1kZWxldGUtZmlndXJlIj4KKyAgIDx0aXRsZT5UZW1wb3JhbCBEZWxldGUgRXhhbXBsZTwvdGl0 bGU+CisgICA8bWVkaWFvYmplY3Q+CisgICAgPGltYWdlb2JqZWN0PgorICAgICA8aW1hZ2VkYXRh IGZpbGVyZWY9ImltYWdlcy90ZW1wb3JhbC1kZWxldGUuc3ZnIiBmb3JtYXQ9IlNWRyIgd2lkdGg9 IjEwMCUiLz4KKyAgICA8L2ltYWdlb2JqZWN0PgorICAgPC9tZWRpYW9iamVjdD4KKyAgPC9maWd1 cmU+CisKKyAgPHBhcmE+CisgICBJbnN0ZWFkIG9mIHVzaW5nIHRoZSA8bGl0ZXJhbD5GUk9NIC4u LiBUTyAuLi48L2xpdGVyYWw+IHN5bnRheCwKKyAgIHRlbXBvcmFsIHVwZGF0ZS9kZWxldGUgY29t bWFuZHMgY2FuIGFsc28gZ2l2ZSB0aGUgdGFyZ2V0ZWQKKyAgIHJhbmdlL211bHRpcmFuZ2UgZGly ZWN0bHksIGluc2lkZSBwYXJlbnRoZXNlcy4gRm9yIGV4YW1wbGU6CisgICA8bGl0ZXJhbD5ERUxF VEUgRlJPTSBwcm9kdWN0cyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoJ1syMDI4LTAxLTAxLCkn KSAuLi48L2xpdGVyYWw+LgorICAgVGhpcyBzeW50YXggaXMgcmVxdWlyZWQgd2hlbiBhcHBsaWNh dGlvbiB0aW1lIGlzIHN0b3JlZAorICAgaW4gYSBtdWx0aXJhbmdlIGNvbHVtbi4KKyAgPC9wYXJh PgorCisgIDxwYXJhPgorICAgV2hlbiBhcHBsaWNhdGlvbiB0aW1lIGlzIHN0b3JlZCBpbiBhIHJh bmdldHlwZSBjb2x1bW4sIHplcm8sIG9uZSBvcgorICAgdHdvIHRlbXBvcmFsIGxlZnRvdmVycyBh cmUgcHJvZHVjZWQgYnkgZWFjaCByb3cgdGhhdCBpcworICAgdXBkYXRlZC9kZWxldGVkLiBXaXRo IGEgbXVsdGlyYW5nZSBjb2x1bW4sIG9ubHkgemVybyBvciBvbmUgdGVtcG9yYWwKKyAgIGxlZnRv dmVyIGlzIHByb2R1Y2VkLiBUaGUgbGVmdG92ZXIgYm91bmRzIGFyZSBjb21wdXRlZCB1c2luZwor ICAgPGxpdGVyYWw+cmFuZ2VfbWludXNfbXVsdGk8L2xpdGVyYWw+IGFuZAorICAgPGxpdGVyYWw+ bXVsdGlyYW5nZV9taW51c19tdWx0aTwvbGl0ZXJhbD4KKyAgIChzZWUgPHhyZWYgbGlua2VuZD0i ZnVuY3Rpb25zLXJhbmdlIi8+KS4KKyAgPC9wYXJhPgorCisgIDxwYXJhPgorICAgVGhlIGJvdW5k cyBnaXZlbiB0byA8bGl0ZXJhbD5GT1IgUE9SVElPTiBPRjwvbGl0ZXJhbD4gbXVzdCBiZQorICAg Y29uc3RhbnQuIEZ1bmN0aW9ucyBsaWtlIDxsaXRlcmFsPk5PVygpPC9saXRlcmFsPiBhcmUgYWxs b3dlZCwgYnV0CisgICBjb2x1bW4gcmVmZXJlbmNlcyBhcmUgbm90LgorICA8L3BhcmE+CisKKyAg PHBhcmE+CisgICBXaGVuIHRlbXBvcmFsIGxlZnRvdmVycyBhcmUgaW5zZXJ0ZWQsIGFsbCA8bGl0 ZXJhbD5JTlNFUlQ8L2xpdGVyYWw+CisgICB0cmlnZ2VycyBhcmUgZmlyZWQsIGJ1dCBwZXJtaXNz aW9uIGNoZWNrcyBmb3IgaW5zZXJ0aW5nIHJvd3MgYXJlCisgICBza2lwcGVkLgorICA8L3BhcmE+ CisgPC9zZWN0MT4KKwogIDxzZWN0MSBpZD0iZG1sLXJldHVybmluZyI+CiAgIDx0aXRsZT5SZXR1 cm5pbmcgRGF0YSBmcm9tIE1vZGlmaWVkIFJvd3M8L3RpdGxlPgogCmRpZmYgLS1naXQgYS9kb2Mv c3JjL3NnbWwvZ2xvc3Nhcnkuc2dtbCBiL2RvYy9zcmMvc2dtbC9nbG9zc2FyeS5zZ21sCmluZGV4 IGE3NmNmNWMzODNmLi4xMDQyOWVkYmI1MiAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2dsb3Nz YXJ5LnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2dsb3NzYXJ5LnNnbWwKQEAgLTE5MTYsNiArMTkx NiwyMSBAQAogICAgPC9nbG9zc2RlZj4KICAgPC9nbG9zc2VudHJ5PgogCisgIDxnbG9zc2VudHJ5 IGlkPSJnbG9zc2FyeS10ZW1wb3JhbC1sZWZ0b3ZlcnMiPgorICAgPGdsb3NzdGVybT5UZW1wb3Jh bCBsZWZ0b3ZlcnM8L2dsb3NzdGVybT4KKyAgIDxnbG9zc2RlZj4KKyAgICA8cGFyYT4KKyAgICAg QWZ0ZXIgYSB0ZW1wb3JhbCB1cGRhdGUgb3IgZGVsZXRlLCB0aGUgcG9ydGlvbiBvZiBoaXN0b3J5 IHRoYXQgd2FzIG5vdAorICAgICB1cGRhdGVkL2RlbGV0ZWQuIFdoZW4gdXNpbmcgcmFuZ2VzIHRv IHRyYWNrIGFwcGxpY2F0aW9uIHRpbWUsIHRoZXJlIG1heSBiZQorICAgICB6ZXJvLCBvbmUsIG9y IHR3byBzdHJldGNoZXMgb2YgaGlzdG9yeSB0aGF0IHdlcmUgbm90IHVwZGF0ZWQvZGVsZXRlZAor ICAgICAoYmVmb3JlIGFuZC9vciBhZnRlciB0aGUgcG9ydGlvbiB0aGF0IHdhcyB1cGRhdGVkL2Rl bGV0ZWQpLiBOZXcgcm93cyBhcmUKKyAgICAgYXV0b21hdGljYWxseSBpbnNlcnRlZCBpbnRvIHRo ZSB0YWJsZSB0byBwcmVzZXJ2ZSB0aGF0IGhpc3RvcnkuIEEgc2luZ2xlCisgICAgIG11bHRpcmFu Z2UgY2FuIGFjY29tbW9kYXRlIHRoZSB1bnRvdWNoZWQgaGlzdG9yeSBiZWZvcmUgYW5kIGFmdGVy IHRoZQorICAgICB1cGRhdGUvZGVsZXRlLCBzbyB0aGVyZSB3aWxsIGJlIG9ubHkgemVybyBvciBv bmUgbGVmdG92ZXIuCisgICAgPC9wYXJhPgorICAgPC9nbG9zc2RlZj4KKyAgPC9nbG9zc2VudHJ5 PgorCiAgIDxnbG9zc2VudHJ5IGlkPSJnbG9zc2FyeS10ZW1wb3JhbC10YWJsZSI+CiAgICA8Z2xv c3N0ZXJtPlRlbXBvcmFsIHRhYmxlPC9nbG9zc3Rlcm0+CiAgICA8Z2xvc3NkZWY+CmRpZmYgLS1n aXQgYS9kb2Mvc3JjL3NnbWwvaW1hZ2VzL01ha2VmaWxlIGIvZG9jL3NyYy9zZ21sL2ltYWdlcy9N YWtlZmlsZQppbmRleCBmZDU1YjlhZDIzZi4uMzhmODg2OWQ3OGQgMTAwNjQ0Ci0tLSBhL2RvYy9z cmMvc2dtbC9pbWFnZXMvTWFrZWZpbGUKKysrIGIvZG9jL3NyYy9zZ21sL2ltYWdlcy9NYWtlZmls ZQpAQCAtNyw3ICs3LDkgQEAgQUxMX0lNQUdFUyA9IFwKIAlnaW4uc3ZnIFwKIAlwYWdlbGF5b3V0 LnN2ZyBcCiAJdGVtcG9yYWwtZW50aXRpZXMuc3ZnIFwKLQl0ZW1wb3JhbC1yZWZlcmVuY2VzLnN2 ZworCXRlbXBvcmFsLXJlZmVyZW5jZXMuc3ZnIFwKKwl0ZW1wb3JhbC11cGRhdGUuc3ZnIFwKKwl0 ZW1wb3JhbC1kZWxldGUuc3ZnCiAKIERJVEFBID0gZGl0YWEKIERPVCA9IGRvdApkaWZmIC0tZ2l0 IGEvZG9jL3NyYy9zZ21sL2ltYWdlcy90ZW1wb3JhbC1kZWxldGUuc3ZnIGIvZG9jL3NyYy9zZ21s L2ltYWdlcy90ZW1wb3JhbC1kZWxldGUuc3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwLi4yZDhiMWQ2ZWM3YgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9zcmMvc2dtbC9p bWFnZXMvdGVtcG9yYWwtZGVsZXRlLnN2ZwpAQCAtMCwwICsxLDQxIEBACis8P3htbCB2ZXJzaW9u PSIxLjAiPz4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94 PSIwIDAgMTMzMCAyMjQiIHdpZHRoPSIxMzMwIiBoZWlnaHQ9IjIyNCIgc2hhcGUtcmVuZGVyaW5n PSJnZW9tZXRyaWNQcmVjaXNpb24iIHZlcnNpb249IjEuMCI+CisgIDxkZWZzPgorICAgIDxmaWx0 ZXIgaWQ9ImYyIiB4PSIwIiB5PSIwIiB3aWR0aD0iMjAwJSIgaGVpZ2h0PSIyMDAlIj4KKyAgICAg IDxmZU9mZnNldCByZXN1bHQ9Im9mZk91dCIgaW49IlNvdXJjZUdyYXBoaWMiIGR4PSI1IiBkeT0i NSIvPgorICAgICAgPGZlR2F1c3NpYW5CbHVyIHJlc3VsdD0iYmx1ck91dCIgaW49Im9mZk91dCIg c3RkRGV2aWF0aW9uPSIzIi8+CisgICAgICA8ZmVCbGVuZCBpbj0iU291cmNlR3JhcGhpYyIgaW4y PSJibHVyT3V0IiBtb2RlPSJub3JtYWwiLz4KKyAgICA8L2ZpbHRlcj4KKyAgPC9kZWZzPgorICA8 ZyBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIHN0cm9rZS1saW5lam9p bj0icm91bmQiPgorICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMzMwIiBoZWlnaHQ9IjIy NCIgc3R5bGU9ImZpbGw6ICNmZmZmZmYiLz4KKyAgICA8cGF0aCBzdHJva2U9IiMwMDAwMDAiIHN0 cm9rZS13aWR0aD0iMS4wMDAwMDAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVq b2luPSJyb3VuZCIgZmlsbD0iIzk5ZGQ5OSIgZD0iTTY4NS4wIDYzLjAgTDY4NS4wIDE0Ny4wIEwx MDA1LjAgMTQ3LjAgTDEwMDUuMCA2My4wIHoiLz4KKyAgICA8cGF0aCBzdHJva2U9IiMwMDAwMDAi IHN0cm9rZS13aWR0aD0iMS4wMDAwMDAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxp bmVqb2luPSJyb3VuZCIgZmlsbD0iIzk5ZGQ5OSIgZD0iTTMxNS4wIDYzLjAgTDMxNS4wIDE0Ny4w IEwyNS4wIDE0Ny4wIEwyNS4wIDYzLjAgeiIvPgorICAgIDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIg c3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGlu ZWpvaW49InJvdW5kIiBmaWxsPSIjOTlkZDk5IiBkPSJNMTAwNS4wIDYzLjAgTDEwMDUuMCAxNDcu MCBMMTI3NS4wIDE0Ny4wIEwxMjc1LjAgNjMuMCB6Ii8+CisgICAgPHBhdGggc3Ryb2tlPSIjMDAw MDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9r ZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIGQ9Ik0yMDUuMCAxNjguMCBMMjA1LjAgMTgx LjAgIi8+CisgICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAw IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5v bmUiIGQ9Ik0yNS4wIDE2OC4wIEwyNS4wIDE4MS4wICIvPgorICAgIDxwYXRoIHN0cm9rZT0iIzAw MDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJv a2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJNMzg1LjAgMTY4LjAgTDM4NS4wIDE4 MS4wICIvPgorICAgIDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAw MCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSJu b25lIiBkPSJNNTY1LjAgMTY4LjAgTDU2NS4wIDE4MS4wICIvPgorICAgIDxwYXRoIHN0cm9rZT0i IzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBz dHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJNNzQ1LjAgMTY4LjAgTDc0NS4w IDE4MS4wICIvPgorICAgIDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAw MDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxs PSJub25lIiBkPSJNOTI1LjAgMTY4LjAgTDkyNS4wIDE4MS4wICIvPgorICAgIDxwYXRoIHN0cm9r ZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5k IiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJNMTEwNS4wIDE2OC4wIEwx MTA1LjAgMTgxLjAgIi8+CisgICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9 IjEuMDAwMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQi IGZpbGw9Im5vbmUiIGQ9Ik0xMjg1LjAgMTY4LjAgTDEyODUuMCAxODEuMCAiLz4KKyAgICA8dGV4 dCB4PSI0NiIgeT0iOTYiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJv a2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPnByb2R1Y3RzPC90ZXh0PgorICAgIDx0ZXh0IHg9IjQw IiB5PSIxMTAiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5v bmUiIGZpbGw9IiMwMDAwMDAiPig1LCA1LjAwLDwvdGV4dD4KKyAgICA8dGV4dCB4PSI4MyIgeT0i MTI0IiBmb250LWZhbWlseT0iQ291cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBm aWxsPSIjMDAwMDAwIj5bMSBKYW4gMjAyMCwxIEF1ZyAyMDIxKSk8L3RleHQ+CisgICAgPHRleHQg eD0iMjAiIHk9IjE5NCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9r ZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+MjAyMDwvdGV4dD4KKyAgICA8dGV4dCB4PSIyMDAiIHk9 IjE5NCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIg ZmlsbD0iIzAwMDAwMCI+MjAyMTwvdGV4dD4KKyAgICA8dGV4dCB4PSIzODAiIHk9IjE5NCIgZm9u dC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAw MDAwMCI+MjAyMjwvdGV4dD4KKyAgICA8dGV4dCB4PSI1NjAiIHk9IjE5NCIgZm9udC1mYW1pbHk9 IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+MjAy MzwvdGV4dD4KKyAgICA8dGV4dCB4PSI3MDYiIHk9Ijk2IiBmb250LWZhbWlseT0iQ291cmllciIg Zm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj5wcm9kdWN0czwvdGV4 dD4KKyAgICA8dGV4dCB4PSI3MDAiIHk9IjExMCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQt c2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+KDUsIDEyLjAwLDwvdGV4dD4K KyAgICA8dGV4dCB4PSI3NDMiIHk9IjEyNCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6 ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+WzEgU2VwIDIwMjMsMSBNYXIgMjAy NSkpPC90ZXh0PgorICAgIDx0ZXh0IHg9Ijc0MCIgeT0iMTk0IiBmb250LWZhbWlseT0iQ291cmll ciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj4yMDI0PC90ZXh0 PgorICAgIDx0ZXh0IHg9IjkyMCIgeT0iMTk0IiBmb250LWZhbWlseT0iQ291cmllciIgZm9udC1z aXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj4yMDI1PC90ZXh0PgorICAgIDx0 ZXh0IHg9IjEwMjYiIHk9Ijk2IiBmb250LWZhbWlseT0iQ291cmllciIgZm9udC1zaXplPSIxNSIg c3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj5wcm9kdWN0czwvdGV4dD4KKyAgICA8dGV4dCB4 PSIxMDIwIiB5PSIxMTAiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJv a2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPig1LCA4LjAwLDwvdGV4dD4KKyAgICA8dGV4dCB4PSIx MDU2IiB5PSIxMjQiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9 Im5vbmUiIGZpbGw9IiMwMDAwMDAiPlsxIE1hciAyMDI1LCkpPC90ZXh0PgorICAgIDx0ZXh0IHg9 IjExMDAiIHk9IjE5NCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9r ZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+MjAyNjwvdGV4dD4KKyAgICA8dGV4dCB4PSIxMjg5IiB5 PSIxOTQiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUi IGZpbGw9IiMwMDAwMDAiPi4uLjwvdGV4dD4KKyAgPC9nPgorPC9zdmc+CmRpZmYgLS1naXQgYS9k b2Mvc3JjL3NnbWwvaW1hZ2VzL3RlbXBvcmFsLWRlbGV0ZS50eHQgYi9kb2Mvc3JjL3NnbWwvaW1h Z2VzL3RlbXBvcmFsLWRlbGV0ZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAuLjYxMWRmNTIxNTY5Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3NyYy9zZ21sL2ltYWdl cy90ZW1wb3JhbC1kZWxldGUudHh0CkBAIC0wLDAgKzEsMTIgQEAKKworCisrLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsK K3wgY0dSRSAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgY0dSRSAgICAgICAgICAgICAgICAgICAgICAgICAgfCBjR1JFICAgICAgICAg ICAgICAgICAgICAgfAorfCBwcm9kdWN0cyAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBwcm9kdWN0cyAgICAgICAgICAgICAgICAgICAgICB8 IHByb2R1Y3RzICAgICAgICAgICAgICAgICB8Cit8ICg1LCA1LjAwLCAgICAgICAgICAgICAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICg1LCAxMi4wMCwgICAgICAg ICAgICAgICAgICAgIHwgKDUsIDguMDAsICAgICAgICAgICAgICAgIHwKK3wgICBbMSBKYW4gMjAy MCwxIEF1ZyAyMDIxKSkgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICBb MSBTZXAgMjAyMywxIE1hciAyMDI1KSkgICAgfCAgIFsxIE1hciAyMDI1LCkpICAgICAgICAgfAor fCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKworfCAgICAgICAgICAgICAgICAgfCAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgfCAgICAgICAgICAg ICAgICAgfCAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgfAorMjAyMCAgICAgICAg ICAgICAgMjAyMSAgICAgICAgICAgICAgMjAyMiAgICAgICAgICAgICAgMjAyMyAgICAgICAgICAg ICAgMjAyNCAgICAgICAgICAgICAgMjAyNSAgICAgICAgICAgICAgMjAyNiAgICAgICAgICAgICAg Li4uCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvaW1hZ2VzL3RlbXBvcmFsLXVwZGF0ZS5zdmcg Yi9kb2Mvc3JjL3NnbWwvaW1hZ2VzL3RlbXBvcmFsLXVwZGF0ZS5zdmcKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjZjN2M0M2M4ZDIyCi0tLSAvZGV2L251bGwKKysrIGIv ZG9jL3NyYy9zZ21sL2ltYWdlcy90ZW1wb3JhbC11cGRhdGUuc3ZnCkBAIC0wLDAgKzEsNDUgQEAK Kzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAw MC9zdmciIHZpZXdCb3g9IjAgMCAxMzMwIDIyNCIgd2lkdGg9IjEzMzAiIGhlaWdodD0iMjI0IiBz aGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdmVyc2lvbj0iMS4wIj4KKyAgPGRl ZnM+CisgICAgPGZpbHRlciBpZD0iZjIiIHg9IjAiIHk9IjAiIHdpZHRoPSIyMDAlIiBoZWlnaHQ9 IjIwMCUiPgorICAgICAgPGZlT2Zmc2V0IHJlc3VsdD0ib2ZmT3V0IiBpbj0iU291cmNlR3JhcGhp YyIgZHg9IjUiIGR5PSI1Ii8+CisgICAgICA8ZmVHYXVzc2lhbkJsdXIgcmVzdWx0PSJibHVyT3V0 IiBpbj0ib2ZmT3V0IiBzdGREZXZpYXRpb249IjMiLz4KKyAgICAgIDxmZUJsZW5kIGluPSJTb3Vy Y2VHcmFwaGljIiBpbjI9ImJsdXJPdXQiIG1vZGU9Im5vcm1hbCIvPgorICAgIDwvZmlsdGVyPgor ICA8L2RlZnM+CisgIDxnIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIg c3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CisgICAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEz MzAiIGhlaWdodD0iMjI0IiBzdHlsZT0iZmlsbDogI2ZmZmZmZiIvPgorICAgIDxwYXRoIHN0cm9r ZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5k IiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSIjOTlkZDk5IiBkPSJNMzg1LjAgNjMuMCBM Mzg1LjAgMTQ3LjAgTDI1LjAgMTQ3LjAgTDI1LjAgNjMuMCB6Ii8+CisgICAgPHBhdGggc3Ryb2tl PSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQi IHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9IiM5OWRkOTkiIGQ9Ik0xMjg1LjAgNjMuMCBM MTI4NS4wIDE0Ny4wIEw5NzUuMCAxNDcuMCBMOTc1LjAgNjMuMCB6Ii8+CisgICAgPHBhdGggc3Ry b2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGluZWNhcD0icm91 bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9IiM5OWRkOTkiIGQ9Ik0zODUuMCAxNDcu MCBMNjg1LjAgMTQ3LjAgTDY4NS4wIDYzLjAgTDM4NS4wIDYzLjAgeiIvPgorICAgIDxwYXRoIHN0 cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJv dW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSIjOTlkZDk5IiBkPSJNNjg1LjAgNjMu MCBMNjg1LjAgMTQ3LjAgTDk3NS4wIDE0Ny4wIEw5NzUuMCA2My4wIHoiLz4KKyAgICA8cGF0aCBz dHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMS4wMDAwMDAiIHN0cm9rZS1saW5lY2FwPSJy b3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZmlsbD0ibm9uZSIgZD0iTTIwNS4wIDE2OC4w IEwyMDUuMCAxODEuMCAiLz4KKyAgICA8cGF0aCBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0 aD0iMS4wMDAwMDAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3Vu ZCIgZmlsbD0ibm9uZSIgZD0iTTI1LjAgMTY4LjAgTDI1LjAgMTgxLjAgIi8+CisgICAgPHBhdGgg c3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGluZWNhcD0i cm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIGQ9Ik0zODUuMCAxNjgu MCBMMzg1LjAgMTgxLjAgIi8+CisgICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lk dGg9IjEuMDAwMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91 bmQiIGZpbGw9Im5vbmUiIGQ9Ik01NjUuMCAxNjguMCBMNTY1LjAgMTgxLjAgIi8+CisgICAgPHBh dGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGluZWNh cD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIGQ9Ik03NDUuMCAx NjguMCBMNzQ1LjAgMTgxLjAgIi8+CisgICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Ut d2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0i cm91bmQiIGZpbGw9Im5vbmUiIGQ9Ik05MjUuMCAxNjguMCBMOTI1LjAgMTgxLjAgIi8+CisgICAg PHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGlu ZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIGQ9Ik0xMTA1 LjAgMTY4LjAgTDExMDUuMCAxODEuMCAiLz4KKyAgICA8cGF0aCBzdHJva2U9IiMwMDAwMDAiIHN0 cm9rZS13aWR0aD0iMS4wMDAwMDAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVq b2luPSJyb3VuZCIgZmlsbD0ibm9uZSIgZD0iTTEyODUuMCAxNjguMCBMMTI4NS4wIDE4MS4wICIv PgorICAgIDx0ZXh0IHg9IjQ2IiB5PSI5NiIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6 ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+cHJvZHVjdHM8L3RleHQ+CisgICAg PHRleHQgeD0iNDAiIHk9IjExMCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUi IHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+KDUsIDUuMDAsPC90ZXh0PgorICAgIDx0ZXh0 IHg9Ijg2IiB5PSIxMjQiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJv a2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPlsxIEphbiAyMDIwLDEgSmFuIDIwMjIpKTwvdGV4dD4K KyAgICA8dGV4dCB4PSIyMCIgeT0iMTk0IiBmb250LWZhbWlseT0iQ291cmllciIgZm9udC1zaXpl PSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj4yMDIwPC90ZXh0PgorICAgIDx0ZXh0 IHg9IjIwMCIgeT0iMTk0IiBmb250LWZhbWlseT0iQ291cmllciIgZm9udC1zaXplPSIxNSIgc3Ry b2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj4yMDIxPC90ZXh0PgorICAgIDx0ZXh0IHg9IjQwNiIg eT0iOTYiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUi IGZpbGw9IiMwMDAwMDAiPnByb2R1Y3RzPC90ZXh0PgorICAgIDx0ZXh0IHg9IjQwMCIgeT0iMTEw IiBmb250LWZhbWlseT0iQ291cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxs PSIjMDAwMDAwIj4oNSwgOC4wMCw8L3RleHQ+CisgICAgPHRleHQgeD0iNDQ1IiB5PSIxMjQiIGZv bnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMw MDAwMDAiPlsxIEphbiAyMDIyLDEgU2VwIDIwMjMpKTwvdGV4dD4KKyAgICA8dGV4dCB4PSIzODAi IHk9IjE5NCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9u ZSIgZmlsbD0iIzAwMDAwMCI+MjAyMjwvdGV4dD4KKyAgICA8dGV4dCB4PSI1NjAiIHk9IjE5NCIg Zm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0i IzAwMDAwMCI+MjAyMzwvdGV4dD4KKyAgICA8dGV4dCB4PSI3MDYiIHk9Ijk2IiBmb250LWZhbWls eT0iQ291cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj5w cm9kdWN0czwvdGV4dD4KKyAgICA8dGV4dCB4PSI3MDAiIHk9IjExMCIgZm9udC1mYW1pbHk9IkNv dXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+KDUsIDEy LjAwLDwvdGV4dD4KKyAgICA8dGV4dCB4PSI3NDMiIHk9IjEyNCIgZm9udC1mYW1pbHk9IkNvdXJp ZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+WzEgU2VwIDIw MjMsMSBNYXIgMjAyNSkpPC90ZXh0PgorICAgIDx0ZXh0IHg9Ijc0MCIgeT0iMTk0IiBmb250LWZh bWlseT0iQ291cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAw Ij4yMDI0PC90ZXh0PgorICAgIDx0ZXh0IHg9IjkyMCIgeT0iMTk0IiBmb250LWZhbWlseT0iQ291 cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj4yMDI1PC90 ZXh0PgorICAgIDx0ZXh0IHg9Ijk5NiIgeT0iOTYiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250 LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPnByb2R1Y3RzPC90ZXh0Pgor ICAgIDx0ZXh0IHg9Ijk5MCIgeT0iMTEwIiBmb250LWZhbWlseT0iQ291cmllciIgZm9udC1zaXpl PSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj4oNSwgOC4wMCw8L3RleHQ+CisgICAg PHRleHQgeD0iMTAyNiIgeT0iMTI0IiBmb250LWZhbWlseT0iQ291cmllciIgZm9udC1zaXplPSIx NSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj5bMSBNYXIgMjAyNSwpKTwvdGV4dD4KKyAg ICA8dGV4dCB4PSIxMTAwIiB5PSIxOTQiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9 IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPjIwMjY8L3RleHQ+CisgICAgPHRleHQg eD0iMTI4OSIgeT0iMTk0IiBmb250LWZhbWlseT0iQ291cmllciIgZm9udC1zaXplPSIxNSIgc3Ry b2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj4uLi48L3RleHQ+CisgIDwvZz4KKzwvc3ZnPgpkaWZm IC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2ltYWdlcy90ZW1wb3JhbC11cGRhdGUudHh0IGIvZG9jL3Ny Yy9zZ21sL2ltYWdlcy90ZW1wb3JhbC11cGRhdGUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwLi43ZTg2MmQ4OTQzNwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9zcmMv c2dtbC9pbWFnZXMvdGVtcG9yYWwtdXBkYXRlLnR4dApAQCAtMCwwICsxLDEyIEBACisKKworKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKworfCBjR1JFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBjR1JFICAg ICAgICAgICAgICAgICAgICAgICAgfCBjR1JFICAgICAgICAgICAgICAgICAgICAgICB8IGNHUkUg ICAgICAgICAgICAgICAgICAgICAgICAgfAorfCBwcm9kdWN0cyAgICAgICAgICAgICAgICAgICAg ICAgICAgfCBwcm9kdWN0cyAgICAgICAgICAgICAgICAgICAgfCBwcm9kdWN0cyAgICAgICAgICAg ICAgICAgICB8IHByb2R1Y3RzICAgICAgICAgICAgICAgICAgICAgfAorfCAoNSwgNS4wMCwgICAg ICAgICAgICAgICAgICAgICAgICAgfCAoNSwgOC4wMCwgICAgICAgICAgICAgICAgICAgfCAoNSwg MTIuMDAsICAgICAgICAgICAgICAgICB8ICg1LCA4LjAwLCAgICAgICAgICAgICAgICAgICAgfAor fCAgIFsxIEphbiAyMDIwLDEgSmFuIDIwMjIpKSAgICAgICAgfCAgIFsxIEphbiAyMDIyLDEgU2Vw IDIwMjMpKSAgfCAgIFsxIFNlcCAyMDIzLDEgTWFyIDIwMjUpKSB8ICAgWzEgTWFyIDIwMjUsKSkg ICAgICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworCit8ICAgICAgICAg ICAgICAgICB8ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICB8ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAg ICB8CisyMDIwICAgICAgICAgICAgICAyMDIxICAgICAgICAgICAgICAyMDIyICAgICAgICAgICAg ICAyMDIzICAgICAgICAgICAgICAyMDI0ICAgICAgICAgICAgICAyMDI1ICAgICAgICAgICAgICAy MDI2ICAgICAgICAgICAgICAuLi4KLS0gCjIuNDcuMwoK --000000000000e635b70643f70cee Content-Type: text/x-patch; charset="US-ASCII"; name="v61-0004-Add-UPDATE-DELETE-FOR-PORTION-OF.patch" Content-Disposition: attachment; filename="v61-0004-Add-UPDATE-DELETE-FOR-PORTION-OF.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mi6cumlm3 RnJvbSA5ZDViZTkwOWM5Y2IyZWUxY2ZkM2Q5MDE5YjM3YTU0NzY5MDljNDQxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IEZyaSwgMjUgSnVuIDIwMjEgMTg6NTQ6MzUgLTA3MDAKU3ViamVj dDogW1BBVENIIHY2MSAwNC8xMF0gQWRkIFVQREFURS9ERUxFVEUgRk9SIFBPUlRJT04gT0YKCi0g QWRkZWQgYmlzb24gc3VwcG9ydCBmb3IgRk9SIFBPUlRJT04gT0Ygc3ludGF4LiBUaGUgYm91bmRz IG11c3QgYmUKICBjb25zdGFudCwgc28gd2UgZm9yYmlkIGNvbHVtbiByZWZlcmVuY2VzLCBzdWJx dWVyaWVzLCBldGMuIFdlIGRvCiAgYWNjZXB0IGZ1bmN0aW9ucyBsaWtlIE5PVygpLgotIEFkZGVk IGxvZ2ljIHRvIGV4ZWN1dG9yIHRvIGluc2VydCBuZXcgcm93cyBmb3IgdGhlICJ0ZW1wb3JhbCBs ZWZ0b3ZlciIKICBwYXJ0IG9mIGEgcmVjb3JkIHRvdWNoZWQgYnkgYSBGT1IgUE9SVElPTiBPRiBx dWVyeS4KLSBEb2N1bWVudGVkIEZPUiBQT1JUSU9OIE9GLgotIEFkZGVkIHRlc3RzLgoKQXV0aG9y OiBQYXVsIEEuIEp1bmd3aXJ0aCA8cGpAaWxsdW1pbmF0ZWRjb21wdXRpbmcuY29tPgotLS0KIC4u Li9wb3N0Z3Jlc19mZHcvZXhwZWN0ZWQvcG9zdGdyZXNfZmR3Lm91dCAgICB8ICAgNDUgKy0KIGNv bnRyaWIvcG9zdGdyZXNfZmR3L3NxbC9wb3N0Z3Jlc19mZHcuc3FsICAgICB8ICAgMzQgKwogZG9j L3NyYy9zZ21sL3JlZi9jcmVhdGVfcHVibGljYXRpb24uc2dtbCAgICAgIHwgICAgNiArCiBkb2Mv c3JjL3NnbWwvcmVmL2RlbGV0ZS5zZ21sICAgICAgICAgICAgICAgICAgfCAgMTAxICstCiBkb2Mv c3JjL3NnbWwvcmVmL3VwZGF0ZS5zZ21sICAgICAgICAgICAgICAgICAgfCAgMTAzICstCiBkb2Mv c3JjL3NnbWwvdHJpZ2dlci5zZ21sICAgICAgICAgICAgICAgICAgICAgfCAgICA5ICsKIHNyYy9i YWNrZW5kL2V4ZWN1dG9yL2V4ZWNNYWluLmMgICAgICAgICAgICAgICB8ICAgIDEgKwogc3JjL2Jh Y2tlbmQvZXhlY3V0b3Ivbm9kZU1vZGlmeVRhYmxlLmMgICAgICAgIHwgIDMyNyArKysrLQogc3Jj L2JhY2tlbmQvbm9kZXMvbm9kZUZ1bmNzLmMgICAgICAgICAgICAgICAgIHwgICAyNCArCiBzcmMv YmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9jcmVhdGVwbGFuLmMgICAgICAgfCAgICA2ICstCiBzcmMv YmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9wbGFubmVyLmMgICAgICAgICAgfCAgICAxICsKIHNyYy9i YWNrZW5kL29wdGltaXplci91dGlsL3BhdGhub2RlLmMgICAgICAgICB8ICAgIDMgKy0KIHNyYy9i YWNrZW5kL3BhcnNlci9hbmFseXplLmMgICAgICAgICAgICAgICAgICB8ICAyNjMgKysrLQogc3Jj L2JhY2tlbmQvcGFyc2VyL2dyYW0ueSAgICAgICAgICAgICAgICAgICAgIHwgIDEwMCArLQogc3Jj L2JhY2tlbmQvcGFyc2VyL3BhcnNlX2FnZy5jICAgICAgICAgICAgICAgIHwgICAxMCArCiBzcmMv YmFja2VuZC9wYXJzZXIvcGFyc2VfY29sbGF0ZS5jICAgICAgICAgICAgfCAgICAxICsKIHNyYy9i YWNrZW5kL3BhcnNlci9wYXJzZV9leHByLmMgICAgICAgICAgICAgICB8ICAgIDggKwogc3JjL2Jh Y2tlbmQvcGFyc2VyL3BhcnNlX2Z1bmMuYyAgICAgICAgICAgICAgIHwgICAgMyArCiBzcmMvYmFj a2VuZC9wYXJzZXIvcGFyc2VfbWVyZ2UuYyAgICAgICAgICAgICAgfCAgICAyICstCiBzcmMvYmFj a2VuZC9yZXdyaXRlL3Jld3JpdGVIYW5kbGVyLmMgICAgICAgICAgfCAgIDQzICsKIHNyYy9iYWNr ZW5kL3V0aWxzL2FkdC9yaV90cmlnZ2Vycy5jICAgICAgICAgICB8ICAgIDIgKy0KIHNyYy9iYWNr ZW5kL3V0aWxzL2NhY2hlL2xzeXNjYWNoZS5jICAgICAgICAgICB8ICAgMjcgKwogc3JjL2luY2x1 ZGUvbm9kZXMvZXhlY25vZGVzLmggICAgICAgICAgICAgICAgIHwgICAyMiArCiBzcmMvaW5jbHVk ZS9ub2Rlcy9wYXJzZW5vZGVzLmggICAgICAgICAgICAgICAgfCAgIDIwICsKIHNyYy9pbmNsdWRl L25vZGVzL3BhdGhub2Rlcy5oICAgICAgICAgICAgICAgICB8ICAgIDEgKwogc3JjL2luY2x1ZGUv bm9kZXMvcGxhbm5vZGVzLmggICAgICAgICAgICAgICAgIHwgICAgMiArCiBzcmMvaW5jbHVkZS9u b2Rlcy9wcmltbm9kZXMuaCAgICAgICAgICAgICAgICAgfCAgIDI3ICsKIHNyYy9pbmNsdWRlL29w dGltaXplci9wYXRobm9kZS5oICAgICAgICAgICAgICB8ICAgIDIgKy0KIHNyYy9pbmNsdWRlL3Bh cnNlci9hbmFseXplLmggICAgICAgICAgICAgICAgICB8ICAgIDMgKy0KIHNyYy9pbmNsdWRlL3Bh cnNlci9rd2xpc3QuaCAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogc3JjL2luY2x1ZGUvcGFy c2VyL3BhcnNlX25vZGUuaCAgICAgICAgICAgICAgIHwgICAgMSArCiBzcmMvaW5jbHVkZS91dGls cy9sc3lzY2FjaGUuaCAgICAgICAgICAgICAgICAgfCAgICAxICsKIHNyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvZm9yX3BvcnRpb25fb2Yub3V0ICB8IDEyNDggKysrKysrKysrKysrKysrKysKIHNy Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHJpdmlsZWdlcy5vdXQgICAgICB8ICAgMTggKwogc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC91cGRhdGFibGVfdmlld3Mub3V0IHwgICAzMiArCiAuLi4v cmVncmVzcy9leHBlY3RlZC93aXRob3V0X292ZXJsYXBzLm91dCAgICAgfCAgMjQ1ICsrKy0KIHNy Yy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUgICAgICAgICAgICB8ICAgIDIgKy0KIHNy Yy90ZXN0L3JlZ3Jlc3Mvc3FsL2Zvcl9wb3J0aW9uX29mLnNxbCAgICAgICB8ICA5MDUgKysrKysr KysrKysrCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9wcml2aWxlZ2VzLnNxbCAgICAgICAgICAgfCAg IDE4ICsKIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3VwZGF0YWJsZV92aWV3cy5zcWwgICAgICB8ICAg MTQgKwogc3JjL3Rlc3QvcmVncmVzcy9zcWwvd2l0aG91dF9vdmVybGFwcy5zcWwgICAgIHwgIDEy MCArLQogc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDM0X3RlbXBvcmFsLnBsICAgICAgIHwgIDEx MCArLQogc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QgICAgICAgICAgICAgIHwgICAg NCArCiA0MyBmaWxlcyBjaGFuZ2VkLCAzODI2IGluc2VydGlvbnMoKyksIDg5IGRlbGV0aW9ucygt KQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZm9yX3BvcnRp b25fb2Yub3V0CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVncmVzcy9zcWwvZm9yX3Bv cnRpb25fb2Yuc3FsCgpkaWZmIC0tZ2l0IGEvY29udHJpYi9wb3N0Z3Jlc19mZHcvZXhwZWN0ZWQv cG9zdGdyZXNfZmR3Lm91dCBiL2NvbnRyaWIvcG9zdGdyZXNfZmR3L2V4cGVjdGVkL3Bvc3RncmVz X2Zkdy5vdXQKaW5kZXggY2QyODEyNjA0OWQuLjhjMGYxZThiNzcxIDEwMDY0NAotLS0gYS9jb250 cmliL3Bvc3RncmVzX2Zkdy9leHBlY3RlZC9wb3N0Z3Jlc19mZHcub3V0CisrKyBiL2NvbnRyaWIv cG9zdGdyZXNfZmR3L2V4cGVjdGVkL3Bvc3RncmVzX2Zkdy5vdXQKQEAgLTUwLDExICs1MCwxOSBA QCBDUkVBVEUgVEFCTEUgIlMgMSIuIlQgNCIgKAogCWMzIHRleHQsCiAJQ09OU1RSQUlOVCB0NF9w a2V5IFBSSU1BUlkgS0VZIChjMSkKICk7CitDUkVBVEUgVEFCTEUgIlMgMSIuIlQgNSIgKAorCWMx IGludDRyYW5nZSBOT1QgTlVMTCwKKwljMiBpbnQgTk9UIE5VTEwsCisJYzMgdGV4dCwKKwljNCBk YXRlcmFuZ2UgTk9UIE5VTEwsCisJQ09OU1RSQUlOVCB0NV9wa2V5IFBSSU1BUlkgS0VZIChjMSwg YzQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CiAtLSBEaXNhYmxlIGF1dG92YWN1dW0gZm9yIHRoZXNl IHRhYmxlcyB0byBhdm9pZCB1bmV4cGVjdGVkIGVmZmVjdHMgb2YgdGhhdAogQUxURVIgVEFCTEUg IlMgMSIuIlQgMSIgU0VUIChhdXRvdmFjdXVtX2VuYWJsZWQgPSAnZmFsc2UnKTsKIEFMVEVSIFRB QkxFICJTIDEiLiJUIDIiIFNFVCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gJ2ZhbHNlJyk7CiBBTFRF UiBUQUJMRSAiUyAxIi4iVCAzIiBTRVQgKGF1dG92YWN1dW1fZW5hYmxlZCA9ICdmYWxzZScpOwog QUxURVIgVEFCTEUgIlMgMSIuIlQgNCIgU0VUIChhdXRvdmFjdXVtX2VuYWJsZWQgPSAnZmFsc2Un KTsKK0FMVEVSIFRBQkxFICJTIDEiLiJUIDUiIFNFVCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gJ2Zh bHNlJyk7CiBJTlNFUlQgSU5UTyAiUyAxIi4iVCAxIgogCVNFTEVDVCBpZCwKIAkgICAgICAgaWQg JSAxMCwKQEAgLTgxLDEwICs4OSwxNyBAQCBJTlNFUlQgSU5UTyAiUyAxIi4iVCA0IgogCSAgICAg ICAnQUFBJyB8fCB0b19jaGFyKGlkLCAnRk0wMDAnKQogCUZST00gZ2VuZXJhdGVfc2VyaWVzKDEs IDEwMCkgaWQ7CiBERUxFVEUgRlJPTSAiUyAxIi4iVCA0IiBXSEVSRSBjMSAlIDMgIT0gMDsJLS0g ZGVsZXRlIGZvciBvdXRlciBqb2luIHRlc3RzCitJTlNFUlQgSU5UTyAiUyAxIi4iVCA1IgorCVNF TEVDVCBpbnQ0cmFuZ2UoaWQsIGlkICsgMSksCisJICAgICAgIGlkICsgMSwKKwkgICAgICAgJ0FB QScgfHwgdG9fY2hhcihpZCwgJ0ZNMDAwJyksCisgICAgICAgICdbMjAwMC0wMS0wMSwyMDIwLTAx LTAxKScKKwlGUk9NIGdlbmVyYXRlX3NlcmllcygxLCAxMDApIGlkOwogQU5BTFlaRSAiUyAxIi4i VCAxIjsKIEFOQUxZWkUgIlMgMSIuIlQgMiI7CiBBTkFMWVpFICJTIDEiLiJUIDMiOwogQU5BTFla RSAiUyAxIi4iVCA0IjsKK0FOQUxZWkUgIlMgMSIuIlQgNSI7CiAtLSA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLSBj cmVhdGUgZm9yZWlnbiB0YWJsZXMKIC0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQEAgLTEzMiw2ICsxNDcsMTIgQEAg Q1JFQVRFIEZPUkVJR04gVEFCTEUgZnQ3ICgKIAljMiBpbnQgTk9UIE5VTEwsCiAJYzMgdGV4dAog KSBTRVJWRVIgbG9vcGJhY2szIE9QVElPTlMgKHNjaGVtYV9uYW1lICdTIDEnLCB0YWJsZV9uYW1l ICdUIDQnKTsKK0NSRUFURSBGT1JFSUdOIFRBQkxFIGZ0OCAoCisJYzEgaW50NHJhbmdlIE5PVCBO VUxMLAorCWMyIGludCBOT1QgTlVMTCwKKwljMyB0ZXh0LAorCWM0IGRhdGVyYW5nZSBOT1QgTlVM TAorKSBTRVJWRVIgbG9vcGJhY2sgT1BUSU9OUyAoc2NoZW1hX25hbWUgJ1MgMScsIHRhYmxlX25h bWUgJ1QgNScpOwogLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0gdGVzdHMgZm9yIHZhbGlkYXRvcgogLS0gPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQpAQCAtMjE0LDcgKzIzNSw4IEBAIEFMVEVSIEZPUkVJR04gVEFCTEUgZnQyIEFMVEVS IENPTFVNTiBjMSBPUFRJT05TIChjb2x1bW5fbmFtZSAnQyAxJyk7CiAgcHVibGljIHwgZnQ1ICAg fCBsb29wYmFjayAgfCAoc2NoZW1hX25hbWUgJ1MgMScsIHRhYmxlX25hbWUgJ1QgNCcpIHwgCiAg cHVibGljIHwgZnQ2ICAgfCBsb29wYmFjazIgfCAoc2NoZW1hX25hbWUgJ1MgMScsIHRhYmxlX25h bWUgJ1QgNCcpIHwgCiAgcHVibGljIHwgZnQ3ICAgfCBsb29wYmFjazMgfCAoc2NoZW1hX25hbWUg J1MgMScsIHRhYmxlX25hbWUgJ1QgNCcpIHwgCi0oNiByb3dzKQorIHB1YmxpYyB8IGZ0OCAgIHwg bG9vcGJhY2sgIHwgKHNjaGVtYV9uYW1lICdTIDEnLCB0YWJsZV9uYW1lICdUIDUnKSB8IAorKDcg cm93cykKIAogLS0gVGVzdCB0aGF0IGFsdGVyYXRpb24gb2Ygc2VydmVyIG9wdGlvbnMgY2F1c2Vz IHJlY29ubmVjdGlvbgogLS0gUmVtb3RlJ3MgZXJyb3JzIG1pZ2h0IGJlIG5vbi1FbmdsaXNoLCBz byBoaWRlIHRoZW0gdG8gZW5zdXJlIHN0YWJsZSByZXN1bHRzCkBAIC02MzAzLDYgKzYzMjUsMjcg QEAgREVMRVRFIEZST00gZnQyIFdIRVJFIGMxID0gMTIwMCBSRVRVUk5JTkcgdGFibGVvaWQ6OnJl Z2NsYXNzOwogIGZ0MgogKDEgcm93KQogCistLSBUZXN0IFVQREFURSBGT1IgUE9SVElPTiBPRgor VVBEQVRFIGZ0OCBGT1IgUE9SVElPTiBPRiBjNCBGUk9NICcyMDA1LTAxLTAxJyBUTyAnMjAwNi0w MS0wMScKK1NFVCBjMiA9IGMyICsgMQorV0hFUkUgYzEgPSAnWzEsMiknOworRVJST1I6ICBmb3Jl aWduIHRhYmxlcyBkb24ndCBzdXBwb3J0IEZPUiBQT1JUSU9OIE9GCitTRUxFQ1QgKiBGUk9NIGZ0 OCBXSEVSRSBjMSA9ICdbMSwyKScgT1JERVIgQlkgYzEsIGM0OworICBjMSAgIHwgYzIgfCAgIGMz ICAgfCAgICAgICAgICAgYzQgICAgICAgICAgICAKKy0tLS0tLS0rLS0tLSstLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgWzEsMikgfCAgMiB8IEFBQTAwMSB8IFswMS0wMS0yMDAw LDAxLTAxLTIwMjApCisoMSByb3cpCisKKy0tIFRlc3QgREVMRVRFIEZPUiBQT1JUSU9OIE9GCitE RUxFVEUgRlJPTSBmdDggRk9SIFBPUlRJT04gT0YgYzQgRlJPTSAnMjAwNS0wMS0wMScgVE8gJzIw MDYtMDEtMDEnCitXSEVSRSBjMSA9ICdbMiwzKSc7CitFUlJPUjogIGZvcmVpZ24gdGFibGVzIGRv bid0IHN1cHBvcnQgRk9SIFBPUlRJT04gT0YKK1NFTEVDVCAqIEZST00gZnQ4IFdIRVJFIGMxID0g J1syLDMpJyBPUkRFUiBCWSBjMSwgYzQ7CisgIGMxICAgfCBjMiB8ICAgYzMgICB8ICAgICAgICAg ICBjNCAgICAgICAgICAgIAorLS0tLS0tLSstLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyBbMiwzKSB8ICAzIHwgQUFBMDAyIHwgWzAxLTAxLTIwMDAsMDEtMDEtMjAyMCkK KygxIHJvdykKKwogLS0gVGVzdCBVUERBVEUvREVMRVRFIHdpdGggUkVUVVJOSU5HIG9uIGEgdGhy ZWUtdGFibGUgam9pbgogSU5TRVJUIElOVE8gZnQyIChjMSxjMixjMykKICAgU0VMRUNUIGlkLCBp ZCAtIDEyMDAsIHRvX2NoYXIoaWQsICdGTTAwMDAwJykgRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMTIw MSwgMTMwMCkgaWQ7CmRpZmYgLS1naXQgYS9jb250cmliL3Bvc3RncmVzX2Zkdy9zcWwvcG9zdGdy ZXNfZmR3LnNxbCBiL2NvbnRyaWIvcG9zdGdyZXNfZmR3L3NxbC9wb3N0Z3Jlc19mZHcuc3FsCmlu ZGV4IDlhOGY5ZTI4MTM1Li43MzhmYzI0ZmIwNyAxMDA2NDQKLS0tIGEvY29udHJpYi9wb3N0Z3Jl c19mZHcvc3FsL3Bvc3RncmVzX2Zkdy5zcWwKKysrIGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvc3Fs L3Bvc3RncmVzX2Zkdy5zcWwKQEAgLTU0LDEyICs1NCwyMCBAQCBDUkVBVEUgVEFCTEUgIlMgMSIu IlQgNCIgKAogCWMzIHRleHQsCiAJQ09OU1RSQUlOVCB0NF9wa2V5IFBSSU1BUlkgS0VZIChjMSkK ICk7CitDUkVBVEUgVEFCTEUgIlMgMSIuIlQgNSIgKAorCWMxIGludDRyYW5nZSBOT1QgTlVMTCwK KwljMiBpbnQgTk9UIE5VTEwsCisJYzMgdGV4dCwKKwljNCBkYXRlcmFuZ2UgTk9UIE5VTEwsCisJ Q09OU1RSQUlOVCB0NV9wa2V5IFBSSU1BUlkgS0VZIChjMSwgYzQgV0lUSE9VVCBPVkVSTEFQUykK Kyk7CiAKIC0tIERpc2FibGUgYXV0b3ZhY3V1bSBmb3IgdGhlc2UgdGFibGVzIHRvIGF2b2lkIHVu ZXhwZWN0ZWQgZWZmZWN0cyBvZiB0aGF0CiBBTFRFUiBUQUJMRSAiUyAxIi4iVCAxIiBTRVQgKGF1 dG92YWN1dW1fZW5hYmxlZCA9ICdmYWxzZScpOwogQUxURVIgVEFCTEUgIlMgMSIuIlQgMiIgU0VU IChhdXRvdmFjdXVtX2VuYWJsZWQgPSAnZmFsc2UnKTsKIEFMVEVSIFRBQkxFICJTIDEiLiJUIDMi IFNFVCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gJ2ZhbHNlJyk7CiBBTFRFUiBUQUJMRSAiUyAxIi4i VCA0IiBTRVQgKGF1dG92YWN1dW1fZW5hYmxlZCA9ICdmYWxzZScpOworQUxURVIgVEFCTEUgIlMg MSIuIlQgNSIgU0VUIChhdXRvdmFjdXVtX2VuYWJsZWQgPSAnZmFsc2UnKTsKIAogSU5TRVJUIElO VE8gIlMgMSIuIlQgMSIKIAlTRUxFQ1QgaWQsCkBAIC04NywxMSArOTUsMTggQEAgSU5TRVJUIElO VE8gIlMgMSIuIlQgNCIKIAkgICAgICAgJ0FBQScgfHwgdG9fY2hhcihpZCwgJ0ZNMDAwJykKIAlG Uk9NIGdlbmVyYXRlX3NlcmllcygxLCAxMDApIGlkOwogREVMRVRFIEZST00gIlMgMSIuIlQgNCIg V0hFUkUgYzEgJSAzICE9IDA7CS0tIGRlbGV0ZSBmb3Igb3V0ZXIgam9pbiB0ZXN0cworSU5TRVJU IElOVE8gIlMgMSIuIlQgNSIKKwlTRUxFQ1QgaW50NHJhbmdlKGlkLCBpZCArIDEpLAorCSAgICAg ICBpZCArIDEsCisJICAgICAgICdBQUEnIHx8IHRvX2NoYXIoaWQsICdGTTAwMCcpLAorICAgICAg ICAnWzIwMDAtMDEtMDEsMjAyMC0wMS0wMSknCisJRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSwgMTAw KSBpZDsKIAogQU5BTFlaRSAiUyAxIi4iVCAxIjsKIEFOQUxZWkUgIlMgMSIuIlQgMiI7CiBBTkFM WVpFICJTIDEiLiJUIDMiOwogQU5BTFlaRSAiUyAxIi4iVCA0IjsKK0FOQUxZWkUgIlMgMSIuIlQg NSI7CiAKIC0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KIC0tIGNyZWF0ZSBmb3JlaWduIHRhYmxlcwpAQCAtMTQ2LDYg KzE2MSwxNCBAQCBDUkVBVEUgRk9SRUlHTiBUQUJMRSBmdDcgKAogCWMzIHRleHQKICkgU0VSVkVS IGxvb3BiYWNrMyBPUFRJT05TIChzY2hlbWFfbmFtZSAnUyAxJywgdGFibGVfbmFtZSAnVCA0Jyk7 CiAKK0NSRUFURSBGT1JFSUdOIFRBQkxFIGZ0OCAoCisJYzEgaW50NHJhbmdlIE5PVCBOVUxMLAor CWMyIGludCBOT1QgTlVMTCwKKwljMyB0ZXh0LAorCWM0IGRhdGVyYW5nZSBOT1QgTlVMTAorKSBT RVJWRVIgbG9vcGJhY2sgT1BUSU9OUyAoc2NoZW1hX25hbWUgJ1MgMScsIHRhYmxlX25hbWUgJ1Qg NScpOworCisKIC0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KIC0tIHRlc3RzIGZvciB2YWxpZGF0b3IKIC0tID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KQEAgLTE1MzgsNiArMTU2MSwxNyBAQCBFWFBMQUlOICh2ZXJib3NlLCBjb3N0cyBvZmYp CiBERUxFVEUgRlJPTSBmdDIgV0hFUkUgYzEgPSAxMjAwIFJFVFVSTklORyB0YWJsZW9pZDo6cmVn Y2xhc3M7ICAgICAgICAgICAgICAgICAgICAgICAtLSBjYW4gYmUgcHVzaGVkIGRvd24KIERFTEVU RSBGUk9NIGZ0MiBXSEVSRSBjMSA9IDEyMDAgUkVUVVJOSU5HIHRhYmxlb2lkOjpyZWdjbGFzczsK IAorLS0gVGVzdCBVUERBVEUgRk9SIFBPUlRJT04gT0YKK1VQREFURSBmdDggRk9SIFBPUlRJT04g T0YgYzQgRlJPTSAnMjAwNS0wMS0wMScgVE8gJzIwMDYtMDEtMDEnCitTRVQgYzIgPSBjMiArIDEK K1dIRVJFIGMxID0gJ1sxLDIpJzsKK1NFTEVDVCAqIEZST00gZnQ4IFdIRVJFIGMxID0gJ1sxLDIp JyBPUkRFUiBCWSBjMSwgYzQ7CisKKy0tIFRlc3QgREVMRVRFIEZPUiBQT1JUSU9OIE9GCitERUxF VEUgRlJPTSBmdDggRk9SIFBPUlRJT04gT0YgYzQgRlJPTSAnMjAwNS0wMS0wMScgVE8gJzIwMDYt MDEtMDEnCitXSEVSRSBjMSA9ICdbMiwzKSc7CitTRUxFQ1QgKiBGUk9NIGZ0OCBXSEVSRSBjMSA9 ICdbMiwzKScgT1JERVIgQlkgYzEsIGM0OworCiAtLSBUZXN0IFVQREFURS9ERUxFVEUgd2l0aCBS RVRVUk5JTkcgb24gYSB0aHJlZS10YWJsZSBqb2luCiBJTlNFUlQgSU5UTyBmdDIgKGMxLGMyLGMz KQogICBTRUxFQ1QgaWQsIGlkIC0gMTIwMCwgdG9fY2hhcihpZCwgJ0ZNMDAwMDAnKSBGUk9NIGdl bmVyYXRlX3NlcmllcygxMjAxLCAxMzAwKSBpZDsKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9y ZWYvY3JlYXRlX3B1YmxpY2F0aW9uLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9wdWJs aWNhdGlvbi5zZ21sCmluZGV4IDY2YTcwZTVjNWI1Li5iNWM4YTUxNzJkZiAxMDA2NDQKLS0tIGEv ZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfcHVibGljYXRpb24uc2dtbAorKysgYi9kb2Mvc3JjL3Nn bWwvcmVmL2NyZWF0ZV9wdWJsaWNhdGlvbi5zZ21sCkBAIC0zOTAsNiArMzkwLDEyIEBAIENSRUFU RSBQVUJMSUNBVElPTiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFj ZWFibGU+CiAgICBmb3IgZWFjaCByb3cgaW5zZXJ0ZWQsIHVwZGF0ZWQsIG9yIGRlbGV0ZWQuCiAg IDwvcGFyYT4KIAorICA8cGFyYT4KKyAgIEZvciBhbiA8Y29tbWFuZD5VUERBVEUvREVMRVRFIC4u LiBGT1IgUE9SVElPTiBPRjwvY29tbWFuZD4gY29tbWFuZCwgdGhlCisgICBwdWJsaWNhdGlvbiB3 aWxsIHB1Ymxpc2ggYW4gPGNvbW1hbmQ+VVBEQVRFPC9jb21tYW5kPiBvciA8Y29tbWFuZD5ERUxF VEU8L2NvbW1hbmQ+LAorICAgZm9sbG93ZWQgYnkgb25lIDxjb21tYW5kPklOU0VSVDwvY29tbWFu ZD4gZm9yIGVhY2ggdGVtcG9yYWwgbGVmdG92ZXIgcm93IGluc2VydGVkLgorICA8L3BhcmE+CisK ICAgPHBhcmE+CiAgICA8Y29tbWFuZD5BVFRBQ0g8L2NvbW1hbmQ+aW5nIGEgdGFibGUgaW50byBh IHBhcnRpdGlvbiB0cmVlIHdob3NlIHJvb3QgaXMKICAgIHB1Ymxpc2hlZCB1c2luZyBhIHB1Ymxp Y2F0aW9uIHdpdGggPGxpdGVyYWw+cHVibGlzaF92aWFfcGFydGl0aW9uX3Jvb3Q8L2xpdGVyYWw+ CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2RlbGV0ZS5zZ21sIGIvZG9jL3NyYy9zZ21s L3JlZi9kZWxldGUuc2dtbAppbmRleCA1YjUyZjc3ZTI4Zi4uOGRkNTFhYWNjZTIgMTAwNjQ0Ci0t LSBhL2RvYy9zcmMvc2dtbC9yZWYvZGVsZXRlLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9k ZWxldGUuc2dtbApAQCAtMjIsNyArMjIsOSBAQCBQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KICA8 cmVmc3lub3BzaXNkaXY+CiA8c3lub3BzaXM+CiBbIFdJVEggWyBSRUNVUlNJVkUgXSA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+d2l0aF9xdWVyeTwvcmVwbGFjZWFibGU+IFssIC4uLl0g XQotREVMRVRFIEZST00gWyBPTkxZIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRh YmxlX25hbWU8L3JlcGxhY2VhYmxlPiBbICogXSBbIFsgQVMgXSA8cmVwbGFjZWFibGUgY2xhc3M9 InBhcmFtZXRlciI+YWxpYXM8L3JlcGxhY2VhYmxlPiBdCitERUxFVEUgRlJPTSBbIE9OTFkgXSA8 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dGFibGVfbmFtZTwvcmVwbGFjZWFibGU+IFsg KiBdCisgICAgWyBGT1IgUE9SVElPTiBPRiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ cmFuZ2VfbmFtZTwvcmVwbGFjZWFibGU+IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5m b3JfcG9ydGlvbl9vZl90YXJnZXQ8L3JlcGxhY2VhYmxlPiBdCisgICAgWyBbIEFTIF0gPHJlcGxh Y2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmFsaWFzPC9yZXBsYWNlYWJsZT4gXQogICAgIFsgVVNJ TkcgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmZyb21faXRlbTwvcmVwbGFjZWFibGU+ IFssIC4uLl0gXQogICAgIFsgV0hFUkUgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNv bmRpdGlvbjwvcmVwbGFjZWFibGU+IHwgV0hFUkUgQ1VSUkVOVCBPRiA8cmVwbGFjZWFibGUgY2xh c3M9InBhcmFtZXRlciI+Y3Vyc29yX25hbWU8L3JlcGxhY2VhYmxlPiBdCiAgICAgWyBSRVRVUk5J TkcgWyBXSVRIICggeyBPTEQgfCBORVcgfSBBUyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+b3V0cHV0X2FsaWFzPC9yZXBsYWNlYWJsZT4gWywgLi4uXSApIF0KQEAgLTU1LDYgKzU3LDQ4 IEBAIERFTEVURSBGUk9NIFsgT05MWSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50 YWJsZV9uYW1lPC9yZXBsYWNlYWJsZT4gWyAqCiAgICBjaXJjdW1zdGFuY2VzLgogICA8L3BhcmE+ CiAKKyAgPHBhcmE+CisgICBJZiB0aGUgdGFibGUgaGFzIGEgcmFuZ2Ugb3IgbXVsdGlyYW5nZSBj b2x1bW4sCisgICB5b3UgbWF5IHN1cHBseSBhIDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9saXRl cmFsPiBjbGF1c2UsIGFuZCB0aGUgZGVsZXRlIHdpbGwKKyAgIG9ubHkgYWZmZWN0IHJvd3MgdGhh dCBvdmVybGFwIHRoZSBnaXZlbiBpbnRlcnZhbC4gRnVydGhlcm1vcmUsIGlmIGEgcm93J3MgaGlz dG9yeQorICAgZXh0ZW5kcyBvdXRzaWRlIHRoZSA8bGl0ZXJhbD5GT1IgUE9SVElPTiBPRjwvbGl0 ZXJhbD4gYm91bmRzLCB0aGVuIHRoZSBkZWxldGUKKyAgIHdpbGwgb25seSBjaGFuZ2UgdGhlIGhp c3Rvcnkgd2l0aGluIHRob3NlIGJvdW5kcy4gSW4gZWZmZWN0IHlvdSBhcmUgZGVsZXRpbmcgYW55 CisgICBtb21lbnQgdGFyZ2V0ZWQgYnkgPGxpdGVyYWw+Rk9SIFBPUlRJT04gT0Y8L2xpdGVyYWw+ IGFuZCBubyBtb21lbnRzIG91dHNpZGUuCisgIDwvcGFyYT4KKworICA8cGFyYT4KKyAgIFNwZWNp ZmljYWxseSwgYWZ0ZXIgPHByb2R1Y3RuYW1lPlBvc3RncmVTUUw8L3Byb2R1Y3RuYW1lPiBkZWxl dGVzIGEgcm93LAorICAgaXQgd2lsbCA8bGl0ZXJhbD5JTlNFUlQ8L2xpdGVyYWw+CisgICBuZXcg PGdsb3NzdGVybSBsaW5rZW5kPSJnbG9zc2FyeS10ZW1wb3JhbC1sZWZ0b3ZlcnMiPnRlbXBvcmFs IGxlZnRvdmVyczwvZ2xvc3N0ZXJtPjoKKyAgIHJvd3Mgd2hvc2UgcmFuZ2Ugb3IgbXVsdGlyYW5n ZSByZWNlaXZlcyB0aGUgcmVtYWluaW5nIGhpc3Rvcnkgb3V0c2lkZQorICAgdGhlIHRhcmdldGVk IDxsaXRlcmFsPkZST008L2xpdGVyYWw+LzxsaXRlcmFsPlRPPC9saXRlcmFsPiBib3VuZHMsIHdp dGggdGhlCisgICBvcmlnaW5hbCB2YWx1ZXMgaW4gdGhlaXIgb3RoZXIgY29sdW1ucy4gRm9yIHJh bmdlIGNvbHVtbnMsIHRoZXJlIHdpbGwgYmUgemVybworICAgdG8gdHdvIGluc2VydGVkIHJlY29y ZHMsIGRlcGVuZGluZyBvbiB3aGV0aGVyIHRoZSBvcmlnaW5hbCBoaXN0b3J5IHdhcworICAgY29t cGxldGVseSBkZWxldGVkLCBleHRlbmRlZCBiZWZvcmUvYWZ0ZXIgdGhlIGNoYW5nZSwgb3IgYm90 aC4gRm9yCisgICBpbnN0YW5jZSBnaXZlbiBhbiBvcmlnaW5hbCByYW5nZSBvZiA8bGl0ZXJhbD5b Miw2KTwvbGl0ZXJhbD4sIGEgZGVsZXRlIG9mCisgICA8bGl0ZXJhbD5bMSw3KTwvbGl0ZXJhbD4g eWllbGRzIG5vIGxlZnRvdmVycywgYSBkZWxldGUgb2YKKyAgIDxsaXRlcmFsPlsyLDUpPC9saXRl cmFsPiB5aWVsZHMgb25lLCBhbmQgYSBkZWxldGUgb2YKKyAgIDxsaXRlcmFsPlszLDUpPC9saXRl cmFsPiB5aWVsZHMgdHdvLiBNdWx0aXJhbmdlcyBuZXZlciByZXF1aXJlIHR3byB0ZW1wb3JhbAor ICAgbGVmdG92ZXJzLCBiZWNhdXNlIG9uZSB2YWx1ZSBjYW4gYWx3YXlzIGNvbnRhaW4gd2hhdGV2 ZXIgaGlzdG9yeSByZW1haW5zLgorICA8L3BhcmE+CisKKyAgPHBhcmE+CisgICBUaGVzZSBzZWNv bmRhcnkgaW5zZXJ0cyBmaXJlIDxsaXRlcmFsPklOU0VSVDwvbGl0ZXJhbD4gdHJpZ2dlcnMuCisg ICBCb3RoIDxsaXRlcmFsPlNUQVRFTUVOVDwvbGl0ZXJhbD4gYW5kIDxsaXRlcmFsPlJPVzwvbGl0 ZXJhbD4gdHJpZ2dlcnMgYXJlIGZpcmVkLgorICAgVGhlIDxsaXRlcmFsPkJFRk9SRSBERUxFVEU8 L2xpdGVyYWw+IHRyaWdnZXJzIGFyZSBmaXJlZCBmaXJzdCwgdGhlbgorICAgPGxpdGVyYWw+QkVG T1JFIElOU0VSVDwvbGl0ZXJhbD4sIHRoZW4gPGxpdGVyYWw+QUZURVIgSU5TRVJUPC9saXRlcmFs PiwKKyAgIHRoZW4gPGxpdGVyYWw+QUZURVIgREVMRVRFPC9saXRlcmFsPi4KKyAgPC9wYXJhPgor CisgIDxwYXJhPgorICAgVGhlc2Ugc2Vjb25kYXJ5IGluc2VydHMgZG8gbm90IHJlcXVpcmUgPGxp dGVyYWw+SU5TRVJUPC9saXRlcmFsPiBwcml2aWxlZ2Ugb24KKyAgIHRoZSB0YWJsZS4gVGhpcyBp cyBiZWNhdXNlIGNvbmNlcHR1YWxseSBubyBuZXcgaW5mb3JtYXRpb24gaGFzIGJlZW4gYWRkZWQu CisgICBUaGUgaW5zZXJ0ZWQgcm93cyBvbmx5IHByZXNlcnZlIGV4aXN0aW5nIGRhdGEgYWJvdXQg dGhlIHVudGFyZ2V0ZWQgdGltZSBwZXJpb2QuCisgICBOb3RlIHRoaXMgbWF5IHJlc3VsdCBpbiB1 c2VycyBmaXJpbmcgPGxpdGVyYWw+SU5TRVJUPC9saXRlcmFsPiB0cmlnZ2VycyB3aG8KKyAgIGRv bid0IGhhdmUgaW5zZXJ0IHByaXZpbGVnZXMsIHNvIGJlIGNhcmVmdWwgYWJvdXQgPGxpdGVyYWw+ U0VDVVJJVFkgREVGSU5FUjwvbGl0ZXJhbD4KKyAgIHRyaWdnZXIgZnVuY3Rpb25zIQorICA8L3Bh cmE+CisKICAgPHBhcmE+CiAgICBUaGUgb3B0aW9uYWwgPGxpdGVyYWw+UkVUVVJOSU5HPC9saXRl cmFsPiBjbGF1c2UgY2F1c2VzIDxjb21tYW5kPkRFTEVURTwvY29tbWFuZD4KICAgIHRvIGNvbXB1 dGUgYW5kIHJldHVybiB2YWx1ZShzKSBiYXNlZCBvbiBlYWNoIHJvdyBhY3R1YWxseSBkZWxldGVk LgpAQCAtMTE3LDYgKzE2MSw1NyBAQCBERUxFVEUgRlJPTSBbIE9OTFkgXSA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+dGFibGVfbmFtZTwvcmVwbGFjZWFibGU+IFsgKgogICAgIDwvbGlz dGl0ZW0+CiAgICA8L3Zhcmxpc3RlbnRyeT4KIAorICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVy bT48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmFuZ2VfbmFtZTwvcmVwbGFjZWFibGU+ PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBUaGUgcmFuZ2Ugb3Ig bXVsdGlyYW5nZSBjb2x1bW4gdG8gdXNlIHdoZW4gcGVyZm9ybWluZyBhIHRlbXBvcmFsIGRlbGV0 ZS4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKwor ICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVybT48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+Zm9yX3BvcnRpb25fb2ZfdGFyZ2V0PC9yZXBsYWNlYWJsZT48L3Rlcm0+CisgICAgPGxpc3Rp dGVtPgorICAgICA8cGFyYT4KKyAgICAgIFRoZSBpbnRlcnZhbCB0byBkZWxldGUuIElmIHlvdSBh cmUgdGFyZ2V0aW5nIGEgcmFuZ2UgY29sdW1uLAorICAgICAgeW91IG1heSBnaXZlIHRoaXMgaW4g dGhlIGZvcm0gPGxpdGVyYWw+RlJPTTwvbGl0ZXJhbD4KKyAgICAgIDxyZXBsYWNlYWJsZSBjbGFz cz0icGFyYW1ldGVyIj5zdGFydF90aW1lPC9yZXBsYWNlYWJsZT4gPGxpdGVyYWw+VE88L2xpdGVy YWw+CisgICAgICA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZW5kX3RpbWU8L3JlcGxh Y2VhYmxlPi4KKyAgICAgIE90aGVyd2lzZSB5b3UgbXVzdCB1c2UKKyAgICAgIDxsaXRlcmFsPig8 L2xpdGVyYWw+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmV4cHJlc3Npb248L3JlcGxh Y2VhYmxlPjxsaXRlcmFsPik8L2xpdGVyYWw+CisgICAgICB3aGVyZSB0aGUgZXhwcmVzc2lvbiB5 aWVsZHMgYSB2YWx1ZSBvZiB0aGUgc2FtZSB0eXBlIGFzCisgICAgICA8cmVwbGFjZWFibGUgY2xh c3M9InBhcmFtZXRlciI+cmFuZ2VfbmFtZTwvcmVwbGFjZWFibGU+LgorICAgICA8L3BhcmE+Cisg ICAgPC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCisgICA8dmFybGlzdGVudHJ5Pgor ICAgIDx0ZXJtPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5zdGFydF90aW1lPC9yZXBs YWNlYWJsZT48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIFRoZSBl YXJsaWVzdCB0aW1lIChpbmNsdXNpdmUpIHRvIGNoYW5nZSBpbiBhIHRlbXBvcmFsIGRlbGV0ZS4K KyAgICAgIFRoaXMgbXVzdCBiZSBhIHZhbHVlIG1hdGNoaW5nIHRoZSBiYXNlIHR5cGUgb2YgdGhl IHJhbmdlIGZyb20KKyAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yYW5nZV9u YW1lPC9yZXBsYWNlYWJsZT4uIEEKKyAgICAgIDxsaXRlcmFsPk5VTEw8L2xpdGVyYWw+IGhlcmUg aW5kaWNhdGVzIGEgZGVsZXRlIHdob3NlIGJlZ2lubmluZyBpcworICAgICAgdW5ib3VuZGVkIChh cyB3aXRoIHJhbmdlIHR5cGVzKS4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8 L3Zhcmxpc3RlbnRyeT4KKworICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVybT48cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+ZW5kX3RpbWU8L3JlcGxhY2VhYmxlPjwvdGVybT4KKyAgICA8 bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgVGhlIGxhdGVzdCB0aW1lIChleGNsdXNpdmUp IHRvIGNoYW5nZSBpbiBhIHRlbXBvcmFsIGRlbGV0ZS4KKyAgICAgIFRoaXMgbXVzdCBiZSBhIHZh bHVlIG1hdGNoaW5nIHRoZSBiYXNlIHR5cGUgb2YgdGhlIHJhbmdlIGZyb20KKyAgICAgIDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yYW5nZV9uYW1lPC9yZXBsYWNlYWJsZT4uIEEKKyAg ICAgIDxsaXRlcmFsPk5VTEw8L2xpdGVyYWw+IGhlcmUgaW5kaWNhdGVzIGEgZGVsZXRlIHdob3Nl IGVuZCBpcyB1bmJvdW5kZWQKKyAgICAgIChhcyB3aXRoIHJhbmdlIHR5cGVzKS4KKyAgICAgPC9w YXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKwogICAgPHZhcmxpc3Rl bnRyeT4KICAgICA8dGVybT48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZnJvbV9pdGVt PC9yZXBsYWNlYWJsZT48L3Rlcm0+CiAgICAgPGxpc3RpdGVtPgpAQCAtMjM4LDYgKzMzMywxMCBA QCBERUxFVEUgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvdW50PC9yZXBsYWNlYWJs ZT4KICAgIHN1cHByZXNzZWQgYnkgYSA8bGl0ZXJhbD5CRUZPUkUgREVMRVRFPC9saXRlcmFsPiB0 cmlnZ2VyLiAgSWYgPHJlcGxhY2VhYmxlCiAgICBjbGFzcz0icGFyYW1ldGVyIj5jb3VudDwvcmVw bGFjZWFibGU+IGlzIDAsIG5vIHJvd3Mgd2VyZSBkZWxldGVkIGJ5CiAgICB0aGUgcXVlcnkgKHRo aXMgaXMgbm90IGNvbnNpZGVyZWQgYW4gZXJyb3IpLgorICAgSWYgPGxpdGVyYWw+Rk9SIFBPUlRJ T04gT0Y8L2xpdGVyYWw+IHdhcyB1c2VkLCB0aGUKKyAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFy YW1ldGVyIj5jb3VudDwvcmVwbGFjZWFibGU+IGFsc28gaW5jbHVkZXMKKyAgIDxnbG9zc3Rlcm0g bGlua2VuZD0iZ2xvc3NhcnktdGVtcG9yYWwtbGVmdG92ZXJzIj50ZW1wb3JhbCBsZWZ0b3ZlcnM8 L2dsb3NzdGVybT4KKyAgIHRoYXQgd2VyZSBpbnNlcnRlZC4KICAgPC9wYXJhPgogCiAgIDxwYXJh PgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi91cGRhdGUuc2dtbCBiL2RvYy9zcmMvc2dt bC9yZWYvdXBkYXRlLnNnbWwKaW5kZXggNDBjY2EwNjM5NDYuLmExNWYyMWRmMWIyIDEwMDY0NAot LS0gYS9kb2Mvc3JjL3NnbWwvcmVmL3VwZGF0ZS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYv dXBkYXRlLnNnbWwKQEAgLTIyLDcgKzIyLDkgQEAgUG9zdGdyZVNRTCBkb2N1bWVudGF0aW9uCiAg PHJlZnN5bm9wc2lzZGl2PgogPHN5bm9wc2lzPgogWyBXSVRIIFsgUkVDVVJTSVZFIF0gPHJlcGxh Y2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPndpdGhfcXVlcnk8L3JlcGxhY2VhYmxlPiBbLCAuLi5d IF0KLVVQREFURSBbIE9OTFkgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dGFibGVf bmFtZTwvcmVwbGFjZWFibGU+IFsgKiBdIFsgWyBBUyBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFy YW1ldGVyIj5hbGlhczwvcmVwbGFjZWFibGU+IF0KK1VQREFURSBbIE9OTFkgXSA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+dGFibGVfbmFtZTwvcmVwbGFjZWFibGU+IFsgKiBdCisgICAg WyBGT1IgUE9SVElPTiBPRiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmFuZ2VfbmFt ZTwvcmVwbGFjZWFibGU+IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5mb3JfcG9ydGlv bl9vZl90YXJnZXQ8L3JlcGxhY2VhYmxlPiBdCisgICAgWyBbIEFTIF0gPHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPmFsaWFzPC9yZXBsYWNlYWJsZT4gXQogICAgIFNFVCB7IDxyZXBsYWNl YWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+ID0geyA8cmVw bGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZXhwcmVzc2lvbjwvcmVwbGFjZWFibGU+IHwgREVG QVVMVCB9IHwKICAgICAgICAgICAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1 bW5fbmFtZTwvcmVwbGFjZWFibGU+IFssIC4uLl0gKSA9IFsgUk9XIF0gKCB7IDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5leHByZXNzaW9uPC9yZXBsYWNlYWJsZT4gfCBERUZBVUxUIH0g WywgLi4uXSApIHwKICAgICAgICAgICAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5j b2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IFssIC4uLl0gKSA9ICggPHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPnN1Yi1TRUxFQ1Q8L3JlcGxhY2VhYmxlPiApCkBAIC01Miw2ICs1NCw1MCBA QCBVUERBVEUgWyBPTkxZIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxlX25h bWU8L3JlcGxhY2VhYmxlPiBbICogXSBbCiAgICBjaXJjdW1zdGFuY2VzLgogICA8L3BhcmE+CiAK KyAgPHBhcmE+CisgICBJZiB0aGUgdGFibGUgaGFzIGEgcmFuZ2Ugb3IgbXVsdGlyYW5nZSBjb2x1 bW4sCisgICB5b3UgbWF5IHN1cHBseSBhIDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9saXRlcmFs PiBjbGF1c2UsIGFuZCB0aGUgdXBkYXRlIHdpbGwKKyAgIG9ubHkgYWZmZWN0IHJvd3MgdGhhdCBv dmVybGFwIHRoZSBnaXZlbiBpbnRlcnZhbC4gRnVydGhlcm1vcmUsIGlmIGEgcm93J3MgaGlzdG9y eQorICAgZXh0ZW5kcyBvdXRzaWRlIHRoZSA8bGl0ZXJhbD5GT1IgUE9SVElPTiBPRjwvbGl0ZXJh bD4gYm91bmRzLCB0aGVuIHRoZSB1cGRhdGUKKyAgIHdpbGwgb25seSBjaGFuZ2UgdGhlIGhpc3Rv cnkgd2l0aGluIHRob3NlIGJvdW5kcy4gSW4gZWZmZWN0IHlvdSBhcmUgdXBkYXRpbmcgYW55Cisg ICBtb21lbnQgdGFyZ2V0ZWQgYnkgPGxpdGVyYWw+Rk9SIFBPUlRJT04gT0Y8L2xpdGVyYWw+IGFu ZCBubyBtb21lbnRzIG91dHNpZGUuCisgIDwvcGFyYT4KKworICA8cGFyYT4KKyAgIFNwZWNpZmlj YWxseSwgd2hlbiA8cHJvZHVjdG5hbWU+UG9zdGdyZVNRTDwvcHJvZHVjdG5hbWU+IHVwZGF0ZXMg YSByb3csCisgICBpdCB3aWxsIGFsc28gY2hhbmdlIHRoZSByYW5nZSBvciBtdWx0aXJhbmdlIHNv IHRoYXQgaXRzIGFwcGxpY2F0aW9uIHRpbWUKKyAgIG5vIGxvbmdlciBleHRlbmRzIGJleW9uZCB0 aGUgdGFyZ2V0ZWQgPGxpdGVyYWw+Rk9SIFBPUlRJT04gT0Y8L2xpdGVyYWw+IGJvdW5kcy4KKyAg IFRoZW4gPHByb2R1Y3RuYW1lPlBvc3RncmVTUUw8L3Byb2R1Y3RuYW1lPiB3aWxsIDxsaXRlcmFs PklOU0VSVDwvbGl0ZXJhbD4KKyAgIG5ldyA8Z2xvc3N0ZXJtIGxpbmtlbmQ9Imdsb3NzYXJ5LXRl bXBvcmFsLWxlZnRvdmVycyI+dGVtcG9yYWwgbGVmdG92ZXJzPC9nbG9zc3Rlcm0+OgorICAgcm93 cyB3aG9zZSByYW5nZSBvciBtdWx0aXJhbmdlIHJlY2VpdmVzIHRoZSByZW1haW5pbmcgaGlzdG9y eSBvdXRzaWRlCisgICB0aGUgdGFyZ2V0ZWQgPGxpdGVyYWw+RlJPTTwvbGl0ZXJhbD4vPGxpdGVy YWw+VE88L2xpdGVyYWw+IGJvdW5kcywgd2l0aCB0aGUKKyAgIG9yaWdpbmFsIHZhbHVlcyBpbiB0 aGVpciBvdGhlciBjb2x1bW5zLiBGb3IgcmFuZ2UgY29sdW1ucywgdGhlcmUgd2lsbCBiZSB6ZXJv CisgICB0byB0d28gaW5zZXJ0ZWQgcmVjb3JkcywgZGVwZW5kaW5nIG9uIHdoZXRoZXIgdGhlIG9y aWdpbmFsIGhpc3Rvcnkgd2FzCisgICBjb21wbGV0ZWx5IHVwZGF0ZWQsIGV4dGVuZGVkIGJlZm9y ZS9hZnRlciB0aGUgY2hhbmdlLCBvciBib3RoLiBGb3IKKyAgIGluc3RhbmNlIGdpdmVuIGFuIG9y aWdpbmFsIHJhbmdlIG9mIDxsaXRlcmFsPlsyLDYpPC9saXRlcmFsPiwgYW4gdXBkYXRlIG9mCisg ICA8bGl0ZXJhbD5bMSw3KTwvbGl0ZXJhbD4geWllbGRzIG5vIGxlZnRvdmVycywgYW4gdXBkYXRl IG9mCisgICA8bGl0ZXJhbD5bMiw1KTwvbGl0ZXJhbD4geWllbGRzIG9uZSwgYW5kIGFuIHVwZGF0 ZSBvZgorICAgPGxpdGVyYWw+WzMsNSk8L2xpdGVyYWw+IHlpZWxkcyB0d28uIE11bHRpcmFuZ2Vz IG5ldmVyIHJlcXVpcmUgdHdvIHRlbXBvcmFsCisgICBsZWZ0b3ZlcnMsIGJlY2F1c2Ugb25lIHZh bHVlIGNhbiBhbHdheXMgY29udGFpbiB3aGF0ZXZlciBoaXN0b3J5IHJlbWFpbnMuCisgIDwvcGFy YT4KKworICA8cGFyYT4KKyAgIFRoZXNlIHNlY29uZGFyeSBpbnNlcnRzIGZpcmUgPGxpdGVyYWw+ SU5TRVJUPC9saXRlcmFsPiB0cmlnZ2Vycy4KKyAgIEJvdGggPGxpdGVyYWw+U1RBVEVNRU5UPC9s aXRlcmFsPiBhbmQgPGxpdGVyYWw+Uk9XPC9saXRlcmFsPiB0cmlnZ2VycyBhcmUgZmlyZWQuCisg ICBUaGUgPGxpdGVyYWw+QkVGT1JFIFVQREFURTwvbGl0ZXJhbD4gdHJpZ2dlcnMgYXJlIGZpcmVk IGZpcnN0LCB0aGVuCisgICA8bGl0ZXJhbD5CRUZPUkUgSU5TRVJUPC9saXRlcmFsPiwgdGhlbiA8 bGl0ZXJhbD5BRlRFUiBJTlNFUlQ8L2xpdGVyYWw+LAorICAgdGhlbiA8bGl0ZXJhbD5BRlRFUiBV UERBVEU8L2xpdGVyYWw+LgorICA8L3BhcmE+CisKKyAgPHBhcmE+CisgICBUaGVzZSBzZWNvbmRh cnkgaW5zZXJ0cyBkbyBub3QgcmVxdWlyZSA8bGl0ZXJhbD5JTlNFUlQ8L2xpdGVyYWw+IHByaXZp bGVnZSBvbgorICAgdGhlIHRhYmxlLiBUaGlzIGlzIGJlY2F1c2UgY29uY2VwdHVhbGx5IG5vIG5l dyBpbmZvcm1hdGlvbiBoYXMgYmVlbiBhZGRlZC4KKyAgIFRoZSBpbnNlcnRlZCByb3dzIG9ubHkg cHJlc2VydmUgZXhpc3RpbmcgZGF0YSBhYm91dCB0aGUgdW50YXJnZXRlZCB0aW1lIHBlcmlvZC4K KyAgIE5vdGUgdGhpcyBtYXkgcmVzdWx0IGluIHVzZXJzIGZpcmluZyA8bGl0ZXJhbD5JTlNFUlQ8 L2xpdGVyYWw+IHRyaWdnZXJzIHdobworICAgZG9uJ3QgaGF2ZSBpbnNlcnQgcHJpdmlsZWdlcywg c28gYmUgY2FyZWZ1bCBhYm91dCA8bGl0ZXJhbD5TRUNVUklUWSBERUZJTkVSPC9saXRlcmFsPgor ICAgdHJpZ2dlciBmdW5jdGlvbnMhCisgIDwvcGFyYT4KKwogICA8cGFyYT4KICAgIFRoZSBvcHRp b25hbCA8bGl0ZXJhbD5SRVRVUk5JTkc8L2xpdGVyYWw+IGNsYXVzZSBjYXVzZXMgPGNvbW1hbmQ+ VVBEQVRFPC9jb21tYW5kPgogICAgdG8gY29tcHV0ZSBhbmQgcmV0dXJuIHZhbHVlKHMpIGJhc2Vk IG9uIGVhY2ggcm93IGFjdHVhbGx5IHVwZGF0ZWQuCkBAIC0xMTYsNiArMTYyLDU3IEBAIFVQREFU RSBbIE9OTFkgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dGFibGVfbmFtZTwvcmVw bGFjZWFibGU+IFsgKiBdIFsKICAgICA8L2xpc3RpdGVtPgogICAgPC92YXJsaXN0ZW50cnk+CiAK KyAgIDx2YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPnJhbmdlX25hbWU8L3JlcGxhY2VhYmxlPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAg IDxwYXJhPgorICAgICAgVGhlIHJhbmdlIG9yIG11bHRpcmFuZ2UgY29sdW1uIHRvIHVzZSB3aGVu IHBlcmZvcm1pbmcgYSB0ZW1wb3JhbCB1cGRhdGUuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3Rp dGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKKyAgIDx2YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+ PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmZvcl9wb3J0aW9uX29mX3RhcmdldDwvcmVw bGFjZWFibGU+PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBUaGUg aW50ZXJ2YWwgdG8gdXBkYXRlLiBJZiB5b3UgYXJlIHRhcmdldGluZyBhIHJhbmdlIGNvbHVtbiwK KyAgICAgIHlvdSBtYXkgZ2l2ZSB0aGlzIGluIHRoZSBmb3JtIDxsaXRlcmFsPkZST008L2xpdGVy YWw+CisgICAgICA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+c3RhcnRfdGltZTwvcmVw bGFjZWFibGU+IDxsaXRlcmFsPlRPPC9saXRlcmFsPgorICAgICAgPHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPmVuZF90aW1lPC9yZXBsYWNlYWJsZT4uCisgICAgICBPdGhlcndpc2UgeW91 IG11c3QgdXNlCisgICAgICA8bGl0ZXJhbD4oPC9saXRlcmFsPjxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5leHByZXNzaW9uPC9yZXBsYWNlYWJsZT48bGl0ZXJhbD4pPC9saXRlcmFsPgor ICAgICAgd2hlcmUgdGhlIGV4cHJlc3Npb24geWllbGRzIGEgdmFsdWUgb2YgdGhlIHNhbWUgdHlw ZSBhcworICAgICAgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJhbmdlX25hbWU8L3Jl cGxhY2VhYmxlPi4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3Rl bnRyeT4KKworICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVybT48cmVwbGFjZWFibGUgY2xhc3M9 InBhcmFtZXRlciI+c3RhcnRfdGltZTwvcmVwbGFjZWFibGU+PC90ZXJtPgorICAgIDxsaXN0aXRl bT4KKyAgICAgPHBhcmE+CisgICAgICBUaGUgZWFybGllc3QgdGltZSAoaW5jbHVzaXZlKSB0byBj aGFuZ2UgaW4gYSB0ZW1wb3JhbCB1cGRhdGUuCisgICAgICBUaGlzIG11c3QgYmUgYSB2YWx1ZSBt YXRjaGluZyB0aGUgYmFzZSB0eXBlIG9mIHRoZSByYW5nZSBmcm9tCisgICAgICA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+cmFuZ2VfbmFtZTwvcmVwbGFjZWFibGU+LiBBCisgICAgICA8 bGl0ZXJhbD5OVUxMPC9saXRlcmFsPiBoZXJlIGluZGljYXRlcyBhbiB1cGRhdGUgd2hvc2UgYmVn aW5uaW5nIGlzCisgICAgICB1bmJvdW5kZWQgKGFzIHdpdGggcmFuZ2UgdHlwZXMpLgorICAgICA8 L3BhcmE+CisgICAgPC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCisgICA8dmFybGlz dGVudHJ5PgorICAgIDx0ZXJtPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5lbmRfdGlt ZTwvcmVwbGFjZWFibGU+PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAg ICBUaGUgbGF0ZXN0IHRpbWUgKGV4Y2x1c2l2ZSkgdG8gY2hhbmdlIGluIGEgdGVtcG9yYWwgdXBk YXRlLgorICAgICAgVGhpcyBtdXN0IGJlIGEgdmFsdWUgbWF0Y2hpbmcgdGhlIGJhc2UgdHlwZSBv ZiB0aGUgcmFuZ2UgZnJvbQorICAgICAgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJh bmdlX25hbWU8L3JlcGxhY2VhYmxlPi4gQQorICAgICAgPGxpdGVyYWw+TlVMTDwvbGl0ZXJhbD4g aGVyZSBpbmRpY2F0ZXMgYW4gdXBkYXRlIHdob3NlIGVuZCBpcyB1bmJvdW5kZWQKKyAgICAgIChh cyB3aXRoIHJhbmdlIHR5cGVzKS4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8 L3Zhcmxpc3RlbnRyeT4KKwogICAgPHZhcmxpc3RlbnRyeT4KICAgICA8dGVybT48cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPjwvdGVybT4KICAg ICA8bGlzdGl0ZW0+CkBAIC0yODMsNiArMzgwLDEwIEBAIFVQREFURSA8cmVwbGFjZWFibGUgY2xh c3M9InBhcmFtZXRlciI+Y291bnQ8L3JlcGxhY2VhYmxlPgogICAgdXBkYXRlcyB3ZXJlIHN1cHBy ZXNzZWQgYnkgYSA8bGl0ZXJhbD5CRUZPUkUgVVBEQVRFPC9saXRlcmFsPiB0cmlnZ2VyLiAgSWYK ICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb3VudDwvcmVwbGFjZWFibGU+IGlz IDAsIG5vIHJvd3Mgd2VyZQogICAgdXBkYXRlZCBieSB0aGUgcXVlcnkgKHRoaXMgaXMgbm90IGNv bnNpZGVyZWQgYW4gZXJyb3IpLgorICAgSWYgPGxpdGVyYWw+Rk9SIFBPUlRJT04gT0Y8L2xpdGVy YWw+IHdhcyB1c2VkLCB0aGUKKyAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb3Vu dDwvcmVwbGFjZWFibGU+IGFsc28gaW5jbHVkZXMKKyAgIDxnbG9zc3Rlcm0gbGlua2VuZD0iZ2xv c3NhcnktdGVtcG9yYWwtbGVmdG92ZXJzIj50ZW1wb3JhbCBsZWZ0b3ZlcnM8L2dsb3NzdGVybT4K KyAgIHRoYXQgd2VyZSBpbnNlcnRlZC4KICAgPC9wYXJhPgogCiAgIDxwYXJhPgpkaWZmIC0tZ2l0 IGEvZG9jL3NyYy9zZ21sL3RyaWdnZXIuc2dtbCBiL2RvYy9zcmMvc2dtbC90cmlnZ2VyLnNnbWwK aW5kZXggMDA2MmYxYTNmZDEuLjJiNjhjMzg4MmVjIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwv dHJpZ2dlci5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC90cmlnZ2VyLnNnbWwKQEAgLTM3Myw2ICsz NzMsMTUgQEAKICAgICByZXNwb25zaWJpbGl0eSB0byBhdm9pZCB0aGF0LgogICAgPC9wYXJhPgog CisgICA8cGFyYT4KKyAgICBJZiBhbiA8Y29tbWFuZD5VUERBVEU8L2NvbW1hbmQ+IG9yIDxjb21t YW5kPkRFTEVURTwvY29tbWFuZD4gdXNlcworICAgIDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9s aXRlcmFsPiwgY2F1c2luZyBuZXcgcm93cyB0byBiZSBpbnNlcnRlZAorICAgIHRvIHByZXNlcnZl IHRoZSBsZWZ0b3ZlciB1bnRhcmdldGVkIHBhcnQgb2YgbW9kaWZpZWQgcmVjb3JkcywgdGhlbgor ICAgIDxjb21tYW5kPklOU0VSVDwvY29tbWFuZD4gdHJpZ2dlcnMgYXJlIGZpcmVkIGZvciBlYWNo IGluc2VydGVkCisgICAgcm93LiBFYWNoIHJvdyBpcyBpbnNlcnRlZCBzZXBhcmF0ZWx5LCBzbyB0 aGV5IGZpcmUgdGhlaXIgb3duCisgICAgc3RhdGVtZW50IHRyaWdnZXJzLCBhbmQgdGhleSBoYXZl IHRoZWlyIG93biB0cmFuc2l0aW9uIHRhYmxlcy4KKyAgIDwvcGFyYT4KKwogICAgPHBhcmE+CiAg ICAgPGluZGV4dGVybT4KICAgICAgPHByaW1hcnk+dHJpZ2dlcjwvcHJpbWFyeT4KZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNNYWluLmMgYi9zcmMvYmFja2VuZC9leGVjdXRv ci9leGVjTWFpbi5jCmluZGV4IDI3YzllZWM2OTdiLi4yNjljODc3ZGJjZiAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY01haW4uYworKysgYi9zcmMvYmFja2VuZC9leGVjdXRv ci9leGVjTWFpbi5jCkBAIC0xMjk1LDYgKzEyOTUsNyBAQCBJbml0UmVzdWx0UmVsSW5mbyhSZXN1 bHRSZWxJbmZvICpyZXN1bHRSZWxJbmZvLAogCXJlc3VsdFJlbEluZm8tPnJpX3Byb2plY3RSZXR1 cm5pbmcgPSBOVUxMOwogCXJlc3VsdFJlbEluZm8tPnJpX29uQ29uZmxpY3RBcmJpdGVySW5kZXhl cyA9IE5JTDsKIAlyZXN1bHRSZWxJbmZvLT5yaV9vbkNvbmZsaWN0ID0gTlVMTDsKKwlyZXN1bHRS ZWxJbmZvLT5yaV9mb3JQb3J0aW9uT2YgPSBOVUxMOwogCXJlc3VsdFJlbEluZm8tPnJpX1JldHVy bmluZ1Nsb3QgPSBOVUxMOwogCXJlc3VsdFJlbEluZm8tPnJpX1RyaWdPbGRTbG90ID0gTlVMTDsK IAlyZXN1bHRSZWxJbmZvLT5yaV9UcmlnTmV3U2xvdCA9IE5VTEw7CmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9leGVjdXRvci9ub2RlTW9kaWZ5VGFibGUuYyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9y L25vZGVNb2RpZnlUYWJsZS5jCmluZGV4IDAwNDI5MzI2YzM0Li4zNGY0OWFlNTk4MSAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZU1vZGlmeVRhYmxlLmMKKysrIGIvc3JjL2Jh Y2tlbmQvZXhlY3V0b3Ivbm9kZU1vZGlmeVRhYmxlLmMKQEAgLTY4LDYgKzY4LDcgQEAKICNpbmNs dWRlICJzdG9yYWdlL2xtZ3IuaCIKICNpbmNsdWRlICJ1dGlscy9idWlsdGlucy5oIgogI2luY2x1 ZGUgInV0aWxzL2RhdHVtLmgiCisjaW5jbHVkZSAidXRpbHMvcmFuZ2V0eXBlcy5oIgogI2luY2x1 ZGUgInV0aWxzL3JlbC5oIgogI2luY2x1ZGUgInV0aWxzL3NuYXBtZ3IuaCIKIApAQCAtMTMxLDcg KzEzMiw2IEBAIHR5cGVkZWYgc3RydWN0IFVwZGF0ZUNvbnRleHQKIAlMb2NrVHVwbGVNb2RlIGxv Y2ttb2RlOwogfSBVcGRhdGVDb250ZXh0OwogCi0KIHN0YXRpYyB2b2lkIEV4ZWNCYXRjaEluc2Vy dChNb2RpZnlUYWJsZVN0YXRlICptdHN0YXRlLAogCQkJCQkJCVJlc3VsdFJlbEluZm8gKnJlc3Vs dFJlbEluZm8sCiAJCQkJCQkJVHVwbGVUYWJsZVNsb3QgKipzbG90cywKQEAgLTE1Miw2ICsxNTIs MTAgQEAgc3RhdGljIGJvb2wgRXhlY09uQ29uZmxpY3RVcGRhdGUoTW9kaWZ5VGFibGVDb250ZXh0 ICpjb250ZXh0LAogCQkJCQkJCQkgVHVwbGVUYWJsZVNsb3QgKmV4Y2x1ZGVkU2xvdCwKIAkJCQkJ CQkJIGJvb2wgY2FuU2V0VGFnLAogCQkJCQkJCQkgVHVwbGVUYWJsZVNsb3QgKipyZXR1cm5pbmcp Oworc3RhdGljIHZvaWQgRXhlY0ZvclBvcnRpb25PZkxlZnRvdmVycyhNb2RpZnlUYWJsZUNvbnRl eHQgKmNvbnRleHQsCisJCQkJCQkJCQkgIEVTdGF0ZSAqZXN0YXRlLAorCQkJCQkJCQkJICBSZXN1 bHRSZWxJbmZvICpyZXN1bHRSZWxJbmZvLAorCQkJCQkJCQkJICBJdGVtUG9pbnRlciB0dXBsZWlk KTsKIHN0YXRpYyBUdXBsZVRhYmxlU2xvdCAqRXhlY1ByZXBhcmVUdXBsZVJvdXRpbmcoTW9kaWZ5 VGFibGVTdGF0ZSAqbXRzdGF0ZSwKIAkJCQkJCQkJCQkJICAgRVN0YXRlICplc3RhdGUsCiAJCQkJ CQkJCQkJCSAgIFBhcnRpdGlvblR1cGxlUm91dGluZyAqcHJvdXRlLApAQCAtMTc0LDYgKzE3OCw5 IEBAIHN0YXRpYyBUdXBsZVRhYmxlU2xvdCAqRXhlY01lcmdlTWF0Y2hlZChNb2RpZnlUYWJsZUNv bnRleHQgKmNvbnRleHQsCiBzdGF0aWMgVHVwbGVUYWJsZVNsb3QgKkV4ZWNNZXJnZU5vdE1hdGNo ZWQoTW9kaWZ5VGFibGVDb250ZXh0ICpjb250ZXh0LAogCQkJCQkJCQkJCSAgIFJlc3VsdFJlbElu Zm8gKnJlc3VsdFJlbEluZm8sCiAJCQkJCQkJCQkJICAgYm9vbCBjYW5TZXRUYWcpOworc3RhdGlj IHZvaWQgRXhlY1NldHVwVHJhbnNpdGlvbkNhcHR1cmVTdGF0ZShNb2RpZnlUYWJsZVN0YXRlICpt dHN0YXRlLCBFU3RhdGUgKmVzdGF0ZSk7CitzdGF0aWMgdm9pZCBmaXJlQlNUcmlnZ2VycyhNb2Rp ZnlUYWJsZVN0YXRlICpub2RlKTsKK3N0YXRpYyB2b2lkIGZpcmVBU1RyaWdnZXJzKE1vZGlmeVRh YmxlU3RhdGUgKm5vZGUpOwogCiAKIC8qCkBAIC0xMzU1LDYgKzEzNjIsMTkyIEBAIEV4ZWNJbnNl cnQoTW9kaWZ5VGFibGVDb250ZXh0ICpjb250ZXh0LAogCXJldHVybiByZXN1bHQ7CiB9CiAKKy8q IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyAqCQlFeGVjRm9yUG9ydGlvbk9mTGVmdG92ZXJzCisgKgorICoJCUluc2VydCB0 dXBsZXMgZm9yIHRoZSB1bnRvdWNoZWQgcG9ydGlvbiBvZiBhIHJvdyBpbiBhIEZPUgorICoJCVBP UlRJT04gT0YgVVBEQVRFL0RFTEVURQorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCitzdGF0aWMgdm9pZAorRXhl Y0ZvclBvcnRpb25PZkxlZnRvdmVycyhNb2RpZnlUYWJsZUNvbnRleHQgKmNvbnRleHQsCisJCQkJ CQkgIEVTdGF0ZSAqZXN0YXRlLAorCQkJCQkJICBSZXN1bHRSZWxJbmZvICpyZXN1bHRSZWxJbmZv LAorCQkJCQkJICBJdGVtUG9pbnRlciB0dXBsZWlkKQoreworCU1vZGlmeVRhYmxlU3RhdGUgKm10 c3RhdGUgPSBjb250ZXh0LT5tdHN0YXRlOworCU1vZGlmeVRhYmxlICpub2RlID0gKE1vZGlmeVRh YmxlICopIG10c3RhdGUtPnBzLnBsYW47CisJRm9yUG9ydGlvbk9mRXhwciAqZm9yUG9ydGlvbk9m ID0gKEZvclBvcnRpb25PZkV4cHIgKikgbm9kZS0+Zm9yUG9ydGlvbk9mOworCUF0dHJOdW1iZXIJ cmFuZ2VBdHRubzsKKwlEYXR1bQkJb2xkUmFuZ2U7CisJVHlwZUNhY2hlRW50cnkgKnR5cGNhY2hl OworCUZvclBvcnRpb25PZlN0YXRlICpmcG9TdGF0ZSA9IHJlc3VsdFJlbEluZm8tPnJpX2ZvclBv cnRpb25PZjsKKwlUdXBsZVRhYmxlU2xvdCAqb2xkdHVwbGVTbG90ID0gZnBvU3RhdGUtPmZwX0V4 aXN0aW5nOworCVR1cGxlVGFibGVTbG90ICpsZWZ0b3ZlclNsb3QgPSBmcG9TdGF0ZS0+ZnBfTGVm dG92ZXI7CisJVHVwbGVDb252ZXJzaW9uTWFwICptYXAgPSBOVUxMOworCUhlYXBUdXBsZQlvbGR0 dXBsZSA9IE5VTEw7CisJQ21kVHlwZQkJb2xkT3BlcmF0aW9uOworCVRyYW5zaXRpb25DYXB0dXJl U3RhdGUgKm9sZFRjczsKKwlGbWdySW5mbwlmbGluZm87CisJUmV0dXJuU2V0SW5mbyByc2k7CisJ Ym9vbAkJZGlkSW5pdCA9IGZhbHNlOworCWJvb2wJCXNob3VsZEZyZWUgPSBmYWxzZTsKKworCUxP Q0FMX0ZDSU5GTyhmY2luZm8sIDIpOworCisJLyoKKwkgKiBHZXQgdGhlIG9sZCBwcmUtVVBEQVRF L0RFTEVURSB0dXBsZS4gV2Ugd2lsbCB1c2UgaXRzIHJhbmdlIHRvIGNvbXB1dGUKKwkgKiB1bnRv dWNoZWQgcGFydHMgb2YgaGlzdG9yeSwgYW5kIGlmIG5lY2Vzc2FyeSB3ZSB3aWxsIGluc2VydCBj b3BpZXMKKwkgKiB3aXRoIHRydW5jYXRlZCBzdGFydC9lbmQgdGltZXMuCisJICoKKwkgKiBXZSBo YXZlIGFscmVhZHkgbG9ja2VkIHRoZSB0dXBsZSBpbiBFeGVjVXBkYXRlL0V4ZWNEZWxldGUsIGFu ZCBpdCBoYXMKKwkgKiBwYXNzZWQgRXZhbFBsYW5RdWFsLiBUaGlzIGVuc3VyZXMgdGhhdCBjb25j dXJyZW50IHVwZGF0ZXMgaW4gUkVBRAorCSAqIENPTU1JVFRFRCBjYW4ndCBpbnNlcnQgY29uZmxp Y3RpbmcgdGVtcG9yYWwgbGVmdG92ZXJzLgorCSAqLworCWlmICghdGFibGVfdHVwbGVfZmV0Y2hf cm93X3ZlcnNpb24ocmVzdWx0UmVsSW5mby0+cmlfUmVsYXRpb25EZXNjLCB0dXBsZWlkLCBTbmFw c2hvdEFueSwgb2xkdHVwbGVTbG90KSkKKwkJZWxvZyhFUlJPUiwgImZhaWxlZCB0byBmZXRjaCB0 dXBsZSBmb3IgRk9SIFBPUlRJT04gT0YiKTsKKworCS8qCisJICogR2V0IHRoZSBvbGQgcmFuZ2Ug b2YgdGhlIHJlY29yZCBiZWluZyB1cGRhdGVkL2RlbGV0ZWQuIE11c3QgcmVhZCB3aXRoCisJICog dGhlIGF0dG5vIG9mIHRoZSBsZWFmIHBhcnRpdGlvbiBiZWluZyB1cGRhdGVkLgorCSAqLworCisJ cmFuZ2VBdHRubyA9IGZvclBvcnRpb25PZi0+cmFuZ2VWYXItPnZhcmF0dG5vOworCWlmIChyZXN1 bHRSZWxJbmZvLT5yaV9Sb290UmVzdWx0UmVsSW5mbykKKwkJbWFwID0gRXhlY0dldENoaWxkVG9S b290TWFwKHJlc3VsdFJlbEluZm8pOworCWlmIChtYXAgIT0gTlVMTCkKKwkJcmFuZ2VBdHRubyA9 IG1hcC0+YXR0ck1hcC0+YXR0bnVtc1tyYW5nZUF0dG5vIC0gMV07CisJc2xvdF9nZXRhbGxhdHRy cyhvbGR0dXBsZVNsb3QpOworCisJaWYgKG9sZHR1cGxlU2xvdC0+dHRzX2lzbnVsbFtyYW5nZUF0 dG5vIC0gMV0pCisJCWVsb2coRVJST1IsICJmb3VuZCBhIE5VTEwgcmFuZ2UgaW4gYSB0ZW1wb3Jh bCB0YWJsZSIpOworCW9sZFJhbmdlID0gb2xkdHVwbGVTbG90LT50dHNfdmFsdWVzW3JhbmdlQXR0 bm8gLSAxXTsKKworCS8qCisJICogR2V0IHRoZSByYW5nZSdzIHR5cGUgY2FjaGUgZW50cnkuIFRo aXMgaXMgd29ydGggY2FjaGluZyBmb3IgdGhlIHdob2xlCisJICogVVBEQVRFL0RFTEVURSBhcyBy YW5nZSBmdW5jdGlvbnMgZG8uCisJICovCisKKwl0eXBjYWNoZSA9IGZwb1N0YXRlLT5mcF9sZWZ0 b3ZlcnN0eXBjYWNoZTsKKwlpZiAodHlwY2FjaGUgPT0gTlVMTCkKKwl7CisJCXR5cGNhY2hlID0g bG9va3VwX3R5cGVfY2FjaGUoZm9yUG9ydGlvbk9mLT5yYW5nZVR5cGUsIDApOworCQlmcG9TdGF0 ZS0+ZnBfbGVmdG92ZXJzdHlwY2FjaGUgPSB0eXBjYWNoZTsKKwl9CisKKwkvKgorCSAqIEdldCB0 aGUgcmFuZ2VzIHRvIHRoZSBsZWZ0L3JpZ2h0IG9mIHRoZSB0YXJnZXRlZCByYW5nZS4gV2UgY2Fs bCBhIFNFVE9GCisJICogc3VwcG9ydCBmdW5jdGlvbiBhbmQgaW5zZXJ0IGFzIG1hbnkgdGVtcG9y YWwgbGVmdG92ZXJzIGFzIGl0IGdpdmVzIHVzLgorCSAqIEFsdGhvdWdoIHJhbmdldHlwZXMgaGF2 ZSAwLzEvMiBsZWZ0b3ZlcnMsIG11bHRpcmFuZ2VzIGhhdmUgMC8xLCBhbmQKKwkgKiBvdGhlciB0 eXBlcyBtYXkgaGF2ZSBtb3JlLgorCSAqLworCisJZm1ncl9pbmZvKGZvclBvcnRpb25PZi0+d2l0 aG91dFBvcnRpb25Qcm9jLCAmZmxpbmZvKTsKKwlyc2kudHlwZSA9IFRfUmV0dXJuU2V0SW5mbzsK Kwlyc2kuZWNvbnRleHQgPSBtdHN0YXRlLT5wcy5wc19FeHByQ29udGV4dDsKKwlyc2kuZXhwZWN0 ZWREZXNjID0gTlVMTDsKKwlyc2kuYWxsb3dlZE1vZGVzID0gKGludCkgKFNGUk1fVmFsdWVQZXJD YWxsKTsKKwlyc2kucmV0dXJuTW9kZSA9IFNGUk1fVmFsdWVQZXJDYWxsOworCXJzaS5zZXRSZXN1 bHQgPSBOVUxMOworCXJzaS5zZXREZXNjID0gTlVMTDsKKworCUluaXRGdW5jdGlvbkNhbGxJbmZv RGF0YSgqZmNpbmZvLCAmZmxpbmZvLCAyLCBJbnZhbGlkT2lkLCBOVUxMLCAoTm9kZSAqKSAmcnNp KTsKKwlmY2luZm8tPmFyZ3NbMF0udmFsdWUgPSBvbGRSYW5nZTsKKwlmY2luZm8tPmFyZ3NbMF0u aXNudWxsID0gZmFsc2U7CisJZmNpbmZvLT5hcmdzWzFdLnZhbHVlID0gZnBvU3RhdGUtPmZwX3Rh cmdldFJhbmdlOworCWZjaW5mby0+YXJnc1sxXS5pc251bGwgPSBmYWxzZTsKKworCS8qCisJICog SWYgdGhlcmUgYXJlIHBhcnRpdGlvbnMsIHdlIG11c3QgaW5zZXJ0IGludG8gdGhlIHJvb3QgdGFi bGUsIHNvIHdlIGdldAorCSAqIHR1cGxlIHJvdXRpbmcuIFdlIGFscmVhZHkgc2V0IHVwIGxlZnRv dmVyU2xvdCB3aXRoIHRoZSByb290IHR1cGxlCisJICogZGVzY3JpcHRvci4KKwkgKi8KKwlpZiAo cmVzdWx0UmVsSW5mby0+cmlfUm9vdFJlc3VsdFJlbEluZm8pCisJCXJlc3VsdFJlbEluZm8gPSBy ZXN1bHRSZWxJbmZvLT5yaV9Sb290UmVzdWx0UmVsSW5mbzsKKworCS8qCisJICogSW5zZXJ0IGEg bGVmdG92ZXIgZm9yIGVhY2ggdmFsdWUgcmV0dXJuZWQgYnkgdGhlIHdpdGhvdXRfcG9ydGlvbiBo ZWxwZXIKKwkgKiBmdW5jdGlvbgorCSAqLworCXdoaWxlICh0cnVlKQorCXsKKwkJRGF0dW0JCWxl ZnRvdmVyID0gRnVuY3Rpb25DYWxsSW52b2tlKGZjaW5mbyk7CisKKwkJLyogQXJlIHdlIGRvbmU/ ICovCisJCWlmIChyc2kuaXNEb25lID09IEV4cHJFbmRSZXN1bHQpCisJCQlicmVhazsKKworCQlp ZiAoZmNpbmZvLT5pc251bGwpCisJCQllbG9nKEVSUk9SLCAiR290IGEgbnVsbCBmcm9tIHdpdGhv dXRfcG9ydGlvbiBmdW5jdGlvbiIpOworCisJCWlmICghZGlkSW5pdCkKKwkJeworCQkJLyoKKwkJ CSAqIE1ha2UgYSBjb3B5IG9mIHRoZSBwcmUtVVBEQVRFIHJvdy4gVGhlbiB3ZSdsbCBvdmVyd3Jp dGUgdGhlCisJCQkgKiByYW5nZSBjb2x1bW4gYmVsb3cuIENvbnZlcnQgb2xkdHVwbGUgdG8gdGhl IGJhc2UgdGFibGUncyBmb3JtYXQKKwkJCSAqIGlmIG5lY2Vzc2FyeS4gV2UgbmVlZCB0byBpbnNl cnQgdGVtcG9yYWwgbGVmdG92ZXJzIHRocm91Z2ggdGhlCisJCQkgKiByb290IHBhcnRpdGlvbiBz byB0aGV5IGdldCByb3V0ZWQgY29ycmVjdGx5LgorCQkJICovCisJCQlpZiAobWFwICE9IE5VTEwp CisJCQl7CisJCQkJbGVmdG92ZXJTbG90ID0gZXhlY3V0ZV9hdHRyX21hcF9zbG90KG1hcC0+YXR0 ck1hcCwKKwkJCQkJCQkJCQkJCQkgb2xkdHVwbGVTbG90LAorCQkJCQkJCQkJCQkJCSBsZWZ0b3Zl clNsb3QpOworCQkJfQorCQkJZWxzZQorCQkJeworCQkJCW9sZHR1cGxlID0gRXhlY0ZldGNoU2xv dEhlYXBUdXBsZShvbGR0dXBsZVNsb3QsIGZhbHNlLCAmc2hvdWxkRnJlZSk7CisJCQkJRXhlY0Zv cmNlU3RvcmVIZWFwVHVwbGUob2xkdHVwbGUsIGxlZnRvdmVyU2xvdCwgZmFsc2UpOworCQkJfQor CisJCQkvKgorCQkJICogU2F2ZSBzb21lIG10c3RhdGUgdGhpbmdzIHNvIHdlIGNhbiByZXN0b3Jl IHRoZW0gYmVsb3cuIFhYWDoKKwkJCSAqIFNob3VsZCB3ZSBjcmVhdGUgb3VyIG93biBNb2RpZnlU YWJsZVN0YXRlIGluc3RlYWQ/CisJCQkgKi8KKwkJCW9sZE9wZXJhdGlvbiA9IG10c3RhdGUtPm9w ZXJhdGlvbjsKKwkJCW10c3RhdGUtPm9wZXJhdGlvbiA9IENNRF9JTlNFUlQ7CisJCQlvbGRUY3Mg PSBtdHN0YXRlLT5tdF90cmFuc2l0aW9uX2NhcHR1cmU7CisKKwkJCWRpZEluaXQgPSB0cnVlOwor CQl9CisKKwkJbGVmdG92ZXJTbG90LT50dHNfdmFsdWVzW2ZvclBvcnRpb25PZi0+cmFuZ2VWYXIt PnZhcmF0dG5vIC0gMV0gPSBsZWZ0b3ZlcjsKKwkJbGVmdG92ZXJTbG90LT50dHNfaXNudWxsW2Zv clBvcnRpb25PZi0+cmFuZ2VWYXItPnZhcmF0dG5vIC0gMV0gPSBmYWxzZTsKKwkJRXhlY01hdGVy aWFsaXplU2xvdChsZWZ0b3ZlclNsb3QpOworCisJCS8qCisJCSAqIElmIHRoZXJlIGFyZSBwYXJ0 aXRpb25zLCB3ZSBtdXN0IGluc2VydCBpbnRvIHRoZSByb290IHRhYmxlLCBzbyB3ZQorCQkgKiBn ZXQgdHVwbGUgcm91dGluZy4gV2UgYWxyZWFkeSBzZXQgdXAgbGVmdG92ZXJTbG90IHdpdGggdGhl IHJvb3QKKwkJICogdHVwbGUgZGVzY3JpcHRvci4KKwkJICovCisJCWlmIChyZXN1bHRSZWxJbmZv LT5yaV9Sb290UmVzdWx0UmVsSW5mbykKKwkJCXJlc3VsdFJlbEluZm8gPSByZXN1bHRSZWxJbmZv LT5yaV9Sb290UmVzdWx0UmVsSW5mbzsKKworCQkvKgorCQkgKiBUaGUgc3RhbmRhcmQgc2F5cyB0 aGF0IGVhY2ggdGVtcG9yYWwgbGVmdG92ZXIgc2hvdWxkIGV4ZWN1dGUgaXRzCisJCSAqIG93biBJ TlNFUlQgc3RhdGVtZW50LCBmaXJpbmcgYWxsIHN0YXRlbWVudCBhbmQgcm93IHRyaWdnZXJzLCBi dXQKKwkJICogc2tpcHBpbmcgaW5zZXJ0IHBlcm1pc3Npb24gY2hlY2tzLiBUaGVyZWZvcmUgd2Ug Z2l2ZSBlYWNoIGluc2VydAorCQkgKiBpdHMgb3duIHRyYW5zaXRpb24gdGFibGUuIElmIHdlIGp1 c3QgcHVzaCAmIHBvcCBhIG5ldyB0cmlnZ2VyIGxldmVsCisJCSAqIGZvciBlYWNoIGluc2VydCwg d2UgZ2V0IGV4YWN0bHkgd2hhdCB3ZSBuZWVkLgorCQkgKi8KKwkJQWZ0ZXJUcmlnZ2VyQmVnaW5R dWVyeSgpOworCQlFeGVjU2V0dXBUcmFuc2l0aW9uQ2FwdHVyZVN0YXRlKG10c3RhdGUsIGVzdGF0 ZSk7CisJCWZpcmVCU1RyaWdnZXJzKG10c3RhdGUpOworCQlFeGVjSW5zZXJ0KGNvbnRleHQsIHJl c3VsdFJlbEluZm8sIGxlZnRvdmVyU2xvdCwgbm9kZS0+Y2FuU2V0VGFnLCBOVUxMLCBOVUxMKTsK KwkJZmlyZUFTVHJpZ2dlcnMobXRzdGF0ZSk7CisJCUFmdGVyVHJpZ2dlckVuZFF1ZXJ5KGVzdGF0 ZSk7CisJfQorCisJaWYgKGRpZEluaXQpCisJeworCQltdHN0YXRlLT5vcGVyYXRpb24gPSBvbGRP cGVyYXRpb247CisJCW10c3RhdGUtPm10X3RyYW5zaXRpb25fY2FwdHVyZSA9IG9sZFRjczsKKwor CQlpZiAoc2hvdWxkRnJlZSkKKwkJCWhlYXBfZnJlZXR1cGxlKG9sZHR1cGxlKTsKKwl9Cit9CisK IC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KICAqCQlFeGVjQmF0Y2hJbnNlcnQKICAqCkBAIC0xNTA4LDcgKzE3MDEsOCBA QCBFeGVjRGVsZXRlQWN0KE1vZGlmeVRhYmxlQ29udGV4dCAqY29udGV4dCwgUmVzdWx0UmVsSW5m byAqcmVzdWx0UmVsSW5mbywKICAqCiAgKiBDbG9zaW5nIHN0ZXBzIG9mIHR1cGxlIGRlbGV0aW9u OyB0aGlzIGludm9rZXMgQUZURVIgRk9SIEVBQ0ggUk9XIHRyaWdnZXJzLAogICogaW5jbHVkaW5n IHRoZSBVUERBVEUgdHJpZ2dlcnMgaWYgdGhlIGRlbGV0aW9uIGlzIGJlaW5nIGRvbmUgYXMgcGFy dCBvZiBhCi0gKiBjcm9zcy1wYXJ0aXRpb24gdHVwbGUgbW92ZS4KKyAqIGNyb3NzLXBhcnRpdGlv biB0dXBsZSBtb3ZlLiBJdCBhbHNvIGluc2VydHMgdGVtcG9yYWwgbGVmdG92ZXJzIGZyb20gYQor ICogREVMRVRFIEZPUiBQT1JUSU9OIE9GLgogICovCiBzdGF0aWMgdm9pZAogRXhlY0RlbGV0ZUVw aWxvZ3VlKE1vZGlmeVRhYmxlQ29udGV4dCAqY29udGV4dCwgUmVzdWx0UmVsSW5mbyAqcmVzdWx0 UmVsSW5mbywKQEAgLTE1NDEsNiArMTczNSwxMCBAQCBFeGVjRGVsZXRlRXBpbG9ndWUoTW9kaWZ5 VGFibGVDb250ZXh0ICpjb250ZXh0LCBSZXN1bHRSZWxJbmZvICpyZXN1bHRSZWxJbmZvLAogCQlh cl9kZWxldGVfdHJpZ190Y3MgPSBOVUxMOwogCX0KIAorCS8qIENvbXB1dGUgdGVtcG9yYWwgbGVm dG92ZXJzIGluIEZPUiBQT1JUSU9OIE9GICovCisJaWYgKCgoTW9kaWZ5VGFibGUgKikgY29udGV4 dC0+bXRzdGF0ZS0+cHMucGxhbiktPmZvclBvcnRpb25PZikKKwkJRXhlY0ZvclBvcnRpb25PZkxl ZnRvdmVycyhjb250ZXh0LCBlc3RhdGUsIHJlc3VsdFJlbEluZm8sIHR1cGxlaWQpOworCiAJLyog QUZURVIgUk9XIERFTEVURSBUcmlnZ2VycyAqLwogCUV4ZWNBUkRlbGV0ZVRyaWdnZXJzKGVzdGF0 ZSwgcmVzdWx0UmVsSW5mbywgdHVwbGVpZCwgb2xkdHVwbGUsCiAJCQkJCQkgYXJfZGVsZXRlX3Ry aWdfdGNzLCBjaGFuZ2luZ1BhcnQpOwpAQCAtMTk2Niw3ICsyMTY0LDEwIEBAIEV4ZWNDcm9zc1Bh cnRpdGlvblVwZGF0ZShNb2RpZnlUYWJsZUNvbnRleHQgKmNvbnRleHQsCiAJaWYgKHJlc3VsdFJl bEluZm8gPT0gbXRzdGF0ZS0+cm9vdFJlc3VsdFJlbEluZm8pCiAJCUV4ZWNQYXJ0aXRpb25DaGVj a0VtaXRFcnJvcihyZXN1bHRSZWxJbmZvLCBzbG90LCBlc3RhdGUpOwogCi0JLyogSW5pdGlhbGl6 ZSB0dXBsZSByb3V0aW5nIGluZm8gaWYgbm90IGFscmVhZHkgZG9uZS4gKi8KKwkvKgorCSAqIElu aXRpYWxpemUgdHVwbGUgcm91dGluZyBpbmZvIGlmIG5vdCBhbHJlYWR5IGRvbmUuIE5vdGUgd2hh dGV2ZXIgd2UgZG8KKwkgKiBoZXJlIG11c3QgYmUgZG9uZSBpbiBFeGVjSW5pdE1vZGlmeVRhYmxl IGZvciBGT1IgUE9SVElPTiBPRiBhcyB3ZWxsLgorCSAqLwogCWlmIChtdHN0YXRlLT5tdF9wYXJ0 aXRpb25fdHVwbGVfcm91dGluZyA9PSBOVUxMKQogCXsKIAkJUmVsYXRpb24Jcm9vdFJlbCA9IG10 c3RhdGUtPnJvb3RSZXN1bHRSZWxJbmZvLT5yaV9SZWxhdGlvbkRlc2M7CkBAIC0yMzE1LDcgKzI1 MTYsOCBAQCBscmVwbGFjZToKICAqIEV4ZWNVcGRhdGVFcGlsb2d1ZSAtLSBzdWJyb3V0aW5lIGZv ciBFeGVjVXBkYXRlCiAgKgogICogQ2xvc2luZyBzdGVwcyBvZiB1cGRhdGluZyBhIHR1cGxlLiAg TXVzdCBiZSBjYWxsZWQgaWYgRXhlY1VwZGF0ZUFjdAotICogcmV0dXJucyBpbmRpY2F0aW5nIHRo YXQgdGhlIHR1cGxlIHdhcyB1cGRhdGVkLgorICogcmV0dXJucyBpbmRpY2F0aW5nIHRoYXQgdGhl IHR1cGxlIHdhcyB1cGRhdGVkLiBJdCBhbHNvIGluc2VydHMgdGVtcG9yYWwKKyAqIGxlZnRvdmVy cyBmcm9tIGFuIFVQREFURSBGT1IgUE9SVElPTiBPRi4KICAqLwogc3RhdGljIHZvaWQKIEV4ZWNV cGRhdGVFcGlsb2d1ZShNb2RpZnlUYWJsZUNvbnRleHQgKmNvbnRleHQsIFVwZGF0ZUNvbnRleHQg KnVwZGF0ZUN4dCwKQEAgLTIzMzMsNiArMjUzNSwxMCBAQCBFeGVjVXBkYXRlRXBpbG9ndWUoTW9k aWZ5VGFibGVDb250ZXh0ICpjb250ZXh0LCBVcGRhdGVDb250ZXh0ICp1cGRhdGVDeHQsCiAJCQkJ CQkJCQkJCSAgIE5VTEwsIE5JTCwKIAkJCQkJCQkJCQkJICAgKHVwZGF0ZUN4dC0+dXBkYXRlSW5k ZXhlcyA9PSBUVV9TdW1tYXJpemluZykpOwogCisJLyogQ29tcHV0ZSB0ZW1wb3JhbCBsZWZ0b3Zl cnMgaW4gRk9SIFBPUlRJT04gT0YgKi8KKwlpZiAoKChNb2RpZnlUYWJsZSAqKSBjb250ZXh0LT5t dHN0YXRlLT5wcy5wbGFuKS0+Zm9yUG9ydGlvbk9mKQorCQlFeGVjRm9yUG9ydGlvbk9mTGVmdG92 ZXJzKGNvbnRleHQsIGNvbnRleHQtPmVzdGF0ZSwgcmVzdWx0UmVsSW5mbywgdHVwbGVpZCk7CisK IAkvKiBBRlRFUiBST1cgVVBEQVRFIFRyaWdnZXJzICovCiAJRXhlY0FSVXBkYXRlVHJpZ2dlcnMo Y29udGV4dC0+ZXN0YXRlLCByZXN1bHRSZWxJbmZvLAogCQkJCQkJIE5VTEwsIE5VTEwsCkBAIC01 MDgzLDYgKzUyODksMTE5IEBAIEV4ZWNJbml0TW9kaWZ5VGFibGUoTW9kaWZ5VGFibGUgKm5vZGUs IEVTdGF0ZSAqZXN0YXRlLCBpbnQgZWZsYWdzKQogCQl9CiAJfQogCisJLyoKKwkgKiBJZiBuZWVk ZWQsIGluaXRpYWxpemUgdGhlIHRhcmdldCByYW5nZSBmb3IgRk9SIFBPUlRJT04gT0YuCisJICov CisJaWYgKG5vZGUtPmZvclBvcnRpb25PZikKKwl7CisJCVJlc3VsdFJlbEluZm8gKnJvb3RSZWxJ bmZvOworCQlUdXBsZURlc2MJdHVwRGVzYzsKKwkJRm9yUG9ydGlvbk9mRXhwciAqZm9yUG9ydGlv bk9mOworCQlEYXR1bQkJdGFyZ2V0UmFuZ2U7CisJCWJvb2wJCWlzTnVsbDsKKwkJRXhwckNvbnRl eHQgKmVjb250ZXh0OworCQlFeHByU3RhdGUgICpleHByU3RhdGU7CisJCUZvclBvcnRpb25PZlN0 YXRlICpmcG9TdGF0ZTsKKworCQlyb290UmVsSW5mbyA9IG10c3RhdGUtPnJlc3VsdFJlbEluZm87 CisJCWlmIChyb290UmVsSW5mby0+cmlfUm9vdFJlc3VsdFJlbEluZm8pCisJCQlyb290UmVsSW5m byA9IHJvb3RSZWxJbmZvLT5yaV9Sb290UmVzdWx0UmVsSW5mbzsKKworCQl0dXBEZXNjID0gcm9v dFJlbEluZm8tPnJpX1JlbGF0aW9uRGVzYy0+cmRfYXR0OworCQlmb3JQb3J0aW9uT2YgPSAoRm9y UG9ydGlvbk9mRXhwciAqKSBub2RlLT5mb3JQb3J0aW9uT2Y7CisKKwkJLyogRXZhbCB0aGUgRk9S IFBPUlRJT04gT0YgdGFyZ2V0ICovCisJCWlmIChtdHN0YXRlLT5wcy5wc19FeHByQ29udGV4dCA9 PSBOVUxMKQorCQkJRXhlY0Fzc2lnbkV4cHJDb250ZXh0KGVzdGF0ZSwgJm10c3RhdGUtPnBzKTsK KwkJZWNvbnRleHQgPSBtdHN0YXRlLT5wcy5wc19FeHByQ29udGV4dDsKKworCQlleHByU3RhdGUg PSBFeGVjUHJlcGFyZUV4cHIoKEV4cHIgKikgZm9yUG9ydGlvbk9mLT50YXJnZXRSYW5nZSwgZXN0 YXRlKTsKKwkJdGFyZ2V0UmFuZ2UgPSBFeGVjRXZhbEV4cHIoZXhwclN0YXRlLCBlY29udGV4dCwg JmlzTnVsbCk7CisJCWlmIChpc051bGwpCisJCQllbG9nKEVSUk9SLCAiZ290IGEgTlVMTCBGT1Ig UE9SVElPTiBPRiB0YXJnZXQgcmFuZ2UiKTsKKworCQkvKiBDcmVhdGUgc3RhdGUgZm9yIEZPUiBQ T1JUSU9OIE9GIG9wZXJhdGlvbiAqLworCisJCWZwb1N0YXRlID0gbWFrZU5vZGUoRm9yUG9ydGlv bk9mU3RhdGUpOworCQlmcG9TdGF0ZS0+ZnBfcmFuZ2VOYW1lID0gZm9yUG9ydGlvbk9mLT5yYW5n ZV9uYW1lOworCQlmcG9TdGF0ZS0+ZnBfcmFuZ2VUeXBlID0gZm9yUG9ydGlvbk9mLT5yYW5nZVR5 cGU7CisJCWZwb1N0YXRlLT5mcF9yYW5nZUF0dG5vID0gZm9yUG9ydGlvbk9mLT5yYW5nZVZhci0+ dmFyYXR0bm87CisJCWZwb1N0YXRlLT5mcF90YXJnZXRSYW5nZSA9IHRhcmdldFJhbmdlOworCisJ CS8qIEluaXRpYWxpemUgc2xvdCBmb3IgdGhlIGV4aXN0aW5nIHR1cGxlICovCisKKwkJZnBvU3Rh dGUtPmZwX0V4aXN0aW5nID0KKwkJCXRhYmxlX3Nsb3RfY3JlYXRlKHJvb3RSZWxJbmZvLT5yaV9S ZWxhdGlvbkRlc2MsCisJCQkJCQkJICAmbXRzdGF0ZS0+cHMuc3RhdGUtPmVzX3R1cGxlVGFibGUp OworCisJCS8qIENyZWF0ZSB0aGUgdHVwbGUgc2xvdCBmb3IgSU5TRVJUaW5nIHRoZSB0ZW1wb3Jh bCBsZWZ0b3ZlcnMgKi8KKworCQlmcG9TdGF0ZS0+ZnBfTGVmdG92ZXIgPQorCQkJRXhlY0luaXRF eHRyYVR1cGxlU2xvdChtdHN0YXRlLT5wcy5zdGF0ZSwgdHVwRGVzYywgJlRUU09wc1ZpcnR1YWwp OworCisJCS8qCisJCSAqIFdlIG11c3QgYXR0YWNoIHRoZSBGb3JQb3J0aW9uT2ZTdGF0ZSB0byBh bGwgcmVzdWx0IHJlbHMsIGluIGNhc2Ugb2YKKwkJICogYSBjcm9zcy1wYXJ0aXRpb24gdXBkYXRl IG9yIHRyaWdnZXJzIGZpcmluZyBvbiBwYXJ0aXRpb25zLiBYWFg6IENhbgorCQkgKiB3ZSBkZWZl ciB0aGlzIHRvIG9ubHkgdGhlIGxlYWZzIHdlIHRvdWNoPworCQkgKi8KKwkJZm9yIChpID0gMDsg aSA8IG5yZWxzOyBpKyspCisJCXsKKwkJCUZvclBvcnRpb25PZlN0YXRlICpsZWFmU3RhdGU7CisK KwkJCXJlc3VsdFJlbEluZm8gPSAmbXRzdGF0ZS0+cmVzdWx0UmVsSW5mb1tpXTsKKworCQkJbGVh ZlN0YXRlID0gbWFrZU5vZGUoRm9yUG9ydGlvbk9mU3RhdGUpOworCQkJbGVhZlN0YXRlLT5mcF9y YW5nZU5hbWUgPSBmcG9TdGF0ZS0+ZnBfcmFuZ2VOYW1lOworCQkJbGVhZlN0YXRlLT5mcF9yYW5n ZVR5cGUgPSBmcG9TdGF0ZS0+ZnBfcmFuZ2VUeXBlOworCQkJbGVhZlN0YXRlLT5mcF9yYW5nZUF0 dG5vID0gZnBvU3RhdGUtPmZwX3JhbmdlQXR0bm87CisJCQlsZWFmU3RhdGUtPmZwX3RhcmdldFJh bmdlID0gZnBvU3RhdGUtPmZwX3RhcmdldFJhbmdlOworCQkJbGVhZlN0YXRlLT5mcF9MZWZ0b3Zl ciA9IGZwb1N0YXRlLT5mcF9MZWZ0b3ZlcjsKKwkJCS8qIEVhY2ggcGFydGl0aW9uIG5lZWRzIGEg c2xvdCBtYXRjaGluZyBpdHMgdHVwbGUgZGVzY3JpcHRvciAqLworCQkJbGVhZlN0YXRlLT5mcF9F eGlzdGluZyA9CisJCQkJdGFibGVfc2xvdF9jcmVhdGUocmVzdWx0UmVsSW5mby0+cmlfUmVsYXRp b25EZXNjLAorCQkJCQkJCQkgICZtdHN0YXRlLT5wcy5zdGF0ZS0+ZXNfdHVwbGVUYWJsZSk7CisK KwkJCXJlc3VsdFJlbEluZm8tPnJpX2ZvclBvcnRpb25PZiA9IGxlYWZTdGF0ZTsKKwkJfQorCisJ CS8qIE1ha2Ugc3VyZSB0aGUgcm9vdCByZWxhdGlvbiBoYXMgdGhlIEZPUiBQT1JUSU9OIE9GIGNs YXVzZSB0b28uICovCisJCWlmIChub2RlLT5yb290UmVsYXRpb24gPiAwKQorCQkJbXRzdGF0ZS0+ cm9vdFJlc3VsdFJlbEluZm8tPnJpX2ZvclBvcnRpb25PZiA9IGZwb1N0YXRlOworCisJCWlmIChy ZWwtPnJkX3JlbC0+cmVsa2luZCA9PSBSRUxLSU5EX1BBUlRJVElPTkVEX1RBQkxFICYmCisJCQlt dHN0YXRlLT5tdF9wYXJ0aXRpb25fdHVwbGVfcm91dGluZyA9PSBOVUxMKQorCQl7CisJCQkvKgor CQkJICogV2Ugd2lsbCBuZWVkIHR1cGxlIHJvdXRpbmcgdG8gaW5zZXJ0IHRlbXBvcmFsIGxlZnRv dmVycy4gU2luY2UKKwkJCSAqIHdlIGFyZSBpbml0aWFsaXppbmcgdGhpbmdzIGJlZm9yZSBFeGVj Q3Jvc3NQYXJ0aXRpb25VcGRhdGUKKwkJCSAqIHJ1bnMsIHdlIG11c3QgZG8gZXZlcnl0aGluZyBp dCBuZWVkcyBhcyB3ZWxsLgorCQkJICovCisJCQlSZWxhdGlvbglyb290UmVsID0gbXRzdGF0ZS0+ cm9vdFJlc3VsdFJlbEluZm8tPnJpX1JlbGF0aW9uRGVzYzsKKwkJCU1lbW9yeUNvbnRleHQgb2xk Y3h0OworCisJCQkvKiBUaGluZ3MgYnVpbHQgaGVyZSBoYXZlIHRvIGxhc3QgZm9yIHRoZSBxdWVy eSBkdXJhdGlvbi4gKi8KKwkJCW9sZGN4dCA9IE1lbW9yeUNvbnRleHRTd2l0Y2hUbyhlc3RhdGUt PmVzX3F1ZXJ5X2N4dCk7CisKKwkJCW10c3RhdGUtPm10X3BhcnRpdGlvbl90dXBsZV9yb3V0aW5n ID0KKwkJCQlFeGVjU2V0dXBQYXJ0aXRpb25UdXBsZVJvdXRpbmcoZXN0YXRlLCByb290UmVsKTsK KworCQkJLyoKKwkJCSAqIEJlZm9yZSBhIHBhcnRpdGlvbidzIHR1cGxlIGNhbiBiZSByZS1yb3V0 ZWQsIGl0IG11c3QgZmlyc3QKKwkJCSAqIGJlIGNvbnZlcnRlZCB0byB0aGUgcm9vdCdzIGZvcm1h dCwgc28gd2UnbGwgbmVlZCBhIHNsb3QgZm9yCisJCQkgKiBzdG9yaW5nIHN1Y2ggdHVwbGVzLgor CQkJICovCisJCQlBc3NlcnQobXRzdGF0ZS0+bXRfcm9vdF90dXBsZV9zbG90ID09IE5VTEwpOwor CQkJbXRzdGF0ZS0+bXRfcm9vdF90dXBsZV9zbG90ID0gdGFibGVfc2xvdF9jcmVhdGUocm9vdFJl bCwgTlVMTCk7CisKKwkJCU1lbW9yeUNvbnRleHRTd2l0Y2hUbyhvbGRjeHQpOworCQl9CisKKwkJ LyoKKwkJICogRG9uJ3QgZnJlZSB0aGUgRXhwckNvbnRleHQgaGVyZSBiZWNhdXNlIHRoZSByZXN1 bHQgbXVzdCBsYXN0IGZvcgorCQkgKiB0aGUgd2hvbGUgcXVlcnkKKwkJICovCisJfQorCiAJLyoK IAkgKiBJZiB3ZSBoYXZlIGFueSBzZWNvbmRhcnkgcmVsYXRpb25zIGluIGFuIFVQREFURSBvciBE RUxFVEUsIHRoZXkgbmVlZCB0bwogCSAqIGJlIHRyZWF0ZWQgbGlrZSBub24tbG9ja2VkIHJlbGF0 aW9ucyBpbiBTRUxFQ1QgRk9SIFVQREFURSwgaS5lLiwgdGhlCmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC9ub2Rlcy9ub2RlRnVuY3MuYyBiL3NyYy9iYWNrZW5kL25vZGVzL25vZGVGdW5jcy5jCmlu ZGV4IGVkZTgzOGNkNDBjLi5lNDBlOGVlY2Y3MyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvbm9k ZXMvbm9kZUZ1bmNzLmMKKysrIGIvc3JjL2JhY2tlbmQvbm9kZXMvbm9kZUZ1bmNzLmMKQEAgLTI1 NjcsNiArMjU2NywxNCBAQCBleHByZXNzaW9uX3RyZWVfd2Fsa2VyX2ltcGwoTm9kZSAqbm9kZSwK IAkJCQkJcmV0dXJuIHRydWU7CiAJCQl9CiAJCQlicmVhazsKKwkJY2FzZSBUX0ZvclBvcnRpb25P ZkV4cHI6CisJCQl7CisJCQkJRm9yUG9ydGlvbk9mRXhwciAqZm9yUG9ydGlvbk9mID0gKEZvclBv cnRpb25PZkV4cHIgKikgbm9kZTsKKworCQkJCWlmIChXQUxLKGZvclBvcnRpb25PZi0+dGFyZ2V0 UmFuZ2UpKQorCQkJCQlyZXR1cm4gdHJ1ZTsKKwkJCX0KKwkJCWJyZWFrOwogCQljYXNlIFRfUGFy dGl0aW9uUHJ1bmVTdGVwT3A6CiAJCQl7CiAJCQkJUGFydGl0aW9uUHJ1bmVTdGVwT3AgKm9wc3Rl cCA9IChQYXJ0aXRpb25QcnVuZVN0ZXBPcCAqKSBub2RlOwpAQCAtMjcxNSw2ICsyNzIzLDggQEAg cXVlcnlfdHJlZV93YWxrZXJfaW1wbChRdWVyeSAqcXVlcnksCiAJCXJldHVybiB0cnVlOwogCWlm IChXQUxLKHF1ZXJ5LT5tZXJnZUpvaW5Db25kaXRpb24pKQogCQlyZXR1cm4gdHJ1ZTsKKwlpZiAo V0FMSyhxdWVyeS0+Zm9yUG9ydGlvbk9mKSkKKwkJcmV0dXJuIHRydWU7CiAJaWYgKFdBTEsocXVl cnktPnJldHVybmluZ0xpc3QpKQogCQlyZXR1cm4gdHJ1ZTsKIAlpZiAoV0FMSyhxdWVyeS0+am9p bnRyZWUpKQpAQCAtMzYwOSw2ICszNjE5LDE5IEBAIGV4cHJlc3Npb25fdHJlZV9tdXRhdG9yX2lt cGwoTm9kZSAqbm9kZSwKIAkJCQlyZXR1cm4gKE5vZGUgKikgbmV3bm9kZTsKIAkJCX0KIAkJCWJy ZWFrOworCQljYXNlIFRfRm9yUG9ydGlvbk9mRXhwcjoKKwkJCXsKKwkJCQlGb3JQb3J0aW9uT2ZF eHByICpmcG8gPSAoRm9yUG9ydGlvbk9mRXhwciAqKSBub2RlOworCQkJCUZvclBvcnRpb25PZkV4 cHIgKm5ld25vZGU7CisKKwkJCQlGTEFUQ09QWShuZXdub2RlLCBmcG8sIEZvclBvcnRpb25PZkV4 cHIpOworCQkJCU1VVEFURShuZXdub2RlLT5yYW5nZVZhciwgZnBvLT5yYW5nZVZhciwgVmFyICop OworCQkJCU1VVEFURShuZXdub2RlLT50YXJnZXRSYW5nZSwgZnBvLT50YXJnZXRSYW5nZSwgTm9k ZSAqKTsKKwkJCQlNVVRBVEUobmV3bm9kZS0+cmFuZ2VUYXJnZXRMaXN0LCBmcG8tPnJhbmdlVGFy Z2V0TGlzdCwgTGlzdCAqKTsKKworCQkJCXJldHVybiAoTm9kZSAqKSBuZXdub2RlOworCQkJfQor CQkJYnJlYWs7CiAJCWNhc2UgVF9QYXJ0aXRpb25QcnVuZVN0ZXBPcDoKIAkJCXsKIAkJCQlQYXJ0 aXRpb25QcnVuZVN0ZXBPcCAqb3BzdGVwID0gKFBhcnRpdGlvblBydW5lU3RlcE9wICopIG5vZGU7 CkBAIC0zNzkwLDYgKzM4MTMsNyBAQCBxdWVyeV90cmVlX211dGF0b3JfaW1wbChRdWVyeSAqcXVl cnksCiAJTVVUQVRFKHF1ZXJ5LT5vbkNvbmZsaWN0LCBxdWVyeS0+b25Db25mbGljdCwgT25Db25m bGljdEV4cHIgKik7CiAJTVVUQVRFKHF1ZXJ5LT5tZXJnZUFjdGlvbkxpc3QsIHF1ZXJ5LT5tZXJn ZUFjdGlvbkxpc3QsIExpc3QgKik7CiAJTVVUQVRFKHF1ZXJ5LT5tZXJnZUpvaW5Db25kaXRpb24s IHF1ZXJ5LT5tZXJnZUpvaW5Db25kaXRpb24sIE5vZGUgKik7CisJTVVUQVRFKHF1ZXJ5LT5mb3JQ b3J0aW9uT2YsIHF1ZXJ5LT5mb3JQb3J0aW9uT2YsIEZvclBvcnRpb25PZkV4cHIgKik7CiAJTVVU QVRFKHF1ZXJ5LT5yZXR1cm5pbmdMaXN0LCBxdWVyeS0+cmV0dXJuaW5nTGlzdCwgTGlzdCAqKTsK IAlNVVRBVEUocXVlcnktPmpvaW50cmVlLCBxdWVyeS0+am9pbnRyZWUsIEZyb21FeHByICopOwog CU1VVEFURShxdWVyeS0+c2V0T3BlcmF0aW9ucywgcXVlcnktPnNldE9wZXJhdGlvbnMsIE5vZGUg Kik7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9jcmVhdGVwbGFuLmMg Yi9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9jcmVhdGVwbGFuLmMKaW5kZXggOGFmMDkxYmE2 NDcuLjRhNDNmNTc5Zjg0IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9j cmVhdGVwbGFuLmMKKysrIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vY3JlYXRlcGxhbi5j CkBAIC0zMTYsNyArMzE2LDcgQEAgc3RhdGljIE1vZGlmeVRhYmxlICptYWtlX21vZGlmeXRhYmxl KFBsYW5uZXJJbmZvICpyb290LCBQbGFuICpzdWJwbGFuLAogCQkJCQkJCQkJIExpc3QgKndpdGhD aGVja09wdGlvbkxpc3RzLCBMaXN0ICpyZXR1cm5pbmdMaXN0cywKIAkJCQkJCQkJCSBMaXN0ICpy b3dNYXJrcywgT25Db25mbGljdEV4cHIgKm9uY29uZmxpY3QsCiAJCQkJCQkJCQkgTGlzdCAqbWVy Z2VBY3Rpb25MaXN0cywgTGlzdCAqbWVyZ2VKb2luQ29uZGl0aW9ucywKLQkJCQkJCQkJCSBpbnQg ZXBxUGFyYW0pOworCQkJCQkJCQkJIEZvclBvcnRpb25PZkV4cHIgKmZvclBvcnRpb25PZiwgaW50 IGVwcVBhcmFtKTsKIHN0YXRpYyBHYXRoZXJNZXJnZSAqY3JlYXRlX2dhdGhlcl9tZXJnZV9wbGFu KFBsYW5uZXJJbmZvICpyb290LAogCQkJCQkJCQkJCQkgR2F0aGVyTWVyZ2VQYXRoICpiZXN0X3Bh dGgpOwogCkBAIC0yNjc1LDYgKzI2NzUsNyBAQCBjcmVhdGVfbW9kaWZ5dGFibGVfcGxhbihQbGFu bmVySW5mbyAqcm9vdCwgTW9kaWZ5VGFibGVQYXRoICpiZXN0X3BhdGgpCiAJCQkJCQkJYmVzdF9w YXRoLT5vbmNvbmZsaWN0LAogCQkJCQkJCWJlc3RfcGF0aC0+bWVyZ2VBY3Rpb25MaXN0cywKIAkJ CQkJCQliZXN0X3BhdGgtPm1lcmdlSm9pbkNvbmRpdGlvbnMsCisJCQkJCQkJYmVzdF9wYXRoLT5m b3JQb3J0aW9uT2YsCiAJCQkJCQkJYmVzdF9wYXRoLT5lcHFQYXJhbSk7CiAKIAljb3B5X2dlbmVy aWNfcGF0aF9pbmZvKCZwbGFuLT5wbGFuLCAmYmVzdF9wYXRoLT5wYXRoKTsKQEAgLTcwMDEsNyAr NzAwMiw3IEBAIG1ha2VfbW9kaWZ5dGFibGUoUGxhbm5lckluZm8gKnJvb3QsIFBsYW4gKnN1YnBs YW4sCiAJCQkJIExpc3QgKndpdGhDaGVja09wdGlvbkxpc3RzLCBMaXN0ICpyZXR1cm5pbmdMaXN0 cywKIAkJCQkgTGlzdCAqcm93TWFya3MsIE9uQ29uZmxpY3RFeHByICpvbmNvbmZsaWN0LAogCQkJ CSBMaXN0ICptZXJnZUFjdGlvbkxpc3RzLCBMaXN0ICptZXJnZUpvaW5Db25kaXRpb25zLAotCQkJ CSBpbnQgZXBxUGFyYW0pCisJCQkJIEZvclBvcnRpb25PZkV4cHIgKmZvclBvcnRpb25PZiwgaW50 IGVwcVBhcmFtKQogewogCU1vZGlmeVRhYmxlICpub2RlID0gbWFrZU5vZGUoTW9kaWZ5VGFibGUp OwogCWJvb2wJCXJldHVybmluZ19vbGRfb3JfbmV3ID0gZmFsc2U7CkBAIC03MDcwLDYgKzcwNzEs NyBAQCBtYWtlX21vZGlmeXRhYmxlKFBsYW5uZXJJbmZvICpyb290LCBQbGFuICpzdWJwbGFuLAog CQlub2RlLT5leGNsUmVsVGxpc3QgPSBvbmNvbmZsaWN0LT5leGNsUmVsVGxpc3Q7CiAJfQogCW5v ZGUtPnVwZGF0ZUNvbG5vc0xpc3RzID0gdXBkYXRlQ29sbm9zTGlzdHM7CisJbm9kZS0+Zm9yUG9y dGlvbk9mID0gKE5vZGUgKikgZm9yUG9ydGlvbk9mOwogCW5vZGUtPndpdGhDaGVja09wdGlvbkxp c3RzID0gd2l0aENoZWNrT3B0aW9uTGlzdHM7CiAJbm9kZS0+cmV0dXJuaW5nT2xkQWxpYXMgPSBy b290LT5wYXJzZS0+cmV0dXJuaW5nT2xkQWxpYXM7CiAJbm9kZS0+cmV0dXJuaW5nTmV3QWxpYXMg PSByb290LT5wYXJzZS0+cmV0dXJuaW5nTmV3QWxpYXM7CmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9vcHRpbWl6ZXIvcGxhbi9wbGFubmVyLmMgYi9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9w bGFubmVyLmMKaW5kZXggYzRmZDY0NmI5OTkuLjdlMmYxOWZiNWUyIDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9wbGFubmVyLmMKKysrIGIvc3JjL2JhY2tlbmQvb3B0aW1p emVyL3BsYW4vcGxhbm5lci5jCkBAIC0yMTUxLDYgKzIxNTEsNyBAQCBncm91cGluZ19wbGFubmVy KFBsYW5uZXJJbmZvICpyb290LCBkb3VibGUgdHVwbGVfZnJhY3Rpb24sCiAJCQkJCQkJCQkJcGFy c2UtPm9uQ29uZmxpY3QsCiAJCQkJCQkJCQkJbWVyZ2VBY3Rpb25MaXN0cywKIAkJCQkJCQkJCQlt ZXJnZUpvaW5Db25kaXRpb25zLAorCQkJCQkJCQkJCXBhcnNlLT5mb3JQb3J0aW9uT2YsCiAJCQkJ CQkJCQkJYXNzaWduX3NwZWNpYWxfZXhlY19wYXJhbShyb290KSk7CiAJCX0KIApkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3V0aWwvcGF0aG5vZGUuYyBiL3NyYy9iYWNrZW5kL29w dGltaXplci91dGlsL3BhdGhub2RlLmMKaW5kZXggZTRmZDY5NTBmYWQuLjMyYjE5MzBiOTQ1IDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvdXRpbC9wYXRobm9kZS5jCisrKyBiL3Ny Yy9iYWNrZW5kL29wdGltaXplci91dGlsL3BhdGhub2RlLmMKQEAgLTM2MzUsNyArMzYzNSw3IEBA IGNyZWF0ZV9tb2RpZnl0YWJsZV9wYXRoKFBsYW5uZXJJbmZvICpyb290LCBSZWxPcHRJbmZvICpy ZWwsCiAJCQkJCQlMaXN0ICp3aXRoQ2hlY2tPcHRpb25MaXN0cywgTGlzdCAqcmV0dXJuaW5nTGlz dHMsCiAJCQkJCQlMaXN0ICpyb3dNYXJrcywgT25Db25mbGljdEV4cHIgKm9uY29uZmxpY3QsCiAJ CQkJCQlMaXN0ICptZXJnZUFjdGlvbkxpc3RzLCBMaXN0ICptZXJnZUpvaW5Db25kaXRpb25zLAot CQkJCQkJaW50IGVwcVBhcmFtKQorCQkJCQkJRm9yUG9ydGlvbk9mRXhwciAqZm9yUG9ydGlvbk9m LCBpbnQgZXBxUGFyYW0pCiB7CiAJTW9kaWZ5VGFibGVQYXRoICpwYXRobm9kZSA9IG1ha2VOb2Rl KE1vZGlmeVRhYmxlUGF0aCk7CiAKQEAgLTM3MDEsNiArMzcwMSw3IEBAIGNyZWF0ZV9tb2RpZnl0 YWJsZV9wYXRoKFBsYW5uZXJJbmZvICpyb290LCBSZWxPcHRJbmZvICpyZWwsCiAJcGF0aG5vZGUt PnJldHVybmluZ0xpc3RzID0gcmV0dXJuaW5nTGlzdHM7CiAJcGF0aG5vZGUtPnJvd01hcmtzID0g cm93TWFya3M7CiAJcGF0aG5vZGUtPm9uY29uZmxpY3QgPSBvbmNvbmZsaWN0OworCXBhdGhub2Rl LT5mb3JQb3J0aW9uT2YgPSBmb3JQb3J0aW9uT2Y7CiAJcGF0aG5vZGUtPmVwcVBhcmFtID0gZXBx UGFyYW07CiAJcGF0aG5vZGUtPm1lcmdlQWN0aW9uTGlzdHMgPSBtZXJnZUFjdGlvbkxpc3RzOwog CXBhdGhub2RlLT5tZXJnZUpvaW5Db25kaXRpb25zID0gbWVyZ2VKb2luQ29uZGl0aW9uczsKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9hbmFseXplLmMgYi9zcmMvYmFja2VuZC9wYXJz ZXIvYW5hbHl6ZS5jCmluZGV4IDNiMzkyYjA4NGFkLi5hMGIxOWY1ODE3ZiAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvcGFyc2VyL2FuYWx5emUuYworKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvYW5h bHl6ZS5jCkBAIC0yNCw3ICsyNCwxMCBAQAogCiAjaW5jbHVkZSAicG9zdGdyZXMuaCIKIAorI2lu Y2x1ZGUgImFjY2Vzcy9zdHJhdG51bS5oIgogI2luY2x1ZGUgImFjY2Vzcy9zeXNhdHRyLmgiCisj aW5jbHVkZSAiY2F0YWxvZy9wZ19hbS5oIgorI2luY2x1ZGUgImNhdGFsb2cvcGdfb3BlcmF0b3Iu aCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3Byb2MuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3R5 cGUuaCIKICNpbmNsdWRlICJjb21tYW5kcy9kZWZyZW0uaCIKQEAgLTUwLDcgKzUzLDkgQEAKICNp bmNsdWRlICJwYXJzZXIvcGFyc2V0cmVlLmgiCiAjaW5jbHVkZSAidXRpbHMvYmFja2VuZF9zdGF0 dXMuaCIKICNpbmNsdWRlICJ1dGlscy9idWlsdGlucy5oIgorI2luY2x1ZGUgInV0aWxzL2ZtZ3Jv aWRzLmgiCiAjaW5jbHVkZSAidXRpbHMvZ3VjLmgiCisjaW5jbHVkZSAidXRpbHMvbHN5c2NhY2hl LmgiCiAjaW5jbHVkZSAidXRpbHMvcmVsLmgiCiAjaW5jbHVkZSAidXRpbHMvc3lzY2FjaGUuaCIK IApAQCAtNjcsMTAgKzcyLDE2IEBAIHR5cGVkZWYgc3RydWN0IFNlbGVjdFN0bXRQYXNzdGhyb3Vn aAogcG9zdF9wYXJzZV9hbmFseXplX2hvb2tfdHlwZSBwb3N0X3BhcnNlX2FuYWx5emVfaG9vayA9 IE5VTEw7CiAKIHN0YXRpYyBRdWVyeSAqdHJhbnNmb3JtT3B0aW9uYWxTZWxlY3RJbnRvKFBhcnNl U3RhdGUgKnBzdGF0ZSwgTm9kZSAqcGFyc2VUcmVlKTsKK3N0YXRpYyBOb2RlICphZGRGb3JQb3J0 aW9uT2ZXaGVyZUNvbmRpdGlvbnMoUXVlcnkgKnFyeSwgRm9yUG9ydGlvbk9mQ2xhdXNlICpmb3JQ b3J0aW9uT2YsCisJCQkJCQkJCQkJCU5vZGUgKndoZXJlQ2xhdXNlKTsKIHN0YXRpYyBRdWVyeSAq dHJhbnNmb3JtRGVsZXRlU3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIERlbGV0ZVN0bXQgKnN0bXQp Owogc3RhdGljIFF1ZXJ5ICp0cmFuc2Zvcm1JbnNlcnRTdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwg SW5zZXJ0U3RtdCAqc3RtdCk7CiBzdGF0aWMgT25Db25mbGljdEV4cHIgKnRyYW5zZm9ybU9uQ29u ZmxpY3RDbGF1c2UoUGFyc2VTdGF0ZSAqcHN0YXRlLAogCQkJCQkJCQkJCQkJIE9uQ29uZmxpY3RD bGF1c2UgKm9uQ29uZmxpY3RDbGF1c2UpOworc3RhdGljIEZvclBvcnRpb25PZkV4cHIgKnRyYW5z Zm9ybUZvclBvcnRpb25PZkNsYXVzZShQYXJzZVN0YXRlICpwc3RhdGUsCisJCQkJCQkJCQkJCQkJ IGludCBydGluZGV4LAorCQkJCQkJCQkJCQkJCSBGb3JQb3J0aW9uT2ZDbGF1c2UgKmZvclBvcnRp b25PZkNsYXVzZSwKKwkJCQkJCQkJCQkJCQkgYm9vbCBpc1VwZGF0ZSk7CiBzdGF0aWMgaW50CWNv dW50X3Jvd2V4cHJfY29sdW1ucyhQYXJzZVN0YXRlICpwc3RhdGUsIE5vZGUgKmV4cHIpOwogc3Rh dGljIFF1ZXJ5ICp0cmFuc2Zvcm1TZWxlY3RTdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgU2VsZWN0 U3RtdCAqc3RtdCwKIAkJCQkJCQkJICBTZWxlY3RTdG10UGFzc3Rocm91Z2ggKnBhc3N0aHJ1KTsK QEAgLTQ5Myw2ICs1MDQsMzUgQEAgc3RtdF9yZXF1aXJlc19wYXJzZV9hbmFseXNpcyhSYXdTdG10 ICpwYXJzZVRyZWUpCiAJcmV0dXJuIHJlc3VsdDsKIH0KIAorLyoKKyAqIGFkZEZvclBvcnRpb25P ZldoZXJlQ29uZGl0aW9ucworICoJCUFkZHMgYSBxdWFsIHRvIHJlc3RyaWN0IHRoZSBxdWVyeSB0 byByb3dzIG1hdGNoaW5nIHRoZSBGT1IgUE9SVElPTiBPRgorICoJCUZST00gLi4uIFRPIGJvdW5k cy4KKyAqCisgKglJZiBmb3JQb3J0aW9uT2YgaXMgc2V0LCBxcnktPmZvclBvcnRpb25PZiBtdXN0 IGJlIHRvby4KKyAqLworc3RhdGljIE5vZGUgKgorYWRkRm9yUG9ydGlvbk9mV2hlcmVDb25kaXRp b25zKFF1ZXJ5ICpxcnksIEZvclBvcnRpb25PZkNsYXVzZSAqZm9yUG9ydGlvbk9mLAorCQkJCQkJ CSAgIE5vZGUgKndoZXJlQ2xhdXNlKQoreworCWlmIChmb3JQb3J0aW9uT2YpCisJeworCQlOb2Rl ICpvdmVybGFwc0V4cHI7CisJCUFzc2VydChxcnktPmZvclBvcnRpb25PZik7CisKKwkJb3Zlcmxh cHNFeHByID0gcXJ5LT5mb3JQb3J0aW9uT2YtPm92ZXJsYXBzRXhwcjsKKworCQlpZiAod2hlcmVD bGF1c2UpCisJCQlyZXR1cm4gKE5vZGUgKikgbWFrZUJvb2xFeHByKEFORF9FWFBSLAorCQkJCQkJ CQkJCSBsaXN0X21ha2UyKHdoZXJlQ2xhdXNlLCBvdmVybGFwc0V4cHIpLAorCQkJCQkJCQkJCSAt MSk7CisJCWVsc2UKKwkJCXJldHVybiBvdmVybGFwc0V4cHI7CisJfQorCWVsc2UKKwkJcmV0dXJu IHdoZXJlQ2xhdXNlOworfQorCiAvKgogICogYW5hbHl6ZV9yZXF1aXJlc19zbmFwc2hvdAogICoJ CVJldHVybnMgdHJ1ZSBpZiBhIHNuYXBzaG90IG11c3QgYmUgc2V0IGJlZm9yZSBkb2luZyBwYXJz ZSBhbmFseXNpcwpAQCAtNTY1LDYgKzYwNSw3IEBAIHRyYW5zZm9ybURlbGV0ZVN0bXQoUGFyc2VT dGF0ZSAqcHN0YXRlLCBEZWxldGVTdG10ICpzdG10KQogewogCVF1ZXJ5CSAgICpxcnkgPSBtYWtl Tm9kZShRdWVyeSk7CiAJUGFyc2VOYW1lc3BhY2VJdGVtICpuc2l0ZW07CisJTm9kZQkgICAqd2hl cmVDbGF1c2U7CiAJTm9kZQkgICAqcXVhbDsKIAogCXFyeS0+Y29tbWFuZFR5cGUgPSBDTURfREVM RVRFOwpAQCAtNjAzLDcgKzY0NCwxMSBAQCB0cmFuc2Zvcm1EZWxldGVTdG10KFBhcnNlU3RhdGUg KnBzdGF0ZSwgRGVsZXRlU3RtdCAqc3RtdCkKIAluc2l0ZW0tPnBfbGF0ZXJhbF9vbmx5ID0gZmFs c2U7CiAJbnNpdGVtLT5wX2xhdGVyYWxfb2sgPSB0cnVlOwogCi0JcXVhbCA9IHRyYW5zZm9ybVdo ZXJlQ2xhdXNlKHBzdGF0ZSwgc3RtdC0+d2hlcmVDbGF1c2UsCisJaWYgKHN0bXQtPmZvclBvcnRp b25PZikKKwkJcXJ5LT5mb3JQb3J0aW9uT2YgPSB0cmFuc2Zvcm1Gb3JQb3J0aW9uT2ZDbGF1c2Uo cHN0YXRlLCBxcnktPnJlc3VsdFJlbGF0aW9uLCBzdG10LT5mb3JQb3J0aW9uT2YsIGZhbHNlKTsK KworCXdoZXJlQ2xhdXNlID0gYWRkRm9yUG9ydGlvbk9mV2hlcmVDb25kaXRpb25zKHFyeSwgc3Rt dC0+Zm9yUG9ydGlvbk9mLCBzdG10LT53aGVyZUNsYXVzZSk7CisJcXVhbCA9IHRyYW5zZm9ybVdo ZXJlQ2xhdXNlKHBzdGF0ZSwgd2hlcmVDbGF1c2UsCiAJCQkJCQkJCUVYUFJfS0lORF9XSEVSRSwg IldIRVJFIik7CiAKIAl0cmFuc2Zvcm1SZXR1cm5pbmdDbGF1c2UocHN0YXRlLCBxcnksIHN0bXQt PnJldHVybmluZ0NsYXVzZSwKQEAgLTEyMzgsNyArMTI4Myw3IEBAIHRyYW5zZm9ybU9uQ29uZmxp Y3RDbGF1c2UoUGFyc2VTdGF0ZSAqcHN0YXRlLAogCQkgKiBOb3cgdHJhbnNmb3JtIHRoZSBVUERB VEUgc3ViZXhwcmVzc2lvbnMuCiAJCSAqLwogCQlvbkNvbmZsaWN0U2V0ID0KLQkJCXRyYW5zZm9y bVVwZGF0ZVRhcmdldExpc3QocHN0YXRlLCBvbkNvbmZsaWN0Q2xhdXNlLT50YXJnZXRMaXN0KTsK KwkJCXRyYW5zZm9ybVVwZGF0ZVRhcmdldExpc3QocHN0YXRlLCBvbkNvbmZsaWN0Q2xhdXNlLT50 YXJnZXRMaXN0LCBOVUxMKTsKIAogCQlvbkNvbmZsaWN0V2hlcmUgPSB0cmFuc2Zvcm1XaGVyZUNs YXVzZShwc3RhdGUsCiAJCQkJCQkJCQkJCSAgIG9uQ29uZmxpY3RDbGF1c2UtPndoZXJlQ2xhdXNl LApAQCAtMTI2OCw2ICsxMzEzLDE5NCBAQCB0cmFuc2Zvcm1PbkNvbmZsaWN0Q2xhdXNlKFBhcnNl U3RhdGUgKnBzdGF0ZSwKIAlyZXR1cm4gcmVzdWx0OwogfQogCisvKgorICogdHJhbnNmb3JtRm9y UG9ydGlvbk9mQ2xhdXNlCisgKgorICoJICBUcmFuc2Zvcm1zIGEgRm9yUG9ydGlvbk9mQ2xhdXNl IGluIGFuIFVQREFURS9ERUxFVEUgc3RhdGVtZW50LgorICoKKyAqCSAgLSBMb29rIHVwIHRoZSBy YW5nZS9wZXJpb2QgcmVxdWVzdGVkLgorICoJICAtIEJ1aWxkIGEgY29tcGF0aWJsZSByYW5nZSB2 YWx1ZSBmcm9tIHRoZSBGUk9NIGFuZCBUTyBleHByZXNzaW9ucy4KKyAqCSAgLSBCdWlsZCBhbiAi b3ZlcmxhcHMiIGV4cHJlc3Npb24gZm9yIGZpbHRlcmluZy4KKyAqCSAgLSBGb3IgVVBEQVRFcywg YnVpbGQgYW4gImludGVyc2VjdHMiIGV4cHJlc3Npb24gdGhlIHJld3JpdGVyIGNhbiBhZGQKKyAq CQl0byB0aGUgdGFyZ2V0TGlzdCB0byBjaGFuZ2UgdGhlIHRlbXBvcmFsIGJvdW5kcy4KKyAqLwor c3RhdGljIEZvclBvcnRpb25PZkV4cHIgKgordHJhbnNmb3JtRm9yUG9ydGlvbk9mQ2xhdXNlKFBh cnNlU3RhdGUgKnBzdGF0ZSwKKwkJCQkJCQlpbnQgcnRpbmRleCwKKwkJCQkJCQlGb3JQb3J0aW9u T2ZDbGF1c2UgKmZvclBvcnRpb25PZiwKKwkJCQkJCQlib29sIGlzVXBkYXRlKQoreworCVJlbGF0 aW9uCXRhcmdldHJlbCA9IHBzdGF0ZS0+cF90YXJnZXRfcmVsYXRpb247CisJUlRFUGVybWlzc2lv bkluZm8gKnRhcmdldF9wZXJtaW5mbyA9IHBzdGF0ZS0+cF90YXJnZXRfbnNpdGVtLT5wX3Blcm1p bmZvOworCWNoYXIJICAgKnJhbmdlX25hbWUgPSBmb3JQb3J0aW9uT2YtPnJhbmdlX25hbWU7CisJ Y2hhcgkgICAqcmFuZ2VfdHlwZV9uYW1lc3BhY2UgPSBOVUxMOworCWNoYXIJICAgKnJhbmdlX3R5 cGVfbmFtZSA9IE5VTEw7CisJaW50CQkJcmFuZ2VfYXR0bm8gPSBJbnZhbGlkQXR0ck51bWJlcjsK KwlGb3JtX3BnX2F0dHJpYnV0ZSBhdHRyOworCU9pZAkJCW9wY2xhc3M7CisJT2lkCQkJb3BmYW1p bHk7CisJT2lkCQkJb3BjaW50eXBlOworCU9pZAkJCWZ1bmNpZCA9IEludmFsaWRPaWQ7CisJU3Ry YXRlZ3lOdW1iZXIgc3RyYXQ7CisJT2lkCQkJb3BpZDsKKwlGb3JQb3J0aW9uT2ZFeHByICpyZXN1 bHQ7CisJVmFyCQkgICAqcmFuZ2VWYXI7CisJTm9kZQkgICAqdGFyZ2V0RXhwcjsKKworCS8qIFdl IGRvbid0IHN1cHBvcnQgRk9SIFBPUlRJT04gT0YgRkRXIHF1ZXJpZXMuICovCisJaWYgKHRhcmdl dHJlbC0+cmRfcmVsLT5yZWxraW5kID09IFJFTEtJTkRfRk9SRUlHTl9UQUJMRSkKKwkJZXJlcG9y dChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX0ZFQVRVUkVfTk9UX1NVUFBPUlRFRCksCisJ CQkJIGVycm1zZygiZm9yZWlnbiB0YWJsZXMgZG9uJ3Qgc3VwcG9ydCBGT1IgUE9SVElPTiBPRiIp KSk7CisKKwlyZXN1bHQgPSBtYWtlTm9kZShGb3JQb3J0aW9uT2ZFeHByKTsKKworCS8qIExvb2sg dXAgdGhlIEZPUiBQT1JUSU9OIE9GIG5hbWUgcmVxdWVzdGVkLiAqLworCXJhbmdlX2F0dG5vID0g YXR0bmFtZUF0dE51bSh0YXJnZXRyZWwsIHJhbmdlX25hbWUsIGZhbHNlKTsKKwlpZiAocmFuZ2Vf YXR0bm8gPT0gSW52YWxpZEF0dHJOdW1iZXIpCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNv ZGUoRVJSQ09ERV9VTkRFRklORURfQ09MVU1OKSwKKwkJCQkgZXJybXNnKCJjb2x1bW4gb3IgcGVy aW9kIFwiJXNcIiBvZiByZWxhdGlvbiBcIiVzXCIgZG9lcyBub3QgZXhpc3QiLAorCQkJCQkJcmFu Z2VfbmFtZSwKKwkJCQkJCVJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKHRhcmdldHJlbCkpLAorCQkJ CSBwYXJzZXJfZXJycG9zaXRpb24ocHN0YXRlLCBmb3JQb3J0aW9uT2YtPmxvY2F0aW9uKSkpOwor CWF0dHIgPSBUdXBsZURlc2NBdHRyKHRhcmdldHJlbC0+cmRfYXR0LCByYW5nZV9hdHRubyAtIDEp OworCisJcmFuZ2VWYXIgPSBtYWtlVmFyKAorCQkJCQkgICBydGluZGV4LAorCQkJCQkgICByYW5n ZV9hdHRubywKKwkJCQkJICAgYXR0ci0+YXR0dHlwaWQsCisJCQkJCSAgIGF0dHItPmF0dHR5cG1v ZCwKKwkJCQkJICAgYXR0ci0+YXR0Y29sbGF0aW9uLAorCQkJCQkgICAwKTsKKwlyYW5nZVZhci0+ bG9jYXRpb24gPSBmb3JQb3J0aW9uT2YtPmxvY2F0aW9uOworCXJlc3VsdC0+cmFuZ2VWYXIgPSBy YW5nZVZhcjsKKwlyZXN1bHQtPnJhbmdlVHlwZSA9IGF0dHItPmF0dHR5cGlkOworCWlmICghZ2V0 X3R5cG5hbWVfYW5kX25hbWVzcGFjZShhdHRyLT5hdHR0eXBpZCwgJnJhbmdlX3R5cGVfbmFtZSwg JnJhbmdlX3R5cGVfbmFtZXNwYWNlKSkKKwkJZWxvZyhFUlJPUiwgImNhY2hlIGxvb2t1cCBmYWls ZWQgZm9yIHR5cGUgJXUiLCBhdHRyLT5hdHR0eXBpZCk7CisKKworCWlmIChmb3JQb3J0aW9uT2Yt PnRhcmdldCkKKworCQkvKgorCQkgKiBXZSB3ZXJlIGFscmVhZHkgZ2l2ZW4gYW4gZXhwcmVzc2lv biBmb3IgdGhlIHRhcmdldCwgc28gd2UgZG9uJ3QKKwkJICogaGF2ZSB0byBidWlsZCBhbnl0aGlu Zy4KKwkJICovCisJCXRhcmdldEV4cHIgPSBmb3JQb3J0aW9uT2YtPnRhcmdldDsKKwllbHNlCisJ eworCQkvKiBNYWtlIHN1cmUgaXQncyBhIHJhbmdlIGNvbHVtbiAqLworCQlpZiAoIXR5cGVfaXNf cmFuZ2UoYXR0ci0+YXR0dHlwaWQpKQorCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJKGVycmNvZGUo RVJSQ09ERV9JTlZBTElEX0NPTFVNTl9SRUZFUkVOQ0UpLAorCQkJCQkgZXJybXNnKCJjb2x1bW4g XCIlc1wiIG9mIHJlbGF0aW9uIFwiJXNcIiBpcyBub3QgYSByYW5nZSB0eXBlIiwKKwkJCQkJCQly YW5nZV9uYW1lLAorCQkJCQkJCVJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKHRhcmdldHJlbCkpLAor CQkJCQkgcGFyc2VyX2VycnBvc2l0aW9uKHBzdGF0ZSwgZm9yUG9ydGlvbk9mLT5sb2NhdGlvbikp KTsKKworCQkvKgorCQkgKiBCdWlsZCBhIHJhbmdlIGZyb20gdGhlIEZST00gLi4uIFRPIC4uLi4g Ym91bmRzLiBUaGlzIHNob3VsZCBnaXZlIGEKKwkJICogY29uc3RhbnQgcmVzdWx0LCBzbyB3ZSBh Y2NlcHQgZnVuY3Rpb25zIGxpa2UgTk9XKCkgYnV0IG5vdCBjb2x1bW4KKwkJICogcmVmZXJlbmNl cywgc3VicXVlcmllcywgZXRjLgorCQkgKi8KKwkJdGFyZ2V0RXhwciA9IChOb2RlICopIG1ha2VG dW5jQ2FsbCgKKwkJCQkJCQkJCQkgICBsaXN0X21ha2UyKG1ha2VTdHJpbmcocmFuZ2VfdHlwZV9u YW1lc3BhY2UpLCBtYWtlU3RyaW5nKHJhbmdlX3R5cGVfbmFtZSkpLAorCQkJCQkJCQkJCSAgIGxp c3RfbWFrZTIoZm9yUG9ydGlvbk9mLT50YXJnZXRfc3RhcnQsIGZvclBvcnRpb25PZi0+dGFyZ2V0 X2VuZCksCisJCQkJCQkJCQkJICAgQ09FUkNFX0VYUExJQ0lUX0NBTEwsCisJCQkJCQkJCQkJICAg Zm9yUG9ydGlvbk9mLT5sb2NhdGlvbik7CisJfQorCXJlc3VsdC0+dGFyZ2V0UmFuZ2UgPSB0cmFu c2Zvcm1FeHByKHBzdGF0ZSwgdGFyZ2V0RXhwciwgRVhQUl9LSU5EX1VQREFURV9QT1JUSU9OKTsK KworCS8qCisJICogQnVpbGQgb3ZlcmxhcHNFeHByIHRvIHVzZSBpbiB0aGUgd2hlcmVDbGF1c2Uu IFRoaXMgbWVhbnMgd2Ugb25seSBoaXQKKwkgKiByb3dzIG1hdGNoaW5nIHRoZSBGUk9NICYgVE8g Ym91bmRzLiBXZSBtdXN0IGxvb2sgdXAgdGhlIG92ZXJsYXBzCisJICogb3BlcmF0b3IgKHVzdWFs bHkgIiYmIikuCisJICovCisJb3BjbGFzcyA9IEdldERlZmF1bHRPcENsYXNzKGF0dHItPmF0dHR5 cGlkLCBHSVNUX0FNX09JRCk7CisJc3RyYXQgPSBSVE92ZXJsYXBTdHJhdGVneU51bWJlcjsKKwlH ZXRPcGVyYXRvckZyb21Db21wYXJlVHlwZShvcGNsYXNzLCBJbnZhbGlkT2lkLCBDT01QQVJFX09W RVJMQVAsICZvcGlkLCAmc3RyYXQpOworCXJlc3VsdC0+b3ZlcmxhcHNFeHByID0gKE5vZGUgKikg bWFrZVNpbXBsZUFfRXhwcihBRVhQUl9PUCwgZ2V0X29wbmFtZShvcGlkKSwKKwkJCQkJCQkJCQkJ CQkgKE5vZGUgKikgY29weU9iamVjdChyYW5nZVZhciksIHRhcmdldEV4cHIsCisJCQkJCQkJCQkJ CQkJIGZvclBvcnRpb25PZi0+bG9jYXRpb24pOworCisJLyoKKwkgKiBMb29rIHVwIHRoZSB3aXRo b3V0X3BvcnRpb24gZnVuYy4gVGhpcyBjb21wdXRlcyB0aGUgYm91bmRzIG9mIHRlbXBvcmFsCisJ ICogbGVmdG92ZXJzLgorCSAqCisJICogWFhYOiBGaW5kIGEgbW9yZSBleHRlbnNpYmxlIHdheSB0 byBsb29rIHVwIHRoZSBmdW5jdGlvbiwgcGVybWl0dGluZworCSAqIHVzZXItZGVmaW5lZCB0eXBl cy4gQW4gb3BjbGFzcyBzdXBwb3J0IGZ1bmN0aW9uIGRvZXNuJ3QgbWFrZSBzZW5zZSwKKwkgKiBz aW5jZSB0aGVyZSBpcyBubyBpbmRleCBpbnZvbHZlZC4gUGVyaGFwcyBhIHR5cGUgc3VwcG9ydCBm dW5jdGlvbi4KKwkgKi8KKwlpZiAoZ2V0X29wY2xhc3Nfb3BmYW1pbHlfYW5kX2lucHV0X3R5cGUo b3BjbGFzcywgJm9wZmFtaWx5LCAmb3BjaW50eXBlKSkKKwkJc3dpdGNoIChvcGNpbnR5cGUpCisJ CXsKKwkJCWNhc2UgQU5ZUkFOR0VPSUQ6CisJCQkJcmVzdWx0LT53aXRob3V0UG9ydGlvblByb2Mg PSBGX1JBTkdFX01JTlVTX01VTFRJOworCQkJCWJyZWFrOworCQkJY2FzZSBBTllNVUxUSVJBTkdF T0lEOgorCQkJCXJlc3VsdC0+d2l0aG91dFBvcnRpb25Qcm9jID0gRl9NVUxUSVJBTkdFX01JTlVT X01VTFRJOworCQkJCWJyZWFrOworCQkJZGVmYXVsdDoKKwkJCQllbG9nKEVSUk9SLCAidW5leHBl Y3RlZCBvcGNpbnR5cGU6ICV1Iiwgb3BjaW50eXBlKTsKKwkJfQorCWVsc2UKKwkJZWxvZyhFUlJP UiwgInVuZXhwZWN0ZWQgb3BjbGFzczogJXUiLCBvcGNsYXNzKTsKKworCWlmIChpc1VwZGF0ZSkK Kwl7CisJCS8qCisJCSAqIE5vdyBtYWtlIHN1cmUgd2UgdXBkYXRlIHRoZSBzdGFydC9lbmQgdGlt ZSBvZiB0aGUgcmVjb3JkLiBGb3IgYQorCQkgKiByYW5nZSBjb2wgKHIpIHRoaXMgaXMgYHIgPSBy ICogdGFyZ2V0UmFuZ2VgLgorCQkgKi8KKwkJT2lkCQkJaW50ZXJzZWN0b3Blcm9pZDsKKwkJTGlz dAkgICAqZnVuY0FyZ3MgPSBOSUw7CisJCUZ1bmNFeHByICAgKnJhbmdlVExFRXhwcjsKKwkJVGFy Z2V0RW50cnkgKnRsZTsKKworCQkvKgorCQkgKiBXaGF0ZXZlciBvcGVyYXRvciBpcyB1c2VkIGZv ciBpbnRlcnNlY3QgYnkgdGVtcG9yYWwgZm9yZWlnbiBrZXlzLAorCQkgKiB3ZSBjYW4gdXNlIGl0 cyBiYWNraW5nIHByb2NlZHVyZSBmb3IgaW50ZXJzZWN0cyBpbiBGT1IgUE9SVElPTiBPRi4KKwkJ ICogWFhYOiBTaGFyZSBjb2RlIHdpdGggRmluZEZLUGVyaW9kT3BlcnM/CisJCSAqLworCQlzd2l0 Y2ggKG9wY2ludHlwZSkKKwkJeworCQkJY2FzZSBBTllSQU5HRU9JRDoKKwkJCQlpbnRlcnNlY3Rv cGVyb2lkID0gT0lEX1JBTkdFX0lOVEVSU0VDVF9SQU5HRV9PUDsKKwkJCQlicmVhazsKKwkJCWNh c2UgQU5ZTVVMVElSQU5HRU9JRDoKKwkJCQlpbnRlcnNlY3RvcGVyb2lkID0gT0lEX01VTFRJUkFO R0VfSU5URVJTRUNUX01VTFRJUkFOR0VfT1A7CisJCQkJYnJlYWs7CisJCQlkZWZhdWx0OgorCQkJ CWVsb2coRVJST1IsICJVbmV4cGVjdGVkIG9wY2ludHlwZTogJXUiLCBvcGNpbnR5cGUpOworCQl9 CisJCWZ1bmNpZCA9IGdldF9vcGNvZGUoaW50ZXJzZWN0b3Blcm9pZCk7CisJCWlmICghT2lkSXNW YWxpZChmdW5jaWQpKQorCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJZXJyY29kZShFUlJDT0RFX1VO REVGSU5FRF9PQkpFQ1QpLAorCQkJCQllcnJtc2coImNvdWxkIG5vdCBpZGVudGlmeSBhbiBpbnRl cnNlY3QgZnVuY3Rpb24gZm9yIHR5cGUgJXMiLCBmb3JtYXRfdHlwZV9iZShvcGNpbnR5cGUpKSk7 CisKKwkJdGFyZ2V0RXhwciA9IHRyYW5zZm9ybUV4cHIocHN0YXRlLCB0YXJnZXRFeHByLCBFWFBS X0tJTkRfVVBEQVRFX1BPUlRJT04pOworCQlmdW5jQXJncyA9IGxhcHBlbmQoZnVuY0FyZ3MsIGNv cHlPYmplY3QocmFuZ2VWYXIpKTsKKwkJZnVuY0FyZ3MgPSBsYXBwZW5kKGZ1bmNBcmdzLCB0YXJn ZXRFeHByKTsKKwkJcmFuZ2VUTEVFeHByID0gbWFrZUZ1bmNFeHByKGZ1bmNpZCwgYXR0ci0+YXR0 dHlwaWQsIGZ1bmNBcmdzLAorCQkJCQkJCQkJSW52YWxpZE9pZCwgSW52YWxpZE9pZCwgQ09FUkNF X0VYUExJQ0lUX0NBTEwpOworCisJCS8qIE1ha2UgYSBUTEUgdG8gc2V0IHRoZSByYW5nZSBjb2x1 bW4gKi8KKwkJcmVzdWx0LT5yYW5nZVRhcmdldExpc3QgPSBOSUw7CisJCXRsZSA9IG1ha2VUYXJn ZXRFbnRyeSgoRXhwciAqKSByYW5nZVRMRUV4cHIsIHJhbmdlX2F0dG5vLCByYW5nZV9uYW1lLCBm YWxzZSk7CisJCXJlc3VsdC0+cmFuZ2VUYXJnZXRMaXN0ID0gbGFwcGVuZChyZXN1bHQtPnJhbmdl VGFyZ2V0TGlzdCwgdGxlKTsKKworCQkvKiBNYXJrIHRoZSByYW5nZSBjb2x1bW4gYXMgcmVxdWly aW5nIHVwZGF0ZSBwZXJtaXNzaW9ucyAqLworCQl0YXJnZXRfcGVybWluZm8tPnVwZGF0ZWRDb2xz ID0gYm1zX2FkZF9tZW1iZXIodGFyZ2V0X3Blcm1pbmZvLT51cGRhdGVkQ29scywKKwkJCQkJCQkJ CQkJCQkgIHJhbmdlX2F0dG5vIC0gRmlyc3RMb3dJbnZhbGlkSGVhcEF0dHJpYnV0ZU51bWJlcik7 CisJfQorCWVsc2UKKwkJcmVzdWx0LT5yYW5nZVRhcmdldExpc3QgPSBOSUw7CisKKwlyZXN1bHQt PnJhbmdlX25hbWUgPSByYW5nZV9uYW1lOworCisJcmV0dXJuIHJlc3VsdDsKK30KIAogLyoKICAq IEJ1aWxkT25Db25mbGljdEV4Y2x1ZGVkVGFyZ2V0bGlzdApAQCAtMjQ5MSw2ICsyNzI0LDcgQEAg dHJhbnNmb3JtVXBkYXRlU3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIFVwZGF0ZVN0bXQgKnN0bXQp CiB7CiAJUXVlcnkJICAgKnFyeSA9IG1ha2VOb2RlKFF1ZXJ5KTsKIAlQYXJzZU5hbWVzcGFjZUl0 ZW0gKm5zaXRlbTsKKwlOb2RlCSAgICp3aGVyZUNsYXVzZTsKIAlOb2RlCSAgICpxdWFsOwogCiAJ cXJ5LT5jb21tYW5kVHlwZSA9IENNRF9VUERBVEU7CkBAIC0yNTA4LDYgKzI3NDIsMTAgQEAgdHJh bnNmb3JtVXBkYXRlU3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIFVwZGF0ZVN0bXQgKnN0bXQpCiAJ CQkJCQkJCQkJIHN0bXQtPnJlbGF0aW9uLT5pbmgsCiAJCQkJCQkJCQkJIHRydWUsCiAJCQkJCQkJ CQkJIEFDTF9VUERBVEUpOworCisJaWYgKHN0bXQtPmZvclBvcnRpb25PZikKKwkJcXJ5LT5mb3JQ b3J0aW9uT2YgPSB0cmFuc2Zvcm1Gb3JQb3J0aW9uT2ZDbGF1c2UocHN0YXRlLCBxcnktPnJlc3Vs dFJlbGF0aW9uLCBzdG10LT5mb3JQb3J0aW9uT2YsIHRydWUpOworCiAJbnNpdGVtID0gcHN0YXRl LT5wX3RhcmdldF9uc2l0ZW07CiAKIAkvKiBzdWJxdWVyaWVzIGluIEZST00gY2Fubm90IGFjY2Vz cyB0aGUgcmVzdWx0IHJlbGF0aW9uICovCkBAIC0yNTI0LDcgKzI3NjIsOCBAQCB0cmFuc2Zvcm1V cGRhdGVTdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgVXBkYXRlU3RtdCAqc3RtdCkKIAluc2l0ZW0t PnBfbGF0ZXJhbF9vbmx5ID0gZmFsc2U7CiAJbnNpdGVtLT5wX2xhdGVyYWxfb2sgPSB0cnVlOwog Ci0JcXVhbCA9IHRyYW5zZm9ybVdoZXJlQ2xhdXNlKHBzdGF0ZSwgc3RtdC0+d2hlcmVDbGF1c2Us CisJd2hlcmVDbGF1c2UgPSBhZGRGb3JQb3J0aW9uT2ZXaGVyZUNvbmRpdGlvbnMocXJ5LCBzdG10 LT5mb3JQb3J0aW9uT2YsIHN0bXQtPndoZXJlQ2xhdXNlKTsKKwlxdWFsID0gdHJhbnNmb3JtV2hl cmVDbGF1c2UocHN0YXRlLCB3aGVyZUNsYXVzZSwKIAkJCQkJCQkJRVhQUl9LSU5EX1dIRVJFLCAi V0hFUkUiKTsKIAogCXRyYW5zZm9ybVJldHVybmluZ0NsYXVzZShwc3RhdGUsIHFyeSwgc3RtdC0+ cmV0dXJuaW5nQ2xhdXNlLApAQCAtMjUzNCw3ICsyNzczLDcgQEAgdHJhbnNmb3JtVXBkYXRlU3Rt dChQYXJzZVN0YXRlICpwc3RhdGUsIFVwZGF0ZVN0bXQgKnN0bXQpCiAJICogTm93IHdlIGFyZSBk b25lIHdpdGggU0VMRUNULWxpa2UgcHJvY2Vzc2luZywgYW5kIGNhbiBnZXQgb24gd2l0aAogCSAq IHRyYW5zZm9ybWluZyB0aGUgdGFyZ2V0IGxpc3QgdG8gbWF0Y2ggdGhlIFVQREFURSB0YXJnZXQg Y29sdW1ucy4KIAkgKi8KLQlxcnktPnRhcmdldExpc3QgPSB0cmFuc2Zvcm1VcGRhdGVUYXJnZXRM aXN0KHBzdGF0ZSwgc3RtdC0+dGFyZ2V0TGlzdCk7CisJcXJ5LT50YXJnZXRMaXN0ID0gdHJhbnNm b3JtVXBkYXRlVGFyZ2V0TGlzdChwc3RhdGUsIHN0bXQtPnRhcmdldExpc3QsIHFyeS0+Zm9yUG9y dGlvbk9mKTsKIAogCXFyeS0+cnRhYmxlID0gcHN0YXRlLT5wX3J0YWJsZTsKIAlxcnktPnJ0ZXBl cm1pbmZvcyA9IHBzdGF0ZS0+cF9ydGVwZXJtaW5mb3M7CkBAIC0yNTUzLDcgKzI3OTIsNyBAQCB0 cmFuc2Zvcm1VcGRhdGVTdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgVXBkYXRlU3RtdCAqc3RtdCkK ICAqCWhhbmRsZSBTRVQgY2xhdXNlIGluIFVQREFURS9NRVJHRS9JTlNFUlQgLi4uIE9OIENPTkZM SUNUIFVQREFURQogICovCiBMaXN0ICoKLXRyYW5zZm9ybVVwZGF0ZVRhcmdldExpc3QoUGFyc2VT dGF0ZSAqcHN0YXRlLCBMaXN0ICpvcmlnVGxpc3QpCit0cmFuc2Zvcm1VcGRhdGVUYXJnZXRMaXN0 KFBhcnNlU3RhdGUgKnBzdGF0ZSwgTGlzdCAqb3JpZ1RsaXN0LCBGb3JQb3J0aW9uT2ZFeHByICpm b3JQb3J0aW9uT2YpCiB7CiAJTGlzdAkgICAqdGxpc3QgPSBOSUw7CiAJUlRFUGVybWlzc2lvbklu Zm8gKnRhcmdldF9wZXJtaW5mbzsKQEAgLTI2MDYsNiArMjg0NSwyMCBAQCB0cmFuc2Zvcm1VcGRh dGVUYXJnZXRMaXN0KFBhcnNlU3RhdGUgKnBzdGF0ZSwgTGlzdCAqb3JpZ1RsaXN0KQogCQkJCQkg ZXJyaGludCgiU0VUIHRhcmdldCBjb2x1bW5zIGNhbm5vdCBiZSBxdWFsaWZpZWQgd2l0aCB0aGUg cmVsYXRpb24gbmFtZS4iKSA6IDAsCiAJCQkJCSBwYXJzZXJfZXJycG9zaXRpb24ocHN0YXRlLCBv cmlnVGFyZ2V0LT5sb2NhdGlvbikpKTsKIAorCQkvKgorCQkgKiBJZiB0aGlzIGlzIGEgRk9SIFBP UlRJT04gT0YgdXBkYXRlLCBmb3JiaWQgZGlyZWN0bHkgc2V0dGluZyB0aGUKKwkJICogcmFuZ2Ug Y29sdW1uLCBzaW5jZSB0aGF0IHdvdWxkIGNvbmZsaWN0IHdpdGggdGhlIGltcGxpY2l0IHVwZGF0 ZXMuCisJCSAqLworCQlpZiAoZm9yUG9ydGlvbk9mICE9IE5VTEwpCisJCXsKKwkJCWlmIChhdHRy bm8gPT0gZm9yUG9ydGlvbk9mLT5yYW5nZVZhci0+dmFyYXR0bm8pCisJCQkJZXJlcG9ydChFUlJP UiwKKwkJCQkJCShlcnJjb2RlKEVSUkNPREVfU1lOVEFYX0VSUk9SKSwKKwkJCQkJCSBlcnJtc2co ImNhbid0IGRpcmVjdGx5IGFzc2lnbiB0byBcIiVzXCIgaW4gYSBGT1IgUE9SVElPTiBPRiB1cGRh dGUiLAorCQkJCQkJCQlvcmlnVGFyZ2V0LT5uYW1lKSwKKwkJCQkJCSBwYXJzZXJfZXJycG9zaXRp b24ocHN0YXRlLCBvcmlnVGFyZ2V0LT5sb2NhdGlvbikpKTsKKwkJfQorCiAJCXVwZGF0ZVRhcmdl dExpc3RFbnRyeShwc3RhdGUsIHRsZSwgb3JpZ1RhcmdldC0+bmFtZSwKIAkJCQkJCQkgIGF0dHJu bywKIAkJCQkJCQkgIG9yaWdUYXJnZXQtPmluZGlyZWN0aW9uLApkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvcGFyc2VyL2dyYW0ueSBiL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkKaW5kZXggYzNh MGEzNTRhOWMuLjc5ZTUzZjFkZjYyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvZ3Jh bS55CisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkKQEAgLTI1MCw2ICsyNTAsNyBAQCBz dGF0aWMgTm9kZSAqbWFrZVJlY3Vyc2l2ZVZpZXdTZWxlY3QoY2hhciAqcmVsbmFtZSwgTGlzdCAq YWxpYXNlcywgTm9kZSAqcXVlcnkpOwogCVJhbmdlVmFyICAgKnJhbmdlOwogCUludG9DbGF1c2Ug KmludG87CiAJV2l0aENsYXVzZSAqd2l0aDsKKwlGb3JQb3J0aW9uT2ZDbGF1c2UgKmZvcnBvcnRp b25vZjsKIAlJbmZlckNsYXVzZQkqaW5mZXI7CiAJT25Db25mbGljdENsYXVzZSAqb25jb25mbGlj dDsKIAlBX0luZGljZXMgICphaW5kOwpAQCAtNTU1LDYgKzU1Niw4IEBAIHN0YXRpYyBOb2RlICpt YWtlUmVjdXJzaXZlVmlld1NlbGVjdChjaGFyICpyZWxuYW1lLCBMaXN0ICphbGlhc2VzLCBOb2Rl ICpxdWVyeSk7CiAldHlwZSA8cmFuZ2U+CXJlbGF0aW9uX2V4cHIKICV0eXBlIDxyYW5nZT4JZXh0 ZW5kZWRfcmVsYXRpb25fZXhwcgogJXR5cGUgPHJhbmdlPglyZWxhdGlvbl9leHByX29wdF9hbGlh cworJXR5cGUgPGFsaWFzPglvcHRfYWxpYXMKKyV0eXBlIDxmb3Jwb3J0aW9ub2Y+IGZvcl9wb3J0 aW9uX29mX2NsYXVzZQogJXR5cGUgPG5vZGU+CXRhYmxlc2FtcGxlX2NsYXVzZSBvcHRfcmVwZWF0 YWJsZV9jbGF1c2UKICV0eXBlIDx0YXJnZXQ+CXRhcmdldF9lbCBzZXRfdGFyZ2V0IGluc2VydF9j b2x1bW5faXRlbQogCkBAIC03NjMsNyArNzY2LDcgQEAgc3RhdGljIE5vZGUgKm1ha2VSZWN1cnNp dmVWaWV3U2VsZWN0KGNoYXIgKnJlbG5hbWUsIExpc3QgKmFsaWFzZXMsIE5vZGUgKnF1ZXJ5KTsK IAlPVkVSIE9WRVJMQVBTIE9WRVJMQVkgT1ZFUlJJRElORyBPV05FRCBPV05FUgogCiAJUEFSQUxM RUwgUEFSQU1FVEVSIFBBUlNFUiBQQVJUSUFMIFBBUlRJVElPTiBQQVNTSU5HIFBBU1NXT1JEIFBB VEgKLQlQRVJJT0QgUExBQ0lORyBQTEFOIFBMQU5TIFBPTElDWQorCVBFUklPRCBQTEFDSU5HIFBM QU4gUExBTlMgUE9MSUNZIFBPUlRJT04KIAlQT1NJVElPTiBQUkVDRURJTkcgUFJFQ0lTSU9OIFBS RVNFUlZFIFBSRVBBUkUgUFJFUEFSRUQgUFJJTUFSWQogCVBSSU9SIFBSSVZJTEVHRVMgUFJPQ0VE VVJBTCBQUk9DRURVUkUgUFJPQ0VEVVJFUyBQUk9HUkFNIFBVQkxJQ0FUSU9OCiAKQEAgLTg4Miwx MiArODg1LDE1IEBAIHN0YXRpYyBOb2RlICptYWtlUmVjdXJzaXZlVmlld1NlbGVjdChjaGFyICpy ZWxuYW1lLCBMaXN0ICphbGlhc2VzLCBOb2RlICpxdWVyeSk7CiAgKiBqc29uX3ByZWRpY2F0ZV90 eXBlX2NvbnN0cmFpbnQgYW5kIGpzb25fa2V5X3VuaXF1ZW5lc3NfY29uc3RyYWludF9vcHQKICAq IHByb2R1Y3Rpb25zIChzZWUgY29tbWVudHMgdGhlcmUpLgogICoKKyAqIFRPIGlzIGFzc2lnbmVk IHRoZSBzYW1lIHByZWNlZGVuY2UgYXMgSURFTlQsIHRvIHN1cHBvcnQgdGhlIG9wdF9pbnRlcnZh bAorICogcHJvZHVjdGlvbiAoc2VlIGNvbW1lbnQgdGhlcmUpLgorICoKICAqIExpa2UgdGhlIFVO Qk9VTkRFRCBQUkVDRURJTkcvRk9MTE9XSU5HIGNhc2UsIE5FU1RFRCBpcyBhc3NpZ25lZCBhIGxv d2VyCiAgKiBwcmVjZWRlbmNlIHRoYW4gUEFUSCB0byBmaXggYW1iaWd1aXR5IGluIHRoZSBqc29u X3RhYmxlIHByb2R1Y3Rpb24uCiAgKi8KICVub25hc3NvYwlVTkJPVU5ERUQgTkVTVEVEIC8qIGlk ZWFsbHkgd291bGQgaGF2ZSBzYW1lIHByZWNlZGVuY2UgYXMgSURFTlQgKi8KICVub25hc3NvYwlJ REVOVCBQQVJUSVRJT04gUkFOR0UgUk9XUyBHUk9VUFMgUFJFQ0VESU5HIEZPTExPV0lORyBDVUJF IFJPTExVUAotCQkJU0VUIEtFWVMgT0JKRUNUX1AgU0NBTEFSIFZBTFVFX1AgV0lUSCBXSVRIT1VU IFBBVEgKKwkJCVNFVCBLRVlTIE9CSkVDVF9QIFNDQUxBUiBUTyBVU0lORyBWQUxVRV9QIFdJVEgg V0lUSE9VVCBQQVRICiAlbGVmdAkJT3AgT1BFUkFUT1IJCS8qIG11bHRpLWNoYXJhY3RlciBvcHMg YW5kIHVzZXItZGVmaW5lZCBvcGVyYXRvcnMgKi8KICVsZWZ0CQknKycgJy0nCiAlbGVmdAkJJyon ICcvJyAnJScKQEAgLTEyNTUwLDYgKzEyNTU2LDIwIEBAIERlbGV0ZVN0bXQ6IG9wdF93aXRoX2Ns YXVzZSBERUxFVEVfUCBGUk9NIHJlbGF0aW9uX2V4cHJfb3B0X2FsaWFzCiAJCQkJCW4tPndpdGhD bGF1c2UgPSAkMTsKIAkJCQkJJCQgPSAoTm9kZSAqKSBuOwogCQkJCX0KKwkJCXwgb3B0X3dpdGhf Y2xhdXNlIERFTEVURV9QIEZST00gcmVsYXRpb25fZXhwciBmb3JfcG9ydGlvbl9vZl9jbGF1c2Ug b3B0X2FsaWFzCisJCQl1c2luZ19jbGF1c2Ugd2hlcmVfb3JfY3VycmVudF9jbGF1c2UgcmV0dXJu aW5nX2NsYXVzZQorCQkJCXsKKwkJCQkJRGVsZXRlU3RtdCAqbiA9IG1ha2VOb2RlKERlbGV0ZVN0 bXQpOworCisJCQkJCW4tPnJlbGF0aW9uID0gJDQ7CisJCQkJCW4tPmZvclBvcnRpb25PZiA9ICQ1 OworCQkJCQluLT5yZWxhdGlvbi0+YWxpYXMgPSAkNjsKKwkJCQkJbi0+dXNpbmdDbGF1c2UgPSAk NzsKKwkJCQkJbi0+d2hlcmVDbGF1c2UgPSAkODsKKwkJCQkJbi0+cmV0dXJuaW5nQ2xhdXNlID0g JDk7CisJCQkJCW4tPndpdGhDbGF1c2UgPSAkMTsKKwkJCQkJJCQgPSAoTm9kZSAqKSBuOworCQkJ CX0KIAkJOwogCiB1c2luZ19jbGF1c2U6CkBAIC0xMjYyNCw2ICsxMjY0NCwyNSBAQCBVcGRhdGVT dG10OiBvcHRfd2l0aF9jbGF1c2UgVVBEQVRFIHJlbGF0aW9uX2V4cHJfb3B0X2FsaWFzCiAJCQkJ CW4tPndpdGhDbGF1c2UgPSAkMTsKIAkJCQkJJCQgPSAoTm9kZSAqKSBuOwogCQkJCX0KKwkJCXwg b3B0X3dpdGhfY2xhdXNlIFVQREFURSByZWxhdGlvbl9leHByCisJCQlmb3JfcG9ydGlvbl9vZl9j bGF1c2Ugb3B0X2FsaWFzCisJCQlTRVQgc2V0X2NsYXVzZV9saXN0CisJCQlmcm9tX2NsYXVzZQor CQkJd2hlcmVfb3JfY3VycmVudF9jbGF1c2UKKwkJCXJldHVybmluZ19jbGF1c2UKKwkJCQl7CisJ CQkJCVVwZGF0ZVN0bXQgKm4gPSBtYWtlTm9kZShVcGRhdGVTdG10KTsKKworCQkJCQluLT5yZWxh dGlvbiA9ICQzOworCQkJCQluLT5mb3JQb3J0aW9uT2YgPSAkNDsKKwkJCQkJbi0+cmVsYXRpb24t PmFsaWFzID0gJDU7CisJCQkJCW4tPnRhcmdldExpc3QgPSAkNzsKKwkJCQkJbi0+ZnJvbUNsYXVz ZSA9ICQ4OworCQkJCQluLT53aGVyZUNsYXVzZSA9ICQ5OworCQkJCQluLT5yZXR1cm5pbmdDbGF1 c2UgPSAkMTA7CisJCQkJCW4tPndpdGhDbGF1c2UgPSAkMTsKKwkJCQkJJCQgPSAoTm9kZSAqKSBu OworCQkJCX0KIAkJOwogCiBzZXRfY2xhdXNlX2xpc3Q6CkBAIC0xNDEyMSw2ICsxNDE2MCw0NCBA QCByZWxhdGlvbl9leHByX29wdF9hbGlhczogcmVsYXRpb25fZXhwcgkJCQkJJXByZWMgVU1JTlVT CiAJCQkJfQogCQk7CiAKK29wdF9hbGlhczoKKwkJCUFTIENvbElkCisJCQkJeworCQkJCQlBbGlh cwkgICAqYWxpYXMgPSBtYWtlTm9kZShBbGlhcyk7CisKKwkJCQkJYWxpYXMtPmFsaWFzbmFtZSA9 ICQyOworCQkJCQkkJCA9IGFsaWFzOworCQkJCX0KKwkJCXwgQmFyZUNvbExhYmVsCisJCQkJewor CQkJCQlBbGlhcwkgICAqYWxpYXMgPSBtYWtlTm9kZShBbGlhcyk7CisKKwkJCQkJYWxpYXMtPmFs aWFzbmFtZSA9ICQxOworCQkJCQkkJCA9IGFsaWFzOworCQkJCX0KKwkJCXwgLyogZW1wdHkgKi8g JXByZWMgVU1JTlVTIHsgJCQgPSBOVUxMOyB9CisJCTsKKworZm9yX3BvcnRpb25fb2ZfY2xhdXNl OgorCQkJRk9SIFBPUlRJT04gT0YgQ29sSWQgJygnIGFfZXhwciAnKScKKwkJCQl7CisJCQkJCUZv clBvcnRpb25PZkNsYXVzZSAqbiA9IG1ha2VOb2RlKEZvclBvcnRpb25PZkNsYXVzZSk7CisJCQkJ CW4tPnJhbmdlX25hbWUgPSAkNDsKKwkJCQkJbi0+bG9jYXRpb24gPSBANDsKKwkJCQkJbi0+dGFy Z2V0ID0gJDY7CisJCQkJCSQkID0gbjsKKwkJCQl9CisJCQl8IEZPUiBQT1JUSU9OIE9GIENvbElk IEZST00gYV9leHByIFRPIGFfZXhwcgorCQkJCXsKKwkJCQkJRm9yUG9ydGlvbk9mQ2xhdXNlICpu ID0gbWFrZU5vZGUoRm9yUG9ydGlvbk9mQ2xhdXNlKTsKKwkJCQkJbi0+cmFuZ2VfbmFtZSA9ICQ0 OworCQkJCQluLT5sb2NhdGlvbiA9IEA0OworCQkJCQluLT50YXJnZXRfc3RhcnQgPSAkNjsKKwkJ CQkJbi0+dGFyZ2V0X2VuZCA9ICQ4OworCQkJCQkkJCA9IG47CisJCQkJfQorCQk7CisKIC8qCiAg KiBUQUJMRVNBTVBMRSBkZWNvcmF0aW9uIGluIGEgRlJPTSBpdGVtCiAgKi8KQEAgLTE0OTYxLDE2 ICsxNTAzOCwyNSBAQCBvcHRfdGltZXpvbmU6CiAJCQl8IC8qRU1QVFkqLwkJCQkJCQkJeyAkJCA9 IGZhbHNlOyB9CiAJCTsKIAorLyoKKyAqIFdlIG5lZWQgdG8gaGFuZGxlIHRoaXMgc2hpZnQvcmVk dWNlIGNvbmZsaWN0OgorICogRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSB0ICsgSU5URVJW QUwgJzEnIFlFQVIgVE8gTU9OVEguCisgKiBXZSBkb24ndCBzZWUgZmFyIGVub3VnaCBhaGVhZCB0 byBrbm93IGlmIHRoZXJlIGlzIGFub3RoZXIgVE8gY29taW5nLgorICogV2UgcHJlZmVyIHRvIGlu dGVycHJldCB0aGlzIGFzIEZST00gKHQgKyBJTlRFUlZBTCAnMScgWUVBUiBUTyBNT05USCksCisg KiBpLmUuIHRvIHNoaWZ0LgorICogVGhhdCBnaXZlcyB0aGUgdXNlciB0aGUgb3B0aW9uIG9mIGFk ZGluZyBwYXJlbnRoZXNlcyB0byBnZXQgdGhlIG90aGVyIG1lYW5pbmcuCisgKiBJZiB3ZSByZWR1 Y2VkLCBpbnRlcnZhbHMgY291bGQgbmV2ZXIgaGF2ZSBhIFRPLgorICovCiBvcHRfaW50ZXJ2YWw6 Ci0JCQlZRUFSX1AKKwkJCVlFQVJfUAkJCQkJCQkJCQkJCQkJCQklcHJlYyBJUwogCQkJCXsgJCQg PSBsaXN0X21ha2UxKG1ha2VJbnRDb25zdChJTlRFUlZBTF9NQVNLKFlFQVIpLCBAMSkpOyB9CiAJ CQl8IE1PTlRIX1AKIAkJCQl7ICQkID0gbGlzdF9tYWtlMShtYWtlSW50Q29uc3QoSU5URVJWQUxf TUFTSyhNT05USCksIEAxKSk7IH0KLQkJCXwgREFZX1AKKwkJCXwgREFZX1AJCQkJCQkJCQkJCQkJ CQkJJXByZWMgSVMKIAkJCQl7ICQkID0gbGlzdF9tYWtlMShtYWtlSW50Q29uc3QoSU5URVJWQUxf TUFTSyhEQVkpLCBAMSkpOyB9Ci0JCQl8IEhPVVJfUAorCQkJfCBIT1VSX1AJCQkJCQkJCQkJCQkJ CQklcHJlYyBJUwogCQkJCXsgJCQgPSBsaXN0X21ha2UxKG1ha2VJbnRDb25zdChJTlRFUlZBTF9N QVNLKEhPVVIpLCBAMSkpOyB9Ci0JCQl8IE1JTlVURV9QCisJCQl8IE1JTlVURV9QCQkJCQkJCQkJ CQkJCQklcHJlYyBJUwogCQkJCXsgJCQgPSBsaXN0X21ha2UxKG1ha2VJbnRDb25zdChJTlRFUlZB TF9NQVNLKE1JTlVURSksIEAxKSk7IH0KIAkJCXwgaW50ZXJ2YWxfc2Vjb25kCiAJCQkJeyAkJCA9 ICQxOyB9CkBAIC0xODA0NSw2ICsxODEzMSw3IEBAIHVucmVzZXJ2ZWRfa2V5d29yZDoKIAkJCXwg UExBTgogCQkJfCBQTEFOUwogCQkJfCBQT0xJQ1kKKwkJCXwgUE9SVElPTgogCQkJfCBQUkVDRURJ TkcKIAkJCXwgUFJFUEFSRQogCQkJfCBQUkVQQVJFRApAQCAtMTg2NzYsNiArMTg3NjMsNyBAQCBi YXJlX2xhYmVsX2tleXdvcmQ6CiAJCQl8IFBMQU4KIAkJCXwgUExBTlMKIAkJCXwgUE9MSUNZCisJ CQl8IFBPUlRJT04KIAkJCXwgUE9TSVRJT04KIAkJCXwgUFJFQ0VESU5HCiAJCQl8IFBSRVBBUkUK ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9hZ2cuYyBiL3NyYy9iYWNrZW5k L3BhcnNlci9wYXJzZV9hZ2cuYwppbmRleCBiODM0MDU1N2IzNC4uMzRjYjQxOTI4MzUgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9hZ2cuYworKysgYi9zcmMvYmFja2VuZC9w YXJzZXIvcGFyc2VfYWdnLmMKQEAgLTU4Myw2ICs1ODMsMTMgQEAgY2hlY2tfYWdnbGV2ZWxzX2Fu ZF9jb25zdHJhaW50cyhQYXJzZVN0YXRlICpwc3RhdGUsIE5vZGUgKmV4cHIpCiAJCWNhc2UgRVhQ Ul9LSU5EX0NZQ0xFX01BUks6CiAJCQllcnJraW5kID0gdHJ1ZTsKIAkJCWJyZWFrOworCQljYXNl IEVYUFJfS0lORF9VUERBVEVfUE9SVElPTjoKKwkJCWlmIChpc0FnZykKKwkJCQllcnIgPSBfKCJh Z2dyZWdhdGUgZnVuY3Rpb25zIGFyZSBub3QgYWxsb3dlZCBpbiBGT1IgUE9SVElPTiBPRiBleHBy ZXNzaW9ucyIpOworCQkJZWxzZQorCQkJCWVyciA9IF8oImdyb3VwaW5nIG9wZXJhdGlvbnMgYXJl IG5vdCBhbGxvd2VkIGluIEZPUiBQT1JUSU9OIE9GIGV4cHJlc3Npb25zIik7CisKKwkJCWJyZWFr OwogCiAJCQkvKgogCQkJICogVGhlcmUgaXMgaW50ZW50aW9uYWxseSBubyBkZWZhdWx0OiBjYXNl IGhlcmUsIHNvIHRoYXQgdGhlCkBAIC0xMDIzLDYgKzEwMzAsOSBAQCB0cmFuc2Zvcm1XaW5kb3dG dW5jQ2FsbChQYXJzZVN0YXRlICpwc3RhdGUsIFdpbmRvd0Z1bmMgKndmdW5jLAogCQljYXNlIEVY UFJfS0lORF9DWUNMRV9NQVJLOgogCQkJZXJya2luZCA9IHRydWU7CiAJCQlicmVhazsKKwkJY2Fz ZSBFWFBSX0tJTkRfVVBEQVRFX1BPUlRJT046CisJCQllcnIgPSBfKCJ3aW5kb3cgZnVuY3Rpb25z IGFyZSBub3QgYWxsb3dlZCBpbiBGT1IgUE9SVElPTiBPRiBleHByZXNzaW9ucyIpOworCQkJYnJl YWs7CiAKIAkJCS8qCiAJCQkgKiBUaGVyZSBpcyBpbnRlbnRpb25hbGx5IG5vIGRlZmF1bHQ6IGNh c2UgaGVyZSwgc28gdGhhdCB0aGUKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJz ZV9jb2xsYXRlLmMgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfY29sbGF0ZS5jCmluZGV4IGQy ZTIxODM1M2YzLi41MjIzNDViMTY2OCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL3Bh cnNlX2NvbGxhdGUuYworKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfY29sbGF0ZS5jCkBA IC00ODQsNiArNDg0LDcgQEAgYXNzaWduX2NvbGxhdGlvbnNfd2Fsa2VyKE5vZGUgKm5vZGUsIGFz c2lnbl9jb2xsYXRpb25zX2NvbnRleHQgKmNvbnRleHQpCiAJCWNhc2UgVF9Kb2luRXhwcjoKIAkJ Y2FzZSBUX0Zyb21FeHByOgogCQljYXNlIFRfT25Db25mbGljdEV4cHI6CisJCWNhc2UgVF9Gb3JQ b3J0aW9uT2ZFeHByOgogCQljYXNlIFRfU29ydEdyb3VwQ2xhdXNlOgogCQljYXNlIFRfTWVyZ2VB Y3Rpb246CiAJCQkodm9pZCkgZXhwcmVzc2lvbl90cmVlX3dhbGtlcihub2RlLApkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4cHIuYyBiL3NyYy9iYWNrZW5kL3BhcnNlci9w YXJzZV9leHByLmMKaW5kZXggMzJkNmFlOTE4Y2EuLjJkNDY5YzE3N2YwIDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfZXhwci5jCisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9w YXJzZV9leHByLmMKQEAgLTU4NSw2ICs1ODUsOSBAQCB0cmFuc2Zvcm1Db2x1bW5SZWYoUGFyc2VT dGF0ZSAqcHN0YXRlLCBDb2x1bW5SZWYgKmNyZWYpCiAJCWNhc2UgRVhQUl9LSU5EX1BBUlRJVElP Tl9CT1VORDoKIAkJCWVyciA9IF8oImNhbm5vdCB1c2UgY29sdW1uIHJlZmVyZW5jZSBpbiBwYXJ0 aXRpb24gYm91bmQgZXhwcmVzc2lvbiIpOwogCQkJYnJlYWs7CisJCWNhc2UgRVhQUl9LSU5EX1VQ REFURV9QT1JUSU9OOgorCQkJZXJyID0gXygiY2Fubm90IHVzZSBjb2x1bW4gcmVmZXJlbmNlIGlu IEZPUiBQT1JUSU9OIE9GIGV4cHJlc3Npb24iKTsKKwkJCWJyZWFrOwogCiAJCQkvKgogCQkJICog VGhlcmUgaXMgaW50ZW50aW9uYWxseSBubyBkZWZhdWx0OiBjYXNlIGhlcmUsIHNvIHRoYXQgdGhl CkBAIC0xODYxLDYgKzE4NjQsOSBAQCB0cmFuc2Zvcm1TdWJMaW5rKFBhcnNlU3RhdGUgKnBzdGF0 ZSwgU3ViTGluayAqc3VibGluaykKIAkJY2FzZSBFWFBSX0tJTkRfR0VORVJBVEVEX0NPTFVNTjoK IAkJCWVyciA9IF8oImNhbm5vdCB1c2Ugc3VicXVlcnkgaW4gY29sdW1uIGdlbmVyYXRpb24gZXhw cmVzc2lvbiIpOwogCQkJYnJlYWs7CisJCWNhc2UgRVhQUl9LSU5EX1VQREFURV9QT1JUSU9OOgor CQkJZXJyID0gXygiY2Fubm90IHVzZSBzdWJxdWVyeSBpbiBGT1IgUE9SVElPTiBPRiBleHByZXNz aW9uIik7CisJCQlicmVhazsKIAogCQkJLyoKIAkJCSAqIFRoZXJlIGlzIGludGVudGlvbmFsbHkg bm8gZGVmYXVsdDogY2FzZSBoZXJlLCBzbyB0aGF0IHRoZQpAQCAtMzE3NCw2ICszMTgwLDggQEAg UGFyc2VFeHByS2luZE5hbWUoUGFyc2VFeHByS2luZCBleHByS2luZCkKIAkJCXJldHVybiAiVVBE QVRFIjsKIAkJY2FzZSBFWFBSX0tJTkRfTUVSR0VfV0hFTjoKIAkJCXJldHVybiAiTUVSR0UgV0hF TiI7CisJCWNhc2UgRVhQUl9LSU5EX1VQREFURV9QT1JUSU9OOgorCQkJcmV0dXJuICJGT1IgUE9S VElPTiBPRiI7CiAJCWNhc2UgRVhQUl9LSU5EX0dST1VQX0JZOgogCQkJcmV0dXJuICJHUk9VUCBC WSI7CiAJCWNhc2UgRVhQUl9LSU5EX09SREVSX0JZOgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv cGFyc2VyL3BhcnNlX2Z1bmMuYyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9mdW5jLmMKaW5k ZXggNzc4ZDY5YzZmM2MuLjQ3NjRkZDIxYzkwIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJz ZXIvcGFyc2VfZnVuYy5jCisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9mdW5jLmMKQEAg LTI3ODMsNiArMjc4Myw5IEBAIGNoZWNrX3NyZl9jYWxsX3BsYWNlbWVudChQYXJzZVN0YXRlICpw c3RhdGUsIE5vZGUgKmxhc3Rfc3JmLCBpbnQgbG9jYXRpb24pCiAJCWNhc2UgRVhQUl9LSU5EX0NZ Q0xFX01BUks6CiAJCQllcnJraW5kID0gdHJ1ZTsKIAkJCWJyZWFrOworCQljYXNlIEVYUFJfS0lO RF9VUERBVEVfUE9SVElPTjoKKwkJCWVyciA9IF8oInNldC1yZXR1cm5pbmcgZnVuY3Rpb25zIGFy ZSBub3QgYWxsb3dlZCBpbiBGT1IgUE9SVElPTiBPRiBleHByZXNzaW9ucyIpOworCQkJYnJlYWs7 CiAKIAkJCS8qCiAJCQkgKiBUaGVyZSBpcyBpbnRlbnRpb25hbGx5IG5vIGRlZmF1bHQ6IGNhc2Ug aGVyZSwgc28gdGhhdCB0aGUKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9t ZXJnZS5jIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX21lcmdlLmMKaW5kZXggNTFkNzcwM2Vm ZjcuLmVkMjc2YzQxNDYwIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfbWVy Z2UuYworKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfbWVyZ2UuYwpAQCAtMzg1LDcgKzM4 NSw3IEBAIHRyYW5zZm9ybU1lcmdlU3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIE1lcmdlU3RtdCAq c3RtdCkKIAkJCQkJcHN0YXRlLT5wX2lzX2luc2VydCA9IGZhbHNlOwogCQkJCQlhY3Rpb24tPnRh cmdldExpc3QgPQogCQkJCQkJdHJhbnNmb3JtVXBkYXRlVGFyZ2V0TGlzdChwc3RhdGUsCi0JCQkJ CQkJCQkJCQkgIG1lcmdlV2hlbkNsYXVzZS0+dGFyZ2V0TGlzdCk7CisJCQkJCQkJCQkJCQkgIG1l cmdlV2hlbkNsYXVzZS0+dGFyZ2V0TGlzdCwgTlVMTCk7CiAJCQkJfQogCQkJCWJyZWFrOwogCQkJ Y2FzZSBDTURfREVMRVRFOgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmV3cml0ZS9yZXdyaXRl SGFuZGxlci5jIGIvc3JjL2JhY2tlbmQvcmV3cml0ZS9yZXdyaXRlSGFuZGxlci5jCmluZGV4IGFk YzllNzYwMGUxLi5lODgzYjdmMmE2MCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmV3cml0ZS9y ZXdyaXRlSGFuZGxlci5jCisrKyBiL3NyYy9iYWNrZW5kL3Jld3JpdGUvcmV3cml0ZUhhbmRsZXIu YwpAQCAtMzcyOSw2ICszNzI5LDMwIEBAIHJld3JpdGVUYXJnZXRWaWV3KFF1ZXJ5ICpwYXJzZXRy ZWUsIFJlbGF0aW9uIHZpZXcpCiAJCQkJCQkJCQkgICZwYXJzZXRyZWUtPmhhc1N1YkxpbmtzKTsK IAl9CiAKKwlpZiAocGFyc2V0cmVlLT5mb3JQb3J0aW9uT2YgJiYgcGFyc2V0cmVlLT5jb21tYW5k VHlwZSA9PSBDTURfVVBEQVRFKQorCXsKKwkJLyoKKwkJICogTGlrZSB0aGUgSU5TRVJUL1VQREFU RSBjb2RlIGFib3ZlLCB1cGRhdGUgdGhlIHJlc25vcyBpbiB0aGUKKwkJICogYXV4aWxpYXJ5IFVQ REFURSB0YXJnZXRsaXN0IHRvIHJlZmVyIHRvIGNvbHVtbnMgb2YgdGhlIGJhc2UKKwkJICogcmVs YXRpb24uCisJCSAqLworCQlmb3JlYWNoKGxjLCBwYXJzZXRyZWUtPmZvclBvcnRpb25PZi0+cmFu Z2VUYXJnZXRMaXN0KQorCQl7CisJCQlUYXJnZXRFbnRyeSAqdGxlID0gKFRhcmdldEVudHJ5ICop IGxmaXJzdChsYyk7CisJCQlUYXJnZXRFbnRyeSAqdmlld190bGU7CisKKwkJCWlmICh0bGUtPnJl c2p1bmspCisJCQkJY29udGludWU7CisKKwkJCXZpZXdfdGxlID0gZ2V0X3RsZV9ieV9yZXNubyh2 aWV3X3RhcmdldGxpc3QsIHRsZS0+cmVzbm8pOworCQkJaWYgKHZpZXdfdGxlICE9IE5VTEwgJiYg IXZpZXdfdGxlLT5yZXNqdW5rICYmIElzQSh2aWV3X3RsZS0+ZXhwciwgVmFyKSkKKwkJCQl0bGUt PnJlc25vID0gKChWYXIgKikgdmlld190bGUtPmV4cHIpLT52YXJhdHRubzsKKwkJCWVsc2UKKwkJ CQllbG9nKEVSUk9SLCAiYXR0cmlidXRlIG51bWJlciAlZCBub3QgZm91bmQgaW4gdmlldyB0YXJn ZXRsaXN0IiwKKwkJCQkJIHRsZS0+cmVzbm8pOworCQl9CisJfQorCiAJLyoKIAkgKiBGb3IgVVBE QVRFL0RFTEVURS9NRVJHRSwgcHVsbCB1cCBhbnkgV0hFUkUgcXVhbHMgZnJvbSB0aGUgdmlldy4g IFdlCiAJICoga25vdyB0aGF0IGFueSBWYXJzIGluIHRoZSBxdWFscyBtdXN0IHJlZmVyZW5jZSB0 aGUgb25lIGJhc2UgcmVsYXRpb24sCkBAIC00MDY4LDYgKzQwOTIsMjUgQEAgUmV3cml0ZVF1ZXJ5 KFF1ZXJ5ICpwYXJzZXRyZWUsIExpc3QgKnJld3JpdGVfZXZlbnRzLCBpbnQgb3JpZ19ydF9sZW5n dGgpCiAJCWVsc2UgaWYgKGV2ZW50ID09IENNRF9VUERBVEUpCiAJCXsKIAkJCUFzc2VydChwYXJz ZXRyZWUtPm92ZXJyaWRlID09IE9WRVJSSURJTkdfTk9UX1NFVCk7CisKKwkJCS8qCisJCQkgKiBV cGRhdGUgRk9SIFBPUlRJT04gT0YgY29sdW1uKHMpIGF1dG9tYXRpY2FsbHkuIERvbid0IGRvIHRo aXMKKwkJCSAqIHVudGlsIHdlJ3JlIGRvbmUgcmV3cml0aW5nIGEgdmlldyB1cGRhdGUsIHNvIHRo YXQgd2UgZG9uJ3QgYWRkCisJCQkgKiB0aGUgc2FtZSB1cGRhdGUgb24gdGhlIHJlY3Vyc2lvbi4K KwkJCSAqLworCQkJaWYgKHBhcnNldHJlZS0+Zm9yUG9ydGlvbk9mICYmCisJCQkJcnRfZW50cnlf cmVsYXRpb24tPnJkX3JlbC0+cmVsa2luZCAhPSBSRUxLSU5EX1ZJRVcpCisJCQl7CisJCQkJTGlz dENlbGwgICAqdGw7CisKKwkJCQlmb3JlYWNoKHRsLCBwYXJzZXRyZWUtPmZvclBvcnRpb25PZi0+ cmFuZ2VUYXJnZXRMaXN0KQorCQkJCXsKKwkJCQkJVGFyZ2V0RW50cnkgKnRsZSA9IChUYXJnZXRF bnRyeSAqKSBsZmlyc3QodGwpOworCisJCQkJCXBhcnNldHJlZS0+dGFyZ2V0TGlzdCA9IGxhcHBl bmQocGFyc2V0cmVlLT50YXJnZXRMaXN0LCB0bGUpOworCQkJCX0KKwkJCX0KKwogCQkJcGFyc2V0 cmVlLT50YXJnZXRMaXN0ID0KIAkJCQlyZXdyaXRlVGFyZ2V0TGlzdElVKHBhcnNldHJlZS0+dGFy Z2V0TGlzdCwKIAkJCQkJCQkJCXBhcnNldHJlZS0+Y29tbWFuZFR5cGUsCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC91dGlscy9hZHQvcmlfdHJpZ2dlcnMuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2Fk dC9yaV90cmlnZ2Vycy5jCmluZGV4IDA1OWZjNWViZjYwLi5kNmIxZWI1N2E0OCAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3JpX3RyaWdnZXJzLmMKKysrIGIvc3JjL2JhY2tlbmQv dXRpbHMvYWR0L3JpX3RyaWdnZXJzLmMKQEAgLTEyOCw3ICsxMjgsNyBAQCB0eXBlZGVmIHN0cnVj dCBSSV9Db25zdHJhaW50SW5mbwogCU9pZAkJCWZmX2VxX29wcnNbUklfTUFYX05VTUtFWVNdOyAv KiBlcXVhbGl0eSBvcGVyYXRvcnMgKEZLID0gRkspICovCiAJT2lkCQkJcGVyaW9kX2NvbnRhaW5l ZF9ieV9vcGVyOwkvKiBhbnlyYW5nZSA8QCBhbnlyYW5nZSAqLwogCU9pZAkJCWFnZ2VkX3Blcmlv ZF9jb250YWluZWRfYnlfb3BlcjsgLyogZmthdHRyIDxAIHJhbmdlX2FnZyhwa2F0dHIpICovCi0J T2lkCQkJcGVyaW9kX2ludGVyc2VjdF9vcGVyOwkvKiBhbnlyYW5nZSAqIGFueXJhbmdlICovCisJ T2lkCQkJcGVyaW9kX2ludGVyc2VjdF9vcGVyOwkvKiBhbnlyYW5nZSAqIGFueXJhbmdlIChvciBt dWx0aXJhbmdlKSAqLwogCWRsaXN0X25vZGUJdmFsaWRfbGluazsJCS8qIExpbmsgaW4gbGlzdCBv ZiB2YWxpZCBlbnRyaWVzICovCiB9IFJJX0NvbnN0cmFpbnRJbmZvOwogCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC91dGlscy9jYWNoZS9sc3lzY2FjaGUuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2Nh Y2hlL2xzeXNjYWNoZS5jCmluZGV4IGZhN2NkN2UwNmE3Li40MzE1OGFmYWMxNSAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvdXRpbHMvY2FjaGUvbHN5c2NhY2hlLmMKKysrIGIvc3JjL2JhY2tlbmQv dXRpbHMvY2FjaGUvbHN5c2NhY2hlLmMKQEAgLTIzNTUsNiArMjM1NSwzMyBAQCBnZXRfdHlwaXNk ZWZpbmVkKE9pZCB0eXBpZCkKIAkJcmV0dXJuIGZhbHNlOwogfQogCisvKgorICogZ2V0X3R5cG5h bWVfYW5kX25hbWVzcGFjZQorICoKKyAqCSAgUmV0dXJucyB0aGUgbmFtZSBhbmQgbmFtZXNwYWNl IG9mIGEgZ2l2ZW4gdHlwZQorICoKKyAqIFJldHVybnMgdHJ1ZSBpZiBvbmUgZm91bmQsIG9yIGZh bHNlIGlmIG5vdC4KKyAqLworYm9vbAorZ2V0X3R5cG5hbWVfYW5kX25hbWVzcGFjZShPaWQgdHlw aWQsIGNoYXIgKip0eXBuYW1lLCBjaGFyICoqdHlwbmFtZXNwYWNlKQoreworCUhlYXBUdXBsZQl0 cDsKKworCXRwID0gU2VhcmNoU3lzQ2FjaGUxKFRZUEVPSUQsIE9iamVjdElkR2V0RGF0dW0odHlw aWQpKTsKKwlpZiAoSGVhcFR1cGxlSXNWYWxpZCh0cCkpCisJeworCQlGb3JtX3BnX3R5cGUgdHlw dHVwID0gKEZvcm1fcGdfdHlwZSkgR0VUU1RSVUNUKHRwKTsKKworCQkqdHlwbmFtZSA9IHBzdHJk dXAoTmFtZVN0cih0eXB0dXAtPnR5cG5hbWUpKTsKKwkJKnR5cG5hbWVzcGFjZSA9IGdldF9uYW1l c3BhY2VfbmFtZSh0eXB0dXAtPnR5cG5hbWVzcGFjZSk7CisJCVJlbGVhc2VTeXNDYWNoZSh0cCk7 CisJCS8qICp0eXBuYW1lc3BhY2UgaXMgTlVMTCBpZiBpdCB3YXNuJ3QgZm91bmQ6ICovCisJCXJl dHVybiAqdHlwbmFtZXNwYWNlOworCX0KKwllbHNlCisJCXJldHVybiBmYWxzZTsKK30KKwogLyoK ICAqIGdldF90eXBsZW4KICAqCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9ub2Rlcy9leGVjbm9k ZXMuaCBiL3NyYy9pbmNsdWRlL25vZGVzL2V4ZWNub2Rlcy5oCmluZGV4IDE4YWU4ZjBkNGJiLi5h Y2IzZDU0NThhMiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbm9kZXMvZXhlY25vZGVzLmgKKysr IGIvc3JjL2luY2x1ZGUvbm9kZXMvZXhlY25vZGVzLmgKQEAgLTQ4LDYgKzQ4LDcgQEAKICNpbmNs dWRlICJ1dGlscy9zb3J0c3VwcG9ydC5oIgogI2luY2x1ZGUgInV0aWxzL3R1cGxlc29ydC5oIgog I2luY2x1ZGUgInV0aWxzL3R1cGxlc3RvcmUuaCIKKyNpbmNsdWRlICJ1dGlscy90eXBjYWNoZS5o IgogCiAvKgogICogZm9yd2FyZCByZWZlcmVuY2VzIGluIHRoaXMgZmlsZQpAQCAtNDUyLDYgKzQ1 MywyNCBAQCB0eXBlZGVmIHN0cnVjdCBNZXJnZUFjdGlvblN0YXRlCiAJRXhwclN0YXRlICAqbWFz X3doZW5xdWFsOwkvKiBXSEVOIFtOT1RdIE1BVENIRUQgQU5EIGNvbmRpdGlvbnMgKi8KIH0gTWVy Z2VBY3Rpb25TdGF0ZTsKIAorLyoKKyAqIEZvclBvcnRpb25PZlN0YXRlCisgKgorICogRXhlY3V0 b3Igc3RhdGUgb2YgYSBGT1IgUE9SVElPTiBPRiBvcGVyYXRpb24uCisgKi8KK3R5cGVkZWYgc3Ry dWN0IEZvclBvcnRpb25PZlN0YXRlCit7CisJTm9kZVRhZwkJdHlwZTsKKworCWNoYXIJICAgKmZw X3JhbmdlTmFtZTsJLyogdGhlIGNvbHVtbiBuYW1lZCBpbiBGT1IgUE9SVElPTiBPRiAqLworCU9p ZAkJCWZwX3JhbmdlVHlwZTsJLyogdGhlIHR5cGUgb2YgdGhlIEZPUiBQT1JUSU9OIE9GIGV4cHJl c3Npb24gKi8KKwlpbnQJCQlmcF9yYW5nZUF0dG5vOwkvKiB0aGUgYXR0bm8gb2YgdGhlIHJhbmdl IGNvbHVtbiAqLworCURhdHVtCQlmcF90YXJnZXRSYW5nZTsgLyogdGhlIHJhbmdlL211bHRpcmFu Z2UgZnJvbSBGT1IgUE9SVElPTiBPRiAqLworCVR5cGVDYWNoZUVudHJ5ICpmcF9sZWZ0b3ZlcnN0 eXBjYWNoZTsJLyogdHlwZSBjYWNoZSBlbnRyeSBvZiB0aGUgcmFuZ2UgKi8KKwlUdXBsZVRhYmxl U2xvdCAqZnBfRXhpc3Rpbmc7CS8qIHNsb3QgdG8gc3RvcmUgb2xkIHR1cGxlICovCisJVHVwbGVU YWJsZVNsb3QgKmZwX0xlZnRvdmVyOwkvKiBzbG90IHRvIHN0b3JlIGxlZnRvdmVyICovCit9IEZv clBvcnRpb25PZlN0YXRlOworCiAvKgogICogUmVzdWx0UmVsSW5mbwogICoKQEAgLTU4OCw2ICs2 MDcsOSBAQCB0eXBlZGVmIHN0cnVjdCBSZXN1bHRSZWxJbmZvCiAJLyogZm9yIE1FUkdFLCBleHBy IHN0YXRlIGZvciBjaGVja2luZyB0aGUgam9pbiBjb25kaXRpb24gKi8KIAlFeHByU3RhdGUgICpy aV9NZXJnZUpvaW5Db25kaXRpb247CiAKKwkvKiBGT1IgUE9SVElPTiBPRiBldmFsdWF0aW9uIHN0 YXRlICovCisJRm9yUG9ydGlvbk9mU3RhdGUgKnJpX2ZvclBvcnRpb25PZjsKKwogCS8qIHBhcnRp dGlvbiBjaGVjayBleHByZXNzaW9uIHN0YXRlIChOVUxMIGlmIG5vdCBzZXQgdXAgeWV0KSAqLwog CUV4cHJTdGF0ZSAgKnJpX1BhcnRpdGlvbkNoZWNrRXhwcjsKIApkaWZmIC0tZ2l0IGEvc3JjL2lu Y2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oIGIvc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5o CmluZGV4IGQxNDI5NGE0ZWNlLi44YWFjNGM0MTdlOSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUv bm9kZXMvcGFyc2Vub2Rlcy5oCisrKyBiL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaApA QCAtMTQ3LDYgKzE0Nyw5IEBAIHR5cGVkZWYgc3RydWN0IFF1ZXJ5CiAJICovCiAJaW50CQkJcmVz dWx0UmVsYXRpb24gcGdfbm9kZV9hdHRyKHF1ZXJ5X2p1bWJsZV9pZ25vcmUpOwogCisJLyogRk9S IFBPUlRJT04gT0YgY2xhdXNlIGZvciBVUERBVEUvREVMRVRFICovCisJRm9yUG9ydGlvbk9mRXhw ciAqZm9yUG9ydGlvbk9mOworCiAJLyogaGFzIGFnZ3JlZ2F0ZXMgaW4gdGxpc3Qgb3IgaGF2aW5n UXVhbCAqLwogCWJvb2wJCWhhc0FnZ3MgcGdfbm9kZV9hdHRyKHF1ZXJ5X2p1bWJsZV9pZ25vcmUp OwogCS8qIGhhcyB3aW5kb3cgZnVuY3Rpb25zIGluIHRsaXN0ICovCkBAIC0xNjEzLDYgKzE2MTYs MjEgQEAgdHlwZWRlZiBzdHJ1Y3QgUm93TWFya0NsYXVzZQogCWJvb2wJCXB1c2hlZERvd247CQkv KiBwdXNoZWQgZG93biBmcm9tIGhpZ2hlciBxdWVyeSBsZXZlbD8gKi8KIH0gUm93TWFya0NsYXVz ZTsKIAorLyoKKyAqIEZvclBvcnRpb25PZkNsYXVzZQorICoJCXJlcHJlc2VudGF0aW9uIG9mIEZP UiBQT1JUSU9OIE9GIDxwZXJpb2QtbmFtZT4gRlJPTSA8dHM+IFRPIDx0ZT4KKyAqCQlvciBGT1Ig UE9SVElPTiBPRiA8cGVyaW9kLW5hbWU+ICg8dGFyZ2V0PikKKyAqLwordHlwZWRlZiBzdHJ1Y3Qg Rm9yUG9ydGlvbk9mQ2xhdXNlCit7CisJTm9kZVRhZwkJdHlwZTsKKwljaGFyCSAgICpyYW5nZV9u YW1lOworCWludAkJCWxvY2F0aW9uOworCU5vZGUJICAgKnRhcmdldDsKKwlOb2RlCSAgICp0YXJn ZXRfc3RhcnQ7CisJTm9kZQkgICAqdGFyZ2V0X2VuZDsKK30gRm9yUG9ydGlvbk9mQ2xhdXNlOwor CiAvKgogICogV2l0aENsYXVzZSAtCiAgKgkgICByZXByZXNlbnRhdGlvbiBvZiBXSVRIIGNsYXVz ZQpAQCAtMjEyNiw2ICsyMTQ0LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgRGVsZXRlU3RtdAogCU5vZGUJ ICAgKndoZXJlQ2xhdXNlOwkvKiBxdWFsaWZpY2F0aW9ucyAqLwogCVJldHVybmluZ0NsYXVzZSAq cmV0dXJuaW5nQ2xhdXNlOwkvKiBSRVRVUk5JTkcgY2xhdXNlICovCiAJV2l0aENsYXVzZSAqd2l0 aENsYXVzZTsJCS8qIFdJVEggY2xhdXNlICovCisJRm9yUG9ydGlvbk9mQ2xhdXNlICpmb3JQb3J0 aW9uT2Y7CS8qIEZPUiBQT1JUSU9OIE9GIGNsYXVzZSAqLwogfSBEZWxldGVTdG10OwogCiAvKiAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0yMTQxLDYgKzIxNjAsNyBAQCB0eXBlZGVmIHN0cnVj dCBVcGRhdGVTdG10CiAJTGlzdAkgICAqZnJvbUNsYXVzZTsJCS8qIG9wdGlvbmFsIGZyb20gY2xh dXNlIGZvciBtb3JlIHRhYmxlcyAqLwogCVJldHVybmluZ0NsYXVzZSAqcmV0dXJuaW5nQ2xhdXNl OwkvKiBSRVRVUk5JTkcgY2xhdXNlICovCiAJV2l0aENsYXVzZSAqd2l0aENsYXVzZTsJCS8qIFdJ VEggY2xhdXNlICovCisJRm9yUG9ydGlvbk9mQ2xhdXNlICpmb3JQb3J0aW9uT2Y7CS8qIEZPUiBQ T1JUSU9OIE9GIGNsYXVzZSAqLwogfSBVcGRhdGVTdG10OwogCiAvKiAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9ub2Rlcy9wYXRobm9kZXMuaCBiL3NyYy9p bmNsdWRlL25vZGVzL3BhdGhub2Rlcy5oCmluZGV4IDMwZDg4OWI1NGM1Li5lYmE2OTcyNTdmMiAx MDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbm9kZXMvcGF0aG5vZGVzLmgKKysrIGIvc3JjL2luY2x1 ZGUvbm9kZXMvcGF0aG5vZGVzLmgKQEAgLTI2MTIsNiArMjYxMiw3IEBAIHR5cGVkZWYgc3RydWN0 IE1vZGlmeVRhYmxlUGF0aAogCUxpc3QJICAgKnJldHVybmluZ0xpc3RzOyAvKiBwZXItdGFyZ2V0 LXRhYmxlIFJFVFVSTklORyB0bGlzdHMgKi8KIAlMaXN0CSAgICpyb3dNYXJrczsJCS8qIFBsYW5S b3dNYXJrcyAobm9uLWxvY2tpbmcgb25seSkgKi8KIAlPbkNvbmZsaWN0RXhwciAqb25jb25mbGlj dDsgLyogT04gQ09ORkxJQ1QgY2xhdXNlLCBvciBOVUxMICovCisJRm9yUG9ydGlvbk9mRXhwciAq Zm9yUG9ydGlvbk9mOyAvKiBGT1IgUE9SVElPTiBPRiBjbGF1c2UgZm9yIFVQREFURS9ERUxFVEUg Ki8KIAlpbnQJCQllcHFQYXJhbTsJCS8qIElEIG9mIFBhcmFtIGZvciBFdmFsUGxhblF1YWwgcmUt ZXZhbCAqLwogCUxpc3QJICAgKm1lcmdlQWN0aW9uTGlzdHM7CS8qIHBlci10YXJnZXQtdGFibGUg bGlzdHMgb2YgYWN0aW9ucyBmb3IKIAkJCQkJCQkJCSAqIE1FUkdFICovCmRpZmYgLS1naXQgYS9z cmMvaW5jbHVkZS9ub2Rlcy9wbGFubm9kZXMuaCBiL3NyYy9pbmNsdWRlL25vZGVzL3BsYW5ub2Rl cy5oCmluZGV4IGM0MzkzYTk0MzIxLi45MmI4N2MxNDg1OSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1 ZGUvbm9kZXMvcGxhbm5vZGVzLmgKKysrIGIvc3JjL2luY2x1ZGUvbm9kZXMvcGxhbm5vZGVzLmgK QEAgLTM2OCw2ICszNjgsOCBAQCB0eXBlZGVmIHN0cnVjdCBNb2RpZnlUYWJsZQogCUxpc3QJICAg Km9uQ29uZmxpY3RDb2xzOwogCS8qIFdIRVJFIGZvciBPTiBDT05GTElDVCBVUERBVEUgKi8KIAlO b2RlCSAgICpvbkNvbmZsaWN0V2hlcmU7CisJLyogRk9SIFBPUlRJT04gT0YgY2xhdXNlIGZvciBV UERBVEUvREVMRVRFICovCisJTm9kZQkgICAqZm9yUG9ydGlvbk9mOwogCS8qIFJUSSBvZiB0aGUg RVhDTFVERUQgcHNldWRvIHJlbGF0aW9uICovCiAJSW5kZXgJCWV4Y2xSZWxSVEk7CiAJLyogdGxp c3Qgb2YgdGhlIEVYQ0xVREVEIHBzZXVkbyByZWxhdGlvbiAqLwpkaWZmIC0tZ2l0IGEvc3JjL2lu Y2x1ZGUvbm9kZXMvcHJpbW5vZGVzLmggYi9zcmMvaW5jbHVkZS9ub2Rlcy9wcmltbm9kZXMuaApp bmRleCAxYjQ0MzZmMmZmNi4uZmJiY2Q3N2RkODQgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25v ZGVzL3ByaW1ub2Rlcy5oCisrKyBiL3NyYy9pbmNsdWRlL25vZGVzL3ByaW1ub2Rlcy5oCkBAIC0y Mzg1LDQgKzIzODUsMzEgQEAgdHlwZWRlZiBzdHJ1Y3QgT25Db25mbGljdEV4cHIKIAlMaXN0CSAg ICpleGNsUmVsVGxpc3Q7CS8qIHRsaXN0IG9mIHRoZSBFWENMVURFRCBwc2V1ZG8gcmVsYXRpb24g Ki8KIH0gT25Db25mbGljdEV4cHI7CiAKKy8qLS0tLS0tLS0tLQorICogRm9yUG9ydGlvbk9mRXhw ciAtIHJlcHJlc2VudHMgYSBGT1IgUE9SVElPTiBPRiAuLi4gZXhwcmVzc2lvbgorICoKKyAqIFdl IHNldCB1cCBhbiBleHByZXNzaW9uIHRvIG1ha2UgYSByYW5nZSBmcm9tIHRoZSBGUk9NL1RPIGJv dW5kcywKKyAqIHNvIHRoYXQgd2UgY2FuIHVzZSByYW5nZSBvcGVyYXRvcnMgd2l0aCBpdC4KKyAq CisgKiBUaGVuIHdlIHNldCB1cCBhbiBvdmVybGFwcyBleHByZXNzaW9uIGJldHdlZW4gdGhhdCBh bmQgdGhlIHJhbmdlIGNvbHVtbiwKKyAqIHNvIHRoYXQgd2UgY2FuIGZpbmQgdGhlIHJvd3Mgd2Ug bmVlZCB0byB1cGRhdGUvZGVsZXRlLgorICoKKyAqIEluIHRoZSBleGVjdXRvciB3ZSdsbCBhbHNv IGJ1aWxkIGFuIGludGVyc2VjdCBleHByZXNzaW9uIGJldHdlZW4gdGhlCisgKiB0YXJnZXRlZCBy YW5nZSBhbmQgdGhlIHJhbmdlIGNvbHVtbiwgc28gdGhhdCB3ZSBjYW4gdXBkYXRlIHRoZSBzdGFy dC9lbmQKKyAqIGJvdW5kcyBvZiB0aGUgVVBEQVRFJ2QgcmVjb3JkLgorICotLS0tLS0tLS0tCisg Ki8KK3R5cGVkZWYgc3RydWN0IEZvclBvcnRpb25PZkV4cHIKK3sKKwlOb2RlVGFnCQl0eXBlOwor CVZhcgkJICAgKnJhbmdlVmFyOwkJLyogUmFuZ2UgY29sdW1uICovCisJY2hhcgkgICAqcmFuZ2Vf bmFtZTsJCS8qIFJhbmdlIG5hbWUgKi8KKwlOb2RlCSAgICp0YXJnZXRSYW5nZTsJLyogRk9SIFBP UlRJT04gT0YgYm91bmRzIGFzIGEgcmFuZ2UgKi8KKwlPaWQJCQlyYW5nZVR5cGU7CQkvKiB0eXBl IG9mIHRhcmdldFJhbmdlICovCisJTm9kZQkgICAqb3ZlcmxhcHNFeHByOwkvKiByYW5nZSAmJiB0 YXJnZXRSYW5nZSAqLworCUxpc3QJICAgKnJhbmdlVGFyZ2V0TGlzdDsJLyogTGlzdCBvZiBUYXJn ZXRFbnRyeXMgdG8gc2V0IHRoZSB0aW1lCisJCQkJCQkJCQkgKiBjb2x1bW4ocykgKi8KKwlPaWQJ CQl3aXRob3V0UG9ydGlvblByb2M7IC8qIFNSRiBwcm9jIGZvciBvbGRfcmFuZ2UgLSB0YXJnZXRf cmFuZ2UgKi8KK30gRm9yUG9ydGlvbk9mRXhwcjsKKwogI2VuZGlmCQkJCQkJCS8qIFBSSU1OT0RF U19IICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9vcHRpbWl6ZXIvcGF0aG5vZGUuaCBiL3Ny Yy9pbmNsdWRlL29wdGltaXplci9wYXRobm9kZS5oCmluZGV4IDk1NWU5MDU2ODU4Li5hYzBmNjkx NzQzZiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvb3B0aW1pemVyL3BhdGhub2RlLmgKKysrIGIv c3JjL2luY2x1ZGUvb3B0aW1pemVyL3BhdGhub2RlLmgKQEAgLTI4Niw3ICsyODYsNyBAQCBleHRl cm4gTW9kaWZ5VGFibGVQYXRoICpjcmVhdGVfbW9kaWZ5dGFibGVfcGF0aChQbGFubmVySW5mbyAq cm9vdCwKIAkJCQkJCQkJCQkJCUxpc3QgKndpdGhDaGVja09wdGlvbkxpc3RzLCBMaXN0ICpyZXR1 cm5pbmdMaXN0cywKIAkJCQkJCQkJCQkJCUxpc3QgKnJvd01hcmtzLCBPbkNvbmZsaWN0RXhwciAq b25jb25mbGljdCwKIAkJCQkJCQkJCQkJCUxpc3QgKm1lcmdlQWN0aW9uTGlzdHMsIExpc3QgKm1l cmdlSm9pbkNvbmRpdGlvbnMsCi0JCQkJCQkJCQkJCQlpbnQgZXBxUGFyYW0pOworCQkJCQkJCQkJ CQkJRm9yUG9ydGlvbk9mRXhwciAqZm9yUG9ydGlvbk9mLCBpbnQgZXBxUGFyYW0pOwogZXh0ZXJu IExpbWl0UGF0aCAqY3JlYXRlX2xpbWl0X3BhdGgoUGxhbm5lckluZm8gKnJvb3QsIFJlbE9wdElu Zm8gKnJlbCwKIAkJCQkJCQkJCVBhdGggKnN1YnBhdGgsCiAJCQkJCQkJCQlOb2RlICpsaW1pdE9m ZnNldCwgTm9kZSAqbGltaXRDb3VudCwKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3BhcnNlci9h bmFseXplLmggYi9zcmMvaW5jbHVkZS9wYXJzZXIvYW5hbHl6ZS5oCmluZGV4IGYyOWVkMDNiNDc2 Li40NjE0YmUwNTJkYyAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcGFyc2VyL2FuYWx5emUuaAor KysgYi9zcmMvaW5jbHVkZS9wYXJzZXIvYW5hbHl6ZS5oCkBAIC00Myw3ICs0Myw4IEBAIGV4dGVy biBMaXN0ICp0cmFuc2Zvcm1JbnNlcnRSb3coUGFyc2VTdGF0ZSAqcHN0YXRlLCBMaXN0ICpleHBy bGlzdCwKIAkJCQkJCQkJTGlzdCAqc3RtdGNvbHMsIExpc3QgKmljb2x1bW5zLCBMaXN0ICphdHRy bm9zLAogCQkJCQkJCQlib29sIHN0cmlwX2luZGlyZWN0aW9uKTsKIGV4dGVybiBMaXN0ICp0cmFu c2Zvcm1VcGRhdGVUYXJnZXRMaXN0KFBhcnNlU3RhdGUgKnBzdGF0ZSwKLQkJCQkJCQkJCSAgIExp c3QgKm9yaWdUbGlzdCk7CisJCQkJCQkJCQkgICBMaXN0ICpvcmlnVGxpc3QsCisJCQkJCQkJCQkg ICBGb3JQb3J0aW9uT2ZFeHByICpmb3JQb3J0aW9uT2YpOwogZXh0ZXJuIHZvaWQgdHJhbnNmb3Jt UmV0dXJuaW5nQ2xhdXNlKFBhcnNlU3RhdGUgKnBzdGF0ZSwgUXVlcnkgKnFyeSwKIAkJCQkJCQkJ CSBSZXR1cm5pbmdDbGF1c2UgKnJldHVybmluZ0NsYXVzZSwKIAkJCQkJCQkJCSBQYXJzZUV4cHJL aW5kIGV4cHJLaW5kKTsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaCBi L3NyYy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaAppbmRleCA1ZDRmZTI3ZWY5Ni4uYjlmMDMzNjU3 NTMgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaAorKysgYi9zcmMvaW5j bHVkZS9wYXJzZXIva3dsaXN0LmgKQEAgLTM0Nyw2ICszNDcsNyBAQCBQR19LRVlXT1JEKCJwbGFj aW5nIiwgUExBQ0lORywgUkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQo InBsYW4iLCBQTEFOLCBVTlJFU0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JE KCJwbGFucyIsIFBMQU5TLCBVTlJFU0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlX T1JEKCJwb2xpY3kiLCBQT0xJQ1ksIFVOUkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkKK1BH X0tFWVdPUkQoInBvcnRpb24iLCBQT1JUSU9OLCBVTlJFU0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFC RUwpCiBQR19LRVlXT1JEKCJwb3NpdGlvbiIsIFBPU0lUSU9OLCBDT0xfTkFNRV9LRVlXT1JELCBC QVJFX0xBQkVMKQogUEdfS0VZV09SRCgicHJlY2VkaW5nIiwgUFJFQ0VESU5HLCBVTlJFU0VSVkVE X0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJwcmVjaXNpb24iLCBQUkVDSVNJT04s IENPTF9OQU1FX0tFWVdPUkQsIEFTX0xBQkVMKQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcGFy c2VyL3BhcnNlX25vZGUuaCBiL3NyYy9pbmNsdWRlL3BhcnNlci9wYXJzZV9ub2RlLmgKaW5kZXgg ZjdkMDdjODQ1NDIuLjNlNDU3ZDk2MWZlIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wYXJzZXIv cGFyc2Vfbm9kZS5oCisrKyBiL3NyYy9pbmNsdWRlL3BhcnNlci9wYXJzZV9ub2RlLmgKQEAgLTU2 LDYgKzU2LDcgQEAgdHlwZWRlZiBlbnVtIFBhcnNlRXhwcktpbmQKIAlFWFBSX0tJTkRfVVBEQVRF X1NPVVJDRSwJLyogVVBEQVRFIGFzc2lnbm1lbnQgc291cmNlIGl0ZW0gKi8KIAlFWFBSX0tJTkRf VVBEQVRFX1RBUkdFVCwJLyogVVBEQVRFIGFzc2lnbm1lbnQgdGFyZ2V0IGl0ZW0gKi8KIAlFWFBS X0tJTkRfTUVSR0VfV0hFTiwJCS8qIE1FUkdFIFdIRU4gW05PVF0gTUFUQ0hFRCBjb25kaXRpb24g Ki8KKwlFWFBSX0tJTkRfVVBEQVRFX1BPUlRJT04sCS8qIFVQREFURSBGT1IgUE9SVElPTiBPRiBp dGVtICovCiAJRVhQUl9LSU5EX0dST1VQX0JZLAkJCS8qIEdST1VQIEJZICovCiAJRVhQUl9LSU5E X09SREVSX0JZLAkJCS8qIE9SREVSIEJZICovCiAJRVhQUl9LSU5EX0RJU1RJTkNUX09OLAkJLyog RElTVElOQ1QgT04gKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL2xzeXNjYWNoZS5o IGIvc3JjL2luY2x1ZGUvdXRpbHMvbHN5c2NhY2hlLmgKaW5kZXggNTBmYjE0OWU5YWMuLjViNTBl ZjIzMGFiIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS91dGlscy9sc3lzY2FjaGUuaAorKysgYi9z cmMvaW5jbHVkZS91dGlscy9sc3lzY2FjaGUuaApAQCAtMTUwLDYgKzE1MCw3IEBAIGV4dGVybiBP aWQJZ2V0X3JlbF9yZWxhbShPaWQgcmVsaWQpOwogZXh0ZXJuIE9pZAlnZXRfdHJhbnNmb3JtX2Zy b21zcWwoT2lkIHR5cGlkLCBPaWQgbGFuZ2lkLCBMaXN0ICp0cmZ0eXBlcyk7CiBleHRlcm4gT2lk CWdldF90cmFuc2Zvcm1fdG9zcWwoT2lkIHR5cGlkLCBPaWQgbGFuZ2lkLCBMaXN0ICp0cmZ0eXBl cyk7CiBleHRlcm4gYm9vbCBnZXRfdHlwaXNkZWZpbmVkKE9pZCB0eXBpZCk7CitleHRlcm4gYm9v bCBnZXRfdHlwbmFtZV9hbmRfbmFtZXNwYWNlKE9pZCB0eXBpZCwgY2hhciAqKnR5cG5hbWUsIGNo YXIgKip0eXBuYW1lc3BhY2UpOwogZXh0ZXJuIGludDE2IGdldF90eXBsZW4oT2lkIHR5cGlkKTsK IGV4dGVybiBib29sIGdldF90eXBieXZhbChPaWQgdHlwaWQpOwogZXh0ZXJuIHZvaWQgZ2V0X3R5 cGxlbmJ5dmFsKE9pZCB0eXBpZCwgaW50MTYgKnR5cGxlbiwgYm9vbCAqdHlwYnl2YWwpOwpkaWZm IC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9mb3JfcG9ydGlvbl9vZi5vdXQgYi9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2Zvcl9wb3J0aW9uX29mLm91dApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uOTI4OGI0MjI0ZjcKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2Zvcl9wb3J0aW9uX29mLm91dApAQCAtMCwwICsx LDEyNDggQEAKKy0tIFRlc3RzIGZvciBVUERBVEUvREVMRVRFIEZPUiBQT1JUSU9OIE9GCitTRVQg ZGF0ZXN0eWxlIFRPIElTTywgWU1EOworLS0gV29ya3Mgb24gbm9uLVBLIGNvbHVtbnMKK0NSRUFU RSBUQUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0ICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9h dCBkYXRlcmFuZ2UsCisgIG5hbWUgdGV4dCBOT1QgTlVMTAorKTsKK0lOU0VSVCBJTlRPIGZvcl9w b3J0aW9uX29mX3Rlc3QgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVTCisgICgnWzEsMiknLCAn WzIwMTgtMDEtMDIsMjAyMC0wMS0wMSknLCAnb25lJyk7CitVUERBVEUgZm9yX3BvcnRpb25fb2Zf dGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTE1JyBUTyAnMjAx OS0wMS0wMScKKyAgU0VUIG5hbWUgPSAnb25lXjEnOworREVMRVRFIEZST00gZm9yX3BvcnRpb25f b2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTE1JyBUTyAn MjAxOS0wMS0yMCc7CistLSBXaXRoIGEgdGFibGUgYWxpYXMgd2l0aCBBUworVVBEQVRFIGZvcl9w b3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMi0w MScgVE8gJzIwMTktMDItMDMnIEFTIHQKKyAgU0VUIG5hbWUgPSAnb25lXjInOworREVMRVRFIEZS T00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDE5LTAyLTAzJyBUTyAnMjAxOS0wMi0wNCcgQVMgdDsKKy0tIFdpdGggYSB0YWJsZSBhbGlhcyB3 aXRob3V0IEFTCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDE5LTAyLTA0JyBUTyAnMjAxOS0wMi0wNScgdAorICBTRVQgbmFtZSA9 ICdvbmVeMyc7CitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDItMDUnIFRPICcyMDE5LTAyLTA2JyB0OworLS0gVVBE QVRFIHdpdGggRlJPTQorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMy0wMScgdG8gJzIwMTktMDMtMDInCisgIFNFVCBuYW1l ID0gJ29uZV40JworICBGUk9NIChTRUxFQ1QgJ1sxLDIpJzo6aW50NHJhbmdlKSBBUyB0MihpZCkK KyAgV0hFUkUgZm9yX3BvcnRpb25fb2ZfdGVzdC5pZCA9IHQyLmlkOworLS0gREVMRVRFIHdpdGgg VVNJTkcKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAxOS0wMy0wMicgVE8gJzIwMTktMDMtMDMnCisgIFVTSU5HIChTRUxF Q1QgJ1sxLDIpJzo6aW50NHJhbmdlKSBBUyB0MihpZCkKKyAgV0hFUkUgZm9yX3BvcnRpb25fb2Zf dGVzdC5pZCA9IHQyLmlkOworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgbmFt ZSAgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLQorIFsxLDIpIHwg WzIwMTgtMDEtMDIsMjAxOC0wMS0xNSkgfCBvbmUKKyBbMSwyKSB8IFsyMDE4LTAxLTE1LDIwMTkt MDEtMDEpIHwgb25lXjEKKyBbMSwyKSB8IFsyMDE5LTAxLTAxLDIwMTktMDEtMTUpIHwgb25lCisg WzEsMikgfCBbMjAxOS0wMS0yMCwyMDE5LTAyLTAxKSB8IG9uZQorIFsxLDIpIHwgWzIwMTktMDIt MDEsMjAxOS0wMi0wMykgfCBvbmVeMgorIFsxLDIpIHwgWzIwMTktMDItMDQsMjAxOS0wMi0wNSkg fCBvbmVeMworIFsxLDIpIHwgWzIwMTktMDItMDYsMjAxOS0wMy0wMSkgfCBvbmUKKyBbMSwyKSB8 IFsyMDE5LTAzLTAxLDIwMTktMDMtMDIpIHwgb25lXjQKKyBbMSwyKSB8IFsyMDE5LTAzLTAzLDIw MjAtMDEtMDEpIHwgb25lCisoOSByb3dzKQorCistLSBXb3JrcyBvbiBtb3JlIHRoYW4gb25lIHJh bmdlCitEUk9QIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3Q7CitDUkVBVEUgVEFCTEUgZm9yX3Bv cnRpb25fb2ZfdGVzdCAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWQxX2F0IGRhdGVyYW5nZSwK KyAgdmFsaWQyX2F0IGRhdGVyYW5nZSwKKyAgbmFtZSB0ZXh0IE5PVCBOVUxMCispOworSU5TRVJU IElOVE8gZm9yX3BvcnRpb25fb2ZfdGVzdCAoaWQsIHZhbGlkMV9hdCwgdmFsaWQyX2F0LCBuYW1l KSBWQUxVRVMKKyAgKCdbMSwyKScsICdbMjAxOC0wMS0wMiwyMDE4LTAyLTAzKScsICdbMjAxNS0w MS0wMSwyMDI1LTAxLTAxKScsICdvbmUnKTsKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0Cisg IEZPUiBQT1JUSU9OIE9GIHZhbGlkMV9hdCBGUk9NICcyMDE4LTAxLTE1JyBUTyBOVUxMCisgIFNF VCBuYW1lID0gJ2Zvbyc7CisgIFNFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBPUkRF UiBCWSBpZCwgdmFsaWQxX2F0LCB2YWxpZDJfYXQ7CisgIGlkICAgfCAgICAgICAgdmFsaWQxX2F0 ICAgICAgICB8ICAgICAgICB2YWxpZDJfYXQgICAgICAgIHwgbmFtZSAKKy0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLQorIFsx LDIpIHwgWzIwMTgtMDEtMDIsMjAxOC0wMS0xNSkgfCBbMjAxNS0wMS0wMSwyMDI1LTAxLTAxKSB8 IG9uZQorIFsxLDIpIHwgWzIwMTgtMDEtMTUsMjAxOC0wMi0wMykgfCBbMjAxNS0wMS0wMSwyMDI1 LTAxLTAxKSB8IGZvbworKDIgcm93cykKKworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAg Rk9SIFBPUlRJT04gT0YgdmFsaWQyX2F0IEZST00gJzIwMTgtMDEtMTUnIFRPIE5VTEwKKyAgU0VU IG5hbWUgPSAnYmFyJzsKKyAgU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IE9SREVS IEJZIGlkLCB2YWxpZDFfYXQsIHZhbGlkMl9hdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZDFfYXQg ICAgICAgIHwgICAgICAgIHZhbGlkMl9hdCAgICAgICAgfCBuYW1lIAorLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tCisgWzEs MikgfCBbMjAxOC0wMS0wMiwyMDE4LTAxLTE1KSB8IFsyMDE1LTAxLTAxLDIwMTgtMDEtMTUpIHwg b25lCisgWzEsMikgfCBbMjAxOC0wMS0wMiwyMDE4LTAxLTE1KSB8IFsyMDE4LTAxLTE1LDIwMjUt MDEtMDEpIHwgYmFyCisgWzEsMikgfCBbMjAxOC0wMS0xNSwyMDE4LTAyLTAzKSB8IFsyMDE1LTAx LTAxLDIwMTgtMDEtMTUpIHwgZm9vCisgWzEsMikgfCBbMjAxOC0wMS0xNSwyMDE4LTAyLTAzKSB8 IFsyMDE4LTAxLTE1LDIwMjUtMDEtMDEpIHwgYmFyCisoNCByb3dzKQorCitERUxFVEUgRlJPTSBm b3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkMV9hdCBGUk9NICcyMDE4 LTAxLTIwJyBUTyBOVUxMOworICBTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgT1JE RVIgQlkgaWQsIHZhbGlkMV9hdCwgdmFsaWQyX2F0OworICBpZCAgIHwgICAgICAgIHZhbGlkMV9h dCAgICAgICAgfCAgICAgICAgdmFsaWQyX2F0ICAgICAgICB8IG5hbWUgCistLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0KKyBb MSwyKSB8IFsyMDE4LTAxLTAyLDIwMTgtMDEtMTUpIHwgWzIwMTUtMDEtMDEsMjAxOC0wMS0xNSkg fCBvbmUKKyBbMSwyKSB8IFsyMDE4LTAxLTAyLDIwMTgtMDEtMTUpIHwgWzIwMTgtMDEtMTUsMjAy NS0wMS0wMSkgfCBiYXIKKyBbMSwyKSB8IFsyMDE4LTAxLTE1LDIwMTgtMDEtMjApIHwgWzIwMTUt MDEtMDEsMjAxOC0wMS0xNSkgfCBmb28KKyBbMSwyKSB8IFsyMDE4LTAxLTE1LDIwMTgtMDEtMjAp IHwgWzIwMTgtMDEtMTUsMjAyNS0wMS0wMSkgfCBiYXIKKyg0IHJvd3MpCisKK0RFTEVURSBGUk9N IGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWQyX2F0IEZST00gJzIw MTgtMDEtMjAnIFRPIE5VTEw7CisgIFNFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBP UkRFUiBCWSBpZCwgdmFsaWQxX2F0LCB2YWxpZDJfYXQ7CisgIGlkICAgfCAgICAgICAgdmFsaWQx X2F0ICAgICAgICB8ICAgICAgICB2YWxpZDJfYXQgICAgICAgIHwgbmFtZSAKKy0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLQor IFsxLDIpIHwgWzIwMTgtMDEtMDIsMjAxOC0wMS0xNSkgfCBbMjAxNS0wMS0wMSwyMDE4LTAxLTE1 KSB8IG9uZQorIFsxLDIpIHwgWzIwMTgtMDEtMDIsMjAxOC0wMS0xNSkgfCBbMjAxOC0wMS0xNSwy MDE4LTAxLTIwKSB8IGJhcgorIFsxLDIpIHwgWzIwMTgtMDEtMTUsMjAxOC0wMS0yMCkgfCBbMjAx NS0wMS0wMSwyMDE4LTAxLTE1KSB8IGZvbworIFsxLDIpIHwgWzIwMTgtMDEtMTUsMjAxOC0wMS0y MCkgfCBbMjAxOC0wMS0xNSwyMDE4LTAxLTIwKSB8IGJhcgorKDQgcm93cykKKworLS0gVGVzdCB3 aXRoIE5VTExzIGluIHRoZSBzY2FsYXIvcmFuZ2Uga2V5IGNvbHVtbnMuCistLSBUaGlzIHdvbid0 IGhhcHBlbiBpZiB0aGVyZSBpcyBhIFBSSU1BUlkgS0VZIG9yIFVOSVFVRSBjb25zdHJhaW50Cist LSBidXQgRk9SIFBPUlRJT04gT0Ygc2hvdWxkbid0IHJlcXVpcmUgdGhhdC4KK0RST1AgVEFCTEUg Zm9yX3BvcnRpb25fb2ZfdGVzdDsKK0NSRUFURSBVTkxPR0dFRCBUQUJMRSBmb3JfcG9ydGlvbl9v Zl90ZXN0ICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIG5hbWUg dGV4dAorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QgKGlkLCB2YWxpZF9hdCwg bmFtZSkgVkFMVUVTCisgICgnWzEsMiknLCBOVUxMLCAnMSBudWxsJyksCisgICgnWzEsMiknLCAn KCwpJywgJzEgdW5ib3VuZGVkJyksCisgICgnWzEsMiknLCAnZW1wdHknLCAnMSBlbXB0eScpLAor ICAoTlVMTCwgTlVMTCwgTlVMTCksCisgIChOVUxMLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAn MjAxOS0wMS0wMScpLCAnbnVsbCBrZXknKTsKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0Cisg IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gTlVMTCBUTyBOVUxMCisgIFNFVCBuYW1lID0g J05VTEwgdG8gTlVMTCc7CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCAgICAg bmFtZSAgICAgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0KKyBbMSwyKSB8IGVtcHR5ICAgICAgICAgICAgICAgICAgIHwgMSBlbXB0eQorIFsxLDIpIHwg KCwpICAgICAgICAgICAgICAgICAgICAgfCBOVUxMIHRvIE5VTEwKKyBbMSwyKSB8ICAgICAgICAg ICAgICAgICAgICAgICAgIHwgMSBudWxsCisgICAgICAgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAx KSB8IE5VTEwgdG8gTlVMTAorICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAKKyg1 IHJvd3MpCisKK0RST1AgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDsKKy0tCistLSBVUERBVEUg dGVzdHMKKy0tCitDUkVBVEUgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdCAoCisgIGlkIGludDRy YW5nZSBOT1QgTlVMTCwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlIE5PVCBOVUxMLAorICBuYW1lIHRl eHQgTk9UIE5VTEwsCisgIENPTlNUUkFJTlQgZm9yX3BvcnRpb25fb2ZfcGsgUFJJTUFSWSBLRVkg KGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0 aW9uX29mX3Rlc3QgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVTCisgICgnWzEsMiknLCAnWzIw MTgtMDEtMDIsMjAxOC0wMi0wMyknLCAnb25lJyksCisgICgnWzEsMiknLCAnWzIwMTgtMDItMDMs MjAxOC0wMy0wMyknLCAnb25lJyksCisgICgnWzEsMiknLCAnWzIwMTgtMDMtMDMsMjAxOC0wNC0w NCknLCAnb25lJyksCisgICgnWzIsMyknLCAnWzIwMTgtMDEtMDEsMjAxOC0wMS0wNSknLCAndHdv JyksCisgICgnWzMsNCknLCAnWzIwMTgtMDEtMDEsKScsICd0aHJlZScpLAorICAoJ1s0LDUpJywg JygsMjAxOC0wNC0wMSknLCAnZm91cicpLAorICAoJ1s1LDYpJywgJygsKScsICdmaXZlJykKKyAg OworXHNldCBRVUlFVCBmYWxzZQorLS0gVXBkYXRpbmcgd2l0aCBhIG1pc3NpbmcgY29sdW1uIGZh aWxzCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiBpbnZhbGlk X2F0IEZST00gJzIwMTgtMDYtMDEnIFRPIE5VTEwKKyAgU0VUIG5hbWUgPSAnZm9vJworICBXSEVS RSBpZCA9ICdbNSw2KSc7CitFUlJPUjogIGNvbHVtbiBvciBwZXJpb2QgImludmFsaWRfYXQiIG9m IHJlbGF0aW9uICJmb3JfcG9ydGlvbl9vZl90ZXN0IiBkb2VzIG5vdCBleGlzdAorTElORSAyOiAg IEZPUiBQT1JUSU9OIE9GIGludmFsaWRfYXQgRlJPTSAnMjAxOC0wNi0wMScgVE8gTlVMTAorICAg ICAgICAgICAgICAgICAgICAgICAgIF4KKy0tIFVwZGF0aW5nIHRoZSByYW5nZSBmYWlscworVVBE QVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAxOC0wNi0wMScgVE8gTlVMTAorICBTRVQgdmFsaWRfYXQgPSAnWzE5OTAtMDEtMDEsMTk5OS0w MS0wMSknCisgIFdIRVJFIGlkID0gJ1s1LDYpJzsKK0VSUk9SOiAgY2FuJ3QgZGlyZWN0bHkgYXNz aWduIHRvICJ2YWxpZF9hdCIgaW4gYSBGT1IgUE9SVElPTiBPRiB1cGRhdGUKK0xJTkUgMzogICBT RVQgdmFsaWRfYXQgPSAnWzE5OTAtMDEtMDEsMTk5OS0wMS0wMSknCisgICAgICAgICAgICAgIF4K Ky0tIFRoZSB3cm9uZyB0eXBlIGZhaWxzCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIDEgVE8gNAorICBTRVQgbmFtZSA9ICdub3BlJwor ICBXSEVSRSBpZCA9ICdbMyw0KSc7CitFUlJPUjogIGZ1bmN0aW9uIHBnX2NhdGFsb2cuZGF0ZXJh bmdlKGludGVnZXIsIGludGVnZXIpIGRvZXMgbm90IGV4aXN0CitMSU5FIDI6ICAgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSAxIFRPIDQKKyAgICAgICAgICAgICAgICAgICAgICAgICBeCitE RVRBSUw6ICBObyBmdW5jdGlvbiBvZiB0aGF0IG5hbWUgYWNjZXB0cyB0aGUgZ2l2ZW4gYXJndW1l bnQgdHlwZXMuCitISU5UOiAgWW91IG1pZ2h0IG5lZWQgdG8gYWRkIGV4cGxpY2l0IHR5cGUgY2Fz dHMuCistLSBVcGRhdGluZyB3aXRoIHRpbWVzdGFtcHMgcmV2ZXJzZWQgZmFpbHMKK1VQREFURSBm b3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgt MDYtMDEnIFRPICcyMDE4LTAxLTAxJworICBTRVQgbmFtZSA9ICd0aHJlZV4xJworICBXSEVSRSBp ZCA9ICdbMyw0KSc7CitFUlJPUjogIHJhbmdlIGxvd2VyIGJvdW5kIG11c3QgYmUgbGVzcyB0aGFu IG9yIGVxdWFsIHRvIHJhbmdlIHVwcGVyIGJvdW5kCistLSBVcGRhdGluZyB3aXRoIGEgc3VicXVl cnkgZmFpbHMKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gKFNFTEVDVCAnMjAxOC0wMS0wMScpIFRPICcyMDE4LTA2LTAxJworICBTRVQg bmFtZSA9ICdub3BlJworICBXSEVSRSBpZCA9ICdbMyw0KSc7CitFUlJPUjogIGNhbm5vdCB1c2Ug c3VicXVlcnkgaW4gRk9SIFBPUlRJT04gT0YgZXhwcmVzc2lvbgorTElORSAyOiAgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gKFNFTEVDVCAnMjAxOC0wMS0wMScpIFRPICcyMDEuLi4KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy0tIFVwZGF0aW5nIHdpdGgg YSBjb2x1bW4gZmFpbHMKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gbG93ZXIodmFsaWRfYXQpIFRPIE5VTEwKKyAgU0VUIG5hbWUgPSAn bm9wZScKKyAgV0hFUkUgaWQgPSAnWzMsNCknOworRVJST1I6ICBjYW5ub3QgdXNlIGNvbHVtbiBy ZWZlcmVuY2UgaW4gRk9SIFBPUlRJT04gT0YgZXhwcmVzc2lvbgorTElORSAyOiAgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gbG93ZXIodmFsaWRfYXQpIFRPIE5VTEwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy0tIFVwZGF0aW5nIHdpdGggdGlt ZXN0YW1wcyBlcXVhbCBkb2VzIG5vdGhpbmcKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0Cisg IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDQtMDEnIFRPICcyMDE4LTA0LTAx JworICBTRVQgbmFtZSA9ICd0aHJlZV4wJworICBXSEVSRSBpZCA9ICdbMyw0KSc7CitVUERBVEUg MAorLS0gVXBkYXRpbmcgYSBmaW5pdGUvb3BlbiBwb3J0aW9uIHdpdGggYSBmaW5pdGUvb3BlbiB0 YXJnZXQKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzIwMTgtMDYtMDEnIFRPIE5VTEwKKyAgU0VUIG5hbWUgPSAndGhyZWVeMScKKyAg V0hFUkUgaWQgPSAnWzMsNCknOworVVBEQVRFIDIKKy0tIFVwZGF0aW5nIGEgZmluaXRlL29wZW4g cG9ydGlvbiB3aXRoIGFuIG9wZW4vZmluaXRlIHRhcmdldAorVVBEQVRFIGZvcl9wb3J0aW9uX29m X3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSBOVUxMIFRPICcyMDE4LTAzLTAx JworICBTRVQgbmFtZSA9ICd0aHJlZV4yJworICBXSEVSRSBpZCA9ICdbMyw0KSc7CitVUERBVEUg MgorLS0gVXBkYXRpbmcgYW4gb3Blbi9maW5pdGUgcG9ydGlvbiB3aXRoIGFuIG9wZW4vZmluaXRl IHRhcmdldAorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSBOVUxMIFRPICcyMDE4LTAyLTAxJworICBTRVQgbmFtZSA9ICdmb3VyXjEnCisg IFdIRVJFIGlkID0gJ1s0LDUpJzsKK1VQREFURSAyCistLSBVcGRhdGluZyBhbiBvcGVuL2Zpbml0 ZSBwb3J0aW9uIHdpdGggYSBmaW5pdGUvb3BlbiB0YXJnZXQKK1VQREFURSBmb3JfcG9ydGlvbl9v Zl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTctMDEtMDEnIFRPIE5V TEwKKyAgU0VUIG5hbWUgPSAnZm91cl4yJworICBXSEVSRSBpZCA9ICdbNCw1KSc7CitVUERBVEUg MworLS0gVXBkYXRpbmcgYSBmaW5pdGUvZmluaXRlIHBvcnRpb24gd2l0aCBhbiBleGFjdCBmaXQK K1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMTctMDEtMDEnIFRPICcyMDE4LTAyLTAxJworICBTRVQgbmFtZSA9ICdmb3VyXjMnCisg IFdIRVJFIGlkID0gJ1s0LDUpJzsKK1VQREFURSAxCistLSBVcGRhdGluZyBhbiBlbmNsb3NlZCBz cGFuCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NIE5VTEwgVE8gTlVMTAorICBTRVQgbmFtZSA9ICd0d29eMicKKyAgV0hFUkUgaWQgPSAn WzIsMyknOworVVBEQVRFIDEKKy0tIFVwZGF0aW5nIGFuIG9wZW4vb3BlbiBwb3J0aW9uIHdpdGgg YSBmaW5pdGUvZmluaXRlIHRhcmdldAorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0wMScgVE8gJzIwMTktMDEtMDEnCisg IFNFVCBuYW1lID0gJ2ZpdmVeMScKKyAgV0hFUkUgaWQgPSAnWzUsNiknOworVVBEQVRFIDMKKy0t IFVwZGF0aW5nIGFuIGVuY2xvc2VkIHNwYW4gd2l0aCBzZXBhcmF0ZSBwcm90cnVkaW5nIHNwYW5z CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDE3LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScKKyAgU0VUIG5hbWUgPSAnZml2ZV4yJwor ICBXSEVSRSBpZCA9ICdbNSw2KSc7CitVUERBVEUgNQorLS0gVXBkYXRpbmcgbXVsdGlwbGUgZW5j bG9zZWQgc3BhbnMKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gTlVMTCBUTyBOVUxMCisgIFNFVCBuYW1lID0gJ29uZV4yJworICBXSEVS RSBpZCA9ICdbMSwyKSc7CitVUERBVEUgMworLS0gVXBkYXRpbmcgd2l0aCBhIGRpcmVjdCB0YXJn ZXQKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IChkYXRlcmFuZ2UoJzIwMTgtMDMtMTAnLCAnMjAxOC0wMy0xNycpKQorICBTRVQgbmFtZSA9ICdv bmVeMycKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworVVBEQVRFIDMKKy0tIFVwZGF0aW5nIHRoZSBu b24tcmFuZ2UgcGFydCBvZiB0aGUgUEs6CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAyLTE1JyBUTyBOVUxMCisgIFNFVCBp ZCA9ICdbNiw3KScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworVVBEQVRFIDUKKy0tIFVQREFURSB3 aXRoIG5vIFdIRVJFIGNsYXVzZQorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAzMC0wMS0wMScgVE8gTlVMTAorICBTRVQgbmFtZSA9 IG5hbWUgfHwgJyonOworVVBEQVRFIDQKK1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVz dCBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAg ICB8ICAgbmFtZSAgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0KKyBbMSwyKSB8IFsyMDE4LTAxLTAyLDIwMTgtMDItMDMpIHwgb25lXjIKKyBbMSwyKSB8IFsy MDE4LTAyLTAzLDIwMTgtMDItMTUpIHwgb25lXjIKKyBbMiwzKSB8IFsyMDE4LTAxLTAxLDIwMTgt MDEtMDUpIHwgdHdvXjIKKyBbMyw0KSB8IFsyMDE4LTAxLTAxLDIwMTgtMDMtMDEpIHwgdGhyZWVe MgorIFszLDQpIHwgWzIwMTgtMDMtMDEsMjAxOC0wNi0wMSkgfCB0aHJlZQorIFszLDQpIHwgWzIw MTgtMDYtMDEsMjAzMC0wMS0wMSkgfCB0aHJlZV4xCisgWzMsNCkgfCBbMjAzMC0wMS0wMSwpICAg ICAgICAgICB8IHRocmVlXjEqCisgWzQsNSkgfCAoLDIwMTctMDEtMDEpICAgICAgICAgICB8IGZv dXJeMQorIFs0LDUpIHwgWzIwMTctMDEtMDEsMjAxOC0wMi0wMSkgfCBmb3VyXjMKKyBbNCw1KSB8 IFsyMDE4LTAyLTAxLDIwMTgtMDQtMDEpIHwgZm91cl4yCisgWzUsNikgfCAoLDIwMTctMDEtMDEp ICAgICAgICAgICB8IGZpdmUKKyBbNSw2KSB8IFsyMDE3LTAxLTAxLDIwMTgtMDEtMDEpIHwgZml2 ZV4yCisgWzUsNikgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IGZpdmVeMgorIFs1LDYpIHwg WzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCBmaXZlXjIKKyBbNSw2KSB8IFsyMDIwLTAxLTAxLDIw MzAtMDEtMDEpIHwgZml2ZQorIFs1LDYpIHwgWzIwMzAtMDEtMDEsKSAgICAgICAgICAgfCBmaXZl KgorIFs2LDcpIHwgWzIwMTgtMDItMTUsMjAxOC0wMy0wMykgfCBvbmVeMgorIFs2LDcpIHwgWzIw MTgtMDMtMDMsMjAxOC0wMy0xMCkgfCBvbmVeMgorIFs2LDcpIHwgWzIwMTgtMDMtMTAsMjAxOC0w My0xNykgfCBvbmVeMworIFs2LDcpIHwgWzIwMTgtMDMtMTcsMjAxOC0wNC0wNCkgfCBvbmVeMgor KDIwIHJvd3MpCisKK1xzZXQgUVVJRVQgdHJ1ZQorLS0gVXBkYXRpbmcgd2l0aCBhIHNoaWZ0L3Jl ZHVjZSBjb25mbGljdAorLS0gKHJlcXVpcmVzIGEgdHNyYW5nZSBjb2x1bW4pCitDUkVBVEUgVU5M T0dHRUQgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZh bGlkX2F0IHRzcmFuZ2UsCisgIG5hbWUgdGV4dAorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9u X29mX3Rlc3QyIChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUworICAoJ1sxLDIpJywgJ1syMDAw LTAxLTAxLDIwMjAtMDEtMDEpJywgJ29uZScpOworLS0gdXBkYXRlcyBbMjAxMS0wMy0wMSAwMTow MjowMCwgMjAxMi0wMS0wMSkgKG5vdGUgMiBtaW51dGVzKQorVVBEQVRFIGZvcl9wb3J0aW9uX29m X3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0CisgICAgRlJPTSAnMjAxMS0wMy0wMSc6 OnRpbWVzdGFtcCArIElOVEVSVkFMICcxOjAyOjAzJyBIT1VSIFRPIE1JTlVURQorICAgIFRPICcy MDEyLTAxLTAxJworICBTRVQgbmFtZSA9ICdvbmVeMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOwor LS0gVE8gaXMgdXNlZCBmb3IgdGhlIGJvdW5kIGJ1dCBub3QgdGhlIElOVEVSVkFMOgorLS0gc3lu dGF4IGVycm9yCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQKKyAgICBGUk9NICcyMDEzLTAzLTAxJzo6dGltZXN0YW1wICsgSU5URVJWQUwgJzE6 MDI6MDMnIEhPVVIKKyAgICBUTyAnMjAxNC0wMS0wMScKKyAgU0VUIG5hbWUgPSAnb25lXjInCisg IFdIRVJFIGlkID0gJ1sxLDIpJzsKK0VSUk9SOiAgc3ludGF4IGVycm9yIGF0IG9yIG5lYXIgIicy MDE0LTAxLTAxJyIKK0xJTkUgNDogICAgIFRPICcyMDE0LTAxLTAxJworICAgICAgICAgICAgICAg XgorLS0gYWRkaW5nIHBhcmVucyBmaXhlcyBpdAorLS0gdXBkYXRlcyBbMjAxNS0wMy0wMSAwMTow MDowMCwgMjAxNi0wMS0wMSkgKG5vIG1pbnV0ZXMpCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVz dDIKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQKKyAgICBGUk9NICgnMjAxNS0wMy0wMSc6OnRp bWVzdGFtcCArIElOVEVSVkFMICcxOjAyOjAzJyBIT1VSKQorICAgIFRPICcyMDE2LTAxLTAxJwor ICBTRVQgbmFtZSA9ICdvbmVeMycKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworU0VMRUNUICogRlJP TSBmb3JfcG9ydGlvbl9vZl90ZXN0MiBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAg ICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAgICAgfCBuYW1lICAKKy0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLQorIFsxLDIpIHwgWyIyMDAwLTAxLTAxIDAwOjAwOjAwIiwiMjAxMS0wMy0wMSAwMTowMjow MCIpIHwgb25lCisgWzEsMikgfCBbIjIwMTEtMDMtMDEgMDE6MDI6MDAiLCIyMDEyLTAxLTAxIDAw OjAwOjAwIikgfCBvbmVeMQorIFsxLDIpIHwgWyIyMDEyLTAxLTAxIDAwOjAwOjAwIiwiMjAxNS0w My0wMSAwMTowMDowMCIpIHwgb25lCisgWzEsMikgfCBbIjIwMTUtMDMtMDEgMDE6MDA6MDAiLCIy MDE2LTAxLTAxIDAwOjAwOjAwIikgfCBvbmVeMworIFsxLDIpIHwgWyIyMDE2LTAxLTAxIDAwOjAw OjAwIiwiMjAyMC0wMS0wMSAwMDowMDowMCIpIHwgb25lCisoNSByb3dzKQorCitEUk9QIFRBQkxF IGZvcl9wb3J0aW9uX29mX3Rlc3QyOworLS0gVVBEQVRFIEZPUiBQT1JUSU9OIE9GIGluIGEgQ1RF OgorLS0gVmlzaWJsZSB0byBTRUxFQ1Q6CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0 IChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUworICAoJ1sxMCwxMSknLCAnWzIwMTgtMDEtMDEs MjAyMC0wMS0wMSknLCAndGVuJyk7CitXSVRIIHVwZGF0ZV9hcHIgQVMgKAorICBVUERBVEUgZm9y X3BvcnRpb25fb2ZfdGVzdAorICAgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgt MDQtMDEnIFRPICcyMDE4LTA1LTAxJworICAgIFNFVCBuYW1lID0gJ0FwciAyMDE4JworICAgIFdI RVJFIGlkID0gJ1sxMCwxMSknCisgICAgUkVUVVJOSU5HIGlkLCB2YWxpZF9hdCwgbmFtZQorKQor U0VMRUNUICoKKyAgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IEFTIHQsIHVwZGF0ZV9hcHIKKyAg V0hFUkUgdC5pZCA9IHVwZGF0ZV9hcHIuaWQ7CisgICBpZCAgICB8ICAgICAgICB2YWxpZF9hdCAg ICAgICAgIHwgbmFtZSB8ICAgaWQgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8ICAgbmFt ZSAgIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KKyBbMTAsMTEpIHwgWzIwMTgt MDEtMDEsMjAyMC0wMS0wMSkgfCB0ZW4gIHwgWzEwLDExKSB8IFsyMDE4LTA0LTAxLDIwMTgtMDUt MDEpIHwgQXByIDIwMTgKKygxIHJvdykKKworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90 ZXN0IFdIRVJFIGlkID0gJ1sxMCwxMSknOworICAgaWQgICAgfCAgICAgICAgdmFsaWRfYXQgICAg ICAgICB8ICAgbmFtZSAgIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLQorIFsxMCwxMSkgfCBbMjAxOC0wNC0wMSwyMDE4LTA1LTAxKSB8IEFwciAyMDE4Cisg WzEwLDExKSB8IFsyMDE4LTAxLTAxLDIwMTgtMDQtMDEpIHwgdGVuCisgWzEwLDExKSB8IFsyMDE4 LTA1LTAxLDIwMjAtMDEtMDEpIHwgdGVuCisoMyByb3dzKQorCistLSBOb3QgdmlzaWJsZSB0byBV UERBVEU6CistLSBUdXBsZXMgdXBkYXRlZC9pbnNlcnRlZCB3aXRoaW4gdGhlIENURSBhcmUgbm90 IHZpc2libGUgdG8gdGhlIG1haW4gcXVlcnkgeWV0LAorLS0gYnV0IG5laXRoZXIgYXJlIG9sZCB0 dXBsZXMgdGhlIENURSBjaGFuZ2VkOgorSU5TRVJUIElOVE8gZm9yX3BvcnRpb25fb2ZfdGVzdCAo aWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMKKyAgKCdbMTEsMTIpJywgJ1syMDE4LTAxLTAxLDIw MjAtMDEtMDEpJywgJ2VsZXZlbicpOworV0lUSCB1cGRhdGVfYXByIEFTICgKKyAgVVBEQVRFIGZv cl9wb3J0aW9uX29mX3Rlc3QKKyAgICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4 LTA0LTAxJyBUTyAnMjAxOC0wNS0wMScKKyAgICBTRVQgbmFtZSA9ICdBcHIgMjAxOCcKKyAgICBX SEVSRSBpZCA9ICdbMTEsMTIpJworICAgIFJFVFVSTklORyBpZCwgdmFsaWRfYXQsIG5hbWUKKykK K1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMTgtMDUtMDEnIFRPICcyMDE4LTA2LTAxJworICBBUyB0CisgIFNFVCBuYW1lID0gJ01h eSAyMDE4JworICBGUk9NIHVwZGF0ZV9hcHIgQVMgagorICBXSEVSRSB0LmlkID0gai5pZDsKK1NF TEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBXSEVSRSBpZCA9ICdbMTEsMTIpJzsKKyAg IGlkICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCAgIG5hbWUgICAKKy0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KKyBbMTEsMTIpIHwgWzIwMTgtMDQt MDEsMjAxOC0wNS0wMSkgfCBBcHIgMjAxOAorIFsxMSwxMikgfCBbMjAxOC0wMS0wMSwyMDE4LTA0 LTAxKSB8IGVsZXZlbgorIFsxMSwxMikgfCBbMjAxOC0wNS0wMSwyMDIwLTAxLTAxKSB8IGVsZXZl bgorKDMgcm93cykKKworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBXSEVSRSBpZCBJ TiAoJ1sxMCwxMSknLCAnWzExLDEyKScpOworLS0gVVBEQVRFIEZPUiBQT1JUSU9OIE9GIGluIGEg UEwvcGdTUUwgZnVuY3Rpb24KK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QgKGlkLCB2 YWxpZF9hdCwgbmFtZSkgVkFMVUVTCisgICgnWzEwLDExKScsICdbMjAxOC0wMS0wMSwyMDIwLTAx LTAxKScsICd0ZW4nKTsKK0NSRUFURSBGVU5DVElPTiBmcG9fdXBkYXRlKF9pZCBpbnQ0cmFuZ2Us IF90YXJnZXRfZnJvbSBkYXRlLCBfdGFyZ2V0X3RpbCBkYXRlKQorUkVUVVJOUyB2b2lkIExBTkdV QUdFIHBscGdzcWwgQVMKKyQkCitCRUdJTgorICBVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAor ICAgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJDIgVE8gJDMKKyAgICBTRVQgbmFtZSA9 IGNvbmNhdChfdGFyZ2V0X2Zyb206OnRleHQsICcgdG8gJywgX3RhcmdldF90aWw6OnRleHQpCisg ICAgV0hFUkUgaWQgPSAkMTsKK0VORDsKKyQkOworU0VMRUNUIGZwb191cGRhdGUoJ1sxMCwxMSkn LCAnMjAxNS0wMS0wMScsICcyMDE5LTAxLTAxJyk7CisgZnBvX3VwZGF0ZSAKKy0tLS0tLS0tLS0t LQorIAorKDEgcm93KQorCitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hFUkUg aWQgPSAnWzEwLDExKSc7CisgICBpZCAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgICAg ICAgICAgIG5hbWUgICAgICAgICAgIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBbMTAsMTEpIHwgWzIwMTgtMDEtMDEsMjAx OS0wMS0wMSkgfCAyMDE1LTAxLTAxIHRvIDIwMTktMDEtMDEKKyBbMTAsMTEpIHwgWzIwMTktMDEt MDEsMjAyMC0wMS0wMSkgfCB0ZW4KKygyIHJvd3MpCisKK0RST1AgVEFCTEUgZm9yX3BvcnRpb25f b2ZfdGVzdDsKKy0tCistLSBERUxFVEUgdGVzdHMKKy0tCitDUkVBVEUgVEFCTEUgZm9yX3BvcnRp b25fb2ZfdGVzdCAoCisgIGlkIGludDRyYW5nZSBOT1QgTlVMTCwKKyAgdmFsaWRfYXQgZGF0ZXJh bmdlIE5PVCBOVUxMLAorICBuYW1lIHRleHQgTk9UIE5VTEwsCisgIENPTlNUUkFJTlQgZm9yX3Bv cnRpb25fb2ZfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQor KTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QgKGlkLCB2YWxpZF9hdCwgbmFtZSkg VkFMVUVTCisgICgnWzEsMiknLCAnWzIwMTgtMDEtMDIsMjAxOC0wMi0wMyknLCAnb25lJyksCisg ICgnWzEsMiknLCAnWzIwMTgtMDItMDMsMjAxOC0wMy0wMyknLCAnb25lJyksCisgICgnWzEsMikn LCAnWzIwMTgtMDMtMDMsMjAxOC0wNC0wNCknLCAnb25lJyksCisgICgnWzIsMyknLCAnWzIwMTgt MDEtMDEsMjAxOC0wMS0wNSknLCAndHdvJyksCisgICgnWzMsNCknLCAnWzIwMTgtMDEtMDEsKScs ICd0aHJlZScpLAorICAoJ1s0LDUpJywgJygsMjAxOC0wNC0wMSknLCAnZm91cicpLAorICAoJ1s1 LDYpJywgJygsKScsICdmaXZlJyksCisgICgnWzYsNyknLCAnWzIwMTgtMDEtMDEsKScsICdzaXgn KSwKKyAgKCdbNyw4KScsICcoLDIwMTgtMDQtMDEpJywgJ3NldmVuJyksCisgICgnWzgsOSknLCAn WzIwMTgtMDEtMDIsMjAxOC0wMi0wMyknLCAnZWlnaHQnKSwKKyAgKCdbOCw5KScsICdbMjAxOC0w Mi0wMywyMDE4LTAzLTAzKScsICdlaWdodCcpLAorICAoJ1s4LDkpJywgJ1syMDE4LTAzLTAzLDIw MTgtMDQtMDQpJywgJ2VpZ2h0JykKKyAgOworXHNldCBRVUlFVCBmYWxzZQorLS0gRGVsZXRpbmcg d2l0aCBhIG1pc3NpbmcgY29sdW1uIGZhaWxzCitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90 ZXN0CisgIEZPUiBQT1JUSU9OIE9GIGludmFsaWRfYXQgRlJPTSAnMjAxOC0wNi0wMScgVE8gTlVM TAorICBXSEVSRSBpZCA9ICdbNSw2KSc7CitFUlJPUjogIGNvbHVtbiBvciBwZXJpb2QgImludmFs aWRfYXQiIG9mIHJlbGF0aW9uICJmb3JfcG9ydGlvbl9vZl90ZXN0IiBkb2VzIG5vdCBleGlzdAor TElORSAyOiAgIEZPUiBQT1JUSU9OIE9GIGludmFsaWRfYXQgRlJPTSAnMjAxOC0wNi0wMScgVE8g TlVMTAorICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy0tIFRoZSB3cm9uZyB0eXBlIGZhaWxz CitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gMSBUTyA0CisgIFdIRVJFIGlkID0gJ1szLDQpJzsKK0VSUk9SOiAgZnVuY3Rpb24g cGdfY2F0YWxvZy5kYXRlcmFuZ2UoaW50ZWdlciwgaW50ZWdlcikgZG9lcyBub3QgZXhpc3QKK0xJ TkUgMjogICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIDEgVE8gNAorICAgICAgICAgICAg ICAgICAgICAgICAgIF4KK0RFVEFJTDogIE5vIGZ1bmN0aW9uIG9mIHRoYXQgbmFtZSBhY2NlcHRz IHRoZSBnaXZlbiBhcmd1bWVudCB0eXBlcy4KK0hJTlQ6ICBZb3UgbWlnaHQgbmVlZCB0byBhZGQg ZXhwbGljaXQgdHlwZSBjYXN0cy4KKy0tIERlbGV0aW5nIHdpdGggdGltZXN0YW1wcyByZXZlcnNl ZCBmYWlscworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDE4LTA2LTAxJyBUTyAnMjAxOC0wMS0wMScKKyAgV0hFUkUgaWQg PSAnWzMsNCknOworRVJST1I6ICByYW5nZSBsb3dlciBib3VuZCBtdXN0IGJlIGxlc3MgdGhhbiBv ciBlcXVhbCB0byByYW5nZSB1cHBlciBib3VuZAorLS0gRGVsZXRpbmcgd2l0aCBhIHN1YnF1ZXJ5 IGZhaWxzCitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gKFNFTEVDVCAnMjAxOC0wMS0wMScpIFRPICcyMDE4LTA2LTAxJworICBX SEVSRSBpZCA9ICdbMyw0KSc7CitFUlJPUjogIGNhbm5vdCB1c2Ugc3VicXVlcnkgaW4gRk9SIFBP UlRJT04gT0YgZXhwcmVzc2lvbgorTElORSAyOiAgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gKFNFTEVDVCAnMjAxOC0wMS0wMScpIFRPICcyMDEuLi4KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KKy0tIERlbGV0aW5nIHdpdGggYSBjb2x1bW4gZmFpbHMKK0RF TEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSBsb3dlcih2YWxpZF9hdCkgVE8gTlVMTAorICBXSEVSRSBpZCA9ICdbMyw0KSc7CitFUlJP UjogIGNhbm5vdCB1c2UgY29sdW1uIHJlZmVyZW5jZSBpbiBGT1IgUE9SVElPTiBPRiBleHByZXNz aW9uCitMSU5FIDI6ICAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSBsb3dlcih2YWxpZF9h dCkgVE8gTlVMTAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgorLS0gRGVsZXRpbmcgd2l0aCB0aW1lc3RhbXBzIGVxdWFsIGRvZXMgbm90aGluZworREVMRVRF IEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N ICcyMDE4LTA0LTAxJyBUTyAnMjAxOC0wNC0wMScKKyAgV0hFUkUgaWQgPSAnWzMsNCknOworREVM RVRFIDAKKy0tIERlbGV0aW5nIGEgZmluaXRlL29wZW4gcG9ydGlvbiB3aXRoIGEgZmluaXRlL29w ZW4gdGFyZ2V0CitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDYtMDEnIFRPIE5VTEwKKyAgV0hFUkUgaWQgPSAnWzMs NCknOworREVMRVRFIDIKKy0tIERlbGV0aW5nIGEgZmluaXRlL29wZW4gcG9ydGlvbiB3aXRoIGFu IG9wZW4vZmluaXRlIHRhcmdldAorREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIE5VTEwgVE8gJzIwMTgtMDMtMDEnCisgIFdIRVJF IGlkID0gJ1s2LDcpJzsKK0RFTEVURSAyCistLSBEZWxldGluZyBhbiBvcGVuL2Zpbml0ZSBwb3J0 aW9uIHdpdGggYW4gb3Blbi9maW5pdGUgdGFyZ2V0CitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9v Zl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gTlVMTCBUTyAnMjAxOC0wMi0w MScKKyAgV0hFUkUgaWQgPSAnWzQsNSknOworREVMRVRFIDIKKy0tIERlbGV0aW5nIGFuIG9wZW4v ZmluaXRlIHBvcnRpb24gd2l0aCBhIGZpbml0ZS9vcGVuIHRhcmdldAorREVMRVRFIEZST00gZm9y X3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE3LTAx LTAxJyBUTyBOVUxMCisgIFdIRVJFIGlkID0gJ1s3LDgpJzsKK0RFTEVURSAyCistLSBEZWxldGlu ZyBhIGZpbml0ZS9maW5pdGUgcG9ydGlvbiB3aXRoIGFuIGV4YWN0IGZpdAorREVMRVRFIEZST00g Zm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4 LTAyLTAxJyBUTyAnMjAxOC0wNC0wMScKKyAgV0hFUkUgaWQgPSAnWzQsNSknOworREVMRVRFIDEK Ky0tIERlbGV0aW5nIGFuIGVuY2xvc2VkIHNwYW4KK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29m X3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSBOVUxMIFRPIE5VTEwKKyAgV0hF UkUgaWQgPSAnWzIsMyknOworREVMRVRFIDEKKy0tIERlbGV0aW5nIGFuIG9wZW4vb3BlbiBwb3J0 aW9uIHdpdGggYSBmaW5pdGUvZmluaXRlIHRhcmdldAorREVMRVRFIEZST00gZm9yX3BvcnRpb25f b2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTAxJyBUTyAn MjAxOS0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzUsNiknOworREVMRVRFIDMKKy0tIERlbGV0aW5n IGFuIGVuY2xvc2VkIHNwYW4gd2l0aCBzZXBhcmF0ZSBwcm90cnVkaW5nIHNwYW5zCitERUxFVEUg RlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMTgtMDItMDMnIFRPICcyMDE4LTAzLTAzJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CitERUxF VEUgMQorLS0gRGVsZXRpbmcgbXVsdGlwbGUgZW5jbG9zZWQgc3BhbnMKK0RFTEVURSBGUk9NIGZv cl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSBOVUxMIFRP IE5VTEwKKyAgV0hFUkUgaWQgPSAnWzgsOSknOworREVMRVRFIDMKKy0tIERlbGV0aW5nIHdpdGgg YSBkaXJlY3QgdGFyZ2V0CitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlcmFuZ2UoJzIwMTgtMDMtMTAnLCAnMjAxOC0wMy0xNycp KQorICBXSEVSRSBpZCA9ICdbMSwyKSc7CitERUxFVEUgMworLS0gREVMRVRFIHdpdGggbm8gV0hF UkUgY2xhdXNlCitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMzAtMDEtMDEnIFRPIE5VTEw7CitERUxFVEUgNAorU0VMRUNU ICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQg ICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgbmFtZSAgCistLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLQorIFsxLDIpIHwgWzIwMTgtMDEtMDIsMjAxOC0wMi0wMykg fCBvbmUKKyBbMSwyKSB8IFsyMDE4LTAzLTAzLDIwMTgtMDMtMTApIHwgb25lCisgWzEsMikgfCBb MjAxOC0wMy0xNywyMDE4LTA0LTA0KSB8IG9uZQorIFszLDQpIHwgWzIwMTgtMDEtMDEsMjAxOC0w Ni0wMSkgfCB0aHJlZQorIFs1LDYpIHwgKCwyMDE4LTAxLTAxKSAgICAgICAgICAgfCBmaXZlCisg WzUsNikgfCBbMjAxOS0wMS0wMSwyMDMwLTAxLTAxKSB8IGZpdmUKKyBbNiw3KSB8IFsyMDE4LTAz LTAxLDIwMzAtMDEtMDEpIHwgc2l4CisgWzcsOCkgfCAoLDIwMTctMDEtMDEpICAgICAgICAgICB8 IHNldmVuCisoOCByb3dzKQorCitcc2V0IFFVSUVUIHRydWUKKy0tIFVQREFURSAuLi4gUkVUVVJO SU5HIHJldHVybnMgb25seSB0aGUgdXBkYXRlZCB2YWx1ZXMgKG5vdCB0aGUgaW5zZXJ0ZWQgc2lk ZSB2YWx1ZXMpCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDE4LTAyLTAxJyBUTyAnMjAxOC0wMi0xNScKKyAgU0VUIG5hbWUgPSAn dGhyZWVeMycKKyAgV0hFUkUgaWQgPSAnWzMsNCknCisgIFJFVFVSTklORyAqOworICBpZCAgIHwg ICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCAgbmFtZSAgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLQorIFszLDQpIHwgWzIwMTgtMDItMDEsMjAxOC0wMi0xNSkg fCB0aHJlZV4zCisoMSByb3cpCisKKy0tIERFTEVURSAuLi4gUkVUVVJOSU5HIHJldHVybnMgdGhl IGRlbGV0ZWQgdmFsdWVzIChyZWdhcmRsZXNzIG9mIGJvdW5kcykKK0RFTEVURSBGUk9NIGZvcl9w b3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMi0w MicgVE8gJzIwMTgtMDItMDMnCisgIFdIRVJFIGlkID0gJ1szLDQpJworICBSRVRVUk5JTkcgKjsK KyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgIG5hbWUgICAKKy0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBbMyw0KSB8IFsyMDE4LTAyLTAxLDIw MTgtMDItMTUpIHwgdGhyZWVeMworKDEgcm93KQorCistLSBERUxFVEUgRk9SIFBPUlRJT04gT0Yg aW4gYSBQTC9wZ1NRTCBmdW5jdGlvbgorSU5TRVJUIElOVE8gZm9yX3BvcnRpb25fb2ZfdGVzdCAo aWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMKKyAgKCdbMTAsMTEpJywgJ1syMDE4LTAxLTAxLDIw MjAtMDEtMDEpJywgJ3RlbicpOworQ1JFQVRFIEZVTkNUSU9OIGZwb19kZWxldGUoX2lkIGludDRy YW5nZSwgX3RhcmdldF9mcm9tIGRhdGUsIF90YXJnZXRfdGlsIGRhdGUpCitSRVRVUk5TIHZvaWQg TEFOR1VBR0UgcGxwZ3NxbCBBUworJCQKK0JFR0lOCisgIERFTEVURSBGUk9NIGZvcl9wb3J0aW9u X29mX3Rlc3QKKyAgICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICQyIFRPICQzCisgICAg V0hFUkUgaWQgPSAkMTsKK0VORDsKKyQkOworU0VMRUNUIGZwb19kZWxldGUoJ1sxMCwxMSknLCAn MjAxNS0wMS0wMScsICcyMDE5LTAxLTAxJyk7CisgZnBvX2RlbGV0ZSAKKy0tLS0tLS0tLS0tLQor IAorKDEgcm93KQorCitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQg PSAnWzEwLDExKSc7CisgICBpZCAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgbmFtZSAK Ky0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLQorIFsxMCwxMSkgfCBb MjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IHRlbgorKDEgcm93KQorCitERUxFVEUgRlJPTSBmb3Jf cG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkIElOICgnWzEwLDExKScpOworLS0gdGVzdCB0aGF0IHdl IHJ1biB0cmlnZ2VycyBvbiB0aGUgVVBEQVRFL0RFTEVURWQgcm93IGFuZCB0aGUgSU5TRVJUZWQg cm93cworQ1JFQVRFIEZVTkNUSU9OIGR1bXBfdHJpZ2dlcigpCitSRVRVUk5TIFRSSUdHRVIgTEFO R1VBR0UgcGxwZ3NxbCBBUworJCQKK0JFR0lOCisgIFJBSVNFIE5PVElDRSAnJTogJSAlICU6JywK KyAgICBUR19OQU1FLCBUR19XSEVOLCBUR19PUCwgVEdfTEVWRUw7CisKKyAgSUYgVEdfQVJHVlsw XSBUSEVOCisgICAgUkFJU0UgTk9USUNFICcgIG9sZDogJScsIChTRUxFQ1Qgc3RyaW5nX2FnZyhv bGRfdGFibGU6OnRleHQsICdcbiAgICAgICAnKSBGUk9NIG9sZF90YWJsZSk7CisgIEVMU0UKKyAg ICBSQUlTRSBOT1RJQ0UgJyAgb2xkOiAlJywgT0xELnZhbGlkX2F0OworICBFTkQgSUY7CisgIElG IFRHX0FSR1ZbMV0gVEhFTgorICAgIFJBSVNFIE5PVElDRSAnICBuZXc6ICUnLCAoU0VMRUNUIHN0 cmluZ19hZ2cobmV3X3RhYmxlOjp0ZXh0LCAnXG4gICAgICAgJykgRlJPTSBuZXdfdGFibGUpOwor ICBFTFNFCisgICAgUkFJU0UgTk9USUNFICcgIG5ldzogJScsIE5FVy52YWxpZF9hdDsKKyAgRU5E IElGOworCisgIElGIFRHX09QID0gJ0lOU0VSVCcgT1IgVEdfT1AgPSAnVVBEQVRFJyBUSEVOCisg ICAgUkVUVVJOIE5FVzsKKyAgRUxTSUYgVEdfT1AgPSAnREVMRVRFJyBUSEVOCisgICAgUkVUVVJO IE9MRDsKKyAgRU5EIElGOworRU5EOworJCQ7CistLSBzdGF0ZW1lbnQgdHJpZ2dlcnM6CitDUkVB VEUgVFJJR0dFUiBmcG9fYmVmb3JlX3N0bXQKK0JFRk9SRSBJTlNFUlQgT1IgVVBEQVRFIE9SIERF TEVURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitGT1IgRUFDSCBTVEFURU1FTlQgRVhFQ1VURSBQ Uk9DRURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCBmYWxzZSk7CitDUkVBVEUgVFJJR0dFUiBmcG9f YWZ0ZXJfaW5zZXJ0X3N0bXQKK0FGVEVSIElOU0VSVCBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitG T1IgRUFDSCBTVEFURU1FTlQgRVhFQ1VURSBQUk9DRURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCBm YWxzZSk7CitDUkVBVEUgVFJJR0dFUiBmcG9fYWZ0ZXJfdXBkYXRlX3N0bXQKK0FGVEVSIFVQREFU RSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitGT1IgRUFDSCBTVEFURU1FTlQgRVhFQ1VURSBQUk9D RURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCBmYWxzZSk7CitDUkVBVEUgVFJJR0dFUiBmcG9fYWZ0 ZXJfZGVsZXRlX3N0bXQKK0FGVEVSIERFTEVURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitGT1Ig RUFDSCBTVEFURU1FTlQgRVhFQ1VURSBQUk9DRURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCBmYWxz ZSk7CistLSByb3cgdHJpZ2dlcnM6CitDUkVBVEUgVFJJR0dFUiBmcG9fYmVmb3JlX3JvdworQkVG T1JFIElOU0VSVCBPUiBVUERBVEUgT1IgREVMRVRFIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK0ZP UiBFQUNIIFJPVyBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdnZXIoZmFsc2UsIGZhbHNlKTsK K0NSRUFURSBUUklHR0VSIGZwb19hZnRlcl9pbnNlcnRfcm93CitBRlRFUiBJTlNFUlQgT04gZm9y X3BvcnRpb25fb2ZfdGVzdAorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJp Z2dlcihmYWxzZSwgZmFsc2UpOworQ1JFQVRFIFRSSUdHRVIgZnBvX2FmdGVyX3VwZGF0ZV9yb3cK K0FGVEVSIFVQREFURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitGT1IgRUFDSCBST1cgRVhFQ1VU RSBQUk9DRURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCBmYWxzZSk7CitDUkVBVEUgVFJJR0dFUiBm cG9fYWZ0ZXJfZGVsZXRlX3JvdworQUZURVIgREVMRVRFIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QK K0ZPUiBFQUNIIFJPVyBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdnZXIoZmFsc2UsIGZhbHNl KTsKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMjEtMDEtMDEnIFRPICcyMDIyLTAxLTAxJworICBTRVQgbmFtZSA9ICdmaXZlXjMn CisgIFdIRVJFIGlkID0gJ1s1LDYpJzsKK05PVElDRTogIGZwb19iZWZvcmVfc3RtdDogQkVGT1JF IFVQREFURSBTVEFURU1FTlQ6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5l dzogPE5VTEw+CitOT1RJQ0U6ICBmcG9fYmVmb3JlX3JvdzogQkVGT1JFIFVQREFURSBST1c6CitO T1RJQ0U6ICAgIG9sZDogWzIwMTktMDEtMDEsMjAzMC0wMS0wMSkKK05PVElDRTogICAgbmV3OiBb MjAyMS0wMS0wMSwyMDIyLTAxLTAxKQorTk9USUNFOiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUg SU5TRVJUIFNUQVRFTUVOVDoKK05PVElDRTogICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3 OiA8TlVMTD4KK05PVElDRTogIGZwb19iZWZvcmVfcm93OiBCRUZPUkUgSU5TRVJUIFJPVzoKK05P VElDRTogICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3OiBbMjAxOS0wMS0wMSwyMDIxLTAx LTAxKQorTk9USUNFOiAgZnBvX2FmdGVyX2luc2VydF9yb3c6IEFGVEVSIElOU0VSVCBST1c6CitO T1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzogWzIwMTktMDEtMDEsMjAyMS0w MS0wMSkKK05PVElDRTogIGZwb19hZnRlcl9pbnNlcnRfc3RtdDogQUZURVIgSU5TRVJUIFNUQVRF TUVOVDoKK05PVElDRTogICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3OiA8TlVMTD4KK05P VElDRTogIGZwb19iZWZvcmVfc3RtdDogQkVGT1JFIElOU0VSVCBTVEFURU1FTlQ6CitOT1RJQ0U6 ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzogPE5VTEw+CitOT1RJQ0U6ICBmcG9fYmVm b3JlX3JvdzogQkVGT1JFIElOU0VSVCBST1c6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJ Q0U6ICAgIG5ldzogWzIwMjItMDEtMDEsMjAzMC0wMS0wMSkKK05PVElDRTogIGZwb19hZnRlcl9p bnNlcnRfcm93OiBBRlRFUiBJTlNFUlQgUk9XOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9U SUNFOiAgICBuZXc6IFsyMDIyLTAxLTAxLDIwMzAtMDEtMDEpCitOT1RJQ0U6ICBmcG9fYWZ0ZXJf aW5zZXJ0X3N0bXQ6IEFGVEVSIElOU0VSVCBTVEFURU1FTlQ6CitOT1RJQ0U6ICAgIG9sZDogPE5V TEw+CitOT1RJQ0U6ICAgIG5ldzogPE5VTEw+CitOT1RJQ0U6ICBmcG9fYWZ0ZXJfdXBkYXRlX3Jv dzogQUZURVIgVVBEQVRFIFJPVzoKK05PVElDRTogICAgb2xkOiBbMjAxOS0wMS0wMSwyMDMwLTAx LTAxKQorTk9USUNFOiAgICBuZXc6IFsyMDIxLTAxLTAxLDIwMjItMDEtMDEpCitOT1RJQ0U6ICBm cG9fYWZ0ZXJfdXBkYXRlX3N0bXQ6IEFGVEVSIFVQREFURSBTVEFURU1FTlQ6CitOT1RJQ0U6ICAg IG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzogPE5VTEw+CitERUxFVEUgRlJPTSBmb3JfcG9y dGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjMtMDEtMDEn IFRPICcyMDI0LTAxLTAxJworICBXSEVSRSBpZCA9ICdbNSw2KSc7CitOT1RJQ0U6ICBmcG9fYmVm b3JlX3N0bXQ6IEJFRk9SRSBERUxFVEUgU1RBVEVNRU5UOgorTk9USUNFOiAgICBvbGQ6IDxOVUxM PgorTk9USUNFOiAgICBuZXc6IDxOVUxMPgorTk9USUNFOiAgZnBvX2JlZm9yZV9yb3c6IEJFRk9S RSBERUxFVEUgUk9XOgorTk9USUNFOiAgICBvbGQ6IFsyMDIyLTAxLTAxLDIwMzAtMDEtMDEpCitO T1RJQ0U6ICAgIG5ldzogPE5VTEw+CitOT1RJQ0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJFRk9SRSBJ TlNFUlQgU1RBVEVNRU5UOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6 IDxOVUxMPgorTk9USUNFOiAgZnBvX2JlZm9yZV9yb3c6IEJFRk9SRSBJTlNFUlQgUk9XOgorTk9U SUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6IFsyMDIyLTAxLTAxLDIwMjMtMDEt MDEpCitOT1RJQ0U6ICBmcG9fYWZ0ZXJfaW5zZXJ0X3JvdzogQUZURVIgSU5TRVJUIFJPVzoKK05P VElDRTogICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3OiBbMjAyMi0wMS0wMSwyMDIzLTAx LTAxKQorTk9USUNFOiAgZnBvX2FmdGVyX2luc2VydF9zdG10OiBBRlRFUiBJTlNFUlQgU1RBVEVN RU5UOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6IDxOVUxMPgorTk9U SUNFOiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgSU5TRVJUIFNUQVRFTUVOVDoKK05PVElDRTog ICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3OiA8TlVMTD4KK05PVElDRTogIGZwb19iZWZv cmVfcm93OiBCRUZPUkUgSU5TRVJUIFJPVzoKK05PVElDRTogICAgb2xkOiA8TlVMTD4KK05PVElD RTogICAgbmV3OiBbMjAyNC0wMS0wMSwyMDMwLTAxLTAxKQorTk9USUNFOiAgZnBvX2FmdGVyX2lu c2VydF9yb3c6IEFGVEVSIElOU0VSVCBST1c6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJ Q0U6ICAgIG5ldzogWzIwMjQtMDEtMDEsMjAzMC0wMS0wMSkKK05PVElDRTogIGZwb19hZnRlcl9p bnNlcnRfc3RtdDogQUZURVIgSU5TRVJUIFNUQVRFTUVOVDoKK05PVElDRTogICAgb2xkOiA8TlVM TD4KK05PVElDRTogICAgbmV3OiA8TlVMTD4KK05PVElDRTogIGZwb19hZnRlcl9kZWxldGVfcm93 OiBBRlRFUiBERUxFVEUgUk9XOgorTk9USUNFOiAgICBvbGQ6IFsyMDIyLTAxLTAxLDIwMzAtMDEt MDEpCitOT1RJQ0U6ICAgIG5ldzogPE5VTEw+CitOT1RJQ0U6ICBmcG9fYWZ0ZXJfZGVsZXRlX3N0 bXQ6IEFGVEVSIERFTEVURSBTVEFURU1FTlQ6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJ Q0U6ICAgIG5ldzogPE5VTEw+CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCAg bmFtZSAgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLQorIFsx LDIpIHwgWzIwMTgtMDEtMDIsMjAxOC0wMi0wMykgfCBvbmUKKyBbMSwyKSB8IFsyMDE4LTAzLTAz LDIwMTgtMDMtMTApIHwgb25lCisgWzEsMikgfCBbMjAxOC0wMy0xNywyMDE4LTA0LTA0KSB8IG9u ZQorIFszLDQpIHwgWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSkgfCB0aHJlZQorIFszLDQpIHwgWzIw MTgtMDItMDEsMjAxOC0wMi0wMikgfCB0aHJlZV4zCisgWzMsNCkgfCBbMjAxOC0wMi0wMywyMDE4 LTAyLTE1KSB8IHRocmVlXjMKKyBbMyw0KSB8IFsyMDE4LTAyLTE1LDIwMTgtMDYtMDEpIHwgdGhy ZWUKKyBbNSw2KSB8ICgsMjAxOC0wMS0wMSkgICAgICAgICAgIHwgZml2ZQorIFs1LDYpIHwgWzIw MTktMDEtMDEsMjAyMS0wMS0wMSkgfCBmaXZlCisgWzUsNikgfCBbMjAyMS0wMS0wMSwyMDIyLTAx LTAxKSB8IGZpdmVeMworIFs1LDYpIHwgWzIwMjItMDEtMDEsMjAyMy0wMS0wMSkgfCBmaXZlCisg WzUsNikgfCBbMjAyNC0wMS0wMSwyMDMwLTAxLTAxKSB8IGZpdmUKKyBbNiw3KSB8IFsyMDE4LTAz LTAxLDIwMzAtMDEtMDEpIHwgc2l4CisgWzcsOCkgfCAoLDIwMTctMDEtMDEpICAgICAgICAgICB8 IHNldmVuCisoMTQgcm93cykKKworLS0gVHJpZ2dlcnMgd2l0aCBhIGN1c3RvbSB0cmFuc2l0aW9u IHRhYmxlIG5hbWU6CitEUk9QIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3Q7CitDUkVBVEUgVEFC TEUgZm9yX3BvcnRpb25fb2ZfdGVzdCAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0 ZXJhbmdlLAorICBuYW1lIHRleHQKKyk7CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0 IFZBTFVFUyAoJ1sxLDIpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJywgJ29uZScpOworLS0g c3RhdGVtZW50IHRyaWdnZXJzOgorQ1JFQVRFIFRSSUdHRVIgZnBvX2JlZm9yZV9zdG10CitCRUZP UkUgSU5TRVJUIE9SIFVQREFURSBPUiBERUxFVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorRk9S IEVBQ0ggU1RBVEVNRU5UIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxzZSwgZmFs c2UpOworQ1JFQVRFIFRSSUdHRVIgZnBvX2FmdGVyX2luc2VydF9zdG10CitBRlRFUiBJTlNFUlQg T04gZm9yX3BvcnRpb25fb2ZfdGVzdAorUkVGRVJFTkNJTkcgTkVXIFRBQkxFIEFTIG5ld190YWJs ZQorRk9SIEVBQ0ggU1RBVEVNRU5UIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxz ZSwgdHJ1ZSk7CitDUkVBVEUgVFJJR0dFUiBmcG9fYWZ0ZXJfdXBkYXRlX3N0bXQKK0FGVEVSIFVQ REFURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitSRUZFUkVOQ0lORyBORVcgVEFCTEUgQVMgbmV3 X3RhYmxlIE9MRCBUQUJMRSBBUyBvbGRfdGFibGUKK0ZPUiBFQUNIIFNUQVRFTUVOVCBFWEVDVVRF IFBST0NFRFVSRSBkdW1wX3RyaWdnZXIodHJ1ZSwgdHJ1ZSk7CitDUkVBVEUgVFJJR0dFUiBmcG9f YWZ0ZXJfZGVsZXRlX3N0bXQKK0FGVEVSIERFTEVURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitS RUZFUkVOQ0lORyBPTEQgVEFCTEUgQVMgb2xkX3RhYmxlCitGT1IgRUFDSCBTVEFURU1FTlQgRVhF Q1VURSBQUk9DRURVUkUgZHVtcF90cmlnZ2VyKHRydWUsIGZhbHNlKTsKKy0tIHJvdyB0cmlnZ2Vy czoKK0NSRUFURSBUUklHR0VSIGZwb19iZWZvcmVfcm93CitCRUZPUkUgSU5TRVJUIE9SIFVQREFU RSBPUiBERUxFVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorRk9SIEVBQ0ggUk9XIEVYRUNVVEUg UFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxzZSwgZmFsc2UpOworQ1JFQVRFIFRSSUdHRVIgZnBv X2FmdGVyX2luc2VydF9yb3cKK0FGVEVSIElOU0VSVCBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitS RUZFUkVOQ0lORyBORVcgVEFCTEUgQVMgbmV3X3RhYmxlCitGT1IgRUFDSCBST1cgRVhFQ1VURSBQ Uk9DRURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCB0cnVlKTsKK0NSRUFURSBUUklHR0VSIGZwb19h ZnRlcl91cGRhdGVfcm93CitBRlRFUiBVUERBVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorUkVG RVJFTkNJTkcgT0xEIFRBQkxFIEFTIG9sZF90YWJsZSBORVcgVEFCTEUgQVMgbmV3X3RhYmxlCitG T1IgRUFDSCBST1cgRVhFQ1VURSBQUk9DRURVUkUgZHVtcF90cmlnZ2VyKHRydWUsIHRydWUpOwor Q1JFQVRFIFRSSUdHRVIgZnBvX2FmdGVyX2RlbGV0ZV9yb3cKK0FGVEVSIERFTEVURSBPTiBmb3Jf cG9ydGlvbl9vZl90ZXN0CitSRUZFUkVOQ0lORyBPTEQgVEFCTEUgQVMgb2xkX3RhYmxlCitGT1Ig RUFDSCBST1cgRVhFQ1VURSBQUk9DRURVUkUgZHVtcF90cmlnZ2VyKHRydWUsIGZhbHNlKTsKK0JF R0lOOworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAxOC0wMS0xNScgVE8gJzIwMTktMDEtMDEnCisgIFNFVCBuYW1lID0gJzIwMTgt MDEtMTVfdG9fMjAxOS0wMS0wMSc7CitOT1RJQ0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJFRk9SRSBV UERBVEUgU1RBVEVNRU5UOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6 IDxOVUxMPgorTk9USUNFOiAgZnBvX2JlZm9yZV9yb3c6IEJFRk9SRSBVUERBVEUgUk9XOgorTk9U SUNFOiAgICBvbGQ6IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpCitOT1RJQ0U6ICAgIG5ldzogWzIw MTgtMDEtMTUsMjAxOS0wMS0wMSkKK05PVElDRTogIGZwb19iZWZvcmVfc3RtdDogQkVGT1JFIElO U0VSVCBTVEFURU1FTlQ6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzog PE5VTEw+CitOT1RJQ0U6ICBmcG9fYmVmb3JlX3JvdzogQkVGT1JFIElOU0VSVCBST1c6CitOT1RJ Q0U6ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzogWzIwMTgtMDEtMDEsMjAxOC0wMS0x NSkKK05PVElDRTogIGZwb19hZnRlcl9pbnNlcnRfcm93OiBBRlRFUiBJTlNFUlQgUk9XOgorTk9U SUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6ICgiWzEsMikiLCJbMjAxOC0wMS0w MSwyMDE4LTAxLTE1KSIsb25lKQorTk9USUNFOiAgZnBvX2FmdGVyX2luc2VydF9zdG10OiBBRlRF UiBJTlNFUlQgU1RBVEVNRU5UOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBu ZXc6ICgiWzEsMikiLCJbMjAxOC0wMS0wMSwyMDE4LTAxLTE1KSIsb25lKQorTk9USUNFOiAgZnBv X2JlZm9yZV9zdG10OiBCRUZPUkUgSU5TRVJUIFNUQVRFTUVOVDoKK05PVElDRTogICAgb2xkOiA8 TlVMTD4KK05PVElDRTogICAgbmV3OiA8TlVMTD4KK05PVElDRTogIGZwb19iZWZvcmVfcm93OiBC RUZPUkUgSU5TRVJUIFJPVzoKK05PVElDRTogICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3 OiBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKQorTk9USUNFOiAgZnBvX2FmdGVyX2luc2VydF9yb3c6 IEFGVEVSIElOU0VSVCBST1c6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5l dzogKCJbMSwyKSIsIlsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIixvbmUpCitOT1RJQ0U6ICBmcG9f YWZ0ZXJfaW5zZXJ0X3N0bXQ6IEFGVEVSIElOU0VSVCBTVEFURU1FTlQ6CitOT1RJQ0U6ICAgIG9s ZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzogKCJbMSwyKSIsIlsyMDE5LTAxLTAxLDIwMjAtMDEt MDEpIixvbmUpCitOT1RJQ0U6ICBmcG9fYWZ0ZXJfdXBkYXRlX3JvdzogQUZURVIgVVBEQVRFIFJP VzoKK05PVElDRTogICAgb2xkOiAoIlsxLDIpIiwiWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkiLG9u ZSkKK05PVElDRTogICAgbmV3OiAoIlsxLDIpIiwiWzIwMTgtMDEtMTUsMjAxOS0wMS0wMSkiLDIw MTgtMDEtMTVfdG9fMjAxOS0wMS0wMSkKK05PVElDRTogIGZwb19hZnRlcl91cGRhdGVfc3RtdDog QUZURVIgVVBEQVRFIFNUQVRFTUVOVDoKK05PVElDRTogICAgb2xkOiAoIlsxLDIpIiwiWzIwMTgt MDEtMDEsMjAyMC0wMS0wMSkiLG9uZSkKK05PVElDRTogICAgbmV3OiAoIlsxLDIpIiwiWzIwMTgt MDEtMTUsMjAxOS0wMS0wMSkiLDIwMTgtMDEtMTVfdG9fMjAxOS0wMS0wMSkKK1JPTExCQUNLOwor QkVHSU47CitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gTlVMTCBUTyAnMjAxOC0wMS0yMSc7CitOT1RJQ0U6ICBmcG9fYmVmb3Jl X3N0bXQ6IEJFRk9SRSBERUxFVEUgU1RBVEVNRU5UOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgor Tk9USUNFOiAgICBuZXc6IDxOVUxMPgorTk9USUNFOiAgZnBvX2JlZm9yZV9yb3c6IEJFRk9SRSBE RUxFVEUgUk9XOgorTk9USUNFOiAgICBvbGQ6IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpCitOT1RJ Q0U6ICAgIG5ldzogPE5VTEw+CitOT1RJQ0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJFRk9SRSBJTlNF UlQgU1RBVEVNRU5UOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6IDxO VUxMPgorTk9USUNFOiAgZnBvX2JlZm9yZV9yb3c6IEJFRk9SRSBJTlNFUlQgUk9XOgorTk9USUNF OiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6IFsyMDE4LTAxLTIxLDIwMjAtMDEtMDEp CitOT1RJQ0U6ICBmcG9fYWZ0ZXJfaW5zZXJ0X3JvdzogQUZURVIgSU5TRVJUIFJPVzoKK05PVElD RTogICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3OiAoIlsxLDIpIiwiWzIwMTgtMDEtMjEs MjAyMC0wMS0wMSkiLG9uZSkKK05PVElDRTogIGZwb19hZnRlcl9pbnNlcnRfc3RtdDogQUZURVIg SU5TRVJUIFNUQVRFTUVOVDoKK05PVElDRTogICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3 OiAoIlsxLDIpIiwiWzIwMTgtMDEtMjEsMjAyMC0wMS0wMSkiLG9uZSkKK05PVElDRTogIGZwb19h ZnRlcl9kZWxldGVfcm93OiBBRlRFUiBERUxFVEUgUk9XOgorTk9USUNFOiAgICBvbGQ6ICgiWzEs MikiLCJbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKSIsb25lKQorTk9USUNFOiAgICBuZXc6IDxOVUxM PgorTk9USUNFOiAgZnBvX2FmdGVyX2RlbGV0ZV9zdG10OiBBRlRFUiBERUxFVEUgU1RBVEVNRU5U OgorTk9USUNFOiAgICBvbGQ6ICgiWzEsMikiLCJbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKSIsb25l KQorTk9USUNFOiAgICBuZXc6IDxOVUxMPgorUk9MTEJBQ0s7CitCRUdJTjsKK1VQREFURSBmb3Jf cG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gTlVMTCBUTyAn MjAxOC0wMS0wMicKKyAgU0VUIG5hbWUgPSAnTlVMTF90b18yMDE4LTAxLTAxJzsKK05PVElDRTog IGZwb19iZWZvcmVfc3RtdDogQkVGT1JFIFVQREFURSBTVEFURU1FTlQ6CitOT1RJQ0U6ICAgIG9s ZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzogPE5VTEw+CitOT1RJQ0U6ICBmcG9fYmVmb3JlX3Jv dzogQkVGT1JFIFVQREFURSBST1c6CitOT1RJQ0U6ICAgIG9sZDogWzIwMTgtMDEtMDEsMjAyMC0w MS0wMSkKK05PVElDRTogICAgbmV3OiBbMjAxOC0wMS0wMSwyMDE4LTAxLTAyKQorTk9USUNFOiAg ZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgSU5TRVJUIFNUQVRFTUVOVDoKK05PVElDRTogICAgb2xk OiA8TlVMTD4KK05PVElDRTogICAgbmV3OiA8TlVMTD4KK05PVElDRTogIGZwb19iZWZvcmVfcm93 OiBCRUZPUkUgSU5TRVJUIFJPVzoKK05PVElDRTogICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAg bmV3OiBbMjAxOC0wMS0wMiwyMDIwLTAxLTAxKQorTk9USUNFOiAgZnBvX2FmdGVyX2luc2VydF9y b3c6IEFGVEVSIElOU0VSVCBST1c6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAg IG5ldzogKCJbMSwyKSIsIlsyMDE4LTAxLTAyLDIwMjAtMDEtMDEpIixvbmUpCitOT1RJQ0U6ICBm cG9fYWZ0ZXJfaW5zZXJ0X3N0bXQ6IEFGVEVSIElOU0VSVCBTVEFURU1FTlQ6CitOT1RJQ0U6ICAg IG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzogKCJbMSwyKSIsIlsyMDE4LTAxLTAyLDIwMjAt MDEtMDEpIixvbmUpCitOT1RJQ0U6ICBmcG9fYWZ0ZXJfdXBkYXRlX3JvdzogQUZURVIgVVBEQVRF IFJPVzoKK05PVElDRTogICAgb2xkOiAoIlsxLDIpIiwiWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSki LG9uZSkKK05PVElDRTogICAgbmV3OiAoIlsxLDIpIiwiWzIwMTgtMDEtMDEsMjAxOC0wMS0wMiki LE5VTExfdG9fMjAxOC0wMS0wMSkKK05PVElDRTogIGZwb19hZnRlcl91cGRhdGVfc3RtdDogQUZU RVIgVVBEQVRFIFNUQVRFTUVOVDoKK05PVElDRTogICAgb2xkOiAoIlsxLDIpIiwiWzIwMTgtMDEt MDEsMjAyMC0wMS0wMSkiLG9uZSkKK05PVElDRTogICAgbmV3OiAoIlsxLDIpIiwiWzIwMTgtMDEt MDEsMjAxOC0wMS0wMikiLE5VTExfdG9fMjAxOC0wMS0wMSkKK1JPTExCQUNLOworLS0gRGVmZXJy ZWQgdHJpZ2dlcnMKKy0tIChtdXN0IGJlIENPTlNUUkFJTlQgdHJpZ2dlcnMgdGh1cyBBRlRFUiBS T1cgd2l0aCBubyB0cmFuc2l0aW9uIHRhYmxlcykKK0RST1AgVEFCTEUgZm9yX3BvcnRpb25fb2Zf dGVzdDsKK0NSRUFURSBUQUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0ICgKKyAgaWQgaW50NHJhbmdl LAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIG5hbWUgdGV4dAorKTsKK0lOU0VSVCBJTlRPIGZv cl9wb3J0aW9uX29mX3Rlc3QgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVTCisgICgnWzEsMikn LCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknLCAnb25lJyk7CitDUkVBVEUgQ09OU1RSQUlOVCBU UklHR0VSIGZwb19hZnRlcl9pbnNlcnRfcm93CitBRlRFUiBJTlNFUlQgT04gZm9yX3BvcnRpb25f b2ZfdGVzdAorREVGRVJSQUJMRSBJTklUSUFMTFkgREVGRVJSRUQKK0ZPUiBFQUNIIFJPVyBFWEVD VVRFIFBST0NFRFVSRSBkdW1wX3RyaWdnZXIoZmFsc2UsIGZhbHNlKTsKK0NSRUFURSBDT05TVFJB SU5UIFRSSUdHRVIgZnBvX2FmdGVyX3VwZGF0ZV9yb3cKK0FGVEVSIFVQREFURSBPTiBmb3JfcG9y dGlvbl9vZl90ZXN0CitERUZFUlJBQkxFIElOSVRJQUxMWSBERUZFUlJFRAorRk9SIEVBQ0ggUk9X IEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxzZSwgZmFsc2UpOworQ1JFQVRFIENP TlNUUkFJTlQgVFJJR0dFUiBmcG9fYWZ0ZXJfZGVsZXRlX3JvdworQUZURVIgREVMRVRFIE9OIGZv cl9wb3J0aW9uX29mX3Rlc3QKK0RFRkVSUkFCTEUgSU5JVElBTExZIERFRkVSUkVECitGT1IgRUFD SCBST1cgRVhFQ1VURSBQUk9DRURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCBmYWxzZSk7CitCRUdJ TjsKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMTgtMDEtMTUnIFRPICcyMDE5LTAxLTAxJworICBTRVQgbmFtZSA9ICcyMDE4LTAx LTE1X3RvXzIwMTktMDEtMDEnOworQ09NTUlUOworTk9USUNFOiAgZnBvX2FmdGVyX2luc2VydF9y b3c6IEFGVEVSIElOU0VSVCBST1c6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAg IG5ldzogWzIwMTgtMDEtMDEsMjAxOC0wMS0xNSkKK05PVElDRTogIGZwb19hZnRlcl9pbnNlcnRf cm93OiBBRlRFUiBJTlNFUlQgUk9XOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAg ICBuZXc6IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpCitOT1RJQ0U6ICBmcG9fYWZ0ZXJfdXBkYXRl X3JvdzogQUZURVIgVVBEQVRFIFJPVzoKK05PVElDRTogICAgb2xkOiBbMjAxOC0wMS0wMSwyMDIw LTAxLTAxKQorTk9USUNFOiAgICBuZXc6IFsyMDE4LTAxLTE1LDIwMTktMDEtMDEpCitCRUdJTjsK K0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSBOVUxMIFRPICcyMDE4LTAxLTIxJzsKK0NPTU1JVDsKK05PVElDRTogIGZwb19hZnRl cl9pbnNlcnRfcm93OiBBRlRFUiBJTlNFUlQgUk9XOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgor Tk9USUNFOiAgICBuZXc6IFsyMDE4LTAxLTIxLDIwMTktMDEtMDEpCitOT1RJQ0U6ICBmcG9fYWZ0 ZXJfZGVsZXRlX3JvdzogQUZURVIgREVMRVRFIFJPVzoKK05PVElDRTogICAgb2xkOiBbMjAxOC0w MS0xNSwyMDE5LTAxLTAxKQorTk9USUNFOiAgICBuZXc6IDxOVUxMPgorTk9USUNFOiAgZnBvX2Fm dGVyX2RlbGV0ZV9yb3c6IEFGVEVSIERFTEVURSBST1c6CitOT1RJQ0U6ICAgIG9sZDogWzIwMTgt MDEtMDEsMjAxOC0wMS0xNSkKK05PVElDRTogICAgbmV3OiA8TlVMTD4KK0JFR0lOOworVVBEQVRF IGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSBOVUxM IFRPICcyMDE4LTAxLTAyJworICBTRVQgbmFtZSA9ICdOVUxMX3RvXzIwMTgtMDEtMDEnOworQ09N TUlUOworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0OworICBpZCAgIHwgICAgICAg IHZhbGlkX2F0ICAgICAgICAgfCAgICAgICAgICAgbmFtZSAgICAgICAgICAgCistLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBbMSwy KSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgb25lCisgWzEsMikgfCBbMjAxOC0wMS0yMSwy MDE5LTAxLTAxKSB8IDIwMTgtMDEtMTVfdG9fMjAxOS0wMS0wMQorKDIgcm93cykKKworLS0gdGVz dCBGT1IgUE9SVElPTiBPRiBmcm9tIHRyaWdnZXJzIGR1cmluZyBGT1IgUE9SVElPTiBPRjoKK0RS T1AgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDsKK0NSRUFURSBUQUJMRSBmb3JfcG9ydGlvbl9v Zl90ZXN0ICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIG5hbWUg dGV4dAorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QgKGlkLCB2YWxpZF9hdCwg bmFtZSkgVkFMVUVTCisgICgnWzEsMiknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknLCAnb25l JyksCisgICgnWzIsMyknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknLCAndHdvJyksCisgICgn WzMsNCknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknLCAndGhyZWUnKSwKKyAgKCdbNCw1KScs ICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScsICdmb3VyJyk7CitDUkVBVEUgRlVOQ1RJT04gdHJn X2Zwb191cGRhdGUoKQorUkVUVVJOUyBUUklHR0VSIExBTkdVQUdFIHBscGdzcWwgQVMKKyQkCitC RUdJTgorICBJRiBwZ190cmlnZ2VyX2RlcHRoKCkgPSAxIFRIRU4KKyAgICBVUERBVEUgZm9yX3Bv cnRpb25fb2ZfdGVzdAorICAgICAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0w Mi0wMScgVE8gJzIwMTgtMDMtMDEnCisgICAgICBTRVQgbmFtZSA9IENPTkNBVChuYW1lLCAnXicp CisgICAgICBXSEVSRSBpZCA9IE9MRC5pZDsKKyAgRU5EIElGOworICBSRVRVUk4gQ0FTRSBXSEVO ICdUR19PUCcgPSAnREVMRVRFJyBUSEVOIE9MRCBFTFNFIE5FVyBFTkQ7CitFTkQ7CiskJDsKK0NS RUFURSBGVU5DVElPTiB0cmdfZnBvX2RlbGV0ZSgpCitSRVRVUk5TIFRSSUdHRVIgTEFOR1VBR0Ug cGxwZ3NxbCBBUworJCQKK0JFR0lOCisgIElGIHBnX3RyaWdnZXJfZGVwdGgoKSA9IDEgVEhFTgor ICAgIERFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgICAgIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMTgtMDMtMDEnIFRPICcyMDE4LTA0LTAxJworICAgICAgV0hFUkUg aWQgPSBPTEQuaWQ7CisgIEVORCBJRjsKKyAgUkVUVVJOIENBU0UgV0hFTiAnVEdfT1AnID0gJ0RF TEVURScgVEhFTiBPTEQgRUxTRSBORVcgRU5EOworRU5EOworJCQ7CistLSBVUERBVEUgRk9SIFBP UlRJT04gT0YgZnJvbSBhIHRyaWdnZXIgZmlyZWQgYnkgVVBEQVRFIEZPUiBQT1JUSU9OIE9GCitD UkVBVEUgVFJJR0dFUiBmcG9fYWZ0ZXJfdXBkYXRlX3JvdworQUZURVIgVVBEQVRFIE9OIGZvcl9w b3J0aW9uX29mX3Rlc3QKK0ZPUiBFQUNIIFJPVyBFWEVDVVRFIFBST0NFRFVSRSB0cmdfZnBvX3Vw ZGF0ZSgpOworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAxOC0wNS0wMScgVE8gJzIwMTgtMDYtMDEnCisgIFNFVCBuYW1lID0gQ09O Q0FUKG5hbWUsICcqJykKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworU0VMRUNUICogRlJPTSBmb3Jf cG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1sxLDIpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IG5hbWUgCistLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tCisgWzEsMikgfCBbMjAxOC0wMS0wMSwyMDE4LTAy LTAxKSB8IG9uZQorIFsxLDIpIHwgWzIwMTgtMDItMDEsMjAxOC0wMy0wMSkgfCBvbmVeCisgWzEs MikgfCBbMjAxOC0wMy0wMSwyMDE4LTA1LTAxKSB8IG9uZQorIFsxLDIpIHwgWzIwMTgtMDUtMDEs MjAxOC0wNi0wMSkgfCBvbmUqCisgWzEsMikgfCBbMjAxOC0wNi0wMSwyMDIwLTAxLTAxKSB8IG9u ZQorKDUgcm93cykKKworRFJPUCBUUklHR0VSIGZwb19hZnRlcl91cGRhdGVfcm93IE9OIGZvcl9w b3J0aW9uX29mX3Rlc3Q7CistLSBVUERBVEUgRk9SIFBPUlRJT04gT0YgZnJvbSBhIHRyaWdnZXIg ZmlyZWQgYnkgREVMRVRFIEZPUiBQT1JUSU9OIE9GCitDUkVBVEUgVFJJR0dFUiBmcG9fYWZ0ZXJf ZGVsZXRlX3JvdworQUZURVIgREVMRVRFIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK0ZPUiBFQUNI IFJPVyBFWEVDVVRFIFBST0NFRFVSRSB0cmdfZnBvX3VwZGF0ZSgpOworREVMRVRFIEZST00gZm9y X3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTA1 LTAxJyBUTyAnMjAxOC0wNi0wMScKKyAgV0hFUkUgaWQgPSAnWzIsMyknOworU0VMRUNUICogRlJP TSBmb3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1syLDMpJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IG5hbWUgCistLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tCisgWzIsMykgfCBbMjAxOC0wMS0wMSwy MDE4LTAyLTAxKSB8IHR3bworIFsyLDMpIHwgWzIwMTgtMDItMDEsMjAxOC0wMy0wMSkgfCB0d29e CisgWzIsMykgfCBbMjAxOC0wMy0wMSwyMDE4LTA1LTAxKSB8IHR3bworIFsyLDMpIHwgWzIwMTgt MDYtMDEsMjAyMC0wMS0wMSkgfCB0d28KKyg0IHJvd3MpCisKK0RST1AgVFJJR0dFUiBmcG9fYWZ0 ZXJfZGVsZXRlX3JvdyBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0OworLS0gREVMRVRFIEZPUiBQT1JU SU9OIE9GIGZyb20gYSB0cmlnZ2VyIGZpcmVkIGJ5IFVQREFURSBGT1IgUE9SVElPTiBPRgorQ1JF QVRFIFRSSUdHRVIgZnBvX2FmdGVyX3VwZGF0ZV9yb3cKK0FGVEVSIFVQREFURSBPTiBmb3JfcG9y dGlvbl9vZl90ZXN0CitGT1IgRUFDSCBST1cgRVhFQ1VURSBQUk9DRURVUkUgdHJnX2Zwb19kZWxl dGUoKTsKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzIwMTgtMDUtMDEnIFRPICcyMDE4LTA2LTAxJworICBTRVQgbmFtZSA9IENPTkNB VChuYW1lLCAnKicpCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKK1NFTEVDVCAqIEZST00gZm9yX3Bv cnRpb25fb2ZfdGVzdCBXSEVSRSBpZCA9ICdbMyw0KScgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor ICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCAgbmFtZSAgCistLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0KKyBbMyw0KSB8IFsyMDE4LTAxLTAxLDIwMTgt MDMtMDEpIHwgdGhyZWUKKyBbMyw0KSB8IFsyMDE4LTA0LTAxLDIwMTgtMDUtMDEpIHwgdGhyZWUK KyBbMyw0KSB8IFsyMDE4LTA1LTAxLDIwMTgtMDYtMDEpIHwgdGhyZWUqCisgWzMsNCkgfCBbMjAx OC0wNi0wMSwyMDIwLTAxLTAxKSB8IHRocmVlCisoNCByb3dzKQorCitEUk9QIFRSSUdHRVIgZnBv X2FmdGVyX3VwZGF0ZV9yb3cgT04gZm9yX3BvcnRpb25fb2ZfdGVzdDsKKy0tIERFTEVURSBGT1Ig UE9SVElPTiBPRiBmcm9tIGEgdHJpZ2dlciBmaXJlZCBieSBERUxFVEUgRk9SIFBPUlRJT04gT0YK K0NSRUFURSBUUklHR0VSIGZwb19hZnRlcl9kZWxldGVfcm93CitBRlRFUiBERUxFVEUgT04gZm9y X3BvcnRpb25fb2ZfdGVzdAorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIHRyZ19mcG9f ZGVsZXRlKCk7CitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDUtMDEnIFRPICcyMDE4LTA2LTAxJworICBXSEVSRSBp ZCA9ICdbNCw1KSc7CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQg PSAnWzQsNSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9h dCAgICAgICAgIHwgbmFtZSAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0KKyBbNCw1KSB8IFsyMDE4LTAxLTAxLDIwMTgtMDMtMDEpIHwgZm91cgorIFs0LDUpIHwgWzIw MTgtMDQtMDEsMjAxOC0wNS0wMSkgfCBmb3VyCisgWzQsNSkgfCBbMjAxOC0wNi0wMSwyMDIwLTAx LTAxKSB8IGZvdXIKKygzIHJvd3MpCisKK0RST1AgVFJJR0dFUiBmcG9fYWZ0ZXJfZGVsZXRlX3Jv dyBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0OworLS0gVGVzdCB3aXRoIG11bHRpcmFuZ2VzCitDUkVB VEUgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIgKAorICBpZCBpbnQ0cmFuZ2UgTk9UIE5VTEws CisgIHZhbGlkX2F0IGRhdGVtdWx0aXJhbmdlIE5PVCBOVUxMLAorICBuYW1lIHRleHQgTk9UIE5V TEwsCisgIENPTlNUUkFJTlQgZm9yX3BvcnRpb25fb2ZfdGVzdDJfcGsgUFJJTUFSWSBLRVkgKGlk LCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9u X29mX3Rlc3QyIChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUworICAoJ1sxLDIpJywgZGF0ZW11 bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAyJywgJzIwMTgtMDItMDMpJyksIGRhdGVyYW5n ZSgnMjAxOC0wMi0wNCcsICcyMDE4LTAzLTAzJykpLCAnb25lJyksCisgICgnWzEsMiknLCBkYXRl bXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDMtMDMnLCAnMjAxOC0wNC0wNCknKSksICdvbmUn KSwKKyAgKCdbMiwzKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcy MDE4LTA1LTAxKScpKSwgJ3R3bycpLAorICAoJ1szLDQpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJh bmdlKCcyMDE4LTAxLTAxJywgbnVsbCkpLCAndGhyZWUnKTsKKyAgOworVVBEQVRFIGZvcl9wb3J0 aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMTAnLCAnMjAxOC0wMi0xMCcpLCBkYXRlcmFuZ2UoJzIwMTgtMDMt MDUnLCAnMjAxOC0wNS0wMScpKSkKKyAgU0VUIG5hbWUgPSAnb25lXjEnCisgIFdIRVJFIGlkID0g J1sxLDIpJzsKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMTUnLCAnMjAx OC0wMi0xNScpLCBkYXRlcmFuZ2UoJzIwMTgtMDMtMDEnLCAnMjAxOC0wMy0xNScpKSkKKyAgV0hF UkUgaWQgPSAnWzIsMyknOworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0MiBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgbmFtZSAgCist LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tCisgWzEsMikgfCB7WzIwMTgtMDEtMDIs MjAxOC0wMS0xMCksWzIwMTgtMDItMTAsMjAxOC0wMy0wMyl9ICAgICAgICAgICAgICAgICAgICAg ICAgIHwgb25lCisgWzEsMikgfCB7WzIwMTgtMDEtMTAsMjAxOC0wMi0wMyksWzIwMTgtMDItMDQs MjAxOC0wMi0xMCl9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgb25lXjEKKyBbMSwyKSB8IHtb MjAxOC0wMy0wMywyMDE4LTAzLTA1KX0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCBvbmUKKyBbMSwyKSB8IHtbMjAxOC0wMy0wNSwyMDE4LTA0LTA0KX0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBvbmVeMQor IFsyLDMpIHwge1syMDE4LTAxLTAxLDIwMTgtMDEtMTUpLFsyMDE4LTAyLTE1LDIwMTgtMDMtMDEp LFsyMDE4LTAzLTE1LDIwMTgtMDUtMDEpfSB8IHR3bworIFszLDQpIHwge1syMDE4LTAxLTAxLCl9 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8IHRocmVlCisoNiByb3dzKQorCitEUk9QIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QyOwor LS0gVGVzdCB3aXRoIGEgY3VzdG9tIHJhbmdlIHR5cGUKK0NSRUFURSBUWVBFIG15ZGF0ZXJhbmdl IEFTIHJhbmdlKHN1YnR5cGU9ZGF0ZSk7CitDUkVBVEUgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVz dDIgKAorICBpZCBpbnQ0cmFuZ2UgTk9UIE5VTEwsCisgIHZhbGlkX2F0IG15ZGF0ZXJhbmdlIE5P VCBOVUxMLAorICBuYW1lIHRleHQgTk9UIE5VTEwsCisgIENPTlNUUkFJTlQgZm9yX3BvcnRpb25f b2ZfdGVzdDJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQor KTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QyIChpZCwgdmFsaWRfYXQsIG5hbWUp IFZBTFVFUworICAoJ1sxLDIpJywgJ1syMDE4LTAxLTAyLDIwMTgtMDItMDMpJywgJ29uZScpLAor ICAoJ1sxLDIpJywgJ1syMDE4LTAyLTAzLDIwMTgtMDMtMDMpJywgJ29uZScpLAorICAoJ1sxLDIp JywgJ1syMDE4LTAzLTAzLDIwMTgtMDQtMDQpJywgJ29uZScpLAorICAoJ1syLDMpJywgJ1syMDE4 LTAxLTAxLDIwMTgtMDUtMDEpJywgJ3R3bycpLAorICAoJ1szLDQpJywgJ1syMDE4LTAxLTAxLCkn LCAndGhyZWUnKTsKKyAgOworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMTAnIFRPICcyMDE4LTAyLTEwJworICBTRVQg bmFtZSA9ICdvbmVeMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworREVMRVRFIEZST00gZm9yX3Bv cnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0x NScgVE8gJzIwMTgtMDItMTUnCisgIFdIRVJFIGlkID0gJ1syLDMpJzsKK1NFTEVDVCAqIEZST00g Zm9yX3BvcnRpb25fb2ZfdGVzdDIgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgICAg ICAgIHZhbGlkX2F0ICAgICAgICAgfCBuYW1lICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tCisgWzEsMikgfCBbMjAxOC0wMS0wMiwyMDE4LTAxLTEwKSB8IG9uZQor IFsxLDIpIHwgWzIwMTgtMDEtMTAsMjAxOC0wMi0wMykgfCBvbmVeMQorIFsxLDIpIHwgWzIwMTgt MDItMDMsMjAxOC0wMi0xMCkgfCBvbmVeMQorIFsxLDIpIHwgWzIwMTgtMDItMTAsMjAxOC0wMy0w MykgfCBvbmUKKyBbMSwyKSB8IFsyMDE4LTAzLTAzLDIwMTgtMDQtMDQpIHwgb25lCisgWzIsMykg fCBbMjAxOC0wMS0wMSwyMDE4LTAxLTE1KSB8IHR3bworIFsyLDMpIHwgWzIwMTgtMDItMTUsMjAx OC0wNS0wMSkgfCB0d28KKyBbMyw0KSB8IFsyMDE4LTAxLTAxLCkgICAgICAgICAgIHwgdGhyZWUK Kyg4IHJvd3MpCisKK0RST1AgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDI7CitEUk9QIFRZUEUg bXlkYXRlcmFuZ2U7CistLSBUZXN0IEZPUiBQT1JUSU9OIE9GIGFnYWluc3QgYSBwYXJ0aXRpb25l ZCB0YWJsZS4KKy0tIHRlbXBvcmFsX3BhcnRpdGlvbmVkXzEgaGFzIHRoZSBzYW1lIGF0dG51bXMg YXMgdGhlIHJvb3QKKy0tIHRlbXBvcmFsX3BhcnRpdGlvbmVkXzMgaGFzIHRoZSBkaWZmZXJlbnQg YXR0bnVtcyBmcm9tIHRoZSByb290CistLSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF81IGhhcyB0aGUg ZGlmZmVyZW50IGF0dG51bXMgdG9vLCBidXQgcmV2ZXJzZWQKK0NSRUFURSBUQUJMRSB0ZW1wb3Jh bF9wYXJ0aXRpb25lZCAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAor ICBuYW1lIHRleHQsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfcGFyaXRpb25lZF91cSBVTklRVUUg KGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKSBQQVJUSVRJT04gQlkgTElTVCAoaWQp OworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkXzEgUEFSVElUSU9OIE9GIHRlbXBv cmFsX3BhcnRpdGlvbmVkIEZPUiBWQUxVRVMgSU4gKCdbMSwyKScsICdbMiwzKScpOworQ1JFQVRF IFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkXzMgUEFSVElUSU9OIE9GIHRlbXBvcmFsX3BhcnRp dGlvbmVkIEZPUiBWQUxVRVMgSU4gKCdbMyw0KScsICdbNCw1KScpOworQ1JFQVRFIFRBQkxFIHRl bXBvcmFsX3BhcnRpdGlvbmVkXzUgUEFSVElUSU9OIE9GIHRlbXBvcmFsX3BhcnRpdGlvbmVkIEZP UiBWQUxVRVMgSU4gKCdbNSw2KScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfcGFy dGl0aW9uZWQgREVUQUNIIFBBUlRJVElPTiB0ZW1wb3JhbF9wYXJ0aXRpb25lZF8zOworQUxURVIg VEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfMyBEUk9QIENPTFVNTiBpZCwgRFJPUCBDT0xVTU4g dmFsaWRfYXQ7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF8zIEFERCBDT0xVTU4g aWQgaW50NHJhbmdlIE5PVCBOVUxMLCBBREQgQ09MVU1OIHZhbGlkX2F0IGRhdGVyYW5nZSBOT1Qg TlVMTDsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkIEFUVEFDSCBQQVJUSVRJT04g dGVtcG9yYWxfcGFydGl0aW9uZWRfMyBGT1IgVkFMVUVTIElOICgnWzMsNCknLCAnWzQsNSknKTsK K0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkIERFVEFDSCBQQVJUSVRJT04gdGVtcG9y YWxfcGFydGl0aW9uZWRfNTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkXzUgRFJP UCBDT0xVTU4gaWQsIERST1AgQ09MVU1OIHZhbGlkX2F0OworQUxURVIgVEFCTEUgdGVtcG9yYWxf cGFydGl0aW9uZWRfNSBBREQgQ09MVU1OIHZhbGlkX2F0IGRhdGVyYW5nZSBOT1QgTlVMTCwgQURE IENPTFVNTiBpZCBpbnQ0cmFuZ2UgTk9UIE5VTEw7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0 aXRpb25lZCBBVFRBQ0ggUEFSVElUSU9OIHRlbXBvcmFsX3BhcnRpdGlvbmVkXzUgRk9SIFZBTFVF UyBJTiAoJ1s1LDYpJywgJ1s2LDcpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25l ZCAoaWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMKKyAgKCdbMSwyKScsIGRhdGVyYW5nZSgnMjAw MC0wMS0wMScsICcyMDEwLTAxLTAxJyksICdvbmUnKSwKKyAgKCdbMyw0KScsIGRhdGVyYW5nZSgn MjAwMC0wMS0wMScsICcyMDEwLTAxLTAxJyksICd0aHJlZScpLAorICAoJ1s1LDYpJywgZGF0ZXJh bmdlKCcyMDAwLTAxLTAxJywgJzIwMTAtMDEtMDEnKSwgJ2ZpdmUnKTsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfcGFydGl0aW9uZWQ7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8 IG5hbWUgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0KKyBbMSwy KSB8IFsyMDAwLTAxLTAxLDIwMTAtMDEtMDEpIHwgb25lCisgWzMsNCkgfCBbMjAwMC0wMS0wMSwy MDEwLTAxLTAxKSB8IHRocmVlCisgWzUsNikgfCBbMjAwMC0wMS0wMSwyMDEwLTAxLTAxKSB8IGZp dmUKKygzIHJvd3MpCisKKy0tIFVwZGF0ZSB3aXRob3V0IG1vdmluZyB3aXRoaW4gcGFydGl0aW9u IDEKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDAwLTAzLTAxJyBUTyAnMjAwMC0wNC0wMScKKyAgU0VUIG5hbWUgPSAnb25lXjEnCisg IFdIRVJFIGlkID0gJ1sxLDIpJzsKKy0tIFVwZGF0ZSB3aXRob3V0IG1vdmluZyB3aXRoaW4gcGFy dGl0aW9uIDMKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDAwLTAzLTAxJyBUTyAnMjAwMC0wNC0wMScKKyAgU0VUIG5hbWUgPSAndGhy ZWVeMScKKyAgV0hFUkUgaWQgPSAnWzMsNCknOworLS0gVXBkYXRlIHdpdGhvdXQgbW92aW5nIHdp dGhpbiBwYXJ0aXRpb24gNQorVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDMtMDEnIFRPICcyMDAwLTA0LTAxJworICBTRVQgbmFt ZSA9ICdmaXZlXjEnCisgIFdIRVJFIGlkID0gJ1s1LDYpJzsKKy0tIE1vdmUgZnJvbSBwYXJ0aXRp b24gMSB0byBwYXJ0aXRpb24gMworVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDYtMDEnIFRPICcyMDAwLTA3LTAxJworICBTRVQg bmFtZSA9ICdvbmVeMicsCisgICAgICBpZCA9ICdbNCw1KScKKyAgV0hFUkUgaWQgPSAnWzEsMikn OworLS0gTW92ZSBmcm9tIHBhcnRpdGlvbiAzIHRvIHBhcnRpdGlvbiAxCitVUERBVEUgdGVtcG9y YWxfcGFydGl0aW9uZWQgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0wNi0wMScg VE8gJzIwMDAtMDctMDEnCisgIFNFVCBuYW1lID0gJ3RocmVlXjInLAorICAgICAgaWQgPSAnWzIs MyknCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKKy0tIE1vdmUgZnJvbSBwYXJ0aXRpb24gNSB0byBw YXJ0aXRpb24gMworVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gJzIwMDAtMDYtMDEnIFRPICcyMDAwLTA3LTAxJworICBTRVQgbmFtZSA9ICdm aXZlXjInLAorICAgICAgaWQgPSAnWzMsNCknCisgIFdIRVJFIGlkID0gJ1s1LDYpJzsKKy0tIFVw ZGF0ZSBhbGwgcGFydGl0aW9ucyBhdCBvbmNlIChlYWNoIHdpdGggbGVmdG92ZXJzKQorU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlk ICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8ICBuYW1lICAgCistLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tCisgWzEsMikgfCBbMjAwMC0wMS0wMSwyMDAwLTAz LTAxKSB8IG9uZQorIFsxLDIpIHwgWzIwMDAtMDMtMDEsMjAwMC0wNC0wMSkgfCBvbmVeMQorIFsx LDIpIHwgWzIwMDAtMDQtMDEsMjAwMC0wNi0wMSkgfCBvbmUKKyBbMSwyKSB8IFsyMDAwLTA3LTAx LDIwMTAtMDEtMDEpIHwgb25lCisgWzIsMykgfCBbMjAwMC0wNi0wMSwyMDAwLTA3LTAxKSB8IHRo cmVlXjIKKyBbMyw0KSB8IFsyMDAwLTAxLTAxLDIwMDAtMDMtMDEpIHwgdGhyZWUKKyBbMyw0KSB8 IFsyMDAwLTAzLTAxLDIwMDAtMDQtMDEpIHwgdGhyZWVeMQorIFszLDQpIHwgWzIwMDAtMDQtMDEs MjAwMC0wNi0wMSkgfCB0aHJlZQorIFszLDQpIHwgWzIwMDAtMDYtMDEsMjAwMC0wNy0wMSkgfCBm aXZlXjIKKyBbMyw0KSB8IFsyMDAwLTA3LTAxLDIwMTAtMDEtMDEpIHwgdGhyZWUKKyBbNCw1KSB8 IFsyMDAwLTA2LTAxLDIwMDAtMDctMDEpIHwgb25lXjIKKyBbNSw2KSB8IFsyMDAwLTAxLTAxLDIw MDAtMDMtMDEpIHwgZml2ZQorIFs1LDYpIHwgWzIwMDAtMDMtMDEsMjAwMC0wNC0wMSkgfCBmaXZl XjEKKyBbNSw2KSB8IFsyMDAwLTA0LTAxLDIwMDAtMDYtMDEpIHwgZml2ZQorIFs1LDYpIHwgWzIw MDAtMDctMDEsMjAxMC0wMS0wMSkgfCBmaXZlCisoMTUgcm93cykKKworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF8xIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8ICAg ICAgICB2YWxpZF9hdCAgICAgICAgIHwgIG5hbWUgICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0KKyBbMSwyKSB8IFsyMDAwLTAxLTAxLDIwMDAtMDMtMDEpIHwg b25lCisgWzEsMikgfCBbMjAwMC0wMy0wMSwyMDAwLTA0LTAxKSB8IG9uZV4xCisgWzEsMikgfCBb MjAwMC0wNC0wMSwyMDAwLTA2LTAxKSB8IG9uZQorIFsxLDIpIHwgWzIwMDAtMDctMDEsMjAxMC0w MS0wMSkgfCBvbmUKKyBbMiwzKSB8IFsyMDAwLTA2LTAxLDIwMDAtMDctMDEpIHwgdGhyZWVeMgor KDUgcm93cykKKworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF8zIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKyAgbmFtZSAgIHwgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAg ICAKKy0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyB0aHJlZSAg IHwgWzMsNCkgfCBbMjAwMC0wMS0wMSwyMDAwLTAzLTAxKQorIHRocmVlXjEgfCBbMyw0KSB8IFsy MDAwLTAzLTAxLDIwMDAtMDQtMDEpCisgdGhyZWUgICB8IFszLDQpIHwgWzIwMDAtMDQtMDEsMjAw MC0wNi0wMSkKKyBmaXZlXjIgIHwgWzMsNCkgfCBbMjAwMC0wNi0wMSwyMDAwLTA3LTAxKQorIHRo cmVlICAgfCBbMyw0KSB8IFsyMDAwLTA3LTAxLDIwMTAtMDEtMDEpCisgb25lXjIgICB8IFs0LDUp IHwgWzIwMDAtMDYtMDEsMjAwMC0wNy0wMSkKKyg2IHJvd3MpCisKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfcGFydGl0aW9uZWRfNSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIG5hbWUgIHwgICAg ICAgIHZhbGlkX2F0ICAgICAgICAgfCAgaWQgICAKKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLQorIGZpdmUgICB8IFsyMDAwLTAxLTAxLDIwMDAtMDMtMDEpIHwgWzUs NikKKyBmaXZlXjEgfCBbMjAwMC0wMy0wMSwyMDAwLTA0LTAxKSB8IFs1LDYpCisgZml2ZSAgIHwg WzIwMDAtMDQtMDEsMjAwMC0wNi0wMSkgfCBbNSw2KQorIGZpdmUgICB8IFsyMDAwLTA3LTAxLDIw MTAtMDEtMDEpIHwgWzUsNikKKyg0IHJvd3MpCisKK0RST1AgVEFCTEUgdGVtcG9yYWxfcGFydGl0 aW9uZWQ7CitSRVNFVCBkYXRlc3R5bGU7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3ByaXZpbGVnZXMub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wcml2aWxl Z2VzLm91dAppbmRleCBkYWFmYWE5NGZkZS4uOWZmOGU3ZmIzNjMgMTAwNjQ0Ci0tLSBhL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHJpdmlsZWdlcy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9wcml2aWxlZ2VzLm91dApAQCAtMTExOSw2ICsxMTE5LDI0IEBAIEVSUk9SOiAg bnVsbCB2YWx1ZSBpbiBjb2x1bW4gImIiIG9mIHJlbGF0aW9uICJlcnJ0c3RfcGFydF8yIiB2aW9s YXRlcyBub3QtbnVsbCBjCiBERVRBSUw6ICBGYWlsaW5nIHJvdyBjb250YWlucyAoYSwgYiwgYykg PSAoYWFhYSwgbnVsbCwgY2NjKS4KIFNFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19w cml2X3VzZXIxOwogRFJPUCBUQUJMRSBlcnJ0c3Q7CistLSB0ZXN0IGNvbHVtbi1sZXZlbCBwcml2 aWxlZ2VzIG9uIHRoZSByYW5nZSB1c2VkIGluIEZPUiBQT1JUSU9OIE9GCitTRVQgU0VTU0lPTiBB VVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMTsKK0NSRUFURSBUQUJMRSB0MSAoCisgIGMx IGludDRyYW5nZSwKKyAgdmFsaWRfYXQgdHNyYW5nZSwKKwlDT05TVFJBSU5UIHQxcGsgUFJJTUFS WSBLRVkgKGMxLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0dSQU5UIFNFTEVDVCBP TiB0MSBUTyByZWdyZXNzX3ByaXZfdXNlcjI7CitHUkFOVCBTRUxFQ1QgT04gdDEgVE8gcmVncmVz c19wcml2X3VzZXIzOworR1JBTlQgVVBEQVRFIChjMSkgT04gdDEgVE8gcmVncmVzc19wcml2X3Vz ZXIyOworR1JBTlQgVVBEQVRFIChjMSwgdmFsaWRfYXQpIE9OIHQxIFRPIHJlZ3Jlc3NfcHJpdl91 c2VyMzsKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19wcml2X3VzZXIyOworVVBE QVRFIHQxIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDEtMDEnIFRPICcyMDAx LTAxLTAxJyBTRVQgYzEgPSAnWzIsMyknOworRVJST1I6ICBwZXJtaXNzaW9uIGRlbmllZCBmb3Ig dGFibGUgdDEKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19wcml2X3VzZXIzOwor VVBEQVRFIHQxIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDEtMDEnIFRPICcy MDAxLTAxLTAxJyBTRVQgYzEgPSAnWzIsMyknOworU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiBy ZWdyZXNzX3ByaXZfdXNlcjE7CitEUk9QIFRBQkxFIHQxOwogLS0gdGVzdCBjb2x1bW4tbGV2ZWwg cHJpdmlsZWdlcyB3aGVuIGludm9sdmVkIHdpdGggREVMRVRFCiBTRVQgU0VTU0lPTiBBVVRIT1JJ WkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMTsKIEFMVEVSIFRBQkxFIGF0ZXN0NiBBREQgQ09MVU1O IHRocmVlIGludGVnZXI7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Vw ZGF0YWJsZV92aWV3cy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3VwZGF0YWJsZV92 aWV3cy5vdXQKaW5kZXggMDNkZjdlNzViN2IuLjRmYjkyOGQ1NjFkIDEwMDY0NAotLS0gYS9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3VwZGF0YWJsZV92aWV3cy5vdXQKKysrIGIvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC91cGRhdGFibGVfdmlld3Mub3V0CkBAIC0zNzAwLDYgKzM3MDAsMzgg QEAgc2VsZWN0ICogZnJvbSB1dl9pb2N1X3RhYjsKIAogZHJvcCB2aWV3IHV2X2lvY3VfdmlldzsK IGRyb3AgdGFibGUgdXZfaW9jdV90YWI7CistLSBDaGVjayBVUERBVEUgRk9SIFBPUlRJT04gT0Yg d29ya3MgY29ycmVjdGx5CitjcmVhdGUgdGFibGUgdXZfZnBvX3RhYiAoaWQgaW50NHJhbmdlLCB2 YWxpZF9hdCB0c3JhbmdlLCBiIGZsb2F0LAorICAgIGNvbnN0cmFpbnQgcGtfdXZfZnBvX3RhYiBw cmltYXJ5IGtleSAoaWQsIHZhbGlkX2F0IHdpdGhvdXQgb3ZlcmxhcHMpKTsKK2luc2VydCBpbnRv IHV2X2Zwb190YWIgdmFsdWVzICgnWzEsMV0nLCAnWzIwMjAtMDEtMDEsIDIwMzAtMDEtMDEpJywg MCk7CitjcmVhdGUgdmlldyB1dl9mcG9fdmlldyBhcworICAgIHNlbGVjdCBiLCBiKzEgYXMgYywg dmFsaWRfYXQsIGlkLCAnMi4wJzo6dGV4dCBhcyB0d28gZnJvbSB1dl9mcG9fdGFiOworaW5zZXJ0 IGludG8gdXZfZnBvX3ZpZXcgKGlkLCB2YWxpZF9hdCwgYikgdmFsdWVzICgnWzEsMV0nLCAnWzIw MTAtMDEtMDEsIDIwMjAtMDEtMDEpJywgMSk7CitzZWxlY3QgKiBmcm9tIHV2X2Zwb192aWV3Owor IGIgfCBjIHwgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAg ICAgICAgICB8ICBpZCAgIHwgdHdvIAorLS0tKy0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLQorIDAgfCAxIHwg WyJXZWQgSmFuIDAxIDAwOjAwOjAwIDIwMjAiLCJUdWUgSmFuIDAxIDAwOjAwOjAwIDIwMzAiKSB8 IFsxLDIpIHwgMi4wCisgMSB8IDIgfCBbIkZyaSBKYW4gMDEgMDA6MDA6MDAgMjAxMCIsIldlZCBK YW4gMDEgMDA6MDA6MDAgMjAyMCIpIHwgWzEsMikgfCAyLjAKKygyIHJvd3MpCisKK3VwZGF0ZSB1 dl9mcG9fdmlldyBmb3IgcG9ydGlvbiBvZiB2YWxpZF9hdCBmcm9tICcyMDE1LTAxLTAxJyB0byAn MjAyMC0wMS0wMScgc2V0IGIgPSAyIHdoZXJlIGlkID0gJ1sxLDFdJzsKK3NlbGVjdCAqIGZyb20g dXZfZnBvX3ZpZXc7CisgYiB8IGMgfCAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAg ICAgICAgICAgICAgICAgICAgICAgIHwgIGlkICAgfCB0d28gCistLS0rLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKy0t LS0tCisgMCB8IDEgfCBbIldlZCBKYW4gMDEgMDA6MDA6MDAgMjAyMCIsIlR1ZSBKYW4gMDEgMDA6 MDA6MDAgMjAzMCIpIHwgWzEsMikgfCAyLjAKKyAyIHwgMyB8IFsiVGh1IEphbiAwMSAwMDowMDow MCAyMDE1IiwiV2VkIEphbiAwMSAwMDowMDowMCAyMDIwIikgfCBbMSwyKSB8IDIuMAorIDEgfCAy IHwgWyJGcmkgSmFuIDAxIDAwOjAwOjAwIDIwMTAiLCJUaHUgSmFuIDAxIDAwOjAwOjAwIDIwMTUi KSB8IFsxLDIpIHwgMi4wCisoMyByb3dzKQorCitkZWxldGUgZnJvbSB1dl9mcG9fdmlldyBmb3Ig cG9ydGlvbiBvZiB2YWxpZF9hdCBmcm9tICcyMDE3LTAxLTAxJyB0byAnMjAyMi0wMS0wMScgd2hl cmUgaWQgPSAnWzEsMV0nOworc2VsZWN0ICogZnJvbSB1dl9mcG9fdmlldzsKKyBiIHwgYyB8ICAg ICAgICAgICAgICAgICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAgICAgfCAg aWQgICB8IHR3byAKKy0tLSstLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0KKyAxIHwgMiB8IFsiRnJpIEphbiAw MSAwMDowMDowMCAyMDEwIiwiVGh1IEphbiAwMSAwMDowMDowMCAyMDE1IikgfCBbMSwyKSB8IDIu MAorIDAgfCAxIHwgWyJTYXQgSmFuIDAxIDAwOjAwOjAwIDIwMjIiLCJUdWUgSmFuIDAxIDAwOjAw OjAwIDIwMzAiKSB8IFsxLDIpIHwgMi4wCisgMiB8IDMgfCBbIlRodSBKYW4gMDEgMDA6MDA6MDAg MjAxNSIsIlN1biBKYW4gMDEgMDA6MDA6MDAgMjAxNyIpIHwgWzEsMikgfCAyLjAKKygzIHJvd3Mp CisKIC0tIFRlc3Qgd2hvbGUtcm93IHJlZmVyZW5jZXMgdG8gdGhlIHZpZXcKIGNyZWF0ZSB0YWJs ZSB1dl9pb2N1X3RhYiAoYSBpbnQgdW5pcXVlLCBiIHRleHQpOwogY3JlYXRlIHZpZXcgdXZfaW9j dV92aWV3IGFzCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3dpdGhvdXRf b3ZlcmxhcHMub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC93aXRob3V0X292ZXJsYXBz Lm91dAppbmRleCBmMzE0NGJkYzM5Yy4uNDAxNTUwYjU0ODIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvd2l0aG91dF9vdmVybGFwcy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC93aXRob3V0X292ZXJsYXBzLm91dApAQCAtMiw3ICsyLDcgQEAKIC0tCiAt LSBXZSBsZWF2ZSBiZWhpbmQgc2V2ZXJhbCB0YWJsZXMgdG8gdGVzdCBwZ19kdW1wIGV0YzoKIC0t IHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfcm5nMiwKLS0tIHRlbXBvcmFsX2ZrX3JuZzJybmcuCist LSB0ZW1wb3JhbF9ma19ybmcycm5nLCB0ZW1wb3JhbF9mazJfcm5nMnJuZy4KIFNFVCBkYXRlc3R5 bGUgVE8gSVNPLCBZTUQ7CiAtLQogLS0gdGVzdCBpbnB1dCBwYXJzZXIKQEAgLTg4OSw2ICs4ODks MzYgQEAgSU5TRVJUIElOVE8gdGVtcG9yYWwzIChpZCwgdmFsaWRfYXQsIGlkMiwgbmFtZSkKICAg KCdbMSwyKScsIGRhdGVyYW5nZSgnMjAwMC0wMS0wMScsICcyMDEwLTAxLTAxJyksICdbNyw4KScs ICdmb28nKSwKICAgKCdbMiwzKScsIGRhdGVyYW5nZSgnMjAwMC0wMS0wMScsICcyMDEwLTAxLTAx JyksICdbOSwxMCknLCAnYmFyJykKIDsKK1VQREFURSB0ZW1wb3JhbDMgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAwMC0wNS0wMScgVE8gJzIwMDAtMDctMDEnCisgIFNFVCBuYW1lID0g bmFtZSB8fCAnMSc7CitVUERBVEUgdGVtcG9yYWwzIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMDAtMDQtMDEnIFRPICcyMDAwLTA2LTAxJworICBTRVQgbmFtZSA9IG5hbWUgfHwgJzIn CisgIFdIRVJFIGlkID0gJ1syLDMpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWwzIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgIGlkMiAg IHwgbmFtZSAgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0t LS0tLQorIFsxLDIpIHwgWzIwMDAtMDEtMDEsMjAwMC0wNS0wMSkgfCBbNyw4KSAgfCBmb28KKyBb MSwyKSB8IFsyMDAwLTA1LTAxLDIwMDAtMDctMDEpIHwgWzcsOCkgIHwgZm9vMQorIFsxLDIpIHwg WzIwMDAtMDctMDEsMjAxMC0wMS0wMSkgfCBbNyw4KSAgfCBmb28KKyBbMiwzKSB8IFsyMDAwLTAx LTAxLDIwMDAtMDQtMDEpIHwgWzksMTApIHwgYmFyCisgWzIsMykgfCBbMjAwMC0wNC0wMSwyMDAw LTA1LTAxKSB8IFs5LDEwKSB8IGJhcjIKKyBbMiwzKSB8IFsyMDAwLTA1LTAxLDIwMDAtMDYtMDEp IHwgWzksMTApIHwgYmFyMTIKKyBbMiwzKSB8IFsyMDAwLTA2LTAxLDIwMDAtMDctMDEpIHwgWzks MTApIHwgYmFyMQorIFsyLDMpIHwgWzIwMDAtMDctMDEsMjAxMC0wMS0wMSkgfCBbOSwxMCkgfCBi YXIKKyg4IHJvd3MpCisKKy0tIGNvbmZsaWN0aW5nIGlkIG9ubHk6CitJTlNFUlQgSU5UTyB0ZW1w b3JhbDMgKGlkLCB2YWxpZF9hdCwgaWQyLCBuYW1lKQorICBWQUxVRVMKKyAgKCdbMSwyKScsIGRh dGVyYW5nZSgnMjAwNS0wMS0wMScsICcyMDA2LTAxLTAxJyksICdbOCw5KScsICdmb28zJyk7CitF UlJPUjogIGNvbmZsaWN0aW5nIGtleSB2YWx1ZSB2aW9sYXRlcyBleGNsdXNpb24gY29uc3RyYWlu dCAidGVtcG9yYWwzX3BrIgorREVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIw MDUtMDEtMDEsMjAwNi0wMS0wMSkpIGNvbmZsaWN0cyB3aXRoIGV4aXN0aW5nIGtleSAoaWQsIHZh bGlkX2F0KT0oWzEsMiksIFsyMDAwLTA3LTAxLDIwMTAtMDEtMDEpKS4KKy0tIGNvbmZsaWN0aW5n IGlkMiBvbmx5OgorSU5TRVJUIElOVE8gdGVtcG9yYWwzIChpZCwgdmFsaWRfYXQsIGlkMiwgbmFt ZSkKKyAgVkFMVUVTCisgICgnWzMsNCknLCBkYXRlcmFuZ2UoJzIwMDUtMDEtMDEnLCAnMjAxMC0w MS0wMScpLCAnWzksMTApJywgJ2JhcjMnKTsKK0VSUk9SOiAgY29uZmxpY3Rpbmcga2V5IHZhbHVl IHZpb2xhdGVzIGV4Y2x1c2lvbiBjb25zdHJhaW50ICJ0ZW1wb3JhbDNfdW5pcSIKK0RFVEFJTDog IEtleSAoaWQyLCB2YWxpZF9hdCk9KFs5LDEwKSwgWzIwMDUtMDEtMDEsMjAxMC0wMS0wMSkpIGNv bmZsaWN0cyB3aXRoIGV4aXN0aW5nIGtleSAoaWQyLCB2YWxpZF9hdCk9KFs5LDEwKSwgWzIwMDAt MDctMDEsMjAxMC0wMS0wMSkpLgogRFJPUCBUQUJMRSB0ZW1wb3JhbDM7CiAtLQogLS0gdGVzdCBj aGFuZ2luZyB0aGUgUEsncyBkZXBlbmRlbmNpZXMKQEAgLTkyMCwyNiArOTUwLDQzIEBAIElOU0VS VCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkIChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUwog ICAoJ1sxLDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMDAtMDItMDEnKSwgJ29uZScp LAogICAoJ1sxLDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAyLTAxJywgJzIwMDAtMDMtMDEnKSwgJ29u ZScpLAogICAoJ1szLDQpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMTAtMDEtMDEnKSwg J3RocmVlJyk7Ci1TRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKLSAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgbmFtZSAgCi0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLQotIFsxLDIpIHwgWzIwMDAt MDEtMDEsMjAwMC0wMi0wMSkgfCBvbmUKLSBbMSwyKSB8IFsyMDAwLTAyLTAxLDIwMDAtMDMtMDEp IHwgb25lCi0gWzMsNCkgfCBbMjAwMC0wMS0wMSwyMDEwLTAxLTAxKSB8IHRocmVlCitTRUxFQ1Qg dGFibGVvaWQ6OnJlZ2NsYXNzLCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWQgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworIHRhYmxlb2lkIHwgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAg ICB8IG5hbWUgIAorLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLQorIHRwMSAgICAgIHwgWzEsMikgfCBbMjAwMC0wMS0wMSwyMDAwLTAyLTAxKSB8IG9u ZQorIHRwMSAgICAgIHwgWzEsMikgfCBbMjAwMC0wMi0wMSwyMDAwLTAzLTAxKSB8IG9uZQorIHRw MiAgICAgIHwgWzMsNCkgfCBbMjAwMC0wMS0wMSwyMDEwLTAxLTAxKSB8IHRocmVlCiAoMyByb3dz KQogCi1TRUxFQ1QgKiBGUk9NIHRwMSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Ci0gIGlkICAgfCAg ICAgICAgdmFsaWRfYXQgICAgICAgICB8IG5hbWUgCi0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tCi0gWzEsMikgfCBbMjAwMC0wMS0wMSwyMDAwLTAyLTAxKSB8IG9uZQot IFsxLDIpIHwgWzIwMDAtMDItMDEsMjAwMC0wMy0wMSkgfCBvbmUKLSgyIHJvd3MpCi0KLVNFTEVD VCAqIEZST00gdHAyIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKLSAgaWQgICB8ICAgICAgICB2YWxp ZF9hdCAgICAgICAgIHwgbmFtZSAgCi0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLQotIFszLDQpIHwgWzIwMDAtMDEtMDEsMjAxMC0wMS0wMSkgfCB0aHJlZQotKDEgcm93 KQorVVBEQVRFICB0ZW1wb3JhbF9wYXJ0aXRpb25lZAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDAwLTAxLTE1JyBUTyAnMjAwMC0wMi0xNScKKyAgU0VUIG5hbWUgPSAnb25lMicK KyAgV0hFUkUgaWQgPSAnWzEsMiknOworVVBEQVRFICB0ZW1wb3JhbF9wYXJ0aXRpb25lZAorICBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAyLTIwJyBUTyAnMjAwMC0wMi0yNScK KyAgU0VUIGlkID0gJ1s0LDUpJworICBXSEVSRSBuYW1lID0gJ29uZSc7CitVUERBVEUgIHRlbXBv cmFsX3BhcnRpdGlvbmVkCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDItMDEt MDEnIFRPICcyMDAzLTAxLTAxJworICBTRVQgaWQgPSAnWzIsMyknCisgIFdIRVJFIG5hbWUgPSAn dGhyZWUnOworREVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWQKKyAgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0wMS0xNScgVE8gJzIwMDAtMDItMTUnCisgIFdIRVJFIGlk ID0gJ1szLDQpJzsKK1NFTEVDVCB0YWJsZW9pZDo6cmVnY2xhc3MsICogRlJPTSB0ZW1wb3JhbF9w YXJ0aXRpb25lZCBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgdGFibGVvaWQgfCAgaWQgICB8ICAg ICAgICB2YWxpZF9hdCAgICAgICAgIHwgbmFtZSAgCistLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tCisgdHAxICAgICAgfCBbMSwyKSB8IFsyMDAwLTAx LTAxLDIwMDAtMDEtMTUpIHwgb25lCisgdHAxICAgICAgfCBbMSwyKSB8IFsyMDAwLTAxLTE1LDIw MDAtMDItMDEpIHwgb25lMgorIHRwMSAgICAgIHwgWzEsMikgfCBbMjAwMC0wMi0wMSwyMDAwLTAy LTE1KSB8IG9uZTIKKyB0cDEgICAgICB8IFsxLDIpIHwgWzIwMDAtMDItMTUsMjAwMC0wMi0yMCkg fCBvbmUKKyB0cDEgICAgICB8IFsxLDIpIHwgWzIwMDAtMDItMjUsMjAwMC0wMy0wMSkgfCBvbmUK KyB0cDEgICAgICB8IFsyLDMpIHwgWzIwMDItMDEtMDEsMjAwMy0wMS0wMSkgfCB0aHJlZQorIHRw MiAgICAgIHwgWzMsNCkgfCBbMjAwMC0wMS0wMSwyMDAwLTAxLTE1KSB8IHRocmVlCisgdHAyICAg ICAgfCBbMyw0KSB8IFsyMDAwLTAyLTE1LDIwMDItMDEtMDEpIHwgdGhyZWUKKyB0cDIgICAgICB8 IFszLDQpIHwgWzIwMDMtMDEtMDEsMjAxMC0wMS0wMSkgfCB0aHJlZQorIHRwMiAgICAgIHwgWzQs NSkgfCBbMjAwMC0wMi0yMCwyMDAwLTAyLTI1KSB8IG9uZQorKDEwIHJvd3MpCiAKIERST1AgVEFC TEUgdGVtcG9yYWxfcGFydGl0aW9uZWQ7CiAtLSB0ZW1wb3JhbCBVTklRVUU6CkBAIC05NTUsMjYg KzEwMDIsNDMgQEAgSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWQgKGlkLCB2YWxpZF9h dCwgbmFtZSkgVkFMVUVTCiAgICgnWzEsMiknLCBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAw MC0wMi0wMScpLCAnb25lJyksCiAgICgnWzEsMiknLCBkYXRlcmFuZ2UoJzIwMDAtMDItMDEnLCAn MjAwMC0wMy0wMScpLCAnb25lJyksCiAgICgnWzMsNCknLCBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEn LCAnMjAxMC0wMS0wMScpLCAndGhyZWUnKTsKLVNFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0 aW9uZWQgT1JERVIgQlkgaWQsIHZhbGlkX2F0OwotICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAg ICAgICAgfCBuYW1lICAKLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t Ci0gWzEsMikgfCBbMjAwMC0wMS0wMSwyMDAwLTAyLTAxKSB8IG9uZQotIFsxLDIpIHwgWzIwMDAt MDItMDEsMjAwMC0wMy0wMSkgfCBvbmUKLSBbMyw0KSB8IFsyMDAwLTAxLTAxLDIwMTAtMDEtMDEp IHwgdGhyZWUKK1NFTEVDVCB0YWJsZW9pZDo6cmVnY2xhc3MsICogRlJPTSB0ZW1wb3JhbF9wYXJ0 aXRpb25lZCBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgdGFibGVvaWQgfCAgaWQgICB8ICAgICAg ICB2YWxpZF9hdCAgICAgICAgIHwgbmFtZSAgCistLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tCisgdHAxICAgICAgfCBbMSwyKSB8IFsyMDAwLTAxLTAx LDIwMDAtMDItMDEpIHwgb25lCisgdHAxICAgICAgfCBbMSwyKSB8IFsyMDAwLTAyLTAxLDIwMDAt MDMtMDEpIHwgb25lCisgdHAyICAgICAgfCBbMyw0KSB8IFsyMDAwLTAxLTAxLDIwMTAtMDEtMDEp IHwgdGhyZWUKICgzIHJvd3MpCiAKLVNFTEVDVCAqIEZST00gdHAxIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKLSAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgbmFtZSAKLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0KLSBbMSwyKSB8IFsyMDAwLTAxLTAxLDIw MDAtMDItMDEpIHwgb25lCi0gWzEsMikgfCBbMjAwMC0wMi0wMSwyMDAwLTAzLTAxKSB8IG9uZQot KDIgcm93cykKLQotU0VMRUNUICogRlJPTSB0cDIgT1JERVIgQlkgaWQsIHZhbGlkX2F0OwotICBp ZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBuYW1lICAKLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tCi0gWzMsNCkgfCBbMjAwMC0wMS0wMSwyMDEwLTAxLTAx KSB8IHRocmVlCi0oMSByb3cpCitVUERBVEUgIHRlbXBvcmFsX3BhcnRpdGlvbmVkCisgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDEtMTUnIFRPICcyMDAwLTAyLTE1JworICBT RVQgbmFtZSA9ICdvbmUyJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CitVUERBVEUgIHRlbXBvcmFs X3BhcnRpdGlvbmVkCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDItMjAn IFRPICcyMDAwLTAyLTI1JworICBTRVQgaWQgPSAnWzQsNSknCisgIFdIRVJFIG5hbWUgPSAnb25l JzsKK1VQREFURSAgdGVtcG9yYWxfcGFydGl0aW9uZWQKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAwMi0wMS0wMScgVE8gJzIwMDMtMDEtMDEnCisgIFNFVCBpZCA9ICdbMiwzKScK KyAgV0hFUkUgbmFtZSA9ICd0aHJlZSc7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25l ZAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAxLTE1JyBUTyAnMjAwMC0w Mi0xNScKKyAgV0hFUkUgaWQgPSAnWzMsNCknOworU0VMRUNUIHRhYmxlb2lkOjpyZWdjbGFzcywg KiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyB0YWJs ZW9pZCB8ICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBuYW1lICAKKy0tLS0tLS0t LS0rLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0KKyB0cDEgICAgICB8 IFsxLDIpIHwgWzIwMDAtMDEtMDEsMjAwMC0wMS0xNSkgfCBvbmUKKyB0cDEgICAgICB8IFsxLDIp IHwgWzIwMDAtMDEtMTUsMjAwMC0wMi0wMSkgfCBvbmUyCisgdHAxICAgICAgfCBbMSwyKSB8IFsy MDAwLTAyLTAxLDIwMDAtMDItMTUpIHwgb25lMgorIHRwMSAgICAgIHwgWzEsMikgfCBbMjAwMC0w Mi0xNSwyMDAwLTAyLTIwKSB8IG9uZQorIHRwMSAgICAgIHwgWzEsMikgfCBbMjAwMC0wMi0yNSwy MDAwLTAzLTAxKSB8IG9uZQorIHRwMSAgICAgIHwgWzIsMykgfCBbMjAwMi0wMS0wMSwyMDAzLTAx LTAxKSB8IHRocmVlCisgdHAyICAgICAgfCBbMyw0KSB8IFsyMDAwLTAxLTAxLDIwMDAtMDEtMTUp IHwgdGhyZWUKKyB0cDIgICAgICB8IFszLDQpIHwgWzIwMDAtMDItMTUsMjAwMi0wMS0wMSkgfCB0 aHJlZQorIHRwMiAgICAgIHwgWzMsNCkgfCBbMjAwMy0wMS0wMSwyMDEwLTAxLTAxKSB8IHRocmVl CisgdHAyICAgICAgfCBbNCw1KSB8IFsyMDAwLTAyLTIwLDIwMDAtMDItMjUpIHwgb25lCisoMTAg cm93cykKIAogRFJPUCBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZDsKIC0tIEFMVEVSIFRBQkxF IFJFUExJQ0EgSURFTlRJVFkKQEAgLTE3NTUsNiArMTgxOSwzMyBAQCBVUERBVEUgdGVtcG9yYWxf cm5nIFNFVCBpZCA9ICdbNyw4KScKICAgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9 IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyk7CiBFUlJPUjogIHVwZGF0ZSBv ciBkZWxldGUgb24gdGFibGUgInRlbXBvcmFsX3JuZyIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29u c3RyYWludCAidGVtcG9yYWxfZmtfcm5nMnJuZ19mayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX3Ju ZzJybmciCiBERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYpLCBbMjAxOC0wMS0wMSwy MDE4LTAyLTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19y bmcycm5nIi4KKy0tIGNoYW5naW5nIGFuIHVucmVmZXJlbmNlZCBwYXJ0IGlzIG9rYXk6CitVUERB VEUgdGVtcG9yYWxfcm5nCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEt MDInIFRPICcyMDE4LTAxLTAzJworICBTRVQgaWQgPSAnWzcsOCknCisgIFdIRVJFIGlkID0gJ1s1 LDYpJzsKKy0tIGNoYW5naW5nIGp1c3QgYSBwYXJ0IGZhaWxzOgorVVBEQVRFIHRlbXBvcmFsX3Ju ZworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTA1JyBUTyAnMjAxOC0w MS0xMCcKKyAgU0VUIGlkID0gJ1s3LDgpJworICBXSEVSRSBpZCA9ICdbNSw2KSc7CitFUlJPUjog IHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRlbXBvcmFsX3JuZyIgdmlvbGF0ZXMgZm9yZWln biBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcm5nMnJuZ19mayIgb24gdGFibGUgInRlbXBv cmFsX2ZrX3JuZzJybmciCitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYpLCBbMjAx OC0wMS0wMywyMDE4LTAyLTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1w b3JhbF9ma19ybmcycm5nIi4KK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkIGlu ICgnWzUsNiknLCAnWzcsOCknKSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAgICAg ICAgdmFsaWRfYXQgICAgICAgICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor IFs1LDYpIHwgWzIwMTYtMDItMDEsMjAxNi0wMy0wMSkKKyBbNSw2KSB8IFsyMDE4LTAxLTAxLDIw MTgtMDEtMDIpCisgWzUsNikgfCBbMjAxOC0wMS0wMywyMDE4LTAyLTAxKQorIFs3LDgpIHwgWzIw MTgtMDEtMDIsMjAxOC0wMS0wMykKKyg0IHJvd3MpCisKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf Zmtfcm5nMnJuZyBXSEVSRSBpZCBpbiAoJ1szLDQpJykgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor ICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMyw0KSB8IFsyMDE4LTAxLTA1 LDIwMTgtMDEtMTApIHwgWzUsNikKKygxIHJvdykKKwogLS0gdGhlbiBkZWxldGUgdGhlIG9iamVj dGluZyBGSyByZWNvcmQgYW5kIHRoZSBzYW1lIFBLIHVwZGF0ZSBzdWNjZWVkczoKIERFTEVURSBG Uk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzMsNCknOwogVVBEQVRFIHRlbXBv cmFsX3JuZyBTRVQgdmFsaWRfYXQgPSBkYXRlcmFuZ2UoJzIwMTYtMDEtMDEnLCAnMjAxNi0wMi0w MScpCkBAIC0xODAyLDYgKzE4OTMsNDIgQEAgQkVHSU47CiBDT01NSVQ7CiBFUlJPUjogIHVwZGF0 ZSBvciBkZWxldGUgb24gdGFibGUgInRlbXBvcmFsX3JuZyIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkg Y29uc3RyYWludCAidGVtcG9yYWxfZmtfcm5nMnJuZ19mayIgb24gdGFibGUgInRlbXBvcmFsX2Zr X3JuZzJybmciCiBERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYpLCBbMjAxOC0wMS0w MSwyMDE4LTAyLTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9m a19ybmcycm5nIi4KKy0tIGRlbGV0aW5nIGFuIHVucmVmZXJlbmNlZCBwYXJ0IGlzIG9rYXk6CitE RUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MTgtMDEtMDInIFRPICcyMDE4LTAxLTAzJworV0hFUkUgaWQgPSAnWzUsNiknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgaW4gKCdbNSw2KScsICdbNyw4KScpIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIAorLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgWzUsNikgfCBbMjAxOC0wMS0wMSwyMDE4LTAx LTAyKQorIFs1LDYpIHwgWzIwMTgtMDEtMDMsMjAxOC0wMi0wMSkKKygyIHJvd3MpCisKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCBpbiAoJ1szLDQpJykgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJl bnRfaWQgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBb Myw0KSB8IFsyMDE4LTAxLTA1LDIwMTgtMDEtMTApIHwgWzUsNikKKygxIHJvdykKKworLS0gZGVs ZXRpbmcganVzdCBhIHBhcnQgZmFpbHM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcKK0ZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMDUnIFRPICcyMDE4LTAxLTEwJworV0hF UkUgaWQgPSAnWzUsNiknOworRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1w b3JhbF9ybmciIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3Ju ZzJybmdfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycm5nIgorREVUQUlMOiAgS2V5IChp ZCwgdmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEtMDMsMjAxOC0wMi0wMSkpIGlzIHN0aWxsIHJl ZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnJuZyIuCitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX3JuZyBXSEVSRSBpZCBpbiAoJ1s1LDYpJywgJ1s3LDgpJykgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgCistLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBbNSw2KSB8IFsyMDE4LTAxLTAxLDIwMTgtMDEtMDIp CisgWzUsNikgfCBbMjAxOC0wMS0wMywyMDE4LTAyLTAxKQorKDIgcm93cykKKworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkIGluICgnWzMsNCknKSBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9p ZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFszLDQp IHwgWzIwMTgtMDEtMDUsMjAxOC0wMS0xMCkgfCBbNSw2KQorKDEgcm93KQorCiAtLSB0aGVuIGRl bGV0ZSB0aGUgb2JqZWN0aW5nIEZLIHJlY29yZCBhbmQgdGhlIHNhbWUgUEsgZGVsZXRlIHN1Y2Nl ZWRzOgogREVMRVRFIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMyw0KSc7 CiBERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9h dCA9IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyk7CkBAIC0xODE4LDExICsx OTQ1LDEyIEBAIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJybmcKICAgT04gREVMRVRFIFJF U1RSSUNUOwogRVJST1I6ICB1bnN1cHBvcnRlZCBPTiBERUxFVEUgYWN0aW9uIGZvciBmb3JlaWdu IGtleSBjb25zdHJhaW50IHVzaW5nIFBFUklPRAogLS0KLS0tIHRlc3QgT04gVVBEQVRFL0RFTEVU RSBvcHRpb25zCistLSBybmcycm5nIHRlc3QgT04gVVBEQVRFL0RFTEVURSBvcHRpb25zCiAtLQog LS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQorVFJVTkNBVEUgdGVtcG9yYWxf cm5nLCB0ZW1wb3JhbF9ma19ybmcycm5nOwogSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwg dmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEt MDEtMDEnKSk7Ci1JTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQs IHBhcmVudF9pZCkgVkFMVUVTICgnWzQsNSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAy MS0wMS0wMScpLCAnWzYsNyknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJybmcgKGlk LCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlcmFuZ2UoJzIw MTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknKTsKIEFMVEVSIFRBQkxFIHRlbXBvcmFs X2ZrX3JuZzJybmcKICAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnJuZ19mawogICAg IEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKQEAgLTE4MzAsOCArMTk1 OCw5IEBAIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJybmcKICAgICBPTiBERUxFVEUgQ0FT Q0FERSBPTiBVUERBVEUgQ0FTQ0FERTsKIEVSUk9SOiAgdW5zdXBwb3J0ZWQgT04gVVBEQVRFIGFj dGlvbiBmb3IgZm9yZWlnbiBrZXkgY29uc3RyYWludCB1c2luZyBQRVJJT0QKIC0tIHRlc3QgRksg cmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBOVUxMCi1JTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlk LCB2YWxpZF9hdCkgVkFMVUVTICgnWzksMTApJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnKSk7Ci1JTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRf YXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzYsNyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAn MjAyMS0wMS0wMScpLCAnWzksMTApJyk7CitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFs X2ZrX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFM VUVTICgnWzYsNyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBW QUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScp LCAnWzYsNyknKTsKIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJybmcKICAgQUREIENPTlNU UkFJTlQgdGVtcG9yYWxfZmtfcm5nMnJuZ19mawogICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQs IFBFUklPRCB2YWxpZF9hdCkKQEAgLTE4MzksOSArMTk2OCwxMCBAQCBBTFRFUiBUQUJMRSB0ZW1w b3JhbF9ma19ybmcycm5nCiAgICAgT04gREVMRVRFIFNFVCBOVUxMIE9OIFVQREFURSBTRVQgTlVM TDsKIEVSUk9SOiAgdW5zdXBwb3J0ZWQgT04gVVBEQVRFIGFjdGlvbiBmb3IgZm9yZWlnbiBrZXkg Y29uc3RyYWludCB1c2luZyBQRVJJT0QKIC0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNF VCBERUZBVUxUCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3JuZzJybmc7CiBJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScs IGRhdGVyYW5nZShudWxsLCBudWxsKSk7Ci1JTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2 YWxpZF9hdCkgVkFMVUVTICgnWzEyLDEzKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIx LTAxLTAxJykpOwotSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0 LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnKSwgJ1sxMiwxMyknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZh bGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAx LTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBw YXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcy MDIxLTAxLTAxJyksICdbNiw3KScpOwogQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnJuZwog ICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkIFNFVCBERUZBVUxUICdbLTEsLTFdJywKICAgQUREIENP TlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnJuZ19mawpAQCAtMjIxMSw2ICsyMzQxLDIyIEBAIFVQ REFURSB0ZW1wb3JhbF9tbHRybmcgU0VUIGlkID0gJ1s3LDgpJwogICBXSEVSRSBpZCA9ICdbNSw2 KScgQU5EIHZhbGlkX2F0ID0gZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMTgtMDItMDEnKSk7CiBFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRlbXBv cmFsX21sdHJuZyIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtf bWx0cm5nMm1sdHJuZ19mayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmciCiBE RVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYpLCB7WzIwMTgtMDEtMDEsMjAxOC0wMi0w MSl9KSBpcyBzdGlsbCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX21sdHJuZzJt bHRybmciLgorLS0gY2hhbmdpbmcgYW4gdW5yZWZlcmVuY2VkIHBhcnQgaXMgb2theToKK1VQREFU RSB0ZW1wb3JhbF9tbHRybmcKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJh bmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMicsICcyMDE4LTAxLTAzJykpKQorICBTRVQgaWQgPSAn WzcsOCknCisgIFdIRVJFIGlkID0gJ1s1LDYpJzsKKy0tIGNoYW5naW5nIGp1c3QgYSBwYXJ0IGZh aWxzOgorVVBEQVRFIHRlbXBvcmFsX21sdHJuZworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAo ZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTA1JywgJzIwMTgtMDEtMTAnKSkpCisg IFNFVCBpZCA9ICdbNyw4KScKKyAgV0hFUkUgaWQgPSAnWzUsNiknOworRVJST1I6ICB1cGRhdGUg b3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9tbHRybmciIHZpb2xhdGVzIGZvcmVpZ24ga2V5 IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmdfZmsiIG9uIHRhYmxlICJ0ZW1w b3JhbF9ma19tbHRybmcybWx0cm5nIgorREVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbNSw2 KSwge1syMDE4LTAxLTAxLDIwMTgtMDEtMDIpLFsyMDE4LTAxLTAzLDIwMTgtMDItMDEpfSkgaXMg c3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIi4K Ky0tIHRoZW4gZGVsZXRlIHRoZSBvYmplY3RpbmcgRksgcmVjb3JkIGFuZCB0aGUgc2FtZSBQSyB1 cGRhdGUgc3VjY2VlZHM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdI RVJFIGlkID0gJ1szLDQpJzsKK1VQREFURSB0ZW1wb3JhbF9tbHRybmcgU0VUIGlkID0gJ1s3LDgp JworICBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gZGF0ZW11bHRpcmFuZ2UoZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKSk7CiAtLQogLS0gdGVzdCBGSyByZWZl cmVuY2VkIHVwZGF0ZXMgUkVTVFJJQ1QKIC0tCkBAIC0yMjUzLDYgKzIzOTksMTkgQEAgQkVHSU47 CiBDT01NSVQ7CiBFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRlbXBvcmFsX21s dHJuZyIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfbWx0cm5n Mm1sdHJuZ19mayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmciCiBERVRBSUw6 ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYpLCB7WzIwMTgtMDEtMDEsMjAxOC0wMi0wMSl9KSBp cyBzdGlsbCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmci LgorLS0gZGVsZXRpbmcgYW4gdW5yZWZlcmVuY2VkIHBhcnQgaXMgb2theToKK0RFTEVURSBGUk9N IHRlbXBvcmFsX21sdHJuZworRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdl KGRhdGVyYW5nZSgnMjAxOC0wMS0wMicsICcyMDE4LTAxLTAzJykpKQorV0hFUkUgaWQgPSAnWzUs NiknOworLS0gZGVsZXRpbmcganVzdCBhIHBhcnQgZmFpbHM6CitERUxFVEUgRlJPTSB0ZW1wb3Jh bF9tbHRybmcKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFu Z2UoJzIwMTgtMDEtMDUnLCAnMjAxOC0wMS0xMCcpKSkKK1dIRVJFIGlkID0gJ1s1LDYpJzsKK0VS Uk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVtcG9yYWxfbWx0cm5nIiB2aW9sYXRl cyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nX2ZrIiBv biB0YWJsZSAidGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyIKK0RFVEFJTDogIEtleSAoaWQsIHZh bGlkX2F0KT0oWzUsNiksIHtbMjAxOC0wMS0wMSwyMDE4LTAxLTAyKSxbMjAxOC0wMS0wMywyMDE4 LTAyLTAxKX0pIGlzIHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfbWx0 cm5nMm1sdHJuZyIuCistLSB0aGVuIGRlbGV0ZSB0aGUgb2JqZWN0aW5nIEZLIHJlY29yZCBhbmQg dGhlIHNhbWUgUEsgZGVsZXRlIHN1Y2NlZWRzOgorREVMRVRFIEZST00gdGVtcG9yYWxfZmtfbWx0 cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMyw0KSc7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRy bmcgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9IGRhdGVtdWx0aXJhbmdlKGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJykpOwogLS0KIC0tIEZLIGJldHdlZW4gcGFy dGl0aW9uZWQgdGFibGVzOiByYW5nZXMKIC0tCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNz L3BhcmFsbGVsX3NjaGVkdWxlIGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQpp bmRleCBmNTY0ODJmYjlmMS4uZjk1NWJiOGJlMzMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jl c3MvcGFyYWxsZWxfc2NoZWR1bGUKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hl ZHVsZQpAQCAtNDgsNyArNDgsNyBAQCB0ZXN0OiBjcmVhdGVfaW5kZXggY3JlYXRlX2luZGV4X3Nw Z2lzdCBjcmVhdGVfdmlldyBpbmRleF9pbmNsdWRpbmcgaW5kZXhfaW5jbHVkaQogIyAtLS0tLS0t LS0tCiAjIEFub3RoZXIgZ3JvdXAgb2YgcGFyYWxsZWwgdGVzdHMKICMgLS0tLS0tLS0tLQotdGVz dDogY3JlYXRlX2FnZ3JlZ2F0ZSBjcmVhdGVfZnVuY3Rpb25fc3FsIGNyZWF0ZV9jYXN0IGNvbnN0 cmFpbnRzIHRyaWdnZXJzIHNlbGVjdCBpbmhlcml0IHR5cGVkX3RhYmxlIHZhY3V1bSBkcm9wX2lm X2V4aXN0cyB1cGRhdGFibGVfdmlld3Mgcm9sZWF0dHJpYnV0ZXMgY3JlYXRlX2FtIGhhc2hfZnVu YyBlcnJvcnMgaW5maW5pdGVfcmVjdXJzZQordGVzdDogY3JlYXRlX2FnZ3JlZ2F0ZSBjcmVhdGVf ZnVuY3Rpb25fc3FsIGNyZWF0ZV9jYXN0IGNvbnN0cmFpbnRzIHRyaWdnZXJzIHNlbGVjdCBpbmhl cml0IHR5cGVkX3RhYmxlIHZhY3V1bSBkcm9wX2lmX2V4aXN0cyB1cGRhdGFibGVfdmlld3Mgcm9s ZWF0dHJpYnV0ZXMgY3JlYXRlX2FtIGhhc2hfZnVuYyBlcnJvcnMgaW5maW5pdGVfcmVjdXJzZSBm b3JfcG9ydGlvbl9vZgogCiAjIC0tLS0tLS0tLS0KICMgc2FuaXR5X2NoZWNrIGRvZXMgYSB2YWN1 dW0sIGFmZmVjdGluZyB0aGUgc29ydCBvcmRlciBvZiBTRUxFQ1QgKgpkaWZmIC0tZ2l0IGEvc3Jj L3Rlc3QvcmVncmVzcy9zcWwvZm9yX3BvcnRpb25fb2Yuc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9z cWwvZm9yX3BvcnRpb25fb2Yuc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwLi4wZTZjMmRiNWE3NQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L2Zvcl9wb3J0aW9uX29mLnNxbApAQCAtMCwwICsxLDkwNSBAQAorLS0gVGVzdHMgZm9yIFVQREFU RS9ERUxFVEUgRk9SIFBPUlRJT04gT0YKKworU0VUIGRhdGVzdHlsZSBUTyBJU08sIFlNRDsKKwor LS0gV29ya3Mgb24gbm9uLVBLIGNvbHVtbnMKK0NSRUFURSBUQUJMRSBmb3JfcG9ydGlvbl9vZl90 ZXN0ICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIG5hbWUgdGV4 dCBOT1QgTlVMTAorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QgKGlkLCB2YWxp ZF9hdCwgbmFtZSkgVkFMVUVTCisgICgnWzEsMiknLCAnWzIwMTgtMDEtMDIsMjAyMC0wMS0wMSkn LCAnb25lJyk7CisKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMTUnIFRPICcyMDE5LTAxLTAxJworICBTRVQgbmFtZSA9 ICdvbmVeMSc7CisKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0xNScgVE8gJzIwMTktMDEtMjAnOworCistLSBX aXRoIGEgdGFibGUgYWxpYXMgd2l0aCBBUworCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAor ICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAyLTAxJyBUTyAnMjAxOS0wMi0w MycgQVMgdAorICBTRVQgbmFtZSA9ICdvbmVeMic7CisKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9u X29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMi0wMycgVE8g JzIwMTktMDItMDQnIEFTIHQ7CisKKy0tIFdpdGggYSB0YWJsZSBhbGlhcyB3aXRob3V0IEFTCisK K1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMTktMDItMDQnIFRPICcyMDE5LTAyLTA1JyB0CisgIFNFVCBuYW1lID0gJ29uZV4zJzsK KworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDE5LTAyLTA1JyBUTyAnMjAxOS0wMi0wNicgdDsKKworLS0gVVBEQVRFIHdp dGggRlJPTQorCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDE5LTAzLTAxJyB0byAnMjAxOS0wMy0wMicKKyAgU0VUIG5hbWUgPSAn b25lXjQnCisgIEZST00gKFNFTEVDVCAnWzEsMiknOjppbnQ0cmFuZ2UpIEFTIHQyKGlkKQorICBX SEVSRSBmb3JfcG9ydGlvbl9vZl90ZXN0LmlkID0gdDIuaWQ7CisKKy0tIERFTEVURSB3aXRoIFVT SU5HCisKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAxOS0wMy0wMicgVE8gJzIwMTktMDMtMDMnCisgIFVTSU5HIChTRUxF Q1QgJ1sxLDIpJzo6aW50NHJhbmdlKSBBUyB0MihpZCkKKyAgV0hFUkUgZm9yX3BvcnRpb25fb2Zf dGVzdC5pZCA9IHQyLmlkOworCitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworCistLSBXb3JrcyBvbiBtb3JlIHRoYW4gb25lIHJhbmdlCitE Uk9QIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3Q7CitDUkVBVEUgVEFCTEUgZm9yX3BvcnRpb25f b2ZfdGVzdCAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWQxX2F0IGRhdGVyYW5nZSwKKyAgdmFs aWQyX2F0IGRhdGVyYW5nZSwKKyAgbmFtZSB0ZXh0IE5PVCBOVUxMCispOworSU5TRVJUIElOVE8g Zm9yX3BvcnRpb25fb2ZfdGVzdCAoaWQsIHZhbGlkMV9hdCwgdmFsaWQyX2F0LCBuYW1lKSBWQUxV RVMKKyAgKCdbMSwyKScsICdbMjAxOC0wMS0wMiwyMDE4LTAyLTAzKScsICdbMjAxNS0wMS0wMSwy MDI1LTAxLTAxKScsICdvbmUnKTsKKworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWQxX2F0IEZST00gJzIwMTgtMDEtMTUnIFRPIE5VTEwKKyAgU0VUIG5h bWUgPSAnZm9vJzsKKyAgU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IE9SREVSIEJZ IGlkLCB2YWxpZDFfYXQsIHZhbGlkMl9hdDsKKworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QK KyAgRk9SIFBPUlRJT04gT0YgdmFsaWQyX2F0IEZST00gJzIwMTgtMDEtMTUnIFRPIE5VTEwKKyAg U0VUIG5hbWUgPSAnYmFyJzsKKyAgU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IE9S REVSIEJZIGlkLCB2YWxpZDFfYXQsIHZhbGlkMl9hdDsKKworREVMRVRFIEZST00gZm9yX3BvcnRp b25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZDFfYXQgRlJPTSAnMjAxOC0wMS0yMCcg VE8gTlVMTDsKKyAgU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IE9SREVSIEJZIGlk LCB2YWxpZDFfYXQsIHZhbGlkMl9hdDsKKworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVz dAorICBGT1IgUE9SVElPTiBPRiB2YWxpZDJfYXQgRlJPTSAnMjAxOC0wMS0yMCcgVE8gTlVMTDsK KyAgU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IE9SREVSIEJZIGlkLCB2YWxpZDFf YXQsIHZhbGlkMl9hdDsKKworLS0gVGVzdCB3aXRoIE5VTExzIGluIHRoZSBzY2FsYXIvcmFuZ2Ug a2V5IGNvbHVtbnMuCistLSBUaGlzIHdvbid0IGhhcHBlbiBpZiB0aGVyZSBpcyBhIFBSSU1BUlkg S0VZIG9yIFVOSVFVRSBjb25zdHJhaW50CistLSBidXQgRk9SIFBPUlRJT04gT0Ygc2hvdWxkbid0 IHJlcXVpcmUgdGhhdC4KK0RST1AgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDsKK0NSRUFURSBV TkxPR0dFRCBUQUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0ICgKKyAgaWQgaW50NHJhbmdlLAorICB2 YWxpZF9hdCBkYXRlcmFuZ2UsCisgIG5hbWUgdGV4dAorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0 aW9uX29mX3Rlc3QgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVTCisgICgnWzEsMiknLCBOVUxM LCAnMSBudWxsJyksCisgICgnWzEsMiknLCAnKCwpJywgJzEgdW5ib3VuZGVkJyksCisgICgnWzEs MiknLCAnZW1wdHknLCAnMSBlbXB0eScpLAorICAoTlVMTCwgTlVMTCwgTlVMTCksCisgIChOVUxM LCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAxOS0wMS0wMScpLCAnbnVsbCBrZXknKTsKK1VQ REFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g TlVMTCBUTyBOVUxMCisgIFNFVCBuYW1lID0gJ05VTEwgdG8gTlVMTCc7CitTRUxFQ1QgKiBGUk9N IGZvcl9wb3J0aW9uX29mX3Rlc3QgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCitEUk9QIFRBQkxF IGZvcl9wb3J0aW9uX29mX3Rlc3Q7CisKKy0tCistLSBVUERBVEUgdGVzdHMKKy0tCisKK0NSRUFU RSBUQUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0ICgKKyAgaWQgaW50NHJhbmdlIE5PVCBOVUxMLAor ICB2YWxpZF9hdCBkYXRlcmFuZ2UgTk9UIE5VTEwsCisgIG5hbWUgdGV4dCBOT1QgTlVMTCwKKyAg Q09OU1RSQUlOVCBmb3JfcG9ydGlvbl9vZl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJ VEhPVVQgT1ZFUkxBUFMpCispOworSU5TRVJUIElOVE8gZm9yX3BvcnRpb25fb2ZfdGVzdCAoaWQs IHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMKKyAgKCdbMSwyKScsICdbMjAxOC0wMS0wMiwyMDE4LTAy LTAzKScsICdvbmUnKSwKKyAgKCdbMSwyKScsICdbMjAxOC0wMi0wMywyMDE4LTAzLTAzKScsICdv bmUnKSwKKyAgKCdbMSwyKScsICdbMjAxOC0wMy0wMywyMDE4LTA0LTA0KScsICdvbmUnKSwKKyAg KCdbMiwzKScsICdbMjAxOC0wMS0wMSwyMDE4LTAxLTA1KScsICd0d28nKSwKKyAgKCdbMyw0KScs ICdbMjAxOC0wMS0wMSwpJywgJ3RocmVlJyksCisgICgnWzQsNSknLCAnKCwyMDE4LTA0LTAxKScs ICdmb3VyJyksCisgICgnWzUsNiknLCAnKCwpJywgJ2ZpdmUnKQorICA7Citcc2V0IFFVSUVUIGZh bHNlCisKKy0tIFVwZGF0aW5nIHdpdGggYSBtaXNzaW5nIGNvbHVtbiBmYWlscworVVBEQVRFIGZv cl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgaW52YWxpZF9hdCBGUk9NICcyMDE4 LTA2LTAxJyBUTyBOVUxMCisgIFNFVCBuYW1lID0gJ2ZvbycKKyAgV0hFUkUgaWQgPSAnWzUsNikn OworCistLSBVcGRhdGluZyB0aGUgcmFuZ2UgZmFpbHMKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90 ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDYtMDEnIFRPIE5VTEwK KyAgU0VUIHZhbGlkX2F0ID0gJ1sxOTkwLTAxLTAxLDE5OTktMDEtMDEpJworICBXSEVSRSBpZCA9 ICdbNSw2KSc7CisKKy0tIFRoZSB3cm9uZyB0eXBlIGZhaWxzCitVUERBVEUgZm9yX3BvcnRpb25f b2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIDEgVE8gNAorICBTRVQgbmFt ZSA9ICdub3BlJworICBXSEVSRSBpZCA9ICdbMyw0KSc7CisKKy0tIFVwZGF0aW5nIHdpdGggdGlt ZXN0YW1wcyByZXZlcnNlZCBmYWlscworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wNi0wMScgVE8gJzIwMTgtMDEtMDEnCisg IFNFVCBuYW1lID0gJ3RocmVlXjEnCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKKworLS0gVXBkYXRp bmcgd2l0aCBhIHN1YnF1ZXJ5IGZhaWxzCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIChTRUxFQ1QgJzIwMTgtMDEtMDEnKSBUTyAnMjAx OC0wNi0wMScKKyAgU0VUIG5hbWUgPSAnbm9wZScKKyAgV0hFUkUgaWQgPSAnWzMsNCknOworCist LSBVcGRhdGluZyB3aXRoIGEgY29sdW1uIGZhaWxzCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVz dAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIGxvd2VyKHZhbGlkX2F0KSBUTyBOVUxM CisgIFNFVCBuYW1lID0gJ25vcGUnCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKKworLS0gVXBkYXRp bmcgd2l0aCB0aW1lc3RhbXBzIGVxdWFsIGRvZXMgbm90aGluZworVVBEQVRFIGZvcl9wb3J0aW9u X29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wNC0wMScgVE8g JzIwMTgtMDQtMDEnCisgIFNFVCBuYW1lID0gJ3RocmVlXjAnCisgIFdIRVJFIGlkID0gJ1szLDQp JzsKKworLS0gVXBkYXRpbmcgYSBmaW5pdGUvb3BlbiBwb3J0aW9uIHdpdGggYSBmaW5pdGUvb3Bl biB0YXJnZXQKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gJzIwMTgtMDYtMDEnIFRPIE5VTEwKKyAgU0VUIG5hbWUgPSAndGhyZWVeMScK KyAgV0hFUkUgaWQgPSAnWzMsNCknOworCistLSBVcGRhdGluZyBhIGZpbml0ZS9vcGVuIHBvcnRp b24gd2l0aCBhbiBvcGVuL2Zpbml0ZSB0YXJnZXQKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0 CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gTlVMTCBUTyAnMjAxOC0wMy0wMScKKyAg U0VUIG5hbWUgPSAndGhyZWVeMicKKyAgV0hFUkUgaWQgPSAnWzMsNCknOworCistLSBVcGRhdGlu ZyBhbiBvcGVuL2Zpbml0ZSBwb3J0aW9uIHdpdGggYW4gb3Blbi9maW5pdGUgdGFyZ2V0CitVUERB VEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIE5V TEwgVE8gJzIwMTgtMDItMDEnCisgIFNFVCBuYW1lID0gJ2ZvdXJeMScKKyAgV0hFUkUgaWQgPSAn WzQsNSknOworCistLSBVcGRhdGluZyBhbiBvcGVuL2Zpbml0ZSBwb3J0aW9uIHdpdGggYSBmaW5p dGUvb3BlbiB0YXJnZXQKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMTctMDEtMDEnIFRPIE5VTEwKKyAgU0VUIG5hbWUgPSAnZm91 cl4yJworICBXSEVSRSBpZCA9ICdbNCw1KSc7CisKKy0tIFVwZGF0aW5nIGEgZmluaXRlL2Zpbml0 ZSBwb3J0aW9uIHdpdGggYW4gZXhhY3QgZml0CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAor ICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE3LTAxLTAxJyBUTyAnMjAxOC0wMi0w MScKKyAgU0VUIG5hbWUgPSAnZm91cl4zJworICBXSEVSRSBpZCA9ICdbNCw1KSc7CisKKy0tIFVw ZGF0aW5nIGFuIGVuY2xvc2VkIHNwYW4KK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gTlVMTCBUTyBOVUxMCisgIFNFVCBuYW1lID0gJ3R3 b14yJworICBXSEVSRSBpZCA9ICdbMiwzKSc7CisKKy0tIFVwZGF0aW5nIGFuIG9wZW4vb3BlbiBw b3J0aW9uIHdpdGggYSBmaW5pdGUvZmluaXRlIHRhcmdldAorVVBEQVRFIGZvcl9wb3J0aW9uX29m X3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0wMScgVE8gJzIw MTktMDEtMDEnCisgIFNFVCBuYW1lID0gJ2ZpdmVeMScKKyAgV0hFUkUgaWQgPSAnWzUsNiknOwor CistLSBVcGRhdGluZyBhbiBlbmNsb3NlZCBzcGFuIHdpdGggc2VwYXJhdGUgcHJvdHJ1ZGluZyBz cGFucworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAxNy0wMS0wMScgVE8gJzIwMjAtMDEtMDEnCisgIFNFVCBuYW1lID0gJ2ZpdmVe MicKKyAgV0hFUkUgaWQgPSAnWzUsNiknOworCistLSBVcGRhdGluZyBtdWx0aXBsZSBlbmNsb3Nl ZCBzcGFucworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSBOVUxMIFRPIE5VTEwKKyAgU0VUIG5hbWUgPSAnb25lXjInCisgIFdIRVJFIGlk ID0gJ1sxLDIpJzsKKworLS0gVXBkYXRpbmcgd2l0aCBhIGRpcmVjdCB0YXJnZXQKK1VQREFURSBm b3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlcmFuZ2Uo JzIwMTgtMDMtMTAnLCAnMjAxOC0wMy0xNycpKQorICBTRVQgbmFtZSA9ICdvbmVeMycKKyAgV0hF UkUgaWQgPSAnWzEsMiknOworCistLSBVcGRhdGluZyB0aGUgbm9uLXJhbmdlIHBhcnQgb2YgdGhl IFBLOgorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAxOC0wMi0xNScgVE8gTlVMTAorICBTRVQgaWQgPSAnWzYsNyknCisgIFdIRVJF IGlkID0gJ1sxLDIpJzsKKworLS0gVVBEQVRFIHdpdGggbm8gV0hFUkUgY2xhdXNlCitVUERBVEUg Zm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDMw LTAxLTAxJyBUTyBOVUxMCisgIFNFVCBuYW1lID0gbmFtZSB8fCAnKic7CisKK1NFTEVDVCAqIEZS T00gZm9yX3BvcnRpb25fb2ZfdGVzdCBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Citcc2V0IFFVSUVU IHRydWUKKworLS0gVXBkYXRpbmcgd2l0aCBhIHNoaWZ0L3JlZHVjZSBjb25mbGljdAorLS0gKHJl cXVpcmVzIGEgdHNyYW5nZSBjb2x1bW4pCitDUkVBVEUgVU5MT0dHRUQgVEFCTEUgZm9yX3BvcnRp b25fb2ZfdGVzdDIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IHRzcmFuZ2UsCisgIG5h bWUgdGV4dAorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QyIChpZCwgdmFsaWRf YXQsIG5hbWUpIFZBTFVFUworICAoJ1sxLDIpJywgJ1syMDAwLTAxLTAxLDIwMjAtMDEtMDEpJywg J29uZScpOworLS0gdXBkYXRlcyBbMjAxMS0wMy0wMSAwMTowMjowMCwgMjAxMi0wMS0wMSkgKG5v dGUgMiBtaW51dGVzKQorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0CisgICAgRlJPTSAnMjAxMS0wMy0wMSc6OnRpbWVzdGFtcCArIElOVEVSVkFM ICcxOjAyOjAzJyBIT1VSIFRPIE1JTlVURQorICAgIFRPICcyMDEyLTAxLTAxJworICBTRVQgbmFt ZSA9ICdvbmVeMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCistLSBUTyBpcyB1c2VkIGZvciB0 aGUgYm91bmQgYnV0IG5vdCB0aGUgSU5URVJWQUw6CistLSBzeW50YXggZXJyb3IKK1VQREFURSBm b3JfcG9ydGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdAorICAgIEZST00g JzIwMTMtMDMtMDEnOjp0aW1lc3RhbXAgKyBJTlRFUlZBTCAnMTowMjowMycgSE9VUgorICAgIFRP ICcyMDE0LTAxLTAxJworICBTRVQgbmFtZSA9ICdvbmVeMicKKyAgV0hFUkUgaWQgPSAnWzEsMikn OworCistLSBhZGRpbmcgcGFyZW5zIGZpeGVzIGl0CistLSB1cGRhdGVzIFsyMDE1LTAzLTAxIDAx OjAwOjAwLCAyMDE2LTAxLTAxKSAobm8gbWludXRlcykKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90 ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdAorICAgIEZST00gKCcyMDE1LTAzLTAxJzo6 dGltZXN0YW1wICsgSU5URVJWQUwgJzE6MDI6MDMnIEhPVVIpCisgICAgVE8gJzIwMTYtMDEtMDEn CisgIFNFVCBuYW1lID0gJ29uZV4zJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK1NFTEVDVCAq IEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdDIgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworRFJPUCBU QUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0MjsKKworLS0gVVBEQVRFIEZPUiBQT1JUSU9OIE9GIGlu IGEgQ1RFOgorCistLSBWaXNpYmxlIHRvIFNFTEVDVDoKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9u X29mX3Rlc3QgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVTCisgICgnWzEwLDExKScsICdbMjAx OC0wMS0wMSwyMDIwLTAxLTAxKScsICd0ZW4nKTsKK1dJVEggdXBkYXRlX2FwciBBUyAoCisgIFVQ REFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgICAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAxOC0wNC0wMScgVE8gJzIwMTgtMDUtMDEnCisgICAgU0VUIG5hbWUgPSAnQXByIDIwMTgn CisgICAgV0hFUkUgaWQgPSAnWzEwLDExKScKKyAgICBSRVRVUk5JTkcgaWQsIHZhbGlkX2F0LCBu YW1lCispCitTRUxFQ1QgKgorICBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgQVMgdCwgdXBkYXRl X2FwcgorICBXSEVSRSB0LmlkID0gdXBkYXRlX2Fwci5pZDsKK1NFTEVDVCAqIEZST00gZm9yX3Bv cnRpb25fb2ZfdGVzdCBXSEVSRSBpZCA9ICdbMTAsMTEpJzsKKworLS0gTm90IHZpc2libGUgdG8g VVBEQVRFOgorLS0gVHVwbGVzIHVwZGF0ZWQvaW5zZXJ0ZWQgd2l0aGluIHRoZSBDVEUgYXJlIG5v dCB2aXNpYmxlIHRvIHRoZSBtYWluIHF1ZXJ5IHlldCwKKy0tIGJ1dCBuZWl0aGVyIGFyZSBvbGQg dHVwbGVzIHRoZSBDVEUgY2hhbmdlZDoKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3Qg KGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVTCisgICgnWzExLDEyKScsICdbMjAxOC0wMS0wMSwy MDIwLTAxLTAxKScsICdlbGV2ZW4nKTsKK1dJVEggdXBkYXRlX2FwciBBUyAoCisgIFVQREFURSBm b3JfcG9ydGlvbl9vZl90ZXN0CisgICAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAx OC0wNC0wMScgVE8gJzIwMTgtMDUtMDEnCisgICAgU0VUIG5hbWUgPSAnQXByIDIwMTgnCisgICAg V0hFUkUgaWQgPSAnWzExLDEyKScKKyAgICBSRVRVUk5JTkcgaWQsIHZhbGlkX2F0LCBuYW1lCisp CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDE4LTA1LTAxJyBUTyAnMjAxOC0wNi0wMScKKyAgQVMgdAorICBTRVQgbmFtZSA9ICdN YXkgMjAxOCcKKyAgRlJPTSB1cGRhdGVfYXByIEFTIGoKKyAgV0hFUkUgdC5pZCA9IGouaWQ7CitT RUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQgPSAnWzExLDEyKSc7CitE RUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkIElOICgnWzEwLDExKScsICdb MTEsMTIpJyk7CisKKy0tIFVQREFURSBGT1IgUE9SVElPTiBPRiBpbiBhIFBML3BnU1FMIGZ1bmN0 aW9uCitJTlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0IChpZCwgdmFsaWRfYXQsIG5hbWUp IFZBTFVFUworICAoJ1sxMCwxMSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknLCAndGVuJyk7 CitDUkVBVEUgRlVOQ1RJT04gZnBvX3VwZGF0ZShfaWQgaW50NHJhbmdlLCBfdGFyZ2V0X2Zyb20g ZGF0ZSwgX3RhcmdldF90aWwgZGF0ZSkKK1JFVFVSTlMgdm9pZCBMQU5HVUFHRSBwbHBnc3FsIEFT CiskJAorQkVHSU4KKyAgVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgICBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICQyIFRPICQzCisgICAgU0VUIG5hbWUgPSBjb25jYXQoX3Rhcmdl dF9mcm9tOjp0ZXh0LCAnIHRvICcsIF90YXJnZXRfdGlsOjp0ZXh0KQorICAgIFdIRVJFIGlkID0g JDE7CitFTkQ7CiskJDsKK1NFTEVDVCBmcG9fdXBkYXRlKCdbMTAsMTEpJywgJzIwMTUtMDEtMDEn LCAnMjAxOS0wMS0wMScpOworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJF IGlkID0gJ1sxMCwxMSknOworCitEUk9QIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3Q7CisKKy0t CistLSBERUxFVEUgdGVzdHMKKy0tCisKK0NSRUFURSBUQUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0 ICgKKyAgaWQgaW50NHJhbmdlIE5PVCBOVUxMLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UgTk9UIE5V TEwsCisgIG5hbWUgdGV4dCBOT1QgTlVMTCwKKyAgQ09OU1RSQUlOVCBmb3JfcG9ydGlvbl9vZl9w ayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOworSU5TRVJU IElOVE8gZm9yX3BvcnRpb25fb2ZfdGVzdCAoaWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMKKyAg KCdbMSwyKScsICdbMjAxOC0wMS0wMiwyMDE4LTAyLTAzKScsICdvbmUnKSwKKyAgKCdbMSwyKScs ICdbMjAxOC0wMi0wMywyMDE4LTAzLTAzKScsICdvbmUnKSwKKyAgKCdbMSwyKScsICdbMjAxOC0w My0wMywyMDE4LTA0LTA0KScsICdvbmUnKSwKKyAgKCdbMiwzKScsICdbMjAxOC0wMS0wMSwyMDE4 LTAxLTA1KScsICd0d28nKSwKKyAgKCdbMyw0KScsICdbMjAxOC0wMS0wMSwpJywgJ3RocmVlJyks CisgICgnWzQsNSknLCAnKCwyMDE4LTA0LTAxKScsICdmb3VyJyksCisgICgnWzUsNiknLCAnKCwp JywgJ2ZpdmUnKSwKKyAgKCdbNiw3KScsICdbMjAxOC0wMS0wMSwpJywgJ3NpeCcpLAorICAoJ1s3 LDgpJywgJygsMjAxOC0wNC0wMSknLCAnc2V2ZW4nKSwKKyAgKCdbOCw5KScsICdbMjAxOC0wMS0w MiwyMDE4LTAyLTAzKScsICdlaWdodCcpLAorICAoJ1s4LDkpJywgJ1syMDE4LTAyLTAzLDIwMTgt MDMtMDMpJywgJ2VpZ2h0JyksCisgICgnWzgsOSknLCAnWzIwMTgtMDMtMDMsMjAxOC0wNC0wNCkn LCAnZWlnaHQnKQorICA7Citcc2V0IFFVSUVUIGZhbHNlCisKKy0tIERlbGV0aW5nIHdpdGggYSBt aXNzaW5nIGNvbHVtbiBmYWlscworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBG T1IgUE9SVElPTiBPRiBpbnZhbGlkX2F0IEZST00gJzIwMTgtMDYtMDEnIFRPIE5VTEwKKyAgV0hF UkUgaWQgPSAnWzUsNiknOworCistLSBUaGUgd3JvbmcgdHlwZSBmYWlscworREVMRVRFIEZST00g Zm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIDEgVE8g NAorICBXSEVSRSBpZCA9ICdbMyw0KSc7CisKKy0tIERlbGV0aW5nIHdpdGggdGltZXN0YW1wcyBy ZXZlcnNlZCBmYWlscworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTA2LTAxJyBUTyAnMjAxOC0wMS0wMScKKyAgV0hF UkUgaWQgPSAnWzMsNCknOworCistLSBEZWxldGluZyB3aXRoIGEgc3VicXVlcnkgZmFpbHMKK0RF TEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAoU0VMRUNUICcyMDE4LTAxLTAxJykgVE8gJzIwMTgtMDYtMDEnCisgIFdIRVJFIGlkID0g J1szLDQpJzsKKworLS0gRGVsZXRpbmcgd2l0aCBhIGNvbHVtbiBmYWlscworREVMRVRFIEZST00g Zm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIGxvd2Vy KHZhbGlkX2F0KSBUTyBOVUxMCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKKworLS0gRGVsZXRpbmcg d2l0aCB0aW1lc3RhbXBzIGVxdWFsIGRvZXMgbm90aGluZworREVMRVRFIEZST00gZm9yX3BvcnRp b25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTA0LTAxJyBU TyAnMjAxOC0wNC0wMScKKyAgV0hFUkUgaWQgPSAnWzMsNCknOworCistLSBEZWxldGluZyBhIGZp bml0ZS9vcGVuIHBvcnRpb24gd2l0aCBhIGZpbml0ZS9vcGVuIHRhcmdldAorREVMRVRFIEZST00g Zm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4 LTA2LTAxJyBUTyBOVUxMCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKKworLS0gRGVsZXRpbmcgYSBm aW5pdGUvb3BlbiBwb3J0aW9uIHdpdGggYW4gb3Blbi9maW5pdGUgdGFyZ2V0CitERUxFVEUgRlJP TSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gTlVM TCBUTyAnMjAxOC0wMy0wMScKKyAgV0hFUkUgaWQgPSAnWzYsNyknOworCistLSBEZWxldGluZyBh biBvcGVuL2Zpbml0ZSBwb3J0aW9uIHdpdGggYW4gb3Blbi9maW5pdGUgdGFyZ2V0CitERUxFVEUg RlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g TlVMTCBUTyAnMjAxOC0wMi0wMScKKyAgV0hFUkUgaWQgPSAnWzQsNSknOworCistLSBEZWxldGlu ZyBhbiBvcGVuL2Zpbml0ZSBwb3J0aW9uIHdpdGggYSBmaW5pdGUvb3BlbiB0YXJnZXQKK0RFTEVU RSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAxNy0wMS0wMScgVE8gTlVMTAorICBXSEVSRSBpZCA9ICdbNyw4KSc7CisKKy0tIERlbGV0 aW5nIGEgZmluaXRlL2Zpbml0ZSBwb3J0aW9uIHdpdGggYW4gZXhhY3QgZml0CitERUxFVEUgRlJP TSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MTgtMDItMDEnIFRPICcyMDE4LTA0LTAxJworICBXSEVSRSBpZCA9ICdbNCw1KSc7CisKKy0tIERl bGV0aW5nIGFuIGVuY2xvc2VkIHNwYW4KK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QK KyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSBOVUxMIFRPIE5VTEwKKyAgV0hFUkUgaWQg PSAnWzIsMyknOworCistLSBEZWxldGluZyBhbiBvcGVuL29wZW4gcG9ydGlvbiB3aXRoIGEgZmlu aXRlL2Zpbml0ZSB0YXJnZXQKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0wMScgVE8gJzIwMTktMDEtMDEnCisg IFdIRVJFIGlkID0gJ1s1LDYpJzsKKworLS0gRGVsZXRpbmcgYW4gZW5jbG9zZWQgc3BhbiB3aXRo IHNlcGFyYXRlIHByb3RydWRpbmcgc3BhbnMKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rl c3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMi0wMycgVE8gJzIwMTgt MDMtMDMnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworLS0gRGVsZXRpbmcgbXVsdGlwbGUgZW5j bG9zZWQgc3BhbnMKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSBOVUxMIFRPIE5VTEwKKyAgV0hFUkUgaWQgPSAnWzgsOSknOwor CistLSBEZWxldGluZyB3aXRoIGEgZGlyZWN0IHRhcmdldAorREVMRVRFIEZST00gZm9yX3BvcnRp b25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZXJhbmdlKCcyMDE4LTAz LTEwJywgJzIwMTgtMDMtMTcnKSkKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCistLSBERUxFVEUg d2l0aCBubyBXSEVSRSBjbGF1c2UKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAzMC0wMS0wMScgVE8gTlVMTDsKKworU0VM RUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK1xz ZXQgUVVJRVQgdHJ1ZQorCistLSBVUERBVEUgLi4uIFJFVFVSTklORyByZXR1cm5zIG9ubHkgdGhl IHVwZGF0ZWQgdmFsdWVzIChub3QgdGhlIGluc2VydGVkIHNpZGUgdmFsdWVzKQorVVBEQVRFIGZv cl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0w Mi0wMScgVE8gJzIwMTgtMDItMTUnCisgIFNFVCBuYW1lID0gJ3RocmVlXjMnCisgIFdIRVJFIGlk ID0gJ1szLDQpJworICBSRVRVUk5JTkcgKjsKKworLS0gREVMRVRFIC4uLiBSRVRVUk5JTkcgcmV0 dXJucyB0aGUgZGVsZXRlZCB2YWx1ZXMgKHJlZ2FyZGxlc3Mgb2YgYm91bmRzKQorREVMRVRFIEZS T00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDE4LTAyLTAyJyBUTyAnMjAxOC0wMi0wMycKKyAgV0hFUkUgaWQgPSAnWzMsNCknCisgIFJFVFVS TklORyAqOworCistLSBERUxFVEUgRk9SIFBPUlRJT04gT0YgaW4gYSBQTC9wZ1NRTCBmdW5jdGlv bgorSU5TRVJUIElOVE8gZm9yX3BvcnRpb25fb2ZfdGVzdCAoaWQsIHZhbGlkX2F0LCBuYW1lKSBW QUxVRVMKKyAgKCdbMTAsMTEpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJywgJ3RlbicpOwor Q1JFQVRFIEZVTkNUSU9OIGZwb19kZWxldGUoX2lkIGludDRyYW5nZSwgX3RhcmdldF9mcm9tIGRh dGUsIF90YXJnZXRfdGlsIGRhdGUpCitSRVRVUk5TIHZvaWQgTEFOR1VBR0UgcGxwZ3NxbCBBUwor JCQKK0JFR0lOCisgIERFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgICBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICQyIFRPICQzCisgICAgV0hFUkUgaWQgPSAkMTsKK0VORDsK KyQkOworU0VMRUNUIGZwb19kZWxldGUoJ1sxMCwxMSknLCAnMjAxNS0wMS0wMScsICcyMDE5LTAx LTAxJyk7CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQgPSAnWzEw LDExKSc7CitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkIElOICgnWzEw LDExKScpOworCisKKy0tIHRlc3QgdGhhdCB3ZSBydW4gdHJpZ2dlcnMgb24gdGhlIFVQREFURS9E RUxFVEVkIHJvdyBhbmQgdGhlIElOU0VSVGVkIHJvd3MKKworQ1JFQVRFIEZVTkNUSU9OIGR1bXBf dHJpZ2dlcigpCitSRVRVUk5TIFRSSUdHRVIgTEFOR1VBR0UgcGxwZ3NxbCBBUworJCQKK0JFR0lO CisgIFJBSVNFIE5PVElDRSAnJTogJSAlICU6JywKKyAgICBUR19OQU1FLCBUR19XSEVOLCBUR19P UCwgVEdfTEVWRUw7CisKKyAgSUYgVEdfQVJHVlswXSBUSEVOCisgICAgUkFJU0UgTk9USUNFICcg IG9sZDogJScsIChTRUxFQ1Qgc3RyaW5nX2FnZyhvbGRfdGFibGU6OnRleHQsICdcbiAgICAgICAn KSBGUk9NIG9sZF90YWJsZSk7CisgIEVMU0UKKyAgICBSQUlTRSBOT1RJQ0UgJyAgb2xkOiAlJywg T0xELnZhbGlkX2F0OworICBFTkQgSUY7CisgIElGIFRHX0FSR1ZbMV0gVEhFTgorICAgIFJBSVNF IE5PVElDRSAnICBuZXc6ICUnLCAoU0VMRUNUIHN0cmluZ19hZ2cobmV3X3RhYmxlOjp0ZXh0LCAn XG4gICAgICAgJykgRlJPTSBuZXdfdGFibGUpOworICBFTFNFCisgICAgUkFJU0UgTk9USUNFICcg IG5ldzogJScsIE5FVy52YWxpZF9hdDsKKyAgRU5EIElGOworCisgIElGIFRHX09QID0gJ0lOU0VS VCcgT1IgVEdfT1AgPSAnVVBEQVRFJyBUSEVOCisgICAgUkVUVVJOIE5FVzsKKyAgRUxTSUYgVEdf T1AgPSAnREVMRVRFJyBUSEVOCisgICAgUkVUVVJOIE9MRDsKKyAgRU5EIElGOworRU5EOworJCQ7 CisKKy0tIHN0YXRlbWVudCB0cmlnZ2VyczoKKworQ1JFQVRFIFRSSUdHRVIgZnBvX2JlZm9yZV9z dG10CitCRUZPUkUgSU5TRVJUIE9SIFVQREFURSBPUiBERUxFVEUgT04gZm9yX3BvcnRpb25fb2Zf dGVzdAorRk9SIEVBQ0ggU1RBVEVNRU5UIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihm YWxzZSwgZmFsc2UpOworCitDUkVBVEUgVFJJR0dFUiBmcG9fYWZ0ZXJfaW5zZXJ0X3N0bXQKK0FG VEVSIElOU0VSVCBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitGT1IgRUFDSCBTVEFURU1FTlQgRVhF Q1VURSBQUk9DRURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCBmYWxzZSk7CisKK0NSRUFURSBUUklH R0VSIGZwb19hZnRlcl91cGRhdGVfc3RtdAorQUZURVIgVVBEQVRFIE9OIGZvcl9wb3J0aW9uX29m X3Rlc3QKK0ZPUiBFQUNIIFNUQVRFTUVOVCBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdnZXIo ZmFsc2UsIGZhbHNlKTsKKworQ1JFQVRFIFRSSUdHRVIgZnBvX2FmdGVyX2RlbGV0ZV9zdG10CitB RlRFUiBERUxFVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorRk9SIEVBQ0ggU1RBVEVNRU5UIEVY RUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxzZSwgZmFsc2UpOworCistLSByb3cgdHJp Z2dlcnM6CisKK0NSRUFURSBUUklHR0VSIGZwb19iZWZvcmVfcm93CitCRUZPUkUgSU5TRVJUIE9S IFVQREFURSBPUiBERUxFVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorRk9SIEVBQ0ggUk9XIEVY RUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxzZSwgZmFsc2UpOworCitDUkVBVEUgVFJJ R0dFUiBmcG9fYWZ0ZXJfaW5zZXJ0X3JvdworQUZURVIgSU5TRVJUIE9OIGZvcl9wb3J0aW9uX29m X3Rlc3QKK0ZPUiBFQUNIIFJPVyBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdnZXIoZmFsc2Us IGZhbHNlKTsKKworQ1JFQVRFIFRSSUdHRVIgZnBvX2FmdGVyX3VwZGF0ZV9yb3cKK0FGVEVSIFVQ REFURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitGT1IgRUFDSCBST1cgRVhFQ1VURSBQUk9DRURV UkUgZHVtcF90cmlnZ2VyKGZhbHNlLCBmYWxzZSk7CisKK0NSRUFURSBUUklHR0VSIGZwb19hZnRl cl9kZWxldGVfcm93CitBRlRFUiBERUxFVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorRk9SIEVB Q0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxzZSwgZmFsc2UpOworCisK K1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMjEtMDEtMDEnIFRPICcyMDIyLTAxLTAxJworICBTRVQgbmFtZSA9ICdmaXZlXjMnCisg IFdIRVJFIGlkID0gJ1s1LDYpJzsKKworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAor ICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDIzLTAxLTAxJyBUTyAnMjAyNC0wMS0w MScKKyAgV0hFUkUgaWQgPSAnWzUsNiknOworCitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29m X3Rlc3QgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLSBUcmlnZ2VycyB3aXRoIGEgY3VzdG9t IHRyYW5zaXRpb24gdGFibGUgbmFtZToKKworRFJPUCBUQUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0 OworQ1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QgKAorICBpZCBpbnQ0cmFuZ2UsCisg IHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgbmFtZSB0ZXh0CispOworSU5TRVJUIElOVE8gZm9yX3Bv cnRpb25fb2ZfdGVzdCBWQUxVRVMgKCdbMSwyKScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScs ICdvbmUnKTsKKworLS0gc3RhdGVtZW50IHRyaWdnZXJzOgorCitDUkVBVEUgVFJJR0dFUiBmcG9f YmVmb3JlX3N0bXQKK0JFRk9SRSBJTlNFUlQgT1IgVVBEQVRFIE9SIERFTEVURSBPTiBmb3JfcG9y dGlvbl9vZl90ZXN0CitGT1IgRUFDSCBTVEFURU1FTlQgRVhFQ1VURSBQUk9DRURVUkUgZHVtcF90 cmlnZ2VyKGZhbHNlLCBmYWxzZSk7CisKK0NSRUFURSBUUklHR0VSIGZwb19hZnRlcl9pbnNlcnRf c3RtdAorQUZURVIgSU5TRVJUIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK1JFRkVSRU5DSU5HIE5F VyBUQUJMRSBBUyBuZXdfdGFibGUKK0ZPUiBFQUNIIFNUQVRFTUVOVCBFWEVDVVRFIFBST0NFRFVS RSBkdW1wX3RyaWdnZXIoZmFsc2UsIHRydWUpOworCitDUkVBVEUgVFJJR0dFUiBmcG9fYWZ0ZXJf dXBkYXRlX3N0bXQKK0FGVEVSIFVQREFURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitSRUZFUkVO Q0lORyBORVcgVEFCTEUgQVMgbmV3X3RhYmxlIE9MRCBUQUJMRSBBUyBvbGRfdGFibGUKK0ZPUiBF QUNIIFNUQVRFTUVOVCBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdnZXIodHJ1ZSwgdHJ1ZSk7 CisKK0NSRUFURSBUUklHR0VSIGZwb19hZnRlcl9kZWxldGVfc3RtdAorQUZURVIgREVMRVRFIE9O IGZvcl9wb3J0aW9uX29mX3Rlc3QKK1JFRkVSRU5DSU5HIE9MRCBUQUJMRSBBUyBvbGRfdGFibGUK K0ZPUiBFQUNIIFNUQVRFTUVOVCBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdnZXIodHJ1ZSwg ZmFsc2UpOworCistLSByb3cgdHJpZ2dlcnM6CisKK0NSRUFURSBUUklHR0VSIGZwb19iZWZvcmVf cm93CitCRUZPUkUgSU5TRVJUIE9SIFVQREFURSBPUiBERUxFVEUgT04gZm9yX3BvcnRpb25fb2Zf dGVzdAorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxzZSwg ZmFsc2UpOworCitDUkVBVEUgVFJJR0dFUiBmcG9fYWZ0ZXJfaW5zZXJ0X3JvdworQUZURVIgSU5T RVJUIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK1JFRkVSRU5DSU5HIE5FVyBUQUJMRSBBUyBuZXdf dGFibGUKK0ZPUiBFQUNIIFJPVyBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdnZXIoZmFsc2Us IHRydWUpOworCitDUkVBVEUgVFJJR0dFUiBmcG9fYWZ0ZXJfdXBkYXRlX3JvdworQUZURVIgVVBE QVRFIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK1JFRkVSRU5DSU5HIE9MRCBUQUJMRSBBUyBvbGRf dGFibGUgTkVXIFRBQkxFIEFTIG5ld190YWJsZQorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VE VVJFIGR1bXBfdHJpZ2dlcih0cnVlLCB0cnVlKTsKKworQ1JFQVRFIFRSSUdHRVIgZnBvX2FmdGVy X2RlbGV0ZV9yb3cKK0FGVEVSIERFTEVURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitSRUZFUkVO Q0lORyBPTEQgVEFCTEUgQVMgb2xkX3RhYmxlCitGT1IgRUFDSCBST1cgRVhFQ1VURSBQUk9DRURV UkUgZHVtcF90cmlnZ2VyKHRydWUsIGZhbHNlKTsKKworQkVHSU47CitVUERBVEUgZm9yX3BvcnRp b25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTE1JyBU TyAnMjAxOS0wMS0wMScKKyAgU0VUIG5hbWUgPSAnMjAxOC0wMS0xNV90b18yMDE5LTAxLTAxJzsK K1JPTExCQUNLOworCitCRUdJTjsKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSBOVUxMIFRPICcyMDE4LTAxLTIxJzsKK1JPTExC QUNLOworCitCRUdJTjsKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gTlVMTCBUTyAnMjAxOC0wMS0wMicKKyAgU0VUIG5hbWUgPSAnTlVM TF90b18yMDE4LTAxLTAxJzsKK1JPTExCQUNLOworCistLSBEZWZlcnJlZCB0cmlnZ2VycworLS0g KG11c3QgYmUgQ09OU1RSQUlOVCB0cmlnZ2VycyB0aHVzIEFGVEVSIFJPVyB3aXRoIG5vIHRyYW5z aXRpb24gdGFibGVzKQorCitEUk9QIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3Q7CitDUkVBVEUg VEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdCAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQg ZGF0ZXJhbmdlLAorICBuYW1lIHRleHQKKyk7CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90 ZXN0IChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUworICAoJ1sxLDIpJywgJ1syMDE4LTAxLTAx LDIwMjAtMDEtMDEpJywgJ29uZScpOworCitDUkVBVEUgQ09OU1RSQUlOVCBUUklHR0VSIGZwb19h ZnRlcl9pbnNlcnRfcm93CitBRlRFUiBJTlNFUlQgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorREVG RVJSQUJMRSBJTklUSUFMTFkgREVGRVJSRUQKK0ZPUiBFQUNIIFJPVyBFWEVDVVRFIFBST0NFRFVS RSBkdW1wX3RyaWdnZXIoZmFsc2UsIGZhbHNlKTsKKworQ1JFQVRFIENPTlNUUkFJTlQgVFJJR0dF UiBmcG9fYWZ0ZXJfdXBkYXRlX3JvdworQUZURVIgVVBEQVRFIE9OIGZvcl9wb3J0aW9uX29mX3Rl c3QKK0RFRkVSUkFCTEUgSU5JVElBTExZIERFRkVSUkVECitGT1IgRUFDSCBST1cgRVhFQ1VURSBQ Uk9DRURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCBmYWxzZSk7CisKK0NSRUFURSBDT05TVFJBSU5U IFRSSUdHRVIgZnBvX2FmdGVyX2RlbGV0ZV9yb3cKK0FGVEVSIERFTEVURSBPTiBmb3JfcG9ydGlv bl9vZl90ZXN0CitERUZFUlJBQkxFIElOSVRJQUxMWSBERUZFUlJFRAorRk9SIEVBQ0ggUk9XIEVY RUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxzZSwgZmFsc2UpOworCitCRUdJTjsKK1VQ REFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMTgtMDEtMTUnIFRPICcyMDE5LTAxLTAxJworICBTRVQgbmFtZSA9ICcyMDE4LTAxLTE1X3Rv XzIwMTktMDEtMDEnOworQ09NTUlUOworCitCRUdJTjsKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9u X29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSBOVUxMIFRPICcyMDE4LTAx LTIxJzsKK0NPTU1JVDsKKworQkVHSU47CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIE5VTEwgVE8gJzIwMTgtMDEtMDInCisgIFNFVCBu YW1lID0gJ05VTExfdG9fMjAxOC0wMS0wMSc7CitDT01NSVQ7CisKK1NFTEVDVCAqIEZST00gZm9y X3BvcnRpb25fb2ZfdGVzdDsKKworLS0gdGVzdCBGT1IgUE9SVElPTiBPRiBmcm9tIHRyaWdnZXJz IGR1cmluZyBGT1IgUE9SVElPTiBPRjoKKworRFJPUCBUQUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0 OworQ1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QgKAorICBpZCBpbnQ0cmFuZ2UsCisg IHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgbmFtZSB0ZXh0CispOworSU5TRVJUIElOVE8gZm9yX3Bv cnRpb25fb2ZfdGVzdCAoaWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMKKyAgKCdbMSwyKScsICdb MjAxOC0wMS0wMSwyMDIwLTAxLTAxKScsICdvbmUnKSwKKyAgKCdbMiwzKScsICdbMjAxOC0wMS0w MSwyMDIwLTAxLTAxKScsICd0d28nKSwKKyAgKCdbMyw0KScsICdbMjAxOC0wMS0wMSwyMDIwLTAx LTAxKScsICd0aHJlZScpLAorICAoJ1s0LDUpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJywg J2ZvdXInKTsKKworQ1JFQVRFIEZVTkNUSU9OIHRyZ19mcG9fdXBkYXRlKCkKK1JFVFVSTlMgVFJJ R0dFUiBMQU5HVUFHRSBwbHBnc3FsIEFTCiskJAorQkVHSU4KKyAgSUYgcGdfdHJpZ2dlcl9kZXB0 aCgpID0gMSBUSEVOCisgICAgVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgICAgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDItMDEnIFRPICcyMDE4LTAzLTAxJworICAg ICAgU0VUIG5hbWUgPSBDT05DQVQobmFtZSwgJ14nKQorICAgICAgV0hFUkUgaWQgPSBPTEQuaWQ7 CisgIEVORCBJRjsKKyAgUkVUVVJOIENBU0UgV0hFTiAnVEdfT1AnID0gJ0RFTEVURScgVEhFTiBP TEQgRUxTRSBORVcgRU5EOworRU5EOworJCQ7CisKK0NSRUFURSBGVU5DVElPTiB0cmdfZnBvX2Rl bGV0ZSgpCitSRVRVUk5TIFRSSUdHRVIgTEFOR1VBR0UgcGxwZ3NxbCBBUworJCQKK0JFR0lOCisg IElGIHBnX3RyaWdnZXJfZGVwdGgoKSA9IDEgVEhFTgorICAgIERFTEVURSBGUk9NIGZvcl9wb3J0 aW9uX29mX3Rlc3QKKyAgICAgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDMt MDEnIFRPICcyMDE4LTA0LTAxJworICAgICAgV0hFUkUgaWQgPSBPTEQuaWQ7CisgIEVORCBJRjsK KyAgUkVUVVJOIENBU0UgV0hFTiAnVEdfT1AnID0gJ0RFTEVURScgVEhFTiBPTEQgRUxTRSBORVcg RU5EOworRU5EOworJCQ7CisKKy0tIFVQREFURSBGT1IgUE9SVElPTiBPRiBmcm9tIGEgdHJpZ2dl ciBmaXJlZCBieSBVUERBVEUgRk9SIFBPUlRJT04gT0YKKworQ1JFQVRFIFRSSUdHRVIgZnBvX2Fm dGVyX3VwZGF0ZV9yb3cKK0FGVEVSIFVQREFURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitGT1Ig RUFDSCBST1cgRVhFQ1VURSBQUk9DRURVUkUgdHJnX2Zwb191cGRhdGUoKTsKKworVVBEQVRFIGZv cl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0w NS0wMScgVE8gJzIwMTgtMDYtMDEnCisgIFNFVCBuYW1lID0gQ09OQ0FUKG5hbWUsICcqJykKKyAg V0hFUkUgaWQgPSAnWzEsMiknOworCitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3Qg V0hFUkUgaWQgPSAnWzEsMiknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworRFJPUCBUUklHR0VS IGZwb19hZnRlcl91cGRhdGVfcm93IE9OIGZvcl9wb3J0aW9uX29mX3Rlc3Q7CisKKy0tIFVQREFU RSBGT1IgUE9SVElPTiBPRiBmcm9tIGEgdHJpZ2dlciBmaXJlZCBieSBERUxFVEUgRk9SIFBPUlRJ T04gT0YKKworQ1JFQVRFIFRSSUdHRVIgZnBvX2FmdGVyX2RlbGV0ZV9yb3cKK0FGVEVSIERFTEVU RSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitGT1IgRUFDSCBST1cgRVhFQ1VURSBQUk9DRURVUkUg dHJnX2Zwb191cGRhdGUoKTsKKworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTA1LTAxJyBUTyAnMjAxOC0wNi0wMScK KyAgV0hFUkUgaWQgPSAnWzIsMyknOworCitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rl c3QgV0hFUkUgaWQgPSAnWzIsMyknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworRFJPUCBUUklH R0VSIGZwb19hZnRlcl9kZWxldGVfcm93IE9OIGZvcl9wb3J0aW9uX29mX3Rlc3Q7CisKKy0tIERF TEVURSBGT1IgUE9SVElPTiBPRiBmcm9tIGEgdHJpZ2dlciBmaXJlZCBieSBVUERBVEUgRk9SIFBP UlRJT04gT0YKKworQ1JFQVRFIFRSSUdHRVIgZnBvX2FmdGVyX3VwZGF0ZV9yb3cKK0FGVEVSIFVQ REFURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitGT1IgRUFDSCBST1cgRVhFQ1VURSBQUk9DRURV UkUgdHJnX2Zwb19kZWxldGUoKTsKKworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wNS0wMScgVE8gJzIwMTgtMDYtMDEnCisg IFNFVCBuYW1lID0gQ09OQ0FUKG5hbWUsICcqJykKKyAgV0hFUkUgaWQgPSAnWzMsNCknOworCitT RUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQgPSAnWzMsNCknIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKworRFJPUCBUUklHR0VSIGZwb19hZnRlcl91cGRhdGVfcm93IE9O IGZvcl9wb3J0aW9uX29mX3Rlc3Q7CisKKy0tIERFTEVURSBGT1IgUE9SVElPTiBPRiBmcm9tIGEg dHJpZ2dlciBmaXJlZCBieSBERUxFVEUgRk9SIFBPUlRJT04gT0YKKworQ1JFQVRFIFRSSUdHRVIg ZnBvX2FmdGVyX2RlbGV0ZV9yb3cKK0FGVEVSIERFTEVURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0 CitGT1IgRUFDSCBST1cgRVhFQ1VURSBQUk9DRURVUkUgdHJnX2Zwb19kZWxldGUoKTsKKworREVM RVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDE4LTA1LTAxJyBUTyAnMjAxOC0wNi0wMScKKyAgV0hFUkUgaWQgPSAnWzQsNSknOwor CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQgPSAnWzQsNSknIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKworRFJPUCBUUklHR0VSIGZwb19hZnRlcl9kZWxldGVfcm93 IE9OIGZvcl9wb3J0aW9uX29mX3Rlc3Q7CisKKy0tIFRlc3Qgd2l0aCBtdWx0aXJhbmdlcworCitD UkVBVEUgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIgKAorICBpZCBpbnQ0cmFuZ2UgTk9UIE5V TEwsCisgIHZhbGlkX2F0IGRhdGVtdWx0aXJhbmdlIE5PVCBOVUxMLAorICBuYW1lIHRleHQgTk9U IE5VTEwsCisgIENPTlNUUkFJTlQgZm9yX3BvcnRpb25fb2ZfdGVzdDJfcGsgUFJJTUFSWSBLRVkg KGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0 aW9uX29mX3Rlc3QyIChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUworICAoJ1sxLDIpJywgZGF0 ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAyJywgJzIwMTgtMDItMDMpJyksIGRhdGVy YW5nZSgnMjAxOC0wMi0wNCcsICcyMDE4LTAzLTAzJykpLCAnb25lJyksCisgICgnWzEsMiknLCBk YXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDMtMDMnLCAnMjAxOC0wNC0wNCknKSksICdv bmUnKSwKKyAgKCdbMiwzKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScs ICcyMDE4LTA1LTAxKScpKSwgJ3R3bycpLAorICAoJ1szLDQpJywgZGF0ZW11bHRpcmFuZ2UoZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgbnVsbCkpLCAndGhyZWUnKTsKKyAgOworCitVUERBVEUgZm9y X3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJh bmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0xMCcsICcyMDE4LTAyLTEwJyksIGRhdGVyYW5nZSgnMjAx OC0wMy0wNScsICcyMDE4LTA1LTAxJykpKQorICBTRVQgbmFtZSA9ICdvbmVeMScKKyAgV0hFUkUg aWQgPSAnWzEsMiknOworCitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0MgorICBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTE1 JywgJzIwMTgtMDItMTUnKSwgZGF0ZXJhbmdlKCcyMDE4LTAzLTAxJywgJzIwMTgtMDMtMTUnKSkp CisgIFdIRVJFIGlkID0gJ1syLDMpJzsKKworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90 ZXN0MiBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKK0RST1AgVEFCTEUgZm9yX3BvcnRpb25fb2Zf dGVzdDI7CisKKy0tIFRlc3Qgd2l0aCBhIGN1c3RvbSByYW5nZSB0eXBlCisKK0NSRUFURSBUWVBF IG15ZGF0ZXJhbmdlIEFTIHJhbmdlKHN1YnR5cGU9ZGF0ZSk7CisKK0NSRUFURSBUQUJMRSBmb3Jf cG9ydGlvbl9vZl90ZXN0MiAoCisgIGlkIGludDRyYW5nZSBOT1QgTlVMTCwKKyAgdmFsaWRfYXQg bXlkYXRlcmFuZ2UgTk9UIE5VTEwsCisgIG5hbWUgdGV4dCBOT1QgTlVMTCwKKyAgQ09OU1RSQUlO VCBmb3JfcG9ydGlvbl9vZl90ZXN0Ml9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhP VVQgT1ZFUkxBUFMpCispOworSU5TRVJUIElOVE8gZm9yX3BvcnRpb25fb2ZfdGVzdDIgKGlkLCB2 YWxpZF9hdCwgbmFtZSkgVkFMVUVTCisgICgnWzEsMiknLCAnWzIwMTgtMDEtMDIsMjAxOC0wMi0w MyknLCAnb25lJyksCisgICgnWzEsMiknLCAnWzIwMTgtMDItMDMsMjAxOC0wMy0wMyknLCAnb25l JyksCisgICgnWzEsMiknLCAnWzIwMTgtMDMtMDMsMjAxOC0wNC0wNCknLCAnb25lJyksCisgICgn WzIsMyknLCAnWzIwMTgtMDEtMDEsMjAxOC0wNS0wMSknLCAndHdvJyksCisgICgnWzMsNCknLCAn WzIwMTgtMDEtMDEsKScsICd0aHJlZScpOworICA7CisKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90 ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTEwJyBUTyAnMjAx OC0wMi0xMCcKKyAgU0VUIG5hbWUgPSAnb25lXjEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKwor REVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAxOC0wMS0xNScgVE8gJzIwMTgtMDItMTUnCisgIFdIRVJFIGlkID0gJ1syLDMp JzsKKworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0MiBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CisKK0RST1AgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDI7CitEUk9QIFRZUEUgbXlk YXRlcmFuZ2U7CisKKy0tIFRlc3QgRk9SIFBPUlRJT04gT0YgYWdhaW5zdCBhIHBhcnRpdGlvbmVk IHRhYmxlLgorLS0gdGVtcG9yYWxfcGFydGl0aW9uZWRfMSBoYXMgdGhlIHNhbWUgYXR0bnVtcyBh cyB0aGUgcm9vdAorLS0gdGVtcG9yYWxfcGFydGl0aW9uZWRfMyBoYXMgdGhlIGRpZmZlcmVudCBh dHRudW1zIGZyb20gdGhlIHJvb3QKKy0tIHRlbXBvcmFsX3BhcnRpdGlvbmVkXzUgaGFzIHRoZSBk aWZmZXJlbnQgYXR0bnVtcyB0b28sIGJ1dCByZXZlcnNlZAorCitDUkVBVEUgVEFCTEUgdGVtcG9y YWxfcGFydGl0aW9uZWQgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwK KyAgbmFtZSB0ZXh0LAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3Bhcml0aW9uZWRfdXEgVU5JUVVF IChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKykgUEFSVElUSU9OIEJZIExJU1QgKGlk KTsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF8xIFBBUlRJVElPTiBPRiB0ZW1w b3JhbF9wYXJ0aXRpb25lZCBGT1IgVkFMVUVTIElOICgnWzEsMiknLCAnWzIsMyknKTsKK0NSRUFU RSBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF8zIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0 aXRpb25lZCBGT1IgVkFMVUVTIElOICgnWzMsNCknLCAnWzQsNSknKTsKK0NSRUFURSBUQUJMRSB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF81IFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBG T1IgVkFMVUVTIElOICgnWzUsNiknLCAnWzYsNyknKTsKKworQUxURVIgVEFCTEUgdGVtcG9yYWxf cGFydGl0aW9uZWQgREVUQUNIIFBBUlRJVElPTiB0ZW1wb3JhbF9wYXJ0aXRpb25lZF8zOworQUxU RVIgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfMyBEUk9QIENPTFVNTiBpZCwgRFJPUCBDT0xV TU4gdmFsaWRfYXQ7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF8zIEFERCBDT0xV TU4gaWQgaW50NHJhbmdlIE5PVCBOVUxMLCBBREQgQ09MVU1OIHZhbGlkX2F0IGRhdGVyYW5nZSBO T1QgTlVMTDsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkIEFUVEFDSCBQQVJUSVRJ T04gdGVtcG9yYWxfcGFydGl0aW9uZWRfMyBGT1IgVkFMVUVTIElOICgnWzMsNCknLCAnWzQsNSkn KTsKKworQUxURVIgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWQgREVUQUNIIFBBUlRJVElPTiB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF81OworQUxURVIgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRf NSBEUk9QIENPTFVNTiBpZCwgRFJPUCBDT0xVTU4gdmFsaWRfYXQ7CitBTFRFUiBUQUJMRSB0ZW1w b3JhbF9wYXJ0aXRpb25lZF81IEFERCBDT0xVTU4gdmFsaWRfYXQgZGF0ZXJhbmdlIE5PVCBOVUxM LCBBREQgQ09MVU1OIGlkIGludDRyYW5nZSBOT1QgTlVMTDsKK0FMVEVSIFRBQkxFIHRlbXBvcmFs X3BhcnRpdGlvbmVkIEFUVEFDSCBQQVJUSVRJT04gdGVtcG9yYWxfcGFydGl0aW9uZWRfNSBGT1Ig VkFMVUVTIElOICgnWzUsNiknLCAnWzYsNyknKTsKKworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFy dGl0aW9uZWQgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVTCisgICgnWzEsMiknLCBkYXRlcmFu Z2UoJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpLCAnb25lJyksCisgICgnWzMsNCknLCBkYXRl cmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpLCAndGhyZWUnKSwKKyAgKCdbNSw2KScs IGRhdGVyYW5nZSgnMjAwMC0wMS0wMScsICcyMDEwLTAxLTAxJyksICdmaXZlJyk7CisKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWQ7CisKKy0tIFVwZGF0ZSB3aXRob3V0IG1vdmlu ZyB3aXRoaW4gcGFydGl0aW9uIDEKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAzLTAxJyBUTyAnMjAwMC0wNC0wMScKKyAgU0VU IG5hbWUgPSAnb25lXjEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworLS0gVXBkYXRlIHdpdGhv dXQgbW92aW5nIHdpdGhpbiBwYXJ0aXRpb24gMworVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVk IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDMtMDEnIFRPICcyMDAwLTA0LTAx JworICBTRVQgbmFtZSA9ICd0aHJlZV4xJworICBXSEVSRSBpZCA9ICdbMyw0KSc7CisKKy0tIFVw ZGF0ZSB3aXRob3V0IG1vdmluZyB3aXRoaW4gcGFydGl0aW9uIDUKK1VQREFURSB0ZW1wb3JhbF9w YXJ0aXRpb25lZCBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAzLTAxJyBUTyAn MjAwMC0wNC0wMScKKyAgU0VUIG5hbWUgPSAnZml2ZV4xJworICBXSEVSRSBpZCA9ICdbNSw2KSc7 CisKKy0tIE1vdmUgZnJvbSBwYXJ0aXRpb24gMSB0byBwYXJ0aXRpb24gMworVVBEQVRFIHRlbXBv cmFsX3BhcnRpdGlvbmVkIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDYtMDEn IFRPICcyMDAwLTA3LTAxJworICBTRVQgbmFtZSA9ICdvbmVeMicsCisgICAgICBpZCA9ICdbNCw1 KScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCistLSBNb3ZlIGZyb20gcGFydGl0aW9uIDMgdG8g cGFydGl0aW9uIDEKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDAwLTA2LTAxJyBUTyAnMjAwMC0wNy0wMScKKyAgU0VUIG5hbWUgPSAn dGhyZWVeMicsCisgICAgICBpZCA9ICdbMiwzKScKKyAgV0hFUkUgaWQgPSAnWzMsNCknOworCist LSBNb3ZlIGZyb20gcGFydGl0aW9uIDUgdG8gcGFydGl0aW9uIDMKK1VQREFURSB0ZW1wb3JhbF9w YXJ0aXRpb25lZCBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTA2LTAxJyBUTyAn MjAwMC0wNy0wMScKKyAgU0VUIG5hbWUgPSAnZml2ZV4yJywKKyAgICAgIGlkID0gJ1szLDQpJwor ICBXSEVSRSBpZCA9ICdbNSw2KSc7CisKKy0tIFVwZGF0ZSBhbGwgcGFydGl0aW9ucyBhdCBvbmNl IChlYWNoIHdpdGggbGVmdG92ZXJzKQorCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlv bmVkIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0 aW9uZWRfMSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3Bh cnRpdGlvbmVkXzMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworU0VMRUNUICogRlJPTSB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF81IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworRFJPUCBUQUJMRSB0ZW1w b3JhbF9wYXJ0aXRpb25lZDsKKworUkVTRVQgZGF0ZXN0eWxlOwpkaWZmIC0tZ2l0IGEvc3JjL3Rl c3QvcmVncmVzcy9zcWwvcHJpdmlsZWdlcy5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wcml2 aWxlZ2VzLnNxbAppbmRleCA5NmVmZjExMDRkMi4uYWU1N2YyMzMzMTQgMTAwNjQ0Ci0tLSBhL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3ByaXZpbGVnZXMuc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mv c3FsL3ByaXZpbGVnZXMuc3FsCkBAIC03NjUsNiArNzY1LDI0IEBAIFVQREFURSBlcnJ0c3QgU0VU IGEgPSAnYWFhYScsIGIgPSBOVUxMIFdIRVJFIGEgPSAnYWFhJzsKIFNFVCBTRVNTSU9OIEFVVEhP UklaQVRJT04gcmVncmVzc19wcml2X3VzZXIxOwogRFJPUCBUQUJMRSBlcnJ0c3Q7CiAKKy0tIHRl c3QgY29sdW1uLWxldmVsIHByaXZpbGVnZXMgb24gdGhlIHJhbmdlIHVzZWQgaW4gRk9SIFBPUlRJ T04gT0YKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19wcml2X3VzZXIxOworQ1JF QVRFIFRBQkxFIHQxICgKKyAgYzEgaW50NHJhbmdlLAorICB2YWxpZF9hdCB0c3JhbmdlLAorCUNP TlNUUkFJTlQgdDFwayBQUklNQVJZIEtFWSAoYzEsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMp CispOworR1JBTlQgU0VMRUNUIE9OIHQxIFRPIHJlZ3Jlc3NfcHJpdl91c2VyMjsKK0dSQU5UIFNF TEVDVCBPTiB0MSBUTyByZWdyZXNzX3ByaXZfdXNlcjM7CitHUkFOVCBVUERBVEUgKGMxKSBPTiB0 MSBUTyByZWdyZXNzX3ByaXZfdXNlcjI7CitHUkFOVCBVUERBVEUgKGMxLCB2YWxpZF9hdCkgT04g dDEgVE8gcmVncmVzc19wcml2X3VzZXIzOworU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdy ZXNzX3ByaXZfdXNlcjI7CitVUERBVEUgdDEgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAwMC0wMS0wMScgVE8gJzIwMDEtMDEtMDEnIFNFVCBjMSA9ICdbMiwzKSc7CitTRVQgU0VTU0lP TiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMzsKK1VQREFURSB0MSBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAxLTAxJyBUTyAnMjAwMS0wMS0wMScgU0VUIGMxID0g J1syLDMpJzsKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19wcml2X3VzZXIxOwor RFJPUCBUQUJMRSB0MTsKKwogLS0gdGVzdCBjb2x1bW4tbGV2ZWwgcHJpdmlsZWdlcyB3aGVuIGlu dm9sdmVkIHdpdGggREVMRVRFCiBTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJp dl91c2VyMTsKIEFMVEVSIFRBQkxFIGF0ZXN0NiBBREQgQ09MVU1OIHRocmVlIGludGVnZXI7CmRp ZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC91cGRhdGFibGVfdmlld3Muc3FsIGIvc3Jj L3Rlc3QvcmVncmVzcy9zcWwvdXBkYXRhYmxlX3ZpZXdzLnNxbAppbmRleCBjMDcxZmZmYzExNi4u ZThjMDRlM2FkOTEgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3VwZGF0YWJsZV92 aWV3cy5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdXBkYXRhYmxlX3ZpZXdzLnNxbApA QCAtMTg4MSw2ICsxODgxLDIwIEBAIHNlbGVjdCAqIGZyb20gdXZfaW9jdV90YWI7CiBkcm9wIHZp ZXcgdXZfaW9jdV92aWV3OwogZHJvcCB0YWJsZSB1dl9pb2N1X3RhYjsKIAorLS0gQ2hlY2sgVVBE QVRFIEZPUiBQT1JUSU9OIE9GIHdvcmtzIGNvcnJlY3RseQorY3JlYXRlIHRhYmxlIHV2X2Zwb190 YWIgKGlkIGludDRyYW5nZSwgdmFsaWRfYXQgdHNyYW5nZSwgYiBmbG9hdCwKKyAgICBjb25zdHJh aW50IHBrX3V2X2Zwb190YWIgcHJpbWFyeSBrZXkgKGlkLCB2YWxpZF9hdCB3aXRob3V0IG92ZXJs YXBzKSk7CitpbnNlcnQgaW50byB1dl9mcG9fdGFiIHZhbHVlcyAoJ1sxLDFdJywgJ1syMDIwLTAx LTAxLCAyMDMwLTAxLTAxKScsIDApOworY3JlYXRlIHZpZXcgdXZfZnBvX3ZpZXcgYXMKKyAgICBz ZWxlY3QgYiwgYisxIGFzIGMsIHZhbGlkX2F0LCBpZCwgJzIuMCc6OnRleHQgYXMgdHdvIGZyb20g dXZfZnBvX3RhYjsKKworaW5zZXJ0IGludG8gdXZfZnBvX3ZpZXcgKGlkLCB2YWxpZF9hdCwgYikg dmFsdWVzICgnWzEsMV0nLCAnWzIwMTAtMDEtMDEsIDIwMjAtMDEtMDEpJywgMSk7CitzZWxlY3Qg KiBmcm9tIHV2X2Zwb192aWV3OwordXBkYXRlIHV2X2Zwb192aWV3IGZvciBwb3J0aW9uIG9mIHZh bGlkX2F0IGZyb20gJzIwMTUtMDEtMDEnIHRvICcyMDIwLTAxLTAxJyBzZXQgYiA9IDIgd2hlcmUg aWQgPSAnWzEsMV0nOworc2VsZWN0ICogZnJvbSB1dl9mcG9fdmlldzsKK2RlbGV0ZSBmcm9tIHV2 X2Zwb192aWV3IGZvciBwb3J0aW9uIG9mIHZhbGlkX2F0IGZyb20gJzIwMTctMDEtMDEnIHRvICcy MDIyLTAxLTAxJyB3aGVyZSBpZCA9ICdbMSwxXSc7CitzZWxlY3QgKiBmcm9tIHV2X2Zwb192aWV3 OworCiAtLSBUZXN0IHdob2xlLXJvdyByZWZlcmVuY2VzIHRvIHRoZSB2aWV3CiBjcmVhdGUgdGFi bGUgdXZfaW9jdV90YWIgKGEgaW50IHVuaXF1ZSwgYiB0ZXh0KTsKIGNyZWF0ZSB2aWV3IHV2X2lv Y3VfdmlldyBhcwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvd2l0aG91dF9vdmVy bGFwcy5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC93aXRob3V0X292ZXJsYXBzLnNxbAppbmRl eCA0YWFjYTI0MmJiZS4uYzVjODlmZTQwYWIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mv c3FsL3dpdGhvdXRfb3ZlcmxhcHMuc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3dpdGhv dXRfb3ZlcmxhcHMuc3FsCkBAIC0yLDcgKzIsNyBAQAogLS0KIC0tIFdlIGxlYXZlIGJlaGluZCBz ZXZlcmFsIHRhYmxlcyB0byB0ZXN0IHBnX2R1bXAgZXRjOgogLS0gdGVtcG9yYWxfcm5nLCB0ZW1w b3JhbF9ybmcyLAotLS0gdGVtcG9yYWxfZmtfcm5nMnJuZy4KKy0tIHRlbXBvcmFsX2ZrX3JuZzJy bmcsIHRlbXBvcmFsX2ZrMl9ybmcycm5nLgogCiBTRVQgZGF0ZXN0eWxlIFRPIElTTywgWU1EOwog CkBAIC02MzIsNiArNjMyLDIwIEBAIElOU0VSVCBJTlRPIHRlbXBvcmFsMyAoaWQsIHZhbGlkX2F0 LCBpZDIsIG5hbWUpCiAgICgnWzEsMiknLCBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAxMC0w MS0wMScpLCAnWzcsOCknLCAnZm9vJyksCiAgICgnWzIsMyknLCBkYXRlcmFuZ2UoJzIwMDAtMDEt MDEnLCAnMjAxMC0wMS0wMScpLCAnWzksMTApJywgJ2JhcicpCiA7CitVUERBVEUgdGVtcG9yYWwz IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDUtMDEnIFRPICcyMDAwLTA3LTAx JworICBTRVQgbmFtZSA9IG5hbWUgfHwgJzEnOworVVBEQVRFIHRlbXBvcmFsMyBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTA0LTAxJyBUTyAnMjAwMC0wNi0wMScKKyAgU0VUIG5h bWUgPSBuYW1lIHx8ICcyJworICBXSEVSRSBpZCA9ICdbMiwzKSc7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsMyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBjb25mbGljdGluZyBpZCBvbmx5Ogor SU5TRVJUIElOVE8gdGVtcG9yYWwzIChpZCwgdmFsaWRfYXQsIGlkMiwgbmFtZSkKKyAgVkFMVUVT CisgICgnWzEsMiknLCBkYXRlcmFuZ2UoJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpLCAnWzgs OSknLCAnZm9vMycpOworLS0gY29uZmxpY3RpbmcgaWQyIG9ubHk6CitJTlNFUlQgSU5UTyB0ZW1w b3JhbDMgKGlkLCB2YWxpZF9hdCwgaWQyLCBuYW1lKQorICBWQUxVRVMKKyAgKCdbMyw0KScsIGRh dGVyYW5nZSgnMjAwNS0wMS0wMScsICcyMDEwLTAxLTAxJyksICdbOSwxMCknLCAnYmFyMycpOwog RFJPUCBUQUJMRSB0ZW1wb3JhbDM7CiAKIC0tCkBAIC02NjcsOSArNjgxLDIzIEBAIElOU0VSVCBJ TlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkIChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUwogICAo J1sxLDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMDAtMDItMDEnKSwgJ29uZScpLAog ICAoJ1sxLDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAyLTAxJywgJzIwMDAtMDMtMDEnKSwgJ29uZScp LAogICAoJ1szLDQpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMTAtMDEtMDEnKSwgJ3Ro cmVlJyk7Ci1TRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkIE9SREVSIEJZIGlkLCB2 YWxpZF9hdDsKLVNFTEVDVCAqIEZST00gdHAxIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKLVNFTEVD VCAqIEZST00gdHAyIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK1NFTEVDVCB0YWJsZW9pZDo6cmVn Y2xhc3MsICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CitVUERBVEUgIHRlbXBvcmFsX3BhcnRpdGlvbmVkCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMDAtMDEtMTUnIFRPICcyMDAwLTAyLTE1JworICBTRVQgbmFtZSA9ICdvbmUyJwor ICBXSEVSRSBpZCA9ICdbMSwyKSc7CitVUERBVEUgIHRlbXBvcmFsX3BhcnRpdGlvbmVkCisgIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDItMjAnIFRPICcyMDAwLTAyLTI1Jwor ICBTRVQgaWQgPSAnWzQsNSknCisgIFdIRVJFIG5hbWUgPSAnb25lJzsKK1VQREFURSAgdGVtcG9y YWxfcGFydGl0aW9uZWQKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMi0wMS0w MScgVE8gJzIwMDMtMDEtMDEnCisgIFNFVCBpZCA9ICdbMiwzKScKKyAgV0hFUkUgbmFtZSA9ICd0 aHJlZSc7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZAorICBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDAwLTAxLTE1JyBUTyAnMjAwMC0wMi0xNScKKyAgV0hFUkUgaWQg PSAnWzMsNCknOworU0VMRUNUIHRhYmxlb2lkOjpyZWdjbGFzcywgKiBGUk9NIHRlbXBvcmFsX3Bh cnRpdGlvbmVkIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKIERST1AgVEFCTEUgdGVtcG9yYWxfcGFy dGl0aW9uZWQ7CiAKIC0tIHRlbXBvcmFsIFVOSVFVRToKQEAgLTY4NSw5ICs3MTMsMjMgQEAgSU5T RVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWQgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVT CiAgICgnWzEsMiknLCBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAwMC0wMi0wMScpLCAnb25l JyksCiAgICgnWzEsMiknLCBkYXRlcmFuZ2UoJzIwMDAtMDItMDEnLCAnMjAwMC0wMy0wMScpLCAn b25lJyksCiAgICgnWzMsNCknLCBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScp LCAndGhyZWUnKTsKLVNFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWQgT1JERVIgQlkg aWQsIHZhbGlkX2F0OwotU0VMRUNUICogRlJPTSB0cDEgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owot U0VMRUNUICogRlJPTSB0cDIgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworU0VMRUNUIHRhYmxlb2lk OjpyZWdjbGFzcywgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKK1VQREFURSAgdGVtcG9yYWxfcGFydGl0aW9uZWQKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAwMC0wMS0xNScgVE8gJzIwMDAtMDItMTUnCisgIFNFVCBuYW1lID0gJ29u ZTInCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKK1VQREFURSAgdGVtcG9yYWxfcGFydGl0aW9uZWQK KyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0wMi0yMCcgVE8gJzIwMDAtMDIt MjUnCisgIFNFVCBpZCA9ICdbNCw1KScKKyAgV0hFUkUgbmFtZSA9ICdvbmUnOworVVBEQVRFICB0 ZW1wb3JhbF9wYXJ0aXRpb25lZAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAy LTAxLTAxJyBUTyAnMjAwMy0wMS0wMScKKyAgU0VUIGlkID0gJ1syLDMpJworICBXSEVSRSBuYW1l ID0gJ3RocmVlJzsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkCisgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDEtMTUnIFRPICcyMDAwLTAyLTE1JworICBXSEVS RSBpZCA9ICdbMyw0KSc7CitTRUxFQ1QgdGFibGVvaWQ6OnJlZ2NsYXNzLCAqIEZST00gdGVtcG9y YWxfcGFydGl0aW9uZWQgT1JERVIgQlkgaWQsIHZhbGlkX2F0OwogRFJPUCBUQUJMRSB0ZW1wb3Jh bF9wYXJ0aXRpb25lZDsKIAogLS0gQUxURVIgVEFCTEUgUkVQTElDQSBJREVOVElUWQpAQCAtMTI5 MSw2ICsxMzMzLDE4IEBAIENPTU1JVDsKIC0tIGNoYW5naW5nIHRoZSBzY2FsYXIgcGFydCBmYWls czoKIFVQREFURSB0ZW1wb3JhbF9ybmcgU0VUIGlkID0gJ1s3LDgpJwogICBXSEVSRSBpZCA9ICdb NSw2KScgQU5EIHZhbGlkX2F0ID0gZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEn KTsKKy0tIGNoYW5naW5nIGFuIHVucmVmZXJlbmNlZCBwYXJ0IGlzIG9rYXk6CitVUERBVEUgdGVt cG9yYWxfcm5nCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMDInIFRP ICcyMDE4LTAxLTAzJworICBTRVQgaWQgPSAnWzcsOCknCisgIFdIRVJFIGlkID0gJ1s1LDYpJzsK Ky0tIGNoYW5naW5nIGp1c3QgYSBwYXJ0IGZhaWxzOgorVVBEQVRFIHRlbXBvcmFsX3JuZworICBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTA1JyBUTyAnMjAxOC0wMS0xMCcK KyAgU0VUIGlkID0gJ1s3LDgpJworICBXSEVSRSBpZCA9ICdbNSw2KSc7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX3JuZyBXSEVSRSBpZCBpbiAoJ1s1LDYpJywgJ1s3LDgpJykgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkIGlu ICgnWzMsNCknKSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CiAtLSB0aGVuIGRlbGV0ZSB0aGUgb2Jq ZWN0aW5nIEZLIHJlY29yZCBhbmQgdGhlIHNhbWUgUEsgdXBkYXRlIHN1Y2NlZWRzOgogREVMRVRF IEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMyw0KSc7CiBVUERBVEUgdGVt cG9yYWxfcm5nIFNFVCB2YWxpZF9hdCA9IGRhdGVyYW5nZSgnMjAxNi0wMS0wMScsICcyMDE2LTAy LTAxJykKQEAgLTEzMzgsNiArMTM5MiwxOCBAQCBCRUdJTjsKIAogICBERUxFVEUgRlJPTSB0ZW1w b3JhbF9ybmcgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9IGRhdGVyYW5nZSgnMjAx OC0wMS0wMScsICcyMDE4LTAyLTAxJyk7CiBDT01NSVQ7CistLSBkZWxldGluZyBhbiB1bnJlZmVy ZW5jZWQgcGFydCBpcyBva2F5OgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nCitGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTAyJyBUTyAnMjAxOC0wMS0wMycKK1dIRVJFIGlk ID0gJ1s1LDYpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkIGluICgnWzUs NiknLCAnWzcsOCknKSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX2ZrX3JuZzJybmcgV0hFUkUgaWQgaW4gKCdbMyw0KScpIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKKy0tIGRlbGV0aW5nIGp1c3QgYSBwYXJ0IGZhaWxzOgorREVMRVRFIEZST00gdGVtcG9yYWxf cm5nCitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTA1JyBUTyAnMjAxOC0w MS0xMCcKK1dIRVJFIGlkID0gJ1s1LDYpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcm5nIFdI RVJFIGlkIGluICgnWzUsNiknLCAnWzcsOCknKSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUgaWQgaW4gKCdbMyw0KScpIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKIC0tIHRoZW4gZGVsZXRlIHRoZSBvYmplY3RpbmcgRksgcmVjb3Jk IGFuZCB0aGUgc2FtZSBQSyBkZWxldGUgc3VjY2VlZHM6CiBERUxFVEUgRlJPTSB0ZW1wb3JhbF9m a19ybmcycm5nIFdIRVJFIGlkID0gJ1szLDQpJzsKIERFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBX SEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMTgtMDItMDEnKTsKQEAgLTEzNTYsMTIgKzE0MjIsMTMgQEAgQUxURVIgVEFCTEUgdGVtcG9y YWxfZmtfcm5nMnJuZwogICBPTiBERUxFVEUgUkVTVFJJQ1Q7CiAKIC0tCi0tLSB0ZXN0IE9OIFVQ REFURS9ERUxFVEUgb3B0aW9ucworLS0gcm5nMnJuZyB0ZXN0IE9OIFVQREFURS9ERUxFVEUgb3B0 aW9ucwogLS0KIAogLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQorVFJVTkNB VEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19ybmcycm5nOwogSU5TRVJUIElOVE8gdGVtcG9y YWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnKSk7Ci1JTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycm5nIChp ZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzQsNSknLCBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2Zr X3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknKTsKIEFMVEVSIFRB QkxFIHRlbXBvcmFsX2ZrX3JuZzJybmcKICAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5n MnJuZ19mawogICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKQEAg LTEzNjksOCArMTQzNiw5IEBAIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJybmcKICAgICBP TiBERUxFVEUgQ0FTQ0FERSBPTiBVUERBVEUgQ0FTQ0FERTsKIAogLS0gdGVzdCBGSyByZWZlcmVu Y2VkIHVwZGF0ZXMgU0VUIE5VTEwKLUlOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlk X2F0KSBWQUxVRVMgKCdbOSwxMCknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpKTsKLUlOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFy ZW50X2lkKSBWQUxVRVMgKCdbNiw3KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAx LTAxJyksICdbOSwxMCknKTsKK1RSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcm5n MnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdb Niw3KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAo J1sxMDAsMTAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3 KScpOwogQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnJuZwogICBBREQgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9ma19ybmcycm5nX2ZrCiAgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9E IHZhbGlkX2F0KQpAQCAtMTM3OCw5ICsxNDQ2LDEwIEBAIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2Zr X3JuZzJybmcKICAgICBPTiBERUxFVEUgU0VUIE5VTEwgT04gVVBEQVRFIFNFVCBOVUxMOwogCiAt LSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVAorVFJVTkNBVEUgdGVtcG9y YWxfcm5nLCB0ZW1wb3JhbF9ma19ybmcycm5nOwogSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChp ZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCBkYXRlcmFuZ2UobnVsbCwgbnVsbCkpOwot SU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxMiwxMykn LCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKLUlOU0VSVCBJTlRPIHRl bXBvcmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbOCw5 KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbMTIsMTMpJyk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCBk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEw MSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknKTsKIEFM VEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJybmcKICAgQUxURVIgQ09MVU1OIHBhcmVudF9pZCBT RVQgREVGQVVMVCAnWy0xLC0xXScsCiAgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJy bmdfZmsKQEAgLTE3MTYsNiArMTc4NSwyMCBAQCBCRUdJTjsKICAgV0hFUkUgaWQgPSAnWzUsNikn IEFORCB2YWxpZF9hdCA9IGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcy MDE4LTAyLTAxJykpOwogQ09NTUlUOwogLS0gY2hhbmdpbmcgdGhlIHNjYWxhciBwYXJ0IGZhaWxz OgorVVBEQVRFIHRlbXBvcmFsX21sdHJuZyBTRVQgaWQgPSAnWzcsOCknCisgIFdIRVJFIGlkID0g J1s1LDYpJyBBTkQgdmFsaWRfYXQgPSBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAxOC0wMi0wMScpKTsKKy0tIGNoYW5naW5nIGFuIHVucmVmZXJlbmNlZCBwYXJ0IGlz IG9rYXk6CitVUERBVEUgdGVtcG9yYWxfbWx0cm5nCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDInLCAnMjAxOC0wMS0wMycpKSkK KyAgU0VUIGlkID0gJ1s3LDgpJworICBXSEVSRSBpZCA9ICdbNSw2KSc7CistLSBjaGFuZ2luZyBq dXN0IGEgcGFydCBmYWlsczoKK1VQREFURSB0ZW1wb3JhbF9tbHRybmcKKyAgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wNScsICcyMDE4 LTAxLTEwJykpKQorICBTRVQgaWQgPSAnWzcsOCknCisgIFdIRVJFIGlkID0gJ1s1LDYpJzsKKy0t IHRoZW4gZGVsZXRlIHRoZSBvYmplY3RpbmcgRksgcmVjb3JkIGFuZCB0aGUgc2FtZSBQSyB1cGRh dGUgc3VjY2VlZHM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJF IGlkID0gJ1szLDQpJzsKIFVQREFURSB0ZW1wb3JhbF9tbHRybmcgU0VUIGlkID0gJ1s3LDgpJwog ICBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gZGF0ZW11bHRpcmFuZ2UoZGF0ZXJh bmdlKCcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKSk7CiAKQEAgLTE3NjAsNiArMTg0MywxNyBA QCBCRUdJTjsKIAogICBERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcgV0hFUkUgaWQgPSAnWzUs NiknIEFORCB2YWxpZF9hdCA9IGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScs ICcyMDE4LTAyLTAxJykpOwogQ09NTUlUOworLS0gZGVsZXRpbmcgYW4gdW5yZWZlcmVuY2VkIHBh cnQgaXMgb2theToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZworRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMicsICcyMDE4LTAx LTAzJykpKQorV0hFUkUgaWQgPSAnWzUsNiknOworLS0gZGVsZXRpbmcganVzdCBhIHBhcnQgZmFp bHM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDUnLCAnMjAxOC0wMS0xMCcpKSkK K1dIRVJFIGlkID0gJ1s1LDYpJzsKKy0tIHRoZW4gZGVsZXRlIHRoZSBvYmplY3RpbmcgRksgcmVj b3JkIGFuZCB0aGUgc2FtZSBQSyBkZWxldGUgc3VjY2VlZHM6CitERUxFVEUgRlJPTSB0ZW1wb3Jh bF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1szLDQpJzsKK0RFTEVURSBGUk9NIHRlbXBv cmFsX21sdHJuZyBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gZGF0ZW11bHRpcmFu Z2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKSk7CiAKIC0tCiAtLSBGSyBi ZXR3ZWVuIHBhcnRpdGlvbmVkIHRhYmxlczogcmFuZ2VzCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9z dWJzY3JpcHRpb24vdC8wMzRfdGVtcG9yYWwucGwgYi9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8w MzRfdGVtcG9yYWwucGwKaW5kZXggNmJiZjY1NjcyNzkuLmI3NDY5M2NiODljIDEwMDY0NAotLS0g YS9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMzRfdGVtcG9yYWwucGwKKysrIGIvc3JjL3Rlc3Qv c3Vic2NyaXB0aW9uL3QvMDM0X3RlbXBvcmFsLnBsCkBAIC0xMzcsNiArMTM3LDEyIEBAIGlzKCAk c3RkZXJyLAogCXFxKHBzcWw6PHN0ZGluPjoxOiBFUlJPUjogIGNhbm5vdCB1cGRhdGUgdGFibGUg InRlbXBvcmFsX25vX2tleSIgYmVjYXVzZSBpdCBkb2VzIG5vdCBoYXZlIGEgcmVwbGljYSBpZGVu dGl0eSBhbmQgcHVibGlzaGVzIHVwZGF0ZXMKIEhJTlQ6ICBUbyBlbmFibGUgdXBkYXRpbmcgdGhl IHRhYmxlLCBzZXQgUkVQTElDQSBJREVOVElUWSB1c2luZyBBTFRFUiBUQUJMRS4pLAogCSJjYW4n dCBVUERBVEUgdGVtcG9yYWxfbm9fa2V5IERFRkFVTFQiKTsKKygkcmVzdWx0LCAkc3Rkb3V0LCAk c3RkZXJyKSA9ICRub2RlX3B1Ymxpc2hlci0+cHNxbCgncG9zdGdyZXMnLAorCSJVUERBVEUgdGVt cG9yYWxfbm9fa2V5IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDEtMDEtMDEnIFRP ICcyMDAyLTAxLTAxJyBTRVQgYSA9ICdjJyBXSEVSRSBpZCA9ICdbMiwzKSciKTsKK2lzKCAkc3Rk ZXJyLAorCXFxKHBzcWw6PHN0ZGluPjoxOiBFUlJPUjogIGNhbm5vdCB1cGRhdGUgdGFibGUgInRl bXBvcmFsX25vX2tleSIgYmVjYXVzZSBpdCBkb2VzIG5vdCBoYXZlIGEgcmVwbGljYSBpZGVudGl0 eSBhbmQgcHVibGlzaGVzIHVwZGF0ZXMKK0hJTlQ6ICBUbyBlbmFibGUgdXBkYXRpbmcgdGhlIHRh YmxlLCBzZXQgUkVQTElDQSBJREVOVElUWSB1c2luZyBBTFRFUiBUQUJMRS4pLAorCSJjYW4ndCBV UERBVEUgRk9SIFBPUlRJT04gT0YgdGVtcG9yYWxfbm9fa2V5IERFRkFVTFQiKTsKIAogKCRyZXN1 bHQsICRzdGRvdXQsICRzdGRlcnIpID0gJG5vZGVfcHVibGlzaGVyLT5wc3FsKCdwb3N0Z3Jlcycs CiAJIkRFTEVURSBGUk9NIHRlbXBvcmFsX25vX2tleSBXSEVSRSBpZCA9ICdbMyw0KSciKTsKQEAg LTE0NCw2ICsxNTAsMTIgQEAgaXMoICRzdGRlcnIsCiAJcXEocHNxbDo8c3RkaW4+OjE6IEVSUk9S OiAgY2Fubm90IGRlbGV0ZSBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ub19rZXkiIGJlY2F1c2UgaXQg ZG9lcyBub3QgaGF2ZSBhIHJlcGxpY2EgaWRlbnRpdHkgYW5kIHB1Ymxpc2hlcyBkZWxldGVzCiBI SU5UOiAgVG8gZW5hYmxlIGRlbGV0aW5nIGZyb20gdGhlIHRhYmxlLCBzZXQgUkVQTElDQSBJREVO VElUWSB1c2luZyBBTFRFUiBUQUJMRS4pLAogCSJjYW4ndCBERUxFVEUgdGVtcG9yYWxfbm9fa2V5 IERFRkFVTFQiKTsKKygkcmVzdWx0LCAkc3Rkb3V0LCAkc3RkZXJyKSA9ICRub2RlX3B1Ymxpc2hl ci0+cHNxbCgncG9zdGdyZXMnLAorCSJERUxFVEUgRlJPTSB0ZW1wb3JhbF9ub19rZXkgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMi0wMS0wMScgVE8gJzIwMDMtMDEtMDEnIFdIRVJF IGlkID0gJ1syLDMpJyIpOworaXMoICRzdGRlcnIsCisJcXEocHNxbDo8c3RkaW4+OjE6IEVSUk9S OiAgY2Fubm90IGRlbGV0ZSBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ub19rZXkiIGJlY2F1c2UgaXQg ZG9lcyBub3QgaGF2ZSBhIHJlcGxpY2EgaWRlbnRpdHkgYW5kIHB1Ymxpc2hlcyBkZWxldGVzCitI SU5UOiAgVG8gZW5hYmxlIGRlbGV0aW5nIGZyb20gdGhlIHRhYmxlLCBzZXQgUkVQTElDQSBJREVO VElUWSB1c2luZyBBTFRFUiBUQUJMRS4pLAorCSJjYW4ndCBERUxFVEUgRk9SIFBPUlRJT04gT0Yg dGVtcG9yYWxfbm9fa2V5IERFRkFVTFQiKTsKIAogJG5vZGVfcHVibGlzaGVyLT53YWl0X2Zvcl9j YXRjaHVwKCdzdWIxJyk7CiAKQEAgLTE2NSwxNiArMTc3LDIyIEBAICRub2RlX3B1Ymxpc2hlci0+ c2FmZV9wc3FsKAogCiAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJV UERBVEUgdGVtcG9yYWxfcGsgU0VUIGEgPSAnYicgV0hFUkUgaWQgPSAnWzIsMyknIik7Ciskbm9k ZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJVUERBVEUgdGVtcG9yYWxfcGsg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMS0wMS0wMScgVE8gJzIwMDItMDEtMDEn IFNFVCBhID0gJ2MnIFdIRVJFIGlkID0gJ1syLDMpJyIpOwogCiAkbm9kZV9wdWJsaXNoZXItPnNh ZmVfcHNxbCgncG9zdGdyZXMnLAogCSJERUxFVEUgRlJPTSB0ZW1wb3JhbF9wayBXSEVSRSBpZCA9 ICdbMyw0KSciKTsKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIkRF TEVURSBGUk9NIHRlbXBvcmFsX3BrIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDIt MDEtMDEnIFRPICcyMDAzLTAxLTAxJyBXSEVSRSBpZCA9ICdbMiwzKSciKTsKIAogJG5vZGVfcHVi bGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdzdWIxJyk7CiAKICRyZXN1bHQgPSAkbm9kZV9zdWJz Y3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKIAkiU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9w ayBPUkRFUiBCWSBpZCwgdmFsaWRfYXQiKTsKIGlzKCAkcmVzdWx0LCBxcXtbMSwyKXxbMjAwMC0w MS0wMSwyMDEwLTAxLTAxKXxhCi1bMiwzKXxbMjAwMC0wMS0wMSwyMDEwLTAxLTAxKXxiCitbMiwz KXxbMjAwMC0wMS0wMSwyMDAxLTAxLTAxKXxiCitbMiwzKXxbMjAwMS0wMS0wMSwyMDAyLTAxLTAx KXxjCitbMiwzKXxbMjAwMy0wMS0wMSwyMDEwLTAxLTAxKXxiCiBbNCw1KXxbMjAwMC0wMS0wMSwy MDEwLTAxLTAxKXxhfSwgJ3JlcGxpY2F0ZWQgdGVtcG9yYWxfcGsgREVGQVVMVCcpOwogCiAjIHJl cGxpY2F0ZSB3aXRoIGEgdW5pcXVlIGtleToKQEAgLTE5Miw2ICsyMTAsMTIgQEAgaXMoICRzdGRl cnIsCiAJcXEocHNxbDo8c3RkaW4+OjE6IEVSUk9SOiAgY2Fubm90IHVwZGF0ZSB0YWJsZSAidGVt cG9yYWxfdW5pcXVlIiBiZWNhdXNlIGl0IGRvZXMgbm90IGhhdmUgYSByZXBsaWNhIGlkZW50aXR5 IGFuZCBwdWJsaXNoZXMgdXBkYXRlcwogSElOVDogIFRvIGVuYWJsZSB1cGRhdGluZyB0aGUgdGFi bGUsIHNldCBSRVBMSUNBIElERU5USVRZIHVzaW5nIEFMVEVSIFRBQkxFLiksCiAJImNhbid0IFVQ REFURSB0ZW1wb3JhbF91bmlxdWUgREVGQVVMVCIpOworKCRyZXN1bHQsICRzdGRvdXQsICRzdGRl cnIpID0gJG5vZGVfcHVibGlzaGVyLT5wc3FsKCdwb3N0Z3JlcycsCisJIlVQREFURSB0ZW1wb3Jh bF91bmlxdWUgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMS0wMS0wMScgVE8gJzIw MDItMDEtMDEnIFNFVCBhID0gJ2MnIFdIRVJFIGlkID0gJ1syLDMpJyIpOworaXMoICRzdGRlcnIs CisJcXEocHNxbDo8c3RkaW4+OjE6IEVSUk9SOiAgY2Fubm90IHVwZGF0ZSB0YWJsZSAidGVtcG9y YWxfdW5pcXVlIiBiZWNhdXNlIGl0IGRvZXMgbm90IGhhdmUgYSByZXBsaWNhIGlkZW50aXR5IGFu ZCBwdWJsaXNoZXMgdXBkYXRlcworSElOVDogIFRvIGVuYWJsZSB1cGRhdGluZyB0aGUgdGFibGUs IHNldCBSRVBMSUNBIElERU5USVRZIHVzaW5nIEFMVEVSIFRBQkxFLiksCisJImNhbid0IFVQREFU RSBGT1IgUE9SVElPTiBPRiB0ZW1wb3JhbF91bmlxdWUgREVGQVVMVCIpOwogCiAoJHJlc3VsdCwg JHN0ZG91dCwgJHN0ZGVycikgPSAkbm9kZV9wdWJsaXNoZXItPnBzcWwoJ3Bvc3RncmVzJywKIAki REVMRVRFIEZST00gdGVtcG9yYWxfdW5pcXVlIFdIRVJFIGlkID0gJ1szLDQpJyIpOwpAQCAtMTk5 LDYgKzIyMywxMiBAQCBpcyggJHN0ZGVyciwKIAlxcShwc3FsOjxzdGRpbj46MTogRVJST1I6ICBj YW5ub3QgZGVsZXRlIGZyb20gdGFibGUgInRlbXBvcmFsX3VuaXF1ZSIgYmVjYXVzZSBpdCBkb2Vz IG5vdCBoYXZlIGEgcmVwbGljYSBpZGVudGl0eSBhbmQgcHVibGlzaGVzIGRlbGV0ZXMKIEhJTlQ6 ICBUbyBlbmFibGUgZGVsZXRpbmcgZnJvbSB0aGUgdGFibGUsIHNldCBSRVBMSUNBIElERU5USVRZ IHVzaW5nIEFMVEVSIFRBQkxFLiksCiAJImNhbid0IERFTEVURSB0ZW1wb3JhbF91bmlxdWUgREVG QVVMVCIpOworKCRyZXN1bHQsICRzdGRvdXQsICRzdGRlcnIpID0gJG5vZGVfcHVibGlzaGVyLT5w c3FsKCdwb3N0Z3JlcycsCisJIkRFTEVURSBGUk9NIHRlbXBvcmFsX3VuaXF1ZSBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDAyLTAxLTAxJyBUTyAnMjAwMy0wMS0wMScgV0hFUkUgaWQg PSAnWzIsMyknIik7CitpcyggJHN0ZGVyciwKKwlxcShwc3FsOjxzdGRpbj46MTogRVJST1I6ICBj YW5ub3QgZGVsZXRlIGZyb20gdGFibGUgInRlbXBvcmFsX3VuaXF1ZSIgYmVjYXVzZSBpdCBkb2Vz IG5vdCBoYXZlIGEgcmVwbGljYSBpZGVudGl0eSBhbmQgcHVibGlzaGVzIGRlbGV0ZXMKK0hJTlQ6 ICBUbyBlbmFibGUgZGVsZXRpbmcgZnJvbSB0aGUgdGFibGUsIHNldCBSRVBMSUNBIElERU5USVRZ IHVzaW5nIEFMVEVSIFRBQkxFLiksCisJImNhbid0IERFTEVURSBGT1IgUE9SVElPTiBPRiB0ZW1w b3JhbF91bmlxdWUgREVGQVVMVCIpOwogCiAkbm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2NhdGNo dXAoJ3N1YjEnKTsKIApAQCAtMjg3LDE2ICszMTcsMjIgQEAgJG5vZGVfcHVibGlzaGVyLT5zYWZl X3BzcWwoCiAKICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIlVQREFU RSB0ZW1wb3JhbF9ub19rZXkgU0VUIGEgPSAnYicgV0hFUkUgaWQgPSAnWzIsMyknIik7Ciskbm9k ZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJVUERBVEUgdGVtcG9yYWxfbm9f a2V5IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDEtMDEtMDEnIFRPICcyMDAyLTAx LTAxJyBTRVQgYSA9ICdjJyBXSEVSRSBpZCA9ICdbMiwzKSciKTsKIAogJG5vZGVfcHVibGlzaGVy LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKIAkiREVMRVRFIEZST00gdGVtcG9yYWxfbm9fa2V5IFdI RVJFIGlkID0gJ1szLDQpJyIpOworJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVz JywKKwkiREVMRVRFIEZST00gdGVtcG9yYWxfbm9fa2V5IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMDItMDEtMDEnIFRPICcyMDAzLTAxLTAxJyBXSEVSRSBpZCA9ICdbMiwzKSciKTsK IAogJG5vZGVfcHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdzdWIxJyk7CiAKICRyZXN1bHQg PSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKIAkiU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9ub19rZXkgT1JERVIgQlkgaWQsIHZhbGlkX2F0Iik7CiBpcyggJHJlc3VsdCwg cXF7WzEsMil8WzIwMDAtMDEtMDEsMjAxMC0wMS0wMSl8YQotWzIsMyl8WzIwMDAtMDEtMDEsMjAx MC0wMS0wMSl8YgorWzIsMyl8WzIwMDAtMDEtMDEsMjAwMS0wMS0wMSl8YgorWzIsMyl8WzIwMDEt MDEtMDEsMjAwMi0wMS0wMSl8YworWzIsMyl8WzIwMDMtMDEtMDEsMjAxMC0wMS0wMSl8YgogWzQs NSl8WzIwMDAtMDEtMDEsMjAxMC0wMS0wMSl8YX0sICdyZXBsaWNhdGVkIHRlbXBvcmFsX25vX2tl eSBGVUxMJyk7CiAKICMgcmVwbGljYXRlIHdpdGggYSBwcmltYXJ5IGtleToKQEAgLTMxMCwxNiAr MzQ2LDIyIEBAICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKAogCiAkbm9kZV9wdWJsaXNoZXIt PnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJVUERBVEUgdGVtcG9yYWxfcGsgU0VUIGEgPSAnYicg V0hFUkUgaWQgPSAnWzIsMyknIik7Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdy ZXMnLAorCSJVUERBVEUgdGVtcG9yYWxfcGsgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAwMS0wMS0wMScgVE8gJzIwMDItMDEtMDEnIFNFVCBhID0gJ2MnIFdIRVJFIGlkID0gJ1syLDMp JyIpOwogCiAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJERUxFVEUg RlJPTSB0ZW1wb3JhbF9wayBXSEVSRSBpZCA9ICdbMyw0KSciKTsKKyRub2RlX3B1Ymxpc2hlci0+ c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIkRFTEVURSBGUk9NIHRlbXBvcmFsX3BrIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDItMDEtMDEnIFRPICcyMDAzLTAxLTAxJyBXSEVSRSBp ZCA9ICdbMiwzKSciKTsKIAogJG5vZGVfcHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdzdWIx Jyk7CiAKICRyZXN1bHQgPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywK IAkiU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wayBPUkRFUiBCWSBpZCwgdmFsaWRfYXQiKTsKIGlz KCAkcmVzdWx0LCBxcXtbMSwyKXxbMjAwMC0wMS0wMSwyMDEwLTAxLTAxKXxhCi1bMiwzKXxbMjAw MC0wMS0wMSwyMDEwLTAxLTAxKXxiCitbMiwzKXxbMjAwMC0wMS0wMSwyMDAxLTAxLTAxKXxiCitb MiwzKXxbMjAwMS0wMS0wMSwyMDAyLTAxLTAxKXxjCitbMiwzKXxbMjAwMy0wMS0wMSwyMDEwLTAx LTAxKXxiCiBbNCw1KXxbMjAwMC0wMS0wMSwyMDEwLTAxLTAxKXxhfSwgJ3JlcGxpY2F0ZWQgdGVt cG9yYWxfcGsgRlVMTCcpOwogCiAjIHJlcGxpY2F0ZSB3aXRoIGEgdW5pcXVlIGtleToKQEAgLTMz MywxNyArMzc1LDIzIEBAICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKAogCiAkbm9kZV9wdWJs aXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJVUERBVEUgdGVtcG9yYWxfdW5pcXVlIFNF VCBhID0gJ2InIFdIRVJFIGlkID0gJ1syLDMpJyIpOworJG5vZGVfcHVibGlzaGVyLT5zYWZlX3Bz cWwoJ3Bvc3RncmVzJywKKwkiVVBEQVRFIHRlbXBvcmFsX3VuaXF1ZSBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDAxLTAxLTAxJyBUTyAnMjAwMi0wMS0wMScgU0VUIGEgPSAnYycgV0hF UkUgaWQgPSAnWzIsMyknIik7CiAKICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3Jl cycsCiAJIkRFTEVURSBGUk9NIHRlbXBvcmFsX3VuaXF1ZSBXSEVSRSBpZCA9ICdbMyw0KSciKTsK KyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIkRFTEVURSBGUk9NIHRl bXBvcmFsX3VuaXF1ZSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAyLTAxLTAxJyBU TyAnMjAwMy0wMS0wMScgV0hFUkUgaWQgPSAnWzIsMyknIik7CiAKICRub2RlX3B1Ymxpc2hlci0+ d2FpdF9mb3JfY2F0Y2h1cCgnc3ViMScpOwogCiAkcmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+ c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIlNFTEVDVCAqIEZST00gdGVtcG9yYWxfdW5pcXVlIE9S REVSIEJZIGlkLCB2YWxpZF9hdCIpOwogaXMoICRyZXN1bHQsIHFxe1sxLDIpfFsyMDAwLTAxLTAx LDIwMTAtMDEtMDEpfGEKLVsyLDMpfFsyMDAwLTAxLTAxLDIwMTAtMDEtMDEpfGIKLVs0LDUpfFsy MDAwLTAxLTAxLDIwMTAtMDEtMDEpfGF9LCAncmVwbGljYXRlZCB0ZW1wb3JhbF91bmlxdWUgRlVM TCcpOworWzIsMyl8WzIwMDAtMDEtMDEsMjAwMS0wMS0wMSl8YgorWzIsMyl8WzIwMDEtMDEtMDEs MjAwMi0wMS0wMSl8YworWzIsMyl8WzIwMDMtMDEtMDEsMjAxMC0wMS0wMSl8YgorWzQsNSl8WzIw MDAtMDEtMDEsMjAxMC0wMS0wMSl8YX0sICdyZXBsaWNhdGVkIHRlbXBvcmFsX3VuaXF1ZSBERUZB VUxUJyk7CiAKICMgY2xlYW51cAogCkBAIC00MjUsMTYgKzQ3MywyMiBAQCAkbm9kZV9wdWJsaXNo ZXItPnNhZmVfcHNxbCgKIAogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywK IAkiVVBEQVRFIHRlbXBvcmFsX3BrIFNFVCBhID0gJ2InIFdIRVJFIGlkID0gJ1syLDMpJyIpOwor JG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiVVBEQVRFIHRlbXBvcmFs X3BrIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDEtMDEtMDEnIFRPICcyMDAyLTAx LTAxJyBTRVQgYSA9ICdjJyBXSEVSRSBpZCA9ICdbMiwzKSciKTsKIAogJG5vZGVfcHVibGlzaGVy LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKIAkiREVMRVRFIEZST00gdGVtcG9yYWxfcGsgV0hFUkUg aWQgPSAnWzMsNCknIik7Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAor CSJERUxFVEUgRlJPTSB0ZW1wb3JhbF9wayBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDAyLTAxLTAxJyBUTyAnMjAwMy0wMS0wMScgV0hFUkUgaWQgPSAnWzIsMyknIik7CiAKICRub2Rl X3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnc3ViMScpOwogCiAkcmVzdWx0ID0gJG5vZGVf c3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIlNFTEVDVCAqIEZST00gdGVtcG9y YWxfcGsgT1JERVIgQlkgaWQsIHZhbGlkX2F0Iik7CiBpcyggJHJlc3VsdCwgcXF7WzEsMil8WzIw MDAtMDEtMDEsMjAxMC0wMS0wMSl8YQotWzIsMyl8WzIwMDAtMDEtMDEsMjAxMC0wMS0wMSl8Ygor WzIsMyl8WzIwMDAtMDEtMDEsMjAwMS0wMS0wMSl8YgorWzIsMyl8WzIwMDEtMDEtMDEsMjAwMi0w MS0wMSl8YworWzIsMyl8WzIwMDMtMDEtMDEsMjAxMC0wMS0wMSl8YgogWzQsNSl8WzIwMDAtMDEt MDEsMjAxMC0wMS0wMSl8YX0sICdyZXBsaWNhdGVkIHRlbXBvcmFsX3BrIFVTSU5HIElOREVYJyk7 CiAKICMgcmVwbGljYXRlIHdpdGggYSB1bmlxdWUga2V5OgpAQCAtNDQ4LDE2ICs1MDIsMjIgQEAg JG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoCiAKICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsCiAJIlVQREFURSB0ZW1wb3JhbF91bmlxdWUgU0VUIGEgPSAnYicgV0hFUkUg aWQgPSAnWzIsMyknIik7Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAor CSJVUERBVEUgdGVtcG9yYWxfdW5pcXVlIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MDEtMDEtMDEnIFRPICcyMDAyLTAxLTAxJyBTRVQgYSA9ICdjJyBXSEVSRSBpZCA9ICdbMiwzKSci KTsKIAogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKIAkiREVMRVRFIEZS T00gdGVtcG9yYWxfdW5pcXVlIFdIRVJFIGlkID0gJ1szLDQpJyIpOworJG5vZGVfcHVibGlzaGVy LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiREVMRVRFIEZST00gdGVtcG9yYWxfdW5pcXVlIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDItMDEtMDEnIFRPICcyMDAzLTAxLTAxJyBX SEVSRSBpZCA9ICdbMiwzKSciKTsKIAogJG5vZGVfcHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVw KCdzdWIxJyk7CiAKICRyZXN1bHQgPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3Rn cmVzJywKIAkiU0VMRUNUICogRlJPTSB0ZW1wb3JhbF91bmlxdWUgT1JERVIgQlkgaWQsIHZhbGlk X2F0Iik7CiBpcyggJHJlc3VsdCwgcXF7WzEsMil8WzIwMDAtMDEtMDEsMjAxMC0wMS0wMSl8YQot WzIsMyl8WzIwMDAtMDEtMDEsMjAxMC0wMS0wMSl8YgorWzIsMyl8WzIwMDAtMDEtMDEsMjAwMS0w MS0wMSl8YgorWzIsMyl8WzIwMDEtMDEtMDEsMjAwMi0wMS0wMSl8YworWzIsMyl8WzIwMDMtMDEt MDEsMjAxMC0wMS0wMSl8YgogWzQsNSl8WzIwMDAtMDEtMDEsMjAxMC0wMS0wMSl8YX0sICdyZXBs aWNhdGVkIHRlbXBvcmFsX3VuaXF1ZSBVU0lORyBJTkRFWCcpOwogCiAjIGNsZWFudXAKQEAgLTU0 Myw2ICs2MDMsMTIgQEAgaXMoICRzdGRlcnIsCiAJcXEocHNxbDo8c3RkaW4+OjE6IEVSUk9SOiAg Y2Fubm90IHVwZGF0ZSB0YWJsZSAidGVtcG9yYWxfbm9fa2V5IiBiZWNhdXNlIGl0IGRvZXMgbm90 IGhhdmUgYSByZXBsaWNhIGlkZW50aXR5IGFuZCBwdWJsaXNoZXMgdXBkYXRlcwogSElOVDogIFRv IGVuYWJsZSB1cGRhdGluZyB0aGUgdGFibGUsIHNldCBSRVBMSUNBIElERU5USVRZIHVzaW5nIEFM VEVSIFRBQkxFLiksCiAJImNhbid0IFVQREFURSB0ZW1wb3JhbF9ub19rZXkgTk9USElORyIpOwor KCRyZXN1bHQsICRzdGRvdXQsICRzdGRlcnIpID0gJG5vZGVfcHVibGlzaGVyLT5wc3FsKCdwb3N0 Z3JlcycsCisJIlVQREFURSB0ZW1wb3JhbF9ub19rZXkgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAwMS0wMS0wMScgVE8gJzIwMDItMDEtMDEnIFNFVCBhID0gJ2MnIFdIRVJFIGlkID0g J1syLDMpJyIpOworaXMoICRzdGRlcnIsCisJcXEocHNxbDo8c3RkaW4+OjE6IEVSUk9SOiAgY2Fu bm90IHVwZGF0ZSB0YWJsZSAidGVtcG9yYWxfbm9fa2V5IiBiZWNhdXNlIGl0IGRvZXMgbm90IGhh dmUgYSByZXBsaWNhIGlkZW50aXR5IGFuZCBwdWJsaXNoZXMgdXBkYXRlcworSElOVDogIFRvIGVu YWJsZSB1cGRhdGluZyB0aGUgdGFibGUsIHNldCBSRVBMSUNBIElERU5USVRZIHVzaW5nIEFMVEVS IFRBQkxFLiksCisJImNhbid0IFVQREFURSB0ZW1wb3JhbF9ub19rZXkgTk9USElORyIpOwogCiAo JHJlc3VsdCwgJHN0ZG91dCwgJHN0ZGVycikgPSAkbm9kZV9wdWJsaXNoZXItPnBzcWwoJ3Bvc3Rn cmVzJywKIAkiREVMRVRFIEZST00gdGVtcG9yYWxfbm9fa2V5IFdIRVJFIGlkID0gJ1szLDQpJyIp OwpAQCAtNTUwLDYgKzYxNiwxMiBAQCBpcyggJHN0ZGVyciwKIAlxcShwc3FsOjxzdGRpbj46MTog RVJST1I6ICBjYW5ub3QgZGVsZXRlIGZyb20gdGFibGUgInRlbXBvcmFsX25vX2tleSIgYmVjYXVz ZSBpdCBkb2VzIG5vdCBoYXZlIGEgcmVwbGljYSBpZGVudGl0eSBhbmQgcHVibGlzaGVzIGRlbGV0 ZXMKIEhJTlQ6ICBUbyBlbmFibGUgZGVsZXRpbmcgZnJvbSB0aGUgdGFibGUsIHNldCBSRVBMSUNB IElERU5USVRZIHVzaW5nIEFMVEVSIFRBQkxFLiksCiAJImNhbid0IERFTEVURSB0ZW1wb3JhbF9u b19rZXkgTk9USElORyIpOworKCRyZXN1bHQsICRzdGRvdXQsICRzdGRlcnIpID0gJG5vZGVfcHVi bGlzaGVyLT5wc3FsKCdwb3N0Z3JlcycsCisJIkRFTEVURSBGUk9NIHRlbXBvcmFsX25vX2tleSBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAyLTAxLTAxJyBUTyAnMjAwMy0wMS0wMScg V0hFUkUgaWQgPSAnWzIsMyknIik7CitpcyggJHN0ZGVyciwKKwlxcShwc3FsOjxzdGRpbj46MTog RVJST1I6ICBjYW5ub3QgZGVsZXRlIGZyb20gdGFibGUgInRlbXBvcmFsX25vX2tleSIgYmVjYXVz ZSBpdCBkb2VzIG5vdCBoYXZlIGEgcmVwbGljYSBpZGVudGl0eSBhbmQgcHVibGlzaGVzIGRlbGV0 ZXMKK0hJTlQ6ICBUbyBlbmFibGUgZGVsZXRpbmcgZnJvbSB0aGUgdGFibGUsIHNldCBSRVBMSUNB IElERU5USVRZIHVzaW5nIEFMVEVSIFRBQkxFLiksCisJImNhbid0IERFTEVURSB0ZW1wb3JhbF9u b19rZXkgTk9USElORyIpOwogCiAkbm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2NhdGNodXAoJ3N1 YjEnKTsKIApAQCAtNTc1LDYgKzY0NywxMiBAQCBpcyggJHN0ZGVyciwKIAlxcShwc3FsOjxzdGRp bj46MTogRVJST1I6ICBjYW5ub3QgdXBkYXRlIHRhYmxlICJ0ZW1wb3JhbF9wayIgYmVjYXVzZSBp dCBkb2VzIG5vdCBoYXZlIGEgcmVwbGljYSBpZGVudGl0eSBhbmQgcHVibGlzaGVzIHVwZGF0ZXMK IEhJTlQ6ICBUbyBlbmFibGUgdXBkYXRpbmcgdGhlIHRhYmxlLCBzZXQgUkVQTElDQSBJREVOVElU WSB1c2luZyBBTFRFUiBUQUJMRS4pLAogCSJjYW4ndCBVUERBVEUgdGVtcG9yYWxfcGsgTk9USElO RyIpOworKCRyZXN1bHQsICRzdGRvdXQsICRzdGRlcnIpID0gJG5vZGVfcHVibGlzaGVyLT5wc3Fs KCdwb3N0Z3JlcycsCisJIlVQREFURSB0ZW1wb3JhbF9wayBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDAxLTAxLTAxJyBUTyAnMjAwMi0wMS0wMScgU0VUIGEgPSAnYycgV0hFUkUgaWQg PSAnWzIsMyknIik7CitpcyggJHN0ZGVyciwKKwlxcShwc3FsOjxzdGRpbj46MTogRVJST1I6ICBj YW5ub3QgdXBkYXRlIHRhYmxlICJ0ZW1wb3JhbF9wayIgYmVjYXVzZSBpdCBkb2VzIG5vdCBoYXZl IGEgcmVwbGljYSBpZGVudGl0eSBhbmQgcHVibGlzaGVzIHVwZGF0ZXMKK0hJTlQ6ICBUbyBlbmFi bGUgdXBkYXRpbmcgdGhlIHRhYmxlLCBzZXQgUkVQTElDQSBJREVOVElUWSB1c2luZyBBTFRFUiBU QUJMRS4pLAorCSJjYW4ndCBVUERBVEUgdGVtcG9yYWxfcGsgTk9USElORyIpOwogCiAoJHJlc3Vs dCwgJHN0ZG91dCwgJHN0ZGVycikgPSAkbm9kZV9wdWJsaXNoZXItPnBzcWwoJ3Bvc3RncmVzJywK IAkiREVMRVRFIEZST00gdGVtcG9yYWxfcGsgV0hFUkUgaWQgPSAnWzMsNCknIik7CkBAIC01ODIs NiArNjYwLDEyIEBAIGlzKCAkc3RkZXJyLAogCXFxKHBzcWw6PHN0ZGluPjoxOiBFUlJPUjogIGNh bm5vdCBkZWxldGUgZnJvbSB0YWJsZSAidGVtcG9yYWxfcGsiIGJlY2F1c2UgaXQgZG9lcyBub3Qg aGF2ZSBhIHJlcGxpY2EgaWRlbnRpdHkgYW5kIHB1Ymxpc2hlcyBkZWxldGVzCiBISU5UOiAgVG8g ZW5hYmxlIGRlbGV0aW5nIGZyb20gdGhlIHRhYmxlLCBzZXQgUkVQTElDQSBJREVOVElUWSB1c2lu ZyBBTFRFUiBUQUJMRS4pLAogCSJjYW4ndCBERUxFVEUgdGVtcG9yYWxfcGsgTk9USElORyIpOwor KCRyZXN1bHQsICRzdGRvdXQsICRzdGRlcnIpID0gJG5vZGVfcHVibGlzaGVyLT5wc3FsKCdwb3N0 Z3JlcycsCisJIkRFTEVURSBGUk9NIHRlbXBvcmFsX3BrIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMDItMDEtMDEnIFRPICcyMDAzLTAxLTAxJyBXSEVSRSBpZCA9ICdbMiwzKSciKTsK K2lzKCAkc3RkZXJyLAorCXFxKHBzcWw6PHN0ZGluPjoxOiBFUlJPUjogIGNhbm5vdCBkZWxldGUg ZnJvbSB0YWJsZSAidGVtcG9yYWxfcGsiIGJlY2F1c2UgaXQgZG9lcyBub3QgaGF2ZSBhIHJlcGxp Y2EgaWRlbnRpdHkgYW5kIHB1Ymxpc2hlcyBkZWxldGVzCitISU5UOiAgVG8gZW5hYmxlIGRlbGV0 aW5nIGZyb20gdGhlIHRhYmxlLCBzZXQgUkVQTElDQSBJREVOVElUWSB1c2luZyBBTFRFUiBUQUJM RS4pLAorCSJjYW4ndCBERUxFVEUgdGVtcG9yYWxfcGsgTk9USElORyIpOwogCiAkbm9kZV9wdWJs aXNoZXItPndhaXRfZm9yX2NhdGNodXAoJ3N1YjEnKTsKIApAQCAtNjA3LDYgKzY5MSwxMiBAQCBp cyggJHN0ZGVyciwKIAlxcShwc3FsOjxzdGRpbj46MTogRVJST1I6ICBjYW5ub3QgdXBkYXRlIHRh YmxlICJ0ZW1wb3JhbF91bmlxdWUiIGJlY2F1c2UgaXQgZG9lcyBub3QgaGF2ZSBhIHJlcGxpY2Eg aWRlbnRpdHkgYW5kIHB1Ymxpc2hlcyB1cGRhdGVzCiBISU5UOiAgVG8gZW5hYmxlIHVwZGF0aW5n IHRoZSB0YWJsZSwgc2V0IFJFUExJQ0EgSURFTlRJVFkgdXNpbmcgQUxURVIgVEFCTEUuKSwKIAki Y2FuJ3QgVVBEQVRFIHRlbXBvcmFsX3VuaXF1ZSBOT1RISU5HIik7CisoJHJlc3VsdCwgJHN0ZG91 dCwgJHN0ZGVycikgPSAkbm9kZV9wdWJsaXNoZXItPnBzcWwoJ3Bvc3RncmVzJywKKwkiVVBEQVRF IHRlbXBvcmFsX3VuaXF1ZSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAxLTAxLTAx JyBUTyAnMjAwMi0wMS0wMScgU0VUIGEgPSAnYycgV0hFUkUgaWQgPSAnWzIsMyknIik7Citpcygg JHN0ZGVyciwKKwlxcShwc3FsOjxzdGRpbj46MTogRVJST1I6ICBjYW5ub3QgdXBkYXRlIHRhYmxl ICJ0ZW1wb3JhbF91bmlxdWUiIGJlY2F1c2UgaXQgZG9lcyBub3QgaGF2ZSBhIHJlcGxpY2EgaWRl bnRpdHkgYW5kIHB1Ymxpc2hlcyB1cGRhdGVzCitISU5UOiAgVG8gZW5hYmxlIHVwZGF0aW5nIHRo ZSB0YWJsZSwgc2V0IFJFUExJQ0EgSURFTlRJVFkgdXNpbmcgQUxURVIgVEFCTEUuKSwKKwkiY2Fu J3QgVVBEQVRFIEZPUiBQT1JUSU9OIE9GIHRlbXBvcmFsX3VuaXF1ZSBOT1RISU5HIik7CiAKICgk cmVzdWx0LCAkc3Rkb3V0LCAkc3RkZXJyKSA9ICRub2RlX3B1Ymxpc2hlci0+cHNxbCgncG9zdGdy ZXMnLAogCSJERUxFVEUgRlJPTSB0ZW1wb3JhbF91bmlxdWUgV0hFUkUgaWQgPSAnWzMsNCknIik7 CkBAIC02MTQsNiArNzA0LDEyIEBAIGlzKCAkc3RkZXJyLAogCXFxKHBzcWw6PHN0ZGluPjoxOiBF UlJPUjogIGNhbm5vdCBkZWxldGUgZnJvbSB0YWJsZSAidGVtcG9yYWxfdW5pcXVlIiBiZWNhdXNl IGl0IGRvZXMgbm90IGhhdmUgYSByZXBsaWNhIGlkZW50aXR5IGFuZCBwdWJsaXNoZXMgZGVsZXRl cwogSElOVDogIFRvIGVuYWJsZSBkZWxldGluZyBmcm9tIHRoZSB0YWJsZSwgc2V0IFJFUExJQ0Eg SURFTlRJVFkgdXNpbmcgQUxURVIgVEFCTEUuKSwKIAkiY2FuJ3QgREVMRVRFIHRlbXBvcmFsX3Vu aXF1ZSBOT1RISU5HIik7CisoJHJlc3VsdCwgJHN0ZG91dCwgJHN0ZGVycikgPSAkbm9kZV9wdWJs aXNoZXItPnBzcWwoJ3Bvc3RncmVzJywKKwkiREVMRVRFIEZST00gdGVtcG9yYWxfdW5pcXVlIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDItMDEtMDEnIFRPICcyMDAzLTAxLTAxJyBX SEVSRSBpZCA9ICdbMiwzKSciKTsKK2lzKCAkc3RkZXJyLAorCXFxKHBzcWw6PHN0ZGluPjoxOiBF UlJPUjogIGNhbm5vdCBkZWxldGUgZnJvbSB0YWJsZSAidGVtcG9yYWxfdW5pcXVlIiBiZWNhdXNl IGl0IGRvZXMgbm90IGhhdmUgYSByZXBsaWNhIGlkZW50aXR5IGFuZCBwdWJsaXNoZXMgZGVsZXRl cworSElOVDogIFRvIGVuYWJsZSBkZWxldGluZyBmcm9tIHRoZSB0YWJsZSwgc2V0IFJFUExJQ0Eg SURFTlRJVFkgdXNpbmcgQUxURVIgVEFCTEUuKSwKKwkiY2FuJ3QgREVMRVRFIEZPUiBQT1JUSU9O IE9GIHRlbXBvcmFsX3VuaXF1ZSBOT1RISU5HIik7CiAKICRub2RlX3B1Ymxpc2hlci0+d2FpdF9m b3JfY2F0Y2h1cCgnc3ViMScpOwogCmRpZmYgLS1naXQgYS9zcmMvdG9vbHMvcGdpbmRlbnQvdHlw ZWRlZnMubGlzdCBiL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CmluZGV4IDIzYmNl NzJhZTY0Li43MjJhZGE4ZjZhYyAxMDA2NDQKLS0tIGEvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVk ZWZzLmxpc3QKKysrIGIvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QKQEAgLTgzOCw2 ICs4MzgsOSBAQCBGb3JCb3RoU3RhdGUKIEZvckVhY2hTdGF0ZQogRm9yRml2ZVN0YXRlCiBGb3JG b3VyU3RhdGUKK0ZvclBvcnRpb25PZkNsYXVzZQorRm9yUG9ydGlvbk9mRXhwcgorRm9yUG9ydGlv bk9mU3RhdGUKIEZvclRocmVlU3RhdGUKIEZvcmVpZ25Bc3luY0NvbmZpZ3VyZVdhaXRfZnVuY3Rp b24KIEZvcmVpZ25Bc3luY05vdGlmeV9mdW5jdGlvbgpAQCAtOTcxLDYgKzk3NCw3IEBAIEZvcm1f cGdfdHNfdGVtcGxhdGUKIEZvcm1fcGdfdHlwZQogRm9ybV9wZ191c2VyX21hcHBpbmcKIEZvcm1h dE5vZGUKK0ZQT19RdWVyeUhhc2hFbnRyeQogRnJlZUJsb2NrTnVtYmVyQXJyYXkKIEZyZWVMaXN0 RGF0YQogRnJlZVBhZ2VCdHJlZQotLSAKMi40Ny4zCgo= --000000000000e635b70643f70cee Content-Type: text/x-patch; charset="US-ASCII"; name="v61-0001-Fix-typo-in-documentation-about-application-time.patch" Content-Disposition: attachment; filename="v61-0001-Fix-typo-in-documentation-about-application-time.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mi6cuml80 RnJvbSA4N2JhNmQ1NTliODM2M2Q3NDA1ZjU0MzdiNmYxZWQwOWUwMTNhM2ZiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IFdlZCwgMTIgTm92IDIwMjUgMTY6NTM6NTEgLTA4MDAKU3ViamVj dDogW1BBVENIIHY2MSAwMS8xMF0gRml4IHR5cG8gaW4gZG9jdW1lbnRhdGlvbiBhYm91dCBhcHBs aWNhdGlvbiB0aW1lCgpBdXRob3I6IFBhdWwgQS4gSnVuZ3dpcnRoIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+Ci0tLQogZG9jL3NyYy9zZ21sL2RkbC5zZ21sIHwgMyArLS0KIDEgZmlsZSBj aGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mv c3JjL3NnbWwvZGRsLnNnbWwgYi9kb2Mvc3JjL3NnbWwvZGRsLnNnbWwKaW5kZXggYmY1NzRhMTc0 MWIuLjA5YWQ4NDAwZmQwIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvZGRsLnNnbWwKKysrIGIv ZG9jL3NyYy9zZ21sL2RkbC5zZ21sCkBAIC0xNjEwLDcgKzE2MTAsNyBAQCBDUkVBVEUgVEFCTEUg Y2lyY2xlcyAoCiAKICAgIDxwYXJhPgogICAgIDxmaXJzdHRlcm0+QXBwbGljYXRpb24gdGltZTwv Zmlyc3R0ZXJtPiByZWZlcnMgdG8gYSBoaXN0b3J5IG9mIHRoZSBlbnRpdHkKLSAgICBkZXNjcmli ZWQgYnkgYSB0YWJsZS4gIEluIGEgdHlwaWNhbCBub24tdGVtcG9yYWwgdGFibGUsIHRoZXJlIGlz IHNpbmdsZQorICAgIGRlc2NyaWJlZCBieSBhIHRhYmxlLiAgSW4gYSB0eXBpY2FsIG5vbi10ZW1w b3JhbCB0YWJsZSwgdGhlcmUgaXMgYSBzaW5nbGUKICAgICByb3cgZm9yIGVhY2ggZW50aXR5LiAg SW4gYSB0ZW1wb3JhbCB0YWJsZSwgYW4gZW50aXR5IG1heSBoYXZlIG11bHRpcGxlCiAgICAgcm93 cywgYXMgbG9uZyBhcyB0aG9zZSByb3dzIGRlc2NyaWJlIG5vbi1vdmVybGFwcGluZyBwZXJpb2Rz IGZyb20gaXRzCiAgICAgaGlzdG9yeS4gIEFwcGxpY2F0aW9uIHRpbWUgcmVxdWlyZXMgZWFjaCBy b3cgdG8gaGF2ZSBhIHN0YXJ0IGFuZCBlbmQgdGltZSwKQEAgLTE4MDYsNyArMTgwNiw2IEBAIENS RUFURSBUQUJMRSB2YXJpYW50cyAoCiAgICAgPC9maWd1cmU+CiAKICAgICA8cGFyYT4KLQogICAg ICBJbiBhIHRhYmxlLCB0aGVzZSByZWNvcmRzIHdvdWxkIGJlOgogPHByb2dyYW1saXN0aW5nPgog IGlkIHwgcHJvZHVjdF9ubyB8ICBuYW1lICB8ICAgICAgICB2YWxpZF9hdAotLSAKMi40Ny4zCgo= --000000000000e635b70643f70cee Content-Type: text/x-patch; charset="US-ASCII"; name="v61-0005-Add-isolation-tests-for-UPDATE-DELETE-FOR-PORTIO.patch" Content-Disposition: attachment; filename="v61-0005-Add-isolation-tests-for-UPDATE-DELETE-FOR-PORTIO.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mi6cumlp4 RnJvbSA1MDU5NDM1NDNiMjEzOGVkN2U2NjA4YWQxMGU5ZmY5MDQwZDViNDhjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IEZyaSwgMzEgT2N0IDIwMjUgMTk6NTk6NTIgLTA3MDAKU3ViamVj dDogW1BBVENIIHY2MSAwNS8xMF0gQWRkIGlzb2xhdGlvbiB0ZXN0cyBmb3IgVVBEQVRFL0RFTEVU RSBGT1IgUE9SVElPTgogT0YKCkNvbmN1cnJlbnQgdXBkYXRlcy9kZWxldGVzIGluIFJFQUQgQ09N TUlUVEVEIG1vZGUgZG9uJ3QgZ2l2ZSB5b3Ugd2hhdCB5b3Ugd2FudDoKdGhlIHNlY29uZCB1cGRh dGUvZGVsZXRlIGZhaWxzIHRvIGxlZnRvdmVycyBmcm9tIHRoZSBmaXJzdCwgc28geW91IGVzc2Vu dGlhbGx5CmhhdmUgbG9zdCB1cGRhdGVzL2RlbGV0ZXMuIEJ1dCB3ZSBhcmUgZm9sbG93aW5nIHRo ZSBydWxlcywgYW5kIG90aGVyIFJEQk1TZXMKZ2l2ZSB5b3Ugc2NyZXd5IHJlc3VsdHMgaW4gUkVB RCBDT01NSVRURUQgdG9vIChhbGJlaXQgZGlmZmVyZW50KS4KCk9uZSBhcHByb2FjaCBpcyB0byBs b2NrIHRoZSBoaXN0b3J5IHlvdSB3YW50IHdpdGggU0VMRUNUIEZPUiBVUERBVEUgYmVmb3JlCmlz c3VpbmcgdGhlIGFjdHVhbCBVUERBVEUvREVMRVRFLiBUaGF0IHdheSB5b3Ugc2VlIHRoZSBsZWZ0 b3ZlcnMgb2YgYW55b25lIGVsc2UKd2hvIGFsc28gdG91Y2hlZCB0aGF0IGhpc3RvcnkuIFRoZSBp c29sYXRpb24gdGVzdHMgaGVyZSB1c2UgdGhhdCBhcHByb2FjaCBhbmQKc2hvdyB0aGF0IGl0J3Mg dmlhYmxlLgoKQXV0aG9yOiBQYXVsIEEuIEp1bmd3aXJ0aCA8cGpAaWxsdW1pbmF0ZWRjb21wdXRp bmcuY29tPgotLS0KIGRvYy9zcmMvc2dtbC9kbWwuc2dtbCAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAgMTYgKwogc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZU1vZGlmeVRhYmxlLmMgICAgICAg IHwgICAgNCArCiAuLi4vaXNvbGF0aW9uL2V4cGVjdGVkL2Zvci1wb3J0aW9uLW9mLm91dCAgICAg fCA1ODAzICsrKysrKysrKysrKysrKysrCiBzcmMvdGVzdC9pc29sYXRpb24vaXNvbGF0aW9uX3Nj aGVkdWxlICAgICAgICAgfCAgICAxICsKIHNyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy9mb3ItcG9y dGlvbi1vZi5zcGVjICB8ICA3NTAgKysrCiA1IGZpbGVzIGNoYW5nZWQsIDY1NzQgaW5zZXJ0aW9u cygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L2lzb2xhdGlvbi9leHBlY3RlZC9mb3It cG9ydGlvbi1vZi5vdXQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9pc29sYXRpb24vc3Bl Y3MvZm9yLXBvcnRpb24tb2Yuc3BlYwoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9kbWwuc2dt bCBiL2RvYy9zcmMvc2dtbC9kbWwuc2dtbAppbmRleCAxZDE2ZWFlMTg3NC4uM2YxOGE5NmZmZjUg MTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9kbWwuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvZG1s LnNnbWwKQEAgLTM5Myw2ICszOTMsMjIgQEAgV0hFUkUgcHJvZHVjdF9ubyA9IDU7CiAgICBjb2x1 bW4gcmVmZXJlbmNlcyBhcmUgbm90LgogICA8L3BhcmE+CiAKKyAgPHBhcmE+CisgICBJbiA8bGl0 ZXJhbD5SRUFEIENPTU1JVFRFRDwvbGl0ZXJhbD4gbW9kZSwgdGVtcG9yYWwgdXBkYXRlcyBhbmQg ZGVsZXRlcyBjYW4KKyAgIHlpZWxkIHVuZXhwZWN0ZWQgcmVzdWx0cyB3aGVuIHRoZXkgY29uY3Vy cmVudGx5IHRvdWNoIHRoZSBzYW1lIHJvdy4gSXQgaXMKKyAgIHBvc3NpYmxlIHRvIGxvc2UgYWxs IG9yIHBhcnQgb2YgdGhlIHNlY29uZCB1cGRhdGUgb3IgZGVsZXRlLiBUaGF0J3MgYmVjYXVzZQor ICAgYWZ0ZXIgdGhlIGZpcnN0IHVwZGF0ZSBjaGFuZ2VzIHRoZSBzdGFydC9lbmQgdGltZXMgb2Yg dGhlIG9yaWdpbmFsCisgICByZWNvcmQsIGl0IG1heSBubyBsb25nZXIgZml0IHdpdGhpbiB0aGUg c2Vjb25kIHF1ZXJ5J3MgPGxpdGVyYWw+Rk9SIFBPUlRJT04KKyAgIE9GPC9saXRlcmFsPiBib3Vu ZHMsIHNvIGl0IGJlY29tZXMgZGlzcXVhbGlmaWVkIGZyb20gdGhlIHF1ZXJ5LiBPbiB0aGUgb3Ro ZXIKKyAgIGhhbmQgdGhlIGp1c3QtaW5zZXJ0ZWQgdGVtcG9yYWwgbGVmdG92ZXJzIG1heSBiZSBv dmVybG9va2VkIGJ5IHRoZSBzZWNvbmQgcXVlcnksCisgICB3aGljaCBoYXMgYWxyZWFkeSBzY2Fu bmVkIHRoZSB0YWJsZSB0byBmaW5kIHJvd3MgdG8gbW9kaWZ5LiBUbyBzb2x2ZSB0aGVzZQorICAg cHJvYmxlbXMsIHByZWNlZGUgZXZlcnkgdGVtcG9yYWwgdXBkYXRlL2RlbGV0ZSB3aXRoIGEgPGxp dGVyYWw+U0VMRUNUIEZPUgorICAgVVBEQVRFPC9saXRlcmFsPiBtYXRjaGluZyB0aGUgc2FtZSBj cml0ZXJpYSAoaW5jbHVkaW5nIHRoZSB0YXJnZXRlZCBwb3J0aW9uIG9mCisgICBhcHBsaWNhdGlv biB0aW1lKS4gVGhhdCB3YXkgdGhlIGFjdHVhbCB1cGRhdGUvZGVsZXRlIGRvZXNuJ3QgYmVnaW4g dW50aWwgdGhlCisgICBsb2NrIGlzIGhlbGQsIGFuZCBhbGwgY29uY3VycmVudCBsZWZ0b3ZlcnMg d2lsbCBiZSB2aXNpYmxlLiBJbiBvdGhlcgorICAgdHJhbnNhY3Rpb24gaXNvbGF0aW9uIGxldmVs cywgdGhpcyBsb2NrIGlzIG5vdCByZXF1aXJlZC4KKyAgPC9wYXJhPgorCiAgIDxwYXJhPgogICAg V2hlbiB0ZW1wb3JhbCBsZWZ0b3ZlcnMgYXJlIGluc2VydGVkLCBhbGwgPGxpdGVyYWw+SU5TRVJU PC9saXRlcmFsPgogICAgdHJpZ2dlcnMgYXJlIGZpcmVkLCBidXQgcGVybWlzc2lvbiBjaGVja3Mg Zm9yIGluc2VydGluZyByb3dzIGFyZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvZXhlY3V0b3Iv bm9kZU1vZGlmeVRhYmxlLmMgYi9zcmMvYmFja2VuZC9leGVjdXRvci9ub2RlTW9kaWZ5VGFibGUu YwppbmRleCAzNGY0OWFlNTk4MS4uNTUzZDRhZDhhMmEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L2V4ZWN1dG9yL25vZGVNb2RpZnlUYWJsZS5jCisrKyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25v ZGVNb2RpZnlUYWJsZS5jCkBAIC0xNDAzLDYgKzE0MDMsMTAgQEAgRXhlY0ZvclBvcnRpb25PZkxl ZnRvdmVycyhNb2RpZnlUYWJsZUNvbnRleHQgKmNvbnRleHQsCiAJICogV2UgaGF2ZSBhbHJlYWR5 IGxvY2tlZCB0aGUgdHVwbGUgaW4gRXhlY1VwZGF0ZS9FeGVjRGVsZXRlLCBhbmQgaXQgaGFzCiAJ ICogcGFzc2VkIEV2YWxQbGFuUXVhbC4gVGhpcyBlbnN1cmVzIHRoYXQgY29uY3VycmVudCB1cGRh dGVzIGluIFJFQUQKIAkgKiBDT01NSVRURUQgY2FuJ3QgaW5zZXJ0IGNvbmZsaWN0aW5nIHRlbXBv cmFsIGxlZnRvdmVycy4KKwkgKgorCSAqIEl0IGRvZXMgKm5vdCogcHJvdGVjdCBhZ2FpbnN0IGNv bmN1cnJlbnQgdXBkYXRlL2RlbGV0ZXMgb3Zlcmxvb2tpbmcgZWFjaAorCSAqIG90aGVycycgbGVm dG92ZXJzIHRob3VnaC4gU2VlIG91ciBpc29sYXRpb24gdGVzdHMgZm9yIGRldGFpbHMgYWJvdXQg dGhhdAorCSAqIGFuZCBhIHZpYWJsZSB3b3JrYXJvdW5kLgogCSAqLwogCWlmICghdGFibGVfdHVw bGVfZmV0Y2hfcm93X3ZlcnNpb24ocmVzdWx0UmVsSW5mby0+cmlfUmVsYXRpb25EZXNjLCB0dXBs ZWlkLCBTbmFwc2hvdEFueSwgb2xkdHVwbGVTbG90KSkKIAkJZWxvZyhFUlJPUiwgImZhaWxlZCB0 byBmZXRjaCB0dXBsZSBmb3IgRk9SIFBPUlRJT04gT0YiKTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0 L2lzb2xhdGlvbi9leHBlY3RlZC9mb3ItcG9ydGlvbi1vZi5vdXQgYi9zcmMvdGVzdC9pc29sYXRp b24vZXhwZWN0ZWQvZm9yLXBvcnRpb24tb2Yub3V0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwLi44OWY2NDZkZDg5OQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L2lz b2xhdGlvbi9leHBlY3RlZC9mb3ItcG9ydGlvbi1vZi5vdXQKQEAgLTAsMCArMSw1ODAzIEBACitQ YXJzZWQgdGVzdCBzcGVjIHdpdGggMiBzZXNzaW9ucworCitzdGFydGluZyBwZXJtdXRhdGlvbjog czFyYyBzMnJjIHMybG9jazIwMjcgczJ1cGQyMDI3IHMyYyBzMWxvY2syMDI1IHMxdXBkMjAyNSBz MWMgczFxCitzdGVwIHMxcmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRFRDsK K3N0ZXAgczJyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVEOworc3RlcCBz MmxvY2syMDI3OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBpZCA9ICdbMSwy KScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNy0wMS0wMSwyMDI4LTAxLTAxKScKKyAgT1JERVIgQlkg dmFsaWRfYXQgRk9SIFVQREFURTsKKworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJp Y2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0w MSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMydXBkMjAyNzogCisgIFVQREFU RSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI3LTAxLTAxJyBU TyAnMjAyOC0wMS0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMikn OworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWxvY2syMDI1OiAKKyAgU0VMRUNUICogRlJP TSBwcm9kdWN0cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNS0w MS0wMSwyMDI2LTAxLTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQREFURTsKKworaWQg ICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorKDEgcm93 KQorCitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNl ID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVw IHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAg IHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxb MjAyNS0wMS0wMSwyMDI2LTAxLTAxKXwgOC4wMAorWzEsMil8WzIwMjYtMDEtMDEsMjAyNy0wMS0w MSl8IDUuMDAKK1sxLDIpfFsyMDI3LTAxLTAxLDIwMjgtMDEtMDEpfDEwLjAwCitbMSwyKXxbMjAy OC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDUgcm93cykKKworCitzdGFydGluZyBwZXJtdXRh dGlvbjogczFyYyBzMnJjIHMybG9jazIwMjUwMyBzMnVwZDIwMjUwMyBzMmMgczFsb2NrMjAyNSBz MXVwZDIwMjUgczFjIHMxcQorc3RlcCBzMXJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBD T01NSVRURUQ7CitzdGVwIHMycmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRF RDsKK3N0ZXAgczJsb2NrMjAyNTAzOiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVS RSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNS0wMy0wMSwyMDI1LTA0LTAxKScK KyAgT1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQREFURTsKKworaWQgICB8dmFsaWRfYXQgICAgICAg ICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwy KXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMydXBkMjAy NTAzOiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMjUtMDMtMDEnIFRPICcyMDI1LTA0LTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVS RSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxbG9jazIwMjU6IAor ICBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRf YXQgJiYgJ1syMDI1LTAxLTAxLDIwMjYtMDEtMDEpJworICBPUkRFUiBCWSB2YWxpZF9hdCBGT1Ig VVBEQVRFOworCitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDMtMDEp fCA1LjAwCitbMSwyKXxbMjAyNS0wMy0wMSwyMDI1LTA0LTAxKXwxMC4wMAorWzEsMil8WzIwMjUt MDQtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygzIHJvd3MpCisKK3N0ZXAgczF1cGQyMDI1OiAKKyAg VVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEt MDEnIFRPICcyMDI2LTAxLTAxJworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sx LDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1 Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAg fHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAt MDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTAxLTAxLDIwMjUtMDMtMDEpfCA4 LjAwCitbMSwyKXxbMjAyNS0wMy0wMSwyMDI1LTA0LTAxKXwgOC4wMAorWzEsMil8WzIwMjUtMDQt MDEsMjAyNi0wMS0wMSl8IDguMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAw CisoNSByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJjIHMycmMgczJsb2NrMjAy NTIwMjYgczJ1cGQyMDI1MjAyNiBzMmMgczFsb2NrMjAyNSBzMXVwZDIwMjUgczFjIHMxcQorc3Rl cCBzMXJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMycmM6 IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRFRDsKK3N0ZXAgczJsb2NrMjAyNTIw MjY6IAorICBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQg dmFsaWRfYXQgJiYgJ1syMDI1LTA2LTAxLDIwMjYtMDYtMDEpJworICBPUkRFUiBCWSB2YWxpZF9h dCBGT1IgVVBEQVRFOworCitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAt MDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJ1cGQyMDI1MjAyNjogCisgIFVQREFURSBw cm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTA2LTAxJyBUTyAn MjAyNi0wNi0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOwor CitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWxvY2syMDI1OiAKKyAgU0VMRUNUICogRlJPTSBw cm9kdWN0cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNS0wMS0w MSwyMDI2LTAxLTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQREFURTsKKworaWQgICB8 dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTA2LTAxKXwgNS4wMAorWzEsMil8WzIw MjUtMDYtMDEsMjAyNi0wNi0wMSl8MTAuMDAKKygyIHJvd3MpCisKK3N0ZXAgczF1cGQyMDI1OiAK KyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUt MDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0g J1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHBy b2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAg ICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIw MjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTAxLTAxLDIwMjUtMDYtMDEp fCA4LjAwCitbMSwyKXxbMjAyNS0wNi0wMSwyMDI2LTAxLTAxKXwgOC4wMAorWzEsMil8WzIwMjYt MDEtMDEsMjAyNi0wNi0wMSl8MTAuMDAKK1sxLDIpfFsyMDI2LTA2LTAxLDIwMzAtMDEtMDEpfCA1 LjAwCisoNSByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJjIHMycmMgczFsb2Nr MjAyNSBzMXVwZDIwMjUgczFjIHMybG9jazIwMjcgczJ1cGQyMDI3IHMyYyBzMXEKK3N0ZXAgczFy YzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVEOworc3RlcCBzMnJjOiBCRUdJ TiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMxbG9jazIwMjU6IAorICBT RUxFQ1QgKiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQg JiYgJ1syMDI1LTAxLTAxLDIwMjYtMDEtMDEpJworICBPUkRFUiBCWSB2YWxpZF9hdCBGT1IgVVBE QVRFOworCitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1 LjAwCisoMSByb3cpCisKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJwor ICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENP TU1JVDsKK3N0ZXAgczJsb2NrMjAyNzogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hF UkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjctMDEtMDEsMjAyOC0wMS0wMSkn CisgIE9SREVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0ICAgICAg ICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEs Mil8WzIwMjYtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMnVwZDIw Mjc6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAyNy0wMS0wMScgVE8gJzIwMjgtMDEtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJF IGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBG Uk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAg ICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEs Mil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTAxLTAxLDIwMjYt MDEtMDEpfCA4LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorWzEsMil8 WzIwMjctMDEtMDEsMjAyOC0wMS0wMSl8MTAuMDAKK1sxLDIpfFsyMDI4LTAxLTAxLDIwMzAtMDEt MDEpfCA1LjAwCisoNSByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJjIHMycmMg czFsb2NrMjAyNSBzMXVwZDIwMjUgczFjIHMybG9jazIwMjUwMyBzMnVwZDIwMjUwMyBzMmMgczFx CitzdGVwIHMxcmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRFRDsKK3N0ZXAg czJyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVEOworc3RlcCBzMWxvY2sy MDI1OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5E IHZhbGlkX2F0ICYmICdbMjAyNS0wMS0wMSwyMDI2LTAxLTAxKScKKyAgT1JERVIgQlkgdmFsaWRf YXQgRk9SIFVQREFURTsKKworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMw LTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9k dWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAy Ni0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0 ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMybG9jazIwMjUwMzogCisgIFNFTEVDVCAqIEZST00gcHJv ZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjUtMDMtMDEs MjAyNS0wNC0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZh bGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLQorWzEsMil8WzIwMjUtMDEtMDEsMjAyNi0wMS0wMSl8IDguMDAKKygxIHJvdykKKwor c3RlcCBzMnVwZDIwMjUwMzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDI1LTAzLTAxJyBUTyAnMjAyNS0wNC0wMScKKyAgU0VUIHByaWNlID0g MTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBz MXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8 dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIw MjUtMDEtMDEsMjAyNS0wMy0wMSl8IDguMDAKK1sxLDIpfFsyMDI1LTAzLTAxLDIwMjUtMDQtMDEp fDEwLjAwCitbMSwyKXxbMjAyNS0wNC0wMSwyMDI2LTAxLTAxKXwgOC4wMAorWzEsMil8WzIwMjYt MDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKyg1IHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRp b246IHMxcmMgczJyYyBzMWxvY2syMDI1IHMxdXBkMjAyNSBzMWMgczJsb2NrMjAyNTIwMjYgczJ1 cGQyMDI1MjAyNiBzMmMgczFxCitzdGVwIHMxcmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFE IENPTU1JVFRFRDsKK3N0ZXAgczJyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlU VEVEOworc3RlcCBzMWxvY2syMDI1OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVS RSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNS0wMS0wMSwyMDI2LTAxLTAxKScK KyAgT1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQREFURTsKKworaWQgICB8dmFsaWRfYXQgICAgICAg ICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwy KXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMxdXBkMjAy NTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBp ZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMybG9jazIwMjUyMDI2OiAK KyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlk X2F0ICYmICdbMjAyNS0wNi0wMSwyMDI2LTA2LTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9S IFVQREFURTsKKworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyNS0wMS0wMSwyMDI2LTAxLTAx KXwgOC4wMAorWzEsMil8WzIwMjYtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygyIHJvd3MpCisK K3N0ZXAgczJ1cGQyMDI1MjAyNjogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDI1LTA2LTAxJyBUTyAnMjAyNi0wNi0wMScKKyAgU0VUIHByaWNl ID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3Rl cCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQg ICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8 WzIwMjUtMDEtMDEsMjAyNS0wNi0wMSl8IDguMDAKK1sxLDIpfFsyMDI1LTA2LTAxLDIwMjYtMDEt MDEpfDEwLjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDI2LTA2LTAxKXwxMC4wMAorWzEsMil8WzIw MjYtMDYtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKyg1IHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0 YXRpb246IHMxcmMgczJyYyBzMmxvY2syMDI3IHMydXBkMjAyNyBzMWxvY2syMDI1IHMyYyBzMXVw ZDIwMjUgczFjIHMxcQorc3RlcCBzMXJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01N SVRURUQ7CitzdGVwIHMycmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRFRDsK K3N0ZXAgczJsb2NrMjAyNzogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQg PSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjctMDEtMDEsMjAyOC0wMS0wMSknCisgIE9S REVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAg ICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIw MjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMnVwZDIwMjc6IAor ICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNy0w MS0wMScgVE8gJzIwMjgtMDEtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0g J1sxLDIpJzsKKworc3RlcCBzMWxvY2syMDI1OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cwor ICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNS0wMS0wMSwyMDI2LTAx LTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQREFURTsKKyA8d2FpdGluZyAuLi4+Citz dGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWxvY2syMDI1OiA8Li4uIGNvbXBsZXRlZD4KK2lkfHZh bGlkX2F0fHByaWNlCistLSstLS0tLS0tLSstLS0tLQorKDAgcm93cykKKworc3RlcCBzMXVwZDIw MjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUg aWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZS T00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAg ICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwy KXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjUtMDEtMDEsMjAyNi0w MS0wMSl8IDguMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjctMDEtMDEpfCA1LjAwCitbMSwyKXxb MjAyNy0wMS0wMSwyMDI4LTAxLTAxKXwxMC4wMAorWzEsMil8WzIwMjgtMDEtMDEsMjAzMC0wMS0w MSl8IDUuMDAKKyg1IHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxcmMgczJyYyBz MmxvY2syMDI1MDMgczJ1cGQyMDI1MDMgczFsb2NrMjAyNSBzMmMgczF1cGQyMDI1IHMxYyBzMXEK K3N0ZXAgczFyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVEOworc3RlcCBz MnJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMybG9jazIw MjUwMzogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFO RCB2YWxpZF9hdCAmJiAnWzIwMjUtMDMtMDEsMjAyNS0wNC0wMSknCisgIE9SREVSIEJZIHZhbGlk X2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCist LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAz MC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMnVwZDIwMjUwMzogCisgIFVQREFURSBw cm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAzLTAxJyBUTyAn MjAyNS0wNC0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOwor CitzdGVwIHMxbG9jazIwMjU6IAorICBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlk ID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgJiYgJ1syMDI1LTAxLTAxLDIwMjYtMDEtMDEpJworICBP UkRFUiBCWSB2YWxpZF9hdCBGT1IgVVBEQVRFOworIDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBD T01NSVQ7CitzdGVwIHMxbG9jazIwMjU6IDwuLi4gY29tcGxldGVkPgoraWQgICB8dmFsaWRfYXQg ICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t CitbMSwyKXxbMjAyNS0wMy0wMSwyMDI1LTA0LTAxKXwxMC4wMAorKDEgcm93KQorCitzdGVwIHMx dXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBX SEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNU ICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAg ICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0K K1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wMS0wMSwy MDI1LTAzLTAxKXwgOC4wMAorWzEsMil8WzIwMjUtMDMtMDEsMjAyNS0wNC0wMSl8IDguMDAKK1sx LDIpfFsyMDI1LTA0LTAxLDIwMjYtMDEtMDEpfCA4LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDMw LTAxLTAxKXwgNS4wMAorKDUgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyYyBz MnJjIHMybG9jazIwMjUyMDI2IHMydXBkMjAyNTIwMjYgczFsb2NrMjAyNSBzMmMgczF1cGQyMDI1 IHMxYyBzMXEKK3N0ZXAgczFyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVE Oworc3RlcCBzMnJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVw IHMybG9jazIwMjUyMDI2OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBpZCA9 ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNS0wNi0wMSwyMDI2LTA2LTAxKScKKyAgT1JE RVIgQlkgdmFsaWRfYXQgRk9SIFVQREFURTsKKworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAg ICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAy MC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMydXBkMjAyNTIwMjY6 IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAy NS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlk ID0gJ1sxLDIpJzsKKworc3RlcCBzMWxvY2syMDI1OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0 cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNS0wMS0wMSwyMDI2 LTAxLTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQREFURTsKKyA8d2FpdGluZyAuLi4+ CitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWxvY2syMDI1OiA8Li4uIGNvbXBsZXRlZD4KK2lk ICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjUtMDYtMDEsMjAyNi0wNi0wMSl8MTAuMDAKKygxIHJv dykKKworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmlj ZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3Rl cCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQg ICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8 WzIwMjUtMDEtMDEsMjAyNS0wNi0wMSl8IDguMDAKK1sxLDIpfFsyMDI1LTA2LTAxLDIwMjYtMDEt MDEpfCA4LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDI2LTA2LTAxKXwxMC4wMAorWzEsMil8WzIw MjYtMDYtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKyg1IHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0 YXRpb246IHMxcmMgczJyYyBzMmxvY2syMDI3IHMyZGVsMjAyNyBzMmMgczFsb2NrMjAyNSBzMXVw ZDIwMjUgczFjIHMxcQorc3RlcCBzMXJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01N SVRURUQ7CitzdGVwIHMycmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRFRDsK K3N0ZXAgczJsb2NrMjAyNzogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQg PSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjctMDEtMDEsMjAyOC0wMS0wMSknCisgIE9S REVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAg ICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIw MjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMmRlbDIwMjc6IAor ICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVw IHMyYzogQ09NTUlUOworc3RlcCBzMWxvY2syMDI1OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0 cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNS0wMS0wMSwyMDI2 LTAxLTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQREFURTsKKworaWQgICB8dmFsaWRf YXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVw IHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAor ICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VM RUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9h dCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wMS0w MSwyMDI2LTAxLTAxKXwgOC4wMAorWzEsMil8WzIwMjYtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAK K1sxLDIpfFsyMDI4LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoNCByb3dzKQorCisKK3N0YXJ0 aW5nIHBlcm11dGF0aW9uOiBzMXJjIHMycmMgczJsb2NrMjAyNTAzIHMyZGVsMjAyNTAzIHMyYyBz MWxvY2syMDI1IHMxdXBkMjAyNSBzMWMgczFxCitzdGVwIHMxcmM6IEJFR0lOIElTT0xBVElPTiBM RVZFTCBSRUFEIENPTU1JVFRFRDsKK3N0ZXAgczJyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJF QUQgQ09NTUlUVEVEOworc3RlcCBzMmxvY2syMDI1MDM6IAorICBTRUxFQ1QgKiBGUk9NIHByb2R1 Y3RzCisgIFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgJiYgJ1syMDI1LTAzLTAxLDIw MjUtMDQtMDEpJworICBPUkRFUiBCWSB2YWxpZF9hdCBGT1IgVVBEQVRFOworCitpZCAgIHx2YWxp ZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0 ZXAgczJkZWwyMDI1MDM6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDI1LTAzLTAxJyBUTyAnMjAyNS0wNC0wMScKKyAgV0hFUkUgaWQg PSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWxvY2syMDI1OiAKKyAgU0VM RUNUICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYm ICdbMjAyNS0wMS0wMSwyMDI2LTAxLTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQREFU RTsKKworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAzLTAxKXwgNS4w MAorWzEsMil8WzIwMjUtMDQtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygyIHJvd3MpCisKK3N0ZXAg czF1cGQyMDI1OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBTRVQgcHJpY2UgPSA4LjAwCisg IFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxF Q1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0 ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTAxLTAx LDIwMjUtMDMtMDEpfCA4LjAwCitbMSwyKXxbMjAyNS0wNC0wMSwyMDI2LTAxLTAxKXwgOC4wMAor WzEsMil8WzIwMjYtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKyg0IHJvd3MpCisKKworc3RhcnRp bmcgcGVybXV0YXRpb246IHMxcmMgczJyYyBzMmxvY2syMDI1MjAyNiBzMmRlbDIwMjUyMDI2IHMy YyBzMWxvY2syMDI1IHMxdXBkMjAyNSBzMWMgczFxCitzdGVwIHMxcmM6IEJFR0lOIElTT0xBVElP TiBMRVZFTCBSRUFEIENPTU1JVFRFRDsKK3N0ZXAgczJyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVM IFJFQUQgQ09NTUlUVEVEOworc3RlcCBzMmxvY2syMDI1MjAyNjogCisgIFNFTEVDVCAqIEZST00g cHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjUtMDYt MDEsMjAyNi0wNi0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAg fHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykK Kworc3RlcCBzMmRlbDIwMjUyMDI2OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFdI RVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFsb2NrMjAyNTog CisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxp ZF9hdCAmJiAnWzIwMjUtMDEtMDEsMjAyNi0wMS0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0IEZP UiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wNi0w MSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMK KyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEt MDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMx YzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAx KXwgNS4wMAorWzEsMil8WzIwMjUtMDEtMDEsMjAyNS0wNi0wMSl8IDguMDAKK1sxLDIpfFsyMDI2 LTA2LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMyByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0 aW9uOiBzMXJjIHMycmMgczFsb2NrMjAyNSBzMXVwZDIwMjUgczFjIHMybG9jazIwMjcgczJkZWwy MDI3IHMyYyBzMXEKK3N0ZXAgczFyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlU VEVEOworc3RlcCBzMnJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7Citz dGVwIHMxbG9jazIwMjU6IAorICBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0g J1sxLDIpJyBBTkQgdmFsaWRfYXQgJiYgJ1syMDI1LTAxLTAxLDIwMjYtMDEtMDEpJworICBPUkRF UiBCWSB2YWxpZF9hdCBGT1IgVVBEQVRFOworCitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAg IHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIw LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczF1cGQyMDI1OiAKKyAg VVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEt MDEnIFRPICcyMDI2LTAxLTAxJworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sx LDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczJsb2NrMjAyNzogCisgIFNFTEVDVCAq IEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIw MjctMDEtMDEsMjAyOC0wMS0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisK K2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjYtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygx IHJvdykKKworc3RlcCBzMmRlbDIwMjc6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAg V0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVD VCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQg ICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t CitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjUtMDEtMDEs MjAyNi0wMS0wMSl8IDguMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjctMDEtMDEpfCA1LjAwCitb MSwyKXxbMjAyOC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDQgcm93cykKKworCitzdGFydGlu ZyBwZXJtdXRhdGlvbjogczFyYyBzMnJjIHMxbG9jazIwMjUgczF1cGQyMDI1IHMxYyBzMmxvY2sy MDI1MDMgczJkZWwyMDI1MDMgczJjIHMxcQorc3RlcCBzMXJjOiBCRUdJTiBJU09MQVRJT04gTEVW RUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMycmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFE IENPTU1JVFRFRDsKK3N0ZXAgczFsb2NrMjAyNTogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMK KyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjUtMDEtMDEsMjAyNi0w MS0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0 ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LQorWzEsMil8WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBz MXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAg V0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMmxvY2syMDI1 MDM6IAorICBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQg dmFsaWRfYXQgJiYgJ1syMDI1LTAzLTAxLDIwMjUtMDQtMDEpJworICBPUkRFUiBCWSB2YWxpZF9h dCBGT1IgVVBEQVRFOworCitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDI1LTAxLTAxLDIwMjYt MDEtMDEpfCA4LjAwCisoMSByb3cpCisKK3N0ZXAgczJkZWwyMDI1MDM6IAorICBERUxFVEUgRlJP TSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAzLTAxJyBU TyAnMjAyNS0wNC0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlU Oworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAor WzEsMil8WzIwMjUtMDEtMDEsMjAyNS0wMy0wMSl8IDguMDAKK1sxLDIpfFsyMDI1LTA0LTAxLDIw MjYtMDEtMDEpfCA4LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDQg cm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyYyBzMnJjIHMxbG9jazIwMjUgczF1 cGQyMDI1IHMxYyBzMmxvY2syMDI1MjAyNiBzMmRlbDIwMjUyMDI2IHMyYyBzMXEKK3N0ZXAgczFy YzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVEOworc3RlcCBzMnJjOiBCRUdJ TiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMxbG9jazIwMjU6IAorICBT RUxFQ1QgKiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQg JiYgJ1syMDI1LTAxLTAxLDIwMjYtMDEtMDEpJworICBPUkRFUiBCWSB2YWxpZF9hdCBGT1IgVVBE QVRFOworCitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1 LjAwCisoMSByb3cpCisKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJwor ICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENP TU1JVDsKK3N0ZXAgczJsb2NrMjAyNTIwMjY6IAorICBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzCisg IFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgJiYgJ1syMDI1LTA2LTAxLDIwMjYtMDYt MDEpJworICBPUkRFUiBCWSB2YWxpZF9hdCBGT1IgVVBEQVRFOworCitpZCAgIHx2YWxpZF9hdCAg ICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0K K1sxLDIpfFsyMDI1LTAxLTAxLDIwMjYtMDEtMDEpfCA4LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwy MDMwLTAxLTAxKXwgNS4wMAorKDIgcm93cykKKworc3RlcCBzMmRlbDIwMjUyMDI2OiAKKyAgREVM RVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0w Ni0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6 IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2 YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8 IDUuMDAKK1sxLDIpfFsyMDI1LTAxLTAxLDIwMjUtMDYtMDEpfCA4LjAwCitbMSwyKXxbMjAyNi0w Ni0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlv bjogczFyYyBzMnJjIHMybG9jazIwMjcgczJkZWwyMDI3IHMxbG9jazIwMjUgczJjIHMxdXBkMjAy NSBzMWMgczFxCitzdGVwIHMxcmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRF RDsKK3N0ZXAgczJyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVEOworc3Rl cCBzMmxvY2syMDI3OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBpZCA9ICdb MSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNy0wMS0wMSwyMDI4LTAxLTAxKScKKyAgT1JERVIg QlkgdmFsaWRfYXQgRk9SIFVQREFURTsKKworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8 cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0w MS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMyZGVsMjAyNzogCisgIERF TEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjct MDEtMDEnIFRPICcyMDI4LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFs b2NrMjAyNTogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMikn IEFORCB2YWxpZF9hdCAmJiAnWzIwMjUtMDEtMDEsMjAyNi0wMS0wMSknCisgIE9SREVSIEJZIHZh bGlkX2F0IEZPUiBVUERBVEU7CisgPHdhaXRpbmcgLi4uPgorc3RlcCBzMmM6IENPTU1JVDsKK3N0 ZXAgczFsb2NrMjAyNTogPC4uLiBjb21wbGV0ZWQ+CitpZHx2YWxpZF9hdHxwcmljZQorLS0rLS0t LS0tLS0rLS0tLS0KKygwIHJvd3MpCisKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBEQVRFIHByb2R1 Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2 LTAxLTAxJworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3Rl cCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0w MS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTAxLTAxLDIwMjYtMDEtMDEpfCA4LjAwCitbMSwyKXxb MjAyNi0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjgtMDEtMDEsMjAzMC0wMS0w MSl8IDUuMDAKKyg0IHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxcmMgczJyYyBz MmxvY2syMDI1MDMgczJkZWwyMDI1MDMgczFsb2NrMjAyNSBzMmMgczF1cGQyMDI1IHMxYyBzMXEK K3N0ZXAgczFyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVEOworc3RlcCBz MnJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMybG9jazIw MjUwMzogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFO RCB2YWxpZF9hdCAmJiAnWzIwMjUtMDMtMDEsMjAyNS0wNC0wMSknCisgIE9SREVSIEJZIHZhbGlk X2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCist LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAz MC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMmRlbDIwMjUwMzogCisgIERFTEVURSBG Uk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDMtMDEn IFRPICcyMDI1LTA0LTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFsb2NrMjAy NTogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2 YWxpZF9hdCAmJiAnWzIwMjUtMDEtMDEsMjAyNi0wMS0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0 IEZPUiBVUERBVEU7CisgPHdhaXRpbmcgLi4uPgorc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFs b2NrMjAyNTogPC4uLiBjb21wbGV0ZWQ+CitpZHx2YWxpZF9hdHxwcmljZQorLS0rLS0tLS0tLS0r LS0tLS0KKygwIHJvd3MpCisKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisg IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAx JworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6 IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2 YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8 IDUuMDAKK1sxLDIpfFsyMDI1LTAxLTAxLDIwMjUtMDMtMDEpfCA4LjAwCitbMSwyKXxbMjAyNS0w NC0wMSwyMDI2LTAxLTAxKXwgOC4wMAorWzEsMil8WzIwMjYtMDEtMDEsMjAzMC0wMS0wMSl8IDUu MDAKKyg0IHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxcmMgczJyYyBzMmxvY2sy MDI1MjAyNiBzMmRlbDIwMjUyMDI2IHMxbG9jazIwMjUgczJjIHMxdXBkMjAyNSBzMWMgczFxCitz dGVwIHMxcmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRFRDsKK3N0ZXAgczJy YzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVEOworc3RlcCBzMmxvY2syMDI1 MjAyNjogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFO RCB2YWxpZF9hdCAmJiAnWzIwMjUtMDYtMDEsMjAyNi0wNi0wMSknCisgIE9SREVSIEJZIHZhbGlk X2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCist LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAz MC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMmRlbDIwMjUyMDI2OiAKKyAgREVMRVRF IEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0w MScgVE8gJzIwMjYtMDYtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWxvY2sy MDI1OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5E IHZhbGlkX2F0ICYmICdbMjAyNS0wMS0wMSwyMDI2LTAxLTAxKScKKyAgT1JERVIgQlkgdmFsaWRf YXQgRk9SIFVQREFURTsKKyA8d2FpdGluZyAuLi4+CitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBz MWxvY2syMDI1OiA8Li4uIGNvbXBsZXRlZD4KK2lkfHZhbGlkX2F0fHByaWNlCistLSstLS0tLS0t LSstLS0tLQorKDAgcm93cykKKworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMK KyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEt MDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMx YzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAx KXwgNS4wMAorWzEsMil8WzIwMjUtMDEtMDEsMjAyNS0wNi0wMSl8IDguMDAKK1sxLDIpfFsyMDI2 LTA2LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMyByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0 aW9uOiBzMXJjIHMycmMgczJsb2NrMjAyNyBzMnVwZDIwMjcgczJjIHMxbG9jazIwMjUgczFkZWwy MDI1IHMxYyBzMXEKK3N0ZXAgczFyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlU VEVEOworc3RlcCBzMnJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7Citz dGVwIHMybG9jazIwMjc6IAorICBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0g J1sxLDIpJyBBTkQgdmFsaWRfYXQgJiYgJ1syMDI3LTAxLTAxLDIwMjgtMDEtMDEpJworICBPUkRF UiBCWSB2YWxpZF9hdCBGT1IgVVBEQVRFOworCitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAg IHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIw LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJ1cGQyMDI3OiAKKyAg VVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEt MDEnIFRPICcyMDI4LTAxLTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdb MSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxbG9jazIwMjU6IAorICBTRUxFQ1Qg KiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgJiYgJ1sy MDI1LTAxLTAxLDIwMjYtMDEtMDEpJworICBPUkRFUiBCWSB2YWxpZF9hdCBGT1IgVVBEQVRFOwor CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjctMDEtMDEpfCA1LjAwCiso MSByb3cpCisKK3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisg IFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxF Q1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0 ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTAxLTAx LDIwMjctMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNy0wMS0wMSwyMDI4LTAxLTAxKXwxMC4wMAor WzEsMil8WzIwMjgtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKyg0IHJvd3MpCisKKworc3RhcnRp bmcgcGVybXV0YXRpb246IHMxcmMgczJyYyBzMmxvY2syMDI1MDMgczJ1cGQyMDI1MDMgczJjIHMx bG9jazIwMjUgczFkZWwyMDI1IHMxYyBzMXEKK3N0ZXAgczFyYzogQkVHSU4gSVNPTEFUSU9OIExF VkVMIFJFQUQgQ09NTUlUVEVEOworc3RlcCBzMnJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVB RCBDT01NSVRURUQ7CitzdGVwIHMybG9jazIwMjUwMzogCisgIFNFTEVDVCAqIEZST00gcHJvZHVj dHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjUtMDMtMDEsMjAy NS0wNC0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlk X2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3Rl cCBzMnVwZDIwMjUwMzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDI1LTAzLTAxJyBUTyAnMjAyNS0wNC0wMScKKyAgU0VUIHByaWNlID0gMTAu MDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWxv Y2syMDI1OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBpZCA9ICdbMSwyKScg QU5EIHZhbGlkX2F0ICYmICdbMjAyNS0wMS0wMSwyMDI2LTAxLTAxKScKKyAgT1JERVIgQlkgdmFs aWRfYXQgRk9SIFVQREFURTsKKworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UK Ky0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwy MDI1LTAzLTAxKXwgNS4wMAorWzEsMil8WzIwMjUtMDMtMDEsMjAyNS0wNC0wMSl8MTAuMDAKK1sx LDIpfFsyMDI1LTA0LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMyByb3dzKQorCitzdGVwIHMxZGVs MjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7 CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmlj ZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAx LDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAor KDIgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyYyBzMnJjIHMybG9jazIwMjUy MDI2IHMydXBkMjAyNTIwMjYgczJjIHMxbG9jazIwMjUgczFkZWwyMDI1IHMxYyBzMXEKK3N0ZXAg czFyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVEOworc3RlcCBzMnJjOiBC RUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMybG9jazIwMjUyMDI2 OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZh bGlkX2F0ICYmICdbMjAyNS0wNi0wMSwyMDI2LTA2LTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQg Rk9SIFVQREFURTsKKworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAx LTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMydXBkMjAyNTIwMjY6IAorICBVUERBVEUgcHJv ZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIw MjYtMDYtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKwor c3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFsb2NrMjAyNTogCisgIFNFTEVDVCAqIEZST00gcHJv ZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjUtMDEtMDEs MjAyNi0wMS0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZh bGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wNi0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1 LTA2LTAxLDIwMjYtMDYtMDEpfDEwLjAwCisoMiByb3dzKQorCitzdGVwIHMxZGVsMjAyNTogCisg IERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAg czFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEt MDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDI2LTA2LTAxKXwxMC4wMAorWzEsMil8WzIw MjYtMDYtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygzIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0 YXRpb246IHMxcmMgczJyYyBzMWxvY2syMDI1IHMxZGVsMjAyNSBzMWMgczJsb2NrMjAyNyBzMnVw ZDIwMjcgczJjIHMxcQorc3RlcCBzMXJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01N SVRURUQ7CitzdGVwIHMycmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRFRDsK K3N0ZXAgczFsb2NrMjAyNTogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQg PSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjUtMDEtMDEsMjAyNi0wMS0wMSknCisgIE9S REVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAg ICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIw MjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMWRlbDIwMjU6IAor ICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVw IHMxYzogQ09NTUlUOworc3RlcCBzMmxvY2syMDI3OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0 cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNy0wMS0wMSwyMDI4 LTAxLTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQREFURTsKKworaWQgICB8dmFsaWRf YXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tCitbMSwyKXxbMjAyNi0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVw IHMydXBkMjAyNzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAK KyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXE6IFNF TEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRf YXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjYtMDEt MDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI3LTAxLTAxLDIwMjgtMDEtMDEpfDEwLjAw CitbMSwyKXxbMjAyOC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDQgcm93cykKKworCitzdGFy dGluZyBwZXJtdXRhdGlvbjogczFyYyBzMnJjIHMxbG9jazIwMjUgczFkZWwyMDI1IHMxYyBzMmxv Y2syMDI1MDMgczJ1cGQyMDI1MDMgczJjIHMxcQorc3RlcCBzMXJjOiBCRUdJTiBJU09MQVRJT04g TEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMycmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBS RUFEIENPTU1JVFRFRDsKK3N0ZXAgczFsb2NrMjAyNTogCisgIFNFTEVDVCAqIEZST00gcHJvZHVj dHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjUtMDEtMDEsMjAy Ni0wMS0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlk X2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3Rl cCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAn WzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMmxvY2syMDI1MDM6IAorICBTRUxF Q1QgKiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgJiYg J1syMDI1LTAzLTAxLDIwMjUtMDQtMDEpJworICBPUkRFUiBCWSB2YWxpZF9hdCBGT1IgVVBEQVRF OworCitpZHx2YWxpZF9hdHxwcmljZQorLS0rLS0tLS0tLS0rLS0tLS0KKygwIHJvd3MpCisKK3N0 ZXAgczJ1cGQyMDI1MDM6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAyNS0wMy0wMScgVE8gJzIwMjUtMDQtMDEnCisgIFNFVCBwcmljZSA9IDEw LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFx OiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZh bGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2 LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0 aW9uOiBzMXJjIHMycmMgczFsb2NrMjAyNSBzMWRlbDIwMjUgczFjIHMybG9jazIwMjUyMDI2IHMy dXBkMjAyNTIwMjYgczJjIHMxcQorc3RlcCBzMXJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVB RCBDT01NSVRURUQ7CitzdGVwIHMycmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1J VFRFRDsKK3N0ZXAgczFsb2NrMjAyNTogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hF UkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjUtMDEtMDEsMjAyNi0wMS0wMSkn CisgIE9SREVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0ICAgICAg ICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEs Mil8WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMWRlbDIw MjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOwor CitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMmxvY2syMDI1MjAyNjogCisgIFNFTEVDVCAqIEZS T00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjUt MDYtMDEsMjAyNi0wNi0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lk ICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjYtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJv dykKKworc3RlcCBzMnVwZDIwMjUyMDI2OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDYtMDEnIFRPICcyMDI2LTA2LTAxJworICBTRVQg cHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7 CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitb MSwyKXxbMjAyNi0wMS0wMSwyMDI2LTA2LTAxKXwxMC4wMAorWzEsMil8WzIwMjYtMDYtMDEsMjAz MC0wMS0wMSl8IDUuMDAKKygzIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxcmMg czJyYyBzMmxvY2syMDI3IHMydXBkMjAyNyBzMWxvY2syMDI1IHMyYyBzMWRlbDIwMjUgczFjIHMx cQorc3RlcCBzMXJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVw IHMycmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRFRDsKK3N0ZXAgczJsb2Nr MjAyNzogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFO RCB2YWxpZF9hdCAmJiAnWzIwMjctMDEtMDEsMjAyOC0wMS0wMSknCisgIE9SREVSIEJZIHZhbGlk X2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCist LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAz MC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMnVwZDIwMjc6IAorICBVUERBVEUgcHJv ZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNy0wMS0wMScgVE8gJzIw MjgtMDEtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKwor c3RlcCBzMWxvY2syMDI1OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBpZCA9 ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNS0wMS0wMSwyMDI2LTAxLTAxKScKKyAgT1JE RVIgQlkgdmFsaWRfYXQgRk9SIFVQREFURTsKKyA8d2FpdGluZyAuLi4+CitzdGVwIHMyYzogQ09N TUlUOworc3RlcCBzMWxvY2syMDI1OiA8Li4uIGNvbXBsZXRlZD4KK2lkfHZhbGlkX2F0fHByaWNl CistLSstLS0tLS0tLSstLS0tLQorKDAgcm93cykKKworc3RlcCBzMWRlbDIwMjU6IAorICBERUxF VEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAx LTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzog Q09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwg NS4wMAorWzEsMil8WzIwMjYtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI3LTAx LTAxLDIwMjgtMDEtMDEpfDEwLjAwCitbMSwyKXxbMjAyOC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4w MAorKDQgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyYyBzMnJjIHMybG9jazIw MjUwMyBzMnVwZDIwMjUwMyBzMWxvY2syMDI1IHMyYyBzMWRlbDIwMjUgczFjIHMxcQorc3RlcCBz MXJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMycmM6IEJF R0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRFRDsKK3N0ZXAgczJsb2NrMjAyNTAzOiAK KyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlk X2F0ICYmICdbMjAyNS0wMy0wMSwyMDI1LTA0LTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9S IFVQREFURTsKKworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAx KXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMydXBkMjAyNTAzOiAKKyAgVVBEQVRFIHByb2R1Y3Rz CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDMtMDEnIFRPICcyMDI1LTA0 LTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAg czFsb2NrMjAyNTogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEs MiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjUtMDEtMDEsMjAyNi0wMS0wMSknCisgIE9SREVSIEJZ IHZhbGlkX2F0IEZPUiBVUERBVEU7CisgPHdhaXRpbmcgLi4uPgorc3RlcCBzMmM6IENPTU1JVDsK K3N0ZXAgczFsb2NrMjAyNTogPC4uLiBjb21wbGV0ZWQ+CitpZCAgIHx2YWxpZF9hdCAgICAgICAg ICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIp fFsyMDI1LTAzLTAxLDIwMjUtMDQtMDEpfDEwLjAwCisoMSByb3cpCisKK3N0ZXAgczFkZWwyMDI1 OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKwor c3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCist LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAy NS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiBy b3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJjIHMycmMgczJsb2NrMjAyNTIwMjYg czJ1cGQyMDI1MjAyNiBzMWxvY2syMDI1IHMyYyBzMWRlbDIwMjUgczFjIHMxcQorc3RlcCBzMXJj OiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMycmM6IEJFR0lO IElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRFRDsKK3N0ZXAgczJsb2NrMjAyNTIwMjY6IAor ICBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRf YXQgJiYgJ1syMDI1LTA2LTAxLDIwMjYtMDYtMDEpJworICBPUkRFUiBCWSB2YWxpZF9hdCBGT1Ig VVBEQVRFOworCitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEp fCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJ1cGQyMDI1MjAyNjogCisgIFVQREFURSBwcm9kdWN0 cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTA2LTAxJyBUTyAnMjAyNi0w Ni0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVw IHMxbG9jazIwMjU6IAorICBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0gJ1sx LDIpJyBBTkQgdmFsaWRfYXQgJiYgJ1syMDI1LTAxLTAxLDIwMjYtMDEtMDEpJworICBPUkRFUiBC WSB2YWxpZF9hdCBGT1IgVVBEQVRFOworIDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7 CitzdGVwIHMxbG9jazIwMjU6IDwuLi4gY29tcGxldGVkPgoraWQgICB8dmFsaWRfYXQgICAgICAg ICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwy KXxbMjAyNS0wNi0wMSwyMDI2LTA2LTAxKXwxMC4wMAorKDEgcm93KQorCitzdGVwIHMxZGVsMjAy NTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisK K3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQor LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIw MjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDI2LTA2LTAxKXwxMC4wMAorWzEs Mil8WzIwMjYtMDYtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygzIHJvd3MpCisKKworc3RhcnRpbmcg cGVybXV0YXRpb246IHMxcmMgczJyYyBzMmxvY2syMDI3IHMyZGVsMjAyNyBzMmMgczFsb2NrMjAy NSBzMWRlbDIwMjUgczFjIHMxcQorc3RlcCBzMXJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVB RCBDT01NSVRURUQ7CitzdGVwIHMycmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1J VFRFRDsKK3N0ZXAgczJsb2NrMjAyNzogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hF UkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjctMDEtMDEsMjAyOC0wMS0wMSkn CisgIE9SREVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0ICAgICAg ICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEs Mil8WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMmRlbDIw Mjc6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOwor CitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWxvY2syMDI1OiAKKyAgU0VMRUNUICogRlJPTSBw cm9kdWN0cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNS0wMS0w MSwyMDI2LTAxLTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQREFURTsKKworaWQgICB8 dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorKDEgcm93KQor CitzdGVwIHMxZGVsMjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBp ZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJP TSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAg ICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIp fFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDI3LTAx LTAxKXwgNS4wMAorWzEsMil8WzIwMjgtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygzIHJvd3Mp CisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxcmMgczJyYyBzMmxvY2syMDI1MDMgczJkZWwy MDI1MDMgczJjIHMxbG9jazIwMjUgczFkZWwyMDI1IHMxYyBzMXEKK3N0ZXAgczFyYzogQkVHSU4g SVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVEOworc3RlcCBzMnJjOiBCRUdJTiBJU09MQVRJ T04gTEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMybG9jazIwMjUwMzogCisgIFNFTEVDVCAq IEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIw MjUtMDMtMDEsMjAyNS0wNC0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisK K2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygx IHJvdykKKworc3RlcCBzMmRlbDIwMjUwMzogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDMtMDEnIFRPICcyMDI1LTA0LTAxJwor ICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxbG9jazIw MjU6IAorICBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQg dmFsaWRfYXQgJiYgJ1syMDI1LTAxLTAxLDIwMjYtMDEtMDEpJworICBPUkRFUiBCWSB2YWxpZF9h dCBGT1IgVVBEQVRFOworCitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUt MDMtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wNC0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDIgcm93 cykKKworc3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hF UkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAq IEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAg ICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitb MSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjYtMDEtMDEsMjAz MC0wMS0wMSl8IDUuMDAKKygyIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxcmMg czJyYyBzMmxvY2syMDI1MjAyNiBzMmRlbDIwMjUyMDI2IHMyYyBzMWxvY2syMDI1IHMxZGVsMjAy NSBzMWMgczFxCitzdGVwIHMxcmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRF RDsKK3N0ZXAgczJyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVEOworc3Rl cCBzMmxvY2syMDI1MjAyNjogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQg PSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjUtMDYtMDEsMjAyNi0wNi0wMSknCisgIE9S REVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAg ICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIw MjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMmRlbDIwMjUyMDI2 OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAyNS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKwor c3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFsb2NrMjAyNTogCisgIFNFTEVDVCAqIEZST00gcHJv ZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjUtMDEtMDEs MjAyNi0wMS0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZh bGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wNi0wMSl8IDUuMDAKKygxIHJvdykKKwor c3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQg PSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00g cHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAg ICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxb MjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjYtMDYtMDEsMjAzMC0wMS0w MSl8IDUuMDAKKygyIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxcmMgczJyYyBz MWxvY2syMDI1IHMxZGVsMjAyNSBzMWMgczJsb2NrMjAyNyBzMmRlbDIwMjcgczJjIHMxcQorc3Rl cCBzMXJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMycmM6 IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRFRDsKK3N0ZXAgczFsb2NrMjAyNTog CisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxp ZF9hdCAmJiAnWzIwMjUtMDEtMDEsMjAyNi0wMS0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0IEZP UiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAzMC0wMS0w MSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9k dWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAy Ni0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3Rl cCBzMmxvY2syMDI3OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBpZCA9ICdb MSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNy0wMS0wMSwyMDI4LTAxLTAxKScKKyAgT1JERVIg QlkgdmFsaWRfYXQgRk9SIFVQREFURTsKKworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8 cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyNi0w MS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMyZGVsMjAyNzogCisgIERF TEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjct MDEtMDEnIFRPICcyMDI4LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJj OiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEp fCA1LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjgt MDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygzIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRp b246IHMxcmMgczJyYyBzMWxvY2syMDI1IHMxZGVsMjAyNSBzMWMgczJsb2NrMjAyNTAzIHMyZGVs MjAyNTAzIHMyYyBzMXEKK3N0ZXAgczFyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09N TUlUVEVEOworc3RlcCBzMnJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7 CitzdGVwIHMxbG9jazIwMjU6IAorICBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlk ID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgJiYgJ1syMDI1LTAxLTAxLDIwMjYtMDEtMDEpJworICBP UkRFUiBCWSB2YWxpZF9hdCBGT1IgVVBEQVRFOworCitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAg ICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsy MDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczFkZWwyMDI1OiAK KyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3Rl cCBzMWM6IENPTU1JVDsKK3N0ZXAgczJsb2NrMjAyNTAzOiAKKyAgU0VMRUNUICogRlJPTSBwcm9k dWN0cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNS0wMy0wMSwy MDI1LTA0LTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQREFURTsKKworaWR8dmFsaWRf YXR8cHJpY2UKKy0tKy0tLS0tLS0tKy0tLS0tCisoMCByb3dzKQorCitzdGVwIHMyZGVsMjAyNTAz OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAyNS0wMy0wMScgVE8gJzIwMjUtMDQtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKwor c3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCist LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAy NS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiBy b3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJjIHMycmMgczFsb2NrMjAyNSBzMWRl bDIwMjUgczFjIHMybG9jazIwMjUyMDI2IHMyZGVsMjAyNTIwMjYgczJjIHMxcQorc3RlcCBzMXJj OiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMycmM6IEJFR0lO IElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRFRDsKK3N0ZXAgczFsb2NrMjAyNTogCisgIFNF TEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCAm JiAnWzIwMjUtMDEtMDEsMjAyNi0wMS0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0IEZPUiBVUERB VEU7CisKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUu MDAKKygxIHJvdykKKworc3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cwor ICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0w MScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMmxv Y2syMDI1MjAyNjogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEs MiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjUtMDYtMDEsMjAyNi0wNi0wMSknCisgIE9SREVSIEJZ IHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHBy aWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjYtMDEt MDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMmRlbDIwMjUyMDI2OiAKKyAg REVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAy NS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBz MmM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0w MSl8IDUuMDAKK1sxLDIpfFsyMDI2LTA2LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQor CisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJjIHMycmMgczJsb2NrMjAyNyBzMmRlbDIwMjcg czFsb2NrMjAyNSBzMmMgczFkZWwyMDI1IHMxYyBzMXEKK3N0ZXAgczFyYzogQkVHSU4gSVNPTEFU SU9OIExFVkVMIFJFQUQgQ09NTUlUVEVEOworc3RlcCBzMnJjOiBCRUdJTiBJU09MQVRJT04gTEVW RUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMybG9jazIwMjc6IAorICBTRUxFQ1QgKiBGUk9NIHBy b2R1Y3RzCisgIFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgJiYgJ1syMDI3LTAxLTAx LDIwMjgtMDEtMDEpJworICBPUkRFUiBCWSB2YWxpZF9hdCBGT1IgVVBEQVRFOworCitpZCAgIHx2 YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisK K3N0ZXAgczJkZWwyMDI3OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAyNy0wMS0wMScgVE8gJzIwMjgtMDEtMDEnCisgIFdIRVJFIGlk ID0gJ1sxLDIpJzsKKworc3RlcCBzMWxvY2syMDI1OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0 cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNS0wMS0wMSwyMDI2 LTAxLTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQREFURTsKKyA8d2FpdGluZyAuLi4+ CitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWxvY2syMDI1OiA8Li4uIGNvbXBsZXRlZD4KK2lk fHZhbGlkX2F0fHByaWNlCistLSstLS0tLS0tLSstLS0tLQorKDAgcm93cykKKworc3RlcCBzMWRl bDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMikn OworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJp Y2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0w MSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjYtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAK K1sxLDIpfFsyMDI4LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMyByb3dzKQorCisKK3N0YXJ0 aW5nIHBlcm11dGF0aW9uOiBzMXJjIHMycmMgczJsb2NrMjAyNTAzIHMyZGVsMjAyNTAzIHMxbG9j azIwMjUgczJjIHMxZGVsMjAyNSBzMWMgczFxCitzdGVwIHMxcmM6IEJFR0lOIElTT0xBVElPTiBM RVZFTCBSRUFEIENPTU1JVFRFRDsKK3N0ZXAgczJyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJF QUQgQ09NTUlUVEVEOworc3RlcCBzMmxvY2syMDI1MDM6IAorICBTRUxFQ1QgKiBGUk9NIHByb2R1 Y3RzCisgIFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgJiYgJ1syMDI1LTAzLTAxLDIw MjUtMDQtMDEpJworICBPUkRFUiBCWSB2YWxpZF9hdCBGT1IgVVBEQVRFOworCitpZCAgIHx2YWxp ZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0 ZXAgczJkZWwyMDI1MDM6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDI1LTAzLTAxJyBUTyAnMjAyNS0wNC0wMScKKyAgV0hFUkUgaWQg PSAnWzEsMiknOworCitzdGVwIHMxbG9jazIwMjU6IAorICBTRUxFQ1QgKiBGUk9NIHByb2R1Y3Rz CisgIFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgJiYgJ1syMDI1LTAxLTAxLDIwMjYt MDEtMDEpJworICBPUkRFUiBCWSB2YWxpZF9hdCBGT1IgVVBEQVRFOworIDx3YWl0aW5nIC4uLj4K K3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxbG9jazIwMjU6IDwuLi4gY29tcGxldGVkPgoraWR8 dmFsaWRfYXR8cHJpY2UKKy0tKy0tLS0tLS0tKy0tLS0tCisoMCByb3dzKQorCitzdGVwIHMxZGVs MjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7 CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmlj ZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAx LDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAor KDIgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyYyBzMnJjIHMybG9jazIwMjUy MDI2IHMyZGVsMjAyNTIwMjYgczFsb2NrMjAyNSBzMmMgczFkZWwyMDI1IHMxYyBzMXEKK3N0ZXAg czFyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVEOworc3RlcCBzMnJjOiBC RUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMybG9jazIwMjUyMDI2 OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZh bGlkX2F0ICYmICdbMjAyNS0wNi0wMSwyMDI2LTA2LTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQg Rk9SIFVQREFURTsKKworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAx LTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMyZGVsMjAyNTIwMjY6IAorICBERUxFVEUgRlJP TSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTA2LTAxJyBU TyAnMjAyNi0wNi0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxbG9jazIwMjU6 IAorICBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFs aWRfYXQgJiYgJ1syMDI1LTAxLTAxLDIwMjYtMDEtMDEpJworICBPUkRFUiBCWSB2YWxpZF9hdCBG T1IgVVBEQVRFOworIDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxbG9j azIwMjU6IDwuLi4gY29tcGxldGVkPgoraWR8dmFsaWRfYXR8cHJpY2UKKy0tKy0tLS0tLS0tKy0t LS0tCisoMCByb3dzKQorCitzdGVwIHMxZGVsMjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1Y3Rz CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAx LTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMx cTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2 YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAy Ni0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDIgcm93cykKKworCitzdGFydGluZyBwZXJtdXRh dGlvbjogczFyciBzMnJyIHMydXBkMjAyNyBzMmMgczF1cGQyMDI1IHMxYyBzMXEKK3N0ZXAgczFy cjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJycjogQkVH SU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJ1cGQyMDI3OiAKKyAg VVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEt MDEnIFRPICcyMDI4LTAxLTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdb MSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBw cm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAn MjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisK K3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQor LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIw MjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wMS0wMSwyMDI2LTAxLTAxKXwgOC4wMAorWzEs Mil8WzIwMjYtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI3LTAxLTAxLDIwMjgt MDEtMDEpfDEwLjAwCitbMSwyKXxbMjAyOC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDUgcm93 cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMydXBkMjAyNTAzIHMyYyBz MXVwZDIwMjUgczFjIHMxcQorc3RlcCBzMXJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFU QUJMRSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBS RUFEOworc3RlcCBzMnVwZDIwMjUwMzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAzLTAxJyBUTyAnMjAyNS0wNC0wMScKKyAgU0VUIHBy aWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOwor c3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDgu MDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6 IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFs aWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjUt MDEtMDEsMjAyNS0wMy0wMSl8IDguMDAKK1sxLDIpfFsyMDI1LTAzLTAxLDIwMjUtMDQtMDEpfCA4 LjAwCitbMSwyKXxbMjAyNS0wNC0wMSwyMDI2LTAxLTAxKXwgOC4wMAorWzEsMil8WzIwMjYtMDEt MDEsMjAzMC0wMS0wMSl8IDUuMDAKKyg1IHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246 IHMxcnIgczJyciBzMnVwZDIwMjUyMDI2IHMyYyBzMXVwZDIwMjUgczFjIHMxcQorc3RlcCBzMXJy OiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBCRUdJ TiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnVwZDIwMjUyMDI2OiAK KyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUt MDYtMDEnIFRPICcyMDI2LTA2LTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9 ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFU RSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBU TyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7 CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmlj ZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAx LDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wMS0wMSwyMDI1LTA2LTAxKXwgOC4wMAor WzEsMil8WzIwMjUtMDYtMDEsMjAyNi0wMS0wMSl8IDguMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIw MjYtMDYtMDEpfDEwLjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDUg cm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMxdXBkMjAyNSBzMWMg czJ1cGQyMDI3IHMyYyBzMXEKK3N0ZXAgczFycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVB VEFCTEUgUkVBRDsKK3N0ZXAgczJycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUg UkVBRDsKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBTRVQgcHJp Y2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0 ZXAgczJ1cGQyMDI3OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzIwMjctMDEtMDEnIFRPICcyMDI4LTAxLTAxJworICBTRVQgcHJpY2UgPSAxMC4w MAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxcTog U0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxp ZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0w MS0wMSwyMDI2LTAxLTAxKXwgOC4wMAorWzEsMil8WzIwMjYtMDEtMDEsMjAyNy0wMS0wMSl8IDUu MDAKK1sxLDIpfFsyMDI3LTAxLTAxLDIwMjgtMDEtMDEpfDEwLjAwCitbMSwyKXxbMjAyOC0wMS0w MSwyMDMwLTAxLTAxKXwgNS4wMAorKDUgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjog czFyciBzMnJyIHMxdXBkMjAyNSBzMWMgczJ1cGQyMDI1MDMgczJjIHMxcQorc3RlcCBzMXJyOiBC RUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJ U09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMXVwZDIwMjU6IAorICBVUERB VEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScg VE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMikn OworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMnVwZDIwMjUwMzogCisgIFVQREFURSBwcm9k dWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAzLTAxJyBUTyAnMjAy NS0wNC0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitz dGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1 LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjUtMDEtMDEsMjAyNS0wMy0wMSl8IDguMDAKK1sxLDIp fFsyMDI1LTAzLTAxLDIwMjUtMDQtMDEpfDEwLjAwCitbMSwyKXxbMjAyNS0wNC0wMSwyMDI2LTAx LTAxKXwgOC4wMAorWzEsMil8WzIwMjYtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKyg1IHJvd3Mp CisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxcnIgczJyciBzMXVwZDIwMjUgczFjIHMydXBk MjAyNTIwMjYgczJjIHMxcQorc3RlcCBzMXJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFU QUJMRSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBS RUFEOworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmlj ZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3Rl cCBzMnVwZDIwMjUyMDI2OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gJzIwMjUtMDYtMDEnIFRPICcyMDI2LTA2LTAxJworICBTRVQgcHJpY2UgPSAx MC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMx cTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2 YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAy NS0wMS0wMSwyMDI1LTA2LTAxKXwgOC4wMAorWzEsMil8WzIwMjUtMDYtMDEsMjAyNi0wMS0wMSl8 MTAuMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjYtMDYtMDEpfDEwLjAwCitbMSwyKXxbMjAyNi0w Ni0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDUgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlv bjogczFyciBzMnJyIHMydXBkMjAyNyBzMXVwZDIwMjUgczJjIHMxYyBzMXEKK3N0ZXAgczFycjog QkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJycjogQkVHSU4g SVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJ1cGQyMDI3OiAKKyAgVVBE QVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEtMDEn IFRPICcyMDI4LTAxLTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwy KSc7CisKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBTRVQgcHJp Y2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKyA8d2FpdGluZyAuLi4+CitzdGVwIHMy YzogQ09NTUlUOworc3RlcCBzMXVwZDIwMjU6IDwuLi4gY29tcGxldGVkPgorRVJST1I6ICBjb3Vs ZCBub3Qgc2VyaWFsaXplIGFjY2VzcyBkdWUgdG8gY29uY3VycmVudCB1cGRhdGUKK3N0ZXAgczFj OiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjctMDEtMDEp fCA1LjAwCitbMSwyKXxbMjAyNy0wMS0wMSwyMDI4LTAxLTAxKXwxMC4wMAorWzEsMil8WzIwMjgt MDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygzIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRp b246IHMxcnIgczJyciBzMnVwZDIwMjUwMyBzMXVwZDIwMjUgczJjIHMxYyBzMXEKK3N0ZXAgczFy cjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJycjogQkVH SU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJ1cGQyMDI1MDM6IAor ICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0w My0wMScgVE8gJzIwMjUtMDQtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0g J1sxLDIpJzsKKworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNF VCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworIDx3YWl0aW5nIC4uLj4KK3N0 ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxdXBkMjAyNTogPC4uLiBjb21wbGV0ZWQ+CitFUlJPUjog IGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IHVwZGF0ZQorc3Rl cCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0w My0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTAzLTAxLDIwMjUtMDQtMDEpfDEwLjAwCitbMSwyKXxb MjAyNS0wNC0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitzdGFydGluZyBwZXJt dXRhdGlvbjogczFyciBzMnJyIHMydXBkMjAyNTIwMjYgczF1cGQyMDI1IHMyYyBzMWMgczFxCitz dGVwIHMxcnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMy cnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMydXBkMjAy NTIwMjY6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAyNS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdI RVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMK KyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEt MDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworIDx3YWl0aW5n IC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxdXBkMjAyNTogPC4uLiBjb21wbGV0ZWQ+ CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IHVw ZGF0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3Rz IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHBy aWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEt MDEsMjAyNS0wNi0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTA2LTAxLDIwMjYtMDYtMDEpfDEwLjAw CitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitzdGFy dGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMxcSBzMnVwZDIwMjcgczJjIHMxdXBkMjAyNSBz MWMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7 CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVw IHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAg IHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cp CisKK3N0ZXAgczJ1cGQyMDI3OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMjctMDEtMDEnIFRPICcyMDI4LTAxLTAxJworICBTRVQgcHJpY2Ug PSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVw IHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAor ICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK0VSUk9SOiAgY291bGQgbm90IHNlcmlhbGl6ZSBhY2Nl c3MgZHVlIHRvIGNvbmN1cnJlbnQgdXBkYXRlCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6 IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFs aWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjct MDEtMDEsMjAyOC0wMS0wMSl8MTAuMDAKK1sxLDIpfFsyMDI4LTAxLTAxLDIwMzAtMDEtMDEpfCA1 LjAwCisoMyByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJyIHMycnIgczFxIHMy dXBkMjAyNTAzIHMyYyBzMXVwZDIwMjUgczFjIHMxcQorc3RlcCBzMXJyOiBCRUdJTiBJU09MQVRJ T04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09MQVRJT04gTEVW RUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UK Ky0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwy MDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMydXBkMjAyNTAzOiAKKyAgVVBEQVRF IHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDMtMDEnIFRP ICcyMDI1LTA0LTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7 CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0 cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0w MS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK0VSUk9S OiAgY291bGQgbm90IHNlcmlhbGl6ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1cnJlbnQgdXBkYXRlCitz dGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1 LTAzLTAxKXwgNS4wMAorWzEsMil8WzIwMjUtMDMtMDEsMjAyNS0wNC0wMSl8MTAuMDAKK1sxLDIp fFsyMDI1LTA0LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMyByb3dzKQorCisKK3N0YXJ0aW5nIHBl cm11dGF0aW9uOiBzMXJyIHMycnIgczFxIHMydXBkMjAyNTIwMjYgczJjIHMxdXBkMjAyNSBzMWMg czFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7Citz dGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMx cTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2 YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisK K3N0ZXAgczJ1cGQyMDI1MjAyNjogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDI1LTA2LTAxJyBUTyAnMjAyNi0wNi0wMScKKyAgU0VUIHByaWNl ID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3Rl cCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAK KyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNj ZXNzIGR1ZSB0byBjb25jdXJyZW50IHVwZGF0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFx OiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZh bGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wNi0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1 LTA2LTAxLDIwMjYtMDYtMDEpfDEwLjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwg NS4wMAorKDMgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMxcSBz MXVwZDIwMjUgczFjIHMydXBkMjAyNyBzMmMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElP TiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZF TCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQor LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIw MzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBEQVRFIHBy b2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcy MDI2LTAxLTAxJworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKwor c3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczJ1cGQyMDI3OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisg IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEtMDEnIFRPICcyMDI4LTAxLTAx JworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJj OiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEp fCA1LjAwCitbMSwyKXxbMjAyNS0wMS0wMSwyMDI2LTAxLTAxKXwgOC4wMAorWzEsMil8WzIwMjYt MDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI3LTAxLTAxLDIwMjgtMDEtMDEpfDEw LjAwCitbMSwyKXxbMjAyOC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDUgcm93cykKKworCitz dGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMxcSBzMXVwZDIwMjUgczFjIHMydXBkMjAy NTAzIHMyYyBzMXEKK3N0ZXAgczFycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUg UkVBRDsKK3N0ZXAgczJycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsK K3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK K2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygx IHJvdykKKworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBw cmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOwor c3RlcCBzMnVwZDIwMjUwMzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDI1LTAzLTAxJyBUTyAnMjAyNS0wNC0wMScKKyAgU0VUIHByaWNlID0g MTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBz MXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8 dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIw MjUtMDEtMDEsMjAyNS0wMy0wMSl8IDguMDAKK1sxLDIpfFsyMDI1LTAzLTAxLDIwMjUtMDQtMDEp fDEwLjAwCitbMSwyKXxbMjAyNS0wNC0wMSwyMDI2LTAxLTAxKXwgOC4wMAorWzEsMil8WzIwMjYt MDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKyg1IHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRp b246IHMxcnIgczJyciBzMXEgczF1cGQyMDI1IHMxYyBzMnVwZDIwMjUyMDI2IHMyYyBzMXEKK3N0 ZXAgczFycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJy cjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczFxOiBTRUxF Q1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0 ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LQorWzEsMil8WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBz MXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAg V0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMnVwZDIwMjUy MDI2OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMjUtMDYtMDEnIFRPICcyMDI2LTA2LTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVS RSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICog RlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAg ICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sx LDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wMS0wMSwyMDI1 LTA2LTAxKXwgOC4wMAorWzEsMil8WzIwMjUtMDYtMDEsMjAyNi0wMS0wMSl8MTAuMDAKK1sxLDIp fFsyMDI2LTAxLTAxLDIwMjYtMDYtMDEpfDEwLjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAx LTAxKXwgNS4wMAorKDUgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJy IHMxcSBzMnVwZDIwMjcgczF1cGQyMDI1IHMyYyBzMWMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElT T0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElP TiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0 cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxw cmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAx LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJ1cGQyMDI3OiAKKyAgVVBE QVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEtMDEn IFRPICcyMDI4LTAxLTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwy KSc7CisKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBTRVQgcHJp Y2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKyA8d2FpdGluZyAuLi4+CitzdGVwIHMy YzogQ09NTUlUOworc3RlcCBzMXVwZDIwMjU6IDwuLi4gY29tcGxldGVkPgorRVJST1I6ICBjb3Vs ZCBub3Qgc2VyaWFsaXplIGFjY2VzcyBkdWUgdG8gY29uY3VycmVudCB1cGRhdGUKK3N0ZXAgczFj OiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjctMDEtMDEp fCA1LjAwCitbMSwyKXxbMjAyNy0wMS0wMSwyMDI4LTAxLTAxKXwxMC4wMAorWzEsMil8WzIwMjgt MDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygzIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRp b246IHMxcnIgczJyciBzMXEgczJ1cGQyMDI1MDMgczF1cGQyMDI1IHMyYyBzMWMgczFxCitzdGVw IHMxcnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6 IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMxcTogU0VMRUNU ICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAg ICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0K K1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJ1 cGQyMDI1MDM6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAyNS0wMy0wMScgVE8gJzIwMjUtMDQtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisg IFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVj dHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYt MDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworIDx3YWl0 aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxdXBkMjAyNTogPC4uLiBjb21wbGV0 ZWQ+CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50 IHVwZGF0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1 Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAg fHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAt MDEtMDEsMjAyNS0wMy0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTAzLTAxLDIwMjUtMDQtMDEpfDEw LjAwCitbMSwyKXxbMjAyNS0wNC0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitz dGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMxcSBzMnVwZDIwMjUyMDI2IHMxdXBkMjAy NSBzMmMgczFjIHMxcQorc3RlcCBzMXJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJM RSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFE Oworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAor KDEgcm93KQorCitzdGVwIHMydXBkMjAyNTIwMjY6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisg IFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMXVwZDIw MjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUg aWQgPSAnWzEsMiknOworIDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMx dXBkMjAyNTogPC4uLiBjb21wbGV0ZWQ+CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNj ZXNzIGR1ZSB0byBjb25jdXJyZW50IHVwZGF0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFx OiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZh bGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wNi0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1 LTA2LTAxLDIwMjYtMDYtMDEpfDEwLjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwg NS4wMAorKDMgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMyZGVs MjAyNyBzMmMgczF1cGQyMDI1IHMxYyBzMXEKK3N0ZXAgczFycjogQkVHSU4gSVNPTEFUSU9OIExF VkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJF UEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJkZWwyMDI3OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMK KyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNy0wMS0wMScgVE8gJzIwMjgtMDEt MDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczF1 cGQyMDI1OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdI RVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1Qg KiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAg ICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQor WzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTAxLTAxLDIw MjYtMDEtMDEpfCA4LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorWzEs Mil8WzIwMjgtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKyg0IHJvd3MpCisKKworc3RhcnRpbmcg cGVybXV0YXRpb246IHMxcnIgczJyciBzMmRlbDIwMjUwMyBzMmMgczF1cGQyMDI1IHMxYyBzMXEK K3N0ZXAgczFycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAg czJycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJkZWwy MDI1MDM6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDI1LTAzLTAxJyBUTyAnMjAyNS0wNC0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMikn OworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVj dHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYt MDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVw IHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAx LTAxKXwgNS4wMAorWzEsMil8WzIwMjUtMDEtMDEsMjAyNS0wMy0wMSl8IDguMDAKK1sxLDIpfFsy MDI1LTA0LTAxLDIwMjYtMDEtMDEpfCA4LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDMwLTAxLTAx KXwgNS4wMAorKDQgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMy ZGVsMjAyNTIwMjYgczJjIHMxdXBkMjAyNSBzMWMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xB VElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBM RVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMyZGVsMjAyNTIwMjY6IAorICBERUxFVEUgRlJP TSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTA2LTAxJyBU TyAnMjAyNi0wNi0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlU Oworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9 IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBz MXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8 dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIw MjUtMDEtMDEsMjAyNS0wNi0wMSl8IDguMDAKK1sxLDIpfFsyMDI2LTA2LTAxLDIwMzAtMDEtMDEp fCA1LjAwCisoMyByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJyIHMycnIgczF1 cGQyMDI1IHMxYyBzMmRlbDIwMjcgczJjIHMxcQorc3RlcCBzMXJyOiBCRUdJTiBJU09MQVRJT04g TEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwg UkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEn CisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzog Q09NTUlUOworc3RlcCBzMmRlbDIwMjc6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAg V0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVD VCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQg ICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t CitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjUtMDEtMDEs MjAyNi0wMS0wMSl8IDguMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjctMDEtMDEpfCA1LjAwCitb MSwyKXxbMjAyOC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDQgcm93cykKKworCitzdGFydGlu ZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMxdXBkMjAyNSBzMWMgczJkZWwyMDI1MDMgczJjIHMx cQorc3RlcCBzMXJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3Rl cCBzMnJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMXVw ZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hF UkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMmRlbDIwMjUwMzog CisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMjUtMDMtMDEnIFRPICcyMDI1LTA0LTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0 ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUt MDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wMS0wMSwyMDI1LTAzLTAxKXwgOC4wMAorWzEsMil8 WzIwMjUtMDQtMDEsMjAyNi0wMS0wMSl8IDguMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMzAtMDEt MDEpfCA1LjAwCisoNCByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJyIHMycnIg czF1cGQyMDI1IHMxYyBzMmRlbDIwMjUyMDI2IHMyYyBzMXEKK3N0ZXAgczFycjogQkVHSU4gSVNP TEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJycjogQkVHSU4gSVNPTEFUSU9O IExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBEQVRFIHByb2R1 Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2 LTAxLTAxJworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3Rl cCBzMWM6IENPTU1JVDsKK3N0ZXAgczJkZWwyMDI1MjAyNjogCisgIERFTEVURSBGUk9NIHByb2R1 Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDYtMDEnIFRPICcyMDI2 LTA2LTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVw IHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAg IHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxb MjAyNS0wMS0wMSwyMDI1LTA2LTAxKXwgOC4wMAorWzEsMil8WzIwMjYtMDYtMDEsMjAzMC0wMS0w MSl8IDUuMDAKKygzIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxcnIgczJyciBz MmRlbDIwMjcgczF1cGQyMDI1IHMyYyBzMWMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElP TiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZF TCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMyZGVsMjAyNzogCisgIERFTEVURSBGUk9NIHByb2R1 Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEtMDEnIFRPICcyMDI4 LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBE QVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEn IFRPICcyMDI2LTAxLTAxJworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIp JzsKKyA8d2FpdGluZyAuLi4+CitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXVwZDIwMjU6IDwu Li4gY29tcGxldGVkPgorRVJST1I6ICBjb3VsZCBub3Qgc2VyaWFsaXplIGFjY2VzcyBkdWUgdG8g Y29uY3VycmVudCBkZWxldGUKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICog RlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAg ICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sx LDIpfFsyMDIwLTAxLTAxLDIwMjctMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyOC0wMS0wMSwyMDMw LTAxLTAxKXwgNS4wMAorKDIgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBz MnJyIHMyZGVsMjAyNTAzIHMxdXBkMjAyNSBzMmMgczFjIHMxcQorc3RlcCBzMXJyOiBCRUdJTiBJ U09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09MQVRJ T04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMmRlbDIwMjUwMzogCisgIERFTEVURSBG Uk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDMtMDEn IFRPICcyMDI1LTA0LTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczF1cGQyMDI1 OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlk ID0gJ1sxLDIpJzsKKyA8d2FpdGluZyAuLi4+CitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXVw ZDIwMjU6IDwuLi4gY29tcGxldGVkPgorRVJST1I6ICBjb3VsZCBub3Qgc2VyaWFsaXplIGFjY2Vz cyBkdWUgdG8gY29uY3VycmVudCBkZWxldGUKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTog U0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxp ZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDMtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0w NC0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDIgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlv bjogczFyciBzMnJyIHMyZGVsMjAyNTIwMjYgczF1cGQyMDI1IHMyYyBzMWMgczFxCitzdGVwIHMx cnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6IEJF R0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMyZGVsMjAyNTIwMjY6 IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N ICcyMDI1LTA2LTAxJyBUTyAnMjAyNi0wNi0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitz dGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4w MAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisgPHdhaXRpbmcgLi4uPgorc3RlcCBzMmM6IENPTU1J VDsKK3N0ZXAgczF1cGQyMDI1OiA8Li4uIGNvbXBsZXRlZD4KK0VSUk9SOiAgY291bGQgbm90IHNl cmlhbGl6ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1cnJlbnQgZGVsZXRlCitzdGVwIHMxYzogQ09NTUlU Oworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTA2LTAxKXwgNS4wMAor WzEsMil8WzIwMjYtMDYtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygyIHJvd3MpCisKKworc3RhcnRp bmcgcGVybXV0YXRpb246IHMxcnIgczJyciBzMXEgczJkZWwyMDI3IHMyYyBzMXVwZDIwMjUgczFj IHMxcQorc3RlcCBzMXJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOwor c3RlcCBzMnJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBz MXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8 dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQor CitzdGVwIHMyZGVsMjAyNzogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEtMDEnIFRPICcyMDI4LTAxLTAxJworICBXSEVSRSBp ZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxdXBkMjAyNTogCisgIFVQ REFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAx JyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwy KSc7CisKK0VSUk9SOiAgY291bGQgbm90IHNlcmlhbGl6ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1cnJl bnQgZGVsZXRlCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJv ZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAg ICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAy MC0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjgtMDEtMDEsMjAzMC0wMS0wMSl8 IDUuMDAKKygyIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxcnIgczJyciBzMXEg czJkZWwyMDI1MDMgczJjIHMxdXBkMjAyNSBzMWMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xB VElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBM RVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmlj ZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAx LDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJkZWwyMDI1MDM6IAorICBERUxF VEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAz LTAxJyBUTyAnMjAyNS0wNC0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzog Q09NTUlUOworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBw cmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitFUlJPUjogIGNvdWxkIG5vdCBz ZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IGRlbGV0ZQorc3RlcCBzMWM6IENPTU1J VDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMy0wMSl8IDUuMDAK K1sxLDIpfFsyMDI1LTA0LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0 aW5nIHBlcm11dGF0aW9uOiBzMXJyIHMycnIgczFxIHMyZGVsMjAyNTIwMjYgczJjIHMxdXBkMjAy NSBzMWMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJF QUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7Citz dGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Citp ZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSBy b3cpCisKK3N0ZXAgczJkZWwyMDI1MjAyNjogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDYtMDEnIFRPICcyMDI2LTA2LTAxJwor ICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxdXBkMjAy NTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBp ZCA9ICdbMSwyKSc7CisKK0VSUk9SOiAgY291bGQgbm90IHNlcmlhbGl6ZSBhY2Nlc3MgZHVlIHRv IGNvbmN1cnJlbnQgZGVsZXRlCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAq IEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAg ICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitb MSwyKXxbMjAyMC0wMS0wMSwyMDI1LTA2LTAxKXwgNS4wMAorWzEsMil8WzIwMjYtMDYtMDEsMjAz MC0wMS0wMSl8IDUuMDAKKygyIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxcnIg czJyciBzMXEgczF1cGQyMDI1IHMxYyBzMmRlbDIwMjcgczJjIHMxcQorc3RlcCBzMXJyOiBCRUdJ TiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09M QVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJv ZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAg ICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAy MC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMxdXBkMjAyNTogCisg IFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAx LTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdb MSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMyZGVsMjAyNzogCisgIERFTEVURSBG Uk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEtMDEn IFRPICcyMDI4LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01N SVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAw CitbMSwyKXxbMjAyNS0wMS0wMSwyMDI2LTAxLTAxKXwgOC4wMAorWzEsMil8WzIwMjYtMDEtMDEs MjAyNy0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI4LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCiso NCByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJyIHMycnIgczFxIHMxdXBkMjAy NSBzMWMgczJkZWwyMDI1MDMgczJjIHMxcQorc3RlcCBzMXJyOiBCRUdJTiBJU09MQVRJT04gTEVW RUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQ RUFUQUJMRSBSRUFEOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAx LTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0 cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0w MS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAg czFjOiBDT01NSVQ7CitzdGVwIHMyZGVsMjAyNTAzOiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMK KyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMy0wMScgVE8gJzIwMjUtMDQt MDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFx OiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZh bGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1 LTAxLTAxLDIwMjUtMDMtMDEpfCA4LjAwCitbMSwyKXxbMjAyNS0wNC0wMSwyMDI2LTAxLTAxKXwg OC4wMAorWzEsMil8WzIwMjYtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKyg0IHJvd3MpCisKKwor c3RhcnRpbmcgcGVybXV0YXRpb246IHMxcnIgczJyciBzMXEgczF1cGQyMDI1IHMxYyBzMmRlbDIw MjUyMDI2IHMyYyBzMXEKK3N0ZXAgczFycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFC TEUgUkVBRDsKK3N0ZXAgczJycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVB RDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAK KygxIHJvdykKKworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNF VCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlU Oworc3RlcCBzMmRlbDIwMjUyMDI2OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFdI RVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1Qg KiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAg ICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQor WzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTAxLTAxLDIw MjUtMDYtMDEpfCA4LjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMg cm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMxcSBzMmRlbDIwMjcg czF1cGQyMDI1IHMyYyBzMWMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBS RVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRB QkxFIFJFQUQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEp fCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJkZWwyMDI3OiAKKyAgREVMRVRFIEZST00gcHJvZHVj dHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNy0wMS0wMScgVE8gJzIwMjgt MDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMXVwZDIwMjU6IAorICBVUERB VEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScg VE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMikn OworIDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxdXBkMjAyNTogPC4u LiBjb21wbGV0ZWQ+CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBj b25jdXJyZW50IGRlbGV0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBG Uk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAg ICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEs Mil8WzIwMjAtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI4LTAxLTAxLDIwMzAt MDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJyIHMy cnIgczFxIHMyZGVsMjAyNTAzIHMxdXBkMjAyNSBzMmMgczFjIHMxcQorc3RlcCBzMXJyOiBCRUdJ TiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09M QVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJv ZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAg ICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAy MC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMyZGVsMjAyNTAzOiAK KyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAyNS0wMy0wMScgVE8gJzIwMjUtMDQtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3Rl cCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAK KyAgV0hFUkUgaWQgPSAnWzEsMiknOworIDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7 CitzdGVwIHMxdXBkMjAyNTogPC4uLiBjb21wbGV0ZWQ+CitFUlJPUjogIGNvdWxkIG5vdCBzZXJp YWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IGRlbGV0ZQorc3RlcCBzMWM6IENPTU1JVDsK K3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK K2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMy0wMSl8IDUuMDAKK1sx LDIpfFsyMDI1LTA0LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5n IHBlcm11dGF0aW9uOiBzMXJyIHMycnIgczFxIHMyZGVsMjAyNTIwMjYgczF1cGQyMDI1IHMyYyBz MWMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7 CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVw IHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAg IHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cp CisKK3N0ZXAgczJkZWwyMDI1MjAyNjogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDYtMDEnIFRPICcyMDI2LTA2LTAxJworICBX SEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBEQVRFIHByb2R1Y3Rz CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAx LTAxJworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKyA8d2FpdGlu ZyAuLi4+CitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXVwZDIwMjU6IDwuLi4gY29tcGxldGVk PgorRVJST1I6ICBjb3VsZCBub3Qgc2VyaWFsaXplIGFjY2VzcyBkdWUgdG8gY29uY3VycmVudCBk ZWxldGUKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0 cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxw cmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAx LTAxLDIwMjUtMDYtMDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4w MAorKDIgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMydXBkMjAy NyBzMmMgczFkZWwyMDI1IHMxYyBzMXEKK3N0ZXAgczFycjogQkVHSU4gSVNPTEFUSU9OIExFVkVM IFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVB VEFCTEUgUkVBRDsKK3N0ZXAgczJ1cGQyMDI3OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEtMDEnIFRPICcyMDI4LTAxLTAxJworICBT RVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01N SVQ7CitzdGVwIHMxZGVsMjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVS RSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICog RlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAg ICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sx LDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDI3 LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjctMDEtMDEsMjAyOC0wMS0wMSl8MTAuMDAKK1sxLDIp fFsyMDI4LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoNCByb3dzKQorCisKK3N0YXJ0aW5nIHBl cm11dGF0aW9uOiBzMXJyIHMycnIgczJ1cGQyMDI1MDMgczJjIHMxZGVsMjAyNSBzMWMgczFxCitz dGVwIHMxcnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMy cnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMydXBkMjAy NTAzOiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMjUtMDMtMDEnIFRPICcyMDI1LTA0LTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVS RSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxZGVsMjAyNTogCisg IERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAg czFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEt MDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDIgcm93cykK KworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMydXBkMjAyNTIwMjYgczJjIHMx ZGVsMjAyNSBzMWMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRB QkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJF QUQ7CitzdGVwIHMydXBkMjAyNTIwMjY6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFNFVCBw cmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsK K3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlk ID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9N IHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAg ICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8 WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjYtMDYt MDEpfDEwLjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykK KworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMxZGVsMjAyNSBzMWMgczJ1cGQy MDI3IHMyYyBzMXEKK3N0ZXAgczFycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUg UkVBRDsKK3N0ZXAgczJycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsK K3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlk ID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczJ1cGQyMDI3OiAKKyAgVVBE QVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEtMDEn IFRPICcyMDI4LTAxLTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwy KSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0 cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxw cmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAx LTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDI3LTAxLTAxKXwgNS4w MAorWzEsMil8WzIwMjctMDEtMDEsMjAyOC0wMS0wMSl8MTAuMDAKK1sxLDIpfFsyMDI4LTAxLTAx LDIwMzAtMDEtMDEpfCA1LjAwCisoNCByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBz MXJyIHMycnIgczFkZWwyMDI1IHMxYyBzMnVwZDIwMjUwMyBzMmMgczFxCitzdGVwIHMxcnI6IEJF R0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElT T0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMxZGVsMjAyNTogCisgIERFTEVU RSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEt MDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBD T01NSVQ7CitzdGVwIHMydXBkMjAyNTAzOiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDMtMDEnIFRPICcyMDI1LTA0LTAxJworICBTRVQg cHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7 CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitb MSwyKXxbMjAyNi0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDIgcm93cykKKworCitzdGFydGlu ZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMxZGVsMjAyNSBzMWMgczJ1cGQyMDI1MjAyNiBzMmMg czFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7Citz dGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMx ZGVsMjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwy KSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMydXBkMjAyNTIwMjY6IAorICBVUERBVEUg cHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8g JzIwMjYtMDYtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsK Kworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNl CistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEs MjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjYtMDYtMDEpfDEwLjAwCitb MSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitzdGFydGlu ZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMydXBkMjAyNyBzMWRlbDIwMjUgczJjIHMxYyBzMXEK K3N0ZXAgczFycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAg czJycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJ1cGQy MDI3OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMjctMDEtMDEnIFRPICcyMDI4LTAxLTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVS RSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVj dHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYt MDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKyA8d2FpdGluZyAuLi4+CitzdGVwIHMyYzog Q09NTUlUOworc3RlcCBzMWRlbDIwMjU6IDwuLi4gY29tcGxldGVkPgorRVJST1I6ICBjb3VsZCBu b3Qgc2VyaWFsaXplIGFjY2VzcyBkdWUgdG8gY29uY3VycmVudCB1cGRhdGUKK3N0ZXAgczFjOiBD T01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjctMDEtMDEpfCA1 LjAwCitbMSwyKXxbMjAyNy0wMS0wMSwyMDI4LTAxLTAxKXwxMC4wMAorWzEsMil8WzIwMjgtMDEt MDEsMjAzMC0wMS0wMSl8IDUuMDAKKygzIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246 IHMxcnIgczJyciBzMnVwZDIwMjUwMyBzMWRlbDIwMjUgczJjIHMxYyBzMXEKK3N0ZXAgczFycjog QkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJycjogQkVHSU4g SVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJ1cGQyMDI1MDM6IAorICBV UERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMy0w MScgVE8gJzIwMjUtMDQtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sx LDIpJzsKKworc3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAg V0hFUkUgaWQgPSAnWzEsMiknOworIDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7Citz dGVwIHMxZGVsMjAyNTogPC4uLiBjb21wbGV0ZWQ+CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxp emUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IHVwZGF0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0 ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lk ICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMy0wMSl8IDUuMDAKK1sxLDIp fFsyMDI1LTAzLTAxLDIwMjUtMDQtMDEpfDEwLjAwCitbMSwyKXxbMjAyNS0wNC0wMSwyMDMwLTAx LTAxKXwgNS4wMAorKDMgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJy IHMydXBkMjAyNTIwMjYgczFkZWwyMDI1IHMyYyBzMWMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElT T0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElP TiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMydXBkMjAyNTIwMjY6IAorICBVUERBVEUg cHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8g JzIwMjYtMDYtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsK Kworc3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUg aWQgPSAnWzEsMiknOworIDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMx ZGVsMjAyNTogPC4uLiBjb21wbGV0ZWQ+CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNj ZXNzIGR1ZSB0byBjb25jdXJyZW50IHVwZGF0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFx OiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZh bGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wNi0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1 LTA2LTAxLDIwMjYtMDYtMDEpfDEwLjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwg NS4wMAorKDMgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMxcSBz MnVwZDIwMjcgczJjIHMxZGVsMjAyNSBzMWMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElP TiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZF TCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQor LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIw MzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJ1cGQyMDI3OiAKKyAgVVBEQVRFIHBy b2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEtMDEnIFRPICcy MDI4LTAxLTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisK K3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxZGVsMjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1 Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2 LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK0VSUk9SOiAgY291bGQgbm90IHNlcmlh bGl6ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1cnJlbnQgdXBkYXRlCitzdGVwIHMxYzogQ09NTUlUOwor c3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor aWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorWzEs Mil8WzIwMjctMDEtMDEsMjAyOC0wMS0wMSl8MTAuMDAKK1sxLDIpfFsyMDI4LTAxLTAxLDIwMzAt MDEtMDEpfCA1LjAwCisoMyByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJyIHMy cnIgczFxIHMydXBkMjAyNTAzIHMyYyBzMWRlbDIwMjUgczFjIHMxcQorc3RlcCBzMXJyOiBCRUdJ TiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09M QVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJv ZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAg ICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAy MC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMydXBkMjAyNTAzOiAK KyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUt MDMtMDEnIFRPICcyMDI1LTA0LTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9 ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxZGVsMjAyNTogCisgIERFTEVU RSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEt MDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK0VSUk9SOiAgY291 bGQgbm90IHNlcmlhbGl6ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1cnJlbnQgdXBkYXRlCitzdGVwIHMx YzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAzLTAx KXwgNS4wMAorWzEsMil8WzIwMjUtMDMtMDEsMjAyNS0wNC0wMSl8MTAuMDAKK1sxLDIpfFsyMDI1 LTA0LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMyByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0 aW9uOiBzMXJyIHMycnIgczFxIHMydXBkMjAyNTIwMjYgczJjIHMxZGVsMjAyNSBzMWMgczFxCitz dGVwIHMxcnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMy cnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMxcTogU0VM RUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9h dCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAg czJ1cGQyMDI1MjAyNjogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDI1LTA2LTAxJyBUTyAnMjAyNi0wNi0wMScKKyAgU0VUIHByaWNlID0gMTAu MDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWRl bDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMikn OworCitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50 IHVwZGF0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1 Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAg fHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAt MDEtMDEsMjAyNS0wNi0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTA2LTAxLDIwMjYtMDYtMDEpfDEw LjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitz dGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMxcSBzMWRlbDIwMjUgczFjIHMydXBkMjAy NyBzMmMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJF QUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7Citz dGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Citp ZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSBy b3cpCisKK3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdI RVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczJ1cGQyMDI3OiAK KyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjct MDEtMDEnIFRPICcyMDI4LTAxLTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9 ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBw cm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAg ICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsy MDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDI3LTAxLTAx KXwgNS4wMAorWzEsMil8WzIwMjctMDEtMDEsMjAyOC0wMS0wMSl8MTAuMDAKK1sxLDIpfFsyMDI4 LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoNCByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0 aW9uOiBzMXJyIHMycnIgczFxIHMxZGVsMjAyNSBzMWMgczJ1cGQyMDI1MDMgczJjIHMxcQorc3Rl cCBzMXJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJy OiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMXE6IFNFTEVD VCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQg ICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t CitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMx ZGVsMjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwy KSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMydXBkMjAyNTAzOiAKKyAgVVBEQVRFIHBy b2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDMtMDEnIFRPICcy MDI1LTA0LTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisK K3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQor LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIw MjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDIg cm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMxcSBzMWRlbDIwMjUg czFjIHMydXBkMjAyNTIwMjYgczJjIHMxcQorc3RlcCBzMXJyOiBCRUdJTiBJU09MQVRJT04gTEVW RUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQ RUFUQUJMRSBSRUFEOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAx LTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMxZGVsMjAyNTogCisgIERFTEVURSBGUk9NIHBy b2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcy MDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7Citz dGVwIHMydXBkMjAyNTIwMjY6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFNFVCBwcmljZSA9 IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAg czFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAg fHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsy MDI2LTAxLTAxLDIwMjYtMDYtMDEpfDEwLjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAx KXwgNS4wMAorKDMgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMx cSBzMnVwZDIwMjcgczFkZWwyMDI1IHMyYyBzMWMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xB VElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBM RVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmlj ZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAx LDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJ1cGQyMDI3OiAKKyAgVVBEQVRF IHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEtMDEnIFRP ICcyMDI4LTAxLTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7 CisKK3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJF IGlkID0gJ1sxLDIpJzsKKyA8d2FpdGluZyAuLi4+CitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBz MWRlbDIwMjU6IDwuLi4gY29tcGxldGVkPgorRVJST1I6ICBjb3VsZCBub3Qgc2VyaWFsaXplIGFj Y2VzcyBkdWUgdG8gY29uY3VycmVudCB1cGRhdGUKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMx cTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2 YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjctMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAy Ny0wMS0wMSwyMDI4LTAxLTAxKXwxMC4wMAorWzEsMil8WzIwMjgtMDEtMDEsMjAzMC0wMS0wMSl8 IDUuMDAKKygzIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxcnIgczJyciBzMXEg czJ1cGQyMDI1MDMgczFkZWwyMDI1IHMyYyBzMWMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xB VElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBM RVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmlj ZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAx LDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJ1cGQyMDI1MDM6IAorICBVUERB VEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMy0wMScg VE8gJzIwMjUtMDQtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sxLDIp JzsKKworc3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hF UkUgaWQgPSAnWzEsMiknOworIDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVw IHMxZGVsMjAyNTogPC4uLiBjb21wbGV0ZWQ+CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUg YWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IHVwZGF0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAg czFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAg fHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMy0wMSl8IDUuMDAKK1sxLDIpfFsy MDI1LTAzLTAxLDIwMjUtMDQtMDEpfDEwLjAwCitbMSwyKXxbMjAyNS0wNC0wMSwyMDMwLTAxLTAx KXwgNS4wMAorKDMgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMx cSBzMnVwZDIwMjUyMDI2IHMxZGVsMjAyNSBzMmMgczFjIHMxcQorc3RlcCBzMXJyOiBCRUdJTiBJ U09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09MQVRJ T04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVj dHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8 cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0w MS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMydXBkMjAyNTIwMjY6IAor ICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0w Ni0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0g J1sxLDIpJzsKKworc3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScK KyAgV0hFUkUgaWQgPSAnWzEsMiknOworIDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7 CitzdGVwIHMxZGVsMjAyNTogPC4uLiBjb21wbGV0ZWQ+CitFUlJPUjogIGNvdWxkIG5vdCBzZXJp YWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IHVwZGF0ZQorc3RlcCBzMWM6IENPTU1JVDsK K3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK K2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wNi0wMSl8IDUuMDAKK1sx LDIpfFsyMDI1LTA2LTAxLDIwMjYtMDYtMDEpfDEwLjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMw LTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBz MnJyIHMyZGVsMjAyNyBzMmMgczFkZWwyMDI1IHMxYyBzMXEKK3N0ZXAgczFycjogQkVHSU4gSVNP TEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJycjogQkVHSU4gSVNPTEFUSU9O IExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJkZWwyMDI3OiAKKyAgREVMRVRFIEZST00g cHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNy0wMS0wMScgVE8g JzIwMjgtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsK K3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlk ID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9N IHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAg ICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8 WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjctMDEt MDEpfCA1LjAwCitbMSwyKXxbMjAyOC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykK KworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMyZGVsMjAyNTAzIHMyYyBzMWRl bDIwMjUgczFjIHMxcQorc3RlcCBzMXJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJM RSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFE Oworc3RlcCBzMmRlbDIwMjUwMzogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDMtMDEnIFRPICcyMDI1LTA0LTAxJworICBXSEVS RSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxZGVsMjAyNTogCisg IERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAg czFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEt MDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDIgcm93cykK KworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMyZGVsMjAyNTIwMjYgczJjIHMx ZGVsMjAyNSBzMWMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRB QkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJF QUQ7CitzdGVwIHMyZGVsMjAyNTIwMjY6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTA2LTAxJyBUTyAnMjAyNi0wNi0wMScKKyAg V0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWRlbDIwMjU6 IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N ICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitz dGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1 LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjYtMDYtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygyIHJv d3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxcnIgczJyciBzMWRlbDIwMjUgczFjIHMy ZGVsMjAyNyBzMmMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRB QkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJF QUQ7CitzdGVwIHMxZGVsMjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVS RSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMyZGVsMjAyNzogCisg IERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MjctMDEtMDEnIFRPICcyMDI4LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAg czJjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEt MDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorWzEsMil8WzIw MjgtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygzIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0 YXRpb246IHMxcnIgczJyciBzMWRlbDIwMjUgczFjIHMyZGVsMjAyNTAzIHMyYyBzMXEKK3N0ZXAg czFycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJycjog QkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczFkZWwyMDI1OiAK KyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3Rl cCBzMWM6IENPTU1JVDsKK3N0ZXAgczJkZWwyMDI1MDM6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0 cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAzLTAxJyBUTyAnMjAyNS0w NC0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBz MXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8 dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIw MjYtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygyIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0 YXRpb246IHMxcnIgczJyciBzMWRlbDIwMjUgczFjIHMyZGVsMjAyNTIwMjYgczJjIHMxcQorc3Rl cCBzMXJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJy OiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMWRlbDIwMjU6 IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N ICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitz dGVwIHMxYzogQ09NTUlUOworc3RlcCBzMmRlbDIwMjUyMDI2OiAKKyAgREVMRVRFIEZST00gcHJv ZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIw MjYtMDYtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0 ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lk ICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIp fFsyMDI2LTA2LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBl cm11dGF0aW9uOiBzMXJyIHMycnIgczJkZWwyMDI3IHMxZGVsMjAyNSBzMmMgczFjIHMxcQorc3Rl cCBzMXJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJy OiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMmRlbDIwMjc6 IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N ICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitz dGVwIHMxZGVsMjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9 ICdbMSwyKSc7CisgPHdhaXRpbmcgLi4uPgorc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFkZWwy MDI1OiA8Li4uIGNvbXBsZXRlZD4KK0VSUk9SOiAgY291bGQgbm90IHNlcmlhbGl6ZSBhY2Nlc3Mg ZHVlIHRvIGNvbmN1cnJlbnQgZGVsZXRlCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNF TEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRf YXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjgtMDEt MDEsMjAzMC0wMS0wMSl8IDUuMDAKKygyIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246 IHMxcnIgczJyciBzMmRlbDIwMjUwMyBzMWRlbDIwMjUgczJjIHMxYyBzMXEKK3N0ZXAgczFycjog QkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJycjogQkVHSU4g SVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJkZWwyMDI1MDM6IAorICBE RUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1 LTAzLTAxJyBUTyAnMjAyNS0wNC0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMx ZGVsMjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwy KSc7CisgPHdhaXRpbmcgLi4uPgorc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFkZWwyMDI1OiA8 Li4uIGNvbXBsZXRlZD4KK0VSUk9SOiAgY291bGQgbm90IHNlcmlhbGl6ZSBhY2Nlc3MgZHVlIHRv IGNvbmN1cnJlbnQgZGVsZXRlCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAq IEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAg ICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitb MSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAzLTAxKXwgNS4wMAorWzEsMil8WzIwMjUtMDQtMDEsMjAz MC0wMS0wMSl8IDUuMDAKKygyIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxcnIg czJyciBzMmRlbDIwMjUyMDI2IHMxZGVsMjAyNSBzMmMgczFjIHMxcQorc3RlcCBzMXJyOiBCRUdJ TiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09M QVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMmRlbDIwMjUyMDI2OiAKKyAgREVM RVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0w Ni0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWRl bDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMikn OworIDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxZGVsMjAyNTogPC4u LiBjb21wbGV0ZWQ+CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBj b25jdXJyZW50IGRlbGV0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBG Uk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAg ICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEs Mil8WzIwMjAtMDEtMDEsMjAyNS0wNi0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTA2LTAxLDIwMzAt MDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJyIHMy cnIgczFxIHMyZGVsMjAyNyBzMmMgczFkZWwyMDI1IHMxYyBzMXEKK3N0ZXAgczFycjogQkVHSU4g SVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJycjogQkVHSU4gSVNPTEFU SU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1 Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAg fHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAt MDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMmRlbDIwMjc6IAorICBE RUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI3 LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMy YzogQ09NTUlUOworc3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScK KyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNj ZXNzIGR1ZSB0byBjb25jdXJyZW50IGRlbGV0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFx OiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZh bGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI4 LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0 aW9uOiBzMXJyIHMycnIgczFxIHMyZGVsMjAyNTAzIHMyYyBzMWRlbDIwMjUgczFjIHMxcQorc3Rl cCBzMXJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJy OiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMXE6IFNFTEVD VCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQg ICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t CitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMy ZGVsMjAyNTAzOiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAyNS0wMy0wMScgVE8gJzIwMjUtMDQtMDEnCisgIFdIRVJFIGlkID0gJ1sx LDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZS T00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScg VE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworRVJST1I6ICBjb3VsZCBu b3Qgc2VyaWFsaXplIGFjY2VzcyBkdWUgdG8gY29uY3VycmVudCBkZWxldGUKK3N0ZXAgczFjOiBD T01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDMtMDEpfCA1 LjAwCitbMSwyKXxbMjAyNS0wNC0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDIgcm93cykKKworCitz dGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMxcSBzMmRlbDIwMjUyMDI2IHMyYyBzMWRl bDIwMjUgczFjIHMxcQorc3RlcCBzMXJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJM RSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFE Oworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAor KDEgcm93KQorCitzdGVwIHMyZGVsMjAyNTIwMjY6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cwor ICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTA2LTAxJyBUTyAnMjAyNi0wNi0w MScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWRl bDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMikn OworCitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50 IGRlbGV0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1 Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAg fHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAt MDEtMDEsMjAyNS0wNi0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTA2LTAxLDIwMzAtMDEtMDEpfCA1 LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJyIHMycnIgczFxIHMx ZGVsMjAyNSBzMWMgczJkZWwyMDI3IHMyYyBzMXEKK3N0ZXAgczFycjogQkVHSU4gSVNPTEFUSU9O IExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJycjogQkVHSU4gSVNPTEFUSU9OIExFVkVM IFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCist LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAz MC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJP TSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBU TyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlU Oworc3RlcCBzMmRlbDIwMjc6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgV0hFUkUg aWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZS T00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAg ICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwy KXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjYtMDEtMDEsMjAyNy0w MS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI4LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMyByb3dz KQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJyIHMycnIgczFxIHMxZGVsMjAyNSBzMWMg czJkZWwyMDI1MDMgczJjIHMxcQorc3RlcCBzMXJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQ RUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJM RSBSRUFEOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwg NS4wMAorKDEgcm93KQorCitzdGVwIHMxZGVsMjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1Y3Rz CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAx LTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMy ZGVsMjAyNTAzOiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAyNS0wMy0wMScgVE8gJzIwMjUtMDQtMDEnCisgIFdIRVJFIGlkID0gJ1sx LDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1 Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAg fHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAt MDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMzAtMDEtMDEpfCA1 LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJyIHMycnIgczFxIHMx ZGVsMjAyNSBzMWMgczJkZWwyMDI1MjAyNiBzMmMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xB VElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBM RVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmlj ZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAx LDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRF IEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0w MScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENP TU1JVDsKK3N0ZXAgczJkZWwyMDI1MjAyNjogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDYtMDEnIFRPICcyMDI2LTA2LTAxJwor ICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VM RUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9h dCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wNi0w MSwyMDMwLTAxLTAxKXwgNS4wMAorKDIgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjog czFyciBzMnJyIHMxcSBzMmRlbDIwMjcgczFkZWwyMDI1IHMyYyBzMWMgczFxCitzdGVwIHMxcnI6 IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lO IElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJP TSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAg ICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIp fFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJkZWwyMDI3 OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAyNy0wMS0wMScgVE8gJzIwMjgtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKwor c3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQg PSAnWzEsMiknOworIDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxZGVs MjAyNTogPC4uLiBjb21wbGV0ZWQ+CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNz IGR1ZSB0byBjb25jdXJyZW50IGRlbGV0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBT RUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlk X2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI4LTAx LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9u OiBzMXJyIHMycnIgczFxIHMyZGVsMjAyNTAzIHMxZGVsMjAyNSBzMmMgczFjIHMxcQorc3RlcCBz MXJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBC RUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMXE6IFNFTEVDVCAq IEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAg ICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitb MSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMyZGVs MjAyNTAzOiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAyNS0wMy0wMScgVE8gJzIwMjUtMDQtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIp JzsKKworc3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hF UkUgaWQgPSAnWzEsMiknOworIDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVw IHMxZGVsMjAyNTogPC4uLiBjb21wbGV0ZWQ+CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUg YWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IGRlbGV0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAg czFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAg fHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMy0wMSl8IDUuMDAKK1sxLDIpfFsy MDI1LTA0LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11 dGF0aW9uOiBzMXJyIHMycnIgczFxIHMyZGVsMjAyNTIwMjYgczFkZWwyMDI1IHMyYyBzMWMgczFx CitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVw IHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMxcTog U0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxp ZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0 ZXAgczJkZWwyMDI1MjAyNjogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDYtMDEnIFRPICcyMDI2LTA2LTAxJworICBXSEVSRSBp ZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMK KyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEt MDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKyA8d2FpdGluZyAuLi4+CitzdGVwIHMyYzogQ09N TUlUOworc3RlcCBzMWRlbDIwMjU6IDwuLi4gY29tcGxldGVkPgorRVJST1I6ICBjb3VsZCBub3Qg c2VyaWFsaXplIGFjY2VzcyBkdWUgdG8gY29uY3VycmVudCBkZWxldGUKK3N0ZXAgczFjOiBDT01N SVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDYtMDEpfCA1LjAw CitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDIgcm93cykKKworCitzdGFy dGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczJ1cGQyMDI3IHMyYyBzMXVwZDIwMjUgczFj IHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0 ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMydXBk MjAyNzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N ICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAgV0hF UkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXVwZDIwMjU6IAor ICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0w MS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAn WzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJv ZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAg ICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAy MC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjUtMDEtMDEsMjAyNi0wMS0wMSl8 IDguMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjctMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNy0w MS0wMSwyMDI4LTAxLTAxKXwxMC4wMAorWzEsMil8WzIwMjgtMDEtMDEsMjAzMC0wMS0wMSl8IDUu MDAKKyg1IHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxc2VyIHMyc2VyIHMydXBk MjAyNTAzIHMyYyBzMXVwZDIwMjUgczFjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9O IExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBT RVJJQUxJWkFCTEU7CitzdGVwIHMydXBkMjAyNTAzOiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDMtMDEnIFRPICcyMDI1LTA0LTAxJwor ICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBD T01NSVQ7CitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHBy aWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7Citz dGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Citp ZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwy KXxbMjAyNS0wMS0wMSwyMDI1LTAzLTAxKXwgOC4wMAorWzEsMil8WzIwMjUtMDMtMDEsMjAyNS0w NC0wMSl8IDguMDAKK1sxLDIpfFsyMDI1LTA0LTAxLDIwMjYtMDEtMDEpfCA4LjAwCitbMSwyKXxb MjAyNi0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDUgcm93cykKKworCitzdGFydGluZyBwZXJt dXRhdGlvbjogczFzZXIgczJzZXIgczJ1cGQyMDI1MjAyNiBzMmMgczF1cGQyMDI1IHMxYyBzMXEK K3N0ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMy c2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMnVwZDIwMjUy MDI2OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMjUtMDYtMDEnIFRPICcyMDI2LTA2LTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVS RSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxdXBkMjAyNTogCisg IFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAx LTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdb MSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9k dWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAg IHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIw LTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wMS0wMSwyMDI1LTA2LTAxKXwg OC4wMAorWzEsMil8WzIwMjUtMDYtMDEsMjAyNi0wMS0wMSl8IDguMDAKK1sxLDIpfFsyMDI2LTAx LTAxLDIwMjYtMDYtMDEpfDEwLjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4w MAorKDUgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczF1cGQy MDI1IHMxYyBzMnVwZDIwMjcgczJjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExF VkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJ QUxJWkFCTEU7CitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VU IHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7 CitzdGVwIHMydXBkMjAyNzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgU0VUIHByaWNlID0g MTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBz MXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8 dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIw MjUtMDEtMDEsMjAyNi0wMS0wMSl8IDguMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjctMDEtMDEp fCA1LjAwCitbMSwyKXxbMjAyNy0wMS0wMSwyMDI4LTAxLTAxKXwxMC4wMAorWzEsMil8WzIwMjgt MDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKyg1IHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRp b246IHMxc2VyIHMyc2VyIHMxdXBkMjAyNSBzMWMgczJ1cGQyMDI1MDMgczJjIHMxcQorc3RlcCBz MXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJF R0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMxdXBkMjAyNTogCisgIFVQ REFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAx JyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwy KSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMydXBkMjAyNTAzOiAKKyAgVVBEQVRFIHBy b2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDMtMDEnIFRPICcy MDI1LTA0LTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisK K3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQor LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIw MjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wMS0wMSwyMDI1LTAzLTAxKXwgOC4wMAorWzEs Mil8WzIwMjUtMDMtMDEsMjAyNS0wNC0wMSl8MTAuMDAKK1sxLDIpfFsyMDI1LTA0LTAxLDIwMjYt MDEtMDEpfCA4LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDUgcm93 cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczF1cGQyMDI1IHMxYyBz MnVwZDIwMjUyMDI2IHMyYyBzMXEKK3N0ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBT RVJJQUxJWkFCTEU7CitzdGVwIHMyc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpB QkxFOworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmlj ZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3Rl cCBzMnVwZDIwMjUyMDI2OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gJzIwMjUtMDYtMDEnIFRPICcyMDI2LTA2LTAxJworICBTRVQgcHJpY2UgPSAx MC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMx cTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2 YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAy NS0wMS0wMSwyMDI1LTA2LTAxKXwgOC4wMAorWzEsMil8WzIwMjUtMDYtMDEsMjAyNi0wMS0wMSl8 MTAuMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjYtMDYtMDEpfDEwLjAwCitbMSwyKXxbMjAyNi0w Ni0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDUgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlv bjogczFzZXIgczJzZXIgczJ1cGQyMDI3IHMxdXBkMjAyNSBzMmMgczFjIHMxcQorc3RlcCBzMXNl cjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lO IElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMydXBkMjAyNzogCisgIFVQREFU RSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI3LTAxLTAxJyBU TyAnMjAyOC0wMS0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMikn OworCitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNl ID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisgPHdhaXRpbmcgLi4uPgorc3RlcCBzMmM6 IENPTU1JVDsKK3N0ZXAgczF1cGQyMDI1OiA8Li4uIGNvbXBsZXRlZD4KK0VSUk9SOiAgY291bGQg bm90IHNlcmlhbGl6ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1cnJlbnQgdXBkYXRlCitzdGVwIHMxYzog Q09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI3LTAxLTAxKXwg NS4wMAorWzEsMil8WzIwMjctMDEtMDEsMjAyOC0wMS0wMSl8MTAuMDAKK1sxLDIpfFsyMDI4LTAx LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMyByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9u OiBzMXNlciBzMnNlciBzMnVwZDIwMjUwMyBzMXVwZDIwMjUgczJjIHMxYyBzMXEKK3N0ZXAgczFz ZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyc2VyOiBCRUdJ TiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMnVwZDIwMjUwMzogCisgIFVQ REFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAzLTAx JyBUTyAnMjAyNS0wNC0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEs MiknOworCitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHBy aWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisgPHdhaXRpbmcgLi4uPgorc3RlcCBz MmM6IENPTU1JVDsKK3N0ZXAgczF1cGQyMDI1OiA8Li4uIGNvbXBsZXRlZD4KK0VSUk9SOiAgY291 bGQgbm90IHNlcmlhbGl6ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1cnJlbnQgdXBkYXRlCitzdGVwIHMx YzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAzLTAx KXwgNS4wMAorWzEsMil8WzIwMjUtMDMtMDEsMjAyNS0wNC0wMSl8MTAuMDAKK1sxLDIpfFsyMDI1 LTA0LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMyByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0 aW9uOiBzMXNlciBzMnNlciBzMnVwZDIwMjUyMDI2IHMxdXBkMjAyNSBzMmMgczFjIHMxcQorc3Rl cCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6 IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMydXBkMjAyNTIwMjY6 IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAy NS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlk ID0gJ1sxLDIpJzsKKworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisg IFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworIDx3YWl0aW5nIC4uLj4K K3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxdXBkMjAyNTogPC4uLiBjb21wbGV0ZWQ+CitFUlJP UjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IHVwZGF0ZQor c3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCist LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAy NS0wNi0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTA2LTAxLDIwMjYtMDYtMDEpfDEwLjAwCitbMSwy KXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitzdGFydGluZyBw ZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFxIHMydXBkMjAyNyBzMmMgczF1cGQyMDI1IHMxYyBz MXEKK3N0ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVw IHMyc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMXE6IFNF TEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRf YXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVw IHMydXBkMjAyNzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAK KyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXVwZDIw MjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUg aWQgPSAnWzEsMiknOworCitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0 byBjb25jdXJyZW50IHVwZGF0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1Qg KiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAg ICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQor WzEsMil8WzIwMjAtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI3LTAxLTAxLDIw MjgtMDEtMDEpfDEwLjAwCitbMSwyKXxbMjAyOC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMg cm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFxIHMydXBkMjAy NTAzIHMyYyBzMXVwZDIwMjUgczFjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExF VkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJ QUxJWkFCTEU7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEp fCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJ1cGQyMDI1MDM6IAorICBVUERBVEUgcHJvZHVjdHMK KyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMy0wMScgVE8gJzIwMjUtMDQt MDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBz MmM6IENPTU1JVDsKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBT RVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworRVJST1I6ICBjb3VsZCBu b3Qgc2VyaWFsaXplIGFjY2VzcyBkdWUgdG8gY29uY3VycmVudCB1cGRhdGUKK3N0ZXAgczFjOiBD T01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDMtMDEpfCA1 LjAwCitbMSwyKXxbMjAyNS0wMy0wMSwyMDI1LTA0LTAxKXwxMC4wMAorWzEsMil8WzIwMjUtMDQt MDEsMjAzMC0wMS0wMSl8IDUuMDAKKygzIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246 IHMxc2VyIHMyc2VyIHMxcSBzMnVwZDIwMjUyMDI2IHMyYyBzMXVwZDIwMjUgczFjIHMxcQorc3Rl cCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6 IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMxcTogU0VMRUNUICog RlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAg ICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sx LDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJ1cGQy MDI1MjAyNjogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDI1LTA2LTAxJyBUTyAnMjAyNi0wNi0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAg V0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXVwZDIwMjU6 IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAy NS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQg PSAnWzEsMiknOworCitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBj b25jdXJyZW50IHVwZGF0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBG Uk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAg ICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEs Mil8WzIwMjAtMDEtMDEsMjAyNS0wNi0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTA2LTAxLDIwMjYt MDYtMDEpfDEwLjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93 cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFxIHMxdXBkMjAyNSBz MWMgczJ1cGQyMDI3IHMyYyBzMXEKK3N0ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBT RVJJQUxJWkFCTEU7CitzdGVwIHMyc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpB QkxFOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4w MAorKDEgcm93KQorCitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAg U0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01N SVQ7CitzdGVwIHMydXBkMjAyNzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgU0VUIHByaWNl ID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3Rl cCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQg ICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8 WzIwMjUtMDEtMDEsMjAyNi0wMS0wMSl8IDguMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjctMDEt MDEpfCA1LjAwCitbMSwyKXxbMjAyNy0wMS0wMSwyMDI4LTAxLTAxKXwxMC4wMAorWzEsMil8WzIw MjgtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKyg1IHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0 YXRpb246IHMxc2VyIHMyc2VyIHMxcSBzMXVwZDIwMjUgczFjIHMydXBkMjAyNTAzIHMyYyBzMXEK K3N0ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMy c2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMXE6IFNFTEVD VCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQg ICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t CitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMx dXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBX SEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMydXBkMjAyNTAz OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MjUtMDMtMDEnIFRPICcyMDI1LTA0LTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBp ZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJP TSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAg ICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIp fFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wMS0wMSwyMDI1LTAz LTAxKXwgOC4wMAorWzEsMil8WzIwMjUtMDMtMDEsMjAyNS0wNC0wMSl8MTAuMDAKK1sxLDIpfFsy MDI1LTA0LTAxLDIwMjYtMDEtMDEpfCA4LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDMwLTAxLTAx KXwgNS4wMAorKDUgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIg czFxIHMxdXBkMjAyNSBzMWMgczJ1cGQyMDI1MjAyNiBzMmMgczFxCitzdGVwIHMxc2VyOiBCRUdJ TiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMnNlcjogQkVHSU4gSVNPTEFU SU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3Rz IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHBy aWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEt MDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMXVwZDIwMjU6IAorICBVUERB VEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScg VE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMikn OworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMnVwZDIwMjUyMDI2OiAKKyAgVVBEQVRFIHBy b2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDYtMDEnIFRPICcy MDI2LTA2LTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisK K3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQor LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIw MjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wMS0wMSwyMDI1LTA2LTAxKXwgOC4wMAorWzEs Mil8WzIwMjUtMDYtMDEsMjAyNi0wMS0wMSl8MTAuMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjYt MDYtMDEpfDEwLjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDUgcm93 cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFxIHMydXBkMjAyNyBz MXVwZDIwMjUgczJjIHMxYyBzMXEKK3N0ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBT RVJJQUxJWkFCTEU7CitzdGVwIHMyc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpB QkxFOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4w MAorKDEgcm93KQorCitzdGVwIHMydXBkMjAyNzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAg U0VUIHByaWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxdXBkMjAy NTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBp ZCA9ICdbMSwyKSc7CisgPHdhaXRpbmcgLi4uPgorc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczF1 cGQyMDI1OiA8Li4uIGNvbXBsZXRlZD4KK0VSUk9SOiAgY291bGQgbm90IHNlcmlhbGl6ZSBhY2Nl c3MgZHVlIHRvIGNvbmN1cnJlbnQgdXBkYXRlCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6 IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFs aWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjct MDEtMDEsMjAyOC0wMS0wMSl8MTAuMDAKK1sxLDIpfFsyMDI4LTAxLTAxLDIwMzAtMDEtMDEpfCA1 LjAwCisoMyByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXNlciBzMnNlciBzMXEg czJ1cGQyMDI1MDMgczF1cGQyMDI1IHMyYyBzMWMgczFxCitzdGVwIHMxc2VyOiBCRUdJTiBJU09M QVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMnNlcjogQkVHSU4gSVNPTEFUSU9OIExF VkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCist LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAz MC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMnVwZDIwMjUwMzogCisgIFVQREFURSBw cm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAzLTAxJyBUTyAn MjAyNS0wNC0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOwor CitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0g OC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisgPHdhaXRpbmcgLi4uPgorc3RlcCBzMmM6IENP TU1JVDsKK3N0ZXAgczF1cGQyMDI1OiA8Li4uIGNvbXBsZXRlZD4KK0VSUk9SOiAgY291bGQgbm90 IHNlcmlhbGl6ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1cnJlbnQgdXBkYXRlCitzdGVwIHMxYzogQ09N TUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAzLTAxKXwgNS4w MAorWzEsMil8WzIwMjUtMDMtMDEsMjAyNS0wNC0wMSl8MTAuMDAKK1sxLDIpfFsyMDI1LTA0LTAx LDIwMzAtMDEtMDEpfCA1LjAwCisoMyByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBz MXNlciBzMnNlciBzMXEgczJ1cGQyMDI1MjAyNiBzMXVwZDIwMjUgczJjIHMxYyBzMXEKK3N0ZXAg czFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyc2VyOiBC RUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMXE6IFNFTEVDVCAqIEZS T00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAg ICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwy KXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMydXBkMjAy NTIwMjY6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAyNS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdI RVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMK KyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEt MDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworIDx3YWl0aW5n IC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxdXBkMjAyNTogPC4uLiBjb21wbGV0ZWQ+ CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IHVw ZGF0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3Rz IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHBy aWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEt MDEsMjAyNS0wNi0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTA2LTAxLDIwMjYtMDYtMDEpfDEwLjAw CitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitzdGFy dGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczJkZWwyMDI3IHMyYyBzMXVwZDIwMjUgczFj IHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0 ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyZGVs MjAyNzogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMjctMDEtMDEnIFRPICcyMDI4LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7 CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0 cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0w MS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAg czFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEt MDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wMS0wMSwyMDI2LTAxLTAxKXwgOC4wMAorWzEsMil8WzIw MjYtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI4LTAxLTAxLDIwMzAtMDEtMDEp fCA1LjAwCisoNCByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXNlciBzMnNlciBz MmRlbDIwMjUwMyBzMmMgczF1cGQyMDI1IHMxYyBzMXEKK3N0ZXAgczFzZXI6IEJFR0lOIElTT0xB VElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyc2VyOiBCRUdJTiBJU09MQVRJT04gTEVW RUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMmRlbDIwMjUwMzogCisgIERFTEVURSBGUk9NIHByb2R1 Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDMtMDEnIFRPICcyMDI1 LTA0LTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVw IHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAor ICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VM RUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9h dCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wMS0w MSwyMDI1LTAzLTAxKXwgOC4wMAorWzEsMil8WzIwMjUtMDQtMDEsMjAyNi0wMS0wMSl8IDguMDAK K1sxLDIpfFsyMDI2LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoNCByb3dzKQorCisKK3N0YXJ0 aW5nIHBlcm11dGF0aW9uOiBzMXNlciBzMnNlciBzMmRlbDIwMjUyMDI2IHMyYyBzMXVwZDIwMjUg czFjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsK K3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMy ZGVsMjAyNTIwMjY6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDI1LTA2LTAxJyBUTyAnMjAyNi0wNi0wMScKKyAgV0hFUkUgaWQgPSAn WzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUg cHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8g JzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOwor CitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UK Ky0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwy MDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjUtMDEtMDEsMjAyNS0wNi0wMSl8IDguMDAKK1sx LDIpfFsyMDI2LTA2LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMyByb3dzKQorCisKK3N0YXJ0aW5n IHBlcm11dGF0aW9uOiBzMXNlciBzMnNlciBzMXVwZDIwMjUgczFjIHMyZGVsMjAyNyBzMmMgczFx CitzdGVwIHMxc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBz MnNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczF1cGQyMDI1 OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlk ID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczJkZWwyMDI3OiAKKyAgREVM RVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNy0w MS0wMScgVE8gJzIwMjgtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6 IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2 YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8 IDUuMDAKK1sxLDIpfFsyMDI1LTAxLTAxLDIwMjYtMDEtMDEpfCA4LjAwCitbMSwyKXxbMjAyNi0w MS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjgtMDEtMDEsMjAzMC0wMS0wMSl8IDUu MDAKKyg0IHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxc2VyIHMyc2VyIHMxdXBk MjAyNSBzMWMgczJkZWwyMDI1MDMgczJjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9O IExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBT RVJJQUxJWkFCTEU7CitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAg U0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01N SVQ7CitzdGVwIHMyZGVsMjAyNTAzOiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMy0wMScgVE8gJzIwMjUtMDQtMDEnCisgIFdI RVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1Qg KiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAg ICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQor WzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTAxLTAxLDIw MjUtMDMtMDEpfCA4LjAwCitbMSwyKXxbMjAyNS0wNC0wMSwyMDI2LTAxLTAxKXwgOC4wMAorWzEs Mil8WzIwMjYtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKyg0IHJvd3MpCisKKworc3RhcnRpbmcg cGVybXV0YXRpb246IHMxc2VyIHMyc2VyIHMxdXBkMjAyNSBzMWMgczJkZWwyMDI1MjAyNiBzMmMg czFxCitzdGVwIHMxc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3Rl cCBzMnNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczF1cGQy MDI1OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJF IGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczJkZWwyMDI1MjAyNjog CisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMjUtMDYtMDEnIFRPICcyMDI2LTA2LTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0 ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUt MDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wMS0wMSwyMDI1LTA2LTAxKXwgOC4wMAorWzEsMil8 WzIwMjYtMDYtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygzIHJvd3MpCisKKworc3RhcnRpbmcgcGVy bXV0YXRpb246IHMxc2VyIHMyc2VyIHMyZGVsMjAyNyBzMXVwZDIwMjUgczJjIHMxYyBzMXEKK3N0 ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyc2Vy OiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMmRlbDIwMjc6IAor ICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVw IHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAor ICBXSEVSRSBpZCA9ICdbMSwyKSc7CisgPHdhaXRpbmcgLi4uPgorc3RlcCBzMmM6IENPTU1JVDsK K3N0ZXAgczF1cGQyMDI1OiA8Li4uIGNvbXBsZXRlZD4KK0VSUk9SOiAgY291bGQgbm90IHNlcmlh bGl6ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1cnJlbnQgZGVsZXRlCitzdGVwIHMxYzogQ09NTUlUOwor c3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor aWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorWzEs Mil8WzIwMjgtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygyIHJvd3MpCisKKworc3RhcnRpbmcg cGVybXV0YXRpb246IHMxc2VyIHMyc2VyIHMyZGVsMjAyNTAzIHMxdXBkMjAyNSBzMmMgczFjIHMx cQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAg czJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyZGVsMjAy NTAzOiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAyNS0wMy0wMScgVE8gJzIwMjUtMDQtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsK Kworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9 IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworIDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBD T01NSVQ7CitzdGVwIHMxdXBkMjAyNTogPC4uLiBjb21wbGV0ZWQ+CitFUlJPUjogIGNvdWxkIG5v dCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IGRlbGV0ZQorc3RlcCBzMWM6IENP TU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMy0wMSl8IDUu MDAKK1sxLDIpfFsyMDI1LTA0LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0 YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXNlciBzMnNlciBzMmRlbDIwMjUyMDI2IHMxdXBkMjAyNSBz MmMgczFjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJM RTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVw IHMyZGVsMjAyNTIwMjY6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDI1LTA2LTAxJyBUTyAnMjAyNi0wNi0wMScKKyAgV0hFUkUgaWQg PSAnWzEsMiknOworCitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAg U0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisgPHdhaXRpbmcgLi4uPgor c3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczF1cGQyMDI1OiA8Li4uIGNvbXBsZXRlZD4KK0VSUk9S OiAgY291bGQgbm90IHNlcmlhbGl6ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1cnJlbnQgZGVsZXRlCitz dGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1 LTA2LTAxKXwgNS4wMAorWzEsMil8WzIwMjYtMDYtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygyIHJv d3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxc2VyIHMyc2VyIHMxcSBzMmRlbDIwMjcg czJjIHMxdXBkMjAyNSBzMWMgczFxCitzdGVwIHMxc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwg U0VSSUFMSVpBQkxFOworc3RlcCBzMnNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTEla QUJMRTsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUu MDAKKygxIHJvdykKKworc3RlcCBzMmRlbDIwMjc6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cwor ICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0w MScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXVw ZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hF UkUgaWQgPSAnWzEsMiknOworCitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1 ZSB0byBjb25jdXJyZW50IGRlbGV0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxF Q1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0 ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI4LTAxLTAx LDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBz MXNlciBzMnNlciBzMXEgczJkZWwyMDI1MDMgczJjIHMxdXBkMjAyNSBzMWMgczFxCitzdGVwIHMx c2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMnNlcjogQkVH SU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9N IHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAg ICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8 WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMmRlbDIwMjUw MzogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMjUtMDMtMDEnIFRPICcyMDI1LTA0LTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisK K3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cwor ICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0w MScKKyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK0VSUk9SOiAg Y291bGQgbm90IHNlcmlhbGl6ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1cnJlbnQgZGVsZXRlCitzdGVw IHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAz LTAxKXwgNS4wMAorWzEsMil8WzIwMjUtMDQtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygyIHJvd3Mp CisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxc2VyIHMyc2VyIHMxcSBzMmRlbDIwMjUyMDI2 IHMyYyBzMXVwZDIwMjUgczFjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVM IFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJ WkFCTEU7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1 LjAwCisoMSByb3cpCisKK3N0ZXAgczJkZWwyMDI1MjAyNjogCisgIERFTEVURSBGUk9NIHByb2R1 Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDYtMDEnIFRPICcyMDI2 LTA2LTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVw IHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAor ICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK0VSUk9SOiAgY291bGQgbm90IHNlcmlhbGl6ZSBhY2Nl c3MgZHVlIHRvIGNvbmN1cnJlbnQgZGVsZXRlCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6 IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFs aWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTA2LTAxKXwgNS4wMAorWzEsMil8WzIwMjYt MDYtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygyIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRp b246IHMxc2VyIHMyc2VyIHMxcSBzMXVwZDIwMjUgczFjIHMyZGVsMjAyNyBzMmMgczFxCitzdGVw IHMxc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMnNlcjog QkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBG Uk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAg ICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEs Mil8WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMXVwZDIw MjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUg aWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMmRlbDIwMjc6IAorICBE RUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI3 LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMy YzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAx KXwgNS4wMAorWzEsMil8WzIwMjUtMDEtMDEsMjAyNi0wMS0wMSl8IDguMDAKK1sxLDIpfFsyMDI2 LTAxLTAxLDIwMjctMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyOC0wMS0wMSwyMDMwLTAxLTAxKXwg NS4wMAorKDQgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFx IHMxdXBkMjAyNSBzMWMgczJkZWwyMDI1MDMgczJjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNP TEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBM RVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQor LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIw MzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBEQVRFIHBy b2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcy MDI2LTAxLTAxJworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKwor c3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczJkZWwyMDI1MDM6IAorICBERUxFVEUgRlJPTSBwcm9k dWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAzLTAxJyBUTyAnMjAy NS0wNC0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3Rl cCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQg ICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8 WzIwMjUtMDEtMDEsMjAyNS0wMy0wMSl8IDguMDAKK1sxLDIpfFsyMDI1LTA0LTAxLDIwMjYtMDEt MDEpfCA4LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDQgcm93cykK KworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFxIHMxdXBkMjAyNSBzMWMg czJkZWwyMDI1MjAyNiBzMmMgczFxCitzdGVwIHMxc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwg U0VSSUFMSVpBQkxFOworc3RlcCBzMnNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTEla QUJMRTsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUu MDAKKygxIHJvdykKKworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisg IFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09N TUlUOworc3RlcCBzMmRlbDIwMjUyMDI2OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisg IFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxF Q1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0 ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTAxLTAx LDIwMjUtMDYtMDEpfCA4LjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAor KDMgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFxIHMyZGVs MjAyNyBzMXVwZDIwMjUgczJjIHMxYyBzMXEKK3N0ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBM RVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VS SUFMSVpBQkxFOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAx KXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMyZGVsMjAyNzogCisgIERFTEVURSBGUk9NIHByb2R1 Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEtMDEnIFRPICcyMDI4 LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBE QVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEn IFRPICcyMDI2LTAxLTAxJworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIp JzsKKyA8d2FpdGluZyAuLi4+CitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXVwZDIwMjU6IDwu Li4gY29tcGxldGVkPgorRVJST1I6ICBjb3VsZCBub3Qgc2VyaWFsaXplIGFjY2VzcyBkdWUgdG8g Y29uY3VycmVudCBkZWxldGUKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICog RlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAg ICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sx LDIpfFsyMDIwLTAxLTAxLDIwMjctMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyOC0wMS0wMSwyMDMw LTAxLTAxKXwgNS4wMAorKDIgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIg czJzZXIgczFxIHMyZGVsMjAyNTAzIHMxdXBkMjAyNSBzMmMgczFjIHMxcQorc3RlcCBzMXNlcjog QkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElT T0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9k dWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAg IHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIw LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJkZWwyMDI1MDM6IAor ICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDI1LTAzLTAxJyBUTyAnMjAyNS0wNC0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVw IHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAor ICBXSEVSRSBpZCA9ICdbMSwyKSc7CisgPHdhaXRpbmcgLi4uPgorc3RlcCBzMmM6IENPTU1JVDsK K3N0ZXAgczF1cGQyMDI1OiA8Li4uIGNvbXBsZXRlZD4KK0VSUk9SOiAgY291bGQgbm90IHNlcmlh bGl6ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1cnJlbnQgZGVsZXRlCitzdGVwIHMxYzogQ09NTUlUOwor c3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor aWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAzLTAxKXwgNS4wMAorWzEs Mil8WzIwMjUtMDQtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygyIHJvd3MpCisKKworc3RhcnRpbmcg cGVybXV0YXRpb246IHMxc2VyIHMyc2VyIHMxcSBzMmRlbDIwMjUyMDI2IHMxdXBkMjAyNSBzMmMg czFjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsK K3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMx cTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2 YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisK K3N0ZXAgczJkZWwyMDI1MjAyNjogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDYtMDEnIFRPICcyMDI2LTA2LTAxJworICBXSEVS RSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisg IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAx JworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKyA8d2FpdGluZyAu Li4+CitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXVwZDIwMjU6IDwuLi4gY29tcGxldGVkPgor RVJST1I6ICBjb3VsZCBub3Qgc2VyaWFsaXplIGFjY2VzcyBkdWUgdG8gY29uY3VycmVudCBkZWxl dGUKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmlj ZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAx LDIwMjUtMDYtMDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAor KDIgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczJ1cGQyMDI3 IHMyYyBzMWRlbDIwMjUgczFjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVM IFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJ WkFCTEU7CitzdGVwIHMydXBkMjAyNzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgU0VUIHBy aWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOwor c3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQg PSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00g cHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAg ICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxb MjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjYtMDEtMDEsMjAyNy0wMS0w MSl8IDUuMDAKK1sxLDIpfFsyMDI3LTAxLTAxLDIwMjgtMDEtMDEpfDEwLjAwCitbMSwyKXxbMjAy OC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDQgcm93cykKKworCitzdGFydGluZyBwZXJtdXRh dGlvbjogczFzZXIgczJzZXIgczJ1cGQyMDI1MDMgczJjIHMxZGVsMjAyNSBzMWMgczFxCitzdGVw IHMxc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMnNlcjog QkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJ1cGQyMDI1MDM6IAor ICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0w My0wMScgVE8gJzIwMjUtMDQtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0g J1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRF IEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0w MScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENP TU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUu MDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0 YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXNlciBzMnNlciBzMnVwZDIwMjUyMDI2IHMyYyBzMWRlbDIw MjUgczFjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJM RTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVw IHMydXBkMjAyNTIwMjY6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFNFVCBwcmljZSA9IDEw LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFk ZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIp JzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3Rz IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHBy aWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEt MDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjYtMDYtMDEpfDEwLjAw CitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitzdGFy dGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFkZWwyMDI1IHMxYyBzMnVwZDIwMjcgczJj IHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0 ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMxZGVs MjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7 CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMydXBkMjAyNzogCisgIFVQREFURSBwcm9kdWN0 cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0w MS0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVw IHMyYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAx LTAxKXwgNS4wMAorWzEsMil8WzIwMjYtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sxLDIpfFsy MDI3LTAxLTAxLDIwMjgtMDEtMDEpfDEwLjAwCitbMSwyKXxbMjAyOC0wMS0wMSwyMDMwLTAxLTAx KXwgNS4wMAorKDQgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIg czFkZWwyMDI1IHMxYyBzMnVwZDIwMjUwMyBzMmMgczFxCitzdGVwIHMxc2VyOiBCRUdJTiBJU09M QVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMnNlcjogQkVHSU4gSVNPTEFUSU9OIExF VkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVj dHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYt MDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAg czJ1cGQyMDI1MDM6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAyNS0wMy0wMScgVE8gJzIwMjUtMDQtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAw CisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFxOiBT RUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlk X2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTAx LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9u OiBzMXNlciBzMnNlciBzMWRlbDIwMjUgczFjIHMydXBkMjAyNTIwMjYgczJjIHMxcQorc3RlcCBz MXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJF R0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMxZGVsMjAyNTogCisgIERF TEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUt MDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFj OiBDT01NSVQ7CitzdGVwIHMydXBkMjAyNTIwMjY6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisg IFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENP TU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUu MDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjYtMDYtMDEpfDEwLjAwCitbMSwyKXxbMjAyNi0wNi0w MSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjog czFzZXIgczJzZXIgczJ1cGQyMDI3IHMxZGVsMjAyNSBzMmMgczFjIHMxcQorc3RlcCBzMXNlcjog QkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElT T0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMydXBkMjAyNzogCisgIFVQREFURSBw cm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI3LTAxLTAxJyBUTyAn MjAyOC0wMS0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOwor CitzdGVwIHMxZGVsMjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBp ZCA9ICdbMSwyKSc7CisgPHdhaXRpbmcgLi4uPgorc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFk ZWwyMDI1OiA8Li4uIGNvbXBsZXRlZD4KK0VSUk9SOiAgY291bGQgbm90IHNlcmlhbGl6ZSBhY2Nl c3MgZHVlIHRvIGNvbmN1cnJlbnQgdXBkYXRlCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6 IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFs aWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjct MDEtMDEsMjAyOC0wMS0wMSl8MTAuMDAKK1sxLDIpfFsyMDI4LTAxLTAxLDIwMzAtMDEtMDEpfCA1 LjAwCisoMyByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXNlciBzMnNlciBzMnVw ZDIwMjUwMyBzMWRlbDIwMjUgczJjIHMxYyBzMXEKK3N0ZXAgczFzZXI6IEJFR0lOIElTT0xBVElP TiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwg U0VSSUFMSVpBQkxFOworc3RlcCBzMnVwZDIwMjUwMzogCisgIFVQREFURSBwcm9kdWN0cworICBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAzLTAxJyBUTyAnMjAyNS0wNC0wMScK KyAgU0VUIHByaWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxZGVs MjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7 CisgPHdhaXRpbmcgLi4uPgorc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFkZWwyMDI1OiA8Li4u IGNvbXBsZXRlZD4KK0VSUk9SOiAgY291bGQgbm90IHNlcmlhbGl6ZSBhY2Nlc3MgZHVlIHRvIGNv bmN1cnJlbnQgdXBkYXRlCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZS T00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAg ICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwy KXxbMjAyMC0wMS0wMSwyMDI1LTAzLTAxKXwgNS4wMAorWzEsMil8WzIwMjUtMDMtMDEsMjAyNS0w NC0wMSl8MTAuMDAKK1sxLDIpfFsyMDI1LTA0LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMyByb3dz KQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXNlciBzMnNlciBzMnVwZDIwMjUyMDI2IHMx ZGVsMjAyNSBzMmMgczFjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNF UklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFC TEU7CitzdGVwIHMydXBkMjAyNTIwMjY6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFNFVCBw cmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWRlbDIwMjU6IAor ICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworIDx3YWl0 aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxZGVsMjAyNTogPC4uLiBjb21wbGV0 ZWQ+CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50 IHVwZGF0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1 Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAg fHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAt MDEtMDEsMjAyNS0wNi0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTA2LTAxLDIwMjYtMDYtMDEpfDEw LjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitz dGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFxIHMydXBkMjAyNyBzMmMgczFkZWwy MDI1IHMxYyBzMXEKK3N0ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFC TEU7CitzdGVwIHMyc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3Rl cCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQg ICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93 KQorCitzdGVwIHMydXBkMjAyNzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgU0VUIHByaWNl ID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3Rl cCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAn WzEsMiknOworCitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25j dXJyZW50IHVwZGF0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9N IHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAg ICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8 WzIwMjAtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI3LTAxLTAxLDIwMjgtMDEt MDEpfDEwLjAwCitbMSwyKXxbMjAyOC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykK KworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFxIHMydXBkMjAyNTAzIHMy YyBzMWRlbDIwMjUgczFjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNF UklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFC TEU7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAw CisoMSByb3cpCisKK3N0ZXAgczJ1cGQyMDI1MDM6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMy0wMScgVE8gJzIwMjUtMDQtMDEnCisg IFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENP TU1JVDsKK3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdI RVJFIGlkID0gJ1sxLDIpJzsKKworRVJST1I6ICBjb3VsZCBub3Qgc2VyaWFsaXplIGFjY2VzcyBk dWUgdG8gY29uY3VycmVudCB1cGRhdGUKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VM RUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9h dCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDMtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wMy0w MSwyMDI1LTA0LTAxKXwxMC4wMAorWzEsMil8WzIwMjUtMDQtMDEsMjAzMC0wMS0wMSl8IDUuMDAK KygzIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxc2VyIHMyc2VyIHMxcSBzMnVw ZDIwMjUyMDI2IHMyYyBzMWRlbDIwMjUgczFjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFU SU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZF TCBTRVJJQUxJWkFCTEU7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAt MDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJ1cGQyMDI1MjAyNjogCisgIFVQREFURSBw cm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTA2LTAxJyBUTyAn MjAyNi0wNi0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOwor CitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9k dWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAy Ni0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitFUlJPUjogIGNvdWxkIG5vdCBzZXJp YWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IHVwZGF0ZQorc3RlcCBzMWM6IENPTU1JVDsK K3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK K2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wNi0wMSl8IDUuMDAKK1sx LDIpfFsyMDI1LTA2LTAxLDIwMjYtMDYtMDEpfDEwLjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMw LTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIg czJzZXIgczFxIHMxZGVsMjAyNSBzMWMgczJ1cGQyMDI3IHMyYyBzMXEKK3N0ZXAgczFzZXI6IEJF R0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyc2VyOiBCRUdJTiBJU09M QVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVj dHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8 cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0w MS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMxZGVsMjAyNTogCisgIERF TEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUt MDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFj OiBDT01NSVQ7CitzdGVwIHMydXBkMjAyNzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgU0VU IHByaWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlU Oworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAor WzEsMil8WzIwMjYtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI3LTAxLTAxLDIw MjgtMDEtMDEpfDEwLjAwCitbMSwyKXxbMjAyOC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDQg cm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFxIHMxZGVsMjAy NSBzMWMgczJ1cGQyMDI1MDMgczJjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExF VkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJ QUxJWkFCTEU7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEp fCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVj dHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYt MDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAg czJ1cGQyMDI1MDM6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAyNS0wMy0wMScgVE8gJzIwMjUtMDQtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAw CisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFxOiBT RUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlk X2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTAx LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9u OiBzMXNlciBzMnNlciBzMXEgczFkZWwyMDI1IHMxYyBzMnVwZDIwMjUyMDI2IHMyYyBzMXEKK3N0 ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyc2Vy OiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMXE6IFNFTEVDVCAq IEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAg ICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitb MSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMxZGVs MjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7 CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMydXBkMjAyNTIwMjY6IAorICBVUERBVEUgcHJv ZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIw MjYtMDYtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKwor c3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCist LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAy NS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjYtMDYtMDEpfDEwLjAwCitbMSwy KXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitzdGFydGluZyBw ZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFxIHMydXBkMjAyNyBzMWRlbDIwMjUgczJjIHMxYyBz MXEKK3N0ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVw IHMyc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMXE6IFNF TEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRf YXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVw IHMydXBkMjAyNzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAK KyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxZGVsMjAyNTogCisgIERFTEVURSBGUk9N IHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRP ICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisgPHdhaXRpbmcgLi4uPgorc3Rl cCBzMmM6IENPTU1JVDsKK3N0ZXAgczFkZWwyMDI1OiA8Li4uIGNvbXBsZXRlZD4KK0VSUk9SOiAg Y291bGQgbm90IHNlcmlhbGl6ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1cnJlbnQgdXBkYXRlCitzdGVw IHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI3LTAx LTAxKXwgNS4wMAorWzEsMil8WzIwMjctMDEtMDEsMjAyOC0wMS0wMSl8MTAuMDAKK1sxLDIpfFsy MDI4LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMyByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11 dGF0aW9uOiBzMXNlciBzMnNlciBzMXEgczJ1cGQyMDI1MDMgczFkZWwyMDI1IHMyYyBzMWMgczFx CitzdGVwIHMxc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBz MnNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczFxOiBTRUxF Q1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0 ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LQorWzEsMil8WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBz MnVwZDIwMjUwMzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDI1LTAzLTAxJyBUTyAnMjAyNS0wNC0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAK KyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxZGVsMjAyNTogCisgIERFTEVURSBGUk9N IHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRP ICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisgPHdhaXRpbmcgLi4uPgorc3Rl cCBzMmM6IENPTU1JVDsKK3N0ZXAgczFkZWwyMDI1OiA8Li4uIGNvbXBsZXRlZD4KK0VSUk9SOiAg Y291bGQgbm90IHNlcmlhbGl6ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1cnJlbnQgdXBkYXRlCitzdGVw IHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAz LTAxKXwgNS4wMAorWzEsMil8WzIwMjUtMDMtMDEsMjAyNS0wNC0wMSl8MTAuMDAKK1sxLDIpfFsy MDI1LTA0LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMyByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11 dGF0aW9uOiBzMXNlciBzMnNlciBzMXEgczJ1cGQyMDI1MjAyNiBzMWRlbDIwMjUgczJjIHMxYyBz MXEKK3N0ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVw IHMyc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMXE6IFNF TEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRf YXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVw IHMydXBkMjAyNTIwMjY6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFNFVCBwcmljZSA9IDEw LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUg RlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAx JyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworIDx3YWl0aW5nIC4uLj4K K3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxZGVsMjAyNTogPC4uLiBjb21wbGV0ZWQ+CitFUlJP UjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IHVwZGF0ZQor c3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCist LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAy NS0wNi0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTA2LTAxLDIwMjYtMDYtMDEpfDEwLjAwCitbMSwy KXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitzdGFydGluZyBw ZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczJkZWwyMDI3IHMyYyBzMWRlbDIwMjUgczFjIHMxcQor c3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJz ZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyZGVsMjAyNzog CisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMjctMDEtMDEnIFRPICcyMDI4LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0 ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxZGVsMjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1Y3Rz CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAx LTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMx cTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2 YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAy Ni0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjgtMDEtMDEsMjAzMC0wMS0wMSl8 IDUuMDAKKygzIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxc2VyIHMyc2VyIHMy ZGVsMjAyNTAzIHMyYyBzMWRlbDIwMjUgczFjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFU SU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZF TCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyZGVsMjAyNTAzOiAKKyAgREVMRVRFIEZST00gcHJvZHVj dHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMy0wMScgVE8gJzIwMjUt MDQtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAg czFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sx LDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1 Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAg fHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAt MDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMzAtMDEtMDEpfCA1 LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXNlciBzMnNlciBzMmRl bDIwMjUyMDI2IHMyYyBzMWRlbDIwMjUgczFjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFU SU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZF TCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyZGVsMjAyNTIwMjY6IAorICBERUxFVEUgRlJPTSBwcm9k dWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTA2LTAxJyBUTyAnMjAy Ni0wNi0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3Rl cCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAn WzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJv ZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAg ICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAy MC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjYtMDYtMDEsMjAzMC0wMS0wMSl8 IDUuMDAKKygyIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxc2VyIHMyc2VyIHMx ZGVsMjAyNSBzMWMgczJkZWwyMDI3IHMyYyBzMXEKK3N0ZXAgczFzZXI6IEJFR0lOIElTT0xBVElP TiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwg U0VSSUFMSVpBQkxFOworc3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cwor ICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0w MScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMmRl bDIwMjc6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMikn OworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJp Y2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0w MSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjYtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAK K1sxLDIpfFsyMDI4LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMyByb3dzKQorCisKK3N0YXJ0 aW5nIHBlcm11dGF0aW9uOiBzMXNlciBzMnNlciBzMWRlbDIwMjUgczFjIHMyZGVsMjAyNTAzIHMy YyBzMXEKK3N0ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7Citz dGVwIHMyc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMWRl bDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMikn OworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMmRlbDIwMjUwMzogCisgIERFTEVURSBGUk9N IHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDMtMDEnIFRP ICcyMDI1LTA0LTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7 CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitb MSwyKXxbMjAyNi0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDIgcm93cykKKworCitzdGFydGlu ZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFkZWwyMDI1IHMxYyBzMmRlbDIwMjUyMDI2IHMy YyBzMXEKK3N0ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7Citz dGVwIHMyc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMWRl bDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMikn OworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMmRlbDIwMjUyMDI2OiAKKyAgREVMRVRFIEZS T00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScg VE8gJzIwMjYtMDYtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1J VDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAK K1sxLDIpfFsyMDI2LTA2LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0 aW5nIHBlcm11dGF0aW9uOiBzMXNlciBzMnNlciBzMmRlbDIwMjcgczFkZWwyMDI1IHMyYyBzMWMg czFxCitzdGVwIHMxc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3Rl cCBzMnNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJkZWwy MDI3OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAyNy0wMS0wMScgVE8gJzIwMjgtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsK Kworc3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUg aWQgPSAnWzEsMiknOworIDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMx ZGVsMjAyNTogPC4uLiBjb21wbGV0ZWQ+CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNj ZXNzIGR1ZSB0byBjb25jdXJyZW50IGRlbGV0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFx OiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZh bGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI4 LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0 aW9uOiBzMXNlciBzMnNlciBzMmRlbDIwMjUwMyBzMWRlbDIwMjUgczJjIHMxYyBzMXEKK3N0ZXAg czFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyc2VyOiBC RUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMmRlbDIwMjUwMzogCisg IERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MjUtMDMtMDEnIFRPICcyMDI1LTA0LTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAg czFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sx LDIpJzsKKyA8d2FpdGluZyAuLi4+CitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWRlbDIwMjU6 IDwuLi4gY29tcGxldGVkPgorRVJST1I6ICBjb3VsZCBub3Qgc2VyaWFsaXplIGFjY2VzcyBkdWUg dG8gY29uY3VycmVudCBkZWxldGUKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNU ICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAg ICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0K K1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDMtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wNC0wMSwy MDMwLTAxLTAxKXwgNS4wMAorKDIgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFz ZXIgczJzZXIgczJkZWwyMDI1MjAyNiBzMWRlbDIwMjUgczJjIHMxYyBzMXEKK3N0ZXAgczFzZXI6 IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyc2VyOiBCRUdJTiBJ U09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMmRlbDIwMjUyMDI2OiAKKyAgREVM RVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0w Ni0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWRl bDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMikn OworIDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxZGVsMjAyNTogPC4u LiBjb21wbGV0ZWQ+CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBj b25jdXJyZW50IGRlbGV0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBG Uk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAg ICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEs Mil8WzIwMjAtMDEtMDEsMjAyNS0wNi0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTA2LTAxLDIwMzAt MDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXNlciBz MnNlciBzMXEgczJkZWwyMDI3IHMyYyBzMWRlbDIwMjUgczFjIHMxcQorc3RlcCBzMXNlcjogQkVH SU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xB VElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0 cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxw cmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAx LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJkZWwyMDI3OiAKKyAgREVM RVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNy0w MS0wMScgVE8gJzIwMjgtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6 IENPTU1JVDsKK3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisg IFdIRVJFIGlkID0gJ1sxLDIpJzsKKworRVJST1I6ICBjb3VsZCBub3Qgc2VyaWFsaXplIGFjY2Vz cyBkdWUgdG8gY29uY3VycmVudCBkZWxldGUKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTog U0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxp ZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjctMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyOC0w MS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDIgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlv bjogczFzZXIgczJzZXIgczFxIHMyZGVsMjAyNTAzIHMyYyBzMWRlbDIwMjUgczFjIHMxcQorc3Rl cCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6 IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMxcTogU0VMRUNUICog RlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAg ICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sx LDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJkZWwy MDI1MDM6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDI1LTAzLTAxJyBUTyAnMjAyNS0wNC0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMikn OworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBw cm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAn MjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitFUlJPUjogIGNvdWxkIG5vdCBz ZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IGRlbGV0ZQorc3RlcCBzMWM6IENPTU1J VDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMy0wMSl8IDUuMDAK K1sxLDIpfFsyMDI1LTA0LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0 aW5nIHBlcm11dGF0aW9uOiBzMXNlciBzMnNlciBzMXEgczJkZWwyMDI1MjAyNiBzMmMgczFkZWwy MDI1IHMxYyBzMXEKK3N0ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFC TEU7CitzdGVwIHMyc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3Rl cCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQg ICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93 KQorCitzdGVwIHMyZGVsMjAyNTIwMjY6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTA2LTAxJyBUTyAnMjAyNi0wNi0wMScKKyAg V0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWRlbDIwMjU6 IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N ICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitF UlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IGRlbGV0 ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNl CistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEs MjAyNS0wNi0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTA2LTAxLDIwMzAtMDEtMDEpfCA1LjAwCiso MiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXNlciBzMnNlciBzMXEgczFkZWwy MDI1IHMxYyBzMmRlbDIwMjcgczJjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExF VkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJ QUxJWkFCTEU7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEp fCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVj dHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYt MDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAg czJkZWwyMDI3OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAyNy0wMS0wMScgVE8gJzIwMjgtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sx LDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1 Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAg fHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAt MDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjctMDEtMDEpfCA1 LjAwCitbMSwyKXxbMjAyOC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitz dGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFxIHMxZGVsMjAyNSBzMWMgczJkZWwy MDI1MDMgczJjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTEla QUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7Citz dGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Citp ZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSBy b3cpCisKK3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdI RVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczJkZWwyMDI1MDM6 IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N ICcyMDI1LTAzLTAxJyBUTyAnMjAyNS0wNC0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitz dGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1 LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjYtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygyIHJv d3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxc2VyIHMyc2VyIHMxcSBzMWRlbDIwMjUg czFjIHMyZGVsMjAyNTIwMjYgczJjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExF VkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJ QUxJWkFCTEU7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEp fCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVj dHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYt MDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAg czJkZWwyMDI1MjAyNjogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMjUtMDYtMDEnIFRPICcyMDI2LTA2LTAxJworICBXSEVSRSBpZCA9 ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBw cm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAg ICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsy MDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAx KXwgNS4wMAorKDIgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIg czFxIHMyZGVsMjAyNyBzMWRlbDIwMjUgczJjIHMxYyBzMXEKK3N0ZXAgczFzZXI6IEJFR0lOIElT T0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyc2VyOiBCRUdJTiBJU09MQVRJT04g TEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UK Ky0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwy MDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMyZGVsMjAyNzogCisgIERFTEVURSBG Uk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEtMDEn IFRPICcyMDI4LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFkZWwyMDI1 OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKyA8 d2FpdGluZyAuLi4+CitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWRlbDIwMjU6IDwuLi4gY29t cGxldGVkPgorRVJST1I6ICBjb3VsZCBub3Qgc2VyaWFsaXplIGFjY2VzcyBkdWUgdG8gY29uY3Vy cmVudCBkZWxldGUKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBw cm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAg ICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsy MDIwLTAxLTAxLDIwMjctMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyOC0wMS0wMSwyMDMwLTAxLTAx KXwgNS4wMAorKDIgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIg czFxIHMyZGVsMjAyNTAzIHMxZGVsMjAyNSBzMmMgczFjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4g SVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElP TiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmlj ZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAx LDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJkZWwyMDI1MDM6IAorICBERUxF VEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAz LTAxJyBUTyAnMjAyNS0wNC0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxZGVs MjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7 CisgPHdhaXRpbmcgLi4uPgorc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFkZWwyMDI1OiA8Li4u IGNvbXBsZXRlZD4KK0VSUk9SOiAgY291bGQgbm90IHNlcmlhbGl6ZSBhY2Nlc3MgZHVlIHRvIGNv bmN1cnJlbnQgZGVsZXRlCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZS T00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAg ICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwy KXxbMjAyMC0wMS0wMSwyMDI1LTAzLTAxKXwgNS4wMAorWzEsMil8WzIwMjUtMDQtMDEsMjAzMC0w MS0wMSl8IDUuMDAKKygyIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxc2VyIHMy c2VyIHMxcSBzMmRlbDIwMjUyMDI2IHMxZGVsMjAyNSBzMmMgczFjIHMxcQorc3RlcCBzMXNlcjog QkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElT T0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9k dWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAg IHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIw LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJkZWwyMDI1MjAyNjog CisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMjUtMDYtMDEnIFRPICcyMDI2LTA2LTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0 ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlkID0g J1sxLDIpJzsKKyA8d2FpdGluZyAuLi4+CitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWRlbDIw MjU6IDwuLi4gY29tcGxldGVkPgorRVJST1I6ICBjb3VsZCBub3Qgc2VyaWFsaXplIGFjY2VzcyBk dWUgdG8gY29uY3VycmVudCBkZWxldGUKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VM RUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9h dCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDYtMDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wNi0w MSwyMDMwLTAxLTAxKXwgNS4wMAorKDIgcm93cykKKwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvaXNv bGF0aW9uL2lzb2xhdGlvbl9zY2hlZHVsZSBiL3NyYy90ZXN0L2lzb2xhdGlvbi9pc29sYXRpb25f c2NoZWR1bGUKaW5kZXggNWFmYWUzM2QzNzAuLjg3YmJiY2FiYWQxIDEwMDY0NAotLS0gYS9zcmMv dGVzdC9pc29sYXRpb24vaXNvbGF0aW9uX3NjaGVkdWxlCisrKyBiL3NyYy90ZXN0L2lzb2xhdGlv bi9pc29sYXRpb25fc2NoZWR1bGUKQEAgLTEyMCwzICsxMjAsNCBAQCB0ZXN0OiBzZXJpYWxpemFi bGUtcGFyYWxsZWwtMgogdGVzdDogc2VyaWFsaXphYmxlLXBhcmFsbGVsLTMKIHRlc3Q6IG1hdHZp ZXctd3JpdGUtc2tldwogdGVzdDogbG9jay1ub3dhaXQKK3Rlc3Q6IGZvci1wb3J0aW9uLW9mCmRp ZmYgLS1naXQgYS9zcmMvdGVzdC9pc29sYXRpb24vc3BlY3MvZm9yLXBvcnRpb24tb2Yuc3BlYyBi L3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy9mb3ItcG9ydGlvbi1vZi5zcGVjCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi45NDJlZmQ0MzliYQotLS0gL2Rldi9udWxsCisr KyBiL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy9mb3ItcG9ydGlvbi1vZi5zcGVjCkBAIC0wLDAg KzEsNzUwIEBACisjIFVQREFURS9ERUxFVEUgRk9SIFBPUlRJT04gT0YgdGVzdAorIworIyBUZXN0 IGluc2VydGluZyB0ZW1wb3JhbCBsZWZ0b3ZlcnMgZnJvbSBhIEZPUiBQT1JUSU9OIE9GIHVwZGF0 ZS9kZWxldGUuCisjCisjIEluIFJFQUQgQ09NTUlUVEVEIG1vZGUsIGNvbmN1cnJlbnQgdXBkYXRl cy9kZWxldGVzIHRvIHRoZSBzYW1lIHJlY29yZHMgY2F1c2UKKyMgd2VpcmQgcmVzdWx0cy4gUG9y dGlvbnMgb2YgaGlzdG9yeSB0aGF0IHNob3VsZCBoYXZlIGJlZW4gdXBkYXRlZC9kZWxldGVkIGRv bid0CisjIGdldCBjaGFuZ2VkLiBUaGF0J3MgYmVjYXVzZSB0aGUgbGVmdG92ZXJzIGZyb20gb25l IG9wZXJhdGlvbiBhcmUgYWRkZWQgdG9vCisjIGxhdGUgdG8gYmUgc2VlbiBieSB0aGUgb3RoZXIu IEV2YWxQbGFuUXVhbCB3aWxsIHJlbG9hZCB0aGUgY2hhbmdlZC1pbi1jb21tb24KKyMgcm93LCBi dXQgaXQgd29uJ3QgcmUtc2NhbiB0byBmaW5kIG5ldyBsZWZ0b3ZlcnMuCisjCisjIE1hcmlhREIg c2ltaWxhcmx5IGdpdmVzIHVuZGVzaXJhYmxlIHJlc3VsdHMgaW4gUkVBRCBDT01NSVRURUQgbW9k ZSAoYWx0aG91Z2gKKyMgbm90IHRoZSBzYW1lIHJlc3VsdHMpLiBEQjIgZG9lc24ndCBoYXZlIFJF QUQgQ09NTUlUVEVELCBidXQgaXQgZ2l2ZXMgY29ycmVjdAorIyByZXN1bHRzIGF0IGFsbCBsZXZl bHMsIGluIHBhcnRpY3VsYXIgUkVBRCBTVEFCSUxJVFkgKHdoaWNoIHNlZW1zIGNsb3Nlc3QpLgor IworIyBBIHdvcmthcm91bmQgaXMgdG8gbG9jayB0aGUgcGFydCBvZiBoaXN0b3J5IHlvdSB3YW50 IGJlZm9yZSBjaGFuZ2luZyBpdCAodXNpbmcKKyMgU0VMRUNUIEZPUiBVUERBVEUpLiBUaGF0IHdh eSB0aGUgc2VhcmNoIGZvciByb3dzIGlzIGxhdGUgZW5vdWdoIHRvIHNlZQorIyBsZWZ0b3ZlcnMg ZnJvbSB0aGUgb3RoZXIgc2Vzc2lvbihzKS4gVGhpcyBzaG91bGRuJ3QgaW1wb3NlIGFueSBuZXcg ZGVhZGxvY2sKKyMgcmlza3MsIHNpbmNlIHRoZSBsb2NrcyBhcmUgdGhlIHNhbWUgYXMgYmVmb3Jl LiBBZGRpbmcgYSB0aGlyZC9mb3VydGgvZXRjLgorIyBjb25uZWN0aW9uIGFsc28gZG9lc24ndCBj aGFuZ2UgdGhlIHNlbWFudGljcy4gVGhlIFJFQUQgQ09NTUlUVEVEIHRlc3RzIGhlcmUKKyMgdXNl IHRoYXQgYXBwcm9hY2ggdG8gcHJvdmUgdGhhdCBpdCdzIHZpYWJsZSBhbmQgaXNuJ3Qgdml0aWF0 ZWQgYnkgYW55IGJ1Z3MuCisjIEluY2lkZW50YWxseSwgdGhpcyBhcHByb2FjaCBhbHNvIHdvcmtz IGluIE1hcmlhREIuCisjCisjIFdlIHJ1biB0aGUgc2FtZSB0ZXN0cyB1bmRlciBSRVBFQVRBQkxF IFJFQUQgYW5kIFNFUklBTElaQUJMRS4KKyMgSW4gZ2VuZXJhbCB0aGV5IGRvIHdoYXQgeW91J2Qg d2FudCB3aXRoIG5vIGV4cGxpY2l0IGxvY2tpbmcgcmVxdWlyZWQsIGJ1dCBzb21lCisjIG9yZGVy aW5ncyByYWlzZSBhIGNvbmN1cnJlbnQgdXBkYXRlL2RlbGV0ZSBmYWlsdXJlIChhcyBleHBlY3Rl ZCkuIElmIHRoZXJlIGlzCisjIGEgcHJpb3IgcmVhZCBieSBzMSwgY29uY3VycmVudCB1cGRhdGUv ZGVsZXRlIGZhaWx1cmVzIGFyZSBtb3JlIGNvbW1vbi4KKyMKKyMgV2UgdGVzdCB1cGRhdGVzIHdo ZXJlIHMyIHVwZGF0ZXMgaGlzdG9yeSB0aGF0IGlzOgorIworIyAtIG5vbi1vdmVybGFwcGluZyB3 aXRoIHMxLAorIyAtIGNvbnRhaW5lZCBlbnRpcmVseSBpbiBzMSwKKyMgLSBwYXJ0bHkgY29udGFp bmVkIGluIHMxLgorIworIyBXZSBkb24ndCBuZWVkIHRvIHRlc3Qgd2hlcmUgczIgZW50aXJlbHkg Y29udGFpbnMgczEgYmVjYXVzZSBvZiBzeW1tZXRyeToKKyMgd2UgdGVzdCBib3RoIHdoZW4gczEg cHJlY2VkZXMgczIgYW5kIHdoZW4gczIgcHJlY2VkZXMgczEsICBzbyB0aGF0IHNjZW5hcmlvIGlz CisjIGNvdmVyZWQuCisjCisjIFdlIHRlc3QgdmFyaW91cyBvcmRlcmluZ3Mgb2YgdGhlIHVwZGF0 ZS9kZWxldGUvY29tbWl0IGZyb20gczEgYW5kIHMyLgorIyBOb3RlIHRoYXQgYHMxbG9jayBzMmxv Y2sgczFjaGFuZ2VgIGlzIGJvcmluZyBiZWNhdXNlIGl0J3MgdGhlIHNhbWUgYXMKKyMgYHMxbG9j ayBzMWNoYW5nZSBzMmxvY2tgLiBJbiBvdGhlciB3b3JkcyBpdCBkb2Vzbid0IG1hdHRlciBpZiBz b21ldGhpbmcKKyMgaW50ZXJwb3NlcyBiZXR3ZWVuIHRoZSBsb2NrIGFuZCBpdHMgY2hhbmdlIChh cyBsb25nIGFzIGV2ZXJ5b25lIGlzIGZvbGxvd2luZworIyB0aGUgc2FtZSBwb2xpY3kpLgorCitz ZXR1cAoreworICBDUkVBVEUgVEFCTEUgcHJvZHVjdHMgKAorCWlkIGludDRyYW5nZSBOT1QgTlVM TCwKKwl2YWxpZF9hdCBkYXRlcmFuZ2UgTk9UIE5VTEwsCisJcHJpY2UgZGVjaW1hbCBOT1QgTlVM TCwKKwlQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpKTsKKyAgSU5T RVJUIElOVE8gcHJvZHVjdHMgVkFMVUVTCisJKCdbMSwyKScsICdbMjAyMC0wMS0wMSwyMDMwLTAx LTAxKScsIDUuMDApOworfQorCit0ZWFyZG93biB7IERST1AgVEFCTEUgcHJvZHVjdHM7IH0KKwor c2Vzc2lvbiBzMQorc2V0dXAJCXsgU0VUIGRhdGVzdHlsZSBUTyBJU08sIFlNRDsgfQorc3RlcCBz MXJjCXsgQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVEOyB9CitzdGVwIHMxcnIJ eyBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOyB9CitzdGVwIHMxc2VyCXsg QkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsgfQorc3RlcCBzMWxvY2syMDI1IHsK KyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlk X2F0ICYmICdbMjAyNS0wMS0wMSwyMDI2LTAxLTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9S IFVQREFURTsKK30KK3N0ZXAgczF1cGQyMDI1CXsKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBT RVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKK30KK3N0ZXAgczFkZWwyMDI1 IHsKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKK30K K3N0ZXAgczFxCXsgU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 IH0KK3N0ZXAgczFjCXsgQ09NTUlUOyB9CisKK3Nlc3Npb24gczIKK3NldHVwCQl7IFNFVCBkYXRl c3R5bGUgVE8gSVNPLCBZTUQ7IH0KK3N0ZXAgczJyYwl7IEJFR0lOIElTT0xBVElPTiBMRVZFTCBS RUFEIENPTU1JVFRFRDsgfQorc3RlcCBzMnJyCXsgQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVB VEFCTEUgUkVBRDsgfQorc3RlcCBzMnNlcgl7IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJ WkFCTEU7IH0KK3N0ZXAgczJsb2NrMjAyNTAzIHsKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cwor ICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNS0wMy0wMSwyMDI1LTA0 LTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQREFURTsKK30KK3N0ZXAgczJsb2NrMjAy NTIwMjYgeworICBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0gJ1sxLDIpJyBB TkQgdmFsaWRfYXQgJiYgJ1syMDI1LTA2LTAxLDIwMjYtMDYtMDEpJworICBPUkRFUiBCWSB2YWxp ZF9hdCBGT1IgVVBEQVRFOworfQorc3RlcCBzMmxvY2syMDI3IHsKKyAgU0VMRUNUICogRlJPTSBw cm9kdWN0cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNy0wMS0w MSwyMDI4LTAxLTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQREFURTsKK30KK3N0ZXAg czJ1cGQyMDI1MDMgeworICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAyNS0wMy0wMScgVE8gJzIwMjUtMDQtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAw CisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKK30KK3N0ZXAgczJ1cGQyMDI1MjAyNiB7CisgIFVQREFU RSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTA2LTAxJyBU TyAnMjAyNi0wNi0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMikn OworfQorc3RlcCBzMnVwZDIwMjcgeworICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAyNy0wMS0wMScgVE8gJzIwMjgtMDEtMDEnCisgIFNFVCBwcmlj ZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKK30KK3N0ZXAgczJkZWwyMDI1MDMgewor ICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDI1LTAzLTAxJyBUTyAnMjAyNS0wNC0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworfQorc3Rl cCBzMmRlbDIwMjUyMDI2IHsKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFdIRVJFIGlk ID0gJ1sxLDIpJzsKK30KK3N0ZXAgczJkZWwyMDI3IHsKKyAgREVMRVRFIEZST00gcHJvZHVjdHMK KyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNy0wMS0wMScgVE8gJzIwMjgtMDEt MDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKK30KK3N0ZXAgczJjCXsgQ09NTUlUOyB9CisKKyMg IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBSRUFEIENPTU1JVFRF RCB0ZXN0cywgVVBEQVRFK1VQREFURToKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIworCisjIHMxIHNlZXMgdGhlIGxlZnRvdmVycworcGVybXV0YXRpb24gczFyYyBz MnJjIHMybG9jazIwMjcgczJ1cGQyMDI3IHMyYyBzMWxvY2syMDI1IHMxdXBkMjAyNSBzMWMgczFx CisKKyMgczEgcmVsb2FkcyB0aGUgdXBkYXRlZCByb3cgYW5kIHNlZXMgaXRzIGxlZnRvdmVycwor cGVybXV0YXRpb24gczFyYyBzMnJjIHMybG9jazIwMjUwMyBzMnVwZDIwMjUwMyBzMmMgczFsb2Nr MjAyNSBzMXVwZDIwMjUgczFjIHMxcQorCisjIHMxIHJlbG9hZHMgdGhlIHVwZGF0ZWQgcm93IGFu ZCBzZWVzIGl0cyBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMxcmMgczJyYyBzMmxvY2syMDI1MjAy NiBzMnVwZDIwMjUyMDI2IHMyYyBzMWxvY2syMDI1IHMxdXBkMjAyNSBzMWMgczFxCisKKyMgczIg c2VlcyB0aGUgbGVmdG92ZXJzCitwZXJtdXRhdGlvbiBzMXJjIHMycmMgczFsb2NrMjAyNSBzMXVw ZDIwMjUgczFjIHMybG9jazIwMjcgczJ1cGQyMDI3IHMyYyBzMXEKKworIyBzMiBsb2FkcyB0aGUg dXBkYXRlZCByb3cKK3Blcm11dGF0aW9uIHMxcmMgczJyYyBzMWxvY2syMDI1IHMxdXBkMjAyNSBz MWMgczJsb2NrMjAyNTAzIHMydXBkMjAyNTAzIHMyYyBzMXEKKworIyBzMiBsb2FkcyB0aGUgdXBk YXRlZCByb3cgYW5kIHNlZXMgaXRzIGxlZnRvdmVycworcGVybXV0YXRpb24gczFyYyBzMnJjIHMx bG9jazIwMjUgczF1cGQyMDI1IHMxYyBzMmxvY2syMDI1MjAyNiBzMnVwZDIwMjUyMDI2IHMyYyBz MXEKKworIyBzMSB1cGRhdGVzIHRoZSBsZWZ0b3ZlcnMgZnJvbSBzMgorIyBMb2NraW5nIGlzIHJl cXVpcmVkIG9yIHMxIHdvbid0IHNlZSB0aGUgbGVmdG92ZXJzLgorcGVybXV0YXRpb24gczFyYyBz MnJjIHMybG9jazIwMjcgczJ1cGQyMDI3IHMxbG9jazIwMjUgczJjIHMxdXBkMjAyNSBzMWMgczFx CisKKyMgczEgb3ZlcndyaXRlcyB0aGUgcm93IGZyb20gczIgYW5kIHNlZXMgaXRzIGxlZnRvdmVy cworIyBMb2NraW5nIGlzIHJlcXVpcmVkIG9yIHMxIHdvbid0IHNlZSB0aGUgbGVmdG92ZXJzLgor cGVybXV0YXRpb24gczFyYyBzMnJjIHMybG9jazIwMjUwMyBzMnVwZDIwMjUwMyBzMWxvY2syMDI1 IHMyYyBzMXVwZDIwMjUgczFjIHMxcQorCisjIHMxIG92ZXJ3cml0ZXMgdGhlIHJvdyBmcm9tIHMy IGFuZCBzZWVzIGl0cyBsZWZ0b3ZlcnMKKyMgTG9ja2luZyBpcyByZXF1aXJlZCBvciBzMSB3b24n dCBzZWUgdGhlIGxlZnRvdmVycy4KK3Blcm11dGF0aW9uIHMxcmMgczJyYyBzMmxvY2syMDI1MjAy NiBzMnVwZDIwMjUyMDI2IHMxbG9jazIwMjUgczJjIHMxdXBkMjAyNSBzMWMgczFxCisKKyMgIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBSRUFEIENPTU1JVFRFRCB0 ZXN0cywgVVBEQVRFK0RFTEVURToKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIworCisjIHMxIHNlZXMgdGhlIGxlZnRvdmVycworcGVybXV0YXRpb24gczFyYyBzMnJj IHMybG9jazIwMjcgczJkZWwyMDI3IHMyYyBzMWxvY2syMDI1IHMxdXBkMjAyNSBzMWMgczFxCisK KyMgczEgaWdub3JlcyB0aGUgZGVsZXRlZCByb3cgYW5kIHNlZXMgaXRzIGxlZnRvdmVycworcGVy bXV0YXRpb24gczFyYyBzMnJjIHMybG9jazIwMjUwMyBzMmRlbDIwMjUwMyBzMmMgczFsb2NrMjAy NSBzMXVwZDIwMjUgczFjIHMxcQorCisjIHMxIGlnbm9yZXMgdGhlIGRlbGV0ZWQgcm93IGFuZCBz ZWVzIGl0cyBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMxcmMgczJyYyBzMmxvY2syMDI1MjAyNiBz MmRlbDIwMjUyMDI2IHMyYyBzMWxvY2syMDI1IHMxdXBkMjAyNSBzMWMgczFxCisKKyMgczIgc2Vl cyB0aGUgbGVmdG92ZXJzCitwZXJtdXRhdGlvbiBzMXJjIHMycmMgczFsb2NrMjAyNSBzMXVwZDIw MjUgczFjIHMybG9jazIwMjcgczJkZWwyMDI3IHMyYyBzMXEKKworIyBzMiBsb2FkcyB0aGUgdXBk YXRlZCByb3cKK3Blcm11dGF0aW9uIHMxcmMgczJyYyBzMWxvY2syMDI1IHMxdXBkMjAyNSBzMWMg czJsb2NrMjAyNTAzIHMyZGVsMjAyNTAzIHMyYyBzMXEKKworIyBzMiBsb2FkcyB0aGUgdXBkYXRl ZCByb3cgYW5kIHNlZXMgaXRzIGxlZnRvdmVycworcGVybXV0YXRpb24gczFyYyBzMnJjIHMxbG9j azIwMjUgczF1cGQyMDI1IHMxYyBzMmxvY2syMDI1MjAyNiBzMmRlbDIwMjUyMDI2IHMyYyBzMXEK KworIyBzMSB1cGRhdGVzIHRoZSBsZWZ0b3ZlcnMgZnJvbSBzMgorIyBMb2NraW5nIGlzIHJlcXVp cmVkIG9yIHMxIHdvbid0IHNlZSB0aGUgbGVmdG92ZXJzLgorcGVybXV0YXRpb24gczFyYyBzMnJj IHMybG9jazIwMjcgczJkZWwyMDI3IHMxbG9jazIwMjUgczJjIHMxdXBkMjAyNSBzMWMgczFxCisK KyMgczEgc2VlcyB0aGUgbGVmdG92ZXJzIGZyb20gczIKKyMgTG9ja2luZyBpcyByZXF1aXJlZCBv ciBzMSB3b24ndCBzZWUgdGhlIGxlZnRvdmVycy4KK3Blcm11dGF0aW9uIHMxcmMgczJyYyBzMmxv Y2syMDI1MDMgczJkZWwyMDI1MDMgczFsb2NrMjAyNSBzMmMgczF1cGQyMDI1IHMxYyBzMXEKKwor IyBzMSBzZWVzIHRoZSBsZWZ0b3ZlcnMgZnJvbSBzMgorIyBMb2NraW5nIGlzIHJlcXVpcmVkIG9y IHMxIHdvbid0IHNlZSB0aGUgbGVmdG92ZXJzLgorcGVybXV0YXRpb24gczFyYyBzMnJjIHMybG9j azIwMjUyMDI2IHMyZGVsMjAyNTIwMjYgczFsb2NrMjAyNSBzMmMgczF1cGQyMDI1IHMxYyBzMXEK KworIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFJFQUQgQ09N TUlUVEVEIHRlc3RzLCBERUxFVEUrVVBEQVRFOgorIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjCisKKyMgczEgc2VlcyB0aGUgbGVmdG92ZXJzCitwZXJtdXRhdGlvbiBz MXJjIHMycmMgczJsb2NrMjAyNyBzMnVwZDIwMjcgczJjIHMxbG9jazIwMjUgczFkZWwyMDI1IHMx YyBzMXEKKworIyBzMSByZWxvYWRzIHRoZSB1cGRhdGVkIHJvdyBhbmQgc2VlcyBpdHMgbGVmdG92 ZXJzCitwZXJtdXRhdGlvbiBzMXJjIHMycmMgczJsb2NrMjAyNTAzIHMydXBkMjAyNTAzIHMyYyBz MWxvY2syMDI1IHMxZGVsMjAyNSBzMWMgczFxCisKKyMgczEgcmVsb2FkcyB0aGUgdXBkYXRlZCBy b3cgYW5kIHNlZXMgaXRzIGxlZnRvdmVycworcGVybXV0YXRpb24gczFyYyBzMnJjIHMybG9jazIw MjUyMDI2IHMydXBkMjAyNTIwMjYgczJjIHMxbG9jazIwMjUgczFkZWwyMDI1IHMxYyBzMXEKKwor IyBzMiBzZWVzIHRoZSBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMxcmMgczJyYyBzMWxvY2syMDI1 IHMxZGVsMjAyNSBzMWMgczJsb2NrMjAyNyBzMnVwZDIwMjcgczJjIHMxcQorCisjIHMyIGlnbm9y ZXMgdGhlIGRlbGV0ZWQgcm93CitwZXJtdXRhdGlvbiBzMXJjIHMycmMgczFsb2NrMjAyNSBzMWRl bDIwMjUgczFjIHMybG9jazIwMjUwMyBzMnVwZDIwMjUwMyBzMmMgczFxCisKKyMgczIgaWdub3Jl cyB0aGUgZGVsZXRlZCByb3cgYW5kIHNlZXMgaXRzIGxlZnRvdmVycworcGVybXV0YXRpb24gczFy YyBzMnJjIHMxbG9jazIwMjUgczFkZWwyMDI1IHMxYyBzMmxvY2syMDI1MjAyNiBzMnVwZDIwMjUy MDI2IHMyYyBzMXEKKworIyBzMSBkZWxldGVzIHRoZSBsZWZ0b3ZlcnMgZnJvbSBzMgorIyBMb2Nr aW5nIGlzIHJlcXVpcmVkIG9yIHMxIHdvbid0IHNlZSB0aGUgbGVmdG92ZXJzLgorcGVybXV0YXRp b24gczFyYyBzMnJjIHMybG9jazIwMjcgczJ1cGQyMDI3IHMxbG9jazIwMjUgczJjIHMxZGVsMjAy NSBzMWMgczFxCisKKyMgczEgZGVsZXRlcyB0aGUgbmV3IHJvdyBmcm9tIHMyIGFuZCBpdHMgbGVm dG92ZXJzCisjIExvY2tpbmcgaXMgcmVxdWlyZWQgb3IgczEgd29uJ3Qgc2VlIHRoZSBsZWZ0b3Zl cnMuCitwZXJtdXRhdGlvbiBzMXJjIHMycmMgczJsb2NrMjAyNTAzIHMydXBkMjAyNTAzIHMxbG9j azIwMjUgczJjIHMxZGVsMjAyNSBzMWMgczFxCisKKyMgczEgZGVsZXRlcyB0aGUgbmV3IHJvdyBm cm9tIHMyIGFuZCBpdHMgbGVmdG92ZXJzCisjIExvY2tpbmcgaXMgcmVxdWlyZWQgb3IgczEgd29u J3Qgc2VlIHRoZSBsZWZ0b3ZlcnMuCitwZXJtdXRhdGlvbiBzMXJjIHMycmMgczJsb2NrMjAyNTIw MjYgczJ1cGQyMDI1MjAyNiBzMWxvY2syMDI1IHMyYyBzMWRlbDIwMjUgczFjIHMxcQorCisjICMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgUkVBRCBDT01NSVRURUQg dGVzdHMsIERFTEVURStERUxFVEU6CisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKKworIyBzMSBzZWVzIHRoZSBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMxcmMgczJy YyBzMmxvY2syMDI3IHMyZGVsMjAyNyBzMmMgczFsb2NrMjAyNSBzMWRlbDIwMjUgczFjIHMxcQor CisjIHMxIGlnbm9yZXMgdGhlIGRlbGV0ZWQgcm93IGFuZCBzZWVzIGl0cyBsZWZ0b3ZlcnMKK3Bl cm11dGF0aW9uIHMxcmMgczJyYyBzMmxvY2syMDI1MDMgczJkZWwyMDI1MDMgczJjIHMxbG9jazIw MjUgczFkZWwyMDI1IHMxYyBzMXEKKworIyBzMSBpZ25vcmVzIHRoZSBkZWxldGVkIHJvdyBhbmQg c2VlcyBpdHMgbGVmdG92ZXJzCitwZXJtdXRhdGlvbiBzMXJjIHMycmMgczJsb2NrMjAyNTIwMjYg czJkZWwyMDI1MjAyNiBzMmMgczFsb2NrMjAyNSBzMWRlbDIwMjUgczFjIHMxcQorCisjIHMyIHNl ZXMgdGhlIGxlZnRvdmVycworcGVybXV0YXRpb24gczFyYyBzMnJjIHMxbG9jazIwMjUgczFkZWwy MDI1IHMxYyBzMmxvY2syMDI3IHMyZGVsMjAyNyBzMmMgczFxCisKKyMgczIgaWdub3JlcyB0aGUg ZGVsZXRlZCByb3cKK3Blcm11dGF0aW9uIHMxcmMgczJyYyBzMWxvY2syMDI1IHMxZGVsMjAyNSBz MWMgczJsb2NrMjAyNTAzIHMyZGVsMjAyNTAzIHMyYyBzMXEKKworIyBzMiBpZ25vcmVzIHRoZSBk ZWxldGVkIHJvdyBhbmQgc2VlcyBpdHMgbGVmdG92ZXJzCitwZXJtdXRhdGlvbiBzMXJjIHMycmMg czFsb2NrMjAyNSBzMWRlbDIwMjUgczFjIHMybG9jazIwMjUyMDI2IHMyZGVsMjAyNTIwMjYgczJj IHMxcQorCisjIHMxIGRlbGV0ZXMgdGhlIGxlZnRvdmVycyBmcm9tIHMyCisjIExvY2tpbmcgaXMg cmVxdWlyZWQgb3IgczEgd29uJ3Qgc2VlIHRoZSBsZWZ0b3ZlcnMuCitwZXJtdXRhdGlvbiBzMXJj IHMycmMgczJsb2NrMjAyNyBzMmRlbDIwMjcgczFsb2NrMjAyNSBzMmMgczFkZWwyMDI1IHMxYyBz MXEKKworIyBzMSBkZWxldGVzIHRoZSBsZWZ0b3ZlcnMgZnJvbSBzMgorIyBMb2NraW5nIGlzIHJl cXVpcmVkIG9yIHMxIHdvbid0IHNlZSB0aGUgbGVmdG92ZXJzLgorcGVybXV0YXRpb24gczFyYyBz MnJjIHMybG9jazIwMjUwMyBzMmRlbDIwMjUwMyBzMWxvY2syMDI1IHMyYyBzMWRlbDIwMjUgczFj IHMxcQorCisjIHMxIGRlbGV0ZXMgdGhlIGxlZnRvdmVycyBmcm9tIHMyCisjIExvY2tpbmcgaXMg cmVxdWlyZWQgb3IgczEgd29uJ3Qgc2VlIHRoZSBsZWZ0b3ZlcnMuCitwZXJtdXRhdGlvbiBzMXJj IHMycmMgczJsb2NrMjAyNTIwMjYgczJkZWwyMDI1MjAyNiBzMWxvY2syMDI1IHMyYyBzMWRlbDIw MjUgczFjIHMxcQorCisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK KyMgUkVQRUFUQUJMRSBSRUFEIHRlc3RzLCBVUERBVEUrVVBEQVRFOgorIyAjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMgczEgc2VlcyB0aGUgbGVmdG92ZXJzCitw ZXJtdXRhdGlvbiBzMXJyIHMycnIgczJ1cGQyMDI3IHMyYyBzMXVwZDIwMjUgczFjIHMxcQorCisj IHMxIHJlbG9hZHMgdGhlIHVwZGF0ZWQgcm93IGFuZCBzZWVzIGl0cyBsZWZ0b3ZlcnMKK3Blcm11 dGF0aW9uIHMxcnIgczJyciBzMnVwZDIwMjUwMyBzMmMgczF1cGQyMDI1IHMxYyBzMXEKKworIyBz MSByZWxvYWRzIHRoZSB1cGRhdGVkIHJvdyBhbmQgc2VlcyBpdHMgbGVmdG92ZXJzCitwZXJtdXRh dGlvbiBzMXJyIHMycnIgczJ1cGQyMDI1MjAyNiBzMmMgczF1cGQyMDI1IHMxYyBzMXEKKworIyBz MiBzZWVzIHRoZSBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMxcnIgczJyciBzMXVwZDIwMjUgczFj IHMydXBkMjAyNyBzMmMgczFxCisKKyMgczIgbG9hZHMgdGhlIHVwZGF0ZWQgcm93IGFuZCBzZWVz IGl0cyBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMxcnIgczJyciBzMXVwZDIwMjUgczFjIHMydXBk MjAyNTAzIHMyYyBzMXEKKworIyBzMiBsb2FkcyB0aGUgdXBkYXRlZCByb3cgYW5kIHNlZXMgaXRz IGxlZnRvdmVycworcGVybXV0YXRpb24gczFyciBzMnJyIHMxdXBkMjAyNSBzMWMgczJ1cGQyMDI1 MjAyNiBzMmMgczFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IHVwZGF0ZQorcGVybXV0 YXRpb24gczFyciBzMnJyIHMydXBkMjAyNyBzMXVwZDIwMjUgczJjIHMxYyBzMXEKKworIyBzMSBm YWlscyBmcm9tIGNvbmN1cnJlbnQgdXBkYXRlCitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczJ1cGQy MDI1MDMgczF1cGQyMDI1IHMyYyBzMWMgczFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50 IHVwZGF0ZQorcGVybXV0YXRpb24gczFyciBzMnJyIHMydXBkMjAyNTIwMjYgczF1cGQyMDI1IHMy YyBzMWMgczFxCisKKyMjIHdpdGggcHJpb3IgcmVhZCBieSBzMToKKworIyBzMSBmYWlscyBmcm9t IGNvbmN1cnJlbnQgdXBkYXRlCitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczFxIHMydXBkMjAyNyBz MmMgczF1cGQyMDI1IHMxYyBzMXEKKworIyBzMSBmYWlscyBmcm9tIGNvbmN1cnJlbnQgdXBkYXRl CitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczFxIHMydXBkMjAyNTAzIHMyYyBzMXVwZDIwMjUgczFj IHMxcQorCisjIHMxIGZhaWxzIGZyb20gY29uY3VycmVudCB1cGRhdGUKK3Blcm11dGF0aW9uIHMx cnIgczJyciBzMXEgczJ1cGQyMDI1MjAyNiBzMmMgczF1cGQyMDI1IHMxYyBzMXEKKworIyBzMiBz ZWVzIHRoZSBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMxcnIgczJyciBzMXEgczF1cGQyMDI1IHMx YyBzMnVwZDIwMjcgczJjIHMxcQorCisjIHMyIGxvYWRzIHRoZSB1cGRhdGVkIHJvdworcGVybXV0 YXRpb24gczFyciBzMnJyIHMxcSBzMXVwZDIwMjUgczFjIHMydXBkMjAyNTAzIHMyYyBzMXEKKwor IyBzMiBsb2FkcyB0aGUgdXBkYXRlZCByb3cgYW5kIHNlZXMgaXRzIGxlZnRvdmVycworcGVybXV0 YXRpb24gczFyciBzMnJyIHMxcSBzMXVwZDIwMjUgczFjIHMydXBkMjAyNTIwMjYgczJjIHMxcQor CisjIHMxIGZhaWxzIGZyb20gY29uY3VycmVudCB1cGRhdGUKK3Blcm11dGF0aW9uIHMxcnIgczJy ciBzMXEgczJ1cGQyMDI3IHMxdXBkMjAyNSBzMmMgczFjIHMxcQorCisjIHMxIGZhaWxzIGZyb20g Y29uY3VycmVudCB1cGRhdGUKK3Blcm11dGF0aW9uIHMxcnIgczJyciBzMXEgczJ1cGQyMDI1MDMg czF1cGQyMDI1IHMyYyBzMWMgczFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IHVwZGF0 ZQorcGVybXV0YXRpb24gczFyciBzMnJyIHMxcSBzMnVwZDIwMjUyMDI2IHMxdXBkMjAyNSBzMmMg czFjIHMxcQorCisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMg UkVQRUFUQUJMRSBSRUFEIHRlc3RzLCBVUERBVEUrREVMRVRFOgorIyAjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMgczEgc2VlcyB0aGUgbGVmdG92ZXJzCitwZXJt dXRhdGlvbiBzMXJyIHMycnIgczJkZWwyMDI3IHMyYyBzMXVwZDIwMjUgczFjIHMxcQorCisjIHMx IGlnbm9yZXMgdGhlIGRlbGV0ZWQgcm93IGFuZCBzZWVzIGl0cyBsZWZ0b3ZlcnMKK3Blcm11dGF0 aW9uIHMxcnIgczJyciBzMmRlbDIwMjUwMyBzMmMgczF1cGQyMDI1IHMxYyBzMXEKKworIyBzMSBp Z25vcmVzIHRoZSBkZWxldGVkIHJvdyBhbmQgc2VlcyBpdHMgbGVmdG92ZXJzCitwZXJtdXRhdGlv biBzMXJyIHMycnIgczJkZWwyMDI1MjAyNiBzMmMgczF1cGQyMDI1IHMxYyBzMXEKKworIyBzMiBz ZWVzIHRoZSBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMxcnIgczJyciBzMXVwZDIwMjUgczFjIHMy ZGVsMjAyNyBzMmMgczFxCisKKyMgczIgbG9hZHMgdGhlIHVwZGF0ZWQgcm93CitwZXJtdXRhdGlv biBzMXJyIHMycnIgczF1cGQyMDI1IHMxYyBzMmRlbDIwMjUwMyBzMmMgczFxCisKKyMgczIgbG9h ZHMgdGhlIHVwZGF0ZWQgcm93IGFuZCBzZWVzIGl0cyBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMx cnIgczJyciBzMXVwZDIwMjUgczFjIHMyZGVsMjAyNTIwMjYgczJjIHMxcQorCisjIHMxIGZhaWxz IGZyb20gY29uY3VycmVudCBkZWxldGUKK3Blcm11dGF0aW9uIHMxcnIgczJyciBzMmRlbDIwMjcg czF1cGQyMDI1IHMyYyBzMWMgczFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IGRlbGV0 ZQorcGVybXV0YXRpb24gczFyciBzMnJyIHMyZGVsMjAyNTAzIHMxdXBkMjAyNSBzMmMgczFjIHMx cQorCisjIHMxIGZhaWxzIGZyb20gY29uY3VycmVudCBkZWxldGUKK3Blcm11dGF0aW9uIHMxcnIg czJyciBzMmRlbDIwMjUyMDI2IHMxdXBkMjAyNSBzMmMgczFjIHMxcQorCisjIyB3aXRoIHByaW9y IHJlYWQgYnkgczE6CisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IGRlbGV0ZQorcGVybXV0 YXRpb24gczFyciBzMnJyIHMxcSBzMmRlbDIwMjcgczJjIHMxdXBkMjAyNSBzMWMgczFxCisKKyMg czEgZmFpbHMgZnJvbSBjb25jdXJyZW50IGRlbGV0ZQorcGVybXV0YXRpb24gczFyciBzMnJyIHMx cSBzMmRlbDIwMjUwMyBzMmMgczF1cGQyMDI1IHMxYyBzMXEKKworIyBzMSBmYWlscyBmcm9tIGNv bmN1cnJlbnQgZGVsZXRlCitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczFxIHMyZGVsMjAyNTIwMjYg czJjIHMxdXBkMjAyNSBzMWMgczFxCisKKyMgczIgc2VlcyB0aGUgbGVmdG92ZXJzCitwZXJtdXRh dGlvbiBzMXJyIHMycnIgczFxIHMxdXBkMjAyNSBzMWMgczJkZWwyMDI3IHMyYyBzMXEKKworIyBz MiBsb2FkcyB0aGUgdXBkYXRlZCByb3cKK3Blcm11dGF0aW9uIHMxcnIgczJyciBzMXEgczF1cGQy MDI1IHMxYyBzMmRlbDIwMjUwMyBzMmMgczFxCisKKyMgczIgbG9hZHMgdGhlIHVwZGF0ZWQgcm93 IGFuZCBzZWVzIGl0cyBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMxcnIgczJyciBzMXEgczF1cGQy MDI1IHMxYyBzMmRlbDIwMjUyMDI2IHMyYyBzMXEKKworIyBzMSBmYWlscyBmcm9tIGNvbmN1cnJl bnQgZGVsZXRlCitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczFxIHMyZGVsMjAyNyBzMXVwZDIwMjUg czJjIHMxYyBzMXEKKworIyBzMSBmYWlscyBmcm9tIGNvbmN1cnJlbnQgZGVsZXRlCitwZXJtdXRh dGlvbiBzMXJyIHMycnIgczFxIHMyZGVsMjAyNTAzIHMxdXBkMjAyNSBzMmMgczFjIHMxcQorCisj IHMxIGZhaWxzIGZyb20gY29uY3VycmVudCBkZWxldGUKK3Blcm11dGF0aW9uIHMxcnIgczJyciBz MXEgczJkZWwyMDI1MjAyNiBzMXVwZDIwMjUgczJjIHMxYyBzMXEKKworIyAjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFJFUEVBVEFCTEUgUkVBRCB0ZXN0cywgREVM RVRFK1VQREFURToKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor CisjIHMxIHNlZXMgdGhlIGxlZnRvdmVycworcGVybXV0YXRpb24gczFyciBzMnJyIHMydXBkMjAy NyBzMmMgczFkZWwyMDI1IHMxYyBzMXEKKworIyBzMSByZWxvYWRzIHRoZSB1cGRhdGVkIHJvdyBh bmQgc2VlcyBpdHMgbGVmdG92ZXJzCitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczJ1cGQyMDI1MDMg czJjIHMxZGVsMjAyNSBzMWMgczFxCisKKyMgczEgcmVsb2FkcyB0aGUgdXBkYXRlZCByb3cgYW5k IHNlZXMgaXRzIGxlZnRvdmVycworcGVybXV0YXRpb24gczFyciBzMnJyIHMydXBkMjAyNTIwMjYg czJjIHMxZGVsMjAyNSBzMWMgczFxCisKKyMgczIgc2VlcyB0aGUgbGVmdG92ZXJzCitwZXJtdXRh dGlvbiBzMXJyIHMycnIgczFkZWwyMDI1IHMxYyBzMnVwZDIwMjcgczJjIHMxcQorCisjIHMyIGln bm9yZXMgdGhlIGRlbGV0ZWQgcm93CitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczFkZWwyMDI1IHMx YyBzMnVwZDIwMjUwMyBzMmMgczFxCisKKyMgczIgaWdub3JlcyB0aGUgZGVsZXRlZCByb3cgYW5k IHNlZXMgaXRzIGxlZnRvdmVycworcGVybXV0YXRpb24gczFyciBzMnJyIHMxZGVsMjAyNSBzMWMg czJ1cGQyMDI1MjAyNiBzMmMgczFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IHVwZGF0 ZQorcGVybXV0YXRpb24gczFyciBzMnJyIHMydXBkMjAyNyBzMWRlbDIwMjUgczJjIHMxYyBzMXEK KworIyBzMSBmYWlscyBmcm9tIGNvbmN1cnJlbnQgdXBkYXRlCitwZXJtdXRhdGlvbiBzMXJyIHMy cnIgczJ1cGQyMDI1MDMgczFkZWwyMDI1IHMyYyBzMWMgczFxCisKKyMgczEgZmFpbHMgZnJvbSBj b25jdXJyZW50IHVwZGF0ZQorcGVybXV0YXRpb24gczFyciBzMnJyIHMydXBkMjAyNTIwMjYgczFk ZWwyMDI1IHMyYyBzMWMgczFxCisKKyMjIHdpdGggcHJpb3IgcmVhZCBieSBzMToKKworIyBzMSBm YWlscyBmcm9tIGNvbmN1cnJlbnQgdXBkYXRlCitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczFxIHMy dXBkMjAyNyBzMmMgczFkZWwyMDI1IHMxYyBzMXEKKworIyBzMSBmYWlscyBmcm9tIGNvbmN1cnJl bnQgdXBkYXRlCitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczFxIHMydXBkMjAyNTAzIHMyYyBzMWRl bDIwMjUgczFjIHMxcQorCisjIHMxIGZhaWxzIGZyb20gY29uY3VycmVudCB1cGRhdGUKK3Blcm11 dGF0aW9uIHMxcnIgczJyciBzMXEgczJ1cGQyMDI1MjAyNiBzMmMgczFkZWwyMDI1IHMxYyBzMXEK KworIyBzMiBzZWVzIHRoZSBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMxcnIgczJyciBzMXEgczFk ZWwyMDI1IHMxYyBzMnVwZDIwMjcgczJjIHMxcQorCisjIHMyIGlnbm9yZXMgdGhlIGRlbGV0ZWQg cm93CitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczFxIHMxZGVsMjAyNSBzMWMgczJ1cGQyMDI1MDMg czJjIHMxcQorCisjIHMyIGlnbm9yZXMgdGhlIGRlbGV0ZWQgcm93IGFuZCBzZWVzIGl0cyBsZWZ0 b3ZlcnMKK3Blcm11dGF0aW9uIHMxcnIgczJyciBzMXEgczFkZWwyMDI1IHMxYyBzMnVwZDIwMjUy MDI2IHMyYyBzMXEKKworIyBzMSBmYWlscyBmcm9tIGNvbmN1cnJlbnQgdXBkYXRlCitwZXJtdXRh dGlvbiBzMXJyIHMycnIgczFxIHMydXBkMjAyNyBzMWRlbDIwMjUgczJjIHMxYyBzMXEKKworIyBz MSBmYWlscyBmcm9tIGNvbmN1cnJlbnQgdXBkYXRlCitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczFx IHMydXBkMjAyNTAzIHMxZGVsMjAyNSBzMmMgczFjIHMxcQorCisjIHMxIGZhaWxzIGZyb20gY29u Y3VycmVudCB1cGRhdGUKK3Blcm11dGF0aW9uIHMxcnIgczJyciBzMXEgczJ1cGQyMDI1MjAyNiBz MWRlbDIwMjUgczJjIHMxYyBzMXEKKworIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjCisjIFJFUEVBVEFCTEUgUkVBRCB0ZXN0cywgREVMRVRFK0RFTEVURToKKyMgIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjIHMxIHNlZXMgdGhlIGxl ZnRvdmVycworcGVybXV0YXRpb24gczFyciBzMnJyIHMyZGVsMjAyNyBzMmMgczFkZWwyMDI1IHMx YyBzMXEKKworIyBzMSByZWxvYWRzIHRoZSB1cGRhdGVkIHJvdyBhbmQgc2VlcyBpdHMgbGVmdG92 ZXJzCitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczJkZWwyMDI1MDMgczJjIHMxZGVsMjAyNSBzMWMg czFxCisKKyMgczEgcmVsb2FkcyB0aGUgdXBkYXRlZCByb3cgYW5kIHNlZXMgaXRzIGxlZnRvdmVy cworcGVybXV0YXRpb24gczFyciBzMnJyIHMyZGVsMjAyNTIwMjYgczJjIHMxZGVsMjAyNSBzMWMg czFxCisKKyMgczIgc2VlcyB0aGUgbGVmdG92ZXJzCitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczFk ZWwyMDI1IHMxYyBzMmRlbDIwMjcgczJjIHMxcQorCisjIHMyIGlnbm9yZXMgdGhlIGRlbGV0ZWQg cm93CitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczFkZWwyMDI1IHMxYyBzMmRlbDIwMjUwMyBzMmMg czFxCisKKyMgczIgaWdub3JlcyB0aGUgZGVsZXRlZCByb3cgYW5kIHNlZXMgaXRzIGxlZnRvdmVy cworcGVybXV0YXRpb24gczFyciBzMnJyIHMxZGVsMjAyNSBzMWMgczJkZWwyMDI1MjAyNiBzMmMg czFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IGRlbGV0ZQorcGVybXV0YXRpb24gczFy ciBzMnJyIHMyZGVsMjAyNyBzMWRlbDIwMjUgczJjIHMxYyBzMXEKKworIyBzMSBmYWlscyBmcm9t IGNvbmN1cnJlbnQgZGVsZXRlCitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczJkZWwyMDI1MDMgczFk ZWwyMDI1IHMyYyBzMWMgczFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IGRlbGV0ZQor cGVybXV0YXRpb24gczFyciBzMnJyIHMyZGVsMjAyNTIwMjYgczFkZWwyMDI1IHMyYyBzMWMgczFx CisKKyMjIHdpdGggcHJpb3IgcmVhZCBieSBzMToKKworIyBzMSBmYWlscyBmcm9tIGNvbmN1cnJl bnQgZGVsZXRlCitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczFxIHMyZGVsMjAyNyBzMmMgczFkZWwy MDI1IHMxYyBzMXEKKworIyBzMSBmYWlscyBmcm9tIGNvbmN1cnJlbnQgZGVsZXRlCitwZXJtdXRh dGlvbiBzMXJyIHMycnIgczFxIHMyZGVsMjAyNTAzIHMyYyBzMWRlbDIwMjUgczFjIHMxcQorCisj IHMxIGZhaWxzIGZyb20gY29uY3VycmVudCBkZWxldGUKK3Blcm11dGF0aW9uIHMxcnIgczJyciBz MXEgczJkZWwyMDI1MjAyNiBzMmMgczFkZWwyMDI1IHMxYyBzMXEKKworIyBzMiBzZWVzIHRoZSBs ZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMxcnIgczJyciBzMXEgczFkZWwyMDI1IHMxYyBzMmRlbDIw MjcgczJjIHMxcQorCisjIHMyIGlnbm9yZXMgdGhlIGRlbGV0ZWQgcm93CitwZXJtdXRhdGlvbiBz MXJyIHMycnIgczFxIHMxZGVsMjAyNSBzMWMgczJkZWwyMDI1MDMgczJjIHMxcQorCisjIHMyIGln bm9yZXMgdGhlIGRlbGV0ZWQgcm93IGFuZCBzZWVzIGl0cyBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9u IHMxcnIgczJyciBzMXEgczFkZWwyMDI1IHMxYyBzMmRlbDIwMjUyMDI2IHMyYyBzMXEKKworIyBz MSBmYWlscyBmcm9tIGNvbmN1cnJlbnQgZGVsZXRlCitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczFx IHMyZGVsMjAyNyBzMWRlbDIwMjUgczJjIHMxYyBzMXEKKworIyBzMSBmYWlscyBmcm9tIGNvbmN1 cnJlbnQgZGVsZXRlCitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczFxIHMyZGVsMjAyNTAzIHMxZGVs MjAyNSBzMmMgczFjIHMxcQorCisjIHMxIGZhaWxzIGZyb20gY29uY3VycmVudCBkZWxldGUKK3Bl cm11dGF0aW9uIHMxcnIgczJyciBzMXEgczJkZWwyMDI1MjAyNiBzMWRlbDIwMjUgczJjIHMxYyBz MXEKKworIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFNFUklB TElaQUJMRSB0ZXN0cywgVVBEQVRFK1VQREFURToKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIworCisjIHMxIHNlZXMgdGhlIGxlZnRvdmVycworcGVybXV0YXRpb24g czFzZXIgczJzZXIgczJ1cGQyMDI3IHMyYyBzMXVwZDIwMjUgczFjIHMxcQorCisjIHMxIHJlbG9h ZHMgdGhlIHVwZGF0ZWQgcm93IGFuZCBzZWVzIGl0cyBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMx c2VyIHMyc2VyIHMydXBkMjAyNTAzIHMyYyBzMXVwZDIwMjUgczFjIHMxcQorCisjIHMxIHJlbG9h ZHMgdGhlIHVwZGF0ZWQgcm93IGFuZCBzZWVzIGl0cyBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMx c2VyIHMyc2VyIHMydXBkMjAyNTIwMjYgczJjIHMxdXBkMjAyNSBzMWMgczFxCisKKyMgczIgc2Vl cyB0aGUgbGVmdG92ZXJzCitwZXJtdXRhdGlvbiBzMXNlciBzMnNlciBzMXVwZDIwMjUgczFjIHMy dXBkMjAyNyBzMmMgczFxCisKKyMgczIgbG9hZHMgdGhlIHVwZGF0ZWQgcm93CitwZXJtdXRhdGlv biBzMXNlciBzMnNlciBzMXVwZDIwMjUgczFjIHMydXBkMjAyNTAzIHMyYyBzMXEKKworIyBzMiBs b2FkcyB0aGUgdXBkYXRlZCByb3cgYW5kIHNlZXMgaXRzIGxlZnRvdmVycworcGVybXV0YXRpb24g czFzZXIgczJzZXIgczF1cGQyMDI1IHMxYyBzMnVwZDIwMjUyMDI2IHMyYyBzMXEKKworIyBzMSBm YWlscyBmcm9tIGNvbmN1cnJlbnQgdXBkYXRlCitwZXJtdXRhdGlvbiBzMXNlciBzMnNlciBzMnVw ZDIwMjcgczF1cGQyMDI1IHMyYyBzMWMgczFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50 IHVwZGF0ZQorcGVybXV0YXRpb24gczFzZXIgczJzZXIgczJ1cGQyMDI1MDMgczF1cGQyMDI1IHMy YyBzMWMgczFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IHVwZGF0ZQorcGVybXV0YXRp b24gczFzZXIgczJzZXIgczJ1cGQyMDI1MjAyNiBzMXVwZDIwMjUgczJjIHMxYyBzMXEKKworIyMg d2l0aCBwcmlvciByZWFkIGJ5IHMxOgorCisjIHMxIGZhaWxzIGZyb20gY29uY3VycmVudCB1cGRh dGUKK3Blcm11dGF0aW9uIHMxc2VyIHMyc2VyIHMxcSBzMnVwZDIwMjcgczJjIHMxdXBkMjAyNSBz MWMgczFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IHVwZGF0ZQorcGVybXV0YXRpb24g czFzZXIgczJzZXIgczFxIHMydXBkMjAyNTAzIHMyYyBzMXVwZDIwMjUgczFjIHMxcQorCisjIHMx IGZhaWxzIGZyb20gY29uY3VycmVudCB1cGRhdGUKK3Blcm11dGF0aW9uIHMxc2VyIHMyc2VyIHMx cSBzMnVwZDIwMjUyMDI2IHMyYyBzMXVwZDIwMjUgczFjIHMxcQorCisjIHMyIHNlZXMgdGhlIGxl ZnRvdmVycworcGVybXV0YXRpb24gczFzZXIgczJzZXIgczFxIHMxdXBkMjAyNSBzMWMgczJ1cGQy MDI3IHMyYyBzMXEKKworIyBzMiBsb2FkcyB0aGUgdXBkYXRlZCByb3cKK3Blcm11dGF0aW9uIHMx c2VyIHMyc2VyIHMxcSBzMXVwZDIwMjUgczFjIHMydXBkMjAyNTAzIHMyYyBzMXEKKworIyBzMiBs b2FkcyB0aGUgdXBkYXRlZCByb3cgYW5kIHNlZXMgaXRzIGxlZnRvdmVycworcGVybXV0YXRpb24g czFzZXIgczJzZXIgczFxIHMxdXBkMjAyNSBzMWMgczJ1cGQyMDI1MjAyNiBzMmMgczFxCisKKyMg czEgZmFpbHMgZnJvbSBjb25jdXJyZW50IHVwZGF0ZQorcGVybXV0YXRpb24gczFzZXIgczJzZXIg czFxIHMydXBkMjAyNyBzMXVwZDIwMjUgczJjIHMxYyBzMXEKKworIyBzMSBmYWlscyBmcm9tIGNv bmN1cnJlbnQgdXBkYXRlCitwZXJtdXRhdGlvbiBzMXNlciBzMnNlciBzMXEgczJ1cGQyMDI1MDMg czF1cGQyMDI1IHMyYyBzMWMgczFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IHVwZGF0 ZQorcGVybXV0YXRpb24gczFzZXIgczJzZXIgczFxIHMydXBkMjAyNTIwMjYgczF1cGQyMDI1IHMy YyBzMWMgczFxCisKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor IyBTRVJJQUxJWkFCTEUgdGVzdHMsIFVQREFURStERUxFVEU6CisjICMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworIyBzMSBzZWVzIHRoZSBsZWZ0b3ZlcnMKK3Blcm11 dGF0aW9uIHMxc2VyIHMyc2VyIHMyZGVsMjAyNyBzMmMgczF1cGQyMDI1IHMxYyBzMXEKKworIyBz MSBpZ25vcmVzIHRoZSBkZWxldGVkIHJvdyBhbmQgc2VlcyBpdHMgbGVmdG92ZXJzCitwZXJtdXRh dGlvbiBzMXNlciBzMnNlciBzMmRlbDIwMjUwMyBzMmMgczF1cGQyMDI1IHMxYyBzMXEKKworIyBz MSBpZ25vcmVzIHRoZSBkZWxldGVkIHJvdyBhbmQgc2VlcyBpdHMgbGVmdG92ZXJzCitwZXJtdXRh dGlvbiBzMXNlciBzMnNlciBzMmRlbDIwMjUyMDI2IHMyYyBzMXVwZDIwMjUgczFjIHMxcQorCisj IHMyIHNlZXMgdGhlIGxlZnRvdmVycworcGVybXV0YXRpb24gczFzZXIgczJzZXIgczF1cGQyMDI1 IHMxYyBzMmRlbDIwMjcgczJjIHMxcQorCisjIHMyIGxvYWRzIHRoZSB1cGRhdGVkIHJvdworcGVy bXV0YXRpb24gczFzZXIgczJzZXIgczF1cGQyMDI1IHMxYyBzMmRlbDIwMjUwMyBzMmMgczFxCisK KyMgczIgbG9hZHMgdGhlIHVwZGF0ZWQgcm93IGFuZCBzZWVzIGl0cyBsZWZ0b3ZlcnMKK3Blcm11 dGF0aW9uIHMxc2VyIHMyc2VyIHMxdXBkMjAyNSBzMWMgczJkZWwyMDI1MjAyNiBzMmMgczFxCisK KyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IGRlbGV0ZQorcGVybXV0YXRpb24gczFzZXIgczJz ZXIgczJkZWwyMDI3IHMxdXBkMjAyNSBzMmMgczFjIHMxcQorCisjIHMxIGZhaWxzIGZyb20gY29u Y3VycmVudCBkZWxldGUKK3Blcm11dGF0aW9uIHMxc2VyIHMyc2VyIHMyZGVsMjAyNTAzIHMxdXBk MjAyNSBzMmMgczFjIHMxcQorCisjIHMxIGZhaWxzIGZyb20gY29uY3VycmVudCBkZWxldGUKK3Bl cm11dGF0aW9uIHMxc2VyIHMyc2VyIHMyZGVsMjAyNTIwMjYgczF1cGQyMDI1IHMyYyBzMWMgczFx CisKKyMjIHdpdGggcHJpb3IgcmVhZCBieSBzMToKKworIyBzMSBmYWlscyBmcm9tIGNvbmN1cnJl bnQgZGVsZXRlCitwZXJtdXRhdGlvbiBzMXNlciBzMnNlciBzMXEgczJkZWwyMDI3IHMyYyBzMXVw ZDIwMjUgczFjIHMxcQorCisjIHMxIGZhaWxzIGZyb20gY29uY3VycmVudCBkZWxldGUKK3Blcm11 dGF0aW9uIHMxc2VyIHMyc2VyIHMxcSBzMmRlbDIwMjUwMyBzMmMgczF1cGQyMDI1IHMxYyBzMXEK KworIyBzMSBmYWlscyBmcm9tIGNvbmN1cnJlbnQgZGVsZXRlCitwZXJtdXRhdGlvbiBzMXNlciBz MnNlciBzMXEgczJkZWwyMDI1MjAyNiBzMmMgczF1cGQyMDI1IHMxYyBzMXEKKworIyBzMiBzZWVz IHRoZSBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMxc2VyIHMyc2VyIHMxcSBzMXVwZDIwMjUgczFj IHMyZGVsMjAyNyBzMmMgczFxCisKKyMgczIgbG9hZHMgdGhlIHVwZGF0ZWQgcm93CitwZXJtdXRh dGlvbiBzMXNlciBzMnNlciBzMXEgczF1cGQyMDI1IHMxYyBzMmRlbDIwMjUwMyBzMmMgczFxCisK KyMgczIgbG9hZHMgdGhlIHVwZGF0ZWQgcm93IGFuZCBzZWVzIGl0cyBsZWZ0b3ZlcnMKK3Blcm11 dGF0aW9uIHMxc2VyIHMyc2VyIHMxcSBzMXVwZDIwMjUgczFjIHMyZGVsMjAyNTIwMjYgczJjIHMx cQorCisjIHMxIGZhaWxzIGZyb20gY29uY3VycmVudCBkZWxldGUKK3Blcm11dGF0aW9uIHMxc2Vy IHMyc2VyIHMxcSBzMmRlbDIwMjcgczF1cGQyMDI1IHMyYyBzMWMgczFxCisKKyMgczEgZmFpbHMg ZnJvbSBjb25jdXJyZW50IGRlbGV0ZQorcGVybXV0YXRpb24gczFzZXIgczJzZXIgczFxIHMyZGVs MjAyNTAzIHMxdXBkMjAyNSBzMmMgczFjIHMxcQorCisjIHMxIGZhaWxzIGZyb20gY29uY3VycmVu dCBkZWxldGUKK3Blcm11dGF0aW9uIHMxc2VyIHMyc2VyIHMxcSBzMmRlbDIwMjUyMDI2IHMxdXBk MjAyNSBzMmMgczFjIHMxcQorCisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKKyMgU0VSSUFMSVpBQkxFIHRlc3RzLCBERUxFVEUrVVBEQVRFOgorIyAjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMgczEgc2VlcyB0aGUgbGVmdG92ZXJz CitwZXJtdXRhdGlvbiBzMXNlciBzMnNlciBzMnVwZDIwMjcgczJjIHMxZGVsMjAyNSBzMWMgczFx CisKKyMgczEgcmVsb2FkcyB0aGUgdXBkYXRlZCByb3cgYW5kIHNlZXMgaXRzIGxlZnRvdmVycwor cGVybXV0YXRpb24gczFzZXIgczJzZXIgczJ1cGQyMDI1MDMgczJjIHMxZGVsMjAyNSBzMWMgczFx CisKKyMgczEgcmVsb2FkcyB0aGUgdXBkYXRlZCByb3cgYW5kIHNlZXMgaXRzIGxlZnRvdmVycwor cGVybXV0YXRpb24gczFzZXIgczJzZXIgczJ1cGQyMDI1MjAyNiBzMmMgczFkZWwyMDI1IHMxYyBz MXEKKworIyBzMiBzZWVzIHRoZSBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMxc2VyIHMyc2VyIHMx ZGVsMjAyNSBzMWMgczJ1cGQyMDI3IHMyYyBzMXEKKworIyBzMiBpZ25vcmVzIHRoZSBkZWxldGVk IHJvdworcGVybXV0YXRpb24gczFzZXIgczJzZXIgczFkZWwyMDI1IHMxYyBzMnVwZDIwMjUwMyBz MmMgczFxCisKKyMgczIgaWdub3JlcyB0aGUgZGVsZXRlZCByb3cgYW5kIHNlZXMgaXRzIGxlZnRv dmVycworcGVybXV0YXRpb24gczFzZXIgczJzZXIgczFkZWwyMDI1IHMxYyBzMnVwZDIwMjUyMDI2 IHMyYyBzMXEKKworIyBzMSBmYWlscyBmcm9tIGNvbmN1cnJlbnQgdXBkYXRlCitwZXJtdXRhdGlv biBzMXNlciBzMnNlciBzMnVwZDIwMjcgczFkZWwyMDI1IHMyYyBzMWMgczFxCisKKyMgczEgZmFp bHMgZnJvbSBjb25jdXJyZW50IHVwZGF0ZQorcGVybXV0YXRpb24gczFzZXIgczJzZXIgczJ1cGQy MDI1MDMgczFkZWwyMDI1IHMyYyBzMWMgczFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50 IHVwZGF0ZQorcGVybXV0YXRpb24gczFzZXIgczJzZXIgczJ1cGQyMDI1MjAyNiBzMWRlbDIwMjUg czJjIHMxYyBzMXEKKworIyMgd2l0aCBwcmlvciByZWFkIGJ5IHMxOgorCisjIHMxIGZhaWxzIGZy b20gY29uY3VycmVudCB1cGRhdGUKK3Blcm11dGF0aW9uIHMxc2VyIHMyc2VyIHMxcSBzMnVwZDIw MjcgczJjIHMxZGVsMjAyNSBzMWMgczFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IHVw ZGF0ZQorcGVybXV0YXRpb24gczFzZXIgczJzZXIgczFxIHMydXBkMjAyNTAzIHMyYyBzMWRlbDIw MjUgczFjIHMxcQorCisjIHMxIGZhaWxzIGZyb20gY29uY3VycmVudCB1cGRhdGUKK3Blcm11dGF0 aW9uIHMxc2VyIHMyc2VyIHMxcSBzMnVwZDIwMjUyMDI2IHMyYyBzMWRlbDIwMjUgczFjIHMxcQor CisjIHMyIHNlZXMgdGhlIGxlZnRvdmVycworcGVybXV0YXRpb24gczFzZXIgczJzZXIgczFxIHMx ZGVsMjAyNSBzMWMgczJ1cGQyMDI3IHMyYyBzMXEKKworIyBzMiBpZ25vcmVzIHRoZSBkZWxldGVk IHJvdworcGVybXV0YXRpb24gczFzZXIgczJzZXIgczFxIHMxZGVsMjAyNSBzMWMgczJ1cGQyMDI1 MDMgczJjIHMxcQorCisjIHMyIGlnbm9yZXMgdGhlIGRlbGV0ZWQgcm93IGFuZCBzZWVzIGl0cyBs ZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMxc2VyIHMyc2VyIHMxcSBzMWRlbDIwMjUgczFjIHMydXBk MjAyNTIwMjYgczJjIHMxcQorCisjIHMxIGZhaWxzIGZyb20gY29uY3VycmVudCB1cGRhdGUKK3Bl cm11dGF0aW9uIHMxc2VyIHMyc2VyIHMxcSBzMnVwZDIwMjcgczFkZWwyMDI1IHMyYyBzMWMgczFx CisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IHVwZGF0ZQorcGVybXV0YXRpb24gczFzZXIg czJzZXIgczFxIHMydXBkMjAyNTAzIHMxZGVsMjAyNSBzMmMgczFjIHMxcQorCisjIHMxIGZhaWxz IGZyb20gY29uY3VycmVudCB1cGRhdGUKK3Blcm11dGF0aW9uIHMxc2VyIHMyc2VyIHMxcSBzMnVw ZDIwMjUyMDI2IHMxZGVsMjAyNSBzMmMgczFjIHMxcQorCisjICMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgU0VSSUFMSVpBQkxFIHRlc3RzLCBERUxFVEUrREVMRVRF OgorIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMgczEgc2Vl cyB0aGUgbGVmdG92ZXJzCitwZXJtdXRhdGlvbiBzMXNlciBzMnNlciBzMmRlbDIwMjcgczJjIHMx ZGVsMjAyNSBzMWMgczFxCisKKyMgczEgaWdub3JlcyB0aGUgZGVsZXRlZCByb3cgYW5kIHNlZXMg aXRzIGxlZnRvdmVycworcGVybXV0YXRpb24gczFzZXIgczJzZXIgczJkZWwyMDI1MDMgczJjIHMx ZGVsMjAyNSBzMWMgczFxCisKKyMgczEgaWdub3JlcyB0aGUgZGVsZXRlZCByb3cgYW5kIHNlZXMg aXRzIGxlZnRvdmVycworcGVybXV0YXRpb24gczFzZXIgczJzZXIgczJkZWwyMDI1MjAyNiBzMmMg czFkZWwyMDI1IHMxYyBzMXEKKworIyBzMiBzZWVzIHRoZSBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9u IHMxc2VyIHMyc2VyIHMxZGVsMjAyNSBzMWMgczJkZWwyMDI3IHMyYyBzMXEKKworIyBzMiBpZ25v cmVzIHRoZSBkZWxldGVkIHJvdworcGVybXV0YXRpb24gczFzZXIgczJzZXIgczFkZWwyMDI1IHMx YyBzMmRlbDIwMjUwMyBzMmMgczFxCisKKyMgczIgaWdub3JlcyB0aGUgZGVsZXRlZCByb3cgYW5k IHNlZXMgaXRzIGxlZnRvdmVycworcGVybXV0YXRpb24gczFzZXIgczJzZXIgczFkZWwyMDI1IHMx YyBzMmRlbDIwMjUyMDI2IHMyYyBzMXEKKworIyBzMSBmYWlscyBmcm9tIGNvbmN1cnJlbnQgZGVs ZXRlCitwZXJtdXRhdGlvbiBzMXNlciBzMnNlciBzMmRlbDIwMjcgczFkZWwyMDI1IHMyYyBzMWMg czFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IGRlbGV0ZQorcGVybXV0YXRpb24gczFz ZXIgczJzZXIgczJkZWwyMDI1MDMgczFkZWwyMDI1IHMyYyBzMWMgczFxCisKKyMgczEgZmFpbHMg ZnJvbSBjb25jdXJyZW50IGRlbGV0ZQorcGVybXV0YXRpb24gczFzZXIgczJzZXIgczJkZWwyMDI1 MjAyNiBzMWRlbDIwMjUgczJjIHMxYyBzMXEKKworIyB3aXRoIHByaW9yIHJlYWQgYnkgczE6CisK KyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IGRlbGV0ZQorcGVybXV0YXRpb24gczFzZXIgczJz ZXIgczFxIHMyZGVsMjAyNyBzMmMgczFkZWwyMDI1IHMxYyBzMXEKKworIyBzMSBmYWlscyBmcm9t IGNvbmN1cnJlbnQgZGVsZXRlCitwZXJtdXRhdGlvbiBzMXNlciBzMnNlciBzMXEgczJkZWwyMDI1 MDMgczJjIHMxZGVsMjAyNSBzMWMgczFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IGRl bGV0ZQorcGVybXV0YXRpb24gczFzZXIgczJzZXIgczFxIHMyZGVsMjAyNTIwMjYgczJjIHMxZGVs MjAyNSBzMWMgczFxCisKKyMgczIgc2VlcyB0aGUgbGVmdG92ZXJzCitwZXJtdXRhdGlvbiBzMXNl ciBzMnNlciBzMXEgczFkZWwyMDI1IHMxYyBzMmRlbDIwMjcgczJjIHMxcQorCisjIHMyIGlnbm9y ZXMgdGhlIGRlbGV0ZWQgcm93CitwZXJtdXRhdGlvbiBzMXNlciBzMnNlciBzMXEgczFkZWwyMDI1 IHMxYyBzMmRlbDIwMjUwMyBzMmMgczFxCisKKyMgczIgaWdub3JlcyB0aGUgZGVsZXRlZCByb3cg YW5kIHNlZXMgaXRzIGxlZnRvdmVycworcGVybXV0YXRpb24gczFzZXIgczJzZXIgczFxIHMxZGVs MjAyNSBzMWMgczJkZWwyMDI1MjAyNiBzMmMgczFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJy ZW50IGRlbGV0ZQorcGVybXV0YXRpb24gczFzZXIgczJzZXIgczFxIHMyZGVsMjAyNyBzMWRlbDIw MjUgczJjIHMxYyBzMXEKKworIyBzMSBmYWlscyBmcm9tIGNvbmN1cnJlbnQgZGVsZXRlCitwZXJt dXRhdGlvbiBzMXNlciBzMnNlciBzMXEgczJkZWwyMDI1MDMgczFkZWwyMDI1IHMyYyBzMWMgczFx CisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IGRlbGV0ZQorcGVybXV0YXRpb24gczFzZXIg czJzZXIgczFxIHMyZGVsMjAyNTIwMjYgczFkZWwyMDI1IHMyYyBzMWMgczFxCi0tIAoyLjQ3LjMK Cg== --000000000000e635b70643f70cee Content-Type: text/x-patch; charset="US-ASCII"; name="v61-0006-Add-tg_temporal-to-TriggerData.patch" Content-Disposition: attachment; filename="v61-0006-Add-tg_temporal-to-TriggerData.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mi6cumls5 RnJvbSA2MGQyNjA3N2FhYzVkNWIzN2NjY2EzZGE1MDQyNzA5Y2Y5NWMwNmUxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IEZyaSwgMTMgSnVuIDIwMjUgMTU6NDA6MDYgLTA3MDAKU3ViamVj dDogW1BBVENIIHY2MSAwNi8xMF0gQWRkIHRnX3RlbXBvcmFsIHRvIFRyaWdnZXJEYXRhCgpUaGlz IG5lZWRzIHRvIGJlIHBhc3NlZCB0byBvdXIgUkkgdHJpZ2dlcnMgdG8gaW1wbGVtZW50IHRlbXBv cmFsCkNBU0NBREUvU0VUIE5VTEwvU0VUIERFRkFVTFQgd2hlbiB0aGUgdXNlciBjb21tYW5kIGlz IGFuIFVQREFURS9ERUxFVEUKRk9SIFBPUlRJT04gT0YuIFRoZSB0cmlnZ2VycyB3aWxsIHVzZSB0 aGUgRk9SIFBPUlRJT04gT0YgYm91bmRzIHRvIGF2b2lkCm92ZXItYXBwbHlpbmcgdGhlIGNoYW5n ZSB0byByZWZlcmVuY2luZyByZWNvcmRzLgoKUHJvYmFibHkgaXQgaXMgdXNlZnVsIGZvciB1c2Vy LWRlZmluZWQgdHJpZ2dlcnMgYXMgd2VsbCwgZm9yIGV4YW1wbGUKYXVkaXRpbmcgb3IgdHJpZ2dl ci1iYXNlZCByZXBsaWNhdGlvbi4KCkF1dGhvcjogUGF1bCBBLiBKdW5nd2lydGggPHBqQGlsbHVt aW5hdGVkY29tcHV0aW5nLmNvbT4KLS0tCiBkb2Mvc3JjL3NnbWwvdHJpZ2dlci5zZ21sICAgICAg fCA1NiArKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCiBzcmMvYmFja2VuZC9jb21t YW5kcy90cmlnZ2VyLmMgfCA1MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBzcmMv aW5jbHVkZS9jb21tYW5kcy90cmlnZ2VyLmggfCAgMSArCiAzIGZpbGVzIGNoYW5nZWQsIDk3IGlu c2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC90 cmlnZ2VyLnNnbWwgYi9kb2Mvc3JjL3NnbWwvdHJpZ2dlci5zZ21sCmluZGV4IDJiNjhjMzg4MmVj Li5jZmMwODRiMzRjNiAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3RyaWdnZXIuc2dtbAorKysg Yi9kb2Mvc3JjL3NnbWwvdHJpZ2dlci5zZ21sCkBAIC01NjMsMTcgKzU2MywxOCBAQCBDQUxMRURf QVNfVFJJR0dFUihmY2luZm8pCiA8cHJvZ3JhbWxpc3Rpbmc+CiB0eXBlZGVmIHN0cnVjdCBUcmln Z2VyRGF0YQogewotICAgIE5vZGVUYWcgICAgICAgICAgdHlwZTsKLSAgICBUcmlnZ2VyRXZlbnQg ICAgIHRnX2V2ZW50OwotICAgIFJlbGF0aW9uICAgICAgICAgdGdfcmVsYXRpb247Ci0gICAgSGVh cFR1cGxlICAgICAgICB0Z190cmlndHVwbGU7Ci0gICAgSGVhcFR1cGxlICAgICAgICB0Z19uZXd0 dXBsZTsKLSAgICBUcmlnZ2VyICAgICAgICAgKnRnX3RyaWdnZXI7Ci0gICAgVHVwbGVUYWJsZVNs b3QgICp0Z190cmlnc2xvdDsKLSAgICBUdXBsZVRhYmxlU2xvdCAgKnRnX25ld3Nsb3Q7Ci0gICAg VHVwbGVzdG9yZXN0YXRlICp0Z19vbGR0YWJsZTsKLSAgICBUdXBsZXN0b3Jlc3RhdGUgKnRnX25l d3RhYmxlOwotICAgIGNvbnN0IEJpdG1hcHNldCAqdGdfdXBkYXRlZGNvbHM7CisgICAgTm9kZVRh ZyAgICAgICAgICAgIHR5cGU7CisgICAgVHJpZ2dlckV2ZW50ICAgICAgIHRnX2V2ZW50OworICAg IFJlbGF0aW9uICAgICAgICAgICB0Z19yZWxhdGlvbjsKKyAgICBIZWFwVHVwbGUgICAgICAgICAg dGdfdHJpZ3R1cGxlOworICAgIEhlYXBUdXBsZSAgICAgICAgICB0Z19uZXd0dXBsZTsKKyAgICBU cmlnZ2VyICAgICAgICAgICAqdGdfdHJpZ2dlcjsKKyAgICBUdXBsZVRhYmxlU2xvdCAgICAqdGdf dHJpZ3Nsb3Q7CisgICAgVHVwbGVUYWJsZVNsb3QgICAgKnRnX25ld3Nsb3Q7CisgICAgVHVwbGVz dG9yZXN0YXRlICAgKnRnX29sZHRhYmxlOworICAgIFR1cGxlc3RvcmVzdGF0ZSAgICp0Z19uZXd0 YWJsZTsKKyAgICBjb25zdCBCaXRtYXBzZXQgICAqdGdfdXBkYXRlZGNvbHM7CisgICAgRm9yUG9y dGlvbk9mU3RhdGUgKnRnX3RlbXBvcmFsOwogfSBUcmlnZ2VyRGF0YTsKIDwvcHJvZ3JhbWxpc3Rp bmc+CiAKQEAgLTg0MSw2ICs4NDIsMzkgQEAgdHlwZWRlZiBzdHJ1Y3QgVHJpZ2dlcgogICAgICAg IDwvcGFyYT4KICAgICAgIDwvbGlzdGl0ZW0+CiAgICAgIDwvdmFybGlzdGVudHJ5PgorCisgICAg IDx2YXJsaXN0ZW50cnk+CisgICAgICA8dGVybT48c3RydWN0ZmllbGQ+dGdfdGVtcG9yYWw8L3N0 cnVjdGZpZWxkPjwvdGVybT4KKyAgICAgIDxsaXN0aXRlbT4KKyAgICAgICA8cGFyYT4KKyAgICAg ICAgU2V0IGZvciA8bGl0ZXJhbD5VUERBVEU8L2xpdGVyYWw+IGFuZCA8bGl0ZXJhbD5ERUxFVEU8 L2xpdGVyYWw+IHF1ZXJpZXMKKyAgICAgICAgdGhhdCB1c2UgPGxpdGVyYWw+Rk9SIFBPUlRJT04g T0Y8L2xpdGVyYWw+LCBvdGhlcndpc2UgPHN5bWJvbD5OVUxMPC9zeW1ib2w+LgorICAgICAgICBD b250YWlucyBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3R1cmUgb2YgdHlwZQorICAgICAgICA8c3RydWN0 bmFtZT5Gb3JQb3J0aW9uT2ZTdGF0ZTwvc3RydWN0bmFtZT4sIGRlZmluZWQgaW4KKyAgICAgICAg PGZpbGVuYW1lPm5vZGVzL2V4ZWNub2Rlcy5oPC9maWxlbmFtZT46CisKKzxwcm9ncmFtbGlzdGlu Zz4KK3R5cGVkZWYgc3RydWN0IEZvclBvcnRpb25PZlN0YXRlCit7CisgICAgTm9kZVRhZyAgICAg dHlwZTsKKworICAgIGNoYXIgICAgICAgKmZwX3JhbmdlTmFtZTsgICAvKiB0aGUgY29sdW1uIG5h bWVkIGluIEZPUiBQT1JUSU9OIE9GICovCisgICAgT2lkICAgICAgICAgZnBfcmFuZ2VUeXBlOyAg IC8qIHRoZSB0eXBlIG9mIHRoZSBGT1IgUE9SVElPTiBPRiBleHByZXNzaW9uICovCisgICAgaW50 ICAgICAgICAgZnBfcmFuZ2VBdHRubzsgIC8qIHRoZSBhdHRubyBvZiB0aGUgcmFuZ2UgY29sdW1u ICovCisgICAgRGF0dW0gICAgICAgZnBfdGFyZ2V0UmFuZ2U7IC8qIHRoZSByYW5nZS9tdWx0aXJh bmdlIGZyb20gRk9SIFBPUlRJT04gT0YgKi8KKyAgICBUeXBlQ2FjaGVFbnRyeSAqZnBfbGVmdG92 ZXJzdHlwY2FjaGU7ICAgLyogdHlwZSBjYWNoZSBlbnRyeSBvZiB0aGUgcmFuZ2UgKi8KK30gRm9y UG9ydGlvbk9mU3RhdGU7Cis8L3Byb2dyYW1saXN0aW5nPgorCisgICAgICAgd2hlcmUgPHN0cnVj dGZpZWxkPmZwX3JhbmdlTmFtZTwvc3RydWN0ZmllbGQ+IGlzIHRoZSByYW5nZQorICAgICAgIGNv bHVtbiBuYW1lZCBpbiB0aGUgPGxpdGVyYWw+Rk9SIFBPUlRJT04gT0Y8L2xpdGVyYWw+IGNsYXVz ZSwKKyAgICAgICA8c3RydWN0ZmllbGQ+ZnBfcmFuZ2VUeXBlPC9zdHJ1Y3RmaWVsZD4gaXMgaXRz IHJhbmdlIHR5cGUsCisgICAgICAgPHN0cnVjdGZpZWxkPmZwX3JhbmdlQXR0bm88L3N0cnVjdGZp ZWxkPiBpcyBpdHMgYXR0cmlidXRlIG51bWJlciwKKyAgICAgICBhbmQgPHN0cnVjdGZpZWxkPmZw X3RhcmdldFJhbmdlPC9zdHJ1Y3RmaWVsZD4gaXMgYSByYW5nZXR5cGUgdmFsdWUgY3JlYXRlZAor ICAgICAgIGJ5IGV2YWx1YXRpbmcgdGhlIDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9saXRlcmFs PiBib3VuZHMuCisgICAgICAgPC9wYXJhPgorICAgICAgPC9saXN0aXRlbT4KKyAgICAgPC92YXJs aXN0ZW50cnk+CiAgICAgPC92YXJpYWJsZWxpc3Q+CiAgICA8L3BhcmE+CiAKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RyaWdnZXIuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Ry aWdnZXIuYwppbmRleCA1NzlhYzhkNzZhZS4uNDNiOWQ4MmU2M2EgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL2NvbW1hbmRzL3RyaWdnZXIuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90cmln Z2VyLmMKQEAgLTQ3LDEyICs0NywxNCBAQAogI2luY2x1ZGUgInN0b3JhZ2UvbG1nci5oIgogI2lu Y2x1ZGUgInV0aWxzL2FjbC5oIgogI2luY2x1ZGUgInV0aWxzL2J1aWx0aW5zLmgiCisjaW5jbHVk ZSAidXRpbHMvZGF0dW0uaCIKICNpbmNsdWRlICJ1dGlscy9mbWdyb2lkcy5oIgogI2luY2x1ZGUg InV0aWxzL2d1Y19ob29rcy5oIgogI2luY2x1ZGUgInV0aWxzL2ludmFsLmgiCiAjaW5jbHVkZSAi dXRpbHMvbHN5c2NhY2hlLmgiCiAjaW5jbHVkZSAidXRpbHMvbWVtdXRpbHMuaCIKICNpbmNsdWRl ICJ1dGlscy9wbGFuY2FjaGUuaCIKKyNpbmNsdWRlICJ1dGlscy9yYW5nZXR5cGVzLmgiCiAjaW5j bHVkZSAidXRpbHMvcmVsLmgiCiAjaW5jbHVkZSAidXRpbHMvc25hcG1nci5oIgogI2luY2x1ZGUg InV0aWxzL3N5c2NhY2hlLmgiCkBAIC0yNjQ5LDYgKzI2NTEsNyBAQCBFeGVjQlNEZWxldGVUcmln Z2VycyhFU3RhdGUgKmVzdGF0ZSwgUmVzdWx0UmVsSW5mbyAqcmVsaW5mbykKIAlMb2NUcmlnZ2Vy RGF0YS50Z19ldmVudCA9IFRSSUdHRVJfRVZFTlRfREVMRVRFIHwKIAkJVFJJR0dFUl9FVkVOVF9C RUZPUkU7CiAJTG9jVHJpZ2dlckRhdGEudGdfcmVsYXRpb24gPSByZWxpbmZvLT5yaV9SZWxhdGlv bkRlc2M7CisJTG9jVHJpZ2dlckRhdGEudGdfdGVtcG9yYWwgPSByZWxpbmZvLT5yaV9mb3JQb3J0 aW9uT2Y7CiAJZm9yIChpID0gMDsgaSA8IHRyaWdkZXNjLT5udW10cmlnZ2VyczsgaSsrKQogCXsK IAkJVHJpZ2dlciAgICAqdHJpZ2dlciA9ICZ0cmlnZGVzYy0+dHJpZ2dlcnNbaV07CkBAIC0yNzU3 LDYgKzI3NjAsNyBAQCBFeGVjQlJEZWxldGVUcmlnZ2VycyhFU3RhdGUgKmVzdGF0ZSwgRVBRU3Rh dGUgKmVwcXN0YXRlLAogCQlUUklHR0VSX0VWRU5UX1JPVyB8CiAJCVRSSUdHRVJfRVZFTlRfQkVG T1JFOwogCUxvY1RyaWdnZXJEYXRhLnRnX3JlbGF0aW9uID0gcmVsaW5mby0+cmlfUmVsYXRpb25E ZXNjOworCUxvY1RyaWdnZXJEYXRhLnRnX3RlbXBvcmFsID0gcmVsaW5mby0+cmlfZm9yUG9ydGlv bk9mOwogCWZvciAoaSA9IDA7IGkgPCB0cmlnZGVzYy0+bnVtdHJpZ2dlcnM7IGkrKykKIAl7CiAJ CUhlYXBUdXBsZQluZXd0dXBsZTsKQEAgLTI4NTgsNiArMjg2Miw3IEBAIEV4ZWNJUkRlbGV0ZVRy aWdnZXJzKEVTdGF0ZSAqZXN0YXRlLCBSZXN1bHRSZWxJbmZvICpyZWxpbmZvLAogCQlUUklHR0VS X0VWRU5UX1JPVyB8CiAJCVRSSUdHRVJfRVZFTlRfSU5TVEVBRDsKIAlMb2NUcmlnZ2VyRGF0YS50 Z19yZWxhdGlvbiA9IHJlbGluZm8tPnJpX1JlbGF0aW9uRGVzYzsKKwlMb2NUcmlnZ2VyRGF0YS50 Z190ZW1wb3JhbCA9IHJlbGluZm8tPnJpX2ZvclBvcnRpb25PZjsKIAogCUV4ZWNGb3JjZVN0b3Jl SGVhcFR1cGxlKHRyaWd0dXBsZSwgc2xvdCwgZmFsc2UpOwogCkBAIC0yOTIxLDYgKzI5MjYsNyBA QCBFeGVjQlNVcGRhdGVUcmlnZ2VycyhFU3RhdGUgKmVzdGF0ZSwgUmVzdWx0UmVsSW5mbyAqcmVs aW5mbykKIAkJVFJJR0dFUl9FVkVOVF9CRUZPUkU7CiAJTG9jVHJpZ2dlckRhdGEudGdfcmVsYXRp b24gPSByZWxpbmZvLT5yaV9SZWxhdGlvbkRlc2M7CiAJTG9jVHJpZ2dlckRhdGEudGdfdXBkYXRl ZGNvbHMgPSB1cGRhdGVkQ29sczsKKwlMb2NUcmlnZ2VyRGF0YS50Z190ZW1wb3JhbCA9IHJlbGlu Zm8tPnJpX2ZvclBvcnRpb25PZjsKIAlmb3IgKGkgPSAwOyBpIDwgdHJpZ2Rlc2MtPm51bXRyaWdn ZXJzOyBpKyspCiAJewogCQlUcmlnZ2VyICAgICp0cmlnZ2VyID0gJnRyaWdkZXNjLT50cmlnZ2Vy c1tpXTsKQEAgLTMwNjQsNiArMzA3MCw3IEBAIEV4ZWNCUlVwZGF0ZVRyaWdnZXJzKEVTdGF0ZSAq ZXN0YXRlLCBFUFFTdGF0ZSAqZXBxc3RhdGUsCiAJCVRSSUdHRVJfRVZFTlRfUk9XIHwKIAkJVFJJ R0dFUl9FVkVOVF9CRUZPUkU7CiAJTG9jVHJpZ2dlckRhdGEudGdfcmVsYXRpb24gPSByZWxpbmZv LT5yaV9SZWxhdGlvbkRlc2M7CisJTG9jVHJpZ2dlckRhdGEudGdfdGVtcG9yYWwgPSByZWxpbmZv LT5yaV9mb3JQb3J0aW9uT2Y7CiAJdXBkYXRlZENvbHMgPSBFeGVjR2V0QWxsVXBkYXRlZENvbHMo cmVsaW5mbywgZXN0YXRlKTsKIAlMb2NUcmlnZ2VyRGF0YS50Z191cGRhdGVkY29scyA9IHVwZGF0 ZWRDb2xzOwogCWZvciAoaSA9IDA7IGkgPCB0cmlnZGVzYy0+bnVtdHJpZ2dlcnM7IGkrKykKQEAg LTMyMjYsNiArMzIzMyw3IEBAIEV4ZWNJUlVwZGF0ZVRyaWdnZXJzKEVTdGF0ZSAqZXN0YXRlLCBS ZXN1bHRSZWxJbmZvICpyZWxpbmZvLAogCQlUUklHR0VSX0VWRU5UX1JPVyB8CiAJCVRSSUdHRVJf RVZFTlRfSU5TVEVBRDsKIAlMb2NUcmlnZ2VyRGF0YS50Z19yZWxhdGlvbiA9IHJlbGluZm8tPnJp X1JlbGF0aW9uRGVzYzsKKwlMb2NUcmlnZ2VyRGF0YS50Z190ZW1wb3JhbCA9IHJlbGluZm8tPnJp X2ZvclBvcnRpb25PZjsKIAogCUV4ZWNGb3JjZVN0b3JlSGVhcFR1cGxlKHRyaWd0dXBsZSwgb2xk c2xvdCwgZmFsc2UpOwogCkBAIC0zNjk3LDYgKzM3MDUsNyBAQCB0eXBlZGVmIHN0cnVjdCBBZnRl clRyaWdnZXJTaGFyZWREYXRhCiAJT2lkCQkJYXRzX3JlbGlkOwkJLyogdGhlIHJlbGF0aW9uIGl0 J3Mgb24gKi8KIAlPaWQJCQlhdHNfcm9saWQ7CQkvKiByb2xlIHRvIGV4ZWN1dGUgdGhlIHRyaWdn ZXIgKi8KIAlDb21tYW5kSWQJYXRzX2ZpcmluZ19pZDsJLyogSUQgZm9yIGZpcmluZyBjeWNsZSAq LworCUZvclBvcnRpb25PZlN0YXRlICpmb3JfcG9ydGlvbl9vZjsJLyogdGhlIEZPUiBQT1JUSU9O IE9GIGNsYXVzZSAqLwogCXN0cnVjdCBBZnRlclRyaWdnZXJzVGFibGVEYXRhICphdHNfdGFibGU7 CS8qIHRyYW5zaXRpb24gdGFibGUgYWNjZXNzICovCiAJQml0bWFwc2V0ICAqYXRzX21vZGlmaWVk Y29sczsJLyogbW9kaWZpZWQgY29sdW1ucyAqLwogfSBBZnRlclRyaWdnZXJTaGFyZWREYXRhOwpA QCAtMzk3MCw2ICszOTc5LDcgQEAgc3RhdGljIFNldENvbnN0cmFpbnRTdGF0ZSBTZXRDb25zdHJh aW50U3RhdGVDcmVhdGUoaW50IG51bWFsbG9jKTsKIHN0YXRpYyBTZXRDb25zdHJhaW50U3RhdGUg U2V0Q29uc3RyYWludFN0YXRlQ29weShTZXRDb25zdHJhaW50U3RhdGUgb3JpZ3N0YXRlKTsKIHN0 YXRpYyBTZXRDb25zdHJhaW50U3RhdGUgU2V0Q29uc3RyYWludFN0YXRlQWRkSXRlbShTZXRDb25z dHJhaW50U3RhdGUgc3RhdGUsCiAJCQkJCQkJCQkJCQkJT2lkIHRnb2lkLCBib29sIHRnaXNkZWZl cnJlZCk7CitzdGF0aWMgRm9yUG9ydGlvbk9mU3RhdGUgKkNvcHlGb3JQb3J0aW9uT2ZTdGF0ZShG b3JQb3J0aW9uT2ZTdGF0ZSAqc3JjKTsKIHN0YXRpYyB2b2lkIGNhbmNlbF9wcmlvcl9zdG10X3Ry aWdnZXJzKE9pZCByZWxpZCwgQ21kVHlwZSBjbWRUeXBlLCBpbnQgdGdldmVudCk7CiAKIApAQCAt NDE3Nyw2ICs0MTg3LDcgQEAgYWZ0ZXJUcmlnZ2VyQWRkRXZlbnQoQWZ0ZXJUcmlnZ2VyRXZlbnRM aXN0ICpldmVudHMsCiAJCQluZXdzaGFyZWQtPmF0c19ldmVudCA9PSBldnRzaGFyZWQtPmF0c19l dmVudCAmJgogCQkJbmV3c2hhcmVkLT5hdHNfZmlyaW5nX2lkID09IDAgJiYKIAkJCW5ld3NoYXJl ZC0+YXRzX3RhYmxlID09IGV2dHNoYXJlZC0+YXRzX3RhYmxlICYmCisJCQluZXdzaGFyZWQtPmZv cl9wb3J0aW9uX29mID09IGV2dHNoYXJlZC0+Zm9yX3BvcnRpb25fb2YgJiYKIAkJCW5ld3NoYXJl ZC0+YXRzX3JlbGlkID09IGV2dHNoYXJlZC0+YXRzX3JlbGlkICYmCiAJCQluZXdzaGFyZWQtPmF0 c19yb2xpZCA9PSBldnRzaGFyZWQtPmF0c19yb2xpZCAmJgogCQkJYm1zX2VxdWFsKG5ld3NoYXJl ZC0+YXRzX21vZGlmaWVkY29scywKQEAgLTQ1NTMsNiArNDU2NCw5IEBAIEFmdGVyVHJpZ2dlckV4 ZWN1dGUoRVN0YXRlICplc3RhdGUsCiAJTG9jVHJpZ2dlckRhdGEudGdfcmVsYXRpb24gPSByZWw7 CiAJaWYgKFRSSUdHRVJfRk9SX1VQREFURShMb2NUcmlnZ2VyRGF0YS50Z190cmlnZ2VyLT50Z3R5 cGUpKQogCQlMb2NUcmlnZ2VyRGF0YS50Z191cGRhdGVkY29scyA9IGV2dHNoYXJlZC0+YXRzX21v ZGlmaWVkY29sczsKKwlpZiAoVFJJR0dFUl9GT1JfVVBEQVRFKExvY1RyaWdnZXJEYXRhLnRnX3Ry aWdnZXItPnRndHlwZSkgfHwKKwkJVFJJR0dFUl9GT1JfREVMRVRFKExvY1RyaWdnZXJEYXRhLnRn X3RyaWdnZXItPnRndHlwZSkpCisJCUxvY1RyaWdnZXJEYXRhLnRnX3RlbXBvcmFsID0gZXZ0c2hh cmVkLT5mb3JfcG9ydGlvbl9vZjsKIAogCU1lbW9yeUNvbnRleHRSZXNldChwZXJfdHVwbGVfY29u dGV4dCk7CiAKQEAgLTYxMDIsNiArNjExNiw0MiBAQCBBZnRlclRyaWdnZXJQZW5kaW5nT25SZWwo T2lkIHJlbGlkKQogCXJldHVybiBmYWxzZTsKIH0KIAorLyogLS0tLS0tLS0tLQorICogRm9yUG9y dGlvbk9mU3RhdGUoKQorICoKKyAqIENvcHlzIGEgRm9yUG9ydGlvbk9mU3RhdGUgaW50byB0aGUg Y3VycmVudCBtZW1vcnkgY29udGV4dC4KKyAqLworc3RhdGljIEZvclBvcnRpb25PZlN0YXRlICoK K0NvcHlGb3JQb3J0aW9uT2ZTdGF0ZShGb3JQb3J0aW9uT2ZTdGF0ZSAqc3JjKQoreworCUZvclBv cnRpb25PZlN0YXRlICpkc3QgPSBOVUxMOworCisJaWYgKHNyYykKKwl7CisJCU1lbW9yeUNvbnRl eHQgb2xkY3R4OworCQlSYW5nZVR5cGUgICpyOworCQlUeXBlQ2FjaGVFbnRyeSAqdHlwY2FjaGU7 CisKKwkJLyoKKwkJICogTmVlZCB0byBsaWZ0IHRoZSBGT1IgUE9SVElPTiBPRiBkZXRhaWxzIGlu dG8gYSBoaWdoZXIgbWVtb3J5CisJCSAqIGNvbnRleHQgYmVjYXVzZSBjYXNjYWRpbmcgZm9yZWln biBrZXkgdXBkYXRlL2RlbGV0ZXMgY2FuIGNhdXNlCisJCSAqIHRyaWdnZXJzIHRvIGZpcmUgdHJp Z2dlcnMsIGFuZCB0aGUgQWZ0ZXJUcmlnZ2VyRXZlbnRzIHdpbGwgb3V0bGl2ZQorCQkgKiB0aGUg RlBPIGRldGFpbHMgb2YgdGhlIG9yaWdpbmFsIHF1ZXJ5LgorCQkgKi8KKwkJb2xkY3R4ID0gTWVt b3J5Q29udGV4dFN3aXRjaFRvKFRvcFRyYW5zYWN0aW9uQ29udGV4dCk7CisJCWRzdCA9IG1ha2VO b2RlKEZvclBvcnRpb25PZlN0YXRlKTsKKwkJZHN0LT5mcF9yYW5nZU5hbWUgPSBwc3RyZHVwKHNy Yy0+ZnBfcmFuZ2VOYW1lKTsKKwkJZHN0LT5mcF9yYW5nZVR5cGUgPSBzcmMtPmZwX3JhbmdlVHlw ZTsKKwkJZHN0LT5mcF9yYW5nZUF0dG5vID0gc3JjLT5mcF9yYW5nZUF0dG5vOworCisJCXIgPSBE YXR1bUdldFJhbmdlVHlwZVAoc3JjLT5mcF90YXJnZXRSYW5nZSk7CisJCXR5cGNhY2hlID0gbG9v a3VwX3R5cGVfY2FjaGUoUmFuZ2VUeXBlR2V0T2lkKHIpLCBUWVBFQ0FDSEVfUkFOR0VfSU5GTyk7 CisJCWRzdC0+ZnBfdGFyZ2V0UmFuZ2UgPSBkYXR1bUNvcHkoc3JjLT5mcF90YXJnZXRSYW5nZSwg dHlwY2FjaGUtPnR5cGJ5dmFsLCB0eXBjYWNoZS0+dHlwbGVuKTsKKwkJTWVtb3J5Q29udGV4dFN3 aXRjaFRvKG9sZGN0eCk7CisJfQorCXJldHVybiBkc3Q7Cit9CisKIC8qIC0tLS0tLS0tLS0KICAq IEFmdGVyVHJpZ2dlclNhdmVFdmVudCgpCiAgKgpAQCAtNjUxOCw2ICs2NTY4LDcgQEAgQWZ0ZXJU cmlnZ2VyU2F2ZUV2ZW50KEVTdGF0ZSAqZXN0YXRlLCBSZXN1bHRSZWxJbmZvICpyZWxpbmZvLAog CQllbHNlCiAJCQluZXdfc2hhcmVkLmF0c190YWJsZSA9IE5VTEw7CiAJCW5ld19zaGFyZWQuYXRz X21vZGlmaWVkY29scyA9IG1vZGlmaWVkQ29sczsKKwkJbmV3X3NoYXJlZC5mb3JfcG9ydGlvbl9v ZiA9IENvcHlGb3JQb3J0aW9uT2ZTdGF0ZShyZWxpbmZvLT5yaV9mb3JQb3J0aW9uT2YpOwogCiAJ CWFmdGVyVHJpZ2dlckFkZEV2ZW50KCZhZnRlclRyaWdnZXJzLnF1ZXJ5X3N0YWNrW2FmdGVyVHJp Z2dlcnMucXVlcnlfZGVwdGhdLmV2ZW50cywKIAkJCQkJCQkgJm5ld19ldmVudCwgJm5ld19zaGFy ZWQpOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvdHJpZ2dlci5oIGIvc3JjL2lu Y2x1ZGUvY29tbWFuZHMvdHJpZ2dlci5oCmluZGV4IGNmZDdkYWEyMGVkLi5jNjdlMTMyNDM5MSAx MDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvdHJpZ2dlci5oCisrKyBiL3NyYy9pbmNs dWRlL2NvbW1hbmRzL3RyaWdnZXIuaApAQCAtNDEsNiArNDEsNyBAQCB0eXBlZGVmIHN0cnVjdCBU cmlnZ2VyRGF0YQogCVR1cGxlc3RvcmVzdGF0ZSAqdGdfb2xkdGFibGU7CiAJVHVwbGVzdG9yZXN0 YXRlICp0Z19uZXd0YWJsZTsKIAljb25zdCBCaXRtYXBzZXQgKnRnX3VwZGF0ZWRjb2xzOworCUZv clBvcnRpb25PZlN0YXRlICp0Z190ZW1wb3JhbDsKIH0gVHJpZ2dlckRhdGE7CiAKIC8qCi0tIAoy LjQ3LjMKCg== --000000000000e635b70643f70cee Content-Type: text/x-patch; charset="US-ASCII"; name="v61-0010-Add-PERIODs.patch" Content-Disposition: attachment; filename="v61-0010-Add-PERIODs.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mi6cumm29 RnJvbSAyMWRkOWQxZjNjNGM2NjM1MTcxOTIxZDY3YTVhMjU0ZDQ0MmViZGRkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IFR1ZSwgMTcgSnVuIDIwMjUgMjM6MjM6MjMgLTA3MDAKU3ViamVj dDogW1BBVENIIHY2MSAxMC8xMF0gQWRkIFBFUklPRHMKCi0gQWRkZWQgcGFyc2luZyBmb3IgU1FM OjIwMTEgc3ludGF4IHRvIGRlZmluZSBhbiBhcHBsaWNhdGlvbi10aW1lIFBFUklPRCBvbiBhCiAg dGFibGUgKGluIGJvdGggQ1JFQVRFIFRBQkxFIGFuZCBBTFRFUiBUQUJMRSkuIE1ha2Ugc3VyZSB3 ZSBjcmVhdGUgdGhlIFBFUklPRAogIGFmdGVyIGNvbHVtbnMgYXJlIGtub3duIChzaW5jZSBQRVJJ T0RzIGNhbiByZWZlciB0byB0aGVtKSBidXQgYmVmb3JlCiAgY29uc3RyYWludHMgYXJlIGhhbmRs ZWQgKHNpbmNlIFBFUklPRHMgY2FuIGFwcGVhciBpbiB0aGVtKS4KLSBBZGRlZCBBTFRFUiBUQUJM RSBEUk9QIHN1cHBvcnQgZm9yIFBFUklPRHMuCi0gQ3JlYXRlZCBwb3N0Z3Jlcy5wZ19wZXJpb2Qg dGFibGUuCi0gQ3JlYXRlZCBpbmZvcm1hdGlvbl9zY2hlbWEucGVyaW9kcyB2aWV3LgotIEFkZGVk IHBnX2R1bXAgc3VwcG9ydC4KLSBBZGRlZCB0ZXN0cyBhbmQgZG9jdW1lbnRhdGlvbi4KLSBBdXRv bWF0aWNhbGx5IGRlZmluZSBhIGNvbnN0cmFpbnQgZm9yIGVhY2ggUEVSSU9EIHJlcXVpcmluZyB0 aGUgc3RhcnQgY29sdW1uCiAgdG8gYmUgbGVzcyB0aGFuIHRoZSBlbmQgY29sdW1uLgotIFdoZW4g Y3JlYXRpbmcgYSBQRVJJT0QsIGNob29zZSBhbiBhcHByb3ByaWF0ZSByYW5nZSB0eXBlIHdlIGNh biB1c2UgdG8KICBpbXBsZW1lbnQgUEVSSU9ELXJlbGF0ZWQgb3BlcmF0aW9ucy4gWW91IGNhbiBj aG9vc2Ugb25lIGV4cGxpY2l0bHkgaWYgdGhlcmUKICBpcyBhbWJpZ3VpdHkgKGR1ZSB0byBtdWx0 aXBsZSByYW5nZSB0eXBlcyBjcmVhdGVkIG92ZXIgdGhlIHNhbWUgYmFzZSB0eXBlKS4KCkF1dGhv cjogUGF1bCBBLiBKdW5nd2lydGggPHBqQGlsbHVtaW5hdGVkY29tcHV0aW5nLmNvbT4KLS0tCiBk b2Mvc3JjL3NnbWwvY2F0YWxvZ3Muc2dtbCAgICAgICAgICAgICAgICAgICAgfCAgMTEyICsKIGRv Yy9zcmMvc2dtbC9kZGwuc2dtbCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNDYgKwogZG9j L3NyYy9zZ21sL2luZm9ybWF0aW9uX3NjaGVtYS5zZ21sICAgICAgICAgIHwgICA2MyArCiBkb2Mv c3JjL3NnbWwvcGxwZ3NxbC5zZ21sICAgICAgICAgICAgICAgICAgICAgfCAgICAyICstCiBkb2Mv c3JjL3NnbWwvcmVmL2FsdGVyX3RhYmxlLnNnbWwgICAgICAgICAgICAgfCAgIDMxICstCiBkb2Mv c3JjL3NnbWwvcmVmL2NvbW1lbnQuc2dtbCAgICAgICAgICAgICAgICAgfCAgICAyICsKIGRvYy9z cmMvc2dtbC9yZWYvY3JlYXRlX3RhYmxlLnNnbWwgICAgICAgICAgICB8ICAgNjUgKy0KIGRvYy9z cmMvc2dtbC9yZWYvZGVsZXRlLnNnbWwgICAgICAgICAgICAgICAgICB8ICAgMjQgKy0KIGRvYy9z cmMvc2dtbC9yZWYvdXBkYXRlLnNnbWwgICAgICAgICAgICAgICAgICB8ICAgMjQgKy0KIGRvYy9z cmMvc2dtbC90cmlnZ2VyLnNnbWwgICAgICAgICAgICAgICAgICAgICB8ICAgIDkgKy0KIHNyYy9i YWNrZW5kL2NhdGFsb2cvTWFrZWZpbGUgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogc3JjL2Jh Y2tlbmQvY2F0YWxvZy9hY2xjaGsuYyAgICAgICAgICAgICAgICAgIHwgICAgMiArCiBzcmMvYmFj a2VuZC9jYXRhbG9nL2RlcGVuZGVuY3kuYyAgICAgICAgICAgICAgfCAgIDEzICsKIHNyYy9iYWNr ZW5kL2NhdGFsb2cvaGVhcC5jICAgICAgICAgICAgICAgICAgICB8ICAgNzUgKwogc3JjL2JhY2tl bmQvY2F0YWxvZy9pbmZvcm1hdGlvbl9zY2hlbWEuc3FsICAgIHwgICAyMyArLQogc3JjL2JhY2tl bmQvY2F0YWxvZy9tZXNvbi5idWlsZCAgICAgICAgICAgICAgIHwgICAgMSArCiBzcmMvYmFja2Vu ZC9jYXRhbG9nL29iamVjdGFkZHJlc3MuYyAgICAgICAgICAgfCAgIDcyICsKIHNyYy9iYWNrZW5k L2NhdGFsb2cvcGdfY29uc3RyYWludC5jICAgICAgICAgICB8ICAgMTAgKy0KIHNyYy9iYWNrZW5k L2NhdGFsb2cvcGdfcGVyaW9kLmMgICAgICAgICAgICAgICB8ICAxMzIgKwogc3JjL2JhY2tlbmQv Y2F0YWxvZy9zcWxfZmVhdHVyZXMudHh0ICAgICAgICAgIHwgICAgMiArLQogc3JjL2JhY2tlbmQv Y29tbWFuZHMvY29tbWVudC5jICAgICAgICAgICAgICAgIHwgICAxMCArCiBzcmMvYmFja2VuZC9j b21tYW5kcy9kcm9wY21kcy5jICAgICAgICAgICAgICAgfCAgICAxICsKIHNyYy9iYWNrZW5kL2Nv bW1hbmRzL2V2ZW50X3RyaWdnZXIuYyAgICAgICAgICB8ICAgIDIgKwogc3JjL2JhY2tlbmQvY29t bWFuZHMvc2VjbGFiZWwuYyAgICAgICAgICAgICAgIHwgICAgMSArCiBzcmMvYmFja2VuZC9jb21t YW5kcy90YWJsZWNtZHMuYyAgICAgICAgICAgICAgfCAgOTc4ICsrKy0KIHNyYy9iYWNrZW5kL2Nv bW1hbmRzL3RyaWdnZXIuYyAgICAgICAgICAgICAgICB8ICAgIDIgKwogc3JjL2JhY2tlbmQvY29t bWFuZHMvdmlldy5jICAgICAgICAgICAgICAgICAgIHwgICAgNCArLQogc3JjL2JhY2tlbmQvZXhl Y3V0b3Ivbm9kZU1vZGlmeVRhYmxlLmMgICAgICAgIHwgICA0MSArLQogc3JjL2JhY2tlbmQvbm9k ZXMvbm9kZUZ1bmNzLmMgICAgICAgICAgICAgICAgIHwgICAgMyArCiBzcmMvYmFja2VuZC9wYXJz ZXIvYW5hbHl6ZS5jICAgICAgICAgICAgICAgICAgfCAgMTMwICstCiBzcmMvYmFja2VuZC9wYXJz ZXIvZ3JhbS55ICAgICAgICAgICAgICAgICAgICAgfCAgIDQ1ICstCiBzcmMvYmFja2VuZC9wYXJz ZXIvcGFyc2VfcmVsYXRpb24uYyAgICAgICAgICAgfCAgIDEwICsKIHNyYy9iYWNrZW5kL3BhcnNl ci9wYXJzZV91dGlsY21kLmMgICAgICAgICAgICB8ICAxODIgKy0KIHNyYy9iYWNrZW5kL3V0aWxz L2FkdC9NYWtlZmlsZSAgICAgICAgICAgICAgICB8ICAgIDEgKwogc3JjL2JhY2tlbmQvdXRpbHMv YWR0L3BlcmlvZC5jICAgICAgICAgICAgICAgIHwgICA1OCArCiBzcmMvYmFja2VuZC91dGlscy9j YWNoZS9sc3lzY2FjaGUuYyAgICAgICAgICAgfCAgIDg4ICsKIHNyYy9iaW4vcGdfZHVtcC9wZ19i YWNrdXBfYXJjaGl2ZXIuYyAgICAgICAgICB8ICAgIDEgKwogc3JjL2Jpbi9wZ19kdW1wL3BnX2R1 bXAuYyAgICAgICAgICAgICAgICAgICAgIHwgIDE4MCArLQogc3JjL2Jpbi9wZ19kdW1wL3BnX2R1 bXAuaCAgICAgICAgICAgICAgICAgICAgIHwgICAxNSArCiBzcmMvYmluL3BnX2R1bXAvcGdfZHVt cF9zb3J0LmMgICAgICAgICAgICAgICAgfCAgIDI0ICsKIHNyYy9iaW4vcHNxbC9kZXNjcmliZS5j ICAgICAgICAgICAgICAgICAgICAgICB8ICAgMzYgKwogc3JjL2luY2x1ZGUvY2F0YWxvZy9NYWtl ZmlsZSAgICAgICAgICAgICAgICAgIHwgICAgMSArCiBzcmMvaW5jbHVkZS9jYXRhbG9nL2hlYXAu aCAgICAgICAgICAgICAgICAgICAgfCAgICA0ICsKIHNyYy9pbmNsdWRlL2NhdGFsb2cvbWVzb24u YnVpbGQgICAgICAgICAgICAgICB8ICAgIDEgKwogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19jb25z dHJhaW50LmggICAgICAgICAgIHwgICAgMyArLQogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19pbmRl eC5oICAgICAgICAgICAgICAgIHwgICAgMSAtCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Blcmlv ZC5oICAgICAgICAgICAgICAgfCAgIDU4ICsKIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcmFuZ2Uu aCAgICAgICAgICAgICAgICB8ICAgIDIgKwogc3JjL2luY2x1ZGUvY29tbWFuZHMvdGFibGVjbWRz LmggICAgICAgICAgICAgIHwgICAgNCArLQogc3JjL2luY2x1ZGUvbm9kZXMvZXhlY25vZGVzLmgg ICAgICAgICAgICAgICAgIHwgICAgNCArCiBzcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgg ICAgICAgICAgICAgICAgfCAgIDM5ICstCiBzcmMvaW5jbHVkZS9ub2Rlcy9wcmltbm9kZXMuaCAg ICAgICAgICAgICAgICAgfCAgICAyICsKIHNyYy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaCAgICAg ICAgICAgICAgICAgICB8ICAgIDIgKy0KIHNyYy9pbmNsdWRlL3BhcnNlci9wYXJzZV91dGlsY21k LmggICAgICAgICAgICB8ICAgIDEgKwogc3JjL2luY2x1ZGUvdXRpbHMvbHN5c2NhY2hlLmggICAg ICAgICAgICAgICAgIHwgICAgMyArCiBzcmMvaW5jbHVkZS91dGlscy9wZXJpb2QuaCAgICAgICAg ICAgICAgICAgICAgfCAgIDIxICsKIC4uLi90ZXN0X2RkbF9kZXBhcnNlL3Rlc3RfZGRsX2RlcGFy c2UuYyAgICAgICB8ICAgIDYgKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9mb3JfcG9ydGlv bl9vZi5vdXQgIHwgICA1OCArCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BlcmlvZHMub3V0 ICAgICAgICAgfCAgMzE4ICsrCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ByaXZpbGVnZXMu b3V0ICAgICAgfCAgIDI5ICsKIC4uLi9yZWdyZXNzL2V4cGVjdGVkL3dpdGhvdXRfb3ZlcmxhcHMu b3V0ICAgICB8IDQ1MDAgKysrKysrKysrKysrKysrKy0KIHNyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxs ZWxfc2NoZWR1bGUgICAgICAgICAgICB8ICAgIDIgKy0KIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2Zv cl9wb3J0aW9uX29mLnNxbCAgICAgICB8ICAgNTAgKwogc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGVy aW9kcy5zcWwgICAgICAgICAgICAgIHwgIDE5OCArCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9wcml2 aWxlZ2VzLnNxbCAgICAgICAgICAgfCAgIDI4ICsKIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3dpdGhv dXRfb3ZlcmxhcHMuc3FsICAgICB8IDMwNjMgKysrKysrKysrKy0KIHNyYy90b29scy9wZ2luZGVu dC90eXBlZGVmcy5saXN0ICAgICAgICAgICAgICB8ICAgIDMgKwogNjcgZmlsZXMgY2hhbmdlZCwg MTA2OTkgaW5zZXJ0aW9ucygrKSwgMjIzIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0 IHNyYy9iYWNrZW5kL2NhdGFsb2cvcGdfcGVyaW9kLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMv YmFja2VuZC91dGlscy9hZHQvcGVyaW9kLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX3BlcmlvZC5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2luY2x1ZGUvdXRp bHMvcGVyaW9kLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3BlcmlvZHMub3V0CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGVy aW9kcy5zcWwKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvY2F0YWxvZ3Muc2dtbCBiL2RvYy9z cmMvc2dtbC9jYXRhbG9ncy5zZ21sCmluZGV4IDJmYzYzNDQyOTgwLi5kZTA1MDk4ZTc1MyAxMDA2 NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2NhdGFsb2dzLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2Nh dGFsb2dzLnNnbWwKQEAgLTIzMCw2ICsyMzAsMTEgQEAKICAgICAgIDxlbnRyeT5pbmZvcm1hdGlv biBhYm91dCBwYXJ0aXRpb24ga2V5IG9mIHRhYmxlczwvZW50cnk+CiAgICAgIDwvcm93PgogCisg ICAgIDxyb3c+CisgICAgICA8ZW50cnk+PGxpbmsgbGlua2VuZD0iY2F0YWxvZy1wZy1wZXJpb2Qi PjxzdHJ1Y3RuYW1lPnBnX3BlcmlvZDwvc3RydWN0bmFtZT48L2xpbms+PC9lbnRyeT4KKyAgICAg IDxlbnRyeT5wZXJpb2RzPC9lbnRyeT4KKyAgICAgPC9yb3c+CisKICAgICAgPHJvdz4KICAgICAg IDxlbnRyeT48bGluayBsaW5rZW5kPSJjYXRhbG9nLXBnLXBvbGljeSI+PHN0cnVjdG5hbWU+cGdf cG9saWN5PC9zdHJ1Y3RuYW1lPjwvbGluaz48L2VudHJ5PgogICAgICAgPGVudHJ5PnJvdy1zZWN1 cml0eSBwb2xpY2llczwvZW50cnk+CkBAIC01NzczLDYgKzU3NzgsMTEzIEBAIFNDUkFNLVNIQS0y NTYkPHJlcGxhY2VhYmxlPiZsdDtpdGVyYXRpb24gY291bnQmZ3Q7PC9yZXBsYWNlYWJsZT46PHJl cGxhY2VhYmxlPiZsCiAgICAgICAgYXJlIHNpbXBsZSByZWZlcmVuY2VzLgogICAgICAgPC9wYXJh PjwvZW50cnk+CiAgICAgIDwvcm93PgorCisgICAgPC90Ym9keT4KKyAgIDwvdGdyb3VwPgorICA8 L3RhYmxlPgorIDwvc2VjdDE+CisKKworIDxzZWN0MSBpZD0iY2F0YWxvZy1wZy1wZXJpb2QiPgor ICA8dGl0bGU+PHN0cnVjdG5hbWU+cGdfcGVyaW9kPC9zdHJ1Y3RuYW1lPjwvdGl0bGU+CisKKyAg PGluZGV4dGVybSB6b25lPSJjYXRhbG9nLXBnLXBlcmlvZCI+CisgICA8cHJpbWFyeT5wZ19wZXJp b2Q8L3ByaW1hcnk+CisgIDwvaW5kZXh0ZXJtPgorCisgIDxwYXJhPgorICAgVGhlIGNhdGFsb2cg PHN0cnVjdG5hbWU+cGdfcGVyaW9kPC9zdHJ1Y3RuYW1lPiBzdG9yZXMKKyAgIGluZm9ybWF0aW9u IGFib3V0IHN5c3RlbSBhbmQgYXBwbGljYXRpb24gdGltZSBwZXJpb2RzLgorICA8L3BhcmE+CisK KyAgPHBhcmE+CisgICBQZXJpb2RzIGFyZSBkZXNjcmliZWQgaW4gPHhyZWYgbGlua2VuZD0iZGRs LXBlcmlvZHMiLz4uCisgIDwvcGFyYT4KKworICA8dGFibGU+CisgICA8dGl0bGU+PHN0cnVjdG5h bWU+cGdfcGVyaW9kPC9zdHJ1Y3RuYW1lPiBDb2x1bW5zPC90aXRsZT4KKworICAgPHRncm91cCBj b2xzPSIxIj4KKyAgICA8dGhlYWQ+CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0 YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAg IENvbHVtbiBUeXBlCisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBEZXNjcmlw dGlvbgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorICAgIDwvdGhlYWQ+CisK KyAgICA8dGJvZHk+CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJs ZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3Rm aWVsZD5vaWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5vaWQ8L3R5cGU+CisgICAgICA8L3BhcmE+Cisg ICAgICA8cGFyYT4KKyAgICAgICBSb3cgaWRlbnRpZmllcgorICAgICAgPC9wYXJhPjwvZW50cnk+ CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190 YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1 Y3RmaWVsZD5wZXJuYW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+dGV4dDwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIFBlcmlvZCBuYW1lCisgICAgICA8L3BhcmE+PC9l bnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRh bG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAg PHN0cnVjdGZpZWxkPnBlcnJlbGlkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+b2lkPC90eXBlPgorICAg ICAgIChyZWZlcmVuY2VzIDxsaW5rIGxpbmtlbmQ9ImNhdGFsb2ctcGctY2xhc3MiPjxzdHJ1Y3Ru YW1lPnBnX2NsYXNzPC9zdHJ1Y3RuYW1lPjwvbGluaz4uPHN0cnVjdGZpZWxkPm9pZDwvc3RydWN0 ZmllbGQ+KQorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgVGhlIHRhYmxlIHRo aXMgcGVyaW9kIGJlbG9uZ3MgdG8KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4K KworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxw YXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+cGVyc3Rh cnQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQyPC90eXBlPgorICAgICAgIChyZWZlcmVuY2VzIDxs aW5rIGxpbmtlbmQ9ImNhdGFsb2ctcGctYXR0cmlidXRlIj48c3RydWN0bmFtZT5wZ19hdHRyaWJ1 dGU8L3N0cnVjdG5hbWU+PC9saW5rPi48c3RydWN0ZmllbGQ+YXR0bnVtPC9zdHJ1Y3RmaWVsZD4p CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBUaGUgbnVtYmVyIG9mIHRoZSBz dGFydCBjb2x1bW4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+cGVyZW5kPC9zdHJ1Y3Rm aWVsZD4gPHR5cGU+aW50MjwvdHlwZT4KKyAgICAgICAocmVmZXJlbmNlcyA8bGluayBsaW5rZW5k PSJjYXRhbG9nLXBnLWF0dHJpYnV0ZSI+PHN0cnVjdG5hbWU+cGdfYXR0cmlidXRlPC9zdHJ1Y3Ru YW1lPjwvbGluaz4uPHN0cnVjdGZpZWxkPmF0dG51bTwvc3RydWN0ZmllbGQ+KQorICAgICAgPC9w YXJhPgorICAgICAgPHBhcmE+CisgICAgICAgVGhlIG51bWJlciBvZiB0aGUgZW5kIGNvbHVtbgor ICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmlu aXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5wZXJyYW5nZTwvc3RydWN0ZmllbGQ+IDx0eXBl PmludDI8L3R5cGU+CisgICAgICAgKHJlZmVyZW5jZXMgPGxpbmsgbGlua2VuZD0iY2F0YWxvZy1w Zy1hdHRyaWJ1dGUiPjxzdHJ1Y3RuYW1lPnBnX2F0dHJpYnV0ZTwvc3RydWN0bmFtZT48L2xpbms+ LjxzdHJ1Y3RmaWVsZD5hdHRudW08L3N0cnVjdGZpZWxkPikKKyAgICAgIDwvcGFyYT4KKyAgICAg IDxwYXJhPgorICAgICAgIFRoZSBudW1iZXIgb2YgdGhlIDxsaXRlcmFsPkdFTkVSQVRFRDwvbGl0 ZXJhbD4gY29sdW1uIHRoYXQgaW1wbGVtZW50cyB0aGUgPGxpdGVyYWw+UEVSSU9EPC9saXRlcmFs Pi4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAg ICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9k ZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+cGVyY29uc3RyYWludDwvc3RydWN0Zmll bGQ+IDx0eXBlPm9pZDwvdHlwZT4KKyAgICAgICAocmVmZXJlbmNlcyA8bGluayBsaW5rZW5kPSJj YXRhbG9nLXBnLWNvbnN0cmFpbnQiPjxzdHJ1Y3RuYW1lPnBnX2NvbnN0cmFpbnQ8L3N0cnVjdG5h bWU+PC9saW5rPi48c3RydWN0ZmllbGQ+b2lkPC9zdHJ1Y3RmaWVsZD4pCisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICBUaGUgT0lEIG9mIHRoZSBwZXJpb2QncyA8bGl0ZXJhbD5D SEVDSzwvbGl0ZXJhbD4gY29uc3RyYWludAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwv cm93PgorCiAgICAgPC90Ym9keT4KICAgIDwvdGdyb3VwPgogICA8L3RhYmxlPgpkaWZmIC0tZ2l0 IGEvZG9jL3NyYy9zZ21sL2RkbC5zZ21sIGIvZG9jL3NyYy9zZ21sL2RkbC5zZ21sCmluZGV4IGEz ODdlNWVhZTEzLi5mMzQzYzMyMjIwZSAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2RkbC5zZ21s CisrKyBiL2RvYy9zcmMvc2dtbC9kZGwuc2dtbApAQCAtMTYwMSw2ICsxNjAxLDUyIEBAIENSRUFU RSBUQUJMRSBjaXJjbGVzICgKICAgIHRvIGV4cHJlc3MgYW5kIG1hbmFnZSBzdWNoIGhpc3Rvcmll cyBpbiB0ZW1wb3JhbCB0YWJsZXMuCiAgIDwvcGFyYT4KIAorICA8c2VjdDIgaWQ9ImRkbC1wZXJp b2RzIj4KKyAgIDx0aXRsZT5QZXJpb2RzPC90aXRsZT4KKworICAgPGluZGV4dGVybSB6b25lPSJk ZGwtcGVyaW9kcyI+CisgICAgPHByaW1hcnk+cGVyaW9kczwvcHJpbWFyeT4KKyAgIDwvaW5kZXh0 ZXJtPgorCisgICA8cGFyYT4KKyAgICBBIDxmaXJzdHRlcm0+cGVyaW9kPC9maXJzdHRlcm0+IGlz IG1ldGFkYXRhIGF0dGFjaGVkIHRvIGEgdGFibGUKKyAgICB1bml0aW5nIHR3byBjb2x1bW5zLCBh IHN0YXJ0IHRpbWUgYW5kIGVuZCB0aW1lLCBpbnRvIG9uZSByYW5nZS1saWtlCisgICAgY29uc3Ry dWN0LiBQZXJpb2RzIGFyZSB1c2VkIHRvIHJlcHJlc2VudCA8bGluaworICAgIGxpbmtlbmQ9ImRk bC1zeXN0ZW0tdGltZSI+c3lzdGVtIHRpbWU8L2xpbms+IGFuZCA8bGluaworICAgIGxpbmtlbmQ9 ImRkbC1hcHBsaWNhdGlvbi10aW1lIj5hcHBsaWNhdGlvbiB0aW1lPC9saW5rPi4gQSBzeXN0ZW0t dGltZQorICAgIHBlcmlvZCBtdXN0IGJlIG5hbWVkIDxsaXRlcmFsPnN5c3RlbV90aW1lPC9saXRl cmFsPiwgYW5kIGFuCisgICAgYXBwbGljYXRpb24tdGltZSBwZXJpb2QgY2FuIGJlIG5hbWVkIGFu eXRoaW5nIGVsc2UuIFRoZWlyIG5hbWVzIG11c3QKKyAgICBub3QgY29uZmxpY3Qgd2l0aCBjb2x1 bW4gbmFtZXMgZnJvbSB0aGUgc2FtZSB0YWJsZS4KKyAgIDwvcGFyYT4KKworICAgPHBhcmE+Cisg ICAgQXBwbGljYXRpb24tdGltZSBwZXJpb2RzIGFyZSByZWZlcmVuY2VkIGluIHNldmVyYWwgdGVt cG9yYWwgb3BlcmF0aW9ucyBkZXNjcmliZWQgaW4KKyAgICB0aGlzIGNoYXB0ZXI6IHRlbXBvcmFs IHByaW1hcnkga2V5cywgdW5pcXVlIGNvbnN0cmFpbnRzLCBmb3JlaWduIGtleXMsCisgICAgdXBk YXRlIGNvbW1hbmRzLCBhbmQgZGVsZXRlIGNvbW1hbmRzLgorICAgIEluIGFsbCBjYXNlcywgPHBy b2R1Y3RuYW1lPlBvc3RncmVTUUw8L3Byb2R1Y3RuYW1lPiBzdXBwb3J0cyBlaXRoZXIgcGVyaW9k cworICAgIG9yIHJlZ3VsYXIgY29sdW1ucyB3aXRoIGEgPGxpbmsgbGlua2VuZD0icmFuZ2V0eXBl cy1idWlsdGluIj5yYW5nZXR5cGUgb3IKKyAgICBtdWx0aXJhbmdldHlwZTwvbGluaz4uCisgICA8 L3BhcmE+CisKKyAgIDxwYXJhPgorICAgIEFwcGxpY2F0aW9uIHBlcmlvZHMgYXJlIGRlZmluZWQg b24gYSB0YWJsZSB1c2luZyB0aGUgZm9sbG93aW5nIHN5bnRheDoKKyAgIDwvcGFyYT4KKworPHBy b2dyYW1saXN0aW5nPgorQ1JFQVRFIFRBQkxFIGJpbGxpbmdfYWRkcmVzc2VzICgKKyAgY3VzdG9t ZXJfaWQgaW50ZWdlciwKKyAgYWRkcmVzc19pZCAgaW50ZWdlciwKKyAgdmFsaWRfZnJvbSAgZGF0 ZSwKKyAgdmFsaWRfdGlsICAgZGF0ZSwKKyAgPGVtcGhhc2lzPlBFUklPRCBGT1IgdmFsaWRfYXQg KHZhbGlkX2Zyb20sIHZhbGlkX3RpbCk8L2VtcGhhc2lzPgorKTsKKzwvcHJvZ3JhbWxpc3Rpbmc+ CisKKyAgIDxwYXJhPgorICAgIFBlcmlvZHMgZm9yIDxsaXRlcmFsPlNZU1RFTV9USU1FPC9saXRl cmFsPiBhcmUgY3VycmVudGx5IG5vdCBpbXBsZW1lbnRlZC4KKyAgIDwvcGFyYT4KKyAgPC9zZWN0 Mj4KKwogICA8c2VjdDIgaWQ9ImRkbC1hcHBsaWNhdGlvbi10aW1lIj4KICAgIDx0aXRsZT5BcHBs aWNhdGlvbiBUaW1lPC90aXRsZT4KIApkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2luZm9ybWF0 aW9uX3NjaGVtYS5zZ21sIGIvZG9jL3NyYy9zZ21sL2luZm9ybWF0aW9uX3NjaGVtYS5zZ21sCmlu ZGV4IDYwYjRjNGFlOGMwLi5lZDQ0ODIyMzBhYSAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2lu Zm9ybWF0aW9uX3NjaGVtYS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9pbmZvcm1hdGlvbl9zY2hl bWEuc2dtbApAQCAtNDE3MSw2ICs0MTcxLDY5IEBAIE9SREVSIEJZIGMub3JkaW5hbF9wb3NpdGlv bjsKICAgPC90YWJsZT4KICA8L3NlY3QxPgogCisgPHNlY3QxIGlkPSJpbmZvc2NoZW1hLXBlcmlv ZHMiPgorICA8dGl0bGU+PGxpdGVyYWw+cGVyaW9kczwvbGl0ZXJhbD48L3RpdGxlPgorCisgIDxw YXJhPgorICAgVGhlIHZpZXcgPGxpdGVyYWw+cGVyaW9kczwvbGl0ZXJhbD4gY29udGFpbnMgaW5m b3JtYXRpb24gYWJvdXQgdGhlCisgICBwZXJpb2RzIG9mIGFsbCB0YWJsZXMgaW4gdGhlIGN1cnJl bnQgZGF0YWJhc2UuICBUaGUgc3RhcnQgYW5kIGVuZCBjb2x1bW4KKyAgIG5hbWVzIGFyZSBvbmx5 IHNob3duIGlmIHRoZSBjdXJyZW50IHVzZXIgaGFzIGFjY2VzcyB0byB0aGVtIChieSB3YXkgb2Yg YmVpbmcKKyAgIHRoZSBvd25lciBvciBoYXZpbmcgc29tZSBwcml2aWxlZ2UpLgorICA8L3BhcmE+ CisKKyAgPHRhYmxlPgorICAgPHRpdGxlPjxsaXRlcmFsPnBlcmlvZHM8L2xpdGVyYWw+IENvbHVt bnM8L3RpdGxlPgorCisgICA8dGdyb3VwIGNvbHM9IjMiPgorICAgIDx0aGVhZD4KKyAgICAgPHJv dz4KKyAgICAgIDxlbnRyeT5OYW1lPC9lbnRyeT4KKyAgICAgIDxlbnRyeT5EYXRhIFR5cGU8L2Vu dHJ5PgorICAgICAgPGVudHJ5PkRlc2NyaXB0aW9uPC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAg PC90aGVhZD4KKworICAgIDx0Ym9keT4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeT48bGl0ZXJh bD50YWJsZV9jYXRhbG9nPC9saXRlcmFsPjwvZW50cnk+CisgICAgICA8ZW50cnk+PHR5cGU+c3Fs X2lkZW50aWZpZXI8L3R5cGU+PC9lbnRyeT4KKyAgICAgIDxlbnRyeT5OYW1lIG9mIHRoZSBkYXRh YmFzZSBjb250YWluaW5nIHRoZSBwZXJpb2QgKGFsd2F5cyB0aGUgY3VycmVudCBkYXRhYmFzZSk8 L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5PjxsaXRlcmFs PnRhYmxlX3NjaGVtYTwvbGl0ZXJhbD48L2VudHJ5PgorICAgICAgPGVudHJ5Pjx0eXBlPnNxbF9p ZGVudGlmaWVyPC90eXBlPjwvZW50cnk+CisgICAgICA8ZW50cnk+TmFtZSBvZiB0aGUgc2NoZW1h IGNvbnRhaW5pbmcgdGhlIHBlcmlvZDwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnk+PGxpdGVyYWw+dGFibGVfbmFtZTwvbGl0ZXJhbD48L2VudHJ5PgorICAg ICAgPGVudHJ5Pjx0eXBlPnNxbF9pZGVudGlmaWVyPC90eXBlPjwvZW50cnk+CisgICAgICA8ZW50 cnk+TmFtZSBvZiB0aGUgdGFibGUgY29udGFpbmluZyB0aGUgcGVyaW9kPC9lbnRyeT4KKyAgICAg PC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeT48bGl0ZXJhbD5wZXJpb2RfbmFtZTwv bGl0ZXJhbD48L2VudHJ5PgorICAgICAgPGVudHJ5Pjx0eXBlPnNxbF9pZGVudGlmaWVyPC90eXBl PjwvZW50cnk+CisgICAgICA8ZW50cnk+TmFtZSBvZiB0aGUgcGVyaW9kPC9lbnRyeT4KKyAgICAg PC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeT48bGl0ZXJhbD5zdGFydF9jb2x1bW5f bmFtZTwvbGl0ZXJhbD48L2VudHJ5PgorICAgICAgPGVudHJ5Pjx0eXBlPnNxbF9pZGVudGlmaWVy PC90eXBlPjwvZW50cnk+CisgICAgICA8ZW50cnk+TmFtZSBvZiB0aGUgc3RhcnQgY29sdW1uIGZv ciB0aGUgcGVyaW9kPC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxl bnRyeT48bGl0ZXJhbD5lbmRfY29sdW1uX25hbWU8L2xpdGVyYWw+PC9lbnRyeT4KKyAgICAgIDxl bnRyeT48dHlwZT5zcWxfaWRlbnRpZmllcjwvdHlwZT48L2VudHJ5PgorICAgICAgPGVudHJ5Pk5h bWUgb2YgdGhlIGVuZCBjb2x1bW4gZm9yIHRoZSBwZXJpb2Q8L2VudHJ5PgorICAgICA8L3Jvdz4K KyAgICA8L3Rib2R5PgorICAgPC90Z3JvdXA+CisgIDwvdGFibGU+CisgPC9zZWN0MT4KKwogIDxz ZWN0MSBpZD0iaW5mb3NjaGVtYS1yZWZlcmVudGlhbC1jb25zdHJhaW50cyI+CiAgIDx0aXRsZT48 bGl0ZXJhbD5yZWZlcmVudGlhbF9jb25zdHJhaW50czwvbGl0ZXJhbD48L3RpdGxlPgogCmRpZmYg LS1naXQgYS9kb2Mvc3JjL3NnbWwvcGxwZ3NxbC5zZ21sIGIvZG9jL3NyYy9zZ21sL3BscGdzcWwu c2dtbAppbmRleCA4NmYzMTI0MTZhNS4uZDg4Mjg2ZmJlZmEgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMv c2dtbC9wbHBnc3FsLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3BscGdzcWwuc2dtbApAQCAtNDI1 Miw3ICs0MjUyLDcgQEAgQVNTRVJUIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb25k aXRpb248L3JlcGxhY2VhYmxlPiA8b3B0aW9uYWw+ICwgPHJlcGwKICAgICAgPHRlcm0+PHZhcm5h bWU+VEdfUEVSSU9EX05BTUU8L3Zhcm5hbWU+IDx0eXBlPnRleHQ8L3R5cGU+PC90ZXJtPgogICAg ICA8bGlzdGl0ZW0+CiAgICAgICA8cGFyYT4KLSAgICAgICB0aGUgY29sdW1uIG5hbWUgdXNlZCBp biBhIDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9saXRlcmFsPiBjbGF1c2UsCisgICAgICAgdGhl IGNvbHVtbi9wZXJpb2QgbmFtZSB1c2VkIGluIGEgPGxpdGVyYWw+Rk9SIFBPUlRJT04gT0Y8L2xp dGVyYWw+IGNsYXVzZSwKICAgICAgICBvciBlbHNlIDxzeW1ib2w+TlVMTDwvc3ltYm9sPi4KICAg ICAgIDwvcGFyYT4KICAgICAgPC9saXN0aXRlbT4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9y ZWYvYWx0ZXJfdGFibGUuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvYWx0ZXJfdGFibGUuc2dtbApp bmRleCA5ZDIzYWQ1YTBmYi4uNDQwZWM2MTY5N2IgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9y ZWYvYWx0ZXJfdGFibGUuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3RhYmxlLnNn bWwKQEAgLTYyLDYgKzYyLDggQEAgQUxURVIgVEFCTEUgWyBJRiBFWElTVFMgXSA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+CiAgICAgQUxURVIgQ09OU1RS QUlOVCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29uc3RyYWludF9uYW1lPC9yZXBs YWNlYWJsZT4gWyBJTkhFUklUIHwgTk8gSU5IRVJJVCBdCiAgICAgVkFMSURBVEUgQ09OU1RSQUlO VCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29uc3RyYWludF9uYW1lPC9yZXBsYWNl YWJsZT4KICAgICBEUk9QIENPTlNUUkFJTlQgWyBJRiBFWElTVFMgXSAgPHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPmNvbnN0cmFpbnRfbmFtZTwvcmVwbGFjZWFibGU+IFsgUkVTVFJJQ1Qg fCBDQVNDQURFIF0KKyAgICBBREQgUEVSSU9EIEZPUiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+cGVyaW9kX25hbWU8L3JlcGxhY2VhYmxlPiAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFy YW1ldGVyIj5zdGFydF9jb2x1bW48L3JlcGxhY2VhYmxlPiwgPHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPmVuZF9jb2x1bW48L3JlcGxhY2VhYmxlPiApIFsgV0lUSCAoIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5wZXJpb2Rfb3B0aW9uPC9yZXBsYWNlYWJsZT4gPSA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dmFsdWU8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSApIF0K KyAgICBEUk9QIFBFUklPRCBGT1IgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBlcmlv ZF9uYW1lPC9yZXBsYWNlYWJsZT4gWyBSRVNUUklDVCB8IENBU0NBREUgXQogICAgIERJU0FCTEUg VFJJR0dFUiBbIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50cmlnZ2VyX25hbWU8L3Jl cGxhY2VhYmxlPiB8IEFMTCB8IFVTRVIgXQogICAgIEVOQUJMRSBUUklHR0VSIFsgPHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRyaWdnZXJfbmFtZTwvcmVwbGFjZWFibGU+IHwgQUxMIHwg VVNFUiBdCiAgICAgRU5BQkxFIFJFUExJQ0EgVFJJR0dFUiA8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+dHJpZ2dlcl9uYW1lPC9yZXBsYWNlYWJsZT4KQEAgLTExNiwxMCArMTE4LDEwIEBA IFdJVEggKCBNT0RVTFVTIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5udW1lcmljX2xp dGVyYWw8L3JlcGxhY2VhYmxlPiwgUkVNCiBbIENPTlNUUkFJTlQgPHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPmNvbnN0cmFpbnRfbmFtZTwvcmVwbGFjZWFibGU+IF0KIHsgQ0hFQ0sgKCA8 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZXhwcmVzc2lvbjwvcmVwbGFjZWFibGU+ICkg WyBOTyBJTkhFUklUIF0gfAogICBOT1QgTlVMTCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBbIE5PIElOSEVSSVQgXSB8Ci0gIFVOSVFVRSBb IE5VTExTIFsgTk9UIF0gRElTVElOQ1QgXSAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IFssIC4uLiBdIFssIDxyZXBsYWNlYWJsZSBjbGFz cz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IFdJVEhPVVQgT1ZFUkxBUFMg XSApIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5pbmRleF9wYXJhbWV0ZXJzPC9yZXBs YWNlYWJsZT4gfAotICBQUklNQVJZIEtFWSAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IFssIC4uLiBdIFssIDxyZXBsYWNlYWJsZSBjbGFz cz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IFdJVEhPVVQgT1ZFUkxBUFMg XSApIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5pbmRleF9wYXJhbWV0ZXJzPC9yZXBs YWNlYWJsZT4gfAorICBVTklRVUUgWyBOVUxMUyBbIE5PVCBdIERJU1RJTkNUIF0gKCA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBbLCAuLi4g XSBbLCB7IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFj ZWFibGU+IHwgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBlcmlvZF9uYW1lPC9yZXBs YWNlYWJsZT4gfSBXSVRIT1VUIE9WRVJMQVBTIF0gKSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+aW5kZXhfcGFyYW1ldGVyczwvcmVwbGFjZWFibGU+IHwKKyAgUFJJTUFSWSBLRVkgKCA8 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBb LCAuLi4gXSBbLCB7IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwv cmVwbGFjZWFibGU+IHwgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBlcmlvZF9uYW1l PC9yZXBsYWNlYWJsZT4gfSBXSVRIT1VUIE9WRVJMQVBTIF0gKSA8cmVwbGFjZWFibGUgY2xhc3M9 InBhcmFtZXRlciI+aW5kZXhfcGFyYW1ldGVyczwvcmVwbGFjZWFibGU+IHwKICAgRVhDTFVERSBb IFVTSU5HIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5pbmRleF9tZXRob2Q8L3JlcGxh Y2VhYmxlPiBdICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmV4Y2x1ZGVfZWxlbWVu dDwvcmVwbGFjZWFibGU+IFdJVEggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm9wZXJh dG9yPC9yZXBsYWNlYWJsZT4gWywgLi4uIF0gKSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+aW5kZXhfcGFyYW1ldGVyczwvcmVwbGFjZWFibGU+IFsgV0hFUkUgKCA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+cHJlZGljYXRlPC9yZXBsYWNlYWJsZT4gKSBdIHwKLSAgRk9SRUlH TiBLRVkgKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxh Y2VhYmxlPiBbLCAuLi4gXSBbLCBQRVJJT0QgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi PmNvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT4gXSApIFJFRkVSRU5DRVMgPHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPnJlZnRhYmxlPC9yZXBsYWNlYWJsZT4gWyAoIDxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj5yZWZjb2x1bW48L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSAgWywgUEVS SU9EIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yZWZjb2x1bW48L3JlcGxhY2VhYmxl PiBdICkgXQorICBGT1JFSUdOIEtFWSAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5j b2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IFssIC4uLiBdIFssIFBFUklPRCB7IDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IHwgPHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBlcmlvZF9uYW1lPC9yZXBsYWNlYWJsZT4gfSBdICkgUkVG RVJFTkNFUyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVmdGFibGU8L3JlcGxhY2Vh YmxlPiBbICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJlZmNvbHVtbjwvcmVwbGFj ZWFibGU+IFssIC4uLiBdICBbLCBQRVJJT0QgeyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+cmVmY29sdW1uPC9yZXBsYWNlYWJsZT4gfCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+cGVyaW9kX25hbWU8L3JlcGxhY2VhYmxlPiB9IF0gKSBdCiAgICAgWyBNQVRDSCBGVUxMIHwg TUFUQ0ggUEFSVElBTCB8IE1BVENIIFNJTVBMRSBdIFsgT04gREVMRVRFIDxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj5yZWZlcmVudGlhbF9hY3Rpb248L3JlcGxhY2VhYmxlPiBdIFsgT04g VVBEQVRFIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yZWZlcmVudGlhbF9hY3Rpb248 L3JlcGxhY2VhYmxlPiBdIH0KIFsgREVGRVJSQUJMRSB8IE5PVCBERUZFUlJBQkxFIF0gWyBJTklU SUFMTFkgREVGRVJSRUQgfCBJTklUSUFMTFkgSU1NRURJQVRFIF0gWyBFTkZPUkNFRCB8IE5PVCBF TkZPUkNFRCBdCiAKQEAgLTYyNCw2ICs2MjYsMjkgQEAgV0lUSCAoIE1PRFVMVVMgPHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm51bWVyaWNfbGl0ZXJhbDwvcmVwbGFjZWFibGU+LCBSRU0K ICAgICA8L2xpc3RpdGVtPgogICAgPC92YXJsaXN0ZW50cnk+CiAKKyAgIDx2YXJsaXN0ZW50cnkg aWQ9InNxbC1hbHRlcnRhYmxlLWRlc2MtYWRkLXBlcmlvZCI+CisgICAgPHRlcm0+PGxpdGVyYWw+ QUREIFBFUklPRCBGT1I8L2xpdGVyYWw+PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBh cmE+CisgICAgICBUaGlzIGZvcm0gYWRkcyBhIG5ldyBwZXJpb2QgdG8gYSB0YWJsZSB1c2luZyB0 aGUgc2FtZSBzeW50YXggYXMKKyAgICAgIDx4cmVmIGxpbmtlbmQ9InNxbC1jcmVhdGV0YWJsZSIv Pi4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKwor ICAgPHZhcmxpc3RlbnRyeSBpZD0ic3FsLWFsdGVydGFibGUtZGVzYy1kcm9wLXBlcmlvZCI+Cisg ICAgPHRlcm0+PGxpdGVyYWw+RFJPUCBQRVJJT0QgRk9SPC9saXRlcmFsPjwvdGVybT4KKyAgICA8 bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgVGhpcyBmb3JtIGRyb3BzIHRoZSBzcGVjaWZp ZWQgcGVyaW9kIG9uIGEgdGFibGUuICBUaGUgc3RhcnQgYW5kIGVuZAorICAgICAgY29sdW1ucyB3 aWxsIG5vdCBiZSBkcm9wcGVkIGJ5IHRoaXMgY29tbWFuZCBidXQgdGhlCisgICAgICA8bGl0ZXJh bD5DSEVDSzwvbGl0ZXJhbD4gY29uc3RyYWludCB3aWxsIGJlLiAgWW91IHdpbGwgbmVlZCB0byBz YXkKKyAgICAgIDxsaXRlcmFsPkNBU0NBREU8L2xpdGVyYWw+IGlmIGFueXRoaW5nIG91dHNpZGUg dGhlIHRhYmxlIGRlcGVuZHMgb24gdGhlCisgICAgICBjb2x1bW4uCisgICAgIDwvcGFyYT4KKyAg ICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKICAgIDx2YXJsaXN0ZW50cnkgaWQ9 InNxbC1hbHRlcnRhYmxlLWRlc2MtZGlzYWJsZS1lbmFibGUtdHJpZ2dlciI+CiAgICAgPHRlcm0+ PGxpdGVyYWw+RElTQUJMRTwvbGl0ZXJhbD4vPGxpdGVyYWw+RU5BQkxFIFsgUkVQTElDQSB8IEFM V0FZUyBdIFRSSUdHRVI8L2xpdGVyYWw+PC90ZXJtPgogICAgIDxsaXN0aXRlbT4KZGlmZiAtLWdp dCBhL2RvYy9zcmMvc2dtbC9yZWYvY29tbWVudC5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9jb21t ZW50LnNnbWwKaW5kZXggOGQ4MTI0NDkxMGIuLjgyZTEzZmFmMGE1IDEwMDY0NAotLS0gYS9kb2Mv c3JjL3NnbWwvcmVmL2NvbW1lbnQuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2NvbW1lbnQu c2dtbApAQCAtNDQsNiArNDQsNyBAQCBDT01NRU5UIE9OCiAgIE9QRVJBVE9SIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5vcGVyYXRvcl9uYW1lPC9yZXBsYWNlYWJsZT4gKDxyZXBsYWNl YWJsZSBjbGFzcz0icGFyYW1ldGVyIj5sZWZ0X3R5cGU8L3JlcGxhY2VhYmxlPiwgPHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJpZ2h0X3R5cGU8L3JlcGxhY2VhYmxlPikgfAogICBPUEVS QVRPUiBDTEFTUyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+b2JqZWN0X25hbWU8L3Jl cGxhY2VhYmxlPiBVU0lORyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+aW5kZXhfbWV0 aG9kPC9yZXBsYWNlYWJsZT4gfAogICBPUEVSQVRPUiBGQU1JTFkgPHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPm9iamVjdF9uYW1lPC9yZXBsYWNlYWJsZT4gVVNJTkcgPHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPmluZGV4X21ldGhvZDwvcmVwbGFjZWFibGU+IHwKKyAgUEVSSU9E IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yZWxhdGlvbl9uYW1lPC9yZXBsYWNlYWJs ZT4uPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBlcmlvZF9uYW1lPC9yZXBsYWNlYWJs ZT4gfAogICBQT0xJQ1kgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBvbGljeV9uYW1l PC9yZXBsYWNlYWJsZT4gT04gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxlX25h bWU8L3JlcGxhY2VhYmxlPiB8CiAgIFsgUFJPQ0VEVVJBTCBdIExBTkdVQUdFIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5vYmplY3RfbmFtZTwvcmVwbGFjZWFibGU+IHwKICAgUFJPQ0VE VVJFIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wcm9jZWR1cmVfbmFtZTwvcmVwbGFj ZWFibGU+IFsgKCBbIFsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmFyZ21vZGU8L3Jl cGxhY2VhYmxlPiBdIFsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmFyZ25hbWU8L3Jl cGxhY2VhYmxlPiBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5hcmd0eXBlPC9yZXBs YWNlYWJsZT4gWywgLi4uXSBdICkgXSB8CkBAIC0zNDEsNiArMzQyLDcgQEAgQ09NTUVOVCBPTiBP UEVSQVRPUiBeICh0ZXh0LCB0ZXh0KSBJUyAnUGVyZm9ybXMgaW50ZXJzZWN0aW9uIG9mIHR3byB0 ZXh0cyc7CiBDT01NRU5UIE9OIE9QRVJBVE9SIC0gKE5PTkUsIGludGVnZXIpIElTICdVbmFyeSBt aW51cyc7CiBDT01NRU5UIE9OIE9QRVJBVE9SIENMQVNTIGludDRvcHMgVVNJTkcgYnRyZWUgSVMg JzQgYnl0ZSBpbnRlZ2VyIG9wZXJhdG9ycyBmb3IgYnRyZWVzJzsKIENPTU1FTlQgT04gT1BFUkFU T1IgRkFNSUxZIGludGVnZXJfb3BzIFVTSU5HIGJ0cmVlIElTICdhbGwgaW50ZWdlciBvcGVyYXRv cnMgZm9yIGJ0cmVlcyc7CitDT01NRU5UIE9OIFBFUklPRCBteV90YWJsZS5teV9jb2x1bW4gSVMg J1NhbGVzIHByb21vdGlvbiB2YWxpZGl0eSc7CiBDT01NRU5UIE9OIFBPTElDWSBteV9wb2xpY3kg T04gbXl0YWJsZSBJUyAnRmlsdGVyIHJvd3MgYnkgdXNlcnMnOwogQ09NTUVOVCBPTiBQUk9DRURV UkUgbXlfcHJvYyAoaW50ZWdlciwgaW50ZWdlcikgSVMgJ1J1bnMgYSByZXBvcnQnOwogQ09NTUVO VCBPTiBQVUJMSUNBVElPTiBhbGx0YWJsZXMgSVMgJ1B1Ymxpc2hlcyBhbGwgb3BlcmF0aW9ucyBv biBhbGwgdGFibGVzJzsKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3RhYmxl LnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV90YWJsZS5zZ21sCmluZGV4IGE4MTcwMWE0 OWY0Li5jOWVjYjI5ZjYxMiAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdGFi bGUuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV90YWJsZS5zZ21sCkBAIC0yMyw2 ICsyMyw3IEBAIFBvc3RncmVTUUwgZG9jdW1lbnRhdGlvbgogPHN5bm9wc2lzPgogQ1JFQVRFIFsg WyBHTE9CQUwgfCBMT0NBTCBdIHsgVEVNUE9SQVJZIHwgVEVNUCB9IHwgVU5MT0dHRUQgXSBUQUJM RSBbIElGIE5PVCBFWElTVFMgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dGFibGVf bmFtZTwvcmVwbGFjZWFibGU+ICggWwogICB7IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij5kYXRhX3R5cGU8L3JlcGxhY2VhYmxlPiBbIFNUT1JBR0UgeyBQTEFJTiB8IEVYVEVSTkFMIHwg RVhURU5ERUQgfCBNQUlOIHwgREVGQVVMVCB9IF0gWyBDT01QUkVTU0lPTiA8cmVwbGFjZWFibGU+ Y29tcHJlc3Npb25fbWV0aG9kPC9yZXBsYWNlYWJsZT4gXSBbIENPTExBVEUgPHJlcGxhY2VhYmxl PmNvbGxhdGlvbjwvcmVwbGFjZWFibGU+IF0gWyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+Y29sdW1uX2NvbnN0cmFpbnQ8L3JlcGxhY2VhYmxlPiBbIC4uLiBdIF0KKyAgICB8IDxyZXBs YWNlYWJsZT5wZXJpb2RfZGVmaW5pdGlvbjwvcmVwbGFjZWFibGU+CiAgICAgfCA8cmVwbGFjZWFi bGU+dGFibGVfY29uc3RyYWludDwvcmVwbGFjZWFibGU+CiAgICAgfCBMSUtFIDxyZXBsYWNlYWJs ZT5zb3VyY2VfdGFibGU8L3JlcGxhY2VhYmxlPiBbIDxyZXBsYWNlYWJsZT5saWtlX29wdGlvbjwv cmVwbGFjZWFibGU+IC4uLiBdIH0KICAgICBbLCAuLi4gXQpAQCAtMzcsNiArMzgsNyBAQCBDUkVB VEUgWyBbIEdMT0JBTCB8IExPQ0FMIF0geyBURU1QT1JBUlkgfCBURU1QIH0gfCBVTkxPR0dFRCBd IFRBQkxFIFsgSUYgTk9UIEVYSQogQ1JFQVRFIFsgWyBHTE9CQUwgfCBMT0NBTCBdIHsgVEVNUE9S QVJZIHwgVEVNUCB9IHwgVU5MT0dHRUQgXSBUQUJMRSBbIElGIE5PVCBFWElTVFMgXSA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dGFibGVfbmFtZTwvcmVwbGFjZWFibGU+CiAgICAgT0Yg PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnR5cGVfbmFtZTwvcmVwbGFjZWFibGU+IFsg KAogICB7IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFj ZWFibGU+IFsgV0lUSCBPUFRJT05TIF0gWyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ Y29sdW1uX2NvbnN0cmFpbnQ8L3JlcGxhY2VhYmxlPiBbIC4uLiBdIF0KKyAgICB8IDxyZXBsYWNl YWJsZT5wZXJpb2RfZGVmaW5pdGlvbjwvcmVwbGFjZWFibGU+CiAgICAgfCA8cmVwbGFjZWFibGU+ dGFibGVfY29uc3RyYWludDwvcmVwbGFjZWFibGU+IH0KICAgICBbLCAuLi4gXQogKSBdCkBAIC00 OSw2ICs1MSw3IEBAIENSRUFURSBbIFsgR0xPQkFMIHwgTE9DQUwgXSB7IFRFTVBPUkFSWSB8IFRF TVAgfSB8IFVOTE9HR0VEIF0gVEFCTEUgWyBJRiBOT1QgRVhJCiBDUkVBVEUgWyBbIEdMT0JBTCB8 IExPQ0FMIF0geyBURU1QT1JBUlkgfCBURU1QIH0gfCBVTkxPR0dFRCBdIFRBQkxFIFsgSUYgTk9U IEVYSVNUUyBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50YWJsZV9uYW1lPC9yZXBs YWNlYWJsZT4KICAgICBQQVJUSVRJT04gT0YgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi PnBhcmVudF90YWJsZTwvcmVwbGFjZWFibGU+IFsgKAogICB7IDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IFsgV0lUSCBPUFRJT05TIF0gWyA8 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX2NvbnN0cmFpbnQ8L3JlcGxhY2Vh YmxlPiBbIC4uLiBdIF0KKyAgICB8IDxyZXBsYWNlYWJsZT5wZXJpb2RfZGVmaW5pdGlvbjwvcmVw bGFjZWFibGU+CiAgICAgfCA8cmVwbGFjZWFibGU+dGFibGVfY29uc3RyYWludDwvcmVwbGFjZWFi bGU+IH0KICAgICBbLCAuLi4gXQogKSBdIHsgRk9SIFZBTFVFUyA8cmVwbGFjZWFibGUgY2xhc3M9 InBhcmFtZXRlciI+cGFydGl0aW9uX2JvdW5kX3NwZWM8L3JlcGxhY2VhYmxlPiB8IERFRkFVTFQg fQpAQCAtNzMsMTUgKzc2LDIwIEBAIENSRUFURSBbIFsgR0xPQkFMIHwgTE9DQUwgXSB7IFRFTVBP UkFSWSB8IFRFTVAgfSB8IFVOTE9HR0VEIF0gVEFCTEUgWyBJRiBOT1QgRVhJCiAgICAgWyBPTiBE RUxFVEUgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJlZmVyZW50aWFsX2FjdGlvbjwv cmVwbGFjZWFibGU+IF0gWyBPTiBVUERBVEUgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi PnJlZmVyZW50aWFsX2FjdGlvbjwvcmVwbGFjZWFibGU+IF0gfQogWyBERUZFUlJBQkxFIHwgTk9U IERFRkVSUkFCTEUgXSBbIElOSVRJQUxMWSBERUZFUlJFRCB8IElOSVRJQUxMWSBJTU1FRElBVEUg XSBbIEVORk9SQ0VEIHwgTk9UIEVORk9SQ0VEIF0KIAorPHBocmFzZT5hbmQgPHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPnBlcmlvZF9kZWZpbml0aW9uPC9yZXBsYWNlYWJsZT4gaXM6PC9w aHJhc2U+CisKK1BFUklPRCBGT1IgeyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGVy aW9kX25hbWU8L3JlcGxhY2VhYmxlPiB8IFNZU1RFTV9USU1FIH0gKCA8cmVwbGFjZWFibGUgY2xh c3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiwgPHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT4gKQorWyBXSVRIICggPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBlcmlvZF9vcHRpb248L3JlcGxhY2VhYmxlPiA9 IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj52YWx1ZTwvcmVwbGFjZWFibGU+IFssIC4u LiBdICkgXQorCiA8cGhyYXNlPmFuZCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dGFi bGVfY29uc3RyYWludDwvcmVwbGFjZWFibGU+IGlzOjwvcGhyYXNlPgogCiBbIENPTlNUUkFJTlQg PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbnN0cmFpbnRfbmFtZTwvcmVwbGFjZWFi bGU+IF0KIHsgQ0hFQ0sgKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZXhwcmVzc2lv bjwvcmVwbGFjZWFibGU+ICkgWyBOTyBJTkhFUklUIF0gfAogICBOT1QgTlVMTCA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBbIE5PIElOSEVS SVQgXSB8Ci0gIFVOSVFVRSBbIE5VTExTIFsgTk9UIF0gRElTVElOQ1QgXSAoIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IFssIC4uLiBdIFss IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+ IFdJVEhPVVQgT1ZFUkxBUFMgXSApIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5pbmRl eF9wYXJhbWV0ZXJzPC9yZXBsYWNlYWJsZT4gfAotICBQUklNQVJZIEtFWSAoIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IFssIC4uLiBdIFss IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+ IFdJVEhPVVQgT1ZFUkxBUFMgXSApIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5pbmRl eF9wYXJhbWV0ZXJzPC9yZXBsYWNlYWJsZT4gfAorICBVTklRVUUgWyBOVUxMUyBbIE5PVCBdIERJ U1RJTkNUIF0gKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3Jl cGxhY2VhYmxlPiBbLCAuLi4gXSBbLCB7IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5j b2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IHwgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi PnBlcmlvZF9uYW1lPC9yZXBsYWNlYWJsZT4gfSBXSVRIT1VUIE9WRVJMQVBTIF0gKSA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+aW5kZXhfcGFyYW1ldGVyczwvcmVwbGFjZWFibGU+IHwK KyAgUFJJTUFSWSBLRVkgKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25h bWU8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSBbLCB7IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1l dGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IHwgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPnBlcmlvZF9uYW1lPC9yZXBsYWNlYWJsZT4gfSAgV0lUSE9VVCBPVkVSTEFQUyBdICkg PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmluZGV4X3BhcmFtZXRlcnM8L3JlcGxhY2Vh YmxlPiB8CiAgIEVYQ0xVREUgWyBVU0lORyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ aW5kZXhfbWV0aG9kPC9yZXBsYWNlYWJsZT4gXSAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1l dGVyIj5leGNsdWRlX2VsZW1lbnQ8L3JlcGxhY2VhYmxlPiBXSVRIIDxyZXBsYWNlYWJsZSBjbGFz cz0icGFyYW1ldGVyIj5vcGVyYXRvcjwvcmVwbGFjZWFibGU+IFssIC4uLiBdICkgPHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmluZGV4X3BhcmFtZXRlcnM8L3JlcGxhY2VhYmxlPiBbIFdI RVJFICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnByZWRpY2F0ZTwvcmVwbGFjZWFi bGU+ICkgXSB8Ci0gIEZPUkVJR04gS0VZICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi PmNvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT4gWywgLi4uIF0gWywgUEVSSU9EIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IF0gKSBSRUZFUkVO Q0VTIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yZWZ0YWJsZTwvcmVwbGFjZWFibGU+ IFsgKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVmY29sdW1uPC9yZXBsYWNlYWJs ZT4gWywgLi4uIF0gWywgUEVSSU9EIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yZWZj b2x1bW48L3JlcGxhY2VhYmxlPiBdICkgXQorICBGT1JFSUdOIEtFWSAoIDxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IFssIC4uLiBdIFssIFBF UklPRCB7IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFj ZWFibGU+IHwgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBlcmlvZF9uYW1lPC9yZXBs YWNlYWJsZT4gfSBdICkgUkVGRVJFTkNFUyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ cmVmdGFibGU8L3JlcGxhY2VhYmxlPiBbICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi PnJlZmNvbHVtbjwvcmVwbGFjZWFibGU+IFssIC4uLiBdIFssIFBFUklPRCB7IDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5yZWZjb2x1bW48L3JlcGxhY2VhYmxlPiB8IDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5wZXJpb2RfbmFtZTwvcmVwbGFjZWFibGU+IH0gXSApIF0KICAg ICBbIE1BVENIIEZVTEwgfCBNQVRDSCBQQVJUSUFMIHwgTUFUQ0ggU0lNUExFIF0gWyBPTiBERUxF VEUgPHJlcGxhY2VhYmxlCiBjbGFzcz0icGFyYW1ldGVyIj5yZWZlcmVudGlhbF9hY3Rpb248L3Jl cGxhY2VhYmxlPiBdIFsgT04gVVBEQVRFIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5y ZWZlcmVudGlhbF9hY3Rpb248L3JlcGxhY2VhYmxlPiBdIH0KIFsgREVGRVJSQUJMRSB8IE5PVCBE RUZFUlJBQkxFIF0gWyBJTklUSUFMTFkgREVGRVJSRUQgfCBJTklUSUFMTFkgSU1NRURJQVRFIF0g WyBFTkZPUkNFRCB8IE5PVCBFTkZPUkNFRCBdCkBAIC0xNDAsNiArMTQ4LDE0IEBAIFdJVEggKCBN T0RVTFVTIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5udW1lcmljX2xpdGVyYWw8L3Jl cGxhY2VhYmxlPiwgUkVNCiAgICBuYW1lIGFzIGFueSBleGlzdGluZyBkYXRhIHR5cGUgaW4gdGhl IHNhbWUgc2NoZW1hLgogICA8L3BhcmE+CiAKKyAgPHBhcmE+CisgICBQZXJpb2RzIG1heSBiZSBk ZWZpbmVkIG9uIHRhYmxlcywgc3BlY2lmeWluZyB0aGF0IHR3byBleGlzdGluZyBjb2x1bW5zCisg ICByZXByZXNlbnQgc3RhcnQgYW5kIGVuZCB2YWx1ZXMgZm9yIHRoZSBwZXJpb2QuICBQZXJpb2Rz IG1heSBoYXZlIGFueSBuYW1lCisgICB0aGF0IGRvZXNuJ3QgY29uZmxpY3Qgd2l0aCBhIGNvbHVt biBuYW1lLCBidXQgdGhlIG5hbWUKKyAgIDxsaXRlcmFsPlNZU1RFTV9USU1FPC9saXRlcmFsPiBp cyBzcGVjaWFsLCB1c2VkIGZvciB2ZXJzaW9uaW5nIHRhYmxlcy4KKyAgIFN5c3RlbSBwZXJpb2Rz IGFyZSBub3QgeWV0IGltcGxlbWVudGVkLiAgU2VlIDx4cmVmIGxpbmtlbmQ9ImRkbC1wZXJpb2Rz Ii8+IGZvciBtb3JlIGRldGFpbHMuCisgIDwvcGFyYT4KKwogICA8cGFyYT4KICAgIFRoZSBvcHRp b25hbCBjb25zdHJhaW50IGNsYXVzZXMgc3BlY2lmeSBjb25zdHJhaW50cyAodGVzdHMpIHRoYXQK ICAgIG5ldyBvciB1cGRhdGVkIHJvd3MgbXVzdCBzYXRpc2Z5IGZvciBhbiBpbnNlcnQgb3IgdXBk YXRlIG9wZXJhdGlvbgpAQCAtODAwLDYgKzgxNiwzNyBAQCBXSVRIICggTU9EVUxVUyA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bnVtZXJpY19saXRlcmFsPC9yZXBsYWNlYWJsZT4sIFJF TQogICAgIDwvbGlzdGl0ZW0+CiAgICA8L3Zhcmxpc3RlbnRyeT4KIAorICAgPHZhcmxpc3RlbnRy eSBpZD0ic3FsLWNyZWF0ZXRhYmxlLXBhcm1zLXBlcmlvZCI+CisgICAgPHRlcm0+PGxpdGVyYWw+ UEVSSU9EIEZPUiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGVyaW9kX25hbWU8L3Jl cGxhY2VhYmxlPiAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwv cmVwbGFjZWFibGU+LCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8 L3JlcGxhY2VhYmxlPiApIFsgV0lUSCAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5w ZXJpb2Rfb3B0aW9uPC9yZXBsYWNlYWJsZT4gPSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+dmFsdWU8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSApIF08L2xpdGVyYWw+PC90ZXJtPgorICAg IDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBBIHBlcmlvZCBkZWZpbml0aW9uIGdpdmVz IHNlbWFudGljIG1lYW5pbmcgdG8gdHdvIGV4aXN0aW5nIGNvbHVtbnMgb2YKKyAgICAgIHRoZSB0 YWJsZS4gIEl0IGRlZmluZXMgYSAic3RhcnQgY29sdW1uIiBhbmQgYW4gImVuZCBjb2x1bW4iIHdo ZXJlIHRoZQorICAgICAgc3RhcnQgdmFsdWUgaXMgc3RyaWN0bHkgbGVzcyB0aGFuIHRoZSBlbmQg dmFsdWUuICBBCisgICAgICA8bGl0ZXJhbD5DSEVDSzwvbGl0ZXJhbD4gY29uc3RyYWludCBpcyBh dXRvbWF0aWNhbGx5IGNyZWF0ZWQgdG8gZW5mb3JjZQorICAgICAgdGhpcy4gIFlvdSBjYW4gc3Bl Y2lmeSB0aGUgbmFtZSBvZiB0aGF0IGNvbnN0cmFpbnQgd2l0aCB0aGUKKyAgICAgIDxsaXRlcmFs PmNoZWNrX2NvbnN0cmFpbnRfbmFtZTwvbGl0ZXJhbD4gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPnBlcmlvZF9vcHRpb248L3JlcGxhY2VhYmxlPi4KKyAgICAgPC9wYXJhPgorCisgICAg IDxwYXJhPgorICAgICAgQm90aCBjb2x1bW5zIG11c3QgaGF2ZSBleGFjdGx5IHRoZSBzYW1lIHR5 cGUgYW5kIG11c3QgaGF2ZSBhIHJhbmdlIHR5cGUKKyAgICAgIGRlZmluZWQgZnJvbSB0aGVpciBi YXNlIHR5cGUuICBJZiB0aGVyZSBhcmUgc2V2ZXJhbCByYW5nZSB0eXBlcyBmb3IgdGhhdAorICAg ICAgYmFzZSB0eXBlLCB5b3UgbXVzdCBzcGVjaWZ5IHdoaWNoIG9uZSB5b3Ugd2FudCBieSB1c2lu ZyB0aGUKKyAgICAgIDxsaXRlcmFsPnJhbmdldHlwZTwvbGl0ZXJhbD4gPHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPnBlcmlvZF9vcHRpb248L3JlcGxhY2VhYmxlPi4KKyAgICAgIEFueSBi YXNlIHR5cGUgaXMgYWxsb3dlZCwgYXMgbG9uZyBhcyBpdCBoYXMgYSByYW5nZSB0eXBlLCBhbHRo b3VnaCBpdCBpcworICAgICAgZXhwZWN0ZWQgdGhhdCBtb3N0IHBlcmlvZHMgd2lsbCB1c2UgdGVt cG9yYWwgdHlwZXMgbGlrZSA8bGl0ZXJhbD50aW1lc3RhbXB0ejwvbGl0ZXJhbD4KKyAgICAgIG9y IDxsaXRlcmFsPmRhdGU8L2xpdGVyYWw+LgorICAgICA8L3BhcmE+CisKKyAgICAgPHBhcmE+Cisg ICAgICBBIGhpZGRlbiA8bGl0ZXJhbD5HRU5FUkFURUQ8L2xpdGVyYWw+IGNvbHVtbiBpcyB1c2Vk IHRvIGltcGxlbWVudCB0aGUgcGVyaW9kLAorICAgICAgd2l0aCB0aGUgc2FtZSBuYW1lIGFzIHRo ZSBwZXJpb2QuICBJZiBzdWNoIGEgY29sdW1uIGFscmVhZHkgZXhpc3RzLCB5b3UKKyAgICAgIGNh biB1c2UgdGhlIDxsaXRlcmFsPmNvbGV4aXN0czwvbGl0ZXJhbD4gPHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPnBlcmlvZF9vcHRpb248L3JlcGxhY2VhYmxlPgorICAgICAgd2l0aCB2YWx1 ZSA8bGl0ZXJhbD50cnVlPC9saXRlcmFsPiB0byBhdm9pZCBjcmVhdGluZyBpdC4KKyAgICAgPC9w YXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKwogICAgPHZhcmxpc3Rl bnRyeSBpZD0ic3FsLWNyZWF0ZXRhYmxlLXBhcm1zLWNvbnN0cmFpbnQiPgogICAgIDx0ZXJtPjxs aXRlcmFsPkNPTlNUUkFJTlQgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbnN0cmFp bnRfbmFtZTwvcmVwbGFjZWFibGU+PC9saXRlcmFsPjwvdGVybT4KICAgICA8bGlzdGl0ZW0+CkBA IC0xMTg0LDggKzEyMzEsOCBAQCBXSVRIICggTU9EVUxVUyA8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+bnVtZXJpY19saXRlcmFsPC9yZXBsYWNlYWJsZT4sIFJFTQogICAgPHZhcmxpc3Rl bnRyeSBpZD0ic3FsLWNyZWF0ZXRhYmxlLXBhcm1zLXJlZmVyZW5jZXMiPgogICAgIDx0ZXJtPjxs aXRlcmFsPlJFRkVSRU5DRVMgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJlZnRhYmxl PC9yZXBsYWNlYWJsZT4gWyAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yZWZjb2x1 bW48L3JlcGxhY2VhYmxlPiApIF0gWyBNQVRDSCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+bWF0Y2h0eXBlPC9yZXBsYWNlYWJsZT4gXSBbIE9OIERFTEVURSA8cmVwbGFjZWFibGUgY2xh c3M9InBhcmFtZXRlciI+cmVmZXJlbnRpYWxfYWN0aW9uPC9yZXBsYWNlYWJsZT4gXSBbIE9OIFVQ REFURSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVmZXJlbnRpYWxfYWN0aW9uPC9y ZXBsYWNlYWJsZT4gXTwvbGl0ZXJhbD4gKGNvbHVtbiBjb25zdHJhaW50KTwvdGVybT4KIAotICAg PHRlcm0+PGxpdGVyYWw+Rk9SRUlHTiBLRVkgKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSBbLCBQRVJJT0QgPHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT4gXSApCi0gICAg UkVGRVJFTkNFUyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVmdGFibGU8L3JlcGxh Y2VhYmxlPiBbICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJlZmNvbHVtbjwvcmVw bGFjZWFibGU+IFssIC4uLiBdIFssIFBFUklPRCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+cmVmY29sdW1uPC9yZXBsYWNlYWJsZT4gXSApIF0KKyAgIDx0ZXJtPjxsaXRlcmFsPkZPUkVJ R04gS0VZICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9uYW1lPC9yZXBs YWNlYWJsZT4gWywgLi4uIF0gWywgUEVSSU9EIHsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPmNvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT4gfCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+cGVyaW9kX25hbWU8L3JlcGxhY2VhYmxlPiB9IF0gKQorICAgIFJFRkVSRU5DRVMgPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJlZnRhYmxlPC9yZXBsYWNlYWJsZT4gWyAoIDxy ZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yZWZjb2x1bW48L3JlcGxhY2VhYmxlPiBbLCAu Li4gXSBbLCBQRVJJT0QgeyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVmY29sdW1u PC9yZXBsYWNlYWJsZT4gfCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGVyaW9kX25h bWU8L3JlcGxhY2VhYmxlPiB9IF0gKSBdCiAgICAgWyBNQVRDSCA8cmVwbGFjZWFibGUgY2xhc3M9 InBhcmFtZXRlciI+bWF0Y2h0eXBlPC9yZXBsYWNlYWJsZT4gXQogICAgIFsgT04gREVMRVRFIDxy ZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yZWZlcmVudGlhbF9hY3Rpb248L3JlcGxhY2Vh YmxlPiBdCiAgICAgWyBPTiBVUERBVEUgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJl ZmVyZW50aWFsX2FjdGlvbjwvcmVwbGFjZWFibGU+IF08L2xpdGVyYWw+CkBAIC0xMjA1LDcgKzEy NTIsNyBAQCBXSVRIICggTU9EVUxVUyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bnVt ZXJpY19saXRlcmFsPC9yZXBsYWNlYWJsZT4sIFJFTQogICAgICA8L3BhcmE+CiAKICAgICAgPHBh cmE+Ci0gICAgICBJZiB0aGUgbGFzdCBjb2x1bW4gaXMgbWFya2VkIHdpdGggPGxpdGVyYWw+UEVS SU9EPC9saXRlcmFsPiwgaXQgaXMKKyAgICAgIElmIHRoZSBsYXN0IGtleSBwYXJ0IGlzIG1hcmtl ZCB3aXRoIDxsaXRlcmFsPlBFUklPRDwvbGl0ZXJhbD4sIGl0IGlzCiAgICAgICB0cmVhdGVkIGlu IGEgc3BlY2lhbCB3YXkuICBXaGlsZSB0aGUgbm9uLTxsaXRlcmFsPlBFUklPRDwvbGl0ZXJhbD4K ICAgICAgIGNvbHVtbnMgYXJlIGNvbXBhcmVkIGZvciBlcXVhbGl0eSAoYW5kIHRoZXJlIG11c3Qg YmUgYXQgbGVhc3Qgb25lIG9mCiAgICAgICB0aGVtKSwgdGhlIDxsaXRlcmFsPlBFUklPRDwvbGl0 ZXJhbD4gY29sdW1uIGlzIG5vdC4gIEluc3RlYWQsIHRoZQpAQCAtMTIxMyw4ICsxMjYwLDEwIEBA IFdJVEggKCBNT0RVTFVTIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5udW1lcmljX2xp dGVyYWw8L3JlcGxhY2VhYmxlPiwgUkVNCiAgICAgICByZWNvcmRzIChiYXNlZCBvbiB0aGUgbm9u LTxsaXRlcmFsPlBFUklPRDwvbGl0ZXJhbD4gcGFydHMgb2YgdGhlIGtleSkKICAgICAgIHdob3Nl IGNvbWJpbmVkIDxsaXRlcmFsPlBFUklPRDwvbGl0ZXJhbD4gdmFsdWVzIGNvbXBsZXRlbHkgY292 ZXIgdGhlCiAgICAgICByZWZlcmVuY2luZyByZWNvcmQncy4gIEluIG90aGVyIHdvcmRzLCB0aGUg cmVmZXJlbmNlIG11c3QgaGF2ZSBhCi0gICAgICByZWZlcmVudCBmb3IgaXRzIGVudGlyZSBkdXJh dGlvbi4gIFRoaXMgY29sdW1uIG11c3QgYmUgYSByYW5nZSBvcgotICAgICAgbXVsdGlyYW5nZSB0 eXBlLiAgSW4gYWRkaXRpb24sIHRoZSByZWZlcmVuY2VkIHRhYmxlIG11c3QgaGF2ZSBhIHByaW1h cnkKKyAgICAgIHJlZmVyZW50IGZvciBpdHMgZW50aXJlIGR1cmF0aW9uLiAgVGhpcyBwYXJ0IG11 c3QgYmUgZWl0aGVyIGEKKyAgICAgIDxsaW5rIGxpbmtlbmQ9InNxbC1jcmVhdGV0YWJsZS1wYXJt cy1wZXJpb2QiPjxsaXRlcmFsPlBFUklPRDwvbGl0ZXJhbD48L2xpbms+CisgICAgICBvciBhIGNv bHVtbiB3aXRoIGEgcmFuZ2Ugb3IgbXVsdGlyYW5nZSB0eXBlLgorICAgICAgSW4gYWRkaXRpb24s IHRoZSByZWZlcmVuY2VkIHRhYmxlIG11c3QgaGF2ZSBhIHByaW1hcnkKICAgICAgIGtleSBvciB1 bmlxdWUgY29uc3RyYWludCBkZWNsYXJlZCB3aXRoIDxsaXRlcmFsPldJVEhPVVQKICAgICAgIE9W RVJMQVBTPC9saXRlcmFsPi4gRmluYWxseSwgaWYgdGhlIGZvcmVpZ24ga2V5IGhhcyBhIFBFUklP RAogICAgICAgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9uYW1lPC9yZXBs YWNlYWJsZT4gc3BlY2lmaWNhdGlvbgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9kZWxl dGUuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvZGVsZXRlLnNnbWwKaW5kZXggOGRkNTFhYWNjZTIu LmY1NGE3OWQ3ZTQ2IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL2RlbGV0ZS5zZ21sCisr KyBiL2RvYy9zcmMvc2dtbC9yZWYvZGVsZXRlLnNnbWwKQEAgLTIzLDcgKzIzLDcgQEAgUG9zdGdy ZVNRTCBkb2N1bWVudGF0aW9uCiA8c3lub3BzaXM+CiBbIFdJVEggWyBSRUNVUlNJVkUgXSA8cmVw bGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+d2l0aF9xdWVyeTwvcmVwbGFjZWFibGU+IFssIC4u Ll0gXQogREVMRVRFIEZST00gWyBPTkxZIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi PnRhYmxlX25hbWU8L3JlcGxhY2VhYmxlPiBbICogXQotICAgIFsgRk9SIFBPUlRJT04gT0YgPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJhbmdlX25hbWU8L3JlcGxhY2VhYmxlPiA8cmVw bGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Zm9yX3BvcnRpb25fb2ZfdGFyZ2V0PC9yZXBsYWNl YWJsZT4gXQorICAgIFsgRk9SIFBPUlRJT04gT0YgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPnJhbmdlX29yX3BlcmlvZF9uYW1lPC9yZXBsYWNlYWJsZT4gPHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPmZvcl9wb3J0aW9uX29mX3RhcmdldDwvcmVwbGFjZWFibGU+IF0KICAgICBb IFsgQVMgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+YWxpYXM8L3JlcGxhY2VhYmxl PiBdCiAgICAgWyBVU0lORyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZnJvbV9pdGVt PC9yZXBsYWNlYWJsZT4gWywgLi4uXSBdCiAgICAgWyBXSEVSRSA8cmVwbGFjZWFibGUgY2xhc3M9 InBhcmFtZXRlciI+Y29uZGl0aW9uPC9yZXBsYWNlYWJsZT4gfCBXSEVSRSBDVVJSRU5UIE9GIDxy ZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jdXJzb3JfbmFtZTwvcmVwbGFjZWFibGU+IF0K QEAgLTU4LDcgKzU4LDggQEAgREVMRVRFIEZST00gWyBPTkxZIF0gPHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPnRhYmxlX25hbWU8L3JlcGxhY2VhYmxlPiBbICoKICAgPC9wYXJhPgogCiAg IDxwYXJhPgotICAgSWYgdGhlIHRhYmxlIGhhcyBhIHJhbmdlIG9yIG11bHRpcmFuZ2UgY29sdW1u LAorICAgSWYgdGhlIHRhYmxlIGhhcyBhIHJhbmdlIG9yIG11bHRpcmFuZ2UgY29sdW1uLCBvciBh CisgICA8bGluayBsaW5rZW5kPSJkZGwtcGVyaW9kcyI+PGxpdGVyYWw+UEVSSU9EPC9saXRlcmFs PjwvbGluaz4sCiAgICB5b3UgbWF5IHN1cHBseSBhIDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9s aXRlcmFsPiBjbGF1c2UsIGFuZCB0aGUgZGVsZXRlIHdpbGwKICAgIG9ubHkgYWZmZWN0IHJvd3Mg dGhhdCBvdmVybGFwIHRoZSBnaXZlbiBpbnRlcnZhbC4gRnVydGhlcm1vcmUsIGlmIGEgcm93J3Mg aGlzdG9yeQogICAgZXh0ZW5kcyBvdXRzaWRlIHRoZSA8bGl0ZXJhbD5GT1IgUE9SVElPTiBPRjwv bGl0ZXJhbD4gYm91bmRzLCB0aGVuIHRoZSBkZWxldGUKQEAgLTcyLDcgKzczLDggQEAgREVMRVRF IEZST00gWyBPTkxZIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxlX25hbWU8 L3JlcGxhY2VhYmxlPiBbICoKICAgIG5ldyA8Z2xvc3N0ZXJtIGxpbmtlbmQ9Imdsb3NzYXJ5LXRl bXBvcmFsLWxlZnRvdmVycyI+dGVtcG9yYWwgbGVmdG92ZXJzPC9nbG9zc3Rlcm0+OgogICAgcm93 cyB3aG9zZSByYW5nZSBvciBtdWx0aXJhbmdlIHJlY2VpdmVzIHRoZSByZW1haW5pbmcgaGlzdG9y eSBvdXRzaWRlCiAgICB0aGUgdGFyZ2V0ZWQgPGxpdGVyYWw+RlJPTTwvbGl0ZXJhbD4vPGxpdGVy YWw+VE88L2xpdGVyYWw+IGJvdW5kcywgd2l0aCB0aGUKLSAgIG9yaWdpbmFsIHZhbHVlcyBpbiB0 aGVpciBvdGhlciBjb2x1bW5zLiBGb3IgcmFuZ2UgY29sdW1ucywgdGhlcmUgd2lsbCBiZSB6ZXJv CisgICBvcmlnaW5hbCB2YWx1ZXMgaW4gdGhlaXIgb3RoZXIgY29sdW1ucy4gRm9yIHJhbmdlIGNv bHVtbnMgYW5kCisgICA8bGl0ZXJhbD5QRVJJT0Q8L2xpdGVyYWw+cywgdGhlcmUgd2lsbCBiZSB6 ZXJvCiAgICB0byB0d28gaW5zZXJ0ZWQgcmVjb3JkcywgZGVwZW5kaW5nIG9uIHdoZXRoZXIgdGhl IG9yaWdpbmFsIGhpc3Rvcnkgd2FzCiAgICBjb21wbGV0ZWx5IGRlbGV0ZWQsIGV4dGVuZGVkIGJl Zm9yZS9hZnRlciB0aGUgY2hhbmdlLCBvciBib3RoLiBGb3IKICAgIGluc3RhbmNlIGdpdmVuIGFu IG9yaWdpbmFsIHJhbmdlIG9mIDxsaXRlcmFsPlsyLDYpPC9saXRlcmFsPiwgYSBkZWxldGUgb2YK QEAgLTE2MiwxMCArMTY0LDEwIEBAIERFTEVURSBGUk9NIFsgT05MWSBdIDxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj50YWJsZV9uYW1lPC9yZXBsYWNlYWJsZT4gWyAqCiAgICA8L3Zhcmxp c3RlbnRyeT4KIAogICAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48cmVwbGFjZWFibGUgY2xh c3M9InBhcmFtZXRlciI+cmFuZ2VfbmFtZTwvcmVwbGFjZWFibGU+PC90ZXJtPgorICAgIDx0ZXJt PjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yYW5nZV9vcl9wZXJpb2RfbmFtZTwvcmVw bGFjZWFibGU+PC90ZXJtPgogICAgIDxsaXN0aXRlbT4KICAgICAgPHBhcmE+Ci0gICAgICBUaGUg cmFuZ2Ugb3IgbXVsdGlyYW5nZSBjb2x1bW4gdG8gdXNlIHdoZW4gcGVyZm9ybWluZyBhIHRlbXBv cmFsIGRlbGV0ZS4KKyAgICAgIFRoZSByYW5nZSBvciBtdWx0aXJhbmdlIGNvbHVtbiBvciBwZXJp b2QgdG8gdXNlIHdoZW4gcGVyZm9ybWluZyBhIHRlbXBvcmFsIGRlbGV0ZS4KICAgICAgPC9wYXJh PgogICAgIDwvbGlzdGl0ZW0+CiAgICA8L3Zhcmxpc3RlbnRyeT4KQEAgLTE3NCwxNCArMTc2LDE0 IEBAIERFTEVURSBGUk9NIFsgT05MWSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50 YWJsZV9uYW1lPC9yZXBsYWNlYWJsZT4gWyAqCiAgICAgPHRlcm0+PHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPmZvcl9wb3J0aW9uX29mX3RhcmdldDwvcmVwbGFjZWFibGU+PC90ZXJtPgog ICAgIDxsaXN0aXRlbT4KICAgICAgPHBhcmE+Ci0gICAgICBUaGUgaW50ZXJ2YWwgdG8gZGVsZXRl LiBJZiB5b3UgYXJlIHRhcmdldGluZyBhIHJhbmdlIGNvbHVtbiwKKyAgICAgIFRoZSBpbnRlcnZh bCB0byBkZWxldGUuIElmIHlvdSBhcmUgdGFyZ2V0aW5nIGEgcmFuZ2UgY29sdW1uIG9yIDxsaXRl cmFsPlBFUklPRDwvbGl0ZXJhbD4sCiAgICAgICB5b3UgbWF5IGdpdmUgdGhpcyBpbiB0aGUgZm9y bSA8bGl0ZXJhbD5GUk9NPC9saXRlcmFsPgogICAgICAgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPnN0YXJ0X3RpbWU8L3JlcGxhY2VhYmxlPiA8bGl0ZXJhbD5UTzwvbGl0ZXJhbD4KICAg ICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5lbmRfdGltZTwvcmVwbGFjZWFibGU+ LgogICAgICAgT3RoZXJ3aXNlIHlvdSBtdXN0IHVzZQogICAgICAgPGxpdGVyYWw+KDwvbGl0ZXJh bD48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZXhwcmVzc2lvbjwvcmVwbGFjZWFibGU+ PGxpdGVyYWw+KTwvbGl0ZXJhbD4KICAgICAgIHdoZXJlIHRoZSBleHByZXNzaW9uIHlpZWxkcyBh IHZhbHVlIG9mIHRoZSBzYW1lIHR5cGUgYXMKLSAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFy YW1ldGVyIj5yYW5nZV9uYW1lPC9yZXBsYWNlYWJsZT4uCisgICAgICA8cmVwbGFjZWFibGUgY2xh c3M9InBhcmFtZXRlciI+cmFuZ2Vfb3JfcGVyaW9kX25hbWU8L3JlcGxhY2VhYmxlPi4KICAgICAg PC9wYXJhPgogICAgIDwvbGlzdGl0ZW0+CiAgICA8L3Zhcmxpc3RlbnRyeT4KQEAgLTE5MSw4ICsx OTMsOCBAQCBERUxFVEUgRlJPTSBbIE9OTFkgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+dGFibGVfbmFtZTwvcmVwbGFjZWFibGU+IFsgKgogICAgIDxsaXN0aXRlbT4KICAgICAgPHBh cmE+CiAgICAgICBUaGUgZWFybGllc3QgdGltZSAoaW5jbHVzaXZlKSB0byBjaGFuZ2UgaW4gYSB0 ZW1wb3JhbCBkZWxldGUuCi0gICAgICBUaGlzIG11c3QgYmUgYSB2YWx1ZSBtYXRjaGluZyB0aGUg YmFzZSB0eXBlIG9mIHRoZSByYW5nZSBmcm9tCi0gICAgICA8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+cmFuZ2VfbmFtZTwvcmVwbGFjZWFibGU+LiBBCisgICAgICBUaGlzIG11c3QgYmUg YSB2YWx1ZSBtYXRjaGluZyB0aGUgYmFzZSB0eXBlIG9mIHRoZSByYW5nZSBvciBwZXJpb2QgZnJv bQorICAgICAgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJhbmdlX29yX3BlcmlvZF9u YW1lPC9yZXBsYWNlYWJsZT4uIEEKICAgICAgIDxsaXRlcmFsPk5VTEw8L2xpdGVyYWw+IGhlcmUg aW5kaWNhdGVzIGEgZGVsZXRlIHdob3NlIGJlZ2lubmluZyBpcwogICAgICAgdW5ib3VuZGVkIChh cyB3aXRoIHJhbmdlIHR5cGVzKS4KICAgICAgPC9wYXJhPgpAQCAtMjA0LDggKzIwNiw4IEBAIERF TEVURSBGUk9NIFsgT05MWSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50YWJsZV9u YW1lPC9yZXBsYWNlYWJsZT4gWyAqCiAgICAgPGxpc3RpdGVtPgogICAgICA8cGFyYT4KICAgICAg IFRoZSBsYXRlc3QgdGltZSAoZXhjbHVzaXZlKSB0byBjaGFuZ2UgaW4gYSB0ZW1wb3JhbCBkZWxl dGUuCi0gICAgICBUaGlzIG11c3QgYmUgYSB2YWx1ZSBtYXRjaGluZyB0aGUgYmFzZSB0eXBlIG9m IHRoZSByYW5nZSBmcm9tCi0gICAgICA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmFu Z2VfbmFtZTwvcmVwbGFjZWFibGU+LiBBCisgICAgICBUaGlzIG11c3QgYmUgYSB2YWx1ZSBtYXRj aGluZyB0aGUgYmFzZSB0eXBlIG9mIHRoZSByYW5nZSBvciBwZXJpb2QgZnJvbQorICAgICAgPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJhbmdlX29yX3BlcmlvZF9uYW1lPC9yZXBsYWNl YWJsZT4uIEEKICAgICAgIDxsaXRlcmFsPk5VTEw8L2xpdGVyYWw+IGhlcmUgaW5kaWNhdGVzIGEg ZGVsZXRlIHdob3NlIGVuZCBpcyB1bmJvdW5kZWQKICAgICAgIChhcyB3aXRoIHJhbmdlIHR5cGVz KS4KICAgICAgPC9wYXJhPgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi91cGRhdGUuc2dt bCBiL2RvYy9zcmMvc2dtbC9yZWYvdXBkYXRlLnNnbWwKaW5kZXggYTE1ZjIxZGYxYjIuLjkyOTA3 YWE0ZjY3IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL3VwZGF0ZS5zZ21sCisrKyBiL2Rv Yy9zcmMvc2dtbC9yZWYvdXBkYXRlLnNnbWwKQEAgLTIzLDcgKzIzLDcgQEAgUG9zdGdyZVNRTCBk b2N1bWVudGF0aW9uCiA8c3lub3BzaXM+CiBbIFdJVEggWyBSRUNVUlNJVkUgXSA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+d2l0aF9xdWVyeTwvcmVwbGFjZWFibGU+IFssIC4uLl0gXQog VVBEQVRFIFsgT05MWSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50YWJsZV9uYW1l PC9yZXBsYWNlYWJsZT4gWyAqIF0KLSAgICBbIEZPUiBQT1JUSU9OIE9GIDxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj5yYW5nZV9uYW1lPC9yZXBsYWNlYWJsZT4gPHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPmZvcl9wb3J0aW9uX29mX3RhcmdldDwvcmVwbGFjZWFibGU+IF0KKyAg ICBbIEZPUiBQT1JUSU9OIE9GIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yYW5nZV9v cl9wZXJpb2RfbmFtZTwvcmVwbGFjZWFibGU+IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij5mb3JfcG9ydGlvbl9vZl90YXJnZXQ8L3JlcGxhY2VhYmxlPiBdCiAgICAgWyBbIEFTIF0gPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmFsaWFzPC9yZXBsYWNlYWJsZT4gXQogICAgIFNF VCB7IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFi bGU+ID0geyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZXhwcmVzc2lvbjwvcmVwbGFj ZWFibGU+IHwgREVGQVVMVCB9IHwKICAgICAgICAgICAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFy YW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IFssIC4uLl0gKSA9IFsgUk9XIF0gKCB7 IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5leHByZXNzaW9uPC9yZXBsYWNlYWJsZT4g fCBERUZBVUxUIH0gWywgLi4uXSApIHwKQEAgLTU1LDcgKzU1LDggQEAgVVBEQVRFIFsgT05MWSBd IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50YWJsZV9uYW1lPC9yZXBsYWNlYWJsZT4g WyAqIF0KICAgPC9wYXJhPgogCiAgIDxwYXJhPgotICAgSWYgdGhlIHRhYmxlIGhhcyBhIHJhbmdl IG9yIG11bHRpcmFuZ2UgY29sdW1uLAorICAgSWYgdGhlIHRhYmxlIGhhcyBhIHJhbmdlIG9yIG11 bHRpcmFuZ2UgY29sdW1uLCBvciBhCisgICA8bGluayBsaW5rZW5kPSJkZGwtcGVyaW9kcyI+PGxp dGVyYWw+UEVSSU9EPC9saXRlcmFsPjwvbGluaz4sCiAgICB5b3UgbWF5IHN1cHBseSBhIDxsaXRl cmFsPkZPUiBQT1JUSU9OIE9GPC9saXRlcmFsPiBjbGF1c2UsIGFuZCB0aGUgdXBkYXRlIHdpbGwK ICAgIG9ubHkgYWZmZWN0IHJvd3MgdGhhdCBvdmVybGFwIHRoZSBnaXZlbiBpbnRlcnZhbC4gRnVy dGhlcm1vcmUsIGlmIGEgcm93J3MgaGlzdG9yeQogICAgZXh0ZW5kcyBvdXRzaWRlIHRoZSA8bGl0 ZXJhbD5GT1IgUE9SVElPTiBPRjwvbGl0ZXJhbD4gYm91bmRzLCB0aGVuIHRoZSB1cGRhdGUKQEAg LTcxLDcgKzcyLDggQEAgVVBEQVRFIFsgT05MWSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1l dGVyIj50YWJsZV9uYW1lPC9yZXBsYWNlYWJsZT4gWyAqIF0KICAgIG5ldyA8Z2xvc3N0ZXJtIGxp bmtlbmQ9Imdsb3NzYXJ5LXRlbXBvcmFsLWxlZnRvdmVycyI+dGVtcG9yYWwgbGVmdG92ZXJzPC9n bG9zc3Rlcm0+OgogICAgcm93cyB3aG9zZSByYW5nZSBvciBtdWx0aXJhbmdlIHJlY2VpdmVzIHRo ZSByZW1haW5pbmcgaGlzdG9yeSBvdXRzaWRlCiAgICB0aGUgdGFyZ2V0ZWQgPGxpdGVyYWw+RlJP TTwvbGl0ZXJhbD4vPGxpdGVyYWw+VE88L2xpdGVyYWw+IGJvdW5kcywgd2l0aCB0aGUKLSAgIG9y aWdpbmFsIHZhbHVlcyBpbiB0aGVpciBvdGhlciBjb2x1bW5zLiBGb3IgcmFuZ2UgY29sdW1ucywg dGhlcmUgd2lsbCBiZSB6ZXJvCisgICBvcmlnaW5hbCB2YWx1ZXMgaW4gdGhlaXIgb3RoZXIgY29s dW1ucy4gRm9yIHJhbmdlIGNvbHVtbnMgYW5kCisgICA8bGl0ZXJhbD5QRVJJT0Q8L2xpdGVyYWw+ cywgdGhlcmUgd2lsbCBiZSB6ZXJvCiAgICB0byB0d28gaW5zZXJ0ZWQgcmVjb3JkcywgZGVwZW5k aW5nIG9uIHdoZXRoZXIgdGhlIG9yaWdpbmFsIGhpc3Rvcnkgd2FzCiAgICBjb21wbGV0ZWx5IHVw ZGF0ZWQsIGV4dGVuZGVkIGJlZm9yZS9hZnRlciB0aGUgY2hhbmdlLCBvciBib3RoLiBGb3IKICAg IGluc3RhbmNlIGdpdmVuIGFuIG9yaWdpbmFsIHJhbmdlIG9mIDxsaXRlcmFsPlsyLDYpPC9saXRl cmFsPiwgYW4gdXBkYXRlIG9mCkBAIC0xNjMsMTAgKzE2NSwxMCBAQCBVUERBVEUgWyBPTkxZIF0g PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxlX25hbWU8L3JlcGxhY2VhYmxlPiBb ICogXQogICAgPC92YXJsaXN0ZW50cnk+CiAKICAgIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+ PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJhbmdlX25hbWU8L3JlcGxhY2VhYmxlPjwv dGVybT4KKyAgICA8dGVybT48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmFuZ2Vfb3Jf cGVyaW9kX25hbWU8L3JlcGxhY2VhYmxlPjwvdGVybT4KICAgICA8bGlzdGl0ZW0+CiAgICAgIDxw YXJhPgotICAgICAgVGhlIHJhbmdlIG9yIG11bHRpcmFuZ2UgY29sdW1uIHRvIHVzZSB3aGVuIHBl cmZvcm1pbmcgYSB0ZW1wb3JhbCB1cGRhdGUuCisgICAgICBUaGUgcmFuZ2Ugb3IgbXVsdGlyYW5n ZSBjb2x1bW4gb3IgcGVyaW9kIHRvIHVzZSB3aGVuIHBlcmZvcm1pbmcgYSB0ZW1wb3JhbCB1cGRh dGUuCiAgICAgIDwvcGFyYT4KICAgICA8L2xpc3RpdGVtPgogICAgPC92YXJsaXN0ZW50cnk+CkBA IC0xNzUsMTQgKzE3NywxNCBAQCBVUERBVEUgWyBPTkxZIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPnRhYmxlX25hbWU8L3JlcGxhY2VhYmxlPiBbICogXQogICAgIDx0ZXJtPjxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5mb3JfcG9ydGlvbl9vZl90YXJnZXQ8L3JlcGxhY2Vh YmxlPjwvdGVybT4KICAgICA8bGlzdGl0ZW0+CiAgICAgIDxwYXJhPgotICAgICAgVGhlIGludGVy dmFsIHRvIHVwZGF0ZS4gSWYgeW91IGFyZSB0YXJnZXRpbmcgYSByYW5nZSBjb2x1bW4sCisgICAg ICBUaGUgaW50ZXJ2YWwgdG8gdXBkYXRlLiBJZiB5b3UgYXJlIHRhcmdldGluZyBhIHJhbmdlIGNv bHVtbiBvciA8bGl0ZXJhbD5QRVJJT0Q8L2xpdGVyYWw+LAogICAgICAgeW91IG1heSBnaXZlIHRo aXMgaW4gdGhlIGZvcm0gPGxpdGVyYWw+RlJPTTwvbGl0ZXJhbD4KICAgICAgIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5zdGFydF90aW1lPC9yZXBsYWNlYWJsZT4gPGxpdGVyYWw+VE88 L2xpdGVyYWw+CiAgICAgICA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZW5kX3RpbWU8 L3JlcGxhY2VhYmxlPi4KICAgICAgIE90aGVyd2lzZSB5b3UgbXVzdCB1c2UKICAgICAgIDxsaXRl cmFsPig8L2xpdGVyYWw+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmV4cHJlc3Npb248 L3JlcGxhY2VhYmxlPjxsaXRlcmFsPik8L2xpdGVyYWw+CiAgICAgICB3aGVyZSB0aGUgZXhwcmVz c2lvbiB5aWVsZHMgYSB2YWx1ZSBvZiB0aGUgc2FtZSB0eXBlIGFzCi0gICAgICA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+cmFuZ2VfbmFtZTwvcmVwbGFjZWFibGU+LgorICAgICAgPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJhbmdlX29yX3BlcmlvZF9uYW1lPC9yZXBsYWNl YWJsZT4uCiAgICAgIDwvcGFyYT4KICAgICA8L2xpc3RpdGVtPgogICAgPC92YXJsaXN0ZW50cnk+ CkBAIC0xOTIsOCArMTk0LDggQEAgVVBEQVRFIFsgT05MWSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj50YWJsZV9uYW1lPC9yZXBsYWNlYWJsZT4gWyAqIF0KICAgICA8bGlzdGl0ZW0+ CiAgICAgIDxwYXJhPgogICAgICAgVGhlIGVhcmxpZXN0IHRpbWUgKGluY2x1c2l2ZSkgdG8gY2hh bmdlIGluIGEgdGVtcG9yYWwgdXBkYXRlLgotICAgICAgVGhpcyBtdXN0IGJlIGEgdmFsdWUgbWF0 Y2hpbmcgdGhlIGJhc2UgdHlwZSBvZiB0aGUgcmFuZ2UgZnJvbQotICAgICAgPHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPnJhbmdlX25hbWU8L3JlcGxhY2VhYmxlPi4gQQorICAgICAgVGhp cyBtdXN0IGJlIGEgdmFsdWUgbWF0Y2hpbmcgdGhlIGJhc2UgdHlwZSBvZiB0aGUgcmFuZ2Ugb3Ig cGVyaW9kIGZyb20KKyAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yYW5nZV9v cl9wZXJpb2RfbmFtZTwvcmVwbGFjZWFibGU+LiBBCiAgICAgICA8bGl0ZXJhbD5OVUxMPC9saXRl cmFsPiBoZXJlIGluZGljYXRlcyBhbiB1cGRhdGUgd2hvc2UgYmVnaW5uaW5nIGlzCiAgICAgICB1 bmJvdW5kZWQgKGFzIHdpdGggcmFuZ2UgdHlwZXMpLgogICAgICA8L3BhcmE+CkBAIC0yMDUsOCAr MjA3LDggQEAgVVBEQVRFIFsgT05MWSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50 YWJsZV9uYW1lPC9yZXBsYWNlYWJsZT4gWyAqIF0KICAgICA8bGlzdGl0ZW0+CiAgICAgIDxwYXJh PgogICAgICAgVGhlIGxhdGVzdCB0aW1lIChleGNsdXNpdmUpIHRvIGNoYW5nZSBpbiBhIHRlbXBv cmFsIHVwZGF0ZS4KLSAgICAgIFRoaXMgbXVzdCBiZSBhIHZhbHVlIG1hdGNoaW5nIHRoZSBiYXNl IHR5cGUgb2YgdGhlIHJhbmdlIGZyb20KLSAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1l dGVyIj5yYW5nZV9uYW1lPC9yZXBsYWNlYWJsZT4uIEEKKyAgICAgIFRoaXMgbXVzdCBiZSBhIHZh bHVlIG1hdGNoaW5nIHRoZSBiYXNlIHR5cGUgb2YgdGhlIHJhbmdlIG9yIHBlcmlvZCBmcm9tCisg ICAgICA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmFuZ2Vfb3JfcGVyaW9kX25hbWU8 L3JlcGxhY2VhYmxlPi4gQQogICAgICAgPGxpdGVyYWw+TlVMTDwvbGl0ZXJhbD4gaGVyZSBpbmRp Y2F0ZXMgYW4gdXBkYXRlIHdob3NlIGVuZCBpcyB1bmJvdW5kZWQKICAgICAgIChhcyB3aXRoIHJh bmdlIHR5cGVzKS4KICAgICAgPC9wYXJhPgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3RyaWdn ZXIuc2dtbCBiL2RvYy9zcmMvc2dtbC90cmlnZ2VyLnNnbWwKaW5kZXggY2ZjMDg0YjM0YzYuLjcy Zjc5MThkY2MxIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvdHJpZ2dlci5zZ21sCisrKyBiL2Rv Yy9zcmMvc2dtbC90cmlnZ2VyLnNnbWwKQEAgLTg2MCwxNiArODYwLDIxIEBAIHR5cGVkZWYgc3Ry dWN0IEZvclBvcnRpb25PZlN0YXRlCiAKICAgICBjaGFyICAgICAgICpmcF9yYW5nZU5hbWU7ICAg LyogdGhlIGNvbHVtbiBuYW1lZCBpbiBGT1IgUE9SVElPTiBPRiAqLwogICAgIE9pZCAgICAgICAg IGZwX3JhbmdlVHlwZTsgICAvKiB0aGUgdHlwZSBvZiB0aGUgRk9SIFBPUlRJT04gT0YgZXhwcmVz c2lvbiAqLwotICAgIGludCAgICAgICAgIGZwX3JhbmdlQXR0bm87ICAvKiB0aGUgYXR0bm8gb2Yg dGhlIHJhbmdlIGNvbHVtbiAqLworICAgIGludCAgICAgICAgIGZwX3JhbmdlQXR0bm87ICAvKiB0 aGUgYXR0bm8gb2YgdGhlIHJhbmdlIGNvbHVtbiAob3IgMCBmb3IgYSBQRVJJT0QpICovCisgICAg aW50ICAgICAgICAgZnBfcGVyaW9kU3RhcnRBdHRubzsgICAgLyogdGhlIGF0dG5vIG9mIHRoZSBQ RVJJT0Qgc3RhcnQgY29sdW1uIChvciAwIGZvciBhIHJhbmdlKSAqLworICAgIGludCAgICAgICAg IGZwX3BlcmlvZEVuZEF0dG5vOyAgICAgIC8qIHRoZSBhdHRubyBvZiB0aGUgUEVSSU9EIGVuZCBj b2x1bW4gKG9yIDAgZm9yIGEgcmFuZ2UpICovCiAgICAgRGF0dW0gICAgICAgZnBfdGFyZ2V0UmFu Z2U7IC8qIHRoZSByYW5nZS9tdWx0aXJhbmdlIGZyb20gRk9SIFBPUlRJT04gT0YgKi8KICAgICBU eXBlQ2FjaGVFbnRyeSAqZnBfbGVmdG92ZXJzdHlwY2FjaGU7ICAgLyogdHlwZSBjYWNoZSBlbnRy eSBvZiB0aGUgcmFuZ2UgKi8KIH0gRm9yUG9ydGlvbk9mU3RhdGU7CiA8L3Byb2dyYW1saXN0aW5n PgogCi0gICAgICAgd2hlcmUgPHN0cnVjdGZpZWxkPmZwX3JhbmdlTmFtZTwvc3RydWN0ZmllbGQ+ IGlzIHRoZSByYW5nZQorICAgICAgIHdoZXJlIDxzdHJ1Y3RmaWVsZD5mcF9yYW5nZU5hbWU8L3N0 cnVjdGZpZWxkPiBpcyB0aGUgcGVyaW9kIG9yIHJhbmdlCiAgICAgICAgY29sdW1uIG5hbWVkIGlu IHRoZSA8bGl0ZXJhbD5GT1IgUE9SVElPTiBPRjwvbGl0ZXJhbD4gY2xhdXNlLAogICAgICAgIDxz dHJ1Y3RmaWVsZD5mcF9yYW5nZVR5cGU8L3N0cnVjdGZpZWxkPiBpcyBpdHMgcmFuZ2UgdHlwZSwK ICAgICAgICA8c3RydWN0ZmllbGQ+ZnBfcmFuZ2VBdHRubzwvc3RydWN0ZmllbGQ+IGlzIGl0cyBh dHRyaWJ1dGUgbnVtYmVyLAorICAgICAgIDxzdHJ1Y3RmaWVsZD5mcF9wZXJpb2RTdGFydEF0dG5v PC9zdHJ1Y3RmaWVsZD4gYW5kCisgICAgICAgPHN0cnVjdGZpZWxkPmZwX3BlcmlvZEVuZEF0dG5v PC9zdHJ1Y3RmaWVsZD4gYXJlIHRoZSBhdHRub3Mgb2YgdGhlIHBlcmlvZCdzCisgICAgICAgc3Rh cnQgYW5kIGVuZCBjb2x1bW5zIChvciA8c3ltYm9sPjA8L3N5bWJvbD4gaWYgYSByYW5nZSBjb2x1 bW4gd2FzIHVzZWQpLAogICAgICAgIGFuZCA8c3RydWN0ZmllbGQ+ZnBfdGFyZ2V0UmFuZ2U8L3N0 cnVjdGZpZWxkPiBpcyBhIHJhbmdldHlwZSB2YWx1ZSBjcmVhdGVkCiAgICAgICAgYnkgZXZhbHVh dGluZyB0aGUgPGxpdGVyYWw+Rk9SIFBPUlRJT04gT0Y8L2xpdGVyYWw+IGJvdW5kcy4KICAgICAg ICA8L3BhcmE+CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL01ha2VmaWxlIGIvc3Jj L2JhY2tlbmQvY2F0YWxvZy9NYWtlZmlsZQppbmRleCA4ZTQwZTFiODE4OS4uMDkyYWEwOTE3Nzcg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvTWFrZWZpbGUKKysrIGIvc3JjL2JhY2tl bmQvY2F0YWxvZy9NYWtlZmlsZQpAQCAtMzksNiArMzksNyBAQCBPQkpTID0gXAogCXBnX25hbWVz cGFjZS5vIFwKIAlwZ19vcGVyYXRvci5vIFwKIAlwZ19wYXJhbWV0ZXJfYWNsLm8gXAorCXBnX3Bl cmlvZC5vIFwKIAlwZ19wcm9jLm8gXAogCXBnX3B1YmxpY2F0aW9uLm8gXAogCXBnX3JhbmdlLm8g XApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9hY2xjaGsuYyBiL3NyYy9iYWNrZW5k L2NhdGFsb2cvYWNsY2hrLmMKaW5kZXggY2QxMzliZDY1YTYuLjhkMDA2YTgzMGQ2IDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL2FjbGNoay5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFs b2cvYWNsY2hrLmMKQEAgLTI3NzQsNiArMjc3NCw3IEBAIGFjbGNoZWNrX2Vycm9yKEFjbFJlc3Vs dCBhY2xlcnIsIE9iamVjdFR5cGUgb2JqdHlwZSwKIAkJCQkJY2FzZSBPQkpFQ1RfREVGQVVMVDoK IAkJCQkJY2FzZSBPQkpFQ1RfREVGQUNMOgogCQkJCQljYXNlIE9CSkVDVF9ET01DT05TVFJBSU5U OgorCQkJCQljYXNlIE9CSkVDVF9QRVJJT0Q6CiAJCQkJCWNhc2UgT0JKRUNUX1BVQkxJQ0FUSU9O X05BTUVTUEFDRToKIAkJCQkJY2FzZSBPQkpFQ1RfUFVCTElDQVRJT05fUkVMOgogCQkJCQljYXNl IE9CSkVDVF9ST0xFOgpAQCAtMjkxNSw2ICsyOTE2LDcgQEAgYWNsY2hlY2tfZXJyb3IoQWNsUmVz dWx0IGFjbGVyciwgT2JqZWN0VHlwZSBvYmp0eXBlLAogCQkJCQljYXNlIE9CSkVDVF9ERUZBQ0w6 CiAJCQkJCWNhc2UgT0JKRUNUX0RPTUNPTlNUUkFJTlQ6CiAJCQkJCWNhc2UgT0JKRUNUX1BBUkFN RVRFUl9BQ0w6CisJCQkJCWNhc2UgT0JKRUNUX1BFUklPRDoKIAkJCQkJY2FzZSBPQkpFQ1RfUFVC TElDQVRJT05fTkFNRVNQQUNFOgogCQkJCQljYXNlIE9CSkVDVF9QVUJMSUNBVElPTl9SRUw6CiAJ CQkJCWNhc2UgT0JKRUNUX1JPTEU6CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL2Rl cGVuZGVuY3kuYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5kZW5jeS5jCmluZGV4IDdkZGVk NjM0ZWI4Li4wMTExZGY2MDgxZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9kZXBl bmRlbmN5LmMKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9kZXBlbmRlbmN5LmMKQEAgLTQ4LDYg KzQ4LDcgQEAKICNpbmNsdWRlICJjYXRhbG9nL3BnX29wZXJhdG9yLmgiCiAjaW5jbHVkZSAiY2F0 YWxvZy9wZ19vcGZhbWlseS5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfcGFyYW1ldGVyX2FjbC5o IgorI2luY2x1ZGUgImNhdGFsb2cvcGdfcGVyaW9kLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19w b2xpY3kuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3Byb2MuaCIKICNpbmNsdWRlICJjYXRhbG9n L3BnX3B1YmxpY2F0aW9uLmgiCkBAIC02MjIsNiArNjIzLDE0IEBAIGZpbmREZXBlbmRlbnRPYmpl Y3RzKGNvbnN0IE9iamVjdEFkZHJlc3MgKm9iamVjdCwKIAkJCQkJCXJldHVybjsKIAkJCQkJfQog CisJCQkJCS8qCisJCQkJCSAqIElmIGEgdGFibGUgYXR0cmlidXRlIGlzIGFuIGludGVybmFsIHBh cnQgb2Ygc29tZXRoaW5nCisJCQkJCSAqIGVsc2UgKGUuZy4gdGhlIEdFTkVSQVRFRCBjb2x1bW4g dXNlZCBieSBhIFBFUklPRCksIGFuZAorCQkJCQkgKiB3ZSBhcmUgZGVsZXRpbmcgdGhlIHdob2xl IHRhYmxlLCB0aGVuIGl0J3Mgb2theS4KKwkJCQkJICovCisJCQkJCWlmIChmb3VuZERlcC0+b2Jq c3ViaWQgJiYgIW9iamVjdC0+b2JqZWN0U3ViSWQpCisJCQkJCQlicmVhazsKKwogCQkJCQkvKgog CQkJCQkgKiBXZSBwb3N0cG9uZSBhY3R1YWxseSBpc3N1aW5nIHRoZSBlcnJvciBtZXNzYWdlIHVu dGlsCiAJCQkJCSAqIGFmdGVyIHRoaXMgbG9vcCwgc28gdGhhdCB3ZSBjYW4gbWFrZSB0aGUgYmVo YXZpb3IKQEAgLTE0MDAsNiArMTQwOSwxMCBAQCBkb0RlbGV0aW9uKGNvbnN0IE9iamVjdEFkZHJl c3MgKm9iamVjdCwgaW50IGZsYWdzKQogCQkJUmVtb3ZlQXR0ckRlZmF1bHRCeUlkKG9iamVjdC0+ b2JqZWN0SWQpOwogCQkJYnJlYWs7CiAKKwkJY2FzZSBQZXJpb2RSZWxhdGlvbklkOgorCQkJUmVt b3ZlUGVyaW9kQnlJZChvYmplY3QtPm9iamVjdElkKTsKKwkJCWJyZWFrOworCiAJCWNhc2UgTGFy Z2VPYmplY3RSZWxhdGlvbklkOgogCQkJTGFyZ2VPYmplY3REcm9wKG9iamVjdC0+b2JqZWN0SWQp OwogCQkJYnJlYWs7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL2hlYXAuYyBiL3Ny Yy9iYWNrZW5kL2NhdGFsb2cvaGVhcC5jCmluZGV4IGZkNjUzNzU2N2VhLi45OWNkYTgwOWQwMiAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9oZWFwLmMKKysrIGIvc3JjL2JhY2tlbmQv Y2F0YWxvZy9oZWFwLmMKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNsdWRlICJjYXRhbG9nL3BnX25h bWVzcGFjZS5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfb3BjbGFzcy5oIgogI2luY2x1ZGUgImNh dGFsb2cvcGdfcGFydGl0aW9uZWRfdGFibGUuaCIKKyNpbmNsdWRlICJjYXRhbG9nL3BnX3Blcmlv ZC5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfc3RhdGlzdGljLmgiCiAjaW5jbHVkZSAiY2F0YWxv Zy9wZ19zdWJzY3JpcHRpb25fcmVsLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ190YWJsZXNwYWNl LmgiCkBAIC0yMTM1LDYgKzIxMzYsODAgQEAgU2V0QXR0ck1pc3NpbmcoT2lkIHJlbGlkLCBjaGFy ICphdHRuYW1lLCBjaGFyICp2YWx1ZSkKIAl0YWJsZV9jbG9zZSh0YWJsZXJlbCwgQWNjZXNzRXhj bHVzaXZlTG9jayk7CiB9CiAKKy8qCisgKiBTdG9yZSBhIHBlcmlvZCBvZiByZWxhdGlvbiByZWwu CisgKgorICogUmV0dXJucyB0aGUgT0lEIG9mIHRoZSBuZXcgcGdfcGVyaW9kIHR1cGxlLgorICov CitPaWQKK1N0b3JlUGVyaW9kKFJlbGF0aW9uIHJlbCwgY29uc3QgY2hhciAqcGVyaW9kbmFtZSwg QXR0ck51bWJlciBzdGFydG51bSwKKwkJCUF0dHJOdW1iZXIgZW5kbnVtLCBBdHRyTnVtYmVyIHJh bmdlbnVtLCBPaWQgY29ub2lkKQoreworCURhdHVtCQl2YWx1ZXNbTmF0dHNfcGdfcGVyaW9kXTsK Kwlib29sCQludWxsc1tOYXR0c19wZ19wZXJpb2RdOworCVJlbGF0aW9uCXBnX3BlcmlvZDsKKwlI ZWFwVHVwbGUJdHVwbGU7CisJT2lkCQkJb2lkOworCU5hbWVEYXRhCXBlcm5hbWU7CisJT2JqZWN0 QWRkcmVzcyBteXNlbGYsCisJCQkJcmVmZXJlbmNlZDsKKworCUFzc2VydChyYW5nZW51bSAhPSBJ bnZhbGlkQXR0ck51bWJlcik7CisKKwluYW1lc3RyY3B5KCZwZXJuYW1lLCBwZXJpb2RuYW1lKTsK KworCU1lbVNldCh2YWx1ZXMsIDAsIHNpemVvZih2YWx1ZXMpKTsKKwlNZW1TZXQobnVsbHMsIGZh bHNlLCBzaXplb2YobnVsbHMpKTsKKworCXBnX3BlcmlvZCA9IHRhYmxlX29wZW4oUGVyaW9kUmVs YXRpb25JZCwgUm93RXhjbHVzaXZlTG9jayk7CisKKwlvaWQgPSBHZXROZXdPaWRXaXRoSW5kZXgo cGdfcGVyaW9kLCBBdHRyRGVmYXVsdE9pZEluZGV4SWQsIEFudW1fcGdfcGVyaW9kX29pZCk7CisJ dmFsdWVzW0FudW1fcGdfcGVyaW9kX29pZCAtIDFdID0gT2JqZWN0SWRHZXREYXR1bShvaWQpOwor CXZhbHVlc1tBbnVtX3BnX3BlcmlvZF9wZXJuYW1lIC0gMV0gPSBOYW1lR2V0RGF0dW0oJnBlcm5h bWUpOworCXZhbHVlc1tBbnVtX3BnX3BlcmlvZF9wZXJyZWxpZCAtIDFdID0gUmVsYXRpb25HZXRS ZWxpZChyZWwpOworCXZhbHVlc1tBbnVtX3BnX3BlcmlvZF9wZXJzdGFydCAtIDFdID0gc3RhcnRu dW07CisJdmFsdWVzW0FudW1fcGdfcGVyaW9kX3BlcmVuZCAtIDFdID0gZW5kbnVtOworCXZhbHVl c1tBbnVtX3BnX3BlcmlvZF9wZXJyYW5nZSAtIDFdID0gcmFuZ2VudW07CisJdmFsdWVzW0FudW1f cGdfcGVyaW9kX3BlcmNvbnN0cmFpbnQgLSAxXSA9IGNvbm9pZDsKKworCXR1cGxlID0gaGVhcF9m b3JtX3R1cGxlKFJlbGF0aW9uR2V0RGVzY3IocGdfcGVyaW9kKSwgdmFsdWVzLCBudWxscyk7CisJ Q2F0YWxvZ1R1cGxlSW5zZXJ0KHBnX3BlcmlvZCwgdHVwbGUpOworCisJT2JqZWN0QWRkcmVzc1Nl dChteXNlbGYsIFBlcmlvZFJlbGF0aW9uSWQsIG9pZCk7CisKKwkvKiBEcm9wIHRoZSBwZXJpb2Qg d2hlbiB0aGUgdGFibGUgaXMgZHJvcHBlZC4gKi8KKwlPYmplY3RBZGRyZXNzU2V0KHJlZmVyZW5j ZWQsIFJlbGF0aW9uUmVsYXRpb25JZCwgUmVsYXRpb25HZXRSZWxpZChyZWwpKTsKKwlyZWNvcmRE ZXBlbmRlbmN5T24oJm15c2VsZiwgJnJlZmVyZW5jZWQsIERFUEVOREVOQ1lfQVVUTyk7CisKKwkv KiBGb3JiaWQgZHJvcHBpbmcgdGhlIGNvbHVtbnMgb2YgdGhlIHBlcmlvZC4gKi8KKwlPYmplY3RB ZGRyZXNzU3ViU2V0KHJlZmVyZW5jZWQsIFJlbGF0aW9uUmVsYXRpb25JZCwgUmVsYXRpb25HZXRS ZWxpZChyZWwpLCBzdGFydG51bSk7CisJcmVjb3JkRGVwZW5kZW5jeU9uKCZteXNlbGYsICZyZWZl cmVuY2VkLCBERVBFTkRFTkNZX05PUk1BTCk7CisJT2JqZWN0QWRkcmVzc1N1YlNldChyZWZlcmVu Y2VkLCBSZWxhdGlvblJlbGF0aW9uSWQsIFJlbGF0aW9uR2V0UmVsaWQocmVsKSwgZW5kbnVtKTsK KwlyZWNvcmREZXBlbmRlbmN5T24oJm15c2VsZiwgJnJlZmVyZW5jZWQsIERFUEVOREVOQ1lfTk9S TUFMKTsKKworCS8qCisJICogVGhlIHJhbmdlIGNvbHVtbiBpcyBhbiBpbXBsZW1lbnRhdGlvbiBk ZXRhaWwsIGJ1dCB3ZSBjYW4ndCB1c2UKKwkgKiBERVBFTkRFTkNZX0lOVEVSTkFMIGJlY2F1c2Ug ZHJvcHBpbmcgdGhlIHRhYmxlIHdpbGwgY2hlY2sgZm9yCisJICogZGVwZW5kZW5jaWVzIG9uIGFs bCBzdWJvYmplY3RzIHRvbyAoaW4gZmluZERlcGVuZGVudE9iamVjdHMpLiBCdXQgaWYgd2UKKwkg KiBtYWtlIGFuIEFVVE8gZGVwZW5kZW5jeSBvbmUgd2F5IHdlIHdpbGwgYXV0by1kcm9wIHRoZSBj b2x1bW4gd2hlbiB3ZQorCSAqIGRyb3AgdGhlIFBFUklPRCwgYW5kIGEgTk9STUFMIGRlcGVuZGVu Y3kgdGhlIG90aGVyIHdheSB3ZSB3aWxsIGZvcmJpZAorCSAqIGRyb3BwaW5nIHRoZSBjb2x1bW4g ZGlyZWN0bHkuCisJICovCisJT2JqZWN0QWRkcmVzc1N1YlNldChyZWZlcmVuY2VkLCBSZWxhdGlv blJlbGF0aW9uSWQsIFJlbGF0aW9uR2V0UmVsaWQocmVsKSwgcmFuZ2VudW0pOworCXJlY29yZERl cGVuZGVuY3lPbigmcmVmZXJlbmNlZCwgJm15c2VsZiwgREVQRU5ERU5DWV9JTlRFUk5BTCk7CisK KwkvKgorCSAqIFRoZSBjb25zdHJhaW50IGlzIGFuIGltcGxlbWVudGF0aW9uIGRldGFpbCwgc28g d2UgbWFyayBpdCBhcyBzdWNoLgorCSAqIChOb3RlIHRoYXQgbXlzZWxmIGFuZCByZWZlcmVuY2Vk IGFyZSByZXZlcnNlZCBmb3IgdGhpcyBvbmUuKQorCSAqLworCU9iamVjdEFkZHJlc3NTZXQocmVm ZXJlbmNlZCwgQ29uc3RyYWludFJlbGF0aW9uSWQsIGNvbm9pZCk7CisJcmVjb3JkRGVwZW5kZW5j eU9uKCZyZWZlcmVuY2VkLCAmbXlzZWxmLCBERVBFTkRFTkNZX0lOVEVSTkFMKTsKKworCXRhYmxl X2Nsb3NlKHBnX3BlcmlvZCwgUm93RXhjbHVzaXZlTG9jayk7CisKKwlyZXR1cm4gb2lkOworfQor CiAvKgogICogU3RvcmUgYSBjaGVjay1jb25zdHJhaW50IGV4cHJlc3Npb24gZm9yIHRoZSBnaXZl biByZWxhdGlvbi4KICAqCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL2luZm9ybWF0 aW9uX3NjaGVtYS5zcWwgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2luZm9ybWF0aW9uX3NjaGVtYS5z cWwKaW5kZXggYTdiZmZjYTkzZDEuLjI4MmVhZDZlZDRjIDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC9jYXRhbG9nL2luZm9ybWF0aW9uX3NjaGVtYS5zcWwKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxv Zy9pbmZvcm1hdGlvbl9zY2hlbWEuc3FsCkBAIC0xMjA3LDcgKzEyMDcsMjggQEAgR1JBTlQgU0VM RUNUIE9OIHBhcmFtZXRlcnMgVE8gUFVCTElDOwogICogUEVSSU9EUyB2aWV3CiAgKi8KIAotLS0g ZmVhdHVyZSBub3Qgc3VwcG9ydGVkCitDUkVBVEUgVklFVyBwZXJpb2RzIEFTCisgICAgU0VMRUNU IGN1cnJlbnRfZGF0YWJhc2UoKTo6aW5mb3JtYXRpb25fc2NoZW1hLnNxbF9pZGVudGlmaWVyIEFT IHRhYmxlX2NhdGFsb2csCisgICAgICAgICAgIG5jLm5zcG5hbWU6OmluZm9ybWF0aW9uX3NjaGVt YS5zcWxfaWRlbnRpZmllciBBUyB0YWJsZV9zY2hlbWEsCisgICAgICAgICAgIGMucmVsbmFtZTo6 aW5mb3JtYXRpb25fc2NoZW1hLnNxbF9pZGVudGlmaWVyIEFTIHRhYmxlX25hbWUsCisgICAgICAg ICAgIHAucGVybmFtZTo6aW5mb3JtYXRpb25fc2NoZW1hLnNxbF9pZGVudGlmaWVyIEFTIHBlcmlv ZF9uYW1lLAorICAgICAgICAgICBDQVNFIFdIRU4gcGdfaGFzX3JvbGUoYy5yZWxvd25lciwgJ1VT QUdFJykKKyAgICAgICAgICAgICAgICAgIE9SIGhhc19jb2x1bW5fcHJpdmlsZWdlKHNhLmF0dHJl bGlkLCBzYS5hdHRudW0sICdTRUxFQ1QsIElOU0VSVCwgVVBEQVRFLCBSRUZFUkVOQ0VTJykKKyAg ICAgICAgICAgICAgICBUSEVOIHNhLmF0dG5hbWU6OmluZm9ybWF0aW9uX3NjaGVtYS5zcWxfaWRl bnRpZmllcgorICAgICAgICAgICBFTkQgQVMgc3RhcnRfY29sdW1uX25hbWUsCisgICAgICAgICAg IENBU0UgV0hFTiBwZ19oYXNfcm9sZShjLnJlbG93bmVyLCAnVVNBR0UnKQorICAgICAgICAgICAg ICAgICAgT1IgaGFzX2NvbHVtbl9wcml2aWxlZ2UoZWEuYXR0cmVsaWQsIGVhLmF0dG51bSwgJ1NF TEVDVCwgSU5TRVJULCBVUERBVEUsIFJFRkVSRU5DRVMnKQorICAgICAgICAgICAgICAgIFRIRU4g ZWEuYXR0bmFtZTo6aW5mb3JtYXRpb25fc2NoZW1hLnNxbF9pZGVudGlmaWVyCisgICAgICAgICAg IEVORCBBUyBlbmRfY29sdW1uX25hbWUKKyAgICBGUk9NIHBnX3BlcmlvZCBBUyBwCisgICAgSk9J TiBwZ19jbGFzcyBBUyBjIE9OIGMub2lkID0gcC5wZXJyZWxpZAorICAgIEpPSU4gcGdfbmFtZXNw YWNlIEFTIG5jIE9OIG5jLm9pZCA9IGMucmVsbmFtZXNwYWNlCisgICAgSk9JTiBwZ19hdHRyaWJ1 dGUgQVMgc2EgT04gKHNhLmF0dHJlbGlkLCBzYS5hdHRudW0pID0gKHAucGVycmVsaWQsIHAucGVy c3RhcnQpCisgICAgSk9JTiBwZ19hdHRyaWJ1dGUgQVMgZWEgT04gKGVhLmF0dHJlbGlkLCBlYS5h dHRudW0pID0gKHAucGVycmVsaWQsIHAucGVyZW5kKQorICAgIFdIRVJFIE5PVCBwZ19pc19vdGhl cl90ZW1wX3NjaGVtYShuYy5vaWQpCisgICAgICBBTkQgYy5yZWxraW5kIElOICgncicsICd2Jyk7 CisKK0dSQU5UIFNFTEVDVCBPTiBwZXJpb2RzIFRPIFBVQkxJQzsKIAogCiAvKgpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9tZXNvbi5idWlsZCBiL3NyYy9iYWNrZW5kL2NhdGFsb2cv bWVzb24uYnVpbGQKaW5kZXggNTg2NzRmZmVlZTYuLmQwOTUzMzM2MzkwIDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC9jYXRhbG9nL21lc29uLmJ1aWxkCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cv bWVzb24uYnVpbGQKQEAgLTI2LDYgKzI2LDcgQEAgYmFja2VuZF9zb3VyY2VzICs9IGZpbGVzKAog ICAncGdfbmFtZXNwYWNlLmMnLAogICAncGdfb3BlcmF0b3IuYycsCiAgICdwZ19wYXJhbWV0ZXJf YWNsLmMnLAorICAncGdfcGVyaW9kLmMnLAogICAncGdfcHJvYy5jJywKICAgJ3BnX3B1YmxpY2F0 aW9uLmMnLAogICAncGdfcmFuZ2UuYycsCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9n L29iamVjdGFkZHJlc3MuYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvb2JqZWN0YWRkcmVzcy5jCmlu ZGV4IGM3NWI3MTMxZWQ3Li5lMmIwOTllMjM2MCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0 YWxvZy9vYmplY3RhZGRyZXNzLmMKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9vYmplY3RhZGRy ZXNzLmMKQEAgLTQ1LDYgKzQ1LDcgQEAKICNpbmNsdWRlICJjYXRhbG9nL3BnX29wZXJhdG9yLmgi CiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19vcGZhbWlseS5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdf cGFyYW1ldGVyX2FjbC5oIgorI2luY2x1ZGUgImNhdGFsb2cvcGdfcGVyaW9kLmgiCiAjaW5jbHVk ZSAiY2F0YWxvZy9wZ19wb2xpY3kuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3Byb2MuaCIKICNp bmNsdWRlICJjYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmgiCkBAIC03MjYsNiArNzI3LDkgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBvYmplY3RfdHlwZV9tYXAKIAl7CiAJCSJkb21haW4gY29uc3RyYWlu dCIsIE9CSkVDVF9ET01DT05TVFJBSU5UCiAJfSwKKwl7CisJCSJwZXJpb2QiLCBPQkpFQ1RfUEVS SU9ECisJfSwKIAl7CiAJCSJjb252ZXJzaW9uIiwgT0JKRUNUX0NPTlZFUlNJT04KIAl9LApAQCAt OTcwLDYgKzk3NCw3IEBAIGdldF9vYmplY3RfYWRkcmVzcyhPYmplY3RUeXBlIG9ianR5cGUsIE5v ZGUgKm9iamVjdCwKIAkJCWNhc2UgT0JKRUNUX1RSSUdHRVI6CiAJCQljYXNlIE9CSkVDVF9UQUJD T05TVFJBSU5UOgogCQkJY2FzZSBPQkpFQ1RfUE9MSUNZOgorCQkJY2FzZSBPQkpFQ1RfUEVSSU9E OgogCQkJCWFkZHJlc3MgPSBnZXRfb2JqZWN0X2FkZHJlc3NfcmVsb2JqZWN0KG9ianR5cGUsIGNh c3ROb2RlKExpc3QsIG9iamVjdCksCiAJCQkJCQkJCQkJCQkJICAgJnJlbGF0aW9uLCBtaXNzaW5n X29rKTsKIAkJCQlicmVhazsKQEAgLTE0NzIsNiArMTQ3NywxMyBAQCBnZXRfb2JqZWN0X2FkZHJl c3NfcmVsb2JqZWN0KE9iamVjdFR5cGUgb2JqdHlwZSwgTGlzdCAqb2JqZWN0LAogCQkJCUludmFs aWRPaWQ7CiAJCQlhZGRyZXNzLm9iamVjdFN1YklkID0gMDsKIAkJCWJyZWFrOworCQljYXNlIE9C SkVDVF9QRVJJT0Q6CisJCQlhZGRyZXNzLmNsYXNzSWQgPSBQZXJpb2RSZWxhdGlvbklkOworCQkJ YWRkcmVzcy5vYmplY3RJZCA9IHJlbGF0aW9uID8KKwkJCQlnZXRfcmVsYXRpb25fcGVyaW9kX29p ZChyZWxvaWQsIGRlcG5hbWUsIG1pc3Npbmdfb2spIDoKKwkJCQlJbnZhbGlkT2lkOworCQkJYWRk cmVzcy5vYmplY3RTdWJJZCA9IDA7CisJCQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCWVsb2coRVJS T1IsICJ1bnJlY29nbml6ZWQgb2JqZWN0IHR5cGU6ICVkIiwgKGludCkgb2JqdHlwZSk7CiAJfQpA QCAtMjI5Myw2ICsyMzA1LDcgQEAgcGdfZ2V0X29iamVjdF9hZGRyZXNzKFBHX0ZVTkNUSU9OX0FS R1MpCiAJCWNhc2UgT0JKRUNUX1JVTEU6CiAJCWNhc2UgT0JKRUNUX1RSSUdHRVI6CiAJCWNhc2Ug T0JKRUNUX1RBQkNPTlNUUkFJTlQ6CisJCWNhc2UgT0JKRUNUX1BFUklPRDoKIAkJY2FzZSBPQkpF Q1RfT1BDTEFTUzoKIAkJY2FzZSBPQkpFQ1RfT1BGQU1JTFk6CiAJCQlvYmpub2RlID0gKE5vZGUg KikgbmFtZTsKQEAgLTI0MDMsNiArMjQxNiw3IEBAIGNoZWNrX29iamVjdF9vd25lcnNoaXAoT2lk IHJvbGVpZCwgT2JqZWN0VHlwZSBvYmp0eXBlLCBPYmplY3RBZGRyZXNzIGFkZHJlc3MsCiAJCWNh c2UgT0JKRUNUX1RSSUdHRVI6CiAJCWNhc2UgT0JKRUNUX1BPTElDWToKIAkJY2FzZSBPQkpFQ1Rf VEFCQ09OU1RSQUlOVDoKKwkJY2FzZSBPQkpFQ1RfUEVSSU9EOgogCQkJaWYgKCFvYmplY3Rfb3du ZXJjaGVjayhSZWxhdGlvblJlbGF0aW9uSWQsIFJlbGF0aW9uR2V0UmVsaWQocmVsYXRpb24pLCBy b2xlaWQpKQogCQkJCWFjbGNoZWNrX2Vycm9yKEFDTENIRUNLX05PVF9PV05FUiwgb2JqdHlwZSwK IAkJCQkJCQkgICBSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShyZWxhdGlvbikpOwpAQCAtMzA3Niw2 ICszMDkwLDM4IEBAIGdldE9iamVjdERlc2NyaXB0aW9uKGNvbnN0IE9iamVjdEFkZHJlc3MgKm9i amVjdCwgYm9vbCBtaXNzaW5nX29rKQogCQkJCWJyZWFrOwogCQkJfQogCisJCWNhc2UgUGVyaW9k UmVsYXRpb25JZDoKKwkJCXsKKwkJCQlIZWFwVHVwbGUJcGVyVHVwOworCQkJCUZvcm1fcGdfcGVy aW9kIHBlcjsKKworCQkJCXBlclR1cCA9IFNlYXJjaFN5c0NhY2hlMShQRVJJT0RPSUQsCisJCQkJ CQkJCQkJIE9iamVjdElkR2V0RGF0dW0ob2JqZWN0LT5vYmplY3RJZCkpOworCQkJCWlmICghSGVh cFR1cGxlSXNWYWxpZChwZXJUdXApKQorCQkJCQllbG9nKEVSUk9SLCAiY2FjaGUgbG9va3VwIGZh aWxlZCBmb3IgcGVyaW9kICV1IiwKKwkJCQkJCSBvYmplY3QtPm9iamVjdElkKTsKKwkJCQlwZXIg PSAoRm9ybV9wZ19wZXJpb2QpIEdFVFNUUlVDVChwZXJUdXApOworCisJCQkJaWYgKE9pZElzVmFs aWQocGVyLT5wZXJyZWxpZCkpCisJCQkJeworCQkJCQlTdHJpbmdJbmZvRGF0YSByZWw7CisKKwkJ CQkJaW5pdFN0cmluZ0luZm8oJnJlbCk7CisJCQkJCWdldFJlbGF0aW9uRGVzY3JpcHRpb24oJnJl bCwgcGVyLT5wZXJyZWxpZCwgZmFsc2UpOworCQkJCQlhcHBlbmRTdHJpbmdJbmZvKCZidWZmZXIs IF8oInBlcmlvZCAlcyBvbiAlcyIpLAorCQkJCQkJCQkJIE5hbWVTdHIocGVyLT5wZXJuYW1lKSwg cmVsLmRhdGEpOworCQkJCQlwZnJlZShyZWwuZGF0YSk7CisJCQkJfQorCQkJCWVsc2UKKwkJCQl7 CisJCQkJCWFwcGVuZFN0cmluZ0luZm8oJmJ1ZmZlciwgXygicGVyaW9kICVzIiksCisJCQkJCQkJ CQkgTmFtZVN0cihwZXItPnBlcm5hbWUpKTsKKwkJCQl9CisKKwkJCQlSZWxlYXNlU3lzQ2FjaGUo cGVyVHVwKTsKKwkJCQlicmVhazsKKwkJCX0KKwogCQljYXNlIENvbnZlcnNpb25SZWxhdGlvbklk OgogCQkJewogCQkJCUhlYXBUdXBsZQljb25UdXA7CkBAIC00NTI5LDYgKzQ1NzUsMTAgQEAgZ2V0 T2JqZWN0VHlwZURlc2NyaXB0aW9uKGNvbnN0IE9iamVjdEFkZHJlc3MgKm9iamVjdCwgYm9vbCBt aXNzaW5nX29rKQogCQkJCQkJCQkJCSBtaXNzaW5nX29rKTsKIAkJCWJyZWFrOwogCisJCWNhc2Ug UGVyaW9kUmVsYXRpb25JZDoKKwkJCWFwcGVuZFN0cmluZ0luZm9TdHJpbmcoJmJ1ZmZlciwgInBl cmlvZCIpOworCQkJYnJlYWs7CisKIAkJY2FzZSBDb252ZXJzaW9uUmVsYXRpb25JZDoKIAkJCWFw cGVuZFN0cmluZ0luZm9TdHJpbmcoJmJ1ZmZlciwgImNvbnZlcnNpb24iKTsKIAkJCWJyZWFrOwpA QCAtNTAzNCw2ICs1MDg0LDI4IEBAIGdldE9iamVjdElkZW50aXR5UGFydHMoY29uc3QgT2JqZWN0 QWRkcmVzcyAqb2JqZWN0LAogCQkJCWJyZWFrOwogCQkJfQogCisJCWNhc2UgUGVyaW9kUmVsYXRp b25JZDoKKwkJCXsKKwkJCQlIZWFwVHVwbGUJcGVyVHVwOworCQkJCUZvcm1fcGdfcGVyaW9kIHBl cjsKKworCQkJCXBlclR1cCA9IFNlYXJjaFN5c0NhY2hlMShQRVJJT0RPSUQsCisJCQkJCQkJCQkJ IE9iamVjdElkR2V0RGF0dW0ob2JqZWN0LT5vYmplY3RJZCkpOworCQkJCWlmICghSGVhcFR1cGxl SXNWYWxpZChwZXJUdXApKQorCQkJCQllbG9nKEVSUk9SLCAiY2FjaGUgbG9va3VwIGZhaWxlZCBm b3IgcGVyaW9kICV1IiwKKwkJCQkJCSBvYmplY3QtPm9iamVjdElkKTsKKwkJCQlwZXIgPSAoRm9y bV9wZ19wZXJpb2QpIEdFVFNUUlVDVChwZXJUdXApOworCisJCQkJYXBwZW5kU3RyaW5nSW5mbygm YnVmZmVyLCAiJXMgb24gIiwKKwkJCQkJCQkJIHF1b3RlX2lkZW50aWZpZXIoTmFtZVN0cihwZXIt PnBlcm5hbWUpKSk7CisJCQkJZ2V0UmVsYXRpb25JZGVudGl0eSgmYnVmZmVyLCBwZXItPnBlcnJl bGlkLCBvYmpuYW1lLCBmYWxzZSk7CisJCQkJaWYgKG9iam5hbWUpCisJCQkJCSpvYmpuYW1lID0g bGFwcGVuZCgqb2JqbmFtZSwgcHN0cmR1cChOYW1lU3RyKHBlci0+cGVybmFtZSkpKTsKKworCQkJ CVJlbGVhc2VTeXNDYWNoZShwZXJUdXApOworCQkJCWJyZWFrOworCQkJfQorCiAJCWNhc2UgQ29u dmVyc2lvblJlbGF0aW9uSWQ6CiAJCQl7CiAJCQkJSGVhcFR1cGxlCWNvblR1cDsKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfY29uc3RyYWludC5jIGIvc3JjL2JhY2tlbmQvY2F0 YWxvZy9wZ19jb25zdHJhaW50LmMKaW5kZXggNTY1YzkwODQ5OTQuLjVhOWRkNDMxNmE5IDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX2NvbnN0cmFpbnQuYworKysgYi9zcmMvYmFj a2VuZC9jYXRhbG9nL3BnX2NvbnN0cmFpbnQuYwpAQCAtODEyLDkgKzgxMiwxNCBAQCBBZGp1c3RO b3ROdWxsSW5oZXJpdGFuY2UoT2lkIHJlbGlkLCBBdHRyTnVtYmVyIGF0dG51bSwKICAqIFRoaXMg aXMgc2VsZG9tIG5lZWRlZCwgc28gd2UganVzdCBzY2FuIHBnX2NvbnN0cmFpbnQgZWFjaCB0aW1l LgogICoKICAqICdpbmNsdWRlX25vaW5oJyBkZXRlcm1pbmVzIHdoZXRoZXIgdG8gaW5jbHVkZSBO TyBJTkhFUklUIGNvbnN0cmFpbnRzIG9yIG5vdC4KKyAqCisgKiAnZXhjbHVkZXMnIGNvbnRhaW5z IGEgbGlzdCBvZiBhdHRub3Mgd2hvc2UgY29uc3RyYWludHMgd2Ugc2hvdWxkIGV4Y2x1ZGUsCisg KiBmb3IgZXhhbXBsZSBjb25zdHJhaW50cyBvbiBQRVJJT0RzJyBoaWRkZW4gR0VORVJBVEVEIGNv bHVtbnMgKHNpbmNlIHRob3NlCisgKiBhcmVuJ3QgZXhwb3NlZCB0byB1c2VycykuCiAgKi8KIExp c3QgKgotUmVsYXRpb25HZXROb3ROdWxsQ29uc3RyYWludHMoT2lkIHJlbGlkLCBib29sIGNvb2tl ZCwgYm9vbCBpbmNsdWRlX25vaW5oKQorUmVsYXRpb25HZXROb3ROdWxsQ29uc3RyYWludHMoT2lk IHJlbGlkLCBib29sIGNvb2tlZCwgYm9vbCBpbmNsdWRlX25vaW5oLAorCQkJCQkJCSAgQml0bWFw c2V0ICpleGNsdWRlcykKIHsKIAlMaXN0CSAgICpub3RudWxscyA9IE5JTDsKIAlSZWxhdGlvbglj b25zdHJSZWw7CkBAIC04NDIsNiArODQ3LDkgQEAgUmVsYXRpb25HZXROb3ROdWxsQ29uc3RyYWlu dHMoT2lkIHJlbGlkLCBib29sIGNvb2tlZCwgYm9vbCBpbmNsdWRlX25vaW5oKQogCiAJCWNvbG51 bSA9IGV4dHJhY3ROb3ROdWxsQ29sdW1uKGh0dXApOwogCisJCWlmIChibXNfaXNfbWVtYmVyKGNv bG51bSwgZXhjbHVkZXMpKQorCQkJY29udGludWU7CisKIAkJaWYgKGNvb2tlZCkKIAkJewogCQkJ Q29va2VkQ29uc3RyYWludCAqY29va2VkOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxv Zy9wZ19wZXJpb2QuYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfcGVyaW9kLmMKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjI0YjE5Mzg1MzJiCi0tLSAvZGV2L251bGwK KysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wZXJpb2QuYwpAQCAtMCwwICsxLDEzMiBAQAor LyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisgKgorICogcGdfcGVyaW9kLmMKKyAqCSAgcm91dGluZXMgdG8g c3VwcG9ydCBtYW5pcHVsYXRpb24gb2YgdGhlIHBnX3BlcmlvZCByZWxhdGlvbgorICoKKyAqIFBv cnRpb25zIENvcHlyaWdodCAoYykgMTk5Ni0yMDIxLCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9w bWVudCBHcm91cAorICoKKyAqCisgKiBJREVOVElGSUNBVElPTgorICoJICBzcmMvYmFja2VuZC9j YXRhbG9nL3BnX3BlcmlvZC5jCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKyNpbmNsdWRl ICJwb3N0Z3Jlcy5oIgorCisjaW5jbHVkZSAiYWNjZXNzL2dlbmFtLmgiCisjaW5jbHVkZSAiYWNj ZXNzL2hlYXBhbS5oIgorI2luY2x1ZGUgImFjY2Vzcy9odHVwX2RldGFpbHMuaCIKKyNpbmNsdWRl ICJjYXRhbG9nL2luZGV4aW5nLmgiCisjaW5jbHVkZSAiY2F0YWxvZy9wZ19wZXJpb2QuaCIKKyNp bmNsdWRlICJ1dGlscy9mbWdyb2lkcy5oIgorI2luY2x1ZGUgInV0aWxzL2xzeXNjYWNoZS5oIgor I2luY2x1ZGUgInV0aWxzL3JlbC5oIgorI2luY2x1ZGUgInV0aWxzL3N5c2NhY2hlLmgiCisKKwor LyoKKyAqIERlbGV0ZSBhIHNpbmdsZSBwZXJpb2QgcmVjb3JkLgorICovCit2b2lkCitSZW1vdmVQ ZXJpb2RCeUlkKE9pZCBwZXJpb2RJZCkKK3sKKwlSZWxhdGlvbglwZ19wZXJpb2Q7CisJSGVhcFR1 cGxlCXR1cDsKKworCXBnX3BlcmlvZCA9IHRhYmxlX29wZW4oUGVyaW9kUmVsYXRpb25JZCwgUm93 RXhjbHVzaXZlTG9jayk7CisKKwl0dXAgPSBTZWFyY2hTeXNDYWNoZTEoUEVSSU9ET0lELCBPYmpl Y3RJZEdldERhdHVtKHBlcmlvZElkKSk7CisJaWYgKCFIZWFwVHVwbGVJc1ZhbGlkKHR1cCkpIC8q IHNob3VsZCBub3QgaGFwcGVuICovCisJCWVsb2coRVJST1IsICJjYWNoZSBsb29rdXAgZmFpbGVk IGZvciBwZXJpb2QgJXUiLCBwZXJpb2RJZCk7CisKKwkvKiBGcnkgdGhlIHBlcmlvZCBpdHNlbGYg Ki8KKwlDYXRhbG9nVHVwbGVEZWxldGUocGdfcGVyaW9kLCAmdHVwLT50X3NlbGYpOworCisJLyog Q2xlYW4gdXAgKi8KKwlSZWxlYXNlU3lzQ2FjaGUodHVwKTsKKwl0YWJsZV9jbG9zZShwZ19wZXJp b2QsIFJvd0V4Y2x1c2l2ZUxvY2spOworfQorCisvKgorICogZ2V0X3JlbGF0aW9uX3BlcmlvZF9v aWQKKyAqCQlGaW5kIGEgcGVyaW9kIG9uIHRoZSBzcGVjaWZpZWQgcmVsYXRpb24gd2l0aCB0aGUg c3BlY2lmaWVkIG5hbWUuCisgKgkJUmV0dXJucyBwZXJpb2QncyBPSUQuCisgKi8KK09pZAorZ2V0 X3JlbGF0aW9uX3BlcmlvZF9vaWQoT2lkIHJlbGlkLCBjb25zdCBjaGFyICpwZXJuYW1lLCBib29s IG1pc3Npbmdfb2spCit7CisJUmVsYXRpb24JcGdfcGVyaW9kOworCUhlYXBUdXBsZQl0dXBsZTsK KwlTeXNTY2FuRGVzYyBzY2FuOworCVNjYW5LZXlEYXRhIHNrZXlbMl07CisJT2lkCQkJcGVyT2lk ID0gSW52YWxpZE9pZDsKKworCS8qIEZldGNoIHRoZSBwZXJpb2QgdHVwbGUgZnJvbSBwZ19wZXJp b2QuICovCisJcGdfcGVyaW9kID0gdGFibGVfb3BlbihQZXJpb2RSZWxhdGlvbklkLCBBY2Nlc3NT aGFyZUxvY2spOworCisJU2NhbktleUluaXQoJnNrZXlbMF0sCisJCQkJQW51bV9wZ19wZXJpb2Rf cGVycmVsaWQsCisJCQkJQlRFcXVhbFN0cmF0ZWd5TnVtYmVyLCBGX09JREVRLAorCQkJCU9iamVj dElkR2V0RGF0dW0ocmVsaWQpKTsKKwlTY2FuS2V5SW5pdCgmc2tleVsxXSwKKwkJCQlBbnVtX3Bn X3BlcmlvZF9wZXJuYW1lLAorCQkJCUJURXF1YWxTdHJhdGVneU51bWJlciwgRl9OQU1FRVEsCisJ CQkJQ1N0cmluZ0dldERhdHVtKHBlcm5hbWUpKTsKKworCXNjYW4gPSBzeXN0YWJsZV9iZWdpbnNj YW4ocGdfcGVyaW9kLCBQZXJpb2RSZWxpZE5hbWVJbmRleElkLCB0cnVlLAorCQkJCQkJCSAgTlVM TCwgMiwgc2tleSk7CisKKwkvKiBUaGVyZSBjYW4gYmUgYXQgbW9zdCBvbmUgbWF0Y2hpbmcgcm93 ICovCisJaWYgKEhlYXBUdXBsZUlzVmFsaWQodHVwbGUgPSBzeXN0YWJsZV9nZXRuZXh0KHNjYW4p KSkKKwkJcGVyT2lkID0gKChGb3JtX3BnX3BlcmlvZCkgR0VUU1RSVUNUKHR1cGxlKSktPm9pZDsK KworCXN5c3RhYmxlX2VuZHNjYW4oc2Nhbik7CisKKwkvKiBJZiBubyBzdWNoIHBlcmlvZCBleGlz dHMsIGNvbXBsYWluICovCisJaWYgKCFPaWRJc1ZhbGlkKHBlck9pZCkgJiYgIW1pc3Npbmdfb2sp CisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9VTkRFRklORURfT0JKRUNU KSwKKwkJCQkgZXJybXNnKCJwZXJpb2QgXCIlc1wiIGZvciB0YWJsZSBcIiVzXCIgZG9lcyBub3Qg ZXhpc3QiLAorCQkJCQkJcGVybmFtZSwgZ2V0X3JlbF9uYW1lKHJlbGlkKSkpKTsKKworCXRhYmxl X2Nsb3NlKHBnX3BlcmlvZCwgQWNjZXNzU2hhcmVMb2NrKTsKKworCXJldHVybiBwZXJPaWQ7Cit9 CisKKy8qCisgKiBnZXRfcGVyaW9kX2F0dG5vcworICoJCUdldCB0aGUgYXR0bm8gb2YgdGhlIEdF TkVSQVRFRCByYW5nZXR5cGUgY29sdW1uCisgKgkJZm9yIGFsbCBQRVJJT0RzIGluIHRoaXMgdGFi bGUuCisgKi8KK2V4dGVybiBCaXRtYXBzZXQgKgorZ2V0X3BlcmlvZF9hdHRub3MoT2lkIHJlbGlk KQoreworCUJpdG1hcHNldCAgKmF0dG5vcyA9IE5VTEw7CisJUmVsYXRpb24JcGdfcGVyaW9kOwor CUhlYXBUdXBsZQl0dXBsZTsKKwlTeXNTY2FuRGVzYyBzY2FuOworCVNjYW5LZXlEYXRhIHNrZXlb MV07CisKKwlwZ19wZXJpb2QgPSB0YWJsZV9vcGVuKFBlcmlvZFJlbGF0aW9uSWQsIEFjY2Vzc1No YXJlTG9jayk7CisKKwlTY2FuS2V5SW5pdCgmc2tleVswXSwKKwkJCQlBbnVtX3BnX3BlcmlvZF9w ZXJyZWxpZCwKKwkJCQlCVEVxdWFsU3RyYXRlZ3lOdW1iZXIsIEZfT0lERVEsCisJCQkJT2JqZWN0 SWRHZXREYXR1bShyZWxpZCkpOworCisJc2NhbiA9IHN5c3RhYmxlX2JlZ2luc2NhbihwZ19wZXJp b2QsIFBlcmlvZFJlbGlkTmFtZUluZGV4SWQsIHRydWUsCisJCQkJCQkJICBOVUxMLCAxLCBza2V5 KTsKKworCXdoaWxlIChIZWFwVHVwbGVJc1ZhbGlkKHR1cGxlID0gc3lzdGFibGVfZ2V0bmV4dChz Y2FuKSkpCisJeworCQlGb3JtX3BnX3BlcmlvZCBwZXJpb2QgPSAoRm9ybV9wZ19wZXJpb2QpIEdF VFNUUlVDVCh0dXBsZSk7CisKKwkJYXR0bm9zID0gYm1zX2FkZF9tZW1iZXIoYXR0bm9zLCBwZXJp b2QtPnBlcnJhbmdlKTsKKwl9CisKKwlzeXN0YWJsZV9lbmRzY2FuKHNjYW4pOworCXRhYmxlX2Ns b3NlKHBnX3BlcmlvZCwgQWNjZXNzU2hhcmVMb2NrKTsKKworCXJldHVybiBhdHRub3M7Cit9CmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3NxbF9mZWF0dXJlcy50eHQgYi9zcmMvYmFj a2VuZC9jYXRhbG9nL3NxbF9mZWF0dXJlcy50eHQKaW5kZXggM2E4YWQyMDE2MDcuLjAxNmI2N2Jj ZjFjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3NxbF9mZWF0dXJlcy50eHQKKysr IGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zcWxfZmVhdHVyZXMudHh0CkBAIC00NDgsNyArNDQ4LDcg QEAgVDE3NglTZXF1ZW5jZSBnZW5lcmF0b3Igc3VwcG9ydAkJCU5PCXN1cHBvcnRlZCBleGNlcHQg Zm9yIE5FWFQgVkFMVUUgRk9SCiBUMTc3CVNlcXVlbmNlIGdlbmVyYXRvciBzdXBwb3J0OiBzaW1w bGUgcmVzdGFydCBvcHRpb24JCQlZRVMJCiBUMTc4CUlkZW50aXR5IGNvbHVtbnM6IHNpbXBsZSBy ZXN0YXJ0IG9wdGlvbgkJCVlFUwkKIFQxODAJU3lzdGVtLXZlcnNpb25lZCB0YWJsZXMJCQlOTwkK LVQxODEJQXBwbGljYXRpb24tdGltZSBwZXJpb2QgdGFibGVzCQkJTk8JCitUMTgxCUFwcGxpY2F0 aW9uLXRpbWUgcGVyaW9kIHRhYmxlcwkJCVlFUwkKIFQxOTEJUmVmZXJlbnRpYWwgYWN0aW9uIFJF U1RSSUNUCQkJWUVTCQogVDIwMAlUcmlnZ2VyIERETAkJCU5PCXNpbWlsYXIgYnV0IG5vdCBmdWxs eSBjb21wYXRpYmxlCiBUMjAxCUNvbXBhcmFibGUgZGF0YSB0eXBlcyBmb3IgcmVmZXJlbnRpYWwg Y29uc3RyYWludHMJCQlZRVMJCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9jb21t ZW50LmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9jb21tZW50LmMKaW5kZXggNWM3ODNjYzYxZjEu LjM2MzA2YzYxOGIyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9jb21tZW50LmMK KysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvY29tbWVudC5jCkBAIC0xMDIsNiArMTAyLDE2IEBA IENvbW1lbnRPYmplY3QoQ29tbWVudFN0bXQgKnN0bXQpCiAJCQkJCQkJCVJlbGF0aW9uR2V0UmVs YXRpb25OYW1lKHJlbGF0aW9uKSksCiAJCQkJCQkgZXJyZGV0YWlsX3JlbGtpbmRfbm90X3N1cHBv cnRlZChyZWxhdGlvbi0+cmRfcmVsLT5yZWxraW5kKSkpOwogCQkJYnJlYWs7CisKKwkJY2FzZSBP QkpFQ1RfUEVSSU9EOgorCQkJLyogUGVyaW9kcyBjYW4gb25seSBnbyBvbiB0YWJsZXMgKi8KKwkJ CWlmIChyZWxhdGlvbi0+cmRfcmVsLT5yZWxraW5kICE9IFJFTEtJTkRfUkVMQVRJT04pCisJCQkJ ZXJlcG9ydChFUlJPUiwKKwkJCQkJCShlcnJjb2RlKEVSUkNPREVfV1JPTkdfT0JKRUNUX1RZUEUp LAorCQkJCQkJIGVycm1zZygiXCIlc1wiIGlzIG5vdCBhIHRhYmxlIiwKKwkJCQkJCQkJUmVsYXRp b25HZXRSZWxhdGlvbk5hbWUocmVsYXRpb24pKSkpOworCQkJYnJlYWs7CisKIAkJZGVmYXVsdDoK IAkJCWJyZWFrOwogCX0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2Ryb3BjbWRz LmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9kcm9wY21kcy5jCmluZGV4IGNlYjlhMjI5YjYzLi41 MjZjM2ZmNTE0MiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvZHJvcGNtZHMuYwor KysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9kcm9wY21kcy5jCkBAIC01MDQsNiArNTA0LDcgQEAg ZG9lc19ub3RfZXhpc3Rfc2tpcHBpbmcoT2JqZWN0VHlwZSBvYmp0eXBlLCBOb2RlICpvYmplY3Qp CiAJCWNhc2UgT0JKRUNUX0RPTUNPTlNUUkFJTlQ6CiAJCWNhc2UgT0JKRUNUX0xBUkdFT0JKRUNU OgogCQljYXNlIE9CSkVDVF9QQVJBTUVURVJfQUNMOgorCQljYXNlIE9CSkVDVF9QRVJJT0Q6CiAJ CWNhc2UgT0JKRUNUX1BVQkxJQ0FUSU9OX05BTUVTUEFDRToKIAkJY2FzZSBPQkpFQ1RfUFVCTElD QVRJT05fUkVMOgogCQljYXNlIE9CSkVDVF9UQUJDT05TVFJBSU5UOgpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvY29tbWFuZHMvZXZlbnRfdHJpZ2dlci5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMv ZXZlbnRfdHJpZ2dlci5jCmluZGV4IGYzNDg2OGRhNWFiLi41MTRkYTA0YmU3NyAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvZXZlbnRfdHJpZ2dlci5jCisrKyBiL3NyYy9iYWNrZW5k L2NvbW1hbmRzL2V2ZW50X3RyaWdnZXIuYwpAQCAtMjMwMSw2ICsyMzAxLDcgQEAgc3RyaW5naWZ5 X2dyYW50X29ianR5cGUoT2JqZWN0VHlwZSBvYmp0eXBlKQogCQljYXNlIE9CSkVDVF9PUENMQVNT OgogCQljYXNlIE9CSkVDVF9PUEVSQVRPUjoKIAkJY2FzZSBPQkpFQ1RfT1BGQU1JTFk6CisJCWNh c2UgT0JKRUNUX1BFUklPRDoKIAkJY2FzZSBPQkpFQ1RfUE9MSUNZOgogCQljYXNlIE9CSkVDVF9Q VUJMSUNBVElPTjoKIAkJY2FzZSBPQkpFQ1RfUFVCTElDQVRJT05fTkFNRVNQQUNFOgpAQCAtMjM4 NSw2ICsyMzg2LDcgQEAgc3RyaW5naWZ5X2FkZWZwcml2c19vYmp0eXBlKE9iamVjdFR5cGUgb2Jq dHlwZSkKIAkJY2FzZSBPQkpFQ1RfT1BFUkFUT1I6CiAJCWNhc2UgT0JKRUNUX09QRkFNSUxZOgog CQljYXNlIE9CSkVDVF9QQVJBTUVURVJfQUNMOgorCQljYXNlIE9CSkVDVF9QRVJJT0Q6CiAJCWNh c2UgT0JKRUNUX1BPTElDWToKIAkJY2FzZSBPQkpFQ1RfUFVCTElDQVRJT046CiAJCWNhc2UgT0JK RUNUX1BVQkxJQ0FUSU9OX05BTUVTUEFDRToKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1h bmRzL3NlY2xhYmVsLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9zZWNsYWJlbC5jCmluZGV4IGNl ZTVkN2JiYjljLi5mODY1MGViNGZlNCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMv c2VjbGFiZWwuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9zZWNsYWJlbC5jCkBAIC03OSw2 ICs3OSw3IEBAIFNlY0xhYmVsU3VwcG9ydHNPYmplY3RUeXBlKE9iamVjdFR5cGUgb2JqdHlwZSkK IAkJY2FzZSBPQkpFQ1RfT1BFUkFUT1I6CiAJCWNhc2UgT0JKRUNUX09QRkFNSUxZOgogCQljYXNl IE9CSkVDVF9QQVJBTUVURVJfQUNMOgorCQljYXNlIE9CSkVDVF9QRVJJT0Q6CiAJCWNhc2UgT0JK RUNUX1BPTElDWToKIAkJY2FzZSBPQkpFQ1RfUFVCTElDQVRJT05fTkFNRVNQQUNFOgogCQljYXNl IE9CSkVDVF9QVUJMSUNBVElPTl9SRUw6CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5k cy90YWJsZWNtZHMuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCmluZGV4IDIz MTI2N2M4OGNlLi5iMzIzNjk2N2JkYiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMv dGFibGVjbWRzLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMKQEAgLTQ1 LDYgKzQ1LDcgQEAKICNpbmNsdWRlICJjYXRhbG9nL3BnX2xhcmdlb2JqZWN0X21ldGFkYXRhLmgi CiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19uYW1lc3BhY2UuaCIKICNpbmNsdWRlICJjYXRhbG9nL3Bn X29wY2xhc3MuaCIKKyNpbmNsdWRlICJjYXRhbG9nL3BnX3BlcmlvZC5oIgogI2luY2x1ZGUgImNh dGFsb2cvcGdfcG9saWN5LmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19wcm9jLmgiCiAjaW5jbHVk ZSAiY2F0YWxvZy9wZ19wdWJsaWNhdGlvbl9yZWwuaCIKQEAgLTE1Niw2ICsxNTcsMTMgQEAgdHlw ZWRlZiBlbnVtIEFsdGVyVGFibGVQYXNzCiAJQVRfUEFTU19PTERfSU5ERVgsCQkJLyogcmUtYWRk IGV4aXN0aW5nIGluZGV4ZXMgKi8KIAlBVF9QQVNTX09MRF9DT05TVFIsCQkJLyogcmUtYWRkIGV4 aXN0aW5nIGNvbnN0cmFpbnRzICovCiAJLyogV2UgY291bGQgc3VwcG9ydCBhIFJFTkFNRSBDT0xV TU4gcGFzcyBoZXJlLCBidXQgbm90IGN1cnJlbnRseSB1c2VkICovCisKKwkvKgorCSAqIFdlIG11 c3QgYWRkIFBFUklPRHMgYWZ0ZXIgY29sdW1ucywgaW4gY2FzZSB0aGV5IHJlZmVyZW5jZSBhIG5l d2x5LWFkZGVkCisJICogY29sdW1uLCBhbmQgYmVmb3JlIGNvbnN0cmFpbnRzLCBpbiBjYXNlIGEg bmV3bHktYWRkZWQgUEsvRksgcmVmZXJlbmNlcworCSAqIHRoZW0uCisJICovCisJQVRfUEFTU19B RERfUEVSSU9ELAkJCS8qIEFERCBQRVJJT0QgKi8KIAlBVF9QQVNTX0FERF9DT05TVFIsCQkJLyog QUREIGNvbnN0cmFpbnRzIChpbml0aWFsIGV4YW1pbmF0aW9uKSAqLwogCUFUX1BBU1NfQ09MX0FU VFJTLAkJCS8qIHNldCBjb2x1bW4gYXR0cmlidXRlcywgZWcgTk9UIE5VTEwgKi8KIAlBVF9QQVNT X0FERF9JTkRFWENPTlNUUiwJLyogQUREIGluZGV4LWJhc2VkIGNvbnN0cmFpbnRzICovCkBAIC0z NzUsNiArMzgzLDcgQEAgc3RhdGljIExpc3QgKk1lcmdlQXR0cmlidXRlcyhMaXN0ICpjb2x1bW5z LCBjb25zdCBMaXN0ICpzdXBlcnMsIGNoYXIgcmVscGVyc2lzdGUKIAkJCQkJCQkgYm9vbCBpc19w YXJ0aXRpb24sIExpc3QgKipzdXBjb25zdHIsCiAJCQkJCQkJIExpc3QgKipzdXBub3RudWxscyk7 CiBzdGF0aWMgTGlzdCAqTWVyZ2VDaGVja0NvbnN0cmFpbnQoTGlzdCAqY29uc3RyYWludHMsIGNv bnN0IGNoYXIgKm5hbWUsIE5vZGUgKmV4cHIsIGJvb2wgaXNfZW5mb3JjZWQpOworc3RhdGljIExp c3QgKk1lcmdlUGVyaW9kcyhjaGFyICpyZWxuYW1lLCBMaXN0ICpwZXJpb2RzLCBMaXN0ICp0YWJs ZUVsdHMsIExpc3QgKnN1cGVycyk7CiBzdGF0aWMgdm9pZCBNZXJnZUNoaWxkQXR0cmlidXRlKExp c3QgKmluaF9jb2x1bW5zLCBpbnQgZXhpc3RfYXR0bm8sIGludCBuZXdjb2xfYXR0bm8sIGNvbnN0 IENvbHVtbkRlZiAqbmV3ZGVmKTsKIHN0YXRpYyBDb2x1bW5EZWYgKk1lcmdlSW5oZXJpdGVkQXR0 cmlidXRlKExpc3QgKmluaF9jb2x1bW5zLCBpbnQgZXhpc3RfYXR0bm8sIGNvbnN0IENvbHVtbkRl ZiAqbmV3ZGVmKTsKIHN0YXRpYyB2b2lkIE1lcmdlQXR0cmlidXRlc0ludG9FeGlzdGluZyhSZWxh dGlvbiBjaGlsZF9yZWwsIFJlbGF0aW9uIHBhcmVudF9yZWwsIGJvb2wgaXNwYXJ0aXRpb24pOwpA QCAtNDk3LDYgKzUwNiw4IEBAIHN0YXRpYyBPYmplY3RBZGRyZXNzIEFURXhlY0FkZENvbHVtbihM aXN0ICoqd3F1ZXVlLCBBbHRlcmVkVGFibGVJbmZvICp0YWIsCiAJCQkJCQkJCQkgQWx0ZXJUYWJs ZVV0aWxpdHlDb250ZXh0ICpjb250ZXh0KTsKIHN0YXRpYyBib29sIGNoZWNrX2Zvcl9jb2x1bW5f bmFtZV9jb2xsaXNpb24oUmVsYXRpb24gcmVsLCBjb25zdCBjaGFyICpjb2xuYW1lLAogCQkJCQkJ CQkJCQlib29sIGlmX25vdF9leGlzdHMpOworc3RhdGljIGJvb2wgY2hlY2tfZm9yX3BlcmlvZF9u YW1lX2NvbGxpc2lvbihSZWxhdGlvbiByZWwsIGNvbnN0IGNoYXIgKnBlcm5hbWUsCisJCQkJCQkJ CQkJCWJvb2wgY29sZXhpc3RzLCBib29sIGlmX25vdF9leGlzdHMpOwogc3RhdGljIHZvaWQgYWRk X2NvbHVtbl9kYXRhdHlwZV9kZXBlbmRlbmN5KE9pZCByZWxpZCwgaW50MzIgYXR0bnVtLCBPaWQg dHlwaWQpOwogc3RhdGljIHZvaWQgYWRkX2NvbHVtbl9jb2xsYXRpb25fZGVwZW5kZW5jeShPaWQg cmVsaWQsIGludDMyIGF0dG51bSwgT2lkIGNvbGxpZCk7CiBzdGF0aWMgT2JqZWN0QWRkcmVzcyBB VEV4ZWNEcm9wTm90TnVsbChSZWxhdGlvbiByZWwsIGNvbnN0IGNoYXIgKmNvbE5hbWUsIGJvb2wg cmVjdXJzZSwKQEAgLTUxNCw2ICs1MjUsMTUgQEAgc3RhdGljIE9iamVjdEFkZHJlc3MgQVRFeGVj Q29sdW1uRGVmYXVsdChSZWxhdGlvbiByZWwsIGNvbnN0IGNoYXIgKmNvbE5hbWUsCiAJCQkJCQkJ CQkJIE5vZGUgKm5ld0RlZmF1bHQsIExPQ0tNT0RFIGxvY2ttb2RlKTsKIHN0YXRpYyBPYmplY3RB ZGRyZXNzIEFURXhlY0Nvb2tlZENvbHVtbkRlZmF1bHQoUmVsYXRpb24gcmVsLCBBdHRyTnVtYmVy IGF0dG51bSwKIAkJCQkJCQkJCQkJICAgTm9kZSAqbmV3RGVmYXVsdCk7CitzdGF0aWMgdm9pZCBB VFByZXBBZGRQZXJpb2QoTGlzdCAqKndxdWV1ZSwgUmVsYXRpb24gcmVsLCBBbHRlclRhYmxlQ21k ICpjbWQsCisJCQkJCQkJTE9DS01PREUgbG9ja21vZGUsIEFsdGVyVGFibGVVdGlsaXR5Q29udGV4 dCAqY29udGV4dCk7CitzdGF0aWMgT2JqZWN0QWRkcmVzcyBBVEV4ZWNBZGRQZXJpb2QoTGlzdCAq KndxdWV1ZSwgQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLAorCQkJCQkJCQkJIFJlbGF0aW9uIHJlbCwg UGVyaW9kRGVmICpwZXJpb2QsCisJCQkJCQkJCQkgTE9DS01PREUgbG9ja21vZGUsIEFsdGVyVGFi bGVVdGlsaXR5Q29udGV4dCAqY29udGV4dCk7CitzdGF0aWMgdm9pZCBBVEV4ZWNEcm9wUGVyaW9k KFJlbGF0aW9uIHJlbCwgY29uc3QgY2hhciAqcGVyaW9kTmFtZSwKKwkJCQkJCQkgRHJvcEJlaGF2 aW9yIGJlaGF2aW9yLAorCQkJCQkJCSBib29sIHJlY3Vyc2UsIGJvb2wgcmVjdXJzaW5nLAorCQkJ CQkJCSBib29sIG1pc3Npbmdfb2spOwogc3RhdGljIE9iamVjdEFkZHJlc3MgQVRFeGVjQWRkSWRl bnRpdHkoUmVsYXRpb24gcmVsLCBjb25zdCBjaGFyICpjb2xOYW1lLAogCQkJCQkJCQkJICAgTm9k ZSAqZGVmLCBMT0NLTU9ERSBsb2NrbW9kZSwgYm9vbCByZWN1cnNlLCBib29sIHJlY3Vyc2luZyk7 CiBzdGF0aWMgT2JqZWN0QWRkcmVzcyBBVEV4ZWNTZXRJZGVudGl0eShSZWxhdGlvbiByZWwsIGNv bnN0IGNoYXIgKmNvbE5hbWUsCkBAIC03MzksNiArNzU5LDEwIEBAIHN0YXRpYyBMaXN0ICpHZXRQ YXJlbnRlZEZvcmVpZ25LZXlSZWZzKFJlbGF0aW9uIHBhcnRpdGlvbik7CiBzdGF0aWMgdm9pZCBB VERldGFjaENoZWNrTm9Gb3JlaWduS2V5UmVmcyhSZWxhdGlvbiBwYXJ0aXRpb24pOwogc3RhdGlj IGNoYXIgR2V0QXR0cmlidXRlQ29tcHJlc3Npb24oT2lkIGF0dHR5cGlkLCBjb25zdCBjaGFyICpj b21wcmVzc2lvbik7CiBzdGF0aWMgY2hhciBHZXRBdHRyaWJ1dGVTdG9yYWdlKE9pZCBhdHR0eXBp ZCwgY29uc3QgY2hhciAqc3RvcmFnZW1vZGUpOworc3RhdGljIHZvaWQgQWRkUmVsYXRpb25OZXdQ ZXJpb2QoUmVsYXRpb24gcmVsLCBQZXJpb2REZWYgKnBlcmlvZCk7CitzdGF0aWMgdm9pZCBWYWxp ZGF0ZVBlcmlvZChSZWxhdGlvbiByZWwsIFBlcmlvZERlZiAqcGVyaW9kKTsKK3N0YXRpYyBDb25z dHJhaW50ICptYWtlX2NvbnN0cmFpbnRfZm9yX3BlcmlvZChSZWxhdGlvbiByZWwsIFBlcmlvZERl ZiAqcGVyaW9kKTsKK3N0YXRpYyBDb2x1bW5EZWYgKm1ha2VfcmFuZ2VfY29sdW1uX2Zvcl9wZXJp b2QoUGVyaW9kRGVmICpwZXJpb2QpOwogCiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTk2OCw2ICs5OTIsOTUg QEAgRGVmaW5lUmVsYXRpb24oQ3JlYXRlU3RtdCAqc3RtdCwgY2hhciByZWxraW5kLCBPaWQgb3du ZXJJZCwKIAkJCQkJCXN0bXQtPnBhcnRib3VuZCAhPSBOVUxMLAogCQkJCQkJJm9sZF9jb25zdHJh aW50cywgJm9sZF9ub3RudWxscyk7CiAKKwkvKgorCSAqIFVzaW5nIHRoZSBjb2x1bW4gbGlzdCAo aW5jbHVkaW5nIGluaGVyaXRlZCBjb2x1bW5zKSwgZmluZCB0aGUgc3RhcnQvZW5kCisJICogY29s dW1ucyBmb3IgZWFjaCBwZXJpb2QuIFBFUklPRHMgc2hvdWxkIGJlIGluaGVyaXRlZCB0b28gKGJ1 dCBhcmVuJ3QKKwkgKiB5ZXQpLgorCSAqLworCXN0bXQtPnBlcmlvZHMgPSBNZXJnZVBlcmlvZHMo cmVsbmFtZSwgc3RtdC0+cGVyaW9kcywgc3RtdC0+dGFibGVFbHRzLCBpbmhlcml0T2lkcyk7CisK KwkvKgorCSAqIEZvciBlYWNoIFBFUklPRCB3ZSBuZWVkIGEgR0VORVJBVEVEIGNvbHVtbi4gVXN1 YWxseSB3ZSBtdXN0IGNyZWF0ZQorCSAqIHRoaXMsIHNvIHdlIGFkZCBpdCB0byB0YWJsZUVsdHMu IElmIHRoZSB1c2VyIHNheXMgdGhlIGNvbHVtbiBhbHJlYWR5CisJICogZXhpc3RzLCBtYWtlIHN1 cmUgaXQgaXMgc2Vuc2libGUuIFRoZXNlIGNvbHVtbnMgYXJlIG5vdCBpbmhlcml0ZWQsIHNvCisJ ICogd2UgZG9uJ3Qgd29ycnkgYWJvdXQgY29uZmxpY3RzIGluIHRhYmxlRWx0cy4KKwkgKgorCSAq IFdlIGFsbG93IHRoaXMgY29sZXhpc3RzIG9wdGlvbiB0byBzdXBwb3J0IHBnX3VwZ3JhZGUsIHNv IHdlIGhhdmUgbW9yZQorCSAqIGNvbnRyb2wgb3ZlciB0aGUgR0VORVJBVEVEIGNvbHVtbiAod2hv c2UgYXR0bnVtIG11c3QgbWF0Y2ggdGhlIG9sZAorCSAqIHZhbHVlKS4KKwkgKgorCSAqIFNpbmNl IHRoZSBHRU5FUkFURUQgY29sdW1uIG11c3QgYmUgTk9UIE5VTEwsIHdlIGFkZCBhIGNvbnN0cmFp bnQgdG8KKwkgKiBubmNvbnN0cmFpbnRzLgorCSAqLworCWZvcmVhY2gobGlzdHB0ciwgc3RtdC0+ cGVyaW9kcykKKwl7CisJCVBlcmlvZERlZiAgKnBlcmlvZCA9IChQZXJpb2REZWYgKikgbGZpcnN0 KGxpc3RwdHIpOworCisJCWlmIChwZXJpb2QtPmNvbGV4aXN0cykKKwkJeworCQkJTGlzdENlbGwg ICAqY2VsbDsKKwkJCWJvb2wJCWZvdW5kID0gZmFsc2U7CisKKwkJCS8qIEZpbmQgdGhlIGV4aXN0 aW5nIGNvbHVtbiB0byB1c2UgKi8KKwkJCWZvcmVhY2goY2VsbCwgc3RtdC0+dGFibGVFbHRzKQor CQkJeworCQkJCUNvbHVtbkRlZiAgKmNvbERlZiA9IGxmaXJzdChjZWxsKTsKKworCQkJCWlmIChz dHJjbXAocGVyaW9kLT5wZXJpb2RuYW1lLCBjb2xEZWYtPmNvbG5hbWUpID09IDApCisJCQkJewor CQkJCQkvKgorCQkJCQkgKiBNYWtlIHN1cmUgdGhlIGV4aXN0aW5nIGNvbHVtbiBtYXRjaGVzIHdo YXQgd2Ugd291bGQgaGF2ZQorCQkJCQkgKiBjcmVhdGVkLiBGaXJzdCBhbGwsIGl0IG11c3QgYmUg R0VORVJBVEVELgorCQkJCQkgKi8KKwkJCQkJaWYgKGNvbERlZi0+Z2VuZXJhdGVkID09ICdcMCcp CisJCQkJCQllcmVwb3J0KEVSUk9SLCAoZXJybXNnKCJQZXJpb2QgJXMgdXNlcyBhIG5vbi1nZW5l cmF0ZWQgY29sdW1uIiwKKwkJCQkJCQkJCQlwZXJpb2QtPnBlcmlvZG5hbWUpKSk7CisKKwkJCQkJ LyogVGhlIEdFTkVSQVRFRCBjb2x1bW4gbXVzdCBiZSBTVE9SRUQuICovCisJCQkJCWlmIChjb2xE ZWYtPmdlbmVyYXRlZCAhPSBBVFRSSUJVVEVfR0VORVJBVEVEX1NUT1JFRCkKKwkJCQkJCWVyZXBv cnQoRVJST1IsIChlcnJtc2coIlBlcmlvZCAlcyB1c2VzIGEgZ2VuZXJhdGVkIGNvbHVtbiB0aGF0 IGlzIG5vdCBTVE9SRUQiLAorCQkJCQkJCQkJCXBlcmlvZC0+cGVyaW9kbmFtZSkpKTsKKworCQkJ CQkvKiBUaGUgR0VORVJBVEVEIGNvbHVtbiBtdXN0IG5vdCBhbGxvdyBudWxscy4gKi8KKwkJCQkJ aWYgKCFjb2xEZWYtPmlzX25vdF9udWxsICYmICFJc0JpbmFyeVVwZ3JhZGUpCisJCQkJCQllcmVw b3J0KEVSUk9SLCAoZXJybXNnKCJQZXJpb2QgJXMgdXNlcyBhIGdlbmVyYXRlZCBjb2x1bW4gdGhh dCBhbGxvd3MgbnVsbHMiLAorCQkJCQkJCQkJCXBlcmlvZC0+cGVyaW9kbmFtZSkpKTsKKworCQkJ CQkvKiBUaGUgR0VORVJBVEVEIGNvbHVtbiBtdXN0IG1hdGNoIG91ciByYW5nZXR5cGUuICovCisJ CQkJCWlmIChwZXJpb2QtPnJuZ3R5cGlkICE9IHR5cGVuYW1lVHlwZUlkKE5VTEwsIGNvbERlZi0+ dHlwZU5hbWUpKQorCQkJCQkJZXJlcG9ydChFUlJPUiwgKGVycm1zZygiUGVyaW9kICVzIHVzZXMg YSBnZW5lcmF0ZWQgY29sdW1uIHdpdGggdGhlIHdyb25nIHR5cGUiLAorCQkJCQkJCQkJCXBlcmlv ZC0+cGVyaW9kbmFtZSkpKTsKKworCQkJCQkvKgorCQkJCQkgKiBUaGUgR0VORVJBVEVEIGNvbHVt biBtdXN0IG5vdCBiZSBpbmhlcml0ZWQuCisJCQkJCSAqIFhYWDogSWYgdGhlIFBFUklPRCBpcyBp bmhlcml0ZWQsIHRoZXkgbXVzdCBjb21lIGZyb20gdGhlCisJCQkJCSAqIHNhbWUgcGFyZW50Lgor CQkJCQkgKi8KKwkJCQkJaWYgKCFjb2xEZWYtPmlzX2xvY2FsKQorCQkJCQkJZXJlcG9ydChFUlJP UiwgKGVycm1zZygiUGVyaW9kICVzIHVzZXMgYSBnZW5lcmF0ZWQgY29sdW1uIHRoYXQgaXMgaW5o ZXJpdGVkIiwKKwkJCQkJCQkJCQlwZXJpb2QtPnBlcmlvZG5hbWUpKSk7CisJCQkJCS8qCisJCQkJ CSAqIFhYWDogV2Ugc2hvdWxkIGNoZWNrIHRoZSBHRU5FUkFURUQgZXhwcmVzc2lvbiBhbHNvLCBi dXQKKwkJCQkJICogdGhhdCBpcyBoYXJkIHRvIGRvIGJlY2F1c2Ugb25lIGlzIGNvb2tlZCBhbmQg b25lIGlzIHJhdy4KKwkJCQkJICovCisKKwkJCQkJZm91bmQgPSB0cnVlOworCQkJCX0KKwkJCX0K KworCQkJaWYgKCFmb3VuZCkKKwkJCQllcmVwb3J0KEVSUk9SLCAoZXJybXNnKCJObyBjb2x1bW4g Zm91bmQgd2l0aCBuYW1lICVzIiwgcGVyaW9kLT5wZXJpb2RuYW1lKSkpOworCQl9CisJCWVsc2UK KwkJeworCQkJQ29sdW1uRGVmICAqY29sID0gbWFrZV9yYW5nZV9jb2x1bW5fZm9yX3BlcmlvZChw ZXJpb2QpOworCQkJQ29uc3RyYWludCAqY29uc3RyID0gbWFrZU5vdE51bGxDb25zdHJhaW50KG1h a2VTdHJpbmcoY29sLT5jb2xuYW1lKSk7CisKKwkJCXN0bXQtPnRhYmxlRWx0cyA9IGxhcHBlbmQo c3RtdC0+dGFibGVFbHRzLCBjb2wpOworCQkJc3RtdC0+bm5jb25zdHJhaW50cyA9IGxhcHBlbmQo c3RtdC0+bm5jb25zdHJhaW50cywgY29uc3RyKTsKKwkJfQorCX0KKwogCS8qCiAJICogQ3JlYXRl IGEgdHVwbGUgZGVzY3JpcHRvciBmcm9tIHRoZSByZWxhdGlvbiBzY2hlbWEuICBOb3RlIHRoYXQg dGhpcwogCSAqIGRlYWxzIHdpdGggY29sdW1uIG5hbWVzLCB0eXBlcywgYW5kIGluLWRlc2NyaXB0 b3IgTk9UIE5VTEwgZmxhZ3MsIGJ1dApAQCAtMTMzNiw3ICsxNDQ5LDcgQEAgRGVmaW5lUmVsYXRp b24oQ3JlYXRlU3RtdCAqc3RtdCwgY2hhciByZWxraW5kLCBPaWQgb3duZXJJZCwKIAkJCQkJCQkJ ICB0cnVlLCB0cnVlLCBmYWxzZSwgcXVlcnlTdHJpbmcpOwogCiAJLyoKLQkgKiBGaW5hbGx5LCBt ZXJnZSB0aGUgbm90LW51bGwgY29uc3RyYWludHMgdGhhdCBhcmUgZGVjbGFyZWQgZGlyZWN0bHkg d2l0aAorCSAqIE5vdyBtZXJnZSB0aGUgbm90LW51bGwgY29uc3RyYWludHMgdGhhdCBhcmUgZGVj bGFyZWQgZGlyZWN0bHkgd2l0aAogCSAqIHRob3NlIHRoYXQgY29tZSBmcm9tIHBhcmVudCByZWxh dGlvbnMgKG1ha2luZyBzdXJlIHRvIGNvdW50IGluaGVyaXRhbmNlCiAJICogYXBwcm9wcmlhdGVs eSBmb3IgZWFjaCksIGNyZWF0ZSB0aGVtLCBhbmQgc2V0IHRoZSBhdHRub3RudWxsIGZsYWcgb24K IAkgKiBjb2x1bW5zIHRoYXQgZG9uJ3QgeWV0IGhhdmUgaXQuCkBAIC0xMzQ2LDYgKzE0NTksMjEg QEAgRGVmaW5lUmVsYXRpb24oQ3JlYXRlU3RtdCAqc3RtdCwgY2hhciByZWxraW5kLCBPaWQgb3du ZXJJZCwKIAlmb3JlYWNoX2ludChhdHRybnVtLCBubmNvbHMpCiAJCXNldF9hdHRub3RudWxsKE5V TEwsIHJlbCwgYXR0cm51bSwgdHJ1ZSwgZmFsc2UpOwogCisJLyoKKwkgKiBGaW5hbGx5LCBjcmVh dGUgcGVyaW9kcyBmb3IgdGhlIHRhYmxlLiBUaGlzIG11c3QgY29tZSBhZnRlciB3ZSBjcmVhdGUK KwkgKiBjb2x1bW5zIGFuZCBiZWZvcmUgd2UgY3JlYXRlIGluZGV4IGNvbnN0cmFpbnRzLiBJdCB3 aWxsIGF1dG9tYXRpY2FsbHkKKwkgKiBjcmVhdGUgYSBDSEVDSyBjb25zdHJhaW50IGZvciB0aGUg cGVyaW9kLgorCSAqLworCWZvcmVhY2gobGlzdHB0ciwgc3RtdC0+cGVyaW9kcykKKwl7CisJCVBl cmlvZERlZiAgKnBlcmlvZCA9IChQZXJpb2REZWYgKikgbGZpcnN0KGxpc3RwdHIpOworCisJCS8q IERvbid0IHVwZGF0ZSB0aGUgY291bnQgb2YgY2hlY2sgY29uc3RyYWludHMgdHdpY2UgKi8KKwkJ Q29tbWFuZENvdW50ZXJJbmNyZW1lbnQoKTsKKworCQlBZGRSZWxhdGlvbk5ld1BlcmlvZChyZWws IHBlcmlvZCk7CisJfQorCiAJT2JqZWN0QWRkcmVzc1NldChhZGRyZXNzLCBSZWxhdGlvblJlbGF0 aW9uSWQsIHJlbGF0aW9uSWQpOwogCiAJLyoKQEAgLTE0NDUsNiArMTU3MywzMzYgQEAgQnVpbGRE ZXNjRm9yUmVsYXRpb24oY29uc3QgTGlzdCAqY29sdW1ucykKIAlyZXR1cm4gZGVzYzsKIH0KIAor LyoKKyAqIG1ha2VfY29uc3RyYWludF9mb3JfcGVyaW9kCisgKgorICogQnVpbGRzIGEgQ0hFQ0sg Q29uc3RyYWludCB0byBlbnN1cmUgc3RhcnQgPCBlbmQuCisgKiBSZXR1cm5zIHRoZSBDSEVDSyBD b25zdHJhaW50LgorICogQWxzbyBmaWxscyBpbiBwZXJpb2QtPmNvbnN0cmFpbnRuYW1lIGlmIG5l ZWRlZC4KKyAqCisgKiBJZiBlaXRoZXIgYm91bmQgaXMgTlVMTCwgdGhlIGNvbnN0cmFpbnQgcGFz c2VzCisgKiAoc2luY2UgdGhhdCBpbmRpY2F0ZXMgYW4gdW5ib3VuZGVkIHJhbmdlKS4KKyAqLwor c3RhdGljIENvbnN0cmFpbnQgKgorbWFrZV9jb25zdHJhaW50X2Zvcl9wZXJpb2QoUmVsYXRpb24g cmVsLCBQZXJpb2REZWYgKnBlcmlvZCkKK3sKKwlDb2x1bW5SZWYgICpzY29sLAorCQkJICAgKmVj b2w7CisJQ29uc3RyYWludCAqY29uc3RyOworCVR5cGVDYWNoZUVudHJ5ICp0eXBlOworCisJaWYg KHBlcmlvZC0+Y29uc3RyYWludG5hbWUgPT0gTlVMTCkKKwkJcGVyaW9kLT5jb25zdHJhaW50bmFt ZSA9IENob29zZUNvbnN0cmFpbnROYW1lKFJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKHJlbCksCisJ CQkJCQkJCQkJCQkJICBwZXJpb2QtPnBlcmlvZG5hbWUsCisJCQkJCQkJCQkJCQkJICAiY2hlY2si LAorCQkJCQkJCQkJCQkJCSAgUmVsYXRpb25HZXROYW1lc3BhY2UocmVsKSwKKwkJCQkJCQkJCQkJ CQkgIE5JTCk7CisJc2NvbCA9IG1ha2VOb2RlKENvbHVtblJlZik7CisJc2NvbC0+ZmllbGRzID0g bGlzdF9tYWtlMShtYWtlU3RyaW5nKHBzdHJkdXAocGVyaW9kLT5zdGFydGNvbG5hbWUpKSk7CisJ c2NvbC0+bG9jYXRpb24gPSAwOworCisJZWNvbCA9IG1ha2VOb2RlKENvbHVtblJlZik7CisJZWNv bC0+ZmllbGRzID0gbGlzdF9tYWtlMShtYWtlU3RyaW5nKHBzdHJkdXAocGVyaW9kLT5lbmRjb2xu YW1lKSkpOworCWVjb2wtPmxvY2F0aW9uID0gMDsKKworCXR5cGUgPSBsb29rdXBfdHlwZV9jYWNo ZShwZXJpb2QtPmNvbHR5cGlkLCBUWVBFQ0FDSEVfTFRfT1BSKTsKKwlpZiAodHlwZS0+bHRfb3By ID09IEludmFsaWRPaWQpCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9G RUFUVVJFX05PVF9TVVBQT1JURUQpLAorCQkJCSBlcnJtc2coImNvbHVtbiBcIiVzXCIgY2Fubm90 IGJlIHVzZWQgaW4gYSBQRVJJT0QgYmVjYXVzZSBpdHMgdHlwZSAlcyBoYXMgbm8gbGVzcyB0aGFu IG9wZXJhdG9yIiwKKwkJCQkJCXBlcmlvZC0+c3RhcnRjb2xuYW1lLCBmb3JtYXRfdHlwZV9iZShw ZXJpb2QtPmNvbHR5cGlkKSkpKTsKKworCWNvbnN0ciA9IG1ha2VOb2RlKENvbnN0cmFpbnQpOwor CWNvbnN0ci0+Y29udHlwZSA9IENPTlNUUl9DSEVDSzsKKwljb25zdHItPmNvbm5hbWUgPSBwZXJp b2QtPmNvbnN0cmFpbnRuYW1lOworCWNvbnN0ci0+ZGVmZXJyYWJsZSA9IGZhbHNlOworCWNvbnN0 ci0+aW5pdGRlZmVycmVkID0gZmFsc2U7CisJY29uc3RyLT5sb2NhdGlvbiA9IC0xOworCWNvbnN0 ci0+aXNfbm9faW5oZXJpdCA9IGZhbHNlOworCWNvbnN0ci0+cmF3X2V4cHIgPSAoTm9kZSAqKSBt YWtlU2ltcGxlQV9FeHByKEFFWFBSX09QLAorCQkJCQkJCQkJCQkJIGdldF9vcG5hbWUodHlwZS0+ bHRfb3ByKSwKKwkJCQkJCQkJCQkJCSAoTm9kZSAqKSBzY29sLAorCQkJCQkJCQkJCQkJIChOb2Rl ICopIGVjb2wsCisJCQkJCQkJCQkJCQkgMCk7CisJY29uc3RyLT5jb29rZWRfZXhwciA9IE5VTEw7 CisJY29uc3RyLT5za2lwX3ZhbGlkYXRpb24gPSBmYWxzZTsKKwljb25zdHItPmlzX2VuZm9yY2Vk ID0gdHJ1ZTsKKwljb25zdHItPmluaXRpYWxseV92YWxpZCA9IHRydWU7CisKKwlyZXR1cm4gY29u c3RyOworfQorCisvKgorICogbWFrZV9yYW5nZV9jb2x1bW5fZm9yX3BlcmlvZAorICoKKyAqIEJ1 aWxkcyBhIEdFTkVSQVRFRCBBTFdBWVMgcmFuZ2UgY29sdW1uIGJhc2VkIG9uIHRoZSBQRVJJT0QK KyAqIHN0YXJ0L2VuZCBjb2x1bW5zLiBSZXR1cm5zIHRoZSBDb2x1bW5EZWYuCisgKi8KK0NvbHVt bkRlZiAqCittYWtlX3JhbmdlX2NvbHVtbl9mb3JfcGVyaW9kKFBlcmlvZERlZiAqcGVyaW9kKQor eworCWNoYXIJICAgKnJhbmdlX3R5cGVfbmFtZXNwYWNlOworCWNoYXIJICAgKnJhbmdlX3R5cGVf bmFtZTsKKwlDb2x1bW5EZWYgICpjb2wgPSBtYWtlTm9kZShDb2x1bW5EZWYpOworCUNvbHVtblJl ZiAgKnN0YXJ0dmFyLAorCQkJICAgKmVuZHZhcjsKKwlFeHByCSAgICpyYW5nZUNvbnN0cnVjdG9y OworCisJaWYgKCFnZXRfdHlwbmFtZV9hbmRfbmFtZXNwYWNlKHBlcmlvZC0+cm5ndHlwaWQsICZy YW5nZV90eXBlX25hbWUsCisJCQkJCQkJCSAgICZyYW5nZV90eXBlX25hbWVzcGFjZSkpCisJCWVs b2coRVJST1IsICJtaXNzaW5nIHJhbmdlIHR5cGUgJWQiLCBwZXJpb2QtPnJuZ3R5cGlkKTsKKwor CXN0YXJ0dmFyID0gbWFrZU5vZGUoQ29sdW1uUmVmKTsKKwlzdGFydHZhci0+ZmllbGRzID0gbGlz dF9tYWtlMShtYWtlU3RyaW5nKHBzdHJkdXAocGVyaW9kLT5zdGFydGNvbG5hbWUpKSk7CisJZW5k dmFyID0gbWFrZU5vZGUoQ29sdW1uUmVmKTsKKwllbmR2YXItPmZpZWxkcyA9IGxpc3RfbWFrZTEo bWFrZVN0cmluZyhwc3RyZHVwKHBlcmlvZC0+ZW5kY29sbmFtZSkpKTsKKwlyYW5nZUNvbnN0cnVj dG9yID0gKEV4cHIgKikgbWFrZUZ1bmNDYWxsKAorCQkJCQkJCQkJCQkgbGlzdF9tYWtlMihtYWtl U3RyaW5nKHJhbmdlX3R5cGVfbmFtZXNwYWNlKSwgbWFrZVN0cmluZyhyYW5nZV90eXBlX25hbWUp KSwKKwkJCQkJCQkJCQkJIGxpc3RfbWFrZTIoc3RhcnR2YXIsIGVuZHZhciksCisJCQkJCQkJCQkJ CSBDT0VSQ0VfRVhQTElDSVRfQ0FMTCwKKwkJCQkJCQkJCQkJIHBlcmlvZC0+bG9jYXRpb24pOwor CisJY29sLT5jb2xuYW1lID0gcHN0cmR1cChwZXJpb2QtPnBlcmlvZG5hbWUpOworCWNvbC0+dHlw ZU5hbWUgPSBtYWtlVHlwZU5hbWUocmFuZ2VfdHlwZV9uYW1lKTsKKwljb2wtPmNvbXByZXNzaW9u ID0gTlVMTDsKKwljb2wtPmluaGNvdW50ID0gMDsKKwljb2wtPmlzX2xvY2FsID0gdHJ1ZTsKKwlj b2wtPmlzX25vdF9udWxsID0gdHJ1ZTsKKwljb2wtPmlzX2Zyb21fdHlwZSA9IGZhbHNlOworCWNv bC0+c3RvcmFnZSA9IDA7CisJY29sLT5zdG9yYWdlX25hbWUgPSBOVUxMOworCWNvbC0+cmF3X2Rl ZmF1bHQgPSAoTm9kZSAqKSByYW5nZUNvbnN0cnVjdG9yOworCWNvbC0+Y29va2VkX2RlZmF1bHQg PSBOVUxMOworCWNvbC0+aWRlbnRpdHkgPSAwOworCWNvbC0+Z2VuZXJhdGVkID0gQVRUUklCVVRF X0dFTkVSQVRFRF9TVE9SRUQ7CisJY29sLT5jb2xsQ2xhdXNlID0gTlVMTDsKKwljb2wtPmNvbGxP aWQgPSBJbnZhbGlkT2lkOworCWNvbC0+ZmR3b3B0aW9ucyA9IE5JTDsKKwljb2wtPmxvY2F0aW9u ID0gcGVyaW9kLT5sb2NhdGlvbjsKKworCXJldHVybiBjb2w7Cit9CisKKy8qCisgKiBWYWxpZGF0 ZVBlcmlvZAorICoKKyAqIExvb2sgdXAgdGhlIGF0dHJpYnV0ZXMgdXNlZCBieSB0aGUgUEVSSU9E LAorICogbWFrZSBzdXJlIHRoZXkgZXhpc3QsIGFyZSBub3Qgc3lzdGVtIGNvbHVtbnMsCisgKiBh bmQgaGF2ZSB0aGUgc2FtZSB0eXBlIGFuZCBjb2xsYXRpb24uCisgKgorICogQWRkIG91ciBmaW5k aW5ncyB0byB0aGVzZSBQZXJpb2REZWYgZmllbGRzOgorICoKKyAqIGNvbHR5cGlkIC0gdGhlIHR5 cGUgb2YgUEVSSU9EIGNvbHVtbnMuCisgKiBzdGFydGF0dG51bSAtIHRoZSBhdHRudW0gb2YgdGhl IHN0YXJ0IGNvbHVtbi4KKyAqIGVuZGF0dG51bSAtIHRoZSBhdHRudW0gb2YgdGhlIGVuZCBjb2x1 bW4uCisgKiBybmd0eXBpZCAtIHRoZSByYW5nZSB0eXBlIHRvIHVzZS4KKyAqIHJuZ2F0dG51bSAt IHRoZSBhdHRudW0gb2YgYSBwcmUtZXhpc3RpbmcgcmFuZ2UgY29sdW1uLCBvciBJbnZhbGlkLgor ICovCitzdGF0aWMgdm9pZAorVmFsaWRhdGVQZXJpb2QoUmVsYXRpb24gcmVsLCBQZXJpb2REZWYg KnBlcmlvZCkKK3sKKwlIZWFwVHVwbGUJc3RhcnR0dXBsZTsKKwlIZWFwVHVwbGUJZW5kdHVwbGU7 CisJRm9ybV9wZ19hdHRyaWJ1dGUgYXR0dHVwbGU7CisJT2lkCQkJYXR0Y29sbGF0aW9uOworCU9p ZAkJCWVuZHR5cGlkOworCU9pZAkJCWVuZGNvbGxhdGlvbjsKKworCS8qIEZpbmQgdGhlIHN0YXJ0 IGNvbHVtbiAqLworCXN0YXJ0dHVwbGUgPSBTZWFyY2hTeXNDYWNoZUF0dE5hbWUoUmVsYXRpb25H ZXRSZWxpZChyZWwpLCBwZXJpb2QtPnN0YXJ0Y29sbmFtZSk7CisJaWYgKCFIZWFwVHVwbGVJc1Zh bGlkKHN0YXJ0dHVwbGUpKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVf VU5ERUZJTkVEX0NPTFVNTiksCisJCQkJIGVycm1zZygiY29sdW1uIFwiJXNcIiBvZiByZWxhdGlv biBcIiVzXCIgZG9lcyBub3QgZXhpc3QiLAorCQkJCQkJcGVyaW9kLT5zdGFydGNvbG5hbWUsIFJl bGF0aW9uR2V0UmVsYXRpb25OYW1lKHJlbCkpKSk7CisJYXR0dHVwbGUgPSAoRm9ybV9wZ19hdHRy aWJ1dGUpIEdFVFNUUlVDVChzdGFydHR1cGxlKTsKKwlwZXJpb2QtPmNvbHR5cGlkID0gYXR0dHVw bGUtPmF0dHR5cGlkOworCWF0dGNvbGxhdGlvbiA9IGF0dHR1cGxlLT5hdHRjb2xsYXRpb247CisJ cGVyaW9kLT5zdGFydGF0dG51bSA9IGF0dHR1cGxlLT5hdHRudW07CisJUmVsZWFzZVN5c0NhY2hl KHN0YXJ0dHVwbGUpOworCisJLyogTWFrZSBzdXJlIGl0J3Mgbm90IGEgc3lzdGVtIGNvbHVtbiAq LworCWlmIChwZXJpb2QtPnN0YXJ0YXR0bnVtIDw9IDApCisJCWVyZXBvcnQoRVJST1IsCisJCQkJ KGVycmNvZGUoRVJSQ09ERV9JTlZBTElEX09CSkVDVF9ERUZJTklUSU9OKSwKKwkJCQkgZXJybXNn KCJjYW5ub3QgdXNlIHN5c3RlbSBjb2x1bW4gXCIlc1wiIGluIHBlcmlvZCIsCisJCQkJCQlwZXJp b2QtPnN0YXJ0Y29sbmFtZSkpKTsKKworCS8qIEZpbmQgdGhlIGVuZCBjb2x1bW4gKi8KKwllbmR0 dXBsZSA9IFNlYXJjaFN5c0NhY2hlQXR0TmFtZShSZWxhdGlvbkdldFJlbGlkKHJlbCksIHBlcmlv ZC0+ZW5kY29sbmFtZSk7CisJaWYgKCFIZWFwVHVwbGVJc1ZhbGlkKGVuZHR1cGxlKSkKKwkJZXJl cG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX1VOREVGSU5FRF9DT0xVTU4pLAorCQkJ CSBlcnJtc2coImNvbHVtbiBcIiVzXCIgb2YgcmVsYXRpb24gXCIlc1wiIGRvZXMgbm90IGV4aXN0 IiwKKwkJCQkJCXBlcmlvZC0+ZW5kY29sbmFtZSwgUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUocmVs KSkpKTsKKwlhdHR0dXBsZSA9IChGb3JtX3BnX2F0dHJpYnV0ZSkgR0VUU1RSVUNUKGVuZHR1cGxl KTsKKwllbmR0eXBpZCA9IGF0dHR1cGxlLT5hdHR0eXBpZDsKKwllbmRjb2xsYXRpb24gPSBhdHR0 dXBsZS0+YXR0Y29sbGF0aW9uOworCXBlcmlvZC0+ZW5kYXR0bnVtID0gYXR0dHVwbGUtPmF0dG51 bTsKKwlSZWxlYXNlU3lzQ2FjaGUoZW5kdHVwbGUpOworCisJLyogTWFrZSBzdXJlIGl0J3Mgbm90 IGEgc3lzdGVtIGNvbHVtbiAqLworCWlmIChwZXJpb2QtPmVuZGF0dG51bSA8PSAwKQorCQllcmVw b3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfSU5WQUxJRF9PQkpFQ1RfREVGSU5JVElP TiksCisJCQkJIGVycm1zZygiY2Fubm90IHVzZSBzeXN0ZW0gY29sdW1uIFwiJXNcIiBpbiBwZXJp b2QiLAorCQkJCQkJcGVyaW9kLT5lbmRjb2xuYW1lKSkpOworCisJLyogQm90aCBjb2x1bW5zIG11 c3QgYmUgb2Ygc2FtZSB0eXBlICovCisJaWYgKHBlcmlvZC0+Y29sdHlwaWQgIT0gZW5kdHlwaWQp CisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9EQVRBVFlQRV9NSVNNQVRD SCksCisJCQkJIGVycm1zZygic3RhcnQgYW5kIGVuZCBjb2x1bW5zIG9mIHBlcmlvZCBtdXN0IGJl IG9mIHNhbWUgdHlwZSIpKSk7CisKKwkvKiBCb3RoIGNvbHVtbnMgbXVzdCBoYXZlIHRoZSBzYW1l IGNvbGxhdGlvbiAqLworCWlmIChhdHRjb2xsYXRpb24gIT0gZW5kY29sbGF0aW9uKQorCQllcmVw b3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfQ09MTEFUSU9OX01JU01BVENIKSwKKwkJ CQkgZXJybXNnKCJzdGFydCBhbmQgZW5kIGNvbHVtbnMgb2YgcGVyaW9kIG11c3QgaGF2ZSBzYW1l IGNvbGxhdGlvbiIpKSk7CisKKwkvKiBHZXQgdGhlIHJhbmdlIHR5cGUgYmFzZWQgb24gdGhlIHN0 YXJ0L2VuZCBjb2xzIG9yIHRoZSB1c2VyJ3MgY2hvaWNlICovCisJcGVyaW9kLT5ybmd0eXBpZCA9 IGNob29zZV9yYW5nZXR5cGVfZm9yX3BlcmlvZChwZXJpb2QpOworCisJLyoKKwkgKiBJZiB0aGUg R0VORVJBVEVEIGNvbHVtbnMgc2hvdWxkIGFscmVhZHkgZXhpc3QsIG1ha2Ugc3VyZSBpdCBpcwor CSAqIHNlbnNpYmxlLgorCSAqLworCWlmIChwZXJpb2QtPmNvbGV4aXN0cykKKwl7CisJCUhlYXBU dXBsZQlybmd0dXBsZSA9IFNlYXJjaFN5c0NhY2hlQXR0TmFtZShSZWxhdGlvbkdldFJlbGlkKHJl bCksCisJCQkJCQkJCQkJCQkJIHBlcmlvZC0+cGVyaW9kbmFtZSk7CisKKwkJaWYgKCFIZWFwVHVw bGVJc1ZhbGlkKHJuZ3R1cGxlKSkKKwkJCWVyZXBvcnQoRVJST1IsCisJCQkJCShlcnJjb2RlKEVS UkNPREVfVU5ERUZJTkVEX0NPTFVNTiksCisJCQkJCSBlcnJtc2coImNvbHVtbiBcIiVzXCIgb2Yg cmVsYXRpb24gXCIlc1wiIGRvZXMgbm90IGV4aXN0IiwKKwkJCQkJCQlwZXJpb2QtPnBlcmlvZG5h bWUsIFJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKHJlbCkpKSk7CisJCWF0dHR1cGxlID0gKEZvcm1f cGdfYXR0cmlidXRlKSBHRVRTVFJVQ1Qocm5ndHVwbGUpOworCisJCS8qCisJCSAqIE1ha2Ugc3Vy ZSB0aGUgZXhpc3RpbmcgY29sdW1uIG1hdGNoZXMgd2hhdCB3ZSB3b3VsZCBoYXZlIGNyZWF0ZWQu CisJCSAqIEZpcnN0IG9mIGFsbCwgaXQgbXVzdCBiZSBHRU5FUkFURUQuCisJCSAqLworCQlpZiAo YXR0dHVwbGUtPmF0dGdlbmVyYXRlZCA9PSAnXDAnKQorCQkJZXJlcG9ydChFUlJPUiwgKGVycm1z ZygiUGVyaW9kICVzIHVzZXMgYSBub24tZ2VuZXJhdGVkIGNvbHVtbiIsCisJCQkJCQkJcGVyaW9k LT5wZXJpb2RuYW1lKSkpOworCisJCS8qIFRoZSBHRU5FUkFURUQgY29sdW1uIG11c3QgYmUgU1RP UkVELiAqLworCQlpZiAoYXR0dHVwbGUtPmF0dGdlbmVyYXRlZCAhPSBBVFRSSUJVVEVfR0VORVJB VEVEX1NUT1JFRCkKKwkJCWVyZXBvcnQoRVJST1IsIChlcnJtc2coIlBlcmlvZCAlcyB1c2VzIGEg Z2VuZXJhdGVkIGNvbHVtbiB0aGF0IGlzIG5vdCBTVE9SRUQiLAorCQkJCQkJCXBlcmlvZC0+cGVy aW9kbmFtZSkpKTsKKworCQkvKiBUaGUgR0VORVJBVEVEIGNvbHVtbiBtdXN0IG5vdCBhbGxvdyBu dWxscy4gKi8KKwkJaWYgKCFhdHR0dXBsZS0+YXR0bm90bnVsbCAmJiAhSXNCaW5hcnlVcGdyYWRl KQorCQkJZXJlcG9ydChFUlJPUiwgKGVycm1zZygiUGVyaW9kICVzIHVzZXMgYSBnZW5lcmF0ZWQg Y29sdW1uIHRoYXQgYWxsb3dzIG51bGxzIiwKKwkJCQkJCQlwZXJpb2QtPnBlcmlvZG5hbWUpKSk7 CisKKwkJLyogVGhlIEdFTkVSQVRFRCBjb2x1bW4gbXVzdCBtYXRjaCBvdXIgcmFuZ2V0eXBlLiAq LworCQlpZiAocGVyaW9kLT5ybmd0eXBpZCAhPSBhdHR0dXBsZS0+YXR0dHlwaWQpCisJCQllcmVw b3J0KEVSUk9SLCAoZXJybXNnKCJQZXJpb2QgJXMgdXNlcyBhIGdlbmVyYXRlZCBjb2x1bW4gd2l0 aCB0aGUgd3JvbmcgdHlwZSIsCisJCQkJCQkJcGVyaW9kLT5wZXJpb2RuYW1lKSkpOworCisJCS8q CisJCSAqIFRoZSBHRU5FUkFURUQgY29sdW1uIG11c3Qgbm90IGJlIGluaGVyaXRlZC4KKwkJICog WFhYOiBJZiB0aGUgUEVSSU9EIGlzIGluaGVyaXRlZCwgdGhleSBtdXN0IGNvbWUgZnJvbSB0aGUg c2FtZSBwYXJlbnQuCisJCSAqLworCQlpZiAoIWF0dHR1cGxlLT5hdHRpc2xvY2FsKQorCQkJZXJl cG9ydChFUlJPUiwgKGVycm1zZygiUGVyaW9kICVzIHVzZXMgYSBnZW5lcmF0ZWQgY29sdW1uIHRo YXQgaXMgaW5oZXJpdGVkIiwKKwkJCQkJCQlwZXJpb2QtPnBlcmlvZG5hbWUpKSk7CisKKwkJLyoK KwkJICogWFhYOiBXZSBzaG91bGQgY2hlY2sgdGhlIEdFTkVSQVRFRCBleHByZXNzaW9uIGFsc28s IGJ1dCB0aGF0IGlzCisJCSAqIGhhcmQgdG8gZG8gYmVjYXVzZSBvbmUgaXMgY29va2VkIGFuZCBv bmUgaXMgcmF3LgorCQkgKi8KKworCQlwZXJpb2QtPnJuZ2F0dG51bSA9IGF0dHR1cGxlLT5hdHRu dW07CisKKwkJUmVsZWFzZVN5c0NhY2hlKHJuZ3R1cGxlKTsKKwl9Cit9CisKKy8qCisgKiBjaG9v c2VfcmFuZ2V0eXBlX2Zvcl9wZXJpb2QKKyAqCisgKiBGaW5kIGEgc3VpdGFibGUgcmFuZ2UgdHlw ZSBmb3Igb3BlcmF0aW9ucyBpbnZvbHZpbmcgdGhpcyBwZXJpb2QuCisgKiBVc2UgdGhlIHJhbmdl dHlwZSBvcHRpb24gaWYgcHJvdmlkZWQsIG90aGVyd2lzZSB0cnkgdG8gZmluZCBhCisgKiBub24t YW1iaWd1b3VzIGV4aXN0aW5nIHR5cGUuCisgKi8KK09pZAorY2hvb3NlX3JhbmdldHlwZV9mb3Jf cGVyaW9kKFBlcmlvZERlZiAqcGVyaW9kKQoreworCU9pZAkJCXJuZ3R5cGlkOworCisJaWYgKHBl cmlvZC0+cmFuZ2V0eXBlbmFtZSAhPSBOVUxMKQorCXsKKwkJLyogTWFrZSBzdXJlIGl0IGV4aXN0 cyAqLworCQlybmd0eXBpZCA9IFR5cGVuYW1lR2V0VHlwaWRFeHRlbmRlZChwZXJpb2QtPnJhbmdl dHlwZW5hbWUsIGZhbHNlKTsKKwkJaWYgKHJuZ3R5cGlkID09IEludmFsaWRPaWQpCisJCQllcmVw b3J0KEVSUk9SLCAoZXJyY29kZShFUlJDT0RFX1VOREVGSU5FRF9PQkpFQ1QpLAorCQkJCQkJCWVy cm1zZygiUmFuZ2UgdHlwZSAlcyBub3QgZm91bmQiLAorCQkJCQkJCQkgICBwZXJpb2QtPnJhbmdl dHlwZW5hbWUpKSk7CisKKwkJLyogTWFrZSBzdXJlIGl0IGlzIGEgcmFuZ2UgdHlwZSAqLworCQlp ZiAoIXR5cGVfaXNfcmFuZ2Uocm5ndHlwaWQpKQorCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJKGVy cmNvZGUoRVJSQ09ERV9EQVRBVFlQRV9NSVNNQVRDSCksCisJCQkJCSBlcnJtc2coIlR5cGUgJXMg aXMgbm90IGEgcmFuZ2UgdHlwZSIsCisJCQkJCQkJcGVyaW9kLT5yYW5nZXR5cGVuYW1lKSkpOwor CisJCS8qIE1ha2Ugc3VyZSBpdCBtYXRjaGVzIHRoZSBjb2x1bW4gdHlwZSAqLworCQlpZiAoZ2V0 X3JhbmdlX3N1YnR5cGUocm5ndHlwaWQpICE9IHBlcmlvZC0+Y29sdHlwaWQpCisJCQllcmVwb3J0 KEVSUk9SLAorCQkJCQkoZXJyY29kZShFUlJDT0RFX0RBVEFUWVBFX01JU01BVENIKSwKKwkJCQkJ IGVycm1zZygiUmFuZ2UgdHlwZSAlcyBkb2VzIG5vdCBtYXRjaCBjb2x1bW4gdHlwZSAlcyIsCisJ CQkJCQkJcGVyaW9kLT5yYW5nZXR5cGVuYW1lLAorCQkJCQkJCWZvcm1hdF90eXBlX2JlKHBlcmlv ZC0+Y29sdHlwaWQpKSkpOworCX0KKwllbHNlCisJeworCQlybmd0eXBpZCA9IGdldF9zdWJ0eXBl X3JhbmdlKHBlcmlvZC0+Y29sdHlwaWQpOworCQlpZiAocm5ndHlwaWQgPT0gSW52YWxpZE9pZCkK KwkJCWVyZXBvcnQoRVJST1IsCisJCQkJCShlcnJjb2RlKEVSUkNPREVfVU5ERUZJTkVEX09CSkVD VCksCisJCQkJCSBlcnJtc2coIm5vIHJhbmdlIHR5cGUgZm9yICVzIGZvdW5kIGZvciBwZXJpb2Qg JXMiLAorCQkJCQkJCWZvcm1hdF90eXBlX2JlKHBlcmlvZC0+Y29sdHlwaWQpLAorCQkJCQkJCXBl cmlvZC0+cGVyaW9kbmFtZSksCisJCQkJCSBlcnJoaW50KCJZb3UgY2FuIGRlZmluZSBhIGN1c3Rv bSByYW5nZSB0eXBlIHdpdGggQ1JFQVRFIFRZUEUiKSkpOworCisJfQorCisJcmV0dXJuIHJuZ3R5 cGlkOworfQorCitzdGF0aWMgdm9pZAorQWRkUmVsYXRpb25OZXdQZXJpb2QoUmVsYXRpb24gcmVs LCBQZXJpb2REZWYgKnBlcmlvZCkKK3sKKwlSZWxhdGlvbglhdHRyZWxhdGlvbjsKKwlPaWQJCQlj b25vaWQ7CisJQ29uc3RyYWludCAqY29uc3RyOworCUxpc3QJICAgKm5ld2NvbnN0cnM7CisKKwlh dHRyZWxhdGlvbiA9IHRhYmxlX29wZW4oQXR0cmlidXRlUmVsYXRpb25JZCwgUm93RXhjbHVzaXZl TG9jayk7CisKKwkvKiBGaW5kIHRoZSBHRU5FUkFURUQgcmFuZ2UgY29sdW1uICovCisKKwlwZXJp b2QtPnJuZ2F0dG51bSA9IGdldF9hdHRudW0oUmVsYXRpb25HZXRSZWxpZChyZWwpLCBwZXJpb2Qt PnBlcmlvZG5hbWUpOworCWlmIChwZXJpb2QtPnJuZ2F0dG51bSA9PSBJbnZhbGlkQXR0ck51bWJl cikKKwkJZWxvZyhFUlJPUiwgIm1pc3NpbmcgYXR0cmlidXRlICVzIiwgcGVyaW9kLT5wZXJpb2Ru YW1lKTsKKworCS8qIFRoZSBwYXJzZXIgaGFzIGFscmVhZHkgZm91bmQgcGVyaW9kLT5jb2x0eXBp ZCAqLworCisJY29uc3RyID0gbWFrZV9jb25zdHJhaW50X2Zvcl9wZXJpb2QocmVsLCBwZXJpb2Qp OworCW5ld2NvbnN0cnMgPSBBZGRSZWxhdGlvbk5ld0NvbnN0cmFpbnRzKHJlbCwgTklMLCBsaXN0 X21ha2UxKGNvbnN0ciksIGZhbHNlLAorCQkJCQkJCQkJCSAgIHRydWUsIHRydWUsIE5VTEwpOwor CWNvbm9pZCA9ICgoQ29va2VkQ29uc3RyYWludCAqKSBsaW5pdGlhbChuZXdjb25zdHJzKSktPmNv bm9pZDsKKworCS8qIFNhdmUgaXQgKi8KKwlTdG9yZVBlcmlvZChyZWwsIHBlcmlvZC0+cGVyaW9k bmFtZSwgcGVyaW9kLT5zdGFydGF0dG51bSwgcGVyaW9kLT5lbmRhdHRudW0sCisJCQkJcGVyaW9k LT5ybmdhdHRudW0sIGNvbm9pZCk7CisKKwl0YWJsZV9jbG9zZShhdHRyZWxhdGlvbiwgUm93RXhj bHVzaXZlTG9jayk7Cit9CisKIC8qCiAgKiBFbWl0IHRoZSByaWdodCBlcnJvciBvciB3YXJuaW5n IG1lc3NhZ2UgZm9yIGEgIkRST1AiIGNvbW1hbmQgaXNzdWVkIG9uIGEKICAqIG5vbi1leGlzdGVu dCByZWxhdGlvbgpAQCAtMjc0Nyw3ICszMjA1LDcgQEAgTWVyZ2VBdHRyaWJ1dGVzKExpc3QgKmNv bHVtbnMsIGNvbnN0IExpc3QgKnN1cGVycywgY2hhciByZWxwZXJzaXN0ZW5jZSwKIAkJICogdGhh dCdzIG5vdCBtYXJrZWQgTk8gSU5IRVJJVCAoZXZlbiBpZiBub3QgdmFsaWQpLgogCQkgKi8KIAkJ bm5jb25zdHJzID0gUmVsYXRpb25HZXROb3ROdWxsQ29uc3RyYWludHMoUmVsYXRpb25HZXRSZWxp ZChyZWxhdGlvbiksCi0JCQkJCQkJCQkJCQkgIHRydWUsIGZhbHNlKTsKKwkJCQkJCQkJCQkJCSAg dHJ1ZSwgZmFsc2UsIE5VTEwpOwogCQlmb3JlYWNoX3B0cihDb29rZWRDb25zdHJhaW50LCBjYywg bm5jb25zdHJzKQogCQkJbm5jb2xzID0gYm1zX2FkZF9tZW1iZXIobm5jb2xzLCBjYy0+YXR0bnVt KTsKIApAQCAtMzE0MCw2ICszNTk4LDE3MiBAQCBNZXJnZUF0dHJpYnV0ZXMoTGlzdCAqY29sdW1u cywgY29uc3QgTGlzdCAqc3VwZXJzLCBjaGFyIHJlbHBlcnNpc3RlbmNlLAogfQogCiAKKy8qLS0t LS0tLS0tLQorICogTWVyZ2VQZXJpb2RzCisgKgkJUmV0dXJucyBuZXcgcGVyaW9kIGxpc3QgZ2l2 ZW4gaW5pdGlhbCBwZXJpb2RzIGFuZCBzdXBlcmNsYXNzZXMuCisgKgorICogRm9yIG5vdyB3ZSBk b24ndCBzdXBwb3J0IGluaGVyaXRlbmNlIHdpdGggUEVSSU9EcywKKyAqIGJ1dCB3ZSBtaWdodCBt YWtlIGl0IHdvcmsgZXZlbnR1YWxseS4KKyAqCisgKiBXZSBjYW4gb21pdCBsb3RzIG9mIGNoZWNr cyBoZXJlIGFuZCBhc3N1bWUgTWVyZ2VBdHRyaWJ1dGVzIGFscmVhZHkgZGlkIHRoZW0sCisgKiBm b3IgZXhhbXBsZSB0aGF0IGNoaWxkICYgcGFyZW50cyBhcmUgbm90IGEgbWl4IG9mIHBlcm1hbmVu dCBhbmQgdGVtcC4KKyAqLworc3RhdGljIExpc3QgKgorTWVyZ2VQZXJpb2RzKGNoYXIgKnJlbG5h bWUsIExpc3QgKnBlcmlvZHMsIExpc3QgKnRhYmxlRWx0cywgTGlzdCAqc3VwZXJzKQoreworCUxp c3RDZWxsICAgKmVudHJ5OworCisJLyogSWYgd2UgaGF2ZSBhIFBFUklPRCB0aGVuIHN1cGVycyBt dXN0IGJlIGVtcHR5LiAqLworCisJaWYgKGxpc3RfbGVuZ3RoKHBlcmlvZHMpID4gMCAmJiBsaXN0 X2xlbmd0aChzdXBlcnMpID4gMCkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJD T0RFX0ZFQVRVUkVfTk9UX1NVUFBPUlRFRCksCisJCQkJIGVycm1zZygiSW5oZXJpdGluZyBpcyBu b3Qgc3VwcG9ydGVkIHdoZW4gYSB0YWJsZSBoYXMgYSBQRVJJT0QiKSkpOworCisJLyogSWYgYW55 IHBhcmVudCB0YWJsZSBoYXMgYSBQRVJJT0QsIHRoZW4gZmFpbC4gKi8KKworCWZvcmVhY2goZW50 cnksIHN1cGVycykKKwl7CisJCU9pZAkJCXBhcmVudCA9IGxmaXJzdF9vaWQoZW50cnkpOworCQlS ZWxhdGlvbglyZWxhdGlvbjsKKwkJUmVsYXRpb24JcGdfcGVyaW9kOworCQlTeXNTY2FuRGVzYyBz Y2FuOworCQlTY2FuS2V5RGF0YSBza2V5WzFdOworCQlIZWFwVHVwbGUJdHVwbGU7CisKKwkJLyog Y2FsbGVyIGFscmVhZHkgZ290IGxvY2sgKi8KKwkJcmVsYXRpb24gPSB0YWJsZV9vcGVuKHBhcmVu dCwgTm9Mb2NrKTsKKwkJcGdfcGVyaW9kID0gdGFibGVfb3BlbihQZXJpb2RSZWxhdGlvbklkLCBB Y2Nlc3NTaGFyZUxvY2spOworCisJCVNjYW5LZXlJbml0KCZza2V5WzBdLAorCQkJCQlBbnVtX3Bn X3BlcmlvZF9wZXJyZWxpZCwKKwkJCQkJQlRFcXVhbFN0cmF0ZWd5TnVtYmVyLCBGX09JREVRLAor CQkJCQlPYmplY3RJZEdldERhdHVtKHBhcmVudCkpOworCisJCXNjYW4gPSBzeXN0YWJsZV9iZWdp bnNjYW4ocGdfcGVyaW9kLCBQZXJpb2RSZWxpZE5hbWVJbmRleElkLCB0cnVlLAorCQkJCQkJCQkg IE5VTEwsIDEsIHNrZXkpOworCisJCWlmIChIZWFwVHVwbGVJc1ZhbGlkKHR1cGxlID0gc3lzdGFi bGVfZ2V0bmV4dChzY2FuKSkpCisJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkoZXJyY29kZShFUlJD T0RFX0ZFQVRVUkVfTk9UX1NVUFBPUlRFRCksCisJCQkJCSBlcnJtc2coIkluaGVyaXRpbmcgZnJv bSBhIHRhYmxlIHdpdGggYSBQRVJJT0QgaXMgbm90IHN1cHBvcnRlZCIpKSk7CisKKwkJc3lzdGFi bGVfZW5kc2NhbihzY2FuKTsKKwkJdGFibGVfY2xvc2UocGdfcGVyaW9kLCBBY2Nlc3NTaGFyZUxv Y2spOworCQl0YWJsZV9jbG9zZShyZWxhdGlvbiwgTm9Mb2NrKTsKKwl9CisKKwkvKgorCSAqIEZp bmQgdGhlIHN0YXJ0ICYgZW5kIGNvbHVtbnMgYW5kIGdldCB0aGVpciBhdHRubyBhbmQgdHlwZS4g SW4gdGhlIHNhbWUKKwkgKiBwYXNzLCBtYWtlIHN1cmUgdGhlIHBlcmlvZCBkb2Vzbid0IGNvbmZs aWN0IHdpdGggYW55IGNvbHVtbiBuYW1lcy4gQWxzbworCSAqIG1ha2Ugc3VyZSB0aGUgc2FtZSBw ZXJpb2QgbmFtZSBpc24ndCB1c2VkIG1vcmUgdGhhbiBvbmNlLgorCSAqLworCWZvcmVhY2goZW50 cnksIHBlcmlvZHMpCisJeworCQlQZXJpb2REZWYgICpwZXJpb2QgPSBsZmlyc3QoZW50cnkpOwor CQlMaXN0Q2VsbCAgICplbnRyeTI7CisJCWludAkJCWkgPSAxOworCQlPaWQJCQlzdGFydGNvbHR5 cGlkID0gSW52YWxpZE9pZDsKKwkJT2lkCQkJZW5kY29sdHlwaWQgPSBJbnZhbGlkT2lkOworCQlP aWQJCQlzdGFydGNvbGNvbGxhdGlvbiA9IEludmFsaWRPaWQ7CisJCU9pZAkJCWVuZGNvbGNvbGxh dGlvbiA9IEludmFsaWRPaWQ7CisKKwkJcGVyaW9kLT5zdGFydGF0dG51bSA9IEludmFsaWRBdHRy TnVtYmVyOworCQlwZXJpb2QtPmVuZGF0dG51bSA9IEludmFsaWRBdHRyTnVtYmVyOworCisJCWlm IChTeXN0ZW1BdHRyaWJ1dGVCeU5hbWUocGVyaW9kLT5wZXJpb2RuYW1lKSAhPSBOVUxMKQorCQkJ ZXJlcG9ydChFUlJPUiwKKwkJCQkJKGVycmNvZGUoRVJSQ09ERV9EVVBMSUNBVEVfQ09MVU1OKSwK KwkJCQkJIGVycm1zZygicGVyaW9kIG5hbWUgXCIlc1wiIGNvbmZsaWN0cyB3aXRoIGEgc3lzdGVt IGNvbHVtbiBuYW1lIiwKKwkJCQkJCQlwZXJpb2QtPnBlcmlvZG5hbWUpKSk7CisKKwkJZm9yZWFj aChlbnRyeTIsIHBlcmlvZHMpCisJCXsKKwkJCVBlcmlvZERlZiAgKnBlcmlvZDIgPSBsZmlyc3Qo ZW50cnkyKTsKKworCQkJaWYgKHBlcmlvZCAhPSBwZXJpb2QyICYmIHN0cmNtcChwZXJpb2QtPnBl cmlvZG5hbWUsIHBlcmlvZDItPnBlcmlvZG5hbWUpID09IDApCisJCQkJZXJlcG9ydChFUlJPUiwK KwkJCQkJCShlcnJjb2RlKEVSUkNPREVfRFVQTElDQVRFX09CSkVDVCksCisJCQkJCQkgZXJybXNn KCJwZXJpb2QgbmFtZSBcIiVzXCIgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIiwKKwkJCQkJCQkJ cGVyaW9kLT5wZXJpb2RuYW1lKSkpOworCQl9CisKKwkJZm9yZWFjaChlbnRyeTIsIHRhYmxlRWx0 cykKKwkJeworCQkJQ29sdW1uRGVmICAqY29sID0gbGZpcnN0KGVudHJ5Mik7CisJCQlpbnQzMgkJ YXR0dHlwbW9kOworCQkJQWNsUmVzdWx0CWFjbHJlc3VsdDsKKworCQkJaWYgKCFwZXJpb2QtPmNv bGV4aXN0cyAmJiBzdHJjbXAocGVyaW9kLT5wZXJpb2RuYW1lLCBjb2wtPmNvbG5hbWUpID09IDAp CisJCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJCShlcnJjb2RlKEVSUkNPREVfRFVQTElDQVRFX0NP TFVNTiksCisJCQkJCQkgZXJybXNnKCJwZXJpb2QgbmFtZSBcIiVzXCIgY29uZmxpY3RzIHdpdGgg YSBjb2x1bW4gbmFtZSIsCisJCQkJCQkJCXBlcmlvZC0+cGVyaW9kbmFtZSkpKTsKKworCQkJaWYg KHN0cmNtcChwZXJpb2QtPnN0YXJ0Y29sbmFtZSwgY29sLT5jb2xuYW1lKSA9PSAwKQorCQkJewor CQkJCXBlcmlvZC0+c3RhcnRhdHRudW0gPSBpOworCisJCQkJdHlwZW5hbWVUeXBlSWRBbmRNb2Qo TlVMTCwgY29sLT50eXBlTmFtZSwgJnN0YXJ0Y29sdHlwaWQsCisJCQkJCQkJCQkgJmF0dHR5cG1v ZCk7CisKKwkJCQlhY2xyZXN1bHQgPSBvYmplY3RfYWNsY2hlY2soVHlwZVJlbGF0aW9uSWQsIHN0 YXJ0Y29sdHlwaWQsCisJCQkJCQkJCQkJCUdldFVzZXJJZCgpLCBBQ0xfVVNBR0UpOworCQkJCWlm IChhY2xyZXN1bHQgIT0gQUNMQ0hFQ0tfT0spCisJCQkJCWFjbGNoZWNrX2Vycm9yX3R5cGUoYWNs cmVzdWx0LCBzdGFydGNvbHR5cGlkKTsKKworCQkJCXN0YXJ0Y29sY29sbGF0aW9uID0gR2V0Q29s dW1uRGVmQ29sbGF0aW9uKE5VTEwsIGNvbCwgc3RhcnRjb2x0eXBpZCk7CisJCQl9CisKKwkJCWlm IChzdHJjbXAocGVyaW9kLT5lbmRjb2xuYW1lLCBjb2wtPmNvbG5hbWUpID09IDApCisJCQl7CisJ CQkJcGVyaW9kLT5lbmRhdHRudW0gPSBpOworCisJCQkJdHlwZW5hbWVUeXBlSWRBbmRNb2QoTlVM TCwgY29sLT50eXBlTmFtZSwgJmVuZGNvbHR5cGlkLAorCQkJCQkJCQkJICZhdHR0eXBtb2QpOwor CisJCQkJYWNscmVzdWx0ID0gb2JqZWN0X2FjbGNoZWNrKFR5cGVSZWxhdGlvbklkLCBlbmRjb2x0 eXBpZCwKKwkJCQkJCQkJCQkJR2V0VXNlcklkKCksIEFDTF9VU0FHRSk7CisJCQkJaWYgKGFjbHJl c3VsdCAhPSBBQ0xDSEVDS19PSykKKwkJCQkJYWNsY2hlY2tfZXJyb3JfdHlwZShhY2xyZXN1bHQs IGVuZGNvbHR5cGlkKTsKKworCQkJCWVuZGNvbGNvbGxhdGlvbiA9IEdldENvbHVtbkRlZkNvbGxh dGlvbihOVUxMLCBjb2wsIGVuZGNvbHR5cGlkKTsKKwkJCX0KKworCQkJaSsrOworCQl9CisKKwkJ LyogRGlkIHdlIGZpbmQgdGhlIGNvbHVtbnM/ICovCisJCWlmIChwZXJpb2QtPnN0YXJ0YXR0bnVt ID09IEludmFsaWRBdHRyTnVtYmVyKQorCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJKGVycmNvZGUo RVJSQ09ERV9VTkRFRklORURfQ09MVU1OKSwKKwkJCQkJIGVycm1zZygiY29sdW1uIFwiJXNcIiBv ZiByZWxhdGlvbiBcIiVzXCIgZG9lcyBub3QgZXhpc3QiLAorCQkJCQkJCXBlcmlvZC0+c3RhcnRj b2xuYW1lLCByZWxuYW1lKSkpOworCQlpZiAocGVyaW9kLT5lbmRhdHRudW0gPT0gSW52YWxpZEF0 dHJOdW1iZXIpCisJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkoZXJyY29kZShFUlJDT0RFX1VOREVG SU5FRF9DT0xVTU4pLAorCQkJCQkgZXJybXNnKCJjb2x1bW4gXCIlc1wiIG9mIHJlbGF0aW9uIFwi JXNcIiBkb2VzIG5vdCBleGlzdCIsCisJCQkJCQkJcGVyaW9kLT5lbmRjb2xuYW1lLCByZWxuYW1l KSkpOworCisJCS8qIEJvdGggY29sdW1ucyBtdXN0IGJlIG9mIHNhbWUgdHlwZSAqLworCQlpZiAo c3RhcnRjb2x0eXBpZCAhPSBlbmRjb2x0eXBpZCkKKwkJCWVyZXBvcnQoRVJST1IsCisJCQkJCShl cnJjb2RlKEVSUkNPREVfREFUQVRZUEVfTUlTTUFUQ0gpLAorCQkJCQkgZXJybXNnKCJzdGFydCBh bmQgZW5kIGNvbHVtbnMgb2YgcGVyaW9kIG11c3QgYmUgb2Ygc2FtZSB0eXBlIikpKTsKKworCQkv KiBCb3RoIGNvbHVtbnMgbXVzdCBoYXZlIHRoZSBzYW1lIGNvbGxhdGlvbiAqLworCQlpZiAoc3Rh cnRjb2xjb2xsYXRpb24gIT0gZW5kY29sY29sbGF0aW9uKQorCQkJZXJlcG9ydChFUlJPUiwKKwkJ CQkJKGVycmNvZGUoRVJSQ09ERV9DT0xMQVRJT05fTUlTTUFUQ0gpLAorCQkJCQkgZXJybXNnKCJz dGFydCBhbmQgZW5kIGNvbHVtbnMgb2YgcGVyaW9kIG11c3QgaGF2ZSBzYW1lIGNvbGxhdGlvbiIp KSk7CisKKwkJcGVyaW9kLT5jb2x0eXBpZCA9IHN0YXJ0Y29sdHlwaWQ7CisJCXBlcmlvZC0+cm5n dHlwaWQgPSBjaG9vc2VfcmFuZ2V0eXBlX2Zvcl9wZXJpb2QocGVyaW9kKTsKKwl9CisKKwlyZXR1 cm4gcGVyaW9kczsKK30KKwogLyoKICAqIE1lcmdlQ2hlY2tDb25zdHJhaW50CiAgKgkJVHJ5IHRv IG1lcmdlIGFuIGluaGVyaXRlZCBDSEVDSyBjb25zdHJhaW50IHdpdGggcHJldmlvdXMgb25lcwpA QCAtNDU0NywxMiArNTE3MSwxMiBAQCBBbHRlclRhYmxlKEFsdGVyVGFibGVTdG10ICpzdG10LCBM T0NLTU9ERSBsb2NrbW9kZSwKICAqIGV4aXN0aW5nIHF1ZXJ5IHBsYW5zLiAgT24gdGhlIGFzc3Vt cHRpb24gaXQncyBub3QgdXNlZCBmb3Igc3VjaCwgd2UKICAqIGRvbid0IGhhdmUgdG8gcmVqZWN0 IHBlbmRpbmcgQUZURVIgdHJpZ2dlcnMsIGVpdGhlci4KICAqCi0gKiBBbHNvLCBzaW5jZSB3ZSBk b24ndCBoYXZlIGFuIEFsdGVyVGFibGVVdGlsaXR5Q29udGV4dCwgdGhpcyBjYW5ub3QgYmUKKyAq IEFsc28sIGlmIHlvdSBkb24ndCBwYXNzIGFuIEFsdGVyVGFibGVVdGlsaXR5Q29udGV4dCwgdGhp cyBjYW5ub3QgYmUKICAqIHVzZWQgZm9yIGFueSBzdWJjb21tYW5kIHR5cGVzIHRoYXQgcmVxdWly ZSBwYXJzZSB0cmFuc2Zvcm1hdGlvbiBvcgogICogY291bGQgZ2VuZXJhdGUgc3ViY29tbWFuZHMg dGhhdCBoYXZlIHRvIGJlIHBhc3NlZCB0byBQcm9jZXNzVXRpbGl0eS4KICAqLwogdm9pZAotQWx0 ZXJUYWJsZUludGVybmFsKE9pZCByZWxpZCwgTGlzdCAqY21kcywgYm9vbCByZWN1cnNlKQorQWx0 ZXJUYWJsZUludGVybmFsKE9pZCByZWxpZCwgTGlzdCAqY21kcywgYm9vbCByZWN1cnNlLCBBbHRl clRhYmxlVXRpbGl0eUNvbnRleHQgKmNvbnRleHQpCiB7CiAJUmVsYXRpb24JcmVsOwogCUxPQ0tN T0RFCWxvY2ttb2RlID0gQWx0ZXJUYWJsZUdldExvY2tMZXZlbChjbWRzKTsKQEAgLTQ1NjEsNyAr NTE4NSw3IEBAIEFsdGVyVGFibGVJbnRlcm5hbChPaWQgcmVsaWQsIExpc3QgKmNtZHMsIGJvb2wg cmVjdXJzZSkKIAogCUV2ZW50VHJpZ2dlckFsdGVyVGFibGVSZWxpZChyZWxpZCk7CiAKLQlBVENv bnRyb2xsZXIoTlVMTCwgcmVsLCBjbWRzLCByZWN1cnNlLCBsb2NrbW9kZSwgTlVMTCk7CisJQVRD b250cm9sbGVyKE5VTEwsIHJlbCwgY21kcywgcmVjdXJzZSwgbG9ja21vZGUsIGNvbnRleHQpOwog fQogCiAvKgpAQCAtNDY1NCw2ICs1Mjc4LDkgQEAgQWx0ZXJUYWJsZUdldExvY2tMZXZlbChMaXN0 ICpjbWRzKQogCQkJY2FzZSBBVF9FbmFibGVSZXBsaWNhUnVsZToJLyogbWF5IGNoYW5nZSBTRUxF Q1QgcnVsZXMgKi8KIAkJCWNhc2UgQVRfRW5hYmxlUnVsZTogLyogbWF5IGNoYW5nZSBTRUxFQ1Qg cnVsZXMgKi8KIAkJCWNhc2UgQVRfRGlzYWJsZVJ1bGU6CS8qIG1heSBjaGFuZ2UgU0VMRUNUIHJ1 bGVzICovCisJCQljYXNlIEFUX0FkZFBlcmlvZDoJLyogc2hhcmVzIG5hbWVzcGFjZSB3aXRoIGNv bHVtbnMsIGFkZHMKKwkJCQkJCQkJICogY29uc3RyYWludCAqLworCQkJY2FzZSBBVF9Ecm9wUGVy aW9kOgogCQkJCWNtZF9sb2NrbW9kZSA9IEFjY2Vzc0V4Y2x1c2l2ZUxvY2s7CiAJCQkJYnJlYWs7 CiAKQEAgLTQ5NzMsNiArNTYwMCwxNyBAQCBBVFByZXBDbWQoTGlzdCAqKndxdWV1ZSwgUmVsYXRp b24gcmVsLCBBbHRlclRhYmxlQ21kICpjbWQsCiAJCQkvKiBUaGlzIGNvbW1hbmQgbmV2ZXIgcmVj dXJzZXMgKi8KIAkJCXBhc3MgPSBBVF9QQVNTX0FERF9PVEhFUkNPTlNUUjsKIAkJCWJyZWFrOwor CQljYXNlIEFUX0FkZFBlcmlvZDoJCS8qIEFMVEVSIFRBQkxFIC4uLiBBREQgUEVSSU9EIEZPUiBu YW1lIChzdGFydCwKKwkJCQkJCQkJICogZW5kKSAqLworCQkJQVRTaW1wbGVQZXJtaXNzaW9ucyhj bWQtPnN1YnR5cGUsIHJlbCwgQVRUX1RBQkxFKTsKKwkJCUFUUHJlcEFkZFBlcmlvZCh3cXVldWUs IHJlbCwgY21kLCBsb2NrbW9kZSwgY29udGV4dCk7CisJCQkvKiBObyByZWN1cnNpb246IGluaGVy aXRhbmNlIG5vdCBzdXBwb3J0ZWQgd2l0aCBQRVJJT0RzICovCisJCQlwYXNzID0gQVRfUEFTU19B RERfUEVSSU9EOworCQkJYnJlYWs7CisJCWNhc2UgQVRfRHJvcFBlcmlvZDoJCS8qIEFMVEVSIFRB QkxFIC4uLiBEUk9QIFBFUklPRCBGT1IgbmFtZSAqLworCQkJQVRTaW1wbGVQZXJtaXNzaW9ucyhj bWQtPnN1YnR5cGUsIHJlbCwgQVRUX1RBQkxFKTsKKwkJCXBhc3MgPSBBVF9QQVNTX0RST1A7CisJ CQlicmVhazsKIAkJY2FzZSBBVF9BZGRJZGVudGl0eToKIAkJCUFUU2ltcGxlUGVybWlzc2lvbnMo Y21kLT5zdWJ0eXBlLCByZWwsCiAJCQkJCQkJCUFUVF9UQUJMRSB8IEFUVF9QQVJUSVRJT05FRF9U QUJMRSB8IEFUVF9WSUVXIHwKQEAgLTUzODYsNiArNjAyNCwxNCBAQCBBVEV4ZWNDbWQoTGlzdCAq KndxdWV1ZSwgQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLAogCQljYXNlIEFUX0Nvb2tlZENvbHVtbkRl ZmF1bHQ6CS8qIGFkZCBhIHByZS1jb29rZWQgZGVmYXVsdCAqLwogCQkJYWRkcmVzcyA9IEFURXhl Y0Nvb2tlZENvbHVtbkRlZmF1bHQocmVsLCBjbWQtPm51bSwgY21kLT5kZWYpOwogCQkJYnJlYWs7 CisJCWNhc2UgQVRfQWRkUGVyaW9kOgorCQkJYWRkcmVzcyA9IEFURXhlY0FkZFBlcmlvZCh3cXVl dWUsIHRhYiwgcmVsLCAoUGVyaW9kRGVmICopIGNtZC0+ZGVmLAorCQkJCQkJCQkJICBsb2NrbW9k ZSwgY29udGV4dCk7CisJCQlicmVhazsKKwkJY2FzZSBBVF9Ecm9wUGVyaW9kOgorCQkJQVRFeGVj RHJvcFBlcmlvZChyZWwsIGNtZC0+bmFtZSwgY21kLT5iZWhhdmlvciwgZmFsc2UsIGZhbHNlLAor CQkJCQkJCSBjbWQtPm1pc3Npbmdfb2spOworCQkJYnJlYWs7CiAJCWNhc2UgQVRfQWRkSWRlbnRp dHk6CiAJCQljbWQgPSBBVFBhcnNlVHJhbnNmb3JtQ21kKHdxdWV1ZSwgdGFiLCByZWwsIGNtZCwg ZmFsc2UsIGxvY2ttb2RlLAogCQkJCQkJCQkJICBjdXJfcGFzcywgY29udGV4dCk7CkBAIC02NTky LDYgKzcyMzgsOCBAQCBhbHRlcl90YWJsZV90eXBlX3RvX3N0cmluZyhBbHRlclRhYmxlVHlwZSBj bWR0eXBlKQogCQljYXNlIEFUX0FkZENvbHVtbjoKIAkJY2FzZSBBVF9BZGRDb2x1bW5Ub1ZpZXc6 CiAJCQlyZXR1cm4gIkFERCBDT0xVTU4iOworCQljYXNlIEFUX0FkZFBlcmlvZDoKKwkJCXJldHVy biAiQUREIFBFUklPRCI7CiAJCWNhc2UgQVRfQ29sdW1uRGVmYXVsdDoKIAkJY2FzZSBBVF9Db29r ZWRDb2x1bW5EZWZhdWx0OgogCQkJcmV0dXJuICJBTFRFUiBDT0xVTU4gLi4uIFNFVCBERUZBVUxU IjsKQEAgLTY2MTUsNiArNzI2Myw4IEBAIGFsdGVyX3RhYmxlX3R5cGVfdG9fc3RyaW5nKEFsdGVy VGFibGVUeXBlIGNtZHR5cGUpCiAJCQlyZXR1cm4gIkFMVEVSIENPTFVNTiAuLi4gU0VUIENPTVBS RVNTSU9OIjsKIAkJY2FzZSBBVF9Ecm9wQ29sdW1uOgogCQkJcmV0dXJuICJEUk9QIENPTFVNTiI7 CisJCWNhc2UgQVRfRHJvcFBlcmlvZDoKKwkJCXJldHVybiAiRFJPUCBQRVJJT0QiOwogCQljYXNl IEFUX0FkZEluZGV4OgogCQljYXNlIEFUX1JlQWRkSW5kZXg6CiAJCQlyZXR1cm4gTlVMTDsJCS8q IG5vdCByZWFsIGdyYW1tYXIgKi8KQEAgLTc2MzMsMTQgKzgyODMsMzAgQEAgQVRFeGVjQWRkQ29s dW1uKExpc3QgKip3cXVldWUsIEFsdGVyZWRUYWJsZUluZm8gKnRhYiwgUmVsYXRpb24gcmVsLAog LyoKICAqIElmIGEgbmV3IG9yIHJlbmFtZWQgY29sdW1uIHdpbGwgY29sbGlkZSB3aXRoIHRoZSBu YW1lIG9mIGFuIGV4aXN0aW5nCiAgKiBjb2x1bW4gYW5kIGlmX25vdF9leGlzdHMgaXMgZmFsc2Ug dGhlbiBlcnJvciBvdXQsIGVsc2UgZG8gbm90aGluZy4KKyAqCisgKiBTZWUgYWxzbyBjaGVja19m b3JfcGVyaW9kX25hbWVfY29sbGlzaW9uLgogICovCiBzdGF0aWMgYm9vbAogY2hlY2tfZm9yX2Nv bHVtbl9uYW1lX2NvbGxpc2lvbihSZWxhdGlvbiByZWwsIGNvbnN0IGNoYXIgKmNvbG5hbWUsCiAJ CQkJCQkJCWJvb2wgaWZfbm90X2V4aXN0cykKIHsKLQlIZWFwVHVwbGUJYXR0VHVwbGU7CisJSGVh cFR1cGxlCWF0dFR1cGxlLAorCQkJCXBlclR1cGxlOwogCWludAkJCWF0dG51bTsKIAorCS8qIElm IHRoZSBuYW1lIGV4aXN0cyBhcyBhIHBlcmlvZCwgd2UncmUgZG9uZS4gKi8KKwlwZXJUdXBsZSA9 IFNlYXJjaFN5c0NhY2hlMihQRVJJT0ROQU1FLAorCQkJCQkJCSAgIE9iamVjdElkR2V0RGF0dW0o UmVsYXRpb25HZXRSZWxpZChyZWwpKSwKKwkJCQkJCQkgICBQb2ludGVyR2V0RGF0dW0oY29sbmFt ZSkpOworCWlmIChIZWFwVHVwbGVJc1ZhbGlkKHBlclR1cGxlKSkKKwl7CisJCVJlbGVhc2VTeXND YWNoZShwZXJUdXBsZSk7CisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9E VVBMSUNBVEVfQ09MVU1OKSwKKwkJCQkgZXJybXNnKCJjb2x1bW4gbmFtZSBcIiVzXCIgY29uZmxp Y3RzIHdpdGggYSBwZXJpb2QgbmFtZSIsCisJCQkJCQljb2xuYW1lKSkpOworCX0KKwogCS8qCiAJ ICogdGhpcyB0ZXN0IGlzIGRlbGliZXJhdGVseSBub3QgYXR0aXNkcm9wcGVkLWF3YXJlLCBzaW5j ZSBpZiBvbmUgdHJpZXMgdG8KIAkgKiBhZGQgYSBjb2x1bW4gbWF0Y2hpbmcgYSBkcm9wcGVkIGNv bHVtbiBuYW1lLCBpdCdzIGdvbm5hIGZhaWwgYW55d2F5LgpAQCAtNzY4NCw2ICs4MzUwLDc4IEBA IGNoZWNrX2Zvcl9jb2x1bW5fbmFtZV9jb2xsaXNpb24oUmVsYXRpb24gcmVsLCBjb25zdCBjaGFy ICpjb2xuYW1lLAogCXJldHVybiB0cnVlOwogfQogCisvKgorICogSWYgYSBuZXcgcGVyaW9kIG5h bWUgd2lsbCBjb2xsaWRlIHdpdGggdGhlIG5hbWUgb2YgYW4gZXhpc3RpbmcgY29sdW1uIG9yCisg KiBwZXJpb2QgW2FuZCBpZl9ub3RfZXhpc3RzIGlzIGZhbHNlXSB0aGVuIGVycm9yIG91dCwgZWxz ZSBkbyBub3RoaW5nLgorICoKKyAqIFNlZSBhbHNvIGNoZWNrX2Zvcl9jb2x1bW5fbmFtZV9jb2xs aXNpb24uCisgKi8KK3N0YXRpYyBib29sCitjaGVja19mb3JfcGVyaW9kX25hbWVfY29sbGlzaW9u KFJlbGF0aW9uIHJlbCwgY29uc3QgY2hhciAqcGVybmFtZSwKKwkJCQkJCQkJYm9vbCBjb2xleGlz dHMsIGJvb2wgaWZfbm90X2V4aXN0cykKK3sKKwlIZWFwVHVwbGUJYXR0VHVwbGUsCisJCQkJcGVy VHVwbGU7CisJaW50CQkJYXR0bnVtOworCisJLyogWFhYOiBpbXBsZW1lbnQgSUYgW05PVF0gRVhJ U1RTIGZvciBwZXJpb2RzICovCisJQXNzZXJ0KCFpZl9ub3RfZXhpc3RzKTsKKworCS8qIElmIHRo ZXJlIGlzIGFscmVhZHkgYSBwZXJpb2Qgd2l0aCB0aGlzIG5hbWUsIHRoZW4gd2UncmUgZG9uZS4g Ki8KKwlwZXJUdXBsZSA9IFNlYXJjaFN5c0NhY2hlMihQRVJJT0ROQU1FLAorCQkJCQkJCSAgIE9i amVjdElkR2V0RGF0dW0oUmVsYXRpb25HZXRSZWxpZChyZWwpKSwKKwkJCQkJCQkgICBQb2ludGVy R2V0RGF0dW0ocGVybmFtZSkpOworCWlmIChIZWFwVHVwbGVJc1ZhbGlkKHBlclR1cGxlKSkKKwl7 CisJCWlmIChpZl9ub3RfZXhpc3RzKQorCQl7CisJCQlSZWxlYXNlU3lzQ2FjaGUocGVyVHVwbGUp OworCisJCQllcmVwb3J0KE5PVElDRSwKKwkJCQkJKGVycmNvZGUoRVJSQ09ERV9EVVBMSUNBVEVf Q09MVU1OKSwKKwkJCQkJIGVycm1zZygicGVyaW9kIFwiJXNcIiBvZiByZWxhdGlvbiBcIiVzXCIg YWxyZWFkeSBleGlzdHMsIHNraXBwaW5nIiwKKwkJCQkJCQlwZXJuYW1lLCBSZWxhdGlvbkdldFJl bGF0aW9uTmFtZShyZWwpKSkpOworCQkJcmV0dXJuIGZhbHNlOworCQl9CisKKwkJZXJlcG9ydChF UlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX0RVUExJQ0FURV9DT0xVTU4pLAorCQkJCSBlcnJt c2coInBlcmlvZCBcIiVzXCIgb2YgcmVsYXRpb24gXCIlc1wiIGFscmVhZHkgZXhpc3RzIiwKKwkJ CQkJCXBlcm5hbWUsIFJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKHJlbCkpKSk7CisJfQorCisJLyoK KwkgKiB0aGlzIHRlc3QgaXMgZGVsaWJlcmF0ZWx5IG5vdCBhdHRpc2Ryb3BwZWQtYXdhcmUsIHNp bmNlIGlmIG9uZSB0cmllcyB0bworCSAqIGFkZCBhIGNvbHVtbiBtYXRjaGluZyBhIGRyb3BwZWQg Y29sdW1uIG5hbWUsIGl0J3MgZ29ubmEgZmFpbCBhbnl3YXkuCisJICovCisJYXR0VHVwbGUgPSBT ZWFyY2hTeXNDYWNoZTIoQVRUTkFNRSwKKwkJCQkJCQkgICBPYmplY3RJZEdldERhdHVtKFJlbGF0 aW9uR2V0UmVsaWQocmVsKSksCisJCQkJCQkJICAgUG9pbnRlckdldERhdHVtKHBlcm5hbWUpKTsK KwlpZiAoSGVhcFR1cGxlSXNWYWxpZChhdHRUdXBsZSkpCisJeworCQlhdHRudW0gPSAoKEZvcm1f cGdfYXR0cmlidXRlKSBHRVRTVFJVQ1QoYXR0VHVwbGUpKS0+YXR0bnVtOworCQlSZWxlYXNlU3lz Q2FjaGUoYXR0VHVwbGUpOworCisJCS8qCisJCSAqIFdlIHRocm93IGEgZGlmZmVyZW50IGVycm9y IG1lc3NhZ2UgZm9yIGNvbmZsaWN0cyB3aXRoIHN5c3RlbSBjb2x1bW4KKwkJICogbmFtZXMsIHNp bmNlIHRoZXkgYXJlIG5vcm1hbGx5IG5vdCBzaG93biBhbmQgdGhlIHVzZXIgbWlnaHQKKwkJICog b3RoZXJ3aXNlIGJlIGNvbmZ1c2VkIGFib3V0IHRoZSByZWFzb24gZm9yIHRoZSBjb25mbGljdC4K KwkJICovCisJCWlmIChhdHRudW0gPD0gMCkKKwkJCWVyZXBvcnQoRVJST1IsCisJCQkJCShlcnJj b2RlKEVSUkNPREVfRFVQTElDQVRFX0NPTFVNTiksCisJCQkJCSBlcnJtc2coInBlcmlvZCBuYW1l IFwiJXNcIiBjb25mbGljdHMgd2l0aCBhIHN5c3RlbSBjb2x1bW4gbmFtZSIsCisJCQkJCQkJcGVy bmFtZSkpKTsKKwkJaWYgKCFjb2xleGlzdHMpCisJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkoZXJy Y29kZShFUlJDT0RFX0RVUExJQ0FURV9DT0xVTU4pLAorCQkJCQkgZXJybXNnKCJwZXJpb2QgbmFt ZSBcIiVzXCIgY29uZmxpY3RzIHdpdGggYSBjb2x1bW4gbmFtZSIsCisJCQkJCQkJcGVybmFtZSkp KTsKKwl9CisKKwlyZXR1cm4gdHJ1ZTsKK30KKwogLyoKICAqIEluc3RhbGwgYSBjb2x1bW4ncyBk ZXBlbmRlbmN5IG9uIGl0cyBkYXRhdHlwZS4KICAqLwpAQCAtODIyMyw2ICs4OTYxLDIwOSBAQCBB VEV4ZWNDb29rZWRDb2x1bW5EZWZhdWx0KFJlbGF0aW9uIHJlbCwgQXR0ck51bWJlciBhdHRudW0s CiAJcmV0dXJuIGFkZHJlc3M7CiB9CiAKKy8qCisgKiBQcmVwYXJlIHRvIGFkZCBhIFBFUklPRCB0 byBhIHRhYmxlLCBieSBhZGRpbmcgYWxsIGl0cyBjb25zdGl0dWVudCBvYmplY3RzLgorICoKKyAq IFdlIG5lZWQgYSBDSEVDSyBjb25zdHJhaW50IGVuZm9yY2luZyB3ZSBzdGFydCBiZWZvcmUgd2Ug ZW5kLgorICoKKyAqIFVzdWFsbHkgd2UgYWxzbyBjcmVhdGUgYSBHRU5FUkFURUQgY29sdW1uIHdp dGggYSBOT1QgTlVMTCBjb25zdHJhaW50LAorICogdW5sZXNzIHRoZSBjb21tYW5kIGluZGljYXRl cyB3ZSBoYXZlIG9uZSBhbHJlYWR5LgorICoKKyAqIFBFUklPRHMgYXJlIG5vdCBzdXBwb3J0ZWQg aW4gaW5oZXJpdGFuY2UgaGllcmFyY2hpZXMsIHNvIHdlIGRvbid0IG5lZWQKKyAqIHRvIHdvcnJ5 IGFib3V0IHJlY3Vyc2lvbi4KKyAqCisgKiBBVEV4ZWNBZGRQZXJpb2Qgd2lsbCBuZWVkIHRoZSBv aWQgb2YgdGhlIENIRUNLIGNvbnN0cmFpbnQgYW5kIHRoZSBhdHRudW0KKyAqIG9mIHRoZSByYW5n ZSBjb2x1bW4gKHdoZXRoZXIgbmV3IG9yIG5vdCkgdG8gcmVjb3JkIHRoZSBkZXBlbmRlbmN5Lgor ICovCitzdGF0aWMgdm9pZAorQVRQcmVwQWRkUGVyaW9kKExpc3QgKip3cXVldWUsIFJlbGF0aW9u IHJlbCwgQWx0ZXJUYWJsZUNtZCAqY21kLAorCQkJCUxPQ0tNT0RFIGxvY2ttb2RlLCBBbHRlclRh YmxlVXRpbGl0eUNvbnRleHQgKmNvbnRleHQpCit7CisJUGVyaW9kRGVmICAqcGVyaW9kID0gKFBl cmlvZERlZiAqKSBjbWQtPmRlZjsKKworCS8qCisJICogUEVSSU9EIEZPUiBTWVNURU1fVElNRSBp cyBub3QgeWV0IGltcGxlbWVudGVkLCBidXQgbWFrZSBzdXJlIG5vIG9uZQorCSAqIHVzZXMgdGhl IG5hbWUuCisJICovCisJaWYgKHN0cmNtcChwZXJpb2QtPnBlcmlvZG5hbWUsICJzeXN0ZW1fdGlt ZSIpID09IDApCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9GRUFUVVJF X05PVF9TVVBQT1JURUQpLAorCQkJCSBlcnJtc2coIlBFUklPRCBGT1IgU1lTVEVNX1RJTUUgaXMg bm90IHN1cHBvcnRlZCIpKSk7CisKKwlpZiAoc3RyY21wKHBlcmlvZC0+c3RhcnRjb2xuYW1lLCBw ZXJpb2QtPmVuZGNvbG5hbWUpID09IDApCisJCWVyZXBvcnQoRVJST1IsIChlcnJtc2coImNvbHVt biBcIiVzXCIgY2FuJ3QgYmUgdGhlIHN0YXJ0IGFuZCBlbmQgY29sdW1uIGZvciBwZXJpb2QgXCIl c1wiIiwKKwkJCQkJCQkgICBwZXJpb2QtPnN0YXJ0Y29sbmFtZSwgcGVyaW9kLT5wZXJpb2RuYW1l KSkpOworCisJLyogUGFyc2Ugb3B0aW9ucyAqLworCXRyYW5zZm9ybVBlcmlvZE9wdGlvbnMocGVy aW9kKTsKK30KKworLyoKKyAqIEFMVEVSIFRBQkxFIEFERCBQRVJJT0QKKyAqCisgKiBSZXR1cm4g dGhlIGFkZHJlc3Mgb2YgdGhlIHBlcmlvZC4KKyAqLworc3RhdGljIE9iamVjdEFkZHJlc3MKK0FU RXhlY0FkZFBlcmlvZChMaXN0ICoqd3F1ZXVlLCBBbHRlcmVkVGFibGVJbmZvICp0YWIsIFJlbGF0 aW9uIHJlbCwKKwkJCQlQZXJpb2REZWYgKnBlcmlvZCwgTE9DS01PREUgbG9ja21vZGUsCisJCQkJ QWx0ZXJUYWJsZVV0aWxpdHlDb250ZXh0ICpjb250ZXh0KQoreworCVJlbGF0aW9uCWF0dHJlbGF0 aW9uOworCU9iamVjdEFkZHJlc3MgYWRkcmVzcyA9IEludmFsaWRPYmplY3RBZGRyZXNzOworCUNv bnN0cmFpbnQgKmNvbnN0cjsKKwlDb2x1bW5EZWYgICpyYW5nZWNvbDsKKwlPaWQJCQljb25vaWQs CisJCQkJcGVyaW9kb2lkOworCUxpc3QJICAgKmNtZHMgPSBOSUw7CisJQWx0ZXJUYWJsZUNtZCAq Y21kOworCisJLyoKKwkgKiBUaGUgcGVyaW9kIG5hbWUgbXVzdCBub3QgYWxyZWFkeSBleGlzdC4g V2UgY2FuJ3QgY2hlY2sgdGhpcyBpbgorCSAqIEFUUHJlcEFkZFBlcmlvZCBiZWNhdXNlIHRoZSBz YW1lIEFMVEVSIFRBQkxFIGNvbW1hbmQgbWlnaHQgZG8gYSBEUk9QCisJICogUEVSSU9EIGFzIHdl bGwuCisJICovCisJKHZvaWQpIGNoZWNrX2Zvcl9wZXJpb2RfbmFtZV9jb2xsaXNpb24ocmVsLCBw ZXJpb2QtPnBlcmlvZG5hbWUsCisJCQkJCQkJCQkJICAgcGVyaW9kLT5jb2xleGlzdHMsIGZhbHNl KTsKKworCWF0dHJlbGF0aW9uID0gdGFibGVfb3BlbihBdHRyaWJ1dGVSZWxhdGlvbklkLCBSb3dF eGNsdXNpdmVMb2NrKTsKKwlWYWxpZGF0ZVBlcmlvZChyZWwsIHBlcmlvZCk7CisKKwkvKiBNYWtl IHRoZSBDSEVDSyBjb25zdHJhaW50ICovCisJY29uc3RyID0gbWFrZV9jb25zdHJhaW50X2Zvcl9w ZXJpb2QocmVsLCBwZXJpb2QpOworCWNtZCA9IG1ha2VOb2RlKEFsdGVyVGFibGVDbWQpOworCWNt ZC0+c3VidHlwZSA9IEFUX0FkZENvbnN0cmFpbnQ7CisJY21kLT5kZWYgPSAoTm9kZSAqKSBjb25z dHI7CisJY21kcyA9IGxhcHBlbmQoY21kcywgY21kKTsKKwlBbHRlclRhYmxlSW50ZXJuYWwoUmVs YXRpb25HZXRSZWxpZChyZWwpLCBjbWRzLCB0cnVlLCBjb250ZXh0KTsKKwljb25vaWQgPSBnZXRf cmVsYXRpb25fY29uc3RyYWludF9vaWQoUmVsYXRpb25HZXRSZWxpZChyZWwpLAorCQkJCQkJCQkJ CSBwZXJpb2QtPmNvbnN0cmFpbnRuYW1lLCBmYWxzZSk7CisKKworCWlmICghcGVyaW9kLT5jb2xl eGlzdHMpCisJeworCQljbWRzID0gTklMOworCisJCS8qCisJCSAqIE1ha2UgdGhlIHJhbmdlIGNv bHVtbi4KKwkJICoKKwkJICogV2UgaGF2ZSBhbHJlYWR5IHBhc3NlZCB0aGUgYWRkLWNvbHVtbiBw YXNzLCBzbyB3ZSBoYXZlIHRvIGNyZWF0ZSBpdAorCQkgKiBvdXJzZWxmLgorCQkgKi8KKwkJcmFu Z2Vjb2wgPSBtYWtlX3JhbmdlX2NvbHVtbl9mb3JfcGVyaW9kKHBlcmlvZCk7CisJCWNtZCA9IG1h a2VOb2RlKEFsdGVyVGFibGVDbWQpOworCQljbWQtPnN1YnR5cGUgPSBBVF9BZGRDb2x1bW47CisJ CWNtZC0+ZGVmID0gKE5vZGUgKikgcmFuZ2Vjb2w7CisJCWNtZC0+bmFtZSA9IHBlcmlvZC0+cGVy aW9kbmFtZTsKKwkJY21kLT5yZWN1cnNlID0gZmFsc2U7CS8qIE5vLCBsZXQgdGhlIFBFUklPRCBy ZWN1cnNlIGluc3RlYWQuICovCisJCUFURXhlY0FkZENvbHVtbih3cXVldWUsIHRhYiwgcmVsLCAm Y21kLCBmYWxzZSwgZmFsc2UsIGxvY2ttb2RlLAorCQkJCQkJQVRfUEFTU19BRERfUEVSSU9ELCBj b250ZXh0KTsKKworCQkvKiBUaGUgcmFuZ2UgY29sdW1uIHNob3VsZCBiZSBOT1QgTlVMTC4gKi8K KwkJY21kID0gbWFrZU5vZGUoQWx0ZXJUYWJsZUNtZCk7CisJCWNtZC0+c3VidHlwZSA9IEFUX0Fk ZENvbnN0cmFpbnQ7CisJCWNtZC0+ZGVmID0gKE5vZGUgKikgbWFrZU5vdE51bGxDb25zdHJhaW50 KG1ha2VTdHJpbmcocGVyaW9kLT5wZXJpb2RuYW1lKSk7CisJCWNtZC0+cmVjdXJzZSA9IGZhbHNl OwkvKiBObywgbGV0IHRoZSBQRVJJT0QgcmVjdXJzZSBpbnN0ZWFkLiAqLworCQlBVFByZXBDbWQo d3F1ZXVlLCByZWwsIGNtZCwgZmFsc2UsIGZhbHNlLCBsb2NrbW9kZSwgY29udGV4dCk7CisKKwkJ LyogTG9vayB1cCB0aGUgR0VORVJBVEVEIGF0dG51bSAqLworCQlwZXJpb2QtPnJuZ2F0dG51bSA9 IGdldF9hdHRudW0oUmVsYXRpb25HZXRSZWxpZChyZWwpLCBwZXJpb2QtPnBlcmlvZG5hbWUpOwor CQlpZiAocGVyaW9kLT5ybmdhdHRudW0gPT0gSW52YWxpZEF0dHJOdW1iZXIpCisJCQllbG9nKEVS Uk9SLCAibWlzc2luZyBhdHRyaWJ1dGUgJXMiLCBwZXJpb2QtPnBlcmlvZG5hbWUpOworCX0KKwor CS8qIFNhdmUgdGhlIFBlcmlvZCAqLworCXBlcmlvZG9pZCA9IFN0b3JlUGVyaW9kKHJlbCwgcGVy aW9kLT5wZXJpb2RuYW1lLCBwZXJpb2QtPnN0YXJ0YXR0bnVtLAorCQkJCQkJCXBlcmlvZC0+ZW5k YXR0bnVtLCBwZXJpb2QtPnJuZ2F0dG51bSwgY29ub2lkKTsKKworCU9iamVjdEFkZHJlc3NTZXQo YWRkcmVzcywgUGVyaW9kUmVsYXRpb25JZCwgcGVyaW9kb2lkKTsKKworCXRhYmxlX2Nsb3NlKGF0 dHJlbGF0aW9uLCBSb3dFeGNsdXNpdmVMb2NrKTsKKworCXJldHVybiBhZGRyZXNzOworfQorCisv KgorICogQUxURVIgVEFCTEUgRFJPUCBQRVJJT0QKKyAqCisgKiBMaWtlIERST1AgQ09MVU1OLCB3 ZSBjYW4ndCB1c2UgdGhlIG5vcm1hbCBBTFRFUiBUQUJMRSByZWN1cnNpb24gbWVjaGFuaXNtLgor ICovCitzdGF0aWMgdm9pZAorQVRFeGVjRHJvcFBlcmlvZChSZWxhdGlvbiByZWwsIGNvbnN0IGNo YXIgKnBlcmlvZE5hbWUsCisJCQkJIERyb3BCZWhhdmlvciBiZWhhdmlvciwKKwkJCQkgYm9vbCBy ZWN1cnNlLCBib29sIHJlY3Vyc2luZywKKwkJCQkgYm9vbCBtaXNzaW5nX29rKQoreworCVJlbGF0 aW9uCXBnX3BlcmlvZDsKKwlGb3JtX3BnX3BlcmlvZCBwZXJpb2Q7CisJU3lzU2NhbkRlc2Mgc2Nh bjsKKwlTY2FuS2V5RGF0YSBrZXk7CisJSGVhcFR1cGxlCXR1cGxlOworCWJvb2wJCWZvdW5kID0g ZmFsc2U7CisKKwkvKiBBdCB0b3AgbGV2ZWwsIHBlcm1pc3Npb24gY2hlY2sgd2FzIGRvbmUgaW4g QVRQcmVwQ21kLCBlbHNlIGRvIGl0ICovCisJaWYgKHJlY3Vyc2luZykKKwkJQVRTaW1wbGVQZXJt aXNzaW9ucyhBVF9Ecm9wUGVyaW9kLCByZWwsIEFUVF9UQUJMRSk7CisKKwlwZ19wZXJpb2QgPSB0 YWJsZV9vcGVuKFBlcmlvZFJlbGF0aW9uSWQsIFJvd0V4Y2x1c2l2ZUxvY2spOworCisJLyoKKwkg KiBGaW5kIGFuZCBkcm9wIHRoZSB0YXJnZXQgcGVyaW9kCisJICovCisJU2NhbktleUluaXQoJmtl eSwKKwkJCQlBbnVtX3BnX3BlcmlvZF9wZXJyZWxpZCwKKwkJCQlCVEVxdWFsU3RyYXRlZ3lOdW1i ZXIsIEZfT0lERVEsCisJCQkJT2JqZWN0SWRHZXREYXR1bShSZWxhdGlvbkdldFJlbGlkKHJlbCkp KTsKKwlzY2FuID0gc3lzdGFibGVfYmVnaW5zY2FuKHBnX3BlcmlvZCwgUGVyaW9kUmVsaWROYW1l SW5kZXhJZCwKKwkJCQkJCQkgIHRydWUsIE5VTEwsIDEsICZrZXkpOworCisJd2hpbGUgKEhlYXBU dXBsZUlzVmFsaWQodHVwbGUgPSBzeXN0YWJsZV9nZXRuZXh0KHNjYW4pKSkKKwl7CisJCU9iamVj dEFkZHJlc3MgcGVyb2JqOworCisJCXBlcmlvZCA9IChGb3JtX3BnX3BlcmlvZCkgR0VUU1RSVUNU KHR1cGxlKTsKKworCQlpZiAoc3RyY21wKE5hbWVTdHIocGVyaW9kLT5wZXJuYW1lKSwgcGVyaW9k TmFtZSkgIT0gMCkKKwkJCWNvbnRpbnVlOworCisJCS8qCisJCSAqIFBlcmZvcm0gdGhlIGFjdHVh bCBwZXJpb2QgZGVsZXRpb24KKwkJICovCisJCXBlcm9iai5jbGFzc0lkID0gUGVyaW9kUmVsYXRp b25JZDsKKwkJcGVyb2JqLm9iamVjdElkID0gcGVyaW9kLT5vaWQ7CisJCXBlcm9iai5vYmplY3RT dWJJZCA9IDA7CisKKwkJcGVyZm9ybURlbGV0aW9uKCZwZXJvYmosIGJlaGF2aW9yLCAwKTsKKwor CQlmb3VuZCA9IHRydWU7CisKKwkJLyogcGVyaW9kIGZvdW5kIGFuZCBkcm9wcGVkIC0tIG5vIG5l ZWQgdG8ga2VlcCBsb29waW5nICovCisJCWJyZWFrOworCX0KKworCXN5c3RhYmxlX2VuZHNjYW4o c2Nhbik7CisKKwlpZiAoIWZvdW5kKQorCXsKKwkJaWYgKCFtaXNzaW5nX29rKQorCQl7CisJCQll cmVwb3J0KEVSUk9SLAorCQkJCQkoZXJyY29kZShFUlJDT0RFX1VOREVGSU5FRF9PQkpFQ1QpLAor CQkJCQkgZXJybXNnKCJwZXJpb2QgXCIlc1wiIG9uIHJlbGF0aW9uIFwiJXNcIiBkb2VzIG5vdCBl eGlzdCIsCisJCQkJCQkJcGVyaW9kTmFtZSwgUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUocmVsKSkp KTsKKwkJfQorCQllbHNlCisJCXsKKwkJCWVyZXBvcnQoTk9USUNFLAorCQkJCQkoZXJybXNnKCJw ZXJpb2QgXCIlc1wiIG9uIHJlbGF0aW9uIFwiJXNcIiBkb2VzIG5vdCBleGlzdCwgc2tpcHBpbmci LAorCQkJCQkJCXBlcmlvZE5hbWUsIFJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKHJlbCkpKSk7CisJ CQl0YWJsZV9jbG9zZShwZ19wZXJpb2QsIFJvd0V4Y2x1c2l2ZUxvY2spOworCQkJcmV0dXJuOwor CQl9CisJfQorCisJdGFibGVfY2xvc2UocGdfcGVyaW9kLCBSb3dFeGNsdXNpdmVMb2NrKTsKK30K KwogLyoKICAqIEFMVEVSIFRBQkxFIEFMVEVSIENPTFVNTiBBREQgSURFTlRJVFkKICAqCkBAIC0x MDIzNSw4ICsxMTE3Niw5IEBAIEFUQWRkRm9yZWlnbktleUNvbnN0cmFpbnQoTGlzdCAqKndxdWV1 ZSwgQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLCBSZWxhdGlvbiByZWwsCiAJZm9yIChpID0gMDsgaSA8 IG51bWZrczsgaSsrKQogCXsKIAkJY2hhcgkJYXR0Z2VuZXJhdGVkID0gVHVwbGVEZXNjQXR0cihS ZWxhdGlvbkdldERlc2NyKHJlbCksIGZrYXR0bnVtW2ldIC0gMSktPmF0dGdlbmVyYXRlZDsKKwkJ Qml0bWFwc2V0ICAqcGVyaW9kcyA9IGdldF9wZXJpb2RfYXR0bm9zKFJlbGF0aW9uR2V0UmVsaWQo cmVsKSk7CiAKLQkJaWYgKGF0dGdlbmVyYXRlZCkKKwkJaWYgKGF0dGdlbmVyYXRlZCAmJiAhYm1z X2lzX21lbWJlcihma2F0dG51bVtpXSwgcGVyaW9kcykpCiAJCXsKIAkJCS8qCiAJCQkgKiBDaGVj ayByZXN0cmljdGlvbnMgb24gVVBEQVRFL0RFTEVURSBhY3Rpb25zLCBwZXIgU1FMIHN0YW5kYXJk CkBAIC0xNTEzMSw2ICsxNjA3MywxNiBAQCBSZW1lbWJlckFsbERlcGVuZGVudEZvclJlYnVpbGRp bmcoQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLCBBbHRlclRhYmxlVHlwZSBzdWJ0eXBlLAogCQkJCVJl bWVtYmVyQ29uc3RyYWludEZvclJlYnVpbGRpbmcoZm91bmRPYmplY3Qub2JqZWN0SWQsIHRhYik7 CiAJCQkJYnJlYWs7CiAKKwkJCWNhc2UgUGVyaW9kUmVsYXRpb25JZDoKKwkJCQlpZiAoc3VidHlw ZSA9PSBBVF9BbHRlckNvbHVtblR5cGUpCisJCQkJCWVyZXBvcnQoRVJST1IsCisJCQkJCQkJKGVy cmNvZGUoRVJSQ09ERV9GRUFUVVJFX05PVF9TVVBQT1JURUQpLAorCQkJCQkJCSBlcnJtc2coImNh bm5vdCBhbHRlciB0eXBlIG9mIGEgY29sdW1uIHVzZWQgYnkgYSBwZXJpb2QiKSwKKwkJCQkJCQkg ZXJyZGV0YWlsKCIlcyBkZXBlbmRzIG9uIGNvbHVtbiBcIiVzXCIiLAorCQkJCQkJCQkJICAgZ2V0 T2JqZWN0RGVzY3JpcHRpb24oJmZvdW5kT2JqZWN0LCBmYWxzZSksCisJCQkJCQkJCQkgICBjb2xO YW1lKSkpOworCQkJCWJyZWFrOworCiAJCQljYXNlIFByb2NlZHVyZVJlbGF0aW9uSWQ6CiAKIAkJ CQkvKgpAQCAtMTUyMjAsNiArMTYxNzIsMTYgQEAgUmVtZW1iZXJBbGxEZXBlbmRlbnRGb3JSZWJ1 aWxkaW5nKEFsdGVyZWRUYWJsZUluZm8gKnRhYiwgQWx0ZXJUYWJsZVR5cGUgc3VidHlwZSwKIAkJ CQkJfQogCQkJCQllbHNlCiAJCQkJCXsKKwkJCQkJCS8qCisJCQkJCQkgKiBJZiB0aGlzIEdFTkVS QVRFRCBjb2x1bW4gaXMgaW1wbGVtZW50aW5nIGEgUEVSSU9ELAorCQkJCQkJICoga2VlcCBnb2lu ZyBhbmQgd2UnbGwgZmFpbCBmcm9tIHRoZSBQRVJJT0QgaW5zdGVhZC4KKwkJCQkJCSAqIFRoaXMg Z2l2ZXMgYSBtb3JlIGNsZWFyIGVycm9yIG1lc3NhZ2UuCisJCQkJCQkgKi8KKwkJCQkJCUJpdG1h cHNldCAgKnBlcmlvZGF0dHMgPSBnZXRfcGVyaW9kX2F0dG5vcyhSZWxhdGlvbkdldFJlbGlkKHJl bCkpOworCisJCQkJCQlpZiAoYm1zX2lzX21lbWJlcihjb2wub2JqZWN0U3ViSWQsIHBlcmlvZGF0 dHMpKQorCQkJCQkJCWJyZWFrOworCiAJCQkJCQkvKgogCQkJCQkJICogVGhpcyBtdXN0IGJlIGEg cmVmZXJlbmNlIGZyb20gdGhlIGV4cHJlc3Npb24gb2YgYQogCQkJCQkJICogZ2VuZXJhdGVkIGNv bHVtbiBlbHNld2hlcmUgaW4gdGhlIHNhbWUgdGFibGUuCkBAIC0xNzE1Niw3ICsxODExOCw3IEBA IEFsdGVyVGFibGVNb3ZlQWxsKEFsdGVyVGFibGVNb3ZlQWxsU3RtdCAqc3RtdCkKIAogCQlFdmVu dFRyaWdnZXJBbHRlclRhYmxlU3RhcnQoKE5vZGUgKikgc3RtdCk7CiAJCS8qIE9JRCBpcyBzZXQg YnkgQWx0ZXJUYWJsZUludGVybmFsICovCi0JCUFsdGVyVGFibGVJbnRlcm5hbChsZmlyc3Rfb2lk KGwpLCBjbWRzLCBmYWxzZSk7CisJCUFsdGVyVGFibGVJbnRlcm5hbChsZmlyc3Rfb2lkKGwpLCBj bWRzLCBmYWxzZSwgTlVMTCk7CiAJCUV2ZW50VHJpZ2dlckFsdGVyVGFibGVFbmQoKTsKIAl9CiAK ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RyaWdnZXIuYyBiL3NyYy9iYWNrZW5k L2NvbW1hbmRzL3RyaWdnZXIuYwppbmRleCA0M2I5ZDgyZTYzYS4uOTY4YTkxZmQzNGIgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RyaWdnZXIuYworKysgYi9zcmMvYmFja2VuZC9j b21tYW5kcy90cmlnZ2VyLmMKQEAgLTYxNDMsNiArNjE0Myw4IEBAIENvcHlGb3JQb3J0aW9uT2ZT dGF0ZShGb3JQb3J0aW9uT2ZTdGF0ZSAqc3JjKQogCQlkc3QtPmZwX3JhbmdlTmFtZSA9IHBzdHJk dXAoc3JjLT5mcF9yYW5nZU5hbWUpOwogCQlkc3QtPmZwX3JhbmdlVHlwZSA9IHNyYy0+ZnBfcmFu Z2VUeXBlOwogCQlkc3QtPmZwX3JhbmdlQXR0bm8gPSBzcmMtPmZwX3JhbmdlQXR0bm87CisJCWRz dC0+ZnBfcGVyaW9kU3RhcnRBdHRubyA9IHNyYy0+ZnBfcGVyaW9kU3RhcnRBdHRubzsKKwkJZHN0 LT5mcF9wZXJpb2RFbmRBdHRubyA9IHNyYy0+ZnBfcGVyaW9kRW5kQXR0bm87CiAKIAkJciA9IERh dHVtR2V0UmFuZ2VUeXBlUChzcmMtPmZwX3RhcmdldFJhbmdlKTsKIAkJdHlwY2FjaGUgPSBsb29r dXBfdHlwZV9jYWNoZShSYW5nZVR5cGVHZXRPaWQociksIFRZUEVDQUNIRV9SQU5HRV9JTkZPKTsK ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZpZXcuYyBiL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL3ZpZXcuYwppbmRleCA2ZjAzMDE1NTVlMC4uYzcyNzY4MzYyMjAgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZpZXcuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy92 aWV3LmMKQEAgLTE2Myw3ICsxNjMsNyBAQCBEZWZpbmVWaXJ0dWFsUmVsYXRpb24oUmFuZ2VWYXIg KnJlbGF0aW9uLCBMaXN0ICp0bGlzdCwgYm9vbCByZXBsYWNlLAogCQkJfQogCiAJCQkvKiBFdmVu dFRyaWdnZXJBbHRlclRhYmxlU3RhcnQgY2FsbGVkIGJ5IFByb2Nlc3NVdGlsaXR5U2xvdyAqLwot CQkJQWx0ZXJUYWJsZUludGVybmFsKHZpZXdPaWQsIGF0Y21kcywgdHJ1ZSk7CisJCQlBbHRlclRh YmxlSW50ZXJuYWwodmlld09pZCwgYXRjbWRzLCB0cnVlLCBOVUxMKTsKIAogCQkJLyogTWFrZSB0 aGUgbmV3IHZpZXcgY29sdW1ucyB2aXNpYmxlICovCiAJCQlDb21tYW5kQ291bnRlckluY3JlbWVu dCgpOwpAQCAtMTk1LDcgKzE5NSw3IEBAIERlZmluZVZpcnR1YWxSZWxhdGlvbihSYW5nZVZhciAq cmVsYXRpb24sIExpc3QgKnRsaXN0LCBib29sIHJlcGxhY2UsCiAJCWF0Y21kcyA9IGxpc3RfbWFr ZTEoYXRjbWQpOwogCiAJCS8qIEV2ZW50VHJpZ2dlckFsdGVyVGFibGVTdGFydCBjYWxsZWQgYnkg UHJvY2Vzc1V0aWxpdHlTbG93ICovCi0JCUFsdGVyVGFibGVJbnRlcm5hbCh2aWV3T2lkLCBhdGNt ZHMsIHRydWUpOworCQlBbHRlclRhYmxlSW50ZXJuYWwodmlld09pZCwgYXRjbWRzLCB0cnVlLCBO VUxMKTsKIAogCQkvKgogCQkgKiBUaGVyZSBpcyB2ZXJ5IGxpdHRsZSB0byBkbyBoZXJlIHRvIHVw ZGF0ZSB0aGUgdmlldydzIGRlcGVuZGVuY2llcy4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2V4 ZWN1dG9yL25vZGVNb2RpZnlUYWJsZS5jIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZU1vZGlm eVRhYmxlLmMKaW5kZXggNTUzZDRhZDhhMmEuLmY3NDc1M2NjMzMyIDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC9leGVjdXRvci9ub2RlTW9kaWZ5VGFibGUuYworKysgYi9zcmMvYmFja2VuZC9leGVj dXRvci9ub2RlTW9kaWZ5VGFibGUuYwpAQCAtMTM5MCw2ICsxMzkwLDcgQEAgRXhlY0ZvclBvcnRp b25PZkxlZnRvdmVycyhNb2RpZnlUYWJsZUNvbnRleHQgKmNvbnRleHQsCiAJVHJhbnNpdGlvbkNh cHR1cmVTdGF0ZSAqb2xkVGNzOwogCUZtZ3JJbmZvCWZsaW5mbzsKIAlSZXR1cm5TZXRJbmZvIHJz aTsKKwlib29sCQloYXNQZXJpb2QgPSBmYWxzZTsKIAlib29sCQlkaWRJbml0ID0gZmFsc2U7CiAJ Ym9vbAkJc2hvdWxkRnJlZSA9IGZhbHNlOwogCkBAIC0xNTA0LDYgKzE1MDUsOCBAQCBFeGVjRm9y UG9ydGlvbk9mTGVmdG92ZXJzKE1vZGlmeVRhYmxlQ29udGV4dCAqY29udGV4dCwKIAkJCQlFeGVj Rm9yY2VTdG9yZUhlYXBUdXBsZShvbGR0dXBsZSwgbGVmdG92ZXJTbG90LCBmYWxzZSk7CiAJCQl9 CiAKKwkJCWhhc1BlcmlvZCA9IGZvclBvcnRpb25PZi0+c3RhcnRWYXI7CisKIAkJCS8qCiAJCQkg KiBTYXZlIHNvbWUgbXRzdGF0ZSB0aGluZ3Mgc28gd2UgY2FuIHJlc3RvcmUgdGhlbSBiZWxvdy4g WFhYOgogCQkJICogU2hvdWxkIHdlIGNyZWF0ZSBvdXIgb3duIE1vZGlmeVRhYmxlU3RhdGUgaW5z dGVhZD8KQEAgLTE1MTUsOCArMTUxOCw0MiBAQCBFeGVjRm9yUG9ydGlvbk9mTGVmdG92ZXJzKE1v ZGlmeVRhYmxlQ29udGV4dCAqY29udGV4dCwKIAkJCWRpZEluaXQgPSB0cnVlOwogCQl9CiAKLQkJ bGVmdG92ZXJTbG90LT50dHNfdmFsdWVzW2ZvclBvcnRpb25PZi0+cmFuZ2VWYXItPnZhcmF0dG5v IC0gMV0gPSBsZWZ0b3ZlcjsKLQkJbGVmdG92ZXJTbG90LT50dHNfaXNudWxsW2ZvclBvcnRpb25P Zi0+cmFuZ2VWYXItPnZhcmF0dG5vIC0gMV0gPSBmYWxzZTsKKwkJaWYgKGhhc1BlcmlvZCkKKwkJ eworCQkJUmFuZ2VUeXBlICAqbGVmdG92ZXJSYW5nZTsKKwkJCVJhbmdlQm91bmQJbGVmdG92ZXJM b3dlcjsKKwkJCVJhbmdlQm91bmQJbGVmdG92ZXJVcHBlcjsKKwkJCWJvb2wJCWxlZnRvdmVyRW1w dHk7CisJCQlBdHRyTnVtYmVyCXN0YXJ0QXR0bm87CisJCQlBdHRyTnVtYmVyCWVuZEF0dG5vOwor CisJCQlsZWZ0b3ZlclJhbmdlID0gRGF0dW1HZXRSYW5nZVR5cGVQKGxlZnRvdmVyKTsKKwkJCXJh bmdlX2Rlc2VyaWFsaXplKHR5cGNhY2hlLCBsZWZ0b3ZlclJhbmdlLCAmbGVmdG92ZXJMb3dlciwg JmxlZnRvdmVyVXBwZXIsICZsZWZ0b3ZlckVtcHR5KTsKKworCQkJc3RhcnRBdHRubyA9IGZvclBv cnRpb25PZi0+c3RhcnRWYXItPnZhcmF0dG5vOworCQkJZW5kQXR0bm8gPSBmb3JQb3J0aW9uT2Yt PmVuZFZhci0+dmFyYXR0bm87CisKKwkJCWlmIChsZWZ0b3Zlckxvd2VyLmluZmluaXRlKQorCQkJ CWxlZnRvdmVyU2xvdC0+dHRzX2lzbnVsbFtzdGFydEF0dG5vIC0gMV0gPSB0cnVlOworCQkJZWxz ZQorCQkJeworCQkJCWxlZnRvdmVyU2xvdC0+dHRzX2lzbnVsbFtzdGFydEF0dG5vIC0gMV0gPSBm YWxzZTsKKwkJCQlsZWZ0b3ZlclNsb3QtPnR0c192YWx1ZXNbc3RhcnRBdHRubyAtIDFdID0gbGVm dG92ZXJMb3dlci52YWw7CisJCQl9CisKKwkJCWlmIChsZWZ0b3ZlclVwcGVyLmluZmluaXRlKQor CQkJCWxlZnRvdmVyU2xvdC0+dHRzX2lzbnVsbFtlbmRBdHRubyAtIDFdID0gdHJ1ZTsKKwkJCWVs c2UKKwkJCXsKKwkJCQlsZWZ0b3ZlclNsb3QtPnR0c19pc251bGxbZW5kQXR0bm8gLSAxXSA9IGZh bHNlOworCQkJCWxlZnRvdmVyU2xvdC0+dHRzX3ZhbHVlc1tlbmRBdHRubyAtIDFdID0gbGVmdG92 ZXJVcHBlci52YWw7CisJCQl9CisJCX0KKwkJZWxzZQorCQl7CisJCQlsZWZ0b3ZlclNsb3QtPnR0 c192YWx1ZXNbZm9yUG9ydGlvbk9mLT5yYW5nZVZhci0+dmFyYXR0bm8gLSAxXSA9IGxlZnRvdmVy OworCQkJbGVmdG92ZXJTbG90LT50dHNfaXNudWxsW2ZvclBvcnRpb25PZi0+cmFuZ2VWYXItPnZh cmF0dG5vIC0gMV0gPSBmYWxzZTsKKwkJfQogCQlFeGVjTWF0ZXJpYWxpemVTbG90KGxlZnRvdmVy U2xvdCk7CiAKIAkJLyoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL25vZGVzL25vZGVGdW5jcy5j IGIvc3JjL2JhY2tlbmQvbm9kZXMvbm9kZUZ1bmNzLmMKaW5kZXggZTQwZThlZWNmNzMuLjhkMmM3 ZGI0YjI3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9ub2Rlcy9ub2RlRnVuY3MuYworKysgYi9z cmMvYmFja2VuZC9ub2Rlcy9ub2RlRnVuY3MuYwpAQCAtMTcyOSw2ICsxNzI5LDkgQEAgZXhwckxv Y2F0aW9uKGNvbnN0IE5vZGUgKmV4cHIpCiAJCWNhc2UgVF9Db25zdHJhaW50OgogCQkJbG9jID0g KChjb25zdCBDb25zdHJhaW50ICopIGV4cHIpLT5sb2NhdGlvbjsKIAkJCWJyZWFrOworCQljYXNl IFRfUGVyaW9kRGVmOgorCQkJbG9jID0gKChjb25zdCBQZXJpb2REZWYgKikgZXhwciktPmxvY2F0 aW9uOworCQkJYnJlYWs7CiAJCWNhc2UgVF9GdW5jdGlvblBhcmFtZXRlcjoKIAkJCWxvYyA9ICgo Y29uc3QgRnVuY3Rpb25QYXJhbWV0ZXIgKikgZXhwciktPmxvY2F0aW9uOwogCQkJYnJlYWs7CmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvYW5hbHl6ZS5jIGIvc3JjL2JhY2tlbmQvcGFy c2VyL2FuYWx5emUuYwppbmRleCBhZmE3MzNmZjEwNS4uY2JkYTA1MGQyYWEgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL3BhcnNlci9hbmFseXplLmMKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL2Fu YWx5emUuYwpAQCAtMjQsMTAgKzI0LDEyIEBACiAKICNpbmNsdWRlICJwb3N0Z3Jlcy5oIgogCisj aW5jbHVkZSAiYWNjZXNzL2h0dXBfZGV0YWlscy5oIgogI2luY2x1ZGUgImFjY2Vzcy9zdHJhdG51 bS5oIgogI2luY2x1ZGUgImFjY2Vzcy9zeXNhdHRyLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19h bS5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfb3BlcmF0b3IuaCIKKyNpbmNsdWRlICJjYXRhbG9n L3BnX3BlcmlvZC5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfcHJvYy5oIgogI2luY2x1ZGUgImNh dGFsb2cvcGdfdHlwZS5oIgogI2luY2x1ZGUgImNvbW1hbmRzL2RlZnJlbS5oIgpAQCAtNTAsNiAr NTIsNyBAQAogI2luY2x1ZGUgInBhcnNlci9wYXJzZV9yZWxhdGlvbi5oIgogI2luY2x1ZGUgInBh cnNlci9wYXJzZV90YXJnZXQuaCIKICNpbmNsdWRlICJwYXJzZXIvcGFyc2VfdHlwZS5oIgorI2lu Y2x1ZGUgInBhcnNlci9wYXJzZXIuaCIKICNpbmNsdWRlICJwYXJzZXIvcGFyc2V0cmVlLmgiCiAj aW5jbHVkZSAidXRpbHMvYmFja2VuZF9zdGF0dXMuaCIKICNpbmNsdWRlICJ1dGlscy9idWlsdGlu cy5oIgpAQCAtMTMzNiw2ICsxMzM5LDEwIEBAIHRyYW5zZm9ybUZvclBvcnRpb25PZkNsYXVzZShQ YXJzZVN0YXRlICpwc3RhdGUsCiAJY2hhcgkgICAqcmFuZ2VfdHlwZV9uYW1lc3BhY2UgPSBOVUxM OwogCWNoYXIJICAgKnJhbmdlX3R5cGVfbmFtZSA9IE5VTEw7CiAJaW50CQkJcmFuZ2VfYXR0bm8g PSBJbnZhbGlkQXR0ck51bWJlcjsKKwlBdHRyTnVtYmVyCXN0YXJ0X2F0dG5vID0gSW52YWxpZEF0 dHJOdW1iZXI7CisJQXR0ck51bWJlcgllbmRfYXR0bm8gPSBJbnZhbGlkQXR0ck51bWJlcjsKKwlj aGFyCSAgICpzdGFydGNvbG5hbWUgPSBOVUxMOworCWNoYXIJICAgKmVuZGNvbG5hbWUgPSBOVUxM OwogCUZvcm1fcGdfYXR0cmlidXRlIGF0dHI7CiAJT2lkCQkJb3BjbGFzczsKIAlPaWQJCQlvcGZh bWlseTsKQEAgLTEzNzksNiArMTM4Niw1NCBAQCB0cmFuc2Zvcm1Gb3JQb3J0aW9uT2ZDbGF1c2Uo UGFyc2VTdGF0ZSAqcHN0YXRlLAogCWlmICghZ2V0X3R5cG5hbWVfYW5kX25hbWVzcGFjZShhdHRy LT5hdHR0eXBpZCwgJnJhbmdlX3R5cGVfbmFtZSwgJnJhbmdlX3R5cGVfbmFtZXNwYWNlKSkKIAkJ ZWxvZyhFUlJPUiwgImNhY2hlIGxvb2t1cCBmYWlsZWQgZm9yIHR5cGUgJXUiLCBhdHRyLT5hdHR0 eXBpZCk7CiAKKwkvKgorCSAqIElmIHdlIGFyZSB1c2luZyBhIFBFUklPRCwgd2UgbmVlZCB0aGUg c3RhcnQgJiBlbmQgY29sdW1ucy4gSWYgdGhlCisJICogYXR0cmlidXRlIGl0IG5vdCBhIEdFTkVS QVRFRCBjb2x1bW4sIHdlIG5lZWRuJ3QgcXVlcnkgcGdfcGVyaW9kLgorCSAqLworCWlmIChhdHRy LT5hdHRnZW5lcmF0ZWQgPT0gQVRUUklCVVRFX0dFTkVSQVRFRF9TVE9SRUQpCisJeworCQlIZWFw VHVwbGUJcGVyVHVwbGUgPSBTZWFyY2hTeXNDYWNoZTIoUEVSSU9ETkFNRSwKKwkJCQkJCQkJCQkJ ICAgT2JqZWN0SWRHZXREYXR1bShSZWxhdGlvbkdldFJlbGlkKHRhcmdldHJlbCkpLAorCQkJCQkJ CQkJCQkgICBQb2ludGVyR2V0RGF0dW0ocmFuZ2VfbmFtZSkpOworCisJCWlmIChIZWFwVHVwbGVJ c1ZhbGlkKHBlclR1cGxlKSkKKwkJeworCQkJRm9ybV9wZ19wZXJpb2QgcGVyID0gKEZvcm1fcGdf cGVyaW9kKSBHRVRTVFJVQ1QocGVyVHVwbGUpOworCQkJRm9ybV9wZ19hdHRyaWJ1dGUgcGVyYXR0 cjsKKworCQkJc3RhcnRfYXR0bm8gPSBwZXItPnBlcnN0YXJ0OworCQkJZW5kX2F0dG5vID0gcGVy LT5wZXJlbmQ7CisKKwkJCXBlcmF0dHIgPSBUdXBsZURlc2NBdHRyKHRhcmdldHJlbC0+cmRfYXR0 LCBzdGFydF9hdHRubyAtIDEpOworCQkJc3RhcnRjb2xuYW1lID0gTmFtZVN0cihwZXJhdHRyLT5h dHRuYW1lKTsKKworCQkJcmVzdWx0LT5zdGFydFZhciA9IG1ha2VWYXIoCisJCQkJCQkJCQkgICBy dGluZGV4LAorCQkJCQkJCQkJICAgc3RhcnRfYXR0bm8sCisJCQkJCQkJCQkgICBwZXJhdHRyLT5h dHR0eXBpZCwKKwkJCQkJCQkJCSAgIHBlcmF0dHItPmF0dHR5cG1vZCwKKwkJCQkJCQkJCSAgIHBl cmF0dHItPmF0dGNvbGxhdGlvbiwKKwkJCQkJCQkJCSAgIDApOworCisJCQlwZXJhdHRyID0gVHVw bGVEZXNjQXR0cih0YXJnZXRyZWwtPnJkX2F0dCwgZW5kX2F0dG5vIC0gMSk7CisJCQllbmRjb2xu YW1lID0gTmFtZVN0cihwZXJhdHRyLT5hdHRuYW1lKTsKKwkJCXJlc3VsdC0+ZW5kVmFyID0gbWFr ZVZhcigKKwkJCQkJCQkJCSBydGluZGV4LAorCQkJCQkJCQkJIGVuZF9hdHRubywKKwkJCQkJCQkJ CSBwZXJhdHRyLT5hdHR0eXBpZCwKKwkJCQkJCQkJCSBwZXJhdHRyLT5hdHR0eXBtb2QsCisJCQkJ CQkJCQkgcGVyYXR0ci0+YXR0Y29sbGF0aW9uLAorCQkJCQkJCQkJIDApOworCisJCQlSZWxlYXNl U3lzQ2FjaGUocGVyVHVwbGUpOworCQl9CisJfQorCisJaWYgKHN0YXJ0X2F0dG5vID09IEludmFs aWRBdHRyTnVtYmVyKQorCXsKKwkJcmVzdWx0LT5zdGFydFZhciA9IE5VTEw7CisJCXJlc3VsdC0+ ZW5kVmFyID0gTlVMTDsKKwl9CiAKIAlpZiAoZm9yUG9ydGlvbk9mLT50YXJnZXQpCiAKQEAgLTE0 NTAsNyArMTUwNSwxMCBAQCB0cmFuc2Zvcm1Gb3JQb3J0aW9uT2ZDbGF1c2UoUGFyc2VTdGF0ZSAq cHN0YXRlLAogCXsKIAkJLyoKIAkJICogTm93IG1ha2Ugc3VyZSB3ZSB1cGRhdGUgdGhlIHN0YXJ0 L2VuZCB0aW1lIG9mIHRoZSByZWNvcmQuIEZvciBhCi0JCSAqIHJhbmdlIGNvbCAocikgdGhpcyBp cyBgciA9IHIgKiB0YXJnZXRSYW5nZWAuCisJCSAqIHJhbmdlIGNvbCAocikgdGhpcyBpcyBgciA9 IHIgKiB0YXJnZXRSYW5nZWAuIEZvciBhIFBFUklPRCB3aXRoIGNvbHMKKwkJICogKHMsIGUpIHRo aXMgaXMgYHMgPSBsb3dlcih0c3JhbmdlKHMsIGUpICogdGFyZ2V0UmFuZ2UpYCBhbmQgYGUgPQor CQkgKiB1cHBlcih0c3JhbmdlKHMsIGUpICogdGFyZ2V0UmFuZ2VgIChvZiBjb3Vyc2Ugbm90IG5l Y2Vzc2FyaWx5IHdpdGgKKwkJICogdHNyYW5nZSwgYnV0IHdpdGggd2hhdGV2ZXIgcmFuZ2UgdHlw ZSBpcyB1c2VkIHRoZXJlKS4KIAkJICovCiAJCU9pZAkJCWludGVyc2VjdG9wZXJvaWQ7CiAJCUxp c3QJICAgKmZ1bmNBcmdzID0gTklMOwpAQCAtMTQ4NSwxNCArMTU0Myw3MiBAQCB0cmFuc2Zvcm1G b3JQb3J0aW9uT2ZDbGF1c2UoUGFyc2VTdGF0ZSAqcHN0YXRlLAogCQlyYW5nZVRMRUV4cHIgPSBt YWtlRnVuY0V4cHIoZnVuY2lkLCBhdHRyLT5hdHR0eXBpZCwgZnVuY0FyZ3MsCiAJCQkJCQkJCQlJ bnZhbGlkT2lkLCBJbnZhbGlkT2lkLCBDT0VSQ0VfRVhQTElDSVRfQ0FMTCk7CiAKLQkJLyogTWFr ZSBhIFRMRSB0byBzZXQgdGhlIHJhbmdlIGNvbHVtbiAqLworCQkvKiBNYWtlIGEgVExFIHRvIHNl dCB0aGUgcmFuZ2UgY29sdW1uIG9yIHN0YXJ0L2VuZCBjb2x1bW5zICovCiAJCXJlc3VsdC0+cmFu Z2VUYXJnZXRMaXN0ID0gTklMOwotCQl0bGUgPSBtYWtlVGFyZ2V0RW50cnkoKEV4cHIgKikgcmFu Z2VUTEVFeHByLCByYW5nZV9hdHRubywgcmFuZ2VfbmFtZSwgZmFsc2UpOwotCQlyZXN1bHQtPnJh bmdlVGFyZ2V0TGlzdCA9IGxhcHBlbmQocmVzdWx0LT5yYW5nZVRhcmdldExpc3QsIHRsZSk7CiAK LQkJLyogTWFyayB0aGUgcmFuZ2UgY29sdW1uIGFzIHJlcXVpcmluZyB1cGRhdGUgcGVybWlzc2lv bnMgKi8KLQkJdGFyZ2V0X3Blcm1pbmZvLT51cGRhdGVkQ29scyA9IGJtc19hZGRfbWVtYmVyKHRh cmdldF9wZXJtaW5mby0+dXBkYXRlZENvbHMsCi0JCQkJCQkJCQkJCQkJICByYW5nZV9hdHRubyAt IEZpcnN0TG93SW52YWxpZEhlYXBBdHRyaWJ1dGVOdW1iZXIpOworCQlpZiAocmVzdWx0LT5zdGFy dFZhcikKKwkJeworCQkJRnVuY0V4cHIgICAqYm91bmRUTEVFeHByOworCQkJT2lkCQkJYXJnX3R5 cGVzWzFdID0ge0FOWVJBTkdFT0lEfTsKKwkJCUZ1bmNEZXRhaWxDb2RlIGZkcmVzdWx0OworCQkJ aW50CQkJZmdjX2ZsYWdzOworCQkJT2lkCQkJcmV0dHlwZTsKKwkJCWJvb2wJCXJldHNldDsKKwkJ CWludAkJCW52YXJnczsKKwkJCU9pZAkJCXZhdHlwZTsKKwkJCU9pZAkJICAgKmRlY2xhcmVkX2Fy Z190eXBlczsKKwkJCU9pZAkJCWVsZW10eXBpZCA9IGdldF9yYW5nZV9zdWJ0eXBlKGF0dHItPmF0 dHR5cGlkKTsKKworCQkJLyogc2V0IHRoZSBzdGFydCBjb2x1bW4gKi8KKwkJCWZkcmVzdWx0ID0g ZnVuY19nZXRfZGV0YWlsKFN5c3RlbUZ1bmNOYW1lKCJsb3dlciIpLCBOSUwsIE5JTCwgMSwKKwkJ CQkJCQkJCSAgIGFyZ190eXBlcywKKwkJCQkJCQkJCSAgIGZhbHNlLCBmYWxzZSwgZmFsc2UsICZm Z2NfZmxhZ3MsCisJCQkJCQkJCQkgICAmZnVuY2lkLCAmcmV0dHlwZSwgJnJldHNldCwKKwkJCQkJ CQkJCSAgICZudmFyZ3MsICZ2YXR5cGUsCisJCQkJCQkJCQkgICAmZGVjbGFyZWRfYXJnX3R5cGVz LCBOVUxMKTsKKwkJCWlmIChmZHJlc3VsdCAhPSBGVU5DREVUQUlMX05PUk1BTCkKKwkJCQllbG9n KEVSUk9SLCAiZmFpbGVkIHRvIGZpbmQgbG93ZXIoYW55cmFuZ2UpIGZ1bmN0aW9uIik7CisJCQli b3VuZFRMRUV4cHIgPSBtYWtlRnVuY0V4cHIoZnVuY2lkLAorCQkJCQkJCQkJCWVsZW10eXBpZCwK KwkJCQkJCQkJCQlsaXN0X21ha2UxKHJhbmdlVExFRXhwciksCisJCQkJCQkJCQkJSW52YWxpZE9p ZCwgSW52YWxpZE9pZCwgQ09FUkNFX0VYUExJQ0lUX0NBTEwpOworCQkJdGxlID0gbWFrZVRhcmdl dEVudHJ5KChFeHByICopIGJvdW5kVExFRXhwciwgc3RhcnRfYXR0bm8sIHN0YXJ0Y29sbmFtZSwg ZmFsc2UpOworCQkJcmVzdWx0LT5yYW5nZVRhcmdldExpc3QgPSBsYXBwZW5kKHJlc3VsdC0+cmFu Z2VUYXJnZXRMaXN0LCB0bGUpOworCisJCQkvKiBzZXQgdGhlIGVuZCBjb2x1bW4gKi8KKwkJCWZk cmVzdWx0ID0gZnVuY19nZXRfZGV0YWlsKFN5c3RlbUZ1bmNOYW1lKCJ1cHBlciIpLCBOSUwsIE5J TCwgMSwKKwkJCQkJCQkJCSAgIGFyZ190eXBlcywKKwkJCQkJCQkJCSAgIGZhbHNlLCBmYWxzZSwg ZmFsc2UsICZmZ2NfZmxhZ3MsCisJCQkJCQkJCQkgICAmZnVuY2lkLCAmcmV0dHlwZSwgJnJldHNl dCwKKwkJCQkJCQkJCSAgICZudmFyZ3MsICZ2YXR5cGUsCisJCQkJCQkJCQkgICAmZGVjbGFyZWRf YXJnX3R5cGVzLCBOVUxMKTsKKwkJCWlmIChmZHJlc3VsdCAhPSBGVU5DREVUQUlMX05PUk1BTCkK KwkJCQllbG9nKEVSUk9SLCAiZmFpbGVkIHRvIGZpbmQgdXBwZXIoYW55cmFuZ2UpIGZ1bmN0aW9u Iik7CisJCQlib3VuZFRMRUV4cHIgPSBtYWtlRnVuY0V4cHIoZnVuY2lkLAorCQkJCQkJCQkJCWVs ZW10eXBpZCwKKwkJCQkJCQkJCQlsaXN0X21ha2UxKHJhbmdlVExFRXhwciksCisJCQkJCQkJCQkJ SW52YWxpZE9pZCwgSW52YWxpZE9pZCwgQ09FUkNFX0VYUExJQ0lUX0NBTEwpOworCQkJdGxlID0g bWFrZVRhcmdldEVudHJ5KChFeHByICopIGJvdW5kVExFRXhwciwgZW5kX2F0dG5vLCBlbmRjb2xu YW1lLCBmYWxzZSk7CisJCQlyZXN1bHQtPnJhbmdlVGFyZ2V0TGlzdCA9IGxhcHBlbmQocmVzdWx0 LT5yYW5nZVRhcmdldExpc3QsIHRsZSk7CisKKwkJCS8qCisJCQkgKiBNYXJrIHRoZSBzdGFydC9l bmQgY29sdW1ucyBhcyByZXF1aXJpbmcgdXBkYXRlIHBlcm1pc3Npb25zLiBBcworCQkJICogdXN1 YWwsIHdlIGRvbid0IGNoZWNrIHBlcm1pc3Npb25zIGZvciB0aGUgR0VORVJBVEVEIGNvbHVtbi4K KwkJCSAqLworCQkJdGFyZ2V0X3Blcm1pbmZvLT51cGRhdGVkQ29scyA9IGJtc19hZGRfbWVtYmVy KHRhcmdldF9wZXJtaW5mby0+dXBkYXRlZENvbHMsCisJCQkJCQkJCQkJCQkJCSAgc3RhcnRfYXR0 bm8gLSBGaXJzdExvd0ludmFsaWRIZWFwQXR0cmlidXRlTnVtYmVyKTsKKwkJCXRhcmdldF9wZXJt aW5mby0+dXBkYXRlZENvbHMgPSBibXNfYWRkX21lbWJlcih0YXJnZXRfcGVybWluZm8tPnVwZGF0 ZWRDb2xzLAorCQkJCQkJCQkJCQkJCQkgIGVuZF9hdHRubyAtIEZpcnN0TG93SW52YWxpZEhlYXBB dHRyaWJ1dGVOdW1iZXIpOworCQl9CisJCWVsc2UKKwkJeworCQkJdGxlID0gbWFrZVRhcmdldEVu dHJ5KChFeHByICopIHJhbmdlVExFRXhwciwgcmFuZ2VfYXR0bm8sIHJhbmdlX25hbWUsIGZhbHNl KTsKKwkJCXJlc3VsdC0+cmFuZ2VUYXJnZXRMaXN0ID0gbGFwcGVuZChyZXN1bHQtPnJhbmdlVGFy Z2V0TGlzdCwgdGxlKTsKKworCQkJLyogTWFyayB0aGUgcmFuZ2UgY29sdW1uIGFzIHJlcXVpcmlu ZyB1cGRhdGUgcGVybWlzc2lvbnMgKi8KKwkJCXRhcmdldF9wZXJtaW5mby0+dXBkYXRlZENvbHMg PSBibXNfYWRkX21lbWJlcih0YXJnZXRfcGVybWluZm8tPnVwZGF0ZWRDb2xzLAorCQkJCQkJCQkJ CQkJCQkgIHJhbmdlX2F0dG5vIC0gRmlyc3RMb3dJbnZhbGlkSGVhcEF0dHJpYnV0ZU51bWJlcik7 CisJCX0KIAl9CiAJZWxzZQogCQlyZXN1bHQtPnJhbmdlVGFyZ2V0TGlzdCA9IE5JTDsKZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3Jh bS55CmluZGV4IDc5ZTUzZjFkZjYyLi5iOTM3OWYyZmY0MSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvcGFyc2VyL2dyYW0ueQorKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CkBAIC02MDAs NyArNjAwLDcgQEAgc3RhdGljIE5vZGUgKm1ha2VSZWN1cnNpdmVWaWV3U2VsZWN0KGNoYXIgKnJl bG5hbWUsIExpc3QgKmFsaWFzZXMsIE5vZGUgKnF1ZXJ5KTsKICV0eXBlIDxrZXl3b3JkPiBjb2xf bmFtZV9rZXl3b3JkIHJlc2VydmVkX2tleXdvcmQKICV0eXBlIDxrZXl3b3JkPiBiYXJlX2xhYmVs X2tleXdvcmQKIAotJXR5cGUgPG5vZGU+CURvbWFpbkNvbnN0cmFpbnQgVGFibGVDb25zdHJhaW50 IFRhYmxlTGlrZUNsYXVzZQorJXR5cGUgPG5vZGU+CURvbWFpbkNvbnN0cmFpbnQgVGFibGVDb25z dHJhaW50IFRhYmxlTGlrZUNsYXVzZSBUYWJsZVBlcmlvZAogJXR5cGUgPGl2YWw+CVRhYmxlTGlr ZU9wdGlvbkxpc3QgVGFibGVMaWtlT3B0aW9uCiAldHlwZSA8c3RyPgkJY29sdW1uX2NvbXByZXNz aW9uIG9wdF9jb2x1bW5fY29tcHJlc3Npb24gY29sdW1uX3N0b3JhZ2Ugb3B0X2NvbHVtbl9zdG9y YWdlCiAldHlwZSA8bGlzdD4JQ29sUXVhbExpc3QKQEAgLTI3MTMsNiArMjcxMywyNCBAQCBhbHRl cl90YWJsZV9jbWQ6CiAJCQkJCW4tPmRlZiA9IChOb2RlICopICQ0OwogCQkJCQkkJCA9IChOb2Rl ICopIG47CiAJCQkJfQorCQkJLyogQUxURVIgVEFCTEUgPG5hbWU+IEFERCBQRVJJT0QgRk9SIDxu YW1lPiAoPG5hbWU+LCA8bmFtZT4pICovCisJCQl8IEFERF9QIFRhYmxlUGVyaW9kCisJCQkJewor CQkJCQlBbHRlclRhYmxlQ21kICpuID0gbWFrZU5vZGUoQWx0ZXJUYWJsZUNtZCk7CisJCQkJCW4t PnN1YnR5cGUgPSBBVF9BZGRQZXJpb2Q7CisJCQkJCW4tPmRlZiA9ICQyOworCQkJCQkkJCA9IChO b2RlICopbjsKKwkJCQl9CisJCQkvKiBBTFRFUiBUQUJMRSA8bmFtZT4gRFJPUCBQRVJJT0QgRk9S IDxuYW1lPiBbUkVTVFJJQ1R8Q0FTQ0FERV0gKi8KKwkJCXwgRFJPUCBQRVJJT0QgRk9SIG5hbWUg b3B0X2Ryb3BfYmVoYXZpb3IKKwkJCQl7CisJCQkJCUFsdGVyVGFibGVDbWQgKm4gPSBtYWtlTm9k ZShBbHRlclRhYmxlQ21kKTsKKwkJCQkJbi0+c3VidHlwZSA9IEFUX0Ryb3BQZXJpb2Q7CisJCQkJ CW4tPm5hbWUgPSAkNDsKKwkJCQkJbi0+YmVoYXZpb3IgPSAkNTsKKwkJCQkJbi0+bWlzc2luZ19v ayA9IGZhbHNlOworCQkJCQkkJCA9IChOb2RlICopbjsKKwkJCQl9CiAJCQkvKiBBTFRFUiBUQUJM RSA8bmFtZT4gQUREIENPTlNUUkFJTlQgLi4uICovCiAJCQl8IEFERF9QIFRhYmxlQ29uc3RyYWlu dAogCQkJCXsKQEAgLTM4NzUsOCArMzg5MywxMCBAQCBUYWJsZUVsZW1lbnQ6CiAJCQljb2x1bW5E ZWYJCQkJCQkJeyAkJCA9ICQxOyB9CiAJCQl8IFRhYmxlTGlrZUNsYXVzZQkJCQkJeyAkJCA9ICQx OyB9CiAJCQl8IFRhYmxlQ29uc3RyYWludAkJCQkJeyAkJCA9ICQxOyB9CisJCQl8IFRhYmxlUGVy aW9kCQkJCQkJeyAkJCA9ICQxOyB9CiAJCTsKIAorCiBUeXBlZFRhYmxlRWxlbWVudDoKIAkJCWNv bHVtbk9wdGlvbnMJCQkJCQl7ICQkID0gJDE7IH0KIAkJCXwgVGFibGVDb25zdHJhaW50CQkJCQl7 ICQkID0gJDE7IH0KQEAgLTQyNTQsNiArNDI3NCwxOSBAQCBUYWJsZUxpa2VPcHRpb246CiAJCTsK IAogCitUYWJsZVBlcmlvZDoKKwkJCVBFUklPRCBGT1IgbmFtZSAnKCcgbmFtZSAnLCcgbmFtZSAn KScgb3B0X2RlZmluaXRpb24KKwkJCQl7CisJCQkJCVBlcmlvZERlZiAqbiA9IG1ha2VOb2RlKFBl cmlvZERlZik7CisJCQkJCW4tPnBlcmlvZG5hbWUgPSAkMzsKKwkJCQkJbi0+c3RhcnRjb2xuYW1l ID0gJDU7CisJCQkJCW4tPmVuZGNvbG5hbWUgPSAkNzsKKwkJCQkJbi0+b3B0aW9ucyA9ICQ5Owor CQkJCQluLT5sb2NhdGlvbiA9IEAxOworCQkJCQkkJCA9IChOb2RlICopIG47CisJCQkJfQorCQk7 CisKIC8qIENvbnN0cmFpbnRFbGVtIHNwZWNpZmllcyBjb25zdHJhaW50IHN5bnRheCB3aGljaCBp cyBub3QgZW1iZWRkZWQgaW50bwogICoJYSBjb2x1bW4gZGVmaW5pdGlvbi4gQ29sQ29uc3RyYWlu dEVsZW0gc3BlY2lmaWVzIHRoZSBlbWJlZGRlZCBmb3JtLgogICogLSB0aG9tYXMgMTk5Ny0xMi0w MwpAQCAtNzM4OCw2ICs3NDIxLDE0IEBAIENvbW1lbnRTdG10OgogCQkJCQluLT5jb21tZW50ID0g JDk7CiAJCQkJCSQkID0gKE5vZGUgKikgbjsKIAkJCQl9CisJCQl8IENPTU1FTlQgT04gUEVSSU9E IGFueV9uYW1lIElTIGNvbW1lbnRfdGV4dAorCQkJCXsKKwkJCQkJQ29tbWVudFN0bXQgKm4gPSBt YWtlTm9kZShDb21tZW50U3RtdCk7CisJCQkJCW4tPm9ianR5cGUgPSBPQkpFQ1RfUEVSSU9EOwor CQkJCQluLT5vYmplY3QgPSAoTm9kZSAqKSAkNDsKKwkJCQkJbi0+Y29tbWVudCA9ICQ2OworCQkJ CQkkJCA9IChOb2RlICopIG47CisJCQkJfQogCQkJfCBDT01NRU5UIE9OIExBUkdFX1AgT0JKRUNU X1AgTnVtZXJpY09ubHkgSVMgY29tbWVudF90ZXh0CiAJCQkJewogCQkJCQlDb21tZW50U3RtdCAq biA9IG1ha2VOb2RlKENvbW1lbnRTdG10KTsKQEAgLTE4MTI3LDcgKzE4MTY4LDYgQEAgdW5yZXNl cnZlZF9rZXl3b3JkOgogCQkJfCBQQVNTSU5HCiAJCQl8IFBBU1NXT1JECiAJCQl8IFBBVEgKLQkJ CXwgUEVSSU9ECiAJCQl8IFBMQU4KIAkJCXwgUExBTlMKIAkJCXwgUE9MSUNZCkBAIC0xODQzNCw2 ICsxODQ3NCw3IEBAIHJlc2VydmVkX2tleXdvcmQ6CiAJCQl8IE9OTFkKIAkJCXwgT1IKIAkJCXwg T1JERVIKKwkJCXwgUEVSSU9ECiAJCQl8IFBMQUNJTkcKIAkJCXwgUFJJTUFSWQogCQkJfCBSRUZF UkVOQ0VTCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfcmVsYXRpb24uYyBi L3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9yZWxhdGlvbi5jCmluZGV4IDNjODBiZjFiOWNlLi5l YjFkMDY0M2IwOSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3JlbGF0aW9u LmMKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3JlbGF0aW9uLmMKQEAgLTIyLDYgKzIy LDcgQEAKICNpbmNsdWRlICJhY2Nlc3MvdGFibGUuaCIKICNpbmNsdWRlICJjYXRhbG9nL2hlYXAu aCIKICNpbmNsdWRlICJjYXRhbG9nL25hbWVzcGFjZS5oIgorI2luY2x1ZGUgImNhdGFsb2cvcGdf cGVyaW9kLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ190eXBlLmgiCiAjaW5jbHVkZSAiZnVuY2Fw aS5oIgogI2luY2x1ZGUgIm5vZGVzL21ha2VmdW5jcy5oIgpAQCAtMzI5Myw2ICszMjk0LDcgQEAg ZXhwYW5kTlNJdGVtQXR0cnMoUGFyc2VTdGF0ZSAqcHN0YXRlLCBQYXJzZU5hbWVzcGFjZUl0ZW0g Km5zaXRlbSwKIAkJCQkgIGludCBzdWJsZXZlbHNfdXAsIGJvb2wgcmVxdWlyZV9jb2xfcHJpdnMs IGludCBsb2NhdGlvbikKIHsKIAlSYW5nZVRibEVudHJ5ICpydGUgPSBuc2l0ZW0tPnBfcnRlOwor CUJpdG1hcHNldCAgKnBlcmlvZGF0dHMgPSBOVUxMOwogCVJURVBlcm1pc3Npb25JbmZvICpwZXJt aW5mbyA9IG5zaXRlbS0+cF9wZXJtaW5mbzsKIAlMaXN0CSAgICpuYW1lcywKIAkJCSAgICp2YXJz OwpAQCAtMzMxNiwxMiArMzMxOCwyMCBAQCBleHBhbmROU0l0ZW1BdHRycyhQYXJzZVN0YXRlICpw c3RhdGUsIFBhcnNlTmFtZXNwYWNlSXRlbSAqbnNpdGVtLAogCQlwZXJtaW5mby0+cmVxdWlyZWRQ ZXJtcyB8PSBBQ0xfU0VMRUNUOwogCX0KIAorCS8qIEdldCBQRVJJT0QgY29sdW1ucyB0byBleGNs dWRlICovCisJaWYgKHJ0ZS0+cnRla2luZCA9PSBSVEVfUkVMQVRJT04pCisJCXBlcmlvZGF0dHMg PSBnZXRfcGVyaW9kX2F0dG5vcyhydGUtPnJlbGlkKTsKKwogCWZvcmJvdGgobmFtZSwgbmFtZXMs IHZhciwgdmFycykKIAl7CiAJCWNoYXIJICAgKmxhYmVsID0gc3RyVmFsKGxmaXJzdChuYW1lKSk7 CiAJCVZhcgkJICAgKnZhcm5vZGUgPSAoVmFyICopIGxmaXJzdCh2YXIpOwogCQlUYXJnZXRFbnRy eSAqdGU7CiAKKwkJLyogSWYgdGhpcyBjb2x1bW4gaXMgZnJvbSBhIFBFUklPRCwgc2tpcCBpdCAq LworCQlpZiAoYm1zX2lzX21lbWJlcih2YXJub2RlLT52YXJhdHRubywgcGVyaW9kYXR0cykpCisJ CQljb250aW51ZTsKKwogCQl0ZSA9IG1ha2VUYXJnZXRFbnRyeSgoRXhwciAqKSB2YXJub2RlLAog CQkJCQkJCSAoQXR0ck51bWJlcikgcHN0YXRlLT5wX25leHRfcmVzbm8rKywKIAkJCQkJCQkgbGFi ZWwsCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jIGIvc3Jj L2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYwppbmRleCBlOTZiMzhhNTlkNS4uNjdlMzZh YzEzODMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21kLmMKKysr IGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYwpAQCAtMzcsNiArMzcsNyBAQAog I2luY2x1ZGUgImNhdGFsb2cvcGdfY29uc3RyYWludC5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdf b3BjbGFzcy5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfb3BlcmF0b3IuaCIKKyNpbmNsdWRlICJj YXRhbG9nL3BnX3BlcmlvZC5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfc3RhdGlzdGljX2V4dC5o IgogI2luY2x1ZGUgImNhdGFsb2cvcGdfdHlwZS5oIgogI2luY2x1ZGUgImNvbW1hbmRzL2NvbW1l bnQuaCIKQEAgLTgwLDYgKzgxLDcgQEAgdHlwZWRlZiBzdHJ1Y3QKIAlib29sCQlpc2ZvcmVpZ247 CQkvKiB0cnVlIGlmIENSRUFURS9BTFRFUiBGT1JFSUdOIFRBQkxFICovCiAJYm9vbAkJaXNhbHRl cjsJCS8qIHRydWUgaWYgYWx0ZXJpbmcgZXhpc3RpbmcgdGFibGUgKi8KIAlMaXN0CSAgICpjb2x1 bW5zOwkJLyogQ29sdW1uRGVmIGl0ZW1zICovCisJTGlzdAkgICAqcGVyaW9kczsJCS8qIFBlcmlv ZERlZiBpdGVtcyAqLwogCUxpc3QJICAgKmNrY29uc3RyYWludHM7CS8qIENIRUNLIGNvbnN0cmFp bnRzICovCiAJTGlzdAkgICAqbm5jb25zdHJhaW50czsJLyogTk9UIE5VTEwgY29uc3RyYWludHMg Ki8KIAlMaXN0CSAgICpma2NvbnN0cmFpbnRzOwkvKiBGT1JFSUdOIEtFWSBjb25zdHJhaW50cyAq LwpAQCAtMTEwLDYgKzExMiw4IEBAIHR5cGVkZWYgc3RydWN0CiAKIHN0YXRpYyB2b2lkIHRyYW5z Zm9ybUNvbHVtbkRlZmluaXRpb24oQ3JlYXRlU3RtdENvbnRleHQgKmN4dCwKIAkJCQkJCQkJCSAg Q29sdW1uRGVmICpjb2x1bW4pOworc3RhdGljIHZvaWQgdHJhbnNmb3JtVGFibGVQZXJpb2QoQ3Jl YXRlU3RtdENvbnRleHQgKmN4dCwKKwkJCQkJCQkJIFBlcmlvZERlZiAqcGVyaW9kKTsKIHN0YXRp YyB2b2lkIHRyYW5zZm9ybVRhYmxlQ29uc3RyYWludChDcmVhdGVTdG10Q29udGV4dCAqY3h0LAog CQkJCQkJCQkJIENvbnN0cmFpbnQgKmNvbnN0cmFpbnQpOwogc3RhdGljIHZvaWQgdHJhbnNmb3Jt VGFibGVMaWtlQ2xhdXNlKENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsCkBAIC0yNDAsNiArMjQ0LDcg QEAgdHJhbnNmb3JtQ3JlYXRlU3RtdChDcmVhdGVTdG10ICpzdG10LCBjb25zdCBjaGFyICpxdWVy eVN0cmluZykKIAljeHQuaW5oUmVsYXRpb25zID0gc3RtdC0+aW5oUmVsYXRpb25zOwogCWN4dC5p c2FsdGVyID0gZmFsc2U7CiAJY3h0LmNvbHVtbnMgPSBOSUw7CisJY3h0LnBlcmlvZHMgPSBOSUw7 CiAJY3h0LmNrY29uc3RyYWludHMgPSBOSUw7CiAJY3h0Lm5uY29uc3RyYWludHMgPSBOSUw7CiAJ Y3h0LmZrY29uc3RyYWludHMgPSBOSUw7CkBAIC0yNzksNiArMjg0LDEwIEBAIHRyYW5zZm9ybUNy ZWF0ZVN0bXQoQ3JlYXRlU3RtdCAqc3RtdCwgY29uc3QgY2hhciAqcXVlcnlTdHJpbmcpCiAJCQkJ dHJhbnNmb3JtQ29sdW1uRGVmaW5pdGlvbigmY3h0LCAoQ29sdW1uRGVmICopIGVsZW1lbnQpOwog CQkJCWJyZWFrOwogCisJCQljYXNlIFRfUGVyaW9kRGVmOgorCQkJCXRyYW5zZm9ybVRhYmxlUGVy aW9kKCZjeHQsIChQZXJpb2REZWYgKikgZWxlbWVudCk7CisJCQkJYnJlYWs7CisKIAkJCWNhc2Ug VF9Db25zdHJhaW50OgogCQkJCXRyYW5zZm9ybVRhYmxlQ29uc3RyYWludCgmY3h0LCAoQ29uc3Ry YWludCAqKSBlbGVtZW50KTsKIAkJCQlicmVhazsKQEAgLTM2Nyw2ICszNzYsNyBAQCB0cmFuc2Zv cm1DcmVhdGVTdG10KENyZWF0ZVN0bXQgKnN0bXQsIGNvbnN0IGNoYXIgKnF1ZXJ5U3RyaW5nKQog CSAqIE91dHB1dCByZXN1bHRzLgogCSAqLwogCXN0bXQtPnRhYmxlRWx0cyA9IGN4dC5jb2x1bW5z OworCXN0bXQtPnBlcmlvZHMgPSBjeHQucGVyaW9kczsKIAlzdG10LT5jb25zdHJhaW50cyA9IGN4 dC5ja2NvbnN0cmFpbnRzOwogCXN0bXQtPm5uY29uc3RyYWludHMgPSBjeHQubm5jb25zdHJhaW50 czsKIApAQCAtMTAyNyw2ICsxMDM3LDkyIEBAIHRyYW5zZm9ybUNvbHVtbkRlZmluaXRpb24oQ3Jl YXRlU3RtdENvbnRleHQgKmN4dCwgQ29sdW1uRGVmICpjb2x1bW4pCiAJfQogfQogCit2b2lkCit0 cmFuc2Zvcm1QZXJpb2RPcHRpb25zKFBlcmlvZERlZiAqcGVyaW9kKQoreworCUxpc3RDZWxsICAg Km9wdGlvbjsKKwlEZWZFbGVtICAgICpkY29uc3RyYWludG5hbWUgPSBOVUxMOworCURlZkVsZW0g ICAgKmRyYW5nZXR5cGVuYW1lID0gTlVMTDsKKwlEZWZFbGVtICAgICpkY29sZXhpc3RzID0gTlVM TDsKKworCWZvcmVhY2gob3B0aW9uLCBwZXJpb2QtPm9wdGlvbnMpCisJeworCQlEZWZFbGVtICAg ICpkZWZlbCA9IChEZWZFbGVtICopIGxmaXJzdChvcHRpb24pOworCisJCWlmIChzdHJjbXAoZGVm ZWwtPmRlZm5hbWUsICJjaGVja19jb25zdHJhaW50X25hbWUiKSA9PSAwKQorCQl7CisJCQlpZiAo ZGNvbnN0cmFpbnRuYW1lKQorCQkJCWVyZXBvcnQoRVJST1IsCisJCQkJCQkoZXJyY29kZShFUlJD T0RFX1NZTlRBWF9FUlJPUiksCisJCQkJCQkgZXJybXNnKCJjb25mbGljdGluZyBvciByZWR1bmRh bnQgb3B0aW9ucyIpKSk7CisJCQlkY29uc3RyYWludG5hbWUgPSBkZWZlbDsKKwkJfQorCQllbHNl IGlmIChzdHJjbXAoZGVmZWwtPmRlZm5hbWUsICJyYW5nZXR5cGUiKSA9PSAwKQorCQl7CisJCQlp ZiAoZHJhbmdldHlwZW5hbWUpCisJCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJCShlcnJjb2RlKEVS UkNPREVfU1lOVEFYX0VSUk9SKSwKKwkJCQkJCSBlcnJtc2coImNvbmZsaWN0aW5nIG9yIHJlZHVu ZGFudCBvcHRpb25zIikpKTsKKwkJCWRyYW5nZXR5cGVuYW1lID0gZGVmZWw7CisJCX0KKwkJZWxz ZSBpZiAoc3RyY21wKGRlZmVsLT5kZWZuYW1lLCAiY29sZXhpc3RzIikgPT0gMCkKKwkJeworCQkJ aWYgKGRjb2xleGlzdHMpCisJCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJCShlcnJjb2RlKEVSUkNP REVfU1lOVEFYX0VSUk9SKSwKKwkJCQkJCSBlcnJtc2coImNvbmZsaWN0aW5nIG9yIHJlZHVuZGFu dCBvcHRpb25zIikpKTsKKwkJCWRjb2xleGlzdHMgPSBkZWZlbDsKKwkJfQorCQllbHNlCisJCQll cmVwb3J0KEVSUk9SLAorCQkJCQkoZXJyY29kZShFUlJDT0RFX1NZTlRBWF9FUlJPUiksCisJCQkJ CSBlcnJtc2coIm9wdGlvbiBcIiVzXCIgbm90IHJlY29nbml6ZWQiLCBkZWZlbC0+ZGVmbmFtZSkp KTsKKwl9CisKKwlpZiAoZGNvbnN0cmFpbnRuYW1lICE9IE5VTEwpCisJCXBlcmlvZC0+Y29uc3Ry YWludG5hbWUgPSBkZWZHZXRTdHJpbmcoZGNvbnN0cmFpbnRuYW1lKTsKKwllbHNlCisJCXBlcmlv ZC0+Y29uc3RyYWludG5hbWUgPSBOVUxMOworCisJaWYgKGRyYW5nZXR5cGVuYW1lICE9IE5VTEwp CisJCXBlcmlvZC0+cmFuZ2V0eXBlbmFtZSA9IGRlZkdldFN0cmluZyhkcmFuZ2V0eXBlbmFtZSk7 CisJZWxzZQorCQlwZXJpb2QtPnJhbmdldHlwZW5hbWUgPSBOVUxMOworCisJaWYgKGRjb2xleGlz dHMgIT0gTlVMTCkKKwkJcGVyaW9kLT5jb2xleGlzdHMgPSBkZWZHZXRCb29sZWFuKGRjb2xleGlz dHMpOworCWVsc2UKKwkJcGVyaW9kLT5jb2xleGlzdHMgPSBmYWxzZTsKK30KKworLyoKKyAqIHRy YW5zZm9ybVRhYmxlUGVyaW9kCisgKgkJdHJhbnNmb3JtIGEgUGVyaW9kRGVmIG5vZGUgd2l0aGlu IENSRUFURSBUQUJMRQorICovCitzdGF0aWMgdm9pZAordHJhbnNmb3JtVGFibGVQZXJpb2QoQ3Jl YXRlU3RtdENvbnRleHQgKmN4dCwgUGVyaW9kRGVmICpwZXJpb2QpCit7CisJaWYgKHN0cmNtcChw ZXJpb2QtPnBlcmlvZG5hbWUsICJzeXN0ZW1fdGltZSIpID09IDApCisJCWVyZXBvcnQoRVJST1Is CisJCQkJKGVycmNvZGUoRVJSQ09ERV9GRUFUVVJFX05PVF9TVVBQT1JURUQpLAorCQkJCSBlcnJt c2coIlBFUklPRCBGT1IgU1lTVEVNX1RJTUUgaXMgbm90IHN1cHBvcnRlZCIpLAorCQkJCSBwYXJz ZXJfZXJycG9zaXRpb24oY3h0LT5wc3RhdGUsCisJCQkJCQkJCQlwZXJpb2QtPmxvY2F0aW9uKSkp OworCisJaWYgKHN0cmNtcChwZXJpb2QtPnN0YXJ0Y29sbmFtZSwgcGVyaW9kLT5lbmRjb2xuYW1l KSA9PSAwKQorCQllcmVwb3J0KEVSUk9SLCAoZXJybXNnKCJjb2x1bW4gXCIlc1wiIGNhbid0IGJl IHRoZSBzdGFydCBhbmQgZW5kIGNvbHVtbiBmb3IgcGVyaW9kIFwiJXNcIiIsCisJCQkJCQkJICAg cGVyaW9kLT5zdGFydGNvbG5hbWUsIHBlcmlvZC0+cGVyaW9kbmFtZSkpKTsKKworCS8qCisJICog RGV0ZXJtaW5lIHRoZSBjb2x1bW4gaW5mbyBhbmQgcmFuZ2UgdHlwZSBzbyB0aGF0CisJICogdHJh bnNmb3JtSW5kZXhDb25zdHJhaW50cyBrbm93cyBob3cgdG8gY3JlYXRlIFBSSU1BUlkgS0VZL1VO SVFVRQorCSAqIGNvbnN0cmFpbnRzIHVzaW5nIHRoaXMgUEVSSU9ELgorCSAqLworCXRyYW5zZm9y bVBlcmlvZE9wdGlvbnMocGVyaW9kKTsKKworCWN4dC0+cGVyaW9kcyA9IGxhcHBlbmQoY3h0LT5w ZXJpb2RzLCBwZXJpb2QpOworfQorCiAvKgogICogdHJhbnNmb3JtVGFibGVDb25zdHJhaW50CiAg KgkJdHJhbnNmb3JtIGEgQ29uc3RyYWludCBub2RlIHdpdGhpbiBDUkVBVEUgVEFCTEUgb3IgQUxU RVIgVEFCTEUKQEAgLTExMjgsNiArMTIyNCw3IEBAIHRyYW5zZm9ybVRhYmxlTGlrZUNsYXVzZShD cmVhdGVTdG10Q29udGV4dCAqY3h0LCBUYWJsZUxpa2VDbGF1c2UgKnRhYmxlX2xpa2VfY2xhCiAJ QXR0ck51bWJlcglwYXJlbnRfYXR0bm87CiAJUmVsYXRpb24JcmVsYXRpb247CiAJVHVwbGVEZXNj CXR1cGxlRGVzYzsKKwlCaXRtYXBzZXQgICpwZXJpb2RhdHRzOwogCUFjbFJlc3VsdAlhY2xyZXN1 bHQ7CiAJY2hhcgkgICAqY29tbWVudDsKIAlQYXJzZUNhbGxiYWNrU3RhdGUgcGNic3RhdGU7CkBA IC0xMTczLDYgKzEyNzAsNyBAQCB0cmFuc2Zvcm1UYWJsZUxpa2VDbGF1c2UoQ3JlYXRlU3RtdENv bnRleHQgKmN4dCwgVGFibGVMaWtlQ2xhdXNlICp0YWJsZV9saWtlX2NsYQogCX0KIAogCXR1cGxl RGVzYyA9IFJlbGF0aW9uR2V0RGVzY3IocmVsYXRpb24pOworCXBlcmlvZGF0dHMgPSBnZXRfcGVy aW9kX2F0dG5vcyhSZWxhdGlvbkdldFJlbGlkKHJlbGF0aW9uKSk7CiAKIAkvKgogCSAqIEluc2Vy dCB0aGUgY29waWVkIGF0dHJpYnV0ZXMgaW50byB0aGUgY3h0IGZvciB0aGUgbmV3IHRhYmxlIGRl ZmluaXRpb24uCkBAIC0xMTgyLDEwICsxMjgwLDE4IEBAIHRyYW5zZm9ybVRhYmxlTGlrZUNsYXVz ZShDcmVhdGVTdG10Q29udGV4dCAqY3h0LCBUYWJsZUxpa2VDbGF1c2UgKnRhYmxlX2xpa2VfY2xh CiAJZm9yIChwYXJlbnRfYXR0bm8gPSAxOyBwYXJlbnRfYXR0bm8gPD0gdHVwbGVEZXNjLT5uYXR0 czsKIAkJIHBhcmVudF9hdHRubysrKQogCXsKLQkJRm9ybV9wZ19hdHRyaWJ1dGUgYXR0cmlidXRl ID0gVHVwbGVEZXNjQXR0cih0dXBsZURlc2MsCi0JCQkJCQkJCQkJCQkJcGFyZW50X2F0dG5vIC0g MSk7CisJCUZvcm1fcGdfYXR0cmlidXRlIGF0dHJpYnV0ZTsKIAkJQ29sdW1uRGVmICAqZGVmOwog CisJCS8qCisJCSAqIElmIHRoaXMgY29sdW1uIGlzIGZyb20gYSBQRVJJT0QsIHNraXAgaXQgKHNp bmNlIExJS0UgbmV2ZXIgY29waWVzCisJCSAqIFBFUklPRHMpLgorCQkgKi8KKwkJaWYgKGJtc19p c19tZW1iZXIocGFyZW50X2F0dG5vLCBwZXJpb2RhdHRzKSkKKwkJCWNvbnRpbnVlOworCisJCWF0 dHJpYnV0ZSA9IFR1cGxlRGVzY0F0dHIodHVwbGVEZXNjLCBwYXJlbnRfYXR0bm8gLSAxKTsKKwog CQkvKgogCQkgKiBJZ25vcmUgZHJvcHBlZCBjb2x1bW5zIGluIHRoZSBwYXJlbnQuCiAJCSAqLwpA QCAtMTI3MSwxMyArMTM3NywxNiBAQCB0cmFuc2Zvcm1UYWJsZUxpa2VDbGF1c2UoQ3JlYXRlU3Rt dENvbnRleHQgKmN4dCwgVGFibGVMaWtlQ2xhdXNlICp0YWJsZV9saWtlX2NsYQogCS8qCiAJICog UmVwcm9kdWNlIG5vdC1udWxsIGNvbnN0cmFpbnRzLCBpZiBhbnksIGJ5IGNvcHlpbmcgdGhlbS4g IFdlIGRvIHRoaXMKIAkgKiByZWdhcmRsZXNzIG9mIG9wdGlvbnMgZ2l2ZW4uCisJICoKKwkgKiBT aW5jZSB3ZSBza2lwcGVkIFBFUklPRHMnIEdFTkVSQVRFRCBjb2x1bW5zIGFib3ZlLCB3ZSBtdXN0 IHNraXAgdGhlaXIKKwkgKiBub3QtbnVsbCBjb25zdHJhaW50cyBoZXJlLgogCSAqLwogCWlmICh0 dXBsZURlc2MtPmNvbnN0ciAmJiB0dXBsZURlc2MtPmNvbnN0ci0+aGFzX25vdF9udWxsKQogCXsK IAkJTGlzdAkgICAqbHN0OwogCiAJCWxzdCA9IFJlbGF0aW9uR2V0Tm90TnVsbENvbnN0cmFpbnRz KFJlbGF0aW9uR2V0UmVsaWQocmVsYXRpb24pLCBmYWxzZSwKLQkJCQkJCQkJCQkJdHJ1ZSk7CisJ CQkJCQkJCQkJCXRydWUsIHBlcmlvZGF0dHMpOwogCQljeHQtPm5uY29uc3RyYWludHMgPSBsaXN0 X2NvbmNhdChjeHQtPm5uY29uc3RyYWludHMsIGxzdCk7CiAKIAkJLyogQ29weSBjb21tZW50cyBv biBub3QtbnVsbCBjb25zdHJhaW50cyAqLwpAQCAtMjYwOSw2ICsyNzE4LDcgQEAgdHJhbnNmb3Jt SW5kZXhDb25zdHJhaW50KENvbnN0cmFpbnQgKmNvbnN0cmFpbnQsIENyZWF0ZVN0bXRDb250ZXh0 ICpjeHQpCiAJCXsKIAkJCWNoYXIJICAgKmtleSA9IHN0clZhbChsZmlyc3QobGMpKTsKIAkJCWJv b2wJCWZvdW5kID0gZmFsc2U7CisJCQlib29sCQloYXNwZXJpb2QgPSBmYWxzZTsKIAkJCUNvbHVt bkRlZiAgKmNvbHVtbiA9IE5VTEw7CiAJCQlMaXN0Q2VsbCAgICpjb2x1bW5zOwogCQkJSW5kZXhF bGVtICAqaXBhcmFtOwpAQCAtMjYyNyw2ICsyNzM3LDI0IEBAIHRyYW5zZm9ybUluZGV4Q29uc3Ry YWludChDb25zdHJhaW50ICpjb25zdHJhaW50LCBDcmVhdGVTdG10Q29udGV4dCAqY3h0KQogCQkJ aWYgKCFmb3VuZCkKIAkJCQljb2x1bW4gPSBOVUxMOwogCisJCQkvKiBJZiB0aGUga2V5IGlzIFdJ VEhPVVQgT1ZFUkxBUFMsIGEgUEVSSU9EIHdpbGwgd29yayB0b28uICovCisJCQlpZiAoIWZvdW5k ICYmIGNvbnN0cmFpbnQtPndpdGhvdXRfb3ZlcmxhcHMgJiYKKwkJCQlsYyA9PSBsaXN0X2xhc3Rf Y2VsbChjb25zdHJhaW50LT5rZXlzKSkKKwkJCXsKKwkJCQlQZXJpb2REZWYgICpwZXJpb2QgPSBO VUxMOworCisJCQkJZm9yZWFjaChjb2x1bW5zLCBjeHQtPnBlcmlvZHMpCisJCQkJeworCQkJCQlw ZXJpb2QgPSBsZmlyc3Rfbm9kZShQZXJpb2REZWYsIGNvbHVtbnMpOworCQkJCQlpZiAoc3RyY21w KHBlcmlvZC0+cGVyaW9kbmFtZSwga2V5KSA9PSAwKQorCQkJCQl7CisJCQkJCQlmb3VuZCA9IHRy dWU7CisJCQkJCQloYXNwZXJpb2QgPSB0cnVlOworCQkJCQkJYnJlYWs7CisJCQkJCX0KKwkJCQl9 CisJCQl9CisKIAkJCWlmIChmb3VuZCkKIAkJCXsKIAkJCQkvKgpAQCAtMjY0MywyNCArMjc3MSwz NyBAQCB0cmFuc2Zvcm1JbmRleENvbnN0cmFpbnQoQ29uc3RyYWludCAqY29uc3RyYWludCwgQ3Jl YXRlU3RtdENvbnRleHQgKmN4dCkKIAkJCQlpZiAoY29uc3RyYWludC0+Y29udHlwZSA9PSBDT05T VFJfUFJJTUFSWSAmJgogCQkJCQkhY3h0LT5pc2FsdGVyKQogCQkJCXsKLQkJCQkJaWYgKGNvbHVt bi0+aXNfbm90X251bGwpCisJCQkJCWlmIChjb2x1bW4pCiAJCQkJCXsKLQkJCQkJCWZvcmVhY2hf bm9kZShDb25zdHJhaW50LCBubiwgY3h0LT5ubmNvbnN0cmFpbnRzKQorCQkJCQkJaWYgKGNvbHVt bi0+aXNfbm90X251bGwpCiAJCQkJCQl7Ci0JCQkJCQkJaWYgKHN0cmNtcChzdHJWYWwobGluaXRp YWwobm4tPmtleXMpKSwga2V5KSA9PSAwKQorCQkJCQkJCWZvcmVhY2hfbm9kZShDb25zdHJhaW50 LCBubiwgY3h0LT5ubmNvbnN0cmFpbnRzKQogCQkJCQkJCXsKLQkJCQkJCQkJaWYgKG5uLT5pc19u b19pbmhlcml0KQotCQkJCQkJCQkJZXJlcG9ydChFUlJPUiwKLQkJCQkJCQkJCQkJZXJyY29kZShF UlJDT0RFX1NZTlRBWF9FUlJPUiksCi0JCQkJCQkJCQkJCWVycm1zZygiY29uZmxpY3RpbmcgTk8g SU5IRVJJVCBkZWNsYXJhdGlvbiBmb3Igbm90LW51bGwgY29uc3RyYWludCBvbiBjb2x1bW4gXCIl c1wiIiwKLQkJCQkJCQkJCQkJCSAgIGtleSkpOwotCQkJCQkJCQlicmVhazsKKwkJCQkJCQkJaWYg KHN0cmNtcChzdHJWYWwobGluaXRpYWwobm4tPmtleXMpKSwga2V5KSA9PSAwKQorCQkJCQkJCQl7 CisJCQkJCQkJCQlpZiAobm4tPmlzX25vX2luaGVyaXQpCisJCQkJCQkJCQkJZXJlcG9ydChFUlJP UiwKKwkJCQkJCQkJCQkJCWVycmNvZGUoRVJSQ09ERV9TWU5UQVhfRVJST1IpLAorCQkJCQkJCQkJ CQkJZXJybXNnKCJjb25mbGljdGluZyBOTyBJTkhFUklUIGRlY2xhcmF0aW9uIGZvciBub3QtbnVs bCBjb25zdHJhaW50IG9uIGNvbHVtbiBcIiVzXCIiLAorCQkJCQkJCQkJCQkJCSAgIGtleSkpOwor CQkJCQkJCQkJYnJlYWs7CisJCQkJCQkJCX0KIAkJCQkJCQl9CiAJCQkJCQl9CisJCQkJCQllbHNl CisJCQkJCQl7CisJCQkJCQkJY29sdW1uLT5pc19ub3RfbnVsbCA9IHRydWU7CisJCQkJCQkJY3h0 LT5ubmNvbnN0cmFpbnRzID0KKwkJCQkJCQkJbGFwcGVuZChjeHQtPm5uY29uc3RyYWludHMsCisJ CQkJCQkJCQkJbWFrZU5vdE51bGxDb25zdHJhaW50KG1ha2VTdHJpbmcoa2V5KSkpOworCQkJCQkJ fQogCQkJCQl9Ci0JCQkJCWVsc2UKKwkJCQkJZWxzZSBpZiAoaGFzcGVyaW9kKQogCQkJCQl7Ci0J CQkJCQljb2x1bW4tPmlzX25vdF9udWxsID0gdHJ1ZTsKKwkJCQkJCS8qCisJCQkJCQkgKiBJZiB3 ZSdyZSB1c2luZyBhIFBFUklPRCwgd2UgYmV0dGVyIG1ha2Ugc3VyZSBpdCBpcworCQkJCQkJICog Tk9UIE5VTEwKKwkJCQkJCSAqLwogCQkJCQkJY3h0LT5ubmNvbnN0cmFpbnRzID0KIAkJCQkJCQls YXBwZW5kKGN4dC0+bm5jb25zdHJhaW50cywKIAkJCQkJCQkJCW1ha2VOb3ROdWxsQ29uc3RyYWlu dChtYWtlU3RyaW5nKGtleSkpKTsKQEAgLTI3ODcsNyArMjkyOCwxMyBAQCB0cmFuc2Zvcm1JbmRl eENvbnN0cmFpbnQoQ29uc3RyYWludCAqY29uc3RyYWludCwgQ3JlYXRlU3RtdENvbnRleHQgKmN4 dCkKIAkJCQkJCX0KIAkJCQkJfQogCQkJCX0KLQkJCQlpZiAoZm91bmQpCisKKwkJCQkvKgorCQkJ CSAqIEluIENSRUFURSBUQUJMRSB3ZSBkb24ndCBrbm93IFBFUklPRHMnIHJhbmdldHlwZSB5ZXQs IGJ1dAorCQkJCSAqIHdlIGtub3cgaXQgd2lsbCBiZSBhIHJhbmdlL211bHRpcmFuZ2UuIFNvIGlm IHdlIGhhdmUgYQorCQkJCSAqIFBFUklPRCB0aGVuIHdlJ3JlIHNhZmUuCisJCQkJICovCisJCQkJ aWYgKGZvdW5kICYmICFoYXNwZXJpb2QpCiAJCQkJewogCQkJCQlpZiAoIU9pZElzVmFsaWQodHlw aWQpICYmIGNvbHVtbikKIAkJCQkJCXR5cGlkID0gdHlwZW5hbWVUeXBlSWQoTlVMTCwgY29sdW1u LT50eXBlTmFtZSk7CkBAIC0zMTEzLDYgKzMyNjAsMTAgQEAgdHJhbnNmb3JtSW5kZXhTdG10KE9p ZCByZWxpZCwgSW5kZXhTdG10ICpzdG10LCBjb25zdCBjaGFyICpxdWVyeVN0cmluZykKIAkJfQog CX0KIAorCS8qIHRha2UgY2FyZSBvZiB0aGUgcGVyaW9kICovCisJaWYgKHN0bXQtPnBlcmlvZCkK KwkJc3RtdC0+cGVyaW9kLT5vaWQgPSBnZXRfcGVyaW9kX29pZChyZWxpZCwgc3RtdC0+cGVyaW9k LT5wZXJpb2RuYW1lLCBmYWxzZSk7CisKIAkvKgogCSAqIENoZWNrIHRoYXQgb25seSB0aGUgYmFz ZSByZWwgaXMgbWVudGlvbmVkLiAgKFRoaXMgc2hvdWxkIGJlIGRlYWQgY29kZQogCSAqIG5vdyB0 aGF0IGFkZF9taXNzaW5nX2Zyb20gaXMgaGlzdG9yeS4pCkBAIC0zNTcwLDYgKzM3MjEsNyBAQCB0 cmFuc2Zvcm1BbHRlclRhYmxlU3RtdChPaWQgcmVsaWQsIEFsdGVyVGFibGVTdG10ICpzdG10LAog CWN4dC5pbmhSZWxhdGlvbnMgPSBOSUw7CiAJY3h0LmlzYWx0ZXIgPSB0cnVlOwogCWN4dC5jb2x1 bW5zID0gTklMOworCWN4dC5wZXJpb2RzID0gTklMOwogCWN4dC5ja2NvbnN0cmFpbnRzID0gTklM OwogCWN4dC5ubmNvbnN0cmFpbnRzID0gTklMOwogCWN4dC5ma2NvbnN0cmFpbnRzID0gTklMOwpk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L01ha2VmaWxlIGIvc3JjL2JhY2tlbmQv dXRpbHMvYWR0L01ha2VmaWxlCmluZGV4IGJhNDBhZGExMWNhLi5iZjZhYmM1NDZlZSAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L01ha2VmaWxlCisrKyBiL3NyYy9iYWNrZW5kL3V0 aWxzL2FkdC9NYWtlZmlsZQpAQCAtODAsNiArODAsNyBAQCBPQkpTID0gXAogCW9yYWNsZV9jb21w YXQubyBcCiAJb3JkZXJlZHNldGFnZ3MubyBcCiAJcGFydGl0aW9uZnVuY3MubyBcCisJcGVyaW9k Lm8gXAogCXBnX2RlcGVuZGVuY2llcy5vIFwKIAlwZ19sb2NhbGUubyBcCiAJcGdfbG9jYWxlX2J1 aWx0aW4ubyBcCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGVyaW9kLmMgYi9z cmMvYmFja2VuZC91dGlscy9hZHQvcGVyaW9kLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAuLjZmODk5MDY4ZDAzCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2JhY2tlbmQv dXRpbHMvYWR0L3BlcmlvZC5jCkBAIC0wLDAgKzEsNTggQEAKKy8qLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor ICoKKyAqIHBlcmlvZC5jCisgKgkgIEZ1bmN0aW9ucyB0byBzdXBwb3J0IHBlcmlvZHMuCisgKgor ICoKKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMTk5Ni0yMDIyLCBQb3N0Z3JlU1FMIEdsb2Jh bCBEZXZlbG9wbWVudCBHcm91cAorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAxOTk0LCBSZWdl bnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKKyAqCisgKgorICogSURFTlRJRklD QVRJT04KKyAqCSAgc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3BlcmlvZC5jCisgKgorICotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisgKi8KKyNpbmNsdWRlICJwb3N0Z3Jlcy5oIgorCisjaW5jbHVkZSAiZXhlY3V0 b3IvdHVwdGFibGUuaCIKKyNpbmNsdWRlICJmbWdyLmgiCisjaW5jbHVkZSAibm9kZXMvcHJpbW5v ZGVzLmgiCisjaW5jbHVkZSAidXRpbHMvZm1ncnByb3Rvcy5oIgorI2luY2x1ZGUgInV0aWxzL3Bl cmlvZC5oIgorI2luY2x1ZGUgInV0aWxzL3JhbmdldHlwZXMuaCIKKworRGF0dW0KK3BlcmlvZF90 b19yYW5nZShUdXBsZVRhYmxlU2xvdCAqc2xvdCwgaW50IHN0YXJ0YXR0bm8sIGludCBlbmRhdHRu bywgT2lkIHJhbmdldHlwZSkKK3sKKwlEYXR1bQkJc3RhcnR2YWx1ZTsKKwlEYXR1bQkJZW5kdmFs dWU7CisJRGF0dW0JCXJlc3VsdDsKKwlib29sCQlzdGFydGlzbnVsbDsKKwlib29sCQllbmRpc251 bGw7CisKKwlMT0NBTF9GQ0lORk8oZmNpbmZvLCAyKTsKKwlGbWdySW5mbwlmbGluZm87CisJRnVu Y0V4cHIgICAqZjsKKworCUluaXRGdW5jdGlvbkNhbGxJbmZvRGF0YSgqZmNpbmZvLCAmZmxpbmZv LCAyLCBJbnZhbGlkT2lkLCBOVUxMLCBOVUxMKTsKKwlmID0gbWFrZU5vZGUoRnVuY0V4cHIpOwor CWYtPmZ1bmNyZXN1bHR0eXBlID0gcmFuZ2V0eXBlOworCWZsaW5mby5mbl9leHByID0gKE5vZGUg KikgZjsKKwlmbGluZm8uZm5fZXh0cmEgPSBOVUxMOworCisJLyogY29tcHV0ZSBvbGR2YWx1ZSAq LworCXN0YXJ0dmFsdWUgPSBzbG90X2dldGF0dHIoc2xvdCwgc3RhcnRhdHRubywgJnN0YXJ0aXNu dWxsKTsKKwllbmR2YWx1ZSA9IHNsb3RfZ2V0YXR0cihzbG90LCBlbmRhdHRubywgJmVuZGlzbnVs bCk7CisKKwlmY2luZm8tPmFyZ3NbMF0udmFsdWUgPSBzdGFydHZhbHVlOworCWZjaW5mby0+YXJn c1swXS5pc251bGwgPSBzdGFydGlzbnVsbDsKKwlmY2luZm8tPmFyZ3NbMV0udmFsdWUgPSBlbmR2 YWx1ZTsKKwlmY2luZm8tPmFyZ3NbMV0uaXNudWxsID0gZW5kaXNudWxsOworCisJcmVzdWx0ID0g cmFuZ2VfY29uc3RydWN0b3IyKGZjaW5mbyk7CisJaWYgKGZjaW5mby0+aXNudWxsKQorCQllbG9n KEVSUk9SLCAiZnVuY3Rpb24gJXUgcmV0dXJuZWQgTlVMTCIsIGZsaW5mby5mbl9vaWQpOworCisJ cmV0dXJuIHJlc3VsdDsKK30KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2NhY2hlL2xz eXNjYWNoZS5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvY2FjaGUvbHN5c2NhY2hlLmMKaW5kZXggNDMx NThhZmFjMTUuLjM0Yzk4MTg4YjBkIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9jYWNo ZS9sc3lzY2FjaGUuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9jYWNoZS9sc3lzY2FjaGUuYwpA QCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgImNhdGFsb2cvcGdfb3BjbGFzcy5oIgogI2luY2x1 ZGUgImNhdGFsb2cvcGdfb3BmYW1pbHkuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX29wZXJhdG9y LmgiCisjaW5jbHVkZSAiY2F0YWxvZy9wZ19wZXJpb2QuaCIKICNpbmNsdWRlICJjYXRhbG9nL3Bn X3Byb2MuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmgiCiAjaW5jbHVkZSAi Y2F0YWxvZy9wZ19yYW5nZS5oIgpAQCAtMTA4OCw2ICsxMDg5LDY4IEBAIGdldF9hdHRvcHRpb25z KE9pZCByZWxpZCwgaW50MTYgYXR0bnVtKQogCXJldHVybiByZXN1bHQ7CiB9CiAKKy8qCQkJCS0t LS0tLS0tLS0gUEdfUEVSSU9EIENBQ0hFIC0tLS0tLS0tLS0JCQkJICovCisKKy8qCisgKiBnZXRf cGVyaW9kbmFtZSAtIGdpdmVuIGl0cyBPSUQsIGxvb2sgdXAgYSBwZXJpb2QKKyAqCisgKiBJZiBt aXNzaW5nX29rIGlzIGZhbHNlLCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgcGVyaW9kIGlzIG5vdCBm b3VuZC4KKyAqIElmIHRydWUsIGp1c3QgcmV0dXJuIEludmFsaWRPaWQuCisgKi8KK2NoYXIgKgor Z2V0X3BlcmlvZG5hbWUoT2lkIHBlcmlvZGlkLCBib29sIG1pc3Npbmdfb2spCit7CisJSGVhcFR1 cGxlCXRwOworCisJdHAgPSBTZWFyY2hTeXNDYWNoZTEoUEVSSU9ET0lELAorCQkJCQkJIE9iamVj dElkR2V0RGF0dW0ocGVyaW9kaWQpKTsKKwlpZiAoSGVhcFR1cGxlSXNWYWxpZCh0cCkpCisJewor CQlGb3JtX3BnX3BlcmlvZCBwZXJpb2RfdHVwID0gKEZvcm1fcGdfcGVyaW9kKSBHRVRTVFJVQ1Qo dHApOworCQljaGFyCSAgICpyZXN1bHQ7CisKKwkJcmVzdWx0ID0gcHN0cmR1cChOYW1lU3RyKHBl cmlvZF90dXAtPnBlcm5hbWUpKTsKKwkJUmVsZWFzZVN5c0NhY2hlKHRwKTsKKwkJcmV0dXJuIHJl c3VsdDsKKwl9CisKKwlpZiAoIW1pc3Npbmdfb2spCisJCWVsb2coRVJST1IsICJjYWNoZSBsb29r dXAgZmFpbGVkIGZvciBwZXJpb2QgJWQiLAorCQkJIHBlcmlvZGlkKTsKKwlyZXR1cm4gTlVMTDsK K30KKworLyoKKyAqIGdldF9wZXJpb2Rfb2lkIC0gZ2V0cyBpdHMgcmVsYXRpb24gYW5kIG5hbWUs IGxvb2sgdXAgYSBwZXJpb2QKKyAqCisgKiBJZiBtaXNzaW5nX29rIGlzIGZhbHNlLCB0aHJvdyBh biBlcnJvciBpZiB0aGUgY2FzdCBpcyBub3QgZm91bmQuICBJZgorICogdHJ1ZSwganVzdCByZXR1 cm4gSW52YWxpZE9pZC4KKyAqLworT2lkCitnZXRfcGVyaW9kX29pZChPaWQgcmVsaWQsIGNvbnN0 IGNoYXIgKnBlcmlvZG5hbWUsIGJvb2wgbWlzc2luZ19vaykKK3sKKwlIZWFwVHVwbGUJdHA7CisK Kwl0cCA9IFNlYXJjaFN5c0NhY2hlMihQRVJJT0ROQU1FLAorCQkJCQkJIE9iamVjdElkR2V0RGF0 dW0ocmVsaWQpLAorCQkJCQkJIFBvaW50ZXJHZXREYXR1bShwZXJpb2RuYW1lKSk7CisKKwlpZiAo SGVhcFR1cGxlSXNWYWxpZCh0cCkpCisJeworCQlGb3JtX3BnX3BlcmlvZCBwZXJpb2RfdHVwID0g KEZvcm1fcGdfcGVyaW9kKSBHRVRTVFJVQ1QodHApOworCQlPaWQJCQlyZXN1bHQ7CisKKwkJcmVz dWx0ID0gcGVyaW9kX3R1cC0+b2lkOworCQlSZWxlYXNlU3lzQ2FjaGUodHApOworCQlyZXR1cm4g cmVzdWx0OworCX0KKworCWlmICghbWlzc2luZ19vaykKKwkJZWxvZyhFUlJPUiwgImNhY2hlIGxv b2t1cCBmYWlsZWQgZm9yIHBlcmlvZCAlcyIsCisJCQkgcGVyaW9kbmFtZSk7CisJcmV0dXJuIElu dmFsaWRPaWQ7Cit9CisKIC8qCQkJCS0tLS0tLS0tLS0gUEdfQ0FTVCBDQUNIRSAtLS0tLS0tLS0t CQkJCQkgKi8KIAogLyoKQEAgLTM2OTIsNiArMzc1NSwzMSBAQCBnZXRfbXVsdGlyYW5nZV9yYW5n ZShPaWQgbXVsdGlyYW5nZU9pZCkKIAkJcmV0dXJuIEludmFsaWRPaWQ7CiB9CiAKK09pZAorZ2V0 X3N1YnR5cGVfcmFuZ2UoT2lkIHN1YnR5cGVPaWQpCit7CisJQ2F0Q0xpc3QgICAqY2F0bGlzdDsK KwlPaWQJCQlyZXN1bHQgPSBJbnZhbGlkT2lkOworCisJY2F0bGlzdCA9IFNlYXJjaFN5c0NhY2hl TGlzdDEoUkFOR0VTVUJUWVBFLCBPYmplY3RJZEdldERhdHVtKHN1YnR5cGVPaWQpKTsKKworCWlm IChjYXRsaXN0LT5uX21lbWJlcnMgPT0gMSkKKwl7CisJCUhlYXBUdXBsZQl0dXBsZSA9ICZjYXRs aXN0LT5tZW1iZXJzWzBdLT50dXBsZTsKKwkJRm9ybV9wZ19yYW5nZSBybmd0dXAgPSAoRm9ybV9w Z19yYW5nZSkgR0VUU1RSVUNUKHR1cGxlKTsKKworCQlyZXN1bHQgPSBybmd0dXAtPnJuZ3R5cGlk OworCQlSZWxlYXNlQ2F0Q2FjaGVMaXN0KGNhdGxpc3QpOworCX0KKwllbHNlIGlmIChjYXRsaXN0 LT5uX21lbWJlcnMgPiAxKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVf SU5ERVRFUk1JTkFURV9EQVRBVFlQRSksCisJCQkJIGVycm1zZygiYW1iaWd1b3VzIHJhbmdlIGZv ciB0eXBlICVzIiwKKwkJCQkJCWZvcm1hdF90eXBlX2JlKHN1YnR5cGVPaWQpKSkpOworCisJcmV0 dXJuIHJlc3VsdDsKK30KKwogLyoJCQkJLS0tLS0tLS0tLSBQR19JTkRFWCBDQUNIRSAtLS0tLS0t LS0tCQkJCSAqLwogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2JhY2t1cF9h cmNoaXZlci5jIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2JhY2t1cF9hcmNoaXZlci5jCmluZGV4IGM4 NGIwMTdmMjFiLi4yMmVhYjVhNjcwZCAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2Jh Y2t1cF9hcmNoaXZlci5jCisrKyBiL3NyYy9iaW4vcGdfZHVtcC9wZ19iYWNrdXBfYXJjaGl2ZXIu YwpAQCAtMzg3Myw2ICszODczLDcgQEAgX2dldE9iamVjdERlc2NyaXB0aW9uKFBRRXhwQnVmZmVy IGJ1ZiwgY29uc3QgVG9jRW50cnkgKnRlKQogCQkJIHN0cmNtcCh0eXBlLCAiREFUQUJBU0UgUFJP UEVSVElFUyIpID09IDAgfHwKIAkJCSBzdHJjbXAodHlwZSwgIkRFRkFVTFQiKSA9PSAwIHx8CiAJ CQkgc3RyY21wKHR5cGUsICJGSyBDT05TVFJBSU5UIikgPT0gMCB8fAorCQkJIHN0cmNtcCh0eXBl LCAiUEVSSU9EIikgPT0gMCB8fAogCQkJIHN0cmNtcCh0eXBlLCAiSU5ERVgiKSA9PSAwIHx8CiAJ CQkgc3RyY21wKHR5cGUsICJSVUxFIikgPT0gMCB8fAogCQkJIHN0cmNtcCh0eXBlLCAiVFJJR0dF UiIpID09IDAgfHwKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMgYi9zcmMv YmluL3BnX2R1bXAvcGdfZHVtcC5jCmluZGV4IGEwMDkxOGJhY2I0Li5mOGViMGYwMDlkZiAxMDA2 NDQKLS0tIGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYworKysgYi9zcmMvYmluL3BnX2R1bXAv cGdfZHVtcC5jCkBAIC03MTg0LDYgKzcxODQsNyBAQCBnZXRUYWJsZXMoQXJjaGl2ZSAqZm91dCwg aW50ICpudW1UYWJsZXMpCiAJaW50CQkJaV9yZWx0eXBlOwogCWludAkJCWlfcmVsb3duZXI7CiAJ aW50CQkJaV9yZWxjaGVja3M7CisJaW50CQkJaV9ucGVyaW9kOwogCWludAkJCWlfcmVsaGFzaW5k ZXg7CiAJaW50CQkJaV9yZWxoYXNydWxlczsKIAlpbnQJCQlpX3JlbHBhZ2VzOwpAQCAtNzI3MSw2 ICs3MjcyLDE0IEBAIGdldFRhYmxlcyhBcmNoaXZlICpmb3V0LCBpbnQgKm51bVRhYmxlcykKIAkJ YXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksCiAJCQkJCQkJICJjLnJlbGhhc29pZHMsICIpOwog CisJLyogSW4gUEcxOSB1cHdhcmRzIHdlIGhhdmUgUEVSSU9Ecy4gKi8KKwlpZiAoZm91dC0+cmVt b3RlVmVyc2lvbiA+PSAxOTAwMDApCisJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LAorCQkJ CQkJCSAiKFNFTEVDVCBjb3VudCgqKSBGUk9NIHBnX3BlcmlvZCBXSEVSRSBwZXJyZWxpZCA9IGMu b2lkKSBBUyBucGVyaW9kcywgIik7CisJZWxzZQorCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVy eSwKKwkJCQkJCQkgIjAgQVMgbnBlcmlvZHMsICIpOworCiAJaWYgKGZvdXQtPnJlbW90ZVZlcnNp b24gPj0gOTAzMDApCiAJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LAogCQkJCQkJCSAiYy5y ZWxpc3BvcHVsYXRlZCwgIik7CkBAIC03NDA4LDYgKzc0MTcsNyBAQCBnZXRUYWJsZXMoQXJjaGl2 ZSAqZm91dCwgaW50ICpudW1UYWJsZXMpCiAJaV9yZWx0eXBlID0gUFFmbnVtYmVyKHJlcywgInJl bHR5cGUiKTsKIAlpX3JlbG93bmVyID0gUFFmbnVtYmVyKHJlcywgInJlbG93bmVyIik7CiAJaV9y ZWxjaGVja3MgPSBQUWZudW1iZXIocmVzLCAicmVsY2hlY2tzIik7CisJaV9ucGVyaW9kID0gUFFm bnVtYmVyKHJlcywgIm5wZXJpb2RzIik7CiAJaV9yZWxoYXNpbmRleCA9IFBRZm51bWJlcihyZXMs ICJyZWxoYXNpbmRleCIpOwogCWlfcmVsaGFzcnVsZXMgPSBQUWZudW1iZXIocmVzLCAicmVsaGFz cnVsZXMiKTsKIAlpX3JlbHBhZ2VzID0gUFFmbnVtYmVyKHJlcywgInJlbHBhZ2VzIik7CkBAIC03 NDk3LDYgKzc1MDcsNyBAQCBnZXRUYWJsZXMoQXJjaGl2ZSAqZm91dCwgaW50ICpudW1UYWJsZXMp CiAJCX0KIAkJdGJsaW5mb1tpXS5yZWx0YWJsZXNwYWNlID0gcGdfc3RyZHVwKFBRZ2V0dmFsdWUo cmVzLCBpLCBpX3JlbHRhYmxlc3BhY2UpKTsKIAkJdGJsaW5mb1tpXS5oYXNvaWRzID0gKHN0cmNt cChQUWdldHZhbHVlKHJlcywgaSwgaV9yZWxoYXNvaWRzKSwgInQiKSA9PSAwKTsKKwkJdGJsaW5m b1tpXS5ucGVyaW9kID0gYXRvaShQUWdldHZhbHVlKHJlcywgaSwgaV9ucGVyaW9kKSk7CiAJCXRi bGluZm9baV0uaGFzdHJpZ2dlcnMgPSAoc3RyY21wKFBRZ2V0dmFsdWUocmVzLCBpLCBpX3JlbGhh c3RyaWdnZXJzKSwgInQiKSA9PSAwKTsKIAkJdGJsaW5mb1tpXS5yZWxwZXJzaXN0ZW5jZSA9ICoo UFFnZXR2YWx1ZShyZXMsIGksIGlfcmVscGVyc2lzdGVuY2UpKTsKIAkJdGJsaW5mb1tpXS5yZWxp c3BvcHVsYXRlZCA9IChzdHJjbXAoUFFnZXR2YWx1ZShyZXMsIGksIGlfcmVsaXNwb3B1bGF0ZWQp LCAidCIpID09IDApOwpAQCAtNzk1NSw3ICs3OTY2LDcgQEAgZ2V0SW5kZXhlcyhBcmNoaXZlICpm b3V0LCBUYWJsZUluZm8gdGJsaW5mb1tdLCBpbnQgbnVtVGFibGVzKQogCQlhcHBlbmRQUUV4cEJ1 ZmZlclN0cihxdWVyeSwKIAkJCQkJCQkgImZhbHNlIEFTIGluZG51bGxzbm90ZGlzdGluY3QsICIp OwogCi0JaWYgKGZvdXQtPnJlbW90ZVZlcnNpb24gPj0gMTgwMDAwKQorCWlmIChmb3V0LT5yZW1v dGVWZXJzaW9uID49IDE5MDAwMCkKIAkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksCiAJCQkJ CQkJICJjLmNvbnBlcmlvZCAiKTsKIAllbHNlCkBAIC05MjEyLDcgKzkyMjMsNyBAQCBnZXRUcmFu c2Zvcm1zKEFyY2hpdmUgKmZvdXQpCiAvKgogICogZ2V0VGFibGVBdHRycyAtCiAgKgkgIGZvciBl YWNoIGludGVyZXN0aW5nIHRhYmxlLCByZWFkIGluZm8gYWJvdXQgaXRzIGF0dHJpYnV0ZXMKLSAq CSAgKG5hbWVzLCB0eXBlcywgZGVmYXVsdCB2YWx1ZXMsIENIRUNLIGNvbnN0cmFpbnRzLCBldGMp CisgKgkgIChuYW1lcywgdHlwZXMsIGRlZmF1bHQgdmFsdWVzLCBDSEVDSyBjb25zdHJhaW50cywg UEVSSU9EcywgZXRjKQogICoKICAqCW1vZGlmaWVzIHRibGluZm8KICAqLwpAQCAtOTI2Nyw2ICs5 Mjc4LDggQEAgZ2V0VGFibGVBdHRycyhBcmNoaXZlICpmb3V0LCBUYWJsZUluZm8gKnRibGluZm8s IGludCBudW1UYWJsZXMpCiAJZm9yIChpbnQgaSA9IDA7IGkgPCBudW1UYWJsZXM7IGkrKykKIAl7 CiAJCVRhYmxlSW5mbyAgKnRiaW5mbyA9ICZ0YmxpbmZvW2ldOworCQlpbnQJCQluZHVtcGFibGVj aGVja3M7CS8qIG51bWJlciBvZiBDSEVDSyBjb25zdHJhaW50cyB0aGF0IGRvCisJCQkJCQkJCQkJ ICogbm90IGJlbG9uZyB0byBhIHBlcmlvZCAqLwogCiAJCS8qIERvbid0IGJvdGhlciB0byBjb2xs ZWN0IGluZm8gZm9yIHNlcXVlbmNlcyAqLwogCQlpZiAodGJpbmZvLT5yZWxraW5kID09IFJFTEtJ TkRfU0VRVUVOQ0UpCkBAIC05MjkzLDcgKzkzMDYsOCBAQCBnZXRUYWJsZUF0dHJzKEFyY2hpdmUg KmZvdXQsIFRhYmxlSW5mbyAqdGJsaW5mbywgaW50IG51bVRhYmxlcykKIAkJCWFwcGVuZFBRRXhw QnVmZmVyQ2hhcih0YmxvaWRzLCAnLCcpOwogCQlhcHBlbmRQUUV4cEJ1ZmZlcih0YmxvaWRzLCAi JXUiLCB0YmluZm8tPmRvYmouY2F0SWQub2lkKTsKIAotCQlpZiAodGJpbmZvLT5uY2hlY2sgPiAw KQorCQluZHVtcGFibGVjaGVja3MgPSB0YmluZm8tPm5jaGVjayAtIHRiaW5mby0+bnBlcmlvZDsK KwkJaWYgKG5kdW1wYWJsZWNoZWNrcyA+IDApCiAJCXsKIAkJCS8qIEFsc28gbWFrZSBhIGxpc3Qg b2YgdGhlIG9uZXMgd2l0aCBjaGVjayBjb25zdHJhaW50cyAqLwogCQkJaWYgKGNoZWNrb2lkcy0+ bGVuID4gMSkgLyogZG8gd2UgaGF2ZSBtb3JlIHRoYW4gdGhlICd7Jz8gKi8KQEAgLTk4MjgsMTUg Kzk4NDIsMzYgQEAgZ2V0VGFibGVBdHRycyhBcmNoaXZlICpmb3V0LCBUYWJsZUluZm8gKnRibGlu Zm8sIGludCBudW1UYWJsZXMpCiAJCXBnX2xvZ19pbmZvKCJmaW5kaW5nIHRhYmxlIGNoZWNrIGNv bnN0cmFpbnRzIik7CiAKIAkJcmVzZXRQUUV4cEJ1ZmZlcihxKTsKLQkJYXBwZW5kUFFFeHBCdWZm ZXIocSwKLQkJCQkJCSAgIlNFTEVDVCBjLnRhYmxlb2lkLCBjLm9pZCwgY29ucmVsaWQsIGNvbm5h bWUsICIKLQkJCQkJCSAgInBnX2NhdGFsb2cucGdfZ2V0X2NvbnN0cmFpbnRkZWYoYy5vaWQpIEFT IGNvbnNyYywgIgotCQkJCQkJICAiY29uaXNsb2NhbCwgY29udmFsaWRhdGVkICIKLQkJCQkJCSAg IkZST00gdW5uZXN0KCclcyc6OnBnX2NhdGFsb2cub2lkW10pIEFTIHNyYyh0YmxvaWQpXG4iCi0J CQkJCQkgICJKT0lOIHBnX2NhdGFsb2cucGdfY29uc3RyYWludCBjIE9OIChzcmMudGJsb2lkID0g Yy5jb25yZWxpZClcbiIKLQkJCQkJCSAgIldIRVJFIGNvbnR5cGUgPSAnYycgIgotCQkJCQkJICAi T1JERVIgQlkgYy5jb25yZWxpZCwgYy5jb25uYW1lIiwKLQkJCQkJCSAgY2hlY2tvaWRzLT5kYXRh KTsKKwkJaWYgKGZvdXQtPnJlbW90ZVZlcnNpb24gPj0gMTkwMDAwKQorCQl7CisJCQkvKgorCQkJ ICogUEVSSU9EcyB3ZXJlIGFkZGVkIGluIHYxOSBhbmQgd2UgZG9uJ3QgZHVtcCBDSEVDSyBjb25z dHJhaW50cworCQkJICogZm9yIHRoZW0uCisJCQkgKi8KKwkJCWFwcGVuZFBRRXhwQnVmZmVyKHEs CisJCQkJCQkJICAiU0VMRUNUIGMudGFibGVvaWQsIGMub2lkLCBjb25yZWxpZCwgY29ubmFtZSwg IgorCQkJCQkJCSAgInBnX2NhdGFsb2cucGdfZ2V0X2NvbnN0cmFpbnRkZWYoYy5vaWQpIEFTIGNv bnNyYywgIgorCQkJCQkJCSAgImNvbmlzbG9jYWwsIGNvbnZhbGlkYXRlZCAiCisJCQkJCQkJICAi RlJPTSB1bm5lc3QoJyVzJzo6cGdfY2F0YWxvZy5vaWRbXSkgQVMgc3JjKHRibG9pZClcbiIKKwkJ CQkJCQkgICJKT0lOIHBnX2NhdGFsb2cucGdfY29uc3RyYWludCBjIE9OIChzcmMudGJsb2lkID0g Yy5jb25yZWxpZClcbiIKKwkJCQkJCQkgICJXSEVSRSBjb250eXBlID0gJ2MnICIKKwkJCQkJCQkg ICIgICBBTkQgTk9UIEVYSVNUUyAoU0VMRUNUIEZST00gcGdfcGVyaW9kICIKKwkJCQkJCQkgICIg ICAgICAgICAgICAgICAgICAgV0hFUkUgKHBlcnJlbGlkLCBwZXJjb25zdHJhaW50KSA9IChjb25y ZWxpZCwgYy5vaWQpKSAiCisJCQkJCQkJICAiT1JERVIgQlkgYy5jb25yZWxpZCwgYy5jb25uYW1l IiwKKwkJCQkJCQkgIGNoZWNrb2lkcy0+ZGF0YSk7CisJCX0KKwkJZWxzZQorCQl7CisJCQlhcHBl bmRQUUV4cEJ1ZmZlcihxLAorCQkJCQkJCSAgIlNFTEVDVCBjLnRhYmxlb2lkLCBjLm9pZCwgY29u cmVsaWQsIGNvbm5hbWUsICIKKwkJCQkJCQkgICJwZ19jYXRhbG9nLnBnX2dldF9jb25zdHJhaW50 ZGVmKGMub2lkKSBBUyBjb25zcmMsICIKKwkJCQkJCQkgICJjb25pc2xvY2FsLCBjb252YWxpZGF0 ZWQgIgorCQkJCQkJCSAgIkZST00gdW5uZXN0KCclcyc6OnBnX2NhdGFsb2cub2lkW10pIEFTIHNy Yyh0YmxvaWQpXG4iCisJCQkJCQkJICAiSk9JTiBwZ19jYXRhbG9nLnBnX2NvbnN0cmFpbnQgYyBP TiAoc3JjLnRibG9pZCA9IGMuY29ucmVsaWQpXG4iCisJCQkJCQkJICAiV0hFUkUgY29udHlwZSA9 ICdjJyAiCisJCQkJCQkJICAiT1JERVIgQlkgYy5jb25yZWxpZCwgYy5jb25uYW1lIiwKKwkJCQkJ CQkgIGNoZWNrb2lkcy0+ZGF0YSk7CisJCX0KIAogCQlyZXMgPSBFeGVjdXRlU3FsUXVlcnkoZm91 dCwgcS0+ZGF0YSwgUEdSRVNfVFVQTEVTX09LKTsKIApAQCAtOTg1OCw2ICs5ODkzLDcgQEAgZ2V0 VGFibGVBdHRycyhBcmNoaXZlICpmb3V0LCBUYWJsZUluZm8gKnRibGluZm8sIGludCBudW1UYWJs ZXMpCiAJCQlPaWQJCQljb25yZWxpZCA9IGF0b29pZChQUWdldHZhbHVlKHJlcywgaiwgaV9jb25y ZWxpZCkpOwogCQkJVGFibGVJbmZvICAqdGJpbmZvID0gTlVMTDsKIAkJCWludAkJCW51bWNvbnM7 CisJCQlpbnQJCQluZHVtcGFibGVjaGVja3M7CiAKIAkJCS8qIENvdW50IHJvd3MgZm9yIHRoaXMg dGFibGUgKi8KIAkJCWZvciAobnVtY29ucyA9IDE7IG51bWNvbnMgPCBudW1Db25zdHJzIC0gajsg bnVtY29ucysrKQpAQCAtOTg3NywxMiArOTkxMywxMyBAQCBnZXRUYWJsZUF0dHJzKEFyY2hpdmUg KmZvdXQsIFRhYmxlSW5mbyAqdGJsaW5mbywgaW50IG51bVRhYmxlcykKIAkJCWlmIChjdXJ0Ymxp bmR4ID49IG51bVRhYmxlcykKIAkJCQlwZ19mYXRhbCgidW5yZWNvZ25pemVkIHRhYmxlIE9JRCAl dSIsIGNvbnJlbGlkKTsKIAotCQkJaWYgKG51bWNvbnMgIT0gdGJpbmZvLT5uY2hlY2spCisJCQlu ZHVtcGFibGVjaGVja3MgPSB0YmluZm8tPm5jaGVjayAtIHRiaW5mby0+bnBlcmlvZDsKKwkJCWlm IChudW1jb25zICE9IG5kdW1wYWJsZWNoZWNrcykKIAkJCXsKIAkJCQlwZ19sb2dfZXJyb3Iobmdl dHRleHQoImV4cGVjdGVkICVkIGNoZWNrIGNvbnN0cmFpbnQgb24gdGFibGUgXCIlc1wiIGJ1dCBm b3VuZCAlZCIsCiAJCQkJCQkJCQkgICJleHBlY3RlZCAlZCBjaGVjayBjb25zdHJhaW50cyBvbiB0 YWJsZSBcIiVzXCIgYnV0IGZvdW5kICVkIiwKLQkJCQkJCQkJCSAgdGJpbmZvLT5uY2hlY2spLAot CQkJCQkJCSB0YmluZm8tPm5jaGVjaywgdGJpbmZvLT5kb2JqLm5hbWUsIG51bWNvbnMpOworCQkJ CQkJCQkJICBuZHVtcGFibGVjaGVja3MpLAorCQkJCQkJCSBuZHVtcGFibGVjaGVja3MsIHRiaW5m by0+ZG9iai5uYW1lLCBudW1jb25zKTsKIAkJCQlwZ19sb2dfZXJyb3JfaGludCgiVGhlIHN5c3Rl bSBjYXRhbG9ncyBtaWdodCBiZSBjb3JydXB0ZWQuIik7CiAJCQkJZXhpdF9uaWNlbHkoMSk7CiAJ CQl9CkBAIC05OTQxLDYgKzk5NzgsODAgQEAgZ2V0VGFibGVBdHRycyhBcmNoaXZlICpmb3V0LCBU YWJsZUluZm8gKnRibGluZm8sIGludCBudW1UYWJsZXMpCiAJCVBRY2xlYXIocmVzKTsKIAl9CiAK Kwlmb3IgKGludCBpID0gMDsgaSA8IG51bVRhYmxlczsgaSsrKQorCXsKKwkJVGFibGVJbmZvICAq dGJpbmZvID0gJnRibGluZm9baV07CisKKwkJLyoKKwkJICogR2V0IGluZm8gYWJvdXQgUEVSSU9E IGRlZmluaXRpb25zCisJCSAqLworCQlpZiAodGJpbmZvLT5ucGVyaW9kID4gMCkKKwkJeworCQkJ UGVyaW9kSW5mbyAqcGVyaW9kczsKKwkJCWludAkJCW51bVBlcmlvZHM7CisJCQlpbnQJCQlqOwor CisJCQkvKiBXZSBzaG91bGRuJ3QgaGF2ZSBhbnkgcGVyaW9kcyBiZWZvcmUgdjE5ICovCisJCQlB c3NlcnQoZm91dC0+cmVtb3RlVmVyc2lvbiA+PSAxOTAwMDApOworCisJCQlwZ19sb2dfaW5mbygi ZmluZGluZyBwZXJpb2RzIGZvciB0YWJsZSBcIiVzLiVzXCIiLAorCQkJCQkJdGJpbmZvLT5kb2Jq Lm5hbWVzcGFjZS0+ZG9iai5uYW1lLAorCQkJCQkJdGJpbmZvLT5kb2JqLm5hbWUpOworCisJCQly ZXNldFBRRXhwQnVmZmVyKHEpOworCQkJYXBwZW5kUFFFeHBCdWZmZXIocSwKKwkJCQkJCQkgICJT RUxFQ1QgcC50YWJsZW9pZCwgcC5vaWQsIHAucGVybmFtZSwgIgorCQkJCQkJCSAgIiAgICAgICBz YS5hdHRuYW1lIEFTIHBlcnN0YXJ0LCBlYS5hdHRuYW1lIEFTIHBlcmVuZCwgIgorCQkJCQkJCSAg IiAgICAgICByLnR5cG5hbWUgQVMgcm5ndHlwZSwgIgorCQkJCQkJCSAgIiAgICAgICBjLmNvbm5h bWUgQVMgY29ubmFtZSAiCisJCQkJCQkJICAiRlJPTSBwZ19jYXRhbG9nLnBnX3BlcmlvZCBBUyBw ICIKKwkJCQkJCQkgICJKT0lOIHBnX2NhdGFsb2cucGdfYXR0cmlidXRlIEFTIHNhIE9OIChzYS5h dHRyZWxpZCwgc2EuYXR0bnVtKSA9IChwLnBlcnJlbGlkLCBwLnBlcnN0YXJ0KSAiCisJCQkJCQkJ ICAiSk9JTiBwZ19jYXRhbG9nLnBnX2F0dHJpYnV0ZSBBUyBlYSBPTiAoZWEuYXR0cmVsaWQsIGVh LmF0dG51bSkgPSAocC5wZXJyZWxpZCwgcC5wZXJlbmQpICIKKwkJCQkJCQkgICJKT0lOIHBnX2Nh dGFsb2cucGdfYXR0cmlidXRlIEFTIHJhIE9OIChyYS5hdHRyZWxpZCwgcmEuYXR0bnVtKSA9IChw LnBlcnJlbGlkLCBwLnBlcnJhbmdlKSAiCisJCQkJCQkJICAiSk9JTiBwZ19jYXRhbG9nLnBnX3R5 cGUgQVMgciBPTiByLm9pZCA9IHJhLmF0dHR5cGlkICIKKwkJCQkJCQkgICJKT0lOIHBnX2NhdGFs b2cucGdfY29uc3RyYWludCBBUyBjIE9OIGMub2lkID0gcC5wZXJjb25zdHJhaW50ICIKKwkJCQkJ CQkgICJXSEVSRSBwLnBlcnJlbGlkID0gJyV1Jzo6cGdfY2F0YWxvZy5vaWQgIgorCQkJCQkJCSAg Ik9SREVSIEJZIHAucGVybmFtZSIsCisJCQkJCQkJICB0YmluZm8tPmRvYmouY2F0SWQub2lkKTsK KworCQkJcmVzID0gRXhlY3V0ZVNxbFF1ZXJ5KGZvdXQsIHEtPmRhdGEsIFBHUkVTX1RVUExFU19P Syk7CisKKwkJCS8qCisJCQkgKiBJZiB3ZSBkaWRuJ3QgZ2V0IHRoZSBudW1iZXIgb2Ygcm93cyB3 ZSB0aG91Z2h0IHdlIHdlcmUgZ29pbmcKKwkJCSAqIHRvLCB0aGVuIHRob3NlIEpPSU5zIGRpZG4n dCB3b3JrLgorCQkJICovCisJCQludW1QZXJpb2RzID0gUFFudHVwbGVzKHJlcyk7CisJCQlpZiAo bnVtUGVyaW9kcyAhPSB0YmluZm8tPm5wZXJpb2QpCisJCQl7CisJCQkJcGdfbG9nX2luZm8obmdl dHRleHQoImV4cGVjdGVkICVkIHBlcmlvZCBvbiB0YWJsZSBcIiVzXCIgYnV0IGZvdW5kICVkIiwK KwkJCQkJCQkJCSAiZXhwZWN0ZWQgJWQgcGVyaW9kcyBvbiB0YWJsZSBcIiVzXCIgYnV0IGZvdW5k ICVkIiwKKwkJCQkJCQkJCSB0YmluZm8tPm5wZXJpb2QpLAorCQkJCQkJCXRiaW5mby0+bnBlcmlv ZCwgdGJpbmZvLT5kb2JqLm5hbWUsIG51bVBlcmlvZHMpOworCQkJCXBnX2xvZ19pbmZvKCIoVGhl IHN5c3RlbSBjYXRhbG9ncyBtaWdodCBiZSBjb3JydXB0ZWQuKSIpOworCQkJCWV4aXRfbmljZWx5 KDEpOworCQkJfQorCisJCQlwZXJpb2RzID0gKFBlcmlvZEluZm8gKikgcGdfbWFsbG9jKG51bVBl cmlvZHMgKiBzaXplb2YoUGVyaW9kSW5mbykpOworCQkJdGJpbmZvLT5wZXJpb2RzID0gcGVyaW9k czsKKworCQkJZm9yIChqID0gMDsgaiA8IG51bVBlcmlvZHM7IGorKykKKwkJCXsKKwkJCQlwZXJp b2RzW2pdLmRvYmoub2JqVHlwZSA9IERPX1BFUklPRDsKKwkJCQlwZXJpb2RzW2pdLmRvYmouY2F0 SWQudGFibGVvaWQgPSBhdG9vaWQoUFFnZXR2YWx1ZShyZXMsIGosIDApKTsKKwkJCQlwZXJpb2Rz W2pdLmRvYmouY2F0SWQub2lkID0gYXRvb2lkKFBRZ2V0dmFsdWUocmVzLCBqLCAxKSk7CisJCQkJ QXNzaWduRHVtcElkKCZwZXJpb2RzW2pdLmRvYmopOworCQkJCXBlcmlvZHNbal0uZG9iai5uYW1l ID0gcGdfc3RyZHVwKFBRZ2V0dmFsdWUocmVzLCBqLCAyKSk7CisJCQkJcGVyaW9kc1tqXS5kb2Jq Lm5hbWVzcGFjZSA9IHRiaW5mby0+ZG9iai5uYW1lc3BhY2U7CisJCQkJcGVyaW9kc1tqXS5wZXJ0 YWJsZSA9IHRiaW5mbzsKKwkJCQlwZXJpb2RzW2pdLnBlcnN0YXJ0ID0gcGdfc3RyZHVwKFBRZ2V0 dmFsdWUocmVzLCBqLCAzKSk7CisJCQkJcGVyaW9kc1tqXS5wZXJlbmQgPSBwZ19zdHJkdXAoUFFn ZXR2YWx1ZShyZXMsIGosIDQpKTsKKwkJCQlwZXJpb2RzW2pdLnJuZ3R5cGUgPSBwZ19zdHJkdXAo UFFnZXR2YWx1ZShyZXMsIGosIDUpKTsKKwkJCQlwZXJpb2RzW2pdLmNvbm5hbWUgPSBwZ19zdHJk dXAoUFFnZXR2YWx1ZShyZXMsIGosIDYpKTsKKwkJCX0KKwkJCVBRY2xlYXIocmVzKTsKKwkJfQor CX0KKwogCWRlc3Ryb3lQUUV4cEJ1ZmZlcihxKTsKIAlkZXN0cm95UFFFeHBCdWZmZXIodGJsb2lk cyk7CiAJZGVzdHJveVBRRXhwQnVmZmVyKGNoZWNrb2lkcyk7CkBAIC0xMTczMSw2ICsxMTg0Miw4 IEBAIGR1bXBEdW1wYWJsZU9iamVjdChBcmNoaXZlICpmb3V0LCBEdW1wYWJsZU9iamVjdCAqZG9i aikKIAkJY2FzZSBET19GS19DT05TVFJBSU5UOgogCQkJZHVtcENvbnN0cmFpbnQoZm91dCwgKGNv bnN0IENvbnN0cmFpbnRJbmZvICopIGRvYmopOwogCQkJYnJlYWs7CisJCWNhc2UgRE9fUEVSSU9E OgorCQkJYnJlYWs7CiAJCWNhc2UgRE9fUFJPQ0xBTkc6CiAJCQlkdW1wUHJvY0xhbmcoZm91dCwg KGNvbnN0IFByb2NMYW5nSW5mbyAqKSBkb2JqKTsKIAkJCWJyZWFrOwpAQCAtMTczOTIsNiArMTc1 MDUsMzYgQEAgZHVtcFRhYmxlU2NoZW1hKEFyY2hpdmUgKmZvdXQsIGNvbnN0IFRhYmxlSW5mbyAq dGJpbmZvKQogCQkJCX0KIAkJCX0KIAorCQkJLyoKKwkJCSAqIEFkZCBub24taW5oZXJpdGVkIFBF UklPRCBkZWZpbml0aW9ucywgaWYgYW55LgorCQkJICovCisJCQlmb3IgKGogPSAwOyBqIDwgdGJp bmZvLT5ucGVyaW9kOyBqKyspCisJCQl7CisJCQkJUGVyaW9kSW5mbyAqcGVyaW9kID0gJih0Ymlu Zm8tPnBlcmlvZHNbal0pOworCisJCQkJY2hhcgkgICAqbmFtZSA9IHBnX3N0cmR1cChmbXRJZChw ZXJpb2QtPmRvYmoubmFtZSkpOworCQkJCWNoYXIJICAgKnN0YXJ0ID0gcGdfc3RyZHVwKGZtdElk KHBlcmlvZC0+cGVyc3RhcnQpKTsKKwkJCQljaGFyCSAgICplbmQgPSBwZ19zdHJkdXAoZm10SWQo cGVyaW9kLT5wZXJlbmQpKTsKKwkJCQljaGFyCSAgICpybmd0eXBlID0gcGdfc3RyZHVwKGZtdElk KHBlcmlvZC0+cm5ndHlwZSkpOworCQkJCWNoYXIJICAgKmNvbm5hbWUgPSBwZ19zdHJkdXAoZm10 SWQocGVyaW9kLT5jb25uYW1lKSk7CisKKwkJCQlpZiAoYWN0dWFsX2F0dHMgPT0gMCkKKwkJCQkJ YXBwZW5kUFFFeHBCdWZmZXJTdHIocSwgIiAoXG4gICAgIik7CisJCQkJZWxzZQorCQkJCQlhcHBl bmRQUUV4cEJ1ZmZlclN0cihxLCAiLFxuICAgICIpOworCisJCQkJLyoKKwkJCQkgKiBBbHdheXMg c2F5IGNvbGV4aXN0cyBzbyB3ZSBjYW4ganVzdCBwcmludCB0aGUgR0VORVJBVEVECisJCQkJICog Y29sdW1uCisJCQkJICovCisJCQkJYXBwZW5kUFFFeHBCdWZmZXIocSwgIlBFUklPRCBGT1IgJXMg KCVzLCAlcykgIgorCQkJCQkJCQkgICJXSVRIIChyYW5nZXR5cGUgPSAlcywgY2hlY2tfY29uc3Ry YWludF9uYW1lID0gJXMsIGNvbGV4aXN0cyA9IHRydWUpIiwKKwkJCQkJCQkJICBuYW1lLCBzdGFy dCwgZW5kLAorCQkJCQkJCQkgIHJuZ3R5cGUsIGNvbm5hbWUpOworCisJCQkJYWN0dWFsX2F0dHMr KzsKKwkJCX0KKwogCQkJLyoKIAkJCSAqIEFkZCBub24taW5oZXJpdGVkIENIRUNLIGNvbnN0cmFp bnRzLCBpZiBhbnkuCiAJCQkgKgpAQCAtMTc0MDAsNyArMTc1NDMsNyBAQCBkdW1wVGFibGVTY2hl bWEoQXJjaGl2ZSAqZm91dCwgY29uc3QgVGFibGVJbmZvICp0YmluZm8pCiAJCQkgKiBQQVJUSVRJ T04gdGhhdCB3ZSdsbCBlbWl0IGxhdGVyIGV4cGVjdHMgdGhlIGNvbnN0cmFpbnQgdG8gYmUKIAkJ CSAqIHRoZXJlLiAgKE5vIG5lZWQgdG8gZml4IGNvbmlzbG9jYWw6IEFUVEFDSCBQQVJUSVRJT04g ZG9lcyB0aGF0KQogCQkJICovCi0JCQlmb3IgKGogPSAwOyBqIDwgdGJpbmZvLT5uY2hlY2s7IGor KykKKwkJCWZvciAoaiA9IDA7IGogPCB0YmluZm8tPm5jaGVjayAtIHRiaW5mby0+bnBlcmlvZDsg aisrKQogCQkJewogCQkJCUNvbnN0cmFpbnRJbmZvICpjb25zdHIgPSAmKHRiaW5mby0+Y2hlY2tl eHByc1tqXSk7CiAKQEAgLTE3NzEyLDcgKzE3ODU1LDcgQEAgZHVtcFRhYmxlU2NoZW1hKEFyY2hp dmUgKmZvdXQsIGNvbnN0IFRhYmxlSW5mbyAqdGJpbmZvKQogCQkJICovCiAJCQlyZXNldFBRRXhw QnVmZmVyKGV4dHJhKTsKIAkJCWZpcnN0aXRlbSA9IHRydWU7Ci0JCQlmb3IgKGsgPSAwOyBrIDwg dGJpbmZvLT5uY2hlY2s7IGsrKykKKwkJCWZvciAoayA9IDA7IGsgPCB0YmluZm8tPm5jaGVjayAt IHRiaW5mby0+bnBlcmlvZDsgaysrKQogCQkJewogCQkJCUNvbnN0cmFpbnRJbmZvICpjb25zdHIg PSAmKHRiaW5mby0+Y2hlY2tleHByc1trXSk7CiAKQEAgLTE4MDU2LDcgKzE4MTk5LDcgQEAgZHVt cFRhYmxlU2NoZW1hKEFyY2hpdmUgKmZvdXQsIGNvbnN0IFRhYmxlSW5mbyAqdGJpbmZvKQogCX0K IAogCS8qIER1bXAgY29tbWVudHMgb24gaW5saW5lZCB0YWJsZSBjb25zdHJhaW50cyAqLwotCWZv ciAoaiA9IDA7IGogPCB0YmluZm8tPm5jaGVjazsgaisrKQorCWZvciAoaiA9IDA7IGogPCB0Ymlu Zm8tPm5jaGVjayAtIHRiaW5mby0+bnBlcmlvZDsgaisrKQogCXsKIAkJQ29uc3RyYWludEluZm8g KmNvbnN0ciA9ICYodGJpbmZvLT5jaGVja2V4cHJzW2pdKTsKIApAQCAtMjAxODAsNiArMjAzMjMs NyBAQCBhZGRCb3VuZGFyeURlcGVuZGVuY2llcyhEdW1wYWJsZU9iamVjdCAqKmRvYmpzLCBpbnQg bnVtT2JqcywKIAkJCWNhc2UgRE9fVFJJR0dFUjoKIAkJCWNhc2UgRE9fRVZFTlRfVFJJR0dFUjoK IAkJCWNhc2UgRE9fREVGQVVMVF9BQ0w6CisJCQljYXNlIERPX1BFUklPRDoKIAkJCWNhc2UgRE9f UE9MSUNZOgogCQkJY2FzZSBET19QVUJMSUNBVElPTjoKIAkJCWNhc2UgRE9fUFVCTElDQVRJT05f UkVMOgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuaCBiL3NyYy9iaW4vcGdf ZHVtcC9wZ19kdW1wLmgKaW5kZXggNzJhMDBlMWJjMjAuLmQzNzZjODdjZDA3IDEwMDY0NAotLS0g YS9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5oCisrKyBiL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1w LmgKQEAgLTYwLDYgKzYwLDcgQEAgdHlwZWRlZiBlbnVtCiAJRE9fVFJJR0dFUiwKIAlET19DT05T VFJBSU5ULAogCURPX0ZLX0NPTlNUUkFJTlQsCQkJLyogc2VlIG5vdGUgZm9yIENvbnN0cmFpbnRJ bmZvICovCisJRE9fUEVSSU9ELAogCURPX1BST0NMQU5HLAogCURPX0NBU1QsCiAJRE9fVEFCTEVf REFUQSwKQEAgLTMyMiwxMiArMzIzLDE0IEBAIHR5cGVkZWYgc3RydWN0IF90YWJsZUluZm8KIAli b29sCQlyb3dzZWM7CQkJLyogaXMgcm93IHNlY3VyaXR5IGVuYWJsZWQ/ICovCiAJYm9vbAkJZm9y Y2Vyb3dzZWM7CS8qIGlzIHJvdyBzZWN1cml0eSBmb3JjZWQ/ICovCiAJYm9vbAkJaGFzb2lkczsJ CS8qIGRvZXMgaXQgaGF2ZSBPSURzPyAqLworCWJvb2wJCWhhc3BlcmlvZHM7CQkvKiBkb2VzIGl0 IGhhdmUgYW55IHBlcmlvZHM/ICovCiAJdWludDMyCQlmcm96ZW54aWQ7CQkvKiB0YWJsZSdzIHJl bGZyb3plbnhpZCAqLwogCXVpbnQzMgkJbWlubXhpZDsJCS8qIHRhYmxlJ3MgcmVsbWlubXhpZCAq LwogCU9pZAkJCXRvYXN0X29pZDsJCS8qIHRvYXN0IHRhYmxlJ3MgT0lELCBvciAwIGlmIG5vbmUg Ki8KIAl1aW50MzIJCXRvYXN0X2Zyb3plbnhpZDsJLyogdG9hc3QgdGFibGUncyByZWxmcm96ZW54 aWQsIGlmIGFueSAqLwogCXVpbnQzMgkJdG9hc3RfbWlubXhpZDsJLyogdG9hc3QgdGFibGUncyBy ZWxtaW5teGlkICovCiAJaW50CQkJbmNoZWNrOwkJCS8qICMgb2YgQ0hFQ0sgZXhwcmVzc2lvbnMg Ki8KKwlpbnQJCQlucGVyaW9kOwkJLyogIyBvZiBQRVJJT0QgZGVmaW5pdGlvbnMgKi8KIAlPaWQJ CQlyZWx0eXBlOwkJLyogT0lEIG9mIHRhYmxlJ3MgY29tcG9zaXRlIHR5cGUsIGlmIGFueSAqLwog CU9pZAkJCXJlbG9mdHlwZTsJCS8qIHVuZGVybHlpbmcgdHlwZSBmb3IgdHlwZWQgdGFibGUgKi8K IAlPaWQJCQlmb3JlaWduX3NlcnZlcjsgLyogZm9yZWlnbiBzZXJ2ZXIgb2lkLCBpZiBhcHBsaWNh YmxlICovCkBAIC0zNTgsNiArMzYxLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX3RhYmxlSW5mbwogCWNo YXIJICAgKmF0dHN0b3JhZ2U7CQkvKiBhdHRyaWJ1dGUgc3RvcmFnZSBzY2hlbWUgKi8KIAljaGFy CSAgICp0eXBzdG9yYWdlOwkJLyogdHlwZSBzdG9yYWdlIHNjaGVtZSAqLwogCWJvb2wJICAgKmF0 dGlzZHJvcHBlZDsJLyogdHJ1ZSBpZiBhdHRyIGlzIGRyb3BwZWQ7IGRvbid0IGR1bXAgaXQgKi8K Kwlib29sCSAgICphdHRpc3BlcmlvZDsJLyogdHJ1ZSBpZiBhdHRyIGlzIGEgUEVSSU9EOyBkb24n dCBkdW1wIGl0ICovCiAJY2hhcgkgICAqYXR0aWRlbnRpdHk7CiAJY2hhcgkgICAqYXR0Z2VuZXJh dGVkOwogCWludAkJICAgKmF0dGxlbjsJCQkvKiBhdHRyaWJ1dGUgbGVuZ3RoLCB1c2VkIGJ5IGJp bmFyeV91cGdyYWRlICovCkBAIC0zNzksNiArMzgzLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX3RhYmxl SW5mbwogCXN0cnVjdCBfYXR0ckRlZkluZm8gKiphdHRyZGVmczsgLyogREVGQVVMVCBleHByZXNz aW9ucyAqLwogCXN0cnVjdCBfY29uc3RyYWludEluZm8gKmNoZWNrZXhwcnM7IC8qIENIRUNLIGNv bnN0cmFpbnRzICovCiAJc3RydWN0IF9yZWxTdGF0c0luZm8gKnN0YXRzOwkvKiBvbmx5IHNldCBm b3IgbWF0dmlld3MgKi8KKwlzdHJ1Y3QgX3BlcmlvZEluZm8gKnBlcmlvZHM7CS8qIFBFUklPRCBk ZWZpbml0aW9ucyAqLwogCWJvb2wJCW5lZWRzX292ZXJyaWRlOyAvKiBoYXMgR0VORVJBVEVEIEFM V0FZUyBBUyBJREVOVElUWSAqLwogCWNoYXIJICAgKmFtbmFtZTsJCQkvKiByZWxhdGlvbiBhY2Nl c3MgbWV0aG9kICovCiAKQEAgLTUyOCw2ICs1MzMsMTYgQEAgdHlwZWRlZiBzdHJ1Y3QgX2NvbnN0 cmFpbnRJbmZvCiAJYm9vbAkJc2VwYXJhdGU7CQkvKiB0cnVlIGlmIG11c3QgZHVtcCBhcyBzZXBh cmF0ZSBpdGVtICovCiB9IENvbnN0cmFpbnRJbmZvOwogCit0eXBlZGVmIHN0cnVjdCBfcGVyaW9k SW5mbworeworCUR1bXBhYmxlT2JqZWN0IGRvYmo7CisJVGFibGVJbmZvICAqcGVydGFibGU7CisJ Y2hhcgkgICAqcGVyc3RhcnQ7CQkvKiB0aGUgbmFtZSBvZiB0aGUgc3RhcnQgY29sdW1uICovCisJ Y2hhcgkgICAqcGVyZW5kOwkJCS8qIHRoZSBuYW1lIG9mIHRoZSBlbmQgY29sdW1uICovCisJY2hh cgkgICAqcm5ndHlwZTsJCS8qIHRoZSBuYW1lIG9mIHRoZSByYW5nZSB0eXBlICovCisJY2hhcgkg ICAqY29ubmFtZTsJCS8qIHRoZSBuYW1lIG9mIHRoZSBDSEVDSyBjb25zdHJhaW50ICovCit9IFBl cmlvZEluZm87CisKIHR5cGVkZWYgc3RydWN0IF9wcm9jTGFuZ0luZm8KIHsKIAlEdW1wYWJsZU9i amVjdCBkb2JqOwpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXBfc29ydC5jIGIv c3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXBfc29ydC5jCmluZGV4IDE2NGM3NmUwODY0Li5lYmMyMGEy MjZjNyAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXBfc29ydC5jCisrKyBiL3Ny Yy9iaW4vcGdfZHVtcC9wZ19kdW1wX3NvcnQuYwpAQCAtODYsNiArODYsNyBAQCBlbnVtIGRiT2Jq ZWN0VHlwZVByaW9yaXRpZXMKIAlQUklPX0NPTlNUUkFJTlQsCiAJUFJJT19JTkRFWCwKIAlQUklP X0lOREVYX0FUVEFDSCwKKwlQUklPX1BFUklPRCwKIAlQUklPX1NUQVRTRVhULAogCVBSSU9fUlVM RSwKIAlQUklPX1RSSUdHRVIsCkBAIC0xMjEsNiArMTIyLDcgQEAgc3RhdGljIGNvbnN0IGludCBk Yk9iamVjdFR5cGVQcmlvcml0eVtdID0KIAlbRE9fQVRUUkRFRl0gPSBQUklPX0FUVFJERUYsCiAJ W0RPX0lOREVYXSA9IFBSSU9fSU5ERVgsCiAJW0RPX0lOREVYX0FUVEFDSF0gPSBQUklPX0lOREVY X0FUVEFDSCwKKwlbRE9fUEVSSU9EXSA9IFBSSU9fUEVSSU9ELAogCVtET19TVEFUU0VYVF0gPSBQ UklPX1NUQVRTRVhULAogCVtET19SVUxFXSA9IFBSSU9fUlVMRSwKIAlbRE9fVFJJR0dFUl0gPSBQ UklPX1RSSUdHRVIsCkBAIC00NTQsNiArNDU2LDIzIEBAIERPVHlwZU5hbWVDb21wYXJlKGNvbnN0 IHZvaWQgKnAxLCBjb25zdCB2b2lkICpwMikKIAkJaWYgKGNtcHZhbCAhPSAwKQogCQkJcmV0dXJu IGNtcHZhbDsKIAl9CisJZWxzZSBpZiAob2JqMS0+b2JqVHlwZSA9PSBET19QRVJJT0QpCisJewor CQlQZXJpb2RJbmZvICpwb2JqMSA9ICooUGVyaW9kSW5mbyAqY29uc3QgKikgcDE7CisJCVBlcmlv ZEluZm8gKnBvYmoyID0gKihQZXJpb2RJbmZvICpjb25zdCAqKSBwMjsKKworCQkvKiBTb3J0IGJ5 IHRhYmxlIG5hbWVzcGFjZSAuIC4gLiAqLworCQljbXB2YWwgPSBzdHJjbXAocG9iajEtPnBlcnRh YmxlLT5kb2JqLm5hbWVzcGFjZS0+ZG9iai5uYW1lLAorCQkJCQkJcG9iajItPnBlcnRhYmxlLT5k b2JqLm5hbWVzcGFjZS0+ZG9iai5uYW1lKTsKKwkJaWYgKGNtcHZhbCAhPSAwKQorCQkJcmV0dXJu IGNtcHZhbDsKKworCQkvKiAuIC4gLiBhbmQgdGFibGUgbmFtZSAqLworCQljbXB2YWwgPSBzdHJj bXAocG9iajEtPnBlcnRhYmxlLT5kb2JqLm5hbWUsCisJCQkJCQlwb2JqMi0+cGVydGFibGUtPmRv YmoubmFtZSk7CisJCWlmIChjbXB2YWwgIT0gMCkKKwkJCXJldHVybiBjbXB2YWw7CisJfQogCiAJ LyoKIAkgKiBTaG91bGRuJ3QgZ2V0IGhlcmUgZXhjZXB0IGFmdGVyIGNhdGFsb2cgY29ycnVwdGlv biwgYnV0IGlmIHdlIGRvLCBzb3J0CkBAIC0xNjI2LDYgKzE2NDUsMTEgQEAgZGVzY3JpYmVEdW1w YWJsZU9iamVjdChEdW1wYWJsZU9iamVjdCAqb2JqLCBjaGFyICpidWYsIGludCBidWZzaXplKQog CQkJCQkgIkZLIENPTlNUUkFJTlQgJXMgIChJRCAlZCBPSUQgJXUpIiwKIAkJCQkJIG9iai0+bmFt ZSwgb2JqLT5kdW1wSWQsIG9iai0+Y2F0SWQub2lkKTsKIAkJCXJldHVybjsKKwkJY2FzZSBET19Q RVJJT0Q6CisJCQlzbnByaW50ZihidWYsIGJ1ZnNpemUsCisJCQkJCSAiUEVSSU9EICVzICAoSUQg JWQgT0lEICV1KSIsCisJCQkJCSBvYmotPm5hbWUsIG9iai0+ZHVtcElkLCBvYmotPmNhdElkLm9p ZCk7CisJCQlyZXR1cm47CiAJCWNhc2UgRE9fUFJPQ0xBTkc6CiAJCQlzbnByaW50ZihidWYsIGJ1 ZnNpemUsCiAJCQkJCSAiUFJPQ0VEVVJBTCBMQU5HVUFHRSAlcyAgKElEICVkIE9JRCAldSkiLApk aWZmIC0tZ2l0IGEvc3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMgYi9zcmMvYmluL3BzcWwvZGVzY3Jp YmUuYwppbmRleCAzNmYyNDUwMjg0Mi4uZjM1YjBhOWUzNjcgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4v cHNxbC9kZXNjcmliZS5jCisrKyBiL3NyYy9iaW4vcHNxbC9kZXNjcmliZS5jCkBAIC0yMDI0LDYg KzIwMjQsOCBAQCBkZXNjcmliZU9uZVRhYmxlRGV0YWlscyhjb25zdCBjaGFyICpzY2hlbWFuYW1l LAogCiAJYXBwZW5kUFFFeHBCdWZmZXJTdHIoJmJ1ZiwgIlxuRlJPTSBwZ19jYXRhbG9nLnBnX2F0 dHJpYnV0ZSBhIik7CiAJYXBwZW5kUFFFeHBCdWZmZXIoJmJ1ZiwgIlxuV0hFUkUgYS5hdHRyZWxp ZCA9ICclcycgQU5EIGEuYXR0bnVtID4gMCBBTkQgTk9UIGEuYXR0aXNkcm9wcGVkIiwgb2lkKTsK KwlpZiAocHNldC5zdmVyc2lvbiA+PSAxODAwMDApCisJCWFwcGVuZFBRRXhwQnVmZmVyKCZidWYs ICJcbkFORCBOT1QgRVhJU1RTIChTRUxFQ1QgMSBGUk9NIHBnX2NhdGFsb2cucGdfcGVyaW9kIHAg V0hFUkUgcC5wZXJyZWxpZCA9IGEuYXR0cmVsaWQgQU5EIHAucGVycmFuZ2UgPSBhLmF0dG51bSki KTsKIAlhcHBlbmRQUUV4cEJ1ZmZlclN0cigmYnVmLCAiXG5PUkRFUiBCWSBhLmF0dG51bTsiKTsK IAogCXJlcyA9IFBTUUxleGVjKGJ1Zi5kYXRhKTsKQEAgLTI0NTIsNiArMjQ1NCw0MCBAQCBkZXNj cmliZU9uZVRhYmxlRGV0YWlscyhjb25zdCBjaGFyICpzY2hlbWFuYW1lLAogCQlQR3Jlc3VsdCAg ICpyZXN1bHQgPSBOVUxMOwogCQlpbnQJCQl0dXBsZXMgPSAwOwogCisJCS8qIHByaW50IHBlcmlv ZHMgKi8KKwkJaWYgKHBzZXQuc3ZlcnNpb24gPj0gMTgwMDAwKQorCQl7CisJCQlwcmludGZQUUV4 cEJ1ZmZlcigmYnVmLAorCQkJCQkJCSAgIlNFTEVDVCBxdW90ZV9pZGVudChwLnBlcm5hbWUpLCBx dW90ZV9pZGVudChzLmF0dG5hbWUpIEFTIHN0YXJ0YXR0LCBxdW90ZV9pZGVudChlLmF0dG5hbWUp IEFTIGVuZGF0dFxuIgorCQkJCQkJCSAgIkZST00gcGdfcGVyaW9kIEFTIHBcbiIKKwkJCQkJCQkg ICJKT0lOIHBnX2F0dHJpYnV0ZSBBUyBzIE9OIChzLmF0dHJlbGlkLCBzLmF0dG51bSkgPSAocC5w ZXJyZWxpZCwgcC5wZXJzdGFydClcbiIKKwkJCQkJCQkgICJKT0lOIHBnX2F0dHJpYnV0ZSBBUyBl IE9OIChlLmF0dHJlbGlkLCBlLmF0dG51bSkgPSAocC5wZXJyZWxpZCwgcC5wZXJlbmQpXG4iCisJ CQkJCQkJICAiV0hFUkUgcC5wZXJyZWxpZCA9ICclcydcbiIKKwkJCQkJCQkgICJPUkRFUiBCWSAx OyIsCisJCQkJCQkJICBvaWQpOworCQkJcmVzdWx0ID0gUFNRTGV4ZWMoYnVmLmRhdGEpOworCQkJ aWYgKCFyZXN1bHQpCisJCQkJZ290byBlcnJvcl9yZXR1cm47CisJCQllbHNlCisJCQkJdHVwbGVz ID0gUFFudHVwbGVzKHJlc3VsdCk7CisKKwkJCWlmICh0dXBsZXMgPiAwKQorCQkJeworCQkJCXBy aW50VGFibGVBZGRGb290ZXIoJmNvbnQsIF8oIlBlcmlvZHM6IikpOworCQkJCWZvciAoaSA9IDA7 IGkgPCB0dXBsZXM7IGkrKykKKwkJCQl7CisJCQkJCS8qIHVudHJhbnNsYXRlZCBjb25zdHJhaW50 IG5hbWUgYW5kIGRlZiAqLworCQkJCQlwcmludGZQUUV4cEJ1ZmZlcigmYnVmLCAiICAgICVzICgl cywgJXMpIiwKKwkJCQkJCQkJCSAgUFFnZXR2YWx1ZShyZXN1bHQsIGksIDApLAorCQkJCQkJCQkJ ICBQUWdldHZhbHVlKHJlc3VsdCwgaSwgMSksCisJCQkJCQkJCQkgIFBRZ2V0dmFsdWUocmVzdWx0 LCBpLCAyKSk7CisKKwkJCQkJcHJpbnRUYWJsZUFkZEZvb3RlcigmY29udCwgYnVmLmRhdGEpOwor CQkJCX0KKwkJCX0KKwkJCVBRY2xlYXIocmVzdWx0KTsKKwkJfQorCiAJCS8qIHByaW50IGluZGV4 ZXMgKi8KIAkJaWYgKHRhYmxlaW5mby5oYXNpbmRleCkKIAkJewpkaWZmIC0tZ2l0IGEvc3JjL2lu Y2x1ZGUvY2F0YWxvZy9NYWtlZmlsZSBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvTWFrZWZpbGUKaW5k ZXggMmJiYzc4MDVmZTMuLmI5YWVlMmNhNDllIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRh bG9nL01ha2VmaWxlCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvTWFrZWZpbGUKQEAgLTY1LDYg KzY1LDcgQEAgQ0FUQUxPR19IRUFERVJTIDo9IFwKIAlwZ19mb3JlaWduX3NlcnZlci5oIFwKIAlw Z191c2VyX21hcHBpbmcuaCBcCiAJcGdfZm9yZWlnbl90YWJsZS5oIFwKKwlwZ19wZXJpb2QuaCBc CiAJcGdfcG9saWN5LmggXAogCXBnX3JlcGxpY2F0aW9uX29yaWdpbi5oIFwKIAlwZ19kZWZhdWx0 X2FjbC5oIFwKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvaGVhcC5oIGIvc3JjL2lu Y2x1ZGUvY2F0YWxvZy9oZWFwLmgKaW5kZXggZGJkMzM5ZTlkZjQuLjNlYzVhNTgzZDc4IDEwMDY0 NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL2hlYXAuaAorKysgYi9zcmMvaW5jbHVkZS9jYXRh bG9nL2hlYXAuaApAQCAtMTI1LDYgKzEyNSwxMCBAQCBleHRlcm4gdm9pZCBTdG9yZUF0dHJNaXNz aW5nVmFsKFJlbGF0aW9uIHJlbCwgQXR0ck51bWJlciBhdHRudW0sCiAJCQkJCQkJCURhdHVtIG1p c3Npbmd2YWwpOwogZXh0ZXJuIHZvaWQgU2V0QXR0ck1pc3NpbmcoT2lkIHJlbGlkLCBjaGFyICph dHRuYW1lLCBjaGFyICp2YWx1ZSk7CiAKK2V4dGVybiBPaWQJU3RvcmVQZXJpb2QoUmVsYXRpb24g cmVsLCBjb25zdCBjaGFyICpwZXJpb2QsCisJCQkJCQlBdHRyTnVtYmVyIHN0YXJ0bnVtLCBBdHRy TnVtYmVyIGVuZG51bSwKKwkJCQkJCUF0dHJOdW1iZXIgcmFuZ2VudW0sIE9pZCBjb25vaWQpOwor CiBleHRlcm4gTm9kZSAqY29va0RlZmF1bHQoUGFyc2VTdGF0ZSAqcHN0YXRlLAogCQkJCQkJIE5v ZGUgKnJhd19kZWZhdWx0LAogCQkJCQkJIE9pZCBhdHR0eXBpZCwKZGlmZiAtLWdpdCBhL3NyYy9p bmNsdWRlL2NhdGFsb2cvbWVzb24uYnVpbGQgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL21lc29uLmJ1 aWxkCmluZGV4IGVjMWNmNDY3ZjZmLi44N2NiNGNlMzMwMCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1 ZGUvY2F0YWxvZy9tZXNvbi5idWlsZAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL21lc29uLmJ1 aWxkCkBAIC02MSw2ICs2MSw3IEBAIGNhdGFsb2dfaGVhZGVycyA9IFsKICAgJ3BnX2NvbGxhdGlv bi5oJywKICAgJ3BnX3BhcmFtZXRlcl9hY2wuaCcsCiAgICdwZ19wYXJ0aXRpb25lZF90YWJsZS5o JywKKyAgJ3BnX3BlcmlvZC5oJywKICAgJ3BnX3JhbmdlLmgnLAogICAncGdfdHJhbnNmb3JtLmgn LAogICAncGdfc2VxdWVuY2UuaCcsCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3Bn X2NvbnN0cmFpbnQuaCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfY29uc3RyYWludC5oCmluZGV4 IDliNThmNjE4ZjllLi4zMmMwOTgyNDZmMCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxv Zy9wZ19jb25zdHJhaW50LmgKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19jb25zdHJhaW50 LmgKQEAgLTI2Niw3ICsyNjYsOCBAQCBleHRlcm4gQXR0ck51bWJlciBleHRyYWN0Tm90TnVsbENv bHVtbihIZWFwVHVwbGUgY29uc3RyVHVwKTsKIGV4dGVybiBib29sIEFkanVzdE5vdE51bGxJbmhl cml0YW5jZShPaWQgcmVsaWQsIEF0dHJOdW1iZXIgYXR0bnVtLAogCQkJCQkJCQkJIGJvb2wgaXNf bG9jYWwsIGJvb2wgaXNfbm9faW5oZXJpdCwgYm9vbCBpc19ub3R2YWxpZCk7CiBleHRlcm4gTGlz dCAqUmVsYXRpb25HZXROb3ROdWxsQ29uc3RyYWludHMoT2lkIHJlbGlkLCBib29sIGNvb2tlZCwK LQkJCQkJCQkJCQkgICBib29sIGluY2x1ZGVfbm9pbmgpOworCQkJCQkJCQkJCSAgIGJvb2wgaW5j bHVkZV9ub2luaCwKKwkJCQkJCQkJCQkgICBCaXRtYXBzZXQgKmV4Y2x1ZGVzKTsKIAogZXh0ZXJu IHZvaWQgUmVtb3ZlQ29uc3RyYWludEJ5SWQoT2lkIGNvbklkKTsKIGV4dGVybiB2b2lkIFJlbmFt ZUNvbnN0cmFpbnRCeUlkKE9pZCBjb25JZCwgY29uc3QgY2hhciAqbmV3bmFtZSk7CmRpZmYgLS1n aXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2luZGV4LmggYi9zcmMvaW5jbHVkZS9jYXRhbG9n L3BnX2luZGV4LmgKaW5kZXggNzMxZDM5MzgxNjkuLjg5MGZmNTUxMTc2IDEwMDY0NAotLS0gYS9z cmMvaW5jbHVkZS9jYXRhbG9nL3BnX2luZGV4LmgKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9w Z19pbmRleC5oCkBAIC00OCw3ICs0OCw2IEBAIENBVEFMT0cocGdfaW5kZXgsMjYxMCxJbmRleFJl bGF0aW9uSWQpIEJLSV9TQ0hFTUFfTUFDUk8KIAkvKiB2YXJpYWJsZS1sZW5ndGggZmllbGRzIHN0 YXJ0IGhlcmUsIGJ1dCB3ZSBhbGxvdyBkaXJlY3QgYWNjZXNzIHRvIGluZGtleSAqLwogCWludDJ2 ZWN0b3IJaW5ka2V5IEJLSV9GT1JDRV9OT1RfTlVMTDsJLyogY29sdW1uIG51bWJlcnMgb2YgaW5k ZXhlZCBjb2xzLAogCQkJCQkJCQkJCQkgKiBvciAwICovCi0KICNpZmRlZiBDQVRBTE9HX1ZBUkxF TgogCW9pZHZlY3RvcglpbmRjb2xsYXRpb24gQktJX0xPT0tVUF9PUFQocGdfY29sbGF0aW9uKSBC S0lfRk9SQ0VfTk9UX05VTEw7CS8qIGNvbGxhdGlvbiBpZGVudGlmaWVycyAqLwogCW9pZHZlY3Rv cglpbmRjbGFzcyBCS0lfTE9PS1VQKHBnX29wY2xhc3MpIEJLSV9GT1JDRV9OT1RfTlVMTDsgLyog b3BjbGFzcyBpZGVudGlmaWVycyAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9w Z19wZXJpb2QuaCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcGVyaW9kLmgKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjY1YTc0ZGZhMThiCi0tLSAvZGV2L251bGwKKysr IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wZXJpb2QuaApAQCAtMCwwICsxLDU4IEBACisvKi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKyAqCisgKiBwZ19wZXJpb2QuaAorICoJICBkZWZpbml0aW9uIG9mIHRo ZSAicGVyaW9kIiBzeXN0ZW0gY2F0YWxvZyAocGdfcGVyaW9kKQorICoKKyAqCisgKiBQb3J0aW9u cyBDb3B5cmlnaHQgKGMpIDE5OTYtMjAyMSwgUG9zdGdyZVNRTCBHbG9iYWwgRGV2ZWxvcG1lbnQg R3JvdXAKKyAqCisgKiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3BlcmlvZC5oCisgKgorICogTk9U RVMKKyAqCSAgVGhlIENhdGFsb2cucG0gbW9kdWxlIHJlYWRzIHRoaXMgZmlsZSBhbmQgZGVyaXZl cyBzY2hlbWEKKyAqCSAgaW5mb3JtYXRpb24uCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8K KyNpZm5kZWYgUEdfUEVSSU9EX0gKKyNkZWZpbmUgUEdfUEVSSU9EX0gKKworI2luY2x1ZGUgImNh dGFsb2cvZ2VuYmtpLmgiCisjaW5jbHVkZSAiY2F0YWxvZy9wZ19wZXJpb2RfZC5oIgorI2luY2x1 ZGUgIm5vZGVzL2JpdG1hcHNldC5oIgorCisvKiAtLS0tLS0tLS0tLS0tLS0tCisgKgkJcGdfcGVy aW9kIGRlZmluaXRpb24uICBjcHAgdHVybnMgdGhpcyBpbnRvCisgKgkJdHlwZWRlZiBzdHJ1Y3Qg Rm9ybURhdGFfcGdfcGVyaW9kCisgKiAtLS0tLS0tLS0tLS0tLS0tCisgKi8KK0NBVEFMT0cocGdf cGVyaW9kLDgwMDAsUGVyaW9kUmVsYXRpb25JZCkKK3sKKwlPaWQJCQlvaWQ7CQkJLyogT0lEIG9m IHRoZSBwZXJpb2QgKi8KKwlOYW1lRGF0YQlwZXJuYW1lOwkJLyogbmFtZSBvZiBwZXJpb2QgKi8K KwlPaWQJCQlwZXJyZWxpZDsJCS8qIE9JRCBvZiByZWxhdGlvbiBjb250YWluaW5nIHRoaXMgcGVy aW9kICovCisJaW50MTYJCXBlcnN0YXJ0OwkJLyogY29sdW1uIGZvciBzdGFydCB2YWx1ZSAqLwor CWludDE2CQlwZXJlbmQ7CQkJLyogY29sdW1uIGZvciBlbmQgdmFsdWUgKi8KKwlpbnQxNgkJcGVy cmFuZ2U7CQkvKiBjb2x1bW4gZm9yIHJhbmdlIHZhbHVlICovCisJT2lkCQkJcGVyY29uc3RyYWlu dDsJLyogT0lEIG9mIChzdGFydCA8IGVuZCkgY29uc3RyYWludCAqLworfSBGb3JtRGF0YV9wZ19w ZXJpb2Q7CisKKy8qIC0tLS0tLS0tLS0tLS0tLS0KKyAqCQlGb3JtX3BnX3BlcmlvZCBjb3JyZXNw b25kcyB0byBhIHBvaW50ZXIgdG8gYSB0dXBsZSB3aXRoCisgKgkJdGhlIGZvcm1hdCBvZiBwZ19w ZXJpb2QgcmVsYXRpb24uCisgKiAtLS0tLS0tLS0tLS0tLS0tCisgKi8KK3R5cGVkZWYgRm9ybURh dGFfcGdfcGVyaW9kICpGb3JtX3BnX3BlcmlvZDsKKworREVDTEFSRV9VTklRVUVfSU5ERVhfUEtF WShwZ19wZXJpb2Rfb2lkX2luZGV4LCA4MDAxLCBQZXJpb2RPYmplY3RJbmRleElkLCBwZ19wZXJp b2QsIGJ0cmVlKG9pZCBvaWRfb3BzKSk7CitERUNMQVJFX1VOSVFVRV9JTkRFWChwZ19wZXJpb2Rf cGVycmVsaWRfcGVybmFtZV9pbmRleCwgODAwMiwgUGVyaW9kUmVsaWROYW1lSW5kZXhJZCwgcGdf cGVyaW9kLCBidHJlZShwZXJyZWxpZCBvaWRfb3BzLCBwZXJuYW1lIG5hbWVfb3BzKSk7CisKK01B S0VfU1lTQ0FDSEUoUEVSSU9ET0lELCBwZ19wZXJpb2Rfb2lkX2luZGV4LCAzMik7CitNQUtFX1NZ U0NBQ0hFKFBFUklPRE5BTUUsIHBnX3BlcmlvZF9wZXJyZWxpZF9wZXJuYW1lX2luZGV4LCAzMik7 CisKK2V4dGVybiB2b2lkIFJlbW92ZVBlcmlvZEJ5SWQoT2lkIHBlcmlvZElkKTsKKworZXh0ZXJu IE9pZAlnZXRfcmVsYXRpb25fcGVyaW9kX29pZChPaWQgcmVsaWQsIGNvbnN0IGNoYXIgKnBlcm5h bWUsIGJvb2wgbWlzc2luZ19vayk7CitleHRlcm4gQml0bWFwc2V0ICpnZXRfcGVyaW9kX2F0dG5v cyhPaWQgcmVsaWQpOworCisjZW5kaWYJCQkJCQkJLyogUEdfUEVSSU9EX0ggKi8KZGlmZiAtLWdp dCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcmFuZ2UuaCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cv cGdfcmFuZ2UuaAppbmRleCAzYmJhNjE2Mjc4Mi4uODllNjBkNmNiZjEgMTAwNjQ0Ci0tLSBhL3Ny Yy9pbmNsdWRlL2NhdGFsb2cvcGdfcmFuZ2UuaAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3Bn X3JhbmdlLmgKQEAgLTU5LDggKzU5LDEwIEBAIHR5cGVkZWYgRm9ybURhdGFfcGdfcmFuZ2UgKkZv cm1fcGdfcmFuZ2U7CiAKIERFQ0xBUkVfVU5JUVVFX0lOREVYX1BLRVkocGdfcmFuZ2Vfcm5ndHlw aWRfaW5kZXgsIDM1NDIsIFJhbmdlVHlwaWRJbmRleElkLCBwZ19yYW5nZSwgYnRyZWUocm5ndHlw aWQgb2lkX29wcykpOwogREVDTEFSRV9VTklRVUVfSU5ERVgocGdfcmFuZ2Vfcm5nbXVsdGl0eXBp ZF9pbmRleCwgMjIyOCwgUmFuZ2VNdWx0aXJhbmdlVHlwaWRJbmRleElkLCBwZ19yYW5nZSwgYnRy ZWUocm5nbXVsdGl0eXBpZCBvaWRfb3BzKSk7CitERUNMQVJFX1VOSVFVRV9JTkRFWChwZ19yYW5n ZV9ybmdzdWJ0eXBlX3JuZ3R5cGlkX2luZGV4LCA4MDAzLCBSYW5nZVN1YlR5cGlkVHlwaWRJbmRl eElkLCBwZ19yYW5nZSwgYnRyZWUocm5nc3VidHlwZSBvaWRfb3BzLCBybmd0eXBpZCBvaWRfb3Bz KSk7CiAKIE1BS0VfU1lTQ0FDSEUoUkFOR0VUWVBFLCBwZ19yYW5nZV9ybmd0eXBpZF9pbmRleCwg NCk7CitNQUtFX1NZU0NBQ0hFKFJBTkdFU1VCVFlQRSwgcGdfcmFuZ2Vfcm5nc3VidHlwZV9ybmd0 eXBpZF9pbmRleCwgNCk7CiBNQUtFX1NZU0NBQ0hFKFJBTkdFTVVMVElSQU5HRSwgcGdfcmFuZ2Vf cm5nbXVsdGl0eXBpZF9pbmRleCwgNCk7CiAKIC8qCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9j b21tYW5kcy90YWJsZWNtZHMuaCBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3RhYmxlY21kcy5oCmlu ZGV4IGU5YjBmYWIwNzY3Li5iZjhkNmUzMzE4MyAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29t bWFuZHMvdGFibGVjbWRzLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvdGFibGVjbWRzLmgK QEAgLTQxLDcgKzQxLDggQEAgZXh0ZXJuIExPQ0tNT0RFIEFsdGVyVGFibGVHZXRMb2NrTGV2ZWwo TGlzdCAqY21kcyk7CiAKIGV4dGVybiB2b2lkIEFURXhlY0NoYW5nZU93bmVyKE9pZCByZWxhdGlv bk9pZCwgT2lkIG5ld093bmVySWQsIGJvb2wgcmVjdXJzaW5nLCBMT0NLTU9ERSBsb2NrbW9kZSk7 CiAKLWV4dGVybiB2b2lkIEFsdGVyVGFibGVJbnRlcm5hbChPaWQgcmVsaWQsIExpc3QgKmNtZHMs IGJvb2wgcmVjdXJzZSk7CitleHRlcm4gdm9pZCBBbHRlclRhYmxlSW50ZXJuYWwoT2lkIHJlbGlk LCBMaXN0ICpjbWRzLCBib29sIHJlY3Vyc2UsCisJCQkJCQkJICAgc3RydWN0IEFsdGVyVGFibGVV dGlsaXR5Q29udGV4dCAqY29udGV4dCk7CiAKIGV4dGVybiBPaWQJQWx0ZXJUYWJsZU1vdmVBbGwo QWx0ZXJUYWJsZU1vdmVBbGxTdG10ICpzdG10KTsKIApAQCAtMTA3LDUgKzEwOCw2IEBAIGV4dGVy biB2b2lkIFJhbmdlVmFyQ2FsbGJhY2tPd25zUmVsYXRpb24oY29uc3QgUmFuZ2VWYXIgKnJlbGF0 aW9uLAogCQkJCQkJCQkJCSBPaWQgcmVsSWQsIE9pZCBvbGRSZWxJZCwgdm9pZCAqYXJnKTsKIGV4 dGVybiBib29sIFBhcnRDb25zdHJhaW50SW1wbGllZEJ5UmVsQ29uc3RyYWludChSZWxhdGlvbiBz Y2FucmVsLAogCQkJCQkJCQkJCQkJIExpc3QgKnBhcnRDb25zdHJhaW50KTsKK2V4dGVybiBPaWQJ Y2hvb3NlX3JhbmdldHlwZV9mb3JfcGVyaW9kKFBlcmlvZERlZiAqcGVyaW9kKTsKIAogI2VuZGlm CQkJCQkJCS8qIFRBQkxFQ01EU19IICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9ub2Rlcy9l eGVjbm9kZXMuaCBiL3NyYy9pbmNsdWRlL25vZGVzL2V4ZWNub2Rlcy5oCmluZGV4IGFjYjNkNTQ1 OGEyLi5kM2E1OThmYmNlMyAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbm9kZXMvZXhlY25vZGVz LmgKKysrIGIvc3JjL2luY2x1ZGUvbm9kZXMvZXhlY25vZGVzLmgKQEAgLTQ2NSw2ICs0NjUsMTAg QEAgdHlwZWRlZiBzdHJ1Y3QgRm9yUG9ydGlvbk9mU3RhdGUKIAljaGFyCSAgICpmcF9yYW5nZU5h bWU7CS8qIHRoZSBjb2x1bW4gbmFtZWQgaW4gRk9SIFBPUlRJT04gT0YgKi8KIAlPaWQJCQlmcF9y YW5nZVR5cGU7CS8qIHRoZSB0eXBlIG9mIHRoZSBGT1IgUE9SVElPTiBPRiBleHByZXNzaW9uICov CiAJaW50CQkJZnBfcmFuZ2VBdHRubzsJLyogdGhlIGF0dG5vIG9mIHRoZSByYW5nZSBjb2x1bW4g Ki8KKwlpbnQJCQlmcF9wZXJpb2RTdGFydEF0dG5vOwkvKiB0aGUgYXR0bm8gb2YgdGhlIFBFUklP RCBzdGFydAorCQkJCQkJCQkJCSAqIGNvbHVtbiAob3IgMCBmb3IgYSByYW5nZSkgKi8KKwlpbnQJ CQlmcF9wZXJpb2RFbmRBdHRubzsJLyogdGhlIGF0dG5vIG9mIHRoZSBQRVJJT0QgZW5kIGNvbHVt biAob3IKKwkJCQkJCQkJCSAqIDAgZm9yIGEgcmFuZ2UpICovCiAJRGF0dW0JCWZwX3RhcmdldFJh bmdlOyAvKiB0aGUgcmFuZ2UvbXVsdGlyYW5nZSBmcm9tIEZPUiBQT1JUSU9OIE9GICovCiAJVHlw ZUNhY2hlRW50cnkgKmZwX2xlZnRvdmVyc3R5cGNhY2hlOwkvKiB0eXBlIGNhY2hlIGVudHJ5IG9m IHRoZSByYW5nZSAqLwogCVR1cGxlVGFibGVTbG90ICpmcF9FeGlzdGluZzsJLyogc2xvdCB0byBz dG9yZSBvbGQgdHVwbGUgKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9k ZXMuaCBiL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaAppbmRleCA4YWFjNGM0MTdlOS4u ZmRkMDdiOGNiNGIgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaAor KysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgKQEAgLTIzNzAsNiArMjM3MCw3IEBA IHR5cGVkZWYgZW51bSBPYmplY3RUeXBlCiAJT0JKRUNUX09QRVJBVE9SLAogCU9CSkVDVF9PUEZB TUlMWSwKIAlPQkpFQ1RfUEFSQU1FVEVSX0FDTCwKKwlPQkpFQ1RfUEVSSU9ELAogCU9CSkVDVF9Q T0xJQ1ksCiAJT0JKRUNUX1BST0NFRFVSRSwKIAlPQkpFQ1RfUFVCTElDQVRJT04sCkBAIC0yNDU3 LDYgKzI0NTgsOCBAQCB0eXBlZGVmIGVudW0gQWx0ZXJUYWJsZVR5cGUKIAlBVF9WYWxpZGF0ZUNv bnN0cmFpbnQsCQkvKiB2YWxpZGF0ZSBjb25zdHJhaW50ICovCiAJQVRfQWRkSW5kZXhDb25zdHJh aW50LAkJLyogYWRkIGNvbnN0cmFpbnQgdXNpbmcgZXhpc3RpbmcgaW5kZXggKi8KIAlBVF9Ecm9w Q29uc3RyYWludCwJCQkvKiBkcm9wIGNvbnN0cmFpbnQgKi8KKwlBVF9BZGRQZXJpb2QsCQkJCS8q IEFERCBQRVJJT0QgKi8KKwlBVF9Ecm9wUGVyaW9kLAkJCQkvKiBEUk9QIFBFUklPRCAqLwogCUFU X1JlQWRkQ29tbWVudCwJCQkvKiBpbnRlcm5hbCB0byBjb21tYW5kcy90YWJsZWNtZHMuYyAqLwog CUFUX0FsdGVyQ29sdW1uVHlwZSwJCQkvKiBhbHRlciBjb2x1bW4gdHlwZSAqLwogCUFUX0FsdGVy Q29sdW1uR2VuZXJpY09wdGlvbnMsCS8qIGFsdGVyIGNvbHVtbiBPUFRJT05TICguLi4pICovCkBA IC0yNzU2LDExICsyNzU5LDEyIEBAIHR5cGVkZWYgc3RydWN0IFZhcmlhYmxlU2hvd1N0bXQKIC8q IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqCQlDcmVhdGUgVGFibGUgU3RhdGVtZW50CiAgKgot ICogTk9URTogaW4gdGhlIHJhdyBncmFtLnkgb3V0cHV0LCBDb2x1bW5EZWYgYW5kIENvbnN0cmFp bnQgbm9kZXMgYXJlCi0gKiBpbnRlcm1peGVkIGluIHRhYmxlRWx0cywgYW5kIGNvbnN0cmFpbnRz IGFuZCBubmNvbnN0cmFpbnRzIGFyZSBOSUwuICBBZnRlcgorICogTk9URTogaW4gdGhlIHJhdyBn cmFtLnkgb3V0cHV0LCBDb2x1bW5EZWYsIFBlcmlvZERlZiwgYW5kIENvbnN0cmFpbnQgbm9kZXMg YXJlCisgKiBpbnRlcm1peGVkIGluIHRhYmxlRWx0czsgY29uc3RyYWludHMsIG5uY29uc3RyYWlu dHMsIGFuZCBwZXJpb2RzIGFyZSBOSUwuICBBZnRlcgogICogcGFyc2UgYW5hbHlzaXMsIHRhYmxl RWx0cyBjb250YWlucyBqdXN0IENvbHVtbkRlZnMsIG5uY29uc3RyYWludHMgY29udGFpbnMKLSAq IENvbnN0cmFpbnQgbm9kZXMgb2YgQ09OU1RSX05PVE5VTEwgdHlwZSBmcm9tIHZhcmlvdXMgc291 cmNlcywgYW5kCi0gKiBjb25zdHJhaW50cyBjb250YWlucyBqdXN0IENPTlNUUl9DSEVDSyBDb25z dHJhaW50IG5vZGVzLgorICogQ29uc3RyYWludCBub2RlcyBvZiBDT05TVFJfTk9UTlVMTCB0eXBl IGZyb20gdmFyaW91cyBzb3VyY2VzLCBjb25zdHJhaW50cworICogY29udGFpbnMganVzdCBDT05T VFJfQ0hFQ0sgQ29uc3RyYWludCBub2RlcywgYW5kIHBlcmlvZHMgY29udGFpbnMganVzdAorICog UGVyaW9kRGVmcy4KICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqLwogCkBAIC0yNzY5LDYg KzI3NzMsNyBAQCB0eXBlZGVmIHN0cnVjdCBDcmVhdGVTdG10CiAJTm9kZVRhZwkJdHlwZTsKIAlS YW5nZVZhciAgICpyZWxhdGlvbjsJCS8qIHJlbGF0aW9uIHRvIGNyZWF0ZSAqLwogCUxpc3QJICAg KnRhYmxlRWx0czsJCS8qIGNvbHVtbiBkZWZpbml0aW9ucyAobGlzdCBvZiBDb2x1bW5EZWYpICov CisJTGlzdAkgICAqcGVyaW9kczsJCS8qIHBlcmlvZHMgKGxpc3Qgb2YgUGVyaW9kRGVmIG5vZGVz KSAqLwogCUxpc3QJICAgKmluaFJlbGF0aW9uczsJLyogcmVsYXRpb25zIHRvIGluaGVyaXQgZnJv bSAobGlzdCBvZgogCQkJCQkJCQkgKiBSYW5nZVZhcikgKi8KIAlQYXJ0aXRpb25Cb3VuZFNwZWMg KnBhcnRib3VuZDsJLyogRk9SIFZBTFVFUyBjbGF1c2UgKi8KQEAgLTI3ODMsNiArMjc4OCwzMSBA QCB0eXBlZGVmIHN0cnVjdCBDcmVhdGVTdG10CiAJYm9vbAkJaWZfbm90X2V4aXN0czsJLyoganVz dCBkbyBub3RoaW5nIGlmIGl0IGFscmVhZHkgZXhpc3RzPyAqLwogfSBDcmVhdGVTdG10OwogCisK Ky8qIC0tLS0tLS0tLS0KKyAqIERlZmluaXRpb25zIGZvciBwZXJpb2RzIGluIENyZWF0ZVN0bXQK KyAqIC0tLS0tLS0tLS0KKyAqLworCit0eXBlZGVmIHN0cnVjdCBQZXJpb2REZWYKK3sKKwlOb2Rl VGFnCQl0eXBlOworCU9pZAkJCW9pZDsJCQkvKiBwZXJpb2Qgb2lkLCBvbmNlIGl0J3MgdHJhbnNm b3JtZWQgKi8KKwljaGFyCSAgICpwZXJpb2RuYW1lOwkJLyogcGVyaW9kIG5hbWUgKi8KKwljaGFy CSAgICpzdGFydGNvbG5hbWU7CS8qIG5hbWUgb2Ygc3RhcnQgY29sdW1uICovCisJY2hhcgkgICAq ZW5kY29sbmFtZTsJCS8qIG5hbWUgb2YgZW5kIGNvbHVtbiAqLworCUF0dHJOdW1iZXIJc3RhcnRh dHRudW07CS8qIGF0dG51bSBvZiB0aGUgc3RhcnQgY29sdW1uICovCisJQXR0ck51bWJlcgllbmRh dHRudW07CQkvKiBhdHRudW0gb2YgdGhlIGVuZCBjb2x1bW4gKi8KKwlBdHRyTnVtYmVyCXJuZ2F0 dG51bTsJCS8qIGF0dG51bSBvZiB0aGUgR0VORVJBVEVEIHJhbmdlIGNvbHVtbiAqLworCUxpc3QJ ICAgKm9wdGlvbnM7CQkvKiBvcHRpb25zIGZyb20gV0lUSCBjbGF1c2UgKi8KKwljaGFyCSAgICpj b25zdHJhaW50bmFtZTsgLyogbmFtZSBvZiB0aGUgQ0hFQ0sgY29uc3RyYWludCAqLworCWNoYXIJ ICAgKnJhbmdldHlwZW5hbWU7CS8qIG5hbWUgb2YgdGhlIHJhbmdlIHR5cGUgKi8KKwlPaWQJCQlj b2x0eXBpZDsJCS8qIHRoZSBzdGFydC9lbmQgY29sIHR5cGUgKi8KKwlPaWQJCQlybmd0eXBpZDsJ CS8qIHRoZSByYW5nZSB0eXBlIHRvIHVzZSAqLworCWJvb2wJCWNvbGV4aXN0czsJCS8qIHVzZSBh biBleGlzdGluZyBHRU5FUkFURUQgY29sdW1uICovCisJaW50CQkJbG9jYXRpb247CQkvKiB0b2tl biBsb2NhdGlvbiwgb3IgLTEgaWYgdW5rbm93biAqLworfSBQZXJpb2REZWY7CisKIC8qIC0tLS0t LS0tLS0KICAqIERlZmluaXRpb25zIGZvciBjb25zdHJhaW50cyBpbiBDcmVhdGVTdG10CiAgKgpA QCAtMzUwOSw2ICszNTM5LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgSW5kZXhTdG10CiAJTGlzdAkgICAq aW5kZXhQYXJhbXM7CS8qIGNvbHVtbnMgdG8gaW5kZXg6IGEgbGlzdCBvZiBJbmRleEVsZW0gKi8K IAlMaXN0CSAgICppbmRleEluY2x1ZGluZ1BhcmFtczsJLyogYWRkaXRpb25hbCBjb2x1bW5zIHRv IGluZGV4OiBhIGxpc3QKIAkJCQkJCQkJCQkgKiBvZiBJbmRleEVsZW0gKi8KKwlQZXJpb2REZWYg ICpwZXJpb2Q7CQkJLyogVGhlIHBlcmlvZCBpbmNsdWRlZCBpbiB0aGUgaW5kZXggKi8KIAlMaXN0 CSAgICpvcHRpb25zOwkJLyogV0lUSCBjbGF1c2Ugb3B0aW9uczogYSBsaXN0IG9mIERlZkVsZW0g Ki8KIAlOb2RlCSAgICp3aGVyZUNsYXVzZTsJLyogcXVhbGlmaWNhdGlvbiAocGFydGlhbC1pbmRl eCBwcmVkaWNhdGUpICovCiAJTGlzdAkgICAqZXhjbHVkZU9wTmFtZXM7IC8qIGV4Y2x1c2lvbiBv cGVyYXRvciBuYW1lcywgb3IgTklMIGlmIG5vbmUgKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRl L25vZGVzL3ByaW1ub2Rlcy5oIGIvc3JjL2luY2x1ZGUvbm9kZXMvcHJpbW5vZGVzLmgKaW5kZXgg ZmJiY2Q3N2RkODQuLjkzZDA2ZWZlMGNlIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9ub2Rlcy9w cmltbm9kZXMuaAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9wcmltbm9kZXMuaApAQCAtMjQwMyw2 ICsyNDAzLDggQEAgdHlwZWRlZiBzdHJ1Y3QgRm9yUG9ydGlvbk9mRXhwcgogewogCU5vZGVUYWcJ CXR5cGU7CiAJVmFyCQkgICAqcmFuZ2VWYXI7CQkvKiBSYW5nZSBjb2x1bW4gKi8KKwlWYXIJCSAg ICpzdGFydFZhcjsJCS8qIFN0YXJ0IGNvbHVtbiBpZiBQRVJJT0QgKi8KKwlWYXIJCSAgICplbmRW YXI7CQkJLyogRW5kIGNvbHVtbiBpZiBQRVJJT0QgKi8KIAljaGFyCSAgICpyYW5nZV9uYW1lOwkJ LyogUmFuZ2UgbmFtZSAqLwogCU5vZGUJICAgKnRhcmdldFJhbmdlOwkvKiBGT1IgUE9SVElPTiBP RiBib3VuZHMgYXMgYSByYW5nZSAqLwogCU9pZAkJCXJhbmdlVHlwZTsJCS8qIHR5cGUgb2YgdGFy Z2V0UmFuZ2UgKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaCBiL3Ny Yy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaAppbmRleCBiOWYwMzM2NTc1My4uZTNlYTEwMTFlMjQg MTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaAorKysgYi9zcmMvaW5jbHVk ZS9wYXJzZXIva3dsaXN0LmgKQEAgLTM0Miw3ICszNDIsNyBAQCBQR19LRVlXT1JEKCJwYXJ0aXRp b24iLCBQQVJUSVRJT04sIFVOUkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdP UkQoInBhc3NpbmciLCBQQVNTSU5HLCBVTlJFU0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQ R19LRVlXT1JEKCJwYXNzd29yZCIsIFBBU1NXT1JELCBVTlJFU0VSVkVEX0tFWVdPUkQsIEJBUkVf TEFCRUwpCiBQR19LRVlXT1JEKCJwYXRoIiwgUEFUSCwgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJF X0xBQkVMKQotUEdfS0VZV09SRCgicGVyaW9kIiwgUEVSSU9ELCBVTlJFU0VSVkVEX0tFWVdPUkQs IEJBUkVfTEFCRUwpCitQR19LRVlXT1JEKCJwZXJpb2QiLCBQRVJJT0QsIFJFU0VSVkVEX0tFWVdP UkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJwbGFjaW5nIiwgUExBQ0lORywgUkVTRVJWRURf S0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoInBsYW4iLCBQTEFOLCBVTlJFU0VSVkVE X0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJwbGFucyIsIFBMQU5TLCBVTlJFU0VS VkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wYXJzZXIv cGFyc2VfdXRpbGNtZC5oIGIvc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNlX3V0aWxjbWQuaAppbmRl eCA0OTY1ZmFjNDQ5NS4uZDBkMjNhZjNkNDEgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3BhcnNl ci9wYXJzZV91dGlsY21kLmgKKysrIGIvc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNlX3V0aWxjbWQu aApAQCAtNDAsNSArNDAsNiBAQCBleHRlcm4gSW5kZXhTdG10ICpnZW5lcmF0ZUNsb25lZEluZGV4 U3RtdChSYW5nZVZhciAqaGVhcFJlbCwKIAkJCQkJCQkJCQkgIFJlbGF0aW9uIHNvdXJjZV9pZHgs CiAJCQkJCQkJCQkJICBjb25zdCBBdHRyTWFwICphdHRtYXAsCiAJCQkJCQkJCQkJICBPaWQgKmNv bnN0cmFpbnRPaWQpOworZXh0ZXJuIHZvaWQgdHJhbnNmb3JtUGVyaW9kT3B0aW9ucyhQZXJpb2RE ZWYgKnBlcmlvZCk7CiAKICNlbmRpZgkJCQkJCQkvKiBQQVJTRV9VVElMQ01EX0ggKi8KZGlmZiAt LWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL2xzeXNjYWNoZS5oIGIvc3JjL2luY2x1ZGUvdXRpbHMv bHN5c2NhY2hlLmgKaW5kZXggNWI1MGVmMjMwYWIuLmVkZGNhOTk3ZWZiIDEwMDY0NAotLS0gYS9z cmMvaW5jbHVkZS91dGlscy9sc3lzY2FjaGUuaAorKysgYi9zcmMvaW5jbHVkZS91dGlscy9sc3lz Y2FjaGUuaApAQCAtOTgsNiArOTgsOCBAQCBleHRlcm4gT2lkCWdldF9hdHR0eXBlKE9pZCByZWxp ZCwgQXR0ck51bWJlciBhdHRudW0pOwogZXh0ZXJuIHZvaWQgZ2V0X2F0dHR5cGV0eXBtb2Rjb2xs KE9pZCByZWxpZCwgQXR0ck51bWJlciBhdHRudW0sCiAJCQkJCQkJCSAgT2lkICp0eXBpZCwgaW50 MzIgKnR5cG1vZCwgT2lkICpjb2xsaWQpOwogZXh0ZXJuIERhdHVtIGdldF9hdHRvcHRpb25zKE9p ZCByZWxpZCwgaW50MTYgYXR0bnVtKTsKK2V4dGVybiBjaGFyICpnZXRfcGVyaW9kbmFtZShPaWQg cGVyaW9kaWQsIGJvb2wgbWlzc2luZ19vayk7CitleHRlcm4gT2lkCWdldF9wZXJpb2Rfb2lkKE9p ZCByZWxpZCwgY29uc3QgY2hhciAqcGVyaW9kbmFtZSwgYm9vbCBtaXNzaW5nX29rKTsKIGV4dGVy biBPaWQJZ2V0X2Nhc3Rfb2lkKE9pZCBzb3VyY2V0eXBlaWQsIE9pZCB0YXJnZXR0eXBlaWQsIGJv b2wgbWlzc2luZ19vayk7CiBleHRlcm4gY2hhciAqZ2V0X2NvbGxhdGlvbl9uYW1lKE9pZCBjb2xs b2lkKTsKIGV4dGVybiBib29sIGdldF9jb2xsYXRpb25faXNkZXRlcm1pbmlzdGljKE9pZCBjb2xs b2lkKTsKQEAgLTIwMyw2ICsyMDUsNyBAQCBleHRlcm4gT2lkCWdldF9yYW5nZV9zdWJ0eXBlKE9p ZCByYW5nZU9pZCk7CiBleHRlcm4gT2lkCWdldF9yYW5nZV9jb2xsYXRpb24oT2lkIHJhbmdlT2lk KTsKIGV4dGVybiBPaWQJZ2V0X3JhbmdlX211bHRpcmFuZ2UoT2lkIHJhbmdlT2lkKTsKIGV4dGVy biBPaWQJZ2V0X211bHRpcmFuZ2VfcmFuZ2UoT2lkIG11bHRpcmFuZ2VPaWQpOworZXh0ZXJuIE9p ZAlnZXRfc3VidHlwZV9yYW5nZShPaWQgc3VidHlwZU9pZCk7CiBleHRlcm4gT2lkCWdldF9pbmRl eF9jb2x1bW5fb3BjbGFzcyhPaWQgaW5kZXhfb2lkLCBpbnQgYXR0bm8pOwogZXh0ZXJuIGJvb2wg Z2V0X2luZGV4X2lzcmVwbGlkZW50KE9pZCBpbmRleF9vaWQpOwogZXh0ZXJuIGJvb2wgZ2V0X2lu ZGV4X2lzdmFsaWQoT2lkIGluZGV4X29pZCk7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS91dGls cy9wZXJpb2QuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL3BlcmlvZC5oCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5kMDJjMTcwMzZmZAotLS0gL2Rldi9udWxsCisrKyBiL3Ny Yy9pbmNsdWRlL3V0aWxzL3BlcmlvZC5oCkBAIC0wLDAgKzEsMjEgQEAKKy8qLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorICoKKyAqIHBlcmlvZC5oCisgKgkgIHN1cHBvcnQgZm9yIFBvc3RncmVzIHBlcmlvZHMu CisgKgorICoKKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMTk5Ni0yMDIyLCBQb3N0Z3JlU1FM IEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cAorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAxOTk0 LCBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKKyAqCisgKiBzcmMvaW5j bHVkZS91dGlscy9wZXJpb2QuaAorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisjaWZuZGVm IFBFUklPRF9ICisjZGVmaW5lIFBFUklPRF9ICisKKyNpbmNsdWRlICJleGVjdXRvci90dXB0YWJs ZS5oIgorCitleHRlcm4gRGF0dW0gcGVyaW9kX3RvX3JhbmdlKFR1cGxlVGFibGVTbG90ICpzbG90 LCBpbnQgc3RhcnRhdHRubywgaW50IGVuZGF0dG5vLCBPaWQgcmFuZ2V0eXBlKTsKKworI2VuZGlm CQkJCQkJCS8qIFBFUklPRF9IICovCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL3Rlc3Rf ZGRsX2RlcGFyc2UvdGVzdF9kZGxfZGVwYXJzZS5jIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2Rk bF9kZXBhcnNlL3Rlc3RfZGRsX2RlcGFyc2UuYwppbmRleCAxOTM2NjlmMmJjMS4uOWVkNDI5ZmRh ZGQgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9kZGxfZGVwYXJzZS90ZXN0X2Rk bF9kZXBhcnNlLmMKKysrIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2RkbF9kZXBhcnNlL3Rlc3Rf ZGRsX2RlcGFyc2UuYwpAQCAtMTc5LDYgKzE3OSwxMiBAQCBnZXRfYWx0ZXJ0YWJsZV9zdWJjbWRp bmZvKFBHX0ZVTkNUSU9OX0FSR1MpCiAJCQljYXNlIEFUX0Ryb3BDb25zdHJhaW50OgogCQkJCXN0 cnR5cGUgPSAiRFJPUCBDT05TVFJBSU5UIjsKIAkJCQlicmVhazsKKwkJCWNhc2UgQVRfQWRkUGVy aW9kOgorCQkJCXN0cnR5cGUgPSAiQUREIFBFUklPRCI7CisJCQkJYnJlYWs7CisJCQljYXNlIEFU X0Ryb3BQZXJpb2Q6CisJCQkJc3RydHlwZSA9ICJEUk9QIFBFUklPRCI7CisJCQkJYnJlYWs7CiAJ CQljYXNlIEFUX1JlQWRkQ29tbWVudDoKIAkJCQlzdHJ0eXBlID0gIihyZSkgQUREIENPTU1FTlQi OwogCQkJCWJyZWFrOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9mb3Jf cG9ydGlvbl9vZi5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2Zvcl9wb3J0aW9uX29m Lm91dAppbmRleCA1MmZiMDQ0ZDJlNS4uYzBkMGRlN2U4MTAgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvZm9yX3BvcnRpb25fb2Yub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvZm9yX3BvcnRpb25fb2Yub3V0CkBAIC0xMTAwLDYgKzExMDAsNjQgQEAgU0VM RUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0MiBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CiAg WzMsNCkgfCB7WzIwMTgtMDEtMDEsKX0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgdGhyZWUKICg2IHJvd3MpCiAKK0RST1AgVEFCTEUg Zm9yX3BvcnRpb25fb2ZfdGVzdDI7CistLSBUZXN0IHdpdGggUEVSSU9EcworQ1JFQVRFIFRBQkxF IGZvcl9wb3J0aW9uX29mX3Rlc3QyICgKKyAgaWQgaW50NHJhbmdlIE5PVCBOVUxMLAorICB2YWxp ZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBuYW1lIHRleHQgTk9UIE5VTEwsCisg IFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJ TlQgZm9yX3BvcnRpb25fb2ZfdGVzdDJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRI T1VUIE9WRVJMQVBTKQorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QyCitWQUxV RVMKKygnWzEsMiknLCAnMjAxOC0wMS0wMicsICcyMDE4LTAyLTAzJywgJ29uZScpLAorKCdbMSwy KScsICcyMDE4LTAyLTA0JywgJzIwMTgtMDMtMDMnLCAnb25lJyksCisoJ1sxLDIpJywgJzIwMTgt MDMtMDMnLCAnMjAxOC0wNC0wNCcsICdvbmUnKSwKKygnWzIsMyknLCAnMjAxOC0wMS0wMScsICcy MDE4LTA1LTAxJywgJ3R3bycpLAorKCdbMyw0KScsICcyMDE4LTAxLTAxJywgbnVsbCwgJ3RocmVl Jyk7Cis7CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIKK0ZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzIwMTgtMDEtMTAnIFRPICcyMDE4LTAyLTEwJworU0VUIG5hbWUgPSAnb25lXjEn CitXSEVSRSBpZCA9ICdbMSwyKSc7CitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0Mgor Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0xNScgVE8gJzIwMTgtMDItMTUn CitXSEVSRSBpZCA9ICdbMiwzKSc7CistLSBTZXR0aW5nIHRoZSBzdGFydCBjb2x1bW4gZmFpbHM6 CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMTgtMDEtMTAnIFRPICcyMDE4LTAyLTEwJworU0VUIHZhbGlkX2Zyb20gPSAnMjAxOC0w Mi0wMScKK1dIRVJFIGlkID0gJ1sxLDIpJzsKK0VSUk9SOiAgbXVsdGlwbGUgYXNzaWdubWVudHMg dG8gc2FtZSBjb2x1bW4gInZhbGlkX2Zyb20iCistLSBTZXR0aW5nIHRoZSBlbmQgY29sdW1uIGZh aWxzOgorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCitGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDE4LTAxLTEwJyBUTyAnMjAxOC0wMi0xMCcKK1NFVCB2YWxpZF90aWwgPSAnMjAx OC0wMi0wMScKK1dIRVJFIGlkID0gJ1sxLDIpJzsKK0VSUk9SOiAgbXVsdGlwbGUgYXNzaWdubWVu dHMgdG8gc2FtZSBjb2x1bW4gInZhbGlkX3RpbCIKKy0tIFNldHRpbmcgdGhlIGdlbmVyYXRlZCBj b2x1bW4gZmFpbHM6CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIKK0ZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMTAnIFRPICcyMDE4LTAyLTEwJworU0VUIHZhbGlkX2F0 ID0gJ1syMDE4LTAyLTAxLDIwMTgtMDItMDMpJworV0hFUkUgaWQgPSAnWzEsMiknOworRVJST1I6 ICBjYW4ndCBkaXJlY3RseSBhc3NpZ24gdG8gInZhbGlkX2F0IiBpbiBhIEZPUiBQT1JUSU9OIE9G IHVwZGF0ZQorTElORSAzOiBTRVQgdmFsaWRfYXQgPSAnWzIwMTgtMDItMDEsMjAxOC0wMi0wMykn CisgICAgICAgICAgICBeCitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QyIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgbmFt ZSAgCistLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLQorIFsxLDIpIHwg MjAxOC0wMS0wMiB8IDIwMTgtMDEtMTAgfCBvbmUKKyBbMSwyKSB8IDIwMTgtMDEtMTAgfCAyMDE4 LTAyLTAzIHwgb25lXjEKKyBbMSwyKSB8IDIwMTgtMDItMDQgfCAyMDE4LTAyLTEwIHwgb25lXjEK KyBbMSwyKSB8IDIwMTgtMDItMTAgfCAyMDE4LTAzLTAzIHwgb25lCisgWzEsMikgfCAyMDE4LTAz LTAzIHwgMjAxOC0wNC0wNCB8IG9uZQorIFsyLDMpIHwgMjAxOC0wMS0wMSB8IDIwMTgtMDEtMTUg fCB0d28KKyBbMiwzKSB8IDIwMTgtMDItMTUgfCAyMDE4LTA1LTAxIHwgdHdvCisgWzMsNCkgfCAy MDE4LTAxLTAxIHwgICAgICAgICAgICB8IHRocmVlCisoOCByb3dzKQorCiBEUk9QIFRBQkxFIGZv cl9wb3J0aW9uX29mX3Rlc3QyOwogLS0gVGVzdCB3aXRoIGEgY3VzdG9tIHJhbmdlIHR5cGUKIENS RUFURSBUWVBFIG15ZGF0ZXJhbmdlIEFTIHJhbmdlKHN1YnR5cGU9ZGF0ZSk7CmRpZmYgLS1naXQg YS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BlcmlvZHMub3V0IGIvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9wZXJpb2RzLm91dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMC4uZDQyOTA5NzYwMGEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3BlcmlvZHMub3V0CkBAIC0wLDAgKzEsMzE4IEBACisvKiBTeXN0ZW0gcGVyaW9kcyBh cmUgbm90IGltcGxlbWVudGVkICovCitjcmVhdGUgdGFibGUgcHQgKGlkIGludGVnZXIsIGRzIGRh dGUsIGRlIGRhdGUsIHBlcmlvZCBmb3Igc3lzdGVtX3RpbWUgKGRzLCBkZSkpOworRVJST1I6ICBQ RVJJT0QgRk9SIFNZU1RFTV9USU1FIGlzIG5vdCBzdXBwb3J0ZWQKK0xJTkUgMjogY3JlYXRlIHRh YmxlIHB0IChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwZXJpb2QgZm9yIHN5Li4uCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgor LyogUGVyaW9kcyBtdXN0IHNwZWNpZnkgYWN0dWFsIGNvbHVtbnMgKi8KK2NyZWF0ZSB0YWJsZSBw dCAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBwIChib2d1cywgZGUp KTsKK0VSUk9SOiAgY29sdW1uICJib2d1cyIgb2YgcmVsYXRpb24gInB0IiBkb2VzIG5vdCBleGlz dAorY3JlYXRlIHRhYmxlIHB0IChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwZXJpb2Qg Zm9yIHAgKGRzLCBib2d1cykpOworRVJST1I6ICBjb2x1bW4gImJvZ3VzIiBvZiByZWxhdGlvbiAi cHQiIGRvZXMgbm90IGV4aXN0CisvKiBEYXRhIHR5cGVzIG11c3QgbWF0Y2ggZXhhY3RseSAqLwor Y3JlYXRlIHRhYmxlIHB0IChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSB0aW1lc3RhbXAsIHBlcmlv ZCBmb3IgcCAoZHMsIGRlKSk7CitFUlJPUjogIHN0YXJ0IGFuZCBlbmQgY29sdW1ucyBvZiBwZXJp b2QgbXVzdCBiZSBvZiBzYW1lIHR5cGUKK2NyZWF0ZSB0YWJsZSBwdCAoaWQgaW50ZWdlciwgZHMg dGV4dCBjb2xsYXRlICJDIiwgZGUgdGV4dCBjb2xsYXRlICJQT1NJWCIsIHBlcmlvZCBmb3IgcCAo ZHMsIGRlKSk7CitFUlJPUjogIHN0YXJ0IGFuZCBlbmQgY29sdW1ucyBvZiBwZXJpb2QgbXVzdCBo YXZlIHNhbWUgY29sbGF0aW9uCisvKiBQZXJpb2RzIG11c3QgaGF2ZSBhIGRlZmF1bHQgQlRyZWUg b3BlcmF0b3IgY2xhc3MgKi8KK2NyZWF0ZSB0YWJsZSBwdCAoaWQgaW50ZWdlciwgZHMgeG1sLCBk ZSB4bWwsIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSk7CitFUlJPUjogIG5vIHJhbmdlIHR5cGUgZm9y IHhtbCBmb3VuZCBmb3IgcGVyaW9kIHAKK0hJTlQ6ICBZb3UgY2FuIGRlZmluZSBhIGN1c3RvbSBy YW5nZSB0eXBlIHdpdGggQ1JFQVRFIFRZUEUKKy8qIFBlcmlvZCBhbmQgY29sdW1uIG5hbWVzIGFy ZSBpbiB0aGUgc2FtZSBuYW1lc3BhY2UgKi8KK2NyZWF0ZSB0YWJsZSBwdCAoaWQgaW50ZWdlciwg ZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBjdGlkIChkcywgZGUpKTsKK0VSUk9SOiAgcGVy aW9kIG5hbWUgImN0aWQiIGNvbmZsaWN0cyB3aXRoIGEgc3lzdGVtIGNvbHVtbiBuYW1lCitjcmVh dGUgdGFibGUgcHQgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBmb3IgaWQg KGRzLCBkZSkpOworRVJST1I6ICBwZXJpb2QgbmFtZSAiaWQiIGNvbmZsaWN0cyB3aXRoIGEgY29s dW1uIG5hbWUKKy8qIFBlcmlvZCBuYW1lIGNhbid0IGJlIGdpdmVuIG1vcmUgdGhhbiBvbmNlICov CitjcmVhdGUgdGFibGUgcHQgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBm b3IgcCAoZHMsIGRlKSwgcGVyaW9kIGZvciBwIChkcywgZGUpKTsKK0VSUk9SOiAgcGVyaW9kIG5h bWUgInAiIHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZQorLyogUGVyaW9kIGNhbid0IHVzZSB0aGUg c2FtZSBjb2x1bSBmb3Igc3RhcnQgYW5kIGVuZCovCitjcmVhdGUgdGFibGUgcHQgKGlkIGludGVn ZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBmb3IgcCAoZHMsIGRzKSk7CitFUlJPUjogIGNv bHVtbiAiZHMiIGNhbid0IGJlIHRoZSBzdGFydCBhbmQgZW5kIGNvbHVtbiBmb3IgcGVyaW9kICJw IgorLyogTm93IG1ha2Ugb25lIHRoYXQgd29ya3MgKi8KK2NyZWF0ZSB0YWJsZSBwdCAoaWQgaW50 ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBwIChkcywgZGUpKTsKKy8qIEl0cyBn ZW5lcmF0ZWQgY29sdW1uIGxvb2tzIGdvb2QgKi8KK3NlbGVjdCBhdHRuYW1lLCBhdHR0eXBpZDo6 cmVndHlwZSwgYXR0bm90bnVsbCwgYXR0Z2VuZXJhdGVkIGZyb20gcGdfYXR0cmlidXRlIHdoZXJl IGF0dHJlbGlkID0gJ3B0Jzo6cmVnY2xhc3MgYW5kIGF0dG5hbWUgPSAncCc7CisgYXR0bmFtZSB8 IGF0dHR5cGlkICB8IGF0dG5vdG51bGwgfCBhdHRnZW5lcmF0ZWQgCistLS0tLS0tLS0rLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tCisgcCAgICAgICB8IGRhdGVyYW5nZSB8 IHQgICAgICAgICAgfCBzCisoMSByb3cpCisKK3NlbGVjdCBjb25uYW1lLCBjb250eXBlIGZyb20g cGdfY29uc3RyYWludCB3aGVyZSBjb25yZWxpZCA9ICdwdCc6OnJlZ2NsYXNzIG9yZGVyIGJ5IGNv bm5hbWU7CisgICAgY29ubmFtZSAgICB8IGNvbnR5cGUgCistLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tCisgcHRfcF9jaGVjayAgICB8IGMKKyBwdF9wX25vdF9udWxsIHwgbgorKDIgcm93cykKKwor LyogSXQgYXBwZWFycyBpbiB0aGUgaW5mb3JtYXRpb25fc2NoZW1hICovCitzZWxlY3QgKiBmcm9t IGluZm9ybWF0aW9uX3NjaGVtYS5wZXJpb2RzOworIHRhYmxlX2NhdGFsb2cgfCB0YWJsZV9zY2hl bWEgfCB0YWJsZV9uYW1lIHwgcGVyaW9kX25hbWUgfCBzdGFydF9jb2x1bW5fbmFtZSB8IGVuZF9j b2x1bW5fbmFtZSAKKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tCisgcmVn cmVzc2lvbiAgICB8IHB1YmxpYyAgICAgICB8IHB0ICAgICAgICAgfCBwICAgICAgICAgICB8IGRz ICAgICAgICAgICAgICAgIHwgZGUKKygxIHJvdykKKworLyogU0VMRUNUICogZXhjbHVkZXMgdGhl IFBFUklPRCAqLworaW5zZXJ0IGludG8gcHQgdmFsdWVzICgxLCAnMjAwMC0wMS0wMScsICcyMDAx LTAxLTAxJyk7CitzZWxlY3QgKiBmcm9tIHB0OworIGlkIHwgICAgIGRzICAgICB8ICAgICBkZSAg ICAgCistLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyAgMSB8IDAxLTAxLTIwMDAgfCAw MS0wMS0yMDAxCisoMSByb3cpCisKKy8qIFlvdSBjYW4gZ2V0IGl0IGlmIHlvdSB3YW50ICovCitz ZWxlY3QgKiwgcCBmcm9tIHB0OworIGlkIHwgICAgIGRzICAgICB8ICAgICBkZSAgICAgfCAgICAg ICAgICAgIHAgICAgICAgICAgICAKKy0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIDEgfCAwMS0wMS0yMDAwIHwgMDEtMDEtMjAwMSB8IFsw MS0wMS0yMDAwLDAxLTAxLTIwMDEpCisoMSByb3cpCisKKy8qIFlvdSBjYW4gY29tbWVudCBvbiBp dCAqLworY29tbWVudCBvbiBwZXJpb2QgcHQucCBpcyAndGVzdCBjb21tZW50JzsKK3NlbGVjdCBv YmpfZGVzY3JpcHRpb24oKHNlbGVjdCBvaWQgZnJvbSBwZ19wZXJpb2Qgd2hlcmUgcGVycmVsaWQg PSAncHQnOjpyZWdjbGFzcyBhbmQgcGVybmFtZSA9ICdwJyksICdwZ19wZXJpb2QnKTsKKyBvYmpf ZGVzY3JpcHRpb24gCistLS0tLS0tLS0tLS0tLS0tLQorIHRlc3QgY29tbWVudAorKDEgcm93KQor CisvKiBUd28gYXJlIG9rYXkgKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGlkIGludGVnZXIsIGRzIGRh dGUsIGRlIGRhdGUsIHBlcmlvZCBmb3IgcDEgKGRzLCBkZSksIHBlcmlvZCBmb3IgcDIgKGRzLCBk ZSkpOworZHJvcCB0YWJsZSBwdDI7CisvKiBTa2lwIGNyZWF0aW5nIEdFTkVSQVRFRCBjb2x1bW46 IHdvcmtzICovCitjcmVhdGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRl LCBwIGRhdGVyYW5nZSBub3QgbnVsbCBnZW5lcmF0ZWQgYWx3YXlzIGFzIChkYXRlcmFuZ2UoZHMs IGRlKSkgc3RvcmVkLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29sZXhpc3RzID0gdHJ1 ZSkpOworXGQgcHQyCisgICAgICAgICAgICAgICAgVGFibGUgInB1YmxpYy5wdDIiCisgQ29sdW1u IHwgIFR5cGUgICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdCAKKy0tLS0tLS0tKy0t LS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLQorIGlkICAgICB8IGludGVn ZXIgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorIGRzICAgICB8IGRhdGUgICAgfCAgICAgICAg ICAgfCAgICAgICAgICB8IAorIGRlICAgICB8IGRhdGUgICAgfCAgICAgICAgICAgfCAgICAgICAg ICB8IAorUGVyaW9kczoKKyAgICBwIChkcywgZGUpCitDaGVjayBjb25zdHJhaW50czoKKyAgICAi cHQyX3BfY2hlY2siIENIRUNLIChkcyA8IGRlKQorCitkcm9wIHRhYmxlIHB0MjsKKy8qIFNraXAg Y3JlYXRpbmcgR0VORVJBVEVEIGNvbHVtbjogZmFpbHMgYmVjYXVzZSB0aGUgY29sIGlzbid0IHRo ZXJlICovCitjcmVhdGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBw ZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29sZXhpc3RzID0gdHJ1ZSkpOworRVJST1I6ICBO byBjb2x1bW4gZm91bmQgd2l0aCBuYW1lIHAKKy8qIFNraXAgY3JlYXRpbmcgR0VORVJBVEVEIGNv bHVtbjogZmFpbHMgYmVjYXVzZSB0aGUgb3B0aW9uIGhhcyBhbiBpbnZhbGlkIHZhbHVlICovCitj cmVhdGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwZXJpb2QgZm9y IHAgKGRzLCBkZSkgd2l0aCAoY29sZXhpc3RzID0gJ3doYXRldmVyJykpOworRVJST1I6ICBjb2xl eGlzdHMgcmVxdWlyZXMgYSBCb29sZWFuIHZhbHVlCisvKiBTa2lwIGNyZWF0aW5nIEdFTkVSQVRF RCBjb2x1bW46IGZhaWxzIGJlY2F1c2UgdGhlIGNvbHVtbiBpcyBub3QgTk9UIE5VTEwgKi8KK2Ny ZWF0ZSB0YWJsZSBwdDIgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHAgZGF0ZXJhbmdl IGdlbmVyYXRlZCBhbHdheXMgYXMgKGRhdGVyYW5nZShkcywgZGUpKSBzdG9yZWQsIHBlcmlvZCBm b3IgcCAoZHMsIGRlKSB3aXRoIChjb2xleGlzdHMgPSB0cnVlKSk7CitFUlJPUjogIFBlcmlvZCBw IHVzZXMgYSBnZW5lcmF0ZWQgY29sdW1uIHRoYXQgYWxsb3dzIG51bGxzCisvKiBTa2lwIGNyZWF0 aW5nIEdFTkVSQVRFRCBjb2x1bW46IGZhaWxzIGJlY2F1c2UgdGhlIGNvbHVtbiBpcyBub3QgR0VO RVJBVEVEICovCitjcmVhdGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRl LCBwIGRhdGVyYW5nZSBub3QgbnVsbCwgcGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGggKGNvbGV4 aXN0cyA9IHRydWUpKTsKK0VSUk9SOiAgUGVyaW9kIHAgdXNlcyBhIG5vbi1nZW5lcmF0ZWQgY29s dW1uCisvKiBTa2lwIGNyZWF0aW5nIEdFTkVSQVRFRCBjb2x1bW46IGZhaWxzIGJlY2F1c2UgdGhl IGNvbHVtbiBpcyBHRU5FUkFURUQgYnV0IHdpdGggdGhlIHdyb25nIGV4cHJlc3Npb24gKi8KKy0t IFRPRE86CistLSBjcmVhdGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRl LCBwIGRhdGVyYW5nZSBub3QgbnVsbCBnZW5lcmF0ZWQgYWx3YXlzIGFzIChkYXRlcmFuZ2UoZGUs IGRzKSkgc3RvcmVkLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29sZXhpc3RzID0gdHJ1 ZSkpOworLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQgY29sdW1uOiBmYWlscyBiZWNhdXNlIHRo ZSBjb2x1bW4gaXMgdGhlIHdyb25nIHR5cGUgKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGlkIGludGVn ZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHAgdHNyYW5nZSBub3QgbnVsbCBnZW5lcmF0ZWQgYWx3YXlz IGFzICh0c3JhbmdlKGRzLCBkZSkpIHN0b3JlZCwgcGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGgg KGNvbGV4aXN0cyA9IHRydWUpKTsKK0VSUk9SOiAgUGVyaW9kIHAgdXNlcyBhIGdlbmVyYXRlZCBj b2x1bW4gd2l0aCB0aGUgd3JvbmcgdHlwZQorLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQgY29s dW1uOiBmYWlscyBiZWNhdXNlIHRoZSBjb2x1bW4gaXMgaW5oZXJpdGVkICovCitjcmVhdGUgdGFi bGUgcHQycGFyZW50IChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwIGRhdGVyYW5nZSBu b3QgbnVsbCBnZW5lcmF0ZWQgYWx3YXlzIGFzIChkYXRlcmFuZ2UoZHMsIGRlKSkgc3RvcmVkKTsK K2NyZWF0ZSB0YWJsZSBwdDIgKHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChjb2xleGlzdHMg PSB0cnVlKSkgaW5oZXJpdHMgKHB0MnBhcmVudCk7CitFUlJPUjogIEluaGVyaXRpbmcgaXMgbm90 IHN1cHBvcnRlZCB3aGVuIGEgdGFibGUgaGFzIGEgUEVSSU9ECitkcm9wIHRhYmxlIHB0MnBhcmVu dDsKKy8qCisgKiBBTFRFUiBUQUJMRSB0ZXN0cworICovCithbHRlciB0YWJsZSBwdCBkcm9wIHBl cmlvZCBmb3IgcDsKK2FsdGVyIHRhYmxlIHB0IGFkZCBwZXJpb2QgZm9yIHN5c3RlbV90aW1lIChk cywgZGUpOworRVJST1I6ICBQRVJJT0QgRk9SIFNZU1RFTV9USU1FIGlzIG5vdCBzdXBwb3J0ZWQK K2FsdGVyIHRhYmxlIHB0IGFkZCBwZXJpb2QgZm9yIHAgKGRzLCBkZSk7CisvKiBJdHMgZ2VuZXJh dGVkIGNvbHVtbiBsb29rcyBnb29kICovCitzZWxlY3QgYXR0bmFtZSwgYXR0dHlwaWQ6OnJlZ3R5 cGUsIGF0dG5vdG51bGwsIGF0dGdlbmVyYXRlZCBmcm9tIHBnX2F0dHJpYnV0ZSB3aGVyZSBhdHRy ZWxpZCA9ICdwdCc6OnJlZ2NsYXNzIGFuZCBhdHRuYW1lID0gJ3AnOworIGF0dG5hbWUgfCBhdHR0 eXBpZCAgfCBhdHRub3RudWxsIHwgYXR0Z2VuZXJhdGVkIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLQorIHAgICAgICAgfCBkYXRlcmFuZ2UgfCB0ICAg ICAgICAgIHwgcworKDEgcm93KQorCitzZWxlY3QgY29ubmFtZSwgY29udHlwZSBmcm9tIHBnX2Nv bnN0cmFpbnQgd2hlcmUgY29ucmVsaWQgPSAncHQnOjpyZWdjbGFzcyBvcmRlciBieSBjb25uYW1l OworICAgIGNvbm5hbWUgICAgfCBjb250eXBlIAorLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLQor IHB0X3BfY2hlY2sgICAgfCBjCisgcHRfcF9ub3RfbnVsbCB8IG4KKygyIHJvd3MpCisKKy8qIEFk ZGluZyBhIHNlY29uZCBvbmUgKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGlkIGludGVnZXIsIGRzIGRh dGUsIGRlIGRhdGUsIHBlcmlvZCBmb3IgcDEgKGRzLCBkZSkpOworYWx0ZXIgdGFibGUgcHQyIGFk ZCBwZXJpb2QgZm9yIHAyIChkcywgZGUpOworZHJvcCB0YWJsZSBwdDI7CisvKiBDYW4ndCBkcm9w IGl0cyBjb2x1bW5zICovCithbHRlciB0YWJsZSBwdCBkcm9wIGNvbHVtbiBkczsKK0VSUk9SOiAg Y2Fubm90IGRyb3AgY29sdW1uIGRzIG9mIHRhYmxlIHB0IGJlY2F1c2Ugb3RoZXIgb2JqZWN0cyBk ZXBlbmQgb24gaXQKK0RFVEFJTDogIHBlcmlvZCBwIG9uIHRhYmxlIHB0IGRlcGVuZHMgb24gY29s dW1uIGRzIG9mIHRhYmxlIHB0CitISU5UOiAgVXNlIERST1AgLi4uIENBU0NBREUgdG8gZHJvcCB0 aGUgZGVwZW5kZW50IG9iamVjdHMgdG9vLgorYWx0ZXIgdGFibGUgcHQgZHJvcCBjb2x1bW4gZGU7 CitFUlJPUjogIGNhbm5vdCBkcm9wIGNvbHVtbiBkZSBvZiB0YWJsZSBwdCBiZWNhdXNlIG90aGVy IG9iamVjdHMgZGVwZW5kIG9uIGl0CitERVRBSUw6ICBwZXJpb2QgcCBvbiB0YWJsZSBwdCBkZXBl bmRzIG9uIGNvbHVtbiBkZSBvZiB0YWJsZSBwdAorSElOVDogIFVzZSBEUk9QIC4uLiBDQVNDQURF IHRvIGRyb3AgdGhlIGRlcGVuZGVudCBvYmplY3RzIHRvby4KKy8qIENhbid0IGNoYW5nZSB0aGUg ZGF0YSB0eXBlcyAqLworYWx0ZXIgdGFibGUgcHQgYWx0ZXIgY29sdW1uIGRzIHR5cGUgdGltZXN0 YW1wOworRVJST1I6ICBjYW5ub3QgYWx0ZXIgdHlwZSBvZiBhIGNvbHVtbiB1c2VkIGJ5IGEgcGVy aW9kCitERVRBSUw6ICBwZXJpb2QgcCBvbiB0YWJsZSBwdCBkZXBlbmRzIG9uIGNvbHVtbiAiZHMi CithbHRlciB0YWJsZSBwdCBhbHRlciBjb2x1bW4gZHMgdHlwZSB0aW1lc3RhbXA7CitFUlJPUjog IGNhbm5vdCBhbHRlciB0eXBlIG9mIGEgY29sdW1uIHVzZWQgYnkgYSBwZXJpb2QKK0RFVEFJTDog IHBlcmlvZCBwIG9uIHRhYmxlIHB0IGRlcGVuZHMgb24gY29sdW1uICJkcyIKKy8qIGNvbHVtbi9w ZXJpb2QgbmFtZXNwYWNlIGNvbmZsaWN0cyAqLworYWx0ZXIgdGFibGUgcHQgYWRkIGNvbHVtbiBw IGludGVnZXI7CitFUlJPUjogIGNvbHVtbiBuYW1lICJwIiBjb25mbGljdHMgd2l0aCBhIHBlcmlv ZCBuYW1lCithbHRlciB0YWJsZSBwdCByZW5hbWUgY29sdW1uIGlkIHRvIHA7CitFUlJPUjogIGNv bHVtbiBuYW1lICJwIiBjb25mbGljdHMgd2l0aCBhIHBlcmlvZCBuYW1lCithbHRlciB0YWJsZSBw dCBhZGQgcGVyaW9kIGZvciB0YWJsZW9pZCAoZHMsIGRlKTsKK0VSUk9SOiAgcGVyaW9kIG5hbWUg InRhYmxlb2lkIiBjb25mbGljdHMgd2l0aCBhIHN5c3RlbSBjb2x1bW4gbmFtZQorYWx0ZXIgdGFi bGUgcHQgYWRkIHBlcmlvZCBmb3IgIi4uLi4uLi4ucGcuZHJvcHBlZC40Li4uLi4uLi4iIChkcywg ZGUpOworRVJST1I6ICBwZXJpb2QgbmFtZSAiLi4uLi4uLi5wZy5kcm9wcGVkLjQuLi4uLi4uLiIg Y29uZmxpY3RzIHdpdGggYSBjb2x1bW4gbmFtZQorLyogYWRkaW5nIGNvbHVtbnMgYW5kIHRoZSBw ZXJpb2QgYXQgdGhlIHNhbWUgdGltZSAqLworY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlcik7 CithbHRlciB0YWJsZSBwdDIgYWRkIGNvbHVtbiBkcyBkYXRlLCBhZGQgY29sdW1uIGRlIGRhdGUs IGFkZCBwZXJpb2QgZm9yIHAgKGRzLCBkZSk7Citkcm9wIHRhYmxlIHB0MjsKKy8qIEFtYmlndW91 cyByYW5nZSB0eXBlcyByYWlzZSBhbiBlcnJvciAqLworY3JlYXRlIHR5cGUgbXlkYXRlcmFuZ2Ug YXMgcmFuZ2Uoc3VidHlwZT1kYXRlKTsKK2NyZWF0ZSB0YWJsZSBwdDIgKGlkIGludCwgZHMgZGF0 ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBwIChkcywgZGUpKTsKK0VSUk9SOiAgYW1iaWd1b3VzIHJh bmdlIGZvciB0eXBlIGRhdGUKKy8qIFlvdSBjYW4gZ2l2ZSBhbiBleHBsaWNpdCByYW5nZSB0eXBl ICovCitjcmVhdGUgdGFibGUgcHQyIChpZCBpbnQsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBm b3IgcCAoZHMsIGRlKSB3aXRoIChyYW5nZXR5cGUgPSAnbXlkYXRlcmFuZ2UnKSk7Citkcm9wIHR5 cGUgbXlkYXRlcmFuZ2U7CitFUlJPUjogIGNhbm5vdCBkcm9wIHR5cGUgbXlkYXRlcmFuZ2UgYmVj YXVzZSBvdGhlciBvYmplY3RzIGRlcGVuZCBvbiBpdAorREVUQUlMOiAgcGVyaW9kIHAgb24gdGFi bGUgcHQyIGRlcGVuZHMgb24gdHlwZSBteWRhdGVyYW5nZQorSElOVDogIFVzZSBEUk9QIC4uLiBD QVNDQURFIHRvIGRyb3AgdGhlIGRlcGVuZGVudCBvYmplY3RzIHRvby4KK2Ryb3AgdHlwZSBteWRh dGVyYW5nZSBjYXNjYWRlOworTk9USUNFOiAgZHJvcCBjYXNjYWRlcyB0byBwZXJpb2QgcCBvbiB0 YWJsZSBwdDIKK2Ryb3AgdGFibGUgcHQyOworY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50LCBkcyBk YXRlLCBkZSBkYXRlLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAocmFuZ2V0eXBlID0gJ2Rh dGVyYW5nZScpKTsKKy8qIFJhbmdlIHR5cGUgaXMgbm90IGZvdW5kICovCitjcmVhdGUgdGFibGUg cHQzIChpZCBpbnQsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRo IChyYW5nZXR5cGUgPSAnbm90YXJhbmdlJykpOworRVJST1I6ICBSYW5nZSB0eXBlIG5vdGFyYW5n ZSBub3QgZm91bmQKKy8qIFJhbmdlIHR5cGUgaXMgdGhlIHdyb25nIHR5cGUgKi8KK2NyZWF0ZSB0 YWJsZSBwdDMgKGlkIGludCwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBwIChkcywgZGUp IHdpdGggKHJhbmdldHlwZSA9ICd0c3R6cmFuZ2UnKSk7CitFUlJPUjogIFJhbmdlIHR5cGUgdHN0 enJhbmdlIGRvZXMgbm90IG1hdGNoIGNvbHVtbiB0eXBlIGRhdGUKK2Ryb3AgdGFibGUgcHQyOwor LyogUGVyaW9kIGNhbid0IHVzZSB0aGUgc2FtZSBjb2x1bSBmb3Igc3RhcnQgYW5kIGVuZCovCitj cmVhdGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlKTsKK2FsdGVyIHRh YmxlIHB0MiBhZGQgcGVyaW9kIGZvciBwIChkcywgZHMpOworRVJST1I6ICBjb2x1bW4gImRzIiBj YW4ndCBiZSB0aGUgc3RhcnQgYW5kIGVuZCBjb2x1bW4gZm9yIHBlcmlvZCAicCIKK2Ryb3AgdGFi bGUgcHQyOworLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQgY29sdW1uOiB3b3JrcyAqLworY3Jl YXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcCBkYXRlcmFuZ2Ug bm90IG51bGwgZ2VuZXJhdGVkIGFsd2F5cyBhcyAoZGF0ZXJhbmdlKGRzLCBkZSkpIHN0b3JlZCk7 CithbHRlciB0YWJsZSBwdDIgYWRkIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChjb2xleGlz dHMgPSB0cnVlKTsKK1xkIHB0MgorICAgICAgICAgICAgICAgIFRhYmxlICJwdWJsaWMucHQyIgor IENvbHVtbiB8ICBUeXBlICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgCistLS0t LS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBpZCAgICAg fCBpbnRlZ2VyIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyBkcyAgICAgfCBkYXRlICAgIHwg ICAgICAgICAgIHwgICAgICAgICAgfCAKKyBkZSAgICAgfCBkYXRlICAgIHwgICAgICAgICAgIHwg ICAgICAgICAgfCAKK1BlcmlvZHM6CisgICAgcCAoZHMsIGRlKQorQ2hlY2sgY29uc3RyYWludHM6 CisgICAgInB0Ml9wX2NoZWNrIiBDSEVDSyAoZHMgPCBkZSkKKworZHJvcCB0YWJsZSBwdDI7Cisv KiBTa2lwIGNyZWF0aW5nIEdFTkVSQVRFRCBjb2x1bW46IGZhaWxzIGJlY2F1c2UgdGhlIGNvbCBp c24ndCB0aGVyZSAqLworY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUg ZGF0ZSk7CithbHRlciB0YWJsZSBwdDIgYWRkIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChj b2xleGlzdHMgPSB0cnVlKTsKK0VSUk9SOiAgY29sdW1uICJwIiBvZiByZWxhdGlvbiAicHQyIiBk b2VzIG5vdCBleGlzdAorZHJvcCB0YWJsZSBwdDI7CisvKiBTa2lwIGNyZWF0aW5nIEdFTkVSQVRF RCBjb2x1bW46IGZhaWxzIGJlY2F1c2UgdGhlIG9wdGlvbiBoYXMgYW4gaW52YWxpZCB2YWx1ZSAq LworY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcCBkYXRl cmFuZ2Ugbm90IG51bGwgZ2VuZXJhdGVkIGFsd2F5cyBhcyAoZGF0ZXJhbmdlKGRzLCBkZSkpIHN0 b3JlZCk7CithbHRlciB0YWJsZSBwdDIgYWRkIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChj b2xleGlzdHMgPSAnd2hhdGV2ZXInKTsKK0VSUk9SOiAgY29sZXhpc3RzIHJlcXVpcmVzIGEgQm9v bGVhbiB2YWx1ZQorZHJvcCB0YWJsZSBwdDI7CisvKiBTa2lwIGNyZWF0aW5nIEdFTkVSQVRFRCBj b2x1bW46IGZhaWxzIGJlY2F1c2UgdGhlIGNvbHVtbiBpcyBub3QgTk9UIE5VTEwgKi8KK2NyZWF0 ZSB0YWJsZSBwdDIgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHAgZGF0ZXJhbmdlIGdl bmVyYXRlZCBhbHdheXMgYXMgKGRhdGVyYW5nZShkcywgZGUpKSBzdG9yZWQpOworYWx0ZXIgdGFi bGUgcHQyIGFkZCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29sZXhpc3RzID0gdHJ1ZSk7 CitFUlJPUjogIFBlcmlvZCBwIHVzZXMgYSBnZW5lcmF0ZWQgY29sdW1uIHRoYXQgYWxsb3dzIG51 bGxzCitkcm9wIHRhYmxlIHB0MjsKKy8qIFNraXAgY3JlYXRpbmcgR0VORVJBVEVEIGNvbHVtbjog ZmFpbHMgYmVjYXVzZSB0aGUgY29sdW1uIGlzIG5vdCBHRU5FUkFURUQgKi8KK2NyZWF0ZSB0YWJs ZSBwdDIgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHAgZGF0ZXJhbmdlIG5vdCBudWxs KTsKK2FsdGVyIHRhYmxlIHB0MiBhZGQgcGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGggKGNvbGV4 aXN0cyA9IHRydWUpOworRVJST1I6ICBQZXJpb2QgcCB1c2VzIGEgbm9uLWdlbmVyYXRlZCBjb2x1 bW4KK2Ryb3AgdGFibGUgcHQyOworLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQgY29sdW1uOiBm YWlscyBiZWNhdXNlIHRoZSBjb2x1bW4gaXMgR0VORVJBVEVEIGJ1dCB3aXRoIHRoZSB3cm9uZyBl eHByZXNzaW9uICovCistLSBUT0RPOgorLS0gY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwg ZHMgZGF0ZSwgZGUgZGF0ZSwgcCBkYXRlcmFuZ2Ugbm90IG51bGwgZ2VuZXJhdGVkIGFsd2F5cyBh cyAoZGF0ZXJhbmdlKGRlLCBkcykpIHN0b3JlZCk7CistLSBhbHRlciB0YWJsZSBwdDIgYWRkIHBl cmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChjb2xleGlzdHMgPSB0cnVlKTsKKy8qIFNraXAgY3Jl YXRpbmcgR0VORVJBVEVEIGNvbHVtbjogZmFpbHMgYmVjYXVzZSB0aGUgY29sdW1uIGlzIHRoZSB3 cm9uZyB0eXBlICovCitjcmVhdGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBk YXRlLCBwIHRzcmFuZ2Ugbm90IG51bGwgZ2VuZXJhdGVkIGFsd2F5cyBhcyAodHNyYW5nZShkcywg ZGUpKSBzdG9yZWQpOworYWx0ZXIgdGFibGUgcHQyIGFkZCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkg d2l0aCAoY29sZXhpc3RzID0gdHJ1ZSk7CitFUlJPUjogIFBlcmlvZCBwIHVzZXMgYSBnZW5lcmF0 ZWQgY29sdW1uIHdpdGggdGhlIHdyb25nIHR5cGUKK2Ryb3AgdGFibGUgcHQyOworLyogU2tpcCBj cmVhdGluZyBHRU5FUkFURUQgY29sdW1uOiBmYWlscyBiZWNhdXNlIHRoZSBjb2x1bW4gaXMgaW5o ZXJpdGVkICovCitjcmVhdGUgdGFibGUgcHQycGFyZW50IChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBk ZSBkYXRlLCBwIGRhdGVyYW5nZSBub3QgbnVsbCBnZW5lcmF0ZWQgYWx3YXlzIGFzIChkYXRlcmFu Z2UoZHMsIGRlKSkgc3RvcmVkKTsKK2NyZWF0ZSB0YWJsZSBwdDIgKCkgaW5oZXJpdHMgKHB0MnBh cmVudCk7CithbHRlciB0YWJsZSBwdDIgYWRkIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChj b2xleGlzdHMgPSB0cnVlKTsKK0VSUk9SOiAgUGVyaW9kIHAgdXNlcyBhIGdlbmVyYXRlZCBjb2x1 bW4gdGhhdCBpcyBpbmhlcml0ZWQKK2Ryb3AgdGFibGUgcHQyOworZHJvcCB0YWJsZSBwdDJwYXJl bnQ7CisvKiBDUkVBVEUgVEFCTEUgKExJS0UgLi4uKSAqLworLyogUGVyaW9kcyBhcmUgbm90IGNv cGllZCBieSBMSUtFLCBzbyB0aGVpciBjb2x1bW5zIGFyZW4ndCBlaXRoZXIgKi8KK2NyZWF0ZSB0 YWJsZSBwdDIgKGxpa2UgcHQpOworXGQgcHQyCisgICAgICAgICAgICAgICAgVGFibGUgInB1Ymxp Yy5wdDIiCisgQ29sdW1uIHwgIFR5cGUgICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVs dCAKKy0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLQor IGlkICAgICB8IGludGVnZXIgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorIGRzICAgICB8IGRh dGUgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorIGRlICAgICB8IGRhdGUgICAgfCAgICAg ICAgICAgfCAgICAgICAgICB8IAorCitkcm9wIHRhYmxlIHB0MjsKKy8qIENhbiBhZGQgYSBwZXJp b2QgcmVmZXJyaW5nIHRvIExJS0UnZCBjb2x1bW5zICovCitjcmVhdGUgdGFibGUgbm90X3AgKGlk IGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUpOworY3JlYXRlIHRhYmxlIHB0MiAobGlrZSBub3Rf cCwgcGVyaW9kIGZvciBwIChkcywgZGUpKTsKK1xkIHB0MgorICAgICAgICAgICAgICAgIFRhYmxl ICJwdWJsaWMucHQyIgorIENvbHVtbiB8ICBUeXBlICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8 IERlZmF1bHQgCistLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0t LS0tLS0KKyBpZCAgICAgfCBpbnRlZ2VyIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyBkcyAg ICAgfCBkYXRlICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyBkZSAgICAgfCBkYXRlICAg IHwgICAgICAgICAgIHwgICAgICAgICAgfCAKK1BlcmlvZHM6CisgICAgcCAoZHMsIGRlKQorQ2hl Y2sgY29uc3RyYWludHM6CisgICAgInB0Ml9wX2NoZWNrIiBDSEVDSyAoZHMgPCBkZSkKKworZHJv cCB0YWJsZSBwdDI7CisvKiBDYW4gYWRkIGEgcGVyaW9kIHdpdGggdGhlIHNhbWUgbmFtZSAqLwor Y3JlYXRlIHRhYmxlIHB0MiAobGlrZSBwdCwgcGVyaW9kIGZvciBwIChkcywgZGUpKTsKK1xkIHB0 MgorICAgICAgICAgICAgICAgIFRhYmxlICJwdWJsaWMucHQyIgorIENvbHVtbiB8ICBUeXBlICAg fCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgCistLS0tLS0tLSstLS0tLS0tLS0rLS0t LS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBpZCAgICAgfCBpbnRlZ2VyIHwgICAgICAg ICAgIHwgICAgICAgICAgfCAKKyBkcyAgICAgfCBkYXRlICAgIHwgICAgICAgICAgIHwgICAgICAg ICAgfCAKKyBkZSAgICAgfCBkYXRlICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKK1Blcmlv ZHM6CisgICAgcCAoZHMsIGRlKQorQ2hlY2sgY29uc3RyYWludHM6CisgICAgInB0Ml9wX2NoZWNr IiBDSEVDSyAoZHMgPCBkZSkKKworZHJvcCB0YWJsZSBwdDI7CisvKiBDYW4gYWRkIGEgcGVyaW9k IHdpdGggYSBkaWZmZXJlbnQgbmFtZSAqLworY3JlYXRlIHRhYmxlIHB0MiAobGlrZSBwdCwgcGVy aW9kIGZvciBwMiAoZHMsIGRlKSk7CitcZCBwdDIKKyAgICAgICAgICAgICAgICBUYWJsZSAicHVi bGljLnB0MiIKKyBDb2x1bW4gfCAgVHlwZSAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZh dWx0IAorLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0t CisgaWQgICAgIHwgaW50ZWdlciB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgZHMgICAgIHwg ZGF0ZSAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgZGUgICAgIHwgZGF0ZSAgICB8ICAg ICAgICAgICB8ICAgICAgICAgIHwgCitQZXJpb2RzOgorICAgIHAyIChkcywgZGUpCitDaGVjayBj b25zdHJhaW50czoKKyAgICAicHQyX3AyX2NoZWNrIiBDSEVDSyAoZHMgPCBkZSkKKworZHJvcCB0 YWJsZSBwdDI7CisvKiBDYW4ndCBhZGQgYSBwZXJpb2Qgd2hvc2UgbmFtZSBjb25mbGljdHMgd2l0 aCBhIExJS0UnZCBjb2x1bW4gKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGxpa2UgcHQsIHBlcmlvZCBm b3IgaWQgKGRzLCBkZSkpOworRVJST1I6ICBwZXJpb2QgbmFtZSAiaWQiIGNvbmZsaWN0cyB3aXRo IGEgY29sdW1uIG5hbWUKKy8qIENSRUFURSBUQUxCRSBJTkhFUklUUyAqLworLyogQ2FuJ3QgaW5o ZXJpdCBmcm9tIGEgdGFibGUgd2l0aCBhIHBlcmlvZCAqLworY3JlYXRlIHRhYmxlIHB0MiAobmFt ZSB0ZXh0KSBpbmhlcml0cyAocHQpOworRVJST1I6ICBJbmhlcml0aW5nIGZyb20gYSB0YWJsZSB3 aXRoIGEgUEVSSU9EIGlzIG5vdCBzdXBwb3J0ZWQKKy8qIENhbid0IGluaGVyaXQgd2l0aCBhIHBl cmlvZCAqLworY3JlYXRlIHRhYmxlIHB0MiAoZDJzIGRhdGUsIGQyZSBkYXRlLCBwZXJpb2QgZm9y IHAgKGQycywgZDJlKSkgaW5oZXJpdHMgKG5vdF9wKTsKK0VSUk9SOiAgSW5oZXJpdGluZyBpcyBu b3Qgc3VwcG9ydGVkIHdoZW4gYSB0YWJsZSBoYXMgYSBQRVJJT0QKK2Ryb3AgdGFibGUgbm90X3A7 CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ByaXZpbGVnZXMub3V0IGIv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wcml2aWxlZ2VzLm91dAppbmRleCA5ZmY4ZTdmYjM2 My4uNGY1NzcyMThjZGYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHJp dmlsZWdlcy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wcml2aWxlZ2VzLm91 dApAQCAtMTEzNyw2ICsxMTM3LDM1IEBAIFNFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVz c19wcml2X3VzZXIzOwogVVBEQVRFIHQxIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MDAtMDEtMDEnIFRPICcyMDAxLTAxLTAxJyBTRVQgYzEgPSAnWzIsMyknOwogU0VUIFNFU1NJT04g QVVUSE9SSVpBVElPTiByZWdyZXNzX3ByaXZfdXNlcjE7CiBEUk9QIFRBQkxFIHQxOworLS0gdGVz dCBjb2x1bW4tbGV2ZWwgcHJpdmlsZWdlcyBvbiB0aGUgUEVSSU9EIHVzZWQgaW4gRk9SIFBPUlRJ T04gT0YKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19wcml2X3VzZXIxOworQ1JF QVRFIFRBQkxFIHQxICgKKyAgYzEgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIHRpbWVzdGFtcCwK KyAgdmFsaWRfdGlsIHRpbWVzdGFtcCwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJv bSwgdmFsaWRfdGlsKSwKKwlDT05TVFJBSU5UIHQxcGsgUFJJTUFSWSBLRVkgKGMxLCB2YWxpZF9h dCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0dSQU5UIFNFTEVDVCBPTiB0MSBUTyByZWdyZXNzX3By aXZfdXNlcjI7CitHUkFOVCBTRUxFQ1QgT04gdDEgVE8gcmVncmVzc19wcml2X3VzZXIzOworR1JB TlQgU0VMRUNUIE9OIHQxIFRPIHJlZ3Jlc3NfcHJpdl91c2VyNDsKK0dSQU5UIFNFTEVDVCBPTiB0 MSBUTyByZWdyZXNzX3ByaXZfdXNlcjU7CitHUkFOVCBVUERBVEUgKGMxKSBPTiB0MSBUTyByZWdy ZXNzX3ByaXZfdXNlcjI7CitHUkFOVCBVUERBVEUgKGMxLCB2YWxpZF9hdCkgT04gdDEgVE8gcmVn cmVzc19wcml2X3VzZXIzOworR1JBTlQgVVBEQVRFIChjMSwgdmFsaWRfZnJvbSwgdmFsaWRfdGls KSBPTiB0MSBUTyByZWdyZXNzX3ByaXZfdXNlcjQ7CitHUkFOVCBVUERBVEUgKGMxLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwsIHZhbGlkX2F0KSBPTiB0MSBUTyByZWdyZXNzX3ByaXZfdXNlcjU7CitT RVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMjsKK1VQREFURSB0MSBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAxLTAxJyBUTyAnMjAwMS0wMS0wMScg U0VUIGMxID0gJ1syLDMpJzsKK0VSUk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgZm9yIHRhYmxlIHQx CitTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMzsKK1VQREFURSB0 MSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAxLTAxJyBUTyAnMjAwMS0wMS0w MScgU0VUIGMxID0gJ1syLDMpJzsKK0VSUk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgZm9yIHRhYmxl IHQxCitTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyNDsKK1VQREFU RSB0MSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAxLTAxJyBUTyAnMjAwMS0w MS0wMScgU0VUIGMxID0gJ1syLDMpJzsKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVz c19wcml2X3VzZXI1OworVVBEQVRFIHQxIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MDAtMDEtMDEnIFRPICcyMDAxLTAxLTAxJyBTRVQgYzEgPSAnWzIsMyknOworU0VUIFNFU1NJT04g QVVUSE9SSVpBVElPTiByZWdyZXNzX3ByaXZfdXNlcjE7CitEUk9QIFRBQkxFIHQxOwogLS0gdGVz dCBjb2x1bW4tbGV2ZWwgcHJpdmlsZWdlcyB3aGVuIGludm9sdmVkIHdpdGggREVMRVRFCiBTRVQg U0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMTsKIEFMVEVSIFRBQkxFIGF0 ZXN0NiBBREQgQ09MVU1OIHRocmVlIGludGVnZXI7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3dpdGhvdXRfb3ZlcmxhcHMub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC93aXRob3V0X292ZXJsYXBzLm91dAppbmRleCA0ZDlmMjVhYzQwNS4uZTU0NWQwZTMzZDQg MTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvd2l0aG91dF9vdmVybGFwcy5v dXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC93aXRob3V0X292ZXJsYXBzLm91dApA QCAtMTUzLDYgKzE1Myw3NiBAQCBTRUxFQ1QgcGdfZ2V0X2luZGV4ZGVmKGNvbmluZGlkLCAwLCB0 cnVlKSBGUk9NIHBnX2NvbnN0cmFpbnQgV0hFUkUgY29ubmFtZSA9ICd0ZQogIENSRUFURSBVTklR VUUgSU5ERVggdGVtcG9yYWxfcm5nMl9wayBPTiB0ZW1wb3JhbF9ybmcyIFVTSU5HIGdpc3QgKGlk MSwgaWQyLCB2YWxpZF9hdCkKICgxIHJvdykKIAorLS0gUEsgd2l0aCBvbmUgY29sdW1uIHBsdXMg YSBQRVJJT0Q6CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGVyICgKKyAgaWQgaW50NHJhbmdlLAor ICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBQRVJJT0QgRk9SIHZhbGlk X2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3Blcl9w ayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOworXGQgdGVt cG9yYWxfcGVyCisgICAgICAgICAgICAgICBUYWJsZSAicHVibGljLnRlbXBvcmFsX3BlciIKKyAg IENvbHVtbiAgIHwgICBUeXBlICAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0IAor LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0t CisgaWQgICAgICAgICB8IGludDRyYW5nZSB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgCisgdmFs aWRfZnJvbSB8IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgdmFsaWRfdGls ICB8IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCitQZXJpb2RzOgorICAgIHZh bGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpCitJbmRleGVzOgorICAgICJ0ZW1wb3JhbF9w ZXJfcGsiIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKK0NoZWNr IGNvbnN0cmFpbnRzOgorICAgICJ0ZW1wb3JhbF9wZXJfdmFsaWRfYXRfY2hlY2siIENIRUNLICh2 YWxpZF9mcm9tIDwgdmFsaWRfdGlsKQorCitTRUxFQ1QgcGdfZ2V0X2NvbnN0cmFpbnRkZWYob2lk KSBGUk9NIHBnX2NvbnN0cmFpbnQgV0hFUkUgY29ubmFtZSA9ICd0ZW1wb3JhbF9wZXJfcGsnOwor ICAgICAgICAgICAgcGdfZ2V0X2NvbnN0cmFpbnRkZWYgICAgICAgICAgICAgCistLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBQUklNQVJZIEtFWSAoaWQsIHZh bGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCisoMSByb3cpCisKK1NFTEVDVCBwZ19nZXRfaW5kZXhk ZWYoY29uaW5kaWQsIDAsIHRydWUpIEZST00gcGdfY29uc3RyYWludCBXSEVSRSBjb25uYW1lID0g J3RlbXBvcmFsX3Blcl9wayc7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBnX2dl dF9pbmRleGRlZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisgQ1JFQVRFIFVOSVFVRSBJTkRFWCB0ZW1wb3JhbF9wZXJfcGsgT04gdGVtcG9y YWxfcGVyIFVTSU5HIGdpc3QgKGlkLCB2YWxpZF9hdCkKKygxIHJvdykKKworLS0gUEsgd2l0aCB0 d28gY29sdW1ucyBwbHVzIGEgUEVSSU9EOgorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BlcjIgKAor ICBpZDEgaW50NHJhbmdlLAorICBpZDIgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisg IHZhbGlkX3RpbCBkYXRlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxp ZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3BlcjJfcGsgUFJJTUFSWSBLRVkgKGlkMSwg aWQyLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK1xkIHRlbXBvcmFsX3BlcjIKKyAg ICAgICAgICAgICAgVGFibGUgInB1YmxpYy50ZW1wb3JhbF9wZXIyIgorICAgQ29sdW1uICAgfCAg IFR5cGUgICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgCistLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBpZDEgICAgICAg IHwgaW50NHJhbmdlIHwgICAgICAgICAgIHwgbm90IG51bGwgfCAKKyBpZDIgICAgICAgIHwgaW50 NHJhbmdlIHwgICAgICAgICAgIHwgbm90IG51bGwgfCAKKyB2YWxpZF9mcm9tIHwgZGF0ZSAgICAg IHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyB2YWxpZF90aWwgIHwgZGF0ZSAgICAgIHwgICAg ICAgICAgIHwgICAgICAgICAgfCAKK1BlcmlvZHM6CisgICAgdmFsaWRfYXQgKHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkKK0luZGV4ZXM6CisgICAgInRlbXBvcmFsX3BlcjJfcGsiIFBSSU1BUlkgS0VZ IChpZDEsIGlkMiwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKK0NoZWNrIGNvbnN0cmFpbnRz OgorICAgICJ0ZW1wb3JhbF9wZXIyX3ZhbGlkX2F0X2NoZWNrIiBDSEVDSyAodmFsaWRfZnJvbSA8 IHZhbGlkX3RpbCkKKworU0VMRUNUIHBnX2dldF9jb25zdHJhaW50ZGVmKG9pZCkgRlJPTSBwZ19j b25zdHJhaW50IFdIRVJFIGNvbm5hbWUgPSAndGVtcG9yYWxfcGVyMl9wayc7CisgICAgICAgICAg ICAgICBwZ19nZXRfY29uc3RyYWludGRlZiAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIFBSSU1BUlkgS0VZIChpZDEs IGlkMiwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKygxIHJvdykKKworU0VMRUNUIHBnX2dl dF9pbmRleGRlZihjb25pbmRpZCwgMCwgdHJ1ZSkgRlJPTSBwZ19jb25zdHJhaW50IFdIRVJFIGNv bm5hbWUgPSAndGVtcG9yYWxfcGVyMl9wayc7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBwZ19nZXRfaW5kZXhkZWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIENSRUFURSBVTklRVUUgSU5ERVgg dGVtcG9yYWxfcGVyMl9wayBPTiB0ZW1wb3JhbF9wZXIyIFVTSU5HIGdpc3QgKGlkMSwgaWQyLCB2 YWxpZF9hdCkKKygxIHJvdykKKwogLS0gUEsgd2l0aCBhIGN1c3RvbSByYW5nZSB0eXBlOgogQ1JF QVRFIFRZUEUgdGV4dHJhbmdlMiBBUyByYW5nZSAoc3VidHlwZT10ZXh0LCBjb2xsYXRpb249IkMi KTsKIENSRUFURSBUQUJMRSB0ZW1wb3JhbF9ybmczICgKQEAgLTMwMCw2ICszNzAsNzggQEAgU0VM RUNUIHBnX2dldF9pbmRleGRlZihjb25pbmRpZCwgMCwgdHJ1ZSkgRlJPTSBwZ19jb25zdHJhaW50 IFdIRVJFIGNvbm5hbWUgPSAndGUKICgxIHJvdykKIAogRFJPUCBUQUJMRSB0ZW1wb3JhbF9ybmcz OworLS0gVU5JUVVFIHdpdGggb25lIGNvbHVtbiBwbHVzIGEgUEVSSU9EOgorQ1JFQVRFIFRBQkxF IHRlbXBvcmFsX3BlcjMgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAg dmFsaWRfdGlsIGRhdGUsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlk X3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyM191cSBVTklRVUUgKGlkLCB2YWxpZF9h dCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK1xkIHRlbXBvcmFsX3BlcjMKKyAgICAgICAgICAgICAg VGFibGUgInB1YmxpYy50ZW1wb3JhbF9wZXIzIgorICAgQ29sdW1uICAgfCAgIFR5cGUgICAgfCBD b2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgCistLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBpZCAgICAgICAgIHwgaW50NHJhbmdl IHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyB2YWxpZF9mcm9tIHwgZGF0ZSAgICAgIHwgICAg ICAgICAgIHwgICAgICAgICAgfCAKKyB2YWxpZF90aWwgIHwgZGF0ZSAgICAgIHwgICAgICAgICAg IHwgICAgICAgICAgfCAKK1BlcmlvZHM6CisgICAgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkKK0luZGV4ZXM6CisgICAgInRlbXBvcmFsX3BlcjNfdXEiIFVOSVFVRSAoaWQsIHZhbGlk X2F0IFdJVEhPVVQgT1ZFUkxBUFMpCitDaGVjayBjb25zdHJhaW50czoKKyAgICAidGVtcG9yYWxf cGVyM192YWxpZF9hdF9jaGVjayIgQ0hFQ0sgKHZhbGlkX2Zyb20gPCB2YWxpZF90aWwpCisKK1NF TEVDVCBwZ19nZXRfY29uc3RyYWludGRlZihvaWQpIEZST00gcGdfY29uc3RyYWludCBXSEVSRSBj b25uYW1lID0gJ3RlbXBvcmFsX3BlcjNfdXEnOworICAgICAgICAgIHBnX2dldF9jb25zdHJhaW50 ZGVmICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor IFVOSVFVRSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCisoMSByb3cpCisKK1NFTEVD VCBwZ19nZXRfaW5kZXhkZWYoY29uaW5kaWQsIDAsIHRydWUpIEZST00gcGdfY29uc3RyYWludCBX SEVSRSBjb25uYW1lID0gJ3RlbXBvcmFsX3BlcjNfdXEnOworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcGdfZ2V0X2luZGV4ZGVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBDUkVBVEUgVU5JUVVFIElOREVYIHRlbXBv cmFsX3BlcjNfdXEgT04gdGVtcG9yYWxfcGVyMyBVU0lORyBnaXN0IChpZCwgdmFsaWRfYXQpCiso MSByb3cpCisKK0RST1AgVEFCTEUgdGVtcG9yYWxfcGVyMzsKKy0tIFVOSVFVRSB3aXRoIHR3byBj b2x1bW5zIHBsdXMgYSBQRVJJT0Q6CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGVyMyAoCisgIGlk MSBpbnQ0cmFuZ2UsCisgIGlkMiBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFs aWRfdGlsIGRhdGUsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyM191cSBVTklRVUUgKGlkMSwgaWQyLCB2YWxp ZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK1xkIHRlbXBvcmFsX3BlcjMKKyAgICAgICAgICAg ICAgVGFibGUgInB1YmxpYy50ZW1wb3JhbF9wZXIzIgorICAgQ29sdW1uICAgfCAgIFR5cGUgICAg fCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgCistLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBpZDEgICAgICAgIHwgaW50NHJh bmdlIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyBpZDIgICAgICAgIHwgaW50NHJhbmdlIHwg ICAgICAgICAgIHwgICAgICAgICAgfCAKKyB2YWxpZF9mcm9tIHwgZGF0ZSAgICAgIHwgICAgICAg ICAgIHwgICAgICAgICAgfCAKKyB2YWxpZF90aWwgIHwgZGF0ZSAgICAgIHwgICAgICAgICAgIHwg ICAgICAgICAgfCAKK1BlcmlvZHM6CisgICAgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkKK0luZGV4ZXM6CisgICAgInRlbXBvcmFsX3BlcjNfdXEiIFVOSVFVRSAoaWQxLCBpZDIsIHZh bGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCitDaGVjayBjb25zdHJhaW50czoKKyAgICAidGVtcG9y YWxfcGVyM192YWxpZF9hdF9jaGVjayIgQ0hFQ0sgKHZhbGlkX2Zyb20gPCB2YWxpZF90aWwpCisK K1NFTEVDVCBwZ19nZXRfY29uc3RyYWludGRlZihvaWQpIEZST00gcGdfY29uc3RyYWludCBXSEVS RSBjb25uYW1lID0gJ3RlbXBvcmFsX3BlcjNfdXEnOworICAgICAgICAgICAgIHBnX2dldF9jb25z dHJhaW50ZGVmICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorIFVOSVFVRSAoaWQxLCBpZDIsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxB UFMpCisoMSByb3cpCisKK1NFTEVDVCBwZ19nZXRfaW5kZXhkZWYoY29uaW5kaWQsIDAsIHRydWUp IEZST00gcGdfY29uc3RyYWludCBXSEVSRSBjb25uYW1lID0gJ3RlbXBvcmFsX3BlcjNfdXEnOwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGdfZ2V0X2luZGV4ZGVmICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyBDUkVBVEUgVU5JUVVFIElOREVYIHRlbXBvcmFsX3BlcjNfdXEgT04gdGVtcG9yYWxf cGVyMyBVU0lORyBnaXN0IChpZDEsIGlkMiwgdmFsaWRfYXQpCisoMSByb3cpCisKK0RST1AgVEFC TEUgdGVtcG9yYWxfcGVyMzsKIC0tIFVOSVFVRSB3aXRoIGEgY3VzdG9tIHJhbmdlIHR5cGU6CiBD UkVBVEUgVFlQRSB0ZXh0cmFuZ2UyIEFTIHJhbmdlIChzdWJ0eXBlPXRleHQsIGNvbGxhdGlvbj0i QyIpOwogQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3JuZzMgKApAQCAtMzc3LDYgKzUxOSwxMDYgQEAg QUxURVIgVEFCTEUgdGVtcG9yYWwzCiAgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsM191cQogICBV TklRVUUgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsKIERST1AgVEFCTEUgdGVtcG9y YWwzOworLS0gUFJJTUFSWSBLRVkgd2l0aCBQRVJJT0QgYWxyZWFkeSB0aGVyZQorQ1JFQVRFIFRB QkxFIHRlbXBvcmFsMyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2 YWxpZF90aWwgZGF0ZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRf dGlsKQorKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsMworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3Jh bDNfcGsKKyAgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsKK1xk IHRlbXBvcmFsMworICAgICAgICAgICAgICAgIFRhYmxlICJwdWJsaWMudGVtcG9yYWwzIgorICAg Q29sdW1uICAgfCAgIFR5cGUgICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgCist LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0K KyBpZCAgICAgICAgIHwgaW50NHJhbmdlIHwgICAgICAgICAgIHwgbm90IG51bGwgfCAKKyB2YWxp ZF9mcm9tIHwgZGF0ZSAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyB2YWxpZF90aWwg IHwgZGF0ZSAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKK1BlcmlvZHM6CisgICAgdmFs aWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkKK0luZGV4ZXM6CisgICAgInRlbXBvcmFsM19w ayIgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorQ2hlY2sgY29u c3RyYWludHM6CisgICAgInRlbXBvcmFsM192YWxpZF9hdF9jaGVjayIgQ0hFQ0sgKHZhbGlkX2Zy b20gPCB2YWxpZF90aWwpCisKK0RST1AgVEFCTEUgdGVtcG9yYWwzOworLS0gUFJJTUFSWSBLRVkg d2l0aCBQRVJJT0QgdG9vCitDUkVBVEUgVEFCTEUgdGVtcG9yYWwzICgKKyAgaWQgaW50NHJhbmdl LAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlCispOworQUxURVIgVEFCTEUg dGVtcG9yYWwzCisgIEFERCBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90 aWwpLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbDNfcGsKKyAgUFJJTUFSWSBLRVkgKGlkLCB2 YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsKK1xkIHRlbXBvcmFsMworICAgICAgICAgICAgICAg IFRhYmxlICJwdWJsaWMudGVtcG9yYWwzIgorICAgQ29sdW1uICAgfCAgIFR5cGUgICAgfCBDb2xs YXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgCistLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBpZCAgICAgICAgIHwgaW50NHJhbmdlIHwg ICAgICAgICAgIHwgbm90IG51bGwgfCAKKyB2YWxpZF9mcm9tIHwgZGF0ZSAgICAgIHwgICAgICAg ICAgIHwgICAgICAgICAgfCAKKyB2YWxpZF90aWwgIHwgZGF0ZSAgICAgIHwgICAgICAgICAgIHwg ICAgICAgICAgfCAKK1BlcmlvZHM6CisgICAgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkKK0luZGV4ZXM6CisgICAgInRlbXBvcmFsM19wayIgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9h dCBXSVRIT1VUIE9WRVJMQVBTKQorQ2hlY2sgY29uc3RyYWludHM6CisgICAgInRlbXBvcmFsM192 YWxpZF9hdF9jaGVjayIgQ0hFQ0sgKHZhbGlkX2Zyb20gPCB2YWxpZF90aWwpCisKK0RST1AgVEFC TEUgdGVtcG9yYWwzOworLS0gVU5JUVVFIHdpdGggUEVSSU9EIGFscmVhZHkgdGhlcmUKK0NSRUFU RSBUQUJMRSB0ZW1wb3JhbDMgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwK KyAgdmFsaWRfdGlsIGRhdGUsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbDMKKyAgQUREIENPTlNUUkFJTlQgdGVt cG9yYWwzX3VxCisgIFVOSVFVRSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpOworXGQg dGVtcG9yYWwzCisgICAgICAgICAgICAgICAgVGFibGUgInB1YmxpYy50ZW1wb3JhbDMiCisgICBD b2x1bW4gICB8ICAgVHlwZSAgICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdCAKKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLQor IGlkICAgICAgICAgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorIHZhbGlk X2Zyb20gfCBkYXRlICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorIHZhbGlkX3RpbCAg fCBkYXRlICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorUGVyaW9kczoKKyAgICB2YWxp ZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKQorSW5kZXhlczoKKyAgICAidGVtcG9yYWwzX3Vx IiBVTklRVUUgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorQ2hlY2sgY29uc3RyYWlu dHM6CisgICAgInRlbXBvcmFsM192YWxpZF9hdF9jaGVjayIgQ0hFQ0sgKHZhbGlkX2Zyb20gPCB2 YWxpZF90aWwpCisKK0RST1AgVEFCTEUgdGVtcG9yYWwzOworLS0gVU5JUVVFIHdpdGggUEVSSU9E IHRvbworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsMyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRf ZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZQorKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsMwor ICBBREQgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQURE IENPTlNUUkFJTlQgdGVtcG9yYWwzX3VxCisgIFVOSVFVRSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQg T1ZFUkxBUFMpOworXGQgdGVtcG9yYWwzCisgICAgICAgICAgICAgICAgVGFibGUgInB1YmxpYy50 ZW1wb3JhbDMiCisgICBDb2x1bW4gICB8ICAgVHlwZSAgICB8IENvbGxhdGlvbiB8IE51bGxhYmxl IHwgRGVmYXVsdCAKKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0t LS0tKy0tLS0tLS0tLQorIGlkICAgICAgICAgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCAgICAg ICAgICB8IAorIHZhbGlkX2Zyb20gfCBkYXRlICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8 IAorIHZhbGlkX3RpbCAgfCBkYXRlICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorUGVy aW9kczoKKyAgICB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKQorSW5kZXhlczoKKyAg ICAidGVtcG9yYWwzX3VxIiBVTklRVUUgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQor Q2hlY2sgY29uc3RyYWludHM6CisgICAgInRlbXBvcmFsM192YWxpZF9hdF9jaGVjayIgQ0hFQ0sg KHZhbGlkX2Zyb20gPCB2YWxpZF90aWwpCisKK0RST1AgVEFCTEUgdGVtcG9yYWwzOwogLS0KIC0t IHJhbmdlIFBLOiB0ZXN0IHdpdGggZXhpc3Rpbmcgcm93cwogLS0KQEAgLTg3NCw2ICsxMTE2LDI4 NCBAQCBTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX21sdHJuZzMgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OwogCiBEUk9QIFRBQkxFIHRlbXBvcmFsX21sdHJuZzM7CiAtLQorLS0gUEVSSU9EIFBLOiB0ZXN0 IHdpdGggZXhpc3Rpbmcgcm93cworLS0KK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BlciBEUk9QIENP TlNUUkFJTlQgdGVtcG9yYWxfcGVyX3BrOworLS0gb2theToKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0w MS0wMicsICcyMDE4LTAyLTAzJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDMtMDMnLCAnMjAxOC0w NC0wNCcpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsKSBWQUxVRVMgKCdbMiwzKScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDEtMDUnKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgn WzMsNCknLCAnMjAxOC0wMS0wMScsIE5VTEwpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyIEFE RCBDT05TVFJBSU5UIHRlbXBvcmFsX3Blcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJ VEhPVVQgT1ZFUkxBUFMpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyIERST1AgQ09OU1RSQUlO VCB0ZW1wb3JhbF9wZXJfcGs7CistLSBzaG91bGQgZmFpbDoKK0JFR0lOOworICBJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIp JywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMS0wNScpOworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9w ZXIgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRf YXQgV0lUSE9VVCBPVkVSTEFQUyk7CitFUlJPUjogIGNvdWxkIG5vdCBjcmVhdGUgZXhjbHVzaW9u IGNvbnN0cmFpbnQgInRlbXBvcmFsX3Blcl9wayIKK0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0 KT0oWzEsMiksIFsyMDE4LTAxLTAyLDIwMTgtMDItMDMpKSBjb25mbGljdHMgd2l0aCBrZXkgKGlk LCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMS0wMSwyMDE4LTAxLTA1KSkuCitST0xMQkFDSzsK Ky0tIHJlamVjdHMgZW1wdHk6CitCRUdJTjsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyIERS T1AgUEVSSU9EIEZPUiB2YWxpZF9hdDsKKyAgSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMyw0KScsICcyMDIwLTAxLTAxJywgJzIw MjAtMDEtMDEnKTsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyIEFERCBQRVJJT0QgRk9SIHZh bGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpOworRVJST1I6ICBjaGVjayBjb25zdHJhaW50 ICJ0ZW1wb3JhbF9wZXJfdmFsaWRfYXRfY2hlY2siIG9mIHJlbGF0aW9uICJ0ZW1wb3JhbF9wZXIi IGlzIHZpb2xhdGVkIGJ5IHNvbWUgcm93CitST0xMQkFDSzsKK0FMVEVSIFRBQkxFIHRlbXBvcmFs X3BlciBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxp ZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjsKKy0tCist LSBQRVJJT0QgUEs6IHRlc3QgaW5zZXJ0cworLS0KKy0tIG9rYXk6CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIw MTgtMDEtMDInLCAnMjAxOC0wMi0wMycpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4LTAzLTAzJywgJzIw MTgtMDQtMDQnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkgVkFMVUVTICgnWzIsMyknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAxLTA1Jyk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVF UyAoJ1szLDQpJywgJzIwMTgtMDEtMDEnLCBOVUxMKTsKKy0tIHNob3VsZCBmYWlsOgorSU5TRVJU IElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdb MSwyKScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDEtMDUnKTsKK0VSUk9SOiAgY29uZmxpY3Rpbmcg a2V5IHZhbHVlIHZpb2xhdGVzIGV4Y2x1c2lvbiBjb25zdHJhaW50ICJ0ZW1wb3JhbF9wZXJfcGsi CitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMS0wMSwyMDE4LTAx LTA1KSkgY29uZmxpY3RzIHdpdGggZXhpc3Rpbmcga2V5IChpZCwgdmFsaWRfYXQpPShbMSwyKSwg WzIwMTgtMDEtMDIsMjAxOC0wMi0wMykpLgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKE5VTEwsICcyMDE4LTAxLTAxJywgJzIwMTgt MDEtMDUnKTsKK0VSUk9SOiAgbnVsbCB2YWx1ZSBpbiBjb2x1bW4gImlkIiBvZiByZWxhdGlvbiAi dGVtcG9yYWxfcGVyIiB2aW9sYXRlcyBub3QtbnVsbCBjb25zdHJhaW50CitERVRBSUw6ICBGYWls aW5nIHJvdyBjb250YWlucyAobnVsbCwgMjAxOC0wMS0wMSwgMjAxOC0wMS0wNSwgWzIwMTgtMDEt MDEsMjAxOC0wMS0wNSkpLgorLS0gcmVqZWN0cyBlbXB0eToKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzMsNCknLCAnMjAyMC0w MS0wMScsICcyMDIwLTAxLTAxJyk7CitFUlJPUjogIG5ldyByb3cgZm9yIHJlbGF0aW9uICJ0ZW1w b3JhbF9wZXIiIHZpb2xhdGVzIGNoZWNrIGNvbnN0cmFpbnQgInRlbXBvcmFsX3Blcl92YWxpZF9h dF9jaGVjayIKK0RFVEFJTDogIEZhaWxpbmcgcm93IGNvbnRhaW5zIChbMyw0KSwgMjAyMC0wMS0w MSwgMjAyMC0wMS0wMSwgZW1wdHkpLgorU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgCistLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMSwyKSB8IDIwMTgtMDEtMDIgfCAyMDE4 LTAyLTAzCisgWzEsMikgfCAyMDE4LTAzLTAzIHwgMjAxOC0wNC0wNAorIFsyLDMpIHwgMjAxOC0w MS0wMSB8IDIwMTgtMDEtMDUKKyBbMyw0KSB8IDIwMTgtMDEtMDEgfCAKKyg0IHJvd3MpCisKKy0t CistLSBQRVJJT0QgUEs6IHRlc3QgdXBkYXRlcworLS0KKy0tIHVwZGF0ZSB0aGUgc2NhbGFyIHBh cnQKK1VQREFURSAgdGVtcG9yYWxfcGVyCitTRVQgICAgIGlkID0gJ1sxMSwxMiknCitXSEVSRSAg IGlkID0gJ1sxLDIpJworQU5EICAgICB2YWxpZF9hdCBAPiAnMjAxOC0wMS0xNSc6OmRhdGU7Cist LSB1cGRhdGUgdGhlIFBFUklPRCBib3VuZHMKK1VQREFURSAgdGVtcG9yYWxfcGVyCitTRVQgICAg IHZhbGlkX2Zyb20gPSAnMjAyMC0wMS0wMScsCisgICAgICAgIHZhbGlkX3RpbCA9ICcyMDIxLTAx LTAxJworV0hFUkUgICBpZCA9ICdbMTEsMTIpJworQU5EICAgICB2YWxpZF9hdCBAPiAnMjAxOC0w MS0xNSc6OmRhdGU7CistLSB1cGRhdGUgYm90aCBhdCBvbmNlCitVUERBVEUgIHRlbXBvcmFsX3Bl cgorU0VUICAgICBpZCA9ICdbMjEsMjIpJywKKyAgICAgICAgdmFsaWRfZnJvbSA9ICcyMDE4LTAx LTAyJywKKyAgICAgICAgdmFsaWRfdGlsID0gJzIwMTgtMDItMDMnCitXSEVSRSAgIGlkID0gJ1sx MSwxMiknCitBTkQgICAgIHZhbGlkX2F0IEA+ICcyMDIwLTAxLTE1Jzo6ZGF0ZTsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfcGVyIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgIGlkICAgIHwgdmFs aWRfZnJvbSB8IHZhbGlkX3RpbCAgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LQorIFsxLDIpICAgfCAyMDE4LTAzLTAzIHwgMjAxOC0wNC0wNAorIFsyLDMpICAgfCAyMDE4LTAx LTAxIHwgMjAxOC0wMS0wNQorIFszLDQpICAgfCAyMDE4LTAxLTAxIHwgCisgWzIxLDIyKSB8IDIw MTgtMDEtMDIgfCAyMDE4LTAyLTAzCisoNCByb3dzKQorCistLSBzaG91bGQgZmFpbDoKK1VQREFU RSAgdGVtcG9yYWxfcGVyCitTRVQgICAgIGlkID0gJ1sxLDIpJywKKyAgICAgICAgdmFsaWRfZnJv bSA9ICcyMDE4LTAzLTA1JywKKyAgICAgICAgdmFsaWRfdGlsID0gJzIwMTgtMDUtMDUnCitXSEVS RSAgIGlkID0gJ1syMSwyMiknOworRVJST1I6ICBjb25mbGljdGluZyBrZXkgdmFsdWUgdmlvbGF0 ZXMgZXhjbHVzaW9uIGNvbnN0cmFpbnQgInRlbXBvcmFsX3Blcl9wayIKK0RFVEFJTDogIEtleSAo aWQsIHZhbGlkX2F0KT0oWzEsMiksIFsyMDE4LTAzLTA1LDIwMTgtMDUtMDUpKSBjb25mbGljdHMg d2l0aCBleGlzdGluZyBrZXkgKGlkLCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMy0wMywyMDE4 LTA0LTA0KSkuCistLSBzZXQgdGhlIHNjYWxhciBwYXJ0IHRvIE5VTEwKK1VQREFURSAgdGVtcG9y YWxfcGVyCitTRVQgICAgIGlkID0gTlVMTCwKKyAgICAgICAgdmFsaWRfZnJvbSA9ICcyMDE4LTAz LTA1JywKKyAgICAgICAgdmFsaWRfdGlsID0gJzIwMTgtMDUtMDUnCitXSEVSRSAgIGlkID0gJ1sy MSwyMiknOworRVJST1I6ICBudWxsIHZhbHVlIGluIGNvbHVtbiAiaWQiIG9mIHJlbGF0aW9uICJ0 ZW1wb3JhbF9wZXIiIHZpb2xhdGVzIG5vdC1udWxsIGNvbnN0cmFpbnQKK0RFVEFJTDogIEZhaWxp bmcgcm93IGNvbnRhaW5zIChudWxsLCAyMDE4LTAzLTA1LCAyMDE4LTA1LTA1LCBbMjAxOC0wMy0w NSwyMDE4LTA1LTA1KSkuCistLSBzZXQgYSBQRVJJT0QgYm91bmQgdG8gTlVMTCAob2theSkKK1VQ REFURSAgdGVtcG9yYWxfcGVyCitTRVQgICAgIGlkID0gJ1sxLDIpJywKKyAgICAgICAgdmFsaWRf ZnJvbSA9ICcyMDE4LTA0LTA0JywKKyAgICAgICAgdmFsaWRfdGlsID0gTlVMTAorV0hFUkUgICBp ZCA9ICdbMjEsMjIpJzsKKy0tIHJlamVjdHMgZW1wdHk6CitVUERBVEUgIHRlbXBvcmFsX3Blcgor U0VUICAgICBpZCA9ICdbMjEsMjIpJywKKyAgICAgICAgdmFsaWRfZnJvbSA9ICcyMDIwLTAxLTAx JywKKyAgICAgICAgdmFsaWRfdGlsID0gJzIwMjAtMDEtMDEnCitXSEVSRSAgIGlkID0gJ1sxLDIp JzsKK0VSUk9SOiAgbmV3IHJvdyBmb3IgcmVsYXRpb24gInRlbXBvcmFsX3BlciIgdmlvbGF0ZXMg Y2hlY2sgY29uc3RyYWludCAidGVtcG9yYWxfcGVyX3ZhbGlkX2F0X2NoZWNrIgorREVUQUlMOiAg RmFpbGluZyByb3cgY29udGFpbnMgKFsyMSwyMiksIDIwMjAtMDEtMDEsIDIwMjAtMDEtMDEsIGVt cHR5KS4KK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK KyAgaWQgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tCisgWzEsMikgfCAyMDE4LTAzLTAzIHwgMjAxOC0wNC0wNAorIFsxLDIpIHwg MjAxOC0wNC0wNCB8IAorIFsyLDMpIHwgMjAxOC0wMS0wMSB8IDIwMTgtMDEtMDUKKyBbMyw0KSB8 IDIwMTgtMDEtMDEgfCAKKyg0IHJvd3MpCisKKy0tCistLSBQRVJJT0QgVVE6IHRlc3Qgd2l0aCBl eGlzdGluZyByb3dzCistLQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BlcjMgKAorICBpZCBpbnQ0 cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIFBFUklPRCBG T1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkKKyk7CistLSBva2F5OgorSU5TRVJU IElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgn WzEsMiknLCAnMjAxOC0wMS0wMicsICcyMDE4LTAyLTAzJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4 LTAzLTAzJywgJzIwMTgtMDQtMDQnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1syLDMpJywgJzIwMTgtMDEtMDEnLCAnMjAx OC0wMS0wNScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkgVkFMVUVTICgnWzMsNCknLCAnMjAxOC0wMS0wMScsIE5VTEwpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTIChOVUxM LCAnMjAxOC0wMS0wMScsICcyMDE4LTAxLTA1Jyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wZXIz IEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX3BlcjNfdXEgVU5JUVVFIChpZCwgdmFsaWRfYXQgV0lU SE9VVCBPVkVSTEFQUyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wZXIzIERST1AgQ09OU1RSQUlO VCB0ZW1wb3JhbF9wZXIzX3VxOworLS0gc2hvdWxkIGZhaWw6CitCRUdJTjsKKyAgSU5TRVJUIElO VE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEs MiknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAxLTA1Jyk7CisgIEFMVEVSIFRBQkxFIHRlbXBvcmFs X3BlcjMgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyM191cSBVTklRVUUgKGlkLCB2YWxpZF9h dCBXSVRIT1VUIE9WRVJMQVBTKTsKK0VSUk9SOiAgY291bGQgbm90IGNyZWF0ZSBleGNsdXNpb24g Y29uc3RyYWludCAidGVtcG9yYWxfcGVyM191cSIKK0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0 KT0oWzEsMiksIFsyMDE4LTAxLTAyLDIwMTgtMDItMDMpKSBjb25mbGljdHMgd2l0aCBrZXkgKGlk LCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMS0wMSwyMDE4LTAxLTA1KSkuCitST0xMQkFDSzsK Ky0tIHJlamVjdHMgZW1wdHk6CitCRUdJTjsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyMyBE Uk9QIFBFUklPRCBGT1IgdmFsaWRfYXQ7CisgIElOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1szLDQpJywgJzIwMjAtMDEtMDEnLCAn MjAyMC0wMS0wMScpOworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wZXIzIEFERCBQRVJJT0QgRk9S IHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpOworRVJST1I6ICBjaGVjayBjb25zdHJh aW50ICJ0ZW1wb3JhbF9wZXIzX3ZhbGlkX2F0X2NoZWNrIiBvZiByZWxhdGlvbiAidGVtcG9yYWxf cGVyMyIgaXMgdmlvbGF0ZWQgYnkgc29tZSByb3cKK1JPTExCQUNLOworQUxURVIgVEFCTEUgdGVt cG9yYWxfcGVyMyBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXIzX3VxIFVOSVFVRSAoaWQsIHZh bGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMzsKKy0t CistLSBQRVJJT0QgVVE6IHRlc3QgaW5zZXJ0cworLS0KKy0tIG9rYXk6CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScs ICcyMDE4LTAxLTAyJywgJzIwMTgtMDItMDMnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMg KGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDMtMDMn LCAnMjAxOC0wNC0wNCcpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzIsMyknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAxLTA1 Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGls KSBWQUxVRVMgKCdbMyw0KScsICcyMDE4LTAxLTAxJywgTlVMTCk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKE5VTEwsICcyMDE4 LTAxLTAxJywgJzIwMTgtMDEtMDUnKTsKKy0tIHNob3VsZCBmYWlsOgorSU5TRVJUIElOVE8gdGVt cG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAn MjAxOC0wMS0wMScsICcyMDE4LTAxLTA1Jyk7CitFUlJPUjogIGNvbmZsaWN0aW5nIGtleSB2YWx1 ZSB2aW9sYXRlcyBleGNsdXNpb24gY29uc3RyYWludCAidGVtcG9yYWxfcGVyM191cSIKK0RFVEFJ TDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzEsMiksIFsyMDE4LTAxLTAxLDIwMTgtMDEtMDUpKSBj b25mbGljdHMgd2l0aCBleGlzdGluZyBrZXkgKGlkLCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0w MS0wMiwyMDE4LTAyLTAzKSkuCistLSByZWplY3RzIGVtcHR5OgorSU5TRVJUIElOVE8gdGVtcG9y YWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzMsNCknLCAnMjAy MC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitFUlJPUjogIG5ldyByb3cgZm9yIHJlbGF0aW9uICJ0 ZW1wb3JhbF9wZXIzIiB2aW9sYXRlcyBjaGVjayBjb25zdHJhaW50ICJ0ZW1wb3JhbF9wZXIzX3Zh bGlkX2F0X2NoZWNrIgorREVUQUlMOiAgRmFpbGluZyByb3cgY29udGFpbnMgKFszLDQpLCAyMDIw LTAxLTAxLCAyMDIwLTAxLTAxLCBlbXB0eSkuCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlcjMg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAg CistLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMSwyKSB8IDIwMTgtMDEtMDIg fCAyMDE4LTAyLTAzCisgWzEsMikgfCAyMDE4LTAzLTAzIHwgMjAxOC0wNC0wNAorIFsyLDMpIHwg MjAxOC0wMS0wMSB8IDIwMTgtMDEtMDUKKyBbMyw0KSB8IDIwMTgtMDEtMDEgfCAKKyAgICAgICB8 IDIwMTgtMDEtMDEgfCAyMDE4LTAxLTA1CisoNSByb3dzKQorCistLQorLS0gUEVSSU9EIFVROiB0 ZXN0IHVwZGF0ZXMKKy0tCistLSB1cGRhdGUgdGhlIHNjYWxhciBwYXJ0CitVUERBVEUgIHRlbXBv cmFsX3BlcjMKK1NFVCAgICAgaWQgPSAnWzExLDEyKScKK1dIRVJFICAgaWQgPSAnWzEsMiknCitB TkQgICAgIHZhbGlkX2F0IEA+ICcyMDE4LTAxLTE1Jzo6ZGF0ZTsKKy0tIHVwZGF0ZSB0aGUgUEVS SU9EIGJvdW5kcworVVBEQVRFICB0ZW1wb3JhbF9wZXIzCitTRVQgICAgIHZhbGlkX2Zyb20gPSAn MjAyMC0wMS0wMScsCisgICAgICAgIHZhbGlkX3RpbCA9ICcyMDIxLTAxLTAxJworV0hFUkUgICBp ZCA9ICdbMTEsMTIpJworQU5EICAgICB2YWxpZF9hdCBAPiAnMjAxOC0wMS0xNSc6OmRhdGU7Cist LSB1cGRhdGUgYm90aCBhdCBvbmNlCitVUERBVEUgIHRlbXBvcmFsX3BlcjMKK1NFVCAgICAgaWQg PSAnWzIxLDIyKScsCisgICAgICAgIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMicsCisgICAgICAg IHZhbGlkX3RpbCA9ICcyMDE4LTAyLTAzJworV0hFUkUgICBpZCA9ICdbMTEsMTIpJworQU5EICAg ICB2YWxpZF9hdCBAPiAnMjAyMC0wMS0xNSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X3BlcjMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgaWQgICAgfCB2YWxpZF9mcm9tIHwgdmFs aWRfdGlsICAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEsMikgICB8 IDIwMTgtMDMtMDMgfCAyMDE4LTA0LTA0CisgWzIsMykgICB8IDIwMTgtMDEtMDEgfCAyMDE4LTAx LTA1CisgWzMsNCkgICB8IDIwMTgtMDEtMDEgfCAKKyBbMjEsMjIpIHwgMjAxOC0wMS0wMiB8IDIw MTgtMDItMDMKKyAgICAgICAgIHwgMjAxOC0wMS0wMSB8IDIwMTgtMDEtMDUKKyg1IHJvd3MpCisK Ky0tIHNob3VsZCBmYWlsOgorVVBEQVRFICB0ZW1wb3JhbF9wZXIzCitTRVQgICAgIGlkID0gJ1sx LDIpJywKKyAgICAgICAgdmFsaWRfZnJvbSA9ICcyMDE4LTAzLTA1JywKKyAgICAgICAgdmFsaWRf dGlsID0gJzIwMTgtMDUtMDUnCitXSEVSRSAgIGlkID0gJ1syMSwyMiknOworRVJST1I6ICBjb25m bGljdGluZyBrZXkgdmFsdWUgdmlvbGF0ZXMgZXhjbHVzaW9uIGNvbnN0cmFpbnQgInRlbXBvcmFs X3BlcjNfdXEiCitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMy0w NSwyMDE4LTA1LTA1KSkgY29uZmxpY3RzIHdpdGggZXhpc3Rpbmcga2V5IChpZCwgdmFsaWRfYXQp PShbMSwyKSwgWzIwMTgtMDMtMDMsMjAxOC0wNC0wNCkpLgorLS0gc2V0IHRoZSBzY2FsYXIgcGFy dCB0byBOVUxMIChva2F5KQorVVBEQVRFICB0ZW1wb3JhbF9wZXIzCitTRVQgICAgIGlkID0gTlVM TCwKKyAgICAgICAgdmFsaWRfZnJvbSA9ICcyMDIwLTAxLTAxJywKKyAgICAgICAgdmFsaWRfdGls ID0gJzIwMjEtMDEtMDEnCitXSEVSRSAgIGlkID0gJ1syMSwyMiknOworLS0gc2V0IGEgUEVSSU9E IGJvdW5kIHRvIE5VTEwgKG9rYXkpCitVUERBVEUgIHRlbXBvcmFsX3BlcjMKK1NFVCAgICAgaWQg PSAnWzEsMiknLAorICAgICAgICB2YWxpZF9mcm9tID0gJzIwMTgtMDQtMDQnLAorICAgICAgICB2 YWxpZF90aWwgPSBOVUxMCitXSEVSRSAgIGlkIElTIE5VTEwgQU5EIHZhbGlkX2F0IEA+ICcyMDIw LTA2LTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyMyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CisgIGlkICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICAKKy0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxLDIpIHwgMjAxOC0wMy0wMyB8IDIwMTgtMDQtMDQK KyBbMSwyKSB8IDIwMTgtMDQtMDQgfCAKKyBbMiwzKSB8IDIwMTgtMDEtMDEgfCAyMDE4LTAxLTA1 CisgWzMsNCkgfCAyMDE4LTAxLTAxIHwgCisgICAgICAgfCAyMDE4LTAxLTAxIHwgMjAxOC0wMS0w NQorKDUgcm93cykKKworLS0gc2hvdWxkIGZhaWw6CitVUERBVEUgIHRlbXBvcmFsX3BlcjMKK1NF VCAgICAgdmFsaWRfZnJvbSA9ICcyMDE4LTAzLTAxJywKKyAgICAgICAgdmFsaWRfdGlsID0gJzIw MTgtMDUtMDUnCitXSEVSRSAgIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfdGlsIElTIE5VTEw7CitF UlJPUjogIGNvbmZsaWN0aW5nIGtleSB2YWx1ZSB2aW9sYXRlcyBleGNsdXNpb24gY29uc3RyYWlu dCAidGVtcG9yYWxfcGVyM191cSIKK0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzEsMiks IFsyMDE4LTAzLTAxLDIwMTgtMDUtMDUpKSBjb25mbGljdHMgd2l0aCBleGlzdGluZyBrZXkgKGlk LCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMy0wMywyMDE4LTA0LTA0KSkuCistLSByZWplY3Rz IGVtcHR5OgorVVBEQVRFICB0ZW1wb3JhbF9wZXIzCitTRVQgICAgIHZhbGlkX2Zyb20gPSAnMjAy MC0wMS0wMScsCisgICAgICAgIHZhbGlkX3RpbCA9ICcyMDIwLTAxLTAxJworV0hFUkUgICBpZCA9 ICdbMSwyKScgQU5EIHZhbGlkX3RpbCBJUyBOVUxMOworRVJST1I6ICBuZXcgcm93IGZvciByZWxh dGlvbiAidGVtcG9yYWxfcGVyMyIgdmlvbGF0ZXMgY2hlY2sgY29uc3RyYWludCAidGVtcG9yYWxf cGVyM192YWxpZF9hdF9jaGVjayIKK0RFVEFJTDogIEZhaWxpbmcgcm93IGNvbnRhaW5zIChbMSwy KSwgMjAyMC0wMS0wMSwgMjAyMC0wMS0wMSwgZW1wdHkpLgorLS0gc3RpbGwgcmVqZWN0cyBlbXB0 eSB3aGVuIHNjYWxhciBwYXJ0IGlzIE5VTEw6CitVUERBVEUgIHRlbXBvcmFsX3BlcjMKK1NFVCAg ICAgaWQgPSBOVUxMLAorICAgICAgICB2YWxpZF9mcm9tID0gJzIwMjAtMDEtMDEnLAorICAgICAg ICB2YWxpZF90aWwgPSAnMjAyMC0wMS0wMScKK1dIRVJFICAgaWQgPSAnWzEsMiknIEFORCB2YWxp ZF90aWwgSVMgTlVMTDsKK0VSUk9SOiAgbmV3IHJvdyBmb3IgcmVsYXRpb24gInRlbXBvcmFsX3Bl cjMiIHZpb2xhdGVzIGNoZWNrIGNvbnN0cmFpbnQgInRlbXBvcmFsX3BlcjNfdmFsaWRfYXRfY2hl Y2siCitERVRBSUw6ICBGYWlsaW5nIHJvdyBjb250YWlucyAobnVsbCwgMjAyMC0wMS0wMSwgMjAy MC0wMS0wMSwgZW1wdHkpLgorU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIzIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKKyAgaWQgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIAorLS0tLS0tLSst LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEsMikgfCAyMDE4LTAzLTAzIHwgMjAxOC0wNC0w NAorIFsxLDIpIHwgMjAxOC0wNC0wNCB8IAorIFsyLDMpIHwgMjAxOC0wMS0wMSB8IDIwMTgtMDEt MDUKKyBbMyw0KSB8IDIwMTgtMDEtMDEgfCAKKyAgICAgICB8IDIwMTgtMDEtMDEgfCAyMDE4LTAx LTA1CisoNSByb3dzKQorCitEUk9QIFRBQkxFIHRlbXBvcmFsX3BlcjM7CistLQogLS0gdGVzdCBh IHJhbmdlIHdpdGggYm90aCBhIFBLIGFuZCBhIFVOSVFVRSBjb25zdHJhaW50CiAtLQogQ1JFQVRF IFRBQkxFIHRlbXBvcmFsMyAoCkBAIC05MzMsNiArMTQ1Myw5MSBAQCBFUlJPUjogIGNvbHVtbiAi dmFsaWRfYXQiIGlzIGluIGEgcHJpbWFyeSBrZXkKIEFMVEVSIFRBQkxFIHRlbXBvcmFsMyBBTFRF UiBDT0xVTU4gdmFsaWRfYXQgVFlQRSB0c3R6cmFuZ2UgVVNJTkcgdHN0enJhbmdlKGxvd2VyKHZh bGlkX2F0KSwgdXBwZXIodmFsaWRfYXQpKTsKIEFMVEVSIFRBQkxFIHRlbXBvcmFsMyBSRU5BTUUg Q09MVU1OIHZhbGlkX2F0IFRPIHZhbGlkX3RocnU7CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbDMgRFJP UCBDT0xVTU4gdmFsaWRfdGhydTsKK1xkIHRlbXBvcmFsMworICAgICAgICAgICAgICBUYWJsZSAi cHVibGljLnRlbXBvcmFsMyIKKyBDb2x1bW4gfCAgIFR5cGUgICAgfCBDb2xsYXRpb24gfCBOdWxs YWJsZSB8IERlZmF1bHQgCistLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0t LS0tKy0tLS0tLS0tLQorIGlkICAgICB8IGludDRyYW5nZSB8ICAgICAgICAgICB8IG5vdCBudWxs IHwgCisKK0RST1AgVEFCTEUgdGVtcG9yYWwzOworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsMyAoCisg IGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAg UEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlO VCB0ZW1wb3JhbDNfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBT KQorKTsKK1xkIHRlbXBvcmFsMworICAgICAgICAgICAgICAgIFRhYmxlICJwdWJsaWMudGVtcG9y YWwzIgorICAgQ29sdW1uICAgfCAgIFR5cGUgICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERl ZmF1bHQgCistLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSst LS0tLS0tLS0KKyBpZCAgICAgICAgIHwgaW50NHJhbmdlIHwgICAgICAgICAgIHwgbm90IG51bGwg fCAKKyB2YWxpZF9mcm9tIHwgZGF0ZSAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyB2 YWxpZF90aWwgIHwgZGF0ZSAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKK1BlcmlvZHM6 CisgICAgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkKK0luZGV4ZXM6CisgICAgInRl bXBvcmFsM19wayIgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQor Q2hlY2sgY29uc3RyYWludHM6CisgICAgInRlbXBvcmFsM192YWxpZF9hdF9jaGVjayIgQ0hFQ0sg KHZhbGlkX2Zyb20gPCB2YWxpZF90aWwpCisKK1NFTEVDVCBhdHRub3RudWxsIEZST00gcGdfYXR0 cmlidXRlIFdIRVJFIGF0dHJlbGlkID0gJ3RlbXBvcmFsMyc6OnJlZ2NsYXNzIEFORCBhdHRuYW1l ID0gJ3ZhbGlkX2F0JzsKKyBhdHRub3RudWxsIAorLS0tLS0tLS0tLS0tCisgdAorKDEgcm93KQor CitBTFRFUiBUQUJMRSB0ZW1wb3JhbDMgQUxURVIgQ09MVU1OIHZhbGlkX2F0IERST1AgTk9UIE5V TEw7CitFUlJPUjogIGNvbHVtbiAidmFsaWRfYXQiIGlzIGluIGEgcHJpbWFyeSBrZXkKK0FMVEVS IFRBQkxFIHRlbXBvcmFsMyBBTFRFUiBDT0xVTU4gdmFsaWRfYXQgVFlQRSB0c3R6cmFuZ2UgVVNJ TkcgdHN0enJhbmdlKGxvd2VyKHZhbGlkX2F0KSwgdXBwZXIodmFsaWRfYXQpKTsKK0VSUk9SOiAg Y2Fubm90IHNwZWNpZnkgVVNJTkcgd2hlbiBhbHRlcmluZyB0eXBlIG9mIGdlbmVyYXRlZCBjb2x1 bW4KK0xJTkUgMTogQUxURVIgVEFCTEUgdGVtcG9yYWwzIEFMVEVSIENPTFVNTiB2YWxpZF9hdCBU WVBFIHRzdHpyYW5nZSBVLi4uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgorREVUQUlMOiAgQ29sdW1uICJ2YWxpZF9hdCIgaXMgYSBnZW5lcmF0ZWQgY29sdW1u LgorQUxURVIgVEFCTEUgdGVtcG9yYWwzIERST1AgQ09MVU1OIHZhbGlkX2F0OworRVJST1I6ICBj YW5ub3QgZHJvcCBjb2x1bW4gdmFsaWRfYXQgb2YgdGFibGUgdGVtcG9yYWwzIGJlY2F1c2UgcGVy aW9kIHZhbGlkX2F0IG9uIHRhYmxlIHRlbXBvcmFsMyByZXF1aXJlcyBpdAorSElOVDogIFlvdSBj YW4gZHJvcCBwZXJpb2QgdmFsaWRfYXQgb24gdGFibGUgdGVtcG9yYWwzIGluc3RlYWQuCitBTFRF UiBUQUJMRSB0ZW1wb3JhbDMgRFJPUCBQRVJJT0QgRk9SIHZhbGlkX2F0OworXGQgdGVtcG9yYWwz CisgICAgICAgICAgICAgICAgVGFibGUgInB1YmxpYy50ZW1wb3JhbDMiCisgICBDb2x1bW4gICB8 ICAgVHlwZSAgICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdCAKKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLQorIGlkICAgICAg ICAgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCBub3QgbnVsbCB8IAorIHZhbGlkX2Zyb20gfCBk YXRlICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorIHZhbGlkX3RpbCAgfCBkYXRlICAg ICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorCitEUk9QIFRBQkxFIHRlbXBvcmFsMzsKKy0t IFNhbWUgcmVzdWx0cyBpZiB3ZSBhZGQgdGhlIFBFUklPRCBhbmQgUEsgZnJvbSBBTFRFUiBUQUJM RToKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbDMgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zy b20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbDMKKyAg QUREIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIEFERCBD T05TVFJBSU5UIHRlbXBvcmFsM19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQg T1ZFUkxBUFMpOworXGQgdGVtcG9yYWwzCisgICAgICAgICAgICAgICAgVGFibGUgInB1YmxpYy50 ZW1wb3JhbDMiCisgICBDb2x1bW4gICB8ICAgVHlwZSAgICB8IENvbGxhdGlvbiB8IE51bGxhYmxl IHwgRGVmYXVsdCAKKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0t LS0tKy0tLS0tLS0tLQorIGlkICAgICAgICAgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCBub3Qg bnVsbCB8IAorIHZhbGlkX2Zyb20gfCBkYXRlICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8 IAorIHZhbGlkX3RpbCAgfCBkYXRlICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorUGVy aW9kczoKKyAgICB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKQorSW5kZXhlczoKKyAg ICAidGVtcG9yYWwzX3BrIiBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxB UFMpCitDaGVjayBjb25zdHJhaW50czoKKyAgICAidGVtcG9yYWwzX3ZhbGlkX2F0X2NoZWNrIiBD SEVDSyAodmFsaWRfZnJvbSA8IHZhbGlkX3RpbCkKKworU0VMRUNUIGF0dG5vdG51bGwgRlJPTSBw Z19hdHRyaWJ1dGUgV0hFUkUgYXR0cmVsaWQgPSAndGVtcG9yYWwzJzo6cmVnY2xhc3MgQU5EIGF0 dG5hbWUgPSAndmFsaWRfYXQnOworIGF0dG5vdG51bGwgCistLS0tLS0tLS0tLS0KKyB0CisoMSBy b3cpCisKK0FMVEVSIFRBQkxFIHRlbXBvcmFsMyBBTFRFUiBDT0xVTU4gdmFsaWRfYXQgRFJPUCBO T1QgTlVMTDsKK0VSUk9SOiAgY29sdW1uICJ2YWxpZF9hdCIgaXMgaW4gYSBwcmltYXJ5IGtleQog RFJPUCBUQUJMRSB0ZW1wb3JhbDM7CiAtLQogLS0gdGVzdCBQQVJUSVRJT04gQlkgZm9yIHJhbmdl cwpAQCAtMTQxNCwzMiArMjAxOSwyMzYgQEAgU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9tbHRybmcz IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKIAogRFJPUCBUQUJMRSB0ZW1wb3JhbF9tbHRybmczOwog LS0KLS0tIHRlc3QgRksgZGVwZW5kZW5jaWVzCi0tLQotLS0gY2FuJ3QgZHJvcCBhIHJhbmdlIHJl ZmVyZW5jZWQgYnkgYW4gRkssIHVubGVzcyB3aXRoIENBU0NBREUKLUNSRUFURSBUQUJMRSB0ZW1w b3JhbDMgKAotICBpZCBpbnQ0cmFuZ2UsCi0gIHZhbGlkX2F0IGRhdGVyYW5nZSwKLSAgQ09OU1RS QUlOVCB0ZW1wb3JhbDNfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJM QVBTKQotKTsKLUNSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycm5nICgKLSAgaWQgaW50NHJh bmdlLAotICB2YWxpZF9hdCBkYXRlcmFuZ2UsCi0gIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCi0gIENP TlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnJuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0 IFdJVEhPVVQgT1ZFUkxBUFMpLAotICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJybmdfZmsg Rk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQotICAgIFJFRkVSRU5DRVMg dGVtcG9yYWwzIChpZCwgUEVSSU9EIHZhbGlkX2F0KQotKTsKLUFMVEVSIFRBQkxFIHRlbXBvcmFs MyBEUk9QIENPTFVNTiB2YWxpZF9hdDsKLUVSUk9SOiAgY2Fubm90IGRyb3AgY29sdW1uIHZhbGlk X2F0IG9mIHRhYmxlIHRlbXBvcmFsMyBiZWNhdXNlIG90aGVyIG9iamVjdHMgZGVwZW5kIG9uIGl0 Ci1ERVRBSUw6ICBjb25zdHJhaW50IHRlbXBvcmFsX2ZrX3JuZzJybmdfZmsgb24gdGFibGUgdGVt cG9yYWxfZmtfcm5nMnJuZyBkZXBlbmRzIG9uIGNvbHVtbiB2YWxpZF9hdCBvZiB0YWJsZSB0ZW1w b3JhbDMKLUhJTlQ6ICBVc2UgRFJPUCAuLi4gQ0FTQ0FERSB0byBkcm9wIHRoZSBkZXBlbmRlbnQg b2JqZWN0cyB0b28uCi1BTFRFUiBUQUJMRSB0ZW1wb3JhbDMgRFJPUCBDT0xVTU4gdmFsaWRfYXQg Q0FTQ0FERTsKLU5PVElDRTogIGRyb3AgY2FzY2FkZXMgdG8gY29uc3RyYWludCB0ZW1wb3JhbF9m a19ybmcycm5nX2ZrIG9uIHRhYmxlIHRlbXBvcmFsX2ZrX3JuZzJybmcKLURST1AgVEFCTEUgdGVt cG9yYWxfZmtfcm5nMnJuZzsKLURST1AgVEFCTEUgdGVtcG9yYWwzOworLS0gT04gQ09ORkxJQ1Q6 IFBFUklPRHMKIC0tCi0tLSB0ZXN0IEZPUkVJR04gS0VZLCByYW5nZSByZWZlcmVuY2VzIHJhbmdl CitUUlVOQ0FURSB0ZW1wb3JhbF9wZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDAtMDEtMDEnLCAnMjAx MC0wMS0wMScpOworLS0gd2l0aCBhIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIg KGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDUtMDEtMDEn LCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIERPIE5PVEhJTkc7CistLSBpZCBtYXRjaGVzIGJ1 dCBubyBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDEwLTAxLTAxJywgJzIwMjAtMDEtMDEnKSBP TiBDT05GTElDVCBETyBOT1RISU5HOworLS0gZGF0ZSBtYXRjaGVzIGJ1dCBubyBjb25mbGljdAor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxV RVMgKCdbMiwzKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCBETyBO T1RISU5HOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIgT1JERVIgQlkgaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbDsKKyAgaWQgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIAorLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEsMikgfCAyMDAwLTAxLTAxIHwgMjAxMC0w MS0wMQorIFsxLDIpIHwgMjAxMC0wMS0wMSB8IDIwMjAtMDEtMDEKKyBbMiwzKSB8IDIwMDUtMDEt MDEgfCAyMDA2LTAxLTAxCisoMyByb3dzKQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXI7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAo J1sxLDIpJywgJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpOworLS0gd2l0aCBhIGNvbmZsaWN0 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZB TFVFUyAoJ1sxLDIpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIChp ZCwgdmFsaWRfYXQpIERPIE5PVEhJTkc7CitFUlJPUjogIHRoZXJlIGlzIG5vIHVuaXF1ZSBvciBl eGNsdXNpb24gY29uc3RyYWludCBtYXRjaGluZyB0aGUgT04gQ09ORkxJQ1Qgc3BlY2lmaWNhdGlv bgorLS0gaWQgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bl ciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxMC0wMS0w MScsICcyMDIwLTAxLTAxJykgT04gQ09ORkxJQ1QgKGlkLCB2YWxpZF9hdCkgRE8gTk9USElORzsK K0VSUk9SOiAgdGhlcmUgaXMgbm8gdW5pcXVlIG9yIGV4Y2x1c2lvbiBjb25zdHJhaW50IG1hdGNo aW5nIHRoZSBPTiBDT05GTElDVCBzcGVjaWZpY2F0aW9uCistLSBkYXRlIG1hdGNoZXMgYnV0IG5v IGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1syLDMpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENP TkZMSUNUIChpZCwgdmFsaWRfYXQpIERPIE5PVEhJTkc7CitFUlJPUjogIHRoZXJlIGlzIG5vIHVu aXF1ZSBvciBleGNsdXNpb24gY29uc3RyYWludCBtYXRjaGluZyB0aGUgT04gQ09ORkxJQ1Qgc3Bl Y2lmaWNhdGlvbgorU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIgT1JERVIgQlkgaWQsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbDsKKyAgaWQgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIAorLS0t LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEsMikgfCAyMDAwLTAxLTAxIHwgMjAx MC0wMS0wMQorKDEgcm93KQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXI7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywg JzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpOworLS0gd2l0aCBhIGNvbmZsaWN0CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sx LDIpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIE9OIENPTlNUUkFJ TlQgdGVtcG9yYWxfcGVyX3BrIERPIE5PVEhJTkc7CistLSBpZCBtYXRjaGVzIGJ1dCBubyBjb25m bGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGls KSBWQUxVRVMgKCdbMSwyKScsICcyMDEwLTAxLTAxJywgJzIwMjAtMDEtMDEnKSBPTiBDT05GTElD VCBPTiBDT05TVFJBSU5UIHRlbXBvcmFsX3Blcl9wayBETyBOT1RISU5HOworLS0gZGF0ZSBtYXRj aGVzIGJ1dCBubyBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMiwzKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEt MDEnKSBPTiBDT05GTElDVCBPTiBDT05TVFJBSU5UIHRlbXBvcmFsX3Blcl9wayBETyBOT1RISU5H OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIgT1JERVIgQlkgaWQsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbDsKKyAgaWQgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIAorLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEsMikgfCAyMDAwLTAxLTAxIHwgMjAxMC0wMS0wMQor IFsxLDIpIHwgMjAxMC0wMS0wMSB8IDIwMjAtMDEtMDEKKyBbMiwzKSB8IDIwMDUtMDEtMDEgfCAy MDA2LTAxLTAxCisoMyByb3dzKQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXI7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIp JywgJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpOworLS0gd2l0aCBhIGNvbmZsaWN0CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAo J1sxLDIpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIChpZCwgdmFs aWRfYXQpIERPIFVQREFURSBTRVQgaWQgPSBFWENMVURFRC5pZCArICdbMiwzKSc7CitFUlJPUjog IHRoZXJlIGlzIG5vIHVuaXF1ZSBvciBleGNsdXNpb24gY29uc3RyYWludCBtYXRjaGluZyB0aGUg T04gQ09ORkxJQ1Qgc3BlY2lmaWNhdGlvbgorLS0gaWQgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFM VUVTICgnWzEsMiknLCAnMjAxMC0wMS0wMScsICcyMDIwLTAxLTAxJykgT04gQ09ORkxJQ1QgKGlk LCB2YWxpZF9hdCkgRE8gVVBEQVRFIFNFVCBpZCA9IEVYQ0xVREVELmlkICsgJ1szLDQpJzsKK0VS Uk9SOiAgdGhlcmUgaXMgbm8gdW5pcXVlIG9yIGV4Y2x1c2lvbiBjb25zdHJhaW50IG1hdGNoaW5n IHRoZSBPTiBDT05GTElDVCBzcGVjaWZpY2F0aW9uCistLSBkYXRlIG1hdGNoZXMgYnV0IG5vIGNv bmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1syLDMpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZM SUNUIChpZCwgdmFsaWRfYXQpIERPIFVQREFURSBTRVQgaWQgPSBFWENMVURFRC5pZCArICdbNCw1 KSc7CitFUlJPUjogIHRoZXJlIGlzIG5vIHVuaXF1ZSBvciBleGNsdXNpb24gY29uc3RyYWludCBt YXRjaGluZyB0aGUgT04gQ09ORkxJQ1Qgc3BlY2lmaWNhdGlvbgorU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9wZXIgT1JERVIgQlkgaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbDsKKyAgaWQgICB8IHZh bGlkX2Zyb20gfCB2YWxpZF90aWwgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t CisgWzEsMikgfCAyMDAwLTAxLTAxIHwgMjAxMC0wMS0wMQorKDEgcm93KQorCitUUlVOQ0FURSB0 ZW1wb3JhbF9wZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpOwor LS0gd2l0aCBhIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0w MScpIE9OIENPTkZMSUNUIE9OIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyX3BrIERPIFVQREFURSBT RVQgaWQgPSBFWENMVURFRC5pZCArICdbMiwzKSc7CitFUlJPUjogIE9OIENPTkZMSUNUIERPIFVQ REFURSBub3Qgc3VwcG9ydGVkIHdpdGggZXhjbHVzaW9uIGNvbnN0cmFpbnRzCistLSBpZCBtYXRj aGVzIGJ1dCBubyBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDEwLTAxLTAxJywgJzIwMjAtMDEt MDEnKSBPTiBDT05GTElDVCBPTiBDT05TVFJBSU5UIHRlbXBvcmFsX3Blcl9wayBETyBVUERBVEUg U0VUIGlkID0gRVhDTFVERUQuaWQgKyAnWzMsNCknOworRVJST1I6ICBPTiBDT05GTElDVCBETyBV UERBVEUgbm90IHN1cHBvcnRlZCB3aXRoIGV4Y2x1c2lvbiBjb25zdHJhaW50cworLS0gZGF0ZSBt YXRjaGVzIGJ1dCBubyBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMiwzKScsICcyMDA1LTAxLTAxJywgJzIwMDYt MDEtMDEnKSBPTiBDT05GTElDVCBPTiBDT05TVFJBSU5UIHRlbXBvcmFsX3Blcl9wayBETyBVUERB VEUgU0VUIGlkID0gRVhDTFVERUQuaWQgKyAnWzQsNSknOworRVJST1I6ICBPTiBDT05GTElDVCBE TyBVUERBVEUgbm90IHN1cHBvcnRlZCB3aXRoIGV4Y2x1c2lvbiBjb25zdHJhaW50cworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9wZXIgT1JERVIgQlkgaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbDsK KyAgaWQgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tCisgWzEsMikgfCAyMDAwLTAxLTAxIHwgMjAxMC0wMS0wMQorKDEgcm93KQor CistLSB3aXRoIGEgVU5JUVVFIGNvbnN0cmFpbnQ6CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGVy MyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0 ZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09O U1RSQUlOVCB0ZW1wb3JhbF9wZXIzX3VxIFVOSVFVRSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZF UkxBUFMpCispOworVFJVTkNBVEUgdGVtcG9yYWxfcGVyMzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDAt MDEtMDEnLCAnMjAxMC0wMS0wMScpOworLS0gd2l0aCBhIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScs ICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCBETyBOT1RISU5HOworLS0g aWQgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTAtMDEtMDEnLCAn MjAyMC0wMS0wMScpIE9OIENPTkZMSUNUIERPIE5PVEhJTkc7CistLSBkYXRlIG1hdGNoZXMgYnV0 IG5vIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMgKCdbMiwzKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBP TiBDT05GTElDVCBETyBOT1RISU5HOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIzIE9SREVS IEJZIGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWw7CisgIGlkICAgfCB2YWxpZF9mcm9tIHwgdmFs aWRfdGlsICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxLDIpIHwgMjAw MC0wMS0wMSB8IDIwMTAtMDEtMDEKKyBbMSwyKSB8IDIwMTAtMDEtMDEgfCAyMDIwLTAxLTAxCisg WzIsMykgfCAyMDA1LTAxLTAxIHwgMjAwNi0wMS0wMQorKDMgcm93cykKKworVFJVTkNBVEUgdGVt cG9yYWxfcGVyMzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpOwor LS0gd2l0aCBhIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEt MDEnKSBPTiBDT05GTElDVCAoaWQsIHZhbGlkX2F0KSBETyBOT1RISU5HOworRVJST1I6ICB0aGVy ZSBpcyBubyB1bmlxdWUgb3IgZXhjbHVzaW9uIGNvbnN0cmFpbnQgbWF0Y2hpbmcgdGhlIE9OIENP TkZMSUNUIHNwZWNpZmljYXRpb24KKy0tIGlkIG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMg KCdbMSwyKScsICcyMDEwLTAxLTAxJywgJzIwMjAtMDEtMDEnKSBPTiBDT05GTElDVCAoaWQsIHZh bGlkX2F0KSBETyBOT1RISU5HOworRVJST1I6ICB0aGVyZSBpcyBubyB1bmlxdWUgb3IgZXhjbHVz aW9uIGNvbnN0cmFpbnQgbWF0Y2hpbmcgdGhlIE9OIENPTkZMSUNUIHNwZWNpZmljYXRpb24KKy0t IGRhdGUgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMg KGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1syLDMpJywgJzIwMDUtMDEtMDEn LCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIChpZCwgdmFsaWRfYXQpIERPIE5PVEhJTkc7CitF UlJPUjogIHRoZXJlIGlzIG5vIHVuaXF1ZSBvciBleGNsdXNpb24gY29uc3RyYWludCBtYXRjaGlu ZyB0aGUgT04gQ09ORkxJQ1Qgc3BlY2lmaWNhdGlvbgorU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9w ZXIzIE9SREVSIEJZIGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWw7CisgIGlkICAgfCB2YWxpZF9m cm9tIHwgdmFsaWRfdGlsICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsx LDIpIHwgMjAwMC0wMS0wMSB8IDIwMTAtMDEtMDEKKygxIHJvdykKKworVFJVTkNBVEUgdGVtcG9y YWxfcGVyMzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpOworLS0g d2l0aCBhIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEn KSBPTiBDT05GTElDVCBPTiBDT05TVFJBSU5UIHRlbXBvcmFsX3BlcjNfdXEgRE8gTk9USElORzsK Ky0tIGlkIG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIz IChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDEwLTAxLTAx JywgJzIwMjAtMDEtMDEnKSBPTiBDT05GTElDVCBPTiBDT05TVFJBSU5UIHRlbXBvcmFsX3BlcjNf dXEgRE8gTk9USElORzsKKy0tIGRhdGUgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sy LDMpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIE9OIENPTlNUUkFJ TlQgdGVtcG9yYWxfcGVyM191cSBETyBOT1RISU5HOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9w ZXIzIE9SREVSIEJZIGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWw7CisgIGlkICAgfCB2YWxpZF9m cm9tIHwgdmFsaWRfdGlsICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsx LDIpIHwgMjAwMC0wMS0wMSB8IDIwMTAtMDEtMDEKKyBbMSwyKSB8IDIwMTAtMDEtMDEgfCAyMDIw LTAxLTAxCisgWzIsMykgfCAyMDA1LTAxLTAxIHwgMjAwNi0wMS0wMQorKDMgcm93cykKKworVFJV TkNBVEUgdGVtcG9yYWxfcGVyMzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDAtMDEtMDEnLCAnMjAxMC0w MS0wMScpOworLS0gd2l0aCBhIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChp ZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDA1LTAxLTAxJywg JzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCAoaWQsIHZhbGlkX2F0KSBETyBVUERBVEUgU0VUIGlk ID0gRVhDTFVERUQuaWQgKyAnWzIsMyknOworRVJST1I6ICB0aGVyZSBpcyBubyB1bmlxdWUgb3Ig ZXhjbHVzaW9uIGNvbnN0cmFpbnQgbWF0Y2hpbmcgdGhlIE9OIENPTkZMSUNUIHNwZWNpZmljYXRp b24KKy0tIGlkIG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9w ZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDEwLTAx LTAxJywgJzIwMjAtMDEtMDEnKSBPTiBDT05GTElDVCAoaWQsIHZhbGlkX2F0KSBETyBVUERBVEUg U0VUIGlkID0gRVhDTFVERUQuaWQgKyAnWzMsNCknOworRVJST1I6ICB0aGVyZSBpcyBubyB1bmlx dWUgb3IgZXhjbHVzaW9uIGNvbnN0cmFpbnQgbWF0Y2hpbmcgdGhlIE9OIENPTkZMSUNUIHNwZWNp ZmljYXRpb24KKy0tIGRhdGUgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1syLDMpJywg JzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIChpZCwgdmFsaWRfYXQpIERP IFVQREFURSBTRVQgaWQgPSBFWENMVURFRC5pZCArICdbNCw1KSc7CitFUlJPUjogIHRoZXJlIGlz IG5vIHVuaXF1ZSBvciBleGNsdXNpb24gY29uc3RyYWludCBtYXRjaGluZyB0aGUgT04gQ09ORkxJ Q1Qgc3BlY2lmaWNhdGlvbgorU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIzIE9SREVSIEJZIGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWw7CisgIGlkICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGls ICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxLDIpIHwgMjAwMC0wMS0w MSB8IDIwMTAtMDEtMDEKKygxIHJvdykKKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyMzsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAo J1sxLDIpJywgJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpOworLS0gd2l0aCBhIGNvbmZsaWN0 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBW QUxVRVMgKCdbMSwyKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCBP TiBDT05TVFJBSU5UIHRlbXBvcmFsX3BlcjNfdXEgRE8gVVBEQVRFIFNFVCBpZCA9IEVYQ0xVREVE LmlkICsgJ1syLDMpJzsKK0VSUk9SOiAgT04gQ09ORkxJQ1QgRE8gVVBEQVRFIG5vdCBzdXBwb3J0 ZWQgd2l0aCBleGNsdXNpb24gY29uc3RyYWludHMKKy0tIGlkIG1hdGNoZXMgYnV0IG5vIGNvbmZs aWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGls KSBWQUxVRVMgKCdbMSwyKScsICcyMDEwLTAxLTAxJywgJzIwMjAtMDEtMDEnKSBPTiBDT05GTElD VCBPTiBDT05TVFJBSU5UIHRlbXBvcmFsX3BlcjNfdXEgRE8gVVBEQVRFIFNFVCBpZCA9IEVYQ0xV REVELmlkICsgJ1szLDQpJzsKK0VSUk9SOiAgT04gQ09ORkxJQ1QgRE8gVVBEQVRFIG5vdCBzdXBw b3J0ZWQgd2l0aCBleGNsdXNpb24gY29uc3RyYWludHMKKy0tIGRhdGUgbWF0Y2hlcyBidXQgbm8g Y29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1syLDMpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENP TkZMSUNUIE9OIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyM191cSBETyBVUERBVEUgU0VUIGlkID0g RVhDTFVERUQuaWQgKyAnWzQsNSknOworRVJST1I6ICBPTiBDT05GTElDVCBETyBVUERBVEUgbm90 IHN1cHBvcnRlZCB3aXRoIGV4Y2x1c2lvbiBjb25zdHJhaW50cworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9wZXIzIE9SREVSIEJZIGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWw7CisgIGlkICAgfCB2 YWxpZF9mcm9tIHwgdmFsaWRfdGlsICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LQorIFsxLDIpIHwgMjAwMC0wMS0wMSB8IDIwMTAtMDEtMDEKKygxIHJvdykKKworRFJPUCBUQUJM RSB0ZW1wb3JhbF9wZXIzOworLS0KKy0tIHRlc3QgRksgZGVwZW5kZW5jaWVzCistLQorLS0gY2Fu J3QgZHJvcCBhIHJhbmdlIHJlZmVyZW5jZWQgYnkgYW4gRkssIHVubGVzcyB3aXRoIENBU0NBREUK K0NSRUFURSBUQUJMRSB0ZW1wb3JhbDMgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRh dGVyYW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbDNfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxp ZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19ybmcy cm5nICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIHBhcmVudF9p ZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnJuZ19wayBQUklNQVJZ IEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrX3JuZzJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0 KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWwzIChpZCwgUEVSSU9EIHZhbGlkX2F0KQorKTsKK0FM VEVSIFRBQkxFIHRlbXBvcmFsMyBEUk9QIENPTFVNTiB2YWxpZF9hdDsKK0VSUk9SOiAgY2Fubm90 IGRyb3AgY29sdW1uIHZhbGlkX2F0IG9mIHRhYmxlIHRlbXBvcmFsMyBiZWNhdXNlIG90aGVyIG9i amVjdHMgZGVwZW5kIG9uIGl0CitERVRBSUw6ICBjb25zdHJhaW50IHRlbXBvcmFsX2ZrX3JuZzJy bmdfZmsgb24gdGFibGUgdGVtcG9yYWxfZmtfcm5nMnJuZyBkZXBlbmRzIG9uIGNvbHVtbiB2YWxp ZF9hdCBvZiB0YWJsZSB0ZW1wb3JhbDMKK0hJTlQ6ICBVc2UgRFJPUCAuLi4gQ0FTQ0FERSB0byBk cm9wIHRoZSBkZXBlbmRlbnQgb2JqZWN0cyB0b28uCitBTFRFUiBUQUJMRSB0ZW1wb3JhbDMgRFJP UCBDT0xVTU4gdmFsaWRfYXQgQ0FTQ0FERTsKK05PVElDRTogIGRyb3AgY2FzY2FkZXMgdG8gY29u c3RyYWludCB0ZW1wb3JhbF9ma19ybmcycm5nX2ZrIG9uIHRhYmxlIHRlbXBvcmFsX2ZrX3JuZzJy bmcKK0RST1AgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnJuZzsKK0RST1AgVEFCTEUgdGVtcG9yYWwz OworLS0gY2FuJ3QgZHJvcCBhIFBFUklPRCByZWZlcmVuY2VkIGJ5IGFuIEZLLCB1bmxlc3Mgd2l0 aCBDQVNDQURFCitDUkVBVEUgVEFCTEUgdGVtcG9yYWwzICgKKyAgaWQgaW50NHJhbmdlLAorICB2 YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0 ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsM19wayBQUklN QVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOworQ1JFQVRFIFRBQkxF IHRlbXBvcmFsX2ZrX3BlcjJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0 ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBG T1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9y YWxfZmtfcGVyMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxB UFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsgRk9SRUlHTiBLRVkgKHBh cmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWwzIChpZCwg UEVSSU9EIHZhbGlkX2F0KQorKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsMyBEUk9QIFBFUklPRCBG T1IgdmFsaWRfYXQ7CitFUlJPUjogIGNhbm5vdCBkcm9wIHBlcmlvZCB2YWxpZF9hdCBvbiB0YWJs ZSB0ZW1wb3JhbDMgYmVjYXVzZSBvdGhlciBvYmplY3RzIGRlcGVuZCBvbiBpdAorREVUQUlMOiAg Y29uc3RyYWludCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIG9uIHRhYmxlIHRlbXBvcmFsX2ZrX3Bl cjJwZXIgZGVwZW5kcyBvbiBjb2x1bW4gdmFsaWRfYXQgb2YgdGFibGUgdGVtcG9yYWwzCitISU5U OiAgVXNlIERST1AgLi4uIENBU0NBREUgdG8gZHJvcCB0aGUgZGVwZW5kZW50IG9iamVjdHMgdG9v LgorQUxURVIgVEFCTEUgdGVtcG9yYWwzIERST1AgUEVSSU9EIEZPUiB2YWxpZF9hdCBDQVNDQURF OworTk9USUNFOiAgZHJvcCBjYXNjYWRlcyB0byBjb25zdHJhaW50IHRlbXBvcmFsX2ZrX3BlcjJw ZXJfZmsgb24gdGFibGUgdGVtcG9yYWxfZmtfcGVyMnBlcgorRFJPUCBUQUJMRSB0ZW1wb3JhbF9m a19wZXIycGVyOworRFJPUCBUQUJMRSB0ZW1wb3JhbDM7CistLQorLS0gdGVzdCBGT1JFSUdOIEtF WSwgcmFuZ2UgcmVmZXJlbmNlcyByYW5nZQogLS0KIC0tIHRlc3QgdGFibGUgc2V0dXAKIERST1Ag VEFCTEUgdGVtcG9yYWxfcm5nOwpAQCAtMTQ2Nyw2ICsyMjc2LDE4IEBAIENSRUFURSBUQUJMRSB0 ZW1wb3JhbF9ma19ybmcycm5nICgKICAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycm5nX2Zr IEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKICAgICBSRUZFUkVOQ0VT IHRlbXBvcmFsX3JuZyAoaWQsIFBFUklPRCB2YWxpZF9hdCkKICk7CitcZCB0ZW1wb3JhbF9ma19y bmcycm5nCisgICAgICAgICAgIFRhYmxlICJwdWJsaWMudGVtcG9yYWxfZmtfcm5nMnJuZyIKKyAg Q29sdW1uICAgfCAgIFR5cGUgICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgCist LS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLQor IGlkICAgICAgICB8IGludDRyYW5nZSB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgCisgdmFsaWRf YXQgIHwgZGF0ZXJhbmdlIHwgICAgICAgICAgIHwgbm90IG51bGwgfCAKKyBwYXJlbnRfaWQgfCBp bnQ0cmFuZ2UgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorSW5kZXhlczoKKyAgICAidGVtcG9y YWxfZmtfcm5nMnJuZ19wayIgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJM QVBTKQorRm9yZWlnbi1rZXkgY29uc3RyYWludHM6CisgICAgInRlbXBvcmFsX2ZrX3JuZzJybmdf ZmsiIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNFUyB0 ZW1wb3JhbF9ybmcoaWQsIFBFUklPRCB2YWxpZF9hdCkKKwogRFJPUCBUQUJMRSB0ZW1wb3JhbF9m a19ybmcycm5nOwogLS0gd2l0aCBtaXNtYXRjaGVkIFBFUklPRCBjb2x1bW5zOgogLS0gKHBhcmVu dF9pZCwgUEVSSU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIChpZCwgdmFsaWRfYXQpCkBAIC0zNTg1 LDgzICs0NDA2LDM1NjYgQEAgU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJu ZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlkLCB2YWwKICBbMjAwLDIwMSkgfCB7 WzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWzgsOSkgICAgICB8IFs4LDkpCiAoMiByb3dzKQog Ci0tLSBGSyB3aXRoIGEgY3VzdG9tIHJhbmdlIHR5cGUKLUNSRUFURSBUWVBFIG15ZGF0ZXJhbmdl IEFTIHJhbmdlKHN1YnR5cGU9ZGF0ZSk7Ci1DUkVBVEUgVEFCTEUgdGVtcG9yYWxfcm5nMyAoCist LQorLS0gdGVzdCBGT1JFSUdOIEtFWSwgUEVSSU9EIHJlZmVyZW5jZXMgUEVSSU9ECistLQorLS0g dGVzdCB0YWJsZSBzZXR1cAorRFJPUCBUQUJMRSB0ZW1wb3JhbF9wZXI7CitDUkVBVEUgVEFCTEUg dGVtcG9yYWxfcGVyICgKICAgaWQgaW50NHJhbmdlLAotICB2YWxpZF9hdCBteWRhdGVyYW5nZSwK LSAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ybmczX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQg V0lUSE9VVCBPVkVSTEFQUykKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwK KyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKQogKTsKLUNSRUFU RSBUQUJMRSB0ZW1wb3JhbF9mazNfcm5nMnJuZyAoCitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wZXIK KyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyX3BrCisgIFBSSU1BUlkgS0VZIChpZCwgdmFs aWRfYXQgV0lUSE9VVCBPVkVSTEFQUyk7CistLSBDYW4ndCBjcmVhdGUgYSBGSyB3aXRoIGEgbWlz bWF0Y2hlZCByYW5nZSB0eXBlCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlciAoCiAg IGlkIGludDRyYW5nZSwKLSAgdmFsaWRfYXQgbXlkYXRlcmFuZ2UsCisgIHZhbGlkX2Zyb20gaW50 LAorICB2YWxpZF90aWwgaW50LAogICBwYXJlbnRfaWQgaW50NHJhbmdlLAotICBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrM19ybmcycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9V VCBPVkVSTEFQUyksCi0gIENPTlNUUkFJTlQgdGVtcG9yYWxfZmszX3JuZzJybmdfZmsgRk9SRUlH TiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQotICAgIFJFRkVSRU5DRVMgdGVtcG9y YWxfcm5nMyAoaWQsIFBFUklPRCB2YWxpZF9hdCkgT04gREVMRVRFIENBU0NBREUKKyAgUEVSSU9E IEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1w b3JhbF9ma19wZXIycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVS TEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mayBGT1JFSUdOIEtFWSAo cGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIg KGlkLCBQRVJJT0QgdmFsaWRfYXQpCiApOwotSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMyAoaWQs IHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIG15ZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnKSk7Ci1JTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazNfcm5nMnJuZyAoaWQsIHZhbGlk X2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1s1LDYpJywgbXlkYXRlcmFuZ2UoJzIwMTgtMDEtMDEn LCAnMjAyMS0wMS0wMScpLCAnWzgsOSknKTsKLURFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzMgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdI RVJFIGlkID0gJ1s4LDkpJzsKLVNFTEVDVCAqIEZST00gdGVtcG9yYWxfZmszX3JuZzJybmcgV0hF UkUgaWQgPSAnWzUsNiknOwotICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJl bnRfaWQgCi0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KLSBb NSw2KSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzgsOSkKLSBbNSw2KSB8IFsyMDIwLTAx LTAxLDIwMjEtMDEtMDEpIHwgWzgsOSkKLSgyIHJvd3MpCitFUlJPUjogIGZvcmVpZ24ga2V5IGNv bnN0cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsiIGNhbm5vdCBiZSBpbXBsZW1lbnRlZAor REVUQUlMOiAgS2V5IGNvbHVtbnMgInZhbGlkX2F0IiBvZiB0aGUgcmVmZXJlbmNpbmcgdGFibGUg YW5kICJ2YWxpZF9hdCIgb2YgdGhlIHJlZmVyZW5jZWQgdGFibGUgYXJlIG9mIGluY29tcGF0aWJs ZSB0eXBlczogaW50NHJhbmdlIGFuZCBkYXRlcmFuZ2UuCistLSB3b3JrczogUEVSSU9EIGZvciBi b3RoIHJlZmVyZW5jZWQgYW5kIHJlZmVyZW5jaW5nCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtf cGVyMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90 aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAo dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVy X3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNU UkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJ T0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCBQRVJJT0QgdmFs aWRfYXQpCispOworXGQgdGVtcG9yYWxfZmtfcGVyMnBlcgorICAgICAgICAgICBUYWJsZSAicHVi bGljLnRlbXBvcmFsX2ZrX3BlcjJwZXIiCisgICBDb2x1bW4gICB8ICAgVHlwZSAgICB8IENvbGxh dGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdCAKKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0t LS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLQorIGlkICAgICAgICAgfCBpbnQ0cmFuZ2UgfCAg ICAgICAgICAgfCBub3QgbnVsbCB8IAorIHZhbGlkX2Zyb20gfCBkYXRlICAgICAgfCAgICAgICAg ICAgfCAgICAgICAgICB8IAorIHZhbGlkX3RpbCAgfCBkYXRlICAgICAgfCAgICAgICAgICAgfCAg ICAgICAgICB8IAorIHBhcmVudF9pZCAgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCAgICAgICAg ICB8IAorUGVyaW9kczoKKyAgICB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKQorSW5k ZXhlczoKKyAgICAidGVtcG9yYWxfZmtfcGVyMnBlcl9wayIgUFJJTUFSWSBLRVkgKGlkLCB2YWxp ZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorQ2hlY2sgY29uc3RyYWludHM6CisgICAgInRlbXBvcmFs X2ZrX3BlcjJwZXJfdmFsaWRfYXRfY2hlY2siIENIRUNLICh2YWxpZF9mcm9tIDwgdmFsaWRfdGls KQorRm9yZWlnbi1rZXkgY29uc3RyYWludHM6CisgICAgInRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsi IEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNFUyB0ZW1w b3JhbF9wZXIoaWQsIFBFUklPRCB2YWxpZF9hdCkKIAotRFJPUCBUQUJMRSB0ZW1wb3JhbF9mazNf cm5nMnJuZzsKLURST1AgVEFCTEUgdGVtcG9yYWxfcm5nMzsKLURST1AgVFlQRSBteWRhdGVyYW5n ZTsKLS0tCi0tLSBGSyBiZXR3ZWVuIHBhcnRpdGlvbmVkIHRhYmxlczogcmFuZ2VzCi0tLQotQ1JF QVRFIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoCitEUk9QIFRBQkxFIHRlbXBvcmFs X2ZrX3BlcjJwZXI7CistLSB3aXRoIG1pc21hdGNoZWQgUEVSSU9EIGNvbHVtbnM6CistLSAocGFy ZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpIFJFRkVSRU5DRVMgKGlkLCB2YWxpZF9hdCkKKy0tIFJF RkVSRU5DRVMgcGFydCBzaG91bGQgc3BlY2lmeSBQRVJJT0QKK0NSRUFURSBUQUJMRSB0ZW1wb3Jh bF9ma19wZXIycGVyICgKICAgaWQgaW50NHJhbmdlLAotICB2YWxpZF9hdCBkYXRlcmFuZ2UsCi0g IG5hbWUgdGV4dCwKLSAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJpdGlvbmVkX3JuZ19wayBQUklN QVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCi0pIFBBUlRJVElPTiBCWSBM SVNUIChpZCk7Ci1DUkVBVEUgVEFCTEUgdHAxIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ybmcgRk9SIFZBTFVFUyBJTiAoJ1sxLDIpJywgJ1szLDQpJywgJ1s1LDYpJywgJ1s3LDgp JywgJ1s5LDEwKScsICdbMTEsMTIpJywgJ1sxMywxNCknLCAnWzE1LDE2KScsICdbMTcsMTgpJywg J1sxOSwyMCknLCAnWzIxLDIyKScsICdbMjMsMjQpJyk7Ci1DUkVBVEUgVEFCTEUgdHAyIFBBUlRJ VElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgRk9SIFZBTFVFUyBJTiAoJ1swLDEpJywg J1syLDMpJywgJ1s0LDUpJywgJ1s2LDcpJywgJ1s4LDkpJywgJ1sxMCwxMSknLCAnWzEyLDEzKScs ICdbMTQsMTUpJywgJ1sxNiwxNyknLCAnWzE4LDE5KScsICdbMjAsMjEpJywgJ1syMiwyMyknLCAn WzI0LDI1KScpOwotSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFs aWRfYXQsIG5hbWUpIFZBTFVFUwotICAoJ1sxLDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywg JzIwMDAtMDItMDEnKSwgJ29uZScpLAotICAoJ1sxLDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAyLTAx JywgJzIwMDAtMDMtMDEnKSwgJ29uZScpLAotICAoJ1syLDMpJywgZGF0ZXJhbmdlKCcyMDAwLTAx LTAxJywgJzIwMTAtMDEtMDEnKSwgJ3R3bycpOwotQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BhcnRp dGlvbmVkX2ZrX3JuZzJybmcgKAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRl LAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9m cm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfcGsgUFJJ TUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9ma19wZXIycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxp ZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2F0KQorKTsKK0VS Uk9SOiAgZm9yZWlnbiBrZXkgdXNlcyBQRVJJT0Qgb24gdGhlIHJlZmVyZW5jaW5nIHRhYmxlIGJ1 dCBub3QgdGhlIHJlZmVyZW5jZWQgdGFibGUKKy0tIChwYXJlbnRfaWQsIHZhbGlkX2F0KSBSRUZF UkVOQ0VTIChpZCwgdmFsaWRfYXQpCistLSBib3RoIHNob3VsZCBzcGVjaWZ5IFBFUklPRDoKK0NS RUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyICgKICAgaWQgaW50NHJhbmdlLAotICB2YWxp ZF9hdCBkYXRlcmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCiAg IHBhcmVudF9pZCBpbnQ0cmFuZ2UsCi0gIENPTlNUUkFJTlQgdGVtcG9yYWxfcGFydGl0aW9uZWRf Zmtfcm5nMnJuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMp LAotICBDT05TVFJBSU5UIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmdfZmsgRk9SRUlH TiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQotICAgIFJFRkVSRU5DRVMgdGVtcG9y YWxfcGFydGl0aW9uZWRfcm5nIChpZCwgUEVSSU9EIHZhbGlkX2F0KQotKSBQQVJUSVRJT04gQlkg TElTVCAoaWQpOwotQ1JFQVRFIFRBQkxFIHRma3AxIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ma19ybmcycm5nIEZPUiBWQUxVRVMgSU4gKCdbMSwyKScsICdbMyw0KScsICdbNSw2 KScsICdbNyw4KScsICdbOSwxMCknLCAnWzExLDEyKScsICdbMTMsMTQpJywgJ1sxNSwxNiknLCAn WzE3LDE4KScsICdbMTksMjApJywgJ1syMSwyMiknLCAnWzIzLDI0KScpOwotQ1JFQVRFIFRBQkxF IHRma3AyIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIEZPUiBW QUxVRVMgSU4gKCdbMCwxKScsICdbMiwzKScsICdbNCw1KScsICdbNiw3KScsICdbOCw5KScsICdb MTAsMTEpJywgJ1sxMiwxMyknLCAnWzE0LDE1KScsICdbMTYsMTcpJywgJ1sxOCwxOSknLCAnWzIw LDIxKScsICdbMjIsMjMpJywgJ1syNCwyNSknKTsKLS0tCi0tLSBwYXJ0aXRpb25lZCBGSyByZWZl cmVuY2luZyBpbnNlcnRzCi0tLQotSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtf cm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUwotICAoJ1sxLDIpJywgZGF0 ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMDAtMDItMTUnKSwgJ1sxLDIpJyksCi0gICgnWzEsMikn LCBkYXRlcmFuZ2UoJzIwMDEtMDEtMDEnLCAnMjAwMi0wMS0wMScpLCAnWzIsMyknKSwKLSAgKCdb MiwzKScsIGRhdGVyYW5nZSgnMjAwMC0wMS0wMScsICcyMDAwLTAyLTE1JyksICdbMSwyKScpOwot LS0gc2hvdWxkIGZhaWw6Ci1JTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcy cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTCi0gICgnWzMsNCknLCBkYXRlcmFu Z2UoJzIwMTAtMDEtMDEnLCAnMjAxMC0wMi0xNScpLCAnWzEsMiknKTsKLUVSUk9SOiAgaW5zZXJ0 IG9yIHVwZGF0ZSBvbiB0YWJsZSAidGZrcDEiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFp bnQgInRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmdfZmsiCi1ERVRBSUw6ICBLZXkgKHBh cmVudF9pZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIwMTAtMDEtMDEsMjAxMC0wMi0xNSkpIGlzIG5v dCBwcmVzZW50IGluIHRhYmxlICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmciLgotSU5TRVJUIElO VE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRf aWQpIFZBTFVFUwotICAoJ1szLDQpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMDAtMDIt MTUnKSwgJ1szLDQpJyk7Ci1FUlJPUjogIGluc2VydCBvciB1cGRhdGUgb24gdGFibGUgInRma3Ax IiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9m a19ybmcycm5nX2ZrIgotREVUQUlMOiAgS2V5IChwYXJlbnRfaWQsIHZhbGlkX2F0KT0oWzMsNCks IFsyMDAwLTAxLTAxLDIwMDAtMDItMTUpKSBpcyBub3QgcHJlc2VudCBpbiB0YWJsZSAidGVtcG9y YWxfcGFydGl0aW9uZWRfcm5nIi4KKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwg dmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX3BrIFBSSU1BUlkg S0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9y YWxfZmtfcGVyMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCB2YWxpZF9hdCkKKyAgICBS RUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2F0KQorKTsKK0VSUk9SOiAgZm9yZWln biBrZXkgbXVzdCB1c2UgUEVSSU9EIHdoZW4gcmVmZXJlbmNpbmcgYSBwcmltYXJ5IGtleSB1c2lu ZyBXSVRIT1VUIE9WRVJMQVBTCistLSAocGFyZW50X2lkLCB2YWxpZF9hdCkgUkVGRVJFTkNFUyAo aWQsIFBFUklPRCB2YWxpZF9hdCkKKy0tIEZPUkVJR04gS0VZIHBhcnQgc2hvdWxkIHNwZWNpZnkg UEVSSU9ECitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlciAoCisgIGlkIGludDRyYW5n ZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGlu dDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwK KyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFs aWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBl cl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRl bXBvcmFsX3BlciAoaWQsIFBFUklPRCB2YWxpZF9hdCkKKyk7CitFUlJPUjogIGZvcmVpZ24ga2V5 IHVzZXMgUEVSSU9EIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlIGJ1dCBub3QgdGhlIHJlZmVyZW5j aW5nIHRhYmxlCistLSAocGFyZW50X2lkLCB2YWxpZF9hdCkgUkVGRVJFTkNFUyBbaW1wbGljaXRd CistLSBGT1JFSUdOIEtFWSBwYXJ0IHNob3VsZCBzcGVjaWZ5IFBFUklPRAorQ1JFQVRFIFRBQkxF IHRlbXBvcmFsX2ZrX3BlcjJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0 ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBG T1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9y YWxfZmtfcGVyMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxB UFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsgRk9SRUlHTiBLRVkgKHBh cmVudF9pZCwgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyk7CitFUlJP UjogIGZvcmVpZ24ga2V5IHVzZXMgUEVSSU9EIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlIGJ1dCBu b3QgdGhlIHJlZmVyZW5jaW5nIHRhYmxlCistLSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQp IFJFRkVSRU5DRVMgKGlkKQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKAorICBp ZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBh cmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZh bGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9wayBQUklNQVJZIEtF WSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3BlcjJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQor ICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCkKKyk7CitFUlJPUjogIGZvcmVpZ24ga2V5 IHVzZXMgUEVSSU9EIG9uIHRoZSByZWZlcmVuY2luZyB0YWJsZSBidXQgbm90IHRoZSByZWZlcmVu Y2VkIHRhYmxlCistLSAocGFyZW50X2lkKSBSRUZFUkVOQ0VTIChpZCwgUEVSSU9EIHZhbGlkX2F0 KQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisg IHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFu Z2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENP TlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0 IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsg Rk9SRUlHTiBLRVkgKHBhcmVudF9pZCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQs IFBFUklPRCB2YWxpZF9hdCkKKyk7CitFUlJPUjogIGZvcmVpZ24ga2V5IHVzZXMgUEVSSU9EIG9u IHRoZSByZWZlcmVuY2VkIHRhYmxlIGJ1dCBub3QgdGhlIHJlZmVyZW5jaW5nIHRhYmxlCistLSB3 aXRoIGluZmVycmVkIFBLIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlOgorLS0gKHBhcmVudF9pZCwg UEVSSU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIFtpbXBsaWNpdF0KK0NSRUFURSBUQUJMRSB0ZW1w b3JhbF9ma19wZXIycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisg IHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZh bGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr X3BlcjJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwK KyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRf aWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorKTsKK0RS T1AgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcjsKKy0tIChwYXJlbnRfaWQpIFJFRkVSRU5DRVMg W2ltcGxpY2l0XQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKAorICBpZCBpbnQ0 cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9p ZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9wayBQUklNQVJZIEtFWSAoaWQs IHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3Bl cjJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFs X3BlcgorKTsKK0VSUk9SOiAgZm9yZWlnbiBrZXkgdXNlcyBQRVJJT0Qgb24gdGhlIHJlZmVyZW5j ZWQgdGFibGUgYnV0IG5vdCB0aGUgcmVmZXJlbmNpbmcgdGFibGUKKy0tIHNob3VsZCBmYWlsIGJl Y2F1c2Ugb2YgZHVwbGljYXRlIHJlZmVyZW5jZWQgY29sdW1uczoKK0NSRUFURSBUQUJMRSB0ZW1w b3JhbF9ma19wZXIycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisg IHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZh bGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr X3BlcjJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwK KyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRf aWQsIFBFUklPRCBwYXJlbnRfaWQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCBQ RVJJT0QgaWQpCispOworRVJST1I6ICBmb3JlaWduIGtleSByZWZlcmVuY2VkLWNvbHVtbnMgbGlz dCBtdXN0IG5vdCBjb250YWluIGR1cGxpY2F0ZXMKKy0tIFR3byBzY2FsYXIgY29sdW1ucworRFJP UCBUQUJMRSB0ZW1wb3JhbF9wZXIyOworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BlcjIgKAorICBp ZDEgaW50NHJhbmdlLAorICBpZDIgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZh bGlkX3RpbCBkYXRlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90 aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3BlcjJfcGsgUFJJTUFSWSBLRVkgKGlkMSwgaWQy LCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9m azJfcGVyMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxp ZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkMSBpbnQ0cmFuZ2UsCisgIHBhcmVudF9pZDIgaW50NHJh bmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBD T05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRf YXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJf ZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkK KyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCBQRVJJT0QgdmFsaWRfYXQp CispOworXGQgdGVtcG9yYWxfZmsyX3BlcjJwZXIKKyAgICAgICAgICAgVGFibGUgInB1YmxpYy50 ZW1wb3JhbF9mazJfcGVyMnBlciIKKyAgIENvbHVtbiAgIHwgICBUeXBlICAgIHwgQ29sbGF0aW9u IHwgTnVsbGFibGUgfCBEZWZhdWx0IAorLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tCisgaWQgICAgICAgICB8IGludDRyYW5nZSB8ICAgICAg ICAgICB8IG5vdCBudWxsIHwgCisgdmFsaWRfZnJvbSB8IGRhdGUgICAgICB8ICAgICAgICAgICB8 ICAgICAgICAgIHwgCisgdmFsaWRfdGlsICB8IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAgICAg ICAgIHwgCisgcGFyZW50X2lkMSB8IGludDRyYW5nZSB8ICAgICAgICAgICB8ICAgICAgICAgIHwg CisgcGFyZW50X2lkMiB8IGludDRyYW5nZSB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCitQZXJp b2RzOgorICAgIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpCitJbmRleGVzOgorICAg ICJ0ZW1wb3JhbF9mazJfcGVyMnBlcl9wayIgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRI T1VUIE9WRVJMQVBTKQorQ2hlY2sgY29uc3RyYWludHM6CisgICAgInRlbXBvcmFsX2ZrMl9wZXIy cGVyX3ZhbGlkX2F0X2NoZWNrIiBDSEVDSyAodmFsaWRfZnJvbSA8IHZhbGlkX3RpbCkKK0ZvcmVp Z24ta2V5IGNvbnN0cmFpbnRzOgorICAgICJ0ZW1wb3JhbF9mazJfcGVyMnBlcl9mayIgRk9SRUlH TiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNF UyB0ZW1wb3JhbF9wZXIyKGlkMSwgaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisKK0RST1AgVEFCTEUg dGVtcG9yYWxfZmsyX3BlcjJwZXI7CiAtLQotLS0gcGFydGl0aW9uZWQgRksgcmVmZXJlbmNpbmcg dXBkYXRlcworLS0gdGVzdCBBTFRFUiBUQUJMRSBBREQgQ09OU1RSQUlOVAogLS0KLVVQREFURSB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFNFVCB2YWxpZF9hdCA9IGRhdGVyYW5nZSgn MjAwMC0wMS0wMScsICcyMDAwLTAyLTEzJykgV0hFUkUgaWQgPSAnWzIsMyknOwotLS0gbW92ZSBh IHJvdyBmcm9tIHRoZSBmaXJzdCBwYXJ0aXRpb24gdG8gdGhlIHNlY29uZAotVVBEQVRFIHRlbXBv cmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgU0VUIGlkID0gJ1s0LDUpJyBXSEVSRSBpZCA9ICdb MSwyKSc7Ci0tLSBtb3ZlIGEgcm93IGZyb20gdGhlIHNlY29uZCBwYXJ0aXRpb24gdG8gdGhlIGZp cnN0Ci1VUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBTRVQgaWQgPSAnWzEs MiknIFdIRVJFIGlkID0gJ1s0LDUpJzsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVy ICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRl LAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9m cm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfcGsgUFJJ TUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0FMVEVSIFRBQkxF IHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBl cl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVS RU5DRVMgdGVtcG9yYWxfcGVyIChpZCwgUEVSSU9EIHZhbGlkX2F0KTsKKy0tIFR3byBzY2FsYXIg Y29sdW1uczoKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnBlciAoCisgIGlkIGludDRy YW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lk MSBpbnQ0cmFuZ2UsCisgIHBhcmVudF9pZDIgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlk X2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9w ZXIycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7 CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1w b3JhbF9mazJfcGVyMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lk MiwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQy LCBQRVJJT0QgdmFsaWRfYXQpOworXGQgdGVtcG9yYWxfZmsyX3BlcjJwZXIKKyAgICAgICAgICAg VGFibGUgInB1YmxpYy50ZW1wb3JhbF9mazJfcGVyMnBlciIKKyAgIENvbHVtbiAgIHwgICBUeXBl ICAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0IAorLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tCisgaWQgICAgICAgICB8IGlu dDRyYW5nZSB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgCisgdmFsaWRfZnJvbSB8IGRhdGUgICAg ICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgdmFsaWRfdGlsICB8IGRhdGUgICAgICB8ICAg ICAgICAgICB8ICAgICAgICAgIHwgCisgcGFyZW50X2lkMSB8IGludDRyYW5nZSB8ICAgICAgICAg ICB8ICAgICAgICAgIHwgCisgcGFyZW50X2lkMiB8IGludDRyYW5nZSB8ICAgICAgICAgICB8ICAg ICAgICAgIHwgCitQZXJpb2RzOgorICAgIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwp CitJbmRleGVzOgorICAgICJ0ZW1wb3JhbF9mazJfcGVyMnBlcl9wayIgUFJJTUFSWSBLRVkgKGlk LCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorQ2hlY2sgY29uc3RyYWludHM6CisgICAgInRl bXBvcmFsX2ZrMl9wZXIycGVyX3ZhbGlkX2F0X2NoZWNrIiBDSEVDSyAodmFsaWRfZnJvbSA8IHZh bGlkX3RpbCkKK0ZvcmVpZ24ta2V5IGNvbnN0cmFpbnRzOgorICAgICJ0ZW1wb3JhbF9mazJfcGVy MnBlcl9mayIgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxp ZF9hdCkgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyKGlkMSwgaWQyLCBQRVJJT0QgdmFsaWRfYXQp CisKKy0tIHdpdGggaW5mZXJyZWQgUEsgb24gdGhlIHJlZmVyZW5jZWQgdGFibGUsIGFuZCB3cm9u ZyBjb2x1bW4gdHlwZToKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgRFJPUCBD T05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmssCisgIERST1AgUEVSSU9EIEZPUiB2YWxp ZF9hdCwKKyAgQUxURVIgQ09MVU1OIHZhbGlkX2Zyb20gVFlQRSB0aW1lc3RhbXAsCisgIEFMVEVS IENPTFVNTiB2YWxpZF90aWwgVFlQRSB0aW1lc3RhbXAsCisgIEFERCBQRVJJT0QgRk9SIHZhbGlk X2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVy MnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgIEZPUkVJR04g S0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9w ZXI7CitFUlJPUjogIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJwZXJf ZmsiIGNhbm5vdCBiZSBpbXBsZW1lbnRlZAorREVUQUlMOiAgS2V5IGNvbHVtbnMgInZhbGlkX2F0 IiBvZiB0aGUgcmVmZXJlbmNpbmcgdGFibGUgYW5kICJ2YWxpZF9hdCIgb2YgdGhlIHJlZmVyZW5j ZWQgdGFibGUgYXJlIG9mIGluY29tcGF0aWJsZSB0eXBlczogdHNyYW5nZSBhbmQgZGF0ZXJhbmdl LgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICBEUk9QIFBFUklPRCBGT1IgdmFs aWRfYXQsCisgIEFMVEVSIENPTFVNTiB2YWxpZF9mcm9tIFRZUEUgZGF0ZSwKKyAgQUxURVIgQ09M VU1OIHZhbGlkX3RpbCBUWVBFIGRhdGUsCisgIEFERCBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxp ZF9mcm9tLCB2YWxpZF90aWwpOworLS0gd2l0aCBpbmZlcnJlZCBQSyBvbiB0aGUgcmVmZXJlbmNl ZCB0YWJsZToKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgQUREIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJ T0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyOworLS0gc2hvdWxkIGZhaWwg YmVjYXVzZSBvZiBkdXBsaWNhdGUgcmVmZXJlbmNlZCBjb2x1bW5zOgorQUxURVIgVEFCTEUgdGVt cG9yYWxfZmtfcGVyMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2Zr MgorICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgcGFyZW50X2lkKQorICBSRUZFUkVO Q0VTIHRlbXBvcmFsX3BlciAoaWQsIFBFUklPRCBpZCk7CitFUlJPUjogIGZvcmVpZ24ga2V5IHJl ZmVyZW5jZWQtY29sdW1ucyBsaXN0IG11c3Qgbm90IGNvbnRhaW4gZHVwbGljYXRlcworLS0KKy0t IHRlc3Qgd2l0aCByb3dzIGFscmVhZHkKKy0tCitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ma19wZXIy cGVyOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVy IChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMKKyAgKCdbMSwyKScsICcyMDE4LTAx LTAyJywgJzIwMTgtMDItMDMnKSwKKyAgKCdbMSwyKScsICcyMDE4LTAzLTAzJywgJzIwMTgtMDQt MDQnKSwKKyAgKCdbMiwzKScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDEtMDUnKSwKKyAgKCdbMyw0 KScsICcyMDE4LTAxLTAxJywgTlVMTCk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVy CisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrOworSU5TRVJUIElOVE8g dGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lk KSBWQUxVRVMgKCdbMSwyKScsICcyMDE4LTAxLTAyJywgJzIwMTgtMDItMDEnLCAnWzEsMiknKTsK K0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9y YWxfZmtfcGVyMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRf YXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtf cGVyMnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mazsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBh cmVudF9pZCkgVkFMVUVTICgnWzIsMyknLCAnMjAxOC0wMS0wMicsICcyMDE4LTA0LTAxJywgJ1sx LDIpJyk7CistLSBzaG91bGQgZmFpbDoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIK KyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9maworICBGT1JFSUdOIEtFWSAo cGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyOwor RVJST1I6ICBpbnNlcnQgb3IgdXBkYXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycGVyIiB2 aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIgor REVUQUlMOiAgS2V5IChwYXJlbnRfaWQsIHZhbGlkX2F0KT0oWzEsMiksIFsyMDE4LTAxLTAyLDIw MTgtMDQtMDEpKSBpcyBub3QgcHJlc2VudCBpbiB0YWJsZSAidGVtcG9yYWxfcGVyIi4KKy0tIG9r YXkgYWdhaW46CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyOworQUxURVIgVEFCTEUg dGVtcG9yYWxfZmtfcGVyMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVy X2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJF TkNFUyB0ZW1wb3JhbF9wZXI7CistLQorLS0gdGVzdCBwZ19nZXRfY29uc3RyYWludGRlZgorLS0K K1NFTEVDVCBwZ19nZXRfY29uc3RyYWludGRlZihvaWQpIEZST00gcGdfY29uc3RyYWludCBXSEVS RSBjb25uYW1lID0gJ3RlbXBvcmFsX2ZrX3BlcjJwZXJfZmsnOworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcGdfZ2V0X2NvbnN0cmFpbnRkZWYgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBGT1JFSUdOIEtF WSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyKGlk LCBQRVJJT0QgdmFsaWRfYXQpCisoMSByb3cpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jaW5n IGluc2VydHMKKy0tCitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDEtMDIn LCAnMjAxOC0wMi0wMScsICdbMSwyKScpOworLS0gc2hvdWxkIGZhaWw6CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQp IFZBTFVFUyAoJ1syLDMpJywgJzIwMTgtMDEtMDInLCAnMjAxOC0wNC0wMScsICdbMSwyKScpOwor RVJST1I6ICBpbnNlcnQgb3IgdXBkYXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycGVyIiB2 aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIgor REVUQUlMOiAgS2V5IChwYXJlbnRfaWQsIHZhbGlkX2F0KT0oWzEsMiksIFsyMDE4LTAxLTAyLDIw MTgtMDQtMDEpKSBpcyBub3QgcHJlc2VudCBpbiB0YWJsZSAidGVtcG9yYWxfcGVyIi4KKy0tIG5v dyBpdCBzaG91bGQgd29yazoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMi0wMycsICcyMDE4LTAzLTAz Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syLDMpJywgJzIwMTgtMDEtMDInLCAnMjAxOC0w NC0wMScsICdbMSwyKScpOworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNpbmcgdXBkYXRlcworLS0K Ky0tIHNsaWRlIHRoZSBlZGdlIGFjcm9zcyBhIHJlZmVyZW5jZWQgdHJhbnNpdGlvbjoKK1VQREFU RSB0ZW1wb3JhbF9ma19wZXIycGVyIFNFVCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDInLCB2YWxp ZF90aWwgPSAnMjAxOC0wMi0yMCcgV0hFUkUgaWQgPSAnWzEsMiknOworLS0gc2hvdWxkIGZhaWw6 CitVUERBVEUgdGVtcG9yYWxfZmtfcGVyMnBlciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAy JywgdmFsaWRfdGlsID0gJzIwMTgtMDUtMDEnIFdIRVJFIGlkID0gJ1sxLDIpJzsKK0VSUk9SOiAg aW5zZXJ0IG9yIHVwZGF0ZSBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnBlciIgdmlvbGF0ZXMg Zm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcGVyMnBlcl9mayIKK0RFVEFJTDog IEtleSAocGFyZW50X2lkLCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMS0wMiwyMDE4LTA1LTAx KSkgaXMgbm90IHByZXNlbnQgaW4gdGFibGUgInRlbXBvcmFsX3BlciIuCitVUERBVEUgdGVtcG9y YWxfZmtfcGVyMnBlciBTRVQgcGFyZW50X2lkID0gJ1s4LDkpJyBXSEVSRSBpZCA9ICdbMSwyKSc7 CitFUlJPUjogIGluc2VydCBvciB1cGRhdGUgb24gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJwZXIi IHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsi CitERVRBSUw6ICBLZXkgKHBhcmVudF9pZCwgdmFsaWRfYXQpPShbOCw5KSwgWzIwMTgtMDEtMDIs MjAxOC0wMi0yMCkpIGlzIG5vdCBwcmVzZW50IGluIHRhYmxlICJ0ZW1wb3JhbF9wZXIiLgorLS0g QUxURVIgRksgREVGRVJSQUJMRQorQkVHSU47CisgIElOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTCisgICAgKCdbNSw2KScsICcyMDE4LTAx LTAxJywgJzIwMTgtMDItMDEnKSwKKyAgICAoJ1s1LDYpJywgJzIwMTgtMDItMDEnLCAnMjAxOC0w My0wMScpOworICBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUworICAgICgnWzMsNCknLCAnMjAxOC0wMS0w NScsICcyMDE4LTAxLTEwJywgJ1s1LDYpJyk7CisgIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3Bl cjJwZXIKKyAgICBBTFRFUiBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsKKyAgICBE RUZFUlJBQkxFIElOSVRJQUxMWSBERUZFUlJFRDsKKyAgREVMRVRFIEZST00gdGVtcG9yYWxfcGVy IFdIRVJFIGlkID0gJ1s1LDYpJzsgLS1zaG91bGQgbm90IGZhaWwgeWV0LgorQ09NTUlUOyAtLSBz aG91bGQgZmFpbCBoZXJlLgorRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1w b3JhbF9wZXIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3Bl cjJwZXJfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycGVyIgorREVUQUlMOiAgS2V5IChp ZCwgdmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSkpIGlzIHN0aWxsIHJl ZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnBlciIuCistLQorLS0gdGVzdCBG SyByZWZlcmVuY2VkIHVwZGF0ZXMgTk8gQUNUSU9OCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVy LCB0ZW1wb3JhbF9ma19wZXIycGVyOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgor ICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mazsKK0FMVEVSIFRBQkxFIHRl bXBvcmFsX2ZrX3BlcjJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9m aworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5D RVMgdGVtcG9yYWxfcGVyCisgIE9OIFVQREFURSBOTyBBQ1RJT047CistLSBhIFBLIHVwZGF0ZSB0 aGF0IHN1Y2NlZWRzIGJlY2F1c2UgdGhlIG51bWVyaWMgaWQgaXNuJ3QgcmVmZXJlbmNlZDoKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVT ICgnWzUsNiknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyk7CitVUERBVEUgdGVtcG9yYWxf cGVyIFNFVCB2YWxpZF9mcm9tID0gJzIwMTYtMDEtMDEnLCB2YWxpZF90aWwgPSAnMjAxNi0wMi0w MScgV0hFUkUgaWQgPSAnWzUsNiknOworLS0gYSBQSyB1cGRhdGUgdGhhdCBzdWNjZWVkcyBldmVu IHRob3VnaCB0aGUgbnVtZXJpYyBpZCBpcyByZWZlcmVuY2VkIGJlY2F1c2UgdGhlIHJhbmdlIGlz bid0OgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s1LDYpJzsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTCisg ICgnWzUsNiknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyksCisgICgnWzUsNiknLCAnMjAx OC0wMi0wMScsICcyMDE4LTAzLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVy IChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUworICAoJ1szLDQp JywgJzIwMTgtMDEtMDUnLCAnMjAxOC0wMS0xMCcsICdbNSw2KScpOworVVBEQVRFIHRlbXBvcmFs X3BlciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE2LTAyLTAxJywgdmFsaWRfdGlsID0gJzIwMTYtMDMt MDEnCitXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2Zyb20gPSAnMjAxOC0wMi0wMScgQU5E IHZhbGlkX3RpbCA9ICcyMDE4LTAzLTAxJzsKKy0tIEEgUEsgdXBkYXRlIHNsaWRpbmcgdGhlIGVk Z2UgYmV0d2VlbiB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVy IChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMKKyAgKCdbNiw3KScsICcyMDE4LTAx LTAxJywgJzIwMTgtMDItMDEnKSwKKyAgKCdbNiw3KScsICcyMDE4LTAyLTAxJywgJzIwMTgtMDMt MDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTCisgICgnWzQsNSknLCAnMjAxOC0wMS0xNScsICcy MDE4LTAyLTE1JywgJ1s2LDcpJyk7CitVUERBVEUgdGVtcG9yYWxfcGVyCitTRVQgdmFsaWRfZnJv bSA9IENBU0UgV0hFTiB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDEnIFRIRU4gJzIwMTgtMDEtMDEn CisgICAgICAgICAgICAgICAgICAgICAgV0hFTiB2YWxpZF9mcm9tID0gJzIwMTgtMDItMDEnIFRI RU4gJzIwMTgtMDEtMDUnIEVORDo6ZGF0ZSwKKyAgICB2YWxpZF90aWwgPSAgQ0FTRSBXSEVOIHZh bGlkX2Zyb20gPSAnMjAxOC0wMS0wMScgVEhFTiAnMjAxOC0wMS0wNScKKyAgICAgICAgICAgICAg ICAgICAgICBXSEVOIHZhbGlkX2Zyb20gPSAnMjAxOC0wMi0wMScgVEhFTiAnMjAxOC0wMy0wMScg RU5EOjpkYXRlCitXSEVSRSBpZCA9ICdbNiw3KSc7CistLSBhIFBLIHVwZGF0ZSBzaHJpbmtpbmcg dGhlIHJlZmVyZW5jZWQgcmFuZ2UgYnV0IHN0aWxsIHZhbGlkOgorLS0gVGhlcmUgYXJlIHR3byBy ZWZlcmVuY2VzOiBvbmUgZnVsZmlsbGVkIGJ5IHRoZSBmaXJzdCBwayByb3csCistLSB0aGUgb3Ro ZXIgZnVsZmlsbGVkIGJ5IGJvdGggcGsgcm93cyBjb21iaW5lZC4KK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTCisgICgnWzEsMiknLCAn MjAxOC0wMS0wMScsICcyMDE4LTAzLTAxJyksCisgICgnWzEsMiknLCAnMjAxOC0wMy0wMScsICcy MDE4LTA2LTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUworICAoJ1sxLDIpJywgJzIwMTgtMDEt MTUnLCAnMjAxOC0wMi0wMScsICdbMSwyKScpLAorICAoJ1syLDMpJywgJzIwMTgtMDEtMTUnLCAn MjAxOC0wNS0wMScsICdbMSwyKScpOworVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgdmFsaWRfZnJv bSA9ICcyMDE4LTAxLTE1JywgdmFsaWRfdGlsID0gJzIwMTgtMDMtMDEnCitXSEVSRSBpZCA9ICdb MSwyKScgQU5EIHZhbGlkX2F0IEA+ICcyMDE4LTAxLTE1Jzo6ZGF0ZTsKKy0tIGEgUEsgdXBkYXRl IGdyb3dpbmcgdGhlIHJlZmVyZW5jZWQgcmFuZ2UgaXMgZmluZToKK1VQREFURSB0ZW1wb3JhbF9w ZXIgU0VUIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMScsIHZhbGlkX3RpbCA9ICcyMDE4LTAzLTAx JworV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCBAPiAnMjAxOC0wMS0yNSc6OmRhdGU7 CistLSBhIFBLIHVwZGF0ZSBzaHJpbmtpbmcgdGhlIHJlZmVyZW5jZWQgcmFuZ2UgYW5kIGNoYW5n aW5nIHRoZSBpZCBpbnZhbGlkYXRlcyB0aGUgd2hvbGUgcmFuZ2U6CitVUERBVEUgdGVtcG9yYWxf cGVyIFNFVCBpZCA9ICdbMiwzKScsIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0xNScsIHZhbGlkX3Rp bCA9ICcyMDE4LTAzLTAxJworV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCBAPiAnMjAx OC0wMS0xNSc6OmRhdGU7CitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRlbXBv cmFsX3BlciIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcGVy MnBlcl9mayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJwZXIiCitERVRBSUw6ICBLZXkgKGlk LCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMS0wMSwyMDE4LTAzLTAxKSkgaXMgc3RpbGwgcmVm ZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycGVyIi4KKy0tIGEgUEsgdXBkYXRl IGNoYW5naW5nIG9ubHkgdGhlIGlkIGludmFsaWRhdGVzIHRoZSB3aG9sZSByYW5nZToKK1VQREFU RSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1syLDMpJworV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2 YWxpZF9hdCBAPiAnMjAxOC0wMS0xNSc6OmRhdGU7CitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUg b24gdGFibGUgInRlbXBvcmFsX3BlciIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAi dGVtcG9yYWxfZmtfcGVyMnBlcl9mayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJwZXIiCitE RVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMS0wMSwyMDE4LTAzLTAx KSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycGVyIi4K Ky0tIGEgUEsgdXBkYXRlIHRoYXQgbG9zZXMgdGltZSBmcm9tIGJvdGggZW5kcywgYnV0IGlzIHN0 aWxsIHZhbGlkOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsKSBWQUxVRVMKKyAgKCdbMiwzKScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDMtMDEnKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwsIHBhcmVudF9pZCkgVkFMVUVTCisgICgnWzUsNiknLCAnMjAxOC0wMS0xNScsICcyMDE4LTAy LTAxJywgJ1syLDMpJyk7CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCB2YWxpZF9mcm9tID0gJzIw MTgtMDEtMTUnLCB2YWxpZF90aWwgPSAnMjAxOC0wMi0xNScKK1dIRVJFIGlkID0gJ1syLDMpJzsK Ky0tIGEgUEsgdXBkYXRlIHRoYXQgZmFpbHMgYmVjYXVzZSBib3RoIGFyZSByZWZlcmVuY2VkOgor VVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE2LTAxLTAxJywgdmFsaWRf dGlsID0gJzIwMTYtMDItMDEnCitXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2Zyb20gPSAn MjAxOC0wMS0wMScgQU5EIHZhbGlkX3RpbCA9ICcyMDE4LTAyLTAxJzsKK0VSUk9SOiAgdXBkYXRl IG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVtcG9yYWxfcGVyIiB2aW9sYXRlcyBmb3JlaWduIGtleSBj b25zdHJhaW50ICJ0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtf cGVyMnBlciIKK0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4LTAxLTAx LDIwMTgtMDItMDEpKSBpcyBzdGlsbCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2Zr X3BlcjJwZXIiLgorLS0gYSBQSyB1cGRhdGUgdGhhdCBmYWlscyBiZWNhdXNlIGJvdGggYXJlIHJl ZmVyZW5jZWQsIGJ1dCBub3QgJ3RpbCBjb21taXQ6CitCRUdJTjsKKyAgQUxURVIgVEFCTEUgdGVt cG9yYWxfZmtfcGVyMnBlcgorICAgIEFMVEVSIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBl cl9maworICAgIERFRkVSUkFCTEUgSU5JVElBTExZIERFRkVSUkVEOworICBVUERBVEUgdGVtcG9y YWxfcGVyIFNFVCB2YWxpZF9mcm9tID0gJzIwMTYtMDEtMDEnLCB2YWxpZF90aWwgPSAnMjAxNi0w Mi0wMScKKyAgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9IGRhdGVyYW5nZSgnMjAx OC0wMS0wMScsICcyMDE4LTAyLTAxJyk7CitDT01NSVQ7CitFUlJPUjogIHVwZGF0ZSBvciBkZWxl dGUgb24gdGFibGUgInRlbXBvcmFsX3BlciIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWlu dCAidGVtcG9yYWxfZmtfcGVyMnBlcl9mayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJwZXIi CitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYpLCBbMjAxOC0wMS0wMSwyMDE4LTAy LTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycGVy Ii4KKy0tIGNoYW5naW5nIHRoZSBzY2FsYXIgcGFydCBmYWlsczoKK1VQREFURSB0ZW1wb3JhbF9w ZXIgU0VUIGlkID0gJ1s3LDgpJworV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9mcm9tID0g JzIwMTgtMDEtMDEnIEFORCB2YWxpZF90aWwgPSAnMjAxOC0wMi0wMSc7CitFUlJPUjogIHVwZGF0 ZSBvciBkZWxldGUgb24gdGFibGUgInRlbXBvcmFsX3BlciIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkg Y29uc3RyYWludCAidGVtcG9yYWxfZmtfcGVyMnBlcl9mayIgb24gdGFibGUgInRlbXBvcmFsX2Zr X3BlcjJwZXIiCitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYpLCBbMjAxOC0wMS0w MSwyMDE4LTAyLTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9m a19wZXIycGVyIi4KKy0tIGNoYW5naW5nIGFuIHVucmVmZXJlbmNlZCBwYXJ0IGlzIG9rYXk6CitV UERBVEUgdGVtcG9yYWxfcGVyCitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAx LTAyJyBUTyAnMjAxOC0wMS0wMycKK1NFVCBpZCA9ICdbNyw4KScKK1dIRVJFIGlkID0gJ1s1LDYp JzsKKy0tIGNoYW5naW5nIGp1c3QgYSBwYXJ0IGZhaWxzOgorVVBEQVRFIHRlbXBvcmFsX3Blcgor Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0wNScgVE8gJzIwMTgtMDEtMTAn CitTRVQgaWQgPSAnWzcsOCknCitXSEVSRSBpZCA9ICdbNSw2KSc7CitFUlJPUjogIHVwZGF0ZSBv ciBkZWxldGUgb24gdGFibGUgInRlbXBvcmFsX3BlciIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29u c3RyYWludCAidGVtcG9yYWxfZmtfcGVyMnBlcl9mayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX3Bl cjJwZXIiCitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYpLCBbMjAxOC0wMS0wMywy MDE4LTAyLTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19w ZXIycGVyIi4KK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkIGluICgnWzUsNikn LCAnWzcsOCknKSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCB2YWxpZF9mcm9tIHwg dmFsaWRfdGlsICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFs1LDYpIHwg MjAxNi0wMi0wMSB8IDIwMTYtMDMtMDEKKyBbNSw2KSB8IDIwMTgtMDEtMDEgfCAyMDE4LTAxLTAy CisgWzUsNikgfCAyMDE4LTAxLTAzIHwgMjAxOC0wMi0wMQorIFs3LDgpIHwgMjAxOC0wMS0wMiB8 IDIwMTgtMDEtMDMKKyg0IHJvd3MpCisKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnBl ciBXSEVSRSBpZCBpbiAoJ1szLDQpJykgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwg dmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMyw0KSB8IDIwMTgtMDEtMDUgfCAyMDE4LTAx LTEwIHwgWzUsNikKKygxIHJvdykKKworLS0gdGhlbiBkZWxldGUgdGhlIG9iamVjdGluZyBGSyBy ZWNvcmQgYW5kIHRoZSBzYW1lIFBLIHVwZGF0ZSBzdWNjZWVkczoKK0RFTEVURSBGUk9NIHRlbXBv cmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzMsNCknOworVVBEQVRFIHRlbXBvcmFsX3BlciBT RVQgdmFsaWRfZnJvbSA9ICcyMDE2LTAxLTAxJywgdmFsaWRfdGlsID0gJzIwMTYtMDItMDEnCitX SEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMScgQU5EIHZhbGlk X3RpbCA9ICcyMDE4LTAyLTAxJzsKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBS RVNUUklDVAorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcGVyMnBlcjsK K0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrX3BlcjJwZXJfZms7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIEFE RCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVu dF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorICBPTiBV UERBVEUgUkVTVFJJQ1Q7CitFUlJPUjogIHVuc3VwcG9ydGVkIE9OIFVQREFURSBhY3Rpb24gZm9y IGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgdXNpbmcgUEVSSU9ECistLQorLS0gdGVzdCBGSyByZWZl cmVuY2VkIGRlbGV0ZXMgTk8gQUNUSU9OCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1w b3JhbF9ma19wZXIycGVyOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICBBREQg Q09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRf aWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXI7CistLSBhIFBL IGRlbGV0ZSB0aGF0IHN1Y2NlZWRzIGJlY2F1c2UgdGhlIG51bWVyaWMgaWQgaXNuJ3QgcmVmZXJl bmNlZDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTICgnWzUsNiknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyk7CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzUsNiknOworLS0gYSBQSyBkZWxldGUgdGhh dCBzdWNjZWVkcyBldmVuIHRob3VnaCB0aGUgbnVtZXJpYyBpZCBpcyByZWZlcmVuY2VkIGJlY2F1 c2UgdGhlIHJhbmdlIGlzbid0OgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMKKyAgKCdbNSw2KScsICcyMDE4LTAxLTAxJywgJzIwMTgt MDItMDEnKSwKKyAgKCdbNSw2KScsICcyMDE4LTAyLTAxJywgJzIwMTgtMDMtMDEnKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBh cmVudF9pZCkgVkFMVUVTICgnWzMsNCknLCAnMjAxOC0wMS0wNScsICcyMDE4LTAxLTEwJywgJ1s1 LDYpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2 YWxpZF9mcm9tID0gJzIwMTgtMDItMDEnIEFORCB2YWxpZF90aWwgPSAnMjAxOC0wMy0wMSc7Cist LSBhIFBLIGRlbGV0ZSB0aGF0IGZhaWxzIGJlY2F1c2UgYm90aCBhcmUgcmVmZXJlbmNlZDoKK0RF TEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2Zyb20g PSAnMjAxOC0wMS0wMScgQU5EIHZhbGlkX3RpbCA9ICcyMDE4LTAyLTAxJzsKK0VSUk9SOiAgdXBk YXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVtcG9yYWxfcGVyIiB2aW9sYXRlcyBmb3JlaWduIGtl eSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxf ZmtfcGVyMnBlciIKK0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4LTAx LTAxLDIwMTgtMDItMDEpKSBpcyBzdGlsbCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFs X2ZrX3BlcjJwZXIiLgorLS0gYSBQSyBkZWxldGUgdGhhdCBmYWlscyBiZWNhdXNlIGJvdGggYXJl IHJlZmVyZW5jZWQsIGJ1dCBub3QgJ3RpbCBjb21taXQ6CitCRUdJTjsKKyAgQUxURVIgVEFCTEUg dGVtcG9yYWxfZmtfcGVyMnBlcgorICAgIEFMVEVSIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVy MnBlcl9maworICAgIERFRkVSUkFCTEUgSU5JVElBTExZIERFRkVSUkVEOworICBERUxFVEUgRlJP TSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9IGRhdGVyYW5n ZSgnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyk7CitDT01NSVQ7CitFUlJPUjogIHVwZGF0ZSBv ciBkZWxldGUgb24gdGFibGUgInRlbXBvcmFsX3BlciIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29u c3RyYWludCAidGVtcG9yYWxfZmtfcGVyMnBlcl9mayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX3Bl cjJwZXIiCitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYpLCBbMjAxOC0wMS0wMSwy MDE4LTAyLTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19w ZXIycGVyIi4KKy0tIGRlbGV0aW5nIGFuIHVucmVmZXJlbmNlZCBwYXJ0IGlzIG9rYXk6CitERUxF VEUgRlJPTSB0ZW1wb3JhbF9wZXIKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgt MDEtMDInIFRPICcyMDE4LTAxLTAzJworV0hFUkUgaWQgPSAnWzUsNiknOworLS0gZGVsZXRpbmcg anVzdCBhIHBhcnQgZmFpbHM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIKK0ZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMDUnIFRPICcyMDE4LTAxLTEwJworV0hFUkUgaWQg PSAnWzUsNiknOworRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9w ZXIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJwZXJf ZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycGVyIgorREVUQUlMOiAgS2V5IChpZCwgdmFs aWRfYXQpPShbNSw2KSwgWzIwMTgtMDEtMDMsMjAxOC0wMi0wMSkpIGlzIHN0aWxsIHJlZmVyZW5j ZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnBlciIuCitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX3BlciBXSEVSRSBpZCBpbiAoJ1s1LDYpJywgJ1s3LDgpJykgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworICBpZCAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgCistLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0KKyBbNSw2KSB8IDIwMTgtMDEtMDEgfCAyMDE4LTAxLTAyCisgWzUs NikgfCAyMDE4LTAxLTAzIHwgMjAxOC0wMi0wMQorKDIgcm93cykKKworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkIGluICgnWzMsNCknKSBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CisgIGlkICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZCAKKy0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFszLDQpIHwgMjAx OC0wMS0wNSB8IDIwMTgtMDEtMTAgfCBbNSw2KQorKDEgcm93KQorCistLSB0aGVuIGRlbGV0ZSB0 aGUgb2JqZWN0aW5nIEZLIHJlY29yZCBhbmQgdGhlIHNhbWUgUEsgZGVsZXRlIHN1Y2NlZWRzOgor REVMRVRFIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMyw0KSc7CitERUxF VEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9mcm9tID0g JzIwMTgtMDEtMDEnIEFORCB2YWxpZF90aWwgPSAnMjAxOC0wMi0wMSc7CistLQorLS0gdGVzdCBG SyByZWZlcmVuY2VkIGRlbGV0ZXMgUkVTVFJJQ1QKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIs IHRlbXBvcmFsX2ZrX3BlcjJwZXI7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisg IERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrOworQUxURVIgVEFCTEUgdGVt cG9yYWxfZmtfcGVyMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2Zr CisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNF UyB0ZW1wb3JhbF9wZXIKKyAgT04gREVMRVRFIFJFU1RSSUNUOworRVJST1I6ICB1bnN1cHBvcnRl ZCBPTiBERUxFVEUgYWN0aW9uIGZvciBmb3JlaWduIGtleSBjb25zdHJhaW50IHVzaW5nIFBFUklP RAorLS0KKy0tIHBlcjJwZXIgdGVzdCBPTiBVUERBVEUvREVMRVRFIG9wdGlvbnMKKy0tCistLSBU T0M6CistLSByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQorLS0gcmVmZXJlbmNlZCBkZWxldGVz IENBU0NBREUKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTAorLS0gcmVmZXJlbmNlZCBk ZWxldGVzIFNFVCBOVUxMCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQKKy0tIHJl ZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVAorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NB REUgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFICh0d28g c2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIg Y29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQor LS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMsIFNFVCBOVUxM IHN1YnNldCkKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBj b2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMp CistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scywgU0VU IERFRkFVTFQgc3Vic2V0KQorLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NB REUKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2ZrX3BlcjJwZXI7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAo J1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxV RVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJyk7CitB TFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3BlcjJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRf YXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyAgICBPTiBERUxFVEUgQ0FTQ0FERSBP TiBVUERBVEUgQ0FTQ0FERTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRl bXBvcmFsX3BlciBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAn MjAyMC0wMS0wMScgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBw YXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbNiw3KQorIFsxMDAs MTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgWzcsOCkKKyBbMTAwLDEwMSkgfCAyMDIw LTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIHVwZGF0 ZToKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3 KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwx MDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZh bGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBb Nyw4KQorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgWzcsOCkKKyBbMTAw LDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs3LDgpCisoMyByb3dzKQorCistLSBG SyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAxOC0wMS0wMScs ICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9t LCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIx LTAxLTAxJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbOSwxMCkn IFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90 aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IDIwMTgtMDEtMDEgfCAyMDIwLTAxLTAxIHwgWzksMTAp CisgWzIwMCwyMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbOCw5KQorKDIgcm93cykK KworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUKKy0tCitUUlVOQ0FU RSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2ZrX3BlcjJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0n LCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24g Ym90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAnWzYsNykn OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAw XScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxp ZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgWzYs NykKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs2LDcpCisoMiByb3dz KQorCistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBp ZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQg PSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgaWQgfCB2YWxpZF9mcm9tIHwg dmFsaWRfdGlsIHwgcGFyZW50X2lkIAorLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0KKygwIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxV RVMgKCdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAn MjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIy cGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAs MjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknKTsKK0RFTEVURSBGUk9N IHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAx LTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9 ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9m cm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0w MS0wMSB8IFs4LDkpCisoMSByb3cpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRl cyBTRVQgTlVMTAorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcGVyMnBl cjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkg VkFMVUVTICgnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRf aWQpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYs NyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgRFJPUCBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3Bl cjJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisg ICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgT04gVVBE QVRFIFNFVCBOVUxMOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9y YWxfcGVyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIw LTAxLTAxJyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVu dF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0K KyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFs2LDcpCisgWzEwMCwxMDEp IHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCAKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwg MjAyMS0wMS0wMSB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK1VQREFU RSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAg fCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCAKKyBbMTAwLDEw MSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8IAorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEg fCAyMDIxLTAxLTAxIHwgCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQg cm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTICgnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4 LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf ZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMg KCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJyk7CitVUERB VEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQg dmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9m a19wZXIycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor ICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8 IDIwMTgtMDEtMDEgfCAyMDIwLTAxLTAxIHwgCisgWzIwMCwyMDEpIHwgMjAyMC0wMS0wMSB8IDIw MjEtMDEtMDEgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBk ZWxldGVzIFNFVCBOVUxMCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19w ZXIycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsKSBWQUxVRVMgKCdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBh cmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScs ICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1w b3JhbF9wZXIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIw MjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtf cGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAg ICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZCAKKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAy MDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8 IDIwMjAtMDEtMDEgfCAKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs2 LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFs X3BlciBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJw ZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQg ICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0w MS0wMSB8IDIwMTktMDEtMDEgfCAKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0w MSB8IAorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgCisoMyByb3dzKQor CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAxOC0w MS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0w MS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUg aWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBw YXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tCisgWzIwMCwyMDEpIHwgMjAxOC0wMS0wMSB8IDIwMjAtMDEtMDEgfCAKKyBbMjAwLDIwMSkg fCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVz dCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQKKy0tCitUUlVOQ0FURSB0ZW1wb3Jh bF9wZXIsIHRlbXBvcmFsX2ZrX3BlcjJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1stMSwtMV0nLCBudWxsLCBudWxsKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFM VUVTICgnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQp IFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNykn KTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgQUxURVIgQ09MVU1OIHBhcmVu dF9pZCBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m a19wZXIycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisg ICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5D RVMgdGVtcG9yYWxfcGVyCisgICAgT04gREVMRVRFIFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQg REVGQVVMVDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3Bl ciBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0w MScgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQg CistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEw MCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIw MTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8 IDIwMjEtMDEtMDEgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERB VEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwg IHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgWy0xLDApCisg WzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbLTEsMCkKKyBbMTAwLDEwMSkg fCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFstMSwwKQorKDMgcm93cykKKworLS0gRksgYWNy b3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAy MC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWws IHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgaWQgPSAnWzksMTApJyBXSEVS RSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8 IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0KKyBbMjAwLDIwMSkgfCAyMDE4LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFstMSwwKQorIFsy MDAsMjAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzgsOSkKKygyIHJvd3MpCisKKy0t CistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVAorLS0KK1RSVU5DQVRF IHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcGVyMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWy0xLC0xXScsIG51bGws IG51bGwpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsKSBWQUxVRVMgKCdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBh cmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScs ICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1w b3JhbF9wZXIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIw MjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtf cGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAg ICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZCAKKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAy MDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8 IDIwMjAtMDEtMDEgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0w MSB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK0RFTEVURSBGUk9NIHRl bXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr X3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Cisg ICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwg MjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAx IHwgMjAyMC0wMS0wMSB8IFstMSwwKQorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAx LTAxIHwgWy0xLDApCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93 czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkg VkFMVUVTICgnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkp JywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtf cGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdb MjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJyk7CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAx OS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUg aWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFs aWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgMjAxOC0wMS0wMSB8IDIw MjAtMDEtMDEgfCBbLTEsMCkKKyBbMjAwLDIwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8 IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FT Q0FERSAodHdvIHNjYWxhciBjb2xzKQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBv cmFsX2ZrMl9wZXIycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0w MScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgn WzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScsICdbNiw3KScp OworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrMl9wZXIycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVy MnBlcl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0Qg dmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVMRVRFIENB U0NBREUgT04gVVBEQVRFIENBU0NBREU7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQ REFURSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEt MDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNykn OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEw MF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFs aWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwg MjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkg fCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFs3LDgpICAgICAgfCBbNiw3KQorIFsxMDAsMTAx KSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisoMyByb3dz KQorCistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9wZXIyIFNFVCBpZDEgPSAn WzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9w ZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAg IGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9p ZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFs3LDgp ICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgWzcs OCkgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBb Nyw4KSAgICAgIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNl ZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIw LTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIw MjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIw MF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitVUERB VEUgdGVtcG9yYWxfcGVyMiBTRVQgaWQxID0gJ1s5LDEwKScgV0hFUkUgaWQxID0gJ1s4LDkpJyBB TkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3Jh bF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBw YXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgMjAxOC0wMS0wMSB8IDIwMjAtMDEtMDEg fCBbOSwxMCkgICAgIHwgWzgsOSkKKyBbMjAwLDIwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0w MSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJl bmNlZCBkZWxldGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29scykKKy0tCitUUlVOQ0FURSB0ZW1w b3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcGVyMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bl cjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2 LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf ZmsyX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVu dF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAn WzYsNyknLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZS T00gdGVtcG9yYWxfcGVyMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAx JyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQx IHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAx LTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEt MDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKygyIHJvd3MpCisKKy0tIG5vbi1GUE8gZGVsZXRl OgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKyBpZCB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgfCBwYXJlbnRf aWQxIHwgcGFyZW50X2lkMiAKKy0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0KKygwIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNl ZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIw LTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIw MjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIw MF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxF VEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIg V0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAg IHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLQorIFsyMDAsMjAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzgsOSkgICAgICB8 IFs4LDkpCisoMSByb3cpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQg TlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBv cmFsX2ZrMl9wZXIycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0w MScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgn WzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScsICdbNiw3KScp OworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrMl9wZXIycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVy MnBlcl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0Qg dmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVMRVRFIFNF VCBOVUxMIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgor VVBEQVRFIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0w MS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3 KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAs MTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2 YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkg fCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAx KSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgICAgICAgICAgICB8IAorIFsxMDAsMTAxKSB8 IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisoMyByb3dzKQor CistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9wZXIyIFNFVCBpZDEgPSAnWzcs OCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIy cGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlk ICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIg CistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8ICAgICAgICAg ICAgfCAKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8ICAgICAgICAgICAg fCAKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8ICAgICAgICAgICAgfCAK KygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElO VE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVT ICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxV RVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBw YXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcGVyMiBT RVQgaWQxID0gJ1s5LDEwKScgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIw MTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVS RSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2 YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t CisgWzIwMCwyMDEpIHwgMjAxOC0wMS0wMSB8IDIwMjAtMDEtMDEgfCAgICAgICAgICAgIHwgCisg WzIwMCwyMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbOCw5KSAgICAgIHwgWzgsOSkK KygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAo dHdvIHNjYWxhciBjb2xzKQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFsX2Zr Ml9wZXIycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScsICcy MDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwx MDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScsICdbNiw3KScpOworLS0g bGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVS RSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVS RSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2 YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t CisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYs NykKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8ICAgICAgICAgICAgfCAK KyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3 KQorKDMgcm93cykKKworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9w ZXIyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIy cGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlk ICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIg CistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8ICAgICAgICAg ICAgfCAKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8ICAgICAgICAgICAg fCAKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8ICAgICAgICAgICAgfCAK KygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElO VE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVT ICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxV RVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBw YXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9w ZXIyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0 ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzIwMCwy MDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZh bGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8 IDIwMTgtMDEtMDEgfCAyMDIwLTAxLTAxIHwgICAgICAgICAgICB8IAorIFsyMDAsMjAxKSB8IDIw MjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzgsOSkgICAgICB8IFs4LDkpCisoMiByb3dzKQorCist LQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29s cywgU0VUIE5VTEwgc3Vic2V0KQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFs X2ZrMl9wZXIycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEw MCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScsICdbNiw3KScpOwor LS0gZmFpbHMgYmVjYXVzZSB5b3UgY2FuJ3Qgc2V0IHRoZSBQRVJJT0QgY29sdW1uOgorQUxURVIg VEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr Ml9wZXIycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBlcl9mawor ICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQp CisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVMRVRFIFNFVCBOVUxMICh2 YWxpZF9hdCkgT04gVVBEQVRFIFNFVCBOVUxMOworRVJST1I6ICBjb2x1bW4gInZhbGlkX2F0IiBy ZWZlcmVuY2VkIGluIE9OIERFTEVURSBTRVQgYWN0aW9uIGNhbm5vdCBiZSBQRVJJT0QKKy0tIG9r OgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrMl9wZXIycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVy MnBlcl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0Qg dmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVMRVRFIFNF VCBOVUxMIChwYXJlbnRfaWQxKSBPTiBVUERBVEUgU0VUIE5VTEw7CistLSBsZWZ0b3ZlcnMgb24g Ym90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3 KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAs MTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2 YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkg fCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAx KSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgICAgICAgICAgICB8IFs2LDcpCisgWzEwMCwx MDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKygzIHJv d3MpCisKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVS RSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVS RSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2 YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t CisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCAgICAgICAgICAgIHwgWzYs NykKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8ICAgICAgICAgICAgfCBb Niw3KQorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgICAgICAgICAgICB8 IFs2LDcpCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVt cG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0w MSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0g J1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zy b20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMjAw LDIwMSkgfCAyMDE4LTAxLTAxIHwgMjAyMC0wMS0wMSB8ICAgICAgICAgICAgfCBbOCw5KQorIFsy MDAsMjAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzgsOSkgICAgICB8IFs4LDkpCiso MiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQg KHR3byBzY2FsYXIgY29scykKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9m azJfcGVyMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWy0xLC0xXScsIG51bGwsIG51bGwp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAx Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIw MTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScsICdbNiw3KScpOworQUxURVIgVEFCTEUg dGVtcG9yYWxfZmsyX3BlcjJwZXIKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFV TFQgJ1stMSwtMV0nLAorICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMiBTRVQgREVGQVVMVCAnWy0x LC0xXScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBlcl9maywKKyAgQURE IENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFy ZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVt cG9yYWxfcGVyMgorICAgIE9OIERFTEVURSBTRVQgREVGQVVMVCBPTiBVUERBVEUgU0VUIERFRkFV TFQ7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9wZXIyIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBT RVQgaWQxID0gJ1s3LDgpJywgaWQyID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGls ICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0w MS0wMSB8IDIwMTktMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCAyMDE5 LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFstMSwwKSAgICAgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCAy MDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykKKwor LS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcGVyMiBTRVQgaWQxID0gJ1s3LDgp JywgaWQyID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEg fCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEt MDEgfCBbLTEsMCkgICAgIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAt MDEtMDEgfCBbLTEsMCkgICAgIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIw MjEtMDEtMDEgfCBbLTEsMCkgICAgIHwgWy0xLDApCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3Mg dHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQy LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMTgt MDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBp ZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAy MC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBl ciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFM VUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScsICdb OCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3BlcjIgU0VUIGlkMSA9ICdbOSwxMCknLCBpZDIgPSAn WzksMTApJyBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6 OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1sy MDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20g fCB2YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMjAwLDIw MSkgfCAyMDE4LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFstMSwwKSAgICAgfCBbLTEsMCkKKyBbMjAw LDIwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIg cm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0 d28gc2NhbGFyIGNvbHMpCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVyMiwgdGVtcG9yYWxfZmsy X3BlcjJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbLTEsLTFdJywgJ1stMSwtMV0nLCBudWxsLCBudWxsKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBv biBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2 LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEw MCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8 IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAx KSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwx MDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbLTEsMCkgICAgIHwgWy0xLDApCisgWzEw MCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKygz IHJvd3MpCisKKy0tIG5vbi1GUE8gdXBkYXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBX SEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBX SEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAg fCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbLTEsMCkgICAgIHwg Wy0xLDApCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbLTEsMCkgICAg IHwgWy0xLDApCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbLTEsMCkg ICAgIHwgWy0xLDApCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93 czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0w MScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAx LTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywg JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZS T00gdGVtcG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAx OS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJF IGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZh bGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0K KyBbMjAwLDIwMSkgfCAyMDE4LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFstMSwwKSAgICAgfCBbLTEs MCkKKyBbMjAwLDIwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs4LDkpICAgICAgfCBb OCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBE RUZBVUxUICh0d28gc2NhbGFyIGNvbHMsIFNFVCBERUZBVUxUIHN1YnNldCkKKy0tCitUUlVOQ0FU RSB0ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcGVyMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1stMSwt MV0nLCAnWzYsNyknLCBudWxsLCBudWxsKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlk MSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywg JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3Bl cjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIp IFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNykn LCAnWzYsNyknKTsKKy0tIGZhaWxzIGJlY2F1c2UgeW91IGNhbid0IHNldCB0aGUgUEVSSU9EIGNv bHVtbjoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycGVyCisgIEFMVEVSIENPTFVNTiBw YXJlbnRfaWQxIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrMl9wZXIycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBl cl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFs aWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVMRVRFIFNFVCBE RUZBVUxUICh2YWxpZF9hdCkgT04gVVBEQVRFIFNFVCBERUZBVUxUOworRVJST1I6ICBjb2x1bW4g InZhbGlkX2F0IiByZWZlcmVuY2VkIGluIE9OIERFTEVURSBTRVQgYWN0aW9uIGNhbm5vdCBiZSBQ RVJJT0QKKy0tIG9rOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJwZXIKKyAgQUxURVIg Q09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr Ml9wZXIycGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBF UklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIKKyAgICBPTiBERUxF VEUgU0VUIERFRkFVTFQgKHBhcmVudF9pZDEpIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxl ZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUg aWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUg aWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFs aWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQor IFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcp CisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbLTEsMCkgICAgIHwgWzYs NykKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs2LDcpICAgICAgfCBb Niw3KQorKDMgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitERUxFVEUgRlJPTSB0ZW1wb3Jh bF9wZXIyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9w ZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAg IGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9p ZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFstMSww KSAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0x LDApICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBb LTEsMCkgICAgIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNl ZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIw LTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIw MjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWzgsOSknLCBudWxsLCBudWxsKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1w b3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAx Jzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAn WzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJv bSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAs MjAxKSB8IDIwMTgtMDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0xLDApICAgICB8IFs4LDkpCisgWzIw MCwyMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbOCw5KSAgICAgIHwgWzgsOSkKKygy IHJvd3MpCisKKy0tCistLSB0ZXN0IEZPUkVJR04gS0VZLCByYW5nZSByZWZlcmVuY2VzIFBFUklP RAorLS0KKy0tIHRlc3QgdGFibGUgc2V0dXAKK0RST1AgVEFCTEUgdGVtcG9yYWxfcGVyIENBU0NB REU7CitOT1RJQ0U6ICBkcm9wIGNhc2NhZGVzIHRvIGNvbnN0cmFpbnQgdGVtcG9yYWxfZmtfcGVy MnBlcl9mayBvbiB0YWJsZSB0ZW1wb3JhbF9ma19wZXIycGVyCitDUkVBVEUgVEFCTEUgdGVtcG9y YWxfcGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3Rp bCBkYXRlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpCisp OworQUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX3Bl cl9waworICBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpOworLS0g Q2FuJ3QgY3JlYXRlIGEgRksgd2l0aCBhIG1pc21hdGNoZWQgcmFuZ2UgdHlwZQorQ1JFQVRFIFRB QkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGlu dDRyYW5nZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m a19ybmcycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyks CisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50 X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCBQ RVJJT0QgdmFsaWRfYXQpCispOworRVJST1I6ICBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1w b3JhbF9ma19ybmcycGVyX2ZrIiBjYW5ub3QgYmUgaW1wbGVtZW50ZWQKK0RFVEFJTDogIEtleSBj b2x1bW5zICJ2YWxpZF9hdCIgb2YgdGhlIHJlZmVyZW5jaW5nIHRhYmxlIGFuZCAidmFsaWRfYXQi IG9mIHRoZSByZWZlcmVuY2VkIHRhYmxlIGFyZSBvZiBpbmNvbXBhdGlibGUgdHlwZXM6IGludDRy YW5nZSBhbmQgZGF0ZXJhbmdlLgorLS0gd29ya3M6IFBFUklPRCBmb3IgcmVmZXJlbmNlZCwgcmFu Z2UgZm9yIHJlZmVyZW5jaW5nCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlciAoCisg IGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAorICBwYXJlbnRfaWQgaW50NHJh bmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfcGsgUFJJTUFSWSBLRVkgKGlk LCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19y bmcycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBS RUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIFBFUklPRCB2YWxpZF9hdCkKKyk7CitcZCB0ZW1w b3JhbF9ma19ybmcycGVyCisgICAgICAgICAgIFRhYmxlICJwdWJsaWMudGVtcG9yYWxfZmtfcm5n MnBlciIKKyAgQ29sdW1uICAgfCAgIFR5cGUgICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERl ZmF1bHQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0t LS0tLS0tLQorIGlkICAgICAgICB8IGludDRyYW5nZSB8ICAgICAgICAgICB8IG5vdCBudWxsIHwg CisgdmFsaWRfYXQgIHwgZGF0ZXJhbmdlIHwgICAgICAgICAgIHwgbm90IG51bGwgfCAKKyBwYXJl bnRfaWQgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorSW5kZXhlczoKKyAg ICAidGVtcG9yYWxfZmtfcm5nMnBlcl9wayIgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRI T1VUIE9WRVJMQVBTKQorRm9yZWlnbi1rZXkgY29uc3RyYWludHM6CisgICAgInRlbXBvcmFsX2Zr X3JuZzJwZXJfZmsiIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkgUkVG RVJFTkNFUyB0ZW1wb3JhbF9wZXIoaWQsIFBFUklPRCB2YWxpZF9hdCkKKworRFJPUCBUQUJMRSB0 ZW1wb3JhbF9ma19ybmcycGVyOworLS0gd2l0aCBtaXNtYXRjaGVkIFBFUklPRCBjb2x1bW5zOgor LS0gKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIChpZCwgdmFsaWRfYXQp CistLSBSRUZFUkVOQ0VTIHBhcnQgc2hvdWxkIHNwZWNpZnkgUEVSSU9ECitDUkVBVEUgVEFCTEUg dGVtcG9yYWxfZmtfcm5nMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJh bmdlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3Ju ZzJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAg Q09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQs IFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlk X2F0KQorKTsKK0VSUk9SOiAgZm9yZWlnbiBrZXkgdXNlcyBQRVJJT0Qgb24gdGhlIHJlZmVyZW5j aW5nIHRhYmxlIGJ1dCBub3QgdGhlIHJlZmVyZW5jZWQgdGFibGUKKy0tIChwYXJlbnRfaWQsIHZh bGlkX2F0KSBSRUZFUkVOQ0VTIChpZCwgdmFsaWRfYXQpCistLSBib3RoIHNob3VsZCBzcGVjaWZ5 IFBFUklPRDoKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyICgKKyAgaWQgaW50NHJh bmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENP TlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0 IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsg Rk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3Jh bF9wZXIgKGlkLCB2YWxpZF9hdCkKKyk7CitFUlJPUjogIGZvcmVpZ24ga2V5IG11c3QgdXNlIFBF UklPRCB3aGVuIHJlZmVyZW5jaW5nIGEgcHJpbWFyeSBrZXkgdXNpbmcgV0lUSE9VVCBPVkVSTEFQ UworLS0gKHBhcmVudF9pZCwgdmFsaWRfYXQpIFJFRkVSRU5DRVMgKGlkLCBQRVJJT0QgdmFsaWRf YXQpCistLSBGT1JFSUdOIEtFWSBwYXJ0IHNob3VsZCBzcGVjaWZ5IFBFUklPRAorQ1JFQVRFIFRB QkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRh dGVyYW5nZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m a19ybmcycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyks CisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50 X2lkLCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIFBFUklPRCB2 YWxpZF9hdCkKKyk7CitFUlJPUjogIGZvcmVpZ24ga2V5IHVzZXMgUEVSSU9EIG9uIHRoZSByZWZl cmVuY2VkIHRhYmxlIGJ1dCBub3QgdGhlIHJlZmVyZW5jaW5nIHRhYmxlCistLSAocGFyZW50X2lk LCB2YWxpZF9hdCkgUkVGRVJFTkNFUyBbaW1wbGljaXRdCistLSBGT1JFSUdOIEtFWSBwYXJ0IHNo b3VsZCBzcGVjaWZ5IFBFUklPRAorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKAor ICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgcGFyZW50X2lkIGludDRy YW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX3BrIFBSSU1BUlkgS0VZIChp ZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtf cm5nMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCB2YWxpZF9hdCkKKyAgICBSRUZFUkVO Q0VTIHRlbXBvcmFsX3BlcgorKTsKK0VSUk9SOiAgZm9yZWlnbiBrZXkgdXNlcyBQRVJJT0Qgb24g dGhlIHJlZmVyZW5jZWQgdGFibGUgYnV0IG5vdCB0aGUgcmVmZXJlbmNpbmcgdGFibGUKKy0tIChw YXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNFUyAoaWQpCitDUkVBVEUgVEFCTEUg dGVtcG9yYWxfZmtfcm5nMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJh bmdlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3Ju ZzJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAg Q09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQs IFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQpCispOwor RVJST1I6ICBmb3JlaWduIGtleSB1c2VzIFBFUklPRCBvbiB0aGUgcmVmZXJlbmNpbmcgdGFibGUg YnV0IG5vdCB0aGUgcmVmZXJlbmNlZCB0YWJsZQorLS0gKHBhcmVudF9pZCkgUkVGRVJFTkNFUyAo aWQsIFBFUklPRCB2YWxpZF9hdCkKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyICgK KyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIHBhcmVudF9pZCBpbnQ0 cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9wayBQUklNQVJZIEtFWSAo aWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr X3JuZzJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBv cmFsX3BlciAoaWQsIFBFUklPRCB2YWxpZF9hdCkKKyk7CitFUlJPUjogIGZvcmVpZ24ga2V5IHVz ZXMgUEVSSU9EIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlIGJ1dCBub3QgdGhlIHJlZmVyZW5jaW5n IHRhYmxlCistLSB3aXRoIGluZmVycmVkIFBLIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlOgorLS0g KHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIFtpbXBsaWNpdF0KK0NSRUFU RSBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9h dCBkYXRlcmFuZ2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9y YWxfZmtfcm5nMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxB UFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsgRk9SRUlHTiBLRVkgKHBh cmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyCisp OworRFJPUCBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyOworLS0gKHBhcmVudF9pZCkgUkVGRVJF TkNFUyBbaW1wbGljaXRdCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlciAoCisgIGlk IGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAorICBwYXJlbnRfaWQgaW50NHJhbmdl LAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2 YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcy cGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9w ZXIKKyk7CitFUlJPUjogIGZvcmVpZ24ga2V5IHVzZXMgUEVSSU9EIG9uIHRoZSByZWZlcmVuY2Vk IHRhYmxlIGJ1dCBub3QgdGhlIHJlZmVyZW5jaW5nIHRhYmxlCistLSBzaG91bGQgZmFpbCBiZWNh dXNlIG9mIGR1cGxpY2F0ZSByZWZlcmVuY2VkIGNvbHVtbnM6CitDUkVBVEUgVEFCTEUgdGVtcG9y YWxfZmtfcm5nMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAor ICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJf cGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RS QUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklP RCBwYXJlbnRfaWQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCBQRVJJT0QgaWQp CispOworRVJST1I6ICBmb3JlaWduIGtleSByZWZlcmVuY2VkLWNvbHVtbnMgbGlzdCBtdXN0IG5v dCBjb250YWluIGR1cGxpY2F0ZXMKKy0tIFR3byBzY2FsYXIgY29sdW1ucworRFJPUCBUQUJMRSB0 ZW1wb3JhbF9wZXIyIENBU0NBREU7CitOT1RJQ0U6ICBkcm9wIGNhc2NhZGVzIHRvIGNvbnN0cmFp bnQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfZmsgb24gdGFibGUgdGVtcG9yYWxfZmsyX3BlcjJwZXIK K0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9wZXIyICgKKyAgaWQxIGludDRyYW5nZSwKKyAgaWQyIGlu dDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgUEVSSU9E IEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1w b3JhbF9wZXIyX3BrIFBSSU1BUlkgS0VZIChpZDEsIGlkMiwgdmFsaWRfYXQgV0lUSE9VVCBPVkVS TEFQUykKKyk7CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmsyX3JuZzJwZXIgKAorICBpZCBpbnQ0 cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgcGFyZW50X2lkMSBpbnQ0cmFuZ2UsCisg IHBhcmVudF9pZDIgaW50NHJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVy X3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNU UkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBh cmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIg KGlkMSwgaWQyLCBQRVJJT0QgdmFsaWRfYXQpCispOworXGQgdGVtcG9yYWxfZmsyX3JuZzJwZXIK KyAgICAgICAgICAgVGFibGUgInB1YmxpYy50ZW1wb3JhbF9mazJfcm5nMnBlciIKKyAgIENvbHVt biAgIHwgICBUeXBlICAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0IAorLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tCisgaWQg ICAgICAgICB8IGludDRyYW5nZSB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgCisgdmFsaWRfYXQg ICB8IGRhdGVyYW5nZSB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgCisgcGFyZW50X2lkMSB8IGlu dDRyYW5nZSB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgcGFyZW50X2lkMiB8IGludDRyYW5n ZSB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCitJbmRleGVzOgorICAgICJ0ZW1wb3JhbF9mazJf cm5nMnBlcl9wayIgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQor Rm9yZWlnbi1rZXkgY29uc3RyYWludHM6CisgICAgInRlbXBvcmFsX2ZrMl9ybmcycGVyX2ZrIiBG T1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KSBSRUZF UkVOQ0VTIHRlbXBvcmFsX3BlcjIoaWQxLCBpZDIsIFBFUklPRCB2YWxpZF9hdCkKKworRFJPUCBU QUJMRSB0ZW1wb3JhbF9mazJfcm5nMnBlcjsKKy0tCistLSB0ZXN0IEFMVEVSIFRBQkxFIEFERCBD T05TVFJBSU5UCistLQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKAorICBpZCBp bnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwK KyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFs aWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcy cGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsKKyAgRk9SRUlHTiBL RVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3Bl ciAoaWQsIFBFUklPRCB2YWxpZF9hdCk7CistLSBUd28gc2NhbGFyIGNvbHVtbnM6CitDUkVBVEUg VEFCTEUgdGVtcG9yYWxfZmsyX3JuZzJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0 IGRhdGVyYW5nZSwKKyAgcGFyZW50X2lkMSBpbnQ0cmFuZ2UsCisgIHBhcmVudF9pZDIgaW50NHJh bmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX3BrIFBSSU1BUlkgS0VZIChp ZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9m azJfcm5nMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maworICBG T1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICBS RUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCBQRVJJT0QgdmFsaWRfYXQpOworXGQg dGVtcG9yYWxfZmsyX3JuZzJwZXIKKyAgICAgICAgICAgVGFibGUgInB1YmxpYy50ZW1wb3JhbF9m azJfcm5nMnBlciIKKyAgIENvbHVtbiAgIHwgICBUeXBlICAgIHwgQ29sbGF0aW9uIHwgTnVsbGFi bGUgfCBEZWZhdWx0IAorLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0rLS0tLS0tLS0tCisgaWQgICAgICAgICB8IGludDRyYW5nZSB8ICAgICAgICAgICB8IG5v dCBudWxsIHwgCisgdmFsaWRfYXQgICB8IGRhdGVyYW5nZSB8ICAgICAgICAgICB8IG5vdCBudWxs IHwgCisgcGFyZW50X2lkMSB8IGludDRyYW5nZSB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisg cGFyZW50X2lkMiB8IGludDRyYW5nZSB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCitJbmRleGVz OgorICAgICJ0ZW1wb3JhbF9mazJfcm5nMnBlcl9wayIgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9h dCBXSVRIT1VUIE9WRVJMQVBTKQorRm9yZWlnbi1rZXkgY29uc3RyYWludHM6CisgICAgInRlbXBv cmFsX2ZrMl9ybmcycGVyX2ZrIiBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwg UEVSSU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIoaWQxLCBpZDIsIFBFUklP RCB2YWxpZF9hdCkKKworLS0gd2l0aCBpbmZlcnJlZCBQSyBvbiB0aGUgcmVmZXJlbmNlZCB0YWJs ZSwgYW5kIHdyb25nIGNvbHVtbiB0eXBlOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBl cgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maywKKyAgQUxURVIgQ09M VU1OIHZhbGlkX2F0IFRZUEUgdHNyYW5nZSBVU0lORyB0c3JhbmdlKGxvd2VyKHZhbGlkX2F0KSwg dXBwZXIodmFsaWRfYXQpKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgQURE IENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50 X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyOworRVJST1I6 ICBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIiBjYW5ub3Qg YmUgaW1wbGVtZW50ZWQKK0RFVEFJTDogIEtleSBjb2x1bW5zICJ2YWxpZF9hdCIgb2YgdGhlIHJl ZmVyZW5jaW5nIHRhYmxlIGFuZCAidmFsaWRfYXQiIG9mIHRoZSByZWZlcmVuY2VkIHRhYmxlIGFy ZSBvZiBpbmNvbXBhdGlibGUgdHlwZXM6IHRzcmFuZ2UgYW5kIGRhdGVyYW5nZS4KK0FMVEVSIFRB QkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgQUxURVIgQ09MVU1OIHZhbGlkX2F0IFRZUEUgZGF0 ZXJhbmdlIFVTSU5HIGRhdGVyYW5nZShsb3dlcih2YWxpZF9hdCk6OmRhdGUsIHVwcGVyKHZhbGlk X2F0KTo6ZGF0ZSk7CistLSB3aXRoIGluZmVycmVkIFBLIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxl OgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1w b3JhbF9ma19ybmcycGVyX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxp ZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXI7CistLSBzaG91bGQgZmFpbCBiZWNhdXNl IG9mIGR1cGxpY2F0ZSByZWZlcmVuY2VkIGNvbHVtbnM6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9m a19ybmcycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsyCisgIEZP UkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCBwYXJlbnRfaWQpCisgIFJFRkVSRU5DRVMgdGVt cG9yYWxfcGVyIChpZCwgUEVSSU9EIGlkKTsKK0VSUk9SOiAgZm9yZWlnbiBrZXkgcmVmZXJlbmNl ZC1jb2x1bW5zIGxpc3QgbXVzdCBub3QgY29udGFpbiBkdXBsaWNhdGVzCistLQorLS0gdGVzdCB3 aXRoIHJvd3MgYWxyZWFkeQorLS0KK0RFTEVURSBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXI7CitE RUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUworICAoJ1sxLDIpJywgJzIwMTgtMDEtMDInLCAn MjAxOC0wMi0wMycpLAorICAoJ1sxLDIpJywgJzIwMTgtMDMtMDMnLCAnMjAxOC0wNC0wNCcpLAor ICAoJ1syLDMpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMS0wNScpLAorICAoJ1szLDQpJywgJzIw MTgtMDEtMDEnLCBOVUxMKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgRFJP UCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZms7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEsMiknLCAn WzIwMTgtMDEtMDIsMjAxOC0wMi0wMSknLCAnWzEsMiknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFs X2ZrX3JuZzJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maworICBG T1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVt cG9yYWxfcGVyOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBEUk9QIENPTlNU UkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mazsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3Ju ZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMiwzKScsICdbMjAxOC0w MS0wMiwyMDE4LTA0LTAxKScsICdbMSwyKScpOworLS0gc2hvdWxkIGZhaWw6CitBTFRFUiBUQUJM RSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJw ZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZF UkVOQ0VTIHRlbXBvcmFsX3BlcjsKK0VSUk9SOiAgaW5zZXJ0IG9yIHVwZGF0ZSBvbiB0YWJsZSAi dGVtcG9yYWxfZmtfcm5nMnBlciIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVt cG9yYWxfZmtfcm5nMnBlcl9mayIKK0RFVEFJTDogIEtleSAocGFyZW50X2lkLCB2YWxpZF9hdCk9 KFsxLDIpLCBbMjAxOC0wMS0wMiwyMDE4LTA0LTAxKSkgaXMgbm90IHByZXNlbnQgaW4gdGFibGUg InRlbXBvcmFsX3BlciIuCistLSBva2F5IGFnYWluOgorREVMRVRFIEZST00gdGVtcG9yYWxfZmtf cm5nMnBlcjsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgQUREIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJ T0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyOworLS0KKy0tIHRlc3QgcGdf Z2V0X2NvbnN0cmFpbnRkZWYKKy0tCitTRUxFQ1QgcGdfZ2V0X2NvbnN0cmFpbnRkZWYob2lkKSBG Uk9NIHBnX2NvbnN0cmFpbnQgV0hFUkUgY29ubmFtZSA9ICd0ZW1wb3JhbF9ma19ybmcycGVyX2Zr JzsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBnX2dldF9jb25zdHJhaW50ZGVm ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KSBSRUZF UkVOQ0VTIHRlbXBvcmFsX3BlcihpZCwgUEVSSU9EIHZhbGlkX2F0KQorKDEgcm93KQorCistLQor LS0gdGVzdCBGSyByZWZlcmVuY2luZyBpbnNlcnRzCistLQorSU5TRVJUIElOVE8gdGVtcG9yYWxf Zmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxLDIpJywgJ1sy MDE4LTAxLTAyLDIwMTgtMDItMDEpJywgJ1sxLDIpJyk7CistLSBzaG91bGQgZmFpbDoKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxV RVMgKCdbMiwzKScsICdbMjAxOC0wMS0wMiwyMDE4LTA0LTAxKScsICdbMSwyKScpOworRVJST1I6 ICBpbnNlcnQgb3IgdXBkYXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycGVyIiB2aW9sYXRl cyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIgorREVUQUlM OiAgS2V5IChwYXJlbnRfaWQsIHZhbGlkX2F0KT0oWzEsMiksIFsyMDE4LTAxLTAyLDIwMTgtMDQt MDEpKSBpcyBub3QgcHJlc2VudCBpbiB0YWJsZSAidGVtcG9yYWxfcGVyIi4KKy0tIG5vdyBpdCBz aG91bGQgd29yazoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMi0wMycsICcyMDE4LTAzLTAzJyk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkg VkFMVUVTICgnWzIsMyknLCAnWzIwMTgtMDEtMDIsMjAxOC0wNC0wMSknLCAnWzEsMiknKTsKKy0t CistLSB0ZXN0IEZLIHJlZmVyZW5jaW5nIHVwZGF0ZXMKKy0tCistLSBzbGlkZSB0aGUgZWRnZSBh Y3Jvc3MgYSByZWZlcmVuY2VkIHRyYW5zaXRpb246CitVUERBVEUgdGVtcG9yYWxfZmtfcm5nMnBl ciBTRVQgdmFsaWRfYXQgPSAnWzIwMTgtMDEtMDIsMjAxOC0wMi0yMCknIFdIRVJFIGlkID0gJ1sx LDIpJzsKKy0tIHNob3VsZCBmYWlsOgorVVBEQVRFIHRlbXBvcmFsX2ZrX3JuZzJwZXIgU0VUIHZh bGlkX2F0ID0gJ1syMDE4LTAxLTAyLDIwMTgtMDUtMDEpJyBXSEVSRSBpZCA9ICdbMSwyKSc7CitF UlJPUjogIGluc2VydCBvciB1cGRhdGUgb24gdGFibGUgInRlbXBvcmFsX2ZrX3JuZzJwZXIiIHZp b2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsiCitE RVRBSUw6ICBLZXkgKHBhcmVudF9pZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIwMTgtMDEtMDIsMjAx OC0wNS0wMSkpIGlzIG5vdCBwcmVzZW50IGluIHRhYmxlICJ0ZW1wb3JhbF9wZXIiLgorVVBEQVRF IHRlbXBvcmFsX2ZrX3JuZzJwZXIgU0VUIHBhcmVudF9pZCA9ICdbOCw5KScgV0hFUkUgaWQgPSAn WzEsMiknOworRVJST1I6ICBpbnNlcnQgb3IgdXBkYXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19y bmcycGVyIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19ybmcy cGVyX2ZrIgorREVUQUlMOiAgS2V5IChwYXJlbnRfaWQsIHZhbGlkX2F0KT0oWzgsOSksIFsyMDE4 LTAxLTAyLDIwMTgtMDItMjApKSBpcyBub3QgcHJlc2VudCBpbiB0YWJsZSAidGVtcG9yYWxfcGVy Ii4KKy0tIEFMVEVSIEZLIERFRkVSUkFCTEUKK0JFR0lOOworICBJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUworICAgICgnWzUsNiknLCAn MjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyksCisgICAgKCdbNSw2KScsICcyMDE4LTAyLTAxJywg JzIwMTgtMDMtMDEnKTsKKyAgSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZh bGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUworICAgICgnWzMsNCknLCAnWzIwMTgtMDEtMDUsMjAx OC0wMS0xMCknLCAnWzUsNiknKTsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgor ICAgIEFMVEVSIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maworICAgIERFRkVSUkFC TEUgSU5JVElBTExZIERFRkVSUkVEOworICBERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUg aWQgPSAnWzUsNiknOyAtLXNob3VsZCBub3QgZmFpbCB5ZXQuCitDT01NSVQ7IC0tIHNob3VsZCBm YWlsIGhlcmUuCitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRlbXBvcmFsX3Bl ciIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcm5nMnBlcl9m ayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX3JuZzJwZXIiCitERVRBSUw6ICBLZXkgKGlkLCB2YWxp ZF9hdCk9KFs1LDYpLCBbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNl ZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycGVyIi4KKy0tCistLSB0ZXN0IEZLIHJlZmVy ZW5jZWQgdXBkYXRlcyBOTyBBQ1RJT04KKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBv cmFsX2ZrX3JuZzJwZXI7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIERST1Ag Q09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrOworQUxURVIgVEFCTEUgdGVtcG9yYWxf Zmtfcm5nMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrCisgIEZP UkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1w b3JhbF9wZXIKKyAgT04gVVBEQVRFIE5PIEFDVElPTjsKKy0tIGEgUEsgdXBkYXRlIHRoYXQgc3Vj Y2VlZHMgYmVjYXVzZSB0aGUgbnVtZXJpYyBpZCBpc24ndCByZWZlcmVuY2VkOgorSU5TRVJUIElO VE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNSw2 KScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VU IHZhbGlkX2Zyb20gPSAnMjAxNi0wMS0wMScsIHZhbGlkX3RpbCA9ICcyMDE2LTAyLTAxJyBXSEVS RSBpZCA9ICdbNSw2KSc7CistLSBhIFBLIHVwZGF0ZSB0aGF0IHN1Y2NlZWRzIGV2ZW4gdGhvdWdo IHRoZSBudW1lcmljIGlkIGlzIHJlZmVyZW5jZWQgYmVjYXVzZSB0aGUgcmFuZ2UgaXNuJ3Q6CitE RUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzUsNiknOworSU5TRVJUIElOVE8g dGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMKKyAgKCdbNSw2 KScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKSwKKyAgKCdbNSw2KScsICcyMDE4LTAyLTAx JywgJzIwMTgtMDMtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2 YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMKKyAgKCdbMyw0KScsICdbMjAxOC0wMS0wNSwyMDE4 LTAxLTEwKScsICdbNSw2KScpOworVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9 ICcyMDE2LTAyLTAxJywgdmFsaWRfdGlsID0gJzIwMTYtMDMtMDEnCitXSEVSRSBpZCA9ICdbNSw2 KScgQU5EIHZhbGlkX2Zyb20gPSAnMjAxOC0wMi0wMScgQU5EIHZhbGlkX3RpbCA9ICcyMDE4LTAz LTAxJzsKKy0tIEEgUEsgdXBkYXRlIHNsaWRpbmcgdGhlIGVkZ2UgYmV0d2VlbiB0d28gcmVmZXJl bmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsKSBWQUxVRVMKKyAgKCdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKSwK KyAgKCdbNiw3KScsICcyMDE4LTAyLTAxJywgJzIwMTgtMDMtMDEnKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMKKyAgKCdb NCw1KScsICdbMjAxOC0wMS0xNSwyMDE4LTAyLTE1KScsICdbNiw3KScpOworVVBEQVRFIHRlbXBv cmFsX3BlcgorU0VUIHZhbGlkX2Zyb20gPSBDQVNFIFdIRU4gdmFsaWRfZnJvbSA9ICcyMDE4LTAx LTAxJyBUSEVOICcyMDE4LTAxLTAxJworICAgICAgICAgICAgICAgICAgICAgIFdIRU4gdmFsaWRf ZnJvbSA9ICcyMDE4LTAyLTAxJyBUSEVOICcyMDE4LTAxLTA1JyBFTkQ6OmRhdGUsCisgICAgdmFs aWRfdGlsID0gIENBU0UgV0hFTiB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDEnIFRIRU4gJzIwMTgt MDEtMDUnCisgICAgICAgICAgICAgICAgICAgICAgV0hFTiB2YWxpZF9mcm9tID0gJzIwMTgtMDIt MDEnIFRIRU4gJzIwMTgtMDMtMDEnIEVORDo6ZGF0ZQorV0hFUkUgaWQgPSAnWzYsNyknOworLS0g YSBQSyB1cGRhdGUgc2hyaW5raW5nIHRoZSByZWZlcmVuY2VkIHJhbmdlIGJ1dCBzdGlsbCB2YWxp ZDoKKy0tIFRoZXJlIGFyZSB0d28gcmVmZXJlbmNlczogb25lIGZ1bGZpbGxlZCBieSB0aGUgZmly c3QgcGsgcm93LAorLS0gdGhlIG90aGVyIGZ1bGZpbGxlZCBieSBib3RoIHBrIHJvd3MgY29tYmlu ZWQuCitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUworICAoJ1sxLDIpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMy0wMScpLAorICAoJ1sx LDIpJywgJzIwMTgtMDMtMDEnLCAnMjAxOC0wNi0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf Zmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUworICAoJ1sxLDIpJywg J1syMDE4LTAxLTE1LDIwMTgtMDItMDEpJywgJ1sxLDIpJyksCisgICgnWzIsMyknLCAnWzIwMTgt MDEtMTUsMjAxOC0wNS0wMSknLCAnWzEsMiknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIHZh bGlkX2Zyb20gPSAnMjAxOC0wMS0xNScsIHZhbGlkX3RpbCA9ICcyMDE4LTAzLTAxJworV0hFUkUg aWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCBAPiAnMjAxOC0wMS0xNSc6OmRhdGU7CistLSBhIFBL IHVwZGF0ZSBncm93aW5nIHRoZSByZWZlcmVuY2VkIHJhbmdlIGlzIGZpbmU6CitVUERBVEUgdGVt cG9yYWxfcGVyIFNFVCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDEnLCB2YWxpZF90aWwgPSAnMjAx OC0wMy0wMScKK1dIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTgtMDEtMjUn OjpkYXRlOworLS0gYSBQSyB1cGRhdGUgc2hyaW5raW5nIHRoZSByZWZlcmVuY2VkIHJhbmdlIGFu ZCBjaGFuZ2luZyB0aGUgaWQgaW52YWxpZGF0ZXMgdGhlIHdob2xlIHJhbmdlOgorVVBEQVRFIHRl bXBvcmFsX3BlciBTRVQgaWQgPSAnWzIsMyknLCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMTUnLCB2 YWxpZF90aWwgPSAnMjAxOC0wMy0wMScKK1dIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQg QD4gJzIwMTgtMDEtMTUnOjpkYXRlOworRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxl ICJ0ZW1wb3JhbF9wZXIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFs X2ZrX3JuZzJwZXJfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycGVyIgorREVUQUlMOiAg S2V5IChpZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIwMTgtMDEtMDEsMjAxOC0wMy0wMSkpIGlzIHN0 aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnBlciIuCistLSBhIFBL IHVwZGF0ZSBjaGFuZ2luZyBvbmx5IHRoZSBpZCBpbnZhbGlkYXRlcyB0aGUgd2hvbGUgcmFuZ2U6 CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbMiwzKScKK1dIRVJFIGlkID0gJ1sxLDIp JyBBTkQgdmFsaWRfYXQgQD4gJzIwMTgtMDEtMTUnOjpkYXRlOworRVJST1I6ICB1cGRhdGUgb3Ig ZGVsZXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9wZXIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0 cmFpbnQgInRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcy cGVyIgorREVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIwMTgtMDEtMDEsMjAx OC0wMy0wMSkpIGlzIHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcm5n MnBlciIuCistLSBhIFBLIHVwZGF0ZSB0aGF0IGxvc2VzIHRpbWUgZnJvbSBib3RoIGVuZHMsIGJ1 dCBpcyBzdGlsbCB2YWxpZDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTCisgICgnWzIsMyknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAz LTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBh cmVudF9pZCkgVkFMVUVTCisgICgnWzUsNiknLCAnWzIwMTgtMDEtMTUsMjAxOC0wMi0wMSknLCAn WzIsMyknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0x NScsIHZhbGlkX3RpbCA9ICcyMDE4LTAyLTE1JworV0hFUkUgaWQgPSAnWzIsMyknOworLS0gYSBQ SyB1cGRhdGUgdGhhdCBmYWlscyBiZWNhdXNlIGJvdGggYXJlIHJlZmVyZW5jZWQ6CitVUERBVEUg dGVtcG9yYWxfcGVyIFNFVCB2YWxpZF9mcm9tID0gJzIwMTYtMDEtMDEnLCB2YWxpZF90aWwgPSAn MjAxNi0wMi0wMScKK1dIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfZnJvbSA9ICcyMDE4LTAx LTAxJyBBTkQgdmFsaWRfdGlsID0gJzIwMTgtMDItMDEnOworRVJST1I6ICB1cGRhdGUgb3IgZGVs ZXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9wZXIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFp bnQgInRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycGVy IgorREVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEtMDEsMjAxOC0w Mi0wMSkpIGlzIHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnBl ciIuCistLSBhIFBLIHVwZGF0ZSB0aGF0IGZhaWxzIGJlY2F1c2UgYm90aCBhcmUgcmVmZXJlbmNl ZCwgYnV0IG5vdCAndGlsIGNvbW1pdDoKK0JFR0lOOworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9m a19ybmcycGVyCisgICAgQUxURVIgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrCisg ICAgREVGRVJSQUJMRSBJTklUSUFMTFkgREVGRVJSRUQ7CisgIFVQREFURSB0ZW1wb3JhbF9wZXIg U0VUIHZhbGlkX2Zyb20gPSAnMjAxNi0wMS0wMScsIHZhbGlkX3RpbCA9ICcyMDE2LTAyLTAxJwor ICBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gZGF0ZXJhbmdlKCcyMDE4LTAxLTAx JywgJzIwMTgtMDItMDEnKTsKK0NPTU1JVDsKK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0 YWJsZSAidGVtcG9yYWxfcGVyIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1w b3JhbF9ma19ybmcycGVyX2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnBlciIKK0RFVEFJ TDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4LTAxLTAxLDIwMTgtMDItMDEpKSBp cyBzdGlsbCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX3JuZzJwZXIiLgorLS0g Y2hhbmdpbmcgdGhlIHNjYWxhciBwYXJ0IGZhaWxzOgorVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQg aWQgPSAnWzcsOCknCitXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2Zyb20gPSAnMjAxOC0w MS0wMScgQU5EIHZhbGlkX3RpbCA9ICcyMDE4LTAyLTAxJzsKK0VSUk9SOiAgdXBkYXRlIG9yIGRl bGV0ZSBvbiB0YWJsZSAidGVtcG9yYWxfcGVyIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJh aW50ICJ0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnBl ciIKK0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4LTAxLTAxLDIwMTgt MDItMDEpKSBpcyBzdGlsbCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX3JuZzJw ZXIiLgorLS0gY2hhbmdpbmcgYW4gdW5yZWZlcmVuY2VkIHBhcnQgaXMgb2theToKK1VQREFURSB0 ZW1wb3JhbF9wZXIKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMDInIFRP ICcyMDE4LTAxLTAzJworU0VUIGlkID0gJ1s3LDgpJworV0hFUkUgaWQgPSAnWzUsNiknOworLS0g Y2hhbmdpbmcganVzdCBhIHBhcnQgZmFpbHM6CitVUERBVEUgdGVtcG9yYWxfcGVyCitGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTA1JyBUTyAnMjAxOC0wMS0xMCcKK1NFVCBp ZCA9ICdbNyw4KScKK1dIRVJFIGlkID0gJ1s1LDYpJzsKK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0 ZSBvbiB0YWJsZSAidGVtcG9yYWxfcGVyIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50 ICJ0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnBlciIK K0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4LTAxLTAzLDIwMTgtMDIt MDEpKSBpcyBzdGlsbCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX3JuZzJwZXIi LgorU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgaW4gKCdbNSw2KScsICdbNyw4 KScpIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90 aWwgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzUsNikgfCAyMDE2LTAy LTAxIHwgMjAxNi0wMy0wMQorIFs1LDYpIHwgMjAxOC0wMS0wMSB8IDIwMTgtMDEtMDIKKyBbNSw2 KSB8IDIwMTgtMDEtMDMgfCAyMDE4LTAyLTAxCisgWzcsOCkgfCAyMDE4LTAxLTAyIHwgMjAxOC0w MS0wMworKDQgcm93cykKKworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJF IGlkIGluICgnWzMsNCknKSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAgICAgICAg dmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLQorIFszLDQpIHwgWzIwMTgtMDEtMDUsMjAxOC0wMS0xMCkgfCBb NSw2KQorKDEgcm93KQorCistLSB0aGVuIGRlbGV0ZSB0aGUgb2JqZWN0aW5nIEZLIHJlY29yZCBh bmQgdGhlIHNhbWUgUEsgdXBkYXRlIHN1Y2NlZWRzOgorREVMRVRFIEZST00gdGVtcG9yYWxfZmtf cm5nMnBlciBXSEVSRSBpZCA9ICdbMyw0KSc7CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCB2YWxp ZF9mcm9tID0gJzIwMTYtMDEtMDEnLCB2YWxpZF90aWwgPSAnMjAxNi0wMi0wMScKK1dIRVJFIGlk ID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSAnWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSknOworLS0K Ky0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFJFU1RSSUNUCistLQorVFJVTkNBVEUgdGVt cG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19ybmcycGVyOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtf cm5nMnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mazsKK0FMVEVS IFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtf cm5nMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisg IFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyCisgIE9OIFVQREFURSBSRVNUUklDVDsKK0VSUk9SOiAg dW5zdXBwb3J0ZWQgT04gVVBEQVRFIGFjdGlvbiBmb3IgZm9yZWlnbiBrZXkgY29uc3RyYWludCB1 c2luZyBQRVJJT0QKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBOTyBBQ1RJT04K Ky0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2ZrX3JuZzJwZXI7CitBTFRFUiBU QUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3Ju ZzJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBS RUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjsKKy0tIGEgUEsgZGVsZXRlIHRoYXQgc3VjY2VlZHMgYmVj YXVzZSB0aGUgbnVtZXJpYyBpZCBpc24ndCByZWZlcmVuY2VkOgorSU5TRVJUIElOVE8gdGVtcG9y YWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNSw2KScsICcyMDE4 LTAxLTAxJywgJzIwMTgtMDItMDEnKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBp ZCA9ICdbNSw2KSc7CistLSBhIFBLIGRlbGV0ZSB0aGF0IHN1Y2NlZWRzIGV2ZW4gdGhvdWdoIHRo ZSBudW1lcmljIGlkIGlzIHJlZmVyZW5jZWQgYmVjYXVzZSB0aGUgcmFuZ2UgaXNuJ3Q6CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUwor ICAoJ1s1LDYpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpLAorICAoJ1s1LDYpJywgJzIw MTgtMDItMDEnLCAnMjAxOC0wMy0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBl ciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1szLDQpJywgJ1syMDE4LTAxLTA1 LDIwMTgtMDEtMTApJywgJ1s1LDYpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUg aWQgPSAnWzUsNiknIEFORCB2YWxpZF9mcm9tID0gJzIwMTgtMDItMDEnIEFORCB2YWxpZF90aWwg PSAnMjAxOC0wMy0wMSc7CistLSBhIFBLIGRlbGV0ZSB0aGF0IGZhaWxzIGJlY2F1c2UgYm90aCBh cmUgcmVmZXJlbmNlZDoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNSw2 KScgQU5EIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMScgQU5EIHZhbGlkX3RpbCA9ICcyMDE4LTAy LTAxJzsKK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVtcG9yYWxfcGVyIiB2 aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIiBv biB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnBlciIKK0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0 KT0oWzUsNiksIFsyMDE4LTAxLTAxLDIwMTgtMDItMDEpKSBpcyBzdGlsbCByZWZlcmVuY2VkIGZy b20gdGFibGUgInRlbXBvcmFsX2ZrX3JuZzJwZXIiLgorLS0gYSBQSyBkZWxldGUgdGhhdCBmYWls cyBiZWNhdXNlIGJvdGggYXJlIHJlZmVyZW5jZWQsIGJ1dCBub3QgJ3RpbCBjb21taXQ6CitCRUdJ TjsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICAgIEFMVEVSIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maworICAgIERFRkVSUkFCTEUgSU5JVElBTExZIERFRkVS UkVEOworICBERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2 YWxpZF9hdCA9IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyk7CitDT01NSVQ7 CitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRlbXBvcmFsX3BlciIgdmlvbGF0 ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcm5nMnBlcl9mayIgb24gdGFi bGUgInRlbXBvcmFsX2ZrX3JuZzJwZXIiCitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1 LDYpLCBbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRh YmxlICJ0ZW1wb3JhbF9ma19ybmcycGVyIi4KKy0tIGRlbGV0aW5nIGFuIHVucmVmZXJlbmNlZCBw YXJ0IGlzIG9rYXk6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIKK0ZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gJzIwMTgtMDEtMDInIFRPICcyMDE4LTAxLTAzJworV0hFUkUgaWQgPSAnWzUs NiknOworLS0gZGVsZXRpbmcganVzdCBhIHBhcnQgZmFpbHM6CitERUxFVEUgRlJPTSB0ZW1wb3Jh bF9wZXIKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMDUnIFRPICcyMDE4 LTAxLTEwJworV0hFUkUgaWQgPSAnWzUsNiknOworRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9u IHRhYmxlICJ0ZW1wb3JhbF9wZXIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRl bXBvcmFsX2ZrX3JuZzJwZXJfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycGVyIgorREVU QUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEtMDMsMjAxOC0wMi0wMSkp IGlzIHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnBlciIuCitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCBpbiAoJ1s1LDYpJywgJ1s3LDgpJykg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAg CistLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbNSw2KSB8IDIwMTgtMDEtMDEg fCAyMDE4LTAxLTAyCisgWzUsNikgfCAyMDE4LTAxLTAzIHwgMjAxOC0wMi0wMQorKDIgcm93cykK KworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkIGluICgnWzMsNCkn KSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAg ICB8IHBhcmVudF9pZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLQorIFszLDQpIHwgWzIwMTgtMDEtMDUsMjAxOC0wMS0xMCkgfCBbNSw2KQorKDEgcm93KQor CistLSB0aGVuIGRlbGV0ZSB0aGUgb2JqZWN0aW5nIEZLIHJlY29yZCBhbmQgdGhlIHNhbWUgUEsg ZGVsZXRlIHN1Y2NlZWRzOgorREVMRVRFIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBp ZCA9ICdbMyw0KSc7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzUsNikn IEFORCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDEnIEFORCB2YWxpZF90aWwgPSAnMjAxOC0wMi0w MSc7CistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgUkVTVFJJQ1QKKy0tCitUUlVO Q0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2ZrX3JuZzJwZXI7CitBTFRFUiBUQUJMRSB0ZW1w b3JhbF9ma19ybmcycGVyCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2Zr OworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1w b3JhbF9ma19ybmcycGVyX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxp ZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyAgT04gREVMRVRFIFJFU1RSSUNUOwor RVJST1I6ICB1bnN1cHBvcnRlZCBPTiBERUxFVEUgYWN0aW9uIGZvciBmb3JlaWduIGtleSBjb25z dHJhaW50IHVzaW5nIFBFUklPRAorLS0KKy0tIHJuZzJwZXIgdGVzdCBPTiBVUERBVEUvREVMRVRF IG9wdGlvbnMKKy0tCistLSBUT0M6CistLSByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQorLS0g cmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVM TAorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMCistLSByZWZlcmVuY2VkIHVwZGF0ZXMg U0VUIERFRkFVTFQKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVAorLS0gcmVmZXJl bmNlZCB1cGRhdGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVs ZXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VU IE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAo dHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2Nh bGFyIGNvbHMsIFNFVCBOVUxMIHN1YnNldCkKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVG QVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxU ICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3 byBzY2FsYXIgY29scywgU0VUIERFRkFVTFQgc3Vic2V0KQorLS0KKy0tIHRlc3QgRksgcmVmZXJl bmNlZCB1cGRhdGVzIENBU0NBREUKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFs X2ZrX3JuZzJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQp IFZBTFVFUyAoJ1sxMDAsMTAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbNiw3KScp OworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1w b3JhbF9ma19ybmcycGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZh bGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyCisgICAgT04gREVMRVRFIENBU0NB REUgT04gVVBEQVRFIENBU0NBREU7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFU RSB0ZW1wb3JhbF9wZXIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScg VE8gJzIwMjAtMDEtMDEnIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAg IHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzYsNykKKyBb MTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IFs3LDgpCisgWzEwMCwxMDEpIHwg WzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQTyB1 cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAn WzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1sx MDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxp ZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEp IHwgWzcsOCkKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IFs3LDgpCisg WzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbNyw4KQorKDMgcm93cykKKwor LS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9w ZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMTgtMDEt MDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEt MDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFy ZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAn WzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1s5LDEwKScgV0hFUkUgaWQg PSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJl bnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t CisgWzIwMCwyMDEpIHwgWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkgfCBbOSwxMCkKKyBbMjAwLDIw MSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0g dGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERQorLS0KK1RSVU5DQVRFIHRlbXBvcmFs X3BlciwgdGVtcG9yYWxfZmtfcm5nMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnMjAxOC0wMS0wMScsICcy MDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRf YXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEt MDEpJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9N IHRlbXBvcmFsX3BlciBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBU TyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3Jh bF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAx KSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAyMC0w MS0wMSwyMDIxLTAxLTAxKSB8IFs2LDcpCisoMiByb3dzKQorCistLSBub24tRlBPIGRlbGV0ZToK K0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CisgaWQgfCB2YWxpZF9hdCB8IHBhcmVudF9pZCAKKy0tLS0rLS0tLS0tLS0t LSstLS0tLS0tLS0tLQorKDAgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJv d3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUyAoJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5 KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2Zr X3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAn WzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFs X3BlciBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0 ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIw MF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQg ICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs4 LDkpCisoMSByb3cpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVM TAorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcm5nMnBlcjsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgn WzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDBd JywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1w b3JhbF9ma19ybmcycGVyCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2Zr LAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrCisgICAgRk9SRUlHTiBL RVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxf cGVyCisgICAgT04gREVMRVRFIFNFVCBOVUxMIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRv dmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3BlciBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkID0gJ1s3LDgp JyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIg V0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAg IHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEt MDEsMjAxOS0wMS0wMSkgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEt MDEpIHwgCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbNiw3KQorKDMg cm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9 ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19y bmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAg IGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsy MDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0w MS0wMSkgfCAKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IAorKDMgcm93 cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIw MTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIw MjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9h dCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0w MSknLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1s5LDEwKScgV0hF UkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAg fCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tCisgWzIwMCwyMDEpIHwgWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkgfCAKKyBbMjAwLDIw MSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0g dGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwKKy0tCitUUlVOQ0FURSB0ZW1wb3Jh bF9wZXIsIHRlbXBvcmFsX2ZrX3JuZzJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAn MjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlk X2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAx LTAxKScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJP TSB0ZW1wb3JhbF9wZXIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScg VE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEw MSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMTkt MDEtMDEsMjAyMC0wMS0wMSkgfCAKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAx KSB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRl bXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr X3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Cisg ICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwg WzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCAKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIw LTAxLTAxKSB8IAorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgCisoMyBy b3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAn MjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAn MjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlk X2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAx LTAxKScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s4 LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lk IAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsy MDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgCisgWzIwMCwyMDEpIHwgWzIwMjAt MDEtMDEsMjAyMS0wMS0wMSkgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVm ZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0 ZW1wb3JhbF9ma19ybmcycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbLTEsLTFdJywgbnVsbCwgbnVsbCk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2 LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf Zmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAwXScs ICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9y YWxfZmtfcm5nMnBlcgorICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkIFNFVCBERUZBVUxUICdbLTEs LTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmssCisgIEFERCBD T05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50 X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyAgICBP TiBERUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRFIFNFVCBERUZBVUxUOworLS0gbGVmdG92ZXJz IG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcGVyIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQgPSAnWzcsOCknIFdI RVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVS RSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAg ICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwy MDE5LTAxLTAxKSB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkg fCBbLTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2LDcpCiso MyByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIGlk ID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr X3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Cisg ICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwg WzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0w MSwyMDIwLTAxLTAxKSB8IFstMSwwKQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEt MDEpIHwgWy0xLDApCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93 czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkg VkFMVUVTICgnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkp JywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtf cm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAwXScsICdb MjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3BlciBT RVQgaWQgPSAnWzksMTApJyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5 LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBp ZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAg ICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCBbMjAxOC0wMS0wMSwyMDIw LTAxLTAxKSB8IFstMSwwKQorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwg WzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQg REVGQVVMVAorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcm5nMnBlcjsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFM VUVTICgnWy0xLC0xXScsIG51bGwsIG51bGwpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChp ZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxp ZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0w MS0wMSknLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZS T00gdGVtcG9yYWxfcGVyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEn IFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCist LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwx MDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsyMDE5 LTAxLTAxLDIwMjAtMDEtMDEpIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAy MS0wMS0wMSkgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAor LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAs MTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgWzIw MTktMDEtMDEsMjAyMC0wMS0wMSkgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwy MDIxLTAxLTAxKSB8IFstMSwwKQorKDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVu Y2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMg KCdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIw MF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRl bXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAx Jzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9ICdb MjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFs aWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCBbMjAxOC0wMS0wMSwyMDIwLTAxLTAx KSB8IFstMSwwKQorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzgsOSkK KygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVNDQURFICh0 d28gc2NhbGFyIGNvbHMpCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVyMiwgdGVtcG9yYWxfZmsy X3JuZzJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChpZCwgdmFsaWRf YXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICdbMjAxOC0w MS0wMSwyMDIxLTAxLTAxKScsICdbNiw3KScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9y YWxfZmsyX3JuZzJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX2Zr LAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maworICAgIEZPUkVJR04g S0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJF TkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVMRVRFIENBU0NBREUgT04gVVBEQVRFIENBU0NB REU7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9wZXIyIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBT RVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEg fCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0w MSkgfCBbNiw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAx LTAxKSB8IFs3LDgpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEt MDEtMDEpIHwgWzYsNykgICAgICB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIHVwZGF0 ZToKK1VQREFURSB0ZW1wb3JhbF9wZXIyIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdb Niw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1sx MDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxp ZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEw MSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFs3LDgpICAgICAgfCBbNiw3KQorIFsxMDAs MTAxKSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgWzcsOCkgICAgICB8IFs2LDcpCisgWzEw MCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbNyw4KSAgICAgIHwgWzYsNykKKygz IHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8g dGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgn WzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMg KCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVu dF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdb OCw5KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3BlcjIgU0VUIGlkMSA9ICdbOSwxMCkn IFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBd JyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAg ICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IFsy MDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgWzksMTApICAgICB8IFs4LDkpCisgWzIwMCwyMDEpIHwg WzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbOCw5KSAgICAgIHwgWzgsOSkKKygyIHJvd3MpCisK Ky0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNv bHMpCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVyMiwgdGVtcG9yYWxfZmsyX3JuZzJwZXI7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGls KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9p ZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAx LTAxKScsICdbNiw3KScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitE RUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBh cmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEs MjAxOS0wMS0wMSkgfCBbNiw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0w MSwyMDIxLTAxLTAxKSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDIgcm93cykKKworLS0gbm9uLUZQ TyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAw XScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworIGlkIHwgdmFsaWRfYXQgfCBwYXJlbnRfaWQxIHwg cGFyZW50X2lkMiAKKy0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCiso MCByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAo J1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVT ICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJl bnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAn WzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQxID0g J1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVu dF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgWzIwMjAtMDEtMDEsMjAy MS0wMS0wMSkgfCBbOCw5KSAgICAgIHwgWzgsOSkKKygxIHJvdykKKworLS0KKy0tIHRlc3QgRksg cmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMpCistLQorVFJVTkNB VEUgdGVtcG9yYWxfcGVyMiwgdGVtcG9yYWxfZmsyX3JuZzJwZXI7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3 KScsICdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX2ZrMl9ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIp IFZBTFVFUyAoJ1sxMDAsMTAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbNiw3KScs ICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3JuZzJwZXIKKyAgRFJPUCBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9mazJfcm5nMnBlcl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQy LCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04g REVMRVRFIFNFVCBOVUxMIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3Ro IHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlk MSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlk ID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAg ICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBb MTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFs2LDcpICAgICAgfCBbNiw3KQor IFsxMDAsMTAxKSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgICAgICAgICAgICB8IAorIFsx MDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzYsNykgICAgICB8IFs2LDcpCiso MyByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9wZXIyIFNFVCBp ZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBh cmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8 ICAgICAgICAgICAgfCAKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8ICAg ICAgICAgICAgfCAKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8ICAgICAg ICAgICAgfCAKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEn KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVu dF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICdbMjAxOC0wMS0wMSwyMDIx LTAxLTAxKScsICdbOCw5KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3BlcjIgU0VUIGlk MSA9ICdbOSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAx LTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQg PSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAg IHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsy MDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgICAgICAgICAgICB8IAorIFsyMDAs MjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzgsOSkgICAgICB8IFs4LDkpCisoMiBy b3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBz Y2FsYXIgY29scykKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcm5n MnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwg cGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBdJywgJ1syMDE4LTAxLTAx LDIwMjEtMDEtMDEpJywgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBz aWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAg ICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAx OC0wMS0wMSwyMDE5LTAxLTAxKSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsy MDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgICAgICAgICAgICB8IAorIFsxMDAsMTAxKSB8IFsyMDIw LTAxLTAxLDIwMjEtMDEtMDEpIHwgWzYsNykgICAgICB8IFs2LDcpCisoMyByb3dzKQorCistLSBu b24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQxID0gJ1s2 LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEw MCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlk X2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAx KSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgICAgICAgICAgICB8IAorIFsxMDAsMTAxKSB8 IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgICAgICAgICAgICB8IAorIFsxMDAsMTAxKSB8IFsy MDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgICAgICAgICAgICB8IAorKDMgcm93cykKKworLS0gRksg YWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChp ZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScs ICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIg KGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkp JywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsy X3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgn WzIwMCwyMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s4LDkpJywgJ1s4LDkpJyk7 CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlk X2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3Ju ZzJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAg aWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lk MiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgICAgICAg ICAgICB8IAorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzgsOSkgICAg ICB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMg U0VUIE5VTEwgKHR3byBzY2FsYXIgY29scywgU0VUIE5VTEwgc3Vic2V0KQorLS0KK1RSVU5DQVRF IHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFsX2ZrMl9ybmcycGVyOworSU5TRVJUIElOVE8gdGVtcG9y YWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNykn LCAnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBW QUxVRVMgKCdbMTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzYsNyknLCAn WzYsNyknKTsKKy0tIGZhaWxzIGJlY2F1c2UgeW91IGNhbid0IHNldCB0aGUgUEVSSU9EIGNvbHVt bjoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcycGVyCisgIERST1AgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9mazJfcm5nMnBlcl9maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3Ju ZzJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9E IHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyMgorICAgIE9OIERFTEVURSBT RVQgTlVMTCAodmFsaWRfYXQpIE9OIFVQREFURSBTRVQgTlVMTDsKK0VSUk9SOiAgY29sdW1uICJ2 YWxpZF9hdCIgcmVmZXJlbmNlZCBpbiBPTiBERUxFVEUgU0VUIGFjdGlvbiBjYW5ub3QgYmUgUEVS SU9ECistLSBvazoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcycGVyCisgIERST1AgQ09O U1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9y YWxfZmsyX3JuZzJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lk MiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyMgorICAgIE9O IERFTEVURSBTRVQgTlVMTCAocGFyZW50X2lkMSkgT04gVVBEQVRFIFNFVCBOVUxMOworLS0gbGVm dG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBp ZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBp ZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAg ICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisg WzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3KSAgICAgIHwgWzYsNykK KyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8ICAgICAgICAgICAgfCBbNiw3 KQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzYsNykgICAgICB8IFs2 LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFs X3BlcjIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3Ju ZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAg aWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lk MiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgICAgICAg ICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCAgICAg ICAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8ICAg ICAgICAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2Vk IHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAt MDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9t LCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAy MS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJwZXIgKGlkLCB2YWxpZF9h dCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJ1syMDE4LTAx LTAxLDIwMjEtMDEtMDEpJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3Jh bF9wZXIyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6 ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzIw MCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlk X2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAx KSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgICAgICAgICAgICB8IFs4LDkpCisgWzIwMCwy MDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbOCw5KSAgICAgIHwgWzgsOSkKKygyIHJv d3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVCAodHdv IHNjYWxhciBjb2xzKQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFsX2ZrMl9y bmcycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWy0xLC0xXScsICdbLTEsLTFdJywgbnVsbCwgbnVsbCk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGls KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9p ZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAx LTAxKScsICdbNiw3KScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3JuZzJw ZXIKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBB TFRFUiBDT0xVTU4gcGFyZW50X2lkMiBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09O U1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9y YWxfZmsyX3JuZzJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lk MiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyMgorICAgIE9O IERFTEVURSBTRVQgREVGQVVMVCBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0b3ZlcnMg b24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQxID0gJ1s3LDgpJywg aWQyID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3Jh bF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBw YXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkg fCBbNiw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAx KSB8IFstMSwwKSAgICAgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAx LTAxKSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6 CitVUERBVEUgdGVtcG9yYWxfcGVyMiBTRVQgaWQxID0gJ1s3LDgpJywgaWQyID0gJ1s3LDgpJyBX SEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBX SEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAg fCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbLTEsMCkgICAgIHwg Wy0xLDApCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCBbLTEsMCkgICAg IHwgWy0xLDApCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbLTEsMCkg ICAgIHwgWy0xLDApCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93 czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0w MScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAx LTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBw YXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnWzIwMTgtMDEtMDEs MjAyMS0wMS0wMSknLCAnWzgsOSknLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIyIFNF VCBpZDEgPSAnWzksMTApJywgaWQyID0gJ1s5LDEwKScgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQg dmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9m azJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK KyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJl bnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkgfCBb LTEsMCkgICAgIHwgWy0xLDApCisgWzIwMCwyMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkg fCBbOCw5KSAgICAgIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5j ZWQgZGVsZXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0KK1RSVU5DQVRFIHRl bXBvcmFsX3BlcjIsIHRlbXBvcmFsX2ZrMl9ybmcycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWy0xLC0xXScs ICdbLTEsLTFdJywgbnVsbCwgbnVsbCk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEs IGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcy cGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAs MTAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbNiw3KScsICdbNiw3KScpOworLS0g bGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVS RSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVS RSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAg ICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t CisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3KSAgICAgIHwgWzYs NykKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IFstMSwwKSAgICAgfCBb LTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2LDcpICAgICAg fCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitERUxFVEUgRlJPTSB0ZW1w b3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr Ml9ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor ICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVu dF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFst MSwwKSAgICAgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8 IFstMSwwKSAgICAgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAx KSB8IFstMSwwKSAgICAgfCBbLTEsMCkKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVm ZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScs ICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAx JywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChpZCwg dmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICdb MjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00g dGVtcG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0w MS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlk ID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAg ICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBb MjAwLDIwMSkgfCBbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKSB8IFstMSwwKSAgICAgfCBbLTEsMCkK KyBbMjAwLDIwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs4LDkpICAgICAgfCBbOCw5 KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZB VUxUICh0d28gc2NhbGFyIGNvbHMsIFNFVCBERUZBVUxUIHN1YnNldCkKKy0tCitUUlVOQ0FURSB0 ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcm5nMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1stMSwtMV0n LCAnWzYsNyknLCBudWxsLCBudWxsKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwg aWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJzIw MTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJw ZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwx MDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBm YWlscyBiZWNhdXNlIHlvdSBjYW4ndCBzZXQgdGhlIFBFUklPRCBjb2x1bW46CitBTFRFUiBUQUJM RSB0ZW1wb3JhbF9mazJfcm5nMnBlcgorICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMSBTRVQgREVG QVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9m aywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJwZXJfZmsKKyAgICBGT1JFSUdO IEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVS RU5DRVMgdGVtcG9yYWxfcGVyMgorICAgIE9OIERFTEVURSBTRVQgREVGQVVMVCAodmFsaWRfYXQp IE9OIFVQREFURSBTRVQgREVGQVVMVDsKK0VSUk9SOiAgY29sdW1uICJ2YWxpZF9hdCIgcmVmZXJl bmNlZCBpbiBPTiBERUxFVEUgU0VUIGFjdGlvbiBjYW5ub3QgYmUgUEVSSU9ECistLSBvazoKK0FM VEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcycGVyCisgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQx IFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9y bmcycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maworICAg IEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisg ICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVMRVRFIFNFVCBERUZBVUxUIChw YXJlbnRfaWQxKSBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBz aWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAg ICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAx OC0wMS0wMSwyMDE5LTAxLTAxKSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsy MDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgWy0xLDApICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwg WzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbNiw3KSAgICAgIHwgWzYsNykKKygzIHJvd3MpCisK Ky0tIG5vbi1GUE8gdXBkYXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVSRSBpZDEg PSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9 ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAg dmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEw MCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbLTEsMCkgICAgIHwgWzYsNykKKyBb MTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IFstMSwwKSAgICAgfCBbNiw3KQor IFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWy0xLDApICAgICB8IFs2LDcp CisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVF UyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFM VUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBW QUxVRVMgKCdbLTEsLTFdJywgJ1s4LDkpJywgbnVsbCwgbnVsbCk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBW QUxVRVMgKCdbMjAwLDIwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzgsOSknLCAn WzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQxID0gJ1s4LDkpJyBB TkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3Jh bF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBw YXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkg fCBbLTEsMCkgICAgIHwgWzgsOSkKKyBbMjAwLDIwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAx KSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRk9SRUlHTiBL RVksIFBFUklPRCByZWZlcmVuY2VzIHJhbmdlCistLQorLS0gdGVzdCB0YWJsZSBzZXR1cAorRFJP UCBUQUJMRSB0ZW1wb3JhbF9ybmcgQ0FTQ0FERTsKK05PVElDRTogIGRyb3AgY2FzY2FkZXMgdG8g Y29uc3RyYWludCB0ZW1wb3JhbF9ma19ybmcycm5nX2ZrIG9uIHRhYmxlIHRlbXBvcmFsX2ZrX3Ju ZzJybmcKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ybmcgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZh bGlkX2F0IGRhdGVyYW5nZQorKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3JuZworICBBREQgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ybmdfcGsKKyAgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRI T1VUIE9WRVJMQVBTKTsKKy0tIENhbid0IGNyZWF0ZSBhIEZLIHdpdGggYSBtaXNtYXRjaGVkIHJh bmdlIHR5cGUKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nICgKKyAgaWQgaW50NHJh bmdlLAorICB2YWxpZF9mcm9tIGludCwKKyAgdmFsaWRfdGlsIGludCwKKyAgcGFyZW50X2lkIGlu dDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwK KyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFs aWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJu Z19mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJF TkNFUyB0ZW1wb3JhbF9ybmcgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCispOworRVJST1I6ICBmb3Jl aWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIiBjYW5ub3QgYmUgaW1w bGVtZW50ZWQKK0RFVEFJTDogIEtleSBjb2x1bW5zICJ2YWxpZF9hdCIgb2YgdGhlIHJlZmVyZW5j aW5nIHRhYmxlIGFuZCAidmFsaWRfYXQiIG9mIHRoZSByZWZlcmVuY2VkIHRhYmxlIGFyZSBvZiBp bmNvbXBhdGlibGUgdHlwZXM6IGludDRyYW5nZSBhbmQgZGF0ZXJhbmdlLgorLS0gd29ya3M6IHJh bmdlIGZvciByZWZlcmVuY2VkLCBQRVJJT0QgZm9yIHJlZmVyZW5jaW5nCitDUkVBVEUgVEFCTEUg dGVtcG9yYWxfZmtfcGVyMnJuZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRl LAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZP UiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9ma19wZXIycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQ UyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19mayBGT1JFSUdOIEtFWSAocGFy ZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcgKGlk LCBQRVJJT0QgdmFsaWRfYXQpCispOworXGQgdGVtcG9yYWxfZmtfcGVyMnJuZworICAgICAgICAg ICBUYWJsZSAicHVibGljLnRlbXBvcmFsX2ZrX3BlcjJybmciCisgICBDb2x1bW4gICB8ICAgVHlw ZSAgICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdCAKKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLQorIGlkICAgICAgICAgfCBp bnQ0cmFuZ2UgfCAgICAgICAgICAgfCBub3QgbnVsbCB8IAorIHZhbGlkX2Zyb20gfCBkYXRlICAg ICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorIHZhbGlkX3RpbCAgfCBkYXRlICAgICAgfCAg ICAgICAgICAgfCAgICAgICAgICB8IAorIHBhcmVudF9pZCAgfCBpbnQ0cmFuZ2UgfCAgICAgICAg ICAgfCAgICAgICAgICB8IAorUGVyaW9kczoKKyAgICB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFs aWRfdGlsKQorSW5kZXhlczoKKyAgICAidGVtcG9yYWxfZmtfcGVyMnJuZ19wayIgUFJJTUFSWSBL RVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorQ2hlY2sgY29uc3RyYWludHM6Cisg ICAgInRlbXBvcmFsX2ZrX3BlcjJybmdfdmFsaWRfYXRfY2hlY2siIENIRUNLICh2YWxpZF9mcm9t IDwgdmFsaWRfdGlsKQorRm9yZWlnbi1rZXkgY29uc3RyYWludHM6CisgICAgInRlbXBvcmFsX2Zr X3BlcjJybmdfZmsiIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkgUkVG RVJFTkNFUyB0ZW1wb3JhbF9ybmcoaWQsIFBFUklPRCB2YWxpZF9hdCkKKworRFJPUCBUQUJMRSB0 ZW1wb3JhbF9ma19wZXIycm5nOworLS0gd2l0aCBtaXNtYXRjaGVkIFBFUklPRCBjb2x1bW5zOgor LS0gKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIChpZCwgdmFsaWRfYXQp CistLSBSRUZFUkVOQ0VTIHBhcnQgc2hvdWxkIHNwZWNpZnkgUEVSSU9ECitDUkVBVEUgVEFCTEUg dGVtcG9yYWxfZmtfcGVyMnJuZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRl LAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZP UiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9ma19wZXIycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQ UyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19mayBGT1JFSUdOIEtFWSAocGFy ZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcgKGlk LCB2YWxpZF9hdCkKKyk7CitFUlJPUjogIGZvcmVpZ24ga2V5IHVzZXMgUEVSSU9EIG9uIHRoZSBy ZWZlcmVuY2luZyB0YWJsZSBidXQgbm90IHRoZSByZWZlcmVuY2VkIHRhYmxlCistLSAocGFyZW50 X2lkLCB2YWxpZF9hdCkgUkVGRVJFTkNFUyAoaWQsIHZhbGlkX2F0KQorLS0gYm90aCBzaG91bGQg c3BlY2lmeSBQRVJJT0Q6CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZyAoCisgIGlk IGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFy ZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFs aWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX3BrIFBSSU1BUlkgS0VZ IChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxf ZmtfcGVyMnJuZ19mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCB2YWxpZF9hdCkKKyAgICBSRUZF UkVOQ0VTIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KQorKTsKK0VSUk9SOiAgZm9yZWlnbiBr ZXkgbXVzdCB1c2UgUEVSSU9EIHdoZW4gcmVmZXJlbmNpbmcgYSBwcmltYXJ5IGtleSB1c2luZyBX SVRIT1VUIE9WRVJMQVBTCistLSAocGFyZW50X2lkLCB2YWxpZF9hdCkgUkVGRVJFTkNFUyAoaWQs IFBFUklPRCB2YWxpZF9hdCkKKy0tIEZPUkVJR04gS0VZIHBhcnQgc2hvdWxkIHNwZWNpZnkgUEVS SU9ECitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZyAoCisgIGlkIGludDRyYW5nZSwK KyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRy YW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAg Q09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRf YXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19m ayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBv cmFsX3JuZyAoaWQsIFBFUklPRCB2YWxpZF9hdCkKKyk7CitFUlJPUjogIGZvcmVpZ24ga2V5IHVz ZXMgUEVSSU9EIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlIGJ1dCBub3QgdGhlIHJlZmVyZW5jaW5n IHRhYmxlCistLSAocGFyZW50X2lkLCB2YWxpZF9hdCkgUkVGRVJFTkNFUyBbaW1wbGljaXRdCist LSBGT1JFSUdOIEtFWSBwYXJ0IHNob3VsZCBzcGVjaWZ5IFBFUklPRAorQ1JFQVRFIFRBQkxFIHRl bXBvcmFsX2ZrX3BlcjJybmcgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwK KyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1Ig dmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxf ZmtfcGVyMnJuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMp LAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVu dF9pZCwgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcKKyk7CitFUlJPUjog IGZvcmVpZ24ga2V5IHVzZXMgUEVSSU9EIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlIGJ1dCBub3Qg dGhlIHJlZmVyZW5jaW5nIHRhYmxlCistLSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpIFJF RkVSRU5DRVMgKGlkKQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcgKAorICBpZCBp bnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVu dF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlk X3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19wayBQUklNQVJZIEtFWSAo aWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr X3BlcjJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAg IFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nIChpZCkKKyk7CitFUlJPUjogIGZvcmVpZ24ga2V5IHVz ZXMgUEVSSU9EIG9uIHRoZSByZWZlcmVuY2luZyB0YWJsZSBidXQgbm90IHRoZSByZWZlcmVuY2Vk IHRhYmxlCistLSAocGFyZW50X2lkKSBSRUZFUkVOQ0VTIChpZCwgUEVSSU9EIHZhbGlkX2F0KQor Q1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZh bGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2Us CisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNU UkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJ VEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsgRk9S RUlHTiBLRVkgKHBhcmVudF9pZCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZyAoaWQsIFBF UklPRCB2YWxpZF9hdCkKKyk7CitFUlJPUjogIGZvcmVpZ24ga2V5IHVzZXMgUEVSSU9EIG9uIHRo ZSByZWZlcmVuY2VkIHRhYmxlIGJ1dCBub3QgdGhlIHJlZmVyZW5jaW5nIHRhYmxlCistLSB3aXRo IGluZmVycmVkIFBLIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlOgorLS0gKHBhcmVudF9pZCwgUEVS SU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIFtpbXBsaWNpdF0KK0NSRUFURSBUQUJMRSB0ZW1wb3Jh bF9ma19wZXIycm5nICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZh bGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlk X2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3Bl cjJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAg Q09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQs IFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZworKTsKK0RST1Ag VEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZzsKKy0tIChwYXJlbnRfaWQpIFJFRkVSRU5DRVMgW2lt cGxpY2l0XQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcgKAorICBpZCBpbnQ0cmFu Z2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBp bnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCks CisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZh bGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJy bmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3Ju ZworKTsKK0VSUk9SOiAgZm9yZWlnbiBrZXkgdXNlcyBQRVJJT0Qgb24gdGhlIHJlZmVyZW5jZWQg dGFibGUgYnV0IG5vdCB0aGUgcmVmZXJlbmNpbmcgdGFibGUKKy0tIHNob3VsZCBmYWlsIGJlY2F1 c2Ugb2YgZHVwbGljYXRlIHJlZmVyZW5jZWQgY29sdW1uczoKK0NSRUFURSBUQUJMRSB0ZW1wb3Jh bF9ma19wZXIycm5nICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZh bGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlk X2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3Bl cjJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAg Q09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQs IFBFUklPRCBwYXJlbnRfaWQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcgKGlkLCBQRVJJ T0QgaWQpCispOworRVJST1I6ICBmb3JlaWduIGtleSByZWZlcmVuY2VkLWNvbHVtbnMgbGlzdCBt dXN0IG5vdCBjb250YWluIGR1cGxpY2F0ZXMKKy0tIFR3byBzY2FsYXIgY29sdW1ucworRFJPUCBU QUJMRSB0ZW1wb3JhbF9ybmcyIENBU0NBREU7CitOT1RJQ0U6ICBkcm9wIGNhc2NhZGVzIHRvIGNv bnN0cmFpbnQgdGVtcG9yYWxfZmsyX3JuZzJybmdfZmsgb24gdGFibGUgdGVtcG9yYWxfZmsyX3Ju ZzJybmcKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ybmcyICgKKyAgaWQxIGludDRyYW5nZSwKKyAg aWQyIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBv cmFsX3JuZzJfcGsgUFJJTUFSWSBLRVkgKGlkMSwgaWQyLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJM QVBTKQorKTsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnJuZyAoCisgIGlkIGludDRy YW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lk MSBpbnQ0cmFuZ2UsCisgIHBhcmVudF9pZDIgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlk X2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9w ZXIycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisg IENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9p ZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFs X3JuZzIgKGlkMSwgaWQyLCBQRVJJT0QgdmFsaWRfYXQpCispOworXGQgdGVtcG9yYWxfZmsyX3Bl cjJybmcKKyAgICAgICAgICAgVGFibGUgInB1YmxpYy50ZW1wb3JhbF9mazJfcGVyMnJuZyIKKyAg IENvbHVtbiAgIHwgICBUeXBlICAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0IAor LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0t CisgaWQgICAgICAgICB8IGludDRyYW5nZSB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgCisgdmFs aWRfZnJvbSB8IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgdmFsaWRfdGls ICB8IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgcGFyZW50X2lkMSB8IGlu dDRyYW5nZSB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgcGFyZW50X2lkMiB8IGludDRyYW5n ZSB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCitQZXJpb2RzOgorICAgIHZhbGlkX2F0ICh2YWxp ZF9mcm9tLCB2YWxpZF90aWwpCitJbmRleGVzOgorICAgICJ0ZW1wb3JhbF9mazJfcGVyMnJuZ19w ayIgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorQ2hlY2sgY29u c3RyYWludHM6CisgICAgInRlbXBvcmFsX2ZrMl9wZXIycm5nX3ZhbGlkX2F0X2NoZWNrIiBDSEVD SyAodmFsaWRfZnJvbSA8IHZhbGlkX3RpbCkKK0ZvcmVpZ24ta2V5IGNvbnN0cmFpbnRzOgorICAg ICJ0ZW1wb3JhbF9mazJfcGVyMnJuZ19mayIgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVu dF9pZDIsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcyKGlkMSwgaWQy LCBQRVJJT0QgdmFsaWRfYXQpCisKK0RST1AgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJybmc7Cist LQorLS0gdGVzdCBBTFRFUiBUQUJMRSBBREQgQ09OU1RSQUlOVAorLS0KK0NSRUFURSBUQUJMRSB0 ZW1wb3JhbF9ma19wZXIycm5nICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUs CisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9S IHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3BlcjJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBT KQorKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgQUREIENPTlNUUkFJTlQg dGVtcG9yYWxfZmtfcGVyMnJuZ19maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0Qg dmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nIChpZCwgUEVSSU9EIHZhbGlkX2F0 KTsKKy0tIFR3byBzY2FsYXIgY29sdW1uczoKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9mazJfcGVy MnJuZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwg ZGF0ZSwKKyAgcGFyZW50X2lkMSBpbnQ0cmFuZ2UsCisgIHBhcmVudF9pZDIgaW50NHJhbmdlLAor ICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJB SU5UIHRlbXBvcmFsX2ZrMl9wZXIycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lU SE9VVCBPVkVSTEFQUykKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnJuZworICBB REQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnJuZ19maworICBGT1JFSUdOIEtFWSAocGFy ZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBv cmFsX3JuZzIgKGlkMSwgaWQyLCBQRVJJT0QgdmFsaWRfYXQpOworXGQgdGVtcG9yYWxfZmsyX3Bl cjJybmcKKyAgICAgICAgICAgVGFibGUgInB1YmxpYy50ZW1wb3JhbF9mazJfcGVyMnJuZyIKKyAg IENvbHVtbiAgIHwgICBUeXBlICAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0IAor LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0t CisgaWQgICAgICAgICB8IGludDRyYW5nZSB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgCisgdmFs aWRfZnJvbSB8IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgdmFsaWRfdGls ICB8IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgcGFyZW50X2lkMSB8IGlu dDRyYW5nZSB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgcGFyZW50X2lkMiB8IGludDRyYW5n ZSB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCitQZXJpb2RzOgorICAgIHZhbGlkX2F0ICh2YWxp ZF9mcm9tLCB2YWxpZF90aWwpCitJbmRleGVzOgorICAgICJ0ZW1wb3JhbF9mazJfcGVyMnJuZ19w ayIgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorQ2hlY2sgY29u c3RyYWludHM6CisgICAgInRlbXBvcmFsX2ZrMl9wZXIycm5nX3ZhbGlkX2F0X2NoZWNrIiBDSEVD SyAodmFsaWRfZnJvbSA8IHZhbGlkX3RpbCkKK0ZvcmVpZ24ta2V5IGNvbnN0cmFpbnRzOgorICAg ICJ0ZW1wb3JhbF9mazJfcGVyMnJuZ19mayIgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVu dF9pZDIsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcyKGlkMSwgaWQy LCBQRVJJT0QgdmFsaWRfYXQpCisKKy0tIHdpdGggaW5mZXJyZWQgUEsgb24gdGhlIHJlZmVyZW5j ZWQgdGFibGUsIGFuZCB3cm9uZyBjb2x1bW4gdHlwZToKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2Zr X3BlcjJybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmssCisgIERS T1AgUEVSSU9EIEZPUiB2YWxpZF9hdCwKKyAgQUxURVIgQ09MVU1OIHZhbGlkX2Zyb20gVFlQRSB0 aW1lc3RhbXAsCisgIEFMVEVSIENPTFVNTiB2YWxpZF90aWwgVFlQRSB0aW1lc3RhbXAsCisgIEFE RCBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpOworQUxURVIgVEFC TEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIy cm5nX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVG RVJFTkNFUyB0ZW1wb3JhbF9ybmc7CitFUlJPUjogIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRl bXBvcmFsX2ZrX3BlcjJybmdfZmsiIGNhbm5vdCBiZSBpbXBsZW1lbnRlZAorREVUQUlMOiAgS2V5 IGNvbHVtbnMgInZhbGlkX2F0IiBvZiB0aGUgcmVmZXJlbmNpbmcgdGFibGUgYW5kICJ2YWxpZF9h dCIgb2YgdGhlIHJlZmVyZW5jZWQgdGFibGUgYXJlIG9mIGluY29tcGF0aWJsZSB0eXBlczogdHNy YW5nZSBhbmQgZGF0ZXJhbmdlLgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBE Uk9QIFBFUklPRCBGT1IgdmFsaWRfYXQsCisgIEFMVEVSIENPTFVNTiB2YWxpZF9mcm9tIFRZUEUg ZGF0ZSwKKyAgQUxURVIgQ09MVU1OIHZhbGlkX3RpbCBUWVBFIGRhdGUsCisgIEFERCBQRVJJT0Qg Rk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpOworLS0gd2l0aCBpbmZlcnJlZCBQ SyBvbiB0aGUgcmVmZXJlbmNlZCB0YWJsZToKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJy bmcKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maworICBGT1JFSUdOIEtF WSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5n OworLS0gc2hvdWxkIGZhaWwgYmVjYXVzZSBvZiBkdXBsaWNhdGUgcmVmZXJlbmNlZCBjb2x1bW5z OgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBBREQgQ09OU1RSQUlOVCB0ZW1w b3JhbF9ma19wZXIycm5nX2ZrMgorICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgcGFy ZW50X2lkKQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZyAoaWQsIFBFUklPRCBpZCk7CitFUlJP UjogIGZvcmVpZ24ga2V5IHJlZmVyZW5jZWQtY29sdW1ucyBsaXN0IG11c3Qgbm90IGNvbnRhaW4g ZHVwbGljYXRlcworLS0KKy0tIHRlc3Qgd2l0aCByb3dzIGFscmVhZHkKKy0tCitERUxFVEUgRlJP TSB0ZW1wb3JhbF9ma19wZXIycm5nOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUworICAoJ1sxLDIpJywgJ1sy MDE4LTAxLTAyLDIwMTgtMDItMDMpJyksCisgICgnWzEsMiknLCAnWzIwMTgtMDMtMDMsMjAxOC0w NC0wNCknKSwKKyAgKCdbMiwzKScsICdbMjAxOC0wMS0wMSwyMDE4LTAxLTA1KScpLAorICAoJ1sz LDQpJywgJ1syMDE4LTAxLTAxLCknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcK KyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZms7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQp IFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDEtMDInLCAnMjAxOC0wMi0wMScsICdbMSwyKScpOwor QUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9ma19wZXIycm5nX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9h dCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmc7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19w ZXIycm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrOworSU5TRVJU IElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFy ZW50X2lkKSBWQUxVRVMgKCdbMiwzKScsICcyMDE4LTAxLTAyJywgJzIwMTgtMDQtMDEnLCAnWzEs MiknKTsKKy0tIHNob3VsZCBmYWlsOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZwor ICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrCisgIEZPUkVJR04gS0VZIChw YXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmc7CitF UlJPUjogIGluc2VydCBvciB1cGRhdGUgb24gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJybmciIHZp b2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJybmdfZmsiCitE RVRBSUw6ICBLZXkgKHBhcmVudF9pZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIwMTgtMDEtMDIsMjAx OC0wNC0wMSkpIGlzIG5vdCBwcmVzZW50IGluIHRhYmxlICJ0ZW1wb3JhbF9ybmciLgorLS0gb2th eSBhZ2FpbjoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmc7CitBTFRFUiBUQUJMRSB0 ZW1wb3JhbF9ma19wZXIycm5nCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdf ZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVO Q0VTIHRlbXBvcmFsX3JuZzsKKy0tCistLSB0ZXN0IHBnX2dldF9jb25zdHJhaW50ZGVmCistLQor U0VMRUNUIHBnX2dldF9jb25zdHJhaW50ZGVmKG9pZCkgRlJPTSBwZ19jb25zdHJhaW50IFdIRVJF IGNvbm5hbWUgPSAndGVtcG9yYWxfZmtfcGVyMnJuZ19mayc7CisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBwZ19nZXRfY29uc3RyYWludGRlZiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEZPUkVJR04gS0VZ IChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcoaWQs IFBFUklPRCB2YWxpZF9hdCkKKygxIHJvdykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNpbmcg aW5zZXJ0cworLS0KK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMS0wMics ICcyMDE4LTAyLTAxJywgJ1sxLDIpJyk7CistLSBzaG91bGQgZmFpbDoKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkg VkFMVUVTICgnWzIsMyknLCAnMjAxOC0wMS0wMicsICcyMDE4LTA0LTAxJywgJ1sxLDIpJyk7CitF UlJPUjogIGluc2VydCBvciB1cGRhdGUgb24gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJybmciIHZp b2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJybmdfZmsiCitE RVRBSUw6ICBLZXkgKHBhcmVudF9pZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIwMTgtMDEtMDIsMjAx OC0wNC0wMSkpIGlzIG5vdCBwcmVzZW50IGluIHRhYmxlICJ0ZW1wb3JhbF9ybmciLgorLS0gbm93 IGl0IHNob3VsZCB3b3JrOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQp IFZBTFVFUyAoJ1sxLDIpJywgJ1syMDE4LTAyLTAzLDIwMTgtMDMtMDMpJyk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRf aWQpIFZBTFVFUyAoJ1syLDMpJywgJzIwMTgtMDEtMDInLCAnMjAxOC0wNC0wMScsICdbMSwyKScp OworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNpbmcgdXBkYXRlcworLS0KKy0tIHNsaWRlIHRoZSBl ZGdlIGFjcm9zcyBhIHJlZmVyZW5jZWQgdHJhbnNpdGlvbjoKK1VQREFURSB0ZW1wb3JhbF9ma19w ZXIycm5nIFNFVCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDInLCB2YWxpZF90aWwgPSAnMjAxOC0w Mi0yMCcgV0hFUkUgaWQgPSAnWzEsMiknOworLS0gc2hvdWxkIGZhaWw6CitVUERBVEUgdGVtcG9y YWxfZmtfcGVyMnJuZyBTRVQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAyJywgdmFsaWRfdGlsID0g JzIwMTgtMDUtMDEnIFdIRVJFIGlkID0gJ1sxLDIpJzsKK0VSUk9SOiAgaW5zZXJ0IG9yIHVwZGF0 ZSBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnJuZyIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29u c3RyYWludCAidGVtcG9yYWxfZmtfcGVyMnJuZ19mayIKK0RFVEFJTDogIEtleSAocGFyZW50X2lk LCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMS0wMiwyMDE4LTA1LTAxKSkgaXMgbm90IHByZXNl bnQgaW4gdGFibGUgInRlbXBvcmFsX3JuZyIuCitVUERBVEUgdGVtcG9yYWxfZmtfcGVyMnJuZyBT RVQgcGFyZW50X2lkID0gJ1s4LDkpJyBXSEVSRSBpZCA9ICdbMSwyKSc7CitFUlJPUjogIGluc2Vy dCBvciB1cGRhdGUgb24gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJybmciIHZpb2xhdGVzIGZvcmVp Z24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJybmdfZmsiCitERVRBSUw6ICBLZXkg KHBhcmVudF9pZCwgdmFsaWRfYXQpPShbOCw5KSwgWzIwMTgtMDEtMDIsMjAxOC0wMi0yMCkpIGlz IG5vdCBwcmVzZW50IGluIHRhYmxlICJ0ZW1wb3JhbF9ybmciLgorLS0gQUxURVIgRksgREVGRVJS QUJMRQorQkVHSU47CisgIElOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBW QUxVRVMKKyAgICAoJ1s1LDYpJywgJ1syMDE4LTAxLTAxLDIwMTgtMDItMDEpJyksCisgICAgKCdb NSw2KScsICdbMjAxOC0wMi0wMSwyMDE4LTAzLTAxKScpOworICBJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVF UworICAgICgnWzMsNCknLCAnMjAxOC0wMS0wNScsICcyMDE4LTAxLTEwJywgJ1s1LDYpJyk7Cisg IEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgICBBTFRFUiBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrX3BlcjJybmdfZmsKKyAgICBERUZFUlJBQkxFIElOSVRJQUxMWSBERUZFUlJFRDsK KyAgREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s1LDYpJzsgLS1zaG91bGQg bm90IGZhaWwgeWV0LgorQ09NTUlUOyAtLSBzaG91bGQgZmFpbCBoZXJlLgorRVJST1I6ICB1cGRh dGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9ybmciIHZpb2xhdGVzIGZvcmVpZ24ga2V5 IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJybmdfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9m a19wZXIycm5nIgorREVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEt MDEsMjAxOC0wMi0wMSkpIGlzIHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxf ZmtfcGVyMnJuZyIuCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgTk8gQUNUSU9O CistLQorVFJVTkNBVEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19wZXIycm5nOworQUxURVIg VEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtf cGVyMnJuZ19mazsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgQUREIENPTlNU UkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQ RVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nCisgIE9OIFVQREFURSBO TyBBQ1RJT047CistLSBhIFBLIHVwZGF0ZSB0aGF0IHN1Y2NlZWRzIGJlY2F1c2UgdGhlIG51bWVy aWMgaWQgaXNuJ3QgcmVmZXJlbmNlZDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZh bGlkX2F0KSBWQUxVRVMgKCdbNSw2KScsICdbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKScpOworVVBE QVRFIHRlbXBvcmFsX3JuZyBTRVQgdmFsaWRfYXQgPSAnWzIwMTYtMDEtMDEsMjAxNi0wMi0wMSkn IFdIRVJFIGlkID0gJ1s1LDYpJzsKKy0tIGEgUEsgdXBkYXRlIHRoYXQgc3VjY2VlZHMgZXZlbiB0 aG91Z2ggdGhlIG51bWVyaWMgaWQgaXMgcmVmZXJlbmNlZCBiZWNhdXNlIHRoZSByYW5nZSBpc24n dDoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbNSw2KSc7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTCisgICgnWzUsNiknLCAnWzIw MTgtMDEtMDEsMjAxOC0wMi0wMSknKSwKKyAgKCdbNSw2KScsICdbMjAxOC0wMi0wMSwyMDE4LTAz LTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMKKyAgKCdbMyw0KScsICcyMDE4LTAxLTA1Jywg JzIwMTgtMDEtMTAnLCAnWzUsNiknKTsKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIHZhbGlkX2F0 ID0gJ1syMDE2LTAyLTAxLDIwMTYtMDMtMDEpJworV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxp ZF9hdCA9ICdbMjAxOC0wMi0wMSwyMDE4LTAzLTAxKSc7CistLSBBIFBLIHVwZGF0ZSBzbGlkaW5n IHRoZSBlZGdlIGJldHdlZW4gdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMKKyAgKCdbNiw3KScsICdbMjAxOC0wMS0wMSwy MDE4LTAyLTAxKScpLAorICAoJ1s2LDcpJywgJ1syMDE4LTAyLTAxLDIwMTgtMDMtMDEpJyk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGls LCBwYXJlbnRfaWQpIFZBTFVFUworICAoJ1s0LDUpJywgJzIwMTgtMDEtMTUnLCAnMjAxOC0wMi0x NScsICdbNiw3KScpOworVVBEQVRFIHRlbXBvcmFsX3JuZworU0VUIHZhbGlkX2F0ID0gQ0FTRSBX SEVOIGxvd2VyKHZhbGlkX2F0KSA9ICcyMDE4LTAxLTAxJyBUSEVOIGRhdGVyYW5nZSgnMjAxOC0w MS0wMScsICcyMDE4LTAxLTA1JykKKyAgICAgICAgICAgICAgICAgICAgV0hFTiBsb3dlcih2YWxp ZF9hdCkgPSAnMjAxOC0wMi0wMScgVEhFTiBkYXRlcmFuZ2UoJzIwMTgtMDEtMDUnLCAnMjAxOC0w My0wMScpIEVORAorV0hFUkUgaWQgPSAnWzYsNyknOworLS0gYSBQSyB1cGRhdGUgc2hyaW5raW5n IHRoZSByZWZlcmVuY2VkIHJhbmdlIGJ1dCBzdGlsbCB2YWxpZDoKKy0tIFRoZXJlIGFyZSB0d28g cmVmZXJlbmNlczogb25lIGZ1bGZpbGxlZCBieSB0aGUgZmlyc3QgcGsgcm93LAorLS0gdGhlIG90 aGVyIGZ1bGZpbGxlZCBieSBib3RoIHBrIHJvd3MgY29tYmluZWQuCitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTCisgICgnWzEsMiknLCAnWzIwMTgtMDEtMDEs MjAxOC0wMy0wMSknKSwKKyAgKCdbMSwyKScsICdbMjAxOC0wMy0wMSwyMDE4LTA2LTAxKScpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCwgcGFyZW50X2lkKSBWQUxVRVMKKyAgKCdbMSwyKScsICcyMDE4LTAxLTE1JywgJzIwMTgtMDIt MDEnLCAnWzEsMiknKSwKKyAgKCdbMiwzKScsICcyMDE4LTAxLTE1JywgJzIwMTgtMDUtMDEnLCAn WzEsMiknKTsKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIHZhbGlkX2F0ID0gJ1syMDE4LTAxLTE1 LDIwMTgtMDMtMDEpJworV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCBAPiAnMjAxOC0w MS0xNSc6OmRhdGU7CistLSBhIFBLIHVwZGF0ZSBncm93aW5nIHRoZSByZWZlcmVuY2VkIHJhbmdl IGlzIGZpbmU6CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCB2YWxpZF9hdCA9ICdbMjAxOC0wMS0w MSwyMDE4LTAzLTAxKScKK1dIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTgt MDEtMjUnOjpkYXRlOworLS0gYSBQSyB1cGRhdGUgc2hyaW5raW5nIHRoZSByZWZlcmVuY2VkIHJh bmdlIGFuZCBjaGFuZ2luZyB0aGUgaWQgaW52YWxpZGF0ZXMgdGhlIHdob2xlIHJhbmdlOgorVVBE QVRFIHRlbXBvcmFsX3JuZyBTRVQgaWQgPSAnWzIsMyknLCB2YWxpZF9hdCA9ICdbMjAxOC0wMS0x NSwyMDE4LTAzLTAxKScKK1dIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTgt MDEtMTUnOjpkYXRlOworRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1wb3Jh bF9ybmciIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJy bmdfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycm5nIgorREVUQUlMOiAgS2V5IChpZCwg dmFsaWRfYXQpPShbMSwyKSwgWzIwMTgtMDEtMDEsMjAxOC0wMy0wMSkpIGlzIHN0aWxsIHJlZmVy ZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnJuZyIuCistLSBhIFBLIHVwZGF0ZSBj aGFuZ2luZyBvbmx5IHRoZSBpZCBpbnZhbGlkYXRlcyB0aGUgd2hvbGUgcmFuZ2U6CitVUERBVEUg dGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdbMiwzKScKK1dIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFs aWRfYXQgQD4gJzIwMTgtMDEtMTUnOjpkYXRlOworRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9u IHRhYmxlICJ0ZW1wb3JhbF9ybmciIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRl bXBvcmFsX2ZrX3BlcjJybmdfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycm5nIgorREVU QUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIwMTgtMDEtMDEsMjAxOC0wMy0wMSkp IGlzIHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnJuZyIuCist LSBhIFBLIHVwZGF0ZSB0aGF0IGxvc2VzIHRpbWUgZnJvbSBib3RoIGVuZHMsIGJ1dCBpcyBzdGls bCB2YWxpZDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMK KyAgKCdbMiwzKScsICdbMjAxOC0wMS0wMSwyMDE4LTAzLTAxKScpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBW QUxVRVMKKyAgKCdbNSw2KScsICcyMDE4LTAxLTE1JywgJzIwMTgtMDItMDEnLCAnWzIsMyknKTsK K1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIHZhbGlkX2F0ID0gJ1syMDE4LTAxLTE1LDIwMTgtMDIt MTUpJworV0hFUkUgaWQgPSAnWzIsMyknOworLS0gYSBQSyB1cGRhdGUgdGhhdCBmYWlscyBiZWNh dXNlIGJvdGggYXJlIHJlZmVyZW5jZWQ6CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCB2YWxpZF9h dCA9ICdbMjAxNi0wMS0wMSwyMDE2LTAyLTAxKScKK1dIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFs aWRfYXQgPSAnWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSknOworRVJST1I6ICB1cGRhdGUgb3IgZGVs ZXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9ybmciIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFp bnQgInRlbXBvcmFsX2ZrX3BlcjJybmdfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycm5n IgorREVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEtMDEsMjAxOC0w Mi0wMSkpIGlzIHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnJu ZyIuCistLSBhIFBLIHVwZGF0ZSB0aGF0IGZhaWxzIGJlY2F1c2UgYm90aCBhcmUgcmVmZXJlbmNl ZCwgYnV0IG5vdCAndGlsIGNvbW1pdDoKK0JFR0lOOworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9m a19wZXIycm5nCisgICAgQUxURVIgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrCisg ICAgREVGRVJSQUJMRSBJTklUSUFMTFkgREVGRVJSRUQ7CisgIFVQREFURSB0ZW1wb3JhbF9ybmcg U0VUIHZhbGlkX2F0ID0gJ1syMDE2LTAxLTAxLDIwMTYtMDItMDEpJworICBXSEVSRSBpZCA9ICdb NSw2KScgQU5EIHZhbGlkX2F0ID0gZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEn KTsKK0NPTU1JVDsKK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVtcG9yYWxf cm5nIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19wZXIycm5n X2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnJuZyIKK0RFVEFJTDogIEtleSAoaWQsIHZh bGlkX2F0KT0oWzUsNiksIFsyMDE4LTAxLTAxLDIwMTgtMDItMDEpKSBpcyBzdGlsbCByZWZlcmVu Y2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJybmciLgorLS0gY2hhbmdpbmcgdGhlIHNj YWxhciBwYXJ0IGZhaWxzOgorVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgaWQgPSAnWzcsOCknCitX SEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gJ1syMDE4LTAxLTAxLDIwMTgtMDItMDEp JzsKK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVtcG9yYWxfcm5nIiB2aW9s YXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIiBvbiB0 YWJsZSAidGVtcG9yYWxfZmtfcGVyMnJuZyIKK0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0o WzUsNiksIFsyMDE4LTAxLTAxLDIwMTgtMDItMDEpKSBpcyBzdGlsbCByZWZlcmVuY2VkIGZyb20g dGFibGUgInRlbXBvcmFsX2ZrX3BlcjJybmciLgorLS0gY2hhbmdpbmcgYW4gdW5yZWZlcmVuY2Vk IHBhcnQgaXMgb2theToKK1VQREFURSB0ZW1wb3JhbF9ybmcKK0ZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzIwMTgtMDEtMDInIFRPICcyMDE4LTAxLTAzJworU0VUIGlkID0gJ1s3LDgpJwor V0hFUkUgaWQgPSAnWzUsNiknOworLS0gY2hhbmdpbmcganVzdCBhIHBhcnQgZmFpbHM6CitVUERB VEUgdGVtcG9yYWxfcm5nCitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTA1 JyBUTyAnMjAxOC0wMS0xMCcKK1NFVCBpZCA9ICdbNyw4KScKK1dIRVJFIGlkID0gJ1s1LDYpJzsK K0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVtcG9yYWxfcm5nIiB2aW9sYXRl cyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIiBvbiB0YWJs ZSAidGVtcG9yYWxfZmtfcGVyMnJuZyIKK0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzUs NiksIFsyMDE4LTAxLTAzLDIwMTgtMDItMDEpKSBpcyBzdGlsbCByZWZlcmVuY2VkIGZyb20gdGFi bGUgInRlbXBvcmFsX2ZrX3BlcjJybmciLgorU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ybmcgV0hF UkUgaWQgaW4gKCdbNSw2KScsICdbNyw4KScpIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQg ICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgWzUsNikgfCBbMjAxNi0wMi0wMSwyMDE2LTAzLTAxKQorIFs1LDYpIHwgWzIwMTgt MDEtMDEsMjAxOC0wMS0wMikKKyBbNSw2KSB8IFsyMDE4LTAxLTAzLDIwMTgtMDItMDEpCisgWzcs OCkgfCBbMjAxOC0wMS0wMiwyMDE4LTAxLTAzKQorKDQgcm93cykKKworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlkIGluICgnWzMsNCknKSBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CisgIGlkICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZCAKKy0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFszLDQpIHwgMjAx OC0wMS0wNSB8IDIwMTgtMDEtMTAgfCBbNSw2KQorKDEgcm93KQorCistLSB0aGVuIGRlbGV0ZSB0 aGUgb2JqZWN0aW5nIEZLIHJlY29yZCBhbmQgdGhlIHNhbWUgUEsgdXBkYXRlIHN1Y2NlZWRzOgor REVMRVRFIEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMyw0KSc7CitVUERB VEUgdGVtcG9yYWxfcm5nIFNFVCB2YWxpZF9hdCA9ICdbMjAxNi0wMS0wMSwyMDE2LTAyLTAxKScK K1dIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSAnWzIwMTgtMDEtMDEsMjAxOC0wMi0w MSknOworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFJFU1RSSUNUCistLQorVFJV TkNBVEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19wZXIycm5nOworQUxURVIgVEFCTEUgdGVt cG9yYWxfZmtfcGVyMnJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19m azsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgQUREIENPTlNUUkFJTlQgdGVt cG9yYWxfZmtfcGVyMnJuZ19maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFs aWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nCisgIE9OIFVQREFURSBSRVNUUklDVDsK K0VSUk9SOiAgdW5zdXBwb3J0ZWQgT04gVVBEQVRFIGFjdGlvbiBmb3IgZm9yZWlnbiBrZXkgY29u c3RyYWludCB1c2luZyBQRVJJT0QKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBO TyBBQ1RJT04KKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3BlcjJybmc7 CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIEFERCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrX3BlcjJybmdfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlk X2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzsKKy0tIGEgUEsgZGVsZXRlIHRoYXQgc3Vj Y2VlZHMgYmVjYXVzZSB0aGUgbnVtZXJpYyBpZCBpc24ndCByZWZlcmVuY2VkOgorSU5TRVJUIElO VE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s1LDYpJywgJ1syMDE4LTAx LTAxLDIwMTgtMDItMDEpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgPSAn WzUsNiknOworLS0gYSBQSyBkZWxldGUgdGhhdCBzdWNjZWVkcyBldmVuIHRob3VnaCB0aGUgbnVt ZXJpYyBpZCBpcyByZWZlcmVuY2VkIGJlY2F1c2UgdGhlIHJhbmdlIGlzbid0OgorSU5TRVJUIElO VE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUworICAoJ1s1LDYpJywgJ1syMDE4 LTAxLTAxLDIwMTgtMDItMDEpJyksCisgICgnWzUsNiknLCAnWzIwMTgtMDItMDEsMjAxOC0wMy0w MSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzMsNCknLCAnMjAxOC0wMS0wNScsICcyMDE4 LTAxLTEwJywgJ1s1LDYpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgPSAn WzUsNiknIEFORCB2YWxpZF9hdCA9ICdbMjAxOC0wMi0wMSwyMDE4LTAzLTAxKSc7CistLSBhIFBL IGRlbGV0ZSB0aGF0IGZhaWxzIGJlY2F1c2UgYm90aCBhcmUgcmVmZXJlbmNlZDoKK0RFTEVURSBG Uk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gJ1syMDE4 LTAxLTAxLDIwMTgtMDItMDEpJzsKK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAi dGVtcG9yYWxfcm5nIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9m a19wZXIycm5nX2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnJuZyIKK0RFVEFJTDogIEtl eSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4LTAxLTAxLDIwMTgtMDItMDEpKSBpcyBzdGls bCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJybmciLgorLS0gYSBQSyBk ZWxldGUgdGhhdCBmYWlscyBiZWNhdXNlIGJvdGggYXJlIHJlZmVyZW5jZWQsIGJ1dCBub3QgJ3Rp bCBjb21taXQ6CitCRUdJTjsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICAg IEFMVEVSIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maworICAgIERFRkVSUkFCTEUg SU5JVElBTExZIERFRkVSUkVEOworICBERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQg PSAnWzUsNiknIEFORCB2YWxpZF9hdCA9IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDE4LTAy LTAxJyk7CitDT01NSVQ7CitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRlbXBv cmFsX3JuZyIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcGVy MnJuZ19mayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJybmciCitERVRBSUw6ICBLZXkgKGlk LCB2YWxpZF9hdCk9KFs1LDYpLCBbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKSkgaXMgc3RpbGwgcmVm ZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycm5nIi4KKy0tIGRlbGV0aW5nIGFu IHVucmVmZXJlbmNlZCBwYXJ0IGlzIG9rYXk6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcKK0ZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMDInIFRPICcyMDE4LTAxLTAzJwor V0hFUkUgaWQgPSAnWzUsNiknOworLS0gZGVsZXRpbmcganVzdCBhIHBhcnQgZmFpbHM6CitERUxF VEUgRlJPTSB0ZW1wb3JhbF9ybmcKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgt MDEtMDUnIFRPICcyMDE4LTAxLTEwJworV0hFUkUgaWQgPSAnWzUsNiknOworRVJST1I6ICB1cGRh dGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9ybmciIHZpb2xhdGVzIGZvcmVpZ24ga2V5 IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJybmdfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9m a19wZXIycm5nIgorREVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEt MDMsMjAxOC0wMi0wMSkpIGlzIHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxf ZmtfcGVyMnJuZyIuCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCBpbiAoJ1s1 LDYpJywgJ1s3LDgpJykgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgICAgICAgIHZh bGlkX2F0ICAgICAgICAgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBbNSw2 KSB8IFsyMDE4LTAxLTAxLDIwMTgtMDEtMDIpCisgWzUsNikgfCBbMjAxOC0wMS0wMywyMDE4LTAy LTAxKQorKDIgcm93cykKKworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJF IGlkIGluICgnWzMsNCknKSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCB2YWxpZF9m cm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLQorIFszLDQpIHwgMjAxOC0wMS0wNSB8IDIwMTgtMDEtMTAgfCBb NSw2KQorKDEgcm93KQorCistLSB0aGVuIGRlbGV0ZSB0aGUgb2JqZWN0aW5nIEZLIHJlY29yZCBh bmQgdGhlIHNhbWUgUEsgZGVsZXRlIHN1Y2NlZWRzOgorREVMRVRFIEZST00gdGVtcG9yYWxfZmtf cGVyMnJuZyBXSEVSRSBpZCA9ICdbMyw0KSc7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hF UkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9ICdbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKSc7 CistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgUkVTVFJJQ1QKKy0tCitUUlVOQ0FU RSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3BlcjJybmc7CitBTFRFUiBUQUJMRSB0ZW1wb3Jh bF9ma19wZXIycm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrOwor QUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9ma19wZXIycm5nX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9h dCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcKKyAgT04gREVMRVRFIFJFU1RSSUNUOworRVJS T1I6ICB1bnN1cHBvcnRlZCBPTiBERUxFVEUgYWN0aW9uIGZvciBmb3JlaWduIGtleSBjb25zdHJh aW50IHVzaW5nIFBFUklPRAorLS0KKy0tIHBlcjJybmcgdGVzdCBPTiBVUERBVEUvREVMRVRFIG9w dGlvbnMKKy0tCistLSBUT0M6CistLSByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQorLS0gcmVm ZXJlbmNlZCBkZWxldGVzIENBU0NBREUKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTAor LS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VU IERFRkFVTFQKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVAorLS0gcmVmZXJlbmNl ZCB1cGRhdGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRl cyBDQVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5V TEwgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdv IHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFy IGNvbHMsIFNFVCBOVUxMIHN1YnNldCkKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVM VCAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0 d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBz Y2FsYXIgY29scywgU0VUIERFRkFVTFQgc3Vic2V0KQorLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNl ZCB1cGRhdGVzIENBU0NBREUKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2Zr X3BlcjJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVT ICgnWzYsNyknLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFM VUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScpOwor QUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9ma19wZXIycm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlk X2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nCisgICAgT04gREVMRVRFIENBU0NBREUg T04gVVBEQVRFIENBU0NBREU7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0 ZW1wb3JhbF9ybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8g JzIwMjAtMDEtMDEnIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwg cGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgWzYsNykKKyBbMTAw LDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFs3LDgpCisgWzEwMCwxMDEpIHwgMjAy MC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQTyB1cGRh dGU6CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYs NyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAs MTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2 YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwg WzcsOCkKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFs3LDgpCisgWzEw MCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbNyw4KQorKDMgcm93cykKKworLS0g RksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcg KGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkn KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5 KScsICdbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtf cGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdb MjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJyk7CitVUERBVEUg dGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFs aWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19w ZXIycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAg IGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IDIw MTgtMDEtMDEgfCAyMDIwLTAxLTAxIHwgWzksMTApCisgWzIwMCwyMDEpIHwgMjAyMC0wMS0wMSB8 IDIwMjEtMDEtMDEgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNl ZCBkZWxldGVzIENBU0NBREUKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2Zr X3BlcjJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVT ICgnWzYsNyknLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFM VUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScpOwor LS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdI RVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVS RSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2 YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwg MjAxOS0wMS0wMSB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEg fCBbNiw3KQorKDIgcm93cykKKworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1w b3JhbF9ybmcgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19w ZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworIGlk IHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCB8IHBhcmVudF9pZCAKKy0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisoMCByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJl ZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBW QUxVRVMgKCdbOCw5KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1syMDIwLTAxLTAx LDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Ju ZyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMF0n IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRf dGlsICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs4LDkp CisoMSByb3cpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTAor LS0KK1RSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcGVyMnJuZzsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbMjAxOC0w MS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAn MjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3Jh bF9ma19wZXIycm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrLAor ICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrCisgICAgRk9SRUlHTiBLRVkg KHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5n CisgICAgT04gREVMRVRFIFNFVCBOVUxMIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVy cyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3JuZyBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkID0gJ1s3LDgpJyBX SEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hF UkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwg dmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8 IDIwMTktMDEtMDEgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAx IHwgCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbNiw3KQorKDMgcm93 cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdb Nyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIy cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlk ICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgt MDEtMDEgfCAyMDE5LTAxLTAxIHwgCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEt MDEgfCAKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IAorKDMgcm93cykK KworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAyMC0w MS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMg KCdbOCw5KScsICdbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxV RVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJyk7CitV UERBVEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4LDkpJyBB TkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3Jh bF9ma19wZXIycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsyMDAsMjAx KSB8IDIwMTgtMDEtMDEgfCAyMDIwLTAxLTAxIHwgCisgWzIwMCwyMDEpIHwgMjAyMC0wMS0wMSB8 IDIwMjEtMDEtMDEgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNl ZCBkZWxldGVzIFNFVCBOVUxMCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9m a19wZXIycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVF UyAoJ1s2LDcpJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZB TFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknKTsK Ky0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBX SEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hF UkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwg dmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8 IDIwMTktMDEtMDEgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAx IHwgCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbNiw3KQorKDMgcm93 cykKKworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUg aWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlk ID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlk X2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5 LTAxLTAxIHwgCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCAKKyBbMTAw LDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IAorKDMgcm93cykKKworLS0gRksgYWNy b3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2 YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdb MjAyMC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJu ZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIw MF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9ybmcgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0w MSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAn WzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJv bSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgMjAxOC0wMS0wMSB8IDIwMjAtMDEt MDEgfCAKKyBbMjAwLDIwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs4LDkpCisoMiBy b3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQKKy0t CitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3BlcjJybmc7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICcoLCknKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScs ICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVy MnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAw LDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJM RSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQgU0VUIERFRkFV TFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maywK KyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maworICAgIEZPUkVJR04gS0VZ IChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3Ju ZworICAgIE9OIERFTEVURSBTRVQgREVGQVVMVCBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBs ZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9ybmcgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZCA9ICdb Nyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIy cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlk ICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgt MDEtMDEgfCAyMDE5LTAxLTAxIHwgWzYsNykKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAy MC0wMS0wMSB8IFstMSwwKQorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwg WzYsNykKKygzIHJvd3MpCisKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3Ju ZyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZCAK Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAw LDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFstMSwwKQorIFsxMDAsMTAxKSB8IDIw MTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8 IDIwMjEtMDEtMDEgfCBbLTEsMCkKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJl bmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVF UyAoJ1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzIwMjAtMDEtMDEsMjAy MS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgaWQg PSAnWzksMTApJyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAx Jzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdb MjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9t IHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCAyMDE4LTAxLTAxIHwgMjAyMC0wMS0w MSB8IFstMSwwKQorIFsyMDAsMjAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzgsOSkK KygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVM VAorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcGVyMnJuZzsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgJygs KScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2 LDcpJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9m a19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAo J1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknKTsKKy0tIGxl ZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBp ZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQg PSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRf ZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTkt MDEtMDEgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0x LDApCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbNiw3KQorKDMgcm93 cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUg aWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlk ID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlk X2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5 LTAxLTAxIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCBb LTEsMCkKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFstMSwwKQorKDMg cm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzIwMTgtMDEtMDEs MjAyMC0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBW QUxVRVMgKCdbOCw5KScsICdbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lk KSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkp Jyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxp ZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3Bl cjJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAg aWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgMjAx OC0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbLTEsMCkKKyBbMjAwLDIwMSkgfCAyMDIwLTAxLTAxIHwg MjAyMS0wMS0wMSB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2Vk IHVwZGF0ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBjb2xzKQorLS0KK1RSVU5DQVRFIHRlbXBvcmFs X3JuZzIsIHRlbXBvcmFsX2ZrMl9wZXIycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAo aWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICdbMjAxOC0wMS0w MSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJybmcgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sx MDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsK K0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1w b3JhbF9mazJfcGVyMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJy bmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZh bGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAgIE9OIERFTEVURSBDQVND QURFIE9OIFVQREFURSBDQVNDQURFOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERB VEUgdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAx JyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBd JyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlk X3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIw MTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwg MjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbNyw4KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkg fCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykK KworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcm5nMiBTRVQgaWQxID0gJ1s3 LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVy MnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBp ZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQy IAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbNyw4KSAg ICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFs3LDgp ICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzcs OCkgICAgICB8IFs2LDcpCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQg cm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFM VUVTICgnWzgsOSknLCAnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSkn LCAnWzgsOSknLCAnWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBw YXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAx JywgJ1s4LDkpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nMiBTRVQgaWQxID0gJ1s5 LDEwKScgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpk YXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMjAw LDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwg dmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzIwMCwyMDEp IHwgMjAxOC0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbOSwxMCkgICAgIHwgWzgsOSkKKyBbMjAwLDIw MSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93 cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUgKHR3byBzY2Fs YXIgY29scykKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1wb3JhbF9mazJfcGVyMnJu ZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVT ICgnWzYsNyknLCAnWzYsNyknLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJl bnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcy MDIxLTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRl czoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwg IHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAx LTAxIHwgMjAxOS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMjAt MDEtMDEgfCAyMDIxLTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisoMiByb3dzKQorCistLSBu b24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s2 LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEw MCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgaWQgfCB2YWxpZF9mcm9tIHwgdmFsaWRf dGlsIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisoMCByb3dzKQorCistLSBGSyBhY3Jvc3Mg dHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQy LCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAyMC0w MS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkg VkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGls LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0w MScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3Jh bF9ybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6 ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzIw MCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8 IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAx KSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzgsOSkgICAgICB8IFs4LDkpCisoMSByb3cp CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTCAodHdvIHNjYWxh ciBjb2xzKQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9wZXIycm5n OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMg KCdbNiw3KScsICdbNiw3KScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfZmsyX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVu dF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9w ZXIycm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnJuZ19maywKKyAgQURE IENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFy ZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVt cG9yYWxfcm5nMgorICAgIE9OIERFTEVURSBTRVQgTlVMTCBPTiBVUERBVEUgU0VUIE5VTEw7Cist LSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9ybmcyIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQx ID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9m azJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK KyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJl bnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBb Niw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8 ICAgICAgICAgICAgfCAKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs2 LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUg dGVtcG9yYWxfcm5nMiBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGls ICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0w MS0wMSB8IDIwMTktMDEtMDEgfCAgICAgICAgICAgIHwgCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0w MSB8IDIwMjAtMDEtMDEgfCAgICAgICAgICAgIHwgCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8 IDIwMjEtMDEtMDEgfCAgICAgICAgICAgIHwgCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdv IHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2 YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0w MSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFM VUVTICgnWzgsOSknLCAnWzgsOSknLCAnWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBw YXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nMiBT RVQgaWQxID0gJ1s5LDEwKScgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIw MTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVS RSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2 YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t CisgWzIwMCwyMDEpIHwgMjAxOC0wMS0wMSB8IDIwMjAtMDEtMDEgfCAgICAgICAgICAgIHwgCisg WzIwMCwyMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbOCw5KSAgICAgIHwgWzgsOSkK KygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAo dHdvIHNjYWxhciBjb2xzKQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3JuZzIsIHRlbXBvcmFsX2Zr Ml9wZXIycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0 KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBi b3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwx MDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZh bGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8 IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEp IHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCAgICAgICAgICAgIHwgCisgWzEwMCwxMDEpIHwg MjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKygzIHJvd3MpCisK Ky0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEg PSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9 ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9m cm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEw MCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCAgICAgICAgICAgIHwgCisgWzEwMCwx MDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCAgICAgICAgICAgIHwgCisgWzEwMCwxMDEp IHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCAgICAgICAgICAgIHwgCisoMyByb3dzKQorCist LSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Ju ZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnWzIwMTgt MDEtMDEsMjAyMC0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQy LCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnWzIwMjAtMDEtMDEsMjAyMS0w MS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0n LCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcy MDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hF UkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwg dmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LQorIFsyMDAsMjAxKSB8IDIwMTgtMDEtMDEgfCAyMDIwLTAxLTAxIHwgICAgICAgICAgICB8IAor IFsyMDAsMjAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzgsOSkgICAgICB8IFs4LDkp CisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwg KHR3byBzY2FsYXIgY29scywgU0VUIE5VTEwgc3Vic2V0KQorLS0KK1RSVU5DQVRFIHRlbXBvcmFs X3JuZzIsIHRlbXBvcmFsX2ZrMl9wZXIycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAo aWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICdbMjAxOC0wMS0w MSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJybmcgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sx MDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsK Ky0tIGZhaWxzIGJlY2F1c2UgeW91IGNhbid0IHNldCB0aGUgUEVSSU9EIGNvbHVtbjoKK0FMVEVS IFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m azJfcGVyMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJybmdfZmsK KyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0 KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAgIE9OIERFTEVURSBTRVQgTlVMTCAo dmFsaWRfYXQpIE9OIFVQREFURSBTRVQgTlVMTDsKK0VSUk9SOiAgY29sdW1uICJ2YWxpZF9hdCIg cmVmZXJlbmNlZCBpbiBPTiBERUxFVEUgU0VUIGFjdGlvbiBjYW5ub3QgYmUgUEVSSU9ECistLSBv azoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycm5nCisgIERST1AgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9mazJfcGVyMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3Bl cjJybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9E IHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAgIE9OIERFTEVURSBT RVQgTlVMTCAocGFyZW50X2lkMSkgT04gVVBEQVRFIFNFVCBOVUxMOworLS0gbGVmdG92ZXJzIG9u IGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZDEgPSAnWzYs NyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAw LDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwg dmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEp IHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEw MSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8ICAgICAgICAgICAgfCBbNiw3KQorIFsxMDAs MTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisoMyBy b3dzKQorCistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgV0hF UkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hF UkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwg dmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgICAgICAgICAgICB8IFs2 LDcpCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCAgICAgICAgICAgIHwg WzYsNykKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8ICAgICAgICAgICAg fCBbNiw3KQorKDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4 LDkpJywgJ1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkp JywgJ1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJf cGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lk MikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5 KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEgPSAnWzgs OSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lk MSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCAyMDE4LTAxLTAxIHwgMjAyMC0w MS0wMSB8ICAgICAgICAgICAgfCBbOCw5KQorIFsyMDAsMjAxKSB8IDIwMjAtMDEtMDEgfCAyMDIx LTAxLTAxIHwgWzgsOSkgICAgICB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyBy ZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scykKKy0tCitUUlVO Q0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1wb3JhbF9mazJfcGVyMnJuZzsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdbLTEs LTFdJywgJygsKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlk X2F0KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRl bXBvcmFsX2ZrMl9wZXIycm5nCisgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQxIFNFVCBERUZBVUxU ICdbLTEsLTFdJywKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDIgU0VUIERFRkFVTFQgJ1stMSwt MV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJybmdfZmssCisgIEFERCBD T05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVu dF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBv cmFsX3JuZzIKKyAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRFIFNFVCBERUZBVUxU OworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcm5nMiBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VU IGlkMSA9ICdbNyw4KScsIGlkMiA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAg fCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEt MDEgfCAyMDE5LTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAxOS0w MS0wMSB8IDIwMjAtMDEtMDEgfCBbLTEsMCkgICAgIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgMjAy MC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKygzIHJvd3MpCisKKy0t IG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3JuZzIgU0VUIGlkMSA9ICdbNyw4KScs IGlkMiA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwg cGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAx IHwgWy0xLDApICAgICB8IFstMSwwKQorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAx LTAxIHwgWy0xLDApICAgICB8IFstMSwwKQorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIx LTAxLTAxIHwgWy0xLDApICAgICB8IFstMSwwKQorKDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3 byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwg dmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEt MDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZB TFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJ1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwg cGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEn LCAnMjAyMS0wMS0wMScsICdbOCw5KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3JuZzIg U0VUIGlkMSA9ICdbOSwxMCknLCBpZDIgPSAnWzksMTApJyBXSEVSRSBpZDEgPSAnWzgsOSknIEFO RCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBh cmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCAyMDE4LTAxLTAxIHwgMjAyMC0wMS0wMSB8 IFstMSwwKSAgICAgfCBbLTEsMCkKKyBbMjAwLDIwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0w MSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJl bmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCistLQorVFJVTkNBVEUg dGVtcG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsyX3BlcjJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWy0xLC0xXScs ICcoLCknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkg VkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGls LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0w MScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90 aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAw XScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxp ZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAy MDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8 IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0xLDApICAgICB8IFstMSwwKQorIFsxMDAsMTAx KSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisoMyByb3dz KQorCistLSBub24tRlBPIHVwZGF0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUg aWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUg aWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFs aWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQor IFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgWy0xLDApICAgICB8IFstMSww KQorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0xLDApICAgICB8IFst MSwwKQorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWy0xLDApICAgICB8 IFstMSwwKQorKDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4 LDkpJywgJ1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkp JywgJ1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJf cGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lk MikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5 KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEgPSAnWzgs OSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lk MSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCAyMDE4LTAxLTAxIHwgMjAyMC0w MS0wMSB8IFstMSwwKSAgICAgfCBbLTEsMCkKKyBbMjAwLDIwMSkgfCAyMDIwLTAxLTAxIHwgMjAy MS0wMS0wMSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksg cmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMsIFNFVCBERUZB VUxUIHN1YnNldCkKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1wb3JhbF9mazJfcGVy MnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFM VUVTICgnWy0xLC0xXScsICdbNiw3KScsICcoLCknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Ju ZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnWzIwMTgt MDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChp ZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMg KCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcp Jyk7CistLSBmYWlscyBiZWNhdXNlIHlvdSBjYW4ndCBzZXQgdGhlIFBFUklPRCBjb2x1bW46CitB TFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnJuZworICBBTFRFUiBDT0xVTU4gcGFyZW50X2lk MSBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJf cGVyMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJybmdfZmsKKyAg ICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQor ICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAgIE9OIERFTEVURSBTRVQgREVGQVVMVCAo dmFsaWRfYXQpIE9OIFVQREFURSBTRVQgREVGQVVMVDsKK0VSUk9SOiAgY29sdW1uICJ2YWxpZF9h dCIgcmVmZXJlbmNlZCBpbiBPTiBERUxFVEUgU0VUIGFjdGlvbiBjYW5ub3QgYmUgUEVSSU9ECist LSBvazoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycm5nCisgIEFMVEVSIENPTFVNTiBw YXJlbnRfaWQxIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrMl9wZXIycm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnJu Z19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFs aWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcyCisgICAgT04gREVMRVRFIFNFVCBE RUZBVUxUIChwYXJlbnRfaWQxKSBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0b3ZlcnMg b24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdb Niw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sx MDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20g fCB2YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEw MSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAs MTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0xLDApICAgICB8IFs2LDcpCisgWzEw MCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKygz IHJvd3MpCisKKy0tIG5vbi1GUE8gdXBkYXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBX SEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBX SEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAg fCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbLTEsMCkgICAgIHwg WzYsNykKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFstMSwwKSAgICAg fCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWy0xLDApICAg ICB8IFs2LDcpCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgn WzgsOSknLCAnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknKTsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgs OSknLCAnWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Ju ZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdbOCw5KScsICcoLCkn KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAx OC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAx LTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQg PSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRf ZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsy MDAsMjAxKSB8IDIwMTgtMDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0xLDApICAgICB8IFs4LDkpCisg WzIwMCwyMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbOCw5KSAgICAgIHwgWzgsOSkK KygyIHJvd3MpCisKKy0tIEZLIHdpdGggYSBjdXN0b20gcmFuZ2UgdHlwZQorQ1JFQVRFIFRZUEUg bXlkYXRlcmFuZ2UgQVMgcmFuZ2Uoc3VidHlwZT1kYXRlKTsKK0NSRUFURSBUQUJMRSB0ZW1wb3Jh bF9ybmczICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBteWRhdGVyYW5nZSwKKyAgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ybmczX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9V VCBPVkVSTEFQUykKKyk7CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmszX3JuZzJybmcgKAorICBp ZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IG15ZGF0ZXJhbmdlLAorICBwYXJlbnRfaWQgaW50NHJh bmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrM19ybmcycm5nX3BrIFBSSU1BUlkgS0VZIChp ZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsz X3JuZzJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAg IFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMyAoaWQsIFBFUklPRCB2YWxpZF9hdCkgT04gREVMRVRF IENBU0NBREUKKyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmczIChpZCwgdmFsaWRfYXQpIFZB TFVFUyAoJ1s4LDkpJywgbXlkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrM19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9p ZCkgVkFMVUVTICgnWzUsNiknLCBteWRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAx JyksICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMyBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAnWzgs OSknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazNfcm5nMnJuZyBXSEVSRSBpZCA9ICdbNSw2 KSc7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFs1LDYpIHwgWzIwMTgt MDEtMDEsMjAxOS0wMS0wMSkgfCBbOCw5KQorIFs1LDYpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0w MSkgfCBbOCw5KQorKDIgcm93cykKKworRFJPUCBUQUJMRSB0ZW1wb3JhbF9mazNfcm5nMnJuZzsK K0RST1AgVEFCTEUgdGVtcG9yYWxfcm5nMzsKK0RST1AgVFlQRSBteWRhdGVyYW5nZTsKKy0tCist LSBGSyBiZXR3ZWVuIHBhcnRpdGlvbmVkIHRhYmxlczogcmFuZ2VzCistLQorQ1JFQVRFIFRBQkxF IHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQg ZGF0ZXJhbmdlLAorICBuYW1lIHRleHQsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfcGFyaXRpb25l ZF9ybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKSBQ QVJUSVRJT04gQlkgTElTVCAoaWQpOworQ1JFQVRFIFRBQkxFIHRwMSBQQVJUSVRJT04gT0YgdGVt cG9yYWxfcGFydGl0aW9uZWRfcm5nIEZPUiBWQUxVRVMgSU4gKCdbMSwyKScsICdbMyw0KScsICdb NSw2KScsICdbNyw4KScsICdbOSwxMCknLCAnWzExLDEyKScsICdbMTMsMTQpJywgJ1sxNSwxNikn LCAnWzE3LDE4KScsICdbMTksMjApJywgJ1syMSwyMiknLCAnWzIzLDI0KScpOworQ1JFQVRFIFRB QkxFIHRwMiBQQVJUSVRJT04gT0YgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIEZPUiBWQUxVRVMg SU4gKCdbMCwxKScsICdbMiwzKScsICdbNCw1KScsICdbNiw3KScsICdbOCw5KScsICdbMTAsMTEp JywgJ1sxMiwxMyknLCAnWzE0LDE1KScsICdbMTYsMTcpJywgJ1sxOCwxOSknLCAnWzIwLDIxKScs ICdbMjIsMjMpJywgJ1syNCwyNSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVk X3JuZyAoaWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMKKyAgKCdbMSwyKScsIGRhdGVyYW5nZSgn MjAwMC0wMS0wMScsICcyMDAwLTAyLTAxJyksICdvbmUnKSwKKyAgKCdbMSwyKScsIGRhdGVyYW5n ZSgnMjAwMC0wMi0wMScsICcyMDAwLTAzLTAxJyksICdvbmUnKSwKKyAgKCdbMiwzKScsIGRhdGVy YW5nZSgnMjAwMC0wMS0wMScsICcyMDEwLTAxLTAxJyksICd0d28nKTsKK0NSRUFURSBUQUJMRSB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxp ZF9hdCBkYXRlcmFuZ2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVt cG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0 IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2Zr X3JuZzJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAg IFJFRkVSRU5DRVMgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgUEVSSU9EIHZhbGlkX2F0 KQorKSBQQVJUSVRJT04gQlkgTElTVCAoaWQpOworQ1JFQVRFIFRBQkxFIHRma3AxIFBBUlRJVElP TiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIEZPUiBWQUxVRVMgSU4gKCdbMSwy KScsICdbMyw0KScsICdbNSw2KScsICdbNyw4KScsICdbOSwxMCknLCAnWzExLDEyKScsICdbMTMs MTQpJywgJ1sxNSwxNiknLCAnWzE3LDE4KScsICdbMTksMjApJywgJ1syMSwyMiknLCAnWzIzLDI0 KScpOworQ1JFQVRFIFRBQkxFIHRma3AyIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25l ZF9ma19ybmcycm5nIEZPUiBWQUxVRVMgSU4gKCdbMCwxKScsICdbMiwzKScsICdbNCw1KScsICdb Niw3KScsICdbOCw5KScsICdbMTAsMTEpJywgJ1sxMiwxMyknLCAnWzE0LDE1KScsICdbMTYsMTcp JywgJ1sxOCwxOSknLCAnWzIwLDIxKScsICdbMjIsMjMpJywgJ1syNCwyNSknKTsKKy0tCistLSBw YXJ0aXRpb25lZCBGSyByZWZlcmVuY2luZyBpbnNlcnRzCistLQorSU5TRVJUIElOVE8gdGVtcG9y YWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVF UworICAoJ1sxLDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMDAtMDItMTUnKSwgJ1sx LDIpJyksCisgICgnWzEsMiknLCBkYXRlcmFuZ2UoJzIwMDEtMDEtMDEnLCAnMjAwMi0wMS0wMScp LCAnWzIsMyknKSwKKyAgKCdbMiwzKScsIGRhdGVyYW5nZSgnMjAwMC0wMS0wMScsICcyMDAwLTAy LTE1JyksICdbMSwyKScpOworLS0gc2hvdWxkIGZhaWw6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTCisg ICgnWzMsNCknLCBkYXRlcmFuZ2UoJzIwMTAtMDEtMDEnLCAnMjAxMC0wMi0xNScpLCAnWzEsMikn KTsKK0VSUk9SOiAgaW5zZXJ0IG9yIHVwZGF0ZSBvbiB0YWJsZSAidGZrcDEiIHZpb2xhdGVzIGZv cmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmdfZmsi CitERVRBSUw6ICBLZXkgKHBhcmVudF9pZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIwMTAtMDEtMDEs MjAxMC0wMi0xNSkpIGlzIG5vdCBwcmVzZW50IGluIHRhYmxlICJ0ZW1wb3JhbF9wYXJ0aXRpb25l ZF9ybmciLgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQs IHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUworICAoJ1szLDQpJywgZGF0ZXJhbmdlKCcyMDAw LTAxLTAxJywgJzIwMDAtMDItMTUnKSwgJ1szLDQpJyk7CitFUlJPUjogIGluc2VydCBvciB1cGRh dGUgb24gdGFibGUgInRma3AxIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nX2ZrIgorREVUQUlMOiAgS2V5IChwYXJlbnRfaWQs IHZhbGlkX2F0KT0oWzMsNCksIFsyMDAwLTAxLTAxLDIwMDAtMDItMTUpKSBpcyBub3QgcHJlc2Vu dCBpbiB0YWJsZSAidGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIi4KKy0tCistLSBwYXJ0aXRpb25l ZCBGSyByZWZlcmVuY2luZyB1cGRhdGVzCistLQorVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVk X2ZrX3JuZzJybmcgU0VUIHZhbGlkX2F0ID0gZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMDAt MDItMTMnKSBXSEVSRSBpZCA9ICdbMiwzKSc7CistLSBtb3ZlIGEgcm93IGZyb20gdGhlIGZpcnN0 IHBhcnRpdGlvbiB0byB0aGUgc2Vjb25kCitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtf cm5nMnJuZyBTRVQgaWQgPSAnWzQsNSknIFdIRVJFIGlkID0gJ1sxLDIpJzsKKy0tIG1vdmUgYSBy b3cgZnJvbSB0aGUgc2Vjb25kIHBhcnRpdGlvbiB0byB0aGUgZmlyc3QKK1VQREFURSB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFNFVCBpZCA9ICdbMSwyKScgV0hFUkUgaWQgPSAnWzQs NSknOwogLS0gc2hvdWxkIGZhaWw6CiBVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5n MnJuZyBTRVQgdmFsaWRfYXQgPSBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAwMC0wNC0wMScp IFdIRVJFIGlkID0gJ1sxLDIpJzsKIEVSUk9SOiAgY29uZmxpY3Rpbmcga2V5IHZhbHVlIHZpb2xh dGVzIGV4Y2x1c2lvbiBjb25zdHJhaW50ICJ0ZmtwMV9wa2V5IgpAQCAtNDIyMCw0ICs4NTI0LDE4 IEBAIFNFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBX SEVSRSBpZCA9ICdbMTUsMTYpJzsKIAogRFJPUCBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9m a19tbHRybmcybWx0cm5nOwogRFJPUCBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmc7 CistLQorLS0gRksgYmV0d2VlbiBwYXJ0aXRpb25lZCB0YWJsZXM6IFBFUklPRHMKKy0tCitDUkVB VEUgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfcGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2 YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBuYW1lIHRleHQsCisgIFBFUklP RCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVt cG9yYWxfcGFyaXRpb25lZF9ybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VU IE9WRVJMQVBTKQorKSBQQVJUSVRJT04gQlkgTElTVCAoaWQpOworQ1JFQVRFIFRBQkxFIHRwMSBQ QVJUSVRJT04gT0YgdGVtcG9yYWxfcGFydGl0aW9uZWRfcGVyIEZPUiBWQUxVRVMgSU4gKCdbMSwy KScsICdbMyw0KScsICdbNSw2KScsICdbNyw4KScsICdbOSwxMCknLCAnWzExLDEyKScsICdbMTMs MTQpJywgJ1sxNSwxNiknLCAnWzE3LDE4KScsICdbMTksMjApJywgJ1syMSwyMiknLCAnWzIzLDI0 KScpOworRVJST1I6ICBJbmhlcml0aW5nIGZyb20gYSB0YWJsZSB3aXRoIGEgUEVSSU9EIGlzIG5v dCBzdXBwb3J0ZWQKK0RST1AgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfcGVyOwogUkVTRVQg ZGF0ZXN0eWxlOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVs ZSBiL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKaW5kZXggZjk1NWJiOGJlMzMu LmU5MTIzMjY5OGU5IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVk dWxlCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKQEAgLTQzLDcgKzQz LDcgQEAgdGVzdDogY29weSBjb3B5c2VsZWN0IGNvcHlkbWwgY29weWVuY29kaW5nIGluc2VydCBp bnNlcnRfY29uZmxpY3QKICMgTm90ZTogbWFueSBvZiB0aGUgdGVzdHMgaW4gbGF0ZXIgZ3JvdXBz IGRlcGVuZCBvbiBjcmVhdGVfaW5kZXgKICMgLS0tLS0tLS0tLQogdGVzdDogY3JlYXRlX2Z1bmN0 aW9uX2MgY3JlYXRlX21pc2MgY3JlYXRlX29wZXJhdG9yIGNyZWF0ZV9wcm9jZWR1cmUgY3JlYXRl X3RhYmxlIGNyZWF0ZV90eXBlIGNyZWF0ZV9zY2hlbWEKLXRlc3Q6IGNyZWF0ZV9pbmRleCBjcmVh dGVfaW5kZXhfc3BnaXN0IGNyZWF0ZV92aWV3IGluZGV4X2luY2x1ZGluZyBpbmRleF9pbmNsdWRp bmdfZ2lzdAordGVzdDogY3JlYXRlX2luZGV4IGNyZWF0ZV9pbmRleF9zcGdpc3QgY3JlYXRlX3Zp ZXcgaW5kZXhfaW5jbHVkaW5nIGluZGV4X2luY2x1ZGluZ19naXN0IHBlcmlvZHMKIAogIyAtLS0t LS0tLS0tCiAjIEFub3RoZXIgZ3JvdXAgb2YgcGFyYWxsZWwgdGVzdHMKZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL2Zvcl9wb3J0aW9uX29mLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mv c3FsL2Zvcl9wb3J0aW9uX29mLnNxbAppbmRleCA3NDkzY2M0YzIzMy4uMGIzMzYxYTE0MjAgMTAw NjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2Zvcl9wb3J0aW9uX29mLnNxbAorKysgYi9z cmMvdGVzdC9yZWdyZXNzL3NxbC9mb3JfcG9ydGlvbl9vZi5zcWwKQEAgLTgwMSw2ICs4MDEsNTYg QEAgU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0MiBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CiAKIERST1AgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDI7CiAKKy0tIFRlc3Qgd2l0aCBQ RVJJT0RzCisKK0NSRUFURSBUQUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0MiAoCisgIGlkIGludDRy YW5nZSBOT1QgTlVMTCwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAg bmFtZSB0ZXh0IE5PVCBOVUxMLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2 YWxpZF90aWwpLAorICBDT05TVFJBSU5UIGZvcl9wb3J0aW9uX29mX3Rlc3QyX3BrIFBSSU1BUlkg S0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitJTlNFUlQgSU5UTyBmb3Jf cG9ydGlvbl9vZl90ZXN0MgorVkFMVUVTCisoJ1sxLDIpJywgJzIwMTgtMDEtMDInLCAnMjAxOC0w Mi0wMycsICdvbmUnKSwKKygnWzEsMiknLCAnMjAxOC0wMi0wNCcsICcyMDE4LTAzLTAzJywgJ29u ZScpLAorKCdbMSwyKScsICcyMDE4LTAzLTAzJywgJzIwMTgtMDQtMDQnLCAnb25lJyksCisoJ1sy LDMpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wNS0wMScsICd0d28nKSwKKygnWzMsNCknLCAnMjAx OC0wMS0wMScsIG51bGwsICd0aHJlZScpOworOworCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVz dDIKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMTAnIFRPICcyMDE4LTAy LTEwJworU0VUIG5hbWUgPSAnb25lXjEnCitXSEVSRSBpZCA9ICdbMSwyKSc7CisKK0RFTEVURSBG Uk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QyCitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDE4LTAxLTE1JyBUTyAnMjAxOC0wMi0xNScKK1dIRVJFIGlkID0gJ1syLDMpJzsKKworLS0gU2V0 dGluZyB0aGUgc3RhcnQgY29sdW1uIGZhaWxzOgorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3Qy CitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTEwJyBUTyAnMjAxOC0wMi0x MCcKK1NFVCB2YWxpZF9mcm9tID0gJzIwMTgtMDItMDEnCitXSEVSRSBpZCA9ICdbMSwyKSc7CisK Ky0tIFNldHRpbmcgdGhlIGVuZCBjb2x1bW4gZmFpbHM6CitVUERBVEUgZm9yX3BvcnRpb25fb2Zf dGVzdDIKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMTAnIFRPICcyMDE4 LTAyLTEwJworU0VUIHZhbGlkX3RpbCA9ICcyMDE4LTAyLTAxJworV0hFUkUgaWQgPSAnWzEsMikn OworCistLSBTZXR0aW5nIHRoZSBnZW5lcmF0ZWQgY29sdW1uIGZhaWxzOgorVVBEQVRFIGZvcl9w b3J0aW9uX29mX3Rlc3QyCitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTEw JyBUTyAnMjAxOC0wMi0xMCcKK1NFVCB2YWxpZF9hdCA9ICdbMjAxOC0wMi0wMSwyMDE4LTAyLTAz KScKK1dIRVJFIGlkID0gJ1sxLDIpJzsKKworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90 ZXN0MiBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKK0RST1AgVEFCTEUgZm9yX3BvcnRpb25fb2Zf dGVzdDI7CisKIC0tIFRlc3Qgd2l0aCBhIGN1c3RvbSByYW5nZSB0eXBlCiAKIENSRUFURSBUWVBF IG15ZGF0ZXJhbmdlIEFTIHJhbmdlKHN1YnR5cGU9ZGF0ZSk7CmRpZmYgLS1naXQgYS9zcmMvdGVz dC9yZWdyZXNzL3NxbC9wZXJpb2RzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3BlcmlvZHMu c3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4wNGEzMDExMGRlYwot LS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3BlcmlvZHMuc3FsCkBAIC0w LDAgKzEsMTk4IEBACisvKiBTeXN0ZW0gcGVyaW9kcyBhcmUgbm90IGltcGxlbWVudGVkICovCitj cmVhdGUgdGFibGUgcHQgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBmb3Ig c3lzdGVtX3RpbWUgKGRzLCBkZSkpOworCisvKiBQZXJpb2RzIG11c3Qgc3BlY2lmeSBhY3R1YWwg Y29sdW1ucyAqLworY3JlYXRlIHRhYmxlIHB0IChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRl LCBwZXJpb2QgZm9yIHAgKGJvZ3VzLCBkZSkpOworY3JlYXRlIHRhYmxlIHB0IChpZCBpbnRlZ2Vy LCBkcyBkYXRlLCBkZSBkYXRlLCBwZXJpb2QgZm9yIHAgKGRzLCBib2d1cykpOworCisvKiBEYXRh IHR5cGVzIG11c3QgbWF0Y2ggZXhhY3RseSAqLworY3JlYXRlIHRhYmxlIHB0IChpZCBpbnRlZ2Vy LCBkcyBkYXRlLCBkZSB0aW1lc3RhbXAsIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSk7CitjcmVhdGUg dGFibGUgcHQgKGlkIGludGVnZXIsIGRzIHRleHQgY29sbGF0ZSAiQyIsIGRlIHRleHQgY29sbGF0 ZSAiUE9TSVgiLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkpOworCisvKiBQZXJpb2RzIG11c3QgaGF2 ZSBhIGRlZmF1bHQgQlRyZWUgb3BlcmF0b3IgY2xhc3MgKi8KK2NyZWF0ZSB0YWJsZSBwdCAoaWQg aW50ZWdlciwgZHMgeG1sLCBkZSB4bWwsIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSk7CisKKy8qIFBl cmlvZCBhbmQgY29sdW1uIG5hbWVzIGFyZSBpbiB0aGUgc2FtZSBuYW1lc3BhY2UgKi8KK2NyZWF0 ZSB0YWJsZSBwdCAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBjdGlk IChkcywgZGUpKTsKK2NyZWF0ZSB0YWJsZSBwdCAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0 ZSwgcGVyaW9kIGZvciBpZCAoZHMsIGRlKSk7CisKKy8qIFBlcmlvZCBuYW1lIGNhbid0IGJlIGdp dmVuIG1vcmUgdGhhbiBvbmNlICovCitjcmVhdGUgdGFibGUgcHQgKGlkIGludGVnZXIsIGRzIGRh dGUsIGRlIGRhdGUsIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSwgcGVyaW9kIGZvciBwIChkcywgZGUp KTsKKworLyogUGVyaW9kIGNhbid0IHVzZSB0aGUgc2FtZSBjb2x1bSBmb3Igc3RhcnQgYW5kIGVu ZCovCitjcmVhdGUgdGFibGUgcHQgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlv ZCBmb3IgcCAoZHMsIGRzKSk7CisKKy8qIE5vdyBtYWtlIG9uZSB0aGF0IHdvcmtzICovCitjcmVh dGUgdGFibGUgcHQgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBmb3IgcCAo ZHMsIGRlKSk7CisvKiBJdHMgZ2VuZXJhdGVkIGNvbHVtbiBsb29rcyBnb29kICovCitzZWxlY3Qg YXR0bmFtZSwgYXR0dHlwaWQ6OnJlZ3R5cGUsIGF0dG5vdG51bGwsIGF0dGdlbmVyYXRlZCBmcm9t IHBnX2F0dHJpYnV0ZSB3aGVyZSBhdHRyZWxpZCA9ICdwdCc6OnJlZ2NsYXNzIGFuZCBhdHRuYW1l ID0gJ3AnOworc2VsZWN0IGNvbm5hbWUsIGNvbnR5cGUgZnJvbSBwZ19jb25zdHJhaW50IHdoZXJl IGNvbnJlbGlkID0gJ3B0Jzo6cmVnY2xhc3Mgb3JkZXIgYnkgY29ubmFtZTsKKy8qIEl0IGFwcGVh cnMgaW4gdGhlIGluZm9ybWF0aW9uX3NjaGVtYSAqLworc2VsZWN0ICogZnJvbSBpbmZvcm1hdGlv bl9zY2hlbWEucGVyaW9kczsKKworLyogU0VMRUNUICogZXhjbHVkZXMgdGhlIFBFUklPRCAqLwor aW5zZXJ0IGludG8gcHQgdmFsdWVzICgxLCAnMjAwMC0wMS0wMScsICcyMDAxLTAxLTAxJyk7Citz ZWxlY3QgKiBmcm9tIHB0OworCisvKiBZb3UgY2FuIGdldCBpdCBpZiB5b3Ugd2FudCAqLworc2Vs ZWN0ICosIHAgZnJvbSBwdDsKKworLyogWW91IGNhbiBjb21tZW50IG9uIGl0ICovCitjb21tZW50 IG9uIHBlcmlvZCBwdC5wIGlzICd0ZXN0IGNvbW1lbnQnOworc2VsZWN0IG9ial9kZXNjcmlwdGlv bigoc2VsZWN0IG9pZCBmcm9tIHBnX3BlcmlvZCB3aGVyZSBwZXJyZWxpZCA9ICdwdCc6OnJlZ2Ns YXNzIGFuZCBwZXJuYW1lID0gJ3AnKSwgJ3BnX3BlcmlvZCcpOworCisvKiBUd28gYXJlIG9rYXkg Ki8KK2NyZWF0ZSB0YWJsZSBwdDIgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlv ZCBmb3IgcDEgKGRzLCBkZSksIHBlcmlvZCBmb3IgcDIgKGRzLCBkZSkpOworZHJvcCB0YWJsZSBw dDI7CisKKy8qIFNraXAgY3JlYXRpbmcgR0VORVJBVEVEIGNvbHVtbjogd29ya3MgKi8KK2NyZWF0 ZSB0YWJsZSBwdDIgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHAgZGF0ZXJhbmdlIG5v dCBudWxsIGdlbmVyYXRlZCBhbHdheXMgYXMgKGRhdGVyYW5nZShkcywgZGUpKSBzdG9yZWQsIHBl cmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChjb2xleGlzdHMgPSB0cnVlKSk7CitcZCBwdDIKK2Ry b3AgdGFibGUgcHQyOworLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQgY29sdW1uOiBmYWlscyBi ZWNhdXNlIHRoZSBjb2wgaXNuJ3QgdGhlcmUgKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGlkIGludGVn ZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChjb2xleGlz dHMgPSB0cnVlKSk7CisvKiBTa2lwIGNyZWF0aW5nIEdFTkVSQVRFRCBjb2x1bW46IGZhaWxzIGJl Y2F1c2UgdGhlIG9wdGlvbiBoYXMgYW4gaW52YWxpZCB2YWx1ZSAqLworY3JlYXRlIHRhYmxlIHB0 MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBwIChkcywgZGUpIHdp dGggKGNvbGV4aXN0cyA9ICd3aGF0ZXZlcicpKTsKKy8qIFNraXAgY3JlYXRpbmcgR0VORVJBVEVE IGNvbHVtbjogZmFpbHMgYmVjYXVzZSB0aGUgY29sdW1uIGlzIG5vdCBOT1QgTlVMTCAqLworY3Jl YXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcCBkYXRlcmFuZ2Ug Z2VuZXJhdGVkIGFsd2F5cyBhcyAoZGF0ZXJhbmdlKGRzLCBkZSkpIHN0b3JlZCwgcGVyaW9kIGZv ciBwIChkcywgZGUpIHdpdGggKGNvbGV4aXN0cyA9IHRydWUpKTsKKy8qIFNraXAgY3JlYXRpbmcg R0VORVJBVEVEIGNvbHVtbjogZmFpbHMgYmVjYXVzZSB0aGUgY29sdW1uIGlzIG5vdCBHRU5FUkFU RUQgKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHAg ZGF0ZXJhbmdlIG5vdCBudWxsLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29sZXhpc3Rz ID0gdHJ1ZSkpOworLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQgY29sdW1uOiBmYWlscyBiZWNh dXNlIHRoZSBjb2x1bW4gaXMgR0VORVJBVEVEIGJ1dCB3aXRoIHRoZSB3cm9uZyBleHByZXNzaW9u ICovCistLSBUT0RPOgorLS0gY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwg ZGUgZGF0ZSwgcCBkYXRlcmFuZ2Ugbm90IG51bGwgZ2VuZXJhdGVkIGFsd2F5cyBhcyAoZGF0ZXJh bmdlKGRlLCBkcykpIHN0b3JlZCwgcGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGggKGNvbGV4aXN0 cyA9IHRydWUpKTsKKy8qIFNraXAgY3JlYXRpbmcgR0VORVJBVEVEIGNvbHVtbjogZmFpbHMgYmVj YXVzZSB0aGUgY29sdW1uIGlzIHRoZSB3cm9uZyB0eXBlICovCitjcmVhdGUgdGFibGUgcHQyIChp ZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwIHRzcmFuZ2Ugbm90IG51bGwgZ2VuZXJhdGVk IGFsd2F5cyBhcyAodHNyYW5nZShkcywgZGUpKSBzdG9yZWQsIHBlcmlvZCBmb3IgcCAoZHMsIGRl KSB3aXRoIChjb2xleGlzdHMgPSB0cnVlKSk7CisvKiBTa2lwIGNyZWF0aW5nIEdFTkVSQVRFRCBj b2x1bW46IGZhaWxzIGJlY2F1c2UgdGhlIGNvbHVtbiBpcyBpbmhlcml0ZWQgKi8KK2NyZWF0ZSB0 YWJsZSBwdDJwYXJlbnQgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHAgZGF0ZXJhbmdl IG5vdCBudWxsIGdlbmVyYXRlZCBhbHdheXMgYXMgKGRhdGVyYW5nZShkcywgZGUpKSBzdG9yZWQp OworY3JlYXRlIHRhYmxlIHB0MiAocGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGggKGNvbGV4aXN0 cyA9IHRydWUpKSBpbmhlcml0cyAocHQycGFyZW50KTsKK2Ryb3AgdGFibGUgcHQycGFyZW50Owor CisKKy8qCisgKiBBTFRFUiBUQUJMRSB0ZXN0cworICovCithbHRlciB0YWJsZSBwdCBkcm9wIHBl cmlvZCBmb3IgcDsKK2FsdGVyIHRhYmxlIHB0IGFkZCBwZXJpb2QgZm9yIHN5c3RlbV90aW1lIChk cywgZGUpOworYWx0ZXIgdGFibGUgcHQgYWRkIHBlcmlvZCBmb3IgcCAoZHMsIGRlKTsKKy8qIEl0 cyBnZW5lcmF0ZWQgY29sdW1uIGxvb2tzIGdvb2QgKi8KK3NlbGVjdCBhdHRuYW1lLCBhdHR0eXBp ZDo6cmVndHlwZSwgYXR0bm90bnVsbCwgYXR0Z2VuZXJhdGVkIGZyb20gcGdfYXR0cmlidXRlIHdo ZXJlIGF0dHJlbGlkID0gJ3B0Jzo6cmVnY2xhc3MgYW5kIGF0dG5hbWUgPSAncCc7CitzZWxlY3Qg Y29ubmFtZSwgY29udHlwZSBmcm9tIHBnX2NvbnN0cmFpbnQgd2hlcmUgY29ucmVsaWQgPSAncHQn OjpyZWdjbGFzcyBvcmRlciBieSBjb25uYW1lOworCisvKiBBZGRpbmcgYSBzZWNvbmQgb25lICov CitjcmVhdGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwZXJpb2Qg Zm9yIHAxIChkcywgZGUpKTsKK2FsdGVyIHRhYmxlIHB0MiBhZGQgcGVyaW9kIGZvciBwMiAoZHMs IGRlKTsKK2Ryb3AgdGFibGUgcHQyOworCisvKiBDYW4ndCBkcm9wIGl0cyBjb2x1bW5zICovCith bHRlciB0YWJsZSBwdCBkcm9wIGNvbHVtbiBkczsKK2FsdGVyIHRhYmxlIHB0IGRyb3AgY29sdW1u IGRlOworCisvKiBDYW4ndCBjaGFuZ2UgdGhlIGRhdGEgdHlwZXMgKi8KK2FsdGVyIHRhYmxlIHB0 IGFsdGVyIGNvbHVtbiBkcyB0eXBlIHRpbWVzdGFtcDsKK2FsdGVyIHRhYmxlIHB0IGFsdGVyIGNv bHVtbiBkcyB0eXBlIHRpbWVzdGFtcDsKKworLyogY29sdW1uL3BlcmlvZCBuYW1lc3BhY2UgY29u ZmxpY3RzICovCithbHRlciB0YWJsZSBwdCBhZGQgY29sdW1uIHAgaW50ZWdlcjsKK2FsdGVyIHRh YmxlIHB0IHJlbmFtZSBjb2x1bW4gaWQgdG8gcDsKK2FsdGVyIHRhYmxlIHB0IGFkZCBwZXJpb2Qg Zm9yIHRhYmxlb2lkIChkcywgZGUpOworYWx0ZXIgdGFibGUgcHQgYWRkIHBlcmlvZCBmb3IgIi4u Li4uLi4ucGcuZHJvcHBlZC40Li4uLi4uLi4iIChkcywgZGUpOworCisvKiBhZGRpbmcgY29sdW1u cyBhbmQgdGhlIHBlcmlvZCBhdCB0aGUgc2FtZSB0aW1lICovCitjcmVhdGUgdGFibGUgcHQyIChp ZCBpbnRlZ2VyKTsKK2FsdGVyIHRhYmxlIHB0MiBhZGQgY29sdW1uIGRzIGRhdGUsIGFkZCBjb2x1 bW4gZGUgZGF0ZSwgYWRkIHBlcmlvZCBmb3IgcCAoZHMsIGRlKTsKK2Ryb3AgdGFibGUgcHQyOwor CisvKiBBbWJpZ3VvdXMgcmFuZ2UgdHlwZXMgcmFpc2UgYW4gZXJyb3IgKi8KK2NyZWF0ZSB0eXBl IG15ZGF0ZXJhbmdlIGFzIHJhbmdlKHN1YnR5cGU9ZGF0ZSk7CitjcmVhdGUgdGFibGUgcHQyIChp ZCBpbnQsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSk7CisKKy8qIFlv dSBjYW4gZ2l2ZSBhbiBleHBsaWNpdCByYW5nZSB0eXBlICovCitjcmVhdGUgdGFibGUgcHQyIChp ZCBpbnQsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChyYW5n ZXR5cGUgPSAnbXlkYXRlcmFuZ2UnKSk7Citkcm9wIHR5cGUgbXlkYXRlcmFuZ2U7Citkcm9wIHR5 cGUgbXlkYXRlcmFuZ2UgY2FzY2FkZTsKK2Ryb3AgdGFibGUgcHQyOworY3JlYXRlIHRhYmxlIHB0 MiAoaWQgaW50LCBkcyBkYXRlLCBkZSBkYXRlLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAo cmFuZ2V0eXBlID0gJ2RhdGVyYW5nZScpKTsKKworLyogUmFuZ2UgdHlwZSBpcyBub3QgZm91bmQg Ki8KK2NyZWF0ZSB0YWJsZSBwdDMgKGlkIGludCwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZv ciBwIChkcywgZGUpIHdpdGggKHJhbmdldHlwZSA9ICdub3RhcmFuZ2UnKSk7CisKKy8qIFJhbmdl IHR5cGUgaXMgdGhlIHdyb25nIHR5cGUgKi8KK2NyZWF0ZSB0YWJsZSBwdDMgKGlkIGludCwgZHMg ZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGggKHJhbmdldHlwZSA9ICd0 c3R6cmFuZ2UnKSk7Citkcm9wIHRhYmxlIHB0MjsKKworLyogUGVyaW9kIGNhbid0IHVzZSB0aGUg c2FtZSBjb2x1bSBmb3Igc3RhcnQgYW5kIGVuZCovCitjcmVhdGUgdGFibGUgcHQyIChpZCBpbnRl Z2VyLCBkcyBkYXRlLCBkZSBkYXRlKTsKK2FsdGVyIHRhYmxlIHB0MiBhZGQgcGVyaW9kIGZvciBw IChkcywgZHMpOworZHJvcCB0YWJsZSBwdDI7CisKKy8qIFNraXAgY3JlYXRpbmcgR0VORVJBVEVE IGNvbHVtbjogd29ya3MgKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGlkIGludGVnZXIsIGRzIGRhdGUs IGRlIGRhdGUsIHAgZGF0ZXJhbmdlIG5vdCBudWxsIGdlbmVyYXRlZCBhbHdheXMgYXMgKGRhdGVy YW5nZShkcywgZGUpKSBzdG9yZWQpOworYWx0ZXIgdGFibGUgcHQyIGFkZCBwZXJpb2QgZm9yIHAg KGRzLCBkZSkgd2l0aCAoY29sZXhpc3RzID0gdHJ1ZSk7CitcZCBwdDIKK2Ryb3AgdGFibGUgcHQy OworLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQgY29sdW1uOiBmYWlscyBiZWNhdXNlIHRoZSBj b2wgaXNuJ3QgdGhlcmUgKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGlkIGludGVnZXIsIGRzIGRhdGUs IGRlIGRhdGUpOworYWx0ZXIgdGFibGUgcHQyIGFkZCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0 aCAoY29sZXhpc3RzID0gdHJ1ZSk7Citkcm9wIHRhYmxlIHB0MjsKKy8qIFNraXAgY3JlYXRpbmcg R0VORVJBVEVEIGNvbHVtbjogZmFpbHMgYmVjYXVzZSB0aGUgb3B0aW9uIGhhcyBhbiBpbnZhbGlk IHZhbHVlICovCitjcmVhdGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRl LCBwIGRhdGVyYW5nZSBub3QgbnVsbCBnZW5lcmF0ZWQgYWx3YXlzIGFzIChkYXRlcmFuZ2UoZHMs IGRlKSkgc3RvcmVkKTsKK2FsdGVyIHRhYmxlIHB0MiBhZGQgcGVyaW9kIGZvciBwIChkcywgZGUp IHdpdGggKGNvbGV4aXN0cyA9ICd3aGF0ZXZlcicpOworZHJvcCB0YWJsZSBwdDI7CisvKiBTa2lw IGNyZWF0aW5nIEdFTkVSQVRFRCBjb2x1bW46IGZhaWxzIGJlY2F1c2UgdGhlIGNvbHVtbiBpcyBu b3QgTk9UIE5VTEwgKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRl IGRhdGUsIHAgZGF0ZXJhbmdlIGdlbmVyYXRlZCBhbHdheXMgYXMgKGRhdGVyYW5nZShkcywgZGUp KSBzdG9yZWQpOworYWx0ZXIgdGFibGUgcHQyIGFkZCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0 aCAoY29sZXhpc3RzID0gdHJ1ZSk7Citkcm9wIHRhYmxlIHB0MjsKKy8qIFNraXAgY3JlYXRpbmcg R0VORVJBVEVEIGNvbHVtbjogZmFpbHMgYmVjYXVzZSB0aGUgY29sdW1uIGlzIG5vdCBHRU5FUkFU RUQgKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHAg ZGF0ZXJhbmdlIG5vdCBudWxsKTsKK2FsdGVyIHRhYmxlIHB0MiBhZGQgcGVyaW9kIGZvciBwIChk cywgZGUpIHdpdGggKGNvbGV4aXN0cyA9IHRydWUpOworZHJvcCB0YWJsZSBwdDI7CisvKiBTa2lw IGNyZWF0aW5nIEdFTkVSQVRFRCBjb2x1bW46IGZhaWxzIGJlY2F1c2UgdGhlIGNvbHVtbiBpcyBH RU5FUkFURUQgYnV0IHdpdGggdGhlIHdyb25nIGV4cHJlc3Npb24gKi8KKy0tIFRPRE86CistLSBj cmVhdGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwIGRhdGVyYW5n ZSBub3QgbnVsbCBnZW5lcmF0ZWQgYWx3YXlzIGFzIChkYXRlcmFuZ2UoZGUsIGRzKSkgc3RvcmVk KTsKKy0tIGFsdGVyIHRhYmxlIHB0MiBhZGQgcGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGggKGNv bGV4aXN0cyA9IHRydWUpOworLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQgY29sdW1uOiBmYWls cyBiZWNhdXNlIHRoZSBjb2x1bW4gaXMgdGhlIHdyb25nIHR5cGUgKi8KK2NyZWF0ZSB0YWJsZSBw dDIgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHAgdHNyYW5nZSBub3QgbnVsbCBnZW5l cmF0ZWQgYWx3YXlzIGFzICh0c3JhbmdlKGRzLCBkZSkpIHN0b3JlZCk7CithbHRlciB0YWJsZSBw dDIgYWRkIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChjb2xleGlzdHMgPSB0cnVlKTsKK2Ry b3AgdGFibGUgcHQyOworLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQgY29sdW1uOiBmYWlscyBi ZWNhdXNlIHRoZSBjb2x1bW4gaXMgaW5oZXJpdGVkICovCitjcmVhdGUgdGFibGUgcHQycGFyZW50 IChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwIGRhdGVyYW5nZSBub3QgbnVsbCBnZW5l cmF0ZWQgYWx3YXlzIGFzIChkYXRlcmFuZ2UoZHMsIGRlKSkgc3RvcmVkKTsKK2NyZWF0ZSB0YWJs ZSBwdDIgKCkgaW5oZXJpdHMgKHB0MnBhcmVudCk7CithbHRlciB0YWJsZSBwdDIgYWRkIHBlcmlv ZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChjb2xleGlzdHMgPSB0cnVlKTsKK2Ryb3AgdGFibGUgcHQy OworZHJvcCB0YWJsZSBwdDJwYXJlbnQ7CisKKy8qIENSRUFURSBUQUJMRSAoTElLRSAuLi4pICov CisKKy8qIFBlcmlvZHMgYXJlIG5vdCBjb3BpZWQgYnkgTElLRSwgc28gdGhlaXIgY29sdW1ucyBh cmVuJ3QgZWl0aGVyICovCitjcmVhdGUgdGFibGUgcHQyIChsaWtlIHB0KTsKK1xkIHB0MgorZHJv cCB0YWJsZSBwdDI7CisKKy8qIENhbiBhZGQgYSBwZXJpb2QgcmVmZXJyaW5nIHRvIExJS0UnZCBj b2x1bW5zICovCitjcmVhdGUgdGFibGUgbm90X3AgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRh dGUpOworY3JlYXRlIHRhYmxlIHB0MiAobGlrZSBub3RfcCwgcGVyaW9kIGZvciBwIChkcywgZGUp KTsKK1xkIHB0MgorZHJvcCB0YWJsZSBwdDI7CisKKy8qIENhbiBhZGQgYSBwZXJpb2Qgd2l0aCB0 aGUgc2FtZSBuYW1lICovCitjcmVhdGUgdGFibGUgcHQyIChsaWtlIHB0LCBwZXJpb2QgZm9yIHAg KGRzLCBkZSkpOworXGQgcHQyCitkcm9wIHRhYmxlIHB0MjsKKworLyogQ2FuIGFkZCBhIHBlcmlv ZCB3aXRoIGEgZGlmZmVyZW50IG5hbWUgKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGxpa2UgcHQsIHBl cmlvZCBmb3IgcDIgKGRzLCBkZSkpOworXGQgcHQyCitkcm9wIHRhYmxlIHB0MjsKKworLyogQ2Fu J3QgYWRkIGEgcGVyaW9kIHdob3NlIG5hbWUgY29uZmxpY3RzIHdpdGggYSBMSUtFJ2QgY29sdW1u ICovCitjcmVhdGUgdGFibGUgcHQyIChsaWtlIHB0LCBwZXJpb2QgZm9yIGlkIChkcywgZGUpKTsK KworLyogQ1JFQVRFIFRBTEJFIElOSEVSSVRTICovCisKKy8qIENhbid0IGluaGVyaXQgZnJvbSBh IHRhYmxlIHdpdGggYSBwZXJpb2QgKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKG5hbWUgdGV4dCkgaW5o ZXJpdHMgKHB0KTsKKworLyogQ2FuJ3QgaW5oZXJpdCB3aXRoIGEgcGVyaW9kICovCitjcmVhdGUg dGFibGUgcHQyIChkMnMgZGF0ZSwgZDJlIGRhdGUsIHBlcmlvZCBmb3IgcCAoZDJzLCBkMmUpKSBp bmhlcml0cyAobm90X3ApOworCitkcm9wIHRhYmxlIG5vdF9wOwpkaWZmIC0tZ2l0IGEvc3JjL3Rl c3QvcmVncmVzcy9zcWwvcHJpdmlsZWdlcy5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wcml2 aWxlZ2VzLnNxbAppbmRleCBhZTU3ZjIzMzMxNC4uYzM2YjFkMzRhZjUgMTAwNjQ0Ci0tLSBhL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3ByaXZpbGVnZXMuc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mv c3FsL3ByaXZpbGVnZXMuc3FsCkBAIC03ODMsNiArNzgzLDM0IEBAIFVQREFURSB0MSBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAxLTAxJyBUTyAnMjAwMS0wMS0wMScgU0VUIGMx ID0gJ1syCiBTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMTsKIERS T1AgVEFCTEUgdDE7CiAKKy0tIHRlc3QgY29sdW1uLWxldmVsIHByaXZpbGVnZXMgb24gdGhlIFBF UklPRCB1c2VkIGluIEZPUiBQT1JUSU9OIE9GCitTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJl Z3Jlc3NfcHJpdl91c2VyMTsKK0NSRUFURSBUQUJMRSB0MSAoCisgIGMxIGludDRyYW5nZSwKKyAg dmFsaWRfZnJvbSB0aW1lc3RhbXAsCisgIHZhbGlkX3RpbCB0aW1lc3RhbXAsCisgIFBFUklPRCBG T1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisJQ09OU1RSQUlOVCB0MXBrIFBS SU1BUlkgS0VZIChjMSwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitHUkFOVCBTRUxF Q1QgT04gdDEgVE8gcmVncmVzc19wcml2X3VzZXIyOworR1JBTlQgU0VMRUNUIE9OIHQxIFRPIHJl Z3Jlc3NfcHJpdl91c2VyMzsKK0dSQU5UIFNFTEVDVCBPTiB0MSBUTyByZWdyZXNzX3ByaXZfdXNl cjQ7CitHUkFOVCBTRUxFQ1QgT04gdDEgVE8gcmVncmVzc19wcml2X3VzZXI1OworR1JBTlQgVVBE QVRFIChjMSkgT04gdDEgVE8gcmVncmVzc19wcml2X3VzZXIyOworR1JBTlQgVVBEQVRFIChjMSwg dmFsaWRfYXQpIE9OIHQxIFRPIHJlZ3Jlc3NfcHJpdl91c2VyMzsKK0dSQU5UIFVQREFURSAoYzEs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgT04gdDEgVE8gcmVncmVzc19wcml2X3VzZXI0OworR1JB TlQgVVBEQVRFIChjMSwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCB2YWxpZF9hdCkgT04gdDEgVE8g cmVncmVzc19wcml2X3VzZXI1OworU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3By aXZfdXNlcjI7CitVUERBVEUgdDEgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0w MS0wMScgVE8gJzIwMDEtMDEtMDEnIFNFVCBjMSA9ICdbMiwzKSc7CitTRVQgU0VTU0lPTiBBVVRI T1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMzsKK1VQREFURSB0MSBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDAwLTAxLTAxJyBUTyAnMjAwMS0wMS0wMScgU0VUIGMxID0gJ1syLDMp JzsKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19wcml2X3VzZXI0OworVVBEQVRF IHQxIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDEtMDEnIFRPICcyMDAxLTAx LTAxJyBTRVQgYzEgPSAnWzIsMyknOworU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNz X3ByaXZfdXNlcjU7CitVUERBVEUgdDEgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAw MC0wMS0wMScgVE8gJzIwMDEtMDEtMDEnIFNFVCBjMSA9ICdbMiwzKSc7CitTRVQgU0VTU0lPTiBB VVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMTsKK0RST1AgVEFCTEUgdDE7CisKIC0tIHRl c3QgY29sdW1uLWxldmVsIHByaXZpbGVnZXMgd2hlbiBpbnZvbHZlZCB3aXRoIERFTEVURQogU0VU IFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3ByaXZfdXNlcjE7CiBBTFRFUiBUQUJMRSBh dGVzdDYgQUREIENPTFVNTiB0aHJlZSBpbnRlZ2VyOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVn cmVzcy9zcWwvd2l0aG91dF9vdmVybGFwcy5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC93aXRo b3V0X292ZXJsYXBzLnNxbAppbmRleCAyMjRkZGVmODQzMC4uMTg4MDQxZTFkMDcgMTAwNjQ0Ci0t LSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3dpdGhvdXRfb3ZlcmxhcHMuc3FsCisrKyBiL3NyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL3dpdGhvdXRfb3ZlcmxhcHMuc3FsCkBAIC05MSw2ICs5MSwzMSBAQCBD UkVBVEUgVEFCTEUgdGVtcG9yYWxfcm5nMiAoCiBTRUxFQ1QgcGdfZ2V0X2NvbnN0cmFpbnRkZWYo b2lkKSBGUk9NIHBnX2NvbnN0cmFpbnQgV0hFUkUgY29ubmFtZSA9ICd0ZW1wb3JhbF9ybmcyX3Br JzsKIFNFTEVDVCBwZ19nZXRfaW5kZXhkZWYoY29uaW5kaWQsIDAsIHRydWUpIEZST00gcGdfY29u c3RyYWludCBXSEVSRSBjb25uYW1lID0gJ3RlbXBvcmFsX3JuZzJfcGsnOwogCistLSBQSyB3aXRo IG9uZSBjb2x1bW4gcGx1cyBhIFBFUklPRDoKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9wZXIgKAor ICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisg IFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJ TlQgdGVtcG9yYWxfcGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVS TEFQUykKKyk7CitcZCB0ZW1wb3JhbF9wZXIKK1NFTEVDVCBwZ19nZXRfY29uc3RyYWludGRlZihv aWQpIEZST00gcGdfY29uc3RyYWludCBXSEVSRSBjb25uYW1lID0gJ3RlbXBvcmFsX3Blcl9wayc7 CitTRUxFQ1QgcGdfZ2V0X2luZGV4ZGVmKGNvbmluZGlkLCAwLCB0cnVlKSBGUk9NIHBnX2NvbnN0 cmFpbnQgV0hFUkUgY29ubmFtZSA9ICd0ZW1wb3JhbF9wZXJfcGsnOworCistLSBQSyB3aXRoIHR3 byBjb2x1bW5zIHBsdXMgYSBQRVJJT0Q6CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGVyMiAoCisg IGlkMSBpbnQ0cmFuZ2UsCisgIGlkMiBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAg dmFsaWRfdGlsIGRhdGUsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlk X3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyMl9wayBQUklNQVJZIEtFWSAoaWQxLCBp ZDIsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOworXGQgdGVtcG9yYWxfcGVyMgorU0VM RUNUIHBnX2dldF9jb25zdHJhaW50ZGVmKG9pZCkgRlJPTSBwZ19jb25zdHJhaW50IFdIRVJFIGNv bm5hbWUgPSAndGVtcG9yYWxfcGVyMl9wayc7CitTRUxFQ1QgcGdfZ2V0X2luZGV4ZGVmKGNvbmlu ZGlkLCAwLCB0cnVlKSBGUk9NIHBnX2NvbnN0cmFpbnQgV0hFUkUgY29ubmFtZSA9ICd0ZW1wb3Jh bF9wZXIyX3BrJzsKKwogLS0gUEsgd2l0aCBhIGN1c3RvbSByYW5nZSB0eXBlOgogQ1JFQVRFIFRZ UEUgdGV4dHJhbmdlMiBBUyByYW5nZSAoc3VidHlwZT10ZXh0LCBjb2xsYXRpb249IkMiKTsKIENS RUFURSBUQUJMRSB0ZW1wb3JhbF9ybmczICgKQEAgLTE2OSw2ICsxOTQsMzMgQEAgU0VMRUNUIHBn X2dldF9jb25zdHJhaW50ZGVmKG9pZCkgRlJPTSBwZ19jb25zdHJhaW50IFdIRVJFIGNvbm5hbWUg PSAndGVtcG9yYWxfcm4KIFNFTEVDVCBwZ19nZXRfaW5kZXhkZWYoY29uaW5kaWQsIDAsIHRydWUp IEZST00gcGdfY29uc3RyYWludCBXSEVSRSBjb25uYW1lID0gJ3RlbXBvcmFsX3JuZzNfdXEnOwog RFJPUCBUQUJMRSB0ZW1wb3JhbF9ybmczOwogCistLSBVTklRVUUgd2l0aCBvbmUgY29sdW1uIHBs dXMgYSBQRVJJT0Q6CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGVyMyAoCisgIGlkIGludDRyYW5n ZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgUEVSSU9EIEZPUiB2 YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9w ZXIzX3VxIFVOSVFVRSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOworXGQgdGVt cG9yYWxfcGVyMworU0VMRUNUIHBnX2dldF9jb25zdHJhaW50ZGVmKG9pZCkgRlJPTSBwZ19jb25z dHJhaW50IFdIRVJFIGNvbm5hbWUgPSAndGVtcG9yYWxfcGVyM191cSc7CitTRUxFQ1QgcGdfZ2V0 X2luZGV4ZGVmKGNvbmluZGlkLCAwLCB0cnVlKSBGUk9NIHBnX2NvbnN0cmFpbnQgV0hFUkUgY29u bmFtZSA9ICd0ZW1wb3JhbF9wZXIzX3VxJzsKK0RST1AgVEFCTEUgdGVtcG9yYWxfcGVyMzsKKwor LS0gVU5JUVVFIHdpdGggdHdvIGNvbHVtbnMgcGx1cyBhIFBFUklPRDoKK0NSRUFURSBUQUJMRSB0 ZW1wb3JhbF9wZXIzICgKKyAgaWQxIGludDRyYW5nZSwKKyAgaWQyIGludDRyYW5nZSwKKyAgdmFs aWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAo dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXIzX3VxIFVO SVFVRSAoaWQxLCBpZDIsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOworXGQgdGVtcG9y YWxfcGVyMworU0VMRUNUIHBnX2dldF9jb25zdHJhaW50ZGVmKG9pZCkgRlJPTSBwZ19jb25zdHJh aW50IFdIRVJFIGNvbm5hbWUgPSAndGVtcG9yYWxfcGVyM191cSc7CitTRUxFQ1QgcGdfZ2V0X2lu ZGV4ZGVmKGNvbmluZGlkLCAwLCB0cnVlKSBGUk9NIHBnX2NvbnN0cmFpbnQgV0hFUkUgY29ubmFt ZSA9ICd0ZW1wb3JhbF9wZXIzX3VxJzsKK0RST1AgVEFCTEUgdGVtcG9yYWxfcGVyMzsKKwogLS0g VU5JUVVFIHdpdGggYSBjdXN0b20gcmFuZ2UgdHlwZToKIENSRUFURSBUWVBFIHRleHRyYW5nZTIg QVMgcmFuZ2UgKHN1YnR5cGU9dGV4dCwgY29sbGF0aW9uPSJDIik7CiBDUkVBVEUgVEFCTEUgdGVt cG9yYWxfcm5nMyAoCkBAIC0yNDUsNiArMjk3LDU4IEBAIEFMVEVSIFRBQkxFIHRlbXBvcmFsMwog ICBVTklRVUUgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsKIERST1AgVEFCTEUgdGVt cG9yYWwzOwogCistLSBQUklNQVJZIEtFWSB3aXRoIFBFUklPRCBhbHJlYWR5IHRoZXJlCitDUkVB VEUgVEFCTEUgdGVtcG9yYWwzICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUs CisgIHZhbGlkX3RpbCBkYXRlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2 YWxpZF90aWwpCispOworQUxURVIgVEFCTEUgdGVtcG9yYWwzCisgIEFERCBDT05TVFJBSU5UIHRl bXBvcmFsM19waworICBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMp OworXGQgdGVtcG9yYWwzCitEUk9QIFRBQkxFIHRlbXBvcmFsMzsKKworLS0gUFJJTUFSWSBLRVkg d2l0aCBQRVJJT0QgdG9vCitDUkVBVEUgVEFCTEUgdGVtcG9yYWwzICgKKyAgaWQgaW50NHJhbmdl LAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlCispOworQUxURVIgVEFCTEUg dGVtcG9yYWwzCisgIEFERCBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90 aWwpLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbDNfcGsKKyAgUFJJTUFSWSBLRVkgKGlkLCB2 YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsKK1xkIHRlbXBvcmFsMworRFJPUCBUQUJMRSB0ZW1w b3JhbDM7CisKKy0tIFVOSVFVRSB3aXRoIFBFUklPRCBhbHJlYWR5IHRoZXJlCitDUkVBVEUgVEFC TEUgdGVtcG9yYWwzICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZh bGlkX3RpbCBkYXRlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90 aWwpCispOworQUxURVIgVEFCTEUgdGVtcG9yYWwzCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFs M191cQorICBVTklRVUUgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsKK1xkIHRlbXBv cmFsMworRFJPUCBUQUJMRSB0ZW1wb3JhbDM7CisKKy0tIFVOSVFVRSB3aXRoIFBFUklPRCB0b28K K0NSRUFURSBUQUJMRSB0ZW1wb3JhbDMgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20g ZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbDMKKyAgQURE IFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIEFERCBDT05T VFJBSU5UIHRlbXBvcmFsM191cQorICBVTklRVUUgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJM QVBTKTsKK1xkIHRlbXBvcmFsMworRFJPUCBUQUJMRSB0ZW1wb3JhbDM7CisKIC0tCiAtLSByYW5n ZSBQSzogdGVzdCB3aXRoIGV4aXN0aW5nIHJvd3MKIC0tCkBAIC02MTUsNiArNzE5LDIxMiBAQCBX SEVSRSAgIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgSVMgTlVMTDsKIFNFTEVDVCAqIEZST00g dGVtcG9yYWxfbWx0cm5nMyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CiBEUk9QIFRBQkxFIHRlbXBv cmFsX21sdHJuZzM7CiAKKy0tCistLSBQRVJJT0QgUEs6IHRlc3Qgd2l0aCBleGlzdGluZyByb3dz CistLQorCitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wZXIgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFs X3Blcl9wazsKKworLS0gb2theToKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMS0wMicsICcyMDE4LTAy LTAzJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDMtMDMnLCAnMjAxOC0wNC0wNCcpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdb MiwzKScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDEtMDUnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzMsNCknLCAnMjAxOC0w MS0wMScsIE5VTEwpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyIEFERCBDT05TVFJBSU5UIHRl bXBvcmFsX3Blcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMp OworQUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXJf cGs7CisKKy0tIHNob3VsZCBmYWlsOgorQkVHSU47CisgIElOU0VSVCBJTlRPIHRlbXBvcmFsX3Bl ciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMS0w MScsICcyMDE4LTAxLTA1Jyk7CisgIEFMVEVSIFRBQkxFIHRlbXBvcmFsX3BlciBBREQgQ09OU1RS QUlOVCB0ZW1wb3JhbF9wZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9W RVJMQVBTKTsKK1JPTExCQUNLOworLS0gcmVqZWN0cyBlbXB0eToKK0JFR0lOOworICBBTFRFUiBU QUJMRSB0ZW1wb3JhbF9wZXIgRFJPUCBQRVJJT0QgRk9SIHZhbGlkX2F0OworICBJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1szLDQp JywgJzIwMjAtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9w ZXIgQUREIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCk7CitST0xM QkFDSzsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BlciBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9w ZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX3BlcjsKKworLS0KKy0tIFBFUklPRCBQSzogdGVzdCBpbnNlcnRzCist LQorCistLSBva2F5OgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4LTAxLTAyJywgJzIwMTgtMDItMDMnKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFM VUVTICgnWzEsMiknLCAnMjAxOC0wMy0wMycsICcyMDE4LTA0LTA0Jyk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1syLDMpJywg JzIwMTgtMDEtMDEnLCAnMjAxOC0wMS0wNScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChp ZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMyw0KScsICcyMDE4LTAxLTAxJywg TlVMTCk7CisKKy0tIHNob3VsZCBmYWlsOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4LTAxLTAxJywgJzIw MTgtMDEtMDUnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkgVkFMVUVTIChOVUxMLCAnMjAxOC0wMS0wMScsICcyMDE4LTAxLTA1Jyk7CistLSBy ZWplY3RzIGVtcHR5OgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMgKCdbMyw0KScsICcyMDIwLTAxLTAxJywgJzIwMjAtMDEtMDEnKTsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0K Ky0tIFBFUklPRCBQSzogdGVzdCB1cGRhdGVzCistLQorCistLSB1cGRhdGUgdGhlIHNjYWxhciBw YXJ0CitVUERBVEUgIHRlbXBvcmFsX3BlcgorU0VUICAgICBpZCA9ICdbMTEsMTIpJworV0hFUkUg ICBpZCA9ICdbMSwyKScKK0FORCAgICAgdmFsaWRfYXQgQD4gJzIwMTgtMDEtMTUnOjpkYXRlOwor LS0gdXBkYXRlIHRoZSBQRVJJT0QgYm91bmRzCitVUERBVEUgIHRlbXBvcmFsX3BlcgorU0VUICAg ICB2YWxpZF9mcm9tID0gJzIwMjAtMDEtMDEnLAorICAgICAgICB2YWxpZF90aWwgPSAnMjAyMS0w MS0wMScKK1dIRVJFICAgaWQgPSAnWzExLDEyKScKK0FORCAgICAgdmFsaWRfYXQgQD4gJzIwMTgt MDEtMTUnOjpkYXRlOworLS0gdXBkYXRlIGJvdGggYXQgb25jZQorVVBEQVRFICB0ZW1wb3JhbF9w ZXIKK1NFVCAgICAgaWQgPSAnWzIxLDIyKScsCisgICAgICAgIHZhbGlkX2Zyb20gPSAnMjAxOC0w MS0wMicsCisgICAgICAgIHZhbGlkX3RpbCA9ICcyMDE4LTAyLTAzJworV0hFUkUgICBpZCA9ICdb MTEsMTIpJworQU5EICAgICB2YWxpZF9hdCBAPiAnMjAyMC0wMS0xNSc6OmRhdGU7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX3BlciBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBzaG91bGQgZmFp bDoKK1VQREFURSAgdGVtcG9yYWxfcGVyCitTRVQgICAgIGlkID0gJ1sxLDIpJywKKyAgICAgICAg dmFsaWRfZnJvbSA9ICcyMDE4LTAzLTA1JywKKyAgICAgICAgdmFsaWRfdGlsID0gJzIwMTgtMDUt MDUnCitXSEVSRSAgIGlkID0gJ1syMSwyMiknOworLS0gc2V0IHRoZSBzY2FsYXIgcGFydCB0byBO VUxMCitVUERBVEUgIHRlbXBvcmFsX3BlcgorU0VUICAgICBpZCA9IE5VTEwsCisgICAgICAgIHZh bGlkX2Zyb20gPSAnMjAxOC0wMy0wNScsCisgICAgICAgIHZhbGlkX3RpbCA9ICcyMDE4LTA1LTA1 JworV0hFUkUgICBpZCA9ICdbMjEsMjIpJzsKKy0tIHNldCBhIFBFUklPRCBib3VuZCB0byBOVUxM IChva2F5KQorVVBEQVRFICB0ZW1wb3JhbF9wZXIKK1NFVCAgICAgaWQgPSAnWzEsMiknLAorICAg ICAgICB2YWxpZF9mcm9tID0gJzIwMTgtMDQtMDQnLAorICAgICAgICB2YWxpZF90aWwgPSBOVUxM CitXSEVSRSAgIGlkID0gJ1syMSwyMiknOworLS0gcmVqZWN0cyBlbXB0eToKK1VQREFURSAgdGVt cG9yYWxfcGVyCitTRVQgICAgIGlkID0gJ1syMSwyMiknLAorICAgICAgICB2YWxpZF9mcm9tID0g JzIwMjAtMDEtMDEnLAorICAgICAgICB2YWxpZF90aWwgPSAnMjAyMC0wMS0wMScKK1dIRVJFICAg aWQgPSAnWzEsMiknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworCistLQorLS0gUEVSSU9EIFVROiB0ZXN0IHdpdGggZXhpc3Rpbmcgcm93cworLS0K KworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BlcjMgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlk X2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZh bGlkX2Zyb20sIHZhbGlkX3RpbCkKKyk7CisKKy0tIG9rYXk6CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4 LTAxLTAyJywgJzIwMTgtMDItMDMnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDMtMDMnLCAnMjAx OC0wNC0wNCcpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkgVkFMVUVTICgnWzIsMyknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAxLTA1Jyk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxV RVMgKCdbMyw0KScsICcyMDE4LTAxLTAxJywgTlVMTCk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9w ZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKE5VTEwsICcyMDE4LTAxLTAx JywgJzIwMTgtMDEtMDUnKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BlcjMgQUREIENPTlNUUkFJ TlQgdGVtcG9yYWxfcGVyM191cSBVTklRVUUgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBT KTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BlcjMgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX3Bl cjNfdXE7CisKKy0tIHNob3VsZCBmYWlsOgorQkVHSU47CisgIElOU0VSVCBJTlRPIHRlbXBvcmFs X3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgt MDEtMDEnLCAnMjAxOC0wMS0wNScpOworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wZXIzIEFERCBD T05TVFJBSU5UIHRlbXBvcmFsX3BlcjNfdXEgVU5JUVVFIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBP VkVSTEFQUyk7CitST0xMQkFDSzsKKy0tIHJlamVjdHMgZW1wdHk6CitCRUdJTjsKKyAgQUxURVIg VEFCTEUgdGVtcG9yYWxfcGVyMyBEUk9QIFBFUklPRCBGT1IgdmFsaWRfYXQ7CisgIElOU0VSVCBJ TlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sz LDQpJywgJzIwMjAtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworICBBTFRFUiBUQUJMRSB0ZW1wb3Jh bF9wZXIzIEFERCBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpOwor Uk9MTEJBQ0s7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wZXIzIEFERCBDT05TVFJBSU5UIHRlbXBv cmFsX3BlcjNfdXEgVU5JUVVFIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyk7CitERUxF VEUgRlJPTSB0ZW1wb3JhbF9wZXIzOworCistLQorLS0gUEVSSU9EIFVROiB0ZXN0IGluc2VydHMK Ky0tCisKKy0tIG9rYXk6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4LTAxLTAyJywgJzIwMTgtMDItMDMn KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDMtMDMnLCAnMjAxOC0wNC0wNCcpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzIs MyknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAxLTA1Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9w ZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMyw0KScsICcyMDE4LTAx LTAxJywgTlVMTCk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMgKE5VTEwsICcyMDE4LTAxLTAxJywgJzIwMTgtMDEtMDUnKTsKKwor LS0gc2hvdWxkIGZhaWw6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDEtMDUn KTsKKy0tIHJlamVjdHMgZW1wdHk6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMyw0KScsICcyMDIwLTAxLTAxJywgJzIwMjAt MDEtMDEnKTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyMyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisKKy0tCistLSBQRVJJT0QgVVE6IHRlc3QgdXBkYXRlcworLS0KKworLS0gdXBkYXRlIHRo ZSBzY2FsYXIgcGFydAorVVBEQVRFICB0ZW1wb3JhbF9wZXIzCitTRVQgICAgIGlkID0gJ1sxMSwx MiknCitXSEVSRSAgIGlkID0gJ1sxLDIpJworQU5EICAgICB2YWxpZF9hdCBAPiAnMjAxOC0wMS0x NSc6OmRhdGU7CistLSB1cGRhdGUgdGhlIFBFUklPRCBib3VuZHMKK1VQREFURSAgdGVtcG9yYWxf cGVyMworU0VUICAgICB2YWxpZF9mcm9tID0gJzIwMjAtMDEtMDEnLAorICAgICAgICB2YWxpZF90 aWwgPSAnMjAyMS0wMS0wMScKK1dIRVJFICAgaWQgPSAnWzExLDEyKScKK0FORCAgICAgdmFsaWRf YXQgQD4gJzIwMTgtMDEtMTUnOjpkYXRlOworLS0gdXBkYXRlIGJvdGggYXQgb25jZQorVVBEQVRF ICB0ZW1wb3JhbF9wZXIzCitTRVQgICAgIGlkID0gJ1syMSwyMiknLAorICAgICAgICB2YWxpZF9m cm9tID0gJzIwMTgtMDEtMDInLAorICAgICAgICB2YWxpZF90aWwgPSAnMjAxOC0wMi0wMycKK1dI RVJFICAgaWQgPSAnWzExLDEyKScKK0FORCAgICAgdmFsaWRfYXQgQD4gJzIwMjAtMDEtMTUnOjpk YXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK Ky0tIHNob3VsZCBmYWlsOgorVVBEQVRFICB0ZW1wb3JhbF9wZXIzCitTRVQgICAgIGlkID0gJ1sx LDIpJywKKyAgICAgICAgdmFsaWRfZnJvbSA9ICcyMDE4LTAzLTA1JywKKyAgICAgICAgdmFsaWRf dGlsID0gJzIwMTgtMDUtMDUnCitXSEVSRSAgIGlkID0gJ1syMSwyMiknOworLS0gc2V0IHRoZSBz Y2FsYXIgcGFydCB0byBOVUxMIChva2F5KQorVVBEQVRFICB0ZW1wb3JhbF9wZXIzCitTRVQgICAg IGlkID0gTlVMTCwKKyAgICAgICAgdmFsaWRfZnJvbSA9ICcyMDIwLTAxLTAxJywKKyAgICAgICAg dmFsaWRfdGlsID0gJzIwMjEtMDEtMDEnCitXSEVSRSAgIGlkID0gJ1syMSwyMiknOworLS0gc2V0 IGEgUEVSSU9EIGJvdW5kIHRvIE5VTEwgKG9rYXkpCitVUERBVEUgIHRlbXBvcmFsX3BlcjMKK1NF VCAgICAgaWQgPSAnWzEsMiknLAorICAgICAgICB2YWxpZF9mcm9tID0gJzIwMTgtMDQtMDQnLAor ICAgICAgICB2YWxpZF90aWwgPSBOVUxMCitXSEVSRSAgIGlkIElTIE5VTEwgQU5EIHZhbGlkX2F0 IEA+ICcyMDIwLTA2LTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyMyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CistLSBzaG91bGQgZmFpbDoKK1VQREFURSAgdGVtcG9yYWxfcGVy MworU0VUICAgICB2YWxpZF9mcm9tID0gJzIwMTgtMDMtMDEnLAorICAgICAgICB2YWxpZF90aWwg PSAnMjAxOC0wNS0wNScKK1dIRVJFICAgaWQgPSAnWzEsMiknIEFORCB2YWxpZF90aWwgSVMgTlVM TDsKKy0tIHJlamVjdHMgZW1wdHk6CitVUERBVEUgIHRlbXBvcmFsX3BlcjMKK1NFVCAgICAgdmFs aWRfZnJvbSA9ICcyMDIwLTAxLTAxJywKKyAgICAgICAgdmFsaWRfdGlsID0gJzIwMjAtMDEtMDEn CitXSEVSRSAgIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfdGlsIElTIE5VTEw7CistLSBzdGlsbCBy ZWplY3RzIGVtcHR5IHdoZW4gc2NhbGFyIHBhcnQgaXMgTlVMTDoKK1VQREFURSAgdGVtcG9yYWxf cGVyMworU0VUICAgICBpZCA9IE5VTEwsCisgICAgICAgIHZhbGlkX2Zyb20gPSAnMjAyMC0wMS0w MScsCisgICAgICAgIHZhbGlkX3RpbCA9ICcyMDIwLTAxLTAxJworV0hFUkUgICBpZCA9ICdbMSwy KScgQU5EIHZhbGlkX3RpbCBJUyBOVUxMOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIzIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKK0RST1AgVEFCTEUgdGVtcG9yYWxfcGVyMzsKKwogLS0KIC0t IHRlc3QgYSByYW5nZSB3aXRoIGJvdGggYSBQSyBhbmQgYSBVTklRVUUgY29uc3RyYWludAogLS0K QEAgLTY2Miw2ICs5NzIsMzcgQEAgQUxURVIgVEFCTEUgdGVtcG9yYWwzIEFMVEVSIENPTFVNTiB2 YWxpZF9hdCBEUk9QIE5PVCBOVUxMOwogQUxURVIgVEFCTEUgdGVtcG9yYWwzIEFMVEVSIENPTFVN TiB2YWxpZF9hdCBUWVBFIHRzdHpyYW5nZSBVU0lORyB0c3R6cmFuZ2UobG93ZXIodmFsaWRfYXQp LCB1cHBlcih2YWxpZF9hdCkpOwogQUxURVIgVEFCTEUgdGVtcG9yYWwzIFJFTkFNRSBDT0xVTU4g dmFsaWRfYXQgVE8gdmFsaWRfdGhydTsKIEFMVEVSIFRBQkxFIHRlbXBvcmFsMyBEUk9QIENPTFVN TiB2YWxpZF90aHJ1OworXGQgdGVtcG9yYWwzCitEUk9QIFRBQkxFIHRlbXBvcmFsMzsKKworQ1JF QVRFIFRBQkxFIHRlbXBvcmFsMyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRl LAorICB2YWxpZF90aWwgZGF0ZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwg dmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbDNfcGsgUFJJTUFSWSBLRVkgKGlkLCB2 YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK1xkIHRlbXBvcmFsMworU0VMRUNUIGF0dG5v dG51bGwgRlJPTSBwZ19hdHRyaWJ1dGUgV0hFUkUgYXR0cmVsaWQgPSAndGVtcG9yYWwzJzo6cmVn Y2xhc3MgQU5EIGF0dG5hbWUgPSAndmFsaWRfYXQnOworQUxURVIgVEFCTEUgdGVtcG9yYWwzIEFM VEVSIENPTFVNTiB2YWxpZF9hdCBEUk9QIE5PVCBOVUxMOworQUxURVIgVEFCTEUgdGVtcG9yYWwz IEFMVEVSIENPTFVNTiB2YWxpZF9hdCBUWVBFIHRzdHpyYW5nZSBVU0lORyB0c3R6cmFuZ2UobG93 ZXIodmFsaWRfYXQpLCB1cHBlcih2YWxpZF9hdCkpOworQUxURVIgVEFCTEUgdGVtcG9yYWwzIERS T1AgQ09MVU1OIHZhbGlkX2F0OworQUxURVIgVEFCTEUgdGVtcG9yYWwzIERST1AgUEVSSU9EIEZP UiB2YWxpZF9hdDsKK1xkIHRlbXBvcmFsMworRFJPUCBUQUJMRSB0ZW1wb3JhbDM7CisKKy0tIFNh bWUgcmVzdWx0cyBpZiB3ZSBhZGQgdGhlIFBFUklPRCBhbmQgUEsgZnJvbSBBTFRFUiBUQUJMRToK K0NSRUFURSBUQUJMRSB0ZW1wb3JhbDMgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20g ZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbDMKKyAgQURE IFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIEFERCBDT05T VFJBSU5UIHRlbXBvcmFsM19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZF UkxBUFMpOworXGQgdGVtcG9yYWwzCitTRUxFQ1QgYXR0bm90bnVsbCBGUk9NIHBnX2F0dHJpYnV0 ZSBXSEVSRSBhdHRyZWxpZCA9ICd0ZW1wb3JhbDMnOjpyZWdjbGFzcyBBTkQgYXR0bmFtZSA9ICd2 YWxpZF9hdCc7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbDMgQUxURVIgQ09MVU1OIHZhbGlkX2F0IERS T1AgTk9UIE5VTEw7CiBEUk9QIFRBQkxFIHRlbXBvcmFsMzsKIAogLS0KQEAgLTk2Myw2ICsxMzA0 LDEyMSBAQCBTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX21sdHJuZzMgT1JERVIgQlkgaWQsIHZhbGlk X2F0OwogCiBEUk9QIFRBQkxFIHRlbXBvcmFsX21sdHJuZzM7CiAKKy0tCistLSBPTiBDT05GTElD VDogUEVSSU9EcworLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcy MDAwLTAxLTAxJywgJzIwMTAtMDEtMDEnKTsKKy0tIHdpdGggYSBjb25mbGljdAorSU5TRVJUIElO VE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwy KScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCBETyBOT1RISU5HOwor LS0gaWQgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxMC0wMS0wMScs ICcyMDIwLTAxLTAxJykgT04gQ09ORkxJQ1QgRE8gTk9USElORzsKKy0tIGRhdGUgbWF0Y2hlcyBi dXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWzIsMyknLCAnMjAwNS0wMS0wMScsICcyMDA2LTAxLTAxJykg T04gQ09ORkxJQ1QgRE8gTk9USElORzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyIE9SREVS IEJZIGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWw7CisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFM VUVTICgnWzEsMiknLCAnMjAwMC0wMS0wMScsICcyMDEwLTAxLTAxJyk7CistLSB3aXRoIGEgY29u ZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTICgnWzEsMiknLCAnMjAwNS0wMS0wMScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJ Q1QgKGlkLCB2YWxpZF9hdCkgRE8gTk9USElORzsKKy0tIGlkIG1hdGNoZXMgYnV0IG5vIGNvbmZs aWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUyAoJ1sxLDIpJywgJzIwMTAtMDEtMDEnLCAnMjAyMC0wMS0wMScpIE9OIENPTkZMSUNU IChpZCwgdmFsaWRfYXQpIERPIE5PVEhJTkc7CistLSBkYXRlIG1hdGNoZXMgYnV0IG5vIGNvbmZs aWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUyAoJ1syLDMpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNU IChpZCwgdmFsaWRfYXQpIERPIE5PVEhJTkc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlciBP UkRFUiBCWSBpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsOworCitUUlVOQ0FURSB0ZW1wb3JhbF9w ZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUyAoJ1sxLDIpJywgJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpOworLS0gd2l0aCBh IGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENP TkZMSUNUIE9OIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyX3BrIERPIE5PVEhJTkc7CistLSBpZCBt YXRjaGVzIGJ1dCBubyBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDEwLTAxLTAxJywgJzIwMjAt MDEtMDEnKSBPTiBDT05GTElDVCBPTiBDT05TVFJBSU5UIHRlbXBvcmFsX3Blcl9wayBETyBOT1RI SU5HOworLS0gZGF0ZSBtYXRjaGVzIGJ1dCBubyBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9y YWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMiwzKScsICcyMDA1 LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCBPTiBDT05TVFJBSU5UIHRlbXBvcmFs X3Blcl9wayBETyBOT1RISU5HOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIgT1JERVIgQlkg aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbDsKKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMg KCdbMSwyKScsICcyMDAwLTAxLTAxJywgJzIwMTAtMDEtMDEnKTsKKy0tIHdpdGggYSBjb25mbGlj dAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBW QUxVRVMgKCdbMSwyKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCAo aWQsIHZhbGlkX2F0KSBETyBVUERBVEUgU0VUIGlkID0gRVhDTFVERUQuaWQgKyAnWzIsMyknOwor LS0gaWQgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxMC0wMS0wMScs ICcyMDIwLTAxLTAxJykgT04gQ09ORkxJQ1QgKGlkLCB2YWxpZF9hdCkgRE8gVVBEQVRFIFNFVCBp ZCA9IEVYQ0xVREVELmlkICsgJ1szLDQpJzsKKy0tIGRhdGUgbWF0Y2hlcyBidXQgbm8gY29uZmxp Y3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkg VkFMVUVTICgnWzIsMyknLCAnMjAwNS0wMS0wMScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1Qg KGlkLCB2YWxpZF9hdCkgRE8gVVBEQVRFIFNFVCBpZCA9IEVYQ0xVREVELmlkICsgJ1s0LDUpJzsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyIE9SREVSIEJZIGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWw7CisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bl ciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAwMC0wMS0w MScsICcyMDEwLTAxLTAxJyk7CistLSB3aXRoIGEgY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAw NS0wMS0wMScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgT04gQ09OU1RSQUlOVCB0ZW1wb3Jh bF9wZXJfcGsgRE8gVVBEQVRFIFNFVCBpZCA9IEVYQ0xVREVELmlkICsgJ1syLDMpJzsKKy0tIGlk IG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTAtMDEtMDEnLCAnMjAy MC0wMS0wMScpIE9OIENPTkZMSUNUIE9OIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyX3BrIERPIFVQ REFURSBTRVQgaWQgPSBFWENMVURFRC5pZCArICdbMyw0KSc7CistLSBkYXRlIG1hdGNoZXMgYnV0 IG5vIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwpIFZBTFVFUyAoJ1syLDMpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9O IENPTkZMSUNUIE9OIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyX3BrIERPIFVQREFURSBTRVQgaWQg PSBFWENMVURFRC5pZCArICdbNCw1KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlciBPUkRF UiBCWSBpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsOworCistLSB3aXRoIGEgVU5JUVVFIGNvbnN0 cmFpbnQ6CisKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9wZXIzICgKKyAgaWQgaW50NHJhbmdlLAor ICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBQRVJJT0QgRk9SIHZhbGlk X2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3BlcjNf dXEgVU5JUVVFIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitUUlVOQ0FURSB0 ZW1wb3JhbF9wZXIzOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAwMC0wMS0wMScsICcyMDEwLTAxLTAxJyk7 CistLSB3aXRoIGEgY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0w MS0wMScpIE9OIENPTkZMSUNUIERPIE5PVEhJTkc7CistLSBpZCBtYXRjaGVzIGJ1dCBubyBjb25m bGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTICgnWzEsMiknLCAnMjAxMC0wMS0wMScsICcyMDIwLTAxLTAxJykgT04gQ09ORkxJ Q1QgRE8gTk9USElORzsKKy0tIGRhdGUgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sy LDMpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIERPIE5PVEhJTkc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlcjMgT1JERVIgQlkgaWQsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbDsKKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyMzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDAt MDEtMDEnLCAnMjAxMC0wMS0wMScpOworLS0gd2l0aCBhIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScs ICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCAoaWQsIHZhbGlkX2F0KSBE TyBOT1RISU5HOworLS0gaWQgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywg JzIwMTAtMDEtMDEnLCAnMjAyMC0wMS0wMScpIE9OIENPTkZMSUNUIChpZCwgdmFsaWRfYXQpIERP IE5PVEhJTkc7CistLSBkYXRlIG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMiwzKScs ICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCAoaWQsIHZhbGlkX2F0KSBE TyBOT1RISU5HOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIzIE9SREVSIEJZIGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWw7CisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjM7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwy KScsICcyMDAwLTAxLTAxJywgJzIwMTAtMDEtMDEnKTsKKy0tIHdpdGggYSBjb25mbGljdAorSU5T RVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVT ICgnWzEsMiknLCAnMjAwNS0wMS0wMScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgT04gQ09O U1RSQUlOVCB0ZW1wb3JhbF9wZXIzX3VxIERPIE5PVEhJTkc7CistLSBpZCBtYXRjaGVzIGJ1dCBu byBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxMC0wMS0wMScsICcyMDIwLTAxLTAxJykgT04g Q09ORkxJQ1QgT04gQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXIzX3VxIERPIE5PVEhJTkc7CistLSBk YXRlIG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChp ZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMiwzKScsICcyMDA1LTAxLTAxJywg JzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCBPTiBDT05TVFJBSU5UIHRlbXBvcmFsX3BlcjNfdXEg RE8gTk9USElORzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyMyBPUkRFUiBCWSBpZCwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsOworCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIzOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEs MiknLCAnMjAwMC0wMS0wMScsICcyMDEwLTAxLTAxJyk7CistLSB3aXRoIGEgY29uZmxpY3QKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVF UyAoJ1sxLDIpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIChpZCwg dmFsaWRfYXQpIERPIFVQREFURSBTRVQgaWQgPSBFWENMVURFRC5pZCArICdbMiwzKSc7CistLSBp ZCBtYXRjaGVzIGJ1dCBubyBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxMC0wMS0wMScsICcy MDIwLTAxLTAxJykgT04gQ09ORkxJQ1QgKGlkLCB2YWxpZF9hdCkgRE8gVVBEQVRFIFNFVCBpZCA9 IEVYQ0xVREVELmlkICsgJ1szLDQpJzsKKy0tIGRhdGUgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZB TFVFUyAoJ1syLDMpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIChp ZCwgdmFsaWRfYXQpIERPIFVQREFURSBTRVQgaWQgPSBFWENMVURFRC5pZCArICdbNCw1KSc7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlcjMgT1JERVIgQlkgaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbDsKKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyMzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bl cjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDAtMDEt MDEnLCAnMjAxMC0wMS0wMScpOworLS0gd2l0aCBhIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcy MDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCBPTiBDT05TVFJBSU5UIHRlbXBv cmFsX3BlcjNfdXEgRE8gVVBEQVRFIFNFVCBpZCA9IEVYQ0xVREVELmlkICsgJ1syLDMpJzsKKy0t IGlkIG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChp ZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDEwLTAxLTAxJywg JzIwMjAtMDEtMDEnKSBPTiBDT05GTElDVCBPTiBDT05TVFJBSU5UIHRlbXBvcmFsX3BlcjNfdXEg RE8gVVBEQVRFIFNFVCBpZCA9IEVYQ0xVREVELmlkICsgJ1szLDQpJzsKKy0tIGRhdGUgbWF0Y2hl cyBidXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1syLDMpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0w MScpIE9OIENPTkZMSUNUIE9OIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyM191cSBETyBVUERBVEUg U0VUIGlkID0gRVhDTFVERUQuaWQgKyAnWzQsNSknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9w ZXIzIE9SREVSIEJZIGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWw7CisKK0RST1AgVEFCTEUgdGVt cG9yYWxfcGVyMzsKKwogLS0KIC0tIHRlc3QgRksgZGVwZW5kZW5jaWVzCiAtLQpAQCAtOTg2LDYg KzE0NDIsMjkgQEAgQUxURVIgVEFCTEUgdGVtcG9yYWwzIERST1AgQ09MVU1OIHZhbGlkX2F0IENB U0NBREU7CiBEUk9QIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJybmc7CiBEUk9QIFRBQkxFIHRlbXBv cmFsMzsKIAorLS0gY2FuJ3QgZHJvcCBhIFBFUklPRCByZWZlcmVuY2VkIGJ5IGFuIEZLLCB1bmxl c3Mgd2l0aCBDQVNDQURFCitDUkVBVEUgVEFCTEUgdGVtcG9yYWwzICgKKyAgaWQgaW50NHJhbmdl LAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBQRVJJT0QgRk9SIHZh bGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsM19w ayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOworQ1JFQVRF IFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zy b20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBF UklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQg dGVtcG9yYWxfZmtfcGVyMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQg T1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsgRk9SRUlHTiBL RVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWwz IChpZCwgUEVSSU9EIHZhbGlkX2F0KQorKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsMyBEUk9QIFBF UklPRCBGT1IgdmFsaWRfYXQ7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbDMgRFJPUCBQRVJJT0QgRk9S IHZhbGlkX2F0IENBU0NBREU7CitEUk9QIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXI7CitEUk9Q IFRBQkxFIHRlbXBvcmFsMzsKKwogLS0KIC0tIHRlc3QgRk9SRUlHTiBLRVksIHJhbmdlIHJlZmVy ZW5jZXMgcmFuZ2UKIC0tCkBAIC0xMDE2LDYgKzE0OTUsNyBAQCBDUkVBVEUgVEFCTEUgdGVtcG9y YWxfZmtfcm5nMnJuZyAoCiAgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnJuZ19mayBGT1JF SUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCiAgICAgUkVGRVJFTkNFUyB0ZW1w b3JhbF9ybmcgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCiApOworXGQgdGVtcG9yYWxfZmtfcm5nMnJu ZwogRFJPUCBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycm5nOwogCiAtLSB3aXRoIG1pc21hdGNoZWQg UEVSSU9EIGNvbHVtbnM6CkBAIC0yNTY3LDQ3ICszMDQ3LDI1NTUgQEAgSU5TRVJUIElOVE8gdGVt cG9yYWxfZmsyX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50 X2lkMikgVkEKIERFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZzIgV0hFUkUgaWQxID0gJ1s4LDkp JyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOwogU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKIAotLS0gRksgd2l0aCBhIGN1c3RvbSByYW5nZSB0eXBlCistLQorLS0gdGVz dCBGT1JFSUdOIEtFWSwgUEVSSU9EIHJlZmVyZW5jZXMgUEVSSU9ECistLQogCi1DUkVBVEUgVFlQ RSBteWRhdGVyYW5nZSBBUyByYW5nZShzdWJ0eXBlPWRhdGUpOworLS0gdGVzdCB0YWJsZSBzZXR1 cAorRFJPUCBUQUJMRSB0ZW1wb3JhbF9wZXI7CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGVyICgK KyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAor ICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpCispOworQUxURVIg VEFCTEUgdGVtcG9yYWxfcGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX3Blcl9waworICBQ UklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpOwogCi1DUkVBVEUgVEFC TEUgdGVtcG9yYWxfcm5nMyAoCistLSBDYW4ndCBjcmVhdGUgYSBGSyB3aXRoIGEgbWlzbWF0Y2hl ZCByYW5nZSB0eXBlCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlciAoCiAgIGlkIGlu dDRyYW5nZSwKLSAgdmFsaWRfYXQgbXlkYXRlcmFuZ2UsCi0gIENPTlNUUkFJTlQgdGVtcG9yYWxf cm5nM19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCisgIHZh bGlkX2Zyb20gaW50LAorICB2YWxpZF90aWwgaW50LAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAor ICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJB SU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRI T1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIEZPUkVJ R04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBv cmFsX3BlciAoaWQsIFBFUklPRCB2YWxpZF9hdCkKICk7Ci1DUkVBVEUgVEFCTEUgdGVtcG9yYWxf ZmszX3JuZzJybmcgKAorCistLSB3b3JrczogUEVSSU9EIGZvciBib3RoIHJlZmVyZW5jZWQgYW5k IHJlZmVyZW5jaW5nCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlciAoCiAgIGlkIGlu dDRyYW5nZSwKLSAgdmFsaWRfYXQgbXlkYXRlcmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAg dmFsaWRfdGlsIGRhdGUsCiAgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCi0gIENPTlNUUkFJTlQgdGVt cG9yYWxfZmszX3JuZzJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9W RVJMQVBTKSwKLSAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazNfcm5nMnJuZ19mayBGT1JFSUdOIEtF WSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCi0gICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9y bmczIChpZCwgUEVSSU9EIHZhbGlkX2F0KSBPTiBERUxFVEUgQ0FTQ0FERQorICBQRVJJT0QgRk9S IHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3BlcjJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBT KSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJl bnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQs IFBFUklPRCB2YWxpZF9hdCkKICk7Ci1JTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmczIChpZCwgdmFs aWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgbXlkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScpKTsKLUlOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrM19ybmcycm5nIChpZCwgdmFsaWRfYXQs IHBhcmVudF9pZCkgVkFMVUVTICgnWzUsNiknLCBteWRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcy MDIxLTAxLTAxJyksICdbOCw5KScpOwotREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMyBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUg aWQgPSAnWzgsOSknOwotU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazNfcm5nMnJuZyBXSEVSRSBp ZCA9ICdbNSw2KSc7CitcZCB0ZW1wb3JhbF9ma19wZXIycGVyCiAKLURST1AgVEFCTEUgdGVtcG9y YWxfZmszX3JuZzJybmc7Ci1EUk9QIFRBQkxFIHRlbXBvcmFsX3JuZzM7Ci1EUk9QIFRZUEUgbXlk YXRlcmFuZ2U7CitEUk9QIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXI7CiAKLS0tCi0tLSBGSyBi ZXR3ZWVuIHBhcnRpdGlvbmVkIHRhYmxlczogcmFuZ2VzCi0tLQorLS0gd2l0aCBtaXNtYXRjaGVk IFBFUklPRCBjb2x1bW5zOgogCi1DUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5n ICgKKy0tIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNFUyAoaWQsIHZhbGlk X2F0KQorLS0gUkVGRVJFTkNFUyBwYXJ0IHNob3VsZCBzcGVjaWZ5IFBFUklPRAorQ1JFQVRFIFRB QkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKAogICBpZCBpbnQ0cmFuZ2UsCi0gIHZhbGlkX2F0IGRh dGVyYW5nZSwKLSAgbmFtZSB0ZXh0LAotICBDT05TVFJBSU5UIHRlbXBvcmFsX3Bhcml0aW9uZWRf cm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKLSkgUEFS VElUSU9OIEJZIExJU1QgKGlkKTsKLUNSRUFURSBUQUJMRSB0cDEgUEFSVElUSU9OIE9GIHRlbXBv cmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgVkFMVUVTIElOICgnWzEsMiknLCAnWzMsNCknLCAnWzUs NiknLCAnWzcsOCknLCAnWzksMTApJywgJ1sxMSwxMiknLCAnWzEzLDE0KScsICdbMTUsMTYpJywg J1sxNywxOCknLCAnWzE5LDIwKScsICdbMjEsMjIpJywgJ1syMywyNCknKTsKLUNSRUFURSBUQUJM RSB0cDIgUEFSVElUSU9OIE9GIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgVkFMVUVTIElO ICgnWzAsMSknLCAnWzIsMyknLCAnWzQsNSknLCAnWzYsNyknLCAnWzgsOSknLCAnWzEwLDExKScs ICdbMTIsMTMpJywgJ1sxNCwxNSknLCAnWzE2LDE3KScsICdbMTgsMTkpJywgJ1syMCwyMSknLCAn WzIyLDIzKScsICdbMjQsMjUpJyk7Ci1JTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9y bmcgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVTCi0gICgnWzEsMiknLCBkYXRlcmFuZ2UoJzIw MDAtMDEtMDEnLCAnMjAwMC0wMi0wMScpLCAnb25lJyksCi0gICgnWzEsMiknLCBkYXRlcmFuZ2Uo JzIwMDAtMDItMDEnLCAnMjAwMC0wMy0wMScpLCAnb25lJyksCisgIHZhbGlkX2Zyb20gZGF0ZSwK KyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1Ig dmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxf ZmtfcGVyMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMp LAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVu dF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCwg dmFsaWRfYXQpCispOworLS0gKHBhcmVudF9pZCwgdmFsaWRfYXQpIFJFRkVSRU5DRVMgKGlkLCB2 YWxpZF9hdCkKKy0tIGJvdGggc2hvdWxkIHNwZWNpZnkgUEVSSU9EOgorQ1JFQVRFIFRBQkxFIHRl bXBvcmFsX2ZrX3BlcjJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwK KyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1Ig dmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxf ZmtfcGVyMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMp LAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVu dF9pZCwgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9h dCkKKyk7CistLSAocGFyZW50X2lkLCB2YWxpZF9hdCkgUkVGRVJFTkNFUyAoaWQsIFBFUklPRCB2 YWxpZF9hdCkKKy0tIEZPUkVJR04gS0VZIHBhcnQgc2hvdWxkIHNwZWNpZnkgUEVSSU9ECitDUkVB VEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRf ZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAg UEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlO VCB0ZW1wb3JhbF9ma19wZXIycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9V VCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mayBGT1JFSUdO IEtFWSAocGFyZW50X2lkLCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAo aWQsIFBFUklPRCB2YWxpZF9hdCkKKyk7CistLSAocGFyZW50X2lkLCB2YWxpZF9hdCkgUkVGRVJF TkNFUyBbaW1wbGljaXRdCistLSBGT1JFSUdOIEtFWSBwYXJ0IHNob3VsZCBzcGVjaWZ5IFBFUklP RAorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisg IHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFu Z2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENP TlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0 IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsg Rk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3Jh bF9wZXIKKyk7CistLSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpIFJFRkVSRU5DRVMgKGlk KQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisg IHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFu Z2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENP TlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0 IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsg Rk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMg dGVtcG9yYWxfcGVyIChpZCkKKyk7CistLSAocGFyZW50X2lkKSBSRUZFUkVOQ0VTIChpZCwgUEVS SU9EIHZhbGlkX2F0KQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKAorICBpZCBp bnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVu dF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlk X3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9wayBQUklNQVJZIEtFWSAo aWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr X3BlcjJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBv cmFsX3BlciAoaWQsIFBFUklPRCB2YWxpZF9hdCkKKyk7CistLSB3aXRoIGluZmVycmVkIFBLIG9u IHRoZSByZWZlcmVuY2VkIHRhYmxlOgorLS0gKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KSBS RUZFUkVOQ0VTIFtpbXBsaWNpdF0KK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyICgK KyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAor ICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9t LCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfcGsgUFJJTUFS WSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1w b3JhbF9ma19wZXIycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9h dCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorKTsKK0RST1AgVEFCTEUgdGVtcG9yYWxf ZmtfcGVyMnBlcjsKKy0tIChwYXJlbnRfaWQpIFJFRkVSRU5DRVMgW2ltcGxpY2l0XQorQ1JFQVRF IFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zy b20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBF UklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQg dGVtcG9yYWxfZmtfcGVyMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQg T1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsgRk9SRUlHTiBL RVkgKHBhcmVudF9pZCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorKTsKKworLS0gc2hv dWxkIGZhaWwgYmVjYXVzZSBvZiBkdXBsaWNhdGUgcmVmZXJlbmNlZCBjb2x1bW5zOgorQ1JFQVRF IFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zy b20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBF UklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQg dGVtcG9yYWxfZmtfcGVyMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQg T1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsgRk9SRUlHTiBL RVkgKHBhcmVudF9pZCwgUEVSSU9EIHBhcmVudF9pZCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFs X3BlciAoaWQsIFBFUklPRCBpZCkKKyk7CisKKy0tIFR3byBzY2FsYXIgY29sdW1ucworRFJPUCBU QUJMRSB0ZW1wb3JhbF9wZXIyOworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BlcjIgKAorICBpZDEg aW50NHJhbmdlLAorICBpZDIgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlk X3RpbCBkYXRlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwp LAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3BlcjJfcGsgUFJJTUFSWSBLRVkgKGlkMSwgaWQyLCB2 YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKKworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2Zr Ml9wZXIycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlk X3RpbCBkYXRlLAorICBwYXJlbnRfaWQxIGludDRyYW5nZSwKKyAgcGFyZW50X2lkMiBpbnQ0cmFu Z2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENP TlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9h dCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBlcl9m ayBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQor ICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIFBFUklPRCB2YWxpZF9hdCkK Kyk7CitcZCB0ZW1wb3JhbF9mazJfcGVyMnBlcgorRFJPUCBUQUJMRSB0ZW1wb3JhbF9mazJfcGVy MnBlcjsKKworLS0KKy0tIHRlc3QgQUxURVIgVEFCTEUgQUREIENPTlNUUkFJTlQKKy0tCisKK0NS RUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxp ZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAor ICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJB SU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRI T1VUIE9WRVJMQVBTKQorKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgQURE IENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50 X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCwgUEVS SU9EIHZhbGlkX2F0KTsKKy0tIFR3byBzY2FsYXIgY29sdW1uczoKK0NSRUFURSBUQUJMRSB0ZW1w b3JhbF9mazJfcGVyMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAor ICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkMSBpbnQ0cmFuZ2UsCisgIHBhcmVudF9pZDIg aW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwp LAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwg dmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJf cGVyMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBlcl9maworICBGT1JF SUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZF UkVOQ0VTIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCBQRVJJT0QgdmFsaWRfYXQpOworXGQgdGVt cG9yYWxfZmsyX3BlcjJwZXIKKworLS0gd2l0aCBpbmZlcnJlZCBQSyBvbiB0aGUgcmVmZXJlbmNl ZCB0YWJsZSwgYW5kIHdyb25nIGNvbHVtbiB0eXBlOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtf cGVyMnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9maywKKyAgRFJP UCBQRVJJT0QgRk9SIHZhbGlkX2F0LAorICBBTFRFUiBDT0xVTU4gdmFsaWRfZnJvbSBUWVBFIHRp bWVzdGFtcCwKKyAgQUxURVIgQ09MVU1OIHZhbGlkX3RpbCBUWVBFIHRpbWVzdGFtcCwKKyAgQURE IFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCk7CitBTFRFUiBUQUJM RSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJw ZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZF UkVOQ0VTIHRlbXBvcmFsX3BlcjsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAg RFJPUCBQRVJJT0QgRk9SIHZhbGlkX2F0LAorICBBTFRFUiBDT0xVTU4gdmFsaWRfZnJvbSBUWVBF IGRhdGUsCisgIEFMVEVSIENPTFVNTiB2YWxpZF90aWwgVFlQRSBkYXRlLAorICBBREQgUEVSSU9E IEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKTsKKworLS0gd2l0aCBpbmZlcnJl ZCBQSyBvbiB0aGUgcmVmZXJlbmNlZCB0YWJsZToKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3Bl cjJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9maworICBGT1JFSUdO IEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxf cGVyOworCistLSBzaG91bGQgZmFpbCBiZWNhdXNlIG9mIGR1cGxpY2F0ZSByZWZlcmVuY2VkIGNv bHVtbnM6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIEFERCBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsyCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklP RCBwYXJlbnRfaWQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCwgUEVSSU9EIGlkKTsK KworLS0KKy0tIHRlc3Qgd2l0aCByb3dzIGFscmVhZHkKKy0tCisKK0RFTEVURSBGUk9NIHRlbXBv cmFsX2ZrX3BlcjJwZXI7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXI7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUworICAoJ1sxLDIp JywgJzIwMTgtMDEtMDInLCAnMjAxOC0wMi0wMycpLAorICAoJ1sxLDIpJywgJzIwMTgtMDMtMDMn LCAnMjAxOC0wNC0wNCcpLAorICAoJ1syLDMpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMS0wNScp LAorICAoJ1szLDQpJywgJzIwMTgtMDEtMDEnLCBOVUxMKTsKKworQUxURVIgVEFCTEUgdGVtcG9y YWxfZmtfcGVyMnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mazsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMS0wMicsICcyMDE4LTAyLTAx JywgJ1sxLDIpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIEFERCBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwg UEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjsKK0FMVEVSIFRBQkxF IHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJw ZXJfZms7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syLDMpJywgJzIwMTgtMDEtMDInLCAnMjAx OC0wNC0wMScsICdbMSwyKScpOworLS0gc2hvdWxkIGZhaWw6CitBTFRFUiBUQUJMRSB0ZW1wb3Jh bF9ma19wZXIycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsKKyAg Rk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRl bXBvcmFsX3BlcjsKKy0tIG9rYXkgYWdhaW46CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ma19wZXIy cGVyOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICBBREQgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2 YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXI7CisKKy0tCistLSB0ZXN0IHBnX2dl dF9jb25zdHJhaW50ZGVmCistLQorCitTRUxFQ1QgcGdfZ2V0X2NvbnN0cmFpbnRkZWYob2lkKSBG Uk9NIHBnX2NvbnN0cmFpbnQgV0hFUkUgY29ubmFtZSA9ICd0ZW1wb3JhbF9ma19wZXIycGVyX2Zr JzsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNpbmcgaW5zZXJ0cworLS0KKworSU5TRVJUIElO VE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50 X2lkKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4LTAxLTAyJywgJzIwMTgtMDItMDEnLCAnWzEsMikn KTsKKy0tIHNob3VsZCBmYWlsOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMiwzKScsICcyMDE4 LTAxLTAyJywgJzIwMTgtMDQtMDEnLCAnWzEsMiknKTsKKy0tIG5vdyBpdCBzaG91bGQgd29yazoK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFM VUVTICgnWzEsMiknLCAnMjAxOC0wMi0wMycsICcyMDE4LTAzLTAzJyk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQp IFZBTFVFUyAoJ1syLDMpJywgJzIwMTgtMDEtMDInLCAnMjAxOC0wNC0wMScsICdbMSwyKScpOwor CistLQorLS0gdGVzdCBGSyByZWZlcmVuY2luZyB1cGRhdGVzCistLQorCistLSBzbGlkZSB0aGUg ZWRnZSBhY3Jvc3MgYSByZWZlcmVuY2VkIHRyYW5zaXRpb246CitVUERBVEUgdGVtcG9yYWxfZmtf cGVyMnBlciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAyJywgdmFsaWRfdGlsID0gJzIwMTgt MDItMjAnIFdIRVJFIGlkID0gJ1sxLDIpJzsKKy0tIHNob3VsZCBmYWlsOgorVVBEQVRFIHRlbXBv cmFsX2ZrX3BlcjJwZXIgU0VUIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMicsIHZhbGlkX3RpbCA9 ICcyMDE4LTA1LTAxJyBXSEVSRSBpZCA9ICdbMSwyKSc7CitVUERBVEUgdGVtcG9yYWxfZmtfcGVy MnBlciBTRVQgcGFyZW50X2lkID0gJ1s4LDkpJyBXSEVSRSBpZCA9ICdbMSwyKSc7CisKKy0tIEFM VEVSIEZLIERFRkVSUkFCTEUKKworQkVHSU47CisgIElOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTCisgICAgKCdbNSw2KScsICcyMDE4LTAx LTAxJywgJzIwMTgtMDItMDEnKSwKKyAgICAoJ1s1LDYpJywgJzIwMTgtMDItMDEnLCAnMjAxOC0w My0wMScpOworICBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUworICAgICgnWzMsNCknLCAnMjAxOC0wMS0w NScsICcyMDE4LTAxLTEwJywgJ1s1LDYpJyk7CisgIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3Bl cjJwZXIKKyAgICBBTFRFUiBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsKKyAgICBE RUZFUlJBQkxFIElOSVRJQUxMWSBERUZFUlJFRDsKKworICBERUxFVEUgRlJPTSB0ZW1wb3JhbF9w ZXIgV0hFUkUgaWQgPSAnWzUsNiknOyAtLXNob3VsZCBub3QgZmFpbCB5ZXQuCitDT01NSVQ7IC0t IHNob3VsZCBmYWlsIGhlcmUuCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBO TyBBQ1RJT04KKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcGVyMnBl cjsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrX3BlcjJwZXJfZms7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisg IEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBh cmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorICBP TiBVUERBVEUgTk8gQUNUSU9OOworLS0gYSBQSyB1cGRhdGUgdGhhdCBzdWNjZWVkcyBiZWNhdXNl IHRoZSBudW1lcmljIGlkIGlzbid0IHJlZmVyZW5jZWQ6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9w ZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s1LDYpJywgJzIwMTgtMDEt MDEnLCAnMjAxOC0wMi0wMScpOworVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9 ICcyMDE2LTAxLTAxJywgdmFsaWRfdGlsID0gJzIwMTYtMDItMDEnIFdIRVJFIGlkID0gJ1s1LDYp JzsKKy0tIGEgUEsgdXBkYXRlIHRoYXQgc3VjY2VlZHMgZXZlbiB0aG91Z2ggdGhlIG51bWVyaWMg aWQgaXMgcmVmZXJlbmNlZCBiZWNhdXNlIHRoZSByYW5nZSBpc24ndDoKK0RFTEVURSBGUk9NIHRl bXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNSw2KSc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIg KGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUworICAoJ1s1LDYpJywgJzIwMTgtMDEt MDEnLCAnMjAxOC0wMi0wMScpLAorICAoJ1s1LDYpJywgJzIwMTgtMDItMDEnLCAnMjAxOC0wMy0w MScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMKKyAgKCdbMyw0KScsICcyMDE4LTAxLTA1JywgJzIw MTgtMDEtMTAnLCAnWzUsNiknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIHZhbGlkX2Zyb20g PSAnMjAxNi0wMi0wMScsIHZhbGlkX3RpbCA9ICcyMDE2LTAzLTAxJworV0hFUkUgaWQgPSAnWzUs NiknIEFORCB2YWxpZF9mcm9tID0gJzIwMTgtMDItMDEnIEFORCB2YWxpZF90aWwgPSAnMjAxOC0w My0wMSc7CistLSBBIFBLIHVwZGF0ZSBzbGlkaW5nIHRoZSBlZGdlIGJldHdlZW4gdHdvIHJlZmVy ZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkgVkFMVUVTCisgICgnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyks CisgICgnWzYsNyknLCAnMjAxOC0wMi0wMScsICcyMDE4LTAzLTAxJyk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQp IFZBTFVFUworICAoJ1s0LDUpJywgJzIwMTgtMDEtMTUnLCAnMjAxOC0wMi0xNScsICdbNiw3KScp OworVVBEQVRFIHRlbXBvcmFsX3BlcgorU0VUIHZhbGlkX2Zyb20gPSBDQVNFIFdIRU4gdmFsaWRf ZnJvbSA9ICcyMDE4LTAxLTAxJyBUSEVOICcyMDE4LTAxLTAxJworICAgICAgICAgICAgICAgICAg ICAgIFdIRU4gdmFsaWRfZnJvbSA9ICcyMDE4LTAyLTAxJyBUSEVOICcyMDE4LTAxLTA1JyBFTkQ6 OmRhdGUsCisgICAgdmFsaWRfdGlsID0gIENBU0UgV0hFTiB2YWxpZF9mcm9tID0gJzIwMTgtMDEt MDEnIFRIRU4gJzIwMTgtMDEtMDUnCisgICAgICAgICAgICAgICAgICAgICAgV0hFTiB2YWxpZF9m cm9tID0gJzIwMTgtMDItMDEnIFRIRU4gJzIwMTgtMDMtMDEnIEVORDo6ZGF0ZQorV0hFUkUgaWQg PSAnWzYsNyknOworLS0gYSBQSyB1cGRhdGUgc2hyaW5raW5nIHRoZSByZWZlcmVuY2VkIHJhbmdl IGJ1dCBzdGlsbCB2YWxpZDoKKy0tIFRoZXJlIGFyZSB0d28gcmVmZXJlbmNlczogb25lIGZ1bGZp bGxlZCBieSB0aGUgZmlyc3QgcGsgcm93LAorLS0gdGhlIG90aGVyIGZ1bGZpbGxlZCBieSBib3Ro IHBrIHJvd3MgY29tYmluZWQuCitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwpIFZBTFVFUworICAoJ1sxLDIpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0w My0wMScpLAorICAoJ1sxLDIpJywgJzIwMTgtMDMtMDEnLCAnMjAxOC0wNi0wMScpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFy ZW50X2lkKSBWQUxVRVMKKyAgKCdbMSwyKScsICcyMDE4LTAxLTE1JywgJzIwMTgtMDItMDEnLCAn WzEsMiknKSwKKyAgKCdbMiwzKScsICcyMDE4LTAxLTE1JywgJzIwMTgtMDUtMDEnLCAnWzEsMikn KTsKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0xNScsIHZh bGlkX3RpbCA9ICcyMDE4LTAzLTAxJworV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCBA PiAnMjAxOC0wMS0xNSc6OmRhdGU7CistLSBhIFBLIHVwZGF0ZSBncm93aW5nIHRoZSByZWZlcmVu Y2VkIHJhbmdlIGlzIGZpbmU6CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCB2YWxpZF9mcm9tID0g JzIwMTgtMDEtMDEnLCB2YWxpZF90aWwgPSAnMjAxOC0wMy0wMScKK1dIRVJFIGlkID0gJ1sxLDIp JyBBTkQgdmFsaWRfYXQgQD4gJzIwMTgtMDEtMjUnOjpkYXRlOworLS0gYSBQSyB1cGRhdGUgc2hy aW5raW5nIHRoZSByZWZlcmVuY2VkIHJhbmdlIGFuZCBjaGFuZ2luZyB0aGUgaWQgaW52YWxpZGF0 ZXMgdGhlIHdob2xlIHJhbmdlOgorVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgaWQgPSAnWzIsMykn LCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMTUnLCB2YWxpZF90aWwgPSAnMjAxOC0wMy0wMScKK1dI RVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTgtMDEtMTUnOjpkYXRlOworLS0g YSBQSyB1cGRhdGUgY2hhbmdpbmcgb25seSB0aGUgaWQgaW52YWxpZGF0ZXMgdGhlIHdob2xlIHJh bmdlOgorVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgaWQgPSAnWzIsMyknCitXSEVSRSBpZCA9ICdb MSwyKScgQU5EIHZhbGlkX2F0IEA+ICcyMDE4LTAxLTE1Jzo6ZGF0ZTsKKy0tIGEgUEsgdXBkYXRl IHRoYXQgbG9zZXMgdGltZSBmcm9tIGJvdGggZW5kcywgYnV0IGlzIHN0aWxsIHZhbGlkOgorSU5T RVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMK KyAgKCdbMiwzKScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDMtMDEnKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkg VkFMVUVTCisgICgnWzUsNiknLCAnMjAxOC0wMS0xNScsICcyMDE4LTAyLTAxJywgJ1syLDMpJyk7 CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMTUnLCB2YWxp ZF90aWwgPSAnMjAxOC0wMi0xNScKK1dIRVJFIGlkID0gJ1syLDMpJzsKKy0tIGEgUEsgdXBkYXRl IHRoYXQgZmFpbHMgYmVjYXVzZSBib3RoIGFyZSByZWZlcmVuY2VkOgorVVBEQVRFIHRlbXBvcmFs X3BlciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE2LTAxLTAxJywgdmFsaWRfdGlsID0gJzIwMTYtMDIt MDEnCitXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMScgQU5E IHZhbGlkX3RpbCA9ICcyMDE4LTAyLTAxJzsKKy0tIGEgUEsgdXBkYXRlIHRoYXQgZmFpbHMgYmVj YXVzZSBib3RoIGFyZSByZWZlcmVuY2VkLCBidXQgbm90ICd0aWwgY29tbWl0OgorQkVHSU47Cisg IEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgICBBTFRFUiBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrX3BlcjJwZXJfZmsKKyAgICBERUZFUlJBQkxFIElOSVRJQUxMWSBERUZFUlJFRDsK KworICBVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCB2YWxpZF9mcm9tID0gJzIwMTYtMDEtMDEnLCB2 YWxpZF90aWwgPSAnMjAxNi0wMi0wMScKKyAgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9h dCA9IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyk7CitDT01NSVQ7CistLSBj aGFuZ2luZyB0aGUgc2NhbGFyIHBhcnQgZmFpbHM6CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBp ZCA9ICdbNyw4KScKK1dIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfZnJvbSA9ICcyMDE4LTAx LTAxJyBBTkQgdmFsaWRfdGlsID0gJzIwMTgtMDItMDEnOworLS0gY2hhbmdpbmcgYW4gdW5yZWZl cmVuY2VkIHBhcnQgaXMgb2theToKK1VQREFURSB0ZW1wb3JhbF9wZXIKK0ZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMDInIFRPICcyMDE4LTAxLTAzJworU0VUIGlkID0gJ1s3 LDgpJworV0hFUkUgaWQgPSAnWzUsNiknOworLS0gY2hhbmdpbmcganVzdCBhIHBhcnQgZmFpbHM6 CitVUERBVEUgdGVtcG9yYWxfcGVyCitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4 LTAxLTA1JyBUTyAnMjAxOC0wMS0xMCcKK1NFVCBpZCA9ICdbNyw4KScKK1dIRVJFIGlkID0gJ1s1 LDYpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkIGluICgnWzUsNiknLCAn WzcsOCknKSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr X3BlcjJwZXIgV0hFUkUgaWQgaW4gKCdbMyw0KScpIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0t IHRoZW4gZGVsZXRlIHRoZSBvYmplY3RpbmcgRksgcmVjb3JkIGFuZCB0aGUgc2FtZSBQSyB1cGRh dGUgc3VjY2VlZHM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0g J1szLDQpJzsKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIHZhbGlkX2Zyb20gPSAnMjAxNi0wMS0w MScsIHZhbGlkX3RpbCA9ICcyMDE2LTAyLTAxJworV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxp ZF9mcm9tID0gJzIwMTgtMDEtMDEnIEFORCB2YWxpZF90aWwgPSAnMjAxOC0wMi0wMSc7CisKKy0t CistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBSRVNUUklDVAorLS0KKworVFJVTkNBVEUg dGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19wZXIycGVyOworQUxURVIgVEFCTEUgdGVtcG9yYWxf ZmtfcGVyMnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mazsKK0FM VEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxf ZmtfcGVyMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQp CisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyCisgIE9OIFVQREFURSBSRVNUUklDVDsKKworLS0K Ky0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIE5PIEFDVElPTgorLS0KKworVFJVTkNBVEUg dGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19wZXIycGVyOworQUxURVIgVEFCTEUgdGVtcG9yYWxf ZmtfcGVyMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgIEZP UkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1w b3JhbF9wZXI7CistLSBhIFBLIGRlbGV0ZSB0aGF0IHN1Y2NlZWRzIGJlY2F1c2UgdGhlIG51bWVy aWMgaWQgaXNuJ3QgcmVmZXJlbmNlZDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzUsNiknLCAnMjAxOC0wMS0wMScsICcyMDE4 LTAyLTAxJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzUsNiknOwor LS0gYSBQSyBkZWxldGUgdGhhdCBzdWNjZWVkcyBldmVuIHRob3VnaCB0aGUgbnVtZXJpYyBpZCBp cyByZWZlcmVuY2VkIGJlY2F1c2UgdGhlIHJhbmdlIGlzbid0OgorSU5TRVJUIElOVE8gdGVtcG9y YWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMKKyAgKCdbNSw2KScsICcy MDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKSwKKyAgKCdbNSw2KScsICcyMDE4LTAyLTAxJywgJzIw MTgtMDMtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzMsNCknLCAnMjAxOC0wMS0wNScs ICcyMDE4LTAxLTEwJywgJ1s1LDYpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUg aWQgPSAnWzUsNiknIEFORCB2YWxpZF9mcm9tID0gJzIwMTgtMDItMDEnIEFORCB2YWxpZF90aWwg PSAnMjAxOC0wMy0wMSc7CistLSBhIFBLIGRlbGV0ZSB0aGF0IGZhaWxzIGJlY2F1c2UgYm90aCBh cmUgcmVmZXJlbmNlZDoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNSw2 KScgQU5EIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMScgQU5EIHZhbGlkX3RpbCA9ICcyMDE4LTAy LTAxJzsKKy0tIGEgUEsgZGVsZXRlIHRoYXQgZmFpbHMgYmVjYXVzZSBib3RoIGFyZSByZWZlcmVu Y2VkLCBidXQgbm90ICd0aWwgY29tbWl0OgorQkVHSU47CisgIEFMVEVSIFRBQkxFIHRlbXBvcmFs X2ZrX3BlcjJwZXIKKyAgICBBTFRFUiBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsK KyAgICBERUZFUlJBQkxFIElOSVRJQUxMWSBERUZFUlJFRDsKKworICBERUxFVEUgRlJPTSB0ZW1w b3JhbF9wZXIgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9IGRhdGVyYW5nZSgnMjAx OC0wMS0wMScsICcyMDE4LTAyLTAxJyk7CitDT01NSVQ7CistLSBkZWxldGluZyBhbiB1bnJlZmVy ZW5jZWQgcGFydCBpcyBva2F5OgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyCitGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTAyJyBUTyAnMjAxOC0wMS0wMycKK1dIRVJFIGlk ID0gJ1s1LDYpJzsKKy0tIGRlbGV0aW5nIGp1c3QgYSBwYXJ0IGZhaWxzOgorREVMRVRFIEZST00g dGVtcG9yYWxfcGVyCitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTA1JyBU TyAnMjAxOC0wMS0xMCcKK1dIRVJFIGlkID0gJ1s1LDYpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfcGVyIFdIRVJFIGlkIGluICgnWzUsNiknLCAnWzcsOCknKSBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgaW4gKCdbMyw0 KScpIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIHRoZW4gZGVsZXRlIHRoZSBvYmplY3Rpbmcg RksgcmVjb3JkIGFuZCB0aGUgc2FtZSBQSyBkZWxldGUgc3VjY2VlZHM6CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1szLDQpJzsKK0RFTEVURSBGUk9NIHRlbXBv cmFsX3BlciBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMScg QU5EIHZhbGlkX3RpbCA9ICcyMDE4LTAyLTAxJzsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNl ZCBkZWxldGVzIFJFU1RSSUNUCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFs X2ZrX3BlcjJwZXI7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIERST1AgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtf cGVyMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgIEZPUkVJ R04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3Jh bF9wZXIKKyAgT04gREVMRVRFIFJFU1RSSUNUOworCistLQorLS0gcGVyMnBlciB0ZXN0IE9OIFVQ REFURS9ERUxFVEUgb3B0aW9ucworLS0KKy0tIFRPQzoKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBD QVNDQURFCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERQorLS0gcmVmZXJlbmNlZCB1cGRh dGVzIFNFVCBOVUxMCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwKKy0tIHJlZmVyZW5j ZWQgdXBkYXRlcyBTRVQgREVGQVVMVAorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxU CistLSByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVm ZXJlbmNlZCBkZWxldGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQg dXBkYXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVz IFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5V TEwgKHR3byBzY2FsYXIgY29scywgU0VUIE5VTEwgc3Vic2V0KQorLS0gcmVmZXJlbmNlZCB1cGRh dGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMg U0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQg REVGQVVMVCAodHdvIHNjYWxhciBjb2xzLCBTRVQgREVGQVVMVCBzdWJzZXQpCisKKy0tCistLSB0 ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVNDQURFCistLQorCitUUlVOQ0FURSB0ZW1wb3Jh bF9wZXIsIHRlbXBvcmFsX2ZrX3BlcjJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAn MjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19w ZXIycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsKKyAgICBGT1JF SUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1w b3JhbF9wZXIKKyAgICBPTiBERUxFVEUgQ0FTQ0FERSBPTiBVUERBVEUgQ0FTQ0FERTsKKy0tIGxl ZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3BlciBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkID0gJ1s3 LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJw ZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24t RlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBp ZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQg PSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJl ZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZB TFVFUyAoJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lk KSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkp Jyk7CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4 LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERQorLS0K KworVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19wZXIycGVyOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3 KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2Zr X3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgn WzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScpOworLS0gbGVm dG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlk ID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9 ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gZGVsZXRlOgor REVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElO VE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5 KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bl ciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAyMC0wMS0w MScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFs X3BlciBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0 ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIw MF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1 cGRhdGVzIFNFVCBOVUxMCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2Zr X3BlcjJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwg cGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAx JywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIERST1AgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9ma19wZXIycGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlk X2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyCisgICAgT04gREVMRVRFIFNFVCBOVUxM IE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRF IHRlbXBvcmFsX3BlciBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBU TyAnMjAyMC0wMS0wMScgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9w ZXIgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAn MjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAn MjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBp ZCA9ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEt MDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0g J1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZl cmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVt cG9yYWxfZmtfcGVyMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAx Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRF IEZST00gdGVtcG9yYWxfcGVyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEt MDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVS RSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUg aWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdv IHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAx Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUyAoJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50 X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4 LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2 YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr X3BlcjJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisK Ky0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVAorLS0KKworVFJV TkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19wZXIycGVyOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbLTEsLTFdJywg bnVsbCwgbnVsbCk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAx LTAxJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIEFMVEVS IENPTFVNTiBwYXJlbnRfaWQgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtf cGVyMnBlcl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkK KyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorICAgIE9OIERFTEVURSBTRVQgREVGQVVMVCBP TiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFU RSB0ZW1wb3JhbF9wZXIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScg VE8gJzIwMjAtMDEtMDEnIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxf cGVyIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywg JzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChp ZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDIwLTAxLTAxJywg JzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQg aWQgPSAnWzksMTApJyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAx LTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9 ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVm ZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIs IHRlbXBvcmFsX2ZrX3BlcjJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1stMSwtMV0nLCBudWxsLCBudWxsKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgn WzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVF UyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknKTsKKy0t IGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVS RSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUg aWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0 ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgn WzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMjAt MDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0n LCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1w b3JhbF9wZXIgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6 OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzIw MCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5j ZWQgdXBkYXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLQorCitUUlVOQ0FURSB0ZW1w b3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcGVyMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bl cjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2 LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf ZmsyX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVu dF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAn WzYsNyknLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycGVyCisgIERS T1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBlcl9maywKKyAgQUREIENPTlNUUkFJTlQg dGVtcG9yYWxfZmsyX3BlcjJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFy ZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyMgor ICAgIE9OIERFTEVURSBDQVNDQURFIE9OIFVQREFURSBDQVNDQURFOworLS0gbGVmdG92ZXJzIG9u IGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcGVyMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkMSA9ICdbNyw4KScgV0hF UkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hF UkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVw ZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9wZXIyIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9 ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0g J1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZl cmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDE4LTAxLTAxJywg JzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMjAtMDEtMDEn LCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJwZXIgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sy MDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknLCAnWzgsOSknKTsK K1VQREFURSB0ZW1wb3JhbF9wZXIyIFNFVCBpZDEgPSAnWzksMTApJyBXSEVSRSBpZDEgPSAnWzgs OSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERSAodHdv IHNjYWxhciBjb2xzKQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyMiwgdGVtcG9yYWxfZmsy X3BlcjJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEw MF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBs ZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJF IGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJF IGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyBkZWxl dGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGls KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRl bXBvcmFsX3BlcjIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEt MDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9 ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVm ZXJlbmNlZCB1cGRhdGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMpCistLQorCitUUlVOQ0FU RSB0ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcGVyMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcp JywgJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfZmsyX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEs IHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnLCAnWzYsNyknLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycGVy CisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBlcl9maywKKyAgQUREIENPTlNU UkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lk MSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxf cGVyMgorICAgIE9OIERFTEVURSBTRVQgTlVMTCBPTiBVUERBVEUgU0VUIE5VTEw7CistLSBsZWZ0 b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQxID0gJ1s3 LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVy MnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5v bi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3BlcjIgU0VUIGlkMSA9ICdbNyw4KScgV0hF UkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hF UkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3Mg dHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQy LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMTgt MDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBp ZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAy MC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBl ciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFM VUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScsICdb OCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3BlcjIgU0VUIGlkMSA9ICdbOSwxMCknIFdIRVJFIGlk MSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQg TlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyMiwgdGVt cG9yYWxfZmsyX3BlcjJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChp ZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMg KCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcp Jyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Bl cjIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEt MDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIy cGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9u LUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbNiw3 KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAs MTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2Vk IHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAt MDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9t LCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAy MS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJwZXIgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAw XScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4g JzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBX SEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRl c3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMsIFNFVCBO VUxMIHN1YnNldCkKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFsX2ZrMl9w ZXIycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIx LTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBd JywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScsICdbNiw3KScpOworLS0gZmFp bHMgYmVjYXVzZSB5b3UgY2FuJ3Qgc2V0IHRoZSBQRVJJT0QgY29sdW1uOgorQUxURVIgVEFCTEUg dGVtcG9yYWxfZmsyX3BlcjJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIy cGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBlcl9maworICAgIEZP UkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAg UkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVMRVRFIFNFVCBOVUxMICh2YWxpZF9h dCkgT04gVVBEQVRFIFNFVCBOVUxMOworLS0gb2s6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJf cGVyMnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfZmssCisgIEFE RCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBh cmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRl bXBvcmFsX3BlcjIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgKHBhcmVudF9pZDEpIE9OIFVQREFU RSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVt cG9yYWxfcGVyMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAn MjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQx ID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQg PSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJl ZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEn LCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0w MScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgn WzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScsICdbOCw5KScp OworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxp ZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9w ZXIycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCist LQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIg Y29scykKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFsX2ZrMl9wZXIycGVy OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTICgnWy0xLC0xXScsICdbLTEsLTFdJywgbnVsbCwgbnVsbCk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxV RVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBw YXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9m azJfcGVyMnBlcgorICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMSBTRVQgREVGQVVMVCAnWy0xLC0x XScsCisgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQyIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAg RFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycGVyX2ZrLAorICBBREQgQ09OU1RSQUlO VCB0ZW1wb3JhbF9mazJfcGVyMnBlcl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBw YXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIy CisgICAgT04gREVMRVRFIFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxl ZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZDEgPSAn WzcsOCknLCBpZDIgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcGVyMiBTRVQg aWQxID0gJ1s3LDgpJywgaWQyID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5T RVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkg VkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGls KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxf cGVyMiBTRVQgaWQxID0gJ1s5LDEwKScsIGlkMiA9ICdbOSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5 KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVCAo dHdvIHNjYWxhciBjb2xzKQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyMiwgdGVtcG9yYWxf ZmsyX3BlcjJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbLTEsLTFdJywgJ1stMSwtMV0nLCBudWxsLCBudWxs KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVy cyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0g J1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAn WzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0ZToKK0RF TEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVF UyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFM VUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwg cGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEn LCAnMjAyMS0wMS0wMScsICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxf cGVyMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRh dGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1syMDAs MjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2Vk IGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scywgU0VUIERFRkFVTFQgc3Vic2V0 KQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyMiwgdGVtcG9yYWxfZmsyX3BlcjJwZXI7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGls KSBWQUxVRVMgKCdbLTEsLTFdJywgJ1s2LDcpJywgbnVsbCwgbnVsbCk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdb Niw3KScsICdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRf aWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIx LTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBmYWlscyBiZWNhdXNlIHlvdSBjYW4ndCBz ZXQgdGhlIFBFUklPRCBjb2x1bW46CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnBlcgor ICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMSBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1Ag Q09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBlcl9maywKKyAgQUREIENPTlNUUkFJTlQgdGVt cG9yYWxfZmsyX3BlcjJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50 X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyMgorICAg IE9OIERFTEVURSBTRVQgREVGQVVMVCAodmFsaWRfYXQpIE9OIFVQREFURSBTRVQgREVGQVVMVDsK Ky0tIG9rOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJwZXIKKyAgQUxURVIgQ09MVU1O IHBhcmVudF9pZDEgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVt cG9yYWxfZmsyX3BlcjJwZXJfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIy cGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2 YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIKKyAgICBPTiBERUxFVEUgU0VU IERFRkFVTFQgKHBhcmVudF9pZDEpIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxlZnRvdmVy cyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0g J1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAn WzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0ZToKK0RF TEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVF UyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFM VUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBW QUxVRVMgKCdbLTEsLTFdJywgJ1s4LDkpJywgbnVsbCwgbnVsbCk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwg cGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScsICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVSRSBp ZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGT1JFSUdOIEtFWSwgcmFuZ2UgcmVmZXJl bmNlcyBQRVJJT0QKKy0tCisKKy0tIHRlc3QgdGFibGUgc2V0dXAKK0RST1AgVEFCTEUgdGVtcG9y YWxfcGVyIENBU0NBREU7CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGVyICgKKyAgaWQgaW50NHJh bmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBQRVJJT0QgRk9S IHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpCispOworQUxURVIgVEFCTEUgdGVtcG9y YWxfcGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX3Blcl9waworICBQUklNQVJZIEtFWSAo aWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpOworCistLSBDYW4ndCBjcmVhdGUgYSBGSyB3 aXRoIGEgbWlzbWF0Y2hlZCByYW5nZSB0eXBlCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcm5n MnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgaW50NHJhbmdlLAorICBwYXJlbnRf aWQgaW50NHJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfcGsgUFJJTUFS WSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1w b3JhbF9ma19ybmcycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9h dCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIFBFUklPRCB2YWxpZF9hdCkKKyk7 CisKKy0tIHdvcmtzOiBQRVJJT0QgZm9yIHJlZmVyZW5jZWQsIHJhbmdlIGZvciByZWZlcmVuY2lu ZworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisg IHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgQ09OU1RSQUlO VCB0ZW1wb3JhbF9ma19ybmcycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9V VCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mayBGT1JFSUdO IEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3Jh bF9wZXIgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCispOworXGQgdGVtcG9yYWxfZmtfcm5nMnBlcgor RFJPUCBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyOworCistLSB3aXRoIG1pc21hdGNoZWQgUEVS SU9EIGNvbHVtbnM6CisKKy0tIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNF UyAoaWQsIHZhbGlkX2F0KQorLS0gUkVGRVJFTkNFUyBwYXJ0IHNob3VsZCBzcGVjaWZ5IFBFUklP RAorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisg IHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgQ09OU1RSQUlO VCB0ZW1wb3JhbF9ma19ybmcycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9V VCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mayBGT1JFSUdO IEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3Jh bF9wZXIgKGlkLCB2YWxpZF9hdCkKKyk7CistLSAocGFyZW50X2lkLCB2YWxpZF9hdCkgUkVGRVJF TkNFUyAoaWQsIHZhbGlkX2F0KQorLS0gYm90aCBzaG91bGQgc3BlY2lmeSBQRVJJT0Q6CitDUkVB VEUgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRf YXQgZGF0ZXJhbmdlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrX3JuZzJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJM QVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIEZPUkVJR04gS0VZIChw YXJlbnRfaWQsIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCwgdmFs aWRfYXQpCispOworLS0gKHBhcmVudF9pZCwgdmFsaWRfYXQpIFJFRkVSRU5DRVMgKGlkLCBQRVJJ T0QgdmFsaWRfYXQpCistLSBGT1JFSUdOIEtFWSBwYXJ0IHNob3VsZCBzcGVjaWZ5IFBFUklPRAor Q1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZh bGlkX2F0IGRhdGVyYW5nZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9ma19ybmcycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBP VkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mayBGT1JFSUdOIEtF WSAocGFyZW50X2lkLCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQs IFBFUklPRCB2YWxpZF9hdCkKKyk7CistLSAocGFyZW50X2lkLCB2YWxpZF9hdCkgUkVGRVJFTkNF UyBbaW1wbGljaXRdCistLSBGT1JFSUdOIEtFWSBwYXJ0IHNob3VsZCBzcGVjaWZ5IFBFUklPRAor Q1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZh bGlkX2F0IGRhdGVyYW5nZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9ma19ybmcycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBP VkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mayBGT1JFSUdOIEtF WSAocGFyZW50X2lkLCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorKTsK Ky0tIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNFUyAoaWQpCitDUkVBVEUg VEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQg ZGF0ZXJhbmdlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3JuZzJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBT KSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJl bnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQp CispOworLS0gKHBhcmVudF9pZCkgUkVGRVJFTkNFUyAoaWQsIFBFUklPRCB2YWxpZF9hdCkKK0NS RUFURSBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxp ZF9hdCBkYXRlcmFuZ2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVt cG9yYWxfZmtfcm5nMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZF UkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsgRk9SRUlHTiBLRVkg KHBhcmVudF9pZCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIFBFUklPRCB2YWxp ZF9hdCkKKyk7CistLSB3aXRoIGluZmVycmVkIFBLIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlOgor LS0gKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIFtpbXBsaWNpdF0KK0NS RUFURSBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxp ZF9hdCBkYXRlcmFuZ2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVt cG9yYWxfZmtfcm5nMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZF UkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsgRk9SRUlHTiBLRVkg KHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVy CispOworRFJPUCBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyOworLS0gKHBhcmVudF9pZCkgUkVG RVJFTkNFUyBbaW1wbGljaXRdCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlciAoCisg IGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAorICBwYXJlbnRfaWQgaW50NHJh bmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfcGsgUFJJTUFSWSBLRVkgKGlk LCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19y bmcycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3Jh bF9wZXIKKyk7CisKKy0tIHNob3VsZCBmYWlsIGJlY2F1c2Ugb2YgZHVwbGljYXRlIHJlZmVyZW5j ZWQgY29sdW1uczoKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyICgKKyAgaWQgaW50 NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisg IENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlk X2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJf ZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHBhcmVudF9pZCkKKyAgICBSRUZFUkVO Q0VTIHRlbXBvcmFsX3BlciAoaWQsIFBFUklPRCBpZCkKKyk7CisKKy0tIFR3byBzY2FsYXIgY29s dW1ucworRFJPUCBUQUJMRSB0ZW1wb3JhbF9wZXIyIENBU0NBREU7CitDUkVBVEUgVEFCTEUgdGVt cG9yYWxfcGVyMiAoCisgIGlkMSBpbnQ0cmFuZ2UsCisgIGlkMiBpbnQ0cmFuZ2UsCisgIHZhbGlk X2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZh bGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyMl9wayBQUklN QVJZIEtFWSAoaWQxLCBpZDIsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOworCitDUkVB VEUgVEFCTEUgdGVtcG9yYWxfZmsyX3JuZzJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlk X2F0IGRhdGVyYW5nZSwKKyAgcGFyZW50X2lkMSBpbnQ0cmFuZ2UsCisgIHBhcmVudF9pZDIgaW50 NHJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX3BrIFBSSU1BUlkgS0VZ IChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxf ZmsyX3JuZzJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklP RCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCBQRVJJ T0QgdmFsaWRfYXQpCispOworXGQgdGVtcG9yYWxfZmsyX3JuZzJwZXIKK0RST1AgVEFCTEUgdGVt cG9yYWxfZmsyX3JuZzJwZXI7CisKKy0tCistLSB0ZXN0IEFMVEVSIFRBQkxFIEFERCBDT05TVFJB SU5UCistLQorCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlciAoCisgIGlkIGludDRy YW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBD T05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9h dCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIK KyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maworICBGT1JFSUdOIEtFWSAo cGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChp ZCwgUEVSSU9EIHZhbGlkX2F0KTsKKy0tIFR3byBzY2FsYXIgY29sdW1uczoKK0NSRUFURSBUQUJM RSB0ZW1wb3JhbF9mazJfcm5nMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0 ZXJhbmdlLAorICBwYXJlbnRfaWQxIGludDRyYW5nZSwKKyAgcGFyZW50X2lkMiBpbnQ0cmFuZ2Us CisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2 YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9y bmcycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX2ZrCisgIEZPUkVJ R04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVS RU5DRVMgdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIFBFUklPRCB2YWxpZF9hdCk7CitcZCB0ZW1w b3JhbF9mazJfcm5nMnBlcgorCistLSB3aXRoIGluZmVycmVkIFBLIG9uIHRoZSByZWZlcmVuY2Vk IHRhYmxlLCBhbmQgd3JvbmcgY29sdW1uIHR5cGU6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19y bmcycGVyCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrLAorICBBTFRF UiBDT0xVTU4gdmFsaWRfYXQgVFlQRSB0c3JhbmdlIFVTSU5HIHRzcmFuZ2UobG93ZXIodmFsaWRf YXQpLCB1cHBlcih2YWxpZF9hdCkpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgor ICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrCisgIEZPUkVJR04gS0VZIChw YXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXI7CitB TFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIEFMVEVSIENPTFVNTiB2YWxpZF9hdCBU WVBFIGRhdGVyYW5nZSBVU0lORyBkYXRlcmFuZ2UobG93ZXIodmFsaWRfYXQpOjpkYXRlLCB1cHBl cih2YWxpZF9hdCk6OmRhdGUpOworCistLSB3aXRoIGluZmVycmVkIFBLIG9uIHRoZSByZWZlcmVu Y2VkIHRhYmxlOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBBREQgQ09OU1RS QUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBF UklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXI7CisKKy0tIHNob3VsZCBm YWlsIGJlY2F1c2Ugb2YgZHVwbGljYXRlIHJlZmVyZW5jZWQgY29sdW1uczoKK0FMVEVSIFRBQkxF IHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBl cl9mazIKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHBhcmVudF9pZCkKKyAgUkVG RVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCBQRVJJT0QgaWQpOworCistLQorLS0gdGVzdCB3aXRo IHJvd3MgYWxyZWFkeQorLS0KKworREVMRVRFIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlcjsKK0RF TEVURSBGUk9NIHRlbXBvcmFsX3BlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTCisgICgnWzEsMiknLCAnMjAxOC0wMS0wMicsICcy MDE4LTAyLTAzJyksCisgICgnWzEsMiknLCAnMjAxOC0wMy0wMycsICcyMDE4LTA0LTA0JyksCisg ICgnWzIsMyknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAxLTA1JyksCisgICgnWzMsNCknLCAnMjAx OC0wMS0wMScsIE5VTEwpOworCitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIERS T1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrOworSU5TRVJUIElOVE8gdGVtcG9y YWxfZmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxLDIpJywg J1syMDE4LTAxLTAyLDIwMTgtMDItMDEpJywgJ1sxLDIpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3Jh bF9ma19ybmcycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsKKyAg Rk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRl bXBvcmFsX3BlcjsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgRFJPUCBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZms7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19y bmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIsMyknLCAnWzIwMTgt MDEtMDIsMjAxOC0wNC0wMSknLCAnWzEsMiknKTsKKy0tIHNob3VsZCBmYWlsOgorQUxURVIgVEFC TEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcy cGVyX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVG RVJFTkNFUyB0ZW1wb3JhbF9wZXI7CistLSBva2F5IGFnYWluOgorREVMRVRFIEZST00gdGVtcG9y YWxfZmtfcm5nMnBlcjsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgQUREIENP TlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lk LCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyOworCistLQorLS0g dGVzdCBwZ19nZXRfY29uc3RyYWludGRlZgorLS0KKworU0VMRUNUIHBnX2dldF9jb25zdHJhaW50 ZGVmKG9pZCkgRlJPTSBwZ19jb25zdHJhaW50IFdIRVJFIGNvbm5hbWUgPSAndGVtcG9yYWxfZmtf cm5nMnBlcl9mayc7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jaW5nIGluc2VydHMKKy0tCisK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lk KSBWQUxVRVMgKCdbMSwyKScsICdbMjAxOC0wMS0wMiwyMDE4LTAyLTAxKScsICdbMSwyKScpOwor LS0gc2hvdWxkIGZhaWw6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFs aWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIsMyknLCAnWzIwMTgtMDEtMDIsMjAxOC0wNC0w MSknLCAnWzEsMiknKTsKKy0tIG5vdyBpdCBzaG91bGQgd29yazoKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAx OC0wMi0wMycsICcyMDE4LTAzLTAzJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVy IChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIsMyknLCAnWzIwMTgtMDEtMDIs MjAxOC0wNC0wMSknLCAnWzEsMiknKTsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNpbmcgdXBk YXRlcworLS0KKworLS0gc2xpZGUgdGhlIGVkZ2UgYWNyb3NzIGEgcmVmZXJlbmNlZCB0cmFuc2l0 aW9uOgorVVBEQVRFIHRlbXBvcmFsX2ZrX3JuZzJwZXIgU0VUIHZhbGlkX2F0ID0gJ1syMDE4LTAx LTAyLDIwMTgtMDItMjApJyBXSEVSRSBpZCA9ICdbMSwyKSc7CistLSBzaG91bGQgZmFpbDoKK1VQ REFURSB0ZW1wb3JhbF9ma19ybmcycGVyIFNFVCB2YWxpZF9hdCA9ICdbMjAxOC0wMS0wMiwyMDE4 LTA1LTAxKScgV0hFUkUgaWQgPSAnWzEsMiknOworVVBEQVRFIHRlbXBvcmFsX2ZrX3JuZzJwZXIg U0VUIHBhcmVudF9pZCA9ICdbOCw5KScgV0hFUkUgaWQgPSAnWzEsMiknOworCistLSBBTFRFUiBG SyBERUZFUlJBQkxFCisKK0JFR0lOOworICBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUworICAgICgnWzUsNiknLCAnMjAxOC0wMS0wMScs ICcyMDE4LTAyLTAxJyksCisgICAgKCdbNSw2KScsICcyMDE4LTAyLTAxJywgJzIwMTgtMDMtMDEn KTsKKyAgSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJl bnRfaWQpIFZBTFVFUworICAgICgnWzMsNCknLCAnWzIwMTgtMDEtMDUsMjAxOC0wMS0xMCknLCAn WzUsNiknKTsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICAgIEFMVEVSIENP TlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maworICAgIERFRkVSUkFCTEUgSU5JVElBTExZ IERFRkVSUkVEOworCisgIERFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNSw2 KSc7IC0tc2hvdWxkIG5vdCBmYWlsIHlldC4KK0NPTU1JVDsgLS0gc2hvdWxkIGZhaWwgaGVyZS4K KworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIE5PIEFDVElPTgorLS0KKworVFJV TkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19ybmcycGVyOworQUxURVIgVEFCTEUgdGVt cG9yYWxfZmtfcm5nMnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9m azsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVt cG9yYWxfZmtfcm5nMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFs aWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyCisgIE9OIFVQREFURSBOTyBBQ1RJT047 CistLSBhIFBLIHVwZGF0ZSB0aGF0IHN1Y2NlZWRzIGJlY2F1c2UgdGhlIG51bWVyaWMgaWQgaXNu J3QgcmVmZXJlbmNlZDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWzUsNiknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyk7 CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCB2YWxpZF9mcm9tID0gJzIwMTYtMDEtMDEnLCB2YWxp ZF90aWwgPSAnMjAxNi0wMi0wMScgV0hFUkUgaWQgPSAnWzUsNiknOworLS0gYSBQSyB1cGRhdGUg dGhhdCBzdWNjZWVkcyBldmVuIHRob3VnaCB0aGUgbnVtZXJpYyBpZCBpcyByZWZlcmVuY2VkIGJl Y2F1c2UgdGhlIHJhbmdlIGlzbid0OgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlk ID0gJ1s1LDYpJzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkgVkFMVUVTCisgICgnWzUsNiknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyks CisgICgnWzUsNiknLCAnMjAxOC0wMi0wMScsICcyMDE4LTAzLTAxJyk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTCisgICgn WzMsNCknLCAnWzIwMTgtMDEtMDUsMjAxOC0wMS0xMCknLCAnWzUsNiknKTsKK1VQREFURSB0ZW1w b3JhbF9wZXIgU0VUIHZhbGlkX2Zyb20gPSAnMjAxNi0wMi0wMScsIHZhbGlkX3RpbCA9ICcyMDE2 LTAzLTAxJworV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9mcm9tID0gJzIwMTgtMDItMDEn IEFORCB2YWxpZF90aWwgPSAnMjAxOC0wMy0wMSc7CistLSBBIFBLIHVwZGF0ZSBzbGlkaW5nIHRo ZSBlZGdlIGJldHdlZW4gdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTCisgICgnWzYsNyknLCAnMjAx OC0wMS0wMScsICcyMDE4LTAyLTAxJyksCisgICgnWzYsNyknLCAnMjAxOC0wMi0wMScsICcyMDE4 LTAzLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQs IHBhcmVudF9pZCkgVkFMVUVTCisgICgnWzQsNSknLCAnWzIwMTgtMDEtMTUsMjAxOC0wMi0xNSkn LCAnWzYsNyknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIKK1NFVCB2YWxpZF9mcm9tID0gQ0FTRSBX SEVOIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMScgVEhFTiAnMjAxOC0wMS0wMScKKyAgICAgICAg ICAgICAgICAgICAgICBXSEVOIHZhbGlkX2Zyb20gPSAnMjAxOC0wMi0wMScgVEhFTiAnMjAxOC0w MS0wNScgRU5EOjpkYXRlLAorICAgIHZhbGlkX3RpbCA9ICBDQVNFIFdIRU4gdmFsaWRfZnJvbSA9 ICcyMDE4LTAxLTAxJyBUSEVOICcyMDE4LTAxLTA1JworICAgICAgICAgICAgICAgICAgICAgIFdI RU4gdmFsaWRfZnJvbSA9ICcyMDE4LTAyLTAxJyBUSEVOICcyMDE4LTAzLTAxJyBFTkQ6OmRhdGUK K1dIRVJFIGlkID0gJ1s2LDcpJzsKKy0tIGEgUEsgdXBkYXRlIHNocmlua2luZyB0aGUgcmVmZXJl bmNlZCByYW5nZSBidXQgc3RpbGwgdmFsaWQ6CistLSBUaGVyZSBhcmUgdHdvIHJlZmVyZW5jZXM6 IG9uZSBmdWxmaWxsZWQgYnkgdGhlIGZpcnN0IHBrIHJvdywKKy0tIHRoZSBvdGhlciBmdWxmaWxs ZWQgYnkgYm90aCBwayByb3dzIGNvbWJpbmVkLgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChp ZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMKKyAgKCdbMSwyKScsICcyMDE4LTAxLTAx JywgJzIwMTgtMDMtMDEnKSwKKyAgKCdbMSwyKScsICcyMDE4LTAzLTAxJywgJzIwMTgtMDYtMDEn KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50 X2lkKSBWQUxVRVMKKyAgKCdbMSwyKScsICdbMjAxOC0wMS0xNSwyMDE4LTAyLTAxKScsICdbMSwy KScpLAorICAoJ1syLDMpJywgJ1syMDE4LTAxLTE1LDIwMTgtMDUtMDEpJywgJ1sxLDIpJyk7CitV UERBVEUgdGVtcG9yYWxfcGVyIFNFVCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMTUnLCB2YWxpZF90 aWwgPSAnMjAxOC0wMy0wMScKK1dIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgQD4gJzIw MTgtMDEtMTUnOjpkYXRlOworLS0gYSBQSyB1cGRhdGUgZ3Jvd2luZyB0aGUgcmVmZXJlbmNlZCBy YW5nZSBpcyBmaW5lOgorVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE4 LTAxLTAxJywgdmFsaWRfdGlsID0gJzIwMTgtMDMtMDEnCitXSEVSRSBpZCA9ICdbMSwyKScgQU5E IHZhbGlkX2F0IEA+ICcyMDE4LTAxLTI1Jzo6ZGF0ZTsKKy0tIGEgUEsgdXBkYXRlIHNocmlua2lu ZyB0aGUgcmVmZXJlbmNlZCByYW5nZSBhbmQgY2hhbmdpbmcgdGhlIGlkIGludmFsaWRhdGVzIHRo ZSB3aG9sZSByYW5nZToKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1syLDMpJywgdmFs aWRfZnJvbSA9ICcyMDE4LTAxLTE1JywgdmFsaWRfdGlsID0gJzIwMTgtMDMtMDEnCitXSEVSRSBp ZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0IEA+ICcyMDE4LTAxLTE1Jzo6ZGF0ZTsKKy0tIGEgUEsg dXBkYXRlIGNoYW5naW5nIG9ubHkgdGhlIGlkIGludmFsaWRhdGVzIHRoZSB3aG9sZSByYW5nZToK K1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1syLDMpJworV0hFUkUgaWQgPSAnWzEsMikn IEFORCB2YWxpZF9hdCBAPiAnMjAxOC0wMS0xNSc6OmRhdGU7CistLSBhIFBLIHVwZGF0ZSB0aGF0 IGxvc2VzIHRpbWUgZnJvbSBib3RoIGVuZHMsIGJ1dCBpcyBzdGlsbCB2YWxpZDoKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTCisgICgn WzIsMyknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAzLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTCisgICgnWzUsNikn LCAnWzIwMTgtMDEtMTUsMjAxOC0wMi0wMSknLCAnWzIsMyknKTsKK1VQREFURSB0ZW1wb3JhbF9w ZXIgU0VUIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0xNScsIHZhbGlkX3RpbCA9ICcyMDE4LTAyLTE1 JworV0hFUkUgaWQgPSAnWzIsMyknOworLS0gYSBQSyB1cGRhdGUgdGhhdCBmYWlscyBiZWNhdXNl IGJvdGggYXJlIHJlZmVyZW5jZWQ6CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCB2YWxpZF9mcm9t ID0gJzIwMTYtMDEtMDEnLCB2YWxpZF90aWwgPSAnMjAxNi0wMi0wMScKK1dIRVJFIGlkID0gJ1s1 LDYpJyBBTkQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAxJyBBTkQgdmFsaWRfdGlsID0gJzIwMTgt MDItMDEnOworLS0gYSBQSyB1cGRhdGUgdGhhdCBmYWlscyBiZWNhdXNlIGJvdGggYXJlIHJlZmVy ZW5jZWQsIGJ1dCBub3QgJ3RpbCBjb21taXQ6CitCRUdJTjsKKyAgQUxURVIgVEFCTEUgdGVtcG9y YWxfZmtfcm5nMnBlcgorICAgIEFMVEVSIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9m aworICAgIERFRkVSUkFCTEUgSU5JVElBTExZIERFRkVSUkVEOworCisgIFVQREFURSB0ZW1wb3Jh bF9wZXIgU0VUIHZhbGlkX2Zyb20gPSAnMjAxNi0wMS0wMScsIHZhbGlkX3RpbCA9ICcyMDE2LTAy LTAxJworICBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gZGF0ZXJhbmdlKCcyMDE4 LTAxLTAxJywgJzIwMTgtMDItMDEnKTsKK0NPTU1JVDsKKy0tIGNoYW5naW5nIHRoZSBzY2FsYXIg cGFydCBmYWlsczoKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1s3LDgpJworV0hFUkUg aWQgPSAnWzUsNiknIEFORCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDEnIEFORCB2YWxpZF90aWwg PSAnMjAxOC0wMi0wMSc7CistLSBjaGFuZ2luZyBhbiB1bnJlZmVyZW5jZWQgcGFydCBpcyBva2F5 OgorVVBEQVRFIHRlbXBvcmFsX3BlcgorRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAx OC0wMS0wMicgVE8gJzIwMTgtMDEtMDMnCitTRVQgaWQgPSAnWzcsOCknCitXSEVSRSBpZCA9ICdb NSw2KSc7CistLSBjaGFuZ2luZyBqdXN0IGEgcGFydCBmYWlsczoKK1VQREFURSB0ZW1wb3JhbF9w ZXIKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMDUnIFRPICcyMDE4LTAx LTEwJworU0VUIGlkID0gJ1s3LDgpJworV0hFUkUgaWQgPSAnWzUsNiknOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgaW4gKCdbNSw2KScsICdbNyw4KScpIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCBp biAoJ1szLDQpJykgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gdGhlbiBkZWxldGUgdGhlIG9i amVjdGluZyBGSyByZWNvcmQgYW5kIHRoZSBzYW1lIFBLIHVwZGF0ZSBzdWNjZWVkczoKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzMsNCknOworVVBEQVRFIHRl bXBvcmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE2LTAxLTAxJywgdmFsaWRfdGlsID0gJzIw MTYtMDItMDEnCitXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gJ1syMDE4LTAxLTAx LDIwMTgtMDItMDEpJzsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFJFU1RS SUNUCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2ZrX3JuZzJwZXI7CitB TFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9ma19ybmcycGVyX2ZrOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBBREQg Q09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRf aWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyAgT04gVVBE QVRFIFJFU1RSSUNUOworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgTk8gQUNU SU9OCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2ZrX3JuZzJwZXI7CitB TFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3JuZzJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0 KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjsKKy0tIGEgUEsgZGVsZXRlIHRoYXQgc3VjY2Vl ZHMgYmVjYXVzZSB0aGUgbnVtZXJpYyBpZCBpc24ndCByZWZlcmVuY2VkOgorSU5TRVJUIElOVE8g dGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNSw2KScs ICcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBX SEVSRSBpZCA9ICdbNSw2KSc7CistLSBhIFBLIGRlbGV0ZSB0aGF0IHN1Y2NlZWRzIGV2ZW4gdGhv dWdoIHRoZSBudW1lcmljIGlkIGlzIHJlZmVyZW5jZWQgYmVjYXVzZSB0aGUgcmFuZ2UgaXNuJ3Q6 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZB TFVFUworICAoJ1s1LDYpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpLAorICAoJ1s1LDYp JywgJzIwMTgtMDItMDEnLCAnMjAxOC0wMy0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtf cm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1szLDQpJywgJ1syMDE4 LTAxLTA1LDIwMTgtMDEtMTApJywgJ1s1LDYpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIg V0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9mcm9tID0gJzIwMTgtMDItMDEnIEFORCB2YWxp ZF90aWwgPSAnMjAxOC0wMy0wMSc7CistLSBhIFBLIGRlbGV0ZSB0aGF0IGZhaWxzIGJlY2F1c2Ug Ym90aCBhcmUgcmVmZXJlbmNlZDoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9 ICdbNSw2KScgQU5EIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMScgQU5EIHZhbGlkX3RpbCA9ICcy MDE4LTAyLTAxJzsKKy0tIGEgUEsgZGVsZXRlIHRoYXQgZmFpbHMgYmVjYXVzZSBib3RoIGFyZSBy ZWZlcmVuY2VkLCBidXQgbm90ICd0aWwgY29tbWl0OgorQkVHSU47CisgIEFMVEVSIFRBQkxFIHRl bXBvcmFsX2ZrX3JuZzJwZXIKKyAgICBBTFRFUiBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJw ZXJfZmsKKyAgICBERUZFUlJBQkxFIElOSVRJQUxMWSBERUZFUlJFRDsKKworICBERUxFVEUgRlJP TSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9IGRhdGVyYW5n ZSgnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyk7CitDT01NSVQ7CistLSBkZWxldGluZyBhbiB1 bnJlZmVyZW5jZWQgcGFydCBpcyBva2F5OgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyCitGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTAyJyBUTyAnMjAxOC0wMS0wMycKK1dI RVJFIGlkID0gJ1s1LDYpJzsKKy0tIGRlbGV0aW5nIGp1c3QgYSBwYXJ0IGZhaWxzOgorREVMRVRF IEZST00gdGVtcG9yYWxfcGVyCitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAx LTA1JyBUTyAnMjAxOC0wMS0xMCcKK1dIRVJFIGlkID0gJ1s1LDYpJzsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfcGVyIFdIRVJFIGlkIGluICgnWzUsNiknLCAnWzcsOCknKSBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgaW4g KCdbMyw0KScpIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIHRoZW4gZGVsZXRlIHRoZSBvYmpl Y3RpbmcgRksgcmVjb3JkIGFuZCB0aGUgc2FtZSBQSyBkZWxldGUgc3VjY2VlZHM6CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1szLDQpJzsKK0RFTEVURSBGUk9N IHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2Zyb20gPSAnMjAxOC0w MS0wMScgQU5EIHZhbGlkX3RpbCA9ICcyMDE4LTAyLTAxJzsKKworLS0KKy0tIHRlc3QgRksgcmVm ZXJlbmNlZCBkZWxldGVzIFJFU1RSSUNUCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRl bXBvcmFsX2ZrX3JuZzJwZXI7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIERS T1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrOworQUxURVIgVEFCTEUgdGVtcG9y YWxfZmtfcm5nMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrCisg IEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0 ZW1wb3JhbF9wZXIKKyAgT04gREVMRVRFIFJFU1RSSUNUOworCistLQorLS0gcm5nMnBlciB0ZXN0 IE9OIFVQREFURS9ERUxFVEUgb3B0aW9ucworLS0KKy0tIFRPQzoKKy0tIHJlZmVyZW5jZWQgdXBk YXRlcyBDQVNDQURFCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERQorLS0gcmVmZXJlbmNl ZCB1cGRhdGVzIFNFVCBOVUxMCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwKKy0tIHJl ZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVAorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBE RUZBVUxUCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBjb2xzKQor LS0gcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVy ZW5jZWQgdXBkYXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBk ZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMg U0VUIE5VTEwgKHR3byBzY2FsYXIgY29scywgU0VUIE5VTEwgc3Vic2V0KQorLS0gcmVmZXJlbmNl ZCB1cGRhdGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRl bGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRl cyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzLCBTRVQgREVGQVVMVCBzdWJzZXQpCisKKy0t CistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVNDQURFCistLQorCitUUlVOQ0FURSB0 ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2ZrX3JuZzJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9w ZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQs IHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICdbMjAxOC0wMS0wMSwy MDIxLTAxLTAxKScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgor ICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrCisgICAgRk9SRUlHTiBLRVkg KHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVy CisgICAgT04gREVMRVRFIENBU0NBREUgT04gVVBEQVRFIENBU0NBREU7CistLSBsZWZ0b3ZlcnMg b24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9wZXIgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZCA9ICdbNyw4KScgV0hF UkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJF IGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRh dGU6CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYs NyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAs MTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2Vk IHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdb OCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0n LCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9w ZXIgU0VUIGlkID0gJ1s5LDEwKScgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAn MjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hF UkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0 IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9w ZXIsIHRlbXBvcmFsX2ZrX3JuZzJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAy MS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0 LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAx KScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9wZXIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8g JzIwMjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf Zmtfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK Ky0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0g J1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9ICdb MTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJl bmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVT ICgnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwy MDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0w MSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgPSAn WzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVy ZW5jZWQgdXBkYXRlcyBTRVQgTlVMTAorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1w b3JhbF9ma19ybmcycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50 X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzYs NyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgRFJPUCBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3Ju ZzJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisg ICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgT04gVVBE QVRFIFNFVCBOVUxMOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9y YWxfcGVyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIw LTAxLTAxJyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQg aWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf Zmtfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK Ky0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxf cGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDE4LTAx LTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAx LTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBh cmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywg J1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJFIGlk ID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5V TEwKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcm5nMnBlcjsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVT ICgnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwx MDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMg b24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAnWzYs NyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAs MTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIw MTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIw MjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9h dCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0w MSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbOCw5 KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUCist LQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2ZrX3JuZzJwZXI7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1st MSwtMV0nLCBudWxsLCBudWxsKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAx LTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBh cmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywg J1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIEFMVEVSIENPTFVN TiBwYXJlbnRfaWQgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVt cG9yYWxfZmtfcm5nMnBlcl9maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBl cl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBS RUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorICAgIE9OIERFTEVURSBTRVQgREVGQVVMVCBPTiBVUERB VEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1w b3JhbF9wZXIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIw MjAtMDEtMDEnIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcGVyIFNF VCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3Jh bF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMTgt MDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEt MDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwg cGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSkn LCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1s5LDEwKScgV0hFUkUg aWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQg REVGQVVMVAorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19ybmcycGVy OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBW QUxVRVMgKCdbLTEsLTFdJywgbnVsbCwgbnVsbCk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIg KGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJzIwMTgtMDEtMDEn LCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZh bGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICdbMjAxOC0wMS0wMSwyMDIx LTAxLTAxKScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9wZXIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0w MScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJF IGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBp ZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28g cmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEn KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkg VkFMVUVTICgnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgn WzIwMCwyMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s4LDkpJyk7CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAx OS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUg aWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZL IHJlZmVyZW5jZWQgdXBkYXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLQorCitUUlVO Q0FURSB0ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcm5nMnBlcjsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2 LDcpJywgJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfZmsyX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lk MikgVkFMVUVTICgnWzEwMCwxMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s2LDcp JywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcm5nMnBlcgorICBEUk9QIENP TlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJwZXJfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrMl9ybmcycGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9p ZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIKKyAgICBP TiBERUxFVEUgQ0FTQ0FERSBPTiBVUERBVEUgQ0FTQ0FERTsKKy0tIGxlZnRvdmVycyBvbiBib3Ro IHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlk MSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlk ID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6 CitVUERBVEUgdGVtcG9yYWxfcGVyMiBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYs NyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAw LDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNl ZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIw LTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIw MjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChpZCwgdmFsaWRf YXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICdbMjAxOC0w MS0wMSwyMDIxLTAxLTAxKScsICdbOCw5KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3Bl cjIgU0VUIGlkMSA9ICdbOSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIg V0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0 ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLQor CitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcm5nMnBlcjsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVF UyAoJ1s2LDcpJywgJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfZmsyX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFy ZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywg J1s2LDcpJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBG Uk9NIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0w MScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdI RVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdI RVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3Nz IHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlk MiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDE4 LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwg aWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIw MjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJw ZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwy MDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxF VEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIg V0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0 ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0K KworVFJVTkNBVEUgdGVtcG9yYWxfcGVyMiwgdGVtcG9yYWxfZmsyX3JuZzJwZXI7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxV RVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBh cmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScs ICdbNiw3KScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3JuZzJwZXIKKyAg RFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX2ZrLAorICBBREQgQ09OU1RSQUlO VCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBw YXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIy CisgICAgT04gREVMRVRFIFNFVCBOVUxMIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVy cyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZDEgPSAnWzcsOCkn IFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVy IFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQ TyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcGVyMiBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBp ZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBp ZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28g cmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0w MScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAx LTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChp ZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScs ICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbOCw5KScsICdbOCw5KScpOworVVBEQVRFIHRl bXBvcmFsX3BlcjIgU0VUIGlkMSA9ICdbOSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZh bGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsy X3JuZzJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisK Ky0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBj b2xzKQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyMiwgdGVtcG9yYWxfZmsyX3JuZzJwZXI7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsKSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVu dF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICdbMjAxOC0wMS0wMSwyMDIx LTAxLTAxKScsICdbNiw3KScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6 CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9y YWxfcGVyMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJf cm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0t IEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVy MiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgs OSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9w ZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdb OCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrMl9ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVF UyAoJ1syMDAsMjAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbOCw5KScsICdbOCw5 KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2 YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr Ml9ybmcycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor CistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIg Y29scywgU0VUIE5VTEwgc3Vic2V0KQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyMiwgdGVt cG9yYWxfZmsyX3JuZzJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChp ZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScs ICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbNiw3KScsICdbNiw3KScpOworLS0gZmFpbHMg YmVjYXVzZSB5b3UgY2FuJ3Qgc2V0IHRoZSBQRVJJT0QgY29sdW1uOgorQUxURVIgVEFCTEUgdGVt cG9yYWxfZmsyX3JuZzJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVy X2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maworICAgIEZPUkVJ R04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVG RVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVMRVRFIFNFVCBOVUxMICh2YWxpZF9hdCkg T04gVVBEQVRFIFNFVCBOVUxMOworLS0gb2s6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcm5n MnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJwZXJfZmssCisgIEFERCBD T05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVu dF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBv cmFsX3BlcjIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgKHBhcmVudF9pZDEpIE9OIFVQREFURSBT RVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9y YWxfcGVyMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAy MC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsy X3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Cist LSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQxID0g J1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAn WzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVy ZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAn MjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScs ICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnBlciAoaWQsIHZh bGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnWzIw MTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRl bXBvcmFsX3BlcjIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEt MDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9 ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVm ZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCistLQorCitUUlVO Q0FURSB0ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcm5nMnBlcjsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1st MSwtMV0nLCAnWy0xLC0xXScsIG51bGwsIG51bGwpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVy MiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnWzYs NyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9m azJfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMg KCdbMTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzYsNyknLCAnWzYsNykn KTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcycGVyCisgIEFMVEVSIENPTFVNTiBwYXJl bnRfaWQxIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDIg U0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3Ju ZzJwZXJfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX2ZrCisgICAg Rk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAg ICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIKKyAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgT04g VVBEQVRFIFNFVCBERUZBVUxUOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUg dGVtcG9yYWxfcGVyMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBU TyAnMjAyMC0wMS0wMScgU0VUIGlkMSA9ICdbNyw4KScsIGlkMiA9ICdbNyw4KScgV0hFUkUgaWQx ID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQg PSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0ZToK K1VQREFURSB0ZW1wb3JhbF9wZXIyIFNFVCBpZDEgPSAnWzcsOCknLCBpZDIgPSAnWzcsOCknIFdI RVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdI RVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3Nz IHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlk MiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDE4 LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwg aWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIw MjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJw ZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwy MDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitVUERB VEUgdGVtcG9yYWxfcGVyMiBTRVQgaWQxID0gJ1s5LDEwKScsIGlkMiA9ICdbOSwxMCknIFdIRVJF IGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBT RVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcGVy MiwgdGVtcG9yYWxfZmsyX3JuZzJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEs IGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbLTEsLTFdJywgJ1stMSwtMV0n LCBudWxsLCBudWxsKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJzIwMTgtMDEtMDEn LCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJwZXIgKGlkLCB2 YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBdJywgJ1sy MDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMg b24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdb Niw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1sx MDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitERUxF VEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMg KCdbOCw5KScsICdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVF UyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfZmsyX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFy ZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywg J1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9 ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVG QVVMVCAodHdvIHNjYWxhciBjb2xzLCBTRVQgREVGQVVMVCBzdWJzZXQpCistLQorCitUUlVOQ0FU RSB0ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcm5nMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1stMSwt MV0nLCAnWzYsNyknLCBudWxsLCBudWxsKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlk MSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywg JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3Ju ZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEw MCwxMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s2LDcpJywgJ1s2LDcpJyk7Cist LSBmYWlscyBiZWNhdXNlIHlvdSBjYW4ndCBzZXQgdGhlIFBFUklPRCBjb2x1bW46CitBTFRFUiBU QUJMRSB0ZW1wb3JhbF9mazJfcm5nMnBlcgorICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMSBTRVQg REVGQVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBl cl9maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJwZXJfZmsKKyAgICBGT1JF SUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJF RkVSRU5DRVMgdGVtcG9yYWxfcGVyMgorICAgIE9OIERFTEVURSBTRVQgREVGQVVMVCAodmFsaWRf YXQpIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIG9rOgorQUxURVIgVEFCTEUgdGVtcG9yYWxf ZmsyX3JuZzJwZXIKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQgJ1stMSwt MV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJwZXJfZmssCisgIEFERCBD T05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVu dF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBv cmFsX3BlcjIKKyAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgKHBhcmVudF9pZDEpIE9OIFVQREFU RSBTRVQgREVGQVVMVDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00g dGVtcG9yYWxfcGVyMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBU TyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CistLSBub24tRlBPIHVwZGF0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUg aWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUg aWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdv IHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEt MDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0w MS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlk MiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbLTEsLTFdJywgJ1s4LDkpJywgbnVs bCwgbnVsbCk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0 LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnWzIwMTgtMDEt MDEsMjAyMS0wMS0wMSknLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFs X3BlcjIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpk YXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMjAw LDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRk9SRUlHTiBLRVks IFBFUklPRCByZWZlcmVuY2VzIHJhbmdlCistLQorCistLSB0ZXN0IHRhYmxlIHNldHVwCitEUk9Q IFRBQkxFIHRlbXBvcmFsX3JuZyBDQVNDQURFOworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3JuZyAo CisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlCispOworQUxURVIgVEFCTEUg dGVtcG9yYWxfcm5nCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX3JuZ19waworICBQUklNQVJZ IEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpOworCistLSBDYW4ndCBjcmVhdGUg YSBGSyB3aXRoIGEgbWlzbWF0Y2hlZCByYW5nZSB0eXBlCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxf ZmtfcGVyMnJuZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBpbnQsCisgIHZhbGlk X3RpbCBpbnQsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQg KHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJu Z19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVS SU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nIChpZCwgUEVSSU9EIHZh bGlkX2F0KQorKTsKKworLS0gd29ya3M6IHJhbmdlIGZvciByZWZlcmVuY2VkLCBQRVJJT0QgZm9y IHJlZmVyZW5jaW5nCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZyAoCisgIGlkIGlu dDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50 X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRf dGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX3BrIFBSSU1BUlkgS0VZIChp ZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtf cGVyMnJuZ19mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAg UkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCispOworXGQgdGVt cG9yYWxfZmtfcGVyMnJuZworRFJPUCBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nOworCistLSB3 aXRoIG1pc21hdGNoZWQgUEVSSU9EIGNvbHVtbnM6CisKKy0tIChwYXJlbnRfaWQsIFBFUklPRCB2 YWxpZF9hdCkgUkVGRVJFTkNFUyAoaWQsIHZhbGlkX2F0KQorLS0gUkVGRVJFTkNFUyBwYXJ0IHNo b3VsZCBzcGVjaWZ5IFBFUklPRAorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcgKAor ICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisg IHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20s IHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19wayBQUklNQVJZ IEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrX3BlcjJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0 KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpCispOworLS0gKHBh cmVudF9pZCwgdmFsaWRfYXQpIFJFRkVSRU5DRVMgKGlkLCB2YWxpZF9hdCkKKy0tIGJvdGggc2hv dWxkIHNwZWNpZnkgUEVSSU9EOgorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcgKAor ICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisg IHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20s IHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19wayBQUklNQVJZ IEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrX3BlcjJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgdmFsaWRfYXQpCisgICAg UkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkKKyk7CistLSAocGFyZW50X2lk LCB2YWxpZF9hdCkgUkVGRVJFTkNFUyAoaWQsIFBFUklPRCB2YWxpZF9hdCkKKy0tIEZPUkVJR04g S0VZIHBhcnQgc2hvdWxkIHNwZWNpZnkgUEVSSU9ECitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtf cGVyMnJuZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90 aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAo dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5n X3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNU UkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCB2YWxp ZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZyAoaWQsIFBFUklPRCB2YWxpZF9hdCkK Kyk7CistLSAocGFyZW50X2lkLCB2YWxpZF9hdCkgUkVGRVJFTkNFUyBbaW1wbGljaXRdCistLSBG T1JFSUdOIEtFWSBwYXJ0IHNob3VsZCBzcGVjaWZ5IFBFUklPRAorQ1JFQVRFIFRBQkxFIHRlbXBv cmFsX2ZrX3BlcjJybmcgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAg dmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFs aWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtf cGVyMnJuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAor ICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9p ZCwgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcKKyk7CistLSAocGFyZW50 X2lkLCBQRVJJT0QgdmFsaWRfYXQpIFJFRkVSRU5DRVMgKGlkKQorQ1JFQVRFIFRBQkxFIHRlbXBv cmFsX2ZrX3BlcjJybmcgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAg dmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFs aWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtf cGVyMnJuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAor ICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9p ZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nIChpZCkKKyk7 CistLSAocGFyZW50X2lkKSBSRUZFUkVOQ0VTIChpZCwgUEVSSU9EIHZhbGlkX2F0KQorQ1JFQVRF IFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zy b20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBF UklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQg dGVtcG9yYWxfZmtfcGVyMnJuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQg T1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsgRk9SRUlHTiBL RVkgKHBhcmVudF9pZCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZyAoaWQsIFBFUklPRCB2 YWxpZF9hdCkKKyk7CistLSB3aXRoIGluZmVycmVkIFBLIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxl OgorLS0gKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIFtpbXBsaWNpdF0K K0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nICgKKyAgaWQgaW50NHJhbmdlLAorICB2 YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdl LAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBX SVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIEZP UkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRl bXBvcmFsX3JuZworKTsKK0RST1AgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZzsKKy0tIChwYXJl bnRfaWQpIFJFRkVSRU5DRVMgW2ltcGxpY2l0XQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3Bl cjJybmcgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGls IGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZh bGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19w ayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJB SU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCkKKyAgICBS RUZFUkVOQ0VTIHRlbXBvcmFsX3JuZworKTsKKworLS0gc2hvdWxkIGZhaWwgYmVjYXVzZSBvZiBk dXBsaWNhdGUgcmVmZXJlbmNlZCBjb2x1bW5zOgorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3Bl cjJybmcgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGls IGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZh bGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19w ayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJB SU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9E IHBhcmVudF9pZCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZyAoaWQsIFBFUklPRCBpZCkK Kyk7CisKKy0tIFR3byBzY2FsYXIgY29sdW1ucworRFJPUCBUQUJMRSB0ZW1wb3JhbF9ybmcyIENB U0NBREU7CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcm5nMiAoCisgIGlkMSBpbnQ0cmFuZ2UsCisg IGlkMiBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1w b3JhbF9ybmcyX3BrIFBSSU1BUlkgS0VZIChpZDEsIGlkMiwgdmFsaWRfYXQgV0lUSE9VVCBPVkVS TEFQUykKKyk7CisKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnJuZyAoCisgIGlkIGlu dDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50 X2lkMSBpbnQ0cmFuZ2UsCisgIHBhcmVudF9pZDIgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZh bGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr Ml9wZXIycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyks CisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVu dF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBv cmFsX3JuZzIgKGlkMSwgaWQyLCBQRVJJT0QgdmFsaWRfYXQpCispOworXGQgdGVtcG9yYWxfZmsy X3BlcjJybmcKK0RST1AgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJybmc7CisKKy0tCistLSB0ZXN0 IEFMVEVSIFRBQkxFIEFERCBDT05TVFJBSU5UCistLQorCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxf ZmtfcGVyMnJuZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxp ZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9h dCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIy cm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitB TFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3BlcjJybmdfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0 KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZyAoaWQsIFBFUklPRCB2YWxpZF9hdCk7CistLSBU d28gc2NhbGFyIGNvbHVtbnM6CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJybmcgKAor ICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisg IHBhcmVudF9pZDEgaW50NHJhbmdlLAorICBwYXJlbnRfaWQyIGludDRyYW5nZSwKKyAgUEVSSU9E IEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1w b3JhbF9mazJfcGVyMnJuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZF UkxBUFMpCispOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJybmcKKyAgQUREIENPTlNU UkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJybmdfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEs IHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcy IChpZDEsIGlkMiwgUEVSSU9EIHZhbGlkX2F0KTsKK1xkIHRlbXBvcmFsX2ZrMl9wZXIycm5nCisK Ky0tIHdpdGggaW5mZXJyZWQgUEsgb24gdGhlIHJlZmVyZW5jZWQgdGFibGUsIGFuZCB3cm9uZyBj b2x1bW4gdHlwZToKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgRFJPUCBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmssCisgIERST1AgUEVSSU9EIEZPUiB2YWxpZF9h dCwKKyAgQUxURVIgQ09MVU1OIHZhbGlkX2Zyb20gVFlQRSB0aW1lc3RhbXAsCisgIEFMVEVSIENP TFVNTiB2YWxpZF90aWwgVFlQRSB0aW1lc3RhbXAsCisgIEFERCBQRVJJT0QgRk9SIHZhbGlkX2F0 ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJu ZworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrCisgIEZPUkVJR04gS0VZ IChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmc7 CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIERST1AgUEVSSU9EIEZPUiB2YWxp ZF9hdCwKKyAgQUxURVIgQ09MVU1OIHZhbGlkX2Zyb20gVFlQRSBkYXRlLAorICBBTFRFUiBDT0xV TU4gdmFsaWRfdGlsIFRZUEUgZGF0ZSwKKyAgQUREIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlk X2Zyb20sIHZhbGlkX3RpbCk7CisKKy0tIHdpdGggaW5mZXJyZWQgUEsgb24gdGhlIHJlZmVyZW5j ZWQgdGFibGU6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIEFERCBDT05TVFJB SU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVS SU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzsKKworLS0gc2hvdWxkIGZh aWwgYmVjYXVzZSBvZiBkdXBsaWNhdGUgcmVmZXJlbmNlZCBjb2x1bW5zOgorQUxURVIgVEFCTEUg dGVtcG9yYWxfZmtfcGVyMnJuZworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5n X2ZrMgorICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgcGFyZW50X2lkKQorICBSRUZF UkVOQ0VTIHRlbXBvcmFsX3JuZyAoaWQsIFBFUklPRCBpZCk7CisKKy0tCistLSB0ZXN0IHdpdGgg cm93cyBhbHJlYWR5CistLQorCitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nOworREVM RVRFIEZST00gdGVtcG9yYWxfcm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFs aWRfYXQpIFZBTFVFUworICAoJ1sxLDIpJywgJ1syMDE4LTAxLTAyLDIwMTgtMDItMDMpJyksCisg ICgnWzEsMiknLCAnWzIwMTgtMDMtMDMsMjAxOC0wNC0wNCknKSwKKyAgKCdbMiwzKScsICdbMjAx OC0wMS0wMSwyMDE4LTAxLTA1KScpLAorICAoJ1szLDQpJywgJ1syMDE4LTAxLTAxLCknKTsKKwor QUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9y YWxfZmtfcGVyMnJuZ19mazsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0w MS0wMicsICcyMDE4LTAyLTAxJywgJ1sxLDIpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19w ZXIycm5nCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsKKyAgRk9SRUlH TiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFs X3JuZzsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgRFJPUCBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrX3BlcjJybmdfZms7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycm5n IChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syLDMpJywg JzIwMTgtMDEtMDInLCAnMjAxOC0wNC0wMScsICdbMSwyKScpOworLS0gc2hvdWxkIGZhaWw6CitB TFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3BlcjJybmdfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0 KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzsKKy0tIG9rYXkgYWdhaW46CitERUxFVEUgRlJP TSB0ZW1wb3JhbF9ma19wZXIycm5nOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZwor ICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrCisgIEZPUkVJR04gS0VZIChw YXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmc7CisK Ky0tCistLSB0ZXN0IHBnX2dldF9jb25zdHJhaW50ZGVmCistLQorCitTRUxFQ1QgcGdfZ2V0X2Nv bnN0cmFpbnRkZWYob2lkKSBGUk9NIHBnX2NvbnN0cmFpbnQgV0hFUkUgY29ubmFtZSA9ICd0ZW1w b3JhbF9ma19wZXIycm5nX2ZrJzsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNpbmcgaW5zZXJ0 cworLS0KKworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4LTAxLTAyJywgJzIw MTgtMDItMDEnLCAnWzEsMiknKTsKKy0tIHNob3VsZCBmYWlsOgorSU5TRVJUIElOVE8gdGVtcG9y YWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxV RVMgKCdbMiwzKScsICcyMDE4LTAxLTAyJywgJzIwMTgtMDQtMDEnLCAnWzEsMiknKTsKKy0tIG5v dyBpdCBzaG91bGQgd29yazoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0 KSBWQUxVRVMgKCdbMSwyKScsICdbMjAxOC0wMi0wMywyMDE4LTAzLTAzKScpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50 X2lkKSBWQUxVRVMgKCdbMiwzKScsICcyMDE4LTAxLTAyJywgJzIwMTgtMDQtMDEnLCAnWzEsMikn KTsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNpbmcgdXBkYXRlcworLS0KKworLS0gc2xpZGUg dGhlIGVkZ2UgYWNyb3NzIGEgcmVmZXJlbmNlZCB0cmFuc2l0aW9uOgorVVBEQVRFIHRlbXBvcmFs X2ZrX3BlcjJybmcgU0VUIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMicsIHZhbGlkX3RpbCA9ICcy MDE4LTAyLTIwJyBXSEVSRSBpZCA9ICdbMSwyKSc7CistLSBzaG91bGQgZmFpbDoKK1VQREFURSB0 ZW1wb3JhbF9ma19wZXIycm5nIFNFVCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDInLCB2YWxpZF90 aWwgPSAnMjAxOC0wNS0wMScgV0hFUkUgaWQgPSAnWzEsMiknOworVVBEQVRFIHRlbXBvcmFsX2Zr X3BlcjJybmcgU0VUIHBhcmVudF9pZCA9ICdbOCw5KScgV0hFUkUgaWQgPSAnWzEsMiknOworCist LSBBTFRFUiBGSyBERUZFUlJBQkxFCisKK0JFR0lOOworICBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9y bmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTCisgICAgKCdbNSw2KScsICdbMjAxOC0wMS0wMSwyMDE4 LTAyLTAxKScpLAorICAgICgnWzUsNiknLCAnWzIwMTgtMDItMDEsMjAxOC0wMy0wMSknKTsKKyAg SU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCwgcGFyZW50X2lkKSBWQUxVRVMKKyAgICAoJ1szLDQpJywgJzIwMTgtMDEtMDUnLCAnMjAxOC0w MS0xMCcsICdbNSw2KScpOworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgICAg QUxURVIgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrCisgICAgREVGRVJSQUJMRSBJ TklUSUFMTFkgREVGRVJSRUQ7CisKKyAgREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlk ID0gJ1s1LDYpJzsgLS1zaG91bGQgbm90IGZhaWwgeWV0LgorQ09NTUlUOyAtLSBzaG91bGQgZmFp bCBoZXJlLgorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgTk8gQUNUSU9OCist LQorCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3BlcjJybmc7CitBTFRFUiBU QUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19w ZXIycm5nX2ZrOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBBREQgQ09OU1RS QUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBF UklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcKKyAgT04gVVBEQVRFIE5P IEFDVElPTjsKKy0tIGEgUEsgdXBkYXRlIHRoYXQgc3VjY2VlZHMgYmVjYXVzZSB0aGUgbnVtZXJp YyBpZCBpc24ndCByZWZlcmVuY2VkOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFs aWRfYXQpIFZBTFVFUyAoJ1s1LDYpJywgJ1syMDE4LTAxLTAxLDIwMTgtMDItMDEpJyk7CitVUERB VEUgdGVtcG9yYWxfcm5nIFNFVCB2YWxpZF9hdCA9ICdbMjAxNi0wMS0wMSwyMDE2LTAyLTAxKScg V0hFUkUgaWQgPSAnWzUsNiknOworLS0gYSBQSyB1cGRhdGUgdGhhdCBzdWNjZWVkcyBldmVuIHRo b3VnaCB0aGUgbnVtZXJpYyBpZCBpcyByZWZlcmVuY2VkIGJlY2F1c2UgdGhlIHJhbmdlIGlzbid0 OgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s1LDYpJzsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMKKyAgKCdbNSw2KScsICdbMjAx OC0wMS0wMSwyMDE4LTAyLTAxKScpLAorICAoJ1s1LDYpJywgJ1syMDE4LTAyLTAxLDIwMTgtMDMt MDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUworICAoJ1szLDQpJywgJzIwMTgtMDEtMDUnLCAn MjAxOC0wMS0xMCcsICdbNSw2KScpOworVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgdmFsaWRfYXQg PSAnWzIwMTYtMDItMDEsMjAxNi0wMy0wMSknCitXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlk X2F0ID0gJ1syMDE4LTAyLTAxLDIwMTgtMDMtMDEpJzsKKy0tIEEgUEsgdXBkYXRlIHNsaWRpbmcg dGhlIGVkZ2UgYmV0d2VlbiB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9y YWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUworICAoJ1s2LDcpJywgJ1syMDE4LTAxLTAxLDIw MTgtMDItMDEpJyksCisgICgnWzYsNyknLCAnWzIwMTgtMDItMDEsMjAxOC0wMy0wMSknKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWws IHBhcmVudF9pZCkgVkFMVUVTCisgICgnWzQsNSknLCAnMjAxOC0wMS0xNScsICcyMDE4LTAyLTE1 JywgJ1s2LDcpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nCitTRVQgdmFsaWRfYXQgPSBDQVNFIFdI RU4gbG93ZXIodmFsaWRfYXQpID0gJzIwMTgtMDEtMDEnIFRIRU4gZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMTgtMDEtMDUnKQorICAgICAgICAgICAgICAgICAgICBXSEVOIGxvd2VyKHZhbGlk X2F0KSA9ICcyMDE4LTAyLTAxJyBUSEVOIGRhdGVyYW5nZSgnMjAxOC0wMS0wNScsICcyMDE4LTAz LTAxJykgRU5ECitXSEVSRSBpZCA9ICdbNiw3KSc7CistLSBhIFBLIHVwZGF0ZSBzaHJpbmtpbmcg dGhlIHJlZmVyZW5jZWQgcmFuZ2UgYnV0IHN0aWxsIHZhbGlkOgorLS0gVGhlcmUgYXJlIHR3byBy ZWZlcmVuY2VzOiBvbmUgZnVsZmlsbGVkIGJ5IHRoZSBmaXJzdCBwayByb3csCistLSB0aGUgb3Ro ZXIgZnVsZmlsbGVkIGJ5IGJvdGggcGsgcm93cyBjb21iaW5lZC4KK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMKKyAgKCdbMSwyKScsICdbMjAxOC0wMS0wMSwy MDE4LTAzLTAxKScpLAorICAoJ1sxLDIpJywgJ1syMDE4LTAzLTAxLDIwMTgtMDYtMDEpJyk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGls LCBwYXJlbnRfaWQpIFZBTFVFUworICAoJ1sxLDIpJywgJzIwMTgtMDEtMTUnLCAnMjAxOC0wMi0w MScsICdbMSwyKScpLAorICAoJ1syLDMpJywgJzIwMTgtMDEtMTUnLCAnMjAxOC0wNS0wMScsICdb MSwyKScpOworVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgdmFsaWRfYXQgPSAnWzIwMTgtMDEtMTUs MjAxOC0wMy0wMSknCitXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0IEA+ICcyMDE4LTAx LTE1Jzo6ZGF0ZTsKKy0tIGEgUEsgdXBkYXRlIGdyb3dpbmcgdGhlIHJlZmVyZW5jZWQgcmFuZ2Ug aXMgZmluZToKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIHZhbGlkX2F0ID0gJ1syMDE4LTAxLTAx LDIwMTgtMDMtMDEpJworV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCBAPiAnMjAxOC0w MS0yNSc6OmRhdGU7CistLSBhIFBLIHVwZGF0ZSBzaHJpbmtpbmcgdGhlIHJlZmVyZW5jZWQgcmFu Z2UgYW5kIGNoYW5naW5nIHRoZSBpZCBpbnZhbGlkYXRlcyB0aGUgd2hvbGUgcmFuZ2U6CitVUERB VEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdbMiwzKScsIHZhbGlkX2F0ID0gJ1syMDE4LTAxLTE1 LDIwMTgtMDMtMDEpJworV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCBAPiAnMjAxOC0w MS0xNSc6OmRhdGU7CistLSBhIFBLIHVwZGF0ZSBjaGFuZ2luZyBvbmx5IHRoZSBpZCBpbnZhbGlk YXRlcyB0aGUgd2hvbGUgcmFuZ2U6CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdbMiwz KScKK1dIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTgtMDEtMTUnOjpkYXRl OworLS0gYSBQSyB1cGRhdGUgdGhhdCBsb3NlcyB0aW1lIGZyb20gYm90aCBlbmRzLCBidXQgaXMg c3RpbGwgdmFsaWQ6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFM VUVTCisgICgnWzIsMyknLCAnWzIwMTgtMDEtMDEsMjAxOC0wMy0wMSknKTsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9p ZCkgVkFMVUVTCisgICgnWzUsNiknLCAnMjAxOC0wMS0xNScsICcyMDE4LTAyLTAxJywgJ1syLDMp Jyk7CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCB2YWxpZF9hdCA9ICdbMjAxOC0wMS0xNSwyMDE4 LTAyLTE1KScKK1dIRVJFIGlkID0gJ1syLDMpJzsKKy0tIGEgUEsgdXBkYXRlIHRoYXQgZmFpbHMg YmVjYXVzZSBib3RoIGFyZSByZWZlcmVuY2VkOgorVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgdmFs aWRfYXQgPSAnWzIwMTYtMDEtMDEsMjAxNi0wMi0wMSknCitXSEVSRSBpZCA9ICdbNSw2KScgQU5E IHZhbGlkX2F0ID0gJ1syMDE4LTAxLTAxLDIwMTgtMDItMDEpJzsKKy0tIGEgUEsgdXBkYXRlIHRo YXQgZmFpbHMgYmVjYXVzZSBib3RoIGFyZSByZWZlcmVuY2VkLCBidXQgbm90ICd0aWwgY29tbWl0 OgorQkVHSU47CisgIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgICBBTFRFUiBD T05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsKKyAgICBERUZFUlJBQkxFIElOSVRJQUxM WSBERUZFUlJFRDsKKworICBVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCB2YWxpZF9hdCA9ICdbMjAx Ni0wMS0wMSwyMDE2LTAyLTAxKScKKyAgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9 IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyk7CitDT01NSVQ7CistLSBjaGFu Z2luZyB0aGUgc2NhbGFyIHBhcnQgZmFpbHM6CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9 ICdbNyw4KScKK1dIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSAnWzIwMTgtMDEtMDEs MjAxOC0wMi0wMSknOworLS0gY2hhbmdpbmcgYW4gdW5yZWZlcmVuY2VkIHBhcnQgaXMgb2theToK K1VQREFURSB0ZW1wb3JhbF9ybmcKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgt MDEtMDInIFRPICcyMDE4LTAxLTAzJworU0VUIGlkID0gJ1s3LDgpJworV0hFUkUgaWQgPSAnWzUs NiknOworLS0gY2hhbmdpbmcganVzdCBhIHBhcnQgZmFpbHM6CitVUERBVEUgdGVtcG9yYWxfcm5n CitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTA1JyBUTyAnMjAxOC0wMS0x MCcKK1NFVCBpZCA9ICdbNyw4KScKK1dIRVJFIGlkID0gJ1s1LDYpJzsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfcm5nIFdIRVJFIGlkIGluICgnWzUsNiknLCAnWzcsOCknKSBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgaW4g KCdbMyw0KScpIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIHRoZW4gZGVsZXRlIHRoZSBvYmpl Y3RpbmcgRksgcmVjb3JkIGFuZCB0aGUgc2FtZSBQSyB1cGRhdGUgc3VjY2VlZHM6CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlkID0gJ1szLDQpJzsKK1VQREFURSB0ZW1w b3JhbF9ybmcgU0VUIHZhbGlkX2F0ID0gJ1syMDE2LTAxLTAxLDIwMTYtMDItMDEpJworV0hFUkUg aWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9ICdbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKSc7CisK Ky0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBSRVNUUklDVAorLS0KKworVFJVTkNB VEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19wZXIycm5nOworQUxURVIgVEFCTEUgdGVtcG9y YWxfZmtfcGVyMnJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19mazsK K0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9y YWxfZmtfcGVyMnJuZ19maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRf YXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nCisgIE9OIFVQREFURSBSRVNUUklDVDsKKwor LS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIE5PIEFDVElPTgorLS0KKworVFJVTkNB VEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19wZXIycm5nOworQUxURVIgVEFCTEUgdGVtcG9y YWxfZmtfcGVyMnJuZworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrCisg IEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0 ZW1wb3JhbF9ybmc7CistLSBhIFBLIGRlbGV0ZSB0aGF0IHN1Y2NlZWRzIGJlY2F1c2UgdGhlIG51 bWVyaWMgaWQgaXNuJ3QgcmVmZXJlbmNlZDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQs IHZhbGlkX2F0KSBWQUxVRVMgKCdbNSw2KScsICdbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKScpOwor REVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s1LDYpJzsKKy0tIGEgUEsgZGVs ZXRlIHRoYXQgc3VjY2VlZHMgZXZlbiB0aG91Z2ggdGhlIG51bWVyaWMgaWQgaXMgcmVmZXJlbmNl ZCBiZWNhdXNlIHRoZSByYW5nZSBpc24ndDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQs IHZhbGlkX2F0KSBWQUxVRVMKKyAgKCdbNSw2KScsICdbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKScp LAorICAoJ1s1LDYpJywgJ1syMDE4LTAyLTAxLDIwMTgtMDMtMDEpJyk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQp IFZBTFVFUyAoJ1szLDQpJywgJzIwMTgtMDEtMDUnLCAnMjAxOC0wMS0xMCcsICdbNSw2KScpOwor REVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQg PSAnWzIwMTgtMDItMDEsMjAxOC0wMy0wMSknOworLS0gYSBQSyBkZWxldGUgdGhhdCBmYWlscyBi ZWNhdXNlIGJvdGggYXJlIHJlZmVyZW5jZWQ6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hF UkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9ICdbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKSc7 CistLSBhIFBLIGRlbGV0ZSB0aGF0IGZhaWxzIGJlY2F1c2UgYm90aCBhcmUgcmVmZXJlbmNlZCwg YnV0IG5vdCAndGlsIGNvbW1pdDoKK0JFR0lOOworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19w ZXIycm5nCisgICAgQUxURVIgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrCisgICAg REVGRVJSQUJMRSBJTklUSUFMTFkgREVGRVJSRUQ7CisKKyAgREVMRVRFIEZST00gdGVtcG9yYWxf cm5nIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSBkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAxOC0wMi0wMScpOworQ09NTUlUOworLS0gZGVsZXRpbmcgYW4gdW5yZWZlcmVuY2Vk IHBhcnQgaXMgb2theToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZworRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0wMicgVE8gJzIwMTgtMDEtMDMnCitXSEVSRSBpZCA9ICdb NSw2KSc7CistLSBkZWxldGluZyBqdXN0IGEgcGFydCBmYWlsczoKK0RFTEVURSBGUk9NIHRlbXBv cmFsX3JuZworRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0wNScgVE8gJzIw MTgtMDEtMTAnCitXSEVSRSBpZCA9ICdbNSw2KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3Ju ZyBXSEVSRSBpZCBpbiAoJ1s1LDYpJywgJ1s3LDgpJykgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlkIGluICgnWzMsNCknKSBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSB0aGVuIGRlbGV0ZSB0aGUgb2JqZWN0aW5nIEZLIHJl Y29yZCBhbmQgdGhlIHNhbWUgUEsgZGVsZXRlIHN1Y2NlZWRzOgorREVMRVRFIEZST00gdGVtcG9y YWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMyw0KSc7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9y bmcgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9ICdbMjAxOC0wMS0wMSwyMDE4LTAy LTAxKSc7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBSRVNUUklDVAorLS0K KworVFJVTkNBVEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19wZXIycm5nOworQUxURVIgVEFC TEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVy MnJuZ19mazsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgQUREIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJ T0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nCisgIE9OIERFTEVURSBSRVNU UklDVDsKKworLS0KKy0tIHBlcjJybmcgdGVzdCBPTiBVUERBVEUvREVMRVRFIG9wdGlvbnMKKy0t CistLSBUT0M6CistLSByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQorLS0gcmVmZXJlbmNlZCBk ZWxldGVzIENBU0NBREUKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTAorLS0gcmVmZXJl bmNlZCBkZWxldGVzIFNFVCBOVUxMCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQK Ky0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVAorLS0gcmVmZXJlbmNlZCB1cGRhdGVz IENBU0NBREUgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURF ICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwgKHR3byBz Y2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBj b2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMsIFNF VCBOVUxMIHN1YnNldCkKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVCAodHdvIHNj YWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFy IGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29s cywgU0VUIERFRkFVTFQgc3Vic2V0KQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0 ZXMgQ0FTQ0FERQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19wZXIy cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2 LDcpJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9m a19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAo J1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknKTsKK0FMVEVS IFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtf cGVyMnJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkK KyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZworICAgIE9OIERFTEVURSBDQVNDQURFIE9OIFVQ REFURSBDQVNDQURFOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9y YWxfcm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIw LTAxLTAxJyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQg aWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK Ky0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxf cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEt MDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgn WzgsOSknLCAnWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVT ICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScpOworVVBE QVRFIHRlbXBvcmFsX3JuZyBTRVQgaWQgPSAnWzksMTApJyBXSEVSRSBpZCA9ICdbOCw5KScgQU5E IHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK KworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUKKy0tCisKK1RSVU5D QVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcGVyMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbMjAxOC0wMS0wMSwyMDIx LTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0w MScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoK K0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9y bmcgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5n IFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNy b3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2 YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdb MjAyMC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJu ZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIw MF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9ybmcgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0w MSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAn WzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVy ZW5jZWQgdXBkYXRlcyBTRVQgTlVMTAorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcm5nLCB0ZW1w b3JhbF9ma19wZXIycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQp IFZBTFVFUyAoJ1s2LDcpJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRf aWQpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYs NyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgRFJPUCBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrX3BlcjJybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3Bl cjJybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisg ICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgT04gVVBE QVRFIFNFVCBOVUxMOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9y YWxfcm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIw LTAxLTAxJyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQg aWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK Ky0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxf cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEt MDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgn WzgsOSknLCAnWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVT ICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScpOworVVBE QVRFIHRlbXBvcmFsX3JuZyBTRVQgaWQgPSAnWzksMTApJyBXSEVSRSBpZCA9ICdbOCw5KScgQU5E IHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK KworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMCistLQorCitUUlVO Q0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3BlcjJybmc7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzIwMTgtMDEtMDEsMjAy MS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6 CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxf cm5nIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnJu ZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFj cm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwg dmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJyk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAn WzIwMjAtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJy bmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwy MDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScpOworREVMRVRFIEZST00g dGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEt MDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlkID0g J1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZl cmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3JuZywg dGVtcG9yYWxfZmtfcGVyMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlk X2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgJygsKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5n IChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEp Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAg QUxURVIgQ09MVU1OIHBhcmVudF9pZCBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9ma19wZXIycm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlk X2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nCisgICAgT04gREVMRVRFIFNFVCBERUZB VUxUIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgor VVBEQVRFIHRlbXBvcmFsX3JuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAx LTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBd JyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1w b3JhbF9ybmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbMjAxOC0w MS0wMSwyMDIwLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRf YXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJl bnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAn WzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIGlkID0gJ1s5LDEwKScgV0hFUkUgaWQg PSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVG QVVMVAorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19wZXIycm5nOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0n LCAnKCwpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVT ICgnWzYsNyknLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFM VUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScpOwor LS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdI RVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVS RSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBk YXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1sy MDE4LTAxLTAxLDIwMjAtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2 YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWws IHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s4LDkp JyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9ma19wZXIycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERSAodHdvIHNj YWxhciBjb2xzKQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsyX3Bl cjJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZB TFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwg cGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEn LCAnMjAyMS0wMS0wMScsICdbNiw3KScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxf ZmsyX3BlcjJybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycm5nX2ZrLAor ICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnJuZ19maworICAgIEZPUkVJR04gS0VZ IChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNF UyB0ZW1wb3JhbF9ybmcyCisgICAgT04gREVMRVRFIENBU0NBREUgT04gVVBEQVRFIENBU0NBREU7 CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9ybmcyIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQg aWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3Jh bF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3JuZzIgU0VUIGlkMSA9ICdb Nyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3Bl cjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBG SyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIg KGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnWzIwMTgtMDEt MDEsMjAyMC0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2 YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnWzIwMjAtMDEtMDEsMjAyMS0wMS0w MSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAn MjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVt cG9yYWxfcm5nMiBTRVQgaWQxID0gJ1s5LDEwKScgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFs aWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJf cGVyMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKwor LS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29s cykKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9wZXIycm5nOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdb Niw3KScsICdbNiw3KScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfZmsyX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9p ZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEt MDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgor REVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFs X3JuZzIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3Bl cjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBG SyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIg KGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnWzIwMTgtMDEt MDEsMjAyMC0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2 YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnWzIwMjAtMDEtMDEsMjAyMS0wMS0w MSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAn MjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJP TSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5 LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUg aWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZL IHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0KKworVFJV TkNBVEUgdGVtcG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsyX3BlcjJybmc7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcp JywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJf cGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lk MikgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3 KScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJybmcKKyAgRFJPUCBD T05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1w b3JhbF9mazJfcGVyMnJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRf aWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcyCisgICAg T04gREVMRVRFIFNFVCBOVUxMIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBi b3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJF IGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJF IGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRh dGU6CitVUERBVEUgdGVtcG9yYWxfcm5nMiBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAn WzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdb MTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJl bmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0 KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdb OCw5KScsICdbOCw5KScsICdbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfZmsyX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9p ZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEt MDEtMDEnLCAnWzgsOSknLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9ybmcyIFNFVCBpZDEg PSAnWzksMTApJyBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0w MSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0g J1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZl cmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0tCisKK1RSVU5DQVRF IHRlbXBvcmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9wZXIycm5nOworSU5TRVJUIElOVE8gdGVtcG9y YWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICdb MjAxOC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJy bmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZB TFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknLCAn WzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9y YWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAy MC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsy X3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Cist LSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0g J1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAn WzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVy ZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9h dCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgn WzgsOSknLCAnWzgsOSknLCAnWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRf aWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIx LTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdI RVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRl cyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzLCBTRVQgTlVMTCBzdWJzZXQpCistLQorCitUUlVO Q0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1wb3JhbF9mazJfcGVyMnJuZzsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNykn LCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9w ZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQy KSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcp JywgJ1s2LDcpJyk7CistLSBmYWlscyBiZWNhdXNlIHlvdSBjYW4ndCBzZXQgdGhlIFBFUklPRCBj b2x1bW46CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnJuZworICBEUk9QIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmsyX3BlcjJybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr Ml9wZXIycm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBF UklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxF VEUgU0VUIE5VTEwgKHZhbGlkX2F0KSBPTiBVUERBVEUgU0VUIE5VTEw7CistLSBvazoKK0FMVEVS IFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m azJfcGVyMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJybmdfZmsK KyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0 KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAgIE9OIERFTEVURSBTRVQgTlVMTCAo cGFyZW50X2lkMSkgT04gVVBEQVRFIFNFVCBOVUxMOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lk ZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVt cG9yYWxfcm5nMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9m azJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK Ky0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxf cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICdbMjAx OC0wMS0wMSwyMDIwLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBp ZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICdbMjAyMC0wMS0wMSwyMDIx LTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJybmcgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAw XScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4g JzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBX SEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRl c3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCist LQorCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1wb3JhbF9mazJfcGVyMnJuZzsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0x XScsICdbLTEsLTFdJywgJygsKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBp ZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICdbMjAxOC0wMS0wMSwyMDIx LTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJybmcgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAw XScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsKK0FMVEVS IFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycm5nCisgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQxIFNF VCBERUZBVUxUICdbLTEsLTFdJywKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDIgU0VUIERFRkFV TFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJybmdfZmss CisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycm5nX2ZrCisgICAgRk9SRUlHTiBL RVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVO Q0VTIHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRFIFNF VCBERUZBVUxUOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxf cm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0w MS0wMScgU0VUIGlkMSA9ICdbNyw4KScsIGlkMiA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwx MDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0 ZW1wb3JhbF9ybmcyIFNFVCBpZDEgPSAnWzcsOCknLCBpZDIgPSAnWzcsOCknIFdIRVJFIGlkMSA9 ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0g J1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZl cmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRf YXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJyk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAo J1s4LDkpJywgJ1s4LDkpJywgJ1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9mazJfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50 X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAy MS0wMS0wMScsICdbOCw5KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3JuZzIgU0VUIGlk MSA9ICdbOSwxMCknLCBpZDIgPSAnWzksMTApJyBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxp ZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9w ZXIycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCist LQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIg Y29scykKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9wZXIycm5n OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMg KCdbLTEsLTFdJywgJ1stMSwtMV0nLCAnKCwpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcy IChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJ1syMDE4LTAx LTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnJuZyAoaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgn WzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScsICdbNiw3KScp OworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcy IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAx JyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJu ZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1G UE8gdXBkYXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEgPSAnWzYsNykn OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEw MF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCBy b3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxV RVMgKCdbOCw5KScsICdbOCw5KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScs ICdbOCw5KScsICdbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfZmsyX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBh cmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn LCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQx ID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBE RUZBVUxUICh0d28gc2NhbGFyIGNvbHMsIFNFVCBERUZBVUxUIHN1YnNldCkKKy0tCisKK1RSVU5D QVRFIHRlbXBvcmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9wZXIycm5nOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgJ1s2LDcp JywgJygsKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0 KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGZhaWxzIGJlY2F1c2Ug eW91IGNhbid0IHNldCB0aGUgUEVSSU9EIGNvbHVtbjoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2Zr Ml9wZXIycm5nCisgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQxIFNFVCBERUZBVUxUICdbLTEsLTFd JywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycm5nX2ZrLAorICBBREQgQ09O U1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRf aWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3Jh bF9ybmcyCisgICAgT04gREVMRVRFIFNFVCBERUZBVUxUICh2YWxpZF9hdCkgT04gVVBEQVRFIFNF VCBERUZBVUxUOworLS0gb2s6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnJuZworICBB TFRFUiBDT0xVTU4gcGFyZW50X2lkMSBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09O U1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9y YWxfZmsyX3BlcjJybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lk MiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAgIE9O IERFTEVURSBTRVQgREVGQVVMVCAocGFyZW50X2lkMSkgT04gVVBEQVRFIFNFVCBERUZBVUxUOwor LS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBX SEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBX SEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8g dXBkYXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEgPSAnWzYsNyknOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0n IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dz OgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMg KCdbOCw5KScsICdbOCw5KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdb OCw5KScsICdbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgJ1s4LDkpJywgJygs KScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9N IHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTkt MDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBp ZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0gRksgd2l0aCBhIGN1 c3RvbSByYW5nZSB0eXBlCisKK0NSRUFURSBUWVBFIG15ZGF0ZXJhbmdlIEFTIHJhbmdlKHN1YnR5 cGU9ZGF0ZSk7CisKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ybmczICgKKyAgaWQgaW50NHJhbmdl LAorICB2YWxpZF9hdCBteWRhdGVyYW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ybmczX3Br IFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitDUkVBVEUg VEFCTEUgdGVtcG9yYWxfZmszX3JuZzJybmcgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0 IG15ZGF0ZXJhbmdlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrM19ybmcycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVS TEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmszX3JuZzJybmdfZmsgRk9SRUlHTiBLRVkg KHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5n MyAoaWQsIFBFUklPRCB2YWxpZF9hdCkgT04gREVMRVRFIENBU0NBREUKKyk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ybmczIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgbXlkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2Zr M19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzUsNiknLCBteWRh dGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbOCw5KScpOworREVMRVRFIEZS T00gdGVtcG9yYWxfcm5nMyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAx JyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAnWzgsOSknOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9mazNfcm5nMnJuZyBXSEVSRSBpZCA9ICdbNSw2KSc7CisKK0RST1AgVEFCTEUgdGVtcG9y YWxfZmszX3JuZzJybmc7CitEUk9QIFRBQkxFIHRlbXBvcmFsX3JuZzM7CitEUk9QIFRZUEUgbXlk YXRlcmFuZ2U7CisKKy0tCistLSBGSyBiZXR3ZWVuIHBhcnRpdGlvbmVkIHRhYmxlczogcmFuZ2Vz CistLQorCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nICgKKyAgaWQgaW50 NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIG5hbWUgdGV4dCwKKyAgQ09OU1RSQUlO VCB0ZW1wb3JhbF9wYXJpdGlvbmVkX3JuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJ VEhPVVQgT1ZFUkxBUFMpCispIFBBUlRJVElPTiBCWSBMSVNUIChpZCk7CitDUkVBVEUgVEFCTEUg dHAxIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgRk9SIFZBTFVFUyBJTiAo J1sxLDIpJywgJ1szLDQpJywgJ1s1LDYpJywgJ1s3LDgpJywgJ1s5LDEwKScsICdbMTEsMTIpJywg J1sxMywxNCknLCAnWzE1LDE2KScsICdbMTcsMTgpJywgJ1sxOSwyMCknLCAnWzIxLDIyKScsICdb MjMsMjQpJyk7CitDUkVBVEUgVEFCTEUgdHAyIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ybmcgRk9SIFZBTFVFUyBJTiAoJ1swLDEpJywgJ1syLDMpJywgJ1s0LDUpJywgJ1s2LDcp JywgJ1s4LDkpJywgJ1sxMCwxMSknLCAnWzEyLDEzKScsICdbMTQsMTUpJywgJ1sxNiwxNyknLCAn WzE4LDE5KScsICdbMjAsMjEpJywgJ1syMiwyMyknLCAnWzI0LDI1KScpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUworICAo J1sxLDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMDAtMDItMDEnKSwgJ29uZScpLAor ICAoJ1sxLDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAyLTAxJywgJzIwMDAtMDMtMDEnKSwgJ29uZScp LAogICAoJ1syLDMpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMTAtMDEtMDEnKSwgJ3R3 bycpOwogCiBDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoCkBA IC0zMDA3LDQgKzU5OTUsMTkgQEAgU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9m a19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxNSwxNiknOwogRFJPUCBUQUJMRSB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nOwogRFJPUCBUQUJMRSB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9tbHRybmc7CiAKKy0tCistLSBGSyBiZXR3ZWVuIHBhcnRpdGlvbmVkIHRhYmxlczog UEVSSU9EcworLS0KKworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3BlciAoCisg IGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAg bmFtZSB0ZXh0LAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwp LAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3Bhcml0aW9uZWRfcm5nX3BrIFBSSU1BUlkgS0VZIChp ZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKykgUEFSVElUSU9OIEJZIExJU1QgKGlkKTsK K0NSRUFURSBUQUJMRSB0cDEgUEFSVElUSU9OIE9GIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3BlciBG T1IgVkFMVUVTIElOICgnWzEsMiknLCAnWzMsNCknLCAnWzUsNiknLCAnWzcsOCknLCAnWzksMTAp JywgJ1sxMSwxMiknLCAnWzEzLDE0KScsICdbMTUsMTYpJywgJ1sxNywxOCknLCAnWzE5LDIwKScs ICdbMjEsMjIpJywgJ1syMywyNCknKTsKK0RST1AgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRf cGVyOworCiBSRVNFVCBkYXRlc3R5bGU7CmRpZmYgLS1naXQgYS9zcmMvdG9vbHMvcGdpbmRlbnQv dHlwZWRlZnMubGlzdCBiL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CmluZGV4IDcy MmFkYThmNmFjLi5kYWE1MmM0ZDM4YiAxMDA2NDQKLS0tIGEvc3JjL3Rvb2xzL3BnaW5kZW50L3R5 cGVkZWZzLmxpc3QKKysrIGIvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QKQEAgLTg4 OCw2ICs4ODgsNyBAQCBGb3JtRGF0YV9wZ19vcGNsYXNzCiBGb3JtRGF0YV9wZ19vcGVyYXRvcgog Rm9ybURhdGFfcGdfb3BmYW1pbHkKIEZvcm1EYXRhX3BnX3BhcnRpdGlvbmVkX3RhYmxlCitGb3Jt RGF0YV9wZ19wZXJpb2QKIEZvcm1EYXRhX3BnX3BvbGljeQogRm9ybURhdGFfcGdfcHJvYwogRm9y bURhdGFfcGdfcHVibGljYXRpb24KQEAgLTIxNjQsNiArMjE2NSw4IEBAIFBlbmRpbmdVbmxpbmtF bnRyeQogUGVuZGluZ1dyaXRlCiBQZW5kaW5nV3JpdGViYWNrCiBQZXJMb2NrVGFnRW50cnkKK1Bl cmlvZERlZgorUGVyaW9kSW5mbwogUGVybEludGVycHJldGVyCiBQZXJsX3BwYWRkcl90CiBQZXJt dXRhdGlvbgotLSAKMi40Ny4zCgo= --000000000000e635b70643f70cee Content-Type: text/x-patch; charset="US-ASCII"; name="v61-0007-Look-up-additional-temporal-foreign-key-helper-p.patch" Content-Disposition: attachment; filename="v61-0007-Look-up-additional-temporal-foreign-key-helper-p.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mi6cumlu6 RnJvbSAzZTc3YjRjYmRhODg0NzNlZmYzOWIzZDEwZjk1NzNmYjM1ZGFkMTM4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IEZyaSwgMTMgSnVuIDIwMjUgMTY6MTE6NDcgLTA3MDAKU3ViamVj dDogW1BBVENIIHY2MSAwNy8xMF0gTG9vayB1cCBhZGRpdGlvbmFsIHRlbXBvcmFsIGZvcmVpZ24g a2V5IGhlbHBlciBwcm9jCgpUbyBpbXBsZW1lbnQgQ0FTQ0FERS9TRVQgTlVMTC9TRVQgREVGQVVM VCBvbiB0ZW1wb3JhbCBmb3JlaWduIGtleXMsIHdlCm5lZWQgYW4gaW50ZXJzZWN0IGZ1bmN0aW9u LiBXZSBjYW4gbG9vayB0aGVtIGl0IHdoZW4gd2UgbG9vayB1cCB0aGUgb3BlcmF0b3JzCmFscmVh ZHkgbmVlZGVkIGZvciB0ZW1wb3JhbCBmb3JlaWduIGtleXMgKGluY2x1ZGluZyBOTyBBQ1RJT04g Y29uc3RyYWludHMpLgoKQXV0aG9yOiBQYXVsIEEuIEp1bmd3aXJ0aCA8cGpAaWxsdW1pbmF0ZWRj b21wdXRpbmcuY29tPgotLS0KIHNyYy9iYWNrZW5kL2NhdGFsb2cvcGdfY29uc3RyYWludC5jIHwg MzIgKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3Rh YmxlY21kcy5jICAgIHwgIDUgKysrLS0KIHNyYy9iYWNrZW5kL3BhcnNlci9hbmFseXplLmMgICAg ICAgIHwgIDIgKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9yaV90cmlnZ2Vycy5jIHwgMTAgKysr KystLS0tCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2NvbnN0cmFpbnQuaCB8ICA5ICsrKystLS0t CiA1IGZpbGVzIGNoYW5nZWQsIDQyIGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfY29uc3RyYWludC5jIGIvc3JjL2JhY2tl bmQvY2F0YWxvZy9wZ19jb25zdHJhaW50LmMKaW5kZXggOTk0NGU0YmQyZDEuLjU2NWM5MDg0OTk0 IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX2NvbnN0cmFpbnQuYworKysgYi9z cmMvYmFja2VuZC9jYXRhbG9nL3BnX2NvbnN0cmFpbnQuYwpAQCAtMTYzNSw3ICsxNjM1LDcgQEAg RGVjb25zdHJ1Y3RGa0NvbnN0cmFpbnRSb3coSGVhcFR1cGxlIHR1cGxlLCBpbnQgKm51bWZrcywK IH0KIAogLyoKLSAqIEZpbmRGS1BlcmlvZE9wZXJzIC0KKyAqIEZpbmRGS1BlcmlvZE9wZXJzQW5k UHJvY3MgLQogICoKICAqIExvb2tzIHVwIHRoZSBvcGVyYXRvciBvaWRzIHVzZWQgZm9yIHRoZSBQ RVJJT0QgcGFydCBvZiBhIHRlbXBvcmFsIGZvcmVpZ24ga2V5LgogICogVGhlIG9wY2xhc3Mgc2hv dWxkIGJlIHRoZSBvcGNsYXNzIG9mIHRoYXQgUEVSSU9EIGVsZW1lbnQuCkBAIC0xNjQ2LDEyICsx NjQ2LDE1IEBAIERlY29uc3RydWN0RmtDb25zdHJhaW50Um93KEhlYXBUdXBsZSB0dXBsZSwgaW50 ICpudW1ma3MsCiAgKiBUaGF0IHdheSBmb3JlaWduIGtleXMgY2FuIGNvbXBhcmUgZmthdHRyIDxA IHJhbmdlX2FnZyhwa2F0dHIpLgogICogaW50ZXJzZWN0b3Blcm9pZCBpcyB1c2VkIGJ5IE5PIEFD VElPTiBjb25zdHJhaW50cyB0byB0cmltIHRoZSByYW5nZSBiZWluZyBjb25zaWRlcmVkCiAgKiB0 byBqdXN0IHdoYXQgd2FzIHVwZGF0ZWQvZGVsZXRlZC4KKyAqIGludGVyc2VjdHByb2NvaWQgaXMg dXNlZCB0byBsaW1pdCB0aGUgZWZmZWN0IG9mIENBU0NBREUvU0VUIE5VTEwvU0VUIERFRkFVTFQK KyAqIHdoZW4gdGhlIFBLIHJlY29yZCBpcyBjaGFuZ2VkIHdpdGggRk9SIFBPUlRJT04gT0YuCiAg Ki8KIHZvaWQKLUZpbmRGS1BlcmlvZE9wZXJzKE9pZCBvcGNsYXNzLAotCQkJCSAgT2lkICpjb250 YWluZWRieW9wZXJvaWQsCi0JCQkJICBPaWQgKmFnZ2VkY29udGFpbmVkYnlvcGVyb2lkLAotCQkJ CSAgT2lkICppbnRlcnNlY3RvcGVyb2lkKQorRmluZEZLUGVyaW9kT3BlcnNBbmRQcm9jcyhPaWQg b3BjbGFzcywKKwkJCQkJCSAgT2lkICpjb250YWluZWRieW9wZXJvaWQsCisJCQkJCQkgIE9pZCAq YWdnZWRjb250YWluZWRieW9wZXJvaWQsCisJCQkJCQkgIE9pZCAqaW50ZXJzZWN0b3Blcm9pZCwK KwkJCQkJCSAgT2lkICppbnRlcnNlY3Rwcm9jb2lkKQogewogCU9pZAkJCW9wZmFtaWx5ID0gSW52 YWxpZE9pZDsKIAlPaWQJCQlvcGNpbnR5cGUgPSBJbnZhbGlkT2lkOwpAQCAtMTY5Myw2ICsxNjk2 LDE3IEBAIEZpbmRGS1BlcmlvZE9wZXJzKE9pZCBvcGNsYXNzLAogCQkJCQkJCSAgIGFnZ2VkY29u dGFpbmVkYnlvcGVyb2lkLAogCQkJCQkJCSAgICZzdHJhdCk7CiAKKwkvKgorCSAqIEhhcmRjb2Rl IGludGVyc2VjdCBvcGVyYXRvcnMgZm9yIHJhbmdlcyBhbmQgbXVsdGlyYW5nZXMsIGJlY2F1c2Ug d2UKKwkgKiBkb24ndCBoYXZlIGEgYmV0dGVyIHdheSB0byBsb29rIHVwIG9wZXJhdG9ycyB0aGF0 IGFyZW4ndCB1c2VkIGluCisJICogaW5kZXhlcy4KKwkgKgorCSAqIElmIHlvdSBjaGFuZ2UgdGhp cyBjb2RlLCB5b3UgbXVzdCBjaGFuZ2UgdGhlIGNvZGUgaW4KKwkgKiB0cmFuc2Zvcm1Gb3JQb3J0 aW9uT2ZDbGF1c2UuCisJICoKKwkgKiBYWFg6IEZpbmQgYSBtb3JlIGV4dGVuc2libGUgd2F5IHRv IGxvb2sgdXAgdGhlIG9wZXJhdG9yLCBwZXJtaXR0aW5nCisJICogdXNlci1kZWZpbmVkIHR5cGVz LgorCSAqLwogCXN3aXRjaCAob3BjaW50eXBlKQogCXsKIAkJY2FzZSBBTllSQU5HRU9JRDoKQEAg LTE3MDQsNiArMTcxOCwxNCBAQCBGaW5kRktQZXJpb2RPcGVycyhPaWQgb3BjbGFzcywKIAkJZGVm YXVsdDoKIAkJCWVsb2coRVJST1IsICJ1bmV4cGVjdGVkIG9wY2ludHlwZTogJXUiLCBvcGNpbnR5 cGUpOwogCX0KKworCS8qCisJICogTG9vayB1cCB0aGUgaW50ZXJzZWN0IHByb2MuIFdlIHVzZSB0 aGlzIGluIHRlbXBvcmFsIGZvcmVpZ24ga2V5cyB3aXRoCisJICogQ0FTQ0FERS9TRVQgTlVMTC9T RVQgREVGQVVMVCB0byBidWlsZCB0aGUgRk9SIFBPUlRJT04gT0YgYm91bmRzLiBJZiB0aGlzCisJ ICogaXMgbWlzc2luZyB3ZSBkb24ndCBuZWVkIHRvIGNvbXBsYWluIGhlcmUsIGJlY2F1c2UgRk9S IFBPUlRJT04gT0Ygd2lsbAorCSAqIG5vdCBiZSBhbGxvd2VkLgorCSAqLworCSppbnRlcnNlY3Rw cm9jb2lkID0gZ2V0X29wY29kZSgqaW50ZXJzZWN0b3Blcm9pZCk7CiB9CiAKIC8qCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYyBiL3NyYy9iYWNrZW5kL2NvbW1h bmRzL3RhYmxlY21kcy5jCmluZGV4IDIzZWJhYTNmMjMwLi42MWU2M2JkOTkyNiAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMKKysrIGIvc3JjL2JhY2tlbmQvY29t bWFuZHMvdGFibGVjbWRzLmMKQEAgLTEwNTY0LDkgKzEwNTY0LDEwIEBAIEFUQWRkRm9yZWlnbktl eUNvbnN0cmFpbnQoTGlzdCAqKndxdWV1ZSwgQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLCBSZWxhdGlv biByZWwsCiAJCU9pZAkJCXBlcmlvZG9wZXJvaWQ7CiAJCU9pZAkJCWFnZ2VkcGVyaW9kb3Blcm9p ZDsKIAkJT2lkCQkJaW50ZXJzZWN0b3Blcm9pZDsKKwkJT2lkCQkJaW50ZXJzZWN0cHJvY29pZDsK IAotCQlGaW5kRktQZXJpb2RPcGVycyhvcGNsYXNzZXNbbnVtcGtzIC0gMV0sICZwZXJpb2RvcGVy b2lkLCAmYWdnZWRwZXJpb2RvcGVyb2lkLAotCQkJCQkJICAmaW50ZXJzZWN0b3Blcm9pZCk7CisJ CUZpbmRGS1BlcmlvZE9wZXJzQW5kUHJvY3Mob3BjbGFzc2VzW251bXBrcyAtIDFdLCAmcGVyaW9k b3Blcm9pZCwgJmFnZ2VkcGVyaW9kb3Blcm9pZCwKKwkJCQkJCQkJICAmaW50ZXJzZWN0b3Blcm9p ZCwgJmludGVyc2VjdHByb2NvaWQpOwogCX0KIAogCS8qIEZpcnN0LCBjcmVhdGUgdGhlIGNvbnN0 cmFpbnQgY2F0YWxvZyBlbnRyeSBpdHNlbGYuICovCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9w YXJzZXIvYW5hbHl6ZS5jIGIvc3JjL2JhY2tlbmQvcGFyc2VyL2FuYWx5emUuYwppbmRleCBhMGIx OWY1ODE3Zi4uYWZhNzMzZmYxMDUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9hbmFs eXplLmMKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL2FuYWx5emUuYwpAQCAtMTQ2MCw3ICsxNDYw LDcgQEAgdHJhbnNmb3JtRm9yUG9ydGlvbk9mQ2xhdXNlKFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAkJ LyoKIAkJICogV2hhdGV2ZXIgb3BlcmF0b3IgaXMgdXNlZCBmb3IgaW50ZXJzZWN0IGJ5IHRlbXBv cmFsIGZvcmVpZ24ga2V5cywKIAkJICogd2UgY2FuIHVzZSBpdHMgYmFja2luZyBwcm9jZWR1cmUg Zm9yIGludGVyc2VjdHMgaW4gRk9SIFBPUlRJT04gT0YuCi0JCSAqIFhYWDogU2hhcmUgY29kZSB3 aXRoIEZpbmRGS1BlcmlvZE9wZXJzPworCQkgKiBYWFg6IFNoYXJlIGNvZGUgd2l0aCBGaW5kRktQ ZXJpb2RPcGVyc0FuZFByb2NzPwogCQkgKi8KIAkJc3dpdGNoIChvcGNpbnR5cGUpCiAJCXsKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9yaV90cmlnZ2Vycy5jIGIvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L3JpX3RyaWdnZXJzLmMKaW5kZXggZDZiMWViNTdhNDguLjY5ZjdkZTI1ZTIz IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcmlfdHJpZ2dlcnMuYworKysgYi9z cmMvYmFja2VuZC91dGlscy9hZHQvcmlfdHJpZ2dlcnMuYwpAQCAtMTI5LDYgKzEyOSw3IEBAIHR5 cGVkZWYgc3RydWN0IFJJX0NvbnN0cmFpbnRJbmZvCiAJT2lkCQkJcGVyaW9kX2NvbnRhaW5lZF9i eV9vcGVyOwkvKiBhbnlyYW5nZSA8QCBhbnlyYW5nZSAqLwogCU9pZAkJCWFnZ2VkX3BlcmlvZF9j b250YWluZWRfYnlfb3BlcjsgLyogZmthdHRyIDxAIHJhbmdlX2FnZyhwa2F0dHIpICovCiAJT2lk CQkJcGVyaW9kX2ludGVyc2VjdF9vcGVyOwkvKiBhbnlyYW5nZSAqIGFueXJhbmdlIChvciBtdWx0 aXJhbmdlKSAqLworCU9pZAkJCXBlcmlvZF9pbnRlcnNlY3RfcHJvYzsJLyogYW55cmFuZ2UgKiBh bnlyYW5nZSAob3IgbXVsdGlyYW5nZSkgKi8KIAlkbGlzdF9ub2RlCXZhbGlkX2xpbms7CQkvKiBM aW5rIGluIGxpc3Qgb2YgdmFsaWQgZW50cmllcyAqLwogfSBSSV9Db25zdHJhaW50SW5mbzsKIApA QCAtMjMzNywxMCArMjMzOCwxMSBAQCByaV9Mb2FkQ29uc3RyYWludEluZm8oT2lkIGNvbnN0cmFp bnRPaWQpCiAJewogCQlPaWQJCQlvcGNsYXNzID0gZ2V0X2luZGV4X2NvbHVtbl9vcGNsYXNzKGNv bkZvcm0tPmNvbmluZGlkLCByaWluZm8tPm5rZXlzKTsKIAotCQlGaW5kRktQZXJpb2RPcGVycyhv cGNsYXNzLAotCQkJCQkJICAmcmlpbmZvLT5wZXJpb2RfY29udGFpbmVkX2J5X29wZXIsCi0JCQkJ CQkgICZyaWluZm8tPmFnZ2VkX3BlcmlvZF9jb250YWluZWRfYnlfb3BlciwKLQkJCQkJCSAgJnJp aW5mby0+cGVyaW9kX2ludGVyc2VjdF9vcGVyKTsKKwkJRmluZEZLUGVyaW9kT3BlcnNBbmRQcm9j cyhvcGNsYXNzLAorCQkJCQkJCQkgICZyaWluZm8tPnBlcmlvZF9jb250YWluZWRfYnlfb3BlciwK KwkJCQkJCQkJICAmcmlpbmZvLT5hZ2dlZF9wZXJpb2RfY29udGFpbmVkX2J5X29wZXIsCisJCQkJ CQkJCSAgJnJpaW5mby0+cGVyaW9kX2ludGVyc2VjdF9vcGVyLAorCQkJCQkJCQkgICZyaWluZm8t PnBlcmlvZF9pbnRlcnNlY3RfcHJvYyk7CiAJfQogCiAJUmVsZWFzZVN5c0NhY2hlKHR1cCk7CmRp ZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2NvbnN0cmFpbnQuaCBiL3NyYy9pbmNs dWRlL2NhdGFsb2cvcGdfY29uc3RyYWludC5oCmluZGV4IDRhZmNlYjVjNjkyLi45YjU4ZjYxOGY5 ZSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19jb25zdHJhaW50LmgKKysrIGIv c3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19jb25zdHJhaW50LmgKQEAgLTI4OCwxMCArMjg4LDExIEBA IGV4dGVybiB2b2lkIERlY29uc3RydWN0RmtDb25zdHJhaW50Um93KEhlYXBUdXBsZSB0dXBsZSwg aW50ICpudW1ma3MsCiAJCQkJCQkJCQkgICBBdHRyTnVtYmVyICpjb25rZXksIEF0dHJOdW1iZXIg KmNvbmZrZXksCiAJCQkJCQkJCQkgICBPaWQgKnBmX2VxX29wcnMsIE9pZCAqcHBfZXFfb3Bycywg T2lkICpmZl9lcV9vcHJzLAogCQkJCQkJCQkJICAgaW50ICpudW1fZmtfZGVsX3NldF9jb2xzLCBB dHRyTnVtYmVyICpma19kZWxfc2V0X2NvbHMpOwotZXh0ZXJuIHZvaWQgRmluZEZLUGVyaW9kT3Bl cnMoT2lkIG9wY2xhc3MsCi0JCQkJCQkJICBPaWQgKmNvbnRhaW5lZGJ5b3Blcm9pZCwKLQkJCQkJ CQkgIE9pZCAqYWdnZWRjb250YWluZWRieW9wZXJvaWQsCi0JCQkJCQkJICBPaWQgKmludGVyc2Vj dG9wZXJvaWQpOworZXh0ZXJuIHZvaWQgRmluZEZLUGVyaW9kT3BlcnNBbmRQcm9jcyhPaWQgb3Bj bGFzcywKKwkJCQkJCQkJCSAgT2lkICpjb250YWluZWRieW9wZXJvaWQsCisJCQkJCQkJCQkgIE9p ZCAqYWdnZWRjb250YWluZWRieW9wZXJvaWQsCisJCQkJCQkJCQkgIE9pZCAqaW50ZXJzZWN0b3Bl cm9pZCwKKwkJCQkJCQkJCSAgT2lkICppbnRlcnNlY3Rwcm9jb2lkKTsKIAogZXh0ZXJuIGJvb2wg Y2hlY2tfZnVuY3Rpb25hbF9ncm91cGluZyhPaWQgcmVsaWQsCiAJCQkJCQkJCQkgIEluZGV4IHZh cm5vLCBJbmRleCB2YXJsZXZlbHN1cCwKLS0gCjIuNDcuMwoK --000000000000e635b70643f70cee Content-Type: text/x-patch; charset="US-ASCII"; name="v61-0008-Add-CASCADE-SET-NULL-SET-DEFAULT-for-temporal-fo.patch" Content-Disposition: attachment; filename="v61-0008-Add-CASCADE-SET-NULL-SET-DEFAULT-for-temporal-fo.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mi6cumlx7 RnJvbSA1NWEzY2JhYTkwYmI5ODU1ZWJmZjA0YWNhNTQ3ZjZmMTExZTFkNzUwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IFNhdCwgMyBKdW4gMjAyMyAyMTo0MToxMSAtMDQwMApTdWJqZWN0 OiBbUEFUQ0ggdjYxIDA4LzEwXSBBZGQgQ0FTQ0FERS9TRVQgTlVMTC9TRVQgREVGQVVMVCBmb3Ig dGVtcG9yYWwKIGZvcmVpZ24ga2V5cwoKUHJldmlvdXNseSB3ZSByYWlzZWQgYW4gZXJyb3IgZm9y IHRoZXNlIG9wdGlvbnMsIGJlY2F1c2UgdGhlaXIKaW1wbGVtZW50YXRpb25zIHJlcXVpcmUgRk9S IFBPUlRJT04gT0YuIE5vdyB0aGF0IHdlIGhhdmUgdGVtcG9yYWwKVVBEQVRFL0RFTEVURSwgd2Ug Y2FuIGltcGxlbWVudCBmb3JlaWduIGtleXMgdGhhdCB1c2UgaXQuCgpBdXRob3I6IFBhdWwgQS4g SnVuZ3dpcnRoIDxwakBpbGx1bWluYXRlZGNvbXB1dGluZy5jb20+Ci0tLQogZG9jL3NyYy9zZ21s L2RkbC5zZ21sICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNiArLQogZG9jL3NyYy9zZ21s L3JlZi9jcmVhdGVfdGFibGUuc2dtbCAgICAgICAgICAgIHwgICAxNCArLQogc3JjL2JhY2tlbmQv Y29tbWFuZHMvdGFibGVjbWRzLmMgICAgICAgICAgICAgIHwgICA2NSArLQogc3JjL2JhY2tlbmQv dXRpbHMvYWR0L3JpX3RyaWdnZXJzLmMgICAgICAgICAgIHwgIDYxNyArKysrKystCiBzcmMvaW5j bHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0ICAgICAgICAgICAgICAgfCAgIDIyICsKIHNyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvYnRyZWVfaW5kZXgub3V0ICAgICB8ICAgMTggKy0KIC4uLi9yZWdy ZXNzL2V4cGVjdGVkL3dpdGhvdXRfb3ZlcmxhcHMub3V0ICAgICB8IDE1OTQgKysrKysrKysrKysr KysrKy0KIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3dpdGhvdXRfb3ZlcmxhcHMuc3FsICAgICB8ICA5 MDAgKysrKysrKysrLQogOCBmaWxlcyBjaGFuZ2VkLCAzMTg0IGluc2VydGlvbnMoKyksIDUyIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9kZGwuc2dtbCBiL2RvYy9zcmMv c2dtbC9kZGwuc2dtbAppbmRleCAwOWFkODQwMGZkMC4uYTM4N2U1ZWFlMTMgMTAwNjQ0Ci0tLSBh L2RvYy9zcmMvc2dtbC9kZGwuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvZGRsLnNnbWwKQEAgLTE4 NDgsOSArMTg0OCw5IEBAIENSRUFURSBUQUJMRSB2YXJpYW50cyAoCiAKICAgICA8cGFyYT4KICAg ICAgPHByb2R1Y3RuYW1lPlBvc3RncmVTUUw8L3Byb2R1Y3RuYW1lPiBzdXBwb3J0cyB0ZW1wb3Jh bCBmb3JlaWduIGtleXMgd2l0aAotICAgICBhY3Rpb24gPGxpdGVyYWw+Tk8gQUNUSU9OPC9saXRl cmFsPiwgYnV0IG5vdCA8bGl0ZXJhbD5SRVNUUklDVDwvbGl0ZXJhbD4sCi0gICAgIDxsaXRlcmFs PkNBU0NBREU8L2xpdGVyYWw+LCA8bGl0ZXJhbD5TRVQgTlVMTDwvbGl0ZXJhbD4sIG9yIDxsaXRl cmFsPlNFVAotICAgICBERUZBVUxUPC9saXRlcmFsPi4KKyAgICAgYWN0aW9uIDxsaXRlcmFsPk5P IEFDVElPTjwvbGl0ZXJhbD4sIDxsaXRlcmFsPkNBU0NBREU8L2xpdGVyYWw+LAorICAgICA8bGl0 ZXJhbD5TRVQgTlVMTDwvbGl0ZXJhbD4sIGFuZCA8bGl0ZXJhbD5TRVQgREVGQVVMVDwvbGl0ZXJh bD4sIGJ1dCBub3QKKyAgICAgPGxpdGVyYWw+UkVTVFJJQ1Q8L2xpdGVyYWw+LgogICAgIDwvcGFy YT4KICAgIDwvc2VjdDM+CiAgIDwvc2VjdDI+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVm L2NyZWF0ZV90YWJsZS5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdGFibGUuc2dtbApp bmRleCA2NTU3YzVjZmZkOC4uYTgxNzAxYTQ5ZjQgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9y ZWYvY3JlYXRlX3RhYmxlLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdGFibGUu c2dtbApAQCAtMTMxNSw3ICsxMzE1LDkgQEAgV0lUSCAoIE1PRFVMVVMgPHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPm51bWVyaWNfbGl0ZXJhbDwvcmVwbGFjZWFibGU+LCBSRU0KICAgICAg ICAgIDwvcGFyYT4KIAogICAgICAgICAgPHBhcmE+Ci0gICAgICAgICAgSW4gYSB0ZW1wb3JhbCBm b3JlaWduIGtleSwgdGhpcyBvcHRpb24gaXMgbm90IHN1cHBvcnRlZC4KKyAgICAgICAgICBJbiBh IHRlbXBvcmFsIGZvcmVpZ24ga2V5LCB0aGUgZGVsZXRlL3VwZGF0ZSB3aWxsIHVzZQorICAgICAg ICAgIDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9saXRlcmFsPiBzZW1hbnRpY3MgdG8gY29uc3Ry YWluIHRoZQorICAgICAgICAgIGVmZmVjdCB0byB0aGUgYm91bmRzIGJlaW5nIGRlbGV0ZWQvdXBk YXRlZCBpbiB0aGUgcmVmZXJlbmNlZCByb3cuCiAgICAgICAgICA8L3BhcmE+CiAgICAgICAgIDwv bGlzdGl0ZW0+CiAgICAgICAgPC92YXJsaXN0ZW50cnk+CkBAIC0xMzMwLDcgKzEzMzIsMTAgQEAg V0lUSCAoIE1PRFVMVVMgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm51bWVyaWNfbGl0 ZXJhbDwvcmVwbGFjZWFibGU+LCBSRU0KICAgICAgICAgIDwvcGFyYT4KIAogICAgICAgICAgPHBh cmE+Ci0gICAgICAgICAgSW4gYSB0ZW1wb3JhbCBmb3JlaWduIGtleSwgdGhpcyBvcHRpb24gaXMg bm90IHN1cHBvcnRlZC4KKyAgICAgICAgICBJbiBhIHRlbXBvcmFsIGZvcmVpZ24ga2V5LCB0aGUg Y2hhbmdlIHdpbGwgdXNlIDxsaXRlcmFsPkZPUiBQT1JUSU9OCisgICAgICAgICAgT0Y8L2xpdGVy YWw+IHNlbWFudGljcyB0byBjb25zdHJhaW4gdGhlIGVmZmVjdCB0byB0aGUgYm91bmRzIGJlaW5n CisgICAgICAgICAgZGVsZXRlZC91cGRhdGVkIGluIHRoZSByZWZlcmVuY2VkIHJvdy4gVGhlIGNv bHVtbiBtYWtlZCB3aXRoCisgICAgICAgICAgPGxpdGVyYWw+UEVSSU9EPC9saXRlcmFsPiB3aWxs IG5vdCBiZSBzZXQgdG8gbnVsbC4KICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgPC9saXN0aXRl bT4KICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KQEAgLTEzNDcsNyArMTM1MiwxMCBAQCBXSVRIICgg TU9EVUxVUyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bnVtZXJpY19saXRlcmFsPC9y ZXBsYWNlYWJsZT4sIFJFTQogICAgICAgICAgPC9wYXJhPgogCiAgICAgICAgICA8cGFyYT4KLSAg ICAgICAgICBJbiBhIHRlbXBvcmFsIGZvcmVpZ24ga2V5LCB0aGlzIG9wdGlvbiBpcyBub3Qgc3Vw cG9ydGVkLgorICAgICAgICAgIEluIGEgdGVtcG9yYWwgZm9yZWlnbiBrZXksIHRoZSBjaGFuZ2Ug d2lsbCB1c2UgPGxpdGVyYWw+Rk9SIFBPUlRJT04KKyAgICAgICAgICBPRjwvbGl0ZXJhbD4gc2Vt YW50aWNzIHRvIGNvbnN0cmFpbiB0aGUgZWZmZWN0IHRvIHRoZSBib3VuZHMgYmVpbmcKKyAgICAg ICAgICBkZWxldGVkL3VwZGF0ZWQgaW4gdGhlIHJlZmVyZW5jZWQgcm93LiBUaGUgY29sdW1uIG1h cmtlZCB3aXRoCisgICAgICAgICAgPGxpdGVyYWw+UEVSSU9EPC9saXRlcmFsPiB3aXRoIG5vdCBi ZSBzZXQgdG8gYSBkZWZhdWx0IHZhbHVlLgogICAgICAgICAgPC9wYXJhPgogICAgICAgICA8L2xp c3RpdGVtPgogICAgICAgIDwvdmFybGlzdGVudHJ5PgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv Y29tbWFuZHMvdGFibGVjbWRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYwpp bmRleCA2MWU2M2JkOTkyNi4uMjMxMjY3Yzg4Y2UgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL3RhYmxlY21kcy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5j CkBAIC01NjIsNyArNTYyLDcgQEAgc3RhdGljIE9iamVjdEFkZHJlc3MgQVRBZGRGb3JlaWduS2V5 Q29uc3RyYWludChMaXN0ICoqd3F1ZXVlLCBBbHRlcmVkVGFibGVJbmZvICoKIAkJCQkJCQkJCQkJ ICAgUmVsYXRpb24gcmVsLCBDb25zdHJhaW50ICpma2NvbnN0cmFpbnQsCiAJCQkJCQkJCQkJCSAg IGJvb2wgcmVjdXJzZSwgYm9vbCByZWN1cnNpbmcsCiAJCQkJCQkJCQkJCSAgIExPQ0tNT0RFIGxv Y2ttb2RlKTsKLXN0YXRpYyBpbnQJdmFsaWRhdGVGa09uRGVsZXRlU2V0Q29sdW1ucyhpbnQgbnVt ZmtzLCBjb25zdCBpbnQxNiAqZmthdHRudW1zLAorc3RhdGljIGludAl2YWxpZGF0ZUZrT25EZWxl dGVTZXRDb2x1bW5zKGludCBudW1ma3MsIGNvbnN0IGludDE2ICpma2F0dG51bXMsIGNvbnN0IGlu dDE2IGZrcGVyaW9kYXR0bnVtLAogCQkJCQkJCQkJCSBpbnQgbnVtZmtzZXRjb2xzLCBpbnQxNiAq ZmtzZXRjb2xzYXR0bnVtcywKIAkJCQkJCQkJCQkgTGlzdCAqZmtzZXRjb2xzKTsKIHN0YXRpYyBP YmplY3RBZGRyZXNzIGFkZEZrQ29uc3RyYWludChhZGRGa0NvbnN0cmFpbnRTaWRlcyBma3NpZGUs CkBAIC0xMDA3NCw2ICsxMDA3NCw3IEBAIEFUQWRkRm9yZWlnbktleUNvbnN0cmFpbnQoTGlzdCAq KndxdWV1ZSwgQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLCBSZWxhdGlvbiByZWwsCiAJaW50MTYJCWZr ZGVsc2V0Y29sc1tJTkRFWF9NQVhfS0VZU10gPSB7MH07CiAJYm9vbAkJd2l0aF9wZXJpb2Q7CiAJ Ym9vbAkJcGtfaGFzX3dpdGhvdXRfb3ZlcmxhcHM7CisJaW50MTYJCWZrcGVyaW9kYXR0bnVtID0g SW52YWxpZEF0dHJOdW1iZXI7CiAJaW50CQkJaTsKIAlpbnQJCQludW1ma3MsCiAJCQkJbnVtcGtz LApAQCAtMTAxNTksMTUgKzEwMTYwLDIwIEBAIEFUQWRkRm9yZWlnbktleUNvbnN0cmFpbnQoTGlz dCAqKndxdWV1ZSwgQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLCBSZWxhdGlvbiByZWwsCiAJCQkJCQkJ CQkgZmtjb25zdHJhaW50LT5ma19hdHRycywKIAkJCQkJCQkJCSBma2F0dG51bSwgZmt0eXBvaWQs IGZrY29sbG9pZCk7CiAJd2l0aF9wZXJpb2QgPSBma2NvbnN0cmFpbnQtPmZrX3dpdGhfcGVyaW9k IHx8IGZrY29uc3RyYWludC0+cGtfd2l0aF9wZXJpb2Q7Ci0JaWYgKHdpdGhfcGVyaW9kICYmICFm a2NvbnN0cmFpbnQtPmZrX3dpdGhfcGVyaW9kKQotCQllcmVwb3J0KEVSUk9SLAotCQkJCWVycmNv ZGUoRVJSQ09ERV9JTlZBTElEX0ZPUkVJR05fS0VZKSwKLQkJCQllcnJtc2coImZvcmVpZ24ga2V5 IHVzZXMgUEVSSU9EIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlIGJ1dCBub3QgdGhlIHJlZmVyZW5j aW5nIHRhYmxlIikpOworCWlmICh3aXRoX3BlcmlvZCkKKwl7CisJCWlmICghZmtjb25zdHJhaW50 LT5ma193aXRoX3BlcmlvZCkKKwkJCWVyZXBvcnQoRVJST1IsCisJCQkJCShlcnJjb2RlKEVSUkNP REVfSU5WQUxJRF9GT1JFSUdOX0tFWSksCisJCQkJCSBlcnJtc2coImZvcmVpZ24ga2V5IHVzZXMg UEVSSU9EIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlIGJ1dCBub3QgdGhlIHJlZmVyZW5jaW5nIHRh YmxlIikpKTsKKwkJZmtwZXJpb2RhdHRudW0gPSBma2F0dG51bVtudW1ma3MgLSAxXTsKKwl9CiAK IAludW1ma2RlbHNldGNvbHMgPSB0cmFuc2Zvcm1Db2x1bW5OYW1lTGlzdChSZWxhdGlvbkdldFJl bGlkKHJlbCksCiAJCQkJCQkJCQkJCSAgZmtjb25zdHJhaW50LT5ma19kZWxfc2V0X2NvbHMsCiAJ CQkJCQkJCQkJCSAgZmtkZWxzZXRjb2xzLCBOVUxMLCBOVUxMKTsKIAludW1ma2RlbHNldGNvbHMg PSB2YWxpZGF0ZUZrT25EZWxldGVTZXRDb2x1bW5zKG51bWZrcywgZmthdHRudW0sCisJCQkJCQkJ CQkJCQkgICBma3BlcmlvZGF0dG51bSwKIAkJCQkJCQkJCQkJCSAgIG51bWZrZGVsc2V0Y29scywK IAkJCQkJCQkJCQkJCSAgIGZrZGVsc2V0Y29scywKIAkJCQkJCQkJCQkJCSAgIGZrY29uc3RyYWlu dC0+ZmtfZGVsX3NldF9jb2xzKTsKQEAgLTEwMjY5LDE5ICsxMDI3NSwxMyBAQCBBVEFkZEZvcmVp Z25LZXlDb25zdHJhaW50KExpc3QgKip3cXVldWUsIEFsdGVyZWRUYWJsZUluZm8gKnRhYiwgUmVs YXRpb24gcmVsLAogCSAqLwogCWlmIChma2NvbnN0cmFpbnQtPmZrX3dpdGhfcGVyaW9kKQogCXsK LQkJaWYgKGZrY29uc3RyYWludC0+ZmtfdXBkX2FjdGlvbiA9PSBGS0NPTlNUUl9BQ1RJT05fUkVT VFJJQ1QgfHwKLQkJCWZrY29uc3RyYWludC0+ZmtfdXBkX2FjdGlvbiA9PSBGS0NPTlNUUl9BQ1RJ T05fQ0FTQ0FERSB8fAotCQkJZmtjb25zdHJhaW50LT5ma191cGRfYWN0aW9uID09IEZLQ09OU1RS X0FDVElPTl9TRVROVUxMIHx8Ci0JCQlma2NvbnN0cmFpbnQtPmZrX3VwZF9hY3Rpb24gPT0gRktD T05TVFJfQUNUSU9OX1NFVERFRkFVTFQpCisJCWlmIChma2NvbnN0cmFpbnQtPmZrX3VwZF9hY3Rp b24gPT0gRktDT05TVFJfQUNUSU9OX1JFU1RSSUNUKQogCQkJZXJlcG9ydChFUlJPUiwKIAkJCQkJ ZXJyY29kZShFUlJDT0RFX0ZFQVRVUkVfTk9UX1NVUFBPUlRFRCksCiAJCQkJCWVycm1zZygidW5z dXBwb3J0ZWQgJXMgYWN0aW9uIGZvciBmb3JlaWduIGtleSBjb25zdHJhaW50IHVzaW5nIFBFUklP RCIsCiAJCQkJCQkgICAiT04gVVBEQVRFIikpOwogCi0JCWlmIChma2NvbnN0cmFpbnQtPmZrX2Rl bF9hY3Rpb24gPT0gRktDT05TVFJfQUNUSU9OX1JFU1RSSUNUIHx8Ci0JCQlma2NvbnN0cmFpbnQt PmZrX2RlbF9hY3Rpb24gPT0gRktDT05TVFJfQUNUSU9OX0NBU0NBREUgfHwKLQkJCWZrY29uc3Ry YWludC0+ZmtfZGVsX2FjdGlvbiA9PSBGS0NPTlNUUl9BQ1RJT05fU0VUTlVMTCB8fAotCQkJZmtj b25zdHJhaW50LT5ma19kZWxfYWN0aW9uID09IEZLQ09OU1RSX0FDVElPTl9TRVRERUZBVUxUKQor CQlpZiAoZmtjb25zdHJhaW50LT5ma19kZWxfYWN0aW9uID09IEZLQ09OU1RSX0FDVElPTl9SRVNU UklDVCkKIAkJCWVyZXBvcnQoRVJST1IsCiAJCQkJCWVycmNvZGUoRVJSQ09ERV9GRUFUVVJFX05P VF9TVVBQT1JURUQpLAogCQkJCQllcnJtc2coInVuc3VwcG9ydGVkICVzIGFjdGlvbiBmb3IgZm9y ZWlnbiBrZXkgY29uc3RyYWludCB1c2luZyBQRVJJT0QiLApAQCAtMTA2MzcsNiArMTA2MzcsNyBA QCBBVEFkZEZvcmVpZ25LZXlDb25zdHJhaW50KExpc3QgKip3cXVldWUsIEFsdGVyZWRUYWJsZUlu Zm8gKnRhYiwgUmVsYXRpb24gcmVsLAogICovCiBzdGF0aWMgaW50CiB2YWxpZGF0ZUZrT25EZWxl dGVTZXRDb2x1bW5zKGludCBudW1ma3MsIGNvbnN0IGludDE2ICpma2F0dG51bXMsCisJCQkJCQkJ IGNvbnN0IGludDE2IGZrcGVyaW9kYXR0bnVtLAogCQkJCQkJCSBpbnQgbnVtZmtzZXRjb2xzLCBp bnQxNiAqZmtzZXRjb2xzYXR0bnVtcywKIAkJCQkJCQkgTGlzdCAqZmtzZXRjb2xzKQogewpAQCAt MTA2NTAsNiArMTA2NTEsMTQgQEAgdmFsaWRhdGVGa09uRGVsZXRlU2V0Q29sdW1ucyhpbnQgbnVt ZmtzLCBjb25zdCBpbnQxNiAqZmthdHRudW1zLAogCQkvKiBNYWtlIHN1cmUgaXQncyBpbiBma2F0 dG51bXNbXSAqLwogCQlmb3IgKGludCBqID0gMDsgaiA8IG51bWZrczsgaisrKQogCQl7CisJCQlp ZiAoZmtwZXJpb2RhdHRudW0gPT0gc2V0Y29sX2F0dG51bSkKKwkJCXsKKwkJCQljaGFyCSAgICpj b2wgPSBzdHJWYWwobGlzdF9udGgoZmtzZXRjb2xzLCBpKSk7CisKKwkJCQllcmVwb3J0KEVSUk9S LAorCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9JTlZBTElEX0NPTFVNTl9SRUZFUkVOQ0UpLAorCQkJ CQkJIGVycm1zZygiY29sdW1uIFwiJXNcIiByZWZlcmVuY2VkIGluIE9OIERFTEVURSBTRVQgYWN0 aW9uIGNhbm5vdCBiZSBQRVJJT0QiLCBjb2wpKSk7CisJCQl9CiAJCQlpZiAoZmthdHRudW1zW2pd ID09IHNldGNvbF9hdHRudW0pCiAJCQl7CiAJCQkJc2VlbiA9IHRydWU7CkBAIC0xMzg4OCwxNyAr MTM4OTcsMjYgQEAgY3JlYXRlRm9yZWlnbktleUFjdGlvblRyaWdnZXJzKE9pZCBteVJlbE9pZCwg T2lkIHJlZlJlbE9pZCwgQ29uc3RyYWludCAqZmtjb25zdHIKIAkJY2FzZSBGS0NPTlNUUl9BQ1RJ T05fQ0FTQ0FERToKIAkJCWZrX3RyaWdnZXItPmRlZmVycmFibGUgPSBmYWxzZTsKIAkJCWZrX3Ry aWdnZXItPmluaXRkZWZlcnJlZCA9IGZhbHNlOwotCQkJZmtfdHJpZ2dlci0+ZnVuY25hbWUgPSBT eXN0ZW1GdW5jTmFtZSgiUklfRktleV9jYXNjYWRlX2RlbCIpOworCQkJaWYgKGZrY29uc3RyYWlu dC0+Zmtfd2l0aF9wZXJpb2QpCisJCQkJZmtfdHJpZ2dlci0+ZnVuY25hbWUgPSBTeXN0ZW1GdW5j TmFtZSgiUklfRktleV9wZXJpb2RfY2FzY2FkZV9kZWwiKTsKKwkJCWVsc2UKKwkJCQlma190cmln Z2VyLT5mdW5jbmFtZSA9IFN5c3RlbUZ1bmNOYW1lKCJSSV9GS2V5X2Nhc2NhZGVfZGVsIik7CiAJ CQlicmVhazsKIAkJY2FzZSBGS0NPTlNUUl9BQ1RJT05fU0VUTlVMTDoKIAkJCWZrX3RyaWdnZXIt PmRlZmVycmFibGUgPSBmYWxzZTsKIAkJCWZrX3RyaWdnZXItPmluaXRkZWZlcnJlZCA9IGZhbHNl OwotCQkJZmtfdHJpZ2dlci0+ZnVuY25hbWUgPSBTeXN0ZW1GdW5jTmFtZSgiUklfRktleV9zZXRu dWxsX2RlbCIpOworCQkJaWYgKGZrY29uc3RyYWludC0+Zmtfd2l0aF9wZXJpb2QpCisJCQkJZmtf dHJpZ2dlci0+ZnVuY25hbWUgPSBTeXN0ZW1GdW5jTmFtZSgiUklfRktleV9wZXJpb2Rfc2V0bnVs bF9kZWwiKTsKKwkJCWVsc2UKKwkJCQlma190cmlnZ2VyLT5mdW5jbmFtZSA9IFN5c3RlbUZ1bmNO YW1lKCJSSV9GS2V5X3NldG51bGxfZGVsIik7CiAJCQlicmVhazsKIAkJY2FzZSBGS0NPTlNUUl9B Q1RJT05fU0VUREVGQVVMVDoKIAkJCWZrX3RyaWdnZXItPmRlZmVycmFibGUgPSBmYWxzZTsKIAkJ CWZrX3RyaWdnZXItPmluaXRkZWZlcnJlZCA9IGZhbHNlOwotCQkJZmtfdHJpZ2dlci0+ZnVuY25h bWUgPSBTeXN0ZW1GdW5jTmFtZSgiUklfRktleV9zZXRkZWZhdWx0X2RlbCIpOworCQkJaWYgKGZr Y29uc3RyYWludC0+Zmtfd2l0aF9wZXJpb2QpCisJCQkJZmtfdHJpZ2dlci0+ZnVuY25hbWUgPSBT eXN0ZW1GdW5jTmFtZSgiUklfRktleV9wZXJpb2Rfc2V0ZGVmYXVsdF9kZWwiKTsKKwkJCWVsc2UK KwkJCQlma190cmlnZ2VyLT5mdW5jbmFtZSA9IFN5c3RlbUZ1bmNOYW1lKCJSSV9GS2V5X3NldGRl ZmF1bHRfZGVsIik7CiAJCQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCWVsb2coRVJST1IsICJ1bnJl Y29nbml6ZWQgRksgYWN0aW9uIHR5cGU6ICVkIiwKQEAgLTEzOTQ4LDE3ICsxMzk2NiwyNiBAQCBj cmVhdGVGb3JlaWduS2V5QWN0aW9uVHJpZ2dlcnMoT2lkIG15UmVsT2lkLCBPaWQgcmVmUmVsT2lk LCBDb25zdHJhaW50ICpma2NvbnN0cgogCQljYXNlIEZLQ09OU1RSX0FDVElPTl9DQVNDQURFOgog CQkJZmtfdHJpZ2dlci0+ZGVmZXJyYWJsZSA9IGZhbHNlOwogCQkJZmtfdHJpZ2dlci0+aW5pdGRl ZmVycmVkID0gZmFsc2U7Ci0JCQlma190cmlnZ2VyLT5mdW5jbmFtZSA9IFN5c3RlbUZ1bmNOYW1l KCJSSV9GS2V5X2Nhc2NhZGVfdXBkIik7CisJCQlpZiAoZmtjb25zdHJhaW50LT5ma193aXRoX3Bl cmlvZCkKKwkJCQlma190cmlnZ2VyLT5mdW5jbmFtZSA9IFN5c3RlbUZ1bmNOYW1lKCJSSV9GS2V5 X3BlcmlvZF9jYXNjYWRlX3VwZCIpOworCQkJZWxzZQorCQkJCWZrX3RyaWdnZXItPmZ1bmNuYW1l ID0gU3lzdGVtRnVuY05hbWUoIlJJX0ZLZXlfY2FzY2FkZV91cGQiKTsKIAkJCWJyZWFrOwogCQlj YXNlIEZLQ09OU1RSX0FDVElPTl9TRVROVUxMOgogCQkJZmtfdHJpZ2dlci0+ZGVmZXJyYWJsZSA9 IGZhbHNlOwogCQkJZmtfdHJpZ2dlci0+aW5pdGRlZmVycmVkID0gZmFsc2U7Ci0JCQlma190cmln Z2VyLT5mdW5jbmFtZSA9IFN5c3RlbUZ1bmNOYW1lKCJSSV9GS2V5X3NldG51bGxfdXBkIik7CisJ CQlpZiAoZmtjb25zdHJhaW50LT5ma193aXRoX3BlcmlvZCkKKwkJCQlma190cmlnZ2VyLT5mdW5j bmFtZSA9IFN5c3RlbUZ1bmNOYW1lKCJSSV9GS2V5X3BlcmlvZF9zZXRudWxsX3VwZCIpOworCQkJ ZWxzZQorCQkJCWZrX3RyaWdnZXItPmZ1bmNuYW1lID0gU3lzdGVtRnVuY05hbWUoIlJJX0ZLZXlf c2V0bnVsbF91cGQiKTsKIAkJCWJyZWFrOwogCQljYXNlIEZLQ09OU1RSX0FDVElPTl9TRVRERUZB VUxUOgogCQkJZmtfdHJpZ2dlci0+ZGVmZXJyYWJsZSA9IGZhbHNlOwogCQkJZmtfdHJpZ2dlci0+ aW5pdGRlZmVycmVkID0gZmFsc2U7Ci0JCQlma190cmlnZ2VyLT5mdW5jbmFtZSA9IFN5c3RlbUZ1 bmNOYW1lKCJSSV9GS2V5X3NldGRlZmF1bHRfdXBkIik7CisJCQlpZiAoZmtjb25zdHJhaW50LT5m a193aXRoX3BlcmlvZCkKKwkJCQlma190cmlnZ2VyLT5mdW5jbmFtZSA9IFN5c3RlbUZ1bmNOYW1l KCJSSV9GS2V5X3BlcmlvZF9zZXRkZWZhdWx0X3VwZCIpOworCQkJZWxzZQorCQkJCWZrX3RyaWdn ZXItPmZ1bmNuYW1lID0gU3lzdGVtRnVuY05hbWUoIlJJX0ZLZXlfc2V0ZGVmYXVsdF91cGQiKTsK IAkJCWJyZWFrOwogCQlkZWZhdWx0OgogCQkJZWxvZyhFUlJPUiwgInVucmVjb2duaXplZCBGSyBh Y3Rpb24gdHlwZTogJWQiLApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3JpX3Ry aWdnZXJzLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcmlfdHJpZ2dlcnMuYwppbmRleCA2OWY3 ZGUyNWUyMy4uZTc0NDU3OTNkY2UgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9y aV90cmlnZ2Vycy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9yaV90cmlnZ2Vycy5jCkBA IC03OSw2ICs3OSwxMiBAQAogI2RlZmluZSBSSV9QTEFOX1NFVE5VTExfT05VUERBVEUJCTgKICNk ZWZpbmUgUklfUExBTl9TRVRERUZBVUxUX09OREVMRVRFCQk5CiAjZGVmaW5lIFJJX1BMQU5fU0VU REVGQVVMVF9PTlVQREFURQkJMTAKKyNkZWZpbmUgUklfUExBTl9QRVJJT0RfQ0FTQ0FERV9PTkRF TEVURQkJMTEKKyNkZWZpbmUgUklfUExBTl9QRVJJT0RfQ0FTQ0FERV9PTlVQREFURQkJMTIKKyNk ZWZpbmUgUklfUExBTl9QRVJJT0RfU0VUTlVMTF9PTlVQREFURQkJMTMKKyNkZWZpbmUgUklfUExB Tl9QRVJJT0RfU0VUTlVMTF9PTkRFTEVURQkJMTQKKyNkZWZpbmUgUklfUExBTl9QRVJJT0RfU0VU REVGQVVMVF9PTlVQREFURQkxNQorI2RlZmluZSBSSV9QTEFOX1BFUklPRF9TRVRERUZBVUxUX09O REVMRVRFCTE2CiAKICNkZWZpbmUgTUFYX1FVT1RFRF9OQU1FX0xFTiAgKE5BTUVEQVRBTEVOKjIr MykKICNkZWZpbmUgTUFYX1FVT1RFRF9SRUxfTkFNRV9MRU4gIChNQVhfUVVPVEVEX05BTUVfTEVO KjIpCkBAIC0xOTMsNiArMTk5LDcgQEAgc3RhdGljIGJvb2wgcmlfQ2hlY2tfUGtfTWF0Y2goUmVs YXRpb24gcGtfcmVsLCBSZWxhdGlvbiBma19yZWwsCiAJCQkJCQkJICBjb25zdCBSSV9Db25zdHJh aW50SW5mbyAqcmlpbmZvKTsKIHN0YXRpYyBEYXR1bSByaV9yZXN0cmljdChUcmlnZ2VyRGF0YSAq dHJpZ2RhdGEsIGJvb2wgaXNfbm9fYWN0aW9uKTsKIHN0YXRpYyBEYXR1bSByaV9zZXQoVHJpZ2dl ckRhdGEgKnRyaWdkYXRhLCBib29sIGlzX3NldF9udWxsLCBpbnQgdGdraW5kKTsKK3N0YXRpYyBE YXR1bSB0cmlfc2V0KFRyaWdnZXJEYXRhICp0cmlnZGF0YSwgYm9vbCBpc19zZXRfbnVsbCwgaW50 IHRna2luZCk7CiBzdGF0aWMgdm9pZCBxdW90ZU9uZU5hbWUoY2hhciAqYnVmZmVyLCBjb25zdCBj aGFyICpuYW1lKTsKIHN0YXRpYyB2b2lkIHF1b3RlUmVsYXRpb25OYW1lKGNoYXIgKmJ1ZmZlciwg UmVsYXRpb24gcmVsKTsKIHN0YXRpYyB2b2lkIHJpX0dlbmVyYXRlUXVhbChTdHJpbmdJbmZvIGJ1 ZiwKQEAgLTIyOSw2ICsyMzYsNyBAQCBzdGF0aWMgYm9vbCByaV9QZXJmb3JtQ2hlY2soY29uc3Qg UklfQ29uc3RyYWludEluZm8gKnJpaW5mbywKIAkJCQkJCQlSSV9RdWVyeUtleSAqcWtleSwgU1BJ UGxhblB0ciBxcGxhbiwKIAkJCQkJCQlSZWxhdGlvbiBma19yZWwsIFJlbGF0aW9uIHBrX3JlbCwK IAkJCQkJCQlUdXBsZVRhYmxlU2xvdCAqb2xkc2xvdCwgVHVwbGVUYWJsZVNsb3QgKm5ld3Nsb3Qs CisJCQkJCQkJaW50IHBlcmlvZFBhcmFtLCBEYXR1bSBwZXJpb2QsCiAJCQkJCQkJYm9vbCBpc19y ZXN0cmljdCwKIAkJCQkJCQlib29sIGRldGVjdE5ld1Jvd3MsIGludCBleHBlY3RfT0spOwogc3Rh dGljIHZvaWQgcmlfRXh0cmFjdFZhbHVlcyhSZWxhdGlvbiByZWwsIFR1cGxlVGFibGVTbG90ICpz bG90LApAQCAtMjM4LDYgKzI0NiwxMSBAQCBwZ19ub3JldHVybiBzdGF0aWMgdm9pZCByaV9SZXBv cnRWaW9sYXRpb24oY29uc3QgUklfQ29uc3RyYWludEluZm8gKnJpaW5mbywKIAkJCQkJCQkJCQkg ICBSZWxhdGlvbiBwa19yZWwsIFJlbGF0aW9uIGZrX3JlbCwKIAkJCQkJCQkJCQkgICBUdXBsZVRh YmxlU2xvdCAqdmlvbGF0b3JzbG90LCBUdXBsZURlc2MgdHVwZGVzYywKIAkJCQkJCQkJCQkgICBp bnQgcXVlcnlubywgYm9vbCBpc19yZXN0cmljdCwgYm9vbCBwYXJ0Z29uZSk7CitzdGF0aWMgYm9v bCBmcG9fdGFyZ2V0c19wa19yYW5nZShjb25zdCBGb3JQb3J0aW9uT2ZTdGF0ZSAqdGdfdGVtcG9y YWwsCisJCQkJCQkJCSBjb25zdCBSSV9Db25zdHJhaW50SW5mbyAqcmlpbmZvKTsKK3N0YXRpYyBE YXR1bSByZXN0cmljdF9lbmZvcmNlZF9yYW5nZShjb25zdCBGb3JQb3J0aW9uT2ZTdGF0ZSAqdGdf dGVtcG9yYWwsCisJCQkJCQkJCQkgY29uc3QgUklfQ29uc3RyYWludEluZm8gKnJpaW5mbywKKwkJ CQkJCQkJCSBUdXBsZVRhYmxlU2xvdCAqb2xkc2xvdCk7CiAKIAogLyoKQEAgLTQ1MSw2ICs0NjQs NyBAQCBSSV9GS2V5X2NoZWNrKFRyaWdnZXJEYXRhICp0cmlnZGF0YSkKIAlyaV9QZXJmb3JtQ2hl Y2socmlpbmZvLCAmcWtleSwgcXBsYW4sCiAJCQkJCWZrX3JlbCwgcGtfcmVsLAogCQkJCQlOVUxM LCBuZXdzbG90LAorCQkJCQktMSwgKERhdHVtKSAwLAogCQkJCQlmYWxzZSwKIAkJCQkJcGtfcmVs LT5yZF9yZWwtPnJlbGtpbmQgPT0gUkVMS0lORF9QQVJUSVRJT05FRF9UQUJMRSwKIAkJCQkJU1BJ X09LX1NFTEVDVCk7CkBAIC02MTYsNiArNjMwLDcgQEAgcmlfQ2hlY2tfUGtfTWF0Y2goUmVsYXRp b24gcGtfcmVsLCBSZWxhdGlvbiBma19yZWwsCiAJcmVzdWx0ID0gcmlfUGVyZm9ybUNoZWNrKHJp aW5mbywgJnFrZXksIHFwbGFuLAogCQkJCQkJCSBma19yZWwsIHBrX3JlbCwKIAkJCQkJCQkgb2xk c2xvdCwgTlVMTCwKKwkJCQkJCQkgLTEsIChEYXR1bSkgMCwKIAkJCQkJCQkgZmFsc2UsCiAJCQkJ CQkJIHRydWUsCS8qIHRyZWF0IGxpa2UgdXBkYXRlICovCiAJCQkJCQkJIFNQSV9PS19TRUxFQ1Qp OwpAQCAtODkyLDYgKzkwNyw3IEBAIHJpX3Jlc3RyaWN0KFRyaWdnZXJEYXRhICp0cmlnZGF0YSwg Ym9vbCBpc19ub19hY3Rpb24pCiAJcmlfUGVyZm9ybUNoZWNrKHJpaW5mbywgJnFrZXksIHFwbGFu LAogCQkJCQlma19yZWwsIHBrX3JlbCwKIAkJCQkJb2xkc2xvdCwgTlVMTCwKKwkJCQkJLTEsIChE YXR1bSkgMCwKIAkJCQkJIWlzX25vX2FjdGlvbiwKIAkJCQkJdHJ1ZSwJCS8qIG11c3QgZGV0ZWN0 IG5ldyByb3dzICovCiAJCQkJCVNQSV9PS19TRUxFQ1QpOwpAQCAtOTk0LDYgKzEwMTAsNyBAQCBS SV9GS2V5X2Nhc2NhZGVfZGVsKFBHX0ZVTkNUSU9OX0FSR1MpCiAJcmlfUGVyZm9ybUNoZWNrKHJp aW5mbywgJnFrZXksIHFwbGFuLAogCQkJCQlma19yZWwsIHBrX3JlbCwKIAkJCQkJb2xkc2xvdCwg TlVMTCwKKwkJCQkJLTEsIChEYXR1bSkgMCwKIAkJCQkJZmFsc2UsCiAJCQkJCXRydWUsCQkvKiBt dXN0IGRldGVjdCBuZXcgcm93cyAqLwogCQkJCQlTUElfT0tfREVMRVRFKTsKQEAgLTExMTEsNiAr MTEyOCw3IEBAIFJJX0ZLZXlfY2FzY2FkZV91cGQoUEdfRlVOQ1RJT05fQVJHUykKIAlyaV9QZXJm b3JtQ2hlY2socmlpbmZvLCAmcWtleSwgcXBsYW4sCiAJCQkJCWZrX3JlbCwgcGtfcmVsLAogCQkJ CQlvbGRzbG90LCBuZXdzbG90LAorCQkJCQktMSwgKERhdHVtKSAwLAogCQkJCQlmYWxzZSwKIAkJ CQkJdHJ1ZSwJCS8qIG11c3QgZGV0ZWN0IG5ldyByb3dzICovCiAJCQkJCVNQSV9PS19VUERBVEUp OwpAQCAtMTMzOSw2ICsxMzU3LDcgQEAgcmlfc2V0KFRyaWdnZXJEYXRhICp0cmlnZGF0YSwgYm9v bCBpc19zZXRfbnVsbCwgaW50IHRna2luZCkKIAlyaV9QZXJmb3JtQ2hlY2socmlpbmZvLCAmcWtl eSwgcXBsYW4sCiAJCQkJCWZrX3JlbCwgcGtfcmVsLAogCQkJCQlvbGRzbG90LCBOVUxMLAorCQkJ CQktMSwgKERhdHVtKSAwLAogCQkJCQlmYWxzZSwKIAkJCQkJdHJ1ZSwJCS8qIG11c3QgZGV0ZWN0 IG5ldyByb3dzICovCiAJCQkJCVNQSV9PS19VUERBVEUpOwpAQCAtMTM3MCw2ICsxMzg5LDU0MCBA QCByaV9zZXQoVHJpZ2dlckRhdGEgKnRyaWdkYXRhLCBib29sIGlzX3NldF9udWxsLCBpbnQgdGdr aW5kKQogfQogCiAKKy8qCisgKiBSSV9GS2V5X3BlcmlvZF9jYXNjYWRlX2RlbCAtCisgKgorICog Q2FzY2FkZWQgZGVsZXRlIGZvcmVpZ24ga2V5IHJlZmVyZW5jZXMgYXQgZGVsZXRlIGV2ZW50IG9u IHRlbXBvcmFsIFBLIHRhYmxlLgorICovCitEYXR1bQorUklfRktleV9wZXJpb2RfY2FzY2FkZV9k ZWwoUEdfRlVOQ1RJT05fQVJHUykKK3sKKwlUcmlnZ2VyRGF0YSAqdHJpZ2RhdGEgPSAoVHJpZ2dl ckRhdGEgKikgZmNpbmZvLT5jb250ZXh0OworCWNvbnN0IFJJX0NvbnN0cmFpbnRJbmZvICpyaWlu Zm87CisJUmVsYXRpb24JZmtfcmVsOworCVJlbGF0aW9uCXBrX3JlbDsKKwlUdXBsZVRhYmxlU2xv dCAqb2xkc2xvdDsKKwlSSV9RdWVyeUtleSBxa2V5OworCVNQSVBsYW5QdHIJcXBsYW47CisJRGF0 dW0JCXRhcmdldFJhbmdlOworCisJLyogQ2hlY2sgdGhhdCB0aGlzIGlzIGEgdmFsaWQgdHJpZ2dl ciBjYWxsIG9uIHRoZSByaWdodCB0aW1lIGFuZCBldmVudC4gKi8KKwlyaV9DaGVja1RyaWdnZXIo ZmNpbmZvLCAiUklfRktleV9wZXJpb2RfY2FzY2FkZV9kZWwiLCBSSV9UUklHVFlQRV9ERUxFVEUp OworCisJcmlpbmZvID0gcmlfRmV0Y2hDb25zdHJhaW50SW5mbyh0cmlnZGF0YS0+dGdfdHJpZ2dl ciwKKwkJCQkJCQkJCXRyaWdkYXRhLT50Z19yZWxhdGlvbiwgdHJ1ZSk7CisKKwkvKgorCSAqIEdl dCB0aGUgcmVsYXRpb24gZGVzY3JpcHRvcnMgb2YgdGhlIEZLIGFuZCBQSyB0YWJsZXMgYW5kIHRo ZSBvbGQgdHVwbGUuCisJICoKKwkgKiBma19yZWwgaXMgb3BlbmVkIGluIFJvd0V4Y2x1c2l2ZUxv Y2sgbW9kZSBzaW5jZSB0aGF0J3Mgd2hhdCBvdXIKKwkgKiBldmVudHVhbCBERUxFVEUgd2lsbCBn ZXQgb24gaXQuCisJICovCisJZmtfcmVsID0gdGFibGVfb3BlbihyaWluZm8tPmZrX3JlbGlkLCBS b3dFeGNsdXNpdmVMb2NrKTsKKwlwa19yZWwgPSB0cmlnZGF0YS0+dGdfcmVsYXRpb247CisJb2xk c2xvdCA9IHRyaWdkYXRhLT50Z190cmlnc2xvdDsKKworCS8qCisJICogRG9uJ3QgZGVsZXRlIHRo YW4gbW9yZSB0aGFuIHRoZSBQSydzIGR1cmF0aW9uLCB0cmltbWVkIGJ5IGFuIG9yaWdpbmFsCisJ ICogRk9SIFBPUlRJT04gT0YgaWYgbmVjZXNzYXJ5LgorCSAqLworCXRhcmdldFJhbmdlID0gcmVz dHJpY3RfZW5mb3JjZWRfcmFuZ2UodHJpZ2RhdGEtPnRnX3RlbXBvcmFsLCByaWluZm8sIG9sZHNs b3QpOworCisJaWYgKFNQSV9jb25uZWN0KCkgIT0gU1BJX09LX0NPTk5FQ1QpCisJCWVsb2coRVJS T1IsICJTUElfY29ubmVjdCBmYWlsZWQiKTsKKworCS8qIEZldGNoIG9yIHByZXBhcmUgYSBzYXZl ZCBwbGFuIGZvciB0aGUgY2FzY2FkZWQgZGVsZXRlICovCisJcmlfQnVpbGRRdWVyeUtleSgmcWtl eSwgcmlpbmZvLCBSSV9QTEFOX1BFUklPRF9DQVNDQURFX09OREVMRVRFKTsKKworCWlmICgocXBs YW4gPSByaV9GZXRjaFByZXBhcmVkUGxhbigmcWtleSkpID09IE5VTEwpCisJeworCQlTdHJpbmdJ bmZvRGF0YSBxdWVyeWJ1ZjsKKwkJY2hhcgkJZmtyZWxuYW1lW01BWF9RVU9URURfUkVMX05BTUVf TEVOXTsKKwkJY2hhcgkJYXR0bmFtZVtNQVhfUVVPVEVEX05BTUVfTEVOXTsKKwkJY2hhcgkJcGFy YW1uYW1lWzE2XTsKKwkJY29uc3QgY2hhciAqcXVlcnlzZXA7CisJCU9pZAkJCXF1ZXJ5b2lkc1tS SV9NQVhfTlVNS0VZUyArIDFdOworCQljb25zdCBjaGFyICpma19vbmx5OworCisJCS8qIC0tLS0t LS0tLS0KKwkJICogVGhlIHF1ZXJ5IHN0cmluZyBidWlsdCBpcworCQkgKiAgREVMRVRFIEZST00g W09OTFldIDxma3RhYmxlPgorCQkgKiAgRk9SIFBPUlRJT04gT0YgJGZrYXR0ICgke24rMX0pCisJ CSAqICBXSEVSRSAkMSA9IGZrYXR0MSBbQU5EIC4uLl0KKwkJICogVGhlIHR5cGUgaWQncyBmb3Ig dGhlICQgcGFyYW1ldGVycyBhcmUgdGhvc2Ugb2YgdGhlCisJCSAqIGNvcnJlc3BvbmRpbmcgUEsg YXR0cmlidXRlcy4KKwkJICogLS0tLS0tLS0tLQorCQkgKi8KKwkJaW5pdFN0cmluZ0luZm8oJnF1 ZXJ5YnVmKTsKKwkJZmtfb25seSA9IGZrX3JlbC0+cmRfcmVsLT5yZWxraW5kID09IFJFTEtJTkRf UEFSVElUSU9ORURfVEFCTEUgPworCQkJIiIgOiAiT05MWSAiOworCQlxdW90ZVJlbGF0aW9uTmFt ZShma3JlbG5hbWUsIGZrX3JlbCk7CisJCXF1b3RlT25lTmFtZShhdHRuYW1lLCBSSUF0dE5hbWUo ZmtfcmVsLCByaWluZm8tPmZrX2F0dG51bXNbcmlpbmZvLT5ua2V5cyAtIDFdKSk7CisKKwkJYXBw ZW5kU3RyaW5nSW5mbygmcXVlcnlidWYsICJERUxFVEUgRlJPTSAlcyVzIEZPUiBQT1JUSU9OIE9G ICVzICgkJWQpIiwKKwkJCQkJCSBma19vbmx5LCBma3JlbG5hbWUsIGF0dG5hbWUsIHJpaW5mby0+ bmtleXMgKyAxKTsKKwkJcXVlcnlzZXAgPSAiV0hFUkUiOworCQlmb3IgKGludCBpID0gMDsgaSA8 IHJpaW5mby0+bmtleXM7IGkrKykKKwkJeworCQkJT2lkCQkJcGtfdHlwZSA9IFJJQXR0VHlwZShw a19yZWwsIHJpaW5mby0+cGtfYXR0bnVtc1tpXSk7CisJCQlPaWQJCQlwa19jb2xsID0gUklBdHRD b2xsYXRpb24ocGtfcmVsLCByaWluZm8tPnBrX2F0dG51bXNbaV0pOworCQkJT2lkCQkJZmtfdHlw ZSA9IFJJQXR0VHlwZShma19yZWwsIHJpaW5mby0+ZmtfYXR0bnVtc1tpXSk7CisJCQlPaWQJCQlm a19jb2xsID0gUklBdHRDb2xsYXRpb24oZmtfcmVsLCByaWluZm8tPmZrX2F0dG51bXNbaV0pOwor CisJCQlxdW90ZU9uZU5hbWUoYXR0bmFtZSwKKwkJCQkJCSBSSUF0dE5hbWUoZmtfcmVsLCByaWlu Zm8tPmZrX2F0dG51bXNbaV0pKTsKKwkJCXNwcmludGYocGFyYW1uYW1lLCAiJCVkIiwgaSArIDEp OworCQkJcmlfR2VuZXJhdGVRdWFsKCZxdWVyeWJ1ZiwgcXVlcnlzZXAsCisJCQkJCQkJcGFyYW1u YW1lLCBwa190eXBlLAorCQkJCQkJCXJpaW5mby0+cGZfZXFfb3Byc1tpXSwKKwkJCQkJCQlhdHRu YW1lLCBma190eXBlKTsKKwkJCWlmIChwa19jb2xsICE9IGZrX2NvbGwgJiYgIWdldF9jb2xsYXRp b25faXNkZXRlcm1pbmlzdGljKHBrX2NvbGwpKQorCQkJCXJpX0dlbmVyYXRlUXVhbENvbGxhdGlv bigmcXVlcnlidWYsIHBrX2NvbGwpOworCQkJcXVlcnlzZXAgPSAiQU5EIjsKKwkJCXF1ZXJ5b2lk c1tpXSA9IHBrX3R5cGU7CisJCX0KKworCQkvKiBTZXQgYSBwYXJhbSBmb3IgRk9SIFBPUlRJT04g T0YgVE8vRlJPTSAqLworCQlxdWVyeW9pZHNbcmlpbmZvLT5ua2V5c10gPSBSSUF0dFR5cGUocGtf cmVsLCByaWluZm8tPnBrX2F0dG51bXNbcmlpbmZvLT5ua2V5cyAtIDFdKTsKKworCQkvKiBQcmVw YXJlIGFuZCBzYXZlIHRoZSBwbGFuICovCisJCXFwbGFuID0gcmlfUGxhbkNoZWNrKHF1ZXJ5YnVm LmRhdGEsIHJpaW5mby0+bmtleXMgKyAxLCBxdWVyeW9pZHMsCisJCQkJCQkJICZxa2V5LCBma19y ZWwsIHBrX3JlbCk7CisJfQorCisJLyoKKwkgKiBXZSBoYXZlIGEgcGxhbiBub3cuIEJ1aWxkIHVw IHRoZSBhcmd1bWVudHMgZnJvbSB0aGUga2V5IHZhbHVlcyBpbiB0aGUKKwkgKiBkZWxldGVkIFBL IHR1cGxlIGFuZCBkZWxldGUgdGhlIHJlZmVyZW5jaW5nIHJvd3MKKwkgKi8KKwlyaV9QZXJmb3Jt Q2hlY2socmlpbmZvLCAmcWtleSwgcXBsYW4sCisJCQkJCWZrX3JlbCwgcGtfcmVsLAorCQkJCQlv bGRzbG90LCBOVUxMLAorCQkJCQlyaWluZm8tPm5rZXlzICsgMSwgdGFyZ2V0UmFuZ2UsCisJCQkJ CWZhbHNlLAorCQkJCQl0cnVlLAkJLyogbXVzdCBkZXRlY3QgbmV3IHJvd3MgKi8KKwkJCQkJU1BJ X09LX0RFTEVURSk7CisKKwlpZiAoU1BJX2ZpbmlzaCgpICE9IFNQSV9PS19GSU5JU0gpCisJCWVs b2coRVJST1IsICJTUElfZmluaXNoIGZhaWxlZCIpOworCisJdGFibGVfY2xvc2UoZmtfcmVsLCBS b3dFeGNsdXNpdmVMb2NrKTsKKworCXJldHVybiBQb2ludGVyR2V0RGF0dW0oTlVMTCk7Cit9CisK Ky8qCisgKiBSSV9GS2V5X3BlcmlvZF9jYXNjYWRlX3VwZCAtCisgKgorICogQ2FzY2FkZWQgdXBk YXRlIGZvcmVpZ24ga2V5IHJlZmVyZW5jZXMgYXQgdXBkYXRlIGV2ZW50IG9uIHRlbXBvcmFsIFBL IHRhYmxlLgorICovCitEYXR1bQorUklfRktleV9wZXJpb2RfY2FzY2FkZV91cGQoUEdfRlVOQ1RJ T05fQVJHUykKK3sKKwlUcmlnZ2VyRGF0YSAqdHJpZ2RhdGEgPSAoVHJpZ2dlckRhdGEgKikgZmNp bmZvLT5jb250ZXh0OworCWNvbnN0IFJJX0NvbnN0cmFpbnRJbmZvICpyaWluZm87CisJUmVsYXRp b24JZmtfcmVsOworCVJlbGF0aW9uCXBrX3JlbDsKKwlUdXBsZVRhYmxlU2xvdCAqb2xkc2xvdDsK KwlUdXBsZVRhYmxlU2xvdCAqbmV3c2xvdDsKKwlSSV9RdWVyeUtleSBxa2V5OworCVNQSVBsYW5Q dHIJcXBsYW47CisJRGF0dW0JCXRhcmdldFJhbmdlOworCisJLyogQ2hlY2sgdGhhdCB0aGlzIGlz IGEgdmFsaWQgdHJpZ2dlciBjYWxsIG9uIHRoZSByaWdodCB0aW1lIGFuZCBldmVudC4gKi8KKwly aV9DaGVja1RyaWdnZXIoZmNpbmZvLCAiUklfRktleV9wZXJpb2RfY2FzY2FkZV91cGQiLCBSSV9U UklHVFlQRV9VUERBVEUpOworCisJcmlpbmZvID0gcmlfRmV0Y2hDb25zdHJhaW50SW5mbyh0cmln ZGF0YS0+dGdfdHJpZ2dlciwKKwkJCQkJCQkJCXRyaWdkYXRhLT50Z19yZWxhdGlvbiwgdHJ1ZSk7 CisKKwkvKgorCSAqIEdldCB0aGUgcmVsYXRpb24gZGVzY3JpcHRvcnMgb2YgdGhlIEZLIGFuZCBQ SyB0YWJsZXMgYW5kIHRoZSBuZXcgYW5kCisJICogb2xkIHR1cGxlLgorCSAqCisJICogZmtfcmVs IGlzIG9wZW5lZCBpbiBSb3dFeGNsdXNpdmVMb2NrIG1vZGUgc2luY2UgdGhhdCdzIHdoYXQgb3Vy CisJICogZXZlbnR1YWwgVVBEQVRFIHdpbGwgZ2V0IG9uIGl0LgorCSAqLworCWZrX3JlbCA9IHRh YmxlX29wZW4ocmlpbmZvLT5ma19yZWxpZCwgUm93RXhjbHVzaXZlTG9jayk7CisJcGtfcmVsID0g dHJpZ2RhdGEtPnRnX3JlbGF0aW9uOworCW5ld3Nsb3QgPSB0cmlnZGF0YS0+dGdfbmV3c2xvdDsK KwlvbGRzbG90ID0gdHJpZ2RhdGEtPnRnX3RyaWdzbG90OworCisJLyoKKwkgKiBEb24ndCBkZWxl dGUgdGhhbiBtb3JlIHRoYW4gdGhlIFBLJ3MgZHVyYXRpb24sIHRyaW1tZWQgYnkgYW4gb3JpZ2lu YWwKKwkgKiBGT1IgUE9SVElPTiBPRiBpZiBuZWNlc3NhcnkuCisJICovCisJdGFyZ2V0UmFuZ2Ug PSByZXN0cmljdF9lbmZvcmNlZF9yYW5nZSh0cmlnZGF0YS0+dGdfdGVtcG9yYWwsIHJpaW5mbywg b2xkc2xvdCk7CisKKwlpZiAoU1BJX2Nvbm5lY3QoKSAhPSBTUElfT0tfQ09OTkVDVCkKKwkJZWxv ZyhFUlJPUiwgIlNQSV9jb25uZWN0IGZhaWxlZCIpOworCisJLyogRmV0Y2ggb3IgcHJlcGFyZSBh IHNhdmVkIHBsYW4gZm9yIHRoZSBjYXNjYWRlZCB1cGRhdGUgKi8KKwlyaV9CdWlsZFF1ZXJ5S2V5 KCZxa2V5LCByaWluZm8sIFJJX1BMQU5fUEVSSU9EX0NBU0NBREVfT05VUERBVEUpOworCisJaWYg KChxcGxhbiA9IHJpX0ZldGNoUHJlcGFyZWRQbGFuKCZxa2V5KSkgPT0gTlVMTCkKKwl7CisJCVN0 cmluZ0luZm9EYXRhIHF1ZXJ5YnVmOworCQlTdHJpbmdJbmZvRGF0YSBxdWFsYnVmOworCQljaGFy CQlma3JlbG5hbWVbTUFYX1FVT1RFRF9SRUxfTkFNRV9MRU5dOworCQljaGFyCQlhdHRuYW1lW01B WF9RVU9URURfTkFNRV9MRU5dOworCQljaGFyCQlwYXJhbW5hbWVbMTZdOworCQljb25zdCBjaGFy ICpxdWVyeXNlcDsKKwkJY29uc3QgY2hhciAqcXVhbHNlcDsKKwkJT2lkCQkJcXVlcnlvaWRzWzIg KiBSSV9NQVhfTlVNS0VZUyArIDFdOworCQljb25zdCBjaGFyICpma19vbmx5OworCisJCS8qIC0t LS0tLS0tLS0KKwkJICogVGhlIHF1ZXJ5IHN0cmluZyBidWlsdCBpcworCQkgKiAgVVBEQVRFIFtP TkxZXSA8Zmt0YWJsZT4KKwkJICoJCSAgRk9SIFBPUlRJT04gT0YgJGZrYXR0ICgkezJuKzF9KQor CQkgKgkJICBTRVQgZmthdHQxID0gJDEsIFssIC4uLl0KKwkJICoJCSAgV0hFUkUgJG4gPSBma2F0 dDEgW0FORCAuLi5dCisJCSAqIFRoZSB0eXBlIGlkJ3MgZm9yIHRoZSAkIHBhcmFtZXRlcnMgYXJl IHRob3NlIG9mIHRoZQorCQkgKiBjb3JyZXNwb25kaW5nIFBLIGF0dHJpYnV0ZXMuICBOb3RlIHRo YXQgd2UgYXJlIGFzc3VtaW5nCisJCSAqIHRoZXJlIGlzIGFuIGFzc2lnbm1lbnQgY2FzdCBmcm9t IHRoZSBQSyB0byB0aGUgRksgdHlwZTsKKwkJICogZWxzZSB0aGUgcGFyc2VyIHdpbGwgZmFpbC4K KwkJICogLS0tLS0tLS0tLQorCQkgKi8KKwkJaW5pdFN0cmluZ0luZm8oJnF1ZXJ5YnVmKTsKKwkJ aW5pdFN0cmluZ0luZm8oJnF1YWxidWYpOworCQlma19vbmx5ID0gZmtfcmVsLT5yZF9yZWwtPnJl bGtpbmQgPT0gUkVMS0lORF9QQVJUSVRJT05FRF9UQUJMRSA/CisJCQkiIiA6ICJPTkxZICI7CisJ CXF1b3RlUmVsYXRpb25OYW1lKGZrcmVsbmFtZSwgZmtfcmVsKTsKKwkJcXVvdGVPbmVOYW1lKGF0 dG5hbWUsIFJJQXR0TmFtZShma19yZWwsIHJpaW5mby0+ZmtfYXR0bnVtc1tyaWluZm8tPm5rZXlz IC0gMV0pKTsKKworCQlhcHBlbmRTdHJpbmdJbmZvKCZxdWVyeWJ1ZiwgIlVQREFURSAlcyVzIEZP UiBQT1JUSU9OIE9GICVzICgkJWQpIFNFVCIsCisJCQkJCQkgZmtfb25seSwgZmtyZWxuYW1lLCBh dHRuYW1lLCAyICogcmlpbmZvLT5ua2V5cyArIDEpOworCisJCXF1ZXJ5c2VwID0gIiI7CisJCXF1 YWxzZXAgPSAiV0hFUkUiOworCQlmb3IgKGludCBpID0gMCwgaiA9IHJpaW5mby0+bmtleXM7IGkg PCByaWluZm8tPm5rZXlzOyBpKyssIGorKykKKwkJeworCQkJT2lkCQkJcGtfdHlwZSA9IFJJQXR0 VHlwZShwa19yZWwsIHJpaW5mby0+cGtfYXR0bnVtc1tpXSk7CisJCQlPaWQJCQlwa19jb2xsID0g UklBdHRDb2xsYXRpb24ocGtfcmVsLCByaWluZm8tPnBrX2F0dG51bXNbaV0pOworCQkJT2lkCQkJ ZmtfdHlwZSA9IFJJQXR0VHlwZShma19yZWwsIHJpaW5mby0+ZmtfYXR0bnVtc1tpXSk7CisJCQlP aWQJCQlma19jb2xsID0gUklBdHRDb2xsYXRpb24oZmtfcmVsLCByaWluZm8tPmZrX2F0dG51bXNb aV0pOworCisJCQlxdW90ZU9uZU5hbWUoYXR0bmFtZSwKKwkJCQkJCSBSSUF0dE5hbWUoZmtfcmVs LCByaWluZm8tPmZrX2F0dG51bXNbaV0pKTsKKworCQkJLyoKKwkJCSAqIERvbid0IHNldCB0aGUg dGVtcG9yYWwgY29sdW1uKHMpLiBGT1IgUE9SVElPTiBPRiB3aWxsIHRha2UgY2FyZQorCQkJICog b2YgdGhhdC4KKwkJCSAqLworCQkJaWYgKGkgPCByaWluZm8tPm5rZXlzIC0gMSkKKwkJCQlhcHBl bmRTdHJpbmdJbmZvKCZxdWVyeWJ1ZiwKKwkJCQkJCQkJICIlcyAlcyA9ICQlZCIsCisJCQkJCQkJ CSBxdWVyeXNlcCwgYXR0bmFtZSwgaSArIDEpOworCisJCQlzcHJpbnRmKHBhcmFtbmFtZSwgIiQl ZCIsIGogKyAxKTsKKwkJCXJpX0dlbmVyYXRlUXVhbCgmcXVhbGJ1ZiwgcXVhbHNlcCwKKwkJCQkJ CQlwYXJhbW5hbWUsIHBrX3R5cGUsCisJCQkJCQkJcmlpbmZvLT5wZl9lcV9vcHJzW2ldLAorCQkJ CQkJCWF0dG5hbWUsIGZrX3R5cGUpOworCQkJaWYgKHBrX2NvbGwgIT0gZmtfY29sbCAmJiAhZ2V0 X2NvbGxhdGlvbl9pc2RldGVybWluaXN0aWMocGtfY29sbCkpCisJCQkJcmlfR2VuZXJhdGVRdWFs Q29sbGF0aW9uKCZxdWVyeWJ1ZiwgcGtfY29sbCk7CisJCQlxdWVyeXNlcCA9ICIsIjsKKwkJCXF1 YWxzZXAgPSAiQU5EIjsKKwkJCXF1ZXJ5b2lkc1tpXSA9IHBrX3R5cGU7CisJCQlxdWVyeW9pZHNb al0gPSBwa190eXBlOworCQl9CisJCWFwcGVuZEJpbmFyeVN0cmluZ0luZm8oJnF1ZXJ5YnVmLCBx dWFsYnVmLmRhdGEsIHF1YWxidWYubGVuKTsKKworCQkvKiBTZXQgYSBwYXJhbSBmb3IgRk9SIFBP UlRJT04gT0YgVE8vRlJPTSAqLworCQlxdWVyeW9pZHNbMiAqIHJpaW5mby0+bmtleXNdID0gUklB dHRUeXBlKHBrX3JlbCwgcmlpbmZvLT5wa19hdHRudW1zW3JpaW5mby0+bmtleXMgLSAxXSk7CisK KwkJLyogUHJlcGFyZSBhbmQgc2F2ZSB0aGUgcGxhbiAqLworCQlxcGxhbiA9IHJpX1BsYW5DaGVj ayhxdWVyeWJ1Zi5kYXRhLCAyICogcmlpbmZvLT5ua2V5cyArIDEsIHF1ZXJ5b2lkcywKKwkJCQkJ CQkgJnFrZXksIGZrX3JlbCwgcGtfcmVsKTsKKwl9CisKKwkvKgorCSAqIFdlIGhhdmUgYSBwbGFu IG5vdy4gUnVuIGl0IHRvIHVwZGF0ZSB0aGUgZXhpc3RpbmcgcmVmZXJlbmNlcy4KKwkgKi8KKwly aV9QZXJmb3JtQ2hlY2socmlpbmZvLCAmcWtleSwgcXBsYW4sCisJCQkJCWZrX3JlbCwgcGtfcmVs LAorCQkJCQlvbGRzbG90LCBuZXdzbG90LAorCQkJCQlyaWluZm8tPm5rZXlzICogMiArIDEsIHRh cmdldFJhbmdlLAorCQkJCQlmYWxzZSwKKwkJCQkJdHJ1ZSwJCS8qIG11c3QgZGV0ZWN0IG5ldyBy b3dzICovCisJCQkJCVNQSV9PS19VUERBVEUpOworCisJaWYgKFNQSV9maW5pc2goKSAhPSBTUElf T0tfRklOSVNIKQorCQllbG9nKEVSUk9SLCAiU1BJX2ZpbmlzaCBmYWlsZWQiKTsKKworCXRhYmxl X2Nsb3NlKGZrX3JlbCwgUm93RXhjbHVzaXZlTG9jayk7CisKKwlyZXR1cm4gUG9pbnRlckdldERh dHVtKE5VTEwpOworfQorCisvKgorICogUklfRktleV9wZXJpb2Rfc2V0bnVsbF9kZWwgLQorICoK KyAqIFNldCBmb3JlaWduIGtleSByZWZlcmVuY2VzIHRvIE5VTEwgdmFsdWVzIGF0IGRlbGV0ZSBl dmVudCBvbiBQSyB0YWJsZS4KKyAqLworRGF0dW0KK1JJX0ZLZXlfcGVyaW9kX3NldG51bGxfZGVs KFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJLyogQ2hlY2sgdGhhdCB0aGlzIGlzIGEgdmFsaWQgdHJp Z2dlciBjYWxsIG9uIHRoZSByaWdodCB0aW1lIGFuZCBldmVudC4gKi8KKwlyaV9DaGVja1RyaWdn ZXIoZmNpbmZvLCAiUklfRktleV9wZXJpb2Rfc2V0bnVsbF9kZWwiLCBSSV9UUklHVFlQRV9ERUxF VEUpOworCisJLyogU2hhcmUgY29kZSB3aXRoIFVQREFURSBjYXNlICovCisJcmV0dXJuIHRyaV9z ZXQoKFRyaWdnZXJEYXRhICopIGZjaW5mby0+Y29udGV4dCwgdHJ1ZSwgUklfVFJJR1RZUEVfREVM RVRFKTsKK30KKworLyoKKyAqIFJJX0ZLZXlfcGVyaW9kX3NldG51bGxfdXBkIC0KKyAqCisgKiBT ZXQgZm9yZWlnbiBrZXkgcmVmZXJlbmNlcyB0byBOVUxMIGF0IHVwZGF0ZSBldmVudCBvbiBQSyB0 YWJsZS4KKyAqLworRGF0dW0KK1JJX0ZLZXlfcGVyaW9kX3NldG51bGxfdXBkKFBHX0ZVTkNUSU9O X0FSR1MpCit7CisJLyogQ2hlY2sgdGhhdCB0aGlzIGlzIGEgdmFsaWQgdHJpZ2dlciBjYWxsIG9u IHRoZSByaWdodCB0aW1lIGFuZCBldmVudC4gKi8KKwlyaV9DaGVja1RyaWdnZXIoZmNpbmZvLCAi UklfRktleV9wZXJpb2Rfc2V0bnVsbF91cGQiLCBSSV9UUklHVFlQRV9VUERBVEUpOworCisJLyog U2hhcmUgY29kZSB3aXRoIERFTEVURSBjYXNlICovCisJcmV0dXJuIHRyaV9zZXQoKFRyaWdnZXJE YXRhICopIGZjaW5mby0+Y29udGV4dCwgdHJ1ZSwgUklfVFJJR1RZUEVfVVBEQVRFKTsKK30KKwor LyoKKyAqIFJJX0ZLZXlfcGVyaW9kX3NldGRlZmF1bHRfZGVsIC0KKyAqCisgKiBTZXQgZm9yZWln biBrZXkgcmVmZXJlbmNlcyB0byBkZWZhdWx0cyBhdCBkZWxldGUgZXZlbnQgb24gUEsgdGFibGUu CisgKi8KK0RhdHVtCitSSV9GS2V5X3BlcmlvZF9zZXRkZWZhdWx0X2RlbChQR19GVU5DVElPTl9B UkdTKQoreworCS8qIENoZWNrIHRoYXQgdGhpcyBpcyBhIHZhbGlkIHRyaWdnZXIgY2FsbCBvbiB0 aGUgcmlnaHQgdGltZSBhbmQgZXZlbnQuICovCisJcmlfQ2hlY2tUcmlnZ2VyKGZjaW5mbywgIlJJ X0ZLZXlfcGVyaW9kX3NldGRlZmF1bHRfZGVsIiwgUklfVFJJR1RZUEVfREVMRVRFKTsKKworCS8q IFNoYXJlIGNvZGUgd2l0aCBVUERBVEUgY2FzZSAqLworCXJldHVybiB0cmlfc2V0KChUcmlnZ2Vy RGF0YSAqKSBmY2luZm8tPmNvbnRleHQsIGZhbHNlLCBSSV9UUklHVFlQRV9ERUxFVEUpOworfQor CisvKgorICogUklfRktleV9wZXJpb2Rfc2V0ZGVmYXVsdF91cGQgLQorICoKKyAqIFNldCBmb3Jl aWduIGtleSByZWZlcmVuY2VzIHRvIGRlZmF1bHRzIGF0IHVwZGF0ZSBldmVudCBvbiBQSyB0YWJs ZS4KKyAqLworRGF0dW0KK1JJX0ZLZXlfcGVyaW9kX3NldGRlZmF1bHRfdXBkKFBHX0ZVTkNUSU9O X0FSR1MpCit7CisJLyogQ2hlY2sgdGhhdCB0aGlzIGlzIGEgdmFsaWQgdHJpZ2dlciBjYWxsIG9u IHRoZSByaWdodCB0aW1lIGFuZCBldmVudC4gKi8KKwlyaV9DaGVja1RyaWdnZXIoZmNpbmZvLCAi UklfRktleV9wZXJpb2Rfc2V0ZGVmYXVsdF91cGQiLCBSSV9UUklHVFlQRV9VUERBVEUpOworCisJ LyogU2hhcmUgY29kZSB3aXRoIERFTEVURSBjYXNlICovCisJcmV0dXJuIHRyaV9zZXQoKFRyaWdn ZXJEYXRhICopIGZjaW5mby0+Y29udGV4dCwgZmFsc2UsIFJJX1RSSUdUWVBFX1VQREFURSk7Cit9 CisKKy8qCisgKiB0cmlfc2V0IC0KKyAqCisgKiBDb21tb24gY29kZSBmb3IgdGVtcG9yYWwgT04g REVMRVRFIFNFVCBOVUxMLCBPTiBERUxFVEUgU0VUIERFRkFVTFQsIE9OCisgKiBVUERBVEUgU0VU IE5VTEwsIGFuZCBPTiBVUERBVEUgU0VUIERFRkFVTFQuCisgKi8KK3N0YXRpYyBEYXR1bQordHJp X3NldChUcmlnZ2VyRGF0YSAqdHJpZ2RhdGEsIGJvb2wgaXNfc2V0X251bGwsIGludCB0Z2tpbmQp Cit7CisJY29uc3QgUklfQ29uc3RyYWludEluZm8gKnJpaW5mbzsKKwlSZWxhdGlvbglma19yZWw7 CisJUmVsYXRpb24JcGtfcmVsOworCVR1cGxlVGFibGVTbG90ICpvbGRzbG90OworCVJJX1F1ZXJ5 S2V5IHFrZXk7CisJU1BJUGxhblB0cglxcGxhbjsKKwlEYXR1bQkJdGFyZ2V0UmFuZ2U7CisJaW50 MzIJCXF1ZXJ5bm87CisKKwlyaWluZm8gPSByaV9GZXRjaENvbnN0cmFpbnRJbmZvKHRyaWdkYXRh LT50Z190cmlnZ2VyLAorCQkJCQkJCQkJdHJpZ2RhdGEtPnRnX3JlbGF0aW9uLCB0cnVlKTsKKwor CS8qCisJICogR2V0IHRoZSByZWxhdGlvbiBkZXNjcmlwdG9ycyBvZiB0aGUgRksgYW5kIFBLIHRh YmxlcyBhbmQgdGhlIG9sZCB0dXBsZS4KKwkgKgorCSAqIGZrX3JlbCBpcyBvcGVuZWQgaW4gUm93 RXhjbHVzaXZlTG9jayBtb2RlIHNpbmNlIHRoYXQncyB3aGF0IG91cgorCSAqIGV2ZW50dWFsIFVQ REFURSB3aWxsIGdldCBvbiBpdC4KKwkgKi8KKwlma19yZWwgPSB0YWJsZV9vcGVuKHJpaW5mby0+ ZmtfcmVsaWQsIFJvd0V4Y2x1c2l2ZUxvY2spOworCXBrX3JlbCA9IHRyaWdkYXRhLT50Z19yZWxh dGlvbjsKKwlvbGRzbG90ID0gdHJpZ2RhdGEtPnRnX3RyaWdzbG90OworCisJLyoKKwkgKiBEb24n dCBTRVQgTlVMTC9ERUZBVUxUIG1vcmUgdGhhbiB0aGUgUEsncyBkdXJhdGlvbiwgdHJpbW1lZCBi eSBhbgorCSAqIG9yaWdpbmFsIEZPUiBQT1JUSU9OIE9GIGlmIG5lY2Vzc2FyeS4KKwkgKi8KKwl0 YXJnZXRSYW5nZSA9IHJlc3RyaWN0X2VuZm9yY2VkX3JhbmdlKHRyaWdkYXRhLT50Z190ZW1wb3Jh bCwgcmlpbmZvLCBvbGRzbG90KTsKKworCWlmIChTUElfY29ubmVjdCgpICE9IFNQSV9PS19DT05O RUNUKQorCQllbG9nKEVSUk9SLCAiU1BJX2Nvbm5lY3QgZmFpbGVkIik7CisKKwkvKgorCSAqIEZl dGNoIG9yIHByZXBhcmUgYSBzYXZlZCBwbGFuIGZvciB0aGUgdHJpZ2dlci4KKwkgKi8KKwlzd2l0 Y2ggKHRna2luZCkKKwl7CisJCWNhc2UgUklfVFJJR1RZUEVfVVBEQVRFOgorCQkJcXVlcnlubyA9 IGlzX3NldF9udWxsCisJCQkJPyBSSV9QTEFOX1BFUklPRF9TRVROVUxMX09OVVBEQVRFCisJCQkJ OiBSSV9QTEFOX1BFUklPRF9TRVRERUZBVUxUX09OVVBEQVRFOworCQkJYnJlYWs7CisJCWNhc2Ug UklfVFJJR1RZUEVfREVMRVRFOgorCQkJcXVlcnlubyA9IGlzX3NldF9udWxsCisJCQkJPyBSSV9Q TEFOX1BFUklPRF9TRVROVUxMX09OREVMRVRFCisJCQkJOiBSSV9QTEFOX1BFUklPRF9TRVRERUZB VUxUX09OREVMRVRFOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQllbG9nKEVSUk9SLCAiaW52 YWxpZCB0Z2tpbmQgcGFzc2VkIHRvIHJpX3NldCIpOworCX0KKworCXJpX0J1aWxkUXVlcnlLZXko JnFrZXksIHJpaW5mbywgcXVlcnlubyk7CisKKwlpZiAoKHFwbGFuID0gcmlfRmV0Y2hQcmVwYXJl ZFBsYW4oJnFrZXkpKSA9PSBOVUxMKQorCXsKKwkJU3RyaW5nSW5mb0RhdGEgcXVlcnlidWY7CisJ CVN0cmluZ0luZm9EYXRhIHF1YWxidWY7CisJCWNoYXIJCWZrcmVsbmFtZVtNQVhfUVVPVEVEX1JF TF9OQU1FX0xFTl07CisJCWNoYXIJCWF0dG5hbWVbTUFYX1FVT1RFRF9OQU1FX0xFTl07CisJCWNo YXIJCXBhcmFtbmFtZVsxNl07CisJCWNvbnN0IGNoYXIgKnF1ZXJ5c2VwOworCQljb25zdCBjaGFy ICpxdWFsc2VwOworCQlPaWQJCQlxdWVyeW9pZHNbUklfTUFYX05VTUtFWVMgKyAxXTsJLyogKzEg Zm9yIEZPUiBQT1JUSU9OIE9GICovCisJCWNvbnN0IGNoYXIgKmZrX29ubHk7CisJCWludAkJCW51 bV9jb2xzX3RvX3NldDsKKwkJY29uc3QgaW50MTYgKnNldF9jb2xzOworCisJCXN3aXRjaCAodGdr aW5kKQorCQl7CisJCQljYXNlIFJJX1RSSUdUWVBFX1VQREFURToKKwkJCQkvKiAtMSBzbyB3ZSBs ZXQgRk9SIFBPUlRJT04gT0Ygc2V0IHRoZSByYW5nZS4gKi8KKwkJCQludW1fY29sc190b19zZXQg PSByaWluZm8tPm5rZXlzIC0gMTsKKwkJCQlzZXRfY29scyA9IHJpaW5mby0+ZmtfYXR0bnVtczsK KwkJCQlicmVhazsKKwkJCWNhc2UgUklfVFJJR1RZUEVfREVMRVRFOgorCisJCQkJLyoKKwkJCQkg KiBJZiBjb25mZGVsc2V0Y29scyBhcmUgcHJlc2VudCwgdGhlbiB3ZSBvbmx5IHVwZGF0ZSB0aGUK KwkJCQkgKiBjb2x1bW5zIHNwZWNpZmllZCBpbiB0aGF0IGFycmF5LCBvdGhlcndpc2Ugd2UgdXBk YXRlIGFsbAorCQkJCSAqIHRoZSByZWZlcmVuY2luZyBjb2x1bW5zLgorCQkJCSAqLworCQkJCWlm IChyaWluZm8tPm5kZWxzZXRjb2xzICE9IDApCisJCQkJeworCQkJCQludW1fY29sc190b19zZXQg PSByaWluZm8tPm5kZWxzZXRjb2xzOworCQkJCQlzZXRfY29scyA9IHJpaW5mby0+Y29uZmRlbHNl dGNvbHM7CisJCQkJfQorCQkJCWVsc2UKKwkJCQl7CisJCQkJCS8qIC0xIHNvIHdlIGxldCBGT1Ig UE9SVElPTiBPRiBzZXQgdGhlIHJhbmdlLiAqLworCQkJCQludW1fY29sc190b19zZXQgPSByaWlu Zm8tPm5rZXlzIC0gMTsKKwkJCQkJc2V0X2NvbHMgPSByaWluZm8tPmZrX2F0dG51bXM7CisJCQkJ fQorCQkJCWJyZWFrOworCQkJZGVmYXVsdDoKKwkJCQllbG9nKEVSUk9SLCAiaW52YWxpZCB0Z2tp bmQgcGFzc2VkIHRvIHJpX3NldCIpOworCQl9CisKKwkJLyogLS0tLS0tLS0tLQorCQkgKiBUaGUg cXVlcnkgc3RyaW5nIGJ1aWx0IGlzCisJCSAqCVVQREFURSBbT05MWV0gPGZrdGFibGU+CisJCSAq CQkJRk9SIFBPUlRJT04gT0YgJGZrYXR0ICgke24rMX0pCisJCSAqCQkJU0VUIGZrYXR0MSA9IHtO VUxMfERFRkFVTFR9IFssIC4uLl0KKwkJICoJCQlXSEVSRSAkMSA9IGZrYXR0MSBbQU5EIC4uLl0K KwkJICogVGhlIHR5cGUgaWQncyBmb3IgdGhlICQgcGFyYW1ldGVycyBhcmUgdGhvc2Ugb2YgdGhl CisJCSAqIGNvcnJlc3BvbmRpbmcgUEsgYXR0cmlidXRlcy4KKwkJICogLS0tLS0tLS0tLQorCQkg Ki8KKwkJaW5pdFN0cmluZ0luZm8oJnF1ZXJ5YnVmKTsKKwkJaW5pdFN0cmluZ0luZm8oJnF1YWxi dWYpOworCQlma19vbmx5ID0gZmtfcmVsLT5yZF9yZWwtPnJlbGtpbmQgPT0gUkVMS0lORF9QQVJU SVRJT05FRF9UQUJMRSA/CisJCQkiIiA6ICJPTkxZICI7CisJCXF1b3RlUmVsYXRpb25OYW1lKGZr cmVsbmFtZSwgZmtfcmVsKTsKKwkJcXVvdGVPbmVOYW1lKGF0dG5hbWUsIFJJQXR0TmFtZShma19y ZWwsIHJpaW5mby0+ZmtfYXR0bnVtc1tyaWluZm8tPm5rZXlzIC0gMV0pKTsKKworCQlhcHBlbmRT dHJpbmdJbmZvKCZxdWVyeWJ1ZiwgIlVQREFURSAlcyVzIEZPUiBQT1JUSU9OIE9GICVzICgkJWQp IFNFVCIsCisJCQkJCQkgZmtfb25seSwgZmtyZWxuYW1lLCBhdHRuYW1lLCByaWluZm8tPm5rZXlz ICsgMSk7CisKKwkJLyoKKwkJICogQWRkIGFzc2lnbm1lbnQgY2xhdXNlcworCQkgKi8KKwkJcXVl cnlzZXAgPSAiIjsKKwkJZm9yIChpbnQgaSA9IDA7IGkgPCBudW1fY29sc190b19zZXQ7IGkrKykK KwkJeworCQkJcXVvdGVPbmVOYW1lKGF0dG5hbWUsIFJJQXR0TmFtZShma19yZWwsIHNldF9jb2xz W2ldKSk7CisJCQlhcHBlbmRTdHJpbmdJbmZvKCZxdWVyeWJ1ZiwKKwkJCQkJCQkgIiVzICVzID0g JXMiLAorCQkJCQkJCSBxdWVyeXNlcCwgYXR0bmFtZSwKKwkJCQkJCQkgaXNfc2V0X251bGwgPyAi TlVMTCIgOiAiREVGQVVMVCIpOworCQkJcXVlcnlzZXAgPSAiLCI7CisJCX0KKworCQkvKgorCQkg KiBBZGQgV0hFUkUgY2xhdXNlCisJCSAqLworCQlxdWFsc2VwID0gIldIRVJFIjsKKwkJZm9yIChp bnQgaSA9IDA7IGkgPCByaWluZm8tPm5rZXlzOyBpKyspCisJCXsKKwkJCU9pZAkJCXBrX3R5cGUg PSBSSUF0dFR5cGUocGtfcmVsLCByaWluZm8tPnBrX2F0dG51bXNbaV0pOworCQkJT2lkCQkJZmtf dHlwZSA9IFJJQXR0VHlwZShma19yZWwsIHJpaW5mby0+ZmtfYXR0bnVtc1tpXSk7CisJCQlPaWQJ CQlwa19jb2xsID0gUklBdHRDb2xsYXRpb24ocGtfcmVsLCByaWluZm8tPnBrX2F0dG51bXNbaV0p OworCQkJT2lkCQkJZmtfY29sbCA9IFJJQXR0Q29sbGF0aW9uKGZrX3JlbCwgcmlpbmZvLT5ma19h dHRudW1zW2ldKTsKKworCQkJcXVvdGVPbmVOYW1lKGF0dG5hbWUsCisJCQkJCQkgUklBdHROYW1l KGZrX3JlbCwgcmlpbmZvLT5ma19hdHRudW1zW2ldKSk7CisKKwkJCXNwcmludGYocGFyYW1uYW1l LCAiJCVkIiwgaSArIDEpOworCQkJcmlfR2VuZXJhdGVRdWFsKCZxdWVyeWJ1ZiwgcXVhbHNlcCwK KwkJCQkJCQlwYXJhbW5hbWUsIHBrX3R5cGUsCisJCQkJCQkJcmlpbmZvLT5wZl9lcV9vcHJzW2ld LAorCQkJCQkJCWF0dG5hbWUsIGZrX3R5cGUpOworCQkJaWYgKHBrX2NvbGwgIT0gZmtfY29sbCAm JiAhZ2V0X2NvbGxhdGlvbl9pc2RldGVybWluaXN0aWMocGtfY29sbCkpCisJCQkJcmlfR2VuZXJh dGVRdWFsQ29sbGF0aW9uKCZxdWVyeWJ1ZiwgcGtfY29sbCk7CisJCQlxdWFsc2VwID0gIkFORCI7 CisJCQlxdWVyeW9pZHNbaV0gPSBwa190eXBlOworCQl9CisKKwkJLyogU2V0IGEgcGFyYW0gZm9y IEZPUiBQT1JUSU9OIE9GIFRPL0ZST00gKi8KKwkJcXVlcnlvaWRzW3JpaW5mby0+bmtleXNdID0g UklBdHRUeXBlKHBrX3JlbCwgcmlpbmZvLT5wa19hdHRudW1zW3JpaW5mby0+bmtleXMgLSAxXSk7 CisKKwkJLyogUHJlcGFyZSBhbmQgc2F2ZSB0aGUgcGxhbiAqLworCQlxcGxhbiA9IHJpX1BsYW5D aGVjayhxdWVyeWJ1Zi5kYXRhLCByaWluZm8tPm5rZXlzICsgMSwgcXVlcnlvaWRzLAorCQkJCQkJ CSAmcWtleSwgZmtfcmVsLCBwa19yZWwpOworCX0KKworCS8qCisJICogV2UgaGF2ZSBhIHBsYW4g bm93LiBSdW4gaXQgdG8gdXBkYXRlIHRoZSBleGlzdGluZyByZWZlcmVuY2VzLgorCSAqLworCXJp X1BlcmZvcm1DaGVjayhyaWluZm8sICZxa2V5LCBxcGxhbiwKKwkJCQkJZmtfcmVsLCBwa19yZWws CisJCQkJCW9sZHNsb3QsIE5VTEwsCisJCQkJCXJpaW5mby0+bmtleXMgKyAxLCB0YXJnZXRSYW5n ZSwKKwkJCQkJZmFsc2UsCisJCQkJCXRydWUsCQkvKiBtdXN0IGRldGVjdCBuZXcgcm93cyAqLwor CQkJCQlTUElfT0tfVVBEQVRFKTsKKworCWlmIChTUElfZmluaXNoKCkgIT0gU1BJX09LX0ZJTklT SCkKKwkJZWxvZyhFUlJPUiwgIlNQSV9maW5pc2ggZmFpbGVkIik7CisKKwl0YWJsZV9jbG9zZShm a19yZWwsIFJvd0V4Y2x1c2l2ZUxvY2spOworCisJaWYgKGlzX3NldF9udWxsKQorCQlyZXR1cm4g UG9pbnRlckdldERhdHVtKE5VTEwpOworCWVsc2UKKwl7CisJCS8qCisJCSAqIElmIHdlIGp1c3Qg ZGVsZXRlZCBvciB1cGRhdGVkIHRoZSBQSyByb3cgd2hvc2Uga2V5IHdhcyBlcXVhbCB0byB0aGUK KwkJICogRksgY29sdW1ucycgZGVmYXVsdCB2YWx1ZXMsIGFuZCBhIHJlZmVyZW5jaW5nIHJvdyBl eGlzdHMgaW4gdGhlIEZLCisJCSAqIHRhYmxlLCB3ZSB3b3VsZCBoYXZlIHVwZGF0ZWQgdGhhdCBy b3cgdG8gdGhlIHNhbWUgdmFsdWVzIGl0IGFscmVhZHkKKwkJICogaGFkIC0tLSBhbmQgUklfRktl eV9ma191cGRfY2hlY2tfcmVxdWlyZWQgd291bGQgaGVuY2UgYmVsaWV2ZSBubworCQkgKiBjaGVj ayBpcyBuZWNlc3NhcnkuICBTbyB3ZSBuZWVkIHRvIGRvIGFub3RoZXIgbG9va3VwIG5vdyBhbmQg aW4KKwkJICogY2FzZSBhIHJlZmVyZW5jZSBzdGlsbCBleGlzdHMsIGFib3J0IHRoZSBvcGVyYXRp b24uICBUaGF0IGlzCisJCSAqIGFscmVhZHkgaW1wbGVtZW50ZWQgaW4gdGhlIE5PIEFDVElPTiB0 cmlnZ2VyLCBzbyBqdXN0IHJ1biBpdC4gKFRoaXMKKwkJICogcmVjaGVjayBpcyBvbmx5IG5lZWRl ZCBpbiB0aGUgU0VUIERFRkFVTFQgY2FzZSwgc2luY2UgQ0FTQ0FERSB3b3VsZAorCQkgKiByZW1v dmUgc3VjaCByb3dzIGluIGNhc2Ugb2YgYSBERUxFVEUgb3BlcmF0aW9uIG9yIHdvdWxkIGNoYW5n ZSB0aGUKKwkJICogRksga2V5IHZhbHVlcyBpbiBjYXNlIG9mIGFuIFVQREFURSwgd2hpbGUgU0VU IE5VTEwgaXMgY2VydGFpbiB0bworCQkgKiByZXN1bHQgaW4gcm93cyB0aGF0IHNhdGlzZnkgdGhl IEZLIGNvbnN0cmFpbnQuKQorCQkgKi8KKwkJcmV0dXJuIHJpX3Jlc3RyaWN0KHRyaWdkYXRhLCB0 cnVlKTsKKwl9Cit9CisKIC8qCiAgKiBSSV9GS2V5X3BrX3VwZF9jaGVja19yZXF1aXJlZCAtCiAg KgpAQCAtMjQ4NSw2ICszMDM4LDcgQEAgcmlfUGVyZm9ybUNoZWNrKGNvbnN0IFJJX0NvbnN0cmFp bnRJbmZvICpyaWluZm8sCiAJCQkJUklfUXVlcnlLZXkgKnFrZXksIFNQSVBsYW5QdHIgcXBsYW4s CiAJCQkJUmVsYXRpb24gZmtfcmVsLCBSZWxhdGlvbiBwa19yZWwsCiAJCQkJVHVwbGVUYWJsZVNs b3QgKm9sZHNsb3QsIFR1cGxlVGFibGVTbG90ICpuZXdzbG90LAorCQkJCWludCBwZXJpb2RQYXJh bSwgRGF0dW0gcGVyaW9kLAogCQkJCWJvb2wgaXNfcmVzdHJpY3QsCiAJCQkJYm9vbCBkZXRlY3RO ZXdSb3dzLCBpbnQgZXhwZWN0X09LKQogewpAQCAtMjQ5Nyw4ICszMDUxLDggQEAgcmlfUGVyZm9y bUNoZWNrKGNvbnN0IFJJX0NvbnN0cmFpbnRJbmZvICpyaWluZm8sCiAJaW50CQkJc3BpX3Jlc3Vs dDsKIAlPaWQJCQlzYXZlX3VzZXJpZDsKIAlpbnQJCQlzYXZlX3NlY19jb250ZXh0OwotCURhdHVt CQl2YWxzW1JJX01BWF9OVU1LRVlTICogMl07Ci0JY2hhcgkJbnVsbHNbUklfTUFYX05VTUtFWVMg KiAyXTsKKwlEYXR1bQkJdmFsc1tSSV9NQVhfTlVNS0VZUyAqIDIgKyAxXTsKKwljaGFyCQludWxs c1tSSV9NQVhfTlVNS0VZUyAqIDIgKyAxXTsKIAogCS8qCiAJICogVXNlIHRoZSBxdWVyeSB0eXBl IGNvZGUgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIHF1ZXJ5IGlzIHJ1biBhZ2FpbnN0CkBAIC0y NTQxLDYgKzMwOTUsMTIgQEAgcmlfUGVyZm9ybUNoZWNrKGNvbnN0IFJJX0NvbnN0cmFpbnRJbmZv ICpyaWluZm8sCiAJCXJpX0V4dHJhY3RWYWx1ZXMoc291cmNlX3JlbCwgb2xkc2xvdCwgcmlpbmZv LCBzb3VyY2VfaXNfcGssCiAJCQkJCQkgdmFscywgbnVsbHMpOwogCX0KKwkvKiBBZGQvcmVwbGFj ZSBhIHF1ZXJ5IHBhcmFtIGZvciB0aGUgUEVSSU9EIGlmIG5lZWRlZCAqLworCWlmIChwZXJpb2Qp CisJeworCQl2YWxzW3BlcmlvZFBhcmFtIC0gMV0gPSBwZXJpb2Q7CisJCW51bGxzW3BlcmlvZFBh cmFtIC0gMV0gPSAnICc7CisJfQogCiAJLyoKIAkgKiBJbiBSRUFEIENPTU1JVFRFRCBtb2RlLCB3 ZSBqdXN0IG5lZWQgdG8gdXNlIGFuIHVwLXRvLWRhdGUgcmVndWxhcgpAQCAtMzIyMSw2ICszNzgx LDEyIEBAIFJJX0ZLZXlfdHJpZ2dlcl90eXBlKE9pZCB0Z2ZvaWQpCiAJCWNhc2UgRl9SSV9GS0VZ X1NFVERFRkFVTFRfVVBEOgogCQljYXNlIEZfUklfRktFWV9OT0FDVElPTl9ERUw6CiAJCWNhc2Ug Rl9SSV9GS0VZX05PQUNUSU9OX1VQRDoKKwkJY2FzZSBGX1JJX0ZLRVlfUEVSSU9EX0NBU0NBREVf REVMOgorCQljYXNlIEZfUklfRktFWV9QRVJJT0RfQ0FTQ0FERV9VUEQ6CisJCWNhc2UgRl9SSV9G S0VZX1BFUklPRF9TRVROVUxMX0RFTDoKKwkJY2FzZSBGX1JJX0ZLRVlfUEVSSU9EX1NFVE5VTExf VVBEOgorCQljYXNlIEZfUklfRktFWV9QRVJJT0RfU0VUREVGQVVMVF9ERUw6CisJCWNhc2UgRl9S SV9GS0VZX1BFUklPRF9TRVRERUZBVUxUX1VQRDoKIAkJCXJldHVybiBSSV9UUklHR0VSX1BLOwog CiAJCWNhc2UgRl9SSV9GS0VZX0NIRUNLX0lOUzoKQEAgLTMyMzAsMyArMzc5Niw1MCBAQCBSSV9G S2V5X3RyaWdnZXJfdHlwZShPaWQgdGdmb2lkKQogCiAJcmV0dXJuIFJJX1RSSUdHRVJfTk9ORTsK IH0KKworLyoKKyAqIGZwb190YXJnZXRzX3BrX3JhbmdlCisgKgorICogUmV0dXJucyB0cnVlIGlm ZiB0aGUgcHJpbWFyeSBrZXkgcmVmZXJlbmNlZCBieSByaWluZm8gaW5jbHVkZXMgdGhlIHJhbmdl CisgKiBjb2x1bW4gdGFyZ2V0ZWQgYnkgdGhlIEZPUiBQT1JUSU9OIE9GIGNsYXVzZSAoYWNjb3Jk aW5nIHRvIHRnX3RlbXBvcmFsKS4KKyAqLworc3RhdGljIGJvb2wKK2Zwb190YXJnZXRzX3BrX3Jh bmdlKGNvbnN0IEZvclBvcnRpb25PZlN0YXRlICp0Z190ZW1wb3JhbCwgY29uc3QgUklfQ29uc3Ry YWludEluZm8gKnJpaW5mbykKK3sKKwlpZiAodGdfdGVtcG9yYWwgPT0gTlVMTCkKKwkJcmV0dXJu IGZhbHNlOworCisJcmV0dXJuIHJpaW5mby0+cGtfYXR0bnVtc1tyaWluZm8tPm5rZXlzIC0gMV0g PT0gdGdfdGVtcG9yYWwtPmZwX3JhbmdlQXR0bm87Cit9CisKKy8qCisgKiByZXN0cmljdF9lbmZv cmNlZF9yYW5nZSAtCisgKgorICogUmV0dXJucyBhIERhdHVtIG9mIFJhbmdlVHlwZVAgaG9sZGlu ZyB0aGUgYXBwcm9wcmlhdGUgdGltZXNwYW4KKyAqIHRvIHRhcmdldCBjaGlsZCByZWNvcmRzIHdo ZW4gd2UgUkVTVFJJQ1QvQ0FTQ0FERS9TRVQgTlVMTC9TRVQgREVGQVVMVC4KKyAqCisgKiBJbiBh IG5vcm1hbCBVUERBVEUvREVMRVRFIHRoaXMgc2hvdWxkIGJlIHRoZSByZWZlcmVuY2VkIHJvdydz IG93biB2YWxpZCB0aW1lLAorICogYnV0IGlmIHRoZXJlIHdhcyBhIEZPUiBQT1JUSU9OIE9GIGNs YXVzZSwgdGhlbiB3ZSBzaG91bGQgdXNlIHRoYXQgdG8KKyAqIHRyaW0gZG93biB0aGUgc3BhbiBm dXJ0aGVyLgorICovCitzdGF0aWMgRGF0dW0KK3Jlc3RyaWN0X2VuZm9yY2VkX3JhbmdlKGNvbnN0 IEZvclBvcnRpb25PZlN0YXRlICp0Z190ZW1wb3JhbCwgY29uc3QgUklfQ29uc3RyYWludEluZm8g KnJpaW5mbywgVHVwbGVUYWJsZVNsb3QgKm9sZHNsb3QpCit7CisJRGF0dW0JCXBrUmVjb3JkUmFu Z2U7CisJYm9vbAkJaXNudWxsOworCUF0dHJOdW1iZXIJYXR0bm8gPSByaWluZm8tPnBrX2F0dG51 bXNbcmlpbmZvLT5ua2V5cyAtIDFdOworCisJcGtSZWNvcmRSYW5nZSA9IHNsb3RfZ2V0YXR0cihv bGRzbG90LCBhdHRubywgJmlzbnVsbCk7CisJaWYgKGlzbnVsbCkKKwkJZWxvZyhFUlJPUiwgImFw cGxpY2F0aW9uIHRpbWUgc2hvdWxkIG5vdCBiZSBudWxsIik7CisKKwlpZiAoZnBvX3RhcmdldHNf cGtfcmFuZ2UodGdfdGVtcG9yYWwsIHJpaW5mbykpCisJeworCQlpZiAoIU9pZElzVmFsaWQocmlp bmZvLT5wZXJpb2RfaW50ZXJzZWN0X3Byb2MpKQorCQkJZWxvZyhFUlJPUiwgImludmFsaWQgaW50 ZXJzZWN0IHN1cHBvcnQgZnVuY3Rpb24iKTsKKworCQlyZXR1cm4gT2lkRnVuY3Rpb25DYWxsMihy aWluZm8tPnBlcmlvZF9pbnRlcnNlY3RfcHJvYywgcGtSZWNvcmRSYW5nZSwgdGdfdGVtcG9yYWwt PmZwX3RhcmdldFJhbmdlKTsKKwl9CisJZWxzZQorCQlyZXR1cm4gcGtSZWNvcmRSYW5nZTsKK30K ZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgYi9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX3Byb2MuZGF0CmluZGV4IDFlZGIxODk1OGY3Li4yMjQ4YjU3NzU4MCAxMDA2 NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAorKysgYi9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX3Byb2MuZGF0CkBAIC00MTIwLDYgKzQxMjAsMjggQEAKICAgcHJvcmV0dHlw ZSA9PiAndHJpZ2dlcicsIHByb2FyZ3R5cGVzID0+ICcnLAogICBwcm9zcmMgPT4gJ1JJX0ZLZXlf bm9hY3Rpb25fdXBkJyB9LAogCisjIFRlbXBvcmFsIHJlZmVyZW50aWFsIGludGVncml0eSBjb25z dHJhaW50IHRyaWdnZXJzCit7IG9pZCA9PiAnNjEyNCcsIGRlc2NyID0+ICd0ZW1wb3JhbCByZWZl cmVudGlhbCBpbnRlZ3JpdHkgT04gREVMRVRFIENBU0NBREUnLAorICBwcm9uYW1lID0+ICdSSV9G S2V5X3BlcmlvZF9jYXNjYWRlX2RlbCcsIHByb3ZvbGF0aWxlID0+ICd2JywgcHJvcmV0dHlwZSA9 PiAndHJpZ2dlcicsCisgIHByb2FyZ3R5cGVzID0+ICcnLCBwcm9zcmMgPT4gJ1JJX0ZLZXlfcGVy aW9kX2Nhc2NhZGVfZGVsJyB9LAoreyBvaWQgPT4gJzYxMjUnLCBkZXNjciA9PiAndGVtcG9yYWwg cmVmZXJlbnRpYWwgaW50ZWdyaXR5IE9OIFVQREFURSBDQVNDQURFJywKKyAgcHJvbmFtZSA9PiAn UklfRktleV9wZXJpb2RfY2FzY2FkZV91cGQnLCBwcm92b2xhdGlsZSA9PiAndicsIHByb3JldHR5 cGUgPT4gJ3RyaWdnZXInLAorICBwcm9hcmd0eXBlcyA9PiAnJywgcHJvc3JjID0+ICdSSV9GS2V5 X3BlcmlvZF9jYXNjYWRlX3VwZCcgfSwKK3sgb2lkID0+ICc2MTI4JywgZGVzY3IgPT4gJ3RlbXBv cmFsIHJlZmVyZW50aWFsIGludGVncml0eSBPTiBERUxFVEUgU0VUIE5VTEwnLAorICBwcm9uYW1l ID0+ICdSSV9GS2V5X3BlcmlvZF9zZXRudWxsX2RlbCcsIHByb3ZvbGF0aWxlID0+ICd2JywgcHJv cmV0dHlwZSA9PiAndHJpZ2dlcicsCisgIHByb2FyZ3R5cGVzID0+ICcnLCBwcm9zcmMgPT4gJ1JJ X0ZLZXlfcGVyaW9kX3NldG51bGxfZGVsJyB9LAoreyBvaWQgPT4gJzYxMjknLCBkZXNjciA9PiAn dGVtcG9yYWwgcmVmZXJlbnRpYWwgaW50ZWdyaXR5IE9OIFVQREFURSBTRVQgTlVMTCcsCisgIHBy b25hbWUgPT4gJ1JJX0ZLZXlfcGVyaW9kX3NldG51bGxfdXBkJywgcHJvdm9sYXRpbGUgPT4gJ3Yn LCBwcm9yZXR0eXBlID0+ICd0cmlnZ2VyJywKKyAgcHJvYXJndHlwZXMgPT4gJycsIHByb3NyYyA9 PiAnUklfRktleV9wZXJpb2Rfc2V0bnVsbF91cGQnIH0sCit7IG9pZCA9PiAnNjEzMCcsIGRlc2Ny ID0+ICd0ZW1wb3JhbCByZWZlcmVudGlhbCBpbnRlZ3JpdHkgT04gREVMRVRFIFNFVCBERUZBVUxU JywKKyAgcHJvbmFtZSA9PiAnUklfRktleV9wZXJpb2Rfc2V0ZGVmYXVsdF9kZWwnLCBwcm92b2xh dGlsZSA9PiAndicsCisgIHByb3JldHR5cGUgPT4gJ3RyaWdnZXInLCBwcm9hcmd0eXBlcyA9PiAn JywKKyAgcHJvc3JjID0+ICdSSV9GS2V5X3BlcmlvZF9zZXRkZWZhdWx0X2RlbCcgfSwKK3sgb2lk ID0+ICc2MTMxJywgZGVzY3IgPT4gJ3RlbXBvcmFsIHJlZmVyZW50aWFsIGludGVncml0eSBPTiBV UERBVEUgU0VUIERFRkFVTFQnLAorICBwcm9uYW1lID0+ICdSSV9GS2V5X3BlcmlvZF9zZXRkZWZh dWx0X3VwZCcsIHByb3ZvbGF0aWxlID0+ICd2JywKKyAgcHJvcmV0dHlwZSA9PiAndHJpZ2dlcics IHByb2FyZ3R5cGVzID0+ICcnLAorICBwcm9zcmMgPT4gJ1JJX0ZLZXlfcGVyaW9kX3NldGRlZmF1 bHRfdXBkJyB9LAorCiB7IG9pZCA9PiAnMTY2NicsCiAgIHByb25hbWUgPT4gJ3ZhcmJpdGVxJywg cHJvbGVha3Byb29mID0+ICd0JywgcHJvcmV0dHlwZSA9PiAnYm9vbCcsCiAgIHByb2FyZ3R5cGVz ID0+ICd2YXJiaXQgdmFyYml0JywgcHJvc3JjID0+ICdiaXRlcScgfSwKZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvYnRyZWVfaW5kZXgub3V0IGIvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9idHJlZV9pbmRleC5vdXQKaW5kZXggMjFkYzliNTc4M2EuLmMzYmY5NDc5N2U3 IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2J0cmVlX2luZGV4Lm91dAor KysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2J0cmVlX2luZGV4Lm91dApAQCAtNDU0LDE0 ICs0NTQsMTcgQEAgc2VsZWN0IHByb25hbWUgZnJvbSBwZ19wcm9jIHdoZXJlIHByb25hbWUgbGlr ZSBFJ1JJXFxfRktleSVkZWwnIG9yZGVyIGJ5IDE7CiAoMyByb3dzKQogCiBzZWxlY3QgcHJvbmFt ZSBmcm9tIHBnX3Byb2Mgd2hlcmUgcHJvbmFtZSBsaWtlIEUnUklcXF9GS2V5JWRlbCcgb3JkZXIg YnkgMTsKLSAgICAgICAgcHJvbmFtZSAgICAgICAgIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CisgICAgICAgICAgICBwcm9uYW1lICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCiAgUklfRktleV9jYXNjYWRlX2RlbAogIFJJX0ZLZXlfbm9hY3Rpb25fZGVsCisg UklfRktleV9wZXJpb2RfY2FzY2FkZV9kZWwKKyBSSV9GS2V5X3BlcmlvZF9zZXRkZWZhdWx0X2Rl bAorIFJJX0ZLZXlfcGVyaW9kX3NldG51bGxfZGVsCiAgUklfRktleV9yZXN0cmljdF9kZWwKICBS SV9GS2V5X3NldGRlZmF1bHRfZGVsCiAgUklfRktleV9zZXRudWxsX2RlbAotKDUgcm93cykKKyg4 IHJvd3MpCiAKIGV4cGxhaW4gKGNvc3RzIG9mZikKIHNlbGVjdCBwcm9uYW1lIGZyb20gcGdfcHJv YyB3aGVyZSBwcm9uYW1lIGlsaWtlICcwMCVmb28nIG9yZGVyIGJ5IDE7CkBAIC01MDAsMTQgKzUw MywxNyBAQCBzZWxlY3QgcHJvbmFtZSBmcm9tIHBnX3Byb2Mgd2hlcmUgcHJvbmFtZSBsaWtlIEUn UklcXF9GS2V5JWRlbCcgb3JkZXIgYnkgMTsKICg2IHJvd3MpCiAKIHNlbGVjdCBwcm9uYW1lIGZy b20gcGdfcHJvYyB3aGVyZSBwcm9uYW1lIGxpa2UgRSdSSVxcX0ZLZXklZGVsJyBvcmRlciBieSAx OwotICAgICAgICBwcm9uYW1lICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAg ICAgICAgICAgIHByb25hbWUgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KICBSSV9GS2V5X2Nhc2NhZGVfZGVsCiAgUklfRktleV9ub2FjdGlvbl9kZWwKKyBSSV9G S2V5X3BlcmlvZF9jYXNjYWRlX2RlbAorIFJJX0ZLZXlfcGVyaW9kX3NldGRlZmF1bHRfZGVsCisg UklfRktleV9wZXJpb2Rfc2V0bnVsbF9kZWwKICBSSV9GS2V5X3Jlc3RyaWN0X2RlbAogIFJJX0ZL ZXlfc2V0ZGVmYXVsdF9kZWwKICBSSV9GS2V5X3NldG51bGxfZGVsCi0oNSByb3dzKQorKDggcm93 cykKIAogZXhwbGFpbiAoY29zdHMgb2ZmKQogc2VsZWN0IHByb25hbWUgZnJvbSBwZ19wcm9jIHdo ZXJlIHByb25hbWUgaWxpa2UgJzAwJWZvbycgb3JkZXIgYnkgMTsKZGlmZiAtLWdpdCBhL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvd2l0aG91dF9vdmVybGFwcy5vdXQgYi9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3dpdGhvdXRfb3ZlcmxhcHMub3V0CmluZGV4IDQwMTU1MGI1NDgyLi40ZDlm MjVhYzQwNSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC93aXRob3V0X292 ZXJsYXBzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3dpdGhvdXRfb3Zlcmxh cHMub3V0CkBAIC0xOTQ3LDcgKzE5NDcsMjQgQEAgRVJST1I6ICB1bnN1cHBvcnRlZCBPTiBERUxF VEUgYWN0aW9uIGZvciBmb3JlaWduIGtleSBjb25zdHJhaW50IHVzaW5nIFBFUklPRAogLS0KIC0t IHJuZzJybmcgdGVzdCBPTiBVUERBVEUvREVMRVRFIG9wdGlvbnMKIC0tCistLSBUT0M6CistLSBy ZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUK Ky0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTAorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNF VCBOVUxMCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQKKy0tIHJlZmVyZW5jZWQg ZGVsZXRlcyBTRVQgREVGQVVMVAorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUgKHR3byBz Y2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNv bHMpCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0t IHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJl bmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMsIFNFVCBOVUxMIHN1YnNldCkK Ky0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0g cmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZl cmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scywgU0VUIERFRkFVTFQg c3Vic2V0KQorLS0KIC0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUKKy0tCiBU UlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3JuZzJybmc7CiBJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCBkYXRlcmFuZ2UoJzIw MTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKIElOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJy bmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknKTsKQEAgLTE5NTYsMjkgKzE5 NzMsNTkzIEBAIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJybmcKICAgICBGT1JFSUdOIEtF WSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCiAgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9y bmcKICAgICBPTiBERUxFVEUgQ0FTQ0FERSBPTiBVUERBVEUgQ0FTQ0FERTsKLUVSUk9SOiAgdW5z dXBwb3J0ZWQgT04gVVBEQVRFIGFjdGlvbiBmb3IgZm9yZWlnbiBrZXkgY29uc3RyYWludCB1c2lu ZyBQRVJJT0QKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3Ju ZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0w MScgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQg CistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEw MCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsy MDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgWzcsOCkKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwy MDIxLTAxLTAxKSB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK1VQREFU RSB0ZW1wb3JhbF9ybmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAg fCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNyw4KQorIFsx MDAsMTAxKSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgWzcsOCkKKyBbMTAwLDEwMSkgfCBb MjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs3LDgpCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3Mg dHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlk X2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAx JykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4 LDkpJywgZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgn WzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkp Jyk7CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4 LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lk IAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsy MDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgWzksMTApCisgWzIwMCwyMDEpIHwg WzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3Qg RksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcs IHRlbXBvcmFsX2ZrX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxp ZF9hdCkgVkFMVUVTICgnWzYsNyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFy ZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAy MS0wMS0wMScpLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRF IEZST00gdGVtcG9yYWxfcm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEt MDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQg CistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEw MCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsy MDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzYsNykKKygyIHJvd3MpCisKKy0tIG5vbi1GUE8gZGVs ZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKyBpZCB8IHZhbGlkX2F0IHwgcGFyZW50X2lkIAorLS0tLSstLS0t LS0tLS0tKy0tLS0tLS0tLS0tCisoMCByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5j ZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMg KCdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZXJh bmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9m a19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDEpJywg ZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJyk7CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAx OS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUg aWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAg ICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgWzIwMjAtMDEtMDEsMjAy MS0wMS0wMSkgfCBbOCw5KQorKDEgcm93KQorCistLQogLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVw ZGF0ZXMgU0VUIE5VTEwKKy0tCiBUUlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3Ju ZzJybmc7CiBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgn WzYsNyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKIElOU0VSVCBJ TlRPIHRlbXBvcmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMg KCdbMTAwLDEwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYs NyknKTsKIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJybmcKKyAgRFJPUCBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrX3JuZzJybmdfZmssCiAgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3Ju ZzJybmdfZmsKICAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCiAg ICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcKICAgICBPTiBERUxFVEUgU0VUIE5VTEwgT04gVVBE QVRFIFNFVCBOVUxMOwotRVJST1I6ICB1bnN1cHBvcnRlZCBPTiBVUERBVEUgYWN0aW9uIGZvciBm b3JlaWduIGtleSBjb25zdHJhaW50IHVzaW5nIFBFUklPRAorLS0gbGVmdG92ZXJzIG9uIGJvdGgg c2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0g J1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdb MTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFs aWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAx KSB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCAKKyBbMTAw LDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2LDcpCisoMyByb3dzKQorCistLSBu b24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVS RSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUg aWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAg ICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAx OS0wMS0wMSkgfCAKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IAorIFsx MDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgCisoMyByb3dzKQorCistLSBGSyBh Y3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQs IHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIw LTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVF UyAoJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFM VUVTICgnWzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwg J1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJFIGlk ID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFy ZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LQorIFsyMDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgCisgWzIwMCwyMDEpIHwg WzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3Qg RksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcm5n LCB0ZW1wb3JhbF9ma19ybmcycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFs aWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBh cmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnKSwgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX3JuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAx LTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lk IAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsx MDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBb MjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IAorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEt MDEtMDEpIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZS T00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEw MSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IAorIFsxMDAsMTAxKSB8IFsyMDE5LTAxLTAx LDIwMjAtMDEtMDEpIHwgCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCAK KygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElO VE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZXJhbmdl KCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcg KGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAn MjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxp ZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBX SEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAg ICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0KKyBbMjAwLDIwMSkgfCBbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKSB8IAorIFsyMDAs MjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCiAt LSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVAorLS0KIFRSVU5DQVRFIHRl bXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcm5nMnJuZzsKIElOU0VSVCBJTlRPIHRlbXBvcmFsX3Ju ZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgZGF0ZXJhbmdlKG51bGwsIG51bGwp KTsKIElOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3 KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOwogSU5TRVJUIElOVE8g dGVtcG9yYWxfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sx MDAsMTAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3KScp OwogQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnJuZwogICBBTFRFUiBDT0xVTU4gcGFyZW50 X2lkIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr X3JuZzJybmdfZmssCiAgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJybmdfZmsKICAg ICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCiAgICAgUkVGRVJFTkNF UyB0ZW1wb3JhbF9ybmcKICAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRFIFNFVCBE RUZBVUxUOwotRVJST1I6ICB1bnN1cHBvcnRlZCBPTiBVUERBVEUgYWN0aW9uIGZvciBmb3JlaWdu IGtleSBjb25zdHJhaW50IHVzaW5nIFBFUklPRAorLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6 CitVUERBVEUgdGVtcG9yYWxfcm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTkt MDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEw MSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQg ICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFs2 LDcpCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCBbLTEsMCkKKyBbMTAw LDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2LDcpCisoMyByb3dzKQorCistLSBu b24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVS RSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUg aWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAg ICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAx OS0wMS0wMSkgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8 IFstMSwwKQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWy0xLDApCiso MyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVyYW5nZSgn MjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChp ZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIw MjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRf YXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAx JywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9 ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEn OjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sy MDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxp ZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEp IHwgWy0xLDApCisgWzIwMCwyMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbOCw5KQor KDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxU CistLQorVFJVTkNBVEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19ybmcycm5nOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCBkYXRl cmFuZ2UobnVsbCwgbnVsbCkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRf YXQpIFZBTFVFUyAoJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn KSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVu dF9pZCkgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEt MDEtMDEnKSwgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBG Uk9NIHRlbXBvcmFsX3JuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAx JyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAor LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAs MTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAx OS0wMS0wMSwyMDIwLTAxLTAxKSB8IFstMSwwKQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIw MjEtMDEtMDEpIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIG5vbi1GUE8gdXBkYXRlOgorREVMRVRF IEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAK Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAw LDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFstMSwwKQorIFsxMDAsMTAxKSB8IFsy MDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEs MjAyMS0wMS0wMSkgfCBbLTEsMCkKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJl bmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVF UyAoJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRl cmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMSkn LCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzgsOSknKTsKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcy MDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVS RSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAg ICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCBbMjAxOC0wMS0wMSwy MDIwLTAxLTAxKSB8IFstMSwwKQorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEp IHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBD QVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcm5nMiwgdGVt cG9yYWxfZmsyX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwg dmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAx JywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnJuZyAoaWQs IHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknLCAnWzYsNyknKTsK K0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcycm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1w b3JhbF9mazJfcm5nMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJy bmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZh bGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAgIE9OIERFTEVURSBDQVND QURFIE9OIFVQREFURSBDQVNDQURFOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERB VEUgdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAx JyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEp JyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAg ICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsy MDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwg WzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCBbNyw4KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkg fCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykK KworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcm5nMiBTRVQgaWQxID0gJ1s3 LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5n MnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBp ZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQy IAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNyw4KSAg ICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IFs3LDgp ICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzcs OCkgICAgICB8IFs2LDcpCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQg cm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFM VUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0w MScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFM VUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0w MScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBh cmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVyYW5nZSgnMjAx OC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbOCw5KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBv cmFsX3JuZzIgU0VUIGlkMSA9ICdbOSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlk X2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3Ju ZzJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAg aWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lk MiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgWzksMTAp ICAgICB8IFs4LDkpCisgWzIwMCwyMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbOCw5 KSAgICAgIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVs ZXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcm5n MiwgdGVtcG9yYWxfZmsyX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEs IGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnJu ZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEw MSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknLCAnWzYs NyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxf cm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0w MS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3Ju ZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAg aWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lk MiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzYsNykg ICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbNiw3 KSAgICAgIHwgWzYsNykKKygyIHJvd3MpCisKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZS T00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9mazJfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKyBpZCB8IHZhbGlkX2F0IHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorKDAgcm93cykKKworLS0gRksgYWNy b3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEs IGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDE4 LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEs IGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDIw LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnJu ZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIw MSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzgsOSknLCAnWzgs OSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQg dmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9m azJfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK KyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJl bnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBb OCw5KSAgICAgIHwgWzgsOSkKKygxIHJvdykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1 cGRhdGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMpCistLQorVFJVTkNBVEUgdGVtcG9yYWxf cm5nMiwgdGVtcG9yYWxfZmsyX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChp ZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5n MnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAw LDEwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknLCAn WzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcycm5nCisgIERST1AgQ09OU1RS QUlOVCB0ZW1wb3JhbF9mazJfcm5nMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxf ZmsyX3JuZzJybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwg UEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAgIE9OIERF TEVURSBTRVQgTlVMTCBPTiBVUERBVEUgU0VUIE5VTEw7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBz aWRlczoKK1VQREFURSB0ZW1wb3JhbF9ybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEg PSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJuZyBXSEVSRSBpZCA9 ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAg dmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEw MCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3KSAgICAgIHwgWzYsNykKKyBb MTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8ICAgICAgICAgICAgfCAKKyBbMTAw LDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDMg cm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcm5nMiBTRVQgaWQx ID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9m azJfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK KyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJl bnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCAg ICAgICAgICAgIHwgCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCAgICAg ICAgICAgIHwgCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCAgICAgICAg ICAgIHwgCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgs OSknLCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgs OSknLCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEs IHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJyksICdbOCw5KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3JuZzIg U0VUIGlkMSA9ICdbOSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcy MDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hF UkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwg ICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LQorIFsyMDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgICAgICAgICAgICB8IAor IFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzgsOSkgICAgICB8IFs4LDkp CisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwg KHR3byBzY2FsYXIgY29scykKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1wb3JhbF9m azJfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9h dCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAy MS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycm5nIChpZCwgdmFsaWRf YXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVyYW5n ZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3KScsICdbNiw3KScpOworLS0gbGVm dG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBp ZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJuZyBXSEVSRSBp ZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAg ICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisg WzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3KSAgICAgIHwgWzYsNykK KyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8ICAgICAgICAgICAgfCAKKyBb MTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2LDcpICAgICAgfCBbNiw3KQor KDMgcm93cykKKworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcy IFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycm5n IFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAg ICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCist LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8ICAgICAgICAgICAg fCAKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8ICAgICAgICAgICAgfCAK KyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8ICAgICAgICAgICAgfCAKKygz IHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8g dGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5 KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5 KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lk MikgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJF IGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAg fCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IFsyMDE4LTAx LTAxLDIwMjAtMDEtMDEpIHwgICAgICAgICAgICB8IAorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAx LDIwMjEtMDEtMDEpIHwgWzgsOSkgICAgICB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVz dCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scywgU0VUIE5V TEwgc3Vic2V0KQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9ybmcy cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxV RVMgKCdbNiw3KScsICdbNiw3KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAx JykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFy ZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBmYWlscyBiZWNh dXNlIHlvdSBjYW4ndCBzZXQgdGhlIFBFUklPRCBjb2x1bW46CitBTFRFUiBUQUJMRSB0ZW1wb3Jh bF9mazJfcm5nMnJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJybmdfZmss CisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycm5nX2ZrCisgICAgRk9SRUlHTiBL RVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVO Q0VTIHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgKHZhbGlkX2F0KSBPTiBV UERBVEUgU0VUIE5VTEw7CitFUlJPUjogIGNvbHVtbiAidmFsaWRfYXQiIHJlZmVyZW5jZWQgaW4g T04gREVMRVRFIFNFVCBhY3Rpb24gY2Fubm90IGJlIFBFUklPRAorLS0gb2s6CitBTFRFUiBUQUJM RSB0ZW1wb3JhbF9mazJfcm5nMnJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3Ju ZzJybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycm5nX2ZrCisgICAg Rk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAg ICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgKHBhcmVu dF9pZDEpIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgor REVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBw YXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAx LDIwMTktMDEtMDEpIHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMTktMDEt MDEsMjAyMC0wMS0wMSkgfCAgICAgICAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAyMC0w MS0wMSwyMDIxLTAxLTAxKSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9u LUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbNiw3 KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAs MTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9h dCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkg fCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8ICAgICAgICAgICAgfCBbNiw3KQorIFsxMDAsMTAx KSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgICAgICAgICAgICB8IFs2LDcpCisgWzEwMCwx MDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCAgICAgICAgICAgIHwgWzYsNykKKygzIHJv d3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVt cG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScs IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScs IGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikg VkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn KSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlk MSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBw YXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IFsyMDE4LTAxLTAx LDIwMjAtMDEtMDEpIHwgICAgICAgICAgICB8IFs4LDkpCisgWzIwMCwyMDEpIHwgWzIwMjAtMDEt MDEsMjAyMS0wMS0wMSkgfCBbOCw5KSAgICAgIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0 ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQor LS0KK1RSVU5DQVRFIHRlbXBvcmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9ybmcycm5nOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFd JywgJ1stMSwtMV0nLCBkYXRlcmFuZ2UobnVsbCwgbnVsbCkpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsIGRh dGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFM VUVTICgnWzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwg J1s2LDcpJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcm5nMnJuZworICBB TFRFUiBDT0xVTU4gcGFyZW50X2lkMSBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIEFMVEVSIENP TFVNTiBwYXJlbnRfaWQyIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrMl9ybmcycm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJf cm5nMnJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJ T0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcyCisgICAgT04gREVMRVRF IFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxlZnRvdmVycyBvbiBib3Ro IHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZDEgPSAnWzcsOCknLCBpZDIgPSAn WzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9y bmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAg IGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9p ZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFs2LDcp ICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgWy0x LDApICAgICB8IFstMSwwKQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwg WzYsNykgICAgICB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK1VQREFU RSB0ZW1wb3JhbF9ybmcyIFNFVCBpZDEgPSAnWzcsOCknLCBpZDIgPSAnWzcsOCknIFdIRVJFIGlk MSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlk ID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAg ICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBb MTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFstMSwwKSAgICAgfCBbLTEsMCkK KyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IFstMSwwKSAgICAgfCBbLTEs MCkKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFstMSwwKSAgICAgfCBb LTEsMCkKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5 KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5 KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwg cGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nMiBT RVQgaWQxID0gJ1s5LDEwKScsIGlkMiA9ICdbOSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5E IHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFy ZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwg Wy0xLDApICAgICB8IFstMSwwKQorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEp IHwgWzgsOSkgICAgICB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVu Y2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scykKKy0tCitUUlVOQ0FURSB0 ZW1wb3JhbF9ybmcyLCB0ZW1wb3JhbF9mazJfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdbLTEsLTFdJywg ZGF0ZXJhbmdlKG51bGwsIG51bGwpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwg aWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycm5n IChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAx KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3KScsICdbNiw3 KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9y bmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAx LTAxJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5n MnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBp ZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQy IAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3KSAg ICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IFstMSww KSAgICAgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2 LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lk MSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAx LTAxKSB8IFstMSwwKSAgICAgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIw LTAxLTAxKSB8IFstMSwwKSAgICAgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwy MDIxLTAxLTAxKSB8IFstMSwwKSAgICAgfCBbLTEsMCkKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9z cyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBp ZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0w MS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBp ZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAyMC0w MS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDEp JywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJywgJ1s4LDkp Jyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZh bGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsy X3JuZzJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Cisg ICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50 X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgWy0x LDApICAgICB8IFstMSwwKQorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwg WzgsOSkgICAgICB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2Vk IGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scywgU0VUIERFRkFVTFQgc3Vic2V0 KQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9ybmcycm5nOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEs LTFdJywgJ1s2LDcpJywgZGF0ZXJhbmdlKG51bGwsIG51bGwpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX2ZrMl9ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZB TFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyks ICdbNiw3KScsICdbNiw3KScpOworLS0gZmFpbHMgYmVjYXVzZSB5b3UgY2FuJ3Qgc2V0IHRoZSBQ RVJJT0QgY29sdW1uOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3JuZzJybmcKKyAgQUxURVIg Q09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmsyX3JuZzJybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr Ml9ybmcycm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBF UklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxF VEUgU0VUIERFRkFVTFQgKHZhbGlkX2F0KSBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CitFUlJPUjog IGNvbHVtbiAidmFsaWRfYXQiIHJlZmVyZW5jZWQgaW4gT04gREVMRVRFIFNFVCBhY3Rpb24gY2Fu bm90IGJlIFBFUklPRAorLS0gb2s6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcm5nMnJuZwor ICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMSBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1Ag Q09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVt cG9yYWxfZmsyX3JuZzJybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50 X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAg IE9OIERFTEVURSBTRVQgREVGQVVMVCAocGFyZW50X2lkMSkgT04gVVBEQVRFIFNFVCBERUZBVUxU OworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcy IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAx JyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJu ZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAg ICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAor LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3KSAgICAg IHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IFstMSwwKSAg ICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzYsNykg ICAgICB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK0RFTEVURSBGUk9N IHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwg cGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEp IHwgWy0xLDApICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0w MSkgfCBbLTEsMCkgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAx LTAxKSB8IFstMSwwKSAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3byBy ZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFs aWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjAtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFs aWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywg JzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFs aWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWzgsOSknLCBkYXRlcmFuZ2UobnVsbCwgbnVsbCkp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50 X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1w b3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAx Jzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAn WzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZh bGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAs MjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgWy0xLDApICAgICB8IFs4LDkpCisgWzIw MCwyMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbOCw5KSAgICAgIHwgWzgsOSkKKygy IHJvd3MpCisKIC0tCiAtLSB0ZXN0IEZPUkVJR04gS0VZLCBtdWx0aXJhbmdlIHJlZmVyZW5jZXMg bXVsdGlyYW5nZQogLS0KQEAgLTI0MTMsNiArMjk5NCw2MjYgQEAgREVUQUlMOiAgS2V5IChpZCwg dmFsaWRfYXQpPShbNSw2KSwge1syMDE4LTAxLTAxLDIwMTgtMDEtMDIpLFsyMDE4LTAxLTAzLDIw MTgtMDIKIERFTEVURSBGUk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAn WzMsNCknOwogREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nIFdIRVJFIGlkID0gJ1s1LDYpJyBB TkQgdmFsaWRfYXQgPSBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAx OC0wMi0wMScpKTsKIC0tCistLQorLS0gbWx0cm5nMm1sdHJuZyB0ZXN0IE9OIFVQREFURS9ERUxF VEUgb3B0aW9ucworLS0KKy0tIFRPQzoKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVNDQURFCist LSByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERQorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBO VUxMCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwKKy0tIHJlZmVyZW5jZWQgdXBkYXRl cyBTRVQgREVGQVVMVAorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUCistLSByZWZl cmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBk ZWxldGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBT RVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxM ICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBz Y2FsYXIgY29scywgU0VUIE5VTEwgc3Vic2V0KQorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBE RUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFV TFQgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVCAo dHdvIHNjYWxhciBjb2xzLCBTRVQgREVGQVVMVCBzdWJzZXQpCistLQorLS0gdGVzdCBGSyByZWZl cmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX21sdHJuZywgdGVt cG9yYWxfZmtfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQs IHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAx OC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX21sdHJu ZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBk YXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2 LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nCisgIERST1AgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwg UEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfbWx0cm5nCisgICAgT04g REVMRVRFIENBU0NBREUgT04gVVBEQVRFIENBU0NBREU7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBz aWRlczoKK1VQREFURSB0ZW1wb3JhbF9tbHRybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRh dGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBTRVQg aWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAg ICAgICAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEp IHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFs2 LDcpCisgWzEwMCwxMDEpIHwge1syMDE5LTAxLTAxLDIwMjAtMDEtMDEpfSAgICAgICAgICAgICAg ICAgICAgICAgICB8IFs3LDgpCisoMiByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK1VQREFU RSB0ZW1wb3JhbF9tbHRybmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwx MDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgICAgICAgICAg ICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0w MS0wMSwyMDIxLTAxLTAxKX0gfCBbNyw4KQorIFsxMDAsMTAxKSB8IHtbMjAxOS0wMS0wMSwyMDIw LTAxLTAxKX0gICAgICAgICAgICAgICAgICAgICAgICAgfCBbNyw4KQorKDIgcm93cykKKworLS0g RksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRy bmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9t bHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRl cmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIw MCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSksICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX21sdHJuZyBTRVQgaWQgPSAnWzksMTAp JyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMjAw LDIwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgIHZhbGlk X2F0ICAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwge1syMDE4LTAxLTAxLDIwMjAtMDEt MDEpfSB8IFs5LDEwKQorIFsyMDAsMjAxKSB8IHtbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBb OCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NB REUKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcsIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRy bmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgn WzYsNyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRf YXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJh bmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3KScpOworLS0gbGVmdG92ZXJz IG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIw LTAxLTAxJykpKSBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr X21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisgICAgaWQgICAgIHwgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAg ICAgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8 IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbNiw3 KQorKDEgcm93KQorCistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21s dHJuZyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJu ZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Cisg aWQgfCB2YWxpZF9hdCB8IHBhcmVudF9pZCAKKy0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLQor KDAgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVs dGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRl bXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9p ZCkgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnKSksICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfbWx0 cm5nIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRl OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sy MDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAgdmFs aWRfYXQgICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCB7WzIwMjAtMDEtMDEsMjAyMS0w MS0wMSl9IHwgWzgsOSkKKygxIHJvdykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRh dGVzIFNFVCBOVUxMCistLQorVFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nLCB0ZW1wb3JhbF9ma19t bHRybmcybWx0cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwgdmFsaWRfYXQp IFZBTFVFUyAoJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyAo aWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVtdWx0aXJh bmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzYsNyknKTsKK0FM VEVSIFRBQkxFIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrX21sdHJuZzJtbHRybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr X21sdHJuZzJtbHRybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFs aWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9tbHRybmcKKyAgICBPTiBERUxFVEUgU0VU IE5VTEwgT04gVVBEQVRFIFNFVCBOVUxMOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitV UERBVEUgdGVtcG9yYWxfbWx0cm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGly YW5nZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgU0VUIGlkID0gJ1s3 LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJu ZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Cisg ICAgaWQgICAgIHwgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAg ICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IHtbMjAx OC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbNiw3KQorIFsx MDAsMTAxKSB8IHtbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKX0gICAgICAgICAgICAgICAgICAgICAg ICAgfCAKKygyIHJvd3MpCisKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX21s dHJuZyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0 ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisg WzEwMCwxMDEpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEt MDEpfSB8IAorIFsxMDAsMTAxKSB8IHtbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKX0gICAgICAgICAg ICAgICAgICAgICAgICAgfCAKKygyIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNl ZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVF UyAoJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAt MDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZB TFVFUyAoJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIw MjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyAoaWQs IHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVtdWx0aXJhbmdl KGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzgsOSknKTsKK1VQREFU RSB0ZW1wb3JhbF9tbHRybmcgU0VUIGlkID0gJ1s5LDEwKScgV0hFUkUgaWQgPSAnWzgsOSknIEFO RCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgICB2YWxpZF9hdCAgICAgICAgICB8IHBhcmVudF9p ZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQor IFsyMDAsMjAxKSB8IHtbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKX0gfCAKKyBbMjAwLDIwMSkgfCB7 WzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0 IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTAorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX21s dHJuZywgdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21s dHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAw LDEwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpKSwgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9N IHRlbXBvcmFsX21sdHJuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2Uo ZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFdIRVJFIGlkID0gJ1s2LDcp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdb MTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgICAg ICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkIAorLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsy MDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFs2LDcpCisgWzEwMCwxMDEpIHwge1syMDE5LTAxLTAx LDIwMjAtMDEtMDEpfSAgICAgICAgICAgICAgICAgICAgICAgICB8IAorKDIgcm93cykKKworLS0g bm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcgV0hFUkUgaWQgPSAn WzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlk ID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAg ICAgICAgICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAgfCBwYXJlbnRfaWQg CistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCB7WzIwMTgtMDEtMDEsMjAxOS0wMS0w MSksWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgCisgWzEwMCwxMDEpIHwge1syMDE5LTAxLTAx LDIwMjAtMDEtMDEpfSAgICAgICAgICAgICAgICAgICAgICAgICB8IAorKDIgcm93cykKKworLS0g RksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRy bmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9t bHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRl cmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIw MCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSksICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nIFdIRVJFIGlkID0g J1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAgdmFsaWRfYXQgICAgICAgICAg fCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0KKyBbMjAwLDIwMSkgfCB7WzIwMTgtMDEtMDEsMjAyMC0wMS0wMSl9IHwgCisgWzIw MCwyMDEpIHwge1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFs4LDkpCisoMiByb3dzKQorCist LQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQKKy0tCitUUlVOQ0FU RSB0ZW1wb3JhbF9tbHRybmcsIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmc7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsIGRhdGVt dWx0aXJhbmdlKGRhdGVyYW5nZShudWxsLCBudWxsKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf bWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sx MDAsMTAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAx LTAxJykpLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcK KyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZCBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1Ag Q09OU1RSQUlOVCB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nX2ZrLAorICBBREQgQ09OU1RSQUlO VCB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9p ZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfbWx0cm5nCisgICAg T04gREVMRVRFIFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxlZnRvdmVy cyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX21sdHJuZyBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEt MDEnKSkpIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAgICAgICAgICAgICAgdmFsaWRf YXQgICAgICAgICAgICAgICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0K KyBbMTAwLDEwMSkgfCB7WzIwMTgtMDEtMDEsMjAxOS0wMS0wMSksWzIwMjAtMDEtMDEsMjAyMS0w MS0wMSl9IHwgWzYsNykKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAg ICAgICAgICAgICAgICAgICAgICAgIHwgWy0xLDApCisoMiByb3dzKQorCistLSBub24tRlBPIHVw ZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9tbHRybmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9 ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUg aWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAg ICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAgICAgICB8IHBhcmVudF9p ZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAx LTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCB7WzIw MTktMDEtMDEsMjAyMC0wMS0wMSl9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgWy0xLDApCiso MiByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVtdWx0 aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVt dWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lk KSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfbWx0cm5nIFNF VCBpZCA9ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTkt MDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdI RVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8 ICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCB7WzIwMTgt MDEtMDEsMjAyMC0wMS0wMSl9IHwgWy0xLDApCisgWzIwMCwyMDEpIHwge1syMDIwLTAxLTAxLDIw MjEtMDEtMDEpfSB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2Vk IGRlbGV0ZXMgU0VUIERFRkFVTFQKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcsIHRlbXBv cmFsX2ZrX21sdHJuZzJtbHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2 YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZShudWxs LCBudWxsKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZB TFVFUyAoJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyAoaWQs IHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVtdWx0aXJhbmdl KGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzYsNyknKTsKKy0tIGxl ZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEn LCAnMjAyMC0wMS0wMScpKSkgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAgICAgICAgICAgICAgdmFsaWRfYXQgICAg ICAgICAgICAgICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAw LDEwMSkgfCB7WzIwMTgtMDEtMDEsMjAxOS0wMS0wMSksWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9 IHwgWzYsNykKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAgICAgICAg ICAgICAgICAgICAgICAgIHwgWy0xLDApCisoMiByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToK K0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgICAgICAgICAgICAgICB2 YWxpZF9hdCAgICAgICAgICAgICAgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwy MDIxLTAxLTAxKX0gfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0w MSl9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgWy0xLDApCisoMiByb3dzKQorCistLSBGSyBh Y3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAo aWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgn MjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJu ZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5n ZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2Zr X21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIw MSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScp KSwgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcgV0hFUkUgaWQgPSAnWzgs OSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgICB2YWxpZF9hdCAgICAgICAgICB8IHBh cmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLQorIFsyMDAsMjAxKSB8IHtbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKX0gfCBbLTEsMCkKKyBb MjAwLDIwMSkgfCB7WzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWzgsOSkKKygyIHJvd3MpCisK Ky0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNv bHMpCistLQorVFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nMiwgdGVtcG9yYWxfZmsyX21sdHJuZzJt bHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQp IFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJu ZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgn WzEwMCwxMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEt MDEtMDEnKSksICdbNiw3KScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX21s dHJuZzJtbHRybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5n X2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZ19maworICAg IEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisg ICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9tbHRybmcyCisgICAgT04gREVMRVRFIENBU0NBREUgT04g VVBEQVRFIENBU0NBREU7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1w b3JhbF9tbHRybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRl cmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgU0VUIGlkMSA9ICdbNyw4KScgV0hF UkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRy bmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQg ICAgIHwgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAgICAgICB8 IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0KKyBbMTAwLDEwMSkgfCB7WzIwMTgtMDEtMDEsMjAxOS0wMS0wMSksWzIwMjAtMDEtMDEsMjAy MS0wMS0wMSl9IHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwge1syMDE5LTAxLTAx LDIwMjAtMDEtMDEpfSAgICAgICAgICAgICAgICAgICAgICAgICB8IFs3LDgpICAgICAgfCBbNiw3 KQorKDIgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfbWx0cm5n MiBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0 ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5 LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbNyw4KSAgICAgIHwgWzYsNykKKyBb MTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAgICAgICAgICAgICAgICAgICAg ICAgIHwgWzcsOCkgICAgICB8IFs2LDcpCisoMiByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJl ZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2 YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9t bHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0 ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50 X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbOCw5KScsICdbOCw5KScpOwor VVBEQVRFIHRlbXBvcmFsX21sdHJuZzIgU0VUIGlkMSA9ICdbOSwxMCknIFdIRVJFIGlkMSA9ICdb OCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgICB2YWxpZF9hdCAgICAgICAgICB8 IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCB7WzIwMTgt MDEtMDEsMjAyMC0wMS0wMSl9IHwgWzksMTApICAgICB8IFs4LDkpCisgWzIwMCwyMDEpIHwge1sy MDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykKKwor LS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29s cykKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcyLCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1s dHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkg VkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfbWx0cm5n Mm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdb MTAwLDEwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScpKSwgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoK K0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRh dGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBXSEVS RSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJu ZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAg ICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwg cGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIx LTAxLTAxKX0gfCBbNiw3KSAgICAgIHwgWzYsNykKKygxIHJvdykKKworLS0gbm9uLUZQTyBkZWxl dGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAs MTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworIGlkIHwgdmFsaWRfYXQgfCBwYXJlbnRfaWQx IHwgcGFyZW50X2lkMiAKKy0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t CisoMCByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSkn LCAnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0w MS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRf YXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcy MDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21s dHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVT ICgnWzIwMCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnKSksICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfbWx0 cm5nMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRh dGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0g J1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAg dmFsaWRfYXQgICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisg WzIwMCwyMDEpIHwge1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFs4LDkpICAgICAgfCBbOCw5 KQorKDEgcm93KQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwg KHR3byBzY2FsYXIgY29scykKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcyLCB0ZW1wb3Jh bF9mazJfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwg aWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRf aWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0 ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsy X21sdHJuZzJtbHRybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcy bWx0cm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklP RCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX21sdHJuZzIKKyAgICBPTiBERUxF VEUgU0VUIE5VTEwgT04gVVBEQVRFIFNFVCBOVUxMOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lk ZXM6CitVUERBVEUgdGVtcG9yYWxfbWx0cm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0 ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFNFVCBp ZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAgICAgICAgICAgICAgdmFsaWRfYXQgICAgICAg ICAgICAgICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEp LFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAx KSB8IHtbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKX0gICAgICAgICAgICAgICAgICAgICAgICAgfCAg ICAgICAgICAgIHwgCisoMiByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1w b3JhbF9tbHRybmcyIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAx KScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAgICAgICAgICAg ICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lk MiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwge1syMDE4 LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8ICAgICAgICAgICAg fCAKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAgICAgICAgICAgICAg ICAgICAgICAgIHwgICAgICAgICAgICB8IAorKDIgcm93cykKKworLS0gRksgYWNyb3NzIHR3byBy ZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwg dmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJh bmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf bWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRh dGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVu dF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVtdWx0aXJhbmdlKGRh dGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzgsOSknLCAnWzgsOSknKTsK K1VQREFURSB0ZW1wb3JhbF9tbHRybmcyIFNFVCBpZDEgPSAnWzksMTApJyBXSEVSRSBpZDEgPSAn WzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAgdmFsaWRfYXQgICAgICAgICAg fCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwge1syMDE4 LTAxLTAxLDIwMjAtMDEtMDEpfSB8ICAgICAgICAgICAgfCAKKyBbMjAwLDIwMSkgfCB7WzIwMjAt MDEtMDEsMjAyMS0wMS0wMSl9IHwgWzgsOSkgICAgICB8IFs4LDkpCisoMiByb3dzKQorCistLQor LS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scykK Ky0tCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcyLCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJu ZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFM VUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1s dHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAw LDEwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpKSwgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RF TEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVt dWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBXSEVSRSBp ZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBX SEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAg fCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwgcGFy ZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQor IFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAx LTAxKX0gfCBbNiw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAy MC0wMS0wMSl9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICB8IAorKDIgcm93 cykKKworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcyIFdI RVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0 cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlk ICAgICB8ICAgICAgICAgICAgICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAg fCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tCisgWzEwMCwxMDEpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIw MjEtMDEtMDEpfSB8ICAgICAgICAgICAgfCAKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAy MC0wMS0wMSl9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICB8IAorKDIgcm93 cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkp JywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxV RVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0w MScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0 cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAs MjAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAx JykpLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZzIgV0hF UkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMjAwLDIw MSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgIHZhbGlkX2F0 ICAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAx KSB8IHtbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKX0gfCAgICAgICAgICAgIHwgCisgWzIwMCwyMDEp IHwge1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93 cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2Nh bGFyIGNvbHMsIFNFVCBOVUxMIHN1YnNldCkKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcy LCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJu ZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlbXVs dGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQx LCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBm YWlscyBiZWNhdXNlIHlvdSBjYW4ndCBzZXQgdGhlIFBFUklPRCBjb2x1bW46CitBTFRFUiBUQUJM RSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxf ZmsyX21sdHJuZzJtbHRybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRy bmcybWx0cm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBF UklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX21sdHJuZzIKKyAgICBPTiBE RUxFVEUgU0VUIE5VTEwgKHZhbGlkX2F0KSBPTiBVUERBVEUgU0VUIE5VTEw7CitFUlJPUjogIGNv bHVtbiAidmFsaWRfYXQiIHJlZmVyZW5jZWQgaW4gT04gREVMRVRFIFNFVCBhY3Rpb24gY2Fubm90 IGJlIFBFUklPRAorLS0gb2s6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJu ZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmdfZmssCisgIEFE RCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nX2ZrCisgICAgRk9SRUlHTiBL RVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVO Q0VTIHRlbXBvcmFsX21sdHJuZzIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgKHBhcmVudF9pZDEp IE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRF IEZST00gdGVtcG9yYWxfbWx0cm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRp cmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFdIRVJFIGlkMSA9 ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJF IGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAg ICAgICAgICAgICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAgfCBwYXJlbnRf aWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEw MCwxMDEpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEp fSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IHtbMjAxOS0wMS0wMSwyMDIwLTAx LTAxKX0gICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgIHwgWzYsNykKKygyIHJv d3MpCisKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nMiBX SEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1s dHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBp ZCAgICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAg IHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwy MDIxLTAxLTAxKX0gfCAgICAgICAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEt MDEsMjAyMC0wMS0wMSl9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICB8IFs2 LDcpCisoMiByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgs OSknLCAnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAy MC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFs aWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdl KCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsy X21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFM VUVTICgnWzIwMCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSksICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxf bWx0cm5nMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6 OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlk ID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAg ICAgdmFsaWRfYXQgICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t CisgWzIwMCwyMDEpIHwge1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpfSB8ICAgICAgICAgICAgfCBb OCw5KQorIFsyMDAsMjAxKSB8IHtbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbOCw5KSAgICAg IHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBT RVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX21sdHJu ZzIsIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0 cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgJ1stMSwtMV0nLCBk YXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UobnVsbCwgbnVsbCkpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNykn LCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBw YXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlbXVsdGlyYW5n ZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJywgJ1s2LDcp Jyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZworICBBTFRFUiBDT0xV TU4gcGFyZW50X2lkMSBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIEFMVEVSIENPTFVNTiBwYXJl bnRfaWQyIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrMl9tbHRybmcybWx0cm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfbWx0 cm5nMm1sdHJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQ RVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9tbHRybmcyCisgICAgT04g REVMRVRFIFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxlZnRvdmVycyBv biBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX21sdHJuZzIgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAx JykpKSBTRVQgaWQxID0gJ1s3LDgpJywgaWQyID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNykn OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdb MTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgICAg ICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBh cmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8 IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbNiw3 KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAg ICAgICAgICAgICAgICAgICAgICAgIHwgWy0xLDApICAgICB8IFstMSwwKQorKDIgcm93cykKKwor LS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfbWx0cm5nMiBTRVQgaWQxID0gJ1s3 LDgpJywgaWQyID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0 ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5 LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbLTEsMCkgICAgIHwgWy0xLDApCisg WzEwMCwxMDEpIHwge1syMDE5LTAxLTAxLDIwMjAtMDEtMDEpfSAgICAgICAgICAgICAgICAgICAg ICAgICB8IFstMSwwKSAgICAgfCBbLTEsMCkKKygyIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28g cmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIs IHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBk YXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJl bnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s4LDkpJywgJ1s4LDkpJyk7 CitVUERBVEUgdGVtcG9yYWxfbWx0cm5nMiBTRVQgaWQxID0gJ1s5LDEwKScsIGlkMiA9ICdbOSwx MCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0 ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAn WzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgICB2 YWxpZF9hdCAgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBb MjAwLDIwMSkgfCB7WzIwMTgtMDEtMDEsMjAyMC0wMS0wMSl9IHwgWy0xLDApICAgICB8IFstMSww KQorIFsyMDAsMjAxKSB8IHtbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbOCw5KSAgICAgIHwg WzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQg REVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX21sdHJuZzIs IHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5n MiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgJ1stMSwtMV0nLCBkYXRl bXVsdGlyYW5nZShkYXRlcmFuZ2UobnVsbCwgbnVsbCkpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBk YXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJl bnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJywgJ1s2LDcpJyk7 CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJu ZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAx OS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgICAgICAgICAgICAgIHZh bGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCist LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0w MSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbNiw3KSAgICAgIHwgWzYs NykKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAgICAgICAgICAgICAg ICAgICAgICAgIHwgWy0xLDApICAgICB8IFstMSwwKQorKDIgcm93cykKKworLS0gbm9uLUZQTyB1 cGRhdGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcyIFdIRVJFIGlkMSA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sx MDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAgICAg ICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFy ZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwg e1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFstMSww KSAgICAgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAg ICAgICAgICAgICAgICAgICAgICAgIHwgWy0xLDApICAgICB8IFstMSwwKQorKDIgcm93cykKKwor LS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9t bHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0 ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdb OCw5KScsICdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcy MDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIChp ZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAxKScs IGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAn WzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZzIgV0hFUkUgaWQx ID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgIHZhbGlkX2F0ICAgICAg ICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IHtb MjAxOC0wMS0wMSwyMDIwLTAxLTAxKX0gfCBbLTEsMCkgICAgIHwgWy0xLDApCisgWzIwMCwyMDEp IHwge1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93 cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28g c2NhbGFyIGNvbHMsIFNFVCBERUZBVUxUIHN1YnNldCkKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9t bHRybmcyLCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdbNiw3KScs IGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZShudWxsLCBudWxsKSkpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3 KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykp KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQs IHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVtdWx0aXJh bmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzYsNyknLCAnWzYs NyknKTsKKy0tIGZhaWxzIGJlY2F1c2UgeW91IGNhbid0IHNldCB0aGUgUEVSSU9EIGNvbHVtbjoK K0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nCisgIEFMVEVSIENPTFVNTiBw YXJlbnRfaWQxIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrMl9tbHRybmcybWx0cm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJf bWx0cm5nMm1sdHJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQy LCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9tbHRybmcyCisgICAg T04gREVMRVRFIFNFVCBERUZBVUxUICh2YWxpZF9hdCkgT04gVVBEQVRFIFNFVCBERUZBVUxUOwor RVJST1I6ICBjb2x1bW4gInZhbGlkX2F0IiByZWZlcmVuY2VkIGluIE9OIERFTEVURSBTRVQgYWN0 aW9uIGNhbm5vdCBiZSBQRVJJT0QKKy0tIG9rOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX21s dHJuZzJtbHRybmcKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQgJ1stMSwt MV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmdfZmssCisg IEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nX2ZrCisgICAgRk9SRUlH TiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZF UkVOQ0VTIHRlbXBvcmFsX21sdHJuZzIKKyAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgKHBhcmVu dF9pZDEpIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVz OgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAo ZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFdI RVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0 cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlk ICAgICB8ICAgICAgICAgICAgICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAg fCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tCisgWzEwMCwxMDEpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIw MjEtMDEtMDEpfSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IHtbMjAxOS0wMS0w MSwyMDIwLTAxLTAxKX0gICAgICAgICAgICAgICAgICAgICAgICAgfCBbLTEsMCkgICAgIHwgWzYs NykKKygyIHJvd3MpCisKKy0tIG5vbi1GUE8gdXBkYXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxf bWx0cm5nMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJf bWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKKyAgICBpZCAgICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAg ICAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAy MC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbLTEsMCkgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCB7 WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgWy0xLDAp ICAgICB8IFs2LDcpCisoMiByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93 czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFM VUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEs IGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2Uo ZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgJ1s4 LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKG51bGwsIG51bGwpKSk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBw YXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2Uo JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9tbHRybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJt bHRybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAg aWQgICAgIHwgICAgICAgICB2YWxpZF9hdCAgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRf aWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCB7WzIwMTgtMDEtMDEsMjAyMC0wMS0wMSl9IHwg Wy0xLDApICAgICB8IFs4LDkpCisgWzIwMCwyMDEpIHwge1syMDIwLTAxLTAxLDIwMjEtMDEtMDEp fSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykKKworLS0gRksgd2l0aCBhIGN1c3RvbSBy YW5nZSB0eXBlCitDUkVBVEUgVFlQRSBteWRhdGVyYW5nZSBBUyByYW5nZShzdWJ0eXBlPWRhdGUp OworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3JuZzMgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlk X2F0IG15ZGF0ZXJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3JuZzNfcGsgUFJJTUFSWSBL RVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0NSRUFURSBUQUJMRSB0ZW1w b3JhbF9mazNfcm5nMnJuZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgbXlkYXRlcmFu Z2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmszX3Ju ZzJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAg Q09OU1RSQUlOVCB0ZW1wb3JhbF9mazNfcm5nMnJuZ19mayBGT1JFSUdOIEtFWSAocGFyZW50X2lk LCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmczIChpZCwgUEVS SU9EIHZhbGlkX2F0KSBPTiBERUxFVEUgQ0FTQ0FERQorKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3JuZzMgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBteWRhdGVyYW5nZSgnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmszX3JuZzJybmcg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbNSw2KScsIG15ZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3Jh bF9ybmczIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIw LTAxLTAxJyBXSEVSRSBpZCA9ICdbOCw5KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrM19y bmcycm5nIFdIRVJFIGlkID0gJ1s1LDYpJzsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAg ICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tCisgWzUsNikgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFs4LDkpCisgWzUsNikg fCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs4LDkpCisoMiByb3dzKQorCitEUk9QIFRBQkxF IHRlbXBvcmFsX2ZrM19ybmcycm5nOworRFJPUCBUQUJMRSB0ZW1wb3JhbF9ybmczOworRFJPUCBU WVBFIG15ZGF0ZXJhbmdlOworLS0KIC0tIEZLIGJldHdlZW4gcGFydGl0aW9uZWQgdGFibGVzOiBy YW5nZXMKIC0tCiBDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nICgKQEAgLTI0 MjEsOCArMzYyMiw4IEBAIENSRUFURSBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKAog ICBuYW1lIHRleHQsCiAgIENPTlNUUkFJTlQgdGVtcG9yYWxfcGFyaXRpb25lZF9ybmdfcGsgUFJJ TUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQogKSBQQVJUSVRJT04gQlkg TElTVCAoaWQpOwotQ1JFQVRFIFRBQkxFIHRwMSBwYXJ0aXRpb24gT0YgdGVtcG9yYWxfcGFydGl0 aW9uZWRfcm5nIEZPUiBWQUxVRVMgSU4gKCdbMSwyKScsICdbMyw0KScsICdbNSw2KScsICdbNyw4 KScsICdbOSwxMCknLCAnWzExLDEyKScpOwotQ1JFQVRFIFRBQkxFIHRwMiBwYXJ0aXRpb24gT0Yg dGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIEZPUiBWQUxVRVMgSU4gKCdbMiwzKScsICdbNCw1KScs ICdbNiw3KScsICdbOCw5KScsICdbMTAsMTEpJywgJ1sxMiwxMyknKTsKK0NSRUFURSBUQUJMRSB0 cDEgUEFSVElUSU9OIE9GIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgVkFMVUVTIElOICgn WzEsMiknLCAnWzMsNCknLCAnWzUsNiknLCAnWzcsOCknLCAnWzksMTApJywgJ1sxMSwxMiknLCAn WzEzLDE0KScsICdbMTUsMTYpJywgJ1sxNywxOCknLCAnWzE5LDIwKScsICdbMjEsMjIpJywgJ1sy MywyNCknKTsKK0NSRUFURSBUQUJMRSB0cDIgUEFSVElUSU9OIE9GIHRlbXBvcmFsX3BhcnRpdGlv bmVkX3JuZyBGT1IgVkFMVUVTIElOICgnWzAsMSknLCAnWzIsMyknLCAnWzQsNSknLCAnWzYsNykn LCAnWzgsOSknLCAnWzEwLDExKScsICdbMTIsMTMpJywgJ1sxNCwxNSknLCAnWzE2LDE3KScsICdb MTgsMTkpJywgJ1syMCwyMSknLCAnWzIyLDIzKScsICdbMjQsMjUpJyk7CiBJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVTCiAgICgn WzEsMiknLCBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAwMC0wMi0wMScpLCAnb25lJyksCiAg ICgnWzEsMiknLCBkYXRlcmFuZ2UoJzIwMDAtMDItMDEnLCAnMjAwMC0wMy0wMScpLCAnb25lJyks CkBAIC0yNDM1LDggKzM2MzYsOCBAQCBDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRf Zmtfcm5nMnJuZyAoCiAgIENPTlNUUkFJTlQgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJu Z19mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCiAgICAgUkVGRVJF TkNFUyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCiApIFBB UlRJVElPTiBCWSBMSVNUIChpZCk7Ci1DUkVBVEUgVEFCTEUgdGZrcDEgcGFydGl0aW9uIE9GIHRl bXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgRk9SIFZBTFVFUyBJTiAoJ1sxLDIpJywgJ1sz LDQpJywgJ1s1LDYpJywgJ1s3LDgpJywgJ1s5LDEwKScsICdbMTEsMTIpJyk7Ci1DUkVBVEUgVEFC TEUgdGZrcDIgcGFydGl0aW9uIE9GIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgRk9S IFZBTFVFUyBJTiAoJ1syLDMpJywgJ1s0LDUpJywgJ1s2LDcpJywgJ1s4LDkpJywgJ1sxMCwxMSkn LCAnWzEyLDEzKScpOworQ1JFQVRFIFRBQkxFIHRma3AxIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ma19ybmcycm5nIEZPUiBWQUxVRVMgSU4gKCdbMSwyKScsICdbMyw0KScsICdb NSw2KScsICdbNyw4KScsICdbOSwxMCknLCAnWzExLDEyKScsICdbMTMsMTQpJywgJ1sxNSwxNikn LCAnWzE3LDE4KScsICdbMTksMjApJywgJ1syMSwyMiknLCAnWzIzLDI0KScpOworQ1JFQVRFIFRB QkxFIHRma3AyIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIEZP UiBWQUxVRVMgSU4gKCdbMCwxKScsICdbMiwzKScsICdbNCw1KScsICdbNiw3KScsICdbOCw5KScs ICdbMTAsMTEpJywgJ1sxMiwxMyknLCAnWzE0LDE1KScsICdbMTYsMTcpJywgJ1sxOCwxOSknLCAn WzIwLDIxKScsICdbMjIsMjMpJywgJ1syNCwyNSknKTsKIC0tCiAtLSBwYXJ0aXRpb25lZCBGSyBy ZWZlcmVuY2luZyBpbnNlcnRzCiAtLQpAQCAtMjQ3OCw3ICszNjc5LDcgQEAgVVBEQVRFIHRlbXBv cmFsX3BhcnRpdGlvbmVkX3JuZyBTRVQgdmFsaWRfYXQgPSBkYXRlcmFuZ2UoJzIwMTYtMDItMDEn LCAnMjAxNi0wMy0KIC0tIHNob3VsZCBmYWlsOgogVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVk X3JuZyBTRVQgdmFsaWRfYXQgPSBkYXRlcmFuZ2UoJzIwMTYtMDEtMDEnLCAnMjAxNi0wMi0wMScp CiAgIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSBkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAxOC0wMi0wMScpOwotRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0 cDEiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX3BhcnRpdGlvbmVk X2ZrX3JuZzJybmdfZmtfMSIgb24gdGFibGUgInRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJy bmciCitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRwMSIgdmlvbGF0ZXMgZm9y ZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZ19ma18y IiBvbiB0YWJsZSAidGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyIKIERFVEFJTDogIEtl eSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4LTAxLTAxLDIwMTgtMDItMDEpKSBpcyBzdGls bCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmci LgogLS0KIC0tIHBhcnRpdGlvbmVkIEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBOTyBBQ1RJT04KQEAg LTI0OTAsMzcgKzM2OTEsMTYyIEBAIElOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2Zr X3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbCiBERUxFVEUgRlJP TSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9h dCA9IGRhdGVyYW5nZSgnMjAxOC0wMi0wMScsICcyMDE4LTAzLTAxJyk7CiAtLSBzaG91bGQgZmFp bDoKIERFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBXSEVSRSBpZCA9ICdbNSw2 KScgQU5EIHZhbGlkX2F0ID0gZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKTsK LUVSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidHAxIiB2aW9sYXRlcyBmb3JlaWdu IGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nX2ZrXzEiIG9u IHRhYmxlICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIgorRVJST1I6ICB1cGRhdGUg b3IgZGVsZXRlIG9uIHRhYmxlICJ0cDEiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQg InRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmdfZmtfMiIgb24gdGFibGUgInRlbXBvcmFs X3BhcnRpdGlvbmVkX2ZrX3JuZzJybmciCiBERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1 LDYpLCBbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRh YmxlICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIi4KIC0tCiAtLSBwYXJ0aXRpb25l ZCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQogLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3Bh cnRpdGlvbmVkX3JuZywgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZzsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3 KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQp IFZBTFVFUyAoJ1s0LDUpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwg J1s2LDcpJyk7CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nCiAg IERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nX2ZrLAogICBB REQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nX2ZrCiAgICAgRk9S RUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQogICAgIFJFRkVSRU5DRVMgdGVt cG9yYWxfcGFydGl0aW9uZWRfcm5nCiAgICAgT04gREVMRVRFIENBU0NBREUgT04gVVBEQVRFIENB U0NBREU7Ci1FUlJPUjogIHVuc3VwcG9ydGVkIE9OIFVQREFURSBhY3Rpb24gZm9yIGZvcmVpZ24g a2V5IGNvbnN0cmFpbnQgdXNpbmcgUEVSSU9ECitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRf cm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAx LTAxJyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbNCw1KSc7CisgIGlk ICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFs0LDUpIHwgWzIwMTktMDEtMDEsMjAy MC0wMS0wMSkgfCBbNyw4KQorIFs0LDUpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3 KQorIFs0LDUpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbNiw3KQorKDMgcm93cykKKwor VVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlk ID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJu ZyBXSEVSRSBpZCA9ICdbNCw1KSc7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8 IHBhcmVudF9pZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LQorIFs0LDUpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCBbNyw4KQorIFs0LDUpIHwgWzIw MTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNyw4KQorIFs0LDUpIHwgWzIwMjAtMDEtMDEsMjAyMS0w MS0wMSkgfCBbNyw4KQorKDMgcm93cykKKworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9u ZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxNSwxNiknLCBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVk X3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTUsMTYpJywgZGF0ZXJhbmdlKCcyMDIwLTAx LTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9m a19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwLDExKScsIGRh dGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbMTUsMTYpJyk7CitVUERBVEUg dGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIFNFVCBpZCA9ICdbMTYsMTcpJyBXSEVSRSBpZCA9ICdb MTUsMTYpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sxMCwxMSknOwor ICAgaWQgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwLDExKSB8IFsyMDE4 LTAxLTAxLDIwMjAtMDEtMDEpIHwgWzE2LDE3KQorIFsxMCwxMSkgfCBbMjAyMC0wMS0wMSwyMDIx LTAxLTAxKSB8IFsxNSwxNikKKygyIHJvd3MpCisKIC0tCiAtLSBwYXJ0aXRpb25lZCBGSyByZWZl cmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERQogLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVk X3JuZywgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAo J1s1LDYpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJyk7 CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s4LDkp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBp ZCA9ICdbNSw2KSc7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9p ZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFs1LDYp IHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbOCw5KQorIFs1LDYpIHwgWzIwMjAtMDEtMDEs MjAyMS0wMS0wMSkgfCBbOCw5KQorKDIgcm93cykKKworREVMRVRFIEZST00gdGVtcG9yYWxfcGFy dGl0aW9uZWRfcm5nIFdIRVJFIGlkID0gJ1s4LDkpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf cGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbNSw2KSc7CisgaWQgfCB2YWxpZF9h dCB8IHBhcmVudF9pZCAKKy0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorKDAgcm93cykKKwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVF UyAoJ1sxNywxOCknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMg KCdbMTcsMTgpJywgZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBh cmVudF9pZCkgVkFMVUVTICgnWzExLDEyKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIx LTAxLTAxJyksICdbMTcsMTgpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9y bmcgV0hFUkUgaWQgPSAnWzE3LDE4KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0 ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBp ZCA9ICdbMTEsMTIpJzsKKyAgIGlkICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJl bnRfaWQgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQor IFsxMSwxMikgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFsxNywxOCkKKygxIHJvdykKKwog LS0KIC0tIHBhcnRpdGlvbmVkIEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTAogLS0KK1RS VU5DQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZywgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtf cm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlk X2F0KSBWQUxVRVMgKCdbOSwxMCknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgKGlkLCB2 YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbNiw3KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0w MScsICcyMDIxLTAxLTAxJyksICdbOSwxMCknKTsKIEFMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRp dGlvbmVkX2ZrX3JuZzJybmcKICAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX3BhcnRpdGlvbmVk X2ZrX3JuZzJybmdfZmssCiAgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2Zr X3JuZzJybmdfZmsKICAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQp CiAgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcKICAgICBPTiBERUxFVEUg U0VUIE5VTEwgT04gVVBEQVRFIFNFVCBOVUxMOwotRVJST1I6ICB1bnN1cHBvcnRlZCBPTiBVUERB VEUgYWN0aW9uIGZvciBmb3JlaWduIGtleSBjb25zdHJhaW50IHVzaW5nIFBFUklPRAorVVBEQVRF IHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkID0gJ1sxMCwxMSknIFdIRVJFIGlkID0g J1s5LDEwKSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcg V0hFUkUgaWQgPSAnWzYsNyknOworICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBw YXJlbnRfaWQgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0K KyBbNiw3KSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgCisgWzYsNykgfCBbMjAxOC0wMS0w MSwyMDE5LTAxLTAxKSB8IFs5LDEwKQorIFs2LDcpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkg fCBbOSwxMCkKKygzIHJvd3MpCisKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgU0VU IGlkID0gJ1sxMCwxMSknIFdIRVJFIGlkID0gJ1s5LDEwKSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzYsNyknOworICBpZCAgIHwg ICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbNiw3KSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEt MDEpIHwgCisgWzYsNykgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IAorIFs2LDcpIHwgWzIw MjAtMDEtMDEsMjAyMS0wMS0wMSkgfCAKKygzIHJvd3MpCisKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTgsMTkpJywgZGF0ZXJh bmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzE4LDE5KScsIGRhdGVyYW5n ZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFy dGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sx MiwxMyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzE4LDE5KScp OworVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBTRVQgaWQgPSAnWzE5LDIwKScgV0hF UkUgaWQgPSAnWzE4LDE5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdb MTIsMTMpJzsKKyAgIGlkICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQg CistLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMiwx MykgfCBbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKSB8IAorIFsxMiwxMykgfCBbMjAyMC0wMS0wMSwy MDIxLTAxLTAxKSB8IFsxOCwxOSkKKygyIHJvd3MpCisKIC0tCiAtLSBwYXJ0aXRpb25lZCBGSyBy ZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwKIC0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ybmcsIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzExLDEyKScs IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZB TFVFUyAoJ1s3LDgpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1sx MSwxMiknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQg PSAnWzExLDEyKSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJy bmcgV0hFUkUgaWQgPSAnWzcsOCknOworICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAg fCBwYXJlbnRfaWQgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0KKyBbNyw4KSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgCisgWzcsOCkgfCBbMjAxOC0w MS0wMSwyMDE5LTAxLTAxKSB8IFsxMSwxMikKKyBbNyw4KSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEt MDEpIHwgWzExLDEyKQorKDMgcm93cykKKworREVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0aW9u ZWRfcm5nIFdIRVJFIGlkID0gJ1sxMSwxMiknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1s3LDgpJzsKKyAgaWQgICB8ICAgICAgICB2 YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tCisgWzcsOCkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IAor IFs3LDgpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCAKKyBbNyw4KSB8IFsyMDIwLTAxLTAx LDIwMjEtMDEtMDEpIHwgCisoMyByb3dzKQorCitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzIwLDIxKScsIGRhdGVyYW5nZSgnMjAx OC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9u ZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1syMCwyMSknLCBkYXRlcmFuZ2UoJzIwMjAt MDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVk X2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTMsMTQpJywg ZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1syMCwyMSknKTsKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBXSEVSRSBpZCA9ICdbMjAsMjEpJyBBTkQg dmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sxMywxNCknOworICAgaWQgICAgfCAg ICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEzLDE0KSB8IFsyMDE4LTAxLTAxLDIwMjAt MDEtMDEpIHwgCisgWzEzLDE0KSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzIwLDIxKQor KDIgcm93cykKKwogLS0KIC0tIHBhcnRpdGlvbmVkIEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQg REVGQVVMVAogLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZywgdGVtcG9yYWxf cGFydGl0aW9uZWRfZmtfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVk X3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMCwxKScsIGRhdGVyYW5nZShudWxsLCBudWxs KSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9hdCkg VkFMVUVTICgnWzEyLDEzKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZhbGlk X2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSwgJ1sxMiwxMyknKTsKIEFMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlv bmVkX2ZrX3JuZzJybmcKICAgQUxURVIgQ09MVU1OIHBhcmVudF9pZCBTRVQgREVGQVVMVCAnWy0x LC0xXScsCiAgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5n X2ZrLApAQCAtMjUyOCwxMCArMzg1NCw3MyBAQCBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ma19ybmcycm5nCiAgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlk X2F0KQogICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nCiAgICAgT04gREVM RVRFIFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQgREVGQVVMVDsKLUVSUk9SOiAgdW5zdXBwb3J0 ZWQgT04gVVBEQVRFIGFjdGlvbiBmb3IgZm9yZWlnbiBrZXkgY29uc3RyYWludCB1c2luZyBQRVJJ T0QKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZCA9ICdbMTMsMTQpJyBX SEVSRSBpZCA9ICdbMTIsMTMpJzsKK0VSUk9SOiAgaW5zZXJ0IG9yIHVwZGF0ZSBvbiB0YWJsZSAi dGZrcDIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX3BhcnRpdGlv bmVkX2ZrX3JuZzJybmdfZmsiCitERVRBSUw6ICBLZXkgKHBhcmVudF9pZCwgdmFsaWRfYXQpPShb LTEsMCksIFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpKSBpcyBub3QgcHJlc2VudCBpbiB0YWJsZSAi dGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIi4KK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0 aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbOCw5KSc7CisgIGlkICAgfCAgICAgICAgdmFs aWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLQorIFs4LDkpIHwgWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSkgfCBbMTIs MTMpCisoMSByb3cpCisKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgU0VUIGlkID0g J1sxMywxNCknIFdIRVJFIGlkID0gJ1sxMiwxMyknOworRVJST1I6ICBpbnNlcnQgb3IgdXBkYXRl IG9uIHRhYmxlICJ0ZmtwMiIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9y YWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZ19mayIKK0RFVEFJTDogIEtleSAocGFyZW50X2lkLCB2 YWxpZF9hdCk9KFstMSwwKSwgWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSkpIGlzIG5vdCBwcmVzZW50 IGluIHRhYmxlICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmciLgorU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1s4LDkpJzsKKyAgaWQgICB8 ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzgsOSkgfCBbMjAxOC0wMS0wMSwyMDIxLTAx LTAxKSB8IFsxMiwxMykKKygxIHJvdykKKworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9u ZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1syMiwyMyknLCBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVk X3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMjIsMjMpJywgZGF0ZXJhbmdlKCcyMDIwLTAx LTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9m a19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzE0LDE1KScsIGRh dGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbMjIsMjMpJyk7CitVUERBVEUg dGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIFNFVCBpZCA9ICdbMjMsMjQpJyBXSEVSRSBpZCA9ICdb MjIsMjMpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworRVJST1I6ICBpbnNl cnQgb3IgdXBkYXRlIG9uIHRhYmxlICJ0ZmtwMiIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3Ry YWludCAidGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZ19mayIKK0RFVEFJTDogIEtleSAo cGFyZW50X2lkLCB2YWxpZF9hdCk9KFstMSwwKSwgWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkpIGlz IG5vdCBwcmVzZW50IGluIHRhYmxlICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmciLgorU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sxNCwx NSknOworICAgaWQgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzE0LDE1KSB8 IFsyMDE4LTAxLTAxLDIwMjEtMDEtMDEpIHwgWzIyLDIzKQorKDEgcm93KQorCiAtLQogLS0gcGFy dGl0aW9uZWQgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUCiAtLQorVFJVTkNBVEUg dGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nLCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5n OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZB TFVFUyAoJ1swLDEpJywgZGF0ZXJhbmdlKG51bGwsIG51bGwpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTQsMTUpJywgZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVT ICgnWzksMTApJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1sxNCwx NSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAn WzE0LDE1KSc7CitFUlJPUjogIGluc2VydCBvciB1cGRhdGUgb24gdGFibGUgInRma3AxIiB2aW9s YXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcy cm5nX2ZrIgorREVUQUlMOiAgS2V5IChwYXJlbnRfaWQsIHZhbGlkX2F0KT0oWy0xLDApLCBbMjAx OS0wMS0wMSwyMDIwLTAxLTAxKSkgaXMgbm90IHByZXNlbnQgaW4gdGFibGUgInRlbXBvcmFsX3Bh cnRpdGlvbmVkX3JuZyIuCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3Ju ZzJybmcgV0hFUkUgaWQgPSAnWzksMTApJzsKKyAgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAg ICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0KKyBbOSwxMCkgfCBbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKSB8IFsxNCwxNSkKKygx IHJvdykKKworREVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIFdIRVJFIGlkID0g J1sxNCwxNSknOworRVJST1I6ICBpbnNlcnQgb3IgdXBkYXRlIG9uIHRhYmxlICJ0ZmtwMSIgdmlv bGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5n MnJuZ19mayIKK0RFVEFJTDogIEtleSAocGFyZW50X2lkLCB2YWxpZF9hdCk9KFstMSwwKSwgWzIw MTgtMDEtMDEsMjAyMS0wMS0wMSkpIGlzIG5vdCBwcmVzZW50IGluIHRhYmxlICJ0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ybmciLgorU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19y bmcycm5nIFdIRVJFIGlkID0gJ1s5LDEwKSc7CisgICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAg ICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tCisgWzksMTApIHwgWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSkgfCBbMTQsMTUpCiso MSByb3cpCisKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlk X2F0KSBWQUxVRVMgKCdbMjQsMjUpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEt MDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9h dCkgVkFMVUVTICgnWzI0LDI1KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAx JykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZh bGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxNSwxNiknLCBkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpLCAnWzI0LDI1KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGFy dGl0aW9uZWRfcm5nIFdIRVJFIGlkID0gJ1syNCwyNSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0w MS0wMSc6OmRhdGU7CitFUlJPUjogIGluc2VydCBvciB1cGRhdGUgb24gdGFibGUgInRma3AxIiB2 aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19y bmcycm5nX2ZrIgorREVUQUlMOiAgS2V5IChwYXJlbnRfaWQsIHZhbGlkX2F0KT0oWy0xLDApLCBb MjAxOC0wMS0wMSwyMDIwLTAxLTAxKSkgaXMgbm90IHByZXNlbnQgaW4gdGFibGUgInRlbXBvcmFs X3BhcnRpdGlvbmVkX3JuZyIuCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2Zr X3JuZzJybmcgV0hFUkUgaWQgPSAnWzE1LDE2KSc7CisgICBpZCAgICB8ICAgICAgICB2YWxpZF9h dCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0KKyBbMTUsMTYpIHwgWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSkgfCBbMjQs MjUpCisoMSByb3cpCisKIERST1AgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJu ZzsKIERST1AgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nOwogLS0KQEAgLTI2MTcsMzIg KzQwMDYsMTUwIEBAIERFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIHtbMjAxOC0w MS0wMSwyMDE4LTAyLTAxKX0pIGlzIHN0aWxsIHJlZmVyZW5jCiAtLQogLS0gcGFydGl0aW9uZWQg RksgcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUKIC0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9tbHRybmcsIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmc7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFM VUVTICgnWzYsNyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAy MS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcy bWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzQsNSknLCBkYXRlbXVs dGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJyk7 CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nCiAgIERS T1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nX2ZrLAog ICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nX2Zr CiAgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQogICAgIFJFRkVS RU5DRVMgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nCiAgICAgT04gREVMRVRFIENBU0NBREUg T04gVVBEQVRFIENBU0NBREU7Ci1FUlJPUjogIHVuc3VwcG9ydGVkIE9OIFVQREFURSBhY3Rpb24g Zm9yIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgdXNpbmcgUEVSSU9ECitVUERBVEUgdGVtcG9yYWxf cGFydGl0aW9uZWRfbWx0cm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5n ZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgU0VUIGlkID0gJ1s3LDgp JyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVk X2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzQsNSknOworICBpZCAgIHwgICAgICAgICAg ICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAgICAgICB8IHBhcmVudF9pZCAKKy0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tCisgWzQsNSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAgICAgICAg ICAgICAgICAgICAgICAgIHwgWzcsOCkKKyBbNCw1KSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAx KSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbNiw3KQorKDIgcm93cykKKworVVBEQVRFIHRl bXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2 LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJu ZyBXSEVSRSBpZCA9ICdbNCw1KSc7CisgIGlkICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlk X2F0ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBb NCw1KSB8IHtbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKX0gICAgICAgICAgICAgICAgICAgICAgICAg fCBbNyw4KQorIFs0LDUpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIw MjEtMDEtMDEpfSB8IFs3LDgpCisoMiByb3dzKQorCitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzE1LDE2KScsIGRhdGVtdWx0 aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdb MTUsMTYpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEt MDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJu ZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMCwxMSknLCBkYXRlbXVsdGly YW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1sxNSwxNiknKTsK K1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgU0VUIGlkID0gJ1sxNiwxNyknIFdI RVJFIGlkID0gJ1sxNSwxNiknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUg aWQgPSAnWzEwLDExKSc7CisgICBpZCAgICB8ICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgfCBw YXJlbnRfaWQgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tCisgWzEwLDExKSB8IHtbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKX0gfCBbMTYsMTcpCisgWzEw LDExKSB8IHtbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbMTUsMTYpCisoMiByb3dzKQorCiAt LQogLS0gcGFydGl0aW9uZWQgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUKIC0tCitUUlVO Q0FURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcsIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2Zr X21sdHJuZzJtbHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcg KGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2Uo JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVT ICgnWzUsNiknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScpKSwgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRy bmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAx OS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBXSEVSRSBpZCA9ICdbOCw5KSc7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzUs NiknOworICBpZCAgIHwgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAg ICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzUsNikgfCB7WzIwMTgtMDEt MDEsMjAxOS0wMS0wMSksWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWzgsOSkKKygxIHJvdykK KworREVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIFdIRVJFIGlkID0gJ1s4 LDkpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJu ZyBXSEVSRSBpZCA9ICdbNSw2KSc7CisgaWQgfCB2YWxpZF9hdCB8IHBhcmVudF9pZCAKKy0tLS0r LS0tLS0tLS0tLSstLS0tLS0tLS0tLQorKDAgcm93cykKKworSU5TRVJUIElOVE8gdGVtcG9yYWxf cGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxNywxOCknLCBkYXRl bXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVT ICgnWzE3LDE4KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIx LTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJt bHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTEsMTIpJywgZGF0ZW11 bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbMTcsMTgp Jyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgV0hFUkUgaWQgPSAn WzE3LDE4KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTEs MTIpJzsKKyAgIGlkICAgIHwgICAgICAgICB2YWxpZF9hdCAgICAgICAgICB8IHBhcmVudF9pZCAK Ky0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTEs MTIpIHwge1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFsxNywxOCkKKygxIHJvdykKKwogLS0K IC0tIHBhcnRpdGlvbmVkIEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTAogLS0KK1RSVU5D QVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZywgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtf bWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAo aWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOSwxMCknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2Uo JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVT ICgnWzYsNyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScpKSwgJ1s5LDEwKScpOwogQUxURVIgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtf bWx0cm5nMm1sdHJuZwogICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtf bWx0cm5nMm1sdHJuZ19maywKICAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfcGFydGl0aW9uZWRf ZmtfbWx0cm5nMm1sdHJuZ19mawogICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2 YWxpZF9hdCkKICAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZwogICAg IE9OIERFTEVURSBTRVQgTlVMTCBPTiBVUERBVEUgU0VUIE5VTEw7Ci1FUlJPUjogIHVuc3VwcG9y dGVkIE9OIFVQREFURSBhY3Rpb24gZm9yIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgdXNpbmcgUEVS SU9ECitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0w MScpKSkgU0VUIGlkID0gJ1sxMCwxMSknIFdIRVJFIGlkID0gJ1s5LDEwKSc7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzYs NyknOworICBpZCAgIHwgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAg ICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzYsNykgfCB7WzIwMTktMDEt MDEsMjAyMC0wMS0wMSl9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgCisgWzYsNykgfCB7WzIw MTgtMDEtMDEsMjAxOS0wMS0wMSksWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWzksMTApCiso MiByb3dzKQorCitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIFNFVCBpZCA9ICdb MTAsMTEpJyBXSEVSRSBpZCA9ICdbOSwxMCknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1s2LDcpJzsKKyAgaWQgICB8ICAg ICAgICAgICAgICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAgfCBwYXJlbnRf aWQgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLQorIFs2LDcpIHwge1syMDE5LTAxLTAxLDIwMjAtMDEtMDEpfSAg ICAgICAgICAgICAgICAgICAgICAgICB8IAorIFs2LDcpIHwge1syMDE4LTAxLTAxLDIwMTktMDEt MDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IAorKDIgcm93cykKKworSU5TRVJUIElOVE8g dGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxOCwx OSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScp KSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9h dCkgVkFMVUVTICgnWzE4LDE5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0w MScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2Zr X21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTIsMTMp JywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSks ICdbMTgsMTkpJyk7CitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIFNFVCBpZCA9 ICdbMTksMjApJyBXSEVSRSBpZCA9ICdbMTgsMTkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEt MDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcy bWx0cm5nIFdIRVJFIGlkID0gJ1sxMiwxMyknOworICAgaWQgICAgfCAgICAgICAgIHZhbGlkX2F0 ICAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLQorIFsxMiwxMykgfCB7WzIwMTgtMDEtMDEsMjAyMC0wMS0wMSl9IHwg CisgWzEyLDEzKSB8IHtbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbMTgsMTkpCisoMiByb3dz KQorCiAtLQogLS0gcGFydGl0aW9uZWQgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMCiAt LQorVFJVTkNBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nLCB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ma19tbHRybmcybWx0cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRf bWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxMSwxMiknLCBkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9p ZCkgVkFMVUVTICgnWzcsOCknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEn LCAnMjAyMS0wMS0wMScpKSwgJ1sxMSwxMiknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRp dGlvbmVkX21sdHJuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0 ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFdIRVJFIGlkID0gJ1sxMSwxMikn OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIFdI RVJFIGlkID0gJ1s3LDgpJzsKKyAgaWQgICB8ICAgICAgICAgICAgICAgICAgICAgdmFsaWRfYXQg ICAgICAgICAgICAgICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFs3LDgp IHwge1syMDE5LTAxLTAxLDIwMjAtMDEtMDEpfSAgICAgICAgICAgICAgICAgICAgICAgICB8IAor IFs3LDgpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEp fSB8IFsxMSwxMikKKygyIHJvd3MpCisKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVk X21sdHJuZyBXSEVSRSBpZCA9ICdbMTEsMTIpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFy dGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbNyw4KSc7CisgIGlkICAgfCAg ICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50 X2lkIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbNyw4KSB8IHtbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKX0g ICAgICAgICAgICAgICAgICAgICAgICAgfCAKKyBbNyw4KSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAx LTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCAKKygyIHJvd3MpCisKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMjAs MjEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEn KSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRf YXQpIFZBTFVFUyAoJ1syMCwyMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEt MDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9m a19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEzLDE0 KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykp LCAnWzIwLDIxKScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIFdI RVJFIGlkID0gJ1syMCwyMSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUg aWQgPSAnWzEzLDE0KSc7CisgICBpZCAgICB8ICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgfCBw YXJlbnRfaWQgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tCisgWzEzLDE0KSB8IHtbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKX0gfCAKKyBbMTMsMTQpIHwg e1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFsyMCwyMSkKKygyIHJvd3MpCisKIC0tCiAtLSBw YXJ0aXRpb25lZCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQKIC0tCitUUlVOQ0FU RSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcsIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21s dHJuZzJtbHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlk LCB2YWxpZF9hdCkgVkFMVUVTICgnWzAsMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UobnVs bCwgbnVsbCkpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQs IHZhbGlkX2F0KSBWQUxVRVMgKCdbMTIsMTMpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0 aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAo J1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSksICdbMTIsMTMpJyk7CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19t bHRybmcybWx0cm5nCiAgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQgU0VUIERFRkFVTFQgJ1swLDEp JywKICAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRy bmdfZmssCkBAIC0yNjUwLDEwICs0MTU3LDY3IEBAIEFMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRp dGlvbmVkX2ZrX21sdHJuZzJtbHRybmcKICAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJ T0QgdmFsaWRfYXQpCiAgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcK ICAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRFIFNFVCBERUZBVUxUOwotRVJST1I6 ICB1bnN1cHBvcnRlZCBPTiBVUERBVEUgYWN0aW9uIGZvciBmb3JlaWduIGtleSBjb25zdHJhaW50 IHVzaW5nIFBFUklPRAorVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywg JzIwMjAtMDEtMDEnKSkpIFNFVCBpZCA9ICdbMTMsMTQpJyBXSEVSRSBpZCA9ICdbMTIsMTMpJzsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVS RSBpZCA9ICdbOCw5KSc7CisgIGlkICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAg ICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbOCw5KSB8 IHtbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKX0gICAgICAgICAgICAgICAgICAgICAgICAgfCBbMCwx KQorIFs4LDkpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEt MDEpfSB8IFsxMiwxMykKKygyIHJvd3MpCisKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9t bHRybmcgU0VUIGlkID0gJ1sxMywxNCknIFdIRVJFIGlkID0gJ1sxMiwxMyknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1s4 LDkpJzsKKyAgaWQgICB8ICAgICAgICAgICAgICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAg ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFs4LDkpIHwge1syMDE5LTAx LTAxLDIwMjAtMDEtMDEpfSAgICAgICAgICAgICAgICAgICAgICAgICB8IFswLDEpCisgWzgsOSkg fCB7WzIwMTgtMDEtMDEsMjAxOS0wMS0wMSksWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWzAs MSkKKygyIHJvd3MpCisKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAo aWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMjIsMjMpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdl KCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFy dGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1syMiwyMyknLCBkYXRlbXVs dGlyYW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQs IHBhcmVudF9pZCkgVkFMVUVTICgnWzE0LDE1KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgn MjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzIyLDIzKScpOworVVBEQVRFIHRlbXBvcmFs X3BhcnRpdGlvbmVkX21sdHJuZyBTRVQgaWQgPSAnWzIzLDI0KScgV0hFUkUgaWQgPSAnWzIyLDIz KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTQsMTUpJzsK KyAgIGlkICAgIHwgICAgICAgICB2YWxpZF9hdCAgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTQsMTUpIHwg e1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpfSB8IFswLDEpCisgWzE0LDE1KSB8IHtbMjAyMC0wMS0w MSwyMDIxLTAxLTAxKX0gfCBbMjIsMjMpCisoMiByb3dzKQorCiAtLQogLS0gcGFydGl0aW9uZWQg RksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUCiAtLQorVFJVTkNBVEUgdGVtcG9yYWxf cGFydGl0aW9uZWRfbWx0cm5nLCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5n OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQp IFZBTFVFUyAoJ1swLDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKG51bGwsIG51bGwpKSk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkg VkFMVUVTICgnWzE0LDE1KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21s dHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbOSwxMCknLCBk YXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1sx NCwxNSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywg JzIwMjAtMDEtMDEnKSkpIFdIRVJFIGlkID0gJ1sxNCwxNSknOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1s5LDEwKSc7Cisg ICBpZCAgIHwgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAgICAg ICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFs5LDEwKSB8IHtbMjAxOS0wMS0wMSwy MDIwLTAxLTAxKX0gICAgICAgICAgICAgICAgICAgICAgICAgfCBbMCwxKQorIFs5LDEwKSB8IHtb MjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbMTQsMTUp CisoMiByb3dzKQorCitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgV0hF UkUgaWQgPSAnWzE0LDE1KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2Zr X21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzksMTApJzsKKyAgIGlkICAgfCAgICAgICAgICAg ICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkIAorLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tCisgWzksMTApIHwge1syMDE5LTAxLTAxLDIwMjAtMDEtMDEpfSAgICAgICAg ICAgICAgICAgICAgICAgICB8IFswLDEpCisgWzksMTApIHwge1syMDE4LTAxLTAxLDIwMTktMDEt MDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFswLDEpCisoMiByb3dzKQorCitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgn WzI0LDI1KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAx LTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQsIHZh bGlkX2F0KSBWQUxVRVMgKCdbMjQsMjUpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIw LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9u ZWRfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sx NSwxNiknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpKSwgJ1syNCwyNSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJu ZyBXSEVSRSBpZCA9ICdbMjQsMjUpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRl OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIFdI RVJFIGlkID0gJ1sxNSwxNiknOworICAgaWQgICAgfCAgICAgICAgIHZhbGlkX2F0ICAgICAgICAg IHwgcGFyZW50X2lkIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLQorIFsxNSwxNikgfCB7WzIwMTgtMDEtMDEsMjAyMC0wMS0wMSl9IHwgWzAsMSkKKyBb MTUsMTYpIHwge1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFsyNCwyNSkKKygyIHJvd3MpCisK IERST1AgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZzsKIERST1Ag VEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nOwogUkVTRVQgZGF0ZXN0eWxlOwpkaWZm IC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvd2l0aG91dF9vdmVybGFwcy5zcWwgYi9zcmMv dGVzdC9yZWdyZXNzL3NxbC93aXRob3V0X292ZXJsYXBzLnNxbAppbmRleCBjNWM4OWZlNDBhYi4u MjI0ZGRlZjg0MzAgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3dpdGhvdXRfb3Zl cmxhcHMuc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3dpdGhvdXRfb3ZlcmxhcHMuc3Fs CkBAIC0xNDI0LDggKzE0MjQsMjYgQEAgQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnJuZwog LS0KIC0tIHJuZzJybmcgdGVzdCBPTiBVUERBVEUvREVMRVRFIG9wdGlvbnMKIC0tCistLSBUT0M6 CistLSByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIENB U0NBREUKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTAorLS0gcmVmZXJlbmNlZCBkZWxl dGVzIFNFVCBOVUxMCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQKKy0tIHJlZmVy ZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVAorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUg KHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFICh0d28gc2Nh bGFyIGNvbHMpCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29s cykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0g cmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMsIFNFVCBOVUxMIHN1 YnNldCkKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xz KQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCist LSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scywgU0VUIERF RkFVTFQgc3Vic2V0KQogCistLQogLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FE RQorLS0KKwogVFJVTkNBVEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19ybmcycm5nOwogSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CiBJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEp JywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcpJyk7CkBAIC0x NDM0LDI4ICsxNDUyLDM0NiBAQCBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycm5nCiAgICAg Rk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQogICAgIFJFRkVSRU5DRVMg dGVtcG9yYWxfcm5nCiAgICAgT04gREVMRVRFIENBU0NBREUgT04gVVBEQVRFIENBU0NBREU7Cist LSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9ybmcgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZCA9 ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19y bmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0g bm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdbNyw4KScgV0hF UkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJF IGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3 byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9h dCkgVkFMVUVTICgnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScp KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5 KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sy MDAsMjAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbOCw5KScp OworVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgaWQgPSAnWzksMTApJyBXSEVSRSBpZCA9ICdbOCw5 KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUKKy0tCisK K1RSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcm5nMnJuZzsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsIGRhdGVyYW5nZSgn MjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5n MnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3KScpOworLS0gbGVmdG92ZXJz IG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s2 LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAw LDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRF IEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVt cG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDE4 LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2 YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0w MS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwg cGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAn MjAyMS0wMS0wMScpLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBp ZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKIAorLS0KIC0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBO VUxMCistLQorCiBUUlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3JuZzJybmc7CiBJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCBk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKIElOU0VSVCBJTlRPIHRlbXBv cmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEw MSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknKTsKIEFM VEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3JuZzJybmdfZmssCiAgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJybmdfZmsK ICAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCiAgICAgUkVGRVJF TkNFUyB0ZW1wb3JhbF9ybmcKICAgICBPTiBERUxFVEUgU0VUIE5VTEwgT04gVVBEQVRFIFNFVCBO VUxMOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcm5nIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBT RVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgaWQgPSAnWzcs OCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJu ZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFj cm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwg dmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAt MDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVT ICgnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxV RVMgKCdbMjAwLDIwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAn WzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIGlkID0gJ1s5LDEwKScgV0hFUkUgaWQg PSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVM TAorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19ybmcycm5nOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEp JywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcpJyk7CistLSBs ZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUg aWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlk ID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyBkZWxldGU6 CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Ju ZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScs ICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnJuZyAoaWQsIHZh bGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVyYW5nZSgnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJyksICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5n IFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OwogCistLQogLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0 ZXMgU0VUIERFRkFVTFQKKy0tCisKIFRSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtf cm5nMnJuZzsKIElOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMg KCdbLTEsLTFdJywgZGF0ZXJhbmdlKG51bGwsIG51bGwpKTsKIElOU0VSVCBJTlRPIHRlbXBvcmFs X3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0w MScsICcyMDIxLTAxLTAxJykpOwogSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnJuZyAoaWQs IHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVyYW5nZSgnMjAx OC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3KScpOwogQUxURVIgVEFCTEUgdGVtcG9yYWxf Zmtfcm5nMnJuZwogICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkIFNFVCBERUZBVUxUICdbLTEsLTFd JywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJybmdfZmssCiAgIEFERCBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJybmdfZmsKICAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lk LCBQRVJJT0QgdmFsaWRfYXQpCiAgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcKICAgICBPTiBE RUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRFIFNFVCBERUZBVUxUOworLS0gbGVmdG92ZXJzIG9u IGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQgPSAnWzcsOCknIFdIRVJF IGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBp ZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRl OgorVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEw MSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCBy b3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4 LDkpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlcmFuZ2Uo JzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3Ju ZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRl cmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzgsOSknKTsKK1VQREFURSB0ZW1w b3JhbF9ybmcgU0VUIGlkID0gJ1s5LDEwKScgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9h dCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJy bmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCist LSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVAorLS0KKworVFJVTkNBVEUg dGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19ybmcycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCBkYXRlcmFuZ2UobnVsbCwgbnVs bCkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2 LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgn WzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcp Jyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Ju ZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0w MScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5n IFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQ TyB1cGRhdGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgPSAnWzYsNyknOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSkn LCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVyYW5nZSgnMjAy MC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnJu ZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVyYW5n ZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbOCw5KScpOworREVMRVRFIEZST00gdGVt cG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEn OjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sy MDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVu Y2VkIHVwZGF0ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBjb2xzKQorLS0KKworVFJVTkNBVEUgdGVt cG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsyX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9y bmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZXJh bmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9m azJfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMg KCdbMTAwLDEwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYs NyknLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcycm5nCisgIERST1Ag Q09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVt cG9yYWxfZmsyX3JuZzJybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50 X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAg IE9OIERFTEVURSBDQVNDQURFIE9OIFVQREFURSBDQVNDQURFOworLS0gbGVmdG92ZXJzIG9uIGJv dGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUg aWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUg aWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0 ZToKK1VQREFURSB0ZW1wb3JhbF9ybmcyIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdb Niw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1sx MDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVu Y2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQp IFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAt MDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQp IFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEt MDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnJuZyAoaWQsIHZhbGlkX2F0 LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlcmFuZ2Uo JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzgsOSknLCAnWzgsOSknKTsKK1VQREFURSB0 ZW1wb3JhbF9ybmcyIFNFVCBpZDEgPSAnWzksMTApJyBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2 YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr Ml9ybmcycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor CistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBj b2xzKQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsyX3JuZzJybmc7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAo J1s2LDcpJywgJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRf aWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBi b3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwx MDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBG Uk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSkn LCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSkn LCBkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX2ZrMl9ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIp IFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAx JyksICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBp ZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VU IE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1w b3JhbF9mazJfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2 YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEn LCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycm5nIChpZCwg dmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRh dGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3KScsICdbNiw3KScpOwor QUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3JuZzJybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrMl9ybmcycm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnJu Z19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFs aWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcyCisgICAgT04gREVMRVRFIFNFVCBO VUxMIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBE QVRFIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0w MScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAx KScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVt cG9yYWxfcm5nMiBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5 KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5 KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwg cGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nMiBT RVQgaWQxID0gJ1s5LDEwKScgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIw MTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJuZyBXSEVS RSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3Qg RksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMpCistLQorCitU UlVOQ0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1wb3JhbF9mazJfcm5nMnJuZzsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYs NyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX2ZrMl9ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9p ZDIpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAx LTAxJyksICdbNiw3KScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitE RUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxf cm5nMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5n MnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZL IGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAo aWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVyYW5nZSgn MjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAo aWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVyYW5nZSgn MjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3Ju ZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIw MCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJywg J1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScg QU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNj YWxhciBjb2xzLCBTRVQgTlVMTCBzdWJzZXQpCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcy LCB0ZW1wb3JhbF9mazJfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwg aWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycm5n IChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAx KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3KScsICdbNiw3 KScpOworLS0gZmFpbHMgYmVjYXVzZSB5b3UgY2FuJ3Qgc2V0IHRoZSBQRVJJT0QgY29sdW1uOgor QUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3JuZzJybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrMl9ybmcycm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnJu Z19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFs aWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcyCisgICAgT04gREVMRVRFIFNFVCBO VUxMICh2YWxpZF9hdCkgT04gVVBEQVRFIFNFVCBOVUxMOworLS0gb2s6CitBTFRFUiBUQUJMRSB0 ZW1wb3JhbF9mazJfcm5nMnJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJy bmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycm5nX2ZrCisgICAgRk9S RUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBS RUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgKHBhcmVudF9p ZDEpIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVM RVRFIEZST00gdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5 LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Ju ZzIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJy bmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBh Y3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlk MSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIw MTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlk MSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIw MjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcy cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAs MjAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbOCw5KScsICdb OCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFO RCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQgKHR3byBz Y2FsYXIgY29scykKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9y bmcycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBW QUxVRVMgKCdbLTEsLTFdJywgJ1stMSwtMV0nLCBkYXRlcmFuZ2UobnVsbCwgbnVsbCkpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3 KScsICdbNiw3KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwg cGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSwgJ1s2LDcpJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9m azJfcm5nMnJuZworICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMSBTRVQgREVGQVVMVCAnWy0xLC0x XScsCisgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQyIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAg RFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycm5nX2ZrLAorICBBREQgQ09OU1RSQUlO VCB0ZW1wb3JhbF9mazJfcm5nMnJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBw YXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcy CisgICAgT04gREVMRVRFIFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxl ZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZDEgPSAn WzcsOCknLCBpZDIgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcm5nMiBTRVQg aWQxID0gJ1s3LDgpJywgaWQyID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5 KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5 KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwg cGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nMiBT RVQgaWQxID0gJ1s5LDEwKScsIGlkMiA9ICdbOSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5E IHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVCAodHdvIHNj YWxhciBjb2xzKQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsyX3Ju ZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZB TFVFUyAoJ1stMSwtMV0nLCAnWy0xLC0xXScsIGRhdGVyYW5nZShudWxsLCBudWxsKSk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcp JywgJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBw YXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAn MjAyMS0wMS0wMScpLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNp ZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0ZToKK0RFTEVURSBGUk9NIHRl bXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRl cmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRl cmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrMl9ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVF UyAoJ1syMDAsMjAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdb OCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEgPSAn WzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFV TFQgKHR3byBzY2FsYXIgY29scywgU0VUIERFRkFVTFQgc3Vic2V0KQorLS0KKworVFJVTkNBVEUg dGVtcG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsyX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWzYsNyknLCBk YXRlcmFuZ2UobnVsbCwgbnVsbCkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBp ZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsIGRhdGVyYW5nZSgnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDEp JywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcpJywgJ1s2LDcp Jyk7CistLSBmYWlscyBiZWNhdXNlIHlvdSBjYW4ndCBzZXQgdGhlIFBFUklPRCBjb2x1bW46CitB TFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcm5nMnJuZworICBBTFRFUiBDT0xVTU4gcGFyZW50X2lk MSBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJf cm5nMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJybmdfZmsKKyAg ICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQor ICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAgIE9OIERFTEVURSBTRVQgREVGQVVMVCAo dmFsaWRfYXQpIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIG9rOgorQUxURVIgVEFCTEUgdGVt cG9yYWxfZmsyX3JuZzJybmcKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQg J1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJybmdfZmssCisg IEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycm5nX2ZrCisgICAgRk9SRUlHTiBLRVkg KHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VT IHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgKHBhcmVudF9pZDEpIE9O IFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRF IEZST00gdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAx LTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIg V0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcg V0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jv c3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwg aWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwg aWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMjAt MDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwg aWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdbOCw5KScsIGRhdGVyYW5nZShudWxs LCBudWxsKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnJuZyAoaWQsIHZhbGlkX2F0 LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlcmFuZ2Uo JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBG Uk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIw MTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJuZyBXSEVS RSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKIAogLS0KIC0tIHRlc3Qg Rk9SRUlHTiBLRVksIG11bHRpcmFuZ2UgcmVmZXJlbmNlcyBtdWx0aXJhbmdlCkBAIC0xODU1LDYg KzIxOTEsNDA4IEBAIFdIRVJFIGlkID0gJ1s1LDYpJzsKIERFTEVURSBGUk9NIHRlbXBvcmFsX2Zr X21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzMsNCknOwogREVMRVRFIEZST00gdGVtcG9yYWxf bWx0cm5nIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSBkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpKTsKIAorLS0KKworLS0KKy0tIG1s dHJuZzJtbHRybmcgdGVzdCBPTiBVUERBVEUvREVMRVRFIG9wdGlvbnMKKy0tCistLSBUT0M6Cist LSByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIENBU0NB REUKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTAorLS0gcmVmZXJlbmNlZCBkZWxldGVz IFNFVCBOVUxMCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQKKy0tIHJlZmVyZW5j ZWQgZGVsZXRlcyBTRVQgREVGQVVMVAorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUgKHR3 byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFICh0d28gc2NhbGFy IGNvbHMpCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scykK Ky0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVm ZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMsIFNFVCBOVUxMIHN1YnNl dCkKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQor LS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCistLSBy ZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scywgU0VUIERFRkFV TFQgc3Vic2V0KQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQor LS0KKworVFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nLCB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5n OworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2 LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn KSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0 LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5n ZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRl bXBvcmFsX2ZrX21sdHJuZzJtbHRybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX21s dHJuZzJtbHRybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRy bmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAg UkVGRVJFTkNFUyB0ZW1wb3JhbF9tbHRybmcKKyAgICBPTiBERUxFVEUgQ0FTQ0FERSBPTiBVUERB VEUgQ0FTQ0FERTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFs X21sdHJuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdl KCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQg PSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJF IGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRh dGU6CitVUERBVEUgdGVtcG9yYWxfbWx0cm5nIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAn WzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlk ID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byBy ZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9h dCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEn LCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxp ZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEt MDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19tbHRybmcybWx0 cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZW11 bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbOCw5KScp OworVVBEQVRFIHRlbXBvcmFsX21sdHJuZyBTRVQgaWQgPSAnWzksMTApJyBXSEVSRSBpZCA9ICdb OCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NB REUKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX21sdHJuZywgdGVtcG9yYWxfZmtfbWx0cm5nMm1s dHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMg KCdbNiw3KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAx LTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgKGlkLCB2YWxp ZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRl cmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJyk7CistLSBsZWZ0b3Zl cnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZyBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIw MjAtMDEtMDEnKSkpIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nIFdI RVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJu ZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFj cm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChp ZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5n IChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdl KCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtf bWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAx KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykp LCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZyBXSEVSRSBpZCA9ICdbOCw5 KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBOVUxM CistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcsIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRy bmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgn WzYsNyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRf YXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJh bmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3KScpOworQUxURVIgVEFCTEUg dGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtf bWx0cm5nMm1sdHJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfbWx0cm5nMm1s dHJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAg ICBSRUZFUkVOQ0VTIHRlbXBvcmFsX21sdHJuZworICAgIE9OIERFTEVURSBTRVQgTlVMTCBPTiBV UERBVEUgU0VUIE5VTEw7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1w b3JhbF9tbHRybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVy YW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBTRVQgaWQgPSAnWzcsOCknIFdIRVJF IGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBX SEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8g dXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX21sdHJuZyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlk ID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVS RSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0 d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwgdmFs aWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMjAtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwg dmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIw LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfbWx0cm5n Mm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRh dGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzgs OSknKTsKK1VQREFURSB0ZW1wb3JhbF9tbHRybmcgU0VUIGlkID0gJ1s5LDEwKScgV0hFUkUgaWQg PSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBT RVQgTlVMTAorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nLCB0ZW1wb3JhbF9ma19tbHRy bmcybWx0cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZB TFVFUyAoJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyAoaWQs IHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVtdWx0aXJhbmdl KGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzYsNyknKTsKKy0tIGxl ZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEn LCAnMjAyMC0wMS0wMScpKSkgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRy bmcgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcy bWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0g RksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRy bmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9t bHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRl cmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIw MCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSksICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nIFdIRVJFIGlkID0g J1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VU IERFRkFVTFQKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX21sdHJuZywgdGVtcG9yYWxfZmtfbWx0 cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBW QUxVRVMgKCdbLTEsLTFdJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKG51bGwsIG51bGwpKSk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYs NyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScp KSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQs IHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdl KCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVt cG9yYWxfZmtfbWx0cm5nMm1sdHJuZworICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkIFNFVCBERUZB VUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRy bmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmdfZmsKKyAg ICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNF UyB0ZW1wb3JhbF9tbHRybmcKKyAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRFIFNF VCBERUZBVUxUOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxf bWx0cm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2Uo JzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9 ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUg aWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0 ZToKK1VQREFURSB0ZW1wb3JhbF9tbHRybmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdb Niw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQg PSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJl ZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlkX2F0 KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScs ICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlk X2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0w MScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRy bmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlbXVs dGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s4LDkpJyk7 CitVUERBVEUgdGVtcG9yYWxfbWx0cm5nIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4 LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERF RkFVTFQKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX21sdHJuZywgdGVtcG9yYWxfZmtfbWx0cm5n Mm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxV RVMgKCdbLTEsLTFdJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKG51bGwsIG51bGwpKSk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNykn LCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBh cmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJv dGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAx JykpKSBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJu ZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Cist LSBub24tRlBPIHVwZGF0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZyBXSEVSRSBpZCA9 ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUg aWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdv IHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlk X2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0w MScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZh bGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0w MS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX21sdHJuZzJt bHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRl bXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s4LDkp Jyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2 YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr X21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVNDQURFICh0d28gc2Nh bGFyIGNvbHMpCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcyLCB0ZW1wb3JhbF9mazJf bWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2 YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9m azJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBW QUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEn LCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3Jh bF9mazJfbWx0cm5nMm1sdHJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX21sdHJu ZzJtbHRybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5n X2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxp ZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX21sdHJuZzIKKyAgICBPTiBERUxFVEUgQ0FT Q0FERSBPTiBVUERBVEUgQ0FTQ0FERTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBE QVRFIHRlbXBvcmFsX21sdHJuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJh bmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBTRVQgaWQxID0gJ1s3 LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0 cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK Ky0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX21sdHJuZzIgU0VUIGlkMSA9ICdb Nyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21s dHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBk YXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAo J1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywg JzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDEp JywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSks ICdbOCw5KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX21sdHJuZzIgU0VUIGlkMSA9ICdb OSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6 ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQg PSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJl ZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLQorCitUUlVOQ0FU RSB0ZW1wb3JhbF9tbHRybmcyLCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNykn LCAnWzYsNyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZh bGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRl bXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcp JywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRl bXBvcmFsX21sdHJuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRh dGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBXSEVSRSBpZDEgPSAnWzYsNykn OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdb MTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVM RVRFIEZST00gdGVtcG9yYWxfbWx0cm5nMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgor SU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMg KCdbOCw5KScsICdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScs ICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQy LCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRl cmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQy KSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1w b3JhbF9tbHRybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAx LTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hF UkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0 IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0KKwor VFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nMiwgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmc7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAo J1s2LDcpJywgJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDEp JywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSks ICdbNiw3KScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRy bmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nX2ZrLAorICBB REQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZ19maworICAgIEZPUkVJR04g S0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJF TkNFUyB0ZW1wb3JhbF9tbHRybmcyCisgICAgT04gREVMRVRFIFNFVCBOVUxMIE9OIFVQREFURSBT RVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX21s dHJuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgn MjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEg PSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVS RSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBk YXRlOgorVVBEQVRFIHRlbXBvcmFsX21sdHJuZzIgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUgaWQx ID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hF UkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3Mg dHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwg aWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkp JywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwg cGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZW11bHRpcmFu Z2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbOCw5KScsICdbOCw5 KScpOworVVBEQVRFIHRlbXBvcmFsX21sdHJuZzIgU0VUIGlkMSA9ICdbOSwxMCknIFdIRVJFIGlk MSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRl cyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfbWx0 cm5nMiwgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9t bHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0 ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50 X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3KScsICdbNiw3KScpOwor LS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcy IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTkt MDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBv cmFsX21sdHJuZzIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgs OSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScp KSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZB TFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAx LTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJt bHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIw MCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSksICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nMiBX SEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1syMDAs MjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2Vk IGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scywgU0VUIE5VTEwgc3Vic2V0KQorLS0K KworVFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nMiwgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmc7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVF UyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAx JywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRy bmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwx MDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn KSksICdbNiw3KScsICdbNiw3KScpOworLS0gZmFpbHMgYmVjYXVzZSB5b3UgY2FuJ3Qgc2V0IHRo ZSBQRVJJT0QgY29sdW1uOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcK KyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nX2ZrLAorICBBREQg Q09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZ19maworICAgIEZPUkVJR04gS0VZ IChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNF UyB0ZW1wb3JhbF9tbHRybmcyCisgICAgT04gREVMRVRFIFNFVCBOVUxMICh2YWxpZF9hdCkgT04g VVBEQVRFIFNFVCBOVUxMOworLS0gb2s6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfbWx0cm5n Mm1sdHJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmdfZmss CisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nX2ZrCisgICAgRk9S RUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBS RUZFUkVOQ0VTIHRlbXBvcmFsX21sdHJuZzIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgKHBhcmVu dF9pZDEpIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgor REVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0 ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFdIRVJF IGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5n IFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQ TyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcyIFdIRVJFIGlkMSA9ICdbNiw3 KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0g J1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZl cmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFs aWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdl KCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0 cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVt dWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9p ZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzgsOSknLCAnWzgsOSknKTsKK0RF TEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZzIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRf YXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0 cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK KworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUICh0d28gc2Nh bGFyIGNvbHMpCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcyLCB0ZW1wb3JhbF9mazJf bWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2 YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdbLTEsLTFdJywgZGF0ZW11bHRpcmFuZ2UoZGF0 ZXJhbmdlKG51bGwsIG51bGwpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEs IGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2Uo ZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfZmsyX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50 X2lkMikgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3KScsICdbNiw3KScpOworQUxURVIgVEFCTEUg dGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDEgU0VU IERFRkFVTFQgJ1stMSwtMV0nLAorICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMiBTRVQgREVGQVVM VCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJu Z19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmdfZmsKKyAg ICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQor ICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfbWx0cm5nMgorICAgIE9OIERFTEVURSBTRVQgREVGQVVM VCBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQ REFURSB0ZW1wb3JhbF9tbHRybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGly YW5nZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgU0VUIGlkMSA9ICdb Nyw4KScsIGlkMiA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9tbHRy bmcyIFNFVCBpZDEgPSAnWzcsOCknLCBpZDIgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sx MDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVu Y2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRf YXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5n MiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVtdWx0 aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEs IHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5n ZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzgsOSknLCAnWzgsOSknKTsKK1VQREFU RSB0ZW1wb3JhbF9tbHRybmcyIFNFVCBpZDEgPSAnWzksMTApJywgaWQyID0gJ1s5LDEwKScgV0hF UkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMjAwLDIw MSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBk ZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCistLQorCitUUlVOQ0FURSB0ZW1w b3JhbF9tbHRybmcyLCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdb LTEsLTFdJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKG51bGwsIG51bGwpKSk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcp JywgJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEt MDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgKGlkLCB2 YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0 ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3 KScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9tbHRybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgV0hFUkUgaWQxID0gJ1s2LDcp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAn WzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0ZToKK0RF TEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZzIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVT ICgnWzgsOSknLCAnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEn LCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlk MiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0 ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfZmsyX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lk MikgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnKSksICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVt cG9yYWxfbWx0cm5nMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0w MS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdI RVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVz dCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scywgU0VU IERFRkFVTFQgc3Vic2V0KQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nMiwgdGVtcG9y YWxfZmsyX21sdHJuZzJtbHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEs IGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWzYsNyknLCBkYXRlbXVsdGlyYW5n ZShkYXRlcmFuZ2UobnVsbCwgbnVsbCkpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIg KGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlbXVsdGly YW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBw YXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2Uo JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBmYWls cyBiZWNhdXNlIHlvdSBjYW4ndCBzZXQgdGhlIFBFUklPRCBjb2x1bW46CitBTFRFUiBUQUJMRSB0 ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZworICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMSBTRVQg REVGQVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfbWx0cm5n Mm1sdHJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmdf ZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlk X2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfbWx0cm5nMgorICAgIE9OIERFTEVURSBTRVQg REVGQVVMVCAodmFsaWRfYXQpIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIG9rOgorQUxURVIg VEFCTEUgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9p ZDEgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsy X21sdHJuZzJtbHRybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcy bWx0cm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklP RCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX21sdHJuZzIKKyAgICBPTiBERUxF VEUgU0VUIERFRkFVTFQgKHBhcmVudF9pZDEpIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxl ZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nMiBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAx JywgJzIwMjAtMDEtMDEnKSkpIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9t bHRybmcyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9t bHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywg ZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMg KCdbOCw5KScsICdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScs ICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQy LCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRh dGVyYW5nZShudWxsLCBudWxsKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJt bHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIw MCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSksICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nMiBX SEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1syMDAs MjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLSBGSyB3aXRoIGEgY3VzdG9tIHJhbmdl IHR5cGUKKworQ1JFQVRFIFRZUEUgbXlkYXRlcmFuZ2UgQVMgcmFuZ2Uoc3VidHlwZT1kYXRlKTsK KworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3JuZzMgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlk X2F0IG15ZGF0ZXJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3JuZzNfcGsgUFJJTUFSWSBL RVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0NSRUFURSBUQUJMRSB0ZW1w b3JhbF9mazNfcm5nMnJuZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgbXlkYXRlcmFu Z2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmszX3Ju ZzJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAg Q09OU1RSQUlOVCB0ZW1wb3JhbF9mazNfcm5nMnJuZ19mayBGT1JFSUdOIEtFWSAocGFyZW50X2lk LCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmczIChpZCwgUEVS SU9EIHZhbGlkX2F0KSBPTiBERUxFVEUgQ0FTQ0FERQorKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3JuZzMgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBteWRhdGVyYW5nZSgnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmszX3JuZzJybmcg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbNSw2KScsIG15ZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3Jh bF9ybmczIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIw LTAxLTAxJyBXSEVSRSBpZCA9ICdbOCw5KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrM19y bmcycm5nIFdIRVJFIGlkID0gJ1s1LDYpJzsKKworRFJPUCBUQUJMRSB0ZW1wb3JhbF9mazNfcm5n MnJuZzsKK0RST1AgVEFCTEUgdGVtcG9yYWxfcm5nMzsKK0RST1AgVFlQRSBteWRhdGVyYW5nZTsK KwogLS0KIC0tIEZLIGJldHdlZW4gcGFydGl0aW9uZWQgdGFibGVzOiByYW5nZXMKIC0tCkBAIC0x ODY1LDggKzI2MDMsOCBAQCBDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nICgK ICAgbmFtZSB0ZXh0LAogICBDT05TVFJBSU5UIHRlbXBvcmFsX3Bhcml0aW9uZWRfcm5nX3BrIFBS SU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKICkgUEFSVElUSU9OIEJZ IExJU1QgKGlkKTsKLUNSRUFURSBUQUJMRSB0cDEgcGFydGl0aW9uIE9GIHRlbXBvcmFsX3BhcnRp dGlvbmVkX3JuZyBGT1IgVkFMVUVTIElOICgnWzEsMiknLCAnWzMsNCknLCAnWzUsNiknLCAnWzcs OCknLCAnWzksMTApJywgJ1sxMSwxMiknKTsKLUNSRUFURSBUQUJMRSB0cDIgcGFydGl0aW9uIE9G IHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgVkFMVUVTIElOICgnWzIsMyknLCAnWzQsNSkn LCAnWzYsNyknLCAnWzgsOSknLCAnWzEwLDExKScsICdbMTIsMTMpJyk7CitDUkVBVEUgVEFCTEUg dHAxIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgRk9SIFZBTFVFUyBJTiAo J1sxLDIpJywgJ1szLDQpJywgJ1s1LDYpJywgJ1s3LDgpJywgJ1s5LDEwKScsICdbMTEsMTIpJywg J1sxMywxNCknLCAnWzE1LDE2KScsICdbMTcsMTgpJywgJ1sxOSwyMCknLCAnWzIxLDIyKScsICdb MjMsMjQpJyk7CitDUkVBVEUgVEFCTEUgdHAyIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ybmcgRk9SIFZBTFVFUyBJTiAoJ1swLDEpJywgJ1syLDMpJywgJ1s0LDUpJywgJ1s2LDcp JywgJ1s4LDkpJywgJ1sxMCwxMSknLCAnWzEyLDEzKScsICdbMTQsMTUpJywgJ1sxNiwxNyknLCAn WzE4LDE5KScsICdbMjAsMjEpJywgJ1syMiwyMyknLCAnWzI0LDI1KScpOwogSU5TRVJUIElOVE8g dGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUwogICAo J1sxLDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMDAtMDItMDEnKSwgJ29uZScpLAog ICAoJ1sxLDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAyLTAxJywgJzIwMDAtMDMtMDEnKSwgJ29uZScp LApAQCAtMTg4MCw4ICsyNjE4LDggQEAgQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVk X2ZrX3JuZzJybmcgKAogICBDT05TVFJBSU5UIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJy bmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQogICAgIFJFRkVS RU5DRVMgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgUEVSSU9EIHZhbGlkX2F0KQogKSBQ QVJUSVRJT04gQlkgTElTVCAoaWQpOwotQ1JFQVRFIFRBQkxFIHRma3AxIHBhcnRpdGlvbiBPRiB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIEZPUiBWQUxVRVMgSU4gKCdbMSwyKScsICdb Myw0KScsICdbNSw2KScsICdbNyw4KScsICdbOSwxMCknLCAnWzExLDEyKScpOwotQ1JFQVRFIFRB QkxFIHRma3AyIHBhcnRpdGlvbiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIEZP UiBWQUxVRVMgSU4gKCdbMiwzKScsICdbNCw1KScsICdbNiw3KScsICdbOCw5KScsICdbMTAsMTEp JywgJ1sxMiwxMyknKTsKK0NSRUFURSBUQUJMRSB0ZmtwMSBQQVJUSVRJT04gT0YgdGVtcG9yYWxf cGFydGl0aW9uZWRfZmtfcm5nMnJuZyBGT1IgVkFMVUVTIElOICgnWzEsMiknLCAnWzMsNCknLCAn WzUsNiknLCAnWzcsOCknLCAnWzksMTApJywgJ1sxMSwxMiknLCAnWzEzLDE0KScsICdbMTUsMTYp JywgJ1sxNywxOCknLCAnWzE5LDIwKScsICdbMjEsMjIpJywgJ1syMywyNCknKTsKK0NSRUFURSBU QUJMRSB0ZmtwMiBQQVJUSVRJT04gT0YgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBG T1IgVkFMVUVTIElOICgnWzAsMSknLCAnWzIsMyknLCAnWzQsNSknLCAnWzYsNyknLCAnWzgsOSkn LCAnWzEwLDExKScsICdbMTIsMTMpJywgJ1sxNCwxNSknLCAnWzE2LDE3KScsICdbMTgsMTkpJywg J1syMCwyMSknLCAnWzIyLDIzKScsICdbMjQsMjUpJyk7CiAKIC0tCiAtLSBwYXJ0aXRpb25lZCBG SyByZWZlcmVuY2luZyBpbnNlcnRzCkBAIC0xOTQwLDM2ICsyNjc4LDkwIEBAIERFTEVURSBGUk9N IHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0 ID0gZGF0ZXJhbmdlCiAtLSBwYXJ0aXRpb25lZCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FE RQogLS0KIAorVFJVTkNBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nLCB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ma19ybmcycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5n IChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcy cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzQsNSknLCBkYXRlcmFuZ2Uo JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknKTsKIEFMVEVSIFRBQkxFIHRlbXBv cmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcKICAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX3Bh cnRpdGlvbmVkX2ZrX3JuZzJybmdfZmssCiAgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX3BhcnRp dGlvbmVkX2ZrX3JuZzJybmdfZmsKICAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0Qg dmFsaWRfYXQpCiAgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcKICAgICBP TiBERUxFVEUgQ0FTQ0FERSBPTiBVUERBVEUgQ0FTQ0FERTsKK1VQREFURSB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8g JzIwMjAtMDEtMDEnIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1s0LDUp JzsKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVS RSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3Ju ZzJybmcgV0hFUkUgaWQgPSAnWzQsNSknOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9u ZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxNSwxNiknLCBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVk X3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTUsMTYpJywgZGF0ZXJhbmdlKCcyMDIwLTAx LTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9m a19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwLDExKScsIGRh dGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbMTUsMTYpJyk7CitVUERBVEUg dGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIFNFVCBpZCA9ICdbMTYsMTcpJyBXSEVSRSBpZCA9ICdb MTUsMTYpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sxMCwxMSknOwog CiAtLQogLS0gcGFydGl0aW9uZWQgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUKIC0tCiAK K1RSVU5DQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZywgdGVtcG9yYWxfcGFydGl0aW9uZWRf Zmtfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZh bGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAx LTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQs IHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1s1LDYpJywgZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8g JzIwMjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s4LDkpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf cGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbNSw2KSc7CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgV0hFUkUgaWQgPSAnWzgsOSknOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1s1LDYpJzsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMg KCdbMTcsMTgpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgn WzE3LDE4KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJl bnRfaWQpIFZBTFVFUyAoJ1sxMSwxMiknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScpLCAnWzE3LDE4KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5n IFdIRVJFIGlkID0gJ1sxNywxOCknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgV0hFUkUgaWQg PSAnWzExLDEyKSc7CisKIC0tCiAtLSBwYXJ0aXRpb25lZCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMg U0VUIE5VTEwKIC0tCiAKK1RSVU5DQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZywgdGVtcG9y YWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlv bmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOSwxMCknLCBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVk X2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbNiw3KScsIGRh dGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbOSwxMCknKTsKIEFMVEVSIFRB QkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcKICAgRFJPUCBDT05TVFJBSU5UIHRl bXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmdfZmssCiAgIEFERCBDT05TVFJBSU5UIHRlbXBv cmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmdfZmsKICAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lk LCBQRVJJT0QgdmFsaWRfYXQpCiAgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9y bmcKICAgICBPTiBERUxFVEUgU0VUIE5VTEwgT04gVVBEQVRFIFNFVCBOVUxMOworVVBEQVRFIHRl bXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5 LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkID0gJ1sxMCwxMSknIFdIRVJFIGlkID0gJ1s5 LDEwKSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgV0hF UkUgaWQgPSAnWzYsNyknOworVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBTRVQgaWQg PSAnWzEwLDExKScgV0hFUkUgaWQgPSAnWzksMTApJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf cGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbNiw3KSc7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzE4LDE5KScs IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxOCwxOSknLCBk YXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxV RVMgKCdbMTIsMTMpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1sx OCwxOSknKTsKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgU0VUIGlkID0gJ1sxOSwy MCknIFdIRVJFIGlkID0gJ1sxOCwxOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRh dGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgV0hFUkUg aWQgPSAnWzEyLDEzKSc7CiAKIC0tCiAtLSBwYXJ0aXRpb25lZCBGSyByZWZlcmVuY2VkIGRlbGV0 ZXMgU0VUIE5VTEwKIC0tCiAKK1RSVU5DQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZywgdGVt cG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRp dGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTEsMTIpJywgZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzcsOCkn LCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzExLDEyKScpOworREVM RVRFIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZCA9ICdbMTEsMTIpJzsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9 ICdbNyw4KSc7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgV0hFUkUgaWQg PSAnWzExLDEyKSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJy bmcgV0hFUkUgaWQgPSAnWzcsOCknOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRf cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1syMCwyMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3Ju ZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMjAsMjEpJywgZGF0ZXJhbmdlKCcyMDIwLTAxLTAx JywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19y bmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEzLDE0KScsIGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbMjAsMjEpJyk7CitERUxFVEUgRlJP TSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgV0hFUkUgaWQgPSAnWzIwLDIxKScgQU5EIHZhbGlk X2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0 aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTMsMTQpJzsKKwogLS0KIC0tIHBhcnRpdGlv bmVkIEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVAogLS0KIAorVFJVTkNBVEUgdGVt cG9yYWxfcGFydGl0aW9uZWRfcm5nLCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVF UyAoJ1swLDEpJywgZGF0ZXJhbmdlKG51bGwsIG51bGwpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTIsMTMpJywgZGF0ZXJh bmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgn WzgsOSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzEyLDEzKScp OwogQUxURVIgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZwogICBBTFRFUiBD T0xVTU4gcGFyZW50X2lkIFNFVCBERUZBVUxUICdbLTEsLTFdJywKICAgRFJPUCBDT05TVFJBSU5U IHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmdfZmssCkBAIC0xOTc3LDExICsyNzY5LDM0 IEBAIEFMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcKICAgICBGT1JF SUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCiAgICAgUkVGRVJFTkNFUyB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ybmcKICAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRF IFNFVCBERUZBVUxUOworVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkID0g J1sxMywxNCknIFdIRVJFIGlkID0gJ1sxMiwxMyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1s4LDkpJzsKK1VQREFURSB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ybmcgU0VUIGlkID0gJ1sxMywxNCknIFdIRVJFIGlkID0gJ1sxMiwxMykn OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlk ID0gJ1s4LDkpJzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZh bGlkX2F0KSBWQUxVRVMgKCdbMjIsMjMpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAt MDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxp ZF9hdCkgVkFMVUVTICgnWzIyLDIzKScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAx LTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQs IHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxNCwxNSknLCBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzIyLDIzKScpOworVVBEQVRFIHRlbXBvcmFsX3BhcnRp dGlvbmVkX3JuZyBTRVQgaWQgPSAnWzIzLDI0KScgV0hFUkUgaWQgPSAnWzIyLDIzKScgQU5EIHZh bGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFy dGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTQsMTUpJzsKIAogLS0KIC0tIHBhcnRp dGlvbmVkIEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVAogLS0KIAorVFJVTkNBVEUg dGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nLCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5n OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZB TFVFUyAoJ1swLDEpJywgZGF0ZXJhbmdlKG51bGwsIG51bGwpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTQsMTUpJywgZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVT ICgnWzksMTApJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1sxNCwx NSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAn WzE0LDE1KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcg V0hFUkUgaWQgPSAnWzksMTApJzsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3Ju ZyBXSEVSRSBpZCA9ICdbMTQsMTUpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9u ZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbOSwxMCknOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1syNCwyNSknLCBkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bh cnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMjQsMjUpJywgZGF0ZXJhbmdl KCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzE1 LDE2KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbMjQsMjUpJyk7 CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgV0hFUkUgaWQgPSAnWzI0LDI1 KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTUsMTYpJzsKKwogRFJP UCBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nOwogRFJPUCBUQUJMRSB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ybmc7CiAKQEAgLTIwNzAsMzYgKzI4ODUsOTAgQEAgREVMRVRFIEZS T00gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFs aWRfYXQgPSBkYXRlbXUKIC0tIHBhcnRpdGlvbmVkIEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVND QURFCiAtLQogCitUUlVOQ0FURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcsIHRlbXBvcmFs X3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCBkYXRlbXVsdGly YW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBh cmVudF9pZCkgVkFMVUVTICgnWzQsNSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJyk7CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nCiAgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nX2ZrLAogICBBREQgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nX2ZrCiAgICAgRk9SRUlHTiBLRVkgKHBhcmVu dF9pZCwgUEVSSU9EIHZhbGlkX2F0KQogICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGFydGl0aW9u ZWRfbWx0cm5nCiAgICAgT04gREVMRVRFIENBU0NBREUgT04gVVBEQVRFIENBU0NBREU7CitVUERB VEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChk YXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgU0VU IGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzQsNSknOworVVBEQVRF IHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0g J1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1s dHJuZyBXSEVSRSBpZCA9ICdbNCw1KSc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25l ZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzE1LDE2KScsIGRhdGVtdWx0aXJhbmdl KGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTUsMTYp JywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyAoaWQs IHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMCwxMSknLCBkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1sxNSwxNiknKTsKK1VQREFU RSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgU0VUIGlkID0gJ1sxNiwxNyknIFdIRVJFIGlk ID0gJ1sxNSwxNiknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAn WzEwLDExKSc7CiAKIC0tCiAtLSBwYXJ0aXRpb25lZCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FT Q0FERQogLS0KIAorVFJVTkNBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nLCB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFy dGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZW11bHRp cmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBw YXJlbnRfaWQpIFZBTFVFUyAoJ1s1LDYpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxf cGFydGl0aW9uZWRfbWx0cm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5n ZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgV0hFUkUgaWQgPSAnWzgs OSknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5n IFdIRVJFIGlkID0gJ1s1LDYpJzsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21s dHJuZyBXSEVSRSBpZCA9ICdbOCw5KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlv bmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzUsNiknOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxNywxOCkn LCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkg VkFMVUVTICgnWzE3LDE4KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScs ICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21s dHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTEsMTIpJywg ZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdb MTcsMTgpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgV0hFUkUg aWQgPSAnWzE3LDE4KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9 ICdbMTEsMTIpJzsKKwogLS0KIC0tIHBhcnRpdGlvbmVkIEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBT RVQgTlVMTAogLS0KIAorVFJVTkNBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nLCB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s5LDEwKScsIGRhdGVt dWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9h dCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbNiw3KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgn MjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzksMTApJyk7CiBBTFRFUiBUQUJMRSB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nCiAgIERST1AgQ09OU1RSQUlOVCB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nX2ZrLAogICBBREQgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nX2ZrCiAgICAgRk9SRUlHTiBLRVkg KHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQogICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGFy dGl0aW9uZWRfbWx0cm5nCiAgICAgT04gREVMRVRFIFNFVCBOVUxMIE9OIFVQREFURSBTRVQgTlVM TDsKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAx JykpKSBTRVQgaWQgPSAnWzEwLDExKScgV0hFUkUgaWQgPSAnWzksMTApJzsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbNiw3 KSc7CitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIFNFVCBpZCA9ICdbMTAsMTEp JyBXSEVSRSBpZCA9ICdbOSwxMCknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25l ZF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1s2LDcpJzsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTgsMTkpJywg ZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZB TFVFUyAoJ1sxOCwxOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAn MjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRy bmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEyLDEzKScsIGRh dGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzE4 LDE5KScpOworVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyBTRVQgaWQgPSAnWzE5 LDIwKScgV0hFUkUgaWQgPSAnWzE4LDE5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6 ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJu ZyBXSEVSRSBpZCA9ICdbMTIsMTMpJzsKIAogLS0KIC0tIHBhcnRpdGlvbmVkIEZLIHJlZmVyZW5j ZWQgZGVsZXRlcyBTRVQgTlVMTAogLS0KIAorVFJVTkNBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRf bWx0cm5nLCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sx MSwxMiknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5n IChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzcsOCknLCBkYXRlbXVsdGlyYW5n ZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1sxMSwxMiknKTsKK0RF TEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEn KSkpIFdIRVJFIGlkID0gJ1sxMSwxMiknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1s3LDgpJzsKK0RFTEVURSBGUk9NIHRl bXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyBXSEVSRSBpZCA9ICdbMTEsMTIpJzsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdb Nyw4KSc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxp ZF9hdCkgVkFMVUVTICgnWzIwLDIxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0w MS0wMScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVk X21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMjAsMjEpJywgZGF0ZW11bHRpcmFuZ2Uo ZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRf aWQpIFZBTFVFUyAoJ1sxMywxNCknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpKSwgJ1syMCwyMSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Bh cnRpdGlvbmVkX21sdHJuZyBXSEVSRSBpZCA9ICdbMjAsMjEpJyBBTkQgdmFsaWRfYXQgQD4gJzIw MTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19t bHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMywxNCknOworCiAtLQogLS0gcGFydGl0aW9uZWQg RksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUCiAtLQogCitUUlVOQ0FURSB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9tbHRybmcsIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRy bmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9h dCkgVkFMVUVTICgnWzAsMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UobnVsbCwgbnVsbCkp KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0 KSBWQUxVRVMgKCdbMTIsMTMpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAx JywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtf bWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1s4LDkpJywg ZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdb MTIsMTMpJyk7CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0 cm5nCiAgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQgU0VUIERFRkFVTFQgJ1swLDEpJywKICAgRFJP UCBDT05TVFJBSU5UIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmdfZmssCkBA IC0yMTA3LDExICsyOTc2LDM0IEBAIEFMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2Zr X21sdHJuZzJtbHRybmcKICAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRf YXQpCiAgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcKICAgICBPTiBE RUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRFIFNFVCBERUZBVUxUOworVVBEQVRFIHRlbXBvcmFs X3BhcnRpdGlvbmVkX21sdHJuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFu Z2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFNFVCBpZCA9ICdbMTMs MTQpJyBXSEVSRSBpZCA9ICdbMTIsMTMpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0 aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbOCw5KSc7CitVUERBVEUgdGVtcG9y YWxfcGFydGl0aW9uZWRfbWx0cm5nIFNFVCBpZCA9ICdbMTMsMTQpJyBXSEVSRSBpZCA9ICdbMTIs MTMpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJu ZyBXSEVSRSBpZCA9ICdbOCw5KSc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9t bHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzIyLDIzKScsIGRhdGVtdWx0aXJhbmdlKGRh dGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMjIsMjMpJywg ZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZh bGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxNCwxNSknLCBkYXRlbXVsdGlyYW5nZShkYXRl cmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1syMiwyMyknKTsKK1VQREFURSB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgU0VUIGlkID0gJ1syMywyNCknIFdIRVJFIGlkID0g J1syMiwyMyknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzE0 LDE1KSc7CiAKIC0tCiAtLSBwYXJ0aXRpb25lZCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERF RkFVTFQKIC0tCiAKK1RSVU5DQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZywgdGVtcG9y YWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bh cnRpdGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMCwxKScsIGRhdGVtdWx0 aXJhbmdlKGRhdGVyYW5nZShudWxsLCBudWxsKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFy dGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxNCwxNSknLCBkYXRlbXVs dGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQs IHBhcmVudF9pZCkgVkFMVUVTICgnWzksMTApJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbMTQsMTUpJyk7CitERUxFVEUgRlJPTSB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0 aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBXSEVSRSBpZCA9 ICdbMTQsMTUpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5n Mm1sdHJuZyBXSEVSRSBpZCA9ICdbOSwxMCknOworREVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0 aW9uZWRfbWx0cm5nIFdIRVJFIGlkID0gJ1sxNCwxNSknOworU0VMRUNUICogRlJPTSB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1s5LDEwKSc7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVT ICgnWzI0LDI1KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIw LTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQs IHZhbGlkX2F0KSBWQUxVRVMgKCdbMjQsMjUpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcy MDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0 aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAo J1sxNSwxNiknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScpKSwgJ1syNCwyNSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21s dHJuZyBXSEVSRSBpZCA9ICdbMjQsMjUpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpk YXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5n IFdIRVJFIGlkID0gJ1sxNSwxNiknOworCiBEUk9QIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVk X2ZrX21sdHJuZzJtbHRybmc7CiBEUk9QIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJu ZzsKIAotLSAKMi40Ny4zCgo= --000000000000e635b70643f70cee Content-Type: text/x-patch; charset="US-ASCII"; name="v61-0009-Expose-FOR-PORTION-OF-to-plpgsql-triggers.patch" Content-Disposition: attachment; filename="v61-0009-Expose-FOR-PORTION-OF-to-plpgsql-triggers.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mi6cumlz8 RnJvbSBkODc3MjFlNmVlMzI0MjRmMmEyMzRiYjQ0ODQ0NmFlYjMyZWYwOGZkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IFR1ZSwgMjkgT2N0IDIwMjQgMTg6NTQ6MzcgLTA3MDAKU3ViamVj dDogW1BBVENIIHY2MSAwOS8xMF0gRXhwb3NlIEZPUiBQT1JUSU9OIE9GIHRvIHBscGdzcWwgdHJp Z2dlcnMKCkl0IGlzIGhlbHBmdWwgZm9yIHRyaWdnZXJzIHRvIHNlZSB3aGF0IHRoZSBGT1IgUE9S VElPTiBPRiBjbGF1c2UKc3BlY2lmaWVkOiBib3RoIHRoZSBjb2x1bW4vcGVyaW9kIG5hbWUgYW5k IHRoZSB0YXJnZXRlZCBib3VuZHMuIE91ciBSSQp0cmlnZ2VycyByZXF1aXJlIHRoaXMgaW5mb3Jt YXRpb24sIGFuZCB3ZSBhcmUgcGFzc2luZyBpdCBhcyBwYXJ0IG9mIHRoZQpUcmlnZ2VyRGF0YSBz dHJ1Y3QuIFRoaXMgY29tbWl0IGFsbG93cyBwbHBnc3FsIHRyaWdnZXIgZnVuY3Rpb25zIHRvCmFj Y2VzcyB0aGUgc2FtZSBpbmZvcm1hdGlvbiwgdXNpbmcgdGhlIG5ldyBUR19QRVJJT0RfQ09MVU1O IGFuZApUR19QRVJJT0RfVEFSR0VUIHZhcmlhYmxlcy4KCkF1dGhvcjogUGF1bCBBLiBKdW5nd2ly dGggPHBqQGlsbHVtaW5hdGVkY29tcHV0aW5nLmNvbT4KLS0tCiBkb2Mvc3JjL3NnbWwvcGxwZ3Nx bC5zZ21sICAgICAgICAgICAgICAgICAgICB8IDI0ICsrKysrKysrKwogc3JjL3BsL3BscGdzcWwv c3JjL3BsX2NvbXAuYyAgICAgICAgICAgICAgICAgfCAyNiArKysrKysrKysKIHNyYy9wbC9wbHBn c3FsL3NyYy9wbF9leGVjLmMgICAgICAgICAgICAgICAgIHwgMzIgKysrKysrKysrKysrCiBzcmMv cGwvcGxwZ3NxbC9zcmMvcGxwZ3NxbC5oICAgICAgICAgICAgICAgICB8ICAyICsKIHNyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvZm9yX3BvcnRpb25fb2Yub3V0IHwgNTUgKysrKysrKysrKystLS0t LS0tLS0KIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2Zvcl9wb3J0aW9uX29mLnNxbCAgICAgIHwgIDkg KysrLQogNiBmaWxlcyBjaGFuZ2VkLCAxMjEgaW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3BscGdzcWwuc2dtbCBiL2RvYy9zcmMvc2dtbC9w bHBnc3FsLnNnbWwKaW5kZXggNTYxZjZlNTBkNjMuLjg2ZjMxMjQxNmE1IDEwMDY0NAotLS0gYS9k b2Mvc3JjL3NnbWwvcGxwZ3NxbC5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9wbHBnc3FsLnNnbWwK QEAgLTQyNDcsNiArNDI0NywzMCBAQCBBU1NFUlQgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPmNvbmRpdGlvbjwvcmVwbGFjZWFibGU+IDxvcHRpb25hbD4gLCA8cmVwbAogICAgICAgPC9w YXJhPgogICAgICA8L2xpc3RpdGVtPgogICAgIDwvdmFybGlzdGVudHJ5PgorCisgICAgPHZhcmxp c3RlbnRyeSBpZD0icGxwZ3NxbC1kbWwtdHJpZ2dlci10Zy10ZW1wb3JhbC1jb2x1bW4iPgorICAg ICA8dGVybT48dmFybmFtZT5UR19QRVJJT0RfTkFNRTwvdmFybmFtZT4gPHR5cGU+dGV4dDwvdHlw ZT48L3Rlcm0+CisgICAgIDxsaXN0aXRlbT4KKyAgICAgIDxwYXJhPgorICAgICAgIHRoZSBjb2x1 bW4gbmFtZSB1c2VkIGluIGEgPGxpdGVyYWw+Rk9SIFBPUlRJT04gT0Y8L2xpdGVyYWw+IGNsYXVz ZSwKKyAgICAgICBvciBlbHNlIDxzeW1ib2w+TlVMTDwvc3ltYm9sPi4KKyAgICAgIDwvcGFyYT4K KyAgICAgPC9saXN0aXRlbT4KKyAgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgIDx2YXJsaXN0ZW50 cnkgaWQ9InBscGdzcWwtZG1sLXRyaWdnZXItdGctdGVtcG9yYWwtdGFyZ2V0Ij4KKyAgICAgPHRl cm0+PHZhcm5hbWU+VEdfUEVSSU9EX0JPVU5EUzwvdmFybmFtZT4gPHR5cGU+dGV4dDwvdHlwZT48 L3Rlcm0+CisgICAgIDxsaXN0aXRlbT4KKyAgICAgIDxwYXJhPgorICAgICAgIHRoZSByYW5nZS9t dWx0aXJhbmdlL2V0Yy4gZ2l2ZW4gYXMgdGhlIGJvdW5kcyBvZiBhCisgICAgICAgPGxpdGVyYWw+ Rk9SIFBPUlRJT04gT0Y8L2xpdGVyYWw+IGNsYXVzZSwgZWl0aGVyIGRpcmVjdGx5ICh3aXRoIHBh cmVucyBzeW50YXgpCisgICAgICAgb3IgY29tcHV0ZWQgZnJvbSB0aGUgPGxpdGVyYWw+RlJPTTwv bGl0ZXJhbD4gYW5kIDxsaXRlcmFsPlRPPC9saXRlcmFsPiBib3VuZHMuCisgICAgICAgPHN5bWJv bD5OVUxMPC9zeW1ib2w+IGlmIDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9saXRlcmFsPiB3YXMg bm90IHVzZWQuCisgICAgICAgVGhpcyBpcyBhIHRleHQgdmFsdWUgYmFzZWQgb24gdGhlIHR5cGUn cyBvdXRwdXQgZnVuY3Rpb24sCisgICAgICAgc2luY2UgdGhlIHR5cGUgY2FuJ3QgYmUga25vd24g YXQgZnVuY3Rpb24gY3JlYXRpb24gdGltZS4KKyAgICAgIDwvcGFyYT4KKyAgICAgPC9saXN0aXRl bT4KKyAgICA8L3Zhcmxpc3RlbnRyeT4KICAgIDwvdmFyaWFibGVsaXN0PgogICA8L3BhcmE+CiAK ZGlmZiAtLWdpdCBhL3NyYy9wbC9wbHBnc3FsL3NyYy9wbF9jb21wLmMgYi9zcmMvcGwvcGxwZ3Nx bC9zcmMvcGxfY29tcC5jCmluZGV4IGY2OTc2Njg5YTY5Li43MzNiNWQ5OGI4NiAxMDA2NDQKLS0t IGEvc3JjL3BsL3BscGdzcWwvc3JjL3BsX2NvbXAuYworKysgYi9zcmMvcGwvcGxwZ3NxbC9zcmMv cGxfY29tcC5jCkBAIC02MTcsNiArNjE3LDMyIEBAIHBscGdzcWxfY29tcGlsZV9jYWxsYmFjayhG dW5jdGlvbkNhbGxJbmZvIGZjaW5mbywKIAkJCXZhci0+ZHR5cGUgPSBQTFBHU1FMX0RUWVBFX1BS T01JU0U7CiAJCQkoKFBMcGdTUUxfdmFyICopIHZhciktPnByb21pc2UgPSBQTFBHU1FMX1BST01J U0VfVEdfQVJHVjsKIAorCQkJLyogQWRkIHRoZSB2YXJpYWJsZSB0Z19wZXJpb2RfbmFtZSAqLwor CQkJdmFyID0gcGxwZ3NxbF9idWlsZF92YXJpYWJsZSgidGdfcGVyaW9kX25hbWUiLCAwLAorCQkJ CQkJCQkJCSBwbHBnc3FsX2J1aWxkX2RhdGF0eXBlKFRFWFRPSUQsCisJCQkJCQkJCQkJCQkJCQkJ LTEsCisJCQkJCQkJCQkJCQkJCQkJZnVuY3Rpb24tPmZuX2lucHV0X2NvbGxhdGlvbiwKKwkJCQkJ CQkJCQkJCQkJCQlOVUxMKSwKKwkJCQkJCQkJCQkgdHJ1ZSk7CisJCQlBc3NlcnQodmFyLT5kdHlw ZSA9PSBQTFBHU1FMX0RUWVBFX1ZBUik7CisJCQl2YXItPmR0eXBlID0gUExQR1NRTF9EVFlQRV9Q Uk9NSVNFOworCQkJKChQTHBnU1FMX3ZhciAqKSB2YXIpLT5wcm9taXNlID0gUExQR1NRTF9QUk9N SVNFX1RHX1BFUklPRF9OQU1FOworCisJCQkvKgorCQkJICogQWRkIHRoZSB2YXJpYWJsZSB0Z19w ZXJpb2RfYm91bmRzLiBUaGlzIGNvdWxkIGJlIGFueQorCQkJICogcmFuZ2V0eXBlIG9yIG11bHRp cmFuZ2V0eXBlIG9yIHVzZXItc3VwcGxpZWQgdHlwZSwgc28gdGhlIGJlc3QKKwkJCSAqIHdlIGNh biBvZmZlciBpcyBhIFRFWFQgdmFyaWFibGUuCisJCQkgKi8KKwkJCXZhciA9IHBscGdzcWxfYnVp bGRfdmFyaWFibGUoInRnX3BlcmlvZF9ib3VuZHMiLCAwLAorCQkJCQkJCQkJCSBwbHBnc3FsX2J1 aWxkX2RhdGF0eXBlKFRFWFRPSUQsCisJCQkJCQkJCQkJCQkJCQkJLTEsCisJCQkJCQkJCQkJCQkJ CQkJZnVuY3Rpb24tPmZuX2lucHV0X2NvbGxhdGlvbiwKKwkJCQkJCQkJCQkJCQkJCQlOVUxMKSwK KwkJCQkJCQkJCQkgdHJ1ZSk7CisJCQlBc3NlcnQodmFyLT5kdHlwZSA9PSBQTFBHU1FMX0RUWVBF X1ZBUik7CisJCQl2YXItPmR0eXBlID0gUExQR1NRTF9EVFlQRV9QUk9NSVNFOworCQkJKChQTHBn U1FMX3ZhciAqKSB2YXIpLT5wcm9taXNlID0gUExQR1NRTF9QUk9NSVNFX1RHX1BFUklPRF9CT1VO RFM7CisKIAkJCWJyZWFrOwogCiAJCWNhc2UgUExQR1NRTF9FVkVOVF9UUklHR0VSOgpkaWZmIC0t Z2l0IGEvc3JjL3BsL3BscGdzcWwvc3JjL3BsX2V4ZWMuYyBiL3NyYy9wbC9wbHBnc3FsL3NyYy9w bF9leGVjLmMKaW5kZXggZDE5NDI1YjdhNzEuLjNjNWZlNGNiMzgwIDEwMDY0NAotLS0gYS9zcmMv cGwvcGxwZ3NxbC9zcmMvcGxfZXhlYy5jCisrKyBiL3NyYy9wbC9wbHBnc3FsL3NyYy9wbF9leGVj LmMKQEAgLTEzODUsNiArMTM4NSw3IEBAIHBscGdzcWxfZnVsZmlsbF9wcm9taXNlKFBMcGdTUUxf ZXhlY3N0YXRlICplc3RhdGUsCiAJCQkJCQlQTHBnU1FMX3ZhciAqdmFyKQogewogCU1lbW9yeUNv bnRleHQgb2xkY29udGV4dDsKKwlGb3JQb3J0aW9uT2ZTdGF0ZSAqZnBvOwogCiAJaWYgKHZhci0+ cHJvbWlzZSA9PSBQTFBHU1FMX1BST01JU0VfTk9ORSkKIAkJcmV0dXJuOwkJCQkJLyogbm90aGlu ZyB0byBkbyAqLwpAQCAtMTUxNiw2ICsxNTE3LDM3IEBAIHBscGdzcWxfZnVsZmlsbF9wcm9taXNl KFBMcGdTUUxfZXhlY3N0YXRlICplc3RhdGUsCiAJCQl9CiAJCQlicmVhazsKIAorCQljYXNlIFBM UEdTUUxfUFJPTUlTRV9UR19QRVJJT0RfTkFNRToKKwkJCWlmIChlc3RhdGUtPnRyaWdkYXRhID09 IE5VTEwpCisJCQkJZWxvZyhFUlJPUiwgInRyaWdnZXIgcHJvbWlzZSBpcyBub3QgaW4gYSB0cmln Z2VyIGZ1bmN0aW9uIik7CisJCQlpZiAoZXN0YXRlLT50cmlnZGF0YS0+dGdfdGVtcG9yYWwpCisJ CQkJYXNzaWduX3RleHRfdmFyKGVzdGF0ZSwgdmFyLCBlc3RhdGUtPnRyaWdkYXRhLT50Z190ZW1w b3JhbC0+ZnBfcmFuZ2VOYW1lKTsKKwkJCWVsc2UKKwkJCQlhc3NpZ25fc2ltcGxlX3Zhcihlc3Rh dGUsIHZhciwgKERhdHVtKSAwLCB0cnVlLCBmYWxzZSk7CisJCQlicmVhazsKKworCQljYXNlIFBM UEdTUUxfUFJPTUlTRV9UR19QRVJJT0RfQk9VTkRTOgorCQkJaWYgKGVzdGF0ZS0+dHJpZ2RhdGEg PT0gTlVMTCkKKwkJCQllbG9nKEVSUk9SLCAidHJpZ2dlciBwcm9taXNlIGlzIG5vdCBpbiBhIHRy aWdnZXIgZnVuY3Rpb24iKTsKKworCQkJZnBvID0gZXN0YXRlLT50cmlnZGF0YS0+dGdfdGVtcG9y YWw7CisJCQlpZiAoZnBvKQorCQkJeworCisJCQkJT2lkCQkJZnVuY2lkOworCQkJCWJvb2wJCXZh cmxlbmE7CisKKwkJCQlnZXRUeXBlT3V0cHV0SW5mbyhmcG8tPmZwX3JhbmdlVHlwZSwgJmZ1bmNp ZCwgJnZhcmxlbmEpOworCQkJCUFzc2VydChPaWRJc1ZhbGlkKGZ1bmNpZCkpOworCisJCQkJYXNz aWduX3RleHRfdmFyKGVzdGF0ZSwgdmFyLAorCQkJCQkJCQlPaWRPdXRwdXRGdW5jdGlvbkNhbGwo ZnVuY2lkLAorCQkJCQkJCQkJCQkJCSAgZnBvLT5mcF90YXJnZXRSYW5nZSkpOworCQkJfQorCQkJ ZWxzZQorCQkJCWFzc2lnbl9zaW1wbGVfdmFyKGVzdGF0ZSwgdmFyLCAoRGF0dW0pIDAsIHRydWUs IGZhbHNlKTsKKwkJCWJyZWFrOworCiAJCWNhc2UgUExQR1NRTF9QUk9NSVNFX1RHX0VWRU5UOgog CQkJaWYgKGVzdGF0ZS0+ZXZ0cmlnZGF0YSA9PSBOVUxMKQogCQkJCWVsb2coRVJST1IsICJldmVu dCB0cmlnZ2VyIHByb21pc2UgaXMgbm90IGluIGFuIGV2ZW50IHRyaWdnZXIgZnVuY3Rpb24iKTsK ZGlmZiAtLWdpdCBhL3NyYy9wbC9wbHBnc3FsL3NyYy9wbHBnc3FsLmggYi9zcmMvcGwvcGxwZ3Nx bC9zcmMvcGxwZ3NxbC5oCmluZGV4IDVmMTkzYTM3MTgzLi44MDAwMTA0YmM4OSAxMDA2NDQKLS0t IGEvc3JjL3BsL3BscGdzcWwvc3JjL3BscGdzcWwuaAorKysgYi9zcmMvcGwvcGxwZ3NxbC9zcmMv cGxwZ3NxbC5oCkBAIC04NSw2ICs4NSw4IEBAIHR5cGVkZWYgZW51bSBQTHBnU1FMX3Byb21pc2Vf dHlwZQogCVBMUEdTUUxfUFJPTUlTRV9UR19BUkdWLAogCVBMUEdTUUxfUFJPTUlTRV9UR19FVkVO VCwKIAlQTFBHU1FMX1BST01JU0VfVEdfVEFHLAorCVBMUEdTUUxfUFJPTUlTRV9UR19QRVJJT0Rf TkFNRSwKKwlQTFBHU1FMX1BST01JU0VfVEdfUEVSSU9EX0JPVU5EUywKIH0gUExwZ1NRTF9wcm9t aXNlX3R5cGU7CiAKIC8qCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2Zv cl9wb3J0aW9uX29mLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZm9yX3BvcnRpb25f b2Yub3V0CmluZGV4IDkyODhiNDIyNGY3Li41MmZiMDQ0ZDJlNSAxMDA2NDQKLS0tIGEvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9mb3JfcG9ydGlvbl9vZi5vdXQKKysrIGIvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9mb3JfcG9ydGlvbl9vZi5vdXQKQEAgLTYxMyw4ICs2MTMsMTMgQEAgQ1JF QVRFIEZVTkNUSU9OIGR1bXBfdHJpZ2dlcigpCiBSRVRVUk5TIFRSSUdHRVIgTEFOR1VBR0UgcGxw Z3NxbCBBUwogJCQKIEJFR0lOCi0gIFJBSVNFIE5PVElDRSAnJTogJSAlICU6JywKLSAgICBUR19O QU1FLCBUR19XSEVOLCBUR19PUCwgVEdfTEVWRUw7CisgIElGIFRHX1BFUklPRF9OQU1FIElTIE5P VCBOVUxMIFRIRU4KKyAgICBSQUlTRSBOT1RJQ0UgJyU6ICUgJSBGT1IgUE9SVElPTiBPRiAlICgl KSAlOicsCisgICAgICBUR19OQU1FLCBUR19XSEVOLCBUR19PUCwgVEdfUEVSSU9EX05BTUUsIFRH X1BFUklPRF9CT1VORFMsIFRHX0xFVkVMOworICBFTFNFCisgICAgUkFJU0UgTk9USUNFICclOiAl ICUgJTonLAorICAgICAgVEdfTkFNRSwgVEdfV0hFTiwgVEdfT1AsIFRHX0xFVkVMOworICBFTkQg SUY7CiAKICAgSUYgVEdfQVJHVlswXSBUSEVOCiAgICAgUkFJU0UgTk9USUNFICcgIG9sZDogJScs IChTRUxFQ1Qgc3RyaW5nX2FnZyhvbGRfdGFibGU6OnRleHQsICdcbiAgICAgICAnKSBGUk9NIG9s ZF90YWJsZSk7CkBAIC02NjQsMTAgKzY2OSwxMCBAQCBVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVz dAogICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDIxLTAxLTAxJyBUTyAnMjAyMi0w MS0wMScKICAgU0VUIG5hbWUgPSAnZml2ZV4zJwogICBXSEVSRSBpZCA9ICdbNSw2KSc7Ci1OT1RJ Q0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJFRk9SRSBVUERBVEUgU1RBVEVNRU5UOgorTk9USUNFOiAg ZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgVVBEQVRFIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChb MjAyMS0wMS0wMSwyMDIyLTAxLTAxKSkgU1RBVEVNRU5UOgogTk9USUNFOiAgICBvbGQ6IDxOVUxM PgogTk9USUNFOiAgICBuZXc6IDxOVUxMPgotTk9USUNFOiAgZnBvX2JlZm9yZV9yb3c6IEJFRk9S RSBVUERBVEUgUk9XOgorTk9USUNFOiAgZnBvX2JlZm9yZV9yb3c6IEJFRk9SRSBVUERBVEUgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgKFsyMDIxLTAxLTAxLDIwMjItMDEtMDEpKSBST1c6CiBOT1RJ Q0U6ICAgIG9sZDogWzIwMTktMDEtMDEsMjAzMC0wMS0wMSkKIE5PVElDRTogICAgbmV3OiBbMjAy MS0wMS0wMSwyMDIyLTAxLTAxKQogTk9USUNFOiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgSU5T RVJUIFNUQVRFTUVOVDoKQEAgLTY5NCwxOSArNjk5LDE5IEBAIE5PVElDRTogICAgbmV3OiBbMjAy Mi0wMS0wMSwyMDMwLTAxLTAxKQogTk9USUNFOiAgZnBvX2FmdGVyX2luc2VydF9zdG10OiBBRlRF UiBJTlNFUlQgU1RBVEVNRU5UOgogTk9USUNFOiAgICBvbGQ6IDxOVUxMPgogTk9USUNFOiAgICBu ZXc6IDxOVUxMPgotTk9USUNFOiAgZnBvX2FmdGVyX3VwZGF0ZV9yb3c6IEFGVEVSIFVQREFURSBS T1c6CitOT1RJQ0U6ICBmcG9fYWZ0ZXJfdXBkYXRlX3JvdzogQUZURVIgVVBEQVRFIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IChbMjAyMS0wMS0wMSwyMDIyLTAxLTAxKSkgUk9XOgogTk9USUNFOiAg ICBvbGQ6IFsyMDE5LTAxLTAxLDIwMzAtMDEtMDEpCiBOT1RJQ0U6ICAgIG5ldzogWzIwMjEtMDEt MDEsMjAyMi0wMS0wMSkKLU5PVElDRTogIGZwb19hZnRlcl91cGRhdGVfc3RtdDogQUZURVIgVVBE QVRFIFNUQVRFTUVOVDoKK05PVElDRTogIGZwb19hZnRlcl91cGRhdGVfc3RtdDogQUZURVIgVVBE QVRFIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChbMjAyMS0wMS0wMSwyMDIyLTAxLTAxKSkgU1RB VEVNRU5UOgogTk9USUNFOiAgICBvbGQ6IDxOVUxMPgogTk9USUNFOiAgICBuZXc6IDxOVUxMPgog REVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAogICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDIzLTAxLTAxJyBUTyAnMjAyNC0wMS0wMScKICAgV0hFUkUgaWQgPSAnWzUsNikn OwotTk9USUNFOiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgREVMRVRFIFNUQVRFTUVOVDoKK05P VElDRTogIGZwb19iZWZvcmVfc3RtdDogQkVGT1JFIERFTEVURSBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCAoWzIwMjMtMDEtMDEsMjAyNC0wMS0wMSkpIFNUQVRFTUVOVDoKIE5PVElDRTogICAgb2xk OiA8TlVMTD4KIE5PVElDRTogICAgbmV3OiA8TlVMTD4KLU5PVElDRTogIGZwb19iZWZvcmVfcm93 OiBCRUZPUkUgREVMRVRFIFJPVzoKK05PVElDRTogIGZwb19iZWZvcmVfcm93OiBCRUZPUkUgREVM RVRFIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChbMjAyMy0wMS0wMSwyMDI0LTAxLTAxKSkgUk9X OgogTk9USUNFOiAgICBvbGQ6IFsyMDIyLTAxLTAxLDIwMzAtMDEtMDEpCiBOT1RJQ0U6ICAgIG5l dzogPE5VTEw+CiBOT1RJQ0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJFRk9SRSBJTlNFUlQgU1RBVEVN RU5UOgpAQCAtNzMzLDEwICs3MzgsMTAgQEAgTk9USUNFOiAgICBuZXc6IFsyMDI0LTAxLTAxLDIw MzAtMDEtMDEpCiBOT1RJQ0U6ICBmcG9fYWZ0ZXJfaW5zZXJ0X3N0bXQ6IEFGVEVSIElOU0VSVCBT VEFURU1FTlQ6CiBOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CiBOT1RJQ0U6ICAgIG5ldzogPE5VTEw+ Ci1OT1RJQ0U6ICBmcG9fYWZ0ZXJfZGVsZXRlX3JvdzogQUZURVIgREVMRVRFIFJPVzoKK05PVElD RTogIGZwb19hZnRlcl9kZWxldGVfcm93OiBBRlRFUiBERUxFVEUgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgKFsyMDIzLTAxLTAxLDIwMjQtMDEtMDEpKSBST1c6CiBOT1RJQ0U6ICAgIG9sZDogWzIw MjItMDEtMDEsMjAzMC0wMS0wMSkKIE5PVElDRTogICAgbmV3OiA8TlVMTD4KLU5PVElDRTogIGZw b19hZnRlcl9kZWxldGVfc3RtdDogQUZURVIgREVMRVRFIFNUQVRFTUVOVDoKK05PVElDRTogIGZw b19hZnRlcl9kZWxldGVfc3RtdDogQUZURVIgREVMRVRFIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IChbMjAyMy0wMS0wMSwyMDI0LTAxLTAxKSkgU1RBVEVNRU5UOgogTk9USUNFOiAgICBvbGQ6IDxO VUxMPgogTk9USUNFOiAgICBuZXc6IDxOVUxMPgogU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9v Zl90ZXN0IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKQEAgLTgwMiwxMCArODA3LDEwIEBAIEJFR0lO OwogVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKICAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAxOC0wMS0xNScgVE8gJzIwMTktMDEtMDEnCiAgIFNFVCBuYW1lID0gJzIwMTgtMDEt MTVfdG9fMjAxOS0wMS0wMSc7Ci1OT1RJQ0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJFRk9SRSBVUERB VEUgU1RBVEVNRU5UOgorTk9USUNFOiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgVVBEQVRFIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IChbMjAxOC0wMS0xNSwyMDE5LTAxLTAxKSkgU1RBVEVNRU5U OgogTk9USUNFOiAgICBvbGQ6IDxOVUxMPgogTk9USUNFOiAgICBuZXc6IDxOVUxMPgotTk9USUNF OiAgZnBvX2JlZm9yZV9yb3c6IEJFRk9SRSBVUERBVEUgUk9XOgorTk9USUNFOiAgZnBvX2JlZm9y ZV9yb3c6IEJFRk9SRSBVUERBVEUgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKFsyMDE4LTAxLTE1 LDIwMTktMDEtMDEpKSBST1c6CiBOT1RJQ0U6ICAgIG9sZDogWzIwMTgtMDEtMDEsMjAyMC0wMS0w MSkKIE5PVElDRTogICAgbmV3OiBbMjAxOC0wMS0xNSwyMDE5LTAxLTAxKQogTk9USUNFOiAgZnBv X2JlZm9yZV9zdG10OiBCRUZPUkUgSU5TRVJUIFNUQVRFTUVOVDoKQEAgLTgzMiwyMCArODM3LDIw IEBAIE5PVElDRTogICAgbmV3OiAoIlsxLDIpIiwiWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkiLG9u ZSkKIE5PVElDRTogIGZwb19hZnRlcl9pbnNlcnRfc3RtdDogQUZURVIgSU5TRVJUIFNUQVRFTUVO VDoKIE5PVElDRTogICAgb2xkOiA8TlVMTD4KIE5PVElDRTogICAgbmV3OiAoIlsxLDIpIiwiWzIw MTktMDEtMDEsMjAyMC0wMS0wMSkiLG9uZSkKLU5PVElDRTogIGZwb19hZnRlcl91cGRhdGVfcm93 OiBBRlRFUiBVUERBVEUgUk9XOgorTk9USUNFOiAgZnBvX2FmdGVyX3VwZGF0ZV9yb3c6IEFGVEVS IFVQREFURSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoWzIwMTgtMDEtMTUsMjAxOS0wMS0wMSkp IFJPVzoKIE5PVElDRTogICAgb2xkOiAoIlsxLDIpIiwiWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSki LG9uZSkKIE5PVElDRTogICAgbmV3OiAoIlsxLDIpIiwiWzIwMTgtMDEtMTUsMjAxOS0wMS0wMSki LDIwMTgtMDEtMTVfdG9fMjAxOS0wMS0wMSkKLU5PVElDRTogIGZwb19hZnRlcl91cGRhdGVfc3Rt dDogQUZURVIgVVBEQVRFIFNUQVRFTUVOVDoKK05PVElDRTogIGZwb19hZnRlcl91cGRhdGVfc3Rt dDogQUZURVIgVVBEQVRFIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChbMjAxOC0wMS0xNSwyMDE5 LTAxLTAxKSkgU1RBVEVNRU5UOgogTk9USUNFOiAgICBvbGQ6ICgiWzEsMikiLCJbMjAxOC0wMS0w MSwyMDIwLTAxLTAxKSIsb25lKQogTk9USUNFOiAgICBuZXc6ICgiWzEsMikiLCJbMjAxOC0wMS0x NSwyMDE5LTAxLTAxKSIsMjAxOC0wMS0xNV90b18yMDE5LTAxLTAxKQogUk9MTEJBQ0s7CiBCRUdJ TjsKIERFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKICAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSBOVUxMIFRPICcyMDE4LTAxLTIxJzsKLU5PVElDRTogIGZwb19iZWZvcmVfc3Rt dDogQkVGT1JFIERFTEVURSBTVEFURU1FTlQ6CitOT1RJQ0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJF Rk9SRSBERUxFVEUgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKCgsMjAxOC0wMS0yMSkpIFNUQVRF TUVOVDoKIE5PVElDRTogICAgb2xkOiA8TlVMTD4KIE5PVElDRTogICAgbmV3OiA8TlVMTD4KLU5P VElDRTogIGZwb19iZWZvcmVfcm93OiBCRUZPUkUgREVMRVRFIFJPVzoKK05PVElDRTogIGZwb19i ZWZvcmVfcm93OiBCRUZPUkUgREVMRVRFIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0ICgoLDIwMTgt MDEtMjEpKSBST1c6CiBOT1RJQ0U6ICAgIG9sZDogWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkKIE5P VElDRTogICAgbmV3OiA8TlVMTD4KIE5PVElDRTogIGZwb19iZWZvcmVfc3RtdDogQkVGT1JFIElO U0VSVCBTVEFURU1FTlQ6CkBAIC04NjAsMTAgKzg2NSwxMCBAQCBOT1RJQ0U6ICAgIG5ldzogKCJb MSwyKSIsIlsyMDE4LTAxLTIxLDIwMjAtMDEtMDEpIixvbmUpCiBOT1RJQ0U6ICBmcG9fYWZ0ZXJf aW5zZXJ0X3N0bXQ6IEFGVEVSIElOU0VSVCBTVEFURU1FTlQ6CiBOT1RJQ0U6ICAgIG9sZDogPE5V TEw+CiBOT1RJQ0U6ICAgIG5ldzogKCJbMSwyKSIsIlsyMDE4LTAxLTIxLDIwMjAtMDEtMDEpIixv bmUpCi1OT1RJQ0U6ICBmcG9fYWZ0ZXJfZGVsZXRlX3JvdzogQUZURVIgREVMRVRFIFJPVzoKK05P VElDRTogIGZwb19hZnRlcl9kZWxldGVfcm93OiBBRlRFUiBERUxFVEUgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgKCgsMjAxOC0wMS0yMSkpIFJPVzoKIE5PVElDRTogICAgb2xkOiAoIlsxLDIpIiwi WzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkiLG9uZSkKIE5PVElDRTogICAgbmV3OiA8TlVMTD4KLU5P VElDRTogIGZwb19hZnRlcl9kZWxldGVfc3RtdDogQUZURVIgREVMRVRFIFNUQVRFTUVOVDoKK05P VElDRTogIGZwb19hZnRlcl9kZWxldGVfc3RtdDogQUZURVIgREVMRVRFIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0ICgoLDIwMTgtMDEtMjEpKSBTVEFURU1FTlQ6CiBOT1RJQ0U6ICAgIG9sZDogKCJb MSwyKSIsIlsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIixvbmUpCiBOT1RJQ0U6ICAgIG5ldzogPE5V TEw+CiBST0xMQkFDSzsKQEAgLTg3MSwxMCArODc2LDEwIEBAIEJFR0lOOwogVVBEQVRFIGZvcl9w b3J0aW9uX29mX3Rlc3QKICAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSBOVUxMIFRPICcy MDE4LTAxLTAyJwogICBTRVQgbmFtZSA9ICdOVUxMX3RvXzIwMTgtMDEtMDEnOwotTk9USUNFOiAg ZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgVVBEQVRFIFNUQVRFTUVOVDoKK05PVElDRTogIGZwb19i ZWZvcmVfc3RtdDogQkVGT1JFIFVQREFURSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoKCwyMDE4 LTAxLTAyKSkgU1RBVEVNRU5UOgogTk9USUNFOiAgICBvbGQ6IDxOVUxMPgogTk9USUNFOiAgICBu ZXc6IDxOVUxMPgotTk9USUNFOiAgZnBvX2JlZm9yZV9yb3c6IEJFRk9SRSBVUERBVEUgUk9XOgor Tk9USUNFOiAgZnBvX2JlZm9yZV9yb3c6IEJFRk9SRSBVUERBVEUgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgKCgsMjAxOC0wMS0wMikpIFJPVzoKIE5PVElDRTogICAgb2xkOiBbMjAxOC0wMS0wMSwy MDIwLTAxLTAxKQogTk9USUNFOiAgICBuZXc6IFsyMDE4LTAxLTAxLDIwMTgtMDEtMDIpCiBOT1RJ Q0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJFRk9SRSBJTlNFUlQgU1RBVEVNRU5UOgpAQCAtODg5LDEw ICs4OTQsMTAgQEAgTk9USUNFOiAgICBuZXc6ICgiWzEsMikiLCJbMjAxOC0wMS0wMiwyMDIwLTAx LTAxKSIsb25lKQogTk9USUNFOiAgZnBvX2FmdGVyX2luc2VydF9zdG10OiBBRlRFUiBJTlNFUlQg U1RBVEVNRU5UOgogTk9USUNFOiAgICBvbGQ6IDxOVUxMPgogTk9USUNFOiAgICBuZXc6ICgiWzEs MikiLCJbMjAxOC0wMS0wMiwyMDIwLTAxLTAxKSIsb25lKQotTk9USUNFOiAgZnBvX2FmdGVyX3Vw ZGF0ZV9yb3c6IEFGVEVSIFVQREFURSBST1c6CitOT1RJQ0U6ICBmcG9fYWZ0ZXJfdXBkYXRlX3Jv dzogQUZURVIgVVBEQVRFIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0ICgoLDIwMTgtMDEtMDIpKSBS T1c6CiBOT1RJQ0U6ICAgIG9sZDogKCJbMSwyKSIsIlsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIixv bmUpCiBOT1RJQ0U6ICAgIG5ldzogKCJbMSwyKSIsIlsyMDE4LTAxLTAxLDIwMTgtMDEtMDIpIixO VUxMX3RvXzIwMTgtMDEtMDEpCi1OT1RJQ0U6ICBmcG9fYWZ0ZXJfdXBkYXRlX3N0bXQ6IEFGVEVS IFVQREFURSBTVEFURU1FTlQ6CitOT1RJQ0U6ICBmcG9fYWZ0ZXJfdXBkYXRlX3N0bXQ6IEFGVEVS IFVQREFURSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoKCwyMDE4LTAxLTAyKSkgU1RBVEVNRU5U OgogTk9USUNFOiAgICBvbGQ6ICgiWzEsMikiLCJbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKSIsb25l KQogTk9USUNFOiAgICBuZXc6ICgiWzEsMikiLCJbMjAxOC0wMS0wMSwyMDE4LTAxLTAyKSIsTlVM TF90b18yMDE4LTAxLTAxKQogUk9MTEJBQ0s7CkBAIC05MjksNyArOTM0LDcgQEAgTk9USUNFOiAg ICBuZXc6IFsyMDE4LTAxLTAxLDIwMTgtMDEtMTUpCiBOT1RJQ0U6ICBmcG9fYWZ0ZXJfaW5zZXJ0 X3JvdzogQUZURVIgSU5TRVJUIFJPVzoKIE5PVElDRTogICAgb2xkOiA8TlVMTD4KIE5PVElDRTog ICAgbmV3OiBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKQotTk9USUNFOiAgZnBvX2FmdGVyX3VwZGF0 ZV9yb3c6IEFGVEVSIFVQREFURSBST1c6CitOT1RJQ0U6ICBmcG9fYWZ0ZXJfdXBkYXRlX3Jvdzog QUZURVIgVVBEQVRFIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChbMjAxOC0wMS0xNSwyMDE5LTAx LTAxKSkgUk9XOgogTk9USUNFOiAgICBvbGQ6IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpCiBOT1RJ Q0U6ICAgIG5ldzogWzIwMTgtMDEtMTUsMjAxOS0wMS0wMSkKIEJFR0lOOwpAQCAtOTM5LDEwICs5 NDQsMTAgQEAgQ09NTUlUOwogTk9USUNFOiAgZnBvX2FmdGVyX2luc2VydF9yb3c6IEFGVEVSIElO U0VSVCBST1c6CiBOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CiBOT1RJQ0U6ICAgIG5ldzogWzIwMTgt MDEtMjEsMjAxOS0wMS0wMSkKLU5PVElDRTogIGZwb19hZnRlcl9kZWxldGVfcm93OiBBRlRFUiBE RUxFVEUgUk9XOgorTk9USUNFOiAgZnBvX2FmdGVyX2RlbGV0ZV9yb3c6IEFGVEVSIERFTEVURSBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoKCwyMDE4LTAxLTIxKSkgUk9XOgogTk9USUNFOiAgICBv bGQ6IFsyMDE4LTAxLTE1LDIwMTktMDEtMDEpCiBOT1RJQ0U6ICAgIG5ldzogPE5VTEw+Ci1OT1RJ Q0U6ICBmcG9fYWZ0ZXJfZGVsZXRlX3JvdzogQUZURVIgREVMRVRFIFJPVzoKK05PVElDRTogIGZw b19hZnRlcl9kZWxldGVfcm93OiBBRlRFUiBERUxFVEUgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg KCgsMjAxOC0wMS0yMSkpIFJPVzoKIE5PVElDRTogICAgb2xkOiBbMjAxOC0wMS0wMSwyMDE4LTAx LTE1KQogTk9USUNFOiAgICBuZXc6IDxOVUxMPgogQkVHSU47CmRpZmYgLS1naXQgYS9zcmMvdGVz dC9yZWdyZXNzL3NxbC9mb3JfcG9ydGlvbl9vZi5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9m b3JfcG9ydGlvbl9vZi5zcWwKaW5kZXggMGU2YzJkYjVhNzUuLjc0OTNjYzRjMjMzIDEwMDY0NAot LS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9mb3JfcG9ydGlvbl9vZi5zcWwKKysrIGIvc3JjL3Rl c3QvcmVncmVzcy9zcWwvZm9yX3BvcnRpb25fb2Yuc3FsCkBAIC00ODQsOCArNDg0LDEzIEBAIENS RUFURSBGVU5DVElPTiBkdW1wX3RyaWdnZXIoKQogUkVUVVJOUyBUUklHR0VSIExBTkdVQUdFIHBs cGdzcWwgQVMKICQkCiBCRUdJTgotICBSQUlTRSBOT1RJQ0UgJyU6ICUgJSAlOicsCi0gICAgVEdf TkFNRSwgVEdfV0hFTiwgVEdfT1AsIFRHX0xFVkVMOworICBJRiBUR19QRVJJT0RfTkFNRSBJUyBO T1QgTlVMTCBUSEVOCisgICAgUkFJU0UgTk9USUNFICclOiAlICUgRk9SIFBPUlRJT04gT0YgJSAo JSkgJTonLAorICAgICAgVEdfTkFNRSwgVEdfV0hFTiwgVEdfT1AsIFRHX1BFUklPRF9OQU1FLCBU R19QRVJJT0RfQk9VTkRTLCBUR19MRVZFTDsKKyAgRUxTRQorICAgIFJBSVNFIE5PVElDRSAnJTog JSAlICU6JywKKyAgICAgIFRHX05BTUUsIFRHX1dIRU4sIFRHX09QLCBUR19MRVZFTDsKKyAgRU5E IElGOwogCiAgIElGIFRHX0FSR1ZbMF0gVEhFTgogICAgIFJBSVNFIE5PVElDRSAnICBvbGQ6ICUn LCAoU0VMRUNUIHN0cmluZ19hZ2cob2xkX3RhYmxlOjp0ZXh0LCAnXG4gICAgICAgJykgRlJPTSBv bGRfdGFibGUpOwotLSAKMi40Ny4zCgo= --000000000000e635b70643f70cee--