<?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>173632</bug_id>
          
          <creation_ts>2017-06-20 18:16:19 -0700</creation_ts>
          <short_desc>Remove WILL_REVEAL_EDGE_EVENTS code</short_desc>
          <delta_ts>2017-06-21 14:30:50 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>bdakin</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1321345</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-06-20 18:16:19 -0700</bug_when>
    <thetext>Remove WILL_REVEAL_EDGE_EVENTS code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321346</commentid>
    <comment_count>1</comment_count>
      <attachid>313463</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-06-20 18:21:52 -0700</bug_when>
    <thetext>Created attachment 313463
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321362</commentid>
    <comment_count>2</comment_count>
      <attachid>313470</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-06-20 19:25:51 -0700</bug_when>
    <thetext>Created attachment 313470
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321392</commentid>
    <comment_count>3</comment_count>
      <attachid>313470</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-06-20 21:04:11 -0700</bug_when>
    <thetext>Comment on attachment 313470
Patch

Should probably build, but rs=me.  May our tops and bottoms never reveal themselves.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321408</commentid>
    <comment_count>4</comment_count>
      <attachid>313470</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2017-06-20 21:56:20 -0700</bug_when>
    <thetext>Comment on attachment 313470
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321631</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-06-21 14:30:50 -0700</bug_when>
    <thetext>https://trac.webkit.org/r218651</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313463</attachid>
            <date>2017-06-20 18:21:52 -0700</date>
            <delta_ts>2017-06-20 19:25:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173632-20170620182151.patch</filename>
            <type>text/plain</type>
            <size>24456</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4NjA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGE5NmJjYjdjNzBhZmY1NzAzODM2YTAz
