<?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>193882</bug_id>
          
          <creation_ts>2019-01-26 23:51:49 -0800</creation_ts>
          <short_desc>Make it easier for non-Apple ports to enable dark mode CSS support</short_desc>
          <delta_ts>2019-01-28 17:52:28 -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>CSS</component>
          <version>WebKit Local 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="Timothy Hatcher">timothy</reporter>
          <assigned_to name="Timothy Hatcher">timothy</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1498831</commentid>
    <comment_count>0</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-01-26 23:51:49 -0800</bug_when>
    <thetext>At the contributors meeting last fall, other ports were interested in enabling support. This is pretty simple to do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498832</commentid>
    <comment_count>1</comment_count>
      <attachid>360272</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-01-27 00:01:19 -0800</bug_when>
    <thetext>Created attachment 360272
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498833</commentid>
    <comment_count>2</comment_count>
      <attachid>360273</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-01-27 00:11:27 -0800</bug_when>
    <thetext>Created attachment 360273
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498836</commentid>
    <comment_count>3</comment_count>
      <attachid>360276</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-01-27 00:36:43 -0800</bug_when>
    <thetext>Created attachment 360276
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498885</commentid>
    <comment_count>4</comment_count>
      <attachid>360302</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-01-27 11:49:23 -0800</bug_when>
    <thetext>Created attachment 360302
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498893</commentid>
    <comment_count>5</comment_count>
      <attachid>360305</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-01-27 12:36:03 -0800</bug_when>
    <thetext>Created attachment 360305
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499286</commentid>
    <comment_count>6</comment_count>
      <attachid>360305</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2019-01-28 17:12:28 -0800</bug_when>
    <thetext>Comment on attachment 360305
Patch

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

&gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:4507
&gt; +

nit - extra line

&gt; Source/WebKitLegacy/mac/WebView/WebView.mm:5308
&gt;  

I feel a little weird about this not have a default implementation/implementation on other platforms, but since it&apos;s wholly in the scope, I won&apos;t whine too loudly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499301</commentid>
    <comment_count>7</comment_count>
      <attachid>360305</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-01-28 17:24:39 -0800</bug_when>
    <thetext>Comment on attachment 360305
Patch

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

&gt;&gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:4507
&gt;&gt; +
&gt; 
&gt; nit - extra line

This was just Xcode removing whitespace.

&gt;&gt; Source/WebKitLegacy/mac/WebView/WebView.mm:5308
&gt;&gt;  
&gt; 
&gt; I feel a little weird about this not have a default implementation/implementation on other platforms, but since it&apos;s wholly in the scope, I won&apos;t whine too loudly.

This was to keep the bots happy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499314</commentid>
    <comment_count>8</comment_count>
      <attachid>360305</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-28 17:51:09 -0800</bug_when>
    <thetext>Comment on attachment 360305
Patch

Clearing flags on attachment: 360305

Committed r240628: &lt;https://trac.webkit.org/changeset/240628&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499315</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-28 17:51:10 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499316</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-01-28 17:52:28 -0800</bug_when>
    <thetext>&lt;rdar://problem/47618786&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360272</attachid>
            <date>2019-01-27 00:01:19 -0800</date>
            <delta_ts>2019-01-27 00:11:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193882-20190127000118.patch</filename>
            <type>text/plain</type>
            <size>14450</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwMjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGY4MTk4MjYwNDAyYzli
MjVhZTI2MjA0YzUxNzc1MDY3ZDEzZDA3MS4uNGZkODJlZWQzN2Q5ZWQwMDkyODE2ZTg4NDJiNTQy
ZjBkOGFiZTNiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE5LTAxLTI2ICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIGl0IGVhc2ll
ciBmb3Igbm9uLUFwcGxlIHBvcnRzIHRvIGVuYWJsZSBkYXJrIG1vZGUgQ1NTIHN1cHBvcnQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM4ODIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBhZ2UvRnJh
bWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6dXBkYXRlQmFja2dyb3Vu
ZFJlY3Vyc2l2ZWx5KTogTGltaXQgdXNlIG9mIHN5c3RlbQorICAgICAgICBiYWNrZ3JvdW5kIGNv
bG9yIHRvIHRoZSBNYWMgcGxhdGZvcm0uCisKIDIwMTktMDEtMjIgIERhdmlkIEtpbHplciAgPGRk
a2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBMZWFrIG9mIE5TTXV0YWJsZUFycmF5ICgxMjgg
Ynl0ZXMpIGluIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCBydW5uaW5nIFdlYktpdCBsYXlv
dXQgdGVzdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKaW5kZXggZmRmYTIzNGU4NWVlOWEyNmE2ZGM4NzQ3M2QwZTA4MzU5NDA1
ZWUzNi4uOTJiNDU2ZGU0YjdjZGIzMmQ2YTRhNzAxNTExOGI4N2VkMzlmNGZkZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwzMCBAQAorMjAxOS0wMS0yNiAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBh
cHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBpdCBlYXNpZXIgZm9yIG5vbi1BcHBsZSBwb3J0cyB0
byBlbmFibGUgZGFyayBtb2RlIENTUyBzdXBwb3J0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzODgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBtb2Rlcm4gV2ViS2l0IGNvZGUgZm9yIGRhcmsg
bW9kZSB1c2FibGUgYnkgb3RoZXIgcG9ydHMsIHRvIG1hdGNoCisgICAgICAgIHRoZSBXZWJDb3Jl
IHBhcnRzIHRoYXQgaGF2ZSBiZWVuIGNyb3NzLXBsYXRmb3JtIGFsbCBhbG9uZy4KKworICAgICAg
ICAqIFNoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFy
ZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdl
Q2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnQ6OmVmZmVjdGl2ZUFwcGVhcmFu
Y2VJc0RhcmsgY29uc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNyZWF0aW9uUGFyYW1ldGVycyk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6dXNlRGFya0FwcGVhcmFuY2UgY29uc3QpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmVmZmVjdGl2ZUFwcGVhcmFuY2VEaWRDaGFuZ2Up
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fc2hvdWxkQXR0YWNo
RHJhd2luZ0FyZWFPblBhZ2VUcmFuc2l0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6
c2V0VXNlRGFya0FwcGVhcmFuY2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46
CisKIDIwMTktMDEtMjIgIE9yaW9sIEJydWZhdSAgPG9icnVmYXVAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbY3NzLWxvZ2ljYWxdIEltcGxlbWVudCBmbG93LXJlbGF0aXZlIG1hcmdpbiwgcGFkZGlu
ZyBhbmQgYm9yZGVyIHNob3J0aGFuZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCA3
ZmFmNzMyODQyOGYyNmYwZmFkYTM5MzNkYmU3MWRhNjJmNmVjM2MzLi5iNmQ2YTMxNDU4MjY3ZTBj
ZWQ5ZjMzNzMxOTA3MWQ5NmE5ZTZjOWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTktMDEtMjYgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBw
bGUuY29tPgorCisgICAgICAgIE1ha2UgaXQgZWFzaWVyIGZvciBub24tQXBwbGUgcG9ydHMgdG8g
ZW5hYmxlIGRhcmsgbW9kZSBDU1Mgc3VwcG9ydC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Mzg4MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtX
ZWJWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hbWU6Z3JvdXBOYW1lOl0pOiBG
aXggc29tZSBkZWZpbmVzLgorICAgICAgICAoLVtXZWJWaWV3IF9lZmZlY3RpdmVBcHBlYXJhbmNl
SXNEYXJrXSk6IERpdHRvLgorCiAyMDE5LTAxLTIyICBPcmlvbCBCcnVmYXUgIDxvYnJ1ZmF1QGln
YWxpYS5jb20+CiAKICAgICAgICAgW2Nzcy1sb2dpY2FsXSBJbXBsZW1lbnQgZmxvdy1yZWxhdGl2
ZSBtYXJnaW4sIHBhZGRpbmcgYW5kIGJvcmRlciBzaG9ydGhhbmRzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5jcHAKaW5kZXggY2M5MzExNDZmYWIwZWVlMGMyYjMzMDc5MWQ3MTA2NzdlNzRiNjg5My4u
NjZiYWQzYTUzYmIxYzNjYmNkYzA2N2IwMjJhOTgzNzhjOWM5YzY5NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcApAQCAtMzAxMiw3ICszMDEyLDcgQEAgdm9pZCBGcmFtZVZpZXc6OnNldEJh
c2VCYWNrZ3JvdW5kQ29sb3IoY29uc3QgQ29sb3ImIGJhY2tncm91bmRDb2xvcikKIAogdm9pZCBG
cmFtZVZpZXc6OnVwZGF0ZUJhY2tncm91bmRSZWN1cnNpdmVseShib29sIHRyYW5zcGFyZW50KQog
ewotI2lmIEVOQUJMRShEQVJLX01PREVfQ1NTKQorI2lmIEVOQUJMRShEQVJLX01PREVfQ1NTKSAm
JiBQTEFURk9STShNQUMpCiAgICAgQ29sb3IgYmFja2dyb3VuZENvbG9yID0gdHJhbnNwYXJlbnQg
PyBDb2xvcjo6dHJhbnNwYXJlbnQgOiBSZW5kZXJUaGVtZTo6c2luZ2xldG9uKCkuc3lzdGVtQ29s
b3IoQ1NTVmFsdWVBcHBsZVN5c3RlbUNvbnRyb2xCYWNrZ3JvdW5kLCBzdHlsZUNvbG9yT3B0aW9u
cygpKTsKICNlbHNlCiAgICAgQ29sb3IgYmFja2dyb3VuZENvbG9yID0gdHJhbnNwYXJlbnQgPyBD
b2xvcjo6dHJhbnNwYXJlbnQgOiBDb2xvcjo6d2hpdGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IDZkMDdjMDNhZDhjOTI3
ZTU0NTNjNWZkYTk1OTY3MDlhNzcyNjFlMmIuLmFmNzVkOTk3NzFkZWE0ZjE5ZjYyMDMwZDkzM2Q4
ZmFjNmQ1ZGJiMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVh
dGlvblBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVh
dGlvblBhcmFtZXRlcnMuY3BwCkBAIC03NCwxMSArNzQsMTEgQEAgdm9pZCBXZWJQYWdlQ3JlYXRp
b25QYXJhbWV0ZXJzOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVu
Y29kZXIgPDwgbWltZVR5cGVzV2l0aEN1c3RvbUNvbnRlbnRQcm92aWRlcnM7CiAgICAgZW5jb2Rl
ciA8PCBjb250cm9sbGVkQnlBdXRvbWF0aW9uOwogICAgIGVuY29kZXIgPDwgaXNQcm9jZXNzU3dh
cDsKKyAgICBlbmNvZGVyIDw8IHVzZURhcmtBcHBlYXJhbmNlOwogCiAjaWYgUExBVEZPUk0oTUFD
KQogICAgIGVuY29kZXIgPDwgY29sb3JTcGFjZTsKICAgICBlbmNvZGVyIDw8IHVzZVN5c3RlbUFw
cGVhcmFuY2U7Ci0gICAgZW5jb2RlciA8PCB1c2VEYXJrQXBwZWFyYW5jZTsKICNlbmRpZgogI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgZW5jb2RlciA8PCBzY3JlZW5TaXplOwpAQCAtMjI5
LDE0ICsyMjksMTQgQEAgT3B0aW9uYWw8V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycz4gV2ViUGFn
ZUNyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6RGVjb2QKICAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMuaXNQcm9jZXNz
U3dhcCkpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShwYXJhbWV0ZXJzLnVzZURhcmtBcHBlYXJhbmNlKSkKKyAgICAgICAgcmV0dXJuIFdURjo6
bnVsbG9wdDsKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBh
cmFtZXRlcnMuY29sb3JTcGFjZSkpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAgICAg
aWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLnVzZVN5c3RlbUFwcGVhcmFuY2UpKQogICAg
ICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1l
dGVycy51c2VEYXJrQXBwZWFyYW5jZSkpCi0gICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAj
ZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggYjM4MmNlZWRkNDQ5YThkOWEw
Zjg2OTQ3MzVmMjZjMDU5NWRkZWNkOC4uZmIzMjdlNDA4MjBkYmE3MjIzYmQwMjAxM2QyYzEyNjI3
MzM3NGVjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9u
UGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBh
cmFtZXRlcnMuaApAQCAtMTMxLDEwICsxMzEsMTEgQEAgc3RydWN0IFdlYlBhZ2VDcmVhdGlvblBh
cmFtZXRlcnMgewogICAgIGJvb2wgY29udHJvbGxlZEJ5QXV0b21hdGlvbjsKICAgICBib29sIGlz
UHJvY2Vzc1N3YXAgeyBmYWxzZSB9OwogCisgICAgYm9vbCB1c2VEYXJrQXBwZWFyYW5jZSB7IGZh
bHNlIH07CisKICNpZiBQTEFURk9STShNQUMpCiAgICAgQ29sb3JTcGFjZURhdGEgY29sb3JTcGFj
ZTsKICAgICBib29sIHVzZVN5c3RlbUFwcGVhcmFuY2U7Ci0gICAgYm9vbCB1c2VEYXJrQXBwZWFy
YW5jZTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgV2ViQ29yZTo6Rmxv
YXRTaXplIHNjcmVlblNpemU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Q
YWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKaW5kZXgg
MDc5NWNkOGRhZjRhOTAzZDZlMGMwMmIxMzg5N2E1ODc2NmI2YzZjYS4uYTAyZDI3ZjIxYzlkMjZh
YWVhMDg4NTdjNGUzZTY5YjBmZGRlYjNjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvUGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGll
bnQuaApAQCAtMzA5LDYgKzMwOSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0VGV4
dEluZGljYXRvckFuaW1hdGlvblByb2dyZXNzKGZsb2F0KSA9IDA7CiAgICAgCiAgICAgdmlydHVh
bCB2b2lkIGRpZFBlcmZvcm1EaWN0aW9uYXJ5TG9va3VwKGNvbnN0IFdlYkNvcmU6OkRpY3Rpb25h
cnlQb3B1cEluZm8mKSA9IDA7CisKKyAgICB2aXJ0dWFsIGJvb2wgZWZmZWN0aXZlQXBwZWFyYW5j
ZUlzRGFyaygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKIAogICAgIHZpcnR1YWwg
dm9pZCBlbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKGNvbnN0IExheWVyVHJlZUNvbnRl
eHQmKSA9IDA7CkBAIC0zMzcsOCArMzM5LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgTlNXaW5k
b3cgKnBsYXRmb3JtV2luZG93KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRTaG91bGRTdXBw
cmVzc0ZpcnN0UmVzcG9uZGVyQ2hhbmdlcyhib29sKSA9IDA7CiAKLSAgICB2aXJ0dWFsIGJvb2wg
ZWZmZWN0aXZlQXBwZWFyYW5jZUlzRGFyaygpIGNvbnN0ID0gMDsKLQogI2lmIFdLX0FQSV9FTkFC
TEVECiAgICAgdmlydHVhbCBOU1ZpZXcgKmluc3BlY3RvckF0dGFjaG1lbnRWaWV3KCkgPSAwOwog
ICAgIHZpcnR1YWwgX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkgKnJlbW90ZU9iamVjdFJlZ2lzdHJ5
KCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggZTc0
ZjM4ZGM1OWI0MDBkNDAyNmUyY2FkM2M2NTllMDUyNWI0M2M5YS4uNjI5MTYzNGUzMWViZmU4OWMz
ZTg0YjhhNGJlODg3OTAzODFmNzY1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCkBAIC02Nzc3LDEwICs2Nzc3LDEwIEBAIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRl
cnMgV2ViUGFnZVByb3h5OjpjcmVhdGlvblBhcmFtZXRlcnMoV2ViUHJvY2Vzc1Byb3h5JiBwcm9j
CiAgICAgcGFyYW1ldGVycy5iYWNrZ3JvdW5kRXh0ZW5kc0JleW9uZFBhZ2UgPSBtX2JhY2tncm91
bmRFeHRlbmRzQmV5b25kUGFnZTsKICAgICBwYXJhbWV0ZXJzLmxheWVySG9zdGluZ01vZGUgPSBt
X2xheWVySG9zdGluZ01vZGU7CiAgICAgcGFyYW1ldGVycy5jb250cm9sbGVkQnlBdXRvbWF0aW9u
ID0gbV9jb250cm9sbGVkQnlBdXRvbWF0aW9uOworICAgIHBhcmFtZXRlcnMudXNlRGFya0FwcGVh
cmFuY2UgPSB1c2VEYXJrQXBwZWFyYW5jZSgpOwogI2lmIFBMQVRGT1JNKE1BQykKICAgICBwYXJh
bWV0ZXJzLmNvbG9yU3BhY2UgPSBwYWdlQ2xpZW50KCkuY29sb3JTcGFjZSgpOwogICAgIHBhcmFt
ZXRlcnMudXNlU3lzdGVtQXBwZWFyYW5jZSA9IG1fdXNlU3lzdGVtQXBwZWFyYW5jZTsKLSAgICBw
YXJhbWV0ZXJzLnVzZURhcmtBcHBlYXJhbmNlID0gdXNlRGFya0FwcGVhcmFuY2UoKTsKICNlbmRp
ZgogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgcGFyYW1ldGVycy5zY3JlZW5TaXplID0g
c2NyZWVuU2l6ZSgpOwpAQCAtNzM5MywxMSArNzM5Myw2IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpo
YW5kbGVBbHRlcm5hdGl2ZVRleHRVSVJlc3VsdChjb25zdCBTdHJpbmcmIHJlc3VsdCkKICAgICAg
ICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpIYW5kbGVBbHRlcm5hdGl2ZVRl
eHRVSVJlc3VsdChyZXN1bHQpLCBtX3BhZ2VJRCk7CiB9CiAKLWJvb2wgV2ViUGFnZVByb3h5Ojp1
c2VEYXJrQXBwZWFyYW5jZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHBhZ2VDbGllbnQoKS5lZmZl
Y3RpdmVBcHBlYXJhbmNlSXNEYXJrKCk7Ci19Ci0KICNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFU
SVZFUykKIHZvaWQgV2ViUGFnZVByb3h5OjpzaG93RGljdGF0aW9uQWx0ZXJuYXRpdmVVSShjb25z
dCBXZWJDb3JlOjpGbG9hdFJlY3QmIGJvdW5kaW5nQm94T2ZEaWN0YXRlZFRleHQsIHVpbnQ2NF90
IGRpY3RhdGlvbkNvbnRleHQpCiB7CkBAIC03OTA0LDE0ICs3ODk5LDYgQEAgdm9pZCBXZWJQYWdl
UHJveHk6OnNldFVzZVN5c3RlbUFwcGVhcmFuY2UoYm9vbCB1c2VTeXN0ZW1BcHBlYXJhbmNlKQog
ICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0VXNlU3lzdGVtQXBwZWFy
YW5jZSh1c2VTeXN0ZW1BcHBlYXJhbmNlKSwgbV9wYWdlSUQpOwogfQogICAgIAotdm9pZCBXZWJQ
YWdlUHJveHk6OmVmZmVjdGl2ZUFwcGVhcmFuY2VEaWRDaGFuZ2UoKQotewotICAgIGlmICghaXNW
YWxpZCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6
OldlYlBhZ2U6OlNldFVzZURhcmtBcHBlYXJhbmNlKHVzZURhcmtBcHBlYXJhbmNlKCkpLCBtX3Bh
Z2VJRCk7Ci19Ci0KIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRIZWFkZXJCYW5uZXJIZWlnaHRGb3JU
ZXN0aW5nKGludCBoZWlnaHQpCiB7CiAgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlOjpTZXRIZWFkZXJCYW5uZXJIZWlnaHRGb3JUZXN0aW5nKGhlaWdodCksIG1fcGFnZUlEKTsK
QEAgLTgyNjEsNiArODI0OCwxOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdFN0b3JhZ2VB
Y2Nlc3MoU3RyaW5nJiYgc3ViRnJhbWVIb3N0LCBTdHJpbmcmJiB0b3BGcmFtZQogfQogI2VuZGlm
CiAKK2Jvb2wgV2ViUGFnZVByb3h5Ojp1c2VEYXJrQXBwZWFyYW5jZSgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIHBhZ2VDbGllbnQoKS5lZmZlY3RpdmVBcHBlYXJhbmNlSXNEYXJrKCk7Cit9CisKK3Zv
aWQgV2ViUGFnZVByb3h5OjplZmZlY3RpdmVBcHBlYXJhbmNlRGlkQ2hhbmdlKCkKK3sKKyAgICBp
ZiAoIWlzVmFsaWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9wcm9jZXNzLT5zZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlOjpTZXRVc2VEYXJrQXBwZWFyYW5jZSh1c2VEYXJrQXBwZWFyYW5jZSgp
KSwgbV9wYWdlSUQpOworfQorCiAjaWYgUExBVEZPUk0oQ09DT0EpCiB2b2lkIFdlYlBhZ2VQcm94
eTo6dG91Y2hCYXJNZW51RGF0YUNoYW5nZWQoY29uc3QgVG91Y2hCYXJNZW51RGF0YSYgdG91Y2hC
YXJNZW51RGF0YSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXgg
YWM1NjAwZjYyYWNjNmEzNmVkMzBlMDJhOWZkNzI0MzAxYmUwYmY0Yy4uY2JmZmZhYzRjODk4YmVl
OTUzZjZmOTgyOTI4NzRmYTQ0NDhiMDc0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKQEAgLTg5Niw5ICs4OTYsMTAgQEAgcHVibGljOgogI2lmIFBMQVRGT1JNKE1BQykK
ICAgICB2b2lkIHNldFVzZVN5c3RlbUFwcGVhcmFuY2UoYm9vbCk7CiAgICAgYm9vbCB1c2VTeXN0
ZW1BcHBlYXJhbmNlKCkgY29uc3QgeyByZXR1cm4gbV91c2VTeXN0ZW1BcHBlYXJhbmNlOyB9Cisj
ZW5kaWYKKwogICAgIHZvaWQgZWZmZWN0aXZlQXBwZWFyYW5jZURpZENoYW5nZSgpOwogICAgIGJv
b2wgdXNlRGFya0FwcGVhcmFuY2UoKSBjb25zdDsKLSNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09D
T0EpCiAgICAgLy8gQ2FsbGVkIGJ5IHRoZSB3ZWIgcHJvY2VzcyB0aHJvdWdoIGEgbWVzc2FnZS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggNWUy
ZDUyMTkwMWU5YzQ5YTJiODQ0ZTNjNDY3OTU4YzkxNzg2NGMzOC4uOWY5ZDM3NDgzZDU4NjBiYTdl
ZjY2YzcyNDNkZjcxMDRjMDRkOGI2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTUyNCwxMCArNTI0LDEzIEBAIFdlYlBhZ2U6OldlYlBhZ2Uo
dWludDY0X3QgcGFnZUlELCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykK
ICAgICBzZXRQYWdlTGVuZ3RoKHBhcmFtZXRlcnMucGFnZUxlbmd0aCk7CiAgICAgc2V0R2FwQmV0
d2VlblBhZ2VzKHBhcmFtZXRlcnMuZ2FwQmV0d2VlblBhZ2VzKTsKICAgICBzZXRQYWdpbmF0aW9u
TGluZUdyaWRFbmFibGVkKHBhcmFtZXRlcnMucGFnaW5hdGlvbkxpbmVHcmlkRW5hYmxlZCk7CisK
KyAgICBzZXRVc2VEYXJrQXBwZWFyYW5jZShwYXJhbWV0ZXJzLnVzZURhcmtBcHBlYXJhbmNlKTsK
KwogI2lmIFBMQVRGT1JNKE1BQykKICAgICBzZXRVc2VTeXN0ZW1BcHBlYXJhbmNlKHBhcmFtZXRl
cnMudXNlU3lzdGVtQXBwZWFyYW5jZSk7Ci0gICAgc2V0VXNlRGFya0FwcGVhcmFuY2UocGFyYW1l
dGVycy51c2VEYXJrQXBwZWFyYW5jZSk7CiAjZW5kaWYKKwogICAgIC8vIElmIHRoZSBwYWdlIGlz
IGNyZWF0ZWQgb2ZmLXNjcmVlbiwgaXRzIHZpc2liaWxpdHlTdGF0ZSBzaG91bGQgYmUgcHJlcmVu
ZGVyLgogICAgIG1fcGFnZS0+c2V0QWN0aXZpdHlTdGF0ZShtX2FjdGl2aXR5U3RhdGUpOwogICAg
IGlmICghaXNWaXNpYmxlKCkpCkBAIC00NTAxLDEyICs0NTA0LDEzIEBAIHZvaWQgV2ViUGFnZTo6
c2V0VXNlU3lzdGVtQXBwZWFyYW5jZShib29sIHVzZVN5c3RlbUFwcGVhcmFuY2UpCiB7CiAgICAg
Y29yZVBhZ2UoKS0+c2V0VXNlU3lzdGVtQXBwZWFyYW5jZSh1c2VTeXN0ZW1BcHBlYXJhbmNlKTsK
IH0KLSAgICAKKworI2VuZGlmCisKIHZvaWQgV2ViUGFnZTo6c2V0VXNlRGFya0FwcGVhcmFuY2Uo
Ym9vbCB1c2VEYXJrQXBwZWFyYW5jZSkKIHsKICAgICBjb3JlUGFnZSgpLT5zZXRVc2VEYXJrQXBw
ZWFyYW5jZSh1c2VEYXJrQXBwZWFyYW5jZSk7CiB9Ci0jZW5kaWYKIAogdm9pZCBXZWJQYWdlOjpi
ZWdpblByaW50aW5nKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFByaW50SW5mbyYgcHJpbnRJbmZv
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IGQ0
ZDIxZDNmMzNmMDc0N2ZkMzY3NmQ3Njk0ODY2MmQxMGE3Yzk1ZjIuLjM1NjNmNzllOGU4ODlkOTUx
ZjI3NzcwMTYyMzdkNGNhY2RhNWQ3NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmgKQEAgLTUzOCw5ICs1MzgsMTAgQEAgcHVibGljOgogICAgIHZvaWQgc2V0
Qm90dG9tT3ZlcmhhbmdJbWFnZShXZWJJbWFnZSopOwogICAgIAogICAgIHZvaWQgc2V0VXNlU3lz
dGVtQXBwZWFyYW5jZShib29sKTsKLSAgICB2b2lkIHNldFVzZURhcmtBcHBlYXJhbmNlKGJvb2wp
OwogI2VuZGlmCiAKKyAgICB2b2lkIHNldFVzZURhcmtBcHBlYXJhbmNlKGJvb2wpOworCiAgICAg
Ym9vbCB3aW5kb3dJc0ZvY3VzZWQoKSBjb25zdDsKICAgICBib29sIHdpbmRvd0FuZFdlYlBhZ2VB
cmVGb2N1c2VkKCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4IDU0YWJiYWY4OTM0Y2NkY2Y4ZTRmMjBm
NzgzZmNiNmI5ZjAzMDQwZWIuLjIxZGRiZmNkOTA2ZGUxYjY2NTEzYTMwNzFmZGE3YjkzZTBiY2I3
NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
bWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5tZXNzYWdlcy5pbgpAQCAtNDc0LDEyICs0NzQsMTMgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZSBM
ZWdhY3lSZWNlaXZlciB7CiAgICAgSGFuZGxlQWNjZXB0ZWRDYW5kaWRhdGUoc3RydWN0IFdlYkNv
cmU6OlRleHRDaGVja2luZ1Jlc3VsdCBhY2NlcHRlZENhbmRpZGF0ZSkKIAogICAgIFNldFVzZVN5
c3RlbUFwcGVhcmFuY2UoYm9vbCB1c2VTeXN0ZW1BcHBlYXJhbmNlKTsKLSAgICBTZXRVc2VEYXJr
QXBwZWFyYW5jZShib29sIHVzZURhcmtBcHBlYXJhbmNlKTsKIAogICAgIFNldEhlYWRlckJhbm5l
ckhlaWdodEZvclRlc3RpbmcoaW50IGhlaWdodCk7CiAgICAgU2V0Rm9vdGVyQmFubmVySGVpZ2h0
Rm9yVGVzdGluZyhpbnQgaGVpZ2h0KTsKICNlbmRpZgogCisgICAgU2V0VXNlRGFya0FwcGVhcmFu
Y2UoYm9vbCB1c2VEYXJrQXBwZWFyYW5jZSk7CisKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBS
ZXF1ZXN0QWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvKFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxs
YmFja0lEKQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0KaW5kZXggZWQwZTBkZjc5YjAzZGE2NmU4YTI5YmNlZDljZWFhOTNjZDY2NWU4Yy4uMGI1ZGJj
NDFmNTRmNmMxNTA3MjllM2Q1ZjJkN2VjNzE1YzlhZjk3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMTU4Nyw2ICsxNTg3LDkgQEAgLSAodm9pZClf
Y29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOihOU1N0cmluZyAqKWZyYW1lTmFtZSBn
cm91cE5hbWU6KE5TU3QKICAgICAgICAgUmVzb3VyY2VIYW5kbGU6OmZvcmNlQ29udGVudFNuaWZm
aW5nKCk7CiAKICAgICBfcHJpdmF0ZS0+cGFnZS0+c2V0RGV2aWNlU2NhbGVGYWN0b3IoW3NlbGYg
X2RldmljZVNjYWxlRmFjdG9yXSk7CisjZW5kaWYKKworI2lmIEhBVkUoT1NfREFSS19NT0RFX1NV
UFBPUlQpICYmIFBMQVRGT1JNKE1BQykKICAgICBfcHJpdmF0ZS0+cGFnZS0+c2V0VXNlRGFya0Fw
cGVhcmFuY2Uoc2VsZi5fZWZmZWN0aXZlQXBwZWFyYW5jZUlzRGFyayk7CiAjZW5kaWYKIApAQCAt
NTI5NSwxNSArNTI5OCwxMyBAQCAtIChXZWJFZGdlSW5zZXRzKV91bm9ic2N1cmVkU2FmZUFyZWFJ
bnNldHMKICAgICByZXR1cm4gaW5zZXRzOwogfQogCisjaWYgSEFWRShPU19EQVJLX01PREVfU1VQ
UE9SVCkgJiYgUExBVEZPUk0oTUFDKQogLSAoYm9vbClfZWZmZWN0aXZlQXBwZWFyYW5jZUlzRGFy
awogewotI2lmIEhBVkUoT1NfREFSS19NT0RFX1NVUFBPUlQpCiAgICAgTlNBcHBlYXJhbmNlTmFt
ZSBhcHBlYXJhbmNlID0gW1tzZWxmIGVmZmVjdGl2ZUFwcGVhcmFuY2VdIGJlc3RNYXRjaEZyb21B
cHBlYXJhbmNlc1dpdGhOYW1lczpAWyBOU0FwcGVhcmFuY2VOYW1lQXF1YSwgTlNBcHBlYXJhbmNl
TmFtZURhcmtBcXVhIF1dOwogICAgIHJldHVybiBbYXBwZWFyYW5jZSBpc0VxdWFsVG9TdHJpbmc6
TlNBcHBlYXJhbmNlTmFtZURhcmtBcXVhXTsKLSNlbHNlCi0gICAgcmV0dXJuIGZhbHNlOwotI2Vu
ZGlmCiB9CisjZW5kaWYKIAogLSAodm9pZClfc2V0VXNlU3lzdGVtQXBwZWFyYW5jZTooQk9PTCl1
c2VTeXN0ZW1BcHBlYXJhbmNlCiB7CkBAIC01MzE5LDYgKzUzMjAsNyBAQCAtIChCT09MKV91c2VT
eXN0ZW1BcHBlYXJhbmNlCiAgICAgcmV0dXJuIF9wcml2YXRlLT5wYWdlLT51c2VTeXN0ZW1BcHBl
YXJhbmNlKCk7CiB9CiAKKyNpZiBIQVZFKE9TX0RBUktfTU9ERV9TVVBQT1JUKSAmJiBQTEFURk9S
TShNQUMpCiAtICh2b2lkKXZpZXdEaWRDaGFuZ2VFZmZlY3RpdmVBcHBlYXJhbmNlCiB7CiAgICAg
Ly8gVGhpcyBjYW4gYmUgY2FsbGVkIGR1cmluZyBbc3VwZXIgaW5pdFdpdGhDb2RlcjpdIGFuZCBb
c3VwZXIgaW5pdFdpdGhGcmFtZTpdLgpAQCAtNTMyOCw2ICs1MzMwLDcgQEAgLSAodm9pZCl2aWV3
RGlkQ2hhbmdlRWZmZWN0aXZlQXBwZWFyYW5jZQogCiAgICAgX3ByaXZhdGUtPnBhZ2UtPnNldFVz
ZURhcmtBcHBlYXJhbmNlKHNlbGYuX2VmZmVjdGl2ZUFwcGVhcmFuY2VJc0RhcmspOwogfQorI2Vu
ZGlmCiAKIC0gKHZvaWQpX3NldFNvdXJjZUFwcGxpY2F0aW9uQXVkaXREYXRhOihOU0RhdGEgKilz
b3VyY2VBcHBsaWNhdGlvbkF1ZGl0RGF0YQogewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360273</attachid>
            <date>2019-01-27 00:11:27 -0800</date>
            <delta_ts>2019-01-27 00:36:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193882-20190127001127.patch</filename>
            <type>text/plain</type>
            <size>14517</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwMjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGY4MTk4MjYwNDAyYzli
