<?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>166727</bug_id>
          
          <creation_ts>2017-01-05 06:39:25 -0800</creation_ts>
          <short_desc>RenderView::documentBeingDestroyed() needs a new name.</short_desc>
          <delta_ts>2017-03-16 17:22: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>Layout and Rendering</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Kling">kling</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1264105</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2017-01-05 06:39:25 -0800</bug_when>
    <thetext>It&apos;s really &quot;renderTreeBeingDestroyed()&quot;, since the Document might just be going for a chill break in the PageCache.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288808</commentid>
    <comment_count>1</comment_count>
      <attachid>304712</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-03-16 15:55:45 -0700</bug_when>
    <thetext>Created attachment 304712
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288845</commentid>
    <comment_count>2</comment_count>
      <attachid>304712</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2017-03-16 16:53:56 -0700</bug_when>
    <thetext>Comment on attachment 304712
Patch

r=me
smfr++</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288860</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-03-16 17:22:20 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/214082</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304712</attachid>
            <date>2017-03-16 15:55:45 -0700</date>
            <delta_ts>2017-03-16 17:19:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-166727-20170316155545.patch</filename>
            <type>text/plain</type>
            <size>34340</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEzODk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjg4YWVlY2ZlMGNlZjUy
YjQ0MmJjMThiZDJiYjIyZGEzODJlNjc4Yy4uM2ZiNmI0ODZjYThkMDQ4ZTYxMjQwZWNhMDQyZjBh
Y2NhZmY3YzdhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDg4IEBACiAyMDE3LTAzLTE2ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIFJlbmRlclZpZXc6
OmRvY3VtZW50QmVpbmdEZXN0cm95ZWQoKSBuZWVkcyBhIG5ldyBuYW1lLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY2NzI3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm93IHRoYXQgd2UgZGVzdHJveSB0
aGUgcmVuZGVyIHRyZWUgZm9yIGRvY3VtZW50cyBnb2luZyBpbnRvIHRoZSBwYWdlIGNhY2hlLCBS
ZW5kZXJWaWV3Ojpkb2N1bWVudEJlaW5nRGVzdHJveWVkKCkKKyAgICAgICAgaXMgbWlzbGVhZGlu
Z2x5IG5hbWVkLiBSZW5hbWUgaXQgdG8gcmVuZGVyVHJlZUJlaW5nRGVzdHJveWVkKCkgYW5kIGZp
eCBhbGwgY2FsbGVycy4KKworICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lVmlldzo6c2NoZWR1bGVSZWxheW91dE9mU3VidHJlZSk6CisgICAgICAg
ICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmFic29sdXRlRXZlbnRUcmFja2luZ1JlZ2lvbnNG
b3JGcmFtZSk6CisgICAgICAgICogcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNvdW50ZXJOb2RlOjpyZXNldFJlbmRlcmVycyk6CisgICAgICAgICogcmVuZGVy
aW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VR
dWFsaXR5Q29udHJvbGxlcjo6aGlnaFF1YWxpdHlSZXBhaW50VGltZXJGaXJlZCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJs
b2NrOjp3aWxsQmVEZXN0cm95ZWQpOgorICAgICAgICAoV2ViQ29yZTo6Y2FuTWVyZ2VDb250aWd1
b3VzQW5vbnltb3VzQmxvY2tzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpyZW1v
dmVDaGlsZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OndpbGxCZURlc3Ryb3llZCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OnJlbW92ZUNoaWxkKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6cmVtb3Zl
RmxvYXRpbmdPclBvc2l0aW9uZWRDaGlsZEZyb21CbG9ja0xpc3RzKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckJveDo6ZGVsZXRlTGluZUJveFdyYXBwZXIpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3hN
b2RlbE9iamVjdDo6d2lsbEJlRGVzdHJveWVkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50OjppbnNlcnRDaGls
ZEludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnJlbW92ZUNoaWxk
SW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6Y2xlYXJMYXlvdXRS
b290SWZOZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6d2lsbEJlRGVz
dHJveWVkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVySW1hZ2U6OmltYWdlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJJbWFnZTo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJ
bmxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjp3aWxsQmVEZXN0cm95
ZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJMYXllcjo6cmVtb3ZlQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6Om5v
dGlmeUZsdXNoUmVxdWlyZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBv
c2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpsYXll
cldpbGxCZVJlbW92ZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9y
OjpmaXhlZFJvb3RCYWNrZ3JvdW5kTGF5ZXJDaGFuZ2VkKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGluZUJyZWFrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpbmVCcmVhazo6
ZGVsZXRlSW5saW5lQm94V3JhcHBlcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck5hbWVk
Rmxvd0ZyYWdtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck5hbWVkRmxvd0ZyYWdt
ZW50OjphdHRhY2hSZWdpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpyZXNldEZsb3dUaHJlYWRTdGF0ZU9u
UmVtb3ZhbCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OndpbGxCZURlc3Ryb3ll
ZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmRlc3Ryb3lBbmRDbGVhbnVwQW5v
bnltb3VzV3JhcHBlcnMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6cmVuZGVyVHJlZUJlaW5nRGVzdHJveWVkKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6ZG9jdW1lbnRCZWluZ0Rlc3Ryb3llZCk6
IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclF1b3RlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclF1b3RlOjpkZXRhY2hRdW90ZSk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclJlZ2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZWdpb246OmF0dGFj
aFJlZ2lvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclJlcGxhY2VkOjp3aWxsQmVEZXN0cm95ZWQpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJSdWJ5UnVuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJ1
YnlSdW46OnJlbW92ZUNoaWxkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGUuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlOjpzZXROZWVkc1NlY3Rpb25SZWNhbGMpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRleHQ6OnJlbW92ZUFuZERlc3Ryb3lUZXh0Qm94ZXMpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJWaWRlby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWRlbzo6dXBkYXRl
UGxheWVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlOjptYXJrRm9yTGF5b3V0QW5kUGFy
ZW50UmVzb3VyY2VJbnZhbGlkYXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVy
U1ZHUmVzb3VyY2VDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVz
b3VyY2VDb250YWluZXI6Om1hcmtDbGllbnRGb3JJbnZhbGlkYXRpb24pOgorICAgICAgICAqIHJl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJT
VkdUZXh0OjpzdWJ0cmVlQ2hpbGRXYXNBZGRlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJT
VkdUZXh0OjpzdWJ0cmVlQ2hpbGRXaWxsQmVSZW1vdmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclNWR1RleHQ6OnN1YnRyZWVDaGlsZFdhc1JlbW92ZWQpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU1ZHVGV4dDo6c3VidHJlZVN0eWxlRGlkQ2hhbmdlKToKKworMjAxNy0wMy0xNiAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKwogICAgICAgICBJbXByb3ZlIHRo
ZSBzeXN0ZW0gdHJhY2luZyBwb2ludHMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE2OTc5MAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXgg
YTEwNzZlOWFlYWM4ODJlZTdmNjI2MDE0MDMwZWY0MzRmYTUyOTlhMC4uYWEwYjM0N2JlMmFkN2Uy
MmE4M2UxNjg4OTIwMGRkMjIxN2U3MjEyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApA
QCAtMzAyNCw3ICszMDI0LDcgQEAgdm9pZCBGcmFtZVZpZXc6OnNjaGVkdWxlUmVsYXlvdXRPZlN1
YnRyZWUoUmVuZGVyRWxlbWVudCYgbmV3UmVsYXlvdXRSb290KQogICAgIGNvbnN0IFJlbmRlclZp
ZXcmIHJlbmRlclZpZXcgPSAqdGhpcy0+cmVuZGVyVmlldygpOwogCiAgICAgLy8gVHJ5IHRvIGNh
dGNoIHVubmVjZXNzYXJ5IHdvcmsgZHVyaW5nIHJlbmRlciB0cmVlIHRlYXJkb3duLgotICAgIEFT
U0VSVCghcmVuZGVyVmlldy5kb2N1bWVudEJlaW5nRGVzdHJveWVkKCkpOworICAgIEFTU0VSVCgh
cmVuZGVyVmlldy5yZW5kZXJUcmVlQmVpbmdEZXN0cm95ZWQoKSk7CiAgICAgQVNTRVJUKGZyYW1l
KCkudmlldygpID09IHRoaXMpOwogCiAgICAgLy8gV2hlbiBtX2xheW91dFJvb3QgaXMgYWxyZWFk
eSBzZXQsIGlnbm9yZSB0aGUgcmVuZGVyVmlldydzIG5lZWRzTGF5b3V0IGJpdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3Bw
CmluZGV4IDIyYmRlNDY4YTA2YWI0NmMwYmEwZTg4OGI5YjczNWQxNDUxMmMwZWEuLmZmMzQyNjZh
N2MyMThkMGU0NTU1NWQwMjNiY2ZmZDFlMTBmODU5MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAKQEAgLTEwMCw3
ICsxMDAsNyBAQCBib29sIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjb29yZGluYXRlc1Njcm9sbGlu
Z0ZvckZyYW1lVmlldyhjb25zdCBGcmFtZVZpZXcmIGZyYQogRXZlbnRUcmFja2luZ1JlZ2lvbnMg
U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmFic29sdXRlRXZlbnRUcmFja2luZ1JlZ2lvbnNGb3JGcmFt
ZShjb25zdCBGcmFtZSYgZnJhbWUpIGNvbnN0CiB7CiAgICAgYXV0byogcmVuZGVyVmlldyA9IGZy
YW1lLmNvbnRlbnRSZW5kZXJlcigpOwotICAgIGlmICghcmVuZGVyVmlldyB8fCByZW5kZXJWaWV3
LT5kb2N1bWVudEJlaW5nRGVzdHJveWVkKCkpCisgICAgaWYgKCFyZW5kZXJWaWV3IHx8IHJlbmRl
clZpZXctPnJlbmRlclRyZWVCZWluZ0Rlc3Ryb3llZCgpKQogICAgICAgICByZXR1cm4gRXZlbnRU
cmFja2luZ1JlZ2lvbnMoKTsKIAogI2lmIEVOQUJMRShJT1NfVE9VQ0hfRVZFTlRTKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9Db3VudGVyTm9kZS5jcHAKaW5kZXggOGFhNDhiZDY5ZDg3ZDVkN2Yx
OWUwZTE0YmY1ZDdiNzFlOTlkZWU0Yi4uZGMwNzI2YTA3NjhiYTkyZjU5MWRhNWFkZWEyMWFkYWQz
M2ZmZjRmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvdW50ZXJOb2Rl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ291bnRlck5vZGUuY3BwCkBAIC0x
NzcsNyArMTc3LDcgQEAgdm9pZCBDb3VudGVyTm9kZTo6cmVzZXRSZW5kZXJlcnMoKQogewogICAg
IGlmICghbV9yb290UmVuZGVyZXIpCiAgICAgICAgIHJldHVybjsKLSAgICBib29sIHNraXBMYXlv
dXRBbmRQZXJmV2lkdGhzUmVjYWxjID0gbV9yb290UmVuZGVyZXItPmRvY3VtZW50QmVpbmdEZXN0
cm95ZWQoKTsKKyAgICBib29sIHNraXBMYXlvdXRBbmRQZXJmV2lkdGhzUmVjYWxjID0gbV9yb290
UmVuZGVyZXItPnJlbmRlclRyZWVCZWluZ0Rlc3Ryb3llZCgpOwogICAgIGF1dG8qIGN1cnJlbnQg
PSBtX3Jvb3RSZW5kZXJlcjsKICAgICB3aGlsZSAoY3VycmVudCkgewogICAgICAgICBpZiAoIXNr
aXBMYXlvdXRBbmRQZXJmV2lkdGhzUmVjYWxjKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwCmluZGV4IGMyYjIyMTZhNmE5OGY3NTY0
YWU4OTk4ZTAyMjhkN2Y2MDNjNThiZjMuLjFiYzgyZTk3Zjg3OTBlYzBkN2ExOWUwNDRmZWRmYzc5
OWM1ZTJiYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxp
dHlDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFs
aXR5Q29udHJvbGxlci5jcHAKQEAgLTc0LDcgKzc0LDcgQEAgdm9pZCBJbWFnZVF1YWxpdHlDb250
cm9sbGVyOjpyZW1vdmVPYmplY3QoUmVuZGVyQm94TW9kZWxPYmplY3QqIG9iamVjdCkKIAogdm9p
ZCBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpoaWdoUXVhbGl0eVJlcGFpbnRUaW1lckZpcmVkKCkK
IHsKLSAgICBpZiAobV9yZW5kZXJWaWV3LmRvY3VtZW50QmVpbmdEZXN0cm95ZWQoKSkKKyAgICBp
ZiAobV9yZW5kZXJWaWV3LnJlbmRlclRyZWVCZWluZ0Rlc3Ryb3llZCgpKQogICAgICAgICByZXR1
cm47CiAgICAgaWYgKCFtX2FuaW1hdGVkUmVzaXplSXNBY3RpdmUgJiYgIW1fbGl2ZVJlc2l6ZU9w
dGltaXphdGlvbklzQWN0aXZlKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrLmNwcAppbmRleCBmNzgxYzM4MGMxNDVlMGNmNDNlN2RlZDI2NGZhZmJl
YzAxYmQ1NjliLi5iZTgyNWVjNGYzYzAyMzVlZTUyNGIxOTM3MjE3N2JjN2M1NTg0NmQ1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTM0Myw3ICszNDMsNyBA
QCBSZW5kZXJCbG9jazo6flJlbmRlckJsb2NrKCkKIAogdm9pZCBSZW5kZXJCbG9jazo6d2lsbEJl
RGVzdHJveWVkKCkKIHsKLSAgICBpZiAoIWRvY3VtZW50QmVpbmdEZXN0cm95ZWQoKSkgeworICAg
IGlmICghcmVuZGVyVHJlZUJlaW5nRGVzdHJveWVkKCkpIHsKICAgICAgICAgaWYgKHBhcmVudCgp
KQogICAgICAgICAgICAgcGFyZW50KCktPmRpcnR5TGluZXNGcm9tQ2hhbmdlZENoaWxkKCp0aGlz
KTsKICAgICB9CkBAIC03NzgsNyArNzc4LDcgQEAgc3RhdGljIGJvb2wgY2FuRHJvcEFub255bW91
c0Jsb2NrKGNvbnN0IFJlbmRlckJsb2NrJiBhbm9ueW1vdXNCbG9jaykKIAogc3RhdGljIGJvb2wg
Y2FuTWVyZ2VDb250aWd1b3VzQW5vbnltb3VzQmxvY2tzKFJlbmRlck9iamVjdCYgb2xkQ2hpbGQs
IFJlbmRlck9iamVjdCogcHJldmlvdXMsIFJlbmRlck9iamVjdCogbmV4dCkKIHsKLSAgICBpZiAo
b2xkQ2hpbGQuZG9jdW1lbnRCZWluZ0Rlc3Ryb3llZCgpIHx8IG9sZENoaWxkLmlzSW5saW5lKCkg
fHwgb2xkQ2hpbGQudmlydHVhbENvbnRpbnVhdGlvbigpKQorICAgIGlmIChvbGRDaGlsZC5yZW5k
ZXJUcmVlQmVpbmdEZXN0cm95ZWQoKSB8fCBvbGRDaGlsZC5pc0lubGluZSgpIHx8IG9sZENoaWxk
LnZpcnR1YWxDb250aW51YXRpb24oKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgaWYg
KHByZXZpb3VzKSB7CkBAIC04MTQsNyArODE0LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6cmVtb3Zl
Q2hpbGQoUmVuZGVyT2JqZWN0JiBvbGRDaGlsZCkKIHsKICAgICAvLyBObyBuZWVkIHRvIHdhc3Rl
IHRpbWUgaW4gbWVyZ2luZyBvciByZW1vdmluZyBlbXB0eSBhbm9ueW1vdXMgYmxvY2tzLgogICAg
IC8vIFdlIGNhbiBqdXN0IGJhaWwgb3V0IGlmIG91ciBkb2N1bWVudCBpcyBnZXR0aW5nIGRlc3Ry
b3llZC4KLSAgICBpZiAoZG9jdW1lbnRCZWluZ0Rlc3Ryb3llZCgpKSB7CisgICAgaWYgKHJlbmRl
clRyZWVCZWluZ0Rlc3Ryb3llZCgpKSB7CiAgICAgICAgIFJlbmRlckJveDo6cmVtb3ZlQ2hpbGQo
b2xkQ2hpbGQpOwogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAppbmRleCBmMWU5NzI0ZTQyNzRmNThkYjc2ZWZlN2M2
ZWJlMmIzNDk0OTNjNDk1Li45NWJmZDMwNzE4ODAxODE2MWY1ZDIzYWU2M2VlOTAwN2FkOWE3ZTZm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcApAQCAt
MTUzLDcgKzE1Myw3IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93Ojp3aWxsQmVEZXN0cm95ZWQoKQog
ICAgIC8vIHByb3Blcmx5IGRpcnR5IGxpbmUgYm94ZXMgdGhhdCB0aGV5IGFyZSByZW1vdmVkIGZy
b20uIEVmZmVjdHMgdGhhdCBkbyA6YmVmb3JlLzphZnRlciBvbmx5IG9uIGhvdmVyIGNvdWxkIGNy
YXNoIG90aGVyd2lzZS4KICAgICBkZXN0cm95TGVmdG92ZXJDaGlsZHJlbigpOwogCi0gICAgaWYg
KCFkb2N1bWVudEJlaW5nRGVzdHJveWVkKCkpIHsKKyAgICBpZiAoIXJlbmRlclRyZWVCZWluZ0Rl
c3Ryb3llZCgpKSB7CiAgICAgICAgIGlmIChmaXJzdFJvb3RCb3goKSkgewogICAgICAgICAgICAg
Ly8gV2UgY2FuJ3Qgd2FpdCBmb3IgUmVuZGVyQm94OjpkZXN0cm95IHRvIGNsZWFyIHRoZSBzZWxl
Y3Rpb24sCiAgICAgICAgICAgICAvLyBiZWNhdXNlIGJ5IHRoZW4gd2Ugd2lsbCBoYXZlIG51a2Vk
IHRoZSBsaW5lIGJveGVzLgpAQCAtMzkyMiw3ICszOTIyLDcgQEAgdm9pZCBSZW5kZXJCbG9ja0Zs
b3c6OmFkZENoaWxkKFJlbmRlck9iamVjdCogbmV3Q2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3Jl
Q2hpbGQKIAogdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OnJlbW92ZUNoaWxkKFJlbmRlck9iamVjdCYg
b2xkQ2hpbGQpCiB7Ci0gICAgaWYgKCFkb2N1bWVudEJlaW5nRGVzdHJveWVkKCkpIHsKKyAgICBp
ZiAoIXJlbmRlclRyZWVCZWluZ0Rlc3Ryb3llZCgpKSB7CiAgICAgICAgIFJlbmRlckZsb3dUaHJl
YWQqIGZsb3dUaHJlYWQgPSBtdWx0aUNvbHVtbkZsb3dUaHJlYWQoKTsKICAgICAgICAgaWYgKGZs
b3dUaHJlYWQgJiYgZmxvd1RocmVhZCAhPSAmb2xkQ2hpbGQpCiAgICAgICAgICAgICBmbG93VGhy
ZWFkLT5mbG93VGhyZWFkUmVsYXRpdmVXaWxsQmVSZW1vdmVkKG9sZENoaWxkKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggYTNjMTVlNjAxZDhmNDk5YzAxNWQzMDc5
NGRmNzMxYjEyNTAxMTkwYS4uOWEyNjdmMjQxOTQzYzRkNTU4MTI2N2Q3OThkYzg0MTg2NDgwNTkw
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTI3OSw3ICsyNzks
NyBAQCB2b2lkIFJlbmRlckJveDo6cmVtb3ZlRmxvYXRpbmdPclBvc2l0aW9uZWRDaGlsZEZyb21C
bG9ja0xpc3RzKCkKIHsKICAgICBBU1NFUlQoaXNGbG9hdGluZ09yT3V0T2ZGbG93UG9zaXRpb25l
ZCgpKTsKIAotICAgIGlmIChkb2N1bWVudEJlaW5nRGVzdHJveWVkKCkpCisgICAgaWYgKHJlbmRl
clRyZWVCZWluZ0Rlc3Ryb3llZCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoaXNGbG9h
dGluZygpKSB7CkBAIC0yMTk0LDcgKzIxOTQsNyBAQCB2b2lkIFJlbmRlckJveDo6ZGVsZXRlTGlu
ZUJveFdyYXBwZXIoKQogICAgIGlmICghbV9pbmxpbmVCb3hXcmFwcGVyKQogICAgICAgICByZXR1
cm47CiAgICAgCi0gICAgaWYgKCFkb2N1bWVudEJlaW5nRGVzdHJveWVkKCkpCisgICAgaWYgKCFy
ZW5kZXJUcmVlQmVpbmdEZXN0cm95ZWQoKSkKICAgICAgICAgbV9pbmxpbmVCb3hXcmFwcGVyLT5y
ZW1vdmVGcm9tUGFyZW50KCk7CiAgICAgZGVsZXRlIG1faW5saW5lQm94V3JhcHBlcjsKICAgICBt
X2lubGluZUJveFdyYXBwZXIgPSBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKaW5kZXggYTRlMGVlOWZjMzkzM2QxMWMyMjgz
ZDZmMmNjZjFiYzdhN2FhNzNjMi4uY2Q5ODZkOTg2ODJlNDFkZjdiZWZlNmU1MDdmNjZmMDkwMDIx
ZjA5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVs
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxP
YmplY3QuY3BwCkBAIC0xOTEsNyArMTkxLDcgQEAgdm9pZCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6
d2lsbEJlRGVzdHJveWVkKCkKICAgICBpZiAoZmlyc3RMZXR0ZXJSZW1haW5pbmdUZXh0KCkpCiAg
ICAgICAgIHNldEZpcnN0TGV0dGVyUmVtYWluaW5nVGV4dChudWxscHRyKTsKIAotICAgIGlmICgh
ZG9jdW1lbnRCZWluZ0Rlc3Ryb3llZCgpKQorICAgIGlmICghcmVuZGVyVHJlZUJlaW5nRGVzdHJv
eWVkKCkpCiAgICAgICAgIHZpZXcoKS5pbWFnZVF1YWxpdHlDb250cm9sbGVyKCkucmVuZGVyZXJX
aWxsQmVEZXN0cm95ZWQoKnRoaXMpOwogCiAgICAgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6d2ls
bEJlRGVzdHJveWVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5j
cHAKaW5kZXggMThkNjNjZDBmMDFmZGU4ODMxNjQ4MjQ1YzIzYjBiZDQ2ZDM2NjIxZC4uZjlkOWU2
YjdjNTgwOTM3YWU1MWUxNGNhNDEzZWRhZWM1MjcwMjEwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcApAQCAtNTY1LDcgKzU2NSw3IEBAIHZvaWQgUmVuZGVy
RWxlbWVudDo6aW5zZXJ0Q2hpbGRJbnRlcm5hbChSZW5kZXJPYmplY3QqIG5ld0NoaWxkLCBSZW5k
ZXJPYmplY3QqIGJlCiAgICAgfQogCiAgICAgbmV3Q2hpbGQtPmluaXRpYWxpemVGbG93VGhyZWFk
U3RhdGVPbkluc2VydGlvbigpOwotICAgIGlmICghZG9jdW1lbnRCZWluZ0Rlc3Ryb3llZCgpKSB7
CisgICAgaWYgKCFyZW5kZXJUcmVlQmVpbmdEZXN0cm95ZWQoKSkgewogICAgICAgICBpZiAobm90
aWZ5Q2hpbGRyZW4gPT0gTm90aWZ5Q2hpbGRyZW4pCiAgICAgICAgICAgICBuZXdDaGlsZC0+aW5z
ZXJ0ZWRJbnRvVHJlZSgpOwogICAgICAgICBpZiAoaXM8UmVuZGVyRWxlbWVudD4oKm5ld0NoaWxk
KSkKQEAgLTU5Niw3ICs1OTYsNyBAQCB2b2lkIFJlbmRlckVsZW1lbnQ6OnJlbW92ZUNoaWxkSW50
ZXJuYWwoUmVuZGVyT2JqZWN0JiBvbGRDaGlsZCwgTm90aWZ5Q2hpbGRyZW5UeQogICAgIC8vIFNv
IHRoYXQgd2UnbGwgZ2V0IHRoZSBhcHByb3ByaWF0ZSBkaXJ0eSBiaXQgc2V0IChlaXRoZXIgdGhh
dCBhIG5vcm1hbCBmbG93IGNoaWxkIGdvdCB5YW5rZWQgb3IKICAgICAvLyB0aGF0IGEgcG9zaXRp
b25lZCBjaGlsZCBnb3QgeWFua2VkKS4gV2UgYWxzbyByZXBhaW50LCBzbyB0aGF0IHRoZSBhcmVh
IGV4cG9zZWQgd2hlbiB0aGUgY2hpbGQKICAgICAvLyBkaXNhcHBlYXJzIGdldHMgcmVwYWludGVk
IHByb3Blcmx5LgotICAgIGlmICghZG9jdW1lbnRCZWluZ0Rlc3Ryb3llZCgpICYmIG5vdGlmeUNo
aWxkcmVuID09IE5vdGlmeUNoaWxkcmVuICYmIG9sZENoaWxkLmV2ZXJIYWRMYXlvdXQoKSkgewor
ICAgIGlmICghcmVuZGVyVHJlZUJlaW5nRGVzdHJveWVkKCkgJiYgbm90aWZ5Q2hpbGRyZW4gPT0g
Tm90aWZ5Q2hpbGRyZW4gJiYgb2xkQ2hpbGQuZXZlckhhZExheW91dCgpKSB7CiAgICAgICAgIG9s
ZENoaWxkLnNldE5lZWRzTGF5b3V0QW5kUHJlZldpZHRoc1JlY2FsYygpOwogICAgICAgICAvLyBX
ZSBvbmx5IHJlcGFpbnQgfG9sZENoaWxkfCBpZiB3ZSBoYXZlIGEgUmVuZGVyTGF5ZXIgYXMgaXRz
IHZpc3VhbCBvdmVyZmxvdyBtYXkgbm90IGJlIHRyYWNrZWQgYnkgaXRzIHBhcmVudC4KICAgICAg
ICAgaWYgKG9sZENoaWxkLmlzQm9keSgpKQpAQCAtNjExLDE1ICs2MTEsMTUgQEAgdm9pZCBSZW5k
ZXJFbGVtZW50OjpyZW1vdmVDaGlsZEludGVybmFsKFJlbmRlck9iamVjdCYgb2xkQ2hpbGQsIE5v
dGlmeUNoaWxkcmVuVHkKICAgICBlbHNlIGlmIChpczxSZW5kZXJMaW5lQnJlYWs+KG9sZENoaWxk
KSkKICAgICAgICAgZG93bmNhc3Q8UmVuZGVyTGluZUJyZWFrPihvbGRDaGlsZCkuZGVsZXRlSW5s
aW5lQm94V3JhcHBlcigpOwogICAgIAotICAgIGlmICghZG9jdW1lbnRCZWluZ0Rlc3Ryb3llZCgp
ICYmIGlzPFJlbmRlckZsZXhpYmxlQm94Pih0aGlzKSAmJiAhb2xkQ2hpbGQuaXNGbG9hdGluZ09y
T3V0T2ZGbG93UG9zaXRpb25lZCgpICYmIG9sZENoaWxkLmlzQm94KCkpCisgICAgaWYgKCFyZW5k
ZXJUcmVlQmVpbmdEZXN0cm95ZWQoKSAmJiBpczxSZW5kZXJGbGV4aWJsZUJveD4odGhpcykgJiYg
IW9sZENoaWxkLmlzRmxvYXRpbmdPck91dE9mRmxvd1Bvc2l0aW9uZWQoKSAmJiBvbGRDaGlsZC5p
c0JveCgpKQogICAgICAgICBkb3duY2FzdDxSZW5kZXJGbGV4aWJsZUJveD4odGhpcyktPmNsZWFy
Q2FjaGVkQ2hpbGRJbnRyaW5zaWNDb250ZW50TG9naWNhbEhlaWdodChkb3duY2FzdDxSZW5kZXJC
b3g+KG9sZENoaWxkKSk7CiAKICAgICAvLyBJZiBvbGRDaGlsZCBpcyB0aGUgc3RhcnQgb3IgZW5k
IG9mIHRoZSBzZWxlY3Rpb24sIHRoZW4gY2xlYXIgdGhlIHNlbGVjdGlvbiB0bwogICAgIC8vIGF2
b2lkIHByb2JsZW1zIG9mIGludmFsaWQgcG9pbnRlcnMuCi0gICAgaWYgKCFkb2N1bWVudEJlaW5n
RGVzdHJveWVkKCkgJiYgb2xkQ2hpbGQuaXNTZWxlY3Rpb25Cb3JkZXIoKSkKKyAgICBpZiAoIXJl
bmRlclRyZWVCZWluZ0Rlc3Ryb3llZCgpICYmIG9sZENoaWxkLmlzU2VsZWN0aW9uQm9yZGVyKCkp
CiAgICAgICAgIGZyYW1lKCkuc2VsZWN0aW9uKCkuc2V0TmVlZHNTZWxlY3Rpb25VcGRhdGUoKTsK
IAotICAgIGlmICghZG9jdW1lbnRCZWluZ0Rlc3Ryb3llZCgpICYmIG5vdGlmeUNoaWxkcmVuID09
IE5vdGlmeUNoaWxkcmVuKQorICAgIGlmICghcmVuZGVyVHJlZUJlaW5nRGVzdHJveWVkKCkgJiYg
bm90aWZ5Q2hpbGRyZW4gPT0gTm90aWZ5Q2hpbGRyZW4pCiAgICAgICAgIG9sZENoaWxkLndpbGxC
ZVJlbW92ZWRGcm9tVHJlZSgpOwogCiAgICAgb2xkQ2hpbGQucmVzZXRGbG93VGhyZWFkU3RhdGVP
blJlbW92YWwoKTsKQEAgLTY0Niw3ICs2NDYsNyBAQCB2b2lkIFJlbmRlckVsZW1lbnQ6OnJlbW92
ZUNoaWxkSW50ZXJuYWwoUmVuZGVyT2JqZWN0JiBvbGRDaGlsZCwgTm90aWZ5Q2hpbGRyZW5UeQog
CiAgICAgLy8gcmVuZGVyZXJSZW1vdmVkRnJvbVRyZWUgd2Fsa3MgdGhlIHdob2xlIHN1YnRyZWUu
IFdlIGNhbiBpbXByb3ZlIHBlcmZvcm1hbmNlCiAgICAgLy8gYnkgc2tpcHBpbmcgdGhpcyBzdGVw
IHdoZW4gZGVzdHJveWluZyB0aGUgZW50aXJlIHRyZWUuCi0gICAgaWYgKCFkb2N1bWVudEJlaW5n
RGVzdHJveWVkKCkgJiYgaXM8UmVuZGVyRWxlbWVudD4ob2xkQ2hpbGQpKQorICAgIGlmICghcmVu
ZGVyVHJlZUJlaW5nRGVzdHJveWVkKCkgJiYgaXM8UmVuZGVyRWxlbWVudD4ob2xkQ2hpbGQpKQog
ICAgICAgICBSZW5kZXJDb3VudGVyOjpyZW5kZXJlclJlbW92ZWRGcm9tVHJlZShkb3duY2FzdDxS
ZW5kZXJFbGVtZW50PihvbGRDaGlsZCkpOwogCiAgICAgaWYgKEFYT2JqZWN0Q2FjaGUqIGNhY2hl
ID0gZG9jdW1lbnQoKS5leGlzdGluZ0FYT2JqZWN0Q2FjaGUoKSkKQEAgLTExMDcsNyArMTEwNyw3
IEBAIHZvaWQgUmVuZGVyRWxlbWVudDo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKCkKIAogaW5saW5l
IHZvaWQgUmVuZGVyRWxlbWVudDo6Y2xlYXJMYXlvdXRSb290SWZOZWVkZWQoKSBjb25zdAogewot
ICAgIGlmIChkb2N1bWVudEJlaW5nRGVzdHJveWVkKCkpCisgICAgaWYgKHJlbmRlclRyZWVCZWlu
Z0Rlc3Ryb3llZCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAodmlldygpLmZyYW1lVmll
dygpLmxheW91dFJvb3QoKSAhPSB0aGlzKQpAQCAtMTEzOCw3ICsxMTM4LDcgQEAgdm9pZCBSZW5k
ZXJFbGVtZW50Ojp3aWxsQmVEZXN0cm95ZWQoKQogICAgIFJlbmRlck9iamVjdDo6d2lsbEJlRGVz
dHJveWVkKCk7CiAKICNpZiAhQVNTRVJUX0RJU0FCTEVECi0gICAgaWYgKCFkb2N1bWVudEJlaW5n
RGVzdHJveWVkKCkgJiYgdmlldygpLmhhc1JlbmRlck5hbWVkRmxvd1RocmVhZHMoKSkgeworICAg
IGlmICghcmVuZGVyVHJlZUJlaW5nRGVzdHJveWVkKCkgJiYgdmlldygpLmhhc1JlbmRlck5hbWVk
Rmxvd1RocmVhZHMoKSkgewogICAgICAgICAvLyBBZnRlciByZW1vdmUsIHRoZSBvYmplY3QgYW5k
IHRoZSBhc3NvY2lhdGVkIGluZm9ybWF0aW9uIHNob3VsZCBub3QgYmUgaW4gYW55IGZsb3cgdGhy
ZWFkLgogICAgICAgICBmb3IgKGF1dG8mIGZsb3dUaHJlYWQgOiAqdmlldygpLmZsb3dUaHJlYWRD
b250cm9sbGVyKCkucmVuZGVyTmFtZWRGbG93VGhyZWFkTGlzdCgpKSB7CiAgICAgICAgICAgICBB
U1NFUlQoIWZsb3dUaHJlYWQtPmhhc0NoaWxkSW5mbyh0aGlzKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckltYWdlLmNwcAppbmRleCA5NzhiMTVlYWVlNDk3ZWIwOTA1ZWY1N2VjN2Ni
MDQxNmI0NGUyYTg1Li4xMmE1NDU4YTFlNmI4ZTUxZDQ1YTUxYzZmMzk0ZDA4NzNiYzdjMWVmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKQEAgLTIzMCw3ICsyMzAs
NyBAQCB2b2lkIFJlbmRlckltYWdlOjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlm
ZiwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eQogCiB2b2lkIFJlbmRlckltYWdlOjppbWFnZUNo
YW5nZWQoV3JhcHBlZEltYWdlUHRyIG5ld0ltYWdlLCBjb25zdCBJbnRSZWN0KiByZWN0KQogewot
ICAgIGlmIChkb2N1bWVudEJlaW5nRGVzdHJveWVkKCkpCisgICAgaWYgKHJlbmRlclRyZWVCZWlu
Z0Rlc3Ryb3llZCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoaGFzVmlzaWJsZUJveERl
Y29yYXRpb25zKCkgfHwgaGFzTWFzaygpIHx8IGhhc1NoYXBlT3V0c2lkZSgpKQpAQCAtMzM3LDcg
KzMzNyw3IEBAIHZvaWQgUmVuZGVySW1hZ2U6OnJlcGFpbnRPck1hcmtGb3JMYXlvdXQoSW1hZ2VT
aXplQ2hhbmdlVHlwZSBpbWFnZVNpemVDaGFuZ2UsIGNvCiAKIHZvaWQgUmVuZGVySW1hZ2U6Om5v
dGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlJiBuZXdJbWFnZSkKIHsKLSAgICBpZiAoZG9jdW1l
bnRCZWluZ0Rlc3Ryb3llZCgpKQorICAgIGlmIChyZW5kZXJUcmVlQmVpbmdEZXN0cm95ZWQoKSkK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgaW52YWxpZGF0ZUJhY2tncm91bmRPYnNjdXJhdGlvblN0
YXR1cygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGlu
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAppbmRleCBi
ZWI3ZDliNTk5MWFhMzhlYWMwN2VjY2MyNzBjODhjZGQ2NDlmYzE5Li45N2FjMzliY2E1ZTM4ZGM2
YjQ2YjUwNjhjODE3MGYzNmZhZDdlYWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVySW5saW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVySW5saW5lLmNwcApAQCAtODQsNyArODQsNyBAQCB2b2lkIFJlbmRlcklubGluZTo6d2lsbEJl
RGVzdHJveWVkKCkKICAgICAvLyBwcm9wZXJseSBkaXJ0eSBsaW5lIGJveGVzIHRoYXQgdGhleSBh
cmUgcmVtb3ZlZCBmcm9tLiAgRWZmZWN0cyB0aGF0IGRvIDpiZWZvcmUvOmFmdGVyIG9ubHkgb24g
aG92ZXIgY291bGQgY3Jhc2ggb3RoZXJ3aXNlLgogICAgIGRlc3Ryb3lMZWZ0b3ZlckNoaWxkcmVu
KCk7CiAgICAgCi0gICAgaWYgKCFkb2N1bWVudEJlaW5nRGVzdHJveWVkKCkpIHsKKyAgICBpZiAo
IXJlbmRlclRyZWVCZWluZ0Rlc3Ryb3llZCgpKSB7CiAgICAgICAgIGlmIChmaXJzdExpbmVCb3go
KSkgewogICAgICAgICAgICAgLy8gV2UgY2FuJ3Qgd2FpdCBmb3IgUmVuZGVyQm94TW9kZWxPYmpl
Y3Q6OmRlc3Ryb3kgdG8gY2xlYXIgdGhlIHNlbGVjdGlvbiwKICAgICAgICAgICAgIC8vIGJlY2F1
c2UgYnkgdGhlbiB3ZSB3aWxsIGhhdmUgbnVrZWQgdGhlIGxpbmUgYm94ZXMuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCBlMWExZDhlMjc2ZjkyMTBmZDBiMzIz
MWNjM2M5YTk0ZjRkMWZiMDY1Li5iNzMyOTVmNThmZjc5YjQyMjkyNThiY2Y3MmVhMDg2YjZiMDFj
MWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTE5MDQs
NyArMTkwNCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmFkZENoaWxkKFJlbmRlckxheWVyKiBjaGls
ZCwgUmVuZGVyTGF5ZXIqIGJlZm9yZUNoaWxkKQogCiBSZW5kZXJMYXllciogUmVuZGVyTGF5ZXI6
OnJlbW92ZUNoaWxkKFJlbmRlckxheWVyKiBvbGRDaGlsZCkKIHsKLSAgICBpZiAoIXJlbmRlcmVy
KCkuZG9jdW1lbnRCZWluZ0Rlc3Ryb3llZCgpKQorICAgIGlmICghcmVuZGVyZXIoKS5yZW5kZXJU
cmVlQmVpbmdEZXN0cm95ZWQoKSkKICAgICAgICAgY29tcG9zaXRvcigpLmxheWVyV2lsbEJlUmVt
b3ZlZCgqdGhpcywgKm9sZENoaWxkKTsKIAogICAgIC8vIHJlbW92ZSB0aGUgY2hpbGQKQEAgLTYx
MzEsNyArNjEzMSw3IEBAIFJlbmRlckxheWVyQmFja2luZyogUmVuZGVyTGF5ZXI6OmVuc3VyZUJh
Y2tpbmcoKQogCiB2b2lkIFJlbmRlckxheWVyOjpjbGVhckJhY2tpbmcoYm9vbCBsYXllckJlaW5n
RGVzdHJveWVkKQogewotICAgIGlmIChtX2JhY2tpbmcgJiYgIXJlbmRlcmVyKCkuZG9jdW1lbnRC
ZWluZ0Rlc3Ryb3llZCgpKQorICAgIGlmIChtX2JhY2tpbmcgJiYgIXJlbmRlcmVyKCkucmVuZGVy
VHJlZUJlaW5nRGVzdHJveWVkKCkpCiAgICAgICAgIGNvbXBvc2l0b3IoKS5sYXllckJlY2FtZU5v
bkNvbXBvc2l0ZWQoKnRoaXMpOwogICAgIG1fYmFja2luZyA9IG51bGxwdHI7CiAKQEAgLTYyNzIs
MTIgKzYyNzIsMTIgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2V0UGFyZW50KFJlbmRlckxheWVyKiBw
YXJlbnQpCiAgICAgaWYgKHBhcmVudCA9PSBtX3BhcmVudCkKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgaWYgKG1fcGFyZW50ICYmICFyZW5kZXJlcigpLmRvY3VtZW50QmVpbmdEZXN0cm95ZWQoKSkK
KyAgICBpZiAobV9wYXJlbnQgJiYgIXJlbmRlcmVyKCkucmVuZGVyVHJlZUJlaW5nRGVzdHJveWVk
KCkpCiAgICAgICAgIGNvbXBvc2l0b3IoKS5sYXllcldpbGxCZVJlbW92ZWQoKm1fcGFyZW50LCAq
dGhpcyk7CiAgICAgCiAgICAgbV9wYXJlbnQgPSBwYXJlbnQ7CiAKLSAgICBpZiAobV9wYXJlbnQg
JiYgIXJlbmRlcmVyKCkuZG9jdW1lbnRCZWluZ0Rlc3Ryb3llZCgpKQorICAgIGlmIChtX3BhcmVu
dCAmJiAhcmVuZGVyZXIoKS5yZW5kZXJUcmVlQmVpbmdEZXN0cm95ZWQoKSkKICAgICAgICAgY29t
cG9zaXRvcigpLmxheWVyV2FzQWRkZWQoKm1fcGFyZW50LCAqdGhpcyk7CiB9CiAKQEAgLTYyOTIs
NyArNjI5Miw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmRpcnR5Wk9yZGVyTGlzdHMoKQogICAgICAg
ICBtX25lZ1pPcmRlckxpc3QtPmNsZWFyKCk7CiAgICAgbV96T3JkZXJMaXN0c0RpcnR5ID0gdHJ1
ZTsKIAotICAgIGlmICghcmVuZGVyZXIoKS5kb2N1bWVudEJlaW5nRGVzdHJveWVkKCkpIHsKKyAg
ICBpZiAoIXJlbmRlcmVyKCkucmVuZGVyVHJlZUJlaW5nRGVzdHJveWVkKCkpIHsKICAgICAgICAg
aWYgKGlzRmxvd1RocmVhZENvbGxlY3RpbmdHcmFwaGljc0xheWVyc1VuZGVyUmVnaW9ucygpKQog
ICAgICAgICAgICAgZG93bmNhc3Q8UmVuZGVyRmxvd1RocmVhZD4ocmVuZGVyZXIoKSkuc2V0TmVl
ZHNMYXllclRvUmVnaW9uTWFwcGluZ3NVcGRhdGUoKTsKICAgICAgICAgY29tcG9zaXRvcigpLnNl
dENvbXBvc2l0aW5nTGF5ZXJzTmVlZFJlYnVpbGQoKTsKQEAgLTYzMTYsNyArNjMxNiw3IEBAIHZv
aWQgUmVuZGVyTGF5ZXI6OmRpcnR5Tm9ybWFsRmxvd0xpc3QoKQogICAgICAgICBtX25vcm1hbEZs
b3dMaXN0LT5jbGVhcigpOwogICAgIG1fbm9ybWFsRmxvd0xpc3REaXJ0eSA9IHRydWU7CiAKLSAg
ICBpZiAoIXJlbmRlcmVyKCkuZG9jdW1lbnRCZWluZ0Rlc3Ryb3llZCgpKSB7CisgICAgaWYgKCFy
ZW5kZXJlcigpLnJlbmRlclRyZWVCZWluZ0Rlc3Ryb3llZCgpKSB7CiAgICAgICAgIGlmIChpc0Zs
b3dUaHJlYWRDb2xsZWN0aW5nR3JhcGhpY3NMYXllcnNVbmRlclJlZ2lvbnMoKSkKICAgICAgICAg
ICAgIGRvd25jYXN0PFJlbmRlckZsb3dUaHJlYWQ+KHJlbmRlcmVyKCkpLnNldE5lZWRzTGF5ZXJU
b1JlZ2lvbk1hcHBpbmdzVXBkYXRlKCk7CiAgICAgICAgIGNvbXBvc2l0b3IoKS5zZXRDb21wb3Np
dGluZ0xheWVyc05lZWRSZWJ1aWxkKCk7CkBAIC02Nzk3LDcgKzY3OTcsNyBAQCB2b2lkIFJlbmRl
ckxheWVyOjp1cGRhdGVPdXRPZkZsb3dQb3NpdGlvbmVkKGNvbnN0IFJlbmRlclN0eWxlKiBvbGRT
dHlsZSkKICAgICBib29sIHdhc091dE9mRmxvd1Bvc2l0aW9uZWQgPSBvbGRTdHlsZSAmJiAob2xk
U3R5bGUtPnBvc2l0aW9uKCkgPT0gQWJzb2x1dGVQb3NpdGlvbiB8fCBvbGRTdHlsZS0+cG9zaXRp
b24oKSA9PSBGaXhlZFBvc2l0aW9uKTsKICAgICBpZiAocGFyZW50KCkgJiYgKHJlbmRlcmVyKCku
aXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkgIT0gd2FzT3V0T2ZGbG93UG9zaXRpb25lZCkpIHsKICAg
ICAgICAgcGFyZW50KCktPmRpcnR5QW5jZXN0b3JDaGFpbkhhc091dE9mRmxvd1Bvc2l0aW9uZWRE
ZXNjZW5kYW50U3RhdHVzKCk7Ci0gICAgICAgIGlmICghcmVuZGVyZXIoKS5kb2N1bWVudEJlaW5n
RGVzdHJveWVkKCkgJiYgYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0Zvck92ZXJmbG93U2Nyb2xsRW5h
YmxlZCgpKQorICAgICAgICBpZiAoIXJlbmRlcmVyKCkucmVuZGVyVHJlZUJlaW5nRGVzdHJveWVk
KCkgJiYgYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0Zvck92ZXJmbG93U2Nyb2xsRW5hYmxlZCgpKQog
ICAgICAgICAgICAgY29tcG9zaXRvcigpLnNldFNob3VsZFJlZXZhbHVhdGVDb21wb3NpdGluZ0Fm
dGVyTGF5b3V0KCk7CiAgICAgfQogfQpAQCAtNjk1OCw3ICs2OTU4LDcgQEAgdm9pZCBSZW5kZXJM
YXllcjo6Y3JlYXRlUmVmbGVjdGlvbigpCiAKIHZvaWQgUmVuZGVyTGF5ZXI6OnJlbW92ZVJlZmxl
Y3Rpb24oKQogewotICAgIGlmICghbV9yZWZsZWN0aW9uLT5kb2N1bWVudEJlaW5nRGVzdHJveWVk
KCkpCisgICAgaWYgKCFtX3JlZmxlY3Rpb24tPnJlbmRlclRyZWVCZWluZ0Rlc3Ryb3llZCgpKQog
ICAgICAgICBtX3JlZmxlY3Rpb24tPnJlbW92ZUxheWVycyh0aGlzKTsKIAogICAgIG1fcmVmbGVj
dGlvbi0+c2V0UGFyZW50KG51bGxwdHIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCA0NmM5ZWNkZmZkY2ZkYTdiZGE2NjQxMzAxNDZj
MWUwMTQ5ZjM3MjY1Li4xMzI0OTNmZGY0YThmNTE5ZDBhMjllNjYxMWQ5NjY1MDA3MWVlOGMxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcApA
QCAtMjg3Myw3ICsyODczLDcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6Om5vdGlmeUFuaW1h
dGlvblN0YXJ0ZWQoY29uc3QgR3JhcGhpY3NMYXllciosIGNvbnN0IFN0cmkKIAogdm9pZCBSZW5k
ZXJMYXllckJhY2tpbmc6Om5vdGlmeUZsdXNoUmVxdWlyZWQoY29uc3QgR3JhcGhpY3NMYXllciog
bGF5ZXIpCiB7Ci0gICAgaWYgKHJlbmRlcmVyKCkuZG9jdW1lbnRCZWluZ0Rlc3Ryb3llZCgpKQor
ICAgIGlmIChyZW5kZXJlcigpLnJlbmRlclRyZWVCZWluZ0Rlc3Ryb3llZCgpKQogICAgICAgICBy
ZXR1cm47CiAgICAgY29tcG9zaXRvcigpLnNjaGVkdWxlTGF5ZXJGbHVzaChsYXllci0+Y2FuVGhy
b3R0bGVMYXllckZsdXNoKCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCAxZGEzYThjODM2YzJjMTc4YWZmMmE1ZGVh
M2U5MDNiN2U3ZTM0ZDMwLi4yZDYxMTY5ZDY4OTFjZTY1MmNlOTk1NjkyYmI3MTMxMTMzZjk3YWVk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3Np
dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3Np
dG9yLmNwcApAQCAtMTEyMyw3ICsxMTIzLDcgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6
OmxheWVyV2FzQWRkZWQoUmVuZGVyTGF5ZXImLCBSZW5kZXJMYXllciYpCiAKIHZvaWQgUmVuZGVy
TGF5ZXJDb21wb3NpdG9yOjpsYXllcldpbGxCZVJlbW92ZWQoUmVuZGVyTGF5ZXImIHBhcmVudCwg
UmVuZGVyTGF5ZXImIGNoaWxkKQogewotICAgIGlmICghY2hpbGQuaXNDb21wb3NpdGVkKCkgfHwg
cGFyZW50LnJlbmRlcmVyKCkuZG9jdW1lbnRCZWluZ0Rlc3Ryb3llZCgpKQorICAgIGlmICghY2hp
bGQuaXNDb21wb3NpdGVkKCkgfHwgcGFyZW50LnJlbmRlcmVyKCkucmVuZGVyVHJlZUJlaW5nRGVz
dHJveWVkKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIHJlbW92ZUZyb21TY3JvbGxDb29yZGlu
YXRlZExheWVycyhjaGlsZCk7CkBAIC0xNzc2LDcgKzE3NzYsNyBAQCB2b2lkIFJlbmRlckxheWVy
Q29tcG9zaXRvcjo6c2Nyb2xsaW5nTGF5ZXJEaWRDaGFuZ2UoUmVuZGVyTGF5ZXImIGxheWVyKQog
CiB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Zml4ZWRSb290QmFja2dyb3VuZExheWVyQ2hh
bmdlZCgpCiB7Ci0gICAgaWYgKG1fcmVuZGVyVmlldy5kb2N1bWVudEJlaW5nRGVzdHJveWVkKCkp
CisgICAgaWYgKG1fcmVuZGVyVmlldy5yZW5kZXJUcmVlQmVpbmdEZXN0cm95ZWQoKSkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgaWYgKG1fcmVuZGVyVmlldy5sYXllcigpLT5pc0NvbXBvc2l0ZWQo
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaW5lQnJlYWsu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCcmVhay5jcHAKaW5kZXgg
OWQ3NzAzODdkNDBjMWJmN2I3ZmRkYTdmNzEwN2QxZjU4M2JlNWVhZS4uYjgxOTk4MDNjNGI1OWZm
MjM5YzIxZWNhODU4ZTM1OTE2MDc2Mzc3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxpbmVCcmVhay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxpbmVCcmVhay5jcHAKQEAgLTExMSw3ICsxMTEsNyBAQCB2b2lkIFJlbmRlckxpbmVC
cmVhazo6ZGVsZXRlSW5saW5lQm94V3JhcHBlcigpCiB7CiAgICAgaWYgKCFtX2lubGluZUJveFdy
YXBwZXIpCiAgICAgICAgIHJldHVybjsKLSAgICBpZiAoIWRvY3VtZW50QmVpbmdEZXN0cm95ZWQo
KSkKKyAgICBpZiAoIXJlbmRlclRyZWVCZWluZ0Rlc3Ryb3llZCgpKQogICAgICAgICBtX2lubGlu
ZUJveFdyYXBwZXItPnJlbW92ZUZyb21QYXJlbnQoKTsKICAgICBkZWxldGUgbV9pbmxpbmVCb3hX
cmFwcGVyOwogICAgIG1faW5saW5lQm94V3JhcHBlciA9IG51bGxwdHI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd0ZyYWdtZW50LmNwcAppbmRleCBh
Yzg0NTUxMjk3ZjgwOGNkN2Y3MTAzMjdmMmExY2VjNTI5N2IwM2EyLi5jMTkxMTUyZGQ0ZDU5MDBh
NTQ0MTU0NjBlOWI1OTkwMTkxOTE5Mzg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJOYW1lZEZsb3dGcmFnbWVudC5jcHAKQEAgLTQ5OSw3ICs0OTksNyBAQCB2
b2lkIFJlbmRlck5hbWVkRmxvd0ZyYWdtZW50OjphdHRhY2hSZWdpb24oKQogewogICAgIFJlbmRl
clJlZ2lvbjo6YXR0YWNoUmVnaW9uKCk7CiAKLSAgICBpZiAoZG9jdW1lbnRCZWluZ0Rlc3Ryb3ll
ZCgpIHx8ICFpc1ZhbGlkKCkpCisgICAgaWYgKHJlbmRlclRyZWVCZWluZ0Rlc3Ryb3llZCgpIHx8
ICFpc1ZhbGlkKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIHVwZGF0ZVJlZ2lvbkZsYWdzKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IGJhNTU0MGJk
MTYzMzJlNWQ4NmQ5YmQxMDZiNTY2OGQ4OGIyOGU5ZDcuLjViYmI2YWQ2OGM1MTc2NTRiOWI0OWU3
NDBjODM1ZTA1OTQxOTI0NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuY3BwCkBAIC0yMjYsNyArMjI2LDcgQEAgdm9pZCBSZW5kZXJPYmplY3Q6OnJlc2V0Rmxvd1Ro
cmVhZFN0YXRlT25SZW1vdmFsKCkKICAgICBpZiAoZmxvd1RocmVhZFN0YXRlKCkgPT0gTm90SW5z
aWRlRmxvd1RocmVhZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFkb2N1bWVudEJlaW5n
RGVzdHJveWVkKCkgJiYgaXM8UmVuZGVyRWxlbWVudD4oKnRoaXMpKSB7CisgICAgaWYgKCFyZW5k
ZXJUcmVlQmVpbmdEZXN0cm95ZWQoKSAmJiBpczxSZW5kZXJFbGVtZW50PigqdGhpcykpIHsKICAg
ICAgICAgZG93bmNhc3Q8UmVuZGVyRWxlbWVudD4oKnRoaXMpLnJlbW92ZUZyb21SZW5kZXJGbG93
VGhyZWFkKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0xNDczLDcgKzE0NzMsNyBAQCB2
b2lkIFJlbmRlck9iamVjdDo6d2lsbEJlRGVzdHJveWVkKCkKIAogICAgIHJlbW92ZUZyb21QYXJl
bnQoKTsKIAotICAgIEFTU0VSVChkb2N1bWVudEJlaW5nRGVzdHJveWVkKCkgfHwgIWlzPFJlbmRl
ckVsZW1lbnQ+KCp0aGlzKSB8fCAhdmlldygpLmZyYW1lVmlldygpLmhhc1Nsb3dSZXBhaW50T2Jq
ZWN0KGRvd25jYXN0PFJlbmRlckVsZW1lbnQ+KCp0aGlzKSkpOworICAgIEFTU0VSVChyZW5kZXJU
cmVlQmVpbmdEZXN0cm95ZWQoKSB8fCAhaXM8UmVuZGVyRWxlbWVudD4oKnRoaXMpIHx8ICF2aWV3
KCkuZnJhbWVWaWV3KCkuaGFzU2xvd1JlcGFpbnRPYmplY3QoZG93bmNhc3Q8UmVuZGVyRWxlbWVu
dD4oKnRoaXMpKSk7CiAKICAgICAvLyBUaGUgcmVtb3ZlKCkgY2FsbCBhYm92ZSBtYXkgaW52b2tl
IGF4T2JqZWN0Q2FjaGUoKS0+Y2hpbGRyZW5DaGFuZ2VkKCkgb24gdGhlIHBhcmVudCwgd2hpY2gg
bWF5IHJlcXVpcmUgdGhlIEFYIHJlbmRlcgogICAgIC8vIG9iamVjdCBmb3IgdGhpcyByZW5kZXJl
ci4gU28gd2UgcmVtb3ZlIHRoZSBBWCByZW5kZXIgb2JqZWN0IG5vdywgYWZ0ZXIgdGhlIHJlbmRl
cmVyIGlzIHJlbW92ZWQuCkBAIC0xNTExLDcgKzE1MTEsNyBAQCB2b2lkIFJlbmRlck9iamVjdDo6
d2lsbEJlUmVtb3ZlZEZyb21UcmVlKCkKIHZvaWQgUmVuZGVyT2JqZWN0OjpkZXN0cm95QW5kQ2xl
YW51cEFub255bW91c1dyYXBwZXJzKCkKIHsKICAgICAvLyBJZiB0aGUgdHJlZSBpcyBkZXN0cm95
ZWQsIHRoZXJlIGlzIG5vIG5lZWQgZm9yIGEgY2xlYW4tdXAgcGhhc2UuCi0gICAgaWYgKGRvY3Vt
ZW50QmVpbmdEZXN0cm95ZWQoKSkgeworICAgIGlmIChyZW5kZXJUcmVlQmVpbmdEZXN0cm95ZWQo
KSkgewogICAgICAgICBkZXN0cm95KCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKaW5kZXggMmJkY2I2OGIyNGQ5NWNmZTM2Nzhm
ZGY3M2E3OWFhOWRmYjAxZGJhNi4uZDI5NjQyNjk3MTUyNzQ2YzI2OTg3NGNmYTk4ZmI5ZjcwNWE0
M2ExNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaApAQCAtNzM5LDkg
KzczOSw4IEBAIHB1YmxpYzoKICAgICAgKi8KICAgICB2aXJ0dWFsIExheW91dFJlY3QgbG9jYWxD
YXJldFJlY3QoSW5saW5lQm94KiwgdW5zaWduZWQgY2FyZXRPZmZzZXQsIExheW91dFVuaXQqIGV4
dHJhV2lkdGhUb0VuZE9mTGluZSA9IG51bGxwdHIpOwogCi0gICAgLy8gV2hlbiBwZXJmb3JtaW5n
IGEgZ2xvYmFsIGRvY3VtZW50IHRlYXItZG93biwgdGhlIHJlbmRlcmVyIG9mIHRoZSBkb2N1bWVu
dCBpcyBjbGVhcmVkLiAgV2UgdXNlIHRoaXMKLSAgICAvLyBhcyBhIGhvb2sgdG8gZGV0ZWN0IHRo
ZSBjYXNlIG9mIGRvY3VtZW50IGRlc3RydWN0aW9uIGFuZCBkb24ndCB3YXN0ZSB0aW1lIGRvaW5n
IHVubmVjZXNzYXJ5IHdvcmsuCi0gICAgYm9vbCBkb2N1bWVudEJlaW5nRGVzdHJveWVkKCkgY29u
c3Q7CisgICAgLy8gV2hlbiBwZXJmb3JtaW5nIGEgZ2xvYmFsIGRvY3VtZW50IHRlYXItZG93biwg
b3Igd2hlbiBnb2luZyBpbnRvIHRoZSBwYWdlIGNhY2hlLCB0aGUgcmVuZGVyZXIgb2YgdGhlIGRv
Y3VtZW50IGlzIGNsZWFyZWQuCisgICAgYm9vbCByZW5kZXJUcmVlQmVpbmdEZXN0cm95ZWQoKSBj
b25zdDsKIAogICAgIHZvaWQgZGVzdHJveUFuZENsZWFudXBBbm9ueW1vdXNXcmFwcGVycygpOwog
ICAgIHZvaWQgZGVzdHJveSgpOwpAQCAtMTAyNyw3ICsxMDI2LDcgQEAgaW5saW5lIENTU0FuaW1h
dGlvbkNvbnRyb2xsZXImIFJlbmRlck9iamVjdDo6YW5pbWF0aW9uKCkgY29uc3QKICAgICByZXR1
cm4gZnJhbWUoKS5hbmltYXRpb24oKTsKIH0KIAotaW5saW5lIGJvb2wgUmVuZGVyT2JqZWN0Ojpk
b2N1bWVudEJlaW5nRGVzdHJveWVkKCkgY29uc3QKK2lubGluZSBib29sIFJlbmRlck9iamVjdDo6
cmVuZGVyVHJlZUJlaW5nRGVzdHJveWVkKCkgY29uc3QKIHsKICAgICByZXR1cm4gZG9jdW1lbnQo
KS5yZW5kZXJUcmVlQmVpbmdEZXN0cm95ZWQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJRdW90ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyUXVvdGUuY3BwCmluZGV4IDgzZDBhODRhNmY1ZGIyZGZmYzNlZWI5NjZkYTgwZWFiYzJm
NjcxZGUuLjhiNDZmODk1NzliYzJhZWZhOTIxNGI3NDdkNTBkMmY2YTdhZDZiOGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJRdW90ZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclF1b3RlLmNwcApAQCAtNDQ2LDcgKzQ0Niw3IEBAIHZv
aWQgUmVuZGVyUXVvdGU6OmRldGFjaFF1b3RlKCkKICAgICAgICAgdmlldygpLnNldFJlbmRlclF1
b3RlSGVhZChtX25leHQpOwogICAgIGlmIChtX25leHQpCiAgICAgICAgIG1fbmV4dC0+bV9wcmV2
aW91cyA9IG1fcHJldmlvdXM7Ci0gICAgaWYgKCFkb2N1bWVudEJlaW5nRGVzdHJveWVkKCkpIHsK
KyAgICBpZiAoIXJlbmRlclRyZWVCZWluZ0Rlc3Ryb3llZCgpKSB7CiAgICAgICAgIGZvciAoUmVu
ZGVyUXVvdGUqIHF1b3RlID0gbV9uZXh0OyBxdW90ZTsgcXVvdGUgPSBxdW90ZS0+bV9uZXh0KQog
ICAgICAgICAgICAgcXVvdGUtPnVwZGF0ZURlcHRoKCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmNwcAppbmRleCA1NDk5ZGY0OTRiOTM1ZGFmNzIzMTQyZDYy
NjgzYTRlNDhhODUzOTk4Li45YzQyOWU1N2FhYTc1MTNlNWZmYmI5ZTE4OTE1NDI0MTFmZWU3N2Iy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmNwcApAQCAtMjc5LDcg
KzI3OSw3IEBAIHZvaWQgUmVuZGVyUmVnaW9uOjppbnN0YWxsRmxvd1RocmVhZCgpCiAKIHZvaWQg
UmVuZGVyUmVnaW9uOjphdHRhY2hSZWdpb24oKQogewotICAgIGlmIChkb2N1bWVudEJlaW5nRGVz
dHJveWVkKCkpCisgICAgaWYgKHJlbmRlclRyZWVCZWluZ0Rlc3Ryb3llZCgpKQogICAgICAgICBy
ZXR1cm47CiAgICAgCiAgICAgLy8gQSByZWdpb24gc3RhcnRzIG9mZiBpbnZhbGlkLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKaW5kZXggZjlhMjBlOTkxNjli
ZWRiOThlZmJhOTI0MGVkNjJlZTg5Y2Y4NzVlYS4uNWQxYjUzNzA1YzAwMjNmZDhiNzM4NDNjMTYy
OWVmMmExYmFiYTkyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clJlcGxhY2VkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFj
ZWQuY3BwCkBAIC03Miw3ICs3Miw3IEBAIFJlbmRlclJlcGxhY2VkOjp+UmVuZGVyUmVwbGFjZWQo
KQogCiB2b2lkIFJlbmRlclJlcGxhY2VkOjp3aWxsQmVEZXN0cm95ZWQoKQogewotICAgIGlmICgh
ZG9jdW1lbnRCZWluZ0Rlc3Ryb3llZCgpICYmIHBhcmVudCgpKQorICAgIGlmICghcmVuZGVyVHJl
ZUJlaW5nRGVzdHJveWVkKCkgJiYgcGFyZW50KCkpCiAgICAgICAgIHBhcmVudCgpLT5kaXJ0eUxp
bmVzRnJvbUNoYW5nZWRDaGlsZCgqdGhpcyk7CiAKICAgICBSZW5kZXJCb3g6OndpbGxCZURlc3Ry
b3llZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1YnlS
dW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1YnlSdW4uY3BwCmluZGV4
IGVhMjUxY2Q2NmEwN2M3NDBmZTZlYmMyN2NjZDkzYjkzMzcyNzI5Y2EuLjA0MjhhZGExNDg0NDE1
YmJjZTdhOTBjMWY1NzQ5NjQ5MWM4NTZlNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJSdWJ5UnVuLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyUnVieVJ1bi5jcHAKQEAgLTE1OCw3ICsxNTgsNyBAQCB2b2lkIFJlbmRlclJ1YnlSdW46
OnJlbW92ZUNoaWxkKFJlbmRlck9iamVjdCYgY2hpbGQpCiB7CiAgICAgLy8gSWYgdGhlIGNoaWxk
IGlzIGEgcnVieSB0ZXh0LCB0aGVuIG1lcmdlIHRoZSBydWJ5IGJhc2Ugd2l0aCB0aGUgYmFzZSBv
ZgogICAgIC8vIHRoZSByaWdodCBzaWJsaW5nIHJ1biwgaWYgcG9zc2libGUuCi0gICAgaWYgKCFi
ZWluZ0Rlc3Ryb3llZCgpICYmICFkb2N1bWVudEJlaW5nRGVzdHJveWVkKCkgJiYgY2hpbGQuaXNS
dWJ5VGV4dCgpKSB7CisgICAgaWYgKCFiZWluZ0Rlc3Ryb3llZCgpICYmICFyZW5kZXJUcmVlQmVp
bmdEZXN0cm95ZWQoKSAmJiBjaGlsZC5pc1J1YnlUZXh0KCkpIHsKICAgICAgICAgUmVuZGVyUnVi
eUJhc2UqIGJhc2UgPSBydWJ5QmFzZSgpOwogICAgICAgICBSZW5kZXJPYmplY3QqIHJpZ2h0TmVp
Z2hib3VyID0gbmV4dFNpYmxpbmcoKTsKICAgICAgICAgaWYgKGJhc2UgJiYgaXM8UmVuZGVyUnVi
eVJ1bj4ocmlnaHROZWlnaGJvdXIpKSB7CkBAIC0xNzgsNyArMTc4LDcgQEAgdm9pZCBSZW5kZXJS
dWJ5UnVuOjpyZW1vdmVDaGlsZChSZW5kZXJPYmplY3QmIGNoaWxkKQogCiAgICAgUmVuZGVyQmxv
Y2tGbG93OjpyZW1vdmVDaGlsZChjaGlsZCk7CiAKLSAgICBpZiAoIWJlaW5nRGVzdHJveWVkKCkg
JiYgIWRvY3VtZW50QmVpbmdEZXN0cm95ZWQoKSkgeworICAgIGlmICghYmVpbmdEZXN0cm95ZWQo
KSAmJiAhcmVuZGVyVHJlZUJlaW5nRGVzdHJveWVkKCkpIHsKICAgICAgICAgLy8gQ2hlY2sgaWYg
b3VyIGJhc2UgKGlmIGFueSkgaXMgbm93IGVtcHR5LiBJZiBzbywgZGVzdHJveSBpdC4KICAgICAg
ICAgUmVuZGVyQmxvY2sqIGJhc2UgPSBydWJ5QmFzZSgpOwogICAgICAgICBpZiAoYmFzZSAmJiAh
YmFzZS0+Zmlyc3RDaGlsZCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGFibGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5o
CmluZGV4IGI4ODMzZDFlZDUzNDY4ZTZmOTU2ZDUyMTc0Njc0ZjI2MmJlYWY3MzQuLjg4YzQxN2Ux
ZTY1MzJjNWQzMjVhN2FkOWJlYThjODIyMDViN2FkMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUYWJsZS5oCkBAIC0yMjIsNyArMjIyLDcgQEAgcHVibGljOgogICAgIGJvb2wgbmVl
ZHNTZWN0aW9uUmVjYWxjKCkgY29uc3QgeyByZXR1cm4gbV9uZWVkc1NlY3Rpb25SZWNhbGM7IH0K
ICAgICB2b2lkIHNldE5lZWRzU2VjdGlvblJlY2FsYygpCiAgICAgewotICAgICAgICBpZiAoZG9j
dW1lbnRCZWluZ0Rlc3Ryb3llZCgpKQorICAgICAgICBpZiAocmVuZGVyVHJlZUJlaW5nRGVzdHJv
eWVkKCkpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIG1fbmVlZHNTZWN0aW9uUmVjYWxj
ID0gdHJ1ZTsKICAgICAgICAgc2V0TmVlZHNMYXlvdXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUZXh0LmNwcAppbmRleCBmMWJiYTc5MzEwOTY0MGY1MGE4ZmJlODhlMmU2MjZjMjNh
MjZmZTE0Li4xODI1Njc0NjNlZTNlNjhlZGU2ZjEyMzdhNjc1MTFhOTNjYzIwMDBiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCkBAIC0yNzIsNyArMjcyLDcgQEAgdm9p
ZCBSZW5kZXJUZXh0OjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3Qg
UmVuZGVyU3R5bGUqIG9sZFN0eWwKIAogdm9pZCBSZW5kZXJUZXh0OjpyZW1vdmVBbmREZXN0cm95
VGV4dEJveGVzKCkKIHsKLSAgICBpZiAoIWRvY3VtZW50QmVpbmdEZXN0cm95ZWQoKSkKKyAgICBp
ZiAoIXJlbmRlclRyZWVCZWluZ0Rlc3Ryb3llZCgpKQogICAgICAgICBtX2xpbmVCb3hlcy5yZW1v
dmVBbGxGcm9tUGFyZW50KCp0aGlzKTsKICNpZiAhQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElD
QVRJT05fRElTQUJMRUQKICAgICBlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVmlkZW8uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZp
ZGVvLmNwcAppbmRleCAxOTM3MmY0ODZhN2ZjMWY4N2FmMzZhMjkyNWNmMWE3YjYwMzRjNzFiLi4y
NzM4ZmQwOTUwMjRmMzAyMWI4ZjNhMDU0ZDgyZDk2YmFiMmZhOTkwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAKQEAgLTIxNiw3ICsyMTYsNyBAQCB2b2lkIFJlbmRl
clZpZGVvOjp1cGRhdGVGcm9tRWxlbWVudCgpCiAKIHZvaWQgUmVuZGVyVmlkZW86OnVwZGF0ZVBs
YXllcigpCiB7Ci0gICAgaWYgKGRvY3VtZW50QmVpbmdEZXN0cm95ZWQoKSkKKyAgICBpZiAocmVu
ZGVyVHJlZUJlaW5nRGVzdHJveWVkKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIGJvb2wgaW50
cmluc2ljU2l6ZUNoYW5nZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1JlbmRlclNWR1Jlc291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHUmVzb3VyY2UuY3BwCmluZGV4IDNlM2E1ZWIxNmEzZWRiMTJmYmFhYTNlODNmMTk5
NTk0MzgyZDlmMDcuLmU2YzVjMjQwMTU3N2Y5ZTFkY2NmMTc4ZTM2MGU0MDQ0MTI5YjRhYzIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2Uu
Y3BwCkBAIC0xOTEsNyArMTkxLDcgQEAgdm9pZCBSZW5kZXJTVkdSZXNvdXJjZTo6bWFya0Zvckxh
eW91dEFuZFBhcmVudFJlc291cmNlSW52YWxpZGF0aW9uKFJlbmRlck9iamVjdCYKIHsKICAgICBB
U1NFUlQob2JqZWN0Lm5vZGUoKSk7CiAKLSAgICBpZiAobmVlZHNMYXlvdXQgJiYgIW9iamVjdC5k
b2N1bWVudEJlaW5nRGVzdHJveWVkKCkpCisgICAgaWYgKG5lZWRzTGF5b3V0ICYmICFvYmplY3Qu
cmVuZGVyVHJlZUJlaW5nRGVzdHJveWVkKCkpCiAgICAgICAgIG9iamVjdC5zZXROZWVkc0xheW91
dCgpOwogCiAgICAgaWYgKGlzPFJlbmRlckVsZW1lbnQ+KG9iamVjdCkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWlu
ZXIuY3BwCmluZGV4IGJhMmVjOGM4NmRkZWY5MzBmMWJkM2FlNTdkN2I1YzBjYWNhZWQzMWMuLmY4
OWJiYWUyODQ5NjE3MzRhOTNhYzkwYTM2YmUxMWYxOTZjYTZlODggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWlu
ZXIuY3BwCkBAIC0xMzMsNyArMTMzLDcgQEAgdm9pZCBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5l
cjo6bWFya0NsaWVudEZvckludmFsaWRhdGlvbihSZW5kZXJPYmplY3QmIGNsaWVudCwKICAgICAg
ICAgY2xpZW50LnNldE5lZWRzQm91bmRhcmllc1VwZGF0ZSgpOwogICAgICAgICBicmVhazsKICAg
ICBjYXNlIFJlcGFpbnRJbnZhbGlkYXRpb246Ci0gICAgICAgIGlmICghY2xpZW50LmRvY3VtZW50
QmVpbmdEZXN0cm95ZWQoKSkKKyAgICAgICAgaWYgKCFjbGllbnQucmVuZGVyVHJlZUJlaW5nRGVz
dHJveWVkKCkpCiAgICAgICAgICAgICBjbGllbnQucmVwYWludCgpOwogICAgICAgICBicmVhazsK
ICAgICBjYXNlIFBhcmVudE9ubHlJbnZhbGlkYXRpb246CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1RleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdUZXh0LmNwcAppbmRleCBhODJjOGQyZDdiYjdjZDVmMGE4YWE0
ZmZmNTZhODY2NWQxODY4ZGJmLi44ZjNiNjBmMGRhNjNhOTgyZDEyNjFlMjdmNjViNjE5NzRmZDJi
MTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Rl
eHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVGV4dC5j
cHAKQEAgLTE2MSw3ICsxNjEsNyBAQCBpbmxpbmUgYm9vbCBSZW5kZXJTVkdUZXh0OjpzaG91bGRI
YW5kbGVTdWJ0cmVlTXV0YXRpb25zKCkgY29uc3QKIHZvaWQgUmVuZGVyU1ZHVGV4dDo6c3VidHJl
ZUNoaWxkV2FzQWRkZWQoUmVuZGVyT2JqZWN0KiBjaGlsZCkKIHsKICAgICBBU1NFUlQoY2hpbGQp
OwotICAgIGlmICghc2hvdWxkSGFuZGxlU3VidHJlZU11dGF0aW9ucygpIHx8IGRvY3VtZW50QmVp
bmdEZXN0cm95ZWQoKSkKKyAgICBpZiAoIXNob3VsZEhhbmRsZVN1YnRyZWVNdXRhdGlvbnMoKSB8
fCByZW5kZXJUcmVlQmVpbmdEZXN0cm95ZWQoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8g
VGhlIHBvc2l0aW9uaW5nIGVsZW1lbnRzIGNhY2hlIGRvZXNuJ3QgaW5jbHVkZSB0aGUgbmV3ICdj
aGlsZCcgeWV0LiBDbGVhciB0aGUKQEAgLTI0OSw3ICsyNDksNyBAQCB2b2lkIFJlbmRlclNWR1Rl
eHQ6OnN1YnRyZWVDaGlsZFdpbGxCZVJlbW92ZWQoUmVuZGVyT2JqZWN0KiBjaGlsZCwgVmVjdG9y
PFNWR1RleAogICAgIGJvb2wgc3RvcEFmdGVyTmV4dCA9IGZhbHNlOwogICAgIFNWR1RleHRMYXlv
dXRBdHRyaWJ1dGVzKiBwcmV2aW91cyA9IG51bGxwdHI7CiAgICAgU1ZHVGV4dExheW91dEF0dHJp
YnV0ZXMqIG5leHQgPSBudWxscHRyOwotICAgIGlmICghZG9jdW1lbnRCZWluZ0Rlc3Ryb3llZCgp
KQorICAgIGlmICghcmVuZGVyVHJlZUJlaW5nRGVzdHJveWVkKCkpCiAgICAgICAgIGZpbmRQcmV2
aW91c0FuZE5leHRBdHRyaWJ1dGVzKCp0aGlzLCAmdGV4dCwgc3RvcEFmdGVyTmV4dCwgcHJldmlv
dXMsIG5leHQpOwogCiAgICAgaWYgKHByZXZpb3VzKQpAQCAtMjYzLDcgKzI2Myw3IEBAIHZvaWQg
UmVuZGVyU1ZHVGV4dDo6c3VidHJlZUNoaWxkV2lsbEJlUmVtb3ZlZChSZW5kZXJPYmplY3QqIGNo
aWxkLCBWZWN0b3I8U1ZHVGV4CiAKIHZvaWQgUmVuZGVyU1ZHVGV4dDo6c3VidHJlZUNoaWxkV2Fz
UmVtb3ZlZChjb25zdCBWZWN0b3I8U1ZHVGV4dExheW91dEF0dHJpYnV0ZXMqLCAyPiYgYWZmZWN0
ZWRBdHRyaWJ1dGVzKQogewotICAgIGlmICghc2hvdWxkSGFuZGxlU3VidHJlZU11dGF0aW9ucygp
IHx8IGRvY3VtZW50QmVpbmdEZXN0cm95ZWQoKSkgeworICAgIGlmICghc2hvdWxkSGFuZGxlU3Vi
dHJlZU11dGF0aW9ucygpIHx8IHJlbmRlclRyZWVCZWluZ0Rlc3Ryb3llZCgpKSB7CiAgICAgICAg
IEFTU0VSVChhZmZlY3RlZEF0dHJpYnV0ZXMuaXNFbXB0eSgpKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KQEAgLTI3OCw3ICsyNzgsNyBAQCB2b2lkIFJlbmRlclNWR1RleHQ6OnN1YnRyZWVDaGls
ZFdhc1JlbW92ZWQoY29uc3QgVmVjdG9yPFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzKgogdm9pZCBS
ZW5kZXJTVkdUZXh0OjpzdWJ0cmVlU3R5bGVEaWRDaGFuZ2UoUmVuZGVyU1ZHSW5saW5lVGV4dCog
dGV4dCkKIHsKICAgICBBU1NFUlQodGV4dCk7Ci0gICAgaWYgKCFzaG91bGRIYW5kbGVTdWJ0cmVl
TXV0YXRpb25zKCkgfHwgZG9jdW1lbnRCZWluZ0Rlc3Ryb3llZCgpKQorICAgIGlmICghc2hvdWxk
SGFuZGxlU3VidHJlZU11dGF0aW9ucygpIHx8IHJlbmRlclRyZWVCZWluZ0Rlc3Ryb3llZCgpKQog
ICAgICAgICByZXR1cm47CiAKICAgICBjaGVja0xheW91dEF0dHJpYnV0ZXNDb25zaXN0ZW5jeSh0
aGlzLCBtX2xheW91dEF0dHJpYnV0ZXMpOwo=
</data>
<flag name="review"
          id="326219"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>