From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stephen Berman Newsgroups: gmane.emacs.bugs Subject: bug#56682: Fix the long lines font locking related slowdowns Date: Wed, 10 Aug 2022 11:35:14 +0200 Message-ID: <87fsi4wiel.fsf@gmx.net> References: <83r11uzs8n.fsf@gnu.org> <14845631-c2ef-8371-8606-c858092e3192@yandex.ru> <83mtcizov2.fsf@gnu.org> <83h72qzheq.fsf@gnu.org> <25717d84-3411-a93a-3620-e04fe0571aff@yandex.ru> <83edxuzemr.fsf@gnu.org> <83a68hzz0a.fsf@gnu.org> <6ae35c93062c589b2e02@heytings.org> <7b7fbad7-55ac-49b8-840f-7f89a7e8771a@yandex.ru> <6ae35c93064b3588974c@heytings.org> <6ae35c9306c515f420d8@heytings.org> <87k07gwkjq.fsf@gmx.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="20215"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Cc: 56682@debbugs.gnu.org, Eli Zaretskii , monnier@iro.umontreal.ca, Dmitry Gutov To: Gregory Heytings Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Aug 10 11:36:53 2022 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 1oLi8y-00056c-Q9 for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 10 Aug 2022 11:36:52 +0200 Original-Received: from localhost ([::1]:42452 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oLi8x-00019h-OD for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 10 Aug 2022 05:36:51 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:57398) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oLi8A-00018m-CY for bug-gnu-emacs@gnu.org; Wed, 10 Aug 2022 05:36:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:56357) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oLi89-0004n7-VY for bug-gnu-emacs@gnu.org; Wed, 10 Aug 2022 05:36:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oLi89-0000tY-QE for bug-gnu-emacs@gnu.org; Wed, 10 Aug 2022 05:36:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Stephen Berman Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 10 Aug 2022 09:36:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56682 X-GNU-PR-Package: emacs Original-Received: via spool by 56682-submit@debbugs.gnu.org id=B56682.16601241303397 (code B ref 56682); Wed, 10 Aug 2022 09:36:01 +0000 Original-Received: (at 56682) by debbugs.gnu.org; 10 Aug 2022 09:35:30 +0000 Original-Received: from localhost ([127.0.0.1]:46106 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oLi7e-0000si-5F for submit@debbugs.gnu.org; Wed, 10 Aug 2022 05:35:30 -0400 Original-Received: from mout.gmx.net ([212.227.15.19]:39433) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oLi7b-0000sT-M3 for 56682@debbugs.gnu.org; Wed, 10 Aug 2022 05:35:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1660124118; bh=RVC/9IvVZBSdqNWHh+u3dNy1jE2IM2MpOVhxYJN3188=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date; b=Obo7FxgyZNwLpg+8U93uQ8pNz0CoLq5DB9yWQlgRMGBjhzzOiBtuBnx2OWgh0rJg6 2D1X/rKXLMwk5s21qx75K8wtqbIkmrGMXzCInN/Ce7ZPVHusYkKu9C3OWYDj7CNFhm eYRunLzhGbNDjJ/uLKP7PnInbSthErCdUoQJWJwY= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Original-Received: from strobelfs2 ([89.246.36.16]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1N79yQ-1nL1is1AWS-017X0Z; Wed, 10 Aug 2022 11:35:18 +0200 In-Reply-To: (Gregory Heytings's message of "Wed, 10 Aug 2022 09:04:06 +0000") X-Provags-ID: V03:K1:VcW3eYpSmXb0fC1pfWOIQsmNEiuIoXXonWzSKJsxov57YK/iEz/ ZNnwX8fbQrMJ4t/yBbfw6df4SRe2nWtmD+fXoIzrxRcbUdwOOn4ZPebY4gm+lxgr15FfODK 3FR9iZg5L53lq0w5eQjwH1IwUo46O/aWfDtSXXEdReIQId3M0hPrWkaPIvQvNkY6z534CCG uOn3g9qCicWDO0KS+r0nQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:kYsm9lopR+A=:bNfH4L16zPxKriTCKISjS7 zH9hW52yuNAl4KypZqAUXA5PqNZtWL3Ythp5zTqUXhTQflwf3lZjo8nrDQrxJefT6qDjDeizb x4AmzfxkPoTYfvNpliQwzJ0cNLgMoSkBv3CrywThQOpK/25ibMej53TFGKAhRcPy7smKNb4t7 Ap7HIn33NTKpK6SHpBoNEJZ2wFY9Q2MxsHS6ZHJNTFQQ27W1l1nRlQ86sMJTBviHXKZPbG6ze nyhqcxPZm8QUwYYVgvIL8tsk88Xm0+XaaVrDLG8oqCHHNZMfnmA+x93x8SCTzJ6sITxKKNFBr r61RdErGsoQrNQ4T4JIoTZVNL3F95p0OEPo+MK2BcBlSV1To9VSxIs2ITwfWNuaYTpD5dcBLi ha58Fd07Ar46gYexkASH9Gg+z7+LXhhXT5iTL5BOEYenQerCQqIHvJrQBs3fB03Bw2xhAoyua FCfglljxSYNPp1n1MXz2JU/pBRM4VHQWD3HVtbYGcABAoJHWOQZ3UHlG5wGF5hjuR0ubfbb65 dr+x9YnAz1vpDRVFpQKwULJbfUQX/L5lfxqLfx3y7GTpU029+L/E6TwEWyNWJdbdwtFSG3cvG nfwRIa8qNDO0qFDZZUleuQqVTLHoGw/D4rUBXqwR+FTSidAAq+WG+DrgrTyQmtXulTzUKmqvj yg22btiwVxYCy6j4+yerQlOkIvGHgG3ljZZpJ2/yYafvhhBBqMr6NBycGjHpwCFWyBDr64RtF h+S6z5filQVmRiFvdeSDiTIpGWtz7KV2QINR1fVwypo+5n1UC4PZKtu3r52LnM6Q1d85CpvI 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" Xref: news.gmane.io gmane.emacs.bugs:239257 Archived-At: --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Wed, 10 Aug 2022 09:04:06 +0000 Gregory Heytings = wrote: >>> When I visit addons.json (from my Firefox directory), which is a single >>> line of (only) 19540 characters, and type `C-n' and hold down both keys, >>> the cursor stops moving almost immediately (on the third visual line) a= nd >>> after letting go of the keys and waiting several seconds, point jumps d= own >>> the buffer to its actual position; likewise with `C-p'. This is on mast= er >>> with -Q, and is no different from Emacs 28 (the only difference I notic= e is >>> that in master the buffer is wrongly fontified from position 8235 to the >>> end, while in 28 the entire buffer is correctly fontified). Is this >>> expected? (When I enable so-long-mode in the buffer, holding down `C-n= ' or >>> `C-p' produces no delay, both in master and 28.) >> >> That's not expected, no, and rather surprising because it would contradi= ct >> what we've seen so far. Can you post that file somewhere?=20 It contains nothing particularly personal, so I've attached it. >> The only poss= ible >> reason I can see ATM is that the file contains Arabic characters, which = are >> (and will remain) slow. No Arabic and only four non-ASCII characters (three occurrences of `=E2=80= =99' and one of `=C3=89'). > I forgot to mention: did you try after disabling show-paren-mode? It is = known > to slow down redisplay at the beginning and end of the buffer, and will > eventually be automatically turned off in these buffers. Disabling show-paren-mode makes no noticeable difference. Steve Berman --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=addons.json Content-Transfer-Encoding: base64 eyJzY2hlbWEiOjYsImFkZG9ucyI6W3siaWQiOiJ1QmxvY2swQHJheW1vbmRoaWxsLm5ldCIsImlj b25zIjp7IjMyIjoiaHR0cHM6Ly9hZGRvbnMubW96aWxsYS5vcmcvdXNlci1tZWRpYS9hZGRvbl9p Y29ucy82MDcvNjA3NDU0LTMyLnBuZz9tb2RpZmllZD1tY3J1c2hlZCIsIjY0IjoiaHR0cHM6Ly9h ZGRvbnMubW96aWxsYS5vcmcvdXNlci1tZWRpYS9hZGRvbl9pY29ucy82MDcvNjA3NDU0LTY0LnBu Zz9tb2RpZmllZD1tY3J1c2hlZCIsIjEyOCI6Imh0dHBzOi8vYWRkb25zLm1vemlsbGEub3JnL3Vz ZXItbWVkaWEvYWRkb25faWNvbnMvNjA3LzYwNzQ1NC0xMjgucG5nP21vZGlmaWVkPW1jcnVzaGVk In0sIm5hbWUiOiJ1QmxvY2sgT3JpZ2luIiwidmVyc2lvbiI6IjEuNDMuMCIsInNvdXJjZVVSSSI6 Imh0dHBzOi8vYWRkb25zLm1vemlsbGEub3JnL2ZpcmVmb3gvZG93bmxvYWRzL2ZpbGUvMzk2MTA4 Ny91YmxvY2tfb3JpZ2luLTEuNDMuMC54cGkiLCJob21lcGFnZVVSTCI6Imh0dHBzOi8vZ2l0aHVi LmNvbS9nb3JoaWxsL3VCbG9jayN1YmxvY2stb3JpZ2luIiwic3VwcG9ydFVSTCI6Imh0dHBzOi8v b2xkLnJlZGRpdC5jb20vci91QmxvY2tPcmlnaW4vIiwiZGVzY3JpcHRpb24iOiJGaW5hbGx5LCBh biBlZmZpY2llbnQgd2lkZS1zcGVjdHJ1bSBjb250ZW50IGJsb2NrZXIuIEVhc3kgb24gQ1BVIGFu ZCBtZW1vcnkuIiwiZnVsbERlc2NyaXB0aW9uIjoidUJsb2NrIE9yaWdpbiBpcyBub3QgYW4gXCJh ZCBibG9ja2VyXCIsIGl0J3MgYSB3aWRlLXNwZWN0cnVtIGNvbnRlbnQgYmxvY2tlciB3aXRoIENQ VSBhbmQgbWVtb3J5IGVmZmljaWVuY3kgYXMgYSBwcmltYXJ5IGZlYXR1cmUuXG5cbioqKlxuXG5P dXQgb2YgdGhlIGJveCwgdUJPIGJsb2NrcyBhZHMsIHRyYWNrZXJzLCBjb2luIG1pbmVycywgcG9w dXBzLCBldGMuIHRocm91Z2ggdGhlIGZvbGxvd2luZyBsaXN0cyBvZiBmaWx0ZXJzLCBlbmFibGVk IGJ5IGRlZmF1bHQ6XG5cbi0gRWFzeUxpc3QgKGFkcylcbi0gRWFzeVByaXZhY3kgKHRyYWNraW5n KVxuLSBQZXRlciBMb3dl4oCZcyBBZCBzZXJ2ZXIgbGlzdCAoYWRzIGFuZCB0cmFja2luZylcbi0g T25saW5lIE1hbGljaW91cyBVUkwgQmxvY2tsaXN0XG4tIHVCTydzIG93biBsaXN0c1xuXG5Nb3Jl IGxpc3RzIGFyZSBhdmFpbGFibGUgZm9yIHlvdSB0byBzZWxlY3QgaWYgeW91IHdpc2g6XG5cbi0g RWFzeUxpc3QgQ29va2llXG4tIEZhbmJveSBBbm5veWFuY2VzXG4tIEFkR3VhcmQgQW5ub3lhbmNl c1xuLSBEYW4gUG9sbG9ja+KAmXMgaG9zdHMgZmlsZVxuLSBBbmQgbWFueSBvdGhlcnNcblxuQWRk aXRpb25hbGx5LCB5b3UgY2FuIHBvaW50LWFuZC1jbGljayB0byBibG9jayBKYXZhU2NyaXB0IGxv Y2FsbHkgb3IgZ2xvYmFsbHksIGNyZWF0ZSB5b3VyIG93biBnbG9iYWwgb3IgbG9jYWwgcnVsZXMg dG8gb3ZlcnJpZGUgZW50cmllcyBmcm9tIGZpbHRlciBsaXN0cywgYW5kIG1hbnkgbW9yZSBhZHZh bmNlZCBmZWF0dXJlcy5cblxuKioqXG5cbkZyZWUuXG5PcGVuIHNvdXJjZSB3aXRoIHB1YmxpYyBs aWNlbnNlIChHUEx2MylcbkZvciB1c2VycyBieSB1c2Vycy5cblxuSWYgZXZlciB5b3UgcmVhbGx5 IGRvIHdhbnQgdG8gY29udHJpYnV0ZSBzb21ldGhpbmcsIHRoaW5rIGFib3V0IHRoZSBwZW9wbGUg d29ya2luZyBoYXJkIHRvIG1haW50YWluIHRoZSBmaWx0ZXIgbGlzdHMgeW91IGFyZSB1c2luZywg d2hpY2ggd2VyZSBtYWRlIGF2YWlsYWJsZSB0byB1c2UgYnkgYWxsIGZvciBmcmVlLlxuXG4qKipc blxuICAgIERvY3VtZW50YXRpb25cbiAgICBSZWxlYXNlIG5vdGVzXG4gICAgQ29tbXVuaXR5IHN1 cHBvcnQgQCBSZWRkaXRcbiAgICBDb250cmlidXRvcnMgQCBHaXRIdWJcbiAgICBDb250cmlidXRv cnMgQCBDcm93ZGluIiwid2Vla2x5RG93bmxvYWRzIjoxMjI1ODMsInR5cGUiOiJleHRlbnNpb24i LCJjcmVhdG9yIjp7Im5hbWUiOiJSYXltb25kIEhpbGwiLCJ1cmwiOiJodHRwczovL2FkZG9ucy5t b3ppbGxhLm9yZy9lbi1VUy9maXJlZm94L3VzZXIvMTE0MjM1OTgvIn0sImRldmVsb3BlcnMiOltd LCJzY3JlZW5zaG90cyI6W3sidXJsIjoiaHR0cHM6Ly9hZGRvbnMubW96aWxsYS5vcmcvdXNlci1t ZWRpYS9wcmV2aWV3cy9mdWxsLzIzOC8yMzg1NDYucG5nP21vZGlmaWVkPTE2MjIxMzI0MjEiLCJ3 aWR0aCI6MTAxMSwiaGVpZ2h0Ijo3NTgsInRodW1ibmFpbFVSTCI6Imh0dHBzOi8vYWRkb25zLm1v emlsbGEub3JnL3VzZXItbWVkaWEvcHJldmlld3MvdGh1bWJzLzIzOC8yMzg1NDYuanBnP21vZGlm aWVkPTE2MjIxMzI0MjEiLCJ0aHVtYm5haWxXaWR0aCI6NTMzLCJ0aHVtYm5haWxIZWlnaHQiOjQw MCwiY2FwdGlvbiI6IlRoZSBwb3B1cCBwYW5lbDogZGVmYXVsdCBtb2RlIn0seyJ1cmwiOiJodHRw czovL2FkZG9ucy5tb3ppbGxhLm9yZy91c2VyLW1lZGlhL3ByZXZpZXdzL2Z1bGwvMjM4LzIzODU0 OC5wbmc/bW9kaWZpZWQ9MTYyMjEzMjQyMyIsIndpZHRoIjoxMDExLCJoZWlnaHQiOjc1OCwidGh1 bWJuYWlsVVJMIjoiaHR0cHM6Ly9hZGRvbnMubW96aWxsYS5vcmcvdXNlci1tZWRpYS9wcmV2aWV3 cy90aHVtYnMvMjM4LzIzODU0OC5qcGc/bW9kaWZpZWQ9MTYyMjEzMjQyMyIsInRodW1ibmFpbFdp ZHRoIjo1MzMsInRodW1ibmFpbEhlaWdodCI6NDAwLCJjYXB0aW9uIjoiVGhlIGRhc2hib2FyZDog c3RvY2sgZmlsdGVyIGxpc3RzIn0seyJ1cmwiOiJodHRwczovL2FkZG9ucy5tb3ppbGxhLm9yZy91 c2VyLW1lZGlhL3ByZXZpZXdzL2Z1bGwvMjM4LzIzODU0Ny5wbmc/bW9kaWZpZWQ9MTYyMjEzMjQy NSIsIndpZHRoIjoxMDExLCJoZWlnaHQiOjc1OCwidGh1bWJuYWlsVVJMIjoiaHR0cHM6Ly9hZGRv bnMubW96aWxsYS5vcmcvdXNlci1tZWRpYS9wcmV2aWV3cy90aHVtYnMvMjM4LzIzODU0Ny5qcGc/ bW9kaWZpZWQ9MTYyMjEzMjQyNSIsInRodW1ibmFpbFdpZHRoIjo1MzMsInRodW1ibmFpbEhlaWdo dCI6NDAwLCJjYXB0aW9uIjoiVGhlIHBvcHVwIHBhbmVsOiBkZWZhdWx0LWRlbnkgbW9kZSJ9LHsi dXJsIjoiaHR0cHM6Ly9hZGRvbnMubW96aWxsYS5vcmcvdXNlci1tZWRpYS9wcmV2aWV3cy9mdWxs LzIzOC8yMzg1NDkucG5nP21vZGlmaWVkPTE2MjIxMzI0MjYiLCJ3aWR0aCI6MTAxMSwiaGVpZ2h0 Ijo3NTgsInRodW1ibmFpbFVSTCI6Imh0dHBzOi8vYWRkb25zLm1vemlsbGEub3JnL3VzZXItbWVk aWEvcHJldmlld3MvdGh1bWJzLzIzOC8yMzg1NDkuanBnP21vZGlmaWVkPTE2MjIxMzI0MjYiLCJ0 aHVtYm5haWxXaWR0aCI6NTMzLCJ0aHVtYm5haWxIZWlnaHQiOjQwMCwiY2FwdGlvbiI6IlRoZSBk YXNoYm9hcmQ6IHNldHRpbmdzIn0seyJ1cmwiOiJodHRwczovL2FkZG9ucy5tb3ppbGxhLm9yZy91 c2VyLW1lZGlhL3ByZXZpZXdzL2Z1bGwvMjM4LzIzODU1Mi5wbmc/bW9kaWZpZWQ9MTYyMjEzMjQz MCIsIndpZHRoIjo5NzAsImhlaWdodCI6MTgwMCwidGh1bWJuYWlsVVJMIjoiaHR0cHM6Ly9hZGRv bnMubW96aWxsYS5vcmcvdXNlci1tZWRpYS9wcmV2aWV3cy90aHVtYnMvMjM4LzIzODU1Mi5qcGc/ bW9kaWZpZWQ9MTYyMjEzMjQzMCIsInRodW1ibmFpbFdpZHRoIjoyMTYsInRodW1ibmFpbEhlaWdo dCI6NDAwLCJjYXB0aW9uIjoiVGhlIHBvcHVwIHBhbmVsIGluIEZpcmVmb3ggUHJldmlldzogZGVm YXVsdCBtb2RlIHdpdGggbW9yZSBibG9ja2luZyBvcHRpb25zIHJldmVhbGVkIn0seyJ1cmwiOiJo dHRwczovL2FkZG9ucy5tb3ppbGxhLm9yZy91c2VyLW1lZGlhL3ByZXZpZXdzL2Z1bGwvMjMwLzIz MDM3MC5wbmc/bW9kaWZpZWQ9MTYyMjEzMjQzMiIsIndpZHRoIjo4MDAsImhlaWdodCI6NjAwLCJ0 aHVtYm5haWxVUkwiOiJodHRwczovL2FkZG9ucy5tb3ppbGxhLm9yZy91c2VyLW1lZGlhL3ByZXZp ZXdzL3RodW1icy8yMzAvMjMwMzcwLmpwZz9tb2RpZmllZD0xNjIyMTMyNDMyIiwidGh1bWJuYWls V2lkdGgiOjUzMywidGh1bWJuYWlsSGVpZ2h0Ijo0MDAsImNhcHRpb24iOiJUaGUgdW5pZmllZCBs b2dnZXIgdGVsbHMgeW91IGFsbCB0aGF0IHVCTyBpcyBzZWVpbmcgYW5kIGRvaW5nIn1dLCJjb250 cmlidXRpb25VUkwiOiIiLCJhdmVyYWdlUmF0aW5nIjo0Ljc3MzEsInJldmlld0NvdW50IjozNjc1 LCJyZXZpZXdVUkwiOiJodHRwczovL2FkZG9ucy5tb3ppbGxhLm9yZy9lbi1VUy9maXJlZm94L2Fk ZG9uL3VibG9jay1vcmlnaW4vcmV2aWV3cy8iLCJ1cGRhdGVEYXRlIjoxNjU5OTg4MjE3MDAwfSx7 ImlkIjoiYWRkb25AZGFya3JlYWRlci5vcmciLCJpY29ucyI6eyIzMiI6Imh0dHBzOi8vYWRkb25z Lm1vemlsbGEub3JnL3VzZXItbWVkaWEvYWRkb25faWNvbnMvODU1Lzg1NTQxMy0zMi5wbmc/bW9k aWZpZWQ9M2YzNGUyNzYiLCI2NCI6Imh0dHBzOi8vYWRkb25zLm1vemlsbGEub3JnL3VzZXItbWVk aWEvYWRkb25faWNvbnMvODU1Lzg1NTQxMy02NC5wbmc/bW9kaWZpZWQ9M2YzNGUyNzYiLCIxMjgi OiJodHRwczovL2FkZG9ucy5tb3ppbGxhLm9yZy91c2VyLW1lZGlhL2FkZG9uX2ljb25zLzg1NS84 NTU0MTMtMTI4LnBuZz9tb2RpZmllZD0zZjM0ZTI3NiJ9LCJuYW1lIjoiRGFyayBSZWFkZXIiLCJ2 ZXJzaW9uIjoiNC45LjUyIiwic291cmNlVVJJIjoiaHR0cHM6Ly9hZGRvbnMubW96aWxsYS5vcmcv ZmlyZWZveC9kb3dubG9hZHMvZmlsZS8zOTY4NTYxL2RhcmtyZWFkZXItNC45LjUyLnhwaSIsImhv bWVwYWdlVVJMIjoiaHR0cHM6Ly9kYXJrcmVhZGVyLm9yZy8iLCJzdXBwb3J0VVJMIjoiaHR0cHM6 Ly9naXRodWIuY29tL2RhcmtyZWFkZXIvZGFya3JlYWRlciIsImRlc2NyaXB0aW9uIjoiRGFyayBt b2RlIGZvciBldmVyeSB3ZWJzaXRlLiBUYWtlIGNhcmUgb2YgeW91ciBleWVzLCB1c2UgZGFyayB0 aGVtZSBmb3IgbmlnaHQgYW5kIGRhaWx5IGJyb3dzaW5nLiIsImZ1bGxEZXNjcmlwdGlvbiI6IlRo aXMgZXllLWNhcmUgZXh0ZW5zaW9uIGVuYWJsZXMgbmlnaHQgbW9kZSBjcmVhdGluZyBkYXJrIHRo ZW1lcyBmb3Igd2Vic2l0ZXMgb24gdGhlIGZseS4gRGFyayBSZWFkZXIgaW52ZXJ0cyBicmlnaHQg Y29sb3JzIG1ha2luZyB0aGVtIGhpZ2ggY29udHJhc3QgYW5kIGVhc3kgdG8gcmVhZCBhdCBuaWdo dC5cblxuWW91IGNhbiBhZGp1c3QgYnJpZ2h0bmVzcywgY29udHJhc3QsIHNlcGlhIGZpbHRlciwg ZGFyayBtb2RlLCBmb250IHNldHRpbmdzIGFuZCBpZ25vcmUtbGlzdC5cblxuRGFyayBSZWFkZXIg ZG9lc24ndCBzaG93IGFkcyBhbmQgZG9lc24ndCBzZW5kIHVzZXIncyBkYXRhIGFueXdoZXJlLiBJ dCBpcyBmdWxseSBvcGVuLXNvdXJjZSBodHRwczovL2dpdGh1Yi5jb20vZGFya3JlYWRlci9kYXJr cmVhZGVyXG5cbkJlZm9yZSB5b3UgaW5zdGFsbCBkaXNhYmxlIHNpbWlsYXIgZXh0ZW5zaW9ucy4g RW5qb3kgd2F0Y2hpbmchIiwid2Vla2x5RG93bmxvYWRzIjoyMDk3OSwidHlwZSI6ImV4dGVuc2lv biIsImNyZWF0b3IiOnsibmFtZSI6IkFsZXhhbmRlciBTaHV0YXUiLCJ1cmwiOiJodHRwczovL2Fk ZG9ucy5tb3ppbGxhLm9yZy9lbi1VUy9maXJlZm94L3VzZXIvMTMyOTk3MzQvIn0sImRldmVsb3Bl cnMiOltdLCJzY3JlZW5zaG90cyI6W3sidXJsIjoiaHR0cHM6Ly9hZGRvbnMubW96aWxsYS5vcmcv dXNlci1tZWRpYS9wcmV2aWV3cy9mdWxsLzIwMS8yMDEwNjkucG5nP21vZGlmaWVkPTE2Mzg4ODMy NDciLCJ3aWR0aCI6MjQwMCwiaGVpZ2h0IjoxNTAwLCJ0aHVtYm5haWxVUkwiOiJodHRwczovL2Fk ZG9ucy5tb3ppbGxhLm9yZy91c2VyLW1lZGlhL3ByZXZpZXdzL3RodW1icy8yMDEvMjAxMDY5Lmpw Zz9tb2RpZmllZD0xNjM4ODgzMjQ3IiwidGh1bWJuYWlsV2lkdGgiOjUzMywidGh1bWJuYWlsSGVp Z2h0IjozMzMsImNhcHRpb24iOiJEYXJrIFJlYWRlciBuaWdodCB0aGVtZSBtb2RlIn0seyJ1cmwi OiJodHRwczovL2FkZG9ucy5tb3ppbGxhLm9yZy91c2VyLW1lZGlhL3ByZXZpZXdzL2Z1bGwvMjAx LzIwMTA3MC5wbmc/bW9kaWZpZWQ9MTYzODg4MzI0NyIsIndpZHRoIjoyNDAwLCJoZWlnaHQiOjE1 MDAsInRodW1ibmFpbFVSTCI6Imh0dHBzOi8vYWRkb25zLm1vemlsbGEub3JnL3VzZXItbWVkaWEv cHJldmlld3MvdGh1bWJzLzIwMS8yMDEwNzAuanBnP21vZGlmaWVkPTE2Mzg4ODMyNDciLCJ0aHVt Ym5haWxXaWR0aCI6NTMzLCJ0aHVtYm5haWxIZWlnaHQiOjMzMywiY2FwdGlvbiI6IkRhcmsgUmVh ZGVyIGZpbHRlciBzZXR0aW5ncyJ9XSwiY29udHJpYnV0aW9uVVJMIjoiaHR0cHM6Ly9vcGVuY29s bGVjdGl2ZS5jb20vZGFya3JlYWRlcj91dG1fY29udGVudD1wcm9kdWN0LXBhZ2UtY29udHJpYnV0 ZSZ1dG1fbWVkaXVtPXJlZmVycmFsJnV0bV9zb3VyY2U9YWRkb25zLm1vemlsbGEub3JnIiwiYXZl cmFnZVJhdGluZyI6NC41NTI4LCJyZXZpZXdDb3VudCI6MTQ1NCwicmV2aWV3VVJMIjoiaHR0cHM6 Ly9hZGRvbnMubW96aWxsYS5vcmcvZW4tVVMvZmlyZWZveC9hZGRvbi9kYXJrcmVhZGVyL3Jldmll d3MvIiwidXBkYXRlRGF0ZSI6MTY1NjQxODQzNTAwMH0seyJpZCI6Ins1Mzg0NzY3RS0wMEQ5LTQw RTktQjcyRi05Q0MzOUQ2NTVENkZ9IiwiaWNvbnMiOnsiMzIiOiJodHRwczovL2FkZG9ucy5tb3pp bGxhLm9yZy91c2VyLW1lZGlhL2FkZG9uX2ljb25zLzQ1LzQ1MjgxLTMyLnBuZz9tb2RpZmllZD1t Y3J1c2hlZCIsIjY0IjoiaHR0cHM6Ly9hZGRvbnMubW96aWxsYS5vcmcvdXNlci1tZWRpYS9hZGRv bl9pY29ucy80NS80NTI4MS02NC5wbmc/bW9kaWZpZWQ9bWNydXNoZWQiLCIxMjgiOiJodHRwczov L2FkZG9ucy5tb3ppbGxhLm9yZy91c2VyLW1lZGlhL2FkZG9uX2ljb25zLzQ1LzQ1MjgxLTEyOC5w bmc/bW9kaWZpZWQ9bWNydXNoZWQifSwibmFtZSI6IkVQVUJSZWFkZXIiLCJ2ZXJzaW9uIjoiMi4w LjEzIiwic291cmNlVVJJIjoiaHR0cHM6Ly9hZGRvbnMubW96aWxsYS5vcmcvZmlyZWZveC9kb3du bG9hZHMvZmlsZS8zNTk0MzcwL2VwdWJyZWFkZXItMi4wLjEzLnhwaSIsImhvbWVwYWdlVVJMIjoi aHR0cHM6Ly93d3cuZXB1YnJlYWQuY29tLyIsInN1cHBvcnRVUkwiOiJodHRwczovL3d3dy5lcHVi cmVhZC5jb20vIiwiZGVzY3JpcHRpb24iOiJSZWFkIGVQdWIgZmlsZXMgcmlnaHQgaW4gRmlyZWZv eC4gTm8gYWRkaXRpb25hbCBzb2Z0d2FyZSBuZWVkZWQhIiwiZnVsbERlc2NyaXB0aW9uIjoiQXZv aWQgYW5ub3lpbmcgZG93bmxvYWQgcHJvbXB0cyBhbmQgZWFzaWx5IHJlYWQgZVB1YiBmaWxlcyBk aXJlY3RseSBpbiBGaXJlZm94LiBDb252ZW5pZW50bHkgYWNjZXNzIHByZXZpb3VzbHkgc2F2ZWQg ZVB1YiBmaWxlcyByaWdodCBmcm9tIHRoZSB0b29sYmFyIGJ1dHRvbi5cblxuTGlzdGVuIHRvIHlv dXIgZUJvb2tzIGJ5IGluc3RhbGxpbmcgdGhlIFJlYWQgQWxvdWQgZXh0ZW5zaW9uIVxuXG5UaGUg cmVxdWVzdGVkIHBlcm1pc3Npb25zIGFyZSBuZWVkZWQgc28gRVBVQlJlYWRlciBjYW4gZG93bmxv YWQgYW5kIG9wZW4gZXB1YiBmaWxlcyBkaXJlY3RseSBmcm9tIHdlYnNpdGVzIGFuZCBzYXZlIHRo ZW0uXG5cbklmIHlvdSBleHBlcmllbmNlIGFueSBwcm9ibGVtcyBvciBpc3N1ZXMsIHBsZWFzZSBs ZXQgbWUga25vdyB0aHJvdWdoIG15IHN1cHBvcnQgc2l0ZS4gSSdsbCBiZSB2ZXJ5IGhhcHB5IHRv IGhlbHAgeW91ISIsIndlZWtseURvd25sb2FkcyI6MTU0MywidHlwZSI6ImV4dGVuc2lvbiIsImNy ZWF0b3IiOnsibmFtZSI6ImVwdWJyZWFkZXIiLCJ1cmwiOiJodHRwczovL2FkZG9ucy5tb3ppbGxh Lm9yZy9lbi1VUy9maXJlZm94L3VzZXIvNDk2MDc2NS8ifSwiZGV2ZWxvcGVycyI6W10sInNjcmVl bnNob3RzIjpbeyJ1cmwiOiJodHRwczovL2FkZG9ucy5tb3ppbGxhLm9yZy91c2VyLW1lZGlhL3By ZXZpZXdzL2Z1bGwvMTg0LzE4NDk3MC5wbmc/bW9kaWZpZWQ9MTYyMjEzMjU3MCIsIndpZHRoIjo3 MDAsImhlaWdodCI6NTI1LCJ0aHVtYm5haWxVUkwiOiJodHRwczovL2FkZG9ucy5tb3ppbGxhLm9y Zy91c2VyLW1lZGlhL3ByZXZpZXdzL3RodW1icy8xODQvMTg0OTcwLmpwZz9tb2RpZmllZD0xNjIy MTMyNTcwIiwidGh1bWJuYWlsV2lkdGgiOjUzMywidGh1bWJuYWlsSGVpZ2h0Ijo0MDAsImNhcHRp b24iOiJBZHZlbnR1cmVzIG9mIENhcHRhaW4gSGF0dGVyYXMgb3BlbmVkIGluIEVQVUJSZWFkZXIi fSx7InVybCI6Imh0dHBzOi8vYWRkb25zLm1vemlsbGEub3JnL3VzZXItbWVkaWEvcHJldmlld3Mv ZnVsbC8xODQvMTg0OTcyLnBuZz9tb2RpZmllZD0xNjIyMTMyNTcwIiwid2lkdGgiOjcwMCwiaGVp Z2h0Ijo1MjUsInRodW1ibmFpbFVSTCI6Imh0dHBzOi8vYWRkb25zLm1vemlsbGEub3JnL3VzZXIt bWVkaWEvcHJldmlld3MvdGh1bWJzLzE4NC8xODQ5NzIuanBnP21vZGlmaWVkPTE2MjIxMzI1NzAi LCJ0aHVtYm5haWxXaWR0aCI6NTMzLCJ0aHVtYm5haWxIZWlnaHQiOjQwMCwiY2FwdGlvbiI6IlRh YmxlIG9mIGNvbnRlbnRzIn0seyJ1cmwiOiJodHRwczovL2FkZG9ucy5tb3ppbGxhLm9yZy91c2Vy LW1lZGlhL3ByZXZpZXdzL2Z1bGwvMTg0LzE4NDk3My5wbmc/bW9kaWZpZWQ9MTYyMjEzMjU3MCIs IndpZHRoIjo3MDAsImhlaWdodCI6NTI1LCJ0aHVtYm5haWxVUkwiOiJodHRwczovL2FkZG9ucy5t b3ppbGxhLm9yZy91c2VyLW1lZGlhL3ByZXZpZXdzL3RodW1icy8xODQvMTg0OTczLmpwZz9tb2Rp ZmllZD0xNjIyMTMyNTcwIiwidGh1bWJuYWlsV2lkdGgiOjUzMywidGh1bWJuYWlsSGVpZ2h0Ijo0 MDAsImNhcHRpb24iOiJQcmVmZXJlbmNlcyJ9LHsidXJsIjoiaHR0cHM6Ly9hZGRvbnMubW96aWxs YS5vcmcvdXNlci1tZWRpYS9wcmV2aWV3cy9mdWxsLzE4NC8xODQ5NzEucG5nP21vZGlmaWVkPTE2 MjIxMzI1NzAiLCJ3aWR0aCI6NzAwLCJoZWlnaHQiOjUyNSwidGh1bWJuYWlsVVJMIjoiaHR0cHM6 Ly9hZGRvbnMubW96aWxsYS5vcmcvdXNlci1tZWRpYS9wcmV2aWV3cy90aHVtYnMvMTg0LzE4NDk3 MS5qcGc/bW9kaWZpZWQ9MTYyMjEzMjU3MCIsInRodW1ibmFpbFdpZHRoIjo1MzMsInRodW1ibmFp bEhlaWdodCI6NDAwLCJjYXB0aW9uIjoiVG9vbGJhciJ9XSwiY29udHJpYnV0aW9uVVJMIjoiIiwi YXZlcmFnZVJhdGluZyI6My43MjY2LCJyZXZpZXdDb3VudCI6MTEwLCJyZXZpZXdVUkwiOiJodHRw czovL2FkZG9ucy5tb3ppbGxhLm9yZy9lbi1VUy9maXJlZm94L2FkZG9uL2VwdWJyZWFkZXIvcmV2 aWV3cy8iLCJ1cGRhdGVEYXRlIjoxNTkyODMyNjI3MDAwfSx7ImlkIjoiamlkMS1LdGxadW9paWtW ZkZld0BqZXRwYWNrIiwiaWNvbnMiOnsiMzIiOiJodHRwczovL2FkZG9ucy5tb3ppbGxhLm9yZy91 c2VyLW1lZGlhL2FkZG9uX2ljb25zLzM1MC8zNTA1OTAtMzIucG5nP21vZGlmaWVkPTE2MzcyNTMw MzMiLCI2NCI6Imh0dHBzOi8vYWRkb25zLm1vemlsbGEub3JnL3VzZXItbWVkaWEvYWRkb25faWNv bnMvMzUwLzM1MDU5MC02NC5wbmc/bW9kaWZpZWQ9MTYzNzI1MzAzMyIsIjEyOCI6Imh0dHBzOi8v YWRkb25zLm1vemlsbGEub3JnL3VzZXItbWVkaWEvYWRkb25faWNvbnMvMzUwLzM1MDU5MC0xMjgu cG5nP21vZGlmaWVkPTE2MzcyNTMwMzMifSwibmFtZSI6IkdOVSBMaWJyZUpTIiwidmVyc2lvbiI6 IjcuMjEuMCIsInNvdXJjZVVSSSI6Imh0dHBzOi8vYWRkb25zLm1vemlsbGEub3JnL2ZpcmVmb3gv ZG93bmxvYWRzL2ZpbGUvMzk3ODU1NC9saWJyZWpzLTcuMjEuMC54cGkiLCJob21lcGFnZVVSTCI6 Imh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGlicmVqcy8iLCJzdXBwb3J0VVJMIjoiaHR0 cHM6Ly9nbnUub3JnL3NvZnR3YXJlL2xpYnJlanMiLCJkZXNjcmlwdGlvbiI6IkdOVSBMaWJyZUpT IGFpbXMgdG8gYWRkcmVzcyB0aGUgSmF2YVNjcmlwdCBwcm9ibGVtIGRlc2NyaWJlZCBpbiBSaWNo YXJkIFN0YWxsbWFuJ3MgYXJ0aWNsZSBUaGUgSmF2YVNjcmlwdCBUcmFwLiBJdCBpcyBhIGZyZWUg YWRkLW9uIGZvciBNb3ppbGxhIGJyb3dzZXJzLiBJdCBibG9ja3Mgbm9uZnJlZSBub250cml2aWFs IEphdmFTY3JpcHQgd2hpbGUgYWxsb3dpbmcgSmF2YVNjcmlwdCB0aGF0IGlzIGZyZWUgYW5kL29y IHRyaXZpYWwuIiwiZnVsbERlc2NyaXB0aW9uIjoiR05VIExpYnJlSlMgLS1hbiBhZGQtb24gZm9y IEdOVSBJY2VDYXQgYW5kIE1vemlsbGEgRmlyZWZveC0tIGRldGVjdHMgYW5kIGJsb2NrcyBub25m cmVlIG5vbnRyaXZpYWwgSmF2YVNjcmlwdCB3aGlsZSBhbGxvd2luZyBpdHMgZXhlY3V0aW9uIG9u IHBhZ2VzIGNvbnRhaW5pbmcgY29kZSB0aGF0IGlzIGVpdGhlciB0cml2aWFsIGFuZC9vciBmcmVl LlxuXG5NYW55IHdlYnNpdGVzIHJ1biBub250cml2aWFsIEphdmFTY3JpcHQgb24geW91ciBjb21w dXRlci4gU29tZSB1c2UgaXQgZm9yIGNvbXBsZXggdGFza3M7IG1hbnkgdXNlIGl0IGdyYXR1aXRv dXNseSBmb3IgbWlub3Igam9icyB0aGF0IGNvdWxkIGJlIGRvbmUgZWFzaWx5IHdpdGggcGxhaW4g SFRNTC4gU29tZXRpbWVzIHRoaXMgSmF2YVNjcmlwdCBjb2RlIGlzIG1hbGljaW91cy4gRWl0aGVy IHdheSwgdGhlIEphdmFTY3JpcHQgY29kZSBpcyBvZnRlbiBub25mcmVlLiBGb3IgZXhwbGFuYXRp b24gb2YgdGhlIGlzc3VlLCBzZWUgVGhlIEphdmFTY3JpcHQgVHJhcC5cblxuSWYgeW91IGNhcmUg YWJvdXQgZnJlZWRvbSBpbiB5b3VyIGNvbXB1dGluZywgYW5kIGRvbid0IHdpc2ggdG8gbGV0IGFs bCBhbmQgc3VuZHJ5IG1ha2UgeW91IHJ1biBub25mcmVlIHByb2dyYW1zLCBub3cgeW91IGNhbiBw cmV2ZW50IGl0IGJ5IHVzaW5nIExpYnJlSlMuIiwid2Vla2x5RG93bmxvYWRzIjoyNSwidHlwZSI6 ImV4dGVuc2lvbiIsImNyZWF0b3IiOnsibmFtZSI6IkxvaWMgSi4gRHVyb3MiLCJ1cmwiOiJodHRw czovL2FkZG9ucy5tb3ppbGxhLm9yZy9lbi1VUy9maXJlZm94L3VzZXIvNTk0Mjc0NS8ifSwiZGV2 ZWxvcGVycyI6W3sibmFtZSI6Im5ueWJ5IiwidXJsIjoiaHR0cHM6Ly9hZGRvbnMubW96aWxsYS5v cmcvZW4tVVMvZmlyZWZveC91c2VyLzExMDc5ODcwLyJ9LHsibmFtZSI6IlJ1YmVuIFJvZHJpZ3Vl eiIsInVybCI6Imh0dHBzOi8vYWRkb25zLm1vemlsbGEub3JnL2VuLVVTL2ZpcmVmb3gvdXNlci8x MTcyOTM3OC8ifSx7Im5hbWUiOiJOYXRlTjEyMjIiLCJ1cmwiOiJodHRwczovL2FkZG9ucy5tb3pp bGxhLm9yZy9lbi1VUy9maXJlZm94L3VzZXIvMTI5ODUxNDIvIn0seyJuYW1lIjoiRmlyZWZveCB1 c2VyIDEzNDk5MDA5IiwidXJsIjoiaHR0cHM6Ly9hZGRvbnMubW96aWxsYS5vcmcvZW4tVVMvZmly ZWZveC91c2VyLzEzNDk5MDA5LyJ9LHsibmFtZSI6Ill1Y2hlbiBQZWkiLCJ1cmwiOiJodHRwczov L2FkZG9ucy5tb3ppbGxhLm9yZy9lbi1VUy9maXJlZm94L3VzZXIvMTcxMzIxMTkvIn1dLCJzY3Jl ZW5zaG90cyI6W3sidXJsIjoiaHR0cHM6Ly9hZGRvbnMubW96aWxsYS5vcmcvdXNlci1tZWRpYS9w cmV2aWV3cy9mdWxsLzIwMi8yMDIzMjkucG5nP21vZGlmaWVkPTE2MjIxMzIxNTgiLCJ3aWR0aCI6 MTE1MiwiaGVpZ2h0Ijo1NTcsInRodW1ibmFpbFVSTCI6Imh0dHBzOi8vYWRkb25zLm1vemlsbGEu b3JnL3VzZXItbWVkaWEvcHJldmlld3MvdGh1bWJzLzIwMi8yMDIzMjkuanBnP21vZGlmaWVkPTE2 MjIxMzIxNTgiLCJ0aHVtYm5haWxXaWR0aCI6NTMzLCJ0aHVtYm5haWxIZWlnaHQiOjI1OCwiY2Fw dGlvbiI6IkxpYnJlSlMgc2hvd2luZyB0aGUgcGFuZWwgb24gYSBwYWdlIHdpdGggZnJlZSBKYXZh U2NyaXB0LiJ9XSwiY29udHJpYnV0aW9uVVJMIjoiIiwiYXZlcmFnZVJhdGluZyI6NC4yNSwicmV2 aWV3Q291bnQiOjE1LCJyZXZpZXdVUkwiOiJodHRwczovL2FkZG9ucy5tb3ppbGxhLm9yZy9lbi1V Uy9maXJlZm94L2FkZG9uL2xpYnJlanMvcmV2aWV3cy8iLCJ1cGRhdGVEYXRlIjoxNjU4Mzk0NjIz MDAwfSx7ImlkIjoia2tiLWV4dEBmYWlybHl0ZXJyaWJsZS5uYW1lIiwiaWNvbnMiOnsiMzIiOiJo dHRwczovL2FkZG9ucy5tb3ppbGxhLm9yZy91c2VyLW1lZGlhL2FkZG9uX2ljb25zLzk4MC85ODA3 NjUtMzIucG5nP21vZGlmaWVkPTJhNjlhNWM5IiwiNjQiOiJodHRwczovL2FkZG9ucy5tb3ppbGxh Lm9yZy91c2VyLW1lZGlhL2FkZG9uX2ljb25zLzk4MC85ODA3NjUtNjQucG5nP21vZGlmaWVkPTJh NjlhNWM5IiwiMTI4IjoiaHR0cHM6Ly9hZGRvbnMubW96aWxsYS5vcmcvdXNlci1tZWRpYS9hZGRv bl9pY29ucy85ODAvOTgwNzY1LTEyOC5wbmc/bW9kaWZpZWQ9MmE2OWE1YzkifSwibmFtZSI6Iktl eWJvYXJkIEJyb3dzaW5nIiwidmVyc2lvbiI6IjEuMi4wIiwic291cmNlVVJJIjoiaHR0cHM6Ly9h ZGRvbnMubW96aWxsYS5vcmcvZmlyZWZveC9kb3dubG9hZHMvZmlsZS85ODI5Njcva2V5Ym9hcmRf YnJvd3NpbmctMS4yLjAueHBpIiwiaG9tZXBhZ2VVUkwiOiJodHRwczovL2dpdGh1Yi5jb20vcG90 b2NreXQva2JiLWV4dCIsInN1cHBvcnRVUkwiOiJodHRwczovL2dpdGh1Yi5jb20vcG90b2NreXQv a2JiLWV4dC9pc3N1ZXMiLCJkZXNjcmlwdGlvbiI6IkFkZHMgbnVtYmVyZWQgbmF2aWdhdGlvbiBt YXJrZXJzIHRvIGEgcGFnZS4iLCJmdWxsRGVzY3JpcHRpb24iOm51bGwsIndlZWtseURvd25sb2Fk cyI6MSwidHlwZSI6ImV4dGVuc2lvbiIsImNyZWF0b3IiOnsibmFtZSI6IlRvbWFzIFBvdG9ja3ki LCJ1cmwiOiJodHRwczovL2FkZG9ucy5tb3ppbGxhLm9yZy9lbi1VUy9maXJlZm94L3VzZXIvMTM1 ODA5MTcvIn0sImRldmVsb3BlcnMiOltdLCJzY3JlZW5zaG90cyI6W3sidXJsIjoiaHR0cHM6Ly9h ZGRvbnMubW96aWxsYS5vcmcvdXNlci1tZWRpYS9wcmV2aWV3cy9mdWxsLzIwMy8yMDM3MjkucG5n P21vZGlmaWVkPTE2MjIxMzMwNTkiLCJ3aWR0aCI6MTI3MCwiaGVpZ2h0IjoxMDM1LCJ0aHVtYm5h aWxVUkwiOiJodHRwczovL2FkZG9ucy5tb3ppbGxhLm9yZy91c2VyLW1lZGlhL3ByZXZpZXdzL3Ro dW1icy8yMDMvMjAzNzI5LmpwZz9tb2RpZmllZD0xNjIyMTMzMDU5IiwidGh1bWJuYWlsV2lkdGgi OjQ5MSwidGh1bWJuYWlsSGVpZ2h0Ijo0MDAsImNhcHRpb24iOiJOdW1iZXJlZCBuYXZpZ2F0aW9u IG1hcmtlcnMgaW4gYWN0aW9uIn1dLCJjb250cmlidXRpb25VUkwiOiIiLCJhdmVyYWdlUmF0aW5n Ijo1LCJyZXZpZXdDb3VudCI6MSwicmV2aWV3VVJMIjoiaHR0cHM6Ly9hZGRvbnMubW96aWxsYS5v cmcvZW4tVVMvZmlyZWZveC9hZGRvbi9rZXlib2FyZC1icm93c2luZy9yZXZpZXdzLyIsInVwZGF0 ZURhdGUiOjE1Mjg1NDc3MDYwMDB9LHsiaWQiOiJAa2V5Ym9hcmRzdXJmaW5nIiwiaWNvbnMiOnsi MzIiOiJodHRwczovL2FkZG9ucy5tb3ppbGxhLm9yZy91c2VyLW1lZGlhL2FkZG9uX2ljb25zLzcw MS83MDEwMjAtMzIucG5nP21vZGlmaWVkPTE1MTE5MTQ3ODAiLCI2NCI6Imh0dHBzOi8vYWRkb25z Lm1vemlsbGEub3JnL3VzZXItbWVkaWEvYWRkb25faWNvbnMvNzAxLzcwMTAyMC02NC5wbmc/bW9k aWZpZWQ9MTUxMTkxNDc4MCIsIjEyOCI6Imh0dHBzOi8vYWRkb25zLm1vemlsbGEub3JnL3VzZXIt bWVkaWEvYWRkb25faWNvbnMvNzAxLzcwMTAyMC0xMjgucG5nP21vZGlmaWVkPTE1MTE5MTQ3ODAi fSwibmFtZSI6IktleWJvYXJkIFN1cmZpbmciLCJ2ZXJzaW9uIjoiMS4zLjIwIiwic291cmNlVVJJ IjoiaHR0cHM6Ly9hZGRvbnMubW96aWxsYS5vcmcvZmlyZWZveC9kb3dubG9hZHMvZmlsZS81NTUw NzIva2V5Ym9hcmRfc3VyZmluZy0xLjMuMjAueHBpIiwiaG9tZXBhZ2VVUkwiOm51bGwsInN1cHBv cnRVUkwiOm51bGwsImRlc2NyaXB0aW9uIjoiRWFzeSBrZXlib2FyZCB3ZWIgYnJvd3Npbmcgd2l0 aCBjb21wdXRlciBhc3Npc3RlZCBjdXJzb3IgaG9tZS1pbi4gTW91c2VsZXNzIGJyb3dzaW5nLiBT bWFydCBjdXJzb3ItYmFzZWQgbGluayBzZWxlY3Rpb24sIHNpbXBsZSBrZXlib2FyZCBuYXZpZ2F0 aW9uLCBzaW5nbGUtaGFuZCBjb250cm9sLCBsYXB0b3AgZnJpZW5kbHkuIiwiZnVsbERlc2NyaXB0 aW9uIjoiUHJvdmlkZXMgYSBrZXlib2FyZC1jb250cm9sbGVkIGN1cnNvciBmb3IgbmF2aWdhdGlu ZyBhbmQgYnJvd3Npbmcgd2ViIHBhZ2VzLiBTZWUgdGhlIGRlbW9uc3RyYXRpb24gdmlkZW8uXG5c blRoZSBjdXJzb3IgY2FuIGJlIG1vdmVkIHRvIG5lYXJieSBsaW5rcyBieSBwcmVzc2luZyB0aGUg dXAsIGRvd24sIGxlZnQgYW5kIHJpZ2h0IGtleXMuIFRoZSBhZGRvbiB3aWxsIHNlbGVjdCBuZWFy YnkgbGlua3Mgb24gdGhlIHBhZ2UgaW50ZWxsaWdlbnRseS5cblxuVGhyZWUgc2V0cyBvZiBrZXlz IGFyZSBwcm92aWRlZCBmb3IgY29udHJvbGxpbmcgdGhlIGN1cnNvciBhbmQgdGhlIGFkZG9uOiB0 aGUgbnVtcGFkIHNldCwgdGhlIGxlZnQtaGFuZCBzZXQgYW5kIHRoZSByaWdodC1oYW5kIHNldC5c blxuQWRkaXRpb25hbCBmdW5jdGlvbnMgaW5jbHVkZTogc21vb3RoIHNjcm9sbGluZywgb3BlbiBs aW5rcyBpbiBuZXcgdGFiIGFuZCBpbiBuZXcgd2luZG93LCBjbG9zZSB3aW5kb3dzIGFuZCB0YWJz LCBnbyB0byBob21lcGFnZS4iLCJ3ZWVrbHlEb3dubG9hZHMiOjAsInR5cGUiOiJleHRlbnNpb24i LCJjcmVhdG9yIjp7Im5hbWUiOiJTb21uaWEiLCJ1cmwiOiJodHRwczovL2FkZG9ucy5tb3ppbGxh Lm9yZy9lbi1VUy9maXJlZm94L3VzZXIvMTIyNzM2MDQvIn0sImRldmVsb3BlcnMiOltdLCJzY3Jl ZW5zaG90cyI6W3sidXJsIjoiaHR0cHM6Ly9hZGRvbnMubW96aWxsYS5vcmcvdXNlci1tZWRpYS9w cmV2aWV3cy9mdWxsLzE3My8xNzM4NDAucG5nP21vZGlmaWVkPTE2MjIxMzI0MjMiLCJ3aWR0aCI6 NzAwLCJoZWlnaHQiOjQ1NywidGh1bWJuYWlsVVJMIjoiaHR0cHM6Ly9hZGRvbnMubW96aWxsYS5v cmcvdXNlci1tZWRpYS9wcmV2aWV3cy90aHVtYnMvMTczLzE3Mzg0MC5qcGc/bW9kaWZpZWQ9MTYy MjEzMjQyMyIsInRodW1ibmFpbFdpZHRoIjo1MzMsInRodW1ibmFpbEhlaWdodCI6MzQ4LCJjYXB0 aW9uIjoiSGVscCBQYWdlIn0seyJ1cmwiOiJodHRwczovL2FkZG9ucy5tb3ppbGxhLm9yZy91c2Vy LW1lZGlhL3ByZXZpZXdzL2Z1bGwvMTczLzE3Mzg0MS5wbmc/bW9kaWZpZWQ9MTYyMjEzMjQyMyIs IndpZHRoIjo2NjAsImhlaWdodCI6NTI1LCJ0aHVtYm5haWxVUkwiOiJodHRwczovL2FkZG9ucy5t b3ppbGxhLm9yZy91c2VyLW1lZGlhL3ByZXZpZXdzL3RodW1icy8xNzMvMTczODQxLmpwZz9tb2Rp ZmllZD0xNjIyMTMyNDIzIiwidGh1bWJuYWlsV2lkdGgiOjUwMywidGh1bWJuYWlsSGVpZ2h0Ijo0 MDAsImNhcHRpb24iOiJQcmVmZXJlbmNlcyBQYWdlIn1dLCJjb250cmlidXRpb25VUkwiOiIiLCJh dmVyYWdlUmF0aW5nIjo0LjYzNjQsInJldmlld0NvdW50Ijo4LCJyZXZpZXdVUkwiOiJodHRwczov L2FkZG9ucy5tb3ppbGxhLm9yZy9lbi1VUy9maXJlZm94L2FkZG9uL2tleWJvYXJkLXN1cmZpbmcv cmV2aWV3cy8iLCJ1cGRhdGVEYXRlIjoxNDgxOTI3MTc3MDAwfSx7ImlkIjoic2ltcGxlX2hpbnRp bmdAdW1hbmV0aS5uZXQiLCJpY29ucyI6eyIzMiI6Imh0dHBzOi8vYWRkb25zLm1vemlsbGEub3Jn L3VzZXItbWVkaWEvYWRkb25faWNvbnMvNjk1LzY5NTY4NC0zMi5wbmc/bW9kaWZpZWQ9MTYzMDUx NzY4NCIsIjY0IjoiaHR0cHM6Ly9hZGRvbnMubW96aWxsYS5vcmcvdXNlci1tZWRpYS9hZGRvbl9p Y29ucy82OTUvNjk1Njg0LTY0LnBuZz9tb2RpZmllZD0xNjMwNTE3Njg0IiwiMTI4IjoiaHR0cHM6 Ly9hZGRvbnMubW96aWxsYS5vcmcvdXNlci1tZWRpYS9hZGRvbl9pY29ucy82OTUvNjk1Njg0LTEy OC5wbmc/bW9kaWZpZWQ9MTYzMDUxNzY4NCJ9LCJuYW1lIjoiU2ltcGxlIEhpbnRpbmciLCJ2ZXJz aW9uIjoiMC41LjQiLCJzb3VyY2VVUkkiOiJodHRwczovL2FkZG9ucy5tb3ppbGxhLm9yZy9maXJl Zm94L2Rvd25sb2Fkcy9maWxlLzM4MTI0NjEvc2ltcGxlX2hpbnRpbmctMC41LjQueHBpIiwiaG9t ZXBhZ2VVUkwiOiJodHRwczovL2dpdC51bWFuZXRpLm5ldC9zaW1wbGVfaGludGluZy9hYm91dC8i LCJzdXBwb3J0VVJMIjoiaHR0cHM6Ly9naXQudW1hbmV0aS5uZXQvc2ltcGxlX2hpbnRpbmcvYWJv dXQvIiwiZGVzY3JpcHRpb24iOiJBbGxvdyBrZXlib2FyZCBicm93c2luZyB0aHJvdWdoIGxpbmtz IGhpbnRpbmcuIiwiZnVsbERlc2NyaXB0aW9uIjoiVGhpcyBhZGRvbiBkaXNwbGF5cyBzbWFsbCBn cmVlbiBudW1iZXJlZCBsYWJlbHMgbmV4dCB0byB0aGUgbGlua3Mgb2YgdGhlIGN1cnJlbnQgcGFn ZSB3aGVuIHlvdSBwcmVzcyBBbHQgKyBTaGlmdCArIEwuXG5cbklmIHlvdSBlbnRlciBvbmUgb2Yg dGhlIGRpc3BsYXllZCBudW1iZXJzLCBmb2xsb3dlZCBieSBhIHNwZWNpYWwga2V5Y29kZSwgeW91 J2xsIGJlIHJlZGlyZWN0ZWQgdG8gdGhlIGxpbmsgdGFyZ2V0LCBlaXRoZXIgZGlyZWN0bHkgb3Ig Ynkgb3BlbmluZyBhIG5ldyB3aW5kb3cgb3IgdGFiLlxuXG5UaGUga2V5Y29kZXMgYXJlIHRoZSBm b2xsb3dpbmc6XG5cbiAgICBmIChmb2xsb3cpLCBicm93c2UgaW4gY3VycmVudCB0YWI7XG4gICAg dCAodGFiKSwgb3BlbiBpbiBhIG5ldyB0YWI7XG4gICAgdyAod2luZG93KSwgb3BlbiBpbiBhIG5l dyB3aW5kb3c7XG4gICAgaSAoaW5jb2duaXRvKSBvciBwIChwcml2YXRlKSwgb3BlbiBpbiBhIG5l dyBwcml2YXRlIHdpbmRvdyAob25seSBpZiB5b3XigJl2ZSBhdXRob3JpemVkIHRoaXMgYWRkb25z IHRvIHJ1biBvbiBwcml2YXRlIHdpbmRvd3MpO1xuICAgIHYgKHZpZXcpLCBkb24ndCBkbyBhbnl0 aGluZywganVzdCBkaXNwbGF5IHRoZSB0YXJnZXQgVVJMLlxuXG5cbkF0IGFueSB0aW1lLCBwcmVz c2luZyBjIG9yIEVzYyB3aWxsIGNhbmNlbCB0aGUgbGluayBzZWxlY3Rpb24gYW5kIHJlbW92ZSBh bGwgZ3JlZW4gbGFiZWxzLlxuXG5Qcml2YWN5XG5cblRoaXMgYWRkb24gdHJ5IHRvIHByb3RlY3Qg eW91ciBwcml2YWN5IGJ5IHJlbW92aW5nIHVud2FudGVkIHRyYWNraW5nIHBhcmFtZXRlcnMgZnJv bSB0aGUgVVJMIHlvdSBhcmUgdHJ5aW5nIHRvIGdvIHRvLiBBbm90aGVyIHdpZGVzcHJlYWQgcHJp dmFjeSBpbnZhZGluZyBiZWhhdmlvciBjb25zaXN0cyBieSBoaWRpbmcgcmVhbCBsaW5rcyBiZWhp bmQgYSBzaG9ydCBsaW5rLCB3aGljaCBpcyByZXNwb25zaWJsZSB0byB0cmFjayB3aG8gY2xpY2sg b24gd2hpY2ggbGluaywgYW5kIHdoZW4uIEluIHRoaXMgbGF0ZXIgY2FzZSwgdGhpcyBhZGRvbiBj YWxsIGFuIGV4dGVybmFsIHdlYiBzZXJ2aWNlLCB3aGljaCB3aWxsIGV4cGFuZCBhIHRpbnkgVVJM LCBiZWZvcmUgcmVtb3ZpbmcgaXRzIHRyYWNraW5nIHBhcmFtZXRlcnMsIGlmIGFueS4gVGhhdCBp cyB3aHkgdGhpcyBhZGRvbiBhc2sgZm9yIHRoZSBwZXJtaXNzaW9uIHRvIGNvbnRhY3QgdW5zaG9y dGVuLnVtYW5ldGkubmV0IGhvc3QuXG5cblRvIGF2b2lkIGFza2luZyB0b28gZnJlcXVlbnRseSB0 byB0aGlzIHNhbWUgcmVtb3RlIHdlYiBzZXJ2aWNlIHdoYXQgdG8gZG8gYWJvdXQgYSBsaW5rLCB0 aGlzIGFkZG9uIHdpbGwgZG93bmxvYWQgZnJvbSBpdCB0d28gbGlzdHM6XG5cbiAgICBhIGxpc3Qg b2Yga25vd24gdHJhY2tpbmcgcGFyYW1ldGVycywgd2hpY2ggd2lsbCBoZWxwIGl0IHRvIHJlbW92 ZSB0aGVtIGZyb20gYWxyZWFkeSBleHBhbmRlZCBVUkxzIHdpdGhvdXQgaGF2aW5nIHRvIGNvbnRh Y3QgdGhlIHJlbW90ZSBzZXJ2aWNlO1xuICAgIGEgbGlzdCBvZiBrbm93biBzaG9ydGVuIFVSTCBz ZXJ2aWNlcywgZm9yIHdoaWNoIHRoaXMgYWRkb25zIG11c3QgY29udGFjdCB0aGUgcmVtb3RlIHdl YiBzZXJ2aWNlIHRvIHJlc29sdmUgYW5kIGNsZWFuIHRoZW0uXG5cblxuVGhpcyB0d28gbGlzdHMg YXJlIHRoZW4gc3RvcmVkIGluIHlvdXIgd2ViIGJyb3dzZXIgYWRkb25zIHN0b3JhZ2UgYXJlYSAo aGVuY2UgdGhlIHBlcm1pc3Npb24gdG8gdXNlIGl0KS5cblxuVGhlIHNvdXJjZSBjb2RlIG9mIHRo ZSBwcmV2aW91c2x5IG1lbnRpb25lZCBleHRlcm5hbCB3ZWIgc2VydmljZSBpcyBhdmFpbGFibGUg dG9vLiIsIndlZWtseURvd25sb2FkcyI6MCwidHlwZSI6ImV4dGVuc2lvbiIsImNyZWF0b3IiOnsi bmFtZSI6IsOJdGllbm5lIERlcGFyaXMiLCJ1cmwiOiJodHRwczovL2FkZG9ucy5tb3ppbGxhLm9y Zy9lbi1VUy9maXJlZm94L3VzZXIvMTYyMjExLyJ9LCJkZXZlbG9wZXJzIjpbXSwic2NyZWVuc2hv dHMiOlt7InVybCI6Imh0dHBzOi8vYWRkb25zLm1vemlsbGEub3JnL3VzZXItbWVkaWEvcHJldmll d3MvZnVsbC8xNzIvMTcyNjgwLnBuZz9tb2RpZmllZD0xNjIyMTMyNTMxIiwid2lkdGgiOjcwMCwi aGVpZ2h0IjozNTEsInRodW1ibmFpbFVSTCI6Imh0dHBzOi8vYWRkb25zLm1vemlsbGEub3JnL3Vz ZXItbWVkaWEvcHJldmlld3MvdGh1bWJzLzE3Mi8xNzI2ODAuanBnP21vZGlmaWVkPTE2MjIxMzI1 MzEiLCJ0aHVtYm5haWxXaWR0aCI6NTMzLCJ0aHVtYm5haWxIZWlnaHQiOjI2NywiY2FwdGlvbiI6 IkhpbnRpbmcgaXMgYWN0aXZhdGVkIGFuZCB0aGUgdXNlciBqdXN0IHByZXNzIFwiNVwiIHRvIHNl bGVjdCBcImZpcmVmb3hcIiBsaW5rIn0seyJ1cmwiOiJodHRwczovL2FkZG9ucy5tb3ppbGxhLm9y Zy91c2VyLW1lZGlhL3ByZXZpZXdzL2Z1bGwvMTk2LzE5NjQ2Ny5wbmc/bW9kaWZpZWQ9MTYyMjEz MjUzMiIsIndpZHRoIjo1MDIsImhlaWdodCI6NTI1LCJ0aHVtYm5haWxVUkwiOiJodHRwczovL2Fk ZG9ucy5tb3ppbGxhLm9yZy91c2VyLW1lZGlhL3ByZXZpZXdzL3RodW1icy8xOTYvMTk2NDY3Lmpw Zz9tb2RpZmllZD0xNjIyMTMyNTMyIiwidGh1bWJuYWlsV2lkdGgiOjM4MiwidGh1bWJuYWlsSGVp Z2h0Ijo0MDAsImNhcHRpb24iOiJDb250ZXh0IG1lbnUgaXRlbSJ9LHsidXJsIjoiaHR0cHM6Ly9h ZGRvbnMubW96aWxsYS5vcmcvdXNlci1tZWRpYS9wcmV2aWV3cy9mdWxsLzE5Ni8xOTY0NjgucG5n P21vZGlmaWVkPTE2MjIxMzI1MzIiLCJ3aWR0aCI6Mzg5LCJoZWlnaHQiOjM5MiwidGh1bWJuYWls VVJMIjoiaHR0cHM6Ly9hZGRvbnMubW96aWxsYS5vcmcvdXNlci1tZWRpYS9wcmV2aWV3cy90aHVt YnMvMTk2LzE5NjQ2OC5qcGc/bW9kaWZpZWQ9MTYyMjEzMjUzMiIsInRodW1ibmFpbFdpZHRoIjoz ODksInRodW1ibmFpbEhlaWdodCI6MzkyfSx7InVybCI6Imh0dHBzOi8vYWRkb25zLm1vemlsbGEu b3JnL3VzZXItbWVkaWEvcHJldmlld3MvZnVsbC8xOTYvMTk2NDY5LnBuZz9tb2RpZmllZD0xNjIy MTMyNTMyIiwid2lkdGgiOjM4MCwiaGVpZ2h0IjozNTgsInRodW1ibmFpbFVSTCI6Imh0dHBzOi8v YWRkb25zLm1vemlsbGEub3JnL3VzZXItbWVkaWEvcHJldmlld3MvdGh1bWJzLzE5Ni8xOTY0Njku anBnP21vZGlmaWVkPTE2MjIxMzI1MzIiLCJ0aHVtYm5haWxXaWR0aCI6MzgwLCJ0aHVtYm5haWxI ZWlnaHQiOjM1OCwiY2FwdGlvbiI6IlRoZSBsaW5rIGlzIGV4cGFuZGVkIGFuZCBjbGVhbiJ9XSwi Y29udHJpYnV0aW9uVVJMIjoiaHR0cHM6Ly9wYXlwYWwubWUvbWlsb3VzZT91dG1fY29udGVudD1w cm9kdWN0LXBhZ2UtY29udHJpYnV0ZSZ1dG1fbWVkaXVtPXJlZmVycmFsJnV0bV9zb3VyY2U9YWRk b25zLm1vemlsbGEub3JnIiwiYXZlcmFnZVJhdGluZyI6Mi41LCJyZXZpZXdDb3VudCI6MSwicmV2 aWV3VVJMIjoiaHR0cHM6Ly9hZGRvbnMubW96aWxsYS5vcmcvZW4tVVMvZmlyZWZveC9hZGRvbi9z aW1wbGUtaGludGluZy9yZXZpZXdzLyIsInVwZGF0ZURhdGUiOjE2MjY3MTUyNTAwMDB9XX0= --=-=-=--