<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>169182</bug_id>
          
          <creation_ts>2017-03-05 09:47:43 -0800</creation_ts>
          <short_desc>Currency digits calculation in Intl.NumberFormat should call out to ICU</short_desc>
          <delta_ts>2017-03-15 16:40:33 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Ehrenberg">littledan</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1283592</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Ehrenberg">littledan</who>
    <bug_when>2017-03-05 09:47:43 -0800</bug_when>
    <thetext>Intl.NumberFormat currently uses a fixed list of currencies which have a number of decimal digits different from 2. I wrote a patch to call out to ICU&apos;s function ucurr_getDefaultFractionDigits instead and will shortly upload it as an alternate solution. This is less code and may give an updated list of currencies in the future when ICU updates.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1283593</commentid>
    <comment_count>1</comment_count>
      <attachid>303458</attachid>
    <who name="Daniel Ehrenberg">littledan</who>
    <bug_when>2017-03-05 09:56:39 -0800</bug_when>
    <thetext>Created attachment 303458
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1283713</commentid>
    <comment_count>2</comment_count>
      <attachid>303505</attachid>
    <who name="Daniel Ehrenberg">littledan</who>
    <bug_when>2017-03-06 01:47:20 -0800</bug_when>
    <thetext>Created attachment 303505
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1283715</commentid>
    <comment_count>3</comment_count>
      <attachid>303505</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-03-06 02:00:58 -0800</bug_when>
    <thetext>Comment on attachment 303505
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=303505&amp;action=review

r=me

&gt; Source/JavaScriptCore/ChangeLog:11
&gt; +        (JSC::extractCurrencySortKey): Deleted.

If it involves some behavior change, can you add a test for that? (in JSTests/stress/)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1283725</commentid>
    <comment_count>4</comment_count>
    <who name="Daniel Ehrenberg">littledan</who>
    <bug_when>2017-03-06 03:54:33 -0800</bug_when>
    <thetext>This patch does not involve any behavior change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1283743</commentid>
    <comment_count>5</comment_count>
      <attachid>303505</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-03-06 05:38:39 -0800</bug_when>
    <thetext>Comment on attachment 303505
Patch

OK. I&apos;ve just set cq+. This patch will be landed through the commit queue.
You can set cq=? in addition to r=? to request reviewers / committers to post to cq when r+ is set :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1283747</commentid>
    <comment_count>6</comment_count>
      <attachid>303505</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-06 06:06:21 -0800</bug_when>
    <thetext>Comment on attachment 303505
Patch

Clearing flags on attachment: 303505

Committed r213447: &lt;http://trac.webkit.org/changeset/213447&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1283748</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-06 06:06:25 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285833</commentid>
    <comment_count>8</comment_count>
    <who name="Daniel Ehrenberg">littledan</who>
    <bug_when>2017-03-10 09:57:47 -0800</bug_when>
    <thetext>Sorry, it turns out I was wrong when I thought this patch didn&apos;t change observable behavior. It actually introduces a spec violation, though it matches V8 behavior, and I suspect the right fix is to change the spec eventually. Details are in https://github.com/tc39/ecma402/issues/134 .

Either way, in the short term, maybe this patch should be reverted. Is there a particular procedure for making a revert, or should I just upload another patch that reverts this one?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1287011</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-03-12 20:10:28 -0700</bug_when>
    <thetext>If you haven’t already, please just upload another patch that reverts this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1287012</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-03-12 20:12:04 -0700</bug_when>
    <thetext>It’s often a mistake to use a library directly in WebKit; often the people changing those libraries don’t consider the effect on web technology when they change them. Because of this we often need a white list or other mechanism between WebKit and the underlying library.

