X-Original-To: alpine-aports@mail.alpinelinux.org Delivered-To: alpine-aports@mail.alpinelinux.org Received: from mail.alpinelinux.org (dallas-a1.alpinelinux.org [127.0.0.1]) by mail.alpinelinux.org (Postfix) with ESMTP id 83E01DC7896 for ; Fri, 8 Jan 2016 04:45:12 +0000 (UTC) Received: from st11p00im-asmtp004.me.com (st11p00im-asmtp004.me.com [17.172.80.98]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by mail.alpinelinux.org (Postfix) with ESMTPS id 477D3DC021A for ; Fri, 8 Jan 2016 04:45:11 +0000 (UTC) X-Mailinglist: alpine-aports Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: MIME-version: 1.0 Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8" Received: from alpine.lan (c-98-226-153-66.hsd1.il.comcast.net [98.226.153.66]) by st11p00im-asmtp004.me.com (Oracle Communications Messaging Server 7.0.5.36.0 64bit (built Sep 8 2015)) with ESMTPSA id <0O0M00LM9AIU3I10@st11p00im-asmtp004.me.com> for alpine-aports@lists.alpinelinux.org; Fri, 08 Jan 2016 04:45:10 +0000 (GMT) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2016-01-08_02:,, signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 clxscore=1011 suspectscore=4 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1510270003 definitions=main-1601080091 From: Ben Allen To: alpine-aports@lists.alpinelinux.org Subject: [alpine-aports] [PATCH] main/nftables: Update init script Date: Fri, 08 Jan 2016 04:44:54 +0000 Message-id: <1452228294-12662-1-git-send-email-bensallen@me.com> X-Mailer: git-send-email 2.7.0 X-Virus-Scanned: ClamAV using ClamSMTP VXBkYXRpbmcgbWFpbi9uZnRhYmxlcyBpbml0IHNjcmlwdC4gQmFzZWQgb24gdGhlIG5ld2VyIEdl bnRvbyBpbml0IHNjcmlwdDogaHR0cHM6Ly9naXR3ZWIuZ2VudG9vLm9yZy9yZXBvL2dlbnRvby5n aXQvdHJlZS9uZXQtZmlyZXdhbGwvbmZ0YWJsZXMvZmlsZXMvbmZ0YWJsZXMuaW5pdC1yMi4gTWVy Z2VkIG5mdGFibGVzLnNoIGZyb20gR2VudG9vJ3MgdmVyc2lvbiBpbnRvIHRoZSBpbml0IHNjcmlw dCBpdHNlbGYsIGFuZCByZW1vdmVkIHRoZSBsZWdhY3kgZnVuY3Rpb25hbGl0eS4gQWRkaW5nIGRl c2NyaXB0aW9ucyBmb3IgZWFjaCBhY3Rpb24gYXMgd2VsbC4NCi0tLQ0KIG1haW4vbmZ0YWJsZXMv QVBLQlVJTEQgICAgICAgfCAgIDggKy0NCiBtYWluL25mdGFibGVzL25mdGFibGVzLmluaXRkIHwg MTk3ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAyIGZpbGVz IGNoYW5nZWQsIDk2IGluc2VydGlvbnMoKyksIDEwOSBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdp dCBhL21haW4vbmZ0YWJsZXMvQVBLQlVJTEQgYi9tYWluL25mdGFibGVzL0FQS0JVSUxEDQppbmRl eCAyYzkzOTM5Li5mZmI2MmZmIDEwMDY0NA0KLS0tIGEvbWFpbi9uZnRhYmxlcy9BUEtCVUlMRA0K KysrIGIvbWFpbi9uZnRhYmxlcy9BUEtCVUlMRA0KQEAgLTIsNyArMiw3IEBADQogIyBNYWludGFp bmVyOiBTw7ZyZW4gVGVtcGVsIDxzb2VyZW4rYWxwaW5lQHNvZXJlbi10ZW1wZWwubmV0Pg0KIHBr Z25hbWU9bmZ0YWJsZXMNCiBwa2d2ZXI9MC41DQotcGtncmVsPTANCitwa2dyZWw9MQ0KIHBrZ2Rl c2M9Ik5ldGZpbHRlciB0YWJsZXMgdXNlcnNwYWNlIHRvb2xzIg0KIHVybD0iaHR0cDovL25ldGZp bHRlci5vcmcvcHJvamVjdHMvbmZ0YWJsZXMvIg0KIGFyY2g9ImFsbCINCkBAIC01NywxMCArNTcs MTAgQEAgcGFja2FnZSgpIHsNCiANCiBtZDVzdW1zPSI5NGJmZTFjNTRiY2I5ZjZlZDk3NDgzNWYy ZmNhODA2OSAgbmZ0YWJsZXMtMC41LnRhci5iejINCiA1MjI3M2E1NDhmN2NiZmUxN2JhOWJhOTdi MTBjZjY4NSAgbmZ0YWJsZXMuY29uZmQNCi02M2UzMzBkNTE0YWVkODM5Y2U5OTg1YzNjYjkxOGUy YyAgbmZ0YWJsZXMuaW5pdGQiDQorMDA1ZTkzMTA1MWUzNTRiOGQ3M2VmMGE3MzFiMzBmYmUgIG5m dGFibGVzLmluaXRkIg0KIHNoYTI1NnN1bXM9IjFmYjZkZmYzMzNkOGE0ZmMzNDdjYmJlMjczYmY5 MDVhMjYzNGIyN2E4YzM5ZGYwZDNhNDVkNWEzZmRlMTBhZDYgIG5mdGFibGVzLTAuNS50YXIuYnoy DQogOGYwOWFiM2Y4NmYzMjZkM2I3OGRjYTUwZGIwYmZkZGUyZDhiZjVlNWQ0NWUzNDk1YTgzNmVk ZWJlOTllYzJmZiAgbmZ0YWJsZXMuY29uZmQNCi03ODc4NzM4OTljMDdjNzRlOGQyNjczMTkyMmRm MmQyNmVjYjk4ZTFjMmUyY2E5Y2RmMjQ1MGY4NTYyMTczMGZmICBuZnRhYmxlcy5pbml0ZCINCiti ODg1MTdlYmUyM2E2MGM0YjAzMGQwZjIxZDJjODA3NjBiYTY1OGVhNDE1MWU4ZWM0ZmJjNjIwODVk OTEwNGE0ICBuZnRhYmxlcy5pbml0ZCINCiBzaGE1MTJzdW1zPSJkNWFjNDZiYWRhMjY1MjJlNTk0 NjFlMzZkNzkzYTJmNGRiZjQyZTA3MGQ3MWFjMzMyNTlkODZiMzQzYzBkNzQzNjk3NTk4OGI3ZTc4 NzhjMzQwZjlkODE0NzlhMTFhNjY1MThmMTMwNzM4NDYzNWFlMDIyOWIyZjk2OWY4ZjM0MiAgbmZ0 YWJsZXMtMC41LnRhci5iejINCiBmNzA5ZTIwM2Q5NDkzODBkY2U4ZmZkYWVkNjE2YzA0NzI4MGQz ZmU3NDQ4YmIwMjRhNmY2YzAxYTE3YzExYmY3Y2FhYTVmNjdiNDEyYmM5MGM5YmZmNGNlOTFhNmZk NWU1MjcwZDI1OWRjMzBmZGNkYTgxZGQyZjYyMjFhZDBkOCAgbmZ0YWJsZXMuY29uZmQNCi1jOTll Y2MwM2IxOTYxNWFhNTNjNmI4ZGJlYzJiMjAwNmIyOGI4ZjQ0ODE3ZTA4YTMwYTQ4OTcwYzEwMGY0 MDg3N2NmYjZjMjE0ZWI2YjM2YjZjZDA1MTdhMGUwN2QwN2YxMTU3ZDkzMDY2MWEzMWFjNDZmYmMy ZWMwZDNhNTAyZCAgbmZ0YWJsZXMuaW5pdGQiDQorODI2OWFhY2Y0MGRiY2FlNzA2M2NiY2M1ZDNi ZTdlMzU0NGY5OGFkODQ4YzZjNWJkMmQ4ZWM1OTc2N2RjOWQ1ZDkzMWI1OGQ1YzliZDkwZjViMWNl MjRhMWI1NTMxOTM1NzZjNTkzYmE1Y2RiOTE1YzFjYjI1YjMxZWRkYTI1YWMgIG5mdGFibGVzLmlu aXRkIg0KZGlmZiAtLWdpdCBhL21haW4vbmZ0YWJsZXMvbmZ0YWJsZXMuaW5pdGQgYi9tYWluL25m dGFibGVzL25mdGFibGVzLmluaXRkDQppbmRleCAyMTFlZDczLi41MTA4M2I4IDEwMDY0NA0KLS0t IGEvbWFpbi9uZnRhYmxlcy9uZnRhYmxlcy5pbml0ZA0KKysrIGIvbWFpbi9uZnRhYmxlcy9uZnRh Ymxlcy5pbml0ZA0KQEAgLTEsNCArMSw0IEBADQotIyEvc2Jpbi9vcGVucmMtcnVuDQorIyEvc2Jp bi9ydW5zY3JpcHQNCiAjIENvcHlyaWdodCAyMDE0IE5pY2hvbGFzIFZpbnNvbg0KICMgQ29weXJp Z2h0IDE5OTktMjAxNCBHZW50b28gRm91bmRhdGlvbg0KICMgRGlzdHJpYnV0ZWQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2Mg0KQEAgLTYsNjMgKzYs MTA0IEBADQogZXh0cmFfY29tbWFuZHM9ImNsZWFyIGxpc3QgcGFuaWMgc2F2ZSINCiBleHRyYV9z dGFydGVkX2NvbW1hbmRzPSJyZWxvYWQiDQogDQorZGVzY3JpcHRpb249Ik1hbmFnZSBuZnRhYmxl IGJhc2VkIGZpcmV3YWxsLiINCitkZXNjcmlwdGlvbl9zYXZlPSJTYXZlIGN1cnJlbnQgbmZ0YWJs ZXMgcnVsZXNldHMgdG8gZGlzay4iDQorZGVzY3JpcHRpb25fbGlzdD0iRGlzcGxheXMgdGhlIGN1 cnJlbnQgbmZ0YWJsZXMgcnVsZXNldC4iDQorZGVzY3JpcHRpb25fY2xlYXI9IkZsdXNoIGN1cnJl bnQgcnVsZXNldHMuIg0KK2Rlc2NyaXB0aW9uX3BhbmljPSJJbW1lZGlhdGVseSBkcm9wIGFsbCBw YWNrZXRzIG9uIGFsbCBpbnRlcmZhY2VzLiINCitkZXNjcmlwdGlvbl9yZWxvYWQ9IkNsZWFyIGN1 cnJlbnQgcnVsZXNldHMgYW5kIGxvYWQgcnVsZXNldHMgZnJvbSB0aGUgc2F2ZWQgcnVsZXNldCBm aWxlcy4iDQorDQogZGVwZW5kKCkgew0KICAgICBuZWVkIGxvY2FsbW91bnQgIzQzNDc3NA0KICAg ICBiZWZvcmUgbmV0DQogfQ0KIA0KLWNoZWNra2VybmVsKCkgew0KLSAgICBpZiAhIG5mdCBsaXN0 IHRhYmxlcyA+L2Rldi9udWxsIDI+JjE7IHRoZW4NCi0gICAgICAgIGVlcnJvciAiWW91ciBrZXJu ZWwgbGFja3MgbmZ0YWJsZXMgc3VwcG9ydCwgcGxlYXNlIGxvYWQiDQotICAgICAgICBlZXJyb3Ig ImFwcHJvcHJpYXRlIG1vZHVsZXMgYW5kIHRyeSBhZ2Fpbi4iDQotICAgICAgICByZXR1cm4gMQ0K LSAgICBmaQ0KK3N0YXJ0X3ByZSgpIHsNCisgICAgY2hlY2trZXJuZWwgfHwgcmV0dXJuIDENCisg ICAgY2hlY2tjb25maWcgfHwgcmV0dXJuIDENCiAgICAgcmV0dXJuIDANCiB9DQogDQotY2hlY2tj b25maWcoKSB7DQotICAgIGlmIFsgISAtZiAke05GVEFCTEVTX1NBVkV9IF07IHRoZW4NCi0gICAg ICAgIGVlcnJvciAiTm90IHN0YXJ0aW5nIG5mdGFibGVzLiAgRmlyc3QgY3JlYXRlIHNvbWUgcnVs ZXMgdGhlbiBydW46Ig0KLSAgICAgICAgZWVycm9yICJyYy1zZXJ2aWNlIG5mdGFibGVzIHNhdmUi DQotICAgICAgICByZXR1cm4gMQ0KLSAgICBmaQ0KK2NsZWFyKCkgew0KKyAgICBlYmVnaW4gIkZs dXNoaW5nIGN1cnJlbnQgcnVsZXNldHMiDQorICAgIG5mdCBmbHVzaCBydWxlc2V0IHx8IHJldHVy biAxDQogICAgIHJldHVybiAwDQogfQ0KIA0KLWdldGZhbWlsaWVzKCkgew0KLSAgICBsb2NhbCBm YW1pbGllcw0KLSAgICBmb3IgbDNmIGluIGlwIGFycCBpcDYgYnJpZGdlIGluZXQ7IGRvDQotICAg ICAgICBpZiBuZnQgbGlzdCB0YWJsZXMgJHtsM2Z9ID4gL2Rldi9udWxsIDI+JjE7IHRoZW4NCi0g ICAgICAgICAgICBmYW1pbGllcz0iJHtmYW1pbGllc30ke2wzZn0gIg0KLSAgICAgICAgZmkNCi0g ICAgZG9uZQ0KLSAgICBlY2hvICR7ZmFtaWxpZXN9DQorbGlzdCgpIHsNCisgICAgbmZ0IGxpc3Qg cnVsZXNldCB8fCByZXR1cm4gMQ0KKyAgICByZXR1cm4gMA0KIH0NCiANCi1jbGVhck5GVCgpIHsN Ci0gICAgbmZ0IGZsdXNoIHJ1bGVzZXQNCi19DQorcGFuaWMoKSB7DQorICAgIGNoZWNra2VybmVs IHx8IHJldHVybiAxDQorICAgIGlmIHNlcnZpY2Vfc3RhcnRlZCAke1JDX1NWQ05BTUV9OyB0aGVu DQorICAgICAgICByYy1zZXJ2aWNlICR7UkNfU1ZDTkFNRX0gc3RvcA0KKyAgICBmaQ0KIA0KLWFk ZHBhbmljdGFibGUoKSB7DQotICAgIGxvY2FsIGwzZj0kMQ0KLSAgICBuZnQgYWRkIHRhYmxlICR7 bDNmfSBwYW5pYw0KLSAgICBuZnQgYWRkIGNoYWluICR7bDNmfSBwYW5pYyBpbnB1dCBceyB0eXBl IGZpbHRlciBob29rIGlucHV0IHByaW9yaXR5IDBcOyBcfQ0KLSAgICBuZnQgYWRkIGNoYWluICR7 bDNmfSBwYW5pYyBvdXRwdXQgXHsgdHlwZSBmaWx0ZXIgaG9vayBvdXRwdXQgcHJpb3JpdHkgMFw7 IFx9DQotICAgIG5mdCBhZGQgY2hhaW4gJHtsM2Z9IHBhbmljIGZvcndhcmQgXHsgdHlwZSBmaWx0 ZXIgaG9vayBmb3J3YXJkIHByaW9yaXR5IDBcOyBcfQ0KLSAgICBuZnQgYWRkIHJ1bGUgJHtsM2Z9 IHBhbmljIGlucHV0IGRyb3ANCi0gICAgbmZ0IGFkZCBydWxlICR7bDNmfSBwYW5pYyBvdXRwdXQg ZHJvcA0KLSAgICBuZnQgYWRkIHJ1bGUgJHtsM2Z9IHBhbmljIGZvcndhcmQgZHJvcA0KKyAgICBl YmVnaW4gIkRyb3BwaW5nIGFsbCBwYWNrZXRzIg0KKyAgICBjbGVhcg0KKyAgICBpZiBuZnQgY3Jl YXRlIHRhYmxlIGlwIGZpbHRlciA+L2Rldi9udWxsIDI+JjE7IHRoZW4NCisJbmZ0IC1mIC9kZXYv c3RkaW4gPDwtRU9GDQorCSAgICB0YWJsZSBpcCBmaWx0ZXIgew0KKwkgICAgICAgICAgICAgICAg ICAgIGNoYWluIGlucHV0IHsNCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dHlwZSBmaWx0ZXIgaG9vayBpbnB1dCBwcmlvcml0eSAwOw0KKwkgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBkcm9wDQorCSAgICAgICAgICAgICAgICAgICAgfQ0KKwkgICAgICAg ICAgICAgICAgICAgIGNoYWluIGZvcndhcmQgew0KKwkgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB0eXBlIGZpbHRlciBob29rIGZvcndhcmQgcHJpb3JpdHkgMDsNCisJICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJvcA0KKwkgICAgICAgICAgICAgICAgICAg IH0NCisJICAgICAgICAgICAgICAgICAgICBjaGFpbiBvdXRwdXQgew0KKwkgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB0eXBlIGZpbHRlciBob29rIG91dHB1dCBwcmlvcml0eSAw Ow0KKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcm9wDQorCSAgICAgICAg ICAgICAgICAgICAgfQ0KKwkgICAgfQ0KKwlFT0YNCisgICAgZmkNCisgICAgaWYgbmZ0IGNyZWF0 ZSB0YWJsZSBpcDYgZmlsdGVyID4vZGV2L251bGwgMj4mMTsgdGhlbg0KKwluZnQgLWYgL2Rldi9z dGRpbiA8PC1FT0YNCisJICAgIHRhYmxlIGlwNiBmaWx0ZXIgew0KKwkgICAgICAgICAgICAgICAg ICAgIGNoYWluIGlucHV0IHsNCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dHlwZSBmaWx0ZXIgaG9vayBpbnB1dCBwcmlvcml0eSAwOw0KKwkgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBkcm9wDQorCSAgICAgICAgICAgICAgICAgICAgfQ0KKwkgICAgICAg ICAgICAgICAgICAgIGNoYWluIGZvcndhcmQgew0KKwkgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB0eXBlIGZpbHRlciBob29rIGZvcndhcmQgcHJpb3JpdHkgMDsNCisJICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJvcA0KKwkgICAgICAgICAgICAgICAgICAg IH0NCisJICAgICAgICAgICAgICAgICAgICBjaGFpbiBvdXRwdXQgew0KKwkgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB0eXBlIGZpbHRlciBob29rIG91dHB1dCBwcmlvcml0eSAw Ow0KKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcm9wDQorCSAgICAgICAg ICAgICAgICAgICAgfQ0KKwkgICAgfQ0KKwlFT0YNCisgICAgZmkNCiB9DQogDQotc3RhcnRfcHJl KCkgew0KK3JlbG9hZCgpIHsNCiAgICAgY2hlY2trZXJuZWwgfHwgcmV0dXJuIDENCi0gICAgY2hl Y2tjb25maWcgfHwgcmV0dXJuIDENCi0JcmV0dXJuIDANCisgICAgZWJlZ2luICJGbHVzaGluZyBm aXJld2FsbCINCisgICAgY2xlYXINCisgICAgc3RhcnQNCit9DQorDQorc2F2ZSgpIHsNCisgICAg ZWJlZ2luICJTYXZpbmcgbmZ0YWJsZXMgc3RhdGUiDQorICAgIGNoZWNrcGF0aCAtcSAtZCAiJChk aXJuYW1lICIke05GVEFCTEVTX1NBVkV9IikiDQorICAgIGNoZWNrcGF0aCAtcSAtbSAwNjAwIC1m ICIke05GVEFCTEVTX1NBVkV9Ig0KKyAgICBsb2NhbCB0bXBfc2F2ZT0iJHtORlRBQkxFU19TQVZF fS50bXAiDQorICAgIG5mdCBsaXN0IHJ1bGVzZXQgPiAke3RtcF9zYXZlfQ0KKyAgICByZXR2YWw9 JD8NCisgICAgaWYgWyAke3JldHZhbH0gXTsgdGhlbg0KKyAgICAgICBtdiAke3RtcF9zYXZlfSAk e05GVEFCTEVTX1NBVkV9DQorICAgIGZpDQorICAgIHJldHVybiAkPw0KIH0NCiANCiBzdGFydCgp IHsNCiAgICAgZWJlZ2luICJMb2FkaW5nIG5mdGFibGVzIHN0YXRlIGFuZCBzdGFydGluZyBmaXJl d2FsbCINCi0gICAgY2xlYXJORlQNCisgICAgY2xlYXINCiAgICAgbmZ0IC1mICR7TkZUQUJMRVNf U0FWRX0NCiAgICAgZWVuZCAkPw0KIH0NCkBAIC03Myw3OCArMTE0LDI0IEBAIHN0b3AoKSB7DQog ICAgIGZpDQogDQogICAgIGViZWdpbiAiU3RvcHBpbmcgZmlyZXdhbGwiDQotICAgIGNsZWFyTkZU DQorICAgIGNsZWFyDQogICAgIGVlbmQgJD8NCiB9DQogDQotcmVsb2FkKCkgew0KLSAgICBjaGVj a2tlcm5lbCB8fCByZXR1cm4gMQ0KLSAgICAjIGNoZWNrcnVsZXMgfHwgcmV0dXJuIDENCi0gICAg ZWJlZ2luICJGbHVzaGluZyBmaXJld2FsbCINCi0gICAgY2xlYXJORlQNCi0NCi0gICAgc3RhcnQN Ci19DQotDQotY2xlYXIoKSB7DQotICAgIGNsZWFyTkZUDQotfQ0KLQ0KLWxpc3QoKSB7DQotICAg IGxvY2FsIGwzZg0KLQ0KLSAgICBmb3IgbDNmIGluICQoZ2V0ZmFtaWxpZXMpOyBkbw0KLSAgICAg ICAgbmZ0IGxpc3QgdGFibGVzICR7bDNmfSB8IHdoaWxlIHJlYWQgbGluZTsgZG8NCi0gICAgICAg ICAgICBsaW5lPSQoZWNobyAke2xpbmV9IHwgc2VkICJzL3RhYmxlL3RhYmxlICR7bDNmfS8iKQ0K LSAgICAgICAgICAgIGVjaG8gIiQobmZ0IGxpc3QgJHtsaW5lfSkiDQotICAgICAgICBkb25lDQot ICAgIGRvbmUNCi19DQotDQotc2F2ZSgpIHsNCi0gICAgZWJlZ2luICJTYXZpbmcgbmZ0YWJsZXMg c3RhdGUiDQotICAgIGNoZWNrcGF0aCAtcSAtZCAiJChkaXJuYW1lICIke05GVEFCTEVTX1NBVkV9 IikiDQotICAgIGNoZWNrcGF0aCAtcSAtbSAwNjAwIC1mICIke05GVEFCTEVTX1NBVkV9Ig0KLQ0K LSAgICBsb2NhbCBsM2YgbGluZSB0bXBfc2F2ZT0iJHtORlRBQkxFU19TQVZFfS50bXAiDQotDQot ICAgIHRvdWNoICIke3RtcF9zYXZlfSINCi0gICAgZm9yIGwzZiBpbiAkKGdldGZhbWlsaWVzKTsg ZG8NCi0gICAgICAgIG5mdCBsaXN0IHRhYmxlcyAke2wzZn0gfCB3aGlsZSByZWFkIGxpbmU7IGRv DQotICAgICAgICAgICAgbGluZT0kKGVjaG8gJHtsaW5lfSB8IHNlZCAicy90YWJsZS90YWJsZSAk e2wzZn0vIikNCi0gICAgICAgICAgICAjIFRoZSBiZWxvdyBzdWJzdGl0dXRpb24gZml4ZXMgYW4g aXNzdWUgd2hlcmUgbmZ0IC1uIG91dHB1dCBtYXkgbm90DQotICAgICAgICAgICAgIyBhbHdheXMg YmUgcGFyc2FibGUgYnkgbmZ0IC1mLiAgRm9yIGV4YW1wbGUsIG5mdCAtbiBtaWdodCBwcmludA0K LSAgICAgICAgICAgICMNCi0gICAgICAgICAgICAjICAgICBpcDYgc2FkZHIgOjoxIGlwNiBkYWRk ciA6OjEgY291bnRlciBwYWNrZXRzIDAgYnl0ZXMgMCBhY2NlcHQNCi0gICAgICAgICAgICAjDQot ICAgICAgICAgICAgIyBidXQgbmZ0IC1mIHJlZnVzZXMgdG8gcGFyc2UgdGhhdCBzdHJpbmcgd2l0 aCBlcnJvcjoNCi0gICAgICAgICAgICAjDQotICAgICAgICAgICAgIyAgICAgSW4gZmlsZSBpbmNs dWRlZCBmcm9tIGludGVybmFsOjA6MC0wOg0KLSAgICAgICAgICAgICMgICAgIC92YXIvbGliL25m dGFibGVzL3J1bGVzLXNhdmU6MToxLTI6IEVycm9yOiBDb3VsZCBub3QgcHJvY2VzcyBydWxlOg0K LSAgICAgICAgICAgICMgICAgIEludmFsaWQgYXJndW1lbnQNCi0gICAgICAgICAgICAjICAgICB0 YWJsZSBpcDYgZmlsdGVyIHsNCi0gICAgICAgICAgICAjICAgICBeXg0KLSAgICAgICAgICAgIGVj aG8gIiQobmZ0ICR7U0FWRV9PUFRJT05TfSBsaXN0ICR7bGluZX0gfFwNCi0gICAgICAgICAgICAg ICAgICAgIHNlZCAncy9cKDo6WzAtOWEtZkEtRl1cK1wpXChbXi9dXCkvXDFcLzEyOFwyL2cnKSIg Pj4gIiR7dG1wX3NhdmV9Ig0KLSAgICAgICAgZG9uZQ0KLSAgICBkb25lDQotICAgIG12ICIke3Rt cF9zYXZlfSIgIiR7TkZUQUJMRVNfU0FWRX0iDQorY2hlY2tjb25maWcoKSB7DQorICAgIGlmIFsg ISAtZiAke05GVEFCTEVTX1NBVkV9IF07IHRoZW4NCisgICAgICAgIGVlcnJvciAiTm90IHN0YXJ0 aW5nIG5mdGFibGVzLiBGaXJzdCBjcmVhdGUgc29tZSBydWxlcyB0aGVuIHJ1bjoiDQorICAgICAg ICBlZXJyb3IgInJjLXNlcnZpY2UgbmZ0YWJsZXMgc2F2ZSINCisgICAgICAgIHJldHVybiAxDQor ICAgIGZpDQorICAgIHJldHVybiAwDQogfQ0KIA0KLXBhbmljKCkgew0KLSAgICBjaGVja2tlcm5l bCB8fCByZXR1cm4gMQ0KLSAgICBpZiBzZXJ2aWNlX3N0YXJ0ZWQgJHtSQ19TVkNOQU1FfTsgdGhl bg0KLSAgICAgICAgcmMtc2VydmljZSAke1JDX1NWQ05BTUV9IHN0b3ANCitjaGVja2tlcm5lbCgp IHsNCisgICAgaWYgISBuZnQgbGlzdCB0YWJsZXMgPi9kZXYvbnVsbCAyPiYxOyB0aGVuDQorICAg ICAgICBlZXJyb3IgIllvdXIga2VybmVsIGxhY2tzIG5mdGFibGVzIHN1cHBvcnQsIHBsZWFzZSBs b2FkIg0KKyAgICAgICAgZWVycm9yICJhcHByb3ByaWF0ZSBtb2R1bGVzIGFuZCB0cnkgYWdhaW4u Ig0KKyAgICAgICAgcmV0dXJuIDENCiAgICAgZmkNCi0NCi0gICAgZWJlZ2luICJEcm9wcGluZyBh bGwgcGFja2V0cyINCi0gICAgY2xlYXJORlQNCi0NCi0gICAgbG9jYWwgbDNmDQotICAgIGZvciBs M2YgaW4gJChnZXRmYW1pbGllcyk7IGRvDQotICAgICAgICBjYXNlICR7bDNmfSBpbg0KLSAgICAg ICAgICAgIGlwKSBhZGRwYW5pY3RhYmxlICR7bDNmfSA7Ow0KLSAgICAgICAgICAgIGlwNikgYWRk cGFuaWN0YWJsZSAke2wzZn0gOzsNCi0gICAgICAgIGVzYWMNCi0gICAgZG9uZQ0KKyAgICByZXR1 cm4gMA0KIH0NCi0tIA0KMi43LjANCg0KDQoNCi0tLQ0KVW5zdWJzY3JpYmU6ICBhbHBpbmUtYXBv cnRzK3Vuc3Vic2NyaWJlQGxpc3RzLmFscGluZWxpbnV4Lm9yZw0KSGVscDogICAgICAgICBhbHBp bmUtYXBvcnRzK2hlbHBAbGlzdHMuYWxwaW5lbGludXgub3JnDQotLS0NCg==