Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b7ML4-0006RB-31 for pgadmin-hackers@arkaria.postgresql.org; Mon, 30 May 2016 12:30:34 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1b7ML2-00074R-Ga for pgadmin-hackers@arkaria.postgresql.org; Mon, 30 May 2016 12:30:32 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1b7MKo-0006qD-6t for pgadmin-hackers@postgresql.org; Mon, 30 May 2016 12:30:18 +0000 Received: from mail-qk0-x234.google.com ([2607:f8b0:400d:c09::234]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1b7MKk-0002Cl-JR for pgadmin-hackers@postgresql.org; Mon, 30 May 2016 12:30:16 +0000 Received: by mail-qk0-x234.google.com with SMTP id n63so121209829qkf.0 for ; Mon, 30 May 2016 05:30:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=+ITwrdyFhPiCsWJsr3S+I5wLJUVLjPX0cxaVkRQGG/Q=; b=0G5KVIy6QXS3FVBa+n6iaGhB8MWuhGKybYmByePpXp1vD0EDpUKbjJ+SuIWB/SXQec CIMO2pjzdaSDsz1pGnYdF8NcMhS2bhVqSsB1yuSlxlFKGWvVd9vj29EHhHjbJ2/jaLCn 7T3GdMhLNKFtNiYG/eOqbNqeZZc7socPdfdgATNyrGtIq72e7ZP82FgakncNFCtOO3XU GcyEkXoy9HsrE+9BnAjbfHpSbIA4D6+J9UVMxB6sJD8deOenH5rHDCD6fthO1YOYQSUM s9mXytHPfl2EAiUnhKI7+0xQZZ4TVCTqQD/rHSawu/aa/KnBsMa09iWyvTsFyqB5TC1w VuGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=+ITwrdyFhPiCsWJsr3S+I5wLJUVLjPX0cxaVkRQGG/Q=; b=EJQpjDLQM1MezYUdX3Hk8WbRFZsSLGyNLOwWMOvk9OMuuVzXAmv3IIzym7t9l1blmi rrPJcJNEbFJqJsZXzMUOcRvLKzDSfBEHcbnjqDD70zc7LqD89nMWnr5CgVjSksChbb6W srBBtYESVb2w2IJTq9jsvzJJ0vYYUWMW+waBCPQszHWKhUOI+YlnQsrmtmtX2VfCiTPR vH+ITUwPKBcIOD6EQ1dA/pnrRFwdjvMYfAt0+HvoaS7Dw4b88akam+x0JTJcqoXa/Qda 2m15TQBj/OdhQNH9WdbDro2i7JAceTSJlQT+amDW/BhoNZbs68e+M+HbTYzuFOOdlQcE t/wg== X-Gm-Message-State: ALyK8tJWhlyyyNzpvDvpQ5CjzXZJk1FwLSpCB1uoADz6DsxW2RPqrGSGUKD7qKJs690sZUDyZllmIgCheurq8Y/r MIME-Version: 1.0 X-Received: by 10.55.157.67 with SMTP id g64mr13612317qke.68.1464611413239; Mon, 30 May 2016 05:30:13 -0700 (PDT) Received: by 10.140.101.198 with HTTP; Mon, 30 May 2016 05:30:12 -0700 (PDT) In-Reply-To: References: Date: Mon, 30 May 2016 18:00:12 +0530 Message-ID: Subject: Re: Patch for pgAdmin4 package on Mac OS X From: Sandeep Thakkar To: Dave Page Cc: pgadmin-hackers , Hamid Quddus Content-Type: multipart/mixed; boundary=94eb2c05626e06358505340e6bea X-Pg-Spam-Score: -2.6 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgadmin-hackers Precedence: bulk Sender: pgadmin-hackers-owner@postgresql.org --94eb2c05626e06358505340e6bea Content-Type: multipart/alternative; boundary=94eb2c05626e06357f05340e6be8 --94eb2c05626e06357f05340e6be8 Content-Type: text/plain; charset=UTF-8 Thanks. I have fixed all the issues. Regarding the app not running from within the DMG for the first time, I was unable to reproduce it on Zilan's machine which didn't have the development env. On Murali's machine, it was reproducible for 1 time after couple of attempts. So, I just added the sync statement after settings the pythonpath value in the settings. May be this will resolve the issue. Please confirm. settings.sync(); Attached is the updated patch. Thanks. On Fri, May 27, 2016 at 9:28 PM, Dave Page wrote: > On Fri, May 27, 2016 at 4:48 PM, Dave Page wrote: > > > > > > On Fri, May 27, 2016 at 1:11 PM, Sandeep Thakkar > > wrote: > >> > >> Sure. Thanks. > >> > >> There is a typo in pkg/mac/build.sh. i.e > >> > >> s/HTML_HELP/HELP_PATH/ > >> > >> > >> On Fri, May 27, 2016 at 5:26 PM, Dave Page wrote: > >>> > >>> Not entirely - we definitely need to improve it. I'll review the code > as > >>> it is now though. > > > > > > OK, review time :-) > > > > - The appbundle name should be created from APP_NAME.app in config.py, > e.g. > > 'pgAdmin 4.app' > > > > - The DMG name should be created from > > to_lower(remove_spaces(APP_NAME-APP_VERSION)) in config.py, e.g. > > pgadmin4-1.0-dev.dmg > > > > - Use #ifdef Q_OS_MAC in the QT code for Mac-specific code. There's no > need > > to define another macro. > > > > - Please add "MINIFY_HTML = False" to config_local.py (and have Paresh do > > the same on his packages). This works around a code issue with the docs > that > > I'll log a bug for. > > > > - In testing, I found that running the app from within the DMG doesn't > seem > > to work the first time - it prompts for the path, then exits. Once I save > > the path it offers, it's fine on subsequent runs. > > > > - Once copied to my laptop, I saw the same issue as above. > > > > Once these issues are resolved, I think we're good to commit. > > Oh, a couple more things: > > - There should not be a copy of the app bundle in dist/ following the > build. Only the dmg should be there. > > - I think mac-build/ should be removed following a successful build, > rather than waiting for make clean (please talk to Paresh - his code > should do the same). > > -- > Dave Page > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake > > EnterpriseDB UK: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > -- Sandeep Thakkar --94eb2c05626e06357f05340e6be8 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Thanks. I have fixed all the issues.

Regarding the app n= ot running from within the DMG for the first time, I was unable to reproduc= e it on Zilan's machine which didn't have the development env. On M= urali's machine, it was reproducible for 1 time after couple of attempt= s.

So, I just added the sync statement after setti= ngs the pythonpath value in the settings. May be this will resolve the issu= e. Please confirm.
settings.sync();

Atta= ched is the updated patch. Thanks.=C2=A0
On Fri, May 27, 2016 at 9:28 PM, Dave Page <d= page@pgadmin.org> wrote:
On Fri, May 27, 2016 at 4:48 PM, Dave= Page <dpage@pgadmin.org> wr= ote:
>
>
> On Fri, May 27, 2016 at 1:11 PM, Sandeep Thakkar
> <sandeep.thakka= r@enterprisedb.com> wrote:
>>
>> Sure. Thanks.
>>
>> There is a typo in pkg/mac/build.sh. i.e
>>
>> s/HTML_HELP/HELP_PATH/
>>
>>
>> On Fri, May 27, 2016 at 5:26 PM, Dave Page <dpage@pgadmin.org> wrote:
>>>
>>> Not entirely - we definitely need to improve it. I'll revi= ew the code as
>>> it is now though.
>
>
> OK, review time :-)
>
> - The appbundle name should be created from APP_NAME.app in config.py,= e.g.
> 'pgAdmin 4.app'
>
> - The DMG name should be created from
> to_lower(remove_spaces(APP_NAME-APP_VERSION)) in config.py, e.g.
> pgadmin4-1.0-dev.dmg
>
> - Use #ifdef Q_OS_MAC in the QT code for Mac-specific code. There'= s no need
> to define another macro.
>
> - Please add "MINIFY_HTML =3D False" to config_local.py (and= have Paresh do
> the same on his packages). This works around a code issue with the doc= s that
> I'll log a bug for.
>
> - In testing, I found that running the app from within the DMG doesn&#= 39;t seem
> to work the first time - it prompts for the path, then exits. Once I s= ave
> the path it offers, it's fine on subsequent runs.
>
> - Once copied to my laptop, I saw the same issue as above.
>
> Once these issues are resolved, I think we're good to commit.

Oh, a couple more things:

- There should not be a copy of the app bundle in dist/ following the
build. Only the dmg should be there.

