From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: RE: [External] : Re: Tree-sitter integration in python.el Date: Sat, 8 Oct 2022 16:20:10 +0000 Message-ID: References: <3A68545C-2E40-4BB4-8563-8041A5452634@gmail.com> <87y1twlr0v.fsf@gmail.com> <83czb8ycpo.fsf@gnu.org> <87tu4klfcw.fsf@gmail.com> <87ill0le20.fsf@gmail.com> <87y1ttfmj8.fsf@gmail.com> <19950F30-F4DB-4CE4-9257-24DA39594669@gmail.com> <87czb47jya.fsf@gmail.com> <87wn9c7xxd.fsf@gmail.com> <875ygu91z4.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="3269"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Matthias Meulien , Eli Zaretskii , "emacs-devel@gnu.org" To: Augusto Stoffel , Yuan Fu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Oct 08 18:21:31 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ohCZu-0000cz-1K for ged-emacs-devel@m.gmane-mx.org; Sat, 08 Oct 2022 18:21:30 +0200 Original-Received: from localhost ([::1]:54464 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ohCZs-00041o-Jq for ged-emacs-devel@m.gmane-mx.org; Sat, 08 Oct 2022 12:21:28 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:41266) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ohCYo-0002lk-9s for emacs-devel@gnu.org; Sat, 08 Oct 2022 12:20:22 -0400 Original-Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:47058) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ohCYk-0000Q4-9a; Sat, 08 Oct 2022 12:20:22 -0400 Original-Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 298G1vAl020271; Sat, 8 Oct 2022 16:20:13 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=prgqQSLJpwF2g7LI18nYQIRbMe7eVbUs8GzZTrkDChI=; b=DcTpLmJS7tK9pEV3GsHnlO41MrKxaffo2tgmqwzmFxig9J2Eme/KesjDj7/9Y81tl9Db Y9hxC9HdvhQArE4pzDcwgr0DpNpKJw9pVTlsZsgDcXTujbiRw10UCFf74+j7uqB7uiK6 BwqBoD4cJh5/LdA0BnTia5JTnHadknmh3TLkoD+7FxrtJIhunwGofjxRqqPhXgH1FCwN 66jbebqMyWCG4c274ms3qcgcDzlJvNE8yUxn73lwTOnVRsNT39FeZSIEDRtTKNFtFrEq ELyYF81QcOEPiweB906hYz4K85UsF6mO5Wjq+5lfhGg0KsufWWVvBYX/Ze64C6IBDaJI xQ== Original-Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3k2yt18tf0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 08 Oct 2022 16:20:12 +0000 Original-Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 298F7esc000780; Sat, 8 Oct 2022 16:20:12 GMT Original-Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2173.outbound.protection.outlook.com [104.47.59.173]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3k2yn22262-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 08 Oct 2022 16:20:12 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aNUY5NQUOW1sr8b2Jt6KetHtX2VScpAof3IhNc2QREKKO9B+ZvQG0vStZEVR62wincE6ojk/YcYT/UUGv7EQgJLJwWTLUgYuaj9QessoBqieh+kB5j2FIkM+CLtWs5nnxGQMwREUshJ8UXBPCygUL+8KTwEH9AqZqwVaGM4jZ1KlBVc08pYcmCaxR2Bm3yv8lRWTPKaqDtrDfvQjPPjfZF28xkxi10mOt9Oc84PNzeuJZDLWHmrg4EiVjeVhekFOjixDUSSlmrfnRqkdG5PJAqBtM9v3GBDT4Dw82c4bTmZ32YnJhSnvTUiSBnM8NWMOii7LfEUrW66faaZm/jE/Hw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=prgqQSLJpwF2g7LI18nYQIRbMe7eVbUs8GzZTrkDChI=; b=OdcpGOXDgA014pkX4cQA9JR//Ww2+7Re0s+kyIaI721Og5gVLDAg6r1utotrn62YDzlQOIWcbis/q43P8Y2HPAQZPpURQZztbd8qDE7xRzQ/UC7Z0V55SHctUYb3jV+/cbIrsTleR+Ifu7BhmBqpmslyHrZZe95zCum5Lc7V0JWOuCM32KDI8HcjUQNaDY/EOPRx+1fe8vWHcspI3r/pr3GNlZpln087iiDjzuEhqQXoY9CEbBfc0E8WcatY7RLtn2wlBOOS1ldSrzgoM4LniZWmO6T1q1CFug4MgFpNU7tMoFRh5g/qvdpHBn/xWUi+FtEYDAIloNzik9MpnNFo3w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=prgqQSLJpwF2g7LI18nYQIRbMe7eVbUs8GzZTrkDChI=; b=zeznNxsWr98AQ+iFAFjIT5QMlnPEmg/IMavSmKMXsmym0frI8I5geicf1A86tMcQZBmEctEvuC1q4SIE7ylFr04hQ+ZguTmWMgUWlIN1Fm5lfTO7ZSi0SDE9rnzyXG8S3rdbubwwPmry6P0I9GZvF4NY/w2/qoMlWrVwfWNAbVw= Original-Received: from SJ0PR10MB5488.namprd10.prod.outlook.com (2603:10b6:a03:37e::19) by CO1PR10MB4532.namprd10.prod.outlook.com (2603:10b6:303:6d::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.15; Sat, 8 Oct 2022 16:20:10 +0000 Original-Received: from SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::f319:dced:1a48:779a]) by SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::f319:dced:1a48:779a%3]) with mapi id 15.20.5709.015; Sat, 8 Oct 2022 16:20:10 +0000 Thread-Topic: [External] : Re: Tree-sitter integration in python.el Thread-Index: AQHY2uyQmw2Uc4Euz0qPQ7d5V1MIZK4EnWog In-Reply-To: <875ygu91z4.fsf@gmail.com> Accept-Language: en-US Content-Language: en-US x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ0PR10MB5488:EE_|CO1PR10MB4532:EE_ x-ms-office365-filtering-correlation-id: 1ec18e5f-f5ed-4299-c2bb-08daa948f8c6 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ddaMmGRIEIS17W4jFcHukaPBDgg0H8ibfpsdu8F29j+3qRYqr+ZeYhdWwtGRRHh+Kix57joyWh+VyUgaGnlKU0JuAHIt60b7/l4wjD4weFWcZRGHSMdqB2+TdGvH281SkPKNXie9MMshpVUiD8alN1Rm7RCozBa5crZmF0fp+DBFAsZ5WRyU6qw1Y0uMe29PmzPWcoW+Cm0BdJQ7zx+5XAHLCFd5UY1/RpjtUGLbrJbIqrgGs9LisP8ApIQn/47K+er+PKfjUQ5ZOo9HrbMrr791kLUuCrDwTNiJILpkfRFG61nfyn9ZvrjjnkC4AydAaeG/TXptMpnpv9aGa/rVAOO0ZuNcsFvz3BKe9/tTYpP+AyPhIvutlTNFQwMduu+zSDrkFf2mys99gwfJp/KnIhnr7O6XVt/hMKDKiLTgtYR6KKel2sOl6Ow2kK/+AkvPP0fF2cA4hiZ1IhkJhqG6CkOJi3ZGVYd6qKJN/tPK4EceAUqdHCgZZFhGWx8fEcMIO8FECylYBw4G6XJo5itbU6tdAoarWkoP12DFLNM+PUMHZYTyXlKpX8lQt0S4UHm+5iVDBPLHwLwuL+7h1m4j4wvhnwOj+ycRVn4hMGNeZBdlM9Fo9C2N8IbYuRwEzriyuMVOizw3b7kc9wBOsgzWFEKpnwkJ0UHKOmJn5e49ekKHpD9/SF4Awt5ULUS0LhQwdp0RF2yldpTEXapDCJ7GkPA92MWzX79zKI0NNvIWYDanIGxlj2miSL9hgX+ux iREcZd23jbC78gSeTN9ID51ICeY2XctysQdp4lnx0LPOwUM0+rGaXwSDVaMxSbSqJ9qEmT07zdtYG4R1t//g7MCTA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR10MB5488.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(136003)(346002)(39860400002)(396003)(366004)(376002)(451199015)(83380400001)(33656002)(86362001)(110136005)(9686003)(38070700005)(66946007)(38100700002)(2906002)(41300700001)(44832011)(122000001)(52536014)(8936002)(66476007)(8676002)(66556008)(4326008)(66446008)(64756008)(5660300002)(76116006)(55016003)(316002)(54906003)(26005)(6506007)(7696005)(186003)(478600001)(71200400001)(966005); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZGdEY2N6aG5PWG1WeDFMNGtrcGJOZ0haUkYxMG8vUXNQd1lvWnpyTnpudEEw?= =?utf-8?B?aW10Y1FUYTEvb0IwU1VsWDJuSkU3R01OQ2ZRWVBJdmlFZk8rT1pSK1ZaZnZ1?= =?utf-8?B?U2lTREszd01FOXYvVnhvdUJNdXlTVzFtTGZPRGIwcUpUK1JBcXhnL0xQLzVV?= =?utf-8?B?aDdWbnJKd1lMajFSa3VpaGdZMUIwalBTV0MzbU03Vmk5ZmJRbFI4a2x4UHZi?= =?utf-8?B?SVhYUzl1TlZDaTVldUtZc2FtZ0VkWUVqalVtUi9RT2diVG5sRkZpTzhwVmp6?= =?utf-8?B?UU1peVJQRUgyS2JudWlFTkJqeFp3TXQ0WmdTUDBMYzh2WW1VZU9XNGRTRzZP?= =?utf-8?B?bHBLb1JIdE9rcGdrUVlQQjdMMWNINTEwTVRIM0U3dG5SbWhvbnRJa1ZLY2d0?= =?utf-8?B?SndXaDc3OWlOMmxxSVdzblE0cG1Wd0ZpNFZPdksrYVpiMG95VHg1MkE0eFIw?= =?utf-8?B?dEpwWjdnNnp6aHgxM281Y0M4RVIyM0JpSC9QSTVHMFlycFUrSHJSQTh3VGdY?= =?utf-8?B?TXlBclNpaGlUWkZkVExqMmxkQVI3a0VOUmxzV1g1bFRiMUdPM0pqRzUwWmE5?= =?utf-8?B?aFdCSkNTNHNtc2ZBQ0pNd3oxRkJmaEE3YWp0cC8wTWhRbU80cklPc0xvR0w2?= =?utf-8?B?VHVGdWNDUXNldEtFendxRW9vSWJDVTg4aUJaNm X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB5488.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1ec18e5f-f5ed-4299-c2bb-08daa948f8c6 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Oct 2022 16:20:10.2549 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 90nfwnAQE8TaVzkloAs8jyGGp8iwFCbtOC66FsHix06/tkGgFKkS3hVfX7b9asJi59gLju+Q7FfbouiPA3iK8w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR10MB4532 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.528,FMLib:17.11.122.1 definitions=2022-10-07_04,2022-10-07_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 phishscore=0 mlxscore=0 malwarescore=0 spamscore=0 mlxlogscore=999 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2210080105 X-Proofpoint-GUID: ARal0aPiga-l1VIa4HOItNrULAlnOKeE X-Proofpoint-ORIG-GUID: ARal0aPiga-l1VIa4HOItNrULAlnOKeE Received-SPF: pass client-ip=205.220.165.32; envelope-from=drew.adams@oracle.com; helo=mx0a-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:297207 Archived-At: PiBUbyBtZSwgdGhlIGJpZ2dlc3QgcHJvYmxlbSB3aXRoIGZvbnQtbG9jay1tYXhpbXVtLWRlY29y YXRpb24gDQo+IGlzIHRoYXQgZmV3IG1ham9yIG1vZGVzIGJvdGhlcmVkIHRvIGltcGxlbWVudCBs ZXZlbHMuDQoNClRoYXQncyBhIHByb2JsZW0gd2l0aCB0aGUgbm9uLWZldyBtb2RlcyB0aGF0DQpk b24ndCBkbyB0aGF0Lg0KDQpTb21lIEVsaXNwIGNvZGUgaGFzIGxlc3MgdGhhbiBzdGVsbGFyIGRv Yw0Kc3RyaW5ncywgYW5kIGV2ZW4gYSBsYWNrIG9mIGRvYyBzdHJpbmdzIGluDQpzb21lIGNhc2Vz Lg0KDQpBbmQgbXVjaCBFbGlzcCBjb2RlIHVzZXMgb25seSBydWRpbWVudGFyeQ0KZGVmY3VzdG9t IDp0eXBlIHNwZWNzIChlLmcuIGp1c3QgYHNleHAnKSwNCmluc3RlYWQgb2Ygc3BlY2lmeWluZyBq dXN0IHdoYXQgdHlwZSBvZg0KRWxpc3AgdmFsdWVzIGFyZSBhcHByb3ByaWF0ZSwgc28gZXhjbHVk aW5nDQppbmFwcHJvcHJpYXRlIHR5cGVzLg0KDQpUaGVzZSBhcmUgb25seSByZWFzb25zIHRvIGVu Y291cmFnZSBfbW9yZV8NCmF0dGVudGlvbiB0byBoZWxwaW5nIHVzZXJzIHdpdGggYmV0dGVyIGRv Yw0KZXRjLiAgVGhleSdyZSBieSBubyBtZWFucyByZWFzb25zIG5vdCB0bw0KYm90aGVyIHdpdGgg Zm9udC1sb2NrIGxldmVscywgZG9jLCBvciA6dHlwZS4NCg0KKEknbSBub3Qgc2F5aW5nIHlvdSBh Y3R1YWxseSBzdWdnZXN0ZWQNCmdpdmluZyB1cCBvbiBmb250LWxvY2sgbGV2ZWxzLCBCVFcuKQ0K DQpJZiBFbWFjcydzIG93biBjb2RlIGhhcmRseSBib3RoZXJzIHdpdGgNCmZvbnQtbG9jayBsZXZl bHMgdGhlbiBpdCBzaG91bGRuJ3QgYmUgbXVjaA0Kb2YgYSBzdXJwcmlzZSB0aGF0IDNyZC1wYXJ0 eSBjb2RlIGRvZXNuJ3QNCmJvdGhlciB3aXRoIHRoZW0gZWl0aGVyLiAgT25lIG1pZ2h0IGV2ZW4N CmJldCB0aGF0IG1hbnkgd2hvIHdyaXRlIDNyZC1wYXJ0eSBjb2RlIGFyZQ0KY29tcGxldGVseSBf dW5hd2FyZV8gb2YgZm9udC1sb2NrIGxldmVscy4NCg0KPiBHaXZlbiB0aGUgbGFjayBvZiBzdWNj ZXNzIG9mIGZvbnQtbG9jay1tYXhpbXVtLWRlY29yYXRpb24sDQoNClNlZSBhYm92ZS4gIExhY2sg b2YgYXdhcmVuZXNzIG9mIGl0LiAgTGFjaw0Kb2YgZW5jb3VyYWdlbWVudCB0byBtYWtlIHVzZSBv ZiBpdC4NCg0KPiBJIGRvbid0IHNlZSB0aGlzIGJlaW5nIGltcGxlbWVudGVkIGJ5IG1hbnkgbWFq b3IgbW9kZXMuDQoNCklnbm9yYW5jZSBvZiBFbWFjcy1MaXNwIGNvZGluZyBjb252ZW50aW9ucw0K aXMgY29tYmF0dGVkIGJ5IG1haW50YWluZXJzIHJlbWluZGluZyBhYm91dA0KdGhlbSwgZW5jb3Vy YWdpbmcgdGhlaXIgcmVzcGVjdCwgYW5kIGV2ZW4NCnJlcXVpcmluZyB0aGVpciByZXNwZWN0IGZv ciBjb250cmlidXRpb25zDQp0byBFbWFjcy4gIEF3YXJlbmVzcyBpcyBwcm9iYWJseSB0aGUgZmly c3QNCmh1cmRsZSB0byBwdXR0aW5nIGZvbnQtbG9jayBsZXZlbHMgdG8gdXNlLg0KDQpPbmUgc2lt cGxlIGFuYWxvZ3kgLSBhbnkgbnVtYmVyIG9mIG90aGVycw0KY291bGQgYmUgZ2l2ZW46DQoNCkp1 c3QgYmVjYXVzZSBlbGVjdG9yYWwgcGFydGljaXBhdGlvbiBpcw0KbGltaXRlZCBpbiBzb21lIGNv dW50cmllcyAoZS5nLiB0aGUgVVNBKSwNCnRoYXQncyBub3QgYSByZWFzb24gdG8gc2F5IHRoYXQg ImdpdmVuIHRoZQ0KbGFjayBvZiBzdWNjZXNzIiBvZiB2b2x1bnRhcnkgZWxlY3RvcmFsDQpwYXJ0 aWNpcGF0aW9uIHdlIG1pZ2h0IGFzIHdlbGwgbm90IGJvdGhlcg0KaGF2aW5nIGVsZWN0aW9ucy4N Cg0KPiBBbHNvLCBpZiB0aGUgaWRlYSBkb2VzIHRha2UgdHJhY3Rpb24sIGl0IHdpbGwgbGVhZA0K PiB0byBhIHByb2xpZmVyYXRpb24gb2YgdXNlciBvcHRpb25zIHRoYXQgaXMgaGFyZA0KPiB0byB1 c2UgZWZmZWN0aXZlbHkgDQoNCkV2ZXJ5IHVzZXIgb3B0aW9uIChhbmQgZmFjZSkgaGFzIGEgX2Rl ZmF1bHRfDQp2YWx1ZSwgd2hpY2ggc2hvdWxkIGJlIHdoYXQgdGhlIGRlc2lnbmVycw0KdGhpbmsg aXMgYSBnb29kIHZhbHVlIGZvciBtb3N0IHVzZXJzLg0KDQpUaGVyZSdzIG5vdGhpbmcgd3Jvbmcg d2l0aCBhIGxpYnJhcnkNCnByb3ZpZGluZyBvcHRpb25zIGFuZCBmYWNlcyBmb3IgZWFzeQ0KY3Vz dG9taXphdGlvbi4NCg0KUHJvdmlkaW5nIGEgZGVmYXVsdCB2YWx1ZSBoYXMgdGhlIHNhbWUgZWZm ZWN0DQphcyBoYXJkLWNvZGluZyB0aGUgYmVoYXZpb3IgLSB5b3UgZ2V0IHdoYXQNCnlvdSBnZXQs IE9PVEIgLSBFWENFUFQgdGhhdCB5b3UgX2Nhbl8gZWFzaWx5DQpnZXQgb3RoZXIgYmVoYXZpb3Jz LiAgVGhlIG1lcmUgZXhpc3RlbmNlIG9mDQphbiBvcHRpb24gY2Fubm90IHBvc3NpYmx5IGJlIGlu ZmVyaW9yIHRvDQpoYXJkLWNvZGluZyB0aGUgYmVoYXZpb3IgaXQgbGV0cyB5b3UgbW9kaWZ5Lg0K DQpUaGF0IHVzZXJzIGhhdmUgbWFueSBvcHRpb25zIHRvIGVhc2lseQ0KY2hhbmdlIGJlaGF2aW9y IGhlcmUgYW5kIHRoZXJlIGlzbid0IGEgYmFkDQp0aGluZyAtIGEgbGltaXRhdGlvbi4gIEl0J3Mg YSBnb29kIHRoaW5nLg0KDQooVGhlIG9ubHkgZG93bnNpZGUgdG8gYSBwbGV0aG9yYSBvZiBvcHRp b25zDQppcyB0aGF0IHRoZWlyIG5hbWVzIHNob3cgdXAgd2l0aCBjb21wbGV0aW9uLA0KYXByb3Bv cywgZXRjLiAgQW5kIGlmIHVzZXJzIHN0YXJ0IHRvIHBheQ0KYXR0ZW50aW9uIHRvIHRoZW0sIGJ5 IHJlYWRpbmcgdGhlaXIgZG9jLCB0aGF0DQphdHRlbnRpb24gdGFrZXMgdGltZS4pDQoNCj4gLS0g aWYgc29tZW9uZSBkb2Vzbid0IHdhbnQgdG8gZm9udGlmeSBidWlsdC1pbnMgaW4NCj4gUHl0aG9u LCB0aGV5IHByb2JhYmx5IGRvbid0IHdhbnQgaXQgaW4gb3RoZXINCj4gbGFuZ3VhZ2VzIGVpdGhl ciwgc28gdGhleSBuZWVkIHRvIHNldCBhIHNpbWlsYXINCj4gb3B0aW9uIGZvciBOIGxhbmd1YWdl cy4NCg0KQW5kIGlmIHRoZXkgZG9uJ3QgaGF2ZSB0aG9zZSBvcHRpb25zLA0KdGhlbiB3aGF0PyAg SG93IGRvIHRoZXkgdGhlbiBnZXQgYmVoYXZpb3INCnRoZXkgd2FudCBhY3Jvc3MgdGhvc2UgTiBs YW5ndWFnZXM/DQoNCk5vdGhpbmcgcHJldmVudHMgYSBsaWJyYXJ5IChvciBFbWFjcykNCmZyb20g cHJvdmlkaW5nIHdheXMgdG8gYWZmZWN0IG11bHRpcGxlDQpzdWNoIG9wdGlvbnMgdG9nZXRoZXIs IGFjcm9zcyB5b3VyIE4NCmxhbmd1YWdlcy4NCg0KVGhhdCdzIG5vdCBoYXJkIHRvIGRvLiAgQW5k IGl0IGxldHMgdXNlcnMNCmRlY2lkZSBmb3IgX3doaWNoIE5fIG9mIHRoZSBOK00gZXhpc3RpbmcN Cmxhbmd1YWdlcyB3aXRoIGZvbnQtbG9jayBsZXZlbHMgdGhleSByZWFsbHkNCndhbnQgdG8gb3Zl cnJpZGUgdGhlIGRlZmF1bHQgdmFsdWUuDQoNCj4gPiBTaW5jZSB3ZSBhcmUgZGVzaWduaW5nIGEg bmV3IHN5c3RlbSwgSSBkb27igJl0DQo+ID4gdGhpbmsgd2UgbmVlZCB0byByZXNvcnQgdG8gdGhl IGxpa2VzIG9mIGZvbnQtbG9jay1pZ25vcmUuDQo+IA0KPiBJdCdzIGV4YWN0bHkgdGhlIG9wcG9z aXRlOiBzaW5jZSB5b3UgYXJlIGRlc2lnbmluZw0KPiBhIG5ldyBzeXN0ZW1zLCB5b3UgY2FuIGNy ZWF0ZSBhIG11Y2ggbmljZXINCj4gY3VzdG9taXphdGlvbiBtZWNoYW5pc20gb24gdGhlIGxpbmVz IG9mDQo+IGZvbnQtbG9jay1pZ25vcmUuICBGb3IgaW5zdGFuY2UsIG9uZSBjb3VsZCBzZWxlY3Qg DQo+IGZvbnRpZmljYXRpb24gcnVsZXMgYmFzZWQgb24gdGhlIGFmZmVjdGVkIG5vZGUgdHlwZS4N Cj4gDQo+IFRoZSDigJxkZWNvcmF0aW9uIGxldmVsc+KAnSBmZWF0dXJlIGNhbiB0aGVuIGJ1aWxk IHVwIG9uIHRoaXMsIHdpdGggdGhlDQo+IGFkdmFudGFnZSB0aGF0IGl0IHdvdWxkIGJlIGNvbnNp c3RlbnQgYWNyb3NzIGxhbmd1YWdlcyBhbmQgcmVxdWlyZSBubw0KPiBleHRyYSBlZmZvcnQgZnJv bSB0aGUgbWFqb3IgbW9kZSBkZXZlbG9wZXIuDQoNClNlZSBodHRwczovL2xpc3RzLmdudS5vcmcv YXJjaGl2ZS9odG1sL2VtYWNzLWRldmVsLzIwMjItMDQvbXNnMDAwNjYuaHRtbA0KDQpJJ20gbm90 IGFnYWluc3QgZ2l2aW5nIHVzZXJzIGFuZCBsaWJyYXJ5DQphdXRob3JzIG11bHRpcGxlLWdyYWlu LCBzZWxlY3RpdmUgd2F5cyB0bw0Kb3ZlcnJpZGUvcHJldmVudCBmb250LWxvY2tpbmcuICBJIHBy b3Bvc2VkDQp0aGlzIGxvbmcgYWdvLg0KDQpJIHN0aWxsIGhhdmVuJ3QgZm91bmQgdGhlIHRocmVh ZCB3aGVyZSB0aGUNCmN1cnJlbnQgYGZvbnQtbG9jay1pZ25vcmUnIGlzIGludHJvZHVjZWQsIHNv DQppdCdzIGhhcmQgdG8gY29tbWVudCBvbiBpdC4gIEkgYXNrZWQgYWJvdXQNCml0LCBidXQgd2Fz IG5ldmVyIHBvaW50ZWQgdG8gaXQuDQoNCkJ1dCBpcyBpdCByZWFsbHkgcmVsYXRlZCB0byB3aGV0 aGVyIGl0IGNhbg0KYmUgdXNlZnVsIHRvIHByb3ZpZGUgbW9yZSB0aGFuIG9uZSBmb250LWxvY2sN CmxldmVsPw0KDQpCb3RoIGZpbmUtZ3JhaW5lZCBhbmQgY29hcnNlLWdyYWluZWQgY29udHJvbA0K b3ZlciBhbiBleGlzdGluZyBzZXQgb2YgZm9udC1sb2NrIHJ1bGVzIGFuZA0KZmFjZXMgYXJlIHVz ZWZ1bCwgYnkgYm90aCAiZW5kIiB1c2VycyBhbmQNCmxpYnJhcnkgYXV0aG9ycy4NCg0KRm9udC1s b2NrIGxldmVscyBjYW4gcHJvdmlkZSBvbmUga2luZCBvZiBzdWNoDQooY29hcnNlLWdyYWluZWQp IGNvbnRyb2wuDQoNCldoeSBzaG91bGQgdGhlIGBmb250LWxvY2staWdub3JlJyBmZWF0dXJlDQpi ZWluZyBkaXNjdXNzZWQgKGZvciB3aGljaCBJIGhhdmVuJ3QgZm91bmQNCmFueSBzcGVjIG9yIGNv ZGUsIHRoZSBvbmx5IHRocmVhZCBJIGZvdW5kIGZvcg0KaXQgc3RhcnRpbmcgd2l0aCBFbGkncyBj b21tZW50cyBbMV0gb24gc29tZQ0KcHJldmlvdXMgdGhyZWFkIChzb21ld2hlcmU/KSBhYm91dCAi bWFzdGVyDQo1YzcwZmY5Iikgb2J2aWF0ZSB0aGUgdXNlZnVsbmVzcyBvZiBmb250LWxvY2sNCmxl dmVscz8gIFdoeSBkb2VzIHRoZSBvbmUgcHJlY2x1ZGUgdXNlIG9mIHRoZQ0Kb3RoZXI/DQpfX18N Cg0KWzFdIGh0dHBzOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvZW1hY3MtZGV2ZWwvMjAy Mi0wNC9tc2cwMDA0MS5odG1sDQo=