<?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>138578</bug_id>
          
          <creation_ts>2014-11-10 14:04:09 -0800</creation_ts>
          <short_desc>Remove unnecessary null check in FrameSelection::nodeWillBeRemoved()</short_desc>
          <delta_ts>2014-11-10 16:03:18 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>kling</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1047624</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-10 14:04:09 -0800</bug_when>
    <thetext>Remove unnecessary null check in FrameSelection::nodeWillBeRemoved() and turn the argument into a reference to make it clear it cannot be null.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047633</commentid>
    <comment_count>1</comment_count>
      <attachid>241306</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-10 14:13:02 -0800</bug_when>
    <thetext>Created attachment 241306
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047677</commentid>
    <comment_count>2</comment_count>
      <attachid>241306</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-10 16:03:04 -0800</bug_when>
    <thetext>Comment on attachment 241306
Patch

Clearing flags on attachment: 241306

Committed r175836: &lt;http://trac.webkit.org/changeset/175836&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047678</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-10 16:03:18 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241306</attachid>
            <date>2014-11-10 14:13:02 -0800</date>
            <delta_ts>2014-11-10 16:03:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138578-20141110141305.patch</filename>
            <type>text/plain</type>
            <size>31254</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc1ODI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODJlNTA4NDY3N2VkM2Jm