MjVhZTI2MjA0YzUxNzc1MDY3ZDEzZDA3MS4uNGZkODJlZWQzN2Q5ZWQwMDkyODE2ZTg4NDJiNTQy
ZjBkOGFiZTNiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE5LTAxLTI2ICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIGl0IGVhc2ll
ciBmb3Igbm9uLUFwcGxlIHBvcnRzIHRvIGVuYWJsZSBkYXJrIG1vZGUgQ1NTIHN1cHBvcnQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM4ODIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBhZ2UvRnJh
bWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6dXBkYXRlQmFja2dyb3Vu
ZFJlY3Vyc2l2ZWx5KTogTGltaXQgdXNlIG9mIHN5c3RlbQorICAgICAgICBiYWNrZ3JvdW5kIGNv
bG9yIHRvIHRoZSBNYWMgcGxhdGZvcm0uCisKIDIwMTktMDEtMjIgIERhdmlkIEtpbHplciAgPGRk
a2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBMZWFrIG9mIE5TTXV0YWJsZUFycmF5ICgxMjgg
Ynl0ZXMpIGluIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCBydW5uaW5nIFdlYktpdCBsYXlv
dXQgdGVzdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKaW5kZXggZmRmYTIzNGU4NWVlOWEyNmE2ZGM4NzQ3M2QwZTA4MzU5NDA1
ZWUzNi4uOTJiNDU2ZGU0YjdjZGIzMmQ2YTRhNzAxNTExOGI4N2VkMzlmNGZkZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwzMCBAQAorMjAxOS0wMS0yNiAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBh
cHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBpdCBlYXNpZXIgZm9yIG5vbi1BcHBsZSBwb3J0cyB0
byBlbmFibGUgZGFyayBtb2RlIENTUyBzdXBwb3J0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzODgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBtb2Rlcm4gV2ViS2l0IGNvZGUgZm9yIGRhcmsg
bW9kZSB1c2FibGUgYnkgb3RoZXIgcG9ydHMsIHRvIG1hdGNoCisgICAgICAgIHRoZSBXZWJDb3Jl
IHBhcnRzIHRoYXQgaGF2ZSBiZWVuIGNyb3NzLXBsYXRmb3JtIGFsbCBhbG9uZy4KKworICAgICAg
ICAqIFNoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFy
ZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdl
Q2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnQ6OmVmZmVjdGl2ZUFwcGVhcmFu
Y2VJc0RhcmsgY29uc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNyZWF0aW9uUGFyYW1ldGVycyk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6dXNlRGFya0FwcGVhcmFuY2UgY29uc3QpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmVmZmVjdGl2ZUFwcGVhcmFuY2VEaWRDaGFuZ2Up
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fc2hvdWxkQXR0YWNo
RHJhd2luZ0FyZWFPblBhZ2VUcmFuc2l0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6
c2V0VXNlRGFya0FwcGVhcmFuY2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46
CisKIDIwMTktMDEtMjIgIE9yaW9sIEJydWZhdSAgPG9icnVmYXVAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbY3NzLWxvZ2ljYWxdIEltcGxlbWVudCBmbG93LXJlbGF0aXZlIG1hcmdpbiwgcGFkZGlu
ZyBhbmQgYm9yZGVyIHNob3J0aGFuZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCA3
ZmFmNzMyODQyOGYyNmYwZmFkYTM5MzNkYmU3MWRhNjJmNmVjM2MzLi5iNmQ2YTMxNDU4MjY3ZTBj
ZWQ5ZjMzNzMxOTA3MWQ5NmE5ZTZjOWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTktMDEtMjYgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBw
bGUuY29tPgorCisgICAgICAgIE1ha2UgaXQgZWFzaWVyIGZvciBub24tQXBwbGUgcG9ydHMgdG8g
ZW5hYmxlIGRhcmsgbW9kZSBDU1Mgc3VwcG9ydC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Mzg4MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtX
ZWJWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hbWU6Z3JvdXBOYW1lOl0pOiBG
aXggc29tZSBkZWZpbmVzLgorICAgICAgICAoLVtXZWJWaWV3IF9lZmZlY3RpdmVBcHBlYXJhbmNl
SXNEYXJrXSk6IERpdHRvLgorCiAyMDE5LTAxLTIyICBPcmlvbCBCcnVmYXUgIDxvYnJ1ZmF1QGln
YWxpYS5jb20+CiAKICAgICAgICAgW2Nzcy1sb2dpY2FsXSBJbXBsZW1lbnQgZmxvdy1yZWxhdGl2
ZSBtYXJnaW4sIHBhZGRpbmcgYW5kIGJvcmRlciBzaG9ydGhhbmRzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5jcHAKaW5kZXggY2M5MzExNDZmYWIwZWVlMGMyYjMzMDc5MWQ3MTA2NzdlNzRiNjg5My4u
NjZiYWQzYTUzYmIxYzNjYmNkYzA2N2IwMjJhOTgzNzhjOWM5YzY5NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcApAQCAtMzAxMiw3ICszMDEyLDcgQEAgdm9pZCBGcmFtZVZpZXc6OnNldEJh
c2VCYWNrZ3JvdW5kQ29sb3IoY29uc3QgQ29sb3ImIGJhY2tncm91bmRDb2xvcikKIAogdm9pZCBG
cmFtZVZpZXc6OnVwZGF0ZUJhY2tncm91bmRSZWN1cnNpdmVseShib29sIHRyYW5zcGFyZW50KQog
ewotI2lmIEVOQUJMRShEQVJLX01PREVfQ1NTKQorI2lmIEVOQUJMRShEQVJLX01PREVfQ1NTKSAm
JiBQTEFURk9STShNQUMpCiAgICAgQ29sb3IgYmFja2dyb3VuZENvbG9yID0gdHJhbnNwYXJlbnQg
PyBDb2xvcjo6dHJhbnNwYXJlbnQgOiBSZW5kZXJUaGVtZTo6c2luZ2xldG9uKCkuc3lzdGVtQ29s
b3IoQ1NTVmFsdWVBcHBsZVN5c3RlbUNvbnRyb2xCYWNrZ3JvdW5kLCBzdHlsZUNvbG9yT3B0aW9u
cygpKTsKICNlbHNlCiAgICAgQ29sb3IgYmFja2dyb3VuZENvbG9yID0gdHJhbnNwYXJlbnQgPyBD
b2xvcjo6dHJhbnNwYXJlbnQgOiBDb2xvcjo6d2hpdGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IDZkMDdjMDNhZDhjOTI3
ZTU0NTNjNWZkYTk1OTY3MDlhNzcyNjFlMmIuLmFmNzVkOTk3NzFkZWE0ZjE5ZjYyMDMwZDkzM2Q4
ZmFjNmQ1ZGJiMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVh
dGlvblBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVh
dGlvblBhcmFtZXRlcnMuY3BwCkBAIC03NCwxMSArNzQsMTEgQEAgdm9pZCBXZWJQYWdlQ3JlYXRp
b25QYXJhbWV0ZXJzOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVu
Y29kZXIgPDwgbWltZVR5cGVzV2l0aEN1c3RvbUNvbnRlbnRQcm92aWRlcnM7CiAgICAgZW5jb2Rl
ciA8PCBjb250cm9sbGVkQnlBdXRvbWF0aW9uOwogICAgIGVuY29kZXIgPDwgaXNQcm9jZXNzU3dh
cDsKKyAgICBlbmNvZGVyIDw8IHVzZURhcmtBcHBlYXJhbmNlOwogCiAjaWYgUExBVEZPUk0oTUFD
KQogICAgIGVuY29kZXIgPDwgY29sb3JTcGFjZTsKICAgICBlbmNvZGVyIDw8IHVzZVN5c3RlbUFw
cGVhcmFuY2U7Ci0gICAgZW5jb2RlciA8PCB1c2VEYXJrQXBwZWFyYW5jZTsKICNlbmRpZgogI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgZW5jb2RlciA8PCBzY3JlZW5TaXplOwpAQCAtMjI5
LDE0ICsyMjksMTQgQEAgT3B0aW9uYWw8V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycz4gV2ViUGFn
ZUNyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6RGVjb2QKICAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMuaXNQcm9jZXNz
U3dhcCkpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShwYXJhbWV0ZXJzLnVzZURhcmtBcHBlYXJhbmNlKSkKKyAgICAgICAgcmV0dXJuIFdURjo6
bnVsbG9wdDsKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBh
cmFtZXRlcnMuY29sb3JTcGFjZSkpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAgICAg
aWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLnVzZVN5c3RlbUFwcGVhcmFuY2UpKQogICAg
ICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1l
dGVycy51c2VEYXJrQXBwZWFyYW5jZSkpCi0gICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAj
ZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggYjM4MmNlZWRkNDQ5YThkOWEw
Zjg2OTQ3MzVmMjZjMDU5NWRkZWNkOC4uZmIzMjdlNDA4MjBkYmE3MjIzYmQwMjAxM2QyYzEyNjI3
MzM3NGVjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9u
UGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBh
cmFtZXRlcnMuaApAQCAtMTMxLDEwICsxMzEsMTEgQEAgc3RydWN0IFdlYlBhZ2VDcmVhdGlvblBh
cmFtZXRlcnMgewogICAgIGJvb2wgY29udHJvbGxlZEJ5QXV0b21hdGlvbjsKICAgICBib29sIGlz
UHJvY2Vzc1N3YXAgeyBmYWxzZSB9OwogCisgICAgYm9vbCB1c2VEYXJrQXBwZWFyYW5jZSB7IGZh
bHNlIH07CisKICNpZiBQTEFURk9STShNQUMpCiAgICAgQ29sb3JTcGFjZURhdGEgY29sb3JTcGFj
ZTsKICAgICBib29sIHVzZVN5c3RlbUFwcGVhcmFuY2U7Ci0gICAgYm9vbCB1c2VEYXJrQXBwZWFy
YW5jZTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgV2ViQ29yZTo6Rmxv
YXRTaXplIHNjcmVlblNpemU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Q
YWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKaW5kZXgg
MDc5NWNkOGRhZjRhOTAzZDZlMGMwMmIxMzg5N2E1ODc2NmI2YzZjYS4uMjA2Yzg0YjI4YTc3OWY1
NmQ1ZjdkNDEwODdlMzFlMjFlYWY0NzUxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvUGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGll
bnQuaApAQCAtMzExLDYgKzMxMSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlkUGVy
Zm9ybURpY3Rpb25hcnlMb29rdXAoY29uc3QgV2ViQ29yZTo6RGljdGlvbmFyeVBvcHVwSW5mbyYp
ID0gMDsKICNlbmRpZgogCisgICAgdmlydHVhbCBib29sIGVmZmVjdGl2ZUFwcGVhcmFuY2VJc0Rh
cmsoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorCiAgICAgdmlydHVhbCB2b2lkIGVudGVyQWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUoY29uc3QgTGF5ZXJUcmVlQ29udGV4dCYpID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKCkgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCB1cGRhdGVBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZShjb25zdCBMYXll
clRyZWVDb250ZXh0JikgPSAwOwpAQCAtMzM3LDggKzMzOSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIE5TV2luZG93ICpwbGF0Zm9ybVdpbmRvdygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0
U2hvdWxkU3VwcHJlc3NGaXJzdFJlc3BvbmRlckNoYW5nZXMoYm9vbCkgPSAwOwogCi0gICAgdmly
dHVhbCBib29sIGVmZmVjdGl2ZUFwcGVhcmFuY2VJc0RhcmsoKSBjb25zdCA9IDA7Ci0KICNpZiBX
S19BUElfRU5BQkxFRAogICAgIHZpcnR1YWwgTlNWaWV3ICppbnNwZWN0b3JBdHRhY2htZW50Vmll
dygpID0gMDsKICAgICB2aXJ0dWFsIF9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5ICpyZW1vdGVPYmpl
Y3RSZWdpc3RyeSgpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CmluZGV4IGU3NGYzOGRjNTliNDAwZDQwMjZlMmNhZDNjNjU5ZTA1MjViNDNjOWEuLjYyOTE2MzRl
MzFlYmZlODljM2U4NGI4YTRiZTg4NzkwMzgxZjc2NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNjc3NywxMCArNjc3NywxMCBAQCBXZWJQYWdlQ3JlYXRp
b25QYXJhbWV0ZXJzIFdlYlBhZ2VQcm94eTo6Y3JlYXRpb25QYXJhbWV0ZXJzKFdlYlByb2Nlc3NQ
cm94eSYgcHJvYwogICAgIHBhcmFtZXRlcnMuYmFja2dyb3VuZEV4dGVuZHNCZXlvbmRQYWdlID0g
bV9iYWNrZ3JvdW5kRXh0ZW5kc0JleW9uZFBhZ2U7CiAgICAgcGFyYW1ldGVycy5sYXllckhvc3Rp
bmdNb2RlID0gbV9sYXllckhvc3RpbmdNb2RlOwogICAgIHBhcmFtZXRlcnMuY29udHJvbGxlZEJ5
QXV0b21hdGlvbiA9IG1fY29udHJvbGxlZEJ5QXV0b21hdGlvbjsKKyAgICBwYXJhbWV0ZXJzLnVz
ZURhcmtBcHBlYXJhbmNlID0gdXNlRGFya0FwcGVhcmFuY2UoKTsKICNpZiBQTEFURk9STShNQUMp
CiAgICAgcGFyYW1ldGVycy5jb2xvclNwYWNlID0gcGFnZUNsaWVudCgpLmNvbG9yU3BhY2UoKTsK
ICAgICBwYXJhbWV0ZXJzLnVzZVN5c3RlbUFwcGVhcmFuY2UgPSBtX3VzZVN5c3RlbUFwcGVhcmFu
Y2U7Ci0gICAgcGFyYW1ldGVycy51c2VEYXJrQXBwZWFyYW5jZSA9IHVzZURhcmtBcHBlYXJhbmNl
KCk7CiAjZW5kaWYKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIHBhcmFtZXRlcnMuc2Ny
ZWVuU2l6ZSA9IHNjcmVlblNpemUoKTsKQEAgLTczOTMsMTEgKzczOTMsNiBAQCB2b2lkIFdlYlBh
Z2VQcm94eTo6aGFuZGxlQWx0ZXJuYXRpdmVUZXh0VUlSZXN1bHQoY29uc3QgU3RyaW5nJiByZXN1
bHQpCiAgICAgICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6SGFuZGxlQWx0
ZXJuYXRpdmVUZXh0VUlSZXN1bHQocmVzdWx0KSwgbV9wYWdlSUQpOwogfQogCi1ib29sIFdlYlBh
Z2VQcm94eTo6dXNlRGFya0FwcGVhcmFuY2UoKSBjb25zdAotewotICAgIHJldHVybiBwYWdlQ2xp
ZW50KCkuZWZmZWN0aXZlQXBwZWFyYW5jZUlzRGFyaygpOwotfQotCiAjaWYgVVNFKERJQ1RBVElP
Tl9BTFRFUk5BVElWRVMpCiB2b2lkIFdlYlBhZ2VQcm94eTo6c2hvd0RpY3RhdGlvbkFsdGVybmF0
aXZlVUkoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBib3VuZGluZ0JveE9mRGljdGF0ZWRUZXh0
LCB1aW50NjRfdCBkaWN0YXRpb25Db250ZXh0KQogewpAQCAtNzkwNCwxNCArNzg5OSw2IEBAIHZv
aWQgV2ViUGFnZVByb3h5OjpzZXRVc2VTeXN0ZW1BcHBlYXJhbmNlKGJvb2wgdXNlU3lzdGVtQXBw
ZWFyYW5jZSkKICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldFVzZVN5
c3RlbUFwcGVhcmFuY2UodXNlU3lzdGVtQXBwZWFyYW5jZSksIG1fcGFnZUlEKTsKIH0KICAgICAK
LXZvaWQgV2ViUGFnZVByb3h5OjplZmZlY3RpdmVBcHBlYXJhbmNlRGlkQ2hhbmdlKCkKLXsKLSAg
ICBpZiAoIWlzVmFsaWQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9wcm9jZXNzLT5zZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlOjpTZXRVc2VEYXJrQXBwZWFyYW5jZSh1c2VEYXJrQXBwZWFyYW5j
ZSgpKSwgbV9wYWdlSUQpOwotfQotCiB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0SGVhZGVyQmFubmVy
SGVpZ2h0Rm9yVGVzdGluZyhpbnQgaGVpZ2h0KQogewogICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNz
YWdlczo6V2ViUGFnZTo6U2V0SGVhZGVyQmFubmVySGVpZ2h0Rm9yVGVzdGluZyhoZWlnaHQpLCBt
X3BhZ2VJRCk7CkBAIC04MjYxLDYgKzgyNDgsMTkgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnJlcXVl
c3RTdG9yYWdlQWNjZXNzKFN0cmluZyYmIHN1YkZyYW1lSG9zdCwgU3RyaW5nJiYgdG9wRnJhbWUK
IH0KICNlbmRpZgogCitib29sIFdlYlBhZ2VQcm94eTo6dXNlRGFya0FwcGVhcmFuY2UoKSBjb25z
dAoreworICAgIHJldHVybiBwYWdlQ2xpZW50KCkuZWZmZWN0aXZlQXBwZWFyYW5jZUlzRGFyaygp
OworfQorCit2b2lkIFdlYlBhZ2VQcm94eTo6ZWZmZWN0aXZlQXBwZWFyYW5jZURpZENoYW5nZSgp
Cit7CisgICAgaWYgKCFpc1ZhbGlkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1fcHJvY2Vz
cy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0VXNlRGFya0FwcGVhcmFuY2UodXNlRGFya0Fw
cGVhcmFuY2UoKSksIG1fcGFnZUlEKTsKK30KKwogI2lmIFBMQVRGT1JNKENPQ09BKQogdm9pZCBX
ZWJQYWdlUHJveHk6OnRvdWNoQmFyTWVudURhdGFDaGFuZ2VkKGNvbnN0IFRvdWNoQmFyTWVudURh
dGEmIHRvdWNoQmFyTWVudURhdGEpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCmluZGV4IGFjNTYwMGY2MmFjYzZhMzZlZDMwZTAyYTlmZDcyNDMwMWJlMGJmNGMuLmNiZmZm
YWM0Yzg5OGJlZTk1M2Y2Zjk4MjkyODc0ZmE0NDQ4YjA3NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC04OTYsOSArODk2LDEwIEBAIHB1YmxpYzoKICNpZiBQTEFU
Rk9STShNQUMpCiAgICAgdm9pZCBzZXRVc2VTeXN0ZW1BcHBlYXJhbmNlKGJvb2wpOwogICAgIGJv
b2wgdXNlU3lzdGVtQXBwZWFyYW5jZSgpIGNvbnN0IHsgcmV0dXJuIG1fdXNlU3lzdGVtQXBwZWFy
YW5jZTsgfQorI2VuZGlmCisKICAgICB2b2lkIGVmZmVjdGl2ZUFwcGVhcmFuY2VEaWRDaGFuZ2Uo
KTsKICAgICBib29sIHVzZURhcmtBcHBlYXJhbmNlKCkgY29uc3Q7Ci0jZW5kaWYKIAogI2lmIFBM
QVRGT1JNKENPQ09BKQogICAgIC8vIENhbGxlZCBieSB0aGUgd2ViIHByb2Nlc3MgdGhyb3VnaCBh
IG1lc3NhZ2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CmluZGV4IDVlMmQ1MjE5MDFlOWM0OWEyYjg0NGUzYzQ2Nzk1OGM5MTc4NjRjMzguLjlmOWQzNzQ4
M2Q1ODYwYmE3ZWY2NmM3MjQzZGY3MTA0YzA0ZDhiNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC01MjQsMTAgKzUyNCwxMyBAQCBXZWJQYWdl
OjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYmIHBh
cmFtZXRlcnMpCiAgICAgc2V0UGFnZUxlbmd0aChwYXJhbWV0ZXJzLnBhZ2VMZW5ndGgpOwogICAg
IHNldEdhcEJldHdlZW5QYWdlcyhwYXJhbWV0ZXJzLmdhcEJldHdlZW5QYWdlcyk7CiAgICAgc2V0
UGFnaW5hdGlvbkxpbmVHcmlkRW5hYmxlZChwYXJhbWV0ZXJzLnBhZ2luYXRpb25MaW5lR3JpZEVu
YWJsZWQpOworCisgICAgc2V0VXNlRGFya0FwcGVhcmFuY2UocGFyYW1ldGVycy51c2VEYXJrQXBw
ZWFyYW5jZSk7CisKICNpZiBQTEFURk9STShNQUMpCiAgICAgc2V0VXNlU3lzdGVtQXBwZWFyYW5j
ZShwYXJhbWV0ZXJzLnVzZVN5c3RlbUFwcGVhcmFuY2UpOwotICAgIHNldFVzZURhcmtBcHBlYXJh
bmNlKHBhcmFtZXRlcnMudXNlRGFya0FwcGVhcmFuY2UpOwogI2VuZGlmCisKICAgICAvLyBJZiB0
aGUgcGFnZSBpcyBjcmVhdGVkIG9mZi1zY3JlZW4sIGl0cyB2aXNpYmlsaXR5U3RhdGUgc2hvdWxk
IGJlIHByZXJlbmRlci4KICAgICBtX3BhZ2UtPnNldEFjdGl2aXR5U3RhdGUobV9hY3Rpdml0eVN0
YXRlKTsKICAgICBpZiAoIWlzVmlzaWJsZSgpKQpAQCAtNDUwMSwxMiArNDUwNCwxMyBAQCB2b2lk
IFdlYlBhZ2U6OnNldFVzZVN5c3RlbUFwcGVhcmFuY2UoYm9vbCB1c2VTeXN0ZW1BcHBlYXJhbmNl
KQogewogICAgIGNvcmVQYWdlKCktPnNldFVzZVN5c3RlbUFwcGVhcmFuY2UodXNlU3lzdGVtQXBw
ZWFyYW5jZSk7CiB9Ci0gICAgCisKKyNlbmRpZgorCiB2b2lkIFdlYlBhZ2U6OnNldFVzZURhcmtB
cHBlYXJhbmNlKGJvb2wgdXNlRGFya0FwcGVhcmFuY2UpCiB7CiAgICAgY29yZVBhZ2UoKS0+c2V0
VXNlRGFya0FwcGVhcmFuY2UodXNlRGFya0FwcGVhcmFuY2UpOwogfQotI2VuZGlmCiAKIHZvaWQg
V2ViUGFnZTo6YmVnaW5QcmludGluZyh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBQcmludEluZm8m
IHByaW50SW5mbykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aAppbmRleCBkNGQyMWQzZjMzZjA3NDdmZDM2NzZkNzY5NDg2NjJkMTBhN2M5NWYyLi4zNTYzZjc5
ZThlODg5ZDk1MWYyNzc3MDE2MjM3ZDRjYWNkYTVkNzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC01MzgsOSArNTM4LDEwIEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldEJvdHRvbU92ZXJoYW5nSW1hZ2UoV2ViSW1hZ2UqKTsKICAgICAKICAgICB2b2lk
IHNldFVzZVN5c3RlbUFwcGVhcmFuY2UoYm9vbCk7Ci0gICAgdm9pZCBzZXRVc2VEYXJrQXBwZWFy
YW5jZShib29sKTsKICNlbmRpZgogCisgICAgdm9pZCBzZXRVc2VEYXJrQXBwZWFyYW5jZShib29s
KTsKKwogICAgIGJvb2wgd2luZG93SXNGb2N1c2VkKCkgY29uc3Q7CiAgICAgYm9vbCB3aW5kb3dB
bmRXZWJQYWdlQXJlRm9jdXNlZCgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgppbmRleCA1NGFiYmFmODkzNGNj
ZGNmOGU0ZjIwZjc4M2ZjYjZiOWYwMzA0MGViLi4yMWRkYmZjZDkwNmRlMWI2NjUxM2EzMDcxZmRh
N2I5M2UwYmNiNzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAgLTQ3NCwxMiArNDc0LDEzIEBAIG1lc3NhZ2VzIC0+
IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogICAgIEhhbmRsZUFjY2VwdGVkQ2FuZGlkYXRlKHN0
cnVjdCBXZWJDb3JlOjpUZXh0Q2hlY2tpbmdSZXN1bHQgYWNjZXB0ZWRDYW5kaWRhdGUpCiAKICAg
ICBTZXRVc2VTeXN0ZW1BcHBlYXJhbmNlKGJvb2wgdXNlU3lzdGVtQXBwZWFyYW5jZSk7Ci0gICAg
U2V0VXNlRGFya0FwcGVhcmFuY2UoYm9vbCB1c2VEYXJrQXBwZWFyYW5jZSk7CiAKICAgICBTZXRI
ZWFkZXJCYW5uZXJIZWlnaHRGb3JUZXN0aW5nKGludCBoZWlnaHQpOwogICAgIFNldEZvb3RlckJh
bm5lckhlaWdodEZvclRlc3RpbmcoaW50IGhlaWdodCk7CiAjZW5kaWYKIAorICAgIFNldFVzZURh
cmtBcHBlYXJhbmNlKGJvb2wgdXNlRGFya0FwcGVhcmFuY2UpOworCiAjaWYgUExBVEZPUk0oQ09D
T0EpCiAgICAgUmVxdWVzdEFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mbyhXZWJLaXQ6OkNhbGxi
YWNrSUQgY2FsbGJhY2tJRCkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCmluZGV4IGVkMGUwZGY3OWIwM2RhNjZlOGEyOWJjZWQ5Y2VhYTkzY2Q2NjVl
OGMuLjBiNWRiYzQxZjU0ZjZjMTUwNzI5ZTNkNWYyZDdlYzcxNWM5YWY5N2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTE1ODcsNiArMTU4Nyw5IEBA
IC0gKHZvaWQpX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZTooTlNTdHJpbmcgKilm
cmFtZU5hbWUgZ3JvdXBOYW1lOihOU1N0CiAgICAgICAgIFJlc291cmNlSGFuZGxlOjpmb3JjZUNv
bnRlbnRTbmlmZmluZygpOwogCiAgICAgX3ByaXZhdGUtPnBhZ2UtPnNldERldmljZVNjYWxlRmFj
dG9yKFtzZWxmIF9kZXZpY2VTY2FsZUZhY3Rvcl0pOworI2VuZGlmCisKKyNpZiBIQVZFKE9TX0RB
UktfTU9ERV9TVVBQT1JUKSAmJiBQTEFURk9STShNQUMpCiAgICAgX3ByaXZhdGUtPnBhZ2UtPnNl
dFVzZURhcmtBcHBlYXJhbmNlKHNlbGYuX2VmZmVjdGl2ZUFwcGVhcmFuY2VJc0RhcmspOwogI2Vu
ZGlmCiAKQEAgLTUyOTUsMTUgKzUyOTgsMTMgQEAgLSAoV2ViRWRnZUluc2V0cylfdW5vYnNjdXJl
ZFNhZmVBcmVhSW5zZXRzCiAgICAgcmV0dXJuIGluc2V0czsKIH0KIAorI2lmIEhBVkUoT1NfREFS
S19NT0RFX1NVUFBPUlQpICYmIFBMQVRGT1JNKE1BQykKIC0gKGJvb2wpX2VmZmVjdGl2ZUFwcGVh
cmFuY2VJc0RhcmsKIHsKLSNpZiBIQVZFKE9TX0RBUktfTU9ERV9TVVBQT1JUKQogICAgIE5TQXBw
ZWFyYW5jZU5hbWUgYXBwZWFyYW5jZSA9IFtbc2VsZiBlZmZlY3RpdmVBcHBlYXJhbmNlXSBiZXN0
TWF0Y2hGcm9tQXBwZWFyYW5jZXNXaXRoTmFtZXM6QFsgTlNBcHBlYXJhbmNlTmFtZUFxdWEsIE5T
QXBwZWFyYW5jZU5hbWVEYXJrQXF1YSBdXTsKICAgICByZXR1cm4gW2FwcGVhcmFuY2UgaXNFcXVh
bFRvU3RyaW5nOk5TQXBwZWFyYW5jZU5hbWVEYXJrQXF1YV07Ci0jZWxzZQotICAgIHJldHVybiBm
YWxzZTsKLSNlbmRpZgogfQorI2VuZGlmCiAKIC0gKHZvaWQpX3NldFVzZVN5c3RlbUFwcGVhcmFu
Y2U6KEJPT0wpdXNlU3lzdGVtQXBwZWFyYW5jZQogewpAQCAtNTMxOSw2ICs1MzIwLDcgQEAgLSAo
Qk9PTClfdXNlU3lzdGVtQXBwZWFyYW5jZQogICAgIHJldHVybiBfcHJpdmF0ZS0+cGFnZS0+dXNl
U3lzdGVtQXBwZWFyYW5jZSgpOwogfQogCisjaWYgSEFWRShPU19EQVJLX01PREVfU1VQUE9SVCkg
JiYgUExBVEZPUk0oTUFDKQogLSAodm9pZCl2aWV3RGlkQ2hhbmdlRWZmZWN0aXZlQXBwZWFyYW5j
ZQogewogICAgIC8vIFRoaXMgY2FuIGJlIGNhbGxlZCBkdXJpbmcgW3N1cGVyIGluaXRXaXRoQ29k
ZXI6XSBhbmQgW3N1cGVyIGluaXRXaXRoRnJhbWU6XS4KQEAgLTUzMjgsNiArNTMzMCw3IEBAIC0g
KHZvaWQpdmlld0RpZENoYW5nZUVmZmVjdGl2ZUFwcGVhcmFuY2UKIAogICAgIF9wcml2YXRlLT5w
YWdlLT5zZXRVc2VEYXJrQXBwZWFyYW5jZShzZWxmLl9lZmZlY3RpdmVBcHBlYXJhbmNlSXNEYXJr
KTsKIH0KKyNlbmRpZgogCiAtICh2b2lkKV9zZXRTb3VyY2VBcHBsaWNhdGlvbkF1ZGl0RGF0YToo
TlNEYXRhICopc291cmNlQXBwbGljYXRpb25BdWRpdERhdGEKIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360276</attachid>
            <date>2019-01-27 00:36:43 -0800</date>
            <delta_ts>2019-01-27 11:49:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193882-20190127003642.patch</filename>
            <type>text/plain</type>
            <size>18913</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwMjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGY4MTk4MjYwNDAyYzli