(In fact, we likely need to do this for character encodings and ICU if we haven’t done it already.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1287158</commentid>
    <comment_count>11</comment_count>
    <who name="Daniel Ehrenberg">littledan</who>
    <bug_when>2017-03-13 07:13:13 -0700</bug_when>
    <thetext>In this case, the reason why it&apos;s a mistake is very subtle. The library gives linguistically more accurate information than what WebKit uses otherwise. Updates to the library should be for the same goal as providing linguistically accurate information. WebKit makes heavy use of ICU in other places. Chromium has long called out to ICU for this information, and three major browsers use ICU for other parts of Intl.NumberFormat generally. Do you think that WebKit would benefit from reimplementing icu::DecimalFormat to reduce dependency on ICU in its ECMA 402 implementation?

Here, use of the library is disallowed because the specification of JavaScript requires a particular information source with more legalistic and less linguistically relevant data. I&apos;m pursuing a change in the specification at  https://github.com/tc39/ecma402/issues/134 because I think it will give users better behavior.

Anyway, sorry for the churn here! I&apos;ll upload a revert patch soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1287174</commentid>
    <comment_count>12</comment_count>
    <who name="Daniel Ehrenberg">littledan</who>
    <bug_when>2017-03-13 08:58:21 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1287175</commentid>
    <comment_count>13</comment_count>
      <attachid>304259</attachid>
    <who name="Daniel Ehrenberg">littledan</who>
    <bug_when>2017-03-13 08:58:27 -0700</bug_when>
    <thetext>Created attachment 304259
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1287189</commentid>
    <comment_count>14</comment_count>
      <attachid>304259</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-03-13 09:27:57 -0700</bug_when>
    <thetext>Comment on attachment 304259
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=304259&amp;action=review

&gt; Source/JavaScriptCore/ChangeLog:3
&gt; +        Revert patch to call out to ICU for CurrencyDigits

Nit: please say which revision you&apos;re rolling out.

&gt; Source/JavaScriptCore/ChangeLog:5
&gt; +        The previous patch was currently technical invalid because ECMA 402

Style nit: we usually put this after the &quot;reviewed by&quot; line. 
Also, &quot;currently techinical invalid&quot; =&gt; &quot;is technically invalid&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1287230</commentid>
    <comment_count>15</comment_count>
      <attachid>304272</attachid>
    <who name="Daniel Ehrenberg">littledan</who>
    <bug_when>2017-03-13 10:28:03 -0700</bug_when>
    <thetext>Created attachment 304272
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1287233</commentid>
    <comment_count>16</comment_count>
    <who name="Daniel Ehrenberg">littledan</who>
    <bug_when>2017-03-13 10:28:40 -0700</bug_when>
    <thetext>Thanks for the quick reviews. I fixed up the commit message in a new version of the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288348</commentid>
    <comment_count>17</comment_count>
      <attachid>304272</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-15 16:40:28 -0700</bug_when>
    <thetext>Comment on attachment 304272
Patch

Clearing flags on attachment: 304272

Committed r214020: &lt;http://trac.webkit.org/changeset/214020&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288349</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-15 16:40:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303458</attachid>
            <date>2017-03-05 09:56:39 -0800</date>
            <delta_ts>2017-03-06 01:47:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169182-20170305185637.patch</filename>
            <type>text/plain</type>
            <size>3574</size>
            <attacher name="Daniel Ehrenberg">littledan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyMjI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
NjkxNWNjNTYzZTQ0NDI2YzBhNzAyNTIxN2VhOTRjYzVjZWEyNjU0Li41ZjVkYTE1NDQyNzk3ODdk
NTk2OGMyY2Y5MWViZmVhMzQyZjQ4ZTcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxNy0wMy0wNSAgRGFuaWVsIEVocmVuYmVyZyAgPGxpdHRsZWRhbkBpZ2Fs
aWEuY29tPgorCisgICAgICAgIEN1cnJlbmN5IGRpZ2l0cyBjYWxjdWxhdGlvbiBpbiBJbnRsLk51
bWJlckZvcm1hdCBzaG91bGQgY2FsbCBvdXQgdG8gSUNVCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjkxODIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJ1bnRpbWUvSW50bE51bWJlckZvcm1hdC5jcHA6
CisgICAgICAgIChKU0M6OmNvbXB1dGVDdXJyZW5jeURpZ2l0cyk6CisgICAgICAgIChKU0M6OmNv
bXB1dGVDdXJyZW5jeVNvcnRLZXkpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpleHRyYWN0Q3Vy
cmVuY3lTb3J0S2V5KTogRGVsZXRlZC4KKwogMjAxNy0wMi0xMiAgUnlvc3VrZSBOaXdhICA8cm5p
d2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBDIGxvb3AgYnVpbGQgZml4IGF0dGVtcHQgYWZ0ZXIg
cjIxMjIwNy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxO
dW1iZXJGb3JtYXQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJl
ckZvcm1hdC5jcHAKaW5kZXggMTRlMGU2NTUwYjA1MGJkNDUzNmUwNGExNjM5NjNlZWJiMmI5NTI1
Ny4uNzNjMjYwNWE2OTBmYmMzYmExNzEwYWU0NmQ0MDI3NGYxMzMxM2Y0NyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdC5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdC5jcHAKQEAgLTk0
LDYyICs5NCwxNyBAQCBzdGF0aWMgVmVjdG9yPFN0cmluZz4gbG9jYWxlRGF0YShjb25zdCBTdHJp
bmcmIGxvY2FsZSwgc2l6ZV90IGtleUluZGV4KQogICAgIHJldHVybiBudW1iZXJpbmdTeXN0ZW1z
Rm9yTG9jYWxlKGxvY2FsZSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgY29tcHV0ZUN1
cnJlbmN5U29ydEtleShjb25zdCBTdHJpbmcmIGN1cnJlbmN5KQotewotICAgIEFTU0VSVChjdXJy
ZW5jeS5sZW5ndGgoKSA9PSAzKTsKLSAgICBBU1NFUlQoY3VycmVuY3kuaXNBbGxTcGVjaWFsQ2hh
cmFjdGVyczxpc0FTQ0lJVXBwZXI+KCkpOwotICAgIHJldHVybiAoY3VycmVuY3lbMF0gPDwgMTYp
ICsgKGN1cnJlbmN5WzFdIDw8IDgpICsgY3VycmVuY3lbMl07Ci19Ci0KLXN0YXRpYyBpbmxpbmUg
dW5zaWduZWQgY29tcHV0ZUN1cnJlbmN5U29ydEtleShjb25zdCBjaGFyKiBjdXJyZW5jeSkKLXsK
LSAgICBBU1NFUlQoc3RybGVuKGN1cnJlbmN5KSA9PSAzKTsKLSAgICBBU1NFUlQoaXNBbGxTcGVj
aWFsQ2hhcmFjdGVyczxpc0FTQ0lJVXBwZXI+KGN1cnJlbmN5LCAzKSk7Ci0gICAgcmV0dXJuIChj
dXJyZW5jeVswXSA8PCAxNikgKyAoY3VycmVuY3lbMV0gPDwgOCkgKyBjdXJyZW5jeVsyXTsKLX0K
LQotc3RhdGljIHVuc2lnbmVkIGV4dHJhY3RDdXJyZW5jeVNvcnRLZXkoc3RkOjpwYWlyPGNvbnN0
IGNoYXIqLCB1bnNpZ25lZD4qIGN1cnJlbmN5TWlub3JVbml0KQotewotICAgIHJldHVybiBjb21w
dXRlQ3VycmVuY3lTb3J0S2V5KGN1cnJlbmN5TWlub3JVbml0LT5maXJzdCk7Ci19Ci0KIHN0YXRp
YyB1bnNpZ25lZCBjb21wdXRlQ3VycmVuY3lEaWdpdHMoY29uc3QgU3RyaW5nJiBjdXJyZW5jeSkK
IHsKICAgICAvLyAxMS4xLjEgVGhlIGFic3RyYWN0IG9wZXJhdGlvbiBDdXJyZW5jeURpZ2l0cyAo
Y3VycmVuY3kpCiAgICAgLy8gIklmIHRoZSBJU08gNDIxNyBjdXJyZW5jeSBhbmQgZnVuZHMgY29k
ZSBsaXN0IGNvbnRhaW5zIGN1cnJlbmN5IGFzIGFuIGFscGhhYmV0aWMgY29kZSwKICAgICAvLyB0
aGVuIHJldHVybiB0aGUgbWlub3IgdW5pdCB2YWx1ZSBjb3JyZXNwb25kaW5nIHRvIHRoZSBjdXJy
ZW5jeSBmcm9tIHRoZSBsaXN0OyBlbHNlIHJldHVybiAyLgotICAgIHN0ZDo6cGFpcjxjb25zdCBj
aGFyKiwgdW5zaWduZWQ+IGN1cnJlbmN5TWlub3JVbml0c1tdID0gewotICAgICAgICB7ICJCSEQi
LCAzIH0sCi0gICAgICAgIHsgIkJJRiIsIDAgfSwKLSAgICAgICAgeyAiQllSIiwgMCB9LAotICAg
ICAgICB7ICJDTEYiLCA0IH0sCi0gICAgICAgIHsgIkNMUCIsIDAgfSwKLSAgICAgICAgeyAiREpG
IiwgMCB9LAotICAgICAgICB7ICJHTkYiLCAwIH0sCi0gICAgICAgIHsgIklRRCIsIDMgfSwKLSAg
ICAgICAgeyAiSVNLIiwgMCB9LAotICAgICAgICB7ICJKT0QiLCAzIH0sCi0gICAgICAgIHsgIkpQ
WSIsIDAgfSwKLSAgICAgICAgeyAiS01GIiwgMCB9LAotICAgICAgICB7ICJLUlciLCAwIH0sCi0g
ICAgICAgIHsgIktXRCIsIDMgfSwKLSAgICAgICAgeyAiTFlEIiwgMyB9LAotICAgICAgICB7ICJP
TVIiLCAzIH0sCi0gICAgICAgIHsgIlBZRyIsIDAgfSwKLSAgICAgICAgeyAiUldGIiwgMCB9LAot
ICAgICAgICB7ICJUTkQiLCAzIH0sCi0gICAgICAgIHsgIlVHWCIsIDAgfSwKLSAgICAgICAgeyAi
VVlJIiwgMCB9LAotICAgICAgICB7ICJWTkQiLCAwIH0sCi0gICAgICAgIHsgIlZVViIsIDAgfSwK
LSAgICAgICAgeyAiWEFGIiwgMCB9LAotICAgICAgICB7ICJYT0YiLCAwIH0sCi0gICAgICAgIHsg
IlhQRiIsIDAgfQotICAgIH07Ci0gICAgYXV0byogY3VycmVuY3lNaW5vclVuaXQgPSB0cnlCaW5h
cnlTZWFyY2g8c3RkOjpwYWlyPGNvbnN0IGNoYXIqLCB1bnNpZ25lZD4+KGN1cnJlbmN5TWlub3JV
bml0cywgV1RGX0FSUkFZX0xFTkdUSChjdXJyZW5jeU1pbm9yVW5pdHMpLCBjb21wdXRlQ3VycmVu
Y3lTb3J0S2V5KGN1cnJlbmN5KSwgZXh0cmFjdEN1cnJlbmN5U29ydEtleSk7Ci0gICAgaWYgKGN1
cnJlbmN5TWlub3JVbml0KQotICAgICAgICByZXR1cm4gY3VycmVuY3lNaW5vclVuaXQtPnNlY29u
ZDsKLSAgICByZXR1cm4gMjsKKyAgICBWZWN0b3I8VUNoYXI+IGNoYXJzID0gY3VycmVuY3kuY2hh
cmFjdGVyc1dpdGhOdWxsVGVybWluYXRpb24oKTsKKyAgICBVRXJyb3JDb2RlIHN0YXR1cyA9IFVf
WkVST19FUlJPUjsKKyAgICB1aW50MzJfdCByZXN1bHQgPSB1Y3Vycl9nZXREZWZhdWx0RnJhY3Rp
b25EaWdpdHMoY2hhcnMuZGF0YSgpLCAmc3RhdHVzKTsKKyAgICBpZiAoVV9GQUlMVVJFKHN0YXR1
cykpCisgICAgICAgIHJlc3VsdCA9IDI7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogdm9pZCBJ
bnRsTnVtYmVyRm9ybWF0Ojppbml0aWFsaXplTnVtYmVyRm9ybWF0KEV4ZWNTdGF0ZSYgc3RhdGUs
IEpTVmFsdWUgbG9jYWxlcywgSlNWYWx1ZSBvcHRpb25zVmFsdWUpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303505</attachid>
            <date>2017-03-06 01:47:20 -0800</date>
            <delta_ts>2017-03-13 08:58:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169182-20170306104718.patch</filename>
            <type>text/plain</type>
            <size>3728</size>
            <attacher name="Daniel Ehrenberg">littledan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyMjI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
NjkxNWNjNTYzZTQ0NDI2YzBhNzAyNTIxN2VhOTRjYzVjZWEyNjU0Li41ZjVkYTE1NDQyNzk3ODdk
NTk2OGMyY2Y5MWViZmVhMzQyZjQ4ZTcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxNy0wMy0wNSAgRGFuaWVsIEVocmVuYmVyZyAgPGxpdHRsZWRhbkBpZ2Fs
aWEuY29tPgorCisgICAgICAgIEN1cnJlbmN5IGRpZ2l0cyBjYWxjdWxhdGlvbiBpbiBJbnRsLk51
bWJlckZvcm1hdCBzaG91bGQgY2FsbCBvdXQgdG8gSUNVCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjkxODIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJ1bnRpbWUvSW50bE51bWJlckZvcm1hdC5jcHA6
CisgICAgICAgIChKU0M6OmNvbXB1dGVDdXJyZW5jeURpZ2l0cyk6CisgICAgICAgIChKU0M6OmNv
bXB1dGVDdXJyZW5jeVNvcnRLZXkpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpleHRyYWN0Q3Vy
cmVuY3lTb3J0S2V5KTogRGVsZXRlZC4KKwogMjAxNy0wMi0xMiAgUnlvc3VrZSBOaXdhICA8cm5p
d2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBDIGxvb3AgYnVpbGQgZml4IGF0dGVtcHQgYWZ0ZXIg
cjIxMjIwNy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxO
dW1iZXJGb3JtYXQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJl
ckZvcm1hdC5jcHAKaW5kZXggMTRlMGU2NTUwYjA1MGJkNDUzNmUwNGExNjM5NjNlZWJiMmI5NTI1
Ny4uMzJjZWQzYzA2ODNjMWZhNTJkNGI4ZDVjMTRjYzAxZmVkZjdkNWExMiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdC5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdC5jcHAKQEAgLTM2
LDYgKzM2LDcgQEAKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJ
bmxpbmVzLmgiCiAjaW5jbHVkZSAiT2JqZWN0Q29uc3RydWN0b3IuaCIKKyNpbmNsdWRlIDx1bmlj
b2RlL3VjdXJyLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC05NCw2MiArOTUsMTcgQEAgc3Rh
dGljIFZlY3RvcjxTdHJpbmc+IGxvY2FsZURhdGEoY29uc3QgU3RyaW5nJiBsb2NhbGUsIHNpemVf
dCBrZXlJbmRleCkKICAgICByZXR1cm4gbnVtYmVyaW5nU3lzdGVtc0ZvckxvY2FsZShsb2NhbGUp
OwogfQogCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGNvbXB1dGVDdXJyZW5jeVNvcnRLZXkoY29u
c3QgU3RyaW5nJiBjdXJyZW5jeSkKLXsKLSAgICBBU1NFUlQoY3VycmVuY3kubGVuZ3RoKCkgPT0g
Myk7Ci0gICAgQVNTRVJUKGN1cnJlbmN5LmlzQWxsU3BlY2lhbENoYXJhY3RlcnM8aXNBU0NJSVVw
cGVyPigpKTsKLSAgICByZXR1cm4gKGN1cnJlbmN5WzBdIDw8IDE2KSArIChjdXJyZW5jeVsxXSA8
PCA4KSArIGN1cnJlbmN5WzJdOwotfQotCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGNvbXB1dGVD
dXJyZW5jeVNvcnRLZXkoY29uc3QgY2hhciogY3VycmVuY3kpCi17Ci0gICAgQVNTRVJUKHN0cmxl
bihjdXJyZW5jeSkgPT0gMyk7Ci0gICAgQVNTRVJUKGlzQWxsU3BlY2lhbENoYXJhY3RlcnM8aXNB
U0NJSVVwcGVyPihjdXJyZW5jeSwgMykpOwotICAgIHJldHVybiAoY3VycmVuY3lbMF0gPDwgMTYp
ICsgKGN1cnJlbmN5WzFdIDw8IDgpICsgY3VycmVuY3lbMl07Ci19Ci0KLXN0YXRpYyB1bnNpZ25l
ZCBleHRyYWN0Q3VycmVuY3lTb3J0S2V5KHN0ZDo6cGFpcjxjb25zdCBjaGFyKiwgdW5zaWduZWQ+
KiBjdXJyZW5jeU1pbm9yVW5pdCkKLXsKLSAgICByZXR1cm4gY29tcHV0ZUN1cnJlbmN5U29ydEtl
eShjdXJyZW5jeU1pbm9yVW5pdC0+Zmlyc3QpOwotfQotCiBzdGF0aWMgdW5zaWduZWQgY29tcHV0
ZUN1cnJlbmN5RGlnaXRzKGNvbnN0IFN0cmluZyYgY3VycmVuY3kpCiB7CiAgICAgLy8gMTEuMS4x
IFRoZSBhYnN0cmFjdCBvcGVyYXRpb24gQ3VycmVuY3lEaWdpdHMgKGN1cnJlbmN5KQogICAgIC8v
ICJJZiB0aGUgSVNPIDQyMTcgY3VycmVuY3kgYW5kIGZ1bmRzIGNvZGUgbGlzdCBjb250YWlucyBj
dXJyZW5jeSBhcyBhbiBhbHBoYWJldGljIGNvZGUsCiAgICAgLy8gdGhlbiByZXR1cm4gdGhlIG1p
bm9yIHVuaXQgdmFsdWUgY29ycmVzcG9uZGluZyB0byB0aGUgY3VycmVuY3kgZnJvbSB0aGUgbGlz
dDsgZWxzZSByZXR1cm4gMi4KLSAgICBzdGQ6OnBhaXI8Y29uc3QgY2hhciosIHVuc2lnbmVkPiBj
dXJyZW5jeU1pbm9yVW5pdHNbXSA9IHsKLSAgICAgICAgeyAiQkhEIiwgMyB9LAotICAgICAgICB7
ICJCSUYiLCAwIH0sCi0gICAgICAgIHsgIkJZUiIsIDAgfSwKLSAgICAgICAgeyAiQ0xGIiwgNCB9
LAotICAgICAgICB7ICJDTFAiLCAwIH0sCi0gICAgICAgIHsgIkRKRiIsIDAgfSwKLSAgICAgICAg
eyAiR05GIiwgMCB9LAotICAgICAgICB7ICJJUUQiLCAzIH0sCi0gICAgICAgIHsgIklTSyIsIDAg
fSwKLSAgICAgICAgeyAiSk9EIiwgMyB9LAotICAgICAgICB7ICJKUFkiLCAwIH0sCi0gICAgICAg
IHsgIktNRiIsIDAgfSwKLSAgICAgICAgeyAiS1JXIiwgMCB9LAotICAgICAgICB7ICJLV0QiLCAz
IH0sCi0gICAgICAgIHsgIkxZRCIsIDMgfSwKLSAgICAgICAgeyAiT01SIiwgMyB9LAotICAgICAg
ICB7ICJQWUciLCAwIH0sCi0gICAgICAgIHsgIlJXRiIsIDAgfSwKLSAgICAgICAgeyAiVE5EIiwg
MyB9LAotICAgICAgICB7ICJVR1giLCAwIH0sCi0gICAgICAgIHsgIlVZSSIsIDAgfSwKLSAgICAg
ICAgeyAiVk5EIiwgMCB9LAotICAgICAgICB7ICJWVVYiLCAwIH0sCi0gICAgICAgIHsgIlhBRiIs
IDAgfSwKLSAgICAgICAgeyAiWE9GIiwgMCB9LAotICAgICAgICB7ICJYUEYiLCAwIH0KLSAgICB9
OwotICAgIGF1dG8qIGN1cnJlbmN5TWlub3JVbml0ID0gdHJ5QmluYXJ5U2VhcmNoPHN0ZDo6cGFp
cjxjb25zdCBjaGFyKiwgdW5zaWduZWQ+PihjdXJyZW5jeU1pbm9yVW5pdHMsIFdURl9BUlJBWV9M
RU5HVEgoY3VycmVuY3lNaW5vclVuaXRzKSwgY29tcHV0ZUN1cnJlbmN5U29ydEtleShjdXJyZW5j
eSksIGV4dHJhY3RDdXJyZW5jeVNvcnRLZXkpOwotICAgIGlmIChjdXJyZW5jeU1pbm9yVW5pdCkK
LSAgICAgICAgcmV0dXJuIGN1cnJlbmN5TWlub3JVbml0LT5zZWNvbmQ7Ci0gICAgcmV0dXJuIDI7
CisgICAgVmVjdG9yPFVDaGFyPiBjaGFycyA9IGN1cnJlbmN5LmNoYXJhY3RlcnNXaXRoTnVsbFRl
cm1pbmF0aW9uKCk7CisgICAgVUVycm9yQ29kZSBzdGF0dXMgPSBVX1pFUk9fRVJST1I7CisgICAg
dWludDMyX3QgcmVzdWx0ID0gdWN1cnJfZ2V0RGVmYXVsdEZyYWN0aW9uRGlnaXRzKGNoYXJzLmRh
dGEoKSwgJnN0YXR1cyk7CisgICAgaWYgKFVfRkFJTFVSRShzdGF0dXMpKQorICAgICAgICByZXN1
bHQgPSAyOworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIHZvaWQgSW50bE51bWJlckZvcm1hdDo6
aW5pdGlhbGl6ZU51bWJlckZvcm1hdChFeGVjU3RhdGUmIHN0YXRlLCBKU1ZhbHVlIGxvY2FsZXMs
IEpTVmFsdWUgb3B0aW9uc1ZhbHVlKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304259</attachid>
            <date>2017-03-13 08:58:27 -0700</date>
            <delta_ts>2017-03-13 10:27:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169182-20170313165825.patch</filename>
            <type>text/plain</type>
            <size>3919</size>
            <attacher name="Daniel Ehrenberg">littledan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEzODQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
OGZhODFkYjUyNjg2MDAwYTJmOGJkZTdiN2IyYzg0NDY3NWUxZDE5Li45MmJhMjUzODQ0MjIzZGMz
YWY2MmM1YTM2ZGQzNmE0ZmNhNmI2ZDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAxNy0wMy0xMyAgRGFuaWVsIEVocmVuYmVyZyAgPGxpdHRsZWRhbkBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmV2ZXJ0IHBhdGNoIHRvIGNhbGwgb3V0IHRvIElDVSBmb3Ig
Q3VycmVuY3lEaWdpdHMKKyAgICAKKyAgICAgICAgVGhlIHByZXZpb3VzIHBhdGNoIHdhcyBjdXJy
ZW50bHkgdGVjaG5pY2FsIGludmFsaWQgYmVjYXVzZSBFQ01BIDQwMgorICAgICAgICBkZW1hbmRz
IHRoZSB1c2Ugb2YgYSBtb3JlIGxlZ2FsaXN0aWMsIGxlc3MgbGluZ3Vpc3RpY2FsbHkgYXBwcm9w
cmlhdGUKKyAgICAgICAgZGF0YSBzb3VyY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjkxODIKKworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0LmNwcDoKKyAg
ICAgICAgKEpTQzo6Y29tcHV0ZUN1cnJlbmN5U29ydEtleSk6CisgICAgICAgIChKU0M6OmV4dHJh
Y3RDdXJyZW5jeVNvcnRLZXkpOgorICAgICAgICAoSlNDOjpjb21wdXRlQ3VycmVuY3lEaWdpdHMp
OgorCiAyMDE3LTAzLTExICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAg
ICAgU3RydWN0dXJlOjp3aWxsU3RvcmVWYWx1ZVNsb3cgbmVlZHMgdG8ga2VlcCB0aGUgcHJvcGVy
dHkgdGFibGUgYWxpdmUgdW50aWwgdGhlIGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0LmNwcAppbmRleCAzMmNlZDNjMDY4M2MxZmE1MmQ0
YjhkNWMxNGNjMDFmZWRmN2Q1YTEyLi4xNGUwZTY1NTBiMDUwYmQ0NTM2ZTA0YTE2Mzk2M2VlYmIy
Yjk1MjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsTnVt
YmVyRm9ybWF0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsTnVt
YmVyRm9ybWF0LmNwcApAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlv
bi5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJPYmplY3RDb25zdHJ1Y3Rv
ci5oIgotI2luY2x1ZGUgPHVuaWNvZGUvdWN1cnIuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAg
LTk1LDE3ICs5NCw2MiBAQCBzdGF0aWMgVmVjdG9yPFN0cmluZz4gbG9jYWxlRGF0YShjb25zdCBT
dHJpbmcmIGxvY2FsZSwgc2l6ZV90IGtleUluZGV4KQogICAgIHJldHVybiBudW1iZXJpbmdTeXN0
ZW1zRm9yTG9jYWxlKGxvY2FsZSk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgY29tcHV0
ZUN1cnJlbmN5U29ydEtleShjb25zdCBTdHJpbmcmIGN1cnJlbmN5KQoreworICAgIEFTU0VSVChj
dXJyZW5jeS5sZW5ndGgoKSA9PSAzKTsKKyAgICBBU1NFUlQoY3VycmVuY3kuaXNBbGxTcGVjaWFs
Q2hhcmFjdGVyczxpc0FTQ0lJVXBwZXI+KCkpOworICAgIHJldHVybiAoY3VycmVuY3lbMF0gPDwg
MTYpICsgKGN1cnJlbmN5WzFdIDw8IDgpICsgY3VycmVuY3lbMl07Cit9CisKK3N0YXRpYyBpbmxp
bmUgdW5zaWduZWQgY29tcHV0ZUN1cnJlbmN5U29ydEtleShjb25zdCBjaGFyKiBjdXJyZW5jeSkK
K3sKKyAgICBBU1NFUlQoc3RybGVuKGN1cnJlbmN5KSA9PSAzKTsKKyAgICBBU1NFUlQoaXNBbGxT
cGVjaWFsQ2hhcmFjdGVyczxpc0FTQ0lJVXBwZXI+KGN1cnJlbmN5LCAzKSk7CisgICAgcmV0dXJu
IChjdXJyZW5jeVswXSA8PCAxNikgKyAoY3VycmVuY3lbMV0gPDwgOCkgKyBjdXJyZW5jeVsyXTsK
K30KKworc3RhdGljIHVuc2lnbmVkIGV4dHJhY3RDdXJyZW5jeVNvcnRLZXkoc3RkOjpwYWlyPGNv
bnN0IGNoYXIqLCB1bnNpZ25lZD4qIGN1cnJlbmN5TWlub3JVbml0KQoreworICAgIHJldHVybiBj
b21wdXRlQ3VycmVuY3lTb3J0S2V5KGN1cnJlbmN5TWlub3JVbml0LT5maXJzdCk7Cit9CisKIHN0
YXRpYyB1bnNpZ25lZCBjb21wdXRlQ3VycmVuY3lEaWdpdHMoY29uc3QgU3RyaW5nJiBjdXJyZW5j
eSkKIHsKICAgICAvLyAxMS4xLjEgVGhlIGFic3RyYWN0IG9wZXJhdGlvbiBDdXJyZW5jeURpZ2l0
cyAoY3VycmVuY3kpCiAgICAgLy8gIklmIHRoZSBJU08gNDIxNyBjdXJyZW5jeSBhbmQgZnVuZHMg
Y29kZSBsaXN0IGNvbnRhaW5zIGN1cnJlbmN5IGFzIGFuIGFscGhhYmV0aWMgY29kZSwKICAgICAv
LyB0aGVuIHJldHVybiB0aGUgbWlub3IgdW5pdCB2YWx1ZSBjb3JyZXNwb25kaW5nIHRvIHRoZSBj
dXJyZW5jeSBmcm9tIHRoZSBsaXN0OyBlbHNlIHJldHVybiAyLgotICAgIFZlY3RvcjxVQ2hhcj4g
Y2hhcnMgPSBjdXJyZW5jeS5jaGFyYWN0ZXJzV2l0aE51bGxUZXJtaW5hdGlvbigpOwotICAgIFVF
cnJvckNvZGUgc3RhdHVzID0gVV9aRVJPX0VSUk9SOwotICAgIHVpbnQzMl90IHJlc3VsdCA9IHVj
dXJyX2dldERlZmF1bHRGcmFjdGlvbkRpZ2l0cyhjaGFycy5kYXRhKCksICZzdGF0dXMpOwotICAg
IGlmIChVX0ZBSUxVUkUoc3RhdHVzKSkKLSAgICAgICAgcmVzdWx0ID0gMjsKLSAgICByZXR1cm4g
cmVzdWx0OworICAgIHN0ZDo6cGFpcjxjb25zdCBjaGFyKiwgdW5zaWduZWQ+IGN1cnJlbmN5TWlu
b3JVbml0c1tdID0geworICAgICAgICB7ICJCSEQiLCAzIH0sCisgICAgICAgIHsgIkJJRiIsIDAg
fSwKKyAgICAgICAgeyAiQllSIiwgMCB9LAorICAgICAgICB7ICJDTEYiLCA0IH0sCisgICAgICAg
IHsgIkNMUCIsIDAgfSwKKyAgICAgICAgeyAiREpGIiwgMCB9LAorICAgICAgICB7ICJHTkYiLCAw
IH0sCisgICAgICAgIHsgIklRRCIsIDMgfSwKKyAgICAgICAgeyAiSVNLIiwgMCB9LAorICAgICAg
ICB7ICJKT0QiLCAzIH0sCisgICAgICAgIHsgIkpQWSIsIDAgfSwKKyAgICAgICAgeyAiS01GIiwg
MCB9LAorICAgICAgICB7ICJLUlciLCAwIH0sCisgICAgICAgIHsgIktXRCIsIDMgfSwKKyAgICAg
ICAgeyAiTFlEIiwgMyB9LAorICAgICAgICB7ICJPTVIiLCAzIH0sCisgICAgICAgIHsgIlBZRyIs
IDAgfSwKKyAgICAgICAgeyAiUldGIiwgMCB9LAorICAgICAgICB7ICJUTkQiLCAzIH0sCisgICAg
ICAgIHsgIlVHWCIsIDAgfSwKKyAgICAgICAgeyAiVVlJIiwgMCB9LAorICAgICAgICB7ICJWTkQi
LCAwIH0sCisgICAgICAgIHsgIlZVViIsIDAgfSwKKyAgICAgICAgeyAiWEFGIiwgMCB9LAorICAg
ICAgICB7ICJYT0YiLCAwIH0sCisgICAgICAgIHsgIlhQRiIsIDAgfQorICAgIH07CisgICAgYXV0
byogY3VycmVuY3lNaW5vclVuaXQgPSB0cnlCaW5hcnlTZWFyY2g8c3RkOjpwYWlyPGNvbnN0IGNo
YXIqLCB1bnNpZ25lZD4+KGN1cnJlbmN5TWlub3JVbml0cywgV1RGX0FSUkFZX0xFTkdUSChjdXJy
ZW5jeU1pbm9yVW5pdHMpLCBjb21wdXRlQ3VycmVuY3lTb3J0S2V5KGN1cnJlbmN5KSwgZXh0cmFj
dEN1cnJlbmN5U29ydEtleSk7CisgICAgaWYgKGN1cnJlbmN5TWlub3JVbml0KQorICAgICAgICBy
ZXR1cm4gY3VycmVuY3lNaW5vclVuaXQtPnNlY29uZDsKKyAgICByZXR1cm4gMjsKIH0KIAogdm9p
ZCBJbnRsTnVtYmVyRm9ybWF0Ojppbml0aWFsaXplTnVtYmVyRm9ybWF0KEV4ZWNTdGF0ZSYgc3Rh
dGUsIEpTVmFsdWUgbG9jYWxlcywgSlNWYWx1ZSBvcHRpb25zVmFsdWUpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304272</attachid>
            <date>2017-03-13 10:28:03 -0700</date>
            <delta_ts>2017-03-15 16:40:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169182-20170313182801.patch</filename>
            <type>text/plain</type>
            <size>4097</size>
            <attacher name="Daniel Ehrenberg">littledan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEzODQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
OGZhODFkYjUyNjg2MDAwYTJmOGJkZTdiN2IyYzg0NDY3NWUxZDE5Li43OGZiMDZlZTk5OTlhZDg3
NjYwNjZmZWVjNDZjMzk3ZDU4ZmNkN2Y3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMSBAQAorMjAxNy0wMy0xMyAgRGFuaWVsIEVocmVuYmVyZyAgPGxpdHRsZWRhbkBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgU3dpdGNoIGJhY2sgdG8gSVNPIDQyMTcgZm9yIEludGwgQ3Vy
cmVuY3lEaWdpdHMgZGF0YQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTY5MTgyCisgICAgCisgICAgICAgIFByZXZpb3VzbHksIGEgcGF0Y2ggc3dpdGNo
ZWQgSW50bC5OdW1iZXJGb3JtYXQgdG8gdXNlIENMRFIgZGF0YSB0aHJvdWdoCisgICAgICAgIElD
VSB0byBnZXQgdGhlIGRlZmF1bHQgbnVtYmVyIG9mIGRlY2ltYWwgZGlnaXRzIGZvciBhIGN1cnJl
bmN5LgorICAgICAgICBIb3dldmVyLCB0aGF0IGNoYW5nZSBhY3R1YWxseSB2aW9sYXRlZCB0aGUg
RUNNQSA0MDIgc3BlY2lmaWNhdGlvbiwKKyAgICAgICAgd2hpY2ggcmVmZXJlbmNlcyBJU08gNDIx
NyBhcyB0aGUgZGF0YSBzb3VyY2UuIFRoaXMgcGF0Y2ggcmV2ZXJ0cyB0bworICAgICAgICBhbiBp
bi1saW5lIGltcGxlbWVudGF0aW9uIG9mIHRoYXQgZGF0YS4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJ1bnRpbWUvSW50bE51bWJlckZvcm1hdC5j
cHA6CisgICAgICAgIChKU0M6OmNvbXB1dGVDdXJyZW5jeVNvcnRLZXkpOgorICAgICAgICAoSlND
OjpleHRyYWN0Q3VycmVuY3lTb3J0S2V5KToKKyAgICAgICAgKEpTQzo6Y29tcHV0ZUN1cnJlbmN5
RGlnaXRzKToKKwogMjAxNy0wMy0xMSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgog
CiAgICAgICAgIFN0cnVjdHVyZTo6d2lsbFN0b3JlVmFsdWVTbG93IG5lZWRzIHRvIGtlZXAgdGhl
IHByb3BlcnR5IHRhYmxlIGFsaXZlIHVudGlsIHRoZSBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXQuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdC5jcHAKaW5kZXggMzJjZWQzYzA2ODNj
MWZhNTJkNGI4ZDVjMTRjYzAxZmVkZjdkNWExMi4uMTRlMGU2NTUwYjA1MGJkNDUzNmUwNGExNjM5
NjNlZWJiMmI5NTI1NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SW50bE51bWJlckZvcm1hdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SW50bE51bWJlckZvcm1hdC5jcHAKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlICJKU0JvdW5k
RnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiT2JqZWN0Q29u
c3RydWN0b3IuaCIKLSNpbmNsdWRlIDx1bmljb2RlL3VjdXJyLmg+CiAKIG5hbWVzcGFjZSBKU0Mg
ewogCkBAIC05NSwxNyArOTQsNjIgQEAgc3RhdGljIFZlY3RvcjxTdHJpbmc+IGxvY2FsZURhdGEo
Y29uc3QgU3RyaW5nJiBsb2NhbGUsIHNpemVfdCBrZXlJbmRleCkKICAgICByZXR1cm4gbnVtYmVy
aW5nU3lzdGVtc0ZvckxvY2FsZShsb2NhbGUpOwogfQogCitzdGF0aWMgaW5saW5lIHVuc2lnbmVk
IGNvbXB1dGVDdXJyZW5jeVNvcnRLZXkoY29uc3QgU3RyaW5nJiBjdXJyZW5jeSkKK3sKKyAgICBB
U1NFUlQoY3VycmVuY3kubGVuZ3RoKCkgPT0gMyk7CisgICAgQVNTRVJUKGN1cnJlbmN5LmlzQWxs
U3BlY2lhbENoYXJhY3RlcnM8aXNBU0NJSVVwcGVyPigpKTsKKyAgICByZXR1cm4gKGN1cnJlbmN5
WzBdIDw8IDE2KSArIChjdXJyZW5jeVsxXSA8PCA4KSArIGN1cnJlbmN5WzJdOworfQorCitzdGF0
aWMgaW5saW5lIHVuc2lnbmVkIGNvbXB1dGVDdXJyZW5jeVNvcnRLZXkoY29uc3QgY2hhciogY3Vy
cmVuY3kpCit7CisgICAgQVNTRVJUKHN0cmxlbihjdXJyZW5jeSkgPT0gMyk7CisgICAgQVNTRVJU
KGlzQWxsU3BlY2lhbENoYXJhY3RlcnM8aXNBU0NJSVVwcGVyPihjdXJyZW5jeSwgMykpOworICAg
IHJldHVybiAoY3VycmVuY3lbMF0gPDwgMTYpICsgKGN1cnJlbmN5WzFdIDw8IDgpICsgY3VycmVu
Y3lbMl07Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBleHRyYWN0Q3VycmVuY3lTb3J0S2V5KHN0ZDo6
cGFpcjxjb25zdCBjaGFyKiwgdW5zaWduZWQ+KiBjdXJyZW5jeU1pbm9yVW5pdCkKK3sKKyAgICBy
ZXR1cm4gY29tcHV0ZUN1cnJlbmN5U29ydEtleShjdXJyZW5jeU1pbm9yVW5pdC0+Zmlyc3QpOwor
fQorCiBzdGF0aWMgdW5zaWduZWQgY29tcHV0ZUN1cnJlbmN5RGlnaXRzKGNvbnN0IFN0cmluZyYg
Y3VycmVuY3kpCiB7CiAgICAgLy8gMTEuMS4xIFRoZSBhYnN0cmFjdCBvcGVyYXRpb24gQ3VycmVu
Y3lEaWdpdHMgKGN1cnJlbmN5KQogICAgIC8vICJJZiB0aGUgSVNPIDQyMTcgY3VycmVuY3kgYW5k
IGZ1bmRzIGNvZGUgbGlzdCBjb250YWlucyBjdXJyZW5jeSBhcyBhbiBhbHBoYWJldGljIGNvZGUs
CiAgICAgLy8gdGhlbiByZXR1cm4gdGhlIG1pbm9yIHVuaXQgdmFsdWUgY29ycmVzcG9uZGluZyB0
byB0aGUgY3VycmVuY3kgZnJvbSB0aGUgbGlzdDsgZWxzZSByZXR1cm4gMi4KLSAgICBWZWN0b3I8
VUNoYXI+IGNoYXJzID0gY3VycmVuY3kuY2hhcmFjdGVyc1dpdGhOdWxsVGVybWluYXRpb24oKTsK
LSAgICBVRXJyb3JDb2RlIHN0YXR1cyA9IFVfWkVST19FUlJPUjsKLSAgICB1aW50MzJfdCByZXN1
bHQgPSB1Y3Vycl9nZXREZWZhdWx0RnJhY3Rpb25EaWdpdHMoY2hhcnMuZGF0YSgpLCAmc3RhdHVz
KTsKLSAgICBpZiAoVV9GQUlMVVJFKHN0YXR1cykpCi0gICAgICAgIHJlc3VsdCA9IDI7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKKyAgICBzdGQ6OnBhaXI8Y29uc3QgY2hhciosIHVuc2lnbmVkPiBjdXJy
ZW5jeU1pbm9yVW5pdHNbXSA9IHsKKyAgICAgICAgeyAiQkhEIiwgMyB9LAorICAgICAgICB7ICJC
SUYiLCAwIH0sCisgICAgICAgIHsgIkJZUiIsIDAgfSwKKyAgICAgICAgeyAiQ0xGIiwgNCB9LAor
ICAgICAgICB7ICJDTFAiLCAwIH0sCisgICAgICAgIHsgIkRKRiIsIDAgfSwKKyAgICAgICAgeyAi
R05GIiwgMCB9LAorICAgICAgICB7ICJJUUQiLCAzIH0sCisgICAgICAgIHsgIklTSyIsIDAgfSwK
KyAgICAgICAgeyAiSk9EIiwgMyB9LAorICAgICAgICB7ICJKUFkiLCAwIH0sCisgICAgICAgIHsg
IktNRiIsIDAgfSwKKyAgICAgICAgeyAiS1JXIiwgMCB9LAorICAgICAgICB7ICJLV0QiLCAzIH0s
CisgICAgICAgIHsgIkxZRCIsIDMgfSwKKyAgICAgICAgeyAiT01SIiwgMyB9LAorICAgICAgICB7
ICJQWUciLCAwIH0sCisgICAgICAgIHsgIlJXRiIsIDAgfSwKKyAgICAgICAgeyAiVE5EIiwgMyB9
LAorICAgICAgICB7ICJVR1giLCAwIH0sCisgICAgICAgIHsgIlVZSSIsIDAgfSwKKyAgICAgICAg
eyAiVk5EIiwgMCB9LAorICAgICAgICB7ICJWVVYiLCAwIH0sCisgICAgICAgIHsgIlhBRiIsIDAg
fSwKKyAgICAgICAgeyAiWE9GIiwgMCB9LAorICAgICAgICB7ICJYUEYiLCAwIH0KKyAgICB9Owor
ICAgIGF1dG8qIGN1cnJlbmN5TWlub3JVbml0ID0gdHJ5QmluYXJ5U2VhcmNoPHN0ZDo6cGFpcjxj
b25zdCBjaGFyKiwgdW5zaWduZWQ+PihjdXJyZW5jeU1pbm9yVW5pdHMsIFdURl9BUlJBWV9MRU5H
VEgoY3VycmVuY3lNaW5vclVuaXRzKSwgY29tcHV0ZUN1cnJlbmN5U29ydEtleShjdXJyZW5jeSks
IGV4dHJhY3RDdXJyZW5jeVNvcnRLZXkpOworICAgIGlmIChjdXJyZW5jeU1pbm9yVW5pdCkKKyAg
ICAgICAgcmV0dXJuIGN1cnJlbmN5TWlub3JVbml0LT5zZWNvbmQ7CisgICAgcmV0dXJuIDI7CiB9
CiAKIHZvaWQgSW50bE51bWJlckZvcm1hdDo6aW5pdGlhbGl6ZU51bWJlckZvcm1hdChFeGVjU3Rh
dGUmIHN0YXRlLCBKU1ZhbHVlIGxvY2FsZXMsIEpTVmFsdWUgb3B0aW9uc1ZhbHVlKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>