MGZlOWY0ZWZjYWYxMjY2MzUuLmE3M2NiYzgxMDEwYzA2NWZlOWUxMmRhNjZiMjY5OWQzMTQ3YzYz
YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTctMDYtMjAgIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIFdJTExfUkVWRUFMX0VER0VfRVZF
TlRTIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE3MzYzMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFJlbW92ZSB3aWxsLXJldmVhbC1lZGdlIGV2ZW50cywgd2hpY2ggbmV2ZXIgdG9vayBvZmYuCisK
KyAgICAgICAgKiB3dGYvRmVhdHVyZURlZmluZXMuaDoKKwogMjAxNy0wNi0yMCAgS29uc3RhbnRp
biBUb2thcmV2ICA8YW5udWxlbkB5YW5kZXgucnU+CiAKICAgICAgICAgUmVtb3ZlIGV4Y2Vzc2l2
ZSBpbmNsdWRlIGRpcmVjdGl2ZXMgZnJvbSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwYzQ3NGUwMTNhYmM4
MWNiNWI5YmNhNDJkODRlZGY5ZmUwM2ZlYzdjLi40ODZlODBkNGFkY2ViMzZjMGIyNGEyN2RjNGNk
ZWU4MTMzMzM5YjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTctMDYtMjAgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIFdJ
TExfUkVWRUFMX0VER0VfRVZFTlRTIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3MzYzMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlbW92ZSB3aWxsLXJldmVhbC1lZGdlIGV2ZW50cywgd2hpY2gg
bmV2ZXIgdG9vayBvZmYuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OmNsZWFyU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZW5kV2lsbFJldmVhbEVkZ2VFdmVudHNJZk5lZWRl
ZCk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICogZG9tL0ds
b2JhbEV2ZW50SGFuZGxlcnMuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEJvZHlFbGVtZW50Lmlk
bDoKKyAgICAgICAgKiBodG1sL0hUTUxGcmFtZVNldEVsZW1lbnQuaWRsOgorICAgICAgICAqIHBh
Z2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2Nyb2xsUG9z
aXRpb25DaGFuZ2VkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvKToKKwogMjAxNy0wNi0yMCAgQW5k
cmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIG5vLW9wIGNh
bGxzIHRvIHB1cmdlIFNRTGl0ZSBjYWNoZXMgb24gbWVtb3J5IHByZXNzdXJlLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaCBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1
cmVEZWZpbmVzLmgKaW5kZXggMDgxZjE5MmZmODM2YWNiM2YxMDcyOTliYTE0OTBjMjM2ODcxMDBi
Ni4uNjdhOTQ1NmQ2YzY1YmE3ZWUyNWM0YmJlMDk2MDgwYzVjNzE4ZGJiNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0
dXJlRGVmaW5lcy5oCkBAIC03MzIsMTAgKzczMiw2IEBAIHRoZSBwdWJsaWMgaU9TIFNESy4gV2Ug
d2lsbCBhbHNvIG5lZWQgdG8gdXBkYXRlIHRoZSBGZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBmaWxl
CiAjZGVmaW5lIEVOQUJMRV9XRUJfVElNSU5HIDAKICNlbmRpZgogCi0jaWYgIWRlZmluZWQoRU5B
QkxFX1dJTExfUkVWRUFMX0VER0VfRVZFTlRTKQotI2RlZmluZSBFTkFCTEVfV0lMTF9SRVZFQUxf
RURHRV9FVkVOVFMgMQotI2VuZGlmCi0KICNpZiAhZGVmaW5lZChFTkFCTEVfWFNMVCkKICNkZWZp
bmUgRU5BQkxFX1hTTFQgMQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA5YTA5
ODc5YzlhOWM0Yjc0YjVkMzRiYTIyOTBhMGU4YWM5MjhhZDZhLi42MGQ2MTM1MzA1MWQ0YTllNTk4
MDFkNTRjMzI0MjI2M2Q5ZTRjMzczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTYyNzAs
NzcgKzYyNzAsNiBAQCB2b2lkIERvY3VtZW50OjpjbGVhclNjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlcigpCiAgICAgICAgIG1fc2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLT5jbGVhckRvY3Vt
ZW50UG9pbnRlcigpOwogICAgIG1fc2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyID0gbnVsbHB0
cjsKIH0KLSAgICAKLXZvaWQgRG9jdW1lbnQ6OnNlbmRXaWxsUmV2ZWFsRWRnZUV2ZW50c0lmTmVl
ZGVkKGNvbnN0IEludFBvaW50JiBvbGRQb3NpdGlvbiwgY29uc3QgSW50UG9pbnQmIG5ld1Bvc2l0
aW9uLCBjb25zdCBJbnRSZWN0JiB2aXNpYmxlUmVjdCwgY29uc3QgSW50U2l6ZSYgY29udGVudHNT
aXplLCBFbGVtZW50KiB0YXJnZXQpCi17Ci0gICAgLy8gRm9yIGVhY2ggZWRnZSAodG9wLCBib3R0
b20sIGxlZnQgYW5kIHJpZ2h0KSwgc2VuZCB0aGUgd2lsbCByZXZlYWwgZWRnZSBldmVudCBmb3Ig
dGhhdCBkaXJlY3Rpb24KLSAgICAvLyBpZiBuZXdQb3NpdGlvbiBpcyBhdCBvciBiZXlvbmQgdGhl
IG5vdGlmaWNhdGlvbiBwb2ludCwgaWYgdGhlIHNjcm9sbCBkaXJlY3Rpb24gaXMgaGVhZGluZyBp
biB0aGUKLSAgICAvLyBkaXJlY3Rpb24gb2YgdGhhdCBlZGdlIHBvaW50LCBhbmQgaWYgb2xkUG9z
aXRpb24gaXMgYmVmb3JlIHRoZSBub3RpZmljYXRpb24gcG9pbnQgKHdoaWNoIGluZGljYXRlcwot
ICAgIC8vIHRoYXQgdGhpcyBpcyB0aGUgZmlyc3QgbW9tZW50IHRoYXQgd2Uga25vdyB3ZSBjcm9z
c2VkIHRoZSBtYWdpYyBsaW5lKS4KLSAgICAKLSNpZiBFTkFCTEUoV0lMTF9SRVZFQUxfRURHRV9F
VkVOVFMpCi0gICAgLy8gRklYTUU6IGJyb2tlbiBpbiBSVEwgZG9jdW1lbnRzLgotICAgIGludCB3
aWxsUmV2ZWFsQm90dG9tTm90aWZpY2F0aW9uUG9pbnQgPSBzdGQ6Om1heCgwLCBjb250ZW50c1Np
emUuaGVpZ2h0KCkgLSAyICogIHZpc2libGVSZWN0LmhlaWdodCgpKTsKLSAgICBpbnQgd2lsbFJl
dmVhbFRvcE5vdGlmaWNhdGlvblBvaW50ID0gdmlzaWJsZVJlY3QuaGVpZ2h0KCk7Ci0KLSAgICAv
LyBCb3R0b20gZWRnZS4KLSAgICBpZiAobmV3UG9zaXRpb24ueSgpID49IHdpbGxSZXZlYWxCb3R0
b21Ob3RpZmljYXRpb25Qb2ludCAmJiBuZXdQb3NpdGlvbi55KCkgPiBvbGRQb3NpdGlvbi55KCkK
LSAgICAgICAgJiYgd2lsbFJldmVhbEJvdHRvbU5vdGlmaWNhdGlvblBvaW50ID49IG9sZFBvc2l0
aW9uLnkoKSkgewotICAgICAgICBSZWY8RXZlbnQ+IHdpbGxSZXZlYWxFdmVudCA9IEV2ZW50Ojpj
cmVhdGUoZXZlbnROYW1lcygpLndlYmtpdHdpbGxyZXZlYWxib3R0b21FdmVudCwgZmFsc2UsIGZh
bHNlKTsKLSAgICAgICAgaWYgKCF0YXJnZXQpCi0gICAgICAgICAgICBlbnF1ZXVlV2luZG93RXZl
bnQoV1RGTW92ZSh3aWxsUmV2ZWFsRXZlbnQpKTsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAg
ICB3aWxsUmV2ZWFsRXZlbnQtPnNldFRhcmdldCh0YXJnZXQpOwotICAgICAgICAgICAgbV9ldmVu
dFF1ZXVlLmVucXVldWVFdmVudChXVEZNb3ZlKHdpbGxSZXZlYWxFdmVudCkpOwotICAgICAgICB9
Ci0gICAgfQotCi0gICAgLy8gVG9wIGVkZ2UuCi0gICAgaWYgKG5ld1Bvc2l0aW9uLnkoKSA8PSB3
aWxsUmV2ZWFsVG9wTm90aWZpY2F0aW9uUG9pbnQgJiYgbmV3UG9zaXRpb24ueSgpIDwgb2xkUG9z
aXRpb24ueSgpCi0gICAgICAgICYmIHdpbGxSZXZlYWxUb3BOb3RpZmljYXRpb25Qb2ludCA8PSBv
bGRQb3NpdGlvbi55KCkpIHsKLSAgICAgICAgUmVmPEV2ZW50PiB3aWxsUmV2ZWFsRXZlbnQgPSBF
dmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS53ZWJraXR3aWxscmV2ZWFsdG9wRXZlbnQsIGZhbHNl
LCBmYWxzZSk7Ci0gICAgICAgIGlmICghdGFyZ2V0KQotICAgICAgICAgICAgZW5xdWV1ZVdpbmRv
d0V2ZW50KFdURk1vdmUod2lsbFJldmVhbEV2ZW50KSk7Ci0gICAgICAgIGVsc2UgewotICAgICAg
ICAgICAgd2lsbFJldmVhbEV2ZW50LT5zZXRUYXJnZXQodGFyZ2V0KTsKLSAgICAgICAgICAgIG1f
ZXZlbnRRdWV1ZS5lbnF1ZXVlRXZlbnQoV1RGTW92ZSh3aWxsUmV2ZWFsRXZlbnQpKTsKLSAgICAg
ICAgfQotICAgIH0KLQotICAgIGludCB3aWxsUmV2ZWFsUmlnaHROb3RpZmljYXRpb25Qb2ludCA9
IHN0ZDo6bWF4KDAsIGNvbnRlbnRzU2l6ZS53aWR0aCgpIC0gMiAqIHZpc2libGVSZWN0LndpZHRo
KCkpOwotICAgIGludCB3aWxsUmV2ZWFsTGVmdE5vdGlmaWNhdGlvblBvaW50ID0gdmlzaWJsZVJl
Y3Qud2lkdGgoKTsKLQotICAgIC8vIFJpZ2h0IGVkZ2UuCi0gICAgaWYgKG5ld1Bvc2l0aW9uLngo
KSA+PSB3aWxsUmV2ZWFsUmlnaHROb3RpZmljYXRpb25Qb2ludCAmJiBuZXdQb3NpdGlvbi54KCkg
PiBvbGRQb3NpdGlvbi54KCkKLSAgICAgICAgJiYgd2lsbFJldmVhbFJpZ2h0Tm90aWZpY2F0aW9u
UG9pbnQgPj0gb2xkUG9zaXRpb24ueCgpKSB7Ci0gICAgICAgIFJlZjxFdmVudD4gd2lsbFJldmVh
bEV2ZW50ID0gRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkud2Via2l0d2lsbHJldmVhbHJpZ2h0
RXZlbnQsIGZhbHNlLCBmYWxzZSk7Ci0gICAgICAgIGlmICghdGFyZ2V0KQotICAgICAgICAgICAg
ZW5xdWV1ZVdpbmRvd0V2ZW50KFdURk1vdmUod2lsbFJldmVhbEV2ZW50KSk7Ci0gICAgICAgIGVs
c2UgewotICAgICAgICAgICAgd2lsbFJldmVhbEV2ZW50LT5zZXRUYXJnZXQodGFyZ2V0KTsKLSAg
ICAgICAgICAgIG1fZXZlbnRRdWV1ZS5lbnF1ZXVlRXZlbnQoV1RGTW92ZSh3aWxsUmV2ZWFsRXZl
bnQpKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIC8vIExlZnQgZWRnZS4KLSAgICBpZiAobmV3
UG9zaXRpb24ueCgpIDw9IHdpbGxSZXZlYWxMZWZ0Tm90aWZpY2F0aW9uUG9pbnQgJiYgbmV3UG9z
aXRpb24ueCgpIDwgb2xkUG9zaXRpb24ueCgpCi0gICAgICAgICYmIHdpbGxSZXZlYWxMZWZ0Tm90
aWZpY2F0aW9uUG9pbnQgPD0gb2xkUG9zaXRpb24ueCgpKSB7Ci0gICAgICAgIFJlZjxFdmVudD4g
d2lsbFJldmVhbEV2ZW50ID0gRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkud2Via2l0d2lsbHJl
dmVhbGxlZnRFdmVudCwgZmFsc2UsIGZhbHNlKTsKLSAgICAgICAgaWYgKCF0YXJnZXQpCi0gICAg
ICAgICAgICBlbnF1ZXVlV2luZG93RXZlbnQoV1RGTW92ZSh3aWxsUmV2ZWFsRXZlbnQpKTsKLSAg
ICAgICAgZWxzZSB7Ci0gICAgICAgICAgICB3aWxsUmV2ZWFsRXZlbnQtPnNldFRhcmdldCh0YXJn
ZXQpOwotICAgICAgICAgICAgbV9ldmVudFF1ZXVlLmVucXVldWVFdmVudChXVEZNb3ZlKHdpbGxS
ZXZlYWxFdmVudCkpOwotICAgICAgICB9Ci0gICAgfQotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0o
b2xkUG9zaXRpb24pOwotICAgIFVOVVNFRF9QQVJBTShuZXdQb3NpdGlvbik7Ci0gICAgVU5VU0VE
X1BBUkFNKHZpc2libGVSZWN0KTsKLSAgICBVTlVTRURfUEFSQU0oY29udGVudHNTaXplKTsKLSAg
ICBVTlVTRURfUEFSQU0odGFyZ2V0KTsKLSNlbmRpZgotfQogCiB2b2lkIERvY3VtZW50Ojp3aGVl
bEV2ZW50SGFuZGxlcnNDaGFuZ2VkKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggZmVhNGFh
ZDAxNjM1MmI3NGFjNGM0YzJkYWEyNzRkYmQwOTgxODQ2OC4uMjczY2E5MmJkNzlhN2FlZTc0YzVi
NmUwODkxZDIxMzZjNTk4MDFhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTExNjQsOCArMTE2
NCw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGNhbmNlbEFuaW1hdGlvbkZyYW1lKGludCBpZCk7CiAg
ICAgdm9pZCBzZXJ2aWNlU2NyaXB0ZWRBbmltYXRpb25zKGRvdWJsZSB0aW1lc3RhbXApOwogCi0g
ICAgdm9pZCBzZW5kV2lsbFJldmVhbEVkZ2VFdmVudHNJZk5lZWRlZChjb25zdCBJbnRQb2ludCYg
b2xkUG9zaXRpb24sIGNvbnN0IEludFBvaW50JiBuZXdQb3NpdGlvbiwgY29uc3QgSW50UmVjdCYg
dmlzaWJsZVJlY3QsIGNvbnN0IEludFNpemUmIGNvbnRlbnRzU2l6ZSwgRWxlbWVudCogdGFyZ2V0
ID0gbnVsbHB0cik7Ci0KICAgICBFdmVudFRhcmdldCogZXJyb3JFdmVudFRhcmdldCgpIGZpbmFs
OwogICAgIHZvaWQgbG9nRXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNz
YWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5O
dW1iZXIsIFJlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4mJikgZmluYWw7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9HbG9iYWxFdmVudEhhbmRsZXJzLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9HbG9iYWxFdmVudEhhbmRsZXJzLmlkbAppbmRleCA1MzIxOTA4MGRl
ZGY5M2JhNTYwZTBmYWQxMjVmM2NmMjZhNjcyYmI4Li4yNGYxM2EyMjFhOTQ1MjI4YThiNzMzNWU1
NTJhYmZlYTYxZmMyMmJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vR2xvYmFsRXZl
bnRIYW5kbGVycy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0dsb2JhbEV2ZW50SGFuZGxl
cnMuaWRsCkBAIC0xMjIsOCArMTIyLDQgQEAKICAgICBbTm90RW51bWVyYWJsZSwgQ29uZGl0aW9u
YWw9TU9VU0VfRk9SQ0VfRVZFTlRTXSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ud2Via2l0bW91
c2Vmb3JjZWRvd247CiAgICAgW05vdEVudW1lcmFibGUsIENvbmRpdGlvbmFsPU1PVVNFX0ZPUkNF
X0VWRU5UU10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndlYmtpdG1vdXNlZm9yY2V3aWxsYmVn
aW47CiAgICAgW05vdEVudW1lcmFibGUsIENvbmRpdGlvbmFsPU1PVVNFX0ZPUkNFX0VWRU5UU10g
YXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndlYmtpdG1vdXNlZm9yY2V1cDsKLSAgICBbTm90RW51
bWVyYWJsZSwgQ29uZGl0aW9uYWw9V0lMTF9SRVZFQUxfRURHRV9FVkVOVFNdIGF0dHJpYnV0ZSBF
dmVudEhhbmRsZXIgb253ZWJraXR3aWxscmV2ZWFsYm90dG9tOwotICAgIFtOb3RFbnVtZXJhYmxl
LCBDb25kaXRpb25hbD1XSUxMX1JFVkVBTF9FREdFX0VWRU5UU10gYXR0cmlidXRlIEV2ZW50SGFu
ZGxlciBvbndlYmtpdHdpbGxyZXZlYWxsZWZ0OwotICAgIFtOb3RFbnVtZXJhYmxlLCBDb25kaXRp
b25hbD1XSUxMX1JFVkVBTF9FREdFX0VWRU5UU10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndl
YmtpdHdpbGxyZXZlYWxyaWdodDsKLSAgICBbTm90RW51bWVyYWJsZSwgQ29uZGl0aW9uYWw9V0lM
TF9SRVZFQUxfRURHRV9FVkVOVFNdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb253ZWJraXR3aWxs
cmV2ZWFsdG9wOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJvZHlF
bGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmlkbAppbmRl
eCA0OWRjNmFlMzFlZmJkMGE5NDNlOGY2NzNmZmM5ZDUzMzY4NTQ3ZGJhLi42ZWVmODdiYjFhNWQ4
ZmIwOGY4MTFjZjNlN2RkNWNkYTIyYzUyMGFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxCb2R5RWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9k
eUVsZW1lbnQuaWRsCkBAIC0zOSwxMCArMzksNiBAQCBpbnRlcmZhY2UgSFRNTEJvZHlFbGVtZW50
IDogSFRNTEVsZW1lbnQgewogICAgIFtOb3RFbnVtZXJhYmxlLCBXaW5kb3dFdmVudEhhbmRsZXIs
IENvbmRpdGlvbmFsPU1PVVNFX0ZPUkNFX0VWRU5UU10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBv
bndlYmtpdG1vdXNlZm9yY2Vkb3duOwogICAgIFtOb3RFbnVtZXJhYmxlLCBXaW5kb3dFdmVudEhh
bmRsZXIsIENvbmRpdGlvbmFsPU1PVVNFX0ZPUkNFX0VWRU5UU10gYXR0cmlidXRlIEV2ZW50SGFu
ZGxlciBvbndlYmtpdG1vdXNlZm9yY2V3aWxsYmVnaW47CiAgICAgW05vdEVudW1lcmFibGUsIFdp
bmRvd0V2ZW50SGFuZGxlciwgQ29uZGl0aW9uYWw9TU9VU0VfRk9SQ0VfRVZFTlRTXSBhdHRyaWJ1
dGUgRXZlbnRIYW5kbGVyIG9ud2Via2l0bW91c2Vmb3JjZXVwOwotICAgIFtOb3RFbnVtZXJhYmxl
LCBXaW5kb3dFdmVudEhhbmRsZXIsIENvbmRpdGlvbmFsPVdJTExfUkVWRUFMX0VER0VfRVZFTlRT
XSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ud2Via2l0d2lsbHJldmVhbGJvdHRvbTsKLSAgICBb
Tm90RW51bWVyYWJsZSwgV2luZG93RXZlbnRIYW5kbGVyLCBDb25kaXRpb25hbD1XSUxMX1JFVkVB
TF9FREdFX0VWRU5UU10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndlYmtpdHdpbGxyZXZlYWxs
ZWZ0OwotICAgIFtOb3RFbnVtZXJhYmxlLCBXaW5kb3dFdmVudEhhbmRsZXIsIENvbmRpdGlvbmFs
PVdJTExfUkVWRUFMX0VER0VfRVZFTlRTXSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ud2Via2l0
d2lsbHJldmVhbHJpZ2h0OwotICAgIFtOb3RFbnVtZXJhYmxlLCBXaW5kb3dFdmVudEhhbmRsZXIs
IENvbmRpdGlvbmFsPVdJTExfUkVWRUFMX0VER0VfRVZFTlRTXSBhdHRyaWJ1dGUgRXZlbnRIYW5k
bGVyIG9ud2Via2l0d2lsbHJldmVhbHRvcDsKIAogICAgIC8vIFVuaXF1ZSB0byBEb2N1bWVudCBh
bmQgSFRNTEJvZHlFbGVtZW50CiAgICAgW05vdEVudW1lcmFibGUsIERvY3VtZW50RXZlbnRIYW5k
bGVyXSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uc2VsZWN0aW9uY2hhbmdlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVTZXRFbGVtZW50LmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEZyYW1lU2V0RWxlbWVudC5pZGwKaW5kZXggMmRhMWY1Y2I4NzZhMTg0
NmZjZGUxN2Y1NzM0YmRmNDMxMjhjYzBhMy4uMzI1MGI5NDkwZWRiOGJiMThmNDdiOTgyY2JiN2Y2
YjQ0MDhkMzEyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVTZXRF
bGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZVNldEVsZW1lbnQu
aWRsCkBAIC0zMSwxMSArMzEsNiBAQCBpbnRlcmZhY2UgSFRNTEZyYW1lU2V0RWxlbWVudCA6IEhU
TUxFbGVtZW50IHsKICAgICBbTm90RW51bWVyYWJsZSwgV2luZG93RXZlbnRIYW5kbGVyXSBhdHRy
aWJ1dGUgRXZlbnRIYW5kbGVyIG9ucmVzaXplOwogICAgIFtOb3RFbnVtZXJhYmxlLCBXaW5kb3dF
dmVudEhhbmRsZXJdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25zY3JvbGw7CiAKLSAgICBbTm90
RW51bWVyYWJsZSwgV2luZG93RXZlbnRIYW5kbGVyLCBDb25kaXRpb25hbD1XSUxMX1JFVkVBTF9F
REdFX0VWRU5UU10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndlYmtpdHdpbGxyZXZlYWxib3R0
b207Ci0gICAgW05vdEVudW1lcmFibGUsIFdpbmRvd0V2ZW50SGFuZGxlciwgQ29uZGl0aW9uYWw9
V0lMTF9SRVZFQUxfRURHRV9FVkVOVFNdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb253ZWJraXR3
aWxscmV2ZWFsbGVmdDsKLSAgICBbTm90RW51bWVyYWJsZSwgV2luZG93RXZlbnRIYW5kbGVyLCBD
b25kaXRpb25hbD1XSUxMX1JFVkVBTF9FREdFX0VWRU5UU10gYXR0cmlidXRlIEV2ZW50SGFuZGxl
ciBvbndlYmtpdHdpbGxyZXZlYWxyaWdodDsKLSAgICBbTm90RW51bWVyYWJsZSwgV2luZG93RXZl
bnRIYW5kbGVyLCBDb25kaXRpb25hbD1XSUxMX1JFVkVBTF9FREdFX0VWRU5UU10gYXR0cmlidXRl
IEV2ZW50SGFuZGxlciBvbndlYmtpdHdpbGxyZXZlYWx0b3A7Ci0gICAgCiAgICAgLy8gTm9uLXN0
YW5kYXJkIG5hbWVkIGdldHRlcgogICAgIC8vIEZJWE1FOiBUaGlzIGlzIG5vdCBpbiB0aGUgc3Rh
bmRhcmQsIGNhbiB3ZSByZW1vdmUgdGhpcz8KICAgICBnZXR0ZXIgRE9NV2luZG93IChET01TdHJp
bmcgbmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggZTA4OWIwZmU1MTAxNDlj
ODFmMTRiMjQxM2E2NmE2NWI2MWI3YTc5My4uYTQwOWRiOWFiYzljNmI4N2UzZmYwNTU4YmIzNjFk
N2FmYzFkOTI2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMjU0OSw5ICsyNTQ5
LDYgQEAgdm9pZCBGcmFtZVZpZXc6OnNjcm9sbFBvc2l0aW9uQ2hhbmdlZChjb25zdCBTY3JvbGxQ
b3NpdGlvbiYgb2xkUG9zaXRpb24sIGNvbnN0IFMKICAgICB9IGVsc2UgaWYgKCFtX2RlbGF5ZWRT
Y3JvbGxFdmVudFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50
VGltZXIuc3RhcnRPbmVTaG90KHRocm90dGxpbmdEZWxheSk7CiAKLSAgICBpZiAoRG9jdW1lbnQq
IGRvY3VtZW50ID0gZnJhbWUoKS5kb2N1bWVudCgpKQotICAgICAgICBkb2N1bWVudC0+c2VuZFdp
bGxSZXZlYWxFZGdlRXZlbnRzSWZOZWVkZWQob2xkUG9zaXRpb24sIG5ld1Bvc2l0aW9uLCB2aXNp
YmxlQ29udGVudFJlY3QoKSwgY29udGVudHNTaXplKCkpOwotCiAgICAgaWYgKFJlbmRlclZpZXcq
IHJlbmRlclZpZXcgPSB0aGlzLT5yZW5kZXJWaWV3KCkpIHsKICAgICAgICAgaWYgKHJlbmRlclZp
ZXctPnVzZXNDb21wb3NpdGluZygpKQogICAgICAgICAgICAgcmVuZGVyVmlldy0+Y29tcG9zaXRv
cigpLmZyYW1lVmlld0RpZFNjcm9sbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAKaW5kZXggZWQ1MmJlNmZkMjljODQ1ZGU5Y2FhOGEyNjExZGI1MzBiOWMwNjY2YS4u
OWQ2MDMwMThlOWMwMDAwYmEzMDZkMzU4M2E2YjMyYWUyM2NhMWMzMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0yNDA2LDcgKzI0MDYsNiBAQCB2b2lkIFJl
bmRlckxheWVyOjpzY3JvbGxUbyhjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24pCiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAgICAgCi0gICAgU2Nyb2xsUG9zaXRpb24gb2xkUG9zaXRpb24g
PSBJbnRQb2ludChtX3Njcm9sbFBvc2l0aW9uKTsKICAgICBtX3Njcm9sbFBvc2l0aW9uID0gbmV3
UG9zaXRpb247CiAKICAgICBSZW5kZXJWaWV3JiB2aWV3ID0gcmVuZGVyZXIoKS52aWV3KCk7CkBA
IC0yNDU3LDEwICsyNDU2LDggQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG8oY29uc3QgU2Ny
b2xsUG9zaXRpb24mIHBvc2l0aW9uKQogICAgICAgICByZW5kZXJlcigpLnJlcGFpbnRVc2luZ0Nv
bnRhaW5lcihyZXBhaW50Q29udGFpbmVyLCByZWN0Rm9yUmVwYWludCk7CiAKICAgICAvLyBTY2hl
ZHVsZSB0aGUgc2Nyb2xsIGFuZCBzY3JvbGwtcmVsYXRlZCBET00gZXZlbnRzLgotICAgIGlmIChF
bGVtZW50KiBlbGVtZW50ID0gcmVuZGVyZXIoKS5lbGVtZW50KCkpIHsKKyAgICBpZiAoRWxlbWVu
dCogZWxlbWVudCA9IHJlbmRlcmVyKCkuZWxlbWVudCgpKQogICAgICAgICBlbGVtZW50LT5kb2N1
bWVudCgpLmV2ZW50UXVldWUoKS5lbnF1ZXVlT3JEaXNwYXRjaFNjcm9sbEV2ZW50KCplbGVtZW50
KTsKLSAgICAgICAgZWxlbWVudC0+ZG9jdW1lbnQoKS5zZW5kV2lsbFJldmVhbEVkZ2VFdmVudHNJ
Zk5lZWRlZChvbGRQb3NpdGlvbiwgbmV3UG9zaXRpb24sIHZpc2libGVDb250ZW50UmVjdCgpLCBj
b250ZW50c1NpemUoKSwgZWxlbWVudCk7Ci0gICAgfQogCiAgICAgaWYgKHNjcm9sbHNPdmVyZmxv
dygpKQogICAgICAgICB2aWV3LmZyYW1lVmlldygpLmRpZENoYW5nZVNjcm9sbE9mZnNldCgpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDE4YTg2NGI2ZDYyYjI3ZWZhNzI2YTM1ODBiNzVlMjcwNjc4MzZjNjUuLjRhNDhjYjJm
YzkzYTY2MGU3Y2UyNGM0MzE3MWZlNzcyYWYyMTI1MzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAor
MjAxNy0wNi0yMCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAg
ICAgICBSZW1vdmUgV0lMTF9SRVZFQUxfRURHRV9FVkVOVFMgY29kZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczNjMyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHdpbGwtcmV2ZWFsLWVkZ2Ug
ZXZlbnRzLCB3aGljaCBuZXZlciB0b29rIG9mZi4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL3dp
bGwtcmV2ZWFsLWVkZ2Utb24tZGl2LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBm
YXN0L2V2ZW50cy93aWxsLXJldmVhbC1lZGdlLW9uLWRpdi5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIGZhc3QvZXZlbnRzL3dpbGwtcmV2ZWFsLWVkZ2VzLWJvZHktYXR0cmlidXRlcy1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvd2lsbC1yZXZlYWwtZWRnZXMt
Ym9keS1hdHRyaWJ1dGVzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvd2ls
bC1yZXZlYWwtZWRnZXMtZXZlbnQtbGlzdGVuZXJzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBmYXN0L2V2ZW50cy93aWxsLXJldmVhbC1lZGdlcy1ldmVudC1saXN0ZW5lcnMuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy93aWxsLXJldmVhbC1lZGdlcy13aW5k
b3ctYXR0cmlidXRlcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ldmVu
dHMvd2lsbC1yZXZlYWwtZWRnZXMtd2luZG93LWF0dHJpYnV0ZXMuaHRtbDogUmVtb3ZlZC4KKwog
MjAxNy0wNi0yMCAgTWF0dCBMZXdpcyAgPGpsZXdpczNAYXBwbGUuY29tPgogCiAgICAgICAgIEFk
ZGVkIGFkZGl0aW9uYWwgdGVzdCBleHBlY3RhdGlvbnMgZm9yIG1lZGlhL3ZpZGVvLWJ1ZmZlcmVk
Lmh0bWwuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aWxsLXJldmVhbC1l
ZGdlLW9uLWRpdi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aWxsLXJl
dmVhbC1lZGdlLW9uLWRpdi1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGZlMGMyNmZmYjliZjY5ZGI1ZDM2Y2RmMzhhNGI4MmMxZWY4MTlmYjIuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvd2lsbC1yZXZlYWwtZWRnZS1vbi1kaXYtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsMTAgKzAsMCBAQAotVGhpcyB0ZXN0cyB0aGF0IHdlIGNhbiBsaXN0ZW4gZm9yIHdlYmtpdHdp
bGxyZXZlYWxib3R0b20sIHdlYmtpdHdpbGxyZXZlYWx0b3AsIHdlYmtpdHdpbGxyZXZlYWxsZWZ0
LCBhbmQgd2Via2l0d2lsbHJldmVhbHJpZ2h0Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
LQotCi1BbGwgZWRnZXMgd2VyZSByZXZlYWxlZCEKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy93aWxsLXJldmVhbC1lZGdlLW9uLWRpdi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvd2lsbC1yZXZlYWwtZWRnZS1vbi1kaXYuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYjE1NzBmMThjNmFmY2Q4ZGNjNzVmZjkzNWZlMzEzOTg4YjBlYTJiZC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy93aWxsLXJldmVhbC1lZGdlLW9uLWRpdi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsODMg
KzAsMCBAQAotPGh0bWw+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KLQotPHN0eWxlPgotI3Njcm9sbHktZGl2IHsKLSAgICB3aWR0aDoyMDBw
eDsKLSAgICBoZWlnaHQ6MjAwcHg7Ci0gICAgYm9yZGVyOjJweCBzb2xpZCBibGFjazsKLSAgICBv
dmVyZmxvdzpzY3JvbGw7Ci19Ci0KLS5iaWcgewotICAgIGJhY2tncm91bmQtY29sb3I6cHVycGxl
OwotICAgIHdpZHRoOjYwMHB4OwotICAgIGhlaWdodDo2MDBweDsKLX0KLTwvc3R5bGU+Ci0KLTxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLWRlc2NyaXB0aW9uKCdUaGlzIHRlc3RzIHRo
YXQgd2UgY2FuIGxpc3RlbiBmb3Igd2Via2l0d2lsbHJldmVhbGJvdHRvbSwgd2Via2l0d2lsbHJl
dmVhbHRvcCwgd2Via2l0d2lsbHJldmVhbGxlZnQsIGFuZCB3ZWJraXR3aWxscmV2ZWFscmlnaHQn
KTsKLQotdmFyIHRyaWdnZXJlZFdpbGxSZXZlYWxCb3R0b20gPSBmYWxzZTsKLXZhciB0cmlnZ2Vy
ZWRXaWxsUmV2ZWFsVG9wID0gZmFsc2U7Ci12YXIgdHJpZ2dlcmVkV2lsbFJldmVhbFJpZ2h0ID0g
ZmFsc2U7Ci12YXIgdHJpZ2dlcmVkV2lsbFJldmVhbExlZnQgPSBmYWxzZTsKLQotZnVuY3Rpb24g
Ym90dG9tUmV2ZWFsZWQoKQotewotICAgIHRyaWdnZXJlZFdpbGxSZXZlYWxCb3R0b20gPSB0cnVl
OwotICAgIHZhciBzY3JvbGx5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNjcm9sbHktZGl2
Iik7Ci0gICAgc2Nyb2xseS5zY3JvbGxUb3AgPSAwOwotICAgIGNoZWNrQ29tcGxldGUoKTsKLX0K
LQotZnVuY3Rpb24gdG9wUmV2ZWFsZWQoKQotewotICAgIHRyaWdnZXJlZFdpbGxSZXZlYWxUb3Ag
PSB0cnVlOwotICAgIHZhciBzY3JvbGx5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNjcm9s
bHktZGl2Iik7Ci0gICAgc2Nyb2xseS5zY3JvbGxMZWZ0ID0gNjAwOwotICAgIGNoZWNrQ29tcGxl
dGUoKTsKLX0KLQotZnVuY3Rpb24gcmlnaHRSZXZlYWxlZCgpCi17Ci0gICAgdHJpZ2dlcmVkV2ls
bFJldmVhbFJpZ2h0ID0gdHJ1ZTsKLSAgICB2YXIgc2Nyb2xseSA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzY3JvbGx5LWRpdiIpOwotICAgIHNjcm9sbHkuc2Nyb2xsTGVmdCA9IDA7Ci0gICAg
Y2hlY2tDb21wbGV0ZSgpOwotfQotCi1mdW5jdGlvbiBsZWZ0UmV2ZWFsZWQoKQotewotICAgIHRy
aWdnZXJlZFdpbGxSZXZlYWxMZWZ0ID0gdHJ1ZTsKLSAgICBjaGVja0NvbXBsZXRlKCk7Ci19Ci0K
LWZ1bmN0aW9uIGNoZWNrQ29tcGxldGUoKQotewotICAgIGlmICh0cmlnZ2VyZWRXaWxsUmV2ZWFs
Qm90dG9tICYmIHRyaWdnZXJlZFdpbGxSZXZlYWxUb3AgJiYgdHJpZ2dlcmVkV2lsbFJldmVhbFJp
Z2h0ICYmIHRyaWdnZXJlZFdpbGxSZXZlYWxMZWZ0KSB7Ci0gICAgICAgIGRlYnVnKCdBbGwgZWRn
ZXMgd2VyZSByZXZlYWxlZCEnKTsKLSAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgfQotfQot
Ci12YXIganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAg
dmFyIHNjcm9sbHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Nyb2xseS1kaXYiKTsKLSAg
ICBzY3JvbGx5LmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHdpbGxyZXZlYWxib3R0b20nLCBib3R0
b21SZXZlYWxlZCwgZmFsc2UpOwotICAgIHNjcm9sbHkuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0
d2lsbHJldmVhbHRvcCcsIHRvcFJldmVhbGVkLCBmYWxzZSk7Ci0gICAgc2Nyb2xseS5hZGRFdmVu
dExpc3RlbmVyKCd3ZWJraXR3aWxscmV2ZWFscmlnaHQnLCByaWdodFJldmVhbGVkLCBmYWxzZSk7
Ci0gICAgc2Nyb2xseS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXR3aWxscmV2ZWFsbGVmdCcsIGxl
ZnRSZXZlYWxlZCwgZmFsc2UpOwotICAgIHNjcm9sbHkuc2Nyb2xsVG9wID0gNjAwOwotfQotPC9z
Y3JpcHQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLSAgICA8ZGl2IGlkPSJzY3JvbGx5
LWRpdiI+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImJpZyI+PC9kaXY+Ci0gICAgPC9kaXY+Ci0gICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2ls
bC1yZXZlYWwtZWRnZXMtYm9keS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL3dpbGwtcmV2ZWFsLWVkZ2VzLWJvZHktYXR0cmlidXRlcy1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE0ZWMzNWM1N2Y1ZjgwNGE0OWI2NjIy
OWZkMTIyMWI2ZjM1NWNjMWQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2lsbC1yZXZlYWwtZWRnZXMtYm9keS1h
dHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLVRo
aXMgdGVzdHMgdGhhdCBvbndlYmtpdHdpbGxyZXZlYWxib3R0b20sIG9ud2Via2l0d2lsbHJldmVh
bHRvcCwgb253ZWJraXR3aWxscmV2ZWFsbGVmdCwgYW5kIG9ud2Via2l0d2lsbHJldmVhbHJpZ2h0
IHdvcmsgYXMgYm9keSBhdHRyaWJ1dGVzCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQot
Ci1BbGwgZWRnZXMgd2VyZSByZXZlYWxlZCEKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy93aWxsLXJldmVhbC1lZGdlcy1ib2R5LWF0dHJpYnV0ZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL3dpbGwtcmV2ZWFsLWVkZ2VzLWJvZHktYXR0cmlidXRlcy5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZmM4MjNjMjZiZTkxZjk5M2NhYWE0OGNiYzY2ZmU2Mjli
YzgyMmJjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbGwtcmV2ZWFsLWVkZ2VzLWJvZHktYXR0cmlidXRlcy5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotPGh0bWw+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLQotPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPgotZGVzY3JpcHRpb24oJ1RoaXMgdGVzdHMgdGhhdCBvbndlYmtp
dHdpbGxyZXZlYWxib3R0b20sIG9ud2Via2l0d2lsbHJldmVhbHRvcCwgb253ZWJraXR3aWxscmV2
ZWFsbGVmdCwgYW5kIG9ud2Via2l0d2lsbHJldmVhbHJpZ2h0IHdvcmsgYXMgYm9keSBhdHRyaWJ1
dGVzJyk7Ci0KLXZhciB0cmlnZ2VyZWRXaWxsUmV2ZWFsQm90dG9tID0gZmFsc2U7Ci12YXIgdHJp
Z2dlcmVkV2lsbFJldmVhbFRvcCA9IGZhbHNlOwotdmFyIHRyaWdnZXJlZFdpbGxSZXZlYWxSaWdo
dCA9IGZhbHNlOwotdmFyIHRyaWdnZXJlZFdpbGxSZXZlYWxMZWZ0ID0gZmFsc2U7Ci0KLWZ1bmN0
aW9uIHdpbGxSZXZlYWxCb3R0b20oKSB7Ci0gICAgdHJpZ2dlcmVkV2lsbFJldmVhbEJvdHRvbSA9
IHRydWU7Ci0gICAgd2luZG93LnNjcm9sbFRvKDAsMCk7Ci0gICAgY2hlY2tDb21wbGV0ZSgpOwot
fQotCi1mdW5jdGlvbiB3aWxsUmV2ZWFsVG9wKCkgewotICAgIHRyaWdnZXJlZFdpbGxSZXZlYWxU
b3AgPSB0cnVlOwotICAgIHdpbmRvdy5zY3JvbGxUbygyMDAwLCAwKTsKLSAgICBjaGVja0NvbXBs
ZXRlKCk7Ci19Ci0KLWZ1bmN0aW9uIHdpbGxSZXZlYWxSaWdodCgpIHsKLSAgICB0cmlnZ2VyZWRX
aWxsUmV2ZWFsUmlnaHQgPSB0cnVlOwotICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTsKLSAgICBj
aGVja0NvbXBsZXRlKCk7Ci19Ci0KLWZ1bmN0aW9uIHdpbGxSZXZlYWxMZWZ0KCkgewotICAgIHRy
aWdnZXJlZFdpbGxSZXZlYWxMZWZ0ID0gdHJ1ZTsKLSAgICBjaGVja0NvbXBsZXRlKCk7Ci19Ci0K
LWZ1bmN0aW9uIGNoZWNrQ29tcGxldGUoKQotewotICAgIGlmICh0cmlnZ2VyZWRXaWxsUmV2ZWFs
Qm90dG9tICYmIHRyaWdnZXJlZFdpbGxSZXZlYWxUb3AgJiYgdHJpZ2dlcmVkV2lsbFJldmVhbFJp
Z2h0ICYmIHRyaWdnZXJlZFdpbGxSZXZlYWxMZWZ0KSB7Ci0gICAgICAgIGRlYnVnKCdBbGwgZWRn
ZXMgd2VyZSByZXZlYWxlZCEnKTsKLSAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgfQotfQot
Ci12YXIganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAg
d2luZG93LnNjcm9sbFRvKDAsIDIwMDApOwotfQotPC9zY3JpcHQ+Ci0KLTxib2R5IHN0eWxlPSJo
ZWlnaHQ6MjAwMHB4OyB3aWR0aDoyMDAwcHg7IiBvbmxvYWQ9InJ1blRlc3QoKSIgb253ZWJraXR3
aWxscmV2ZWFsYm90dG9tPSJ3aWxsUmV2ZWFsQm90dG9tKCkiCi0gICAgb253ZWJraXR3aWxscmV2
ZWFsdG9wPSJ3aWxsUmV2ZWFsVG9wKCkiIG9ud2Via2l0d2lsbHJldmVhbHJpZ2h0PSJ3aWxsUmV2
ZWFsUmlnaHQoKSIgb253ZWJraXR3aWxscmV2ZWFsbGVmdD0id2lsbFJldmVhbExlZnQoKSI+Ci0g
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
d2lsbC1yZXZlYWwtZWRnZXMtZXZlbnQtbGlzdGVuZXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3dpbGwtcmV2ZWFsLWVkZ2VzLWV2ZW50LWxpc3RlbmVycy1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZlMGMyNmZmYjliZjY5ZGI1ZDM2
Y2RmMzhhNGI4MmMxZWY4MTlmYjIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2lsbC1yZXZlYWwtZWRnZXMtZXZl
bnQtbGlzdGVuZXJzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAK
LVRoaXMgdGVzdHMgdGhhdCB3ZSBjYW4gbGlzdGVuIGZvciB3ZWJraXR3aWxscmV2ZWFsYm90dG9t
LCB3ZWJraXR3aWxscmV2ZWFsdG9wLCB3ZWJraXR3aWxscmV2ZWFsbGVmdCwgYW5kIHdlYmtpdHdp
bGxyZXZlYWxyaWdodAotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotQWxsIGVkZ2Vz
IHdlcmUgcmV2ZWFsZWQhCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1Qg
Q09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2lsbC1yZXZl
YWwtZWRnZXMtZXZlbnQtbGlzdGVuZXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93
aWxsLXJldmVhbC1lZGdlcy1ldmVudC1saXN0ZW5lcnMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZDAyZTY0OTY3ZGQzOGZkMjZjMTc4ZjBjZDMyZGJmZWUzOTUyNjI5ZC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy93aWxsLXJldmVhbC1lZGdlcy1ldmVudC1saXN0ZW5lcnMuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDY1ICswLDAgQEAKLTxodG1sPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci0KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KLWRlc2NyaXB0aW9uKCdUaGlzIHRlc3RzIHRoYXQgd2UgY2FuIGxpc3RlbiBmb3Ig
d2Via2l0d2lsbHJldmVhbGJvdHRvbSwgd2Via2l0d2lsbHJldmVhbHRvcCwgd2Via2l0d2lsbHJl
dmVhbGxlZnQsIGFuZCB3ZWJraXR3aWxscmV2ZWFscmlnaHQnKTsKLQotdmFyIHRyaWdnZXJlZFdp
bGxSZXZlYWxCb3R0b20gPSBmYWxzZTsKLXZhciB0cmlnZ2VyZWRXaWxsUmV2ZWFsVG9wID0gZmFs
c2U7Ci12YXIgdHJpZ2dlcmVkV2lsbFJldmVhbFJpZ2h0ID0gZmFsc2U7Ci12YXIgdHJpZ2dlcmVk
V2lsbFJldmVhbExlZnQgPSBmYWxzZTsKLQotd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoCi0gICAg
J3dlYmtpdHdpbGxyZXZlYWxib3R0b20nLAotICAgIGZ1bmN0aW9uKCkgewotICAgICAgICB0cmln
Z2VyZWRXaWxsUmV2ZWFsQm90dG9tID0gdHJ1ZTsKLSAgICAgICAgd2luZG93LnNjcm9sbFRvKDAs
MCk7Ci0gICAgICAgIGNoZWNrQ29tcGxldGUoKTsKLSAgICB9LAotICAgIGZhbHNlKTsKLQotd2lu
ZG93LmFkZEV2ZW50TGlzdGVuZXIoCi0gICAgJ3dlYmtpdHdpbGxyZXZlYWx0b3AnLAotICAgIGZ1
bmN0aW9uKGV2ZW50KSB7Ci0gICAgICAgIHRyaWdnZXJlZFdpbGxSZXZlYWxUb3AgPSB0cnVlOwot
ICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMjAwMCwgMCk7Ci0gICAgICAgIGNoZWNrQ29tcGxldGUo
KTsKLSAgICB9LAotICAgIGZhbHNlKTsKLQotd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoCi0gICAg
J3dlYmtpdHdpbGxyZXZlYWxyaWdodCcsCi0gICAgZnVuY3Rpb24oZXZlbnQpIHsKLSAgICAgICAg
dHJpZ2dlcmVkV2lsbFJldmVhbFJpZ2h0ID0gdHJ1ZTsKLSAgICAgICAgd2luZG93LnNjcm9sbFRv
KDAsIDApOwotICAgICAgICBjaGVja0NvbXBsZXRlKCk7Ci0gICAgfSwKLSAgICBmYWxzZSk7Ci0K
LXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKAotICAgICd3ZWJraXR3aWxscmV2ZWFsbGVmdCcsCi0g
ICAgZnVuY3Rpb24oZXZlbnQpIHsKLSAgICAgICAgdHJpZ2dlcmVkV2lsbFJldmVhbExlZnQgPSB0
cnVlOwotICAgICAgICBjaGVja0NvbXBsZXRlKCk7Ci0gICAgfSwKLSAgICBmYWxzZSk7Ci0KLWZ1
bmN0aW9uIGNoZWNrQ29tcGxldGUoKQotewotICAgIGlmICh0cmlnZ2VyZWRXaWxsUmV2ZWFsQm90
dG9tICYmIHRyaWdnZXJlZFdpbGxSZXZlYWxUb3AgJiYgdHJpZ2dlcmVkV2lsbFJldmVhbFJpZ2h0
ICYmIHRyaWdnZXJlZFdpbGxSZXZlYWxMZWZ0KSB7Ci0gICAgICAgIGRlYnVnKCdBbGwgZWRnZXMg
d2VyZSByZXZlYWxlZCEnKTsKLSAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgfQotfQotCi12
YXIganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgd2lu
ZG93LnNjcm9sbFRvKDAsIDIwMDApOwotfQotPC9zY3JpcHQ+Ci0KLTxib2R5IHN0eWxlPSJoZWln
aHQ6MjAwMHB4OyB3aWR0aDoyMDAwcHg7IiBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0gICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2lsbC1yZXZl
YWwtZWRnZXMtd2luZG93LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvd2lsbC1yZXZlYWwtZWRnZXMtd2luZG93LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNzk3OTIxNTUyM2ZkNThiNWY0MDFmNWNk
NGI5NWMxOTcwMjFmM2ExLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbGwtcmV2ZWFsLWVkZ2VzLXdpbmRvdy1h
dHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLVRo
aXMgdGVzdHMgdGhhdCBvbndlYmtpdHdpbGxyZXZlYWxib3R0b20sIG9ud2Via2l0d2lsbHJldmVh
bHRvcCwgb253ZWJraXR3aWxscmV2ZWFsbGVmdCwgYW5kIG9ud2Via2l0d2lsbHJldmVhbHJpZ2h0
IHdvcmsgYXMgd2luZG93IGF0dHJpYnV0ZXMuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
LQotCi1BbGwgZWRnZXMgd2VyZSByZXZlYWxlZCEKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy93aWxsLXJldmVhbC1lZGdlcy13aW5kb3ctYXR0cmlidXRlcy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvd2lsbC1yZXZlYWwtZWRnZXMtd2luZG93LWF0dHJpYnV0ZXMuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2NhZDUyMTg3NTY3NzgxMWQwZWMzZjUzNTMy
MjhhMjIyYmU0ZjQzNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aWxsLXJldmVhbC1lZGdlcy13aW5kb3ctYXR0
cmlidXRlcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotPGh0bWw+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLQotPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotZGVzY3JpcHRpb24oJ1RoaXMgdGVzdHMgdGhh
dCBvbndlYmtpdHdpbGxyZXZlYWxib3R0b20sIG9ud2Via2l0d2lsbHJldmVhbHRvcCwgb253ZWJr
aXR3aWxscmV2ZWFsbGVmdCwgYW5kIG9ud2Via2l0d2lsbHJldmVhbHJpZ2h0IHdvcmsgYXMgd2lu
ZG93IGF0dHJpYnV0ZXMuJyk7Ci0KLXZhciB0cmlnZ2VyZWRXaWxsUmV2ZWFsQm90dG9tID0gZmFs
c2U7Ci12YXIgdHJpZ2dlcmVkV2lsbFJldmVhbFRvcCA9IGZhbHNlOwotdmFyIHRyaWdnZXJlZFdp
bGxSZXZlYWxSaWdodCA9IGZhbHNlOwotdmFyIHRyaWdnZXJlZFdpbGxSZXZlYWxMZWZ0ID0gZmFs
c2U7Ci0KLXdpbmRvdy5vbndlYmtpdHdpbGxyZXZlYWxib3R0b20gPQotICAgIGZ1bmN0aW9uKCkg
ewotICAgICAgICB0cmlnZ2VyZWRXaWxsUmV2ZWFsQm90dG9tID0gdHJ1ZTsKLSAgICAgICAgd2lu
ZG93LnNjcm9sbFRvKDAsMCk7Ci0gICAgICAgIGNoZWNrQ29tcGxldGUoKTsKLSAgICB9Ci0KLXdp
bmRvdy5vbndlYmtpdHdpbGxyZXZlYWx0b3AgPQotICAgIGZ1bmN0aW9uKCkgewotICAgICAgICB0
cmlnZ2VyZWRXaWxsUmV2ZWFsVG9wID0gdHJ1ZTsKLSAgICAgICAgd2luZG93LnNjcm9sbFRvKDIw
MDAsIDApOwotICAgICAgICBjaGVja0NvbXBsZXRlKCk7Ci0gICAgfQotCi13aW5kb3cub253ZWJr
aXR3aWxscmV2ZWFscmlnaHQgPQotICAgIGZ1bmN0aW9uKCkgewotICAgICAgICB0cmlnZ2VyZWRX
aWxsUmV2ZWFsUmlnaHQgPSB0cnVlOwotICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7Ci0g
ICAgICAgIGNoZWNrQ29tcGxldGUoKTsKLSAgICB9Ci0KLXdpbmRvdy5vbndlYmtpdHdpbGxyZXZl
YWxsZWZ0ID0KLSAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgdHJpZ2dlcmVkV2lsbFJldmVhbExl
ZnQgPSB0cnVlOwotICAgICAgICBjaGVja0NvbXBsZXRlKCk7Ci0gICAgfQotCi1mdW5jdGlvbiBj
aGVja0NvbXBsZXRlKCkKLXsKLSAgICBpZiAodHJpZ2dlcmVkV2lsbFJldmVhbEJvdHRvbSAmJiB0
cmlnZ2VyZWRXaWxsUmV2ZWFsVG9wICYmIHRyaWdnZXJlZFdpbGxSZXZlYWxSaWdodCAmJiB0cmln
Z2VyZWRXaWxsUmV2ZWFsTGVmdCkgewotICAgICAgICBkZWJ1ZygnQWxsIGVkZ2VzIHdlcmUgcmV2
ZWFsZWQhJyk7Ci0gICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgIH0KLX0KLQotdmFyIGpzVGVz
dElzQXN5bmMgPSB0cnVlOwotCi1mdW5jdGlvbiBydW5UZXN0KCkgewotICAgIHdpbmRvdy5zY3Jv
bGxUbygwLCAyMDAwKTsKLX0KLTwvc2NyaXB0PgotCi08Ym9keSBzdHlsZT0iaGVpZ2h0OjIwMDBw
eDsgd2lkdGg6MjAwMHB4OyIgb25sb2FkPSJydW5UZXN0KCkiPgotICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313470</attachid>
            <date>2017-06-20 19:25:51 -0700</date>
            <delta_ts>2017-06-20 21:56:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173632-20170620192551.patch</filename>
            <type>text/plain</type>
            <size>24883</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4NjA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGE5NmJjYjdjNzBhZmY1NzAzODM2YTAz