MjVhZTI2MjA0YzUxNzc1MDY3ZDEzZDA3MS4uMWVkNDc1YjVmNWY4MTQ3NzIyMGY4NTZhYTA3YTg5
N2E5MGFiMjM1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE5LTAxLTI3ICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIGl0IGVhc2ll
ciBmb3Igbm9uLUFwcGxlIHBvcnRzIHRvIGVuYWJsZSBkYXJrIG1vZGUgQ1NTIHN1cHBvcnQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM4ODIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBhZ2UvRnJh
bWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6dXBkYXRlQmFja2dyb3Vu
ZFJlY3Vyc2l2ZWx5KTogTGltaXQgdXNlIG9mIHN5c3RlbQorICAgICAgICBiYWNrZ3JvdW5kIGNv
bG9yIHRvIHRoZSBNYWMgcGxhdGZvcm0uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1l
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjpwdXJnZUNhY2hlcyk6IFB1cmdl
IG1fZGFya0NvbG9yQ2FjaGUuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6cGxhdGZv
cm1Db2xvcnNEaWRDaGFuZ2UpOiBSZXNldCBtX2RhcmtDb2xvckNhY2hlLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWU6OmNvbG9yQ2FjaGUgY29uc3QpOiBBZGRlZCBtX2RhcmtDb2xvckNh
Y2hlLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5oOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGhlbWU6OmNvbG9yQ2FjaGUgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjpwdXJnZUNhY2hlcyk6
IFJlbW92ZWQgbV9kYXJrQ29sb3JDYWNoZS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1l
TWFjOjpwbGF0Zm9ybUNvbG9yc0RpZENoYW5nZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZU1hYzo6Y29sb3JDYWNoZSBjb25zdCk6IERlbGV0ZWQuCisKIDIwMTktMDEt
MjIgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBMZWFrIG9m
IE5TTXV0YWJsZUFycmF5ICgxMjggYnl0ZXMpIGluIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVu
dCBydW5uaW5nIFdlYktpdCBsYXlvdXQgdGVzdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZmRmYTIzNGU4NWVlOWEy
NmE2ZGM4NzQ3M2QwZTA4MzU5NDA1ZWUzNi4uOTJiNDU2ZGU0YjdjZGIzMmQ2YTRhNzAxNTExOGI4
N2VkMzlmNGZkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAxOS0wMS0yNiAgVGltb3Ro
eSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBpdCBlYXNpZXIg
Zm9yIG5vbi1BcHBsZSBwb3J0cyB0byBlbmFibGUgZGFyayBtb2RlIENTUyBzdXBwb3J0LgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzODgyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBtb2Rlcm4g
V2ViS2l0IGNvZGUgZm9yIGRhcmsgbW9kZSB1c2FibGUgYnkgb3RoZXIgcG9ydHMsIHRvIG1hdGNo
CisgICAgICAgIHRoZSBXZWJDb3JlIHBhcnRzIHRoYXQgaGF2ZSBiZWVuIGNyb3NzLXBsYXRmb3Jt
IGFsbCBhbG9uZy4KKworICAgICAgICAqIFNoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJz
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2Rl
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZGVj
b2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGll
bnQ6OmVmZmVjdGl2ZUFwcGVhcmFuY2VJc0RhcmsgY29uc3QpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNyZWF0
aW9uUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6dXNlRGFya0Fw
cGVhcmFuY2UgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmVmZmVjdGl2
ZUFwcGVhcmFuY2VEaWRDaGFuZ2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Om1fc2hvdWxkQXR0YWNoRHJhd2luZ0FyZWFPblBhZ2VUcmFuc2l0aW9uKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6c2V0VXNlRGFya0FwcGVhcmFuY2UpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UubWVzc2FnZXMuaW46CisKIDIwMTktMDEtMjIgIE9yaW9sIEJydWZhdSAgPG9icnVm
YXVAaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWxvZ2ljYWxdIEltcGxlbWVudCBmbG93LXJl
bGF0aXZlIG1hcmdpbiwgcGFkZGluZyBhbmQgYm9yZGVyIHNob3J0aGFuZHMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZwppbmRleCA3ZmFmNzMyODQyOGYyNmYwZmFkYTM5MzNkYmU3MWRhNjJmNmVj
M2MzLi5iNmQ2YTMxNDU4MjY3ZTBjZWQ5ZjMzNzMxOTA3MWQ5NmE5ZTZjOWYxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMDEtMjYgIFRpbW90aHkg
SGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgaXQgZWFzaWVyIGZv
ciBub24tQXBwbGUgcG9ydHMgdG8gZW5hYmxlIGRhcmsgbW9kZSBDU1Mgc3VwcG9ydC4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Mzg4MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJW
aWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFt
ZU5hbWU6Z3JvdXBOYW1lOl0pOiBGaXggc29tZSBkZWZpbmVzLgorICAgICAgICAoLVtXZWJWaWV3
IF9lZmZlY3RpdmVBcHBlYXJhbmNlSXNEYXJrXSk6IERpdHRvLgorCiAyMDE5LTAxLTIyICBPcmlv
bCBCcnVmYXUgIDxvYnJ1ZmF1QGlnYWxpYS5jb20+CiAKICAgICAgICAgW2Nzcy1sb2dpY2FsXSBJ
bXBsZW1lbnQgZmxvdy1yZWxhdGl2ZSBtYXJnaW4sIHBhZGRpbmcgYW5kIGJvcmRlciBzaG9ydGhh
bmRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggY2M5MzExNDZmYWIwZWVlMGMyYjMz
MDc5MWQ3MTA2NzdlNzRiNjg5My4uNjZiYWQzYTUzYmIxYzNjYmNkYzA2N2IwMjJhOTgzNzhjOWM5
YzY5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMzAxMiw3ICszMDEyLDcgQEAg
dm9pZCBGcmFtZVZpZXc6OnNldEJhc2VCYWNrZ3JvdW5kQ29sb3IoY29uc3QgQ29sb3ImIGJhY2tn
cm91bmRDb2xvcikKIAogdm9pZCBGcmFtZVZpZXc6OnVwZGF0ZUJhY2tncm91bmRSZWN1cnNpdmVs
eShib29sIHRyYW5zcGFyZW50KQogewotI2lmIEVOQUJMRShEQVJLX01PREVfQ1NTKQorI2lmIEVO
QUJMRShEQVJLX01PREVfQ1NTKSAmJiBQTEFURk9STShNQUMpCiAgICAgQ29sb3IgYmFja2dyb3Vu
ZENvbG9yID0gdHJhbnNwYXJlbnQgPyBDb2xvcjo6dHJhbnNwYXJlbnQgOiBSZW5kZXJUaGVtZTo6
c2luZ2xldG9uKCkuc3lzdGVtQ29sb3IoQ1NTVmFsdWVBcHBsZVN5c3RlbUNvbnRyb2xCYWNrZ3Jv
dW5kLCBzdHlsZUNvbG9yT3B0aW9ucygpKTsKICNlbHNlCiAgICAgQ29sb3IgYmFja2dyb3VuZENv
bG9yID0gdHJhbnNwYXJlbnQgPyBDb2xvcjo6dHJhbnNwYXJlbnQgOiBDb2xvcjo6d2hpdGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAppbmRleCA3NmM5YzVjNzhkNTZk
M2U4ZDk3ZDQyMWY0ZGZhYTRhYjFiZDllY2MwLi5hMDdiNzQxMDMwMmQ3ZjAwODY0NTAxMDM2ZmEx
MDUwYmJhYjJlYjZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAK
QEAgLTEyMTYsMTUgKzEyMTYsMjQgQEAgdm9pZCBSZW5kZXJUaGVtZTo6YWRqdXN0U2VhcmNoRmll
bGRSZXN1bHRzQnV0dG9uU3R5bGUoU3R5bGVSZXNvbHZlciYsIFJlbmRlclN0eWwKIHZvaWQgUmVu
ZGVyVGhlbWU6OnB1cmdlQ2FjaGVzKCkKIHsKICAgICBtX2NvbG9yQ2FjaGUgPSBDb2xvckNhY2hl
KCk7CisgICAgbV9kYXJrQ29sb3JDYWNoZSA9IENvbG9yQ2FjaGUoKTsKIH0KIAogdm9pZCBSZW5k
ZXJUaGVtZTo6cGxhdGZvcm1Db2xvcnNEaWRDaGFuZ2UoKQogewogICAgIG1fY29sb3JDYWNoZSA9
IENvbG9yQ2FjaGUoKTsKKyAgICBtX2RhcmtDb2xvckNhY2hlID0gQ29sb3JDYWNoZSgpOwogCiAg
ICAgUGFnZTo6dXBkYXRlU3R5bGVGb3JBbGxQYWdlc0FmdGVyR2xvYmFsQ2hhbmdlSW5FbnZpcm9u
bWVudCgpOwogfQogCithdXRvIFJlbmRlclRoZW1lOjpjb2xvckNhY2hlKE9wdGlvblNldDxTdHls
ZUNvbG9yOjpPcHRpb25zPiBvcHRpb25zKSBjb25zdCAtPiBDb2xvckNhY2hlJgoreworICAgIGlm
IChvcHRpb25zLmNvbnRhaW5zKFN0eWxlQ29sb3I6Ok9wdGlvbnM6OlVzZURhcmtBcHBlYXJhbmNl
KSkKKyAgICAgICAgcmV0dXJuIG1fZGFya0NvbG9yQ2FjaGU7CisgICAgcmV0dXJuIG1fY29sb3JD
YWNoZTsKK30KKwogRm9udENhc2NhZGVEZXNjcmlwdGlvbiYgUmVuZGVyVGhlbWU6OmNhY2hlZFN5
c3RlbUZvbnREZXNjcmlwdGlvbihDU1NWYWx1ZUlEIHN5c3RlbUZvbnRJRCkgY29uc3QKIHsKICAg
ICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Rm9udENhc2NhZGVEZXNjcmlwdGlvbj4gY2FwdGlvbjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKaW5kZXggYTYyOTJhNDM3YzlmOTM1
MmRkZTBiNmIyNWJjYTgxNzU4OTZhOTA5Zi4uNDcxYTlhM2E0YjUzY2FmOTI5NDY0Yjg2NjQwNzVh
MTBjMTlmMjBkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKQEAgLTQz
OCwxMCArNDM4LDExIEBAIHByb3RlY3RlZDoKICAgICAgICAgQ29sb3IgaW5hY3RpdmVUZXh0U2Vh
cmNoSGlnaGxpZ2h0Q29sb3I7CiAgICAgfTsKIAotICAgIHZpcnR1YWwgQ29sb3JDYWNoZSYgY29s
b3JDYWNoZShPcHRpb25TZXQ8U3R5bGVDb2xvcjo6T3B0aW9ucz4pIGNvbnN0IHsgcmV0dXJuIG1f
Y29sb3JDYWNoZTsgfQorICAgIHZpcnR1YWwgQ29sb3JDYWNoZSYgY29sb3JDYWNoZShPcHRpb25T
ZXQ8U3R5bGVDb2xvcjo6T3B0aW9ucz4pIGNvbnN0OwogCiBwcml2YXRlOgogICAgIG11dGFibGUg
Q29sb3JDYWNoZSBtX2NvbG9yQ2FjaGU7CisgICAgbXV0YWJsZSBDb2xvckNhY2hlIG1fZGFya0Nv
bG9yQ2FjaGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCmluZGV4IGI3NDM0NGM1N2M0NDNiMTdhNDUyNTU1OWUz
ZjViMWNmNDBhODM1OTMuLjUyMzRmZGU0MWNiOWIwN2JlZTE5MDE2NDg0NTU4YmM2YTQ0NWRlNzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCkBAIC0yNTYsOCAr
MjU2LDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNTbGlkZXJUaHVtYkhvcml6b250YWxQcmVz
c2VkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNTbGlkZXJUaHVtYlZlcnRpY2FsUHJlc3NlZCB7
IGZhbHNlIH07CiAKLSAgICBtdXRhYmxlIENvbG9yQ2FjaGUgbV9kYXJrQ29sb3JDYWNoZTsKLQog
ICAgIFJldGFpblB0cjxXZWJDb3JlUmVuZGVyVGhlbWVOb3RpZmljYXRpb25PYnNlcnZlcj4gbV9u
b3RpZmljYXRpb25PYnNlcnZlcjsKIAogICAgIFN0cmluZyBtX2xlZ2FjeU1lZGlhQ29udHJvbHNT
Y3JpcHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVN
YWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KaW5kZXgg
YWZlZTlkMDE2OTEwMjM3YzJhOTZjOWUxMWExZmNiMGZmNTRkOWUyMi4uZWMzMzkwNmEyMjZjM2M1
MTAyOWIwNzBjNDAxMzc0ZTdhNzM1ZWJkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZU1hYy5tbQpAQCAtMzM1LDcgKzMzNSw2IEBAIHZvaWQgUmVuZGVyVGhlbWVNYWM6
OnB1cmdlQ2FjaGVzKCkKICAgICBtX21lZGlhQ29udHJvbHNTY3JpcHQuY2xlYXJJbXBsSWZOb3RT
aGFyZWQoKTsKICAgICBtX2xlZ2FjeU1lZGlhQ29udHJvbHNTdHlsZVNoZWV0LmNsZWFySW1wbElm
Tm90U2hhcmVkKCk7CiAgICAgbV9tZWRpYUNvbnRyb2xzU3R5bGVTaGVldC5jbGVhckltcGxJZk5v
dFNoYXJlZCgpOwotICAgIG1fZGFya0NvbG9yQ2FjaGUgPSBDb2xvckNhY2hlKCk7CiAKICAgICBS
ZW5kZXJUaGVtZTo6cHVyZ2VDYWNoZXMoKTsKIH0KQEAgLTYwNSwyMSArNjA0LDYgQEAgc3RhdGlj
IFJHQkEzMiBtZW51QmFja2dyb3VuZENvbG9yKCkKICAgICByZXR1cm4gbWFrZVJHQkEocGl4ZWxb
MF0sIHBpeGVsWzFdLCBwaXhlbFsyXSwgcGl4ZWxbM10pOwogfQogCi12b2lkIFJlbmRlclRoZW1l
TWFjOjpwbGF0Zm9ybUNvbG9yc0RpZENoYW5nZSgpCi17Ci0gICAgbV9kYXJrQ29sb3JDYWNoZSA9
IENvbG9yQ2FjaGUoKTsKLQotICAgIFJlbmRlclRoZW1lOjpwbGF0Zm9ybUNvbG9yc0RpZENoYW5n
ZSgpOwotfQotCi1hdXRvIFJlbmRlclRoZW1lTWFjOjpjb2xvckNhY2hlKE9wdGlvblNldDxTdHls
ZUNvbG9yOjpPcHRpb25zPiBvcHRpb25zKSBjb25zdCAtPiBDb2xvckNhY2hlJgotewotICAgIExv
Y2FsRGVmYXVsdFN5c3RlbUFwcGVhcmFuY2UgbG9jYWxBcHBlYXJhbmNlKG9wdGlvbnMuY29udGFp
bnMoU3R5bGVDb2xvcjo6T3B0aW9uczo6VXNlRGFya0FwcGVhcmFuY2UpKTsKLSAgICBpZiAobG9j
YWxBcHBlYXJhbmNlLnVzaW5nRGFya0FwcGVhcmFuY2UoKSkKLSAgICAgICAgcmV0dXJuIG1fZGFy
a0NvbG9yQ2FjaGU7Ci0gICAgcmV0dXJuIFJlbmRlclRoZW1lOjpjb2xvckNhY2hlKG9wdGlvbnMp
OwotfQotCiBDb2xvciBSZW5kZXJUaGVtZU1hYzo6c3lzdGVtQ29sb3IoQ1NTVmFsdWVJRCBjc3NW
YWx1ZUlELCBPcHRpb25TZXQ8U3R5bGVDb2xvcjo6T3B0aW9ucz4gb3B0aW9ucykgY29uc3QKIHsK
ICAgICBjb25zdCBib29sIHVzZVN5c3RlbUFwcGVhcmFuY2UgPSBvcHRpb25zLmNvbnRhaW5zKFN0
eWxlQ29sb3I6Ok9wdGlvbnM6OlVzZVN5c3RlbUFwcGVhcmFuY2UpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAppbmRleCA2ZDA3YzAz
YWQ4YzkyN2U1NDUzYzVmZGE5NTk2NzA5YTc3MjYxZTJiLi5hZjc1ZDk5NzcxZGVhNGYxOWY2MjAz
MGQ5MzNkOGZhYzZkNWRiYjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQ
YWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQ
YWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcApAQCAtNzQsMTEgKzc0LDExIEBAIHZvaWQgV2ViUGFn
ZUNyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QK
ICAgICBlbmNvZGVyIDw8IG1pbWVUeXBlc1dpdGhDdXN0b21Db250ZW50UHJvdmlkZXJzOwogICAg
IGVuY29kZXIgPDwgY29udHJvbGxlZEJ5QXV0b21hdGlvbjsKICAgICBlbmNvZGVyIDw8IGlzUHJv
Y2Vzc1N3YXA7CisgICAgZW5jb2RlciA8PCB1c2VEYXJrQXBwZWFyYW5jZTsKIAogI2lmIFBMQVRG
T1JNKE1BQykKICAgICBlbmNvZGVyIDw8IGNvbG9yU3BhY2U7CiAgICAgZW5jb2RlciA8PCB1c2VT
eXN0ZW1BcHBlYXJhbmNlOwotICAgIGVuY29kZXIgPDwgdXNlRGFya0FwcGVhcmFuY2U7CiAjZW5k
aWYKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGVuY29kZXIgPDwgc2NyZWVuU2l6ZTsK
QEAgLTIyOSwxNCArMjI5LDE0IEBAIE9wdGlvbmFsPFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM+
IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZShJUEM6OkRlY29kCiAgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLmlz
UHJvY2Vzc1N3YXApKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIGlmICghZGVj
b2Rlci5kZWNvZGUocGFyYW1ldGVycy51c2VEYXJrQXBwZWFyYW5jZSkpCisgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShwYXJhbWV0ZXJzLmNvbG9yU3BhY2UpKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy51c2VTeXN0ZW1BcHBlYXJhbmNl
KSkKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KHBhcmFtZXRlcnMudXNlRGFya0FwcGVhcmFuY2UpKQotICAgICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OwogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IGIzODJjZWVkZDQ0
OWE4ZDlhMGY4Njk0NzM1ZjI2YzA1OTVkZGVjZDguLmZiMzI3ZTQwODIwZGJhNzIyM2JkMDIwMTNk
MmMxMjYyNzMzNzRlY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VD
cmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgKQEAgLTEzMSwxMCArMTMxLDExIEBAIHN0cnVjdCBXZWJQYWdlQ3Jl
YXRpb25QYXJhbWV0ZXJzIHsKICAgICBib29sIGNvbnRyb2xsZWRCeUF1dG9tYXRpb247CiAgICAg
Ym9vbCBpc1Byb2Nlc3NTd2FwIHsgZmFsc2UgfTsKIAorICAgIGJvb2wgdXNlRGFya0FwcGVhcmFu
Y2UgeyBmYWxzZSB9OworCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIENvbG9yU3BhY2VEYXRhIGNv
bG9yU3BhY2U7CiAgICAgYm9vbCB1c2VTeXN0ZW1BcHBlYXJhbmNlOwotICAgIGJvb2wgdXNlRGFy
a0FwcGVhcmFuY2U7CiAjZW5kaWYKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIFdlYkNv
cmU6OkZsb2F0U2l6ZSBzY3JlZW5TaXplOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvUGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5o
CmluZGV4IDA3OTVjZDhkYWY0YTkwM2Q2ZTBjMDJiMTM4OTdhNTg3NjZiNmM2Y2EuLjIwNmM4NGIy
OGE3NzlmNTZkNWY3ZDQxMDg3ZTMxZTIxZWFmNDc1MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Q
YWdlQ2xpZW50LmgKQEAgLTMxMSw2ICszMTEsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lk
IGRpZFBlcmZvcm1EaWN0aW9uYXJ5TG9va3VwKGNvbnN0IFdlYkNvcmU6OkRpY3Rpb25hcnlQb3B1
cEluZm8mKSA9IDA7CiAjZW5kaWYKIAorICAgIHZpcnR1YWwgYm9vbCBlZmZlY3RpdmVBcHBlYXJh
bmNlSXNEYXJrKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKwogICAgIHZpcnR1YWwgdm9pZCBl
bnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKGNvbnN0IExheWVyVHJlZUNvbnRleHQmKSA9
IDA7CiAgICAgdmlydHVhbCB2b2lkIGV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSgpID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUoY29u
c3QgTGF5ZXJUcmVlQ29udGV4dCYpID0gMDsKQEAgLTMzNyw4ICszMzksNiBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCBOU1dpbmRvdyAqcGxhdGZvcm1XaW5kb3coKSA9IDA7CiAgICAgdmlydHVhbCB2
b2lkIHNldFNob3VsZFN1cHByZXNzRmlyc3RSZXNwb25kZXJDaGFuZ2VzKGJvb2wpID0gMDsKIAot
ICAgIHZpcnR1YWwgYm9vbCBlZmZlY3RpdmVBcHBlYXJhbmNlSXNEYXJrKCkgY29uc3QgPSAwOwot
CiAjaWYgV0tfQVBJX0VOQUJMRUQKICAgICB2aXJ0dWFsIE5TVmlldyAqaW5zcGVjdG9yQXR0YWNo
bWVudFZpZXcoKSA9IDA7CiAgICAgdmlydHVhbCBfV0tSZW1vdGVPYmplY3RSZWdpc3RyeSAqcmVt
b3RlT2JqZWN0UmVnaXN0cnkoKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcAppbmRleCBlNzRmMzhkYzU5YjQwMGQ0MDI2ZTJjYWQzYzY1OWUwNTI1YjQzYzlhLi42
MjkxNjM0ZTMxZWJmZTg5YzNlODRiOGE0YmU4ODc5MDM4MWY3NjVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTY3NzcsMTAgKzY3NzcsMTAgQEAgV2ViUGFn
ZUNyZWF0aW9uUGFyYW1ldGVycyBXZWJQYWdlUHJveHk6OmNyZWF0aW9uUGFyYW1ldGVycyhXZWJQ
cm9jZXNzUHJveHkmIHByb2MKICAgICBwYXJhbWV0ZXJzLmJhY2tncm91bmRFeHRlbmRzQmV5b25k
UGFnZSA9IG1fYmFja2dyb3VuZEV4dGVuZHNCZXlvbmRQYWdlOwogICAgIHBhcmFtZXRlcnMubGF5
ZXJIb3N0aW5nTW9kZSA9IG1fbGF5ZXJIb3N0aW5nTW9kZTsKICAgICBwYXJhbWV0ZXJzLmNvbnRy
b2xsZWRCeUF1dG9tYXRpb24gPSBtX2NvbnRyb2xsZWRCeUF1dG9tYXRpb247CisgICAgcGFyYW1l
dGVycy51c2VEYXJrQXBwZWFyYW5jZSA9IHVzZURhcmtBcHBlYXJhbmNlKCk7CiAjaWYgUExBVEZP
Uk0oTUFDKQogICAgIHBhcmFtZXRlcnMuY29sb3JTcGFjZSA9IHBhZ2VDbGllbnQoKS5jb2xvclNw
YWNlKCk7CiAgICAgcGFyYW1ldGVycy51c2VTeXN0ZW1BcHBlYXJhbmNlID0gbV91c2VTeXN0ZW1B
cHBlYXJhbmNlOwotICAgIHBhcmFtZXRlcnMudXNlRGFya0FwcGVhcmFuY2UgPSB1c2VEYXJrQXBw
ZWFyYW5jZSgpOwogI2VuZGlmCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBwYXJhbWV0
ZXJzLnNjcmVlblNpemUgPSBzY3JlZW5TaXplKCk7CkBAIC03MzkzLDExICs3MzkzLDYgQEAgdm9p
ZCBXZWJQYWdlUHJveHk6OmhhbmRsZUFsdGVybmF0aXZlVGV4dFVJUmVzdWx0KGNvbnN0IFN0cmlu
ZyYgcmVzdWx0KQogICAgICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6Okhh
bmRsZUFsdGVybmF0aXZlVGV4dFVJUmVzdWx0KHJlc3VsdCksIG1fcGFnZUlEKTsKIH0KIAotYm9v
bCBXZWJQYWdlUHJveHk6OnVzZURhcmtBcHBlYXJhbmNlKCkgY29uc3QKLXsKLSAgICByZXR1cm4g
cGFnZUNsaWVudCgpLmVmZmVjdGl2ZUFwcGVhcmFuY2VJc0RhcmsoKTsKLX0KLQogI2lmIFVTRShE
SUNUQVRJT05fQUxURVJOQVRJVkVTKQogdm9pZCBXZWJQYWdlUHJveHk6OnNob3dEaWN0YXRpb25B
bHRlcm5hdGl2ZVVJKGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgYm91bmRpbmdCb3hPZkRpY3Rh
dGVkVGV4dCwgdWludDY0X3QgZGljdGF0aW9uQ29udGV4dCkKIHsKQEAgLTc5MDQsMTQgKzc4OTks
NiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0VXNlU3lzdGVtQXBwZWFyYW5jZShib29sIHVzZVN5
c3RlbUFwcGVhcmFuY2UpCiAgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpT
ZXRVc2VTeXN0ZW1BcHBlYXJhbmNlKHVzZVN5c3RlbUFwcGVhcmFuY2UpLCBtX3BhZ2VJRCk7CiB9
CiAgICAgCi12b2lkIFdlYlBhZ2VQcm94eTo6ZWZmZWN0aXZlQXBwZWFyYW5jZURpZENoYW5nZSgp
Ci17Ci0gICAgaWYgKCFpc1ZhbGlkKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fcHJvY2Vz
cy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0VXNlRGFya0FwcGVhcmFuY2UodXNlRGFya0Fw
cGVhcmFuY2UoKSksIG1fcGFnZUlEKTsKLX0KLQogdm9pZCBXZWJQYWdlUHJveHk6OnNldEhlYWRl
ckJhbm5lckhlaWdodEZvclRlc3RpbmcoaW50IGhlaWdodCkKIHsKICAgICBtX3Byb2Nlc3MtPnNl
bmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldEhlYWRlckJhbm5lckhlaWdodEZvclRlc3RpbmcoaGVp
Z2h0KSwgbV9wYWdlSUQpOwpAQCAtODI2MSw2ICs4MjQ4LDE5IEBAIHZvaWQgV2ViUGFnZVByb3h5
OjpyZXF1ZXN0U3RvcmFnZUFjY2VzcyhTdHJpbmcmJiBzdWJGcmFtZUhvc3QsIFN0cmluZyYmIHRv
cEZyYW1lCiB9CiAjZW5kaWYKIAorYm9vbCBXZWJQYWdlUHJveHk6OnVzZURhcmtBcHBlYXJhbmNl
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gcGFnZUNsaWVudCgpLmVmZmVjdGl2ZUFwcGVhcmFuY2VJ
c0RhcmsoKTsKK30KKwordm9pZCBXZWJQYWdlUHJveHk6OmVmZmVjdGl2ZUFwcGVhcmFuY2VEaWRD
aGFuZ2UoKQoreworICAgIGlmICghaXNWYWxpZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBt
X3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldFVzZURhcmtBcHBlYXJhbmNlKHVz
ZURhcmtBcHBlYXJhbmNlKCkpLCBtX3BhZ2VJRCk7Cit9CisKICNpZiBQTEFURk9STShDT0NPQSkK
IHZvaWQgV2ViUGFnZVByb3h5Ojp0b3VjaEJhck1lbnVEYXRhQ2hhbmdlZChjb25zdCBUb3VjaEJh
ck1lbnVEYXRhJiB0b3VjaEJhck1lbnVEYXRhKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaAppbmRleCBhYzU2MDBmNjJhY2M2YTM2ZWQzMGUwMmE5ZmQ3MjQzMDFiZTBiZjRj
Li5jYmZmZmFjNGM4OThiZWU5NTNmNmY5ODI5Mjg3NGZhNDQ0OGIwNzQwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtODk2LDkgKzg5NiwxMCBAQCBwdWJsaWM6CiAj
aWYgUExBVEZPUk0oTUFDKQogICAgIHZvaWQgc2V0VXNlU3lzdGVtQXBwZWFyYW5jZShib29sKTsK
ICAgICBib29sIHVzZVN5c3RlbUFwcGVhcmFuY2UoKSBjb25zdCB7IHJldHVybiBtX3VzZVN5c3Rl
bUFwcGVhcmFuY2U7IH0KKyNlbmRpZgorCiAgICAgdm9pZCBlZmZlY3RpdmVBcHBlYXJhbmNlRGlk
Q2hhbmdlKCk7CiAgICAgYm9vbCB1c2VEYXJrQXBwZWFyYW5jZSgpIGNvbnN0OwotI2VuZGlmCiAK
ICNpZiBQTEFURk9STShDT0NPQSkKICAgICAvLyBDYWxsZWQgYnkgdGhlIHdlYiBwcm9jZXNzIHRo
cm91Z2ggYSBtZXNzYWdlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcAppbmRleCA1ZTJkNTIxOTAxZTljNDlhMmI4NDRlM2M0Njc5NThjOTE3ODY0YzM4Li45
ZjlkMzc0ODNkNTg2MGJhN2VmNjZjNzI0M2RmNzEwNGMwNGQ4YjY0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNTI0LDEwICs1MjQsMTMgQEAg
V2ViUGFnZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRl
cnMmJiBwYXJhbWV0ZXJzKQogICAgIHNldFBhZ2VMZW5ndGgocGFyYW1ldGVycy5wYWdlTGVuZ3Ro
KTsKICAgICBzZXRHYXBCZXR3ZWVuUGFnZXMocGFyYW1ldGVycy5nYXBCZXR3ZWVuUGFnZXMpOwog
ICAgIHNldFBhZ2luYXRpb25MaW5lR3JpZEVuYWJsZWQocGFyYW1ldGVycy5wYWdpbmF0aW9uTGlu
ZUdyaWRFbmFibGVkKTsKKworICAgIHNldFVzZURhcmtBcHBlYXJhbmNlKHBhcmFtZXRlcnMudXNl
RGFya0FwcGVhcmFuY2UpOworCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHNldFVzZVN5c3RlbUFw
cGVhcmFuY2UocGFyYW1ldGVycy51c2VTeXN0ZW1BcHBlYXJhbmNlKTsKLSAgICBzZXRVc2VEYXJr
QXBwZWFyYW5jZShwYXJhbWV0ZXJzLnVzZURhcmtBcHBlYXJhbmNlKTsKICNlbmRpZgorCiAgICAg
Ly8gSWYgdGhlIHBhZ2UgaXMgY3JlYXRlZCBvZmYtc2NyZWVuLCBpdHMgdmlzaWJpbGl0eVN0YXRl
IHNob3VsZCBiZSBwcmVyZW5kZXIuCiAgICAgbV9wYWdlLT5zZXRBY3Rpdml0eVN0YXRlKG1fYWN0
aXZpdHlTdGF0ZSk7CiAgICAgaWYgKCFpc1Zpc2libGUoKSkKQEAgLTQ1MDEsMTIgKzQ1MDQsMTMg
QEAgdm9pZCBXZWJQYWdlOjpzZXRVc2VTeXN0ZW1BcHBlYXJhbmNlKGJvb2wgdXNlU3lzdGVtQXBw
ZWFyYW5jZSkKIHsKICAgICBjb3JlUGFnZSgpLT5zZXRVc2VTeXN0ZW1BcHBlYXJhbmNlKHVzZVN5
c3RlbUFwcGVhcmFuY2UpOwogfQotICAgIAorCisjZW5kaWYKKwogdm9pZCBXZWJQYWdlOjpzZXRV
c2VEYXJrQXBwZWFyYW5jZShib29sIHVzZURhcmtBcHBlYXJhbmNlKQogewogICAgIGNvcmVQYWdl
KCktPnNldFVzZURhcmtBcHBlYXJhbmNlKHVzZURhcmtBcHBlYXJhbmNlKTsKIH0KLSNlbmRpZgog
CiB2b2lkIFdlYlBhZ2U6OmJlZ2luUHJpbnRpbmcodWludDY0X3QgZnJhbWVJRCwgY29uc3QgUHJp
bnRJbmZvJiBwcmludEluZm8pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmgKaW5kZXggZDRkMjFkM2YzM2YwNzQ3ZmQzNjc2ZDc2OTQ4NjYyZDEwYTdjOTVmMi4u
MzU2M2Y3OWU4ZTg4OWQ5NTFmMjc3NzAxNjIzN2Q0Y2FjZGE1ZDc0MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtNTM4LDkgKzUzOCwxMCBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRCb3R0b21PdmVyaGFuZ0ltYWdlKFdlYkltYWdlKik7CiAgICAgCiAg
ICAgdm9pZCBzZXRVc2VTeXN0ZW1BcHBlYXJhbmNlKGJvb2wpOwotICAgIHZvaWQgc2V0VXNlRGFy
a0FwcGVhcmFuY2UoYm9vbCk7CiAjZW5kaWYKIAorICAgIHZvaWQgc2V0VXNlRGFya0FwcGVhcmFu
Y2UoYm9vbCk7CisKICAgICBib29sIHdpbmRvd0lzRm9jdXNlZCgpIGNvbnN0OwogICAgIGJvb2wg
d2luZG93QW5kV2ViUGFnZUFyZUZvY3VzZWQoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggNTRhYmJh
Zjg5MzRjY2RjZjhlNGYyMGY3ODNmY2I2YjlmMDMwNDBlYi4uMjFkZGJmY2Q5MDZkZTFiNjY1MTNh
MzA3MWZkYTdiOTNlMGJjYjc2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC00NzQsMTIgKzQ3NCwxMyBAQCBtZXNz
YWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJlY2VpdmVyIHsKICAgICBIYW5kbGVBY2NlcHRlZENhbmRp
ZGF0ZShzdHJ1Y3QgV2ViQ29yZTo6VGV4dENoZWNraW5nUmVzdWx0IGFjY2VwdGVkQ2FuZGlkYXRl
KQogCiAgICAgU2V0VXNlU3lzdGVtQXBwZWFyYW5jZShib29sIHVzZVN5c3RlbUFwcGVhcmFuY2Up
OwotICAgIFNldFVzZURhcmtBcHBlYXJhbmNlKGJvb2wgdXNlRGFya0FwcGVhcmFuY2UpOwogCiAg
ICAgU2V0SGVhZGVyQmFubmVySGVpZ2h0Rm9yVGVzdGluZyhpbnQgaGVpZ2h0KTsKICAgICBTZXRG
b290ZXJCYW5uZXJIZWlnaHRGb3JUZXN0aW5nKGludCBoZWlnaHQpOwogI2VuZGlmCiAKKyAgICBT
ZXRVc2VEYXJrQXBwZWFyYW5jZShib29sIHVzZURhcmtBcHBlYXJhbmNlKTsKKwogI2lmIFBMQVRG
T1JNKENPQ09BKQogICAgIFJlcXVlc3RBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm8oV2ViS2l0
OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBlZDBlMGRmNzliMDNkYTY2ZThhMjliY2VkOWNlYWE5
M2NkNjY1ZThjLi4wYjVkYmM0MWY1NGY2YzE1MDcyOWUzZDVmMmQ3ZWM3MTVjOWFmOTdjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0xNTg3LDYgKzE1
ODcsOSBAQCAtICh2b2lkKV9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hbWU6KE5TU3Ry
aW5nICopZnJhbWVOYW1lIGdyb3VwTmFtZTooTlNTdAogICAgICAgICBSZXNvdXJjZUhhbmRsZTo6
Zm9yY2VDb250ZW50U25pZmZpbmcoKTsKIAogICAgIF9wcml2YXRlLT5wYWdlLT5zZXREZXZpY2VT
Y2FsZUZhY3Rvcihbc2VsZiBfZGV2aWNlU2NhbGVGYWN0b3JdKTsKKyNlbmRpZgorCisjaWYgSEFW
RShPU19EQVJLX01PREVfU1VQUE9SVCkgJiYgUExBVEZPUk0oTUFDKQogICAgIF9wcml2YXRlLT5w
YWdlLT5zZXRVc2VEYXJrQXBwZWFyYW5jZShzZWxmLl9lZmZlY3RpdmVBcHBlYXJhbmNlSXNEYXJr
KTsKICNlbmRpZgogCkBAIC01Mjk1LDE1ICs1Mjk4LDEzIEBAIC0gKFdlYkVkZ2VJbnNldHMpX3Vu
b2JzY3VyZWRTYWZlQXJlYUluc2V0cwogICAgIHJldHVybiBpbnNldHM7CiB9CiAKKyNpZiBIQVZF
KE9TX0RBUktfTU9ERV9TVVBQT1JUKSAmJiBQTEFURk9STShNQUMpCiAtIChib29sKV9lZmZlY3Rp
dmVBcHBlYXJhbmNlSXNEYXJrCiB7Ci0jaWYgSEFWRShPU19EQVJLX01PREVfU1VQUE9SVCkKICAg
ICBOU0FwcGVhcmFuY2VOYW1lIGFwcGVhcmFuY2UgPSBbW3NlbGYgZWZmZWN0aXZlQXBwZWFyYW5j
ZV0gYmVzdE1hdGNoRnJvbUFwcGVhcmFuY2VzV2l0aE5hbWVzOkBbIE5TQXBwZWFyYW5jZU5hbWVB
cXVhLCBOU0FwcGVhcmFuY2VOYW1lRGFya0FxdWEgXV07CiAgICAgcmV0dXJuIFthcHBlYXJhbmNl
IGlzRXF1YWxUb1N0cmluZzpOU0FwcGVhcmFuY2VOYW1lRGFya0FxdWFdOwotI2Vsc2UKLSAgICBy
ZXR1cm4gZmFsc2U7Ci0jZW5kaWYKIH0KKyNlbmRpZgogCiAtICh2b2lkKV9zZXRVc2VTeXN0ZW1B
cHBlYXJhbmNlOihCT09MKXVzZVN5c3RlbUFwcGVhcmFuY2UKIHsKQEAgLTUzMTksNiArNTMyMCw3
IEBAIC0gKEJPT0wpX3VzZVN5c3RlbUFwcGVhcmFuY2UKICAgICByZXR1cm4gX3ByaXZhdGUtPnBh
Z2UtPnVzZVN5c3RlbUFwcGVhcmFuY2UoKTsKIH0KIAorI2lmIEhBVkUoT1NfREFSS19NT0RFX1NV
UFBPUlQpICYmIFBMQVRGT1JNKE1BQykKIC0gKHZvaWQpdmlld0RpZENoYW5nZUVmZmVjdGl2ZUFw
cGVhcmFuY2UKIHsKICAgICAvLyBUaGlzIGNhbiBiZSBjYWxsZWQgZHVyaW5nIFtzdXBlciBpbml0
V2l0aENvZGVyOl0gYW5kIFtzdXBlciBpbml0V2l0aEZyYW1lOl0uCkBAIC01MzI4LDYgKzUzMzAs
NyBAQCAtICh2b2lkKXZpZXdEaWRDaGFuZ2VFZmZlY3RpdmVBcHBlYXJhbmNlCiAKICAgICBfcHJp
dmF0ZS0+cGFnZS0+c2V0VXNlRGFya0FwcGVhcmFuY2Uoc2VsZi5fZWZmZWN0aXZlQXBwZWFyYW5j
ZUlzRGFyayk7CiB9CisjZW5kaWYKIAogLSAodm9pZClfc2V0U291cmNlQXBwbGljYXRpb25BdWRp
dERhdGE6KE5TRGF0YSAqKXNvdXJjZUFwcGxpY2F0aW9uQXVkaXREYXRhCiB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360302</attachid>
            <date>2019-01-27 11:49:23 -0800</date>
            <delta_ts>2019-01-27 12:36:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193882-20190127114923.patch</filename>
            <type>text/plain</type>
            <size>19227</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwMjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGY4MTk4MjYwNDAyYzli
