<?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>151598</bug_id>
          
          <creation_ts>2015-11-25 02:27:31 -0800</creation_ts>
          <short_desc>HTML `pattern` attribute should set `u` flag for regular expressions</short_desc>
          <delta_ts>2018-03-07 09:48:24 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugzilla.mozilla.org/show_bug.cgi?id=1227906</see_also>
    
    <see_also>http://code.google.com/p/chromium/issues/detail?id=535441</see_also>
          <bug_file_loc>https://mathiasbynens.be/demo/pattern-u</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>151597</dependson>
    
    <dependson>154842</dependson>
    
    <dependson>156044</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mathias Bynens">mathias</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>koivisto</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mathias</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>rniwa</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
    
    <cc>ysuzuki</cc>
    
    <cc>zcorpan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1144403</commentid>
    <comment_count>0</comment_count>
    <who name="Mathias Bynens">mathias</who>
    <bug_when>2015-11-25 02:27:31 -0800</bug_when>
    <thetext>As soon as support for the `u` flag is completed, it should be enabled for the HTML `pattern` attribute as well.

Spec: https://html.spec.whatwg.org/multipage/forms.html#the-pattern-attribute

“If an input element has a pattern attribute specified, and the attribute&apos;s value, when compiled as a JavaScript regular expression with only the &quot;u&quot; flag specified, compiles successfully, then the resulting regular expression is the element&apos;s compiled pattern regular expression. If the element has no such attribute, or if the value doesn&apos;t compile successfully, then the element has no compiled pattern regular expression.”</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179359</commentid>
    <comment_count>1</comment_count>
    <who name="Mathias Bynens">mathias</who>
    <bug_when>2016-03-31 01:04:54 -0700</bug_when>
    <thetext>Test case: https://mathiasbynens.be/demo/pattern-u</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1189364</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Pieters (:zcorpan)">zcorpan</who>
    <bug_when>2016-05-02 03:07:38 -0700</bug_when>
    <thetext>See https://github.com/whatwg/html/issues/439</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199974</commentid>
    <comment_count>3</comment_count>
    <who name="Mathias Bynens">mathias</who>
    <bug_when>2016-06-07 01:56:27 -0700</bug_when>
    <thetext>This is already available in stable Firefox and it will ship in Chrome 53 and Opera 40.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233853</commentid>
    <comment_count>4</comment_count>
    <who name="Mathias Bynens">mathias</who>
    <bug_when>2016-09-27 07:50:35 -0700</bug_when>
    <thetext>This is now shipped in stable versions of Firefox, Chrome, and Opera. Please implement and ship this as soon as possible to avoid annoying interoperability issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403918</commentid>
    <comment_count>5</comment_count>
      <attachid>335077</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-03-06 02:06:47 -0800</bug_when>
    <thetext>Created attachment 335077
WIP

WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403920</commentid>
    <comment_count>6</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-03-06 02:08:35 -0800</bug_when>
    <thetext>Attachment 335077 did not pass style-queue:


ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 1 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403921</commentid>
    <comment_count>7</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-03-06 02:10:01 -0800</bug_when>
    <thetext>I thought we should be careful for performance regression, but right now, RegularExpression pattern matching in WebCore is in slow path (not using YarrJIT yet). So I think it is ok if Speedometer does not show regressions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403924</commentid>
    <comment_count>8</comment_count>
      <attachid>335078</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-03-06 02:34:19 -0800</bug_when>
    <thetext>Created attachment 335078
WIP

WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403965</commentid>
    <comment_count>9</comment_count>
      <attachid>335086</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-03-06 05:41:43 -0800</bug_when>
    <thetext>Created attachment 335086
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403968</commentid>
    <comment_count>10</comment_count>
      <attachid>335086</attachid>
    <who name="Mathias Bynens">mathias</who>
    <bug_when>2018-03-06 06:01:09 -0800</bug_when>
    <thetext>Comment on attachment 335086
Patch