MGZlOWY0ZWZjYWYxMjY2MzUuLmE3M2NiYzgxMDEwYzA2NWZlOWUxMmRhNjZiMjY5OWQzMTQ3YzYz
YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTctMDYtMjAgIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIFdJTExfUkVWRUFMX0VER0VfRVZF
TlRTIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE3MzYzMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFJlbW92ZSB3aWxsLXJldmVhbC1lZGdlIGV2ZW50cywgd2hpY2ggbmV2ZXIgdG9vayBvZmYuCisK
KyAgICAgICAgKiB3dGYvRmVhdHVyZURlZmluZXMuaDoKKwogMjAxNy0wNi0yMCAgS29uc3RhbnRp
biBUb2thcmV2ICA8YW5udWxlbkB5YW5kZXgucnU+CiAKICAgICAgICAgUmVtb3ZlIGV4Y2Vzc2l2
ZSBpbmNsdWRlIGRpcmVjdGl2ZXMgZnJvbSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwYzQ3NGUwMTNhYmM4
MWNiNWI5YmNhNDJkODRlZGY5ZmUwM2ZlYzdjLi40ODZlODBkNGFkY2ViMzZjMGIyNGEyN2RjNGNk
ZWU4MTMzMzM5YjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTctMDYtMjAgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIFdJ
TExfUkVWRUFMX0VER0VfRVZFTlRTIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3MzYzMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlbW92ZSB3aWxsLXJldmVhbC1lZGdlIGV2ZW50cywgd2hpY2gg
bmV2ZXIgdG9vayBvZmYuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OmNsZWFyU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZW5kV2lsbFJldmVhbEVkZ2VFdmVudHNJZk5lZWRl
ZCk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICogZG9tL0ds
b2JhbEV2ZW50SGFuZGxlcnMuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEJvZHlFbGVtZW50Lmlk
bDoKKyAgICAgICAgKiBodG1sL0hUTUxGcmFtZVNldEVsZW1lbnQuaWRsOgorICAgICAgICAqIHBh
Z2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2Nyb2xsUG9z
aXRpb25DaGFuZ2VkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvKToKKwogMjAxNy0wNi0yMCAgQW5k
cmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIG5vLW9wIGNh
bGxzIHRvIHB1cmdlIFNRTGl0ZSBjYWNoZXMgb24gbWVtb3J5IHByZXNzdXJlLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaCBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1
cmVEZWZpbmVzLmgKaW5kZXggMDgxZjE5MmZmODM2YWNiM2YxMDcyOTliYTE0OTBjMjM2ODcxMDBi
Ni4uNjdhOTQ1NmQ2YzY1YmE3ZWUyNWM0YmJlMDk2MDgwYzVjNzE4ZGJiNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0
dXJlRGVmaW5lcy5oCkBAIC03MzIsMTAgKzczMiw2IEBAIHRoZSBwdWJsaWMgaU9TIFNESy4gV2Ug
d2lsbCBhbHNvIG5lZWQgdG8gdXBkYXRlIHRoZSBGZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBmaWxl
CiAjZGVmaW5lIEVOQUJMRV9XRUJfVElNSU5HIDAKICNlbmRpZgogCi0jaWYgIWRlZmluZWQoRU5B
QkxFX1dJTExfUkVWRUFMX0VER0VfRVZFTlRTKQotI2RlZmluZSBFTkFCTEVfV0lMTF9SRVZFQUxf
RURHRV9FVkVOVFMgMQotI2VuZGlmCi0KICNpZiAhZGVmaW5lZChFTkFCTEVfWFNMVCkKICNkZWZp
bmUgRU5BQkxFX1hTTFQgMQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA5YTA5
ODc5YzlhOWM0Yjc0YjVkMzRiYTIyOTBhMGU4YWM5MjhhZDZhLi42MGQ2MTM1MzA1MWQ0YTllNTk4
MDFkNTRjMzI0MjI2M2Q5ZTRjMzczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTYyNzAs
NzcgKzYyNzAsNiBAQCB2b2lkIERvY3VtZW50OjpjbGVhclNjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlcigpCiAgICAgICAgIG1fc2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLT5jbGVhckRvY3Vt
ZW50UG9pbnRlcigpOwogICAgIG1fc2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyID0gbnVsbHB0
cjsKIH0KLSAgICAKLXZvaWQgRG9jdW1lbnQ6OnNlbmRXaWxsUmV2ZWFsRWRnZUV2ZW50c0lmTmVl
ZGVkKGNvbnN0IEludFBvaW50JiBvbGRQb3NpdGlvbiwgY29uc3QgSW50UG9pbnQmIG5ld1Bvc2l0
aW9uLCBjb25zdCBJbnRSZWN0JiB2aXNpYmxlUmVjdCwgY29uc3QgSW50U2l6ZSYgY29udGVudHNT
aXplLCBFbGVtZW50KiB0YXJnZXQpCi17Ci0gICAgLy8gRm9yIGVhY2ggZWRnZSAodG9wLCBib3R0
b20sIGxlZnQgYW5kIHJpZ2h0KSwgc2VuZCB0aGUgd2lsbCByZXZlYWwgZWRnZSBldmVudCBmb3Ig
dGhhdCBkaXJlY3Rpb24KLSAgICAvLyBpZiBuZXdQb3NpdGlvbiBpcyBhdCBvciBiZXlvbmQgdGhl
IG5vdGlmaWNhdGlvbiBwb2ludCwgaWYgdGhlIHNjcm9sbCBkaXJlY3Rpb24gaXMgaGVhZGluZyBp
biB0aGUKLSAgICAvLyBkaXJlY3Rpb24gb2YgdGhhdCBlZGdlIHBvaW50LCBhbmQgaWYgb2xkUG9z
aXRpb24gaXMgYmVmb3JlIHRoZSBub3RpZmljYXRpb24gcG9pbnQgKHdoaWNoIGluZGljYXRlcwot
ICAgIC8vIHRoYXQgdGhpcyBpcyB0aGUgZmlyc3QgbW9tZW50IHRoYXQgd2Uga25vdyB3ZSBjcm9z
c2VkIHRoZSBtYWdpYyBsaW5lKS4KLSAgICAKLSNpZiBFTkFCTEUoV0lMTF9SRVZFQUxfRURHRV9F
VkVOVFMpCi0gICAgLy8gRklYTUU6IGJyb2tlbiBpbiBSVEwgZG9jdW1lbnRzLgotICAgIGludCB3
aWxsUmV2ZWFsQm90dG9tTm90aWZpY2F0aW9uUG9pbnQgPSBzdGQ6Om1heCgwLCBjb250ZW50c1Np
emUuaGVpZ2h0KCkgLSAyICogIHZpc2libGVSZWN0LmhlaWdodCgpKTsKLSAgICBpbnQgd2lsbFJl
dmVhbFRvcE5vdGlmaWNhdGlvblBvaW50ID0gdmlzaWJsZVJlY3QuaGVpZ2h0KCk7Ci0KLSAgICAv
LyBCb3R0b20gZWRnZS4KLSAgICBpZiAobmV3UG9zaXRpb24ueSgpID49IHdpbGxSZXZlYWxCb3R0
b21Ob3RpZmljYXRpb25Qb2ludCAmJiBuZXdQb3NpdGlvbi55KCkgPiBvbGRQb3NpdGlvbi55KCkK
LSAgICAgICAgJiYgd2lsbFJldmVhbEJvdHRvbU5vdGlmaWNhdGlvblBvaW50ID49IG9sZFBvc2l0
aW9uLnkoKSkgewotICAgICAgICBSZWY8RXZlbnQ+IHdpbGxSZXZlYWxFdmVudCA9IEV2ZW50Ojpj
cmVhdGUoZXZlbnROYW1lcygpLndlYmtpdHdpbGxyZXZlYWxib3R0b21FdmVudCwgZmFsc2UsIGZh
bHNlKTsKLSAgICAgICAgaWYgKCF0YXJnZXQpCi0gICAgICAgICAgICBlbnF1ZXVlV2luZG93RXZl
bnQoV1RGTW92ZSh3aWxsUmV2ZWFsRXZlbnQpKTsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAg
ICB3aWxsUmV2ZWFsRXZlbnQtPnNldFRhcmdldCh0YXJnZXQpOwotICAgICAgICAgICAgbV9ldmVu
dFF1ZXVlLmVucXVldWVFdmVudChXVEZNb3ZlKHdpbGxSZXZlYWxFdmVudCkpOwotICAgICAgICB9
Ci0gICAgfQotCi0gICAgLy8gVG9wIGVkZ2UuCi0gICAgaWYgKG5ld1Bvc2l0aW9uLnkoKSA8PSB3
aWxsUmV2ZWFsVG9wTm90aWZpY2F0aW9uUG9pbnQgJiYgbmV3UG9zaXRpb24ueSgpIDwgb2xkUG9z
aXRpb24ueSgpCi0gICAgICAgICYmIHdpbGxSZXZlYWxUb3BOb3RpZmljYXRpb25Qb2ludCA8PSBv
bGRQb3NpdGlvbi55KCkpIHsKLSAgICAgICAgUmVmPEV2ZW50PiB3aWxsUmV2ZWFsRXZlbnQgPSBF
dmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS53ZWJraXR3aWxscmV2ZWFsdG9wRXZlbnQsIGZhbHNl
LCBmYWxzZSk7Ci0gICAgICAgIGlmICghdGFyZ2V0KQotICAgICAgICAgICAgZW5xdWV1ZVdpbmRv
d0V2ZW50KFdURk1vdmUod2lsbFJldmVhbEV2ZW50KSk7Ci0gICAgICAgIGVsc2UgewotICAgICAg
ICAgICAgd2lsbFJldmVhbEV2ZW50LT5zZXRUYXJnZXQodGFyZ2V0KTsKLSAgICAgICAgICAgIG1f
ZXZlbnRRdWV1ZS5lbnF1ZXVlRXZlbnQoV1RGTW92ZSh3aWxsUmV2ZWFsRXZlbnQpKTsKLSAgICAg
ICAgfQotICAgIH0KLQotICAgIGludCB3aWxsUmV2ZWFsUmlnaHROb3RpZmljYXRpb25Qb2ludCA9
IHN0ZDo6bWF4KDAsIGNvbnRlbnRzU2l6ZS53aWR0aCgpIC0gMiAqIHZpc2libGVSZWN0LndpZHRo
KCkpOwotICAgIGludCB3aWxsUmV2ZWFsTGVmdE5vdGlmaWNhdGlvblBvaW50ID0gdmlzaWJsZVJl
Y3Qud2lkdGgoKTsKLQotICAgIC8vIFJpZ2h0IGVkZ2UuCi0gICAgaWYgKG5ld1Bvc2l0aW9uLngo
KSA+PSB3aWxsUmV2ZWFsUmlnaHROb3RpZmljYXRpb25Qb2ludCAmJiBuZXdQb3NpdGlvbi54KCkg
PiBvbGRQb3NpdGlvbi54KCkKLSAgICAgICAgJiYgd2lsbFJldmVhbFJpZ2h0Tm90aWZpY2F0aW9u
UG9pbnQgPj0gb2xkUG9zaXRpb24ueCgpKSB7Ci0gICAgICAgIFJlZjxFdmVudD4gd2lsbFJldmVh
bEV2ZW50ID0gRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkud2Via2l0d2lsbHJldmVhbHJpZ2h0
RXZlbnQsIGZhbHNlLCBmYWxzZSk7Ci0gICAgICAgIGlmICghdGFyZ2V0KQotICAgICAgICAgICAg
ZW5xdWV1ZVdpbmRvd0V2ZW50KFdURk1vdmUod2lsbFJldmVhbEV2ZW50KSk7Ci0gICAgICAgIGVs
c2UgewotICAgICAgICAgICAgd2lsbFJldmVhbEV2ZW50LT5zZXRUYXJnZXQodGFyZ2V0KTsKLSAg
ICAgICAgICAgIG1fZXZlbnRRdWV1ZS5lbnF1ZXVlRXZlbnQoV1RGTW92ZSh3aWxsUmV2ZWFsRXZl
bnQpKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIC8vIExlZnQgZWRnZS4KLSAgICBpZiAobmV3
UG9zaXRpb24ueCgpIDw9IHdpbGxSZXZlYWxMZWZ0Tm90aWZpY2F0aW9uUG9pbnQgJiYgbmV3UG9z
aXRpb24ueCgpIDwgb2xkUG9zaXRpb24ueCgpCi0gICAgICAgICYmIHdpbGxSZXZlYWxMZWZ0Tm90
aWZpY2F0aW9uUG9pbnQgPD0gb2xkUG9zaXRpb24ueCgpKSB7Ci0gICAgICAgIFJlZjxFdmVudD4g
d2lsbFJldmVhbEV2ZW50ID0gRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkud2Via2l0d2lsbHJl
dmVhbGxlZnRFdmVudCwgZmFsc2UsIGZhbHNlKTsKLSAgICAgICAgaWYgKCF0YXJnZXQpCi0gICAg
ICAgICAgICBlbnF1ZXVlV2luZG93RXZlbnQoV1RGTW92ZSh3aWxsUmV2ZWFsRXZlbnQpKTsKLSAg
ICAgICAgZWxzZSB7Ci0gICAgICAgICAgICB3aWxsUmV2ZWFsRXZlbnQtPnNldFRhcmdldCh0YXJn
ZXQpOwotICAgICAgICAgICAgbV9ldmVudFF1ZXVlLmVucXVldWVFdmVudChXVEZNb3ZlKHdpbGxS
ZXZlYWxFdmVudCkpOwotICAgICAgICB9Ci0gICAgfQotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0o
b2xkUG9zaXRpb24pOwotICAgIFVOVVNFRF9QQVJBTShuZXdQb3NpdGlvbik7Ci0gICAgVU5VU0VE
X1BBUkFNKHZpc2libGVSZWN0KTsKLSAgICBVTlVTRURfUEFSQU0oY29udGVudHNTaXplKTsKLSAg
ICBVTlVTRURfUEFSQU0odGFyZ2V0KTsKLSNlbmRpZgotfQogCiB2b2lkIERvY3VtZW50Ojp3aGVl
bEV2ZW50SGFuZGxlcnNDaGFuZ2VkKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggZmVhNGFh
ZDAxNjM1MmI3NGFjNGM0YzJkYWEyNzRkYmQwOTgxODQ2OC4uMjczY2E5MmJkNzlhN2FlZTc0YzVi
NmUwODkxZDIxMzZjNTk4MDFhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTExNjQsOCArMTE2
NCw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGNhbmNlbEFuaW1hdGlvbkZyYW1lKGludCBpZCk7CiAg
ICAgdm9pZCBzZXJ2aWNlU2NyaXB0ZWRBbmltYXRpb25zKGRvdWJsZSB0aW1lc3RhbXApOwogCi0g
ICAgdm9pZCBzZW5kV2lsbFJldmVhbEVkZ2VFdmVudHNJZk5lZWRlZChjb25zdCBJbnRQb2ludCYg
b2xkUG9zaXRpb24sIGNvbnN0IEludFBvaW50JiBuZXdQb3NpdGlvbiwgY29uc3QgSW50UmVjdCYg
dmlzaWJsZVJlY3QsIGNvbnN0IEludFNpemUmIGNvbnRlbnRzU2l6ZSwgRWxlbWVudCogdGFyZ2V0
ID0gbnVsbHB0cik7Ci0KICAgICBFdmVudFRhcmdldCogZXJyb3JFdmVudFRhcmdldCgpIGZpbmFs
OwogICAgIHZvaWQgbG9nRXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNz
YWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5O
dW1iZXIsIFJlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4mJikgZmluYWw7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9HbG9iYWxFdmVudEhhbmRsZXJzLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9HbG9iYWxFdmVudEhhbmRsZXJzLmlkbAppbmRleCA1MzIxOTA4MGRl
ZGY5M2JhNTYwZTBmYWQxMjVmM2NmMjZhNjcyYmI4Li4yNGYxM2EyMjFhOTQ1MjI4YThiNzMzNWU1
NTJhYmZlYTYxZmMyMmJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vR2xvYmFsRXZl
bnRIYW5kbGVycy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0dsb2JhbEV2ZW50SGFuZGxl
cnMuaWRsCkBAIC0xMjIsOCArMTIyLDQgQEAKICAgICBbTm90RW51bWVyYWJsZSwgQ29uZGl0aW9u
YWw9TU9VU0VfRk9SQ0VfRVZFTlRTXSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ud2Via2l0bW91
c2Vmb3JjZWRvd247CiAgICAgW05vdEVudW1lcmFibGUsIENvbmRpdGlvbmFsPU1PVVNFX0ZPUkNF
X0VWRU5UU10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndlYmtpdG1vdXNlZm9yY2V3aWxsYmVn
aW47CiAgICAgW05vdEVudW1lcmFibGUsIENvbmRpdGlvbmFsPU1PVVNFX0ZPUkNFX0VWRU5UU10g
YXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndlYmtpdG1vdXNlZm9yY2V1cDsKLSAgICBbTm90RW51
bWVyYWJsZSwgQ29uZGl0aW9uYWw9V0lMTF9SRVZFQUxfRURHRV9FVkVOVFNdIGF0dHJpYnV0ZSBF
dmVudEhhbmRsZXIgb253ZWJraXR3aWxscmV2ZWFsYm90dG9tOwotICAgIFtOb3RFbnVtZXJhYmxl
LCBDb25kaXRpb25hbD1XSUxMX1JFVkVBTF9FREdFX0VWRU5UU10gYXR0cmlidXRlIEV2ZW50SGFu
ZGxlciBvbndlYmtpdHdpbGxyZXZlYWxsZWZ0OwotICAgIFtOb3RFbnVtZXJhYmxlLCBDb25kaXRp
b25hbD1XSUxMX1JFVkVBTF9FREdFX0VWRU5UU10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndl
YmtpdHdpbGxyZXZlYWxyaWdodDsKLSAgICBbTm90RW51bWVyYWJsZSwgQ29uZGl0aW9uYWw9V0lM
TF9SRVZFQUxfRURHRV9FVkVOVFNdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb253ZWJraXR3aWxs
cmV2ZWFsdG9wOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJvZHlF
bGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmlkbAppbmRl
eCA0OWRjNmFlMzFlZmJkMGE5NDNlOGY2NzNmZmM5ZDUzMzY4NTQ3ZGJhLi42ZWVmODdiYjFhNWQ4
ZmIwOGY4MTFjZjNlN2RkNWNkYTIyYzUyMGFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxCb2R5RWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9k
eUVsZW1lbnQuaWRsCkBAIC0zOSwxMCArMzksNiBAQCBpbnRlcmZhY2UgSFRNTEJvZHlFbGVtZW50
IDogSFRNTEVsZW1lbnQgewogICAgIFtOb3RFbnVtZXJhYmxlLCBXaW5kb3dFdmVudEhhbmRsZXIs
IENvbmRpdGlvbmFsPU1PVVNFX0ZPUkNFX0VWRU5UU10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBv
bndlYmtpdG1vdXNlZm9yY2Vkb3duOwogICAgIFtOb3RFbnVtZXJhYmxlLCBXaW5kb3dFdmVudEhh
bmRsZXIsIENvbmRpdGlvbmFsPU1PVVNFX0ZPUkNFX0VWRU5UU10gYXR0cmlidXRlIEV2ZW50SGFu
ZGxlciBvbndlYmtpdG1vdXNlZm9yY2V3aWxsYmVnaW47CiAgICAgW05vdEVudW1lcmFibGUsIFdp
bmRvd0V2ZW50SGFuZGxlciwgQ29uZGl0aW9uYWw9TU9VU0VfRk9SQ0VfRVZFTlRTXSBhdHRyaWJ1
dGUgRXZlbnRIYW5kbGVyIG9ud2Via2l0bW91c2Vmb3JjZXVwOwotICAgIFtOb3RFbnVtZXJhYmxl
LCBXaW5kb3dFdmVudEhhbmRsZXIsIENvbmRpdGlvbmFsPVdJTExfUkVWRUFMX0VER0VfRVZFTlRT
XSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ud2Via2l0d2lsbHJldmVhbGJvdHRvbTsKLSAgICBb
Tm90RW51bWVyYWJsZSwgV2luZG93RXZlbnRIYW5kbGVyLCBDb25kaXRpb25hbD1XSUxMX1JFVkVB
TF9FREdFX0VWRU5UU10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndlYmtpdHdpbGxyZXZlYWxs
ZWZ0OwotICAgIFtOb3RFbnVtZXJhYmxlLCBXaW5kb3dFdmVudEhhbmRsZXIsIENvbmRpdGlvbmFs
PVdJTExfUkVWRUFMX0VER0VfRVZFTlRTXSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ud2Via2l0
d2lsbHJldmVhbHJpZ2h0OwotICAgIFtOb3RFbnVtZXJhYmxlLCBXaW5kb3dFdmVudEhhbmRsZXIs
IENvbmRpdGlvbmFsPVdJTExfUkVWRUFMX0VER0VfRVZFTlRTXSBhdHRyaWJ1dGUgRXZlbnRIYW5k
bGVyIG9ud2Via2l0d2lsbHJldmVhbHRvcDsKIAogICAgIC8vIFVuaXF1ZSB0byBEb2N1bWVudCBh
bmQgSFRNTEJvZHlFbGVtZW50CiAgICAgW05vdEVudW1lcmFibGUsIERvY3VtZW50RXZlbnRIYW5k
bGVyXSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uc2VsZWN0aW9uY2hhbmdlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVTZXRFbGVtZW50LmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEZyYW1lU2V0RWxlbWVudC5pZGwKaW5kZXggMmRhMWY1Y2I4NzZhMTg0
NmZjZGUxN2Y1NzM0YmRmNDMxMjhjYzBhMy4uMzI1MGI5NDkwZWRiOGJiMThmNDdiOTgyY2JiN2Y2
YjQ0MDhkMzEyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVTZXRF
bGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZVNldEVsZW1lbnQu
aWRsCkBAIC0zMSwxMSArMzEsNiBAQCBpbnRlcmZhY2UgSFRNTEZyYW1lU2V0RWxlbWVudCA6IEhU
TUxFbGVtZW50IHsKICAgICBbTm90RW51bWVyYWJsZSwgV2luZG93RXZlbnRIYW5kbGVyXSBhdHRy
aWJ1dGUgRXZlbnRIYW5kbGVyIG9ucmVzaXplOwogICAgIFtOb3RFbnVtZXJhYmxlLCBXaW5kb3dF
dmVudEhhbmRsZXJdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25zY3JvbGw7CiAKLSAgICBbTm90
RW51bWVyYWJsZSwgV2luZG93RXZlbnRIYW5kbGVyLCBDb25kaXRpb25hbD1XSUxMX1JFVkVBTF9F
REdFX0VWRU5UU10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndlYmtpdHdpbGxyZXZlYWxib3R0
b207Ci0gICAgW05vdEVudW1lcmFibGUsIFdpbmRvd0V2ZW50SGFuZGxlciwgQ29uZGl0aW9uYWw9
V0lMTF9SRVZFQUxfRURHRV9FVkVOVFNdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb253ZWJraXR3
aWxscmV2ZWFsbGVmdDsKLSAgICBbTm90RW51bWVyYWJsZSwgV2luZG93RXZlbnRIYW5kbGVyLCBD
b25kaXRpb25hbD1XSUxMX1JFVkVBTF9FREdFX0VWRU5UU10gYXR0cmlidXRlIEV2ZW50SGFuZGxl
ciBvbndlYmtpdHdpbGxyZXZlYWxyaWdodDsKLSAgICBbTm90RW51bWVyYWJsZSwgV2luZG93RXZl
bnRIYW5kbGVyLCBDb25kaXRpb25hbD1XSUxMX1JFVkVBTF9FREdFX0VWRU5UU10gYXR0cmlidXRl
IEV2ZW50SGFuZGxlciBvbndlYmtpdHdpbGxyZXZlYWx0b3A7Ci0gICAgCiAgICAgLy8gTm9uLXN0
YW5kYXJkIG5hbWVkIGdldHRlcgogICAgIC8vIEZJWE1FOiBUaGlzIGlzIG5vdCBpbiB0aGUgc3Rh
bmRhcmQsIGNhbiB3ZSByZW1vdmUgdGhpcz8KICAgICBnZXR0ZXIgRE9NV2luZG93IChET01TdHJp
bmcgbmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggZTA4OWIwZmU1MTAxNDlj
ODFmMTRiMjQxM2E2NmE2NWI2MWI3YTc5My4uYWMyNzczMmU1MWJkN2M0ZTQ1YTY5ZTk4OWMwNjYx
YjI3NGZjMTNlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMjU0MCw2ICsyNTQw
LDcgQEAgdm9pZCBGcmFtZVZpZXc6OnNjcm9sbE9mZnNldENoYW5nZWRWaWFQbGF0Zm9ybVdpZGdl
dEltcGwoY29uc3QgU2Nyb2xsT2Zmc2V0JiBvbGQKIC8vIFRoZXNlIHNjcm9sbCBwb3NpdGlvbnMg
YXJlIGFmZmVjdGVkIGJ5IHpvb21pbmcuCiB2b2lkIEZyYW1lVmlldzo6c2Nyb2xsUG9zaXRpb25D
aGFuZ2VkKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBvbGRQb3NpdGlvbiwgY29uc3QgU2Nyb2xsUG9z
aXRpb24mIG5ld1Bvc2l0aW9uKQogeworICAgIFVOVVNFRF9QQVJBTShvbGRQb3NpdGlvbik7CiAg
ICAgUGFnZSogcGFnZSA9IGZyYW1lKCkucGFnZSgpOwogICAgIFNlY29uZHMgdGhyb3R0bGluZ0Rl
bGF5ID0gcGFnZSA/IHBhZ2UtPmNocm9tZSgpLmNsaWVudCgpLmV2ZW50VGhyb3R0bGluZ0RlbGF5
KCkgOiAwX3M7CiAKQEAgLTI1NDksOSArMjU1MCw2IEBAIHZvaWQgRnJhbWVWaWV3OjpzY3JvbGxQ
b3NpdGlvbkNoYW5nZWQoY29uc3QgU2Nyb2xsUG9zaXRpb24mIG9sZFBvc2l0aW9uLCBjb25zdCBT
CiAgICAgfSBlbHNlIGlmICghbV9kZWxheWVkU2Nyb2xsRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQog
ICAgICAgICBtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCh0aHJvdHRsaW5n
RGVsYXkpOwogCi0gICAgaWYgKERvY3VtZW50KiBkb2N1bWVudCA9IGZyYW1lKCkuZG9jdW1lbnQo
KSkKLSAgICAgICAgZG9jdW1lbnQtPnNlbmRXaWxsUmV2ZWFsRWRnZUV2ZW50c0lmTmVlZGVkKG9s
ZFBvc2l0aW9uLCBuZXdQb3NpdGlvbiwgdmlzaWJsZUNvbnRlbnRSZWN0KCksIGNvbnRlbnRzU2l6
ZSgpKTsKLQogICAgIGlmIChSZW5kZXJWaWV3KiByZW5kZXJWaWV3ID0gdGhpcy0+cmVuZGVyVmll
dygpKSB7CiAgICAgICAgIGlmIChyZW5kZXJWaWV3LT51c2VzQ29tcG9zaXRpbmcoKSkKICAgICAg
ICAgICAgIHJlbmRlclZpZXctPmNvbXBvc2l0b3IoKS5mcmFtZVZpZXdEaWRTY3JvbGwoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IGVkNTJiZTZmZDI5Yzg0
NWRlOWNhYThhMjYxMWRiNTMwYjljMDY2NmEuLjlkNjAzMDE4ZTljMDAwMGJhMzA2ZDM1ODNhNmIz
MmFlMjNjYTFjMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApA
QCAtMjQwNiw3ICsyNDA2LDYgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG8oY29uc3QgU2Ny
b2xsUG9zaXRpb24mIHBvc2l0aW9uKQogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIAotICAg
IFNjcm9sbFBvc2l0aW9uIG9sZFBvc2l0aW9uID0gSW50UG9pbnQobV9zY3JvbGxQb3NpdGlvbik7
CiAgICAgbV9zY3JvbGxQb3NpdGlvbiA9IG5ld1Bvc2l0aW9uOwogCiAgICAgUmVuZGVyVmlldyYg
dmlldyA9IHJlbmRlcmVyKCkudmlldygpOwpAQCAtMjQ1NywxMCArMjQ1Niw4IEBAIHZvaWQgUmVu
ZGVyTGF5ZXI6OnNjcm9sbFRvKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbikKICAgICAg
ICAgcmVuZGVyZXIoKS5yZXBhaW50VXNpbmdDb250YWluZXIocmVwYWludENvbnRhaW5lciwgcmVj
dEZvclJlcGFpbnQpOwogCiAgICAgLy8gU2NoZWR1bGUgdGhlIHNjcm9sbCBhbmQgc2Nyb2xsLXJl
bGF0ZWQgRE9NIGV2ZW50cy4KLSAgICBpZiAoRWxlbWVudCogZWxlbWVudCA9IHJlbmRlcmVyKCku
ZWxlbWVudCgpKSB7CisgICAgaWYgKEVsZW1lbnQqIGVsZW1lbnQgPSByZW5kZXJlcigpLmVsZW1l
bnQoKSkKICAgICAgICAgZWxlbWVudC0+ZG9jdW1lbnQoKS5ldmVudFF1ZXVlKCkuZW5xdWV1ZU9y
RGlzcGF0Y2hTY3JvbGxFdmVudCgqZWxlbWVudCk7Ci0gICAgICAgIGVsZW1lbnQtPmRvY3VtZW50
KCkuc2VuZFdpbGxSZXZlYWxFZGdlRXZlbnRzSWZOZWVkZWQob2xkUG9zaXRpb24sIG5ld1Bvc2l0
aW9uLCB2aXNpYmxlQ29udGVudFJlY3QoKSwgY29udGVudHNTaXplKCksIGVsZW1lbnQpOwotICAg
IH0KIAogICAgIGlmIChzY3JvbGxzT3ZlcmZsb3coKSkKICAgICAgICAgdmlldy5mcmFtZVZpZXco
KS5kaWRDaGFuZ2VTY3JvbGxPZmZzZXQoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxOGE4NjRiNmQ2MmIyN2VmYTcyNmEz
NTgwYjc1ZTI3MDY3ODM2YzY1Li40YTQ4Y2IyZmM5M2E2NjBlN2NlMjRjNDMxNzFmZTc3MmFmMjEy
NTM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTctMDYtMjAgIFNpbW9uIEZyYXNlciAgPHNp
bW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIFdJTExfUkVWRUFMX0VER0Vf
RVZFTlRTIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3MzYzMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFJlbW92ZSB3aWxsLXJldmVhbC1lZGdlIGV2ZW50cywgd2hpY2ggbmV2ZXIgdG9vayBvZmYu
CisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy93aWxsLXJldmVhbC1lZGdlLW9uLWRpdi1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvd2lsbC1yZXZlYWwtZWRnZS1v
bi1kaXYuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy93aWxsLXJldmVhbC1l
ZGdlcy1ib2R5LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZh
c3QvZXZlbnRzL3dpbGwtcmV2ZWFsLWVkZ2VzLWJvZHktYXR0cmlidXRlcy5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGZhc3QvZXZlbnRzL3dpbGwtcmV2ZWFsLWVkZ2VzLWV2ZW50LWxpc3RlbmVy
cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvd2lsbC1yZXZl
YWwtZWRnZXMtZXZlbnQtbGlzdGVuZXJzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9l
dmVudHMvd2lsbC1yZXZlYWwtZWRnZXMtd2luZG93LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3dpbGwtcmV2ZWFsLWVkZ2VzLXdpbmRvdy1h
dHRyaWJ1dGVzLmh0bWw6IFJlbW92ZWQuCisKIDIwMTctMDYtMjAgIE1hdHQgTGV3aXMgIDxqbGV3
aXMzQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGRlZCBhZGRpdGlvbmFsIHRlc3QgZXhwZWN0YXRp
b25zIGZvciBtZWRpYS92aWRlby1idWZmZXJlZC5odG1sLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvd2lsbC1yZXZlYWwtZWRnZS1vbi1kaXYtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvd2lsbC1yZXZlYWwtZWRnZS1vbi1kaXYtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZTBjMjZmZmI5YmY2OWRiNWQzNmNkZjM4
YTRiODJjMWVmODE5ZmIyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbGwtcmV2ZWFsLWVkZ2Utb24tZGl2LWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLVRoaXMgdGVzdHMgdGhh
dCB3ZSBjYW4gbGlzdGVuIGZvciB3ZWJraXR3aWxscmV2ZWFsYm90dG9tLCB3ZWJraXR3aWxscmV2
ZWFsdG9wLCB3ZWJraXR3aWxscmV2ZWFsbGVmdCwgYW5kIHdlYmtpdHdpbGxyZXZlYWxyaWdodAot
Ci1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotQWxsIGVkZ2VzIHdlcmUgcmV2ZWFsZWQh
Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2lsbC1yZXZlYWwtZWRnZS1vbi1kaXYu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbGwtcmV2ZWFsLWVkZ2Utb24tZGl2Lmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIxNTcwZjE4YzZhZmNkOGRjYzc1ZmY5
MzVmZTMxMzk4OGIwZWEyYmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2lsbC1yZXZlYWwtZWRnZS1vbi1kaXYu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDgzICswLDAgQEAKLTxodG1sPgotPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci0KLTxzdHlsZT4KLSNz
Y3JvbGx5LWRpdiB7Ci0gICAgd2lkdGg6MjAwcHg7Ci0gICAgaGVpZ2h0OjIwMHB4OwotICAgIGJv
cmRlcjoycHggc29saWQgYmxhY2s7Ci0gICAgb3ZlcmZsb3c6c2Nyb2xsOwotfQotCi0uYmlnIHsK
LSAgICBiYWNrZ3JvdW5kLWNvbG9yOnB1cnBsZTsKLSAgICB3aWR0aDo2MDBweDsKLSAgICBoZWln
aHQ6NjAwcHg7Ci19Ci08L3N0eWxlPgotCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+
Ci1kZXNjcmlwdGlvbignVGhpcyB0ZXN0cyB0aGF0IHdlIGNhbiBsaXN0ZW4gZm9yIHdlYmtpdHdp
bGxyZXZlYWxib3R0b20sIHdlYmtpdHdpbGxyZXZlYWx0b3AsIHdlYmtpdHdpbGxyZXZlYWxsZWZ0
LCBhbmQgd2Via2l0d2lsbHJldmVhbHJpZ2h0Jyk7Ci0KLXZhciB0cmlnZ2VyZWRXaWxsUmV2ZWFs
Qm90dG9tID0gZmFsc2U7Ci12YXIgdHJpZ2dlcmVkV2lsbFJldmVhbFRvcCA9IGZhbHNlOwotdmFy
IHRyaWdnZXJlZFdpbGxSZXZlYWxSaWdodCA9IGZhbHNlOwotdmFyIHRyaWdnZXJlZFdpbGxSZXZl
YWxMZWZ0ID0gZmFsc2U7Ci0KLWZ1bmN0aW9uIGJvdHRvbVJldmVhbGVkKCkKLXsKLSAgICB0cmln
Z2VyZWRXaWxsUmV2ZWFsQm90dG9tID0gdHJ1ZTsKLSAgICB2YXIgc2Nyb2xseSA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzY3JvbGx5LWRpdiIpOwotICAgIHNjcm9sbHkuc2Nyb2xsVG9wID0g
MDsKLSAgICBjaGVja0NvbXBsZXRlKCk7Ci19Ci0KLWZ1bmN0aW9uIHRvcFJldmVhbGVkKCkKLXsK
LSAgICB0cmlnZ2VyZWRXaWxsUmV2ZWFsVG9wID0gdHJ1ZTsKLSAgICB2YXIgc2Nyb2xseSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzY3JvbGx5LWRpdiIpOwotICAgIHNjcm9sbHkuc2Nyb2xs
TGVmdCA9IDYwMDsKLSAgICBjaGVja0NvbXBsZXRlKCk7Ci19Ci0KLWZ1bmN0aW9uIHJpZ2h0UmV2
ZWFsZWQoKQotewotICAgIHRyaWdnZXJlZFdpbGxSZXZlYWxSaWdodCA9IHRydWU7Ci0gICAgdmFy
IHNjcm9sbHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Nyb2xseS1kaXYiKTsKLSAgICBz
Y3JvbGx5LnNjcm9sbExlZnQgPSAwOwotICAgIGNoZWNrQ29tcGxldGUoKTsKLX0KLQotZnVuY3Rp
b24gbGVmdFJldmVhbGVkKCkKLXsKLSAgICB0cmlnZ2VyZWRXaWxsUmV2ZWFsTGVmdCA9IHRydWU7
Ci0gICAgY2hlY2tDb21wbGV0ZSgpOwotfQotCi1mdW5jdGlvbiBjaGVja0NvbXBsZXRlKCkKLXsK
LSAgICBpZiAodHJpZ2dlcmVkV2lsbFJldmVhbEJvdHRvbSAmJiB0cmlnZ2VyZWRXaWxsUmV2ZWFs
VG9wICYmIHRyaWdnZXJlZFdpbGxSZXZlYWxSaWdodCAmJiB0cmlnZ2VyZWRXaWxsUmV2ZWFsTGVm
dCkgewotICAgICAgICBkZWJ1ZygnQWxsIGVkZ2VzIHdlcmUgcmV2ZWFsZWQhJyk7Ci0gICAgICAg
IGZpbmlzaEpTVGVzdCgpOwotICAgIH0KLX0KLQotdmFyIGpzVGVzdElzQXN5bmMgPSB0cnVlOwot
Ci1mdW5jdGlvbiBydW5UZXN0KCkgewotICAgIHZhciBzY3JvbGx5ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInNjcm9sbHktZGl2Iik7Ci0gICAgc2Nyb2xseS5hZGRFdmVudExpc3RlbmVyKCd3
ZWJraXR3aWxscmV2ZWFsYm90dG9tJywgYm90dG9tUmV2ZWFsZWQsIGZhbHNlKTsKLSAgICBzY3Jv
bGx5LmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHdpbGxyZXZlYWx0b3AnLCB0b3BSZXZlYWxlZCwg
ZmFsc2UpOwotICAgIHNjcm9sbHkuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0d2lsbHJldmVhbHJp
Z2h0JywgcmlnaHRSZXZlYWxlZCwgZmFsc2UpOwotICAgIHNjcm9sbHkuYWRkRXZlbnRMaXN0ZW5l
cignd2Via2l0d2lsbHJldmVhbGxlZnQnLCBsZWZ0UmV2ZWFsZWQsIGZhbHNlKTsKLSAgICBzY3Jv
bGx5LnNjcm9sbFRvcCA9IDYwMDsKLX0KLTwvc2NyaXB0PgotCi08Ym9keSBvbmxvYWQ9InJ1blRl
c3QoKSI+Ci0gICAgPGRpdiBpZD0ic2Nyb2xseS1kaXYiPgotICAgICAgICA8ZGl2IGNsYXNzPSJi
aWciPjwvZGl2PgotICAgIDwvZGl2PgotICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbGwtcmV2ZWFsLWVkZ2VzLWJvZHktYXR0cmlidXRl
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aWxsLXJldmVhbC1lZGdl
cy1ib2R5LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAxNGVjMzVjNTdmNWY4MDRhNDliNjYyMjlmZDEyMjFiNmYzNTVjYzFkLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3dpbGwtcmV2ZWFsLWVkZ2VzLWJvZHktYXR0cmlidXRlcy1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1UaGlzIHRlc3RzIHRoYXQgb253ZWJraXR3aWxscmV2
ZWFsYm90dG9tLCBvbndlYmtpdHdpbGxyZXZlYWx0b3AsIG9ud2Via2l0d2lsbHJldmVhbGxlZnQs
IGFuZCBvbndlYmtpdHdpbGxyZXZlYWxyaWdodCB3b3JrIGFzIGJvZHkgYXR0cmlidXRlcwotCi1P
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotQWxsIGVkZ2VzIHdlcmUgcmV2ZWFsZWQhCi1Q
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2lsbC1yZXZlYWwtZWRnZXMtYm9keS1hdHRy
aWJ1dGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aWxsLXJldmVhbC1lZGdlcy1i
b2R5LWF0dHJpYnV0ZXMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGZjODIz
YzI2YmU5MWY5OTNjYWFhNDhjYmM2NmZlNjI5YmM4MjJiYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aWxsLXJl
dmVhbC1lZGdlcy1ib2R5LWF0dHJpYnV0ZXMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICsw
LDAgQEAKLTxodG1sPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Ci0KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLWRlc2NyaXB0
aW9uKCdUaGlzIHRlc3RzIHRoYXQgb253ZWJraXR3aWxscmV2ZWFsYm90dG9tLCBvbndlYmtpdHdp
bGxyZXZlYWx0b3AsIG9ud2Via2l0d2lsbHJldmVhbGxlZnQsIGFuZCBvbndlYmtpdHdpbGxyZXZl
YWxyaWdodCB3b3JrIGFzIGJvZHkgYXR0cmlidXRlcycpOwotCi12YXIgdHJpZ2dlcmVkV2lsbFJl
dmVhbEJvdHRvbSA9IGZhbHNlOwotdmFyIHRyaWdnZXJlZFdpbGxSZXZlYWxUb3AgPSBmYWxzZTsK
LXZhciB0cmlnZ2VyZWRXaWxsUmV2ZWFsUmlnaHQgPSBmYWxzZTsKLXZhciB0cmlnZ2VyZWRXaWxs
UmV2ZWFsTGVmdCA9IGZhbHNlOwotCi1mdW5jdGlvbiB3aWxsUmV2ZWFsQm90dG9tKCkgewotICAg
IHRyaWdnZXJlZFdpbGxSZXZlYWxCb3R0b20gPSB0cnVlOwotICAgIHdpbmRvdy5zY3JvbGxUbygw
LDApOwotICAgIGNoZWNrQ29tcGxldGUoKTsKLX0KLQotZnVuY3Rpb24gd2lsbFJldmVhbFRvcCgp
IHsKLSAgICB0cmlnZ2VyZWRXaWxsUmV2ZWFsVG9wID0gdHJ1ZTsKLSAgICB3aW5kb3cuc2Nyb2xs
VG8oMjAwMCwgMCk7Ci0gICAgY2hlY2tDb21wbGV0ZSgpOwotfQotCi1mdW5jdGlvbiB3aWxsUmV2
ZWFsUmlnaHQoKSB7Ci0gICAgdHJpZ2dlcmVkV2lsbFJldmVhbFJpZ2h0ID0gdHJ1ZTsKLSAgICB3
aW5kb3cuc2Nyb2xsVG8oMCwgMCk7Ci0gICAgY2hlY2tDb21wbGV0ZSgpOwotfQotCi1mdW5jdGlv
biB3aWxsUmV2ZWFsTGVmdCgpIHsKLSAgICB0cmlnZ2VyZWRXaWxsUmV2ZWFsTGVmdCA9IHRydWU7
Ci0gICAgY2hlY2tDb21wbGV0ZSgpOwotfQotCi1mdW5jdGlvbiBjaGVja0NvbXBsZXRlKCkKLXsK
LSAgICBpZiAodHJpZ2dlcmVkV2lsbFJldmVhbEJvdHRvbSAmJiB0cmlnZ2VyZWRXaWxsUmV2ZWFs
VG9wICYmIHRyaWdnZXJlZFdpbGxSZXZlYWxSaWdodCAmJiB0cmlnZ2VyZWRXaWxsUmV2ZWFsTGVm
dCkgewotICAgICAgICBkZWJ1ZygnQWxsIGVkZ2VzIHdlcmUgcmV2ZWFsZWQhJyk7Ci0gICAgICAg
IGZpbmlzaEpTVGVzdCgpOwotICAgIH0KLX0KLQotdmFyIGpzVGVzdElzQXN5bmMgPSB0cnVlOwot
Ci1mdW5jdGlvbiBydW5UZXN0KCkgewotICAgIHdpbmRvdy5zY3JvbGxUbygwLCAyMDAwKTsKLX0K
LTwvc2NyaXB0PgotCi08Ym9keSBzdHlsZT0iaGVpZ2h0OjIwMDBweDsgd2lkdGg6MjAwMHB4OyIg
b25sb2FkPSJydW5UZXN0KCkiIG9ud2Via2l0d2lsbHJldmVhbGJvdHRvbT0id2lsbFJldmVhbEJv
dHRvbSgpIgotICAgIG9ud2Via2l0d2lsbHJldmVhbHRvcD0id2lsbFJldmVhbFRvcCgpIiBvbndl
YmtpdHdpbGxyZXZlYWxyaWdodD0id2lsbFJldmVhbFJpZ2h0KCkiIG9ud2Via2l0d2lsbHJldmVh
bGxlZnQ9IndpbGxSZXZlYWxMZWZ0KCkiPgotICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbGwtcmV2ZWFsLWVkZ2VzLWV2ZW50LWxpc3Rl
bmVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aWxsLXJldmVhbC1l
ZGdlcy1ldmVudC1saXN0ZW5lcnMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBmZTBjMjZmZmI5YmY2OWRiNWQzNmNkZjM4YTRiODJjMWVmODE5ZmIyLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL3dpbGwtcmV2ZWFsLWVkZ2VzLWV2ZW50LWxpc3RlbmVycy1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1UaGlzIHRlc3RzIHRoYXQgd2UgY2FuIGxpc3Rl
biBmb3Igd2Via2l0d2lsbHJldmVhbGJvdHRvbSwgd2Via2l0d2lsbHJldmVhbHRvcCwgd2Via2l0
d2lsbHJldmVhbGxlZnQsIGFuZCB3ZWJraXR3aWxscmV2ZWFscmlnaHQKLQotT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgotCi0KLUFsbCBlZGdlcyB3ZXJlIHJldmVhbGVkIQotUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbGwtcmV2ZWFsLWVkZ2VzLWV2ZW50LWxpc3RlbmVycy5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2lsbC1yZXZlYWwtZWRnZXMtZXZlbnQtbGlzdGVu
ZXJzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQwMmU2NDk2N2RkMzhmZDI2
YzE3OGYwY2QzMmRiZmVlMzk1MjYyOWQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2lsbC1yZXZlYWwtZWRnZXMt
ZXZlbnQtbGlzdGVuZXJzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCwwIEBACi08aHRt
bD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgotCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1kZXNjcmlwdGlvbignVGhpcyB0
ZXN0cyB0aGF0IHdlIGNhbiBsaXN0ZW4gZm9yIHdlYmtpdHdpbGxyZXZlYWxib3R0b20sIHdlYmtp
dHdpbGxyZXZlYWx0b3AsIHdlYmtpdHdpbGxyZXZlYWxsZWZ0LCBhbmQgd2Via2l0d2lsbHJldmVh
bHJpZ2h0Jyk7Ci0KLXZhciB0cmlnZ2VyZWRXaWxsUmV2ZWFsQm90dG9tID0gZmFsc2U7Ci12YXIg
dHJpZ2dlcmVkV2lsbFJldmVhbFRvcCA9IGZhbHNlOwotdmFyIHRyaWdnZXJlZFdpbGxSZXZlYWxS
aWdodCA9IGZhbHNlOwotdmFyIHRyaWdnZXJlZFdpbGxSZXZlYWxMZWZ0ID0gZmFsc2U7Ci0KLXdp
bmRvdy5hZGRFdmVudExpc3RlbmVyKAotICAgICd3ZWJraXR3aWxscmV2ZWFsYm90dG9tJywKLSAg
ICBmdW5jdGlvbigpIHsKLSAgICAgICAgdHJpZ2dlcmVkV2lsbFJldmVhbEJvdHRvbSA9IHRydWU7
Ci0gICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLDApOwotICAgICAgICBjaGVja0NvbXBsZXRlKCk7
Ci0gICAgfSwKLSAgICBmYWxzZSk7Ci0KLXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKAotICAgICd3
ZWJraXR3aWxscmV2ZWFsdG9wJywKLSAgICBmdW5jdGlvbihldmVudCkgewotICAgICAgICB0cmln
Z2VyZWRXaWxsUmV2ZWFsVG9wID0gdHJ1ZTsKLSAgICAgICAgd2luZG93LnNjcm9sbFRvKDIwMDAs
IDApOwotICAgICAgICBjaGVja0NvbXBsZXRlKCk7Ci0gICAgfSwKLSAgICBmYWxzZSk7Ci0KLXdp
bmRvdy5hZGRFdmVudExpc3RlbmVyKAotICAgICd3ZWJraXR3aWxscmV2ZWFscmlnaHQnLAotICAg
IGZ1bmN0aW9uKGV2ZW50KSB7Ci0gICAgICAgIHRyaWdnZXJlZFdpbGxSZXZlYWxSaWdodCA9IHRy
dWU7Ci0gICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTsKLSAgICAgICAgY2hlY2tDb21wbGV0
ZSgpOwotICAgIH0sCi0gICAgZmFsc2UpOwotCi13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigKLSAg
ICAnd2Via2l0d2lsbHJldmVhbGxlZnQnLAotICAgIGZ1bmN0aW9uKGV2ZW50KSB7Ci0gICAgICAg
IHRyaWdnZXJlZFdpbGxSZXZlYWxMZWZ0ID0gdHJ1ZTsKLSAgICAgICAgY2hlY2tDb21wbGV0ZSgp
OwotICAgIH0sCi0gICAgZmFsc2UpOwotCi1mdW5jdGlvbiBjaGVja0NvbXBsZXRlKCkKLXsKLSAg
ICBpZiAodHJpZ2dlcmVkV2lsbFJldmVhbEJvdHRvbSAmJiB0cmlnZ2VyZWRXaWxsUmV2ZWFsVG9w
ICYmIHRyaWdnZXJlZFdpbGxSZXZlYWxSaWdodCAmJiB0cmlnZ2VyZWRXaWxsUmV2ZWFsTGVmdCkg
ewotICAgICAgICBkZWJ1ZygnQWxsIGVkZ2VzIHdlcmUgcmV2ZWFsZWQhJyk7Ci0gICAgICAgIGZp
bmlzaEpTVGVzdCgpOwotICAgIH0KLX0KLQotdmFyIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi1m
dW5jdGlvbiBydW5UZXN0KCkgewotICAgIHdpbmRvdy5zY3JvbGxUbygwLCAyMDAwKTsKLX0KLTwv
c2NyaXB0PgotCi08Ym9keSBzdHlsZT0iaGVpZ2h0OjIwMDBweDsgd2lkdGg6MjAwMHB4OyIgb25s
b2FkPSJydW5UZXN0KCkiPgotICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbGwtcmV2ZWFsLWVkZ2VzLXdpbmRvdy1hdHRyaWJ1dGVzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbGwtcmV2ZWFsLWVkZ2VzLXdp
bmRvdy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMjc5NzkyMTU1MjNmZDU4YjVmNDAxZjVjZDRiOTVjMTk3MDIxZjNhMS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy93aWxsLXJldmVhbC1lZGdlcy13aW5kb3ctYXR0cmlidXRlcy1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1UaGlzIHRlc3RzIHRoYXQgb253ZWJraXR3aWxscmV2
ZWFsYm90dG9tLCBvbndlYmtpdHdpbGxyZXZlYWx0b3AsIG9ud2Via2l0d2lsbHJldmVhbGxlZnQs
IGFuZCBvbndlYmtpdHdpbGxyZXZlYWxyaWdodCB3b3JrIGFzIHdpbmRvdyBhdHRyaWJ1dGVzLgot
Ci1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotQWxsIGVkZ2VzIHdlcmUgcmV2ZWFsZWQh
Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2lsbC1yZXZlYWwtZWRnZXMtd2luZG93
LWF0dHJpYnV0ZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbGwtcmV2ZWFsLWVk
Z2VzLXdpbmRvdy1hdHRyaWJ1dGVzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDdjYWQ1MjE4NzU2Nzc4MTFkMGVjM2Y1MzUzMjI4YTIyMmJlNGY0MzQuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
d2lsbC1yZXZlYWwtZWRnZXMtd2luZG93LWF0dHJpYnV0ZXMuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDU3ICswLDAgQEAKLTxodG1sPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci0KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4K
LWRlc2NyaXB0aW9uKCdUaGlzIHRlc3RzIHRoYXQgb253ZWJraXR3aWxscmV2ZWFsYm90dG9tLCBv
bndlYmtpdHdpbGxyZXZlYWx0b3AsIG9ud2Via2l0d2lsbHJldmVhbGxlZnQsIGFuZCBvbndlYmtp
dHdpbGxyZXZlYWxyaWdodCB3b3JrIGFzIHdpbmRvdyBhdHRyaWJ1dGVzLicpOwotCi12YXIgdHJp
Z2dlcmVkV2lsbFJldmVhbEJvdHRvbSA9IGZhbHNlOwotdmFyIHRyaWdnZXJlZFdpbGxSZXZlYWxU
b3AgPSBmYWxzZTsKLXZhciB0cmlnZ2VyZWRXaWxsUmV2ZWFsUmlnaHQgPSBmYWxzZTsKLXZhciB0
cmlnZ2VyZWRXaWxsUmV2ZWFsTGVmdCA9IGZhbHNlOwotCi13aW5kb3cub253ZWJraXR3aWxscmV2
ZWFsYm90dG9tID0KLSAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgdHJpZ2dlcmVkV2lsbFJldmVh
bEJvdHRvbSA9IHRydWU7Ci0gICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLDApOwotICAgICAgICBj
aGVja0NvbXBsZXRlKCk7Ci0gICAgfQotCi13aW5kb3cub253ZWJraXR3aWxscmV2ZWFsdG9wID0K
LSAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgdHJpZ2dlcmVkV2lsbFJldmVhbFRvcCA9IHRydWU7
Ci0gICAgICAgIHdpbmRvdy5zY3JvbGxUbygyMDAwLCAwKTsKLSAgICAgICAgY2hlY2tDb21wbGV0
ZSgpOwotICAgIH0KLQotd2luZG93Lm9ud2Via2l0d2lsbHJldmVhbHJpZ2h0ID0KLSAgICBmdW5j
dGlvbigpIHsKLSAgICAgICAgdHJpZ2dlcmVkV2lsbFJldmVhbFJpZ2h0ID0gdHJ1ZTsKLSAgICAg
ICAgd2luZG93LnNjcm9sbFRvKDAsIDApOwotICAgICAgICBjaGVja0NvbXBsZXRlKCk7Ci0gICAg
fQotCi13aW5kb3cub253ZWJraXR3aWxscmV2ZWFsbGVmdCA9Ci0gICAgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIHRyaWdnZXJlZFdpbGxSZXZlYWxMZWZ0ID0gdHJ1ZTsKLSAgICAgICAgY2hlY2tDb21w
bGV0ZSgpOwotICAgIH0KLQotZnVuY3Rpb24gY2hlY2tDb21wbGV0ZSgpCi17Ci0gICAgaWYgKHRy
aWdnZXJlZFdpbGxSZXZlYWxCb3R0b20gJiYgdHJpZ2dlcmVkV2lsbFJldmVhbFRvcCAmJiB0cmln
Z2VyZWRXaWxsUmV2ZWFsUmlnaHQgJiYgdHJpZ2dlcmVkV2lsbFJldmVhbExlZnQpIHsKLSAgICAg
ICAgZGVidWcoJ0FsbCBlZGdlcyB3ZXJlIHJldmVhbGVkIScpOwotICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKLSAgICB9Ci19Ci0KLXZhciBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotZnVuY3Rpb24g
cnVuVGVzdCgpIHsKLSAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMjAwMCk7Ci19Ci08L3NjcmlwdD4K
LQotPGJvZHkgc3R5bGU9ImhlaWdodDoyMDAwcHg7IHdpZHRoOjIwMDBweDsiIG9ubG9hZD0icnVu
VGVzdCgpIj4KLSAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Cg==
</data>
<flag name="review"
          id="334359"
          type_id="1"
          status="+"
          setter="bdakin"
    />
          </attachment>
      

    </bug>

</bugzilla>