<?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>198911</bug_id>
          
          <creation_ts>2019-06-17 01:31:39 -0700</creation_ts>
          <short_desc>[JSC] JSLock should be WebThread aware</short_desc>
          <delta_ts>2019-06-18 18:19:45 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <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="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>aestes</cc>
    
    <cc>dbates</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mitz</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>yongjun_zhang</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1545215</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-06-17 01:31:39 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545217</commentid>
    <comment_count>1</comment_count>
      <attachid>372236</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-06-17 01:33:17 -0700</bug_when>
    <thetext>Created attachment 372236
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545222</commentid>
    <comment_count>2</comment_count>
      <attachid>372237</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-06-17 02:18:49 -0700</bug_when>
    <thetext>Created attachment 372237
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545309</commentid>
    <comment_count>3</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-06-17 11:04:29 -0700</bug_when>
    <thetext>rdar://42258767</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545349</commentid>
    <comment_count>4</comment_count>
      <attachid>372261</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-06-17 12:03:37 -0700</bug_when>
    <thetext>Created attachment 372261
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545499</commentid>
    <comment_count>5</comment_count>
      <attachid>372303</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-06-17 17:47:56 -0700</bug_when>
    <thetext>Created attachment 372303
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545539</commentid>
    <comment_count>6</comment_count>
      <attachid>372319</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-06-17 21:18:33 -0700</bug_when>
    <thetext>Created attachment 372319
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545566</commentid>
    <comment_count>7</comment_count>
      <attachid>372329</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-06-18 00:18:36 -0700</bug_when>
    <thetext>Created attachment 372329
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545570</commentid>
    <comment_count>8</comment_count>
      <attachid>372331</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-06-18 00:39:04 -0700</bug_when>
    <thetext>Created attachment 372331
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545647</commentid>
    <comment_count>9</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2019-06-18 10:08:59 -0700</bug_when>
    <thetext>Can you provide some details about the use case that requires this behavior?

The reason I ask is that -- as you pointed out -- it&apos;s a bit of a layering violation for WebCore to require JavaScriptCore to lock WebCore, and also for JavaScriptCore to require WebCore to auto-unlock itself under certain runloop conditions. Also, we&apos;d like to reduce the impact of the WebThread design in our code, rather than increasing it.

Access to JSContext is not API in UIWebView. For SPI clients, the expectation is that they should perform JSContext operations either on the WebThread or while already holding the WebThread lock. If a client has neglected to do that, it might be better just to fix the client.

Clients that call into WebCore&apos;s JSContext usually call into WebKit&apos;s APIs as well, and if they&apos;re doing this without holding the WebThreadLock, they might have other problems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545688</commentid>
    <comment_count>10</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-06-18 11:35:52 -0700</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #9)
&gt; Can you provide some details about the use case that requires this behavior?

The original report is rdar://42258767. Multiple third party applications are touching JSContext of UIWebView.
My guess is they are obtaining JSContext by executing `[uiWebView valueForKeyPath:@&quot;documentView.webView.mainFrame.javaScriptContext&quot;]`.
They interact with the JSContext directly[1], and the JSContext does not take the WebThread lock.
Eventually, GC happens, and a part of incremental sweeper task is executed when interacting with JSContext from the main thread.
So incremental sweeper&apos;s task is executed in the main thread instead of the WebThread without taking the WebThread lock.
And the incremental sweeper destroys WebCore::Timer, and WebCore::TimerBase&apos;s assertion hits.
The assertion was originally introduced in https://trac.webkit.org/changeset/233821/webkit.

RELEASE_ASSERT(canAccessThreadLocalDataForThread(m_thread.get()));

To mitigate that we changed the above assertion to the following in https://trac.webkit.org/changeset/234778/webkit

RELEASE_ASSERT(canAccessThreadLocalDataForThread(m_thread.get()) || shouldSuppressThreadSafetyCheck());

