From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-2.5 required=3.0 tests=AWL,BAYES_00,DKIM_INVALID, DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,FROM_LOCAL_DIGITS, FROM_LOCAL_HEX,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLACK shortcircuit=no autolearn=no autolearn_force=no version=3.4.6 Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by dcvr.yhbt.net (Postfix) with ESMTP id A0B4E1F452 for ; Mon, 3 Apr 2023 18:02:03 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=163.com header.i=@163.com header.a=rsa-sha256 header.s=s110527 header.b=p8B3xY5Q; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233072AbjDCSBy (ORCPT ); Mon, 3 Apr 2023 14:01:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53278 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232135AbjDCSBo (ORCPT ); Mon, 3 Apr 2023 14:01:44 -0400 Received: from m138.mail.163.com (m138.mail.163.com [220.181.13.8]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 0427C210D for ; Mon, 3 Apr 2023 11:01:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=Date:From:Subject:Content-Type:MIME-Version: Message-ID; bh=ORkPu0zUJtScqfdo5Mgm3umOO0WcqbdiQG4cuCpytRQ=; b=p 8B3xY5QcGLR9aDTpDEjqVBSfFcgvSZtntq5KXpQ8tTQGcB6aAVicgGF2OeNJTxdz 8NrpKqmenuSbov2oQ5TNYujAReFf3+2P59gk6HSQcQ8Mi2SBLKGbBzPplT84Mb86 V4NegAVa8ZYQD3N1w2qZ9ZkygJv/i1vQWchPJjFBgs= Received: from 18994118902$163.com ( [153.0.171.49] ) by ajax-webmail-wmsvr8 (Coremail) ; Tue, 4 Apr 2023 01:45:15 +0800 (CST) X-Originating-IP: [153.0.171.49] Date: Tue, 4 Apr 2023 01:45:15 +0800 (CST) From: "Zhang Yi" <18994118902@163.com> To: "Zhang Yi" <18994118902@163.com>, git@vger.kernel.org, christian.couder@gmail.com, hariom18599@gmail.com Subject: [GSOC] [PROPOSAL v3] Draft of proposal for "Unify ref-filter formats with other pretty formats" X-Priority: 3 X-Mailer: Coremail Webmail Server Version XT5.0.14 build 20230109(dcb5de15) Copyright (c) 2002-2023 www.mailtech.cn 163com X-NTES-SC: AL_QuyTAvmfvEEq4yGfYOkXn0oVgu88UcCzvPok34ZQOZk0uynQ0BkNeGFmMVz37NqXMhCmrgaHexNT0uliR4xJYIMvHbEdVbRsmdSQJj2utzsW Content-Transfer-Encoding: base64 Content-Type: text/plain; charset=GBK MIME-Version: 1.0 Message-ID: <17b1acf2.6231.18748391cab.Coremail.18994118902@163.com> X-Coremail-Locale: zh_CN X-CM-TRANSID: CMGowAAHS8arECtklVsCAA--.22245W X-CM-SenderInfo: zprymmqurrmmmqsbiqqrwthudrp/1tbiVhBG-lqzxH37OwACss X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU== Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org VGhhbmtzIGZvciBDaHJpc3RpYW4gQ291ZGVyJ3MgY29tbWVudHMuIEkgcmVhbGl6ZSB0aGF0IEkg c2hvdWxkIGhhdmUgYSBkZWVwZXIKdW5kZXJzdGFuZGluZyBvZiB0aGlzIHByb2plY3QuIFNvIEkg aGF2ZSB0cmllZCByZWxhdGVkIGNvbW1hbmRzIGFuZCByZWFkIHJlbGF0ZWQKZG9jdW1lbnRzLgoK SW1wcm92ZW1lbnQgdnMgdjI6CjEuIEEgcmUtZGVzaWduZWQgcGxhbi4KMi4gUHV0IHNlY3Rpb24g IkVzdGltYXRlZCBUaW1lbGluZSIgbmV4dCB0byAiU3RlcHMiLgozLiBBZGQgcGFydHMgYWJvdXQg d29ya3Mgb2YgTnNlbmdpeXVtdmEgV2lsYmVyZm9yY2UuCjQuIEZpeCBzb21lIHNwZWxsIG1pc3Rh a2VzLgoKVGhlcmUgc2VlbXMgbm8gdGltZSBsZWZ0IGZvciBhIGN5Y2xlIG9mIHJlLWRyYWZ0LiBD b3VsZCBJIHN1Ym1pdCB0aGlzIHByb3Bvc2FsPwoKVGhhbmtzIGZvciBhbGwgY29tbWVudHMuCgoq IFVuaWZ5IHJlZi1maWx0ZXIgZm9ybWF0cyB3aXRoIG90aGVyIHByZXR0eSBmb3JtYXRzCgoqIFBl cnNvbmFsIEluZm9ybWF0aW9uCgpGdWxsIG5hbWU6IFpoYW5nIFlpCgpFLW1haWw6IDE4OTk0MTE4 OTAyQDE2My5jb20KVGVsOiAoKzg2KTE4OTk0MTE4OTAyCgpFZHVjYXRpb246IFd1aGFuIFVuaXZl cnNpdHkgb2YgVGVjaG5vbG9neSAoQ2hpbmEpCk1ham9yOiBDb21wdXRlciBlbmdpbmVlcmluZyAK WWVhcjogRmlyc3QteWVhciBwb3N0Z3JhZHVhdGUgc3R1ZGVudAoKR2l0aHViOiBodHRwczovL2dp dGh1Yi5jb20vemhhbnlpMjIzMzMKCiogIFN5bm9wc2lzCgoqKiBNb3RpdmF0aW9uCgpHaXQgaGFz IGRpZmZlcmVudCBpbXBsZW1lbnRzIHRvIGZvcm1hdCBjb21tYW5kIG91dHB1dCwgd2hpY2ggbWFr ZXMgY2hhb3MgYW5kCmhpbmRlciBpbXByb3ZlbWVudCBvZiBjb2RlIHF1YWxpdHkuCgpBaW0gdG8g dW5pZnkgdGhlIGRpZmZlcmVudCBpbXBsZW1lbnRhdGlvbnMgdG8gZm9ybWF0IG91dHB1dCBmb3Ig ZGlmZmVyZW50CmNvbW1hbmRzLCB3ZSB3YW50IHRvIHRyYW5zZm9ybSBwcmV0dHkgaW50byByZWYt ZmlsdGVyIGZvcm1hdHRpbmcgbG9naWMuIEFjY29yZGluZwp0byB0aGUgcHJlc2VudCBzaXR1YXRp b24sIEkgbWF5IG5lZWQgdG8gYWRkIG1vcmUgcmVmLWZpbHRlciBhdG9tcyB0byByZXBsYWNlCnBy ZXR0eS4gQWZ0ZXIgYWxsIHByZXR0eSBhdG9tcyBoYXZlIGNvcnJlc3BvbmRpbmcgYXRvbXMgaW4g cmVmLWZpbHRlciwgd2Ugc3RpbGwKbmVlZCB0byByZXVzZSByZWYtZmlsdGVyIGluIHByZXR0eS4g VG8gcHJvbWlzZSB0aGUgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgaXQgaXMKYmV0dGVyIHRvIHRy YW5zbGF0ZSBhIHByZXR0eSBmb3JtYXR0aW5nIHN0cmluZyB0byBhIHJlZi1maWx0ZXIgZm9ybWF0 dGluZyBzdHJpbmcsCnRoZW4gdXNlIHJlZi1maWx0ZXIncyBmdW5jdGlvbnMgdG8gY29tcGxldGUg dGhlIGZvcm1hdHRpbmcgcHJvY2Vzcy4KCgoqKiBQcmV2aW91cyBXb3JrCgogIC0gYGdpdCBmb3It ZWFjaC1yZWZgLCBgZ2l0IGJyYW5jaGAgYW5kIGBnaXQgdGFnYCBmb3JtYXRzIGludG8gdGhlCnJl Zi1maWx0ZXIgZm9ybWF0czoKCmRvbmUgYnkgS2FydGhpayBOYXlhayAoR1NvQyAyMDE1KQoKICAt ICBgZ2l0IGNhdC1maWxlYCBmb3JtYXRzIGFuZCB0aGUgcmVmLWZpbHRlciBmb3JtYXRzOgoKc3Rh cnRlZCBieSBPbGdhIFRlbGV6aG5heWEgKE91dHJlYWNoeSAyMDE3LTIwMTgpLApjb250aW51ZWQg YnkgWmhlTmluZyBIdSAoR1NvQyAyMDIxKSwKYnV0IHN0aWxsIG5vdCBmaW5pc2hlZCBkdWUgdG8g dHJpY2t5IHBlcmZvcm1hbmNlIGlzc3Vlcy4KCiAgLSByZWYtZmlsdGVyIGZvcm1hdHMgYW5kIHBy ZXR0eSBmb3JtYXRzOgoKdGFydGVkIGJ5IEhhcmlvbSBWZXJtYSAoR1NvQyAyMDIwKQpjb250aW51 ZWQgYSBiaXQgYnkgSmF5ZGVlcCBEYXMuIChHU29DIDIwMjIpCk5zZW5naXl1bXZhIFdpbGJlcmZv cmNlIGNvbnRpbnVlZCB0byB3b3JrIG9uIHRoaXMgZHVyaW5nIHRoZSB0aW1lIG9mIE91dHJlYWNo eQphbmQgYWZ0ZXIgT3V0cmVhY2h5IHdpdGggcGVyc2lzdGVuY2UuIEhpcyB3b3JrIG9uIHRoZSAi c2lnbmF0dXJlIiBhdG9tCnNob3VsZCBiZSBtb3N0bHkgb3ZlciB3aGVuIHRoZSBHU29DIHN0YXJ0 cy4gKE91dHJlYWNoeSAyMDIyLTIwMjMpCgpIZXJlIGFyZSBsaW5rcyB0byB0aGVpciBibG9ncyBv ciB3b3Jrcy4KLSBPbGdhIFRlbGV6aG5heWE6IEhlcmUgYXJlIE9sZ2EgVGVsZXpobmF5YSdzIGRl dGFpbGVkIGFuZCBoZWxwZnVsIGJsb2dzLlsxXQotIFpoZU5pbmcgSHU6IFRoZXJlIGFyZSBhIGxv dCBvZiBwYXRjaGVzIHdoaWNoIGFyZSBjb25jbHVkZWQgaW4gaGlzIGZpbmFsCmJsb2cgWzJdCi0g SGFyaW9tIFZlcm1hOiBUaGVyZSBhcmUgYWxzbyBhIGxvdCBvZiBwYXRjaGVzIHdoaWNoIGFyZSBj b25jbHVkZWQgaW4gaGlzIGZpbmFsCmJsb2cgWzNdCi0gSmF5ZGVlcCBEYXM6IFBhdGNoOiBncGct aW50ZXJmYWNlOiBhZGQgZnVuY3Rpb24gZm9yIGNvbnZlcnRpbmcgdHJ1c3QgbGV2ZWwgdG8Kc3Ry aW5nIFs0XQotIE5zZW5naXl1bXZhIFdpbGJlcmZvcmNlOlBhdGNoOiByZWYtZmlsdGVyOiBhZGQg bmV3IGF0b20gInNpZ25hdHVyZSIgYXRvbSBbNV0KCioqIFdoYXQgaXMgbGVmdAoKU2luY2UgdGhl IHdvcmsgb2YgInNpZ25hdHVyZSIgYXRvbXMgd2lsbCBiZSBmaW5pc2hlZCBieSBOc2VuZ2l5dW12 YSBXaWxiZXJmb3JjZSwKVGhlcmUgbWF5IGJlIHNvbWUgb3RoZXIgYXRvbXMgbGVmdCBmb3IgcmVm LWZpbHRlciBmb3JtYXRzIGFuZCBwcmV0dHkgZm9ybWF0cy4KQWZ0ZXIgSSBjaGVja2VkIHRoZSBk b2N1bWVudHMgb2YgcHJldHR5IGFuZCByZWYtZmlsdGVyLCBJIGZvdW5kIHRoYXQgdGhlICcldycg aW4KcHJldHR5IHNlZW1zIGhhcyBubyBzdWJzdGl0dXRlIGluIHJlZi1maWx0ZXIuIEFuZCB0aGUg JyVtJyBwbGFjZWhvbGRlciBtYXkgYWxzbwpuZWVkIGEgc3Vic3RpdHV0ZS4KCioqIFN0ZXBzCgox LiBUcnkgYmVzdCB0byB1bmRlcnN0YW5kIHJlbGF0ZWQgY29kZS4gSXQgaXMgbmVjZXNzYXJ5IHRv IHVuZGVyc3RhbmQgdGhlIHdheQpyZWYtZmlsdGVyIHdvcmtzLiBTaW5jZSB0aGUgd29yayBvZiBh ZGRpbmcgc2lnbmF0dXJlIGF0b20gYnkgTnNlbmdpeXVtdmEgCldpbGJlcmZvcmNlIGlzIHN0cm9u Z2x5IHJlbGF0ZWQgYW5kIGxhdGVzdCwgSSB0aGluayBJIHNob3VsZCBwYXkgZ3JlYXQgYXR0ZW50 aW9uLgpXaGF0J3MgbW9yZSwgSSBtYXkgbmVlZCB0byB1bmRlcnN0YW5kIGhvdyBhbGlnbiBhdG9t IHdvcmtzIGJlY2F1c2UgJyV3JyBoYXMgYQpyYW5nZSBpbmZsdWVuY2UgYW5kIGl0IGlzIGJldHRl ciB0byBoYXZlIHRoZSBwb3dlciB0byBjb250cm9sIHRoZSBzY2FsZSBvZiByYW5nZQp3aXRoIHRo ZSBoZWxwIG9mICIlZW5kIi4KMi4gQWRkIGEgZmlsZSBuYW1lIHdoaWNoIGlzIGEgc3Vic3RpdHV0 ZSBmb3IgJyV3Jy4gVGhlIGNvZGUgc2hvdWxkIHBhc3MgdGVzdHMgYW5kCmhhcyByZWxhdGVkIGRv Y3VtZW50cy4KMy4gQWRkIGEgZmlsZSBuYW1lIHdoaWNoIGlzIGEgc3Vic3RpdHV0ZSBmb3IgJyVt Jy4gVGhlIGNvZGUgc2hvdWxkIHBhc3MgdGVzdHMgYW5kCmhhcyByZWxhdGVkIGRvY3VtZW50cy4K NC4gUmVjaGVjayB0aGUgY29ycmVzcG9uZGVuY2UgYmV0d2VlbiB0aGUgYXRvbXMgb2YgcHJldHR5 IGFuZCByZWYtZmlsdGVyLiBUaGVyZQpzaG91bGQgYmUgbm9uZSBsZWZ0Lgo1LiAgV29yayBvbiBy ZXVzaW5nIHJlZi1maWx0ZXIgbG9naWMgaW4gcHJldHR5LCB3aGljaCBsb29rcyBsaWtlIGEgaHVn ZSBwcm9qZWN0LgpJIG5lZWQgdG8gaGF2ZSBhIGdvb2QgdW5kZXJzdGFuZGluZyBvbiBwcmV2aW91 cyB3b3JrcyBhYm91dCB3aGF0IHNob3VsZCBhbmQKc2hvdWxkbid0LiBJdCBzZWVtcyBhIGJpdCBl YXJsaWVyIGZvciBtZSB0byB0aGluayBhYm91dCBpdC4KKEhvcGUgSSBjYW4gZ2V0IHRvIHRoaXMg c3RlcCkKCioqIEVzdGltYXRlZCBUaW1lbGluZQoKVGhlIG9mZmljaWFsIEdTT0MgY29kZSB0aW1l IHN0YXJ0cyBmcm9tIDA1LTI5IHRvIDA4LTI4LCB3aGljaCBpcyAxMyB3ZWVrcy4KVGhlIHBlcmlv ZCBmcm9tIDA2LTA1IHRvIDA2fjMwIGlzIG5lYXIgdGhlIGVuZCBvZiB0aGUgc2VtZXN0ZXIuIFRo ZXJlIGFyZSBtYW55CmNsYXNzZXMgZm9yIG1lLiBTbyBJIGd1ZXNzIEkgbWF5IG5vdCBiZSBwcm9k dWN0aXZlIGR1cmluZyB0aGlzIHBlcmlvZC4KSSB0aGluayBpdCBpcyBhIGJpdCB0aW1lLWxpbWl0 ZWQgaWYgSSBmb2xsb3cgdGhlIG9mZmljaWFsIHRpbWVsaW5lLiBJdCBzZWVtcwpuZWNlc3Nhcnkg dG8gZG8gc29tZSB3b3JrIGluIGFkdmFuY2UuCgoxLiBQcmVwYXJhdG9yeSB3b3JrOgogUGVyaW9k OgogIDA0LTAxIH4gMDUtMjgKICBBYm91dCA4IHdlZWtzCiBUYXNrczoKICAgMS4gVHJ5aW5nIHRv IHVuZGVyc3RhbmQgdGhlIGZvcm1hdHRpbmcgbG9naWMgYmVoaW5kIHByZXR0eSBhbmQgcmVmLWZp bHRlci4KICAgMi4gTWFrZSBzb21lIHRyaWFsIGNoYW5nZXMgdG8gaGVscCB1bmRlcnN0YW5kaW5n LgogICAzLiBVbmRlcnN0YW5kIHRoZSB3b3JrIG9mIE5zZW5naXl1bXZhIFdpbGJlcmZvcmNlLgog ICA0LiBGaWd1cmUgb3V0IHRoZSB3YXkgYWxpZ24gYXRvbSB3b3Jrcy4KCjIuIEFkZCBhIG5ldyBm aWVsZCBuYW1lLgogUGVyaW9kOgogIDA1LTI5IH4gMDctMDcgKGluY2x1ZGUgaW5hY3RpdmUgcGVy aW9kKQogIFdlZWsgMX42CiAgNiB3ZWVrcwogVGFza3M6CiAgQmFzZWQgb24gdGhlIHByZXBhcmF0 b3J5IHdvcmssIHdyaXRlIGEgbmV3IGZpZWxkIG5hbWUgZm9yICd3JyBwbGFjZWhvbGRlciBpbgog IHByZXR0eS4gSXQgc2hvdWxkIHBhc3MgdGVzdHMgYW5kIGJlIHdlbGwtZG9jdW1lbnRlZC4KIERl bGl2ZXJhYmxlczoKICAgIEEgbmV3IGZpZWxkIG5hbWUgZm9yICd3JyBwbGFjZWhvbGRlciBpbiBw cmV0dHkuCiAgICBUZXN0IHNjcmlwdHMuCiAgICBBZGRlZCBkb2N1bWVudHMuCgozLiBBY3RpdmUg Y29kZSBwZXJpb2QgMQogUGVyaW9kOgogIDA3LTEwIH4gMDctMjgKICBXZWVrIDd+OQogIDMgd2Vl a3MKIFRhc2tzOgogIFdvcmsgb24gYSBuZXcgZmlsZWQgbmFtZSB0byByZXBsYWNlICdtJyBwbGFj ZWhvbGRlci4gQWxzbyBpdCBuZWVkIHRvIHBhc3MKICB0ZXN0cyBhbmQgYmUgd2VsbC1kb2N1bWVu dGVkLgogRGVsaXZlcmFibGVzOgogICAgQSBuZXcgZmllbGQgbmFtZSBmb3IgJ20nIHBsYWNlaG9s ZGVyIGluIHByZXR0eS4KICAgIFRlc3Qgc2NyaXB0cy4KICAgIEFkZGVkIGRvY3VtZW50cy4KCjQu IEZpbmlzaGluZyB0b3VjaGVzCiBQZXJpb2Q6CiAgMDctMzEgfiAwOC0yNgogIFdlZWsgMTB+MTMK ICA0IHdlZWtzCiBUYXNrczoKICBJZiB0aGUgcHJldmlvdXMgZXN0aW1hdGUgaXMgb3Zlci1vcHRp bWlzdGljLCBpdCBpcyB0aW1lIGZvciBmYXVsdC10b2xlcmFudC5JbgogIHRoZSBiZXN0IGNvbmRp dGlvbiwgSSBzaG91bGQgZmluaXNoIHRoZSB0d28gbmV3IGZpZWxkIG5hbWVzLiBBZnRlciB0aGF0 LCBJIHdpbGwKICByZWNoZWNrIHRoZSBjb3JyZXNwb25kZW5jZSBiZXR3ZWVuIHRoZSBhdG9tcyBv ZiBwcmV0dHkgYW5kIHJlZi1maWx0ZXIuIElmCiAgYWxsIHByZXBhcmF0b3J5IHdvcmsgaXMgZG9u ZSwgSSB3aWxsIHB1dCBlZmZvcnQgb24gcmV1c2luZyByZWYtZmlsdGVyIGxvZ2ljIGluCiAgcHJl dHR5LgoKKiBCZW5lZml0cyB0byBDb21tdW5pdHkKCkknbSB3aWxsaW5nIHRvIHN0YXkgYXJvdW5k IGFmdGVyIHRoZSBwcm9qZWN0LiBCeSB0aGF0IHRpbWUsIEkgd2lsbCBiZSBpbiBteQpzZWNvbmQg eWVhciB3aXRob3V0IGNsYXNzZXMuIEFuZCBteSB0dXRvciBoYXMgYW4gb3BlbiBtaW5kIGFib3V0 IG15IHJlcXVlc3QgdG8KaW52b2x2ZSBpbiBhbiBvcGVuIHNvdXJjZSBwcm9qZWN0IGJ5IG5vdy4g Q29uc2lkZXJpbmcgdGhlIHN1YmplY3RpdmUgYW5kCm9iamVjdGl2ZSBjb25kaXRpb25zLCBJIHRo aW5rIHRoZXJlIGlzIGEgaGlnaCBwb3NzaWJpbGl0eSB0aGF0IEkgd2lsbCBzdGF5CmFyb3VuZC4K ClBhcnRpY3VsYXJseSwgSSB3aXNoIHRvIGJlIGEgY28tbWVudG9yIGlmIEkgaGF2ZSB0aGUgYWJp bGl0eS4gVGhlcmUgbWF5IGJlIHNvbWUKZGlmZmljdWx0aWVzLiBCdXQgd2hhdCBJIGxlYXJuIGZy b20gbXkgZmluaXRlIGV4cGVyaWVuY2UgaXMgdGhhdCB5b3Ugc2hvdWxkIG5vdApyZWZ1c2Ugc29t ZXRoaW5nIHBvc2l0aXZlIGp1c3QgYmVjYXVzZSBvZiB0aGUgZGlmZmljdWx0aWVzIGluIHRoZSBt aW5kLiBBCmZyZXNoIG5ldyBqb2IgbWF5IGJlIGRpZmZpY3VsdCwgYnV0IGl0IGNhbiBzaG93IG1l IHRoZSBwb3NzaWJpbGl0aWVzIG9mIHRoZQp3b3JsZCwgd2hpY2ggbWVhbnMgY2hhbmdpbmcgbXkg bWluZC4KCldoYXQncyBtb3JlLCBJIHRyaWVkIHRvIHBlcnN1YWRlIGEgc2Nob29sbWF0ZSB3aG8g SSB0aGluayBpcyBraW5kIG9mIG9ic2Vzc2VkCndpdGggdGVjaG5vbG9neSB0byB0YWtlIHBhcnQg aW4gYW4gb3BlbiBzb3VyY2UgY29tbXVuaXR5IGZvciBib3RoIHNlbGYtZ3Jvd3RoIGFuZApjb21w YW5pb24uIEFuZCBJIGZhaWxlZCwgYmVjYXVzZSBoZSB0aGlua3MgaXQgaXMgaGFyZC4gIEl0J3Mg YWx3YXlzIGhhcmQgdG8KY2hhbmdlIE90aGVycycgZGVlcC1yb290ZWQgaWRlYXMgYnkgd29yZC4g QnV0IEkgdGhpbmsgdGhlIGFjdGlvbnMgc3BlYWsgbG91ZGVyCnRoYW4gd29yZHMuIE1heWJlIGFm dGVyIHRoZSBwcm9qZWN0LCBJIGNhbiBjaGFuZ2UgdGhlIG1pbmRzIG9mIHBlb3BsZSBhcm91bmQg bWUKYWJvdXQgam9pbmluZyBhbiBvcGVuIHNvdXJjZSBjb21tdW5pdHkuIFRoZXJlIG1heSBiZSBu byB2aXN1YWwgYmVuZWZpdHMgdG8gdGhlCkdpdCBDb21tdW5pdHkgYnV0IHNob3VsZCBiZSBiZW5l ZmljaWFsIHRvIHRoZSB3aG9sZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkuCgoqIE1pY3JvcHJvamVj dAoKdDk3MDA6IG1vZGVybml6ZSB0ZXN0IHNjcmlwdHMgWzZdCgpUaGUgbWljcm9wcm9qZWN0IHBh dGNoZXMgaGF2ZSBiZWVuIG1lcmdlZC4gVGhlIG1lcmdlIGluZm8gaXMgYXMgYmVsb3c6Cgpjb21t aXQgODc2MGEyYjNjNjM0NzhlODc2NmI3ZmY0NWQ3OThiZDFiZTQ3ZjUyZApNZXJnZTogYTJkMmI1 MjI5ZSA1MDlkM2Y1MTAzCkF1dGhvcjogSnVuaW8gQyBIYW1hbm8gPGdpdHN0ZXJAcG9ib3guY29t PgpEYXRlOiAgIFR1ZSBGZWIgMjggMTY6Mzg6NDcgMjAyMyAtMDgwMAoKICAgIE1lcmdlIGJyYW5j aCAnenkvdDk3MDAtc3R5bGUnCgogICAgVGVzdCBzdHlsZSBmaXhlcy4KCiAgICAqIHp5L3Q5NzAw LXN0eWxlOgogICAgICB0OTcwMDogbW9kZXJuaXplIHRlc3Qgc2NyaXB0cwoKCgoqIEdyYXNwIGZy b20gcmVsYXRlZCB3b3JrCgoqKiBGcm9tIEhhcmlvbSBWZXJtYSdzIGJsb2cKV2Fsa2luZyB0aHJv dWdoIHRoZSBibG9ncyBvZiBIYXJpb20gVmVybWEsIEkgZmluZCBtYW55IHRoaW5ncyB1c2VmdWwu CgoqKiogRGVidWdnaW5nCgpBbiBleHRyZW1lbHkgaW5mb3JtYXRpdmUoc3RlcC1ieS1zdGVwKSBk ZWJ1Z2dpbmcgZ3VpZGUgYnkgQ2hyaXN0aWFuLiBbN10KCioqKiAxMSBxdWVzdGlvbnMgZm9yIHVu ZGVyc3RhbmRpbmcgc29tZW9uZSdzIHdvcmsuIFs4XQoKMS4gV2hhdCB3YXMgdGhlIGdvYWwgb2Yg ZWFjaCBwYXRjaD8KMi4gd2hpY2ggYXBwcm9hY2ggZGlkIHNoZSB0b29rIHRvIGFjaGlldmUgdGhl IGdvYWw/CjMuIHdoYXQgd2VyZSB0aGUgZ29hbHMgb2YgdGhlIHBhdGNoIHNlcmllcz8KNC4gd2hp Y2ggYXBwcm9hY2ggZGlkIHNoZSB0b29rIHRvIGFjaGlldmUgdGhlIGdvYWxzPwo1LiB3aGF0IHdh cyB0aGUgZ29hbCBvZiBoZXIgcHJldmlvdXMgcGF0Y2ggc2VyaWVzPwo2LiB3aGF0IHdhcyB0aGUg Z2VuZXJhbCBkaXJlY3Rpb24gaGVyIHBhdGNoIHNlcmllcyB3ZXJlIGdvaW5nPwo3LiB3aHkgZGlk IHNoZSB0b29rIHRoYXQgZGlyZWN0aW9uPwo4LiBhcmUgdGhlcmUgd2F5cyB0byBjb250aW51ZSBp biB0aGUgc2FtZSBkaXJlY3Rpb24/CjkuIGFyZSB0aGVyZSB3YXlzIHRvIGFjaGlldmUgc2ltaWxh ciBnb2Fscz8KMTAuIGhvdyB3ZXJlIGhlciBnb2FscyBzaW1pbGFyIGFuZCBkaWZmZXJlbnQgZnJv bSB0aGUgZ29hbHMgaW4gbXkgcHJvcG9zYWw/CjExLiBpcyBpdCBwb3NzaWJsZSB0byB1c2UgdGhl IHNhbWUgYXBwcm9hY2g/CgoqKiogRWxzZQoKVGhlcmUgYXJlIG1hbnkgZGV0YWlscyBhYm91dCBo aXMgd29yayBwcm9ncmVzcy4gSSBjYW4gcmVmZXIgdG8gdGhlbSB3aGVuIEkgYW0gaW4Kc2ltaWxh ciBzaXR1YXRpb25zLgoKKiogRnJvbSBaaGVOaW5nIEh1J3MgYmxvZwoKKioqIFRpbWUgYW5hbHl6 aW5nCgpVc2UgcGVyZm9ybWFuY2UgdGVzdGluZyB0b29scyB0byBhbmFseXplIHRoZSB0aW1lLWNv bnN1bWluZyBzdGVwcyBvZgpgZ2l0IGNhdC1maWxlIC0tYmF0Y2hgLgoKIFVzaW5nIEdvb2dsZSdz IGBncGVyZnRvb2xzYDoKMS4gQWRkIHRoZSBsaW5rIHBhcmFtZXRlciBgLWxwcm9maWxlcmAgaW4g YGNvbmZpZy5tYWtgOiBgQ0ZMQUdTICs9IC1scHJvZmlsZXJgLgoyLiBgbWFrZWAuCjMuIFVzZSBg Q1BVUFJPRklMRT0vdG1wL3Byb2Yub3V0IC88cGF0aD4vZ2l0IGNhdC1maWxlIC0tYmF0Y2gtY2hl Y2sKLS1iYXRjaC1hbGwtb2JqZWN0c2AKdG8gcnVuIHRoZSBnaXQgYW5kIGdlbmVyYWwgYHByb2Yu b3V0YCwgd2hpY2ggY29udGFpbnMgdGhlIHJlc3VsdHMgb2YKcGVyZm9ybWFuY2UgYW5hbHlzaXMu CjQuIFVzZSBgcHByb2YgLS10ZXh0IC88cGF0aD4vZ2l0IC90bXAvcHJvZi5vdXRgIHRvIGRpc3Bs YXkgdGhlIHJlc3VsdAppbiB0aGUgdGVybWluYWwuCgoqKiogQWJvdXQgR2l0aHViIENJCgoiR2l0 SHViLVRyYXZpcyBDSSBoaW50cyIgaW4gRG9jdW1lbnRhdGlvbi9TdWJtaXR0aW5nUGF0Y2hlcwoK KioqIEVsc2UKCkhlIGFsc28gd3JpdGVzIGhpcyBwcm9jZXNzIG9mIGRlYnVnZ2luZyBhbmQgb3B0 aW1pemF0aW9uIGluIGRldGFpbC4gSXQncyB3b3J0aApkZWVwZW5pbmcgaW50byB3aGVuIEkgbmVl ZCB0aGVtLgoKVGhpcyBwcm9wb3NhbCBkcmFmdCBiZW5lZml0cyBmcm9tIHRoZSB3b3JrcyBvZiBw cmVkZWNlc3NvcnMgbXVjaC4gVGhhbmtzLgoKKiogRnJvbSBPbGdhIFRlbGV6aG5haWEncyBibG9n CgoxLiBUaGVyZSBpcyBwb3RlbnRpYWwgZW1vdGlvbmFsIHByb2JsZW1zIHJlbGF0ZWQgdG8gcmVt b3RlIHdvcmtzLgoyLiBJdCBtYXkgYmUgYSBnb29kIGlkZWEgdG8gdHJ5IGRpZmZlcmVudCB3YXlz IG9mIGNvbW11bmljYXRpb24uCjMuIEkgc2hvdWxkIGxlYXJuIG5lZWRlZCBleHBlcnRpc2UuIEZv ciBleGFtcGxlLCBJIHNob3VsZCBsZWFybiBtb3JlIGFib3V0IHNoZWxsCnNjcmlwdHMuCjQuIFRo ZSBwbGFuIG1heSBjaGFuZ2UgZnJvbSB0aW1lIHRvIHRpbWUuIEJ1dCBJIHNob3VsZCB0YWxrIGFi b3V0IGl0IHdpdGggbWVudG9ycwpldmVyeSAyLTMgd2Vla3MgdG8gZm9jdXMgb24gdGhlIGZpbmFs IGdvYWwgYW5kIG1pZGRsZSBzdGVwcy4KCiogQmlvZ3JhaGljYWwgaW5mb3JtYXRpb24KCkl0IGlz IGFsd2F5cyBmdW5ueSB0byByZWNhbGwgdGhhdCBJIGZpcnN0IGxlYXJuZWQgYWJvdXQgTGludXgg aW4gYSBzdGltdWxhdGVkCmhhY2tlciBnYW1lIGluIG15IGZyZXNoIHllYXIgaW4gY29sbGVnZS4g QWZ0ZXIgdGhhdCwgSSB0cmllZCB0byB0ZWFjaCBteXNlbGYKTGludXggYW5kIHN0YXJ0ZWQgdG8g a25vdyBvcGVuIHNvdXJjZSBwcm9qZWN0cy4gT3ZlcmNvbWUgbWFueSBkaWZmaWN1bHRpZXMgYW5k IEkKZmluYWxseSBrbm93IHNvbWV0aGluZyBzaGFsbG93IGFib3V0IExpbnV4LiBBcyBhIHNpZGUg ZWZmZWN0LCBJIGFtIG1vcmUKZW50aHVzaWFzdGljIGFuZCBiZXR0ZXIgYXQgcHJvZ3JhbW1pbmcg Y29tcGFyZWQgd2l0aCBteSBzY2hvb2xtYXRlcy4gQnV0IHRoZQpwZXJpb2Qgb2Ygc3RhZ25hdGlv biBjYW1lLCBJIGJlZ2FuIHRvIHdyaXRlIHNvbWUgbWVhbmluZ2xlc3MgcHJvamVjdHMgZm9yIHNj aG9vbAp0YXNrcyBhbmQgcmVwZWF0ZWQgbXlzZWxmIHdpdGhvdXQgcHJvZ3Jlc3MuIFRoZSBiZXN0 IG91dCBvZiB0aGUgd29yc3QsIEkgdG91Y2hlZApleGNlbGxlbnQgb3BlbiBzb3VyY2Ugc29mdHdh cmUgZHVyaW5nIHRoZSB0aW1lLCBzdWNoIGFzIHZpbSwgZW1hY3MsIHZpc3VhbApzdHVkaW8gY29k ZSwgUXQsIFZMQyBhbmQsIG9mIGNvdXJzZSwgZ2l0LiBOZWFyIHRoZSBlbmQgb2YgbXkganVuaW9y IHllYXIsIEkgcmVhZAphbiBhcnRpY2xlIGFib3V0IGxlYXJuaW5nIGJ5IGNvbnRyaWJ1dGluZyB0 byBhbiBvcGVuIHNvdXJjZSBwcm9qZWN0IGJ5IGEgZ2VlawppbiB0aGUgY29tbXVuaXR5IG9mIGVt YWNzLiBBbG1vc3QgYXQgdGhlIHNhbWUgdGltZSwgSSBrbmV3IHRoZSBHU09DIGFuZCBwcmVmZXJy ZWQKdG8gdGFrZSBwYXJ0IGluIGdpdC4gQnV0IGl0IHdhcyBuZWFyIHRoZSBzdGFydCBkYXRlIG9m IG15IHBsYW4gZm9yIHBvc3RncmFkdWF0ZQpxdWFsaWZ5aW5nIGV4YW1pbmF0aW9uLiBTbyBJIGp1 c3QgcG9zdHBvbmVkIHRoZSBzdHVmZiBmb3IgR1NPQy4gIEx1Y2tpbHksIEkKcGFzc2VkIHRoZSBl eGFtaW5hdGlvbi4gQWZ0ZXIgSSBnb3QgdXNlZCB0byBsaWZlIGFzIGEgcG9zdGdyYWR1YXRlIHN0 dWRlbnQsIEkKZmVsdCB0aGUgbW90aXZhdGlvbiB0byBwcm9ncmVzcyBhZ2Fpbi4gVGhlbiBJIHRy aWVkIHRvIGNvbnRyaWJ1dGUgZm9yIGdpdC4gTm93IEkKanVzdCBmaW5pc2hlZCBhIG1pY3JvIHBy b2plY3QsIHdoaWNoIHNlZW1zIHRyaXZpYWwuIEJ1dCBpdCByZWFsbHkgbGV0IG1lIGhhdmUgYQpk ZWVwZXIgdW5kZXJzdGFuZGluZyBvZiBvcGVuIHNvdXJjZSBhbmQgZnJlZSBzb2Z0d2FyZSBhbmQg bW9yZSBtb3RpdmF0aW9uIHRvCmNvbnRyaWJ1dGUuIEkgaG9wZSBJIGNhbiBzdGF5IGhlcmUgYSBs b25nIHRpbWUgYmVmb3JlIGJlaW5nIGludm9sdmVkIHdpdGggb3RoZXIKaW50ZXJlc3RpbmcgcHJv amVjdHMgc2luY2UgdGhlIHF1YWxpdHkgaXMgbW9yZSBpbXBvcnRhbnQgdGhhbiB0aGUgcXVhbnRp dHkuCkkga25vdyBpdCBzZWVtcyBhIGJpdCBzdHViYm9ybiB0byBiZWxpZXZlIHRoYXQgY29udHJp YnV0aW5nIHdpbGwgbGVhZCB0bwpwcm9ncmVzcywgd2hpY2ggaXMgYWxzbyBpbmZsdWVuY2VkIGJ5 IG15IGxlYXJuaW5nIGF0dGl0dWRlLiBCdXQgd2l0aG91dCBhY3Rpb24sCkkgY2FuIG5vdCB2ZXJp ZnkgdGhlIGJlbGllZi4gIFNvb2F0IGxlYXN0IEkgd2lsbCB0cnkgdG8gY29udHJpYnV0ZSBmb3Ig b25lIHllYXIuCkFmdGVyIHRoYXQsIEkgaG9wZSBJIGNhbiBoYXZlIGEgYmV0dGVyIHVuZGVyc3Rh bmRpbmcuCgpTb3JyeSwgdGhlIGFib3ZlIHRleHQgbWF5IGJlIG1lc3NpbmcuIEluIHNob3J0LCBJ IHdpbGwgdHJ5IHRvIGNvbnRyaWJ1dGUgZm9yCmdpdCBmb3IgYXQgbGVhc3Qgb25lIHllYXIuCgoq IENsb3NpbmcgcmVtYXJrcwoKSXQgc2VlbXMgYmxvZ3Mgd2lsbCBoZWxwIG11Y2ggZm9yIGxhdGVy IHdvcmsuIEkgdGhpbmsgSXQgd29ydGggcmVidWlsZGluZyBteQpibG9nIHNpdGUgb24gZ2l0aHVi LgoKVGhhbmtzIGZvciBDaHJpc3RpYW4gQ291ZGVyJ3MgYW5kIEhhcmlvbSBWZXJtYSdzIGhlbHAu CgoKWzFdIGh0dHBzOi8vbWVkaXVtLmNvbS9Ab2x5YXRlbGV6aG5heWEKWzJdIGh0dHBzOi8vcHVi bGljLWluYm94Lm9yZy9naXQvQ0FPTFRUOFN4SHVIMkViaVN3UVg2cHlKSnM1S3lWdUt4NlpPUHhw eldMSCtUYno1RitBQG1haWwuZ21haWwuY29tLwpbM10gaHR0cHM6Ly9oYXJyeS1ob3YuZ2l0aHVi LmlvL2Jsb2dzL3Bvc3RzL3RoZS1maW5hbC1yZXBvcnQKWzRdIGh0dHBzOi8vcHVibGljLWluYm94 Lm9yZy9naXQvcHVsbC4xMjgxLmdpdC4xNjU3MjAyMjY1MDQ4LmdpdGdpdGdhZGdldEBnbWFpbC5j b20vCls1XSBodHRwczovL3B1YmxpYy1pbmJveC5vcmcvZ2l0L3B1bGwuMTQ1Mi5naXQuMTY3MjEw MjUyMzkwMi5naXRnaXRnYWRnZXRAZ21haWwuY29tLyN0Cls2XSBodHRwczovL2xvcmUua2VybmVs Lm9yZy9naXQvMjAyMzAyMjIwNDA3NDUuMTUxMTIwNS0xLTE4OTk0MTE4OTAyQDE2My5jb20vCls3 XSBodHRwczovL3B1YmxpYy1pbmJveC5vcmcvZ2l0L0NBUDhVRkQzQmQ0QWYxWFowMFZ5dUhuUXM9 TUZyZFV1ZktlZVBPMXR5ZWRXb1JlUmp3UUBtYWlsLmdtYWlsLmNvbS8KWzhdIGh0dHBzOi8vaGFy cnktaG92LmdpdGh1Yi5pby9ibG9ncy9wb3N0cy93ZWVrMS10aGUtdGVuLXF1ZXN0aW9ucwo=