<?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>184912</bug_id>
          
          <creation_ts>2018-04-24 03:02:21 -0700</creation_ts>
          <short_desc>[CoordGraphics] Remove dead fixed layer code</short_desc>
          <delta_ts>2018-04-24 08:28:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1417127</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-04-24 03:02:21 -0700</bug_when>
    <thetext>[CoordGraphics] Remove dead fixed layer code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1417129</commentid>
    <comment_count>1</comment_count>
      <attachid>338642</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-04-24 03:18:40 -0700</bug_when>
    <thetext>Created attachment 338642
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1417132</commentid>
    <comment_count>2</comment_count>
      <attachid>338643</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-04-24 03:24:37 -0700</bug_when>
    <thetext>Created attachment 338643
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1417137</commentid>
    <comment_count>3</comment_count>
      <attachid>338643</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-04-24 06:02:59 -0700</bug_when>
    <thetext>Comment on attachment 338643
Patch

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

&gt; Source/WebKit/ChangeLog:8
&gt; +        Drop the unused fixed layer handling  code in CoordinatedGrahpicsScene.

CoordinatedGraphicsScene

&gt; Source/WebKit/ChangeLog:14
&gt; +        CoordinatedGrahpicsScene::paintToCurrentGLContext() method. Both of

CoordinatedGraphicsScene</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1417143</commentid>
    <comment_count>4</comment_count>
      <attachid>338647</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-04-24 06:58:19 -0700</bug_when>
    <thetext>Created attachment 338647
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1417157</commentid>
    <comment_count>5</comment_count>
      <attachid>338647</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-04-24 08:27:49 -0700</bug_when>
    <thetext>Comment on attachment 338647
Patch for landing

Clearing flags on attachment: 338647

Committed r230955: &lt;https://trac.webkit.org/changeset/230955&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1417158</commentid>
    <comment_count>6</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-04-24 08:27:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1417159</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-04-24 08:28:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/39684644&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>338642</attachid>
            <date>2018-04-24 03:18:40 -0700</date>
            <delta_ts>2018-04-24 03:24:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184912-20180424121839.patch</filename>
            <type>text/plain</type>
            <size>23174</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwOTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmFmMjZjZDRhOWRjZjk5
