<?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>223650</bug_id>
          
          <creation_ts>2021-03-23 12:12:40 -0700</creation_ts>
          <short_desc>DerivedSources/WebKitTestRunner/JSAccessibilityUIElement.cpp:802:72: runtime error: -1 is outside the range of representable values of type &apos;unsigned int&apos;</short_desc>
          <delta_ts>2021-03-24 13:06:14 -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>Bindings</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=176131</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=223710</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1742939</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-23 12:12:40 -0700</bug_when>
    <thetext>DerivedSources/WebKitTestRunner/JSAccessibilityUIElement.cpp:802:72: runtime error: -1 is outside the range of representable values of type &apos;unsigned int&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742949</commentid>
    <comment_count>1</comment_count>
      <attachid>424049</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-23 12:25:36 -0700</bug_when>
    <thetext>Created attachment 424049
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742958</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-23 12:36:33 -0700</bug_when>
    <thetext>   1 Release/DerivedSources/WebKitTestRunner/JSEventSendingController.cpp:274:45: runtime error: nan is outside the range of representable values of type &apos;int&apos;
   1 Release/DerivedSources/WebKitTestRunner/JSEventSendingController.cpp:130:23: runtime error: nan is outside the range of representable values of type &apos;int&apos;
   1 Release/DerivedSources/WebKitTestRunner/JSAccessibilityUIElement.cpp:802:72: runtime error: -1 is outside the range of representable values of type &apos;unsigned int&apos;
   1 Release/DerivedSources/WebKitTestRunner/JSAccessibilityUIElement.cpp:802:64: runtime error: -1 is outside the range of representable values of type &apos;unsigned int&apos;
   1 Release/DerivedSources/WebKitTestRunner/JSAccessibilityUIElement.cpp:1571:63: runtime error: 1e+11 is outside the range of representable values of type &apos;int&apos;
   1 Release/DerivedSources/WebKitTestRunner/JSAccessibilityUIElement.cpp:1221:67: runtime error: -1 is outside the range of representable values of type &apos;unsigned int&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742985</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-03-23 13:37:42 -0700</bug_when>
    <thetext>What does clampTo do for NaN? Is there any downside to silently clamping instead of doing something like raising an exception?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742989</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-23 13:49:48 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; What does clampTo do for NaN? Is there any downside to silently clamping
&gt; instead of doing something like raising an exception?

I will check what it does for NaN, I am not sure. Previously, I believe it was undefined behavior to cast NaN to an integer type.