- I think mac-build/ should be removed following a successful build,
rather than waiting for make clean (please talk to Paresh - his code
should do the same).

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



--
=
Sandeep Thakkar

--94eb2c05626e06357f05340e6be8-- --94eb2c05626e06358505340e6bea Content-Type: application/octet-stream; name="pgadmin-mac-appbundle-may30.patch" Content-Disposition: attachment; filename="pgadmin-mac-appbundle-may30.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iotztca40 ZGlmZiAtLWdpdCBhL3BrZy9tYWMvLmdpdGlnbm9yZSBiL3BrZy9tYWMvLmdp dGlnbm9yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43 ZDI5Y2IwCi0tLSAvZGV2L251bGwKKysrIGIvcGtnL21hYy8uZ2l0aWdub3Jl CkBAIC0wLDAgKzEsMyBAQAorIyBHbG9iYWwgZXhjbHVkZXMgYWNyb3NzIGFs bCBzdWJkaXJlY3RvcmllcworZGVidWcucGdhZG1pbi5JbmZvLnBsaXN0Citw Z2FkbWluLkluZm8ucGxpc3QKZGlmZiAtLWdpdCBhL3BrZy9tYWMvUGtnSW5m byBiL3BrZy9tYWMvUGtnSW5mbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi5iZDA0MjEwCi0tLSAvZGV2L251bGwKKysrIGIvcGtnL21h Yy9Qa2dJbmZvCkBAIC0wLDAgKzEgQEAKK0FQUEw/Pz8/ClwgTm8gbmV3bGlu ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvcGtnL21hYy9SRUFETUUu dHh0IGIvcGtnL21hYy9SRUFETUUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLjk4N2JmMjQKLS0tIC9kZXYvbnVsbAorKysgYi9w a2cvbWFjL1JFQURNRS50eHQKQEAgLTAsMCArMSwzMiBAQAorQnVpbGRpbmcg cGdBZG1pbjQuZG1nIG9uIE1hYyBPUyBYCis9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KKworUmVxdWlyZWQgUGFja2FnZXMgKEVpdGhlciBi dWlsZCB0aGUgc291cmNlcyBvciBnZXQgdGhlbSBmcm9tIG1hY3BvcnRzIG9y IHNpbWlsYXIpOgorCisxLiBQeXRob24gaW5zdGFsbGF0aW9uCisgIC0gUHl0 aG9uIDIuNiBvciBhYm92ZSBmcm9tIGh0dHBzOi8vd3d3LnB5dGhvbi5vcmcv CisKKzIuIFFUIGluc3RhbGxhdGlvbgorICAtIFF0IDQgb3IgNSBmcm9tIGh0 dHA6Ly93d3cucXQuaW8vCisKKzMuIFBvc3RncmVTUUwgaW5zdGFsbGF0aW9u CisgIC0gUG9zdGdyZVNRTCA5LjEgb3IgYWJvdmUgZnJvbSBodHRwOi8vd3d3 LnBvc3RncmVzcWwub3JnLworCitCdWlsZGluZzoKKworMS4gU2V0IHRoZSBQ WVRIT05fSE9NRSBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byB0aGUgUHl0aG9u IHJvb3QgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSwgZS5nLgorCisgICBleHBv cnQgUFlUSE9OX0hPTUU9L1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvUHl0 aG9uLmZyYW1ld29yay9WZXJzaW9ucy8yLjcKKworMi4gU2V0IHRoZSBRVERJ UiBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byB0aGUgUVQgcm9vdCBpbnN0YWxs YXRpb24gZGlyZWN0b3J5LCBlLmcuCisKKyAgIGV4cG9ydCBRVERJUj1+L1F0 LzUuNS9jbGFuZ182NAorCiszLiBTZXQgdGhlIFBHRElSIGVudmlyb25tZW50 IHZhcmlhYmxlIHRvIHRoZSBQb3N0Z3JlU1FMIGluc3RhbGxhdGlvbiBkaXJl Y3RvcnksIGUuZy4KKworICAgZXhwb3J0IFBHRElSPS91c3IvbG9jYWwvcGdz cWwKKworNC4gVG8gYnVpbGQsIGdvIHRvIHBnQWRtaW40IHNvdXJjZSByb290 IGRpcmVjdG9yeSBhbmQgZXhlY3V0ZSAibWFrZSBhcHBidW5kbGUiLiBUaGlz IHdpbGwKKyAgIGNyZWF0ZSB0aGUgcHl0aG9uIHZpcnR1YWwgZW52aXJvbm1l bnQgYW5kIGluc3RhbGwgYWxsIHRoZSByZXF1aXJlZCBweXRob24gbW9kdWxl cyBtZW50aW9uZWQgaW4gdGhlCisgICByZXF1aXJlbWVudHMgZmlsZSB1c2lu ZyBwaXAsIGJ1aWxkIHRoZSBydW50aW1lIGNvZGUgYW5kIGZpbmFsbHkgY3Jl YXRlIHRoZSBhcHAgYnVuZGxlIGFuZCB0aGUgRE1HIAorICAgaW4gLi9kaXN0 IGRpcmVjdG9yeQpkaWZmIC0tZ2l0IGEvcGtnL21hYy9idWlsZC5zaCBiL3Br Zy9tYWMvYnVpbGQuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAw MDAwMC4uMjk4MWFhZAotLS0gL2Rldi9udWxsCisrKyBiL3BrZy9tYWMvYnVp bGQuc2gKQEAgLTAsMCArMSwxNTYgQEAKKyMhL2Jpbi9iYXNoCisKKyMgQnVp bGQgc2NyaXB0IHRvIGNyZWF0ZSBNYWMgQXBwIEJ1bmRsZSBhbmQgRE1HIGZv ciBwZ0FkbWluNCBydW50aW1lCisKK2V4cG9ydCBXRD0kKGNkIGBkaXJuYW1l ICQwYCAmJiBwd2QpCitleHBvcnQgU09VUkNFRElSPSRXRC8uLi8uLgorZXhw b3J0IEJVSUxEUk9PVD0kV0QvLi4vLi4vbWFjLWJ1aWxkCitleHBvcnQgRElT VFJPT1Q9JFdELy4uLy4uL2Rpc3QKK2V4cG9ydCBWSVJUVUFMRU5WPXZlbnYK KworaWYgWyAieCRQWVRIT05fSE9NRSIgPT0gIngiIF07IHRoZW4KKyAgICBl Y2hvICJQWVRIT05fSE9NRSBub3Qgc2V0LiBTZXR0aW5nIGl0IHRvIGRlZmF1 bHQiCisgICAgZXhwb3J0IFBZVEhPTl9IT01FPS9TeXN0ZW0vTGlicmFyeS9G cmFtZXdvcmtzL1B5dGhvbi5mcmFtZXdvcmsvVmVyc2lvbnMvMi43CisgICAg ZXhwb3J0IFBZVEhPTl9WRVJTSU9OPTI3CitmaQorCisjIENoZWNrIGlmIFB5 dGhvbiBpcyB3b3JraW5nIGFuZCBjYWxjdWxhdGUgUFlUSE9OX1ZFUlNJT04K K2lmICRQWVRIT05fSE9NRS9iaW4vcHl0aG9uMiAtViA+IC9kZXYvbnVsbCAy PiYxOyB0aGVuCisgICAgZXhwb3J0IFBZVEhPTl9WRVJTSU9OPWAkUFlUSE9O X0hPTUUvYmluL3B5dGhvbjIgLVYgMj4mMSB8IGF3ayAne3ByaW50ICQyfScg fCBjdXQgLWQiLiIgLWYxLTIgfCBzZWQgJ3MvXC4vLydgCitlbGlmICRQWVRI T05fSE9NRS9iaW4vcHl0aG9uMyAtViA+IC9kZXYvbnVsbCAyPiYxOyB0aGVu CisgICAgZXhwb3J0IFBZVEhPTl9WRVJTSU9OPWAkUFlUSE9OX0hPTUUvYmlu L3B5dGhvbjMgLVYgMj4mMSB8IGF3ayAne3ByaW50ICQyfScgfCBjdXQgLWQi LiIgLWYxLTIgfCBzZWQgJ3MvXC4vLydgCitlbHNlCisgICAgZWNobyAiRXJy b3I6IFB5dGhvbiBpbnN0YWxsYXRpb24gbWlzc2luZyEiCisgICAgZXhpdCAx CitmaQorCitpZiBbICIkUFlUSE9OX1ZFUlNJT04iIC1ndCAiMzQiIC1hICIk UFlUSE9OX1ZFUlNJT04iIC1sdCAiMjYiIF07IHRoZW4KKyAgICBlY2hvICJQ eXRob24gdmVyc2lvbiBub3Qgc3VwcG9ydGVkIgorICAgIGV4aXQgMQorZmkK KworaWYgWyAiJFBZVEhPTl9WRVJTSU9OIiAtZ2UgIjMwIiBdOyB0aGVuCisg ICAgZXhwb3J0IFBZVEhPTj0kUFlUSE9OX0hPTUUvYmluL3B5dGhvbjMKKyAg ICBleHBvcnQgUElQPXBpcDMKKyAgICBleHBvcnQgUkVRVUlSRU1FTlRTPXJl cXVpcmVtZW50c19weTMudHh0CitlbHNlCisgICAgZXhwb3J0IFBZVEhPTj0k UFlUSE9OX0hPTUUvYmluL3B5dGhvbjIKKyAgICBleHBvcnQgUElQPXBpcAor ICAgIGV4cG9ydCBSRVFVSVJFTUVOVFM9cmVxdWlyZW1lbnRzX3B5Mi50eHQK K2ZpCisKK2lmIFsgIngkUVRESVIiID09ICJ4IiBdOyB0aGVuCisgICAgZWNo byAiUVRESVIgbm90IHNldC4gU2V0dGluZyBpdCB0byBkZWZhdWx0IgorICAg IGV4cG9ydCBRVERJUj1+L1F0LzUuNS9jbGFuZ182NAorZmkKK2V4cG9ydCBR TUFLRT0kUVRESVIvYmluL3FtYWtlCitpZiAhICRRTUFLRSAtLXZlcnNpb24g PiAvZGV2L251bGwgMj4mMTsgdGhlbgorICAgIGVjaG8gIkVycm9yOiBxbWFr ZSBub3QgZm91bmQuIFFUIGluc3RhbGxhdGlvbiBpcyBub3QgcHJlc2VudCBv ciBpbmNvbXBsZXRlLiIKKyAgICBleGl0IDEKK2ZpCisKK2lmIFsgIngkUEdE SVIiID09ICJ4IiBdOyB0aGVuCisgICAgZWNobyAiUEdESVIgbm90IHNldC4g U2V0dGluZyBpdCB0byBkZWZhdWx0IgorICAgIGV4cG9ydCBQR0RJUj0vdXNy L2xvY2FsL3Bnc3FsCitmaQorCitfZ2V0X3ZlcnNpb24oKSB7CisgICAgZXhw b3J0IGFwcF9yZWxlYXNlPWBncmVwICJeQVBQX1JFTEVBU0UiIHdlYi9jb25m aWcucHkgfCBjdXQgLWQiPSIgLWYyIHwgc2VkICdzLyAvL2cnYAorICAgIGV4 cG9ydCBhcHBfcmV2aXNpb249YGdyZXAgIl5BUFBfUkVWSVNJT04iIHdlYi9j b25maWcucHkgfCBjdXQgLWQiPSIgLWYyIHwgc2VkICdzLyAvL2cnYAorICAg IGV4cG9ydCBhcHBfbmFtZT1gZ3JlcCAiXkFQUF9OQU1FIiB3ZWIvY29uZmln LnB5IHwgY3V0IC1kIj0iIC1mMiB8IHNlZCAicy8nLy9nIiB8IHNlZCAncy9e IC8vJ2AKKyAgICBleHBvcnQgYXBwX25hbWU9JGFwcF9uYW1lLmFwcAorICAg IGV4cG9ydCBhcHBfbG9uZ192ZXJzaW9uPSRhcHBfcmVsZWFzZS4kYXBwX3Jl dmlzaW9uCisgICAgZXhwb3J0IGFwcF9zaG9ydF92ZXJzaW9uPWBlY2hvICRh cHBfbG9uZ192ZXJzaW9uIHwgY3V0IC1kIC4gLWYxLDJgCisgICAgZXhwb3J0 IGFwcF9zdWZmaXg9YGdyZXAgIl5BUFBfU1VGRklYIiB3ZWIvY29uZmlnLnB5 IHwgY3V0IC1kIj0iIC1mMiB8IHNlZCAncy8gLy9nJyB8IHNlZCAicy8nLy9n ImAKKyAgICBpZiBbICEgLXogJGFwcF9zdWZmaXggXTsgdGhlbgorICAgICAg ICBleHBvcnQgYXBwX2xvbmdfdmVyc2lvbj0kYXBwX2xvbmdfdmVyc2lvbi0k YXBwX3N1ZmZpeAorICAgIGZpCit9CisKK19jbGVhbnVwKCkgeworICAgIGVj aG8gIkNsZWFuaW5nIHVwIHRoZSBvbGQgZW52aXJvbm1lbnQgYW5kIGFwcCBi dW5kbGUiCisgICAgcm0gLXJmICRTT1VSQ0VESVIvcnVudGltZS9wZ0FkbWlu NC5hcHAKKyAgICBybSAtcmYgJEJVSUxEUk9PVAorICAgIHJtIC1mICRESVNU Uk9PVC9wZ0FkbWluNC5kbWcKK30KKworX2NyZWF0ZV9weXRob25fdmlydHVh bGVudigpIHsKKyAgICBleHBvcnQgUEFUSD0kUEdESVIvYmluOiRQQVRICisg ICAgZXhwb3J0IExEX0xJQlJBUllfUEFUSD0kUEdESVIvbGliOiRfTERfTElC UkFSWV9QQVRICisgICAgdGVzdCAtZCAkQlVJTERST09UIHx8IG1rZGlyICRC VUlMRFJPT1QgfHwgZXhpdCAxCisgICAgY2QgJEJVSUxEUk9PVAorICAgIHRl c3QgLWQgJFZJUlRVQUxFTlYgfHwgdmlydHVhbGVudiAtcCAkUFlUSE9OICRW SVJUVUFMRU5WIHx8IGV4aXQgMQorICAgIHNvdXJjZSAkVklSVFVBTEVOVi9i aW4vYWN0aXZhdGUKKyAgICAkUElQIGluc3RhbGwgLXIgJFNPVVJDRURJUi8k UkVRVUlSRU1FTlRTIHx8IHsgZWNobyBQSVAgaW5zdGFsbCBmYWlsZWQuIFBs ZWFzZSByZXNvbHZlIHRoZSBpc3N1ZSBhbmQgcmVydW4gdGhlIHNjcmlwdDsg ZXhpdCAxOyB9CisKKyAgICAjIE1vdmUgdGhlIHB5dGhvbjx2ZXJzaW9uPiBk aXJlY3RvcnkgdG8gcHl0aG9uIHNvIHRoYXQgdGhlIHByaXZhdGUgZW52aXJv bm1lbnQgcGF0aCBpcyBmb3VuZCBieSB0aGUgYXBwbGljYXRpb24uCisgICAg ZXhwb3J0IFBZTU9EVUxFU19QQVRIPWBweXRob24gLWMgImZyb20gZGlzdHV0 aWxzLnN5c2NvbmZpZyBpbXBvcnQgZ2V0X3B5dGhvbl9saWI7IHByaW50KGdl dF9weXRob25fbGliKCkpImAKKyAgICBleHBvcnQgRElSX1BZTU9EVUxFU19Q QVRIPWBkaXJuYW1lICRQWU1PRFVMRVNfUEFUSGAKKyAgICBpZiB0ZXN0IC1k ICRESVJfUFlNT0RVTEVTX1BBVEg7IHRoZW4KKyAgICAgICAgbXYgJERJUl9Q WU1PRFVMRVNfUEFUSCAkRElSX1BZTU9EVUxFU19QQVRILy4uL3B5dGhvbgor ICAgIGZpCit9CisKK19idWlsZF9ydW50aW1lKCkgeworICAgIF9jcmVhdGVf cHl0aG9uX3ZpcnR1YWxlbnYgfHwgZXhpdCAxCisgICAgY2QgJFNPVVJDRURJ Ui9ydW50aW1lCisgICAgJFFNQUtFIHx8IHsgZWNobyBxbWFrZSBmYWlsZWQ7 IGV4aXQgMTsgfQorICAgIG1ha2UgfHwgeyBlY2hvIG1ha2UgZmFpbGVkOyBl eGl0IDE7IH0KKyAgICBjcCAtciBwZ0FkbWluNC5hcHAgIiRCVUlMRFJPT1Qv JGFwcF9uYW1lIgorfQorCitfYnVpbGRfZG9jKCkgeworICAgIGNkICRTT1VS Q0VESVIvZG9jcy9lbl9VUworICAgICMgQ29tbWVudGluZyB0aGUgYnVpbGQg YXMgaXQgaXMgdGFrZW4gY2FyZSBieSBNYWtlZmlsZQorICAgICNMQ19BTEw9 ZW5fVVMuVVRGLTggTEFORz1lbl9VUy5VVEYtOCBtYWtlIC1mIE1ha2VmaWxl LnNwaGlueCBodG1sIHx8IGV4aXQgMQorICAgIHRlc3QgLWQgIiRCVUlMRFJP T1QvJGFwcF9uYW1lL0NvbnRlbnRzL1Jlc291cmNlcyIgfHwgIm1rZGlyIC1w ICRCVUlMRFJPT1QvJGFwcF9uYW1lL0NvbnRlbnRzL1Jlc291cmNlcyIKKyAg ICB0ZXN0IC1kICIkQlVJTERST09ULyRhcHBfbmFtZS9Db250ZW50cy9SZXNv dXJjZXMvZG9jcy9lbl9VUyIgfHwgbWtkaXIgLXAgIiRCVUlMRFJPT1QvJGFw cF9uYW1lL0NvbnRlbnRzL1Jlc291cmNlcy9kb2NzL2VuX1VTIgorICAgIGNw IC1yIF9idWlsZC9odG1sICIkQlVJTERST09ULyRhcHBfbmFtZS9Db250ZW50 cy9SZXNvdXJjZXMvZG9jcy9lbl9VUy8iIHx8IGV4aXQgMQorfQorCitfY29t cGxldGVfYnVuZGxlKCkgeworICAgIGNkICRTT1VSQ0VESVIvcGtnL21hYwor ICAgIAorICAgICMgUmVwbGFjZSB0aGUgcGxhY2UgaG9sZGVycyB3aXRoIHRo ZSBjdXJyZW50IHZlcnNpb24KKyAgICBzZWQgLWUgInMvUEdBRE1JTl9MT05H X1ZFUlNJT04vJGFwcF9sb25nX3ZlcnNpb24vZyIgLWUgInMvUEdBRE1JTl9T SE9SVF9WRVJTSU9OLyRhcHBfc2hvcnRfdmVyc2lvbi9nIiBwZ2FkbWluLklu Zm8ucGxpc3QuaW4gPiBwZ2FkbWluLkluZm8ucGxpc3QKKworICAgICMgY29w eSBQeXRob24gcHJpdmF0ZSBlbnZpcm9ubWVudCB0byBhcHAgYnVuZGxlCisg ICAgY3AgLVBSICRCVUlMRFJPT1QvJFZJUlRVQUxFTlYgIiRCVUlMRFJPT1Qv JGFwcF9uYW1lL0NvbnRlbnRzL1Jlc291cmNlcy8iIHx8IGV4aXQgMQorCisg ICAgIyByZW1vdmUgdGhlIHB5dGhvbiBiaW4gYW5kIGluY2x1ZGUgZnJvbSBh cHAgYnVuZGxlIGFzIGl0IGlzIG5vdCBuZWVkZWQKKyAgICBybSAtcmYgIiRC VUlMRFJPT1QvJGFwcF9uYW1lL0NvbnRlbnRzL1Jlc291cmNlcy8kVklSVFVB TEVOVi9iaW4iICIkQlVJTERST09ULyRhcHBfbmFtZS9Db250ZW50cy9SZXNv dXJjZXMvJFZJUlRVQUxFTlYvaW5jbHVkZSIKKyAgICBybSAtcmYgIiRCVUlM RFJPT1QvJGFwcF9uYW1lL0NvbnRlbnRzL1Jlc291cmNlcy8kVklSVFVBTEVO Vi8uUHl0aG9uIgorCisgICAgIyBydW4gY29tcGxldGUtYnVuZGxlIHRvIGNv cHkgdGhlIGRlcGVuZGVudCBsaWJyYXJpZXMgYW5kIGZyYW1ld29ya3MgYW5k IGZpeCB0aGUgcnBhdGhzCisgICAgLi9jb21wbGV0ZS1idW5kbGUuc2ggIiRC VUlMRFJPT1QvJGFwcF9uYW1lIiB8fCB7IGVjaG8gY29tcGxldGUtYnVuZGxl LnNoIGZhaWxlZDsgZXhpdCAxOyB9CisKKyAgICAjIGNvcHkgdGhlIHdlYiBk aXJlY3RvcnkgdG8gdGhlIGJ1bmRsZSBhcyBpdCBpcyByZXF1aXJlZCBieSBy dW50aW1lCisgICAgY3AgLXIgJFNPVVJDRURJUi93ZWIgIiRCVUlMRFJPT1Qv JGFwcF9uYW1lL0NvbnRlbnRzL1Jlc291cmNlcy8iIHx8IGV4aXQgMQorICAg IGNkICIkQlVJTERST09ULyRhcHBfbmFtZS9Db250ZW50cy9SZXNvdXJjZXMv d2ViIgorICAgIHJtIC1mIHBnYWRtaW40LmRiIGNvbmZpZ19sb2NhbC4qCisg ICAgZWNobyAiU0VSVkVSX01PREUgPSBGYWxzZSIgPiBjb25maWdfbG9jYWwu cHkKKyAgICBlY2hvICJNSU5JRllfSFRNTCA9IEZhbHNlIiA+PiBjb25maWdf bG9jYWwucHkKKyAgICBlY2hvICJIRUxQX1BBVEggPSAnLi4vLi4vLi4vZG9j cy9lbl9VUy9odG1sLyciID4+IGNvbmZpZ19sb2NhbC5weQorCisgICAgIyBS ZW1vdmUgdGhlIC5weWMgZmlsZXMgaWYgYW55CisgICAgY2QgIiRCVUlMRFJP T1QvJGFwcF9uYW1lIgorICAgIGZpbmQgLiAtbmFtZSAqLnB5YyB8IHhhcmdz IHJtIC1mIAorCisgICAgIyBjb3B5IHRoZSByZXN1bHRpbmcgYXBwIGJ1bmRs ZSB0byB0aGUgZGlzdAorICAgICN0ZXN0IC1kICRESVNUUk9PVCB8fCBta2Rp ciAkRElTVFJPT1QgfHwgZXhpdCAxCisgICAgI2NwIC1wUiAkQlVJTERST09U LyRhcHBfbmFtZSAkRElTVFJPT1QvIHx8IGV4aXQgMQorfQorCitfY3JlYXRl X2RtZygpIHsKKyAgICBjZCAkU09VUkNFRElSCisgICAgLi9wa2cvbWFjL2Ny ZWF0ZS1kbWcuc2ggfHwgeyBlY2hvIGNyZWF0ZS1kbWcuc2ggZmFpbGVkOyBl eGl0IDE7IH0KKyAgICAjIENsZWFuIHRoZSBtYWMtYnVpbGQvIG9uIHN1Y2Nl c3NmdWwgYnVpbGQKKyAgICBybSAtcmYgJEJVSUxEUk9PVC8qCit9CisKK19n ZXRfdmVyc2lvbiB8fCB7IGVjaG8gQ291bGQgbm90IGdldCB2ZXJzaW9uaW5n OyBleGl0IDE7IH0KK19jbGVhbnVwCitfYnVpbGRfcnVudGltZSB8fCB7IGVj aG8gUnVudGltZSBidWlsZCBmYWlsZWQ7IGV4aXQgMTsgfQorX2J1aWxkX2Rv YworX2NvbXBsZXRlX2J1bmRsZQorX2NyZWF0ZV9kbWcKZGlmZiAtLWdpdCBh L3BrZy9tYWMvY29tcGxldGUtYnVuZGxlLnNoIGIvcGtnL21hYy9jb21wbGV0 ZS1idW5kbGUuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAw MC4uZjk1NGQxMQotLS0gL2Rldi9udWxsCisrKyBiL3BrZy9tYWMvY29tcGxl dGUtYnVuZGxlLnNoCkBAIC0wLDAgKzEsMTQwIEBACisjIS9iaW4vc2gKKwor YnVuZGxlPSIkMSIKKworaWYgISB0ZXN0IC1kICIkYnVuZGxlIiA7IHRoZW4K KwllY2hvICIkYnVuZGxlIGlzIG5vIGJ1bmRsZSEiID4mMgorCWV4aXQgMQor ZmkKKworaWYgdGVzdCAteiAkUVRESVIgOyB0aGVuCisJZWNobyAiUVRESVIg ZW52aXJvbm1lbnQgdmFyaWFibGUgbm90IHNldCIKKwlleGl0IDEKK2Vsc2UK KwllY2hvICJRVERJUj0kUVRESVIiCitmaQorCit0ZXN0IC1kICIkYnVuZGxl L0NvbnRlbnRzL1Jlc291cmNlcyIgfHwgbWtkaXIgLXAgIiRidW5kbGUvQ29u dGVudHMvUmVzb3VyY2VzIiB8fCBleGl0IDEKKyMgQ3JlYXRlIHF0LmNvbmYg c28gdGhhdCBhcHAga25vd3Mgd2hlcmUgdGhlIFBsdWdpbnMgYXJlIHByZXNl bnQKK2NhdCA+PiAiJGJ1bmRsZS9Db250ZW50cy9SZXNvdXJjZXMvcXQuY29u ZiIgPDwgRU9GCitbUGF0aHNdCitQbHVnaW5zID0gUGx1Z0lucworRU9GCisK K3Rlc3QgLWQgIiRidW5kbGUvQ29udGVudHMvRnJhbWV3b3JrcyIgfHwgbWtk aXIgLXAgIiRidW5kbGUvQ29udGVudHMvRnJhbWV3b3JrcyIgfHwgZXhpdCAx Cit0ZXN0IC1kICIkYnVuZGxlL0NvbnRlbnRzL1BsdWdJbnMvcGxhdGZvcm1z IiB8fCBta2RpciAtcCAiJGJ1bmRsZS9Db250ZW50cy9QbHVnSW5zL3BsYXRm b3JtcyIgfHwgZXhpdCAxCitjcCAtZiAkUVRESVIvcGx1Z2lucy9wbGF0Zm9y bXMvbGlicWNvY29hLmR5bGliICIkYnVuZGxlL0NvbnRlbnRzL1BsdWdJbnMv cGxhdGZvcm1zIiB8fCB7IGVjaG8gbGlicWNvY29hLmR5bGliIG5vdCBmb3Vu ZCBpbiAkUVRESVIvcGx1Z2lucy9wbGF0Zm9ybXM7IGV4aXQgMTsgfQorY3Ag LWYgJFBHRElSL2xpYi9saWJwcS41LmR5bGliICIkYnVuZGxlL0NvbnRlbnRz L0ZyYW1ld29ya3MiIHx8IHsgZWNobyBsaWJwcS41LmR5bGliIG5vdCBmb3Vu ZCBpbiAkUEdESVI7IGV4aXQgMTsgfQorCitmdW5jdGlvbiBDb21wbGV0ZVNp bmdsZUFwcCgpIHsKKwlsb2NhbCBidW5kbGU9JDEgdGFnPSQoYmFzZW5hbWUg IiQxIikgdG9kbyB0b2RvX29sZCBmd19yZWxwYXRoIGxpYiBsaWJfYm4gbmVz dGVkX2FwcCBuYV9yZWxwYXRoCisKKwllY2hvICJDb21wbGV0aW5nIGFwcDog JGJ1bmRsZSIKKwlwdXNoZCAiJGJ1bmRsZSIgPiAvZGV2L251bGwKKworCSNX ZSBza2lwIG5lc3RlZCBhcHBzIGhlcmUgLSB0aG9zZSBhcmUgdHJlYXRlZCBz cGVjaWFsbHkKKwl0b2RvPSQoZmlsZSBgZmluZCAuLyAtcGVybSArMDExMSAh IC10eXBlIGQgISAtcGF0aCAiKi5hcHAvKiIgISAtbmFtZSAiKi5hcHAiYCB8 IGdyZXAgLUUgIk1hY2gtTyA2NC1iaXQiIHwgYXdrIC1GICc6fCAnICd7T1JT PSIgIjsgcHJpbnQgJDF9JyB8IHVuaXEpCisKKwllY2hvICJBcHA6ICR0YWc6 IEZvdW5kIGV4ZWN1dGFibGVzOiAkdG9kbyIKKwl3aGlsZSB0ZXN0ICIkdG9k byIgIT0gIiI7IGRvCisJCXRvZG9fb2xkPSR0b2RvIDsKKwkJdG9kbz0iIiA7 CisJCWZvciB0b2RvX29iaiBpbiAkdG9kb19vbGQ7IGRvCisJCQllY2hvICJB cHA6ICR0YWc6IFBvc3QtcHJvY2Vzc2luZzogJHRvZG9fb2JqIgorCisJCQkj RmlndXJlIG91dCB0aGUgcmVsYXRpdmUgcGF0aCBmcm9tIHRvZG9fb2JqIHRv IENvbnRlbnRzL0ZyYW1ld29ya3MKKwkJCWZ3X3JlbHBhdGg9JChlY2hvICIk dG9kb19vYmoiIHxcCisJCQkJc2VkIC1uICdzfF5cKFwuLy8qXClcKFwoW14v XVteL10qL1wpKlwpW14vXVteL10qJHxcMnxncCcgfCBcCisJCQkJc2VkIC1u ICdzfFteL11bXi9dKi98Li4vfGdwJyBcCisJCQkpIkNvbnRlbnRzL0ZyYW1l d29ya3MiCisJCQlmd19yZWxwYXRoX29sZD0kZndfcmVscGF0aAorCisJCQlm d19sb2M9IkNvbnRlbnRzL0ZyYW1ld29ya3MiCisKKwkJCSNGaW5kIGFsbCBs aWJyYXJpZXMgJHRvZG9fb2JqIGRlcGVuZHMgb24sIGJ1dCBza2lwIHN5c3Rl bSBsaWJyYXJpZXMKKwkJCWZvciBsaWIgaW4gJCgKKwkJCQlvdG9vbCAtTCAk dG9kb19vYmogfCBcCisJCQkJZ3JlcCAiUXRcfGR5bGliXHxGcmFtZXdvcmtz XHxQbHVnSW5zIiB8IGdyZXAgLXYgIjoiIHwgc2VkICdzLyguKi8vJyB8IGVn cmVwIC12ICcoL3Vzci9saWIpfCgvU3lzdGVtKXxAZXhlY3V0YWJsZV9wYXRo QCcgXAorCQkJKSAkKG90b29sIC1MICR0b2RvX29iaiB8IGdyZXAgIlB5dGhv biIgfCBncmVwIC12ICI6IiB8IHNlZCAncy8oLiovLycgXAorCQkJKTsgZG8K KwkJCQlpZiBlY2hvICRsaWIgfCBncmVwICJQbHVnSW5zXHxsaWJxY29jb2Ei ICA+IC9kZXYvbnVsbDsgdGhlbgorCQkJCQlsaWJfbG9jPSJDb250ZW50cy9Q bHVnSW5zL3BsYXRmb3JtcyIKKwkJCQllbGlmIGVjaG8gJGxpYiB8IGdyZXAg IlF0IiA+IC9kZXYvbnVsbDsgdGhlbgorCQkJCQlxdGZ3X3BhdGg9IiQoZGly bmFtZSAkbGliIHwgc2VkICdzfC4qXChRdC4qZnJhbWV3b3JrXCl8XDF8Jyki CisJCQkJCWxpYl9sb2M9IkNvbnRlbnRzL0ZyYW1ld29ya3MvJHF0ZndfcGF0 aCIKKwkJCQkJaWYgWyAiJChiYXNlbmFtZSAkdG9kb19vYmopIiA9ICIkbGli IiBdOyB0aGVuCisJCQkJCQlsaWJfbG9jPSIkKGRpcm5hbWUgJHRvZG9fb2Jq KSIKKwkJCQkJCXF0ZndfcGF0aD0kKGVjaG8gJGxpYl9sb2MgfCBzZWQgJ3Mv Q29udGVudHNcL0ZyYW1ld29ya3NcLy8vJykKKwkJCQkJZmkKKwkJCQllbGlm IGVjaG8gJGxpYiB8IGdyZXAgIlB5dGhvbiIgPiAvZGV2L251bGw7IHRoZW4K KwkJCQkJcHlmd19wYXRoPSIkKGRpcm5hbWUgJGxpYiB8IHNlZCAnc3wuKlwo UHl0aG9uLipmcmFtZXdvcmtcKXxcMXwnKSIKKwkJCQkJbGliX2xvYz0iQ29u dGVudHMvRnJhbWV3b3Jrcy8kcHlmd19wYXRoIgorCQkJCQlpZiBbICIkKGJh c2VuYW1lICR0b2RvX29iaikiID0gIiRsaWIiIF07IHRoZW4KKwkJCQkJCWxp Yl9sb2M9IiQoZGlybmFtZSAkdG9kb19vYmopIgorCQkJCQkJcHlmd19wYXRo PSQoZWNobyAkbGliX2xvYyB8IHNlZCAncy9Db250ZW50c1wvRnJhbWV3b3Jr c1wvLy8nKQorCQkJCQlmaQorCQkJCWVsc2UKKwkJCQkJbGliX2xvYz0iQ29u dGVudHMvRnJhbWV3b3JrcyIKKwkJCQlmaQorCQkJCWxpYl9ibj0iJChiYXNl bmFtZSAiJGxpYiIpIiA7CisJCQkJaWYgISB0ZXN0IC1mICIkbGliX2xvYy8k bGliX2JuIjsgdGhlbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHRhcmdldF9maWxlPSIiCisJCQkJCXRhcmdldF9wYXRoPSIi CisJCQkJCWVjaG8gIkFwcDogJHRhZzogQWRkaW5nIHN5bWxpbms6ICRsaWJf Ym4gKGJlY2F1c2Ugb2Y6ICR0b2RvX29iaikiCisJCQkJCSMgQ29weSB0aGUg UVQgYW5kIFB5dGhvbiBmcmFtZXdvcmsKKwkJCQkJaWYgZWNobyAkbGliIHwg Z3JlcCBRdCA+IC9kZXYvbnVsbCA7IHRoZW4KKwkJCQkJCXRlc3QgLWQgJGxp Yl9sb2MgfHwgbWtkaXIgLXAgJGxpYl9sb2MKKwkJCQkJCWNwICRRVERJUi9s aWIvJHF0ZndfcGF0aC8kbGliX2JuICRsaWJfbG9jLworCQkJCQllbGlmIGVj aG8gJGxpYiB8IGdyZXAgUHl0aG9uID4gL2Rldi9udWxsIDsgdGhlbgorCQkJ CQkJdGVzdCAtZCAkbGliX2xvYyB8fCBta2RpciAtcCAkbGliX2xvYworCQkJ CQkJY3AgLVIgIiRsaWIiICIkbGliX2xvYy8kbGliX2JuIgorCQkJCQllbHNl CisJCQkJCQljcCAtUiAiJGxpYiIgIiRsaWJfbG9jLyRsaWJfYm4iCisJCQkJ CWZpCisJCQkJCWlmICEgdGVzdCAtTCAiJGxpYl9sb2MvJGxpYl9ibiI7IHRo ZW4KKwkJCQkJCWNobW9kIDc1NSAiJGxpYl9sb2MvJGxpYl9ibiIKKwkJCQkJ ZWxzZQorCQkJCQkJdGFyZ2V0X2ZpbGU9JChyZWFkbGluayAiJGxpYiIpCisJ CQkJCQl0YXJnZXRfcGF0aD0kKGRpcm5hbWUgIiRsaWIiKS8kdGFyZ2V0X2Zp bGUKKwkJCQkJICAgICAgICBlY2hvICJBcHA6ICR0YWc6IEFkZGluZyBzeW1s aW5rIHRhcmdldDogJHRhcmdldF9wYXRoIgorCQkJCQkJY3AgIiR0YXJnZXRf cGF0aCIgIiRsaWJfbG9jLyR0YXJnZXRfZmlsZSIKKwkJCQkJCWNobW9kIDc1 NSAiJGxpYl9sb2MvJHRhcmdldF9maWxlIgorCQkJCQlmaQorCQkJCQllY2hv ICJSZXdyaXRpbmcgSUQgaW4gJGxpYl9sb2MvJGxpYl9ibiB0byAkbGliX2Ju IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVj aG8gaW5zdGFsbF9uYW1lX3Rvb2wgLWlkICIkbGliX2JuIiAiJGxpYl9sb2Mv JGxpYl9ibiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBpbnN0YWxsX25hbWVfdG9vbCBcCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtaWQgIiRsaWJfYm4iIFwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICIkbGliX2xvYy8kbGliX2JuIiB8fCBleGl0IDEKKwkJCQkJdG9kbz0i JHRvZG8gLi8kbGliX2xvYy8kbGliX2JuIgorCQkJCWZpCisJCQkJaWYgZWNo byAkbGliIHwgZ3JlcCBRdCA+IC9kZXYvbnVsbCA7IHRoZW4KKwkJCQkJZndf cmVscGF0aD0iJGZ3X3JlbHBhdGgvJHF0ZndfcGF0aCIKKwkJCQlmaQorCQkJ CWlmIGVjaG8gJGxpYiB8IGdyZXAgUHl0aG9uID4gL2Rldi9udWxsIDsgdGhl bgorCQkJCQlmd19yZWxwYXRoPSIkZndfcmVscGF0aC8kcHlmd19wYXRoIgor CQkJCWZpCisJCQkJZWNobyAiUmV3cml0aW5nIGxpYnJhcnkgJGxpYiB0byBA bG9hZGVyX3BhdGgvJGZ3X3JlbHBhdGgvJGxpYl9ibiBpbiAkdG9kb19vYmoi CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNo byBpbnN0YWxsX25hbWVfdG9vbCAtY2hhbmdlICIkbGliIiAiQGxvYWRlcl9w YXRoLyRmd19yZWxwYXRoLyRsaWJfYm4iICIkdG9kb19vYmoiCisJCQkJaW5z dGFsbF9uYW1lX3Rvb2wgLWNoYW5nZSBcCisJCQkJCSIkbGliIiBcCisJCQkJ CSJAbG9hZGVyX3BhdGgvJGZ3X3JlbHBhdGgvJGxpYl9ibiIgXAorCQkJCQki JHRvZG9fb2JqIiB8fCBleGl0IDEKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaW5zdGFsbF9uYW1lX3Rvb2wgLWNoYW5nZSBcCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiR0YXJnZXRfcGF0 aCIgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJAbG9hZGVyX3BhdGgvJGZ3X3JlbHBhdGgvJHRhcmdldF9maWxlIiBcCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiR0b2Rv X29iaiIgfHwgZXhpdCAxCisJCQkJZndfcmVscGF0aD0iJGZ3X3JlbHBhdGhf b2xkIgorCQkJZG9uZQorCQlkb25lCisJZG9uZQorCisJIyBGaXggdGhlIHJw YXRocyBmb3IgcHN5Y29wZyBtb2R1bGUKKwlmaW5kICIkYnVuZGxlL0NvbnRl bnRzL1Jlc291cmNlcy92ZW52LyIgLW5hbWUgX3BzeWNvcGcuc28gLXByaW50 MCB8IHhhcmdzIC0wIGluc3RhbGxfbmFtZV90b29sIC1jaGFuZ2UgbGlicHEu NS5keWxpYiBAbG9hZGVyX3BhdGgvLi4vLi4vLi4vLi4vLi4vLi4vRnJhbWV3 b3Jrcy9saWJwcS41LmR5bGliCisJZmluZCAiJGJ1bmRsZS9Db250ZW50cy9S ZXNvdXJjZXMvdmVudi8iIC1uYW1lIF9wc3ljb3BnLnNvIC1wcmludDAgfCB4 YXJncyAtMCBpbnN0YWxsX25hbWVfdG9vbCAtY2hhbmdlIGxpYnNzbC4xLjAu MC5keWxpYiBAbG9hZGVyX3BhdGgvLi4vLi4vLi4vLi4vLi4vLi4vRnJhbWV3 b3Jrcy9saWJzc2wuMS4wLjAuZHlsaWIKKwlmaW5kICIkYnVuZGxlL0NvbnRl bnRzL1Jlc291cmNlcy92ZW52LyIgLW5hbWUgX3BzeWNvcGcuc28gLXByaW50 MCB8IHhhcmdzIC0wIGluc3RhbGxfbmFtZV90b29sIC1jaGFuZ2UgbGliY3J5 cHRvLjEuMC4wLmR5bGliIEBsb2FkZXJfcGF0aC8uLi8uLi8uLi8uLi8uLi8u Li9GcmFtZXdvcmtzL2xpYmNyeXB0by4xLjAuMC5keWxpYgorCisJZWNobyAi QXBwIGNvbXBsZXRlZDogJGJ1bmRsZSIKKwlwb3BkID4gL2Rldi9udWxsCit9 CisKK0NvbXBsZXRlU2luZ2xlQXBwICIkYnVuZGxlIgpkaWZmIC0tZ2l0IGEv cGtnL21hYy9jcmVhdGUtZG1nLnNoIGIvcGtnL21hYy9jcmVhdGUtZG1nLnNo Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZmODk3YzYK LS0tIC9kZXYvbnVsbAorKysgYi9wa2cvbWFjL2NyZWF0ZS1kbWcuc2gKQEAg LTAsMCArMSwzOCBAQAorIyEvYmluL3NoCisKK2RtZ25hbWU9YGdyZXAgIl5B UFBfTkFNRSIgd2ViL2NvbmZpZy5weSB8IGN1dCAtZCI9IiAtZjIgfCBzZWQg InMvJy8vZyIgfCBzZWQgJ3MvIC8vZycgfCBhd2sgJ3twcmludCB0b2xvd2Vy KCQwKX0nYAorCisjIG1vdmUgdG8gdGhlIGRpcmVjdG9yeSB3aGVyZSB3ZSB3 YW50IHRvIGNyZWF0ZSB0aGUgRE1HCitjZCBkaXN0CisKK0RNR19TT1VSQ0VT PSIuLy4uL21hYy1idWlsZC8kYXBwX25hbWUiCitETUdfTElDRU5DRT0uLy4u L3BrZy9tYWMvbGljZW5jZS5yCitETUdfSU1BR0U9JGRtZ25hbWUtJGFwcF9s b25nX3ZlcnNpb24uZG1nCitETUdfTkFNRT1wZ0FkbWluNAorSERJVVRJTD0v dXNyL2Jpbi9oZGl1dGlsCitSRVo9Ii91c3IvYmluL1JleiAvU3lzdGVtL0xp YnJhcnkvRnJhbWV3b3Jrcy9DYXJib24uZnJhbWV3b3JrL1ZlcnNpb25zL0Ev SGVhZGVycy8qLnIiCisKK0RNR19ESVI9Li8kRE1HX0lNQUdFLnNyYworCitp ZiB0ZXN0IC1lICIkRE1HX0RJUiI7IHRoZW4KKwllY2hvICJEaXJlY3Rvcnkg JERNR19ESVIgYWxyZWFkeSBleGlzdHMuIFBsZWFzZSBkZWxldGUgaXQgbWFu dWFsbHkuIiA+JjIKKwlleGl0IDEKK2ZpCisKK2VjaG8gIkNsZWFuaW5nIHVw Igorcm0gLWYgIiRETUdfSU1BR0UiIHx8IGV4aXQgMQorbWtkaXIgIiRETUdf RElSIiB8fCBleGl0IDEKKworZWNobyAiQ29weWluZyBkYXRhIGludG8gdGVt cG9yYXJ5IGRpcmVjdG9yeSIKK2ZvciBzcmMgaW4gIiRETUdfU09VUkNFUyI7 IGRvCisJY3AgLVIgIiRzcmMiICIkRE1HX0RJUiIgfHwgZXhpdCAxCitkb25l CisKK2VjaG8gIkNyZWF0aW5nIGltYWdlIgorJEhESVVUSUwgY3JlYXRlIC1x dWlldCAtc3JjZm9sZGVyICIkRE1HX0RJUiIgLWZvcm1hdCBVRFpPIC12b2xu YW1lICIkRE1HX05BTUUiIC1vdiAiJERNR19JTUFHRSIgfHwgZXhpdCAxCity bSAtcmYgIiRETUdfRElSIiB8fCBleGl0IDEKKworZWNobyAiQXR0YWNoaW5n IExpY2Vuc2UgdG8gaW1hZ2UiCiskSERJVVRJTCB1bmZsYXR0ZW4gLXF1aWV0 ICIkRE1HX0lNQUdFIiB8fCBleGl0IDEKKyRSRVogIiRETUdfTElDRU5DRSIg LWEgLW8gIiRETUdfSU1BR0UiIHx8IGV4aXQgMQorJEhESVVUSUwgZmxhdHRl biAtcXVpZXQgIiRETUdfSU1BR0UiIHx8IGV4aXQgMQpkaWZmIC0tZ2l0IGEv cGtnL21hYy9saWNlbmNlLnIgYi9wa2cvbWFjL2xpY2VuY2UucgpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OGE4OWFmCi0tLSAvZGV2 L251bGwKKysrIGIvcGtnL21hYy9saWNlbmNlLnIKQEAgLTAsMCArMSw0MiBA QAorZGF0YSAnTFBpYycgKDUwMDApIHsKKwkkIjAwMDAgMDAwMSAwMDAwIDAw MDAgMDAwMCIKK307CisKK3Jlc291cmNlICdTVFIjJyAoNTAwMCwgIkVuZ2xp c2ggYnV0dG9ucyIpIHsKKyAgICB7ICAgLyogYXJyYXkgU3RyaW5nQXJyYXk6 IDkgZWxlbWVudHMgKi8KKyAgICAgICAgLyogWzFdICovCisgICAgICAgICJF bmdsaXNoIiwKKyAgICAgICAgLyogWzJdICovCisgICAgICAgICJBZ3JlZSIs CisgICAgICAgIC8qIFszXSAqLworICAgICAgICAiRGlzYWdyZWUiLAorICAg ICAgICAvKiBbNF0gKi8KKyAgICAgICAgIlByaW50IiwKKyAgICAgICAgLyog WzVdICovCisgICAgICAgICJTYXZlLi4uIiwKKyAgICAgICAgLyogWzZdICov CisgICAgICAgICJJTVBPUlRBTlQgLSBSZWFkIHRoaXMgTGljZW5zZSBBZ3Jl ZW1lbnQgY2FyZWZ1bGx5IGJlZm9yZSBjbGlja2luZyBvbiAiCisgICAgICAg ICJ0aGUgXCJBZ3JlZVwiIGJ1dHRvbi4gIEJ5IGNsaWNraW5nIG9uIHRoZSBc IkFncmVlXCIgYnV0dG9uLCB5b3UgYWdyZWUgIgorICAgICAgICAidG8gYmUg Ym91bmQgYnkgdGhlIHRlcm1zIG9mIHRoZSBMaWNlbnNlIEFncmVlbWVudC4i LAorICAgICAgICAvKiBbN10gKi8KKyAgICAgICAgIlNvZnR3YXJlIExpY2Vu c2UgQWdyZWVtZW50IiwKKyAgICAgICAgLyogWzhdICovCisgICAgICAgICJU aGlzIHRleHQgY2Fubm90IGJlIHNhdmVkLiBUaGlzIGRpc2sgbWF5IGJlIGZ1 bGwgb3IgbG9ja2VkLCBvciB0aGUgZmlsZSAiCisgICAgICAgICJtYXkgYmUg bG9ja2VkLiIsCisgICAgICAgIC8qIFs5XSAqLworICAgICAgICAiVW5hYmxl IHRvIHByaW50LiBNYWtlIHN1cmUgeW91J3ZlIHNlbGVjdGVkIGEgcHJpbnRl ci4iCisgICAgfQorfTsKKworZGF0YSAnVEVYVCcgKDUwMDAsICJFbmdsaXNo IikgeworICAgICJwZ0FkbWluIDRcbiIKKyAgICAiXG4iCisgICAgIkNvcHly aWdodCAoQykgMjAxMyAtIDIwMTYsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50 IFRlYW1cbiIKKyAgICAiXG4iCisgICAgIlBlcm1pc3Npb24gdG8gdXNlLCBj b3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgYW5k IGl0cyBkb2N1bWVudGF0aW9uIGZvciBhbnkgcHVycG9zZSwgd2l0aG91dCBm ZWUsIGFuZCB3aXRob3V0IGEgd3JpdHRlbiBhZ3JlZW1lbnQgaXMgaGVyZWJ5 IGdyYW50ZWQsIHByb3ZpZGVkIHRoYXQgdGhlIGFib3ZlIGNvcHlyaWdodCBu b3RpY2UgYW5kIHRoaXMgcGFyYWdyYXBoIGFuZCB0aGUgZm9sbG93aW5nIHR3 byBwYXJhZ3JhcGhzIGFwcGVhciBpbiBhbGwgY29waWVzLlxuIgorICAgICJc biIKKyAgICAiSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFBHQURNSU4gREVWRUxP UE1FTlQgVEVBTSBCRSBMSUFCTEUgVE8gQU5ZIFBBUlRZIEZPUiBESVJFQ1Qs IElORElSRUNULCBTUEVDSUFMLCBJTkNJREVOVEFMLCBPUiBDT05TRVFVRU5U SUFMIERBTUFHRVMsIElOQ0xVRElORyBMT1NUIFBST0ZJVFMsIEFSSVNJTkcg T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSBBTkQgSVRTIERPQ1VN RU5UQVRJT04sIEVWRU4gSUYgVEhFIFBHQURNSU4gREVWRUxPUE1FTlQgVEVB TSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI IERBTUFHRS5cbiIKKyAgICAiXG4iCisgICAgIlRIRSBQR0FETUlOIERFVkVM T1BNRU5UIFRFQU0gU1BFQ0lGSUNBTExZIERJU0NMQUlNUyBBTlkgV0FSUkFO VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gVEhFIFNPRlRXQVJFIFBST1ZJ REVEIEhFUkVVTkRFUiBJUyBPTiBBTiBcIkFTIElTXCIgQkFTSVMsIEFORCBU SEUgUEdBRE1JTiBERVZFTE9QTUVOVCBURUFNIEhBUyBOTyBPQkxJR0FUSU9O UyBUTyBQUk9WSURFIE1BSU5URU5BTkNFLCBTVVBQT1JULCBVUERBVEVTLCBF TkhBTkNFTUVOVFMsIE9SIE1PRElGSUNBVElPTlMuXG4iCit9OworCmRpZmYg LS1naXQgYS9wa2cvbWFjL3BnYWRtaW4uSW5mby5wbGlzdC5pbiBiL3BrZy9t YWMvcGdhZG1pbi5JbmZvLnBsaXN0LmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLmZiNTdhYzgKLS0tIC9kZXYvbnVsbAorKysgYi9w a2cvbWFjL3BnYWRtaW4uSW5mby5wbGlzdC5pbgpAQCAtMCwwICsxLDI4IEBA Cis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFE T0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUgQ29tcHV0ZXIvL0RURCBQ TElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9w ZXJ0eUxpc3QtMS4wLmR0ZCI+Cis8cGxpc3QgdmVyc2lvbj0iMS4wIj4KKzxk aWN0PgorCTxrZXk+Q0ZCdW5kbGVEZXZlbG9wbWVudFJlZ2lvbjwva2V5Pgor CTxzdHJpbmc+RW5nbGlzaDwvc3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVFeGVj dXRhYmxlPC9rZXk+CisJPHN0cmluZz5wZ0FkbWluNDwvc3RyaW5nPgorCTxr ZXk+Q0ZCdW5kbGVHZXRJbmZvU3RyaW5nPC9rZXk+CisJPHN0cmluZz5wZ0Fk bWluNCBQR0FETUlOX0xPTkdfVkVSU0lPTjwvc3RyaW5nPgorCTxrZXk+Q0ZC dW5kbGVJY29uRmlsZTwva2V5PgorCTxzdHJpbmc+cGdBZG1pbjQuaWNuczwv c3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVJZGVudGlmaWVyPC9rZXk+CisJPHN0 cmluZz5vcmcucG9zdGdyZXNxbC5wZ2FkbWluPC9zdHJpbmc+CisJPGtleT5D RkJ1bmRsZUluZm9EaWN0aW9uYXJ5VmVyc2lvbjwva2V5PgorCTxzdHJpbmc+ Ni4wPC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZVBhY2thZ2VUeXBlPC9rZXk+ CisJPHN0cmluZz5BUFBMPC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZVNob3J0 VmVyc2lvblN0cmluZzwva2V5PgorCTxzdHJpbmc+UEdBRE1JTl9TSE9SVF9W RVJTSU9OPC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZVNpZ25hdHVyZTwva2V5 PgorCTxzdHJpbmc+Pz8/Pzwvc3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVWZXJz aW9uPC9rZXk+CisJPHN0cmluZz5QR0FETUlOX0xPTkdfVkVSU0lPTjwvc3Ry aW5nPgorCTxrZXk+Q1NSZXNvdXJjZXNGaWxlTWFwcGVkPC9rZXk+CisJPHRy dWUvPgorPC9kaWN0PgorPC9wbGlzdD4KZGlmZiAtLWdpdCBhL3J1bnRpbWUv U2VydmVyLmNwcCBiL3J1bnRpbWUvU2VydmVyLmNwcAppbmRleCA4NjkxMjI0 Li5kYTJjOWRjIDEwMDY0NAotLS0gYS9ydW50aW1lL1NlcnZlci5jcHAKKysr IGIvcnVudGltZS9TZXJ2ZXIuY3BwCkBAIC0yMyw3ICsyMyw3IEBACiAjaW5j bHVkZSAiU2VydmVyLmgiCiAKIFNlcnZlcjo6U2VydmVyKHF1aW50MTYgcG9y dCkKLXsgICAgCit7CiAgICAgLy8gQXBwc2VydmVyIHBvcnQKICAgICBtX3Bv cnQgPSBwb3J0OwogICAgIG1fd2NBcHBOYW1lID0gTlVMTDsKQEAgLTQ3LDYg KzQ3LDE4IEBAIFNlcnZlcjo6U2VydmVyKHF1aW50MTYgcG9ydCkKICAgICAv LyBTZXR1cCB0aGUgc2VhcmNoIHBhdGgKICAgICBRU2V0dGluZ3Mgc2V0dGlu Z3M7CiAgICAgUVN0cmluZyBweXRob25fcGF0aCA9IHNldHRpbmdzLnZhbHVl KCJQeXRob25QYXRoIikudG9TdHJpbmcoKTsKKyNpZmRlZiBRX09TX01BQwor ICAgIFFTdHJpbmcgYXBwX2RpciA9IHFBcHAtPmFwcGxpY2F0aW9uRGlyUGF0 aCgpOworICAgIFFTdHJpbmcgZ2V0X3B5bW9kdWxlc19wYXRoID0gKGFwcF9k aXIgKyAiLy4uL1Jlc291cmNlcy92ZW52L2xpYi9weXRob24vc2l0ZS1wYWNr YWdlcyIpOworICAgIFFGaWxlSW5mbyBmaShnZXRfcHltb2R1bGVzX3BhdGgp OworICAgIFFTdHJpbmcgcHltb2R1bGVzX3BhdGggPSBmaS5jYW5vbmljYWxG aWxlUGF0aCgpOworICAgIGlmICghcHl0aG9uX3BhdGguY29udGFpbnMocHlt b2R1bGVzX3BhdGgpKQorICAgIHsKKyAgICAgICAgcHl0aG9uX3BhdGgucHJl cGVuZChweW1vZHVsZXNfcGF0aCk7IC8vIE1hYyBzb3VyY2UgdHJlZSAoaW4g YSByZWxlYXNlIGFwcCBidW5kbGUpCisgICAgICAgIHNldHRpbmdzLnNldFZh bHVlKCJQeXRob25QYXRoIiwgcHltb2R1bGVzX3BhdGgpOworCXNldHRpbmdz LnN5bmMoKTsKKyAgICB9CisjZW5kaWYKIAogICAgIGlmIChweXRob25fcGF0 aC5sZW5ndGgoKSA+IDApCiAgICAgewpAQCAtNjYsNiArNzgsOCBAQCBTZXJ2 ZXI6OlNlcnZlcihxdWludDE2IHBvcnQpCiAjZW5kaWYKICAgICAgICAgfQog ICAgIH0KKyAgICBweXRob25fcGF0aCA9IHNldHRpbmdzLnZhbHVlKCJQeXRo b25QYXRoIikudG9TdHJpbmcoKTsKKyAgICBxRGVidWcoKSA8PCAiUHl0aG9u IHBhdGg6ICIgPDwgcHl0aG9uX3BhdGg7CiB9CiAKIFNlcnZlcjo6flNlcnZl cigpCkBAIC04Niw3ICsxMDAsOSBAQCBib29sIFNlcnZlcjo6SW5pdCgpCiAg ICAgcGF0aHMuYXBwZW5kKCIuLi93ZWIvIik7IC8vIExpbnV4IHNvdXJjZSB0 cmVlCiAgICAgcGF0aHMuYXBwZW5kKCIuLi8uLi93ZWIvIik7IC8vIFdpbmRv d3Mgc291cmNlIHRyZWUKICAgICBwYXRocy5hcHBlbmQoIi4uLy4uLy4uLy4u L3dlYi8iKTsgLy8gTWFjIHNvdXJjZSB0cmVlIChpbiBhIGRldiBlbnYpCisj aWZkZWYgUV9PU19NQUMKICAgICBwYXRocy5hcHBlbmQoIi4uL1Jlc291cmNl cy93ZWIvIik7IC8vIE1hYyBzb3VyY2UgdHJlZSAoaW4gYSByZWxlYXNlIGFw cCBidW5kbGUpCisjZW5kaWYKICAgICBwYXRocy5hcHBlbmQoc2V0dGluZ3Mu dmFsdWUoIkFwcGxpY2F0aW9uUGF0aCIpLnRvU3RyaW5nKCkpOyAvLyBTeXN0 ZW0gY29uZmlndXJlZCB2YWx1ZQogICAgIHBhdGhzLmFwcGVuZCgiIik7IC8v IFNob3VsZCBiZSBsYXN0IQogCg== --94eb2c05626e06358505340e6bea Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers --94eb2c05626e06358505340e6bea--