&gt;diff --git a/Source/JavaScriptCore/yarr/RegularExpression.cpp b/Source/JavaScriptCore/yarr/RegularExpression.cpp
&gt;index c2c0470a94b1962bf48f4d695e170e9c41a967a4..d42a0b094238c8d203da13ed34397bce9f3927ec 100644
&gt;--- a/Source/JavaScriptCore/yarr/RegularExpression.cpp
&gt;+++ b/Source/JavaScriptCore/yarr/RegularExpression.cpp
&gt;@@ -37,9 +37,9 @@ namespace JSC { namespace Yarr {
&gt; 
&gt; class RegularExpression::Private : public RefCounted&lt;RegularExpression::Private&gt; {
&gt; public:
&gt;-    static Ref&lt;Private&gt; create(const String&amp; pattern, TextCaseSensitivity caseSensitivity, MultilineMode multilineMode)
&gt;+    static Ref&lt;Private&gt; create(const String&amp; pattern, TextCaseSensitivity caseSensitivity, MultilineMode multilineMode, UnicodeCodePointMode unicodeCodePointMode)

s/UnicodeCodePointMode/UnicodeMode/g? It’s simpler, but also more accurate since the `u` flag has more effects than just clustering by Unicode code point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403979</commentid>
    <comment_count>11</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-03-06 06:38:53 -0800</bug_when>
    <thetext>(In reply to Mathias Bynens from comment #10)
&gt; Comment on attachment 335086 [details]
&gt; Patch
&gt; 
&gt; &gt;diff --git a/Source/JavaScriptCore/yarr/RegularExpression.cpp b/Source/JavaScriptCore/yarr/RegularExpression.cpp
&gt; &gt;index c2c0470a94b1962bf48f4d695e170e9c41a967a4..d42a0b094238c8d203da13ed34397bce9f3927ec 100644
&gt; &gt;--- a/Source/JavaScriptCore/yarr/RegularExpression.cpp
&gt; &gt;+++ b/Source/JavaScriptCore/yarr/RegularExpression.cpp
&gt; &gt;@@ -37,9 +37,9 @@ namespace JSC { namespace Yarr {
&gt; &gt; 
&gt; &gt; class RegularExpression::Private : public RefCounted&lt;RegularExpression::Private&gt; {
&gt; &gt; public:
&gt; &gt;-    static Ref&lt;Private&gt; create(const String&amp; pattern, TextCaseSensitivity caseSensitivity, MultilineMode multilineMode)
&gt; &gt;+    static Ref&lt;Private&gt; create(const String&amp; pattern, TextCaseSensitivity caseSensitivity, MultilineMode multilineMode, UnicodeCodePointMode unicodeCodePointMode)
&gt; 
&gt; s/UnicodeCodePointMode/UnicodeMode/g? It’s simpler, but also more accurate
&gt; since the `u` flag has more effects than just clustering by Unicode code
&gt; point.

Yeah, it switches the parsing of RegExp actually. I&apos;ve changed it to UnicodeMode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403980</commentid>
    <comment_count>12</comment_count>
      <attachid>335092</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-03-06 06:39:41 -0800</bug_when>
    <thetext>Created attachment 335092
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404329</commentid>
    <comment_count>13</comment_count>
      <attachid>335190</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-03-07 06:50:18 -0800</bug_when>
    <thetext>Created attachment 335190
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404378</commentid>
    <comment_count>14</comment_count>
      <attachid>335190</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-07 09:44:29 -0800</bug_when>
    <thetext>Comment on attachment 335190
Patch

Rejecting attachment 335190 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 335190, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
st, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/origin/master.
Auto packing the repository in background for optimum performance.
See &quot;git help gc&quot; for manual housekeeping.
error: The last gc run reported the following. Please correct the root cause
and remove /Volumes/Data/EWS/WebKit/.git/gc.log.
Automatic cleanup will not be performed until the file is removed.

warning: There are too many unreachable loose objects; run &apos;git prune&apos; to remove them.


Full output: http://webkit-queues.webkit.org/results/6840638</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404379</commentid>
    <comment_count>15</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-03-07 09:47:07 -0800</bug_when>
    <thetext>Seems landed https://trac.webkit.org/r229363.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404380</commentid>
    <comment_count>16</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-03-07 09:48:24 -0800</bug_when>
    <thetext>&lt;rdar://problem/38224968&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335077</attachid>
            <date>2018-03-06 02:06:47 -0800</date>
            <delta_ts>2018-03-06 02:34:17 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-151598-20180306190646.patch</filename>
            <type>text/plain</type>
            <size>7187</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5MzEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
MGM5NjUwNDE1YjRmYjk3OThmYWQ3ZTBiNWY3NTIwMzZmN2ExYzVhLi43N2NhOTcwN2VmM2JhMmE2
YzkwZTc2MzBkNGZiYTJiMGFhY2Q1NmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxOC0wMy0wNiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBIVE1MIGBwYXR0ZXJuYCBhdHRyaWJ1dGUgc2hvdWxkIHNldCBgdWAg
ZmxhZyBmb3IgcmVndWxhciBleHByZXNzaW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxNTk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiB5YXJyL1JlZ3VsYXJFeHByZXNzaW9uLmNwcDoKKyAgICAg
ICAgKEpTQzo6WWFycjo6UmVndWxhckV4cHJlc3Npb246OlByaXZhdGU6OmNyZWF0ZSk6CisgICAg
ICAgIChKU0M6OllhcnI6OlJlZ3VsYXJFeHByZXNzaW9uOjpQcml2YXRlOjpQcml2YXRlKToKKyAg
ICAgICAgKEpTQzo6WWFycjo6UmVndWxhckV4cHJlc3Npb246OlByaXZhdGU6OmNvbXBpbGUpOgor
ICAgICAgICAoSlNDOjpZYXJyOjpSZWd1bGFyRXhwcmVzc2lvbjo6UmVndWxhckV4cHJlc3Npb24p
OgorICAgICAgICAqIHlhcnIvUmVndWxhckV4cHJlc3Npb24uaDoKKwogMjAxOC0wMy0wNSAgWXVz
dWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBGaXggc3RkOjpt
YWtlX3VuaXF1ZSAvIG5ld1tdIHVzaW5nIHN5c3RlbSBtYWxsb2MKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmZDNl
MDgwY2QyM2MyOGM0NDBmMGY1NThkNDc1NDFlMDFjZmMzMDgzLi42YThlMjBjNDkwYzNjMzU1NGM4
MDA0NjQxNTFlNDIwMzcyNzhhYTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTgt
MDMtMDYgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAg
SFRNTCBgcGF0dGVybmAgYXR0cmlidXRlIHNob3VsZCBzZXQgYHVgIGZsYWcgZm9yIHJlZ3VsYXIg
ZXhwcmVzc2lvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1MTU5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAgICogaHRtbC9CYXNlVGV4dElucHV0
VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCYXNlVGV4dElucHV0VHlwZTo6cGF0dGVybk1p
c21hdGNoIGNvbnN0KToKKwogMjAxOC0wMy0wNiAgTmFuIFdhbmcgIDxuX3dhbmdAYXBwbGUuY29t
PgogCiAgICAgICAgIEFYOiBBT006IE1vcmUgYWNjZXNzaWJpbGl0eSBldmVudHMgc3VwcG9ydApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVndWxhckV4cHJlc3Npb24u
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVndWxhckV4cHJlc3Npb24uY3BwCmlu
ZGV4IGMyYzA0NzBhOTRiMTk2MmJmNDhmNGQ2OTVlMTcwZTljNDFhOTY3YTQuLmQ0MmEwYjA5NDIz
OGM4ZDIwM2RhMTNlZDM0Mzk3YmNlOWYzOTI3ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS95YXJyL1JlZ3VsYXJFeHByZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUveWFyci9SZWd1bGFyRXhwcmVzc2lvbi5jcHAKQEAgLTM3LDkgKzM3LDkgQEAgbmFtZXNw
YWNlIEpTQyB7IG5hbWVzcGFjZSBZYXJyIHsKIAogY2xhc3MgUmVndWxhckV4cHJlc3Npb246OlBy
aXZhdGUgOiBwdWJsaWMgUmVmQ291bnRlZDxSZWd1bGFyRXhwcmVzc2lvbjo6UHJpdmF0ZT4gewog
cHVibGljOgotICAgIHN0YXRpYyBSZWY8UHJpdmF0ZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgcGF0
dGVybiwgVGV4dENhc2VTZW5zaXRpdml0eSBjYXNlU2Vuc2l0aXZpdHksIE11bHRpbGluZU1vZGUg
bXVsdGlsaW5lTW9kZSkKKyAgICBzdGF0aWMgUmVmPFByaXZhdGU+IGNyZWF0ZShjb25zdCBTdHJp
bmcmIHBhdHRlcm4sIFRleHRDYXNlU2Vuc2l0aXZpdHkgY2FzZVNlbnNpdGl2aXR5LCBNdWx0aWxp
bmVNb2RlIG11bHRpbGluZU1vZGUsIFVuaWNvZGVDb2RlUG9pbnRNb2RlIHVuaWNvZGVDb2RlUG9p
bnRNb2RlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUHJpdmF0ZShwYXR0
ZXJuLCBjYXNlU2Vuc2l0aXZpdHksIG11bHRpbGluZU1vZGUpKTsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgUHJpdmF0ZShwYXR0ZXJuLCBjYXNlU2Vuc2l0aXZpdHksIG11bHRpbGluZU1v
ZGUsIHVuaWNvZGVDb2RlUG9pbnRNb2RlKSk7CiAgICAgfQogCiAgICAgaW50IGxhc3RNYXRjaExl
bmd0aCB7IC0xIH07CkBAIC00OCwxMiArNDgsMTIgQEAgY2xhc3MgUmVndWxhckV4cHJlc3Npb246
OlByaXZhdGUgOiBwdWJsaWMgUmVmQ291bnRlZDxSZWd1bGFyRXhwcmVzc2lvbjo6UHJpdmF0ZT4K
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8SlNDOjpZYXJyOjpCeXRlY29kZVBhdHRlcm4+IG1fcmVnRXhw
Qnl0ZUNvZGU7CiAKIHByaXZhdGU6Ci0gICAgUHJpdmF0ZShjb25zdCBTdHJpbmcmIHBhdHRlcm4s
IFRleHRDYXNlU2Vuc2l0aXZpdHkgY2FzZVNlbnNpdGl2aXR5LCBNdWx0aWxpbmVNb2RlIG11bHRp
bGluZU1vZGUpCi0gICAgICAgIDogbV9yZWdFeHBCeXRlQ29kZShjb21waWxlKHBhdHRlcm4sIGNh
c2VTZW5zaXRpdml0eSwgbXVsdGlsaW5lTW9kZSkpCisgICAgUHJpdmF0ZShjb25zdCBTdHJpbmcm
IHBhdHRlcm4sIFRleHRDYXNlU2Vuc2l0aXZpdHkgY2FzZVNlbnNpdGl2aXR5LCBNdWx0aWxpbmVN
b2RlIG11bHRpbGluZU1vZGUsIFVuaWNvZGVDb2RlUG9pbnRNb2RlIHVuaWNvZGVDb2RlUG9pbnRN
b2RlKQorICAgICAgICA6IG1fcmVnRXhwQnl0ZUNvZGUoY29tcGlsZShwYXR0ZXJuLCBjYXNlU2Vu
c2l0aXZpdHksIG11bHRpbGluZU1vZGUsIHVuaWNvZGVDb2RlUG9pbnRNb2RlKSkKICAgICB7CiAg
ICAgfQogCi0gICAgc3RkOjp1bmlxdWVfcHRyPEpTQzo6WWFycjo6Qnl0ZWNvZGVQYXR0ZXJuPiBj
b21waWxlKGNvbnN0IFN0cmluZyYgcGF0dGVyblN0cmluZywgVGV4dENhc2VTZW5zaXRpdml0eSBj
YXNlU2Vuc2l0aXZpdHksIE11bHRpbGluZU1vZGUgbXVsdGlsaW5lTW9kZSkKKyAgICBzdGQ6OnVu
aXF1ZV9wdHI8SlNDOjpZYXJyOjpCeXRlY29kZVBhdHRlcm4+IGNvbXBpbGUoY29uc3QgU3RyaW5n
JiBwYXR0ZXJuU3RyaW5nLCBUZXh0Q2FzZVNlbnNpdGl2aXR5IGNhc2VTZW5zaXRpdml0eSwgTXVs
dGlsaW5lTW9kZSBtdWx0aWxpbmVNb2RlLCBVbmljb2RlQ29kZVBvaW50TW9kZSB1bmljb2RlQ29k
ZVBvaW50TW9kZSkKICAgICB7CiAgICAgICAgIFJlZ0V4cEZsYWdzIGZsYWdzID0gTm9GbGFnczsK
IApAQCAtNjMsNiArNjMsOSBAQCBjbGFzcyBSZWd1bGFyRXhwcmVzc2lvbjo6UHJpdmF0ZSA6IHB1
YmxpYyBSZWZDb3VudGVkPFJlZ3VsYXJFeHByZXNzaW9uOjpQcml2YXRlPgogICAgICAgICBpZiAo
bXVsdGlsaW5lTW9kZSA9PSBNdWx0aWxpbmVFbmFibGVkKQogICAgICAgICAgICAgZmxhZ3MgPSBz
dGF0aWNfY2FzdDxSZWdFeHBGbGFncz4oZmxhZ3MgfCBGbGFnTXVsdGlsaW5lKTsKIAorICAgICAg
ICBpZiAodW5pY29kZUNvZGVQb2ludE1vZGUgPT0gVW5pY29kZUNvZGVQb2ludEF3YXJlKQorICAg
ICAgICAgICAgZmxhZ3MgPSBzdGF0aWNfY2FzdDxSZWdFeHBGbGFncz4oZmxhZ3MgfCBGbGFnVW5p
Y29kZSk7CisKICAgICAgICAgSlNDOjpZYXJyOjpZYXJyUGF0dGVybiBwYXR0ZXJuKHBhdHRlcm5T
dHJpbmcsIGZsYWdzLCBtX2NvbnN0cnVjdGlvbkVycm9yQ29kZSk7CiAgICAgICAgIGlmIChKU0M6
OllhcnI6Omhhc0Vycm9yKG1fY29uc3RydWN0aW9uRXJyb3JDb2RlKSkgewogICAgICAgICAgICAg
TE9HX0VSUk9SKCJSZWd1bGFyRXhwcmVzc2lvbjogWUFSUiBjb21waWxlIGZhaWxlZCB3aXRoICcl
cyciLCBKU0M6OllhcnI6OmVycm9yTWVzc2FnZShtX2NvbnN0cnVjdGlvbkVycm9yQ29kZSkpOwpA
QCAtNzgsOCArODEsOCBAQCBjbGFzcyBSZWd1bGFyRXhwcmVzc2lvbjo6UHJpdmF0ZSA6IHB1Ymxp
YyBSZWZDb3VudGVkPFJlZ3VsYXJFeHByZXNzaW9uOjpQcml2YXRlPgogICAgIEpTQzo6WWFycjo6
RXJyb3JDb2RlIG1fY29uc3RydWN0aW9uRXJyb3JDb2RlIHsgWWFycjo6RXJyb3JDb2RlOjpOb0Vy
cm9yIH07CiB9OwogCi1SZWd1bGFyRXhwcmVzc2lvbjo6UmVndWxhckV4cHJlc3Npb24oY29uc3Qg
U3RyaW5nJiBwYXR0ZXJuLCBUZXh0Q2FzZVNlbnNpdGl2aXR5IGNhc2VTZW5zaXRpdml0eSwgTXVs
dGlsaW5lTW9kZSBtdWx0aWxpbmVNb2RlKQotICAgIDogZChQcml2YXRlOjpjcmVhdGUocGF0dGVy
biwgY2FzZVNlbnNpdGl2aXR5LCBtdWx0aWxpbmVNb2RlKSkKK1JlZ3VsYXJFeHByZXNzaW9uOjpS
ZWd1bGFyRXhwcmVzc2lvbihjb25zdCBTdHJpbmcmIHBhdHRlcm4sIFRleHRDYXNlU2Vuc2l0aXZp
dHkgY2FzZVNlbnNpdGl2aXR5LCBNdWx0aWxpbmVNb2RlIG11bHRpbGluZU1vZGUsIFVuaWNvZGVD
b2RlUG9pbnRNb2RlIHVuaWNvZGVDb2RlUG9pbnRNb2RlKQorICAgIDogZChQcml2YXRlOjpjcmVh
dGUocGF0dGVybiwgY2FzZVNlbnNpdGl2aXR5LCBtdWx0aWxpbmVNb2RlLCB1bmljb2RlQ29kZVBv
aW50TW9kZSkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJy
L1JlZ3VsYXJFeHByZXNzaW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9SZWd1bGFy
RXhwcmVzc2lvbi5oCmluZGV4IDIwNzM5MGI1ZTllNzFhYTY2YTgyZWE0NTE2MzFiMWVjNDQ4NWNi
MGMuLmYyODVhMDU2YThkMjg1NzRmMjZmMWM3MThkMzIxNmE4NmIwYzFjOTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ3VsYXJFeHByZXNzaW9uLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVndWxhckV4cHJlc3Npb24uaApAQCAtMzEsMTEgKzMx
LDEyIEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgWWFyciB7CiAKIGVudW0gTXVsdGlsaW5l
TW9kZSB7IE11bHRpbGluZURpc2FibGVkLCBNdWx0aWxpbmVFbmFibGVkIH07CiBlbnVtIFRleHRD
YXNlU2Vuc2l0aXZpdHkgeyBUZXh0Q2FzZVNlbnNpdGl2ZSwgVGV4dENhc2VJbnNlbnNpdGl2ZSB9
OworZW51bSBVbmljb2RlQ29kZVBvaW50TW9kZSB7IFVuaWNvZGVDb2RlUG9pbnRVbmF3YXJlLCBV
bmljb2RlQ29kZVBvaW50QXdhcmUgfQogCiBjbGFzcyBKU19FWFBPUlRfUFJJVkFURSBSZWd1bGFy
RXhwcmVzc2lvbiB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAg
ZXhwbGljaXQgUmVndWxhckV4cHJlc3Npb24oY29uc3QgU3RyaW5nJiwgVGV4dENhc2VTZW5zaXRp
dml0eSA9IFRleHRDYXNlU2Vuc2l0aXZlLCBNdWx0aWxpbmVNb2RlID0gTXVsdGlsaW5lRGlzYWJs
ZWQpOworICAgIGV4cGxpY2l0IFJlZ3VsYXJFeHByZXNzaW9uKGNvbnN0IFN0cmluZyYsIFRleHRD
YXNlU2Vuc2l0aXZpdHkgPSBUZXh0Q2FzZVNlbnNpdGl2ZSwgTXVsdGlsaW5lTW9kZSA9IE11bHRp
bGluZURpc2FibGVkLCBVbmljb2RlQ29kZVBvaW50TW9kZSA9IFVuaWNvZGVDb2RlUG9pbnRVbmF3
YXJlKTsKICAgICB+UmVndWxhckV4cHJlc3Npb24oKTsKIAogICAgIFJlZ3VsYXJFeHByZXNzaW9u
KGNvbnN0IFJlZ3VsYXJFeHByZXNzaW9uJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0Jhc2VUZXh0SW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZVRleHRJ
bnB1dFR5cGUuY3BwCmluZGV4IGZmNmQ2M2EwNWY3YjRiY2ZlMGJiYTI0MTk1MDI0MTYyYWM1MGFj
NmYuLmYwODVhYzEwMTFmZWY1YTc4NDdjMmUyZGM4ZTcyOWY4ZWFlNDMwYWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZVRleHRJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvQmFzZVRleHRJbnB1dFR5cGUuY3BwCkBAIC00MCwxMiArNDAsMTIgQEAgYm9v
bCBCYXNlVGV4dElucHV0VHlwZTo6aXNUZXh0VHlwZSgpIGNvbnN0CiBib29sIEJhc2VUZXh0SW5w
dXRUeXBlOjpwYXR0ZXJuTWlzbWF0Y2goY29uc3QgU3RyaW5nJiB2YWx1ZSkgY29uc3QKIHsKICAg
ICBjb25zdCBBdG9taWNTdHJpbmcmIHJhd1BhdHRlcm4gPSBlbGVtZW50KCkuYXR0cmlidXRlV2l0
aG91dFN5bmNocm9uaXphdGlvbihwYXR0ZXJuQXR0cik7Ci0gICAgaWYgKHJhd1BhdHRlcm4uaXNO
dWxsKCkgfHwgdmFsdWUuaXNFbXB0eSgpIHx8ICFKU0M6OllhcnI6OlJlZ3VsYXJFeHByZXNzaW9u
KHJhd1BhdHRlcm4pLmlzVmFsaWQoKSkKKyAgICBpZiAocmF3UGF0dGVybi5pc051bGwoKSB8fCB2
YWx1ZS5pc0VtcHR5KCkgfHwgIUpTQzo6WWFycjo6UmVndWxhckV4cHJlc3Npb24ocmF3UGF0dGVy
biwgVGV4dENhc2VTZW5zaXRpdmUsIE11bHRpbGluZURpc2FibGVkLCBVbmljb2RlQ29kZVBvaW50
QXdhcmUpLmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIFN0cmluZyBwYXR0
ZXJuID0gIl4oPzoiICsgcmF3UGF0dGVybiArICIpJCI7CiAgICAgaW50IG1hdGNoTGVuZ3RoID0g
MDsKICAgICBpbnQgdmFsdWVMZW5ndGggPSB2YWx1ZS5sZW5ndGgoKTsKLSAgICBpbnQgbWF0Y2hP
ZmZzZXQgPSBKU0M6OllhcnI6OlJlZ3VsYXJFeHByZXNzaW9uKHBhdHRlcm4pLm1hdGNoKHZhbHVl
LCAwLCAmbWF0Y2hMZW5ndGgpOworICAgIGludCBtYXRjaE9mZnNldCA9IEpTQzo6WWFycjo6UmVn
dWxhckV4cHJlc3Npb24ocGF0dGVybiwgVGV4dENhc2VTZW5zaXRpdmUsIE11bHRpbGluZURpc2Fi
bGVkLCBVbmljb2RlQ29kZVBvaW50QXdhcmUpLm1hdGNoKHZhbHVlLCAwLCAmbWF0Y2hMZW5ndGgp
OwogICAgIHJldHVybiBtYXRjaE9mZnNldCB8fCBtYXRjaExlbmd0aCAhPSB2YWx1ZUxlbmd0aDsK
IH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335078</attachid>
            <date>2018-03-06 02:34:19 -0800</date>
            <delta_ts>2018-03-06 05:41:41 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-151598-20180306193418.patch</filename>
            <type>text/plain</type>
            <size>7398</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5MzEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
MGM5NjUwNDE1YjRmYjk3OThmYWQ3ZTBiNWY3NTIwMzZmN2ExYzVhLi43N2NhOTcwN2VmM2JhMmE2
YzkwZTc2MzBkNGZiYTJiMGFhY2Q1NmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxOC0wMy0wNiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBIVE1MIGBwYXR0ZXJuYCBhdHRyaWJ1dGUgc2hvdWxkIHNldCBgdWAg
ZmxhZyBmb3IgcmVndWxhciBleHByZXNzaW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxNTk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiB5YXJyL1JlZ3VsYXJFeHByZXNzaW9uLmNwcDoKKyAgICAg
ICAgKEpTQzo6WWFycjo6UmVndWxhckV4cHJlc3Npb246OlByaXZhdGU6OmNyZWF0ZSk6CisgICAg
ICAgIChKU0M6OllhcnI6OlJlZ3VsYXJFeHByZXNzaW9uOjpQcml2YXRlOjpQcml2YXRlKToKKyAg
ICAgICAgKEpTQzo6WWFycjo6UmVndWxhckV4cHJlc3Npb246OlByaXZhdGU6OmNvbXBpbGUpOgor
ICAgICAgICAoSlNDOjpZYXJyOjpSZWd1bGFyRXhwcmVzc2lvbjo6UmVndWxhckV4cHJlc3Npb24p
OgorICAgICAgICAqIHlhcnIvUmVndWxhckV4cHJlc3Npb24uaDoKKwogMjAxOC0wMy0wNSAgWXVz
dWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBGaXggc3RkOjpt
YWtlX3VuaXF1ZSAvIG5ld1tdIHVzaW5nIHN5c3RlbSBtYWxsb2MKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmZDNl
MDgwY2QyM2MyOGM0NDBmMGY1NThkNDc1NDFlMDFjZmMzMDgzLi5jZGEyMDcyYjMyZDAwMjIxY2Rk
NzQ5OGRiODczOTk4Y2Y5MzAzNjYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTgt
MDMtMDYgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAg
SFRNTCBgcGF0dGVybmAgYXR0cmlidXRlIHNob3VsZCBzZXQgYHVgIGZsYWcgZm9yIHJlZ3VsYXIg
ZXhwcmVzc2lvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1MTU5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogaHRtbC9CYXNlVGV4dElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCYXNl
VGV4dElucHV0VHlwZTo6cGF0dGVybk1pc21hdGNoIGNvbnN0KToKKwogMjAxOC0wMy0wNiAgTmFu
IFdhbmcgIDxuX3dhbmdAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBBT006IE1vcmUgYWNjZXNz
aWJpbGl0eSBldmVudHMgc3VwcG9ydApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3lhcnIvUmVndWxhckV4cHJlc3Npb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIv
UmVndWxhckV4cHJlc3Npb24uY3BwCmluZGV4IGMyYzA0NzBhOTRiMTk2MmJmNDhmNGQ2OTVlMTcw
ZTljNDFhOTY3YTQuLmQ0MmEwYjA5NDIzOGM4ZDIwM2RhMTNlZDM0Mzk3YmNlOWYzOTI3ZWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ3VsYXJFeHByZXNzaW9uLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9SZWd1bGFyRXhwcmVzc2lvbi5jcHAK
QEAgLTM3LDkgKzM3LDkgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBZYXJyIHsKIAogY2xh
c3MgUmVndWxhckV4cHJlc3Npb246OlByaXZhdGUgOiBwdWJsaWMgUmVmQ291bnRlZDxSZWd1bGFy
RXhwcmVzc2lvbjo6UHJpdmF0ZT4gewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8UHJpdmF0ZT4g
Y3JlYXRlKGNvbnN0IFN0cmluZyYgcGF0dGVybiwgVGV4dENhc2VTZW5zaXRpdml0eSBjYXNlU2Vu
c2l0aXZpdHksIE11bHRpbGluZU1vZGUgbXVsdGlsaW5lTW9kZSkKKyAgICBzdGF0aWMgUmVmPFBy
aXZhdGU+IGNyZWF0ZShjb25zdCBTdHJpbmcmIHBhdHRlcm4sIFRleHRDYXNlU2Vuc2l0aXZpdHkg
Y2FzZVNlbnNpdGl2aXR5LCBNdWx0aWxpbmVNb2RlIG11bHRpbGluZU1vZGUsIFVuaWNvZGVDb2Rl
UG9pbnRNb2RlIHVuaWNvZGVDb2RlUG9pbnRNb2RlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgUHJpdmF0ZShwYXR0ZXJuLCBjYXNlU2Vuc2l0aXZpdHksIG11bHRpbGluZU1v
ZGUpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUHJpdmF0ZShwYXR0ZXJuLCBjYXNl
U2Vuc2l0aXZpdHksIG11bHRpbGluZU1vZGUsIHVuaWNvZGVDb2RlUG9pbnRNb2RlKSk7CiAgICAg
fQogCiAgICAgaW50IGxhc3RNYXRjaExlbmd0aCB7IC0xIH07CkBAIC00OCwxMiArNDgsMTIgQEAg
Y2xhc3MgUmVndWxhckV4cHJlc3Npb246OlByaXZhdGUgOiBwdWJsaWMgUmVmQ291bnRlZDxSZWd1
bGFyRXhwcmVzc2lvbjo6UHJpdmF0ZT4KICAgICBzdGQ6OnVuaXF1ZV9wdHI8SlNDOjpZYXJyOjpC
eXRlY29kZVBhdHRlcm4+IG1fcmVnRXhwQnl0ZUNvZGU7CiAKIHByaXZhdGU6Ci0gICAgUHJpdmF0
ZShjb25zdCBTdHJpbmcmIHBhdHRlcm4sIFRleHRDYXNlU2Vuc2l0aXZpdHkgY2FzZVNlbnNpdGl2
aXR5LCBNdWx0aWxpbmVNb2RlIG11bHRpbGluZU1vZGUpCi0gICAgICAgIDogbV9yZWdFeHBCeXRl
Q29kZShjb21waWxlKHBhdHRlcm4sIGNhc2VTZW5zaXRpdml0eSwgbXVsdGlsaW5lTW9kZSkpCisg
ICAgUHJpdmF0ZShjb25zdCBTdHJpbmcmIHBhdHRlcm4sIFRleHRDYXNlU2Vuc2l0aXZpdHkgY2Fz
ZVNlbnNpdGl2aXR5LCBNdWx0aWxpbmVNb2RlIG11bHRpbGluZU1vZGUsIFVuaWNvZGVDb2RlUG9p
bnRNb2RlIHVuaWNvZGVDb2RlUG9pbnRNb2RlKQorICAgICAgICA6IG1fcmVnRXhwQnl0ZUNvZGUo
Y29tcGlsZShwYXR0ZXJuLCBjYXNlU2Vuc2l0aXZpdHksIG11bHRpbGluZU1vZGUsIHVuaWNvZGVD
b2RlUG9pbnRNb2RlKSkKICAgICB7CiAgICAgfQogCi0gICAgc3RkOjp1bmlxdWVfcHRyPEpTQzo6
WWFycjo6Qnl0ZWNvZGVQYXR0ZXJuPiBjb21waWxlKGNvbnN0IFN0cmluZyYgcGF0dGVyblN0cmlu
ZywgVGV4dENhc2VTZW5zaXRpdml0eSBjYXNlU2Vuc2l0aXZpdHksIE11bHRpbGluZU1vZGUgbXVs
dGlsaW5lTW9kZSkKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8SlNDOjpZYXJyOjpCeXRlY29kZVBhdHRl
cm4+IGNvbXBpbGUoY29uc3QgU3RyaW5nJiBwYXR0ZXJuU3RyaW5nLCBUZXh0Q2FzZVNlbnNpdGl2
aXR5IGNhc2VTZW5zaXRpdml0eSwgTXVsdGlsaW5lTW9kZSBtdWx0aWxpbmVNb2RlLCBVbmljb2Rl
Q29kZVBvaW50TW9kZSB1bmljb2RlQ29kZVBvaW50TW9kZSkKICAgICB7CiAgICAgICAgIFJlZ0V4
cEZsYWdzIGZsYWdzID0gTm9GbGFnczsKIApAQCAtNjMsNiArNjMsOSBAQCBjbGFzcyBSZWd1bGFy
RXhwcmVzc2lvbjo6UHJpdmF0ZSA6IHB1YmxpYyBSZWZDb3VudGVkPFJlZ3VsYXJFeHByZXNzaW9u
OjpQcml2YXRlPgogICAgICAgICBpZiAobXVsdGlsaW5lTW9kZSA9PSBNdWx0aWxpbmVFbmFibGVk
KQogICAgICAgICAgICAgZmxhZ3MgPSBzdGF0aWNfY2FzdDxSZWdFeHBGbGFncz4oZmxhZ3MgfCBG
bGFnTXVsdGlsaW5lKTsKIAorICAgICAgICBpZiAodW5pY29kZUNvZGVQb2ludE1vZGUgPT0gVW5p
Y29kZUNvZGVQb2ludEF3YXJlKQorICAgICAgICAgICAgZmxhZ3MgPSBzdGF0aWNfY2FzdDxSZWdF
eHBGbGFncz4oZmxhZ3MgfCBGbGFnVW5pY29kZSk7CisKICAgICAgICAgSlNDOjpZYXJyOjpZYXJy
UGF0dGVybiBwYXR0ZXJuKHBhdHRlcm5TdHJpbmcsIGZsYWdzLCBtX2NvbnN0cnVjdGlvbkVycm9y
Q29kZSk7CiAgICAgICAgIGlmIChKU0M6OllhcnI6Omhhc0Vycm9yKG1fY29uc3RydWN0aW9uRXJy
b3JDb2RlKSkgewogICAgICAgICAgICAgTE9HX0VSUk9SKCJSZWd1bGFyRXhwcmVzc2lvbjogWUFS
UiBjb21waWxlIGZhaWxlZCB3aXRoICclcyciLCBKU0M6OllhcnI6OmVycm9yTWVzc2FnZShtX2Nv
bnN0cnVjdGlvbkVycm9yQ29kZSkpOwpAQCAtNzgsOCArODEsOCBAQCBjbGFzcyBSZWd1bGFyRXhw
cmVzc2lvbjo6UHJpdmF0ZSA6IHB1YmxpYyBSZWZDb3VudGVkPFJlZ3VsYXJFeHByZXNzaW9uOjpQ
cml2YXRlPgogICAgIEpTQzo6WWFycjo6RXJyb3JDb2RlIG1fY29uc3RydWN0aW9uRXJyb3JDb2Rl
IHsgWWFycjo6RXJyb3JDb2RlOjpOb0Vycm9yIH07CiB9OwogCi1SZWd1bGFyRXhwcmVzc2lvbjo6
UmVndWxhckV4cHJlc3Npb24oY29uc3QgU3RyaW5nJiBwYXR0ZXJuLCBUZXh0Q2FzZVNlbnNpdGl2
aXR5IGNhc2VTZW5zaXRpdml0eSwgTXVsdGlsaW5lTW9kZSBtdWx0aWxpbmVNb2RlKQotICAgIDog
ZChQcml2YXRlOjpjcmVhdGUocGF0dGVybiwgY2FzZVNlbnNpdGl2aXR5LCBtdWx0aWxpbmVNb2Rl
KSkKK1JlZ3VsYXJFeHByZXNzaW9uOjpSZWd1bGFyRXhwcmVzc2lvbihjb25zdCBTdHJpbmcmIHBh
dHRlcm4sIFRleHRDYXNlU2Vuc2l0aXZpdHkgY2FzZVNlbnNpdGl2aXR5LCBNdWx0aWxpbmVNb2Rl
IG11bHRpbGluZU1vZGUsIFVuaWNvZGVDb2RlUG9pbnRNb2RlIHVuaWNvZGVDb2RlUG9pbnRNb2Rl
KQorICAgIDogZChQcml2YXRlOjpjcmVhdGUocGF0dGVybiwgY2FzZVNlbnNpdGl2aXR5LCBtdWx0
aWxpbmVNb2RlLCB1bmljb2RlQ29kZVBvaW50TW9kZSkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ3VsYXJFeHByZXNzaW9uLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUveWFyci9SZWd1bGFyRXhwcmVzc2lvbi5oCmluZGV4IDIwNzM5MGI1ZTllNzFh
YTY2YTgyZWE0NTE2MzFiMWVjNDQ4NWNiMGMuLjFlZDQzODViNmIyYzk4Mzk0ZDJhZjE0MTgyYjEz
ZmVhZWZiYWQ5Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ3Vs
YXJFeHByZXNzaW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVndWxhckV4
cHJlc3Npb24uaApAQCAtMzEsMTEgKzMxLDEyIEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2Ug
WWFyciB7CiAKIGVudW0gTXVsdGlsaW5lTW9kZSB7IE11bHRpbGluZURpc2FibGVkLCBNdWx0aWxp
bmVFbmFibGVkIH07CiBlbnVtIFRleHRDYXNlU2Vuc2l0aXZpdHkgeyBUZXh0Q2FzZVNlbnNpdGl2
ZSwgVGV4dENhc2VJbnNlbnNpdGl2ZSB9OworZW51bSBVbmljb2RlQ29kZVBvaW50TW9kZSB7IFVu
aWNvZGVDb2RlUG9pbnRVbmF3YXJlLCBVbmljb2RlQ29kZVBvaW50QXdhcmUgfTsKIAogY2xhc3Mg
SlNfRVhQT1JUX1BSSVZBVEUgUmVndWxhckV4cHJlc3Npb24gewogICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgotICAgIGV4cGxpY2l0IFJlZ3VsYXJFeHByZXNzaW9uKGNvbnN0
IFN0cmluZyYsIFRleHRDYXNlU2Vuc2l0aXZpdHkgPSBUZXh0Q2FzZVNlbnNpdGl2ZSwgTXVsdGls
aW5lTW9kZSA9IE11bHRpbGluZURpc2FibGVkKTsKKyAgICBleHBsaWNpdCBSZWd1bGFyRXhwcmVz
c2lvbihjb25zdCBTdHJpbmcmLCBUZXh0Q2FzZVNlbnNpdGl2aXR5ID0gVGV4dENhc2VTZW5zaXRp
dmUsIE11bHRpbGluZU1vZGUgPSBNdWx0aWxpbmVEaXNhYmxlZCwgVW5pY29kZUNvZGVQb2ludE1v
ZGUgPSBVbmljb2RlQ29kZVBvaW50VW5hd2FyZSk7CiAgICAgflJlZ3VsYXJFeHByZXNzaW9uKCk7
CiAKICAgICBSZWd1bGFyRXhwcmVzc2lvbihjb25zdCBSZWd1bGFyRXhwcmVzc2lvbiYpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlVGV4dElucHV0VHlwZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0Jhc2VUZXh0SW5wdXRUeXBlLmNwcAppbmRleCBmZjZkNjNhMDVmN2I0
YmNmZTBiYmEyNDE5NTAyNDE2MmFjNTBhYzZmLi5jZjgzM2EwZGRlN2MwZGI2OTIwNmFmNWFlNjRj
NTQyYWJiODQ1ODA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VUZXh0SW5w
dXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VUZXh0SW5wdXRUeXBlLmNw
cApAQCAtMzksMTMgKzM5LDE1IEBAIGJvb2wgQmFzZVRleHRJbnB1dFR5cGU6OmlzVGV4dFR5cGUo
KSBjb25zdAogCiBib29sIEJhc2VUZXh0SW5wdXRUeXBlOjpwYXR0ZXJuTWlzbWF0Y2goY29uc3Qg
U3RyaW5nJiB2YWx1ZSkgY29uc3QKIHsKKyAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGV4ZWN1dGUg
UmVnRXhwIHBhcnNlciBmaXJzdCB0byBjaGVjayB2YWxpZGl0eSBpbnN0ZWFkIG9mIGNyZWF0aW5n
IGFuIGFjdHVhbCBSZWd1bGFyRXhwcmVzc2lvbi4KKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgzMzYxCiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiByYXdQ
YXR0ZXJuID0gZWxlbWVudCgpLmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24ocGF0dGVy
bkF0dHIpOwotICAgIGlmIChyYXdQYXR0ZXJuLmlzTnVsbCgpIHx8IHZhbHVlLmlzRW1wdHkoKSB8
fCAhSlNDOjpZYXJyOjpSZWd1bGFyRXhwcmVzc2lvbihyYXdQYXR0ZXJuKS5pc1ZhbGlkKCkpCisg
ICAgaWYgKHJhd1BhdHRlcm4uaXNOdWxsKCkgfHwgdmFsdWUuaXNFbXB0eSgpIHx8ICFKU0M6Ollh
cnI6OlJlZ3VsYXJFeHByZXNzaW9uKHJhd1BhdHRlcm4sIEpTQzo6WWFycjo6VGV4dENhc2VTZW5z
aXRpdmUsIEpTQzo6WWFycjo6TXVsdGlsaW5lRGlzYWJsZWQsIEpTQzo6WWFycjo6VW5pY29kZUNv
ZGVQb2ludEF3YXJlKS5pc1ZhbGlkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBTdHJp
bmcgcGF0dGVybiA9ICJeKD86IiArIHJhd1BhdHRlcm4gKyAiKSQiOwogICAgIGludCBtYXRjaExl
bmd0aCA9IDA7CiAgICAgaW50IHZhbHVlTGVuZ3RoID0gdmFsdWUubGVuZ3RoKCk7Ci0gICAgaW50
IG1hdGNoT2Zmc2V0ID0gSlNDOjpZYXJyOjpSZWd1bGFyRXhwcmVzc2lvbihwYXR0ZXJuKS5tYXRj
aCh2YWx1ZSwgMCwgJm1hdGNoTGVuZ3RoKTsKKyAgICBpbnQgbWF0Y2hPZmZzZXQgPSBKU0M6Ollh
cnI6OlJlZ3VsYXJFeHByZXNzaW9uKHBhdHRlcm4sIEpTQzo6WWFycjo6VGV4dENhc2VTZW5zaXRp
dmUsIEpTQzo6WWFycjo6TXVsdGlsaW5lRGlzYWJsZWQsIEpTQzo6WWFycjo6VW5pY29kZUNvZGVQ
b2ludEF3YXJlKS5tYXRjaCh2YWx1ZSwgMCwgJm1hdGNoTGVuZ3RoKTsKICAgICByZXR1cm4gbWF0
Y2hPZmZzZXQgfHwgbWF0Y2hMZW5ndGggIT0gdmFsdWVMZW5ndGg7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335086</attachid>
            <date>2018-03-06 05:41:43 -0800</date>
            <delta_ts>2018-03-06 06:39:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151598-20180306224142.patch</filename>
            <type>text/plain</type>
            <size>12870</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5MzEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
MGM5NjUwNDE1YjRmYjk3OThmYWQ3ZTBiNWY3NTIwMzZmN2ExYzVhLi5jMWEzYTBlNThhZDg4Yzdl
MTE3NGFmMjMwMWUyYjU4M2I5N2M3YWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxOC0wMy0wNiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBIVE1MIGBwYXR0ZXJuYCBhdHRyaWJ1dGUgc2hvdWxkIHNldCBgdWAg
ZmxhZyBmb3IgcmVndWxhciBleHByZXNzaW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxNTk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIFVuaWNvZGVDb2RlUG9pbnRNb2RlIGZvciBKU0M6Ollh
cnI6OlJlZ3VsYXJFeHByZXNzaW9uLgorCisgICAgICAgICogeWFyci9SZWd1bGFyRXhwcmVzc2lv
bi5jcHA6CisgICAgICAgIChKU0M6OllhcnI6OlJlZ3VsYXJFeHByZXNzaW9uOjpQcml2YXRlOjpj
cmVhdGUpOgorICAgICAgICAoSlNDOjpZYXJyOjpSZWd1bGFyRXhwcmVzc2lvbjo6UHJpdmF0ZTo6
UHJpdmF0ZSk6CisgICAgICAgIChKU0M6OllhcnI6OlJlZ3VsYXJFeHByZXNzaW9uOjpQcml2YXRl
Ojpjb21waWxlKToKKyAgICAgICAgKEpTQzo6WWFycjo6UmVndWxhckV4cHJlc3Npb246OlJlZ3Vs
YXJFeHByZXNzaW9uKToKKyAgICAgICAgKiB5YXJyL1JlZ3VsYXJFeHByZXNzaW9uLmg6CisKIDIw
MTgtMDMtMDUgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAg
ICAgRml4IHN0ZDo6bWFrZV91bmlxdWUgLyBuZXdbXSB1c2luZyBzeXN0ZW0gbWFsbG9jCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggZmQzZTA4MGNkMjNjMjhjNDQwZjBmNTU4ZDQ3NTQxZTAxY2ZjMzA4My4uM2Q2ZTJi
ZTA4NTRiNDZmMWE5NGQ1OTdmYWQwYTE1Zjc4MDE0NzhhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE3IEBACisyMDE4LTAzLTA2ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29t
PgorCisgICAgICAgIEhUTUwgYHBhdHRlcm5gIGF0dHJpYnV0ZSBzaG91bGQgc2V0IGB1YCBmbGFn
IGZvciByZWd1bGFyIGV4cHJlc3Npb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNTE1OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGF0dGFjaGVzICJ1IiBmbGFnIHRvIHRoZSBSZWdF
eHAgY29tcGlsZWQgZm9yIEhUTUwgInBhdHRlcm4iIGF0dHJpYnV0ZVsxXS4KKworICAgICAgICBb
MV06IGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2Zvcm1zLmh0bWwjdGhl
LXBhdHRlcm4tYXR0cmlidXRlCisKKyAgICAgICAgKiBodG1sL0Jhc2VUZXh0SW5wdXRUeXBlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VUZXh0SW5wdXRUeXBlOjpwYXR0ZXJuTWlzbWF0Y2gg
Y29uc3QpOgorCiAyMDE4LTAzLTA2ICBOYW4gV2FuZyAgPG5fd2FuZ0BhcHBsZS5jb20+CiAKICAg
ICAgICAgQVg6IEFPTTogTW9yZSBhY2Nlc3NpYmlsaXR5IGV2ZW50cyBzdXBwb3J0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9SZWd1bGFyRXhwcmVzc2lvbi5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9SZWd1bGFyRXhwcmVzc2lvbi5jcHAKaW5kZXggYzJj
MDQ3MGE5NGIxOTYyYmY0OGY0ZDY5NWUxNzBlOWM0MWE5NjdhNC4uZDQyYTBiMDk0MjM4YzhkMjAz
ZGExM2VkMzQzOTdiY2U5ZjM5MjdlYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3lhcnIvUmVndWxhckV4cHJlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95
YXJyL1JlZ3VsYXJFeHByZXNzaW9uLmNwcApAQCAtMzcsOSArMzcsOSBAQCBuYW1lc3BhY2UgSlND
IHsgbmFtZXNwYWNlIFlhcnIgewogCiBjbGFzcyBSZWd1bGFyRXhwcmVzc2lvbjo6UHJpdmF0ZSA6
IHB1YmxpYyBSZWZDb3VudGVkPFJlZ3VsYXJFeHByZXNzaW9uOjpQcml2YXRlPiB7CiBwdWJsaWM6
Ci0gICAgc3RhdGljIFJlZjxQcml2YXRlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBwYXR0ZXJuLCBU
ZXh0Q2FzZVNlbnNpdGl2aXR5IGNhc2VTZW5zaXRpdml0eSwgTXVsdGlsaW5lTW9kZSBtdWx0aWxp
bmVNb2RlKQorICAgIHN0YXRpYyBSZWY8UHJpdmF0ZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgcGF0
dGVybiwgVGV4dENhc2VTZW5zaXRpdml0eSBjYXNlU2Vuc2l0aXZpdHksIE11bHRpbGluZU1vZGUg
bXVsdGlsaW5lTW9kZSwgVW5pY29kZUNvZGVQb2ludE1vZGUgdW5pY29kZUNvZGVQb2ludE1vZGUp
CiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQcml2YXRlKHBhdHRlcm4sIGNh
c2VTZW5zaXRpdml0eSwgbXVsdGlsaW5lTW9kZSkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBQcml2YXRlKHBhdHRlcm4sIGNhc2VTZW5zaXRpdml0eSwgbXVsdGlsaW5lTW9kZSwgdW5p
Y29kZUNvZGVQb2ludE1vZGUpKTsKICAgICB9CiAKICAgICBpbnQgbGFzdE1hdGNoTGVuZ3RoIHsg
LTEgfTsKQEAgLTQ4LDEyICs0OCwxMiBAQCBjbGFzcyBSZWd1bGFyRXhwcmVzc2lvbjo6UHJpdmF0
ZSA6IHB1YmxpYyBSZWZDb3VudGVkPFJlZ3VsYXJFeHByZXNzaW9uOjpQcml2YXRlPgogICAgIHN0
ZDo6dW5pcXVlX3B0cjxKU0M6OllhcnI6OkJ5dGVjb2RlUGF0dGVybj4gbV9yZWdFeHBCeXRlQ29k
ZTsKIAogcHJpdmF0ZToKLSAgICBQcml2YXRlKGNvbnN0IFN0cmluZyYgcGF0dGVybiwgVGV4dENh
c2VTZW5zaXRpdml0eSBjYXNlU2Vuc2l0aXZpdHksIE11bHRpbGluZU1vZGUgbXVsdGlsaW5lTW9k
ZSkKLSAgICAgICAgOiBtX3JlZ0V4cEJ5dGVDb2RlKGNvbXBpbGUocGF0dGVybiwgY2FzZVNlbnNp
dGl2aXR5LCBtdWx0aWxpbmVNb2RlKSkKKyAgICBQcml2YXRlKGNvbnN0IFN0cmluZyYgcGF0dGVy
biwgVGV4dENhc2VTZW5zaXRpdml0eSBjYXNlU2Vuc2l0aXZpdHksIE11bHRpbGluZU1vZGUgbXVs
dGlsaW5lTW9kZSwgVW5pY29kZUNvZGVQb2ludE1vZGUgdW5pY29kZUNvZGVQb2ludE1vZGUpCisg
ICAgICAgIDogbV9yZWdFeHBCeXRlQ29kZShjb21waWxlKHBhdHRlcm4sIGNhc2VTZW5zaXRpdml0
eSwgbXVsdGlsaW5lTW9kZSwgdW5pY29kZUNvZGVQb2ludE1vZGUpKQogICAgIHsKICAgICB9CiAK
LSAgICBzdGQ6OnVuaXF1ZV9wdHI8SlNDOjpZYXJyOjpCeXRlY29kZVBhdHRlcm4+IGNvbXBpbGUo
Y29uc3QgU3RyaW5nJiBwYXR0ZXJuU3RyaW5nLCBUZXh0Q2FzZVNlbnNpdGl2aXR5IGNhc2VTZW5z
aXRpdml0eSwgTXVsdGlsaW5lTW9kZSBtdWx0aWxpbmVNb2RlKQorICAgIHN0ZDo6dW5pcXVlX3B0
cjxKU0M6OllhcnI6OkJ5dGVjb2RlUGF0dGVybj4gY29tcGlsZShjb25zdCBTdHJpbmcmIHBhdHRl
cm5TdHJpbmcsIFRleHRDYXNlU2Vuc2l0aXZpdHkgY2FzZVNlbnNpdGl2aXR5LCBNdWx0aWxpbmVN
b2RlIG11bHRpbGluZU1vZGUsIFVuaWNvZGVDb2RlUG9pbnRNb2RlIHVuaWNvZGVDb2RlUG9pbnRN
b2RlKQogICAgIHsKICAgICAgICAgUmVnRXhwRmxhZ3MgZmxhZ3MgPSBOb0ZsYWdzOwogCkBAIC02
Myw2ICs2Myw5IEBAIGNsYXNzIFJlZ3VsYXJFeHByZXNzaW9uOjpQcml2YXRlIDogcHVibGljIFJl
ZkNvdW50ZWQ8UmVndWxhckV4cHJlc3Npb246OlByaXZhdGU+CiAgICAgICAgIGlmIChtdWx0aWxp
bmVNb2RlID09IE11bHRpbGluZUVuYWJsZWQpCiAgICAgICAgICAgICBmbGFncyA9IHN0YXRpY19j
YXN0PFJlZ0V4cEZsYWdzPihmbGFncyB8IEZsYWdNdWx0aWxpbmUpOwogCisgICAgICAgIGlmICh1
bmljb2RlQ29kZVBvaW50TW9kZSA9PSBVbmljb2RlQ29kZVBvaW50QXdhcmUpCisgICAgICAgICAg
ICBmbGFncyA9IHN0YXRpY19jYXN0PFJlZ0V4cEZsYWdzPihmbGFncyB8IEZsYWdVbmljb2RlKTsK
KwogICAgICAgICBKU0M6OllhcnI6OllhcnJQYXR0ZXJuIHBhdHRlcm4ocGF0dGVyblN0cmluZywg
ZmxhZ3MsIG1fY29uc3RydWN0aW9uRXJyb3JDb2RlKTsKICAgICAgICAgaWYgKEpTQzo6WWFycjo6
aGFzRXJyb3IobV9jb25zdHJ1Y3Rpb25FcnJvckNvZGUpKSB7CiAgICAgICAgICAgICBMT0dfRVJS
T1IoIlJlZ3VsYXJFeHByZXNzaW9uOiBZQVJSIGNvbXBpbGUgZmFpbGVkIHdpdGggJyVzJyIsIEpT
Qzo6WWFycjo6ZXJyb3JNZXNzYWdlKG1fY29uc3RydWN0aW9uRXJyb3JDb2RlKSk7CkBAIC03OCw4
ICs4MSw4IEBAIGNsYXNzIFJlZ3VsYXJFeHByZXNzaW9uOjpQcml2YXRlIDogcHVibGljIFJlZkNv
dW50ZWQ8UmVndWxhckV4cHJlc3Npb246OlByaXZhdGU+CiAgICAgSlNDOjpZYXJyOjpFcnJvckNv
ZGUgbV9jb25zdHJ1Y3Rpb25FcnJvckNvZGUgeyBZYXJyOjpFcnJvckNvZGU6Ok5vRXJyb3IgfTsK
IH07CiAKLVJlZ3VsYXJFeHByZXNzaW9uOjpSZWd1bGFyRXhwcmVzc2lvbihjb25zdCBTdHJpbmcm
IHBhdHRlcm4sIFRleHRDYXNlU2Vuc2l0aXZpdHkgY2FzZVNlbnNpdGl2aXR5LCBNdWx0aWxpbmVN
b2RlIG11bHRpbGluZU1vZGUpCi0gICAgOiBkKFByaXZhdGU6OmNyZWF0ZShwYXR0ZXJuLCBjYXNl
U2Vuc2l0aXZpdHksIG11bHRpbGluZU1vZGUpKQorUmVndWxhckV4cHJlc3Npb246OlJlZ3VsYXJF
eHByZXNzaW9uKGNvbnN0IFN0cmluZyYgcGF0dGVybiwgVGV4dENhc2VTZW5zaXRpdml0eSBjYXNl
U2Vuc2l0aXZpdHksIE11bHRpbGluZU1vZGUgbXVsdGlsaW5lTW9kZSwgVW5pY29kZUNvZGVQb2lu
dE1vZGUgdW5pY29kZUNvZGVQb2ludE1vZGUpCisgICAgOiBkKFByaXZhdGU6OmNyZWF0ZShwYXR0
ZXJuLCBjYXNlU2Vuc2l0aXZpdHksIG11bHRpbGluZU1vZGUsIHVuaWNvZGVDb2RlUG9pbnRNb2Rl
KSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVndWxh
ckV4cHJlc3Npb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ3VsYXJFeHByZXNz
aW9uLmgKaW5kZXggMjA3MzkwYjVlOWU3MWFhNjZhODJlYTQ1MTYzMWIxZWM0NDg1Y2IwYy4uMWVk
NDM4NWI2YjJjOTgzOTRkMmFmMTQxODJiMTNmZWFlZmJhZDljZSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3lhcnIvUmVndWxhckV4cHJlc3Npb24uaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUveWFyci9SZWd1bGFyRXhwcmVzc2lvbi5oCkBAIC0zMSwxMSArMzEsMTIgQEAg
bmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBZYXJyIHsKIAogZW51bSBNdWx0aWxpbmVNb2RlIHsg
TXVsdGlsaW5lRGlzYWJsZWQsIE11bHRpbGluZUVuYWJsZWQgfTsKIGVudW0gVGV4dENhc2VTZW5z
aXRpdml0eSB7IFRleHRDYXNlU2Vuc2l0aXZlLCBUZXh0Q2FzZUluc2Vuc2l0aXZlIH07CitlbnVt
IFVuaWNvZGVDb2RlUG9pbnRNb2RlIHsgVW5pY29kZUNvZGVQb2ludFVuYXdhcmUsIFVuaWNvZGVD
b2RlUG9pbnRBd2FyZSB9OwogCiBjbGFzcyBKU19FWFBPUlRfUFJJVkFURSBSZWd1bGFyRXhwcmVz
c2lvbiB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgZXhwbGlj
aXQgUmVndWxhckV4cHJlc3Npb24oY29uc3QgU3RyaW5nJiwgVGV4dENhc2VTZW5zaXRpdml0eSA9
IFRleHRDYXNlU2Vuc2l0aXZlLCBNdWx0aWxpbmVNb2RlID0gTXVsdGlsaW5lRGlzYWJsZWQpOwor
ICAgIGV4cGxpY2l0IFJlZ3VsYXJFeHByZXNzaW9uKGNvbnN0IFN0cmluZyYsIFRleHRDYXNlU2Vu
c2l0aXZpdHkgPSBUZXh0Q2FzZVNlbnNpdGl2ZSwgTXVsdGlsaW5lTW9kZSA9IE11bHRpbGluZURp
c2FibGVkLCBVbmljb2RlQ29kZVBvaW50TW9kZSA9IFVuaWNvZGVDb2RlUG9pbnRVbmF3YXJlKTsK
ICAgICB+UmVndWxhckV4cHJlc3Npb24oKTsKIAogICAgIFJlZ3VsYXJFeHByZXNzaW9uKGNvbnN0
IFJlZ3VsYXJFeHByZXNzaW9uJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jh
c2VUZXh0SW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZVRleHRJbnB1dFR5
cGUuY3BwCmluZGV4IGZmNmQ2M2EwNWY3YjRiY2ZlMGJiYTI0MTk1MDI0MTYyYWM1MGFjNmYuLmNm
ODMzYTBkZGU3YzBkYjY5MjA2YWY1YWU2NGM1NDJhYmI4NDU4MDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvQmFzZVRleHRJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvQmFzZVRleHRJbnB1dFR5cGUuY3BwCkBAIC0zOSwxMyArMzksMTUgQEAgYm9vbCBCYXNl
VGV4dElucHV0VHlwZTo6aXNUZXh0VHlwZSgpIGNvbnN0CiAKIGJvb2wgQmFzZVRleHRJbnB1dFR5
cGU6OnBhdHRlcm5NaXNtYXRjaChjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdAogeworICAgIC8v
IEZJWE1FOiBXZSBzaG91bGQgZXhlY3V0ZSBSZWdFeHAgcGFyc2VyIGZpcnN0IHRvIGNoZWNrIHZh
bGlkaXR5IGluc3RlYWQgb2YgY3JlYXRpbmcgYW4gYWN0dWFsIFJlZ3VsYXJFeHByZXNzaW9uLgor
ICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODMzNjEKICAg
ICBjb25zdCBBdG9taWNTdHJpbmcmIHJhd1BhdHRlcm4gPSBlbGVtZW50KCkuYXR0cmlidXRlV2l0
aG91dFN5bmNocm9uaXphdGlvbihwYXR0ZXJuQXR0cik7Ci0gICAgaWYgKHJhd1BhdHRlcm4uaXNO
dWxsKCkgfHwgdmFsdWUuaXNFbXB0eSgpIHx8ICFKU0M6OllhcnI6OlJlZ3VsYXJFeHByZXNzaW9u
KHJhd1BhdHRlcm4pLmlzVmFsaWQoKSkKKyAgICBpZiAocmF3UGF0dGVybi5pc051bGwoKSB8fCB2
YWx1ZS5pc0VtcHR5KCkgfHwgIUpTQzo6WWFycjo6UmVndWxhckV4cHJlc3Npb24ocmF3UGF0dGVy
biwgSlNDOjpZYXJyOjpUZXh0Q2FzZVNlbnNpdGl2ZSwgSlNDOjpZYXJyOjpNdWx0aWxpbmVEaXNh
YmxlZCwgSlNDOjpZYXJyOjpVbmljb2RlQ29kZVBvaW50QXdhcmUpLmlzVmFsaWQoKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIFN0cmluZyBwYXR0ZXJuID0gIl4oPzoiICsgcmF3UGF0dGVy
biArICIpJCI7CiAgICAgaW50IG1hdGNoTGVuZ3RoID0gMDsKICAgICBpbnQgdmFsdWVMZW5ndGgg
PSB2YWx1ZS5sZW5ndGgoKTsKLSAgICBpbnQgbWF0Y2hPZmZzZXQgPSBKU0M6OllhcnI6OlJlZ3Vs
YXJFeHByZXNzaW9uKHBhdHRlcm4pLm1hdGNoKHZhbHVlLCAwLCAmbWF0Y2hMZW5ndGgpOworICAg
IGludCBtYXRjaE9mZnNldCA9IEpTQzo6WWFycjo6UmVndWxhckV4cHJlc3Npb24ocGF0dGVybiwg
SlNDOjpZYXJyOjpUZXh0Q2FzZVNlbnNpdGl2ZSwgSlNDOjpZYXJyOjpNdWx0aWxpbmVEaXNhYmxl
ZCwgSlNDOjpZYXJyOjpVbmljb2RlQ29kZVBvaW50QXdhcmUpLm1hdGNoKHZhbHVlLCAwLCAmbWF0
Y2hMZW5ndGgpOwogICAgIHJldHVybiBtYXRjaE9mZnNldCB8fCBtYXRjaExlbmd0aCAhPSB2YWx1
ZUxlbmd0aDsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDU5ZTViNzVhMmExZGIyZDFjODUyMGZmNDhhNjhkMmFkZjYw
ODkwM2UuLjJmN2EyZTY2ZTM5NzBmM2ZmOGI5YWI4OGM1MWRkOWZkN2RmMjdhYmEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMyBAQAorMjAxOC0wMy0wNiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdt
YWlsLmNvbT4KKworICAgICAgICBIVE1MIGBwYXR0ZXJuYCBhdHRyaWJ1dGUgc2hvdWxkIHNldCBg
dWAgZmxhZyBmb3IgcmVndWxhciBleHByZXNzaW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxNTk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtcGF0dGVy
bk1pc21hdGNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3Rh
dGUtcGF0dGVybk1pc21hdGNoLmh0bWw6CisKIDIwMTgtMDMtMDYgIE5hbiBXYW5nICA8bl93YW5n
QGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogQU9NOiBNb3JlIGFjY2Vzc2liaWxpdHkgZXZlbnRz
IHN1cHBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0
ZS1wYXR0ZXJuTWlzbWF0Y2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9W
YWxpZGl0eVN0YXRlLXBhdHRlcm5NaXNtYXRjaC1leHBlY3RlZC50eHQKaW5kZXggZWY1MjNiN2U2
Y2Y3NTYzNGZiZmQ2Y2YyY2YzY2Y1Y2YyMmI4NGQ2Ni4uODRiNDcwNTllYTEzY2M5MWYzOTE3NWZm
MGFiNjFjNzE3NzEzOTRiNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxp
ZGl0eVN0YXRlLXBhdHRlcm5NaXNtYXRjaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXBhdHRlcm5NaXNtYXRjaC1leHBlY3RlZC50eHQKQEAg
LTI4LDYgKzI4LDggQEAgUEFTUyBwYXR0ZXJuTWlzbWF0Y2hGb3IoIm1hdGNoLTE3IikgaXMgZmFs
c2UKIFBBU1MgcGF0dGVybk1pc21hdGNoRm9yKCJtYXRjaC0xOCIpIGlzIGZhbHNlCiBQQVNTIHBh
dHRlcm5NaXNtYXRjaEZvcigibWF0Y2gtMTkiKSBpcyBmYWxzZQogUEFTUyBwYXR0ZXJuTWlzbWF0
Y2hGb3IoIm1hdGNoLTIwIikgaXMgZmFsc2UKK1BBU1MgcGF0dGVybk1pc21hdGNoRm9yKCJtYXRj
aC0yMSIpIGlzIGZhbHNlCitQQVNTIHBhdHRlcm5NaXNtYXRjaEZvcigibWF0Y2gtMjIiKSBpcyBm
YWxzZQogUEFTUyBwYXR0ZXJuTWlzbWF0Y2hGb3IoIndyb25nLWdyYXktb3ItZ3JleSIpIGlzIHRy
dWUKIFBBU1MgcGF0dGVybk1pc21hdGNoRm9yKCJncmF5IikgaXMgZmFsc2UKIFBBU1MgcGF0dGVy
bk1pc21hdGNoRm9yKCJncmV5IikgaXMgZmFsc2UKQEAgLTUzLDYgKzU1LDcgQEAgUEFTUyBwYXR0
ZXJuTWlzbWF0Y2hGb3IoIm1pc21hdGNoLTE4IikgaXMgdHJ1ZQogUEFTUyBwYXR0ZXJuTWlzbWF0
Y2hGb3IoIm1pc21hdGNoLTE5IikgaXMgdHJ1ZQogUEFTUyBwYXR0ZXJuTWlzbWF0Y2hGb3IoIm1p
c21hdGNoLTIwIikgaXMgdHJ1ZQogUEFTUyBwYXR0ZXJuTWlzbWF0Y2hGb3IoIm1pc21hdGNoLTIx
IikgaXMgdHJ1ZQorUEFTUyBwYXR0ZXJuTWlzbWF0Y2hGb3IoIm1pc21hdGNoLTIyIikgaXMgdHJ1
ZQogUEFTUyBwYXR0ZXJuTWlzbWF0Y2hGb3IoImVtcHR5LXBhdHRlcm4tbWF0Y2giKSBpcyBmYWxz
ZQogUEFTUyBwYXR0ZXJuTWlzbWF0Y2hGb3IoImVtcHR5LXBhdHRlcm4tbWlzbWF0Y2giKSBpcyB0
cnVlCiBQQVNTIHBhdHRlcm5NaXNtYXRjaEZvcigiaW52YWxpZC0wMSIpIGlzIGZhbHNlCkBAIC02
MSw2ICs2NCw3IEBAIFBBU1MgcGF0dGVybk1pc21hdGNoRm9yKCJpbnZhbGlkLTAzIikgaXMgZmFs
c2UKIFBBU1MgcGF0dGVybk1pc21hdGNoRm9yKCJpbnZhbGlkLTA0IikgaXMgZmFsc2UKIFBBU1Mg
cGF0dGVybk1pc21hdGNoRm9yKCJpbnZhbGlkLTA1IikgaXMgZmFsc2UKIFBBU1MgcGF0dGVybk1p
c21hdGNoRm9yKCJpbnZhbGlkLTA2IikgaXMgZmFsc2UKK1BBU1MgcGF0dGVybk1pc21hdGNoRm9y
KCJpbnZhbGlkLTA3IikgaXMgZmFsc2UKIFBBU1MgcGF0dGVybk1pc21hdGNoRm9yKCJkaXNhYmxl
ZCIpIGlzIGZhbHNlCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS1wYXR0ZXJuTWlzbWF0Y2gu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS1wYXR0ZXJuTWlzbWF0
Y2guaHRtbAppbmRleCAxNTllZDlkNzg5NGYwMTYxZjUzY2M3NWJiY2U0MmNiMGVkNGY2NDIwLi40
MDg0MjBkYzcyMTkzYzQ0MjJjNjBiYmI2NjBiMDZiZjQ0MDQ4OTJhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtcGF0dGVybk1pc21hdGNoLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXBhdHRlcm5NaXNtYXRjaC5o
dG1sCkBAIC0zMiw2ICszMiw4IEBACiA8aW5wdXQgaWQ9Im1hdGNoLTE4IiB0eXBlPSJ0ZXh0IiBw
YXR0ZXJuPSJbMC05XXwxMHwxMXwxMiIgdmFsdWU9IjEwIiAvPgogPGlucHV0IGlkPSJtYXRjaC0x
OSIgdHlwZT0idGV4dCIgcGF0dGVybj0iMTB8MTF8MTJ8WzAtOV0iIHZhbHVlPSIxMiIgLz4KIDxp
bnB1dCBpZD0ibWF0Y2gtMjAiIHR5cGU9InRleHQiIHBhdHRlcm49ImYob3xlKVwxIiB2YWx1ZT0i
Zm9vIiAvPgorPGlucHV0IGlkPSJtYXRjaC0yMSIgdHlwZT0idGV4dCIgcGF0dGVybj0iYS5iIiB2
YWx1ZT0iYSYjeDFEMzA2O2IiIC8+Cis8aW5wdXQgaWQ9Im1hdGNoLTIyIiB0eXBlPSJ0ZXh0IiBw
YXR0ZXJuPSJhLi5iIiB2YWx1ZT0iYSYjeDFEMzA2O2IiIC8+CiA8aW5wdXQgaWQ9ImVtcHR5LXBh
dHRlcm4tbWF0Y2giIHR5cGU9InRleHQiIHBhdHRlcm49IiIgdmFsdWU9IiIgLz4KIDxpbnB1dCBp
ZD0id3JvbmctZ3JheS1vci1ncmV5IiB0eXBlPSJ0ZXh0IiBwYXR0ZXJuPSJnclthZV15IiB2YWx1
ZT0iV3JvbmchIgogLz48aW5wdXQgaWQ9ImdyYXkiIHR5cGU9InRleHQiIHBhdHRlcm49ImdyW2Fl
XXkiIHZhbHVlPSJncmF5IgpAQCAtNTcsNyArNTksOCBAQAogLz48aW5wdXQgaWQ9Im1pc21hdGNo
LTE4IiB0eXBlPSJ0ZXh0IiBwYXR0ZXJuPSJmb29cXCIgdmFsdWU9ImZvb2QiCiAvPjxpbnB1dCBp
ZD0ibWlzbWF0Y2gtMTkiIHR5cGU9InRleHQiIHBhdHRlcm49Il4iIHZhbHVlPSJ3cm9uZyIKIC8+
PGlucHV0IGlkPSJtaXNtYXRjaC0yMCIgdHlwZT0idGV4dCIgcGF0dGVybj0iJCIgdmFsdWU9Indy
b25nIgotLz48aW5wdXQgaWQ9Im1pc21hdGNoLTIxIiB0eXBlPSJ0ZXh0IiBwYXR0ZXJuPSJmKG98
ZSlcMSIgdmFsdWU9ImZvZSIvPgorLz48aW5wdXQgaWQ9Im1pc21hdGNoLTIxIiB0eXBlPSJ0ZXh0
IiBwYXR0ZXJuPSJmKG98ZSlcMSIgdmFsdWU9ImZvZSIKKy8+PGlucHV0IGlkPSJtaXNtYXRjaC0y
MiIgdHlwZT0idGV4dCIgcGF0dGVybj0iYS4uLmIiIHZhbHVlPSJhJiN4MUQzMDY7YiIgLz4KIAog
PGlucHV0IGlkPSJpbnZhbGlkLTAxIiB0eXBlPSJ0ZXh0IiBwYXR0ZXJuPSIpZm9vKCIgdmFsdWU9
ImZvbyIvPgogPGlucHV0IGlkPSJpbnZhbGlkLTAyIiB0eXBlPSJ0ZXh0IiBwYXR0ZXJuPSIpZm9v
KCIgdmFsdWU9ImZvb2JhciIvPgpAQCAtNjUsNiArNjgsNyBAQAogPGlucHV0IGlkPSJpbnZhbGlk
LTA0IiB0eXBlPSJ0ZXh0IiBwYXR0ZXJuPSJmb29cIiB2YWx1ZT0iZm9vXCIvPgogPGlucHV0IGlk
PSJpbnZhbGlkLTA1IiB0eXBlPSJ0ZXh0IiBwYXR0ZXJuPSJbMC05IiB2YWx1ZT0iMSIvPgogPGlu
cHV0IGlkPSJpbnZhbGlkLTA2IiB0eXBlPSJ0ZXh0IiBwYXR0ZXJuPSJbMC05IiB2YWx1ZT0iYSIv
PgorPGlucHV0IGlkPSJpbnZhbGlkLTA3IiB0eXBlPSJ0ZXh0IiBwYXR0ZXJuPSJmb29cJ2JhciIg
dmFsdWU9ImEiLz4KIAogPGlucHV0IGlkPSJlbXB0eS1wYXR0ZXJuLW1pc21hdGNoIiB0eXBlPSJ0
ZXh0IiBwYXR0ZXJuPSIiIHZhbHVlPSJMb3JlbSBJcHN1bSIKIC8+PGlucHV0IGlkPSJkaXNhYmxl
ZCIgcGF0dGVybj0iWzAtOV1bQS1aXXszfSIgdmFsdWU9IjAwQUEiIGRpc2FibGVkIC8+PC9kaXY+
CkBAIC0xMDEsNiArMTA1LDggQEAKIHNob3VsZEJlRmFsc2UoJ3BhdHRlcm5NaXNtYXRjaEZvcigi
bWF0Y2gtMTgiKScpOwogc2hvdWxkQmVGYWxzZSgncGF0dGVybk1pc21hdGNoRm9yKCJtYXRjaC0x
OSIpJyk7CiBzaG91bGRCZUZhbHNlKCdwYXR0ZXJuTWlzbWF0Y2hGb3IoIm1hdGNoLTIwIiknKTsK
K3Nob3VsZEJlRmFsc2UoJ3BhdHRlcm5NaXNtYXRjaEZvcigibWF0Y2gtMjEiKScpOworc2hvdWxk
QmVGYWxzZSgncGF0dGVybk1pc21hdGNoRm9yKCJtYXRjaC0yMiIpJyk7CiAKIHNob3VsZEJlVHJ1
ZSgncGF0dGVybk1pc21hdGNoRm9yKCJ3cm9uZy1ncmF5LW9yLWdyZXkiKScpOwogc2hvdWxkQmVG
YWxzZSgncGF0dGVybk1pc21hdGNoRm9yKCJncmF5IiknKTsKQEAgLTEyOCw2ICsxMzQsNyBAQAog
c2hvdWxkQmVUcnVlKCdwYXR0ZXJuTWlzbWF0Y2hGb3IoIm1pc21hdGNoLTE5IiknKTsKIHNob3Vs
ZEJlVHJ1ZSgncGF0dGVybk1pc21hdGNoRm9yKCJtaXNtYXRjaC0yMCIpJyk7CiBzaG91bGRCZVRy
dWUoJ3BhdHRlcm5NaXNtYXRjaEZvcigibWlzbWF0Y2gtMjEiKScpOworc2hvdWxkQmVUcnVlKCdw
YXR0ZXJuTWlzbWF0Y2hGb3IoIm1pc21hdGNoLTIyIiknKTsKIAogc2hvdWxkQmVGYWxzZSgncGF0
dGVybk1pc21hdGNoRm9yKCJlbXB0eS1wYXR0ZXJuLW1hdGNoIiknKTsKIHNob3VsZEJlVHJ1ZSgn
cGF0dGVybk1pc21hdGNoRm9yKCJlbXB0eS1wYXR0ZXJuLW1pc21hdGNoIiknKTsKQEAgLTEzOCw2
ICsxNDUsNyBAQAogc2hvdWxkQmVGYWxzZSgncGF0dGVybk1pc21hdGNoRm9yKCJpbnZhbGlkLTA0
IiknKTsKIHNob3VsZEJlRmFsc2UoJ3BhdHRlcm5NaXNtYXRjaEZvcigiaW52YWxpZC0wNSIpJyk7
CiBzaG91bGRCZUZhbHNlKCdwYXR0ZXJuTWlzbWF0Y2hGb3IoImludmFsaWQtMDYiKScpOworc2hv
dWxkQmVGYWxzZSgncGF0dGVybk1pc21hdGNoRm9yKCJpbnZhbGlkLTA3IiknKTsKIAogc2hvdWxk
QmVGYWxzZSgncGF0dGVybk1pc21hdGNoRm9yKCJkaXNhYmxlZCIpJyk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335092</attachid>
            <date>2018-03-06 06:39:41 -0800</date>
            <delta_ts>2018-03-07 06:50:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151598-20180306233940.patch</filename>
            <type>text/plain</type>
            <size>12711</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5MzEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
MGM5NjUwNDE1YjRmYjk3OThmYWQ3ZTBiNWY3NTIwMzZmN2ExYzVhLi41ZTQyNTZjNzMzOGE3ZDI3
ZGY5ZDVhMGUzMmM5NGQ0YzNhZGY0M2QwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxOC0wMy0wNiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBIVE1MIGBwYXR0ZXJuYCBhdHRyaWJ1dGUgc2hvdWxkIHNldCBgdWAg
ZmxhZyBmb3IgcmVndWxhciBleHByZXNzaW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxNTk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIFVuaWNvZGVNb2RlIGZvciBKU0M6OllhcnI6OlJlZ3Vs
YXJFeHByZXNzaW9uLgorCisgICAgICAgICogeWFyci9SZWd1bGFyRXhwcmVzc2lvbi5jcHA6Cisg
ICAgICAgIChKU0M6OllhcnI6OlJlZ3VsYXJFeHByZXNzaW9uOjpQcml2YXRlOjpjcmVhdGUpOgor
ICAgICAgICAoSlNDOjpZYXJyOjpSZWd1bGFyRXhwcmVzc2lvbjo6UHJpdmF0ZTo6UHJpdmF0ZSk6
CisgICAgICAgIChKU0M6OllhcnI6OlJlZ3VsYXJFeHByZXNzaW9uOjpQcml2YXRlOjpjb21waWxl
KToKKyAgICAgICAgKEpTQzo6WWFycjo6UmVndWxhckV4cHJlc3Npb246OlJlZ3VsYXJFeHByZXNz
aW9uKToKKyAgICAgICAgKiB5YXJyL1JlZ3VsYXJFeHByZXNzaW9uLmg6CisKIDIwMTgtMDMtMDUg
IFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgRml4IHN0
ZDo6bWFrZV91bmlxdWUgLyBuZXdbXSB1c2luZyBzeXN0ZW0gbWFsbG9jCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZmQzZTA4MGNkMjNjMjhjNDQwZjBmNTU4ZDQ3NTQxZTAxY2ZjMzA4My4uM2Q2ZTJiZTA4NTRiNDZm
MWE5NGQ1OTdmYWQwYTE1Zjc4MDE0NzhhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisy
MDE4LTAzLTA2ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAg
ICAgIEhUTUwgYHBhdHRlcm5gIGF0dHJpYnV0ZSBzaG91bGQgc2V0IGB1YCBmbGFnIGZvciByZWd1
bGFyIGV4cHJlc3Npb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTE1OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUaGlzIHBhdGNoIGF0dGFjaGVzICJ1IiBmbGFnIHRvIHRoZSBSZWdFeHAgY29tcGls
ZWQgZm9yIEhUTUwgInBhdHRlcm4iIGF0dHJpYnV0ZVsxXS4KKworICAgICAgICBbMV06IGh0dHBz
Oi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2Zvcm1zLmh0bWwjdGhlLXBhdHRlcm4t
YXR0cmlidXRlCisKKyAgICAgICAgKiBodG1sL0Jhc2VUZXh0SW5wdXRUeXBlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkJhc2VUZXh0SW5wdXRUeXBlOjpwYXR0ZXJuTWlzbWF0Y2ggY29uc3QpOgor
CiAyMDE4LTAzLTA2ICBOYW4gV2FuZyAgPG5fd2FuZ0BhcHBsZS5jb20+CiAKICAgICAgICAgQVg6
IEFPTTogTW9yZSBhY2Nlc3NpYmlsaXR5IGV2ZW50cyBzdXBwb3J0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUveWFyci9SZWd1bGFyRXhwcmVzc2lvbi5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUveWFyci9SZWd1bGFyRXhwcmVzc2lvbi5jcHAKaW5kZXggYzJjMDQ3MGE5NGIx
OTYyYmY0OGY0ZDY5NWUxNzBlOWM0MWE5NjdhNC4uMWRjZWRlNmE0NDg5ODIzNDkyY2U2MjY0ZWFi
NzUzZGYyY2ZjY2M2ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVn
dWxhckV4cHJlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ3Vs
YXJFeHByZXNzaW9uLmNwcApAQCAtMzcsOSArMzcsOSBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNw
YWNlIFlhcnIgewogCiBjbGFzcyBSZWd1bGFyRXhwcmVzc2lvbjo6UHJpdmF0ZSA6IHB1YmxpYyBS
ZWZDb3VudGVkPFJlZ3VsYXJFeHByZXNzaW9uOjpQcml2YXRlPiB7CiBwdWJsaWM6Ci0gICAgc3Rh
dGljIFJlZjxQcml2YXRlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBwYXR0ZXJuLCBUZXh0Q2FzZVNl
bnNpdGl2aXR5IGNhc2VTZW5zaXRpdml0eSwgTXVsdGlsaW5lTW9kZSBtdWx0aWxpbmVNb2RlKQor
ICAgIHN0YXRpYyBSZWY8UHJpdmF0ZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgcGF0dGVybiwgVGV4
dENhc2VTZW5zaXRpdml0eSBjYXNlU2Vuc2l0aXZpdHksIE11bHRpbGluZU1vZGUgbXVsdGlsaW5l
TW9kZSwgVW5pY29kZU1vZGUgdW5pY29kZU1vZGUpCiAgICAgewotICAgICAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBQcml2YXRlKHBhdHRlcm4sIGNhc2VTZW5zaXRpdml0eSwgbXVsdGlsaW5lTW9k
ZSkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQcml2YXRlKHBhdHRlcm4sIGNhc2VT
ZW5zaXRpdml0eSwgbXVsdGlsaW5lTW9kZSwgdW5pY29kZU1vZGUpKTsKICAgICB9CiAKICAgICBp
bnQgbGFzdE1hdGNoTGVuZ3RoIHsgLTEgfTsKQEAgLTQ4LDEyICs0OCwxMiBAQCBjbGFzcyBSZWd1
bGFyRXhwcmVzc2lvbjo6UHJpdmF0ZSA6IHB1YmxpYyBSZWZDb3VudGVkPFJlZ3VsYXJFeHByZXNz
aW9uOjpQcml2YXRlPgogICAgIHN0ZDo6dW5pcXVlX3B0cjxKU0M6OllhcnI6OkJ5dGVjb2RlUGF0
dGVybj4gbV9yZWdFeHBCeXRlQ29kZTsKIAogcHJpdmF0ZToKLSAgICBQcml2YXRlKGNvbnN0IFN0
cmluZyYgcGF0dGVybiwgVGV4dENhc2VTZW5zaXRpdml0eSBjYXNlU2Vuc2l0aXZpdHksIE11bHRp
bGluZU1vZGUgbXVsdGlsaW5lTW9kZSkKLSAgICAgICAgOiBtX3JlZ0V4cEJ5dGVDb2RlKGNvbXBp
bGUocGF0dGVybiwgY2FzZVNlbnNpdGl2aXR5LCBtdWx0aWxpbmVNb2RlKSkKKyAgICBQcml2YXRl
KGNvbnN0IFN0cmluZyYgcGF0dGVybiwgVGV4dENhc2VTZW5zaXRpdml0eSBjYXNlU2Vuc2l0aXZp
dHksIE11bHRpbGluZU1vZGUgbXVsdGlsaW5lTW9kZSwgVW5pY29kZU1vZGUgdW5pY29kZU1vZGUp
CisgICAgICAgIDogbV9yZWdFeHBCeXRlQ29kZShjb21waWxlKHBhdHRlcm4sIGNhc2VTZW5zaXRp
dml0eSwgbXVsdGlsaW5lTW9kZSwgdW5pY29kZU1vZGUpKQogICAgIHsKICAgICB9CiAKLSAgICBz
dGQ6OnVuaXF1ZV9wdHI8SlNDOjpZYXJyOjpCeXRlY29kZVBhdHRlcm4+IGNvbXBpbGUoY29uc3Qg
U3RyaW5nJiBwYXR0ZXJuU3RyaW5nLCBUZXh0Q2FzZVNlbnNpdGl2aXR5IGNhc2VTZW5zaXRpdml0
eSwgTXVsdGlsaW5lTW9kZSBtdWx0aWxpbmVNb2RlKQorICAgIHN0ZDo6dW5pcXVlX3B0cjxKU0M6
OllhcnI6OkJ5dGVjb2RlUGF0dGVybj4gY29tcGlsZShjb25zdCBTdHJpbmcmIHBhdHRlcm5TdHJp
bmcsIFRleHRDYXNlU2Vuc2l0aXZpdHkgY2FzZVNlbnNpdGl2aXR5LCBNdWx0aWxpbmVNb2RlIG11
bHRpbGluZU1vZGUsIFVuaWNvZGVNb2RlIHVuaWNvZGVNb2RlKQogICAgIHsKICAgICAgICAgUmVn
RXhwRmxhZ3MgZmxhZ3MgPSBOb0ZsYWdzOwogCkBAIC02Myw2ICs2Myw5IEBAIGNsYXNzIFJlZ3Vs
YXJFeHByZXNzaW9uOjpQcml2YXRlIDogcHVibGljIFJlZkNvdW50ZWQ8UmVndWxhckV4cHJlc3Np
b246OlByaXZhdGU+CiAgICAgICAgIGlmIChtdWx0aWxpbmVNb2RlID09IE11bHRpbGluZUVuYWJs
ZWQpCiAgICAgICAgICAgICBmbGFncyA9IHN0YXRpY19jYXN0PFJlZ0V4cEZsYWdzPihmbGFncyB8
IEZsYWdNdWx0aWxpbmUpOwogCisgICAgICAgIGlmICh1bmljb2RlTW9kZSA9PSBVbmljb2RlQXdh
cmVNb2RlKQorICAgICAgICAgICAgZmxhZ3MgPSBzdGF0aWNfY2FzdDxSZWdFeHBGbGFncz4oZmxh
Z3MgfCBGbGFnVW5pY29kZSk7CisKICAgICAgICAgSlNDOjpZYXJyOjpZYXJyUGF0dGVybiBwYXR0
ZXJuKHBhdHRlcm5TdHJpbmcsIGZsYWdzLCBtX2NvbnN0cnVjdGlvbkVycm9yQ29kZSk7CiAgICAg
ICAgIGlmIChKU0M6OllhcnI6Omhhc0Vycm9yKG1fY29uc3RydWN0aW9uRXJyb3JDb2RlKSkgewog
ICAgICAgICAgICAgTE9HX0VSUk9SKCJSZWd1bGFyRXhwcmVzc2lvbjogWUFSUiBjb21waWxlIGZh
aWxlZCB3aXRoICclcyciLCBKU0M6OllhcnI6OmVycm9yTWVzc2FnZShtX2NvbnN0cnVjdGlvbkVy
cm9yQ29kZSkpOwpAQCAtNzgsOCArODEsOCBAQCBjbGFzcyBSZWd1bGFyRXhwcmVzc2lvbjo6UHJp
dmF0ZSA6IHB1YmxpYyBSZWZDb3VudGVkPFJlZ3VsYXJFeHByZXNzaW9uOjpQcml2YXRlPgogICAg
IEpTQzo6WWFycjo6RXJyb3JDb2RlIG1fY29uc3RydWN0aW9uRXJyb3JDb2RlIHsgWWFycjo6RXJy
b3JDb2RlOjpOb0Vycm9yIH07CiB9OwogCi1SZWd1bGFyRXhwcmVzc2lvbjo6UmVndWxhckV4cHJl
c3Npb24oY29uc3QgU3RyaW5nJiBwYXR0ZXJuLCBUZXh0Q2FzZVNlbnNpdGl2aXR5IGNhc2VTZW5z
aXRpdml0eSwgTXVsdGlsaW5lTW9kZSBtdWx0aWxpbmVNb2RlKQotICAgIDogZChQcml2YXRlOjpj
cmVhdGUocGF0dGVybiwgY2FzZVNlbnNpdGl2aXR5LCBtdWx0aWxpbmVNb2RlKSkKK1JlZ3VsYXJF
eHByZXNzaW9uOjpSZWd1bGFyRXhwcmVzc2lvbihjb25zdCBTdHJpbmcmIHBhdHRlcm4sIFRleHRD
YXNlU2Vuc2l0aXZpdHkgY2FzZVNlbnNpdGl2aXR5LCBNdWx0aWxpbmVNb2RlIG11bHRpbGluZU1v
ZGUsIFVuaWNvZGVNb2RlIHVuaWNvZGVNb2RlKQorICAgIDogZChQcml2YXRlOjpjcmVhdGUocGF0
dGVybiwgY2FzZVNlbnNpdGl2aXR5LCBtdWx0aWxpbmVNb2RlLCB1bmljb2RlTW9kZSkpCiB7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ3VsYXJFeHByZXNz
aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9SZWd1bGFyRXhwcmVzc2lvbi5oCmlu
ZGV4IDIwNzM5MGI1ZTllNzFhYTY2YTgyZWE0NTE2MzFiMWVjNDQ4NWNiMGMuLjc0NzNiYWE4YzUx
MGI2MDFlZTQyYmIzNmJmYWE2NGNjZmMwNDFkMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS95YXJyL1JlZ3VsYXJFeHByZXNzaW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3lhcnIvUmVndWxhckV4cHJlc3Npb24uaApAQCAtMzEsMTEgKzMxLDEyIEBAIG5hbWVzcGFj
ZSBKU0MgeyBuYW1lc3BhY2UgWWFyciB7CiAKIGVudW0gTXVsdGlsaW5lTW9kZSB7IE11bHRpbGlu
ZURpc2FibGVkLCBNdWx0aWxpbmVFbmFibGVkIH07CiBlbnVtIFRleHRDYXNlU2Vuc2l0aXZpdHkg
eyBUZXh0Q2FzZVNlbnNpdGl2ZSwgVGV4dENhc2VJbnNlbnNpdGl2ZSB9OworZW51bSBVbmljb2Rl
TW9kZSB7IFVuaWNvZGVVbmF3YXJlTW9kZSwgVW5pY29kZUF3YXJlTW9kZSB9OwogCiBjbGFzcyBK
U19FWFBPUlRfUFJJVkFURSBSZWd1bGFyRXhwcmVzc2lvbiB7CiAgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgUmVndWxhckV4cHJlc3Npb24oY29uc3Qg
U3RyaW5nJiwgVGV4dENhc2VTZW5zaXRpdml0eSA9IFRleHRDYXNlU2Vuc2l0aXZlLCBNdWx0aWxp
bmVNb2RlID0gTXVsdGlsaW5lRGlzYWJsZWQpOworICAgIGV4cGxpY2l0IFJlZ3VsYXJFeHByZXNz
aW9uKGNvbnN0IFN0cmluZyYsIFRleHRDYXNlU2Vuc2l0aXZpdHkgPSBUZXh0Q2FzZVNlbnNpdGl2
ZSwgTXVsdGlsaW5lTW9kZSA9IE11bHRpbGluZURpc2FibGVkLCBVbmljb2RlTW9kZSA9IFVuaWNv
ZGVVbmF3YXJlTW9kZSk7CiAgICAgflJlZ3VsYXJFeHByZXNzaW9uKCk7CiAKICAgICBSZWd1bGFy
RXhwcmVzc2lvbihjb25zdCBSZWd1bGFyRXhwcmVzc2lvbiYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9CYXNlVGV4dElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0Jhc2VUZXh0SW5wdXRUeXBlLmNwcAppbmRleCBmZjZkNjNhMDVmN2I0YmNmZTBiYmEyNDE5NTAy
NDE2MmFjNTBhYzZmLi5lMjlkZGYyNWM4ZTM4NjhkNTAyNzk5ZTE5MWI1NmU1YjIwYjI4NzEyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VUZXh0SW5wdXRUeXBlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VUZXh0SW5wdXRUeXBlLmNwcApAQCAtMzksMTMgKzM5
LDE1IEBAIGJvb2wgQmFzZVRleHRJbnB1dFR5cGU6OmlzVGV4dFR5cGUoKSBjb25zdAogCiBib29s
IEJhc2VUZXh0SW5wdXRUeXBlOjpwYXR0ZXJuTWlzbWF0Y2goY29uc3QgU3RyaW5nJiB2YWx1ZSkg
Y29uc3QKIHsKKyAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGV4ZWN1dGUgUmVnRXhwIHBhcnNlciBm
aXJzdCB0byBjaGVjayB2YWxpZGl0eSBpbnN0ZWFkIG9mIGNyZWF0aW5nIGFuIGFjdHVhbCBSZWd1
bGFyRXhwcmVzc2lvbi4KKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTgzMzYxCiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiByYXdQYXR0ZXJuID0gZWxlbWVu
dCgpLmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24ocGF0dGVybkF0dHIpOwotICAgIGlm
IChyYXdQYXR0ZXJuLmlzTnVsbCgpIHx8IHZhbHVlLmlzRW1wdHkoKSB8fCAhSlNDOjpZYXJyOjpS
ZWd1bGFyRXhwcmVzc2lvbihyYXdQYXR0ZXJuKS5pc1ZhbGlkKCkpCisgICAgaWYgKHJhd1BhdHRl
cm4uaXNOdWxsKCkgfHwgdmFsdWUuaXNFbXB0eSgpIHx8ICFKU0M6OllhcnI6OlJlZ3VsYXJFeHBy
ZXNzaW9uKHJhd1BhdHRlcm4sIEpTQzo6WWFycjo6VGV4dENhc2VTZW5zaXRpdmUsIEpTQzo6WWFy
cjo6TXVsdGlsaW5lRGlzYWJsZWQsIEpTQzo6WWFycjo6VW5pY29kZUF3YXJlTW9kZSkuaXNWYWxp
ZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgU3RyaW5nIHBhdHRlcm4gPSAiXig/OiIg
KyByYXdQYXR0ZXJuICsgIikkIjsKICAgICBpbnQgbWF0Y2hMZW5ndGggPSAwOwogICAgIGludCB2
YWx1ZUxlbmd0aCA9IHZhbHVlLmxlbmd0aCgpOwotICAgIGludCBtYXRjaE9mZnNldCA9IEpTQzo6
WWFycjo6UmVndWxhckV4cHJlc3Npb24ocGF0dGVybikubWF0Y2godmFsdWUsIDAsICZtYXRjaExl
bmd0aCk7CisgICAgaW50IG1hdGNoT2Zmc2V0ID0gSlNDOjpZYXJyOjpSZWd1bGFyRXhwcmVzc2lv
bihwYXR0ZXJuLCBKU0M6OllhcnI6OlRleHRDYXNlU2Vuc2l0aXZlLCBKU0M6OllhcnI6Ok11bHRp
bGluZURpc2FibGVkLCBKU0M6OllhcnI6OlVuaWNvZGVBd2FyZU1vZGUpLm1hdGNoKHZhbHVlLCAw
LCAmbWF0Y2hMZW5ndGgpOwogICAgIHJldHVybiBtYXRjaE9mZnNldCB8fCBtYXRjaExlbmd0aCAh
PSB2YWx1ZUxlbmd0aDsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDU5ZTViNzVhMmExZGIyZDFjODUyMGZmNDhhNjhk
MmFkZjYwODkwM2UuLjJmN2EyZTY2ZTM5NzBmM2ZmOGI5YWI4OGM1MWRkOWZkN2RmMjdhYmEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMyBAQAorMjAxOC0wMy0wNiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUu
dGVhQGdtYWlsLmNvbT4KKworICAgICAgICBIVE1MIGBwYXR0ZXJuYCBhdHRyaWJ1dGUgc2hvdWxk
IHNldCBgdWAgZmxhZyBmb3IgcmVndWxhciBleHByZXNzaW9ucworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxNTk4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUt
cGF0dGVybk1pc21hdGNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlk
aXR5U3RhdGUtcGF0dGVybk1pc21hdGNoLmh0bWw6CisKIDIwMTgtMDMtMDYgIE5hbiBXYW5nICA8
bl93YW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogQU9NOiBNb3JlIGFjY2Vzc2liaWxpdHkg
ZXZlbnRzIHN1cHBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRp
dHlTdGF0ZS1wYXR0ZXJuTWlzbWF0Y2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9WYWxpZGl0eVN0YXRlLXBhdHRlcm5NaXNtYXRjaC1leHBlY3RlZC50eHQKaW5kZXggZWY1
MjNiN2U2Y2Y3NTYzNGZiZmQ2Y2YyY2YzY2Y1Y2YyMmI4NGQ2Ni4uODRiNDcwNTllYTEzY2M5MWYz
OTE3NWZmMGFiNjFjNzE3NzEzOTRiNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9WYWxpZGl0eVN0YXRlLXBhdHRlcm5NaXNtYXRjaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXBhdHRlcm5NaXNtYXRjaC1leHBlY3RlZC50
eHQKQEAgLTI4LDYgKzI4LDggQEAgUEFTUyBwYXR0ZXJuTWlzbWF0Y2hGb3IoIm1hdGNoLTE3Iikg
aXMgZmFsc2UKIFBBU1MgcGF0dGVybk1pc21hdGNoRm9yKCJtYXRjaC0xOCIpIGlzIGZhbHNlCiBQ
QVNTIHBhdHRlcm5NaXNtYXRjaEZvcigibWF0Y2gtMTkiKSBpcyBmYWxzZQogUEFTUyBwYXR0ZXJu
TWlzbWF0Y2hGb3IoIm1hdGNoLTIwIikgaXMgZmFsc2UKK1BBU1MgcGF0dGVybk1pc21hdGNoRm9y
KCJtYXRjaC0yMSIpIGlzIGZhbHNlCitQQVNTIHBhdHRlcm5NaXNtYXRjaEZvcigibWF0Y2gtMjIi
KSBpcyBmYWxzZQogUEFTUyBwYXR0ZXJuTWlzbWF0Y2hGb3IoIndyb25nLWdyYXktb3ItZ3JleSIp
IGlzIHRydWUKIFBBU1MgcGF0dGVybk1pc21hdGNoRm9yKCJncmF5IikgaXMgZmFsc2UKIFBBU1Mg
cGF0dGVybk1pc21hdGNoRm9yKCJncmV5IikgaXMgZmFsc2UKQEAgLTUzLDYgKzU1LDcgQEAgUEFT
UyBwYXR0ZXJuTWlzbWF0Y2hGb3IoIm1pc21hdGNoLTE4IikgaXMgdHJ1ZQogUEFTUyBwYXR0ZXJu
TWlzbWF0Y2hGb3IoIm1pc21hdGNoLTE5IikgaXMgdHJ1ZQogUEFTUyBwYXR0ZXJuTWlzbWF0Y2hG
b3IoIm1pc21hdGNoLTIwIikgaXMgdHJ1ZQogUEFTUyBwYXR0ZXJuTWlzbWF0Y2hGb3IoIm1pc21h
dGNoLTIxIikgaXMgdHJ1ZQorUEFTUyBwYXR0ZXJuTWlzbWF0Y2hGb3IoIm1pc21hdGNoLTIyIikg
aXMgdHJ1ZQogUEFTUyBwYXR0ZXJuTWlzbWF0Y2hGb3IoImVtcHR5LXBhdHRlcm4tbWF0Y2giKSBp
cyBmYWxzZQogUEFTUyBwYXR0ZXJuTWlzbWF0Y2hGb3IoImVtcHR5LXBhdHRlcm4tbWlzbWF0Y2gi
KSBpcyB0cnVlCiBQQVNTIHBhdHRlcm5NaXNtYXRjaEZvcigiaW52YWxpZC0wMSIpIGlzIGZhbHNl
CkBAIC02MSw2ICs2NCw3IEBAIFBBU1MgcGF0dGVybk1pc21hdGNoRm9yKCJpbnZhbGlkLTAzIikg
aXMgZmFsc2UKIFBBU1MgcGF0dGVybk1pc21hdGNoRm9yKCJpbnZhbGlkLTA0IikgaXMgZmFsc2UK
IFBBU1MgcGF0dGVybk1pc21hdGNoRm9yKCJpbnZhbGlkLTA1IikgaXMgZmFsc2UKIFBBU1MgcGF0
dGVybk1pc21hdGNoRm9yKCJpbnZhbGlkLTA2IikgaXMgZmFsc2UKK1BBU1MgcGF0dGVybk1pc21h
dGNoRm9yKCJpbnZhbGlkLTA3IikgaXMgZmFsc2UKIFBBU1MgcGF0dGVybk1pc21hdGNoRm9yKCJk
aXNhYmxlZCIpIGlzIGZhbHNlCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS1wYXR0ZXJuTWlz
bWF0Y2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS1wYXR0ZXJu
TWlzbWF0Y2guaHRtbAppbmRleCAxNTllZDlkNzg5NGYwMTYxZjUzY2M3NWJiY2U0MmNiMGVkNGY2
NDIwLi41OTI5Y2YwODE4ODIyNGJjZmJkMTNlZTIxYmEzYzMyMzhiOTNhOTJlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtcGF0dGVybk1pc21hdGNoLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXBhdHRlcm5NaXNt
YXRjaC5odG1sCkBAIC0zMiw2ICszMiw4IEBACiA8aW5wdXQgaWQ9Im1hdGNoLTE4IiB0eXBlPSJ0
ZXh0IiBwYXR0ZXJuPSJbMC05XXwxMHwxMXwxMiIgdmFsdWU9IjEwIiAvPgogPGlucHV0IGlkPSJt
YXRjaC0xOSIgdHlwZT0idGV4dCIgcGF0dGVybj0iMTB8MTF8MTJ8WzAtOV0iIHZhbHVlPSIxMiIg
Lz4KIDxpbnB1dCBpZD0ibWF0Y2gtMjAiIHR5cGU9InRleHQiIHBhdHRlcm49ImYob3xlKVwxIiB2
YWx1ZT0iZm9vIiAvPgorPGlucHV0IGlkPSJtYXRjaC0yMSIgdHlwZT0idGV4dCIgcGF0dGVybj0i
YS5iIiB2YWx1ZT0iYSYjeDFEMzA2O2IiIC8+Cis8aW5wdXQgaWQ9Im1hdGNoLTIyIiB0eXBlPSJ0
ZXh0IiBwYXR0ZXJuPSJhLi5iIiB2YWx1ZT0iYSYjeDFEMzA2O2IiIC8+CiA8aW5wdXQgaWQ9ImVt
cHR5LXBhdHRlcm4tbWF0Y2giIHR5cGU9InRleHQiIHBhdHRlcm49IiIgdmFsdWU9IiIgLz4KIDxp
bnB1dCBpZD0id3JvbmctZ3JheS1vci1ncmV5IiB0eXBlPSJ0ZXh0IiBwYXR0ZXJuPSJnclthZV15
IiB2YWx1ZT0iV3JvbmchIgogLz48aW5wdXQgaWQ9ImdyYXkiIHR5cGU9InRleHQiIHBhdHRlcm49
ImdyW2FlXXkiIHZhbHVlPSJncmF5IgpAQCAtNTcsNyArNTksOCBAQAogLz48aW5wdXQgaWQ9Im1p
c21hdGNoLTE4IiB0eXBlPSJ0ZXh0IiBwYXR0ZXJuPSJmb29cXCIgdmFsdWU9ImZvb2QiCiAvPjxp
bnB1dCBpZD0ibWlzbWF0Y2gtMTkiIHR5cGU9InRleHQiIHBhdHRlcm49Il4iIHZhbHVlPSJ3cm9u
ZyIKIC8+PGlucHV0IGlkPSJtaXNtYXRjaC0yMCIgdHlwZT0idGV4dCIgcGF0dGVybj0iJCIgdmFs
dWU9Indyb25nIgotLz48aW5wdXQgaWQ9Im1pc21hdGNoLTIxIiB0eXBlPSJ0ZXh0IiBwYXR0ZXJu
PSJmKG98ZSlcMSIgdmFsdWU9ImZvZSIvPgorLz48aW5wdXQgaWQ9Im1pc21hdGNoLTIxIiB0eXBl
PSJ0ZXh0IiBwYXR0ZXJuPSJmKG98ZSlcMSIgdmFsdWU9ImZvZSIKKy8+PGlucHV0IGlkPSJtaXNt
YXRjaC0yMiIgdHlwZT0idGV4dCIgcGF0dGVybj0iYS4uLmIiIHZhbHVlPSJhJiN4MUQzMDY7YiIg
Lz4KIAogPGlucHV0IGlkPSJpbnZhbGlkLTAxIiB0eXBlPSJ0ZXh0IiBwYXR0ZXJuPSIpZm9vKCIg
dmFsdWU9ImZvbyIvPgogPGlucHV0IGlkPSJpbnZhbGlkLTAyIiB0eXBlPSJ0ZXh0IiBwYXR0ZXJu
PSIpZm9vKCIgdmFsdWU9ImZvb2JhciIvPgpAQCAtNjUsNiArNjgsNyBAQAogPGlucHV0IGlkPSJp
bnZhbGlkLTA0IiB0eXBlPSJ0ZXh0IiBwYXR0ZXJuPSJmb29cIiB2YWx1ZT0iZm9vXCIvPgogPGlu
cHV0IGlkPSJpbnZhbGlkLTA1IiB0eXBlPSJ0ZXh0IiBwYXR0ZXJuPSJbMC05IiB2YWx1ZT0iMSIv
PgogPGlucHV0IGlkPSJpbnZhbGlkLTA2IiB0eXBlPSJ0ZXh0IiBwYXR0ZXJuPSJbMC05IiB2YWx1
ZT0iYSIvPgorPGlucHV0IGlkPSJpbnZhbGlkLTA3IiB0eXBlPSJ0ZXh0IiBwYXR0ZXJuPSJmb29c
J2JhciIgdmFsdWU9ImZvbydiYXIiLz4KIAogPGlucHV0IGlkPSJlbXB0eS1wYXR0ZXJuLW1pc21h
dGNoIiB0eXBlPSJ0ZXh0IiBwYXR0ZXJuPSIiIHZhbHVlPSJMb3JlbSBJcHN1bSIKIC8+PGlucHV0
IGlkPSJkaXNhYmxlZCIgcGF0dGVybj0iWzAtOV1bQS1aXXszfSIgdmFsdWU9IjAwQUEiIGRpc2Fi
bGVkIC8+PC9kaXY+CkBAIC0xMDEsNiArMTA1LDggQEAKIHNob3VsZEJlRmFsc2UoJ3BhdHRlcm5N
aXNtYXRjaEZvcigibWF0Y2gtMTgiKScpOwogc2hvdWxkQmVGYWxzZSgncGF0dGVybk1pc21hdGNo
Rm9yKCJtYXRjaC0xOSIpJyk7CiBzaG91bGRCZUZhbHNlKCdwYXR0ZXJuTWlzbWF0Y2hGb3IoIm1h
dGNoLTIwIiknKTsKK3Nob3VsZEJlRmFsc2UoJ3BhdHRlcm5NaXNtYXRjaEZvcigibWF0Y2gtMjEi
KScpOworc2hvdWxkQmVGYWxzZSgncGF0dGVybk1pc21hdGNoRm9yKCJtYXRjaC0yMiIpJyk7CiAK
IHNob3VsZEJlVHJ1ZSgncGF0dGVybk1pc21hdGNoRm9yKCJ3cm9uZy1ncmF5LW9yLWdyZXkiKScp
Owogc2hvdWxkQmVGYWxzZSgncGF0dGVybk1pc21hdGNoRm9yKCJncmF5IiknKTsKQEAgLTEyOCw2
ICsxMzQsNyBAQAogc2hvdWxkQmVUcnVlKCdwYXR0ZXJuTWlzbWF0Y2hGb3IoIm1pc21hdGNoLTE5
IiknKTsKIHNob3VsZEJlVHJ1ZSgncGF0dGVybk1pc21hdGNoRm9yKCJtaXNtYXRjaC0yMCIpJyk7
CiBzaG91bGRCZVRydWUoJ3BhdHRlcm5NaXNtYXRjaEZvcigibWlzbWF0Y2gtMjEiKScpOworc2hv
dWxkQmVUcnVlKCdwYXR0ZXJuTWlzbWF0Y2hGb3IoIm1pc21hdGNoLTIyIiknKTsKIAogc2hvdWxk
QmVGYWxzZSgncGF0dGVybk1pc21hdGNoRm9yKCJlbXB0eS1wYXR0ZXJuLW1hdGNoIiknKTsKIHNo
b3VsZEJlVHJ1ZSgncGF0dGVybk1pc21hdGNoRm9yKCJlbXB0eS1wYXR0ZXJuLW1pc21hdGNoIikn
KTsKQEAgLTEzOCw2ICsxNDUsNyBAQAogc2hvdWxkQmVGYWxzZSgncGF0dGVybk1pc21hdGNoRm9y
KCJpbnZhbGlkLTA0IiknKTsKIHNob3VsZEJlRmFsc2UoJ3BhdHRlcm5NaXNtYXRjaEZvcigiaW52
YWxpZC0wNSIpJyk7CiBzaG91bGRCZUZhbHNlKCdwYXR0ZXJuTWlzbWF0Y2hGb3IoImludmFsaWQt
MDYiKScpOworc2hvdWxkQmVGYWxzZSgncGF0dGVybk1pc21hdGNoRm9yKCJpbnZhbGlkLTA3Iikn
KTsKIAogc2hvdWxkQmVGYWxzZSgncGF0dGVybk1pc21hdGNoRm9yKCJkaXNhYmxlZCIpJyk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335190</attachid>
            <date>2018-03-07 06:50:18 -0800</date>
            <delta_ts>2018-03-07 09:44:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151598-20180307235017.patch</filename>
            <type>text/plain</type>
            <size>12900</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5MzU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
ZDk0NWIyMzg5NjczNjZkNzY2NzJiZGQ3ZWMxMDRmMmY1ZjdmYTc0Li40YWNiOTU5YjQ1ZjdlY2M0
OGRmY2I2ZjJlOTVhNjM5MDU0MTg3NTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxOC0wMy0wNyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBIVE1MIGBwYXR0ZXJuYCBhdHRyaWJ1dGUgc2hvdWxkIHNldCBgdWAg
ZmxhZyBmb3IgcmVndWxhciBleHByZXNzaW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxNTk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIFVuaWNvZGVNb2RlIGZvciBKU0M6OllhcnI6OlJlZ3Vs
YXJFeHByZXNzaW9uLgorCisgICAgICAgICogeWFyci9SZWd1bGFyRXhwcmVzc2lvbi5jcHA6Cisg
ICAgICAgIChKU0M6OllhcnI6OlJlZ3VsYXJFeHByZXNzaW9uOjpQcml2YXRlOjpjcmVhdGUpOgor
ICAgICAgICAoSlNDOjpZYXJyOjpSZWd1bGFyRXhwcmVzc2lvbjo6UHJpdmF0ZTo6UHJpdmF0ZSk6
CisgICAgICAgIChKU0M6OllhcnI6OlJlZ3VsYXJFeHByZXNzaW9uOjpQcml2YXRlOjpjb21waWxl
KToKKyAgICAgICAgKEpTQzo6WWFycjo6UmVndWxhckV4cHJlc3Npb246OlJlZ3VsYXJFeHByZXNz
aW9uKToKKyAgICAgICAgKiB5YXJyL1JlZ3VsYXJFeHByZXNzaW9uLmg6CisKIDIwMTgtMDMtMDcg
IERvbWluaWsgSW5mdWVociAgPGRpbmZ1ZWhyQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0FSTV0g
b2ZmbGluZWFzbTogZml4IGluZGVudGF0aW9uIGluIGFybU9wY29kZVJldmVyc2VkT3BlcmFuZHMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiYWM2MTE3NmFiZGEwNDZlYTU5NWY0ODVkMmE4OGY4Njk1MTlkNWQwLi4w
ZjMxZTAwMWQ3MjI0YTc3ZmQ0NWFhYzE0OTQ3ZDZkNDlkYmZmMGRmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTgtMDMtMDcgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFp
bC5jb20+CisKKyAgICAgICAgSFRNTCBgcGF0dGVybmAgYXR0cmlidXRlIHNob3VsZCBzZXQgYHVg
IGZsYWcgZm9yIHJlZ3VsYXIgZXhwcmVzc2lvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MTU5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYXR0YWNoZXMgInUiIGZsYWcgdG8gdGhl
IFJlZ0V4cCBjb21waWxlZCBmb3IgSFRNTCAicGF0dGVybiIgYXR0cmlidXRlWzFdLgorCisgICAg
ICAgIFsxXTogaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvZm9ybXMuaHRt
bCN0aGUtcGF0dGVybi1hdHRyaWJ1dGUKKworICAgICAgICAqIGh0bWwvQmFzZVRleHRJbnB1dFR5
cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QmFzZVRleHRJbnB1dFR5cGU6OnBhdHRlcm5NaXNt
YXRjaCBjb25zdCk6CisKIDIwMTgtMDMtMDYgIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+
CiAKICAgICAgICAgW0NvY29hXSBTdG9wIGNvcHlpbmcgRm9yd2FyZGluZ0hlYWRlcnMgZGlyZWN0
b3J5IHRoYXQgbm8gbG9uZ2VyIGV4aXN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3lhcnIvUmVndWxhckV4cHJlc3Npb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lh
cnIvUmVndWxhckV4cHJlc3Npb24uY3BwCmluZGV4IGMyYzA0NzBhOTRiMTk2MmJmNDhmNGQ2OTVl
MTcwZTljNDFhOTY3YTQuLjFkY2VkZTZhNDQ4OTgyMzQ5MmNlNjI2NGVhYjc1M2RmMmNmY2NjNmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ3VsYXJFeHByZXNzaW9u
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9SZWd1bGFyRXhwcmVzc2lvbi5j
cHAKQEAgLTM3LDkgKzM3LDkgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBZYXJyIHsKIAog
Y2xhc3MgUmVndWxhckV4cHJlc3Npb246OlByaXZhdGUgOiBwdWJsaWMgUmVmQ291bnRlZDxSZWd1
bGFyRXhwcmVzc2lvbjo6UHJpdmF0ZT4gewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8UHJpdmF0
ZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgcGF0dGVybiwgVGV4dENhc2VTZW5zaXRpdml0eSBjYXNl
U2Vuc2l0aXZpdHksIE11bHRpbGluZU1vZGUgbXVsdGlsaW5lTW9kZSkKKyAgICBzdGF0aWMgUmVm
PFByaXZhdGU+IGNyZWF0ZShjb25zdCBTdHJpbmcmIHBhdHRlcm4sIFRleHRDYXNlU2Vuc2l0aXZp
dHkgY2FzZVNlbnNpdGl2aXR5LCBNdWx0aWxpbmVNb2RlIG11bHRpbGluZU1vZGUsIFVuaWNvZGVN
b2RlIHVuaWNvZGVNb2RlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUHJp
dmF0ZShwYXR0ZXJuLCBjYXNlU2Vuc2l0aXZpdHksIG11bHRpbGluZU1vZGUpKTsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgUHJpdmF0ZShwYXR0ZXJuLCBjYXNlU2Vuc2l0aXZpdHksIG11
bHRpbGluZU1vZGUsIHVuaWNvZGVNb2RlKSk7CiAgICAgfQogCiAgICAgaW50IGxhc3RNYXRjaExl
bmd0aCB7IC0xIH07CkBAIC00OCwxMiArNDgsMTIgQEAgY2xhc3MgUmVndWxhckV4cHJlc3Npb246
OlByaXZhdGUgOiBwdWJsaWMgUmVmQ291bnRlZDxSZWd1bGFyRXhwcmVzc2lvbjo6UHJpdmF0ZT4K
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8SlNDOjpZYXJyOjpCeXRlY29kZVBhdHRlcm4+IG1fcmVnRXhw
Qnl0ZUNvZGU7CiAKIHByaXZhdGU6Ci0gICAgUHJpdmF0ZShjb25zdCBTdHJpbmcmIHBhdHRlcm4s
IFRleHRDYXNlU2Vuc2l0aXZpdHkgY2FzZVNlbnNpdGl2aXR5LCBNdWx0aWxpbmVNb2RlIG11bHRp
bGluZU1vZGUpCi0gICAgICAgIDogbV9yZWdFeHBCeXRlQ29kZShjb21waWxlKHBhdHRlcm4sIGNh
c2VTZW5zaXRpdml0eSwgbXVsdGlsaW5lTW9kZSkpCisgICAgUHJpdmF0ZShjb25zdCBTdHJpbmcm
IHBhdHRlcm4sIFRleHRDYXNlU2Vuc2l0aXZpdHkgY2FzZVNlbnNpdGl2aXR5LCBNdWx0aWxpbmVN
b2RlIG11bHRpbGluZU1vZGUsIFVuaWNvZGVNb2RlIHVuaWNvZGVNb2RlKQorICAgICAgICA6IG1f
cmVnRXhwQnl0ZUNvZGUoY29tcGlsZShwYXR0ZXJuLCBjYXNlU2Vuc2l0aXZpdHksIG11bHRpbGlu
ZU1vZGUsIHVuaWNvZGVNb2RlKSkKICAgICB7CiAgICAgfQogCi0gICAgc3RkOjp1bmlxdWVfcHRy
PEpTQzo6WWFycjo6Qnl0ZWNvZGVQYXR0ZXJuPiBjb21waWxlKGNvbnN0IFN0cmluZyYgcGF0dGVy
blN0cmluZywgVGV4dENhc2VTZW5zaXRpdml0eSBjYXNlU2Vuc2l0aXZpdHksIE11bHRpbGluZU1v
ZGUgbXVsdGlsaW5lTW9kZSkKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8SlNDOjpZYXJyOjpCeXRlY29k
ZVBhdHRlcm4+IGNvbXBpbGUoY29uc3QgU3RyaW5nJiBwYXR0ZXJuU3RyaW5nLCBUZXh0Q2FzZVNl
bnNpdGl2aXR5IGNhc2VTZW5zaXRpdml0eSwgTXVsdGlsaW5lTW9kZSBtdWx0aWxpbmVNb2RlLCBV
bmljb2RlTW9kZSB1bmljb2RlTW9kZSkKICAgICB7CiAgICAgICAgIFJlZ0V4cEZsYWdzIGZsYWdz
ID0gTm9GbGFnczsKIApAQCAtNjMsNiArNjMsOSBAQCBjbGFzcyBSZWd1bGFyRXhwcmVzc2lvbjo6
UHJpdmF0ZSA6IHB1YmxpYyBSZWZDb3VudGVkPFJlZ3VsYXJFeHByZXNzaW9uOjpQcml2YXRlPgog
ICAgICAgICBpZiAobXVsdGlsaW5lTW9kZSA9PSBNdWx0aWxpbmVFbmFibGVkKQogICAgICAgICAg
ICAgZmxhZ3MgPSBzdGF0aWNfY2FzdDxSZWdFeHBGbGFncz4oZmxhZ3MgfCBGbGFnTXVsdGlsaW5l
KTsKIAorICAgICAgICBpZiAodW5pY29kZU1vZGUgPT0gVW5pY29kZUF3YXJlTW9kZSkKKyAgICAg
ICAgICAgIGZsYWdzID0gc3RhdGljX2Nhc3Q8UmVnRXhwRmxhZ3M+KGZsYWdzIHwgRmxhZ1VuaWNv
ZGUpOworCiAgICAgICAgIEpTQzo6WWFycjo6WWFyclBhdHRlcm4gcGF0dGVybihwYXR0ZXJuU3Ry
aW5nLCBmbGFncywgbV9jb25zdHJ1Y3Rpb25FcnJvckNvZGUpOwogICAgICAgICBpZiAoSlNDOjpZ
YXJyOjpoYXNFcnJvcihtX2NvbnN0cnVjdGlvbkVycm9yQ29kZSkpIHsKICAgICAgICAgICAgIExP
R19FUlJPUigiUmVndWxhckV4cHJlc3Npb246IFlBUlIgY29tcGlsZSBmYWlsZWQgd2l0aCAnJXMn
IiwgSlNDOjpZYXJyOjplcnJvck1lc3NhZ2UobV9jb25zdHJ1Y3Rpb25FcnJvckNvZGUpKTsKQEAg
LTc4LDggKzgxLDggQEAgY2xhc3MgUmVndWxhckV4cHJlc3Npb246OlByaXZhdGUgOiBwdWJsaWMg
UmVmQ291bnRlZDxSZWd1bGFyRXhwcmVzc2lvbjo6UHJpdmF0ZT4KICAgICBKU0M6OllhcnI6OkVy
cm9yQ29kZSBtX2NvbnN0cnVjdGlvbkVycm9yQ29kZSB7IFlhcnI6OkVycm9yQ29kZTo6Tm9FcnJv
ciB9OwogfTsKIAotUmVndWxhckV4cHJlc3Npb246OlJlZ3VsYXJFeHByZXNzaW9uKGNvbnN0IFN0
cmluZyYgcGF0dGVybiwgVGV4dENhc2VTZW5zaXRpdml0eSBjYXNlU2Vuc2l0aXZpdHksIE11bHRp
bGluZU1vZGUgbXVsdGlsaW5lTW9kZSkKLSAgICA6IGQoUHJpdmF0ZTo6Y3JlYXRlKHBhdHRlcm4s
IGNhc2VTZW5zaXRpdml0eSwgbXVsdGlsaW5lTW9kZSkpCitSZWd1bGFyRXhwcmVzc2lvbjo6UmVn
dWxhckV4cHJlc3Npb24oY29uc3QgU3RyaW5nJiBwYXR0ZXJuLCBUZXh0Q2FzZVNlbnNpdGl2aXR5
IGNhc2VTZW5zaXRpdml0eSwgTXVsdGlsaW5lTW9kZSBtdWx0aWxpbmVNb2RlLCBVbmljb2RlTW9k
ZSB1bmljb2RlTW9kZSkKKyAgICA6IGQoUHJpdmF0ZTo6Y3JlYXRlKHBhdHRlcm4sIGNhc2VTZW5z
aXRpdml0eSwgbXVsdGlsaW5lTW9kZSwgdW5pY29kZU1vZGUpKQogewogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9SZWd1bGFyRXhwcmVzc2lvbi5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3lhcnIvUmVndWxhckV4cHJlc3Npb24uaAppbmRleCAyMDczOTBiNWU5
ZTcxYWE2NmE4MmVhNDUxNjMxYjFlYzQ0ODVjYjBjLi43NDczYmFhOGM1MTBiNjAxZWU0MmJiMzZi
ZmFhNjRjY2ZjMDQxZDI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9S
ZWd1bGFyRXhwcmVzc2lvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ3Vs
YXJFeHByZXNzaW9uLmgKQEAgLTMxLDExICszMSwxMiBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNw
YWNlIFlhcnIgewogCiBlbnVtIE11bHRpbGluZU1vZGUgeyBNdWx0aWxpbmVEaXNhYmxlZCwgTXVs
dGlsaW5lRW5hYmxlZCB9OwogZW51bSBUZXh0Q2FzZVNlbnNpdGl2aXR5IHsgVGV4dENhc2VTZW5z
aXRpdmUsIFRleHRDYXNlSW5zZW5zaXRpdmUgfTsKK2VudW0gVW5pY29kZU1vZGUgeyBVbmljb2Rl
VW5hd2FyZU1vZGUsIFVuaWNvZGVBd2FyZU1vZGUgfTsKIAogY2xhc3MgSlNfRVhQT1JUX1BSSVZB
VEUgUmVndWxhckV4cHJlc3Npb24gewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgotICAgIGV4cGxpY2l0IFJlZ3VsYXJFeHByZXNzaW9uKGNvbnN0IFN0cmluZyYsIFRleHRD
YXNlU2Vuc2l0aXZpdHkgPSBUZXh0Q2FzZVNlbnNpdGl2ZSwgTXVsdGlsaW5lTW9kZSA9IE11bHRp
bGluZURpc2FibGVkKTsKKyAgICBleHBsaWNpdCBSZWd1bGFyRXhwcmVzc2lvbihjb25zdCBTdHJp
bmcmLCBUZXh0Q2FzZVNlbnNpdGl2aXR5ID0gVGV4dENhc2VTZW5zaXRpdmUsIE11bHRpbGluZU1v
ZGUgPSBNdWx0aWxpbmVEaXNhYmxlZCwgVW5pY29kZU1vZGUgPSBVbmljb2RlVW5hd2FyZU1vZGUp
OwogICAgIH5SZWd1bGFyRXhwcmVzc2lvbigpOwogCiAgICAgUmVndWxhckV4cHJlc3Npb24oY29u
c3QgUmVndWxhckV4cHJlc3Npb24mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
QmFzZVRleHRJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlVGV4dElucHV0
VHlwZS5jcHAKaW5kZXggZmY2ZDYzYTA1ZjdiNGJjZmUwYmJhMjQxOTUwMjQxNjJhYzUwYWM2Zi4u
ZTI5ZGRmMjVjOGUzODY4ZDUwMjc5OWUxOTFiNTZlNWIyMGIyODcxMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9CYXNlVGV4dElucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9CYXNlVGV4dElucHV0VHlwZS5jcHAKQEAgLTM5LDEzICszOSwxNSBAQCBib29sIEJh
c2VUZXh0SW5wdXRUeXBlOjppc1RleHRUeXBlKCkgY29uc3QKIAogYm9vbCBCYXNlVGV4dElucHV0
VHlwZTo6cGF0dGVybk1pc21hdGNoKGNvbnN0IFN0cmluZyYgdmFsdWUpIGNvbnN0CiB7CisgICAg
Ly8gRklYTUU6IFdlIHNob3VsZCBleGVjdXRlIFJlZ0V4cCBwYXJzZXIgZmlyc3QgdG8gY2hlY2sg
dmFsaWRpdHkgaW5zdGVhZCBvZiBjcmVhdGluZyBhbiBhY3R1YWwgUmVndWxhckV4cHJlc3Npb24u
CisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzM2MQog
ICAgIGNvbnN0IEF0b21pY1N0cmluZyYgcmF3UGF0dGVybiA9IGVsZW1lbnQoKS5hdHRyaWJ1dGVX
aXRob3V0U3luY2hyb25pemF0aW9uKHBhdHRlcm5BdHRyKTsKLSAgICBpZiAocmF3UGF0dGVybi5p
c051bGwoKSB8fCB2YWx1ZS5pc0VtcHR5KCkgfHwgIUpTQzo6WWFycjo6UmVndWxhckV4cHJlc3Np
b24ocmF3UGF0dGVybikuaXNWYWxpZCgpKQorICAgIGlmIChyYXdQYXR0ZXJuLmlzTnVsbCgpIHx8
IHZhbHVlLmlzRW1wdHkoKSB8fCAhSlNDOjpZYXJyOjpSZWd1bGFyRXhwcmVzc2lvbihyYXdQYXR0
ZXJuLCBKU0M6OllhcnI6OlRleHRDYXNlU2Vuc2l0aXZlLCBKU0M6OllhcnI6Ok11bHRpbGluZURp
c2FibGVkLCBKU0M6OllhcnI6OlVuaWNvZGVBd2FyZU1vZGUpLmlzVmFsaWQoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIFN0cmluZyBwYXR0ZXJuID0gIl4oPzoiICsgcmF3UGF0dGVybiAr
ICIpJCI7CiAgICAgaW50IG1hdGNoTGVuZ3RoID0gMDsKICAgICBpbnQgdmFsdWVMZW5ndGggPSB2
YWx1ZS5sZW5ndGgoKTsKLSAgICBpbnQgbWF0Y2hPZmZzZXQgPSBKU0M6OllhcnI6OlJlZ3VsYXJF
eHByZXNzaW9uKHBhdHRlcm4pLm1hdGNoKHZhbHVlLCAwLCAmbWF0Y2hMZW5ndGgpOworICAgIGlu
dCBtYXRjaE9mZnNldCA9IEpTQzo6WWFycjo6UmVndWxhckV4cHJlc3Npb24ocGF0dGVybiwgSlND
OjpZYXJyOjpUZXh0Q2FzZVNlbnNpdGl2ZSwgSlNDOjpZYXJyOjpNdWx0aWxpbmVEaXNhYmxlZCwg
SlNDOjpZYXJyOjpVbmljb2RlQXdhcmVNb2RlKS5tYXRjaCh2YWx1ZSwgMCwgJm1hdGNoTGVuZ3Ro
KTsKICAgICByZXR1cm4gbWF0Y2hPZmZzZXQgfHwgbWF0Y2hMZW5ndGggIT0gdmFsdWVMZW5ndGg7
CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCBhNmQxYjY5NjhmNDRlNTJiM2NhMzFhOThlOTIwNWNlMDMwM2U5NmM1Li5l
OWFkYzVmNTc2OGM1MTQyOTMyYTc1OTJkMGYxNTUyM2I4N2Q4YWExIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTMgQEAKKzIwMTgtMDMtMDcgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+
CisKKyAgICAgICAgSFRNTCBgcGF0dGVybmAgYXR0cmlidXRlIHNob3VsZCBzZXQgYHVgIGZsYWcg
Zm9yIHJlZ3VsYXIgZXhwcmVzc2lvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1MTU5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXBhdHRlcm5NaXNtYXRj
aC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXBhdHRl
cm5NaXNtYXRjaC5odG1sOgorCiAyMDE4LTAzLTA3ICBNczJnZXIgIDxNczJnZXJAaWdhbGlhLmNv
bT4KIAogICAgICAgICBbV1BFXSBUZXN0IGdhcmRlbmluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXBhdHRlcm5NaXNtYXRjaC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtcGF0dGVybk1pc21hdGNoLWV4
cGVjdGVkLnR4dAppbmRleCBlZjUyM2I3ZTZjZjc1NjM0ZmJmZDZjZjJjZjNjZjVjZjIyYjg0ZDY2
Li5iYTI1NDYxZGY0MmY2YWM3ZmFkYWQ1Nzc4ZTk4YzExZmRlMWU3ODYyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtcGF0dGVybk1pc21hdGNoLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtcGF0dGVy
bk1pc21hdGNoLWV4cGVjdGVkLnR4dApAQCAtMjgsNiArMjgsOCBAQCBQQVNTIHBhdHRlcm5NaXNt
YXRjaEZvcigibWF0Y2gtMTciKSBpcyBmYWxzZQogUEFTUyBwYXR0ZXJuTWlzbWF0Y2hGb3IoIm1h
dGNoLTE4IikgaXMgZmFsc2UKIFBBU1MgcGF0dGVybk1pc21hdGNoRm9yKCJtYXRjaC0xOSIpIGlz
IGZhbHNlCiBQQVNTIHBhdHRlcm5NaXNtYXRjaEZvcigibWF0Y2gtMjAiKSBpcyBmYWxzZQorUEFT
UyBwYXR0ZXJuTWlzbWF0Y2hGb3IoIm1hdGNoLTIxIikgaXMgZmFsc2UKK1BBU1MgcGF0dGVybk1p
c21hdGNoRm9yKCJtYXRjaC0yMiIpIGlzIGZhbHNlCiBQQVNTIHBhdHRlcm5NaXNtYXRjaEZvcigi
d3JvbmctZ3JheS1vci1ncmV5IikgaXMgdHJ1ZQogUEFTUyBwYXR0ZXJuTWlzbWF0Y2hGb3IoImdy
YXkiKSBpcyBmYWxzZQogUEFTUyBwYXR0ZXJuTWlzbWF0Y2hGb3IoImdyZXkiKSBpcyBmYWxzZQpA
QCAtNTMsNiArNTUsNyBAQCBQQVNTIHBhdHRlcm5NaXNtYXRjaEZvcigibWlzbWF0Y2gtMTgiKSBp
cyB0cnVlCiBQQVNTIHBhdHRlcm5NaXNtYXRjaEZvcigibWlzbWF0Y2gtMTkiKSBpcyB0cnVlCiBQ
QVNTIHBhdHRlcm5NaXNtYXRjaEZvcigibWlzbWF0Y2gtMjAiKSBpcyB0cnVlCiBQQVNTIHBhdHRl
cm5NaXNtYXRjaEZvcigibWlzbWF0Y2gtMjEiKSBpcyB0cnVlCitQQVNTIHBhdHRlcm5NaXNtYXRj
aEZvcigibWlzbWF0Y2gtMjIiKSBpcyB0cnVlCiBQQVNTIHBhdHRlcm5NaXNtYXRjaEZvcigiZW1w
dHktcGF0dGVybi1tYXRjaCIpIGlzIGZhbHNlCiBQQVNTIHBhdHRlcm5NaXNtYXRjaEZvcigiZW1w
dHktcGF0dGVybi1taXNtYXRjaCIpIGlzIHRydWUKIFBBU1MgcGF0dGVybk1pc21hdGNoRm9yKCJp
bnZhbGlkLTAxIikgaXMgZmFsc2UKQEAgLTYxLDYgKzY0LDggQEAgUEFTUyBwYXR0ZXJuTWlzbWF0
Y2hGb3IoImludmFsaWQtMDMiKSBpcyBmYWxzZQogUEFTUyBwYXR0ZXJuTWlzbWF0Y2hGb3IoImlu
dmFsaWQtMDQiKSBpcyBmYWxzZQogUEFTUyBwYXR0ZXJuTWlzbWF0Y2hGb3IoImludmFsaWQtMDUi
KSBpcyBmYWxzZQogUEFTUyBwYXR0ZXJuTWlzbWF0Y2hGb3IoImludmFsaWQtMDYiKSBpcyBmYWxz
ZQorUEFTUyBwYXR0ZXJuTWlzbWF0Y2hGb3IoImludmFsaWQtMDciKSBpcyBmYWxzZQorUEFTUyBw
YXR0ZXJuTWlzbWF0Y2hGb3IoImludmFsaWQtMDgiKSBpcyBmYWxzZQogUEFTUyBwYXR0ZXJuTWlz
bWF0Y2hGb3IoImRpc2FibGVkIikgaXMgZmFsc2UKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRl
LXBhdHRlcm5NaXNtYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0
YXRlLXBhdHRlcm5NaXNtYXRjaC5odG1sCmluZGV4IDE1OWVkOWQ3ODk0ZjAxNjFmNTNjYzc1YmJj
ZTQyY2IwZWQ0ZjY0MjAuLjcxOTgzOTZiYzc4MmY2MGI0NWY4NWY4MDhhZDVmMWRlZmI4OWU2YjAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS1wYXR0ZXJu
TWlzbWF0Y2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUt
cGF0dGVybk1pc21hdGNoLmh0bWwKQEAgLTMyLDYgKzMyLDggQEAKIDxpbnB1dCBpZD0ibWF0Y2gt
MTgiIHR5cGU9InRleHQiIHBhdHRlcm49IlswLTldfDEwfDExfDEyIiB2YWx1ZT0iMTAiIC8+CiA8
aW5wdXQgaWQ9Im1hdGNoLTE5IiB0eXBlPSJ0ZXh0IiBwYXR0ZXJuPSIxMHwxMXwxMnxbMC05XSIg
dmFsdWU9IjEyIiAvPgogPGlucHV0IGlkPSJtYXRjaC0yMCIgdHlwZT0idGV4dCIgcGF0dGVybj0i
ZihvfGUpXDEiIHZhbHVlPSJmb28iIC8+Cis8aW5wdXQgaWQ9Im1hdGNoLTIxIiB0eXBlPSJ0ZXh0
IiBwYXR0ZXJuPSJhLmIiIHZhbHVlPSJhJiN4MUQzMDY7YiIgLz4KKzxpbnB1dCBpZD0ibWF0Y2gt
MjIiIHR5cGU9InRleHQiIHBhdHRlcm49ImEuLmIiIHZhbHVlPSJhJiN4MUQzMDY7YiIgLz4KIDxp
bnB1dCBpZD0iZW1wdHktcGF0dGVybi1tYXRjaCIgdHlwZT0idGV4dCIgcGF0dGVybj0iIiB2YWx1
ZT0iIiAvPgogPGlucHV0IGlkPSJ3cm9uZy1ncmF5LW9yLWdyZXkiIHR5cGU9InRleHQiIHBhdHRl
cm49ImdyW2FlXXkiIHZhbHVlPSJXcm9uZyEiCiAvPjxpbnB1dCBpZD0iZ3JheSIgdHlwZT0idGV4
dCIgcGF0dGVybj0iZ3JbYWVdeSIgdmFsdWU9ImdyYXkiCkBAIC01Nyw3ICs1OSw4IEBACiAvPjxp
bnB1dCBpZD0ibWlzbWF0Y2gtMTgiIHR5cGU9InRleHQiIHBhdHRlcm49ImZvb1xcIiB2YWx1ZT0i
Zm9vZCIKIC8+PGlucHV0IGlkPSJtaXNtYXRjaC0xOSIgdHlwZT0idGV4dCIgcGF0dGVybj0iXiIg
dmFsdWU9Indyb25nIgogLz48aW5wdXQgaWQ9Im1pc21hdGNoLTIwIiB0eXBlPSJ0ZXh0IiBwYXR0
ZXJuPSIkIiB2YWx1ZT0id3JvbmciCi0vPjxpbnB1dCBpZD0ibWlzbWF0Y2gtMjEiIHR5cGU9InRl
eHQiIHBhdHRlcm49ImYob3xlKVwxIiB2YWx1ZT0iZm9lIi8+CisvPjxpbnB1dCBpZD0ibWlzbWF0
Y2gtMjEiIHR5cGU9InRleHQiIHBhdHRlcm49ImYob3xlKVwxIiB2YWx1ZT0iZm9lIgorLz48aW5w
dXQgaWQ9Im1pc21hdGNoLTIyIiB0eXBlPSJ0ZXh0IiBwYXR0ZXJuPSJhLi4uYiIgdmFsdWU9ImEm
I3gxRDMwNjtiIiAvPgogCiA8aW5wdXQgaWQ9ImludmFsaWQtMDEiIHR5cGU9InRleHQiIHBhdHRl
cm49Iilmb28oIiB2YWx1ZT0iZm9vIi8+CiA8aW5wdXQgaWQ9ImludmFsaWQtMDIiIHR5cGU9InRl
eHQiIHBhdHRlcm49Iilmb28oIiB2YWx1ZT0iZm9vYmFyIi8+CkBAIC02NSw2ICs2OCw4IEBACiA8
aW5wdXQgaWQ9ImludmFsaWQtMDQiIHR5cGU9InRleHQiIHBhdHRlcm49ImZvb1wiIHZhbHVlPSJm
b29cIi8+CiA8aW5wdXQgaWQ9ImludmFsaWQtMDUiIHR5cGU9InRleHQiIHBhdHRlcm49IlswLTki
IHZhbHVlPSIxIi8+CiA8aW5wdXQgaWQ9ImludmFsaWQtMDYiIHR5cGU9InRleHQiIHBhdHRlcm49
IlswLTkiIHZhbHVlPSJhIi8+Cis8aW5wdXQgaWQ9ImludmFsaWQtMDciIHR5cGU9InRleHQiIHBh
dHRlcm49ImZvb1wnYmFyIiB2YWx1ZT0iZm9vJ2JhciIvPgorPGlucHV0IGlkPSJpbnZhbGlkLTA4
IiB0eXBlPSJ0ZXh0IiBwYXR0ZXJuPSJmb29cJ2JhciIgdmFsdWU9ImZvbyIvPgogCiA8aW5wdXQg
aWQ9ImVtcHR5LXBhdHRlcm4tbWlzbWF0Y2giIHR5cGU9InRleHQiIHBhdHRlcm49IiIgdmFsdWU9
IkxvcmVtIElwc3VtIgogLz48aW5wdXQgaWQ9ImRpc2FibGVkIiBwYXR0ZXJuPSJbMC05XVtBLVpd
ezN9IiB2YWx1ZT0iMDBBQSIgZGlzYWJsZWQgLz48L2Rpdj4KQEAgLTEwMSw2ICsxMDYsOCBAQAog
c2hvdWxkQmVGYWxzZSgncGF0dGVybk1pc21hdGNoRm9yKCJtYXRjaC0xOCIpJyk7CiBzaG91bGRC
ZUZhbHNlKCdwYXR0ZXJuTWlzbWF0Y2hGb3IoIm1hdGNoLTE5IiknKTsKIHNob3VsZEJlRmFsc2Uo
J3BhdHRlcm5NaXNtYXRjaEZvcigibWF0Y2gtMjAiKScpOworc2hvdWxkQmVGYWxzZSgncGF0dGVy
bk1pc21hdGNoRm9yKCJtYXRjaC0yMSIpJyk7CitzaG91bGRCZUZhbHNlKCdwYXR0ZXJuTWlzbWF0
Y2hGb3IoIm1hdGNoLTIyIiknKTsKIAogc2hvdWxkQmVUcnVlKCdwYXR0ZXJuTWlzbWF0Y2hGb3Io
Indyb25nLWdyYXktb3ItZ3JleSIpJyk7CiBzaG91bGRCZUZhbHNlKCdwYXR0ZXJuTWlzbWF0Y2hG
b3IoImdyYXkiKScpOwpAQCAtMTI4LDYgKzEzNSw3IEBACiBzaG91bGRCZVRydWUoJ3BhdHRlcm5N
aXNtYXRjaEZvcigibWlzbWF0Y2gtMTkiKScpOwogc2hvdWxkQmVUcnVlKCdwYXR0ZXJuTWlzbWF0
Y2hGb3IoIm1pc21hdGNoLTIwIiknKTsKIHNob3VsZEJlVHJ1ZSgncGF0dGVybk1pc21hdGNoRm9y
KCJtaXNtYXRjaC0yMSIpJyk7CitzaG91bGRCZVRydWUoJ3BhdHRlcm5NaXNtYXRjaEZvcigibWlz
bWF0Y2gtMjIiKScpOwogCiBzaG91bGRCZUZhbHNlKCdwYXR0ZXJuTWlzbWF0Y2hGb3IoImVtcHR5
LXBhdHRlcm4tbWF0Y2giKScpOwogc2hvdWxkQmVUcnVlKCdwYXR0ZXJuTWlzbWF0Y2hGb3IoImVt
cHR5LXBhdHRlcm4tbWlzbWF0Y2giKScpOwpAQCAtMTM4LDYgKzE0Niw4IEBACiBzaG91bGRCZUZh
bHNlKCdwYXR0ZXJuTWlzbWF0Y2hGb3IoImludmFsaWQtMDQiKScpOwogc2hvdWxkQmVGYWxzZSgn
cGF0dGVybk1pc21hdGNoRm9yKCJpbnZhbGlkLTA1IiknKTsKIHNob3VsZEJlRmFsc2UoJ3BhdHRl
cm5NaXNtYXRjaEZvcigiaW52YWxpZC0wNiIpJyk7CitzaG91bGRCZUZhbHNlKCdwYXR0ZXJuTWlz
bWF0Y2hGb3IoImludmFsaWQtMDciKScpOworc2hvdWxkQmVGYWxzZSgncGF0dGVybk1pc21hdGNo
Rm9yKCJpbnZhbGlkLTA4IiknKTsKIAogc2hvdWxkQmVGYWxzZSgncGF0dGVybk1pc21hdGNoRm9y
KCJkaXNhYmxlZCIpJyk7CiAK
</data>
<flag name="review"
          id="353861"
          type_id="1"
          status="+"
          setter="cdumez"
    />
    <flag name="commit-queue"
          id="353868"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>