About clamping vs throwing an exception, I guess we can do whatever we decide to, since this is used only by layout tests. I went this way because it was a bit less work and basically as permissive as it used to be.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743008</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-23 14:26:49 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #4)
&gt; (In reply to Darin Adler from comment #3)
&gt; &gt; What does clampTo do for NaN? Is there any downside to silently clamping
&gt; &gt; instead of doing something like raising an exception?
&gt; 
&gt; I will check what it does for NaN, I am not sure. Previously, I believe it
&gt; was undefined behavior to cast NaN to an integer type.

We seem to be calling:
// Floating point source.
template&lt;typename TargetType, typename SourceType&gt;
typename std::enable_if&lt;!std::is_same&lt;TargetType, SourceType&gt;::value
    &amp;&amp; std::is_floating_point&lt;SourceType&gt;::value
    &amp;&amp; !(std::is_floating_point&lt;TargetType&gt;::value &amp;&amp; sizeof(TargetType) &gt; sizeof(SourceType)), TargetType&gt;::type
clampTo(SourceType value, TargetType min = defaultMinimumForClamp&lt;TargetType&gt;(), TargetType max = defaultMaximumForClamp&lt;TargetType&gt;())
{
    if (value &gt;= static_cast&lt;SourceType&gt;(max))
        return max;
    if (value &lt;= static_cast&lt;SourceType&gt;(min))
        return min;
    return static_cast&lt;TargetType&gt;(value);
}

If value is NaN, then I&apos;d expect both if checks to fail and we&apos;d static_cast&lt;&gt; to the destination type, which I believe would still be undefined behavior for integer destination types.
We may need to update std::clampTo() to handle NaN. Looks like the default behavior for WebIDL is:
&quot;If x is NaN, +0, +∞, or −∞, then return +0.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743016</commentid>
    <comment_count>6</comment_count>
      <attachid>424067</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-23 14:45:40 -0700</bug_when>
    <thetext>Created attachment 424067
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743025</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-03-23 15:03:12 -0700</bug_when>
    <thetext>We should consider fixing clampTo so that it returns &quot;min&quot; when NaN is passed instead of returning &quot;value&quot;. I think we can do that efficiently. Could be as simple as:

    if (!(value &gt; static_cast&lt;SourceType&gt;(min)))
        return min;

Instead of the &quot;&lt;=&quot; version. That might fix it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743033</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-23 15:23:37 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #7)
&gt; We should consider fixing clampTo so that it returns &quot;min&quot; when NaN is
&gt; passed instead of returning &quot;value&quot;. I think we can do that efficiently.
&gt; Could be as simple as:
&gt; 
&gt;     if (!(value &gt; static_cast&lt;SourceType&gt;(min)))
&gt;         return min;
&gt; 
&gt; Instead of the &quot;&lt;=&quot; version. That might fix it.

I had a slight preference for 0 but I guess it doesn&apos;t really matter. At least your way avoids an extra branch. I&apos;ll update the patch accordingly and add API tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743034</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-03-23 15:25:39 -0700</bug_when>
    <thetext>Yes, I see your point. 0 would be nicer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743035</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-03-23 15:26:42 -0700</bug_when>
    <thetext>But maybe 0 isn’t even between min and max, so we’d want to convert to 0 before doing the min/max checks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743037</commentid>
    <comment_count>11</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-23 15:29:36 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #10)
&gt; But maybe 0 isn’t even between min and max, so we’d want to convert to 0
&gt; before doing the min/max checks.

Yes, that is what my patch was doing:
```
if (std::isnan(value))
   value = 0;
if (value &gt;= max)
   return max;
[...]
```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743038</commentid>
    <comment_count>12</comment_count>
      <attachid>424074</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-23 15:31:47 -0700</bug_when>
    <thetext>Created attachment 424074
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743039</commentid>
    <comment_count>13</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-23 15:32:33 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #12)
&gt; Created attachment 424074 [details]
&gt; Patch

This version returns min as you initially suggested and adds API test coverage. I can easily switch to 0 (then clamped to range) if you&apos;d prefer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743089</commentid>
    <comment_count>14</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-23 17:30:18 -0700</bug_when>
    <thetext>Committed r274919: &lt;https://commits.webkit.org/r274919&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 424074.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743090</commentid>
    <comment_count>15</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-23 17:31:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/75763224&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424049</attachid>
            <date>2021-03-23 12:25:36 -0700</date>
            <delta_ts>2021-03-23 14:45:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223650-20210323122535.patch</filename>
            <type>text/plain</type>
            <size>4909</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0ODcxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZWI3M2I4ZmI2ZDA5MmE0MTY3YWRlMDUwYmI3NGE3Yzdl
MDMzYzQ1NS4uNmViNGVhNTI1YjZhMWU1ZmQ2NTdmNjEyNWYzMWRiYTdiZjhhZTMwMiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1
IEBACisyMDIxLTAzLTIzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAg
ICAgRGVyaXZlZFNvdXJjZXMvV2ViS2l0VGVzdFJ1bm5lci9KU0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnQuY3BwOjgwMjo3MjogcnVudGltZSBlcnJvcjogLTEgaXMgb3V0c2lkZSB0aGUgcmFuZ2Ugb2Yg
cmVwcmVzZW50YWJsZSB2YWx1ZXMgb2YgdHlwZSAndW5zaWduZWQgaW50JworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNjUwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGJpbmRpbmdzIGdlbmVyYXRv
ciB1c2VkIGJ5IFdlYktpdFRlc3RSdW5uZXIgd2FzIGNvbnZlcnRpbmcgYWxsIG51bWJlcnMgaW50
byBkb3VibGUgYW5kCisgICAgICAgIHBhc3NpbmcgdGhhdCB0byB0aGUgaW1wbGVtZW50YXRpb24s
IG5vIG1hdHRlciB0aGUgSURMIHR5cGUgKGUuZy4gdW5zaWduZWQgbG9uZykuIEFzIGEgcmVzdWx0
LAorICAgICAgICB0aGVyZSBtYXkgYmUgYSB0eXBlIG1pc21hdGNoIGJldHdlZW4gdGhlIHZhbHVl
IHRoZSBiaW5kaW5ncyBhcmUgcGFzc2luZyBhbmQgdGhlIGltcGxlbWVudGF0aW9uCisgICAgICAg
IGZ1bmN0aW9uIGdldHRpbmcgY2FsbGVkLiBUaGlzIGltcGxpY2l0IGNvbnZlcnNpb24gaGFzIHVu
ZGVmaW5lZCBiZWhhdmlvciBpbiBzb21lIGNhc2VzIGFuZCBpdAorICAgICAgICB0cmlnZ2VycyBV
QlNhbiBlcnJvcnMuIFRvIGFkZHJlc3MgdGhlIGlzc3VlLCB3ZSBub3cgY2FsbCBjbGFtcFRvPE5h
dGl2ZU51bWJlclR5cGU+KCkgb24gdGhlCisgICAgICAgIGRvdWJsZSBiZWZvcmUgcGFzc2luZyBp
dCB0byB0aGUgaW1wbGVtZW50YXRpb24uIFRoaXMgbWFrZXMgc3VyZSB3ZSBwYXNzIHRoZSBpbXBs
ZW1lbnRhdGlvbgorICAgICAgICB0aGUgdHlwZSBpdCBleHBlY3RzIGFuZCB0aGF0IHRoZSBjb252
ZXJzaW9uIGlzIHdlbGwtZGVmaW5lZC4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvQmluZGluZ3MvQ29kZUdlbmVyYXRvclRlc3RSdW5uZXIucG06CisgICAgICAg
IChfZ2VuZXJhdGVJbXBsZW1lbnRhdGlvbkZpbGUpOgorICAgICAgICAoX25hdGl2ZU51bWVyaWNU
eXBlKToKKyAgICAgICAgKF9wbGF0Zm9ybVR5cGUpOgorICAgICAgICAoX3BsYXRmb3JtVHlwZUNv
bnN0cnVjdG9yKToKKyAgICAgICAgKF9wbGF0Zm9ybVR5cGVWYXJpYWJsZURlY2xhcmF0aW9uKToK
KwogMjAyMS0wMy0yMiAgQ2FtZXJvbiBNY0Nvcm1hY2sgIDxoZXljYW1AYXBwbGUuY29tPgogCiAg
ICAgICAgIEZpeCBvcmRlcmluZyBvZiBteSBlbWFpbCBhZGRyZXNzZXMgaW4gY29udHJpYnV0b3Jz
Lmpzb24KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
QmluZGluZ3MvQ29kZUdlbmVyYXRvclRlc3RSdW5uZXIucG0gYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0NvZGVHZW5lcmF0b3JUZXN0UnVubmVyLnBtCmlu
ZGV4IDUyZTNlZmE5OTFiOWRkNmMxNzVkYmI4ZTQxMGU2ZmVjZmFjMzAxMDguLjc5ZTZkNDhmMmY1
OWFlMmY4ZDZmYjM3OTFiZDhjOGFlZTUyNzYzNDQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQ29kZUdlbmVyYXRvclRlc3RSdW5uZXIu
cG0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9D
b2RlR2VuZXJhdG9yVGVzdFJ1bm5lci5wbQpAQCAtMjQ5LDYgKzI0OSw3IEBAIEVPRgogICAgIHB1
c2goQGNvbnRlbnRzLCA8PEVPRik7CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNSZXRhaW5Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+CisjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMu
aD4KIAogbmFtZXNwYWNlIFdUUiB7CiAKQEAgLTQ1OSw2ICs0NjAsMjcgQEAgc3ViIF9wYXJlbnRJ
bnRlcmZhY2UKICAgICByZXR1cm4gJGludGVyZmFjZS0+cGFyZW50VHlwZTsKIH0KIAorc3ViIF9u
YXRpdmVOdW1lcmljVHlwZQoreworICAgIG15ICgkc2VsZiwgJHR5cGUpID0gQF87CisgICAgbXkg
JW51bWVyaWNUeXBlSGFzaCA9ICgKKyAgICAgICAgImJ5dGUiID0+ICJpbnQ4X3QiLAorICAgICAg
ICAibG9uZyBsb25nIiA9PiAiaW50NjRfdCIsCisgICAgICAgICJsb25nIiA9PiAiaW50MzJfdCIs
CisgICAgICAgICJvY3RldCIgPT4gInVpbnQ4X3QiLAorICAgICAgICAic2hvcnQiID0+ICJpbnQx
Nl90IiwKKyAgICAgICAgInVuc2lnbmVkIGxvbmcgbG9uZyIgPT4gInVpbnQ2NF90IiwKKyAgICAg
ICAgInVuc2lnbmVkIGxvbmciID0+ICJ1aW50MzJfdCIsCisgICAgICAgICJ1bnNpZ25lZCBzaG9y
dCIgPT4gInVpbnQxNl90IiwKKyAgICAgICAgImZsb2F0IiA9PiAiZmxvYXQiLAorICAgICAgICAi
dW5yZXN0cmljdGVkIGZsb2F0IiA9PiAiZmxvYXQiLAorICAgICAgICAiZG91YmxlIiA9PiAiZG91
YmxlIiwKKyAgICAgICAgInVucmVzdHJpY3RlZCBkb3VibGUiID0+ICJkb3VibGUiLAorICAgICk7
CisgICAgbXkgJHJlc3VsdCA9ICRudW1lcmljVHlwZUhhc2h7JHR5cGUtPm5hbWV9OworICAgIHJl
dHVybiAoJHJlc3VsdCkgPyAkcmVzdWx0IDogImRvdWJsZSI7Cit9CisKIHN1YiBfcGxhdGZvcm1U
eXBlCiB7CiAgICAgbXkgKCRzZWxmLCAkdHlwZSkgPSBAXzsKQEAgLTQ2OCw3ICs0OTAsNyBAQCBz
dWIgX3BsYXRmb3JtVHlwZQogICAgIHJldHVybiAiYm9vbCIgaWYgJHR5cGUtPm5hbWUgZXEgImJv
b2xlYW4iOwogICAgIHJldHVybiAiSlNWYWx1ZVJlZiIgaWYgJHR5cGUtPm5hbWUgZXEgIm9iamVj
dCI7CiAgICAgcmV0dXJuICJKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4iIGlmICQkc2VsZntjb2Rl
R2VuZXJhdG9yfS0+SXNTdHJpbmdUeXBlKCR0eXBlKTsKLSAgICByZXR1cm4gImRvdWJsZSIgaWYg
JCRzZWxme2NvZGVHZW5lcmF0b3J9LT5Jc1ByaW1pdGl2ZVR5cGUoJHR5cGUpOworICAgIHJldHVy
biAkc2VsZi0+X25hdGl2ZU51bWVyaWNUeXBlKCR0eXBlKSBpZiAkJHNlbGZ7Y29kZUdlbmVyYXRv
cn0tPklzUHJpbWl0aXZlVHlwZSgkdHlwZSk7CiAgICAgcmV0dXJuIF9pbXBsZW1lbnRhdGlvbkNs
YXNzTmFtZSgkdHlwZSk7CiB9CiAKQEAgLTQ4MSw3ICs1MDMsMTIgQEAgc3ViIF9wbGF0Zm9ybVR5
cGVDb25zdHJ1Y3RvcgogICAgIHJldHVybiAiJGFyZ3VtZW50TmFtZSIgaWYgJHR5cGUtPm5hbWUg
ZXEgIm9iamVjdCI7CiAgICAgcmV0dXJuICJjcmVhdGVKU1N0cmluZyhjb250ZXh0LCAkYXJndW1l
bnROYW1lKSIgaWYgJCRzZWxme2NvZGVHZW5lcmF0b3J9LT5Jc1N0cmluZ1R5cGUoJHR5cGUpOwog
ICAgIHJldHVybiAidG9PcHRpb25hbERvdWJsZShjb250ZXh0LCAkYXJndW1lbnROYW1lKSIgaWYg
JCRzZWxme2NvZGVHZW5lcmF0b3J9LT5Jc1ByaW1pdGl2ZVR5cGUoJHR5cGUpICYmICR0eXBlLT5p
c051bGxhYmxlOwotICAgIHJldHVybiAiSlNWYWx1ZVRvTnVtYmVyKGNvbnRleHQsICRhcmd1bWVu
dE5hbWUsIG51bGxwdHIpIiBpZiAkJHNlbGZ7Y29kZUdlbmVyYXRvcn0tPklzUHJpbWl0aXZlVHlw
ZSgkdHlwZSk7CisgICAgaWYgKCQkc2VsZntjb2RlR2VuZXJhdG9yfS0+SXNQcmltaXRpdmVUeXBl
KCR0eXBlKSkgeworICAgICAgICBteSAkY29udmVydFRvRG91YmxlID0gIkpTVmFsdWVUb051bWJl
cihjb250ZXh0LCAkYXJndW1lbnROYW1lLCBudWxscHRyKSI7CisgICAgICAgIG15ICRuYXRpdmVO
dW1lcmljVHlwZSA9ICRzZWxmLT5fbmF0aXZlTnVtZXJpY1R5cGUoJHR5cGUpOworICAgICAgICBy
ZXR1cm4gImNsYW1wVG88JG5hdGl2ZU51bWVyaWNUeXBlPigkY29udmVydFRvRG91YmxlKSIgaWYg
JG5hdGl2ZU51bWVyaWNUeXBlIG5lICJkb3VibGUiOworICAgICAgICByZXR1cm4gJGNvbnZlcnRU
b0RvdWJsZTsKKyAgICB9CiAgICAgcmV0dXJuICJ0byIgLiBfaW1wbGVtZW50YXRpb25DbGFzc05h
bWUoJHR5cGUpIC4gIihjb250ZXh0LCAkYXJndW1lbnROYW1lKSI7CiB9CiAKQEAgLTQ5NCw3ICs1
MjEsNiBAQCBzdWIgX3BsYXRmb3JtVHlwZVZhcmlhYmxlRGVjbGFyYXRpb24KIAogICAgIG15ICVu
b25Qb2ludGVyVHlwZXMgPSAoCiAgICAgICAgICJib29sIiA9PiAxLAotICAgICAgICAiZG91Ymxl
IiA9PiAxLAogICAgICAgICAiSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IiA9PiAxLAogICAgICAg
ICAiSlNWYWx1ZVJlZiIgPT4gMSwKICAgICApOwpAQCAtNTAyLDcgKzUyOCw3IEBAIHN1YiBfcGxh
dGZvcm1UeXBlVmFyaWFibGVEZWNsYXJhdGlvbgogICAgIG15ICRudWxsVmFsdWUgPSAibnVsbHB0
ciI7CiAgICAgaWYgKCRwbGF0Zm9ybVR5cGUgZXEgIkpTVmFsdWVSZWYiKSB7CiAgICAgICAgICRu
dWxsVmFsdWUgPSAiSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCkiOwotICAgIH0gZWxzaWYg
KGRlZmluZWQgJG5vblBvaW50ZXJUeXBlc3skcGxhdGZvcm1UeXBlfSkgeworICAgIH0gZWxzaWYg
KGRlZmluZWQgJG5vblBvaW50ZXJUeXBlc3skcGxhdGZvcm1UeXBlfSB8fCAkJHNlbGZ7Y29kZUdl
bmVyYXRvcn0tPklzTnVtZXJpY1R5cGUoJHR5cGUpKSB7CiAgICAgICAgICRudWxsVmFsdWUgPSAk
dHlwZS0+aXNOdWxsYWJsZSA/ICJXVEY6Om51bGxvcHQiIDogIiRwbGF0Zm9ybVR5cGUoKSI7CiAg
ICAgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424067</attachid>
            <date>2021-03-23 14:45:40 -0700</date>
            <delta_ts>2021-03-23 15:41:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223650-20210323144539.patch</filename>
            <type>text/plain</type>
            <size>6623</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0ODk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDdhMGM3MTc4ZTY4YTEwMjQzNGM0NTYw
MmE2NTA1ODUxNzc4YWRmNjIuLjFkZDFhZjliOGY2OTNkODNjNTgyNWM5YmM3OGQzNzAxNzNlYjNi
ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjEtMDMtMjMgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBEZXJpdmVkU291cmNlcy9XZWJLaXRUZXN0UnVubmVyL0pT
QWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHA6ODAyOjcyOiBydW50aW1lIGVycm9yOiAtMSBpcyBv
dXRzaWRlIHRoZSByYW5nZSBvZiByZXByZXNlbnRhYmxlIHZhbHVlcyBvZiB0eXBlICd1bnNpZ25l
ZCBpbnQnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjM2NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBV
cGRhdGUgdGhlIGNsYW1wVG8oKSB0ZW1wbGF0ZSBzcGVjaWFsaXphdGlvbiB0aGF0IGNvbnZlcnRz
IGZsb2F0aW5nIHR5cGVzIGludG8gaW50ZWdlciB0eXBlcyBzbyB0aGF0CisgICAgICAgIGl0IGRl
YWxzIHdpdGggTmFOIGlucHV0cyBpbiBhIHdlbGwtZGVmaW5lZCBtYW5uZXIuIFByZXZpb3VzbHks
IGl0IHdvdWxkIHNpbXBseSBjYXN0IHRoZSBOYU4gdG8gdGhlCisgICAgICAgIGludGVnZXIgdHlw
ZSwgd2hpY2ggd2FzIHVuZGVmaW5lZCBiZWhhdmlvci4gV2Ugbm93IHJlcGxhY2UgTmFOIHdpdGgg
MCBiZWZvcmUgYXBwbHlpbmcgdGhlIGJvdW5kYXJ5CisgICAgICAgIGNoZWNrcy4KKworICAgICAg
ICAqIHd0Zi9NYXRoRXh0cmFzLmg6CisgICAgICAgIChjbGFtcFRvKToKKwogMjAyMS0wMy0yMyAg
QWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJl
bW92ZSB1bnVzZWQgV1RGOjpTdHJpbmc6OnBlcmNlbnRhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL01hdGhFeHRyYXMuaCBiL1NvdXJjZS9XVEYvd3RmL01hdGhFeHRyYXMuaAppbmRleCBj
ZjExNWVmMzZhNjgxZDZlYjFlMTIzYTcxMTRhNTQwNWU5NWZhNjA3Li4zZjE3NDZjNTI4ZWU3Yzg5
YjkxOWI0ZjdjZDRhOTk5YjI1ZTFlY2U0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9NYXRo
RXh0cmFzLmgKKysrIGIvU291cmNlL1dURi93dGYvTWF0aEV4dHJhcy5oCkBAIC0xNDcsNiArMTQ3
LDggQEAgdGVtcGxhdGU8dHlwZW5hbWUgVGFyZ2V0VHlwZSwgdHlwZW5hbWUgU291cmNlVHlwZT4K
IHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPHN0ZDo6aXNfc2FtZTxUYXJnZXRUeXBlLCBTb3VyY2VU
eXBlPjo6dmFsdWUsIFRhcmdldFR5cGU+Ojp0eXBlCiBjbGFtcFRvKFNvdXJjZVR5cGUgdmFsdWUs
IFRhcmdldFR5cGUgbWluID0gZGVmYXVsdE1pbmltdW1Gb3JDbGFtcDxUYXJnZXRUeXBlPigpLCBU
YXJnZXRUeXBlIG1heCA9IGRlZmF1bHRNYXhpbXVtRm9yQ2xhbXA8VGFyZ2V0VHlwZT4oKSkKIHsK
KyAgICBpZiAoc3RkOjppc25hbih2YWx1ZSkpCisgICAgICAgIHZhbHVlID0gMDsKICAgICBpZiAo
dmFsdWUgPj0gbWF4KQogICAgICAgICByZXR1cm4gbWF4OwogICAgIGlmICh2YWx1ZSA8PSBtaW4p
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMGJl
MjAyMzM5ZTAzYmE5ODU3YjZjYmIxYTliNTUxOTkwM2QzMjUxOS4uNTkyNWYwZGJjYmU0YjFlMzJk
Y2M1YmU4YTk0YTk0YmIyZDNkYWExMiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTAzLTIzICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRGVyaXZlZFNvdXJjZXMvV2ViS2l0VGVz
dFJ1bm5lci9KU0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwOjgwMjo3MjogcnVudGltZSBlcnJv
cjogLTEgaXMgb3V0c2lkZSB0aGUgcmFuZ2Ugb2YgcmVwcmVzZW50YWJsZSB2YWx1ZXMgb2YgdHlw
ZSAndW5zaWduZWQgaW50JworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIzNjUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhlIGJpbmRpbmdzIGdlbmVyYXRvciB1c2VkIGJ5IFdlYktpdFRlc3RSdW5uZXIg
d2FzIGNvbnZlcnRpbmcgYWxsIG51bWJlcnMgaW50byBkb3VibGUgYW5kCisgICAgICAgIHBhc3Np
bmcgdGhhdCB0byB0aGUgaW1wbGVtZW50YXRpb24sIG5vIG1hdHRlciB0aGUgSURMIHR5cGUgKGUu
Zy4gdW5zaWduZWQgbG9uZykuIEFzIGEgcmVzdWx0LAorICAgICAgICB0aGVyZSBtYXkgYmUgYSB0
eXBlIG1pc21hdGNoIGJldHdlZW4gdGhlIHZhbHVlIHRoZSBiaW5kaW5ncyBhcmUgcGFzc2luZyBh
bmQgdGhlIGltcGxlbWVudGF0aW9uCisgICAgICAgIGZ1bmN0aW9uIGdldHRpbmcgY2FsbGVkLiBU
aGlzIGltcGxpY2l0IGNvbnZlcnNpb24gaGFzIHVuZGVmaW5lZCBiZWhhdmlvciBpbiBzb21lIGNh
c2VzIGFuZCBpdAorICAgICAgICB0cmlnZ2VycyBVQlNhbiBlcnJvcnMuIFRvIGFkZHJlc3MgdGhl
IGlzc3VlLCB3ZSBub3cgY2FsbCBjbGFtcFRvPE5hdGl2ZU51bWJlclR5cGU+KCkgb24gdGhlCisg
ICAgICAgIGRvdWJsZSBiZWZvcmUgcGFzc2luZyBpdCB0byB0aGUgaW1wbGVtZW50YXRpb24uIFRo
aXMgbWFrZXMgc3VyZSB3ZSBwYXNzIHRoZSBpbXBsZW1lbnRhdGlvbgorICAgICAgICB0aGUgdHlw
ZSBpdCBleHBlY3RzIGFuZCB0aGF0IHRoZSBjb252ZXJzaW9uIGlzIHdlbGwtZGVmaW5lZC4KKwor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQ29kZUdl
bmVyYXRvclRlc3RSdW5uZXIucG06CisgICAgICAgIChfZ2VuZXJhdGVJbXBsZW1lbnRhdGlvbkZp
bGUpOgorICAgICAgICAoX25hdGl2ZU51bWVyaWNUeXBlKToKKyAgICAgICAgKF9wbGF0Zm9ybVR5
cGUpOgorICAgICAgICAoX3BsYXRmb3JtVHlwZUNvbnN0cnVjdG9yKToKKyAgICAgICAgKF9wbGF0
Zm9ybVR5cGVWYXJpYWJsZURlY2xhcmF0aW9uKToKKwogMjAyMS0wMy0yMyAgSmlld2VuIFRhbiAg
PGppZXdlbl90YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFByb3ZpZGUgYSB3YXkgdG8gc3BlY2lm
eSBwbGF0Zm9ybSB2cyBzZWN1cml0eSBrZXkgd2hlbiByZXF1ZXN0aW5nIGFuIGFzc2VydGlvbiBp
biB0aGUgU1BJCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0JpbmRpbmdzL0NvZGVHZW5lcmF0b3JUZXN0UnVubmVyLnBtIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9Db2RlR2VuZXJhdG9yVGVzdFJ1bm5lci5w
bQppbmRleCA1MmUzZWZhOTkxYjlkZDZjMTc1ZGJiOGU0MTBlNmZlY2ZhYzMwMTA4Li43OWU2ZDQ4
ZjJmNTlhZTJmOGQ2ZmIzNzkxYmQ4YzhhZWU1Mjc2MzQ0IDEwMDY0NAotLS0gYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0NvZGVHZW5lcmF0b3JUZXN0UnVu
bmVyLnBtCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGlu
Z3MvQ29kZUdlbmVyYXRvclRlc3RSdW5uZXIucG0KQEAgLTI0OSw2ICsyNDksNyBAQCBFT0YKICAg
ICBwdXNoKEBjb250ZW50cywgPDxFT0YpOwogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTUmV0
YWluUHRyLmg+CiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgorI2luY2x1ZGUgPHd0Zi9NYXRoRXh0
cmFzLmg+CiAKIG5hbWVzcGFjZSBXVFIgewogCkBAIC00NTksNiArNDYwLDI3IEBAIHN1YiBfcGFy
ZW50SW50ZXJmYWNlCiAgICAgcmV0dXJuICRpbnRlcmZhY2UtPnBhcmVudFR5cGU7CiB9CiAKK3N1
YiBfbmF0aXZlTnVtZXJpY1R5cGUKK3sKKyAgICBteSAoJHNlbGYsICR0eXBlKSA9IEBfOworICAg
IG15ICVudW1lcmljVHlwZUhhc2ggPSAoCisgICAgICAgICJieXRlIiA9PiAiaW50OF90IiwKKyAg
ICAgICAgImxvbmcgbG9uZyIgPT4gImludDY0X3QiLAorICAgICAgICAibG9uZyIgPT4gImludDMy
X3QiLAorICAgICAgICAib2N0ZXQiID0+ICJ1aW50OF90IiwKKyAgICAgICAgInNob3J0IiA9PiAi
aW50MTZfdCIsCisgICAgICAgICJ1bnNpZ25lZCBsb25nIGxvbmciID0+ICJ1aW50NjRfdCIsCisg
ICAgICAgICJ1bnNpZ25lZCBsb25nIiA9PiAidWludDMyX3QiLAorICAgICAgICAidW5zaWduZWQg
c2hvcnQiID0+ICJ1aW50MTZfdCIsCisgICAgICAgICJmbG9hdCIgPT4gImZsb2F0IiwKKyAgICAg
ICAgInVucmVzdHJpY3RlZCBmbG9hdCIgPT4gImZsb2F0IiwKKyAgICAgICAgImRvdWJsZSIgPT4g
ImRvdWJsZSIsCisgICAgICAgICJ1bnJlc3RyaWN0ZWQgZG91YmxlIiA9PiAiZG91YmxlIiwKKyAg
ICApOworICAgIG15ICRyZXN1bHQgPSAkbnVtZXJpY1R5cGVIYXNoeyR0eXBlLT5uYW1lfTsKKyAg
ICByZXR1cm4gKCRyZXN1bHQpID8gJHJlc3VsdCA6ICJkb3VibGUiOworfQorCiBzdWIgX3BsYXRm
b3JtVHlwZQogewogICAgIG15ICgkc2VsZiwgJHR5cGUpID0gQF87CkBAIC00NjgsNyArNDkwLDcg
QEAgc3ViIF9wbGF0Zm9ybVR5cGUKICAgICByZXR1cm4gImJvb2wiIGlmICR0eXBlLT5uYW1lIGVx
ICJib29sZWFuIjsKICAgICByZXR1cm4gIkpTVmFsdWVSZWYiIGlmICR0eXBlLT5uYW1lIGVxICJv
YmplY3QiOwogICAgIHJldHVybiAiSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IiBpZiAkJHNlbGZ7
Y29kZUdlbmVyYXRvcn0tPklzU3RyaW5nVHlwZSgkdHlwZSk7Ci0gICAgcmV0dXJuICJkb3VibGUi
IGlmICQkc2VsZntjb2RlR2VuZXJhdG9yfS0+SXNQcmltaXRpdmVUeXBlKCR0eXBlKTsKKyAgICBy
ZXR1cm4gJHNlbGYtPl9uYXRpdmVOdW1lcmljVHlwZSgkdHlwZSkgaWYgJCRzZWxme2NvZGVHZW5l
cmF0b3J9LT5Jc1ByaW1pdGl2ZVR5cGUoJHR5cGUpOwogICAgIHJldHVybiBfaW1wbGVtZW50YXRp
b25DbGFzc05hbWUoJHR5cGUpOwogfQogCkBAIC00ODEsNyArNTAzLDEyIEBAIHN1YiBfcGxhdGZv
cm1UeXBlQ29uc3RydWN0b3IKICAgICByZXR1cm4gIiRhcmd1bWVudE5hbWUiIGlmICR0eXBlLT5u
YW1lIGVxICJvYmplY3QiOwogICAgIHJldHVybiAiY3JlYXRlSlNTdHJpbmcoY29udGV4dCwgJGFy
Z3VtZW50TmFtZSkiIGlmICQkc2VsZntjb2RlR2VuZXJhdG9yfS0+SXNTdHJpbmdUeXBlKCR0eXBl
KTsKICAgICByZXR1cm4gInRvT3B0aW9uYWxEb3VibGUoY29udGV4dCwgJGFyZ3VtZW50TmFtZSki
IGlmICQkc2VsZntjb2RlR2VuZXJhdG9yfS0+SXNQcmltaXRpdmVUeXBlKCR0eXBlKSAmJiAkdHlw
ZS0+aXNOdWxsYWJsZTsKLSAgICByZXR1cm4gIkpTVmFsdWVUb051bWJlcihjb250ZXh0LCAkYXJn
dW1lbnROYW1lLCBudWxscHRyKSIgaWYgJCRzZWxme2NvZGVHZW5lcmF0b3J9LT5Jc1ByaW1pdGl2
ZVR5cGUoJHR5cGUpOworICAgIGlmICgkJHNlbGZ7Y29kZUdlbmVyYXRvcn0tPklzUHJpbWl0aXZl
VHlwZSgkdHlwZSkpIHsKKyAgICAgICAgbXkgJGNvbnZlcnRUb0RvdWJsZSA9ICJKU1ZhbHVlVG9O
dW1iZXIoY29udGV4dCwgJGFyZ3VtZW50TmFtZSwgbnVsbHB0cikiOworICAgICAgICBteSAkbmF0
aXZlTnVtZXJpY1R5cGUgPSAkc2VsZi0+X25hdGl2ZU51bWVyaWNUeXBlKCR0eXBlKTsKKyAgICAg
ICAgcmV0dXJuICJjbGFtcFRvPCRuYXRpdmVOdW1lcmljVHlwZT4oJGNvbnZlcnRUb0RvdWJsZSki
IGlmICRuYXRpdmVOdW1lcmljVHlwZSBuZSAiZG91YmxlIjsKKyAgICAgICAgcmV0dXJuICRjb252
ZXJ0VG9Eb3VibGU7CisgICAgfQogICAgIHJldHVybiAidG8iIC4gX2ltcGxlbWVudGF0aW9uQ2xh
c3NOYW1lKCR0eXBlKSAuICIoY29udGV4dCwgJGFyZ3VtZW50TmFtZSkiOwogfQogCkBAIC00OTQs
NyArNTIxLDYgQEAgc3ViIF9wbGF0Zm9ybVR5cGVWYXJpYWJsZURlY2xhcmF0aW9uCiAKICAgICBt
eSAlbm9uUG9pbnRlclR5cGVzID0gKAogICAgICAgICAiYm9vbCIgPT4gMSwKLSAgICAgICAgImRv
dWJsZSIgPT4gMSwKICAgICAgICAgIkpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiIgPT4gMSwKICAg
ICAgICAgIkpTVmFsdWVSZWYiID0+IDEsCiAgICAgKTsKQEAgLTUwMiw3ICs1MjgsNyBAQCBzdWIg
X3BsYXRmb3JtVHlwZVZhcmlhYmxlRGVjbGFyYXRpb24KICAgICBteSAkbnVsbFZhbHVlID0gIm51
bGxwdHIiOwogICAgIGlmICgkcGxhdGZvcm1UeXBlIGVxICJKU1ZhbHVlUmVmIikgewogICAgICAg
ICAkbnVsbFZhbHVlID0gIkpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpIjsKLSAgICB9IGVs
c2lmIChkZWZpbmVkICRub25Qb2ludGVyVHlwZXN7JHBsYXRmb3JtVHlwZX0pIHsKKyAgICB9IGVs
c2lmIChkZWZpbmVkICRub25Qb2ludGVyVHlwZXN7JHBsYXRmb3JtVHlwZX0gfHwgJCRzZWxme2Nv
ZGVHZW5lcmF0b3J9LT5Jc051bWVyaWNUeXBlKCR0eXBlKSkgewogICAgICAgICAkbnVsbFZhbHVl
ID0gJHR5cGUtPmlzTnVsbGFibGUgPyAiV1RGOjpudWxsb3B0IiA6ICIkcGxhdGZvcm1UeXBlKCki
OwogICAgIH0KIAo=
</data>
<flag name="commit-queue"
          id="443636"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424074</attachid>
            <date>2021-03-23 15:31:47 -0700</date>
            <delta_ts>2021-03-23 17:30:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223650-20210323153146.patch</filename>
            <type>text/plain</type>
            <size>9648</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0OTAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGNmYzczYWI5YzdiZWUzNDEzMjkxOGE5
NDVhYTQ3NDVkZjM2NDE1ZWUuLmU1OWIzYjVmM2RiZjgyNGZkZTE4YmU0ZDhjYjlmZTU4MTg3YmYw
MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjEtMDMtMjMgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBEZXJpdmVkU291cmNlcy9XZWJLaXRUZXN0UnVubmVyL0pT
QWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHA6ODAyOjcyOiBydW50aW1lIGVycm9yOiAtMSBpcyBv
dXRzaWRlIHRoZSByYW5nZSBvZiByZXByZXNlbnRhYmxlIHZhbHVlcyBvZiB0eXBlICd1bnNpZ25l
ZCBpbnQnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjM2NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBV
cGRhdGUgdGhlIGNsYW1wVG8oKSB0ZW1wbGF0ZSBzcGVjaWFsaXphdGlvbiB0aGF0IGNvbnZlcnRz
IGZsb2F0aW5nIHR5cGVzIGludG8gaW50ZWdlciB0eXBlcyBzbyB0aGF0CisgICAgICAgIGl0IGRl
YWxzIHdpdGggTmFOIGlucHV0cyBpbiBhIHdlbGwtZGVmaW5lZCBtYW5uZXIuIFByZXZpb3VzbHks
IGl0IHdvdWxkIHNpbXBseSBjYXN0IHRoZSBOYU4gdG8gdGhlCisgICAgICAgIGludGVnZXIgdHlw
ZSwgd2hpY2ggd2FzIHVuZGVmaW5lZCBiZWhhdmlvci4gV2Ugbm93IHJldHVybiB0aGUgbWluaW11
bSByYW5nZSBib3VuZGFyeSBmb3IgdGhlIG91dHB1dAorICAgICAgICB3aGVuIHRoZSBpbnB1dCBp
cyBOYU4uCisKKyAgICAgICAgKiB3dGYvTWF0aEV4dHJhcy5oOgorICAgICAgICAoY2xhbXBUbyk6
CisKIDIwMjEtMDMtMjMgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAg
ICAgRG9uJ3QgcmVxdWlyZSBWTV9GTEFHU19QRVJNQU5FTlQgb24gdGhlIHNpbXVsYXRvciBidWls
ZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL01hdGhFeHRyYXMuaCBiL1NvdXJjZS9XVEYv
d3RmL01hdGhFeHRyYXMuaAppbmRleCBjZjExNWVmMzZhNjgxZDZlYjFlMTIzYTcxMTRhNTQwNWU5
NWZhNjA3Li5hYzMxODZmMDZmYmM0N2E2MTI0ZmViOWM4NTM0MWRmM2NlYTU5OTQxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9NYXRoRXh0cmFzLmgKKysrIGIvU291cmNlL1dURi93dGYvTWF0
aEV4dHJhcy5oCkBAIC0xNjMsNyArMTYzLDggQEAgY2xhbXBUbyhTb3VyY2VUeXBlIHZhbHVlLCBU
YXJnZXRUeXBlIG1pbiA9IGRlZmF1bHRNaW5pbXVtRm9yQ2xhbXA8VGFyZ2V0VHlwZT4oKSwKIHsK
ICAgICBpZiAodmFsdWUgPj0gc3RhdGljX2Nhc3Q8U291cmNlVHlwZT4obWF4KSkKICAgICAgICAg
cmV0dXJuIG1heDsKLSAgICBpZiAodmFsdWUgPD0gc3RhdGljX2Nhc3Q8U291cmNlVHlwZT4obWlu
KSkKKyAgICAvLyBUaGlzIHdpbGwgcmV0dXJuIG1pbiBpZiB2YWx1ZSBpcyBOYU4uCisgICAgaWYg
KCEodmFsdWUgPiBzdGF0aWNfY2FzdDxTb3VyY2VUeXBlPihtaW4pKSkKICAgICAgICAgcmV0dXJu
IG1pbjsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VGFyZ2V0VHlwZT4odmFsdWUpOwogfQpkaWZm
IC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDBiZTIwMjMz
OWUwM2JhOTg1N2I2Y2JiMWE5YjU1MTk5MDNkMzI1MTkuLjU5MjVmMGRiY2JlNGIxZTMyZGNjNWJl
OGE5NGE5NGJiMmQzZGFhMTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29s
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAyMS0wMy0yMyAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIERlcml2ZWRTb3VyY2VzL1dlYktpdFRlc3RSdW5u
ZXIvSlNBY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcDo4MDI6NzI6IHJ1bnRpbWUgZXJyb3I6IC0x
IGlzIG91dHNpZGUgdGhlIHJhbmdlIG9mIHJlcHJlc2VudGFibGUgdmFsdWVzIG9mIHR5cGUgJ3Vu
c2lnbmVkIGludCcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyMzY1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoZSBiaW5kaW5ncyBnZW5lcmF0b3IgdXNlZCBieSBXZWJLaXRUZXN0UnVubmVyIHdhcyBj
b252ZXJ0aW5nIGFsbCBudW1iZXJzIGludG8gZG91YmxlIGFuZAorICAgICAgICBwYXNzaW5nIHRo
YXQgdG8gdGhlIGltcGxlbWVudGF0aW9uLCBubyBtYXR0ZXIgdGhlIElETCB0eXBlIChlLmcuIHVu
c2lnbmVkIGxvbmcpLiBBcyBhIHJlc3VsdCwKKyAgICAgICAgdGhlcmUgbWF5IGJlIGEgdHlwZSBt
aXNtYXRjaCBiZXR3ZWVuIHRoZSB2YWx1ZSB0aGUgYmluZGluZ3MgYXJlIHBhc3NpbmcgYW5kIHRo
ZSBpbXBsZW1lbnRhdGlvbgorICAgICAgICBmdW5jdGlvbiBnZXR0aW5nIGNhbGxlZC4gVGhpcyBp
bXBsaWNpdCBjb252ZXJzaW9uIGhhcyB1bmRlZmluZWQgYmVoYXZpb3IgaW4gc29tZSBjYXNlcyBh
bmQgaXQKKyAgICAgICAgdHJpZ2dlcnMgVUJTYW4gZXJyb3JzLiBUbyBhZGRyZXNzIHRoZSBpc3N1
ZSwgd2Ugbm93IGNhbGwgY2xhbXBUbzxOYXRpdmVOdW1iZXJUeXBlPigpIG9uIHRoZQorICAgICAg
ICBkb3VibGUgYmVmb3JlIHBhc3NpbmcgaXQgdG8gdGhlIGltcGxlbWVudGF0aW9uLiBUaGlzIG1h
a2VzIHN1cmUgd2UgcGFzcyB0aGUgaW1wbGVtZW50YXRpb24KKyAgICAgICAgdGhlIHR5cGUgaXQg
ZXhwZWN0cyBhbmQgdGhhdCB0aGUgY29udmVyc2lvbiBpcyB3ZWxsLWRlZmluZWQuCisKKyAgICAg
ICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0NvZGVHZW5lcmF0
b3JUZXN0UnVubmVyLnBtOgorICAgICAgICAoX2dlbmVyYXRlSW1wbGVtZW50YXRpb25GaWxlKToK
KyAgICAgICAgKF9uYXRpdmVOdW1lcmljVHlwZSk6CisgICAgICAgIChfcGxhdGZvcm1UeXBlKToK
KyAgICAgICAgKF9wbGF0Zm9ybVR5cGVDb25zdHJ1Y3Rvcik6CisgICAgICAgIChfcGxhdGZvcm1U
eXBlVmFyaWFibGVEZWNsYXJhdGlvbik6CisKIDIwMjEtMDMtMjMgIEppZXdlbiBUYW4gIDxqaWV3
ZW5fdGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBQcm92aWRlIGEgd2F5IHRvIHNwZWNpZnkgcGxh
dGZvcm0gdnMgc2VjdXJpdHkga2V5IHdoZW4gcmVxdWVzdGluZyBhbiBhc3NlcnRpb24gaW4gdGhl
IFNQSQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTWF0aEV4dHJh
cy5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9NYXRoRXh0cmFzLmNwcAppbmRl
eCA2ZmFkODIwOGUxODE4MzQxY2VkZTQyN2FlNzdhNzAwOWEyNzE1Mjg0Li43ZjgxYzczZDdmMzJm
MTM5MmU5YzlhNTJkODQyMTcyNmRjMTVjZTljIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dURi9NYXRoRXh0cmFzLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dURi9NYXRoRXh0cmFzLmNwcApAQCAtNDMwLDYgKzQzMCwzOSBAQCBURVNUKFdURiwgY2xh
bXBTaWduZWRUb1Vuc2lnbmVkKQogICAgIHRlc3RDbGFtcFNpZ25lZFRvVW5zaWduZWQ8dWludDE2
X3QsIGludDY0X3Q+KCk7CiB9CiAKK1RFU1QoV1RGLCBjbGFtcE5hTlRvSW50ZWdlcikKK3sKKyAg
ICAvLyBjbGFtcFRvPD4oKSBjdXJyZW50bHkgcmV0dXJucyB0aGUgbWluaW51bSByYW5nZSB2YWx1
ZSB3aGVuIHRoZSBpbnB1dCBpcyBOYU4uCisgICAgRVhQRUNUX0VRKHN0ZDo6bnVtZXJpY19saW1p
dHM8aW50Pjo6bWluKCksIGNsYW1wVG88aW50PihzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46
OnF1aWV0X05hTigpKSk7CisgICAgRVhQRUNUX0VRKHN0ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6
bWluKCksIGNsYW1wVG88aW50PihzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6cXVpZXRfTmFO
KCkpKTsKKyAgICBFWFBFQ1RfRVEoc3RkOjpudW1lcmljX2xpbWl0czx1bnNpZ25lZD46Om1pbigp
LCBjbGFtcFRvPHVuc2lnbmVkPihzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05h
TigpKSk7CisgICAgRVhQRUNUX0VRKHN0ZDo6bnVtZXJpY19saW1pdHM8dW5zaWduZWQ+OjptaW4o
KSwgY2xhbXBUbzx1bnNpZ25lZD4oc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OnF1aWV0X05h
TigpKSk7CisgICAgRVhQRUNUX0VRKC0zMCwgY2xhbXBUbzxpbnQ+KHN0ZDo6bnVtZXJpY19saW1p
dHM8ZG91YmxlPjo6cXVpZXRfTmFOKCksIC0zMCwgLTEwKSk7CisgICAgRVhQRUNUX0VRKDEwVSwg
Y2xhbXBUbzx1bnNpZ25lZD4oc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4o
KSwgMTAsIDIwKSk7CisgICAgRVhQRUNUX0VRKC0zMCwgY2xhbXBUbzxpbnQ+KHN0ZDo6bnVtZXJp
Y19saW1pdHM8ZmxvYXQ+OjpxdWlldF9OYU4oKSwgLTMwLCAtMTApKTsKKyAgICBFWFBFQ1RfRVEo
MTBVLCBjbGFtcFRvPHVuc2lnbmVkPihzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6cXVpZXRf
TmFOKCksIDEwLCAyMCkpOworfQorCitURVNUKFdURiwgY2xhbXBJbmZpbml0eVRvSW50ZWdlcikK
K3sKKyAgICBFWFBFQ1RfRVEoc3RkOjpudW1lcmljX2xpbWl0czxpbnQ+OjptYXgoKSwgY2xhbXBU
bzxpbnQ+KHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6aW5maW5pdHkoKSkpOworICAgIEVY
UEVDVF9FUShzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1pbigpLCBjbGFtcFRvPGludD4oLXN0
ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6aW5maW5pdHkoKSkpOworICAgIEVYUEVDVF9FUShz
dGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1heCgpLCBjbGFtcFRvPGludD4oc3RkOjpudW1lcmlj
X2xpbWl0czxmbG9hdD46OmluZmluaXR5KCkpKTsKKyAgICBFWFBFQ1RfRVEoc3RkOjpudW1lcmlj
X2xpbWl0czxpbnQ+OjptaW4oKSwgY2xhbXBUbzxpbnQ+KC1zdGQ6Om51bWVyaWNfbGltaXRzPGZs
b2F0Pjo6aW5maW5pdHkoKSkpOworICAgIEVYUEVDVF9FUShzdGQ6Om51bWVyaWNfbGltaXRzPHVu
c2lnbmVkPjo6bWF4KCksIGNsYW1wVG88dW5zaWduZWQ+KHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91
YmxlPjo6aW5maW5pdHkoKSkpOworICAgIEVYUEVDVF9FUShzdGQ6Om51bWVyaWNfbGltaXRzPHVu
c2lnbmVkPjo6bWluKCksIGNsYW1wVG88dW5zaWduZWQ+KC1zdGQ6Om51bWVyaWNfbGltaXRzPGRv
dWJsZT46OmluZmluaXR5KCkpKTsKKyAgICBFWFBFQ1RfRVEoc3RkOjpudW1lcmljX2xpbWl0czx1
bnNpZ25lZD46Om1heCgpLCBjbGFtcFRvPHVuc2lnbmVkPihzdGQ6Om51bWVyaWNfbGltaXRzPGZs
b2F0Pjo6aW5maW5pdHkoKSkpOworICAgIEVYUEVDVF9FUShzdGQ6Om51bWVyaWNfbGltaXRzPHVu
c2lnbmVkPjo6bWluKCksIGNsYW1wVG88dW5zaWduZWQ+KC1zdGQ6Om51bWVyaWNfbGltaXRzPGZs
b2F0Pjo6aW5maW5pdHkoKSkpOworICAgIEVYUEVDVF9FUSgxMCwgY2xhbXBUbzxpbnQ+KHN0ZDo6
bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6aW5maW5pdHkoKSwgLTEwLCAxMCkpOworICAgIEVYUEVD
VF9FUSgtMTAsIGNsYW1wVG88aW50Pigtc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZp
bml0eSgpLCAtMTAsIDEwKSk7CisgICAgRVhQRUNUX0VRKDIwVSwgY2xhbXBUbzx1bnNpZ25lZD4o
c3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZpbml0eSgpLCAxMCwgMjApKTsKKyAgICBF
WFBFQ1RfRVEoMTBVLCBjbGFtcFRvPHVuc2lnbmVkPigtc3RkOjpudW1lcmljX2xpbWl0czxkb3Vi
bGU+OjppbmZpbml0eSgpLCAxMCwgMjApKTsKKyAgICBFWFBFQ1RfRVEoMTAsIGNsYW1wVG88aW50
PihzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6aW5maW5pdHkoKSwgLTEwLCAxMCkpOworICAg
IEVYUEVDVF9FUSgtMTAsIGNsYW1wVG88aW50Pigtc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46
OmluZmluaXR5KCksIC0xMCwgMTApKTsKKyAgICBFWFBFQ1RfRVEoMjBVLCBjbGFtcFRvPHVuc2ln
bmVkPihzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6aW5maW5pdHkoKSwgMTAsIDIwKSk7Cisg
ICAgRVhQRUNUX0VRKDEwVSwgY2xhbXBUbzx1bnNpZ25lZD4oLXN0ZDo6bnVtZXJpY19saW1pdHM8
ZmxvYXQ+OjppbmZpbml0eSgpLCAxMCwgMjApKTsKK30KKwogVEVTVChXVEYsIHJvdW5kVXBUb1Bv
d2VyT2ZUd28pCiB7CiAgICAgRVhQRUNUX0VRKFdURjo6cm91bmRVcFRvUG93ZXJPZlR3byhVSU5U
MzJfTUFYKSwgMFUpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9CaW5kaW5ncy9Db2RlR2VuZXJhdG9yVGVzdFJ1bm5lci5wbSBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQ29kZUdlbmVyYXRvclRlc3RSdW5u
ZXIucG0KaW5kZXggNTJlM2VmYTk5MWI5ZGQ2YzE3NWRiYjhlNDEwZTZmZWNmYWMzMDEwOC4uNzll
NmQ0OGYyZjU5YWUyZjhkNmZiMzc5MWJkOGM4YWVlNTI3NjM0NCAxMDA2NDQKLS0tIGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9Db2RlR2VuZXJhdG9yVGVz
dFJ1bm5lci5wbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Jp
bmRpbmdzL0NvZGVHZW5lcmF0b3JUZXN0UnVubmVyLnBtCkBAIC0yNDksNiArMjQ5LDcgQEAgRU9G
CiAgICAgcHVzaChAY29udGVudHMsIDw8RU9GKTsKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9K
U1JldGFpblB0ci5oPgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KKyNpbmNsdWRlIDx3dGYvTWF0
aEV4dHJhcy5oPgogCiBuYW1lc3BhY2UgV1RSIHsKIApAQCAtNDU5LDYgKzQ2MCwyNyBAQCBzdWIg
X3BhcmVudEludGVyZmFjZQogICAgIHJldHVybiAkaW50ZXJmYWNlLT5wYXJlbnRUeXBlOwogfQog
CitzdWIgX25hdGl2ZU51bWVyaWNUeXBlCit7CisgICAgbXkgKCRzZWxmLCAkdHlwZSkgPSBAXzsK
KyAgICBteSAlbnVtZXJpY1R5cGVIYXNoID0gKAorICAgICAgICAiYnl0ZSIgPT4gImludDhfdCIs
CisgICAgICAgICJsb25nIGxvbmciID0+ICJpbnQ2NF90IiwKKyAgICAgICAgImxvbmciID0+ICJp
bnQzMl90IiwKKyAgICAgICAgIm9jdGV0IiA9PiAidWludDhfdCIsCisgICAgICAgICJzaG9ydCIg
PT4gImludDE2X3QiLAorICAgICAgICAidW5zaWduZWQgbG9uZyBsb25nIiA9PiAidWludDY0X3Qi
LAorICAgICAgICAidW5zaWduZWQgbG9uZyIgPT4gInVpbnQzMl90IiwKKyAgICAgICAgInVuc2ln
bmVkIHNob3J0IiA9PiAidWludDE2X3QiLAorICAgICAgICAiZmxvYXQiID0+ICJmbG9hdCIsCisg
ICAgICAgICJ1bnJlc3RyaWN0ZWQgZmxvYXQiID0+ICJmbG9hdCIsCisgICAgICAgICJkb3VibGUi
ID0+ICJkb3VibGUiLAorICAgICAgICAidW5yZXN0cmljdGVkIGRvdWJsZSIgPT4gImRvdWJsZSIs
CisgICAgKTsKKyAgICBteSAkcmVzdWx0ID0gJG51bWVyaWNUeXBlSGFzaHskdHlwZS0+bmFtZX07
CisgICAgcmV0dXJuICgkcmVzdWx0KSA/ICRyZXN1bHQgOiAiZG91YmxlIjsKK30KKwogc3ViIF9w
bGF0Zm9ybVR5cGUKIHsKICAgICBteSAoJHNlbGYsICR0eXBlKSA9IEBfOwpAQCAtNDY4LDcgKzQ5
MCw3IEBAIHN1YiBfcGxhdGZvcm1UeXBlCiAgICAgcmV0dXJuICJib29sIiBpZiAkdHlwZS0+bmFt
ZSBlcSAiYm9vbGVhbiI7CiAgICAgcmV0dXJuICJKU1ZhbHVlUmVmIiBpZiAkdHlwZS0+bmFtZSBl
cSAib2JqZWN0IjsKICAgICByZXR1cm4gIkpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiIgaWYgJCRz
ZWxme2NvZGVHZW5lcmF0b3J9LT5Jc1N0cmluZ1R5cGUoJHR5cGUpOwotICAgIHJldHVybiAiZG91
YmxlIiBpZiAkJHNlbGZ7Y29kZUdlbmVyYXRvcn0tPklzUHJpbWl0aXZlVHlwZSgkdHlwZSk7Cisg
ICAgcmV0dXJuICRzZWxmLT5fbmF0aXZlTnVtZXJpY1R5cGUoJHR5cGUpIGlmICQkc2VsZntjb2Rl
R2VuZXJhdG9yfS0+SXNQcmltaXRpdmVUeXBlKCR0eXBlKTsKICAgICByZXR1cm4gX2ltcGxlbWVu
dGF0aW9uQ2xhc3NOYW1lKCR0eXBlKTsKIH0KIApAQCAtNDgxLDcgKzUwMywxMiBAQCBzdWIgX3Bs
YXRmb3JtVHlwZUNvbnN0cnVjdG9yCiAgICAgcmV0dXJuICIkYXJndW1lbnROYW1lIiBpZiAkdHlw
ZS0+bmFtZSBlcSAib2JqZWN0IjsKICAgICByZXR1cm4gImNyZWF0ZUpTU3RyaW5nKGNvbnRleHQs
ICRhcmd1bWVudE5hbWUpIiBpZiAkJHNlbGZ7Y29kZUdlbmVyYXRvcn0tPklzU3RyaW5nVHlwZSgk
dHlwZSk7CiAgICAgcmV0dXJuICJ0b09wdGlvbmFsRG91YmxlKGNvbnRleHQsICRhcmd1bWVudE5h
bWUpIiBpZiAkJHNlbGZ7Y29kZUdlbmVyYXRvcn0tPklzUHJpbWl0aXZlVHlwZSgkdHlwZSkgJiYg
JHR5cGUtPmlzTnVsbGFibGU7Ci0gICAgcmV0dXJuICJKU1ZhbHVlVG9OdW1iZXIoY29udGV4dCwg
JGFyZ3VtZW50TmFtZSwgbnVsbHB0cikiIGlmICQkc2VsZntjb2RlR2VuZXJhdG9yfS0+SXNQcmlt
aXRpdmVUeXBlKCR0eXBlKTsKKyAgICBpZiAoJCRzZWxme2NvZGVHZW5lcmF0b3J9LT5Jc1ByaW1p
dGl2ZVR5cGUoJHR5cGUpKSB7CisgICAgICAgIG15ICRjb252ZXJ0VG9Eb3VibGUgPSAiSlNWYWx1
ZVRvTnVtYmVyKGNvbnRleHQsICRhcmd1bWVudE5hbWUsIG51bGxwdHIpIjsKKyAgICAgICAgbXkg
JG5hdGl2ZU51bWVyaWNUeXBlID0gJHNlbGYtPl9uYXRpdmVOdW1lcmljVHlwZSgkdHlwZSk7Cisg
ICAgICAgIHJldHVybiAiY2xhbXBUbzwkbmF0aXZlTnVtZXJpY1R5cGU+KCRjb252ZXJ0VG9Eb3Vi
bGUpIiBpZiAkbmF0aXZlTnVtZXJpY1R5cGUgbmUgImRvdWJsZSI7CisgICAgICAgIHJldHVybiAk
Y29udmVydFRvRG91YmxlOworICAgIH0KICAgICByZXR1cm4gInRvIiAuIF9pbXBsZW1lbnRhdGlv
bkNsYXNzTmFtZSgkdHlwZSkgLiAiKGNvbnRleHQsICRhcmd1bWVudE5hbWUpIjsKIH0KIApAQCAt
NDk0LDcgKzUyMSw2IEBAIHN1YiBfcGxhdGZvcm1UeXBlVmFyaWFibGVEZWNsYXJhdGlvbgogCiAg
ICAgbXkgJW5vblBvaW50ZXJUeXBlcyA9ICgKICAgICAgICAgImJvb2wiID0+IDEsCi0gICAgICAg
ICJkb3VibGUiID0+IDEsCiAgICAgICAgICJKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4iID0+IDEs
CiAgICAgICAgICJKU1ZhbHVlUmVmIiA9PiAxLAogICAgICk7CkBAIC01MDIsNyArNTI4LDcgQEAg
c3ViIF9wbGF0Zm9ybVR5cGVWYXJpYWJsZURlY2xhcmF0aW9uCiAgICAgbXkgJG51bGxWYWx1ZSA9
ICJudWxscHRyIjsKICAgICBpZiAoJHBsYXRmb3JtVHlwZSBlcSAiSlNWYWx1ZVJlZiIpIHsKICAg
ICAgICAgJG51bGxWYWx1ZSA9ICJKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KSI7Ci0gICAg
fSBlbHNpZiAoZGVmaW5lZCAkbm9uUG9pbnRlclR5cGVzeyRwbGF0Zm9ybVR5cGV9KSB7CisgICAg
fSBlbHNpZiAoZGVmaW5lZCAkbm9uUG9pbnRlclR5cGVzeyRwbGF0Zm9ybVR5cGV9IHx8ICQkc2Vs
Zntjb2RlR2VuZXJhdG9yfS0+SXNOdW1lcmljVHlwZSgkdHlwZSkpIHsKICAgICAgICAgJG51bGxW
YWx1ZSA9ICR0eXBlLT5pc051bGxhYmxlID8gIldURjo6bnVsbG9wdCIgOiAiJHBsYXRmb3JtVHlw
ZSgpIjsKICAgICB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>