M2IxNTNlMTBmYWMwMDI0MDI3NmQ0MGUzMy4uY2FlNzFlODQxZDIwNDFmMjhkY2MzYzNlMWE0ZDI4
ZDI1NGFjYzg2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ3IEBACiAyMDE4LTA0LTI0ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAorICAgICAgICBbQ29vcmRHcmFwaGlj
c10gUmVtb3ZlIGRlYWQgZml4ZWQgbGF5ZXIgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0OTEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6
c2V0Rml4ZWRUb1ZpZXdwb3J0KCkgYW5kIHRoZQorICAgICAgICBjb3JyZXNwb25kaW5nIGF0dHJp
YnV0ZSBvbiB0aGUgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyU3RhdGUgc3RydWN0LgorICAgICAg
ICBUaGUgbWV0aG9kIGlzIG5vdCBjYWxsZWQgYW55d2hlcmUgc2luY2UgcjIzMDk1Mi4KKworICAg
ICAgICBDb29yZGluYXRlZEdyYXBoaWNzU3RhdGUgc3RydWN0IGFsc28gbG9zZXMgdGhlIHNjcm9s
bFBvc2l0aW9uIGF0dHJpYnV0ZQorICAgICAgICB0aGF0IGFsc28gaXNuJ3QgdXNlZCBhbnltb3Jl
LgorCisgICAgICAgIENoYW5nZXMgdG8gR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIgY2xhc3Mg
bWlycm9yIHRob3NlIG1hZGUgdG8KKyAgICAgICAgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLCBy
ZW1vdmluZyBzdXBwb3J0IGZvciB0aGUgZml4ZWQtdG8tdmlld3BvcnQKKyAgICAgICAgYXR0cmli
dXRlLiBUaGlzIHRvbyB3YXMgbm90IGNhbGxlZCBmcm9tIGFueXdoZXJlLgorCisgICAgICAgIEFs
bCB0aGF0IGVuYWJsZXMgdXMgcmVtb3ZpbmcgZml4ZWQtdG8tdmlld3BvcnQgaGFuZGxpbmcgaW4g
dGhlCisgICAgICAgIFRleHR1cmVNYXBwZXJMYXllciBjbGFzcy4gQWxvbmcgd2l0aCByZWxhdGVk
IGNoYW5nZXMgaW4gdGhlCisgICAgICAgIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSBjbGFzcywg
d2UncmUgYWJsZSB0byByZW1vdmUgYSBidW5jaCBvZiBtZXRob2RzCisgICAgICAgIGFuZCBtZW1i
ZXIgdmFyaWFibGVzIHRoYXQgYXJlIG5vdCB1c2VkIG9yIG5lZWRlZCBhbnltb3JlLgorCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyOjpHcmFw
aGljc0xheWVyVGV4dHVyZU1hcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVy
VGV4dHVyZU1hcHBlcjo6Y29tbWl0TGF5ZXJDaGFuZ2VzKToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyOjpzZXRGaXhlZFRvVmlld3BvcnQpOiBEZWxldGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0xheWVyVGV4dHVyZU1h
cHBlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVy
TGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckxheWVyOjpjb21wdXRl
VHJhbnNmb3Jtc1JlY3Vyc2l2ZSk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyTGF5
ZXI6OnNldEZpeGVkVG9WaWV3cG9ydCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpUZXh0
dXJlTWFwcGVyTGF5ZXI6OmlzQW5jZXN0b3JGaXhlZFRvVmlld3BvcnQgY29uc3QpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckxheWVyOjpzZXRTY3JvbGxQb3NpdGlv
bkRlbHRhSWZOZWVkZWQpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6Q29vcmRpbmF0ZWRHcmFwaGljc0xh
eWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6c3luY0xh
eWVyU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpz
ZXRGaXhlZFRvVmlld3BvcnQpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGlj
c1N0YXRlLmg6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXJTdGF0
ZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyU3RhdGUpOgorCisyMDE4LTA0LTI0ICBaYW4gRG9i
ZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKwogICAgICAgICBbQ29vcmRHcmFwaGljc10g
UmVtb3ZlIHVudXNlZCBmaXhlZCBsYXlvdXQgZnVuY3Rpb25hbGl0eQogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0OTA4CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggOTli
MmM3NmUyYTM2YjA5N2IwZjllZmU5YTVkNGI4OTEyMjUzMjE5Zi4uYWZiZjkxMzY0OTlhMjMwNjJk
NTcwYmM5MTFhZTY4MGQ4NTU3NTY2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzNSBAQAogMjAxOC0w
NC0yNCAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKKyAgICAgICAgW0Nv
b3JkR3JhcGhpY3NdIFJlbW92ZSBkZWFkIGZpeGVkIGxheWVyIGNvZGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDkxMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3AgdGhlIHVudXNlZCBmaXhlZCBs
YXllciBoYW5kbGluZyAgY29kZSBpbiBDb29yZGluYXRlZEdyYWhwaWNzU2NlbmUuCisgICAgICAg
IFRoZSBtX2ZpeGVkTGF5ZXJzIGNvbnRhaW5lciBjYW4gYmUgcmVtb3ZlZCwgYWxvbmcgd2l0aCB0
aGUKKyAgICAgICAgYWRqdXN0UG9zaXRpb25Gb3JGaXhlZExheWVycygpIG1ldGhvZCB0aGF0IG9w
ZXJhdGVkIG9uIHRoYXQgY29udGFpbmVyLgorCisgICAgICAgIFRoaXMgd2FzIHRoZSBvbmx5IG1l
dGhvZCB0aGF0IG9wZXJhdGVkIHdpdGggdGhlIG1fc2Nyb2xsUG9zaXRpb24gbWVtYmVyCisgICAg
ICAgIHZhcmlhYmxlIGFuZCB0aGUgY29udGVudHNQb3NpdGlvbiBhcmd1bWVudCB0aGF0J3MgcGFz
c2VkIHRvIHRoZQorICAgICAgICBDb29yZGluYXRlZEdyYWhwaWNzU2NlbmU6OnBhaW50VG9DdXJy
ZW50R0xDb250ZXh0KCkgbWV0aG9kLiBCb3RoIG9mCisgICAgICAgIHRoZXNlIGFyZSByZW1vdmVk
LCBhbG9uZyB3aXRoIHRoZSBzY3JvbGxQb3NpdGlvbiBhdHRyaWJ1dGUgb24gdGhlCisgICAgICAg
IENvb3JkaW5hdGVkR3JhcGhpY3NTdGF0ZSBzdHJ1Y3QuCisKKyAgICAgICAgKiBTaGFyZWQvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwOgorICAgICAgICAo
V2ViS2l0OjpDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnBhaW50VG9DdXJyZW50R0xDb250ZXh0
KToKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpzZXRMYXllclN0
YXRlKToKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpkZWxldGVM
YXllcik6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6Y29tbWl0
U2NlbmVTdGF0ZSk6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6
cHVyZ2VHTFJlc291cmNlcyk6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkR3JhcGhpY3NT
Y2VuZTo6YWRqdXN0UG9zaXRpb25Gb3JGaXhlZExheWVycyk6IERlbGV0ZWQuCisgICAgICAgICog
U2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmg6Cisg
ICAgICAgICogU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1Ro
cmVhZGVkQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlRocmVhZGVkQ29tcG9zaXRv
cjo6cmVuZGVyTGF5ZXJUcmVlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRp
bmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6Q29tcG9zaXRpbmdDb29yZGluYXRvcjo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKToKKwor
MjAxOC0wNC0yNCAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CisKICAgICAg
ICAgW0Nvb3JkR3JhcGhpY3NdIFJlbW92ZSB1bnVzZWQgZml4ZWQgbGF5b3V0IGZ1bmN0aW9uYWxp
dHkKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDkw
OAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
R3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyLmNwcAppbmRleCA0NmYw
N2ZhZjk0ODFhNGI1NWZiNDZhZjg2NTkxMjQ2NGZlOTVkOWQyLi4yZTAzZjQ2ZWNkODU4NjZkMWMy
OTEwZjBlYzdhYTBkM2M0ZTc0MTcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0xheWVyVGV4dHVy
ZU1hcHBlci5jcHAKQEAgLTQyLDcgKzQyLDYgQEAgR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXI6
OkdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyKFR5cGUgbGF5ZXJUeXBlLCBHcmFwaGljc0wKICAg
ICAsIG1fY29tcG9zaXRlZE5hdGl2ZUltYWdlUHRyKDApCiAgICAgLCBtX2NoYW5nZU1hc2soTm9D
aGFuZ2VzKQogICAgICwgbV9uZWVkc0Rpc3BsYXkoZmFsc2UpCi0gICAgLCBtX2ZpeGVkVG9WaWV3
cG9ydChmYWxzZSkKICAgICAsIG1fZGVidWdCb3JkZXJXaWR0aCgwKQogICAgICwgbV9jb250ZW50
c0xheWVyKDApCiB7CkBAIC00NjQsOSArNDYzLDYgQEAgdm9pZCBHcmFwaGljc0xheWVyVGV4dHVy
ZU1hcHBlcjo6Y29tbWl0TGF5ZXJDaGFuZ2VzKCkKICAgICBpZiAobV9jaGFuZ2VNYXNrICYgQW5p
bWF0aW9uU3RhcnRlZCkKICAgICAgICAgY2xpZW50KCkubm90aWZ5QW5pbWF0aW9uU3RhcnRlZCh0
aGlzLCAiIiwgbV9hbmltYXRpb25TdGFydFRpbWUpOwogCi0gICAgaWYgKG1fY2hhbmdlTWFzayAm
IEZpeGVkVG9WaWV3cG9yQ2hhbmdlKQotICAgICAgICBtX2xheWVyLnNldEZpeGVkVG9WaWV3cG9y
dChmaXhlZFRvVmlld3BvcnQoKSk7Ci0KICAgICBtX2NoYW5nZU1hc2sgPSBOb0NoYW5nZXM7CiB9
CiAKQEAgLTYxMSwxNSArNjA3LDYgQEAgYm9vbCBHcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlcjo6
c2V0RmlsdGVycyhjb25zdCBGaWx0ZXJPcGVyYXRpb25zJiBmaWx0ZXJzKQogICAgIHJldHVybiBj
YW5Db21wb3NpdGVGaWx0ZXJzOwogfQogCi12b2lkIEdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVy
OjpzZXRGaXhlZFRvVmlld3BvcnQoYm9vbCBmaXhlZCkKLXsKLSAgICBpZiAobV9maXhlZFRvVmll
d3BvcnQgPT0gZml4ZWQpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fZml4ZWRUb1ZpZXdwb3J0
ID0gZml4ZWQ7Ci0gICAgbm90aWZ5Q2hhbmdlKEZpeGVkVG9WaWV3cG9yQ2hhbmdlKTsKLX0KLQog
dm9pZCBHcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlcjo6c2V0UmVwYWludENvdW50KGludCByZXBh
aW50Q291bnQpCiB7CiAgICAgbV9yZXBhaW50Q291bnQgPSByZXBhaW50Q291bnQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXll
clRleHR1cmVNYXBwZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9HcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlci5oCmluZGV4IDc5Y2RiZTgzZDg0MmZkOWQ0NmM0
Mjg4OWExZjhjYjQ4M2U3YjhmMjYuLjBlNDJhNTMzMjNiZTljNmIwNWNlYjM2ZDZiZDNlNGU3YzBh
NzkxNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9HcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlci5oCkBAIC04OCw5
ICs4OCw2IEBAIHB1YmxpYzoKIAogICAgIFRleHR1cmVNYXBwZXJMYXllciYgbGF5ZXIoKSB7IHJl
dHVybiBtX2xheWVyOyB9CiAKLSAgICB2b2lkIHNldEZpeGVkVG9WaWV3cG9ydChib29sKTsKLSAg
ICBib29sIGZpeGVkVG9WaWV3cG9ydCgpIGNvbnN0IHsgcmV0dXJuIG1fZml4ZWRUb1ZpZXdwb3J0
OyB9Ci0KICAgICBDb2xvciBkZWJ1Z0JvcmRlckNvbG9yKCkgY29uc3QgeyByZXR1cm4gbV9kZWJ1
Z0JvcmRlckNvbG9yOyB9CiAgICAgZmxvYXQgZGVidWdCb3JkZXJXaWR0aCgpIGNvbnN0IHsgcmV0
dXJuIG1fZGVidWdCb3JkZXJXaWR0aDsgfQogICAgIHZvaWQgc2V0UmVwYWludENvdW50KGludCk7
CkBAIC0xNDgsOCArMTQ1LDcgQEAgcHJpdmF0ZToKICAgICAgICAgRGVidWdWaXN1YWxzQ2hhbmdl
ID0gICAgICAgICgxTCA8PCAyNCksCiAgICAgICAgIFJlcGFpbnRDb3VudENoYW5nZSA9ICAgICAg
ICAoMUwgPDwgMjUpLAogCi0gICAgICAgIEZpeGVkVG9WaWV3cG9yQ2hhbmdlID0gICAgICAoMUwg
PDwgMjYpLAotICAgICAgICBBbmltYXRpb25TdGFydGVkID0gICAgICAgICAgKDFMIDw8IDI3KSwK
KyAgICAgICAgQW5pbWF0aW9uU3RhcnRlZCA9ICAgICAgICAgICgxTCA8PCAyNiksCiAgICAgfTsK
ICAgICB2b2lkIG5vdGlmeUNoYW5nZShDaGFuZ2VNYXNrKTsKIApAQCAtMTYwLDcgKzE1Niw2IEBA
IHByaXZhdGU6CiAKICAgICBpbnQgbV9jaGFuZ2VNYXNrOwogICAgIGJvb2wgbV9uZWVkc0Rpc3Bs
YXk7Ci0gICAgYm9vbCBtX2ZpeGVkVG9WaWV3cG9ydDsKICAgICBDb2xvciBtX3NvbGlkQ29sb3I7
CiAKICAgICBDb2xvciBtX2RlYnVnQm9yZGVyQ29sb3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIu
Y3BwCmluZGV4IDY4ZmNhOWI4MjZkMDQxZDVmMWZlOTY4YzY2MDEwMGYyNWM0NjIyNDUuLjI0ZGVm
NmQ4ZjMzZGYzNzQ3N2VkODkyZTc5Nzg3MzQ0YmY1MGZhMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVy
TGF5ZXIuY3BwCkBAIC03MiwxMSArNzIsMTAgQEAgdm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXI6OmNv
bXB1dGVUcmFuc2Zvcm1zUmVjdXJzaXZlKCkKIAogICAgICAgICBjb25zdCBmbG9hdCBvcmlnaW5Y
ID0gbV9zdGF0ZS5hbmNob3JQb2ludC54KCkgKiBtX3N0YXRlLnNpemUud2lkdGgoKTsKICAgICAg
ICAgY29uc3QgZmxvYXQgb3JpZ2luWSA9IG1fc3RhdGUuYW5jaG9yUG9pbnQueSgpICogbV9zdGF0
ZS5zaXplLmhlaWdodCgpOwotICAgICAgICBhdXRvIHBvc2l0aW9uID0gYWRqdXN0ZWRQb3NpdGlv
bigpOwogCiAgICAgICAgIG1fbGF5ZXJUcmFuc2Zvcm1zLmNvbWJpbmVkID0gcGFyZW50VHJhbnNm
b3JtOwogICAgICAgICBtX2xheWVyVHJhbnNmb3Jtcy5jb21iaW5lZAotICAgICAgICAgICAgLnRy
YW5zbGF0ZTNkKG9yaWdpblggKyBwb3NpdGlvbi54KCksIG9yaWdpblkgKyBwb3NpdGlvbi55KCks
IG1fc3RhdGUuYW5jaG9yUG9pbnQueigpKQorICAgICAgICAgICAgLnRyYW5zbGF0ZTNkKG9yaWdp
blggKyBtX3N0YXRlLnBvcy54KCksIG9yaWdpblkgKyBtX3N0YXRlLnBvcy55KCksIG1fc3RhdGUu
YW5jaG9yUG9pbnQueigpKQogICAgICAgICAgICAgLm11bHRpcGx5KG1fbGF5ZXJUcmFuc2Zvcm1z
LmxvY2FsVHJhbnNmb3JtKTsKIAogICAgICAgICBtX2xheWVyVHJhbnNmb3Jtcy5jb21iaW5lZEZv
ckNoaWxkcmVuID0gbV9sYXllclRyYW5zZm9ybXMuY29tYmluZWQ7CkBAIC02MjIsMTEgKzYyMSw2
IEBAIHZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjpzZXRBbmltYXRpb25zKGNvbnN0IFRleHR1cmVN
YXBwZXJBbmltYXRpb25zJiBhbmltYXRpb25zCiAgICAgbV9hbmltYXRpb25zID0gYW5pbWF0aW9u
czsKIH0KIAotdm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXI6OnNldEZpeGVkVG9WaWV3cG9ydChib29s
IGZpeGVkVG9WaWV3cG9ydCkKLXsKLSAgICBtX2ZpeGVkVG9WaWV3cG9ydCA9IGZpeGVkVG9WaWV3
cG9ydDsKLX0KLQogdm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXI6OnNldEJhY2tpbmdTdG9yZShUZXh0
dXJlTWFwcGVyQmFja2luZ1N0b3JlKiBiYWNraW5nU3RvcmUpCiB7CiAgICAgbV9iYWNraW5nU3Rv
cmUgPSBiYWNraW5nU3RvcmU7CkBAIC02NjMsMjYgKzY1Nyw0IEBAIGJvb2wgVGV4dHVyZU1hcHBl
ckxheWVyOjpzeW5jQW5pbWF0aW9ucyhNb25vdG9uaWNUaW1lIHRpbWUpCiAgICAgcmV0dXJuIGFw
cGxpY2F0aW9uUmVzdWx0cy5oYXNSdW5uaW5nQW5pbWF0aW9uczsKIH0KIAotYm9vbCBUZXh0dXJl
TWFwcGVyTGF5ZXI6OmlzQW5jZXN0b3JGaXhlZFRvVmlld3BvcnQoKSBjb25zdAotewotICAgIGZv
ciAoVGV4dHVyZU1hcHBlckxheWVyKiBwYXJlbnQgPSBtX3BhcmVudDsgcGFyZW50OyBwYXJlbnQg
PSBwYXJlbnQtPm1fcGFyZW50KSB7Ci0gICAgICAgIGlmIChwYXJlbnQtPm1fZml4ZWRUb1ZpZXdw
b3J0KQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAgcmV0dXJuIGZhbHNl
OwotfQotCi12b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6c2V0U2Nyb2xsUG9zaXRpb25EZWx0YUlm
TmVlZGVkKGNvbnN0IEZsb2F0U2l6ZSYgZGVsdGEpCi17Ci0gICAgLy8gZGVsdGEgaXMgdGhlIGRp
ZmZlcmVuY2UgYmV0d2VlbiB0aGUgc2Nyb2xsIG9mZnNldCBpbiB0aGUgdWkgcHJvY2VzcyBhbmQg
dGhlIHNjcm9sbCBvZmZzZXQKLSAgICAvLyBpbiB0aGUgd2ViIHByb2Nlc3MuIFdlIGFkZCB0aGlz
IGRlbHRhIHRvIHRoZSBwb3NpdGlvbiBvZiBmaXhlZCBsYXllcnMsIHRvIG1ha2UKLSAgICAvLyBz
dXJlIHRoYXQgdGhleSBkbyBub3QgbW92ZSB3aGlsZSBzY3JvbGxpbmcuIFdlIG5lZWQgdG8gcmVz
ZXQgdGhpcyBkZWx0YSB0byBmaXhlZCBsYXllcnMKLSAgICAvLyB0aGF0IGhhdmUgYW4gYW5jZXN0
b3Igd2hpY2ggaXMgYWxzbyBhIGZpeGVkIGxheWVyLCBiZWNhdXNlIHRoZSBkZWx0YSB3aWxsIGJl
IGFkZGVkIHRvIHRoZSBhbmNlc3Rvci4KLSAgICBpZiAoaXNBbmNlc3RvckZpeGVkVG9WaWV3cG9y
dCgpKQotICAgICAgICBtX3Njcm9sbFBvc2l0aW9uRGVsdGEgPSBGbG9hdFNpemUoKTsKLSAgICBl
bHNlCi0gICAgICAgIG1fc2Nyb2xsUG9zaXRpb25EZWx0YSA9IGRlbHRhOwotfQotCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1h
cHBlckxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4
dHVyZU1hcHBlckxheWVyLmgKaW5kZXggNDExYWRlM2M3OWJlNzc5NTAxYjM2ZjM5ZjVjNDY4MTU3
YTBlOWU3Ni4uY2RmMjExMDE3NTkwNzBiMWFjMDU5N2NmY2JhOTk5YTZkMzY5OTNjNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVyTGF5ZXIuaApAQCAtODgsOCArODgsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
ZXRDb250ZW50c0xheWVyKFRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyKik7CiAgICAgdm9pZCBz
ZXRBbmltYXRpb25zKGNvbnN0IFRleHR1cmVNYXBwZXJBbmltYXRpb25zJik7CiAgICAgY29uc3Qg
VGV4dHVyZU1hcHBlckFuaW1hdGlvbnMmIGFuaW1hdGlvbnMoKSBjb25zdCB7IHJldHVybiBtX2Fu
aW1hdGlvbnM7IH0KLSAgICB2b2lkIHNldEZpeGVkVG9WaWV3cG9ydChib29sKTsKLSAgICBib29s
IGZpeGVkVG9WaWV3cG9ydCgpIGNvbnN0IHsgcmV0dXJuIG1fZml4ZWRUb1ZpZXdwb3J0OyB9CiAg
ICAgdm9pZCBzZXRCYWNraW5nU3RvcmUoVGV4dHVyZU1hcHBlckJhY2tpbmdTdG9yZSopOwogCiAg
ICAgYm9vbCBhcHBseUFuaW1hdGlvbnNSZWN1cnNpdmVseShNb25vdG9uaWNUaW1lKTsKQEAgLTk4
LDggKzk2LDYgQEAgcHVibGljOgogCiAgICAgdm9pZCBwYWludCgpOwogCi0gICAgdm9pZCBzZXRT
Y3JvbGxQb3NpdGlvbkRlbHRhSWZOZWVkZWQoY29uc3QgRmxvYXRTaXplJik7Ci0KICAgICB2b2lk
IGFkZENoaWxkKFRleHR1cmVNYXBwZXJMYXllciopOwogCiBwcml2YXRlOgpAQCAtMTE1LDggKzEx
MSw2IEBAIHByaXZhdGU6CiAKICAgICBzdGF0aWMgdm9pZCBzb3J0QnlaT3JkZXIoVmVjdG9yPFRl
eHR1cmVNYXBwZXJMYXllciogPiYgYXJyYXkpOwogCi0gICAgRmxvYXRQb2ludCBhZGp1c3RlZFBv
c2l0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZS5wb3MgKyBtX3Njcm9sbFBvc2l0aW9uRGVs
dGE7IH0KLSAgICBib29sIGlzQW5jZXN0b3JGaXhlZFRvVmlld3BvcnQoKSBjb25zdDsKICAgICBU
cmFuc2Zvcm1hdGlvbk1hdHJpeCByZXBsaWNhVHJhbnNmb3JtKCk7CiAgICAgdm9pZCByZW1vdmVG
cm9tUGFyZW50KCk7CiAgICAgdm9pZCByZW1vdmVBbGxDaGlsZHJlbigpOwpAQCAtMjA0LDggKzE5
OCw2IEBAIHByaXZhdGU6CiAgICAgU3RhdGUgbV9zdGF0ZTsKICAgICBUZXh0dXJlTWFwcGVyKiBt
X3RleHR1cmVNYXBwZXIgeyBudWxscHRyIH07CiAgICAgVGV4dHVyZU1hcHBlckFuaW1hdGlvbnMg
bV9hbmltYXRpb25zOwotICAgIEZsb2F0U2l6ZSBtX3Njcm9sbFBvc2l0aW9uRGVsdGE7Ci0gICAg
Ym9vbCBtX2ZpeGVkVG9WaWV3cG9ydCB7IGZhbHNlIH07CiAgICAgdWludDMyX3QgbV9pZCB7IDAg
fTsKIAogICAgIHN0cnVjdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29y
ZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCmluZGV4IDZmN2EwMjcxZmRlN2FjYjJlZjE1NTJiMzRk
ZDZkNTlkMTE3ODIxOTIuLjM2NDBjM2VjZDliNmI3YjdjYzljZGJmMmIyNDFhNWZkN2Y0MTRiNDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29y
ZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNz
TGF5ZXIuY3BwCkBAIC0xMjksNyArMTI5LDYgQEAgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpD
b29yZGluYXRlZEdyYXBoaWNzTGF5ZXIoVHlwZSBsYXllclR5cGUsIEdyYXBoaWNzTGF5ZXIKICAg
ICAsIG1fc2hvdWxkU3luY0ZpbHRlcnModHJ1ZSkKICAgICAsIG1fc2hvdWxkU3luY0ltYWdlQmFj
a2luZyh0cnVlKQogICAgICwgbV9zaG91bGRTeW5jQW5pbWF0aW9ucyh0cnVlKQotICAgICwgbV9m
aXhlZFRvVmlld3BvcnQoZmFsc2UpCiAgICAgLCBtX21vdmluZ1Zpc2libGVSZWN0KGZhbHNlKQog
ICAgICwgbV9wZW5kaW5nQ29udGVudHNTY2FsZUFkanVzdG1lbnQoZmFsc2UpCiAgICAgLCBtX3Bl
bmRpbmdWaXNpYmxlUmVjdEFkanVzdG1lbnQoZmFsc2UpCkBAIC01NzgsMTggKzU3Nyw2IEBAIHZv
aWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpzZXROZWVkc0Rpc3BsYXlJblJlY3QoY29uc3Qg
RmxvYXRSZWN0JiBpbml0aWFsUmVjCiAgICAgYWRkUmVwYWludFJlY3QocmVjdCk7CiB9CiAKLXZv
aWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpzZXRGaXhlZFRvVmlld3BvcnQoYm9vbCBpc0Zp
eGVkKQotewotICAgIGlmIChtX2ZpeGVkVG9WaWV3cG9ydCA9PSBpc0ZpeGVkKQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBtX2ZpeGVkVG9WaWV3cG9ydCA9IGlzRml4ZWQ7Ci0gICAgbV9sYXllclN0
YXRlLmZpeGVkVG9WaWV3cG9ydCA9IGlzRml4ZWQ7Ci0gICAgbV9sYXllclN0YXRlLmZsYWdzQ2hh
bmdlZCA9IHRydWU7Ci0KLSAgICBkaWRDaGFuZ2VMYXllclN0YXRlKCk7Ci19Ci0KIHZvaWQgQ29v
cmRpbmF0ZWRHcmFwaGljc0xheWVyOjpmbHVzaENvbXBvc2l0aW5nU3RhdGUoY29uc3QgRmxvYXRS
ZWN0JiByZWN0KQogewogICAgIGlmIChDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXIqIG1hc2sgPSBk
b3duY2FzdDxDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI+KG1hc2tMYXllcigpKSkKQEAgLTY3NSw3
ICs2NjIsNiBAQCB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6c3luY0xheWVyU3RhdGUo
KQogICAgICAgICBtX2xheWVyU3RhdGUuYmFja2ZhY2VWaXNpYmxlID0gYmFja2ZhY2VWaXNpYmls
aXR5KCk7CiAgICAgICAgIG1fbGF5ZXJTdGF0ZS5tYXNrc1RvQm91bmRzID0gbWFza3NUb0JvdW5k
cygpOwogICAgICAgICBtX2xheWVyU3RhdGUucHJlc2VydmVzM0QgPSBwcmVzZXJ2ZXMzRCgpOwot
ICAgICAgICBtX2xheWVyU3RhdGUuZml4ZWRUb1ZpZXdwb3J0ID0gZml4ZWRUb1ZpZXdwb3J0KCk7
CiAgICAgfQogCiAgICAgaWYgKG1fbGF5ZXJTdGF0ZS5kZWJ1Z1Zpc3VhbHNDaGFuZ2VkKSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRp
bmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmgK
aW5kZXggMWZmOTBmNTFmZDhhZjNlMDVmYjM1MmQ2ZjliZmEwMDNjNzJlMTI1My4uZmY0YWRmZjgy
MjNlYTY3ZjlmNGRhNGY3NzZkZDc4NzYyOTEwMTljMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhp
Y3NMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9j
b29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaApAQCAtMTE4LDggKzExOCw2IEBA
IHB1YmxpYzoKIAogICAgIENvb3JkaW5hdGVkTGF5ZXJJRCBpZCgpIGNvbnN0IHsgcmV0dXJuIG1f
aWQ7IH0KIAotICAgIHZvaWQgc2V0Rml4ZWRUb1ZpZXdwb3J0KGJvb2wgaXNGaXhlZCk7Ci0KICAg
ICBJbnRSZWN0IHRyYW5zZm9ybWVkVmlzaWJsZVJlY3QoKTsKIAogICAgIC8vIFRpbGVkQmFja2lu
Z1N0b3JlQ2xpZW50CkBAIC0xNDEsOCArMTM5LDYgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgc2V0
RGVidWdCb3JkZXIoY29uc3QgQ29sb3ImLCBmbG9hdCB3aWR0aCkgb3ZlcnJpZGU7CiAKLSAgICBi
b29sIGZpeGVkVG9WaWV3cG9ydCgpIGNvbnN0IHsgcmV0dXJuIG1fZml4ZWRUb1ZpZXdwb3J0OyB9
Ci0KICAgICB2b2lkIGRpZENoYW5nZUxheWVyU3RhdGUoKTsKICAgICB2b2lkIGRpZENoYW5nZUFu
aW1hdGlvbnMoKTsKICAgICB2b2lkIGRpZENoYW5nZUdlb21ldHJ5KCk7CkBAIC0xOTcsNyArMTkz
LDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1fc2hvdWxkU3luY0ZpbHRlcnM6IDE7CiAgICAgYm9v
bCBtX3Nob3VsZFN5bmNJbWFnZUJhY2tpbmc6IDE7CiAgICAgYm9vbCBtX3Nob3VsZFN5bmNBbmlt
YXRpb25zOiAxOwotICAgIGJvb2wgbV9maXhlZFRvVmlld3BvcnQgOiAxOwogICAgIGJvb2wgbV9t
b3ZpbmdWaXNpYmxlUmVjdCA6IDE7CiAgICAgYm9vbCBtX3BlbmRpbmdDb250ZW50c1NjYWxlQWRq
dXN0bWVudCA6IDE7CiAgICAgYm9vbCBtX3BlbmRpbmdWaXNpYmxlUmVjdEFkanVzdG1lbnQgOiAx
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nv
b3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTdGF0
ZS5oCmluZGV4IDIzYzQ3MTRiNGM3ODY2NDNlY2Q1Y2FkNjhiMmNmZmQyNGE5OWNkZTMuLjBjZTY1
OWU2YzhiZjIwYzQxNjU3ZjE4NzIxYmJkYzJiZmNjYTk0ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdy
YXBoaWNzU3RhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1N0YXRlLmgKQEAgLTExNSw3ICsxMTUs
NiBAQCBzdHJ1Y3QgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyU3RhdGUgewogICAgICAgICAgICAg
Ym9vbCBiYWNrZmFjZVZpc2libGUgOiAxOwogICAgICAgICAgICAgYm9vbCBtYXNrc1RvQm91bmRz
IDogMTsKICAgICAgICAgICAgIGJvb2wgcHJlc2VydmVzM0QgOiAxOwotICAgICAgICAgICAgYm9v
bCBmaXhlZFRvVmlld3BvcnQgOiAxOwogICAgICAgICAgICAgYm9vbCBpc1Njcm9sbGFibGU6IDE7
CiAgICAgICAgIH07CiAgICAgICAgIHVuc2lnbmVkIGZsYWdzOwpAQCAtMTI5LDcgKzEyOCw2IEBA
IHN0cnVjdCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXJTdGF0ZSB7CiAgICAgICAgICwgYmFja2Zh
Y2VWaXNpYmxlKHRydWUpCiAgICAgICAgICwgbWFza3NUb0JvdW5kcyhmYWxzZSkKICAgICAgICAg
LCBwcmVzZXJ2ZXMzRChmYWxzZSkKLSAgICAgICAgLCBmaXhlZFRvVmlld3BvcnQoZmFsc2UpCiAg
ICAgICAgICwgaXNTY3JvbGxhYmxlKGZhbHNlKQogICAgICAgICAsIG9wYWNpdHkoMCkKICAgICAg
ICAgLCByZXBsaWNhKEludmFsaWRDb29yZGluYXRlZExheWVySUQpCkBAIC0xNzcsNyArMTc1LDYg
QEAgc3RydWN0IENvb3JkaW5hdGVkR3JhcGhpY3NMYXllclN0YXRlIHsKIAogc3RydWN0IENvb3Jk
aW5hdGVkR3JhcGhpY3NTdGF0ZSB7CiAgICAgdWludDMyX3Qgcm9vdENvbXBvc2l0aW5nTGF5ZXI7
Ci0gICAgRmxvYXRQb2ludCBzY3JvbGxQb3NpdGlvbjsKIAogICAgIFZlY3RvcjxDb29yZGluYXRl
ZExheWVySUQ+IGxheWVyc1RvQ3JlYXRlOwogICAgIFZlY3RvcjxzdGQ6OnBhaXI8Q29vcmRpbmF0
ZWRMYXllcklELCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXJTdGF0ZT4+IGxheWVyc1RvVXBkYXRl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRp
bmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwCmluZGV4IGNmNmNmYjBk
ZjJjNDcwZmU0ZjEyODg2ZTc3MDlkZDQ2MDJjYzhkN2YuLmMxNmFlMWVjZmQzYThmZGY3YzU3ZDJk
MDZkZTYyZjZiZGEzZDU3NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2Vu
ZS5jcHAKQEAgLTYxLDkgKzYxLDggQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OmFw
cGx5U3RhdGVDaGFuZ2VzKGNvbnN0IFZlY3RvcjxDb29yZGluYXRlZEdyYXBoaWMKICAgICAgICAg
Y29tbWl0U2NlbmVTdGF0ZShzdGF0ZSk7CiB9CiAKLXZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1Nj
ZW5lOjpwYWludFRvQ3VycmVudEdMQ29udGV4dChjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYg
bWF0cml4LCBmbG9hdCBvcGFjaXR5LCBjb25zdCBGbG9hdFJlY3QmIGNsaXBSZWN0LCBjb25zdCBD
b2xvciYgYmFja2dyb3VuZENvbG9yLCBib29sIGRyYXdzQmFja2dyb3VuZCwgY29uc3QgRmxvYXRQ
b2ludCYgY29udGVudFBvc2l0aW9uLCBUZXh0dXJlTWFwcGVyOjpQYWludEZsYWdzIFBhaW50Rmxh
Z3MpCit2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6cGFpbnRUb0N1cnJlbnRHTENvbnRl
eHQoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1hdHJpeCwgZmxvYXQgb3BhY2l0eSwgY29u
c3QgRmxvYXRSZWN0JiBjbGlwUmVjdCwgY29uc3QgQ29sb3ImIGJhY2tncm91bmRDb2xvciwgYm9v
bCBkcmF3c0JhY2tncm91bmQsIFRleHR1cmVNYXBwZXI6OlBhaW50RmxhZ3MgUGFpbnRGbGFncykK
IHsKLSAgICBhZGp1c3RQb3NpdGlvbkZvckZpeGVkTGF5ZXJzKGNvbnRlbnRQb3NpdGlvbik7CiAg
ICAgVGV4dHVyZU1hcHBlckxheWVyKiBjdXJyZW50Um9vdExheWVyID0gcm9vdExheWVyKCk7CiAg
ICAgaWYgKCFjdXJyZW50Um9vdExheWVyKQogICAgICAgICByZXR1cm47CkBAIC0xMDYsMjAgKzEw
NSw2IEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjp1cGRhdGVWaWV3cG9ydCgpCiAg
ICAgICAgIG1fY2xpZW50LT51cGRhdGVWaWV3cG9ydCgpOwogfQogCi12b2lkIENvb3JkaW5hdGVk
R3JhcGhpY3NTY2VuZTo6YWRqdXN0UG9zaXRpb25Gb3JGaXhlZExheWVycyhjb25zdCBGbG9hdFBv
aW50JiBjb250ZW50UG9zaXRpb24pCi17Ci0gICAgaWYgKG1fZml4ZWRMYXllcnMuaXNFbXB0eSgp
KQotICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBGaXhlZCBsYXllciBwb3NpdGlvbnMgYXJlIHVw
ZGF0ZWQgYnkgdGhlIHdlYiBwcm9jZXNzIHdoZW4gd2UgdXBkYXRlIHRoZSB2aXNpYmxlIGNvbnRl
bnRzIHJlY3QgLyBzY3JvbGwgcG9zaXRpb24uCi0gICAgLy8gSWYgd2Ugd2FudCB0aG9zZSBsYXll
cnMgdG8gZm9sbG93IGFjY3VyYXRlbHkgdGhlIHZpZXdwb3J0IHdoZW4gd2UgbW92ZSBiZXR3ZWVu
IHRoZSB3ZWIgcHJvY2VzcyB1cGRhdGVzLCB3ZSBoYXZlIHRvIG9mZnNldAotICAgIC8vIHRoZW0g
YnkgdGhlIGRlbHRhIGJldHdlZW4gdGhlIGN1cnJlbnQgcG9zaXRpb24gYW5kIHRoZSBwb3NpdGlv
biBvZiB0aGUgdmlld3BvcnQgdXNlZCBmb3IgdGhlIGxhc3QgbGF5b3V0LgotICAgIEZsb2F0U2l6
ZSBkZWx0YSA9IGNvbnRlbnRQb3NpdGlvbiAtIG1fc2Nyb2xsUG9zaXRpb247Ci0KLSAgICBmb3Ig
KGF1dG8mIGZpeGVkTGF5ZXIgOiBtX2ZpeGVkTGF5ZXJzLnZhbHVlcygpKQotICAgICAgICBmaXhl
ZExheWVyLT5zZXRTY3JvbGxQb3NpdGlvbkRlbHRhSWZOZWVkZWQoZGVsdGEpOwotfQotCiB2b2lk
IENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6c3luY1BsYXRmb3JtTGF5ZXJJZk5lZWRlZChUZXh0
dXJlTWFwcGVyTGF5ZXIqIGxheWVyLCBjb25zdCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXJTdGF0
ZSYgc3RhdGUpCiB7CiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX1RIUkVBREVEKQpAQCAt
MjI4LDE1ICsyMTMsNiBAQCB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6c2V0TGF5ZXJT
dGF0ZShDb29yZGluYXRlZExheWVySUQgaWQsIGNvbnN0IENvb3JkaQogICAgICAgICAvLyBOZXZl
ciBjbGlwIHRoZSByb290IGxheWVyLgogICAgICAgICBsYXllci0+c2V0TWFza3NUb0JvdW5kcyhp
ZCA9PSBtX3Jvb3RMYXllcklEID8gZmFsc2UgOiBsYXllclN0YXRlLm1hc2tzVG9Cb3VuZHMpOwog
ICAgICAgICBsYXllci0+c2V0UHJlc2VydmVzM0QobGF5ZXJTdGF0ZS5wcmVzZXJ2ZXMzRCk7Ci0K
LSAgICAgICAgYm9vbCBmaXhlZFRvVmlld3BvcnRDaGFuZ2VkID0gbGF5ZXItPmZpeGVkVG9WaWV3
cG9ydCgpICE9IGxheWVyU3RhdGUuZml4ZWRUb1ZpZXdwb3J0OwotICAgICAgICBsYXllci0+c2V0
Rml4ZWRUb1ZpZXdwb3J0KGxheWVyU3RhdGUuZml4ZWRUb1ZpZXdwb3J0KTsKLSAgICAgICAgaWYg
KGZpeGVkVG9WaWV3cG9ydENoYW5nZWQpIHsKLSAgICAgICAgICAgIGlmIChsYXllclN0YXRlLmZp
eGVkVG9WaWV3cG9ydCkKLSAgICAgICAgICAgICAgICBtX2ZpeGVkTGF5ZXJzLmFkZChpZCwgbGF5
ZXIpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIG1fZml4ZWRMYXllcnMucmVt
b3ZlKGlkKTsKLSAgICAgICAgfQogICAgIH0KIAogICAgIHByZXBhcmVDb250ZW50QmFja2luZ1N0
b3JlKGxheWVyLCBjb21taXRTY29wZSk7CkBAIC0yODIsNyArMjU4LDYgQEAgdm9pZCBDb29yZGlu
YXRlZEdyYXBoaWNzU2NlbmU6OmRlbGV0ZUxheWVyKENvb3JkaW5hdGVkTGF5ZXJJRCBsYXllcklE
KQogICAgIEFTU0VSVChsYXllcik7CiAKICAgICBtX2JhY2tpbmdTdG9yZXMucmVtb3ZlKGxheWVy
LmdldCgpKTsKLSAgICBtX2ZpeGVkTGF5ZXJzLnJlbW92ZShsYXllcklEKTsKICNpZiBVU0UoQ09P
UkRJTkFURURfR1JBUEhJQ1NfVEhSRUFERUQpCiAgICAgaWYgKGF1dG8gcGxhdGZvcm1MYXllclBy
b3h5ID0gbV9wbGF0Zm9ybUxheWVyUHJveGllcy50YWtlKGxheWVyLmdldCgpKSkKICAgICAgICAg
cGxhdGZvcm1MYXllclByb3h5LT5pbnZhbGlkYXRlKCk7CkBAIC00NjAsOCArNDM1LDYgQEAgdm9p
ZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OmNvbW1pdFNjZW5lU3RhdGUoY29uc3QgQ29vcmRp
bmF0ZWRHcmFwaGljc1N0YXRlJgogCiAgICAgQ29tbWl0U2NvcGUgY29tbWl0U2NvcGU7CiAKLSAg
ICBtX3Njcm9sbFBvc2l0aW9uID0gc3RhdGUuc2Nyb2xsUG9zaXRpb247Ci0KICAgICBjcmVhdGVM
YXllcnMoc3RhdGUubGF5ZXJzVG9DcmVhdGUpOwogICAgIGRlbGV0ZUxheWVycyhzdGF0ZS5sYXll
cnNUb1JlbW92ZSk7CiAKQEAgLTUwOCw3ICs0ODEsNiBAQCB2b2lkIENvb3JkaW5hdGVkR3JhcGhp
Y3NTY2VuZTo6cHVyZ2VHTFJlc291cmNlcygpCiAgICAgbV9yb290TGF5ZXIgPSBudWxscHRyOwog
ICAgIG1fcm9vdExheWVySUQgPSBJbnZhbGlkQ29vcmRpbmF0ZWRMYXllcklEOwogICAgIG1fbGF5
ZXJzLmNsZWFyKCk7Ci0gICAgbV9maXhlZExheWVycy5jbGVhcigpOwogICAgIG1fdGV4dHVyZU1h
cHBlciA9IG51bGxwdHI7CiAgICAgbV9iYWNraW5nU3RvcmVzLmNsZWFyKCk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3NTY2VuZS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaAppbmRleCAyNjU5Zjc4MjIxZmEyZTMzYjNhNjY0
N2IyODIyMjk3YzFjYmVkNzNjLi5jNWJjYjUwNjRlZDcwNjVjZjA5ZmVjODI2YmYwYzA3NTI4ZTUw
ZTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmgKQEAgLTcyLDcgKzcy
LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSgpOwog
CiAgICAgdm9pZCBhcHBseVN0YXRlQ2hhbmdlcyhjb25zdCBWZWN0b3I8V2ViQ29yZTo6Q29vcmRp
bmF0ZWRHcmFwaGljc1N0YXRlPiYpOwotICAgIHZvaWQgcGFpbnRUb0N1cnJlbnRHTENvbnRleHQo
Y29uc3QgV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXgmLCBmbG9hdCwgY29uc3QgV2ViQ29y
ZTo6RmxvYXRSZWN0JiwgY29uc3QgV2ViQ29yZTo6Q29sb3ImIGJhY2tncm91bmRDb2xvciwgYm9v
bCBkcmF3c0JhY2tncm91bmQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmLCBXZWJDb3JlOjpU
ZXh0dXJlTWFwcGVyOjpQYWludEZsYWdzID0gMCk7CisgICAgdm9pZCBwYWludFRvQ3VycmVudEdM
Q29udGV4dChjb25zdCBXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeCYsIGZsb2F0LCBjb25z
dCBXZWJDb3JlOjpGbG9hdFJlY3QmLCBjb25zdCBXZWJDb3JlOjpDb2xvciYgYmFja2dyb3VuZENv
bG9yLCBib29sIGRyYXdzQmFja2dyb3VuZCwgV2ViQ29yZTo6VGV4dHVyZU1hcHBlcjo6UGFpbnRG
bGFncyA9IDApOwogICAgIHZvaWQgZGV0YWNoKCk7CiAKICAgICAvLyBUaGUgcGFpbnRpbmcgdGhy
ZWFkIG11c3QgbG9jayB0aGUgbWFpbiB0aHJlYWQgdG8gdXNlIGJlbG93IHR3byBtZXRob2RzLCBi
ZWNhdXNlIHR3byBtZXRob2RzIGFjY2VzcyBtZW1iZXJzIHRoYXQgdGhlIG1haW4gdGhyZWFkIG1h
bmFnZXMuIFNlZSBtX2NsaWVudC4KQEAgLTEyNSw4ICsxMjUsNiBAQCBwcml2YXRlOgogICAgIFdl
YkNvcmU6OlRleHR1cmVNYXBwZXJMYXllciogZ2V0TGF5ZXJCeUlESWZFeGlzdHMoV2ViQ29yZTo6
Q29vcmRpbmF0ZWRMYXllcklEKTsKICAgICBXZWJDb3JlOjpUZXh0dXJlTWFwcGVyTGF5ZXIqIHJv
b3RMYXllcigpIHsgcmV0dXJuIG1fcm9vdExheWVyLmdldCgpOyB9CiAKLSAgICB2b2lkIGFkanVz
dFBvc2l0aW9uRm9yRml4ZWRMYXllcnMoY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgY29udGVu
dFBvc2l0aW9uKTsKLQogICAgIHZvaWQgdXBkYXRlVmlld3BvcnQoKTsKIAogICAgIHZvaWQgY3Jl
YXRlTGF5ZXIoV2ViQ29yZTo6Q29vcmRpbmF0ZWRMYXllcklEKTsKQEAgLTE2MCw5ICsxNTgsNyBA
QCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpUZXh0dXJlTWFwcGVyTGF5
ZXI+IG1fcm9vdExheWVyOwogCiAgICAgSGFzaE1hcDxXZWJDb3JlOjpDb29yZGluYXRlZExheWVy
SUQsIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpUZXh0dXJlTWFwcGVyTGF5ZXI+PiBtX2xheWVy
czsKLSAgICBIYXNoTWFwPFdlYkNvcmU6OkNvb3JkaW5hdGVkTGF5ZXJJRCwgV2ViQ29yZTo6VGV4
dHVyZU1hcHBlckxheWVyKj4gbV9maXhlZExheWVyczsKICAgICBXZWJDb3JlOjpDb29yZGluYXRl
ZExheWVySUQgbV9yb290TGF5ZXJJRCB7IFdlYkNvcmU6OkludmFsaWRDb29yZGluYXRlZExheWVy
SUQgfTsKLSAgICBXZWJDb3JlOjpGbG9hdFBvaW50IG1fc2Nyb2xsUG9zaXRpb247CiAgICAgV2Vi
Q29yZTo6Q29sb3IgbV92aWV3QmFja2dyb3VuZENvbG9yIHsgV2ViQ29yZTo6Q29sb3I6OndoaXRl
IH07CiAKICAgICBXZWJDb3JlOjpUZXh0dXJlTWFwcGVyRlBTQ291bnRlciBtX2Zwc0NvdW50ZXI7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3Ro
cmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZENvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWRDb21w
b3NpdG9yLmNwcAppbmRleCA3ODgyNGQ0ODMxODQwNjU4MWQ4YzJmYjlhMTUyYTViYWQzOWYwNTNl
Li4zMDk4ZGY3MmIyYWUyNzM5NjhkOTg0NWFmMTNmMGYwNjMwNjk4NTYyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRv
ci9UaHJlYWRlZENvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5jcHAK
QEAgLTI0MCw3ICsyNDAsNyBAQCB2b2lkIFRocmVhZGVkQ29tcG9zaXRvcjo6cmVuZGVyTGF5ZXJU
cmVlKCkKIAogICAgIG1fc2NlbmUtPmFwcGx5U3RhdGVDaGFuZ2VzKHN0YXRlcyk7CiAgICAgbV9z
Y2VuZS0+cGFpbnRUb0N1cnJlbnRHTENvbnRleHQodmlld3BvcnRUcmFuc2Zvcm0sIDEsIEZsb2F0
UmVjdCB7IEZsb2F0UG9pbnQgeyB9LCB2aWV3cG9ydFNpemUgfSwKLSAgICAgICAgQ29sb3I6OnRy
YW5zcGFyZW50LCAhZHJhd3NCYWNrZ3JvdW5kLCBzY3JvbGxQb3NpdGlvbiwgbV9wYWludEZsYWdz
KTsKKyAgICAgICAgQ29sb3I6OnRyYW5zcGFyZW50LCAhZHJhd3NCYWNrZ3JvdW5kLCBtX3BhaW50
RmxhZ3MpOwogCiAgICAgbV9jb250ZXh0LT5zd2FwQnVmZmVycygpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBv
c2l0aW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCAwOGJk
YmIzMGRkYTljODQyYjUzMTBhNjQ5MzIyN2ZmZTA1YTVhZmYxLi41YmYxZjdjMWZhM2ZmNGZjOGYw
OTZiZDkyNTQ2YTA4MmMwMDk3NTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAKQEAgLTEyNSw4ICsxMjUsNiBAQCBib29sIENv
bXBvc2l0aW5nQ29vcmRpbmF0b3I6OmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcygpCiAgICAgaWYg
KG1fc2hvdWxkU3luY0ZyYW1lKSB7CiAgICAgICAgIGRpZFN5bmMgPSB0cnVlOwogCi0gICAgICAg
IG1fc3RhdGUuc2Nyb2xsUG9zaXRpb24gPSBtX3Zpc2libGVDb250ZW50c1JlY3QubG9jYXRpb24o
KTsKLQogICAgICAgICBtX2NsaWVudC5jb21taXRTY2VuZVN0YXRlKG1fc3RhdGUpOwogCiAgICAg
ICAgIGNsZWFyUGVuZGluZ1N0YXRlQ2hhbmdlcygpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>338643</attachid>
            <date>2018-04-24 03:24:37 -0700</date>
            <delta_ts>2018-04-24 06:58:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184912-20180424122435.patch</filename>
            <type>text/plain</type>
            <size>23174</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwOTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmFmMjZjZDRhOWRjZjk5
M2IxNTNlMTBmYWMwMDI0MDI3NmQ0MGUzMy4uY2FlNzFlODQxZDIwNDFmMjhkY2MzYzNlMWE0ZDI4
ZDI1NGFjYzg2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ3IEBACiAyMDE4LTA0LTI0ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAorICAgICAgICBbQ29vcmRHcmFwaGlj
c10gUmVtb3ZlIGRlYWQgZml4ZWQgbGF5ZXIgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0OTEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6
c2V0Rml4ZWRUb1ZpZXdwb3J0KCkgYW5kIHRoZQorICAgICAgICBjb3JyZXNwb25kaW5nIGF0dHJp
YnV0ZSBvbiB0aGUgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyU3RhdGUgc3RydWN0LgorICAgICAg
ICBUaGUgbWV0aG9kIGlzIG5vdCBjYWxsZWQgYW55d2hlcmUgc2luY2UgcjIzMDk1Mi4KKworICAg
ICAgICBDb29yZGluYXRlZEdyYXBoaWNzU3RhdGUgc3RydWN0IGFsc28gbG9zZXMgdGhlIHNjcm9s
bFBvc2l0aW9uIGF0dHJpYnV0ZQorICAgICAgICB0aGF0IGFsc28gaXNuJ3QgdXNlZCBhbnltb3Jl
LgorCisgICAgICAgIENoYW5nZXMgdG8gR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIgY2xhc3Mg
bWlycm9yIHRob3NlIG1hZGUgdG8KKyAgICAgICAgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLCBy
ZW1vdmluZyBzdXBwb3J0IGZvciB0aGUgZml4ZWQtdG8tdmlld3BvcnQKKyAgICAgICAgYXR0cmli
dXRlLiBUaGlzIHRvbyB3YXMgbm90IGNhbGxlZCBmcm9tIGFueXdoZXJlLgorCisgICAgICAgIEFs
bCB0aGF0IGVuYWJsZXMgdXMgcmVtb3ZpbmcgZml4ZWQtdG8tdmlld3BvcnQgaGFuZGxpbmcgaW4g
dGhlCisgICAgICAgIFRleHR1cmVNYXBwZXJMYXllciBjbGFzcy4gQWxvbmcgd2l0aCByZWxhdGVk
IGNoYW5nZXMgaW4gdGhlCisgICAgICAgIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSBjbGFzcywg
d2UncmUgYWJsZSB0byByZW1vdmUgYSBidW5jaCBvZiBtZXRob2RzCisgICAgICAgIGFuZCBtZW1i
ZXIgdmFyaWFibGVzIHRoYXQgYXJlIG5vdCB1c2VkIG9yIG5lZWRlZCBhbnltb3JlLgorCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyOjpHcmFw
aGljc0xheWVyVGV4dHVyZU1hcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVy
VGV4dHVyZU1hcHBlcjo6Y29tbWl0TGF5ZXJDaGFuZ2VzKToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyOjpzZXRGaXhlZFRvVmlld3BvcnQpOiBEZWxldGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0xheWVyVGV4dHVyZU1h
cHBlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVy
TGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckxheWVyOjpjb21wdXRl
VHJhbnNmb3Jtc1JlY3Vyc2l2ZSk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyTGF5
ZXI6OnNldEZpeGVkVG9WaWV3cG9ydCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpUZXh0
dXJlTWFwcGVyTGF5ZXI6OmlzQW5jZXN0b3JGaXhlZFRvVmlld3BvcnQgY29uc3QpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckxheWVyOjpzZXRTY3JvbGxQb3NpdGlv
bkRlbHRhSWZOZWVkZWQpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6Q29vcmRpbmF0ZWRHcmFwaGljc0xh
eWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6c3luY0xh
eWVyU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpz
ZXRGaXhlZFRvVmlld3BvcnQpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGlj
c1N0YXRlLmg6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXJTdGF0
ZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyU3RhdGUpOgorCisyMDE4LTA0LTI0ICBaYW4gRG9i
ZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKwogICAgICAgICBbQ29vcmRHcmFwaGljc10g
UmVtb3ZlIHVudXNlZCBmaXhlZCBsYXlvdXQgZnVuY3Rpb25hbGl0eQogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0OTA4CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggOTli
MmM3NmUyYTM2YjA5N2IwZjllZmU5YTVkNGI4OTEyMjUzMjE5Zi4uYWZiZjkxMzY0OTlhMjMwNjJk
NTcwYmM5MTFhZTY4MGQ4NTU3NTY2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzNSBAQAogMjAxOC0w
NC0yNCAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKKyAgICAgICAgW0Nv
b3JkR3JhcGhpY3NdIFJlbW92ZSBkZWFkIGZpeGVkIGxheWVyIGNvZGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDkxMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3AgdGhlIHVudXNlZCBmaXhlZCBs
YXllciBoYW5kbGluZyAgY29kZSBpbiBDb29yZGluYXRlZEdyYWhwaWNzU2NlbmUuCisgICAgICAg
IFRoZSBtX2ZpeGVkTGF5ZXJzIGNvbnRhaW5lciBjYW4gYmUgcmVtb3ZlZCwgYWxvbmcgd2l0aCB0
aGUKKyAgICAgICAgYWRqdXN0UG9zaXRpb25Gb3JGaXhlZExheWVycygpIG1ldGhvZCB0aGF0IG9w
ZXJhdGVkIG9uIHRoYXQgY29udGFpbmVyLgorCisgICAgICAgIFRoaXMgd2FzIHRoZSBvbmx5IG1l
dGhvZCB0aGF0IG9wZXJhdGVkIHdpdGggdGhlIG1fc2Nyb2xsUG9zaXRpb24gbWVtYmVyCisgICAg
ICAgIHZhcmlhYmxlIGFuZCB0aGUgY29udGVudHNQb3NpdGlvbiBhcmd1bWVudCB0aGF0J3MgcGFz
c2VkIHRvIHRoZQorICAgICAgICBDb29yZGluYXRlZEdyYWhwaWNzU2NlbmU6OnBhaW50VG9DdXJy
ZW50R0xDb250ZXh0KCkgbWV0aG9kLiBCb3RoIG9mCisgICAgICAgIHRoZXNlIGFyZSByZW1vdmVk
LCBhbG9uZyB3aXRoIHRoZSBzY3JvbGxQb3NpdGlvbiBhdHRyaWJ1dGUgb24gdGhlCisgICAgICAg
IENvb3JkaW5hdGVkR3JhcGhpY3NTdGF0ZSBzdHJ1Y3QuCisKKyAgICAgICAgKiBTaGFyZWQvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwOgorICAgICAgICAo
V2ViS2l0OjpDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnBhaW50VG9DdXJyZW50R0xDb250ZXh0
KToKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpzZXRMYXllclN0
YXRlKToKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpkZWxldGVM
YXllcik6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6Y29tbWl0
U2NlbmVTdGF0ZSk6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6
cHVyZ2VHTFJlc291cmNlcyk6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkR3JhcGhpY3NT
Y2VuZTo6YWRqdXN0UG9zaXRpb25Gb3JGaXhlZExheWVycyk6IERlbGV0ZWQuCisgICAgICAgICog
U2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmg6Cisg
ICAgICAgICogU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1Ro
cmVhZGVkQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlRocmVhZGVkQ29tcG9zaXRv
cjo6cmVuZGVyTGF5ZXJUcmVlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRp
bmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6Q29tcG9zaXRpbmdDb29yZGluYXRvcjo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKToKKwor
MjAxOC0wNC0yNCAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CisKICAgICAg
ICAgW0Nvb3JkR3JhcGhpY3NdIFJlbW92ZSB1bnVzZWQgZml4ZWQgbGF5b3V0IGZ1bmN0aW9uYWxp
dHkKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDkw
OAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
R3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyLmNwcAppbmRleCA0NmYw
N2ZhZjk0ODFhNGI1NWZiNDZhZjg2NTkxMjQ2NGZlOTVkOWQyLi4yZTAzZjQ2ZWNkODU4NjZkMWMy
OTEwZjBlYzdhYTBkM2M0ZTc0MTcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0xheWVyVGV4dHVy
ZU1hcHBlci5jcHAKQEAgLTQyLDcgKzQyLDYgQEAgR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXI6
OkdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyKFR5cGUgbGF5ZXJUeXBlLCBHcmFwaGljc0wKICAg
ICAsIG1fY29tcG9zaXRlZE5hdGl2ZUltYWdlUHRyKDApCiAgICAgLCBtX2NoYW5nZU1hc2soTm9D
aGFuZ2VzKQogICAgICwgbV9uZWVkc0Rpc3BsYXkoZmFsc2UpCi0gICAgLCBtX2ZpeGVkVG9WaWV3
cG9ydChmYWxzZSkKICAgICAsIG1fZGVidWdCb3JkZXJXaWR0aCgwKQogICAgICwgbV9jb250ZW50
c0xheWVyKDApCiB7CkBAIC00NjQsOSArNDYzLDYgQEAgdm9pZCBHcmFwaGljc0xheWVyVGV4dHVy
ZU1hcHBlcjo6Y29tbWl0TGF5ZXJDaGFuZ2VzKCkKICAgICBpZiAobV9jaGFuZ2VNYXNrICYgQW5p
bWF0aW9uU3RhcnRlZCkKICAgICAgICAgY2xpZW50KCkubm90aWZ5QW5pbWF0aW9uU3RhcnRlZCh0
aGlzLCAiIiwgbV9hbmltYXRpb25TdGFydFRpbWUpOwogCi0gICAgaWYgKG1fY2hhbmdlTWFzayAm
IEZpeGVkVG9WaWV3cG9yQ2hhbmdlKQotICAgICAgICBtX2xheWVyLnNldEZpeGVkVG9WaWV3cG9y
dChmaXhlZFRvVmlld3BvcnQoKSk7Ci0KICAgICBtX2NoYW5nZU1hc2sgPSBOb0NoYW5nZXM7CiB9
CiAKQEAgLTYxMSwxNSArNjA3LDYgQEAgYm9vbCBHcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlcjo6
c2V0RmlsdGVycyhjb25zdCBGaWx0ZXJPcGVyYXRpb25zJiBmaWx0ZXJzKQogICAgIHJldHVybiBj
YW5Db21wb3NpdGVGaWx0ZXJzOwogfQogCi12b2lkIEdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVy
OjpzZXRGaXhlZFRvVmlld3BvcnQoYm9vbCBmaXhlZCkKLXsKLSAgICBpZiAobV9maXhlZFRvVmll
d3BvcnQgPT0gZml4ZWQpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fZml4ZWRUb1ZpZXdwb3J0
ID0gZml4ZWQ7Ci0gICAgbm90aWZ5Q2hhbmdlKEZpeGVkVG9WaWV3cG9yQ2hhbmdlKTsKLX0KLQog
dm9pZCBHcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlcjo6c2V0UmVwYWludENvdW50KGludCByZXBh
aW50Q291bnQpCiB7CiAgICAgbV9yZXBhaW50Q291bnQgPSByZXBhaW50Q291bnQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXll
clRleHR1cmVNYXBwZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9HcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlci5oCmluZGV4IDc5Y2RiZTgzZDg0MmZkOWQ0NmM0
Mjg4OWExZjhjYjQ4M2U3YjhmMjYuLjBlNDJhNTMzMjNiZTljNmIwNWNlYjM2ZDZiZDNlNGU3YzBh
NzkxNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9HcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlci5oCkBAIC04OCw5
ICs4OCw2IEBAIHB1YmxpYzoKIAogICAgIFRleHR1cmVNYXBwZXJMYXllciYgbGF5ZXIoKSB7IHJl
dHVybiBtX2xheWVyOyB9CiAKLSAgICB2b2lkIHNldEZpeGVkVG9WaWV3cG9ydChib29sKTsKLSAg
ICBib29sIGZpeGVkVG9WaWV3cG9ydCgpIGNvbnN0IHsgcmV0dXJuIG1fZml4ZWRUb1ZpZXdwb3J0
OyB9Ci0KICAgICBDb2xvciBkZWJ1Z0JvcmRlckNvbG9yKCkgY29uc3QgeyByZXR1cm4gbV9kZWJ1
Z0JvcmRlckNvbG9yOyB9CiAgICAgZmxvYXQgZGVidWdCb3JkZXJXaWR0aCgpIGNvbnN0IHsgcmV0
dXJuIG1fZGVidWdCb3JkZXJXaWR0aDsgfQogICAgIHZvaWQgc2V0UmVwYWludENvdW50KGludCk7
CkBAIC0xNDgsOCArMTQ1LDcgQEAgcHJpdmF0ZToKICAgICAgICAgRGVidWdWaXN1YWxzQ2hhbmdl
ID0gICAgICAgICgxTCA8PCAyNCksCiAgICAgICAgIFJlcGFpbnRDb3VudENoYW5nZSA9ICAgICAg
ICAoMUwgPDwgMjUpLAogCi0gICAgICAgIEZpeGVkVG9WaWV3cG9yQ2hhbmdlID0gICAgICAoMUwg
PDwgMjYpLAotICAgICAgICBBbmltYXRpb25TdGFydGVkID0gICAgICAgICAgKDFMIDw8IDI3KSwK
KyAgICAgICAgQW5pbWF0aW9uU3RhcnRlZCA9ICAgICAgICAgICgxTCA8PCAyNiksCiAgICAgfTsK
ICAgICB2b2lkIG5vdGlmeUNoYW5nZShDaGFuZ2VNYXNrKTsKIApAQCAtMTYwLDcgKzE1Niw2IEBA
IHByaXZhdGU6CiAKICAgICBpbnQgbV9jaGFuZ2VNYXNrOwogICAgIGJvb2wgbV9uZWVkc0Rpc3Bs
YXk7Ci0gICAgYm9vbCBtX2ZpeGVkVG9WaWV3cG9ydDsKICAgICBDb2xvciBtX3NvbGlkQ29sb3I7
CiAKICAgICBDb2xvciBtX2RlYnVnQm9yZGVyQ29sb3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIu
Y3BwCmluZGV4IDY4ZmNhOWI4MjZkMDQxZDVmMWZlOTY4YzY2MDEwMGYyNWM0NjIyNDUuLjI0ZGVm
NmQ4ZjMzZGYzNzQ3N2VkODkyZTc5Nzg3MzQ0YmY1MGZhMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVy
TGF5ZXIuY3BwCkBAIC03MiwxMSArNzIsMTAgQEAgdm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXI6OmNv
bXB1dGVUcmFuc2Zvcm1zUmVjdXJzaXZlKCkKIAogICAgICAgICBjb25zdCBmbG9hdCBvcmlnaW5Y
ID0gbV9zdGF0ZS5hbmNob3JQb2ludC54KCkgKiBtX3N0YXRlLnNpemUud2lkdGgoKTsKICAgICAg
ICAgY29uc3QgZmxvYXQgb3JpZ2luWSA9IG1fc3RhdGUuYW5jaG9yUG9pbnQueSgpICogbV9zdGF0
ZS5zaXplLmhlaWdodCgpOwotICAgICAgICBhdXRvIHBvc2l0aW9uID0gYWRqdXN0ZWRQb3NpdGlv
bigpOwogCiAgICAgICAgIG1fbGF5ZXJUcmFuc2Zvcm1zLmNvbWJpbmVkID0gcGFyZW50VHJhbnNm
b3JtOwogICAgICAgICBtX2xheWVyVHJhbnNmb3Jtcy5jb21iaW5lZAotICAgICAgICAgICAgLnRy
YW5zbGF0ZTNkKG9yaWdpblggKyBwb3NpdGlvbi54KCksIG9yaWdpblkgKyBwb3NpdGlvbi55KCks
IG1fc3RhdGUuYW5jaG9yUG9pbnQueigpKQorICAgICAgICAgICAgLnRyYW5zbGF0ZTNkKG9yaWdp
blggKyBtX3N0YXRlLnBvcy54KCksIG9yaWdpblkgKyBtX3N0YXRlLnBvcy55KCksIG1fc3RhdGUu
YW5jaG9yUG9pbnQueigpKQogICAgICAgICAgICAgLm11bHRpcGx5KG1fbGF5ZXJUcmFuc2Zvcm1z
LmxvY2FsVHJhbnNmb3JtKTsKIAogICAgICAgICBtX2xheWVyVHJhbnNmb3Jtcy5jb21iaW5lZEZv
ckNoaWxkcmVuID0gbV9sYXllclRyYW5zZm9ybXMuY29tYmluZWQ7CkBAIC02MjIsMTEgKzYyMSw2
IEBAIHZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjpzZXRBbmltYXRpb25zKGNvbnN0IFRleHR1cmVN
YXBwZXJBbmltYXRpb25zJiBhbmltYXRpb25zCiAgICAgbV9hbmltYXRpb25zID0gYW5pbWF0aW9u
czsKIH0KIAotdm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXI6OnNldEZpeGVkVG9WaWV3cG9ydChib29s
IGZpeGVkVG9WaWV3cG9ydCkKLXsKLSAgICBtX2ZpeGVkVG9WaWV3cG9ydCA9IGZpeGVkVG9WaWV3
cG9ydDsKLX0KLQogdm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXI6OnNldEJhY2tpbmdTdG9yZShUZXh0
dXJlTWFwcGVyQmFja2luZ1N0b3JlKiBiYWNraW5nU3RvcmUpCiB7CiAgICAgbV9iYWNraW5nU3Rv
cmUgPSBiYWNraW5nU3RvcmU7CkBAIC02NjMsMjYgKzY1Nyw0IEBAIGJvb2wgVGV4dHVyZU1hcHBl
ckxheWVyOjpzeW5jQW5pbWF0aW9ucyhNb25vdG9uaWNUaW1lIHRpbWUpCiAgICAgcmV0dXJuIGFw
cGxpY2F0aW9uUmVzdWx0cy5oYXNSdW5uaW5nQW5pbWF0aW9uczsKIH0KIAotYm9vbCBUZXh0dXJl
TWFwcGVyTGF5ZXI6OmlzQW5jZXN0b3JGaXhlZFRvVmlld3BvcnQoKSBjb25zdAotewotICAgIGZv
ciAoVGV4dHVyZU1hcHBlckxheWVyKiBwYXJlbnQgPSBtX3BhcmVudDsgcGFyZW50OyBwYXJlbnQg
PSBwYXJlbnQtPm1fcGFyZW50KSB7Ci0gICAgICAgIGlmIChwYXJlbnQtPm1fZml4ZWRUb1ZpZXdw
b3J0KQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAgcmV0dXJuIGZhbHNl
OwotfQotCi12b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6c2V0U2Nyb2xsUG9zaXRpb25EZWx0YUlm
TmVlZGVkKGNvbnN0IEZsb2F0U2l6ZSYgZGVsdGEpCi17Ci0gICAgLy8gZGVsdGEgaXMgdGhlIGRp
ZmZlcmVuY2UgYmV0d2VlbiB0aGUgc2Nyb2xsIG9mZnNldCBpbiB0aGUgdWkgcHJvY2VzcyBhbmQg
dGhlIHNjcm9sbCBvZmZzZXQKLSAgICAvLyBpbiB0aGUgd2ViIHByb2Nlc3MuIFdlIGFkZCB0aGlz
IGRlbHRhIHRvIHRoZSBwb3NpdGlvbiBvZiBmaXhlZCBsYXllcnMsIHRvIG1ha2UKLSAgICAvLyBz
dXJlIHRoYXQgdGhleSBkbyBub3QgbW92ZSB3aGlsZSBzY3JvbGxpbmcuIFdlIG5lZWQgdG8gcmVz
ZXQgdGhpcyBkZWx0YSB0byBmaXhlZCBsYXllcnMKLSAgICAvLyB0aGF0IGhhdmUgYW4gYW5jZXN0
b3Igd2hpY2ggaXMgYWxzbyBhIGZpeGVkIGxheWVyLCBiZWNhdXNlIHRoZSBkZWx0YSB3aWxsIGJl
IGFkZGVkIHRvIHRoZSBhbmNlc3Rvci4KLSAgICBpZiAoaXNBbmNlc3RvckZpeGVkVG9WaWV3cG9y
dCgpKQotICAgICAgICBtX3Njcm9sbFBvc2l0aW9uRGVsdGEgPSBGbG9hdFNpemUoKTsKLSAgICBl
bHNlCi0gICAgICAgIG1fc2Nyb2xsUG9zaXRpb25EZWx0YSA9IGRlbHRhOwotfQotCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1h
cHBlckxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4
dHVyZU1hcHBlckxheWVyLmgKaW5kZXggNDExYWRlM2M3OWJlNzc5NTAxYjM2ZjM5ZjVjNDY4MTU3
YTBlOWU3Ni4uY2RmMjExMDE3NTkwNzBiMWFjMDU5N2NmY2JhOTk5YTZkMzY5OTNjNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVyTGF5ZXIuaApAQCAtODgsOCArODgsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
ZXRDb250ZW50c0xheWVyKFRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyKik7CiAgICAgdm9pZCBz
ZXRBbmltYXRpb25zKGNvbnN0IFRleHR1cmVNYXBwZXJBbmltYXRpb25zJik7CiAgICAgY29uc3Qg
VGV4dHVyZU1hcHBlckFuaW1hdGlvbnMmIGFuaW1hdGlvbnMoKSBjb25zdCB7IHJldHVybiBtX2Fu
aW1hdGlvbnM7IH0KLSAgICB2b2lkIHNldEZpeGVkVG9WaWV3cG9ydChib29sKTsKLSAgICBib29s
IGZpeGVkVG9WaWV3cG9ydCgpIGNvbnN0IHsgcmV0dXJuIG1fZml4ZWRUb1ZpZXdwb3J0OyB9CiAg
ICAgdm9pZCBzZXRCYWNraW5nU3RvcmUoVGV4dHVyZU1hcHBlckJhY2tpbmdTdG9yZSopOwogCiAg
ICAgYm9vbCBhcHBseUFuaW1hdGlvbnNSZWN1cnNpdmVseShNb25vdG9uaWNUaW1lKTsKQEAgLTk4
LDggKzk2LDYgQEAgcHVibGljOgogCiAgICAgdm9pZCBwYWludCgpOwogCi0gICAgdm9pZCBzZXRT
Y3JvbGxQb3NpdGlvbkRlbHRhSWZOZWVkZWQoY29uc3QgRmxvYXRTaXplJik7Ci0KICAgICB2b2lk
IGFkZENoaWxkKFRleHR1cmVNYXBwZXJMYXllciopOwogCiBwcml2YXRlOgpAQCAtMTE1LDggKzEx
MSw2IEBAIHByaXZhdGU6CiAKICAgICBzdGF0aWMgdm9pZCBzb3J0QnlaT3JkZXIoVmVjdG9yPFRl
eHR1cmVNYXBwZXJMYXllciogPiYgYXJyYXkpOwogCi0gICAgRmxvYXRQb2ludCBhZGp1c3RlZFBv
c2l0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZS5wb3MgKyBtX3Njcm9sbFBvc2l0aW9uRGVs
dGE7IH0KLSAgICBib29sIGlzQW5jZXN0b3JGaXhlZFRvVmlld3BvcnQoKSBjb25zdDsKICAgICBU
cmFuc2Zvcm1hdGlvbk1hdHJpeCByZXBsaWNhVHJhbnNmb3JtKCk7CiAgICAgdm9pZCByZW1vdmVG
cm9tUGFyZW50KCk7CiAgICAgdm9pZCByZW1vdmVBbGxDaGlsZHJlbigpOwpAQCAtMjA0LDggKzE5
OCw2IEBAIHByaXZhdGU6CiAgICAgU3RhdGUgbV9zdGF0ZTsKICAgICBUZXh0dXJlTWFwcGVyKiBt
X3RleHR1cmVNYXBwZXIgeyBudWxscHRyIH07CiAgICAgVGV4dHVyZU1hcHBlckFuaW1hdGlvbnMg
bV9hbmltYXRpb25zOwotICAgIEZsb2F0U2l6ZSBtX3Njcm9sbFBvc2l0aW9uRGVsdGE7Ci0gICAg
Ym9vbCBtX2ZpeGVkVG9WaWV3cG9ydCB7IGZhbHNlIH07CiAgICAgdWludDMyX3QgbV9pZCB7IDAg
fTsKIAogICAgIHN0cnVjdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29y
ZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCmluZGV4IDZmN2EwMjcxZmRlN2FjYjJlZjE1NTJiMzRk
ZDZkNTlkMTE3ODIxOTIuLjM2NDBjM2VjZDliNmI3YjdjYzljZGJmMmIyNDFhNWZkN2Y0MTRiNDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29y
ZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNz
TGF5ZXIuY3BwCkBAIC0xMjksNyArMTI5LDYgQEAgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpD
b29yZGluYXRlZEdyYXBoaWNzTGF5ZXIoVHlwZSBsYXllclR5cGUsIEdyYXBoaWNzTGF5ZXIKICAg
ICAsIG1fc2hvdWxkU3luY0ZpbHRlcnModHJ1ZSkKICAgICAsIG1fc2hvdWxkU3luY0ltYWdlQmFj
a2luZyh0cnVlKQogICAgICwgbV9zaG91bGRTeW5jQW5pbWF0aW9ucyh0cnVlKQotICAgICwgbV9m
aXhlZFRvVmlld3BvcnQoZmFsc2UpCiAgICAgLCBtX21vdmluZ1Zpc2libGVSZWN0KGZhbHNlKQog
ICAgICwgbV9wZW5kaW5nQ29udGVudHNTY2FsZUFkanVzdG1lbnQoZmFsc2UpCiAgICAgLCBtX3Bl
bmRpbmdWaXNpYmxlUmVjdEFkanVzdG1lbnQoZmFsc2UpCkBAIC01NzgsMTggKzU3Nyw2IEBAIHZv
aWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpzZXROZWVkc0Rpc3BsYXlJblJlY3QoY29uc3Qg
RmxvYXRSZWN0JiBpbml0aWFsUmVjCiAgICAgYWRkUmVwYWludFJlY3QocmVjdCk7CiB9CiAKLXZv
aWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpzZXRGaXhlZFRvVmlld3BvcnQoYm9vbCBpc0Zp
eGVkKQotewotICAgIGlmIChtX2ZpeGVkVG9WaWV3cG9ydCA9PSBpc0ZpeGVkKQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBtX2ZpeGVkVG9WaWV3cG9ydCA9IGlzRml4ZWQ7Ci0gICAgbV9sYXllclN0
YXRlLmZpeGVkVG9WaWV3cG9ydCA9IGlzRml4ZWQ7Ci0gICAgbV9sYXllclN0YXRlLmZsYWdzQ2hh
bmdlZCA9IHRydWU7Ci0KLSAgICBkaWRDaGFuZ2VMYXllclN0YXRlKCk7Ci19Ci0KIHZvaWQgQ29v
cmRpbmF0ZWRHcmFwaGljc0xheWVyOjpmbHVzaENvbXBvc2l0aW5nU3RhdGUoY29uc3QgRmxvYXRS
ZWN0JiByZWN0KQogewogICAgIGlmIChDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXIqIG1hc2sgPSBk
b3duY2FzdDxDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI+KG1hc2tMYXllcigpKSkKQEAgLTY3NSw3
ICs2NjIsNiBAQCB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6c3luY0xheWVyU3RhdGUo
KQogICAgICAgICBtX2xheWVyU3RhdGUuYmFja2ZhY2VWaXNpYmxlID0gYmFja2ZhY2VWaXNpYmls
aXR5KCk7CiAgICAgICAgIG1fbGF5ZXJTdGF0ZS5tYXNrc1RvQm91bmRzID0gbWFza3NUb0JvdW5k
cygpOwogICAgICAgICBtX2xheWVyU3RhdGUucHJlc2VydmVzM0QgPSBwcmVzZXJ2ZXMzRCgpOwot
ICAgICAgICBtX2xheWVyU3RhdGUuZml4ZWRUb1ZpZXdwb3J0ID0gZml4ZWRUb1ZpZXdwb3J0KCk7
CiAgICAgfQogCiAgICAgaWYgKG1fbGF5ZXJTdGF0ZS5kZWJ1Z1Zpc3VhbHNDaGFuZ2VkKSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRp
bmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmgK
aW5kZXggMWZmOTBmNTFmZDhhZjNlMDVmYjM1MmQ2ZjliZmEwMDNjNzJlMTI1My4uZmY0YWRmZjgy
MjNlYTY3ZjlmNGRhNGY3NzZkZDc4NzYyOTEwMTljMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhp
Y3NMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9j
b29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaApAQCAtMTE4LDggKzExOCw2IEBA
IHB1YmxpYzoKIAogICAgIENvb3JkaW5hdGVkTGF5ZXJJRCBpZCgpIGNvbnN0IHsgcmV0dXJuIG1f
aWQ7IH0KIAotICAgIHZvaWQgc2V0Rml4ZWRUb1ZpZXdwb3J0KGJvb2wgaXNGaXhlZCk7Ci0KICAg
ICBJbnRSZWN0IHRyYW5zZm9ybWVkVmlzaWJsZVJlY3QoKTsKIAogICAgIC8vIFRpbGVkQmFja2lu
Z1N0b3JlQ2xpZW50CkBAIC0xNDEsOCArMTM5LDYgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgc2V0
RGVidWdCb3JkZXIoY29uc3QgQ29sb3ImLCBmbG9hdCB3aWR0aCkgb3ZlcnJpZGU7CiAKLSAgICBi
b29sIGZpeGVkVG9WaWV3cG9ydCgpIGNvbnN0IHsgcmV0dXJuIG1fZml4ZWRUb1ZpZXdwb3J0OyB9
Ci0KICAgICB2b2lkIGRpZENoYW5nZUxheWVyU3RhdGUoKTsKICAgICB2b2lkIGRpZENoYW5nZUFu
aW1hdGlvbnMoKTsKICAgICB2b2lkIGRpZENoYW5nZUdlb21ldHJ5KCk7CkBAIC0xOTcsNyArMTkz
LDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1fc2hvdWxkU3luY0ZpbHRlcnM6IDE7CiAgICAgYm9v
bCBtX3Nob3VsZFN5bmNJbWFnZUJhY2tpbmc6IDE7CiAgICAgYm9vbCBtX3Nob3VsZFN5bmNBbmlt
YXRpb25zOiAxOwotICAgIGJvb2wgbV9maXhlZFRvVmlld3BvcnQgOiAxOwogICAgIGJvb2wgbV9t
b3ZpbmdWaXNpYmxlUmVjdCA6IDE7CiAgICAgYm9vbCBtX3BlbmRpbmdDb250ZW50c1NjYWxlQWRq
dXN0bWVudCA6IDE7CiAgICAgYm9vbCBtX3BlbmRpbmdWaXNpYmxlUmVjdEFkanVzdG1lbnQgOiAx
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nv
b3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTdGF0
ZS5oCmluZGV4IDIzYzQ3MTRiNGM3ODY2NDNlY2Q1Y2FkNjhiMmNmZmQyNGE5OWNkZTMuLjBjZTY1
OWU2YzhiZjIwYzQxNjU3ZjE4NzIxYmJkYzJiZmNjYTk0ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdy
YXBoaWNzU3RhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1N0YXRlLmgKQEAgLTExNSw3ICsxMTUs
NiBAQCBzdHJ1Y3QgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyU3RhdGUgewogICAgICAgICAgICAg
Ym9vbCBiYWNrZmFjZVZpc2libGUgOiAxOwogICAgICAgICAgICAgYm9vbCBtYXNrc1RvQm91bmRz
IDogMTsKICAgICAgICAgICAgIGJvb2wgcHJlc2VydmVzM0QgOiAxOwotICAgICAgICAgICAgYm9v
bCBmaXhlZFRvVmlld3BvcnQgOiAxOwogICAgICAgICAgICAgYm9vbCBpc1Njcm9sbGFibGU6IDE7
CiAgICAgICAgIH07CiAgICAgICAgIHVuc2lnbmVkIGZsYWdzOwpAQCAtMTI5LDcgKzEyOCw2IEBA
IHN0cnVjdCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXJTdGF0ZSB7CiAgICAgICAgICwgYmFja2Zh
Y2VWaXNpYmxlKHRydWUpCiAgICAgICAgICwgbWFza3NUb0JvdW5kcyhmYWxzZSkKICAgICAgICAg
LCBwcmVzZXJ2ZXMzRChmYWxzZSkKLSAgICAgICAgLCBmaXhlZFRvVmlld3BvcnQoZmFsc2UpCiAg
ICAgICAgICwgaXNTY3JvbGxhYmxlKGZhbHNlKQogICAgICAgICAsIG9wYWNpdHkoMCkKICAgICAg
ICAgLCByZXBsaWNhKEludmFsaWRDb29yZGluYXRlZExheWVySUQpCkBAIC0xNzcsNyArMTc1LDYg
QEAgc3RydWN0IENvb3JkaW5hdGVkR3JhcGhpY3NMYXllclN0YXRlIHsKIAogc3RydWN0IENvb3Jk
aW5hdGVkR3JhcGhpY3NTdGF0ZSB7CiAgICAgdWludDMyX3Qgcm9vdENvbXBvc2l0aW5nTGF5ZXI7
Ci0gICAgRmxvYXRQb2ludCBzY3JvbGxQb3NpdGlvbjsKIAogICAgIFZlY3RvcjxDb29yZGluYXRl
ZExheWVySUQ+IGxheWVyc1RvQ3JlYXRlOwogICAgIFZlY3RvcjxzdGQ6OnBhaXI8Q29vcmRpbmF0
ZWRMYXllcklELCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXJTdGF0ZT4+IGxheWVyc1RvVXBkYXRl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRp
bmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwCmluZGV4IGNmNmNmYjBk
ZjJjNDcwZmU0ZjEyODg2ZTc3MDlkZDQ2MDJjYzhkN2YuLmMxNmFlMWVjZmQzYThmZGY3YzU3ZDJk
MDZkZTYyZjZiZGEzZDU3NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2Vu
ZS5jcHAKQEAgLTYxLDkgKzYxLDggQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OmFw
cGx5U3RhdGVDaGFuZ2VzKGNvbnN0IFZlY3RvcjxDb29yZGluYXRlZEdyYXBoaWMKICAgICAgICAg
Y29tbWl0U2NlbmVTdGF0ZShzdGF0ZSk7CiB9CiAKLXZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1Nj
ZW5lOjpwYWludFRvQ3VycmVudEdMQ29udGV4dChjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYg
bWF0cml4LCBmbG9hdCBvcGFjaXR5LCBjb25zdCBGbG9hdFJlY3QmIGNsaXBSZWN0LCBjb25zdCBD
b2xvciYgYmFja2dyb3VuZENvbG9yLCBib29sIGRyYXdzQmFja2dyb3VuZCwgY29uc3QgRmxvYXRQ
b2ludCYgY29udGVudFBvc2l0aW9uLCBUZXh0dXJlTWFwcGVyOjpQYWludEZsYWdzIFBhaW50Rmxh
Z3MpCit2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6cGFpbnRUb0N1cnJlbnRHTENvbnRl
eHQoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1hdHJpeCwgZmxvYXQgb3BhY2l0eSwgY29u
c3QgRmxvYXRSZWN0JiBjbGlwUmVjdCwgY29uc3QgQ29sb3ImIGJhY2tncm91bmRDb2xvciwgYm9v
bCBkcmF3c0JhY2tncm91bmQsIFRleHR1cmVNYXBwZXI6OlBhaW50RmxhZ3MgUGFpbnRGbGFncykK
IHsKLSAgICBhZGp1c3RQb3NpdGlvbkZvckZpeGVkTGF5ZXJzKGNvbnRlbnRQb3NpdGlvbik7CiAg
ICAgVGV4dHVyZU1hcHBlckxheWVyKiBjdXJyZW50Um9vdExheWVyID0gcm9vdExheWVyKCk7CiAg
ICAgaWYgKCFjdXJyZW50Um9vdExheWVyKQogICAgICAgICByZXR1cm47CkBAIC0xMDYsMjAgKzEw
NSw2IEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjp1cGRhdGVWaWV3cG9ydCgpCiAg
ICAgICAgIG1fY2xpZW50LT51cGRhdGVWaWV3cG9ydCgpOwogfQogCi12b2lkIENvb3JkaW5hdGVk
R3JhcGhpY3NTY2VuZTo6YWRqdXN0UG9zaXRpb25Gb3JGaXhlZExheWVycyhjb25zdCBGbG9hdFBv
aW50JiBjb250ZW50UG9zaXRpb24pCi17Ci0gICAgaWYgKG1fZml4ZWRMYXllcnMuaXNFbXB0eSgp
KQotICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBGaXhlZCBsYXllciBwb3NpdGlvbnMgYXJlIHVw
ZGF0ZWQgYnkgdGhlIHdlYiBwcm9jZXNzIHdoZW4gd2UgdXBkYXRlIHRoZSB2aXNpYmxlIGNvbnRl
bnRzIHJlY3QgLyBzY3JvbGwgcG9zaXRpb24uCi0gICAgLy8gSWYgd2Ugd2FudCB0aG9zZSBsYXll
cnMgdG8gZm9sbG93IGFjY3VyYXRlbHkgdGhlIHZpZXdwb3J0IHdoZW4gd2UgbW92ZSBiZXR3ZWVu
IHRoZSB3ZWIgcHJvY2VzcyB1cGRhdGVzLCB3ZSBoYXZlIHRvIG9mZnNldAotICAgIC8vIHRoZW0g
YnkgdGhlIGRlbHRhIGJldHdlZW4gdGhlIGN1cnJlbnQgcG9zaXRpb24gYW5kIHRoZSBwb3NpdGlv
biBvZiB0aGUgdmlld3BvcnQgdXNlZCBmb3IgdGhlIGxhc3QgbGF5b3V0LgotICAgIEZsb2F0U2l6
ZSBkZWx0YSA9IGNvbnRlbnRQb3NpdGlvbiAtIG1fc2Nyb2xsUG9zaXRpb247Ci0KLSAgICBmb3Ig
KGF1dG8mIGZpeGVkTGF5ZXIgOiBtX2ZpeGVkTGF5ZXJzLnZhbHVlcygpKQotICAgICAgICBmaXhl
ZExheWVyLT5zZXRTY3JvbGxQb3NpdGlvbkRlbHRhSWZOZWVkZWQoZGVsdGEpOwotfQotCiB2b2lk
IENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6c3luY1BsYXRmb3JtTGF5ZXJJZk5lZWRlZChUZXh0
dXJlTWFwcGVyTGF5ZXIqIGxheWVyLCBjb25zdCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXJTdGF0
ZSYgc3RhdGUpCiB7CiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX1RIUkVBREVEKQpAQCAt
MjI4LDE1ICsyMTMsNiBAQCB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6c2V0TGF5ZXJT
dGF0ZShDb29yZGluYXRlZExheWVySUQgaWQsIGNvbnN0IENvb3JkaQogICAgICAgICAvLyBOZXZl
ciBjbGlwIHRoZSByb290IGxheWVyLgogICAgICAgICBsYXllci0+c2V0TWFza3NUb0JvdW5kcyhp
ZCA9PSBtX3Jvb3RMYXllcklEID8gZmFsc2UgOiBsYXllclN0YXRlLm1hc2tzVG9Cb3VuZHMpOwog
ICAgICAgICBsYXllci0+c2V0UHJlc2VydmVzM0QobGF5ZXJTdGF0ZS5wcmVzZXJ2ZXMzRCk7Ci0K
LSAgICAgICAgYm9vbCBmaXhlZFRvVmlld3BvcnRDaGFuZ2VkID0gbGF5ZXItPmZpeGVkVG9WaWV3
cG9ydCgpICE9IGxheWVyU3RhdGUuZml4ZWRUb1ZpZXdwb3J0OwotICAgICAgICBsYXllci0+c2V0
Rml4ZWRUb1ZpZXdwb3J0KGxheWVyU3RhdGUuZml4ZWRUb1ZpZXdwb3J0KTsKLSAgICAgICAgaWYg
KGZpeGVkVG9WaWV3cG9ydENoYW5nZWQpIHsKLSAgICAgICAgICAgIGlmIChsYXllclN0YXRlLmZp
eGVkVG9WaWV3cG9ydCkKLSAgICAgICAgICAgICAgICBtX2ZpeGVkTGF5ZXJzLmFkZChpZCwgbGF5
ZXIpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIG1fZml4ZWRMYXllcnMucmVt
b3ZlKGlkKTsKLSAgICAgICAgfQogICAgIH0KIAogICAgIHByZXBhcmVDb250ZW50QmFja2luZ1N0
b3JlKGxheWVyLCBjb21taXRTY29wZSk7CkBAIC0yODIsNyArMjU4LDYgQEAgdm9pZCBDb29yZGlu
YXRlZEdyYXBoaWNzU2NlbmU6OmRlbGV0ZUxheWVyKENvb3JkaW5hdGVkTGF5ZXJJRCBsYXllcklE
KQogICAgIEFTU0VSVChsYXllcik7CiAKICAgICBtX2JhY2tpbmdTdG9yZXMucmVtb3ZlKGxheWVy
LmdldCgpKTsKLSAgICBtX2ZpeGVkTGF5ZXJzLnJlbW92ZShsYXllcklEKTsKICNpZiBVU0UoQ09P
UkRJTkFURURfR1JBUEhJQ1NfVEhSRUFERUQpCiAgICAgaWYgKGF1dG8gcGxhdGZvcm1MYXllclBy
b3h5ID0gbV9wbGF0Zm9ybUxheWVyUHJveGllcy50YWtlKGxheWVyLmdldCgpKSkKICAgICAgICAg
cGxhdGZvcm1MYXllclByb3h5LT5pbnZhbGlkYXRlKCk7CkBAIC00NjAsOCArNDM1LDYgQEAgdm9p
ZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OmNvbW1pdFNjZW5lU3RhdGUoY29uc3QgQ29vcmRp
bmF0ZWRHcmFwaGljc1N0YXRlJgogCiAgICAgQ29tbWl0U2NvcGUgY29tbWl0U2NvcGU7CiAKLSAg
ICBtX3Njcm9sbFBvc2l0aW9uID0gc3RhdGUuc2Nyb2xsUG9zaXRpb247Ci0KICAgICBjcmVhdGVM
YXllcnMoc3RhdGUubGF5ZXJzVG9DcmVhdGUpOwogICAgIGRlbGV0ZUxheWVycyhzdGF0ZS5sYXll
cnNUb1JlbW92ZSk7CiAKQEAgLTUwOCw3ICs0ODEsNiBAQCB2b2lkIENvb3JkaW5hdGVkR3JhcGhp
Y3NTY2VuZTo6cHVyZ2VHTFJlc291cmNlcygpCiAgICAgbV9yb290TGF5ZXIgPSBudWxscHRyOwog
ICAgIG1fcm9vdExheWVySUQgPSBJbnZhbGlkQ29vcmRpbmF0ZWRMYXllcklEOwogICAgIG1fbGF5
ZXJzLmNsZWFyKCk7Ci0gICAgbV9maXhlZExheWVycy5jbGVhcigpOwogICAgIG1fdGV4dHVyZU1h
cHBlciA9IG51bGxwdHI7CiAgICAgbV9iYWNraW5nU3RvcmVzLmNsZWFyKCk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3NTY2VuZS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaAppbmRleCAyNjU5Zjc4MjIxZmEyZTMzYjNhNjY0
N2IyODIyMjk3YzFjYmVkNzNjLi5jNWJjYjUwNjRlZDcwNjVjZjA5ZmVjODI2YmYwYzA3NTI4ZTUw
ZTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmgKQEAgLTcyLDcgKzcy
LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSgpOwog
CiAgICAgdm9pZCBhcHBseVN0YXRlQ2hhbmdlcyhjb25zdCBWZWN0b3I8V2ViQ29yZTo6Q29vcmRp
bmF0ZWRHcmFwaGljc1N0YXRlPiYpOwotICAgIHZvaWQgcGFpbnRUb0N1cnJlbnRHTENvbnRleHQo
Y29uc3QgV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXgmLCBmbG9hdCwgY29uc3QgV2ViQ29y
ZTo6RmxvYXRSZWN0JiwgY29uc3QgV2ViQ29yZTo6Q29sb3ImIGJhY2tncm91bmRDb2xvciwgYm9v
bCBkcmF3c0JhY2tncm91bmQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmLCBXZWJDb3JlOjpU
ZXh0dXJlTWFwcGVyOjpQYWludEZsYWdzID0gMCk7CisgICAgdm9pZCBwYWludFRvQ3VycmVudEdM
Q29udGV4dChjb25zdCBXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeCYsIGZsb2F0LCBjb25z
dCBXZWJDb3JlOjpGbG9hdFJlY3QmLCBjb25zdCBXZWJDb3JlOjpDb2xvciYgYmFja2dyb3VuZENv
bG9yLCBib29sIGRyYXdzQmFja2dyb3VuZCwgV2ViQ29yZTo6VGV4dHVyZU1hcHBlcjo6UGFpbnRG
bGFncyA9IDApOwogICAgIHZvaWQgZGV0YWNoKCk7CiAKICAgICAvLyBUaGUgcGFpbnRpbmcgdGhy
ZWFkIG11c3QgbG9jayB0aGUgbWFpbiB0aHJlYWQgdG8gdXNlIGJlbG93IHR3byBtZXRob2RzLCBi
ZWNhdXNlIHR3byBtZXRob2RzIGFjY2VzcyBtZW1iZXJzIHRoYXQgdGhlIG1haW4gdGhyZWFkIG1h
bmFnZXMuIFNlZSBtX2NsaWVudC4KQEAgLTEyNSw4ICsxMjUsNiBAQCBwcml2YXRlOgogICAgIFdl
YkNvcmU6OlRleHR1cmVNYXBwZXJMYXllciogZ2V0TGF5ZXJCeUlESWZFeGlzdHMoV2ViQ29yZTo6
Q29vcmRpbmF0ZWRMYXllcklEKTsKICAgICBXZWJDb3JlOjpUZXh0dXJlTWFwcGVyTGF5ZXIqIHJv
b3RMYXllcigpIHsgcmV0dXJuIG1fcm9vdExheWVyLmdldCgpOyB9CiAKLSAgICB2b2lkIGFkanVz
dFBvc2l0aW9uRm9yRml4ZWRMYXllcnMoY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgY29udGVu
dFBvc2l0aW9uKTsKLQogICAgIHZvaWQgdXBkYXRlVmlld3BvcnQoKTsKIAogICAgIHZvaWQgY3Jl
YXRlTGF5ZXIoV2ViQ29yZTo6Q29vcmRpbmF0ZWRMYXllcklEKTsKQEAgLTE2MCw5ICsxNTgsNyBA
QCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpUZXh0dXJlTWFwcGVyTGF5
ZXI+IG1fcm9vdExheWVyOwogCiAgICAgSGFzaE1hcDxXZWJDb3JlOjpDb29yZGluYXRlZExheWVy
SUQsIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpUZXh0dXJlTWFwcGVyTGF5ZXI+PiBtX2xheWVy
czsKLSAgICBIYXNoTWFwPFdlYkNvcmU6OkNvb3JkaW5hdGVkTGF5ZXJJRCwgV2ViQ29yZTo6VGV4
dHVyZU1hcHBlckxheWVyKj4gbV9maXhlZExheWVyczsKICAgICBXZWJDb3JlOjpDb29yZGluYXRl
ZExheWVySUQgbV9yb290TGF5ZXJJRCB7IFdlYkNvcmU6OkludmFsaWRDb29yZGluYXRlZExheWVy
SUQgfTsKLSAgICBXZWJDb3JlOjpGbG9hdFBvaW50IG1fc2Nyb2xsUG9zaXRpb247CiAgICAgV2Vi
Q29yZTo6Q29sb3IgbV92aWV3QmFja2dyb3VuZENvbG9yIHsgV2ViQ29yZTo6Q29sb3I6OndoaXRl
IH07CiAKICAgICBXZWJDb3JlOjpUZXh0dXJlTWFwcGVyRlBTQ291bnRlciBtX2Zwc0NvdW50ZXI7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3Ro
cmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZENvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWRDb21w
b3NpdG9yLmNwcAppbmRleCA3ODgyNGQ0ODMxODQwNjU4MWQ4YzJmYjlhMTUyYTViYWQzOWYwNTNl
Li4zMDk4ZGY3MmIyYWUyNzM5NjhkOTg0NWFmMTNmMGYwNjMwNjk4NTYyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRv
ci9UaHJlYWRlZENvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5jcHAK
QEAgLTI0MCw3ICsyNDAsNyBAQCB2b2lkIFRocmVhZGVkQ29tcG9zaXRvcjo6cmVuZGVyTGF5ZXJU
cmVlKCkKIAogICAgIG1fc2NlbmUtPmFwcGx5U3RhdGVDaGFuZ2VzKHN0YXRlcyk7CiAgICAgbV9z
Y2VuZS0+cGFpbnRUb0N1cnJlbnRHTENvbnRleHQodmlld3BvcnRUcmFuc2Zvcm0sIDEsIEZsb2F0
UmVjdCB7IEZsb2F0UG9pbnQgeyB9LCB2aWV3cG9ydFNpemUgfSwKLSAgICAgICAgQ29sb3I6OnRy
YW5zcGFyZW50LCAhZHJhd3NCYWNrZ3JvdW5kLCBzY3JvbGxQb3NpdGlvbiwgbV9wYWludEZsYWdz
KTsKKyAgICAgICAgQ29sb3I6OnRyYW5zcGFyZW50LCAhZHJhd3NCYWNrZ3JvdW5kLCBtX3BhaW50
RmxhZ3MpOwogCiAgICAgbV9jb250ZXh0LT5zd2FwQnVmZmVycygpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBv
c2l0aW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCAwOGJk
YmIzMGRkYTljODQyYjUzMTBhNjQ5MzIyN2ZmZTA1YTVhZmYxLi41YmYxZjdjMWZhM2ZmNGZjOGYw
OTZiZDkyNTQ2YTA4MmMwMDk3NTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAKQEAgLTEyNSw4ICsxMjUsNiBAQCBib29sIENv
bXBvc2l0aW5nQ29vcmRpbmF0b3I6OmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcygpCiAgICAgaWYg
KG1fc2hvdWxkU3luY0ZyYW1lKSB7CiAgICAgICAgIGRpZFN5bmMgPSB0cnVlOwogCi0gICAgICAg
IG1fc3RhdGUuc2Nyb2xsUG9zaXRpb24gPSBtX3Zpc2libGVDb250ZW50c1JlY3QubG9jYXRpb24o
KTsKLQogICAgICAgICBtX2NsaWVudC5jb21taXRTY2VuZVN0YXRlKG1fc3RhdGUpOwogCiAgICAg
ICAgIGNsZWFyUGVuZGluZ1N0YXRlQ2hhbmdlcygpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>338647</attachid>
            <date>2018-04-24 06:58:19 -0700</date>
            <delta_ts>2018-04-24 06:58:19 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-184912-20180424155818.patch</filename>
            <type>text/plain</type>
            <size>21662</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzMDk1MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ1IEBACisyMDE4LTA0LTI0ICBaYW4gRG9i
ZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbQ29vcmRHcmFwaGljc10g
UmVtb3ZlIGRlYWQgZml4ZWQgbGF5ZXIgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0OTEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWljaGFl
bCBDYXRhbnphcm8uCisKKyAgICAgICAgUmVtb3ZlIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6
c2V0Rml4ZWRUb1ZpZXdwb3J0KCkgYW5kIHRoZQorICAgICAgICBjb3JyZXNwb25kaW5nIGF0dHJp
YnV0ZSBvbiB0aGUgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyU3RhdGUgc3RydWN0LgorICAgICAg
ICBUaGUgbWV0aG9kIGlzIG5vdCBjYWxsZWQgYW55d2hlcmUgc2luY2UgcjIzMDk1Mi4KKworICAg
ICAgICBDb29yZGluYXRlZEdyYXBoaWNzU3RhdGUgc3RydWN0IGFsc28gbG9zZXMgdGhlIHNjcm9s
bFBvc2l0aW9uIGF0dHJpYnV0ZQorICAgICAgICB0aGF0IGFsc28gaXNuJ3QgdXNlZCBhbnltb3Jl
LgorCisgICAgICAgIENoYW5nZXMgdG8gR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIgY2xhc3Mg
bWlycm9yIHRob3NlIG1hZGUgdG8KKyAgICAgICAgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLCBy
ZW1vdmluZyBzdXBwb3J0IGZvciB0aGUgZml4ZWQtdG8tdmlld3BvcnQKKyAgICAgICAgYXR0cmli
dXRlLiBUaGlzIHRvbyB3YXMgbm90IGNhbGxlZCBmcm9tIGFueXdoZXJlLgorCisgICAgICAgIEFs
bCB0aGF0IGVuYWJsZXMgdXMgcmVtb3ZpbmcgZml4ZWQtdG8tdmlld3BvcnQgaGFuZGxpbmcgaW4g
dGhlCisgICAgICAgIFRleHR1cmVNYXBwZXJMYXllciBjbGFzcy4gQWxvbmcgd2l0aCByZWxhdGVk
IGNoYW5nZXMgaW4gdGhlCisgICAgICAgIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSBjbGFzcywg
d2UncmUgYWJsZSB0byByZW1vdmUgYSBidW5jaCBvZiBtZXRob2RzCisgICAgICAgIGFuZCBtZW1i
ZXIgdmFyaWFibGVzIHRoYXQgYXJlIG5vdCB1c2VkIG9yIG5lZWRlZCBhbnltb3JlLgorCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyOjpHcmFw
aGljc0xheWVyVGV4dHVyZU1hcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVy
VGV4dHVyZU1hcHBlcjo6Y29tbWl0TGF5ZXJDaGFuZ2VzKToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyOjpzZXRGaXhlZFRvVmlld3BvcnQpOiBEZWxldGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0xheWVyVGV4dHVyZU1h
cHBlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVy
TGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckxheWVyOjpjb21wdXRl
VHJhbnNmb3Jtc1JlY3Vyc2l2ZSk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyTGF5
ZXI6OnNldEZpeGVkVG9WaWV3cG9ydCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpUZXh0
dXJlTWFwcGVyTGF5ZXI6OmlzQW5jZXN0b3JGaXhlZFRvVmlld3BvcnQgY29uc3QpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckxheWVyOjpzZXRTY3JvbGxQb3NpdGlv
bkRlbHRhSWZOZWVkZWQpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6Q29vcmRpbmF0ZWRHcmFwaGljc0xh
eWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6c3luY0xh
eWVyU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpz
ZXRGaXhlZFRvVmlld3BvcnQpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGlj
c1N0YXRlLmg6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXJTdGF0
ZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyU3RhdGUpOgorCiAyMDE4LTA0LTI0ICBaYW4gRG9i
ZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAgICAgICBbQ29vcmRHcmFwaGljc10g
UmVtb3ZlIHVudXNlZCBmaXhlZCBsYXlvdXQgZnVuY3Rpb25hbGl0eQpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuY3BwCShyZXZpc2lvbiAyMzA5NTMpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1
cmVNYXBwZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw3ICs0Miw2IEBAIEdyYXBoaWNzTGF5
ZXJUZXh0dXJlTWFwcGVyOjpHcmFwaGljc0xheWUKICAgICAsIG1fY29tcG9zaXRlZE5hdGl2ZUlt
YWdlUHRyKDApCiAgICAgLCBtX2NoYW5nZU1hc2soTm9DaGFuZ2VzKQogICAgICwgbV9uZWVkc0Rp
c3BsYXkoZmFsc2UpCi0gICAgLCBtX2ZpeGVkVG9WaWV3cG9ydChmYWxzZSkKICAgICAsIG1fZGVi
dWdCb3JkZXJXaWR0aCgwKQogICAgICwgbV9jb250ZW50c0xheWVyKDApCiB7CkBAIC00NjQsOSAr
NDYzLDYgQEAgdm9pZCBHcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlcjo6Y29tbWl0TAogICAgIGlm
IChtX2NoYW5nZU1hc2sgJiBBbmltYXRpb25TdGFydGVkKQogICAgICAgICBjbGllbnQoKS5ub3Rp
ZnlBbmltYXRpb25TdGFydGVkKHRoaXMsICIiLCBtX2FuaW1hdGlvblN0YXJ0VGltZSk7CiAKLSAg
ICBpZiAobV9jaGFuZ2VNYXNrICYgRml4ZWRUb1ZpZXdwb3JDaGFuZ2UpCi0gICAgICAgIG1fbGF5
ZXIuc2V0Rml4ZWRUb1ZpZXdwb3J0KGZpeGVkVG9WaWV3cG9ydCgpKTsKLQogICAgIG1fY2hhbmdl
TWFzayA9IE5vQ2hhbmdlczsKIH0KIApAQCAtNjExLDE1ICs2MDcsNiBAQCBib29sIEdyYXBoaWNz
TGF5ZXJUZXh0dXJlTWFwcGVyOjpzZXRGaWx0CiAgICAgcmV0dXJuIGNhbkNvbXBvc2l0ZUZpbHRl
cnM7CiB9CiAKLXZvaWQgR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXI6OnNldEZpeGVkVG9WaWV3
cG9ydChib29sIGZpeGVkKQotewotICAgIGlmIChtX2ZpeGVkVG9WaWV3cG9ydCA9PSBmaXhlZCkK
LSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9maXhlZFRvVmlld3BvcnQgPSBmaXhlZDsKLSAgICBu
b3RpZnlDaGFuZ2UoRml4ZWRUb1ZpZXdwb3JDaGFuZ2UpOwotfQotCiB2b2lkIEdyYXBoaWNzTGF5
ZXJUZXh0dXJlTWFwcGVyOjpzZXRSZXBhaW50Q291bnQoaW50IHJlcGFpbnRDb3VudCkKIHsKICAg
ICBtX3JlcGFpbnRDb3VudCA9IHJlcGFpbnRDb3VudDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlci5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGlj
c0xheWVyVGV4dHVyZU1hcHBlci5oCShyZXZpc2lvbiAyMzA5NTMpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuaAko
d29ya2luZyBjb3B5KQpAQCAtODgsOSArODgsNiBAQCBwdWJsaWM6CiAKICAgICBUZXh0dXJlTWFw
cGVyTGF5ZXImIGxheWVyKCkgeyByZXR1cm4gbV9sYXllcjsgfQogCi0gICAgdm9pZCBzZXRGaXhl
ZFRvVmlld3BvcnQoYm9vbCk7Ci0gICAgYm9vbCBmaXhlZFRvVmlld3BvcnQoKSBjb25zdCB7IHJl
dHVybiBtX2ZpeGVkVG9WaWV3cG9ydDsgfQotCiAgICAgQ29sb3IgZGVidWdCb3JkZXJDb2xvcigp
IGNvbnN0IHsgcmV0dXJuIG1fZGVidWdCb3JkZXJDb2xvcjsgfQogICAgIGZsb2F0IGRlYnVnQm9y
ZGVyV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX2RlYnVnQm9yZGVyV2lkdGg7IH0KICAgICB2b2lk
IHNldFJlcGFpbnRDb3VudChpbnQpOwpAQCAtMTQ4LDggKzE0NSw3IEBAIHByaXZhdGU6CiAgICAg
ICAgIERlYnVnVmlzdWFsc0NoYW5nZSA9ICAgICAgICAoMUwgPDwgMjQpLAogICAgICAgICBSZXBh
aW50Q291bnRDaGFuZ2UgPSAgICAgICAgKDFMIDw8IDI1KSwKIAotICAgICAgICBGaXhlZFRvVmll
d3BvckNoYW5nZSA9ICAgICAgKDFMIDw8IDI2KSwKLSAgICAgICAgQW5pbWF0aW9uU3RhcnRlZCA9
ICAgICAgICAgICgxTCA8PCAyNyksCisgICAgICAgIEFuaW1hdGlvblN0YXJ0ZWQgPSAgICAgICAg
ICAoMUwgPDwgMjYpLAogICAgIH07CiAgICAgdm9pZCBub3RpZnlDaGFuZ2UoQ2hhbmdlTWFzayk7
CiAKQEAgLTE2MCw3ICsxNTYsNiBAQCBwcml2YXRlOgogCiAgICAgaW50IG1fY2hhbmdlTWFzazsK
ICAgICBib29sIG1fbmVlZHNEaXNwbGF5OwotICAgIGJvb2wgbV9maXhlZFRvVmlld3BvcnQ7CiAg
ICAgQ29sb3IgbV9zb2xpZENvbG9yOwogCiAgICAgQ29sb3IgbV9kZWJ1Z0JvcmRlckNvbG9yOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXJMYXllci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5jcHAJKHJldmlzaW9uIDIzMDk1MykKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MiwxMSArNzIsMTAgQEAgdm9pZCBUZXh0dXJlTWFwcGVy
TGF5ZXI6OmNvbXB1dGVUcmFuc2ZvcgogCiAgICAgICAgIGNvbnN0IGZsb2F0IG9yaWdpblggPSBt
X3N0YXRlLmFuY2hvclBvaW50LngoKSAqIG1fc3RhdGUuc2l6ZS53aWR0aCgpOwogICAgICAgICBj
b25zdCBmbG9hdCBvcmlnaW5ZID0gbV9zdGF0ZS5hbmNob3JQb2ludC55KCkgKiBtX3N0YXRlLnNp
emUuaGVpZ2h0KCk7Ci0gICAgICAgIGF1dG8gcG9zaXRpb24gPSBhZGp1c3RlZFBvc2l0aW9uKCk7
CiAKICAgICAgICAgbV9sYXllclRyYW5zZm9ybXMuY29tYmluZWQgPSBwYXJlbnRUcmFuc2Zvcm07
CiAgICAgICAgIG1fbGF5ZXJUcmFuc2Zvcm1zLmNvbWJpbmVkCi0gICAgICAgICAgICAudHJhbnNs
YXRlM2Qob3JpZ2luWCArIHBvc2l0aW9uLngoKSwgb3JpZ2luWSArIHBvc2l0aW9uLnkoKSwgbV9z
dGF0ZS5hbmNob3JQb2ludC56KCkpCisgICAgICAgICAgICAudHJhbnNsYXRlM2Qob3JpZ2luWCAr
IG1fc3RhdGUucG9zLngoKSwgb3JpZ2luWSArIG1fc3RhdGUucG9zLnkoKSwgbV9zdGF0ZS5hbmNo
b3JQb2ludC56KCkpCiAgICAgICAgICAgICAubXVsdGlwbHkobV9sYXllclRyYW5zZm9ybXMubG9j
YWxUcmFuc2Zvcm0pOwogCiAgICAgICAgIG1fbGF5ZXJUcmFuc2Zvcm1zLmNvbWJpbmVkRm9yQ2hp
bGRyZW4gPSBtX2xheWVyVHJhbnNmb3Jtcy5jb21iaW5lZDsKQEAgLTYyMiwxMSArNjIxLDYgQEAg
dm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXI6OnNldEFuaW1hdGlvbnMoYwogICAgIG1fYW5pbWF0aW9u
cyA9IGFuaW1hdGlvbnM7CiB9CiAKLXZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjpzZXRGaXhlZFRv
Vmlld3BvcnQoYm9vbCBmaXhlZFRvVmlld3BvcnQpCi17Ci0gICAgbV9maXhlZFRvVmlld3BvcnQg
PSBmaXhlZFRvVmlld3BvcnQ7Ci19Ci0KIHZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjpzZXRCYWNr
aW5nU3RvcmUoVGV4dHVyZU1hcHBlckJhY2tpbmdTdG9yZSogYmFja2luZ1N0b3JlKQogewogICAg
IG1fYmFja2luZ1N0b3JlID0gYmFja2luZ1N0b3JlOwpAQCAtNjYzLDI2ICs2NTcsNCBAQCBib29s
IFRleHR1cmVNYXBwZXJMYXllcjo6c3luY0FuaW1hdGlvbnMoCiAgICAgcmV0dXJuIGFwcGxpY2F0
aW9uUmVzdWx0cy5oYXNSdW5uaW5nQW5pbWF0aW9uczsKIH0KIAotYm9vbCBUZXh0dXJlTWFwcGVy
TGF5ZXI6OmlzQW5jZXN0b3JGaXhlZFRvVmlld3BvcnQoKSBjb25zdAotewotICAgIGZvciAoVGV4
dHVyZU1hcHBlckxheWVyKiBwYXJlbnQgPSBtX3BhcmVudDsgcGFyZW50OyBwYXJlbnQgPSBwYXJl
bnQtPm1fcGFyZW50KSB7Ci0gICAgICAgIGlmIChwYXJlbnQtPm1fZml4ZWRUb1ZpZXdwb3J0KQot
ICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAgcmV0dXJuIGZhbHNlOwotfQot
Ci12b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6c2V0U2Nyb2xsUG9zaXRpb25EZWx0YUlmTmVlZGVk
KGNvbnN0IEZsb2F0U2l6ZSYgZGVsdGEpCi17Ci0gICAgLy8gZGVsdGEgaXMgdGhlIGRpZmZlcmVu
Y2UgYmV0d2VlbiB0aGUgc2Nyb2xsIG9mZnNldCBpbiB0aGUgdWkgcHJvY2VzcyBhbmQgdGhlIHNj
cm9sbCBvZmZzZXQKLSAgICAvLyBpbiB0aGUgd2ViIHByb2Nlc3MuIFdlIGFkZCB0aGlzIGRlbHRh
IHRvIHRoZSBwb3NpdGlvbiBvZiBmaXhlZCBsYXllcnMsIHRvIG1ha2UKLSAgICAvLyBzdXJlIHRo
YXQgdGhleSBkbyBub3QgbW92ZSB3aGlsZSBzY3JvbGxpbmcuIFdlIG5lZWQgdG8gcmVzZXQgdGhp
cyBkZWx0YSB0byBmaXhlZCBsYXllcnMKLSAgICAvLyB0aGF0IGhhdmUgYW4gYW5jZXN0b3Igd2hp
Y2ggaXMgYWxzbyBhIGZpeGVkIGxheWVyLCBiZWNhdXNlIHRoZSBkZWx0YSB3aWxsIGJlIGFkZGVk
IHRvIHRoZSBhbmNlc3Rvci4KLSAgICBpZiAoaXNBbmNlc3RvckZpeGVkVG9WaWV3cG9ydCgpKQot
ICAgICAgICBtX3Njcm9sbFBvc2l0aW9uRGVsdGEgPSBGbG9hdFNpemUoKTsKLSAgICBlbHNlCi0g
ICAgICAgIG1fc2Nyb2xsUG9zaXRpb25EZWx0YSA9IGRlbHRhOwotfQotCiB9CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1Rl
eHR1cmVNYXBwZXJMYXllci5oCShyZXZpc2lvbiAyMzA5NTMpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTg4LDggKzg4LDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0Q29udGVudHNMYXllcihU
ZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllciopOwogICAgIHZvaWQgc2V0QW5pbWF0aW9ucyhjb25z
dCBUZXh0dXJlTWFwcGVyQW5pbWF0aW9ucyYpOwogICAgIGNvbnN0IFRleHR1cmVNYXBwZXJBbmlt
YXRpb25zJiBhbmltYXRpb25zKCkgY29uc3QgeyByZXR1cm4gbV9hbmltYXRpb25zOyB9Ci0gICAg
dm9pZCBzZXRGaXhlZFRvVmlld3BvcnQoYm9vbCk7Ci0gICAgYm9vbCBmaXhlZFRvVmlld3BvcnQo
KSBjb25zdCB7IHJldHVybiBtX2ZpeGVkVG9WaWV3cG9ydDsgfQogICAgIHZvaWQgc2V0QmFja2lu
Z1N0b3JlKFRleHR1cmVNYXBwZXJCYWNraW5nU3RvcmUqKTsKIAogICAgIGJvb2wgYXBwbHlBbmlt
YXRpb25zUmVjdXJzaXZlbHkoTW9ub3RvbmljVGltZSk7CkBAIC05OCw4ICs5Niw2IEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgcGFpbnQoKTsKIAotICAgIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb25EZWx0
YUlmTmVlZGVkKGNvbnN0IEZsb2F0U2l6ZSYpOwotCiAgICAgdm9pZCBhZGRDaGlsZChUZXh0dXJl
TWFwcGVyTGF5ZXIqKTsKIAogcHJpdmF0ZToKQEAgLTExNSw4ICsxMTEsNiBAQCBwcml2YXRlOgog
CiAgICAgc3RhdGljIHZvaWQgc29ydEJ5Wk9yZGVyKFZlY3RvcjxUZXh0dXJlTWFwcGVyTGF5ZXIq
ID4mIGFycmF5KTsKIAotICAgIEZsb2F0UG9pbnQgYWRqdXN0ZWRQb3NpdGlvbigpIGNvbnN0IHsg
cmV0dXJuIG1fc3RhdGUucG9zICsgbV9zY3JvbGxQb3NpdGlvbkRlbHRhOyB9Ci0gICAgYm9vbCBp
c0FuY2VzdG9yRml4ZWRUb1ZpZXdwb3J0KCkgY29uc3Q7CiAgICAgVHJhbnNmb3JtYXRpb25NYXRy
aXggcmVwbGljYVRyYW5zZm9ybSgpOwogICAgIHZvaWQgcmVtb3ZlRnJvbVBhcmVudCgpOwogICAg
IHZvaWQgcmVtb3ZlQWxsQ2hpbGRyZW4oKTsKQEAgLTIwNCw4ICsxOTgsNiBAQCBwcml2YXRlOgog
ICAgIFN0YXRlIG1fc3RhdGU7CiAgICAgVGV4dHVyZU1hcHBlciogbV90ZXh0dXJlTWFwcGVyIHsg
bnVsbHB0ciB9OwogICAgIFRleHR1cmVNYXBwZXJBbmltYXRpb25zIG1fYW5pbWF0aW9uczsKLSAg
ICBGbG9hdFNpemUgbV9zY3JvbGxQb3NpdGlvbkRlbHRhOwotICAgIGJvb2wgbV9maXhlZFRvVmll
d3BvcnQgeyBmYWxzZSB9OwogICAgIHVpbnQzMl90IG1faWQgeyAwIH07CiAKICAgICBzdHJ1Y3Qg
ewpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5h
dGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3Jh
cGhpY3NMYXllci5jcHAJKHJldmlzaW9uIDIzMDk1MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjksNyArMTI5LDYgQEAgQ29vcmRpbmF0ZWRHcmFwaGlj
c0xheWVyOjpDb29yZGluYXRlZEdyYQogICAgICwgbV9zaG91bGRTeW5jRmlsdGVycyh0cnVlKQog
ICAgICwgbV9zaG91bGRTeW5jSW1hZ2VCYWNraW5nKHRydWUpCiAgICAgLCBtX3Nob3VsZFN5bmNB
bmltYXRpb25zKHRydWUpCi0gICAgLCBtX2ZpeGVkVG9WaWV3cG9ydChmYWxzZSkKICAgICAsIG1f
bW92aW5nVmlzaWJsZVJlY3QoZmFsc2UpCiAgICAgLCBtX3BlbmRpbmdDb250ZW50c1NjYWxlQWRq
dXN0bWVudChmYWxzZSkKICAgICAsIG1fcGVuZGluZ1Zpc2libGVSZWN0QWRqdXN0bWVudChmYWxz
ZSkKQEAgLTU3OCwxOCArNTc3LDYgQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnNl
dE5lZWRzRAogICAgIGFkZFJlcGFpbnRSZWN0KHJlY3QpOwogfQogCi12b2lkIENvb3JkaW5hdGVk
R3JhcGhpY3NMYXllcjo6c2V0Rml4ZWRUb1ZpZXdwb3J0KGJvb2wgaXNGaXhlZCkKLXsKLSAgICBp
ZiAobV9maXhlZFRvVmlld3BvcnQgPT0gaXNGaXhlZCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
bV9maXhlZFRvVmlld3BvcnQgPSBpc0ZpeGVkOwotICAgIG1fbGF5ZXJTdGF0ZS5maXhlZFRvVmll
d3BvcnQgPSBpc0ZpeGVkOwotICAgIG1fbGF5ZXJTdGF0ZS5mbGFnc0NoYW5nZWQgPSB0cnVlOwot
Ci0gICAgZGlkQ2hhbmdlTGF5ZXJTdGF0ZSgpOwotfQotCiB2b2lkIENvb3JkaW5hdGVkR3JhcGhp
Y3NMYXllcjo6Zmx1c2hDb21wb3NpdGluZ1N0YXRlKGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKIHsK
ICAgICBpZiAoQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyKiBtYXNrID0gZG93bmNhc3Q8Q29vcmRp
bmF0ZWRHcmFwaGljc0xheWVyPihtYXNrTGF5ZXIoKSkpCkBAIC02NzUsNyArNjYyLDYgQEAgdm9p
ZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnN5bmNMYXllcgogICAgICAgICBtX2xheWVyU3Rh
dGUuYmFja2ZhY2VWaXNpYmxlID0gYmFja2ZhY2VWaXNpYmlsaXR5KCk7CiAgICAgICAgIG1fbGF5
ZXJTdGF0ZS5tYXNrc1RvQm91bmRzID0gbWFza3NUb0JvdW5kcygpOwogICAgICAgICBtX2xheWVy
U3RhdGUucHJlc2VydmVzM0QgPSBwcmVzZXJ2ZXMzRCgpOwotICAgICAgICBtX2xheWVyU3RhdGUu
Zml4ZWRUb1ZpZXdwb3J0ID0gZml4ZWRUb1ZpZXdwb3J0KCk7CiAgICAgfQogCiAgICAgaWYgKG1f
bGF5ZXJTdGF0ZS5kZWJ1Z1Zpc3VhbHNDaGFuZ2VkKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xh
eWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5oCShyZXZpc2lvbiAyMzA5
NTMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0
ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTExOCw4ICsx
MTgsNiBAQCBwdWJsaWM6CiAKICAgICBDb29yZGluYXRlZExheWVySUQgaWQoKSBjb25zdCB7IHJl
dHVybiBtX2lkOyB9CiAKLSAgICB2b2lkIHNldEZpeGVkVG9WaWV3cG9ydChib29sIGlzRml4ZWQp
OwotCiAgICAgSW50UmVjdCB0cmFuc2Zvcm1lZFZpc2libGVSZWN0KCk7CiAKICAgICAvLyBUaWxl
ZEJhY2tpbmdTdG9yZUNsaWVudApAQCAtMTQxLDggKzEzOSw2IEBAIHByaXZhdGU6CiAKICAgICB2
b2lkIHNldERlYnVnQm9yZGVyKGNvbnN0IENvbG9yJiwgZmxvYXQgd2lkdGgpIG92ZXJyaWRlOwog
Ci0gICAgYm9vbCBmaXhlZFRvVmlld3BvcnQoKSBjb25zdCB7IHJldHVybiBtX2ZpeGVkVG9WaWV3
cG9ydDsgfQotCiAgICAgdm9pZCBkaWRDaGFuZ2VMYXllclN0YXRlKCk7CiAgICAgdm9pZCBkaWRD
aGFuZ2VBbmltYXRpb25zKCk7CiAgICAgdm9pZCBkaWRDaGFuZ2VHZW9tZXRyeSgpOwpAQCAtMTk3
LDcgKzE5Myw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3Nob3VsZFN5bmNGaWx0ZXJzOiAxOwog
ICAgIGJvb2wgbV9zaG91bGRTeW5jSW1hZ2VCYWNraW5nOiAxOwogICAgIGJvb2wgbV9zaG91bGRT
eW5jQW5pbWF0aW9uczogMTsKLSAgICBib29sIG1fZml4ZWRUb1ZpZXdwb3J0IDogMTsKICAgICBi
b29sIG1fbW92aW5nVmlzaWJsZVJlY3QgOiAxOwogICAgIGJvb2wgbV9wZW5kaW5nQ29udGVudHNT
Y2FsZUFkanVzdG1lbnQgOiAxOwogICAgIGJvb2wgbV9wZW5kaW5nVmlzaWJsZVJlY3RBZGp1c3Rt
ZW50IDogMTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9j
b29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU3RhdGUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0
ZWRHcmFwaGljc1N0YXRlLmgJKHJldmlzaW9uIDIzMDk1MykKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU3Rh
dGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTE1LDcgKzExNSw2IEBAIHN0cnVjdCBDb29yZGluYXRl
ZEdyYXBoaWNzTGF5ZXJTdGF0ZSB7CiAgICAgICAgICAgICBib29sIGJhY2tmYWNlVmlzaWJsZSA6
IDE7CiAgICAgICAgICAgICBib29sIG1hc2tzVG9Cb3VuZHMgOiAxOwogICAgICAgICAgICAgYm9v
bCBwcmVzZXJ2ZXMzRCA6IDE7Ci0gICAgICAgICAgICBib29sIGZpeGVkVG9WaWV3cG9ydCA6IDE7
CiAgICAgICAgICAgICBib29sIGlzU2Nyb2xsYWJsZTogMTsKICAgICAgICAgfTsKICAgICAgICAg
dW5zaWduZWQgZmxhZ3M7CkBAIC0xMjksNyArMTI4LDYgQEAgc3RydWN0IENvb3JkaW5hdGVkR3Jh
cGhpY3NMYXllclN0YXRlIHsKICAgICAgICAgLCBiYWNrZmFjZVZpc2libGUodHJ1ZSkKICAgICAg
ICAgLCBtYXNrc1RvQm91bmRzKGZhbHNlKQogICAgICAgICAsIHByZXNlcnZlczNEKGZhbHNlKQot
ICAgICAgICAsIGZpeGVkVG9WaWV3cG9ydChmYWxzZSkKICAgICAgICAgLCBpc1Njcm9sbGFibGUo
ZmFsc2UpCiAgICAgICAgICwgb3BhY2l0eSgwKQogICAgICAgICAsIHJlcGxpY2EoSW52YWxpZENv
b3JkaW5hdGVkTGF5ZXJJRCkKQEAgLTE3Nyw3ICsxNzUsNiBAQCBzdHJ1Y3QgQ29vcmRpbmF0ZWRH
cmFwaGljc0xheWVyU3RhdGUgewogCiBzdHJ1Y3QgQ29vcmRpbmF0ZWRHcmFwaGljc1N0YXRlIHsK
ICAgICB1aW50MzJfdCByb290Q29tcG9zaXRpbmdMYXllcjsKLSAgICBGbG9hdFBvaW50IHNjcm9s
bFBvc2l0aW9uOwogCiAgICAgVmVjdG9yPENvb3JkaW5hdGVkTGF5ZXJJRD4gbGF5ZXJzVG9DcmVh
dGU7CiAgICAgVmVjdG9yPHN0ZDo6cGFpcjxDb29yZGluYXRlZExheWVySUQsIENvb3JkaW5hdGVk
R3JhcGhpY3NMYXllclN0YXRlPj4gbGF5ZXJzVG9VcGRhdGU7CkluZGV4OiBTb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNp
b24gMjMwOTUzKQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwzMyBAQAorMjAxOC0wNC0yNCAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0Nvb3JkR3JhcGhpY3NdIFJlbW92ZSBkZWFkIGZpeGVkIGxheWVy
IGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4
NDkxMgorCisgICAgICAgIFJldmlld2VkIGJ5IE1pY2hhZWwgQ2F0YW56YXJvLgorCisgICAgICAg
IERyb3AgdGhlIHVudXNlZCBmaXhlZCBsYXllciBoYW5kbGluZyAgY29kZSBpbiBDb29yZGluYXRl
ZEdyYXBoaWNzU2NlbmUuCisgICAgICAgIFRoZSBtX2ZpeGVkTGF5ZXJzIGNvbnRhaW5lciBjYW4g
YmUgcmVtb3ZlZCwgYWxvbmcgd2l0aCB0aGUKKyAgICAgICAgYWRqdXN0UG9zaXRpb25Gb3JGaXhl
ZExheWVycygpIG1ldGhvZCB0aGF0IG9wZXJhdGVkIG9uIHRoYXQgY29udGFpbmVyLgorCisgICAg
ICAgIFRoaXMgd2FzIHRoZSBvbmx5IG1ldGhvZCB0aGF0IG9wZXJhdGVkIHdpdGggdGhlIG1fc2Ny
b2xsUG9zaXRpb24gbWVtYmVyCisgICAgICAgIHZhcmlhYmxlIGFuZCB0aGUgY29udGVudHNQb3Np
dGlvbiBhcmd1bWVudCB0aGF0J3MgcGFzc2VkIHRvIHRoZQorICAgICAgICBDb29yZGluYXRlZEdy
YXBoaWNzU2NlbmU6OnBhaW50VG9DdXJyZW50R0xDb250ZXh0KCkgbWV0aG9kLiBCb3RoIG9mCisg
ICAgICAgIHRoZXNlIGFyZSByZW1vdmVkLCBhbG9uZyB3aXRoIHRoZSBzY3JvbGxQb3NpdGlvbiBh
dHRyaWJ1dGUgb24gdGhlCisgICAgICAgIENvb3JkaW5hdGVkR3JhcGhpY3NTdGF0ZSBzdHJ1Y3Qu
CisKKyAgICAgICAgKiBTaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBo
aWNzU2NlbmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6
OnBhaW50VG9DdXJyZW50R0xDb250ZXh0KToKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRH
cmFwaGljc1NjZW5lOjpzZXRMYXllclN0YXRlKToKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0
ZWRHcmFwaGljc1NjZW5lOjpkZWxldGVMYXllcik6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5h
dGVkR3JhcGhpY3NTY2VuZTo6Y29tbWl0U2NlbmVTdGF0ZSk6CisgICAgICAgIChXZWJLaXQ6OkNv
b3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6cHVyZ2VHTFJlc291cmNlcyk6CisgICAgICAgIChXZWJL
aXQ6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6YWRqdXN0UG9zaXRpb25Gb3JGaXhlZExheWVy
cyk6IERlbGV0ZWQuCisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRp
bmF0ZWRHcmFwaGljc1NjZW5lLmg6CisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OlRocmVhZGVkQ29tcG9zaXRvcjo6cmVuZGVyTGF5ZXJUcmVlKToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5h
dG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q29tcG9zaXRpbmdDb29yZGluYXRvcjo6Zmx1c2hQ
ZW5kaW5nTGF5ZXJDaGFuZ2VzKToKKwogMjAxOC0wNC0yNCAgWmFuIERvYmVyc2VrICA8emRvYmVy
c2VrQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0Nvb3JkR3JhcGhpY3NdIFJlbW92ZSB1bnVzZWQg
Zml4ZWQgbGF5b3V0IGZ1bmN0aW9uYWxpdHkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3NTY2VuZS5jcHAJKHJldmlzaW9uIDIzMDk1MykKKysrIFNvdXJjZS9XZWJLaXQvU2hh
cmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNjEsOSArNjEsOCBAQCB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2Vu
ZTo6YXBwbHlTdGF0CiAgICAgICAgIGNvbW1pdFNjZW5lU3RhdGUoc3RhdGUpOwogfQogCi12b2lk
IENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6cGFpbnRUb0N1cnJlbnRHTENvbnRleHQoY29uc3Qg
VHJhbnNmb3JtYXRpb25NYXRyaXgmIG1hdHJpeCwgZmxvYXQgb3BhY2l0eSwgY29uc3QgRmxvYXRS
ZWN0JiBjbGlwUmVjdCwgY29uc3QgQ29sb3ImIGJhY2tncm91bmRDb2xvciwgYm9vbCBkcmF3c0Jh
Y2tncm91bmQsIGNvbnN0IEZsb2F0UG9pbnQmIGNvbnRlbnRQb3NpdGlvbiwgVGV4dHVyZU1hcHBl
cjo6UGFpbnRGbGFncyBQYWludEZsYWdzKQordm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6
OnBhaW50VG9DdXJyZW50R0xDb250ZXh0KGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtYXRy
aXgsIGZsb2F0IG9wYWNpdHksIGNvbnN0IEZsb2F0UmVjdCYgY2xpcFJlY3QsIGNvbnN0IENvbG9y
JiBiYWNrZ3JvdW5kQ29sb3IsIGJvb2wgZHJhd3NCYWNrZ3JvdW5kLCBUZXh0dXJlTWFwcGVyOjpQ
YWludEZsYWdzIFBhaW50RmxhZ3MpCiB7Ci0gICAgYWRqdXN0UG9zaXRpb25Gb3JGaXhlZExheWVy
cyhjb250ZW50UG9zaXRpb24pOwogICAgIFRleHR1cmVNYXBwZXJMYXllciogY3VycmVudFJvb3RM
YXllciA9IHJvb3RMYXllcigpOwogICAgIGlmICghY3VycmVudFJvb3RMYXllcikKICAgICAgICAg
cmV0dXJuOwpAQCAtMTA2LDIwICsxMDUsNiBAQCB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2Vu
ZTo6dXBkYXRlVmllCiAgICAgICAgIG1fY2xpZW50LT51cGRhdGVWaWV3cG9ydCgpOwogfQogCi12
b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6YWRqdXN0UG9zaXRpb25Gb3JGaXhlZExheWVy
cyhjb25zdCBGbG9hdFBvaW50JiBjb250ZW50UG9zaXRpb24pCi17Ci0gICAgaWYgKG1fZml4ZWRM
YXllcnMuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBGaXhlZCBsYXllciBw
b3NpdGlvbnMgYXJlIHVwZGF0ZWQgYnkgdGhlIHdlYiBwcm9jZXNzIHdoZW4gd2UgdXBkYXRlIHRo
ZSB2aXNpYmxlIGNvbnRlbnRzIHJlY3QgLyBzY3JvbGwgcG9zaXRpb24uCi0gICAgLy8gSWYgd2Ug
d2FudCB0aG9zZSBsYXllcnMgdG8gZm9sbG93IGFjY3VyYXRlbHkgdGhlIHZpZXdwb3J0IHdoZW4g
d2UgbW92ZSBiZXR3ZWVuIHRoZSB3ZWIgcHJvY2VzcyB1cGRhdGVzLCB3ZSBoYXZlIHRvIG9mZnNl
dAotICAgIC8vIHRoZW0gYnkgdGhlIGRlbHRhIGJldHdlZW4gdGhlIGN1cnJlbnQgcG9zaXRpb24g
YW5kIHRoZSBwb3NpdGlvbiBvZiB0aGUgdmlld3BvcnQgdXNlZCBmb3IgdGhlIGxhc3QgbGF5b3V0
LgotICAgIEZsb2F0U2l6ZSBkZWx0YSA9IGNvbnRlbnRQb3NpdGlvbiAtIG1fc2Nyb2xsUG9zaXRp
b247Ci0KLSAgICBmb3IgKGF1dG8mIGZpeGVkTGF5ZXIgOiBtX2ZpeGVkTGF5ZXJzLnZhbHVlcygp
KQotICAgICAgICBmaXhlZExheWVyLT5zZXRTY3JvbGxQb3NpdGlvbkRlbHRhSWZOZWVkZWQoZGVs
dGEpOwotfQotCiB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6c3luY1BsYXRmb3JtTGF5
ZXJJZk5lZWRlZChUZXh0dXJlTWFwcGVyTGF5ZXIqIGxheWVyLCBjb25zdCBDb29yZGluYXRlZEdy
YXBoaWNzTGF5ZXJTdGF0ZSYgc3RhdGUpCiB7CiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNT
X1RIUkVBREVEKQpAQCAtMjI4LDE1ICsyMTMsNiBAQCB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NT
Y2VuZTo6c2V0TGF5ZXJTCiAgICAgICAgIC8vIE5ldmVyIGNsaXAgdGhlIHJvb3QgbGF5ZXIuCiAg
ICAgICAgIGxheWVyLT5zZXRNYXNrc1RvQm91bmRzKGlkID09IG1fcm9vdExheWVySUQgPyBmYWxz
ZSA6IGxheWVyU3RhdGUubWFza3NUb0JvdW5kcyk7CiAgICAgICAgIGxheWVyLT5zZXRQcmVzZXJ2
ZXMzRChsYXllclN0YXRlLnByZXNlcnZlczNEKTsKLQotICAgICAgICBib29sIGZpeGVkVG9WaWV3
cG9ydENoYW5nZWQgPSBsYXllci0+Zml4ZWRUb1ZpZXdwb3J0KCkgIT0gbGF5ZXJTdGF0ZS5maXhl
ZFRvVmlld3BvcnQ7Ci0gICAgICAgIGxheWVyLT5zZXRGaXhlZFRvVmlld3BvcnQobGF5ZXJTdGF0
ZS5maXhlZFRvVmlld3BvcnQpOwotICAgICAgICBpZiAoZml4ZWRUb1ZpZXdwb3J0Q2hhbmdlZCkg
ewotICAgICAgICAgICAgaWYgKGxheWVyU3RhdGUuZml4ZWRUb1ZpZXdwb3J0KQotICAgICAgICAg
ICAgICAgIG1fZml4ZWRMYXllcnMuYWRkKGlkLCBsYXllcik7Ci0gICAgICAgICAgICBlbHNlCi0g
ICAgICAgICAgICAgICAgbV9maXhlZExheWVycy5yZW1vdmUoaWQpOwotICAgICAgICB9CiAgICAg
fQogCiAgICAgcHJlcGFyZUNvbnRlbnRCYWNraW5nU3RvcmUobGF5ZXIsIGNvbW1pdFNjb3BlKTsK
QEAgLTI4Miw3ICsyNTgsNiBAQCB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6ZGVsZXRl
TGF5CiAgICAgQVNTRVJUKGxheWVyKTsKIAogICAgIG1fYmFja2luZ1N0b3Jlcy5yZW1vdmUobGF5
ZXIuZ2V0KCkpOwotICAgIG1fZml4ZWRMYXllcnMucmVtb3ZlKGxheWVySUQpOwogI2lmIFVTRShD
T09SRElOQVRFRF9HUkFQSElDU19USFJFQURFRCkKICAgICBpZiAoYXV0byBwbGF0Zm9ybUxheWVy
UHJveHkgPSBtX3BsYXRmb3JtTGF5ZXJQcm94aWVzLnRha2UobGF5ZXIuZ2V0KCkpKQogICAgICAg
ICBwbGF0Zm9ybUxheWVyUHJveHktPmludmFsaWRhdGUoKTsKQEAgLTQ2MCw4ICs0MzUsNiBAQCB2
b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6Y29tbWl0U2NlCiAKICAgICBDb21taXRTY29w
ZSBjb21taXRTY29wZTsKIAotICAgIG1fc2Nyb2xsUG9zaXRpb24gPSBzdGF0ZS5zY3JvbGxQb3Np
dGlvbjsKLQogICAgIGNyZWF0ZUxheWVycyhzdGF0ZS5sYXllcnNUb0NyZWF0ZSk7CiAgICAgZGVs
ZXRlTGF5ZXJzKHN0YXRlLmxheWVyc1RvUmVtb3ZlKTsKIApAQCAtNTA4LDcgKzQ4MSw2IEBAIHZv
aWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpwdXJnZUdMUmUKICAgICBtX3Jvb3RMYXllciA9
IG51bGxwdHI7CiAgICAgbV9yb290TGF5ZXJJRCA9IEludmFsaWRDb29yZGluYXRlZExheWVySUQ7
CiAgICAgbV9sYXllcnMuY2xlYXIoKTsKLSAgICBtX2ZpeGVkTGF5ZXJzLmNsZWFyKCk7CiAgICAg
bV90ZXh0dXJlTWFwcGVyID0gbnVsbHB0cjsKICAgICBtX2JhY2tpbmdTdG9yZXMuY2xlYXIoKTsK
IH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRp
bmF0ZWRHcmFwaGljc1NjZW5lLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaAkocmV2aXNpb24g
MjMwOTUzKQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29y
ZGluYXRlZEdyYXBoaWNzU2NlbmUuaAkod29ya2luZyBjb3B5KQpAQCAtNzIsNyArNzIsNyBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB+Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lKCk7CiAKICAgICB2
b2lkIGFwcGx5U3RhdGVDaGFuZ2VzKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpDb29yZGluYXRlZEdy
YXBoaWNzU3RhdGU+Jik7Ci0gICAgdm9pZCBwYWludFRvQ3VycmVudEdMQ29udGV4dChjb25zdCBX
ZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeCYsIGZsb2F0LCBjb25zdCBXZWJDb3JlOjpGbG9h
dFJlY3QmLCBjb25zdCBXZWJDb3JlOjpDb2xvciYgYmFja2dyb3VuZENvbG9yLCBib29sIGRyYXdz
QmFja2dyb3VuZCwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYsIFdlYkNvcmU6OlRleHR1cmVN
YXBwZXI6OlBhaW50RmxhZ3MgPSAwKTsKKyAgICB2b2lkIHBhaW50VG9DdXJyZW50R0xDb250ZXh0
KGNvbnN0IFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4JiwgZmxvYXQsIGNvbnN0IFdlYkNv
cmU6OkZsb2F0UmVjdCYsIGNvbnN0IFdlYkNvcmU6OkNvbG9yJiBiYWNrZ3JvdW5kQ29sb3IsIGJv
b2wgZHJhd3NCYWNrZ3JvdW5kLCBXZWJDb3JlOjpUZXh0dXJlTWFwcGVyOjpQYWludEZsYWdzID0g
MCk7CiAgICAgdm9pZCBkZXRhY2goKTsKIAogICAgIC8vIFRoZSBwYWludGluZyB0aHJlYWQgbXVz
dCBsb2NrIHRoZSBtYWluIHRocmVhZCB0byB1c2UgYmVsb3cgdHdvIG1ldGhvZHMsIGJlY2F1c2Ug
dHdvIG1ldGhvZHMgYWNjZXNzIG1lbWJlcnMgdGhhdCB0aGUgbWFpbiB0aHJlYWQgbWFuYWdlcy4g
U2VlIG1fY2xpZW50LgpAQCAtMTI1LDggKzEyNSw2IEBAIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6
VGV4dHVyZU1hcHBlckxheWVyKiBnZXRMYXllckJ5SURJZkV4aXN0cyhXZWJDb3JlOjpDb29yZGlu
YXRlZExheWVySUQpOwogICAgIFdlYkNvcmU6OlRleHR1cmVNYXBwZXJMYXllciogcm9vdExheWVy
KCkgeyByZXR1cm4gbV9yb290TGF5ZXIuZ2V0KCk7IH0KIAotICAgIHZvaWQgYWRqdXN0UG9zaXRp
b25Gb3JGaXhlZExheWVycyhjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBjb250ZW50UG9zaXRp
b24pOwotCiAgICAgdm9pZCB1cGRhdGVWaWV3cG9ydCgpOwogCiAgICAgdm9pZCBjcmVhdGVMYXll
cihXZWJDb3JlOjpDb29yZGluYXRlZExheWVySUQpOwpAQCAtMTYwLDkgKzE1OCw3IEBAIHByaXZh
dGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OlRleHR1cmVNYXBwZXJMYXllcj4gbV9y
b290TGF5ZXI7CiAKICAgICBIYXNoTWFwPFdlYkNvcmU6OkNvb3JkaW5hdGVkTGF5ZXJJRCwgc3Rk
Ojp1bmlxdWVfcHRyPFdlYkNvcmU6OlRleHR1cmVNYXBwZXJMYXllcj4+IG1fbGF5ZXJzOwotICAg
IEhhc2hNYXA8V2ViQ29yZTo6Q29vcmRpbmF0ZWRMYXllcklELCBXZWJDb3JlOjpUZXh0dXJlTWFw
cGVyTGF5ZXIqPiBtX2ZpeGVkTGF5ZXJzOwogICAgIFdlYkNvcmU6OkNvb3JkaW5hdGVkTGF5ZXJJ
RCBtX3Jvb3RMYXllcklEIHsgV2ViQ29yZTo6SW52YWxpZENvb3JkaW5hdGVkTGF5ZXJJRCB9Owot
ICAgIFdlYkNvcmU6OkZsb2F0UG9pbnQgbV9zY3JvbGxQb3NpdGlvbjsKICAgICBXZWJDb3JlOjpD
b2xvciBtX3ZpZXdCYWNrZ3JvdW5kQ29sb3IgeyBXZWJDb3JlOjpDb2xvcjo6d2hpdGUgfTsKIAog
ICAgIFdlYkNvcmU6OlRleHR1cmVNYXBwZXJGUFNDb3VudGVyIG1fZnBzQ291bnRlcjsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3Np
dG9yL1RocmVhZGVkQ29tcG9zaXRvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9T
aGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWRDb21w
b3NpdG9yLmNwcAkocmV2aXNpb24gMjMwOTUzKQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvQ29v
cmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWRDb21wb3NpdG9yLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjQwLDcgKzI0MCw3IEBAIHZvaWQgVGhyZWFkZWRDb21wb3Np
dG9yOjpyZW5kZXJMYXllclRyZWUKIAogICAgIG1fc2NlbmUtPmFwcGx5U3RhdGVDaGFuZ2VzKHN0
YXRlcyk7CiAgICAgbV9zY2VuZS0+cGFpbnRUb0N1cnJlbnRHTENvbnRleHQodmlld3BvcnRUcmFu
c2Zvcm0sIDEsIEZsb2F0UmVjdCB7IEZsb2F0UG9pbnQgeyB9LCB2aWV3cG9ydFNpemUgfSwKLSAg
ICAgICAgQ29sb3I6OnRyYW5zcGFyZW50LCAhZHJhd3NCYWNrZ3JvdW5kLCBzY3JvbGxQb3NpdGlv
biwgbV9wYWludEZsYWdzKTsKKyAgICAgICAgQ29sb3I6OnRyYW5zcGFyZW50LCAhZHJhd3NCYWNr
Z3JvdW5kLCBtX3BhaW50RmxhZ3MpOwogCiAgICAgbV9jb250ZXh0LT5zd2FwQnVmZmVycygpOwog
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBo
aWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29y
ZGluYXRvci5jcHAJKHJldmlzaW9uIDIzMDk1MykKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEyNSw4ICsxMjUsNiBAQCBib29sIENvbXBvc2l0aW5nQ29vcmRp
bmF0b3I6OmZsdXNoUGVuZGluCiAgICAgaWYgKG1fc2hvdWxkU3luY0ZyYW1lKSB7CiAgICAgICAg
IGRpZFN5bmMgPSB0cnVlOwogCi0gICAgICAgIG1fc3RhdGUuc2Nyb2xsUG9zaXRpb24gPSBtX3Zp
c2libGVDb250ZW50c1JlY3QubG9jYXRpb24oKTsKLQogICAgICAgICBtX2NsaWVudC5jb21taXRT
Y2VuZVN0YXRlKG1fc3RhdGUpOwogCiAgICAgICAgIGNsZWFyUGVuZGluZ1N0YXRlQ2hhbmdlcygp
Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>