The above is just suppressing the assertion.
Even though the GC does not happen, interactions through JSContext of UIWebView are potentially dangerous because it can modify WebCore things without taking the WebThread lock.
For example, if js code calls WebCore DOM function, and if the DOM function modifies some part of WebCore, and if WebThread is simultaneously modifying the same thing, this can lead to memory corruption.
As described in the bug of the assertion change (https://bugs.webkit.org/show_bug.cgi?id=188480#c6), the above change is changing the assertion hit to the random memory corruption.

[1]: The original crash log indicates that it is touching [JSValue valueForProperty].

&gt; The reason I ask is that -- as you pointed out -- it&apos;s a bit of a layering
&gt; violation for WebCore to require JavaScriptCore to lock WebCore, and also
&gt; for JavaScriptCore to require WebCore to auto-unlock itself under certain
&gt; runloop conditions. Also, we&apos;d like to reduce the impact of the WebThread
&gt; design in our code, rather than increasing it.

Agreed.
 
&gt; Access to JSContext is not API in UIWebView. For SPI clients, the
&gt; expectation is that they should perform JSContext operations either on the
&gt; WebThread or while already holding the WebThread lock. If a client has
&gt; neglected to do that, it might be better just to fix the client.

Right. The problem is that this is caused by third party applications.
Maybe, unfortunately, this is commonly used... I searched &quot;JSContext UIWebView&quot; in Google, and it shows https://stackoverflow.com/questions/21714365/uiwebview-javascript-losing-reference-to-ios-jscontext-namespace-object immediately.
And if we search &quot;documentView.webView.mainFrame.javaScriptContext&quot; in GitHub, we see so many codes using this. https://github.com/search?q=documentView.webView.mainFrame.javaScriptContext&amp;type=Code
The original rdar://42258767 describes the third party applications causing this crash.

To avoid random memory corruption, I think we have two ways to fix this issue. (1) Make JSC.framework aware of WebThread (this patch) or (2) crash immediately when JSLock of UIWebView commonVM is held without WebThread lock. Currently, I took (1)&apos;s way.

&gt; Clients that call into WebCore&apos;s JSContext usually call into WebKit&apos;s APIs
&gt; as well, and if they&apos;re doing this without holding the WebThreadLock, they
&gt; might have other problems.

Yes, this problem only happens when the clients directly interact with JSContext of UIWebView.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545714</commentid>
    <comment_count>11</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-06-18 12:12:49 -0700</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #10)
&gt; (In reply to Geoffrey Garen from comment #9)
&gt; &gt; Can you provide some details about the use case that requires this behavior?
&gt; 
&gt; The original report is rdar://42258767. Multiple third party applications
&gt; are touching JSContext of UIWebView.
&gt; My guess is they are obtaining JSContext by executing `[uiWebView
&gt; valueForKeyPath:@&quot;documentView.webView.mainFrame.javaScriptContext&quot;]`.
&gt; They interact with the JSContext directly[1], and the JSContext does not
&gt; take the WebThread lock.
&gt; Eventually, GC happens, and a part of incremental sweeper task is executed
&gt; when interacting with JSContext from the main thread.
&gt; So incremental sweeper&apos;s task is executed in the main thread instead of the
&gt; WebThread without taking the WebThread lock.
&gt; And the incremental sweeper destroys WebCore::Timer, and
&gt; WebCore::TimerBase&apos;s assertion hits.
&gt; The assertion was originally introduced in
&gt; https://trac.webkit.org/changeset/233821/webkit.
&gt; 
&gt; RELEASE_ASSERT(canAccessThreadLocalDataForThread(m_thread.get()));
&gt; 
&gt; To mitigate that we changed the above assertion to the following in
&gt; https://trac.webkit.org/changeset/234778/webkit
&gt; 
&gt; RELEASE_ASSERT(canAccessThreadLocalDataForThread(m_thread.get()) ||
&gt; shouldSuppressThreadSafetyCheck());
&gt; 
&gt; The above is just suppressing the assertion.
&gt; Even though the GC does not happen, interactions through JSContext of
&gt; UIWebView are potentially dangerous because it can modify WebCore things
&gt; without taking the WebThread lock.
&gt; For example, if js code calls WebCore DOM function, and if the DOM function
&gt; modifies some part of WebCore, and if WebThread is simultaneously modifying
&gt; the same thing, this can lead to memory corruption.
&gt; As described in the bug of the assertion change
&gt; (https://bugs.webkit.org/show_bug.cgi?id=188480#c6), the above change is
&gt; changing the assertion hit to the random memory corruption.
&gt; 
&gt; [1]: The original crash log indicates that it is touching [JSValue
&gt; valueForProperty].

Ignore the &quot;incremental sweeper&quot; word. UIWebView is disabling JIT. So JS VM is mini mode VM.
In this configuration, incremental sweeper is disabled, and instead we sweep objects synchronously, as a result, sweeping happens in the main thread.
The other part of the above clarification is the same. The sweep happens in the main thread instead of the WebThread without taking the WebThread lock, and the above assertion hits.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545717</commentid>
    <comment_count>12</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-06-18 12:13:42 -0700</bug_when>
    <thetext>Note that whether the incremental sweeper is enabled is not directly related to the crash issue in this bug :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545831</commentid>
    <comment_count>13</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-06-18 15:01:47 -0700</bug_when>
    <thetext>@Geoff,

I also added more detailed explanation in the radar (because it involves private crash trace data). Does the above clarification make sense?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545884</commentid>
    <comment_count>14</comment_count>
      <attachid>372331</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2019-06-18 16:38:21 -0700</bug_when>
    <thetext>Comment on attachment 372331
Patch

Thanks for the clarification.

Sad face.

I tried for a little while to come up with a better solution, but I don&apos;t have one. So, I guess I&apos;ll say r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545906</commentid>
    <comment_count>15</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-06-18 17:19:57 -0700</bug_when>
    <thetext>Thank you for your review.

(In reply to Geoffrey Garen from comment #14)
&gt; Comment on attachment 372331 [details]
&gt; Patch
&gt; 
&gt; Thanks for the clarification.
&gt; 
&gt; Sad face.

Yeah, I really want to drop WebKitLegacy and stop considering about WebThread.
And it is sad to me too that many clients are using JSContext of UIWebView......

&gt; 
&gt; I tried for a little while to come up with a better solution, but I don&apos;t
&gt; have one. So, I guess I&apos;ll say r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545925</commentid>
    <comment_count>16</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-06-18 18:19:45 -0700</bug_when>
    <thetext>Committed r246578: &lt;https://trac.webkit.org/changeset/246578&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372236</attachid>
            <date>2019-06-17 01:33:17 -0700</date>
            <delta_ts>2019-06-17 02:18:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198911-20190617013317.patch</filename>
            <type>text/plain</type>
            <size>3519</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2NDcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
NjkxNjBiYmQyYTU4NTJlMDg3NWFkNDI1YWQzZWIzM2MzZTA2MjQ0Li5kMWMwN2VhZWY1ZDQ4MDYx
MjE3NTNlMmMyZmZiMjdlYWNiMTIzY2JlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxOS0wNi0xNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEpTTG9jayBzaG91bGQgYmUgV2ViVGhyZWFkIGF3YXJlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg5MTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJ1bnRpbWUvSlNM
b2NrLmNwcDoKKyAgICAgICAgKEpTQzo6SlNMb2NrOjpsb2NrKToKKyAgICAgICAgKiBydW50aW1l
L0pTTG9jay5oOgorICAgICAgICAoSlNDOjpKU0xvY2s6Om1ha2VXZWJUaHJlYWRBd2FyZSk6CisK
IDIwMTktMDYtMTQgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CiAKICAg
ICAgICAgUmVzdG9yZSBQQUMgYmFzZWQgY2FnZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3NTg3NzZiYzZlMjZl
YjdiODQzMThiZmQzYTBkNzVkNDNlMGQxZmQ2Li41ZGNhYWExZmFkYjQ3YjljZTBjMWIwODAyN2Jl
ZjRkYTY1NjQyN2Q2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDYtMTcgIFl1
c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBKU0xvY2sg
c2hvdWxkIGJlIFdlYlRocmVhZCBhd2FyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTk4OTExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9Db21tb25WTS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpjb21tb25WTVNsb3cpOgorCiAyMDE5LTA2LTE1ICBTaW1vbiBGcmFzZXIgIDxzaW1v
bi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgbGF5ZXJUcmVlQXNUZXh0KCkgb3V0
cHV0IGEgYml0IGxlc3MgdmVyYm9zZQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNMb2NrLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9j
ay5jcHAKaW5kZXggMDAwOTY5YzQ3NDYxNGNiZWU4NjVkMjRjYTFkYTZiNWZiYTQyNDY4Ni4uMDQy
N2I0ZjEwM2M4ZDlmZjg2ZTliNjkxMzE0OTY1ZDY1ODEyMWFmMyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0xvY2suY3BwCkBAIC0xMDUsNiArMTA1LDEzIEBAIHZvaWQgSlNMb2Nr
Ojpsb2NrKCkKIHZvaWQgSlNMb2NrOjpsb2NrKGludHB0cl90IGxvY2tDb3VudCkKIHsKICAgICBB
U1NFUlQobG9ja0NvdW50ID4gMCk7CisjaWYgVVNFKFdFQl9USFJFQUQpCisgICAgaWYgKG1fd2Vi
VGhyZWFkQXdhcmUpIHsKKyAgICAgICAgaWYgKFdlYkNvcmVXZWJUaHJlYWRJc0VuYWJsZWQgJiYg
V2ViQ29yZVdlYlRocmVhZElzRW5hYmxlZCgpKQorICAgICAgICAgICAgV2ViQ29yZVdlYlRocmVh
ZExvY2soKTsKKyAgICB9CisjZW5kaWYKKwogICAgIGJvb2wgc3VjY2VzcyA9IG1fbG9jay50cnlM
b2NrKCk7CiAgICAgaWYgKFVOTElLRUxZKCFzdWNjZXNzKSkgewogICAgICAgICBpZiAoY3VycmVu
dFRocmVhZElzSG9sZGluZ0xvY2soKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNMb2NrLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xv
Y2suaAppbmRleCA1Mjc3ZjAyYzhlMTEyYzIxZjBiYWEwZmViN2Q0ZWIwYmEwNTNmZDZkLi4zNjdi
MTkxN2ZhM2VjMjUwODRiMThiN2QyMTIwZTM4MjM1NDQ0MWUxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0xvY2suaApAQCAtMTE5LDYgKzExOSwxMSBAQCBjbGFzcyBKU0xvY2sgOiBw
dWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8SlNMb2NrPiB7CiAgICAgICAgIHVuc2lnbmVkIG1f
ZHJvcERlcHRoOwogICAgIH07CiAKKyAgICB2b2lkIG1ha2VXZWJUaHJlYWRBd2FyZSgpCisgICAg
eworICAgICAgICBtX3dlYlRocmVhZEF3YXJlID0gdHJ1ZTsKKyAgICB9CisKIHByaXZhdGU6CiAg
ICAgdm9pZCBsb2NrKGludHB0cl90IGxvY2tDb3VudCk7CiAgICAgdm9pZCB1bmxvY2soaW50cHRy
X3QgdW5sb2NrQ291bnQpOwpAQCAtMTMwLDYgKzEzNSw3IEBAIGNsYXNzIEpTTG9jayA6IHB1Ymxp
YyBUaHJlYWRTYWZlUmVmQ291bnRlZDxKU0xvY2s+IHsKICAgICB2b2lkIGdyYWJBbGxMb2NrcyhE
cm9wQWxsTG9ja3MqLCB1bnNpZ25lZCBsb2NrQ291bnQpOwogCiAgICAgTG9jayBtX2xvY2s7Cisg
ICAgYm9vbCBtX3dlYlRocmVhZEF3YXJlIHsgZmFsc2UgfTsKICAgICAvLyBXZSBjYW5ub3QgbWFr
ZSBtX293bmVyVGhyZWFkIGFuIG9wdGlvbmFsIChpbnN0ZWFkIG9mIHBhaXJpbmcgaXQgd2l0aCBh
biBleHBsaWNpdAogICAgIC8vIG1faGFzT3duZXJUaHJlYWQpIGJlY2F1c2UgY3VycmVudFRocmVh
ZElzSG9sZGluZ0xvY2soKSBtYXkgYmUgY2FsbGVkIGZyb20gYQogICAgIC8vIGRpZmZlcmVudCB0
aHJlYWQsIGFuZCBhbiBvcHRpb25hbCBpcyB2dWxuZXJhYmxlIHRvIHJhY2VzLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ29tbW9uVk0uY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvQ29tbW9uVk0uY3BwCmluZGV4IDkyMjBmMGIxNjA3OWRhMDYwODliNzdl
MzM1MzAxYWRjN2VmZGFlMWIuLjEzODExODIxNzM4OTY2MjU2OWIyZjQyODc1ODc4NWI0NDI5YTgw
N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NvbW1vblZNLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Db21tb25WTS5jcHAKQEAgLTU2LDYgKzU2
LDcgQEAgSlNDOjpWTSYgY29tbW9uVk1TbG93KCkKIAogICAgIGdfY29tbW9uVk1Pck51bGwgPSAm
dm07CiAKKyAgICB2bS5hcGlMb2NrLT5tYWtlV2ViVGhyZWFkQXdhcmUoKTsKICAgICB2bS5oZWFw
LmFjcXVpcmVBY2Nlc3MoKTsgLy8gQXQgYW55IHRpbWUsIHdlIG1heSBkbyB0aGluZ3MgdGhhdCBh
ZmZlY3QgdGhlIEdDLgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372237</attachid>
            <date>2019-06-17 02:18:49 -0700</date>
            <delta_ts>2019-06-17 12:03:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198911-20190617021849.patch</filename>
            <type>text/plain</type>
            <size>3732</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2NDcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
NjkxNjBiYmQyYTU4NTJlMDg3NWFkNDI1YWQzZWIzM2MzZTA2MjQ0Li5kMWMwN2VhZWY1ZDQ4MDYx
MjE3NTNlMmMyZmZiMjdlYWNiMTIzY2JlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxOS0wNi0xNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEpTTG9jayBzaG91bGQgYmUgV2ViVGhyZWFkIGF3YXJlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg5MTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJ1bnRpbWUvSlNM
b2NrLmNwcDoKKyAgICAgICAgKEpTQzo6SlNMb2NrOjpsb2NrKToKKyAgICAgICAgKiBydW50aW1l
L0pTTG9jay5oOgorICAgICAgICAoSlNDOjpKU0xvY2s6Om1ha2VXZWJUaHJlYWRBd2FyZSk6CisK
IDIwMTktMDYtMTQgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CiAKICAg
ICAgICAgUmVzdG9yZSBQQUMgYmFzZWQgY2FnZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3NTg3NzZiYzZlMjZl
YjdiODQzMThiZmQzYTBkNzVkNDNlMGQxZmQ2Li41ZGNhYWExZmFkYjQ3YjljZTBjMWIwODAyN2Jl
ZjRkYTY1NjQyN2Q2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDYtMTcgIFl1
c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBKU0xvY2sg
c2hvdWxkIGJlIFdlYlRocmVhZCBhd2FyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTk4OTExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9Db21tb25WTS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpjb21tb25WTVNsb3cpOgorCiAyMDE5LTA2LTE1ICBTaW1vbiBGcmFzZXIgIDxzaW1v
bi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgbGF5ZXJUcmVlQXNUZXh0KCkgb3V0
cHV0IGEgYml0IGxlc3MgdmVyYm9zZQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNMb2NrLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9j
ay5jcHAKaW5kZXggMDAwOTY5YzQ3NDYxNGNiZWU4NjVkMjRjYTFkYTZiNWZiYTQyNDY4Ni4uZDdl
ZTA0NTI2MGIxMmM1ZDViYjAxZTNlYTMwYzViZTkyY2M4NWE0MyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0xvY2suY3BwCkBAIC0zNSw2ICszNSwxMCBAQAogI2luY2x1ZGUgPHd0
Zi9UaHJlYWRpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGhyZWFkcy9TaWduYWxzLmg+CiAKKyNpZiBV
U0UoV0VCX1RIUkVBRCkKKyNpbmNsdWRlIDx3dGYvaW9zL1dlYkNvcmVUaHJlYWQuaD4KKyNlbmRp
ZgorCiBuYW1lc3BhY2UgSlNDIHsKIAogTG9jayBHbG9iYWxKU0xvY2s6OnNfc2hhcmVkSW5zdGFu
Y2VNdXRleDsKQEAgLTEwNSw2ICsxMDksMTMgQEAgdm9pZCBKU0xvY2s6OmxvY2soKQogdm9pZCBK
U0xvY2s6OmxvY2soaW50cHRyX3QgbG9ja0NvdW50KQogewogICAgIEFTU0VSVChsb2NrQ291bnQg
PiAwKTsKKyNpZiBVU0UoV0VCX1RIUkVBRCkKKyAgICBpZiAobV93ZWJUaHJlYWRBd2FyZSkgewor
ICAgICAgICBpZiAoV2ViQ29yZVdlYlRocmVhZElzRW5hYmxlZCAmJiBXZWJDb3JlV2ViVGhyZWFk
SXNFbmFibGVkKCkpCisgICAgICAgICAgICBXZWJDb3JlV2ViVGhyZWFkTG9jaygpOworICAgIH0K
KyNlbmRpZgorCiAgICAgYm9vbCBzdWNjZXNzID0gbV9sb2NrLnRyeUxvY2soKTsKICAgICBpZiAo
VU5MSUtFTFkoIXN1Y2Nlc3MpKSB7CiAgICAgICAgIGlmIChjdXJyZW50VGhyZWFkSXNIb2xkaW5n
TG9jaygpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xv
Y2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oCmluZGV4IDUyNzdm
MDJjOGUxMTJjMjFmMGJhYTBmZWI3ZDRlYjBiYTA1M2ZkNmQuLjM2N2IxOTE3ZmEzZWMyNTA4NGIx
OGI3ZDIxMjBlMzgyMzU0NDQxZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTTG9jay5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9j
ay5oCkBAIC0xMTksNiArMTE5LDExIEBAIGNsYXNzIEpTTG9jayA6IHB1YmxpYyBUaHJlYWRTYWZl
UmVmQ291bnRlZDxKU0xvY2s+IHsKICAgICAgICAgdW5zaWduZWQgbV9kcm9wRGVwdGg7CiAgICAg
fTsKIAorICAgIHZvaWQgbWFrZVdlYlRocmVhZEF3YXJlKCkKKyAgICB7CisgICAgICAgIG1fd2Vi
VGhyZWFkQXdhcmUgPSB0cnVlOworICAgIH0KKwogcHJpdmF0ZToKICAgICB2b2lkIGxvY2soaW50
cHRyX3QgbG9ja0NvdW50KTsKICAgICB2b2lkIHVubG9jayhpbnRwdHJfdCB1bmxvY2tDb3VudCk7
CkBAIC0xMzAsNiArMTM1LDcgQEAgY2xhc3MgSlNMb2NrIDogcHVibGljIFRocmVhZFNhZmVSZWZD
b3VudGVkPEpTTG9jaz4gewogICAgIHZvaWQgZ3JhYkFsbExvY2tzKERyb3BBbGxMb2NrcyosIHVu
c2lnbmVkIGxvY2tDb3VudCk7CiAKICAgICBMb2NrIG1fbG9jazsKKyAgICBib29sIG1fd2ViVGhy
ZWFkQXdhcmUgeyBmYWxzZSB9OwogICAgIC8vIFdlIGNhbm5vdCBtYWtlIG1fb3duZXJUaHJlYWQg
YW4gb3B0aW9uYWwgKGluc3RlYWQgb2YgcGFpcmluZyBpdCB3aXRoIGFuIGV4cGxpY2l0CiAgICAg
Ly8gbV9oYXNPd25lclRocmVhZCkgYmVjYXVzZSBjdXJyZW50VGhyZWFkSXNIb2xkaW5nTG9jaygp
IG1heSBiZSBjYWxsZWQgZnJvbSBhCiAgICAgLy8gZGlmZmVyZW50IHRocmVhZCwgYW5kIGFuIG9w
dGlvbmFsIGlzIHZ1bG5lcmFibGUgdG8gcmFjZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9Db21tb25WTS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9D
b21tb25WTS5jcHAKaW5kZXggOTIyMGYwYjE2MDc5ZGEwNjA4OWI3N2UzMzUzMDFhZGM3ZWZkYWUx
Yi4uMjBiNjNhNTlmZWMzMTI3ZTBjYTYzMmQwNTI3ZDJkNGZmNmUzMzk3YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ29tbW9uVk0uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0NvbW1vblZNLmNwcApAQCAtNTYsNiArNTYsNyBAQCBKU0M6OlZNJiBj
b21tb25WTVNsb3coKQogCiAgICAgZ19jb21tb25WTU9yTnVsbCA9ICZ2bTsKIAorICAgIHZtLmFw
aUxvY2soKS5tYWtlV2ViVGhyZWFkQXdhcmUoKTsKICAgICB2bS5oZWFwLmFjcXVpcmVBY2Nlc3Mo
KTsgLy8gQXQgYW55IHRpbWUsIHdlIG1heSBkbyB0aGluZ3MgdGhhdCBhZmZlY3QgdGhlIEdDLgog
CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372261</attachid>
            <date>2019-06-17 12:03:37 -0700</date>
            <delta_ts>2019-06-17 17:47:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198911-20190617120336.patch</filename>
            <type>text/plain</type>
            <size>3879</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2NTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
OWMyNGY4ZDlhOTU5OWIzYmQzMTA0NDhkZjQxZDE4M2I4NTg4MDBlLi5kMzA2YTdlZjVjOGVlOGVi
MmMxNDhhMmFkYzAyMThmMGM3NzdmMmIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxOS0wNi0xNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEpTTG9jayBzaG91bGQgYmUgV2ViVGhyZWFkIGF3YXJlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg5MTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJ1bnRpbWUvSlNM
b2NrLmNwcDoKKyAgICAgICAgKEpTQzo6SlNMb2NrOjpsb2NrKToKKyAgICAgICAgKiBydW50aW1l
L0pTTG9jay5oOgorICAgICAgICAoSlNDOjpKU0xvY2s6Om1ha2VXZWJUaHJlYWRBd2FyZSk6CisK
IDIwMTktMDYtMTcgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbSlNDXSBJbnRyb2R1Y2UgRGlzcG9zYWJsZUNhbGxTaXRlSW5kZXggdG8gZW5mb3JjZSB0eXBl
LXNhZmV0eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IGM5YWVkNTcwZjkzOWRkZWM4ZTEyOTg2ZTk3MTJmOGRhZGUx
MjdjMGIuLjFjZDYyMzM4MzliN2QwMzM5ODU2MzgzNGFiODRmNTcyZTE5MWM3ZjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMyBAQAorMjAxOS0wNi0xNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lA
YXBwbGUuY29tPgorCisgICAgICAgIFtKU0NdIEpTTG9jayBzaG91bGQgYmUgV2ViVGhyZWFkIGF3
YXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg5
MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGJp
bmRpbmdzL2pzL0NvbW1vblZNLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbW1vblZNU2xvdyk6
CisKIDIwMTktMDYtMTcgIEtlbm5ldGggUnVzc2VsbCAgPGtickBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgU3VwcG9ydCB1c2luZyBBTkdMRSBhcyB0aGUgYmFja2VuZCBmb3IgdGhlIFdlYkdMIGlt
cGxlbWVudGF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0xvY2suY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmNwcAppbmRl
eCA3Y2MzZjY5ZDRhZmMyZTdkNTJlYmNiOTczOWM4MWQyOTcyNTVjNTJjLi5hZmEwNTkyYWZkZWQ0
MmRkODgwZTk1YzIxZjZlMjQ1MTIzNjBjOWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0xvY2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTTG9jay5jcHAKQEAgLTM1LDYgKzM1LDEwIEBACiAjaW5jbHVkZSA8d3RmL1RocmVhZGlu
Zy5oPgogI2luY2x1ZGUgPHd0Zi90aHJlYWRzL1NpZ25hbHMuaD4KIAorI2lmIFVTRShXRUJfVEhS
RUFEKQorI2luY2x1ZGUgPHd0Zi9pb3MvV2ViQ29yZVRocmVhZC5oPgorI2VuZGlmCisKIG5hbWVz
cGFjZSBKU0MgewogCiBMb2NrIEdsb2JhbEpTTG9jazo6c19zaGFyZWRJbnN0YW5jZU11dGV4OwpA
QCAtMTA1LDYgKzEwOSwxMyBAQCB2b2lkIEpTTG9jazo6bG9jaygpCiB2b2lkIEpTTG9jazo6bG9j
ayhpbnRwdHJfdCBsb2NrQ291bnQpCiB7CiAgICAgQVNTRVJUKGxvY2tDb3VudCA+IDApOworI2lm
IFVTRShXRUJfVEhSRUFEKQorICAgIGlmIChtX3dlYlRocmVhZEF3YXJlKSB7CisgICAgICAgIEFT
U0VSVChXZWJDb3JlV2ViVGhyZWFkSXNFbmFibGVkICYmIFdlYkNvcmVXZWJUaHJlYWRJc0VuYWJs
ZWQoKSk7CisgICAgICAgIFdlYkNvcmVXZWJUaHJlYWRMb2NrKCk7CisgICAgfQorI2VuZGlmCisK
ICAgICBib29sIHN1Y2Nlc3MgPSBtX2xvY2sudHJ5TG9jaygpOwogICAgIGlmIChVTkxJS0VMWSgh
c3VjY2VzcykpIHsKICAgICAgICAgaWYgKGN1cnJlbnRUaHJlYWRJc0hvbGRpbmdMb2NrKCkpIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgKaW5kZXggZjQ2MWY4MjBmOWUzYWE1
ZjFlYzg2YTAyMTEzZGEyMjk2ZjMzMzBlOC4uNjk1ZGRmZGM0N2FlNWFkOTNjMmU3MTI2Zjc0ZThk
OTZmMWE0MGE4MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNM
b2NrLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgKQEAgLTEx
OSw2ICsxMTksMTEgQEAgY2xhc3MgSlNMb2NrIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVk
PEpTTG9jaz4gewogICAgICAgICB1bnNpZ25lZCBtX2Ryb3BEZXB0aDsKICAgICB9OwogCisgICAg
dm9pZCBtYWtlV2ViVGhyZWFkQXdhcmUoKQorICAgIHsKKyAgICAgICAgbV93ZWJUaHJlYWRBd2Fy
ZSA9IHRydWU7CisgICAgfQorCiBwcml2YXRlOgogICAgIHZvaWQgbG9jayhpbnRwdHJfdCBsb2Nr
Q291bnQpOwogICAgIHZvaWQgdW5sb2NrKGludHB0cl90IHVubG9ja0NvdW50KTsKQEAgLTEzMCw2
ICsxMzUsNyBAQCBjbGFzcyBKU0xvY2sgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8SlNM
b2NrPiB7CiAgICAgdm9pZCBncmFiQWxsTG9ja3MoRHJvcEFsbExvY2tzKiwgdW5zaWduZWQgbG9j
a0NvdW50KTsKIAogICAgIExvY2sgbV9sb2NrOworICAgIGJvb2wgbV93ZWJUaHJlYWRBd2FyZSB7
IGZhbHNlIH07CiAgICAgLy8gV2UgY2Fubm90IG1ha2UgbV9vd25lclRocmVhZCBhbiBvcHRpb25h
bCAoaW5zdGVhZCBvZiBwYWlyaW5nIGl0IHdpdGggYW4gZXhwbGljaXQKICAgICAvLyBtX2hhc093
bmVyVGhyZWFkKSBiZWNhdXNlIGN1cnJlbnRUaHJlYWRJc0hvbGRpbmdMb2NrKCkgbWF5IGJlIGNh
bGxlZCBmcm9tIGEKICAgICAvLyBkaWZmZXJlbnQgdGhyZWFkLCBhbmQgYW4gb3B0aW9uYWwgaXMg
dnVsbmVyYWJsZSB0byByYWNlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0NvbW1vblZNLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NvbW1vblZNLmNw
cAppbmRleCBjMWU5NGI4Yjg1NzI2YjNkNTFmZTExOTU4OTkyMzUxYmYzN2UxYjUyLi4wOWI3ODRm
OWVkMzU2YWQ2YmNiYTg0ZjVlNjNiZjhhNmYxZWEyNjdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9Db21tb25WTS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvQ29tbW9uVk0uY3BwCkBAIC01OSw2ICs1OSw4IEBAIEpTQzo6Vk0mIGNvbW1vblZNU2xv
dygpCiAgICAgdm0uaGVhcC5hY3F1aXJlQWNjZXNzKCk7IC8vIEF0IGFueSB0aW1lLCB3ZSBtYXkg
ZG8gdGhpbmdzIHRoYXQgYWZmZWN0IHRoZSBHQy4KIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
CisgICAgaWYgKFdlYlRocmVhZElzRW5hYmxlZCgpKQorICAgICAgICB2bS5hcGlMb2NrKCkubWFr
ZVdlYlRocmVhZEF3YXJlKCk7CiAgICAgdm0uc2V0UnVuTG9vcChXZWJUaHJlYWRSdW5Mb29wKCkp
OwogICAgIHZtLmhlYXAubWFjaGluZVRocmVhZHMoKS5hZGRDdXJyZW50VGhyZWFkKCk7CiAjZW5k
aWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372303</attachid>
            <date>2019-06-17 17:47:56 -0700</date>
            <delta_ts>2019-06-17 21:18:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198911-20190617174755.patch</filename>
            <type>text/plain</type>
            <size>13189</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2NTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
OWMyNGY4ZDlhOTU5OWIzYmQzMTA0NDhkZjQxZDE4M2I4NTg4MDBlLi5lYWYzOWNiNTY5NDgyMDgz
OGNkMzQ5MmFmMjU1MTRhOTA3Njk2YTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAxOS0wNi0xNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEpTTG9jayBzaG91bGQgYmUgV2ViVGhyZWFkIGF3YXJlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg5MTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaW5jZSBXZWJLaXRM
ZWdhY3kgY29udGVudCByZW5kZXJpbmcgaXMgZHJpdmVuIGluIHdlYiB0aHJlYWQgaW5zdGVhZCBv
ZiBtYWluIHRocmVhZCBpbiBpT1MsIHVzZXIgb2YgV2ViS2l0TGVnYWN5IChlLmcuIFVJV2ViVmll
dykgbmVlZHMKKyAgICAgICAgdG8gZ3JhYiB0aGUgd2ViIHRocmVhZCBsb2NrICh3aGljaCBpcyBh
IHJlY3Vyc2l2ZSBsb2NrKSBmcm9tIHRoZSBtYWluIHRocmVhZCBiZWZvcmUgdG91Y2hpbmcgdGhh
dC4gV2ViS2l0TGVnYWN5IGNhbiBleHBvc2UgSlNDb250ZXh0CisgICAgICAgIGZvciB0aGUgd2Vi
IHZpZXcsIGFuZCB3ZSBjYW4gaW50ZXJhY3Qgd2l0aCB0aGUgSlMgY29udGVudCB0aHJvdWdoIEph
dmFTY3JpcHRDb3JlIEFQSXMuIEhvd2V2ZXIsIHNpbmNlIHdlYiB0aHJlYWQgaXMgYSBjb25jZXB0
IGluIFdlYkNvcmUsCisgICAgICAgIEphdmFTY3JpcHRDb3JlIEFQSXMgZG8gbm90IGdyYWIgdGhl
IHdlYiB0aHJlYWQgbG9jay4gQXMgYSByZXN1bHQsIFdlYktpdExlZ2FjeSB3ZWIgY29udGVudCBj
YW4gYmUgbW9kaWZpZWQgZnJvbSB0aGUgbWFpbiB0aHJlYWQgYW5kIHRoZQorICAgICAgICB3ZWIg
dGhyZWFkIHNpbXVsdGFuZW91c2x5LgorCisgICAgICAgIFRoaXMgcGF0Y2ggbWFrZXMgSlNDIGF3
YXJlIG9mIFdlYlRocmVhZDogSlNMb2NrIGdyYWJzIHRoZSB3ZWIgdGhyZWFkIGxvY2sgYmVmb3Jl
IGdyYWJiaW5nIEpTJ3MgbG9jay4gU2luY2UgYm90aCBKU0xvY2sgYW5kIHRoZSB3ZWIgdGhyZWFk
CisgICAgICAgIGxvY2sgYXJlIHJlY3Vyc2l2ZSBsb2NrcywgbmVzdGVkIGxvY2sgaXMgdG90YWxs
eSBPSy4gT25seSB0aGUgcHJvYmxlbSBpcyB0aGUgb3JkZXIgb2YgbG9ja2luZywgYW5kIHdlIGFs
d2F5cyBncmFiIGxvY2tzIGluICgxKSB0aGUgd2ViCisgICAgICAgIHRocmVhZCBsb2NrIGFuZCAo
MikgSlNMb2NrIG9yZGVyLgorCisgICAgICAgICogQVBJL0pTVmlydHVhbE1hY2hpbmUubW06Cisg
ICAgICAgICgtW0pTVmlydHVhbE1hY2hpbmUgaXNXZWJUaHJlYWRBd2FyZV0pOgorICAgICAgICAq
IEFQSS9KU1ZpcnR1YWxNYWNoaW5lSW50ZXJuYWwuaDoKKyAgICAgICAgKiBydW50aW1lL0pTTG9j
ay5jcHA6CisgICAgICAgIChKU0M6OkpTTG9jazo6bG9jayk6CisgICAgICAgICogcnVudGltZS9K
U0xvY2suaDoKKyAgICAgICAgKEpTQzo6SlNMb2NrOjptYWtlV2ViVGhyZWFkQXdhcmUpOgorICAg
ICAgICAoSlNDOjpKU0xvY2s6OmlzV2ViVGhyZWFkQXdhcmUgY29uc3QpOgorCiAyMDE5LTA2LTE3
ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gSW50
cm9kdWNlIERpc3Bvc2FibGVDYWxsU2l0ZUluZGV4IHRvIGVuZm9yY2UgdHlwZS1zYWZldHkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCBjOWFlZDU3MGY5MzlkZGVjOGUxMjk4NmU5NzEyZjhkYWRlMTI3YzBiLi4xY2Q2
MjMzODM5YjdkMDMzOTg1NjM4MzRhYjg0ZjU3MmUxOTFjN2Y4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTktMDYtMTcgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4K
KworICAgICAgICBbSlNDXSBKU0xvY2sgc2hvdWxkIGJlIFdlYlRocmVhZCBhd2FyZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4OTExCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9D
b21tb25WTS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb21tb25WTVNsb3cpOgorCiAyMDE5LTA2
LTE3ICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFN1cHBv
cnQgdXNpbmcgQU5HTEUgYXMgdGhlIGJhY2tlbmQgZm9yIHRoZSBXZWJHTCBpbXBsZW1lbnRhdGlv
bgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZpcnR1YWxNYWNoaW5l
Lm1tIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZpcnR1YWxNYWNoaW5lLm1tCmluZGV4
IDJhZmMwOTdiMmZhY2Q5MzFhNDQ3ZTNiZTMwZmIzN2FhZGVlN2Y4NTAuLjYyZWVmNGQ0ODkyYzNk
NGYwOWI2MzIzYTRmMGYyZmY4YzVjOTQ2YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNWaXJ0dWFsTWFjaGluZS5tbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
QVBJL0pTVmlydHVhbE1hY2hpbmUubW0KQEAgLTI0OCw2ICsyNDgsMTEgQEAgLSAoSlNDOjpWTSYp
dm0KICAgICByZXR1cm4gKnRvSlMobV9ncm91cCk7CiB9CiAKKy0gKEJPT0wpaXNXZWJUaHJlYWRB
d2FyZQoreworICAgIHJldHVybiBbc2VsZiB2bV0uYXBpTG9jaygpLmlzV2ViVGhyZWFkQXdhcmUo
KTsKK30KKwogKyAodm9pZClzZXRDcmFzaE9uVk1DcmVhdGlvbjooQk9PTClzaG91bGRDcmFzaAog
ewogICAgIEpTQzo6Vk06OnNldENyYXNoT25WTUNyZWF0aW9uKHNob3VsZENyYXNoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWaXJ0dWFsTWFjaGluZUludGVybmFs
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmlydHVhbE1hY2hpbmVJbnRlcm5hbC5o
CmluZGV4IGY2NGVlMWFlMDI4YTY5NmE4MWM1OGUzNmMzNmQ0NTBlNmMwZGJjOTguLmVlODZiNjE1
MzM5ZmY2N2NiYzZlM2NiZjMxNDFkOTE1Y2JlYzI2MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNWaXJ0dWFsTWFjaGluZUludGVybmFsLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU1ZpcnR1YWxNYWNoaW5lSW50ZXJuYWwuaApAQCAtNDYsNiArNDYs
OCBAQCBKU0NvbnRleHRHcm91cFJlZiBnZXRHcm91cEZyb21WaXJ0dWFsTWFjaGluZShKU1ZpcnR1
YWxNYWNoaW5lICopOwogCiAtIChKU0M6OlZNJil2bTsKIAorLSAoQk9PTClpc1dlYlRocmVhZEF3
YXJlOworCiBAZW5kCiAKICNlbmRpZiAvLyBkZWZpbmVkKF9fT0JKQ19fKQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTTG9jay5jcHAKaW5kZXggN2NjM2Y2OWQ0YWZjMmU3ZDUyZWJjYjk3
MzljODFkMjk3MjU1YzUyYy4uZjQxZWNkNzE2N2EwMmI0NGY0NGJmOGFmMTEzMTk2YzdmY2RmZGFj
ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suY3BwCkBAIC0zNSw2ICsz
NSwxMCBAQAogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGhyZWFk
cy9TaWduYWxzLmg+CiAKKyNpZiBVU0UoV0VCX1RIUkVBRCkKKyNpbmNsdWRlIDx3dGYvaW9zL1dl
YkNvcmVUaHJlYWQuaD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgSlNDIHsKIAogTG9jayBHbG9iYWxK
U0xvY2s6OnNfc2hhcmVkSW5zdGFuY2VNdXRleDsKQEAgLTEwNSw2ICsxMDksMTMgQEAgdm9pZCBK
U0xvY2s6OmxvY2soKQogdm9pZCBKU0xvY2s6OmxvY2soaW50cHRyX3QgbG9ja0NvdW50KQogewog
ICAgIEFTU0VSVChsb2NrQ291bnQgPiAwKTsKKyNpZiBVU0UoV0VCX1RIUkVBRCkKKyAgICBpZiAo
bV9pc1dlYlRocmVhZEF3YXJlKSB7CisgICAgICAgIEFTU0VSVChXZWJDb3JlV2ViVGhyZWFkSXNF
bmFibGVkICYmIFdlYkNvcmVXZWJUaHJlYWRJc0VuYWJsZWQoKSk7CisgICAgICAgIFdlYkNvcmVX
ZWJUaHJlYWRMb2NrKCk7CisgICAgfQorI2VuZGlmCisKICAgICBib29sIHN1Y2Nlc3MgPSBtX2xv
Y2sudHJ5TG9jaygpOwogICAgIGlmIChVTkxJS0VMWSghc3VjY2VzcykpIHsKICAgICAgICAgaWYg
KGN1cnJlbnRUaHJlYWRJc0hvbGRpbmdMb2NrKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNMb2NrLmgKaW5kZXggZjQ2MWY4MjBmOWUzYWE1ZjFlYzg2YTAyMTEzZGEyMjk2ZjMzMzBl
OC4uMWU4NzU4YzUyNjQyYTdmZjJiMDdiZjcyM2Q2OGQ2M2JiNDM2ZjUyZiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgKQEAgLTExOSw2ICsxMTksMTMgQEAgY2xhc3MgSlNM
b2NrIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPEpTTG9jaz4gewogICAgICAgICB1bnNp
Z25lZCBtX2Ryb3BEZXB0aDsKICAgICB9OwogCisgICAgdm9pZCBtYWtlV2ViVGhyZWFkQXdhcmUo
KQorICAgIHsKKyAgICAgICAgbV9pc1dlYlRocmVhZEF3YXJlID0gdHJ1ZTsKKyAgICB9CisKKyAg
ICBib29sIGlzV2ViVGhyZWFkQXdhcmUoKSBjb25zdCB7IHJldHVybiBtX2lzV2ViVGhyZWFkQXdh
cmU7IH0KKwogcHJpdmF0ZToKICAgICB2b2lkIGxvY2soaW50cHRyX3QgbG9ja0NvdW50KTsKICAg
ICB2b2lkIHVubG9jayhpbnRwdHJfdCB1bmxvY2tDb3VudCk7CkBAIC0xMzAsNiArMTM3LDcgQEAg
Y2xhc3MgSlNMb2NrIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPEpTTG9jaz4gewogICAg
IHZvaWQgZ3JhYkFsbExvY2tzKERyb3BBbGxMb2NrcyosIHVuc2lnbmVkIGxvY2tDb3VudCk7CiAK
ICAgICBMb2NrIG1fbG9jazsKKyAgICBib29sIG1faXNXZWJUaHJlYWRBd2FyZSB7IGZhbHNlIH07
CiAgICAgLy8gV2UgY2Fubm90IG1ha2UgbV9vd25lclRocmVhZCBhbiBvcHRpb25hbCAoaW5zdGVh
ZCBvZiBwYWlyaW5nIGl0IHdpdGggYW4gZXhwbGljaXQKICAgICAvLyBtX2hhc093bmVyVGhyZWFk
KSBiZWNhdXNlIGN1cnJlbnRUaHJlYWRJc0hvbGRpbmdMb2NrKCkgbWF5IGJlIGNhbGxlZCBmcm9t
IGEKICAgICAvLyBkaWZmZXJlbnQgdGhyZWFkLCBhbmQgYW4gb3B0aW9uYWwgaXMgdnVsbmVyYWJs
ZSB0byByYWNlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NvbW1v
blZNLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NvbW1vblZNLmNwcAppbmRleCBj
MWU5NGI4Yjg1NzI2YjNkNTFmZTExOTU4OTkyMzUxYmYzN2UxYjUyLi4wOWI3ODRmOWVkMzU2YWQ2
YmNiYTg0ZjVlNjNiZjhhNmYxZWEyNjdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9Db21tb25WTS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ29t
bW9uVk0uY3BwCkBAIC01OSw2ICs1OSw4IEBAIEpTQzo6Vk0mIGNvbW1vblZNU2xvdygpCiAgICAg
dm0uaGVhcC5hY3F1aXJlQWNjZXNzKCk7IC8vIEF0IGFueSB0aW1lLCB3ZSBtYXkgZG8gdGhpbmdz
IHRoYXQgYWZmZWN0IHRoZSBHQy4KIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgaWYg
KFdlYlRocmVhZElzRW5hYmxlZCgpKQorICAgICAgICB2bS5hcGlMb2NrKCkubWFrZVdlYlRocmVh
ZEF3YXJlKCk7CiAgICAgdm0uc2V0UnVuTG9vcChXZWJUaHJlYWRSdW5Mb29wKCkpOwogICAgIHZt
LmhlYXAubWFjaGluZVRocmVhZHMoKS5hZGRDdXJyZW50VGhyZWFkKCk7CiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjMTNiZTY3OTgw
Mjg4NzUxNTExNmM2MjdkOWY1YWM2MzU4MmNhNDU2Li41ZmI4NTgwMjgxYmIyN2FkMjdiZGI0MWE2
ZGIyOWRhYTlmN2VjN2Q3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMDYtMTcgIFl1c3VrZSBTdXp1a2kgIDx5
c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBKU0xvY2sgc2hvdWxkIGJlIFdlYlRo
cmVhZCBhd2FyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk4OTExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdExlZ2FjeS9pb3MvSlNMb2Nr
VGFrZXNXZWJUaHJlYWRMb2NrLm1tOiBBZGRlZC4KKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRF
U1QpOgorCiAyMDE5LTA2LTE3ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgog
CiAgICAgICAgIEVuc3VyZSBJVFAgc3RhdGUgaXMgcmVsYXllZCB0byBOZXR3b3JrIFByb2Nlc3Mg
b24gcmVzdGFydApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmZGJjZDk2OGFkMzNmMjZkYjE1
YTRjZjQ4NDFlZDA2NGNkMTgzOTZjLi43YTE2ZWJjYzgzZGFhYTBkMGY4ZGIzYWFlNmQyNWYwZTk2
YjY0NTk1IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtODc1LDYgKzg3NSw3IEBACiAJCUUx
OTRFMUJEMTc3RTUzQzcwMDlDNEQ0RSAvKiBTdG9wTG9hZGluZ0Zyb21EaWRSZWNlaXZlUmVzcG9u
c2UuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFMTk0RTFCQzE3N0U1MzRBMDA5QzRENEUgLyogU3RvcExvYWRpbmdGcm9tRGlkUmVjZWl2
ZVJlc3BvbnNlLmh0bWwgKi87IH07CiAJCUUzMjRBNkYwMjA0MUM4MjAwMEE3NjU5MyAvKiBVbmlx
dWVBcnJheS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFMzk4QkMwRjIwNDFDNzYzMDAzODcxMzYgLyogVW5pcXVlQXJyYXkuY3BwICovOyB9OwogCQlF
MzJCNTQ5MjIyODEwQUM0MDA4QUQ3MDIgLyogUGFja2VkLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzMkI1NDkxMjI4MTBBQzAwMDhBRDcwMiAvKiBQ
YWNrZWQuY3BwICovOyB9OworCQlFMzVGQzdCMjIyQjgyQTczMDBGMzJGOTggLyogSlNMb2NrVGFr
ZXNXZWJUaHJlYWRMb2NrLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRTM1RkM3QjEyMkI4MkE2RDAwRjMyRjk4IC8qIEpTTG9ja1Rha2VzV2ViVGhyZWFk
TG9jay5tbSAqLzsgfTsKIAkJRTM3M0Q3OTExRjJDRjM1MjAwQzZGQUFGIC8qIFNpZ25hbHMuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM5NTNGOTUx
RjJDRjMyMTAwQTc2QTJFIC8qIFNpZ25hbHMuY3BwICovOyB9OwogCQlFMzhBMEQzNTFGRDUwQ0Mz
MDBFOThDOEIgLyogVGhyZWFkaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEUzOEEwRDM0MUZENTBDQkMwMEU5OEM4QiAvKiBUaHJlYWRpbmcuY3Bw
ICovOyB9OwogCQlFM0ExRTc3RjIxQjI1QjM5MDA4QzYwMDcgLyogVVJMUGFyc2VyVGV4dEVuY29k
aW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUz
QTFFNzdFMjFCMjVCMzkwMDhDNjAwNyAvKiBVUkxQYXJzZXJUZXh0RW5jb2RpbmcuY3BwICovOyB9
OwpAQCAtMjI3Miw2ICsyMjczLDcgQEAKIAkJRTE5NEUxQkMxNzdFNTM0QTAwOUM0RDRFIC8qIFN0
b3BMb2FkaW5nRnJvbURpZFJlY2VpdmVSZXNwb25zZS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gU3RvcExvYWRp
bmdGcm9tRGlkUmVjZWl2ZVJlc3BvbnNlLmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUUxOURCOTc4MUIzMjEzN0MwMERCMzhENCAvKiBOYXZpZ2F0b3JMYW5ndWFnZS5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IE5hdmlnYXRvckxhbmd1YWdlLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzJCNTQ5MTIyODEwQUMwMDA4QUQ3MDIg
LyogUGFja2VkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhY2tlZC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUUzNUZDN0IxMjJCODJBNkQwMEYzMkY5OCAvKiBKU0xvY2tUYWtl
c1dlYlRocmVhZExvY2subW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBKU0xvY2tUYWtlc1dlYlRocmVhZExvY2subW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUUzODg4ODcwMjBDOTA5ODEwMEU2MzJCQyAvKiBXb3JrZXJQb29sLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdvcmtlclBvb2wuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFMzhBMEQzNDFGRDUwQ0JDMDBFOThDOEIgLyogVGhyZWFkaW5nLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRocmVhZGluZy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzOTUzRjk1MUYyQ0YzMjEwMEE3NkEyRSAvKiBT
aWduYWxzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNpZ25hbHMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzgwNyw2ICszODA5LDcgQEAKIAkJ
CWNoaWxkcmVuID0gKAogCQkJCUNEQzhFNDlBMUJDNzI4RkUwMDU5NEZFQyAvKiBSZXNvdXJjZXMg
Ki8sCiAJCQkJQ0RDOEU0ODUxQkM1QjE5NDAwNTk0RkVDIC8qIEF1ZGlvU2Vzc2lvbkNhdGVnb3J5
SU9TLm1tICovLAorCQkJCUUzNUZDN0IxMjJCODJBNkQwMEYzMkY5OCAvKiBKU0xvY2tUYWtlc1dl
YlRocmVhZExvY2subW0gKi8sCiAJCQkJQ0RDMDkzMkEyMUM4NzJDMTAwMzBDNEIwIC8qIFNjcm9s
bGluZ0RvZXNOb3RQYXVzZU1lZGlhLm1tICovLAogCQkJCTBGNEZGQTlEMUVEM0FBODUwMEY3MTEx
RiAvKiBTbmFwc2hvdFZpYVJlbmRlckluQ29udGV4dC5tbSAqLywKIAkJCSk7CkBAIC00MzAzLDYg
KzQzMDYsNyBAQAogCQkJCTdDQ0U3RUFEMUE0MTFBMzQwMDQ0N0M0QyAvKiBKYXZhU2NyaXB0VGVz
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VBNTFBNDExQTA4MDA0NDdDNEMgLyogSmF2
YVNjcmlwdFRlc3RNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQk1QzAxNjBDMTIxQTEzMjQ2MDA3
N0ZBMzIgLyogSklURW5hYmxlZC5tbSBpbiBTb3VyY2VzICovLAorCQkJCUUzNUZDN0IyMjJCODJB
NzMwMEYzMkY5OCAvKiBKU0xvY2tUYWtlc1dlYlRocmVhZExvY2subW0gaW4gU291cmNlcyAqLywK
IAkJCQk3Q0NFN0VDNDFBNDExQTdFMDA0NDdDNEMgLyogSlNXcmFwcGVyRm9yTm9kZUluV2ViRnJh
bWUubW0gaW4gU291cmNlcyAqLywKIAkJCQlGNDVFMTU3MzIxMTJDRTI5MDAzMDdFODIgLyogS2V5
Ym9hcmRJbnB1dFRlc3RzSU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdGMDYxQTQxMUFF
NjAwNDQ3QzRDIC8qIExheW91dE1pbGVzdG9uZXNXaXRoQWxsQ29udGVudEluRnJhbWUuY3BwIGlu
IFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dExlZ2FjeS9pb3MvSlNMb2NrVGFrZXNXZWJUaHJlYWRMb2NrLm1tIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRMZWdhY3kvaW9zL0pTTG9ja1Rha2VzV2ViVGhyZWFkTG9jay5tbQpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kYzlhZjFhMzM4YmUxMTZkNjRkZDNlMWZmODNiZDgyNzNlYjI4OWMzCi0tLSAv
ZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRMZWdhY3kvaW9z
L0pTTG9ja1Rha2VzV2ViVGhyZWFkTG9jay5tbQpAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW1wb3J0ICJjb25maWcuaCIKKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisKKyNpbXBvcnQg
IlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9KU1ZpcnR1YWxN
YWNoaW5lLmg+CisjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9KU1ZpcnR1YWxNYWNoaW5lSW50ZXJu
YWwuaD4KKyNpbXBvcnQgPFVJS2l0L1VJS2l0Lmg+CisjaW1wb3J0IDxzdGRsaWIuaD4KKyNpbXBv
cnQgPHd0Zi9SZXRhaW5QdHIuaD4KKworbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgeworCitURVNU
KFdlYktpdExlZ2FjeSwgSlNMb2NrVGFrZXNXZWJUaHJlYWRMb2NrKQoreworICAgIFJldGFpblB0
cjxVSVdpbmRvdz4gdWlXaW5kb3cgPSBhZG9wdE5TKFtbVUlXaW5kb3cgYWxsb2NdIGluaXRXaXRo
RnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCldKTsKKyAgICBSZXRhaW5QdHI8VUlXZWJW
aWV3PiB1aVdlYlZpZXcgPSBhZG9wdE5TKFtbVUlXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1l
Ok5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApXSk7CisgICAgW3VpV2luZG93IGFkZFN1YnZpZXc6
dWlXZWJWaWV3LmdldCgpXTsKKyAgICBSZXRhaW5QdHI8SlNDb250ZXh0PiBqc0NvbnRleHQgPSBb
dWlXZWJWaWV3IHZhbHVlRm9yS2V5UGF0aDpAImRvY3VtZW50Vmlldy53ZWJWaWV3Lm1haW5GcmFt
ZS5qYXZhU2NyaXB0Q29udGV4dCJdOworCisgICAgRVhQRUNUX1RSVUUoISFqc0NvbnRleHQuZ2V0
KCkpOworCisgICAgUmV0YWluUHRyPEpTVmlydHVhbE1hY2hpbmU+IGpzVk0gPSBbanNDb250ZXh0
IHZpcnR1YWxNYWNoaW5lXTsKKyAgICBFWFBFQ1RfVFJVRShbanNWTSBpc1dlYlRocmVhZEF3YXJl
XSk7Cit9CisKK30KKworI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372319</attachid>
            <date>2019-06-17 21:18:33 -0700</date>
            <delta_ts>2019-06-18 00:18:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198911-20190617211832.patch</filename>
            <type>text/plain</type>
            <size>13417</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2NTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
OWMyNGY4ZDlhOTU5OWIzYmQzMTA0NDhkZjQxZDE4M2I4NTg4MDBlLi5lYWYzOWNiNTY5NDgyMDgz
OGNkMzQ5MmFmMjU1MTRhOTA3Njk2YTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAxOS0wNi0xNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEpTTG9jayBzaG91bGQgYmUgV2ViVGhyZWFkIGF3YXJlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg5MTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaW5jZSBXZWJLaXRM
ZWdhY3kgY29udGVudCByZW5kZXJpbmcgaXMgZHJpdmVuIGluIHdlYiB0aHJlYWQgaW5zdGVhZCBv
ZiBtYWluIHRocmVhZCBpbiBpT1MsIHVzZXIgb2YgV2ViS2l0TGVnYWN5IChlLmcuIFVJV2ViVmll
dykgbmVlZHMKKyAgICAgICAgdG8gZ3JhYiB0aGUgd2ViIHRocmVhZCBsb2NrICh3aGljaCBpcyBh
IHJlY3Vyc2l2ZSBsb2NrKSBmcm9tIHRoZSBtYWluIHRocmVhZCBiZWZvcmUgdG91Y2hpbmcgdGhh
dC4gV2ViS2l0TGVnYWN5IGNhbiBleHBvc2UgSlNDb250ZXh0CisgICAgICAgIGZvciB0aGUgd2Vi
IHZpZXcsIGFuZCB3ZSBjYW4gaW50ZXJhY3Qgd2l0aCB0aGUgSlMgY29udGVudCB0aHJvdWdoIEph
dmFTY3JpcHRDb3JlIEFQSXMuIEhvd2V2ZXIsIHNpbmNlIHdlYiB0aHJlYWQgaXMgYSBjb25jZXB0
IGluIFdlYkNvcmUsCisgICAgICAgIEphdmFTY3JpcHRDb3JlIEFQSXMgZG8gbm90IGdyYWIgdGhl
IHdlYiB0aHJlYWQgbG9jay4gQXMgYSByZXN1bHQsIFdlYktpdExlZ2FjeSB3ZWIgY29udGVudCBj
YW4gYmUgbW9kaWZpZWQgZnJvbSB0aGUgbWFpbiB0aHJlYWQgYW5kIHRoZQorICAgICAgICB3ZWIg
dGhyZWFkIHNpbXVsdGFuZW91c2x5LgorCisgICAgICAgIFRoaXMgcGF0Y2ggbWFrZXMgSlNDIGF3
YXJlIG9mIFdlYlRocmVhZDogSlNMb2NrIGdyYWJzIHRoZSB3ZWIgdGhyZWFkIGxvY2sgYmVmb3Jl
IGdyYWJiaW5nIEpTJ3MgbG9jay4gU2luY2UgYm90aCBKU0xvY2sgYW5kIHRoZSB3ZWIgdGhyZWFk
CisgICAgICAgIGxvY2sgYXJlIHJlY3Vyc2l2ZSBsb2NrcywgbmVzdGVkIGxvY2sgaXMgdG90YWxs
eSBPSy4gT25seSB0aGUgcHJvYmxlbSBpcyB0aGUgb3JkZXIgb2YgbG9ja2luZywgYW5kIHdlIGFs
d2F5cyBncmFiIGxvY2tzIGluICgxKSB0aGUgd2ViCisgICAgICAgIHRocmVhZCBsb2NrIGFuZCAo
MikgSlNMb2NrIG9yZGVyLgorCisgICAgICAgICogQVBJL0pTVmlydHVhbE1hY2hpbmUubW06Cisg
ICAgICAgICgtW0pTVmlydHVhbE1hY2hpbmUgaXNXZWJUaHJlYWRBd2FyZV0pOgorICAgICAgICAq
IEFQSS9KU1ZpcnR1YWxNYWNoaW5lSW50ZXJuYWwuaDoKKyAgICAgICAgKiBydW50aW1lL0pTTG9j
ay5jcHA6CisgICAgICAgIChKU0M6OkpTTG9jazo6bG9jayk6CisgICAgICAgICogcnVudGltZS9K
U0xvY2suaDoKKyAgICAgICAgKEpTQzo6SlNMb2NrOjptYWtlV2ViVGhyZWFkQXdhcmUpOgorICAg
ICAgICAoSlNDOjpKU0xvY2s6OmlzV2ViVGhyZWFkQXdhcmUgY29uc3QpOgorCiAyMDE5LTA2LTE3
ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gSW50
cm9kdWNlIERpc3Bvc2FibGVDYWxsU2l0ZUluZGV4IHRvIGVuZm9yY2UgdHlwZS1zYWZldHkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCBjOWFlZDU3MGY5MzlkZGVjOGUxMjk4NmU5NzEyZjhkYWRlMTI3YzBiLi4xY2Q2
MjMzODM5YjdkMDMzOTg1NjM4MzRhYjg0ZjU3MmUxOTFjN2Y4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTktMDYtMTcgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4K
KworICAgICAgICBbSlNDXSBKU0xvY2sgc2hvdWxkIGJlIFdlYlRocmVhZCBhd2FyZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4OTExCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9D
b21tb25WTS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb21tb25WTVNsb3cpOgorCiAyMDE5LTA2
LTE3ICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFN1cHBv
cnQgdXNpbmcgQU5HTEUgYXMgdGhlIGJhY2tlbmQgZm9yIHRoZSBXZWJHTCBpbXBsZW1lbnRhdGlv
bgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZpcnR1YWxNYWNoaW5l
Lm1tIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZpcnR1YWxNYWNoaW5lLm1tCmluZGV4
IDJhZmMwOTdiMmZhY2Q5MzFhNDQ3ZTNiZTMwZmIzN2FhZGVlN2Y4NTAuLjYyZWVmNGQ0ODkyYzNk
NGYwOWI2MzIzYTRmMGYyZmY4YzVjOTQ2YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNWaXJ0dWFsTWFjaGluZS5tbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
QVBJL0pTVmlydHVhbE1hY2hpbmUubW0KQEAgLTI0OCw2ICsyNDgsMTEgQEAgLSAoSlNDOjpWTSYp
dm0KICAgICByZXR1cm4gKnRvSlMobV9ncm91cCk7CiB9CiAKKy0gKEJPT0wpaXNXZWJUaHJlYWRB
d2FyZQoreworICAgIHJldHVybiBbc2VsZiB2bV0uYXBpTG9jaygpLmlzV2ViVGhyZWFkQXdhcmUo
KTsKK30KKwogKyAodm9pZClzZXRDcmFzaE9uVk1DcmVhdGlvbjooQk9PTClzaG91bGRDcmFzaAog
ewogICAgIEpTQzo6Vk06OnNldENyYXNoT25WTUNyZWF0aW9uKHNob3VsZENyYXNoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWaXJ0dWFsTWFjaGluZUludGVybmFs
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmlydHVhbE1hY2hpbmVJbnRlcm5hbC5o
CmluZGV4IGY2NGVlMWFlMDI4YTY5NmE4MWM1OGUzNmMzNmQ0NTBlNmMwZGJjOTguLmVlODZiNjE1
MzM5ZmY2N2NiYzZlM2NiZjMxNDFkOTE1Y2JlYzI2MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNWaXJ0dWFsTWFjaGluZUludGVybmFsLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU1ZpcnR1YWxNYWNoaW5lSW50ZXJuYWwuaApAQCAtNDYsNiArNDYs
OCBAQCBKU0NvbnRleHRHcm91cFJlZiBnZXRHcm91cEZyb21WaXJ0dWFsTWFjaGluZShKU1ZpcnR1
YWxNYWNoaW5lICopOwogCiAtIChKU0M6OlZNJil2bTsKIAorLSAoQk9PTClpc1dlYlRocmVhZEF3
YXJlOworCiBAZW5kCiAKICNlbmRpZiAvLyBkZWZpbmVkKF9fT0JKQ19fKQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTTG9jay5jcHAKaW5kZXggN2NjM2Y2OWQ0YWZjMmU3ZDUyZWJjYjk3
MzljODFkMjk3MjU1YzUyYy4uZjQxZWNkNzE2N2EwMmI0NGY0NGJmOGFmMTEzMTk2YzdmY2RmZGFj
ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suY3BwCkBAIC0zNSw2ICsz
NSwxMCBAQAogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGhyZWFk
cy9TaWduYWxzLmg+CiAKKyNpZiBVU0UoV0VCX1RIUkVBRCkKKyNpbmNsdWRlIDx3dGYvaW9zL1dl
YkNvcmVUaHJlYWQuaD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgSlNDIHsKIAogTG9jayBHbG9iYWxK
U0xvY2s6OnNfc2hhcmVkSW5zdGFuY2VNdXRleDsKQEAgLTEwNSw2ICsxMDksMTMgQEAgdm9pZCBK
U0xvY2s6OmxvY2soKQogdm9pZCBKU0xvY2s6OmxvY2soaW50cHRyX3QgbG9ja0NvdW50KQogewog
ICAgIEFTU0VSVChsb2NrQ291bnQgPiAwKTsKKyNpZiBVU0UoV0VCX1RIUkVBRCkKKyAgICBpZiAo
bV9pc1dlYlRocmVhZEF3YXJlKSB7CisgICAgICAgIEFTU0VSVChXZWJDb3JlV2ViVGhyZWFkSXNF
bmFibGVkICYmIFdlYkNvcmVXZWJUaHJlYWRJc0VuYWJsZWQoKSk7CisgICAgICAgIFdlYkNvcmVX
ZWJUaHJlYWRMb2NrKCk7CisgICAgfQorI2VuZGlmCisKICAgICBib29sIHN1Y2Nlc3MgPSBtX2xv
Y2sudHJ5TG9jaygpOwogICAgIGlmIChVTkxJS0VMWSghc3VjY2VzcykpIHsKICAgICAgICAgaWYg
KGN1cnJlbnRUaHJlYWRJc0hvbGRpbmdMb2NrKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNMb2NrLmgKaW5kZXggZjQ2MWY4MjBmOWUzYWE1ZjFlYzg2YTAyMTEzZGEyMjk2ZjMzMzBl
OC4uMWU4NzU4YzUyNjQyYTdmZjJiMDdiZjcyM2Q2OGQ2M2JiNDM2ZjUyZiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgKQEAgLTExOSw2ICsxMTksMTMgQEAgY2xhc3MgSlNM
b2NrIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPEpTTG9jaz4gewogICAgICAgICB1bnNp
Z25lZCBtX2Ryb3BEZXB0aDsKICAgICB9OwogCisgICAgdm9pZCBtYWtlV2ViVGhyZWFkQXdhcmUo
KQorICAgIHsKKyAgICAgICAgbV9pc1dlYlRocmVhZEF3YXJlID0gdHJ1ZTsKKyAgICB9CisKKyAg
ICBib29sIGlzV2ViVGhyZWFkQXdhcmUoKSBjb25zdCB7IHJldHVybiBtX2lzV2ViVGhyZWFkQXdh
cmU7IH0KKwogcHJpdmF0ZToKICAgICB2b2lkIGxvY2soaW50cHRyX3QgbG9ja0NvdW50KTsKICAg
ICB2b2lkIHVubG9jayhpbnRwdHJfdCB1bmxvY2tDb3VudCk7CkBAIC0xMzAsNiArMTM3LDcgQEAg
Y2xhc3MgSlNMb2NrIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPEpTTG9jaz4gewogICAg
IHZvaWQgZ3JhYkFsbExvY2tzKERyb3BBbGxMb2NrcyosIHVuc2lnbmVkIGxvY2tDb3VudCk7CiAK
ICAgICBMb2NrIG1fbG9jazsKKyAgICBib29sIG1faXNXZWJUaHJlYWRBd2FyZSB7IGZhbHNlIH07
CiAgICAgLy8gV2UgY2Fubm90IG1ha2UgbV9vd25lclRocmVhZCBhbiBvcHRpb25hbCAoaW5zdGVh
ZCBvZiBwYWlyaW5nIGl0IHdpdGggYW4gZXhwbGljaXQKICAgICAvLyBtX2hhc093bmVyVGhyZWFk
KSBiZWNhdXNlIGN1cnJlbnRUaHJlYWRJc0hvbGRpbmdMb2NrKCkgbWF5IGJlIGNhbGxlZCBmcm9t
IGEKICAgICAvLyBkaWZmZXJlbnQgdGhyZWFkLCBhbmQgYW4gb3B0aW9uYWwgaXMgdnVsbmVyYWJs
ZSB0byByYWNlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NvbW1v
blZNLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NvbW1vblZNLmNwcAppbmRleCBj
MWU5NGI4Yjg1NzI2YjNkNTFmZTExOTU4OTkyMzUxYmYzN2UxYjUyLi4wOWI3ODRmOWVkMzU2YWQ2
YmNiYTg0ZjVlNjNiZjhhNmYxZWEyNjdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9Db21tb25WTS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ29t
bW9uVk0uY3BwCkBAIC01OSw2ICs1OSw4IEBAIEpTQzo6Vk0mIGNvbW1vblZNU2xvdygpCiAgICAg
dm0uaGVhcC5hY3F1aXJlQWNjZXNzKCk7IC8vIEF0IGFueSB0aW1lLCB3ZSBtYXkgZG8gdGhpbmdz
IHRoYXQgYWZmZWN0IHRoZSBHQy4KIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgaWYg
KFdlYlRocmVhZElzRW5hYmxlZCgpKQorICAgICAgICB2bS5hcGlMb2NrKCkubWFrZVdlYlRocmVh
ZEF3YXJlKCk7CiAgICAgdm0uc2V0UnVuTG9vcChXZWJUaHJlYWRSdW5Mb29wKCkpOwogICAgIHZt
LmhlYXAubWFjaGluZVRocmVhZHMoKS5hZGRDdXJyZW50VGhyZWFkKCk7CiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjMTNiZTY3OTgw
Mjg4NzUxNTExNmM2MjdkOWY1YWM2MzU4MmNhNDU2Li41ZmI4NTgwMjgxYmIyN2FkMjdiZGI0MWE2
ZGIyOWRhYTlmN2VjN2Q3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMDYtMTcgIFl1c3VrZSBTdXp1a2kgIDx5
c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBKU0xvY2sgc2hvdWxkIGJlIFdlYlRo
cmVhZCBhd2FyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk4OTExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdExlZ2FjeS9pb3MvSlNMb2Nr
VGFrZXNXZWJUaHJlYWRMb2NrLm1tOiBBZGRlZC4KKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRF
U1QpOgorCiAyMDE5LTA2LTE3ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgog
CiAgICAgICAgIEVuc3VyZSBJVFAgc3RhdGUgaXMgcmVsYXllZCB0byBOZXR3b3JrIFByb2Nlc3Mg
b24gcmVzdGFydApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmZGJjZDk2OGFkMzNmMjZkYjE1
YTRjZjQ4NDFlZDA2NGNkMTgzOTZjLi43YTE2ZWJjYzgzZGFhYTBkMGY4ZGIzYWFlNmQyNWYwZTk2
YjY0NTk1IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtODc1LDYgKzg3NSw3IEBACiAJCUUx
OTRFMUJEMTc3RTUzQzcwMDlDNEQ0RSAvKiBTdG9wTG9hZGluZ0Zyb21EaWRSZWNlaXZlUmVzcG9u
c2UuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFMTk0RTFCQzE3N0U1MzRBMDA5QzRENEUgLyogU3RvcExvYWRpbmdGcm9tRGlkUmVjZWl2
ZVJlc3BvbnNlLmh0bWwgKi87IH07CiAJCUUzMjRBNkYwMjA0MUM4MjAwMEE3NjU5MyAvKiBVbmlx
dWVBcnJheS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFMzk4QkMwRjIwNDFDNzYzMDAzODcxMzYgLyogVW5pcXVlQXJyYXkuY3BwICovOyB9OwogCQlF
MzJCNTQ5MjIyODEwQUM0MDA4QUQ3MDIgLyogUGFja2VkLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzMkI1NDkxMjI4MTBBQzAwMDhBRDcwMiAvKiBQ
YWNrZWQuY3BwICovOyB9OworCQlFMzVGQzdCMjIyQjgyQTczMDBGMzJGOTggLyogSlNMb2NrVGFr
ZXNXZWJUaHJlYWRMb2NrLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRTM1RkM3QjEyMkI4MkE2RDAwRjMyRjk4IC8qIEpTTG9ja1Rha2VzV2ViVGhyZWFk
TG9jay5tbSAqLzsgfTsKIAkJRTM3M0Q3OTExRjJDRjM1MjAwQzZGQUFGIC8qIFNpZ25hbHMuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM5NTNGOTUx
RjJDRjMyMTAwQTc2QTJFIC8qIFNpZ25hbHMuY3BwICovOyB9OwogCQlFMzhBMEQzNTFGRDUwQ0Mz
MDBFOThDOEIgLyogVGhyZWFkaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEUzOEEwRDM0MUZENTBDQkMwMEU5OEM4QiAvKiBUaHJlYWRpbmcuY3Bw
ICovOyB9OwogCQlFM0ExRTc3RjIxQjI1QjM5MDA4QzYwMDcgLyogVVJMUGFyc2VyVGV4dEVuY29k
aW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUz
QTFFNzdFMjFCMjVCMzkwMDhDNjAwNyAvKiBVUkxQYXJzZXJUZXh0RW5jb2RpbmcuY3BwICovOyB9
OwpAQCAtMjI3Miw2ICsyMjczLDcgQEAKIAkJRTE5NEUxQkMxNzdFNTM0QTAwOUM0RDRFIC8qIFN0
b3BMb2FkaW5nRnJvbURpZFJlY2VpdmVSZXNwb25zZS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gU3RvcExvYWRp
bmdGcm9tRGlkUmVjZWl2ZVJlc3BvbnNlLmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUUxOURCOTc4MUIzMjEzN0MwMERCMzhENCAvKiBOYXZpZ2F0b3JMYW5ndWFnZS5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IE5hdmlnYXRvckxhbmd1YWdlLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzJCNTQ5MTIyODEwQUMwMDA4QUQ3MDIg
LyogUGFja2VkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhY2tlZC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUUzNUZDN0IxMjJCODJBNkQwMEYzMkY5OCAvKiBKU0xvY2tUYWtl
c1dlYlRocmVhZExvY2subW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBKU0xvY2tUYWtlc1dlYlRocmVhZExvY2subW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUUzODg4ODcwMjBDOTA5ODEwMEU2MzJCQyAvKiBXb3JrZXJQb29sLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdvcmtlclBvb2wuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFMzhBMEQzNDFGRDUwQ0JDMDBFOThDOEIgLyogVGhyZWFkaW5nLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRocmVhZGluZy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzOTUzRjk1MUYyQ0YzMjEwMEE3NkEyRSAvKiBT
aWduYWxzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNpZ25hbHMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzgwNyw2ICszODA5LDcgQEAKIAkJ
CWNoaWxkcmVuID0gKAogCQkJCUNEQzhFNDlBMUJDNzI4RkUwMDU5NEZFQyAvKiBSZXNvdXJjZXMg
Ki8sCiAJCQkJQ0RDOEU0ODUxQkM1QjE5NDAwNTk0RkVDIC8qIEF1ZGlvU2Vzc2lvbkNhdGVnb3J5
SU9TLm1tICovLAorCQkJCUUzNUZDN0IxMjJCODJBNkQwMEYzMkY5OCAvKiBKU0xvY2tUYWtlc1dl
YlRocmVhZExvY2subW0gKi8sCiAJCQkJQ0RDMDkzMkEyMUM4NzJDMTAwMzBDNEIwIC8qIFNjcm9s
bGluZ0RvZXNOb3RQYXVzZU1lZGlhLm1tICovLAogCQkJCTBGNEZGQTlEMUVEM0FBODUwMEY3MTEx
RiAvKiBTbmFwc2hvdFZpYVJlbmRlckluQ29udGV4dC5tbSAqLywKIAkJCSk7CkBAIC00MzAzLDYg
KzQzMDYsNyBAQAogCQkJCTdDQ0U3RUFEMUE0MTFBMzQwMDQ0N0M0QyAvKiBKYXZhU2NyaXB0VGVz
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VBNTFBNDExQTA4MDA0NDdDNEMgLyogSmF2
YVNjcmlwdFRlc3RNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQk1QzAxNjBDMTIxQTEzMjQ2MDA3
N0ZBMzIgLyogSklURW5hYmxlZC5tbSBpbiBTb3VyY2VzICovLAorCQkJCUUzNUZDN0IyMjJCODJB
NzMwMEYzMkY5OCAvKiBKU0xvY2tUYWtlc1dlYlRocmVhZExvY2subW0gaW4gU291cmNlcyAqLywK
IAkJCQk3Q0NFN0VDNDFBNDExQTdFMDA0NDdDNEMgLyogSlNXcmFwcGVyRm9yTm9kZUluV2ViRnJh
bWUubW0gaW4gU291cmNlcyAqLywKIAkJCQlGNDVFMTU3MzIxMTJDRTI5MDAzMDdFODIgLyogS2V5
Ym9hcmRJbnB1dFRlc3RzSU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdGMDYxQTQxMUFF
NjAwNDQ3QzRDIC8qIExheW91dE1pbGVzdG9uZXNXaXRoQWxsQ29udGVudEluRnJhbWUuY3BwIGlu
IFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dExlZ2FjeS9pb3MvSlNMb2NrVGFrZXNXZWJUaHJlYWRMb2NrLm1tIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRMZWdhY3kvaW9zL0pTTG9ja1Rha2VzV2ViVGhyZWFkTG9jay5tbQpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kY2JkMTE0NDAzNjU4ZmFmYWNmOTBjNmZjNzlhM2EwYTFlMzgwYzhlCi0tLSAv
ZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRMZWdhY3kvaW9z
L0pTTG9ja1Rha2VzV2ViVGhyZWFkTG9jay5tbQpAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW1wb3J0ICJjb25maWcuaCIKKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisKKyNpbXBvcnQg
IlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9KU1ZpcnR1YWxN
YWNoaW5lLmg+CisjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9KU1ZpcnR1YWxNYWNoaW5lSW50ZXJu
YWwuaD4KKyNpbXBvcnQgPFVJS2l0L1VJS2l0Lmg+CisjaW1wb3J0IDxzdGRsaWIuaD4KKyNpbXBv
cnQgPHd0Zi9SZXRhaW5QdHIuaD4KKworbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgeworCitURVNU
KFdlYktpdExlZ2FjeSwgSlNMb2NrVGFrZXNXZWJUaHJlYWRMb2NrKQoreworICAgIFJldGFpblB0
cjxVSVdpbmRvdz4gdWlXaW5kb3cgPSBhZG9wdE5TKFtbVUlXaW5kb3cgYWxsb2NdIGluaXRXaXRo
RnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCldKTsKKyAgICBSZXRhaW5QdHI8VUlXZWJW
aWV3PiB1aVdlYlZpZXcgPSBhZG9wdE5TKFtbVUlXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1l
Ok5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApXSk7CisgICAgW3VpV2luZG93IGFkZFN1YnZpZXc6
dWlXZWJWaWV3LmdldCgpXTsKKyAgICBbdWlXZWJWaWV3IGxvYWRIVE1MU3RyaW5nOkAiPHA+V2Vi
VGhyZWFkTG9jayBhbmQgSlNMb2NrPC9wPiIgYmFzZVVSTDpuaWxdOworICAgIFJldGFpblB0cjxK
U0NvbnRleHQ+IGpzQ29udGV4dCA9IFt1aVdlYlZpZXcgdmFsdWVGb3JLZXlQYXRoOkAiZG9jdW1l
bnRWaWV3LndlYlZpZXcubWFpbkZyYW1lLmphdmFTY3JpcHRDb250ZXh0Il07CisKKyAgICBFWFBF
Q1RfVFJVRSghIWpzQ29udGV4dC5nZXQoKSk7CisKKyAgICBSZXRhaW5QdHI8SlNWaXJ0dWFsTWFj
aGluZT4ganNWTSA9IFtqc0NvbnRleHQgdmlydHVhbE1hY2hpbmVdOworICAgIEVYUEVDVF9UUlVF
KFtqc1ZNIGlzV2ViVGhyZWFkQXdhcmVdKTsKKworICAgIC8vIFhNTEh0dHBSZXF1ZXN0IGhhcyBU
aW1lciwgd2hpY2ggaGFzIHRocmVhZCBhZmluaXR5LgorICAgIFtqc0NvbnRleHQgZXZhbHVhdGVT
Y3JpcHQ6QCJmb3IgKHZhciBpID0gMDsgaSA8IDFlNTsgKytpKSBuZXcgWE1MSHR0cFJlcXVlc3Q7
Il07Cit9CisKK30KKworI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372329</attachid>
            <date>2019-06-18 00:18:36 -0700</date>
            <delta_ts>2019-06-18 00:39:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198911-20190618001835.patch</filename>
            <type>text/plain</type>
            <size>15074</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2NTMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
ZDBlOGJmYWJmOGRmOTZhOWM0ZWI5ZTQyZmMzYWYxMGQyNDE1MTA5Li43NDMyNWYwOGJjYTA5ZTVk
OGQ4ZjAyZDAwMDg3ZTUzY2NjNWZjZTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzOCBAQAorMjAxOS0wNi0xOCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEpTTG9jayBzaG91bGQgYmUgV2ViVGhyZWFkIGF3YXJlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg5MTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaW5jZSBXZWJLaXRM
ZWdhY3kgY29udGVudCByZW5kZXJpbmcgaXMgZHJpdmVuIGluIFdlYlRocmVhZCBpbnN0ZWFkIG9m
IG1haW4gdGhyZWFkIGluIGlPUywgdXNlciBvZiBXZWJLaXRMZWdhY3kgKGUuZy4gVUlXZWJWaWV3
KSBuZWVkcworICAgICAgICB0byBncmFiIHRoZSBXZWJUaHJlYWQgbG9jayAod2hpY2ggaXMgYSBy
ZWN1cnNpdmUgbG9jaykgZnJvbSB0aGUgbWFpbiB0aHJlYWQgYmVmb3JlIHRvdWNoaW5nIHRoYXQu
CisgICAgICAgIFdlYktpdExlZ2FjeSBjYW4gZXhwb3NlIEpTQ29udGV4dCBmb3IgdGhlIHdlYiB2
aWV3LCBhbmQgd2UgY2FuIGludGVyYWN0IHdpdGggdGhlIEpTIGNvbnRlbnQgdGhyb3VnaCBKYXZh
U2NyaXB0Q29yZSBBUElzLiBIb3dldmVyLCBzaW5jZQorICAgICAgICBXZWJUaHJlYWQgaXMgYSBj
b25jZXB0IGluIFdlYkNvcmUsIEphdmFTY3JpcHRDb3JlIEFQSXMgZG8gbm90IGdyYWIgdGhlIFdl
YlRocmVhZCBsb2NrLiBBcyBhIHJlc3VsdCwgV2ViS2l0TGVnYWN5IHdlYiBjb250ZW50IGNhbiBi
ZQorICAgICAgICBtb2RpZmllZCBmcm9tIHRoZSBtYWluIHRocmVhZCBhbmQgdGhlIFdlYlRocmVh
ZCBzaW11bHRhbmVvdXNseS4KKworICAgICAgICBUaGlzIHBhdGNoIG1ha2VzIEpTQyBhd2FyZSBv
ZiBXZWJUaHJlYWQ6IEpTTG9jayBncmFicyB0aGUgV2ViVGhyZWFkIGxvY2sgYmVmb3JlIGdyYWJi
aW5nIEpTJ3MgbG9jay4gV2hpbGUgdGhpcyBpcyBsYXllcmluZyB2aW9sYXRpb24sCisgICAgICAg
IHdlIGFscmVhZHkgaGF2ZSBtYW55IFVTRShXRUJfVEhSRUFEKSBhbmQgV2ViVGhyZWFkIGF3YXJl
IGNvZGUgaW4gV1RGLiBFdmVudHVhbGx5LCB3ZSBzaG91bGQgbW92ZSBXZWJUaHJlYWQgY29kZSBm
cm9tIFdlYkNvcmUgdG8gV1RGIHNpbmNlCisgICAgICAgIEpTQyBhbmQgV1RGIG5lZWQgdG8gYmUg
YXdhcmUgb2YgV2ViVGhyZWFkLiBCdXQgZm9yIG5vdywgd2UganVzdCB1c2UgdGhlIGZ1bmN0aW9u
IHBvaW50ZXIgZXhwb3NlZCBieSBXZWJDb3JlLgorCisgICAgICAgIFNpbmNlIGJvdGggSlNMb2Nr
IGFuZCB0aGUgV2ViVGhyZWFkIGxvY2sgYXJlIHJlY3Vyc2l2ZSBsb2NrcywgbmVzdGVkIGxvY2sg
aXMgdG90YWxseSBPSy4gVGhlIHBvc3NpYmxlIHByb2JsZW0gaXMgdGhlIG9yZGVyIG9mIGxvY2tp
bmcuCisgICAgICAgIFdlIGVuc3VyZSB0aGF0IHdlIGFsd2F5cyBncmFiIGxvY2tzIGluICgxKSB0
aGUgV2ViVGhyZWFkIGxvY2sgYW5kICgyKSBKU0xvY2sgb3JkZXIuCisKKyAgICAgICAgSW4gSlNM
b2NrLCB3ZSB0YWtlIHRoZSBXZWJUaHJlYWQgbG9jaywgYnV0IHdlIGRvIG5vdCB1bmxvY2sgaXQu
IFRoaXMgaXMgaG93IHdlIHVzZSB0aGUgV2ViVGhyZWFkIGxvY2s6IHRoZSBXZWJUaHJlYWQgbG9j
ayBpcyByZWxlYXNlZAorICAgICAgICB3aGVuIFJ1bkxvb3AgZmluaXNoZXMgdGhlIGN1cnJlbnQg
Y3ljbGUsIGFuZCBpbiBXZWJLaXRMZWdhY3ksIHdlIGRvIG5vdCBjYWxsIHVubG9ja2luZyBmdW5j
dGlvbiBvZiB0aGUgV2ViVGhyZWFkIGxvY2sgZXhjZXB0IGZvciBzb21lCisgICAgICAgIGVkZ2Ug
Y2FzZXMuCisKKyAgICAgICAgKiBBUEkvSlNWaXJ0dWFsTWFjaGluZS5tbToKKyAgICAgICAgKC1b
SlNWaXJ0dWFsTWFjaGluZSBpc1dlYlRocmVhZEF3YXJlXSk6CisgICAgICAgICogQVBJL0pTVmly
dHVhbE1hY2hpbmVJbnRlcm5hbC5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNMb2NrLmNwcDoKKyAg
ICAgICAgKEpTQzo6SlNMb2NrSG9sZGVyOjpKU0xvY2tIb2xkZXIpOgorICAgICAgICAoSlNDOjpK
U0xvY2s6OmxvY2spOgorICAgICAgICAoSlNDOjpKU0xvY2tIb2xkZXI6OmluaXQpOiBEZWxldGVk
LgorICAgICAgICAqIHJ1bnRpbWUvSlNMb2NrLmg6CisgICAgICAgIChKU0M6OkpTTG9jazo6bWFr
ZVdlYlRocmVhZEF3YXJlKToKKyAgICAgICAgKEpTQzo6SlNMb2NrOjppc1dlYlRocmVhZEF3YXJl
IGNvbnN0KToKKwogMjAxOS0wNi0xNyAgSnVzdGluIE1pY2hhdWQgIDxqdXN0aW5fbWljaGF1ZEBh
cHBsZS5jb20+CiAKICAgICAgICAgVmFsaWRhdGUgdGhhdCB0YWJsZSBlbGVtZW50IHR5cGUgaXMg
ZnVuY3JlZiBpZiB1c2luZyBhbiBlbGVtZW50IHNlY3Rpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2MTU0OGIz
MjBhN2M5NTA4ZjkzZDRiYWU3ODViNDZlNGFlNjk4ZTYxLi5hN2Y2Y2NhNDdiNWVkMjE5ODc0NzY3
MGIwNjcwYTU4MGU1NzNkZmJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDYt
MTggIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBK
U0xvY2sgc2hvdWxkIGJlIFdlYlRocmVhZCBhd2FyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4OTExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9Db21tb25WTS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpjb21tb25WTVNsb3cpOgorCiAyMDE5LTA2LTE3ICBTaWh1aSBMaXUgIDxz
aWh1aV9saXVAYXBwbGUuY29tPgogCiAgICAgICAgIC1bV0tXZWJzaXRlRGF0YVN0b3JlIHJlbW92
ZURhdGFPZlR5cGVzOm1vZGlmaWVkU2luY2U6Y29tcGxldGlvbkhhbmRsZXI6XSBkb2Vzbid0IGRl
bGV0ZSBfV0tXZWJzaXRlRGF0YVR5cGVDcmVkZW50aWFscwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU1ZpcnR1YWxNYWNoaW5lLm1tIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9KU1ZpcnR1YWxNYWNoaW5lLm1tCmluZGV4IDJhZmMwOTdiMmZhY2Q5MzFhNDQ3ZTNi
ZTMwZmIzN2FhZGVlN2Y4NTAuLjYyZWVmNGQ0ODkyYzNkNGYwOWI2MzIzYTRmMGYyZmY4YzVjOTQ2
YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWaXJ0dWFsTWFjaGlu
ZS5tbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmlydHVhbE1hY2hpbmUubW0K
QEAgLTI0OCw2ICsyNDgsMTEgQEAgLSAoSlNDOjpWTSYpdm0KICAgICByZXR1cm4gKnRvSlMobV9n
cm91cCk7CiB9CiAKKy0gKEJPT0wpaXNXZWJUaHJlYWRBd2FyZQoreworICAgIHJldHVybiBbc2Vs
ZiB2bV0uYXBpTG9jaygpLmlzV2ViVGhyZWFkQXdhcmUoKTsKK30KKwogKyAodm9pZClzZXRDcmFz
aE9uVk1DcmVhdGlvbjooQk9PTClzaG91bGRDcmFzaAogewogICAgIEpTQzo6Vk06OnNldENyYXNo
T25WTUNyZWF0aW9uKHNob3VsZENyYXNoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNWaXJ0dWFsTWFjaGluZUludGVybmFsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQVBJL0pTVmlydHVhbE1hY2hpbmVJbnRlcm5hbC5oCmluZGV4IGY2NGVlMWFlMDI4YTY5NmE4
MWM1OGUzNmMzNmQ0NTBlNmMwZGJjOTguLmVlODZiNjE1MzM5ZmY2N2NiYzZlM2NiZjMxNDFkOTE1
Y2JlYzI2MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWaXJ0dWFs
TWFjaGluZUludGVybmFsLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZpcnR1
YWxNYWNoaW5lSW50ZXJuYWwuaApAQCAtNDYsNiArNDYsOCBAQCBKU0NvbnRleHRHcm91cFJlZiBn
ZXRHcm91cEZyb21WaXJ0dWFsTWFjaGluZShKU1ZpcnR1YWxNYWNoaW5lICopOwogCiAtIChKU0M6
OlZNJil2bTsKIAorLSAoQk9PTClpc1dlYlRocmVhZEF3YXJlOworCiBAZW5kCiAKICNlbmRpZiAv
LyBkZWZpbmVkKF9fT0JKQ19fKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNMb2NrLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5j
cHAKaW5kZXggN2NjM2Y2OWQ0YWZjMmU3ZDUyZWJjYjk3MzljODFkMjk3MjU1YzUyYy4uZGFmMGY3
N2Q1NmVlMTMyN2ZmZGVhYWMwZDgwOGU0NTdjZmU4NjMxMCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0xvY2suY3BwCkBAIC0zNSw2ICszNSwxMCBAQAogI2luY2x1ZGUgPHd0Zi9U
aHJlYWRpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGhyZWFkcy9TaWduYWxzLmg+CiAKKyNpZiBVU0Uo
V0VCX1RIUkVBRCkKKyNpbmNsdWRlIDx3dGYvaW9zL1dlYkNvcmVUaHJlYWQuaD4KKyNlbmRpZgor
CiBuYW1lc3BhY2UgSlNDIHsKIAogTG9jayBHbG9iYWxKU0xvY2s6OnNfc2hhcmVkSW5zdGFuY2VN
dXRleDsKQEAgLTUwLDI0ICs1NCwxNyBAQCBHbG9iYWxKU0xvY2s6On5HbG9iYWxKU0xvY2soKQog
fQogCiBKU0xvY2tIb2xkZXI6OkpTTG9ja0hvbGRlcihFeGVjU3RhdGUqIGV4ZWMpCi0gICAgOiBt
X3ZtKCZleGVjLT52bSgpKQorICAgIDogSlNMb2NrSG9sZGVyKGV4ZWMtPnZtKCkpCiB7Ci0gICAg
aW5pdCgpOwogfQogCiBKU0xvY2tIb2xkZXI6OkpTTG9ja0hvbGRlcihWTSogdm0pCi0gICAgOiBt
X3ZtKHZtKQorICAgIDogSlNMb2NrSG9sZGVyKCp2bSkKIHsKLSAgICBpbml0KCk7CiB9CiAKIEpT
TG9ja0hvbGRlcjo6SlNMb2NrSG9sZGVyKFZNJiB2bSkKICAgICA6IG1fdm0oJnZtKQotewotICAg
IGluaXQoKTsKLX0KLQotdm9pZCBKU0xvY2tIb2xkZXI6OmluaXQoKQogewogICAgIG1fdm0tPmFw
aUxvY2soKS5sb2NrKCk7CiB9CkBAIC0xMDUsNiArMTAyLDEzIEBAIHZvaWQgSlNMb2NrOjpsb2Nr
KCkKIHZvaWQgSlNMb2NrOjpsb2NrKGludHB0cl90IGxvY2tDb3VudCkKIHsKICAgICBBU1NFUlQo
bG9ja0NvdW50ID4gMCk7CisjaWYgVVNFKFdFQl9USFJFQUQpCisgICAgaWYgKG1faXNXZWJUaHJl
YWRBd2FyZSkgeworICAgICAgICBBU1NFUlQoV2ViQ29yZVdlYlRocmVhZElzRW5hYmxlZCAmJiBX
ZWJDb3JlV2ViVGhyZWFkSXNFbmFibGVkKCkpOworICAgICAgICBXZWJDb3JlV2ViVGhyZWFkTG9j
aygpOworICAgIH0KKyNlbmRpZgorCiAgICAgYm9vbCBzdWNjZXNzID0gbV9sb2NrLnRyeUxvY2so
KTsKICAgICBpZiAoVU5MSUtFTFkoIXN1Y2Nlc3MpKSB7CiAgICAgICAgIGlmIChjdXJyZW50VGhy
ZWFkSXNIb2xkaW5nTG9jaygpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0xvY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5o
CmluZGV4IGY0NjFmODIwZjllM2FhNWYxZWM4NmEwMjExM2RhMjI5NmYzMzMwZTguLjBiMjdmZjYz
ZmU0ODE1YmYyNjNmYzY2Zjc4OTcxMGMzMmIwYzI1MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTTG9jay5oCkBAIC03MCw5ICs3MCw4IEBAIGNsYXNzIEpTTG9ja0hvbGRlciB7CiAg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNMb2NrSG9sZGVyKEV4ZWNTdGF0ZSopOwogCiAgICAgSlNf
RVhQT1JUX1BSSVZBVEUgfkpTTG9ja0hvbGRlcigpOwotcHJpdmF0ZToKLSAgICB2b2lkIGluaXQo
KTsKIAorcHJpdmF0ZToKICAgICBSZWZQdHI8Vk0+IG1fdm07CiB9OwogCkBAIC0xMTksNiArMTE4
LDEzIEBAIGNsYXNzIEpTTG9jayA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxKU0xvY2s+
IHsKICAgICAgICAgdW5zaWduZWQgbV9kcm9wRGVwdGg7CiAgICAgfTsKIAorICAgIHZvaWQgbWFr
ZVdlYlRocmVhZEF3YXJlKCkKKyAgICB7CisgICAgICAgIG1faXNXZWJUaHJlYWRBd2FyZSA9IHRy
dWU7CisgICAgfQorCisgICAgYm9vbCBpc1dlYlRocmVhZEF3YXJlKCkgY29uc3QgeyByZXR1cm4g
bV9pc1dlYlRocmVhZEF3YXJlOyB9CisKIHByaXZhdGU6CiAgICAgdm9pZCBsb2NrKGludHB0cl90
IGxvY2tDb3VudCk7CiAgICAgdm9pZCB1bmxvY2soaW50cHRyX3QgdW5sb2NrQ291bnQpOwpAQCAt
MTMwLDYgKzEzNiw3IEBAIGNsYXNzIEpTTG9jayA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRl
ZDxKU0xvY2s+IHsKICAgICB2b2lkIGdyYWJBbGxMb2NrcyhEcm9wQWxsTG9ja3MqLCB1bnNpZ25l
ZCBsb2NrQ291bnQpOwogCiAgICAgTG9jayBtX2xvY2s7CisgICAgYm9vbCBtX2lzV2ViVGhyZWFk
QXdhcmUgeyBmYWxzZSB9OwogICAgIC8vIFdlIGNhbm5vdCBtYWtlIG1fb3duZXJUaHJlYWQgYW4g
b3B0aW9uYWwgKGluc3RlYWQgb2YgcGFpcmluZyBpdCB3aXRoIGFuIGV4cGxpY2l0CiAgICAgLy8g
bV9oYXNPd25lclRocmVhZCkgYmVjYXVzZSBjdXJyZW50VGhyZWFkSXNIb2xkaW5nTG9jaygpIG1h
eSBiZSBjYWxsZWQgZnJvbSBhCiAgICAgLy8gZGlmZmVyZW50IHRocmVhZCwgYW5kIGFuIG9wdGlv
bmFsIGlzIHZ1bG5lcmFibGUgdG8gcmFjZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9Db21tb25WTS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Db21t
b25WTS5jcHAKaW5kZXggYzFlOTRiOGI4NTcyNmIzZDUxZmUxMTk1ODk5MjM1MWJmMzdlMWI1Mi4u
MDliNzg0ZjllZDM1NmFkNmJjYmE4NGY1ZTYzYmY4YTZmMWVhMjY3ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ29tbW9uVk0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0NvbW1vblZNLmNwcApAQCAtNTksNiArNTksOCBAQCBKU0M6OlZNJiBjb21t
b25WTVNsb3coKQogICAgIHZtLmhlYXAuYWNxdWlyZUFjY2VzcygpOyAvLyBBdCBhbnkgdGltZSwg
d2UgbWF5IGRvIHRoaW5ncyB0aGF0IGFmZmVjdCB0aGUgR0MuCiAKICNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKQorICAgIGlmIChXZWJUaHJlYWRJc0VuYWJsZWQoKSkKKyAgICAgICAgdm0uYXBpTG9j
aygpLm1ha2VXZWJUaHJlYWRBd2FyZSgpOwogICAgIHZtLnNldFJ1bkxvb3AoV2ViVGhyZWFkUnVu
TG9vcCgpKTsKICAgICB2bS5oZWFwLm1hY2hpbmVUaHJlYWRzKCkuYWRkQ3VycmVudFRocmVhZCgp
OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cK
aW5kZXggZjVmOTQwYjkwYTJhYWFjZWI5NjMyNWU4Y2E0Yjk1NTVjYjczMTI1NS4uMDdmNDg0OWYz
NmQ0MTYyYTdmNmZjOWEyOGJjZDI5MWQ3NGY2ZTVkMCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE5LTA2LTE4ICBZ
dXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgW0pTQ10gSlNMb2Nr
IHNob3VsZCBiZSBXZWJUaHJlYWQgYXdhcmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5ODkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRM
ZWdhY3kvaW9zL0pTTG9ja1Rha2VzV2ViVGhyZWFkTG9jay5tbTogQWRkZWQuCisgICAgICAgIChU
ZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAxOS0wNi0xNyAgU2lodWkgTGl1ICA8c2lodWlfbGl1
QGFwcGxlLmNvbT4KIAogICAgICAgICAtW1dLV2Vic2l0ZURhdGFTdG9yZSByZW1vdmVEYXRhT2ZU
eXBlczptb2RpZmllZFNpbmNlOmNvbXBsZXRpb25IYW5kbGVyOl0gZG9lc24ndCBkZWxldGUgX1dL
V2Vic2l0ZURhdGFUeXBlQ3JlZGVudGlhbHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggODY0
NzI5YTk5ZGI0MzM1NTY1MGJhNDE3Yzk5ZjQ2OGQzMjE0OTc1MC4uOTE2MTg2MzEwY2QxYmQ4NDVl
ZjUzN2IxMDQ3NGQ0OTY3ZDA3ZmYxZiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTg3NSw2
ICs4NzUsNyBAQAogCQlFMTk0RTFCRDE3N0U1M0M3MDA5QzRENEUgLyogU3RvcExvYWRpbmdGcm9t
RGlkUmVjZWl2ZVJlc3BvbnNlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTE5NEUxQkMxNzdFNTM0QTAwOUM0RDRFIC8qIFN0b3BMb2Fk
aW5nRnJvbURpZFJlY2VpdmVSZXNwb25zZS5odG1sICovOyB9OwogCQlFMzI0QTZGMDIwNDFDODIw
MDBBNzY1OTMgLyogVW5pcXVlQXJyYXkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTM5OEJDMEYyMDQxQzc2MzAwMzg3MTM2IC8qIFVuaXF1ZUFycmF5
LmNwcCAqLzsgfTsKIAkJRTMyQjU0OTIyMjgxMEFDNDAwOEFENzAyIC8qIFBhY2tlZC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzJCNTQ5MTIyODEw
QUMwMDA4QUQ3MDIgLyogUGFja2VkLmNwcCAqLzsgfTsKKwkJRTM1RkM3QjIyMkI4MkE3MzAwRjMy
Rjk4IC8qIEpTTG9ja1Rha2VzV2ViVGhyZWFkTG9jay5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNUZDN0IxMjJCODJBNkQwMEYzMkY5OCAvKiBKU0xv
Y2tUYWtlc1dlYlRocmVhZExvY2subW0gKi87IH07CiAJCUUzNzNENzkxMUYyQ0YzNTIwMEM2RkFB
RiAvKiBTaWduYWxzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEUzOTUzRjk1MUYyQ0YzMjEwMEE3NkEyRSAvKiBTaWduYWxzLmNwcCAqLzsgfTsKIAkJ
RTM4QTBEMzUxRkQ1MENDMzAwRTk4QzhCIC8qIFRocmVhZGluZy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzhBMEQzNDFGRDUwQ0JDMDBFOThDOEIg
LyogVGhyZWFkaW5nLmNwcCAqLzsgfTsKIAkJRTNBMUU3N0YyMUIyNUIzOTAwOEM2MDA3IC8qIFVS
TFBhcnNlclRleHRFbmNvZGluZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFM0ExRTc3RTIxQjI1QjM5MDA4QzYwMDcgLyogVVJMUGFyc2VyVGV4dEVu
Y29kaW5nLmNwcCAqLzsgfTsKQEAgLTIyNzIsNiArMjI3Myw3IEBACiAJCUUxOTRFMUJDMTc3RTUz
NEEwMDlDNEQ0RSAvKiBTdG9wTG9hZGluZ0Zyb21EaWRSZWNlaXZlUmVzcG9uc2UuaHRtbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsg
cGF0aCA9IFN0b3BMb2FkaW5nRnJvbURpZFJlY2VpdmVSZXNwb25zZS5odG1sOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFMTlEQjk3ODFCMzIxMzdDMDBEQjM4RDQgLyogTmF2aWdhdG9y
TGFuZ3VhZ2UubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBOYXZp
Z2F0b3JMYW5ndWFnZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMyQjU0OTEy
MjgxMEFDMDAwOEFENzAyIC8qIFBhY2tlZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQYWNrZWQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMzVGQzdCMTIyQjgyQTZEMDBGMzJG
OTggLyogSlNMb2NrVGFrZXNXZWJUaHJlYWRMb2NrLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gSlNMb2NrVGFrZXNXZWJUaHJlYWRMb2NrLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFMzg4ODg3MDIwQzkwOTgxMDBFNjMyQkMgLyogV29ya2VyUG9v
bC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXb3JrZXJQb29sLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM4QTBEMzQxRkQ1MENCQzAwRTk4QzhC
IC8qIFRocmVhZGluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBU
aHJlYWRpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzk1M0Y5NTFGMkNG
MzIxMDBBNzZBMkUgLyogU2lnbmFscy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBTaWduYWxzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM4MDcs
NiArMzgwOSw3IEBACiAJCQljaGlsZHJlbiA9ICgKIAkJCQlDREM4RTQ5QTFCQzcyOEZFMDA1OTRG
RUMgLyogUmVzb3VyY2VzICovLAogCQkJCUNEQzhFNDg1MUJDNUIxOTQwMDU5NEZFQyAvKiBBdWRp
b1Nlc3Npb25DYXRlZ29yeUlPUy5tbSAqLywKKwkJCQlFMzVGQzdCMTIyQjgyQTZEMDBGMzJGOTgg
LyogSlNMb2NrVGFrZXNXZWJUaHJlYWRMb2NrLm1tICovLAogCQkJCUNEQzA5MzJBMjFDODcyQzEw
MDMwQzRCMCAvKiBTY3JvbGxpbmdEb2VzTm90UGF1c2VNZWRpYS5tbSAqLywKIAkJCQkwRjRGRkE5
RDFFRDNBQTg1MDBGNzExMUYgLyogU25hcHNob3RWaWFSZW5kZXJJbkNvbnRleHQubW0gKi8sCiAJ
CQkpOwpAQCAtNDMwMyw2ICs0MzA2LDcgQEAKIAkJCQk3Q0NFN0VBRDFBNDExQTM0MDA0NDdDNEMg
LyogSmF2YVNjcmlwdFRlc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQTUxQTQxMUEw
ODAwNDQ3QzRDIC8qIEphdmFTY3JpcHRUZXN0TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNUMw
MTYwQzEyMUExMzI0NjAwNzdGQTMyIC8qIEpJVEVuYWJsZWQubW0gaW4gU291cmNlcyAqLywKKwkJ
CQlFMzVGQzdCMjIyQjgyQTczMDBGMzJGOTggLyogSlNMb2NrVGFrZXNXZWJUaHJlYWRMb2NrLm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQzQxQTQxMUE3RTAwNDQ3QzRDIC8qIEpTV3JhcHBl
ckZvck5vZGVJbldlYkZyYW1lLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRjQ1RTE1NzMyMTEyQ0Uy
OTAwMzA3RTgyIC8qIEtleWJvYXJkSW5wdXRUZXN0c0lPUy5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTdDQ0U3RjA2MUE0MTFBRTYwMDQ0N0M0QyAvKiBMYXlvdXRNaWxlc3RvbmVzV2l0aEFsbENvbnRl
bnRJbkZyYW1lLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRMZWdhY3kvaW9zL0pTTG9ja1Rha2VzV2ViVGhyZWFkTG9jay5tbSBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0TGVnYWN5L2lvcy9KU0xvY2tUYWtlc1dl
YlRocmVhZExvY2subW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTEwMzlmNzc2OGMyYjc1ZDNjNzVmMjA4YTc5NTRk
N2ZiODA2YWExNwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0TGVnYWN5L2lvcy9KU0xvY2tUYWtlc1dlYlRocmVhZExvY2subW0KQEAgLTAsMCArMSw2
NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisKKyNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQorCisjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCA8SmF2YVNjcmlw
dENvcmUvSlNWaXJ0dWFsTWFjaGluZS5oPgorI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvSlNWaXJ0
dWFsTWFjaGluZUludGVybmFsLmg+CisjaW1wb3J0IDxVSUtpdC9VSUtpdC5oPgorI2ltcG9ydCA8
V2ViQ29yZS9XZWJDb3JlVGhyZWFkLmg+CisjaW1wb3J0IDxzdGRsaWIuaD4KKyNpbXBvcnQgPHd0
Zi9EYXRhTG9nLmg+CisjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisKK25hbWVzcGFjZSBUZXN0
V2ViS2l0QVBJIHsKKworVEVTVChXZWJLaXRMZWdhY3ksIEpTTG9ja1Rha2VzV2ViVGhyZWFkTG9j
aykKK3sKKyAgICBSZXRhaW5QdHI8VUlXaW5kb3c+IHVpV2luZG93ID0gYWRvcHROUyhbW1VJV2lu
ZG93IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApXSk7Cisg
ICAgUmV0YWluUHRyPFVJV2ViVmlldz4gdWlXZWJWaWV3ID0gYWRvcHROUyhbW1VJV2ViVmlldyBh
bGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKV0pOworICAgIFt1
aVdpbmRvdyBhZGRTdWJ2aWV3OnVpV2ViVmlldy5nZXQoKV07CisgICAgW3VpV2ViVmlldyBsb2Fk
SFRNTFN0cmluZzpAIjxwPldlYlRocmVhZExvY2sgYW5kIEpTTG9jazwvcD4iIGJhc2VVUkw6bmls
XTsKKyAgICBSZXRhaW5QdHI8SlNDb250ZXh0PiBqc0NvbnRleHQgPSBbdWlXZWJWaWV3IHZhbHVl
Rm9yS2V5UGF0aDpAImRvY3VtZW50Vmlldy53ZWJWaWV3Lm1haW5GcmFtZS5qYXZhU2NyaXB0Q29u
dGV4dCJdOworCisgICAgRVhQRUNUX1RSVUUoISFqc0NvbnRleHQuZ2V0KCkpOworCisgICAgUmV0
YWluUHRyPEpTVmlydHVhbE1hY2hpbmU+IGpzVk0gPSBbanNDb250ZXh0IHZpcnR1YWxNYWNoaW5l
XTsKKyAgICBFWFBFQ1RfVFJVRShbanNWTSBpc1dlYlRocmVhZEF3YXJlXSk7CisKKyAgICAvLyBS
ZWxlYXNlIFdlYlRocmVhZCBsb2NrLgorICAgIFV0aWw6OnNwaW5SdW5Mb29wKDEpOworCisgICAg
RVhQRUNUX0ZBTFNFKFdlYlRocmVhZElzTG9ja2VkKCkpOworICAgIC8vIFhNTEh0dHBSZXF1ZXN0
IGhhcyBUaW1lciwgd2hpY2ggaGFzIHRocmVhZCBhZmluaXR5LgorICAgIFtqc0NvbnRleHQgZXZh
bHVhdGVTY3JpcHQ6QCJmb3IgKHZhciBpID0gMDsgaSA8IDFlMzsgKytpKSB7IHZhciByZXF1ZXN0
ID0gbmV3IFhNTEh0dHBSZXF1ZXN0OyByZXF1ZXN0LnByb3BlcnR5ID0gbmV3IEFycmF5KDEwMDAw
KTsgfSJdOworfQorCit9CisKKyNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372331</attachid>
            <date>2019-06-18 00:39:04 -0700</date>
            <delta_ts>2019-06-18 16:38:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198911-20190618003904.patch</filename>
            <type>text/plain</type>
            <size>15149</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2NTMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
ZDBlOGJmYWJmOGRmOTZhOWM0ZWI5ZTQyZmMzYWYxMGQyNDE1MTA5Li4xMWIxMDk1ZGFlZGZkZjY3
Yjk3NmU0ODM0MmEzZjk1OTU5NTY4ZjNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzOCBAQAorMjAxOS0wNi0xOCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEpTTG9jayBzaG91bGQgYmUgV2ViVGhyZWFkIGF3YXJlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg5MTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaW5jZSBXZWJLaXRM
ZWdhY3kgY29udGVudCByZW5kZXJpbmcgaXMgZG9uZSBpbiBXZWJUaHJlYWQgaW5zdGVhZCBvZiB0
aGUgbWFpbiB0aHJlYWQgaW4gaU9TLCB1c2VyIG9mIFdlYktpdExlZ2FjeSAoZS5nLiBVSVdlYlZp
ZXcpIG5lZWRzCisgICAgICAgIHRvIGdyYWIgdGhlIFdlYlRocmVhZCBsb2NrICh3aGljaCBpcyBh
IHJlY3Vyc2l2ZSBsb2NrKSBpbiB0aGUgbWFpbiB0aHJlYWQgd2hlbiB0b3VjaGluZyB0aGUgV2Vi
S2l0TGVnYWN5IGNvbnRlbnQuCisgICAgICAgIEJ1dCwgV2ViS2l0TGVnYWN5IGNhbiBleHBvc2Ug
SlNDb250ZXh0IGZvciB0aGUgd2ViIHZpZXcuIEFuZCB3ZSBjYW4gaW50ZXJhY3Qgd2l0aCB0aGUg
SlMgY29udGVudCB0aHJvdWdoIEphdmFTY3JpcHRDb3JlIEFQSXMuIEhvd2V2ZXIsCisgICAgICAg
IHNpbmNlIFdlYlRocmVhZCBpcyBhIGNvbmNlcHQgaW4gV2ViQ29yZSwgSmF2YVNjcmlwdENvcmUg
QVBJcyBkbyBub3QgZ3JhYiB0aGUgV2ViVGhyZWFkIGxvY2suIEFzIGEgcmVzdWx0LCBXZWJLaXRM
ZWdhY3kgd2ViIGNvbnRlbnQgY2FuIGJlCisgICAgICAgIG1vZGlmaWVkIGZyb20gdGhlIG1haW4g
dGhyZWFkIHdpdGhvdXQgZ3JhYmJpbmcgdGhlIFdlYlRocmVhZCBsb2NrIHRocm91Z2ggSmF2YVNj
cmlwdENvcmUgQVBJcy4KKworICAgICAgICBUaGlzIHBhdGNoIG1ha2VzIEpTQyBhd2FyZSBvZiBX
ZWJUaHJlYWQ6IEpTTG9jayBncmFicyB0aGUgV2ViVGhyZWFkIGxvY2sgYmVmb3JlIGdyYWJiaW5n
IEpTJ3MgbG9jay4gV2hpbGUgdGhpcyBzZWVtcyBsYXllcmluZyB2aW9sYXRpb24sCisgICAgICAg
IHdlIGFscmVhZHkgaGF2ZSBtYW55IFVTRShXRUJfVEhSRUFEKSBhbmQgV2ViVGhyZWFkIGF3YXJl
IGNvZGUgaW4gV1RGLiBFdmVudHVhbGx5LCB3ZSBzaG91bGQgbW92ZSBXZWJUaHJlYWQgY29kZSBm
cm9tIFdlYkNvcmUgdG8gV1RGIHNpbmNlCisgICAgICAgIEpTQyBhbmQgV1RGIG5lZWQgdG8gYmUg
YXdhcmUgb2YgV2ViVGhyZWFkLiBCdXQsIGZvciBub3csIHdlIGp1c3QgdXNlIHRoZSBmdW5jdGlv
biBwb2ludGVyIGV4cG9zZWQgYnkgV2ViQ29yZS4KKworICAgICAgICBTaW5jZSBib3RoIEpTTG9j
ayBhbmQgdGhlIFdlYlRocmVhZCBsb2NrIGFyZSByZWN1cnNpdmUgbG9ja3MsIG5lc3RlZCBsb2Nr
aW5nIGlzIHRvdGFsbHkgT0suIFRoZSBwb3NzaWJsZSBwcm9ibGVtIGlzIHRoZSBvcmRlciBvZiBs
b2NraW5nLgorICAgICAgICBXZSBlbnN1cmUgdGhhdCB3ZSBhbHdheXMgZ3JhYiBsb2NrcyBpbiAo
MSkgdGhlIFdlYlRocmVhZCBsb2NrIGFuZCAoMikgSlNMb2NrIG9yZGVyLgorCisgICAgICAgIElu
IEpTTG9jaywgd2UgdGFrZSB0aGUgV2ViVGhyZWFkIGxvY2ssIGJ1dCB3ZSBkbyBub3QgdW5sb2Nr
IGl0LiBUaGlzIGlzIGhvdyB3ZSB1c2UgdGhlIFdlYlRocmVhZCBsb2NrOiB0aGUgV2ViVGhyZWFk
IGxvY2sgaXMgcmVsZWFzZWQKKyAgICAgICAgYXV0b21hdGljYWxseSB3aGVuIFJ1bkxvb3AgZmlu
aXNoZXMgdGhlIGN1cnJlbnQgY3ljbGUsIGFuZCBpbiBXZWJLaXRMZWdhY3ksIHdlIGRvIG5vdCBj
YWxsIHVubG9ja2luZyBmdW5jdGlvbiBvZiB0aGUgV2ViVGhyZWFkIGxvY2sgZXhjZXB0CisgICAg
ICAgIGZvciBzb21lIGVkZ2UgY2FzZXMuCisKKyAgICAgICAgKiBBUEkvSlNWaXJ0dWFsTWFjaGlu
ZS5tbToKKyAgICAgICAgKC1bSlNWaXJ0dWFsTWFjaGluZSBpc1dlYlRocmVhZEF3YXJlXSk6Cisg
ICAgICAgICogQVBJL0pTVmlydHVhbE1hY2hpbmVJbnRlcm5hbC5oOgorICAgICAgICAqIHJ1bnRp
bWUvSlNMb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6SlNMb2NrSG9sZGVyOjpKU0xvY2tIb2xkZXIp
OgorICAgICAgICAoSlNDOjpKU0xvY2s6OmxvY2spOgorICAgICAgICAoSlNDOjpKU0xvY2tIb2xk
ZXI6OmluaXQpOiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvSlNMb2NrLmg6CisgICAgICAg
IChKU0M6OkpTTG9jazo6bWFrZVdlYlRocmVhZEF3YXJlKToKKyAgICAgICAgKEpTQzo6SlNMb2Nr
Ojppc1dlYlRocmVhZEF3YXJlIGNvbnN0KToKKwogMjAxOS0wNi0xNyAgSnVzdGluIE1pY2hhdWQg
IDxqdXN0aW5fbWljaGF1ZEBhcHBsZS5jb20+CiAKICAgICAgICAgVmFsaWRhdGUgdGhhdCB0YWJs
ZSBlbGVtZW50IHR5cGUgaXMgZnVuY3JlZiBpZiB1c2luZyBhbiBlbGVtZW50IHNlY3Rpb24KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCA2MTU0OGIzMjBhN2M5NTA4ZjkzZDRiYWU3ODViNDZlNGFlNjk4ZTYxLi5hN2Y2
Y2NhNDdiNWVkMjE5ODc0NzY3MGIwNjcwYTU4MGU1NzNkZmJmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTktMDYtMTggIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4K
KworICAgICAgICBbSlNDXSBKU0xvY2sgc2hvdWxkIGJlIFdlYlRocmVhZCBhd2FyZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4OTExCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9D
b21tb25WTS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb21tb25WTVNsb3cpOgorCiAyMDE5LTA2
LTE3ICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgogCiAgICAgICAgIC1bV0tXZWJz
aXRlRGF0YVN0b3JlIHJlbW92ZURhdGFPZlR5cGVzOm1vZGlmaWVkU2luY2U6Y29tcGxldGlvbkhh
bmRsZXI6XSBkb2Vzbid0IGRlbGV0ZSBfV0tXZWJzaXRlRGF0YVR5cGVDcmVkZW50aWFscwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZpcnR1YWxNYWNoaW5lLm1tIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZpcnR1YWxNYWNoaW5lLm1tCmluZGV4IDJhZmMw
OTdiMmZhY2Q5MzFhNDQ3ZTNiZTMwZmIzN2FhZGVlN2Y4NTAuLjYyZWVmNGQ0ODkyYzNkNGYwOWI2
MzIzYTRmMGYyZmY4YzVjOTQ2YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9B
UEkvSlNWaXJ0dWFsTWFjaGluZS5tbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pT
VmlydHVhbE1hY2hpbmUubW0KQEAgLTI0OCw2ICsyNDgsMTEgQEAgLSAoSlNDOjpWTSYpdm0KICAg
ICByZXR1cm4gKnRvSlMobV9ncm91cCk7CiB9CiAKKy0gKEJPT0wpaXNXZWJUaHJlYWRBd2FyZQor
eworICAgIHJldHVybiBbc2VsZiB2bV0uYXBpTG9jaygpLmlzV2ViVGhyZWFkQXdhcmUoKTsKK30K
KwogKyAodm9pZClzZXRDcmFzaE9uVk1DcmVhdGlvbjooQk9PTClzaG91bGRDcmFzaAogewogICAg
IEpTQzo6Vk06OnNldENyYXNoT25WTUNyZWF0aW9uKHNob3VsZENyYXNoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWaXJ0dWFsTWFjaGluZUludGVybmFsLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmlydHVhbE1hY2hpbmVJbnRlcm5hbC5oCmluZGV4
IGY2NGVlMWFlMDI4YTY5NmE4MWM1OGUzNmMzNmQ0NTBlNmMwZGJjOTguLmVlODZiNjE1MzM5ZmY2
N2NiYzZlM2NiZjMxNDFkOTE1Y2JlYzI2MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNWaXJ0dWFsTWFjaGluZUludGVybmFsLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU1ZpcnR1YWxNYWNoaW5lSW50ZXJuYWwuaApAQCAtNDYsNiArNDYsOCBAQCBK
U0NvbnRleHRHcm91cFJlZiBnZXRHcm91cEZyb21WaXJ0dWFsTWFjaGluZShKU1ZpcnR1YWxNYWNo
aW5lICopOwogCiAtIChKU0M6OlZNJil2bTsKIAorLSAoQk9PTClpc1dlYlRocmVhZEF3YXJlOwor
CiBAZW5kCiAKICNlbmRpZiAvLyBkZWZpbmVkKF9fT0JKQ19fKQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTTG9jay5jcHAKaW5kZXggN2NjM2Y2OWQ0YWZjMmU3ZDUyZWJjYjk3MzljODFk
Mjk3MjU1YzUyYy4uZGFmMGY3N2Q1NmVlMTMyN2ZmZGVhYWMwZDgwOGU0NTdjZmU4NjMxMCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suY3BwCkBAIC0zNSw2ICszNSwxMCBA
QAogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGhyZWFkcy9TaWdu
YWxzLmg+CiAKKyNpZiBVU0UoV0VCX1RIUkVBRCkKKyNpbmNsdWRlIDx3dGYvaW9zL1dlYkNvcmVU
aHJlYWQuaD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgSlNDIHsKIAogTG9jayBHbG9iYWxKU0xvY2s6
OnNfc2hhcmVkSW5zdGFuY2VNdXRleDsKQEAgLTUwLDI0ICs1NCwxNyBAQCBHbG9iYWxKU0xvY2s6
On5HbG9iYWxKU0xvY2soKQogfQogCiBKU0xvY2tIb2xkZXI6OkpTTG9ja0hvbGRlcihFeGVjU3Rh
dGUqIGV4ZWMpCi0gICAgOiBtX3ZtKCZleGVjLT52bSgpKQorICAgIDogSlNMb2NrSG9sZGVyKGV4
ZWMtPnZtKCkpCiB7Ci0gICAgaW5pdCgpOwogfQogCiBKU0xvY2tIb2xkZXI6OkpTTG9ja0hvbGRl
cihWTSogdm0pCi0gICAgOiBtX3ZtKHZtKQorICAgIDogSlNMb2NrSG9sZGVyKCp2bSkKIHsKLSAg
ICBpbml0KCk7CiB9CiAKIEpTTG9ja0hvbGRlcjo6SlNMb2NrSG9sZGVyKFZNJiB2bSkKICAgICA6
IG1fdm0oJnZtKQotewotICAgIGluaXQoKTsKLX0KLQotdm9pZCBKU0xvY2tIb2xkZXI6OmluaXQo
KQogewogICAgIG1fdm0tPmFwaUxvY2soKS5sb2NrKCk7CiB9CkBAIC0xMDUsNiArMTAyLDEzIEBA
IHZvaWQgSlNMb2NrOjpsb2NrKCkKIHZvaWQgSlNMb2NrOjpsb2NrKGludHB0cl90IGxvY2tDb3Vu
dCkKIHsKICAgICBBU1NFUlQobG9ja0NvdW50ID4gMCk7CisjaWYgVVNFKFdFQl9USFJFQUQpCisg
ICAgaWYgKG1faXNXZWJUaHJlYWRBd2FyZSkgeworICAgICAgICBBU1NFUlQoV2ViQ29yZVdlYlRo
cmVhZElzRW5hYmxlZCAmJiBXZWJDb3JlV2ViVGhyZWFkSXNFbmFibGVkKCkpOworICAgICAgICBX
ZWJDb3JlV2ViVGhyZWFkTG9jaygpOworICAgIH0KKyNlbmRpZgorCiAgICAgYm9vbCBzdWNjZXNz
ID0gbV9sb2NrLnRyeUxvY2soKTsKICAgICBpZiAoVU5MSUtFTFkoIXN1Y2Nlc3MpKSB7CiAgICAg
ICAgIGlmIChjdXJyZW50VGhyZWFkSXNIb2xkaW5nTG9jaygpKSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTTG9jay5oCmluZGV4IGY0NjFmODIwZjllM2FhNWYxZWM4NmEwMjExM2RhMjI5
NmYzMzMwZTguLjBiMjdmZjYzZmU0ODE1YmYyNjNmYzY2Zjc4OTcxMGMzMmIwYzI1MDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oCkBAIC03MCw5ICs3MCw4IEBAIGNsYXNz
IEpTTG9ja0hvbGRlciB7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNMb2NrSG9sZGVyKEV4ZWNT
dGF0ZSopOwogCiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgfkpTTG9ja0hvbGRlcigpOwotcHJpdmF0
ZToKLSAgICB2b2lkIGluaXQoKTsKIAorcHJpdmF0ZToKICAgICBSZWZQdHI8Vk0+IG1fdm07CiB9
OwogCkBAIC0xMTksNiArMTE4LDEzIEBAIGNsYXNzIEpTTG9jayA6IHB1YmxpYyBUaHJlYWRTYWZl
UmVmQ291bnRlZDxKU0xvY2s+IHsKICAgICAgICAgdW5zaWduZWQgbV9kcm9wRGVwdGg7CiAgICAg
fTsKIAorICAgIHZvaWQgbWFrZVdlYlRocmVhZEF3YXJlKCkKKyAgICB7CisgICAgICAgIG1faXNX
ZWJUaHJlYWRBd2FyZSA9IHRydWU7CisgICAgfQorCisgICAgYm9vbCBpc1dlYlRocmVhZEF3YXJl
KCkgY29uc3QgeyByZXR1cm4gbV9pc1dlYlRocmVhZEF3YXJlOyB9CisKIHByaXZhdGU6CiAgICAg
dm9pZCBsb2NrKGludHB0cl90IGxvY2tDb3VudCk7CiAgICAgdm9pZCB1bmxvY2soaW50cHRyX3Qg
dW5sb2NrQ291bnQpOwpAQCAtMTMwLDYgKzEzNiw3IEBAIGNsYXNzIEpTTG9jayA6IHB1YmxpYyBU
aHJlYWRTYWZlUmVmQ291bnRlZDxKU0xvY2s+IHsKICAgICB2b2lkIGdyYWJBbGxMb2NrcyhEcm9w
QWxsTG9ja3MqLCB1bnNpZ25lZCBsb2NrQ291bnQpOwogCiAgICAgTG9jayBtX2xvY2s7CisgICAg
Ym9vbCBtX2lzV2ViVGhyZWFkQXdhcmUgeyBmYWxzZSB9OwogICAgIC8vIFdlIGNhbm5vdCBtYWtl
IG1fb3duZXJUaHJlYWQgYW4gb3B0aW9uYWwgKGluc3RlYWQgb2YgcGFpcmluZyBpdCB3aXRoIGFu
IGV4cGxpY2l0CiAgICAgLy8gbV9oYXNPd25lclRocmVhZCkgYmVjYXVzZSBjdXJyZW50VGhyZWFk
SXNIb2xkaW5nTG9jaygpIG1heSBiZSBjYWxsZWQgZnJvbSBhCiAgICAgLy8gZGlmZmVyZW50IHRo
cmVhZCwgYW5kIGFuIG9wdGlvbmFsIGlzIHZ1bG5lcmFibGUgdG8gcmFjZXMuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Db21tb25WTS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9Db21tb25WTS5jcHAKaW5kZXggYzFlOTRiOGI4NTcyNmIzZDUxZmUxMTk1
ODk5MjM1MWJmMzdlMWI1Mi4uMDliNzg0ZjllZDM1NmFkNmJjYmE4NGY1ZTYzYmY4YTZmMWVhMjY3
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ29tbW9uVk0uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NvbW1vblZNLmNwcApAQCAtNTksNiArNTks
OCBAQCBKU0M6OlZNJiBjb21tb25WTVNsb3coKQogICAgIHZtLmhlYXAuYWNxdWlyZUFjY2Vzcygp
OyAvLyBBdCBhbnkgdGltZSwgd2UgbWF5IGRvIHRoaW5ncyB0aGF0IGFmZmVjdCB0aGUgR0MuCiAK
ICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIGlmIChXZWJUaHJlYWRJc0VuYWJsZWQoKSkK
KyAgICAgICAgdm0uYXBpTG9jaygpLm1ha2VXZWJUaHJlYWRBd2FyZSgpOwogICAgIHZtLnNldFJ1
bkxvb3AoV2ViVGhyZWFkUnVuTG9vcCgpKTsKICAgICB2bS5oZWFwLm1hY2hpbmVUaHJlYWRzKCku
YWRkQ3VycmVudFRocmVhZCgpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjVmOTQwYjkwYTJhYWFjZWI5NjMyNWU4Y2E0Yjk1NTVj
YjczMTI1NS4uMDdmNDg0OWYzNmQ0MTYyYTdmNmZjOWEyOGJjZDI5MWQ3NGY2ZTVkMCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDE5LTA2LTE4ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAg
ICAgICAgW0pTQ10gSlNMb2NrIHNob3VsZCBiZSBXZWJUaHJlYWQgYXdhcmUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODkxMQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRMZWdhY3kvaW9zL0pTTG9ja1Rha2VzV2ViVGhyZWFkTG9jay5tbTog
QWRkZWQuCisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAxOS0wNi0xNyAgU2lo
dWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICAtW1dLV2Vic2l0ZURhdGFT
dG9yZSByZW1vdmVEYXRhT2ZUeXBlczptb2RpZmllZFNpbmNlOmNvbXBsZXRpb25IYW5kbGVyOl0g
ZG9lc24ndCBkZWxldGUgX1dLV2Vic2l0ZURhdGFUeXBlQ3JlZGVudGlhbHMKZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggODY0NzI5YTk5ZGI0MzM1NTY1MGJhNDE3Yzk5ZjQ2OGQzMjE0OTc1MC4u
OTE2MTg2MzEwY2QxYmQ4NDVlZjUzN2IxMDQ3NGQ0OTY3ZDA3ZmYxZiAxMDA2NDQKLS0tIGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTg3NSw2ICs4NzUsNyBAQAogCQlFMTk0RTFCRDE3N0U1M0M3MDA5QzRENEUg
LyogU3RvcExvYWRpbmdGcm9tRGlkUmVjZWl2ZVJlc3BvbnNlLmh0bWwgaW4gQ29weSBSZXNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTE5NEUxQkMxNzdFNTM0QTAw
OUM0RDRFIC8qIFN0b3BMb2FkaW5nRnJvbURpZFJlY2VpdmVSZXNwb25zZS5odG1sICovOyB9Owog
CQlFMzI0QTZGMDIwNDFDODIwMDBBNzY1OTMgLyogVW5pcXVlQXJyYXkuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM5OEJDMEYyMDQxQzc2MzAwMzg3
MTM2IC8qIFVuaXF1ZUFycmF5LmNwcCAqLzsgfTsKIAkJRTMyQjU0OTIyMjgxMEFDNDAwOEFENzAy
IC8qIFBhY2tlZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFMzJCNTQ5MTIyODEwQUMwMDA4QUQ3MDIgLyogUGFja2VkLmNwcCAqLzsgfTsKKwkJRTM1
RkM3QjIyMkI4MkE3MzAwRjMyRjk4IC8qIEpTTG9ja1Rha2VzV2ViVGhyZWFkTG9jay5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNUZDN0IxMjJCODJB
NkQwMEYzMkY5OCAvKiBKU0xvY2tUYWtlc1dlYlRocmVhZExvY2subW0gKi87IH07CiAJCUUzNzNE
NzkxMUYyQ0YzNTIwMEM2RkFBRiAvKiBTaWduYWxzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzOTUzRjk1MUYyQ0YzMjEwMEE3NkEyRSAvKiBTaWdu
YWxzLmNwcCAqLzsgfTsKIAkJRTM4QTBEMzUxRkQ1MENDMzAwRTk4QzhCIC8qIFRocmVhZGluZy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzhBMEQz
NDFGRDUwQ0JDMDBFOThDOEIgLyogVGhyZWFkaW5nLmNwcCAqLzsgfTsKIAkJRTNBMUU3N0YyMUIy
NUIzOTAwOEM2MDA3IC8qIFVSTFBhcnNlclRleHRFbmNvZGluZy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0ExRTc3RTIxQjI1QjM5MDA4QzYwMDcg
LyogVVJMUGFyc2VyVGV4dEVuY29kaW5nLmNwcCAqLzsgfTsKQEAgLTIyNzIsNiArMjI3Myw3IEBA
CiAJCUUxOTRFMUJDMTc3RTUzNEEwMDlDNEQ0RSAvKiBTdG9wTG9hZGluZ0Zyb21EaWRSZWNlaXZl
UmVzcG9uc2UuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9IFN0b3BMb2FkaW5nRnJvbURpZFJlY2VpdmVSZXNwb25z
ZS5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMTlEQjk3ODFCMzIxMzdDMDBE
QjM4RDQgLyogTmF2aWdhdG9yTGFuZ3VhZ2UubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBOYXZpZ2F0b3JMYW5ndWFnZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTMyQjU0OTEyMjgxMEFDMDAwOEFENzAyIC8qIFBhY2tlZC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBQYWNrZWQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMzVG
QzdCMTIyQjgyQTZEMDBGMzJGOTggLyogSlNMb2NrVGFrZXNXZWJUaHJlYWRMb2NrLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gSlNMb2NrVGFrZXNXZWJUaHJlYWRM
b2NrLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzg4ODg3MDIwQzkwOTgxMDBF
NjMyQkMgLyogV29ya2VyUG9vbC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBXb3JrZXJQb29sLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM4QTBE
MzQxRkQ1MENCQzAwRTk4QzhCIC8qIFRocmVhZGluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBUaHJlYWRpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlFMzk1M0Y5NTFGMkNGMzIxMDBBNzZBMkUgLyogU2lnbmFscy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTaWduYWxzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTM4MDcsNiArMzgwOSw3IEBACiAJCQljaGlsZHJlbiA9ICgKIAkJCQlDREM4
RTQ5QTFCQzcyOEZFMDA1OTRGRUMgLyogUmVzb3VyY2VzICovLAogCQkJCUNEQzhFNDg1MUJDNUIx
OTQwMDU5NEZFQyAvKiBBdWRpb1Nlc3Npb25DYXRlZ29yeUlPUy5tbSAqLywKKwkJCQlFMzVGQzdC
MTIyQjgyQTZEMDBGMzJGOTggLyogSlNMb2NrVGFrZXNXZWJUaHJlYWRMb2NrLm1tICovLAogCQkJ
CUNEQzA5MzJBMjFDODcyQzEwMDMwQzRCMCAvKiBTY3JvbGxpbmdEb2VzTm90UGF1c2VNZWRpYS5t
bSAqLywKIAkJCQkwRjRGRkE5RDFFRDNBQTg1MDBGNzExMUYgLyogU25hcHNob3RWaWFSZW5kZXJJ
bkNvbnRleHQubW0gKi8sCiAJCQkpOwpAQCAtNDMwMyw2ICs0MzA2LDcgQEAKIAkJCQk3Q0NFN0VB
RDFBNDExQTM0MDA0NDdDNEMgLyogSmF2YVNjcmlwdFRlc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJN0NDRTdFQTUxQTQxMUEwODAwNDQ3QzRDIC8qIEphdmFTY3JpcHRUZXN0TWFjLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJNUMwMTYwQzEyMUExMzI0NjAwNzdGQTMyIC8qIEpJVEVuYWJsZWQubW0g
aW4gU291cmNlcyAqLywKKwkJCQlFMzVGQzdCMjIyQjgyQTczMDBGMzJGOTggLyogSlNMb2NrVGFr
ZXNXZWJUaHJlYWRMb2NrLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQzQxQTQxMUE3RTAw
NDQ3QzRDIC8qIEpTV3JhcHBlckZvck5vZGVJbldlYkZyYW1lLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRjQ1RTE1NzMyMTEyQ0UyOTAwMzA3RTgyIC8qIEtleWJvYXJkSW5wdXRUZXN0c0lPUy5tbSBp
biBTb3VyY2VzICovLAogCQkJCTdDQ0U3RjA2MUE0MTFBRTYwMDQ0N0M0QyAvKiBMYXlvdXRNaWxl
c3RvbmVzV2l0aEFsbENvbnRlbnRJbkZyYW1lLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRMZWdhY3kvaW9zL0pTTG9ja1Rha2Vz
V2ViVGhyZWFkTG9jay5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0TGVnYWN5
L2lvcy9KU0xvY2tUYWtlc1dlYlRocmVhZExvY2subW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTEwMzlmNzc2OGMy
Yjc1ZDNjNzVmMjA4YTc5NTRkN2ZiODA2YWExNwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0TGVnYWN5L2lvcy9KU0xvY2tUYWtlc1dlYlRocmVhZExv
Y2subW0KQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisKKyNp
ZiBQTEFURk9STShJT1NfRkFNSUxZKQorCisjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgor
I2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvSlNWaXJ0dWFsTWFjaGluZS5oPgorI2ltcG9ydCA8SmF2
YVNjcmlwdENvcmUvSlNWaXJ0dWFsTWFjaGluZUludGVybmFsLmg+CisjaW1wb3J0IDxVSUtpdC9V
SUtpdC5oPgorI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlVGhyZWFkLmg+CisjaW1wb3J0IDxzdGRs
aWIuaD4KKyNpbXBvcnQgPHd0Zi9EYXRhTG9nLmg+CisjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+
CisKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKKworVEVTVChXZWJLaXRMZWdhY3ksIEpTTG9j
a1Rha2VzV2ViVGhyZWFkTG9jaykKK3sKKyAgICBSZXRhaW5QdHI8VUlXaW5kb3c+IHVpV2luZG93
ID0gYWRvcHROUyhbW1VJV2luZG93IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwg
MCwgODAwLCA2MDApXSk7CisgICAgUmV0YWluUHRyPFVJV2ViVmlldz4gdWlXZWJWaWV3ID0gYWRv
cHROUyhbW1VJV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgw
MCwgNjAwKV0pOworICAgIFt1aVdpbmRvdyBhZGRTdWJ2aWV3OnVpV2ViVmlldy5nZXQoKV07Cisg
ICAgW3VpV2ViVmlldyBsb2FkSFRNTFN0cmluZzpAIjxwPldlYlRocmVhZExvY2sgYW5kIEpTTG9j
azwvcD4iIGJhc2VVUkw6bmlsXTsKKyAgICBSZXRhaW5QdHI8SlNDb250ZXh0PiBqc0NvbnRleHQg
PSBbdWlXZWJWaWV3IHZhbHVlRm9yS2V5UGF0aDpAImRvY3VtZW50Vmlldy53ZWJWaWV3Lm1haW5G
cmFtZS5qYXZhU2NyaXB0Q29udGV4dCJdOworCisgICAgRVhQRUNUX1RSVUUoISFqc0NvbnRleHQu
Z2V0KCkpOworCisgICAgUmV0YWluUHRyPEpTVmlydHVhbE1hY2hpbmU+IGpzVk0gPSBbanNDb250
ZXh0IHZpcnR1YWxNYWNoaW5lXTsKKyAgICBFWFBFQ1RfVFJVRShbanNWTSBpc1dlYlRocmVhZEF3
YXJlXSk7CisKKyAgICAvLyBSZWxlYXNlIFdlYlRocmVhZCBsb2NrLgorICAgIFV0aWw6OnNwaW5S
dW5Mb29wKDEpOworCisgICAgRVhQRUNUX0ZBTFNFKFdlYlRocmVhZElzTG9ja2VkKCkpOworICAg
IC8vIFhNTEh0dHBSZXF1ZXN0IGhhcyBUaW1lciwgd2hpY2ggaGFzIHRocmVhZCBhZmluaXR5Lgor
ICAgIFtqc0NvbnRleHQgZXZhbHVhdGVTY3JpcHQ6QCJmb3IgKHZhciBpID0gMDsgaSA8IDFlMzsg
KytpKSB7IHZhciByZXF1ZXN0ID0gbmV3IFhNTEh0dHBSZXF1ZXN0OyByZXF1ZXN0LnByb3BlcnR5
ID0gbmV3IEFycmF5KDEwMDAwKTsgfSJdOworfQorCit9CisKKyNlbmRpZgo=
</data>
<flag name="review"
          id="388114"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>