From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_FILL_THIS_FORM_LOAN,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 47772C5519F for ; Wed, 18 Nov 2020 20:31:05 +0000 (UTC) Received: from lists.lttng.org (lists.lttng.org [167.114.26.123]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7B88420B1F for ; Wed, 18 Nov 2020 20:31:03 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.lttng.org header.i=@lists.lttng.org header.b="CVtY3P3U" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7B88420B1F Authentication-Results: mail.kernel.org; dmarc=pass (p=none dis=none) header.from=lists.lttng.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=lttng-dev-bounces@lists.lttng.org Received: from lists-lttng01.efficios.com (localhost [IPv6:::1]) by lists.lttng.org (Postfix) with ESMTP id 4Cbvb93bNQz1KBF; Wed, 18 Nov 2020 15:31:01 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lists.lttng.org; s=default; t=1605731462; bh=eGG769RnX+WKf5myrMEysF3tLf0NBWVUqtiaoq8p9DU=; h=Date:To:Cc:Subject:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=CVtY3P3U9ixxiZ5cV6ZMmyUvL5gz61rI0kv4WjvYI/ycQJQkEaPdOan3o7qdcAnDR kTpCdAEh2bt9jYoMVMjpEs4X3cOT1Pjh8IBhwHvambcpzhgb8lWVpIb1K0xzfzrkAC NnOLz/SMMS7ay/DX5It7cDgm7vWqycZ+6hazqNFrAPq2mMm9/jDm8MgeBMuCxN6Ehi gyE+cJm432Rwr8elOViReU16NvTGJuY7JMSHJT1CUNHJc2ws9rep8rWzYcMWs0QXso YuihweRRH6Ma28RSj/vX1s+6rK8kN4TEnjW+F8Xz39btOCdDyuPZVp9oIl8dB8kyUc P93M+aSH8savA== Received: from mail-yb1-xb2f.google.com (mail-yb1-xb2f.google.com [IPv6:2607:f8b0:4864:20::b2f]) by lists.lttng.org (Postfix) with ESMTPS id 4Cbvb71BMPz1KN3 for ; Wed, 18 Nov 2020 15:30:59 -0500 (EST) Received: by mail-yb1-xb2f.google.com with SMTP id l14so2967363ybq.3 for ; Wed, 18 Nov 2020 12:30:59 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc :content-transfer-encoding; bh=HxJhbHeBzGzM4KLk27ApB7az99ywCe7TyDseOSQeKpo=; b=Gu/XLFnfj0fibLTc7qFa8/IsG7y5KU3Cp//PdTvFR5dzTuliQXfkbFnrfsah7GyXmt PPMdyahrx/mDtPhFmUlqce6Ib7GaHWbwLO+zMJTbtvuNIRaKrfj8MgdmiSmfXQtHCgWl fiQSYXstwElbUHxGBM+AQ6o7y6bgAMakFPytt62qllWpzTfM2ZpVSXHkgwwyo3nSzExD ERaUR6zPSIuK3CDkfD205oNrf/kCcKzOwSfW58LpV3WlUZ2AD62gxfYoRkoBRAQTsLYD Lml5gciuDuOxTaoT9DoqCdYjPA/Vp/RQm+NhZc3F5e531YwnDlXc9oN4PqhO3WSrzfjD Nhjw== X-Gm-Message-State: AOAM533JCZrrp8IFL/dgO/1Cro/GtxG++1Qb3nPenP5EzJl74Xjm2+Wy KZltQNVVFur/v/rH2yESA432m1h5ZF9CJruKs+HvSK2tB6c= X-Google-Smtp-Source: ABdhPJzKuCo4Qcb98mnYDi/AbxihfE8BhTgC1K3k4Ijh/G+lXhdQVmQKWs8lCvqvvwf2ej7KXHtuq3tyNi1zisrbOlc= X-Received: by 2002:a25:2354:: with SMTP id j81mr11220346ybj.91.1605731455979; Wed, 18 Nov 2020 12:30:55 -0800 (PST) MIME-Version: 1.0 Date: Wed, 18 Nov 2020 15:30:29 -0500 Message-ID: To: diamon-discuss Cc: lttng-dev , tracecompass-dev Subject: [lttng-dev] CTF2-PROP-2.0: Proposal for a major revision of the Common Trace Format, version 1.8 X-BeenThere: lttng-dev@lists.lttng.org X-Mailman-Version: 2.1.31 Precedence: list List-Id: LTTng development list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Philippe Proulx via lttng-dev Reply-To: Philippe Proulx Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: lttng-dev-bounces@lists.lttng.org Sender: "lttng-dev" SGVsbG8sIHBlb3BsZSBvZiB0aGUgdHJhY2luZyB3b3JsZCEKClRoaXMgaXMgYSBtYWpvciByZXZp c2lvbiBvZiB0aGUgcHJvcG9zYWwgZm9yIGEgbWFqb3IgcmV2aXNpb24gb2YKdGhlIENvbW1vbiBU cmFjZSBGb3JtYXQgMS44ICh0byBDVEYgMikuCgpUaGlzIGRvY3VtZW50LCBuYW1lZCBDVEYyLVBS T1AtMi4wLCBpcyBhdmFpbGFibGUgaGVyZToKCiAgICA8aHR0cHM6Ly9kaWFtb24ub3JnL2N0Zi9m aWxlcy9DVEYyLVBST1AtMi4wLmh0bWw+CgpJdCdzIGEgcmV2aXNpb24gb2YgQ1RGMi1QUk9QLTEu MCB3aGljaCBJIHNlbnQgdG8gdGhpcyBtYWlsaW5nIGxpc3QKb24gT2N0b2JlciAyNSAyMDE2OgoK ICAgIDxodHRwczovL2RpYW1vbi5vcmcvY3RmL2ZpbGVzL0NURjItUFJPUC0xLjAuaHRtbD4KCkkn bSBjb3B5aW5nIHRoZSBBc2NpaURvYyBzb3VyY2UgaGVyZSBzbyB0aGF0IHlvdSBjYW4gaW5saW5l LWNvbW1lbnQgaXQuCklmIHlvdSBkbyBzbywgX3BsZWFzZV8ga2VlcCBvbmx5IGEgZmV3IGxpbmVz IG9mIGNvbnRleHQgKG9ubHkgd2hhdCdzCm5lY2Vzc2FyeSkgYWJvdmUgYW5kIGJlbG93IGFueSBj b21tZW50LCBiZWNhdXNlIHRoZSBzb3VyY2UgaGFzIGFib3V0CjYwMDAgbGluZXMgb2YgdGV4dC4K ClRoYW5rIHlvdSBmb3IgeW91ciBjb21tZW50cyEKClBoaWxpcHBlIFByb3VseApFZmZpY2lPUyBJ bmMuCmh0dHA6Ly93d3cuZWZmaWNpb3MuY29tLwoKLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAt IC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0KCi8vIFBsZWFzZSBy ZW5kZXIgd2l0aCBBc2NpaWRvY3RvcgoKPSAqKkNURjItUFJPUC0yLjAqKjogUHJvcG9zYWwgZm9y IGEgbWFqb3IgcmV2aXNpb24gb2YgdGhlIENvbW1vbiBUcmFjZQpGb3JtYXQsIHZlcnNpb24gMS44 ClBoaWxpcHBlIFByb3VseCA8cHByb3VseEBlZmZpY2lvcy5jb20+CnYyLjAsIDE4IE5vdmVtYmVy IDIwMjAKOmF0dHJpYnV0ZS1taXNzaW5nOiB3YXJuCjppY29uczogZm9udAo6bm9mb290ZXI6Cjpz ZWN0bnVtczoKOnNlY3RudW1sZXZlbHM6IDUKOnRvYzogbGVmdAo6dG9jbGV2ZWxzOiAzCjpuYmg6 ICYjODIwOTsKOm1pbnVzOiDiiJIKOnRpbWVzOiDDlwo6bm90ZXE6IOKJoAo6aWVlZTc1NDogaHR0 cHM6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvc3RhbmRhcmQvNzU0LTIwMDguaHRtbFtJRUVFCjc1NC0y MDA4XSdzIGJpbmFyeSBpbnRlcmNoYW5nZSBmb3JtYXQKOmN0ZjEtbmw6IENURntuYnNwfTEKOmN0 ZjE6IGh0dHBzOi8vZGlhbW9uLm9yZy9jdGYvdjEuOC4zL1t7Y3RmMS1ubH1dCjpjdGYyOiBDVEZ7 bmJzcH0yCjpmbC1iYTogZml4ZWQtbGVuZ3RoIGJpdCBhcnJheQo6Yy1mbC1iYTogRml4ZWQtbGVu Z3RoIGJpdCBhcnJheQo6dmwtYmE6IHZhcmlhYmxlLWxlbmd0aCBiaXQgYXJyYXkKOmMtdmwtYmE6 IFZhcmlhYmxlLWxlbmd0aCBiaXQgYXJyYXkKOmZsLWJvb2w6IGZpeGVkLWxlbmd0aCBib29sZWFu CjpjLWZsLWJvb2w6IEZpeGVkLWxlbmd0aCBib29sZWFuCjpmbC1pbnQ6IGZpeGVkLWxlbmd0aCBp bnRlZ2VyCjpjLWZsLWludDogRml4ZWQtbGVuZ3RoIGludGVnZXIKOmZsLXVpbnQ6IGZpeGVkLWxl bmd0aCB1bnNpZ25lZCBpbnRlZ2VyCjpjLWZsLXVpbnQ6IEZpeGVkLWxlbmd0aCB1bnNpZ25lZCBp bnRlZ2VyCjpmbC1zaW50OiBmaXhlZC1sZW5ndGggc2lnbmVkIGludGVnZXIKOmMtZmwtc2ludDog Rml4ZWQtbGVuZ3RoIHNpZ25lZCBpbnRlZ2VyCjp2bC1pbnQ6IHZhcmlhYmxlLWxlbmd0aCBpbnRl Z2VyCjpjLXZsLWludDogVmFyaWFibGUtbGVuZ3RoIGludGVnZXIKOnZsLXVpbnQ6IHZhcmlhYmxl LWxlbmd0aCB1bnNpZ25lZCBpbnRlZ2VyCjpjLXZsLXVpbnQ6IFZhcmlhYmxlLWxlbmd0aCB1bnNp Z25lZCBpbnRlZ2VyCjp2bC1zaW50OiB2YXJpYWJsZS1sZW5ndGggc2lnbmVkIGludGVnZXIKOmMt dmwtc2ludDogVmFyaWFibGUtbGVuZ3RoIHNpZ25lZCBpbnRlZ2VyCjpmbC1lbnVtOiBmaXhlZC1s ZW5ndGggZW51bWVyYXRpb24KOmMtZmwtZW51bTogRml4ZWQtbGVuZ3RoIGVudW1lcmF0aW9uCjpm bC11ZW51bTogZml4ZWQtbGVuZ3RoIHVuc2lnbmVkIGVudW1lcmF0aW9uCjpjLWZsLXVlbnVtOiBG aXhlZC1sZW5ndGggdW5zaWduZWQgZW51bWVyYXRpb24KOmZsLXNlbnVtOiBmaXhlZC1sZW5ndGgg c2lnbmVkIGVudW1lcmF0aW9uCjpjLWZsLXNlbnVtOiBGaXhlZC1sZW5ndGggc2lnbmVkIGVudW1l cmF0aW9uCjp2bC1lbnVtOiB2YXJpYWJsZS1sZW5ndGggZW51bWVyYXRpb24KOmMtdmwtZW51bTog VmFyaWFibGUtbGVuZ3RoIGVudW1lcmF0aW9uCjp2bC11ZW51bTogdmFyaWFibGUtbGVuZ3RoIHVu c2lnbmVkIGVudW1lcmF0aW9uCjpjLXZsLXVlbnVtOiBWYXJpYWJsZS1sZW5ndGggdW5zaWduZWQg ZW51bWVyYXRpb24KOnZsLXNlbnVtOiB2YXJpYWJsZS1sZW5ndGggc2lnbmVkIGVudW1lcmF0aW9u CjpjLXZsLXNlbnVtOiBWYXJpYWJsZS1sZW5ndGggc2lnbmVkIGVudW1lcmF0aW9uCjpmbC1mcDog Zml4ZWQtbGVuZ3RoIGZsb2F0aW5nIHBvaW50IG51bWJlcgo6Yy1mbC1mcDogRml4ZWQtbGVuZ3Ro IGZsb2F0aW5nIHBvaW50IG51bWJlcgo6c3RyOiBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nCjpjLXN0 cjogTnVsbC10ZXJtaW5hdGVkIHN0cmluZwo6c2wtYXJyYXk6IHN0YXRpYy1sZW5ndGggYXJyYXkK OmMtc2wtYXJyYXk6IFN0YXRpYy1sZW5ndGggYXJyYXkKOnNsLXN0cjogc3RhdGljLWxlbmd0aCBz dHJpbmcKOmMtc2wtc3RyOiBTdGF0aWMtbGVuZ3RoIHN0cmluZwo6ZGwtYXJyYXk6IGR5bmFtaWMt bGVuZ3RoIGFycmF5CjpjLWRsLWFycmF5OiBEeW5hbWljLWxlbmd0aCBhcnJheQo6ZGwtc3RyOiBk eW5hbWljLWxlbmd0aCBzdHJpbmcKOmMtZGwtc3RyOiBEeW5hbWljLWxlbmd0aCBzdHJpbmcKOnNs LWJsb2I6IHN0YXRpYy1sZW5ndGggQkxPQgo6Yy1zbC1ibG9iOiBTdGF0aWMtbGVuZ3RoIEJMT0IK OmRsLWJsb2I6IGR5bmFtaWMtbGVuZ3RoIEJMT0IKOmMtZGwtYmxvYjogRHluYW1pYy1sZW5ndGgg QkxPQgo6ZmwtYmEtZmM6IDw8ZmwtYmEtZmMsZml4ZWQtbGVuZ3RoIGJpdCBhcnJheSBmaWVsZCBj bGFzcz4+CjpjLWZsLWJhLWZjOiA8PGZsLWJhLWZjLEZpeGVkLWxlbmd0aCBiaXQgYXJyYXkgZmll bGQgY2xhc3M+Pgo6dmwtYmEtZmM6IDw8dmwtYmEtZmMsdmFyaWFibGUtbGVuZ3RoIGJpdCBhcnJh eSBmaWVsZCBjbGFzcz4+CjpjLXZsLWJhLWZjOiA8PHZsLWJhLWZjLFZhcmlhYmxlLWxlbmd0aCBi aXQgYXJyYXkgZmllbGQgY2xhc3M+Pgo6ZmwtYm9vbC1mYzogPDxmbC1ib29sLWZjLGZpeGVkLWxl bmd0aCBib29sZWFuIGZpZWxkIGNsYXNzPj4KOmMtZmwtYm9vbC1mYzogPDxmbC1ib29sLWZjLEZp eGVkLWxlbmd0aCBib29sZWFuIGZpZWxkIGNsYXNzPj4KOmZsLWludC1mYzogPDxmbC1pbnQtZmMs Zml4ZWQtbGVuZ3RoIGludGVnZXIgZmllbGQgY2xhc3M+Pgo6Yy1mbC1pbnQtZmM6IDw8ZmwtaW50 LWZjLEZpeGVkLWxlbmd0aCBpbnRlZ2VyIGZpZWxkIGNsYXNzPj4KOmZsLXVpbnQtZmM6IDw8Zmwt aW50LWZjLGZpeGVkLWxlbmd0aCB1bnNpZ25lZCBpbnRlZ2VyIGZpZWxkIGNsYXNzPj4KOmMtZmwt dWludC1mYzogPDxmbC1pbnQtZmMsRml4ZWQtbGVuZ3RoIHVuc2lnbmVkIGludGVnZXIgZmllbGQg Y2xhc3M+Pgo6Zmwtc2ludC1mYzogPDxmbC1pbnQtZmMsZml4ZWQtbGVuZ3RoIHNpZ25lZCBpbnRl Z2VyIGZpZWxkIGNsYXNzPj4KOmMtZmwtc2ludC1mYzogPDxmbC1pbnQtZmMsRml4ZWQtbGVuZ3Ro IHNpZ25lZCBpbnRlZ2VyIGZpZWxkIGNsYXNzPj4KOnZsLWludC1mYzogPDx2bC1pbnQtZmMsdmFy aWFibGUtbGVuZ3RoIGludGVnZXIgZmllbGQgY2xhc3M+Pgo6Yy12bC1pbnQtZmM6IDw8dmwtaW50 LWZjLFZhcmlhYmxlLWxlbmd0aCBpbnRlZ2VyIGZpZWxkIGNsYXNzPj4KOnZsLXVpbnQtZmM6IDw8 dmwtaW50LWZjLHZhcmlhYmxlLWxlbmd0aCB1bnNpZ25lZCBpbnRlZ2VyIGZpZWxkIGNsYXNzPj4K OmMtdmwtdWludC1mYzogPDx2bC1pbnQtZmMsVmFyaWFibGUtbGVuZ3RoIHVuc2lnbmVkIGludGVn ZXIgZmllbGQgY2xhc3M+Pgo6dmwtc2ludC1mYzogPDx2bC1pbnQtZmMsdmFyaWFibGUtbGVuZ3Ro IHNpZ25lZCBpbnRlZ2VyIGZpZWxkIGNsYXNzPj4KOmMtdmwtc2ludC1mYzogPDx2bC1pbnQtZmMs VmFyaWFibGUtbGVuZ3RoIHNpZ25lZCBpbnRlZ2VyIGZpZWxkIGNsYXNzPj4KOmZsLWVudW0tZmM6 IDw8ZmwtZW51bS1mYyxmaXhlZC1sZW5ndGggZW51bWVyYXRpb24gZmllbGQgY2xhc3M+Pgo6Yy1m bC1lbnVtLWZjOiA8PGZsLWVudW0tZmMsRml4ZWQtbGVuZ3RoIGVudW1lcmF0aW9uIGZpZWxkIGNs YXNzPj4KOmZsLXVlbnVtLWZjOiA8PGZsLWVudW0tZmMsZml4ZWQtbGVuZ3RoIHVuc2lnbmVkIGVu dW1lcmF0aW9uIGZpZWxkIGNsYXNzPj4KOmMtZmwtdWVudW0tZmM6IDw8ZmwtZW51bS1mYyxGaXhl ZC1sZW5ndGggdW5zaWduZWQgZW51bWVyYXRpb24gZmllbGQgY2xhc3M+Pgo6Zmwtc2VudW0tZmM6 IDw8ZmwtZW51bS1mYyxmaXhlZC1sZW5ndGggc2lnbmVkIGVudW1lcmF0aW9uIGZpZWxkIGNsYXNz Pj4KOmMtZmwtc2VudW0tZmM6IDw8ZmwtZW51bS1mYyxGaXhlZC1sZW5ndGggc2lnbmVkIGVudW1l cmF0aW9uIGZpZWxkIGNsYXNzPj4KOnZsLWVudW0tZmM6IDw8dmwtZW51bS1mYyx2YXJpYWJsZS1s ZW5ndGggZW51bWVyYXRpb24gZmllbGQgY2xhc3M+Pgo6Yy12bC1lbnVtLWZjOiA8PHZsLWVudW0t ZmMsVmFyaWFibGUtbGVuZ3RoIGVudW1lcmF0aW9uIGZpZWxkIGNsYXNzPj4KOnZsLXVlbnVtLWZj OiA8PHZsLWVudW0tZmMsdmFyaWFibGUtbGVuZ3RoIHVuc2lnbmVkIGVudW1lcmF0aW9uIGZpZWxk IGNsYXNzPj4KOmMtdmwtdWVudW0tZmM6IDw8dmwtZW51bS1mYyxWYXJpYWJsZS1sZW5ndGggdW5z aWduZWQgZW51bWVyYXRpb24gZmllbGQgY2xhc3M+Pgo6dmwtc2VudW0tZmM6IDw8dmwtZW51bS1m Yyx2YXJpYWJsZS1sZW5ndGggc2lnbmVkIGVudW1lcmF0aW9uIGZpZWxkIGNsYXNzPj4KOmMtdmwt c2VudW0tZmM6IDw8dmwtZW51bS1mYyxWYXJpYWJsZS1sZW5ndGggc2lnbmVkIGVudW1lcmF0aW9u IGZpZWxkIGNsYXNzPj4KOmZsLWZwLWZjOiA8PGZsLWZwLWZjLGZpeGVkLWxlbmd0aCBmbG9hdGlu ZyBwb2ludCBudW1iZXIgZmllbGQgY2xhc3M+Pgo6Yy1mbC1mcC1mYzogPDxmbC1mcC1mYyxGaXhl ZC1sZW5ndGggZmxvYXRpbmcgcG9pbnQgbnVtYmVyIGZpZWxkIGNsYXNzPj4KOnN0ci1mYzogPDxz dHItZmMsbnVsbC10ZXJtaW5hdGVkIHN0cmluZyBmaWVsZCBjbGFzcz4+CjpjLXN0ci1mYzogPDxz dHItZmMsTnVsbC10ZXJtaW5hdGVkIHN0cmluZyBmaWVsZCBjbGFzcz4+CjpzbC1hcnJheS1mYzog PDxzbC1hcnJheS1mYyxzdGF0aWMtbGVuZ3RoIGFycmF5IGZpZWxkIGNsYXNzPj4KOmMtc2wtYXJy YXktZmM6IDw8c2wtYXJyYXktZmMsU3RhdGljLWxlbmd0aCBhcnJheSBmaWVsZCBjbGFzcz4+Cjpz bC1zdHItZmM6IDw8c2wtc3RyLWZjLHN0YXRpYy1sZW5ndGggc3RyaW5nIGZpZWxkIGNsYXNzPj4K OmMtc2wtc3RyLWZjOiA8PHNsLXN0ci1mYyxTdGF0aWMtbGVuZ3RoIHN0cmluZyBmaWVsZCBjbGFz cz4+CjpkbC1hcnJheS1mYzogPDxkbC1hcnJheS1mYyxkeW5hbWljLWxlbmd0aCBhcnJheSBmaWVs ZCBjbGFzcz4+CjpjLWRsLWFycmF5LWZjOiA8PGRsLWFycmF5LWZjLER5bmFtaWMtbGVuZ3RoIGFy cmF5IGZpZWxkIGNsYXNzPj4KOmRsLXN0ci1mYzogPDxkbC1zdHItZmMsZHluYW1pYy1sZW5ndGgg c3RyaW5nIGZpZWxkIGNsYXNzPj4KOmMtZGwtc3RyLWZjOiA8PGRsLXN0ci1mYyxEeW5hbWljLWxl bmd0aCBzdHJpbmcgZmllbGQgY2xhc3M+Pgo6c2wtYmxvYi1mYzogPDxzbC1ibG9iLWZjLHN0YXRp Yy1sZW5ndGggQkxPQiBmaWVsZCBjbGFzcz4+CjpjLXNsLWJsb2ItZmM6IDw8c2wtYmxvYi1mYyxT dGF0aWMtbGVuZ3RoIEJMT0IgZmllbGQgY2xhc3M+Pgo6ZGwtYmxvYi1mYzogPDxkbC1ibG9iLWZj LGR5bmFtaWMtbGVuZ3RoIEJMT0IgZmllbGQgY2xhc3M+Pgo6Yy1kbC1ibG9iLWZjOiA8PGRsLWJs b2ItZmMsRHluYW1pYy1sZW5ndGggQkxPQiBmaWVsZCBjbGFzcz4+CjpzdHJ1Y3QtZmM6IDw8c3Ry dWN0LWZjLHN0cnVjdHVyZSBmaWVsZCBjbGFzcz4+CjpjLXN0cnVjdC1mYzogPDxzdHJ1Y3QtZmMs U3RydWN0dXJlIGZpZWxkIGNsYXNzPj4KOm9wdC1mYzogPDxvcHQtZmMsb3B0aW9uYWwgZmllbGQg Y2xhc3M+Pgo6Yy1vcHQtZmM6IDw8b3B0LWZjLE9wdGlvbmFsIGZpZWxkIGNsYXNzPj4KOnZhci1m YzogPDx2YXItZmMsdmFyaWFudCBmaWVsZCBjbGFzcz4+CjpjLXZhci1mYzogPDx2YXItZmMsVmFy aWFudCBmaWVsZCBjbGFzcz4+CjpkaWFtb246IGh0dHBzOi8vZGlhbW9uLm9yZy9bRGlhTW9uIFdv cmtncm91cF0KOmMtYm86IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0VuZGlhbm5lc3Nb Qnl0ZSBvcmRlcl0KOm11c3Q6IHBhc3M6cVtfX01VU1RfX10KOm11c3Qtbm90OiBwYXNzOnFbX19N VVNUJiMxNjA7Tk9UX19dCjpyZXF1aXJlZDogcGFzczpxW19fUkVRVUlSRURfX10KOnNob3VsZDog cGFzczpxW19fU0hPVUxEX19dCjpzaG91bGQtbm90OiBwYXNzOnFbX19TSE9VTEQmIzE2MDtOT1Rf X10KOm1heTogcGFzczpxW19fTUFZX19dCjpvcHRpb25hbDogcGFzczpxW19fT1BUSU9OQUxfX10K OnZhci1mOiBwYXNzOnFbX18qKkYqKl9fXQo6dmFyLW86IHBhc3M6cVtfXyoqTyoqX19dCjp2YXIt djogcGFzczpxW19fKipWKipfX10KOnZhci1wOiBwYXNzOnFbX18qKlAqKl9fXQo6dmFyLXM6IHBh c3M6cVtfXyoqUyoqX19dCjp2YXItcG86IHBhc3M6cVtfXyoqUE8qKl9fXQo6dmFyLW8tbWludXMt cG86IHBhc3M6cVtfXyoqTyoqX18mIzE2MDviiJImIzE2MDtfXyoqUE8qKl9fXQo6ZG9jLWlkOiBw YXNzOnFbX18qKkNURjItUFJPUC0yLjAqKl9fXQoKVGhpcyBkb2N1bWVudCBpcyBhbiBpbmZvcm1h bCBwcm9wb3NhbCBmb3IgdGhlIG5leHQgbWFqb3IgcmV2aXNpb24gb2YgdGhlCioqQ29tbW9uIFRy YWNlIEZvcm1hdCoqIChDVEYpIHZlcnNpb257bmJzcH0yIChoZXJlYWZ0ZXIgbmFtZWQgX3tjdGYy fV8pLgoKVGhpcyBpcyBfbm90XyBhIGZvcm1hbCByZWZlcmVuY2UuIFNvbWUgcGFydHMgb2YgdGhp cyBkb2N1bWVudCwgaG93ZXZlciwKbWF5IGJlIGZvcm1hbCBlbm91Z2ggdG8gYmUgZWxsaWdpYmxl IGZvciBhIHNwZWNpZmljYXRpb24gZG9jdW1lbnQuCgouUkZDIDIxMTkKSU1QT1JUQU5UOiBUaGUg a2V5IHdvcmRzIHttdXN0fSwge211c3Qtbm90fSwge3JlcXVpcmVkfSwKe3Nob3VsZH0sIHtzaG91 bGQtbm90fSwge21heX0sIGFuZCB7b3B0aW9uYWx9IGluIHRoaXMgZG9jdW1lbnQsIHdoZW4KZW1w aGFzaXplZCwgYXJlIHRvIGJlIGludGVycHJldGVkIGFzIGRlc2NyaWJlZCBpbgpodHRwczovL3d3 dy5pZXRmLm9yZy9yZmMvcmZjMjExOS50eHRbUkZDe25ic3B9MjExOV0uCgo9PSBSZXZpc2lvbiBo aXN0b3J5CgpTaWduaWZpY2FudCBjaGFuZ2VzIHNpbmNlCmh0dHBzOi8vZGlhbW9uLm9yZy9jdGYv ZmlsZXMvQ1RGMi1QUk9QLTEuMC5odG1sW18qKkNURjItUFJPUC0xLjAqKl9dOgoKKiBXcml0dGVu IGluIGh0dHBzOi8vYXNjaWlkb2N0b3Iub3JnL1tBc2NpaWRvY3Rvcl0ncyBBc2NpaURvYyBzeW50 YXguCisKVGhlIG9yaWdpbmFsIEFzY2lpRG9jIHByb2plY3QgaXMgcHJldHR5IG11Y2ggZGVwcmVj YXRlZC4KKwpBc2NpaWRvY3RvciBpcyBhbHNvIHdoYXQgR2l0SHViLCBHaXRMYWIsIGFuZCBtb3Jl IHVzZSB0byByZW5kZXIKQXNjaWlEb2MgZG9jdW1lbnRzLgoKKiBUZXJtaW5vbG9neSB1cGRhdGUu CisKU2VlIHRoZSA8PHRlcm0tdXBkYXRlLHtjdGYyfSB0ZXJtaW5vbG9neSB1cGRhdGU+Pi4KCiog TW9zdGx5IHdyaXR0ZW4gZnJvbSB0aGUgY29uc3VtZXIncyBwZXJzcGVjdGl2ZSwgZXNwZWNpYWxs eSB0aGUKICA8PGRzLWRlYyxkYXRhIHN0cmVhbSBkZWNvZGluZyBwcm9jZWR1cmU+Pi4KCiogTWV0 YWRhdGEgdHlwZXMgYXJlIHJlbW92ZWQ6IHRoZSBkb2N1bWVudCB1c2VzIEpTT04gZGlyZWN0bHkg bm93LgorClRoaXMgbWFrZXMgdGhlIHNwZWNpZmljYXRpb24gZWFzaWVyIHRvIHJlYWQsIHJlbW92 aW5nIG9uZSBub25lc3NlbnRpYWwKYWJzdHJhY3Rpb24gbGF5ZXIuCgoqIENvbnN0YW50IGludGVn ZXIgSlNPTiBvYmplY3QgaXMgcmVtb3ZlZDogd2UgY2FuIHVzZSBwbGFpbiBKU09OCiAgaW50ZWdl cnMuCgoqIFNwbGl0dGluZyB0aGUgc3BlY2lmaWNhdGlvbiBpbnRvIHRocmVlIGxheWVycyBpcyBy ZW1vdmVkOiB0aGUgZG9jdW1lbnQKICBzcGVjaWZpZXMgdGhlIHdob2xlIGZvcm1hdCBtb25vbGl0 aGljYWxseS4KKwpUaGlzIG1ha2VzIHRoZSBzcGVjaWZpY2F0aW9uIGVhc2llciB0byByZWFkLgoK KiAqKkZvcm1hdCBzaW1wbGlmaWNhdGlvbnMqKjoKCioqIDw8dGMtZnJhZyxUcmFjZSBjbGFzcz4+ J3MgZGVmYXVsdC9uYXRpdmUgYnl0ZSBvcmRlciBwcm9wZXJ0eSBpcwogICByZW1vdmVkOiBhIHtm bC1iYS1mY30ge211c3R9IGhhdmUgYW4gZXhwbGljaXQgYnl0ZSBvcmRlciBwcm9wZXJ0eS4KCioq IE5vdCBhbGwgPDxmYyxmaWVsZCBjbGFzc2VzPj4gaGF2ZSBhbiBhbGlnbm1lbnQgcHJvcGVydHk6 IG9ubHkgYQogICB7ZmwtYmEtZmN9LCBhbmQgYWxsIHRoZSBmaWVsZCBjbGFzc2VzIHdoaWNoIGlu aGVyaXQgaXQsIG5lZWQgb25lLgorClRvIHJlbWFpbiBiYWNrd2FyZCBjb21wYXRpYmxlIHdpdGgg e2N0ZjF9LCBhIHtzdHJ1Y3QtZmN9IHN0aWxsIG5lZWRzIGEKX21pbmltdW1fIGFsaWdubWVudCBw cm9wZXJ0eS4KCioqIFJlbGF0aXZlIGZpZWxkIGxvY2F0aW9uIChmaWVsZCBwYXRoIGluCiAgIGh0 dHBzOi8vZGlhbW9uLm9yZy9jdGYvZmlsZXMvQ1RGMi1QUk9QLTEuMC5odG1sW18qKkNURjItUFJP UC0xLjAqKl9dKQogICBpcyByZW1vdmVkLgorCllvdSBjYW4gYWx3YXlzIHVzZSBhYnNvbHV0ZSA8 PGZpZWxkLWxvYyxmaWVsZCBsb2NhdGlvbnM+Pi4KCioqIEZpZWxkIGNsYXNzIGFsaWFzZXMgYXJl IHJlbW92ZWQuCgoqKiAiYFRhZ3NgIiByZXBsYWNlZCB3aXRoIDw8cm9sZXMscm9sZXM+PiBhdHRh Y2hlZCB0byA8PGZjLGZpZWxkCiAgIGNsYXNzZXM+Pi4KKwpJdCBtYWtlcyBzZW5zZSBmb3IgYSBm aWVsZCBjbGFzcyB0byBoYXZlIGEgcm9sZSBub3cgdGhhdCBlYWNoIGZpZWxkCmNsYXNzIGlzIHVu aXF1ZSAobm8gZmllbGQgY2xhc3MgYWxpYXNlcykuCgoqKiBBIDw8ZHMsZGF0YSBzdHJlYW0+PiB7 bWF5fSBoYXZlIGEgc2luZ2xlIDw8ZGVmLWNsayxkZWZhdWx0IGNsb2NrPj4uCiAgIFRoZXJlZm9y ZSwgYSA8PGRzYy1mcmFnLGRhdGEgc3RyZWFtIGNsYXNzPj4ge21heX0gaGF2ZSBhIHNpbmdsZSwK ICAgZGVmYXVsdCA8PGNjLWZyYWcsY2xvY2sgY2xhc3M+Pi4KKwpUaGlzIGlzIGVub3VnaCB0byBz YXRpc2Z5IHRoZSBjdXJyZW50IHVzZSBjYXNlcy4KCioqIE51bGwsIHZhcmlhYmxlLWxlbmd0aCBi b29sZWFuLCBhbmQgdW5pb24gZmllbGQgY2xhc3NlcyBhcmUgcmVtb3ZlZDoKICAgd2UgZG9uJ3Qg aGF2ZSB1c2UgY2FzZXMgZm9yIHRoZW0uCgoqIHtjLW9wdC1mY30gYWRkZWQuCisKVGhpcyBpcyB3 aHkKaHR0cHM6Ly9kaWFtb24ub3JnL2N0Zi9maWxlcy9DVEYyLVBST1AtMS4wLmh0bWxbXyoqQ1RG Mi1QUk9QLTEuMCoqX10KaW50cm9kdWNlZCB0aGUgbnVsbCBmaWVsZCBjbGFzcyAocmVtb3ZlZCBp biB7ZG9jLWlkfSk6IGluIHRoZQplbmQsIGEge3Zhci1mY30gd2l0aCBhIG51bGwgZmllbGQgY2xh c3Mgb3B0aW9uIGFuZCBhbm90aGVyIG9wdGlvbiByZWFsbHkKaXMgYW4gb3B0aW9uYWwgZmllbGQg Y2xhc3MuCgoqIDw8YmxvYi1mYyxCTE9CIGZpZWxkIGNsYXNzZXM+PiBhZGRlZC4KKwpBIEJMT0Ig ZmllbGQgY29udGFpbnMgYQpodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9CaW5hcnlfbGFy Z2Vfb2JqZWN0W0JMT0JdLgorCkhhdmluZyBkZWRpY2F0ZWQgc3RhdGljLSBhbmQgZHluYW1pYy1s ZW5ndGggQkxPQiBmaWVsZCBjbGFzc2VzIGluc3RlYWQKb2YgdXNpbmcgc3RhdGljLSBhbmQgZHlu YW1pYy1sZW5ndGggPDxhcnJheS1mYyxhcnJheSBmaWVsZCBjbGFzc2VzPj4KbWFrZXMgaXQgcG9z c2libGUgZm9yIGNvbnN1bWVyIEFQSXMgdG8gcHJvdmlkZSB0aGUgdmFsdWVzIG9mIHN1Y2ggZmll bGRzCmFzIGJ5dGUgYnVmZmVycy4KCiogQW4gPDxpbnQtZmMsaW50ZWdlciBmaWVsZCBjbGFzcz4+ IHttYXl9IGhhdmUgYSBwcmVmZXJyZWQgZGlzcGxheSBiYXNlLAogIGV2ZW4gaWYgaXQncyBpbnNp Z25pZmljYW50IHRvIDw8ZmllbGQtZGVjLGRlY29kZSBpdHMgZmllbGRzPj4sIGJlY2F1c2UKICB0 aGlzIHByb3BlcnR5IGV4aXN0cyBpbiB7Y3RmMX0gYW5kIG1ha2VzIHRoZSB0cmFuc2l0aW9uIGVh c2llci4KCiogQW4gPDxlcnQtZnJhZyxldmVudCByZWNvcmQgY2xhc3M+PiB7bWF5fSBoYXZlIGEg bmFtZSBhbmQgb3RoZXIKICBwcm9wZXJ0aWVzIHdoaWNoIGV4aXN0IGluIHtjdGYxLW5sfSwgYnV0 IHdoaWNoIGFyZSBpbnNpZ25pZmljYW50IHRvCiAgPDxlci1kZWMsZGVjb2RlIGl0cyBpbnN0YW5j ZXM+PiwgYmVjYXVzZSBpdCBtYWtlcyB0aGUgdHJhbnNpdGlvbgogIGVhc2llci4KCiogPDxleHQs RXh0ZW5zaW9uPj4gZmVhdHVyZSBhZGRlZC4KKwpUaGlzIGlzIGhvdyB3ZSBwbGFuIHRvIGFkZCBj b3JlIGZlYXR1cmVzIGFuZCBtb2RpZnkgZXhpc3Rpbmcgb25lcyBpbiB0aGUKZnV0dXJlIHdpdGhv dXQgaGF2aW5nIHRvIHJlbHkgb24gYSBtaW5vciB2ZXJzaW9uLgoKKiA8PGF1eC1zdHJlYW0sQXV4 aWxpYXJ5IHN0cmVhbT4+IGZlYXR1cmUgYWRkZWQuCgo9PSBDVEYgcHVibGljYXRpb24gYXV0aG9y aXR5CgpUaGUge2RpYW1vbn0sIGEgaHR0cHM6Ly93d3cubGludXhmb3VuZGF0aW9uLm9yZy9bTGlu dXggRm91bmRhdGlvbl0Kd29ya2dyb3VwIHdoaWNoIGNyZWF0ZXMgZGUgZmFjdG8gb3BlbiBzdGFu ZGFyZHMgYW5kIHRvb2xzIGZvciB0cmFjaW5nLAptb25pdG9yaW5nLCBhbmQgZGlhZ25vc3RpY3Ms IG92ZXJzZWVzIHRoZSBDb21tb24gVHJhY2UgRm9ybWF0IGRlc2lnbiBhbmQKdGhlIHB1YmxpY2F0 aW9uIG9mIG9mZmljaWFsIENURiBkb2N1bWVudHMuCgpUaGUgRGlhTW9uIFdvcmtncm91cCBpcyBh bHNvIHJlc3BvbnNpYmxlIGZvciBwcm92aWRpbmcgYSBwbGF0Zm9ybSBmb3IKaW50ZXJlc3RlZCBw YXJ0aWVzIHRvIGNvbW1lbnQgb24gQ1RGLXJlbGF0ZWQgcHJvcG9zYWxzLgoKPT0ge2N0ZjJ9IGRv Y3VtZW50IGlkZW50aWZpY2F0aW9uCgpXZSBzdWdnZXN0IHRoYXQgYWxsIG9mZmljaWFsIHtjdGYy fSBkb2N1bWVudHMgYmVhciBhIHVuaXF1ZSAqKmRvY3VtZW50CmlkZW50aWZpZXIqKiAoSUQpIGhh dmluZyB0aGUgZm9sbG93aW5nIGZvcm1hdDoKClt2ZXJzZV0KYENURjItX19TSE9SVE5BTUVfXy1f X01BSk9SX18uX19NSU5PUl9fW3JfX1JFVl9fXWAKClslaGVhZGVyJWF1dG93aWR0aF0KLkRlc2Ny aXB0aW9ucyBhbmQgcm9sZXMgb2Yge2N0ZjJ9IGRvY3VtZW50IElEIHBhcnRzCnw9PT0KfFBhcnQg fERlc2NyaXB0aW9uIHxCdW1wIHttYXl9IGludHJvZHVjZSBuZXcgY29uY2VwdHMsIHByb2NlZHVy ZXMsIGFuZApmb3JtYXRzPyB8QnVtcCB7bWF5fSByZW1vdmUgb3IgY2hhbmdlIGV4aXN0aW5nIGNv bmNlcHRzLCBwcm9jZWR1cmVzLAphbmQgZm9ybWF0cz8KCnxgX19TSE9SVE5BTUVfX2AKfFRoZSBj YXBpdGFsaXplZCBzaG9ydCBuYW1lIG9mIHRoZSBkb2N1bWVudCwgdW5pcXVlIGFtb25nc3QgYWxs IHRoZQpvZmZpY2lhbCB7Y3RmMn0gZG9jdW1lbnRzLgp8Ti9BCnxOL0EKCnxgX19NQUpPUl9fYAp8 VGhlIG1ham9yIHZlcnNpb24gbnVtYmVyIG9mIHRoZSBkb2N1bWVudC4KfFllcwp8WWVzCgp8YF9f TUlOT1JfX2AKfFRoZSBtaW5vciB2ZXJzaW9uIG51bWJlciBvZiB0aGUgZG9jdW1lbnQuCnxZZXMK fE5vCgp8YF9fUkVWX19gCnxUaGUgcmV2aXNpb24gbGV0dGVyIG9mIHRoZSBkb2N1bWVudCAoZnJv bSBgQWAgdG8gYFpgLCB0aGVuIGBaQWAgdG8KYFpaYCwgYW5kIHNvIG9uKS4KCldlJ2xsIHVzZSBk b2N1bWVudCByZXZpc2lvbnMgdG8gYWRkIGV4YW1wbGVzLCBjbGFyaWZ5IGV4aXN0aW5nIGNvbmNl cHRzLApvciBmaXggZ3JhbW1hci9jb250ZW50IG1pc3Rha2VzLCBmb3IgZXhhbXBsZS4KfE5vCnxO bwp8PT09CgpBcyBhbiBleGFtcGxlLCB0aGUgc2hvcnQgbmFtZSBvZiB0aGlzIGRvY3VtZW50IGlz IF9QUk9QXywgZm9yCl9wcm9wb3NhbF8sIGFuZCBpdHMgZnVsbCBkb2N1bWVudCBJRCBpcyB7ZG9j LWlkfS4gVGhlIG5leHQKcmV2aXNpb24gd291bGQgYmUgXyoqQ1RGMi1QUk9QLTIuMHJBKipfLCBh bmQgdGhlIGZvbGxvd2luZyB3b3VsZCBiZQpfKipDVEYyLVBST1AtMi4wckIqKl8uCgpBIHtjdGYy fSBkb2N1bWVudCB7bXVzdH0gcmVmZXIgdG8gYW5vdGhlciB7Y3RmMn0gZG9jdW1lbnQgdXNpbmcg b25seSBpdHMKSUQsIGZvciBleGFtcGxlOgoKPiBUaGlzIGNvbmNlcHQgaXMgZnVydGhlciBleHBs YWluZWQgaW4gXyoqQ1RGMi1TT01FSUQtMS4yKipfLgoKVGhlcmUncyBubyBuZWVkIHRvIHJlZmVy IHRvIGEgc3BlY2lmaWMgcmV2aXNpb246IGEgcmVmZXJlbmNlIGFsd2F5cwp0YXJnZXRzIHRoZSBs YXRlc3QgZG9jdW1lbnQncyByZXZpc2lvbi4KCldlIHN1Z2dlc3QgdGhlIGZvbGxvd2luZyBJRHMg Zm9yIHRoZSBpbml0aWFsIGRvY3VtZW50czoKClslaGVhZGVyLGNvbHM9ImQsZCJdCnw9PT0KfHtj dGYyfSBkb2N1bWVudCBJRCB8RGVzY3JpcHRpb24KCnxfKipDVEYyLURPQ0lELTEuMCoqXwp8e2N0 ZjJ9IGRvY3VtZW50IGlkZW50aWZpZXIgZm9ybWF0LgoKfF8qKkNURjItRlMtMi4wKipfCnxMYXlv dXQgb2YgYSB7Y3RmMn0gdHJhY2Ugd2hlbiBzdG9yZWQgb24gYSBmaWxlIHN5c3RlbS4KCnxfKipD VEYyLVBNRVRBLTIuMCoqXwp8e2N0ZjJ9IG1ldGFkYXRhIHN0cmVhbSBwYWNrZXQgZm9ybWF0LgoK fF8qKkNURjItU1BFQy0yLjAqKl8KfENvbW1vbiBUcmFjZSBGb3JtYXQgKENURiksIHZlcnNpb24g Mi4KCldlIGRvbid0IHBsYW4gdG8gZXZlciBidW1wIHRoaXMgZG9jdW1lbnQncyBtaW5vciB2ZXJz aW9uIGFzIHdlIGNhbiB1c2UKdGhlIHByb3Bvc2VkIDw8ZXh0LGV4dGVuc2lvbj4+IG1lY2hhbmlz bSB0byBhZGQgb3IgbW9kaWZ5IGNvcmUgZmVhdHVyZXMuCnw9PT0KCj09IFdoeSB7Y3RmMn0/CgpX aHkgZG8gd2UgbmVlZCBhIG1ham9yIHZlcnNpb24gYnVtcCBvZiB0aGUgQ1RGIHNwZWNpZmljYXRp b24/CgpBIG1ham9yIHZlcnNpb24gYnVtcCBpcyBuZXZlciBhbiBlYXN5IGNob2ljZSB3aGVuIGl0 IGNvbWVzIHRvIHJldmlzaXRpbmcKYSBzb2Z0d2FyZSBsaWJyYXJ5LCBhIGNvbW11bmljYXRpb24g cHJvdG9jb2wsIGEgZmlsZSBmb3JtYXQsIG9yIGFueXRoaW5nCmVsc2UgdGhhdCBzZXJ2ZXMgYXMg YSBjb250cmFjdCBiZXR3ZWVuIGEgcHJvZHVjZXIgYW5kIGEgY29uc3VtZXIuCgpXaGVuIHN1Y2gg YSBkZWNpc2lvbiBpcyB0YWtlbiwgaXQgbXVzdCBiZSBqdXN0aWZpZWQgYnkgc29saWQgYXJndW1l bnRzLApzaW5jZSBpdCBtYWtlcyBpdCBpbXBvc3NpYmxlIGZvciBvbGQgY29uc3VtZXJzIHRvIGNv bnN1bWUgdGhlIHByb2R1Y3Qgb2YKbmV3IHByb2R1Y2Vycy4KCkluIHRoaXMgcHJvcG9zYWwsIGZv ciBpbnN0YW5jZSwge2N0ZjJ9IHRyYWNlcyBhcmUgX25vdF8gYmFja3dhcmQKY29tcGF0aWJsZSB3 aXRoIHtjdGYxfSB0cmFjZXMuIEFsdGhvdWdoIHRoZSA8PGRzLGRhdGEgc3RyZWFtPj4gYmluYXJ5 CmZvcm1hdCBpcyBjb21wYXRpYmxlLCB0aGUgPDxtZXRhZGF0YS1zdHJlYW0tb3ZlcnZpZXcsbWV0 YWRhdGEgc3RyZWFtPj4KaXMgbm90OiBpdCdzIHdyaXR0ZW4gaW4gYSBkaWZmZXJlbnQgbGFuZ3Vh Z2UgKEpTT04gaW5zdGVhZCBvZiBUU0RMKS4KCntjdGYxLW5sfSBoYXMgYmVlbiB1c2VkIGFuZCB0 ZXN0ZWQgZm9yIG92ZXIgdGVuIHllYXJzIG5vdywgYnkgZGlmZmVyZW50CnByb2R1Y2VycyBhbmQg Y29uc3VtZXJzLiBPdmVyIHRoYXQgdGltZSwgd2UgaGF2ZSBub3RlZCBhIGZldyBnYXBzIGluIHRo ZQp0cmFjZSBmb3JtYXQsIGdhcHMgdGhhdCBtYWtlIGl0IGhhcmQgdG8gZXh0ZW5kIHtjdGYxLW5s fSBhcyBtdWNoIGFzIHdlJ2QKbGlrZSwgYW1vbmdzdCBvdGhlciB0aGluZ3MuCgpUaGlzIHNwZWNp ZmljYXRpb24gcHJvcG9zaXRpb24gZGVzaWducyB7Y3RmMn0gdG8gb3ZlcmNvbWUgdGhvc2UgZ2Fw cywgdG8KdGhlIGJlc3Qgb2Ygb3VyIGtub3dsZWRnZSwgYW5kIHRvIGJlIGZsZXhpYmxlIGVub3Vn aCB0byBncmFjZWZ1bGx5CmFjY2VwdCBmdXR1cmUgYWRkaXRpb25zIHdoaWxlIGF2b2lkaW5nIGFu b3RoZXIgbWFqb3IgdmVyc2lvbiBidW1wIGluIHRoZQp1cGNvbWluZyB5ZWFycy4KCltbZGVzaWdu LWdvYWxzXV0KPT09IERlc2lnbiBnb2FscwoKVGhlIGRlc2lnbiBnb2FscyBvZiB7Y3RmMn0gYXJl IGFzIGZvbGxvd3MsIGluIG9yZGVyLCBiZWdpbm5pbmcgd2l0aCB0aGUKbW9zdCBpbXBvcnRhbnQ6 CgouICoqe2N0ZjJ9IGRhdGEgc3RyZWFtcyB7bXVzdH0gYmUgYmFja3dhcmQgY29tcGF0aWJsZSB3 aXRoIHtjdGYxfQogIDw8ZHMsZGF0YSBzdHJlYW1zPj4uKioKKwpNYW55IGFwcGxpY2F0aW9ucyBh cmUgYWxyZWFkeSB3cml0dGVuIHRvIG91dHB1dCB2YWxpZCB7Y3RmMS1ubH0KPDxwa3QscGFja2V0 cz4+LiBNb2RpZnlpbmcgdGhlIGNvZGUgb2YgdGhvc2UgYXBwbGljYXRpb25zIHRvIHByb2R1Y2UK ZGlmZmVyZW50IGJpbmFyeSBwYWNrZXRzIGNhbiBiZSBjdW1iZXJzb21lLCBhbmQgc29tZXRpbWVz IGltcG9zc2libGUgaWYKdGhlIGFwcGxpY2F0aW9uIHBhc3NlZCBhY2NlcHRhbmNlIHRlc3RzLCBm b3IgZXhhbXBsZS4KKwpNYWtpbmcgc3VyZSB0aGF0IGFwcGxpY2F0aW9ucyBwcm9kdWNpbmcge2N0 ZjEtbmx9IHRyYWNlcyBjYW4gYWxzbwpwcm9kdWNlIHtjdGYyfSB0cmFjZXMgb25seSBieSBjaGFu Z2luZyB0aGUKPDxtZXRhZGF0YS1zdHJlYW0tb3ZlcnZpZXcsbWV0YWRhdGEgc3RyZWFtPj4gaXMg dGhlcmVmb3JlIGEgaGFyZApyZXF1aXJlbWVudC4KCi4gKipUaGUge2N0ZjJ9IGRhdGEgc3RyZWFt cyB7bXVzdH0gYmUgYXMgZWZmaWNpZW50IGFzIHBvc3NpYmxlIHRvCiAgcHJvZHVjZSBieSBhIHRy YWNlci4qKgorClRoaXMgZGVzaWduIGdvYWwgd2FzIGFsc28gb25lIG9mIHRoZSBtYWpvciBvbmVz IHdoaWNoIGRyb3ZlIHRoZQpkZXNpZ24gb2Yge2N0ZjEtbmx9LgorCkluIG90aGVyIHdvcmRzLCBh IHNtYWxsIGVtYmVkZGVkIHN5c3RlbSB7bXVzdH0gYmUgYWJsZSB0byBwcm9kdWNlIHtjdGYyfQpk YXRhIHN0cmVhbXMgbmF0aXZlbHkuIE1vcmVvdmVyLCB0aGUgdHJhY2VyIHttdXN0fSBiZSBhYmxl IHRvIGNvcHkKYmluYXJ5IGRhdGEgdG8gdGhlIHBhY2tldCBidWZmZXIgb2YgYSBkYXRhIHN0cmVh bSB3aXRob3V0IGFsdGVyaW5nIGl0LgoKLiAqKkEge2N0ZjJ9IG1ldGFkYXRhIHN0cmVhbSB7bXVz dH0gYmUgZXh0ZW5zaWJsZSBieSB1c2VycyAoaW5jbHVkaW5nCiAgdGhlIHtkaWFtb259KSBvZiB0 aGUgc3BlY2lmaWNhdGlvbi4qKgorCntjdGYxLW5sfSdzIFRTREwgZ3JhbW1hciBpcyBwcmV0dHkg cmVzdHJpY3RpdmUgd2hlbiBpdCBjb21lcyB0byBjdXN0b21pemluZwpleGlzdGluZyBibG9ja3Mg d2l0aCB1c2VyLWRlZmluZWQgYXR0cmlidXRlcy4KKwpNYW55IHByb3RvY29scyBhbmQgZGVjbGFy YXRpdmUgbGFuZ3VhZ2VzIHN1cHBvcnQgY3VzdG9tIHVzZXIgZGF0YSBpbgp0aGVpciBwYXlsb2Fk LiBGb3IgZXhhbXBsZSwgSFRNTDUgYWxsb3dzIGFueSBlbGVtZW50IHRvIGhhdmUgdXNlcgphdHRy aWJ1dGVzIHdpdGggdGhlIGBkYXRhLWAgcHJlZml4LgorCkEge2N0ZjJ9IHByb2R1Y2VyIHttdXN0 fSBiZSBhYmxlIHRvIGFkZCBjdXN0b20gYXR0cmlidXRlcyB0byBhbG1vc3QgYW55CnNwZWNpZmll ZCBtZXRhZGF0YSBvYmplY3QuIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgZm9yIHN0YW5kYXJkIGNv bnN1bWVycwp0byByZWFkIGFueSB7Y3RmMn0gdHJhY2UgYW5kIGlnbm9yZSB1bmtub3duIHVzZXIg YXR0cmlidXRlcywgcHJvdmlkaW5nIGEKImBibGFuZGAiLCB5ZXQgY29tcGxldGUgdmlldyBvZiB0 aGUgdHJhY2UgZmllbGRzLCB3aGlsZSB5b3UgY2FuIHdyaXRlIGEKc3BlY2lhbCBjb25zdW1lciAo b3IgZXh0ZW5kIGFuIGV4aXN0aW5nIG9uZSkgdG8gaW50ZXJwcmV0IHNwZWNpZmljIHVzZXIKYXR0 cmlidXRlcyBhbmQgdXNlIHRoZW0gdG8gcmVuZGVyIGEgbWVhbmluZ2Z1bCB2aXN1YWxpemF0aW9u LgorClRoaXMgZGVzaWduIGdvYWwgYWxzbyBtZWFucyB0aGF0IGFuICJgb2xkYCIge2N0ZjJ9IGNv bnN1bWVyIHttdXN0fSBiZQphYmxlIHRvIGVpdGhlcjoKKwoqKiBEZWNvZGUgYSAiYG5ld2AiIHtj dGYyfSB0cmFjZSBjb21wbGV0ZWx5LgoqKiBJbmRpY2F0ZSB0aGF0IGl0IGNhbm5vdCBkZWNvZGUg YSAiYG5ld2AiIHtjdGYyfSB0cmFjZSBjb21wbGV0ZWx5LgoKLiAqKntjdGYyfSdzIHNwZWNpZmlj YXRpb24ge211c3R9IGZvY3VzIG9uIHVzZSBjYXNlcyBrbm93biBvbiBpdHMKICBwdWJsaWNhdGlv biBkYXRlLioqCisKVGhlIHByZXZpb3VzIGRlc2lnbiBnb2FsIGluZGljYXRlcyB0aGF0IGEge2N0 ZjJ9IG1ldGFkYXRhIHN0cmVhbSB7bXVzdH0KYmUgZXh0ZW5zaWJsZSBieSB1c2Vycy4gS25vd2lu ZyB0aGlzLCB0aGUge2N0ZjJ9IHNwZWNpZmljYXRpb24gaXRzZWxmCnttdXN0fSBmb2N1cyBvbiBf Y3VycmVudGx5IGtub3duXyB1c2UgY2FzZXMsIGxlYXZpbmcgYW55dGhpbmcgZWxzZSB0bwpmdXR1 cmUgZXh0ZW5zaW9ucyB0byBiZSBkZXNjcmliZWQgaW4gb3RoZXIge2N0ZjJ9IGRvY3VtZW50cy4K KwpBcyBwZXIgZGVzaWduIGdvYWx7bmJzcH0xLCB0aG9zZSBrbm93biB1c2UgY2FzZXMgaW5jbHVk ZSBldmVyeXRoaW5nCmF2YWlsYWJsZSBpbiB7Y3RmMS1ubH0uCgouICoqe2N0ZjJ9J3Mgc3BlY2lm aWNhdGlvbiB7bXVzdC1ub3R9IHNwZWNpZnkgaG93IHRvIHRyYW5zcG9ydCBvciBzdG9yZQogIGEg dHJhY2UuKioKKwpJbiB0aGUge2N0ZjJ9IHNwZWNpZmljYXRpb24sIGEge2N0ZjJ9IHRyYWNlIHtt dXN0fSBiZSBkZWZpbmVkIGFzIGEgc2V0Cm9mIHN0cmVhbXMsIHdpdGhvdXQgc3BlY2lmeWluZyBo b3cgeW91IHRyYW5zcG9ydCBvciBzdG9yZSBzYWlkIHN0cmVhbXMuCisKT3RoZXIgb2ZmaWNpYWwg e2N0ZjJ9IGRvY3VtZW50cyBwdWJsaXNoZWQgYnkgdGhlIHtkaWFtb259IGNhbiBkZWZpbmUKc3Rh bmRhcmQgd2F5cyB0byB0cmFuc3BvcnQgYW5kIHN0b3JlIHtjdGYyfSBzdHJlYW1zIGZvciB0YXJn ZXRlZCB1c2UKY2FzZXMuIFRyYWNlIHByb2R1Y2VycyBhbmQgY29uc3VtZXJzIGNhbiBjaG9vc2Ug dG8gaW1wbGVtZW50IG9uZSBvciBtb3JlCnRyYW5zcG9ydC9zdG9yYWdlIHN0cmF0ZWdpZXMgZm9s bG93aW5nIHRoZSBvdGhlciBkb2N1bWVudHMuCgouICoqQSB7Y3RmMn0gdHJhY2Uge3Nob3VsZH0g YmUgYXMgZWFzeSBhcyBwb3NzaWJsZSB0byBjb25zdW1lLioqCisKe2N0ZjEtbmx9IGZvY3VzZXMg b24gYmVpbmcgZWFzeSB0byBwcm9kdWNlLCB3aGljaCBpcyBhIGdvb2QgaWRlYSBzaW5jZQpwcm9k dWNlcnMgYXJlIG9mdGVuIHRyYWNlcnMgaW4gdGhpcyBjb250ZXh0LCBhbmQgYXMgcGVyIGRlc2ln bgpnb2Fse25ic3B9MiwgYSBtaW5pbWFsIHRyYWNlciB7bXVzdH0gYmUgYWJsZSB0byBwcm9kdWNl IGEgY29ycmVjdCBDVEYKdHJhY2Ugd2l0aCBtaW5pbWFsIGNvZGUuCisKSG93ZXZlciwgYmVjYXVz ZSBhIHtjdGYxLW5sfSA8PG1ldGFkYXRhLXN0cmVhbS1vdmVydmlldyxtZXRhZGF0YQpzdHJlYW0+ PiBpcyB3cml0dGVuIGluIFRTREwsIGEgY3VzdG9tLCBkZWNsYXJhdGl2ZSwgQy1saWtlIERTTCBk ZXNpZ25lZApmb3IgQ1RGLCB3cml0aW5nIGEgbWluaW1hbCBjb25zdW1lciBvZiB7Y3RmMS1ubH0g aXMgbm90IGFuIGVhc3kgdGFzay4KVFNETCBpcyBhbiBpbnRyaWNhdGUgbGFuZ3VhZ2UsIHdpdGgg bWFueSBzcGVjaWFsIGNhc2VzIGFuZCBmZWF0dXJlcywKbWFueSBvZiB3aGljaCBhcmUgYm9ycm93 ZWQgZnJvbSB0aGUgQyBsYW5ndWFnZSwgd2hpY2ggeW91IGNhbid0IGlnbm9yZQp3aGVuIHdyaXRp bmcgYSBjb25zdW1lciBzdXBwb3J0aW5nIGFsbCBpdHMgZmVhdHVyZXMuIFRTREwgd2FzIGRldmVs b3BlZAp0byBlYXNlIHRoZSBfbWFudWFsXyAoaHVtYW4pIHByb2R1Y3Rpb24gb2YgbWV0YWRhdGEg c3RyZWFtcy4KKwpPdmVyIHRpbWUsIHdlIHJlYWxpemVkIHRoYXQsIHdoaWxlIHByb2R1Y2luZyB0 cmFjZXMgaXMgaW1wb3J0YW50LApjb25zdW1pbmcgdGhlbSB0byBzb2x2ZSBwcm9ibGVtcyB3aXRo IDw8ZXIsZXZlbnQgcmVjb3JkPj4gYW5hbHlzaXMgaXMKanVzdCBhcyBpbXBvcnRhbnQsIGlmIG5v dCBtb3JlLgorClRoaXMgaXMgd2h5IHtjdGYyfSB7c2hvdWxkfSBlbmNvdXJhZ2UgdGhlIGRldmVs b3BtZW50IG9mIENURiBjb25zdW1lcnMKaW4gYW55IHByb2dyYW1taW5nIGxhbmd1YWdlIGJ5IHJl ZHVjaW5nIHRoZSBudW1iZXIgb2Ygc3BlY2lhbCBjYXNlcywgYXMKd2VsbCBhcyBieSB1c2luZyBh IHZlcnkgc2ltcGxlLCB5ZXQgd2VsbC1rbm93biBkZXNjcmlwdGl2ZSBsYW5ndWFnZSBmb3IKdGhl IDw8bWV0YWRhdGEtc3RyZWFtLW92ZXJ2aWV3LG1ldGFkYXRhIHN0cmVhbT4+LgorCntjdGYxLW5s fSB0cmllcyB0byBhY2NvbW9kYXRlIG90aGVyIHRyYWNlIGZvcm1hdHMsIHdoaWNoIGNhbiBiZSBj b252ZXJ0ZWQKdG8gQ1RGIHdpdGhvdXQgY2hhbmdpbmcgdGhlIGRhdGEgc3RyZWFtcyBieSB3cml0 aW5nIHRoZSBtYXRjaGluZwptZXRhZGF0YSBzdHJlYW0uIFRoaXMgaXMgYWxzbyBhIHNvdXJjZSBv ZiBzcGVjaWFsIGNhc2VzLiB7Y3RmMn0ge3Nob3VsZH0KYnVpbGQgb24gYmluYXJ5IHRyYWNlIGNv bnZlcnNpb24gKGZyb20gYW5vdGhlciwgbm9uLUNURiB0cmFjZSBmb3JtYXQgdG8Ke2N0ZjJ9KSBy YXRoZXIgdGhhbiB0cnlpbmcgdG8gYWNjb21vZGF0ZSBvdGhlciBmb3JtYXRzLgoKLiAqKntjdGYy fSdzIG1vZGVsIHtzaG91bGR9IGJlIHNpbWlsYXIgdG8ge2N0ZjEtbmx9J3MuKioKKwpTb21lIEFQ SXMgYXJlIGFscmVhZHkgd3JpdHRlbiB0byBkZWFsIHdpdGgge2N0ZjEtbmx9ICJgb2JqZWN0c2Ai LCBvcgpjb25jZXB0cyAoPDxlcmMtZnJhZyxldmVudCByZWNvcmQgY2xhc3Nlcz4+LCA8PGVyLGV2 ZW50IHJlY29yZHM+PiwKPDxmYyxmaWVsZCBjbGFzc2VzPj4sIGFuZCA8PGNjLWZyYWcsY2xvY2sg Y2xhc3Nlcz4+LCBmb3IgZXhhbXBsZSkuCisKVGhlIG1vZGVsIG9mIHtjdGYyfSB7c2hvdWxkfSBi ZSwgYXMgbXVjaCBhcyBwb3NzaWJsZSwgY29tcGF0aWJsZSB3aXRoCnRoZSBtb2RlbCBvZiB7Y3Rm MS1ubH0sIHNvIHRoYXQgdGhvc2UgZXhpc3RpbmcgQVBJcyBjYW4gb3BlcmF0ZSBvbgp7Y3RmMn0g b2JqZWN0cyB0b28gd2l0aG91dCByZXF1aXJpbmcgc2lnbmlmaWNhbnQgdXBncmFkZXMuCgo9PSBD aGFuZ2VzIHNpbmNlIHtjdGYxLW5sfQoKSGVyZSBpcyBhIGJyaWVmIHN1bW1hcnkgb2YgdGhlIGNo YW5nZXMsIGZyb20ge2N0ZjF9IHRvIHtjdGYyfSwKYXMgaW50cm9kdWNlZCBieSB0aGlzIHByb3Bv c2FsLgoKKiBUaGUgdGVybWlub2xvZ3kgb2YgdGhlIHNwZWNpZmljYXRpb24gYW5kIHRoZSBiaW5h cnkgbGF5b3V0cyBvZiB0aGUKICA8PGRzLGRhdGEgc3RyZWFtcz4+IGFyZSBfY29tcGxldGVseSBk ZXRhY2hlZF8gZnJvbSB0aGUgQyBsYW5ndWFnZSBhbmQKICBmcm9tIHRoZSBiZWhhdmlvdXIgb2Yg YW55IEMgY29tcGlsZXIuCisKe2N0ZjJ9IGlzIGEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UtYWdub3N0 aWMgdHJhY2UgZm9ybWF0LgoKKiBbW3Rlcm0tdXBkYXRlXV0qKlRlcm1pbm9sb2d5IHVwZGF0ZSoq OgorClslaGVhZGVyJWF1dG93aWR0aF0KfD09PQp8e2N0ZjEtbmx9IHRlcm0gfEVxdWl2YWxlbnQg e2N0ZjJ9IHRlcm0KCnxBYnNvbHV0ZSAoY2xvY2sgY2xhc3MgcHJvcGVydHkpIHxPcmlnaW4gaXMg VW5peCBlcG9jaAp8QXJyYXkgKGZpZWxkIGNsYXNzKSB8e2Mtc2wtYXJyYXl9CnxCYXNlIChpbnRl Z2VyIGZpZWxkIGNsYXNzIHByb3BlcnR5KSB8UHJlZmVycmVkIGRpc3BsYXkgYmFzZQp8QmluYXJ5 IHN0cmVhbSB8RGF0YSBzdHJlYW0KfENsb2NrICh3aGVuIGl0IG5hbWVzIGEgYmxvY2sgb2YgbWV0 YWRhdGEgd2hpY2ggZGVzY3JpYmVzIGFjdHVhbApjbG9ja3MpIHxDbG9jayBjbGFzcwp8Q29udGVu dCBzaXplIHxQYWNrZXQncyBjb250ZW50IHNpemUKfERlY2xhcmF0aW9uIHxGaWVsZCBjbGFzcwp8 RW51bWVyYXRpb24gKGZpZWxkIGNsYXNzKSB8e2MtZmwtZW51bX0KfEV2ZW50ICh3aGVuIGl0IG5h bWVzIGEgYmxvY2sgb2YgbWV0YWRhdGEgd2hpY2ggZGVzY3JpYmVzIGV2ZW50CnJlY29yZHMpIHxF dmVudCByZWNvcmQgY2xhc3MKfEV2ZW50ICh3aGVuIGl0IG5hbWVzIGFuIGFjdHVhbCByZWNvcmRl ZCBldmVudCBjb250YWluZWQgaW4gYSBwYWNrZXQpCnxFdmVudCByZWNvcmQKfEV2ZW50IGNvbnRl eHQgfEV2ZW50IHJlY29yZCBzcGVjaWZpYyBjb250ZXh0CnxFdmVudCBmaWVsZHMgfEV2ZW50IHJl Y29yZCBwYXlsb2FkCnxFdmVudCBJRCB8RXZlbnQgcmVjb3JkIGNsYXNzIElECnxFdmVudHMgZGlz Y2FyZGVkIHxEaXNjYXJkZWQgZXZlbnQgcmVjb3JkIGNvdW50ZXIKfEZpZWxkIChzdHJ1Y3R1cmUg ZmllbGQgY2xhc3MpIHxTdHJ1Y3R1cmUgZmllbGQgbWVtYmVyIGNsYXNzCnxGaWVsZCAoc3RydWN0 dXJlIGZpZWxkKSB8U3RydWN0dXJlIGZpZWxkIG1lbWJlcgp8RmxvYXRpbmcgcG9pbnQgKGZpZWxk IGNsYXNzKSB8e2MtZmwtZnB9CnxJbnRlZ2VyIChmaWVsZCBjbGFzcykgfHtjLWZsLWludH0KfFBh Y2tldCBzaXplIHxQYWNrZXQncyB0b3RhbCBzaXplCnxTZXF1ZW5jZSAoZmllbGQgY2xhc3MpIHx7 Yy1kbC1hcnJheX0KfFNpemUgKGludGVnZXIgZmllbGQgY2xhc3MgcHJvcGVydHkpIHxMZW5ndGgK fFN0cmVhbSAod2hlbiBpdCBuYW1lcyBhIGJsb2NrIG9mIG1ldGFkYXRhIHdoaWNoIGRlc2NyaWJl cyBkYXRhCnN0cmVhbXMpIHxEYXRhIHN0cmVhbSBjbGFzcwp8U3RyZWFtIGV2ZW50IGNvbnRleHQg fEV2ZW50IHJlY29yZCBjb21tb24gY29udGV4dAp8U3RyZWFtIGV2ZW50IGhlYWRlciB8RXZlbnQg cmVjb3JkIGhlYWRlcgp8U3RyZWFtIElEIHxEYXRhIHN0cmVhbSBjbGFzcyBJRAp8U3RyZWFtIGlu c3RhbmNlIElEIHxEYXRhIHN0cmVhbSBJRAp8U3RyZWFtIHBhY2tldCBjb250ZXh0IHxQYWNrZXQg Y29udGV4dAp8U3RyaW5nIChmaWVsZCBjbGFzcykgfHtjLXN0cn0KfFRhZyAodmFyaWFudCBmaWVs ZCBjbGFzcykgfFNlbGVjdG9yCnxUcmFjZSAod2hlbiBpdCBuYW1lcyBhIGJsb2NrIG9mIG1ldGFk YXRhIHdoaWNoIGRlc2NyaWJlcyB0cmFjZXMpIHxUcmFjZSBjbGFzcwp8VHJhY2UgcGFja2V0IGhl YWRlciB8UGFja2V0IGhlYWRlcgp8PT09CgoqIFRoZSA8PG1ldGFkYXRhLXN0cmVhbSxtZXRhZGF0 YSBzdHJlYW0+PiBpcyB3cml0dGVuIGluIEpTT04sCiAgYXMgc3BlY2lmaWVkIGJ5CiAgaHR0cHM6 Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9wdWJsaWNhdGlvbnMvZmlsZXMvRUNNQS1TVC9F Q01BLTQwNC5wZGZbRUNNQS00MDRdLgoKKiBUaGUge2N0ZjJ9IHNwZWNpZmljYXRpb24gZG9lc24n dCBzcGVjaWZ5IGEgImBwYWNrZXRpemVkYCIKICBtZXRhZGF0YSBzdHJlYW0gZm9ybWF0LgorClRo aXMgaXMgYSBiYWNrLWVuZC1zcGVjaWZpYyB3YXkgb2Ygd3JhcHBpbmcgYQo8PG1ldGFkYXRhLXN0 cmVhbS1vdmVydmlldyxtZXRhZGF0YSBzdHJlYW0+PiBhcyBkZWZpbmVkIGluIHRoaXMKZG9jdW1l bnQuCisKQW5vdGhlciBkb2N1bWVudCBzcGVjaWZpZXMgdGhlIHBhY2tldGl6ZWQgbWV0YWRhdGEg c3RyZWFtIGZvcm1hdCwgd2hpY2gKdHJhY2Ugc3RvcmFnZSBhbmQgdHJhbnNwb3J0IGRvY3VtZW50 cyBjYW4gdXNlIGlmIG5lZWRlZC4KCiogTW9zdCBvYmplY3RzIG9mIGEge2N0ZjJ9IG1ldGFkYXRh IHN0cmVhbSB7bWF5fSBjb250YWluCiAgPDx1c2VyLWF0dHJzLGN1c3RvbSB1c2VyIGF0dHJpYnV0 ZXM+Pi4KCiogRmllbGQgY2xhc3MgYWxpYXNlcyBhcmUgcmVtb3ZlZC4KKwpUaGlzIHJlbW92ZXMg aW5kaXJlY3Rpb24sIHNpbXBsaWZ5aW5nIHRoZSBmb3JtYXQuCgoqICoqTmV3IGZpZWxkIGNsYXNz ZXMqKjoKCioqIEEgX197ZmwtYmEtZmN9X18gZGVzY3JpYmVzIHRoZSBtb3N0IHByaW1pdGl2ZQog ICBmaWVsZHMgKHtmbC1iYX0gZmllbGRzKSBvZiBhIDw8ZHMsZGF0YSBzdHJlYW0+PiB3aGljaCBh Y3R1YWxseSBoYXZlCiAgIHZhbHVlcy4KKwpBIHtmbC1pbnQtZmN9IGlzIG5vdyBzcGVjaWZpZWQg YXMgYSB7ZmwtYmF9CmZpZWxkIGNsYXNzIHdpdGggYW4ge29wdGlvbmFsfSBwcmVmZXJyZWQgZGlz cGxheSBiYXNlIHByb3BlcnR5IGFuZAppbnRlZ2VyIHR5cGUgc2VtYW50aWNzLgorCkEge2ZsLWVu dW0tZmN9IGlzIG5vdyBzcGVjaWZpZWQgYXMgYSB7ZmwtaW50LWZjfSB3aXRoIG1hcHBpbmdzLgor CkEge2ZsLWZwLWZjfSBpcyBub3cgc3BlY2lmaWVkIGFzIGEge2ZsLWJhLWZjfTogaXRzIGxlbmd0 aCBwcm9wZXJ0eSBpcwplbm91Z2ggdG8gZGV0ZXJtaW5lIGl0cyBlbmNvZGluZyB1bmRlciB7aWVl ZTc1NH0uCgoqKiBBIF9fe2ZsLWJvb2wtZmN9X18sIHdoaWNoIGlzIGEge2ZsLWJhLWZjfSB3aXRo IGEgc3BlY2lhbCBtZWFuaW5nLAogICBkZXNjcmliZXMge2ZsLWJvb2x9IGZpZWxkcy4KKwpXaGVu IGFsbCB0aGUgYml0cyBvZiBhIHtmbC1ib29sfSBmaWVsZCBhcmUgY2xlYXJlZCAoemVybyksIHRo ZSBmaWVsZCdzCnZhbHVlIGlzIHNhaWQgdG8gYmUgX2ZhbHNlXy4gT3RoZXJ3aXNlLCB0aGUgZmll bGQncyB2YWx1ZSBpcyBzYWlkIHRvIGJlCl90cnVlXy4KCioqIEEgX197dmwtYmEtZmN9X18gZGVz Y3JpYmVzIHt2bC1iYX0gZmllbGRzLgorCkVhY2ggYnl0ZSBvZiBhIHt2bC1iYX0gZmllbGQgaGFz IGl0cyBtb3N0IHNpZ25pZmljYW50IGJpdCBzZXQgaWYgb25lCm1vcmUgYnl0ZSBpcyBwYXJ0IG9m IHRoZSBmaWVsZC4KKwpUaGUgc2V2ZW4gbG93LW9yZGVyIGJpdHMgb2YgZWFjaCBieXRlIGFyZSBj b25jYXRlbmF0ZWQgaW4gYSBzcGVjaWZpYyB3YXkKdG8gZm9ybSBhIGZpbmFsLCBlcXVpdmFsZW50 IHtmbC1iYX0gZmllbGQuCgoqKiBBIF9fe3ZsLWludC1mY31fXywgd2hpY2ggaXMgdG8gYSB7dmwt YmEtZmN9IHdoYXQgYSB7ZmwtaW50LWZjfQogICBpcyB0byBhIHtmbC1iYS1mY30sIGRlc2NyaWJl cyB7dmwtaW50fSBmaWVsZHMuCgoqKiBBIF9fe3ZsLWVudW0tZmN9X18sIHdoaWNoIGlzIHRvIGEg e3ZsLWludC1mY30gd2hhdCBhIHtmbC1lbnVtLWZjfSBpcwogICB0byBhIHtmbC1pbnQtZmN9LCBk ZXNjcmliZXMge3ZsLWVudW19IGZpZWxkcy4KCioqIEEgX197c2wtc3RyLWZjfV9fIGFuZCBhIF9f e2RsLXN0ci1mY31fXyBkZXNjcmliZSBzdGF0aWMtIGFuZAogICBkeW5hbWljLWxlbmd0aCBzdHJp bmcgZmllbGRzLCB3aGljaCB7bWF5fSBub3QgYmUgbnVsbC10ZXJtaW5hdGVkLgorClN1Y2ggc3Ry aW5nIGZpZWxkcyBob2xkIF9wb3NzaWJseV8gbnVsbC10ZXJtaW5hdGVkIFVURi04IHN0cmluZyB2 YWx1ZXMKKHRoZXkge21heX0gYWxzbyBob2xkIGFuIGV4YWN0IG51bWJlciBvZiBVVEYtOCBieXRl cyB3aXRob3V0IGEKdGVybWluYXRpbmcgbnVsbCBieXRlKS4KCioqIEFuIF9fe29wdC1mY31fXyBk ZXNjcmliZXMgYW4gb3B0aW9uYWwgZmllbGQuCisKSXQgaXMgc2ltaWxhciB0byBhIHZhcmlhbnQg ZmllbGQgY2xhc3Mgd2l0aCB0d28gb3B0aW9uczogdGhlIG9wdGlvbmFsCmZpZWxkIGNsYXNzIGFu ZCBhbiAiYGVtcHR5YCIgZmllbGQgY2xhc3MuCgoqKiBBIF9fe3NsLWJsb2ItZmN9X18gYW5kIGEg X197ZGwtYmxvYi1mY31fXyBkZXNjcmliZSBzdGF0aWMtIGFuZAogICBkeW5hbWljLWxlbmd0aCBz ZXF1ZW5jZXMgb2YgY29udGlndW91cyBieXRlcyB0byByZXByZXNlbnQKICAgaHR0cHM6Ly9lbi53 aWtpcGVkaWEub3JnL3dpa2kvQmluYXJ5X2xhcmdlX29iamVjdFtCTE9Cc10uCgoqICoqTW9kaWZp ZWQgZmllbGQgY2xhc3NlcyoqOgoKKiogVGhlIGRlZmF1bHQgYWxpZ25tZW50IHByb3BlcnR5IG9m IGEgPDxmbC1iYS1mYyx7ZmwtYmF9Pj4gZmllbGQKICAgKGFuZCB0aGVyZWZvcmUgYWxzbyBvZiBm aXhlZC1sZW5ndGggPDxmbC1ib29sLWZjLGJvb2xlYW4+PiwKICAgPDxmbC1pbnQtZmMsaW50ZWdl cj4+LCA8PGZsLWVudW0tZmMsZW51bWVyYXRpb24+PiwgYW5kCiAgIDw8ZmwtZnAtZmMsZmxvYXRp bmcgcG9pbnQgbnVtYmVyPj4gZmllbGRzKSBpc3tuYnNwfTEuCisKSW4ge2N0ZjEtbmx9LCBpdCdz e25ic3B9OCBpZiB0aGUgZmllbGQncyBjbGFzcydzIHNpemUgcHJvcGVydHkgaXMgYQptdWx0aXBs ZSBvZntuYnNwfTgsIGFuZHtuYnNwfTEgb3RoZXJ3aXNlLgoKKiogVGhlIF9lbmNvZGluZ18gcHJv cGVydHkgX2lzIHJlbW92ZWRfIGZyb20gdGhlIHtmbC1pbnQtZmN9LgorClRoZSBlbmNvZGluZyBw cm9wZXJ0eSBpbiB7Y3RmMS1ubH0gaW5kaWNhdGVzIHRoYXQgYSBieXRlIGlzIGEgVVRGLTgKY2hh cmFjdGVyLCBmb3IgZXhhbXBsZSwgYnV0IHNpbmNlIHRoZXJlIGFyZSBVVEYtOCBjaGFyYWN0ZXJz IHdoaWNoIGFyZQplbmNvZGVkIG9uIG1vcmUgdGhhbiBvbmUgYnl0ZSwgdGhpcyBwcm9wZXJ0eSBh Y3R1YWxseSBtYWtlcyBubyBzZW5zZSBhdAp0aGUge2ZsLWludC1mY30gbGV2ZWwuCisKWW91IGNh biB1c2UgdGhlIG5ldyB7c2wtc3RyLWZjfSBhbmQge2RsLXN0ci1mY30gdG8gYWNoaWV2ZQp0aGUg c2FtZSByZXN1bHQuCgoqKiBUaGUgX2V4cG9uZW50XyBhbmQgX21hbnRpc3NhIHNpemVfIHByb3Bl cnRpZXMgX2FyZSByZW1vdmVkXyBmcm9tIHRoZQogICB7ZmwtZnAtZmN9LgorCkEge2ZsLWZwLWZj fSBpcyBub3cgZGVmaW5lZCBhcyBhIHtmbC1iYS1mY30sIHdoaWNoIGhhcyBhCnNpbmdsZSBsZW5n dGggcHJvcGVydHkgdG8gaW5kaWNhdGUgaXRzIHRvdGFsLCBmaXhlZCBsZW5ndGgsIGluIGJpdHMu CisKQSB7Y3RmMn0gY29uc3VtZXIgY2FuCjw8ZmwtZnAtZmllbGQtZGVjLGRlY29kZSBhIHtmbC1m cH0gZmllbGQ+PiBlbmNvZGVkIGZvbGxvd2luZyB7aWVlZTc1NH0Ka25vd2luZyBvbmx5IHRoaXMg cGFyYW1ldGVyLS10aGUgc3RvcmFnZSB3aWR0aCBvZiB0aGUgYml0IGFycmF5LS1mcm9tCndoaWNo IGl0IGNhbiBkZWR1Y2Ugb3RoZXIgcGFyYW1ldGVycyBhY2NvcmRpbmcgdG8gdGhlIHN0YW5kYXJk LgorCkluIG90aGVyIHdvcmRzLCBpbiB7Y3RmMS1ubH0sIG9ubHkgc3BlY2lmaWMgcGFpcnMgb2Yg ZXhwb25lbnQgYW5kCm1hbnRpc3NhIHNpemUgcHJvcGVydGllcyBhcmUgdmFsaWQ6IDggYW5kIDI0 LCAxMSBhbmQgNTMsIDE1IGFuZCAxMTMsIGFuZApzbyBvbi4KCioqIFRoZSBfZW5jb2RpbmdfIHBy b3BlcnR5IF9pcyByZW1vdmVkXyBmcm9tIHRoZSB7c3RyLWZjfS4KKwp7Y3RmMn0ge3N0cn0gZmll bGRzIGFsd2F5cyBjb250YWluIGEgc2VxdWVuY2Ugb2YgYnl0ZXMgd2hpY2ggZW5jb2RlIGEKe3N0 cn0gd2l0aCBVVEYtOC4gSWYgYSB7c3RyfSBmaWVsZCBpcyBlbmNvZGVkIHdpdGggdGhlIEFTQ0lJ IGVuY29kaW5nIGluCmEge2N0ZjEtbmx9IGRhdGEgc3RyZWFtLCBpdCdzIHN0aWxsIHZhbGlkIGlu IHtjdGYyfSBzaW5jZSBhbiBBU0NJSQpzdHJpbmcgaXMgYSBVVEYtOCBzdHJpbmcuCgoqIF9SZWxh dGl2ZV8gZmllbGQgbG9jYXRpb25zICh2YXJpYW50IGZpZWxkIGNsYXNzJ3MgdGFnL3NlbGVjdG9y IGFuZAogIGR5bmFtaWMtbGVuZ3RoIGZpZWxkIGNsYXNzJ3MgbGVuZ3RoKSBhcmUgcmVtb3ZlZC4K KwpJbiB7Y3RmMn0sIHlvdSBjYW4gc3BlY2lmeSBhIGxvY2F0aW9uIHRvIGFueSB2YWxpZCBmaWVs ZCB3aXRoIGFuCmFic29sdXRlIDw8ZmllbGQtbG9jLGZpZWxkIGxvY2F0aW9uPj4uCisKVGhpcyBz aW1wbGlmaWVzIHRoZSBmb3JtYXQuCgoqICJgU3BlY2lhbGAiIDw8c3RydWN0LW1lbWJlci1jbHMs c3RydWN0dXJlIGZpZWxkIG1lbWJlciBjbGFzc2VzPj4sIHN1Y2gKICBhcyB0aGUgPDxwa3QscGFj a2V0Pj4gbWFnaWMgbnVtYmVyIG1lbWJlciBjbGFzcywgdGhlIDw8ZHNjLWZyYWcsZGF0YQogIHN0 cmVhbSBjbGFzcz4+IElEIG1lbWJlciBjbGFzcywgYW5kIHRoZSBwYWNrZXQncyB0b3RhbCBzaXpl IG1lbWJlcgogIGNsYXNzLCBfY2FuIGhhdmUgYW55IG5hbWVfOiBhIDw8ZmMsZmllbGQgY2xhc3M+ PiB7bWF5fSBoYXZlIG9uZSBvcgogIG1vcmUgPDxyb2xlcyxfcm9sZXNfPj4gaW5zdGVhZCB0byBp bmRpY2F0ZSB0aGUgcHVycG9zZSBvZiBpdHMKICBpbnN0YW5jZXMuCisKVGhpcyBtZWFucyBhIHtj dGYyfSBjb25zdW1lciBkb2Vzbid0IG5lZWQgdG8gcmVseSBvbiByZXNlcnZlZCBuYW1lcyBsaWtl CntjdGYxLW5sfSdzIGBtYWdpY2AsIGBzdHJlYW1faWRgLCBhbmQgYHBhY2tldF9zaXplYC4KKwpU aGlzIG5ldyBhcHByb2FjaCBhbHNvIG1ha2VzIGl0IHBvc3NpYmxlIGZvciBhIGdpdmVuIGZpZWxk IGNsYXNzIHRvIGhhdmUKbXVsdGlwbGUgcm9sZXMuCgoqIFRoZSBfbmF0aXZlIGJ5dGUgb3JkZXJf IHByb3BlcnR5IF9pcyByZW1vdmVkXyBmcm9tIHRoZQogIDw8dGMtZnJhZyx0cmFjZSBjbGFzcz4+ LgorCkluIHtjdGYyfSwgZWFjaCB7ZmwtYmEtZmN9IHttdXN0fSBleHBsaWNpdGx5CmluZGljYXRl IHRoZSBieXRlIG9yZGVyIG9mIGl0cyBpbnN0YW5jZXMuCisKVGhpcyByZW1vdmVzIGluZGlyZWN0 aW9uLCBzaW1wbGlmeWluZyB0aGUgZm9ybWF0LgoKKiBUaGUgX0VNRiBVUklfIHByb3BlcnR5IF9p cyByZW1vdmVkXyBmcm9tIHRoZQogIDw8ZXJjLWZyYWcsZXZlbnQgcmVjb3JkIGNsYXNzPj4uCisK VGhpcyBFY2xpcHNlIE1vZGVsaW5nIEZyYW1ld29yayBwcm9wZXJ0eSBpcyBub3QgY29tbW9uIGVu b3VnaCBmb3IgdGhlCkNvbW1vbiBUcmFjZSBGb3JtYXQuCisKQSBwcm9kdWNlciBjYW4gc3RpbGwg d3JpdGUgc3VjaCBhbiBVUkkgYXMgYW4gZXZlbnQgcmVjb3JkIGNsYXNzJ3MKPDx1c2VyLWF0dHJz LHVzZXIgYXR0cmlidXRlPj4uCgoqIFRoZSBfbG9nIGxldmVsXyBwcm9wZXJ0eSBfaXMgcmVtb3Zl ZF8gZnJvbSB0aGUKICA8PGVyYy1mcmFnLGV2ZW50IHJlY29yZCBjbGFzcz4+LgorCkxvZyBsZXZl bCBpbnRlZ3JhbCB2YWx1ZXMgYXJlIHRyYWNlci1zcGVjaWZpYy4KKwpBIHByb2R1Y2VyIGNhbiBz dGlsbCB3cml0ZSBzdWNoIGEgbG9nIGxldmVsIHZhbHVlIGFzIGFuIGV2ZW50IHJlY29yZApjbGFz cydzIDw8dXNlci1hdHRycyx1c2VyIGF0dHJpYnV0ZT4+LgoKKiBBIHtjdGYyfSB0cmFjZSB7bWF5 fSBoYXZlIHplcm8gb3IgbW9yZSA8PGF1eC1zdHJlYW0sX2F1eGlsaWFyeQogIHN0cmVhbXNfPj4u CisKQW4gYXV4aWxpYXJ5IHN0cmVhbSBjb250YWlucyBzdHJ1Y3R1cmVkIGluZm9ybWF0aW9uIHJl bGF0ZWQgdG8gYQpzcGVjaWZpYyB0cmFjZSB3aGljaCBkb2Vzbid0IGZpdCB0aGUgPDxkcyxkYXRh IHN0cmVhbT4+IG1vZGVsLCB3aGVyZWFzIGEKe2N0ZjJ9IG1ldGFkYXRhIHN0cmVhbSBub3cgZGVz Y3JpYmVzIGEgY2xhc3Mgb2YgdHJhY2VzIChtdWx0aXBsZSB0cmFjZXMKY2FuIHNoYXJlIHRoZSBz YW1lIG1ldGFkYXRhIHN0cmVhbSkuCgoqIFRoZSAiYGNhbGwgc2l0ZWAiIGJsb2NrIGZlYXR1cmUg aXMgcmVtb3ZlZC4KKwpXZSBkb24ndCBrbm93IGFueSBwcm9kdWNlciB1c2luZyB0aGlzLgoKPT0g Q29tbW9uIGRlZmluaXRpb25zCgpDb21tb24gZGVmaW5pdGlvbnMgZm9yIHRoaXMgc3BlY2lmaWNh dGlvbjoKCkJ5dGU6OgogICAgQSBncm91cCBvZiBlaWdodCBiaXRzIG9wZXJhdGVkIG9uIGFzIGEg dW5pdC4KCkNsYXNzOjoKICAgIEEgc2V0IG9mIHZhbHVlcyAoaW5zdGFuY2VzKSB3aGljaCBzaGFy ZSBjb21tb24gcHJvcGVydGllcy4KKwpGb3IgZXhhbXBsZSwgYSB7ZmwtdWludC1mY30gd2l0aCBh biA4LWJpdCBsZW5ndGgKaXMgdGhlIHNldCBvZiB0aGUgYWxsIHRoZSB7ZmwtdWludH0gZmllbGRz IGZyb20gYDAwMDAwMDAwYCB0byBgMTExMTExMTFgCih2YWx1ZXMgMHtuYnNwfXRve25ic3B9MjU1 KS4KLgorClRoaXMgZG9jdW1lbnQgb2Z0ZW4gc3RhdGVzIHRoYXQgc29tZSBjbGFzcyBfZGVzY3Jp YmVzXyBpbnN0YW5jZXMuIEZvcgpleGFtcGxlLCBhbiA8PGVyYy1mcmFnLGV2ZW50IHJlY29yZCBj bGFzcz4+IGRlc2NyaWJlcyA8PGVyLGV2ZW50CnJlY29yZHM+Pi4KCkNvbnN1bWVyOjoKICAgIEEg c29mdHdhcmUgb3IgaGFyZHdhcmUgc3lzdGVtIHdoaWNoIGNvbnN1bWVzIChyZWFkcykgdGhlIHN0 cmVhbXMgb2YKICAgIGEgPDx0cmFjZSx0cmFjZT4+LgorCkEgdHJhY2UgY29uc3VtZXIgaXMgb2Z0 ZW4gYSBfdHJhY2Ugdmlld2VyXyBvciBhIF90cmFjZSBhbmFseXplcl8uCgpbW25zLWRlZl1dTmFt ZXNwYWNlOjoKICAgIEEgc3RyaW5nIG9mIHdoaWNoIHRoZSBwdXJwb3NlIGlzIHRvIGF2b2lkIG5h bWluZyBjb25mbGljdHMuCisKVGhpcyBkb2N1bWVudCBkb2Vzbid0IHNwZWNpZnkgdGhlIGZvcm1h dCBvZiBhIG5hbWVzcGFjZS4gSXQgaXMKX3JlY29tbWVuZGVkXyB0byB1c2UgYSBVUkksIG9yIGF0 IGxlYXN0IHRvIGluY2x1ZGUgYSBkb21haW4gbmFtZSBvd25lZApieSB0aGUgb3JnYW5pemF0aW9u IGRlZmluaW5nIHRoZSBvYmplY3RzIHVuZGVyIGEgbmFtZXNwYWNlLgorCklNUE9SVEFOVDogVGhl IGBzdGRgIG5hbWVzcGFjZSBpcyByZXNlcnZlZCBmb3IgdGhlIHtjdGYyfSBzcGVjaWZpY2F0aW9u LgoKUHJvZHVjZXI6OgogICAgQSBzb2Z0d2FyZSBvciBoYXJkd2FyZSBzeXN0ZW0gd2hpY2ggcHJv ZHVjZXMgKHdyaXRlcykgdGhlIHN0cmVhbXMgb2YKICAgIGEgPDx0cmFjZSx0cmFjZT4+LgorCkEg dHJhY2UgcHJvZHVjZXIgaXMgb2Z0ZW4gYSBfdHJhY2VyXy4KClNlcXVlbmNlOjoKICAgIEEgc2V0 IG9mIHJlbGF0ZWQgaXRlbXMgdGhhdCBmb2xsb3cgZWFjaCBvdGhlciBpbiBhIHBhcnRpY3VsYXIg b3JkZXIuCgpTdHJlYW06OgogICAgQSBzZXF1ZW5jZSBvZiBieXRlcy4KCltbdHJhY2VdXQo9PSBU cmFjZSBjb21wb3NpdGlvbgoKQSB0cmFjZSBpczoKCiogT25lIDw8bWV0YWRhdGEtc3RyZWFtLW92 ZXJ2aWV3LG1ldGFkYXRhIHN0cmVhbT4+LgoqIE9uZSBvciBtb3JlIDw8ZGF0YS1zdHJlYW0sZGF0 YSBzdHJlYW1zPj4uCiogWmVybyBvciBtb3JlIDw8YXV4LXN0cmVhbSxhdXhpbGlhcnkgc3RyZWFt cz4+LgoKQXMgYSByZW1pbmRlciwgYSBzdHJlYW0gaXMgZGVmaW5lZCBhcyBhIHNlcXVlbmNlIG9m IGJ5dGVzLgoKTk9URTogVGhpcyBkb2N1bWVudCBkb2Vzbid0IHNwZWNpZnkgaG93IHRvIHRyYW5z cG9ydCBvciBzdG9yZQp7Y3RmMn0gc3RyZWFtcy4gQSBwcm9kdWNlciBjb3VsZCBzZXJpYWxpemUg YWxsIHN0cmVhbXMgYXMgYSBzaW5nbGUgZmlsZQpvbiB0aGUgZmlsZSBzeXN0ZW0sIG9yIGl0IGNv dWxkIHNlbmQgdGhlIHN0cmVhbXMgb3ZlciB0aGUgbmV0d29yayB1c2luZwpUQ1AsIHRvIG5hbWUg YSBmZXcgZXhhbXBsZXMuCgpbW21ldGFkYXRhLXN0cmVhbS1vdmVydmlld11dCj09PSBNZXRhZGF0 YSBzdHJlYW0gKG92ZXJ2aWV3KQoKQSBtZXRhZGF0YSBzdHJlYW0gZGVzY3JpYmVzIHRyYWNlIDw8 ZHMsZGF0YSBzdHJlYW1zPj4gd2l0aCBKU09OIG9iamVjdHMuCgpBIG1ldGFkYXRhIHN0cmVhbSBk ZXNjcmliZXMgdGhpbmdzIHN1Y2ggYXM6CgoqIFRoZSA8PGNjLWZyYWcsY2xhc3M+PiBvZiB0aGUg ZGF0YSBzdHJlYW0gPDxkZWYtY2xrLGRlZmF1bHQgY2xvY2tzPj4uCiogVGhlIG5hbWVzIG9mIDw8 ZXJjLWZyYWcsZXZlbnQgcmVjb3JkIGNsYXNzZXM+Pi4KKiBUaGUgPDxmYyxjbGFzc2VzPj4gb2Yg ZXZlbnQgcmVjb3JkIGZpZWxkcy4KCk11bHRpcGxlIHRyYWNlcyB7bWF5fSBzaGFyZSB0aGUgc2Ft ZSBtZXRhZGF0YSBzdHJlYW06IGEgZ2l2ZW4gdHJhY2UKe21heX0gY29udGFpbiBzcGVjaWZpYyBp bmZvcm1hdGlvbiBpbiBpdHMgb3duIDw8YXV4LXN0cmVhbSxhdXhpbGlhcnkKc3RyZWFtcz4+LgoK U2VlIDw8bWV0YWRhdGEtc3RyZWFtPj4gZm9yIHRoZSBmdWxsIG1ldGFkYXRhIHN0cmVhbSBzcGVj aWZpY2F0aW9uLgoKW1tkc11dCj09PSBEYXRhIHN0cmVhbQoKQSBfZGF0YSBzdHJlYW1fIGlzIGEg c2VxdWVuY2Ugb2Ygb25lIG9yIG1vcmUgZGF0YSA8PHBrdCxwYWNrZXRzPj46CgppbWFnZTo6Y3Rm LXRyYWNlLWFsbC5zdmdbXQoKSW4gdGhlIDw8bWV0YWRhdGEtc3RyZWFtLG1ldGFkYXRhIHN0cmVh bT4+LCBhCjw8ZHNjLWZyYWcsZGF0YSBzdHJlYW0gY2xhc3M+PiBkZXNjcmliZXMgZGF0YSBzdHJl YW1zLgoKQSBwYWNrZXQge211c3R9IGNvbnRhaW4gb25lIG9yIG1vcmUgYnl0ZXMgb2YgZGF0YS4K CkFsdGhvdWdoIGEgcGFja2V0IHttYXl9IGNvbnRhaW4gcGFkZGluZyBhdCB0aGUgZW5kIGl0c2Vs ZiwgZnJvbSB0aGUgZGF0YQpzdHJlYW0ncyBwb2ludCBvZiB2aWV3LCB0aGVyZSdzIG5vIHBhZGRp bmcgYmV0d2VlbiBwYWNrZXRzLiBJbiBvdGhlcgp3b3JkcywgdGhlIGJ5dGUgZm9sbG93aW5nIHRo ZSBsYXN0IGJ5dGUgb2YgYSBwYWNrZXQgaXMgdGhlIGZpcnN0IGJ5dGUgb2YKdGhlIG5leHQgcGFj a2V0LgoKQSBkYXRhIHN0cmVhbSB7bWF5fSBoYXZlLCBjb25jZXB0dWFsbHk6CgpbW2RlZi1jbGtd XU9uZSBkZWZhdWx0LCBtb25vdG9uaWMgY2xvY2s6OgogICAgRGVzY3JpYmVkIGJ5IGEgPDxjYy1m cmFnLGNsb2NrIGNsYXNzPj4gaW4gdGhlIG1ldGFkYXRhIHN0cmVhbS4KKwo8PHBrdCxQYWNrZXRz Pj4gYW5kIDw8ZXIsZXZlbnQgcmVjb3Jkcz4+IHttYXl9IGNvbnRhaW4gX3NuYXBzaG90c18sCm5h bWVkIF90aW1lc3RhbXBzXywgb2YgdGhlaXIgZGF0YSBzdHJlYW0ncyBkZWZhdWx0IGNsb2NrLgoK W1tkaXNjLWVyLWNvdW50ZXJdXU9uZSBjb3VudGVyIG9mIGRpc2NhcmRlZCBldmVudCByZWNvcmRz OjoKICAgIEluZGljYXRlcyB0aGUgbnVtYmVyIG9mIGV2ZW50IHJlY29yZHMgd2hpY2ggdGhlIHBy b2R1Y2VyCiAgICBuZWVkZWQgdG8gZGlzY2FyZCBmb3IgZGlmZmVyZW50IHJlYXNvbnMuCisKRm9y IGV4YW1wbGUsIGEgdHJhY2VyIGNvdWxkIGRpc2NhcmQgYW4gZXZlbnQgcmVjb3JkIHdoZW4gaXQg ZG9lc24ndCBmaXQKc29tZSBidWZmZXIgYW5kIHRoZXJlJ3Mgbm8gb3RoZXIgYXZhaWxhYmxlIGJ1 ZmZlci4KKwpBIHBhY2tldCB7bWF5fSBjb250YWluIGEgc25hcHNob3Qgb2YgdGhpcyBjb3VudGVy LgoKU2VlIDw8ZHMtZGVjPj4gdG8gbGVhcm4gaG93IHRvIGRlY29kZSBhIHtjdGYyfSBkYXRhIHN0 cmVhbS4KCltbcGt0XV0KPT09PSBQYWNrZXQKCkEgX3BhY2tldF8gaXMgYSBwYXJ0IG9mIGEgPDxk cyxkYXRhIHN0cmVhbT4+LgoKQSBwYWNrZXQgY29udGFpbnMgYSBzZXF1ZW5jZSBvZiBkYXRhIF9m aWVsZHNfIG9yIHBhZGRpbmcgKGdhcmJhZ2UKZGF0YSkuIEluIHRoZSBtZXRhZGF0YSBzdHJlYW0s IDw8ZmMsZmllbGQgY2xhc3Nlcz4+IGRlc2NyaWJlIGRhdGEKZmllbGRzLgoKQSBwYWNrZXQge3Zh ci1wfSwgY29udGFpbmVkIGluIGEgZGF0YSBzdHJlYW17bmJzcH17dmFyLXN9LCBjb250YWlucywK aW4gdGhpcyBvcmRlcjoKCi4gW1twa3QtaGVhZGVyXV17b3B0aW9uYWx9OiBBICoqaGVhZGVyKiog PDxzdHJ1Y3QtZmMsc3RydWN0dXJlPj4gZmllbGQsCiAgZGVzY3JpYmVkIGF0IHRoZSA8PHRjLWZy YWcsdHJhY2UgY2xhc3M+PiBsZXZlbCBpbiB0aGUKICA8PG1ldGFkYXRhLXN0cmVhbSxtZXRhZGF0 YSBzdHJlYW0+Piwgd2hpY2ggY29udGFpbnM6Ci4uIHtvcHRpb25hbH06IEEgcGFja2V0IG1hZ2lj IG51bWJlciBmaWVsZCAoMHhjMWZjMWZjMSwgb3IgMzI1NDUyNTg4OSkuCi4uIE9yZGVyIF9ub3Rf IHNpZ25pZmljYW50OgoqKioge29wdGlvbmFsfTogQSB0cmFjZSBjbGFzcyBVVUlEIGZpZWxkLgoq Kioge29wdGlvbmFsfTogT25lIG9yIG1vcmUgZmllbGRzIHdoaWNoIGNvbnRhaW4gdGhlIG51bWVy aWMgSUQgb2YgdGhlCiAgICA8PGRzYy1mcmFnLGNsYXNzPj4gb2Z7bmJzcH17dmFyLXN9LgoqKiog e29wdGlvbmFsfTogT25lIG9yIG1vcmUgZmllbGRzIHdoaWNoIGNvbnRhaW4gdGhlIG51bWVyaWMg SUQKICAgIG9me25ic3B9e3Zhci1zfS4KCi4gW1twa3QtY3R4XV17b3B0aW9uYWx9OiBBICoqY29u dGV4dCoqIDw8c3RydWN0LWZjLHN0cnVjdHVyZT4+IGZpZWxkLAogIGRlc2NyaWJlZCBhdCB0aGUg PDxkc2MtZnJhZyxkYXRhIHN0cmVhbSBjbGFzcz4+IGxldmVsIGluIHRoZSBtZXRhZGF0YQogIHN0 cmVhbSwgd2hpY2ggY29udGFpbnMgKG9yZGVyIF9ub3RfIHNpZ25pZmljYW50KToKKioge29wdGlv bmFsfTogQSBmaWVsZCB3aGljaCBjb250YWlucyB0aGUgdG90YWwgc2l6ZSBvZntuYnNwfXt2YXIt cH0sCiAgIGluIGJpdHMgKGFsd2F5cyBhIG11bHRpcGxlIG9mIDgpLgoqKiB7b3B0aW9uYWx9OiBB IGZpZWxkIHdoaWNoIGNvbnRhaW5zIHRoZSBjb250ZW50IHNpemUKICAgb2Z7bmJzcH17dmFyLXB9 LCBpbiBiaXRzLgoqKiB7b3B0aW9uYWx9OiBBIGZpZWxkIHdoaWNoIGNvbnRhaW5zIHRoZSBiZWdp bm5pbmcgdGltZXN0YW1wCiAgIG9me25ic3B9e3Zhci1wfS4KKioge29wdGlvbmFsfTogQSBmaWVs ZCB3aGljaCBjb250YWlucyB0aGUgZW5kIHRpbWVzdGFtcAogICBvZntuYnNwfXt2YXItcH0uCioq IHtvcHRpb25hbH06IEEgZmllbGQgd2hpY2ggY29udGFpbnMgYSBzbmFwc2hvdCBvZiB0aGUKICAg PDxkaXNjLWVyLWNvdW50ZXIsZGlzY2FyZGVkIGV2ZW50IHJlY29yZCBjb3VudGVyPj4gb2Z7bmJz cH17dmFyLXN9CiAgIGF0IHRoZSBlbmQgb2Z7bmJzcH17dmFyLXB9LgoqKiB7b3B0aW9uYWx9OiBB IGZpZWxkIHdoaWNoIGNvbnRhaW5zIHRoZSBzZXF1ZW5jZSBudW1iZXIKICAgb2Z7bmJzcH17dmFy LXB9IHdpdGhpbntuYnNwfXt2YXItc30uCioqIHtvcHRpb25hbH06IFVzZXIgZmllbGRzLgoKLiBa ZXJvIG9yIG1vcmUgPDxlcixldmVudCByZWNvcmRzPj4uCgpBIHBhY2tldCB7bXVzdH0gY29udGFp biBvbmUgb3IgbW9yZSBieXRlcyBvZiBkYXRhLgoKQSBwYWNrZXQge21heX0gaGF2ZSBwYWRkaW5n IChnYXJiYWdlIGRhdGEpIGFmdGVyIGl0cyBfbGFzdF8gZXZlbnQKcmVjb3JkLiBUaGUgc2l6ZSBv ZiB0aGlzIHBhZGRpbmcgaXMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBpdHMgdG90YWwKc2l6ZSBh bmQgaXRzIGNvbnRlbnQgc2l6ZSAoYXMgZm91bmQgaW4gaXRzIDw8cGt0LWN0eCxjb250ZXh0IHN0 cnVjdHVyZQpmaWVsZD4+KS4KClBhY2tldHMgYXJlIGluZGVwZW5kZW50IG9mIGVhY2ggb3RoZXI6 IGlmIHlvdSByZW1vdmUgYSBwYWNrZXQKZnJvbSBhIGRhdGEgc3RyZWFtLCBhIGNvbnN1bWVyIGNh biBzdGlsbCBkZWNvZGUgdGhlIHdob2xlIGRhdGEgc3RyZWFtLgpUaGlzIGlzIHdoeToKCiogUGFj a2V0cyB7bWF5fSBjb250YWluIF9zbmFwc2hvdHNfIG9mIHRoZWlyIGRhdGEgc3RyZWFtJ3MKICA8 PGRpc2MtZXItY291bnRlcixkaXNjYXJkZWQgZXZlbnQgcmVjb3JkIGNvdW50ZXI+Pi4KCiogUGFj a2V0cyBhbmQgZXZlbnQgcmVjb3JkcyB7bWF5fSBjb250YWluIF90aW1lc3RhbXBzXyB3aGljaCBh cmUKICBzbmFwc2hvdHMgb2YgdGhlaXIgZGF0YSBzdHJlYW0ncyA8PGRlZi1jbGssZGVmYXVsdCBj bG9jaz4+LgoKSWYgdGhlIDw8cGt0LWN0eCxwYWNrZXQgY29udGV4dD4+IGZpZWxkcyBvZiBhIGRh dGEgc3RyZWFtJ3MgcGFja2V0cwpjb250YWluIGEgPDxwa3Qtc2VxLW51bS1yb2xlLHBhY2tldCBz ZXF1ZW5jZSBudW1iZXI+PiBmaWVsZCwgYSBjb25zdW1lcgpjYW4gcmVjb2duaXplIG1pc3Npbmcg cGFja2V0cy4KClNlZSA8PHBrdC1kZWM+PiB0byBsZWFybiBob3cgdG8gZGVjb2RlIGEge2N0ZjJ9 IHBhY2tldC4KCltbZXJdXQo9PT09IEV2ZW50IHJlY29yZAoKQW4gX2V2ZW50IHJlY29yZF8gaXMg dGhlIHJlc3VsdCBvZiBhIHByb2R1Y2VyIHdyaXRpbmcgYSByZWNvcmQgd2l0aAp7b3B0aW9uYWx9 IHVzZXIgZGF0YSB3aGVuIGFuIGV2ZW50IG9jY3VycyBkdXJpbmcgaXRzIGV4ZWN1dGlvbi4KCkEg PDxwa3QscGFja2V0Pj4gY29udGFpbnMgemVybyBvciBtb3JlIGV2ZW50IHJlY29yZHMuCgpBbiA8 PGVyYy1mcmFnLGV2ZW50IHJlY29yZCBjbGFzcz4+IGRlc2NyaWJlcyB0aGUgc3BlY2lmaWMgcGFy dHMgb2YKZXZlbnQgcmVjb3Jkcy4KCkFuIGV2ZW50IHJlY29yZCBfKipFKipfLCBjb250YWluZWQg aW4gYSA8PGRzLGRhdGEKc3RyZWFtPj57bmJzcH17dmFyLXN9LCBjb250YWlucywgaW4gdGhpcyBv cmRlcjoKCi4gW1tlci1oZWFkZXJdXXtvcHRpb25hbH06IEEgKipoZWFkZXIqKiA8PHN0cnVjdC1m YyxzdHJ1Y3R1cmU+PiBmaWVsZCwKICBkZXNjcmliZWQgYXQgdGhlIDw8ZHNjLWZyYWcsZGF0YSBz dHJlYW0gY2xhc3M+PiBsZXZlbCBpbiB0aGUgbWV0YWRhdGEKICBzdHJlYW0sIHdoaWNoIGNvbnRh aW5zIChvcmRlciBfbm90XyBzaWduaWZpY2FudCk6CioqIHtvcHRpb25hbH06IE9uZSBvciBtb3Jl IGZpZWxkcyB3aGljaCBjb250YWluIHRoZSBudW1lcmljIElEIG9mIHRoZQogICA8PGVyYy1mcmFn LGNsYXNzPj4gb2Z7bmJzcH1fXyoqRSoqX18gd2hpY2ggaGFzIHRoZSBjbGFzcwogICBvZntuYnNw fXt2YXItc30gYXMgaXRzIHBhcmVudC4KKioge29wdGlvbmFsfTogT25lIG9yIG1vcmUgZmllbGRz IHdoaWNoIGNvbnRhaW4gYSB0aW1lc3RhbXAgb3IgYSBwYXJ0aWFsCiAgIHRpbWVzdGFtcC4KCi4g W1tlci1jb21tb24tY3R4XV17b3B0aW9uYWx9OiBBICoqY29tbW9uIGNvbnRleHQqKgogIDw8c3Ry dWN0LWZjLHN0cnVjdHVyZT4+IGZpZWxkLCBkZXNjcmliZWQgYXQgdGhlIGRhdGEgc3RyZWFtIGNs YXNzCiAgbGV2ZWwgaW4gdGhlIG1ldGFkYXRhIHN0cmVhbSwgd2hpY2ggY29udGFpbnMgdXNlciBm aWVsZHMuCgouIFtbZXItc3BlYy1jdHhdXXtvcHRpb25hbH06IEEgKipzcGVjaWZpYyBjb250ZXh0 KioKICA8PHN0cnVjdC1mYyxzdHJ1Y3R1cmU+PiBmaWVsZCwgZGVzY3JpYmVkIGF0IHRoZSBldmVu dCByZWNvcmQgY2xhc3MKICBsZXZlbCBpbiB0aGUgbWV0YWRhdGEgc3RyZWFtLCB3aGljaCBjb250 YWlucyB1c2VyIGZpZWxkcy4KCi4gW1tlci1wYXlsb2FkXV17b3B0aW9uYWx9OiBBICoqcGF5bG9h ZCoqIDw8c3RydWN0LWZjLHN0cnVjdHVyZT4+IGZpZWxkLAogIGRlc2NyaWJlZCBhdCB0aGUgZXZl bnQgcmVjb3JkIGNsYXNzIGxldmVsIGluIHRoZSBtZXRhZGF0YSBzdHJlYW0sCiAgd2hpY2ggY29u dGFpbnMgdXNlciBmaWVsZHMuCgpBbiBldmVudCByZWNvcmQge211c3R9IGNvbnRhaW4gb25lIG9y IG1vcmUgYml0cyBvZiBkYXRhLgoKVGhlIDw8ZGVmLWNsayxkZWZhdWx0IGNsb2NrPj4gdGltZXN0 YW1wIG9mIGFuIGV2ZW50IHJlY29yZCwgdGhhdCBpcywgdGhlCnZhbHVlIG9mIGl0cyA8PGRzLGRh dGEgc3RyZWFtPj4ncyBkZWZhdWx0IGNsb2NrIF9hZnRlcl8gaXRzCjw8ZXItaGVhZGVyLGhlYWRl ciBmaWVsZD4+LCBpZiBhbnksIGlzIGVuY29kZWQvZGVjb2RlZCB7bXVzdH0gYmUgZ3JlYXRlcgp0 aGFuIG9yIGVxdWFsIHRvIHRoZSBkZWZhdWx0IGNsb2NrIHRpbWVzdGFtcCBvZiB0aGUgcHJldmlv dXMgZXZlbnQKcmVjb3JkLCBpZiBhbnksIHdpdGhpbiB0aGUgX3NhbWVfIGRhdGEgc3RyZWFtLgoK U2VlIDw8ZXItZGVjPj4gdG8gbGVhcm4gaG93IHRvIGRlY29kZSBhIHtjdGYyfSBldmVudCByZWNv cmQuCgpbW2F1eC1zdHJlYW1dXQo9PT0gQXV4aWxpYXJ5IHN0cmVhbQoKQW4gYXV4aWxpYXJ5IHN0 cmVhbSBpcyBhIEpTT04gb2JqZWN0LCBhcyBzcGVjaWZpZWQgYnkKaHR0cHM6Ly93d3cuZWNtYS1p bnRlcm5hdGlvbmFsLm9yZy9wdWJsaWNhdGlvbnMvZmlsZXMvRUNNQS1TVC9FQ01BLTQwNC5wZGZb RUNNQS00MDRdLAp3aGljaCBjb250YWlucyBleHRyYSwgc3RydWN0dXJlZCBpbmZvcm1hdGlvbiBh Ym91dCB0aGUgdHJhY2Ugd2hpY2gKZG9lc24ndCBmaXQgdGhlIDw8ZHMsZGF0YSBzdHJlYW0+PiBt b2RlbC4KCkFuIGF1eGlsaWFyeSBzdHJlYW0gaGFzIGEgc2luZ2xlIHByb3BlcnR5OgoKW2hvcml6 b250YWxdCk5hbWU6OgogICAgQXV4aWxpYXJ5IHN0cmVhbSdzIDw8bnMtZGVmLG5hbWVzcGFjZT4+ LgoKVmFsdWU6OgogICAgQSBKU09OIHZhbHVlLgoKVHdvIGF1eGlsaWFyeSBzdHJlYW1zIG9mIGEg Z2l2ZW4gdHJhY2Uge211c3Qtbm90fSBoYXZlIHRoZSBzYW1lCm5hbWVzcGFjZS4KCi5BdXhpbGlh cnkgc3RyZWFtIHdpdGggdGhlIGBteS50cmFjZXJgIG5hbWVzcGFjZS4KPT09PQpbc291cmNlLGpz b25dCi0tLS0KewogICJteS50cmFjZXIiOiB7CiAgICAidmVyc2lvbiI6IFsxLCAzLCAyXSwKICAg ICJzZXNzaW9uLW5hbWUiOiAiaGFub24iCiAgfQp9Ci0tLS0KPT09PQoKLkF1eGlsaWFyeSBzdHJl YW0gb2Ygd2hpY2ggdGhlIHZhbHVlIGlzIGp1c3QgYDQyYC4KPT09PQpbc291cmNlLGpzb25dCi0t LS0KewogICIzMjhjN2EyZC1hOTU5LTRmNjAtYmQyMi1jY2E3NDM1OTMyNmYiOiA0Mgp9Ci0tLS0K PT09PQoKW1tlbnZdXQo9PT09IFRyYWNlIGVudmlyb25tZW50CgpUbyByZW1haW4gYmFja3dhcmQg Y29tcGF0aWJsZSB3aXRoIHtjdGYxfSwgYSB0cmFjZSB7bWF5fSBjb250YWluIGFuCmF1eGlsaWFy eSBzdHJlYW0gaGF2aW5nIHRoZSBgc3RkYCBuYW1lc3BhY2Ugd2hpY2ggY29udGFpbnMgdHJhY2UK ZW52aXJvbm1lbnQgdmFyaWFibGVzIHVuZGVyIHRoZSBgZW52aXJvbm1lbnRgIHByb3BlcnR5LgoK VGhlIHRyYWNlIGVudmlyb25tZW50IHZhcmlhYmxlcyBhcmUgYSBzaW5nbGUgSlNPTiBvYmplY3Qg d2hlcmUgZWFjaApwcm9wZXJ0eSBpczoKCltob3Jpem9udGFsXQpOYW1lOjoKICAgIFRyYWNlIGVu dmlyb25tZW50IHZhcmlhYmxlIG5hbWUuCgpWYWx1ZTo6CiAgICBUcmFjZSBlbnZpcm9ubWVudCB2 YXJpYWJsZSB2YWx1ZSAoYW55IEpTT04gdmFsdWUpLgoKVGhpcyBkb2N1bWVudCBkb2Vzbid0IHNw ZWNpZnkgdHJhY2UgZW52aXJvbm1lbnQgdmFyaWFibGUgbmFtZXMuCgouYHN0ZGAgYXV4aWxpYXJ5 IHN0cmVhbSB3aXRoIHRyYWNlIGVudmlyb25tZW50IHZhcmlhYmxlcy4KPT09PQpbc291cmNlLGpz b25dCi0tLS0KewogICJzdGQiOiB7CiAgICAiZW52aXJvbm1lbnQiOiB7CiAgICAgICJob3N0bmFt ZSI6ICJoYW5vbiIsCiAgICAgICJkb21haW4iOiAia2VybmVsIiwKICAgICAgInN5c25hbWUiOiAi TGludXgiLAogICAgICAia2VybmVsX3JlbGVhc2UiOiAiNC4xMi4xMi0xLUFSQ0giLAogICAgICAi a2VybmVsX3ZlcnNpb24iOiAiIzEgU01QIFBSRUVNUFQgU3VuIFNlcCAxMCAwOTo0MToxNCBDRVNU IDIwMTciLAogICAgICAidHJhY2VyX25hbWUiOiAibHR0bmctbW9kdWxlcyIsCiAgICAgICJ0cmFj ZXJfbWFqb3IiOiAyLAogICAgICAidHJhY2VyX21pbm9yIjogMTAsCiAgICAgICJ0cmFjZXJfcGF0 Y2hsZXZlbCI6IDAKICAgIH0KICB9Cn0KLS0tLQo9PT09CgpbW21ldGFkYXRhLXN0cmVhbV1dCj09 IE1ldGFkYXRhIHN0cmVhbQoKQSBtZXRhZGF0YSBzdHJlYW0gaXMgYSBKU09OIGFycmF5LCBhcyBz cGVjaWZpZWQgYnkKaHR0cHM6Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9wdWJsaWNhdGlv bnMvZmlsZXMvRUNNQS1TVC9FQ01BLTQwNC5wZGZbRUNNQS00MDRdLApvZiBfZnJhZ21lbnRzXy4K ClRvZ2V0aGVyLCB0aGUgZnJhZ21lbnRzIG9mIGEgbWV0YWRhdGEgc3RyZWFtIGNvbnRhaW4gYWxs IHRoZSBpbmZvcm1hdGlvbgphYm91dCB0aGUgPDxkcyxkYXRhIHN0cmVhbXM+PiBvZiBvbmUgb3Ig bW9yZSA8PHRyYWNlLHRyYWNlcz4+LgoKW1tmcmFnXV1BIF9mcmFnbWVudF8gaXMgYSBKU09OIG9i amVjdDsgaXRzIGFsbG93ZWQgcHJvcGVydGllcyBkZXBlbmQgb24KaXRzIGB0eXBlYCBwcm9wZXJ0 eS4KCi5Db21tb24gcHJvcGVydGllcyBvZiBhIGZyYWdtZW50IHt2YXItZn0uClslaGVhZGVyJWF1 dG93aWR0aCxjb2xzPSJkLGQsYSxkLGQiXQp8PT09CnxOYW1lIHxUeXBlIHxEZXNjcmlwdGlvbiB8 UmVxdWlyZWQ/IHxEZWZhdWx0Cgp8YHR5cGVgCnxKU09OIHN0cmluZwp8VHlwZSBvZntuYnNwfXt2 YXItZn0uCgpUaGUgdmFsdWUgb2YgdGhpcyBwcm9wZXJ0eSB7bXVzdH0gYmUgb25lIG9mOgoKYCJw cmVhbWJsZSJgOjoKICAgIHt2YXItZn0gaXMgYSA8PHByZWFtYmxlLWZyYWcscHJlYW1ibGUgZnJh Z21lbnQ+Pi4KCmAidHJhY2UtY2xhc3MiYDo6CiAgICB7dmFyLWZ9IGlzIGEgPDx0Yy1mcmFnLHRy YWNlIGNsYXNzIGZyYWdtZW50Pj4uCgpgImNsb2NrLWNsYXNzImA6OgogICAge3Zhci1mfSBpcyBh IDw8Y2MtZnJhZyxjbG9jayBjbGFzcyBmcmFnbWVudD4+LgoKYCJkYXRhLXN0cmVhbS1jbGFzcyJg OjoKICAgIHt2YXItZn0gaXMgYSA8PGRzYy1mcmFnLGRhdGEgc3RyZWFtIGNsYXNzIGZyYWdtZW50 Pj4uCgpgImV2ZW50LXJlY29yZC1jbGFzcyJgOjoKICAgIHt2YXItZn0gaXMgYSA8PGVyYy1mcmFn LGV2ZW50IHJlY29yZCBjbGFzcyBmcmFnbWVudD4+Lgp8WWVzCnwKCnxgdXNlci1hdHRyaWJ1dGVz YAp8PDx1c2VyLWF0dHJzLFVzZXIgYXR0cmlidXRlcz4+CnxVc2VyIGF0dHJpYnV0ZXMgb2Z7bmJz cH17dmFyLWZ9Lgp8Tm8KfGAre30rYAoKfGBleHRlbnNpb25zYAp8PDxleHQsRXh0ZW5zaW9ucz4+ CnxFeHRlbnNpb25zIG9me25ic3B9e3Zhci1mfS4KCkZvciBhbnkgZnJhZ21lbnQgZXhjZXB0IGEg PDxwcmVhbWJsZS1mcmFnLHByZWFtYmxlIGZyYWdtZW50Pj4sIGFueQpleHRlbnNpb24gd2hpY2gg ZXhpc3RzIHVuZGVyIHRoaXMgcHJvcGVydHkgbXVzdCBhbHNvIGJlIGRlY2xhcmVkIGluIHRoZQpt ZXRhZGF0YSBzdHJlYW0ncyBwcmVhbWJsZSBmcmFnbWVudC4KfE5vCnxgK3t9K2AKfD09PQoKVGhl IG1ldGFkYXRhIHN0cmVhbSBpcyBkZXNpZ25lZCBhcyBhIGZsYXQgSlNPTiBhcnJheSBvZiBmcmFn bWVudHMKaW5zdGVhZCBvZiBhIHNpbmdsZSBKU09OIG9iamVjdCBjb250YWluaW5nIG5lc3RlZCBv YmplY3RzIHRvIGVuYWJsZQpyZWFsLXRpbWUsIG9yICJgbGl2ZWAiLCB0cmFjaW5nOiBhIGNvbnN1 bWVyIGNhbiBhbHdheXMgZGVjb2RlIDw8ZXIsZXZlbnQKcmVjb3Jkcz4+IGhhdmluZyBrbm93biA8 PGVyYy1mcmFnLGV2ZW50IHJlY29yZCBjbGFzc2VzPj4gd2hpbGUgYQpwcm9kdWNlciBjYW4gYWx3 YXlzIGFkZCBuZXcgZXZlbnQgcmVjb3JkIGNsYXNzZXMgdG8gYSA8PGRzYy1mcmFnLGRhdGEKc3Ry ZWFtIGNsYXNzPj4gYnkgYXBwZW5kaW5nIGFkZGl0aW9uYWwgZnJhZ21lbnRzIHRvIHRoZSBtZXRh ZGF0YSBzdHJlYW0uCk9uY2UgYSBwcm9kdWNlciBhcHBlbmRzIGEgZnJhZ21lbnQgdG8gYSBtZXRh ZGF0YSBzdHJlYW0sIHRoZSBmcmFnbWVudAppcyBjb25zaWRlcmVkICJgZnJvemVuYCIsIGluIHRo YXQgaXQgbmV2ZXIgbmVlZHMgdG8gY2hhbmdlLgoKQSBtZXRhZGF0YSBzdHJlYW06CgoqIHttdXN0 fSBzdGFydCB3aXRoIGEgcHJlYW1ibGUgZnJhZ21lbnQuCioge211c3R9IGNvbnRhaW4gZXhhY3Rs eSBvbmUgPDxwcmVhbWJsZS1mcmFnLHByZWFtYmxlIGZyYWdtZW50Pj4uCioge21heX0gY29udGFp biBvbmUgPDx0Yy1mcmFnLHRyYWNlIGNsYXNzIGZyYWdtZW50Pj4uCioge211c3R9IGNvbnRhaW4g b25lIG9yIG1vcmUgPDxkc2MtZnJhZyxkYXRhIHN0cmVhbSBjbGFzcyBmcmFnbWVudHM+PgogIHdo aWNoIHttdXN0fSBmb2xsb3cgdGhlIHRyYWNlIGNsYXNzIGZyYWdtZW50LCBpZiBhbnkuCioge21h eX0gY29udGFpbiBvbmUgb3IgbW9yZSA8PGVyLWZyYWcsZXZlbnQgcmVjb3JkIGNsYXNzIGZyYWdt ZW50cz4+CiAgd2hpY2gge211c3R9IGZvbGxvdyB0aGVpciBwYXJlbnQgZGF0YSBzdHJlYW0gY2xh c3MsIGlmIGFueS4KCi5QYXJ0aWFsIG1ldGFkYXRhIHN0cmVhbS4KPT09PQpbc291cmNlLGpzb25d Ci0tLS0KWwogIHsKICAgICJ0eXBlIjogInByZWFtYmxlIiwKICAgICJ2ZXJzaW9uIjogMgogIH0s CiAg4oCmCl0KLS0tLQo9PT09CgpbTk9URV0KPT09PQpUaGlzIHNlY3Rpb24gZG9lc24ndCBzcGVj aWZ5IGhvdyBhIG1ldGFkYXRhIHN0cmVhbSB0cmFuc2xhdGVzIGludG8KPDxkcyxkYXRhIHN0cmVh bT4+IGVuY29kaW5nIGFuZCBkZWNvZGluZyBydWxlczsgaXQgb25seSBkZXNjcmliZXMKb2JqZWN0 cyBhbmQgdGhlaXIgcHJvcGVydGllcy4KClNlZSA8PGRzLWRlYz4+IHRvIGxlYXJuIGhvdyB0byBk ZWNvZGUgYSBkYXRhIHN0cmVhbS4KPT09PQoKW1t1dWlkXV0KPT09IFVVSUQKCkJvdGggYSA8PHRj LWZyYWcsdHJhY2UgY2xhc3MgZnJhZ21lbnQ+PiBhbmQgYSA8PGNjLWZyYWcsY2xvY2sgY2xhc3MK ZnJhZ21lbnQ+PiB7bWF5fSBoYXZlIGEKaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVW5p dmVyc2FsbHlfdW5pcXVlX2lkZW50aWZpZXJbX1VVSURfXQpwcm9wZXJ0eS4KCldpdGhpbiBhIG1l dGFkYXRhIHN0cmVhbSwgYSBVVUlEIGlzIGEgSlNPTiBzdHJpbmcgb2Ygd2hpY2ggdGhlIHZhbHVl IGlzCnRoZSBjYW5vbmljYWwgdGV4dHVhbCByZXByZXNlbnRhdGlvbiBvZiB0aGUgVVVJRC4KCi5V VUlELgo9PT09Cltzb3VyY2UsanNvbl0KLS0tLQoiZTUzZTBhYjgtNTBhMS00ZjBhLWI3MTAtYjVm MGJiYTljNGFjIgotLS0tCj09PT0KCltbZXh0XV0KPT09IEV4dGVuc2lvbnMKCkEgcHJvZHVjZXIg e21heX0gYWRkIF9leHRlbnNpb25zXyB0byBtYW55IG1ldGFkYXRhIHN0cmVhbSBKU09OIG9iamVj dHMuCgpUaGUgcHVycG9zZSBvZiBhbiBleHRlbnNpb24gaXMgdG8gYWRkIGNvcmUgZmVhdHVyZXMg dG8ge2N0ZjJ9IG9yIHRvCm1vZGlmeSBleGlzdGluZyBjb3JlIGZlYXR1cmVzLCBhcyBzcGVjaWZp ZWQgYnkgdGhpcyBkb2N1bWVudC4gSW4gb3RoZXIKd29yZHMsIGFuIGV4dGVuc2lvbiB7bWF5fSBh bHRlciB0aGUgZm9ybWF0IGl0c2VsZi4gVGhpcyBkb2N1bWVudCBkb2Vzbid0CnNwZWNpZnkgd2hh dCBhbiBleHRlbnNpb24gZXhhY3RseSBpcy4KClRoZSBtZXRhZGF0YSBzdHJlYW0ncyA8PHByZWFt YmxlLWZyYWcscHJlYW1ibGUgZnJhZ21lbnQ+PiBjb250YWlucwpfZXh0ZW5zaW9uIGRlY2xhcmF0 aW9uc186CgoqIEFueSBleHRlbnNpb24gaW4gbWV0YWRhdGEgc3RyZWFtIG9iamVjdHMge211c3R9 IGJlIGRlY2xhcmVkLCBieQogIG5hbWVzcGFjZSBhbmQgbmFtZSwgaW4gdGhlIHByZWFtYmxlIGZy YWdtZW50LgorCkRlY2xhcmluZyBhbiBleHRlbnNpb24gaXMgc2FpZCB0byBfZW5hYmxlXyBpdC4K CiogSWYgYSBjb25zdW1lciBkb2Vzbid0IHN1cHBvcnQgX2FueV8gZGVjbGFyZWQgZXh0ZW5zaW9u LCBpdCB7bXVzdC1ub3R9CiAgY29uc3VtZSB0aGUgPDx0cmFjZSx0cmFjZT4+J3MgPDxkcyxkYXRh IHN0cmVhbXM+Pi4KKwpUaGUgY29uc3VtZXIge3Nob3VsZH0gcmVwb3J0IHVuc3VwcG9ydGVkIGV4 dGVuc2lvbnMgYXMgYW4gZXJyb3IuCgpFeHRlbnNpb25zIGFyZSBhIHNpbmdsZSBKU09OIG9iamVj dCwgd2hlcmUgZWFjaCBwcm9wZXJ0eSBpczoKCltob3Jpem9udGFsXQpOYW1lOjoKICAgIEEgPDxu cy1kZWYsbmFtZXNwYWNlPj4KClZhbHVlOjoKICAgIEEgPDxucy1leHRzLW9iaixuYW1lc3BhY2Vk IGV4dGVuc2lvbnMgb2JqZWN0Pj4KCltbbnMtZXh0cy1vYmpdXUEgX25hbWVzcGFjZWQgZXh0ZW5z aW9ucyBvYmplY3RfIGlzIGEgSlNPTiBvYmplY3QsIHdoZXJlCmVhY2ggcHJvcGVydHkgaXM6Cgpb aG9yaXpvbnRhbF0KTmFtZTo6CiAgICBBbiBleHRlbnNpb24gbmFtZQoKVmFsdWU6OgogICAgQSBK U09OIHZhbHVlCgpUaGUgbWV0YWRhdGEgc3RyZWFtIEpTT04gb2JqZWN0cyB3aGljaCB7bWF5fSBj b250YWluIGV4dGVuc2lvbnMgYXMgdGhlaXIKYGV4dGVuc2lvbnNgIHByb3BlcnR5IGFyZToKCiog QW55IDw8ZnJhZyxmcmFnbWVudD4+LgorCkFuIGV4dGVuc2lvbiBpbiB0aGUgPDxwcmVhbWJsZS1m cmFnLHByZWFtYmxlIGZyYWdtZW50Pj4gYWxzbyBtYWtlcyBpdApfZGVjbGFyZWRfLgoKKiBBbnkg PDxmYyxmaWVsZCBjbGFzcz4+LgoKKiBBIDw8c3RydWN0LW1lbWJlci1jbHMsc3RydWN0dXJlIGZp ZWxkIG1lbWJlciBjbGFzcz4+LgoKKiBBIDw8dmFyLWZjLW9wdCx2YXJpYW50IGZpZWxkIGNsYXNz IG9wdGlvbj4+LgoKLlRocmVlIGV4dGVuc2lvbnMgdW5kZXIgdHdvIG5hbWVzcGFjZXMuCj09PT0K W3NvdXJjZSxqc29uXQotLS0tCnsKICAibXkudHJhY2VyIjogewogICAgInBpYW5vIjogewogICAg ICAia2V5cyI6IDg4LAogICAgICAidGVtcGVyYW1lbnQiOiAiZXF1YWwiCiAgICB9LAogICAgInJh bWVuIjogMjMKICB9LAogICJhYmMveHl6IjogewogICAgInNheCI6IHsKICAgICAgInZhcmlhbnQi OiAiYWx0byIKICAgIH0KICB9Cn0KLS0tLQo9PT09CgpbW3VzZXItYXR0cnNdXQo9PT0gVXNlciBh dHRyaWJ1dGVzCgpBIHByb2R1Y2VyIHttYXl9IGFkZCBjdXN0b20gX3VzZXIgYXR0cmlidXRlc18g dG8gbWFueSBtZXRhZGF0YSBzdHJlYW0KSlNPTiBvYmplY3RzLgoKVGhpcyBkb2N1bWVudCBkb2Vz bid0IHNwZWNpZnkgd2hhdCBhIHVzZXIgYXR0cmlidXRlIGV4YWN0bHkgaXMuIFVubGlrZQo8PGV4 dCxleHRlbnNpb25zPj4sIGEgY29uc3VtZXIge211c3Qtbm90fSBjb25zaWRlciB1c2VyIGF0dHJp YnV0ZXMgdG8KZGVjb2RlIDw8ZHMsZGF0YSBzdHJlYW1zPj4uCgpVc2VyIGF0dHJpYnV0ZXMgYXJl IGEgc2luZ2xlIEpTT04gb2JqZWN0LCB3aGVyZSBlYWNoIHByb3BlcnR5IGlzOgoKW2hvcml6b250 YWxdCk5hbWU6OgogICAgQSA8PG5zLWRlZixuYW1lc3BhY2U+PgoKVmFsdWU6OgogICAgQSBKU09O IHZhbHVlCgpUaGUgbWV0YWRhdGEgc3RyZWFtIEpTT04gb2JqZWN0cyB3aGljaCB7bWF5fSBjb250 YWluIHVzZXIgYXR0cmlidXRlcwphcyB0aGVpciBgdXNlci1hdHRyaWJ1dGVzYCBwcm9wZXJ0eSBh cmU6CgoqIEFueSA8PGZyYWcsZnJhZ21lbnQ+Pi4KKiBBbnkgPDxmYyxmaWVsZCBjbGFzcz4+Lgoq IEEgPDxzdHJ1Y3QtbWVtYmVyLWNscyxzdHJ1Y3R1cmUgZmllbGQgbWVtYmVyIGNsYXNzPj4uCiog QSA8PHZhci1mYy1vcHQsdmFyaWFudCBmaWVsZCBjbGFzcyBvcHRpb24+Pi4KCi5Vc2VyIGF0dHJp YnV0ZXMgdW5kZXIgdHdvIG5hbWVzcGFjZXMuCj09PT0KW3NvdXJjZSxqc29uXQotLS0tCnsKICAi bXkudHJhY2VyIjogewogICAgIm1heC1jb3VudCI6IDQ1LAogICAgIm1vZHVsZSI6ICJzeXMiCiAg fSwKICAiYWJjL3h5eiI6IHRydWUKfQotLS0tCj09PT0KCltbZmNdXQo9PT0gRmllbGQgY2xhc3Nl cwoKQSBfZmllbGQgY2xhc3NfIGRlc2NyaWJlcyBmaWVsZHMsIHRoYXQgaXMsIHNlcXVlbmNlcyBv ZiBiaXRzIGFzIGZvdW5kCmluIGEgPDxkcyxkYXRhIHN0cmVhbT4+LgoKQSBmaWVsZCBjbGFzcyBj b250YWlucyBhbGwgdGhlIHByb3BlcnRpZXMgYSBjb25zdW1lciBuZWVkcyB0bwo8PGRzLWRlYyxk ZWNvZGU+PiBhIGdpdmVuIGZpZWxkLgoKQSBfZmllbGRfIGlzIGEgZmllbGQgY2xhc3MgaW5zdGFu Y2UuCgpUaGlzIGRvY3VtZW50IHNwZWNpZmllcyB0aGUgZm9sbG93aW5nIHR5cGVzIG9mIGZpZWxk IGNsYXNzZXM6CgpBYnN0cmFjdCBmaWVsZCBjbGFzc2VzOjoKICAgIFlvdSBjYW5ub3QgdXNlIHRo ZSBmb2xsb3dpbmcgZmllbGQgY2xhc3NlcyBkaXJlY3RseTogdGhleSBhcmUgYmFzZXMKICAgIGZv ciBvdGhlciwgY29uY3JldGUgZmllbGQgY2xhc3NlczoKKwoqIDw8aW50LWZjLEFic3RyYWN0IGlu dGVnZXIgZmllbGQgY2xhc3M+PgoqIDw8ZW51bS1mYyxBYnN0cmFjdCBlbnVtZXJhdGlvbiBmaWVs ZCBjbGFzcz4+CiogPDxhcnJheS1mYyxBYnN0cmFjdCBhcnJheSBmaWVsZCBjbGFzcz4+CiogPDxi bG9iLWZjLEFic3RyYWN0IEJMT0IgZmllbGQgY2xhc3M+PgoKRml4ZWQvc3RhdGljLWxlbmd0aCBm aWVsZCBjbGFzc2VzOjoKKwoqIHtjLWZsLWJhLWZjfQoqIHtjLWZsLWJvb2wtZmN9Cioge2MtZmwt aW50LWZjfQoqIHtjLWZsLWVudW0tZmN9Cioge2MtZmwtZnAtZmN9Cioge2Mtc2wtc3RyLWZjfQoq IHtjLXNsLWJsb2ItZmN9CgpWYXJpYWJsZS9keW5hbWljLWxlbmd0aCBmaWVsZCBjbGFzc2VzOjoK KwoqIHtjLXZsLWJhLWZjfQoqIHtjLXZsLWludC1mY30KKiB7Yy12bC1lbnVtLWZjfQoqIHtjLXN0 ci1mY30KKiB7Yy1kbC1zdHItZmN9Cioge2MtZGwtYmxvYi1mY30KCkNvbXBvdW5kIGZpZWxkIGNs YXNzZXM6OgogICAgVGhlIGZvbGxvd2luZyBmaWVsZCBjbGFzc2VzIGNvbnRhaW4gb25lIG9yIG1v cmUgZmllbGQgY2xhc3Nlcy4KKwoqIHtjLXN0cnVjdC1mY30KKiB7Yy1zbC1hcnJheS1mY30KKiB7 Yy1kbC1hcnJheS1mY30KKiB7Yy1vcHQtZmN9Cioge2MtdmFyLWZjfQoKQSBmaWVsZCBjbGFzcyBp cyBhIEpTT04gb2JqZWN0OyBpdHMgcHJvcGVydGllcyBkZXBlbmQgb24gaXRzIGB0eXBlYApwcm9w ZXJ0eS4KCi5Db21tb24gcHJvcGVydGllcyBvZiBhIGZpZWxkIGNsYXNzIHt2YXItZn0uClslaGVh ZGVyJWF1dG93aWR0aCwgY29scz0iZCxkLGEsZCxkIl0KfD09PQp8TmFtZSB8VHlwZSB8RGVzY3Jp cHRpb24gfFJlcXVpcmVkPyB8RGVmYXVsdAoKfGB0eXBlYAp8SlNPTiBzdHJpbmcKfFR5cGUgb2Z7 bmJzcH17dmFyLWZ9LgoKVGhlIHZhbHVlIG9mIHRoaXMgcHJvcGVydHkge211c3R9IGJlIG9uZSBv ZjoKCmAiZml4ZWQtbGVuZ3RoLWJpdC1hcnJheSJgOjoKICAgIHt2YXItZn0gaXMgYSB7ZmwtYmEt ZmN9LgoKYCJmaXhlZC1sZW5ndGgtYm9vbGVhbiJgOjoKICAgIHt2YXItZn0gaXMgYSB7ZmwtYm9v bC1mY30uCgpgImZpeGVkLWxlbmd0aC11bnNpZ25lZC1pbnRlZ2VyImA6OgpgImZpeGVkLWxlbmd0 aC1zaWduZWQtaW50ZWdlciJgOjoKICAgIHt2YXItZn0gaXMgYSB7ZmwtaW50LWZjfS4KCmAiZml4 ZWQtbGVuZ3RoLXVuc2lnbmVkLWVudW1lcmF0aW9uImA6OgpgImZpeGVkLWxlbmd0aC1zaWduZWQt ZW51bWVyYXRpb24iYDo6CiAgICB7dmFyLWZ9IGlzIGEge2ZsLWVudW0tZmN9LgoKYCJmaXhlZC1s ZW5ndGgtZmxvYXRpbmctcG9pbnQtbnVtYmVyImA6OgogICAge3Zhci1mfSBpcyBhIHtmbC1mcC1m Y30uCgpgInZhcmlhYmxlLWxlbmd0aC1iaXQtYXJyYXkiYDo6CiAgICB7dmFyLWZ9IGlzIGEge3Zs LWJhLWZjfS4KCmAidmFyaWFibGUtbGVuZ3RoLXVuc2lnbmVkLWludGVnZXIiYDo6CmAidmFyaWFi bGUtbGVuZ3RoLXNpZ25lZC1pbnRlZ2VyImA6OgogICAge3Zhci1mfSBpcyBhIHt2bC1pbnQtZmN9 LgoKYCJ2YXJpYWJsZS1sZW5ndGgtdW5zaWduZWQtZW51bWVyYXRpb24iYDo6CmAidmFyaWFibGUt bGVuZ3RoLXNpZ25lZC1lbnVtZXJhdGlvbiJgOjoKICAgIHt2YXItZn0gaXMgYSB7dmwtZW51bS1m Y30uCgpgIm51bGwtdGVybWluYXRlZC1zdHJpbmciYDo6CiAgICB7dmFyLWZ9IGlzIGEge3N0ci1m Y30uCgpgInN0YXRpYy1sZW5ndGgtc3RyaW5nImA6OgogICAge3Zhci1mfSBpcyBhIHtzbC1zdHIt ZmN9LgoKYCJzdGF0aWMtbGVuZ3RoLWJsb2IiYDo6CiAgICB7dmFyLWZ9IGlzIGEge3NsLWJsb2It ZmN9LgoKYCJkeW5hbWljLWxlbmd0aC1zdHJpbmciYDo6CiAgICB7dmFyLWZ9IGlzIGEge2RsLXN0 ci1mY30uCgpgImR5bmFtaWMtbGVuZ3RoLWJsb2IiYDo6CiAgICB7dmFyLWZ9IGlzIGEge2RsLWJs b2ItZmN9LgoKYCJzdHJ1Y3R1cmUiYDo6CiAgICB7dmFyLWZ9IGlzIGEge3N0cnVjdC1mY30uCgpg InN0YXRpYy1sZW5ndGgtYXJyYXkiYDo6CiAgICB7dmFyLWZ9IGlzIGEge3NsLWFycmF5LWZjfS4K CmAiZHluYW1pYy1sZW5ndGgtYXJyYXkiYDo6CiAgICB7dmFyLWZ9IGlzIGEge2RsLWFycmF5LWZj fS4KCmAib3B0aW9uYWwiYDo6CiAgICB7dmFyLWZ9IGlzIGEge29wdC1mY30uCgpgInZhcmlhbnQi YDo6CiAgICB7dmFyLWZ9IGlzIGEge3Zhci1mY30uCnxZZXMKfAoKfGByb2xlc2AKfDw8cm9sZXMs Um9sZXM+Pgp8Um9sZXMgb2YgYW4gaW5zdGFuY2Ugb2Z7bmJzcH17dmFyLWZ9LgoKU2VlIDw8dGMt ZnJhZz4+IGFuZCA8PGRzYy1mcmFnPj4gd2hpY2ggaW5kaWNhdGUgYWNjZXB0ZWQKcm9sZXMgZm9y IHRoZWlyIHJvb3QgZmllbGQgY2xhc3Nlcy4KfE5vCnxgK1tdK2AKCnxgdXNlci1hdHRyaWJ1dGVz YAp8PDx1c2VyLWF0dHJzLFVzZXIgYXR0cmlidXRlcz4+CnxVc2VyIGF0dHJpYnV0ZXMgb2Z7bmJz cH17dmFyLWZ9Lgp8Tm8KfGAre30rYAoKfGBleHRlbnNpb25zYAp8PDxleHQsRXh0ZW5zaW9ucz4+ CnxFeHRlbnNpb25zIG9me25ic3B9e3Zhci1mfS4KCkFueSBleHRlbnNpb24gd2hpY2ggZXhpc3Rz IHVuZGVyIHRoaXMgcHJvcGVydHkgbXVzdCBhbHNvIGJlIGRlY2xhcmVkIGluCnRoZSBtZXRhZGF0 YSBzdHJlYW0ncyA8PHByZWFtYmxlLWZyYWcscHJlYW1ibGUgZnJhZ21lbnQ+Pi4KfE5vCnxgK3t9 K2AKfD09PQoKVGhlIGZvbGxvd2luZyA8PGZyYWcsZnJhZ21lbnQ+PiBwcm9wZXJ0aWVzIHJlcXVp cmUgYQp7c3RydWN0LWZjfSBhcyB0aGVpciB2YWx1ZToKCjw8dGMtZnJhZyxUcmFjZSBjbGFzcyBm cmFnbWVudD4+OjoKICAgIGBwYWNrZXQtaGVhZGVyLWZpZWxkLWNsYXNzYAoKPDxkc2MtZnJhZyxE YXRhIHN0cmVhbSBjbGFzcyBmcmFnbWVudD4+OjoKKwoqIGBwYWNrZXQtY29udGV4dC1maWVsZC1j bGFzc2AKKiBgZXZlbnQtcmVjb3JkLWhlYWRlci1maWVsZC1jbGFzc2AKKiBgZXZlbnQtcmVjb3Jk LWNvbW1vbi1jb250ZXh0LWZpZWxkLWNsYXNzYAoKPDxlcmMtZnJhZyxFdmVudCByZWNvcmQgY2xh c3MgZnJhZ21lbnQ+Pjo6CisKKiBgc3BlY2lmaWMtY29udGV4dC1maWVsZC1jbGFzc2AKKiBgcGF5 bG9hZC1maWVsZC1jbGFzc2AKCltbZmllbGQtbG9jXV0KPT09PSBGaWVsZCBsb2NhdGlvbgoKQSBf ZmllbGQgbG9jYXRpb25fIGlzIGEgbWVhbnMgZm9yIGEgY29uc3VtZXIgdG8gZmluZCBhIGZpZWxk IHdoaWNoIGl0Cm5lZWRzIHRvIGRlY29kZSBhbm90aGVyIGZpZWxkLgoKQSBjb25zdW1lciBuZWVk cyB0byBmaW5kIGFub3RoZXIgZmllbGQgdG8gZGVjb2RlIGluc3RhbmNlcyBvZiB0aGUKZm9sbG93 aW5nIDw8ZmMsY2xhc3Nlcz4+OgoKe2MtZGwtYXJyYXktZmN9OjoKe2MtZGwtc3RyLWZjfTo6Cntj LWRsLWJsb2ItZmN9OjoKICAgIE5lZWRzIGEgPDxmbC1pbnQtZmMse2ZsLXVpbnR9Pj4gb3IKICAg IDw8dmwtaW50LWZjLHt2bC11aW50fT4+IGxlbmd0aCBmaWVsZC4KCntjLW9wdC1mY306OgogICAg TmVlZHMgYSA8PGZsLWJvb2wtZmMse2ZsLWJvb2x9Pj4sIDw8ZmwtaW50LWZjLHtmbC1pbnR9Pj4s IG9yCiAgICA8PHZsLWludC1mYyx7dmwtaW50fT4+IHNlbGVjdG9yIGZpZWxkLgoKe2MtdmFyLWZj fTo6CiAgICBOZWVkcyBhIDw8ZmwtaW50LWZjLHtmbC1pbnR9Pj4gb3IgPDx2bC1pbnQtZmMse3Zs LWludH0+PiBzZWxlY3RvcgogICAgZmllbGQuCgpBIGZpZWxkIGxvY2F0aW9uIGlzIGEgSlNPTiBh cnJheSwgd2hlcmUsIGluIHRoaXMgb3JkZXI6CgouIFRoZSBmaXJzdCBlbGVtZW50IGlzIHRoZSBu YW1lIChKU09OIHN0cmluZykgb2YgYSByb290IGZpZWxkIGZyb20KICB3aGVyZSB0byBzdGFydCB0 aGUgbG9va3VwLCBhbW9uZ3N0OgorCltob3Jpem9udGFsXQpgInBhY2tldC1oZWFkZXIiYDo6Ogog ICAgUGFja2V0IGhlYWRlcgpgInBhY2tldC1jb250ZXh0ImA6OjoKICAgIFBhY2tldCBjb250ZXh0 CmAiZXZlbnQtcmVjb3JkLWhlYWRlciJgOjo6CiAgICBFdmVudCByZWNvcmQgaGVhZGVyCmAiZXZl bnQtcmVjb3JkLWNvbW1vbi1jb250ZXh0ImA6OjoKICAgIEV2ZW50IHJlY29yZCBjb21tb24gY29u dGV4dApgImV2ZW50LXJlY29yZC1zcGVjaWZpYy1jb250ZXh0ImA6OjoKICAgIEV2ZW50IHJlY29y ZCBzcGVjaWZpYyBjb250ZXh0CmAiZXZlbnQtcmVjb3JkLXBheWxvYWQiYDo6OgogICAgRXZlbnQg cmVjb3JkIHBheWxvYWQKCi4gVGhlIGZvbGxvd2luZyBlbGVtZW50cyBhcmUgPDxzdHJ1Y3QtZmMs c3RydWN0dXJlPj4gZmllbGQgbWVtYmVyIG5hbWVzCiAgKEpTT04gc3RyaW5ncykgdG8gZm9sbG93 IHRvIGZpbmQgdGhlIHRhcmdldCBmaWVsZC4KClRoZSBsZW5ndGggb2YgYSBmaWVsZCBsb2NhdGlv biB7bXVzdH0gYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHR3by4KCkxldCBfKipUKipfIGJl IGEgZmllbGQgd2hpY2ggYSBjb25zdW1lciBuZWVkcyB0byBkZWNvZGUgYW5vdGhlcgpmaWVsZHtu YnNwfXt2YXItc306CgoqIElmIHt2YXItc30gaXMgaW4gYSBwYWNrZXQgaGVhZGVyLCB0aGVue25i c3B9X18qKlQqKl9fIHttdXN0fSBiZSBpbiB0aGUKICBfc2FtZV8gcGFja2V0IGhlYWRlci4KCiog SWYge3Zhci1zfSBpcyBpbiBhIHBhY2tldCBjb250ZXh0LCB0aGVue25ic3B9X18qKlQqKl9fIHtt dXN0fSBiZSBpbgogIG9uZSBvZjoKKiogVGhlIHBhY2tldCBoZWFkZXIgdGhlIF9zYW1lXyBwYWNr ZXQuCioqIFRoZSBfc2FtZV8gcGFja2V0IGNvbnRleHQuCgoqIElmIHt2YXItc30gaXMgaW4gYW4g ZXZlbnQgcmVjb3JkIGhlYWRlciwgdGhlbntuYnNwfV9fKipUKipfXyB7bXVzdH0KICBiZSBpbiBv bmUgb2Y6CioqIFRoZSBwYWNrZXQgaGVhZGVyIG9mIHRoZSBfc2FtZV8gcGFja2V0LgoqKiBUaGUg cGFja2V0IGNvbnRleHQgb2YgdGhlIF9zYW1lXyBwYWNrZXQuCioqIFRoZSBfc2FtZV8gZXZlbnQg cmVjb3JkIGhlYWRlci4KCiogSWYge3Zhci1zfSBpcyBpbiBhbiBldmVudCByZWNvcmQgY29tbW9u IGNvbnRleHQsIHRoZW57bmJzcH1fXyoqVCoqX18KICB7bXVzdH0gYmUgaW4gb25lIG9mOgoqKiBU aGUgcGFja2V0IGhlYWRlciBvZiB0aGUgX3NhbWVfIHBhY2tldC4KKiogVGhlIHBhY2tldCBjb250 ZXh0IG9mIHRoZSBfc2FtZV8gcGFja2V0LgoqKiBUaGUgZXZlbnQgcmVjb3JkIGhlYWRlciBvZiB0 aGUgX3NhbWVfIGV2ZW50IHJlY29yZC4KKiogVGhlIF9zYW1lXyBldmVudCByZWNvcmQgY29tbW9u IGNvbnRleHQuCgoqIElmIHt2YXItc30gaXMgaW4gYW4gZXZlbnQgcmVjb3JkIHNwZWNpZmljIGNv bnRleHQsIHRoZW57bmJzcH1fXyoqVCoqX18KICB7bXVzdH0gYmUgaW4gb25lIG9mOgoqKiBUaGUg cGFja2V0IGhlYWRlciBvZiB0aGUgX3NhbWVfIHBhY2tldC4KKiogVGhlIHBhY2tldCBjb250ZXh0 IG9mIHRoZSBfc2FtZV8gcGFja2V0LgoqKiBUaGUgZXZlbnQgcmVjb3JkIGhlYWRlciBvZiB0aGUg X3NhbWVfIGV2ZW50IHJlY29yZC4KKiogVGhlIGV2ZW50IHJlY29yZCBjb21tb24gY29udGV4dCBv ZiB0aGUgX3NhbWVfIGV2ZW50IHJlY29yZC4KKiogVGhlIF9zYW1lXyBldmVudCByZWNvcmQgc3Bl Y2lmaWMgY29udGV4dC4KCiogSWYge3Zhci1zfSBpcyBpbiBhbiBldmVudCByZWNvcmQgcGF5bG9h ZCwgdGhlbntuYnNwfV9fKipUKipfXyB7bXVzdH0KICBiZSBpbiBvbmUgb2Y6CioqIFRoZSBwYWNr ZXQgaGVhZGVyIG9mIHRoZSBfc2FtZV8gcGFja2V0LgoqKiBUaGUgcGFja2V0IGNvbnRleHQgb2Yg dGhlIF9zYW1lXyBwYWNrZXQuCioqIFRoZSBldmVudCByZWNvcmQgaGVhZGVyIG9mIHRoZSBfc2Ft ZV8gZXZlbnQgcmVjb3JkLgoqKiBUaGUgZXZlbnQgcmVjb3JkIGNvbW1vbiBjb250ZXh0IG9mIHRo ZSBfc2FtZV8gZXZlbnQgcmVjb3JkLgoqKiBUaGUgZXZlbnQgcmVjb3JkIGNvbW1vbiBzcGVjaWZp YyBvZiB0aGUgX3NhbWVfIGV2ZW50IHJlY29yZC4KKiogVGhlIF9zYW1lXyBldmVudCByZWNvcmQg cGF5bG9hZC4KCiogSWYge3Zhci1zfSBhbmQgXyoqVCoqXyBhcmUgX25vdF8gaW4gdGhlIHNhbWUg cm9vdCBmaWVsZCwKICB0aGVue25ic3B9X18qKlQqKl9fIHttdXN0LW5vdH0gYmUgaW4gYW55IDw8 YXJyYXktZmMsYXJyYXk+PiBvcgogIDw8b3B0LWZjLG9wdGlvbmFsPj4gZmllbGQuCgoqIElmIHt2 YXItc30gYW5kIF8qKlQqKl8gYXJlIGluIHRoZSBzYW1lIHJvb3QgZmllbGQsIHRoZW46CioqIElm IHt2YXItc30gaXMgaW4gYW4gYXJyYXkgZmllbGQsIHRoZW57bmJzcH1fXyoqVCoqX18gbXVzdCBi ZSBpbiB0aGUKICAgX3NhbWVfIGFycmF5IGZpZWxkIGVsZW1lbnQuCioqIElmIHt2YXItc30gaXMg aW4gYW4gb3B0aW9uYWwgZmllbGQsIHRoZW57bmJzcH1fXyoqVCoqX18gbXVzdCBiZSBpbiB0aGUK ICAgX3NhbWVfIG9wdGlvbmFsIGZpZWxkLgoKSWYgYW55IHN0cnVjdHVyZSBtZW1iZXIgbmFtZXtu YnNwfV9fKipOKipfXyBvZiBhIGZpZWxkCmxvY2F0aW9ue25ic3B9X18qKkwqKl9fIG5hbWVzIGEg PDx2YXItZmMsdmFyaWFudCBmaWVsZD4+LCB0aGVuOgoKSWYgXyoqTioqXyBpcyBfbm90XyB0aGUg bGFzdCBlbGVtZW50IG9me25ic3B9X18qKkwqKl9fOjoKICAgIFRoZSB2YXJpYW50IGZpZWxkIHtt dXN0fSBzZWxlY3QgYSBzdHJ1Y3R1cmUgZmllbGQsIGZyb20gd2hpY2ggdGhlCiAgICBsb29rdXAg cHJvY2VzcyBjYW4gY29udGludWUsIHJlY3Vyc2l2ZWx5LgoKSWYgXyoqTioqXyBpcyB0aGUgbGFz dCBlbGVtZW50IG9me25ic3B9X18qKkwqKl9fOjoKICAgIFRoZSB2YXJpYW50IGZpZWxkIHttdXN0 fSBzZWxlY3QgdGhlIHRhcmdldCBmaWVsZAogICAgKDw8ZmwtaW50LWZjLHtmbC1pbnR9Pj4sIDw8 dmwtaW50LWZjLHt2bC1pbnR9Pj4sIG9yCiAgICA8PGZsLWJvb2wtZmMse2ZsLWJvb2x9Pj4pLCBy ZWN1cnNpdmVseS4KCkluIGJvdGggY2FzZXMsIF9hbGxfIHRoZSBvcHRpb25zIG9mIHRoZSB2YXJp YW50IGZpZWxkIGNsYXNzIHttdXN0fSBtYWtlCml0IHBvc3NpYmxlIGZvciB0aGUgbG9va3VwIHBy b2Nlc3MgdG8gY29udGludWUuCgouPDxkbC1hcnJheSx7Yy1kbC1hcnJheX0+PiBmaWVsZCBhbmQg aXRzIGxlbmd0aCBmaWVsZCBpbiB0aGUgc2FtZSByb290IGZpZWxkLgo9PT09ClRoZSBmb2xsb3dp bmcgSlNPTiBvYmplY3QgaXMgYW4gZXZlbnQgcmVjb3JkIHBheWxvYWQKe3N0cnVjdC1mY30uCgpb c291cmNlLGpzb25dCi0tLS0KewogICJ0eXBlIjogInN0cnVjdHVyZSIsCiAgIm1lbWJlcnMiOiBb CiAgICB7CiAgICAgICJuYW1lIjogImNvcm4iLCA8Mz4KICAgICAgImZpZWxkLWNsYXNzIjogewog ICAgICAgICJ0eXBlIjogImZpeGVkLWxlbmd0aC11bnNpZ25lZC1pbnRlZ2VyIiwKICAgICAgICAi bGVuZ3RoIjogMzIsCiAgICAgICAgImJ5dGUtb3JkZXIiOiAibGl0dGxlLWVuZGlhbiIKICAgICAg fQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiaW5zaWRlIiwKICAgICAgImZpZWxkLWNsYXNz IjogewogICAgICAgICJ0eXBlIjogImZpeGVkLWxlbmd0aC11bnNpZ25lZC1pbnRlZ2VyIiwKICAg ICAgICAibGVuZ3RoIjogMTYsCiAgICAgICAgImJ5dGUtb3JkZXIiOiAibGl0dGxlLWVuZGlhbiIK ICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiY2FyYm9uIiwKICAgICAgImZpZWxk LWNsYXNzIjogewogICAgICAgICJ0eXBlIjogImR5bmFtaWMtbGVuZ3RoLWFycmF5IiwgPDE+CiAg ICAgICAgImxlbmd0aC1maWVsZC1sb2NhdGlvbiI6IFsiZXZlbnQtcmVjb3JkLXBheWxvYWQiLCAi Y29ybiJdLCA8Mj4KICAgICAgICAiZWxlbWVudC1maWVsZC1jbGFzcyI6IHsKICAgICAgICAgICJ0 eXBlIjogIm51bGwtdGVybWluYXRlZC1zdHJpbmciCiAgICAgICAgfQogICAgICB9CiAgICB9CiAg XQp9Ci0tLS0KPDE+IHtjLWRsLWFycmF5LWZjfS4KPDI+IHtjLWRsLWFycmF5LWZjfSdzIGxlbmd0 aCBmaWVsZCBsb2NhdGlvbi4KPDM+IExlbmd0aCBtZW1iZXIgY2xhc3MuCj09PT0KCi57Yy1kbC1h cnJheX0gZmllbGQgYW5kIGl0cyBsZW5ndGggZmllbGQgaW4gdGhlIHNhbWUgcm9vdCBmaWVsZCwK d2l0aGluIHRoZSBzYW1lIGFycmF5IGZpZWxkIGVsZW1lbnQuCj09PT0KVGhlIGZvbGxvd2luZyBK U09OIG9iamVjdCBpcyBhbiBldmVudCByZWNvcmQgcGF5bG9hZAp7c3RydWN0LWZjfS4KCkJvdGgg dGhlIHtkbC1hcnJheX0gZmllbGQgYW5kIGl0cyBsZW5ndGggZmllbGQgZXhpc3Qgd2l0aGluIHRo ZSBzYW1lCmVsZW1lbnQgb2YgdGhlIDw8c2wtYXJyYXktZmMse3NsLWFycmF5fT4+IGZpZWxkIG5h bWVkIGBuYXR1cmVgLgoKW3NvdXJjZSxqc29uXQotLS0tCnsKICAidHlwZSI6ICJzdHJ1Y3R1cmUi LAogICJtZW1iZXJzIjogWwogICAgewogICAgICAibmFtZSI6ICJub3JtIiwKICAgICAgImZpZWxk LWNsYXNzIjogewogICAgICAgICJ0eXBlIjogIm51bGwtdGVybWluYXRlZC1zdHJpbmciCiAgICAg IH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIm5hdHVyZSIsCiAgICAgICJmaWVsZC1jbGFz cyI6IHsKICAgICAgICAidHlwZSI6ICJzdGF0aWMtbGVuZ3RoLWFycmF5IiwKICAgICAgICAibGVu Z3RoIjogNDMsCiAgICAgICAgImVsZW1lbnQtZmllbGQtY2xhc3MiOiB7CiAgICAgICAgICAidHlw ZSI6ICJzdHJ1Y3R1cmUiLAogICAgICAgICAgIm1lbWJlcnMiOiBbCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAibmFtZSI6ICJsYXNlciIsIDwzPgogICAgICAgICAgICAgICJmaWVsZC1jbGFz cyI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInZhcmlhYmxlLWxlbmd0aC11bnNpZ25lZC1p bnRlZ2VyIgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAg ICAgICAgICAgICJuYW1lIjogImpveXN0aWNrIiwKICAgICAgICAgICAgICAiZmllbGQtY2xhc3Mi OiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJkeW5hbWljLWxlbmd0aC1hcnJheSIsIDwxPgog ICAgICAgICAgICAgICAgImxlbmd0aC1maWVsZC1sb2NhdGlvbiI6IFsgPDI+CiAgICAgICAgICAg ICAgICAgICJldmVudC1yZWNvcmQtcGF5bG9hZCIsCiAgICAgICAgICAgICAgICAgICJuYXR1cmUi LAogICAgICAgICAgICAgICAgICAibGFzZXIiCiAgICAgICAgICAgICAgICBdLAogICAgICAgICAg ICAgICAgImVsZW1lbnQtZmllbGQtY2xhc3MiOiB7CiAgICAgICAgICAgICAgICAgICJ0eXBlIjog Im51bGwtdGVybWluYXRlZC1zdHJpbmciCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg fQogICAgICAgICAgICB9CiAgICAgICAgICBdCiAgICAgICAgfQogICAgICB9CiAgICB9CiAgXQp9 Ci0tLS0KPDE+IHtjLWRsLWFycmF5LWZjfS4KPDI+IHtjLWRsLWFycmF5LWZjfSdzIGxlbmd0aCBm aWVsZCBsb2NhdGlvbi4KPDM+IExlbmd0aCBtZW1iZXIgY2xhc3MuCj09PT0KCi57Yy1kbC1hcnJh eX0gYW5kIGl0cyBsZW5ndGggZmllbGQgaW4gdGhlIHNhbWUgcm9vdCBmaWVsZCwgd2l0aGluIHRo ZQpzYW1lIDw8dmFyLWZjLHZhcmlhbnQ+PiBmaWVsZC4KPT09PQpUaGUgZm9sbG93aW5nIEpTT04g b2JqZWN0IGlzIGFuIGV2ZW50IHJlY29yZCBwYXlsb2FkCntzdHJ1Y3QtZmN9LgoKQm90aCB0aGUg e2RsLWFycmF5fSBmaWVsZCBhbmQgaXRzIGxlbmd0aCBmaWVsZCBleGlzdCB3aXRoaW4gdGhlIHNh bWUKb3B0aW9uIG9mIHRoZSA8PHZhci1mYyx2YXJpYW50Pj4gZmllbGQgbmFtZWQgYGNsaW5pY2Au CgpNb3Jlb3ZlciwgdGhlIHNlbGVjdG9yIGZpZWxkIG9mIHRoZSBgY2xpbmljYCB2YXJpYW50IGZp ZWxkIGlzIHRoZQpgbGF3eWVyYCBmaWVsZC4KCltzb3VyY2UsanNvbl0KLS0tLQp7CiAgInR5cGUi OiAic3RydWN0dXJlIiwKICAibWVtYmVycyI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAibGF3eWVy IiwgPDU+CiAgICAgICJmaWVsZC1jbGFzcyI6IHsKICAgICAgICAidHlwZSI6ICJmaXhlZC1sZW5n dGgtc2lnbmVkLWludGVnZXIiLAogICAgICAgICJsZW5ndGgiOiAxNiwKICAgICAgICAiYnl0ZS1v cmRlciI6ICJsaXR0bGUtZW5kaWFuIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6 ICJjbGluaWMiLAogICAgICAiZmllbGQtY2xhc3MiOiB7CiAgICAgICAgInR5cGUiOiAidmFyaWFu dCIsCiAgICAgICAgInNlbGVjdG9yLWZpZWxkLWxvY2F0aW9uIjogWyJldmVudC1yZWNvcmQtcGF5 bG9hZCIsICJsYXd5ZXIiXSwgPDQ+CiAgICAgICAgIm9wdGlvbnMiOiBbCiAgICAgICAgICB7CiAg ICAgICAgICAgICJzZWxlY3Rvci1maWVsZC1yYW5nZXMiOiBbWzAsIDBdXSwKICAgICAgICAgICAg ImZpZWxkLWNsYXNzIjogewogICAgICAgICAgICAgICJ0eXBlIjogIm51bGwtdGVybWluYXRlZC1z dHJpbmciCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAg ICJzZWxlY3Rvci1maWVsZC1yYW5nZXMiOiBbWzEsIDRdXSwKICAgICAgICAgICAgImZpZWxkLWNs YXNzIjogewogICAgICAgICAgICAgICJ0eXBlIjogInN0cnVjdHVyZSIsCiAgICAgICAgICAgICAg Im1lbWJlcnMiOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIjog ImxlbW9uIiwgPDM+CiAgICAgICAgICAgICAgICAgICJmaWVsZC1jbGFzcyI6IHsKICAgICAgICAg ICAgICAgICAgICAidHlwZSI6ICJmaXhlZC1sZW5ndGgtdW5zaWduZWQtaW50ZWdlciIsCiAgICAg ICAgICAgICAgICAgICAgImxlbmd0aCI6IDgsCiAgICAgICAgICAgICAgICAgICAgImJ5dGUtb3Jk ZXIiOiAiYmlnLWVuZGlhbiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiam95c3RpY2siLAog ICAgICAgICAgICAgICAgICAiZmllbGQtY2xhc3MiOiB7CiAgICAgICAgICAgICAgICAgICAgInR5 cGUiOiAiZHluYW1pYy1sZW5ndGgtYXJyYXkiLCA8MT4KICAgICAgICAgICAgICAgICAgICAibGVu Z3RoLWZpZWxkLWxvY2F0aW9uIjogWyA8Mj4KICAgICAgICAgICAgICAgICAgICAgICJldmVudC1y ZWNvcmQtcGF5bG9hZCIsCiAgICAgICAgICAgICAgICAgICAgICAiY2xpbmljIiwKICAgICAgICAg ICAgICAgICAgICAgICJsZW1vbiIKICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAg ICAgICAgICJlbGVtZW50LWZpZWxkLWNsYXNzIjogewogICAgICAgICAgICAgICAgICAgICAgInR5 cGUiOiAibnVsbC10ZXJtaW5hdGVkLXN0cmluZyIKICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdCiAgICAgICAg ICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJzZWxlY3Rvci1maWVs ZC1yYW5nZXMiOiBbWzUsIDVdLCBbNywgN11dLAogICAgICAgICAgICAiZmllbGQtY2xhc3MiOiB7 CiAgICAgICAgICAgICAgInR5cGUiOiAiZml4ZWQtbGVuZ3RoLWJvb2xlYW4iLAogICAgICAgICAg ICAgICJsZW5ndGgiOiA4LAogICAgICAgICAgICAgICJieXRlLW9yZGVyIjogImxpdHRsZS1lbmRp YW4iCiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICBdCiAgICAgIH0KICAgIH0KICBd Cn0KLS0tLQo8MT4ge2MtZGwtYXJyYXktZmN9Lgo8Mj4ge2MtZGwtYXJyYXktZmN9J3MgbGVuZ3Ro IGZpZWxkIGxvY2F0aW9uLgo8Mz4gTGVuZ3RoIG1lbWJlciBjbGFzcy4KPDQ+IFZhcmlhbnQgZmll bGQgY2xhc3MncyBzZWxlY3RvciBmaWVsZCBsb2NhdGlvbi4KPDU+IFNlbGVjdG9yIG1lbWJlciBj bGFzcy4KPT09PQoKLntjLWRsLWFycmF5fSBhbmQgaXRzIGxlbmd0aCBmaWVsZCBpbiB0aGUgc2Ft ZSByb290IGZpZWxkOyBsZW5ndGgKZmllbGQgaXMgYSB2YXJpYW50IGZpZWxkLgo9PT09ClRoZSBm b2xsb3dpbmcgSlNPTiBvYmplY3QgaXMgYW4gZXZlbnQgcmVjb3JkIHBheWxvYWQKe3N0cnVjdC1m Y30uCgpUaGUgbGVuZ3RoIGZpZWxkIG9mIHRoZSB7ZGwtYXJyYXl9IGZpZWxkIGlzIGEgdmFyaWFu dCBmaWVsZDogaXQgY2FuIGJlCmFuIDgtYml0LCBhIDE2LWJpdCwgb3IgYSAzMi1iaXQgPDxmbC1p bnQtZmMse2ZsLWludH0+PiBmaWVsZCwgZGVwZW5kaW5nCm9uIHRoZSB2YXJpYW50IGZpZWxkJ3Mg c2VsZWN0aW9uLgoKTW9yZW92ZXIsIHRoZSBzZWxlY3RvciBmaWVsZCBvZiB0aGUgdmFyaWFudCBm aWVsZCBpcyBsb2NhdGVkIGluIGFub3RoZXIKcm9vdCBmaWVsZCAoZXZlbnQgcmVjb3JkIHNwZWNp ZmljIGNvbnRleHQpLgoKW3NvdXJjZSxqc29uXQotLS0tCnsKICAidHlwZSI6ICJzdHJ1Y3R1cmUi LAogICJtZW1iZXJzIjogWwogICAgewogICAgICAibmFtZSI6ICJnbGFzcyIsIDwzPgogICAgICAi ZmllbGQtY2xhc3MiOiB7CiAgICAgICAgInR5cGUiOiAidmFyaWFudCIsCiAgICAgICAgInNlbGVj dG9yLWZpZWxkLWxvY2F0aW9uIjogWyJldmVudC1yZWNvcmQtc3BlY2lmaWMtY29udGV4dCIsICJz ZWwiXSwKICAgICAgICAib3B0aW9ucyI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgInNlbGVj dG9yLWZpZWxkLXJhbmdlcyI6IFtbMCwgMF1dLAogICAgICAgICAgICAiZmllbGQtY2xhc3MiOiB7 CiAgICAgICAgICAgICAgInR5cGUiOiAiZml4ZWQtbGVuZ3RoLXVuc2lnbmVkLWludGVnZXIiLCA8 ND4KICAgICAgICAgICAgICAibGVuZ3RoIjogOCwKICAgICAgICAgICAgICAiYnl0ZS1vcmRlciI6 ICJsaXR0bGUtZW5kaWFuIgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgewog ICAgICAgICAgICAic2VsZWN0b3ItZmllbGQtcmFuZ2VzIjogW1sxLCAxXV0sCiAgICAgICAgICAg ICJmaWVsZC1jbGFzcyI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJmaXhlZC1sZW5ndGgtdW5z aWduZWQtaW50ZWdlciIsIDw0PgogICAgICAgICAgICAgICJsZW5ndGgiOiAxNiwKICAgICAgICAg ICAgICAiYnl0ZS1vcmRlciI6ICJsaXR0bGUtZW5kaWFuIgogICAgICAgICAgICB9CiAgICAgICAg ICB9LAogICAgICAgICAgewogICAgICAgICAgICAic2VsZWN0b3ItZmllbGQtcmFuZ2VzIjogW1sy LCAyXV0sCiAgICAgICAgICAgICJmaWVsZC1jbGFzcyI6IHsKICAgICAgICAgICAgICAidHlwZSI6 ICJmaXhlZC1sZW5ndGgtdW5zaWduZWQtaW50ZWdlciIsIDw0PgogICAgICAgICAgICAgICJsZW5n dGgiOiAzMiwKICAgICAgICAgICAgICAiYnl0ZS1vcmRlciI6ICJsaXR0bGUtZW5kaWFuIgogICAg ICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9CiAgICB9LAogICAgewogICAg ICAibmFtZSI6ICJtYXJnaW4iLAogICAgICAiZmllbGQtY2xhc3MiOiB7CiAgICAgICAgInR5cGUi OiAiZHluYW1pYy1sZW5ndGgtYXJyYXkiLCA8MT4KICAgICAgICAibGVuZ3RoLWZpZWxkLWxvY2F0 aW9uIjogWyJldmVudC1yZWNvcmQtcGF5bG9hZCIsICJnbGFzcyJdLCA8Mj4KICAgICAgICAiZWxl bWVudC1maWVsZC1jbGFzcyI6IHsKICAgICAgICAgICJ0eXBlIjogIm51bGwtdGVybWluYXRlZC1z dHJpbmciCiAgICAgICAgfQogICAgICB9CiAgICB9CiAgXQp9Ci0tLS0KPDE+IHtjLWRsLWFycmF5 LWZjfS4KPDI+IHtjLWRsLWFycmF5LWZjfSdzIGxlbmd0aCBmaWVsZCBsb2NhdGlvbi4KPDM+IExl bmd0aCBtZW1iZXIgY2xhc3MuCjw0PiBQb3NzaWJsZSBsZW5ndGggZmllbGQgY2xhc3MuCj09PT0K Ci57Yy1kbC1hcnJheX0gYW5kIGl0cyBsZW5ndGggZmllbGQgaW4gdGhlIHNhbWUgcm9vdCBmaWVs ZDsgc3RydWN0dXJlCmZpZWxkIGNvbnRhaW5pbmcgbGVuZ3RoIGZpZWxkIGlzIGEgdmFyaWFudCBm aWVsZC4KPT09PQpUaGUgZm9sbG93aW5nIEpTT04gb2JqZWN0IGlzIGFuIGV2ZW50IHJlY29yZCBw YXlsb2FkCntzdHJ1Y3QtZmN9LgoKVGhlIGxlbmd0aCBmaWVsZCBvZiB0aGUge2RsLWFycmF5fSBm aWVsZCBpcyB3aXRoaW4gYSBzdHJ1Y3R1cmUgZmllbGQKd2hpY2ggaXMgYSB2YXJpYW50IGZpZWxk LgoKTW9yZW92ZXI6CgoqIFRoZSBzZWxlY3RvciBmaWVsZCBvZiB0aGUgdmFyaWFudCBmaWVsZCBp cyBsb2NhdGVkIGluIGFub3RoZXIgcm9vdAogIGZpZWxkIChldmVudCByZWNvcmQgY29tbW9uIGNv bnRleHQpLgoKKiBUaGUgZmllbGQgY2xhc3Mgb2YgdGhlIHRoaXJkIG9wdGlvbiBvZiB0aGUgYGds YXNzYCB2YXJpYW50IGZpZWxkIGNsYXNzCiAgY29udGFpbnMgYSB7ZGwtYmxvYi1mY30gKGBsb2Nr YCBtZW1iZXIpOyB0aGUKICBsZW5ndGggZmllbGQgb2YgaXRzIGluc3RhbmNlIGlzIHRoZSBwcmV2 aW91cyBtZW1iZXIgKGBlYWdsZWApIHdpdGhpbgogIHRoZSBzYW1lIHN0cnVjdHVyZSBmaWVsZC4K Cltzb3VyY2UsanNvbl0KLS0tLQp7CiAgInR5cGUiOiAic3RydWN0dXJlIiwKICAibWVtYmVycyI6 IFsKICAgIHsKICAgICAgIm5hbWUiOiAiZ2xhc3MiLAogICAgICAiZmllbGQtY2xhc3MiOiB7CiAg ICAgICAgInR5cGUiOiAidmFyaWFudCIsCiAgICAgICAgInNlbGVjdG9yLWZpZWxkLWxvY2F0aW9u IjogWyJldmVudC1yZWNvcmQtY29tbW9uLWNvbnRleHQiLCAic2VsIl0sCiAgICAgICAgIm9wdGlv bnMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJzZWxlY3Rvci1maWVsZC1yYW5nZXMiOiBb WzAsIDBdXSwKICAgICAgICAgICAgImZpZWxkLWNsYXNzIjogewogICAgICAgICAgICAgICJ0eXBl IjogInN0cnVjdHVyZSIsCiAgICAgICAgICAgICAgIm1lbWJlcnMiOiBbCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIjogImVhZ2xlIiwKICAgICAgICAgICAgICAgICAg ImZpZWxkLWNsYXNzIjogewogICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZpeGVkLWxlbmd0 aC11bnNpZ25lZC1pbnRlZ2VyIiwgPDM+CiAgICAgICAgICAgICAgICAgICAgImxlbmd0aCI6IDE2 LAogICAgICAgICAgICAgICAgICAgICJieXRlLW9yZGVyIjogImxpdHRsZS1lbmRpYW4iCiAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICJuYW1lIjogInJvYWQiLAogICAgICAgICAgICAgICAgICAiZmllbGQtY2xh c3MiOiB7CiAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAibnVsbC10ZXJtaW5hdGVkLXN0cmlu ZyIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0K ICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInNlbGVj dG9yLWZpZWxkLXJhbmdlcyI6IFtbMzIsIDE3Ml1dLAogICAgICAgICAgICAiZmllbGQtY2xhc3Mi OiB7CiAgICAgICAgICAgICAgInR5cGUiOiAic3RydWN0dXJlIiwKICAgICAgICAgICAgICAibWVt YmVycyI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiOiAibnVh bmNlIiwKICAgICAgICAgICAgICAgICAgImZpZWxkLWNsYXNzIjogewogICAgICAgICAgICAgICAg ICAgICJ0eXBlIjogIm51bGwtdGVybWluYXRlZC1zdHJpbmciCiAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJu YW1lIjogImVhZ2xlIiwKICAgICAgICAgICAgICAgICAgImZpZWxkLWNsYXNzIjogewogICAgICAg ICAgICAgICAgICAgICJ0eXBlIjogImZpeGVkLWxlbmd0aC11bnNpZ25lZC1pbnRlZ2VyIiwgPDM+ CiAgICAgICAgICAgICAgICAgICAgImxlbmd0aCI6IDI0LAogICAgICAgICAgICAgICAgICAgICJi eXRlLW9yZGVyIjogImJpZy1lbmRpYW4iCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICBdCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAg ICB7CiAgICAgICAgICAgICJzZWxlY3Rvci1maWVsZC1yYW5nZXMiOiBbWzUsIDVdXSwKICAgICAg ICAgICAgImZpZWxkLWNsYXNzIjogewogICAgICAgICAgICAgICJ0eXBlIjogInN0cnVjdHVyZSIs CiAgICAgICAgICAgICAgIm1lbWJlcnMiOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICJuYW1lIjogImVhZ2xlIiwgPDU+CiAgICAgICAgICAgICAgICAgICJmaWVsZC1jbGFz cyI6IHsKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJ2YXJpYWJsZS1sZW5ndGgtdW5zaWdu ZWQtaW50ZWdlciIgPDM+CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIjogImxvY2siLAogICAgICAg ICAgICAgICAgICAiZmllbGQtY2xhc3MiOiB7CiAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAi ZHluYW1pYy1sZW5ndGgtYmxvYiIsCiAgICAgICAgICAgICAgICAgICAgImxlbmd0aC1maWVsZC1s b2NhdGlvbiI6IFsgPDQ+CiAgICAgICAgICAgICAgICAgICAgICAiZXZlbnQtcmVjb3JkLXBheWxv YWQiLAogICAgICAgICAgICAgICAgICAgICAgImdsYXNzIiwKICAgICAgICAgICAgICAgICAgICAg ICJlYWdsZSIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICBdCiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAg ICAgICBdCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIm1hcmdpbiIsCiAgICAg ICJmaWVsZC1jbGFzcyI6IHsKICAgICAgICAidHlwZSI6ICJkeW5hbWljLWxlbmd0aC1hcnJheSIs IDwxPgogICAgICAgICJsZW5ndGgtZmllbGQtbG9jYXRpb24iOiBbIDwyPgogICAgICAgICAgImV2 ZW50LXJlY29yZC1wYXlsb2FkIiwKICAgICAgICAgICJnbGFzcyIsCiAgICAgICAgICAiZWFnbGUi CiAgICAgICAgXSwKICAgICAgICAiZWxlbWVudC1maWVsZC1jbGFzcyI6IHsKICAgICAgICAgICJ0 eXBlIjogIm51bGwtdGVybWluYXRlZC1zdHJpbmciCiAgICAgICAgfQogICAgICB9CiAgICB9CiAg XQp9Ci0tLS0KPDE+IHtjLWRsLWFycmF5LWZjfS4KPDI+IHtjLWRsLWFycmF5LWZjfSdzIGxlbmd0 aCBmaWVsZCBsb2NhdGlvbi4KPDM+IFBvc3NpYmxlIGxlbmd0aCBmaWVsZCBjbGFzcy4KPDQ+IHtj LWRsLWJsb2ItZmN9J3MgbGVuZ3RoIGZpZWxkIGxvY2F0aW9uLgo8NT4gTGVuZ3RoIGZpZWxkIGNs YXNzIGZvciB7ZGwtYmxvYi1mY30uCgpOb3RlIHRoYXQgYm90aCB0aGUge2RsLWFycmF5fSBhbmQg e2RsLWJsb2J9IGZpZWxkIGNsYXNzZXMgaGF2ZSB0aGUgc2FtZQpsZW5ndGggZmllbGQgbG9jYXRp b24uCj09PT0KCi57Yy1kbC1hcnJheX0gYW5kIGl0cyBsZW5ndGggZmllbGQgaW4gYW5vdGhlciBy b290IGZpZWxkLgo9PT09ClRoZSBmb2xsb3dpbmcgSlNPTiBvYmplY3RzIGFyZSB0aGUgZXZlbnQg cmVjb3JkIHNwZWNpZmljIGNvbnRleHQgYW5kCnBheWxvYWQgPDxzdHJ1Y3QtZmMsc3RydWN0dXJl IGZpZWxkIGNsYXNzZXM+PiBvZiB0aGUgc2FtZQo8PGVyYy1mcmFnLGV2ZW50IHJlY29yZCBjbGFz cz4+LgoKVGhlIGxlbmd0aCBmaWVsZCBvZiB0aGUgZXZlbnQgcmVjb3JkIHBheWxvYWQncyB7ZGwt YXJyYXl9IGZpZWxkIGlzCndpdGhpbiB0aGUgZXZlbnQgcmVjb3JkIHNwZWNpZmljIGNvbnRleHQu CgouRXZlbnQgcmVjb3JkIHNwZWNpZmljIGNvbnRleHQgZmllbGQgY2xhc3MuCltzb3VyY2UsanNv bl0KLS0tLQp7CiAgInR5cGUiOiAic3RydWN0dXJlIiwKICAibWVtYmVycyI6IFsKICAgIHsKICAg ICAgIm5hbWUiOiAiY29vayIsCiAgICAgICJmaWVsZC1jbGFzcyI6IHsKICAgICAgICAidHlwZSI6 ICJmaXhlZC1sZW5ndGgtZmxvYXRpbmctcG9pbnQtbnVtYmVyIiwKICAgICAgICAibGVuZ3RoIjog NjQsCiAgICAgICAgImJ5dGUtb3JkZXIiOiAibGl0dGxlLWVuZGlhbiIKICAgICAgfQogICAgfSwK ICAgIHsKICAgICAgIm5hbWUiOiAidmVnZXRhYmxlIiwgPDE+CiAgICAgICJmaWVsZC1jbGFzcyI6 IHsKICAgICAgICAidHlwZSI6ICJ2YXJpYWJsZS1sZW5ndGgtdW5zaWduZWQtaW50ZWdlciIKICAg ICAgfQogICAgfQogIF0KfQotLS0tCjwxPiBMZW5ndGggbWVtYmVyIGNsYXNzLgoKLkV2ZW50IHJl Y29yZCBwYXlsb2FkIGZpZWxkIGNsYXNzLgpbc291cmNlLGpzb25dCi0tLS0KewogICJ0eXBlIjog InN0cnVjdHVyZSIsCiAgIm1lbWJlcnMiOiBbCiAgICB7CiAgICAgICJuYW1lIjogImF2ZW51ZSIs CiAgICAgICJmaWVsZC1jbGFzcyI6IHsKICAgICAgICAidHlwZSI6ICJkeW5hbWljLWxlbmd0aC1h cnJheSIsIDwxPgogICAgICAgICJsZW5ndGgtZmllbGQtbG9jYXRpb24iOiBbIDwyPgogICAgICAg ICAgImV2ZW50LXJlY29yZC1zcGVjaWZpYy1jb250ZXh0IiwKICAgICAgICAgICJ2ZWdldGFibGUi CiAgICAgICAgXSwKICAgICAgICAiZWxlbWVudC1maWVsZC1jbGFzcyI6IHsKICAgICAgICAgICJ0 eXBlIjogIm51bGwtdGVybWluYXRlZC1zdHJpbmciCiAgICAgICAgfQogICAgICB9CiAgICB9LAog ICAgewogICAgICAibmFtZSI6ICJyYWlscm9hZCIsCiAgICAgICJmaWVsZC1jbGFzcyI6IHsKICAg ICAgICAidHlwZSI6ICJudWxsLXRlcm1pbmF0ZWQtc3RyaW5nIgogICAgICB9CiAgICB9CiAgXQp9 Ci0tLS0KPDE+IHtjLWRsLWFycmF5LWZjfS4KPDI+IHtjLWRsLWFycmF5LWZjfSdzIGxlbmd0aCBm aWVsZCBsb2NhdGlvbi4KPT09PQoKW1tpbnQtcmFuZ2Utc2V0XV0KPT09PSBJbnRlZ2VyIHJhbmdl IHNldAoKQW4gX2ludGVnZXIgcmFuZ2Ugc2V0XyBpcyBhIEpTT04gYXJyYXkgb2YgaW50ZWdlciBy YW5nZXMuCgpBbiBpbnRlZ2VyIHJhbmdlIHNldCB7bXVzdH0gY29udGFpbiBvbmUgb3IgbW9yZSBp bnRlZ2VyIHJhbmdlcy4KCkFuIF9pbnRlZ2VyIHJhbmdlXyBpcyBhIEpTT04gYXJyYXkgb2YgdHdv IGVsZW1lbnRzOgoKLiBUaGUgcmFuZ2UncyBsb3dlciBib3VuZCAoSlNPTiBpbnRlZ2VyLCBpbmNs dWRlZCkuCi4gVGhlIHJhbmdlJ3MgdXBwZXIgYm91bmQgKEpTT04gaW50ZWdlciwgaW5jbHVkZWQp LgoKQW4gaW50ZWdlciByYW5nZSByZXByZXNlbnRzIGFsbCB0aGUgaW50ZWdlciB2YWx1ZXMgZnJv bSB0aGUgcmFuZ2Uncwpsb3dlciBib3VuZCB0byBpdHMgdXBwZXIgYm91bmQuCgpBbiBpbnRlZ2Vy IHJhbmdlJ3MgdXBwZXIgYm91bmQge211c3R9IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBp dHMKbG93ZXIgYm91bmQuCgpJZiBib3RoIHRoZSBsb3dlciBhbmQgdXBwZXIgYm91bmRzIG9mIGFu IGludGVnZXIgcmFuZ2UgYXJlIGVxdWFsLCB0aGVuCnRoZSBpbnRlZ2VyIHJhbmdlIHJlcHJlc2Vu dHMgYSBzaW5nbGUgaW50ZWdlciB2YWx1ZS4KCi5JbnRlZ2VyIHJhbmdlcy4KPT09PQpbc291cmNl LGpzb25dCi0tLS0KWzMsIDY3XQotLS0tCgpbc291cmNlLGpzb25dCi0tLS0KWy00NSwgMTAxXQot LS0tCgouU2luZ2xlIGludGVnZXIgdmFsdWUuCltzb3VyY2UsanNvbl0KLS0tLQpbNDIsIDQyXQot LS0tCj09PT0KCi5JbnRlZ2VyIHJhbmdlIHNldCBjb250YWluaW5nIHRocmVlIGludGVnZXIgcmFu Z2VzLgo9PT09Cltzb3VyY2UsanNvbl0KLS0tLQpbWzMsIDY3XSwgWy00NSwgMV0sIFs0MiwgNDJd XQotLS0tCj09PT0KCltbcm9sZXNdXQo9PT09IFJvbGVzCgpTb21lIDw8ZmMsZmllbGQgY2xhc3M+ PiBpbnN0YW5jZXMgY2FuIGhhdmUgX3JvbGVzXy4KCkEgcm9sZSBpcyBzcGVjaWZpYyBzZW1hbnRp Y3MgYXR0YWNoZWQgdG8gdGhlIGZpZWxkcyAoaW5zdGFuY2VzKSBvZiBhCmZpZWxkIGNsYXNzLiBG b3IgZXhhbXBsZSwgdGhlIGBwYWNrZXQtbWFnaWMtbnVtYmVyYCByb2xlIG9mIGEKe2ZsLWludC1m Y30gaW5kaWNhdGVzIHRoYXQKdGhlIHZhbHVlIG9mIGl0cyBpbnN0YW5jZXMge211c3R9IGJlIHRo ZSA8PHBrdCxwYWNrZXQ+PiBtYWdpYyBudW1iZXIKKDB4YzFmYzFmYzEpLgoKUm9sZXMgYXJlIGEg SlNPTiBhcnJheSBvZiByb2xlIG5hbWVzIChKU09OIHN0cmluZ3MpLgoKU2VlIDw8dGMtZnJhZz4+ IGFuZCA8PGRzYy1mcmFnPj4gd2hpY2ggaW5kaWNhdGUgYWNjZXB0ZWQKcm9sZXMgZm9yIHRoZWly IHJvb3QgZmllbGQgY2xhc3Nlcy4KCltbZmwtYmEtZmNdXQo9PT09IHtjLWZsLWJhfSBmaWVsZCBj bGFzcwoKQSBfe2ZsLWJhfV8gZmllbGQgY2xhc3MgZGVzY3JpYmVzIF97ZmwtYmF9XyBmaWVsZHMu CgpBIHtmbC1iYX0gZmllbGQgaXMgYSBzaW1wbGUgYXJyYXkgb2YgY29udGlndW91cyBiaXRzLCB3 aXRob3V0IGFueQphdHRhY2hlZCBpbnRlZ2VyIHR5cGUgc2VtYW50aWNzLgoKVGhlIGxlbmd0aCwg b3IgbnVtYmVyIG9mIGJpdHMsIG9mIGEge2ZsLWJhfSBmaWVsZCBpcyBhIHByb3BlcnR5CihgbGVu Z3RoYCkgb2YgaXRzIGNsYXNzLgoKQSB7ZmwtYmF9IGZpZWxkIGNsYXNzIGFjdHMgYXMgYSBiYXNl IG9mIGEge2ZsLWJvb2wtZmN9LCBhIHtmbC1pbnQtZmN9LAphbmQgYSB7ZmwtZnAtZmN9LgoKLkNv bW1vbiBwcm9wZXJ0aWVzIG9mIGEge2ZsLWJhfSBmaWVsZCBjbGFzcyB7dmFyLWZ9LgpbJWhlYWRl ciVhdXRvd2lkdGgsIGNvbHM9ImQsZCxhLGQsZCJdCnw9PT0KfE5hbWUgfFR5cGUgfERlc2NyaXB0 aW9uIHxSZXF1aXJlZD8gfERlZmF1bHQKCnxgdHlwZWAKfEpTT04gc3RyaW5nCnxUeXBlIG9me25i c3B9e3Zhci1mfS4KClRoZSB2YWx1ZSBvZiB0aGlzIHByb3BlcnR5IHttdXN0fSBiZSBgImZpeGVk LWxlbmd0aC1iaXQtYXJyYXkiYC4KfFllcwp8Cgp8YGxlbmd0aGAKfEpTT04gaW50ZWdlcgp8TnVt YmVyIG9mIGJpdHMgb2YgYW4gaW5zdGFuY2Ugb2Z7bmJzcH17dmFyLWZ9LgoKVGhlIHZhbHVlIG9m IHRoaXMgcHJvcGVydHkge211c3R9IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvLgp8WWVzCnwKCnxgYnl0 ZS1vcmRlcmAKfEpTT04gc3RyaW5nCnx7Yy1ib30gb2YgYW4gaW5zdGFuY2UKb2Z7bmJzcH17dmFy LWZ9LgoKVGhlIHZhbHVlIG9mIHRoaXMgcHJvcGVydHkge211c3R9IGJlIG9uZSBvZjoKCmAiYmln LWVuZGlhbiJgOjoKICAgIEJpZy1lbmRpYW4uCgpgImxpdHRsZS1lbmRpYW4iYDo6CiAgICBMaXR0 bGUtZW5kaWFuLgp8WWVzCnwKCnxgYWxpZ25tZW50YAp8SlNPTiBpbnRlZ2VyCnxBbGlnbm1lbnQg b2YgdGhlIGZpcnN0IGJpdCBvZiBhbiBpbnN0YW5jZSBvZntuYnNwfXt2YXItZn0KcmVsYXRpdmUg dG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgPDxwa3QscGFja2V0Pj4gd2hpY2gKY29udGFpbnMgdGhp cyBpbnN0YW5jZS4KClRoZSB2YWx1ZSBvZiB0aGlzIHByb3BlcnR5IHttdXN0fSBiZSBhIHBvc2l0 aXZlIHBvd2VyIG9mIHR3by4KfE5vCnxgMWAKCnxgcm9sZXNgCnw8PHJvbGVzLFJvbGVzPj4KfFJv bGVzIG9mIGFuIGluc3RhbmNlIG9me25ic3B9e3Zhci1mfS4KClNlZSA8PHRjLWZyYWc+PiBhbmQg PDxkc2MtZnJhZz4+IHdoaWNoIGluZGljYXRlIGFjY2VwdGVkCnJvbGVzIGZvciB0aGVpciByb290 IGZpZWxkIGNsYXNzZXMuCnxObwp8YCtbXStgCgp8YHVzZXItYXR0cmlidXRlc2AKfDw8dXNlci1h dHRycyxVc2VyIGF0dHJpYnV0ZXM+Pgp8VXNlciBhdHRyaWJ1dGVzIG9me25ic3B9e3Zhci1mfS4K fE5vCnxgK3t9K2AKCnxgZXh0ZW5zaW9uc2AKfDw8ZXh0LEV4dGVuc2lvbnM+Pgp8RXh0ZW5zaW9u cyBvZntuYnNwfXt2YXItZn0uCgpBbnkgZXh0ZW5zaW9uIHdoaWNoIGV4aXN0cyB1bmRlciB0aGlz IHByb3BlcnR5IG11c3QgYWxzbyBiZSBkZWNsYXJlZCBpbgp0aGUgbWV0YWRhdGEgc3RyZWFtJ3Mg PDxwcmVhbWJsZS1mcmFnLHByZWFtYmxlIGZyYWdtZW50Pj4uCnxObwp8YCt7fStgCnw9PT0KCi5N aW5pbWFsIHtmbC1iYX0gZmllbGQgY2xhc3MuCj09PT0KW3NvdXJjZSxqc29uXQotLS0tCnsKICAi dHlwZSI6ICJmaXhlZC1sZW5ndGgtYml0LWFycmF5IiwKICAibGVuZ3RoIjogMTYsCiAgImJ5dGUt b3JkZXIiOiAibGl0dGxlLWVuZGlhbiIKfQotLS0tCj09PT0KCi57Yy1mbC1iYX0gZmllbGQgY2xh c3Mgd2l0aCBhIDMyLWJpdCBhbGlnbm1lbnQuCj09PT0KW3NvdXJjZSxqc29uXQotLS0tCnsKICAi dHlwZSI6ICJmaXhlZC1sZW5ndGgtYml0LWFycmF5IiwKICAibGVuZ3RoIjogNDgsCiAgImJ5dGUt b3JkZXIiOiAiYmlnLWVuZGlhbiIsCiAgImFsaWdubWVudCI6IDMyCn0KLS0tLQo9PT09Cgoue2Mt ZmwtYmF9IGZpZWxkIGNsYXNzIHdpdGggPDx1c2VyLWF0dHJzLHVzZXIgYXR0cmlidXRlcz4+Lgo9 PT09Cltzb3VyY2UsanNvbl0KLS0tLQp7CiAgInR5cGUiOiAiZml4ZWQtbGVuZ3RoLWJpdC1hcnJh eSIsCiAgImxlbmd0aCI6IDE2LAogICJieXRlLW9yZGVyIjogImxpdHRsZS1lbmRpYW4iLAogICJ1 c2VyLWF0dHJpYnV0ZXMiOiB7CiAgICAibXkudHJhY2VyIjogewogICAgICAiaXMtbmljZSI6IHRy dWUKICAgIH0KICB9Cn0KLS0tLQo9PT09CgpbW2ZsLWJvb2wtZmNdXQo9PT09IHtjLWZsLWJvb2x9 IGZpZWxkIGNsYXNzCgpBIF97ZmwtYm9vbH1fIGZpZWxkIGNsYXNzIGlzIGEge2ZsLWJhLWZjfSB3 aGljaCBkZXNjcmliZXMKX3tmbC1ib29sfV8gZmllbGRzLgoKQSB7ZmwtYm9vbH0gZmllbGQgaXMg YSB7ZmwtYmF9IGZpZWxkIHdoaWNoIGhhcyB0aGUgZm9sbG93aW5nCnNlbWFudGljczoKCklmIGFs bCB0aGUgYml0IGFycmF5IGZpZWxkJ3MgYml0cyBhcmUgY2xlYXJlZCAoemVybyk6OgogICAgVGhl IHtmbC1ib29sfSBmaWVsZCdzIHZhbHVlIGlzIF9mYWxzZV8uCgpPdGhlcndpc2U6OgogICAgVGhl IHtmbC1ib29sfSBmaWVsZCdzIHZhbHVlIGlzIF90cnVlXy4KCi5Qcm9wZXJ0aWVzIG9mIGEge2Zs LWJvb2x9IGZpZWxkIGNsYXNzIHt2YXItZn0uClslaGVhZGVyJWF1dG93aWR0aCwgY29scz0iZCxk LGEsZCxkIl0KfD09PQp8TmFtZSB8VHlwZSB8RGVzY3JpcHRpb24gfFJlcXVpcmVkPyB8RGVmYXVs dAoKfGB0eXBlYAp8SlNPTiBzdHJpbmcKfFR5cGUgb2Z7bmJzcH17dmFyLWZ9LgoKVGhlIHZhbHVl IG9mIHRoaXMgcHJvcGVydHkge211c3R9IGJlIGAiZml4ZWQtbGVuZ3RoLWJvb2xlYW4iYC4KfFll cwp8Cgp8YGxlbmd0aGAKfEpTT04gaW50ZWdlcgp8TnVtYmVyIG9mIGJpdHMgb2YgYW4gaW5zdGFu Y2Ugb2Z7bmJzcH17dmFyLWZ9LgoKVGhlIHZhbHVlIG9mIHRoaXMgcHJvcGVydHkge211c3R9IGJl IGdyZWF0ZXIgdGhhbiB6ZXJvLgoKUHJvcGVydHkgaW5oZXJpdGVkIGZyb20gdGhlIHtmbC1iYS1m Y30uCnxZZXMKfAoKfGBieXRlLW9yZGVyYAp8SlNPTiBzdHJpbmcKfHtjLWJvfSBvZiBhbiBpbnN0 YW5jZQpvZntuYnNwfXt2YXItZn0uCgpUaGUgdmFsdWUgb2YgdGhpcyBwcm9wZXJ0eSB7bXVzdH0g YmUgb25lIG9mOgoKYCJiaWctZW5kaWFuImA6OgogICAgQmlnLWVuZGlhbi4KCmAibGl0dGxlLWVu ZGlhbiJgOjoKICAgIExpdHRsZS1lbmRpYW4uCgpQcm9wZXJ0eSBpbmhlcml0ZWQgZnJvbSB0aGUg e2ZsLWJhLWZjfS4KfFllcwp8Cgp8YGFsaWdubWVudGAKfEpTT04gaW50ZWdlcgp8QWxpZ25tZW50 IG9mIHRoZSBmaXJzdCBiaXQgb2YgYW4gaW5zdGFuY2Ugb2Z7bmJzcH17dmFyLWZ9CnJlbGF0aXZl IHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIDw8cGt0LHBhY2tldD4+IHdoaWNoCmNvbnRhaW5zIHRo aXMgaW5zdGFuY2UuCgpUaGUgdmFsdWUgb2YgdGhpcyBwcm9wZXJ0eSB7bXVzdH0gYmUgYSBwb3Np dGl2ZSBwb3dlciBvZiB0d28uCgpQcm9wZXJ0eSBpbmhlcml0ZWQgZnJvbSB0aGUge2ZsLWJhLWZj fS4KfE5vCnxgMWAKCnxgcm9sZXNgCnw8PHJvbGVzLFJvbGVzPj4KfFJvbGVzIG9mIGFuIGluc3Rh bmNlIG9me25ic3B9e3Zhci1mfS4KClNlZSA8PHRjLWZyYWc+PiBhbmQgPDxkc2MtZnJhZz4+IHdo aWNoIGluZGljYXRlIGFjY2VwdGVkCnJvbGVzIGZvciB0aGVpciByb290IGZpZWxkIGNsYXNzZXMu CnxObwp8YCtbXStgCgp8YHVzZXItYXR0cmlidXRlc2AKfDw8dXNlci1hdHRycyxVc2VyIGF0dHJp YnV0ZXM+Pgp8VXNlciBhdHRyaWJ1dGVzIG9me25ic3B9e3Zhci1mfS4KfE5vCnxgK3t9K2AKCnxg ZXh0ZW5zaW9uc2AKfDw8ZXh0LEV4dGVuc2lvbnM+Pgp8RXh0ZW5zaW9ucyBvZntuYnNwfXt2YXIt Zn0uCgpBbnkgZXh0ZW5zaW9uIHdoaWNoIGV4aXN0cyB1bmRlciB0aGlzIHByb3BlcnR5IG11c3Qg YWxzbyBiZSBkZWNsYXJlZCBpbgp0aGUgbWV0YWRhdGEgc3RyZWFtJ3MgPDxwcmVhbWJsZS1mcmFn LHByZWFtYmxlIGZyYWdtZW50Pj4uCnxObwp8YCt7fStgCnw9PT0KCi5NaW5pbWFsIHtmbC1ib29s fSBmaWVsZCBjbGFzcy4KPT09PQpbc291cmNlLGpzb25dCi0tLS0KewogICJ0eXBlIjogImZpeGVk LWxlbmd0aC1ib29sZWFuIiwKICAibGVuZ3RoIjogMTYsCiAgImJ5dGUtb3JkZXIiOiAibGl0dGxl LWVuZGlhbiIKfQotLS0tCj09PT0KCi57Yy1mbC1ib29sfSBmaWVsZCBjbGFzcyB3aXRoIGEgMzIt Yml0IGFsaWdubWVudC4KPT09PQpbc291cmNlLGpzb25dCi0tLS0KewogICJ0eXBlIjogImZpeGVk LWxlbmd0aC1ib29sZWFuIiwKICAibGVuZ3RoIjogNDgsCiAgImJ5dGUtb3JkZXIiOiAiYmlnLWVu ZGlhbiIsCiAgImFsaWdubWVudCI6IDMyCn0KLS0tLQo9PT09Cgoue2MtZmwtYm9vbH0gZmllbGQg Y2xhc3Mgd2l0aCA8PHVzZXItYXR0cnMsdXNlciBhdHRyaWJ1dGVzPj4uCj09PT0KW3NvdXJjZSxq c29uXQotLS0tCnsKICAidHlwZSI6ICJmaXhlZC1sZW5ndGgtYm9vbGVhbiIsCiAgImxlbmd0aCI6 IDE2LAogICJieXRlLW9yZGVyIjogImxpdHRsZS1lbmRpYW4iLAogICJ1c2VyLWF0dHJpYnV0ZXMi OiB7CiAgICAibXkudHJhY2VyIjogewogICAgICAiaXMtbmljZSI6IHRydWUKICAgIH0KICB9Cn0K LS0tLQo9PT09CgpbW2ludC1mY11dCj09PT0gQWJzdHJhY3QgaW50ZWdlciBmaWVsZCBjbGFzcwoK QW4gX2Fic3RyYWN0IGludGVnZXJfIGZpZWxkIGNsYXNzIGlzIGEgYmFzZSBvZiBhIHtmbC1pbnQt ZmN9IGFuZCBhCnt2bC1pbnQtZmN9LgoKVGhpcyBmaWVsZCBjbGFzcyBpcyBhYnN0cmFjdCBpbiB0 aGF0IGl0IG9ubHkgZXhpc3RzIHRvIHNob3cgdGhlIHJlbGF0aW9uCmJldHdlZW4gZGlmZmVyZW50 IGludGVnZXIgZmllbGQgY2xhc3NlcyBpbiB0aGlzIGRvY3VtZW50OiBhIDw8cGt0LHBhY2tldD4+ CmNhbm5vdCBjb250YWluIGFuIGFic3RyYWN0IGludGVnZXIgZmllbGQuCgouQ29tbW9uIHByb3Bl cnR5IG9mIGFuIGludGVnZXIgZmllbGQgY2xhc3Mge3Zhci1mfS4KWyVoZWFkZXIlYXV0b3dpZHRo LCBjb2xzPSJkLGQsYSxkLGQiXQp8PT09CnxOYW1lIHxUeXBlIHxEZXNjcmlwdGlvbiB8UmVxdWly ZWQ/IHxEZWZhdWx0Cgp8YHByZWZlcnJlZC1kaXNwbGF5LWJhc2VgCnxKU09OIGludGVnZXIKfFBy ZWZlcnJlZCBiYXNlIHRvIGRpc3BsYXkgdGhlIHZhbHVlIG9mIGFuIGluc3RhbmNlIG9me25ic3B9 e3Zhci1mfS4KClRoZSB2YWx1ZSBvZiB0aGlzIHByb3BlcnR5IHttdXN0fSBiZSBvbmUgb2Y6Cgpg MmA6OgogICAgQmluYXJ5IGJhc2UuCgpgOGA6OgogICAgT2N0YWwgYmFzZS4KCmAxMGA6OgogICAg RGVjaW1hbCBiYXNlLgoKYDE2YDo6CiAgICBIZXhhZGVjaW1hbCBiYXNlLgp8Tm8KfGAxMGAKfD09 PQoKW1tmbC1pbnQtZmNdXQo9PT09IHtjLWZsLWludH0gZmllbGQgY2xhc3MKCkEgX3tmbC1pbnR9 XyBmaWVsZCBjbGFzcyBpcyBib3RoIGFuIDw8aW50LWZjLGFic3RyYWN0IGludGVnZXIgZmllbGQK Y2xhc3M+PiBhbmQgYSB7ZmwtYmEtZmN9IHdoaWNoIGRlc2NyaWJlcwpfe2ZsLWludH1fIGZpZWxk cy4KCkEge2ZsLWludH0gZmllbGQgaXMgYSB7ZmwtYmF9IGZpZWxkIHdoaWNoIGhhcyBpbnRlZ2Vy IHNlbWFudGljcy4KCklmIHRoZSB2YWx1ZSBvZiBhIHtmbC1pbnR9IGZpZWxkIGNsYXNzJ3MgYHR5 cGVgIHByb3BlcnR5IGlzCmAiZml4ZWQtbGVuZ3RoLXNpZ25lZC1pbnRlZ2VyImAsIHRoZW4gaXRz IGluc3RhbmNlcyBoYXZlIHRoZSB0d28ncwpjb21wbGVtZW50IGZvcm1hdC4KCkEge2ZsLWludH0g ZmllbGQgY2xhc3MgYWN0cyBhcyBhIGJhc2Ugb2YgYSB7ZmwtZW51bS1mY30uCgouQ29tbW9uIHBy b3BlcnRpZXMgb2YgYSB7ZmwtaW50fSBmaWVsZCBjbGFzcyB7dmFyLWZ9LgpbJWhlYWRlciVhdXRv d2lkdGgsIGNvbHM9ImQsZCxhLGQsZCJdCnw9PT0KfE5hbWUgfFR5cGUgfERlc2NyaXB0aW9uIHxS ZXF1aXJlZD8gfERlZmF1bHQKCnxgdHlwZWAKfEpTT04gc3RyaW5nCnxUeXBlIG9me25ic3B9e3Zh ci1mfS4KClRoZSB2YWx1ZSBvZiB0aGlzIHByb3BlcnR5IHttdXN0fSBiZSBvbmUgb2Y6CgpgImZp eGVkLWxlbmd0aC11bnNpZ25lZC1pbnRlZ2VyImA6OgogICAgVGhlIGluc3RhbmNlcyBvZntuYnNw fXt2YXItZn0gYXJlIHtmbC11aW50fSBmaWVsZHMuCgpgImZpeGVkLWxlbmd0aC1zaWduZWQtaW50 ZWdlciJgOjoKICAgIFRoZSBpbnN0YW5jZXMgb2Z7bmJzcH17dmFyLWZ9IGFyZSB7Zmwtc2ludH0g ZmllbGRzLgp8WWVzCnwKCnxgbGVuZ3RoYAp8SlNPTiBpbnRlZ2VyCnxOdW1iZXIgb2YgYml0cyBv ZiBhbiBpbnN0YW5jZSBvZntuYnNwfXt2YXItZn0uCgpUaGUgdmFsdWUgb2YgdGhpcyBwcm9wZXJ0 eSB7bXVzdH0gYmUgZ3JlYXRlciB0aGFuIHplcm8uCgpQcm9wZXJ0eSBpbmhlcml0ZWQgZnJvbSB0 aGUge2ZsLWJhLWZjfS4KfFllcwp8Cgp8YGJ5dGUtb3JkZXJgCnxKU09OIHN0cmluZwp8e2MtYm99 IG9mIGFuIGluc3RhbmNlCm9me25ic3B9e3Zhci1mfS4KClRoZSB2YWx1ZSBvZiB0aGlzIHByb3Bl cnR5IHttdXN0fSBiZSBvbmUgb2Y6CgpgImJpZy1lbmRpYW4iYDo6CiAgICBCaWctZW5kaWFuLgoK YCJsaXR0bGUtZW5kaWFuImA6OgogICAgTGl0dGxlLWVuZGlhbi4KClByb3BlcnR5IGluaGVyaXRl ZCBmcm9tIHRoZSB7ZmwtYmEtZmN9Lgp8WWVzCnwKCnxgYWxpZ25tZW50YAp8SlNPTiBpbnRlZ2Vy CnxBbGlnbm1lbnQgb2YgdGhlIGZpcnN0IGJpdCBvZiBhbiBpbnN0YW5jZSBvZntuYnNwfXt2YXIt Zn0KcmVsYXRpdmUgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgPDxwa3QscGFja2V0Pj4gd2hpY2gK Y29udGFpbnMgdGhpcyBpbnN0YW5jZS4KClRoZSB2YWx1ZSBvZiB0aGlzIHByb3BlcnR5IHttdXN0 fSBiZSBhIHBvc2l0aXZlIHBvd2VyIG9mIHR3by4KClByb3BlcnR5IGluaGVyaXRlZCBmcm9tIHRo ZSB7ZmwtYmEtZmN9Lgp8Tm8KfGAxYAoKfGBwcmVmZXJyZWQtZGlzcGxheS1iYXNlYAp8SlNPTiBp bnRlZ2VyCnxQcmVmZXJyZWQgYmFzZSB0byBkaXNwbGF5IHRoZSB2YWx1ZSBvZiBhbiBpbnN0YW5j ZSBvZntuYnNwfXt2YXItZn0uCgpUaGUgdmFsdWUgb2YgdGhpcyBwcm9wZXJ0eSB7bXVzdH0gYmUg b25lIG9mOgoKYDJgOjoKICAgIEJpbmFyeSBiYXNlLgoKYDhgOjoKICAgIE9jdGFsIGJhc2UuCgpg MTBgOjoKICAgIERlY2ltYWwgYmFzZS4KCmAxNmA6OgogICAgSGV4YWRlY2ltYWwgYmFzZS4KClBy b3BlcnR5IGluaGVyaXRlZCBmcm9tIHRoZSA8PGludC1mYyxhYnN0cmFjdCBpbnRlZ2VyIGZpZWxk IGNsYXNzPj4uCnxObwp8YDEwYAoKfGByb2xlc2AKfDw8cm9sZXMsUm9sZXM+Pgp8Um9sZXMgb2Yg YW4gaW5zdGFuY2Ugb2Z7bmJzcH17dmFyLWZ9LgoKU2VlIDw8dGMtZnJhZz4+IGFuZCA8PGRzYy1m cmFnPj4gd2hpY2ggaW5kaWNhdGUgYWNjZXB0ZWQKcm9sZXMgZm9yIHRoZWlyIHJvb3QgZmllbGQg Y2xhc3Nlcy4KfE5vCnxgK1tdK2AKCnxgdXNlci1hdHRyaWJ1dGVzYAp8PDx1c2VyLWF0dHJzLFVz ZXIgYXR0cmlidXRlcz4+CnxVc2VyIGF0dHJpYnV0ZXMgb2Z7bmJzcH17dmFyLWZ9Lgp8Tm8KfGAr e30rYAoKfGBleHRlbnNpb25zYAp8PDxleHQsRXh0ZW5zaW9ucz4+CnxFeHRlbnNpb25zIG9me25i c3B9e3Zhci1mfS4KCkFueSBleHRlbnNpb24gd2hpY2ggZXhpc3RzIHVuZGVyIHRoaXMgcHJvcGVy dHkgbXVzdCBhbHNvIGJlIGRlY2xhcmVkIGluCnRoZSBtZXRhZGF0YSBzdHJlYW0ncyA8PHByZWFt YmxlLWZyYWcscHJlYW1ibGUgZnJhZ21lbnQ+Pi4KfE5vCnxgK3t9K2AKfD09PQoKLk1pbmltYWwg e2ZsLXVpbnR9IGZpZWxkIGNsYXNzLgo9PT09Cltzb3VyY2UsanNvbl0KLS0tLQp7CiAgInR5cGUi OiAiZml4ZWQtbGVuZ3RoLXVuc2lnbmVkLWludGVnZXIiLAogICJsZW5ndGgiOiAxNiwKICAiYnl0 ZS1vcmRlciI6ICJsaXR0bGUtZW5kaWFuIgp9Ci0tLS0KPT09PQoKLntjLWZsLXNpbnR9IGZpZWxk IGNsYXNzIHdpdGggYSAzMi1iaXQgYWxpZ25tZW50Lgo9PT09Cltzb3VyY2UsanNvbl0KLS0tLQp7 CiAgInR5cGUiOiAiZml4ZWQtbGVuZ3RoLXNpZ25lZC1pbnRlZ2VyIiwKICAibGVuZ3RoIjogNDgs CiAgImJ5dGUtb3JkZXIiOiAiYmlnLWVuZGlhbiIsCiAgImFsaWdubWVudCI6IDMyCn0KLS0tLQo9 PT09Cgoue2MtZmwtdWludH0gZmllbGQgY2xhc3Mgd2l0aCBhIHByZWZlcnJlZCBoZXhhZGVjaW1h bCBkaXNwbGF5IGJhc2UuCj09PT0KW3NvdXJjZSxqc29uXQotLS0tCnsKICAidHlwZSI6ICJmaXhl ZC1sZW5ndGgtdW5zaWduZWQtaW50ZWdlciIsCiAgImxlbmd0aCI6IDQ4LAogICJieXRlLW9yZGVy IjogImJpZy1lbmRpYW4iLAogICJwcmVmZXJyZWQtZGlzcGxheS1iYXNlIjogMTYKfQotLS0tCj09 PT0KCi57Yy1mbC1zaW50fSBmaWVsZCBjbGFzcyB3aXRoIDw8dXNlci1hdHRycyx1c2VyIGF0dHJp YnV0ZXM+Pi4KPT09PQpbc291cmNlLGpzb25dCi0tLS0KewogICJ0eXBlIjogImZpeGVkLWxlbmd0 aC1zaWduZWQtaW50ZWdlciIsCiAgImxlbmd0aCI6IDE2LAogICJieXRlLW9yZGVyIjogImxpdHRs ZS1lbmRpYW4iLAogICJ1c2VyLWF0dHJpYnV0ZXMiOiB7CiAgICAibXkudHJhY2VyIjogewogICAg ICAiaXMtbmljZSI6IHRydWUKICAgIH0KICB9Cn0KLS0tLQo9PT09CgpbW2VudW0tZmNdXQo9PT09 IEFic3RyYWN0IGVudW1lcmF0aW9uIGZpZWxkIGNsYXNzCgpBbiBfYWJzdHJhY3QgZW51bWVyYXRp b25fIGZpZWxkIGNsYXNzIGlzIGEgYmFzZSBvZiBhIHtmbC1lbnVtLWZjfSBhbmQgYQp7dmwtZW51 bS1mY30uCgpUaGlzIGZpZWxkIGNsYXNzIGlzIGFic3RyYWN0IGluIHRoYXQgaXQgb25seSBleGlz dHMgdG8gc2hvdyB0aGUgcmVsYXRpb24KYmV0d2VlbiBkaWZmZXJlbnQgZW51bWVyYXRpb24gZmll bGQgY2xhc3NlcyBpbiB0aGlzIGRvY3VtZW50OiBhCjw8cGt0LHBhY2tldD4+IGNhbm5vdCBjb250 YWluIGFuIGFic3RyYWN0IGVudW1lcmF0aW9uIGZpZWxkLgoKQW4gYWJzdHJhY3QgZW51bWVyYXRp b24gZmllbGQgY2xhc3MgaXMgYW4gPDxpbnQtZmMsYWJzdHJhY3QgaW50ZWdlcgpmaWVsZCBjbGFz cz4+LgoKQW4gZW51bWVyYXRpb24gZmllbGQgaXMgYW4gaW50ZWdlciBmaWVsZCB3aGljaCB7bWF5 fSBoYXZlIG9uZSBvciBtb3JlCmFzc29jaWF0ZWQgbmFtZXMgdGhhbmtzIHRvIGl0cyBjbGFzcydz IGBtYXBwaW5nc2AgcHJvcGVydHkuCgouQ29tbW9uIHByb3BlcnR5IG9mIGFuIGVudW1lcmF0aW9u IGZpZWxkIGNsYXNzIHt2YXItZn0uClslaGVhZGVyJWF1dG93aWR0aCwgY29scz0iZCxkLGEsZCxk Il0KfD09PQp8TmFtZSB8VHlwZSB8RGVzY3JpcHRpb24gfFJlcXVpcmVkPyB8RGVmYXVsdAoKfGBw cmVmZXJyZWQtZGlzcGxheS1iYXNlYAp8SlNPTiBpbnRlZ2VyCnxQcmVmZXJyZWQgYmFzZSB0byBk aXNwbGF5IHRoZSB2YWx1ZSBvZiBhbiBpbnN0YW5jZSBvZntuYnNwfXt2YXItZn0uCgpUaGUgdmFs dWUgb2YgdGhpcyBwcm9wZXJ0eSB7bXVzdH0gYmUgb25lIG9mOgoKYDJgOjoKICAgIEJpbmFyeSBi YXNlLgoKYDhgOjoKICAgIE9jdGFsIGJhc2UuCgpgMTBgOjoKICAgIERlY2ltYWwgYmFzZS4KCmAx NmA6OgogICAgSGV4YWRlY2ltYWwgYmFzZS4KClByb3BlcnR5IGluaGVyaXRlZCBmcm9tIHRoZSA8 PGludC1mYyxhYnN0cmFjdCBpbnRlZ2VyIGZpZWxkIGNsYXNzPj4uCnxObwp8YDEwYAoKfGBtYXBw aW5nc2AKfDw8ZW51bS1mYy1tYXBwaW5ncyxFbnVtZXJhdGlvbiBmaWVsZCBjbGFzcyBtYXBwaW5n cz4+CnxNYXBwaW5ncyBvZntuYnNwfXt2YXItZn0uCgpUaGUgdmFsdWUgb2YgdGhpcyBwcm9wZXJ0 eSB7bXVzdH0gY29udGFpbiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgp8WWVzCnwKfD09PQoKW1tl bnVtLWZjLW1hcHBpbmdzXV0KPT09PT0gRW51bWVyYXRpb24gZmllbGQgY2xhc3MgbWFwcGluZ3MK Cl9FbnVtZXJhdGlvbiBmaWVsZCBjbGFzcyBtYXBwaW5nc18gbWFwIG5hbWVzIHRvCjw8aW50LXJh bmdlLXNldCxpbnRlZ2VyIHJhbmdlIHNldHM+Pi4KCkVudW1lcmF0aW9uIGZpZWxkIGNsYXNzIG1h cHBpbmdzIGFyZSBhIEpTT04gb2JqZWN0LCB3aGVyZSBlYWNoIHByb3BlcnR5CmlzOgoKW2hvcml6 b250YWxdCk5hbWU6OgogICAgTWFwcGluZyBuYW1lLgoKVmFsdWU6OgogICAgTWFwcGVkIHJhbmdl cyBvZiBpbnRlZ2VycyAoPDxpbnQtcmFuZ2Utc2V0LGludGVnZXIgcmFuZ2Ugc2V0Pj4pLgoKVGhl IGludGVnZXIgcmFuZ2VzIG9mIHR3byBnaXZlbiBtYXBwaW5ncyB7bWF5fSBvdmVybGFwLgoKRW51 bWVyYXRpb24gZmllbGQgY2xhc3MgbWFwcGluZ3Mge211c3R9IGNvbnRhaW4gb25lIG9yIG1vcmUg cHJvcGVydGllcy4KCi5FbnVtZXJhdGlvbiBmaWVsZCBjbGFzcyBtYXBwaW5ncyB3aXRoIHRocmVl IG1hcHBpbmdzLgo9PT09CkluIHRoaXMgZXhhbXBsZSwgdGhlIGBmb3J0dW5lYCBhbmQgYGJ1aWxk aW5nYCBtYXBwaW5ncyBvdmVybGFwIHdpdGggdGhlCnZhbHVlcyA0IGFuZCA1LCBhbmQgdGhlIGBi dWlsZGluZ2AgYW5kIGBqb3VybmFsYCBtYXBwaW5ncyBvdmVybGFwIHdpdGgKdGhlIHZhbHVlIDgw LgoKW3NvdXJjZSxqc29uXQotLS0tCnsKICAiZm9ydHVuZSI6IFtbMywgNjddLCBbLTQ1LCAxXSwg Wzg0LCA4NF1dLAogICJidWlsZGluZyI6IFtbNCwgNV0sIFs3NSwgODJdXSwKICAiam91cm5hbCI6 IFtbMTAwLCAyMzA1XSwgWzgwLCA4MF1dCn0KLS0tLQo9PT09CgpbW2ZsLWVudW0tZmNdXQo9PT09 IHtjLWZsLWVudW19IGZpZWxkIGNsYXNzCgpBIF97ZmwtZW51bX1fIGZpZWxkIGNsYXNzIGlzIGJv dGggYW4gPDxlbnVtLWZjLGFic3RyYWN0IGVudW1lcmF0aW9uCmZpZWxkIGNsYXNzPj4gYW5kIGEg e2ZsLWludC1mY30gd2hpY2ggZGVzY3JpYmVzCl97ZmwtZW51bX1fIGZpZWxkcy4KCkEge2ZsLWVu dW19IGZpZWxkIGlzIGEge2ZsLWludH0gZmllbGQgd2hpY2gge21heX0gaGF2ZSBvbmUgb3IgbW9y ZQphc3NvY2lhdGVkIG5hbWVzIHRoYW5rcyB0byBpdHMgY2xhc3MncyBgbWFwcGluZ3NgIHByb3Bl cnR5LgoKSWYgdGhlIHZhbHVlIG9mIGEge2ZsLWVudW19IGZpZWxkIGNsYXNzJ3MgYHR5cGVgIHBy b3BlcnR5IGlzCmAiZml4ZWQtbGVuZ3RoLXNpZ25lZC1lbnVtZXJhdGlvbiJgLCB0aGVuIGl0cyBp bnN0YW5jZXMgaGF2ZSB0aGUgdHdvJ3MKY29tcGxlbWVudCBmb3JtYXQuCgouUHJvcGVydGllcyBv ZiBhIHtmbC1lbnVtfSBmaWVsZCBjbGFzcyB7dmFyLWZ9LgpbJWhlYWRlciVhdXRvd2lkdGgsIGNv bHM9ImQsZCxhLGQsZCJdCnw9PT0KfE5hbWUgfFR5cGUgfERlc2NyaXB0aW9uIHxSZXF1aXJlZD8g fERlZmF1bHQKCnxgdHlwZWAKfEpTT04gc3RyaW5nCnxUeXBlIG9me25ic3B9e3Zhci1mfS4KClRo ZSB2YWx1ZSBvZiB0aGlzIHByb3BlcnR5IHttdXN0fSBiZSBvbmUgb2Y6CgpgImZpeGVkLWxlbmd0 aC11bnNpZ25lZC1lbnVtZXJhdGlvbiJgOjoKICAgIFRoZSBpbnN0YW5jZXMgb2Z7bmJzcH17dmFy LWZ9IGFyZSB7ZmwtdWVudW19IGZpZWxkcy4KCmAiZml4ZWQtbGVuZ3RoLXNpZ25lZC1lbnVtZXJh dGlvbiJgOjoKICAgIFRoZSBpbnN0YW5jZXMgb2Z7bmJzcH17dmFyLWZ9IGFyZSB7Zmwtc2VudW19 IGZpZWxkcy4KfFllcwp8Cgp8YGxlbmd0aGAKfEpTT04gaW50ZWdlcgp8TnVtYmVyIG9mIGJpdHMg b2YgYW4gaW5zdGFuY2Ugb2Z7bmJzcH17dmFyLWZ9LgoKVGhlIHZhbHVlIG9mIHRoaXMgcHJvcGVy dHkge211c3R9IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvLgoKUHJvcGVydHkgaW5oZXJpdGVkIGZyb20g dGhlIHtmbC1iYS1mY30uCnxZZXMKfAoKfGBieXRlLW9yZGVyYAp8SlNPTiBzdHJpbmcKfHtjLWJv fSBvZiBhbiBpbnN0YW5jZQpvZntuYnNwfXt2YXItZn0uCgpUaGUgdmFsdWUgb2YgdGhpcyBwcm9w ZXJ0eSB7bXVzdH0gYmUgb25lIG9mOgoKYCJiaWctZW5kaWFuImA6OgogICAgQmlnLWVuZGlhbi4K CmAibGl0dGxlLWVuZGlhbiJgOjoKICAgIExpdHRsZS1lbmRpYW4uCgpQcm9wZXJ0eSBpbmhlcml0 ZWQgZnJvbSB0aGUge2ZsLWJhLWZjfS4KfFllcwp8Cgp8YGFsaWdubWVudGAKfEpTT04gaW50ZWdl cgp8QWxpZ25tZW50IG9mIHRoZSBmaXJzdCBiaXQgb2YgYW4gaW5zdGFuY2Ugb2Z7bmJzcH17dmFy LWZ9CnJlbGF0aXZlIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIDw8cGt0LHBhY2tldD4+IHdoaWNo CmNvbnRhaW5zIHRoaXMgaW5zdGFuY2UuCgpUaGUgdmFsdWUgb2YgdGhpcyBwcm9wZXJ0eSB7bXVz dH0gYmUgYSBwb3NpdGl2ZSBwb3dlciBvZiB0d28uCgpQcm9wZXJ0eSBpbmhlcml0ZWQgZnJvbSB0 aGUge2ZsLWJhLWZjfS4KfE5vCnxgMWAKCnxgcHJlZmVycmVkLWRpc3BsYXktYmFzZWAKfEpTT04g aW50ZWdlcgp8UHJlZmVycmVkIGJhc2UgdG8gZGlzcGxheSB0aGUgdmFsdWUgb2YgYW4gaW5zdGFu Y2Ugb2Z7bmJzcH17dmFyLWZ9LgoKVGhlIHZhbHVlIG9mIHRoaXMgcHJvcGVydHkge211c3R9IGJl IG9uZSBvZjoKCmAyYDo6CiAgICBCaW5hcnkgYmFzZS4KCmA4YDo6CiAgICBPY3RhbCBiYXNlLgoK YDEwYDo6CiAgICBEZWNpbWFsIGJhc2UuCgpgMTZgOjoKICAgIEhleGFkZWNpbWFsIGJhc2UuCgpQ cm9wZXJ0eSBpbmhlcml0ZWQgZnJvbSB0aGUgPDxpbnQtZmMsYWJzdHJhY3QgaW50ZWdlciBmaWVs ZCBjbGFzcz4+Lgp8Tm8KfGAxMGAKCnxgbWFwcGluZ3NgCnw8PGVudW0tZmMtbWFwcGluZ3MsRW51 bWVyYXRpb24gZmllbGQgY2xhc3MgbWFwcGluZ3M+Pgp8TWFwcGluZ3Mgb2Z7bmJzcH17dmFyLWZ9 LgoKVGhlIHZhbHVlIG9mIHRoaXMgcHJvcGVydHkge211c3R9IGNvbnRhaW4gb25lIG9yIG1vcmUg cHJvcGVydGllcy4KClByb3BlcnR5IGluaGVyaXRlZCBmcm9tIHRoZSA8PGVudW0tZmMsYWJzdHJh Y3QgZW51bWVyYXRpb24gZmllbGQgY2xhc3M+Pi4KfFllcwp8Cgp8YHJvbGVzYAp8PDxyb2xlcyxS b2xlcz4+CnxSb2xlcyBvZiBhbiBpbnN0YW5jZSBvZntuYnNwfXt2YXItZn0uCgpTZWUgPDx0Yy1m cmFnPj4gYW5kIDw8ZHNjLWZyYWc+PiB3aGljaCBpbmRpY2F0ZSBhY2NlcHRlZApyb2xlcyBmb3Ig dGhlaXIgcm9vdCBmaWVsZCBjbGFzc2VzLgp8Tm8KfGArW10rYAoKfGB1c2VyLWF0dHJpYnV0ZXNg Cnw8PHVzZXItYXR0cnMsVXNlciBhdHRyaWJ1dGVzPj4KfFVzZXIgYXR0cmlidXRlcyBvZntuYnNw fXt2YXItZn0uCnxObwp8YCt7fStgCgp8YGV4dGVuc2lvbnNgCnw8PGV4dCxFeHRlbnNpb25zPj4K fEV4dGVuc2lvbnMgb2Z7bmJzcH17dmFyLWZ9LgoKQW55IGV4dGVuc2lvbiB3aGljaCBleGlzdHMg dW5kZXIgdGhpcyBwcm9wZXJ0eSBtdXN0IGFsc28gYmUgZGVjbGFyZWQgaW4KdGhlIG1ldGFkYXRh IHN0cmVhbSdzIDw8cHJlYW1ibGUtZnJhZyxwcmVhbWJsZSBmcmFnbWVudD4+Lgp8Tm8KfGAre30r YAp8PT09CgouTWluaW1hbCB7ZmwtdWVudW19IGZpZWxkIGNsYXNzLgo9PT09Cltzb3VyY2UsanNv bl0KLS0tLQp7CiAgInR5cGUiOiAiZml4ZWQtbGVuZ3RoLXVuc2lnbmVkLWVudW1lcmF0aW9uIiwK ICAibGVuZ3RoIjogMTYsCiAgImJ5dGUtb3JkZXIiOiAibGl0dGxlLWVuZGlhbiIsCiAgIm1hcHBp bmdzIjogewogICAgImFwcGxlIjogW1sxLCAxOV1dCiAgfQp9Ci0tLS0KPT09PQoKLntjLWZsLXNl bnVtfSBmaWVsZCBjbGFzcyB3aXRoIGEgMzItYml0IGFsaWdubWVudC4KPT09PQpbc291cmNlLGpz b25dCi0tLS0KewogICJ0eXBlIjogImZpeGVkLWxlbmd0aC1zaWduZWQtZW51bWVyYXRpb24iLAog ICJsZW5ndGgiOiA0OCwKICAiYnl0ZS1vcmRlciI6ICJiaWctZW5kaWFuIiwKICAiYWxpZ25tZW50 IjogMzIsCiAgIm1hcHBpbmdzIjogewogICAgImJhbmFuYSI6IFtbLTI3Mzk5LCAtMTg4Ml0sIFs4 LCAxOTldLCBbMTAxLCAxMDFdXSwKICAgICJvcmFuZ2UiOiBbWzY3LCA2N10sIFs0MywgMTUzNF1d CiAgfQp9Ci0tLS0KPT09PQoKLntjLWZsLXVlbnVtfSBmaWVsZCBjbGFzcyB3aXRoIGEgcHJlZmVy cmVkIGhleGFkZWNpbWFsIGRpc3BsYXkgYmFzZS4KPT09PQpbc291cmNlLGpzb25dCi0tLS0Kewog ICJ0eXBlIjogImZpeGVkLWxlbmd0aC11bnNpZ25lZC1lbnVtZXJhdGlvbiIsCiAgImxlbmd0aCI6 IDgsCiAgImJ5dGUtb3JkZXIiOiAiYmlnLWVuZGlhbiIsCiAgInByZWZlcnJlZC1kaXNwbGF5LWJh c2UiOiAxNiwKICAibWFwcGluZ3MiOiB7CiAgICAibGltZSI6IFtbMywgM11dLAogICAgImtpd2ki OiBbWzgsIDhdXSwKICAgICJibHVlYmVycnkiOiBbWzExLCAxMV1dCiAgfQp9Ci0tLS0KPT09PQoK LntjLWZsLXNlbnVtfSBmaWVsZCBjbGFzcyB3aXRoIDw8dXNlci1hdHRycyx1c2VyIGF0dHJpYnV0 ZXM+Pi4KPT09PQpbc291cmNlLGpzb25dCi0tLS0KewogICJ0eXBlIjogImZpeGVkLWxlbmd0aC1z aWduZWQtZW51bWVyYXRpb24iLAogICJsZW5ndGgiOiAxNiwKICAiYnl0ZS1vcmRlciI6ICJsaXR0 bGUtZW5kaWFuIiwKICAibWFwcGluZ3MiOiB7CiAgICAibWFuZ28iOiBbWzIzLCA0Ml1dCiAgfSwK ICAidXNlci1hdHRyaWJ1dGVzIjogewogICAgIm15LnRyYWNlciI6IHsKICAgICAgImlzLW5pY2Ui OiB0cnVlCiAgICB9CiAgfQp9Ci0tLS0KPT09PQoKW1tmbC1mcC1mY11dCj09PT0ge2MtZmwtZnB9 IGZpZWxkIGNsYXNzCgpBIF97ZmwtZnB9XyBmaWVsZCBjbGFzcyBpcyBhIHtmbC1iYS1mY30gd2hp Y2ggZGVzY3JpYmVzIF97ZmwtZnB9XwpmaWVsZHMuCgpBIHtmbC1mcH0gZmllbGQgaXMgYSB7Zmwt YmF9IGZpZWxkIHdoaWNoIGhhcyBmbG9hdGluZyBwb2ludCBudW1iZXIKc2VtYW50aWNzLgoKLlBy b3BlcnRpZXMgb2YgYSB7ZmwtZnB9IGZpZWxkIGNsYXNzIHt2YXItZn0uClslaGVhZGVyJWF1dG93 aWR0aCwgY29scz0iZCxkLGEsZCxkIl0KfD09PQp8TmFtZSB8VHlwZSB8RGVzY3JpcHRpb24gfFJl cXVpcmVkPyB8RGVmYXVsdAoKfGB0eXBlYAp8SlNPTiBzdHJpbmcKfFR5cGUgb2Z7bmJzcH17dmFy LWZ9LgoKVGhlIHZhbHVlIG9mIHRoaXMgcHJvcGVydHkge211c3R9IGJlIGAiZml4ZWQtbGVuZ3Ro LWZsb2F0aW5nLXBvaW50LW51bWJlciJgLgp8WWVzCnwKCnxgbGVuZ3RoYAp8SlNPTiBpbnRlZ2Vy CnxOdW1iZXIgb2YgYml0cyBvZiBhbiBpbnN0YW5jZSBvZntuYnNwfXt2YXItZn0uCgpUaGUgdmFs dWUgb2YgdGhpcyBwcm9wZXJ0eSB7bXVzdH0gYmUgb25lIG9mOgoKYDE2YDo6CiAgICBUaGUgaW5z dGFuY2VzIG9me25ic3B9e3Zhci1mfSBhcmUgYmluYXJ5MTYgZmxvYXRpbmcgcG9pbnQgbnVtYmVy cywKICAgIGFzIHBlciB7aWVlZTc1NH0uCgpgMzJgOjoKICAgIFRoZSBpbnN0YW5jZXMgb2Z7bmJz cH17dmFyLWZ9IGFyZSBiaW5hcnkzMiBmbG9hdGluZyBwb2ludCBudW1iZXJzLgoKYDY0YDo6CiAg ICBUaGUgaW5zdGFuY2VzIG9me25ic3B9e3Zhci1mfSBhcmUgYmluYXJ5NjQgZmxvYXRpbmcgcG9p bnQgbnVtYmVycy4KCmAxMjhgOjoKICAgIFRoZSBpbnN0YW5jZXMgb2Z7bmJzcH17dmFyLWZ9IGFy ZSBiaW5hcnkxMjggZmxvYXRpbmcgcG9pbnQKICAgIG51bWJlcnMuCgpfKipLKipfLCB3aGVyZSBf KipLKipfIGlzIGdyZWF0ZXIgdGhhbntuYnNwfTEyOCBhbmQgYSBtdWx0aXBsZSBvZntuYnNwfTMy OjoKICAgIFRoZSBpbnN0YW5jZXMgb2Z7bmJzcH17dmFyLWZ9IGFyZSBiaW5hcnlfXyoqSyoqX18g ZmxvYXRpbmcgcG9pbnQKICAgIG51bWJlcnMuCgpQcm9wZXJ0eSBpbmhlcml0ZWQgZnJvbSB0aGUg e2ZsLWJhLWZjfS4KfFllcwp8Cgp8YGJ5dGUtb3JkZXJgCnxKU09OIHN0cmluZwp8e2MtYm99IG9m IGFuIGluc3RhbmNlCm9me25ic3B9e3Zhci1mfS4KClRoZSB2YWx1ZSBvZiB0aGlzIHByb3BlcnR5 IHttdXN0fSBiZSBvbmUgb2Y6CgpgImJpZy1lbmRpYW4iYDo6CiAgICBCaWctZW5kaWFuLgoKYCJs aXR0bGUtZW5kaWFuImA6OgogICAgTGl0dGxlLWVuZGlhbi4KClByb3BlcnR5IGluaGVyaXRlZCBm cm9tIHRoZSB7ZmwtYmEtZmN9Lgp8WWVzCnwKCnxgYWxpZ25tZW50YAp8SlNPTiBpbnRlZ2VyCnxB bGlnbm1lbnQgb2YgdGhlIGZpcnN0IGJpdCBvZiBhbiBpbnN0YW5jZSBvZntuYnNwfXt2YXItZn0K cmVsYXRpdmUgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgPDxwa3QscGFja2V0Pj4gd2hpY2gKY29u dGFpbnMgdGhpcyBpbnN0YW5jZS4KClRoZSB2YWx1ZSBvZiB0aGlzIHByb3BlcnR5IHttdXN0fSBi ZSBhIHBvc2l0aXZlIHBvd2VyIG9mIHR3by4KClByb3BlcnR5IGluaGVyaXRlZCBmcm9tIHRoZSB7 ZmwtYmEtZmN9Lgp8Tm8KfGAxYAoKfGByb2xlc2AKfDw8cm9sZXMsUm9sZXM+Pgp8Um9sZXMgb2Yg YW4gaW5zdGFuY2Ugb2Z7bmJzcH17dmFyLWZ9LgoKU2VlIDw8dGMtZnJhZz4+IGFuZCA8PGRzYy1m cmFnPj4gd2hpY2ggaW5kaWNhdGUgYWNjZXB0ZWQKcm9sZXMgZm9yIHRoZWlyIHJvb3QgZmllbGQg Y2xhc3Nlcy4KfE5vCnxgK1tdK2AKCnxgdXNlci1hdHRyaWJ1dGVzYAp8PDx1c2VyLWF0dHJzLFVz ZXIgYXR0cmlidXRlcz4+CnxVc2VyIGF0dHJpYnV0ZXMgb2Z7bmJzcH17dmFyLWZ9Lgp8Tm8KfGAr e30rYAoKfGBleHRlbnNpb25zYAp8PDxleHQsRXh0ZW5zaW9ucz4+CnxFeHRlbnNpb25zIG9me25i c3B9e3Zhci1mfS4KCkFueSBleHRlbnNpb24gd2hpY2ggZXhpc3RzIHVuZGVyIHRoaXMgcHJvcGVy dHkgbXVzdCBhbHNvIGJlIGRlY2xhcmVkIGluCnRoZSBtZXRhZGF0YSBzdHJlYW0ncyA8PHByZWFt YmxlLWZyYWcscHJlYW1ibGUgZnJhZ21lbnQ+Pi4KfE5vCnxgK3t9K2AKfD09PQoKLk1pbmltYWwg YmluYXJ5MzIge2ZsLWZwfSBmaWVsZCBjbGFzcy4KPT09PQpbc291cmNlLGpzb25dCi0tLS0Kewog ICJ0eXBlIjogImZpeGVkLWxlbmd0aC1mbG9hdGluZy1wb2ludC1udW1iZXIiLAogICJsZW5ndGgi OiAzMiwKICAiYnl0ZS1vcmRlciI6ICJsaXR0bGUtZW5kaWFuIgp9Ci0tLS0KPT09PQoKLmJpbmFy eTY0IHtmbC1mcH0gZmllbGQgY2xhc3Mgd2l0aCBhIDMyLWJpdCBhbGlnbm1lbnQuCj09PT0KW3Nv dXJjZSxqc29uXQotLS0tCnsKICAidHlwZSI6ICJmaXhlZC1sZW5ndGgtZmxvYXRpbmctcG9pbnQt bnVtYmVyIiwKICAibGVuZ3RoIjogNjQsCiAgImJ5dGUtb3JkZXIiOiAiYmlnLWVuZGlhbiIsCiAg ImFsaWdubWVudCI6IDMyCn0KLS0tLQo9PT09CgouYmluYXJ5MTkyIHtmbC1mcH0gZmllbGQgY2xh c3Mgd2l0aCA8PHVzZXItYXR0cnMsdXNlciBhdHRyaWJ1dGVzPj4uCj09PT0KW3NvdXJjZSxqc29u XQotLS0tCnsKICAidHlwZSI6ICJmaXhlZC1sZW5ndGgtZmxvYXRpbmctcG9pbnQtbnVtYmVyIiwK ICAibGVuZ3RoIjogMTkyLAogICJieXRlLW9yZGVyIjogImxpdHRsZS1lbmRpYW4iLAogICJ1c2Vy LWF0dHJpYnV0ZXMiOiB7CiAgICAibXkudHJhY2VyIjogewogICAgICAiaXMtbmljZSI6IHRydWUK ICAgIH0KICB9Cn0KLS0tLQo9PT09CgpbW3ZsLWJhLWZjXV0KPT09PSB7Yy12bC1iYX0gZmllbGQg Y2xhc3MKCkEgX3t2bC1iYX1fIGZpZWxkIGNsYXNzIGRlc2NyaWJlcyBfe3ZsLWJhfV8gZmllbGRz LgoKQSB7dmwtYmF9IGZpZWxkIGlzIGEgc2VxdWVuY2Ugb2YgYnl0ZXMgd2l0aCBhIHZhcmlhYmxl IGxlbmd0aAp3aGljaCBjb250YWlucyBhbiBhcnJheSBvZiBiaXRzIG9mIHdoaWNoIHRoZSBsZW5n dGggaXMgYQptdWx0aXBsZSBvZntuYnNwfTcuIEEge3ZsLWJhfSBmaWVsZCBpcyBlbmNvZGVkIGFz IHBlcgpodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9MRUIxMjhbTEVCMTI4XS4KCkEge3Zs LWJhfSBmaWVsZCBjbGFzcyBhY3RzIGFzIGEgYmFzZSBvZiBhIHt2bC1pbnQtZmN9LgoKLkNvbW1v biBwcm9wZXJ0aWVzIG9mIGEge3ZsLWJhfSBmaWVsZCBjbGFzcyB7dmFyLWZ9LgpbJWhlYWRlciVh dXRvd2lkdGgsIGNvbHM9ImQsZCxhLGQsZCJdCnw9PT0KfE5hbWUgfFR5cGUgfERlc2NyaXB0aW9u IHxSZXF1aXJlZD8gfERlZmF1bHQKCnxgdHlwZWAKfEpTT04gc3RyaW5nCnxUeXBlIG9me25ic3B9 e3Zhci1mfS4KClRoZSB2YWx1ZSBvZiB0aGlzIHByb3BlcnR5IHttdXN0fSBiZSBgInZhcmlhYmxl LWxlbmd0aC1iaXQtYXJyYXkiYC4KfFllcwp8Cgp8YHJvbGVzYAp8PDxyb2xlcyxSb2xlcz4+CnxS b2xlcyBvZiBhbiBpbnN0YW5jZSBvZntuYnNwfXt2YXItZn0uCgpTZWUgPDx0Yy1mcmFnPj4gYW5k IDw8ZHNjLWZyYWc+PiB3aGljaCBpbmRpY2F0ZSBhY2NlcHRlZApyb2xlcyBmb3IgdGhlaXIgcm9v dCBmaWVsZCBjbGFzc2VzLgp8Tm8KfGArW10rYAoKfGB1c2VyLWF0dHJpYnV0ZXNgCnw8PHVzZXIt YXR0cnMsVXNlciBhdHRyaWJ1dGVzPj4KfFVzZXIgYXR0cmlidXRlcyBvZntuYnNwfXt2YXItZn0u CnxObwp8YCt7fStgCgp8YGV4dGVuc2lvbnNgCnw8PGV4dCxFeHRlbnNpb25zPj4KfEV4dGVuc2lv bnMgb2Z7bmJzcH17dmFyLWZ9LgoKQW55IGV4dGVuc2lvbiB3aGljaCBleGlzdHMgdW5kZXIgdGhp cyBwcm9wZXJ0eSBtdXN0IGFsc28gYmUgZGVjbGFyZWQgaW4KdGhlIG1ldGFkYXRhIHN0cmVhbSdz IDw8cHJlYW1ibGUtZnJhZyxwcmVhbWJsZSBmcmFnbWVudD4+Lgp8Tm8KfGAre30rYAp8PT09Cgou TWluaW1hbCB7dmwtYmF9IGZpZWxkIGNsYXNzLgo9PT09Cltzb3VyY2UsanNvbl0KLS0tLQp7CiAg InR5cGUiOiAidmFyaWFibGUtbGVuZ3RoLWJpdC1hcnJheSIKfQotLS0tCj09PT0KCi57Yy12bC1i YX0gZmllbGQgY2xhc3Mgd2l0aCA8PHVzZXItYXR0cnMsdXNlciBhdHRyaWJ1dGVzPj4uCj09PT0K W3NvdXJjZSxqc29uXQotLS0tCnsKICAidHlwZSI6ICJ2YXJpYWJsZS1sZW5ndGgtYml0LWFycmF5 IiwKICAidXNlci1hdHRyaWJ1dGVzIjogewogICAgIm15LnRyYWNlciI6IHsKICAgICAgImlzLW5p Y2UiOiB0cnVlCiAgICB9CiAgfQp9Ci0tLS0KPT09PQoKW1t2bC1pbnQtZmNdXQo9PT09IHtjLXZs LWludH0gZmllbGQgY2xhc3MKCkEgX3t2bC1pbnR9XyBmaWVsZCBjbGFzcyBpcyBib3RoIGFuIDw8 aW50LWZjLGFic3RyYWN0IGludGVnZXIgZmllbGQKY2xhc3M+PiBhbmQgYSB7dmwtYmEtZmN9IHdo aWNoIGRlc2NyaWJlcwpfe3ZsLWludH1fIGZpZWxkcy4KCkEge3ZsLWludH0gZmllbGQgaXMgYSB7 dmwtYmF9IGZpZWxkIHdoaWNoIGhhcyBpbnRlZ2VyIHNlbWFudGljcy4KCklmIHRoZSB2YWx1ZSBv ZiBhIHt2bC1pbnR9IGZpZWxkIGNsYXNzJ3MgYHR5cGVgIHByb3BlcnR5IGlzCmAidmFyaWFibGUt bGVuZ3RoLXNpZ25lZC1pbnRlZ2VyImAsIHRoZW4gaXRzIGluc3RhbmNlcyBoYXZlIHRoZSB0d28n cwpjb21wbGVtZW50IGZvcm1hdC4KCkEge3ZsLWludH0gZmllbGQgY2xhc3MgYWN0cyBhcyBhIGJh c2Ugb2YgYSB7dmwtZW51bS1mY30uCgouQ29tbW9uIHByb3BlcnRpZXMgb2YgYSB7dmwtaW50fSBm aWVsZCBjbGFzcyB7dmFyLWZ9LgpbJWhlYWRlciVhdXRvd2lkdGgsIGNvbHM9ImQsZCxhLGQsZCJd Cnw9PT0KfE5hbWUgfFR5cGUgfERlc2NyaXB0aW9uIHxSZXF1aXJlZD8gfERlZmF1bHQKCnxgdHlw ZWAKfEpTT04gc3RyaW5nCnxUeXBlIG9me25ic3B9e3Zhci1mfS4KClRoZSB2YWx1ZSBvZiB0aGlz IHByb3BlcnR5IHttdXN0fSBiZSBvbmUgb2Y6CgpgInZhcmlhYmxlLWxlbmd0aC11bnNpZ25lZC1p bnRlZ2VyImA6OgogICAgVGhlIGluc3RhbmNlcyBvZntuYnNwfXt2YXItZn0gYXJlIHt2bC11aW50 fSBmaWVsZHMuCgpgInZhcmlhYmxlLWxlbmd0aC1zaWduZWQtaW50ZWdlciJgOjoKICAgIFRoZSBp bnN0YW5jZXMgb2Z7bmJzcH17dmFyLWZ9IGFyZSB7dmwtc2ludH0gZmllbGRzLgp8WWVzCnwKCnxg cHJlZmVycmVkLWRpc3BsYXktYmFzZWAKfEpTT04gaW50ZWdlcgp8UHJlZmVycmVkIGJhc2UgdG8g ZGlzcGxheSB0aGUgdmFsdWUgb2YgYW4gaW5zdGFuY2Ugb2Z7bmJzcH17dmFyLWZ9LgoKVGhlIHZh bHVlIG9mIHRoaXMgcHJvcGVydHkge211c3R9IGJlIG9uZSBvZjoKCmAyYDo6CiAgICBCaW5hcnkg YmFzZS4KCmA4YDo6CiAgICBPY3RhbCBiYXNlLgoKYDEwYDo6CiAgICBEZWNpbWFsIGJhc2UuCgpg MTZgOjoKICAgIEhleGFkZWNpbWFsIGJhc2UuCgpQcm9wZXJ0eSBpbmhlcml0ZWQgZnJvbSB0aGUg PDxpbnQtZmMsYWJzdHJhY3QgaW50ZWdlciBmaWVsZCBjbGFzcz4+Lgp8Tm8KfGAxMGAKCnxgcm9s ZXNgCnw8PHJvbGVzLFJvbGVzPj4KfFJvbGVzIG9mIGFuIGluc3RhbmNlIG9me25ic3B9e3Zhci1m fS4KClNlZSA8PHRjLWZyYWc+PiBhbmQgPDxkc2MtZnJhZz4+IHdoaWNoIGluZGljYXRlIGFjY2Vw dGVkCnJvbGVzIGZvciB0aGVpciByb290IGZpZWxkIGNsYXNzZXMuCnxObwp8YCtbXStgCgp8YHVz ZXItYXR0cmlidXRlc2AKfDw8dXNlci1hdHRycyxVc2VyIGF0dHJpYnV0ZXM+Pgp8VXNlciBhdHRy aWJ1dGVzIG9me25ic3B9e3Zhci1mfS4KfE5vCnxgK3t9K2AKCnxgZXh0ZW5zaW9uc2AKfDw8ZXh0 LEV4dGVuc2lvbnM+Pgp8RXh0ZW5zaW9ucyBvZntuYnNwfXt2YXItZn0uCgpBbnkgZXh0ZW5zaW9u IHdoaWNoIGV4aXN0cyB1bmRlciB0aGlzIHByb3BlcnR5IG11c3QgYWxzbyBiZSBkZWNsYXJlZCBp bgp0aGUgbWV0YWRhdGEgc3RyZWFtJ3MgPDxwcmVhbWJsZS1mcmFnLHByZWFtYmxlIGZyYWdtZW50 Pj4uCnxObwp8YCt7fStgCnw9PT0KCi5NaW5pbWFsIHt2bC11aW50fSBmaWVsZCBjbGFzcy4KPT09 PQpbc291cmNlLGpzb25dCi0tLS0KewogICJ0eXBlIjogInZhcmlhYmxlLWxlbmd0aC11bnNpZ25l ZC1pbnRlZ2VyIgp9Ci0tLS0KPT09PQoKLntjLXZsLXNpbnR9IGZpZWxkIGNsYXNzIHdpdGggYSBw cmVmZXJyZWQgaGV4YWRlY2ltYWwgZGlzcGxheSBiYXNlLgo9PT09Cltzb3VyY2UsanNvbl0KLS0t LQp7CiAgInR5cGUiOiAidmFyaWFibGUtbGVuZ3RoLXNpZ25lZC1pbnRlZ2VyIiwKICAicHJlZmVy cmVkLWRpc3BsYXktYmFzZSI6IDE2Cn0KLS0tLQo9PT09Cgoue2MtdmwtdWludH0gZmllbGQgY2xh c3Mgd2l0aCA8PHVzZXItYXR0cnMsdXNlciBhdHRyaWJ1dGVzPj4uCj09PT0KW3NvdXJjZSxqc29u XQotLS0tCnsKICAidHlwZSI6ICJ2YXJpYWJsZS1sZW5ndGgtdW5zaWduZWQtaW50ZWdlciIsCiAg InVzZXItYXR0cmlidXRlcyI6IHsKICAgICJteS50cmFjZXIiOiB7CiAgICAgICJpcy1uaWNlIjog dHJ1ZQogICAgfQogIH0KfQotLS0tCj09PT0KCltbdmwtZW51bS1mY11dCj09PT0ge2MtdmwtZW51 bX0gZmllbGQgY2xhc3MKCkEgX3t2bC1lbnVtfV8gZmllbGQgY2xhc3MgaXMgYm90aCBhbiA8PGVu dW0tZmMsYWJzdHJhY3QgZW51bWVyYXRpb24KZmllbGQgY2xhc3M+PiBhbmQgYSB7dmwtaW50LWZj fSB3aGljaCBkZXNjcmliZXMKX3t2bC1lbnVtfV8gZmllbGRzLgoKQSB7dmwtZW51bX0gZmllbGQg aXMgYSB7dmwtaW50fSBmaWVsZCB3aGljaCB7bWF5fSBoYXZlIG9uZSBvciBtb3JlCmFzc29jaWF0 ZWQgbmFtZXMgdGhhbmtzIHRvIGl0cyBjbGFzcydzIGBtYXBwaW5nc2AgcHJvcGVydHkuCgpJZiB0 aGUgdmFsdWUgb2YgYSB7dmwtZW51bX0gZmllbGQgY2xhc3MncyBgdHlwZWAgcHJvcGVydHkgaXMK YCJ2YXJpYWJsZS1sZW5ndGgtc2lnbmVkLWVudW1lcmF0aW9uImAsIHRoZW4gaXRzIGluc3RhbmNl cyBoYXZlIHRoZQp0d28ncyBjb21wbGVtZW50IGZvcm1hdC4KCi5Qcm9wZXJ0aWVzIG9mIGEge3Zs LWVudW19IGZpZWxkIGNsYXNzIHt2YXItZn0uClslaGVhZGVyJWF1dG93aWR0aCwgY29scz0iZCxk LGEsZCxkIl0KfD09PQp8TmFtZSB8VHlwZSB8RGVzY3JpcHRpb24gfFJlcXVpcmVkPyB8RGVmYXVs dAoKfGB0eXBlYAp8SlNPTiBzdHJpbmcKfFR5cGUgb2Z7bmJzcH17dmFyLWZ9LgoKVGhlIHZhbHVl IG9mIHRoaXMgcHJvcGVydHkge211c3R9IGJlIG9uZSBvZjoKCmAidmFyaWFibGUtbGVuZ3RoLXVu c2lnbmVkLWVudW1lcmF0aW9uImA6OgogICAgVGhlIGluc3RhbmNlcyBvZntuYnNwfXt2YXItZn0g YXJlIHt2bC11ZW51bX0gZmllbGRzLgoKYCJ2YXJpYWJsZS1sZW5ndGgtc2lnbmVkLWVudW1lcmF0 aW9uImA6OgogICAgVGhlIGluc3RhbmNlcyBvZntuYnNwfXt2YXItZn0gYXJlIHt2bC1zZW51bX0g ZmllbGRzLgp8WWVzCnwKCnxgcHJlZmVycmVkLWRpc3BsYXktYmFzZWAKfEpTT04gaW50ZWdlcgp8 UHJlZmVycmVkIGJhc2UgdG8gZGlzcGxheSB0aGUgdmFsdWUgb2YgYW4gaW5zdGFuY2Ugb2Z7bmJz cH17dmFyLWZ9LgoKVGhlIHZhbHVlIG9mIHRoaXMgcHJvcGVydHkge211c3R9IGJlIG9uZSBvZjoK CmAyYDo6CiAgICBCaW5hcnkgYmFzZS4KCmA4YDo6CiAgICBPY3RhbCBiYXNlLgoKYDEwYDo6CiAg ICBEZWNpbWFsIGJhc2UuCgpgMTZgOjoKICAgIEhleGFkZWNpbWFsIGJhc2UuCgpQcm9wZXJ0eSBp bmhlcml0ZWQgZnJvbSB0aGUgPDxpbnQtZmMsYWJzdHJhY3QgaW50ZWdlciBmaWVsZCBjbGFzcz4+ Lgp8Tm8KfGAxMGAKCnxgbWFwcGluZ3NgCnw8PGVudW0tZmMtbWFwcGluZ3MsRW51bWVyYXRpb24g ZmllbGQgY2xhc3MgbWFwcGluZ3M+Pgp8TWFwcGluZ3Mgb2Z7bmJzcH17dmFyLWZ9LgoKVGhlIHZh bHVlIG9mIHRoaXMgcHJvcGVydHkge211c3R9IGNvbnRhaW4gb25lIG9yIG1vcmUgcHJvcGVydGll cy4KClByb3BlcnR5IGluaGVyaXRlZCBmcm9tIHRoZSA8PGVudW0tZmMsYWJzdHJhY3QgZW51bWVy YXRpb24gZmllbGQgY2xhc3M+Pi4KfFllcwp8Cgp8YHJvbGVzYAp8PDxyb2xlcyxSb2xlcz4+CnxS b2xlcyBvZiBhbiBpbnN0YW5jZSBvZntuYnNwfXt2YXItZn0uCgpTZWUgPDx0Yy1mcmFnPj4gYW5k IDw8ZHNjLWZyYWc+PiB3aGljaCBpbmRpY2F0ZSBhY2NlcHRlZApyb2xlcyBmb3IgdGhlaXIgcm9v dCBmaWVsZCBjbGFzc2VzLgp8Tm8KfGArW10rYAoKfGB1c2VyLWF0dHJpYnV0ZXNgCnw8PHVzZXIt YXR0cnMsVXNlciBhdHRyaWJ1dGVzPj4KfFVzZXIgYXR0cmlidXRlcyBvZntuYnNwfXt2YXItZn0u CnxObwp8YCt7fStgCgp8YGV4dGVuc2lvbnNgCnw8PGV4dCxFeHRlbnNpb25zPj4KfEV4dGVuc2lv bnMgb2Z7bmJzcH17dmFyLWZ9LgoKQW55IGV4dGVuc2lvbiB3aGljaCBleGlzdHMgdW5kZXIgdGhp cyBwcm9wZXJ0eSBtdXN0IGFsc28gYmUgZGVjbGFyZWQgaW4KdGhlIG1ldGFkYXRhIHN0cmVhbSdz IDw8cHJlYW1ibGUtZnJhZyxwcmVhbWJsZSBmcmFnbWVudD4+Lgp8Tm8KfGAre30rYAp8PT09Cgou TWluaW1hbCB7dmwtdWVudW19IGZpZWxkIGNsYXNzLgo9PT09Cltzb3VyY2UsanNvbl0KLS0tLQp7 CiAgInR5cGUiOiAidmFyaWFibGUtbGVuZ3RoLXVuc2lnbmVkLWVudW1lcmF0aW9uIiwKICAibWFw cGluZ3MiOiB7CiAgICAiYXBwbGUiOiBbWzEsIDE5XV0KICB9Cn0KLS0tLQo9PT09Cgoue2Mtdmwt dWVudW19IGZpZWxkIGNsYXNzIHdpdGggYSBwcmVmZXJyZWQgaGV4YWRlY2ltYWwgZGlzcGxheSBi YXNlLgo9PT09Cltzb3VyY2UsanNvbl0KLS0tLQp7CiAgInR5cGUiOiAidmFyaWFibGUtbGVuZ3Ro LXVuc2lnbmVkLWVudW1lcmF0aW9uIiwKICAicHJlZmVycmVkLWRpc3BsYXktYmFzZSI6IDE2LAog ICJtYXBwaW5ncyI6IHsKICAgICJsaW1lIjogW1szLCAzXV0sCiAgICAia2l3aSI6IFtbOCwgOF1d LAogICAgImJsdWViZXJyeSI6IFtbMTEsIDExXV0KICB9Cn0KLS0tLQo9PT09Cgoue2Mtdmwtc2Vu dW19IGZpZWxkIGNsYXNzIHdpdGggPDx1c2VyLWF0dHJzLHVzZXIgYXR0cmlidXRlcz4+Lgo9PT09 Cltzb3VyY2UsanNvbl0KLS0tLQp7CiAgInR5cGUiOiAidmFyaWFibGUtbGVuZ3RoLXNpZ25lZC1l bnVtZXJhdGlvbiIsCiAgIm1hcHBpbmdzIjogewogICAgImJhbmFuYSI6IFtbLTI3Mzk5LCAtMTg4 Ml0sIFs4LCAxOTldLCBbMTAxLCAxMDFdXSwKICAgICJvcmFuZ2UiOiBbWzY3LCA2N10sIFs0Mywg MTUzNF1dCiAgfSwKICAidXNlci1hdHRyaWJ1dGVzIjogewogICAgIm15LnRyYWNlciI6IHsKICAg ICAgImlzLW5pY2UiOiB0cnVlCiAgICB9CiAgfQp9Ci0tLS0KPT09PQoKW1tzdHItZmNdXQo9PT09 IHtjLXN0cn0gZmllbGQgY2xhc3MKCkEgX3tzdHJ9XyBmaWVsZCBjbGFzcyBkZXNjcmliZXMgX3tz dHJ9XyBmaWVsZHMuCgpBIHtzdHJ9IGZpZWxkIGlzLCBpbiB0aGlzIG9yZGVyOgoKLiBaZXJvIG9y IG1vcmUgY29udGlndW91cyBub24tbnVsbCAobm9uLXplcm8pIGJ5dGVzIHdoaWNoIGZvcm0gYQog IFVURi04LWVuY29kZWQgc3RyaW5nLgoKLiBPbmUgbnVsbCAoemVybykgYnl0ZS4KCi5Qcm9wZXJ0 aWVzIG9mIGEge3N0cn0gZmllbGQgY2xhc3Mge3Zhci1mfS4KWyVoZWFkZXIlYXV0b3dpZHRoLCBj b2xzPSJkLGQsYSxkLGQiXQp8PT09CnxOYW1lIHxUeXBlIHxEZXNjcmlwdGlvbiB8UmVxdWlyZWQ/ IHxEZWZhdWx0Cgp8YHR5cGVgCnxKU09OIHN0cmluZwp8VHlwZSBvZntuYnNwfXt2YXItZn0uCgpU aGUgdmFsdWUgb2YgdGhpcyBwcm9wZXJ0eSB7bXVzdH0gYmUgYCJudWxsLXRlcm1pbmF0ZWQtc3Ry aW5nImAuCnxZZXMKfAoKfGByb2xlc2AKfDw8cm9sZXMsUm9sZXM+Pgp8Um9sZXMgb2YgYW4gaW5z dGFuY2Ugb2Z7bmJzcH17dmFyLWZ9LgoKU2VlIDw8dGMtZnJhZz4+IGFuZCA8PGRzYy1mcmFnPj4g d2hpY2ggaW5kaWNhdGUgYWNjZXB0ZWQKcm9sZXMgZm9yIHRoZWlyIHJvb3QgZmllbGQgY2xhc3Nl cy4KfE5vCnxgK1tdK2AKCnxgdXNlci1hdHRyaWJ1dGVzYAp8PDx1c2VyLWF0dHJzLFVzZXIgYXR0 cmlidXRlcz4+CnxVc2VyIGF0dHJpYnV0ZXMgb2Z7bmJzcH17dmFyLWZ9Lgp8Tm8KfGAre30rYAoK fGBleHRlbnNpb25zYAp8PDxleHQsRXh0ZW5zaW9ucz4+CnxFeHRlbnNpb25zIG9me25ic3B9e3Zh ci1mfS4KCkFueSBleHRlbnNpb24gd2hpY2ggZXhpc3RzIHVuZGVyIHRoaXMgcHJvcGVydHkgbXVz dCBhbHNvIGJlIGRlY2xhcmVkIGluCnRoZSBtZXRhZGF0YSBzdHJlYW0ncyA8PHByZWFtYmxlLWZy YWcscHJlYW1ibGUgZnJhZ21lbnQ+Pi4KfE5vCnxgK3t9K2AKfD09PQoKLk1pbmltYWwge3N0cn0g ZmllbGQgY2xhc3MuCj09PT0KW3NvdXJjZSxqc29uXQotLS0tCnsKICAidHlwZSI6ICJudWxsLXRl cm1pbmF0ZWQtc3RyaW5nIgp9Ci0tLS0KPT09PQoKLntjLXN0cn0gZmllbGQgY2xhc3Mgd2l0aCA8 PHVzZXItYXR0cnMsdXNlciBhdHRyaWJ1dGVzPj4uCj09PT0KW3NvdXJjZSxqc29uXQotLS0tCnsK ICAidHlwZSI6ICJudWxsLXRlcm1pbmF0ZWQtc3RyaW5nIiwKICAidXNlci1hdHRyaWJ1dGVzIjog ewogICAgIm15LnRyYWNlciI6IHsKICAgICAgImlzLW5pY2UiOiB0cnVlCiAgICB9CiAgfQp9Ci0t LS0KPT09PQoKW1tzbC1zdHItZmNdXQo9PT09IHtjLXNsLXN0cn0gZmllbGQgY2xhc3MKCkEgX3tz bC1zdHJ9XyBmaWVsZCBjbGFzcyBkZXNjcmliZXMgX3tzbC1zdHJ9XyBmaWVsZHMuCgpBIHtzbC1z dHJ9IGZpZWxkIGlzIGEgc2VxdWVuY2Ugb2YgemVybyBvciBtb3JlIGNvbnRpZ3VvdXMgYnl0ZXMu IEFsbAp0aGUgYnl0ZXMgb2YgYSB7c2wtc3RyfSBiZWZvcmUgdGhlIGZpcnN0IG51bGwgKHplcm8p IGJ5dGUsIGlmIGFueSwKZm9ybSBhIFVURi04LWVuY29kZWQgc3RyaW5nLiBBbGwgdGhlIGJ5dGVz IGFmdGVyIHRoZSBmaXJzdCBudWxsICh6ZXJvKQpieXRlLCBpZiBhbnksIGFyZSBnYXJiYWdlIGRh dGEuCgpUaGUgbGVuZ3RoLCBvciBudW1iZXIgb2YgYnl0ZXMsIG9mIGEge3NsLXN0cn0gZmllbGQg aXMgYSBwcm9wZXJ0eQooYGxlbmd0aGApIG9mIGl0cyBjbGFzcy4KCi5Qcm9wZXJ0aWVzIG9mIGEg e3NsLXN0cn0gZmllbGQgY2xhc3Mge3Zhci1mfS4KWyVoZWFkZXIlYXV0b3dpZHRoLCBjb2xzPSJk LGQsYSxkLGQiXQp8PT09CnxOYW1lIHxUeXBlIHxEZXNjcmlwdGlvbiB8UmVxdWlyZWQ/IHxEZWZh dWx0Cgp8YHR5cGVgCnxKU09OIHN0cmluZwp8VHlwZSBvZntuYnNwfXt2YXItZn0uCgpUaGUgdmFs dWUgb2YgdGhpcyBwcm9wZXJ0eSB7bXVzdH0gYmUgYCJzdGF0aWMtbGVuZ3RoLXN0cmluZyJgLgp8 WWVzCnwKCnxgbGVuZ3RoYAp8SlNPTiBpbnRlZ2VyCnxOdW1iZXIgb2YgYnl0ZXMgY29udGFpbmVk IGluIGFuIGluc3RhbmNlIG9me25ic3B9e3Zhci1mfS4KClRoZSB2YWx1ZSBvZiB0aGlzIHByb3Bl cnR5IHttdXN0fSBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gemVyby4KfFllcwp8Cgp8YHJv bGVzYAp8PDxyb2xlcyxSb2xlcz4+CnxSb2xlcyBvZiBhbiBpbnN0YW5jZSBvZntuYnNwfXt2YXIt Zn0uCgpTZWUgPDx0Yy1mcmFnPj4gYW5kIDw8ZHNjLWZyYWc+PiB3aGljaCBpbmRpY2F0ZSBhY2Nl cHRlZApyb2xlcyBmb3IgdGhlaXIgcm9vdCBmaWVsZCBjbGFzc2VzLgp8Tm8KfGArW10rYAoKfGB1 c2VyLWF0dHJpYnV0ZXNgCnw8PHVzZXItYXR0cnMsVXNlciBhdHRyaWJ1dGVzPj4KfFVzZXIgYXR0 cmlidXRlcyBvZntuYnNwfXt2YXItZn0uCnxObwp8YCt7fStgCgp8YGV4dGVuc2lvbnNgCnw8PGV4 dCxFeHRlbnNpb25zPj4KfEV4dGVuc2lvbnMgb2Z7bmJzcH17dmFyLWZ9LgoKQW55IGV4dGVuc2lv biB3aGljaCBleGlzdHMgdW5kZXIgdGhpcyBwcm9wZXJ0eSBtdXN0IGFsc28gYmUgZGVjbGFyZWQg aW4KdGhlIG1ldGFkYXRhIHN0cmVhbSdzIDw8cHJlYW1ibGUtZnJhZyxwcmVhbWJsZSBmcmFnbWVu dD4+Lgp8Tm8KfGAre30rYAp8PT09CgouRW1wdHkge3NsLXN0cn0gZmllbGQgY2xhc3MuCj09PT0K W3NvdXJjZSxqc29uXQotLS0tCnsKICAidHlwZSI6ICJzdGF0aWMtbGVuZ3RoLXN0cmluZyIsCiAg Imxlbmd0aCI6IDAKfQotLS0tCj09PT0KCi57Yy1zbC1zdHJ9IGZpZWxkIGNsYXNzIHdpdGggaW5z dGFuY2VzIGhhdmluZyAxMDB7bmJzcH1ieXRlcy4KPT09PQpbc291cmNlLGpzb25dCi0tLS0Kewog ICJ0eXBlIjogInN0YXRpYy1sZW5ndGgtc3RyaW5nIiwKICAibGVuZ3RoIjogMTAwCn0KLS0tLQo9 PT09Cgoue2Mtc2wtc3RyfSBmaWVsZCBjbGFzcyB3aXRoIDw8dXNlci1hdHRycyx1c2VyIGF0dHJp YnV0ZXM+Pi4KPT09PQpbc291cmNlLGpzb25dCi0tLS0KewogICJ0eXBlIjogInN0YXRpYy1sZW5n dGgtc3RyaW5nIiwKICAibGVuZ3RoIjogMTMsCiAgInVzZXItYXR0cmlidXRlcyI6IHsKICAgICJt eS50cmFjZXIiOiBudWxsCiAgfQp9Ci0tLS0KPT09PQoKW1tkbC1zdHItZmNdXQo9PT09IHtjLWRs LXN0cn0gZmllbGQgY2xhc3MKCkEgX3tkbC1zdHJ9XyBmaWVsZCBjbGFzcyBkZXNjcmliZXMgX3tk bC1zdHJ9XyBmaWVsZHMuCgpBIHtkbC1zdHJ9IGZpZWxkIGlzIGEgc2VxdWVuY2Ugb2YgemVybyBv ciBtb3JlIGNvbnRpZ3VvdXMgYnl0ZXMuIEFsbAp0aGUgYnl0ZXMgb2YgYSB7ZGwtc3RyfSBiZWZv cmUgdGhlIGZpcnN0IG51bGwgKHplcm8pIGJ5dGUsIGlmIGFueSwKZm9ybSBhIFVURi04LWVuY29k ZWQgc3RyaW5nLiBBbGwgdGhlIGJ5dGVzIGFmdGVyIHRoZSBmaXJzdCBudWxsICh6ZXJvKQpieXRl LCBpZiBhbnksIGFyZSBnYXJiYWdlIGRhdGEuCgpUaGUgbGVuZ3RoLCBvciBudW1iZXIgb2YgYnl0 ZXMsIG9mIGEge2RsLXN0cn0gZmllbGQgaXMgdGhlIHZhbHVlIG9mCmFub3RoZXIsIGFudGVyaW9y IGxlbmd0aCBmaWVsZC4gQSBjb25zdW1lciBjYW4gZmluZCB0aGlzIGxlbmd0aCBmaWVsZAp0aGFu a3MgdG8gdGhlIHtkbC1zdHJ9IGZpZWxkIGNsYXNzJ3MgYGxlbmd0aC1maWVsZC1sb2NhdGlvbmAg cHJvcGVydHkuCgouUHJvcGVydGllcyBvZiBhIHtkbC1zdHJ9IGZpZWxkIGNsYXNzIHt2YXItZn0u ClslaGVhZGVyJWF1dG93aWR0aCwgY29scz0iZCxkLGEsZCxkIl0KfD09PQp8TmFtZSB8VHlwZSB8 RGVzY3JpcHRpb24gfFJlcXVpcmVkPyB8RGVmYXVsdAoKfGB0eXBlYAp8SlNPTiBzdHJpbmcKfFR5 cGUgb2Z7bmJzcH17dmFyLWZ9LgoKVGhlIHZhbHVlIG9mIHRoaXMgcHJvcGVydHkge211c3R9IGJl IGAic3RhdGljLWxlbmd0aC1zdHJpbmciYC4KfFllcwp8Cgp8YGxlbmd0aC1maWVsZC1sb2NhdGlv bmAKfDw8ZmllbGQtbG9jLEZpZWxkIGxvY2F0aW9uPj4KfExvY2F0aW9uIG9mIHRoZSBmaWVsZCBv ZiB3aGljaCB0aGUgdmFsdWUgaXMgdGhlIG51bWJlciBvZiBieXRlcwpjb250YWluZWQgaW4gYW4g aW5zdGFuY2Ugb2Z7bmJzcH17dmFyLWZ9LgoKVGhlIGNsYXNzIG9mIHRoZSBsZW5ndGggZmllbGQg e211c3R9IGJlIG9uZSBvZjoKCioge2MtZmwtdWludC1mY30KKiB7Yy12bC11aW50LWZjfQp8WWVz CnwKCnxgcm9sZXNgCnw8PHJvbGVzLFJvbGVzPj4KfFJvbGVzIG9mIGFuIGluc3RhbmNlIG9me25i c3B9e3Zhci1mfS4KClNlZSA8PHRjLWZyYWc+PiBhbmQgPDxkc2MtZnJhZz4+IHdoaWNoIGluZGlj YXRlIGFjY2VwdGVkCnJvbGVzIGZvciB0aGVpciByb290IGZpZWxkIGNsYXNzZXMuCnxObwp8YCtb XStgCgp8YHVzZXItYXR0cmlidXRlc2AKfDw8dXNlci1hdHRycyxVc2VyIGF0dHJpYnV0ZXM+Pgp8 VXNlciBhdHRyaWJ1dGVzIG9me25ic3B9e3Zhci1mfS4KfE5vCnxgK3t9K2AKCnxgZXh0ZW5zaW9u c2AKfDw8ZXh0LEV4dGVuc2lvbnM+Pgp8RXh0ZW5zaW9ucyBvZntuYnNwfXt2YXItZn0uCgpBbnkg ZXh0ZW5zaW9uIHdoaWNoIGV4aXN0cyB1bmRlciB0aGlzIHByb3BlcnR5IG11c3QgYWxzbyBiZSBk ZWNsYXJlZCBpbgp0aGUgbWV0YWRhdGEgc3RyZWFtJ3MgPDxwcmVhbWJsZS1mcmFnLHByZWFtYmxl IGZyYWdtZW50Pj4uCnxObwp8YCt7fStgCnw9PT0KCi57Yy1kbC1zdHJ9IGZpZWxkIGNsYXNzLgo9 PT09Cltzb3VyY2UsanNvbl0KLS0tLQp7CiAgInR5cGUiOiAiZHluYW1pYy1sZW5ndGgtc3RyaW5n IiwKICAibGVuZ3RoLWZpZWxkLWxvY2F0aW9uIjogWyJldmVudC1yZWNvcmQtcGF5bG9hZCIsICJs ZW5ndGgiXQp9Ci0tLS0KPT09PQoKLntjLWRsLXN0cn0gZmllbGQgY2xhc3Mgd2l0aCA8PHVzZXIt YXR0cnMsdXNlciBhdHRyaWJ1dGVzPj4uCj09PT0KW3NvdXJjZSxqc29uXQotLS0tCnsKICAidHlw ZSI6ICJkeW5hbWljLWxlbmd0aC1zdHJpbmciLAogICJsZW5ndGgtZmllbGQtbG9jYXRpb24iOiBb ImV2ZW50LXJlY29yZC1jb21tb24tY29udGV4dCIsICJuYW1lLWxlbmd0aCJdLAogICJ1c2VyLWF0 dHJpYnV0ZXMiOiB7CiAgICAibXkudHJhY2VyIjogMTc3CiAgfQp9Ci0tLS0KPT09PQoKW1tibG9i LWZjXV0KPT09PSBBYnN0cmFjdCBCTE9CIGZpZWxkIGNsYXNzCgpBbiBfYWJzdHJhY3QgaHR0cHM6 Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQmluYXJ5X2xhcmdlX29iamVjdFtCTE9CXV8KZmllbGQg Y2xhc3MgaXMgYSBiYXNlIG9mIGEge3NsLWJsb2ItZmN9IGFuZCBhIHtkbC1ibG9iLWZjfS4KClRo aXMgZmllbGQgY2xhc3MgaXMgYWJzdHJhY3QgaW4gdGhhdCBpdCBvbmx5IGV4aXN0cyB0byBzaG93 IHRoZSByZWxhdGlvbgpiZXR3ZWVuIGRpZmZlcmVudCBCTE9CIGZpZWxkIGNsYXNzZXMgaW4gdGhp cyBkb2N1bWVudDogYSA8PHBrdCxwYWNrZXQ+PgpjYW5ub3QgY29udGFpbiBhbiBhYnN0cmFjdCBC TE9CIGZpZWxkLgoKLkNvbW1vbiBwcm9wZXJ0aWVzIG9mIGEgQkxPQiBmaWVsZCBjbGFzcyB7dmFy LWZ9LgpbJWhlYWRlciVhdXRvd2lkdGgsIGNvbHM9ImQsZCxhLGQsZCJdCnw9PT0KfE5hbWUgfFR5 cGUgfERlc2NyaXB0aW9uIHxSZXF1aXJlZD8gfERlZmF1bHQKCnxgbWVkaWEtdHlwZWAKfEpTT04g c3RyaW5nCnxodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVFRQ L0Jhc2ljc19vZl9IVFRQL01JTUVfdHlwZXNbSUFOQQptZWRpYSB0eXBlXSBvZiBhbiBpbnN0YW5j ZSBvZntuYnNwfXt2YXItZn0uCnxObwp8YCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iYAp8PT09 CgpbW3NsLWJsb2ItZmNdXQo9PT09IHtjLXNsLWJsb2J9IGZpZWxkIGNsYXNzCgpBIF97c2wtYmxv Yn1fIGZpZWxkIGNsYXNzIGlzIGFuIDw8YmxvYi1mYyxhYnN0cmFjdCBCTE9CIGZpZWxkIGNsYXNz Pj4Kd2hpY2ggZGVzY3JpYmVzIF97c2wtYmxvYn1fIGZpZWxkcy4KCkEge3NsLWJsb2J9IGZpZWxk IGlzIGEgc2VxdWVuY2Ugb2YgemVybyBvciBtb3JlIGNvbnRpZ3VvdXMgYnl0ZXMgd2l0aCBhbgph c3NvY2lhdGVkIElBTkEgbWVkaWEgdHlwZSAoZ2l2ZW4gYnkgaXRzIGNsYXNzJ3MgYG1lZGlhLXR5 cGVgIHByb3BlcnR5KS4KClRoZSBsZW5ndGgsIG9yIG51bWJlciBvZiBieXRlcywgb2YgYSB7c2wt YmxvYn0gZmllbGQgaXMgYSBwcm9wZXJ0eQooYGxlbmd0aGApIG9mIGl0cyBjbGFzcy4KCi5Qcm9w ZXJ0aWVzIG9mIGEge3NsLWJsb2J9IGZpZWxkIGNsYXNzIHt2YXItZn0uClslaGVhZGVyJWF1dG93 aWR0aCwgY29scz0iZCxkLGEsZCxkIl0KfD09PQp8TmFtZSB8VHlwZSB8RGVzY3JpcHRpb24gfFJl cXVpcmVkPyB8RGVmYXVsdAoKfGB0eXBlYAp8SlNPTiBzdHJpbmcKfFR5cGUgb2Z7bmJzcH17dmFy LWZ9LgoKVGhlIHZhbHVlIG9mIHRoaXMgcHJvcGVydHkge211c3R9IGJlIGAic3RhdGljLWxlbmd0 aC1ibG9iImAuCnxZZXMKfAoKfGBsZW5ndGhgCnxKU09OIGludGVnZXIKfE51bWJlciBvZiBieXRl cyBjb250YWluZWQgaW4gYW4gaW5zdGFuY2Ugb2Z7bmJzcH17dmFyLWZ9LgoKVGhlIHZhbHVlIG9m IHRoaXMgcHJvcGVydHkge211c3R9IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB6ZXJvLgp8 WWVzCnwKCnxgbWVkaWEtdHlwZWAKfEpTT04gc3RyaW5nCnxodHRwczovL2RldmVsb3Blci5tb3pp bGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVFRQL0Jhc2ljc19vZl9IVFRQL01JTUVfdHlwZXNbSUFO QQptZWRpYSB0eXBlXSBvZiBhbiBpbnN0YW5jZSBvZntuYnNwfXt2YXItZn0uCgpQcm9wZXJ0eSBp bmhlcml0ZWQgZnJvbSB0aGUgPDxibG9iLWZjLGFic3RyYWN0IEJMT0IgZmllbGQgY2xhc3M+Pi4K fE5vCnxgImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSJgCgp8YHJvbGVzYAp8PDxyb2xlcyxSb2xl cz4+CnxSb2xlcyBvZiBhbiBpbnN0YW5jZSBvZntuYnNwfXt2YXItZn0uCgpTZWUgPDx0Yy1mcmFn Pj4gYW5kIDw8ZHNjLWZyYWc+PiB3aGljaCBpbmRpY2F0ZSBhY2NlcHRlZApyb2xlcyBmb3IgdGhl aXIgcm9vdCBmaWVsZCBjbGFzc2VzLgp8Tm8KfGArW10rYAoKfGB1c2VyLWF0dHJpYnV0ZXNgCnw8 PHVzZXItYXR0cnMsVXNlciBhdHRyaWJ1dGVzPj4KfFVzZXIgYXR0cmlidXRlcyBvZntuYnNwfXt2 YXItZn0uCnxObwp8YCt7fStgCgp8YGV4dGVuc2lvbnNgCnw8PGV4dCxFeHRlbnNpb25zPj4KfEV4 dGVuc2lvbnMgb2Z7bmJzcH17dmFyLWZ9LgoKQW55IGV4dGVuc2lvbiB3aGljaCBleGlzdHMgdW5k ZXIgdGhpcyBwcm9wZXJ0eSBtdXN0IGFsc28gYmUgZGVjbGFyZWQgaW4KdGhlIG1ldGFkYXRhIHN0 cmVhbSdzIDw8cHJlYW1ibGUtZnJhZyxwcmVhbWJsZSBmcmFnbWVudD4+Lgp8Tm8KfGAre30rYAp8 PT09CgouRW1wdHkge3NsLWJsb2J9IGZpZWxkIGNsYXNzIHdpdGggYSBkZWZhdWx0IElBTkEgbWVk aWEgdHlwZS4KPT09PQpbc291cmNlLGpzb25dCi0tLS0KewogICJ0eXBlIjogInN0YXRpYy1sZW5n dGgtYmxvYiIsCiAgImxlbmd0aCI6IDAKfQotLS0tCj09PT0KCi5TdGF0aWMtbGVuZ3RoIFRJRkYg QkxPQiBmaWVsZCBjbGFzcyB3aXRoIGluc3RhbmNlcyBoYXZpbmcgNTExLDI2N3tuYnNwfWJ5dGVz Lgo9PT09Cltzb3VyY2UsanNvbl0KLS0tLQp7CiAgInR5cGUiOiAic3RhdGljLWxlbmd0aC1ibG9i IiwKICAibGVuZ3RoIjogNTExMjY3LAogICJtZWRpYS10eXBlIjogImltYWdlL3RpZiIKfQotLS0t Cj09PT0KCi5TdGF0aWMtbGVuZ3RoIENTViBCTE9CIGZpZWxkIGNsYXNzIHdpdGggPDx1c2VyLWF0 dHJzLHVzZXIgYXR0cmlidXRlcz4+Lgo9PT09Cltzb3VyY2UsanNvbl0KLS0tLQp7CiAgInR5cGUi OiAic3RhdGljLWxlbmd0aC1ibG9iIiwKICAibGVuZ3RoIjogMjQwMCwKICAibWVkaWEtdHlwZSI6 ICJ0ZXh0L2NzdiIsCiAgInVzZXItYXR0cmlidXRlcyI6IHsKICAgICJteS50cmFjZXIiOiB7CiAg ICAgICJjc3YtY29scyI6IDEyCiAgICB9CiAgfQp9Ci0tLS0KPT09PQoKW1tkbC1ibG9iLWZjXV0K PT09PSB7Yy1kbC1ibG9ifSBmaWVsZCBjbGFzcwoKQSBfe2RsLWJsb2J9XyBmaWVsZCBjbGFzcyBp cyBhbiA8PGJsb2ItZmMsYWJzdHJhY3QgQkxPQiBmaWVsZCBjbGFzcz4+CndoaWNoIGRlc2NyaWJl cyBfe2RsLWJsb2J9XyBmaWVsZHMuCgpBIHtkbC1ibG9ifSBmaWVsZCBpcyBhIHNlcXVlbmNlIG9m IHplcm8gb3IgbW9yZSBjb250aWd1b3VzIGJ5dGVzIHdpdGggYW4KYXNzb2NpYXRlZCBJQU5BIG1l ZGlhIHR5cGUuCgpUaGUgbGVuZ3RoLCBvciBudW1iZXIgb2YgYnl0ZXMsIG9mIGEge2RsLWJsb2J9 IGZpZWxkIGlzIHRoZSB2YWx1ZSBvZgphbm90aGVyLCBhbnRlcmlvciBsZW5ndGggZmllbGQuIEEg Y29uc3VtZXIgY2FuIGZpbmQgdGhpcyBsZW5ndGggZmllbGQKdGhhbmtzIHRvIHRoZSB7ZGwtYmxv Yn0gZmllbGQgY2xhc3MncyBgbGVuZ3RoLWZpZWxkLWxvY2F0aW9uYCBwcm9wZXJ0eS4KCi5Qcm9w ZXJ0aWVzIG9mIGEge2RsLWJsb2J9IGZpZWxkIGNsYXNzIHt2YXItZn0uClslaGVhZGVyJWF1dG93 aWR0aCwgY29scz0iZCxkLGEsZCxkIl0KfD09PQp8TmFtZSB8VHlwZSB8RGVzY3JpcHRpb24gfFJl cXVpcmVkPyB8RGVmYXVsdAoKfGB0eXBlYAp8SlNPTiBzdHJpbmcKfFR5cGUgb2Z7bmJzcH17dmFy LWZ9LgoKVGhlIHZhbHVlIG9mIHRoaXMgcHJvcGVydHkge211c3R9IGJlIGAiZHluYW1pYy1sZW5n dGgtYmxvYiJgLgp8WWVzCnwKCnxgbGVuZ3RoLWZpZWxkLWxvY2F0aW9uYAp8PDxmaWVsZC1sb2Ms RmllbGQgbG9jYXRpb24+Pgp8TG9jYXRpb24gb2YgdGhlIGZpZWxkIG9mIHdoaWNoIHRoZSB2YWx1 ZSBpcyB0aGUgbnVtYmVyIG9mIGJ5dGVzCmNvbnRhaW5lZCBpbiBhbiBpbnN0YW5jZSBvZntuYnNw fXt2YXItZn0uCgpUaGUgY2xhc3Mgb2YgdGhlIGxlbmd0aCBmaWVsZCB7bXVzdH0gYmUgb25lIG9m OgoKKiB7Yy1mbC11aW50LWZjfQoqIHtjLXZsLXVpbnQtZmN9CnxZZXMKfAoKfGBtZWRpYS10eXBl YAp8SlNPTiBzdHJpbmcKfGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3Mv V2ViL0hUVFAvQmFzaWNzX29mX0hUVFAvTUlNRV90eXBlc1tJQU5BCm1lZGlhIHR5cGVdIG9mIGFu IGluc3RhbmNlIG9me25ic3B9e3Zhci1mfS4KClByb3BlcnR5IGluaGVyaXRlZCBmcm9tIHRoZSA8 PGJsb2ItZmMsYWJzdHJhY3QgQkxPQiBmaWVsZCBjbGFzcz4+Lgp8Tm8KfGAiYXBwbGljYXRpb24v b2N0ZXQtc3RyZWFtImAKCnxgcm9sZXNgCnw8PHJvbGVzLFJvbGVzPj4KfFJvbGVzIG9mIGFuIGlu c3RhbmNlIG9me25ic3B9e3Zhci1mfS4KClNlZSA8PHRjLWZyYWc+PiBhbmQgPDxkc2MtZnJhZz4+ IHdoaWNoIGluZGljYXRlIGFjY2VwdGVkCnJvbGVzIGZvciB0aGVpciByb290IGZpZWxkIGNsYXNz ZXMuCnxObwp8YCtbXStgCgp8YHVzZXItYXR0cmlidXRlc2AKfDw8dXNlci1hdHRycyxVc2VyIGF0 dHJpYnV0ZXM+Pgp8VXNlciBhdHRyaWJ1dGVzIG9me25ic3B9e3Zhci1mfS4KfE5vCnxgK3t9K2AK CnxgZXh0ZW5zaW9uc2AKfDw8ZXh0LEV4dGVuc2lvbnM+Pgp8RXh0ZW5zaW9ucyBvZntuYnNwfXt2 YXItZn0uCgpBbnkgZXh0ZW5zaW9uIHdoaWNoIGV4aXN0cyB1bmRlciB0aGlzIHByb3BlcnR5IG11 c3QgYWxzbyBiZSBkZWNsYXJlZCBpbgp0aGUgbWV0YWRhdGEgc3RyZWFtJ3MgPDxwcmVhbWJsZS1m cmFnLHByZWFtYmxlIGZyYWdtZW50Pj4uCnxObwp8YCt7fStgCnw9PT0KCi57Yy1kbC1ibG9ifSBm aWVsZCBjbGFzcyB3aXRoIGEgZGVmYXVsdCBJQU5BIG1lZGlhIHR5cGUuCj09PT0KW3NvdXJjZSxq c29uXQotLS0tCnsKICAidHlwZSI6ICJkeW5hbWljLWxlbmd0aC1ibG9iIiwKICAibGVuZ3RoLWZp ZWxkLWxvY2F0aW9uIjogWyJldmVudC1yZWNvcmQtcGF5bG9hZCIsICJsZW5ndGgiXQp9Ci0tLS0K PT09PQoKLkR5bmFtaWMtbGVuZ3RoIEpQRUcgQkxPQiBmaWVsZCBjbGFzcyB3aXRoIDw8dXNlci1h dHRycyx1c2VyIGF0dHJpYnV0ZXM+Pi4KPT09PQpbc291cmNlLGpzb25dCi0tLS0KewogICJ0eXBl IjogImR5bmFtaWMtbGVuZ3RoLWJsb2IiLAogICJsZW5ndGgtZmllbGQtbG9jYXRpb24iOiBbImV2 ZW50LXJlY29yZC1jb21tb24tY29udGV4dCIsICJsZW5ndGgiXSwKICAibWVkaWEtdHlwZSI6ICJp bWFnZS9qcGVnIiwKICAidXNlci1hdHRyaWJ1dGVzIjogewogICAgIm15LnRyYWNlciI6IHsKICAg ICAgInF1YWxpdHkiOiA4NQogICAgfQogIH0KfQotLS0tCj09PT0KCltbc3RydWN0LWZjXV0KPT09 PSBTdHJ1Y3R1cmUgZmllbGQgY2xhc3MKCkEgX3N0cnVjdHVyZSBmaWVsZCBjbGFzc18gZGVzY3Jp YmVzIF9zdHJ1Y3R1cmUgZmllbGRzXy4KCkEgc3RydWN0dXJlIGZpZWxkIGlzIGEgc2VxdWVuY2Ug b2YgemVybyBvciBtb3JlIHN0cnVjdHVyZSBmaWVsZApfbWVtYmVyc18uIEEgc3RydWN0dXJlIGZp ZWxkIG1lbWJlciBpcyBhIG5hbWVkIGZpZWxkLgoKLlByb3BlcnRpZXMgb2YgYSBzdHJ1Y3R1cmUg ZmllbGQgY2xhc3Mge3Zhci1mfS4KWyVoZWFkZXIlYXV0b3dpZHRoLCBjb2xzPSJkLGQsYSxkLGQi XQp8PT09CnxOYW1lIHxUeXBlIHxEZXNjcmlwdGlvbiB8UmVxdWlyZWQ/IHxEZWZhdWx0Cgp8YHR5 cGVgCnxKU09OIHN0cmluZwp8VHlwZSBvZntuYnNwfXt2YXItZn0uCgpUaGUgdmFsdWUgb2YgdGhp cyBwcm9wZXJ0eSB7bXVzdH0gYmUgYCJzdHJ1Y3R1cmUiYC4KfFllcwp8Cgp8YG1lbWJlcnNgCnxK U09OIGFycmF5IG9mIDw8c3RydWN0LW1lbWJlci1jbHMsc3RydWN0dXJlIGZpZWxkIG1lbWJlciBj bGFzc2VzPj4KfENsYXNzZXMgb2YgdGhlIG1lbWJlcnMgb2YgYW4gaW5zdGFuY2Ugb2Z7bmJzcH17 dmFyLWZ9LgoKRWFjaCBtZW1iZXIgY2xhc3MncyBgbmFtZWAgcHJvcGVydHkgbXVzdCBiZSB1bmlx dWUgd2l0aGluIHRoaXMgZmllbGQKY2xhc3MncyBtZW1iZXIgY2xhc3MgbmFtZXMuCnxObwp8YCtb XStgCgp8YG1pbmltdW0tYWxpZ25tZW50YAp8SlNPTiBpbnRlZ2VyCnxNaW5pbXVtIGFsaWdubWVu dCBvZiB0aGUgZmlyc3QgYml0IG9mIGFuIGluc3RhbmNlIG9me25ic3B9e3Zhci1mfQpyZWxhdGl2 ZSB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSA8PHBrdCxwYWNrZXQ+PiB3aGljaCBjb250YWlucyB0 aGlzCmluc3RhbmNlLgoKVGhlIHZhbHVlIG9mIHRoaXMgcHJvcGVydHkge211c3R9IGJlIGEgcG9z aXRpdmUgcG93ZXIgb2YgdHdvLgoKVGhlIDw8YWxpZ24tZGVjLF9lZmZlY3RpdmVfIGFsaWdubWVu dD4+IG9mIHRoZSBmaXJzdCBiaXQgb2YgYW4gaW5zdGFuY2UKb2Z7bmJzcH17dmFyLWZ9IHttYXl9 IGJlIGdyZWF0ZXIgdGhhbiB0aGUgdmFsdWUgb2YgdGhpcyBwcm9wZXJ0eS4KfE5vCnxgMWAKCnxg cm9sZXNgCnw8PHJvbGVzLFJvbGVzPj4KfFJvbGVzIG9mIGFuIGluc3RhbmNlIG9me25ic3B9e3Zh ci1mfS4KClNlZSA8PHRjLWZyYWc+PiBhbmQgPDxkc2MtZnJhZz4+IHdoaWNoIGluZGljYXRlIGFj Y2VwdGVkCnJvbGVzIGZvciB0aGVpciByb290IGZpZWxkIGNsYXNzZXMuCnxObwp8YCtbXStgCgp8 YHVzZXItYXR0cmlidXRlc2AKfDw8dXNlci1hdHRycyxVc2VyIGF0dHJpYnV0ZXM+Pgp8VXNlciBh dHRyaWJ1dGVzIG9me25ic3B9e3Zhci1mfS4KfE5vCnxgK3t9K2AKCnxgZXh0ZW5zaW9uc2AKfDw8 ZXh0LEV4dGVuc2lvbnM+Pgp8RXh0ZW5zaW9ucyBvZntuYnNwfXt2YXItZn0uCgpBbnkgZXh0ZW5z aW9uIHdoaWNoIGV4aXN0cyB1bmRlciB0aGlzIHByb3BlcnR5IG11c3QgYWxzbyBiZSBkZWNsYXJl ZCBpbgp0aGUgbWV0YWRhdGEgc3RyZWFtJ3MgPDxwcmVhbWJsZS1mcmFnLHByZWFtYmxlIGZyYWdt ZW50Pj4uCnxObwp8YCt7fStgCnw9PT0KCi5FbXB0eSBzdHJ1Y3R1cmUgZmllbGQgY2xhc3MgKG5v IG1lbWJlciBjbGFzc2VzKS4KPT09PQpbc291cmNlLGpzb25dCi0tLS0KewogICJ0eXBlIjogInN0 cnVjdHVyZSIKfQotLS0tCj09PT0KCi5TdHJ1Y3R1cmUgZmllbGQgY2xhc3Mgd2l0aCB0aHJlZSBt ZW1iZXIgY2xhc3Nlcy4KPT09PQpbc291cmNlLGpzb25dCi0tLS0KewogICJ0eXBlIjogInN0cnVj dHVyZSIsCiAgIm1lbWJlcnMiOiBbCiAgICB7CiAgICAgICJuYW1lIjogIlZpbGxlcmF5IiwKICAg ICAgImZpZWxkLWNsYXNzIjogewogICAgICAgICJ0eXBlIjogIm51bGwtdGVybWluYXRlZC1zdHJp bmciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIkJlcnJpIiwKICAgICAgImZp ZWxkLWNsYXNzIjogewogICAgICAgICJ0eXBlIjogImZpeGVkLWxlbmd0aC11bnNpZ25lZC1pbnRl Z2VyIiwKICAgICAgICAibGVuZ3RoIjogMzIsCiAgICAgICAgImJ5dGUtb3JkZXIiOiAibGl0dGxl LWVuZGlhbiIsCiAgICAgICAgInByZWZlcnJlZC1kaXNwbGF5LWJhc2UiOiAyCiAgICAgIH0sCiAg ICAgICJ1c2VyLWF0dHJpYnV0ZXMiOiB7CiAgICAgICAgIm15LnRyYWNlciI6IHsKICAgICAgICAg ICJpcy1tYXNrIjogdHJ1ZQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5h bWUiOiAiRmFpbGxvbiIsCiAgICAgICJmaWVsZC1jbGFzcyI6IHsKICAgICAgICAidHlwZSI6ICJm aXhlZC1sZW5ndGgtYm9vbGVhbiIsCiAgICAgICAgImxlbmd0aCI6IDgsCiAgICAgICAgImJ5dGUt b3JkZXIiOiAibGl0dGxlLWVuZGlhbiIKICAgICAgfQogICAgfQogIF0KfQotLS0tCj09PT0KCi5T dHJ1Y3R1cmUgZmllbGQgY2xhc3Mgd2l0aCBhIG1pbmltdW0gYWxpZ25tZW50Lgo9PT09Cltzb3Vy Y2UsanNvbl0KLS0tLQp7CiAgInR5cGUiOiAic3RydWN0dXJlIiwKICAibWVtYmVycyI6IFsKICAg IHsKICAgICAgIm5hbWUiOiAiU3QtRGVuaXMiLAogICAgICAiZmllbGQtY2xhc3MiOiB7CiAgICAg ICAgInR5cGUiOiAibnVsbC10ZXJtaW5hdGVkLXN0cmluZyIKICAgICAgfQogICAgfSwKICAgIHsK ICAgICAgIm5hbWUiOiAiTGFqZXVuZXNzZSIsCiAgICAgICJmaWVsZC1jbGFzcyI6IHsKICAgICAg ICAidHlwZSI6ICJmaXhlZC1sZW5ndGgtdW5zaWduZWQtaW50ZWdlciIsCiAgICAgICAgImxlbmd0 aCI6IDMyLAogICAgICAgICJieXRlLW9yZGVyIjogImJpZy1lbmRpYW4iLAogICAgICAgICJhbGln bm1lbnQiOiAzMgogICAgICB9CiAgICB9CiAgXSwKICAibWluaW11bS1hbGlnbm1lbnQiOiA2NAp9 Ci0tLS0KPT09PQoKLlN0cnVjdHVyZSBmaWVsZCBjbGFzcyB3aXRoIDw8dXNlci1hdHRycyx1c2Vy IGF0dHJpYnV0ZXM+Pi4KPT09PQpbc291cmNlLGpzb25dCi0tLS0KewogICJ0eXBlIjogInN0cnVj dHVyZSIsCiAgIm1lbWJlcnMiOiBbCiAgICB7CiAgICAgICJuYW1lIjogIkhlbnJpLUp1bGllbiIs CiAgICAgICJmaWVsZC1jbGFzcyI6IHsKICAgICAgICAidHlwZSI6ICJmaXhlZC1sZW5ndGgtc2ln bmVkLWludGVnZXIiLAogICAgICAgICJsZW5ndGgiOiA0OCwKICAgICAgICAiYnl0ZS1vcmRlciI6 ICJsaXR0bGUtZW5kaWFuIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICJDYXNn cmFpbiIsCiAgICAgICJmaWVsZC1jbGFzcyI6IHsKICAgICAgICAidHlwZSI6ICJzdGF0aWMtbGVu Z3RoLXN0cmluZyIsCiAgICAgICAgImxlbmd0aCI6IDMyCiAgICAgIH0KICAgIH0KICBdLAogICJ1 c2VyLWF0dHJpYnV0ZXMiOiB7CiAgICAibXkudHJhY2VyIjogewogICAgICAidmVyc2lvbiI6IDQK ICAgIH0KICB9Cn0KLS0tLQo9PT09CgpbW3N0cnVjdC1tZW1iZXItY2xzXV0KPT09PT0gU3RydWN0 dXJlIGZpZWxkIG1lbWJlciBjbGFzcwoKQSBfc3RydWN0dXJlIGZpZWxkIG1lbWJlciBjbGFzc18g ZGVzY3JpYmVzIF9zdHJ1Y3R1cmUgZmllbGQgbWVtYmVyc18uCgpBIHN0cnVjdHVyZSBmaWVsZCBt ZW1iZXIgY2xhc3MgaXMgYSBKU09OIG9iamVjdC4KCi5Qcm9wZXJ0aWVzIG9mIGEgc3RydWN0dXJl IGZpZWxkIG1lbWJlciBjbGFzcyBfKipNKipfLgpbJWhlYWRlciVhdXRvd2lkdGgsIGNvbHM9ImQs ZCxhLGQsZCJdCnw9PT0KfE5hbWUgfFR5cGUgfERlc2NyaXB0aW9uIHxSZXF1aXJlZD8gfERlZmF1 bHQKCnxgbmFtZWAKfEpTT04gc3RyaW5nCnxOYW1lIG9me25ic3B9X18qKk0qKl9fLgp8WWVzCnwK CnxgZmllbGQtY2xhc3NgCnw8PGZjLEZpZWxkIGNsYXNzPj4KfEZpZWxkIGNsYXNzIG9me25ic3B9 X18qKk0qKl9fLgp8WWVzCnwKCnxgdXNlci1hdHRyaWJ1dGVzYAp8PDx1c2VyLWF0dHJzLFVzZXIg YXR0cmlidXRlcz4+CnxVc2VyIGF0dHJpYnV0ZXMgb2Z7bmJzcH1fXyoqTSoqX18uCnxObwp8YCt7 fStgCgp8YGV4dGVuc2lvbnNgCnw8PGV4dCxFeHRlbnNpb25zPj4KfEV4dGVuc2lvbnMgb2Z7bmJz cH1fXyoqTSoqX18uCgpBbnkgZXh0ZW5zaW9uIHdoaWNoIGV4aXN0cyB1bmRlciB0aGlzIHByb3Bl cnR5IG11c3QgYWxzbyBiZSBkZWNsYXJlZCBpbgp0aGUgbWV0YWRhdGEgc3RyZWFtJ3MgPDxwcmVh bWJsZS1mcmFnLHByZWFtYmxlIGZyYWdtZW50Pj4uCnxObwp8YCt7fStgCnw9PT0KCi48PHN0ci1m Yyx7Yy1zdHJ9IGZpZWxkIGNsYXNzPj4gbWVtYmVyIGNsYXNzIG5hbWVkIGBjYXRgLgo9PT09Cltz b3VyY2UsanNvbl0KLS0tLQp7CiAgIm5hbWUiOiAiY2F0IiwKICAiZmllbGQtY2xhc3MiOiB7CiAg ICAidHlwZSI6ICJudWxsLXRlcm1pbmF0ZWQtc3RyaW5nIgogIH0KfQotLS0tCj09PT0KCi57Yy12 bC1zaW50LWZjfSBtZW1iZXIgY2xhc3MgbmFtZWQgYGRvZ2Agd2l0aCA8PHVzZXItYXR0cnMsdXNl ciBhdHRyaWJ1dGVzPj4uCj09PT0KW3NvdXJjZSxqc29uXQotLS0tCnsKICAibmFtZSI6ICJkb2ci LAogICJmaWVsZC1jbGFzcyI6IHsKICAgICJ0eXBlIjogInZhcmlhYmxlLWxlbmd0aC1zaWduZWQt aW50ZWdlciIsCiAgICAicHJlZmVycmVkLWRpc3BsYXktYmFzZSI6IDgKICB9LAogICJ1c2VyLWF0 dHJpYnV0ZXMiOiB7CiAgICAibXkudHJhY2VyIjogewogICAgICAidXVpZCI6ICJmMzYxMDBiOC1l YzM2LTQ4NjEtOGQ2Yi1hOWQ2YWI4OTczYzkiLAogICAgICAiaXMtcGlkIjogdHJ1ZQogICAgfQog IH0KfQotLS0tCj09PT0KCltbYXJyYXktZmNdXQo9PT09IEFic3RyYWN0IGFycmF5IGZpZWxkIGNs YXNzCgpBbiBfYWJzdHJhY3QgYXJyYXlfIGZpZWxkIGNsYXNzIGlzIGEgYmFzZSBvZiBhIHtzbC1h cnJheS1mY30KYW5kIGEge2RsLWFycmF5LWZjfS4KClRoaXMgZmllbGQgY2xhc3MgaXMgYWJzdHJh Y3QgaW4gdGhhdCBpdCBvbmx5IGV4aXN0cyB0byBzaG93IHRoZSByZWxhdGlvbgpiZXR3ZWVuIGRp ZmZlcmVudCBhcnJheSBmaWVsZCBjbGFzc2VzIGluIHRoaXMgZG9jdW1lbnQ6IGEgPDxwa3QscGFj a2V0Pj4KY2Fubm90IGNvbnRhaW4gYW4gYWJzdHJhY3QgYXJyYXkgZmllbGQuCgouQ29tbW9uIHBy b3BlcnRpZXMgb2YgYW4gYXJyYXkgZmllbGQgY2xhc3Mge3Zhci1mfS4KWyVoZWFkZXIlYXV0b3dp ZHRoLCBjb2xzPSJkLGQsYSxkLGQiXQp8PT09CnxOYW1lIHxUeXBlIHxEZXNjcmlwdGlvbiB8UmVx dWlyZWQ/IHxEZWZhdWx0Cgp8YGVsZW1lbnQtZmllbGQtY2xhc3NgCnw8PGZjLEZpZWxkIGNsYXNz Pj4KfENsYXNzIG9mIHRoZSBlbGVtZW50IGZpZWxkcyBjb250YWluZWQgaW4gYW4gaW5zdGFuY2Ug b2Z7bmJzcH17dmFyLWZ9Lgp8WWVzCnwKfD09PQoKW1tzbC1hcnJheS1mY11dCj09PT0ge2Mtc2wt YXJyYXl9IGZpZWxkIGNsYXNzCgpBIF97c2wtYXJyYXl9XyBmaWVsZCBjbGFzcyBpcyBhbiA8PGFy cmF5LWZjLGFic3RyYWN0IGFycmF5IGZpZWxkIGNsYXNzPj4Kd2hpY2ggZGVzY3JpYmVzIF97c2wt YXJyYXl9XyBmaWVsZHMuCgpBIHtzbC1hcnJheX0gZmllbGQgaXMgYSBzZXF1ZW5jZSBvZiB6ZXJv IG9yIG1vcmUgZWxlbWVudCBmaWVsZHMuCgpUaGUgbGVuZ3RoLCBvciBudW1iZXIgb2YgZWxlbWVu dCBmaWVsZHMsIG9mIGEge3NsLWFycmF5fSBmaWVsZCBpcyBhCnByb3BlcnR5IChgbGVuZ3RoYCkg b2YgaXRzIGNsYXNzLgoKLlByb3BlcnRpZXMgb2YgYSB7c2wtYXJyYXl9IGZpZWxkIGNsYXNzIHt2 YXItZn0uClslaGVhZGVyJWF1dG93aWR0aCwgY29scz0iZCxkLGEsZCxkIl0KfD09PQp8TmFtZSB8 VHlwZSB8RGVzY3JpcHRpb24gfFJlcXVpcmVkPyB8RGVmYXVsdAoKfGB0eXBlYAp8SlNPTiBzdHJp bmcKfFR5cGUgb2Z7bmJzcH17dmFyLWZ9LgoKVGhlIHZhbHVlIG9mIHRoaXMgcHJvcGVydHkge211 c3R9IGJlIGAic3RhdGljLWxlbmd0aC1hcnJheSJgLgp8WWVzCnwKCnxgZWxlbWVudC1maWVsZC1j bGFzc2AKfDw8ZmMsRmllbGQgY2xhc3M+Pgp8Q2xhc3Mgb2YgdGhlIGVsZW1lbnQgZmllbGRzIGNv bnRhaW5lZCBpbiBhbiBpbnN0YW5jZSBvZntuYnNwfXt2YXItZn0uCgpQcm9wZXJ0eSBpbmhlcml0 ZWQgZnJvbSB0aGUgPDxhcnJheS1mYyxhYnN0cmFjdCBhcnJheSBmaWVsZCBjbGFzcz4+Lgp8WWVz CnwKCnxgbGVuZ3RoYAp8SlNPTiBpbnRlZ2VyCnxOdW1iZXIgb2YgZWxlbWVudCBmaWVsZHMgY29u dGFpbmVkIGluIGFuIGluc3RhbmNlIG9me25ic3B9e3Zhci1mfS4KClRoZSB2YWx1ZSBvZiB0aGlz IHByb3BlcnR5IHttdXN0fSBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gemVyby4KfFllcwp8 Cgp8YHJvbGVzYAp8PDxyb2xlcyxSb2xlcz4+CnxSb2xlcyBvZiBhbiBpbnN0YW5jZSBvZntuYnNw fXt2YXItZn0uCgpTZWUgPDx0Yy1mcmFnPj4gYW5kIDw8ZHNjLWZyYWc+PiB3aGljaCBpbmRpY2F0 ZSBhY2NlcHRlZApyb2xlcyBmb3IgdGhlaXIgcm9vdCBmaWVsZCBjbGFzc2VzLgp8Tm8KfGArW10r YAoKfGB1c2VyLWF0dHJpYnV0ZXNgCnw8PHVzZXItYXR0cnMsVXNlciBhdHRyaWJ1dGVzPj4KfFVz ZXIgYXR0cmlidXRlcyBvZntuYnNwfXt2YXItZn0uCnxObwp8YCt7fStgCgp8YGV4dGVuc2lvbnNg Cnw8PGV4dCxFeHRlbnNpb25zPj4KfEV4dGVuc2lvbnMgb2Z7bmJzcH17dmFyLWZ9LgoKQW55IGV4 dGVuc2lvbiB3aGljaCBleGlzdHMgdW5kZXIgdGhpcyBwcm9wZXJ0eSBtdXN0IGFsc28gYmUgZGVj bGFyZWQgaW4KdGhlIG1ldGFkYXRhIHN0cmVhbSdzIDw8cHJlYW1ibGUtZnJhZyxwcmVhbWJsZSBm cmFnbWVudD4+Lgp8Tm8KfGAre30rYAp8PT09CgouRW1wdHkge3NsLWFycmF5fSBmaWVsZCBjbGFz cy4KPT09PQpbc291cmNlLGpzb25dCi0tLS0KewogICJ0eXBlIjogInN0YXRpYy1sZW5ndGgtYXJy YXkiLAogICJlbGVtZW50LWZpZWxkLWNsYXNzIjogewogICAgInR5cGUiOiAiZml4ZWQtbGVuZ3Ro LXNpZ25lZC1pbnRlZ2VyIiwKICAgICJsZW5ndGgiOiAxNiwKICAgICJieXRlLW9yZGVyIjogImxp dHRsZS1lbmRpYW4iLAogICAgImFsaWdubWVudCI6IDE2CiAgfSwKICAibGVuZ3RoIjogMAp9Ci0t LS0KPT09PQoKLntjLXNsLWFycmF5fSBmaWVsZCBjbGFzcyB3aXRoIGluc3RhbmNlcyBoYXZpbmcK MTAwe25ic3B9PDxzdHItZmMse3N0cn0+PiBmaWVsZHMuCj09PT0KW3NvdXJjZSxqc29uXQotLS0t CnsKICAidHlwZSI6ICJzdGF0aWMtbGVuZ3RoLWFycmF5IiwKICAiZWxlbWVudC1maWVsZC1jbGFz cyI6IHsKICAgICJ0eXBlIjogIm51bGwtdGVybWluYXRlZC1zdHJpbmciCiAgfSwKICAibGVuZ3Ro IjogMTAwCn0KLS0tLQo9PT09Cgoue2Mtc2wtYXJyYXl9IGZpZWxkIGNsYXNzIHdpdGggPDx1c2Vy LWF0dHJzLHVzZXIgYXR0cmlidXRlcz4+Lgo9PT09Cltzb3VyY2UsanNvbl0KLS0tLQp7CiAgInR5 cGUiOiAic3RhdGljLWxlbmd0aC1hcnJheSIsCiAgImVsZW1lbnQtZmllbGQtY2xhc3MiOiB7CiAg ICAidHlwZSI6ICJ2YXJpYWJsZS1sZW5ndGgtdW5zaWduZWQtaW50ZWdlciIKICB9LAogICJsZW5n dGgiOiAxMywKICAidXNlci1hdHRyaWJ1dGVzIjogewogICAgIm15LnRyYWNlciI6IHRydWUKICB9 Cn0KLS0tLQo9PT09CgpbW2RsLWFycmF5LWZjXV0KPT09PSB7Yy1kbC1hcnJheX0gZmllbGQgY2xh c3MKCkEgX3tkbC1hcnJheX1fIGZpZWxkIGNsYXNzIGlzIGFuIDw8YXJyYXktZmMsYWJzdHJhY3Qg YXJyYXkgZmllbGQgY2xhc3M+Pgp3aGljaCBkZXNjcmliZXMgX3tkbC1hcnJheX1fIGZpZWxkcy4K CkEge2RsLWFycmF5fSBmaWVsZCBpcyBhIHNlcXVlbmNlIG9mIHplcm8gb3IgbW9yZSBlbGVtZW50 IGZpZWxkcy4KClRoZSBsZW5ndGgsIG9yIG51bWJlciBvZiBlbGVtZW50IGZpZWxkcywgb2YgYSB7 ZGwtYXJyYXl9IGZpZWxkIGlzIHRoZQp2YWx1ZSBvZiBhbm90aGVyLCBhbnRlcmlvciBsZW5ndGgg ZmllbGQuIEEgY29uc3VtZXIgY2FuIGZpbmQgdGhpcyBsZW5ndGgKZmllbGQgdGhhbmtzIHRvIHRo ZSB7ZGwtYXJyYXl9IGZpZWxkIGNsYXNzJ3MgYGxlbmd0aC1maWVsZC1sb2NhdGlvbmAKcHJvcGVy dHkuCgouUHJvcGVydGllcyBvZiBhIHtkbC1hcnJheX0gZmllbGQgY2xhc3Mge3Zhci1mfS4KWyVo ZWFkZXIlYXV0b3dpZHRoLCBjb2xzPSJkLGQsYSxkLGQiXQp8PT09CnxOYW1lIHxUeXBlIHxEZXNj cmlwdGlvbiB8UmVxdWlyZWQ/IHxEZWZhdWx0Cgp8YHR5cGVgCnxKU09OIHN0cmluZwp8VHlwZSBv ZntuYnNwfXt2YXItZn0uCgpUaGUgdmFsdWUgb2YgdGhpcyBwcm9wZXJ0eSB7bXVzdH0gYmUgYCJk eW5hbWljLWxlbmd0aC1hcnJheSJgLgp8WWVzCnwKCnxgZWxlbWVudC1maWVsZC1jbGFzc2AKfDw8 ZmMsRmllbGQgY2xhc3M+Pgp8Q2xhc3Mgb2YgdGhlIGVsZW1lbnQgZmllbGRzIGNvbnRhaW5lZCBp biBhbiBpbnN0YW5jZSBvZntuYnNwfXt2YXItZn0uCgpQcm9wZXJ0eSBpbmhlcml0ZWQgZnJvbSB0 aGUgPDxhcnJheS1mYyxhYnN0cmFjdCBhcnJheSBmaWVsZCBjbGFzcz4+Lgp8WWVzCnwKCnxgbGVu Z3RoLWZpZWxkLWxvY2F0aW9uYAp8PDxmaWVsZC1sb2MsRmllbGQgbG9jYXRpb24+Pgp8TG9jYXRp b24gb2YgdGhlIGZpZWxkIG9mIHdoaWNoIHRoZSB2YWx1ZSBpcyB0aGUgbnVtYmVyIG9mIGVsZW1l bnQKZmllbGRzIGNvbnRhaW5lZCBpbiBhbiBpbnN0YW5jZSBvZntuYnNwfXt2YXItZn0uCgpUaGUg Y2xhc3Mgb2YgdGhlIGxlbmd0aCBmaWVsZCB7bXVzdH0gYmUgb25lIG9mOgoKKiB7Yy1mbC11aW50 LWZjfQoqIHtjLXZsLXVpbnQtZmN9CnxZZXMKfAoKfGByb2xlc2AKfDw8cm9sZXMsUm9sZXM+Pgp8 Um9sZXMgb2YgYW4gaW5zdGFuY2Ugb2Z7bmJzcH17dmFyLWZ9LgoKU2VlIDw8dGMtZnJhZz4+IGFu ZCA8PGRzYy1mcmFnPj4gd2hpY2ggaW5kaWNhdGUgYWNjZXB0ZWQKcm9sZXMgZm9yIHRoZWlyIHJv b3QgZmllbGQgY2xhc3Nlcy4KfE5vCnxgK1tdK2AKCnxgdXNlci1hdHRyaWJ1dGVzYAp8PDx1c2Vy LWF0dHJzLFVzZXIgYXR0cmlidXRlcz4+CnxVc2VyIGF0dHJpYnV0ZXMgb2Z7bmJzcH17dmFyLWZ9 Lgp8Tm8KfGAre30rYAoKfGBleHRlbnNpb25zYAp8PDxleHQsRXh0ZW5zaW9ucz4+CnxFeHRlbnNp b25zIG9me25ic3B9e3Zhci1mfS4KCkFueSBleHRlbnNpb24gd2hpY2ggZXhpc3RzIHVuZGVyIHRo aXMgcHJvcGVydHkgbXVzdCBhbHNvIGJlIGRlY2xhcmVkIGluCnRoZSBtZXRhZGF0YSBzdHJlYW0n cyA8PHByZWFtYmxlLWZyYWcscHJlYW1ibGUgZnJhZ21lbnQ+Pi4KfE5vCnxgK3t9K2AKfD09PQoK LntjLWRsLWFycmF5fSBmaWVsZCBjbGFzcy4KPT09PQpbc291cmNlLGpzb25dCi0tLS0KewogICJ0 eXBlIjogImR5bmFtaWMtbGVuZ3RoLWFycmF5IiwKICAiZWxlbWVudC1maWVsZC1jbGFzcyI6IHsK ICAgICJ0eXBlIjogImZpeGVkLWxlbmd0aC11bnNpZ25lZC1pbnRlZ2VyIiwKICAgICJsZW5ndGgi OiAzMiwKICAgICJieXRlLW9yZGVyIjogImJpZy1lbmRpYW4iLAogICAgImFsaWdubWVudCI6IDE2 CiAgfSwKICAibGVuZ3RoLWZpZWxkLWxvY2F0aW9uIjogWyJldmVudC1yZWNvcmQtcGF5bG9hZCIs ICJsZW5ndGgiXQp9Ci0tLS0KPT09PQoKLntjLWRsLWFycmF5fSBmaWVsZCBjbGFzcyB3aXRoIDw8 dXNlci1hdHRycyx1c2VyIGF0dHJpYnV0ZXM+Pi4KPT09PQpbc291cmNlLGpzb25dCi0tLS0Kewog ICJ0eXBlIjogImR5bmFtaWMtbGVuZ3RoLWFycmF5IiwKICAiZWxlbWVudC1maWVsZC1jbGFzcyI6 IHsKICAgICJ0eXBlIjogInZhcmlhYmxlLWxlbmd0aC11bnNpZ25lZC1pbnRlZ2VyIgogIH0sCiAg Imxlbmd0aC1maWVsZC1sb2NhdGlvbiI6IFsicGFja2V0LWNvbnRleHQiLCAiY29tbW9uLWxlbmd0 aCJdLAogICJ1c2VyLWF0dHJpYnV0ZXMiOiB7CiAgICAibXkudHJhY2VyIjogMTc3CiAgfQp9Ci0t LS0KPT09PQoKW1tvcHQtZmNdXQo9PT09IE9wdGlvbmFsIGZpZWxkIGNsYXNzCgpBbiBfb3B0aW9u YWxfIGZpZWxkIGNsYXNzIGRlc2NyaWJlcyBfb3B0aW9uYWxfIGZpZWxkcy4KCkFuIG9wdGlvbmFs IGZpZWxkIGlzLCBkZXBlbmRpbmcgb24gdGhlIHZhbHVlIG9mIGFub3RoZXIsIGFudGVyaW9yCnNl bGVjdG9yIGZpZWxkLCBvbmUgb2Y6CgoqIEFuIGluc3RhbmNlIG9mIGEgZ2l2ZW4gZmllbGQgY2xh c3MgKG9wdGlvbmFsIGZpZWxkIGNsYXNzJ3MKICBgZmllbGQtY2xhc3NgIHByb3BlcnR5KS4KKwpJ biB0aGlzIGNhc2UsIHRoZSBvcHRpb25hbCBmaWVsZCBpcyBzYWlkIHRvIGJlIF9lbmFibGVkXy4K CiogQSB6ZXJvLWJpdCBmaWVsZCAobm8gZmllbGQpLgorCkluIHRoaXMgY2FzZSwgdGhlIG9wdGlv bmFsIGZpZWxkIGlzIHNhaWQgdG8gYmUgX2Rpc2FibGVkXy4KCkEgY29uc3VtZXIgY2FuIGZpbmQg dGhlIHNlbGVjdG9yIGZpZWxkIHRoYW5rcyB0byB0aGUgb3B0aW9uYWwgZmllbGQKY2xhc3MncyBg c2VsZWN0b3ItZmllbGQtbG9jYXRpb25gIHByb3BlcnR5LgoKLlByb3BlcnRpZXMgb2YgYW4gb3B0 aW9uYWwgZmllbGQgY2xhc3Mge3Zhci1mfS4KWyVoZWFkZXIlYXV0b3dpZHRoLCBjb2xzPSJkLGQs YSxkLGQiXQp8PT09CnxOYW1lIHxUeXBlIHxEZXNjcmlwdGlvbiB8UmVxdWlyZWQ/IHxEZWZhdWx0 Cgp8YHR5cGVgCnxKU09OIHN0cmluZwp8VHlwZSBvZntuYnNwfXt2YXItZn0uCgpUaGUgdmFsdWUg b2YgdGhpcyBwcm9wZXJ0eSB7bXVzdH0gYmUgYCJvcHRpb25hbCJgLgp8WWVzCnwKCnxgZmllbGQt Y2xhc3NgCnw8PGZjLEZpZWxkIGNsYXNzPj4KfENsYXNzIG9mIGFuIGluc3RhbmNlIG9me25ic3B9 e3Zhci1mfSB3aGVuIGl0J3MgZW5hYmxlZC4KfFllcwp8Cgp8YHNlbGVjdG9yLWZpZWxkLWxvY2F0 aW9uYAp8PDxmaWVsZC1sb2MsRmllbGQgbG9jYXRpb24+Pgp8TG9jYXRpb24gb2YgdGhlIGZpZWxk IG9mIHdoaWNoIHRoZSB2YWx1ZSBpbmRpY2F0ZXMgd2hldGhlciBvciBub3QgYW4KaW5zdGFuY2Ug b2Z7bmJzcH17dmFyLWZ9IGlzIGVuYWJsZWQuCgpUaGUgc2VsZWN0b3IgZmllbGQge211c3R9IGJl IGFuIGluc3RhbmNlIG9mIG9uZSBvZjoKCntjLWZsLWJvb2wtZmN9OjoKICAgIEFuIGluc3RhbmNl IG9me25ic3B9e3Zhci1mfSBpcyBlbmFibGVkIHdoZW4gdGhlIHNlbGVjdG9yIGZpZWxkIGlzCiAg ICB0cnVlLgoKe2MtZmwtaW50LWZjfTo6CntjLXZsLWludC1mY306OgogICAgQW4gaW5zdGFuY2Ug b2Z7bmJzcH17dmFyLWZ9IGlzIGVuYWJsZWQgd2hlbiB0aGUgc2VsZWN0b3IgZmllbGQncwogICAg dmFsdWUgaXMgYW4gZWxlbWVudCBvZiBhbnkgb2YgdGhlIGludGVnZXIgcmFuZ2VzIG9me25ic3B9 e3Zhci1mfSdzCiAgICBgc2VsZWN0b3ItZmllbGQtcmFuZ2VzYCBwcm9wZXJ0eS4KfFllcwp8Cgp8 YHNlbGVjdG9yLWZpZWxkLXJhbmdlc2AKfDw8aW50LXJhbmdlLXNldCxJbnRlZ2VyIHJhbmdlIHNl dD4+CnxSYW5nZXMgb2YgaW50ZWdlcnMgd2hpY2ggdGhlIHZhbHVlIG9mIGEgc2VsZWN0b3IgZmll bGQge211c3R9IGJlIGFuCmVsZW1lbnQgb2YgdG8gZW5hYmxlIGFuIGluc3RhbmNlIG9me25ic3B9 e3Zhci1mfS4KfFllcywgaWYgdGhlIHNlbGVjdG9yIGZpZWxkIGlzIGFuIGluc3RhbmNlIG9mIGEg e2ZsLWludC1mY30Kb3IgYSB7dmwtaW50LWZjfS4KfE5vbmUgaWYgdGhlIHNlbGVjdG9yIGZpZWxk IGlzIGFuIGluc3RhbmNlIG9mIGEge2ZsLWJvb2wtZmN9LgoKfGByb2xlc2AKfDw8cm9sZXMsUm9s ZXM+Pgp8Um9sZXMgb2Z7bmJzcH17dmFyLWZ9LgoKU2VlIDw8dGMtZnJhZz4+IGFuZCA8PGRzYy1m cmFnPj4gd2hpY2ggaW5kaWNhdGUgYWNjZXB0ZWQKcm9sZXMgZm9yIHRoZWlyIHJvb3QgZmllbGQg Y2xhc3Nlcy4KfE5vCnxgK1tdK2AKCnxgdXNlci1hdHRyaWJ1dGVzYAp8PDx1c2VyLWF0dHJzLFVz ZXIgYXR0cmlidXRlcz4+CnxVc2VyIGF0dHJpYnV0ZXMgb2Z7bmJzcH17dmFyLWZ9Lgp8Tm8KfGAr e30rYAoKfGBleHRlbnNpb25zYAp8PDxleHQsRXh0ZW5zaW9ucz4+CnxFeHRlbnNpb25zIG9me25i c3B9e3Zhci1mfS4KCkFueSBleHRlbnNpb24gd2hpY2ggZXhpc3RzIHVuZGVyIHRoaXMgcHJvcGVy dHkgbXVzdCBhbHNvIGJlIGRlY2xhcmVkIGluCnRoZSBtZXRhZGF0YSBzdHJlYW0ncyA8PHByZWFt YmxlLWZyYWcscHJlYW1ibGUgZnJhZ21lbnQ+Pi4KfE5vCnxgK3t9K2AKfD09PQoKCi5PcHRpb25h bCB7c2wtYXJyYXktZmN9IHdpdGggYSA8PGJvb2wtZmMsYm9vbGVhbj4+IHNlbGVjdG9yIGZpZWxk IGNsYXNzLgo9PT09Cltzb3VyY2UsanNvbl0KLS0tLQp7CiAgInR5cGUiOiAib3B0aW9uYWwiLAog ICJzZWxlY3Rvci1maWVsZC1sb2NhdGlvbiI6IFsiZXZlbnQtcmVjb3JkLXBheWxvYWQiLCAiaGFz LWlwIl0sCiAgImZpZWxkLWNsYXNzIjogewogICAgInR5cGUiOiAic3RhdGljLWxlbmd0aC1hcnJh eSIsCiAgICAiZWxlbWVudC1maWVsZC1jbGFzcyI6IHsKICAgICAgInR5cGUiOiAiZml4ZWQtbGVu Z3RoLXVuc2lnbmVkLWludGVnZXIiLAogICAgICAibGVuZ3RoIjogOCwKICAgICAgImJ5dGUtb3Jk ZXIiOiAibGl0dGxlLWVuZGlhbiIsCiAgICAgICJhbGlnbm1lbnQiOiA4CiAgICB9LAogICAgImxl bmd0aCI6IDE2CiAgfQp9Ci0tLS0KPT09PQoKLk9wdGlvbmFsIHtzbC1hcnJheS1mY30gd2l0aCBh IDw8ZmwtaW50LWZjLGZpeGVkLWxlbmd0aCBzaWduZWQKaW50ZWdlcj4+IHNlbGVjdG9yIGZpZWxk IGNsYXNzLgo9PT09Cltzb3VyY2UsanNvbl0KLS0tLQp7CiAgInR5cGUiOiAib3B0aW9uYWwiLAog ICJzZWxlY3Rvci1maWVsZC1sb2NhdGlvbiI6IFsiZXZlbnQtcmVjb3JkLXBheWxvYWQiLCAiaGFz LWlwIl0sCiAgInNlbGVjdG9yLWZpZWxkLXJhbmdlcyI6IFtbLTEyLCAtMTJdLCBbLTUsIDBdLCBb MTUsIDM1XV0sCiAgImZpZWxkLWNsYXNzIjogewogICAgInR5cGUiOiAic3RhdGljLWxlbmd0aC1h cnJheSIsCiAgICAiZWxlbWVudC1maWVsZC1jbGFzcyI6IHsKICAgICAgInR5cGUiOiAiZml4ZWQt bGVuZ3RoLXVuc2lnbmVkLWludGVnZXIiLAogICAgICAibGVuZ3RoIjogOCwKICAgICAgImJ5dGUt b3JkZXIiOiAibGl0dGxlLWVuZGlhbiIsCiAgICAgICJhbGlnbm1lbnQiOiA4CiAgICB9LAogICAg Imxlbmd0aCI6IDE2CiAgfQp9Ci0tLS0KPT09PQoKW1t2YXItZmNdXQo9PT09IFZhcmlhbnQgZmll bGQgY2xhc3MKCkEgX3ZhcmlhbnRfIGZpZWxkIGNsYXNzIGRlc2NyaWJlcyBfdmFyaWFudF8gZmll bGRzLgoKQSB2YXJpYW50IGZpZWxkIGlzLCBkZXBlbmRpbmcgb24gdGhlIHZhbHVlIG9mIGFub3Ro ZXIsIGFudGVyaW9yIHNlbGVjdG9yCmZpZWxkLCB0aGUgaW5zdGFuY2Ugb2YgYSBzcGVjaWZpYywg ZWZmZWN0aXZlIGZpZWxkIGNsYXNzIGFtb25nc3Qgb25lIG9yCm1vcmUgX3ZhcmlhbnQgZmllbGQg Y2xhc3Mgb3B0aW9uc18uCgpBIGNvbnN1bWVyIGNhbiBmaW5kIHRoZSBzZWxlY3RvciBmaWVsZCB0 aGFua3MgdG8gdGhlIHZhcmlhbnQgZmllbGQKY2xhc3MncyBgc2VsZWN0b3ItZmllbGQtbG9jYXRp b25gIHByb3BlcnR5LgoKLlByb3BlcnRpZXMgb2YgYSB2YXJpYW50IGZpZWxkIGNsYXNzIHt2YXIt Zn0uClslaGVhZGVyJWF1dG93aWR0aCwgY29scz0iZCxkLGEsZCxkIl0KfD09PQp8TmFtZSB8VHlw ZSB8RGVzY3JpcHRpb24gfFJlcXVpcmVkPyB8RGVmYXVsdAoKfGB0eXBlYAp8SlNPTiBzdHJpbmcK fFR5cGUgb2Z7bmJzcH17dmFyLWZ9LgoKVGhlIHZhbHVlIG9mIHRoaXMgcHJvcGVydHkge211c3R9 IGJlIGAidmFyaWFudCJgLgp8WWVzCnwKCnxgb3B0aW9uc2AKfEpTT04gYXJyYXkgb2YgPDx2YXIt ZmMtb3B0LHZhcmlhbnQgZmllbGQgY2xhc3Mgb3B0aW9ucz4+CnxPcHRpb25zIGNvbnRhaW5pbmcg dGhlIHBvc3NpYmxlIGVmZmVjdGl2ZSBjbGFzc2VzIG9mIGFuIGluc3RhbmNlCm9me25ic3B9e3Zh ci1mfS4KClRoaXMgYXJyYXkge211c3R9IGNvbnRhaW4gb25lIG9yIG1vcmUgZWxlbWVudHMuCgpF YWNoIG9wdGlvbidzIGBuYW1lYCBwcm9wZXJ0eSwgaWYgaXQncyBzZXQsIG11c3QgYmUgdW5pcXVl IHdpdGhpbiB0aGlzCmZpZWxkIGNsYXNzJ3Mgb3B0aW9uIG5hbWVzLgoKVGhlIGludGVnZXIgcmFu Z2VzIChgc2VsZWN0b3ItZmllbGQtcmFuZ2VzYCBwcm9wZXJ0eSkgb2YgdHdvIGdpdmVuCm9wdGlv bnMge211c3Qtbm90fSBpbnRlcnNlY3QuCnxZZXMKfAoKfGBzZWxlY3Rvci1maWVsZC1sb2NhdGlv bmAKfDw8ZmllbGQtbG9jLEZpZWxkIGxvY2F0aW9uPj4KfExvY2F0aW9uIG9mIHRoZSBmaWVsZCBv ZiB3aGljaCB0aGUgdmFsdWUgaW5kaWNhdGVzIHdoaWNoIG9wdGlvbgpvZntuYnNwfXt2YXItZn0g Y29udGFpbnMgdGhlIGVmZmVjdGl2ZSBjbGFzcyBvZiBhbiBpbnN0YW5jZQpvZntuYnNwfXt2YXIt Zn0uCgpUaGUgc2VsZWN0b3IgZmllbGQge211c3R9IGJlIGFuIGluc3RhbmNlIG9mIG9uZSBvZjoK Cioge2MtZmwtaW50LWZjfQoqIHtjLXZsLWludC1mY30KfFllcwp8Cgp8YHJvbGVzYAp8PDxyb2xl cyxSb2xlcz4+CnxSb2xlcyBvZntuYnNwfXt2YXItZn0uCgpTZWUgPDx0Yy1mcmFnPj4gYW5kIDw8 ZHNjLWZyYWc+PiB3aGljaCBpbmRpY2F0ZSBhY2NlcHRlZApyb2xlcyBmb3IgdGhlaXIgcm9vdCBm aWVsZCBjbGFzc2VzLgp8Tm8KfGArW10rYAoKfGB1c2VyLWF0dHJpYnV0ZXNgCnw8PHVzZXItYXR0 cnMsVXNlciBhdHRyaWJ1dGVzPj4KfFVzZXIgYXR0cmlidXRlcyBvZntuYnNwfXt2YXItZn0uCnxO bwp8YCt7fStgCgp8YGV4dGVuc2lvbnNgCnw8PGV4dCxFeHRlbnNpb25zPj4KfEV4dGVuc2lvbnMg b2Z7bmJzcH17dmFyLWZ9LgoKQW55IGV4dGVuc2lvbiB3aGljaCBleGlzdHMgdW5kZXIgdGhpcyBw cm9wZXJ0eSBtdXN0IGFsc28gYmUgZGVjbGFyZWQgaW4KdGhlIG1ldGFkYXRhIHN0cmVhbSdzIDw8 cHJlYW1ibGUtZnJhZyxwcmVhbWJsZSBmcmFnbWVudD4+Lgp8Tm8KfGAre30rYAp8PT09CgouVmFy aWFudCBmaWVsZCBjbGFzcyB3aXRoIHR3byBvcHRpb25zLgo9PT09Cltzb3VyY2UsanNvbl0KLS0t LQp7CiAgInR5cGUiOiAidmFyaWFudCIsCiAgInNlbGVjdG9yLWZpZWxkLWxvY2F0aW9uIjogWyJl dmVudC1yZWNvcmQtcGF5bG9hZCIsICJzZWwiXSwKICAib3B0aW9ucyI6IFsKICAgIHsKICAgICAg ImZpZWxkLWNsYXNzIjogewogICAgICAgICJ0eXBlIjogIm51bGwtdGVybWluYXRlZC1zdHJpbmci CiAgICAgIH0sCiAgICAgICJzZWxlY3Rvci1maWVsZC1yYW5nZXMiOiBbWzUsIDVdXQogICAgfSwK ICAgIHsKICAgICAgImZpZWxkLWNsYXNzIjogewogICAgICAgICJ0eXBlIjogImZpeGVkLWxlbmd0 aC1zaWduZWQtaW50ZWdlciIsCiAgICAgICAgImxlbmd0aCI6IDE2LAogICAgICAgICJieXRlLW9y ZGVyIjogImxpdHRsZS1lbmRpYW4iLAogICAgICAgICJwcmVmZXJyZWQtZGlzcGxheS1iYXNlIjog OAogICAgICB9LAogICAgICAic2VsZWN0b3ItZmllbGQtcmFuZ2VzIjogW1s4LCA4XV0KICAgIH0K ICBdCn0KLS0tLQo9PT09CgouVmFyaWFudCBmaWVsZCBjbGFzcyB3aXRoaW4gYW4ge29wdC1mY30g d2hpY2ggc2hhcmUgdGhlIHNhbWUgc2VsZWN0b3IKZmllbGQgbG9jYXRpb24uCj09PT0KVGhpcyBl eGFtcGxlIHNob3dzIHRoYXQgYW4gb3B0aW9uYWwgZmllbGQgY2xhc3MgYW5kIGEgY29udGFpbmVk IHZhcmlhbnQKZmllbGQgY2xhc3Mge21heX0gc2hhcmUgdGhlIHNhbWUgc2VsZWN0b3IgZmllbGQg bG9jYXRpb24uCgpJbiB0aGlzIGV4YW1wbGUsIGRlcGVuZGluZyBvbiB0aGUgc2VsZWN0b3IgZmll bGQncyB2YWx1ZToKCltob3Jpem9udGFsXQowOjoKICAgIE9wdGlvbmFsIGZpZWxkIGlzIF9ub3Rf IGVuYWJsZWQuCgoxOjoKICAgIE9wdGlvbmFsIGZpZWxkIGlzIGVuYWJsZWQgYW5kIGlzIGEgdmFy aWFudCBmaWVsZC4KKwpWYXJpYW50IGZpZWxkIGlzIGFuIGluc3RhbmNlIG9mIGEge3N0ci1mY30g KGVmZmVjdGl2ZSBjbGFzcykuCgoyOjoKICAgIE9wdGlvbmFsIGZpZWxkIGlzIGVuYWJsZWQgYW5k IGlzIGEgdmFyaWFudCBmaWVsZC4KKwpWYXJpYW50IGZpZWxkIGlzIGFuIGluc3RhbmNlIG9mIGEg e3ZsLXNpbnQtZmN9CihlZmZlY3RpdmUgY2xhc3MpLgoKW3NvdXJjZSxqc29uXQotLS0tCnsKICAi dHlwZSI6ICJvcHRpb25hbCIsCiAgInNlbGVjdG9yLWZpZWxkLWxvY2F0aW9uIjogWyJldmVudC1y ZWNvcmQtcGF5bG9hZCIsICJzZWwiXSwKICAic2VsZWN0b3ItZmllbGQtcmFuZ2VzIjogW1sxLCAy NTVdXSwKICAiZmllbGQtY2xhc3MiOiB7CiAgICAidHlwZSI6ICJ2YXJpYW50IiwKICAgICJzZWxl Y3Rvci1maWVsZC1sb2NhdGlvbiI6IFsiZXZlbnQtcmVjb3JkLXBheWxvYWQiLCAic2VsIl0sCiAg ICAib3B0aW9ucyI6IFsKICAgICAgewogICAgICAgICJmaWVsZC1jbGFzcyI6IHsKICAgICAgICAg ICJ0eXBlIjogIm51bGwtdGVybWluYXRlZC1zdHJpbmciCiAgICAgICAgfSwKICAgICAgICAic2Vs ZWN0b3ItZmllbGQtcmFuZ2VzIjogW1sxLCAxXV0KICAgICAgfSwKICAgICAgewogICAgICAgICJm aWVsZC1jbGFzcyI6IHsKICAgICAgICAgICJ0eXBlIjogInZhcmlhYmxlLWxlbmd0aC1zaWduZWQt aW50ZWdlciIsCiAgICAgICAgICAicHJlZmVycmVkLWRpc3BsYXktYmFzZSI6IDE2CiAgICAgICAg fSwKICAgICAgICAic2VsZWN0b3ItZmllbGQtcmFuZ2VzIjogW1syLCAyXV0KICAgICAgfQogICAg XQogIH0KfQotLS0tCj09PT0KCi5WYXJpYW50IGZpZWxkIGNsYXNzIHdpdGggPDx1c2VyLWF0dHJz LHVzZXIgYXR0cmlidXRlcz4+Lgo9PT09Cltzb3VyY2UsanNvbl0KLS0tLQp7CiAgInR5cGUiOiAi dmFyaWFudCIsCiAgInNlbGVjdG9yLWZpZWxkLWxvY2F0aW9uIjogWyJldmVudC1yZWNvcmQtc3Bl Y2lmaWMtY29udGV4dCIsICJzZWwiXSwKICAib3B0aW9ucyI6IFsKICAgIHsKICAgICAgImZpZWxk LWNsYXNzIjogewogICAgICAgICJ0eXBlIjogInN0YXRpYy1sZW5ndGgtc3RyaW5nIiwKICAgICAg ICAibGVuZ3RoIjogMjAKICAgICAgfSwKICAgICAgInNlbGVjdG9yLWZpZWxkLXJhbmdlcyI6IFtb NSwgNV0sIFsxMCwgMTBdLCBbMTUsIDE1XV0KICAgIH0sCiAgICB7CiAgICAgICJmaWVsZC1jbGFz cyI6IHsKICAgICAgICAidHlwZSI6ICJmaXhlZC1sZW5ndGgtZmxvYXRpbmctcG9pbnQtbnVtYmVy IiwKICAgICAgICAibGVuZ3RoIjogMzIsCiAgICAgICAgImJ5dGUtb3JkZXIiOiAiYmlnLWVuZGlh biIKICAgICAgfSwKICAgICAgInNlbGVjdG9yLWZpZWxkLXJhbmdlcyI6IFtbMCwgNF0sIFs2LCA5 XSwgWzExLCAxNF0sIFsxNiwgMTI3XV0KICAgIH0KICBdLAogICJ1c2VyLWF0dHJpYnV0ZXMiOiB7 CiAgICAibXkudHJhY2VyIjogewogICAgICAib3duZXIiOiAiSmltbXkiLAogICAgICAiaWQiOiAx OTk5OTAKICAgIH0KICB9Cn0KLS0tLQo9PT09CgpbW3Zhci1mYy1vcHRdXQo9PT09PSBWYXJpYW50 IGZpZWxkIGNsYXNzIG9wdGlvbgoKQSBfdmFyaWFudCBmaWVsZCBjbGFzcyBvcHRpb25fIGNvbnRh aW5zIGEgcG9zc2libGUgZWZmZWN0aXZlIGNsYXNzIG9mIGEKdmFyaWFudCBmaWVsZC4KCkEgdmFy aWFudCBmaWVsZCBjbGFzcyBvcHRpb24gXyoqTyoqXyBhbHNvIGNvbnRhaW5zIHRoZSByYW5nZXMg b2YgaW50ZWdlcgp2YWx1ZXMgKGBzZWxlY3Rvci1maWVsZC1yYW5nZXNgIHByb3BlcnR5KSBvZiB3 aGljaCBhIHNlbGVjdG9yIGZpZWxkJ3MKdmFsdWUge211c3R9IGJlIGFuIGVsZW1lbnQgb2YgZm9y IGEgdmFyaWFudCBmaWVsZCdzIGVmZmVjdGl2ZSBjbGFzcyB0bwpiZSB0aGUgZmllbGQgY2xhc3Mg b2Yge3Zhci1vfS4KCkEgdmFyaWFudCBmaWVsZCBjbGFzcyBvcHRpb24gaXMgYSBKU09OIG9iamVj dC4KCi5Qcm9wZXJ0aWVzIG9mIGEgdmFyaWFudCBmaWVsZCBjbGFzcyBvcHRpb24ge3Zhci1vfSBj b250YWluZWQgaW4gYQp2YXJpYW50IGZpZWxkIGNsYXNze25ic3B9e3Zhci1mfS4KWyVoZWFkZXIl YXV0b3dpZHRoLCBjb2xzPSJkLGQsYSxkLGQiXQp8PT09CnxOYW1lIHxUeXBlIHxEZXNjcmlwdGlv biB8UmVxdWlyZWQ/IHxEZWZhdWx0Cgp8YGZpZWxkLWNsYXNzYAp8PDxmYyxGaWVsZCBjbGFzcz4+ CnxGaWVsZCBjbGFzcyBvZntuYnNwfXt2YXItb30uCnxZZXMKfAoKfGBzZWxlY3Rvci1maWVsZC1y YW5nZXNgCnw8PGludC1yYW5nZS1zZXQsSW50ZWdlciByYW5nZSBzZXQ+Pgp8UmFuZ2VzIG9mIGlu dGVnZXJzIHdoaWNoIHRoZSB2YWx1ZSBvZiBhIHNlbGVjdG9yIGZpZWxkIHttdXN0fSBiZSBhbgpl bGVtZW50IG9mIGZvciB0aGUgZWZmZWN0aXZlIGNsYXNzIG9mIGFuIGluc3RhbmNlIG9me25ic3B9 e3Zhci1mfQp0byBiZSB0aGUgZmllbGQgY2xhc3MgKGBmaWVsZC1jbGFzc2AgcHJvcGVydHkpIG9m e25ic3B9e3Zhci1vfS4KfFllcwp8Cgp8YG5hbWVgCnxKU09OIHN0cmluZwp8TmFtZSBvZntuYnNw fXt2YXItb30uCgpUaGlzIHByb3BlcnR5IGV4aXN0cyB0byByZW1haW4gYmFja3dhcmQgY29tcGF0 aWJsZSB3aXRoIHtjdGYxfS4KfE5vCnx7dmFyLW99IGlzIHVubmFtZWQKCnxgdXNlci1hdHRyaWJ1 dGVzYAp8PDx1c2VyLWF0dHJzLFVzZXIgYXR0cmlidXRlcz4+CnxVc2VyIGF0dHJpYnV0ZXMgb2Z7 bmJzcH17dmFyLW99Lgp8Tm8KfGAre30rYAoKfGBleHRlbnNpb25zYAp8PDxleHQsRXh0ZW5zaW9u cz4+CnxFeHRlbnNpb25zIG9me25ic3B9e3Zhci1vfS4KCkFueSBleHRlbnNpb24gd2hpY2ggZXhp c3RzIHVuZGVyIHRoaXMgcHJvcGVydHkgbXVzdCBhbHNvIGJlIGRlY2xhcmVkIGluCnRoZSBtZXRh ZGF0YSBzdHJlYW0ncyA8PHByZWFtYmxlLWZyYWcscHJlYW1ibGUgZnJhZ21lbnQ+Pi4KfE5vCnxg K3t9K2AKfD09PQoKLlVubmFtZWQge3N0ci1mY30gb3B0aW9uLgo9PT09Cltzb3VyY2UsanNvbl0K LS0tLQp7CiAgImZpZWxkLWNsYXNzIjogewogICAgInR5cGUiOiAibnVsbC10ZXJtaW5hdGVkLXN0 cmluZyIKICB9LAogICJzZWxlY3Rvci1maWVsZC1yYW5nZXMiOiBbWzMsIDldXQp9Ci0tLS0KPT09 PQoKLntjLXZsLXNpbnQtZmN9IG9wdGlvbiBuYW1lZCBganVpY2VgIHdpdGggPDx1c2VyLWF0dHJz LHVzZXIgYXR0cmlidXRlcz4+Lgo9PT09Cltzb3VyY2UsanNvbl0KLS0tLQp7CiAgIm5hbWUiOiAi anVpY2UiLAogICJmaWVsZC1jbGFzcyI6IHsKICAgICJ0eXBlIjogInZhcmlhYmxlLWxlbmd0aC1z aWduZWQtaW50ZWdlciIsCiAgICAicHJlZmVycmVkLWRpc3BsYXktYmFzZSI6IDE2CiAgfSwKICAi c2VsZWN0b3ItZmllbGQtcmFuZ2VzIjogW1stNCwgNF0sIFs5LCA5XSwgWzEwMCwgMjAwXV0sCiAg InVzZXItYXR0cmlidXRlcyI6IHsKICAgICJteS50cmFjZXIiOiB7CiAgICAgICJ1dWlkIjogImYz NjEwMGI4LWVjMzYtNDg2MS04ZDZiLWE5ZDZhYjg5NzNjOSIsCiAgICAgICJpcy1kaWQiOiB0cnVl CiAgICB9CiAgfQp9Ci0tLS0KPT09PQoKW1twcmVhbWJsZS1mcmFnXV0KPT09IFByZWFtYmxlIGZy YWdtZW50CgpBIF9wcmVhbWJsZSBmcmFnbWVudF8gaW5kaWNhdGVzOgoKKiBUaGUge2N0ZjJ9IG1h am9yIHZlcnNpb24gKDIpLgorCntjdGYyfSBkb2Vzbid0IGhhdmUgYSBtaW5vciB2ZXJzaW9uOiBh bGwgbmV3IGNoYW5nZXMgYXJlIGludHJvZHVjZWQgYXMKPDxleHQsZXh0ZW5zaW9ucz4+LgoKKiA8 PGV4dCxFeHRlbnNpb24+PiBkZWNsYXJhdGlvbnMuCisKQW4gZXh0ZW5zaW9uIGRlY2xhcmF0aW9u IGlzIGFuIGluaXRpYWwgZXh0ZW5zaW9uIG9mIHdoaWNoIHRoZSBwdXJwb3NlIGlzCnRvIGRlY2xh cmUgdGhhdCBpdCdzIF9lbmFibGVkXyB3aXRoaW4gdGhlIDw8bWV0YWRhdGEtc3RyZWFtLG1ldGFk YXRhCnN0cmVhbT4+LgorCkJlY2F1c2UgYW4gZXh0ZW5zaW9uIHttYXl9IGFsdGVyIHRoZSB7Y3Rm Mn0gZm9ybWF0IGl0c2VsZiwgYW5kIGJlY2F1c2UgYQpwcmVhbWJsZSBmcmFnbWVudCBpcyBhbHdh eXMgdGhlIGZpcnN0IG1ldGFkYXRhIHN0cmVhbSBmcmFnbWVudCwgdGhvc2UKZXh0ZW5zaW9uIGRl Y2xhcmF0aW9ucyBtYWtlIGl0IHBvc3NpYmxlIGZvciBhIGNvbnN1bWVyIHRvIGRlY2xpbmUgdGhl CnRyYWNlJ3MgPDxkcyxkYXRhIHN0cmVhbXM+PiBncmFjZWZ1bGx5IGlmIGl0IGRvZXNuJ3Qgc3Vw cG9ydCBfYW55XwpkZWNsYXJlZCBleHRlbnNpb24uCgpUaGUgZmlyc3QgZnJhZ21lbnQgb2YgYSBt ZXRhZGF0YSBzdHJlYW0ge211c3R9IGJlIGEgcHJlYW1ibGUgZnJhZ21lbnQuCgouUHJvcGVydGll cyBvZiBhIHByZWFtYmxlIGZyYWdtZW50IHt2YXItZn0uClslaGVhZGVyJWF1dG93aWR0aF0KfD09 PQp8TmFtZSB8VHlwZSB8RGVzY3JpcHRpb24gfFJlcXVpcmVkPyB8RGVmYXVsdAoKfGB0eXBlYAp8 SlNPTiBzdHJpbmcKfFR5cGUgb2Z7bmJzcH17dmFyLWZ9LgoKVGhlIHZhbHVlIG9mIHRoaXMgcHJv cGVydHkge211c3R9IGJlIGAicHJlYW1ibGUiYC4KfFllcwp8Cgp8YHZlcnNpb25gCnxKU09OIGlu dGVnZXIKfHtjdGYyfSBtYWpvciB2ZXJzaW9uLgoKVGhlIHZhbHVlIG9mIHRoaXMgcHJvcGVydHkg e211c3R9IGJlIGAyYC4KfFllcwp8Cgp8YHVzZXItYXR0cmlidXRlc2AKfDw8dXNlci1hdHRycyxV c2VyIGF0dHJpYnV0ZXM+Pgp8VXNlciBhdHRyaWJ1dGVzIG9me25ic3B9e3Zhci1mfS4KfE5vCnxg K3t9K2AKCnxgZXh0ZW5zaW9uc2AKfDw8ZXh0LEV4dGVuc2lvbnM+Pgp8RXh0ZW5zaW9uIGRlY2xh cmF0aW9ucyBvZntuYnNwfXt2YXItZn0uCgpUaGUgbmFtZSBvZiBlYWNoIHByb3BlcnR5IGlzIGEg PDxucy1kZWYsbmFtZXNwYWNlPj4gYW5kIGl0cyB2YWx1ZSBpcyBhCjw8bnMtZXh0cy1vYmosbmFt ZXNwYWNlZCBleHRlbnNpb25zIG9iamVjdD4+LgoKV2l0aGluIGEgPDxucy1leHRzLW9iaixuYW1l c3BhY2VkIGV4dGVuc2lvbnMgb2JqZWN0Pj4sIGFuIGV4dGVuc2lvbgpuYW1lZHtuYnNwfV9fKipO KipfXyBpcyBfZGVjbGFyZWRfIHdoZW4gaXQgZXhpc3RzIGFzIGEgcHJvcGVydHkKbmFtZWR7bmJz cH1fXyoqTioqX18sIHdoYXRldmVyIHRoZSBwcm9wZXJ0eSdzIHZhbHVlLgp8Tm8KfGAre30rYAp8 PT09CgouTWluaW1hbCBwcmVhbWJsZSBmcmFnbWVudC4KPT09PQpbc291cmNlLGpzb25dCi0tLS0K ewogICJ0eXBlIjogInByZWFtYmxlIiwKICAidmVyc2lvbiI6IDIKfQotLS0tCj09PT0KCi5QcmVh bWJsZSBmcmFnbWVudCB3aXRoIDw8ZXh0LGV4dGVuc2lvbj4+IGRlY2xhcmF0aW9ucy4KPT09PQpU aGUgZm9sbG93aW5nIHByZWFtYmxlIGZyYWdtZW50IGRlY2xhcmVzIHRoZSBgcGlhbm9gIGFuZCBg cmFtZW5gCmV4dGVuc2lvbnMgdW5kZXIgdGhlIGBteS50cmFjZXJgIG5hbWVzcGFjZS4KCltzb3Vy Y2UsanNvbl0KLS0tLQp7CiAgInR5cGUiOiAicHJlYW1ibGUiLAogICJ2ZXJzaW9uIjogMiwKICAi ZXh0ZW5zaW9ucyI6IHsKICAgICJteS50cmFjZXIiOiB7CiAgICAgICJwaWFubyI6IHsKICAgICAg ICAia2V5cyI6IDg4LAogICAgICAgICJ0ZW1wZXJhbWVudCI6ICJlcXVhbCIKICAgICAgfSwKICAg ICAgInJhbWVuIjogbnVsbAogICAgfQogIH0KfQotLS0tCj09PT0KCltbdGMtZnJhZ11dCj09PSBU cmFjZSBjbGFzcyBmcmFnbWVudAoKQSBfdHJhY2UgY2xhc3NfIGRlc2NyaWJlcyA8PHRyYWNlLF90 cmFjZXNfPj4uCgpXaXRoaW4gYSBtZXRhZGF0YSBzdHJlYW0sIGEgdHJhY2UgY2xhc3MgZnJhZ21l bnQge211c3R9IG9jY3VyIGJlZm9yZQphbnkgPDxkc2MtZnJhZyxkYXRhIHN0cmVhbSBjbGFzcyBm cmFnbWVudD4+LgoKLlByb3BlcnRpZXMgb2YgYSB0cmFjZSBjbGFzcyBmcmFnbWVudCB7dmFyLWZ9 LgpbJWhlYWRlciVhdXRvd2lkdGgsY29scz0iZCxkLGEsZCxkIl0KfD09PQp8TmFtZSB8VHlwZSB8 RGVzY3JpcHRpb24gfFJlcXVpcmVkPyB8RGVmYXVsdAoKfGB0eXBlYAp8SlNPTiBzdHJpbmcKfFR5 cGUgb2Z7bmJzcH17dmFyLWZ9LgoKVGhlIHZhbHVlIG9mIHRoaXMgcHJvcGVydHkge211c3R9IGJl IGAidHJhY2UtY2xhc3MiYC4KfFllcwp8Cgp8YHV1aWRgCnw8PHV1aWQsVVVJRD4+CnxVVUlEIG9m e25ic3B9e3Zhci1mfS4KfE5vCnx7dmFyLWZ9e25ic3B9aGFzIG5vIFVVSUQKCnxgcGFja2V0LWhl YWRlci1maWVsZC1jbGFzc2AKfHtjLXN0cnVjdC1mY30KfENsYXNzIG9mIGFsbCB0aGUgPDxwa3Qt aGVhZGVyLHBhY2tldCBoZWFkZXIgZmllbGRzPj4gb2YgYW4gaW5zdGFuY2UKb2Z7bmJzcH17dmFy LWZ9LgoKQW55IDw8ZmMsZmllbGQgY2xhc3M+PiB3aXRoaW4gdGhpcyBwcm9wZXJ0eSdzIHZhbHVl IHttdXN0fSBzYXRpc2Z5IGF0CmxlYXN0IG9uZSBvZjoKCiogSGF2ZSBhdCBsZWFzdCBvbmUgdmFs aWQgPDxwa3QtaGVhZGVyLXJvbGVzLHJvbGU+Pi4KKiBCZSBhIHtzdHJ1Y3QtZmN9LgoqIEJlIGFu IHtvcHQtZmN9LgoqIEJlIGEge3Zhci1mY30uCiogQmUgdGhlIGNsYXNzIG9mIGEgZmllbGQgd2hp Y2ggaXMgdGhlIHNlbGVjdG9yIGZpZWxkIG9mIGFuIG9wdGlvbmFsCiAgb3IgdmFyaWFudCBmaWVs ZC4KfE5vCnx7dmFyLWZ9e25ic3B9aGFzIG5vIHBhY2tldCBoZWFkZXIgZmllbGQgY2xhc3MKCnxg dXNlci1hdHRyaWJ1dGVzYAp8PDx1c2VyLWF0dHJzLFVzZXIgYXR0cmlidXRlcz4+CnxVc2VyIGF0 dHJpYnV0ZXMgb2Z7bmJzcH17dmFyLWZ9Lgp8Tm8KfGAre30rYAoKfGBleHRlbnNpb25zYAp8PDxl eHQsRXh0ZW5zaW9ucz4+CnxFeHRlbnNpb25zIG9me25ic3B9e3Zhci1mfS4KCkFueSBleHRlbnNp b24gd2hpY2ggZXhpc3RzIHVuZGVyIHRoaXMgcHJvcGVydHkgbXVzdCBhbHNvIGJlIGRlY2xhcmVk IGluCnRoZSBtZXRhZGF0YSBzdHJlYW0ncyA8PHByZWFtYmxlLWZyYWcscHJlYW1ibGUgZnJhZ21l bnQ+Pi4KfE5vCnxgK3t9K2AKfD09PQoKPT09PSBSb2xlcwoKW1twa3QtaGVhZGVyLXJvbGVzXV1J ZiB0aGUgYHBhY2tldC1oZWFkZXItZmllbGQtY2xhc3NgIHByb3BlcnR5IG9mIGEKdHJhY2UgY2xh c3MgZnJhZ21lbnQgZXhpc3RzLCB0aGVuIGl0cyBpbm5lciA8PGZjLGZpZWxkIGNsYXNzZXM+PiB7 bWF5fQpoYXZlIHRoZSBmb2xsb3dpbmcgPDxyb2xlcyxyb2xlcz4+OgoKLlJvbGVzIG9mIGZpZWxk IGNsYXNzZXMgd2l0aGluIGEgcGFja2V0IGhlYWRlciBmaWVsZCBjbGFzcy4KWyVoZWFkZXIlYXV0 b3dpZHRoLGNvbHM9ImQsZCxhLGEiXQp8PT09CnxOYW1lIHxEZXNjcmlwdGlvbiB8RmllbGQgY2xh c3MgKHt2YXItZn0pIGNvbnN0cmFpbnRzIHxPdGhlciBjb25zdHJhaW50cwoKfGBwYWNrZXQtbWFn aWMtbnVtYmVyYAp8PDxwa3QsUGFja2V0Pj4gbWFnaWMgbnVtYmVyLgoKVGhlIHB1cnBvc2Ugb2Yg YSBwYWNrZXQgbWFnaWMgbnVtYmVyIGZpZWxkIGlzIHRvIGNvbmZpcm0gdGhlCmJlZ2lubmluZyBv ZiBhIHtjdGYyfSBwYWNrZXQuCnx7Yy1mbC11aW50LWZjfSB3aXRoIHRoZSBmb2xsb3dpbmcgcHJv cGVydHkgdmFsdWU6CgpbaG9yaXpvbnRhbF0KYGxlbmd0aGA6OgogICAgYDMyYAp8QW4gaW5zdGFu Y2Ugb2Z7bmJzcH17dmFyLWZ9IHttdXN0fSBiZSB0aGUgcGFja2V0IGhlYWRlciBzdHJ1Y3R1cmUK ZmllbGQncyBfZmlyc3RfIG1lbWJlci4KClRoZSB2YWx1ZSBvZiBhbiBpbnN0YW5jZSBvZntuYnNw fXt2YXItZn0gdmFsdWUge211c3R9IGJlIDB4YzFmYzFmYzEKKDMyNTQ1MjU4ODkpLgoKfGB0cmFj ZS1jbGFzcy11dWlkYAp8VHJhY2UgY2xhc3MgVVVJRC4KClRoZSBwdXJwb3NlIG9mIGEgdHJhY2Ug Y2xhc3MgVVVJRCBmaWVsZCBpcyB0byBjb25maXJtIHRoZSBhc3NvY2lhdGlvbgpiZXR3ZWVuIGEg PDxkcyxkYXRhIHN0cmVhbT4+IGFuZCBhIDw8bWV0YWRhdGEtc3RyZWFtLW92ZXJ2aWV3LG1ldGFk YXRhCnN0cmVhbT4+Lgp8e2Mtc2wtYmxvYi1mY30gd2l0aCB0aGUgZm9sbG93aW5nIHByb3BlcnR5 IHZhbHVlOgoKW2hvcml6b250YWxdCmBsZW5ndGhgOjoKICAgIGAxNmAKfFRoZSBgdXVpZGAgcHJv cGVydHkgb2YgdGhlIHRyYWNlIGNsYXNzIG11c3QgZXhpc3QuCgpUaGUgdmFsdWUgb2YgYW4gaW5z dGFuY2Ugb2Z7bmJzcH17dmFyLWZ9IHttdXN0fSBiZSB0aGUgYmluYXJ5CnJlcHJlc2VudGF0aW9u IG9mIHRoZSBgdXVpZGAgcHJvcGVydHkgb2YgdGhlIHRyYWNlIGNsYXNzLgoKfGBkYXRhLXN0cmVh bS1jbGFzcy1pZGAKfERhdGEgc3RyZWFtIGNsYXNzIElELgoKVGhlIHB1cnBvc2Ugb2YgYSBkYXRh IHN0cmVhbSBjbGFzcyBJRCBmaWVsZCBpcyB0byBzZXQgdGhlIGN1cnJlbnQgSUQgb2YKdGhlIGNs YXNzIG9mIHRoZSBwYWNrZXQncyBkYXRhIHN0cmVhbS4KfHtjLWZsLXVpbnQtZmN9IG9yIHt2bC11 aW50LWZjfS4KfAoKfGBkYXRhLXN0cmVhbS1pZGAKfERhdGEgc3RyZWFtIElELgoKVGhlIHB1cnBv c2Ugb2YgYSBkYXRhIHN0cmVhbSBJRCBmaWVsZCBpcyB0byBzZXQgdGhlIGN1cnJlbnQgSUQgb2YK dGhlIHBhY2tldCdzIGRhdGEgc3RyZWFtLgoKQ29tYmluZWQgd2l0aCB0aGUgSUQgb2YgaXRzIGNs YXNzLCBzdWNoIGEgZmllbGQgbWFrZXMgaXQgcG9zc2libGUgdG8KdW5pcXVlbHkgaWRlbnRpZnkg YSBkYXRhIHN0cmVhbSB3aXRoaW4gYSA8PHRyYWNlLHRyYWNlPj4uCnx7Yy1mbC11aW50LWZjfSBv ciB7dmwtdWludC1mY30uCnwKfD09PQoKLlRyYWNlIGNsYXNzIGZyYWdtZW50Lgo9PT09Cltzb3Vy Y2UsanNvbl0KLS0tLQp7CiAgInR5cGUiOiAidHJhY2UtY2xhc3MiLAogICJ1dWlkIjogIjFlYzk2 NDk0LWU0MDItNDU0Ni05M2RiLWU5MjIyYmVlNmNjNyIsCiAgInBhY2tldC1oZWFkZXItZmllbGQt Y2xhc3MiOiB7CiAgICAidHlwZSI6ICJzdHJ1Y3R1cmUiLAogICAgIm1lbWJlcnMiOiBbCiAgICAg IHsKICAgICAgICAibmFtZSI6ICJ0aGUgbWFnaWMhIiwKICAgICAgICAiZmllbGQtY2xhc3MiOiB7 CiAgICAgICAgICAidHlwZSI6ICJmaXhlZC1sZW5ndGgtdW5zaWduZWQtaW50ZWdlciIsCiAgICAg ICAgICAibGVuZ3RoIjogMzIsCiAgICAgICAgICAiYnl0ZS1vcmRlciI6ICJsaXR0bGUtZW5kaWFu IiwKICAgICAgICAgICJwcmVmZXJyZWQtZGlzcGxheS1iYXNlIjogMTYsCiAgICAgICAgICAicm9s ZXMiOiBbInBhY2tldC1tYWdpYy1udW1iZXIiXQogICAgICAgIH0KICAgICAgfSwKICAgICAgewog ICAgICAgICJuYW1lIjogInRoZSBVVUlEIiwKICAgICAgICAiZmllbGQtY2xhc3MiOiB7CiAgICAg ICAgICAidHlwZSI6ICJzdGF0aWMtbGVuZ3RoLWJsb2IiLAogICAgICAgICAgImxlbmd0aCI6IDE2 LAogICAgICAgICAgInJvbGVzIjogWyJ0cmFjZS1jbGFzcy11dWlkIl0KICAgICAgICB9CiAgICAg IH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJteSBkYXRhIHN0cmVhbSBjbGFzcyBJRCIsCiAg ICAgICAgImZpZWxkLWNsYXNzIjogewogICAgICAgICAgInR5cGUiOiAiZml4ZWQtbGVuZ3RoLXVu c2lnbmVkLWludGVnZXIiLAogICAgICAgICAgImxlbmd0aCI6IDgsCiAgICAgICAgICAiYnl0ZS1v cmRlciI6ICJsaXR0bGUtZW5kaWFuIiwKICAgICAgICAgICJyb2xlcyI6IFsiZGF0YS1zdHJlYW0t Y2xhc3MtaWQiXQogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogIm15 IGRhdGEgc3RyZWFtIElEIiwKICAgICAgICAiZmllbGQtY2xhc3MiOiB7CiAgICAgICAgICAidHlw ZSI6ICJ2YXJpYWJsZS1sZW5ndGgtdW5zaWduZWQtaW50ZWdlciIsCiAgICAgICAgICAicm9sZXMi OiBbImRhdGEtc3RyZWFtLWlkIl0KICAgICAgICB9CiAgICAgIH0KICAgIF0KICB9Cn0KLS0tLQo9 PT09CgpbW2NjLWZyYWddXQo9PT0gQ2xvY2sgY2xhc3MgZnJhZ21lbnQKCkEgX2Nsb2NrIGNsYXNz XyBkZXNjcmliZXMgX2Nsb2Nrc18uCgpBIDw8ZHMsZGF0YSBzdHJlYW0+PiB7bWF5fSBoYXZlIGEg PDxkZWYtY2xrLGRlZmF1bHQgY2xvY2s+Pi4KCldpdGhpbiBhIG1ldGFkYXRhIHN0cmVhbSwgYSBj bG9jayBjbGFzcyBmcmFnbWVudCB7bXVzdH0gb2NjdXIgYmVmb3JlIGFueQo8PGRzYy1mcmFnLGRh dGEgc3RyZWFtIGNsYXNzIGZyYWdtZW50Pj4gd2hpY2ggcmVmZXJzIHRvIGl0IGJ5IG5hbWUgd2l0 aAppdHMgYGRlZmF1bHQtY2xvY2stY2xhc3MtbmFtZWAgcHJvcGVydHkuCgouUHJvcGVydGllcyBv ZiBhIGNsb2NrIGNsYXNzIGZyYWdtZW50IHt2YXItZn0uClslaGVhZGVyJWF1dG93aWR0aCxjb2xz PSJkLGQsYSxkLGQiXQp8PT09CnxOYW1lIHxUeXBlIHxEZXNjcmlwdGlvbiB8UmVxdWlyZWQ/IHxE ZWZhdWx0Cgp8YHR5cGVgCnxKU09OIHN0cmluZwp8VHlwZSBvZntuYnNwfXt2YXItZn0uCgpUaGUg dmFsdWUgb2YgdGhpcyBwcm9wZXJ0eSB7bXVzdH0gYmUgYCJjbG9jay1jbGFzcyJgLgp8WWVzCnwK CnxgZnJlcXVlbmN5YAp8SlNPTiBpbnRlZ2VyCnxGcmVxdWVuY3kgb2YgYW4gaW5zdGFuY2Ugb2Z7 bmJzcH17dmFyLWZ9IChIeikuCgpUaGUgdmFsdWUgb2YgdGhpcyBwcm9wZXJ0eSB7bXVzdH0gYmUg Z3JlYXRlciB0aGFuIHplcm8uCnxZZXMKfAoKfGBuYW1lYAp8SlNPTiBzdHJpbmcKfE5hbWUgb2Z7 bmJzcH17dmFyLWZ9Lgp8WWVzCnwKCnxgZGVzY3JpcHRpb25gCnxKU09OIHN0cmluZwp8VGV4dHVh bCBkZXNjcmlwdGlvbiBvZntuYnNwfXt2YXItZn0uCgpUaGlzIHByb3BlcnR5IGV4aXN0cyB0byBy ZW1haW4gYmFja3dhcmQgY29tcGF0aWJsZSB3aXRoIHtjdGYxfS4KfE5vCnx7dmFyLWZ9e25ic3B9 aGFzIG5vIHRleHR1YWwgZGVzY3JpcHRpb24KCnxgdXVpZGAKfDw8dXVpZCxVVUlEPj4KfFVVSUQg b2Z7bmJzcH17dmFyLWZ9LgoKVGhpcyBwcm9wZXJ0eSBleGlzdHMgdG8gcmVtYWluIGJhY2t3YXJk IGNvbXBhdGlibGUgd2l0aCB7Y3RmMX0uCnxObwp8e3Zhci1mfXtuYnNwfWhhcyBubyBVVUlECgp8 YG9yaWdpbi1pcy11bml4LWVwb2NoYAp8SlNPTiBib29sZWFuCnxXaGV0aGVyIG9yIG5vdCB0aGUg b3JpZ2luIG9mIGFuIGluc3RhbmNlIG9me25ic3B9e3Zhci1mfSBpcwp0aGUgaHR0cHM6Ly9lbi53 aWtpcGVkaWEub3JnL3dpa2kvVW5peF90aW1lW1VuaXggZXBvY2hdLgoKSWYgdGhlIHZhbHVlIG9m IHRoaXMgcHJvcGVydHkgaXMgYGZhbHNlYCwgdGhlbiB0aGUgb3JpZ2luIG9mCmFuIGluc3RhbmNl IG9me25ic3B9e3Zhci1mfSBpcyB1bmtub3duLgp8Tm8KfGB0cnVlYAoKfGBvZmZzZXRgCnw8PGNj LW9mZnNldCxDbG9jayBjbGFzcyBvZmZzZXQ+Pgp8T2Zmc2V0IG9mIGFuIGluc3RhbmNlIG9me25i c3B9e3Zhci1mfSByZWxhdGl2ZSB0byBpdHMgb3JpZ2luLgoKTGV0OgoKKiBfKipIKipfIGJlIHRo ZSB2YWx1ZSBvZiB7dmFyLWZ9J3MgYGZyZXF1ZW5jeWAgcHJvcGVydHkuCioge3Zhci1vfSBiZSB0 aGUgdmFsdWUgb2YgdGhpcyBwcm9wZXJ0eS4KKiB7dmFyLXN9IGJlIHRoZSB2YWx1ZSBvZiB7dmFy LW99J3MgYHNlY29uZHNgIHByb3BlcnR5LgoqIF8qKkMqKl8gYmUgdGhlIHZhbHVlIG9mIHt2YXIt b30ncyBgY3ljbGVzYCBwcm9wZXJ0eS4KClRoZW4gdGhlIGVmZmVjdGl2ZSBvZmZzZXQgb2YgYW4g aW5zdGFuY2Ugb2Yge3Zhci1mfSwgaW4gY2xvY2sKY3ljbGVzLAppc3tuYnNwfXt2YXItc317bmJz cH17dGltZXN9e25ic3B9X18qKkgqKl9fe25ic3B9cGFzczpbK117bmJzcH1fXyoqQyoqX18uCnxO bwp8YHsic2Vjb25kcyI6e25ic3B9MCwgImN5Y2xlcyI6e25ic3B9MH1gCgp8YHByZWNpc2lvbmAK fEpTT04gaW50ZWdlcgp8UHJlY2lzaW9uIG9mIGFuIGluc3RhbmNlIG9me25ic3B9e3Zhci1mfSAo Y2xvY2sgY3ljbGVzKS4KClRoZSB2YWx1ZSBvZiB0aGlzIHByb3BlcnR5IHttdXN0fSBiZSBncmVh dGVyIHRoYW4gb3IgZXF1YWwgdG8gemVyby4KCkxldHtuYnNwfXt2YXItcH0gYmUgdGhlIHZhbHVl IG9mIHRoaXMgcHJvcGVydHkgYW5ke25ic3B9X18qKlYqKl9fCnRoZSB2YWx1ZSBvZiBhbiBpbnN0 YW5jZSBvZntuYnNwfXt2YXItZn06IHRoZSByYW5nZSBvZiBwb3NzaWJsZQp2YWx1ZXMgb2YgdGhl IGluc3RhbmNlCmlze25ic3B9W19fKipWKipfX3tuYnNwfXttaW51c317bmJzcH17dmFyLXB9LHtu YnNwfV9fKipWKipfX3tuYnNwfXBhc3M6Wytde25ic3B9e3Zhci1wfV0uCnxObwp8YDBgCgp8YHVz ZXItYXR0cmlidXRlc2AKfDw8dXNlci1hdHRycyxVc2VyIGF0dHJpYnV0ZXM+Pgp8VXNlciBhdHRy aWJ1dGVzIG9me25ic3B9e3Zhci1mfS4KfE5vCnxgK3t9K2AKCnxgZXh0ZW5zaW9uc2AKfDw8ZXh0 LEV4dGVuc2lvbnM+Pgp8RXh0ZW5zaW9ucyBvZntuYnNwfXt2YXItZn0uCgpBbnkgZXh0ZW5zaW9u IHdoaWNoIGV4aXN0cyB1bmRlciB0aGlzIHByb3BlcnR5IG11c3QgYWxzbyBiZSBkZWNsYXJlZCBp bgp0aGUgbWV0YWRhdGEgc3RyZWFtJ3MgPDxwcmVhbWJsZS1mcmFnLHByZWFtYmxlIGZyYWdtZW50 Pj4uCnxObwp8YCt7fStgCnw9PT0KCldpdGhpbiBhIG1ldGFkYXRhIHN0cmVhbSwgdHdvIGdpdmVu IGNsb2NrIGNsYXNzIGZyYWdtZW50cyB7bXVzdC1ub3R9OgoKKiBTaGFyZSB0aGUgc2FtZSBgbmFt ZWAgcHJvcGVydHkgdmFsdWUuCiogU2hhcmUgdGhlIHNhbWUgYHV1aWRgIHByb3BlcnR5IHZhbHVl LgoKLk1pbmltYWwgY2xvY2sgY2xhc3MgZnJhZ21lbnQgKDF7bmJzcH1HSHogZnJlcXVlbmN5KS4K PT09PQpbc291cmNlLGpzb25dCi0tLS0KewogICJ0eXBlIjogImNsb2NrLWNsYXNzIiwKICAibmFt ZSI6ICJteSBjbG9jayBjbGFzcyIsCiAgImZyZXF1ZW5jeSI6IDEwMDAwMDAwMDAKfQotLS0tCj09 PT0KCi5DbG9jayBjbGFzcyBmcmFnbWVudCB3aXRoIGEgVVVJRC4KPT09PQpbc291cmNlLGpzb25d Ci0tLS0KewogICJ0eXBlIjogImNsb2NrLWNsYXNzIiwKICAibmFtZSI6ICJteSBjbG9jayBjbGFz cyIsCiAgImZyZXF1ZW5jeSI6IDEwMDAwMDAwMDAsCiAgInV1aWQiOiAiNzRkMjAwOGMtZWZmZi00 ZDAzLTgxNjMtZTllMjg2NmFjZjIwIgp9Ci0tLS0KPT09PQoKLkNsb2NrIGNsYXNzIGZyYWdtZW50 IHdpdGggYW4gb2Zmc2V0Lgo9PT09Cltzb3VyY2UsanNvbl0KLS0tLQp7CiAgInR5cGUiOiAiY2xv Y2stY2xhc3MiLAogICJuYW1lIjogIm15IGNsb2NrIGNsYXNzIiwKICAiZnJlcXVlbmN5IjogMTAw MDAwMDAwMCwKICAib2Zmc2V0IjogewogICAgInNlY29uZHMiOiAxNjA1MTEyNjk5LAogICAgImN5 Y2xlcyI6IDI4NzgzODgKICB9Cn0KLS0tLQo9PT09CgouQ2xvY2sgY2xhc3MgZnJhZ21lbnQgd2l0 aCBhIHByZWNpc2lvbi4KPT09PQpbc291cmNlLGpzb25dCi0tLS0KewogICJ0eXBlIjogImNsb2Nr LWNsYXNzIiwKICAibmFtZSI6ICJteSBjbG9jayBjbGFzcyIsCiAgImZyZXF1ZW5jeSI6IDgwMDAw MDAsCiAgInByZWNpc2lvbiI6IDEwMAp9Ci0tLS0KPT09PQoKLkNsb2NrIGNsYXNzIGZyYWdtZW50 IHdpdGggYW4gb3JpZ2luIHdoaWNoIGlzIG5vdCB0aGUgVW5peCBlcG9jaC4KPT09PQpbc291cmNl LGpzb25dCi0tLS0KewogICJ0eXBlIjogImNsb2NrLWNsYXNzIiwKICAibmFtZSI6ICJteSBjbG9j ayBjbGFzcyIsCiAgImZyZXF1ZW5jeSI6IDEwMDAwMDAwMDAsCiAgIm9yaWdpbi1pcy11bml4LWVw b2NoIjogZmFsc2UKfQotLS0tCj09PT0KCi5DbG9jayBjbGFzcyBmcmFnbWVudCB3aXRoIDw8dXNl ci1hdHRycyx1c2VyIGF0dHJpYnV0ZXM+Pi4KPT09PQpbc291cmNlLGpzb25dCi0tLS0KewogICJ0 eXBlIjogImNsb2NrLWNsYXNzIiwKICAibmFtZSI6ICJteSBjbG9jayBjbGFzcyIsCiAgImZyZXF1 ZW5jeSI6IDE2MDAwMDAwLAogICJ1c2VyLWF0dHJpYnV0ZXMiOiB7CiAgICAibXkudHJhY2VyIjog ewogICAgICAic3lzLW5hbWUiOiAiU09DMjMiLAogICAgICAiYnVzIjogewogICAgICAgICJuYW1l IjogIkxNQjUiLAogICAgICAgICJpbmRleCI6IDUKICAgICAgfSwKICAgICAgInByb3BhZ2F0aW9u LWRlbGF5LXBzIjogMTc3CiAgICB9CiAgfQp9Ci0tLS0KPT09PQoKW1tjYy1vZmZzZXRdXQo9PT09 IENsb2NrIGNsYXNzIG9mZnNldAoKQSBfY2xvY2sgY2xhc3Mgb2Zmc2V0XyBjb250YWlucyB0aGUg b2Zmc2V0IG9mIGEgPDxjYy1mcmFnLGNsb2NrCmNsYXNzPj4ncyBpbnN0YW5jZXMgcmVsYXRpdmUg dG8gdGhlaXIgb3JpZ2luLgoKQSBjbG9jayBjbGFzcyBvZmZzZXQgaXMgYSBKU09OIG9iamVjdC4K Ci5Qcm9wZXJ0aWVzIG9mIGEgY2xvY2sgY2xhc3Mgb2Zmc2V0IGNvbnRhaW5lZCBpbiBhIGNsb2Nr IGNsYXNzIGZyYWdtZW50IHt2YXItZn0uClslaGVhZGVyJWF1dG93aWR0aF0KfD09PQp8TmFtZSB8 VHlwZSB8RGVzY3JpcHRpb24gfFJlcXVpcmVkPyB8RGVmYXVsdAoKfGBzZWNvbmRzYAp8SlNPTiBp bnRlZ2VyCnxPZmZzZXQsIGluIHNlY29uZHMsIG9mIGFuIGluc3RhbmNlIG9me25ic3B9e3Zhci1m fSByZWxhdGl2ZSB0byBpdHMKb3JpZ2luLgp8Tm8KfGAwYAoKfGBjeWNsZXNgCnxKU09OIGludGVn ZXIKfE9mZnNldCwgaW4gY3ljbGVzLCBvZiBhbiBpbnN0YW5jZSBvZntuYnNwfXt2YXItZn0gcmVs YXRpdmUgdG8gaXRzCm9yaWdpbi4KClRoZSB2YWx1ZSBvZiB0aGlzIHByb3BlcnR5IHttdXN0fSBi ZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gemVyby4KClRoZSB2YWx1ZSBvZiB0aGlzIHByb3Bl cnR5IHttdXN0fSBiZSBsZXNzIHRoYW4gdGhlIHZhbHVlCm9me25ic3B9e3Zhci1mfSdzIGBmcmVx dWVuY3lgIHByb3BlcnR5Lgp8Tm8KfGAwYAp8PT09CgouTWluaW1hbCBjbG9jayBjbGFzcyBvZmZz ZXQuCj09PT0KW3NvdXJjZSxqc29uXQotLS0tCnt9Ci0tLS0KPT09PQoKLkNsb2NrIGNsYXNzIG9m ZnNldCB3aXRoIHNlY29uZHMgYW5kIGN5Y2xlcy4KPT09PQpbc291cmNlLGpzb25dCi0tLS0Kewog ICJzZWNvbmRzIjogMTYwNTExMjY5OSwKICAiY3ljbGVzIjogMjg3ODM4OAp9Ci0tLS0KPT09PQoK LkNsb2NrIGNsYXNzIG9mZnNldCB3aXRoIHNlY29uZHMgb25seS4KPT09PQpbc291cmNlLGpzb25d Ci0tLS0KewogICJzZWNvbmRzIjogMTYwNTExMTI5Mwp9Ci0tLS0KPT09PQoKLk5lZ2F0aXZlIGNs b2NrIGNsYXNzIG9mZnNldC4KPT09PQpUaGlzIGV4YW1wbGUgc2hvd3MgdGhhdCBhIGNsb2NrIGNs YXNzIG9mZnNldCB7bWF5fSBiZSBuZWdhdGl2ZSwgdGhhdCBpcywKX2JlZm9yZV8gdGhlIG9yaWdp biBvZiB0aGUgY2xvY2sgY2xhc3MgaW5zdGFuY2VzLgoKW3NvdXJjZSxqc29uXQotLS0tCnsKICAi c2Vjb25kcyI6IC0xODAwMywKICAiY3ljbGVzIjogMTE5Mjg1NDcKfQotLS0tCj09PT0KCltbZHNj LWZyYWddXQo9PT0gRGF0YSBzdHJlYW0gY2xhc3MgZnJhZ21lbnQKCkEgX2RhdGEgc3RyZWFtIGNs YXNzXyBkZXNjcmliZXMgPDxkcyxfZGF0YSBzdHJlYW1zXz4+LgoKV2l0aGluIGEgbWV0YWRhdGEg c3RyZWFtLCBhIGRhdGEgc3RyZWFtIGNsYXNzIGZyYWdtZW50IHt2YXItZn0ge211c3R9Cm9jY3Vy IGJlZm9yZSBhbnkgPDxlcmMtZnJhZyxldmVudCByZWNvcmQgY2xhc3MgZnJhZ21lbnQ+PiBvZiB3 aGljaAp7dmFyLWZ9IGlzIHRoZSBwYXJlbnQuCgouUHJvcGVydGllcyBvZiBhIGRhdGEgc3RyZWFt IGNsYXNzIGZyYWdtZW50IHt2YXItZn0uClslaGVhZGVyJWF1dG93aWR0aCxjb2xzPSJkLGQsYSxk LGQiXQp8PT09CnxOYW1lIHxUeXBlIHxEZXNjcmlwdGlvbiB8UmVxdWlyZWQ/IHxEZWZhdWx0Cgp8 YHR5cGVgCnxKU09OIHN0cmluZwp8VHlwZSBvZntuYnNwfXt2YXItZn0uCgpUaGUgdmFsdWUgb2Yg dGhpcyBwcm9wZXJ0eSB7bXVzdH0gYmUgYCJkYXRhLXN0cmVhbS1jbGFzcyJgLgp8WWVzCnwKCnxg aWRgCnxKU09OIGludGVnZXIKfE51bWVyaWMgSUQgb2Z7bmJzcH17dmFyLWZ9LgoKVGhlIHZhbHVl IG9mIHRoaXMgcHJvcGVydHkge211c3R9IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB6ZXJv Lgp8Tm8KfGAwYAoKfGBuYW1lYAp8SlNPTiBzdHJpbmcKfE5hbWUgb2Z7bmJzcH17dmFyLWZ9LgoK VGhlIHB1cnBvc2Ugb2YgdGhpcyBwcm9wZXJ0eSwgY29tYmluZWQgd2l0aCB0aGUgYG5hbWVzcGFj ZWAgcHJvcGVydHksIGlzCnRvIHVuaXF1ZWx5IGlkZW50aWZ5IGEgZGF0YSBzdHJlYW0gY2xhc3Mg YW1vbmdzdCBtYW55IHByb2R1Y2Vycy4KfE5vCnx7dmFyLWZ9e25ic3B9aXMgdW5uYW1lZAoKfGBu YW1lc3BhY2VgCnxKU09OIHN0cmluZwp8PDxucy1kZWYsTmFtZXNwYWNlPj4gb2Z7bmJzcH17dmFy LWZ9LgoKVGhlIHB1cnBvc2Ugb2YgdGhpcyBwcm9wZXJ0eSwgY29tYmluZWQgd2l0aCB0aGUgYG5h bWVgIHByb3BlcnR5LCBpcyB0bwp1bmlxdWVseSBpZGVudGlmeSBhIGRhdGEgc3RyZWFtIGNsYXNz IGFtb25nc3QgbWFueSBwcm9kdWNlcnMuCnxObwp8e3Zhci1mfXtuYnNwfWhhcyBubyBuYW1lc3Bh Y2UKCnxgZGVmYXVsdC1jbG9jay1jbGFzcy1uYW1lYAp8SlNPTiBzdHJpbmcKfE5hbWUgb2YgdGhl IDw8Y2MtZnJhZyxjbGFzcz4+IG9mIHRoZSA8PGRlZi1jbGssZGVmYXVsdCBjbG9jaz4+IG9mIGFu Cmluc3RhbmNlIG9me25ic3B9e3Zhci1mfS4KCldpdGhpbiB0aGUgbWV0YWRhdGEgc3RyZWFtIGNv bnRhaW5pbmd7bmJzcH17dmFyLWZ9LCB0aGUgPDxjYy1mcmFnLGNsb2NrCmNsYXNzIGZyYWdtZW50 Pj4gd2hpY2ggaGFzIHRoaXMgcHJvcGVydHkncyB2YWx1ZSBhcyBpdHMgYG5hbWVgIHByb3BlcnR5 Cm11c3Qgb2NjdXIgYmVmb3Jle25ic3B9e3Zhci1mfS4KfE5vCnxBbiBpbnN0YW5jZSBvZntuYnNw fXt2YXItZn0gaGFzIG5vIGRlZmF1bHQgY2xvY2sKCnxgcGFja2V0LWNvbnRleHQtZmllbGQtY2xh c3NgCnx7Yy1zdHJ1Y3QtZmN9CnxDbGFzcyBvZiBhbGwgdGhlIDw8cGt0LWN0eCxwYWNrZXQgY29u dGV4dCBmaWVsZHM+PiBvZiBhbiBpbnN0YW5jZQpvZntuYnNwfXt2YXItZn0uCnxObwp8e3Zhci1m fXtuYnNwfWhhcyBubyBwYWNrZXQgY29udGV4dCBmaWVsZCBjbGFzcwoKfGBldmVudC1yZWNvcmQt aGVhZGVyLWZpZWxkLWNsYXNzYAp8e2Mtc3RydWN0LWZjfQp8Q2xhc3Mgb2YgYWxsIHRoZSA8PGVy LWhlYWRlcixldmVudCByZWNvcmQgaGVhZGVyIGZpZWxkcz4+IG9mIGFuCmluc3RhbmNlIG9me25i c3B9e3Zhci1mfS4KCkFueSBmaWVsZCBjbGFzcyB3aXRoaW4gdGhpcyBwcm9wZXJ0eSdzIHZhbHVl IHttdXN0fSBzYXRpc2Z5IGF0IGxlYXN0Cm9uZSBvZjoKCiogSGF2ZSBhdCBsZWFzdCBvbmUgdmFs aWQgPDxlci1oZWFkZXItcm9sZXMscm9sZT4+LgoqIEJlIGEge3N0cnVjdC1mY30uCiogQmUgYW4g e29wdC1mY30uCiogQmUgYSB7dmFyLWZjfS4KKiBCZSB0aGUgY2xhc3Mgb2YgYSBmaWVsZCB3aGlj aCBpcyB0aGUgc2VsZWN0b3IgZmllbGQgb2YgYW4gb3B0aW9uYWwKICBvciB2YXJpYW50IGZpZWxk Lgp8Tm8KfHt2YXItZn17bmJzcH1oYXMgbm8gZXZlbnQgcmVjb3JkIGhlYWRlciBmaWVsZCBjbGFz cwoKfGBldmVudC1yZWNvcmQtY29tbW9uLWNvbnRleHQtZmllbGQtY2xhc3NgCnx7Yy1zdHJ1Y3Qt ZmN9CnxDbGFzcyBvZiBhbGwgdGhlIDw8ZXItY29tbW9uLWN0eCxldmVudCByZWNvcmQgY29tbW9u IGNvbnRleHQgZmllbGRzPj4Kb2YgYW4gaW5zdGFuY2Ugb2Z7bmJzcH17dmFyLWZ9Lgp8Tm8KfHt2 YXItZn17bmJzcH1oYXMgbm8gZXZlbnQgcmVjb3JkIGNvbW1vbiBjb250ZXh0IGZpZWxkIGNsYXNz Cgp8YHVzZXItYXR0cmlidXRlc2AKfDw8dXNlci1hdHRycyxVc2VyIGF0dHJpYnV0ZXM+Pgp8VXNl ciBhdHRyaWJ1dGVzIG9me25ic3B9e3Zhci1mfS4KfE5vCnxgK3t9K2AKCnxgZXh0ZW5zaW9uc2AK fDw8ZXh0LEV4dGVuc2lvbnM+Pgp8RXh0ZW5zaW9ucyBvZntuYnNwfXt2YXItZn0uCgpBbnkgZXh0 ZW5zaW9uIHdoaWNoIGV4aXN0cyB1bmRlciB0aGlzIHByb3BlcnR5IG11c3QgYWxzbyBiZSBkZWNs YXJlZCBpbgp0aGUgbWV0YWRhdGEgc3RyZWFtJ3MgPDxwcmVhbWJsZS1mcmFnLHByZWFtYmxlIGZy YWdtZW50Pj4uCnxObwp8YCt7fStgCnw9PT0KCldpdGhpbiBhIG1ldGFkYXRhIHN0cmVhbSwgdHdv IGdpdmVuIGRhdGEgc3RyZWFtIGNsYXNzIGZyYWdtZW50cwp7bXVzdC1ub3R9IHNoYXJlIHRoZSBz YW1lIGBpZGAgcHJvcGVydHkgdmFsdWUuCgo9PT09IFJvbGVzCgpbW3BrdC1jdHgtcm9sZXNdXUlm IHRoZSBgcGFja2V0LWNvbnRleHQtZmllbGQtY2xhc3NgIHByb3BlcnR5IG9mIGEgZGF0YQpzdHJl YW0gY2xhc3MgZnJhZ21lbnQgZXhpc3RzLCB0aGVuIGl0cyBpbm5lciA8PGZjLGZpZWxkIGNsYXNz ZXM+PiB7bWF5fQpoYXZlIHRoZSBmb2xsb3dpbmcgPDxyb2xlcyxyb2xlcz4+OgoKLlJvbGVzIG9m IGZpZWxkIGNsYXNzZXMgd2l0aGluIGEgcGFja2V0IGNvbnRleHQgZmllbGQgY2xhc3MuClslaGVh ZGVyJWF1dG93aWR0aCxjb2xzPSJkLGQsYSxhIl0KfD09PQp8TmFtZSB8RGVzY3JpcHRpb24gfEZp ZWxkIGNsYXNzICh7dmFyLWZ9KSBjb25zdHJhaW50cyB8T3RoZXIgY29uc3RyYWludHMKCnxgcGFj a2V0LXRvdGFsLXNpemVgCnxUb3RhbCBzaXplIChiaXRzKSBvZiB0aGUgPDxwa3QscGFja2V0Pj4u CgpUaGlzIHNpemUgaW5jbHVkZXMgYW55IHBhZGRpbmcgYWZ0ZXIgdGhlIHBhY2tldCdzIGNvbnRl bnQuCnx7Yy1mbC11aW50LWZjfSBvciB7dmwtdWludC1mY30uCgp8VGhlIHZhbHVlIG9mIGFuIGlu c3RhbmNlIG9me25ic3B9e3Zhci1mfSB7bXVzdH0gYmUgZ3JlYXRlciB0aGFuIG9yCmVxdWFsIHRv IHRoZSB2YWx1ZSBvZiBhbiBpbnN0YW5jZSBvZiBhIGZpZWxkIGNsYXNzIGhhdmluZyB0aGUKYHBh Y2tldC1jb250ZW50LXNpemVgIHJvbGUgd2l0aGluIHRoZSBfc2FtZV8gcGFja2V0IGNvbnRleHQg ZmllbGQuCgp8YHBhY2tldC1jb250ZW50LXNpemVgCnxDb250ZW50IHNpemUgKGJpdHMpIG9mIHRo ZSBwYWNrZXQuCnx7Yy1mbC11aW50LWZjfSBvciB7dmwtdWludC1mY30uCnxUaGUgdmFsdWUgb2Yg YW4gaW5zdGFuY2Ugb2Z7bmJzcH17dmFyLWZ9IHttdXN0fSBiZSBsZXNzIHRoYW4gb3IKZXF1YWwg dG8gdGhlIHZhbHVlIG9mIGFuIGluc3RhbmNlIG9mIGEgZmllbGQgY2xhc3MgaGF2aW5nIHRoZQpg cGFja2V0LXRvdGFsLXNpemVgIHJvbGUgd2l0aGluIHRoZSBfc2FtZV8gcGFja2V0IGNvbnRleHQg ZmllbGQuCgp8YHBhY2tldC1iZWdpbm5pbmctZGVmYXVsdC1jbG9jay10aW1lc3RhbXBgCnxUaW1l c3RhbXAgb2YgdGhlIHBhY2tldCdzIDw8ZHMsZGF0YSBzdHJlYW0+PidzIDw8ZGVmLWNsayxkZWZh dWx0IGNsb2NrPj4Kd2hlbiB0aGUgcGFja2V0IGJlZ2lucy4KfHtjLWZsLXVpbnQtZmN9IG9yIHt2 bC11aW50LWZjfS4KfFRoZSB0aW1lc3RhbXBzIG9mIGFsbCB0aGUgcGFja2V0J3MgPDxlcixldmVu dCByZWNvcmRzPj4ge211c3R9IGJlCmdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB0aGUgdmFsdWUg b2YgYW4gaW5zdGFuY2Ugb2Z7bmJzcH17dmFyLWZ9LgoKVGhlIHZhbHVlIG9mIGFuIGluc3RhbmNl IG9me25ic3B9e3Zhci1mfSB7bXVzdH0gYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvCnRoZSB2YWx1 ZSBvZiBhbiBpbnN0YW5jZSBvZiBhIGZpZWxkIGNsYXNzIGhhdmluZyB0aGUKYHBhY2tldC1lbmQt ZGVmYXVsdC1jbG9jay10aW1lc3RhbXBgIHJvbGUgd2l0aGluIHRoZSBfc2FtZV8gcGFja2V0CmNv bnRleHQgZmllbGQuCgp8YHBhY2tldC1lbmQtZGVmYXVsdC1jbG9jay10aW1lc3RhbXBgCnxUaW1l c3RhbXAgb2YgdGhlIHBhY2tldCdzIGRhdGEgc3RyZWFtJ3MgPDxkZWYtY2xrLGRlZmF1bHQgY2xv Y2s+Pgp3aGVuIHRoZSBwYWNrZXQgZW5kcy4KfHtjLWZsLXVpbnQtZmN9IG9yIHt2bC11aW50LWZj fS4KfFRoZSB0aW1lc3RhbXBzIG9mIGFsbCB0aGUgcGFja2V0J3MgPDxlcixldmVudCByZWNvcmRz Pj4ge211c3R9IGJlCmxlc3MgdGhhbiBvciBlcXVhbCB0byB0aGUgdmFsdWUgb2YgYW4gaW5zdGFu Y2Ugb2Z7bmJzcH17dmFyLWZ9LgoKVGhlIHZhbHVlIG9mIGFuIGluc3RhbmNlIG9me25ic3B9e3Zh ci1mfSB7bXVzdH0gYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsCnRvIHRoZSB2YWx1ZSBvZiBhbiBp bnN0YW5jZSBvZiBhIGZpZWxkIGNsYXNzIGhhdmluZyB0aGUKYHBhY2tldC1iZWdpbm5pbmctZGVm YXVsdC1jbG9jay10aW1lc3RhbXBgIHJvbGUgd2l0aGluIHRoZSBfc2FtZV8gcGFja2V0CmNvbnRl eHQgZmllbGQuCgp8YGRpc2NhcmRlZC1ldmVudC1yZWNvcmQtY291bnRlci1zbmFwc2hvdGAKfFNu YXBzaG90IG9mIHRoZSBwYWNrZXQncyBkYXRhIHN0cmVhbSdzCjw8ZGlzYy1lci1jb3VudGVyLGRp c2NhcmRlZCBldmVudCByZWNvcmQgY291bnRlcj4+IHdoZW4gdGhlIHBhY2tldCBlbmRzLgp8e2Mt ZmwtdWludC1mY30gb3Ige3ZsLXVpbnQtZmN9Lgp8Cgp8W1twa3Qtc2VxLW51bS1yb2xlXV1gcGFj a2V0LXNlcXVlbmNlLW51bWJlcmAKfFNlcXVlbmNlIG51bWJlciBvZiB0aGUgcGFja2V0IHdpdGhp biBpdHMgZGF0YSBzdHJlYW0uCnx7Yy1mbC11aW50LWZjfSBvciB7dmwtdWludC1mY30uCnwKfD09 PQoKW1tlci1oZWFkZXItcm9sZXNdXUlmIHRoZSBgZXZlbnQtcmVjb3JkLWhlYWRlci1maWVsZC1j bGFzc2AgcHJvcGVydHkgb2YKYSBkYXRhIHN0cmVhbSBjbGFzcyBmcmFnbWVudCBleGlzdHMsIHRo ZW4gaXRzIGlubmVyIDw8ZmMsZmllbGQgY2xhc3Nlcz4+CnttYXl9IGhhdmUgdGhlIGZvbGxvd2lu ZyA8PHJvbGVzLHJvbGVzPj46CgouUm9sZXMgb2YgZmllbGQgY2xhc3NlcyB3aXRoaW4gYW4gZXZl bnQgcmVjb3JkIGhlYWRlciBmaWVsZCBjbGFzcy4KWyVoZWFkZXIlYXV0b3dpZHRoLGNvbHM9ImQs ZCxhIl0KfD09PQp8TmFtZSB8RGVzY3JpcHRpb24gfEZpZWxkIGNsYXNzICh7dmFyLWZ9KSBjb25z dHJhaW50cwoKfGBldmVudC1yZWNvcmQtY2xhc3MtaWRgCnxFdmVudCByZWNvcmQgY2xhc3MgSUQu CgpUaGUgcHVycG9zZSBvZiBhbiBldmVudCByZWNvcmQgY2xhc3MgSUQgZmllbGQgaXMgdG8gc2V0 IHRoZSBjdXJyZW50IElECm9mIHRoZSBjbGFzcyBvZiB0aGUgZXZlbnQgcmVjb3JkIHdpdGhpbiBp dHMgcGFyZW50IDw8ZHNjLWZyYWcsZGF0YQpzdHJlYW0gY2xhc3M+Pi4KfHtjLWZsLXVpbnQtZmN9 IG9yIHt2bC11aW50LWZjfS4KCnxgZGVmYXVsdC1jbG9jay10aW1lc3RhbXBgCnxDdXJyZW50IHRp bWVzdGFtcCBvZiB0aGUgZXZlbnQgcmVjb3JkJ3MgPDxkcyxkYXRhIHN0cmVhbT4+J3MKPDxkZWYt Y2xrLGRlZmF1bHQgY2xvY2s+PiB3aGVuIHRoZSBldmVudCByZWNvcmQgb2NjdXJzLgp8e2MtZmwt dWludC1mY30gb3Ige3ZsLXVpbnQtZmN9Lgp8PT09CgpbW2VyYy1mcmFnXV0KPT09IEV2ZW50IHJl Y29yZCBjbGFzcyBmcmFnbWVudAoKQW4gX2V2ZW50IHJlY29yZCBjbGFzc18gZGVzY3JpYmVzIDw8 ZXIsX2V2ZW50IHJlY29yZHNfPj4uCgpUaGUgPDxkc2MtZnJhZyxkYXRhIHN0cmVhbSBjbGFzcyBm cmFnbWVudD4+IG9mIHdoaWNoIHRoZSBgaWRgIHByb3BlcnR5J3MKdmFsdWUgbWF0Y2hlcyB0aGUg dmFsdWUgb2YgdGhlIGBkYXRhLXN0cmVhbS1jbGFzcy1pZGAgcHJvcGVydHkgb2YgYW4KZXZlbnQg cmVjb3JkIGNsYXNzIGZyYWdtZW50e25ic3B9e3Zhci1mfSBpcyBjb25zaWRlcmVkIHRoZSBfcGFy ZW50XwpvZntuYnNwfXt2YXItZn0uCgouUHJvcGVydGllcyBvZiBhbiBldmVudCByZWNvcmQgY2xh c3MgZnJhZ21lbnQge3Zhci1mfSBoYXZpbmcgdGhlIGRhdGEKc3RyZWFtIGNsYXNze25ic3B9e3Zh ci1wfSBhcyBpdHMgcGFyZW50LgpbJWhlYWRlciVhdXRvd2lkdGgsY29scz0iZCxkLGEsZCxkIl0K fD09PQp8TmFtZSB8VHlwZSB8RGVzY3JpcHRpb24gfFJlcXVpcmVkPyB8RGVmYXVsdAoKfGB0eXBl YAp8SlNPTiBzdHJpbmcKfFR5cGUgb2Z7bmJzcH17dmFyLWZ9LgoKVGhlIHZhbHVlIG9mIHRoaXMg cHJvcGVydHkge211c3R9IGJlIGAiZXZlbnQtcmVjb3JkLWNsYXNzImAuCnxZZXMKfAoKfGBpZGAK fEpTT04gaW50ZWdlcgp8TnVtZXJpYyBJRCBvZntuYnNwfXt2YXItZn0gd2l0aGlue25ic3B9e3Zh ci1wfS4KClRoZSB2YWx1ZSBvZiB0aGlzIHByb3BlcnR5IHttdXN0fSBiZSBncmVhdGVyIHRoYW4g b3IgZXF1YWwgdG8gemVyby4KfE5vCnxgMGAKCnxgZGF0YS1zdHJlYW0tY2xhc3MtaWRgCnxKU09O IGludGVnZXIKfE51bWVyaWMgSUQgb2Z7bmJzcH17dmFyLXB9LgoKVGhlIHZhbHVlIG9mIHRoaXMg cHJvcGVydHkge211c3R9IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB6ZXJvLgoKV2l0aGlu IHRoZSBtZXRhZGF0YSBzdHJlYW0se25ic3B9e3Zhci1wfSB7bXVzdH0gb2NjdXIKYmVmb3Jle25i c3B9e3Zhci1mfS4KfE5vCnxgMGAKCnxgbmFtZWAKfEpTT04gc3RyaW5nCnxOYW1lIG9me25ic3B9 e3Zhci1mfS4KClRoZSBwdXJwb3NlIG9mIHRoaXMgcHJvcGVydHksIGNvbWJpbmVkIHdpdGggdGhl IGBuYW1lc3BhY2VgIHByb3BlcnR5LCBpcwp0byB1bmlxdWVseSBpZGVudGlmeSBhbiBldmVudCBy ZWNvcmQgY2xhc3MgYW1vbmdzdCBtYW55IHByb2R1Y2Vycy4KfE5vCnx7dmFyLWZ9e25ic3B9aXMg dW5uYW1lZAoKfGBuYW1lc3BhY2VgCnxKU09OIHN0cmluZwp8PDxucy1kZWYsTmFtZXNwYWNlPj4g b2Z7bmJzcH17dmFyLWZ9LgoKVGhlIHB1cnBvc2Ugb2YgdGhpcyBwcm9wZXJ0eSwgY29tYmluZWQg d2l0aCB0aGUgYG5hbWVgIHByb3BlcnR5LCBpcyB0bwp1bmlxdWVseSBpZGVudGlmeSBhbiBldmVu dCByZWNvcmQgY2xhc3MgYW1vbmdzdCBtYW55IHByb2R1Y2Vycy4KfE5vCnx7dmFyLWZ9e25ic3B9 aGFzIG5vIG5hbWVzcGFjZQoKfGBzcGVjaWZpYy1jb250ZXh0LWZpZWxkLWNsYXNzYAp8e2Mtc3Ry dWN0LWZjfQp8Q2xhc3Mgb2YgdGhlIDw8ZXItc3BlYy1jdHgsZXZlbnQgcmVjb3JkIHNwZWNpZmlj IGNvbnRleHQgZmllbGQ+PgpvZiBhbiBpbnN0YW5jZSBvZntuYnNwfXt2YXItZn0uCnxObwp8e3Zh ci1mfXtuYnNwfWhhcyBubyBldmVudCByZWNvcmQgc3BlY2lmaWMgY29udGV4dCBmaWVsZCBjbGFz cwoKfGBwYXlsb2FkLWZpZWxkLWNsYXNzYAp8e2Mtc3RydWN0LWZjfQp8Q2xhc3Mgb2YgdGhlIDw8 ZXItcGF5bG9hZCxldmVudCByZWNvcmQgcGF5bG9hZCBmaWVsZD4+IG9mIGFuCmluc3RhbmNlIG9m e25ic3B9e3Zhci1mfS4KfE5vCnx7dmFyLWZ9e25ic3B9aGFzIG5vIGV2ZW50IHJlY29yZCBwYXls b2FkIGZpZWxkIGNsYXNzCgp8YHVzZXItYXR0cmlidXRlc2AKfDw8dXNlci1hdHRycyxVc2VyIGF0 dHJpYnV0ZXM+Pgp8VXNlciBhdHRyaWJ1dGVzIG9me25ic3B9e3Zhci1mfS4KfE5vCnxgK3t9K2AK CnxgZXh0ZW5zaW9uc2AKfDw8ZXh0LEV4dGVuc2lvbnM+Pgp8RXh0ZW5zaW9ucyBvZntuYnNwfXt2 YXItZn0uCgpBbnkgZXh0ZW5zaW9uIHdoaWNoIGV4aXN0cyB1bmRlciB0aGlzIHByb3BlcnR5IG11 c3QgYWxzbyBiZSBkZWNsYXJlZCBpbgp0aGUgbWV0YWRhdGEgc3RyZWFtJ3MgPDxwcmVhbWJsZS1m cmFnLHByZWFtYmxlIGZyYWdtZW50Pj4uCnxObwp8YCt7fStgCnw9PT0KCldpdGhpbiBhIG1ldGFk YXRhIHN0cmVhbSwgdHdvIGdpdmVuIGV2ZW50IHJlY29yZCBjbGFzcyBmcmFnbWVudHMKe211c3Qt bm90fSBzaGFyZSB0aGUgc2FtZSBgaWRgIHByb3BlcnR5IHZhbHVlIF9hbmRfIHRoZSBzYW1lCmBk YXRhLXN0cmVhbS1jbGFzcy1pZGAgcHJvcGVydHkgdmFsdWUuCgpbW2RzLWRlY11dCj09IERhdGEg c3RyZWFtIGRlY29kaW5nIHByb2NlZHVyZQoKVGhpcyBzZWN0aW9uIHNob3dzIGhvdyB0bywgcHJv Y2VkdXJhbGx5LCBfZGVjb2RlXyBhIHtjdGYyfSA8PGRzLGRhdGEKc3RyZWFtPj4uCgpEZWNvZGlu ZyBhIGRhdGEgc3RyZWFtIGlzIHRoZSByZXNwb25zaWJpbGl0eSBvZiBhIGNvbnN1bWVyLgoKVGhp cyBkb2N1bWVudCBkb2Vzbid0IHNwZWNpZnkgaG93IHRvIGVuY29kZSBhIGRhdGEgc3RyZWFtLCBh cyB0aGlzCnByb2NlZHVyZSBpbXBsaWVzIG11Y2ggbW9yZSBmcmVlZG9tIHRoYW4gZGVjb2Rpbmcu IFlvdSBjYW4gZGVkdWNlIGhvdyB0bwplbmNvZGUgYSBkYXRhIHN0cmVhbSBmcm9tIHRoZSBkZWNv ZGluZyBwcm9jZWR1cmUuCgpBIGNvbnN1bWVyIG5lZWRzIHRvIGtlZXAgYSBfZGF0YSBzdHJlYW0g ZGVjb2Rpbmcgc3RhdGVfIHdoaWxlIGRlY29kaW5nIGEKZGF0YSBzdHJlYW0uIEEgZGF0YSBzdHJl YW0gZGVjb2Rpbmcgc3RhdGUgY29tcHJpc2VzIHRoZSBmb2xsb3dpbmcKX3ZhcmlhYmxlXzoKCi5W YXJpYWJsZSBuZWVkZWQgdG8gZGVjb2RlIGEgZGF0YSBzdHJlYW17bmJzcH17dmFyLXN9LgpbJWhl YWRlciVhdXRvd2lkdGhdCnw9PT0KfE5hbWUgfFR5cGUgfERlc2NyaXB0aW9uIHxJbml0aWFsIHZh bHVlCgp8e3Zhci1vfQp8SW50ZWdlcgp8Q3VycmVudCBkZWNvZGluZyBvZmZzZXQvcG9zaXRpb24g KGJpdHMpIGZyb20gdGhlIGJlZ2lubmluZwpvZntuYnNwfXt2YXItc30uCnwwCnw9PT0KClRvIGRl Y29kZSBhIGRhdGEgc3RyZWFtIHt2YXItc306CgoqIFdoaWxlIHRoZXJlJ3MgcmVtYWluaW5nIGRh dGEgaW4ge3Zhci1zfToKKiogPDxwa3QtZGVjLERlY29kZSBvbmUgcGFja2V0Pj4uCgpbW3BrdC1k ZWNdXQo9PT0gUGFja2V0IGRlY29kaW5nIHByb2NlZHVyZQoKQSBjb25zdW1lciBuZWVkcyB0byBr ZWVwIGEgX3BhY2tldCBkZWNvZGluZyBzdGF0ZV8gd2hpbGUgZGVjb2RpbmcgYQo8PHBrdCxwYWNr ZXQ+Pi4gQSBwYWNrZXQgZGVjb2Rpbmcgc3RhdGUgY29tcHJpc2VzIHRoZSBmb2xsb3dpbmcKX3Zh cmlhYmxlc186CgouVmFyaWFibGVzIG5lZWRlZCB0byBkZWNvZGUgYSBwYWNrZXR7bmJzcH17dmFy LXB9IHdpdGhpbiBhIGRhdGEKc3RyZWFte25ic3B9e3Zhci1zfS4KWyVoZWFkZXIlYXV0b3dpZHRo XQp8PT09CnxOYW1lIHxUeXBlIHxEZXNjcmlwdGlvbiB8SW5pdGlhbCB2YWx1ZQoKfF8qKkRFRl9D TEtfVkFMKipfCnxJbnRlZ2VyCnxDdXJyZW50IHZhbHVlIChjbG9jayBjeWNsZXMpIG9mIHRoZSA8 PGRlZi1jbGssZGVmYXVsdApjbG9jaz4+IG9me25ic3B9e3Zhci1zfSwgaWYgYW55Lgp8MAoKfF8q KkRTQ19JRCoqXwp8SW50ZWdlcgp8Q3VycmVudCBJRCBvZiB0aGUgPDxkc2MtZnJhZyxjbGFzcz4+ IG9me25ic3B9e3Zhci1zfS4KfDAKCnxfKipEU0MqKl8KfDw8ZHNjLWZyYWcsRGF0YSBzdHJlYW0g Y2xhc3M+Pgp8Q3VycmVudCBjbGFzcyBvZntuYnNwfXt2YXItc30uCnxOb25lCgp8XyoqRFNfSUQq Kl8KfEludGVnZXIKfEN1cnJlbnQgSUQgb2Z7bmJzcH17dmFyLXN9Lgp8Tm9uZQoKfF8qKlBLVF9U T1RBTF9TWioqXwp8SW50ZWdlcgp8Q3VycmVudCB0b3RhbCBzaXplIChiaXRzKSBvZntuYnNwfXt2 YXItcH0uCnziiJ4KCnxfKipQS1RfQ09OVEVOVF9TWioqXwp8SW50ZWdlcgp8Q3VycmVudCBjb250 ZW50IHNpemUgKGJpdHMpIG9me25ic3B9e3Zhci1wfS4KfOKIngoKfF8qKkxBU1RfQk8qKl8KfFN0 cmluZwp8Qnl0ZSBvcmRlciBvZiB0aGUgbGFzdCA8PGZsLWJhLWZpZWxkLWRlYyxkZWNvZGVkIHtm bC1iYX0gZmllbGQ+Pi4KfE5vbmUKfD09PQoKVG8gZGVjb2RlIGEgcGFja2V0IHt2YXItcH0gd2l0 aGluIGEgZGF0YSBzdHJlYW0ge3Zhci1zfToKCi4gTGV0IHt2YXItcG99IGJlIHRoZSBjdXJyZW50 IHZhbHVlIG9mIHt2YXItb30uCgouIElmIHRoZSBtZXRhZGF0YSBzdHJlYW0ncyA8PHRjLWZyYWcs dHJhY2UgY2xhc3MgZnJhZ21lbnQ+PidzCiAgYHBhY2tldC1oZWFkZXItZmllbGQtY2xhc3NgIHBy b3BlcnR5IGV4aXN0cywgdGhlbgogIDw8c3RydWN0LWZpZWxkLWRlYyxkZWNvZGU+PiB0aGUgPDxw a3QtaGVhZGVyLGhlYWRlciBmaWVsZD4+CiAgb2Z7bmJzcH17dmFyLXB9IHVzaW5nIHRoaXMgcHJv cGVydHkuCisKRHVyaW5nIHRoZSBwYWNrZXQgaGVhZGVyIGZpZWxkIGRlY29kaW5nIHByb2NlZHVy ZSwgYWZ0ZXIgaGF2aW5nIGRlY29kZWQgYQpmaWVsZHtuYnNwfXt2YXItZn0gaGF2aW5nIHRoZSBj bGFzc3tuYnNwfV9fKipDKipfXyB3aXRoIGEgYHJvbGVzYApwcm9wZXJ0eToKKwoqKiBJZiBfKipD KipfIGhhcyB0aGUgcm9sZSBgcGFja2V0LW1hZ2ljLW51bWJlcmAsIHRoZW4gdmFsaWRhdGUgdGhh dCB0aGUKICAgaW50ZWdlciB2YWx1ZSBvZntuYnNwfXt2YXItZn0gaXMgMHhjMWZjMWZjMSAoMzI1 NDUyNTg4OSkuCioqIElmIF8qKkMqKl8gaGFzIHRoZSByb2xlIGB0cmFjZS10eXBlLXV1aWRgLCB0 aGVuIHZhbGlkYXRlIHRoYXQgdGhlCiAgIHZhbHVlIG9me25ic3B9e3Zhci1mfSBtYXRjaGVzIHRo ZSBgdXVpZGAgcHJvcGVydHkgb2YgdGhlIHRyYWNlCiAgIGNsYXNzIGZyYWdtZW50LgoqKiBJZiBf KipDKipfIGhhcyB0aGUgcm9sZSBgZGF0YS1zdHJlYW0tY2xhc3MtaWRgLCB0aGVuCiAgIHNldHtu YnNwfV9fKipEU0NfSUQqKl9fIHRvIHRoZSBpbnRlZ2VyIHZhbHVlIG9me25ic3B9e3Zhci1mfS4K KiogSWYgXyoqQyoqXyBoYXMgdGhlIHJvbGUgYGRhdGEtc3RyZWFtLWlkYCwgdGhlbgogICBzZXR7 bmJzcH1fXyoqRFNfSUQqKl9fIHRvIHRoZSBpbnRlZ2VyIHZhbHVlIG9me25ic3B9e3Zhci1mfS4K CisKQWZ0ZXIgaGF2aW5nIGRlY29kZWQgdGhlIHdob2xlIHBhY2tldCBoZWFkZXIgZmllbGQsIGlm IF9fKipEU19JRCoqX18KaXMgc2V0LCBpdCBjb250YWlucyB0aGUgSUQgb2Z7bmJzcH17dmFyLXN9 IHdpdGhpbiBpdHMKPDxkc2MtZnJhZyxjbGFzcz4+LiBJbiBvdGhlciB3b3JkcywgdHdvIGRhdGEg c3RyZWFtcyB7bWF5fSBoYXZlIHRoZSBzYW1lCklEIGlmIHRoZXkgYXJlIGluc3RhbmNlcyBvZiBk aWZmZXJlbnQgZGF0YSBzdHJlYW0gY2xhc3Nlcy4KCi4gU2V0IF8qKkRTQyoqXyB0byB0aGUgPDxk c2MtZnJhZyxkYXRhIHN0cmVhbSBjbGFzcz4+CiAgaGF2aW5ne25ic3B9X18qKkRTQ19JRCoqX18g YXMgdGhlIHZhbHVlIG9mIGl0cyBgaWRgIHByb3BlcnR5LgoKLiBJZiB0aGUgYHBhY2tldC1jb250 ZXh0LWZpZWxkLWNsYXNzYCBwcm9wZXJ0eSBvZntuYnNwfV9fKipEU0MqKl9fCiAgZXhpc3RzLCB0 aGVuIDw8c3RydWN0LWZpZWxkLWRlYyxkZWNvZGU+PiB0aGUgPDxwa3QtY3R4LGNvbnRleHQgZmll bGQ+PgogIG9me25ic3B9e3Zhci1wfSB1c2luZyB0aGlzIHByb3BlcnR5LgorCkR1cmluZyB0aGUg cGFja2V0IGNvbnRleHQgZmllbGQgZGVjb2RpbmcgcHJvY2VkdXJlLCBhZnRlciBoYXZpbmcgZGVj b2RlZCBhCmZpZWxke25ic3B9e3Zhci1mfSBoYXZpbmcgdGhlIGNsYXNze25ic3B9X18qKkMqKl9f IHdpdGggYSBgcm9sZXNgCnByb3BlcnR5OgorCioqIElmIF8qKkMqKl8gaGFzIHRoZSByb2xlIGBw YWNrZXQtdG90YWwtc2l6ZWAsIHRoZW4KICAgc2V0e25ic3B9X18qKlBLVF9UT1RBTF9TWioqX18g dG8gdGhlIGludGVnZXIgdmFsdWUKICAgb2Z7bmJzcH17dmFyLWZ9LgoqKiBJZiBfKipDKipfIGhh cyB0aGUgcm9sZSBgcGFja2V0LWNvbnRlbnQtc2l6ZWAsIHRoZW4KICAgc2V0e25ic3B9X18qKlBL VF9DT05URU5UX1NaKipfXyB0byB0aGUgaW50ZWdlciB2YWx1ZQogICBvZntuYnNwfXt2YXItZn0u CioqIElmIF8qKkMqKl8gaGFzIHRoZSByb2xlIGBwYWNrZXQtYmVnaW5uaW5nLWRlZmF1bHQtY2xv Y2stdGltZXN0YW1wYCwgdGhlbgogICBzZXR7bmJzcH1fXyoqREVGX0NMS19WQUwqKl9fIHRvIHRo ZSBpbnRlZ2VyIHZhbHVlCiAgIG9me25ic3B9e3Zhci1mfS4KKiogSWYgXyoqQyoqXyBoYXMgdGhl IHJvbGUgYHBhY2tldC1lbmQtZGVmYXVsdC1jbG9jay10aW1lc3RhbXBgLCB0aGVuCiAgIHRoZSBp bnRlZ2VyIHZhbHVlIG9me25ic3B9e3Zhci1mfSBpcyB0aGUgdmFsdWUgb2YgdGhlCiAgIDw8ZGVm LWNsayxkZWZhdWx0IGNsb2NrPj4gb2Z7bmJzcH17dmFyLXN9IGF0IHRoZSBlbmQKICAgb2Z7bmJz cH17dmFyLXB9LgoqKiBJZiBfKipDKipfIGhhcyB0aGUgcm9sZSBgZGlzY2FyZGVkLWV2ZW50LXJl Y29yZC1jb3VudGVyLXNuYXBzaG90YCwKICAgdGhlbiB0aGUgaW50ZWdlciB2YWx1ZSBvZntuYnNw fXt2YXItZn0gaXMgYSBzbmFwc2hvdCBvZiB0aGUKICAgPDxkaXNjLWVyLWNvdW50ZXIsZGlzY2Fy ZGVkIGV2ZW50IHJlY29yZCBjb3VudGVyPj4KICAgb2Z7bmJzcH17dmFyLXN9IGF0IHRoZSBlbmQg b2Z7bmJzcH17dmFyLXB9LgoqKiBJZiBfKipDKipfIGhhcyB0aGUgcm9sZSBgcGFja2V0LXNlcXVl bmNlLW51bWJlcmAsIHRoZW4KICAgdGhlIGludGVnZXIgdmFsdWUgb2Z7bmJzcH17dmFyLWZ9IGlz IHRoZSBzZXF1ZW5jZSBudW1iZXIKICAgb2Z7bmJzcH17dmFyLXB9IHdpdGhpbntuYnNwfXt2YXIt c30uCgouIElmIF9fKipQS1RfVE9UQUxfU1oqKl9fIGlze25ic3B94oieIGFuZAogIF9fKipQS1Rf Q09OVEVOVF9TWioqX18gaXMgX19ub3RfX3tuYnNwfeKIniwKICB0aGVuIHNldHtuYnNwfV9fKipQ S1RfVE9UQUxfU1oqKl9fCiAgdG97bmJzcH1fXyoqUEtUX0NPTlRFTlRfU1oqKl9fLgoKLiBJZiBf XyoqUEtUX0NPTlRFTlRfU1oqKl9fIGlze25ic3B94oieIGFuZAogIF9fKipQS1RfVE9UQUxfU1oq Kl9fIGlzIF9fbm90X197bmJzcH3iiJ4sCiAgdGhlbiBzZXR7bmJzcH1fXyoqUEtUX0NPTlRFTlRf U1oqKl9fCiAgdG97bmJzcH1fXyoqUEtUX1RPVEFMX1NaKipfXy4KCi4gV2hpbGUge3Zhci1vfXtu YnNwfTx7bmJzcH17dmFyLXBvfXtuYnNwfXBhc3M6Wytde25ic3B9X18qKlBLVF9DT05URU5UX1Na KipfXwogIGFuZCB0aGVyZSdzIHJlbWFpbmluZyBkYXRhIGlue25ic3B9e3Zhci1zfToKKiogPDxl ci1kZWMsRGVjb2RlIGFuIGV2ZW50IHJlY29yZD4+LgoKLiBJZiBfXyoqUEtUX1RPVEFMX1NaKipf XwogIGFuZHtuYnNwfV9fKipQS1RfQ09OVEVOVF9TWioqX18gYm90aCBhcmUgX19ub3RfX3tuYnNw feKIniwgdGhlbgogIHNldCB7dmFyLW99IHRvIHt2YXItcG99e25ic3B9cGFzczpbK117bmJzcH1f XyoqUEtUX1RPVEFMX1NaKipfXywKICBlZmZlY3RpdmVseSBza2lwcGluZyBlbmQtb2YtcGFja2V0 IHBhZGRpbmcuCgpbW2VyLWRlY11dCj09PSBFdmVudCByZWNvcmQgZGVjb2RpbmcgcHJvY2VkdXJl CgpBIGNvbnN1bWVyIG5lZWRzIHRvIGtlZXAgYW4gX2V2ZW50IHJlY29yZCBkZWNvZGluZyBzdGF0 ZV8gd2hpbGUgZGVjb2RpbmcKYW4gPDxlcixldmVudCByZWNvcmQ+Pi4gQW4gZXZlbnQgcmVjb3Jk IGRlY29kaW5nIHN0YXRlIGNvbXByaXNlcyB0aGUKZm9sbG93aW5nIF92YXJpYWJsZXNfOgoKLlZh cmlhYmxlcyBuZWVkZWQgdG8gZGVjb2RlIGFuIGV2ZW50IHJlY29yZHtuYnNwfV9fKipFKipfXyB3 aXRoaW4gYQpkYXRhIHN0cmVhbXtuYnNwfXt2YXItc30uClslaGVhZGVyJWF1dG93aWR0aF0KfD09 PQp8TmFtZSB8VHlwZSB8RGVzY3JpcHRpb24gfEluaXRpYWwgdmFsdWUKCnxfKipFUkNfSUQqKl8K fEludGVnZXIKfEN1cnJlbnQgSUQgb2YgdGhlIDw8ZXJjLWZyYWcsY2xhc3M+PiBvZntuYnNwfV9f KipFKipfXyBvZiB3aGljaCB0aGUKcGFyZW50IGlzIHRoZSA8PGRzYy1mcmFnLGNsYXNzPj4gb2Z7 bmJzcH17dmFyLXN9Lgp8MAoKfF8qKkVSQyoqXwp8PDxlcmMtZnJhZyxFdmVudCByZWNvcmQgY2xh c3M+Pgp8Q3VycmVudCBjbGFzcyBvZntuYnNwfV9fKipFKipfXy4KfE5vbmUKfD09PQoKVG8gZGVj b2RlIGFuIGV2ZW50IHJlY29yZCBfKipFKipfIHdpdGhpbiBhIGRhdGEgc3RyZWFtIHt2YXItc306 CgouIElmIHRoZSBgZXZlbnQtcmVjb3JkLWhlYWRlci1maWVsZC1jbGFzc2AgcHJvcGVydHkgb2Z7 bmJzcH1fXyoqRFNDKipfXwogIGV4aXN0cywgdGhlbiA8PHN0cnVjdC1maWVsZC1kZWMsZGVjb2Rl Pj4gdGhlIDw8ZXItaGVhZGVyLGhlYWRlcgogIGZpZWxkPj4gb2Z7bmJzcH1fXyoqRSoqX18gdXNp bmcgdGhpcyBwcm9wZXJ0eS4KKwpEdXJpbmcgdGhlIGV2ZW50IHJlY29yZCBoZWFkZXIgZmllbGQg ZGVjb2RpbmcgcHJvY2VkdXJlLCBhZnRlciBoYXZpbmcKZGVjb2RlZCBhIGZpZWxke25ic3B9e3Zh ci1mfSBoYXZpbmcgdGhlIGNsYXNze25ic3B9X18qKkMqKl9fIHdpdGggYQpgcm9sZXNgIHByb3Bl cnR5OgorCioqIElmIF8qKkMqKl8gaGFzIHRoZSByb2xlIGBldmVudC1yZWNvcmQtY2xhc3MtaWRg LCB0aGVuCiAgIHNldHtuYnNwfV9fKipFUkNfSUQqKl9fIHRvIHRoZSBpbnRlZ2VyIHZhbHVlIG9m e25ic3B9e3Zhci1mfS4KKiogSWYgXyoqQyoqXyBoYXMgdGhlIHJvbGUgYGRlZmF1bHQtY2xvY2st dGltZXN0YW1wYCwgdGhlbgogICB1cGRhdGV7bmJzcH1fXyoqREVGX0NMS19WQUwqKl9fIGFjY29y ZGluZyB0bwogICBDb21tb24gVHJhY2UgRm9ybWF0e25ic3B9MS44LjMse25ic3B9wqc4LgorCk5P VEU6IFRoaXMgcHJvcG9zYWwgcmVmZXJzIHRvIHtjdGYxfSB0byByZW1haW4gYnJpZWY7IHRoZSB7 Y3RmMn0Kc3BlY2lmaWNhdGlvbiB3aWxsIHNob3cgdGhlIGNvbXBsZXRlIGNsb2NrIHZhbHVlIHVw ZGF0aW5nIHByb2NlZHVyZS4KCisKQWZ0ZXIgaGF2aW5nIGRlY29kZWQgdGhlIHdob2xlIGV2ZW50 IHJlY29yZCBoZWFkZXIgZmllbGQsCl9fKipERUZfQ0xLX1ZBTCoqX18gaXMgdGhlIHZhbHVlIG9m e25ic3B9e3Zhci1zfSdzCjw8ZGVmLWNsayxkZWZhdWx0IGNsb2NrPj4gd2hlbntuYnNwfV9fKipF KipfXyBvY2N1cnMuCgouIFNldCBfKipFUkMqKl8gdG8gdGhlIDw8ZXJjLWZyYWcsZXZlbnQgcmVj b3JkIGNsYXNzPj4KICBoYXZpbmc6CioqIF9fKipEU0NfSUQqKl9fIGFzIHRoZSB2YWx1ZSBvZiBp dHMgYGRhdGEtc3RyZWFtLWNsYXNzLWlkYAogICBwcm9wZXJ0eS4KKiogX18qKkVSQ19JRCoqX18g YXMgdGhlIHZhbHVlIG9mIGl0cyBgaWRgIHByb3BlcnR5LgoKLiBJZiB0aGUgYGV2ZW50LXJlY29y ZC1jb21tb24tY29udGV4dC1maWVsZC1jbGFzc2AgcHJvcGVydHkKICBvZntuYnNwfV9fKipEU0Mq Kl9fIGV4aXN0cywgdGhlbiA8PHN0cnVjdC1maWVsZC1kZWMsZGVjb2RlPj4gdGhlCiAgPDxlci1j b21tb24tY3R4LGNvbW1vbiBjb250ZXh0IGZpZWxkPj4gb2Z7bmJzcH1fXyoqRSoqX18gdXNpbmcg dGhpcwogIHByb3BlcnR5LgoKLiBJZiB0aGUgYHNwZWNpZmljLWNvbnRleHQtZmllbGQtY2xhc3Ng IHByb3BlcnR5IG9me25ic3B9X18qKkVSQyoqX18KICBleGlzdHMsIHRoZW4gPDxzdHJ1Y3QtZmll bGQtZGVjLGRlY29kZT4+IHRoZQogIDw8ZXItc3BlYy1jdHgsc3BlY2lmaWMgY29udGV4dCBmaWVs ZD4+IG9me25ic3B9X18qKkUqKl9fCiAgdXNpbmcgdGhpcyBwcm9wZXJ0eS4KCi4gSWYgdGhlIGBw YXlsb2FkLWZpZWxkLWNsYXNzYCBwcm9wZXJ0eSBvZntuYnNwfV9fKipFUkMqKl9fIGV4aXN0cywg dGhlbgogIDw8c3RydWN0LWZpZWxkLWRlYyxkZWNvZGU+PiB0aGUgPDxlci1wYXlsb2FkLHBheWxv YWQgZmllbGQ+PgogIG9me25ic3B9X18qKkUqKl9fIHVzaW5nIHRoaXMgcHJvcGVydHkuCgpbW2Zp ZWxkLWRlY11dCj09PSBGaWVsZCBkZWNvZGluZyBwcm9jZWR1cmUKClRoZSA8PGZjLGNsYXNzPj4g b2YgYSBmaWVsZCBjb250YWlucyB3aGF0J3MgbmVlZGVkIHRvIGRlY29kZSBpdAphcyBhIF92YWx1 ZV8uCgpXaGlsZSBhIGZpZWxkIGlzIGFuIGFjdHVhbCBzZXF1ZW5jZSBvZiBiaXRzIHdpdGhpbiBh IDw8ZHMsZGF0YSBzdHJlYW0+PiwKYSB2YWx1ZSBpcyBpdHMgY29uY2VwdHVhbCBpbnRlcnByZXRh dGlvbiB3aXRoIGF0dGFjaGVkIHNlbWFudGljcy4KClRoZSB0eXBlcyBvZiB2YWx1ZXMgYXJlOgoK WyVoZWFkZXIlYXV0b3dpZHRoLGNvbHM9ImEsYSJdCnw9PT0KfFZhbHVlIHR5cGUgfFBvc3NpYmxl IHZhbHVlcwoKfEJvb2xlYW4KfF9UcnVlXyBvciBfZmFsc2VfLgoKfEludGVnZXIKfEludGVncmFs IHF1YW50aXR5LgoKfFJlYWwKfENvbnRpbnVvdXMgcXVhbnRpdHkuCgp8U3RyaW5nCnxTZXF1ZW5j ZSBvZiBodHRwczovL2hvbWUudW5pY29kZS5vcmcvW1VuaWNvZGVdIGNoYXJhY3RlcnMuCgp8QXJy YXkKfFNlcXVlbmNlIG9mIHZhbHVlcyBoYXZpbmcgdGhlIHNhbWUgdHlwZS4KCnxTdHJ1Y3R1cmUK fFNlcXVlbmNlIG9mIG5hbWVkIHZhbHVlcyAobWVtYmVycykgd2hpY2gge21heX0gaGF2ZSBkaWZm ZXJlbnQgdHlwZXMuCnw9PT0KClRvIGRlY29kZSBhbiBpbnN0YW5jZSBvZiBhIGZpZWxkIGNsYXNz e25ic3B9e3Zhci1mfSwgZGVwZW5kaW5nIG9uIHRoZQp2YWx1ZSBvZiBpdHMgYHR5cGVgIHByb3Bl cnR5OgoKWyVoZWFkZXIlYXV0b3dpZHRoLGNvbHM9ImEsYSJdCnw9PT0KfFZhbHVlIG9me25ic3B9 e3Zhci1mfSdzIGB0eXBlYCBwcm9wZXJ0eSB8e3Zhci1mfSdzIGRlY29kaW5nIHByb2NlZHVyZQoK fDw8ZmwtYmEtZmMsYCJmaXhlZC1sZW5ndGgtYml0LWFycmF5ImA+Pgp8PDxmbC1iYS1maWVsZC1k ZWMsRGVjb2RlIGEge2ZsLWJhfSBmaWVsZD4+LgoKfDw8ZmwtYm9vbC1mYyxgImZpeGVkLWxlbmd0 aC1ib29sZWFuImA+Pgp8PDxmbC1ib29sLWZpZWxkLWRlYyxEZWNvZGUgYSB7ZmwtYm9vbH0gZmll bGQ+Pi4KCnwKKiA8PGZsLWludC1mYyxgImZpeGVkLWxlbmd0aC11bnNpZ25lZC1pbnRlZ2VyImA+ PgoqIDw8ZmwtZW51bS1mYyxgImZpeGVkLWxlbmd0aC11bnNpZ25lZC1lbnVtZXJhdGlvbiJgPj4K fDw8ZmwtdWludC1maWVsZC1kZWMsRGVjb2RlIGEge2ZsLXVpbnR9IGZpZWxkPj4uCgp8CiogPDxm bC1pbnQtZmMsYCJmaXhlZC1sZW5ndGgtc2lnbmVkLWludGVnZXIiYD4+CiogPDxmbC1lbnVtLWZj LGAiZml4ZWQtbGVuZ3RoLXNpZ25lZC1lbnVtZXJhdGlvbiJgPj4KfDw8Zmwtc2ludC1maWVsZC1k ZWMsRGVjb2RlIGEge2ZsLXNpbnR9IGZpZWxkPj4uCgp8PDxmbC1mcC1mYyxgImZpeGVkLWxlbmd0 aC1mbG9hdGluZy1wb2ludC1udW1iZXIiYD4+Cnw8PGZsLWZwLWZpZWxkLWRlYyxEZWNvZGUgYSB7 ZmwtZnB9IGZpZWxkPj4uCgp8PDx2bC1iYS1mYyxgInZhcmlhYmxlLWxlbmd0aC1iaXQtYXJyYXki YD4+Cnw8PHZsLWJhLWZpZWxkLWRlYyxEZWNvZGUgYSB7dmwtYmF9IGZpZWxkPj4uCgp8CiogPDx2 bC1pbnQtZmMsYCJ2YXJpYWJsZS1sZW5ndGgtdW5zaWduZWQtaW50ZWdlciJgPj4KKiA8PHZsLWVu dW0tZmMsYCJ2YXJpYWJsZS1sZW5ndGgtdW5zaWduZWQtZW51bWVyYXRpb24iYD4+Cnw8PHZsLXVp bnQtZmllbGQtZGVjLERlY29kZSBhIHt2bC11aW50fSBmaWVsZD4+LgoKfAoqIDw8dmwtaW50LWZj LGAidmFyaWFibGUtbGVuZ3RoLXNpZ25lZC1pbnRlZ2VyImA+PgoqIDw8dmwtZW51bS1mYyxgInZh cmlhYmxlLWxlbmd0aC1zaWduZWQtZW51bWVyYXRpb24iYD4+Cnw8PHZsLXNpbnQtZmllbGQtZGVj LERlY29kZSBhIHt2bC1zaW50fT4+LgoKfDw8c3RyLWZjLGAibnVsbC10ZXJtaW5hdGVkLXN0cmlu ZyJgPj4KfDw8c3RyLWZpZWxkLWRlYyxEZWNvZGUgYSB7c3RyfSBmaWVsZD4+LgoKfDw8c2wtc3Ry LWZjLGAic3RhdGljLWxlbmd0aC1zdHJpbmciYD4+Cnw8PHNsLXN0ci1maWVsZC1kZWMsRGVjb2Rl IGEge3NsLXN0cn0gZmllbGQ+Pi4KCnw8PHNsLWJsb2ItZmMsYCJzdGF0aWMtbGVuZ3RoLWJsb2Ii YD4+Cnw8PHNsLWJsb2ItZmllbGQtZGVjLERlY29kZSBhIHtzbC1ibG9ifSBmaWVsZD4+LgoKfDw8 ZGwtc3RyLWZjLGAiZHluYW1pYy1sZW5ndGgtc3RyaW5nImA+Pgp8PDxkbC1zdHItZmllbGQtZGVj LERlY29kZSBhIHtkbC1zdHJ9IGZpZWxkPj4uCgp8PDxkbC1ibG9iLWZjLGAiZHluYW1pYy1sZW5n dGgtYmxvYiJgPj4KfDw8ZGwtYmxvYi1maWVsZC1kZWMsRGVjb2RlIGEge2RsLWJsb2J9IGZpZWxk Pj4uCgp8PDxzdHJ1Y3QtZmMsYCJzdHJ1Y3R1cmUiYD4+Cnw8PHN0cnVjdC1maWVsZC1kZWMsRGVj b2RlIGEgc3RydWN0dXJlIGZpZWxkPj4uCgp8PDxzbC1hcnJheS1mYyxgInN0YXRpYy1sZW5ndGgt YXJyYXkiYD4+Cnw8PHNsLWFycmF5LWZpZWxkLWRlYyxEZWNvZGUgYSB7c2wtYXJyYXl9IGZpZWxk Pj4uCgp8PDxkbC1hcnJheS1mYyxgImR5bmFtaWMtbGVuZ3RoLWFycmF5ImA+Pgp8PDxkbC1hcnJh eS1maWVsZC1kZWMsRGVjb2RlIGEge2RsLWFycmF5fSBmaWVsZD4+LgoKfDw8b3B0LWZjLGAib3B0 aW9uYWwiYD4+Cnw8PG9wdC1maWVsZC1kZWMsRGVjb2RlIGFuIG9wdGlvbmFsIGZpZWxkPj4uCgp8 PDx2YXItZmMsYCJ2YXJpYW50ImA+Pgp8PDx2YXItZmllbGQtZGVjLERlY29kZSBhIHZhcmlhbnQg ZmllbGQ+Pi4KfD09PQoKW1thbGlnbi1kZWNdXQo9PT09IEFsaWdubWVudCBwcm9jZWR1cmUKClRo ZSBkZWNvZGluZyBwcm9jZWR1cmUgb2YgbWFueSBmaWVsZHMgcmVxdWlyZQp7dmFyLW8tbWludXMt cG99IHRvIGhhdmUgYSBzcGVjaWZpYyBfYWxpZ25tZW50Xy4KClRoZSBhbGlnbm1lbnQgcmVxdWly ZW1lbnQgb2YgYW4gaW5zdGFuY2Ugb2YgYSA8PGZjLGZpZWxkCmNsYXNzPj57bmJzcH17dmFyLWZ9 IGlzLCBkZXBlbmRpbmcgb24gdGhlIHZhbHVlIG9mIGl0cyBgdHlwZWAgcHJvcGVydHk6CgpbJWhl YWRlcixjb2xzPSJhLGEiXQp8PT09Cnx7dmFyLWZ9J3MgYHR5cGVgIHByb3BlcnR5IHx7dmFyLWZ9 J3MgYWxpZ25tZW50IHJlcXVpcmVtZW50Cgp8CiogPDxmbC1iYS1mYyxgImZpeGVkLWxlbmd0aC1i aXQtYXJyYXkiYD4+CiogPDxmbC1ib29sLWZjLGAiZml4ZWQtbGVuZ3RoLWJvb2xlYW4iYD4+Ciog PDxmbC1pbnQtZmMsYCJmaXhlZC1sZW5ndGgtdW5zaWduZWQtaW50ZWdlciJgPj4KKiA8PGZsLWlu dC1mYyxgImZpeGVkLWxlbmd0aC1zaWduZWQtaW50ZWdlciJgPj4KKiA8PGZsLWVudW0tZmMsYCJm aXhlZC1sZW5ndGgtdW5zaWduZWQtZW51bWVyYXRpb24iYD4+CiogPDxmbC1lbnVtLWZjLGAiZml4 ZWQtbGVuZ3RoLXNpZ25lZC1lbnVtZXJhdGlvbiJgPj4KKiA8PGZsLWZwLWZjLGAiZml4ZWQtbGVu Z3RoLWZsb2F0aW5nLXBvaW50LW51bWJlciJgPj4KfFRoZSB2YWx1ZSBvZiB7dmFyLWZ9J3MgYGFs aWdubWVudGAgcHJvcGVydHkuCgp8CiogPDx2bC1iYS1mYyxgInZhcmlhYmxlLWxlbmd0aC1iaXQt YXJyYXkiYD4+CiogPDx2bC1pbnQtZmMsYCJ2YXJpYWJsZS1sZW5ndGgtdW5zaWduZWQtaW50ZWdl ciJgPj4KKiA8PHZsLWludC1mYyxgInZhcmlhYmxlLWxlbmd0aC1zaWduZWQtaW50ZWdlciJgPj4K KiA8PHZsLWVudW0tZmMsYCJ2YXJpYWJsZS1sZW5ndGgtdW5zaWduZWQtZW51bWVyYXRpb24iYD4+ CiogPDx2bC1lbnVtLWZjLGAidmFyaWFibGUtbGVuZ3RoLXNpZ25lZC1lbnVtZXJhdGlvbiJgPj4K KiA8PHN0ci1mYyxgIm51bGwtdGVybWluYXRlZC1zdHJpbmciYD4+CiogPDxzbC1zdHItZmMsYCJz dGF0aWMtbGVuZ3RoLXN0cmluZyJgPj4KKiA8PHNsLWJsb2ItZmMsYCJzdGF0aWMtbGVuZ3RoLWJs b2IiYD4+CiogPDxkbC1zdHItZmMsYCJkeW5hbWljLWxlbmd0aC1zdHJpbmciYD4+CiogPDxkbC1i bG9iLWZjLGAiZHluYW1pYy1sZW5ndGgtYmxvYiJgPj4KfDgKCnw8PHN0cnVjdC1mYyxgInN0cnVj dHVyZSJgPj4KfFRoZSBfbWF4aW11bV8gdmFsdWUgb2Y6CgoqIFRoZSB2YWx1ZSBvZntuYnNwfXt2 YXItZn0ncyBgbWluaW11bS1hbGlnbm1lbnRgIHByb3BlcnR5LgoKKiBUaGUgYWxpZ25tZW50IHJl cXVpcmVtZW50cyBvZiB0aGUgaW5zdGFuY2VzIG9mIHRoZSBgZmllbGQtY2xhc3NgCiAgcHJvcGVy dHkgb2YgZWFjaCA8PHN0cnVjdC1tZW1iZXItY2xzLG1lbWJlciBjbGFzcz4+IG9me25ic3B9e3Zh ci1mfSdzCiAgYG1lbWJlcnNgIHByb3BlcnR5LgoKfAoqIDw8c2wtYXJyYXktZmMsYCJzdGF0aWMt bGVuZ3RoLWFycmF5ImA+PgoqIDw8ZGwtYXJyYXktZmMsYCJkeW5hbWljLWxlbmd0aC1hcnJheSJg Pj4KfFRoZSBhbGlnbm1lbnQgcmVxdWlyZW1lbnQgb2YgYW4gaW5zdGFuY2Ugb2Z7bmJzcH17dmFy LWZ9J3MKYGVsZW1lbnQtZmllbGQtY2xhc3NgIHByb3BlcnR5Cgp8CiogPDxvcHQtZmMsYCJvcHRp b25hbCJgPj4KKiA8PHZhci1mYyxgInZhcmlhbnQiYD4+CnwxCnw9PT0KClRvIGFsaWduIHt2YXIt by1taW51cy1wb30gdG8gc29tZSBhbGlnbm1lbnQKcmVxdWlyZW1lbnR7bmJzcH1fXyoqQSoqX18g KGJpdHMpOgoKKiBTZXQge3Zhci1vfSB0bwogIHt2YXItcG99e25ic3B9cGFzczpbK117bmJzcH0o KHt2YXItby1taW51cy1wb317bmJzcH1wYXNzOlsrXXtuYnNwfV9fKipBKipfX3tuYnNwfXttaW51 c317bmJzcH0xKXtuYnNwfSZ7bmJzcH17bWludXN9X18qKkEqKl9fKSwKICB3aGVyZSBfXyZfXyBp cyB0aGUgYml0d2lzZSBfQU5EXyBvcGVyYXRvci4KCltbZmwtYmEtZmllbGQtZGVjXV0KPT09PSB7 Yy1mbC1iYX0gZmllbGQgZGVjb2RpbmcgcHJvY2VkdXJlCgpUbyBkZWNvZGUgYW4gaW5zdGFuY2Ug b2YgYSB7ZmwtYmEtZmN9e25ic3B9e3Zhci1mfToKCi4gTGV0OgoqKiBfKipCTyoqXyBiZSB0aGUg dmFsdWUgb2Yge3Zhci1mfSdzIGBieXRlLW9yZGVyYCBwcm9wZXJ0eS4KKiogXyoqTCoqXyBiZSB0 aGUgdmFsdWUgb2Yge3Zhci1mfSdzIGBsZW5ndGhgIHByb3BlcnR5LgoqKiB7dmFyLXZ9IGJlIGFu IGFycmF5IG9mIGJvb2xlYW5zIG9mIGxlbmd0aHtuYnNwfV9fKipMKipfXy4KCi4gPDxhbGlnbi1k ZWMsQWxpZ24ge3Zhci1vLW1pbnVzLXBvfT4+IGFjY29yZGluZwogIHRve25ic3B9e3Zhci1mfS4K Ci4gSWYgKCh7dmFyLW8tbWludXMtcG99KXtuYnNwfW1vZHtuYnNwfTh7bmJzcH17bm90ZXF9e25i c3B9MCkKICBhbmQgX18qKkxBU1RfQk8qKl9fe25ic3B9e25vdGVxfXtuYnNwfV9fKipCTyoqX18s IHRoZW4gZmFpbCBpbW1lZGlhdGVseS4KCi4gUmVhZCBfXyoqTCoqX197bmJzcH1iaXRzIG9mIGRh dGEgZnJvbXtuYnNwfXt2YXItc30gYXQgdGhlCiAgb2Zmc2V0e25ic3B9e3Zhci1vfSBmb2xsb3dp bmcgQ29tbW9uIFRyYWNlIEZvcm1hdHtuYnNwfTEuOC4zLAogIMKnNC4xLjUsIGFzIGJvb2xlYW5z IHdpdGhpbntuYnNwfXt2YXItdn0uCisKTk9URTogVGhpcyBwcm9wb3NhbCByZWZlcnMgdG8ge2N0 ZjF9IHRvIHJlbWFpbiBicmllZjsgdGhlIHtjdGYyfQpzcGVjaWZpY2F0aW9uIHdpbGwgc2hvdyB0 aGUgY29tcGxldGUgZGVjb2RpbmcgcHJvY2VkdXJlcyBmb3IgYmlnLWVuZGlhbgphbmQgbGl0dGxl LWVuZGlhbiB7ZmwtYmF9IGZpZWxkcy4KCi4gU2V0IHt2YXItb30gdG8ge3Zhci1vfXtuYnNwfXBh c3M6Wytde25ic3B9X18qKkwqKl9fLgoKLiBTZXQgXyoqTEFTVF9CTyoqXyB0b3tuYnNwfV9fKipC TyoqX18uCgp7dmFyLXZ9IGlzIHRoZSBkZWNvZGVkIHZhbHVlLgoKW1tmbC1ib29sLWZpZWxkLWRl Y11dCj09PT0ge2MtZmwtYm9vbH0gZmllbGQgZGVjb2RpbmcgcHJvY2VkdXJlCgpUbyBkZWNvZGUg YW4gaW5zdGFuY2Ugb2YgYSB7ZmwtYm9vbC1mY306CgouIExldCBfXyoqVkIqKl9fIGJlIGEgYm9v bGVhbi4KLiA8PGZsLWJhLWZpZWxkLWRlYyxEZWNvZGUgdGhlIGluc3RhbmNlIGFzIGEge2ZsLWJh fSBmaWVsZD4+LgouIElmIGFsbCB0aGUgZWxlbWVudHMgb2Z7bmJzcH17dmFyLXZ9IGFyZSBfZmFs c2VfLCB0aGVuIHNldHtuYnNwfV9fKipWQioqX18KICB0byBfZmFsc2VfLgorCkVsc2UsIHNldCBf XyoqVkIqKl9fIHRvIF90cnVlXy4KCl8qKlZCKipfIGlzIHRoZSBkZWNvZGVkIGJvb2xlYW4gdmFs dWUuCgpbW2ZsLXVpbnQtZmllbGQtZGVjXV0KPT09PSB7Yy1mbC11aW50fSBmaWVsZCBkZWNvZGlu ZyBwcm9jZWR1cmUKClRvIGRlY29kZSBhbiBpbnN0YW5jZSBvZiBhIHtmbC11aW50LWZjfToKCi4g TGV0IF9fKipWSSoqX18gYmUgYW4gaW50ZWdlci4KLiA8PGZsLWJhLWZpZWxkLWRlYyxEZWNvZGUg dGhlIGluc3RhbmNlIGFzIGEge2ZsLWJhfSBmaWVsZD4+LgouIFNldCBfXyoqVkkqKl9fIGFzIHRo ZSB1bnNpZ25lZCBpbnRlZ2VyIGludGVycHJldGF0aW9uCm9me25ic3B9e3Zhci12fS4KCl8qKlZJ KipfIGlzIHRoZSBkZWNvZGVkIGludGVnZXIgdmFsdWUuCgpbW2ZsLXNpbnQtZmllbGQtZGVjXV0K PT09PSB7Yy1mbC1zaW50fSBmaWVsZCBkZWNvZGluZyBwcm9jZWR1cmUKClRvIGRlY29kZSBhbiBp bnN0YW5jZSBvZiBhIHtmbC1zaW50LWZjfToKCi4gTGV0IF9fKipWSSoqX18gYmUgYW4gaW50ZWdl ci4KLiA8PGZsLWJhLWZpZWxkLWRlYyxEZWNvZGUgdGhlIGluc3RhbmNlIGFzIGEge2ZsLWJhfSBm aWVsZD4+LgouIFNldCBfXyoqVkkqKl9fIGFzIHRoZSBzaWduZWQgaW50ZWdlciBpbnRlcnByZXRh dGlvbiwgZm9sbG93aW5nIHRoZQogIHR3bydzIGNvbXBsZW1lbnQgZm9ybWF0LCBvZntuYnNwfXt2 YXItdn0uCgpfKipWSSoqXyBpcyB0aGUgZGVjb2RlZCBpbnRlZ2VyIHZhbHVlLgoKW1tmbC1mcC1m aWVsZC1kZWNdXQo9PT09IHtjLWZsLWZwfSBmaWVsZCBkZWNvZGluZyBwcm9jZWR1cmUKClRvIGRl Y29kZSBhbiBpbnN0YW5jZSBvZiBhIHtmbC1mcC1mY306CgouIExldCBfXyoqVlIqKl9fIGJlIGEg cmVhbCB2YWx1ZS4KLiA8PGZsLWJhLWZpZWxkLWRlYyxEZWNvZGUgdGhlIGluc3RhbmNlIGFzIGEg e2ZsLWJhfSBmaWVsZD4+LgouIFNldCBfXyoqVlIqKl9fIHRvIHRoZSByZWFsIG51bWJlciBpbnRl cnByZXRhdGlvbiwgZm9sbG93aW5nIHtpZWVlNzU0fSwKICBvZntuYnNwfXt2YXItdn0uCgpfKipW UioqXyBpcyB0aGUgZGVjb2RlZCByZWFsIHZhbHVlLgoKW1t2bC1iYS1maWVsZC1kZWNdXQo9PT09 IHtjLXZsLWJhfSBmaWVsZCBkZWNvZGluZyBwcm9jZWR1cmUKClRvIGRlY29kZSBhbiBpbnN0YW5j ZSBvZiBhIHt2bC1iYS1mY317bmJzcH17dmFyLWZ9OgoKLiBMZXQge3Zhci12fSBiZSBhbiBlbXB0 eSBhcnJheSBvZiBib29sZWFucy4KCi4gPDxhbGlnbi1kZWMsQWxpZ24ge3Zhci1vLW1pbnVzLXBv fT4+IGFjY29yZGluZwogIHRve25ic3B9e3Zhci1mfS4KCi4gUmVhZCBfXyoqTioqX197bmJzcH1i eXRlcyBvZiBkYXRhIGZyb217bmJzcH17dmFyLXN9IGF0IHRoZQogIG9mZnNldHtuYnNwfXt2YXIt b30sIGFzIG1hbnkgYXMgbmVlZGVkIGZvbGxvd2luZyB0aGUgdW5zaWduZWQKICBodHRwczovL2Vu Lndpa2lwZWRpYS5vcmcvd2lraS9MRUIxMjhbTEVCMTI4XSBmb3JtYXQsIGFwcGVuZGluZyB0aGUK ICBkZWNvZGVkIGJpdHMgdG97bmJzcH17dmFyLXZ9IGFzIGJvb2xlYW5zLgorCk5PVEU6IFRoaXMg cHJvcG9zYWwgcmVmZXJzIHRvIExFQjEyOCB0byByZW1haW4gYnJpZWY7IHRoZSB7Y3RmMn0Kc3Bl Y2lmaWNhdGlvbiB3aWxsIHNob3cgdGhlIGNvbXBsZXRlIGRlY29kaW5nIHByb2NlZHVyZS4KCi4g U2V0IHt2YXItb30gdG8ge3Zhci1vfXtuYnNwfXBhc3M6Wytde25ic3B9X18qKk4qKl9fe25ic3B9 e3RpbWVzfXtuYnNwfTguCgp7dmFyLXZ9IGlzIHRoZSBkZWNvZGVkIHZhbHVlLgoKW1t2bC11aW50 LWZpZWxkLWRlY11dCj09PT0ge2MtdmwtdWludH0gZmllbGQgZGVjb2RpbmcgcHJvY2VkdXJlCgpU byBkZWNvZGUgYW4gaW5zdGFuY2Ugb2YgYSB7dmwtdWludC1mY306CgouIExldCBfXyoqVkkqKl9f IGJlIGFuIGludGVnZXIuCi4gPDx2bC1iYS1maWVsZC1kZWMsRGVjb2RlIHRoZSBpbnN0YW5jZSBh cyBhIHt2bC1iYX0gZmllbGQ+Pi4KLiBTZXQgX18qKlZJKipfXyBhcyB0aGUgdW5zaWduZWQgaW50 ZWdlciBpbnRlcnByZXRhdGlvbgpvZntuYnNwfXt2YXItdn0uCgpfKipWSSoqXyBpcyB0aGUgZGVj b2RlZCBpbnRlZ2VyIHZhbHVlLgoKW1t2bC1zaW50LWZpZWxkLWRlY11dCj09PT0ge2Mtdmwtc2lu dH0gZmllbGQgZGVjb2RpbmcgcHJvY2VkdXJlCgpUbyBkZWNvZGUgYW4gaW5zdGFuY2Ugb2YgYSB7 dmwtc2ludC1mY306CgouIExldCBfXyoqVkkqKl9fIGJlIGFuIGludGVnZXIuCi4gPDx2bC1iYS1m aWVsZC1kZWMsRGVjb2RlIHRoZSBpbnN0YW5jZSBhcyBhIHt2bC1iYX0gZmllbGQ+Pi4KLiBTZXQg X18qKlZJKipfXyBhcyB0aGUgc2lnbmVkIGludGVnZXIgaW50ZXJwcmV0YXRpb24sIGZvbGxvd2lu ZyB0aGUKICB0d28ncyBjb21wbGVtZW50IGZvcm1hdCwgb2Z7bmJzcH17dmFyLXZ9LgoKXyoqVkkq Kl8gaXMgdGhlIGRlY29kZWQgaW50ZWdlciB2YWx1ZS4KCltbc3RyLWZpZWxkLWRlY11dCj09PT0g e2Mtc3RyfSBmaWVsZCBkZWNvZGluZyBwcm9jZWR1cmUKClRvIGRlY29kZSBhbiBpbnN0YW5jZSBv ZiBhIHtzdHItZmN9e25ic3B9e3Zhci1mfToKCi4gTGV0OgoqKiBfKipCKipfIGJlIGEgYnl0ZS4K KiogXyoqQSoqXyBiZSBhbiBlbXB0eSBzZXF1ZW5jZSBvZiBieXRlcy4KKioge3Zhci12fSBiZSBh IHN0cmluZy4KCi4gPDxhbGlnbi1kZWMsQWxpZ24ge3Zhci1vLW1pbnVzLXBvfT4+IGFjY29yZGlu ZwogIHRve25ic3B9e3Zhci1mfS4KCi4gUmVhZCBvbmUgYnl0ZSBvZiBkYXRhIGZyb217bmJzcH17 dmFyLXN9IGF0IHRoZSBvZmZzZXR7bmJzcH17dmFyLW99CiAgYXN7bmJzcH1fXyoqQioqX18uCgou IFNldCB7dmFyLW99IHRvIHt2YXItb317bmJzcH1wYXNzOlsrXXtuYnNwfTguCgouIFdoaWxlIF9f KipCKipfX3tuYnNwfXtub3RlcX17bmJzcH0wOgouLiBBcHBlbmQgX18qKkIqKl9fIHRve25ic3B9 X18qKkEqKl9fLgouLiBSZWFkIG9uZSBieXRlIG9mIGRhdGEgZnJvbXtuYnNwfXt2YXItc30gYXQg dGhlCiAgIG9mZnNldHtuYnNwfXt2YXItb30gYXN7bmJzcH1fXyoqQioqX18uCi4uIFNldCB7dmFy LW99IHRvIHt2YXItb317bmJzcH1wYXNzOlsrXXtuYnNwfTguCgouIERlY29kZSBfKipBKipfLCBm b2xsb3dpbmcgVVRGLTgsIGFzIHt2YXItdn0uCgp7dmFyLXZ9IGlzIHRoZSBkZWNvZGVkIHN0cmlu ZyB2YWx1ZS4KCltbc2wtc3RyLWZpZWxkLWRlY11dCj09PT0ge2Mtc2wtc3RyfSBmaWVsZCBkZWNv ZGluZyBwcm9jZWR1cmUKClRvIGRlY29kZSBhbiBpbnN0YW5jZSBvZiBhIHtzbC1zdHItZmN9e25i c3B9e3Zhci1mfToKCi4gTGV0OgoqKiBfKipMKipfIGJlIHt2YXItZn0ncyBgbGVuZ3RoYCBwcm9w ZXJ0eS4KKiogXyoqSSoqXyBiZSBhbiB1bnNpZ25lZCBpbnRlZ2VyIGluaXRpYWxpemVkIHRvIDAu CioqIF8qKkIqKl8gYmUgYSBieXRlLgoqKiBfKipSKipfIGJlIGEgYm9vbGVhbiBpbml0aWFsaXpl ZCB0byBfdHJ1ZV8uCioqIF8qKkEqKl8gYmUgYW4gZW1wdHkgc2VxdWVuY2Ugb2YgYnl0ZXMuCioq IHt2YXItdn0gYmUgYSBzdHJpbmcuCgouIDw8YWxpZ24tZGVjLEFsaWduIHt2YXItby1taW51cy1w b30+PiBhY2NvcmRpbmcKICB0b3tuYnNwfXt2YXItZn0uCgouIFdoaWxlIF9fKipJKipfX3tuYnNw fTx7bmJzcH1fXyoqTCoqX186CgouLiBSZWFkIG9uZSBieXRlIG9mIGRhdGEgZnJvbXtuYnNwfXt2 YXItc30gYXQgdGhlCiAgIG9mZnNldHtuYnNwfXt2YXItb30gYXN7bmJzcH1fXyoqQioqX18uCi4u IElmIF9fKipCKipfX3tuYnNwfT17bmJzcH0wLCB0aGVuIHNldCBfKipSKipfe25ic3B9dG8gX2Zh bHNlXy4KKwpFbHNlLCBpZiBfKipSKipfIGlzIF90cnVlXywgdGhlbiBhcHBlbmR7bmJzcH1fXyoq QioqX18KdG97bmJzcH1fXyoqQSoqX18uCgouLiBTZXQge3Zhci1vfSB0byB7dmFyLW99e25ic3B9 cGFzczpbK117bmJzcH04LgouLiBTZXQgXyoqSSoqXyB0byBfXyoqSSoqX197bmJzcH1wYXNzOlsr XXtuYnNwfTEuCgouIERlY29kZSBfKipBKipfLCBmb2xsb3dpbmcgVVRGLTgsIGFzIHt2YXItdn0u Cgp7dmFyLXZ9IGlzIHRoZSBkZWNvZGVkIHN0cmluZyB2YWx1ZS4KCltbc2wtYmxvYi1maWVsZC1k ZWNdXQo9PT09IHtjLXNsLWJsb2J9IGZpZWxkIGRlY29kaW5nIHByb2NlZHVyZQoKVG8gZGVjb2Rl IGFuIGluc3RhbmNlIG9mIGEge3NsLWJsb2ItZmN9e25ic3B9e3Zhci1mfToKCi4gTGV0OgoqKiBf KipMKipfIGJlIHt2YXItZn0ncyBgbGVuZ3RoYCBwcm9wZXJ0eS4KKioge3Zhci12fSBiZSBhbiBh cnJheSBvZiBieXRlcyBvZiBsZW5ndGh7bmJzcH1fXyoqTCoqX18uCgouIDw8YWxpZ24tZGVjLEFs aWduIHt2YXItby1taW51cy1wb30+PiBhY2NvcmRpbmcKICB0b3tuYnNwfXt2YXItZn0uCgouIFJl YWQgXyoqTCoqXyBieXRlcyBvZiBkYXRhIGZyb217bmJzcH17dmFyLXN9IGF0IHRoZQogIG9mZnNl dHtuYnNwfXt2YXItb30gYXN7bmJzcH17dmFyLXZ9LgoKLiBTZXQge3Zhci1vfSB0byB7dmFyLW99 e25ic3B9cGFzczpbK117bmJzcH1fXyoqTCoqX197bmJzcH17dGltZXN9e25ic3B9OC4KCnt2YXIt dn0gaXMgdGhlIGRlY29kZWQgQkxPQiB2YWx1ZS4KCltbZGwtc3RyLWZpZWxkLWRlY11dCj09PT0g e2MtZGwtc3RyfSBmaWVsZCBkZWNvZGluZyBwcm9jZWR1cmUKClRvIGRlY29kZSBhbiBpbnN0YW5j ZSBvZiBhIHtkbC1zdHItZmN9e25ic3B9e3Zhci1mfToKCi4gTGV0OgoqKiBfKipMKipfIGJlIHRo ZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXNseSBkZWNvZGVkIHVuc2lnbmVkIGludGVnZXIKICAgZmll bGQgb2Ygd2hpY2h7bmJzcH17dmFyLWZ9J3MgYGxlbmd0aC1maWVsZC1sb2NhdGlvbmAgaW5kaWNh dGVzCiAgIHRoZSBsb2NhdGlvbi4KKiogXyoqSSoqXyBiZSBhbiB1bnNpZ25lZCBpbnRlZ2VyIGlu aXRpYWxpemVkIHRvIDAuCioqIF8qKkIqKl8gYmUgYSBieXRlLgoqKiBfKipSKipfIGJlIGEgYm9v bGVhbiBpbml0aWFsaXplZCB0byBfdHJ1ZV8uCioqIF8qKkEqKl8gYmUgYW4gZW1wdHkgc2VxdWVu Y2Ugb2YgYnl0ZXMuCioqIHt2YXItdn0gYmUgYSBzdHJpbmcuCgouIDw8YWxpZ24tZGVjLEFsaWdu IHt2YXItby1taW51cy1wb30+PiBhY2NvcmRpbmcKICB0b3tuYnNwfXt2YXItZn0uCgouIFdoaWxl IF9fKipJKipfX3tuYnNwfTx7bmJzcH1fXyoqTCoqX186CgouLiBSZWFkIG9uZSBieXRlIG9mIGRh dGEgZnJvbXtuYnNwfXt2YXItc30gYXQgdGhlCiAgIG9mZnNldHtuYnNwfXt2YXItb30gYXN7bmJz cH1fXyoqQioqX18uCi4uIElmIF9fKipCKipfX3tuYnNwfT17bmJzcH0wLCB0aGVuIHNldCBfKipS Kipfe25ic3B9dG8gX2ZhbHNlXy4KKwpFbHNlLCBpZiBfKipSKipfIGlzIF90cnVlXywgdGhlbiBh cHBlbmR7bmJzcH1fXyoqQioqX18KdG97bmJzcH1fXyoqQSoqX18uCgouLiBTZXQge3Zhci1vfSB0 byB7dmFyLW99e25ic3B9cGFzczpbK117bmJzcH04LgouLiBTZXQgXyoqSSoqXyB0byBfXyoqSSoq X197bmJzcH1wYXNzOlsrXXtuYnNwfTEuCgouIERlY29kZSBfKipBKipfLCBmb2xsb3dpbmcgVVRG LTgsIGFzIHt2YXItdn0uCgp7dmFyLXZ9IGlzIHRoZSBkZWNvZGVkIHN0cmluZyB2YWx1ZS4KCltb ZGwtYmxvYi1maWVsZC1kZWNdXQo9PT09IHtjLWRsLWJsb2J9IGZpZWxkIGRlY29kaW5nIHByb2Nl ZHVyZQoKVG8gZGVjb2RlIGFuIGluc3RhbmNlIG9mIGEge2RsLWJsb2ItZmN9e25ic3B9e3Zhci1m fToKCi4gTGV0OgoqKiBfKipMKipfIGJlIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXNseSBkZWNv ZGVkIHVuc2lnbmVkIGludGVnZXIKICAgZmllbGQgb2Ygd2hpY2h7bmJzcH17dmFyLWZ9J3MgYGxl bmd0aC1maWVsZC1sb2NhdGlvbmAgaW5kaWNhdGVzCiAgIHRoZSBsb2NhdGlvbi4KKioge3Zhci12 fSBiZSBhbiBhcnJheSBvZiBieXRlcyBvZiBsZW5ndGh7bmJzcH1fXyoqTCoqX18uCgouIDw8YWxp Z24tZGVjLEFsaWduIHt2YXItby1taW51cy1wb30+PiBhY2NvcmRpbmcKICB0b3tuYnNwfXt2YXIt Zn0uCgouIFJlYWQgXyoqTCoqXyBieXRlcyBvZiBkYXRhIGZyb217bmJzcH17dmFyLXN9IGF0IHRo ZQogIG9mZnNldHtuYnNwfXt2YXItb30gYXN7bmJzcH17dmFyLXZ9LgoKLiBTZXQge3Zhci1vfSB0 byB7dmFyLW99e25ic3B9cGFzczpbK117bmJzcH1fXyoqTCoqX197bmJzcH17dGltZXN9e25ic3B9 OC4KCnt2YXItdn0gaXMgdGhlIGRlY29kZWQgQkxPQiB2YWx1ZS4KCltbc3RydWN0LWZpZWxkLWRl Y11dCj09PT0gU3RydWN0dXJlIGZpZWxkIGRlY29kaW5nIHByb2NlZHVyZQoKVG8gZGVjb2RlIGFu IGluc3RhbmNlIG9mIGEge3N0cnVjdC1mY317bmJzcH17dmFyLWZ9OgoKLiBMZXQ6CioqIF8qKk0q Kl8gYmUge3Zhci1mfSdzIGBtZW1iZXJzYCBwcm9wZXJ0eS4KKioge3Zhci12fSBiZSBhbiBlbXB0 eSBzdHJ1Y3R1cmUuCgouIDw8YWxpZ24tZGVjLEFsaWduIHt2YXItby1taW51cy1wb30+PiBhY2Nv cmRpbmcKICB0b3tuYnNwfXt2YXItZn0uCgouIEZvciBlYWNoIG1lbWJlciBjbGFzc3tuYnNwfV9f KipNQyoqX18gb2Z7bmJzcH1fXyoqTSoqX186Ci4uIExldDoKKioqIF8qKk1GKipfIGJlIF9fKipN QyoqX18ncyBgZmllbGQtY2xhc3NgIHByb3BlcnR5LgoqKiogXyoqTU4qKl8gYmUgX18qKk1DKipf XydzIGBuYW1lYCBwcm9wZXJ0eS4KLi4gPDxmaWVsZC1kZWMsRGVjb2RlPj4gb25lIGluc3RhbmNl IG9me25ic3B9X18qKk1GKipfXywgYXBwZW5kaW5nIHRoZQogICByZXN1bHRpbmcgdmFsdWUgYXMg YSBtZW1iZXIgb2Z7bmJzcH17dmFyLXZ9IG5hbWVke25ic3B9X18qKk1OKipfXy4KCnt2YXItdn0g aXMgdGhlIGRlY29kZWQgdmFsdWUuCgpbW3NsLWFycmF5LWZpZWxkLWRlY11dCj09PT0ge2Mtc2wt YXJyYXl9IGZpZWxkIGRlY29kaW5nIHByb2NlZHVyZQoKVG8gZGVjb2RlIGFuIGluc3RhbmNlIG9m IGEge3NsLWFycmF5LWZjfXtuYnNwfXt2YXItZn06CgouIExldDoKKiogXyoqTCoqXyBiZSB7dmFy LWZ9J3MgYGxlbmd0aGAgcHJvcGVydHkuCioqIF8qKkVGKipfIGJlIHt2YXItZn0ncyBgZWxlbWVu dC1maWVsZC1jbGFzc2AgcHJvcGVydHkuCioqIF8qKkkqKl8gYmUgYW4gdW5zaWduZWQgaW50ZWdl ciBpbml0aWFsaXplZCB0byAwLgoqKiB7dmFyLXZ9IGJlIGFuIGFycmF5IG9mIHZhbHVlcyBvZiBs ZW5ndGh7bmJzcH1fXyoqTCoqX18uCgouIDw8YWxpZ24tZGVjLEFsaWduIHt2YXItby1taW51cy1w b30+PiBhY2NvcmRpbmcKICB0b3tuYnNwfXt2YXItZn0uCgouIFdoaWxlIF9fKipJKipfX3tuYnNw fTx7bmJzcH1fXyoqTCoqX186Ci4uIDw8ZmllbGQtZGVjLERlY29kZT4+IG9uZSBpbnN0YW5jZSBv ZntuYnNwfV9fKipFRioqX18KICAgYXMgZWxlbWVudHtuYnNwfV9fKipJKipfXyBvZntuYnNwfXt2 YXItdn0uCi4uIFNldCBfKipJKipfIHRvIF9fKipJKipfX3tuYnNwfXBhc3M6Wytde25ic3B9MS4K Cnt2YXItdn0gaXMgdGhlIGRlY29kZWQgdmFsdWUuCgpbW2RsLWFycmF5LWZpZWxkLWRlY11dCj09 PT0ge2MtZGwtYXJyYXl9IGZpZWxkIGRlY29kaW5nIHByb2NlZHVyZQoKVG8gZGVjb2RlIGFuIGlu c3RhbmNlIG9mIGEge2RsLWFycmF5LWZjfXtuYnNwfXt2YXItZn06CgouIExldDoKKiogXyoqTCoq XyBiZSB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzbHkgZGVjb2RlZCB1bnNpZ25lZCBpbnRlZ2Vy CiAgIGZpZWxkIG9mIHdoaWNoe25ic3B9e3Zhci1mfSdzIGBsZW5ndGgtZmllbGQtbG9jYXRpb25g IGluZGljYXRlcwogICB0aGUgbG9jYXRpb24uCioqIF8qKkVGKipfIGJlIHt2YXItZn0ncyBgZWxl bWVudC1maWVsZC1jbGFzc2AgcHJvcGVydHkuCioqIF8qKkkqKl8gYmUgYW4gdW5zaWduZWQgaW50 ZWdlciBpbml0aWFsaXplZCB0byAwLgoqKiB7dmFyLXZ9IGJlIGFuIGFycmF5IG9mIHZhbHVlcyBv ZiBsZW5ndGh7bmJzcH1fXyoqTCoqX18KCi4gPDxhbGlnbi1kZWMsQWxpZ24ge3Zhci1vLW1pbnVz LXBvfT4+IGFjY29yZGluZwogIHRve25ic3B9e3Zhci1mfS4KCi4gV2hpbGUgX18qKkkqKl9fe25i c3B9PHtuYnNwfV9fKipMKipfXzoKLi4gPDxmaWVsZC1kZWMsRGVjb2RlPj4gb25lIGluc3RhbmNl IG9me25ic3B9X18qKkVGKipfXwogICBhcyBlbGVtZW50e25ic3B9X18qKkkqKl9fIG9me25ic3B9 e3Zhci12fS4KLi4gU2V0IF8qKkkqKl8gdG8gX18qKkkqKl9fe25ic3B9cGFzczpbK117bmJzcH0x LgoKe3Zhci12fSBpcyB0aGUgZGVjb2RlZCB2YWx1ZS4KCltbb3B0LWZpZWxkLWRlY11dCj09PT0g T3B0aW9uYWwgZmllbGQgZGVjb2RpbmcgcHJvY2VkdXJlCgpUbyBkZWNvZGUgYW4gaW5zdGFuY2Ug b2YgYW4ge29wdC1mY317bmJzcH17dmFyLWZ9OgoKLiBMZXQ6CioqIF8qKlNFTCoqXyBiZSB0aGUg dmFsdWUgb2YgdGhlIHByZXZpb3VzbHkgZGVjb2RlZCA8PGJvb2wtZmMsYm9vbGVhbj4+CiAgIG9y IDw8aW50LWZjLGludGVnZXI+PiBmaWVsZCBvZiB3aGljaHtuYnNwfXt2YXItZn0ncwogICBgc2Vs ZWN0b3ItZmllbGQtbG9jYXRpb25gIGluZGljYXRlcyB0aGUgbG9jYXRpb24uCioqIF8qKk9GKipf IGJlIHt2YXItZn0ncyBgZmllbGQtY2xhc3NgIHByb3BlcnR5LgoqKiB7dmFyLXZ9IGJlIGFuIG9w dGlvbmFsIHZhbHVlLCBpbml0aWFsbHkgbm90IHNldC4KCi4gSWYgdGhlIGNsYXNzIG9me25ic3B9 X18qKlNFTCoqX18gaXMgYSB7ZmwtYm9vbC1mY30KICBhbmQgXyoqU0VMKipfIGlzIF90cnVlXywg dGhlbjoKKiogPDxmaWVsZC1kZWMsRGVjb2RlPj4gb25lIGluc3RhbmNlIG9me25ic3B9X18qKk9G KipfXwogICBhc3tuYnNwfXt2YXItdn0uCgorCkVsc2UsIGlmIF8qKlNFTCoqXyBpcyBhbiBlbGVt ZW50IG9mIGFueSA8PGludC1yYW5nZS1zZXQsaW50ZWdlciByYW5nZT4+Cm9me25ic3B9e3Zhci1m fSdzIGBzZWxlY3Rvci1maWVsZC1yYW5nZXNgIHByb3BlcnR5LCB0aGVuOgoqKiA8PGZpZWxkLWRl YyxEZWNvZGU+PiBvbmUgaW5zdGFuY2Ugb2Z7bmJzcH1fXyoqT0YqKl9fCiAgIGFze25ic3B9e3Zh ci12fS4KCklmIHt2YXItdn0gaXMgc2V0LCB0aGVuIHt2YXItdn0gaXMgdGhlIGRlY29kZWQgdmFs dWUuIE90aGVyd2lzZSwgdGhlcmUncwpubyBkZWNvZGVkIHZhbHVlLgoKW1t2YXItZmllbGQtZGVj XV0KPT09PSBWYXJpYW50IGZpZWxkIGRlY29kaW5nIHByb2NlZHVyZQoKVG8gZGVjb2RlIGFuIGlu c3RhbmNlIG9mIGFuIHt2YXItZmN9e25ic3B9e3Zhci1mfToKCi4gTGV0OgoqKiBfKipTRUwqKl8g YmUgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91c2x5IGRlY29kZWQgPDxpbnQtZmMsaW50ZWdlcj4+ CiAgIGZpZWxkIG9mIHdoaWNoe25ic3B9e3Zhci1mfSdzIGBzZWxlY3Rvci1maWVsZC1sb2NhdGlv bmAgaW5kaWNhdGVzCiAgIHRoZSBsb2NhdGlvbi4KKiogXyoqT1BUUyoqXyBiZSB7dmFyLWZ9J3Mg YG9wdGlvbnNgIHByb3BlcnR5LgoqKiBfKipPRioqXyBiZSB0aGUgYGZpZWxkLWNsYXNzYCBwcm9w ZXJ0eSBvZiB0aGUgPDx2YXItZmMtb3B0LHZhcmlhbnQKICAgZmllbGQgY2xhc3Mgb3B0aW9uPj57 bmJzcH1fXyoqT1BUKipfXyBvZntuYnNwfV9fKipPUFRTKipfXyBvZgogICB3aGljaHtuYnNwfV9f KipTRUwqKl9fIGlzIGFuIGVsZW1lbnQgb2YgYW55IDw8aW50LXJhbmdlLXNldCxpbnRlZ2VyCiAg IHJhbmdlPj4gb2Z7bmJzcH1fXyoqT1BUKipfXydzIGBzZWxlY3Rvci1maWVsZC1yYW5nZXNgIHBy b3BlcnR5LgoqKiB7dmFyLXZ9IGJlIGEgdmFsdWUuCgouIDw8ZmllbGQtZGVjLERlY29kZT4+IG9u ZSBpbnN0YW5jZSBvZntuYnNwfV9fKipPRioqX18KICBhc3tuYnNwfXt2YXItdn0uCgp7dmFyLXZ9 IGlzIHRoZSBkZWNvZGVkIHZhbHVlLgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpsdHRuZy1kZXYgbWFpbGluZyBsaXN0Cmx0dG5nLWRldkBsaXN0cy5sdHRu Zy5vcmcKaHR0cHM6Ly9saXN0cy5sdHRuZy5vcmcvY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL2x0 dG5nLWRldgo=