MjVhZTI2MjA0YzUxNzc1MDY3ZDEzZDA3MS4uMWVkNDc1YjVmNWY4MTQ3NzIyMGY4NTZhYTA3YTg5
N2E5MGFiMjM1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE5LTAxLTI3ICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIGl0IGVhc2ll
ciBmb3Igbm9uLUFwcGxlIHBvcnRzIHRvIGVuYWJsZSBkYXJrIG1vZGUgQ1NTIHN1cHBvcnQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM4ODIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBhZ2UvRnJh
bWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6dXBkYXRlQmFja2dyb3Vu
ZFJlY3Vyc2l2ZWx5KTogTGltaXQgdXNlIG9mIHN5c3RlbQorICAgICAgICBiYWNrZ3JvdW5kIGNv
bG9yIHRvIHRoZSBNYWMgcGxhdGZvcm0uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1l
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjpwdXJnZUNhY2hlcyk6IFB1cmdl
IG1fZGFya0NvbG9yQ2FjaGUuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6cGxhdGZv
cm1Db2xvcnNEaWRDaGFuZ2UpOiBSZXNldCBtX2RhcmtDb2xvckNhY2hlLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWU6OmNvbG9yQ2FjaGUgY29uc3QpOiBBZGRlZCBtX2RhcmtDb2xvckNh
Y2hlLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5oOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGhlbWU6OmNvbG9yQ2FjaGUgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjpwdXJnZUNhY2hlcyk6
IFJlbW92ZWQgbV9kYXJrQ29sb3JDYWNoZS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1l
TWFjOjpwbGF0Zm9ybUNvbG9yc0RpZENoYW5nZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZU1hYzo6Y29sb3JDYWNoZSBjb25zdCk6IERlbGV0ZWQuCisKIDIwMTktMDEt
MjIgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBMZWFrIG9m
IE5TTXV0YWJsZUFycmF5ICgxMjggYnl0ZXMpIGluIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVu
dCBydW5uaW5nIFdlYktpdCBsYXlvdXQgdGVzdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZmRmYTIzNGU4NWVlOWEy
NmE2ZGM4NzQ3M2QwZTA4MzU5NDA1ZWUzNi4uOTJiNDU2ZGU0YjdjZGIzMmQ2YTRhNzAxNTExOGI4
N2VkMzlmNGZkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAxOS0wMS0yNiAgVGltb3Ro
eSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBpdCBlYXNpZXIg
Zm9yIG5vbi1BcHBsZSBwb3J0cyB0byBlbmFibGUgZGFyayBtb2RlIENTUyBzdXBwb3J0LgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzODgyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBtb2Rlcm4g
V2ViS2l0IGNvZGUgZm9yIGRhcmsgbW9kZSB1c2FibGUgYnkgb3RoZXIgcG9ydHMsIHRvIG1hdGNo
CisgICAgICAgIHRoZSBXZWJDb3JlIHBhcnRzIHRoYXQgaGF2ZSBiZWVuIGNyb3NzLXBsYXRmb3Jt
IGFsbCBhbG9uZy4KKworICAgICAgICAqIFNoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJz
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2Rl
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZGVj
b2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGll
bnQ6OmVmZmVjdGl2ZUFwcGVhcmFuY2VJc0RhcmsgY29uc3QpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNyZWF0
aW9uUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6dXNlRGFya0Fw
cGVhcmFuY2UgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmVmZmVjdGl2
ZUFwcGVhcmFuY2VEaWRDaGFuZ2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Om1fc2hvdWxkQXR0YWNoRHJhd2luZ0FyZWFPblBhZ2VUcmFuc2l0aW9uKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6c2V0VXNlRGFya0FwcGVhcmFuY2UpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UubWVzc2FnZXMuaW46CisKIDIwMTktMDEtMjIgIE9yaW9sIEJydWZhdSAgPG9icnVm
YXVAaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWxvZ2ljYWxdIEltcGxlbWVudCBmbG93LXJl
bGF0aXZlIG1hcmdpbiwgcGFkZGluZyBhbmQgYm9yZGVyIHNob3J0aGFuZHMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZwppbmRleCA3ZmFmNzMyODQyOGYyNmYwZmFkYTM5MzNkYmU3MWRhNjJmNmVj
M2MzLi5iNmQ2YTMxNDU4MjY3ZTBjZWQ5ZjMzNzMxOTA3MWQ5NmE5ZTZjOWYxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMDEtMjYgIFRpbW90aHkg
SGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgaXQgZWFzaWVyIGZv
ciBub24tQXBwbGUgcG9ydHMgdG8gZW5hYmxlIGRhcmsgbW9kZSBDU1Mgc3VwcG9ydC4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Mzg4MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJW
aWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFt
ZU5hbWU6Z3JvdXBOYW1lOl0pOiBGaXggc29tZSBkZWZpbmVzLgorICAgICAgICAoLVtXZWJWaWV3
IF9lZmZlY3RpdmVBcHBlYXJhbmNlSXNEYXJrXSk6IERpdHRvLgorCiAyMDE5LTAxLTIyICBPcmlv
bCBCcnVmYXUgIDxvYnJ1ZmF1QGlnYWxpYS5jb20+CiAKICAgICAgICAgW2Nzcy1sb2dpY2FsXSBJ
bXBsZW1lbnQgZmxvdy1yZWxhdGl2ZSBtYXJnaW4sIHBhZGRpbmcgYW5kIGJvcmRlciBzaG9ydGhh
bmRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggY2M5MzExNDZmYWIwZWVlMGMyYjMz
MDc5MWQ3MTA2NzdlNzRiNjg5My4uNjZiYWQzYTUzYmIxYzNjYmNkYzA2N2IwMjJhOTgzNzhjOWM5
YzY5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMzAxMiw3ICszMDEyLDcgQEAg
dm9pZCBGcmFtZVZpZXc6OnNldEJhc2VCYWNrZ3JvdW5kQ29sb3IoY29uc3QgQ29sb3ImIGJhY2tn
cm91bmRDb2xvcikKIAogdm9pZCBGcmFtZVZpZXc6OnVwZGF0ZUJhY2tncm91bmRSZWN1cnNpdmVs
eShib29sIHRyYW5zcGFyZW50KQogewotI2lmIEVOQUJMRShEQVJLX01PREVfQ1NTKQorI2lmIEVO
QUJMRShEQVJLX01PREVfQ1NTKSAmJiBQTEFURk9STShNQUMpCiAgICAgQ29sb3IgYmFja2dyb3Vu
ZENvbG9yID0gdHJhbnNwYXJlbnQgPyBDb2xvcjo6dHJhbnNwYXJlbnQgOiBSZW5kZXJUaGVtZTo6
c2luZ2xldG9uKCkuc3lzdGVtQ29sb3IoQ1NTVmFsdWVBcHBsZVN5c3RlbUNvbnRyb2xCYWNrZ3Jv
dW5kLCBzdHlsZUNvbG9yT3B0aW9ucygpKTsKICNlbHNlCiAgICAgQ29sb3IgYmFja2dyb3VuZENv
bG9yID0gdHJhbnNwYXJlbnQgPyBDb2xvcjo6dHJhbnNwYXJlbnQgOiBDb2xvcjo6d2hpdGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAppbmRleCA3NmM5YzVjNzhkNTZk
M2U4ZDk3ZDQyMWY0ZGZhYTRhYjFiZDllY2MwLi5hMDdiNzQxMDMwMmQ3ZjAwODY0NTAxMDM2ZmEx
MDUwYmJhYjJlYjZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAK
QEAgLTEyMTYsMTUgKzEyMTYsMjQgQEAgdm9pZCBSZW5kZXJUaGVtZTo6YWRqdXN0U2VhcmNoRmll
bGRSZXN1bHRzQnV0dG9uU3R5bGUoU3R5bGVSZXNvbHZlciYsIFJlbmRlclN0eWwKIHZvaWQgUmVu
ZGVyVGhlbWU6OnB1cmdlQ2FjaGVzKCkKIHsKICAgICBtX2NvbG9yQ2FjaGUgPSBDb2xvckNhY2hl
KCk7CisgICAgbV9kYXJrQ29sb3JDYWNoZSA9IENvbG9yQ2FjaGUoKTsKIH0KIAogdm9pZCBSZW5k
ZXJUaGVtZTo6cGxhdGZvcm1Db2xvcnNEaWRDaGFuZ2UoKQogewogICAgIG1fY29sb3JDYWNoZSA9
IENvbG9yQ2FjaGUoKTsKKyAgICBtX2RhcmtDb2xvckNhY2hlID0gQ29sb3JDYWNoZSgpOwogCiAg
ICAgUGFnZTo6dXBkYXRlU3R5bGVGb3JBbGxQYWdlc0FmdGVyR2xvYmFsQ2hhbmdlSW5FbnZpcm9u
bWVudCgpOwogfQogCithdXRvIFJlbmRlclRoZW1lOjpjb2xvckNhY2hlKE9wdGlvblNldDxTdHls
ZUNvbG9yOjpPcHRpb25zPiBvcHRpb25zKSBjb25zdCAtPiBDb2xvckNhY2hlJgoreworICAgIGlm
IChvcHRpb25zLmNvbnRhaW5zKFN0eWxlQ29sb3I6Ok9wdGlvbnM6OlVzZURhcmtBcHBlYXJhbmNl
KSkKKyAgICAgICAgcmV0dXJuIG1fZGFya0NvbG9yQ2FjaGU7CisgICAgcmV0dXJuIG1fY29sb3JD
YWNoZTsKK30KKwogRm9udENhc2NhZGVEZXNjcmlwdGlvbiYgUmVuZGVyVGhlbWU6OmNhY2hlZFN5
c3RlbUZvbnREZXNjcmlwdGlvbihDU1NWYWx1ZUlEIHN5c3RlbUZvbnRJRCkgY29uc3QKIHsKICAg
ICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Rm9udENhc2NhZGVEZXNjcmlwdGlvbj4gY2FwdGlvbjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKaW5kZXggYTYyOTJhNDM3YzlmOTM1
MmRkZTBiNmIyNWJjYTgxNzU4OTZhOTA5Zi4uNDcxYTlhM2E0YjUzY2FmOTI5NDY0Yjg2NjQwNzVh
MTBjMTlmMjBkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKQEAgLTQz
OCwxMCArNDM4LDExIEBAIHByb3RlY3RlZDoKICAgICAgICAgQ29sb3IgaW5hY3RpdmVUZXh0U2Vh
cmNoSGlnaGxpZ2h0Q29sb3I7CiAgICAgfTsKIAotICAgIHZpcnR1YWwgQ29sb3JDYWNoZSYgY29s
b3JDYWNoZShPcHRpb25TZXQ8U3R5bGVDb2xvcjo6T3B0aW9ucz4pIGNvbnN0IHsgcmV0dXJuIG1f
Y29sb3JDYWNoZTsgfQorICAgIHZpcnR1YWwgQ29sb3JDYWNoZSYgY29sb3JDYWNoZShPcHRpb25T
ZXQ8U3R5bGVDb2xvcjo6T3B0aW9ucz4pIGNvbnN0OwogCiBwcml2YXRlOgogICAgIG11dGFibGUg
Q29sb3JDYWNoZSBtX2NvbG9yQ2FjaGU7CisgICAgbXV0YWJsZSBDb2xvckNhY2hlIG1fZGFya0Nv
bG9yQ2FjaGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCmluZGV4IGI3NDM0NGM1N2M0NDNiMTdhNDUyNTU1OWUz
ZjViMWNmNDBhODM1OTMuLjIwMTc2ZjA3ZGE0NWRiZDJiZjBmMzFjNjdkOTY2NzQ0MzY5YjI5NDMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCkBAIC02OCw4ICs2
OCw2IEBAIHB1YmxpYzoKIAogICAgIFNjcm9sbGJhckNvbnRyb2xTaXplIHNjcm9sbGJhckNvbnRy
b2xTaXplRm9yUGFydChDb250cm9sUGFydCkgZmluYWwgeyByZXR1cm4gU21hbGxTY3JvbGxiYXI7
IH0KIAotICAgIHZvaWQgcGxhdGZvcm1Db2xvcnNEaWRDaGFuZ2UoKSBmaW5hbDsKLQogICAgIGlu
dCBtaW5pbXVtTWVudUxpc3RTaXplKGNvbnN0IFJlbmRlclN0eWxlJikgY29uc3QgZmluYWw7CiAK
ICAgICB2b2lkIGFkanVzdFNsaWRlclRodW1iU2l6ZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1l
bnQqKSBjb25zdCBmaW5hbDsKQEAgLTI1Niw4ICsyNTQsNiBAQCBwcml2YXRlOgogICAgIGJvb2wg
bV9pc1NsaWRlclRodW1iSG9yaXpvbnRhbFByZXNzZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9p
c1NsaWRlclRodW1iVmVydGljYWxQcmVzc2VkIHsgZmFsc2UgfTsKIAotICAgIG11dGFibGUgQ29s
b3JDYWNoZSBtX2RhcmtDb2xvckNhY2hlOwotCiAgICAgUmV0YWluUHRyPFdlYkNvcmVSZW5kZXJU
aGVtZU5vdGlmaWNhdGlvbk9ic2VydmVyPiBtX25vdGlmaWNhdGlvbk9ic2VydmVyOwogCiAgICAg
U3RyaW5nIG1fbGVnYWN5TWVkaWFDb250cm9sc1NjcmlwdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZU1hYy5tbQppbmRleCBhZmVlOWQwMTY5MTAyMzdjMmE5NmM5ZTExYTFm
Y2IwZmY1NGQ5ZTIyLi5lYzMzOTA2YTIyNmMzYzUxMDI5YjA3MGM0MDEzNzRlN2E3MzVlYmQwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCkBAIC0zMzUsNyAr
MzM1LDYgQEAgdm9pZCBSZW5kZXJUaGVtZU1hYzo6cHVyZ2VDYWNoZXMoKQogICAgIG1fbWVkaWFD
b250cm9sc1NjcmlwdC5jbGVhckltcGxJZk5vdFNoYXJlZCgpOwogICAgIG1fbGVnYWN5TWVkaWFD
b250cm9sc1N0eWxlU2hlZXQuY2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsKICAgICBtX21lZGlhQ29u
dHJvbHNTdHlsZVNoZWV0LmNsZWFySW1wbElmTm90U2hhcmVkKCk7Ci0gICAgbV9kYXJrQ29sb3JD
YWNoZSA9IENvbG9yQ2FjaGUoKTsKIAogICAgIFJlbmRlclRoZW1lOjpwdXJnZUNhY2hlcygpOwog
fQpAQCAtNjA1LDIxICs2MDQsNiBAQCBzdGF0aWMgUkdCQTMyIG1lbnVCYWNrZ3JvdW5kQ29sb3Io
KQogICAgIHJldHVybiBtYWtlUkdCQShwaXhlbFswXSwgcGl4ZWxbMV0sIHBpeGVsWzJdLCBwaXhl
bFszXSk7CiB9CiAKLXZvaWQgUmVuZGVyVGhlbWVNYWM6OnBsYXRmb3JtQ29sb3JzRGlkQ2hhbmdl
KCkKLXsKLSAgICBtX2RhcmtDb2xvckNhY2hlID0gQ29sb3JDYWNoZSgpOwotCi0gICAgUmVuZGVy
VGhlbWU6OnBsYXRmb3JtQ29sb3JzRGlkQ2hhbmdlKCk7Ci19Ci0KLWF1dG8gUmVuZGVyVGhlbWVN
YWM6OmNvbG9yQ2FjaGUoT3B0aW9uU2V0PFN0eWxlQ29sb3I6Ok9wdGlvbnM+IG9wdGlvbnMpIGNv
bnN0IC0+IENvbG9yQ2FjaGUmCi17Ci0gICAgTG9jYWxEZWZhdWx0U3lzdGVtQXBwZWFyYW5jZSBs
b2NhbEFwcGVhcmFuY2Uob3B0aW9ucy5jb250YWlucyhTdHlsZUNvbG9yOjpPcHRpb25zOjpVc2VE
YXJrQXBwZWFyYW5jZSkpOwotICAgIGlmIChsb2NhbEFwcGVhcmFuY2UudXNpbmdEYXJrQXBwZWFy
YW5jZSgpKQotICAgICAgICByZXR1cm4gbV9kYXJrQ29sb3JDYWNoZTsKLSAgICByZXR1cm4gUmVu
ZGVyVGhlbWU6OmNvbG9yQ2FjaGUob3B0aW9ucyk7Ci19Ci0KIENvbG9yIFJlbmRlclRoZW1lTWFj
OjpzeXN0ZW1Db2xvcihDU1NWYWx1ZUlEIGNzc1ZhbHVlSUQsIE9wdGlvblNldDxTdHlsZUNvbG9y
OjpPcHRpb25zPiBvcHRpb25zKSBjb25zdAogewogICAgIGNvbnN0IGJvb2wgdXNlU3lzdGVtQXBw
ZWFyYW5jZSA9IG9wdGlvbnMuY29udGFpbnMoU3R5bGVDb2xvcjo6T3B0aW9uczo6VXNlU3lzdGVt
QXBwZWFyYW5jZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3Jl
YXRpb25QYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlv
blBhcmFtZXRlcnMuY3BwCmluZGV4IDZkMDdjMDNhZDhjOTI3ZTU0NTNjNWZkYTk1OTY3MDlhNzcy
NjFlMmIuLmFmNzVkOTk3NzFkZWE0ZjE5ZjYyMDMwZDkzM2Q4ZmFjNmQ1ZGJiMzggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3BwCkBA
IC03NCwxMSArNzQsMTEgQEAgdm9pZCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUo
SVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgbWltZVR5cGVzV2l0
aEN1c3RvbUNvbnRlbnRQcm92aWRlcnM7CiAgICAgZW5jb2RlciA8PCBjb250cm9sbGVkQnlBdXRv
bWF0aW9uOwogICAgIGVuY29kZXIgPDwgaXNQcm9jZXNzU3dhcDsKKyAgICBlbmNvZGVyIDw8IHVz
ZURhcmtBcHBlYXJhbmNlOwogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIGVuY29kZXIgPDwgY29s
b3JTcGFjZTsKICAgICBlbmNvZGVyIDw8IHVzZVN5c3RlbUFwcGVhcmFuY2U7Ci0gICAgZW5jb2Rl
ciA8PCB1c2VEYXJrQXBwZWFyYW5jZTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
CiAgICAgZW5jb2RlciA8PCBzY3JlZW5TaXplOwpAQCAtMjI5LDE0ICsyMjksMTQgQEAgT3B0aW9u
YWw8V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycz4gV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6
ZGVjb2RlKElQQzo6RGVjb2QKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKICAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMuaXNQcm9jZXNzU3dhcCkpCiAgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLnVzZURh
cmtBcHBlYXJhbmNlKSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAogI2lmIFBMQVRG
T1JNKE1BQykKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMuY29sb3JTcGFjZSkp
CiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShw
YXJhbWV0ZXJzLnVzZVN5c3RlbUFwcGVhcmFuY2UpKQogICAgICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy51c2VEYXJrQXBwZWFyYW5j
ZSkpCi0gICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JN
KElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3Jl
YXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25Q
YXJhbWV0ZXJzLmgKaW5kZXggYjM4MmNlZWRkNDQ5YThkOWEwZjg2OTQ3MzVmMjZjMDU5NWRkZWNk
OC4uZmIzMjdlNDA4MjBkYmE3MjIzYmQwMjAxM2QyYzEyNjI3MzM3NGVjZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMTMxLDEw
ICsxMzEsMTEgQEAgc3RydWN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMgewogICAgIGJvb2wg
Y29udHJvbGxlZEJ5QXV0b21hdGlvbjsKICAgICBib29sIGlzUHJvY2Vzc1N3YXAgeyBmYWxzZSB9
OwogCisgICAgYm9vbCB1c2VEYXJrQXBwZWFyYW5jZSB7IGZhbHNlIH07CisKICNpZiBQTEFURk9S
TShNQUMpCiAgICAgQ29sb3JTcGFjZURhdGEgY29sb3JTcGFjZTsKICAgICBib29sIHVzZVN5c3Rl
bUFwcGVhcmFuY2U7Ci0gICAgYm9vbCB1c2VEYXJrQXBwZWFyYW5jZTsKICNlbmRpZgogI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpCiAgICAgV2ViQ29yZTo6RmxvYXRTaXplIHNjcmVlblNpemU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKaW5kZXggMDc5NWNkOGRhZjRhOTAzZDZlMGMw
MmIxMzg5N2E1ODc2NmI2YzZjYS4uMjA2Yzg0YjI4YTc3OWY1NmQ1ZjdkNDEwODdlMzFlMjFlYWY0
NzUxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAtMzExLDYgKzMxMSw4
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlkUGVyZm9ybURpY3Rpb25hcnlMb29rdXAo
Y29uc3QgV2ViQ29yZTo6RGljdGlvbmFyeVBvcHVwSW5mbyYpID0gMDsKICNlbmRpZgogCisgICAg
dmlydHVhbCBib29sIGVmZmVjdGl2ZUFwcGVhcmFuY2VJc0RhcmsoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQorCiAgICAgdmlydHVhbCB2b2lkIGVudGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01v
ZGUoY29uc3QgTGF5ZXJUcmVlQ29udGV4dCYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZXhpdEFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVB
Y2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZShjb25zdCBMYXllclRyZWVDb250ZXh0JikgPSAwOwpA
QCAtMzM3LDggKzMzOSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIE5TV2luZG93ICpwbGF0Zm9y
bVdpbmRvdygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvdWxkU3VwcHJlc3NGaXJzdFJl
c3BvbmRlckNoYW5nZXMoYm9vbCkgPSAwOwogCi0gICAgdmlydHVhbCBib29sIGVmZmVjdGl2ZUFw
cGVhcmFuY2VJc0RhcmsoKSBjb25zdCA9IDA7Ci0KICNpZiBXS19BUElfRU5BQkxFRAogICAgIHZp
cnR1YWwgTlNWaWV3ICppbnNwZWN0b3JBdHRhY2htZW50VmlldygpID0gMDsKICAgICB2aXJ0dWFs
IF9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5ICpyZW1vdGVPYmplY3RSZWdpc3RyeSgpID0gMDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGU3NGYzOGRjNTliNDAw
ZDQwMjZlMmNhZDNjNjU5ZTA1MjViNDNjOWEuLjYyOTE2MzRlMzFlYmZlODljM2U4NGI4YTRiZTg4
NzkwMzgxZjc2NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApA
QCAtNjc3NywxMCArNjc3NywxMCBAQCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzIFdlYlBhZ2VQ
cm94eTo6Y3JlYXRpb25QYXJhbWV0ZXJzKFdlYlByb2Nlc3NQcm94eSYgcHJvYwogICAgIHBhcmFt
ZXRlcnMuYmFja2dyb3VuZEV4dGVuZHNCZXlvbmRQYWdlID0gbV9iYWNrZ3JvdW5kRXh0ZW5kc0Jl
eW9uZFBhZ2U7CiAgICAgcGFyYW1ldGVycy5sYXllckhvc3RpbmdNb2RlID0gbV9sYXllckhvc3Rp
bmdNb2RlOwogICAgIHBhcmFtZXRlcnMuY29udHJvbGxlZEJ5QXV0b21hdGlvbiA9IG1fY29udHJv
bGxlZEJ5QXV0b21hdGlvbjsKKyAgICBwYXJhbWV0ZXJzLnVzZURhcmtBcHBlYXJhbmNlID0gdXNl
RGFya0FwcGVhcmFuY2UoKTsKICNpZiBQTEFURk9STShNQUMpCiAgICAgcGFyYW1ldGVycy5jb2xv
clNwYWNlID0gcGFnZUNsaWVudCgpLmNvbG9yU3BhY2UoKTsKICAgICBwYXJhbWV0ZXJzLnVzZVN5
c3RlbUFwcGVhcmFuY2UgPSBtX3VzZVN5c3RlbUFwcGVhcmFuY2U7Ci0gICAgcGFyYW1ldGVycy51
c2VEYXJrQXBwZWFyYW5jZSA9IHVzZURhcmtBcHBlYXJhbmNlKCk7CiAjZW5kaWYKICNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQogICAgIHBhcmFtZXRlcnMuc2NyZWVuU2l6ZSA9IHNjcmVlblNpemUo
KTsKQEAgLTczOTMsMTEgKzczOTMsNiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxlQWx0ZXJu
YXRpdmVUZXh0VUlSZXN1bHQoY29uc3QgU3RyaW5nJiByZXN1bHQpCiAgICAgICAgIG1fcHJvY2Vz
cy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6SGFuZGxlQWx0ZXJuYXRpdmVUZXh0VUlSZXN1bHQo
cmVzdWx0KSwgbV9wYWdlSUQpOwogfQogCi1ib29sIFdlYlBhZ2VQcm94eTo6dXNlRGFya0FwcGVh
cmFuY2UoKSBjb25zdAotewotICAgIHJldHVybiBwYWdlQ2xpZW50KCkuZWZmZWN0aXZlQXBwZWFy
YW5jZUlzRGFyaygpOwotfQotCiAjaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCiB2b2lk
IFdlYlBhZ2VQcm94eTo6c2hvd0RpY3RhdGlvbkFsdGVybmF0aXZlVUkoY29uc3QgV2ViQ29yZTo6
RmxvYXRSZWN0JiBib3VuZGluZ0JveE9mRGljdGF0ZWRUZXh0LCB1aW50NjRfdCBkaWN0YXRpb25D
b250ZXh0KQogewpAQCAtNzkwNCwxNCArNzg5OSw2IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRV
c2VTeXN0ZW1BcHBlYXJhbmNlKGJvb2wgdXNlU3lzdGVtQXBwZWFyYW5jZSkKICAgICBtX3Byb2Nl
c3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldFVzZVN5c3RlbUFwcGVhcmFuY2UodXNlU3lz
dGVtQXBwZWFyYW5jZSksIG1fcGFnZUlEKTsKIH0KICAgICAKLXZvaWQgV2ViUGFnZVByb3h5Ojpl
ZmZlY3RpdmVBcHBlYXJhbmNlRGlkQ2hhbmdlKCkKLXsKLSAgICBpZiAoIWlzVmFsaWQoKSkKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpT
ZXRVc2VEYXJrQXBwZWFyYW5jZSh1c2VEYXJrQXBwZWFyYW5jZSgpKSwgbV9wYWdlSUQpOwotfQot
CiB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0SGVhZGVyQmFubmVySGVpZ2h0Rm9yVGVzdGluZyhpbnQg
aGVpZ2h0KQogewogICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0SGVh
ZGVyQmFubmVySGVpZ2h0Rm9yVGVzdGluZyhoZWlnaHQpLCBtX3BhZ2VJRCk7CkBAIC04MjYxLDYg
KzgyNDgsMTkgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnJlcXVlc3RTdG9yYWdlQWNjZXNzKFN0cmlu
ZyYmIHN1YkZyYW1lSG9zdCwgU3RyaW5nJiYgdG9wRnJhbWUKIH0KICNlbmRpZgogCitib29sIFdl
YlBhZ2VQcm94eTo6dXNlRGFya0FwcGVhcmFuY2UoKSBjb25zdAoreworICAgIHJldHVybiBwYWdl
Q2xpZW50KCkuZWZmZWN0aXZlQXBwZWFyYW5jZUlzRGFyaygpOworfQorCit2b2lkIFdlYlBhZ2VQ
cm94eTo6ZWZmZWN0aXZlQXBwZWFyYW5jZURpZENoYW5nZSgpCit7CisgICAgaWYgKCFpc1ZhbGlk
KCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2Vi
UGFnZTo6U2V0VXNlRGFya0FwcGVhcmFuY2UodXNlRGFya0FwcGVhcmFuY2UoKSksIG1fcGFnZUlE
KTsKK30KKwogI2lmIFBMQVRGT1JNKENPQ09BKQogdm9pZCBXZWJQYWdlUHJveHk6OnRvdWNoQmFy
TWVudURhdGFDaGFuZ2VkKGNvbnN0IFRvdWNoQmFyTWVudURhdGEmIHRvdWNoQmFyTWVudURhdGEp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGFjNTYwMGY2MmFj
YzZhMzZlZDMwZTAyYTlmZDcyNDMwMWJlMGJmNGMuLmNiZmZmYWM0Yzg5OGJlZTk1M2Y2Zjk4Mjky
ODc0ZmE0NDQ4YjA3NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBA
IC04OTYsOSArODk2LDEwIEBAIHB1YmxpYzoKICNpZiBQTEFURk9STShNQUMpCiAgICAgdm9pZCBz
ZXRVc2VTeXN0ZW1BcHBlYXJhbmNlKGJvb2wpOwogICAgIGJvb2wgdXNlU3lzdGVtQXBwZWFyYW5j
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdXNlU3lzdGVtQXBwZWFyYW5jZTsgfQorI2VuZGlmCisKICAg
ICB2b2lkIGVmZmVjdGl2ZUFwcGVhcmFuY2VEaWRDaGFuZ2UoKTsKICAgICBib29sIHVzZURhcmtB
cHBlYXJhbmNlKCkgY29uc3Q7Ci0jZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIC8v
IENhbGxlZCBieSB0aGUgd2ViIHByb2Nlc3MgdGhyb3VnaCBhIG1lc3NhZ2UuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDVlMmQ1MjE5MDFlOWM0
OWEyYjg0NGUzYzQ2Nzk1OGM5MTc4NjRjMzguLjlmOWQzNzQ4M2Q1ODYwYmE3ZWY2NmM3MjQzZGY3
MTA0YzA0ZDhiNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCkBAIC01MjQsMTAgKzUyNCwxMyBAQCBXZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBh
Z2VJRCwgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCiAgICAgc2V0UGFn
ZUxlbmd0aChwYXJhbWV0ZXJzLnBhZ2VMZW5ndGgpOwogICAgIHNldEdhcEJldHdlZW5QYWdlcyhw
YXJhbWV0ZXJzLmdhcEJldHdlZW5QYWdlcyk7CiAgICAgc2V0UGFnaW5hdGlvbkxpbmVHcmlkRW5h
YmxlZChwYXJhbWV0ZXJzLnBhZ2luYXRpb25MaW5lR3JpZEVuYWJsZWQpOworCisgICAgc2V0VXNl
RGFya0FwcGVhcmFuY2UocGFyYW1ldGVycy51c2VEYXJrQXBwZWFyYW5jZSk7CisKICNpZiBQTEFU
Rk9STShNQUMpCiAgICAgc2V0VXNlU3lzdGVtQXBwZWFyYW5jZShwYXJhbWV0ZXJzLnVzZVN5c3Rl
bUFwcGVhcmFuY2UpOwotICAgIHNldFVzZURhcmtBcHBlYXJhbmNlKHBhcmFtZXRlcnMudXNlRGFy
a0FwcGVhcmFuY2UpOwogI2VuZGlmCisKICAgICAvLyBJZiB0aGUgcGFnZSBpcyBjcmVhdGVkIG9m
Zi1zY3JlZW4sIGl0cyB2aXNpYmlsaXR5U3RhdGUgc2hvdWxkIGJlIHByZXJlbmRlci4KICAgICBt
X3BhZ2UtPnNldEFjdGl2aXR5U3RhdGUobV9hY3Rpdml0eVN0YXRlKTsKICAgICBpZiAoIWlzVmlz
aWJsZSgpKQpAQCAtNDUwMSwxMiArNDUwNCwxMyBAQCB2b2lkIFdlYlBhZ2U6OnNldFVzZVN5c3Rl
bUFwcGVhcmFuY2UoYm9vbCB1c2VTeXN0ZW1BcHBlYXJhbmNlKQogewogICAgIGNvcmVQYWdlKCkt
PnNldFVzZVN5c3RlbUFwcGVhcmFuY2UodXNlU3lzdGVtQXBwZWFyYW5jZSk7CiB9Ci0gICAgCisK
KyNlbmRpZgorCiB2b2lkIFdlYlBhZ2U6OnNldFVzZURhcmtBcHBlYXJhbmNlKGJvb2wgdXNlRGFy
a0FwcGVhcmFuY2UpCiB7CiAgICAgY29yZVBhZ2UoKS0+c2V0VXNlRGFya0FwcGVhcmFuY2UodXNl
RGFya0FwcGVhcmFuY2UpOwogfQotI2VuZGlmCiAKIHZvaWQgV2ViUGFnZTo6YmVnaW5QcmludGlu
Zyh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBQcmludEluZm8mIHByaW50SW5mbykKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCBkNGQyMWQzZjMzZjA3
NDdmZDM2NzZkNzY5NDg2NjJkMTBhN2M5NWYyLi4zNTYzZjc5ZThlODg5ZDk1MWYyNzc3MDE2MjM3
ZDRjYWNkYTVkNzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oCkBAIC01MzgsOSArNTM4LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEJvdHRvbU92ZXJo
YW5nSW1hZ2UoV2ViSW1hZ2UqKTsKICAgICAKICAgICB2b2lkIHNldFVzZVN5c3RlbUFwcGVhcmFu
Y2UoYm9vbCk7Ci0gICAgdm9pZCBzZXRVc2VEYXJrQXBwZWFyYW5jZShib29sKTsKICNlbmRpZgog
CisgICAgdm9pZCBzZXRVc2VEYXJrQXBwZWFyYW5jZShib29sKTsKKwogICAgIGJvb2wgd2luZG93
SXNGb2N1c2VkKCkgY29uc3Q7CiAgICAgYm9vbCB3aW5kb3dBbmRXZWJQYWdlQXJlRm9jdXNlZCgp
IGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5tZXNzYWdlcy5pbgppbmRleCA1NGFiYmFmODkzNGNjZGNmOGU0ZjIwZjc4M2ZjYjZiOWYw
MzA0MGViLi4yMWRkYmZjZDkwNmRlMWI2NjUxM2EzMDcxZmRhN2I5M2UwYmNiNzZmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMu
aW4KQEAgLTQ3NCwxMiArNDc0LDEzIEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2UgTGVnYWN5UmVjZWl2
ZXIgewogICAgIEhhbmRsZUFjY2VwdGVkQ2FuZGlkYXRlKHN0cnVjdCBXZWJDb3JlOjpUZXh0Q2hl
Y2tpbmdSZXN1bHQgYWNjZXB0ZWRDYW5kaWRhdGUpCiAKICAgICBTZXRVc2VTeXN0ZW1BcHBlYXJh
bmNlKGJvb2wgdXNlU3lzdGVtQXBwZWFyYW5jZSk7Ci0gICAgU2V0VXNlRGFya0FwcGVhcmFuY2Uo
Ym9vbCB1c2VEYXJrQXBwZWFyYW5jZSk7CiAKICAgICBTZXRIZWFkZXJCYW5uZXJIZWlnaHRGb3JU
ZXN0aW5nKGludCBoZWlnaHQpOwogICAgIFNldEZvb3RlckJhbm5lckhlaWdodEZvclRlc3Rpbmco
aW50IGhlaWdodCk7CiAjZW5kaWYKIAorICAgIFNldFVzZURhcmtBcHBlYXJhbmNlKGJvb2wgdXNl
RGFya0FwcGVhcmFuY2UpOworCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgUmVxdWVzdEFjdGl2
ZU5vd1BsYXlpbmdTZXNzaW9uSW5mbyhXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGVk
MGUwZGY3OWIwM2RhNjZlOGEyOWJjZWQ5Y2VhYTkzY2Q2NjVlOGMuLjBiNWRiYzQxZjU0ZjZjMTUw
NzI5ZTNkNWYyZDdlYzcxNWM5YWY5N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlZpZXcubW0KQEAgLTE1ODcsNiArMTU4Nyw5IEBAIC0gKHZvaWQpX2NvbW1vbkluaXRp
YWxpemF0aW9uV2l0aEZyYW1lTmFtZTooTlNTdHJpbmcgKilmcmFtZU5hbWUgZ3JvdXBOYW1lOihO
U1N0CiAgICAgICAgIFJlc291cmNlSGFuZGxlOjpmb3JjZUNvbnRlbnRTbmlmZmluZygpOwogCiAg
ICAgX3ByaXZhdGUtPnBhZ2UtPnNldERldmljZVNjYWxlRmFjdG9yKFtzZWxmIF9kZXZpY2VTY2Fs
ZUZhY3Rvcl0pOworI2VuZGlmCisKKyNpZiBIQVZFKE9TX0RBUktfTU9ERV9TVVBQT1JUKSAmJiBQ
TEFURk9STShNQUMpCiAgICAgX3ByaXZhdGUtPnBhZ2UtPnNldFVzZURhcmtBcHBlYXJhbmNlKHNl
bGYuX2VmZmVjdGl2ZUFwcGVhcmFuY2VJc0RhcmspOwogI2VuZGlmCiAKQEAgLTUyOTUsMTUgKzUy
OTgsMTMgQEAgLSAoV2ViRWRnZUluc2V0cylfdW5vYnNjdXJlZFNhZmVBcmVhSW5zZXRzCiAgICAg
cmV0dXJuIGluc2V0czsKIH0KIAorI2lmIEhBVkUoT1NfREFSS19NT0RFX1NVUFBPUlQpICYmIFBM
QVRGT1JNKE1BQykKIC0gKGJvb2wpX2VmZmVjdGl2ZUFwcGVhcmFuY2VJc0RhcmsKIHsKLSNpZiBI
QVZFKE9TX0RBUktfTU9ERV9TVVBQT1JUKQogICAgIE5TQXBwZWFyYW5jZU5hbWUgYXBwZWFyYW5j
ZSA9IFtbc2VsZiBlZmZlY3RpdmVBcHBlYXJhbmNlXSBiZXN0TWF0Y2hGcm9tQXBwZWFyYW5jZXNX
aXRoTmFtZXM6QFsgTlNBcHBlYXJhbmNlTmFtZUFxdWEsIE5TQXBwZWFyYW5jZU5hbWVEYXJrQXF1
YSBdXTsKICAgICByZXR1cm4gW2FwcGVhcmFuY2UgaXNFcXVhbFRvU3RyaW5nOk5TQXBwZWFyYW5j
ZU5hbWVEYXJrQXF1YV07Ci0jZWxzZQotICAgIHJldHVybiBmYWxzZTsKLSNlbmRpZgogfQorI2Vu
ZGlmCiAKIC0gKHZvaWQpX3NldFVzZVN5c3RlbUFwcGVhcmFuY2U6KEJPT0wpdXNlU3lzdGVtQXBw
ZWFyYW5jZQogewpAQCAtNTMxOSw2ICs1MzIwLDcgQEAgLSAoQk9PTClfdXNlU3lzdGVtQXBwZWFy
YW5jZQogICAgIHJldHVybiBfcHJpdmF0ZS0+cGFnZS0+dXNlU3lzdGVtQXBwZWFyYW5jZSgpOwog
fQogCisjaWYgSEFWRShPU19EQVJLX01PREVfU1VQUE9SVCkgJiYgUExBVEZPUk0oTUFDKQogLSAo
dm9pZCl2aWV3RGlkQ2hhbmdlRWZmZWN0aXZlQXBwZWFyYW5jZQogewogICAgIC8vIFRoaXMgY2Fu
IGJlIGNhbGxlZCBkdXJpbmcgW3N1cGVyIGluaXRXaXRoQ29kZXI6XSBhbmQgW3N1cGVyIGluaXRX
aXRoRnJhbWU6XS4KQEAgLTUzMjgsNiArNTMzMCw3IEBAIC0gKHZvaWQpdmlld0RpZENoYW5nZUVm
ZmVjdGl2ZUFwcGVhcmFuY2UKIAogICAgIF9wcml2YXRlLT5wYWdlLT5zZXRVc2VEYXJrQXBwZWFy
YW5jZShzZWxmLl9lZmZlY3RpdmVBcHBlYXJhbmNlSXNEYXJrKTsKIH0KKyNlbmRpZgogCiAtICh2
b2lkKV9zZXRTb3VyY2VBcHBsaWNhdGlvbkF1ZGl0RGF0YTooTlNEYXRhICopc291cmNlQXBwbGlj
YXRpb25BdWRpdERhdGEKIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360305</attachid>
            <date>2019-01-27 12:36:03 -0800</date>
            <delta_ts>2019-01-28 17:51:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193882-20190127123602.patch</filename>
            <type>text/plain</type>
            <size>19542</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwMjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGY4MTk4MjYwNDAyYzli
