From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=209.85.160.54 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1793473139; b=hYIwDYYxgLEpuuvnA0wu5oypGBcHtdJwJhHgc265zICOZKlIB0bVAmzIGUF/vvnfizBq Mx/Dz6Tz239L7opdo/iS4WPbW1bXLg8uQqYNr7SLHGhvhbkkepkzE5GvZj5GxXTZ+QEEE 0O1Dhlrt4mUeplYkqs0MIvnYbFCaQvVotqRNv587xgYMbuE/GM3zeOTiAWmCYmQzxWjbG q8BpcvHl9YQGyf1h5wZ3C1n6YU53zQ2AmxAXS97tGTVC1VAnrydCzGej3GF4ZWsZtVykE VIGLmbqFAks8hFrKq755dOVnABFikqWxIZhqwNTKKW0/gK8DHpI5yvapi5rpk/4NoAg== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1793473139; h=DMARC-Filter:Received:DKIM-Signature:X-Google-DKIM-Signature: X-Gm-Message-State:X-Gm-Gg:X-Received:Received:Message-ID:Date: Content-Type:MIME-Version:From:To:Subject:In-Reply-To:References: Reply-To; bh=TFLCJexAqmJIb5RVmstu1F/AUmZm9uPsUIS4lsZhBTg=; b=BLn3hv2bbGZhatiuo4zh9VzGjKi4jk0t2LZBdN/SHmb+UGTXmXNgh/wpWt/lhDwWnOYg hFDrZbsHjtt7vi7w0bRQZNo07Xd9SXh2aLJouJxAh8sw9hAw/hCaKCRmLIQZ6J/nGEx5w O+mRZqWZPxd+6lpqUeNdWxZGGAafTPCnN4S0Ue+4RHR6WxavibuYUTKa6PIO0Y+bApO// WaxoqiHeHfmj/6mD+/SUQy2a9sZrQK5NMU+5RVvBfsmmzl+xjEsmAVuKG7Zlcvy91WAiK O8OnSXKeXLyKJa9OcQbOoXtx4wL8xA7SWe6M97H7vDi8r5qg4Z+91bedK/cQbmlaKog== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20260707 header.b=eCFeDNSN; arc=none smtp.remote-ip=209.85.160.54 Received: from mail-oa1-f54.google.com (mail-oa1-f54.google.com [209.85.160.54]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 793F5606A31A for ; Sat, 31 Oct 2026 18:58:58 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.2 smtp.subspace.kernel.org 793F5606A31A Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20260707 header.b=eCFeDNSN Received: by mail-oa1-f54.google.com with SMTP id 586e51a60fabf-48ed0b68895so1271281fac.1 for ; Sat, 31 Oct 2026 11:58:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20260707; t=1793473137; x=1794077937; darn=vger.kernel.org; h=reply-to:references:in-reply-to:subject:to:from:mime-version :content-type:date:message-id:from:to:cc:subject:date:message-id :reply-to:content-type; bh=TFLCJexAqmJIb5RVmstu1F/AUmZm9uPsUIS4lsZhBTg=; b=eCFeDNSNbhCfVDi6YR9aGa62G4Dqi/j14tg1chla0TdpzMid6BH4APBH/0x2IXH6CK WDE8XbeEoejdCQUYLkHISqga+9oLyWl1nwjExTjuPuQQUAl5i+cMoZq/AY+KViXDE4TD AoiT3LSY8l+E1Yn+iMVgPsN5ESXRUlR1v+dK+tREOptx+ZT9Kj9MWlH1MV0eTLKKnt2O bref9crLl9hwiJdIOxl95KaBmu/+fRiQl5LymnRPfOMB9OArO3WI9THKxd0PHYRImPP3 9iplta2i0b3OvhHce+MXiQtMInegp19BJ2I0vW099LAriR2MDqW52WD/Tq8RfrhcHcM+ LkFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793473137; x=1794077937; h=reply-to:references:in-reply-to:subject:to:from:mime-version :content-type:date:message-id:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=TFLCJexAqmJIb5RVmstu1F/AUmZm9uPsUIS4lsZhBTg=; b=2hsr0eqRWi5t+txceuzLgD+XiYoMi1/TSEfEJk1l+DGd1Y3Gycc64DmrwSliYuOjr4 OthSKxvRBA/EzYXqpefsbpZnxwIXxFf8Lz3SmTQKBdOK4m96JWUk6/k5IFuNduxt412B ZB6nMn4yEEkoDOdjIljTZtI6sWqG+rX6quPaqrJ0Zy8fyWtUT3Qx/81Q8nnyTgOR/8Aa w0oHkuJy5+j58HO8poPUl/1nbozBakdLQezGFZgBG1cv8aGTvGiOq/FuplNfFN14Rtij 3niByfA34rVDLSGFH9AuKxcsf6B1sAkpLhii09XnlQ0oQz0jUeJB2Q+ekoAOjBTlx/P0 GRHA== X-Gm-Message-State: AFq9FYKFJ3jqBTkOhx0K2qul8HD4YLYI3/DmPmZtrXjztdcJ6g0qdJqY CQNpCQRHF1bdX3nDsAEua+EZeBCkXDQIt86VpCDN8tqYYsr6NQNV1E3le9AWfg== X-Gm-Gg: AYBFou381ixqV9bb3dEfbOfhKVnObYMUUcqUEhCSKOKhNQrm0YCvHR2JwTRKGpMmtBI U1iisxcjog43aPgla6WJZtysdxuQ5k/SUAsjZB36jNIkLw5LakeUUOa5JmBK1WdFzXbCAzdBtNV zlo6G1YGnju4YU1lGHXNHPpmSrLGLChKRG1rbayZQ40Vs6YVevV/wsLcbtTFAgysV9e72z2T82i m/5hDl6/31YXMWo+2EzfsBRmwsZJ/ZF1f7+95SkvSSe/uq8/OCS7+oGSgXLrrPaR/8JyYO/nfGk qBiaLhy0TMTvQqYyJwvmS8wzaoEhrWL/GOCjsBgUXunOMEX77qRbOLaD4IfuzBtUukv+Wz6yw1v 0NuSYfUtX6nkoE1Et8LZY48cWxmpxdOoykamz66xMOZm/DKsit3GIqujPClrpB29buDpDzf3502 SKJnnxwuhNMlDuAlph2WVq4XbbsZQ/AfOO6Ct57wIh0+Id27+gWMJoHhfcFfWWz6o+v5g54H32u nlYnuMezpLRUScVwJTVeKizaimp4ekHYXiCrFrZOjuveVAFSlK8mbLi+fl+ X-Received: by 2002:a05:6870:61d5:b0:4a7:5eb7:ab95 with SMTP id 586e51a60fabf-4a907744ba1mr3467174fac.42.1793473137020; Sat, 31 Oct 2026 11:58:57 -0700 (PDT) Received: from [172.17.0.2] ([20.83.53.72]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-4a921997d50sm3025319fac.10.2026.10.31.11.58.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 31 Oct 2026 11:58:56 -0700 (PDT) Message-ID: <6ae63a70.5986774d.3126b0.4684@mx.google.com> Date: Sat, 31 Oct 2026 11:58:56 -0700 (PDT) Content-Type: multipart/mixed; boundary="===============1146689553567547497==" X-Mailing-List: linux-bluetooth@vger.kernel.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 From: bluez.test.bot@gmail.com To: linux-bluetooth@vger.kernel.org, cochcoder@proton.me Subject: RE: [RESEND,RFC] l2cap-tester: Check compatible interval preferences In-Reply-To: <20261031181244.123461-1-cochcoder@proton.me> References: <20261031181244.123461-1-cochcoder@proton.me> Reply-To: linux-bluetooth@vger.kernel.org --===============1146689553567547497== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhpcyBpcyBhdXRvbWF0ZWQgZW1haWwgYW5kIHBsZWFzZSBkbyBub3QgcmVwbHkgdG8gdGhpcyBl bWFpbCEKCkRlYXIgc3VibWl0dGVyLAoKVGhhbmsgeW91IGZvciBzdWJtaXR0aW5nIHRoZSBwYXRj aGVzIHRvIHRoZSBsaW51eCBibHVldG9vdGggbWFpbGluZyBsaXN0LgpUaGlzIGlzIGEgQ0kgdGVz dCByZXN1bHRzIHdpdGggeW91ciBwYXRjaCBzZXJpZXM6ClBXIExpbms6aHR0cHM6Ly9wYXRjaHdv cmsua2VybmVsLm9yZy9zZXJpZXMvMTE5Nzg2MC8KCi0tLVRlc3QgcmVzdWx0LS0tCgpUZXN0IFN1 bW1hcnk6CkNoZWNrUGF0Y2ggICAgICAgICAgICAgICAgICAgIFBBU1MgICAgICAwLjQzIHNlY29u ZHMKR2l0TGludCAgICAgICAgICAgICAgICAgICAgICAgRkFJTCAgICAgIDAuMjggc2Vjb25kcwpC dWlsZEVsbCAgICAgICAgICAgICAgICAgICAgICBQQVNTICAgICAgMTMuOTcgc2Vjb25kcwpCbHVl ek1ha2UgICAgICAgICAgICAgICAgICAgICBGQUlMICAgICAgNDAuOTQgc2Vjb25kcwpDaGVja1Nt YXRjaCAgICAgICAgICAgICAgICAgICBGQUlMICAgICAgNTUuNzggc2Vjb25kcwpibHVlem1ha2Vl eHRlbGwgICAgICAgICAgICAgICBGQUlMICAgICAgMTYuMzQgc2Vjb25kcwpUZXN0RnVuY3Rpb25h bCAgICAgICAgICAgICAgICBFUlJPUiAgICAgNDEuNTUgc2Vjb25kcwpJbmNyZW1lbnRhbEJ1aWxk ICAgICAgICAgICAgICBGQUlMICAgICAgNDQuOTYgc2Vjb25kcwpTY2FuQnVpbGQgICAgICAgICAg ICAgICAgICAgICBGQUlMICAgICAgNzMuMTEgc2Vjb25kcwoKRGV0YWlscwojIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKVGVzdDogR2l0TGludCAtIEZBSUwKRGVzYzogUnVuIGdpdGxpbnQK T3V0cHV0OgpbUkVTRU5ELFJGQ10gbDJjYXAtdGVzdGVyOiBDaGVjayBjb21wYXRpYmxlIGludGVy dmFsIHByZWZlcmVuY2VzCgozMjogQjEgTGluZSBleGNlZWRzIG1heCBsZW5ndGggKDEwND44MCk6 ICJtYWRlIGZvciB0aGlzIHN0YW5kYWxvbmUgdGVzdCBwYXRjaC4gVGhlIGNvbXBhbmlvbiByZW1h aW5zIGFuIFJGQzsga2VybmVsIGFjY2VwdGFuY2UgaXMgbm90IGVzdGFibGlzaGVkLiIKIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6IEJsdWV6TWFrZSAtIEZBSUwKRGVzYzogQnVp bGQgQmx1ZVoKT3V0cHV0OgoKdG9vbHMvbDJjYXAtdGVzdGVyLmM6IEluIGZ1bmN0aW9uIOKAmGlu dGVydmFsX2xvYWRlZOKAmToKdG9vbHMvbDJjYXAtdGVzdGVyLmM6MzYxOTo5OiBlcnJvcjogdW5r bm93biB0eXBlIG5hbWUg4oCYR0lPQ2hhbm5lbOKAmQogMzYxOSB8ICAgICAgICAgR0lPQ2hhbm5l bCAqaW87CiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+CnRvb2xzL2wyY2FwLXRlc3Rlci5jOjM2 NDU6MTQ6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhnX2lvX2No YW5uZWxfdW5peF9uZXfigJk7IGRpZCB5b3UgbWVhbiDigJhpb19jaGFubmVsX3VucmVm4oCZPyBb LVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KIDM2NDUgfCAgICAgICAgIGlvID0gZ19p b19jaGFubmVsX3VuaXhfbmV3KHNrKTsKICAgICAgfCAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgIGlvX2NoYW5uZWxfdW5yZWYKdG9vbHMvbDJj YXAtdGVzdGVyLmM6MzY0NToxMjogZXJyb3I6IGFzc2lnbm1lbnQgdG8g4oCYaW50ICrigJkgZnJv bSDigJhpbnTigJkgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgWy1X aW50LWNvbnZlcnNpb25dCiAzNjQ1IHwgICAgICAgICBpbyA9IGdfaW9fY2hhbm5lbF91bml4X25l dyhzayk7CiAgICAgIHwgICAgICAgICAgICBeCnRvb2xzL2wyY2FwLXRlc3Rlci5jOjM2NDY6OTog ZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGdfaW9fY2hhbm5lbF9z ZXRfY2xvc2Vfb25fdW5yZWbigJkgWy1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAz NjQ2IHwgICAgICAgICBnX2lvX2NoYW5uZWxfc2V0X2Nsb3NlX29uX3VucmVmKGlvLCBUUlVFKTsK ICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvbDJj YXAtdGVzdGVyLmM6MzY0Njo0NTogZXJyb3I6IOKAmFRSVUXigJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAzNjQ2IHwgICAgICAgICBnX2lvX2NoYW5uZWxfc2V0X2Ns b3NlX29uX3VucmVmKGlvLCBUUlVFKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn4KdG9vbHMvbDJjYXAtdGVzdGVyLmM6MzY0Njo0NTogbm90 ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBl YWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KbWFrZVsxXTogKioqIFtNYWtlZmlsZTo3MTkxOiB0 b29scy9sMmNhcC10ZXN0ZXIub10gRXJyb3IgMQptYWtlWzFdOiAqKiogV2FpdGluZyBmb3IgdW5m aW5pc2hlZCBqb2JzLi4uLgp0b29scy9tZ210LXRlc3Rlci5jOiBJbiBmdW5jdGlvbiDigJhtYWlu 4oCZOgp0b29scy9tZ210LXRlc3Rlci5jOjE0MjU2OjU6IG5vdGU6IHZhcmlhYmxlIHRyYWNraW5n IHNpemUgbGltaXQgZXhjZWVkZWQgd2l0aCDigJgtZnZhci10cmFja2luZy1hc3NpZ25tZW50c+KA mSwgcmV0cnlpbmcgd2l0aG91dAoxNDI1NiB8IGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2 W10pCiAgICAgIHwgICAgIF5+fn4KbWFrZTogKioqIFtNYWtlZmlsZTo0MjgyOiBhbGxdIEVycm9y IDIKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6IENoZWNrU21hdGNoIC0gRkFJ TApEZXNjOiBSdW4gc21hdGNoIHRvb2wgd2l0aCBzb3VyY2UKT3V0cHV0OgoKc3JjL3NoYXJlZC9j cnlwdG8uYzoyNzE6MjE6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpz cmMvc2hhcmVkL2NyeXB0by5jOjI3MjoyMzogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5 IGlzIHVzZWQuCnNyYy9zaGFyZWQvZ2F0dC1oZWxwZXJzLmM6NzY0OjMxOiB3YXJuaW5nOiBWYXJp YWJsZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4Kc3JjL3NoYXJlZC9nYXR0LWhlbHBlcnMuYzo4NDI6 MzE6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2dh dHQtaGVscGVycy5jOjEzMzU6MzE6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1 c2VkLgpzcmMvc2hhcmVkL2dhdHQtaGVscGVycy5jOjEzNjY6MjM6IHdhcm5pbmc6IFZhcmlhYmxl IGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2JhcC5jOjMwOToyNTogd2FybmluZzog YXJyYXkgb2YgZmxleGlibGUgc3RydWN0dXJlcwpzcmMvc2hhcmVkL2JhcC5jOiBub3RlOiBpbiBp bmNsdWRlZCBmaWxlOgouL3NyYy9zaGFyZWQvYXNjcy5oOjg4OjI1OiB3YXJuaW5nOiBhcnJheSBv ZiBmbGV4aWJsZSBzdHJ1Y3R1cmVzCnNyYy9zaGFyZWQvc2hlbGwuYzogbm90ZTogaW4gaW5jbHVk ZWQgZmlsZSAodGhyb3VnaCAvdXNyL2luY2x1ZGUveDg2XzY0LWxpbnV4LWdudS8vc3lzL2lvY3Rs LmgsIC91c3IvaW5jbHVkZS94ODZfNjQtbGludXgtZ251Ly9zeXMvZXBvbGwuaCwgc3JjL3NoYXJl ZC9tYWlubG9vcC5oKToKL3Vzci9pbmNsdWRlL3g4Nl82NC1saW51eC1nbnUvL3N5cy90dHlkZWZh dWx0cy5oOjU1Ojk6IHdhcm5pbmc6IHByZXByb2Nlc3NvciB0b2tlbiBDVFJMIHJlZGVmaW5lZApz cmMvc2hhcmVkL3NoZWxsLmM6IG5vdGU6IGluIGluY2x1ZGVkIGZpbGUgKHRocm91Z2ggL3Vzci9p bmNsdWRlL3JlYWRsaW5lL2tleW1hcHMuaCwgL3Vzci9pbmNsdWRlL3JlYWRsaW5lL3JlYWRsaW5l LmgpOgovdXNyL2luY2x1ZGUvcmVhZGxpbmUvY2hhcmRlZnMuaDo1MTo5OiB0aGlzIHdhcyB0aGUg b3JpZ2luYWwgZGVmaW5pdGlvbgpzcmMvc2hhcmVkL2NyeXB0by5jOjI3MToyMTogd2FybmluZzog VmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQvY3J5cHRvLmM6MjcyOjIz OiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4Kc3JjL3NoYXJlZC9nYXR0 LWhlbHBlcnMuYzo3NjQ6MzE6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2Vk LgpzcmMvc2hhcmVkL2dhdHQtaGVscGVycy5jOjg0MjozMTogd2FybmluZzogVmFyaWFibGUgbGVu Z3RoIGFycmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQvZ2F0dC1oZWxwZXJzLmM6MTMzNTozMTogd2Fy bmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQvZ2F0dC1oZWxw ZXJzLmM6MTM2NjoyMzogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNy Yy9zaGFyZWQvYmFwLmM6MzA5OjI1OiB3YXJuaW5nOiBhcnJheSBvZiBmbGV4aWJsZSBzdHJ1Y3R1 cmVzCnNyYy9zaGFyZWQvYmFwLmM6IG5vdGU6IGluIGluY2x1ZGVkIGZpbGU6Ci4vc3JjL3NoYXJl ZC9hc2NzLmg6ODg6MjU6IHdhcm5pbmc6IGFycmF5IG9mIGZsZXhpYmxlIHN0cnVjdHVyZXMKc3Jj L3NoYXJlZC9zaGVsbC5jOiBub3RlOiBpbiBpbmNsdWRlZCBmaWxlICh0aHJvdWdoIC91c3IvaW5j bHVkZS94ODZfNjQtbGludXgtZ251Ly9zeXMvaW9jdGwuaCwgL3Vzci9pbmNsdWRlL3g4Nl82NC1s aW51eC1nbnUvL3N5cy9lcG9sbC5oLCBzcmMvc2hhcmVkL21haW5sb29wLmgpOgovdXNyL2luY2x1 ZGUveDg2XzY0LWxpbnV4LWdudS8vc3lzL3R0eWRlZmF1bHRzLmg6NTU6OTogd2FybmluZzogcHJl cHJvY2Vzc29yIHRva2VuIENUUkwgcmVkZWZpbmVkCnNyYy9zaGFyZWQvc2hlbGwuYzogbm90ZTog aW4gaW5jbHVkZWQgZmlsZSAodGhyb3VnaCAvdXNyL2luY2x1ZGUvcmVhZGxpbmUva2V5bWFwcy5o LCAvdXNyL2luY2x1ZGUvcmVhZGxpbmUvcmVhZGxpbmUuaCk6Ci91c3IvaW5jbHVkZS9yZWFkbGlu ZS9jaGFyZGVmcy5oOjUxOjk6IHRoaXMgd2FzIHRoZSBvcmlnaW5hbCBkZWZpbml0aW9uCnRvb2xz L21lc2gtY2ZndGVzdC5jOjE0NTM6MTc6IHdhcm5pbmc6IHVua25vd24gZXNjYXBlIHNlcXVlbmNl OiAnXCUnCnRvb2xzL2wyY2FwLXRlc3Rlci5jOjM2MjA6OTogd2FybmluZzogbWl4aW5nIGRlY2xh cmF0aW9ucyBhbmQgY29kZQp0b29scy9zY28tdGVzdGVyLmM6IG5vdGU6IGluIGluY2x1ZGVkIGZp bGU6Ci4vbGliL2JsdWV0b290aC9ibHVldG9vdGguaDoyMzI6MTU6IHdhcm5pbmc6IGFycmF5IG9m IGZsZXhpYmxlIHN0cnVjdHVyZXMKLi9saWIvYmx1ZXRvb3RoL2JsdWV0b290aC5oOjIzNzozMTog d2FybmluZzogYXJyYXkgb2YgZmxleGlibGUgc3RydWN0dXJlcwp0b29scy9sMmNhcC10ZXN0ZXIu YzogSW4gZnVuY3Rpb24g4oCYaW50ZXJ2YWxfbG9hZGVk4oCZOgp0b29scy9sMmNhcC10ZXN0ZXIu YzozNjE5Ojk6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSDigJhHSU9DaGFubmVs4oCZCiAzNjE5 IHwgICAgICAgICBHSU9DaGFubmVsICppbzsKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn4KdG9v bHMvbDJjYXAtdGVzdGVyLmM6MzY0NToxNDogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9m IGZ1bmN0aW9uIOKAmGdfaW9fY2hhbm5lbF91bml4X25ld+KAmTsgZGlkIHlvdSBtZWFuIOKAmGlv X2NoYW5uZWxfdW5yZWbigJk/IFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogMzY0 NSB8ICAgICAgICAgaW8gPSBnX2lvX2NoYW5uZWxfdW5peF9uZXcoc2spOwogICAgICB8ICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgaW9fY2hh bm5lbF91bnJlZgp0b29scy9sMmNhcC10ZXN0ZXIuYzozNjQ1OjEyOiBlcnJvcjogYXNzaWdubWVu dCB0byDigJhpbnQgKuKAmSBmcm9tIOKAmGludOKAmSBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdl ciB3aXRob3V0IGEgY2FzdCBbLVdpbnQtY29udmVyc2lvbl0KIDM2NDUgfCAgICAgICAgIGlvID0g Z19pb19jaGFubmVsX3VuaXhfbmV3KHNrKTsKICAgICAgfCAgICAgICAgICAgIF4KdG9vbHMvbDJj YXAtdGVzdGVyLmM6MzY0Njo5OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rp b24g4oCYZ19pb19jaGFubmVsX3NldF9jbG9zZV9vbl91bnJlZuKAmSBbLVdpbXBsaWNpdC1mdW5j dGlvbi1kZWNsYXJhdGlvbl0KIDM2NDYgfCAgICAgICAgIGdfaW9fY2hhbm5lbF9zZXRfY2xvc2Vf b25fdW5yZWYoaW8sIFRSVUUpOwogICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgp0b29scy9sMmNhcC10ZXN0ZXIuYzozNjQ2OjQ1OiBlcnJvcjog4oCYVFJVReKA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKIDM2NDYgfCAgICAgICAg IGdfaW9fY2hhbm5lbF9zZXRfY2xvc2Vfb25fdW5yZWYoaW8sIFRSVUUpOwogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fgp0b29scy9sMmNhcC10 ZXN0ZXIuYzozNjQ2OjQ1OiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBv cnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgptYWtlWzFdOiAq KiogW01ha2VmaWxlOjcxOTE6IHRvb2xzL2wyY2FwLXRlc3Rlci5vXSBFcnJvciAxCm1ha2VbMV06 ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCm1ha2U6ICoqKiBbTWFrZWZpbGU6 NDI4MjogYWxsXSBFcnJvciAyCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpUZXN0OiBi bHVlem1ha2VleHRlbGwgLSBGQUlMCkRlc2M6IEJ1aWxkIEJsdWV6IHdpdGggRXh0ZXJuYWwgRUxM Ck91dHB1dDoKCnRvb2xzL2wyY2FwLXRlc3Rlci5jOiBJbiBmdW5jdGlvbiDigJhpbnRlcnZhbF9s b2FkZWTigJk6CnRvb2xzL2wyY2FwLXRlc3Rlci5jOjM2MTk6OTogZXJyb3I6IHVua25vd24gdHlw ZSBuYW1lIOKAmEdJT0NoYW5uZWzigJkKIDM2MTkgfCAgICAgICAgIEdJT0NoYW5uZWwgKmlvOwog ICAgICB8ICAgICAgICAgXn5+fn5+fn5+fgp0b29scy9sMmNhcC10ZXN0ZXIuYzozNjQ1OjE0OiBl cnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYZ19pb19jaGFubmVsX3Vu aXhfbmV34oCZOyBkaWQgeW91IG1lYW4g4oCYaW9fY2hhbm5lbF91bnJlZuKAmT8gWy1XaW1wbGlj aXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAzNjQ1IHwgICAgICAgICBpbyA9IGdfaW9fY2hhbm5l bF91bml4X25ldyhzayk7CiAgICAgIHwgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+ fgogICAgICB8ICAgICAgICAgICAgICBpb19jaGFubmVsX3VucmVmCnRvb2xzL2wyY2FwLXRlc3Rl ci5jOjM2NDU6MTI6IGVycm9yOiBhc3NpZ25tZW50IHRvIOKAmGludCAq4oCZIGZyb20g4oCYaW50 4oCZIG1ha2VzIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFstV2ludC1jb252 ZXJzaW9uXQogMzY0NSB8ICAgICAgICAgaW8gPSBnX2lvX2NoYW5uZWxfdW5peF9uZXcoc2spOwog ICAgICB8ICAgICAgICAgICAgXgp0b29scy9sMmNhcC10ZXN0ZXIuYzozNjQ2Ojk6IGVycm9yOiBp bXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhnX2lvX2NoYW5uZWxfc2V0X2Nsb3Nl X29uX3VucmVm4oCZIFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogMzY0NiB8ICAg ICAgICAgZ19pb19jaGFubmVsX3NldF9jbG9zZV9vbl91bnJlZihpbywgVFJVRSk7CiAgICAgIHwg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2wyY2FwLXRlc3Rl ci5jOjM2NDY6NDU6IGVycm9yOiDigJhUUlVF4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKQogMzY0NiB8ICAgICAgICAgZ19pb19jaGFubmVsX3NldF9jbG9zZV9vbl91 bnJlZihpbywgVFJVRSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefn5+CnRvb2xzL2wyY2FwLXRlc3Rlci5jOjM2NDY6NDU6IG5vdGU6IGVhY2gg dW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5j dGlvbiBpdCBhcHBlYXJzIGluCm1ha2VbMV06ICoqKiBbTWFrZWZpbGU6NzE5MTogdG9vbHMvbDJj YXAtdGVzdGVyLm9dIEVycm9yIDEKbWFrZVsxXTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQg am9icy4uLi4KbWFrZTogKioqIFtNYWtlZmlsZTo0MjgyOiBhbGxdIEVycm9yIDIKIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6IFRlc3RGdW5jdGlvbmFsIC0gRVJST1IKRGVzYzog UnVuIHRlc3QtZnVuY3Rpb25hbApPdXRwdXQ6CkZhaWxlZCB0byBidWlsZCBCbHVlWjoKRmFpbGVk IHRvIGJ1aWxkIEJsdWVaCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpUZXN0OiBJbmNy ZW1lbnRhbEJ1aWxkIC0gRkFJTApEZXNjOiBJbmNyZW1lbnRhbCBidWlsZCB3aXRoIHRoZSBwYXRj aGVzIGluIHRoZSBzZXJpZXMKT3V0cHV0OgoKdG9vbHMvbDJjYXAtdGVzdGVyLmM6IEluIGZ1bmN0 aW9uIOKAmGludGVydmFsX2xvYWRlZOKAmToKdG9vbHMvbDJjYXAtdGVzdGVyLmM6MzYxOTo5OiBl cnJvcjogdW5rbm93biB0eXBlIG5hbWUg4oCYR0lPQ2hhbm5lbOKAmQogMzYxOSB8ICAgICAgICAg R0lPQ2hhbm5lbCAqaW87CiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+CnRvb2xzL2wyY2FwLXRl c3Rlci5jOjM2NDU6MTQ6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDi gJhnX2lvX2NoYW5uZWxfdW5peF9uZXfigJk7IGRpZCB5b3UgbWVhbiDigJhpb19jaGFubmVsX3Vu cmVm4oCZPyBbLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KIDM2NDUgfCAgICAgICAg IGlvID0gZ19pb19jaGFubmVsX3VuaXhfbmV3KHNrKTsKICAgICAgfCAgICAgICAgICAgICAgXn5+ fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgIGlvX2NoYW5uZWxfdW5yZWYK dG9vbHMvbDJjYXAtdGVzdGVyLmM6MzY0NToxMjogZXJyb3I6IGFzc2lnbm1lbnQgdG8g4oCYaW50 ICrigJkgZnJvbSDigJhpbnTigJkgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBh IGNhc3QgWy1XaW50LWNvbnZlcnNpb25dCiAzNjQ1IHwgICAgICAgICBpbyA9IGdfaW9fY2hhbm5l bF91bml4X25ldyhzayk7CiAgICAgIHwgICAgICAgICAgICBeCnRvb2xzL2wyY2FwLXRlc3Rlci5j OjM2NDY6OTogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGdfaW9f Y2hhbm5lbF9zZXRfY2xvc2Vfb25fdW5yZWbigJkgWy1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFy YXRpb25dCiAzNjQ2IHwgICAgICAgICBnX2lvX2NoYW5uZWxfc2V0X2Nsb3NlX29uX3VucmVmKGlv LCBUUlVFKTsKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K dG9vbHMvbDJjYXAtdGVzdGVyLmM6MzY0Njo0NTogZXJyb3I6IOKAmFRSVUXigJkgdW5kZWNsYXJl ZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAzNjQ2IHwgICAgICAgICBnX2lvX2NoYW5u ZWxfc2V0X2Nsb3NlX29uX3VucmVmKGlvLCBUUlVFKTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn4KdG9vbHMvbDJjYXAtdGVzdGVyLmM6MzY0 Njo0NTogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBv bmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KbWFrZVsxXTogKioqIFtNYWtlZmls ZTo3MTkxOiB0b29scy9sMmNhcC10ZXN0ZXIub10gRXJyb3IgMQptYWtlWzFdOiAqKiogV2FpdGlu ZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgp0b29scy9tZ210LXRlc3Rlci5jOiBJbiBmdW5jdGlv biDigJhtYWlu4oCZOgp0b29scy9tZ210LXRlc3Rlci5jOjE0MjU2OjU6IG5vdGU6IHZhcmlhYmxl IHRyYWNraW5nIHNpemUgbGltaXQgZXhjZWVkZWQgd2l0aCDigJgtZnZhci10cmFja2luZy1hc3Np Z25tZW50c+KAmSwgcmV0cnlpbmcgd2l0aG91dAoxNDI1NiB8IGludCBtYWluKGludCBhcmdjLCBj aGFyICphcmd2W10pCiAgICAgIHwgICAgIF5+fn4KbWFrZTogKioqIFtNYWtlZmlsZTo0MjgyOiBh bGxdIEVycm9yIDIKW1JFU0VORCxSRkNdIGwyY2FwLXRlc3RlcjogQ2hlY2sgY29tcGF0aWJsZSBp bnRlcnZhbCBwcmVmZXJlbmNlcwoKdG9vbHMvbDJjYXAtdGVzdGVyLmM6IEluIGZ1bmN0aW9uIOKA mGludGVydmFsX2xvYWRlZOKAmToKdG9vbHMvbDJjYXAtdGVzdGVyLmM6MzYxOTo5OiBlcnJvcjog dW5rbm93biB0eXBlIG5hbWUg4oCYR0lPQ2hhbm5lbOKAmQogMzYxOSB8ICAgICAgICAgR0lPQ2hh bm5lbCAqaW87CiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+CnRvb2xzL2wyY2FwLXRlc3Rlci5j OjM2NDU6MTQ6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhnX2lv X2NoYW5uZWxfdW5peF9uZXfigJk7IGRpZCB5b3UgbWVhbiDigJhpb19jaGFubmVsX3VucmVm4oCZ PyBbLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KIDM2NDUgfCAgICAgICAgIGlvID0g Z19pb19jaGFubmVsX3VuaXhfbmV3KHNrKTsKICAgICAgfCAgICAgICAgICAgICAgXn5+fn5+fn5+ fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgIGlvX2NoYW5uZWxfdW5yZWYKdG9vbHMv bDJjYXAtdGVzdGVyLmM6MzY0NToxMjogZXJyb3I6IGFzc2lnbm1lbnQgdG8g4oCYaW50ICrigJkg ZnJvbSDigJhpbnTigJkgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3Qg Wy1XaW50LWNvbnZlcnNpb25dCiAzNjQ1IHwgICAgICAgICBpbyA9IGdfaW9fY2hhbm5lbF91bml4 X25ldyhzayk7CiAgICAgIHwgICAgICAgICAgICBeCnRvb2xzL2wyY2FwLXRlc3Rlci5jOjM2NDY6 OTogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGdfaW9fY2hhbm5l bF9zZXRfY2xvc2Vfb25fdW5yZWbigJkgWy1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25d CiAzNjQ2IHwgICAgICAgICBnX2lvX2NoYW5uZWxfc2V0X2Nsb3NlX29uX3VucmVmKGlvLCBUUlVF KTsKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMv bDJjYXAtdGVzdGVyLmM6MzY0Njo0NTogZXJyb3I6IOKAmFRSVUXigJkgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAzNjQ2IHwgICAgICAgICBnX2lvX2NoYW5uZWxfc2V0 X2Nsb3NlX29uX3VucmVmKGlvLCBUUlVFKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn4KdG9vbHMvbDJjYXAtdGVzdGVyLmM6MzY0Njo0NTog bm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZv ciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KbWFrZVsxXTogKioqIFtNYWtlZmlsZTo3MTkx OiB0b29scy9sMmNhcC10ZXN0ZXIub10gRXJyb3IgMQptYWtlWzFdOiAqKiogV2FpdGluZyBmb3Ig dW5maW5pc2hlZCBqb2JzLi4uLgp0b29scy9tZ210LXRlc3Rlci5jOiBJbiBmdW5jdGlvbiDigJht YWlu4oCZOgp0b29scy9tZ210LXRlc3Rlci5jOjE0MjU2OjU6IG5vdGU6IHZhcmlhYmxlIHRyYWNr aW5nIHNpemUgbGltaXQgZXhjZWVkZWQgd2l0aCDigJgtZnZhci10cmFja2luZy1hc3NpZ25tZW50 c+KAmSwgcmV0cnlpbmcgd2l0aG91dAoxNDI1NiB8IGludCBtYWluKGludCBhcmdjLCBjaGFyICph cmd2W10pCiAgICAgIHwgICAgIF5+fn4KbWFrZTogKioqIFtNYWtlZmlsZTo0MjgyOiBhbGxdIEVy cm9yIDIKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6IFNjYW5CdWlsZCAtIEZB SUwKRGVzYzogUnVuIFNjYW4gQnVpbGQKT3V0cHV0OgoKc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5j OjQ1ODoyMTogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZCBbdW5peC5N YWxsb2NdCiAgNDU4IHwgICAgICAgICBnYXR0X2RiX3VucmVnaXN0ZXIob3AtPmNsaWVudC0+ZGIs IG9wLT5kYl9pZCk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+ fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6NzAzOjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkg YWZ0ZXIgaXQgaXMgZnJlZWQgW3VuaXguTWFsbG9jXQogIDcwMyB8ICAgICAgICAgZGlzY292ZXJ5 X29wX2NvbXBsZXRlKG9wLCBmYWxzZSwgYXR0X2Vjb2RlKTsKICAgICAgfCAgICAgICAgIF5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNs aWVudC5jOjExMDk6Mjogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZCBb dW5peC5NYWxsb2NdCiAxMTA5IHwgICAgICAgICBkaXNjb3Zlcnlfb3BfY29tcGxldGUob3AsIHN1 Y2Nlc3MsIGF0dF9lY29kZSk7CiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjEzMDk6Mjog d2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZCBbdW5peC5NYWxsb2NdCiAx MzA5IHwgICAgICAgICBkaXNjb3Zlcnlfb3BfY29tcGxldGUob3AsIHN1Y2Nlc3MsIGF0dF9lY29k ZSk7CiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjEzNzQ6Mjogd2FybmluZzogVXNlIG9m IG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZCBbdW5peC5NYWxsb2NdCiAxMzc0IHwgICAgICAgICBk aXNjb3Zlcnlfb3BfY29tcGxldGUob3AsIHN1Y2Nlc3MsIGF0dF9lY29kZSk7CiAgICAgIHwgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4Kc3JjL3No YXJlZC9nYXR0LWNsaWVudC5jOjE2NDk6Njogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBp dCBpcyBmcmVlZCBbdW5peC5NYWxsb2NdCiAxNjQ5IHwgICAgICAgICBpZiAocmVhZF9kYl9oYXNo KG9wKSkgewogICAgICB8ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9n YXR0LWNsaWVudC5jOjE2NTQ6Mjogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBm cmVlZCBbdW5peC5NYWxsb2NdCiAxNjU0IHwgICAgICAgICBkaXNjb3Zlcl9hbGwob3ApOwogICAg ICB8ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6MTcw OTo1Njogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZCBbdW5peC5NYWxs b2NdCiAxNzA5IHwgICAgICAgICBub3RpZnlfZGF0YS0+Y2hyYy0+Y2NjX3dyaXRlX2lkID0gbm90 aWZ5X2RhdGEtPmF0dF9pZCA9IGF0dF9pZDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+IF4Kc3JjL3NoYXJlZC9nYXR0 LWNsaWVudC5jOjIxNzY6Njogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVl ZCBbdW5peC5NYWxsb2NdCiAyMTc2IHwgICAgICAgICBpZiAocmVhZF9kYl9oYXNoKG9wKSkgewog ICAgICB8ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVu dC5jOjIxODQ6ODogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZCBbdW5p eC5NYWxsb2NdCiAyMTg0IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBkaXNjb3Zlcnlfb3BfcmVmKG9wKSwKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzozMzcwOjI6IHdhcm5pbmc6IFVzZSBv ZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQgW3VuaXguTWFsbG9jXQogMzM3MCB8ICAgICAgICAg Y29tcGxldGVfd3JpdGVfbG9uZ19vcChyZXEsIHN1Y2Nlc3MsIDAsIGZhbHNlKTsKICAgICAgfCAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4Kc3Jj L3NoYXJlZC9nYXR0LWNsaWVudC5jOjMzOTI6Mjogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRl ciBpdCBpcyBmcmVlZCBbdW5peC5NYWxsb2NdCiAzMzkyIHwgICAgICAgICByZXF1ZXN0X3VucmVm KHJlcSk7CiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KMTIgd2FybmluZ3MgZ2Vu ZXJhdGVkLgpzcmMvc2hhcmVkL3JhcC5jOjM5MzY6MzA6IHdhcm5pbmc6IEFzc2lnbmVkIHZhbHVl IGlzIHVuaW5pdGlhbGl6ZWQgW2NvcmUudW5pbml0aWFsaXplZC5Bc3NpZ25dCiAzOTM2IHwgICAg ICAgICAgICAgICAgICAgICAgICAgb3V0LT50b25lX3BjdFtrXS5pX3NhbXBsZSA9IHRvbmVfcGN0 X2lba107CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeIH5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9yYXAuYzo0OTgxOjEzOiB3YXJuaW5n OiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkIFt1bml4Lk1hbGxvY10KIDQ5ODEgfCAg ICAgICAgIGF0dGFjaGVkID0gcXVldWVfZmluZChzZXNzaW9ucywgTlVMTCwgcmFwKTsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoyIHdh cm5pbmdzIGdlbmVyYXRlZC4Kc3JjL3NoYXJlZC9iYXAuYzoxNTM0Ojg6IHdhcm5pbmc6IFVzZSBv ZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQgW3VuaXguTWFsbG9jXQogMTUzNCB8ICAgICAgICAg YmFwID0gYnRfYmFwX3JlZl9zYWZlKGJhcCk7CiAgICAgIHwgICAgICAgICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2JhcC5jOjIzNTA6MjA6IHdhcm5pbmc6IFVzZSBvZiBt ZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQgW3VuaXguTWFsbG9jXQogMjM1MCB8ICAgICAgICAgcmV0 dXJuIHF1ZXVlX2ZpbmQoc3RyZWFtLT5iYXAtPnN0cmVhbXMsIE5VTEwsIHN0cmVhbSk7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fgoyIHdhcm5p bmdzIGdlbmVyYXRlZC4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjQ1ODoyMTogd2FybmluZzog VXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZCBbdW5peC5NYWxsb2NdCiAgNDU4IHwgICAg ICAgICBnYXR0X2RiX3VucmVnaXN0ZXIob3AtPmNsaWVudC0+ZGIsIG9wLT5kYl9pZCk7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQt Y2xpZW50LmM6NzAzOjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQg W3VuaXguTWFsbG9jXQogIDcwMyB8ICAgICAgICAgZGlzY292ZXJ5X29wX2NvbXBsZXRlKG9wLCBm YWxzZSwgYXR0X2Vjb2RlKTsKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjExMDk6Mjogd2Fy bmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZCBbdW5peC5NYWxsb2NdCiAxMTA5 IHwgICAgICAgICBkaXNjb3Zlcnlfb3BfY29tcGxldGUob3AsIHN1Y2Nlc3MsIGF0dF9lY29kZSk7 CiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjEzMDk6Mjogd2FybmluZzogVXNlIG9mIG1l bW9yeSBhZnRlciBpdCBpcyBmcmVlZCBbdW5peC5NYWxsb2NdCiAxMzA5IHwgICAgICAgICBkaXNj b3Zlcnlfb3BfY29tcGxldGUob3AsIHN1Y2Nlc3MsIGF0dF9lY29kZSk7CiAgICAgIHwgICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJl ZC9nYXR0LWNsaWVudC5jOjEzNzQ6Mjogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBp cyBmcmVlZCBbdW5peC5NYWxsb2NdCiAxMzc0IHwgICAgICAgICBkaXNjb3Zlcnlfb3BfY29tcGxl dGUob3AsIHN1Y2Nlc3MsIGF0dF9lY29kZSk7CiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5j OjE2NDk6Njogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZCBbdW5peC5N YWxsb2NdCiAxNjQ5IHwgICAgICAgICBpZiAocmVhZF9kYl9oYXNoKG9wKSkgewogICAgICB8ICAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjE2NTQ6 Mjogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZCBbdW5peC5NYWxsb2Nd CiAxNjU0IHwgICAgICAgICBkaXNjb3Zlcl9hbGwob3ApOwogICAgICB8ICAgICAgICAgXn5+fn5+ fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6MTcwOTo1Njogd2FybmluZzogVXNl IG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZCBbdW5peC5NYWxsb2NdCiAxNzA5IHwgICAgICAg ICBub3RpZnlfZGF0YS0+Y2hyYy0+Y2NjX3dyaXRlX2lkID0gbm90aWZ5X2RhdGEtPmF0dF9pZCA9 IGF0dF9pZDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB+fn5+fn5+fn5+fn5+fn5+fn5+IF4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjIxNzY6Njog d2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZCBbdW5peC5NYWxsb2NdCiAy MTc2IHwgICAgICAgICBpZiAocmVhZF9kYl9oYXNoKG9wKSkgewogICAgICB8ICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjIxODQ6ODogd2Fybmlu ZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZCBbdW5peC5NYWxsb2NdCiAyMTg0IHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk aXNjb3Zlcnlfb3BfcmVmKG9wKSwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFy ZWQvZ2F0dC1jbGllbnQuYzozMzcwOjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQg aXMgZnJlZWQgW3VuaXguTWFsbG9jXQogMzM3MCB8ICAgICAgICAgY29tcGxldGVfd3JpdGVfbG9u Z19vcChyZXEsIHN1Y2Nlc3MsIDAsIGZhbHNlKTsKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVu dC5jOjMzOTI6Mjogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZCBbdW5p eC5NYWxsb2NdCiAzMzkyIHwgICAgICAgICByZXF1ZXN0X3VucmVmKHJlcSk7CiAgICAgIHwgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fn4KMTIgd2FybmluZ3MgZ2VuZXJhdGVkLgp0b29scy9oY2lh dHRhY2guYzo4MTc6Nzogd2FybmluZzogQWx0aG91Z2ggdGhlIHZhbHVlIHN0b3JlZCB0byAnbicg aXMgdXNlZCBpbiB0aGUgZW5jbG9zaW5nIGV4cHJlc3Npb24sIHRoZSB2YWx1ZSBpcyBuZXZlciBh Y3R1YWxseSByZWFkIGZyb20gJ24nIFtkZWFkY29kZS5EZWFkU3RvcmVzXQogIDgxNyB8ICAgICAg ICAgaWYgKChuID0gcmVhZF9oY2lfZXZlbnQoZmQsIHJlc3AsIDEwKSkgPCAwKSB7CiAgICAgIHwg ICAgICAgICAgICAgIF4gICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2hjaWF0 dGFjaC5jOjg2NTo3OiB3YXJuaW5nOiBBbHRob3VnaCB0aGUgdmFsdWUgc3RvcmVkIHRvICduJyBp cyB1c2VkIGluIHRoZSBlbmNsb3NpbmcgZXhwcmVzc2lvbiwgdGhlIHZhbHVlIGlzIG5ldmVyIGFj dHVhbGx5IHJlYWQgZnJvbSAnbicgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgODY1IHwgICAgICAg ICBpZiAoKG4gPSByZWFkX2hjaV9ldmVudChmZCwgcmVzcCwgNCkpIDwgMCkgewogICAgICB8ICAg ICAgICAgICAgICBeICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2hjaWF0dGFj aC5jOjg4Nzo4OiB3YXJuaW5nOiBBbHRob3VnaCB0aGUgdmFsdWUgc3RvcmVkIHRvICduJyBpcyB1 c2VkIGluIHRoZSBlbmNsb3NpbmcgZXhwcmVzc2lvbiwgdGhlIHZhbHVlIGlzIG5ldmVyIGFjdHVh bGx5IHJlYWQgZnJvbSAnbicgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgODg3IHwgICAgICAgICAg ICAgICAgIGlmICgobiA9IHJlYWRfaGNpX2V2ZW50KGZkLCByZXNwLCAxMCkpIDwgMCkgewogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgIF4gICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ CnRvb2xzL2hjaWF0dGFjaC5jOjkwOTo3OiB3YXJuaW5nOiBBbHRob3VnaCB0aGUgdmFsdWUgc3Rv cmVkIHRvICduJyBpcyB1c2VkIGluIHRoZSBlbmNsb3NpbmcgZXhwcmVzc2lvbiwgdGhlIHZhbHVl IGlzIG5ldmVyIGFjdHVhbGx5IHJlYWQgZnJvbSAnbicgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAg OTA5IHwgICAgICAgICBpZiAoKG4gPSByZWFkX2hjaV9ldmVudChmZCwgcmVzcCwgNCkpIDwgMCkg ewogICAgICB8ICAgICAgICAgICAgICBeICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRv b2xzL2hjaWF0dGFjaC5jOjkzMDo3OiB3YXJuaW5nOiBBbHRob3VnaCB0aGUgdmFsdWUgc3RvcmVk IHRvICduJyBpcyB1c2VkIGluIHRoZSBlbmNsb3NpbmcgZXhwcmVzc2lvbiwgdGhlIHZhbHVlIGlz IG5ldmVyIGFjdHVhbGx5IHJlYWQgZnJvbSAnbicgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgOTMw IHwgICAgICAgICBpZiAoKG4gPSByZWFkX2hjaV9ldmVudChmZCwgcmVzcCwgNCkpIDwgMCkgewog ICAgICB8ICAgICAgICAgICAgICBeICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xz L2hjaWF0dGFjaC5jOjk3NDo3OiB3YXJuaW5nOiBBbHRob3VnaCB0aGUgdmFsdWUgc3RvcmVkIHRv ICduJyBpcyB1c2VkIGluIHRoZSBlbmNsb3NpbmcgZXhwcmVzc2lvbiwgdGhlIHZhbHVlIGlzIG5l dmVyIGFjdHVhbGx5IHJlYWQgZnJvbSAnbicgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgOTc0IHwg ICAgICAgICBpZiAoKG4gPSByZWFkX2hjaV9ldmVudChmZCwgcmVzcCwgNikpIDwgMCkgewogICAg ICB8ICAgICAgICAgICAgICBeICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CjYgd2Fybmlu Z3MgZ2VuZXJhdGVkLgp0b29scy9oY2lhdHRhY2hfYXRoM2suYzo1MzA6OTogd2FybmluZzogRmls ZSBwb3NpdGlvbiBvZiB0aGUgc3RyZWFtIG1pZ2h0IGJlICdpbmRldGVybWluYXRlJyBhZnRlciBh IGZhaWxlZCBvcGVyYXRpb24uIENhbiBjYXVzZSB1bmRlZmluZWQgYmVoYXZpb3IgW3VuaXguU3Ry ZWFtXQogIDUzMCB8ICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZmdldHMoYnl0ZSwgMywg c3RyZWFtKSkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn5+fn4KdG9vbHMvaGNpYXR0YWNoX2F0aDNrLmM6NTMwOjk6IHdhcm5pbmc6IFJlYWQg ZnVuY3Rpb24gY2FsbGVkIHdoZW4gc3RyZWFtIGlzIGluIEVPRiBzdGF0ZS4gRnVuY3Rpb24gaGFz IG5vIGVmZmVjdCBbdW5peC5TdHJlYW1dCiAgNTMwIHwgICAgICAgICAgICAgICAgICAgICAgICAg aWYgKCFmZ2V0cyhieXRlLCAzLCBzdHJlYW0pKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoyIHdhcm5pbmdzIGdlbmVyYXRlZC4Kc3Jj L3NoYXJlZC9yYXAuYzozOTM2OjMwOiB3YXJuaW5nOiBBc3NpZ25lZCB2YWx1ZSBpcyB1bmluaXRp YWxpemVkIFtjb3JlLnVuaW5pdGlhbGl6ZWQuQXNzaWduXQogMzkzNiB8ICAgICAgICAgICAgICAg ICAgICAgICAgIG91dC0+dG9uZV9wY3Rba10uaV9zYW1wbGUgPSB0b25lX3BjdF9pW2tdOwogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiB+ fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvcmFwLmM6NDk4MToxMzogd2FybmluZzogVXNlIG9mIG1l bW9yeSBhZnRlciBpdCBpcyBmcmVlZCBbdW5peC5NYWxsb2NdCiA0OTgxIHwgICAgICAgICBhdHRh Y2hlZCA9IHF1ZXVlX2ZpbmQoc2Vzc2lvbnMsIE5VTEwsIHJhcCk7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KMiB3YXJuaW5ncyBnZW5l cmF0ZWQuCnNyYy9zaGFyZWQvYmFwLmM6MTUzNDo4OiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFm dGVyIGl0IGlzIGZyZWVkIFt1bml4Lk1hbGxvY10KIDE1MzQgfCAgICAgICAgIGJhcCA9IGJ0X2Jh cF9yZWZfc2FmZShiYXApOwogICAgICB8ICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ fn4Kc3JjL3NoYXJlZC9iYXAuYzoyMzUwOjIwOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVy IGl0IGlzIGZyZWVkIFt1bml4Lk1hbGxvY10KIDIzNTAgfCAgICAgICAgIHJldHVybiBxdWV1ZV9m aW5kKHN0cmVhbS0+YmFwLT5zdHJlYW1zLCBOVUxMLCBzdHJlYW0pOwogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn4KMiB3YXJuaW5ncyBnZW5lcmF0 ZWQuCnNyYy9vdWkuYzo1MDoyOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2h3ZGInIGlzIG5l dmVyIHJlYWQgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgIDUwIHwgICAgICAgICBod2RiID0gdWRl dl9od2RiX3VucmVmKGh3ZGIpOwogICAgICB8ICAgICAgICAgXiAgICAgIH5+fn5+fn5+fn5+fn5+ fn5+fn5+fgpzcmMvb3VpLmM6NTM6Mjogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICd1ZGV2JyBp cyBuZXZlciByZWFkIFtkZWFkY29kZS5EZWFkU3RvcmVzXQogICA1MyB8ICAgICAgICAgdWRldiA9 IHVkZXZfdW5yZWYodWRldik7CiAgICAgIHwgICAgICAgICBeICAgICAgfn5+fn5+fn5+fn5+fn5+ fgoyIHdhcm5pbmdzIGdlbmVyYXRlZC4KdG9vbHMvcmZjb21tLmM6MjM0OjM6IHdhcm5pbmc6IFZh bHVlIHN0b3JlZCB0byAnaScgaXMgbmV2ZXIgcmVhZCBbZGVhZGNvZGUuRGVhZFN0b3Jlc10KICAy MzQgfCAgICAgICAgICAgICAgICAgaSA9IGV4ZWN2cChjbWRhcmd2WzBdLCBjbWRhcmd2KTsKICAg ICAgfCAgICAgICAgICAgICAgICAgXiAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgp0b29s cy9yZmNvbW0uYzoyMzQ6Nzogd2FybmluZzogTnVsbCBwb2ludGVyIHBhc3NlZCB0byAxc3QgcGFy YW1ldGVyIGV4cGVjdGluZyAnbm9ubnVsbCcgW2NvcmUuTm9uTnVsbFBhcmFtQ2hlY2tlcl0KICAy MzQgfCAgICAgICAgICAgICAgICAgaSA9IGV4ZWN2cChjbWRhcmd2WzBdLCBjbWRhcmd2KTsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgp0b29s cy9yZmNvbW0uYzozNTQ6ODogd2FybmluZzogQWx0aG91Z2ggdGhlIHZhbHVlIHN0b3JlZCB0byAn ZmQnIGlzIHVzZWQgaW4gdGhlIGVuY2xvc2luZyBleHByZXNzaW9uLCB0aGUgdmFsdWUgaXMgbmV2 ZXIgYWN0dWFsbHkgcmVhZCBmcm9tICdmZCcgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgMzU0IHwg ICAgICAgICAgICAgICAgIGlmICgoZmQgPSBvcGVuKGRldm5hbWUsIE9fUkRPTkxZIHwgT19OT0NU VFkpKSA8IDApIHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICBeICAgIH5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvcmZjb21tLmM6NDczOjY6IHdhcm5pbmc6IFRo ZSAxc3QgYXJndW1lbnQgdG8gJ2dldHNvY2tuYW1lJyBpcyAtMSBidXQgc2hvdWxkIGJlID49IDAg W3VuaXguU3RkQ0xpYnJhcnlGdW5jdGlvbnNdCiAgNDczIHwgICAgICAgICBpZiAoZ2V0c29ja25h bWUobnNrLCAoc3RydWN0IHNvY2thZGRyICopJmxhZGRyLCAmYWxlbikgPCAwKSB7CiAgICAgIHwg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KdG9vbHMvcmZjb21tLmM6NDk3OjE0OiB3YXJuaW5nOiBBc3NpZ25lZCB2YWx1ZSBpcyB1 bmluaXRpYWxpemVkIFtjb3JlLnVuaW5pdGlhbGl6ZWQuQXNzaWduXQogIDQ5NyB8ICAgICAgICAg cmVxLmNoYW5uZWwgPSByYWRkci5yY19jaGFubmVsOwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgXiB+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL3JmY29tbS5jOjUxNTo4OiB3YXJuaW5nOiBBbHRo b3VnaCB0aGUgdmFsdWUgc3RvcmVkIHRvICdmZCcgaXMgdXNlZCBpbiB0aGUgZW5jbG9zaW5nIGV4 cHJlc3Npb24sIHRoZSB2YWx1ZSBpcyBuZXZlciBhY3R1YWxseSByZWFkIGZyb20gJ2ZkJyBbZGVh ZGNvZGUuRGVhZFN0b3Jlc10KICA1MTUgfCAgICAgICAgICAgICAgICAgaWYgKChmZCA9IG9wZW4o ZGV2bmFtZSwgT19SRE9OTFkgfCBPX05PQ1RUWSkpIDwgMCkgewogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgIF4gICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgo2IHdhcm5p bmdzIGdlbmVyYXRlZC4KdG9vbHMvY2lwdG9vbC5jOjM1MTo3OiB3YXJuaW5nOiA1dGggZnVuY3Rp b24gY2FsbCBhcmd1bWVudCBpcyBhbiB1bmluaXRpYWxpemVkIHZhbHVlIFtjb3JlLkNhbGxBbmRN ZXNzYWdlXQogIDM1MSB8ICAgICAgICAgc2sgPSBkb19jb25uZWN0KGN0bCwgZGV2X2lkLCAmc3Jj LCAmZHN0LCBwc20sICgxIDw8IENNVFBfTE9PUEJBQ0spKTsKICAgICAgfCAgICAgICAgICAgICAg Xn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KMSB3YXJuaW5nIGdlbmVyYXRlZC4KdG9vbHMvbDJjYXAtdGVzdGVyLmM6IEluIGZ1bmN0 aW9uIOKAmGludGVydmFsX2xvYWRlZOKAmToKdG9vbHMvbDJjYXAtdGVzdGVyLmM6MzYxOTo5OiBl cnJvcjogdW5rbm93biB0eXBlIG5hbWUg4oCYR0lPQ2hhbm5lbOKAmQogMzYxOSB8ICAgICAgICAg R0lPQ2hhbm5lbCAqaW87CiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+CnRvb2xzL2wyY2FwLXRl c3Rlci5jOjM2NDU6MTQ6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDi gJhnX2lvX2NoYW5uZWxfdW5peF9uZXfigJk7IGRpZCB5b3UgbWVhbiDigJhpb19jaGFubmVsX3Vu cmVm4oCZPyBbLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KIDM2NDUgfCAgICAgICAg IGlvID0gZ19pb19jaGFubmVsX3VuaXhfbmV3KHNrKTsKICAgICAgfCAgICAgICAgICAgICAgXn5+ fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgIGlvX2NoYW5uZWxfdW5yZWYK dG9vbHMvbDJjYXAtdGVzdGVyLmM6MzY0NToxMjogZXJyb3I6IGFzc2lnbm1lbnQgdG8g4oCYaW50 ICrigJkgZnJvbSDigJhpbnTigJkgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBh IGNhc3QgWy1XaW50LWNvbnZlcnNpb25dCiAzNjQ1IHwgICAgICAgICBpbyA9IGdfaW9fY2hhbm5l bF91bml4X25ldyhzayk7CiAgICAgIHwgICAgICAgICAgICBeCnRvb2xzL2wyY2FwLXRlc3Rlci5j OjM2NDY6OTogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGdfaW9f Y2hhbm5lbF9zZXRfY2xvc2Vfb25fdW5yZWbigJkgWy1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFy YXRpb25dCiAzNjQ2IHwgICAgICAgICBnX2lvX2NoYW5uZWxfc2V0X2Nsb3NlX29uX3VucmVmKGlv LCBUUlVFKTsKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K dG9vbHMvbDJjYXAtdGVzdGVyLmM6MzY0Njo0NTogZXJyb3I6IOKAmFRSVUXigJkgdW5kZWNsYXJl ZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAzNjQ2IHwgICAgICAgICBnX2lvX2NoYW5u ZWxfc2V0X2Nsb3NlX29uX3VucmVmKGlvLCBUUlVFKTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn4KdG9vbHMvbDJjYXAtdGVzdGVyLmM6MzY0 Njo0NTogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBv bmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KbWFrZVsxXTogKioqIFtNYWtlZmls ZTo3MTkxOiB0b29scy9sMmNhcC10ZXN0ZXIub10gRXJyb3IgMQptYWtlWzFdOiAqKiogV2FpdGlu ZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgp0b29scy9zZHB0b29sLmM6OTQxOjI2OiB3YXJuaW5n OiBSZXN1bHQgb2YgJ21hbGxvYycgaXMgY29udmVydGVkIHRvIGEgcG9pbnRlciBvZiB0eXBlICd1 aW50MzJfdCcsIHdoaWNoIGlzIGluY29tcGF0aWJsZSB3aXRoIHNpemVvZiBvcGVyYW5kIHR5cGUg J2ludCcgW3VuaXguTWFsbG9jU2l6ZW9mXQogIDk0MSB8ICAgICAgICAgICAgICAgICAgICAgICAg IHVpbnQzMl90ICp2YWx1ZV9pbnQgPSBtYWxsb2Moc2l6ZW9mKGludCkpOwogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn4gICAgICAgICAgICBefn5+fn4gfn5+fn5+fn5+ fn4KdG9vbHMvc2RwdG9vbC5jOjk4MDo0OiB3YXJuaW5nOiAxc3QgZnVuY3Rpb24gY2FsbCBhcmd1 bWVudCBpcyBhbiB1bmluaXRpYWxpemVkIHZhbHVlIFtjb3JlLkNhbGxBbmRNZXNzYWdlXQogIDk4 MCB8ICAgICAgICAgICAgICAgICAgICAgICAgIGZyZWUoYWxsb2NBcnJheVtpXSk7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9zZHB0b29s LmM6Mzc3NzoyOiB3YXJuaW5nOiBQb3RlbnRpYWwgbGVhayBvZiBtZW1vcnkgcG9pbnRlZCB0byBi eSAnc2kubmFtZScgW3VuaXguTWFsbG9jXQogMzc3NyB8ICAgICAgICAgcmV0dXJuIGFkZF9zZXJ2 aWNlKDAsICZzaSk7CiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgp0 b29scy9zZHB0b29sLmM6NDExMjo0OiB3YXJuaW5nOiBQb3RlbnRpYWwgbGVhayBvZiBtZW1vcnkg cG9pbnRlZCB0byBieSAnY29udGV4dC5zdmMnIFt1bml4Lk1hbGxvY10KIDQxMTIgfCAgICAgICAg ICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+CjQgd2FybmluZ3MgZ2VuZXJhdGVkLgpzcmMvc2RwLXhtbC5jOjEyOToxMDog d2FybmluZzogQXNzaWduZWQgdmFsdWUgaXMgdW5pbml0aWFsaXplZCBbY29yZS51bmluaXRpYWxp emVkLkFzc2lnbl0KICAxMjkgfCAgICAgICAgICAgICAgICAgYnVmWzFdID0gZGF0YVtpICsgMV07 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICBeIH5+fn5+fn5+fn5+CnNyYy9zZHAteG1s LmM6MzA5OjExOiB3YXJuaW5nOiBBc3NpZ25lZCB2YWx1ZSBpcyB1bmluaXRpYWxpemVkIFtjb3Jl LnVuaW5pdGlhbGl6ZWQuQXNzaWduXQogIDMwOSB8ICAgICAgICAgICAgICAgICAgICAgICAgIGJ1 ZlsxXSA9IGRhdGFbaSArIDFdOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeIH5+fn5+fn5+fn5+CnNyYy9zZHAteG1sLmM6MzQ3OjExOiB3YXJuaW5nOiBBc3NpZ25lZCB2 YWx1ZSBpcyB1bmluaXRpYWxpemVkIFtjb3JlLnVuaW5pdGlhbGl6ZWQuQXNzaWduXQogIDM0NyB8 ICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZlsxXSA9IGRhdGFbaSArIDFdOwogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeIH5+fn5+fn5+fn5+CjMgd2FybmluZ3MgZ2Vu ZXJhdGVkLgptYWtlOiAqKiogW01ha2VmaWxlOjQyODI6IGFsbF0gRXJyb3IgMgoKCmh0dHBzOi8v Z2l0aHViLmNvbS9ibHVlei9ibHVlei9wdWxsLzI3NDMKCi0tLQpSZWdhcmRzLApMaW51eCBCbHVl dG9vdGgKCg== --===============1146689553567547497==--