YThiZjJkNDkwYWU3OWQ5ZTExODIyNmQ5Zi4uOTY0YmIxZTAwMTU2NTdhOWMzMDZlYjczNGYwZmQw
YTAzNDlmOWE2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDE0LTExLTEwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5
IG51bGwgY2hlY2sgaW4gRnJhbWVTZWxlY3Rpb246Om5vZGVXaWxsQmVSZW1vdmVkKCkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzODU3OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSB1bm5lY2Vz
c2FyeSBudWxsIGNoZWNrIGluIEZyYW1lU2VsZWN0aW9uOjpub2RlV2lsbEJlUmVtb3ZlZCgpCisg
ICAgICAgIGFuZCB0dXJuIHRoZSBhcmd1bWVudCBpbnRvIGEgcmVmZXJlbmNlIHRvIG1ha2UgaXQg
Y2xlYXIgaXQgY2Fubm90IGJlCisgICAgICAgIG51bGwuCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
LCBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBkb20vQ29udGFpbmVyTm9kZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDb250YWluZXJOb2RlOjp3aWxsUmVtb3ZlQ2hpbGQpOgorICAg
ICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6bm9k
ZUNoaWxkcmVuV2lsbEJlUmVtb3ZlZCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6bm9k
ZVdpbGxCZVJlbW92ZWQpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRv
bS9Ob2RlSXRlcmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZUl0ZXJhdG9yOjpub2Rl
V2lsbEJlUmVtb3ZlZCk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlSXRlcmF0b3I6OnVwZGF0ZUZv
ck5vZGVSZW1vdmFsKToKKyAgICAgICAgKiBkb20vTm9kZUl0ZXJhdG9yLmg6CisgICAgICAgICog
ZG9tL1JhbmdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJhbmdlOjppbnNlcnROb2RlKToKKyAg
ICAgICAgKFdlYkNvcmU6OmJvdW5kYXJ5Tm9kZVdpbGxCZVJlbW92ZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6UmFuZ2U6Om5vZGVXaWxsQmVSZW1vdmVkKToKKyAgICAgICAgKiBkb20vUmFuZ2UuaDoK
KyAgICAgICAgKiBkb20vUmFuZ2VCb3VuZGFyeVBvaW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpS
YW5nZUJvdW5kYXJ5UG9pbnQ6OnNldFRvQmVmb3JlQ2hpbGQpOgorICAgICAgICAqIGVkaXRpbmcv
Q29tcG9zaXRlRWRpdENvbW1hbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcG9zaXRlRWRp
dENvbW1hbmQ6OnVwZGF0ZVBvc2l0aW9uRm9yTm9kZVJlbW92YWxQcmVzZXJ2aW5nQ2hpbGRyZW4p
OgorICAgICAgICAqIGVkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuaDoKKyAgICAgICAgKiBl
ZGl0aW5nL0RlbGV0ZVNlbGVjdGlvbkNvbW1hbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGVs
ZXRlU2VsZWN0aW9uQ29tbWFuZDo6cmVtb3ZlTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpEZWxl
dGVTZWxlY3Rpb25Db21tYW5kOjpoYW5kbGVHZW5lcmFsRGVsZXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkRlbGV0ZVNlbGVjdGlvbkNvbW1hbmQ6OnJlbW92ZVJlZHVuZGFudEJsb2Nrcyk6CisgICAg
ICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpyZW1v
dmluZ05vZGVSZW1vdmVzUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0NhcmV0Q29u
dHJvbGxlcjo6bm9kZVdpbGxCZVJlbW92ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVTZWxl
Y3Rpb246Om5vZGVXaWxsQmVSZW1vdmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0
aW9uOjpyZXNwb25kVG9Ob2RlTW9kaWZpY2F0aW9uKToKKyAgICAgICAgKiBlZGl0aW5nL0ZyYW1l
U2VsZWN0aW9uLmg6CisgICAgICAgICogZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZDo6bWVyZ2VUZXh0
Tm9kZXNBcm91bmRQb3NpdGlvbik6CisgICAgICAgICogZWRpdGluZy9odG1sZWRpdGluZy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjp1cGRhdGVQb3NpdGlvbkZvck5vZGVSZW1vdmFsKToKKyAgICAg
ICAgKiBlZGl0aW5nL2h0bWxlZGl0aW5nLmg6CisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpub2RlV2lsbEJlUmVtb3ZlZCk6
CisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuaDoKKwogMjAxNC0xMS0wNCAgSmVyIE5vYmxl
ICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIxNzQ4MjMpOiBT
ZXZlcmFsIHRlc3RzIGZhaWwgZHVlIHRvIGNhbnBsYXl0aHJvdWdoIGZpcmluZyBiZWZvcmUgdHJh
Y2tzIGFyZSBhdmFpbGFibGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWlu
ZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcAppbmRleCBm
MmM1N2FlNTU4MDgwZjM1YzMzMTZmZGU4NDAxZTZlZjkxMDM1M2FkLi40ZDRiZWM0OWI1MTNhZmZh
MjVkMGYzOThmODYwNjMxNWRmYTVmYmZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
Q29udGFpbmVyTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUu
Y3BwCkBAIC00NzYsNyArNDc2LDcgQEAgdm9pZCBDb250YWluZXJOb2RlOjp3aWxsUmVtb3ZlQ2hp
bGQoTm9kZSYgY2hpbGQpCiAgICAgaWYgKGNoaWxkLnBhcmVudE5vZGUoKSAhPSB0aGlzKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBjaGlsZC5kb2N1bWVudCgpLm5vZGVXaWxsQmVSZW1vdmVkKCZj
aGlsZCk7IC8vIGUuZy4gbXV0YXRpb24gZXZlbnQgbGlzdGVuZXIgY2FuIGNyZWF0ZSBhIG5ldyBy
YW5nZS4KKyAgICBjaGlsZC5kb2N1bWVudCgpLm5vZGVXaWxsQmVSZW1vdmVkKGNoaWxkKTsgLy8g
ZS5nLiBtdXRhdGlvbiBldmVudCBsaXN0ZW5lciBjYW4gY3JlYXRlIGEgbmV3IHJhbmdlLgogICAg
IGlmIChpczxDb250YWluZXJOb2RlPihjaGlsZCkpCiAgICAgICAgIGRpc2Nvbm5lY3RTdWJmcmFt
ZXNJZk5lZWRlZChkb3duY2FzdDxDb250YWluZXJOb2RlPihjaGlsZCksIFJvb3RBbmREZXNjZW5k
YW50cyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCAyODIyMTVjOGZjMDYxZjQ0NzIx
NjgxZGE1MjZjZjZhODU0N2ZlN2ZkLi5mMjE5NGI3ZDhlZTEzMDMwYjExZjdiNzg1NjNmNzBiZmI5
YTMyODMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTM2NjEsMTkgKzM2NjEsMTkgQEAg
dm9pZCBEb2N1bWVudDo6bm9kZUNoaWxkcmVuV2lsbEJlUmVtb3ZlZChDb250YWluZXJOb2RlJiBj
b250YWluZXIpCiAKICAgICBmb3IgKGF1dG8gaXQgPSBtX25vZGVJdGVyYXRvcnMuYmVnaW4oKSwg
ZW5kID0gbV9ub2RlSXRlcmF0b3JzLmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKICAgICAgICAg
Zm9yIChOb2RlKiBuID0gY29udGFpbmVyLmZpcnN0Q2hpbGQoKTsgbjsgbiA9IG4tPm5leHRTaWJs
aW5nKCkpCi0gICAgICAgICAgICAoKml0KS0+bm9kZVdpbGxCZVJlbW92ZWQobik7CisgICAgICAg
ICAgICAoKml0KS0+bm9kZVdpbGxCZVJlbW92ZWQoKm4pOwogICAgIH0KIAogICAgIGlmIChGcmFt
ZSogZnJhbWUgPSB0aGlzLT5mcmFtZSgpKSB7CiAgICAgICAgIGZvciAoTm9kZSogbiA9IGNvbnRh
aW5lci5maXJzdENoaWxkKCk7IG47IG4gPSBuLT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgICAg
ICBmcmFtZS0+ZXZlbnRIYW5kbGVyKCkubm9kZVdpbGxCZVJlbW92ZWQobik7Ci0gICAgICAgICAg
ICBmcmFtZS0+c2VsZWN0aW9uKCkubm9kZVdpbGxCZVJlbW92ZWQobik7Ci0gICAgICAgICAgICBm
cmFtZS0+cGFnZSgpLT5kcmFnQ2FyZXRDb250cm9sbGVyKCkubm9kZVdpbGxCZVJlbW92ZWQobik7
CisgICAgICAgICAgICBmcmFtZS0+ZXZlbnRIYW5kbGVyKCkubm9kZVdpbGxCZVJlbW92ZWQoKm4p
OworICAgICAgICAgICAgZnJhbWUtPnNlbGVjdGlvbigpLm5vZGVXaWxsQmVSZW1vdmVkKCpuKTsK
KyAgICAgICAgICAgIGZyYW1lLT5wYWdlKCktPmRyYWdDYXJldENvbnRyb2xsZXIoKS5ub2RlV2ls
bEJlUmVtb3ZlZCgqbik7CiAgICAgICAgIH0KICAgICB9CiB9CiAKLXZvaWQgRG9jdW1lbnQ6Om5v
ZGVXaWxsQmVSZW1vdmVkKE5vZGUqIG4pCit2b2lkIERvY3VtZW50Ojpub2RlV2lsbEJlUmVtb3Zl
ZChOb2RlJiBuKQogewogICAgIEhhc2hTZXQ8Tm9kZUl0ZXJhdG9yKj46OmNvbnN0X2l0ZXJhdG9y
IG5vZGVJdGVyYXRvcnNFbmQgPSBtX25vZGVJdGVyYXRvcnMuZW5kKCk7CiAgICAgZm9yIChIYXNo
U2V0PE5vZGVJdGVyYXRvcio+Ojpjb25zdF9pdGVyYXRvciBpdCA9IG1fbm9kZUl0ZXJhdG9ycy5i
ZWdpbigpOyBpdCAhPSBub2RlSXRlcmF0b3JzRW5kOyArK2l0KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApp
bmRleCA3MTlkNmNjYzY1ZWViM2JhODBiODc1YTVjZjE0OTVkMDU4YzU0MmM4Li5iYzM2MTM5YzI1
OWY5MzdhNGFmYzZhNGNkMDRiNWJkOWU2MWUwNTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAt
Nzk2LDcgKzc5Niw3IEBAIHB1YmxpYzoKICAgICAvLyBub2RlQ2hpbGRyZW5XaWxsQmVSZW1vdmVk
IGlzIHVzZWQgd2hlbiByZW1vdmluZyBhbGwgbm9kZSBjaGlsZHJlbiBhdCBvbmNlLgogICAgIHZv
aWQgbm9kZUNoaWxkcmVuV2lsbEJlUmVtb3ZlZChDb250YWluZXJOb2RlJik7CiAgICAgLy8gbm9k
ZVdpbGxCZVJlbW92ZWQgaXMgb25seSBzYWZlIHdoZW4gcmVtb3Zpbmcgb25lIG5vZGUgYXQgYSB0
aW1lLgotICAgIHZvaWQgbm9kZVdpbGxCZVJlbW92ZWQoTm9kZSopOworICAgIHZvaWQgbm9kZVdp
bGxCZVJlbW92ZWQoTm9kZSYpOwogICAgIGJvb2wgY2FuUmVwbGFjZUNoaWxkKE5vZGUqIG5ld0No
aWxkLCBOb2RlKiBvbGRDaGlsZCk7CiAKICAgICB2b2lkIHRleHRJbnNlcnRlZChOb2RlKiwgdW5z
aWduZWQgb2Zmc2V0LCB1bnNpZ25lZCBsZW5ndGgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL05vZGVJdGVyYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZUl0ZXJhdG9y
LmNwcAppbmRleCBjNTFiMTRhM2Q3NjU4NjcwYWUwY2RkNWNkNWQ1NjFiZTU1ZjZkYjhjLi44YjZh
MTQ4NDI0N2UzODAwZTY1ODNiN2YxM2I1MTBjMDFmNWQwMzVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZUl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZUl0ZXJhdG9yLmNwcApAQCAtMTU0LDQzICsxNTQsNDIgQEAgdm9pZCBOb2RlSXRlcmF0b3I6OmRl
dGFjaCgpCiAgICAgbV9yZWZlcmVuY2VOb2RlLm5vZGUuY2xlYXIoKTsKIH0KIAotdm9pZCBOb2Rl
SXRlcmF0b3I6Om5vZGVXaWxsQmVSZW1vdmVkKE5vZGUqIHJlbW92ZWROb2RlKQordm9pZCBOb2Rl
SXRlcmF0b3I6Om5vZGVXaWxsQmVSZW1vdmVkKE5vZGUmIHJlbW92ZWROb2RlKQogewogICAgIHVw
ZGF0ZUZvck5vZGVSZW1vdmFsKHJlbW92ZWROb2RlLCBtX2NhbmRpZGF0ZU5vZGUpOwogICAgIHVw
ZGF0ZUZvck5vZGVSZW1vdmFsKHJlbW92ZWROb2RlLCBtX3JlZmVyZW5jZU5vZGUpOwogfQogCi12
b2lkIE5vZGVJdGVyYXRvcjo6dXBkYXRlRm9yTm9kZVJlbW92YWwoTm9kZSogcmVtb3ZlZE5vZGUs
IE5vZGVQb2ludGVyJiByZWZlcmVuY2VOb2RlKSBjb25zdAordm9pZCBOb2RlSXRlcmF0b3I6OnVw
ZGF0ZUZvck5vZGVSZW1vdmFsKE5vZGUmIHJlbW92ZWROb2RlLCBOb2RlUG9pbnRlciYgcmVmZXJl
bmNlTm9kZSkgY29uc3QKIHsKICAgICBBU1NFUlQoIW1fZGV0YWNoZWQpOwotICAgIEFTU0VSVChy
ZW1vdmVkTm9kZSk7Ci0gICAgQVNTRVJUKCZyb290KCktPmRvY3VtZW50KCkgPT0gJnJlbW92ZWRO
b2RlLT5kb2N1bWVudCgpKTsKKyAgICBBU1NFUlQoJnJvb3QoKS0+ZG9jdW1lbnQoKSA9PSAmcmVt
b3ZlZE5vZGUuZG9jdW1lbnQoKSk7CiAKICAgICAvLyBJdGVyYXRvciBpcyBub3QgYWZmZWN0ZWQg
aWYgdGhlIHJlbW92ZWQgbm9kZSBpcyB0aGUgcmVmZXJlbmNlIG5vZGUgYW5kIGlzIHRoZSByb290
LgogICAgIC8vIG9yIGlmIHJlbW92ZWQgbm9kZSBpcyBub3QgdGhlIHJlZmVyZW5jZSBub2RlLCBv
ciB0aGUgYW5jZXN0b3Igb2YgdGhlIHJlZmVyZW5jZSBub2RlLgotICAgIGlmICghcmVtb3ZlZE5v
ZGUtPmlzRGVzY2VuZGFudE9mKHJvb3QoKSkpCisgICAgaWYgKCFyZW1vdmVkTm9kZS5pc0Rlc2Nl
bmRhbnRPZihyb290KCkpKQogICAgICAgICByZXR1cm47Ci0gICAgYm9vbCB3aWxsUmVtb3ZlUmVm
ZXJlbmNlTm9kZSA9IHJlbW92ZWROb2RlID09IHJlZmVyZW5jZU5vZGUubm9kZTsKLSAgICBib29s
IHdpbGxSZW1vdmVSZWZlcmVuY2VOb2RlQW5jZXN0b3IgPSByZWZlcmVuY2VOb2RlLm5vZGUgJiYg
cmVmZXJlbmNlTm9kZS5ub2RlLT5pc0Rlc2NlbmRhbnRPZihyZW1vdmVkTm9kZSk7CisgICAgYm9v
bCB3aWxsUmVtb3ZlUmVmZXJlbmNlTm9kZSA9ICZyZW1vdmVkTm9kZSA9PSByZWZlcmVuY2VOb2Rl
Lm5vZGU7CisgICAgYm9vbCB3aWxsUmVtb3ZlUmVmZXJlbmNlTm9kZUFuY2VzdG9yID0gcmVmZXJl
bmNlTm9kZS5ub2RlICYmIHJlZmVyZW5jZU5vZGUubm9kZS0+aXNEZXNjZW5kYW50T2YoJnJlbW92
ZWROb2RlKTsKICAgICBpZiAoIXdpbGxSZW1vdmVSZWZlcmVuY2VOb2RlICYmICF3aWxsUmVtb3Zl
UmVmZXJlbmNlTm9kZUFuY2VzdG9yKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAocmVmZXJl
bmNlTm9kZS5pc1BvaW50ZXJCZWZvcmVOb2RlKSB7Ci0gICAgICAgIE5vZGUqIG5vZGUgPSBOb2Rl
VHJhdmVyc2FsOjpuZXh0KHJlbW92ZWROb2RlLCByb290KCkpOworICAgICAgICBOb2RlKiBub2Rl
ID0gTm9kZVRyYXZlcnNhbDo6bmV4dCgmcmVtb3ZlZE5vZGUsIHJvb3QoKSk7CiAgICAgICAgIGlm
IChub2RlKSB7CiAgICAgICAgICAgICAvLyBNb3ZlIG91dCBmcm9tIHVuZGVyIHRoZSBub2RlIGJl
aW5nIHJlbW92ZWQgaWYgdGhlIG5ldyByZWZlcmVuY2UKICAgICAgICAgICAgIC8vIG5vZGUgaXMg
YSBkZXNjZW5kYW50IG9mIHRoZSBub2RlIGJlaW5nIHJlbW92ZWQuCi0gICAgICAgICAgICB3aGls
ZSAobm9kZSAmJiBub2RlLT5pc0Rlc2NlbmRhbnRPZihyZW1vdmVkTm9kZSkpCisgICAgICAgICAg
ICB3aGlsZSAobm9kZSAmJiBub2RlLT5pc0Rlc2NlbmRhbnRPZigmcmVtb3ZlZE5vZGUpKQogICAg
ICAgICAgICAgICAgIG5vZGUgPSBOb2RlVHJhdmVyc2FsOjpuZXh0KG5vZGUsIHJvb3QoKSk7CiAg
ICAgICAgICAgICBpZiAobm9kZSkKICAgICAgICAgICAgICAgICByZWZlcmVuY2VOb2RlLm5vZGUg
PSBub2RlOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgbm9kZSA9IE5vZGVUcmF2ZXJz
YWw6OnByZXZpb3VzKHJlbW92ZWROb2RlKTsKKyAgICAgICAgICAgIG5vZGUgPSBOb2RlVHJhdmVy
c2FsOjpwcmV2aW91cygmcmVtb3ZlZE5vZGUpOwogICAgICAgICAgICAgaWYgKG5vZGUpIHsKICAg
ICAgICAgICAgICAgICAvLyBNb3ZlIG91dCBmcm9tIHVuZGVyIHRoZSBub2RlIGJlaW5nIHJlbW92
ZWQgaWYgdGhlIHJlZmVyZW5jZSBub2RlIGlzCiAgICAgICAgICAgICAgICAgLy8gYSBkZXNjZW5k
YW50IG9mIHRoZSBub2RlIGJlaW5nIHJlbW92ZWQuCiAgICAgICAgICAgICAgICAgaWYgKHdpbGxS
ZW1vdmVSZWZlcmVuY2VOb2RlQW5jZXN0b3IpIHsKLSAgICAgICAgICAgICAgICAgICAgd2hpbGUg
KG5vZGUgJiYgbm9kZS0+aXNEZXNjZW5kYW50T2YocmVtb3ZlZE5vZGUpKQorICAgICAgICAgICAg
ICAgICAgICB3aGlsZSAobm9kZSAmJiBub2RlLT5pc0Rlc2NlbmRhbnRPZigmcmVtb3ZlZE5vZGUp
KQogICAgICAgICAgICAgICAgICAgICAgICAgbm9kZSA9IE5vZGVUcmF2ZXJzYWw6OnByZXZpb3Vz
KG5vZGUpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBpZiAobm9kZSkgewpA
QCAtMjAzLDIzICsyMDIsMjMgQEAgdm9pZCBOb2RlSXRlcmF0b3I6OnVwZGF0ZUZvck5vZGVSZW1v
dmFsKE5vZGUqIHJlbW92ZWROb2RlLCBOb2RlUG9pbnRlciYgcmVmZXJlbmMKICAgICAgICAgICAg
IH0KICAgICAgICAgfQogICAgIH0gZWxzZSB7Ci0gICAgICAgIE5vZGUqIG5vZGUgPSBOb2RlVHJh
dmVyc2FsOjpwcmV2aW91cyhyZW1vdmVkTm9kZSk7CisgICAgICAgIE5vZGUqIG5vZGUgPSBOb2Rl
VHJhdmVyc2FsOjpwcmV2aW91cygmcmVtb3ZlZE5vZGUpOwogICAgICAgICBpZiAobm9kZSkgewog
ICAgICAgICAgICAgLy8gTW92ZSBvdXQgZnJvbSB1bmRlciB0aGUgbm9kZSBiZWluZyByZW1vdmVk
IGlmIHRoZSByZWZlcmVuY2Ugbm9kZSBpcwogICAgICAgICAgICAgLy8gYSBkZXNjZW5kYW50IG9m
IHRoZSBub2RlIGJlaW5nIHJlbW92ZWQuCiAgICAgICAgICAgICBpZiAod2lsbFJlbW92ZVJlZmVy
ZW5jZU5vZGVBbmNlc3RvcikgewotICAgICAgICAgICAgICAgIHdoaWxlIChub2RlICYmIG5vZGUt
PmlzRGVzY2VuZGFudE9mKHJlbW92ZWROb2RlKSkKKyAgICAgICAgICAgICAgICB3aGlsZSAobm9k
ZSAmJiBub2RlLT5pc0Rlc2NlbmRhbnRPZigmcmVtb3ZlZE5vZGUpKQogICAgICAgICAgICAgICAg
ICAgICBub2RlID0gTm9kZVRyYXZlcnNhbDo6cHJldmlvdXMobm9kZSk7CiAgICAgICAgICAgICB9
CiAgICAgICAgICAgICBpZiAobm9kZSkKICAgICAgICAgICAgICAgICByZWZlcmVuY2VOb2RlLm5v
ZGUgPSBub2RlOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgLy8gRklYTUU6IFRoaXMg
YnJhbmNoIGRvZXNuJ3QgYXBwZWFyIHRvIGhhdmUgYW55IExheW91dFRlc3RzLgotICAgICAgICAg
ICAgbm9kZSA9IE5vZGVUcmF2ZXJzYWw6Om5leHQocmVtb3ZlZE5vZGUsIHJvb3QoKSk7CisgICAg
ICAgICAgICBub2RlID0gTm9kZVRyYXZlcnNhbDo6bmV4dCgmcmVtb3ZlZE5vZGUsIHJvb3QoKSk7
CiAgICAgICAgICAgICAvLyBNb3ZlIG91dCBmcm9tIHVuZGVyIHRoZSBub2RlIGJlaW5nIHJlbW92
ZWQgaWYgdGhlIHJlZmVyZW5jZSBub2RlIGlzCiAgICAgICAgICAgICAvLyBhIGRlc2NlbmRhbnQg
b2YgdGhlIG5vZGUgYmVpbmcgcmVtb3ZlZC4KICAgICAgICAgICAgIGlmICh3aWxsUmVtb3ZlUmVm
ZXJlbmNlTm9kZUFuY2VzdG9yKSB7Ci0gICAgICAgICAgICAgICAgd2hpbGUgKG5vZGUgJiYgbm9k
ZS0+aXNEZXNjZW5kYW50T2YocmVtb3ZlZE5vZGUpKQorICAgICAgICAgICAgICAgIHdoaWxlIChu
b2RlICYmIG5vZGUtPmlzRGVzY2VuZGFudE9mKCZyZW1vdmVkTm9kZSkpCiAgICAgICAgICAgICAg
ICAgICAgIG5vZGUgPSBOb2RlVHJhdmVyc2FsOjpwcmV2aW91cyhub2RlKTsKICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIGlmIChub2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L05vZGVJdGVyYXRvci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGVJdGVyYXRvci5oCmluZGV4
IDQ4OTI1YWQyMDEzMjEwMTczYzgzMGI0NTBmYTA3NWNiN2I3ZDBmM2MuLjcxMGJlNDVhZjQ4YTUw
M2U0M2JlOTNhNzFlNzUzNDU1MGQ5MjUzZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Ob2RlSXRlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZUl0ZXJhdG9yLmgK
QEAgLTUxLDcgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIHBvaW50
ZXJCZWZvcmVSZWZlcmVuY2VOb2RlKCkgY29uc3QgeyByZXR1cm4gbV9yZWZlcmVuY2VOb2RlLmlz
UG9pbnRlckJlZm9yZU5vZGU7IH0KIAogICAgICAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxl
ZCBiZWZvcmUgYW55IG5vZGUgaXMgcmVtb3ZlZCBmcm9tIHRoZSBkb2N1bWVudCB0cmVlLgotICAg
ICAgICB2b2lkIG5vZGVXaWxsQmVSZW1vdmVkKE5vZGUqKTsKKyAgICAgICAgdm9pZCBub2RlV2ls
bEJlUmVtb3ZlZChOb2RlJik7CiAKICAgICAgICAgLy8gRG8gbm90IGNhbGwgdGhlc2UgZnVuY3Rp
b25zLiBUaGV5IGFyZSBqdXN0IHNjYWZmb2xkaW5nIHRvIHN1cHBvcnQgdGhlIE9iamVjdGl2ZS1D
IGJpbmRpbmdzLgogICAgICAgICAvLyBUaGV5IG9wZXJhdGUgaW4gdGhlIG1haW4gdGhyZWFkIG5v
cm1hbCB3b3JsZCwgYW5kIHRoZXkgc3dhbGxvdyBKUyBleGNlcHRpb25zLgpAQCAtNzEsNyArNzEs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBib29sIG1vdmVUb1ByZXZpb3Vz
KE5vZGUqIHJvb3QpOwogICAgICAgICB9OwogCi0gICAgICAgIHZvaWQgdXBkYXRlRm9yTm9kZVJl
bW92YWwoTm9kZSogbm9kZVRvQmVSZW1vdmVkLCBOb2RlUG9pbnRlciYpIGNvbnN0OworICAgICAg
ICB2b2lkIHVwZGF0ZUZvck5vZGVSZW1vdmFsKE5vZGUmIG5vZGVUb0JlUmVtb3ZlZCwgTm9kZVBv
aW50ZXImKSBjb25zdDsKIAogICAgICAgICBOb2RlUG9pbnRlciBtX3JlZmVyZW5jZU5vZGU7CiAg
ICAgICAgIE5vZGVQb2ludGVyIG1fY2FuZGlkYXRlTm9kZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9SYW5nZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuY3BwCmluZGV4
IGQ3MGFkOTFhMGIyMGU0ZmNlOWJjODM0NmIxNTY2Y2Y5ODY0ZDY3ODMuLjk1NTIzZTY1Mjg2OWQ5
ZWEzZWI3Yzk0YTQ4YjU3ZWI4YTFlMDQzMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9SYW5nZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmNwcApAQCAtMTA1MCw3
ICsxMDUwLDcgQEAgdm9pZCBSYW5nZTo6aW5zZXJ0Tm9kZShQYXNzUmVmUHRyPE5vZGU+IHBycE5l
d05vZGUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAg
IGlmIChjb2xsYXBzZWQgJiYgbmV3VGV4dC0+cGFyZW50Tm9kZSgpID09IGNvbnRhaW5lciAmJiAm
Y29udGFpbmVyLT5kb2N1bWVudCgpID09ICZvd25lckRvY3VtZW50KCkpCi0gICAgICAgICAgICBt
X2VuZC5zZXRUb0JlZm9yZUNoaWxkKG5ld1RleHQuZ2V0KCkpOworICAgICAgICAgICAgbV9lbmQu
c2V0VG9CZWZvcmVDaGlsZCgqbmV3VGV4dCk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgY29udGFp
bmVyID0gbV9zdGFydC5jb250YWluZXIoKTsKICAgICAgICAgUmVmUHRyPE5vZGU+IGZpcnN0SW5z
ZXJ0ZWRDaGlsZCA9IG5ld05vZGVUeXBlID09IE5vZGU6OkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUg
PyBuZXdOb2RlLT5maXJzdENoaWxkKCkgOiBuZXdOb2RlOwpAQCAtMTA2Miw3ICsxMDYyLDcgQEAg
dm9pZCBSYW5nZTo6aW5zZXJ0Tm9kZShQYXNzUmVmUHRyPE5vZGU+IHBycE5ld05vZGUsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQogCiAgICAgICAgIGlmIChjb2xsYXBzZWQgJiYgbnVtTmV3Q2hpbGRyZW4g
JiYgJmNvbnRhaW5lci0+ZG9jdW1lbnQoKSA9PSAmb3duZXJEb2N1bWVudCgpKSB7CiAgICAgICAg
ICAgICBpZiAoZmlyc3RJbnNlcnRlZENoaWxkLT5wYXJlbnROb2RlKCkgPT0gY29udGFpbmVyKQot
ICAgICAgICAgICAgICAgIG1fc3RhcnQuc2V0VG9CZWZvcmVDaGlsZChmaXJzdEluc2VydGVkQ2hp
bGQuZ2V0KCkpOworICAgICAgICAgICAgICAgIG1fc3RhcnQuc2V0VG9CZWZvcmVDaGlsZCgqZmly
c3RJbnNlcnRlZENoaWxkKTsKICAgICAgICAgICAgIGlmIChsYXN0SW5zZXJ0ZWRDaGlsZC0+cGFy
ZW50Tm9kZSgpID09IGNvbnRhaW5lcikKICAgICAgICAgICAgICAgICBtX2VuZC5zZXQoY29udGFp
bmVyLCBsYXN0SW5zZXJ0ZWRDaGlsZC0+Y29tcHV0ZU5vZGVJbmRleCgpICsgMSwgbGFzdEluc2Vy
dGVkQ2hpbGQuZ2V0KCkpOwogICAgICAgICB9CkBAIC0yMDYwLDI3ICsyMDYwLDI2IEBAIHZvaWQg
UmFuZ2U6Om5vZGVDaGlsZHJlbldpbGxCZVJlbW92ZWQoQ29udGFpbmVyTm9kZSYgY29udGFpbmVy
KQogICAgIGJvdW5kYXJ5Tm9kZUNoaWxkcmVuV2lsbEJlUmVtb3ZlZChtX2VuZCwgY29udGFpbmVy
KTsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIGJvdW5kYXJ5Tm9kZVdpbGxCZVJlbW92ZWQoUmFu
Z2VCb3VuZGFyeVBvaW50JiBib3VuZGFyeSwgTm9kZSogbm9kZVRvQmVSZW1vdmVkKQorc3RhdGlj
IGlubGluZSB2b2lkIGJvdW5kYXJ5Tm9kZVdpbGxCZVJlbW92ZWQoUmFuZ2VCb3VuZGFyeVBvaW50
JiBib3VuZGFyeSwgTm9kZSYgbm9kZVRvQmVSZW1vdmVkKQogewotICAgIGlmIChib3VuZGFyeS5j
aGlsZEJlZm9yZSgpID09IG5vZGVUb0JlUmVtb3ZlZCkgeworICAgIGlmIChib3VuZGFyeS5jaGls
ZEJlZm9yZSgpID09ICZub2RlVG9CZVJlbW92ZWQpIHsKICAgICAgICAgYm91bmRhcnkuY2hpbGRC
ZWZvcmVXaWxsQmVSZW1vdmVkKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBmb3Ig
KE5vZGUqIG4gPSBib3VuZGFyeS5jb250YWluZXIoKTsgbjsgbiA9IG4tPnBhcmVudE5vZGUoKSkg
ewotICAgICAgICBpZiAobiA9PSBub2RlVG9CZVJlbW92ZWQpIHsKKyAgICAgICAgaWYgKG4gPT0g
Jm5vZGVUb0JlUmVtb3ZlZCkgewogICAgICAgICAgICAgYm91bmRhcnkuc2V0VG9CZWZvcmVDaGls
ZChub2RlVG9CZVJlbW92ZWQpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAg
fQogfQogCi12b2lkIFJhbmdlOjpub2RlV2lsbEJlUmVtb3ZlZChOb2RlKiBub2RlKQordm9pZCBS
YW5nZTo6bm9kZVdpbGxCZVJlbW92ZWQoTm9kZSYgbm9kZSkKIHsKLSAgICBBU1NFUlQobm9kZSk7
Ci0gICAgQVNTRVJUKCZub2RlLT5kb2N1bWVudCgpID09ICZvd25lckRvY3VtZW50KCkpOwotICAg
IEFTU0VSVChub2RlICE9ICZvd25lckRvY3VtZW50KCkpOwotICAgIEFTU0VSVChub2RlLT5wYXJl
bnROb2RlKCkpOworICAgIEFTU0VSVCgmbm9kZS5kb2N1bWVudCgpID09ICZvd25lckRvY3VtZW50
KCkpOworICAgIEFTU0VSVCgmbm9kZSAhPSAmb3duZXJEb2N1bWVudCgpKTsKKyAgICBBU1NFUlQo
bm9kZS5wYXJlbnROb2RlKCkpOwogICAgIGJvdW5kYXJ5Tm9kZVdpbGxCZVJlbW92ZWQobV9zdGFy
dCwgbm9kZSk7CiAgICAgYm91bmRhcnlOb2RlV2lsbEJlUmVtb3ZlZChtX2VuZCwgbm9kZSk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9SYW5nZS5oCmluZGV4IDFmZTE3NWMyNTNmMjc5NGYxYzUxMWUzNDQxM2Y0ZGNhNzI3ODY1
ZjYuLmY1OGVhMjk5Y2RjZGQwYzE1MWU3NjFhYzQxODY4YjkyMmE5YzgzNjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5n
ZS5oCkBAIC0xMzksNyArMTM5LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBub2RlQ2hpbGRyZW5D
aGFuZ2VkKENvbnRhaW5lck5vZGUmKTsKICAgICB2b2lkIG5vZGVDaGlsZHJlbldpbGxCZVJlbW92
ZWQoQ29udGFpbmVyTm9kZSYpOwotICAgIHZvaWQgbm9kZVdpbGxCZVJlbW92ZWQoTm9kZSopOwor
ICAgIHZvaWQgbm9kZVdpbGxCZVJlbW92ZWQoTm9kZSYpOwogCiAgICAgdm9pZCB0ZXh0SW5zZXJ0
ZWQoTm9kZSosIHVuc2lnbmVkIG9mZnNldCwgdW5zaWduZWQgbGVuZ3RoKTsKICAgICB2b2lkIHRl
eHRSZW1vdmVkKE5vZGUqLCB1bnNpZ25lZCBvZmZzZXQsIHVuc2lnbmVkIGxlbmd0aCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2VCb3VuZGFyeVBvaW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vUmFuZ2VCb3VuZGFyeVBvaW50LmgKaW5kZXggNzg0ZmE0NTNiNDhkYzMyOTI3
Nzk1YmRiNzE0MTUxOWZiNTczZjRlMi4uYjA0ZGMwOGI1NWJmMDIxY2NkZGZiMjZhZWU1ZDM4NGIx
MTI2YWUwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlQm91bmRhcnlQb2lu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZUJvdW5kYXJ5UG9pbnQuaApAQCAtNDgs
NyArNDgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXQoUGFzc1JlZlB0cjxOb2RlPiBjb250YWlu
ZXIsIGludCBvZmZzZXQsIE5vZGUqIGNoaWxkQmVmb3JlKTsKICAgICB2b2lkIHNldE9mZnNldChp
bnQgb2Zmc2V0KTsKIAotICAgIHZvaWQgc2V0VG9CZWZvcmVDaGlsZChOb2RlKik7CisgICAgdm9p
ZCBzZXRUb0JlZm9yZUNoaWxkKE5vZGUmKTsKICAgICB2b2lkIHNldFRvU3RhcnRPZk5vZGUoUGFz
c1JlZlB0cjxOb2RlPik7CiAgICAgdm9pZCBzZXRUb0VuZE9mTm9kZShQYXNzUmVmUHRyPE5vZGU+
KTsKIApAQCAtMTM2LDEyICsxMzYsMTEgQEAgaW5saW5lIHZvaWQgUmFuZ2VCb3VuZGFyeVBvaW50
OjpzZXRPZmZzZXQoaW50IG9mZnNldCkKICAgICBtX29mZnNldEluQ29udGFpbmVyID0gb2Zmc2V0
OwogfQogCi1pbmxpbmUgdm9pZCBSYW5nZUJvdW5kYXJ5UG9pbnQ6OnNldFRvQmVmb3JlQ2hpbGQo
Tm9kZSogY2hpbGQpCitpbmxpbmUgdm9pZCBSYW5nZUJvdW5kYXJ5UG9pbnQ6OnNldFRvQmVmb3Jl
Q2hpbGQoTm9kZSYgY2hpbGQpCiB7Ci0gICAgQVNTRVJUKGNoaWxkKTsKLSAgICBBU1NFUlQoY2hp
bGQtPnBhcmVudE5vZGUoKSk7Ci0gICAgbV9jaGlsZEJlZm9yZUJvdW5kYXJ5ID0gY2hpbGQtPnBy
ZXZpb3VzU2libGluZygpOwotICAgIG1fY29udGFpbmVyTm9kZSA9IGNoaWxkLT5wYXJlbnROb2Rl
KCk7CisgICAgQVNTRVJUKGNoaWxkLnBhcmVudE5vZGUoKSk7CisgICAgbV9jaGlsZEJlZm9yZUJv
dW5kYXJ5ID0gY2hpbGQucHJldmlvdXNTaWJsaW5nKCk7CisgICAgbV9jb250YWluZXJOb2RlID0g
Y2hpbGQucGFyZW50Tm9kZSgpOwogICAgIG1fb2Zmc2V0SW5Db250YWluZXIgPSBtX2NoaWxkQmVm
b3JlQm91bmRhcnkgPyBpbnZhbGlkT2Zmc2V0IDogMDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcAppbmRleCAxN2I1ZjYyNmI3Y2JlMWY0
NTRjNzkxOTFiNWNmYWJhN2MxZGFhNjU1Li40MTZhMDAxYzAyZDM4ZGNhYjhmYWNmMjU0NzkxNzdl
M2I4NzljMDU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVk
aXRDb21tYW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRD
b21tYW5kLmNwcApAQCAtNDIzLDcgKzQyMyw3IEBAIHZvaWQgQ29tcG9zaXRlRWRpdENvbW1hbmQ6
Om1vdmVSZW1haW5pbmdTaWJsaW5nc1RvTmV3UGFyZW50KE5vZGUqIG5vZGUsIE5vZGUqIHBhCiAg
ICAgfQogfQogCi12b2lkIENvbXBvc2l0ZUVkaXRDb21tYW5kOjp1cGRhdGVQb3NpdGlvbkZvck5v
ZGVSZW1vdmFsUHJlc2VydmluZ0NoaWxkcmVuKFBvc2l0aW9uJiBwb3NpdGlvbiwgTm9kZSogbm9k
ZSkKK3ZvaWQgQ29tcG9zaXRlRWRpdENvbW1hbmQ6OnVwZGF0ZVBvc2l0aW9uRm9yTm9kZVJlbW92
YWxQcmVzZXJ2aW5nQ2hpbGRyZW4oUG9zaXRpb24mIHBvc2l0aW9uLCBOb2RlJiBub2RlKQogewog
ICAgIGludCBvZmZzZXQgPSAocG9zaXRpb24uYW5jaG9yVHlwZSgpID09IFBvc2l0aW9uOjpQb3Np
dGlvbklzT2Zmc2V0SW5BbmNob3IpID8gcG9zaXRpb24ub2Zmc2V0SW5Db250YWluZXJOb2RlKCkg
OiAwOwogICAgIHVwZGF0ZVBvc2l0aW9uRm9yTm9kZVJlbW92YWwocG9zaXRpb24sIG5vZGUpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5o
IGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5oCmluZGV4IDQz
ZWY1YTZmYTgwMzM2ZGJhMmMzYjMzZmY5ZjM0ZDg0MDJkYjQxODUuLjVmZjg4NjI4MGUyOTI5Zjhm
MTEwNzU5ZmUwM2M0NGRmNWVlZjVmZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Nv
bXBvc2l0ZUVkaXRDb21tYW5kLmgKQEAgLTEyOCw3ICsxMjgsNyBAQCBwcm90ZWN0ZWQ6CiAgICAg
dm9pZCByZW1vdmVOb2RlUHJlc2VydmluZ0NoaWxkcmVuKFBhc3NSZWZQdHI8Tm9kZT4sIFNob3Vs
ZEFzc3VtZUNvbnRlbnRJc0Fsd2F5c0VkaXRhYmxlID0gRG9Ob3RBc3N1bWVDb250ZW50SXNBbHdh
eXNFZGl0YWJsZSk7CiAgICAgdm9pZCByZW1vdmVOb2RlQW5kUHJ1bmVBbmNlc3RvcnMoUGFzc1Jl
ZlB0cjxOb2RlPik7CiAgICAgdm9pZCBtb3ZlUmVtYWluaW5nU2libGluZ3NUb05ld1BhcmVudChO
b2RlKiwgTm9kZSogcGFzdExhc3ROb2RlVG9Nb3ZlLCBQYXNzUmVmUHRyPEVsZW1lbnQ+IHBycE5l
d1BhcmVudCk7Ci0gICAgdm9pZCB1cGRhdGVQb3NpdGlvbkZvck5vZGVSZW1vdmFsUHJlc2Vydmlu
Z0NoaWxkcmVuKFBvc2l0aW9uJiwgTm9kZSopOworICAgIHZvaWQgdXBkYXRlUG9zaXRpb25Gb3JO
b2RlUmVtb3ZhbFByZXNlcnZpbmdDaGlsZHJlbihQb3NpdGlvbiYsIE5vZGUmKTsKICAgICB2b2lk
IHBydW5lKFBhc3NSZWZQdHI8Tm9kZT4pOwogICAgIHZvaWQgcmVwbGFjZVRleHRJbk5vZGUoUGFz
c1JlZlB0cjxUZXh0PiwgdW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25lZCBjb3VudCwgY29uc3QgU3Ry
aW5nJiByZXBsYWNlbWVudFRleHQpOwogICAgIFBvc2l0aW9uIHJlcGxhY2VTZWxlY3RlZFRleHRJ
bk5vZGUoY29uc3QgU3RyaW5nJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0RlbGV0ZVNlbGVjdGlvbkNvbW1hbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9EZWxl
dGVTZWxlY3Rpb25Db21tYW5kLmNwcAppbmRleCA5ZGEzY2JjZWY3NjNjYzc0MWFkZjUwN2VkODlh
N2IyNjczZGQ1YzJmLi41YmJjMzEyY2E1NDNkNzYwYzc0NzE0N2NkYzlkNzUxOWU0YjY0ZWMzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZVNlbGVjdGlvbkNvbW1hbmQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlU2VsZWN0aW9uQ29tbWFuZC5j
cHAKQEAgLTQwMiw5ICs0MDIsOSBAQCB2b2lkIERlbGV0ZVNlbGVjdGlvbkNvbW1hbmQ6OnJlbW92
ZU5vZGUoUGFzc1JlZlB0cjxOb2RlPiBub2RlLCBTaG91bGRBc3N1bWVDb250ZQogICAgICAgICBt
X25lZWRQbGFjZWhvbGRlciA9IHRydWU7CiAgICAgCiAgICAgLy8gRklYTUU6IFVwZGF0ZSB0aGUg
ZW5kcG9pbnRzIG9mIHRoZSByYW5nZSBiZWluZyBkZWxldGVkLgotICAgIHVwZGF0ZVBvc2l0aW9u
Rm9yTm9kZVJlbW92YWwobV9lbmRpbmdQb3NpdGlvbiwgbm9kZS5nZXQoKSk7Ci0gICAgdXBkYXRl
UG9zaXRpb25Gb3JOb2RlUmVtb3ZhbChtX2xlYWRpbmdXaGl0ZXNwYWNlLCBub2RlLmdldCgpKTsK
LSAgICB1cGRhdGVQb3NpdGlvbkZvck5vZGVSZW1vdmFsKG1fdHJhaWxpbmdXaGl0ZXNwYWNlLCBu
b2RlLmdldCgpKTsKKyAgICB1cGRhdGVQb3NpdGlvbkZvck5vZGVSZW1vdmFsKG1fZW5kaW5nUG9z
aXRpb24sICpub2RlKTsKKyAgICB1cGRhdGVQb3NpdGlvbkZvck5vZGVSZW1vdmFsKG1fbGVhZGlu
Z1doaXRlc3BhY2UsICpub2RlKTsKKyAgICB1cGRhdGVQb3NpdGlvbkZvck5vZGVSZW1vdmFsKG1f
dHJhaWxpbmdXaGl0ZXNwYWNlLCAqbm9kZSk7CiAgICAgCiAgICAgQ29tcG9zaXRlRWRpdENvbW1h
bmQ6OnJlbW92ZU5vZGUobm9kZSwgc2hvdWxkQXNzdW1lQ29udGVudElzQWx3YXlzRWRpdGFibGUp
OwogfQpAQCAtNTI2LDcgKzUyNiw3IEBAIHZvaWQgRGVsZXRlU2VsZWN0aW9uQ29tbWFuZDo6aGFu
ZGxlR2VuZXJhbERlbGV0ZSgpCiAgICAgICAgICAgICAgICAgUmVmUHRyPE5vZGU+IG5leHROb2Rl
ID0gTm9kZVRyYXZlcnNhbDo6bmV4dFNraXBwaW5nQ2hpbGRyZW4obm9kZS5nZXQoKSk7CiAgICAg
ICAgICAgICAgICAgLy8gaWYgd2UganVzdCByZW1vdmVkIGEgbm9kZSBmcm9tIHRoZSBlbmQgY29u
dGFpbmVyLCB1cGRhdGUgZW5kIHBvc2l0aW9uIHNvIHRoZQogICAgICAgICAgICAgICAgIC8vIGNo
ZWNrIGFib3ZlIHdpbGwgd29yawotICAgICAgICAgICAgICAgIHVwZGF0ZVBvc2l0aW9uRm9yTm9k
ZVJlbW92YWwobV9kb3duc3RyZWFtRW5kLCBub2RlLmdldCgpKTsKKyAgICAgICAgICAgICAgICB1
cGRhdGVQb3NpdGlvbkZvck5vZGVSZW1vdmFsKG1fZG93bnN0cmVhbUVuZCwgKm5vZGUpOwogICAg
ICAgICAgICAgICAgIHJlbW92ZU5vZGUobm9kZS5nZXQoKSk7CiAgICAgICAgICAgICAgICAgbm9k
ZSA9IG5leHROb2RlLmdldCgpOwogICAgICAgICAgICAgfSBlbHNlIHsKQEAgLTc4NCw3ICs3ODQs
NyBAQCB2b2lkIERlbGV0ZVNlbGVjdGlvbkNvbW1hbmQ6OnJlbW92ZVJlZHVuZGFudEJsb2Nrcygp
CiAgICAgd2hpbGUgKG5vZGUgIT0gcm9vdE5vZGUpIHsKICAgICAgICAgaWYgKGlzUmVtb3ZhYmxl
QmxvY2sobm9kZSkpIHsKICAgICAgICAgICAgIGlmIChub2RlID09IG1fZW5kaW5nUG9zaXRpb24u
YW5jaG9yTm9kZSgpKQotICAgICAgICAgICAgICAgIHVwZGF0ZVBvc2l0aW9uRm9yTm9kZVJlbW92
YWxQcmVzZXJ2aW5nQ2hpbGRyZW4obV9lbmRpbmdQb3NpdGlvbiwgbm9kZSk7CisgICAgICAgICAg
ICAgICAgdXBkYXRlUG9zaXRpb25Gb3JOb2RlUmVtb3ZhbFByZXNlcnZpbmdDaGlsZHJlbihtX2Vu
ZGluZ1Bvc2l0aW9uLCAqbm9kZSk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIENvbXBvc2l0
ZUVkaXRDb21tYW5kOjpyZW1vdmVOb2RlUHJlc2VydmluZ0NoaWxkcmVuKG5vZGUpOwogICAgICAg
ICAgICAgbm9kZSA9IG1fZW5kaW5nUG9zaXRpb24uYW5jaG9yTm9kZSgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAppbmRleCBkZjRiODQzMTQ2YWU0YWYwZTE2NWI4
NDg3MWJhYzZiZDg1MDQ1MTc2Li44ZGY5OGRiOGQ2NjRlY2FkZGRiMWI5ZTdkMzg5NTM1YjI0Y2Zh
ZGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcApAQCAtMzkw
LDE5ICszOTAsMTggQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRlRGF0YURldGVjdG9yc0Zv
clNlbGVjdGlvbigpCiAjZW5kaWYKIH0KIAotc3RhdGljIGJvb2wgcmVtb3ZpbmdOb2RlUmVtb3Zl
c1Bvc2l0aW9uKE5vZGUqIG5vZGUsIGNvbnN0IFBvc2l0aW9uJiBwb3NpdGlvbikKK3N0YXRpYyBi
b29sIHJlbW92aW5nTm9kZVJlbW92ZXNQb3NpdGlvbihOb2RlJiBub2RlLCBjb25zdCBQb3NpdGlv
biYgcG9zaXRpb24pCiB7CiAgICAgaWYgKCFwb3NpdGlvbi5hbmNob3JOb2RlKCkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAotICAgIGlmIChwb3NpdGlvbi5hbmNob3JOb2RlKCkgPT0gbm9kZSkK
KyAgICBpZiAocG9zaXRpb24uYW5jaG9yTm9kZSgpID09ICZub2RlKQogICAgICAgICByZXR1cm4g
dHJ1ZTsKIAotICAgIGlmICghaXM8RWxlbWVudD4oKm5vZGUpKQorICAgIGlmICghaXM8RWxlbWVu
dD4obm9kZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIEVsZW1lbnQqIGVsZW1lbnQg
PSBkb3duY2FzdDxFbGVtZW50Pihub2RlKTsKLSAgICByZXR1cm4gZWxlbWVudC0+Y29udGFpbnNJ
bmNsdWRpbmdTaGFkb3dET00ocG9zaXRpb24uYW5jaG9yTm9kZSgpKTsKKyAgICByZXR1cm4gZG93
bmNhc3Q8RWxlbWVudD4obm9kZSkuY29udGFpbnNJbmNsdWRpbmdTaGFkb3dET00ocG9zaXRpb24u
YW5jaG9yTm9kZSgpKTsKIH0KIAogc3RhdGljIHZvaWQgY2xlYXJSZW5kZXJWaWV3U2VsZWN0aW9u
KE5vZGUmIG5vZGUpCkBAIC00MTMsMzAgKzQxMiwzMCBAQCBzdGF0aWMgdm9pZCBjbGVhclJlbmRl
clZpZXdTZWxlY3Rpb24oTm9kZSYgbm9kZSkKICAgICAgICAgdmlldy0+Y2xlYXJTZWxlY3Rpb24o
KTsKIH0KIAotdm9pZCBEcmFnQ2FyZXRDb250cm9sbGVyOjpub2RlV2lsbEJlUmVtb3ZlZChOb2Rl
KiBub2RlKQordm9pZCBEcmFnQ2FyZXRDb250cm9sbGVyOjpub2RlV2lsbEJlUmVtb3ZlZChOb2Rl
JiBub2RlKQogewotICAgIGlmICghaGFzQ2FyZXQoKSB8fCAobm9kZSAmJiAhbm9kZS0+aW5Eb2N1
bWVudCgpKSkKKyAgICBpZiAoIWhhc0NhcmV0KCkgfHwgIW5vZGUuaW5Eb2N1bWVudCgpKQogICAg
ICAgICByZXR1cm47CiAKICAgICBpZiAoIXJlbW92aW5nTm9kZVJlbW92ZXNQb3NpdGlvbihub2Rl
LCBtX3Bvc2l0aW9uLmRlZXBFcXVpdmFsZW50KCkpKQogICAgICAgICByZXR1cm47CiAKLSAgICBj
bGVhclJlbmRlclZpZXdTZWxlY3Rpb24oKm5vZGUpOworICAgIGNsZWFyUmVuZGVyVmlld1NlbGVj
dGlvbihub2RlKTsKICAgICBjbGVhcigpOwogfQogCi12b2lkIEZyYW1lU2VsZWN0aW9uOjpub2Rl
V2lsbEJlUmVtb3ZlZChOb2RlKiBub2RlKQordm9pZCBGcmFtZVNlbGVjdGlvbjo6bm9kZVdpbGxC
ZVJlbW92ZWQoTm9kZSYgbm9kZSkKIHsKICAgICAvLyBUaGVyZSBjYW4ndCBiZSBhIHNlbGVjdGlv
biBpbnNpZGUgYSBmcmFnbWVudCwgc28gaWYgYSBmcmFnbWVudCdzIG5vZGUgaXMgYmVpbmcgcmVt
b3ZlZCwKICAgICAvLyB0aGUgc2VsZWN0aW9uIGluIHRoZSBkb2N1bWVudCB0aGF0IGNyZWF0ZWQg
dGhlIGZyYWdtZW50IG5lZWRzIG5vIGFkanVzdG1lbnQuCi0gICAgaWYgKGlzTm9uZSgpIHx8IChu
b2RlICYmICFub2RlLT5pbkRvY3VtZW50KCkpKQorICAgIGlmIChpc05vbmUoKSB8fCAhbm9kZS5p
bkRvY3VtZW50KCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIHJlc3BvbmRUb05vZGVNb2RpZmlj
YXRpb24obm9kZSwgcmVtb3ZpbmdOb2RlUmVtb3Zlc1Bvc2l0aW9uKG5vZGUsIG1fc2VsZWN0aW9u
LmJhc2UoKSksIHJlbW92aW5nTm9kZVJlbW92ZXNQb3NpdGlvbihub2RlLCBtX3NlbGVjdGlvbi5l
eHRlbnQoKSksCiAgICAgICAgIHJlbW92aW5nTm9kZVJlbW92ZXNQb3NpdGlvbihub2RlLCBtX3Nl
bGVjdGlvbi5zdGFydCgpKSwgcmVtb3ZpbmdOb2RlUmVtb3Zlc1Bvc2l0aW9uKG5vZGUsIG1fc2Vs
ZWN0aW9uLmVuZCgpKSk7CiB9CiAKLXZvaWQgRnJhbWVTZWxlY3Rpb246OnJlc3BvbmRUb05vZGVN
b2RpZmljYXRpb24oTm9kZSogbm9kZSwgYm9vbCBiYXNlUmVtb3ZlZCwgYm9vbCBleHRlbnRSZW1v
dmVkLCBib29sIHN0YXJ0UmVtb3ZlZCwgYm9vbCBlbmRSZW1vdmVkKQordm9pZCBGcmFtZVNlbGVj
dGlvbjo6cmVzcG9uZFRvTm9kZU1vZGlmaWNhdGlvbihOb2RlJiBub2RlLCBib29sIGJhc2VSZW1v
dmVkLCBib29sIGV4dGVudFJlbW92ZWQsIGJvb2wgc3RhcnRSZW1vdmVkLCBib29sIGVuZFJlbW92
ZWQpCiB7CiAgICAgYm9vbCBjbGVhclJlbmRlclRyZWVTZWxlY3Rpb24gPSBmYWxzZTsKICAgICBi
b29sIGNsZWFyRE9NVHJlZVNlbGVjdGlvbiA9IGZhbHNlOwpAQCAtNDY5LDcgKzQ2OCw3IEBAIHZv
aWQgRnJhbWVTZWxlY3Rpb246OnJlc3BvbmRUb05vZGVNb2RpZmljYXRpb24oTm9kZSogbm9kZSwg
Ym9vbCBiYXNlUmVtb3ZlZCwgYm9vCiAgICAgICAgICAgICBtX3NlbGVjdGlvbi5zZXRXaXRob3V0
VmFsaWRhdGlvbihtX3NlbGVjdGlvbi5lbmQoKSwgbV9zZWxlY3Rpb24uc3RhcnQoKSk7CiAgICAg
fSBlbHNlIGlmIChSZWZQdHI8UmFuZ2U+IHJhbmdlID0gbV9zZWxlY3Rpb24uZmlyc3RSYW5nZSgp
KSB7CiAgICAgICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgICAgICBSYW5nZTo6Q29tcGFy
ZVJlc3VsdHMgY29tcGFyZVJlc3VsdCA9IHJhbmdlLT5jb21wYXJlTm9kZShub2RlLCBlYyk7Cisg
ICAgICAgIFJhbmdlOjpDb21wYXJlUmVzdWx0cyBjb21wYXJlUmVzdWx0ID0gcmFuZ2UtPmNvbXBh
cmVOb2RlKCZub2RlLCBlYyk7CiAgICAgICAgIGlmICghZWMgJiYgKGNvbXBhcmVSZXN1bHQgPT0g
UmFuZ2U6Ok5PREVfQkVGT1JFX0FORF9BRlRFUiB8fCBjb21wYXJlUmVzdWx0ID09IFJhbmdlOjpO
T0RFX0lOU0lERSkpIHsKICAgICAgICAgICAgIC8vIElmIHdlIGRpZCBub3RoaW5nIGhlcmUsIHdo
ZW4gdGhpcyBub2RlJ3MgcmVuZGVyZXIgd2FzIGRlc3Ryb3llZCwgdGhlIHJlY3QgdGhhdCBpdCAK
ICAgICAgICAgICAgIC8vIG9jY3VwaWVkIHdvdWxkIGJlIGludmFsaWRhdGVkLCBidXQsIHNlbGVj
dGlvbiBnYXBzIHRoYXQgY2hhbmdlIGFzIGEgcmVzdWx0IG9mIApAQCAtNDgwLDEwICs0NzksMTAg
QEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6cmVzcG9uZFRvTm9kZU1vZGlmaWNhdGlvbihOb2RlKiBu
b2RlLCBib29sIGJhc2VSZW1vdmVkLCBib28KICAgICB9CiAKICAgICBpZiAoY2xlYXJSZW5kZXJU
cmVlU2VsZWN0aW9uKSB7Ci0gICAgICAgIGNsZWFyUmVuZGVyVmlld1NlbGVjdGlvbigqbm9kZSk7
CisgICAgICAgIGNsZWFyUmVuZGVyVmlld1NlbGVjdGlvbihub2RlKTsKIAogICAgICAgICAvLyBU
cmlnZ2VyIGEgc2VsZWN0aW9uIHVwZGF0ZSBzbyB0aGUgc2VsZWN0aW9uIHdpbGwgYmUgc2V0IGFn
YWluLgotICAgICAgICBpZiAoYXV0byogcmVuZGVyVmlldyA9IG5vZGUtPmRvY3VtZW50KCkucmVu
ZGVyVmlldygpKSB7CisgICAgICAgIGlmIChhdXRvKiByZW5kZXJWaWV3ID0gbm9kZS5kb2N1bWVu
dCgpLnJlbmRlclZpZXcoKSkgewogICAgICAgICAgICAgbV9wZW5kaW5nU2VsZWN0aW9uVXBkYXRl
ID0gdHJ1ZTsKICAgICAgICAgICAgIHJlbmRlclZpZXctPnNldE5lZWRzTGF5b3V0KCk7CiAgICAg
ICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24u
aCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaAppbmRleCBhOWRjOTJj
M2UxNzIzMjE1MGJhMTE0OWVjZWE0NDMzOGFmNzU4ZTE3Li5mOTg4YzZjZDIxYTVmZDZjZjJmOTk0
NTE4NmEwYjk1MzMzNzI2MjFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Zy
YW1lU2VsZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlv
bi5oCkBAIC0xMDMsNyArMTAzLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0Q2FyZXRQb3NpdGlv
bihjb25zdCBWaXNpYmxlUG9zaXRpb24mKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGNsZWFy
KCkgeyBzZXRDYXJldFBvc2l0aW9uKFZpc2libGVQb3NpdGlvbigpKTsgfQogCi0gICAgdm9pZCBu
b2RlV2lsbEJlUmVtb3ZlZChOb2RlKik7CisgICAgdm9pZCBub2RlV2lsbEJlUmVtb3ZlZChOb2Rl
Jik7CiAKIHByaXZhdGU6CiAgICAgVmlzaWJsZVBvc2l0aW9uIG1fcG9zaXRpb247CkBAIC0xODcs
NyArMTg3LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBkZWJ1Z1JlbmRlcmVyKFJlbmRlck9iamVj
dCosIGJvb2wgc2VsZWN0ZWQpIGNvbnN0OwogCi0gICAgdm9pZCBub2RlV2lsbEJlUmVtb3ZlZChO
b2RlKik7CisgICAgdm9pZCBub2RlV2lsbEJlUmVtb3ZlZChOb2RlJik7CiAgICAgdm9pZCB0ZXh0
V2FzUmVwbGFjZWQoQ2hhcmFjdGVyRGF0YSosIHVuc2lnbmVkIG9mZnNldCwgdW5zaWduZWQgb2xk
TGVuZ3RoLCB1bnNpZ25lZCBuZXdMZW5ndGgpOwogCiAgICAgdm9pZCBzZXRDYXJldFZpc2libGUo
Ym9vbCBjYXJldElzVmlzaWJsZSkgeyBzZXRDYXJldFZpc2liaWxpdHkoY2FyZXRJc1Zpc2libGUg
PyBWaXNpYmxlIDogSGlkZGVuKTsgfQpAQCAtMjc2LDcgKzI3Niw3IEBAIHByaXZhdGU6CiAKICAg
ICBib29sIHNldFNlbGVjdGlvbldpdGhvdXRVcGRhdGluZ0FwcGVhcmFuY2UoY29uc3QgVmlzaWJs
ZVNlbGVjdGlvbiYsIFNldFNlbGVjdGlvbk9wdGlvbnMsIEN1cnNvckFsaWduT25TY3JvbGwsIFRl
eHRHcmFudWxhcml0eSk7CiAKLSAgICB2b2lkIHJlc3BvbmRUb05vZGVNb2RpZmljYXRpb24oTm9k
ZSosIGJvb2wgYmFzZVJlbW92ZWQsIGJvb2wgZXh0ZW50UmVtb3ZlZCwgYm9vbCBzdGFydFJlbW92
ZWQsIGJvb2wgZW5kUmVtb3ZlZCk7CisgICAgdm9pZCByZXNwb25kVG9Ob2RlTW9kaWZpY2F0aW9u
KE5vZGUmLCBib29sIGJhc2VSZW1vdmVkLCBib29sIGV4dGVudFJlbW92ZWQsIGJvb2wgc3RhcnRS
ZW1vdmVkLCBib29sIGVuZFJlbW92ZWQpOwogICAgIFRleHREaXJlY3Rpb24gZGlyZWN0aW9uT2ZF
bmNsb3NpbmdCbG9jaygpOwogICAgIFRleHREaXJlY3Rpb24gZGlyZWN0aW9uT2ZTZWxlY3Rpb24o
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9u
Q29tbWFuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21t
YW5kLmNwcAppbmRleCA0NTgzNjNiMDQ3ZjdiNjA3YWE1ODg4NmEwY2E5NDFkNDU4NDNkYmNiLi45
NWE0YzQ2NDU0NWYwNGE0ZWFmZTY5Mjc1NDI4ZGQxNGVjNmY3YjIxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcApAQCAtMTM5MSw3
ICsxMzkxLDcgQEAgdm9pZCBSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZDo6bWVyZ2VUZXh0Tm9kZXNB
cm91bmRQb3NpdGlvbihQb3NpdGlvbiYgcG9zaXRpb24sIFAKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgaWYgKGlzPFRleHQ+KHRleHQtPnByZXZpb3VzU2libGluZygpKSkgewotICAgICAgICBSZWZQ
dHI8VGV4dD4gcHJldmlvdXMgPSBkb3duY2FzdDxUZXh0Pih0ZXh0LT5wcmV2aW91c1NpYmxpbmco
KSk7CisgICAgICAgIFJlZjxUZXh0PiBwcmV2aW91cyhkb3duY2FzdDxUZXh0PigqdGV4dC0+cHJl
dmlvdXNTaWJsaW5nKCkpKTsKICAgICAgICAgaW5zZXJ0VGV4dEludG9Ob2RlKHRleHQsIDAsIHBy
ZXZpb3VzLT5kYXRhKCkpOwogCiAgICAgICAgIGlmIChwb3NpdGlvbklzT2Zmc2V0SW5BbmNob3Ip
CkBAIC0xNDAyLDI3ICsxNDAyLDI3IEBAIHZvaWQgUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQ6Om1l
cmdlVGV4dE5vZGVzQXJvdW5kUG9zaXRpb24oUG9zaXRpb24mIHBvc2l0aW9uLCBQCiAgICAgICAg
IGlmIChwb3NpdGlvbk9ubHlUb0JlVXBkYXRlZElzT2Zmc2V0SW5BbmNob3IpIHsKICAgICAgICAg
ICAgIGlmIChwb3NpdGlvbk9ubHlUb0JlVXBkYXRlZC5jb250YWluZXJOb2RlKCkgPT0gdGV4dCkK
ICAgICAgICAgICAgICAgICBwb3NpdGlvbk9ubHlUb0JlVXBkYXRlZC5tb3ZlVG9PZmZzZXQocHJl
dmlvdXMtPmxlbmd0aCgpICsgcG9zaXRpb25Pbmx5VG9CZVVwZGF0ZWQub2Zmc2V0SW5Db250YWlu
ZXJOb2RlKCkpOwotICAgICAgICAgICAgZWxzZSBpZiAocG9zaXRpb25Pbmx5VG9CZVVwZGF0ZWQu
Y29udGFpbmVyTm9kZSgpID09IHByZXZpb3VzKQorICAgICAgICAgICAgZWxzZSBpZiAocG9zaXRp
b25Pbmx5VG9CZVVwZGF0ZWQuY29udGFpbmVyTm9kZSgpID09IHByZXZpb3VzLnB0cigpKQogICAg
ICAgICAgICAgICAgIHBvc2l0aW9uT25seVRvQmVVcGRhdGVkLm1vdmVUb1Bvc2l0aW9uKHRleHQs
IHBvc2l0aW9uT25seVRvQmVVcGRhdGVkLm9mZnNldEluQ29udGFpbmVyTm9kZSgpKTsKICAgICAg
ICAgfSBlbHNlCiAgICAgICAgICAgICB1cGRhdGVQb3NpdGlvbkZvck5vZGVSZW1vdmFsKHBvc2l0
aW9uT25seVRvQmVVcGRhdGVkLCBwcmV2aW91cy5nZXQoKSk7CiAKLSAgICAgICAgcmVtb3ZlTm9k
ZShwcmV2aW91cyk7CisgICAgICAgIHJlbW92ZU5vZGUocHJldmlvdXMucHRyKCkpOwogICAgIH0K
ICAgICBpZiAoaXM8VGV4dD4odGV4dC0+bmV4dFNpYmxpbmcoKSkpIHsKLSAgICAgICAgUmVmUHRy
PFRleHQ+IG5leHQgPSBkb3duY2FzdDxUZXh0Pih0ZXh0LT5uZXh0U2libGluZygpKTsKKyAgICAg
ICAgUmVmPFRleHQ+IG5leHQoZG93bmNhc3Q8VGV4dD4oKnRleHQtPm5leHRTaWJsaW5nKCkpKTsK
ICAgICAgICAgdW5zaWduZWQgb3JpZ2luYWxMZW5ndGggPSB0ZXh0LT5sZW5ndGgoKTsKICAgICAg
ICAgaW5zZXJ0VGV4dEludG9Ob2RlKHRleHQsIG9yaWdpbmFsTGVuZ3RoLCBuZXh0LT5kYXRhKCkp
OwogCiAgICAgICAgIGlmICghcG9zaXRpb25Jc09mZnNldEluQW5jaG9yKQogICAgICAgICAgICAg
dXBkYXRlUG9zaXRpb25Gb3JOb2RlUmVtb3ZhbChwb3NpdGlvbiwgbmV4dC5nZXQoKSk7CiAKLSAg
ICAgICAgaWYgKHBvc2l0aW9uT25seVRvQmVVcGRhdGVkSXNPZmZzZXRJbkFuY2hvciAmJiBwb3Np
dGlvbk9ubHlUb0JlVXBkYXRlZC5jb250YWluZXJOb2RlKCkgPT0gbmV4dCkKKyAgICAgICAgaWYg
KHBvc2l0aW9uT25seVRvQmVVcGRhdGVkSXNPZmZzZXRJbkFuY2hvciAmJiBwb3NpdGlvbk9ubHlU
b0JlVXBkYXRlZC5jb250YWluZXJOb2RlKCkgPT0gbmV4dC5wdHIoKSkKICAgICAgICAgICAgIHBv
c2l0aW9uT25seVRvQmVVcGRhdGVkLm1vdmVUb1Bvc2l0aW9uKHRleHQsIG9yaWdpbmFsTGVuZ3Ro
ICsgcG9zaXRpb25Pbmx5VG9CZVVwZGF0ZWQub2Zmc2V0SW5Db250YWluZXJOb2RlKCkpOwogICAg
ICAgICBlbHNlCiAgICAgICAgICAgICB1cGRhdGVQb3NpdGlvbkZvck5vZGVSZW1vdmFsKHBvc2l0
aW9uT25seVRvQmVVcGRhdGVkLCBuZXh0LmdldCgpKTsKIAotICAgICAgICByZW1vdmVOb2RlKG5l
eHQpOworICAgICAgICByZW1vdmVOb2RlKG5leHQucHRyKCkpOwogICAgIH0KIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcAppbmRleCA2ZmI0YWNiN2FjMDk2NjA1NjFmOWQz
OGVjMWQ1YWJiZWE3YzM2ODYyLi4wOTczNWE0ZGM4MDAxMGY1ZjFjNTNhYzdjN2FlZWRiOGZiOTk3
NDlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcApAQCAtOTg0LDMyICs5
ODQsMzIgQEAgdW5zaWduZWQgbnVtRW5jbG9zaW5nTWFpbEJsb2NrcXVvdGVzKGNvbnN0IFBvc2l0
aW9uJiBwKQogICAgIHJldHVybiBudW07CiB9CiAKLXZvaWQgdXBkYXRlUG9zaXRpb25Gb3JOb2Rl
UmVtb3ZhbChQb3NpdGlvbiYgcG9zaXRpb24sIE5vZGUqIG5vZGUpCit2b2lkIHVwZGF0ZVBvc2l0
aW9uRm9yTm9kZVJlbW92YWwoUG9zaXRpb24mIHBvc2l0aW9uLCBOb2RlJiBub2RlKQogewogICAg
IGlmIChwb3NpdGlvbi5pc051bGwoKSkKICAgICAgICAgcmV0dXJuOwogICAgIHN3aXRjaCAocG9z
aXRpb24uYW5jaG9yVHlwZSgpKSB7CiAgICAgY2FzZSBQb3NpdGlvbjo6UG9zaXRpb25Jc0JlZm9y
ZUNoaWxkcmVuOgotICAgICAgICBpZiAobm9kZS0+Y29udGFpbnNJbmNsdWRpbmdTaGFkb3dET00o
cG9zaXRpb24uY29udGFpbmVyTm9kZSgpKSkKLSAgICAgICAgICAgIHBvc2l0aW9uID0gcG9zaXRp
b25JblBhcmVudEJlZm9yZU5vZGUobm9kZSk7CisgICAgICAgIGlmIChub2RlLmNvbnRhaW5zSW5j
bHVkaW5nU2hhZG93RE9NKHBvc2l0aW9uLmNvbnRhaW5lck5vZGUoKSkpCisgICAgICAgICAgICBw
b3NpdGlvbiA9IHBvc2l0aW9uSW5QYXJlbnRCZWZvcmVOb2RlKCZub2RlKTsKICAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBQb3NpdGlvbjo6UG9zaXRpb25Jc0FmdGVyQ2hpbGRyZW46Ci0gICAgICAg
IGlmIChub2RlLT5jb250YWluc0luY2x1ZGluZ1NoYWRvd0RPTShwb3NpdGlvbi5jb250YWluZXJO
b2RlKCkpKQotICAgICAgICAgICAgcG9zaXRpb24gPSBwb3NpdGlvbkluUGFyZW50QmVmb3JlTm9k
ZShub2RlKTsKKyAgICAgICAgaWYgKG5vZGUuY29udGFpbnNJbmNsdWRpbmdTaGFkb3dET00ocG9z
aXRpb24uY29udGFpbmVyTm9kZSgpKSkKKyAgICAgICAgICAgIHBvc2l0aW9uID0gcG9zaXRpb25J
blBhcmVudEJlZm9yZU5vZGUoJm5vZGUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBvc2l0
aW9uOjpQb3NpdGlvbklzT2Zmc2V0SW5BbmNob3I6Ci0gICAgICAgIGlmIChwb3NpdGlvbi5jb250
YWluZXJOb2RlKCkgPT0gbm9kZS0+cGFyZW50Tm9kZSgpICYmIHN0YXRpY19jYXN0PHVuc2lnbmVk
Pihwb3NpdGlvbi5vZmZzZXRJbkNvbnRhaW5lck5vZGUoKSkgPiBub2RlLT5jb21wdXRlTm9kZUlu
ZGV4KCkpCisgICAgICAgIGlmIChwb3NpdGlvbi5jb250YWluZXJOb2RlKCkgPT0gbm9kZS5wYXJl
bnROb2RlKCkgJiYgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHBvc2l0aW9uLm9mZnNldEluQ29udGFp
bmVyTm9kZSgpKSA+IG5vZGUuY29tcHV0ZU5vZGVJbmRleCgpKQogICAgICAgICAgICAgcG9zaXRp
b24ubW92ZVRvT2Zmc2V0KHBvc2l0aW9uLm9mZnNldEluQ29udGFpbmVyTm9kZSgpIC0gMSk7Ci0g
ICAgICAgIGVsc2UgaWYgKG5vZGUtPmNvbnRhaW5zSW5jbHVkaW5nU2hhZG93RE9NKHBvc2l0aW9u
LmNvbnRhaW5lck5vZGUoKSkpCi0gICAgICAgICAgICBwb3NpdGlvbiA9IHBvc2l0aW9uSW5QYXJl
bnRCZWZvcmVOb2RlKG5vZGUpOworICAgICAgICBlbHNlIGlmIChub2RlLmNvbnRhaW5zSW5jbHVk
aW5nU2hhZG93RE9NKHBvc2l0aW9uLmNvbnRhaW5lck5vZGUoKSkpCisgICAgICAgICAgICBwb3Np
dGlvbiA9IHBvc2l0aW9uSW5QYXJlbnRCZWZvcmVOb2RlKCZub2RlKTsKICAgICAgICAgYnJlYWs7
CiAgICAgY2FzZSBQb3NpdGlvbjo6UG9zaXRpb25Jc0FmdGVyQW5jaG9yOgotICAgICAgICBpZiAo
bm9kZS0+Y29udGFpbnNJbmNsdWRpbmdTaGFkb3dET00ocG9zaXRpb24uYW5jaG9yTm9kZSgpKSkK
LSAgICAgICAgICAgIHBvc2l0aW9uID0gcG9zaXRpb25JblBhcmVudEFmdGVyTm9kZShub2RlKTsK
KyAgICAgICAgaWYgKG5vZGUuY29udGFpbnNJbmNsdWRpbmdTaGFkb3dET00ocG9zaXRpb24uYW5j
aG9yTm9kZSgpKSkKKyAgICAgICAgICAgIHBvc2l0aW9uID0gcG9zaXRpb25JblBhcmVudEFmdGVy
Tm9kZSgmbm9kZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUG9zaXRpb246OlBvc2l0aW9u
SXNCZWZvcmVBbmNob3I6Ci0gICAgICAgIGlmIChub2RlLT5jb250YWluc0luY2x1ZGluZ1NoYWRv
d0RPTShwb3NpdGlvbi5hbmNob3JOb2RlKCkpKQotICAgICAgICAgICAgcG9zaXRpb24gPSBwb3Np
dGlvbkluUGFyZW50QmVmb3JlTm9kZShub2RlKTsKKyAgICAgICAgaWYgKG5vZGUuY29udGFpbnNJ
bmNsdWRpbmdTaGFkb3dET00ocG9zaXRpb24uYW5jaG9yTm9kZSgpKSkKKyAgICAgICAgICAgIHBv
c2l0aW9uID0gcG9zaXRpb25JblBhcmVudEJlZm9yZU5vZGUoJm5vZGUpOwogICAgICAgICBicmVh
azsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0
aW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmgKaW5kZXggNTRmOTcz
ODY3MjI2ZmY4M2Q2ZGJmMjk2M2JmYjY0YWNiNDViYTNhYi4uZDI0OWNmOWFhZmEzOTIyOTk4YTZj
YzVhOTNmODEzN2NmMzg2YThhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9o
dG1sZWRpdGluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuaApA
QCAtMTcwLDcgKzE3MCw3IEBAIGJvb2wgaXNBdFVuc3BsaXR0YWJsZUVsZW1lbnQoY29uc3QgUG9z
aXRpb24mKTsKIC8vIG1pc2NlbGxhbmVvdXMgZnVuY3Rpb25zIG9uIFBvc2l0aW9uCiAKIHVuc2ln
bmVkIG51bUVuY2xvc2luZ01haWxCbG9ja3F1b3Rlcyhjb25zdCBQb3NpdGlvbiYpOwotdm9pZCB1
cGRhdGVQb3NpdGlvbkZvck5vZGVSZW1vdmFsKFBvc2l0aW9uJiwgTm9kZSopOwordm9pZCB1cGRh
dGVQb3NpdGlvbkZvck5vZGVSZW1vdmFsKFBvc2l0aW9uJiwgTm9kZSYpOwogCiAvLyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCiAvLyBWaXNpYmxlUG9zaXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmNwcAppbmRleCA5MmZlNjVjYTI1YTEyZDNjNTVlZGNiYjYyZDUzZGJiODRkYjE1YmU3Li5kMDlk
ZDYwMzU5M2YwZGMzNDIzZDA4MTQ3YmY1Yzk2ZDljODk0Mzk3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudEhhbmRsZXIuY3BwCkBAIC01MDMsMTAgKzUwMywxMCBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6
Y2xlYXIoKQogICAgIG1fZGlkTG9uZ1ByZXNzSW52b2tlQ29udGV4dE1lbnUgPSBmYWxzZTsKIH0K
IAotdm9pZCBFdmVudEhhbmRsZXI6Om5vZGVXaWxsQmVSZW1vdmVkKE5vZGUqIG5vZGVUb0JlUmVt
b3ZlZCkKK3ZvaWQgRXZlbnRIYW5kbGVyOjpub2RlV2lsbEJlUmVtb3ZlZChOb2RlJiBub2RlVG9C
ZVJlbW92ZWQpCiB7Ci0gICAgaWYgKG5vZGVUb0JlUmVtb3ZlZC0+Y29udGFpbnMobV9jbGlja05v
ZGUuZ2V0KCkpKQotICAgICAgICBtX2NsaWNrTm9kZSA9IDA7CisgICAgaWYgKG5vZGVUb0JlUmVt
b3ZlZC5jb250YWlucyhtX2NsaWNrTm9kZS5nZXQoKSkpCisgICAgICAgIG1fY2xpY2tOb2RlID0g
bnVsbHB0cjsKIH0KIAogc3RhdGljIHZvaWQgc2V0U2VsZWN0aW9uSWZOZWVkZWQoRnJhbWVTZWxl
Y3Rpb24mIHNlbGVjdGlvbiwgY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgbmV3U2VsZWN0aW9uKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKaW5kZXggOWNkODU3YWM2OTBmYzJmNTllMjI5OThh
MzlkMjZjYTkyM2E5MTFiMy4uNTlkZmUwYTI0ZWFkZTNjZmVlZTcxNjk1MzFiMDMwMWU4M2I1Mjg3
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCkBAIC0xMjUsNyArMTI1LDcgQEAgcHVi
bGljOgogICAgIH5FdmVudEhhbmRsZXIoKTsKIAogICAgIHZvaWQgY2xlYXIoKTsKLSAgICB2b2lk
IG5vZGVXaWxsQmVSZW1vdmVkKE5vZGUqKTsKKyAgICB2b2lkIG5vZGVXaWxsQmVSZW1vdmVkKE5v
ZGUmKTsKIAogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgdm9pZCB1cGRhdGVTZWxlY3Rp
b25Gb3JNb3VzZURyYWcoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>