MjVhZTI2MjA0YzUxNzc1MDY3ZDEzZDA3MS4uMWVkNDc1YjVmNWY4MTQ3NzIyMGY4NTZhYTA3YTg5
N2E5MGFiMjM1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE5LTAxLTI3ICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIGl0IGVhc2ll
ciBmb3Igbm9uLUFwcGxlIHBvcnRzIHRvIGVuYWJsZSBkYXJrIG1vZGUgQ1NTIHN1cHBvcnQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM4ODIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBhZ2UvRnJh
bWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6dXBkYXRlQmFja2dyb3Vu
ZFJlY3Vyc2l2ZWx5KTogTGltaXQgdXNlIG9mIHN5c3RlbQorICAgICAgICBiYWNrZ3JvdW5kIGNv
bG9yIHRvIHRoZSBNYWMgcGxhdGZvcm0uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1l
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjpwdXJnZUNhY2hlcyk6IFB1cmdl
IG1fZGFya0NvbG9yQ2FjaGUuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6cGxhdGZv
cm1Db2xvcnNEaWRDaGFuZ2UpOiBSZXNldCBtX2RhcmtDb2xvckNhY2hlLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWU6OmNvbG9yQ2FjaGUgY29uc3QpOiBBZGRlZCBtX2RhcmtDb2xvckNh
Y2hlLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5oOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGhlbWU6OmNvbG9yQ2FjaGUgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjpwdXJnZUNhY2hlcyk6
IFJlbW92ZWQgbV9kYXJrQ29sb3JDYWNoZS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1l
TWFjOjpwbGF0Zm9ybUNvbG9yc0RpZENoYW5nZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZU1hYzo6Y29sb3JDYWNoZSBjb25zdCk6IERlbGV0ZWQuCisKIDIwMTktMDEt
MjIgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBMZWFrIG9m
IE5TTXV0YWJsZUFycmF5ICgxMjggYnl0ZXMpIGluIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVu
dCBydW5uaW5nIFdlYktpdCBsYXlvdXQgdGVzdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZmRmYTIzNGU4NWVlOWEy
NmE2ZGM4NzQ3M2QwZTA4MzU5NDA1ZWUzNi4uOTJiNDU2ZGU0YjdjZGIzMmQ2YTRhNzAxNTExOGI4
N2VkMzlmNGZkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAxOS0wMS0yNiAgVGltb3Ro
eSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBpdCBlYXNpZXIg
Zm9yIG5vbi1BcHBsZSBwb3J0cyB0byBlbmFibGUgZGFyayBtb2RlIENTUyBzdXBwb3J0LgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzODgyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBtb2Rlcm4g
V2ViS2l0IGNvZGUgZm9yIGRhcmsgbW9kZSB1c2FibGUgYnkgb3RoZXIgcG9ydHMsIHRvIG1hdGNo
CisgICAgICAgIHRoZSBXZWJDb3JlIHBhcnRzIHRoYXQgaGF2ZSBiZWVuIGNyb3NzLXBsYXRmb3Jt
IGFsbCBhbG9uZy4KKworICAgICAgICAqIFNoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJz
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2Rl
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZGVj
b2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGll
bnQ6OmVmZmVjdGl2ZUFwcGVhcmFuY2VJc0RhcmsgY29uc3QpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNyZWF0
aW9uUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6dXNlRGFya0Fw
cGVhcmFuY2UgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmVmZmVjdGl2
ZUFwcGVhcmFuY2VEaWRDaGFuZ2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Om1fc2hvdWxkQXR0YWNoRHJhd2luZ0FyZWFPblBhZ2VUcmFuc2l0aW9uKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6c2V0VXNlRGFya0FwcGVhcmFuY2UpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UubWVzc2FnZXMuaW46CisKIDIwMTktMDEtMjIgIE9yaW9sIEJydWZhdSAgPG9icnVm
YXVAaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWxvZ2ljYWxdIEltcGxlbWVudCBmbG93LXJl
bGF0aXZlIG1hcmdpbiwgcGFkZGluZyBhbmQgYm9yZGVyIHNob3J0aGFuZHMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZwppbmRleCA3ZmFmNzMyODQyOGYyNmYwZmFkYTM5MzNkYmU3MWRhNjJmNmVj
M2MzLi5iNmQ2YTMxNDU4MjY3ZTBjZWQ5ZjMzNzMxOTA3MWQ5NmE5ZTZjOWYxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMDEtMjYgIFRpbW90aHkg
SGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgaXQgZWFzaWVyIGZv
ciBub24tQXBwbGUgcG9ydHMgdG8gZW5hYmxlIGRhcmsgbW9kZSBDU1Mgc3VwcG9ydC4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Mzg4MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJW
aWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFt
ZU5hbWU6Z3JvdXBOYW1lOl0pOiBGaXggc29tZSBkZWZpbmVzLgorICAgICAgICAoLVtXZWJWaWV3
IF9lZmZlY3RpdmVBcHBlYXJhbmNlSXNEYXJrXSk6IERpdHRvLgorCiAyMDE5LTAxLTIyICBPcmlv
bCBCcnVmYXUgIDxvYnJ1ZmF1QGlnYWxpYS5jb20+CiAKICAgICAgICAgW2Nzcy1sb2dpY2FsXSBJ
bXBsZW1lbnQgZmxvdy1yZWxhdGl2ZSBtYXJnaW4sIHBhZGRpbmcgYW5kIGJvcmRlciBzaG9ydGhh
bmRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggY2M5MzExNDZmYWIwZWVlMGMyYjMz
MDc5MWQ3MTA2NzdlNzRiNjg5My4uNjZiYWQzYTUzYmIxYzNjYmNkYzA2N2IwMjJhOTgzNzhjOWM5
YzY5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMzAxMiw3ICszMDEyLDcgQEAg
dm9pZCBGcmFtZVZpZXc6OnNldEJhc2VCYWNrZ3JvdW5kQ29sb3IoY29uc3QgQ29sb3ImIGJhY2tn
cm91bmRDb2xvcikKIAogdm9pZCBGcmFtZVZpZXc6OnVwZGF0ZUJhY2tncm91bmRSZWN1cnNpdmVs
eShib29sIHRyYW5zcGFyZW50KQogewotI2lmIEVOQUJMRShEQVJLX01PREVfQ1NTKQorI2lmIEVO
QUJMRShEQVJLX01PREVfQ1NTKSAmJiBQTEFURk9STShNQUMpCiAgICAgQ29sb3IgYmFja2dyb3Vu
ZENvbG9yID0gdHJhbnNwYXJlbnQgPyBDb2xvcjo6dHJhbnNwYXJlbnQgOiBSZW5kZXJUaGVtZTo6
c2luZ2xldG9uKCkuc3lzdGVtQ29sb3IoQ1NTVmFsdWVBcHBsZVN5c3RlbUNvbnRyb2xCYWNrZ3Jv
dW5kLCBzdHlsZUNvbG9yT3B0aW9ucygpKTsKICNlbHNlCiAgICAgQ29sb3IgYmFja2dyb3VuZENv
bG9yID0gdHJhbnNwYXJlbnQgPyBDb2xvcjo6dHJhbnNwYXJlbnQgOiBDb2xvcjo6d2hpdGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAppbmRleCA3NmM5YzVjNzhkNTZk
M2U4ZDk3ZDQyMWY0ZGZhYTRhYjFiZDllY2MwLi5hMDdiNzQxMDMwMmQ3ZjAwODY0NTAxMDM2ZmEx
MDUwYmJhYjJlYjZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAK
QEAgLTEyMTYsMTUgKzEyMTYsMjQgQEAgdm9pZCBSZW5kZXJUaGVtZTo6YWRqdXN0U2VhcmNoRmll
bGRSZXN1bHRzQnV0dG9uU3R5bGUoU3R5bGVSZXNvbHZlciYsIFJlbmRlclN0eWwKIHZvaWQgUmVu
ZGVyVGhlbWU6OnB1cmdlQ2FjaGVzKCkKIHsKICAgICBtX2NvbG9yQ2FjaGUgPSBDb2xvckNhY2hl
KCk7CisgICAgbV9kYXJrQ29sb3JDYWNoZSA9IENvbG9yQ2FjaGUoKTsKIH0KIAogdm9pZCBSZW5k
ZXJUaGVtZTo6cGxhdGZvcm1Db2xvcnNEaWRDaGFuZ2UoKQogewogICAgIG1fY29sb3JDYWNoZSA9
IENvbG9yQ2FjaGUoKTsKKyAgICBtX2RhcmtDb2xvckNhY2hlID0gQ29sb3JDYWNoZSgpOwogCiAg
ICAgUGFnZTo6dXBkYXRlU3R5bGVGb3JBbGxQYWdlc0FmdGVyR2xvYmFsQ2hhbmdlSW5FbnZpcm9u
bWVudCgpOwogfQogCithdXRvIFJlbmRlclRoZW1lOjpjb2xvckNhY2hlKE9wdGlvblNldDxTdHls
ZUNvbG9yOjpPcHRpb25zPiBvcHRpb25zKSBjb25zdCAtPiBDb2xvckNhY2hlJgoreworICAgIGlm
IChvcHRpb25zLmNvbnRhaW5zKFN0eWxlQ29sb3I6Ok9wdGlvbnM6OlVzZURhcmtBcHBlYXJhbmNl
KSkKKyAgICAgICAgcmV0dXJuIG1fZGFya0NvbG9yQ2FjaGU7CisgICAgcmV0dXJuIG1fY29sb3JD
YWNoZTsKK30KKwogRm9udENhc2NhZGVEZXNjcmlwdGlvbiYgUmVuZGVyVGhlbWU6OmNhY2hlZFN5
c3RlbUZvbnREZXNjcmlwdGlvbihDU1NWYWx1ZUlEIHN5c3RlbUZvbnRJRCkgY29uc3QKIHsKICAg
ICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Rm9udENhc2NhZGVEZXNjcmlwdGlvbj4gY2FwdGlvbjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKaW5kZXggYTYyOTJhNDM3YzlmOTM1
MmRkZTBiNmIyNWJjYTgxNzU4OTZhOTA5Zi4uNDcxYTlhM2E0YjUzY2FmOTI5NDY0Yjg2NjQwNzVh
MTBjMTlmMjBkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKQEAgLTQz
OCwxMCArNDM4LDExIEBAIHByb3RlY3RlZDoKICAgICAgICAgQ29sb3IgaW5hY3RpdmVUZXh0U2Vh
cmNoSGlnaGxpZ2h0Q29sb3I7CiAgICAgfTsKIAotICAgIHZpcnR1YWwgQ29sb3JDYWNoZSYgY29s
b3JDYWNoZShPcHRpb25TZXQ8U3R5bGVDb2xvcjo6T3B0aW9ucz4pIGNvbnN0IHsgcmV0dXJuIG1f
Y29sb3JDYWNoZTsgfQorICAgIHZpcnR1YWwgQ29sb3JDYWNoZSYgY29sb3JDYWNoZShPcHRpb25T
ZXQ8U3R5bGVDb2xvcjo6T3B0aW9ucz4pIGNvbnN0OwogCiBwcml2YXRlOgogICAgIG11dGFibGUg
Q29sb3JDYWNoZSBtX2NvbG9yQ2FjaGU7CisgICAgbXV0YWJsZSBDb2xvckNhY2hlIG1fZGFya0Nv
bG9yQ2FjaGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCmluZGV4IGI3NDM0NGM1N2M0NDNiMTdhNDUyNTU1OWUz
ZjViMWNmNDBhODM1OTMuLmExMzYxYWY4MjIxOTg4YTZjZDUyMmMwNzA2MGE3YzFmMzA1MGJjYWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCkBAIC02OCw4ICs2
OCw2IEBAIHB1YmxpYzoKIAogICAgIFNjcm9sbGJhckNvbnRyb2xTaXplIHNjcm9sbGJhckNvbnRy
b2xTaXplRm9yUGFydChDb250cm9sUGFydCkgZmluYWwgeyByZXR1cm4gU21hbGxTY3JvbGxiYXI7
IH0KIAotICAgIHZvaWQgcGxhdGZvcm1Db2xvcnNEaWRDaGFuZ2UoKSBmaW5hbDsKLQogICAgIGlu
dCBtaW5pbXVtTWVudUxpc3RTaXplKGNvbnN0IFJlbmRlclN0eWxlJikgY29uc3QgZmluYWw7CiAK
ICAgICB2b2lkIGFkanVzdFNsaWRlclRodW1iU2l6ZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1l
bnQqKSBjb25zdCBmaW5hbDsKQEAgLTE3Nyw4ICsxNzUsNiBAQCBwcml2YXRlOgogCiAgICAgQ29s
b3Igc3lzdGVtQ29sb3IoQ1NTVmFsdWVJRCwgT3B0aW9uU2V0PFN0eWxlQ29sb3I6Ok9wdGlvbnM+
KSBjb25zdCBmaW5hbDsKIAotICAgIENvbG9yQ2FjaGUmIGNvbG9yQ2FjaGUoT3B0aW9uU2V0PFN0
eWxlQ29sb3I6Ok9wdGlvbnM+KSBjb25zdCBmaW5hbDsKLQogICAgIHZvaWQgcHVyZ2VDYWNoZXMo
KSBmaW5hbDsKIAogICAgIC8vIEdldCB0aGUgY29udHJvbCBzaXplIGJhc2VkIG9mZiB0aGUgZm9u
dC4gVXNlZCBieSBzb21lIG9mIHRoZSBjb250cm9scyAobGlrZSBidXR0b25zKS4KQEAgLTI1Niw4
ICsyNTIsNiBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pc1NsaWRlclRodW1iSG9yaXpvbnRhbFBy
ZXNzZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1NsaWRlclRodW1iVmVydGljYWxQcmVzc2Vk
IHsgZmFsc2UgfTsKIAotICAgIG11dGFibGUgQ29sb3JDYWNoZSBtX2RhcmtDb2xvckNhY2hlOwot
CiAgICAgUmV0YWluUHRyPFdlYkNvcmVSZW5kZXJUaGVtZU5vdGlmaWNhdGlvbk9ic2VydmVyPiBt
X25vdGlmaWNhdGlvbk9ic2VydmVyOwogCiAgICAgU3RyaW5nIG1fbGVnYWN5TWVkaWFDb250cm9s
c1NjcmlwdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQppbmRl
eCBhZmVlOWQwMTY5MTAyMzdjMmE5NmM5ZTExYTFmY2IwZmY1NGQ5ZTIyLi5lYzMzOTA2YTIyNmMz
YzUxMDI5YjA3MGM0MDEzNzRlN2E3MzVlYmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lTWFjLm1tCkBAIC0zMzUsNyArMzM1LDYgQEAgdm9pZCBSZW5kZXJUaGVtZU1h
Yzo6cHVyZ2VDYWNoZXMoKQogICAgIG1fbWVkaWFDb250cm9sc1NjcmlwdC5jbGVhckltcGxJZk5v
dFNoYXJlZCgpOwogICAgIG1fbGVnYWN5TWVkaWFDb250cm9sc1N0eWxlU2hlZXQuY2xlYXJJbXBs
SWZOb3RTaGFyZWQoKTsKICAgICBtX21lZGlhQ29udHJvbHNTdHlsZVNoZWV0LmNsZWFySW1wbElm
Tm90U2hhcmVkKCk7Ci0gICAgbV9kYXJrQ29sb3JDYWNoZSA9IENvbG9yQ2FjaGUoKTsKIAogICAg
IFJlbmRlclRoZW1lOjpwdXJnZUNhY2hlcygpOwogfQpAQCAtNjA1LDIxICs2MDQsNiBAQCBzdGF0
aWMgUkdCQTMyIG1lbnVCYWNrZ3JvdW5kQ29sb3IoKQogICAgIHJldHVybiBtYWtlUkdCQShwaXhl
bFswXSwgcGl4ZWxbMV0sIHBpeGVsWzJdLCBwaXhlbFszXSk7CiB9CiAKLXZvaWQgUmVuZGVyVGhl
bWVNYWM6OnBsYXRmb3JtQ29sb3JzRGlkQ2hhbmdlKCkKLXsKLSAgICBtX2RhcmtDb2xvckNhY2hl
ID0gQ29sb3JDYWNoZSgpOwotCi0gICAgUmVuZGVyVGhlbWU6OnBsYXRmb3JtQ29sb3JzRGlkQ2hh
bmdlKCk7Ci19Ci0KLWF1dG8gUmVuZGVyVGhlbWVNYWM6OmNvbG9yQ2FjaGUoT3B0aW9uU2V0PFN0
eWxlQ29sb3I6Ok9wdGlvbnM+IG9wdGlvbnMpIGNvbnN0IC0+IENvbG9yQ2FjaGUmCi17Ci0gICAg
TG9jYWxEZWZhdWx0U3lzdGVtQXBwZWFyYW5jZSBsb2NhbEFwcGVhcmFuY2Uob3B0aW9ucy5jb250
YWlucyhTdHlsZUNvbG9yOjpPcHRpb25zOjpVc2VEYXJrQXBwZWFyYW5jZSkpOwotICAgIGlmIChs
b2NhbEFwcGVhcmFuY2UudXNpbmdEYXJrQXBwZWFyYW5jZSgpKQotICAgICAgICByZXR1cm4gbV9k
YXJrQ29sb3JDYWNoZTsKLSAgICByZXR1cm4gUmVuZGVyVGhlbWU6OmNvbG9yQ2FjaGUob3B0aW9u
cyk7Ci19Ci0KIENvbG9yIFJlbmRlclRoZW1lTWFjOjpzeXN0ZW1Db2xvcihDU1NWYWx1ZUlEIGNz
c1ZhbHVlSUQsIE9wdGlvblNldDxTdHlsZUNvbG9yOjpPcHRpb25zPiBvcHRpb25zKSBjb25zdAog
ewogICAgIGNvbnN0IGJvb2wgdXNlU3lzdGVtQXBwZWFyYW5jZSA9IG9wdGlvbnMuY29udGFpbnMo
U3R5bGVDb2xvcjo6T3B0aW9uczo6VXNlU3lzdGVtQXBwZWFyYW5jZSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IDZkMDdj
MDNhZDhjOTI3ZTU0NTNjNWZkYTk1OTY3MDlhNzcyNjFlMmIuLmFmNzVkOTk3NzFkZWE0ZjE5ZjYy
MDMwZDkzM2Q4ZmFjNmQ1ZGJiMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3BwCkBAIC03NCwxMSArNzQsMTEgQEAgdm9pZCBXZWJQ
YWdlQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25z
dAogICAgIGVuY29kZXIgPDwgbWltZVR5cGVzV2l0aEN1c3RvbUNvbnRlbnRQcm92aWRlcnM7CiAg
ICAgZW5jb2RlciA8PCBjb250cm9sbGVkQnlBdXRvbWF0aW9uOwogICAgIGVuY29kZXIgPDwgaXNQ
cm9jZXNzU3dhcDsKKyAgICBlbmNvZGVyIDw8IHVzZURhcmtBcHBlYXJhbmNlOwogCiAjaWYgUExB
VEZPUk0oTUFDKQogICAgIGVuY29kZXIgPDwgY29sb3JTcGFjZTsKICAgICBlbmNvZGVyIDw8IHVz
ZVN5c3RlbUFwcGVhcmFuY2U7Ci0gICAgZW5jb2RlciA8PCB1c2VEYXJrQXBwZWFyYW5jZTsKICNl
bmRpZgogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgZW5jb2RlciA8PCBzY3JlZW5TaXpl
OwpAQCAtMjI5LDE0ICsyMjksMTQgQEAgT3B0aW9uYWw8V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVy
cz4gV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6RGVjb2QKICAgICAgICAg
cmV0dXJuIFdURjo6bnVsbG9wdDsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMu
aXNQcm9jZXNzU3dhcCkpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLnVzZURhcmtBcHBlYXJhbmNlKSkKKyAgICAgICAgcmV0
dXJuIFdURjo6bnVsbG9wdDsKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKHBhcmFtZXRlcnMuY29sb3JTcGFjZSkpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLnVzZVN5c3RlbUFwcGVhcmFu
Y2UpKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUocGFyYW1ldGVycy51c2VEYXJrQXBwZWFyYW5jZSkpCi0gICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggYjM4MmNlZWRk
NDQ5YThkOWEwZjg2OTQ3MzVmMjZjMDU5NWRkZWNkOC4uZmIzMjdlNDA4MjBkYmE3MjIzYmQwMjAx
M2QyYzEyNjI3MzM3NGVjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFn
ZUNyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VD
cmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMTMxLDEwICsxMzEsMTEgQEAgc3RydWN0IFdlYlBhZ2VD
cmVhdGlvblBhcmFtZXRlcnMgewogICAgIGJvb2wgY29udHJvbGxlZEJ5QXV0b21hdGlvbjsKICAg
ICBib29sIGlzUHJvY2Vzc1N3YXAgeyBmYWxzZSB9OwogCisgICAgYm9vbCB1c2VEYXJrQXBwZWFy
YW5jZSB7IGZhbHNlIH07CisKICNpZiBQTEFURk9STShNQUMpCiAgICAgQ29sb3JTcGFjZURhdGEg
Y29sb3JTcGFjZTsKICAgICBib29sIHVzZVN5c3RlbUFwcGVhcmFuY2U7Ci0gICAgYm9vbCB1c2VE
YXJrQXBwZWFyYW5jZTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgV2Vi
Q29yZTo6RmxvYXRTaXplIHNjcmVlblNpemU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50
LmgKaW5kZXggMDc5NWNkOGRhZjRhOTAzZDZlMGMwMmIxMzg5N2E1ODc2NmI2YzZjYS4uMjA2Yzg0
YjI4YTc3OWY1NmQ1ZjdkNDEwODdlMzFlMjFlYWY0NzUxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1BhZ2VDbGllbnQuaApAQCAtMzExLDYgKzMxMSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgZGlkUGVyZm9ybURpY3Rpb25hcnlMb29rdXAoY29uc3QgV2ViQ29yZTo6RGljdGlvbmFyeVBv
cHVwSW5mbyYpID0gMDsKICNlbmRpZgogCisgICAgdmlydHVhbCBib29sIGVmZmVjdGl2ZUFwcGVh
cmFuY2VJc0RhcmsoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorCiAgICAgdmlydHVhbCB2b2lk
IGVudGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUoY29uc3QgTGF5ZXJUcmVlQ29udGV4dCYp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKCkg
PSAwOwogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZShj
b25zdCBMYXllclRyZWVDb250ZXh0JikgPSAwOwpAQCAtMzM3LDggKzMzOSw2IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIE5TV2luZG93ICpwbGF0Zm9ybVdpbmRvdygpID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgc2V0U2hvdWxkU3VwcHJlc3NGaXJzdFJlc3BvbmRlckNoYW5nZXMoYm9vbCkgPSAwOwog
Ci0gICAgdmlydHVhbCBib29sIGVmZmVjdGl2ZUFwcGVhcmFuY2VJc0RhcmsoKSBjb25zdCA9IDA7
Ci0KICNpZiBXS19BUElfRU5BQkxFRAogICAgIHZpcnR1YWwgTlNWaWV3ICppbnNwZWN0b3JBdHRh
Y2htZW50VmlldygpID0gMDsKICAgICB2aXJ0dWFsIF9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5ICpy
ZW1vdGVPYmplY3RSZWdpc3RyeSgpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCmluZGV4IGU3NGYzOGRjNTliNDAwZDQwMjZlMmNhZDNjNjU5ZTA1MjViNDNjOWEu
LjYyOTE2MzRlMzFlYmZlODljM2U4NGI4YTRiZTg4NzkwMzgxZjc2NWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNjc3NywxMCArNjc3NywxMCBAQCBXZWJQ
YWdlQ3JlYXRpb25QYXJhbWV0ZXJzIFdlYlBhZ2VQcm94eTo6Y3JlYXRpb25QYXJhbWV0ZXJzKFdl
YlByb2Nlc3NQcm94eSYgcHJvYwogICAgIHBhcmFtZXRlcnMuYmFja2dyb3VuZEV4dGVuZHNCZXlv
bmRQYWdlID0gbV9iYWNrZ3JvdW5kRXh0ZW5kc0JleW9uZFBhZ2U7CiAgICAgcGFyYW1ldGVycy5s
YXllckhvc3RpbmdNb2RlID0gbV9sYXllckhvc3RpbmdNb2RlOwogICAgIHBhcmFtZXRlcnMuY29u
dHJvbGxlZEJ5QXV0b21hdGlvbiA9IG1fY29udHJvbGxlZEJ5QXV0b21hdGlvbjsKKyAgICBwYXJh
bWV0ZXJzLnVzZURhcmtBcHBlYXJhbmNlID0gdXNlRGFya0FwcGVhcmFuY2UoKTsKICNpZiBQTEFU
Rk9STShNQUMpCiAgICAgcGFyYW1ldGVycy5jb2xvclNwYWNlID0gcGFnZUNsaWVudCgpLmNvbG9y
U3BhY2UoKTsKICAgICBwYXJhbWV0ZXJzLnVzZVN5c3RlbUFwcGVhcmFuY2UgPSBtX3VzZVN5c3Rl
bUFwcGVhcmFuY2U7Ci0gICAgcGFyYW1ldGVycy51c2VEYXJrQXBwZWFyYW5jZSA9IHVzZURhcmtB
cHBlYXJhbmNlKCk7CiAjZW5kaWYKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIHBhcmFt
ZXRlcnMuc2NyZWVuU2l6ZSA9IHNjcmVlblNpemUoKTsKQEAgLTczOTMsMTEgKzczOTMsNiBAQCB2
b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxlQWx0ZXJuYXRpdmVUZXh0VUlSZXN1bHQoY29uc3QgU3Ry
aW5nJiByZXN1bHQpCiAgICAgICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6
SGFuZGxlQWx0ZXJuYXRpdmVUZXh0VUlSZXN1bHQocmVzdWx0KSwgbV9wYWdlSUQpOwogfQogCi1i
b29sIFdlYlBhZ2VQcm94eTo6dXNlRGFya0FwcGVhcmFuY2UoKSBjb25zdAotewotICAgIHJldHVy
biBwYWdlQ2xpZW50KCkuZWZmZWN0aXZlQXBwZWFyYW5jZUlzRGFyaygpOwotfQotCiAjaWYgVVNF
KERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCiB2b2lkIFdlYlBhZ2VQcm94eTo6c2hvd0RpY3RhdGlv
bkFsdGVybmF0aXZlVUkoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBib3VuZGluZ0JveE9mRGlj
dGF0ZWRUZXh0LCB1aW50NjRfdCBkaWN0YXRpb25Db250ZXh0KQogewpAQCAtNzkwNCwxNCArNzg5
OSw2IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRVc2VTeXN0ZW1BcHBlYXJhbmNlKGJvb2wgdXNl
U3lzdGVtQXBwZWFyYW5jZSkKICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6
OlNldFVzZVN5c3RlbUFwcGVhcmFuY2UodXNlU3lzdGVtQXBwZWFyYW5jZSksIG1fcGFnZUlEKTsK
IH0KICAgICAKLXZvaWQgV2ViUGFnZVByb3h5OjplZmZlY3RpdmVBcHBlYXJhbmNlRGlkQ2hhbmdl
KCkKLXsKLSAgICBpZiAoIWlzVmFsaWQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9wcm9j
ZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpTZXRVc2VEYXJrQXBwZWFyYW5jZSh1c2VEYXJr
QXBwZWFyYW5jZSgpKSwgbV9wYWdlSUQpOwotfQotCiB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0SGVh
ZGVyQmFubmVySGVpZ2h0Rm9yVGVzdGluZyhpbnQgaGVpZ2h0KQogewogICAgIG1fcHJvY2Vzcy0+
c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0SGVhZGVyQmFubmVySGVpZ2h0Rm9yVGVzdGluZyho
ZWlnaHQpLCBtX3BhZ2VJRCk7CkBAIC04MjYxLDYgKzgyNDgsMTkgQEAgdm9pZCBXZWJQYWdlUHJv
eHk6OnJlcXVlc3RTdG9yYWdlQWNjZXNzKFN0cmluZyYmIHN1YkZyYW1lSG9zdCwgU3RyaW5nJiYg
dG9wRnJhbWUKIH0KICNlbmRpZgogCitib29sIFdlYlBhZ2VQcm94eTo6dXNlRGFya0FwcGVhcmFu
Y2UoKSBjb25zdAoreworICAgIHJldHVybiBwYWdlQ2xpZW50KCkuZWZmZWN0aXZlQXBwZWFyYW5j
ZUlzRGFyaygpOworfQorCit2b2lkIFdlYlBhZ2VQcm94eTo6ZWZmZWN0aXZlQXBwZWFyYW5jZURp
ZENoYW5nZSgpCit7CisgICAgaWYgKCFpc1ZhbGlkKCkpCisgICAgICAgIHJldHVybjsKKworICAg
IG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0VXNlRGFya0FwcGVhcmFuY2Uo
dXNlRGFya0FwcGVhcmFuY2UoKSksIG1fcGFnZUlEKTsKK30KKwogI2lmIFBMQVRGT1JNKENPQ09B
KQogdm9pZCBXZWJQYWdlUHJveHk6OnRvdWNoQmFyTWVudURhdGFDaGFuZ2VkKGNvbnN0IFRvdWNo
QmFyTWVudURhdGEmIHRvdWNoQmFyTWVudURhdGEpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCmluZGV4IGFjNTYwMGY2MmFjYzZhMzZlZDMwZTAyYTlmZDcyNDMwMWJlMGJm
NGMuLmNiZmZmYWM0Yzg5OGJlZTk1M2Y2Zjk4MjkyODc0ZmE0NDQ4YjA3NDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC04OTYsOSArODk2LDEwIEBAIHB1YmxpYzoK
ICNpZiBQTEFURk9STShNQUMpCiAgICAgdm9pZCBzZXRVc2VTeXN0ZW1BcHBlYXJhbmNlKGJvb2wp
OwogICAgIGJvb2wgdXNlU3lzdGVtQXBwZWFyYW5jZSgpIGNvbnN0IHsgcmV0dXJuIG1fdXNlU3lz
dGVtQXBwZWFyYW5jZTsgfQorI2VuZGlmCisKICAgICB2b2lkIGVmZmVjdGl2ZUFwcGVhcmFuY2VE
aWRDaGFuZ2UoKTsKICAgICBib29sIHVzZURhcmtBcHBlYXJhbmNlKCkgY29uc3Q7Ci0jZW5kaWYK
IAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIC8vIENhbGxlZCBieSB0aGUgd2ViIHByb2Nlc3Mg
dGhyb3VnaCBhIG1lc3NhZ2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCmluZGV4IDVlMmQ1MjE5MDFlOWM0OWEyYjg0NGUzYzQ2Nzk1OGM5MTc4NjRjMzgu
LjlmOWQzNzQ4M2Q1ODYwYmE3ZWY2NmM3MjQzZGY3MTA0YzA0ZDhiNjQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC01MjQsMTAgKzUyNCwxMyBA
QCBXZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgV2ViUGFnZUNyZWF0aW9uUGFyYW1l
dGVycyYmIHBhcmFtZXRlcnMpCiAgICAgc2V0UGFnZUxlbmd0aChwYXJhbWV0ZXJzLnBhZ2VMZW5n
dGgpOwogICAgIHNldEdhcEJldHdlZW5QYWdlcyhwYXJhbWV0ZXJzLmdhcEJldHdlZW5QYWdlcyk7
CiAgICAgc2V0UGFnaW5hdGlvbkxpbmVHcmlkRW5hYmxlZChwYXJhbWV0ZXJzLnBhZ2luYXRpb25M
aW5lR3JpZEVuYWJsZWQpOworCisgICAgc2V0VXNlRGFya0FwcGVhcmFuY2UocGFyYW1ldGVycy51
c2VEYXJrQXBwZWFyYW5jZSk7CisKICNpZiBQTEFURk9STShNQUMpCiAgICAgc2V0VXNlU3lzdGVt
QXBwZWFyYW5jZShwYXJhbWV0ZXJzLnVzZVN5c3RlbUFwcGVhcmFuY2UpOwotICAgIHNldFVzZURh
cmtBcHBlYXJhbmNlKHBhcmFtZXRlcnMudXNlRGFya0FwcGVhcmFuY2UpOwogI2VuZGlmCisKICAg
ICAvLyBJZiB0aGUgcGFnZSBpcyBjcmVhdGVkIG9mZi1zY3JlZW4sIGl0cyB2aXNpYmlsaXR5U3Rh
dGUgc2hvdWxkIGJlIHByZXJlbmRlci4KICAgICBtX3BhZ2UtPnNldEFjdGl2aXR5U3RhdGUobV9h
Y3Rpdml0eVN0YXRlKTsKICAgICBpZiAoIWlzVmlzaWJsZSgpKQpAQCAtNDUwMSwxMiArNDUwNCwx
MyBAQCB2b2lkIFdlYlBhZ2U6OnNldFVzZVN5c3RlbUFwcGVhcmFuY2UoYm9vbCB1c2VTeXN0ZW1B
cHBlYXJhbmNlKQogewogICAgIGNvcmVQYWdlKCktPnNldFVzZVN5c3RlbUFwcGVhcmFuY2UodXNl
U3lzdGVtQXBwZWFyYW5jZSk7CiB9Ci0gICAgCisKKyNlbmRpZgorCiB2b2lkIFdlYlBhZ2U6OnNl
dFVzZURhcmtBcHBlYXJhbmNlKGJvb2wgdXNlRGFya0FwcGVhcmFuY2UpCiB7CiAgICAgY29yZVBh
Z2UoKS0+c2V0VXNlRGFya0FwcGVhcmFuY2UodXNlRGFya0FwcGVhcmFuY2UpOwogfQotI2VuZGlm
CiAKIHZvaWQgV2ViUGFnZTo6YmVnaW5QcmludGluZyh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBQ
cmludEluZm8mIHByaW50SW5mbykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuaAppbmRleCBkNGQyMWQzZjMzZjA3NDdmZDM2NzZkNzY5NDg2NjJkMTBhN2M5NWYy
Li4zNTYzZjc5ZThlODg5ZDk1MWYyNzc3MDE2MjM3ZDRjYWNkYTVkNzQxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC01MzgsOSArNTM4LDEwIEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldEJvdHRvbU92ZXJoYW5nSW1hZ2UoV2ViSW1hZ2UqKTsKICAgICAK
ICAgICB2b2lkIHNldFVzZVN5c3RlbUFwcGVhcmFuY2UoYm9vbCk7Ci0gICAgdm9pZCBzZXRVc2VE
YXJrQXBwZWFyYW5jZShib29sKTsKICNlbmRpZgogCisgICAgdm9pZCBzZXRVc2VEYXJrQXBwZWFy
YW5jZShib29sKTsKKwogICAgIGJvb2wgd2luZG93SXNGb2N1c2VkKCkgY29uc3Q7CiAgICAgYm9v
bCB3aW5kb3dBbmRXZWJQYWdlQXJlRm9jdXNlZCgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgppbmRleCA1NGFi
YmFmODkzNGNjZGNmOGU0ZjIwZjc4M2ZjYjZiOWYwMzA0MGViLi4yMWRkYmZjZDkwNmRlMWI2NjUx
M2EzMDcxZmRhN2I5M2UwYmNiNzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAgLTQ3NCwxMiArNDc0LDEzIEBAIG1l
c3NhZ2VzIC0+IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogICAgIEhhbmRsZUFjY2VwdGVkQ2Fu
ZGlkYXRlKHN0cnVjdCBXZWJDb3JlOjpUZXh0Q2hlY2tpbmdSZXN1bHQgYWNjZXB0ZWRDYW5kaWRh
dGUpCiAKICAgICBTZXRVc2VTeXN0ZW1BcHBlYXJhbmNlKGJvb2wgdXNlU3lzdGVtQXBwZWFyYW5j
ZSk7Ci0gICAgU2V0VXNlRGFya0FwcGVhcmFuY2UoYm9vbCB1c2VEYXJrQXBwZWFyYW5jZSk7CiAK
ICAgICBTZXRIZWFkZXJCYW5uZXJIZWlnaHRGb3JUZXN0aW5nKGludCBoZWlnaHQpOwogICAgIFNl
dEZvb3RlckJhbm5lckhlaWdodEZvclRlc3RpbmcoaW50IGhlaWdodCk7CiAjZW5kaWYKIAorICAg
IFNldFVzZURhcmtBcHBlYXJhbmNlKGJvb2wgdXNlRGFya0FwcGVhcmFuY2UpOworCiAjaWYgUExB
VEZPUk0oQ09DT0EpCiAgICAgUmVxdWVzdEFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mbyhXZWJL
aXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGVkMGUwZGY3OWIwM2RhNjZlOGEyOWJjZWQ5Y2Vh
YTkzY2Q2NjVlOGMuLjBiNWRiYzQxZjU0ZjZjMTUwNzI5ZTNkNWYyZDdlYzcxNWM5YWY5N2MgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTE1ODcsNiAr
MTU4Nyw5IEBAIC0gKHZvaWQpX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZTooTlNT
dHJpbmcgKilmcmFtZU5hbWUgZ3JvdXBOYW1lOihOU1N0CiAgICAgICAgIFJlc291cmNlSGFuZGxl
Ojpmb3JjZUNvbnRlbnRTbmlmZmluZygpOwogCiAgICAgX3ByaXZhdGUtPnBhZ2UtPnNldERldmlj
ZVNjYWxlRmFjdG9yKFtzZWxmIF9kZXZpY2VTY2FsZUZhY3Rvcl0pOworI2VuZGlmCisKKyNpZiBI
QVZFKE9TX0RBUktfTU9ERV9TVVBQT1JUKSAmJiBQTEFURk9STShNQUMpCiAgICAgX3ByaXZhdGUt
PnBhZ2UtPnNldFVzZURhcmtBcHBlYXJhbmNlKHNlbGYuX2VmZmVjdGl2ZUFwcGVhcmFuY2VJc0Rh
cmspOwogI2VuZGlmCiAKQEAgLTUyOTUsMTUgKzUyOTgsMTMgQEAgLSAoV2ViRWRnZUluc2V0cylf
dW5vYnNjdXJlZFNhZmVBcmVhSW5zZXRzCiAgICAgcmV0dXJuIGluc2V0czsKIH0KIAorI2lmIEhB
VkUoT1NfREFSS19NT0RFX1NVUFBPUlQpICYmIFBMQVRGT1JNKE1BQykKIC0gKGJvb2wpX2VmZmVj
dGl2ZUFwcGVhcmFuY2VJc0RhcmsKIHsKLSNpZiBIQVZFKE9TX0RBUktfTU9ERV9TVVBQT1JUKQog
ICAgIE5TQXBwZWFyYW5jZU5hbWUgYXBwZWFyYW5jZSA9IFtbc2VsZiBlZmZlY3RpdmVBcHBlYXJh
bmNlXSBiZXN0TWF0Y2hGcm9tQXBwZWFyYW5jZXNXaXRoTmFtZXM6QFsgTlNBcHBlYXJhbmNlTmFt
ZUFxdWEsIE5TQXBwZWFyYW5jZU5hbWVEYXJrQXF1YSBdXTsKICAgICByZXR1cm4gW2FwcGVhcmFu
Y2UgaXNFcXVhbFRvU3RyaW5nOk5TQXBwZWFyYW5jZU5hbWVEYXJrQXF1YV07Ci0jZWxzZQotICAg
IHJldHVybiBmYWxzZTsKLSNlbmRpZgogfQorI2VuZGlmCiAKIC0gKHZvaWQpX3NldFVzZVN5c3Rl
bUFwcGVhcmFuY2U6KEJPT0wpdXNlU3lzdGVtQXBwZWFyYW5jZQogewpAQCAtNTMxOSw2ICs1MzIw
LDcgQEAgLSAoQk9PTClfdXNlU3lzdGVtQXBwZWFyYW5jZQogICAgIHJldHVybiBfcHJpdmF0ZS0+
cGFnZS0+dXNlU3lzdGVtQXBwZWFyYW5jZSgpOwogfQogCisjaWYgSEFWRShPU19EQVJLX01PREVf
U1VQUE9SVCkgJiYgUExBVEZPUk0oTUFDKQogLSAodm9pZCl2aWV3RGlkQ2hhbmdlRWZmZWN0aXZl
QXBwZWFyYW5jZQogewogICAgIC8vIFRoaXMgY2FuIGJlIGNhbGxlZCBkdXJpbmcgW3N1cGVyIGlu
aXRXaXRoQ29kZXI6XSBhbmQgW3N1cGVyIGluaXRXaXRoRnJhbWU6XS4KQEAgLTUzMjgsNiArNTMz
MCw3IEBAIC0gKHZvaWQpdmlld0RpZENoYW5nZUVmZmVjdGl2ZUFwcGVhcmFuY2UKIAogICAgIF9w
cml2YXRlLT5wYWdlLT5zZXRVc2VEYXJrQXBwZWFyYW5jZShzZWxmLl9lZmZlY3RpdmVBcHBlYXJh
bmNlSXNEYXJrKTsKIH0KKyNlbmRpZgogCiAtICh2b2lkKV9zZXRTb3VyY2VBcHBsaWNhdGlvbkF1
ZGl0RGF0YTooTlNEYXRhICopc291cmNlQXBwbGljYXRpb25BdWRpdERhdGEKIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>