From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.bugs Subject: bug#61302: 29.0.60; rust-ts-mode does not show function-invocation on field-properties Date: Sat, 18 Feb 2023 22:59:38 +0200 Message-ID: <584c0e74-21d0-1417-88a5-a9826955f857@yandex.ru> References: <6209c097-0369-828a-7513-d8afb73fd7f0@secure.kjonigsen.net> <33cec9a6-7e69-2eb3-a8a6-58ce23a5c185@yandex.ru> <61cb2b34-0be2-1f69-e72d-5351fbe9e48f@yandex.ru> <5075852e-480b-7ca9-ba46-8de230ed8df5@secure.kjonigsen.net> <6b75a99f-05fd-cde9-e9fe-7191f12d72e1@yandex.ru> <8b3e632b-18de-f23c-675a-24905bbfbc23@yandex.ru> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------pwloje0l0eLr021hHcrpC0nS" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="10920"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Cc: eliz@gnu.org, Jostein =?UTF-8?Q?Kj=C3=B8nigsen?= , Yuan Fu , 61302@debbugs.gnu.org To: Randy Taylor Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Feb 18 22:00:24 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1pTUJk-0002ey-7F for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 18 Feb 2023 22:00:24 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pTUJR-0006Dp-Tb; Sat, 18 Feb 2023 16:00:05 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pTUJP-0006DK-23 for bug-gnu-emacs@gnu.org; Sat, 18 Feb 2023 16:00:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pTUJO-0002tH-OJ for bug-gnu-emacs@gnu.org; Sat, 18 Feb 2023 16:00:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pTUJO-000284-Bj for bug-gnu-emacs@gnu.org; Sat, 18 Feb 2023 16:00:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 18 Feb 2023 21:00:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 61302 X-GNU-PR-Package: emacs Original-Received: via spool by 61302-submit@debbugs.gnu.org id=B61302.16767539908138 (code B ref 61302); Sat, 18 Feb 2023 21:00:02 +0000 Original-Received: (at 61302) by debbugs.gnu.org; 18 Feb 2023 20:59:50 +0000 Original-Received: from localhost ([127.0.0.1]:45070 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pTUJB-00027B-Eu for submit@debbugs.gnu.org; Sat, 18 Feb 2023 15:59:50 -0500 Original-Received: from mail-wr1-f46.google.com ([209.85.221.46]:41504) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pTUJ9-00026x-BH for 61302@debbugs.gnu.org; Sat, 18 Feb 2023 15:59:48 -0500 Original-Received: by mail-wr1-f46.google.com with SMTP id bl19so1078491wrb.8 for <61302@debbugs.gnu.org>; Sat, 18 Feb 2023 12:59:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:references:cc:to:from:content-language:subject :user-agent:mime-version:date:message-id:sender:from:to:cc:subject :date:message-id:reply-to; bh=EwuUyQYFZR0pTzMQ81dqst+vY66F14lMPaT8+1TU6og=; b=DdW1NiAOD74Hx2UFG0QQQacogkGcXvyh/1oxHdoAufomOBdfj3si1dTLfsCfTF1CqM PHYmRQsi3l1qjHBd7Xl7W288AZfstvDlNl21MAsA9RALZAQDj2FOwazuWYeoiHOQnVg8 oVD8izFSGkL0yZVAVJWKPD2YixBC7AMnlyqfkF1sjUsYYTz94XvUE52MeGn0awZ7aDDO lYS3L7rRDdFlhBkAusMv9QSc4dxKrNEQbLQPYvWi4dZxSTdrzydFLpVAKVrIFx2BtYUD APJ9bSa/i17GU/Y0Axfo5GtfcK7WVZxPGJ71gGpGosGCRSUl7i0cNcaHeTsgtNS5dhhe 0+kw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:references:cc:to:from:content-language:subject :user-agent:mime-version:date:message-id:sender:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=EwuUyQYFZR0pTzMQ81dqst+vY66F14lMPaT8+1TU6og=; b=gIm+XcSoz7T95/wyzdyXg8Lwpiys7/808j8rD+rjbGKuFIWHijJJwrXTbQtDH5d8z7 OW/ebdKNSif+vi6UME/1RK2D91YGPYtak57aGBucYx5QE+3YrFeyqedNdsq1Gj6TkzEl DTBFkzJ9dU0hWOAMeWe+EHIml+iptwJa3Z8Rc187xVP5jA0t2s8DUHKu1lATObVq52nS P1T1f75yuyst2e2kYfYzl3xldahDhvwenwSpjZHZmylzycj0WKM2zE4AotPAVL/koZ8u 8Ubk/wtlyu9uPu0KKUE3iSk/PdF50ZacDEL1no1l4jeNWAyKC+vG5tXxw6iw+TDwP6wZ nUpg== X-Gm-Message-State: AO0yUKW6FNSsZQKqtunGIu9/kiOEr/dseIozxqeznbDvdB1P9IbhbE1V 6LeyBHdDRpSs0R+U4MJntQI= X-Google-Smtp-Source: AK7set/TL89Df2cPqpLOWrppesQMHcHNXWPo37i6ZNAtxyDFt1Zmj57I94kHQp6NE2AHhO2SRcXDDg== X-Received: by 2002:a5d:6d08:0:b0:2c5:996f:6baf with SMTP id e8-20020a5d6d08000000b002c5996f6bafmr1099804wrq.26.1676753981200; Sat, 18 Feb 2023 12:59:41 -0800 (PST) Original-Received: from [192.168.0.2] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id n6-20020a5d6b86000000b002c6e8cb612fsm1913721wrx.92.2023.02.18.12.59.39 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 18 Feb 2023 12:59:40 -0800 (PST) Content-Language: en-US In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:255994 Archived-At: This is a multi-part message in MIME format. --------------pwloje0l0eLr021hHcrpC0nS Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 18/02/2023 05:27, Dmitry Gutov wrote: > On 16/02/2023 03:53, Dmitry Gutov wrote: >> But the new one will need to check that the parent is >> 'scoped_identifier', and the grandparent is not a 'call_expression' >> node, or 'use_as_clause', or 'use_declaration', etc, and the name >> itself is lowercase -- when so, skip highlighting. And highlight with >> one of the two faces when otherwise. >> >> Shouldn't be too hard to do, but I'm wary about the additional cost at >> runtime. > > So, this seems to work. > > At the cost of some performance overhead due to :pred in the 'variable' > query (the rest of the changes don't seem to affect the runtime -- guess > the Lisp calls were balanced out by fewer queries). It seems the check could be further simplified (no variable can be part of a scoping expression, I believe): (defun rust-ts-mode--variable-p (node) (let* ((parent (treesit-node-parent node)) (parent-type (treesit-node-type parent))) ;; Everything in a token_tree is an identifier. (not (string-match-p "token_tree\\|scoped_identifier" parent-type)))) But that does not improve performance. I also tried to create a query with negation, but it seems you can't do that for parent type. What works, and removes the performance drop, is enumerating all possible parent types which can contain an identifier to be highlighted as a variable. It's a moderately large list, see if I maybe missed some. Randy, Jostein, feedback welcome. --------------pwloje0l0eLr021hHcrpC0nS Content-Type: text/x-patch; charset=UTF-8; name="rust-ts-fontify-scope-v2.diff" Content-Disposition: attachment; filename="rust-ts-fontify-scope-v2.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3AvcHJvZ21vZGVzL3J1c3QtdHMtbW9kZS5lbCBiL2xpc3AvcHJv Z21vZGVzL3J1c3QtdHMtbW9kZS5lbAppbmRleCBlYzgyM2QwOWQ4Yy4uMDY0YmE2YjIxZTYg MTAwNjQ0Ci0tLSBhL2xpc3AvcHJvZ21vZGVzL3J1c3QtdHMtbW9kZS5lbAorKysgYi9saXNw L3Byb2dtb2Rlcy9ydXN0LXRzLW1vZGUuZWwKQEAgLTIwOCw1MCArMjA4LDExIEBAIHJ1c3Qt dHMtbW9kZS0tZm9udC1sb2NrLXNldHRpbmdzCiAgICBgKChzY29wZWRfdXNlX2xpc3QgcGF0 aDogKGlkZW50aWZpZXIpIEBmb250LWxvY2stY29uc3RhbnQtZmFjZSkKICAgICAgKHNjb3Bl ZF91c2VfbGlzdCBwYXRoOiAoc2NvcGVkX2lkZW50aWZpZXIKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbmFtZTogKGlkZW50aWZpZXIpIEBmb250LWxvY2stY29uc3RhbnQtZmFj ZSkpCi0KLSAgICAgKCh1c2VfYXNfY2xhdXNlIGFsaWFzOiAoaWRlbnRpZmllcikgQGZvbnQt bG9jay10eXBlLWZhY2UpCi0gICAgICAoOm1hdGNoICJeW0EtWl0iIEBmb250LWxvY2stdHlw ZS1mYWNlKSkKLSAgICAgKCh1c2VfYXNfY2xhdXNlIHBhdGg6IChpZGVudGlmaWVyKSBAZm9u dC1sb2NrLXR5cGUtZmFjZSkKLSAgICAgICg6bWF0Y2ggIl5bQS1aXSIgQGZvbnQtbG9jay10 eXBlLWZhY2UpKQotICAgICAoKHVzZV9hc19jbGF1c2UgcGF0aDoKLSAgICAgICAgICAgICAg ICAgICAgIChzY29wZWRfaWRlbnRpZmllciBwYXRoOiAoXykKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay10 eXBlLWZhY2UpKQotICAgICAgKDptYXRjaCAiXltBLVpdIiBAZm9udC1sb2NrLXR5cGUtZmFj ZSkpCi0gICAgICh1c2VfYXNfY2xhdXNlIHBhdGg6IChzY29wZWRfaWRlbnRpZmllciBuYW1l OiAoaWRlbnRpZmllcikgQGRlZmF1bHQpKQotCi0gICAgICgodXNlX2RlY2xhcmF0aW9uCi0g ICAgICAgYXJndW1lbnQ6IChzY29wZWRfaWRlbnRpZmllcgotICAgICAgICAgICAgICAgICAg cGF0aDogKF8pIEBmb250LWxvY2stY29uc3RhbnQtZmFjZQotICAgICAgICAgICAgICAgICAg bmFtZTogKGlkZW50aWZpZXIpIEBmb250LWxvY2stdHlwZS1mYWNlKSkKLSAgICAgICg6bWF0 Y2ggIl5bQS1aXSIgQGZvbnQtbG9jay10eXBlLWZhY2UpKQotICAgICAodXNlX2RlY2xhcmF0 aW9uCi0gICAgICBhcmd1bWVudDogKHNjb3BlZF9pZGVudGlmaWVyCi0gICAgICAgICAgICAg ICAgIG5hbWU6IChpZGVudGlmaWVyKSBAZGVmYXVsdCkpCi0KLSAgICAgKHVzZV9kZWNsYXJh dGlvbgotICAgICAgYXJndW1lbnQ6IChzY29wZWRfaWRlbnRpZmllcgotICAgICAgICAgICAg ICAgICBwYXRoOiAoc2NvcGVkX2lkZW50aWZpZXIKLSAgICAgICAgICAgICAgICAgICAgICAg IHBhdGg6IChfKSBAZm9udC1sb2NrLWNvbnN0YW50LWZhY2UKLSAgICAgICAgICAgICAgICAg ICAgICAgIG5hbWU6IChpZGVudGlmaWVyKSBAZm9udC1sb2NrLWNvbnN0YW50LWZhY2UpCi0g ICAgICAgICAgICAgICAgIG5hbWU6IChpZGVudGlmaWVyKSBAZGVmYXVsdCkpCi0KLSAgICAg KHVzZV9kZWNsYXJhdGlvbgotICAgICAgYXJndW1lbnQ6IChzY29wZWRfdXNlX2xpc3QKLSAg ICAgICAgICAgICAgICAgcGF0aDogKHNjb3BlZF9pZGVudGlmaWVyCi0gICAgICAgICAgICAg ICAgICAgICAgICBwYXRoOiAoXykgQGZvbnQtbG9jay1jb25zdGFudC1mYWNlCi0gICAgICAg ICAgICAgICAgICAgICAgICBuYW1lOiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay1jb25zdGFu dC1mYWNlKSkpCi0KICAgICAgKCh1c2VfbGlzdCAoaWRlbnRpZmllcikgQGZvbnQtbG9jay10 eXBlLWZhY2UpCiAgICAgICAoOm1hdGNoICJeW0EtWl0iIEBmb250LWxvY2stdHlwZS1mYWNl KSkKLSAgICAgKHVzZV9saXN0IChpZGVudGlmaWVyKSBAZGVmYXVsdCkKLSAgICAgKCh1c2Vf bGlzdCAoc2NvcGVkX2lkZW50aWZpZXIgcGF0aDogKF8pCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG5hbWU6IChpZGVudGlmaWVyKSBAZm9udC1sb2NrLXR5cGUtZmFj ZSkpCi0gICAgICAoOm1hdGNoICJeW0EtWl0iIEBmb250LWxvY2stdHlwZS1mYWNlKSkKLSAg ICAgKHVzZV9saXN0IChzY29wZWRfaWRlbnRpZmllciBwYXRoOiAoXykKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAoaWRlbnRpZmllcikgQGRlZmF1bHQpKQot ICAgICAodXNlX3dpbGRjYXJkIChzY29wZWRfaWRlbnRpZmllcgotICAgICAgICAgICAgICAg ICAgICBuYW1lOiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay1jb25zdGFudC1mYWNlKSkKLQor ICAgICAodXNlX3dpbGRjYXJkIFsoaWRlbnRpZmllcikgQHJ1c3QtdHMtbW9kZS0tZm9udGlm eS1zY29wZQorICAgICAgICAgICAgICAgICAgICAoc2NvcGVkX2lkZW50aWZpZXIKKyAgICAg ICAgICAgICAgICAgICAgIG5hbWU6IChpZGVudGlmaWVyKSBAcnVzdC10cy1tb2RlLS1mb250 aWZ5LXNjb3BlKV0pCiAgICAgIChlbnVtX3ZhcmlhbnQgbmFtZTogKGlkZW50aWZpZXIpIEBm b250LWxvY2stdHlwZS1mYWNlKQogICAgICAobWF0Y2hfYXJtCiAgICAgICBwYXR0ZXJuOiAo bWF0Y2hfcGF0dGVybiAoXyB0eXBlOiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay10eXBlLWZh Y2UpKSkKQEAgLTI2MiwzMSArMjIzLDEzIEBAIHJ1c3QtdHMtbW9kZS0tZm9udC1sb2NrLXNl dHRpbmdzCiAgICAgIChtb2RfaXRlbSBuYW1lOiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay1j b25zdGFudC1mYWNlKQogICAgICAocHJpbWl0aXZlX3R5cGUpIEBmb250LWxvY2stdHlwZS1m YWNlCiAgICAgICh0eXBlX2lkZW50aWZpZXIpIEBmb250LWxvY2stdHlwZS1mYWNlCi0gICAg ICgoc2NvcGVkX2lkZW50aWZpZXIgbmFtZTogKGlkZW50aWZpZXIpIEBmb250LWxvY2stdHlw ZS1mYWNlKQotICAgICAgKDptYXRjaCAiXltBLVpdIiBAZm9udC1sb2NrLXR5cGUtZmFjZSkp Ci0gICAgICgoc2NvcGVkX2lkZW50aWZpZXIgcGF0aDogKGlkZW50aWZpZXIpIEBmb250LWxv Y2stdHlwZS1mYWNlKQotICAgICAgKDptYXRjaCAiXltBLVpdIiBAZm9udC1sb2NrLXR5cGUt ZmFjZSkpCi0gICAgICgoc2NvcGVkX2lkZW50aWZpZXIKLSAgICAgICBwYXRoOiBbKGlkZW50 aWZpZXIpIEBmb250LWxvY2stdHlwZS1mYWNlCi0gICAgICAgICAgICAgIChzY29wZWRfaWRl bnRpZmllcgotICAgICAgICAgICAgICAgbmFtZTogKGlkZW50aWZpZXIpIEBmb250LWxvY2st dHlwZS1mYWNlKV0pCi0gICAgICAoOm1hdGNoICJeW0EtWl0iIEBmb250LWxvY2stdHlwZS1m YWNlKSkKKyAgICAgKChzY29wZWRfaWRlbnRpZmllciBuYW1lOiAoaWRlbnRpZmllcikgQHJ1 c3QtdHMtbW9kZS0tZm9udGlmeS10YWlsKSkKICAgICAgKChzY29wZWRfaWRlbnRpZmllciBw YXRoOiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay10eXBlLWZhY2UpCiAgICAgICAoOm1hdGNo CiAgICAgICAgIl5cXCh1OFxcfHUxNlxcfHUzMlxcfHU2NFxcfHUxMjhcXHx1c2l6ZVxcfGk4 XFx8aTE2XFx8aTMyXFx8aTY0XFx8aTEyOFxcfGlzaXplXFx8Y2hhclxcfHN0clxcKSQiCiAg ICAgICAgQGZvbnQtbG9jay10eXBlLWZhY2UpKQotICAgICAoc2NvcGVkX2lkZW50aWZpZXIg cGF0aDogKF8pIEBmb250LWxvY2stY29uc3RhbnQtZmFjZQotICAgICAgICAgICAgICAgICAg ICAgICAgbmFtZTogKGlkZW50aWZpZXIpIEBmb250LWxvY2stdHlwZS1mYWNlKQotICAgICAo c2NvcGVkX2lkZW50aWZpZXIgcGF0aDogKHNjb3BlZF9pZGVudGlmaWVyCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbmFtZTogKGlkZW50aWZpZXIpIEBmb250LWxvY2stY29u c3RhbnQtZmFjZSkpCi0gICAgIChzY29wZWRfdHlwZV9pZGVudGlmaWVyIHBhdGg6IChfKSBA Zm9udC1sb2NrLWNvbnN0YW50LWZhY2UpCi0gICAgIChzY29wZWRfdHlwZV9pZGVudGlmaWVy Ci0gICAgICBwYXRoOiAoc2NvcGVkX2lkZW50aWZpZXIKLSAgICAgICAgICAgICBwYXRoOiAo XykgQGZvbnQtbG9jay1jb25zdGFudC1mYWNlCi0gICAgICAgICAgICAgbmFtZTogKGlkZW50 aWZpZXIpIEBmb250LWxvY2stY29uc3RhbnQtZmFjZSkpCi0gICAgICh0eXBlX2lkZW50aWZp ZXIpIEBmb250LWxvY2stdHlwZS1mYWNlCi0gICAgIDs7IEVuc3VyZSBmdW5jdGlvbiBjYWxs cyBhcmVuJ3QgaGlnaGxpZ2h0ZWQgYXMgdHlwZXMuCi0gICAgIChjYWxsX2V4cHJlc3Npb24g ZnVuY3Rpb246IChzY29wZWRfaWRlbnRpZmllciBuYW1lOiAoaWRlbnRpZmllcikgQGRlZmF1 bHQpKSkKKyAgICAgKChzY29wZWRfaWRlbnRpZmllciBwYXRoOiAoaWRlbnRpZmllcikgQHJ1 c3QtdHMtbW9kZS0tZm9udGlmeS1zY29wZSkpCisgICAgICh0eXBlX2lkZW50aWZpZXIpIEBm b250LWxvY2stdHlwZS1mYWNlKQogCiAgICA6bGFuZ3VhZ2UgJ3J1c3QKICAgIDpmZWF0dXJl ICdwcm9wZXJ0eQpAQCAtMzAyLDkgKzI0NSwyMyBAQCBydXN0LXRzLW1vZGUtLWZvbnQtbG9j ay1zZXR0aW5ncwogCiAgICA6bGFuZ3VhZ2UgJ3J1c3QKICAgIDpmZWF0dXJlICd2YXJpYWJs ZQotICAgJygoaWRlbnRpZmllcikgQGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UKLSAg ICAgOzsgRXZlcnl0aGluZyBpbiBhIHRva2VuX3RyZWUgaXMgYW4gaWRlbnRpZmllci4KLSAg ICAgKHRva2VuX3RyZWUgKGlkZW50aWZpZXIpIEBkZWZhdWx0KSkKKyAgICcoKGNvbXBvdW5k X2Fzc2lnbm1lbnRfZXhwciByaWdodDogKGlkZW50aWZpZXIpIEBmb250LWxvY2stdmFyaWFi bGUtbmFtZS1mYWNlKQorICAgICAoYXNzaWdubWVudF9leHByZXNzaW9uIHJpZ2h0OiAoaWRl bnRpZmllcikgQGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpCisgICAgIChsZXRfZGVj bGFyYXRpb24gdmFsdWU6IChpZGVudGlmaWVyKSBAZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUt ZmFjZSkKKyAgICAgKGJpbmFyeV9leHByZXNzaW9uIGxlZnQ6IChpZGVudGlmaWVyKSBAZm9u dC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkKKyAgICAgKGJpbmFyeV9leHByZXNzaW9uIHJp Z2h0OiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpCisgICAg IChpZl9leHByZXNzaW9uIGNvbmRpdGlvbjogKGlkZW50aWZpZXIpIEBmb250LWxvY2stdmFy aWFibGUtbmFtZS1mYWNlKQorICAgICAobGV0X2NvbmRpdGlvbiB2YWx1ZTogKGlkZW50aWZp ZXIpIEBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKQorICAgICAod2hpbGVfZXhwcmVz c2lvbiBjb25kaXRpb246IChpZGVudGlmaWVyKSBAZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUt ZmFjZSkKKyAgICAgKGZpZWxkX2V4cHJlc3Npb24gdmFsdWU6IChpZGVudGlmaWVyKSBAZm9u dC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkKKyAgICAgKHJlZmVyZW5jZV9leHByZXNzaW9u IHZhbHVlOiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpCisg ICAgIChtYXRjaF9leHByZXNzaW9uIHZhbHVlOiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay12 YXJpYWJsZS1uYW1lLWZhY2UpCisgICAgIChtYXRjaF9hcm0gdmFsdWU6IChpZGVudGlmaWVy KSBAZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkKKyAgICAgKGFyZ3VtZW50cyAoaWRl bnRpZmllcikgQGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpCisgICAgIChibG9jayAo aWRlbnRpZmllcikgQGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpCisgICAgIChhcnJh eV9leHByZXNzaW9uIChpZGVudGlmaWVyKSBAZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFj ZSkKKyAgICAgKHR1cGxlX2V4cHJlc3Npb24gKGlkZW50aWZpZXIpIEBmb250LWxvY2stdmFy aWFibGUtbmFtZS1mYWNlKQorICAgICAocmV0dXJuX2V4cHJlc3Npb24gKGlkZW50aWZpZXIp IEBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkKIAogICAgOmxhbmd1YWdlICdydXN0 CiAgICA6ZmVhdHVyZSAnZXNjYXBlLXNlcXVlbmNlCkBAIC0zMTcsNiArMjc0LDI4IEBAIHJ1 c3QtdHMtbW9kZS0tZm9udC1sb2NrLXNldHRpbmdzCiAgICAnKChFUlJPUikgQGZvbnQtbG9j ay13YXJuaW5nLWZhY2UpKQogICAiVHJlZS1zaXR0ZXIgZm9udC1sb2NrIHNldHRpbmdzIGZv ciBgcnVzdC10cy1tb2RlJy4iKQogCisoZGVmdW4gcnVzdC10cy1tb2RlLS1mb250aWZ5LXNj b3BlIChub2RlIG92ZXJyaWRlIHN0YXJ0IGVuZCAmb3B0aW9uYWwgdGFpbC1wKQorICAobGV0 KiAoKGNhc2UtZm9sZC1zZWFyY2ggbmlsKQorICAgICAgICAgKGZhY2UKKyAgICAgICAgICAo Y29uZAorICAgICAgICAgICAoKHN0cmluZy1tYXRjaC1wICJeW0EtWl0iICh0cmVlc2l0LW5v ZGUtdGV4dCBub2RlKSkKKyAgICAgICAgICAgICdmb250LWxvY2stdHlwZS1mYWNlKQorICAg ICAgICAgICAoKGFuZAorICAgICAgICAgICAgIHRhaWwtcAorICAgICAgICAgICAgIChzdHJp bmctbWF0Y2gtcAorICAgICAgICAgICAgICAiXFxgXFwoPzp1c2VfbGlzdFxcfGNhbGxfZXhw cmVzc2lvblxcfHVzZV9hc19jbGF1c2VcXHx1c2VfZGVjbGFyYXRpb25cXClcXCciCisgICAg ICAgICAgICAgICh0cmVlc2l0LW5vZGUtdHlwZSAodHJlZXNpdC1ub2RlLXBhcmVudCBub2Rl KSkpKQorICAgICAgICAgICAgbmlsKQorICAgICAgICAgICAodCAnZm9udC1sb2NrLWNvbnN0 YW50LWZhY2UpKSkpCisgICAgKHdoZW4gZmFjZQorICAgICAgKHRyZWVzaXQtZm9udGlmeS13 aXRoLW92ZXJyaWRlCisgICAgICAgKHRyZWVzaXQtbm9kZS1zdGFydCBub2RlKSAodHJlZXNp dC1ub2RlLWVuZCBub2RlKQorICAgICAgIGZhY2UKKyAgICAgICBvdmVycmlkZSBzdGFydCBl bmQpKSkpCisKKyhkZWZ1biBydXN0LXRzLW1vZGUtLWZvbnRpZnktdGFpbCAobm9kZSBvdmVy cmlkZSBzdGFydCBlbmQpCisgIChydXN0LXRzLW1vZGUtLWZvbnRpZnktc2NvcGUgbm9kZSBv dmVycmlkZSBzdGFydCBlbmQgdCkpCisKIChkZWZhbGlhcyAncnVzdC10cy1tb2RlLS1mb250 aWZ5LXBhdHRlcm4KICAgKGFuZAogICAgKHRyZWVzaXQtYXZhaWxhYmxlLXApCg== --------------pwloje0l0eLr021hHcrpC0nS--