Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d7cmb-00010M-0m for pgadmin-hackers@arkaria.postgresql.org; Mon, 08 May 2017 07:08:37 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1d7cma-000752-Ja for pgadmin-hackers@arkaria.postgresql.org; Mon, 08 May 2017 07:08:36 +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 1d7cmH-0006ez-FC for pgadmin-hackers@postgresql.org; Mon, 08 May 2017 07:08:17 +0000 Received: from mail-oi0-x234.google.com ([2607:f8b0:4003:c06::234]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1d7cmC-0004zQ-QW for pgadmin-hackers@postgresql.org; Mon, 08 May 2017 07:08:16 +0000 Received: by mail-oi0-x234.google.com with SMTP id l18so40620857oig.2 for ; Mon, 08 May 2017 00:08:12 -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:from:date:message-id:subject:to :cc; bh=DmlNyN9eDr10kaLlAf1UuDfzczRXIJJ/CxYU0NIX/6Q=; b=ixL/3FhvMTtNZvzUSkRfXC4P8o8eC0AWjtrKk8qM0qxFVg4eCUeByGZM7ZolzvAuvt KvDTuQPIvte1jrzr+VDz9SxL56yvDkJfxhgdpKVIyrt0p+hzjRhEq+NqhBNndl3SV6vT tFQIXPli1Cy5NelE8/+mg0ZrH+WnlP10ybAsoMyIeh5mpFQkk+UNBx9+ZGMhAv7ltQF0 8WjhP/UJg//nBWYcruF3EeYjGC8DqRsYwRHelPVm8uF952Bn86iryKWLJ/PirLfkJomv qRP4IjGdQ7EKdGwX/Tuaqt/GAseVCn6fYGktWB6/nBrBhzZsAtfV56SGLHiFw3MyPK7S eqbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=DmlNyN9eDr10kaLlAf1UuDfzczRXIJJ/CxYU0NIX/6Q=; b=O8DUUesDCIjP7pEt7+s8o+1i1p9gW513jbVSkPMxodshJzYoDDj0/PxcfqcSYYPLqn Agj6O7d8QPiRuYA9ONOdJ4BptrJzADGJNdrArxf1dbOc4+tvyDHYjxH9FyVQXgf2tqgQ LV0oVaiT6AHnYqFNf8MA/p8WW1kFpCORTAr5n2h1oJpplZoJPNFBHLEiqLUiNuuue9bw NRIUiYzZe18pDdynFWsoYvnHNoz1HQQ74N2GicsNJtvmse4oF4TzRL6ZNijp9l4IjQG+ DqBtpLxrW7POYg24K4ljkFBJDOxVdB/2vUbzWEsWfzzcUs/NnvppLq0yvqsaxZlXMcAO 452g== X-Gm-Message-State: AN3rC/7cp/fnW6lHHy49AYq3JKxIfvT8E2rQPXLqdSafcZwCWJa/kYj5 ifEeAAeaiybtsgnOPO5oxKmgJe4q214X X-Received: by 10.157.16.69 with SMTP id o5mr19002451oto.208.1494227291427; Mon, 08 May 2017 00:08:11 -0700 (PDT) MIME-Version: 1.0 Received: by 10.74.138.13 with HTTP; Mon, 8 May 2017 00:08:10 -0700 (PDT) In-Reply-To: References: From: Khushboo Vashi Date: Mon, 8 May 2017 12:38:10 +0530 Message-ID: Subject: Re: [pgAdmin4][Patch]: Fixed RM #2315 : Sorting by size is broken To: Joao Pedro De Almeida Pereira Cc: Dave Page , pgadmin-hackers , Ashesh Vashi , George Gelashvili Content-Type: multipart/mixed; boundary=001a11415282eba38e054efde657 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 --001a11415282eba38e054efde657 Content-Type: multipart/alternative; boundary=001a11415282eba38b054efde655 --001a11415282eba38b054efde655 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi, Please find the attached updated patch. Thanks, Khushboo On Fri, May 5, 2017 at 9:00 PM, Joao Pedro De Almeida Pereira < jdealmeidapereira@pivotal.io> wrote: > Hi Khushboo, > > We looked at your updated patch: > - the tests look good! > - there's a small comment header change needed in size_prettify_spec > Fixed > - it looks like the previous and new functions have different behaviors > (where the new behavior changes units on 10000 of the lower unit, a 9999G= B) > - We should clarify that in size_prettify, we were mostly talking about > name readability in your first patch, and that the original structure was > better (especially the sizes array) > At first glance, the new sizePrettify appears to behave like a for loop, > so that might be the simplest refactor. > > Added loop. > Thanks, > Joao and George > > > > On Thu, May 4, 2017 at 5:02 AM, Khushboo Vashi < > khushboo.vashi@enterprisedb.com> wrote: > >> Hi, >> >> Please find the attached updated patch. >> >> Thanks, >> Khushboo >> >> On Fri, Apr 28, 2017 at 7:58 PM, Matthew Kleiman >> wrote: >> >>> Hi Khushboo, >>> >>> That sounds good. Sorry if we weren't clear at first. >>> >>> Have a good holiday weekend! >>> >>> Sarah & Matt >>> >>> >>> On Fri, Apr 28, 2017 at 4:35 AM, Khushboo Vashi < >>> khushboo.vashi@enterprisedb.com> wrote: >>> >>>> Hi Sarah, >>>> >>>> On Thu, Apr 27, 2017 at 7:38 PM, Sarah McAlear >>>> wrote: >>>> >>>>> Hi Kushboo! >>>>> >>>>> We understand your point, but we believe that relying on 2 independent >>>>> functions to deliver the same formatting can become a problem if the = PG >>>>> function changes. Our suggestion is to use a single function in our >>>>> javascript code to do this formatting. >>>>> >>>>> It seems reasonable to me and I am going to use a single javascript >>>> function which will support PB also (as per Dave we should add support= till >>>> PB) . >>>> >>>>> If the community believes we can live with this risk, let's move >>>>> forward. >>>>> >>>>> Thanks! >>>>> Sarah & Joao >>>>> >>>>> On Thu, Apr 27, 2017 at 1:50 AM, Khushboo Vashi < >>>>> khushboo.vashi@enterprisedb.com> wrote: >>>>> >>>>>> Hi Joao & Sarah, >>>>>> >>>>>> On Wed, Apr 26, 2017 at 8:46 PM, Joao Pedro De Almeida Pereira < >>>>>> jdealmeidapereira@pivotal.io> wrote: >>>>>> >>>>>>> Hi Khushboo! >>>>>>> >>>>>>> Thanks for your reply! >>>>>>> >>>>>>> >>>>>>>> *SQL Files:* >>>>>>>>> >>>>>>>>> - Is there a way to avoid conditionals here? >>>>>>>>> >>>>>>>>> >>>>>>>>> - Maybe we can use the same javascript function to prettify >>>>>>>>> all the sizes >>>>>>>>> >>>>>>>>> >>>>>>>>> In case of collection node (ex: Databases), I have implemented >>>>>>>>> this functionality via putting a formatter for a back-grid column= . So, it >>>>>>>>> is applicable for the entire column not for the individual cell. = To apply >>>>>>>>> the javascript function on a single cell for the column (string c= olumn), >>>>>>>>> first we need to identify that cell and then apply the function, = I think >>>>>>>>> this is overhead. Just to avoid conditional sql template I would = not prefer >>>>>>>>> this approach. >>>>>>>> >>>>>>>> >>>>>>> We are not totally sure we understood what you meant on the previous >>>>>>> statement. Are you saying that the conditionals in SQL are used to = ensure >>>>>>> that we can apply a javascript function at column level instead of = cell >>>>>>> level? >>>>>>> >>>>>>> Correct. >>>>>> >>>>>>> Our concern is that the templates are being made more complex and >>>>>>> inconsistencies are introduced in the code and the UI. >>>>>>> >>>>>> >>>>>> Inconsistencies in the UI can be avoided through making the >>>>>> size_formatter same as pg_size_pretty function which I will implemen= t. >>>>>> I have checked the pg_size_pretty function code and it supports till >>>>>> TB format, so I think we should keep till TB only. >>>>>> >>>>>> In this particular example, we are allowing the backend to respond >>>>>>> sometimes with prettified data and sometimes without it, so at UI l= evel we >>>>>>> will have inconsistencies between screens or more complex Javascrip= t code >>>>>>> to support sometimes prettifying and sometimes not prettify the same >>>>>>> fields. >>>>>>> >>>>>>> We have separate logic for collection and single node in >>>>>> statistics.js and we are using javascript code for prettifying only = for >>>>>> collection node. >>>>>> >>>>>> >>>>>>> What we were thinking was to maybe not specify on the SQL level and >>>>>>> have the same format for "Size" everywhere in the UI. >>>>>>> >>>>>>> >>>>>> Here our main concern is inconsistency in "Size" format in the UI >>>>>> that can be avoided as I said earlier. >>>>>> We are using pg_size_pretty function for different fields like Size, >>>>>> Index Size, Table space size, Tuple length, Size of Temporary files = in >>>>>> different modules and some of them are cell level and we don't requi= re to >>>>>> put overhead on cell level fields as sorting is not required for ind= ividual >>>>>> node statistics. >>>>>> >>>>>> >>>>>> >>>>>>> Thanks >>>>>>> Joao & Sarah >>>>>>> >>>>>>> On Tue, Apr 25, 2017 at 11:48 PM, Khushboo Vashi < >>>>>>> khushboo.vashi@enterprisedb.com> wrote: >>>>>>> >>>>>>>> Hi Joao & Sarah, >>>>>>>> >>>>>>>> Thanks for reviewing the patch. >>>>>>>> >>>>>>>> On Tue, Apr 25, 2017 at 8:34 PM, Joao Pedro De Almeida Pereira < >>>>>>>> jdealmeidapereira@pivotal.io> wrote: >>>>>>>> >>>>>>>>> Hello Khushboo, >>>>>>>>> >>>>>>>>> We reviewed the this patch and have some suggestions: >>>>>>>>> >>>>>>>>> *Python:* >>>>>>>>> =E2=80=8B >>>>>>>>> The functionality for adding the "can_prettify" is repeated in >>>>>>>>> multiple places. Maybe this could be extracted into a function. >>>>>>>>> >>>>>>>>> When I have implemented this, my first thought is exactly same as >>>>>>>> you suggested but while looking at the code I felt its not a good= idea to >>>>>>>> have a function. In case of a function, we need to pass the whole >>>>>>>> result-set as well as the list of fields which we need to be prett= ified. >>>>>>>> So, only for 2 lines, I didn't find any reason to make a function. >>>>>>>> >>>>>>>>> *Javascript:* >>>>>>>>> =E2=80=8B >>>>>>>>> >>>>>>>>> - The class Backgrid.SizeFormatter doesn't seem to have any >>>>>>>>> tests. >>>>>>>>> >>>>>>>>> >>>>>>>>> Sure, will do. >>>>>>>> >>>>>>>>> >>>>>>>>> - The function pg_size_pretty displays bytes and Kilobytes >>>>>>>>> differently. >>>>>>>>> - Is it possible to add PB as well? >>>>>>>>> >>>>>>>>> Will check and add PB. >>>>>>>> >>>>>>>>> >>>>>>>>> - >>>>>>>>> - The function is a little bit hard to read, is it possible to >>>>>>>>> refactor using private functions like: >>>>>>>>> >>>>>>>>> Will make it more readable. >>>>>>>> >>>>>>>>> fromRaw: function (rawData, model) { >>>>>>>>> var unitIdx =3D findDataUnitIndex(rawData); >>>>>>>>> if (unitIdx =3D=3D 0) { >>>>>>>>> return rawData + ' ' + this.dataUnits[i]; >>>>>>>>> } >>>>>>>>> return formatOutput(rawData, unitIdx); >>>>>>>>> }, >>>>>>>>> >>>>>>>>> =E2=80=8B >>>>>>>>> >>>>>>>>> >>>>>>>>> - In statistics.js:326 we believe it would make the code more >>>>>>>>> readable if we change the variable "c" to "rawColumn" and "col= " to "column". >>>>>>>>> >>>>>>>>> >>>>>>>>> I will change the variable name from "c" to "rawColumn" but I >>>>>>>> think "col" is appropriate as we already have columns variable and= anyone >>>>>>>> can confuse while reading the code (for columns and column). >>>>>>>> >>>>>>>>> >>>>>>>>> *SQL Files:* >>>>>>>>> =E2=80=8B >>>>>>>>> >>>>>>>>> - Is there a way to avoid conditionals here? >>>>>>>>> - Maybe we can use the same javascript function to prettify >>>>>>>>> all the sizes >>>>>>>>> >>>>>>>>> >>>>>>>>> In case of collection node (ex: Databases), I have implemented >>>>>>>> this functionality via putting a formatter for a back-grid column.= So, it >>>>>>>> is applicable for the entire column not for the individual cell. T= o apply >>>>>>>> the javascript function on a single cell for the column (string co= lumn), >>>>>>>> first we need to identify that cell and then apply the function, I= think >>>>>>>> this is overhead. Just to avoid conditional sql template I would n= ot prefer >>>>>>>> this approach. >>>>>>>> >>>>>>>>> >>>>>>>>> Visually we saw a difference between "Databases" statistics and a >>>>>>>>> specific database statistics. In "Databases" statistics the "Size= " is "7.4 >>>>>>>>> MB" but when you are in the specific database the "Size" is "7420= kB". >>>>>>>>> Is this the intended behavior? >>>>>>>>> >>>>>>>>> Only for the Databases (collection node), the client side >>>>>>>> functionality is implemented not for individual node , so this beh= aviour is >>>>>>>> different. For the individual node still, we are using pg_size_pre= tty >>>>>>>> function >>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>>> Thanks >>>>>>>>> Joao & Sarah >>>>>>>>> >>>>>>>>> On Tue, Apr 25, 2017 at 7:58 AM, Dave Page >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> Ashesh, can you review/commit this please? >>>>>>>>>> >>>>>>>>>> Thanks. >>>>>>>>>> >>>>>>>>>> On Tue, Apr 25, 2017 at 10:18 AM, Khushboo Vashi < >>>>>>>>>> khushboo.vashi@enterprisedb.com> wrote: >>>>>>>>>> >>>>>>>>>>> Hi, >>>>>>>>>>> >>>>>>>>>>> Fixed RM #2315 : Sorting by size is broken. >>>>>>>>>>> >>>>>>>>>>> Removed the pg_size_pretty function from query for the >>>>>>>>>>> collection and introduced the client side function to convert s= ize into >>>>>>>>>>> human readable format. So, the sorting issue is fixed as the al= gorithm will >>>>>>>>>>> get the actual value of size instead of formatted value. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Thanks, >>>>>>>>>>> Khushboo >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Sent via pgadmin-hackers mailing list ( >>>>>>>>>>> pgadmin-hackers@postgresql.org) >>>>>>>>>>> To make changes to your subscription: >>>>>>>>>>> http://www.postgresql.org/mailpref/pgadmin-hackers >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Dave Page >>>>>>>>>> Blog: http://pgsnake.blogspot.com >>>>>>>>>> Twitter: @pgsnake >>>>>>>>>> >>>>>>>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>>>>>>> The Enterprise PostgreSQL Company >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> Thanks, >>>>>>>> Khushboo >>>>>>>> >>>>>>> >>>>>>> >>>>>> Thanks, >>>>>> Khushboo >>>>>> >>>>> >>>>> >>>> Thanks, >>>> Khushboo >>>> >>> >>> >> >> >> -- >> Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) >> To make changes to your subscription: >> http://www.postgresql.org/mailpref/pgadmin-hackers >> >> > --001a11415282eba38b054efde655 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,

Please find the attached updated pa= tch.

Thanks,
Khushboo

On Fri, May 5, 2017 at 9:00 PM, = Joao Pedro De Almeida Pereira <jdealmeidapereira@pivotal.io= > wrote:
Hi Kh= ushboo,

We looked at your updated patch:
- the= tests look good!
- there's a small comment header change= needed in size_prettify_spec
Fixed=C2=A0
- it looks like the p= revious and new functions have different behaviors (where the new behavior = changes units on 10000 of the lower unit, a 9999GB)=C2=A0
- We sh= ould clarify that in size_prettify, we were mostly talking about name reada= bility in your first patch, and that the original structure was better (esp= ecially the sizes array)
At first glance, the new sizePrettify appears t= o behave like a for loop, so that might be the simplest refactor.

Added loop.
=C2=A0
Thanks,
Joao and George



On Thu, May 4, 2017 at 5:02 AM, Khushboo Vashi <= khushb= oo.vashi@enterprisedb.com> wrote:
Hi,

Please find the attac= hed updated patch.

Thanks,
Khushboo

O= n Fri, Apr 28, 2017 at 7:58 PM, Matthew Kleiman <mkleiman@pivotal.io= > wrote:
Hi Kh= ushboo,

That sounds good. Sorry if we weren't clear = at first.=C2=A0

Have a good holiday weekend!
=

Sarah & Matt


<= div class=3D"gmail_extra">
On Fri, Apr 28, 2017 a= t 4:35 AM, Khushboo Vashi <khushboo.vashi@enterprisedb.com> wrote:
Hi Sarah,

On Thu, Apr 27, 2017 at 7:38 PM, Sarah McAlear <smcalear@pivotal.io<= /a>> wrote:
Hi= Kushboo!

We understand your point, but we believe that = relying on 2 independent functions to deliver the same formatting can becom= e a problem if the PG function changes. Our suggestion is to use a single f= unction in our javascript code to do this formatting.=C2=A0

<= /div>
It seems reasonable to me and I am goin= g to use a single javascript function which will support PB also (as per Da= ve we should add support till PB) .
If the community believes we can= live with this risk, let's move forward.

Thanks!
Sarah & Joao

On Thu, Apr 27, 2017 at 1:50 AM, Khushboo Vashi <khushboo.vashi@enterprisedb.com> wrote:
Hi Joa= o & Sarah,

On Wed, Apr 26, 2017 at 8:46 PM, Joao Pedro De Almeida Pereira <jdealmeidapereira@pivotal.io> wrote:
Hi Khushboo!

Thanks f= or your reply!
=C2=A0
SQL Files:
  • Is there a way to avoid conditionals here?=C2=A0
  • Maybe we can use the same javascri= pt function to prettify all the sizes

In case of collection no= de (ex: Databases), I have implemented this functionality via putting a for= matter for a back-grid column. So, it is applicable for the entire column n= ot for the individual cell. To apply the javascript function on a single ce= ll for the column (string column), first we need to identify that cell and = then apply the function, I think this is overhead. Just to avoid conditiona= l sql template I would not prefer this approach.

We are not totally sure we unde= rstood what you meant on the previous statement. Are you saying that the co= nditionals in SQL are used to ensure that we can apply a javascript functio= n at column level instead of cell level?=C2=A0

<= /div>
Correct.=C2=A0
Our concern is that the t= emplates are being made more complex and inconsistencies are introduced in = the code and the UI.
=C2=A0
Inconsistencies in the UI can be avoided through making the size_form= atter same as pg_size_pretty function which I will implement.
I have checked the pg_size_pretty function code and it supports till TB fo= rmat, so I think we should keep till TB only.

In this particular exa= mple, we are allowing the backend to respond sometimes with prettified data= and sometimes without it, so at UI level we will have inconsistencies betw= een screens or more complex Javascript code to support sometimes prettifyin= g and sometimes not prettify the same fields.=C2=A0

We have separate logic for collection an= d single node in statistics.js and we are using javascript code for prettif= ying only for collection node.
=C2=A0
What we were thinking wa= s to maybe not specify on the SQL level and have the same format for "= Size" everywhere in the UI.=C2=A0
=C2=A0
<= /blockquote>
Here our main concern is inconsistency in "Siz= e" format in the UI that can be avoided as I said earlier.
W= e are using pg_size_pretty function for different fields like Size, Index S= ize, Table space size, Tuple length, Size of Temporary files in different m= odules and some of them are cell level and we don't require to put over= head on cell level fields as sorting is not required for individual node st= atistics.
=C2=A0
=C2=A0
Thanks
Joao & Sarah

On Tue, Apr 25,= 2017 at 11:48 PM, Khushboo Vashi <khushboo.vashi@enterprise= db.com> wrote:
Hi Joao & Sarah,

Thanks= for reviewing the patch.

On Tue, Apr 25, 2017 at 8:34 PM, Joao Pedro De Almeida = Pereira <jdealmeidapereira@pivotal.io> wrote:
=
Hello Kh= ushboo,

We reviewed the this patch and have some suggest= ions:

Python:

=E2=80=8B
The functionality for adding the "can= _prettify" is repeated in multiple places. Maybe this could be extract= ed into a function.=C2=A0

When I have implemented this, my first thought is exactly same as you sug= gested but =C2=A0while looking at the code I felt its not a good idea to ha= ve a function. In case of a function, we need to pass the whole result-set = as well as the list of fields which we need to be prettified. So, only for = 2 lines, I didn't find any reason to make a function.

Javascript:

=E2=80=8B
  • The class=C2=A0Backgrid.SizeForm= atter doesn't seem to have any tests.=C2=A0
    =

Sure, will do= .=C2=A0
  • The function pg_size_pretty displays byt= es and Kilobytes differently.=C2=A0
  • Is it possible to add PB as= well?
Will check and add= PB.=C2=A0
  • The function is a little bit hard to re= ad, is it possible to refactor using private functions like:
Will make it more readable.
fromRaw: function (rawData, model) {
   var unitIdx =3D findDataUnitIndex(rawData);
   if (unitIdx =3D=3D 0) {
      return rawData + ' ' + this.dataUnits[i];
   }
   return formatOutput(rawData, unitIdx);
},
=E2=80=8B=

  • In statistics.js:326 we believe it would= make the code more readable if we change the variable "c" to &qu= ot;rawColumn" and "col" to "column".
=

I will change the varia= ble name from =C2=A0"c" to =C2=A0"rawColumn" but I thin= k "col" is appropriate as we already have columns variable and an= yone can confuse while reading the code (for columns and column).
<= /div>

=E2=80=8B

  • Is there a way to avoid condit= ionals here?=C2=A0
  • Maybe we can use the same javascript function to= prettify all the sizes

In case of collection node (ex: Databases), I have implemented th= is functionality via putting a formatter for a back-grid column. So, it is = applicable for the entire column not for the individual cell. To apply the = javascript function on a single cell for the column (string column), first = we need to identify that cell and then apply the function, I think this is = overhead. Just to avoid conditional sql template I would not prefer this ap= proach.

Visually we saw a difference= between "Databases" statistics and a specific database statistic= s. In "Databases" statistics the "Size" is "7.4 MB= " but when you are in the specific database the "Size" is &q= uot;7420 kB".
Is this the intended behavior?

Only for the Databases (collectio= n node), the client side functionality is implemented not for individual no= de , so this behaviour is different. For the individual node still, we are = using pg_size_pretty function
=C2=A0

Thanks
Joao & Sarah

On Tue, Apr 25, 2017 at 7:58 AM, Dave Page <dpage@pgadmi= n.org> wrote:
Ashesh, can you review/commit this please?

<= /div>
Thanks.

On Tue, Apr 25, 2017 at 10:18 AM, Khushboo Vashi <khushboo.vashi@enterprisedb.com> wrote:
=
Hi,

Fixed RM #2315 : Sorting by size is broken.
<= div>
Removed the pg_size_pretty function from query for the c= ollection and introduced the client side function to convert size into huma= n readable format. So, the sorting issue is fixed as the algorithm will get= the actual value of size instead of formatted value.=C2=A0
=C2= =A0

Thanks,
Khushboo

<= /div>



--
Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-ha= ckers




--
Dave Pag= e
Blog: http:/= /pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprise= db.com
The Enterprise PostgreSQL Company


= Thanks,
Khushboo


Thanks,
Khushboo


Thanks,
Khushboo




--
Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-ha= ckers



--001a11415282eba38b054efde655-- --001a11415282eba38e054efde657 Content-Type: text/x-patch; charset=US-ASCII; name="RM_2315_ver2.patch" Content-Disposition: attachment; filename="RM_2315_ver2.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j2fsch1k0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb25zdHJhaW50 cy9leGNsdXNpb25fY29uc3RyYWludC90ZW1wbGF0ZXMvZXhjbHVzaW9uX2Nv bnN0cmFpbnQvanMvZXhjbHVzaW9uX2NvbnN0cmFpbnQuanMgYi93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy90YWJsZXMvY29uc3RyYWludHMvZXhjbHVzaW9uX2NvbnN0cmFp bnQvdGVtcGxhdGVzL2V4Y2x1c2lvbl9jb25zdHJhaW50L2pzL2V4Y2x1c2lv bl9jb25zdHJhaW50LmpzCmluZGV4IDAyYjc3ZTEuLmVlZTlhZDIgMTAwNjQ0 Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb25zdHJhaW50cy9leGNs dXNpb25fY29uc3RyYWludC90ZW1wbGF0ZXMvZXhjbHVzaW9uX2NvbnN0cmFp bnQvanMvZXhjbHVzaW9uX2NvbnN0cmFpbnQuanMKKysrIGIvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvdGFibGVzL2NvbnN0cmFpbnRzL2V4Y2x1c2lvbl9jb25zdHJhaW50 L3RlbXBsYXRlcy9leGNsdXNpb25fY29uc3RyYWludC9qcy9leGNsdXNpb25f Y29uc3RyYWludC5qcwpAQCAtNjI3LDYgKzYyNyw3IEBAIGZ1bmN0aW9uKCQs IF8sIFMsIHBnQWRtaW4sIHBnQnJvd3NlciwgQWxlcnRpZnkpIHsKICAgICAg IGNhbkRyb3BDYXNjYWRlOiB0cnVlLAogICAgICAgaGFzRGVwZW5kczogdHJ1 ZSwKICAgICAgIGhhc1N0YXRpc3RpY3M6IHRydWUsCisgICAgICBzdGF0c1By ZXR0aWZ5RmllbGRzOiBbJ0luZGV4IHNpemUnXSwKICAgICAgIEluaXQ6IGZ1 bmN0aW9uKCkgewogICAgICAgICAvKiBBdm9pZCBtdWx0aXBsZSByZWdpc3Ry YXRpb24gb2YgbWVudXMgKi8KICAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6 ZWQpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29uc3Ry YWludHMvaW5kZXhfY29uc3RyYWludC90ZW1wbGF0ZXMvaW5kZXhfY29uc3Ry YWludC9qcy9pbmRleF9jb25zdHJhaW50LmpzIGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv dGFibGVzL2NvbnN0cmFpbnRzL2luZGV4X2NvbnN0cmFpbnQvdGVtcGxhdGVz L2luZGV4X2NvbnN0cmFpbnQvanMvaW5kZXhfY29uc3RyYWludC5qcwppbmRl eCA2NDM5Y2FmLi5hNzkyZTMxIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1h cy90YWJsZXMvY29uc3RyYWludHMvaW5kZXhfY29uc3RyYWludC90ZW1wbGF0 ZXMvaW5kZXhfY29uc3RyYWludC9qcy9pbmRleF9jb25zdHJhaW50LmpzCisr KyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb25zdHJhaW50cy9pbmRleF9j b25zdHJhaW50L3RlbXBsYXRlcy9pbmRleF9jb25zdHJhaW50L2pzL2luZGV4 X2NvbnN0cmFpbnQuanMKQEAgLTE5LDYgKzE5LDcgQEAgZnVuY3Rpb24oJCwg XywgUywgcGdBZG1pbiwgcGdCcm93c2VyLCBhbGVydGlmeSkgewogICAgICAg aGFzU1FMOiB0cnVlLAogICAgICAgaGFzRGVwZW5kczogdHJ1ZSwKICAgICAg IGhhc1N0YXRpc3RpY3M6IHRydWUsCisgICAgICBzdGF0c1ByZXR0aWZ5Rmll bGRzOiBbJ0luZGV4IHNpemUnXSwKICAgICAgIHBhcmVudF90eXBlOiAndGFi bGUnLAogICAgICAgY2FuRHJvcDogdHJ1ZSwKICAgICAgIGNhbkRyb3BDYXNj YWRlOiB0cnVlLApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVz L2luZGV4ZXMvdGVtcGxhdGVzL2luZGV4L2pzL2luZGV4LmpzIGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvdGFibGVzL2luZGV4ZXMvdGVtcGxhdGVzL2luZGV4L2pzL2lu ZGV4LmpzCmluZGV4IDg3MzkzMjIuLjI0OWZiYWYgMTAwNjQ0Ci0tLSBhL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL3RhYmxlcy9pbmRleGVzL3RlbXBsYXRlcy9pbmRleC9q cy9pbmRleC5qcworKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvaW5kZXhl cy90ZW1wbGF0ZXMvaW5kZXgvanMvaW5kZXguanMKQEAgLTEyLDcgKzEyLDgg QEAgZnVuY3Rpb24oJCwgXywgUywgcGdBZG1pbiwgcGdCcm93c2VyLCBCYWNr Zm9ybSwgYWxlcnRpZnkpIHsKICAgICAgICAgc3FsQWx0ZXJIZWxwOiAnc3Fs LWFsdGVyaW5kZXguaHRtbCcsCiAgICAgICAgIHNxbENyZWF0ZUhlbHA6ICdz cWwtY3JlYXRlaW5kZXguaHRtbCcsCiAgICAgICAgIGNvbHVtbnM6IFsnbmFt ZScsICdkZXNjcmlwdGlvbiddLAotICAgICAgICBoYXNTdGF0aXN0aWNzOiB0 cnVlCisgICAgICAgIGhhc1N0YXRpc3RpY3M6IHRydWUsCisgICAgICAgIHN0 YXRzUHJldHRpZnlGaWVsZHM6IFsnU2l6ZScsICdJbmRleCBzaXplJ10KICAg ICAgIH0pOwogICB9OwogCkBAIC0yMTUsNiArMjE2LDcgQEAgZnVuY3Rpb24o JCwgXywgUywgcGdBZG1pbiwgcGdCcm93c2VyLCBCYWNrZm9ybSwgYWxlcnRp ZnkpIHsKICAgICAgIGhhc1NRTDogIHRydWUsCiAgICAgICBoYXNEZXBlbmRz OiB0cnVlLAogICAgICAgaGFzU3RhdGlzdGljczogdHJ1ZSwKKyAgICAgIHN0 YXRzUHJldHRpZnlGaWVsZHM6IFsnU2l6ZScsICdJbmRleCBzaXplJ10sCiAg ICAgICBJbml0OiBmdW5jdGlvbigpIHsKICAgICAgICAgLyogQXZvaWQgbXVs aXRwbGUgcmVnaXN0cmF0aW9uIG9mIG1lbnVzICovCiAgICAgICAgIGlmICh0 aGlzLmluaXRpYWxpemVkKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv dGFibGVzL3RlbXBsYXRlcy9leGNsdXNpb25fY29uc3RyYWludC9zcWwvZGVm YXVsdC9zdGF0cy5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxh dGVzL2V4Y2x1c2lvbl9jb25zdHJhaW50L3NxbC9kZWZhdWx0L3N0YXRzLnNx bAppbmRleCBiNzc5ZTYyLi42ZTE3MGI5IDEwMDY0NAotLS0gYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy90YWJsZXMvdGVtcGxhdGVzL2V4Y2x1c2lvbl9jb25zdHJhaW50 L3NxbC9kZWZhdWx0L3N0YXRzLnNxbAorKysgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90 YWJsZXMvdGVtcGxhdGVzL2V4Y2x1c2lvbl9jb25zdHJhaW50L3NxbC9kZWZh dWx0L3N0YXRzLnNxbApAQCAtNCwxMiArNCwxMiBAQCBTRUxFQ1QKICAgICBp ZHhfdHVwX2ZldGNoIEFTIHt7IGNvbm58cXRJZGVudChfKCdJbmRleCB0dXBs ZXMgZmV0Y2hlZCcpKSB9fSwKICAgICBpZHhfYmxrc19yZWFkIEFTIHt7IGNv bm58cXRJZGVudChfKCdJbmRleCBibG9ja3MgcmVhZCcpKSB9fSwKICAgICBp ZHhfYmxrc19oaXQgQVMge3sgY29ubnxxdElkZW50KF8oJ0luZGV4IGJsb2Nr cyBoaXQnKSkgfX0sCi0gICAgcGdfc2l6ZV9wcmV0dHkocGdfcmVsYXRpb25f c2l6ZSh7eyBleGlkIH19OjpPSUQpKSBBUyB7eyBjb25ufHF0SWRlbnQoXygn SW5kZXggc2l6ZScpKSB9fQorICAgIHBnX3JlbGF0aW9uX3NpemUoe3sgZXhp ZCB9fTo6T0lEKSBBUyB7eyBjb25ufHF0SWRlbnQoXygnSW5kZXggc2l6ZScp KSB9fQogeyM9PT0gRXh0ZW5kZWQgc3RhdHMgPT09I30KIHslIGlmIGlzX3Bn c3RhdHR1cGxlICV9CiAgICAgLHZlcnNpb24gQVMge3sgY29ubnxxdElkZW50 KF8oJ1ZlcnNpb24nKSkgfX0sCiAgICAgdHJlZV9sZXZlbCBBUyB7eyBjb25u fHF0SWRlbnQoXygnVHJlZSBsZXZlbCcpKSB9fSwKLSAgICBwZ19zaXplX3By ZXR0eShpbmRleF9zaXplKSBBUyB7eyBjb25ufHF0SWRlbnQoXygnSW5kZXgg c2l6ZScpKSB9fSwKKyAgICBpbmRleF9zaXplIEFTIHt7IGNvbm58cXRJZGVu dChfKCdJbmRleCBzaXplJykpIH19LAogICAgIHJvb3RfYmxvY2tfbm8gQVMg e3sgY29ubnxxdElkZW50KF8oJ1Jvb3QgYmxvY2sgbm8nKSkgfX0sCiAgICAg aW50ZXJuYWxfcGFnZXMgQVMge3sgY29ubnxxdElkZW50KF8oJ0ludGVybmFs IHBhZ2VzJykpIH19LAogICAgIGxlYWZfcGFnZXMgQVMge3sgY29ubnxxdElk ZW50KF8oJ0xlYWYgcGFnZXMnKSkgfX0sCmRpZmYgLS1naXQgYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy90YWJsZXMvdGVtcGxhdGVzL2luZGV4L3NxbC9kZWZhdWx0L2Nv bGxfc3RhdHMuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3RlbXBsYXRl cy9pbmRleC9zcWwvZGVmYXVsdC9jb2xsX3N0YXRzLnNxbAppbmRleCBiY2Ey ZDA5Li42Y2FkZTZmIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJs ZXMvdGVtcGxhdGVzL2luZGV4L3NxbC9kZWZhdWx0L2NvbGxfc3RhdHMuc3Fs CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy90ZW1wbGF0ZXMvaW5kZXgv c3FsL2RlZmF1bHQvY29sbF9zdGF0cy5zcWwKQEAgLTMsNyArMyw3IEBAIFNF TEVDVAogICAgIGlkeF9zY2FuIEFTIHt7IGNvbm58cXRJZGVudChfKCdJbmRl eCBzY2FucycpKSB9fSwKICAgICBpZHhfdHVwX3JlYWQgQVMge3sgY29ubnxx dElkZW50KF8oJ0luZGV4IHR1cGxlcyByZWFkJykpIH19LAogICAgIGlkeF90 dXBfZmV0Y2ggQVMge3sgY29ubnxxdElkZW50KF8oJ0luZGV4IHR1cGxlcyBm ZXRjaGVkJykpIH19LAotICAgIHBnX3NpemVfcHJldHR5KHBnX3JlbGF0aW9u X3NpemUoaW5kZXhyZWxpZCkpIEFTIHt7IGNvbm58cXRJZGVudChfKCdTaXpl JykpIH19CisgICAgcGdfcmVsYXRpb25fc2l6ZShpbmRleHJlbGlkKSBBUyB7 eyBjb25ufHF0SWRlbnQoXygnU2l6ZScpKSB9fQogRlJPTQogICAgIHBnX3N0 YXRfYWxsX2luZGV4ZXMgc3RhdAogICAgIEpPSU4gcGdfY2xhc3MgY2xzIE9O IGNscy5vaWQ9aW5kZXhyZWxpZApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVt YXMvdGFibGVzL3RlbXBsYXRlcy9pbmRleC9zcWwvZGVmYXVsdC9zdGF0cy5z cWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxhdGVzL2luZGV4L3Nx bC9kZWZhdWx0L3N0YXRzLnNxbAppbmRleCA0NDU3MWU2Li40NTlhN2FhIDEw MDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxhdGVzL2lu ZGV4L3NxbC9kZWZhdWx0L3N0YXRzLnNxbAorKysgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1h cy90YWJsZXMvdGVtcGxhdGVzL2luZGV4L3NxbC9kZWZhdWx0L3N0YXRzLnNx bApAQCAtNCwxMiArNCwxMiBAQCBTRUxFQ1QKICAgICBpZHhfdHVwX2ZldGNo IEFTIHt7IGNvbm58cXRJZGVudChfKCdJbmRleCB0dXBsZXMgZmV0Y2hlZCcp KSB9fSwKICAgICBpZHhfYmxrc19yZWFkIEFTIHt7IGNvbm58cXRJZGVudChf KCdJbmRleCBibG9ja3MgcmVhZCcpKSB9fSwKICAgICBpZHhfYmxrc19oaXQg QVMge3sgY29ubnxxdElkZW50KF8oJ0luZGV4IGJsb2NrcyBoaXQnKSkgfX0s Ci0gICAgcGdfc2l6ZV9wcmV0dHkocGdfcmVsYXRpb25fc2l6ZSh7eyBpZHgg fX06Ok9JRCkpIEFTIHt7IGNvbm58cXRJZGVudChfKCdJbmRleCBzaXplJykp IH19CisgICAgcGdfcmVsYXRpb25fc2l6ZSh7eyBpZHggfX06Ok9JRCkgQVMg e3sgY29ubnxxdElkZW50KF8oJ0luZGV4IHNpemUnKSkgfX0KIHsjPT09IEV4 dGVuZGVkIHN0YXRzID09PSN9CiB7JSBpZiBpc19wZ3N0YXR0dXBsZSAlfQog ICAgICx2ZXJzaW9uIEFTIHt7IGNvbm58cXRJZGVudChfKCdWZXJzaW9uJykp IH19LAogICAgIHRyZWVfbGV2ZWwgQVMge3sgY29ubnxxdElkZW50KF8oJ1Ry ZWUgbGV2ZWwnKSkgfX0sCi0gICAgcGdfc2l6ZV9wcmV0dHkoaW5kZXhfc2l6 ZSkgQVMge3sgY29ubnxxdElkZW50KF8oJ0luZGV4IHNpemUnKSkgfX0sCisg ICAgaW5kZXhfc2l6ZSBBUyB7eyBjb25ufHF0SWRlbnQoXygnSW5kZXggc2l6 ZScpKSB9fSwKICAgICByb290X2Jsb2NrX25vIEFTIHt7IGNvbm58cXRJZGVu dChfKCdSb290IGJsb2NrIG5vJykpIH19LAogICAgIGludGVybmFsX3BhZ2Vz IEFTIHt7IGNvbm58cXRJZGVudChfKCdJbnRlcm5hbCBwYWdlcycpKSB9fSwK ICAgICBsZWFmX3BhZ2VzIEFTIHt7IGNvbm58cXRJZGVudChfKCdMZWFmIHBh Z2VzJykpIH19LApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVz L3RlbXBsYXRlcy9pbmRleF9jb25zdHJhaW50L3NxbC9zdGF0cy5zcWwgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxhdGVzL2luZGV4X2NvbnN0cmFp bnQvc3FsL3N0YXRzLnNxbAppbmRleCBjMTExYTgzLi43OTNkNzgwIDEwMDY0 NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxhdGVzL2luZGV4 X2NvbnN0cmFpbnQvc3FsL3N0YXRzLnNxbAorKysgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1h cy90YWJsZXMvdGVtcGxhdGVzL2luZGV4X2NvbnN0cmFpbnQvc3FsL3N0YXRz LnNxbApAQCAtNCwxMiArNCwxMiBAQCBTRUxFQ1QKICAgICBpZHhfdHVwX2Zl dGNoIEFTIHt7IGNvbm58cXRJZGVudChfKCdJbmRleCB0dXBsZXMgZmV0Y2hl ZCcpKSB9fSwKICAgICBpZHhfYmxrc19yZWFkIEFTIHt7IGNvbm58cXRJZGVu dChfKCdJbmRleCBibG9ja3MgcmVhZCcpKSB9fSwKICAgICBpZHhfYmxrc19o aXQgQVMge3sgY29ubnxxdElkZW50KF8oJ0luZGV4IGJsb2NrcyBoaXQnKSkg fX0sCi0gICAgcGdfc2l6ZV9wcmV0dHkocGdfcmVsYXRpb25fc2l6ZSh7eyBj aWQgfX06Ok9JRCkpIEFTIHt7IGNvbm58cXRJZGVudChfKCdJbmRleCBzaXpl JykpIH19CisgICAgcGdfcmVsYXRpb25fc2l6ZSh7eyBjaWQgfX06Ok9JRCkg QVMge3sgY29ubnxxdElkZW50KF8oJ0luZGV4IHNpemUnKSkgfX0KIHsjPT09 IEV4dGVuZGVkIHN0YXRzID09PSN9CiB7JSBpZiBpc19wZ3N0YXR0dXBsZSAl fQogICAgICx2ZXJzaW9uIEFTIHt7IGNvbm58cXRJZGVudChfKCdWZXJzaW9u JykpIH19LAogICAgIHRyZWVfbGV2ZWwgQVMge3sgY29ubnxxdElkZW50KF8o J1RyZWUgbGV2ZWwnKSkgfX0sCi0gICAgcGdfc2l6ZV9wcmV0dHkoaW5kZXhf c2l6ZSkgQVMge3sgY29ubnxxdElkZW50KF8oJ0luZGV4IHNpemUnKSkgfX0s CisgICAgaW5kZXhfc2l6ZSBBUyB7eyBjb25ufHF0SWRlbnQoXygnSW5kZXgg c2l6ZScpKSB9fSwKICAgICByb290X2Jsb2NrX25vIEFTIHt7IGNvbm58cXRJ ZGVudChfKCdSb290IGJsb2NrIG5vJykpIH19LAogICAgIGludGVybmFsX3Bh Z2VzIEFTIHt7IGNvbm58cXRJZGVudChfKCdJbnRlcm5hbCBwYWdlcycpKSB9 fSwKICAgICBsZWFmX3BhZ2VzIEFTIHt7IGNvbm58cXRJZGVudChfKCdMZWFm IHBhZ2VzJykpIH19LApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFi bGVzL3RlbXBsYXRlcy90YWJsZS9qcy90YWJsZS5qcyBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL3RhYmxlcy90ZW1wbGF0ZXMvdGFibGUvanMvdGFibGUuanMKaW5kZXgg MzQ4N2U3ZS4uYmY2Yjc2ZiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv dGFibGVzL3RlbXBsYXRlcy90YWJsZS9qcy90YWJsZS5qcworKysgYi93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxhdGVzL3RhYmxlL2pzL3RhYmxlLmpz CkBAIC0xMyw3ICsxMywxMCBAQCBmdW5jdGlvbigkLCBfLCBTLCBwZ0FkbWlu LCBwZ0Jyb3dzZXIsIGFsZXJ0aWZ5KSB7CiAgICAgICAgIGxhYmVsOiAne3sg XygnVGFibGVzJykgfX0nLAogICAgICAgICB0eXBlOiAnY29sbC10YWJsZScs CiAgICAgICAgIGNvbHVtbnM6IFsnbmFtZScsICdyZWxvd25lcicsICdkZXNj cmlwdGlvbiddLAotICAgICAgICBoYXNTdGF0aXN0aWNzOiB0cnVlCisgICAg ICAgIGhhc1N0YXRpc3RpY3M6IHRydWUsCisgICAgICAgIHN0YXRzUHJldHRp ZnlGaWVsZHM6IFsnU2l6ZScsICdJbmRleGVzIHNpemUnLCAnVGFibGUgc2l6 ZScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVG9hc3QgdGFi bGUgc2l6ZScsICdUdXBsZSBsZW5ndGgnLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ0RlYWQgdHVwbGUgbGVuZ3RoJywgJ0ZyZWUgc3BhY2Un XQogICAgICAgfSk7CiAgIH07CiAKQEAgLTI1LDYgKzI4LDkgQEAgZnVuY3Rp b24oJCwgXywgUywgcGdBZG1pbiwgcGdCcm93c2VyLCBhbGVydGlmeSkgewog ICAgICAgaGFzU1FMOiB0cnVlLAogICAgICAgaGFzRGVwZW5kczogdHJ1ZSwK ICAgICAgIGhhc1N0YXRpc3RpY3M6IHRydWUsCisgICAgICBzdGF0c1ByZXR0 aWZ5RmllbGRzOiBbJ1NpemUnLCAnSW5kZXhlcyBzaXplJywgJ1RhYmxlIHNp emUnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUb2FzdCB0YWJs ZSBzaXplJywgJ1R1cGxlIGxlbmd0aCcsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ0RlYWQgdHVwbGUgbGVuZ3RoJywgJ0ZyZWUgc3BhY2UnXSwK ICAgICAgIHNxbEFsdGVySGVscDogJ3NxbC1hbHRlcnRhYmxlLmh0bWwnLAog ICAgICAgc3FsQ3JlYXRlSGVscDogJ3NxbC1jcmVhdGV0YWJsZS5odG1sJywK ICAgICAgIGRpYWxvZ0hlbHA6ICd7eyB1cmxfZm9yKCdoZWxwLnN0YXRpYycs IGZpbGVuYW1lPSd0YWJsZV9kaWFsb2cuaHRtbCcpIH19JywKZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy90ZW1wbGF0ZXMvdGFibGUvc3Fs L2RlZmF1bHQvY29sbF90YWJsZV9zdGF0cy5zcWwgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1h cy90YWJsZXMvdGVtcGxhdGVzL3RhYmxlL3NxbC9kZWZhdWx0L2NvbGxfdGFi bGVfc3RhdHMuc3FsCmluZGV4IGVlM2ZmYTMuLjYzYTY4MjYgMTAwNjQ0Ci0t LSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy90ZW1wbGF0ZXMvdGFibGUvc3Fs L2RlZmF1bHQvY29sbF90YWJsZV9zdGF0cy5zcWwKKysrIGIvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvdGFibGVzL3RlbXBsYXRlcy90YWJsZS9zcWwvZGVmYXVsdC9jb2xs X3RhYmxlX3N0YXRzLnNxbApAQCAtMTQsMTIgKzE0LDEyIEBAIFNFTEVDVAog ICAgIGF1dG92YWN1dW1fY291bnQgQVMge3sgY29ubnxxdElkZW50KF8oJ0F1 dG92YWN1dW0gY291bnRlcicpKSB9fSwKICAgICBhbmFseXplX2NvdW50IEFT IHt7IGNvbm58cXRJZGVudChfKCdBbmFseXplIGNvdW50ZXInKSkgfX0sCiAg ICAgYXV0b2FuYWx5emVfY291bnQgQVMge3sgY29ubnxxdElkZW50KF8oJ0F1 dG9hbmFseXplIGNvdW50ZXInKSkgfX0sCi0gICAgcGdfc2l6ZV9wcmV0dHko cGdfcmVsYXRpb25fc2l6ZShzdC5yZWxpZCkKKyAgICBwZ19yZWxhdGlvbl9z aXplKHN0LnJlbGlkKQogICAgICAgICArIENBU0UgV0hFTiBjbC5yZWx0b2Fz dHJlbGlkID0gMCBUSEVOIDAgRUxTRSBwZ19yZWxhdGlvbl9zaXplKGNsLnJl bHRvYXN0cmVsaWQpCiAgICAgICAgICsgQ09BTEVTQ0UoKFNFTEVDVCBTVU0o cGdfcmVsYXRpb25fc2l6ZShpbmRleHJlbGlkKSkKICAgICAgICAgICAgICAg ICAgICAgICAgIEZST00gcGdfaW5kZXggV0hFUkUgaW5kcmVsaWQ9Y2wucmVs dG9hc3RyZWxpZCk6OmludDgsIDApIEVORAogICAgICAgICArIENPQUxFU0NF KChTRUxFQ1QgU1VNKHBnX3JlbGF0aW9uX3NpemUoaW5kZXhyZWxpZCkpCi0g ICAgICAgICAgICAgICAgICAgICAgICBGUk9NIHBnX2luZGV4IFdIRVJFIGlu ZHJlbGlkPXN0LnJlbGlkKTo6aW50OCwgMCkpIEFTIHt7IGNvbm58cXRJZGVu dChfKCdTaXplJykpIH19CisgICAgICAgICAgICAgICAgICAgICAgICBGUk9N IHBnX2luZGV4IFdIRVJFIGluZHJlbGlkPXN0LnJlbGlkKTo6aW50OCwgMCkg QVMge3sgY29ubnxxdElkZW50KF8oJ1NpemUnKSkgfX0KIEZST00KICAgICBw Z19zdGF0X2FsbF90YWJsZXMgc3QKIEpPSU4KZGlmZiAtLWdpdCBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL3RhYmxlcy90ZW1wbGF0ZXMvdGFibGUvc3FsL2RlZmF1bHQv c3RhdHMuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3RlbXBsYXRlcy90 YWJsZS9zcWwvZGVmYXVsdC9zdGF0cy5zcWwKaW5kZXggNmE3M2U1My4uMzAx MzdhOCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3RlbXBs YXRlcy90YWJsZS9zcWwvZGVmYXVsdC9zdGF0cy5zcWwKKysrIGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvdGFibGVzL3RlbXBsYXRlcy90YWJsZS9zcWwvZGVmYXVsdC9z dGF0cy5zcWwKQEAgLTI1LDIzICsyNSwyMyBAQCBTRUxFQ1QKICAgICBhdXRv dmFjdXVtX2NvdW50IEFTIHt7IGNvbm58cXRJZGVudChfKCdBdXRvdmFjdXVt IGNvdW50ZXInKSkgfX0sCiAgICAgYW5hbHl6ZV9jb3VudCBBUyB7eyBjb25u fHF0SWRlbnQoXygnQW5hbHl6ZSBjb3VudGVyJykpIH19LAogICAgIGF1dG9h bmFseXplX2NvdW50IEFTIHt7IGNvbm58cXRJZGVudChfKCdBdXRvYW5hbHl6 ZSBjb3VudGVyJykpIH19LAotICAgIHBnX3NpemVfcHJldHR5KHBnX3JlbGF0 aW9uX3NpemUoc3RhdC5yZWxpZCkpIEFTIHt7IGNvbm58cXRJZGVudChfKCdU YWJsZSBzaXplJykpIH19LAotICAgIENBU0UgV0hFTiBjbC5yZWx0b2FzdHJl bGlkID0gMCBUSEVOIE5VTEwgRUxTRSBwZ19zaXplX3ByZXR0eShwZ19yZWxh dGlvbl9zaXplKGNsLnJlbHRvYXN0cmVsaWQpCisgICAgcGdfcmVsYXRpb25f c2l6ZShzdGF0LnJlbGlkKSBBUyB7eyBjb25ufHF0SWRlbnQoXygnVGFibGUg c2l6ZScpKSB9fSwKKyAgICBDQVNFIFdIRU4gY2wucmVsdG9hc3RyZWxpZCA9 IDAgVEhFTiBOVUxMIEVMU0UgcGdfcmVsYXRpb25fc2l6ZShjbC5yZWx0b2Fz dHJlbGlkKQogICAgICAgICArIENPQUxFU0NFKChTRUxFQ1QgU1VNKHBnX3Jl bGF0aW9uX3NpemUoaW5kZXhyZWxpZCkpCi0gICAgICAgICAgICAgICAgICAg ICAgICBGUk9NIHBnX2luZGV4IFdIRVJFIGluZHJlbGlkPWNsLnJlbHRvYXN0 cmVsaWQpOjppbnQ4LCAwKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIEZS T00gcGdfaW5kZXggV0hFUkUgaW5kcmVsaWQ9Y2wucmVsdG9hc3RyZWxpZCk6 OmludDgsIDApCiAgICAgICAgIEVORCBBUyB7eyBjb25ufHF0SWRlbnQoXygn VG9hc3QgdGFibGUgc2l6ZScpKSB9fSwKLSAgICBwZ19zaXplX3ByZXR0eShD T0FMRVNDRSgoU0VMRUNUIFNVTShwZ19yZWxhdGlvbl9zaXplKGluZGV4cmVs aWQpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGUk9NIHBn X2luZGV4IFdIRVJFIGluZHJlbGlkPXN0YXQucmVsaWQpOjppbnQ4LCAwKSkK KyAgICBDT0FMRVNDRSgoU0VMRUNUIFNVTShwZ19yZWxhdGlvbl9zaXplKGlu ZGV4cmVsaWQpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBG Uk9NIHBnX2luZGV4IFdIRVJFIGluZHJlbGlkPXN0YXQucmVsaWQpOjppbnQ4 LCAwKQogICAgICAgICBBUyB7eyBjb25ufHF0SWRlbnQoXygnSW5kZXhlcyBz aXplJykpIH19CiB7JSBpZiBpc19wZ3N0YXR0dXBsZSAlfQogeyM9PSBFWFRF TkRFRCBTVEFUUyA9PSN9CiAgICAgLHR1cGxlX2NvdW50IEFTIHt7IGNvbm58 cXRJZGVudChfKCdUdXBsZSBjb3VudCcpKSB9fSwKLSAgICBwZ19zaXplX3By ZXR0eSh0dXBsZV9sZW4pIEFTIHt7IGNvbm58cXRJZGVudChfKCdUdXBsZSBs ZW5ndGgnKSkgfX0sCisgICAgdHVwbGVfbGVuIEFTIHt7IGNvbm58cXRJZGVu dChfKCdUdXBsZSBsZW5ndGgnKSkgfX0sCiAgICAgdHVwbGVfcGVyY2VudCBB UyB7eyBjb25ufHF0SWRlbnQoXygnVHVwbGUgcGVyY2VudCcpKSB9fSwKICAg ICBkZWFkX3R1cGxlX2NvdW50IEFTIHt7IGNvbm58cXRJZGVudChfKCdEZWFk IHR1cGxlIGNvdW50JykpIH19LAotICAgIHBnX3NpemVfcHJldHR5KGRlYWRf dHVwbGVfbGVuKSBBUyB7eyBjb25ufHF0SWRlbnQoXygnRGVhZCB0dXBsZSBs ZW5ndGgnKSkgfX0sCisgICAgZGVhZF90dXBsZV9sZW4gQVMge3sgY29ubnxx dElkZW50KF8oJ0RlYWQgdHVwbGUgbGVuZ3RoJykpIH19LAogICAgIGRlYWRf dHVwbGVfcGVyY2VudCBBUyB7eyBjb25ufHF0SWRlbnQoXygnRGVhZCB0dXBs ZSBwZXJjZW50JykpIH19LAotICAgIHBnX3NpemVfcHJldHR5KGZyZWVfc3Bh Y2UpIEFTIHt7IGNvbm58cXRJZGVudChfKCdGcmVlIHNwYWNlJykpIH19LAor ICAgIGZyZWVfc3BhY2UgQVMge3sgY29ubnxxdElkZW50KF8oJ0ZyZWUgc3Bh Y2UnKSkgfX0sCiAgICAgZnJlZV9wZXJjZW50IEFTIHt7IGNvbm58cXRJZGVu dChfKCdGcmVlIHBlcmNlbnQnKSkgfX0KIEZST00KICAgICBwZ3N0YXR0dXBs ZSgne3tzY2hlbWFfbmFtZX19Lnt7dGFibGVfbmFtZX19JyksIHBnX3N0YXRf YWxsX3RhYmxlcyBzdGF0CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvdGVtcGxhdGVz L2RhdGFiYXNlcy9qcy9kYXRhYmFzZXMuanMgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvdGVtcGxhdGVz L2RhdGFiYXNlcy9qcy9kYXRhYmFzZXMuanMKaW5kZXggYzU2N2ZiNy4uYmJl NzNmZSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3RlbXBsYXRlcy9kYXRhYmFzZXMv anMvZGF0YWJhc2VzLmpzCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy90ZW1wbGF0ZXMvZGF0YWJh c2VzL2pzL2RhdGFiYXNlcy5qcwpAQCAtMTIsNyArMTIsOCBAQCBmdW5jdGlv bigkLCBfLCBTLCBwZ0FkbWluLCBwZ0Jyb3dzZXIsIEFsZXJ0aWZ5KSB7CiAg ICAgICAgIGxhYmVsOiAne3sgXygnRGF0YWJhc2VzJykgfX0nLAogICAgICAg ICB0eXBlOiAnY29sbC1kYXRhYmFzZScsCiAgICAgICAgIGNvbHVtbnM6IFsn bmFtZScsICdkYXRvd25lcicsICdjb21tZW50cyddLAotICAgICAgICBoYXNT dGF0aXN0aWNzOiB0cnVlCisgICAgICAgIGhhc1N0YXRpc3RpY3M6IHRydWUs CisgICAgICAgIHN0YXRzUHJldHRpZnlGaWVsZHM6IFsnU2l6ZScsICdTaXpl IG9mIHRlbXBvcmFyeSBmaWxlcyddCiAgICAgICB9KTsKICAgfTsKIApAQCAt MjYsNiArMjcsNyBAQCBmdW5jdGlvbigkLCBfLCBTLCBwZ0FkbWluLCBwZ0Jy b3dzZXIsIEFsZXJ0aWZ5KSB7CiAgICAgICBoYXNTUUw6IHRydWUsCiAgICAg ICBoYXNEZXBlbmRzOiB0cnVlLAogICAgICAgaGFzU3RhdGlzdGljczogdHJ1 ZSwKKyAgICAgIHN0YXRzUHJldHRpZnlGaWVsZHM6IFsnU2l6ZScsICdTaXpl IG9mIHRlbXBvcmFyeSBmaWxlcyddLAogICAgICAgY2FuRHJvcDogZnVuY3Rp b24obm9kZSkgewogICAgICAgICByZXR1cm4gbm9kZS5jYW5Ecm9wOwogICAg ICAgfSwKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy90ZW1wbGF0ZXMvZGF0YWJhc2Vz L3NxbC85LjJfcGx1cy9zdGF0cy5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvdGVtcGxhdGVzL2Rh dGFiYXNlcy9zcWwvOS4yX3BsdXMvc3RhdHMuc3FsCmluZGV4IGUwYzdlNmIu LjViMTkyNDMgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy90ZW1wbGF0ZXMvZGF0YWJh c2VzL3NxbC85LjJfcGx1cy9zdGF0cy5zcWwKKysrIGIvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3RlbXBs YXRlcy9kYXRhYmFzZXMvc3FsLzkuMl9wbHVzL3N0YXRzLnNxbApAQCAtMTcs MTEgKzE3LDExIEBAIFNFTEVDVAogICAgIHNsYXZlLmNvbmZsX2J1ZmZlcnBp biBBUyB7eyBjb25ufHF0SWRlbnQoXygnQnVmZmVycGluIGNvbmZsaWN0cycp KSB9fSwKICAgICBzbGF2ZS5jb25mbF9kZWFkbG9jayBBUyB7eyBjb25ufHF0 SWRlbnQoXygnRGVhZGxvY2sgY29uZmxpY3RzJykpIH19LAogICAgIHRlbXBf ZmlsZXMgQVMge3sgY29ubnxxdElkZW50KF8oIlRlbXBvcmFyeSBmaWxlcyIp KSB9fSwKLSAgICBwZ19zaXplX3ByZXR0eSh0ZW1wX2J5dGVzKSBBUyB7eyBj b25ufHF0SWRlbnQoXygiU2l6ZSBvZiB0ZW1wb3JhcnkgZmlsZXMiKSkgfX0s CisgICAgdGVtcF9ieXRlcyBBUyB7eyBjb25ufHF0SWRlbnQoXygiU2l6ZSBv ZiB0ZW1wb3JhcnkgZmlsZXMiKSkgfX0sCiAgICAgZGVhZGxvY2tzIEFTIHt7 IGNvbm58cXRJZGVudChfKCJEZWFkbG9ja3MiKSkgfX0sCiAgICAgYmxrX3Jl YWRfdGltZSBBUyB7eyBjb25ufHF0SWRlbnQoXygiQmxvY2sgcmVhZCB0aW1l IikpIH19LAogICAgIGJsa193cml0ZV90aW1lIEFTIHt7IGNvbm58cXRJZGVu dChfKCJCbG9jayB3cml0ZSB0aW1lIikpIH19LAotICAgIHBnX3NpemVfcHJl dHR5KHBnX2RhdGFiYXNlX3NpemUoZGIuZGF0aWQpKSBBUyB7eyBjb25ufHF0 SWRlbnQoXygnU2l6ZScpKSB9fQorICAgIHBnX2RhdGFiYXNlX3NpemUoZGIu ZGF0aWQpIEFTIHt7IGNvbm58cXRJZGVudChfKCdTaXplJykpIH19CiBGUk9N CiAgICAgcGdfc3RhdF9kYXRhYmFzZSBkYgogICAgIExFRlQgSk9JTiBwZ19z dGF0X2RhdGFiYXNlX2NvbmZsaWN0cyBzbGF2ZSBPTiBkYi5kYXRpZD1zbGF2 ZS5kYXRpZApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3RlbXBsYXRlcy9kYXRhYmFz ZXMvc3FsL2RlZmF1bHQvc3RhdHMuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3RlbXBsYXRlcy9k YXRhYmFzZXMvc3FsL2RlZmF1bHQvc3RhdHMuc3FsCmluZGV4IDgyYjUyZDAu LjRmMjNiOWQgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy90ZW1wbGF0ZXMvZGF0YWJh c2VzL3NxbC9kZWZhdWx0L3N0YXRzLnNxbAorKysgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvdGVtcGxh dGVzL2RhdGFiYXNlcy9zcWwvZGVmYXVsdC9zdGF0cy5zcWwKQEAgLTE2LDcg KzE2LDcgQEAgU0VMRUNUCiAgICAgc2xhdmUuY29uZmxfc25hcHNob3QgQVMg e3sgY29ubnxxdElkZW50KF8oJ1NuYXBzaG90IGNvbmZsaWN0cycpKSB9fSwK ICAgICBzbGF2ZS5jb25mbF9idWZmZXJwaW4gQVMge3sgY29ubnxxdElkZW50 KF8oJ0J1ZmZlcnBpbiBjb25mbGljdHMnKSkgfX0sCiAgICAgc2xhdmUuY29u ZmxfZGVhZGxvY2sgQVMge3sgY29ubnxxdElkZW50KF8oJ0RlYWRsb2NrIGNv bmZsaWN0cycpKSB9fSwKLSAgICBwZ19zaXplX3ByZXR0eShwZ19kYXRhYmFz ZV9zaXplKGRiLmRhdGlkKSkgQVMge3sgY29ubnxxdElkZW50KF8oJ1NpemUn KSkgfX0KKyAgICBwZ19kYXRhYmFzZV9zaXplKGRiLmRhdGlkKSBBUyB7eyBj b25ufHF0SWRlbnQoXygnU2l6ZScpKSB9fQogRlJPTQogICAgIHBnX3N0YXRf ZGF0YWJhc2UgZGIKICAgICBMRUZUIEpPSU4gcGdfc3RhdF9kYXRhYmFzZV9j b25mbGljdHMgc2xhdmUgT04gZGIuZGF0aWQ9c2xhdmUuZGF0aWQKZGlmZiAt LWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL3RhYmxlc3BhY2VzL3RlbXBsYXRlcy90YWJsZXNwYWNlcy9qcy90YWJs ZXNwYWNlcy5qcyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL3RhYmxlc3BhY2VzL3RlbXBsYXRlcy90YWJsZXNwYWNlcy9q cy90YWJsZXNwYWNlcy5qcwppbmRleCA2MDEzNzJlLi4xNGZlYjgwIDEwMDY0 NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy90YWJsZXNwYWNlcy90ZW1wbGF0ZXMvdGFibGVzcGFjZXMvanMvdGFi bGVzcGFjZXMuanMKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvdGFibGVzcGFjZXMvdGVtcGxhdGVzL3RhYmxlc3Bh Y2VzL2pzL3RhYmxlc3BhY2VzLmpzCkBAIC05LDcgKzksOCBAQCBmdW5jdGlv bigkLCBfLCBTLCBwZ0FkbWluLCBwZ0Jyb3dzZXIsIGFsZXJ0aWZ5KSB7CiAg ICAgICAgIGxhYmVsOiAne3sgXygnVGFibGVzcGFjZXMnKSB9fScsCiAgICAg ICAgIHR5cGU6ICdjb2xsLXRhYmxlc3BhY2UnLAogICAgICAgICBjb2x1bW5z OiBbJ25hbWUnLCAnc3BjdXNlcicsICdkZXNjcmlwdGlvbiddLAotICAgICAg ICBoYXNTdGF0aXN0aWNzOiB0cnVlCisgICAgICAgIGhhc1N0YXRpc3RpY3M6 IHRydWUsCisgICAgICAgIHN0YXRzUHJldHRpZnlGaWVsZHM6IFsnU2l6ZSdd CiAgICAgICB9KTsKICAgfTsKIApAQCAtMjUsNiArMjYsNyBAQCBmdW5jdGlv bigkLCBfLCBTLCBwZ0FkbWluLCBwZ0Jyb3dzZXIsIGFsZXJ0aWZ5KSB7CiAg ICAgICBjYW5Ecm9wOiB0cnVlLAogICAgICAgaGFzRGVwZW5kczogdHJ1ZSwK ICAgICAgIGhhc1N0YXRpc3RpY3M6IHRydWUsCisgICAgICBzdGF0c1ByZXR0 aWZ5RmllbGRzOiBbJ1NpemUnXSwKICAgICAgIEluaXQ6IGZ1bmN0aW9uKCkg ewogICAgICAgICAvKiBBdm9pZCBtdWxpdHBsZSByZWdpc3RyYXRpb24gb2Yg bWVudXMgKi8KICAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpCmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy90YWJsZXNwYWNlcy90ZW1wbGF0ZXMvdGFibGVzcGFjZXMvc3FsL2Rl ZmF1bHQvc3RhdHMuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvdGFibGVzcGFjZXMvdGVtcGxhdGVzL3RhYmxlc3Bh Y2VzL3NxbC9kZWZhdWx0L3N0YXRzLnNxbAppbmRleCAzZjkxYjAyLi41ZmM0 MjllIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy90YWJsZXNwYWNlcy90ZW1wbGF0ZXMvdGFibGVzcGFj ZXMvc3FsL2RlZmF1bHQvc3RhdHMuc3FsCisrKyBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3RhYmxlc3BhY2VzL3RlbXBs YXRlcy90YWJsZXNwYWNlcy9zcWwvZGVmYXVsdC9zdGF0cy5zcWwKQEAgLTEs OSArMSw5IEBACiB7IyMjIFNRTCB0byBmZXRjaCB0YWJsZXNwYWNlIG9iamVj dCBzdGF0cyAjIyN9CiB7JSBpZiB0c2lkICV9Ci1TRUxFQ1QgcGdfc2l6ZV9w cmV0dHkocGdfdGFibGVzcGFjZV9zaXplKHt7IHRzaWR8cXRMaXRlcmFsIH19 OjpPSUQpKSBBUyB7eyBjb25ufHF0SWRlbnQoXygnU2l6ZScpKSB9fQorU0VM RUNUIHBnX3RhYmxlc3BhY2Vfc2l6ZSh7eyB0c2lkfHF0TGl0ZXJhbCB9fTo6 T0lEKSBBUyB7eyBjb25ufHF0SWRlbnQoXygnU2l6ZScpKSB9fQogeyUgZWxz ZSAlfQogU0VMRUNUIHRzLnNwY25hbWUgQVMge3sgY29ubnxxdElkZW50KF8o J05hbWUnKSkgfX0sCi0gICAgcGdfc2l6ZV9wcmV0dHkocGdfdGFibGVzcGFj ZV9zaXplKHRzLm9pZCkpIEFTIHt7IGNvbm58cXRJZGVudChfKCdTaXplJykp IH19CisgICAgcGdfdGFibGVzcGFjZV9zaXplKHRzLm9pZCkgQVMge3sgY29u bnxxdElkZW50KF8oJ1NpemUnKSkgfX0KIEZST00KICAgICBwZ19jYXRhbG9n LnBnX3RhYmxlc3BhY2UgdHM7CiB7JSBlbmRpZiAlfQpkaWZmIC0tZ2l0IGEv d2ViL3BnYWRtaW4vbWlzYy9zdGF0aXN0aWNzL3N0YXRpYy9qcy9zdGF0aXN0 aWNzLmpzIGIvd2ViL3BnYWRtaW4vbWlzYy9zdGF0aXN0aWNzL3N0YXRpYy9q cy9zdGF0aXN0aWNzLmpzCmluZGV4IDExOTFiMTYuLmUxYmJkNTUgMTAwNjQ0 Ci0tLSBhL3dlYi9wZ2FkbWluL21pc2Mvc3RhdGlzdGljcy9zdGF0aWMvanMv c3RhdGlzdGljcy5qcworKysgYi93ZWIvcGdhZG1pbi9taXNjL3N0YXRpc3Rp Y3Mvc3RhdGljL2pzL3N0YXRpc3RpY3MuanMKQEAgLTEsNyArMSw3IEBACiBk ZWZpbmUoWwogICAndW5kZXJzY29yZScsICd1bmRlcnNjb3JlLnN0cmluZycs ICdqcXVlcnknLCAncGdhZG1pbi5icm93c2VyJywgJ2JhY2tncmlkJywKLSAg J2FsZXJ0aWZ5JywgJ3djZG9ja2VyJywgJ3BnYWRtaW4uYmFja2dyaWQnLCAn cGdhZG1pbi5hbGVydGlmeWpzJywgJ3BnYWRtaW4uYnJvd3Nlci5tZXNzYWdl cycsCi1dLCBmdW5jdGlvbihfLCBTLCAkLCBwZ0Jyb3dzZXIsIEJhY2tncmlk LCBBbGVydGlmeSkgeworICAnYWxlcnRpZnknLCAnc291cmNlcy9zaXplX3By ZXR0aWZ5JworXSwgZnVuY3Rpb24oXywgUywgJCwgcGdCcm93c2VyLCBCYWNr Z3JpZCwgQWxlcnRpZnksIHNpemVQcmV0dGlmeSkgewogCiAgIGlmIChwZ0Jy b3dzZXIuTm9kZVN0YXRpc3RpY3MpCiAgICAgcmV0dXJuIHBnQnJvd3Nlci5O b2RlU3RhdGlzdGljczsKQEAgLTEyLDYgKzEyLDI1IEBAIGRlZmluZShbCiAg ICAgcmV0dXJuIHBnQnJvd3Nlci5Ob2RlU3RhdGlzdGljczsKICAgfQogCisg IHZhciBTaXplRm9ybWF0dGVyID0gQmFja2dyaWQuU2l6ZUZvcm1hdHRlciA9 IGZ1bmN0aW9uICgpIHt9OworICBfLmV4dGVuZChTaXplRm9ybWF0dGVyLnBy b3RvdHlwZSwgeworICAgICAgLyoqCisgICAgICAgICBUYWtlcyBhIHJhdyB2 YWx1ZSBmcm9tIGEgbW9kZWwgYW5kIHJldHVybnMgdGhlIGh1bWFuIHJlYWRh YmxlIGZvcm1hdHRlZAorICAgICAgICAgc3RyaW5nIGZvciBkaXNwbGF5Lgor CisgICAgICAgICBAbWVtYmVyIEJhY2tncmlkLlNpemVGb3JtYXR0ZXIKKyAg ICAgICAgIEBwYXJhbSB7Kn0gcmF3RGF0YQorICAgICAgICAgQHBhcmFtIHtC YWNrYm9uZS5Nb2RlbH0gbW9kZWwgVXNlZCBmb3IgbW9yZSBjb21wbGljYXRl ZCBmb3JtYXR0aW5nCisgICAgICAgICBAcmV0dXJuIHsqfQorICAgICAgKi8K KyAgICAgIGZyb21SYXc6IGZ1bmN0aW9uIChyYXdEYXRhLCBtb2RlbCkgewor ICAgICAgICByZXR1cm4gc2l6ZVByZXR0aWZ5KHJhd0RhdGEpOworICAgICAg fSwKKyAgICAgIHRvUmF3OiBmdW5jdGlvbiAoZm9ybWF0dGVkRGF0YSwgbW9k ZWwpIHsKKyAgICAgICAgcmV0dXJuIGZvcm1hdHRlZERhdGE7CisgICAgICB9 CisgIH0pOworCiAgIHZhciBQR0Jvb2xlYW5DZWxsID0gQmFja2dyaWQuRXh0 ZW5zaW9uLlN3aXRjaENlbGwuZXh0ZW5kKHsKICAgICAgIGRlZmF1bHRzOiBf LmV4dGVuZCh7fSwgQmFja2dyaWQuRXh0ZW5zaW9uLlN3aXRjaENlbGwucHJv dG90eXBlLmRlZmF1bHRzKQogICB9KSwKQEAgLTIwMCw5ICsyMTksOSBAQCBk ZWZpbmUoWwogICAgICAgICAgICAgICBpZiAocmVzLmRhdGEpIHsKICAgICAg ICAgICAgICAgICB2YXIgZGF0YSA9IHJlcy5kYXRhOwogICAgICAgICAgICAg ICAgIGlmIChub2RlLmhhc0NvbGxlY3RpdmVTdGF0aXN0aWNzIHx8IGRhdGFb J3Jvd3MnXS5sZW5ndGggPiAxKSB7Ci0gICAgICAgICAgICAgICAgICBzZWxm Ll9fY3JlYXRlTXVsdGlMaW5lU3RhdGlzdGljcy5jYWxsKHNlbGYsIGRhdGEp OworICAgICAgICAgICAgICAgICAgc2VsZi5fX2NyZWF0ZU11bHRpTGluZVN0 YXRpc3RpY3MuY2FsbChzZWxmLCBkYXRhLCBub2RlLnN0YXRzUHJldHRpZnlG aWVsZHMpOwogICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg ICAgICAgICBzZWxmLl9fY3JlYXRlU2luZ2xlTGluZVN0YXRpc3RpY3MuY2Fs bChzZWxmLCBkYXRhKTsKKyAgICAgICAgICAgICAgICAgIHNlbGYuX19jcmVh dGVTaW5nbGVMaW5lU3RhdGlzdGljcy5jYWxsKHNlbGYsIGRhdGEsIG5vZGUu c3RhdHNQcmV0dGlmeUZpZWxkcyk7CiAgICAgICAgICAgICAgICAgfQogCiAg ICAgICAgICAgICAgICAgaWYgKHNlbGYuZ3JpZCkgewpAQCAtMjk0LDI0ICsz MTMsMjkgQEAgZGVmaW5lKFsKICAgICAgICAgfQogICAgIH0sCiAKLSAgICBf X2NyZWF0ZU11bHRpTGluZVN0YXRpc3RpY3M6IGZ1bmN0aW9uKGRhdGEpIHsK KyAgICBfX2NyZWF0ZU11bHRpTGluZVN0YXRpc3RpY3M6IGZ1bmN0aW9uKGRh dGEsIHByZXR0aWZ5RmllbGRzKSB7CiAgICAgICB2YXIgcm93cyA9IGRhdGFb J3Jvd3MnXSwKICAgICAgICAgICBjb2x1bW5zID0gZGF0YVsnY29sdW1ucydd OwogCiAgICAgICB0aGlzLmNvbHVtbnMgPSBbXTsKICAgICAgIGZvciAodmFy IGlkeCBpbiBjb2x1bW5zKSB7Ci0gICAgICAgIHZhciBjID0gY29sdW1uc1tp ZHhdOwotICAgICAgICB0aGlzLmNvbHVtbnMucHVzaCh7Ci0gICAgICAgICAg ZWRpdGFibGU6IGZhbHNlLAotICAgICAgICAgIG5hbWU6IGNbJ25hbWUnXSwK LSAgICAgICAgICBjZWxsOiB0eXBlQ2VsbE1hcHBlcltjWyd0eXBlX2NvZGUn XV0gfHwgJ3N0cmluZycKLSAgICAgICAgfSk7CisgICAgICAgIHZhciByYXdD b2x1bW4gPSBjb2x1bW5zW2lkeF0sCisgICAgICAgICAgICBjb2wgPSB7Cisg ICAgICAgICAgICBlZGl0YWJsZTogZmFsc2UsCisgICAgICAgICAgICBuYW1l OiByYXdDb2x1bW5bJ25hbWUnXSwKKyAgICAgICAgICAgIGNlbGw6IHR5cGVD ZWxsTWFwcGVyW3Jhd0NvbHVtblsndHlwZV9jb2RlJ11dIHx8ICdzdHJpbmcn CisgICAgICAgICAgIH07CisgICAgICAgICAgIGlmIChfLmluZGV4T2YocHJl dHRpZnlGaWVsZHMsIHJhd0NvbHVtblsnbmFtZSddKSAhPSAtMSkgeworICAg ICAgICAgICAgY29sWydmb3JtYXR0ZXInXSA9IFNpemVGb3JtYXR0ZXIKKyAg ICAgICAgICAgfQorICAgICAgICB0aGlzLmNvbHVtbnMucHVzaChjb2wpOwor CiAgICAgICB9CiAKICAgICAgIHRoaXMuY29sbGVjdGlvbi5yZXNldChyb3dz KTsKICAgICB9LAogCi0gICAgX19jcmVhdGVTaW5nbGVMaW5lU3RhdGlzdGlj czogZnVuY3Rpb24oZGF0YSkgeworICAgIF9fY3JlYXRlU2luZ2xlTGluZVN0 YXRpc3RpY3M6IGZ1bmN0aW9uKGRhdGEsIHByZXR0aWZ5RmllbGRzKSB7CiAg ICAgICB2YXIgcm93ID0gZGF0YVsncm93cyddWzBdLAogICAgICAgICAgIGNv bHVtbnMgPSBkYXRhWydjb2x1bW5zJ10KICAgICAgICAgICByZXMgPSBbXTsK QEAgLTMyMiw3ICszNDYsNyBAQCBkZWZpbmUoWwogICAgICAgICByZXMucHVz aCh7CiAgICAgICAgICAgJ3N0YXRpc3RpY3MnOiBuYW1lLAogICAgICAgICAg IC8vIENoZWNrIGlmIHJvdyBpcyB1bmRlZmluZWQ/Ci0gICAgICAgICAgJ3Zh bHVlJzogcm93ICYmIHJvd1tuYW1lXSA/IHJvd1tuYW1lXSA6IG51bGwKKyAg ICAgICAgICAndmFsdWUnOiByb3cgJiYgcm93W25hbWVdID8gKChfLmluZGV4 T2YocHJldHRpZnlGaWVsZHMsIG5hbWUpICE9IC0xKSA/IHNpemVQcmV0dGlm eShyb3dbbmFtZV0pIDogcm93W25hbWVdKSA6IG51bGwKICAgICAgICAgfSk7 CiAgICAgICB9CiAKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3N0YXRpYy9q cy9zaXplX3ByZXR0aWZ5LmpzIGIvd2ViL3BnYWRtaW4vc3RhdGljL2pzL3Np emVfcHJldHRpZnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uYWZiNTBiOAotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWlu L3N0YXRpYy9qcy9zaXplX3ByZXR0aWZ5LmpzCkBAIC0wLDAgKzEsMjQgQEAK K2RlZmluZShbXSwKKyAgZnVuY3Rpb24gKCkgeworICAgIHZhciBzaXplUHJl dHRpZnkgPSBmdW5jdGlvbiAocmF3U2l6ZSkgeworICAgICAgdmFyIHNpemUg PSBNYXRoLmFicyhyYXdTaXplKSwKKyAgICAgICAgICBsaW1pdCA9IDEwICog MTAyNCwKKyAgICAgICAgICBsaW1pdDIgPSBsaW1pdCAtIDEsCisgICAgICAg ICAgY250ID0gMCwKKyAgICAgICAgICBzaXplVW5pdHMgPSBbJ2J5dGVzJywg J2tCJywgJ01CJywgJ0dCJywgJ1RCJywgJ1BCJ107CisKKyAgICAgIGlmIChz aXplIDwgbGltaXQpCisgICAgICAgIHJldHVybiBzaXplICsgJyAnICsgc2l6 ZVVuaXRzW2NudF07IC8vIHJldHVybiBpbiBieXRlcyBmb3JtYXQKKyAgICAg IGVsc2UKKyAgICAgIHsKKyAgICAgICAgZG8geworICAgICAgICAgIHNpemUg PSBzaXplIC8gMTAyNDsKKyAgICAgICAgICBjbnQgKz0gMTsKKyAgICAgICAg fSB3aGlsZSAoc2l6ZSA+IGxpbWl0Mik7CisKKyAgICAgICAgcmV0dXJuIE1h dGgucm91bmQoc2l6ZSkgKyAnICcgKyBzaXplVW5pdHNbY250XTsKKyAgICAg IH0KKyAgICB9OworCisgIHJldHVybiBzaXplUHJldHRpZnk7Cit9KTsKZGlm ZiAtLWdpdCBhL3dlYi9yZWdyZXNzaW9uL2phdmFzY3JpcHQvc2l6ZV9wcmV0 dGlmeV9zcGVjLmpzIGIvd2ViL3JlZ3Jlc3Npb24vamF2YXNjcmlwdC9zaXpl X3ByZXR0aWZ5X3NwZWMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uN2QzNzBmYwotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9yZWdy ZXNzaW9uL2phdmFzY3JpcHQvc2l6ZV9wcmV0dGlmeV9zcGVjLmpzCkBAIC0w LDAgKzEsNjggQEAKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisv LworLy8gcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworLy8KKy8vIENv cHlyaWdodCAoQykgMjAxMyAtIDIwMTcsIFRoZSBwZ0FkbWluIERldmVsb3Bt ZW50IFRlYW0KKy8vIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIg dGhlIFBvc3RncmVTUUwgTGljZW5jZQorLy8KKy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vCisKK2RlZmluZShbInNvdXJjZXMvc2l6ZV9wcmV0dGlm eSJdLCBmdW5jdGlvbiAoc2l6ZVByZXR0aWZ5KSB7CisgIGRlc2NyaWJlKCJz aXplUHJldHRpZnkiLCBmdW5jdGlvbiAoKSB7CisgICAgZGVzY3JpYmUoIndo ZW4gc2l6ZSBpcyAwIiwgZnVuY3Rpb24gKCkgeworICAgICAgaXQoInJldHVy bnMgMCBieXRlcyIsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgZXhwZWN0KHNp emVQcmV0dGlmeSgwKSkudG9FcXVhbCgiMCBieXRlcyIpOworICAgICAgfSk7 CisgICAgfSk7CisKKyAgICBkZXNjcmliZSgid2hlbiBzaXplID49IDEwa0Ig YW5kIHNpemUgPCAxMCBNQiIsIGZ1bmN0aW9uICgpIHsKKyAgICAgIGl0KCJy ZXR1cm5zIHNpemUgaW4ga0IiLCBmdW5jdGlvbiAoKSB7CisgICAgICAgIGV4 cGVjdChzaXplUHJldHRpZnkoMTAyNDApKS50b0VxdWFsKCIxMCBrQiIpOwor ICAgICAgfSk7CisKKyAgICAgIGl0KCJyZXR1cm5zIHNpemUgaW4ga0IiLCBm dW5jdGlvbiAoKSB7CisgICAgICAgIGV4cGVjdChzaXplUHJldHRpZnkoOTk5 OTkpKS50b0VxdWFsKCI5OCBrQiIpOworICAgICAgfSk7CisgICAgfSk7CisK KworICAgIGRlc2NyaWJlKCJ3aGVuIHNpemUgPj0gMTBNQiBhbmQgc2l6ZSA8 IDEwIEdCIiwgZnVuY3Rpb24gKCkgeworICAgICAgaXQoInJldHVybnMgc2l6 ZSBpbiBNQiIsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgZXhwZWN0KHNpemVQ cmV0dGlmeSgxMDQ4NTc2MCkpLnRvRXF1YWwoIjEwIE1CIik7CisgICAgICB9 KTsKKworICAgICAgaXQoInJldHVybnMgc2l6ZSBpbiBNQiIsIGZ1bmN0aW9u ICgpIHsKKyAgICAgICAgZXhwZWN0KHNpemVQcmV0dGlmeSg0NDA0MDE5Mikp LnRvRXF1YWwoIjQyIE1CIik7CisgICAgICB9KTsKKyAgICB9KTsKKworCisg ICAgZGVzY3JpYmUoIndoZW4gc2l6ZSA+PSAxMEdCIGFuZCBzaXplIDwgMTAg VEIiLCBmdW5jdGlvbiAoKSB7CisgICAgICBpdCgicmV0dXJucyBzaXplIGlu IEdCIiwgZnVuY3Rpb24gKCkgeworICAgICAgICBleHBlY3Qoc2l6ZVByZXR0 aWZ5KDEwNzM3NDE4MjQwKSkudG9FcXVhbCgiMTAgR0IiKTsKKyAgICAgIH0p OworCisgICAgICBpdCgicmV0dXJucyBzaXplIGluIEdCIiwgZnVuY3Rpb24g KCkgeworICAgICAgICBleHBlY3Qoc2l6ZVByZXR0aWZ5KDEwNzM2MzQ0NDk4 MTc2KSkudG9FcXVhbCgiOTk5OSBHQiIpOworICAgICAgfSk7CisgICAgfSk7 CisKKyAgICBkZXNjcmliZSgid2hlbiBzaXplID49IDEwVEIgYW5kIHNpemUg PCAxMCBQQiIsIGZ1bmN0aW9uICgpIHsKKyAgICAgIGl0KCJyZXR1cm5zIHNp emUgaW4gVEIiLCBmdW5jdGlvbiAoKSB7CisgICAgICAgIGV4cGVjdChzaXpl UHJldHRpZnkoMTA5OTUxMTYyNzc3NjApKS50b0VxdWFsKCIxMCBUQiIpOwor ICAgICAgfSk7CisKKyAgICAgIGl0KCJyZXR1cm5zIHNpemUgaW4gVEIiLCBm dW5jdGlvbiAoKSB7CisgICAgICAgIGV4cGVjdChzaXplUHJldHRpZnkoMjk5 OTUxMTYyNzc3NjApKS50b0VxdWFsKCIyNyBUQiIpOworICAgICAgfSk7Cisg ICAgfSk7CisKKyAgICBkZXNjcmliZSgid2hlbiBzaXplID49IDEwIFBCIiwg ZnVuY3Rpb24gKCkgeworICAgICAgaXQoInJldHVybnMgc2l6ZSBpbiBQQiIs IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgZXhwZWN0KHNpemVQcmV0dGlmeSgx MTI1ODk5OTA2ODQyNjIwMCkpLnRvRXF1YWwoIjEwIFBCIik7CisgICAgICB9 KTsKKworICAgIH0pOworCisgIH0pOworfSk7Cg== --001a11415282eba38e054efde657 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 --001a11415282eba38e054efde657--