From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 27 Nov 2024 15:08:21 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f64.google.com (mail-wm1-f64.google.com [209.85.128.64]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 4ARE8JHx013543 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 27 Nov 2024 15:08:19 +0100 Received: by mail-wm1-f64.google.com with SMTP id 5b1f17b1804b1-4349cbf726csf28482275e9.3 for ; Wed, 27 Nov 2024 06:08:19 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1732716494; cv=pass; d=google.com; s=arc-20240605; b=W3HQg0JOll7e/GNJk2HLO9D0wOodaKAk7ZC+tvRB9x0lryZ0rANTKpDJ5RxZN9Qvvs GA01SepNrBEtQLSb1d031iSG4ll9zPZi3Iik6l/WtpV0CGR2HivURynlV6aPSB77w39x gzlQYuP4nzNJDS0K8rqGcR37vvyjo2uZRlAeLYJKGmyoKdcrX7DM/FXCa9c2Lhyld7Kz M3gYnD7EEJbClvA7vdKwrCl/WdqSYcxx1owoNC7zACFRoz1/IH9mXUmRHJT/s0i/aVAQ wbY1+P1cb/GmhhuOOcLsGNTgxrD/cK49SPN/4n+0Ok7ARBpAwLUwtqALJgK0k/mmgzcm Nhzg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:mime-version:user-agent :content-transfer-encoding:references:in-reply-to:date:cc:to:from :subject:message-id:sender:dkim-signature; bh=u+sy9P9F91Q5C/8UNriRuWZdy4lx7TRIDFCrtMusWbY=; fh=YL4DU9iO5AgJK6nDqG04lCUPnZRCh67fBDmmd/0Fy+U=; b=jxwtnp8AFgrNdjCnEeOQgstMHbeV1JczU/yvU5kvuYDIEqVbMiH5j1k2l5bGnUX6a1 5MrfTBmMo1WL72TpfBCU1pEoOWuqZfVxIyvlR9Mlcfz++eBEkf7EcpUXnKwd58iNkbrY EbcuBjc0nZWCp0kmSX3d+u6JU5pBX85J4vhNcs/TJviLKD00PAryntKZDI+C5A/idwGC BIr2DITX3nRbrMemZNJp1zRke24h0A7NdpALelOT2wLFEO3J3nFWFdu7eRdC8ZOwsRXT BSnoGUFF0HOZ9qGeEtoyxpk2omG7ETgsbCiycDgRfVBSzSqsdl5aOj2xMhEs9qhUPqFM EBpw==; darn=ilbers.de ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=ubely@ilbers.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1732716494; x=1733321294; darn=ilbers.de; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:user-agent:content-transfer-encoding :references:in-reply-to:date:cc:to:from:subject:message-id:sender :from:to:cc:subject:date:message-id:reply-to; bh=u+sy9P9F91Q5C/8UNriRuWZdy4lx7TRIDFCrtMusWbY=; b=oHoG6jorTu6H1G+HW6YiIyMKGml57V0Mu7OHSczWXErlv2hIjqezWlAbuWrcUIFP9N IXf6j+d7jCXCjOoQwnFgKFLeBuxnSyapumOiUiITBRk9om0am1gnCVhCq/RM7WYm56uV Bt6ee+bbOxrDXM3q38io+AsLsv4SCZfuqYEVfgudJU/fOa++iZ6pFgb7PKJbAvhvFzN8 lx+OZ7y5U0pVuL4poZBP51z/Rt5ABEwrW2WbL3MvUCTRtm3E23ckhqCd4yDmwCAh9RFF Cc2K6TLqcQ9tNI5JpRQc9flJuDHtL94bq77nJa+iwdOsooTH6xVg+e2iJI4dbSXXhccu vvfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732716494; x=1733321294; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :user-agent:content-transfer-encoding:references:in-reply-to:date:cc :to:from:subject:message-id:x-beenthere:x-gm-message-state:sender :from:to:cc:subject:date:message-id:reply-to; bh=u+sy9P9F91Q5C/8UNriRuWZdy4lx7TRIDFCrtMusWbY=; b=NXSlg58qhb3tsWKArctg2UgBljVo20/CnT9tTjw4KLkDyuB3FeapxOYjvAZSYK4kEA aNBRkTIF4RA4SgyOVDKTObEGKrs0hT3qCSvTB72mkRCyaMoEFFxyZfSkAS0aKBI1/2eQ pZLxKAMtJzNkih7YT1NvQ3b6q52sZ1R/tgxdBtO5UMTWraJCJ9IrCWQNyCfrTAYPf4xW X//o5WGHT7DP3VRnC9jLHPC7QxcpmZ3C0iTfwFI+GfXft8J4x3B6dpNJtU+sudF2UIAt 9Yc4JQiFRRUNEPYTxfB33DSHZLl5RAG4gC+7MMt8fHqfQGdEqduo/l/iymPckhyxraCt nGUg== Sender: isar-users@googlegroups.com X-Forwarded-Encrypted: i=2; AJvYcCWktC/ASbjYpHCq+xQV3OcdusIjBF0QAs3YSIDd5Nn5l0gLp1JnwCjyv1OAnHA22GEgGmTA@ilbers.de X-Gm-Message-State: AOJu0YxhrFanPvcnucjFgMZJhskyXvOR7nFIdaFyF3cPXUj3jM0e++rT k4cX3rOczTKEvNr4qj+QWrtDHZNM6tQvTwwO5evildJyMynPsJPK X-Google-Smtp-Source: AGHT+IGoSOjVjO44IkGFi+6+VfVXUtJL6psREBR+73+9xqNomZbWjKKUO2EuglxchZU+sEORq6SR4g== X-Received: by 2002:a7b:ca55:0:b0:434:a1e7:27da with SMTP id 5b1f17b1804b1-434a9de8d23mr25858115e9.25.1732716493734; Wed, 27 Nov 2024 06:08:13 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:600c:5744:b0:42c:b037:5fba with SMTP id 5b1f17b1804b1-433c5e010e2ls10992335e9.2.-pod-prod-06-eu; Wed, 27 Nov 2024 06:08:10 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCUM6zCKyZxBMMQqitElqLYp39d3eNxbmPF2Jwk0tzzC0NnLhx560Vp8JmMGeFMc4TnM55IyfRgZ7gLV@googlegroups.com X-Received: by 2002:a05:600c:1c07:b0:434:a4fe:cd71 with SMTP id 5b1f17b1804b1-434a9dc50f1mr29253535e9.12.1732716480784; Wed, 27 Nov 2024 06:08:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1732716480; cv=none; d=google.com; s=arc-20240605; b=YeFpW8OKaX3xVqblodr8jpUu1qXEU3tStRY3/CUqoRxgYDTV/Q3ybEICy6Wwt2DdO4 +FGB8D6XKbjAQYzM4lzs5rZubOYWojMrGUpVJAtfS83eJ+vETdsE6fDmVufkTIwwpBw5 UYdLrb0s0ldHpz6dQYM7jWaKzt/7V4DX6Km0twWYwaJxZiqcjJQelB8sqgPvFJkfIhYa YSsw9XHCXuIMu7w/GtbN9JuUb4MME5zAPWl/KL5lSKU7yUfUr/nPZkyRn2zki/cnYWXF p2pPdaQl+tvgybNCeicDRUDNa5Q/KqASL06syIQv53GQSnoOWeX+wdDdtUsaLvruOEEN /DLw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id; bh=ZG4YlwLxilzal8x04nGANn7rNuarGlLGq6jiSOGo1dw=; fh=wz06c9kYJ7x2tcp+DdJvWwft7sGamTaU3885JBg52DI=; b=fWDdt2DrND88W/IR8zkePbCbfrfH/MmpLUf4Egqv1P4xaDioEitQCL8xxF19Gnb8VS Hq3nf844B4m2GGNNwDe8q3KXNVVclG+TJ4ovD4C7V9LK1S60gKUj2MFdsouVnAwlx1NB RAakjMZAzBMuGcRjATPj+sUd3bYIyHr0HWcBQ/kNrJv8YPrIHu60Ww4GzxC/tmpBafBl Ldk6mR2BFpWoX9kbBz6o2qHkZqI0enlA6APh1xkRpkUGgiGNz1dFQaoJejc0wlR5vAcv YXkBuiW2Qt4rRATPBKfqlqpI+m12qnACbhtYfQVaOQjEY8DKhqaIOZKBOuxL+L2RCBC0 6UJw==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=ubely@ilbers.de Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id 5b1f17b1804b1-434a5d5ed63si2779965e9.0.2024.11.27.06.08.00 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 27 Nov 2024 06:08:00 -0800 (PST) Received-SPF: pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Received: from [127.0.0.1] (host-80-81-17-52.static.customer.m-online.net [80.81.17.52]) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPSA id 4ARE7waO013535 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 27 Nov 2024 15:07:59 +0100 Message-ID: <9d1ebee6fe3ffb4040a1c5ea09c2f19700418d64.camel@ilbers.de> Subject: Re: [PATCH v2] Convert apt source fetcher into native bitbake variant From: Uladzimir Bely To: Jan Kiszka , isar-users Cc: "Moessbauer, Felix (T CED SES-DE)" Date: Wed, 27 Nov 2024 17:07:57 +0300 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 User-Agent: Evolution 3.54.1 (by Flathub.org) MIME-Version: 1.0 X-Spam-Status: No, score=-4.6 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2, RCVD_IN_RP_CERTIFIED,RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-Original-Sender: ubely@ilbers.de X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=ubely@ilbers.de Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-TUID: 3dHyuHNBz2N6 T24gRnJpLCAyMDI0LTExLTE1IGF0IDE3OjQwICswMTAwLCBKYW4gS2lzemthIHdyb3RlOgo+IEZy b206IEphbiBLaXN6a2EgPGphbi5raXN6a2FAc2llbWVucy5jb20+Cj4gCj4gVGhlcmUgaXMgbm8g bWFqb3IgZnVuY3Rpb25hbCBkaWZmZXJlbmNlLCBidXQgd2Ugbm8gbG9uZ2VyIGhhdmUgdG8KPiBt YW5pcHVsYXRlIFNSQ19VUkkgYnkgcmVnaXN0ZXJpbmcgYW4gb2ZmaWNpYWwgZmV0Y2hlciBmb3Ig YXB0Oi8vLgo+IAo+IEFzIHRoZSBmZXRjaGluZyBubyBsb25nZXIgdGFrZXMgcGxhY2UgaW4gc2Vw YXJhdGUgdGFza3MsIGRvX2ZldGNoIGFuZAo+IGRvX3VucGFjayBuZWVkIHRvIGdhaW4gdGhlIGV4 dHJhIGZsYWdzIHRoYXQgd2VyZSBzbyBmYXIgYXNzaWduZWQgdG8KPiBhcHRfZmV0Y2ggYW5kIGFw dF91bnBhY2suIFRoYXQgaGFwcGVucyBjb25kaXRpb25hbGx5LCBpLmUuIG9ubHkgaWYKPiBTUkNf VVJJIGFjdHVhbGx5IGNvbnRhaW5zIGFuIGFwdCBVUkwuCj4gCj4gT25lIGRpZmZlcmVuY2UgdG8g dGhlIG9yaWdpbmFsIHZlcnNpb24gaXMgdGhlIHBvc3NpYmlsaXR5IC0gZXZlbiBpZgo+IHByYWN0 aWNhbGx5IG9mIG1pbm9yIHJlbGV2YW5jZSAtIHRvIHVucGFjayBtdWx0aXBsZSBhcHQgc291cmNl cyBpbnRvCj4gUy4KPiBUaGUgb2xkIHZlcnNpb24gY29udGFpbmVkIGEgbG9vcCBidXQgd2FzIGRp cmVjdGluZyBkcGtnLXNvdXJjZSB0byBhCj4gcHJlLWV4aXN0aW5nIGRpciB3aGljaCB3b3VsZCBo YXZlIGZhaWxlZCBvbiB0aGUgc2Vjb25kIGl0ZXJhdGlvbi4gVGhlCj4gbmV3IHZlcnNpb24gbm93 IGZvbGRzIHRoZSByZXN1bHRzIHRvZ2V0aGVyIGFmdGVyIGVhY2ggc3RlcC4KPiAKPiBBbm90aGVy IG1pbm9yIGRpZmZlcmVuY2UgaXMgdGhhdCB1bnZlcnNpb25lZCBmZXRjaGVzIHB1dCB0aGVpcgo+ IHJlc3VsdHMKPiBpbnRvIHRoZSBzYW1lIHN1YmZvbGRlciBpbiBETF9ESVIsIGFsc28gd2hlbiBz cGVjaWZ5aW5nIGEgZGlzdHJvCj4gY29kZW5hbWUuIE9ubHkgdmVyc2lvbmVkIGZldGNoZXMgZ2V0 IGRlZGljYXRlZCBmb2xkZXJzIChhbmQgLmRvbmUKPiBzdGFtcHMpLgo+IAo+IFRoZXJlIGlzIG5v IHByb2dyZXNzIHJlcG9ydCByZWFsaXplZCBiZWNhdXNlIGRwa2ctc291cmNlCj4gdW5mb3J0dW5h dGVseQo+IGRvZXMgbm90IHByb3ZpZGUgaW5mb3JtYXRpb24gdXBmcm9udCB0byBtYWtlIHRoaXMg cHJlZGljdGFibGUsIHRodXMKPiBleHByZXNzaWJsZSBpbiBmb3JtIG9mIHBlcmNlbnRhZ2UuCj4g Cj4gU2lnbmVkLW9mZi1ieTogSmFuIEtpc3prYSA8amFuLmtpc3prYUBzaWVtZW5zLmNvbT4KPiAt LS0KPiAKPiBDaGFuZ2VzIGluIHYyOgo+IMKgLSByZWJhc2VkLCBpbmNsdWRpbmcgdGhlIHJlbW92 YWwgb2YgaXNhci1hcHQgc291cmNlcyBpbiBhcHRfdW5wYWNrCj4gCj4gSSdtIGNhcmVmdWxseSBv cHRpbWlzdGljIHRoYXQgdGhpcyBjaGFuZ2UgYWxzbyByZXNvbHZlcyB0aGUKPiBwcmV2aW91c2x5 IAo+IHNlZW4gaXNzdWUgaW4gQ0kuCj4gCj4gwqBtZXRhL2NsYXNzZXMvZHBrZy1iYXNlLmJiY2xh c3MgfCAxMDQgKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+IC0tCj4gwqBtZXRhL2xp Yi9hcHRzcmNfZmV0Y2hlci5wecKgwqDCoMKgIHzCoCA5MyArKysrKysrKysrKysrKysrKysrKysr KysrKysrKwo+IMKgMiBmaWxlcyBjaGFuZ2VkLCAxMDQgaW5zZXJ0aW9ucygrKSwgOTMgZGVsZXRp b25zKC0pCj4gwqBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS9saWIvYXB0c3JjX2ZldGNoZXIucHkK PiAKPiBkaWZmIC0tZ2l0IGEvbWV0YS9jbGFzc2VzL2Rwa2ctYmFzZS5iYmNsYXNzIGIvbWV0YS9j bGFzc2VzL2Rwa2ctCj4gYmFzZS5iYmNsYXNzCj4gaW5kZXggYjRlYThlMTcuLmMwMmMwN2E4IDEw MDY0NAo+IC0tLSBhL21ldGEvY2xhc3Nlcy9kcGtnLWJhc2UuYmJjbGFzcwo+ICsrKyBiL21ldGEv Y2xhc3Nlcy9kcGtnLWJhc2UuYmJjbGFzcwo+IEBAIC03OSwxMTAgKzc5LDI4IEBAIGRvX2FkanVz dF9naXRbbG9ja2ZpbGVzXSArPQo+ICIke0RMX0RJUn0vZ2l0L2lzYXIubG9jayIKPiDCoGluaGVy aXQgcGF0Y2gKPiDCoGFkZHRhc2sgcGF0Y2ggYWZ0ZXIgZG9fYWRqdXN0X2dpdAo+IMKgCj4gLVNS Q19BUFQgPz0gIiIKPiAtCj4gLSMgZmlsdGVyIG91dCBhbGwgImFwdDovLyIgVVJJcyBvdXQgb2Yg U1JDX1VSSSBhbmQgc3RpY2sgdGhlbSBpbnRvCj4gU1JDX0FQVAo+IMKgcHl0aG9uKCkgewo+IC3C oMKgwqAgc3JjX3VyaSA9IChkLmdldFZhcignU1JDX1VSSScsIEZhbHNlKSBvciAiIikuc3BsaXQo KQo+ICvCoMKgwqAgZnJvbSBiYi5mZXRjaDIgaW1wb3J0IG1ldGhvZHMKPiDCoAo+IC3CoMKgwqAg cHJlZml4ID0gImFwdDovLyIKPiAtwqDCoMKgIHNyY19hcHQgPSBbXQo+IC3CoMKgwqAgZm9yIHUg aW4gc3JjX3VyaToKPiAtwqDCoMKgwqDCoMKgwqAgaWYgdS5zdGFydHN3aXRoKHByZWZpeCk6Cj4g LcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3JjX2FwdC5hcHBlbmQodVtsZW4ocHJlZml4KSA6XSkK PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkLnNldFZhcignU1JDX1VSSTpyZW1vdmUnLCB1KQo+ ICvCoMKgwqAgIyBhcHQtc3JjIGZldGNoZXIKPiArwqDCoMKgIGltcG9ydCBhcHRzcmNfZmV0Y2hl cgo+ICvCoMKgwqAgbWV0aG9kcy5hcHBlbmQoYXB0c3JjX2ZldGNoZXIuQXB0U3JjKCkpCj4gwqAK PiAtwqDCoMKgIGQucHJlcGVuZFZhcignU1JDX0FQVCcsICcgJy5qb2luKHNyY19hcHQpKQo+ICvC oMKgwqAgc3JjX3VyaSA9IChkLmdldFZhcignU1JDX1VSSScsIEZhbHNlKSBvciAiIikuc3BsaXQo KQo+ICvCoMKgwqAgZm9yIHUgaW4gc3JjX3VyaToKPiArwqDCoMKgwqDCoMKgwqAgaWYgdS5zdGFy dHN3aXRoKCJhcHQ6Ly8iKToKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkLmFwcGVuZFZhckZs YWcoJ2RvX2ZldGNoJywgJ2RlcGVuZHMnLAo+IGQuZ2V0VmFyKCdTQ0hST09UX0RFUCcpKQo+IMKg Cj4gLcKgwqDCoCBpZiBsZW4oZC5nZXRWYXIoJ1NSQ19BUFQnKS5zdHJpcCgpKSA+IDA6Cj4gLcKg wqDCoMKgwqDCoMKgIGJiLmJ1aWxkLmFkZHRhc2soJ2FwdF91bnBhY2snLCAnZG9fcGF0Y2gnLCAn JywgZCkKPiAtwqDCoMKgwqDCoMKgwqAgYmIuYnVpbGQuYWRkdGFzaygnY2xlYW5hbGxfYXB0Jywg J2RvX2NsZWFuYWxsJywgJycsIGQpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZC5hcHBlbmRW YXJGbGFnKCdkb191bnBhY2snLCAnY2xlYW5kaXJzJywgZC5nZXRWYXIoJ1MnKSkKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBkLnNldFZhckZsYWcoJ2RvX3VucGFjaycsICduZXR3b3JrJywKPiBk LmdldFZhcignVEFTS19VU0VfU1VETycpKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJyZWFr Cj4gwqAKPiDCoMKgwqDCoCAjIGNvbnRhaW5lciBkb2NrZXIgZmV0Y2hlcgo+IMKgwqDCoMKgIGlt cG9ydCBjb250YWluZXJfZmV0Y2hlcgo+IC3CoMKgwqAgZnJvbSBiYi5mZXRjaDIgaW1wb3J0IG1l dGhvZHMKPiDCoAo+IMKgwqDCoMKgIG1ldGhvZHMuYXBwZW5kKGNvbnRhaW5lcl9mZXRjaGVyLkNv bnRhaW5lcigpKQo+IMKgfQo+IMKgCj4gLWRvX2FwdF9mZXRjaCgpIHsKPiAtwqDCoMKgIEU9IiR7 QCBpc2FyX2V4cG9ydF9wcm94aWVzKGQpfSIKPiAtwqDCoMKgIHNjaHJvb3RfY3JlYXRlX2NvbmZp Z3MKPiAtCj4gLcKgwqDCoCBzZXNzaW9uX2lkPSQoc2Nocm9vdCAtcSAtYiAtYyAke1NCVUlMRF9D SFJPT1R9KQo+IC3CoMKgwqAgZWNobyAiU3RhcnRlZCBzZXNzaW9uOiAke3Nlc3Npb25faWR9Igo+ IC0KPiAtwqDCoMKgIHNjaHJvb3RfY2xlYW51cCgpIHsKPiAtwqDCoMKgwqDCoMKgwqAgc2Nocm9v dCAtcSAtZiAtZSAtYyAke3Nlc3Npb25faWR9ID4gL2Rldi9udWxsIDI+JjEKPiAtwqDCoMKgwqDC oMKgwqAgc2Nocm9vdF9kZWxldGVfY29uZmlncwo+IC3CoMKgwqAgfQo+IC3CoMKgwqAgdHJhcCAn ZXhpdCAxJyBJTlQgSFVQIFFVSVQgVEVSTSBBTFJNIFVTUjEKPiAtwqDCoMKgIHRyYXAgJ3NjaHJv b3RfY2xlYW51cCcgRVhJVAo+IC0KPiAtwqDCoMKgIHNjaHJvb3QgLXIgLWMgJHtzZXNzaW9uX2lk fSAtZCAvIC11IHJvb3QgLS0gXAo+IC3CoMKgwqDCoMKgwqDCoCBybSAvZXRjL2FwdC9zb3VyY2Vz Lmxpc3QuZC9pc2FyLWFwdC5saXN0Cj4gL2V0Yy9hcHQvcHJlZmVyZW5jZXMuZC9pc2FyLWFwdAo+ IC3CoMKgwqAgc2Nocm9vdCAtciAtYyAke3Nlc3Npb25faWR9IC1kIC8gLS0gXAo+IC3CoMKgwqDC oMKgwqDCoCBzaCAtYyAnCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc2V0IC1lCj4gLcKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgZm9yIHVyaSBpbiAkMjsgZG8KPiAtwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIG1rZGlyIC1wIC9kb3dubG9hZHMvZGViLXNyYy8iJDEiLyR7dXJpfQo+IC3C oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY2QgL2Rvd25sb2Fkcy9kZWItc3JjLyIkMSIv JHt1cml9Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBhcHQtZ2V0IC15IC0tZG93 bmxvYWQtb25seSAtLW9ubHktc291cmNlIHNvdXJjZQo+ICR7dXJpfQo+IC3CoMKgwqDCoMKgwqDC oMKgwqDCoMKgIGRvbmUnIFwKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG15X3Nj cmlwdCAiJHtCQVNFX0RJU1RST30tJHtCQVNFX0RJU1RST19DT0RFTkFNRX0iCj4gIiR7U1JDX0FQ VH0iCj4gLQo+IC3CoMKgwqAgc2Nocm9vdCAtZSAtYyAke3Nlc3Npb25faWR9Cj4gLcKgwqDCoCBz Y2hyb290X2RlbGV0ZV9jb25maWdzCj4gLX0KPiAtCj4gLWFkZHRhc2sgYXB0X2ZldGNoCj4gLWRv X2FwdF9mZXRjaFtsb2NrZmlsZXNdICs9ICIke1JFUE9fSVNBUl9ESVJ9L2lzYXIubG9jayIKPiAt ZG9fYXB0X2ZldGNoW25ldHdvcmtdID0gIiR7VEFTS19VU0VfTkVUV09SS19BTkRfU1VET30iCj4g LQo+IC0jIEFkZCBkZXBlbmRlbmN5IGZyb20gdGhlIGNvcnJlY3Qgc2Nocm9vdDogaG9zdCBvciB0 YXJnZXQKPiAtZG9fYXB0X2ZldGNoW2RlcGVuZHNdICs9ICIke1NDSFJPT1RfREVQfSIKPiAtCj4g LWRvX2FwdF91bnBhY2soKSB7Cj4gLcKgwqDCoCBybSAtcmYgJHtTfQo+IC3CoMKgwqAgc2Nocm9v dF9jcmVhdGVfY29uZmlncwo+IC0KPiAtwqDCoMKgIHNlc3Npb25faWQ9JChzY2hyb290IC1xIC1i IC1jICR7U0JVSUxEX0NIUk9PVH0pCj4gLcKgwqDCoCBlY2hvICJTdGFydGVkIHNlc3Npb246ICR7 c2Vzc2lvbl9pZH0iCj4gLQo+IC3CoMKgwqAgc2Nocm9vdF9jbGVhbnVwKCkgewo+IC3CoMKgwqDC oMKgwqDCoCBzY2hyb290IC1xIC1mIC1lIC1jICR7c2Vzc2lvbl9pZH0gPiAvZGV2L251bGwgMj4m MQo+IC3CoMKgwqDCoMKgwqDCoCBzY2hyb290X2RlbGV0ZV9jb25maWdzCj4gLcKgwqDCoCB9Cj4g LcKgwqDCoCB0cmFwICdleGl0IDEnIElOVCBIVVAgUVVJVCBURVJNIEFMUk0gVVNSMQo+IC3CoMKg wqAgdHJhcCAnc2Nocm9vdF9jbGVhbnVwJyBFWElUCj4gLQo+IC3CoMKgwqAgc2Nocm9vdCAtciAt YyAke3Nlc3Npb25faWR9IC1kIC8gLXUgcm9vdCAtLSBcCj4gLcKgwqDCoMKgwqDCoMKgIHJtIC9l dGMvYXB0L3NvdXJjZXMubGlzdC5kL2lzYXItYXB0Lmxpc3QKPiAvZXRjL2FwdC9wcmVmZXJlbmNl cy5kL2lzYXItYXB0Cj4gLcKgwqDCoCBzY2hyb290IC1yIC1jICR7c2Vzc2lvbl9pZH0gLWQgLyAt LSBcCj4gLcKgwqDCoMKgwqDCoMKgIHNoIC1jICcKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBz ZXQgLWUKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmb3IgdXJpIGluICQyOyBkbwo+IC3CoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZHNjZmlsZT0iJChhcHQtZ2V0IC15IC1xcSAtLXBy aW50LXVyaXMgLS1vbmx5LXNvdXJjZQo+IHNvdXJjZSAkdXJpIHwgY3V0IC1kICIgIiAtZjIgfCBn cmVwIC1FICIqLmRzYyIpIgo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY2QgJHtQ UH0KPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNwIC9kb3dubG9hZHMvZGViLXNy Yy8iJHsxfSIvJHt1cml9LyogJHtQUH0KPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGRwa2ctc291cmNlIC14ICIke2RzY2ZpbGV9IiAiJHtQUFN9Igo+IC3CoMKgwqDCoMKgwqDCoMKg wqDCoMKgIGRvbmUnIFwKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG15X3Njcmlw dCAiJHtCQVNFX0RJU1RST30tJHtCQVNFX0RJU1RST19DT0RFTkFNRX0iCj4gIiR7U1JDX0FQVH0i Cj4gLQo+IC3CoMKgwqAgc2Nocm9vdCAtZSAtYyAke3Nlc3Npb25faWR9Cj4gLcKgwqDCoCBzY2hy b290X2RlbGV0ZV9jb25maWdzCj4gLX0KPiAtZG9fYXB0X3VucGFja1tuZXR3b3JrXSA9ICIke1RB U0tfVVNFX1NVRE99Igo+IC0KPiAtYWRkdGFzayBhcHRfdW5wYWNrIGFmdGVyIGRvX2FwdF9mZXRj aAo+IC0KPiAtZG9fY2xlYW5hbGxfYXB0W25vc3RhbXBdID0gIjEiCj4gLWRvX2NsZWFuYWxsX2Fw dCgpIHsKPiAtwqDCoMKgIGZvciB1cmkgaW4gIiR7U1JDX0FQVH0iOyBkbwo+IC3CoMKgwqDCoMKg wqDCoCBybSAtcmYgIiR7REVCU1JDRElSfS8ke0JBU0VfRElTVFJPfS0KPiAke0JBU0VfRElTVFJP X0NPREVOQU1FfS8kdXJpIgo+IC3CoMKgwqAgZG9uZQo+IC19Cj4gLQo+IMKgZGVmIGdldF9wYWNr YWdlX3NyY2RpcihkKToKPiDCoMKgwqDCoCBzID0gb3MucGF0aC5hYnNwYXRoKGQuZ2V0VmFyKCJT IikpCj4gwqDCoMKgwqAgd29ya2RpciA9IG9zLnBhdGguYWJzcGF0aChkLmdldFZhcigiV09SS0RJ UiIpKQo+IGRpZmYgLS1naXQgYS9tZXRhL2xpYi9hcHRzcmNfZmV0Y2hlci5weSBiL21ldGEvbGli L2FwdHNyY19mZXRjaGVyLnB5Cj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAw MC4uZWU3MjYyMDIKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvbWV0YS9saWIvYXB0c3JjX2ZldGNo ZXIucHkKPiBAQCAtMCwwICsxLDkzIEBACj4gKyMgVGhpcyBzb2Z0d2FyZSBpcyBhIHBhcnQgb2Yg SVNBUi4KPiArIyBDb3B5cmlnaHQgKGMpIFNpZW1lbnMgQUcsIDIwMjQKPiArIwo+ICsjIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBNSVQKPiArCj4gK2Zyb20gYmIuZmV0Y2gyIGltcG9ydCBGZXRj aEVycm9yCj4gK2Zyb20gYmIuZmV0Y2gyIGltcG9ydCBGZXRjaE1ldGhvZAo+ICtmcm9tIGJiLmZl dGNoMiBpbXBvcnQgbG9nZ2VyCj4gK2Zyb20gYmIuZmV0Y2gyIGltcG9ydCBydW5mZXRjaGNtZAo+ ICsKPiArY2xhc3MgQXB0U3JjKEZldGNoTWV0aG9kKToKPiArwqDCoMKgIGRlZiBzdXBwb3J0cyhz ZWxmLCB1ZCwgZCk6Cj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiB1ZC50eXBlIGluIFsnYXB0J10K PiArCj4gK8KgwqDCoCBkZWYgdXJsZGF0YV9pbml0KHNlbGYsIHVkLCBkKToKPiArwqDCoMKgwqDC oMKgwqAgdWQuc3JjX3BhY2thZ2UgPSB1ZC51cmxbbGVuKCdhcHQ6Ly8nKTpdCj4gK8KgwqDCoMKg wqDCoMKgIHVkLmhvc3QgPSB1ZC5ob3N0LnJlcGxhY2UoJz0nLCAnXycpCj4gKwo+ICvCoMKgwqDC oMKgwqDCoCBiYXNlX2Rpc3RybyA9IGQuZ2V0VmFyKCdCQVNFX0RJU1RSTycpCj4gKwo+ICvCoMKg wqDCoMKgwqDCoCAjIEZvciB0aGVzZSBkaXN0cm9zIHdlIGtub3cgdGhhdCB0aGUgc2FtZSB2ZXJz aW9uIG1lYW5zIHRoZQo+IHNhbWUKPiArwqDCoMKgwqDCoMKgwqAgIyBzb3VyY2UgcGFja2FnZSwg YWxzbyBhY3Jvc3MgZGlzdHJvIHJlbGVhc2VzLgo+ICvCoMKgwqDCoMKgwqDCoCBkaXN0cm9fc3Vm Zml4ID0gJycgaWYgYmFzZV9kaXN0cm8gaW4gWydkZWJpYW4nLCAndWJ1bnR1J10KPiBlbHNlIFwK PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAnLScgKyBkLmdldFZhcignQkFTRV9ESVNUUk9fQ09E RU5BTUUnKQo+ICsKPiArwqDCoMKgwqDCoMKgwqAgdWQubG9jYWxmaWxlPSdkZWItc3JjLycgKyBi YXNlX2Rpc3RybyArIGRpc3Ryb19zdWZmaXggKyAnLycKPiArIHVkLmhvc3QKPiArCj4gK8KgwqDC oCBkZWYgZG93bmxvYWQoc2VsZiwgdWQsIGQpOgo+ICvCoMKgwqDCoMKgwqDCoCBiYi51dGlscy5l eGVjX2ZsYXRfcHl0aG9uX2Z1bmMoJ2lzYXJfZXhwb3J0X3Byb3hpZXMnLCBkKQo+ICvCoMKgwqDC oMKgwqDCoCBiYi5idWlsZC5leGVjX2Z1bmMoJ3NjaHJvb3RfY3JlYXRlX2NvbmZpZ3MnLCBkKQo+ ICsKPiArwqDCoMKgwqDCoMKgwqAgc2J1aWxkX2Nocm9vdCA9IGQuZ2V0VmFyKCdTQlVJTERfQ0hS T09UJykKPiArwqDCoMKgwqDCoMKgwqAgc2Vzc2lvbl9pZCA9IHJ1bmZldGNoY21kKGYnc2Nocm9v dCAtcSAtYiAtYwo+IHtzYnVpbGRfY2hyb290fScsIGQpLnN0cmlwKCkKPiArwqDCoMKgwqDCoMKg wqAgbG9nZ2VyLmluZm8oZidTdGFydGVkIHNlc3Npb246IHtzZXNzaW9uX2lkfScpCj4gKwo+ICvC oMKgwqDCoMKgwqDCoCByZXBvX2lzYXJfZGlyID0gZC5nZXRWYXIoJ1JFUE9fSVNBUl9ESVInKQo+ ICvCoMKgwqDCoMKgwqDCoCBsb2NrZmlsZSA9IGJiLnV0aWxzLmxvY2tmaWxlKGYne3JlcG9faXNh cl9kaXJ9L2lzYXIubG9jaycpCj4gKwo+ICvCoMKgwqDCoMKgwqDCoCB0cnk6Cj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqAgcnVuZmV0Y2hjbWQoZicnJwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgc2V0IC1lCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzY2hyb290 IC1yIC1jIHtzZXNzaW9uX2lkfSAtZCAvIC11IHJvb3QgLS0gXAo+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBybSAvZXRjL2FwdC9zb3VyY2VzLmxpc3QuZC9pc2FyLWFw dC5saXN0Cj4gL2V0Yy9hcHQvcHJlZmVyZW5jZXMuZC9pc2FyLWFwdAo+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgc2Nocm9vdCAtciAtYyB7c2Vzc2lvbl9pZH0gLWQgLyAtLSBcCj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNoIC1jICcKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzZXQgLWUKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBta2RpciAtcCAvZG93bmxv YWRzL3t1ZC5sb2NhbGZpbGV9Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgY2QgL2Rvd25sb2Fkcy97dWQubG9jYWxmaWxlfQo+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGFwdC1nZXQgLXkgLS1kb3dubG9hZC1v bmx5IC0tb25seS1zb3VyY2UKPiBzb3VyY2Uge3VkLnNyY19wYWNrYWdlfQo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICcKPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgICcnJywgZCkKPiArwqDCoMKgwqDCoMKgwqAgZXhjZXB0IChPU0Vycm9y LCBGZXRjaEVycm9yKToKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByYWlzZQo+ICvCoMKgwqDC oMKgwqDCoCBmaW5hbGx5Ogo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJiLnV0aWxzLnVubG9j a2ZpbGUobG9ja2ZpbGUpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcnVuZmV0Y2hjbWQoZidz Y2hyb290IC1xIC1mIC1lIC1jIHtzZXNzaW9uX2lkfScsIGQpCj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqAgYmIuYnVpbGQuZXhlY19mdW5jKCdzY2hyb290X2RlbGV0ZV9jb25maWdzJywgZCkKPiAr Cj4gK8KgwqDCoCBkZWYgdW5wYWNrKHNlbGYsIHVkLCByb290ZGlyLCBkKToKPiArwqDCoMKgwqDC oMKgwqAgYmIuYnVpbGQuZXhlY19mdW5jKCdzY2hyb290X2NyZWF0ZV9jb25maWdzJywgZCkKPiAr Cj4gK8KgwqDCoMKgwqDCoMKgIHNidWlsZF9jaHJvb3QgPSBkLmdldFZhcignU0JVSUxEX0NIUk9P VCcpCj4gK8KgwqDCoMKgwqDCoMKgIHNlc3Npb25faWQgPSBydW5mZXRjaGNtZChmJ3NjaHJvb3Qg LXEgLWIgLWMKPiB7c2J1aWxkX2Nocm9vdH0nLCBkKS5zdHJpcCgpCj4gK8KgwqDCoMKgwqDCoMKg IGxvZ2dlci5pbmZvKGYnU3RhcnRlZCBzZXNzaW9uOiB7c2Vzc2lvbl9pZH0nKQo+ICsKPiArwqDC oMKgwqDCoMKgwqAgcHAgPSBkLmdldFZhcignUFAnKQo+ICvCoMKgwqDCoMKgwqDCoCBwcHMgPSBk LmdldFZhcignUFBTJykKPiArwqDCoMKgwqDCoMKgwqAgdHJ5Ogo+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHJ1bmZldGNoY21kKGYnJycKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHNldCAtZQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc2Nocm9vdCAtciAtYyB7 c2Vzc2lvbl9pZH0gLWQgLyAtdSByb290IC0tIFwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgcm0gL2V0Yy9hcHQvc291cmNlcy5saXN0LmQvaXNhci1hcHQubGlzdAo+ IC9ldGMvYXB0L3ByZWZlcmVuY2VzLmQvaXNhci1hcHQKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHNjaHJvb3QgLXIgLWMge3Nlc3Npb25faWR9IC1kIC8gLS0gXAo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzaCAtYyAnCj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc2V0IC1lCj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZHNjZmlsZT0kKGFwdC1nZXQgLXkgLXFx IC0tcHJpbnQtdXJpcyAtLQo+IG9ubHktc291cmNlIHNvdXJjZSB7dWQuc3JjX3BhY2thZ2V9IHwg XAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgY3V0IC1kICIgIiAtZjIgfCBncmVwIC1FICJcLmRzYyIpCj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY3AgL2Rvd25sb2Fkcy97 dWQubG9jYWxmaWxlfS8qIHtwcH0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBjZCB7cHB9Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgbXYgLWYge3Bwc30ge3Bwc30ucHJldgo+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGRwa2ctc291cmNlIC14ICIkZHNjZmlsZSIg e3Bwc30KCkhlbGxvLgoKVGhpcyBzdGlsbCBmYWlscyBpbiBDSSwgYnV0IHRoaXMgdGltZSBJIGhh ZCBzb21lIHRpbWUgdG8gZmluZCB0aGUgcm9vdApjYXVzZS4KClRoZSBwcm9ibGVtIGlzIHRoYXQg YnVzdGVyKGJ1bGxzZXllKSBhbmQgYm9va3dvcm0odHJpeGllKSBwcm92aWRlCmRpZmZlcmVudCB2 ZXJzaW9ucyBvZiAiaGVsbG8iIHBhY2thZ2UuCgpJZiB3ZSBmaXJzdCBidWlsZCBlLmcuIGBtYzpx ZW11YW1kNjQtYm9va3dvcm06aGVsbG9gLCBoZWxsb18yLjEwLTMuZHNjCmlzIGRvd25sb2FkZWQg YW5kIHRoZSB3aG9sZSAiZG93bmxvYWRzL2RlYi1zcmMvZGViaWFuL2hlbGxvLyIgaXMKY29uc2lk ZXJlZCBmaW5pc2hlZCB3aXRoICJkb3dubG9hZHMvZGViLXNyYy9kZWJpYW4vaGVsbG8uZG9uZSIg ZmxhZy7CoAoKU28sIHdoZW4gZS5nLiBgbWM6cWVtdWFtZDY0LWJ1bGxzZXllOmhlbGxvYCBidWls ZCBmb2xsb3dzLCBpdCBkb2Vzbid0CmRvd25sb2FkIGhlbGxvXzIuMTAtMi5kc2MgYW4gcmVzdWx0 cyBpbiBkcGtnLXNvdXJjZSBlcnJvci4KCkl0IGRvZXNuJ3QgbWF0dGVyIGlmIHdlIGJ1aWxkIGJv dGggdGFyZ2V0cyBpbiBwYXJhbGxlbCBvciBzZXF1ZW50aWFsbHksCnRoZSBsYXRlc3QgYWx3YXlz IGZhaWxzLgoKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBmaW5kIHtwcHN9LnByZXYgLW1pbmRlcHRoIDEgLW1heGRlcHRoIDEgLQo+IGV4ZWMgbXYge3t9 fSB7cHBzfS8gXDsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBybWRpciB7cHBzfS5wcmV2Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgJwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJycnLCBk KQo+ICvCoMKgwqDCoMKgwqDCoCBleGNlcHQgKE9TRXJyb3IsIEZldGNoRXJyb3IpOgo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHJhaXNlCj4gK8KgwqDCoMKgwqDCoMKgIGZpbmFsbHk6Cj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqAgcnVuZmV0Y2hjbWQoZidzY2hyb290IC1xIC1mIC1lIC1jIHtz ZXNzaW9uX2lkfScsIGQpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYmIuYnVpbGQuZXhlY19m dW5jKCdzY2hyb290X2RlbGV0ZV9jb25maWdzJywgZCkKPiArCj4gK8KgwqDCoCBkZWYgY2xlYW4o c2VsZiwgdWQsIGQpOgo+ICvCoMKgwqDCoMKgwqDCoCBiYi51dGlscy5yZW1vdmUodWQubG9jYWxw YXRoLCByZWN1cnNlPVRydWUpCgotLSAKQmVzdCByZWdhcmRzLApVbGFkemltaXIuCg0KLS0gCllv dSByZWNlaXZlZCB0aGlzIG1lc3NhZ2UgYmVjYXVzZSB5b3UgYXJlIHN1YnNjcmliZWQgdG8gdGhl IEdvb2dsZSBHcm91cHMgImlzYXItdXNlcnMiIGdyb3VwLgpUbyB1bnN1YnNjcmliZSBmcm9tIHRo aXMgZ3JvdXAgYW5kIHN0b3AgcmVjZWl2aW5nIGVtYWlscyBmcm9tIGl0LCBzZW5kIGFuIGVtYWls IHRvIGlzYXItdXNlcnMrdW5zdWJzY3JpYmVAZ29vZ2xlZ3JvdXBzLmNvbS4KVG8gdmlldyB0aGlz IGRpc2N1c3Npb24gdmlzaXQgaHR0cHM6Ly9ncm91cHMuZ29vZ2xlLmNvbS9kL21zZ2lkL2lzYXIt dXNlcnMvOWQxZWJlZTZmZTNmZmI0MDQwYTFjNWVhMDljMmYxOTcwMDQxOGQ2NC5jYW1lbCU0MGls YmVycy5kZS4K