Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ayhkr-0000oQ-PJ for pgadmin-hackers@arkaria.postgresql.org; Fri, 06 May 2016 15:33:26 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1ayhkr-0004sO-Bz for pgadmin-hackers@arkaria.postgresql.org; Fri, 06 May 2016 15:33:25 +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 1ayhkq-0004sI-3g for pgadmin-hackers@postgresql.org; Fri, 06 May 2016 15:33:24 +0000 Received: from mail-ig0-x22c.google.com ([2607:f8b0:4001:c05::22c]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1ayhkm-0004pD-VD for pgadmin-hackers@postgresql.org; Fri, 06 May 2016 15:33:22 +0000 Received: by mail-ig0-x22c.google.com with SMTP id c3so7302417igl.0 for ; Fri, 06 May 2016 08:33:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pgadmin-org.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=OhH9KtkIXv4o9FStbCxiu49c7jGvL0qn2qbA4BcD6GM=; b=M8qnCPhUwC9hQkUikCo4BhWB2cYiQ3zLEXgc+zm9qH00k6s84vNRMoGyB+QPUupGdT 5URCljfsjsI4kTlPUopMBCmpqWqeVO9tpBPEhvPMosZ0RrlTG2nAB5iwTG7bAAdPbHdH x86VBv40sktVaB8+yyylISHRCoIgvQPVU1k/PEm/7NiXDNjQ37zzASPBK6SKxLuVQSPD LTgpCNmoKM8i+lK6NWpWQ4chDkxb8h7lwfs8ER+vavHdmhhf0C4/KGWBRioyuv9gG4KK 7BH0WetMsfUw7bbJSf1PGToaL6ry8EJdn28cqrBFtOhM1sWKGnGsc+2+nQMdI4EAoC2q V4Mg== 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=OhH9KtkIXv4o9FStbCxiu49c7jGvL0qn2qbA4BcD6GM=; b=nNwnNedhOZq+MNo3MFZ2/UQuoa1mBTe7GPOAzNDzUyTtgSUddiPySg3rU3zDpBQIm3 JzXLLzqMJecTkXK5BrP9cTm7kF9dm0l77CPLIuJVUaJncNUFLUfMkV8VCZyLRCWVwJ1D kMVw0CKVGxib2sIY5ICiZm/lAO5PX3Xo+5LOpmVXzN1in4TlC61ZYI+DWcjzVnqACNPO H4duVFxLBUrkTnMeLTORMbT5Ak6quEZP/y5qodJmY+nj89zqOt6qqmXs24pHL7DWiAv0 Xr/sZW5ETtbAiTPrvpnsu8JrHGodgJJg3PEyIn3TQBNtEWDdIKWFXC6CtY1B+EHvz/8s PGOA== X-Gm-Message-State: AOPr4FVz8wPm40iwRAhQ+020nPo8lmi9EbHWIdflTp6jygKReEZTwmqADrA4uRxwQgODswjsn9DXU5vBv8sKCA== MIME-Version: 1.0 X-Received: by 10.50.73.169 with SMTP id m9mr11510827igv.11.1462548799764; Fri, 06 May 2016 08:33:19 -0700 (PDT) Received: by 10.64.105.131 with HTTP; Fri, 6 May 2016 08:33:19 -0700 (PDT) In-Reply-To: References: Date: Fri, 6 May 2016 16:33:19 +0100 Message-ID: Subject: Re: Patch for pgAdmin4 package on Mac OS X From: Dave Page To: Sandeep Thakkar Cc: pgadmin-hackers , Hamid Quddus Content-Type: multipart/mixed; boundary=089e0115f644ae0e1c05322e2d0e 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 --089e0115f644ae0e1c05322e2d0e Content-Type: text/plain; charset=UTF-8 Hi Thanks. I've applied the path fix patch. The second one needs a little work - I've attached an updated version to work from: - I've updated the README, and some of the default values. - I've removed the file type registration for .sql files. - Should we note that the user may need to run in a virtualenv? - Please move build-mac.sh to pkg/build.sh, and create a target in /Makefile to execute it, e.g. "make appbundle" - Extend the Makefile to add a "clean-appbundle" target, which should also be called by the "clean" target. - At present, it is bundling my pre-existing configuration database. It *must* create a new one and bundle that, without touching the existing one (I guess that may require a new command line option for setup.py). - The online help is broken (are you building it)? I suggest adding a top-level Makefile target to do so. - Working directories should be added to /.gitignore. Please ensure they don't clash with those used by pip (and ideally are in one place, e.g. mac-build/). - I saw various errors in the build output, though the resulting DMG seemed to work fine; ... cp: /usr/local/pgsql/libpq.5.dylib: No such file or directory libpq.5.dylib not found in /usr/local/pgsql Completing app: /Users/dpage/git/pgadmin4/pgAdmin4.app ... ... App: pgAdmin4.app: Post-processing: .//Contents/MacOS/pgAdmin4 App: pgAdmin4.app: Adding symlink: QtWebKitWidgets (because of: .//Contents/MacOS/pgAdmin4) cp: @rpath/QtWebKitWidgets.framework/Versions/5/../../../QtWebKitWidgets.framework: No such file or directory chmod: Contents/Frameworks/QtWebKitWidgets.framework/Versions/5/QtWebKitWidgets: No such file or directory Rewriting ID in Contents/Frameworks/QtWebKitWidgets.framework/Versions/5/QtWebKitWidgets to QtWebKitWidgets error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: can't open file: Contents/Frameworks/QtWebKitWidgets.framework/Versions/5/QtWebKitWidgets (No such file or directory) Cleaning up ... On Mon, Apr 18, 2016 at 1:25 PM, Sandeep Thakkar wrote: > Hi Team, Dave, > > Attached herewith are two patches. > > pgadmin4-mac-bundle.patch - This includes scripts to build Mac app bundle > and DMG for pgAdmin4. This is the tree of the generated app bundle: > > ---- > $ find pgAdmin4.app/ -maxdepth 3 -type d > pgAdmin4.app/ > pgAdmin4.app//ContentspgAdmin4.app//Contents/Frameworks > pgAdmin4.app//Contents/Frameworks/Python.framework > pgAdmin4.app//Contents/Frameworks/QtCore.framework > pgAdmin4.app//Contents/Frameworks/QtDBus.framework > pgAdmin4.app//Contents/Frameworks/QtGui.framework > pgAdmin4.app//Contents/Frameworks/QtMultimedia.framework > pgAdmin4.app//Contents/Frameworks/QtMultimediaWidgets.framework > pgAdmin4.app//Contents/Frameworks/QtNetwork.framework > pgAdmin4.app//Contents/Frameworks/QtOpenGL.framework > pgAdmin4.app//Contents/Frameworks/QtPositioning.framework > pgAdmin4.app//Contents/Frameworks/QtPrintSupport.framework > pgAdmin4.app//Contents/Frameworks/QtQml.framework > pgAdmin4.app//Contents/Frameworks/QtQuick.framework > pgAdmin4.app//Contents/Frameworks/QtSensors.framework > pgAdmin4.app//Contents/Frameworks/QtSql.framework > pgAdmin4.app//Contents/Frameworks/QtWebChannel.framework > pgAdmin4.app//Contents/Frameworks/QtWebKit.framework > pgAdmin4.app//Contents/Frameworks/QtWebKitWidgets.framework > pgAdmin4.app//Contents/Frameworks/QtWidgets.framework > pgAdmin4.app//Contents/MacOS > pgAdmin4.app//Contents/PlugIns > pgAdmin4.app//Contents/PlugIns/platforms > pgAdmin4.app//Contents/Resources > pgAdmin4.app//Contents/Resources/venv > pgAdmin4.app//Contents/Resources/web > --- > > pgadmin4-fixpath-mac.patch - This is for runtime/Server.cpp to fix the path > where the runtime looks for web application path in app bundle. > > > Kindly review and suggest the changes required. Thanks. > > -- > Sandeep Thakkar > -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company --089e0115f644ae0e1c05322e2d0e Content-Type: application/octet-stream; name="pgadmin4-mac-bundle-dave.patch" Content-Disposition: attachment; filename="pgadmin4-mac-bundle-dave.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_invvsfon2 ZGlmZiAtLWdpdCBhL2J1aWxkLW1hYy5zaCBiL2J1aWxkLW1hYy5zaApuZXcg ZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wZDg1M2I2Ci0tLSAv ZGV2L251bGwKKysrIGIvYnVpbGQtbWFjLnNoCkBAIC0wLDAgKzEsMTI0IEBA CisjIS9iaW4vYmFzaAorCisjIEJ1aWxkIHNjcmlwdCB0byBjcmVhdGUgTWFj IEFwcCBCdW5kbGUgYW5kIERNRyBmb3IgcGdBZG1pbjQgcnVudGltZQorCitl eHBvcnQgV0Q9JChjZCBgZGlybmFtZSAkMGAgJiYgcHdkKQorZXhwb3J0IEJV SUxEUk9PVD0kV0QKK2V4cG9ydCBWSVJUVUFMRU5WPXZlbnYKKworaWYgWyAi eCRQWVRIT05fSE9NRSIgPT0gIngiIF07IHRoZW4KKyAgICBlY2hvICJQWVRI T05fSE9NRSBub3Qgc2V0LiBTZXR0aW5nIGl0IHRvIGRlZmF1bHQiCisgICAg ZXhwb3J0IFBZVEhPTl9IT01FPS9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtz L1B5dGhvbi5mcmFtZXdvcmsvVmVyc2lvbnMvMi43CisgICAgZXhwb3J0IFBZ VEhPTl9WRVJTSU9OPTI3CitmaQorCisjIENoZWNrIGlmIFB5dGhvbiBpcyB3 b3JraW5nIGFuZCBjYWxjdWxhdGUgUFlUSE9OX1ZFUlNJT04KK2lmICRQWVRI T05fSE9NRS9iaW4vcHl0aG9uMiAtViA+IC9kZXYvbnVsbCAyPiYxOyB0aGVu CisgICAgZXhwb3J0IFBZVEhPTl9WRVJTSU9OPWAkUFlUSE9OX0hPTUUvYmlu L3B5dGhvbjIgLVYgMj4mMSB8IGF3ayAne3ByaW50ICQyfScgfCBjdXQgLWQi LiIgLWYxLTIgfCBzZWQgJ3MvXC4vLydgCitlbGlmICRQWVRIT05fSE9NRS9i aW4vcHl0aG9uMyAtViA+IC9kZXYvbnVsbCAyPiYxOyB0aGVuCisgICAgZXhw b3J0IFBZVEhPTl9WRVJTSU9OPWAkUFlUSE9OX0hPTUUvYmluL3B5dGhvbjMg LVYgMj4mMSB8IGF3ayAne3ByaW50ICQyfScgfCBjdXQgLWQiLiIgLWYxLTIg fCBzZWQgJ3MvXC4vLydgCitlbHNlCisgICAgZWNobyAiRXJyb3I6IFB5dGhv biBpbnN0YWxsYXRpb24gbWlzc2luZyEiCisgICAgZXhpdCAxCitmaQorCitp ZiBbICIkUFlUSE9OX1ZFUlNJT04iIC1ndCAiMzQiIC1hICIkUFlUSE9OX1ZF UlNJT04iIC1sdCAiMjYiIF07IHRoZW4KKyAgICBlY2hvICJQeXRob24gdmVy c2lvbiBub3Qgc3VwcG9ydGVkIgorICAgIGV4aXQgMgorZmkKKworaWYgWyAi JFBZVEhPTl9WRVJTSU9OIiAtZ2UgIjMwIiBdOyB0aGVuCisgICAgZXhwb3J0 IFBZVEhPTj0kUFlUSE9OX0hPTUUvYmluL3B5dGhvbjMKKyAgICBleHBvcnQg UElQPXBpcDMKKyAgICBleHBvcnQgUkVRVUlSRU1FTlRTPXJlcXVpcmVtZW50 c19weTMudHh0CitlbHNlCisgICAgZXhwb3J0IFBZVEhPTj0kUFlUSE9OX0hP TUUvYmluL3B5dGhvbjIKKyAgICBleHBvcnQgUElQPXBpcAorICAgIGV4cG9y dCBSRVFVSVJFTUVOVFM9cmVxdWlyZW1lbnRzX3B5Mi50eHQKK2ZpCisKK2lm IFsgIngkUVRESVIiID09ICJ4IiBdOyB0aGVuCisgICAgZWNobyAiUVRESVIg bm90IHNldC4gU2V0dGluZyBpdCB0byBkZWZhdWx0IgorICAgIGV4cG9ydCBR VERJUj1+L1F0LzUuNS9jbGFuZ182NAorZmkKK2V4cG9ydCBRTUFLRT0kUVRE SVIvYmluL3FtYWtlCitpZiAhICRRTUFLRSAtLXZlcnNpb24gPiAvZGV2L251 bGwgMj4mMTsgdGhlbgorICAgIGVjaG8gIkVycm9yOiBxbWFrZSBub3QgZm91 bmQuIFFUIGluc3RhbGxhdGlvbiBpcyBub3QgcHJlc2VudCBvciBpbmNvbXBs ZXRlLiIKKyAgICBleGl0IDEKK2ZpCisKK2lmIFsgIngkUEdESVIiID09ICJ4 IiBdOyB0aGVuCisgICAgZWNobyAiUEdESVIgbm90IHNldC4gU2V0dGluZyBp dCB0byBkZWZhdWx0IgorICAgIGV4cG9ydCBQR0RJUj0vdXNyL2xvY2FsL3Bn c3FsCitmaQorZXhwb3J0IFBBVEg9JFBHRElSL2JpbjokUEFUSAorCitfZ2V0 X3ZlcnNpb24oKSB7CisgICAgZXhwb3J0IHBnYWRtaW40X21ham9yPWBncmVw ICJeQVBQX01BSk9SIiB3ZWIvY29uZmlnLnB5IHwgY3V0IC1kIj0iIC1mMiB8 IHNlZCAncy8gLy9nJ2AKKyAgICBleHBvcnQgcGdhZG1pbjRfbWlub3I9YGdy ZXAgIl5BUFBfTUlOT1IiIHdlYi9jb25maWcucHkgfCBjdXQgLWQiPSIgLWYy IHwgc2VkICdzLyAvL2cnYAorICAgIGV4cG9ydCBwZ2FkbWluNF9yZXZpc2lv bj1gZ3JlcCAiXkFQUF9SRVZJU0lPTiIgd2ViL2NvbmZpZy5weSB8IGN1dCAt ZCI9IiAtZjIgfCBzZWQgJ3MvIC8vZydgCisgICAgZXhwb3J0IExPTkdfVkVS PSRwZ2FkbWluNF9tYWpvci4kcGdhZG1pbjRfbWlub3IuJHBnYWRtaW40X3Jl dmlzaW9uCisgICAgZXhwb3J0IFNIT1JUX1ZFUj1gZWNobyAkTE9OR19WRVIg fCBjdXQgLWQgLiAtZjEsMmAKKyAgICBleHBvcnQgcGdhZG1pbjRfc3VmZml4 PWBncmVwICJeQVBQX1NVRkZJWCIgd2ViL2NvbmZpZy5weSB8IGN1dCAtZCI9 IiAtZjIgfCBzZWQgJ3MvIC8vZycgfCBzZWQgInMvJy8vZyJgCisgICAgaWYg WyAhIC16ICRwZ2FkbWluNF9zdWZmaXggXTsgdGhlbgorICAgICAgICBleHBv cnQgTE9OR19WRVI9JExPTkdfVkVSLSRwZ2FkbWluNF9zdWZmaXgKKyAgICBm aQorfQorCitfY2xlYW51cCgpIHsKKyAgICBlY2hvICJDbGVhbmluZyB1cCB0 aGUgb2xkIGVudmlyb25tZW50IGFuZCBhcHAgYnVuZGxlIgorICAgIHJtIC1y ZiAkQlVJTERST09ULyRWSVJUVUFMRU5WCisgICAgcm0gLXJmICRCVUlMRFJP T1QvcnVudGltZS9wZ0FkbWluNC5hcHAKKyAgICBybSAtcmYgJEJVSUxEUk9P VC9wZ0FkbWluNC5hcHAKKyAgICBybSAtZiAkQlVJTERST09UL3BnQWRtaW40 LmRtZworfQorCitfY3JlYXRlX3B5dGhvbl92aXJ0dWFsZW52KCkgeworICAg IGNkICRCVUlMRFJPT1QKKyAgICB0ZXN0IC1kICRWSVJUVUFMRU5WIHx8IHZp cnR1YWxlbnYgLXAgJFBZVEhPTiAkVklSVFVBTEVOVgorICAgIHNvdXJjZSAk VklSVFVBTEVOVi9iaW4vYWN0aXZhdGUKKyAgICAkUElQIGluc3RhbGwgLXIg JEJVSUxEUk9PVC8kUkVRVUlSRU1FTlRTIHx8IChlY2hvICJQSVAgaW5zdGFs bCBmYWlsZWQuIFBsZWFzZSByZXNvbHZlIHRoZSBpc3N1ZSBhbmQgcmVydW4g dGhlIHNjcmlwdCI7IGV4aXQgMykKK30KKworX2J1aWxkX3J1bnRpbWUoKSB7 CisgICAgX2NyZWF0ZV9weXRob25fdmlydHVhbGVudiB8fCBleGl0IDMKKyAg ICBjZCAkQlVJTERST09UL3dlYgorICAgIHNlZCAtZSAncy9TRVJWRVJfTU9E RSA9IFRydWUvU0VSVkVSX01PREUgPSBGYWxzZS8nIGNvbmZpZy5weSA+IGNv bmZpZ19sb2NhbC5weQorICAgIHB5dGhvbiBzZXR1cC5weQorICAgIGNkICRC VUlMRFJPT1QvcnVudGltZQorICAgICRRTUFLRQorICAgIG1ha2UKKyAgICBj cCAtcFIgcGdBZG1pbjQuYXBwICRCVUlMRFJPT1QKK30KKworX2NvbXBsZXRl X2J1bmRsZSgpIHsKKyAgICBjZCAkQlVJTERST09UL3BrZy9tYWMKKyAgICB0 ZXN0IC1kICRCVUlMRFJPT1QvcGdBZG1pbjQuYXBwL0NvbnRlbnRzL1Jlc291 cmNlcyB8fCBta2RpciAtcCAkQlVJTERST09UL3BnQWRtaW40LmFwcC9Db250 ZW50cy9SZXNvdXJjZXMKKyAgICAKKyAgICAjIFJlcGxhY2UgdGhlIHBsYWNl IGhvbGRlcnMgd2l0aCB0aGUgY3VycmVudCB2ZXJzaW9uCisgICAgc2VkIC1l ICJzL1BHQURNSU5fTE9OR19WRVJTSU9OLyRMT05HX1ZFUi9nIiAtZSAicy9Q R0FETUlOX1NIT1JUX1ZFUlNJT04vJFNIT1JUX1ZFUi9nIiBwZ2FkbWluLklu Zm8ucGxpc3QuaW4gPiBwZ2FkbWluLkluZm8ucGxpc3QKKworICAgICMgY29w eSBQeXRob24gcHJpdmF0ZSBlbnZpcm9ubWVudCB0byBhcHAgYnVuZGxlCisg ICAgY3AgLXBSICRCVUlMRFJPT1QvJFZJUlRVQUxFTlYgJEJVSUxEUk9PVC9w Z0FkbWluNC5hcHAvQ29udGVudHMvUmVzb3VyY2VzLworCisgICAgIyByZW1v dmUgdGhlIHB5dGhvbiBiaW4gZnJvbSBhcHAgYnVuZGxlIGFzIGl0IGlzIG5v dCBuZWVkZWQKKyAgICBybSAtcmYgJEJVSUxEUk9PVC9wZ0FkbWluNC5hcHAv Q29udGVudHMvUmVzb3VyY2VzLyRWSVJUVUFMRU5WL2JpbiAkQlVJTERST09U L3BnQWRtaW40LmFwcC9Db250ZW50cy9SZXNvdXJjZXMvJFZJUlRVQUxFTlYv LlB5dGhvbgorCisgICAgIyBydW4gY29tcGxldGUtYnVuZGxlIHRvIGNvcHkg dGhlIGRlcGVuZGVudCBsaWJyYXJpZXMgYW5kIGZyYW1ld29ya3MgYW5kIGZp eCB0aGUgcnBhdGhzCisgICAgLi9jb21wbGV0ZS1idW5kbGUuc2ggJEJVSUxE Uk9PVC9wZ0FkbWluNC5hcHAKKworICAgICMgY29weSB0aGUgd2ViIGRpcmVj dG9yeSB0byB0aGUgYnVuZGxlIGFzIGl0IGlzIHJlcXVpcmVkIGJ5IHJ1bnRp bWUKKyAgICBjcCAtcFIgJEJVSUxEUk9PVC93ZWIgJEJVSUxEUk9PVC9wZ0Fk bWluNC5hcHAvQ29udGVudHMvUmVzb3VyY2VzLworCit9CisKK19jcmVhdGVf ZG1nKCkgeworICAgIGNkICRCVUlMRFJPT1QKKyAgICBzaCAuL3BrZy9tYWMv Y3JlYXRlLWRtZy5zaAorfQorCitfZ2V0X3ZlcnNpb24KK19jbGVhbnVwCitf YnVpbGRfcnVudGltZQorX2NvbXBsZXRlX2J1bmRsZQorX2NyZWF0ZV9kbWcK ZGlmZiAtLWdpdCBhL3BrZy9tYWMvLmdpdGlnbm9yZSBiL3BrZy9tYWMvLmdp dGlnbm9yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43 ZDI5Y2IwCi0tLSAvZGV2L251bGwKKysrIGIvcGtnL21hYy8uZ2l0aWdub3Jl CkBAIC0wLDAgKzEsMyBAQAorIyBHbG9iYWwgZXhjbHVkZXMgYWNyb3NzIGFs bCBzdWJkaXJlY3RvcmllcworZGVidWcucGdhZG1pbi5JbmZvLnBsaXN0Citw Z2FkbWluLkluZm8ucGxpc3QKZGlmZiAtLWdpdCBhL3BrZy9tYWMvUGtnSW5m byBiL3BrZy9tYWMvUGtnSW5mbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi5iZDA0MjEwCi0tLSAvZGV2L251bGwKKysrIGIvcGtnL21h Yy9Qa2dJbmZvCkBAIC0wLDAgKzEgQEAKK0FQUEw/Pz8/ClwgTm8gbmV3bGlu ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvcGtnL21hYy9SRUFETUUu dHh0IGIvcGtnL21hYy9SRUFETUUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLmRhODM5MmYKLS0tIC9kZXYvbnVsbAorKysgYi9w a2cvbWFjL1JFQURNRS50eHQKQEAgLTAsMCArMSwzMCBAQAorQnVpbGRpbmcg cGdBZG1pbjQuZG1nIG9uIE1hYyBPUyBYCis9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KKworUmVxdWlyZWQgUGFja2FnZXMgKEVpdGhlciBi dWlsZCB0aGUgc291cmNlcyBvciBnZXQgdGhlbSBmcm9tIG1hY3BvcnRzIG9y IHNpbWlsYXIpOgorCisxLiBQeXRob24gaW5zdGFsbGF0aW9uCisgIC0gUHl0 aG9uIDIuNiBvciBhYm92ZSBmcm9tIGh0dHBzOi8vd3d3LnB5dGhvbi5vcmcv CisKKzIuIFFUIGluc3RhbGxhdGlvbgorICAtIFF0IDQgb3IgNSBmcm9tIGh0 dHA6Ly93d3cucXQuaW8vCisKKzMuIFBvc3RncmVTUUwgaW5zdGFsbGF0aW9u CisgIC0gUG9zdGdyZVNRTCA5LjEgb3IgYWJvdmUgZnJvbSBodHRwOi8vd3d3 LnBvc3RncmVzcWwub3JnLworCitCdWlsZGluZzoKKworMS4gU2V0IHRoZSBQ WVRIT05fSE9NRSBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byB0aGUgUHl0aG9u IHJvb3QgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSwgZS5nLgorCisgICBleHBv cnQgUFlUSE9OX0hPTUU9L1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvUHl0 aG9uLmZyYW1ld29yay9WZXJzaW9ucy8yLjcKKworMi4gU2V0IHRoZSBRVERJ UiBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byB0aGUgUVQgcm9vdCBpbnN0YWxs YXRpb24gZGlyZWN0b3J5LCBlLmcuCisKKyAgIGV4cG9ydCBRVERJUj1+L1F0 LzUuNS9jbGFuZ182NAorCiszLiBTZXQgdGhlIFBHRElSIGVudmlyb25tZW50 IHZhcmlhYmxlIHRvIHRoZSBQb3N0Z3JlU1FMIGluc3RhbGxhdGlvbiBkaXJl Y3RvcnksIGUuZy4KKworICAgZXhwb3J0IFBHRElSPS91c3IvbG9jYWwvcGdz cWwKKworNC4gR28gdG8gdGhlIHBnQWRtaW40IHJvb3QgZGlyZWN0b3J5IGFu ZCBydW4gYnVpbGQtbWFjLnNoLiBUaGlzIHdpbGwgY29tcGlsZSB0aGUgcnVu dGltZQorICAgYW5kIGNyZWF0ZSB0aGUgYXBwIGJ1bmRsZSBwZ0FkbWluNC5h cHAgYW5kIERNRyBwZ0FkbWluNC5kbWcgaW4gdGhlIGN1cnJlbnQgZGlyZWN0 b3J5LgpkaWZmIC0tZ2l0IGEvcGtnL21hYy9jb21wbGV0ZS1idW5kbGUuc2gg Yi9wa2cvbWFjL2NvbXBsZXRlLWJ1bmRsZS5zaApuZXcgZmlsZSBtb2RlIDEw MDc1NQppbmRleCAwMDAwMDAwLi5hZGFkZjRjCi0tLSAvZGV2L251bGwKKysr IGIvcGtnL21hYy9jb21wbGV0ZS1idW5kbGUuc2gKQEAgLTAsMCArMSwxMjcg QEAKKyMhL2Jpbi9zaAorCitidW5kbGU9IiQxIgorCitpZiAhIHRlc3QgLWQg IiRidW5kbGUiIDsgdGhlbgorCWVjaG8gIiRidW5kbGUgaXMgbm8gYnVuZGxl ISIgPiYyCisJZXhpdCAxCitmaQorCisKK3Rlc3QgLWQgIiRidW5kbGUvQ29u dGVudHMvUmVzb3VyY2VzIiB8fCBta2RpciAtcCAiJGJ1bmRsZS9Db250ZW50 cy9SZXNvdXJjZXMiIHx8IGV4aXQgMQorIyBDcmVhdGUgcXQuY29uZiBzbyB0 aGF0IGFwcCBrbm93cyB3aGVyZSB0aGUgUGx1Z2lucyBhcmUgcHJlc2VudAor Y2F0ID4+ICIkYnVuZGxlL0NvbnRlbnRzL1Jlc291cmNlcy9xdC5jb25mIiA8 PCBFT0YKK1tQYXRoc10KK1BsdWdpbnMgPSBQbHVnSW5zCitFT0YKKwordGVz dCAtZCAiJGJ1bmRsZS9Db250ZW50cy9GcmFtZXdvcmtzIiB8fCBta2RpciAt cCAiJGJ1bmRsZS9Db250ZW50cy9GcmFtZXdvcmtzIiB8fCBleGl0IDEKK3Rl c3QgLWQgIiRidW5kbGUvQ29udGVudHMvUGx1Z0lucy9wbGF0Zm9ybXMiIHx8 IG1rZGlyIC1wICIkYnVuZGxlL0NvbnRlbnRzL1BsdWdJbnMvcGxhdGZvcm1z IiB8fCBleGl0IDEKK2NwIC1mICRRVERJUi9wbHVnaW5zL3BsYXRmb3Jtcy9s aWJxY29jb2EuZHlsaWIgIiRidW5kbGUvQ29udGVudHMvUGx1Z0lucy9wbGF0 Zm9ybXMiCitjcCAtZiAkUEdESVIvbGlicHEuNS5keWxpYiAiJGJ1bmRsZS9D b250ZW50cy9GcmFtZXdvcmtzIiB8fCAoZWNobyBsaWJwcS41LmR5bGliIG5v dCBmb3VuZCBpbiAkUEdESVI7IGV4aXQgMSkKKworZnVuY3Rpb24gQ29tcGxl dGVTaW5nbGVBcHAoKSB7CisJbG9jYWwgYnVuZGxlPSQxIHRhZz0kKGJhc2Vu YW1lICIkMSIpIHRvZG8gdG9kb19vbGQgZndfcmVscGF0aCBsaWIgbGliX2Ju IG5lc3RlZF9hcHAgbmFfcmVscGF0aAorCisJZWNobyAiQ29tcGxldGluZyBh cHA6ICRidW5kbGUiCisJcHVzaGQgIiRidW5kbGUiID4gL2Rldi9udWxsCisK KwkjV2Ugc2tpcCBuZXN0ZWQgYXBwcyBoZXJlIC0gdGhvc2UgYXJlIHRyZWF0 ZWQgc3BlY2lhbGx5CisJdG9kbz0kKGZpbGUgYGZpbmQgLi8gLXBlcm0gKzAx MTEgISAtdHlwZSBkICEgLXBhdGggIiouYXBwLyoiICEgLW5hbWUgIiouYXBw ImAgfCBncmVwIC1FICJNYWNoLU8gNjQtYml0IiB8IGF3ayAtRiAnOnwgJyAn e09SUz0iICI7IHByaW50ICQxfScgfCB1bmlxKQorCisJZWNobyAiQXBwOiAk dGFnOiBGb3VuZCBleGVjdXRhYmxlczogJHRvZG8iCisJd2hpbGUgdGVzdCAi JHRvZG8iICE9ICIiOyBkbworCQl0b2RvX29sZD0kdG9kbyA7CisJCXRvZG89 IiIgOworCQlmb3IgdG9kb19vYmogaW4gJHRvZG9fb2xkOyBkbworCQkJZWNo byAiQXBwOiAkdGFnOiBQb3N0LXByb2Nlc3Npbmc6ICR0b2RvX29iaiIKKwor CQkJI0ZpZ3VyZSBvdXQgdGhlIHJlbGF0aXZlIHBhdGggZnJvbSB0b2RvX29i aiB0byBDb250ZW50cy9GcmFtZXdvcmtzCisJCQlmd19yZWxwYXRoPSQoZWNo byAiJHRvZG9fb2JqIiB8XAorCQkJCXNlZCAtbiAnc3xeXChcLi8vKlwpXChc KFteL11bXi9dKi9cKSpcKVteL11bXi9dKiR8XDJ8Z3AnIHwgXAorCQkJCXNl ZCAtbiAnc3xbXi9dW14vXSovfC4uL3xncCcgXAorCQkJKSJDb250ZW50cy9G cmFtZXdvcmtzIgorCQkJZndfcmVscGF0aF9vbGQ9JGZ3X3JlbHBhdGgKKwor CQkJZndfbG9jPSJDb250ZW50cy9GcmFtZXdvcmtzIgorCisJCQkjRmluZCBh bGwgbGlicmFyaWVzICR0b2RvX29iaiBkZXBlbmRzIG9uLCBidXQgc2tpcCBz eXN0ZW0gbGlicmFyaWVzCisJCQlmb3IgbGliIGluICQoCisJCQkJb3Rvb2wg LUwgJHRvZG9fb2JqIHwgXAorCQkJCWdyZXAgIlF0XHxkeWxpYlx8RnJhbWV3 b3Jrc1x8UGx1Z0lucyIgfCBncmVwIC12ICI6IiB8IHNlZCAncy8oLiovLycg fCBlZ3JlcCAtdiAnKC91c3IvbGliKXwoL1N5c3RlbSl8QGV4ZWN1dGFibGVf cGF0aEAnIFwKKwkJCSkgJChvdG9vbCAtTCAkdG9kb19vYmogfCBncmVwICJQ eXRob24iIHwgZ3JlcCAtdiAiOiIgfCBzZWQgJ3MvKC4qLy8nIFwKKwkJCSk7 IGRvCisJCQkJaWYgZWNobyAkbGliIHwgZ3JlcCAiUGx1Z0luc1x8bGlicWNv Y29hIiAgPiAvZGV2L251bGw7IHRoZW4KKwkJCQkJbGliX2xvYz0iQ29udGVu dHMvUGx1Z0lucy9wbGF0Zm9ybXMiCisJCQkJZWxpZiBlY2hvICRsaWIgfCBn cmVwICJRdCIgPiAvZGV2L251bGw7IHRoZW4KKwkJCQkJcXRmd19wYXRoPSIk KGRpcm5hbWUgJGxpYiB8IHNlZCAnc3wuKlwoUXQuKmZyYW1ld29ya1wpfFwx fCcpIgorCQkJCQlsaWJfbG9jPSJDb250ZW50cy9GcmFtZXdvcmtzLyRxdGZ3 X3BhdGgiCisJCQkJCWlmIFsgIiQoYmFzZW5hbWUgJHRvZG9fb2JqKSIgPSAi JGxpYiIgXTsgdGhlbgorCQkJCQkJbGliX2xvYz0iJChkaXJuYW1lICR0b2Rv X29iaikiCisJCQkJCQlxdGZ3X3BhdGg9JChlY2hvICRsaWJfbG9jIHwgc2Vk ICdzL0NvbnRlbnRzXC9GcmFtZXdvcmtzXC8vLycpCisJCQkJCWZpCisJCQkJ ZWxpZiBlY2hvICRsaWIgfCBncmVwICJQeXRob24iID4gL2Rldi9udWxsOyB0 aGVuCisJCQkJCXB5ZndfcGF0aD0iJChkaXJuYW1lICRsaWIgfCBzZWQgJ3N8 LipcKFB5dGhvbi4qZnJhbWV3b3JrXCl8XDF8JykiCisJCQkJCWxpYl9sb2M9 IkNvbnRlbnRzL0ZyYW1ld29ya3MvJHB5ZndfcGF0aCIKKwkJCQkJaWYgWyAi JChiYXNlbmFtZSAkdG9kb19vYmopIiA9ICIkbGliIiBdOyB0aGVuCisJCQkJ CQlsaWJfbG9jPSIkKGRpcm5hbWUgJHRvZG9fb2JqKSIKKwkJCQkJCXB5Zndf cGF0aD0kKGVjaG8gJGxpYl9sb2MgfCBzZWQgJ3MvQ29udGVudHNcL0ZyYW1l d29ya3NcLy8vJykKKwkJCQkJZmkKKwkJCQllbHNlCisJCQkJCWxpYl9sb2M9 IkNvbnRlbnRzL0ZyYW1ld29ya3MiCisJCQkJZmkKKwkJCQlsaWJfYm49IiQo YmFzZW5hbWUgIiRsaWIiKSIgOworCQkJCWlmICEgdGVzdCAtZiAiJGxpYl9s b2MvJGxpYl9ibiI7IHRoZW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB0YXJnZXRfZmlsZT0iIgorCQkJCQl0YXJnZXRfcGF0 aD0iIgorCQkJCQllY2hvICJBcHA6ICR0YWc6IEFkZGluZyBzeW1saW5rOiAk bGliX2JuIChiZWNhdXNlIG9mOiAkdG9kb19vYmopIgorCQkJCQlpZiBlY2hv ICRsaWIgfCBncmVwIFF0ID4gL2Rldi9udWxsIHx8IGVjaG8gJGxpYiB8IGdy ZXAgUHl0aG9uID4gL2Rldi9udWxsIDsgdGhlbgorCQkJCQkJY3AgLVIgJChk aXJuYW1lICRsaWIpLy4uLy4uLy4uLyRsaWJfYm4uZnJhbWV3b3JrICIkZndf bG9jLyIKKwkJCQkJZWxzZQorCQkJCQkJY3AgLVIgIiRsaWIiICIkbGliX2xv Yy8kbGliX2JuIgorCQkJCQlmaQorCQkJCQlpZiAhIHRlc3QgLUwgIiRsaWJf bG9jLyRsaWJfYm4iOyB0aGVuCisJCQkJCQljaG1vZCA3NTUgIiRsaWJfbG9j LyRsaWJfYm4iCisJCQkJCWVsc2UKKwkJCQkJCXRhcmdldF9maWxlPSQocmVh ZGxpbmsgIiRsaWIiKQorCQkJCQkJdGFyZ2V0X3BhdGg9JChkaXJuYW1lICIk bGliIikvJHRhcmdldF9maWxlCisJCQkJCSAgICAgICAgZWNobyAiQXBwOiAk dGFnOiBBZGRpbmcgc3ltbGluayB0YXJnZXQ6ICR0YXJnZXRfcGF0aCIKKwkJ CQkJCWNwICIkdGFyZ2V0X3BhdGgiICIkbGliX2xvYy8kdGFyZ2V0X2ZpbGUi CisJCQkJCQljaG1vZCA3NTUgIiRsaWJfbG9jLyR0YXJnZXRfZmlsZSIKKwkJ CQkJZmkKKwkJCQkJZWNobyAiUmV3cml0aW5nIElEIGluICRsaWJfbG9jLyRs aWJfYm4gdG8gJGxpYl9ibiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpbnN0YWxsX25hbWVfdG9vbCBcCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtaWQgIiRs aWJfYm4iIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICIkbGliX2xvYy8kbGliX2JuIiB8fCBleGl0IDEKKwkJ CQkJdG9kbz0iJHRvZG8gLi8kbGliX2xvYy8kbGliX2JuIgorCQkJCWZpCisJ CQkJaWYgZWNobyAkbGliIHwgZ3JlcCBRdCA+IC9kZXYvbnVsbCA7IHRoZW4K KwkJCQkJZndfcmVscGF0aD0iJGZ3X3JlbHBhdGgvJHF0ZndfcGF0aCIKKwkJ CQlmaQorCQkJCWlmIGVjaG8gJGxpYiB8IGdyZXAgUHl0aG9uID4gL2Rldi9u dWxsIDsgdGhlbgorCQkJCQlmd19yZWxwYXRoPSIkZndfcmVscGF0aC8kcHlm d19wYXRoIgorCQkJCWZpCisJCQkJZWNobyAiUmV3cml0aW5nIGxpYnJhcnkg JGxpYiB0byBAbG9hZGVyX3BhdGgvJGZ3X3JlbHBhdGgvJGxpYl9ibiBpbiAk dG9kb19vYmoiCisJCQkJaW5zdGFsbF9uYW1lX3Rvb2wgLWNoYW5nZSBcCisJ CQkJCSIkbGliIiBcCisJCQkJCSJAbG9hZGVyX3BhdGgvJGZ3X3JlbHBhdGgv JGxpYl9ibiIgXAorCQkJCQkiJHRvZG9fb2JqIiB8fCBleGl0IDEKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGFsbF9uYW1lX3Rvb2wg LWNoYW5nZSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIiR0YXJnZXRfcGF0aCIgXAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICJAbG9hZGVyX3BhdGgvJGZ3X3JlbHBhdGgv JHRhcmdldF9maWxlIiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIiR0b2RvX29iaiIgfHwgZXhpdCAxCisJCQkJZndfcmVs cGF0aD0iJGZ3X3JlbHBhdGhfb2xkIgorCQkJZG9uZQorCQlkb25lCisJZG9u ZQorCisJIyBGaXggdGhlIHJwYXRocyBmb3IgcHN5Y29wZyBtb2R1bGUKKwlm aW5kICRidW5kbGUvQ29udGVudHMvUmVzb3VyY2VzL3ZlbnYvIC1uYW1lIF9w c3ljb3BnLnNvIHwgeGFyZ3MgaW5zdGFsbF9uYW1lX3Rvb2wgLWNoYW5nZSBs aWJwcS41LmR5bGliIEBsb2FkZXJfcGF0aC8uLi8uLi8uLi8uLi8uLi8uLi9G cmFtZXdvcmtzL2xpYnBxLjUuZHlsaWIKKwlmaW5kICRidW5kbGUvQ29udGVu dHMvUmVzb3VyY2VzL3ZlbnYvIC1uYW1lIF9wc3ljb3BnLnNvIHwgeGFyZ3Mg aW5zdGFsbF9uYW1lX3Rvb2wgLWNoYW5nZSBsaWJzc2wuMS4wLjAuZHlsaWIg QGxvYWRlcl9wYXRoLy4uLy4uLy4uLy4uLy4uLy4uL0ZyYW1ld29ya3MvbGli c3NsLjEuMC4wLmR5bGliCisJZmluZCAkYnVuZGxlL0NvbnRlbnRzL1Jlc291 cmNlcy92ZW52LyAtbmFtZSBfcHN5Y29wZy5zbyB8IHhhcmdzIGluc3RhbGxf bmFtZV90b29sIC1jaGFuZ2UgbGliY3J5cHRvLjEuMC4wLmR5bGliIEBsb2Fk ZXJfcGF0aC8uLi8uLi8uLi8uLi8uLi8uLi9GcmFtZXdvcmtzL2xpYmNyeXB0 by4xLjAuMC5keWxpYgorCisJZWNobyAiQXBwIGNvbXBsZXRlZDogJGJ1bmRs ZSIKKwlwb3BkID4gL2Rldi9udWxsCit9CisKK0NvbXBsZXRlU2luZ2xlQXBw ICIkYnVuZGxlIgpkaWZmIC0tZ2l0IGEvcGtnL21hYy9jcmVhdGUtZG1nLnNo IGIvcGtnL21hYy9jcmVhdGUtZG1nLnNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLmNiZjhlNTQKLS0tIC9kZXYvbnVsbAorKysgYi9w a2cvbWFjL2NyZWF0ZS1kbWcuc2gKQEAgLTAsMCArMSwzMiBAQAorIyEvYmlu L3NoCitETUdfU09VUkNFUz0iLi9wZ0FkbWluNC5hcHAiCitETUdfTElDRU5D RT0uL3BrZy9tYWMvbGljZW5jZS5yCitETUdfSU1BR0U9Li9wZ0FkbWluNC5k bWcKK0RNR19OQU1FPXBnQWRtaW40CitIRElVVElMPS91c3IvYmluL2hkaXV0 aWwKK1JFWj0iL3Vzci9iaW4vUmV6IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdv cmtzL0NhcmJvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9IZWFkZXJzLyouciIK KworRE1HX0RJUj0kRE1HX0lNQUdFLnNyYworCitpZiB0ZXN0IC1lICIkRE1H X0RJUiI7IHRoZW4KKwllY2hvICJEaXJlY3RvcnkgJERNR19ESVIgYWxyZWFk eSBleGlzdHMuIFBsZWFzZSBkZWxldGUgaXQgbWFudWFsbHkuIiA+JjIKKwll eGl0IDEKK2ZpCisKK2VjaG8gIkNsZWFuaW5nIHVwIgorcm0gLWYgIiRETUdf SU1BR0UiIHx8IGV4aXQgMQorbWtkaXIgIiRETUdfRElSIiB8fCBleGl0IDEK KworZWNobyAiQ29weWluZyBkYXRhIGludG8gdGVtcG9yYXJ5IGRpcmVjdG9y eSIKK2ZvciBzcmMgaW4gJERNR19TT1VSQ0VTOyBkbworCWNwIC1SICIkc3Jj IiAiJERNR19ESVIiIHx8IGV4aXQgMQorZG9uZQorCitlY2hvICJDcmVhdGlu ZyBpbWFnZSIKKyRIRElVVElMIGNyZWF0ZSAtcXVpZXQgLXNyY2ZvbGRlciAi JERNR19ESVIiIC1mb3JtYXQgVURaTyAtdm9sbmFtZSAiJERNR19OQU1FIiAt b3YgIiRETUdfSU1BR0UiIHx8IGV4aXQgMQorcm0gLXJmICIkRE1HX0RJUiIg fHwgZXhpdCAxCisKK2VjaG8gIkF0dGFjaGluZyBMaWNlbnNlIHRvIGltYWdl IgorJEhESVVUSUwgdW5mbGF0dGVuIC1xdWlldCAiJERNR19JTUFHRSIgfHwg ZXhpdCAxCiskUkVaICIkRE1HX0xJQ0VOQ0UiIC1hIC1vICIkRE1HX0lNQUdF IiB8fCBleGl0IDEKKyRIRElVVElMIGZsYXR0ZW4gLXF1aWV0ICIkRE1HX0lN QUdFIiB8fCBleGl0IDEKZGlmZiAtLWdpdCBhL3BrZy9tYWMvbGljZW5jZS5y IGIvcGtnL21hYy9saWNlbmNlLnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uODhhODlhZgotLS0gL2Rldi9udWxsCisrKyBiL3BrZy9t YWMvbGljZW5jZS5yCkBAIC0wLDAgKzEsNDIgQEAKK2RhdGEgJ0xQaWMnICg1 MDAwKSB7CisJJCIwMDAwIDAwMDEgMDAwMCAwMDAwIDAwMDAiCit9OworCity ZXNvdXJjZSAnU1RSIycgKDUwMDAsICJFbmdsaXNoIGJ1dHRvbnMiKSB7Cisg ICAgeyAgIC8qIGFycmF5IFN0cmluZ0FycmF5OiA5IGVsZW1lbnRzICovCisg ICAgICAgIC8qIFsxXSAqLworICAgICAgICAiRW5nbGlzaCIsCisgICAgICAg IC8qIFsyXSAqLworICAgICAgICAiQWdyZWUiLAorICAgICAgICAvKiBbM10g Ki8KKyAgICAgICAgIkRpc2FncmVlIiwKKyAgICAgICAgLyogWzRdICovCisg ICAgICAgICJQcmludCIsCisgICAgICAgIC8qIFs1XSAqLworICAgICAgICAi U2F2ZS4uLiIsCisgICAgICAgIC8qIFs2XSAqLworICAgICAgICAiSU1QT1JU QU5UIC0gUmVhZCB0aGlzIExpY2Vuc2UgQWdyZWVtZW50IGNhcmVmdWxseSBi ZWZvcmUgY2xpY2tpbmcgb24gIgorICAgICAgICAidGhlIFwiQWdyZWVcIiBi dXR0b24uICBCeSBjbGlja2luZyBvbiB0aGUgXCJBZ3JlZVwiIGJ1dHRvbiwg eW91IGFncmVlICIKKyAgICAgICAgInRvIGJlIGJvdW5kIGJ5IHRoZSB0ZXJt cyBvZiB0aGUgTGljZW5zZSBBZ3JlZW1lbnQuIiwKKyAgICAgICAgLyogWzdd ICovCisgICAgICAgICJTb2Z0d2FyZSBMaWNlbnNlIEFncmVlbWVudCIsCisg ICAgICAgIC8qIFs4XSAqLworICAgICAgICAiVGhpcyB0ZXh0IGNhbm5vdCBi ZSBzYXZlZC4gVGhpcyBkaXNrIG1heSBiZSBmdWxsIG9yIGxvY2tlZCwgb3Ig dGhlIGZpbGUgIgorICAgICAgICAibWF5IGJlIGxvY2tlZC4iLAorICAgICAg ICAvKiBbOV0gKi8KKyAgICAgICAgIlVuYWJsZSB0byBwcmludC4gTWFrZSBz dXJlIHlvdSd2ZSBzZWxlY3RlZCBhIHByaW50ZXIuIgorICAgIH0KK307CisK K2RhdGEgJ1RFWFQnICg1MDAwLCAiRW5nbGlzaCIpIHsKKyAgICAicGdBZG1p biA0XG4iCisgICAgIlxuIgorICAgICJDb3B5cmlnaHQgKEMpIDIwMTMgLSAy MDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtXG4iCisgICAgIlxu IgorICAgICJQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQg ZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGFuZCBpdHMgZG9jdW1lbnRhdGlv biBmb3IgYW55IHB1cnBvc2UsIHdpdGhvdXQgZmVlLCBhbmQgd2l0aG91dCBh IHdyaXR0ZW4gYWdyZWVtZW50IGlzIGhlcmVieSBncmFudGVkLCBwcm92aWRl ZCB0aGF0IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBh cmFncmFwaCBhbmQgdGhlIGZvbGxvd2luZyB0d28gcGFyYWdyYXBocyBhcHBl YXIgaW4gYWxsIGNvcGllcy5cbiIKKyAgICAiXG4iCisgICAgIklOIE5PIEVW RU5UIFNIQUxMIFRIRSBQR0FETUlOIERFVkVMT1BNRU5UIFRFQU0gQkUgTElB QkxFIFRPIEFOWSBQQVJUWSBGT1IgRElSRUNULCBJTkRJUkVDVCwgU1BFQ0lB TCwgSU5DSURFTlRBTCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTLCBJTkNM VURJTkcgTE9TVCBQUk9GSVRTLCBBUklTSU5HIE9VVCBPRiBUSEUgVVNFIE9G IFRISVMgU09GVFdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OLCBFVkVOIElG IFRIRSBQR0FETUlOIERFVkVMT1BNRU5UIFRFQU0gSEFTIEJFRU4gQURWSVNF RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuXG4iCisgICAg IlxuIgorICAgICJUSEUgUEdBRE1JTiBERVZFTE9QTUVOVCBURUFNIFNQRUNJ RklDQUxMWSBESVNDTEFJTVMgQU5ZIFdBUlJBTlRJRVMsIElOQ0xVRElORywg QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuIFRIRSBTT0ZUV0FSRSBQUk9WSURFRCBIRVJFVU5ERVIgSVMg T04gQU4gXCJBUyBJU1wiIEJBU0lTLCBBTkQgVEhFIFBHQURNSU4gREVWRUxP UE1FTlQgVEVBTSBIQVMgTk8gT0JMSUdBVElPTlMgVE8gUFJPVklERSBNQUlO VEVOQU5DRSwgU1VQUE9SVCwgVVBEQVRFUywgRU5IQU5DRU1FTlRTLCBPUiBN T0RJRklDQVRJT05TLlxuIgorfTsKKwpkaWZmIC0tZ2l0IGEvcGtnL21hYy9w Z2FkbWluLkluZm8ucGxpc3QuaW4gYi9wa2cvbWFjL3BnYWRtaW4uSW5mby5w bGlzdC5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5m YjU3YWM4Ci0tLSAvZGV2L251bGwKKysrIGIvcGtnL21hYy9wZ2FkbWluLklu Zm8ucGxpc3QuaW4KQEAgLTAsMCArMSwyOCBAQAorPD94bWwgdmVyc2lvbj0i MS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBwbGlzdCBQVUJM SUMgIi0vL0FwcGxlIENvbXB1dGVyLy9EVEQgUExJU1QgMS4wLy9FTiIgImh0 dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQi PgorPHBsaXN0IHZlcnNpb249IjEuMCI+Cis8ZGljdD4KKwk8a2V5PkNGQnVu ZGxlRGV2ZWxvcG1lbnRSZWdpb248L2tleT4KKwk8c3RyaW5nPkVuZ2xpc2g8 L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlRXhlY3V0YWJsZTwva2V5PgorCTxz dHJpbmc+cGdBZG1pbjQ8L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlR2V0SW5m b1N0cmluZzwva2V5PgorCTxzdHJpbmc+cGdBZG1pbjQgUEdBRE1JTl9MT05H X1ZFUlNJT048L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlSWNvbkZpbGU8L2tl eT4KKwk8c3RyaW5nPnBnQWRtaW40LmljbnM8L3N0cmluZz4KKwk8a2V5PkNG QnVuZGxlSWRlbnRpZmllcjwva2V5PgorCTxzdHJpbmc+b3JnLnBvc3RncmVz cWwucGdhZG1pbjwvc3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVJbmZvRGljdGlv bmFyeVZlcnNpb248L2tleT4KKwk8c3RyaW5nPjYuMDwvc3RyaW5nPgorCTxr ZXk+Q0ZCdW5kbGVQYWNrYWdlVHlwZTwva2V5PgorCTxzdHJpbmc+QVBQTDwv c3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVTaG9ydFZlcnNpb25TdHJpbmc8L2tl eT4KKwk8c3RyaW5nPlBHQURNSU5fU0hPUlRfVkVSU0lPTjwvc3RyaW5nPgor CTxrZXk+Q0ZCdW5kbGVTaWduYXR1cmU8L2tleT4KKwk8c3RyaW5nPj8/Pz88 L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlVmVyc2lvbjwva2V5PgorCTxzdHJp bmc+UEdBRE1JTl9MT05HX1ZFUlNJT048L3N0cmluZz4KKwk8a2V5PkNTUmVz b3VyY2VzRmlsZU1hcHBlZDwva2V5PgorCTx0cnVlLz4KKzwvZGljdD4KKzwv cGxpc3Q+Cg== --089e0115f644ae0e1c05322e2d0e 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 --089e0115f644ae0e1c05322e2d0e--