<?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>211347</bug_id>
          
          <creation_ts>2020-05-02 21:49:36 -0700</creation_ts>
          <short_desc>Overflow scrollers in iframes don&apos;t get mouseMovedInContentArea()</short_desc>
          <delta_ts>2020-05-08 17:21:57 -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>Scrolling</component>
          <version>Safari Technology Preview</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=211430</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1648309</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-02 21:49:36 -0700</bug_when>
    <thetext>EventHandler::mouseMoved doesn&apos;t seem to do the right thing when finding overflow scrollers in iframes, which breaks overlay scrollbar interaction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648310</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-02 21:49:55 -0700</bug_when>
    <thetext>&lt;rdar://problem/62784560&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648933</commentid>
    <comment_count>2</comment_count>
      <attachid>398469</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-04 21:14:14 -0700</bug_when>
    <thetext>Created attachment 398469
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650445</commentid>
    <comment_count>3</comment_count>
      <attachid>398824</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-07 18:24:16 -0700</bug_when>
    <thetext>Created attachment 398824
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650446</commentid>
    <comment_count>4</comment_count>
      <attachid>398825</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-07 18:26:15 -0700</bug_when>
    <thetext>Created attachment 398825
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650493</commentid>
    <comment_count>5</comment_count>
      <attachid>398832</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-07 21:19:26 -0700</bug_when>
    <thetext>Created attachment 398832
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650500</commentid>
    <comment_count>6</comment_count>
      <attachid>398837</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-07 22:48:05 -0700</bug_when>
    <thetext>Created attachment 398837
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650588</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-08 08:02:28 -0700</bug_when>
    <thetext>Committed r261382: &lt;https://trac.webkit.org/changeset/261382&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 398837.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650843</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-08 17:21:57 -0700</bug_when>
    <thetext>Added missing tests in https://trac.webkit.org/changeset/261426/webkit</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398469</attachid>
            <date>2020-05-04 21:14:14 -0700</date>
            <delta_ts>2020-05-07 18:24:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211347-20200504211413.patch</filename>
            <type>text/plain</type>
            <size>15753</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxMTAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODNhMjRkYjRlMmIzZjFl
NGQyZDk3ZWMyZWY2NTNhMWE5ODVmZGEyMi4uYzhhZjZmNTkyZDM4OGJhYjIyY2Y2NzZlNWViMmJh
NjNkZDQzNmE4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIwLTA1LTA0ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE92ZXJmbG93IHNj
cm9sbGVycyBpbiBpZnJhbWVzIGRvbid0IGdldCBtb3VzZU1vdmVkSW5Db250ZW50QXJlYSgpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTEzNDcKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYyNzg0NTYwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE92ZXJsYXkgc2Nyb2xsYmFyIGludGVyYWN0aW9ucyAo
Zmxhc2ggb24gZmluZ2VycyBkb3duLCBleHBhbmQgd2hlbiBob3ZlcmVkKSB3ZXJlIGJyb2tlbgor
ICAgICAgICBmb3Igb3ZlcmZsb3cgaW5zaWRlIGlmcmFtZXMsIGJlY2F1c2UgRXZlbnRIYW5kbGVy
IGZhaWxlZCB0byBjYWxsIG1vdXNlTW92ZWRJbkNvbnRlbnRBcmVhKCkKKyAgICAgICAgb24gdGhl
IGNvcnJlY3QgU2Nyb2xsYWJsZUFyZWFzLiBJdCBvbmx5IGRpZCBzbyBmb3IgdGhlIG1haW4gZnJh
bWUsIGJ1dCB0aGlzIG5lZWRzIHRvCisgICAgICAgIGhhcHBlbiBmb3Igc3ViZnJhbWVzIHRvbywg
c28gbW92ZSB0aGUgY29kZSBpbnRvIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VNb3ZlRXZlbnQo
KQorICAgICAgICB3aGljaCBpcyBjYWxsZWQgcGVyIHN1YmZyYW1lLgorCisgICAgICAgIGVuY2xv
c2luZ1Njcm9sbGFibGVBcmVhKCkgd2FzIGFsc28gd3Jvbmc7IGl0IHdvdWxkIHJldHVybiBhIG5v
bi1zY3JvbGxhYmxlIFJlbmRlckxheWVyCisgICAgICAgICh3aGljaCBtb3N0IGFyZSkuIENoYW5n
ZSBpdCB0byB1c2UgZW5jbG9zaW5nU2Nyb2xsYWJsZUxheWVyKCkgd2hpY2ggZG9lcyB0aGUgcmln
aHQgdGhpbmcuCisKKyAgICAgICAgVGVzdHM6IGZhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJz
L292ZXJmbG93LWluLWlmcmFtZS1vdmVybGF5LXNjcm9sbGJhci1ob3ZlcmVkLmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93LWluLWlmcmFt
ZS1vdmVybGF5LXNjcm9sbGJhci1yZXZlYWwuaHRtbAorCisgICAgICAgICogcGFnZS9FdmVudEhh
bmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZW5jbG9zaW5nU2Nyb2xsYWJsZUFyZWEpOgor
ICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjptb3VzZU1vdmVkKToKKyAgICAgICAgKFdl
YkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VNb3ZlRXZlbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6RXZlbnRIYW5kbGVyOjpzZW5kTW91c2VNb3ZlZFRvU2Nyb2xsYWJsZUFyZWFzKToKKyAg
ICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5oOgorCiAyMDIwLTA1LTA0ICBTaW1vbiBGcmFzZXIg
IDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIENvZGUgY2xlYW51cCBpbiBFdmVu
dEhhbmRsZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCAwNTE3YThmYTIw
MDlkZGE3NGQ2ZDE0MmYwODJlYzVlMDVlMjk4Njg1Li4xMGZkNmI2NmFiM2RiN2JlZGEzNGJkNDc4
MDY4ZDQ3N2M0OGRiNWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0x
ODg0LDEwICsxODg0LDE3IEBAIHN0YXRpYyBTY3JvbGxhYmxlQXJlYSogZW5jbG9zaW5nU2Nyb2xs
YWJsZUFyZWEoTm9kZSogbm9kZSkKICAgICAgICAgaWYgKCFyZW5kZXJlcikKICAgICAgICAgICAg
IGNvbnRpbnVlOwogCi0gICAgICAgIGlmIChpczxSZW5kZXJMaXN0Qm94PigqcmVuZGVyZXIpKQot
ICAgICAgICAgICAgcmV0dXJuIGRvd25jYXN0PFJlbmRlckxpc3RCb3g+KHJlbmRlcmVyKTsKKyAg
ICAgICAgaWYgKGlzPFJlbmRlckxpc3RCb3g+KCpyZW5kZXJlcikpIHsKKyAgICAgICAgICAgIGF1
dG8qIHNjcm9sbGFibGVBcmVhID0gc3RhdGljX2Nhc3Q8U2Nyb2xsYWJsZUFyZWEqPihkb3duY2Fz
dDxSZW5kZXJMaXN0Qm94PihyZW5kZXJlcikpOworICAgICAgICAgICAgaWYgKHNjcm9sbGFibGVB
cmVhLT5pc1Njcm9sbGFibGVPclJ1YmJlcmJhbmRhYmxlKCkpCisgICAgICAgICAgICAgICAgcmV0
dXJuIHNjcm9sbGFibGVBcmVhOworICAgICAgICB9CisKKyAgICAgICAgYXV0byogbGF5ZXIgPSBy
ZW5kZXJlci0+ZW5jbG9zaW5nTGF5ZXIoKTsKKyAgICAgICAgaWYgKCFsYXllcikKKyAgICAgICAg
ICAgIHJldHVybiBudWxscHRyOwogCi0gICAgICAgIHJldHVybiByZW5kZXJlci0+ZW5jbG9zaW5n
TGF5ZXIoKTsKKyAgICAgICAgcmV0dXJuIGxheWVyLT5lbmNsb3NpbmdTY3JvbGxhYmxlTGF5ZXIo
SW5jbHVkZVNlbGZPck5vdDo6SW5jbHVkZVNlbGYsIENyb3NzRnJhbWVCb3VuZGFyaWVzOjpObyk7
CiAgICAgfQogCiAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC0xOTA5LDE2ICsxOTE2LDYgQEAgYm9v
bCBFdmVudEhhbmRsZXI6Om1vdXNlTW92ZWQoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldmVu
dCkKICAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAKLSAgICBpZiAoYXV0
byBzY3JvbGxlZEFyZWEgPSBlbmNsb3NpbmdTY3JvbGxhYmxlQXJlYShoaXRUZXN0UmVzdWx0Lmlu
bmVyTm9kZSgpKSkgewotICAgICAgICBpZiAoRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBtX2ZyYW1l
LnZpZXcoKSkgewotICAgICAgICAgICAgaWYgKGZyYW1lVmlldy0+Y29udGFpbnNTY3JvbGxhYmxl
QXJlYShzY3JvbGxlZEFyZWEpKQotICAgICAgICAgICAgICAgIHNjcm9sbGVkQXJlYS0+bW91c2VN
b3ZlZEluQ29udGVudEFyZWEoKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmIChGcmFtZVZp
ZXcqIGZyYW1lVmlldyA9IG1fZnJhbWUudmlldygpKQotICAgICAgICBmcmFtZVZpZXctPm1vdXNl
TW92ZWRJbkNvbnRlbnRBcmVhKCk7ICAKLQogICAgIGhpdFRlc3RSZXN1bHQuc2V0VG9Ob25Vc2Vy
QWdlbnRTaGFkb3dBbmNlc3RvcigpOwogICAgIHBhZ2UtPmNocm9tZSgpLm1vdXNlRGlkTW92ZU92
ZXJFbGVtZW50KGhpdFRlc3RSZXN1bHQsIGV2ZW50Lm1vZGlmaWVyRmxhZ3MoKSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKQEAgLTIwMzcsNyArMjAzNCw5IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5k
bGVNb3VzZU1vdmVFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIHBsYXRmb3JtTW91c2VF
CiAgICAgICAgIGlmIChhdXRvKiB2aWV3ID0gbV9mcmFtZS52aWV3KCkpCiAgICAgICAgICAgICB1
cGRhdGVDdXJzb3IoKnZpZXcsIG1vdXNlRXZlbnQuaGl0VGVzdFJlc3VsdCgpLCBwbGF0Zm9ybU1v
dXNlRXZlbnQuc2hpZnRLZXkoKSk7CiAgICAgfQotICAgIAorCisgICAgc2VuZE1vdXNlTW92ZWRU
b1Njcm9sbGFibGVBcmVhcyhtb3VzZUV2ZW50LmhpdFRlc3RSZXN1bHQoKS5pbm5lck5vZGUoKSk7
CisKICAgICBtX2xhc3RNb3VzZU1vdmVFdmVudFN1YmZyYW1lID0gbmV3U3ViZnJhbWU7CiAKICAg
ICBpZiAoc3dhbGxvd0V2ZW50KQpAQCAtMjA1Miw2ICsyMDUxLDIwIEBAIGJvb2wgRXZlbnRIYW5k
bGVyOjpoYW5kbGVNb3VzZU1vdmVFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIHBsYXRm
b3JtTW91c2VFCiAgICAgcmV0dXJuIHN3YWxsb3dFdmVudDsKIH0KIAordm9pZCBFdmVudEhhbmRs
ZXI6OnNlbmRNb3VzZU1vdmVkVG9TY3JvbGxhYmxlQXJlYXMoTm9kZSogaGl0Tm9kZSkKK3sKKyAg
ICBhdXRvKiBmcmFtZVZpZXcgPSBtX2ZyYW1lLnZpZXcoKTsKKyAgICBpZiAoIWZyYW1lVmlldykK
KyAgICAgICAgcmV0dXJuOworCisgICAgLy8gRklYTUU6IE1heWJlIHRoaXMgc2hvdWxkIGNhbGwg
bW91c2VNb3ZlZEluQ29udGVudEFyZWEoKSBvbiBhbGwgZW5jbG9zaW5nIFNjcm9sbGFibGVBcmVh
cy4KKyAgICBhdXRvKiBzY3JvbGxhYmxlQXJlYSA9IGVuY2xvc2luZ1Njcm9sbGFibGVBcmVhKGhp
dE5vZGUpOworICAgIGlmIChzY3JvbGxhYmxlQXJlYSAmJiBzY3JvbGxhYmxlQXJlYSAhPSBmcmFt
ZVZpZXcpCisgICAgICAgIHNjcm9sbGFibGVBcmVhLT5tb3VzZU1vdmVkSW5Db250ZW50QXJlYSgp
OworCisgICAgZnJhbWVWaWV3LT5tb3VzZU1vdmVkSW5Db250ZW50QXJlYSgpOworfQorCiBib29s
IEV2ZW50SGFuZGxlcjo6c2hvdWxkU2VuZE1vdXNlRXZlbnRzVG9JbmFjdGl2ZVdpbmRvd3MoKSBj
b25zdAogewogI2lmIFBMQVRGT1JNKEdUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmlu
ZGV4IDViNDY0NDBlMjhhMTUzNmU3ZTk2YjJmNzE5YzJkZjRkOTg5YTc2MzkuLjQ0ZDU5NGY4YWJm
ZTM4NGIxMTJlOGVhOTQ1YzczMjM0ZGJlYWFlYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRs
ZXIuaApAQCAtNDQ5LDYgKzQ0OSw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBwcm9jZXNzV2hlZWxF
dmVudEZvclNjcm9sbGluZyhjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmLCBDb250YWluZXJOb2Rl
KiBzY3JvbGxhYmxlQ29udGFpbmVyLCBjb25zdCBXZWFrUHRyPFNjcm9sbGFibGVBcmVhPiYpOwog
ICAgIHZvaWQgcHJvY2Vzc1doZWVsRXZlbnRGb3JTY3JvbGxTbmFwKGNvbnN0IFBsYXRmb3JtV2hl
ZWxFdmVudCYsIGNvbnN0IFdlYWtQdHI8U2Nyb2xsYWJsZUFyZWE+Jik7CiAgICAgYm9vbCBjb21w
bGV0ZVdpZGdldFdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiwgY29uc3QgV2Vh
a1B0cjxXaWRnZXQ+JiwgY29uc3QgV2Vha1B0cjxTY3JvbGxhYmxlQXJlYT4mLCBDb250YWluZXJO
b2RlKik7CisgICAgCisgICAgdm9pZCBzZW5kTW91c2VNb3ZlZFRvU2Nyb2xsYWJsZUFyZWFzKE5v
ZGUqIGhpdE5vZGUpOwogCiAgICAgYm9vbCBwbGF0Zm9ybUNvbXBsZXRlUGxhdGZvcm1XaWRnZXRX
aGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYsIGNvbnN0IFdpZGdldCYsIENvbnRh
aW5lck5vZGUqIHNjcm9sbGFibGVDb250YWluZXIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODY4ZmNlODhlZmVkMzA3
ODQ0NzViMDQ1NTZkZjJlOWQ3YzFlZGZlZC4uNzc3MDI4ZDg4MWZkMmZlMzE5OWY0NGViMmM1ODE0
Yzc5NjhiMWYxNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIwLTA1LTA0ICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE92ZXJmbG93IHNjcm9sbGVy
cyBpbiBpZnJhbWVzIGRvbid0IGdldCBtb3VzZU1vdmVkSW5Db250ZW50QXJlYSgpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTEzNDcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5n
L21hYy9zY3JvbGxiYXJzL292ZXJmbG93LWluLWlmcmFtZS1vdmVybGF5LXNjcm9sbGJhci1ob3Zl
cmVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvbWFjL3Nj
cm9sbGJhcnMvb3ZlcmZsb3ctaW4taWZyYW1lLW92ZXJsYXktc2Nyb2xsYmFyLWhvdmVyZWQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZs
b3ctaW4taWZyYW1lLW92ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93LWluLWlm
cmFtZS1vdmVybGF5LXNjcm9sbGJhci1yZXZlYWwuaHRtbDogQWRkZWQuCisKIDIwMjAtMDUtMDQg
IFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgT3ZlcmZs
b3cgc2Nyb2xsYmFycyBkb24ndCBncm93IHdoZW4gaG92ZXJlZApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZsb3ctaW4taWZyYW1lLW92
ZXJsYXktc2Nyb2xsYmFyLWhvdmVyZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZsb3ctaW4taWZyYW1lLW92ZXJsYXktc2Nyb2xs
YmFyLWhvdmVyZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk4YTUxM2JkNDc3YjQyMzUzM2Mx
YzA2MGMyYTIwYzUxNWUxYTIxNzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9vdmVyZmxvdy1pbi1pZnJhbWUtb3ZlcmxheS1zY3Jv
bGxiYXItaG92ZXJlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorCitUZXN0IG1heWJl
Z2luIGFuZCBjYW5jZWxsZWQgb24gb3ZlcmZsb3cgaW5zaWRlIGFuIGlmcmFtZQorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworSW5pdGlhbCBzdGF0ZQorZW5hYmxlZAorSG92ZXJpbmcg
dmVydGljYWwgc2Nyb2xsYmFyIHNob3VsZCBzaG93IGV4cGFuZGVkIHNjcm9sbGJhcgorUEFTUyBT
Y3JvbGxiYXIgc3RhdGU6IGVuYWJsZWQsZXhwYW5kZWQsdmlzaWJsZV90cmFjayx2aXNpYmxlX3Ro
dW1iCitVbmhvdmVyaW5nIHZlcnRpY2FsIHNjcm9sbGJhciBzaG91bGQgaGlkZSBpdAorUEFTUyBU
aHVtYiBhbmQgdHJhY2sgaGlkZGVuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
bWFjL3Njcm9sbGJhcnMvb3ZlcmZsb3ctaW4taWZyYW1lLW92ZXJsYXktc2Nyb2xsYmFyLWhvdmVy
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJm
bG93LWluLWlmcmFtZS1vdmVybGF5LXNjcm9sbGJhci1ob3ZlcmVkLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZTMzZTVkYWIyMTA3NWEzM2M1YWI0NDc3ODU5MGRjMmI1NjMwYmMyNwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93LWlu
LWlmcmFtZS1vdmVybGF5LXNjcm9sbGJhci1ob3ZlcmVkLmh0bWwKQEAgLTAsMCArMSwxMDIgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGludGVybmFsOnVzZU1v
Y2tTY3JvbGxiYXJzPWZhbHNlIGludGVybmFsOkFzeW5jT3ZlcmZsb3dTY3JvbGxpbmdFbmFibGVk
PXRydWUgaW50ZXJuYWw6QXN5bmNGcmFtZVNjcm9sbGluZ0VuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICAgIGJvZHkgeworICAgICAgICAgICAgaGVp
Z2h0OiAxMDAwcHg7CisgICAgICAgIH0KKyAgICAgICAgaWZyYW1lIHsKKyAgICAgICAgICAgIHdp
ZHRoOiA0MDBweDsKKyAgICAgICAgICAgIGhlaWdodDogMjUwcHg7CisgICAgICAgICAgICBib3Jk
ZXI6IDFweCBzb2xpZCBncmF5OworICAgICAgICB9CisgICAgPC9zdHlsZT4KKyAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgCisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0
VXNlc092ZXJsYXlTY3JvbGxiYXJzKHRydWUpOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIGRv
VGVzdCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCdUZXN0IG1heWJlZ2lu
IGFuZCBjYW5jZWxsZWQgb24gb3ZlcmZsb3cgaW5zaWRlIGFuIGlmcmFtZScpOworICAgICAgICAg
ICAgCisgICAgICAgICAgICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFn
TmFtZSgnaWZyYW1lJylbMF07CisgICAgICAgICAgICBjb25zdCBpZnJhbWVXaW5kb3cgPSBpZnJh
bWUuY29udGVudFdpbmRvdzsKKyAgICAgICAgICAgIGNvbnN0IGlmcmFtZUJvdW5kcyA9IGlmcmFt
ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKworICAgICAgICAgICAgY29uc3Qgc2Nyb2xsZXIg
PSBpZnJhbWUuY29udGVudERvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zY3JvbGxlcicpOworICAg
ICAgICAgICAgY29uc3Qgc2Nyb2xsZXJCb3VuZHMgPSBzY3JvbGxlci5nZXRCb3VuZGluZ0NsaWVu
dFJlY3QoKTsKKworICAgICAgICAgICAgY29uc3QgeCA9IGlmcmFtZUJvdW5kcy5sZWZ0ICsgc2Ny
b2xsZXJCb3VuZHMucmlnaHQgLSA4OworICAgICAgICAgICAgY29uc3QgeSA9IGlmcmFtZUJvdW5k
cy50b3AgKyBzY3JvbGxlckJvdW5kcy50b3AgKyAxMDsKKworICAgICAgICAgICAgaWYgKCF3aW5k
b3cuaW50ZXJuYWxzKSB7CisgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZnJhbWVXaW5k
b3cuaW50ZXJuYWxzLnNldFVzZXNPdmVybGF5U2Nyb2xsYmFycyh0cnVlKTsKKworICAgICAgICAg
ICAgZGVidWcoJ0luaXRpYWwgc3RhdGUnKTsKKyAgICAgICAgICAgIGRlYnVnKGlmcmFtZVdpbmRv
dy5pbnRlcm5hbHMudmVydGljYWxTY3JvbGxiYXJTdGF0ZShzY3JvbGxlcikpOworCisgICAgICAg
ICAgICBkZWJ1ZygnSG92ZXJpbmcgdmVydGljYWwgc2Nyb2xsYmFyIHNob3VsZCBzaG93IGV4cGFu
ZGVkIHNjcm9sbGJhcicpOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIubW91c2VXaGVlbFNj
cm9sbEF0KHgsIHkpOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIud2FpdEZvckNvbmRpdGlv
bigoKSA9PiB7CisgICAgICAgICAgICAgICAgbGV0IHN0YXRlID0gaWZyYW1lV2luZG93LmludGVy
bmFscy52ZXJ0aWNhbFNjcm9sbGJhclN0YXRlKHNjcm9sbGVyKTsKKyAgICAgICAgICAgICAgICBs
ZXQgZXhwYW5kZWQgPSBzdGF0ZS5pbmRleE9mKCdleHBhbmRlZCcpICE9IC0xOworICAgICAgICAg
ICAgICAgIGlmIChleHBhbmRlZCkKKyAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnU2Ny
b2xsYmFyIHN0YXRlOiAnICsgc3RhdGUpOworICAgICAgICAgICAgICAgIHJldHVybiBleHBhbmRl
ZDsKKyAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICBkZWJ1ZygnVW5ob3ZlcmluZyB2ZXJ0
aWNhbCBzY3JvbGxiYXIgc2hvdWxkIGhpZGUgaXQnKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLm1vdmVNb3VzZUFuZFdhaXRGb3JGcmFtZSh4IC0gMTAsIHkpOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIubW92ZU1vdXNlQW5kV2FpdEZvckZyYW1lKHggLSAyMCwgeSk7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci53YWl0Rm9yQ29uZGl0aW9uKCgpID0+IHsKKyAgICAgICAgICAg
ICAgICBsZXQgc3RhdGUgPSBpZnJhbWVXaW5kb3cuaW50ZXJuYWxzLnZlcnRpY2FsU2Nyb2xsYmFy
U3RhdGUoc2Nyb2xsZXIpOworICAgICAgICAgICAgICAgIGxldCB0aHVtYkhpZGRlbiA9IHN0YXRl
LmluZGV4T2YoJ3Zpc2libGVfdGh1bWInKSA9PSAtMTsKKyAgICAgICAgICAgICAgICBsZXQgdHJh
Y2tIaWRkZW4gPSBzdGF0ZS5pbmRleE9mKCd2aXNpYmxlX3RyYWNrJykgPT0gLTE7CisgICAgICAg
ICAgICAgICAgaWYgKHRodW1iSGlkZGVuICYmIHRyYWNrSGlkZGVuKQorICAgICAgICAgICAgICAg
ICAgICB0ZXN0UGFzc2VkKCdUaHVtYiBhbmQgdHJhY2sgaGlkZGVuJyk7CisgICAgICAgICAgICAg
ICAgcmV0dXJuIHRodW1iSGlkZGVuICYmIHRyYWNrSGlkZGVuOworICAgICAgICAgICAgfSk7CisK
KyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICB9CisKKyAgICAgICAgd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB7CisgICAgICAgICAgICBkb1Rlc3QoKTsK
KyAgICAgICAgfSwgZmFsc2UpOworICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAg
PGlmcmFtZSBzcmNkb2M9IgorICAgICAgICA8c3R5bGU+CisgICAgICAgIGJvZHkgeworICAgICAg
ICAgICAgaGVpZ2h0OiAxMDAwcHg7CisgICAgICAgIH0KKyAgICAgICAgLnNjcm9sbGVyIHsKKyAg
ICAgICAgICAgIG1hcmdpbjogMTBweDsKKyAgICAgICAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAg
ICAgICAgIGhlaWdodDogMjAwcHg7CisgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFj
azsKKyAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvOworICAgICAgICB9CisgICAgICAgIC5jb250
ZW50cyB7CisgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgIGhlaWdodDogMjAw
JTsKKyAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgICAgICA8ZGl2IGNsYXNzPSdzY3Jv
bGxlcic+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSdjb250ZW50cyc+PC9kaXY+CisgICAgICAg
IDwvZGl2PgorICAgICI+PC9pZnJhbWU+CisgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZsb3ctaW4taWZyYW1lLW92ZXJsYXktc2Nyb2xs
YmFyLXJldmVhbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMv
c2Nyb2xsYmFycy9vdmVyZmxvdy1pbi1pZnJhbWUtb3ZlcmxheS1zY3JvbGxiYXItcmV2ZWFsLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMmI2ODg1ZGU0MTgxNzAzZGE4ZDJjNzZjZTczMjEzMWYz
NDA2YzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFj
L3Njcm9sbGJhcnMvb3ZlcmZsb3ctaW4taWZyYW1lLW92ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorCitUZXN0IG1heWJlZ2luIGFuZCBjYW5jZWxs
ZWQgb24gb3ZlcmZsb3cgaW5zaWRlIGFuIGlmcmFtZQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworSW5pdGlhbCBzdGF0ZQorZW5hYmxlZAorTWF5QmVnaW4gc2hvdWxkIHNob3cgdGhl
IHNjcm9sbGJhcgorUEFTUyBTY3JvbGxiYXIgc3RhdGU6IGVuYWJsZWQsdmlzaWJsZV90aHVtYgor
Q2FuY2VsbGVkIHNob3VsZCBoaWRlIHRoZSBzY3JvbGxiYXIKK1BBU1MgU2Nyb2xsYmFyIHN0YXRl
OiBlbmFibGVkCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJh
cnMvb3ZlcmZsb3ctaW4taWZyYW1lLW92ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZsb3ctaW4taWZyYW1l
LW92ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVlZTZjMDk3OTFjYzBj
MmU5NjYwMWU4MDQwNGQ5MjIxMWQyMzM1NTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9vdmVyZmxvdy1pbi1pZnJhbWUtb3Zlcmxh
eS1zY3JvbGxiYXItcmV2ZWFsLmh0bWwKQEAgLTAsMCArMSwxMDEgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGludGVybmFsOnVzZU1vY2tTY3JvbGxiYXJzPWZh
bHNlIGludGVybmFsOkFzeW5jT3ZlcmZsb3dTY3JvbGxpbmdFbmFibGVkPXRydWUgaW50ZXJuYWw6
QXN5bmNGcmFtZVNjcm9sbGluZ0VuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKyAg
ICA8c3R5bGU+CisgICAgICAgIGJvZHkgeworICAgICAgICAgICAgaGVpZ2h0OiAxMDAwcHg7Cisg
ICAgICAgIH0KKyAgICAgICAgaWZyYW1lIHsKKyAgICAgICAgICAgIHdpZHRoOiA0MDBweDsKKyAg
ICAgICAgICAgIGhlaWdodDogMjUwcHg7CisgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBn
cmF5OworICAgICAgICB9CisgICAgPC9zdHlsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgCisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgaWYgKHdp
bmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0VXNlc092ZXJsYXlTY3Jv
bGxiYXJzKHRydWUpOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIGRvVGVzdCgpCisgICAgICAg
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCdUZXN0IG1heWJlZ2luIGFuZCBjYW5jZWxsZWQg
b24gb3ZlcmZsb3cgaW5zaWRlIGFuIGlmcmFtZScpOworICAgICAgICAgICAgCisgICAgICAgICAg
ICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaWZyYW1lJylb
MF07CisgICAgICAgICAgICBjb25zdCBpZnJhbWVXaW5kb3cgPSBpZnJhbWUuY29udGVudFdpbmRv
dzsKKyAgICAgICAgICAgIGNvbnN0IGlmcmFtZUJvdW5kcyA9IGlmcmFtZS5nZXRCb3VuZGluZ0Ns
aWVudFJlY3QoKTsKKworICAgICAgICAgICAgY29uc3Qgc2Nyb2xsZXIgPSBpZnJhbWUuY29udGVu
dERvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zY3JvbGxlcicpOworICAgICAgICAgICAgY29uc3Qg
c2Nyb2xsZXJCb3VuZHMgPSBzY3JvbGxlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKworICAg
ICAgICAgICAgY29uc3QgeCA9IGlmcmFtZUJvdW5kcy5sZWZ0ICsgc2Nyb2xsZXJCb3VuZHMubGVm
dCArIDEwOworICAgICAgICAgICAgY29uc3QgeSA9IGlmcmFtZUJvdW5kcy50b3AgKyBzY3JvbGxl
ckJvdW5kcy50b3AgKyAxMDsKKworICAgICAgICAgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKSB7
CisgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZnJhbWVXaW5kb3cuaW50ZXJuYWxzLnNl
dFVzZXNPdmVybGF5U2Nyb2xsYmFycyh0cnVlKTsKKworICAgICAgICAgICAgZGVidWcoJ0luaXRp
YWwgc3RhdGUnKTsKKyAgICAgICAgICAgIGRlYnVnKGlmcmFtZVdpbmRvdy5pbnRlcm5hbHMudmVy
dGljYWxTY3JvbGxiYXJTdGF0ZShzY3JvbGxlcikpOworCisgICAgICAgICAgICBkZWJ1ZygnTWF5
QmVnaW4gc2hvdWxkIHNob3cgdGhlIHNjcm9sbGJhcicpOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIubW91c2VXaGVlbE1heUJlZ2luQXQoeCwgeSk7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci53YWl0Rm9yQ29uZGl0aW9uKCgpID0+IHsKKyAgICAgICAgICAgICAgICBsZXQgc3RhdGUg
PSBpZnJhbWVXaW5kb3cuaW50ZXJuYWxzLnZlcnRpY2FsU2Nyb2xsYmFyU3RhdGUoc2Nyb2xsZXIp
OworICAgICAgICAgICAgICAgIGxldCB2aXNpYmxlID0gc3RhdGUuaW5kZXhPZigndmlzaWJsZV90
aHVtYicpICE9IC0xOworICAgICAgICAgICAgICAgIGlmICh2aXNpYmxlKQorICAgICAgICAgICAg
ICAgICAgICB0ZXN0UGFzc2VkKCdTY3JvbGxiYXIgc3RhdGU6ICcgKyBzdGF0ZSk7CisgICAgICAg
ICAgICAgICAgcmV0dXJuIHZpc2libGU7CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAg
ZGVidWcoJ0NhbmNlbGxlZCBzaG91bGQgaGlkZSB0aGUgc2Nyb2xsYmFyJyk7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5tb3VzZVdoZWVsQ2FuY2VsQXQoeCwgeSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLndhaXRGb3JDb25kaXRpb24oKCkgPT4geworICAgICAgICAgICAgICAg
IGxldCBzdGF0ZSA9IGlmcmFtZVdpbmRvdy5pbnRlcm5hbHMudmVydGljYWxTY3JvbGxiYXJTdGF0
ZShzY3JvbGxlcik7CisgICAgICAgICAgICAgICAgbGV0IGhpZGRlbiA9IHN0YXRlLmluZGV4T2Yo
J3Zpc2libGVfdGh1bWInKSA9PSAtMTsKKyAgICAgICAgICAgICAgICBpZiAoaGlkZGVuKQorICAg
ICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdTY3JvbGxiYXIgc3RhdGU6ICcgKyBzdGF0ZSk7
CisgICAgICAgICAgICAgICAgcmV0dXJuIGhpZGRlbjsKKyAgICAgICAgICAgIH0pOworCisgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfQorCisgICAgICAgIHdpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4geworICAgICAgICAgICAgZG9UZXN0KCk7CisgICAg
ICAgIH0sIGZhbHNlKTsKKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxpZnJh
bWUgc3JjZG9jPSIKKyAgICAgICAgPHN0eWxlPgorICAgICAgICBib2R5IHsKKyAgICAgICAgICAg
IGhlaWdodDogMTAwMHB4OworICAgICAgICB9CisgICAgICAgIC5zY3JvbGxlciB7CisgICAgICAg
ICAgICBtYXJnaW46IDEwcHg7CisgICAgICAgICAgICB3aWR0aDogMjAwcHg7CisgICAgICAgICAg
ICBoZWlnaHQ6IDIwMHB4OworICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7Cisg
ICAgICAgICAgICBvdmVyZmxvdzogYXV0bzsKKyAgICAgICAgfQorICAgICAgICAuY29udGVudHMg
eworICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICBoZWlnaHQ6IDIwMCU7Cisg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICAgICAgPGRpdiBjbGFzcz0nc2Nyb2xsZXIn
PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0nY29udGVudHMnPjwvZGl2PgorICAgICAgICA8L2Rp
dj4KKyAgICAiPjwvaWZyYW1lPgorICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398824</attachid>
            <date>2020-05-07 18:24:16 -0700</date>
            <delta_ts>2020-05-07 18:26:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211347-20200507182415.patch</filename>
            <type>text/plain</type>
            <size>30410</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxMzA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDdjYmQyMzVhZWYxOTI1
MDViNDUwMmRiYTE1Y2RlNTVhZWI4YjgwNS4uNTRmOWFlZDc0ZTA3MDViMWM3ZDI2ODY0M2Q0NTY5
ZjU2NDNlN2E2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIwLTA1LTA3ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE92ZXJmbG93IHNj
cm9sbGVycyBpbiBpZnJhbWVzIGRvbid0IGdldCBtb3VzZU1vdmVkSW5Db250ZW50QXJlYSgpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTEzNDcKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYyNzg0NTYwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIG5ldmVyIGRpc3BhdGNoZWQgbW91c2VNb3ZlZElu
Q29udGVudEFyZWEoKSBvbiBTY3JvbGxhYmxlQXJlYXMgaW4gc3ViZnJhbWVzLCBzbyBvdmVybGF5
IHNjcm9sbGJhcgorICAgICAgICBpbnRlcmFjdGlvbnMgdGhlcmUgd2VyZSBicm9rZW4uIFRoaXMg
aXMgYmVjYXVzZSB0aGUgY29kZSByYW4gZnJvbSBFdmVudEhhbmRsZXI6Om1vdXNlTW92ZWQoKSwg
d2hpY2gKKyAgICAgICAgb25seSBydW5zIGZvciB0aGUgbWFpbiBmcmFtZS4KKworICAgICAgICBJ
bnN0ZWFkLCBtb3ZlIHRoZSBtb3VzZU1vdmVkSW5Db250ZW50QXJlYSgpIGRpc3BhdGNoIGRvd24g
aW50byB1cGRhdGVNb3VzZUV2ZW50VGFyZ2V0Tm9kZSgpIHdoaWNoCisgICAgICAgIGlzIHJ1biBm
b3IgZWFjaCBzdWJmcmFtZS4gbm90aWZ5U2Nyb2xsYWJsZUFyZWFzT2ZNb3VzZUV2ZW50cygpIHRh
a2VzIGFuIGV2ZW50IG5hbWUgc28gd2Ugb25seSBkaXNwYXRjaAorICAgICAgICBmb3IgbW91c2VN
b3ZlIGV2ZW50cy4gVGhlcmUncyBzb21lIGNvbXBsZXhpdHkgaGVyZSByZWxhdGVkIHRvIHdoZXRo
ZXIgdGhlIG9sZCBhbmQgbmV3IFNjcm9sbGFibGVBcmVhCisgICAgICAgIHRhcmdldHMgYXJlIG5l
c3RlZDsgdGhpcyBjb2RlIGRvZXNuJ3QgdHJ5IHRvIGRvIHRoZSByaWdodCB0aGluZyB3aXRoIG5l
c3RpbmcsIGJ1dCBkb2VzIGhhbmRsZSB0aGUgbW91c2UKKyAgICAgICAgbW92aW5nIGJldHdlZW4g
dGhlIHNjcm9sbGFibGUgbWFpbiBmcmFtZSBhbmQgYW4gb3ZlcmZsb3cgcmVnaW9uLgorICAgICAg
ICAKKyAgICAgICAgZW5jbG9zaW5nU2Nyb2xsYWJsZUFyZWEoKSBpcyBmaXhlZCB0byByZXR1cm4g
dGhlIEZyYW1lVmlldy4gZW5jbG9zaW5nU2Nyb2xsYWJsZUxheWVyKCkgaXMgZmxhd2VkLCBhcyBu
b3RlZAorICAgICAgICBpbiB0aGUgUmVuZGVyTGF5ZXIuaCBjb21tZW50LgorCisgICAgICAgIFRl
c3RzOiBmYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9vdmVyZmxvdy1pbi1pZnJhbWUtb3Zl
cmxheS1zY3JvbGxiYXItaG92ZXJlZC5odG1sCisgICAgICAgICAgICAgICBmYXN0L3Njcm9sbGlu
Zy9tYWMvc2Nyb2xsYmFycy9vdmVyZmxvdy1pbi1pZnJhbWUtb3ZlcmxheS1zY3JvbGxiYXItcmV2
ZWFsLmh0bWwKKworICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkV2ZW50SGFuZGxlcjo6ZW5jbG9zaW5nU2Nyb2xsYWJsZUFyZWEpOgorICAgICAgICAo
V2ViQ29yZTo6RXZlbnRIYW5kbGVyOjptb3VzZU1vdmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VNb3ZlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RXZl
bnRIYW5kbGVyOjpwb2ludGVyQ2FwdHVyZUVsZW1lbnREaWRDaGFuZ2UpOgorICAgICAgICAoV2Vi
Q29yZTo6RXZlbnRIYW5kbGVyOjp1cGRhdGVNb3VzZUV2ZW50VGFyZ2V0Tm9kZSk6CisgICAgICAg
IChXZWJDb3JlOjpFdmVudEhhbmRsZXI6Om5vdGlmeVNjcm9sbGFibGVBcmVhc09mTW91c2VFdmVu
dHMpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpkaXNwYXRjaE1vdXNlRXZlbnQp
OgorICAgICAgICAoV2ViQ29yZTo6ZW5jbG9zaW5nU2Nyb2xsYWJsZUFyZWEpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpub3RpZnlTY3JvbGxhYmxlQXJlYXNPZk1v
dXNlRW50ZXJFeGl0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5oOgor
ICAgICAgICAqIHBhZ2UvaW9zL0V2ZW50SGFuZGxlcklPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6
OkV2ZW50SGFuZGxlcjo6ZGlzcGF0Y2hTeW50aGV0aWNNb3VzZU91dCk6CisgICAgICAgICogcGxh
dGZvcm0vTG9nZ2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbml0aWFsaXplTG9nQ2hhbm5l
bHNJZk5lY2Vzc2FyeSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpkZWJ1Z0Rlc2NyaXB0aW9uIGNvbnN0KToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKwogMjAyMC0wNS0wNyAgU2ltb24gRnJh
c2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjYx
MDU2KTogWyBNYWMgV0sxIF0gaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1hcGkuaHRtbCBpcyBm
bGFreSBjcmFzaGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRs
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IGE1NDhm
M2M3NmVkNzA4NDk0M2ViYTM0ZmVjNjMyZmM2ZTgzMWZjMWIuLmZkNDcxNmJhYzhiNDgyZjUyYzVl
YjUxYjQ3M2YzNWFlM2Y4ZDRhYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAK
QEAgLTE4ODAsMTIgKzE4ODAsMTUgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlRG91
YmxlQ2xpY2tFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIHBsYXRmb3IKICAgICByZXR1
cm4gc3dhbGxvd01vdXNlVXBFdmVudCB8fCBzd2FsbG93Q2xpY2tFdmVudCB8fCBzd2FsbG93TW91
c2VSZWxlYXNlRXZlbnQ7CiB9CiAKLXN0YXRpYyBTY3JvbGxhYmxlQXJlYSogZW5jbG9zaW5nU2Ny
b2xsYWJsZUFyZWEoTm9kZSogbm9kZSkKK1Njcm9sbGFibGVBcmVhKiBFdmVudEhhbmRsZXI6OmVu
Y2xvc2luZ1Njcm9sbGFibGVBcmVhKE5vZGUqIG5vZGUpCiB7CiAgICAgZm9yIChhdXRvIGFuY2Vz
dG9yID0gbm9kZTsgYW5jZXN0b3I7IGFuY2VzdG9yID0gYW5jZXN0b3ItPnBhcmVudE9yU2hhZG93
SG9zdE5vZGUoKSkgewotICAgICAgICBpZiAoaXM8SFRNTElGcmFtZUVsZW1lbnQ+KCphbmNlc3Rv
cikgfHwgaXM8SFRNTEh0bWxFbGVtZW50PigqYW5jZXN0b3IpIHx8IGlzPEhUTUxEb2N1bWVudD4o
KmFuY2VzdG9yKSkKKyAgICAgICAgaWYgKGlzPEhUTUxJRnJhbWVFbGVtZW50PigqYW5jZXN0b3Ip
KQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKKyAgICAgICAgaWYgKGlzPEhUTUxIdG1s
RWxlbWVudD4oKmFuY2VzdG9yKSB8fCBpczxIVE1MRG9jdW1lbnQ+KCphbmNlc3RvcikpCisgICAg
ICAgICAgICBicmVhazsKKwogICAgICAgICBhdXRvIHJlbmRlcmVyID0gYW5jZXN0b3ItPnJlbmRl
cmVyKCk7CiAgICAgICAgIGlmICghcmVuZGVyZXIpCiAgICAgICAgICAgICBjb250aW51ZTsKQEAg
LTE5MDAsMTAgKzE5MDMsMTMgQEAgc3RhdGljIFNjcm9sbGFibGVBcmVhKiBlbmNsb3NpbmdTY3Jv
bGxhYmxlQXJlYShOb2RlKiBub2RlKQogICAgICAgICBpZiAoIWxheWVyKQogICAgICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAKLSAgICAgICAgcmV0dXJuIGxheWVyLT5lbmNsb3NpbmdTY3JvbGxh
YmxlTGF5ZXIoSW5jbHVkZVNlbGZPck5vdDo6SW5jbHVkZVNlbGYsIENyb3NzRnJhbWVCb3VuZGFy
aWVzOjpObyk7CisgICAgICAgIGlmIChhdXRvKiBzY3JvbGxhYmxlTGF5ZXIgPSBsYXllci0+ZW5j
bG9zaW5nU2Nyb2xsYWJsZUxheWVyKEluY2x1ZGVTZWxmT3JOb3Q6OkluY2x1ZGVTZWxmLCBDcm9z
c0ZyYW1lQm91bmRhcmllczo6Tm8pKSB7CisgICAgICAgICAgICBpZiAoIXNjcm9sbGFibGVMYXll
ci0+aXNSZW5kZXJWaWV3TGF5ZXIoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gc2Nyb2xsYWJs
ZUxheWVyOworICAgICAgICB9CiAgICAgfQogCi0gICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0
dXJuIG1fZnJhbWUudmlldygpOwogfQogCiBib29sIEV2ZW50SGFuZGxlcjo6bW91c2VNb3ZlZChj
b25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2ZW50KQpAQCAtMTkyMiwxNiArMTkyOCw2IEBAIGJv
b2wgRXZlbnRIYW5kbGVyOjptb3VzZU1vdmVkKGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZXZl
bnQpCiAgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm4gcmVzdWx0OwogCi0gICAgaWYgKGF1
dG8gc2Nyb2xsZWRBcmVhID0gZW5jbG9zaW5nU2Nyb2xsYWJsZUFyZWEoaGl0VGVzdFJlc3VsdC5p
bm5lck5vZGUoKSkpIHsKLSAgICAgICAgaWYgKEZyYW1lVmlldyogZnJhbWVWaWV3ID0gbV9mcmFt
ZS52aWV3KCkpIHsKLSAgICAgICAgICAgIGlmIChmcmFtZVZpZXctPmNvbnRhaW5zU2Nyb2xsYWJs
ZUFyZWEoc2Nyb2xsZWRBcmVhKSkKLSAgICAgICAgICAgICAgICBzY3JvbGxlZEFyZWEtPm1vdXNl
TW92ZWRJbkNvbnRlbnRBcmVhKCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoRnJhbWVW
aWV3KiBmcmFtZVZpZXcgPSBtX2ZyYW1lLnZpZXcoKSkKLSAgICAgICAgZnJhbWVWaWV3LT5tb3Vz
ZU1vdmVkSW5Db250ZW50QXJlYSgpOyAgCi0KICAgICBoaXRUZXN0UmVzdWx0LnNldFRvTm9uVXNl
ckFnZW50U2hhZG93QW5jZXN0b3IoKTsKICAgICBwYWdlLT5jaHJvbWUoKS5tb3VzZURpZE1vdmVP
dmVyRWxlbWVudChoaXRUZXN0UmVzdWx0LCBldmVudC5tb2RpZmllckZsYWdzKCkpOwogICAgIHJl
dHVybiByZXN1bHQ7CkBAIC0yMDIzLDcgKzIwMTksNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFu
ZGxlTW91c2VNb3ZlRXZlbnQoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBwbGF0Zm9ybU1vdXNl
RQogI2VuZGlmCiAgICAgICAgIGlmIChvbmx5VXBkYXRlU2Nyb2xsYmFycykgewogICAgICAgICAg
ICAgaWYgKHNob3VsZFNlbmRNb3VzZUV2ZW50c1RvSW5hY3RpdmVXaW5kb3dzKCkpCi0gICAgICAg
ICAgICAgICAgdXBkYXRlTW91c2VFdmVudFRhcmdldE5vZGUobW91c2VFdmVudC50YXJnZXROb2Rl
KCksIHBsYXRmb3JtTW91c2VFdmVudCwgRmlyZU1vdXNlT3Zlck91dDo6WWVzKTsKKyAgICAgICAg
ICAgICAgICB1cGRhdGVNb3VzZUV2ZW50VGFyZ2V0Tm9kZShldmVudE5hbWVzKCkubW91c2Vtb3Zl
RXZlbnQsIG1vdXNlRXZlbnQudGFyZ2V0Tm9kZSgpLCBwbGF0Zm9ybU1vdXNlRXZlbnQsIEZpcmVN
b3VzZU92ZXJPdXQ6Olllcyk7CiAKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9
CkBAIC0yMDM4LDcgKzIwMzQsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VNb3Zl
RXZlbnQoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBwbGF0Zm9ybU1vdXNlRQogCiAgICAgaWYg
KG5ld1N1YmZyYW1lKSB7CiAgICAgICAgIC8vIFVwZGF0ZSBvdmVyL291dCBzdGF0ZSBiZWZvcmUg
cGFzc2luZyB0aGUgZXZlbnQgdG8gdGhlIHN1YmZyYW1lLgotICAgICAgICB1cGRhdGVNb3VzZUV2
ZW50VGFyZ2V0Tm9kZShtb3VzZUV2ZW50LnRhcmdldE5vZGUoKSwgcGxhdGZvcm1Nb3VzZUV2ZW50
LCBGaXJlTW91c2VPdmVyT3V0OjpZZXMpOworICAgICAgICB1cGRhdGVNb3VzZUV2ZW50VGFyZ2V0
Tm9kZShldmVudE5hbWVzKCkubW91c2Vtb3ZlRXZlbnQsIG1vdXNlRXZlbnQudGFyZ2V0Tm9kZSgp
LCBwbGF0Zm9ybU1vdXNlRXZlbnQsIEZpcmVNb3VzZU92ZXJPdXQ6Olllcyk7CiAgICAgICAgIAog
ICAgICAgICAvLyBFdmVudCBkaXNwYXRjaCBpbiB1cGRhdGVNb3VzZUV2ZW50VGFyZ2V0Tm9kZSBt
YXkgaGF2ZSBjYXVzZWQgdGhlIHN1YmZyYW1lIG9mIHRoZSB0YXJnZXQKICAgICAgICAgLy8gbm9k
ZSB0byBiZSBkZXRhY2hlZCBmcm9tIGl0cyBGcmFtZVZpZXcsIGluIHdoaWNoIGNhc2UgdGhlIGV2
ZW50IHNob3VsZCBub3QgYmUgcGFzc2VkLgpAQCAtMjUyNSw3ICsyNTIxLDcgQEAgdm9pZCBFdmVu
dEhhbmRsZXI6OnBvaW50ZXJDYXB0dXJlRWxlbWVudERpZENoYW5nZShFbGVtZW50KiBlbGVtZW50
KQogICAgIHNldENhcHR1cmluZ01vdXNlRXZlbnRzRWxlbWVudChlbGVtZW50KTsKIAogICAgIC8v
IE5vdyB0aGF0IHdlIGhhdmUgYSBuZXcgY2FwdHVyZSBlbGVtZW50LCB3ZSBuZWVkIHRvIGRpc3Bh
dGNoIGJvdW5kYXJ5IG1vdXNlIGV2ZW50cy4KLSAgICB1cGRhdGVNb3VzZUV2ZW50VGFyZ2V0Tm9k
ZShlbGVtZW50LCBtX2xhc3RQbGF0Zm9ybU1vdXNlRXZlbnQsIEZpcmVNb3VzZU92ZXJPdXQ6Olll
cyk7CisgICAgdXBkYXRlTW91c2VFdmVudFRhcmdldE5vZGUoZXZlbnROYW1lcygpLmdvdHBvaW50
ZXJjYXB0dXJlRXZlbnQsIGVsZW1lbnQsIG1fbGFzdFBsYXRmb3JtTW91c2VFdmVudCwgRmlyZU1v
dXNlT3Zlck91dDo6WWVzKTsKIH0KIAogTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyBFdmVu
dEhhbmRsZXI6OnByZXBhcmVNb3VzZUV2ZW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0
LCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIG1vdXNlRXZlbnQpCkBAIC0yNTQ1LDcgKzI1NDEs
NyBAQCBzdGF0aWMgYm9vbCBoaWVyYXJjaHlIYXNDYXB0dXJpbmdFdmVudExpc3RlbmVycyhFbGVt
ZW50KiBlbGVtZW50LCBjb25zdCBBdG9tU3RyaQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdm9p
ZCBFdmVudEhhbmRsZXI6OnVwZGF0ZU1vdXNlRXZlbnRUYXJnZXROb2RlKE5vZGUqIHRhcmdldE5v
ZGUsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgcGxhdGZvcm1Nb3VzZUV2ZW50LCBGaXJlTW91
c2VPdmVyT3V0IGZpcmVNb3VzZU92ZXJPdXQpCit2b2lkIEV2ZW50SGFuZGxlcjo6dXBkYXRlTW91
c2VFdmVudFRhcmdldE5vZGUoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBOb2RlKiB0YXJn
ZXROb2RlLCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIHBsYXRmb3JtTW91c2VFdmVudCwgRmly
ZU1vdXNlT3Zlck91dCBmaXJlTW91c2VPdmVyT3V0KQogewogICAgIFJlZjxGcmFtZT4gcHJvdGVj
dGVkRnJhbWUobV9mcmFtZSk7CiAgICAgRWxlbWVudCogdGFyZ2V0RWxlbWVudCA9IG51bGxwdHI7
CkBAIC0yNTY3LDcgKzI1NjMsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6dXBkYXRlTW91c2VFdmVu
dFRhcmdldE5vZGUoTm9kZSogdGFyZ2V0Tm9kZSwgY29uc3QgUGxhdGZvcm1NbwogCiAgICAgLy8g
RmlyZSBtb3VzZW91dC9tb3VzZW92ZXIgaWYgdGhlIG1vdXNlIGhhcyBzaGlmdGVkIHRvIGEgZGlm
ZmVyZW50IG5vZGUuCiAgICAgaWYgKGZpcmVNb3VzZU92ZXJPdXQgPT0gRmlyZU1vdXNlT3Zlck91
dDo6WWVzKSB7Ci0gICAgICAgIG5vdGlmeVNjcm9sbGFibGVBcmVhc09mTW91c2VFbnRlckV4aXQo
bV9sYXN0RWxlbWVudFVuZGVyTW91c2UuZ2V0KCksIG1fZWxlbWVudFVuZGVyTW91c2UuZ2V0KCkp
OworICAgICAgICBub3RpZnlTY3JvbGxhYmxlQXJlYXNPZk1vdXNlRXZlbnRzKGV2ZW50VHlwZSwg
bV9sYXN0RWxlbWVudFVuZGVyTW91c2UuZ2V0KCksIG1fZWxlbWVudFVuZGVyTW91c2UuZ2V0KCkp
OwogCiAgICAgICAgIGlmIChtX2xhc3RFbGVtZW50VW5kZXJNb3VzZSAmJiAmbV9sYXN0RWxlbWVu
dFVuZGVyTW91c2UtPmRvY3VtZW50KCkgIT0gbV9mcmFtZS5kb2N1bWVudCgpKSB7CiAgICAgICAg
ICAgICBtX2xhc3RFbGVtZW50VW5kZXJNb3VzZSA9IG51bGxwdHI7CkBAIC0yNjI0LDcgKzI2MjAs
NyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6dXBkYXRlTW91c2VFdmVudFRhcmdldE5vZGUoTm9kZSog
dGFyZ2V0Tm9kZSwgY29uc3QgUGxhdGZvcm1NbwogICAgIH0KIH0KIAotdm9pZCBFdmVudEhhbmRs
ZXI6Om5vdGlmeVNjcm9sbGFibGVBcmVhc09mTW91c2VFbnRlckV4aXQoRWxlbWVudCogbGFzdEVs
ZW1lbnRVbmRlck1vdXNlLCBFbGVtZW50KiBlbGVtZW50VW5kZXJNb3VzZSkKK3ZvaWQgRXZlbnRI
YW5kbGVyOjpub3RpZnlTY3JvbGxhYmxlQXJlYXNPZk1vdXNlRXZlbnRzKGNvbnN0IEF0b21TdHJp
bmcmIGV2ZW50VHlwZSwgRWxlbWVudCogbGFzdEVsZW1lbnRVbmRlck1vdXNlLCBFbGVtZW50KiBl
bGVtZW50VW5kZXJNb3VzZSkKIHsKICAgICBhdXRvKiBmcmFtZVZpZXcgPSBtX2ZyYW1lLnZpZXco
KTsKICAgICBpZiAoIWZyYW1lVmlldykKQEAgLTI2MzUsMjQgKzI2MzEsNDEgQEAgdm9pZCBFdmVu
dEhhbmRsZXI6Om5vdGlmeVNjcm9sbGFibGVBcmVhc09mTW91c2VFbnRlckV4aXQoRWxlbWVudCog
bGFzdEVsZW1lbnRVbmQKIAogICAgIGlmICghIWxhc3RFbGVtZW50VW5kZXJNb3VzZSAhPSAhIWVs
ZW1lbnRVbmRlck1vdXNlKSB7CiAgICAgICAgIGlmIChlbGVtZW50VW5kZXJNb3VzZSkgewotICAg
ICAgICAgICAgZnJhbWVWaWV3LT5tb3VzZUVudGVyZWRDb250ZW50QXJlYSgpOworICAgICAgICAg
ICAgaWYgKHNjcm9sbGFibGVBcmVhRm9yTm9kZVVuZGVyTW91c2UgIT0gZnJhbWVWaWV3KQorICAg
ICAgICAgICAgICAgIGZyYW1lVmlldy0+bW91c2VFbnRlcmVkQ29udGVudEFyZWEoKTsKKwogICAg
ICAgICAgICAgaWYgKHNjcm9sbGFibGVBcmVhRm9yTm9kZVVuZGVyTW91c2UpCiAgICAgICAgICAg
ICAgICAgc2Nyb2xsYWJsZUFyZWFGb3JOb2RlVW5kZXJNb3VzZS0+bW91c2VFbnRlcmVkQ29udGVu
dEFyZWEoKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGlmIChzY3JvbGxhYmxlQXJl
YUZvckxhc3ROb2RlKQogICAgICAgICAgICAgICAgIHNjcm9sbGFibGVBcmVhRm9yTGFzdE5vZGUt
Pm1vdXNlRXhpdGVkQ29udGVudEFyZWEoKTsKLSAgICAgICAgICAgIGZyYW1lVmlldy0+bW91c2VF
eGl0ZWRDb250ZW50QXJlYSgpOworCisgICAgICAgICAgICBpZiAoc2Nyb2xsYWJsZUFyZWFGb3JM
YXN0Tm9kZSAhPSBmcmFtZVZpZXcpCisgICAgICAgICAgICAgICAgZnJhbWVWaWV3LT5tb3VzZUV4
aXRlZENvbnRlbnRBcmVhKCk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAg
ICAKLSAgICBpZiAoKCFzY3JvbGxhYmxlQXJlYUZvckxhc3ROb2RlICYmICFzY3JvbGxhYmxlQXJl
YUZvck5vZGVVbmRlck1vdXNlKSB8fCBzY3JvbGxhYmxlQXJlYUZvckxhc3ROb2RlID09IHNjcm9s
bGFibGVBcmVhRm9yTm9kZVVuZGVyTW91c2UpCisKKyAgICBpZiAoIXNjcm9sbGFibGVBcmVhRm9y
TGFzdE5vZGUgJiYgIXNjcm9sbGFibGVBcmVhRm9yTm9kZVVuZGVyTW91c2UpCisgICAgICAgIHJl
dHVybjsKKworICAgIC8vIEZJWE1FOiBUaGlzIGRvZXMgZG9lc24ndCBoYW5kbGUgbmVzdGVkIFNj
cm9sbGFibGVBcmVhcyB3ZWxsLiBJdCByZWFsbHkgbmVlZHMgdG8ga25vdworICAgIC8vIHRoZSBo
aWVyYXJjaGljYWwgcmVsYXRpb25zaGlwIGJldHdlZW4gc2Nyb2xsYWJsZUFyZWFGb3JMYXN0Tm9k
ZSBhbmQgc2Nyb2xsYWJsZUFyZWFGb3JOb2RlVW5kZXJNb3VzZS4KKyAgICBib29sIG1vdmVkQmV0
d2VlblNjcm9sbGFibGVhQXJlYXMgPSBzY3JvbGxhYmxlQXJlYUZvckxhc3ROb2RlICYmIHNjcm9s
bGFibGVBcmVhRm9yTm9kZVVuZGVyTW91c2UgJiYgKHNjcm9sbGFibGVBcmVhRm9yTGFzdE5vZGUg
IT0gc2Nyb2xsYWJsZUFyZWFGb3JOb2RlVW5kZXJNb3VzZSk7CisgICAgaWYgKGV2ZW50VHlwZSA9
PSBldmVudE5hbWVzKCkubW91c2Vtb3ZlRXZlbnQpIHsKKyAgICAgICAgZnJhbWVWaWV3LT5tb3Vz
ZU1vdmVkSW5Db250ZW50QXJlYSgpOworCisgICAgICAgIGlmICghbW92ZWRCZXR3ZWVuU2Nyb2xs
YWJsZWFBcmVhcyAmJiBzY3JvbGxhYmxlQXJlYUZvck5vZGVVbmRlck1vdXNlICYmIHNjcm9sbGFi
bGVBcmVhRm9yTm9kZVVuZGVyTW91c2UgIT0gZnJhbWVWaWV3KQorICAgICAgICAgICAgc2Nyb2xs
YWJsZUFyZWFGb3JOb2RlVW5kZXJNb3VzZS0+bW91c2VNb3ZlZEluQ29udGVudEFyZWEoKTsKKyAg
ICB9CisKKyAgICBpZiAoIW1vdmVkQmV0d2VlblNjcm9sbGFibGVhQXJlYXMpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIGlmIChzY3JvbGxhYmxlQXJlYUZvckxhc3ROb2RlKQorICAgIGlmIChzY3Jv
bGxhYmxlQXJlYUZvckxhc3ROb2RlICYmIHNjcm9sbGFibGVBcmVhRm9yTGFzdE5vZGUgIT0gZnJh
bWVWaWV3KQogICAgICAgICBzY3JvbGxhYmxlQXJlYUZvckxhc3ROb2RlLT5tb3VzZUV4aXRlZENv
bnRlbnRBcmVhKCk7CiAKLSAgICBpZiAoc2Nyb2xsYWJsZUFyZWFGb3JOb2RlVW5kZXJNb3VzZSkK
KyAgICBpZiAoc2Nyb2xsYWJsZUFyZWFGb3JOb2RlVW5kZXJNb3VzZSAmJiBzY3JvbGxhYmxlQXJl
YUZvck5vZGVVbmRlck1vdXNlICE9IGZyYW1lVmlldykKICAgICAgICAgc2Nyb2xsYWJsZUFyZWFG
b3JOb2RlVW5kZXJNb3VzZS0+bW91c2VFbnRlcmVkQ29udGVudEFyZWEoKTsKIH0KIApAQCAtMjY3
Myw3ICsyNjg2LDcgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmRpc3BhdGNoTW91c2VFdmVudChjb25z
dCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIE5vZGUqIHRhcmdldE4KIHsKICAgICBSZWY8RnJhbWU+
IHByb3RlY3RlZEZyYW1lKG1fZnJhbWUpOwogCi0gICAgdXBkYXRlTW91c2VFdmVudFRhcmdldE5v
ZGUodGFyZ2V0Tm9kZSwgcGxhdGZvcm1Nb3VzZUV2ZW50LCBmaXJlTW91c2VPdmVyT3V0KTsKKyAg
ICB1cGRhdGVNb3VzZUV2ZW50VGFyZ2V0Tm9kZShldmVudFR5cGUsIHRhcmdldE5vZGUsIHBsYXRm
b3JtTW91c2VFdmVudCwgZmlyZU1vdXNlT3Zlck91dCk7CiAKICAgICBpZiAobV9lbGVtZW50VW5k
ZXJNb3VzZSAmJiAhbV9lbGVtZW50VW5kZXJNb3VzZS0+ZGlzcGF0Y2hNb3VzZUV2ZW50KHBsYXRm
b3JtTW91c2VFdmVudCwgZXZlbnRUeXBlLCBjbGlja0NvdW50KSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKaW5kZXggN2I0ZjI3ODk3MzgxYjA1YjEw
YzhmZDExMmNjNjYwNDI0N2Y1Yjg4YS4uZWYxZDQ4ZTRkZWU1ZjQ2Yzg5ODk1Y2ZhYzZjNzFlNjJh
MjczYzk2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCkBAIC00MDQsOSArNDA0LDEw
IEBAIHByaXZhdGU6CiAgICAgTm9kZSogbm9kZVVuZGVyTW91c2UoKSBjb25zdDsKICAgICAKICAg
ICBlbnVtIGNsYXNzIEZpcmVNb3VzZU92ZXJPdXQgeyBObywgWWVzIH07Ci0gICAgdm9pZCB1cGRh
dGVNb3VzZUV2ZW50VGFyZ2V0Tm9kZShOb2RlKiwgY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50Jiwg
RmlyZU1vdXNlT3Zlck91dCk7CisgICAgdm9pZCB1cGRhdGVNb3VzZUV2ZW50VGFyZ2V0Tm9kZShj
b25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIE5vZGUqLCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZl
bnQmLCBGaXJlTW91c2VPdmVyT3V0KTsKIAotICAgIHZvaWQgbm90aWZ5U2Nyb2xsYWJsZUFyZWFz
T2ZNb3VzZUVudGVyRXhpdChFbGVtZW50KiBsYXN0RWxlbWVudFVuZGVyTW91c2UsIEVsZW1lbnQq
IGVsZW1lbnRVbmRlck1vdXNlKTsKKyAgICBTY3JvbGxhYmxlQXJlYSogZW5jbG9zaW5nU2Nyb2xs
YWJsZUFyZWEoTm9kZSopOworICAgIHZvaWQgbm90aWZ5U2Nyb2xsYWJsZUFyZWFzT2ZNb3VzZUV2
ZW50cyhjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIEVsZW1lbnQqIGxhc3RFbGVtZW50VW5k
ZXJNb3VzZSwgRWxlbWVudCogZWxlbWVudFVuZGVyTW91c2UpOwogCiAgICAgTW91c2VFdmVudFdp
dGhIaXRUZXN0UmVzdWx0cyBwcmVwYXJlTW91c2VFdmVudChjb25zdCBIaXRUZXN0UmVxdWVzdCYs
IGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL2lvcy9FdmVudEhhbmRsZXJJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9F
dmVudEhhbmRsZXJJT1MubW0KaW5kZXggZTc3MzJjYTI1NDJhMzc2MWM0NDdiNDVlZWEyOGM5NDg2
Y2JhMWU1My4uZTQ4ZWYxMGU4ZWM5MjllNDA5NTNkYTgyNjM4ZDEyMGY4M2Q1Yjg1YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9pb3MvRXZlbnRIYW5kbGVySU9TLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0V2ZW50SGFuZGxlcklPUy5tbQpAQCAtNTI1LDcgKzUyNSw3
IEBAIHN0YXRpYyBib29sIGZyYW1lSGFzUGxhdGZvcm1XaWRnZXQoY29uc3QgRnJhbWUmIGZyYW1l
KQogCiB2b2lkIEV2ZW50SGFuZGxlcjo6ZGlzcGF0Y2hTeW50aGV0aWNNb3VzZU91dChjb25zdCBQ
bGF0Zm9ybU1vdXNlRXZlbnQmIHBsYXRmb3JtTW91c2VFdmVudCkKIHsKLSAgICB1cGRhdGVNb3Vz
ZUV2ZW50VGFyZ2V0Tm9kZShudWxscHRyLCBwbGF0Zm9ybU1vdXNlRXZlbnQsIEZpcmVNb3VzZU92
ZXJPdXQ6Olllcyk7CisgICAgdXBkYXRlTW91c2VFdmVudFRhcmdldE5vZGUoZXZlbnROYW1lcygp
Lm1vdXNlb3V0LCBudWxscHRyLCBwbGF0Zm9ybU1vdXNlRXZlbnQsIEZpcmVNb3VzZU92ZXJPdXQ6
Olllcyk7CiB9CiAKIHZvaWQgRXZlbnRIYW5kbGVyOjpkaXNwYXRjaFN5bnRoZXRpY01vdXNlTW92
ZShjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIHBsYXRmb3JtTW91c2VFdmVudCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vTG9nZ2luZy5jcHAKaW5kZXggZWVmOGIzYTdmMjJjNTdkZDM1NDQ5ZDQ0OWRhODVk
M2Y1MGE5NWY2Yy4uYmQ4MjljNTY5M2IyMjRiNzQ3YTViMGQzZTM2ZjBiMmNkZmMxYjRjYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5jcHAKQEAgLTkwLDYgKzkwLDcgQEAgdm9pZCBpbml0
aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeShPcHRpb25hbDxTdHJpbmc+IGxvZ0NoYW5uZWxT
dHJpbmcpCiAKICAgICBTdHJpbmcgZW5hYmxlZENoYW5uZWxzU3RyaW5nID0gbG9nQ2hhbm5lbFN0
cmluZyA/IGxvZ0NoYW5uZWxTdHJpbmcudmFsdWUoKSA6IGxvZ0xldmVsU3RyaW5nKCk7CiAgICAg
V1RGSW5pdGlhbGl6ZUxvZ0NoYW5uZWxTdGF0ZXNGcm9tU3RyaW5nKGxvZ0NoYW5uZWxzLCBsb2dD
aGFubmVsQ291bnQsIGVuYWJsZWRDaGFubmVsc1N0cmluZy51dGY4KCkuZGF0YSgpKTsKKyAgICBM
b2dPdmVybGF5U2Nyb2xsYmFycy5zdGF0ZSA9IFdURkxvZ0NoYW5uZWxTdGF0ZTo6T247CiB9CiAK
IFdURkxvZ0NoYW5uZWwqIGdldExvZ0NoYW5uZWwoY29uc3QgU3RyaW5nJiBuYW1lKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggY2I5MmRmMzAxY2Y5YWMwODU2
M2NhODczYjZmNDA1YmIzNzkzNTA1ZC4uOTBmZTQzN2JhOGI4NTA1MzJiMjRhZDQwOTdjMTUxNzdj
ODBjNmFlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0z
NjM5LDcgKzM2MzksNyBAQCBTdHJpbmcgUmVuZGVyTGF5ZXI6OmRlYnVnRGVzY3JpcHRpb24oKSBj
b25zdAogICAgIGlmIChpc0NvbXBvc2l0ZWQoKSkgewogICAgICAgICAvLyBPaCBmb3IgYmV0dGVy
IFN0cmluZ0J1aWxkZXIvVGV4dFN0cmVhbSBpbnRlZ3JhdGlvbi4KICAgICAgICAgVGV4dFN0cmVh
bSBzdHJlYW07Ci0gICAgICAgIHN0cmVhbSA8PCAqYmFja2luZygpOworICAgICAgICBzdHJlYW0g
PDwgIiAiIDw8ICpiYWNraW5nKCk7CiAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKHN0cmVhbS5yZWxl
YXNlKCkpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRl
eCBhNDI4MDMzZThkOGVhZDFiYjU5Y2Q2ODRmZjY4NTE2Yjg3YjRhZWNiLi4yMDM5M2ZiYzM2N2My
NzBkMGIwYjBiNGYzZjhjMjE1MmIyYjJhYWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuaApAQCAtNDYyLDYgKzQ2Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGFwcGx5UG9z
dExheW91dFNjcm9sbFBvc2l0aW9uSWZOZWVkZWQoKTsKIAogICAgIC8vIFJldHVybnMgdGhlIG5l
YXJlc3QgZW5jbG9zaW5nIGxheWVyIHRoYXQgaXMgc2Nyb2xsYWJsZS4KKyAgICAvLyBGSVhNRTog
VGhpcyBjYW4gcmV0dXJuIHRoZSBSZW5kZXJWaWV3J3MgbGF5ZXIgd2hlbiBjYWxsZXJzIHByb2Jh
Ymx5IHdhbnQgdGhlIEZyYW1lVmlldyBhcyBhIFNjcm9sbGFibGVBcmVhLgogICAgIFJlbmRlckxh
eWVyKiBlbmNsb3NpbmdTY3JvbGxhYmxlTGF5ZXIoSW5jbHVkZVNlbGZPck5vdCwgQ3Jvc3NGcmFt
ZUJvdW5kYXJpZXMpIGNvbnN0OwogCiAgICAgdm9pZCBhdmFpbGFibGVDb250ZW50U2l6ZUNoYW5n
ZWQoQXZhaWxhYmxlU2l6ZUNoYW5nZVJlYXNvbikgZmluYWw7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZWY3NmI1NjFmNWZk
ZjkwNjk0NzhjODZjNDk2NGY2Y2VjZTE1Y2FlZi4uZjhjZTc2ZDMxMmEzNzhkNzAxNmExMTM2ZTY1
NzkzYjE1ODNhNzFlMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTA1LTA3ICBTaW1vbiBG
cmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE92ZXJmbG93IHNjcm9s
bGVycyBpbiBpZnJhbWVzIGRvbid0IGdldCBtb3VzZU1vdmVkSW5Db250ZW50QXJlYSgpCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTEzNDcKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzYyNzg0NTYwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoZSBvcmRlcmluZyBvZiBjYWxsYmFja3MgaW4gdGhlIHNj
cm9sbC1hbmltYXRvciB0ZXN0cyBjaGFuZ2VkLCBidXQgaW4gd2F5cyB0aGF0IGRvbid0IG1hdGVy
aWFsbHkKKyAgICAgICAgYWZmZWN0IGJlaGF2aW9yLiBUd28gbmV3IHJlYWwgb3ZlcmxheSBzY3Jv
bGxiYXIgdGVzdHMuCisKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9v
dmVyZmxvdy1pbi1pZnJhbWUtb3ZlcmxheS1zY3JvbGxiYXItaG92ZXJlZC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93
LWluLWlmcmFtZS1vdmVybGF5LXNjcm9sbGJhci1ob3ZlcmVkLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93LWluLWlmcmFtZS1vdmVy
bGF5LXNjcm9sbGJhci1yZXZlYWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9vdmVyZmxvdy1pbi1pZnJhbWUtb3ZlcmxheS1zY3Jv
bGxiYXItcmV2ZWFsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3Njcm9s
bC1hbmltYXRvci1iYXNpYy1ldmVudHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qvc2Ny
b2xsaW5nL3Njcm9sbC1hbmltYXRvci1vdmVybGF5LXNjcm9sbGJhcnMtY2xpY2tlZC1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWFuaW1hdG9yLW92ZXJsYXkt
c2Nyb2xsYmFycy1ob3ZlcmVkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGlu
Zy9zY3JvbGwtYW5pbWF0b3Itc2VsZWN0LWxpc3QtZXZlbnRzLWV4cGVjdGVkLnR4dDoKKwogMjAy
MC0wNS0wNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIG1hcmsgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJz
L2Jyb3dzaW5nLXRoZS13ZWIvaGlzdG9yeS10cmF2ZXJzYWwvc2Nyb2xsLXJlc3RvcmF0aW9uLW9y
ZGVyLmh0bWwgYXMgZmxha3kgb24gaU9TLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZsb3ctaW4taWZyYW1lLW92ZXJsYXktc2Nyb2xs
YmFyLWhvdmVyZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFj
L3Njcm9sbGJhcnMvb3ZlcmZsb3ctaW4taWZyYW1lLW92ZXJsYXktc2Nyb2xsYmFyLWhvdmVyZWQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk4YTUxM2JkNDc3YjQyMzUzM2MxYzA2MGMyYTIwYzUx
NWUxYTIxNzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9t
YWMvc2Nyb2xsYmFycy9vdmVyZmxvdy1pbi1pZnJhbWUtb3ZlcmxheS1zY3JvbGxiYXItaG92ZXJl
ZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorCitUZXN0IG1heWJlZ2luIGFuZCBjYW5j
ZWxsZWQgb24gb3ZlcmZsb3cgaW5zaWRlIGFuIGlmcmFtZQorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKKworSW5pdGlhbCBzdGF0ZQorZW5hYmxlZAorSG92ZXJpbmcgdmVydGljYWwgc2Ny
b2xsYmFyIHNob3VsZCBzaG93IGV4cGFuZGVkIHNjcm9sbGJhcgorUEFTUyBTY3JvbGxiYXIgc3Rh
dGU6IGVuYWJsZWQsZXhwYW5kZWQsdmlzaWJsZV90cmFjayx2aXNpYmxlX3RodW1iCitVbmhvdmVy
aW5nIHZlcnRpY2FsIHNjcm9sbGJhciBzaG91bGQgaGlkZSBpdAorUEFTUyBUaHVtYiBhbmQgdHJh
Y2sgaGlkZGVuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJh
cnMvb3ZlcmZsb3ctaW4taWZyYW1lLW92ZXJsYXktc2Nyb2xsYmFyLWhvdmVyZWQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93LWluLWlmcmFt
ZS1vdmVybGF5LXNjcm9sbGJhci1ob3ZlcmVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTMzZTVkYWIyMTA3
NWEzM2M1YWI0NDc3ODU5MGRjMmI1NjMwYmMyNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93LWluLWlmcmFtZS1vdmVy
bGF5LXNjcm9sbGJhci1ob3ZlcmVkLmh0bWwKQEAgLTAsMCArMSwxMDIgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGludGVybmFsOnVzZU1vY2tTY3JvbGxiYXJz
PWZhbHNlIGludGVybmFsOkFzeW5jT3ZlcmZsb3dTY3JvbGxpbmdFbmFibGVkPXRydWUgaW50ZXJu
YWw6QXN5bmNGcmFtZVNjcm9sbGluZ0VuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KyAgICA8c3R5bGU+CisgICAgICAgIGJvZHkgeworICAgICAgICAgICAgaGVpZ2h0OiAxMDAwcHg7
CisgICAgICAgIH0KKyAgICAgICAgaWZyYW1lIHsKKyAgICAgICAgICAgIHdpZHRoOiA0MDBweDsK
KyAgICAgICAgICAgIGhlaWdodDogMjUwcHg7CisgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xp
ZCBncmF5OworICAgICAgICB9CisgICAgPC9zdHlsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgCisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgaWYg
KHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0VXNlc092ZXJsYXlT
Y3JvbGxiYXJzKHRydWUpOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIGRvVGVzdCgpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCdUZXN0IG1heWJlZ2luIGFuZCBjYW5jZWxs
ZWQgb24gb3ZlcmZsb3cgaW5zaWRlIGFuIGlmcmFtZScpOworICAgICAgICAgICAgCisgICAgICAg
ICAgICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaWZyYW1l
JylbMF07CisgICAgICAgICAgICBjb25zdCBpZnJhbWVXaW5kb3cgPSBpZnJhbWUuY29udGVudFdp
bmRvdzsKKyAgICAgICAgICAgIGNvbnN0IGlmcmFtZUJvdW5kcyA9IGlmcmFtZS5nZXRCb3VuZGlu
Z0NsaWVudFJlY3QoKTsKKworICAgICAgICAgICAgY29uc3Qgc2Nyb2xsZXIgPSBpZnJhbWUuY29u
dGVudERvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zY3JvbGxlcicpOworICAgICAgICAgICAgY29u
c3Qgc2Nyb2xsZXJCb3VuZHMgPSBzY3JvbGxlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKwor
ICAgICAgICAgICAgY29uc3QgeCA9IGlmcmFtZUJvdW5kcy5sZWZ0ICsgc2Nyb2xsZXJCb3VuZHMu
cmlnaHQgLSA4OworICAgICAgICAgICAgY29uc3QgeSA9IGlmcmFtZUJvdW5kcy50b3AgKyBzY3Jv
bGxlckJvdW5kcy50b3AgKyAxMDsKKworICAgICAgICAgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxz
KSB7CisgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZnJhbWVXaW5kb3cuaW50ZXJuYWxz
LnNldFVzZXNPdmVybGF5U2Nyb2xsYmFycyh0cnVlKTsKKworICAgICAgICAgICAgZGVidWcoJ0lu
aXRpYWwgc3RhdGUnKTsKKyAgICAgICAgICAgIGRlYnVnKGlmcmFtZVdpbmRvdy5pbnRlcm5hbHMu
dmVydGljYWxTY3JvbGxiYXJTdGF0ZShzY3JvbGxlcikpOworCisgICAgICAgICAgICBkZWJ1Zygn
SG92ZXJpbmcgdmVydGljYWwgc2Nyb2xsYmFyIHNob3VsZCBzaG93IGV4cGFuZGVkIHNjcm9sbGJh
cicpOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIubW91c2VXaGVlbFNjcm9sbEF0KHgsIHkp
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIud2FpdEZvckNvbmRpdGlvbigoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgbGV0IHN0YXRlID0gaWZyYW1lV2luZG93LmludGVybmFscy52ZXJ0aWNh
bFNjcm9sbGJhclN0YXRlKHNjcm9sbGVyKTsKKyAgICAgICAgICAgICAgICBsZXQgZXhwYW5kZWQg
PSBzdGF0ZS5pbmRleE9mKCdleHBhbmRlZCcpICE9IC0xOworICAgICAgICAgICAgICAgIGlmIChl
eHBhbmRlZCkKKyAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnU2Nyb2xsYmFyIHN0YXRl
OiAnICsgc3RhdGUpOworICAgICAgICAgICAgICAgIHJldHVybiBleHBhbmRlZDsKKyAgICAgICAg
ICAgIH0pOworCisgICAgICAgICAgICBkZWJ1ZygnVW5ob3ZlcmluZyB2ZXJ0aWNhbCBzY3JvbGxi
YXIgc2hvdWxkIGhpZGUgaXQnKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLm1vdmVNb3Vz
ZUFuZFdhaXRGb3JGcmFtZSh4IC0gMTAsIHkpOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
bW92ZU1vdXNlQW5kV2FpdEZvckZyYW1lKHggLSAyMCwgeSk7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci53YWl0Rm9yQ29uZGl0aW9uKCgpID0+IHsKKyAgICAgICAgICAgICAgICBsZXQgc3Rh
dGUgPSBpZnJhbWVXaW5kb3cuaW50ZXJuYWxzLnZlcnRpY2FsU2Nyb2xsYmFyU3RhdGUoc2Nyb2xs
ZXIpOworICAgICAgICAgICAgICAgIGxldCB0aHVtYkhpZGRlbiA9IHN0YXRlLmluZGV4T2YoJ3Zp
c2libGVfdGh1bWInKSA9PSAtMTsKKyAgICAgICAgICAgICAgICBsZXQgdHJhY2tIaWRkZW4gPSBz
dGF0ZS5pbmRleE9mKCd2aXNpYmxlX3RyYWNrJykgPT0gLTE7CisgICAgICAgICAgICAgICAgaWYg
KHRodW1iSGlkZGVuICYmIHRyYWNrSGlkZGVuKQorICAgICAgICAgICAgICAgICAgICB0ZXN0UGFz
c2VkKCdUaHVtYiBhbmQgdHJhY2sgaGlkZGVuJyk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHRo
dW1iSGlkZGVuICYmIHRyYWNrSGlkZGVuOworICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICB9CisKKyAgICAgICAgd2luZG93LmFkZEV2ZW50TGlz
dGVuZXIoJ2xvYWQnLCAoKSA9PiB7CisgICAgICAgICAgICBkb1Rlc3QoKTsKKyAgICAgICAgfSwg
ZmFsc2UpOworICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPGlmcmFtZSBzcmNk
b2M9IgorICAgICAgICA8c3R5bGU+CisgICAgICAgIGJvZHkgeworICAgICAgICAgICAgaGVpZ2h0
OiAxMDAwcHg7CisgICAgICAgIH0KKyAgICAgICAgLnNjcm9sbGVyIHsKKyAgICAgICAgICAgIG1h
cmdpbjogMTBweDsKKyAgICAgICAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAgICAgICAgIGhlaWdo
dDogMjAwcHg7CisgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICAgICAg
ICAgIG92ZXJmbG93OiBhdXRvOworICAgICAgICB9CisgICAgICAgIC5jb250ZW50cyB7CisgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgIGhlaWdodDogMjAwJTsKKyAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgICAgICA8ZGl2IGNsYXNzPSdzY3JvbGxlcic+CisgICAg
ICAgICAgICA8ZGl2IGNsYXNzPSdjb250ZW50cyc+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAg
ICI+PC9pZnJhbWU+CisgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFj
L3Njcm9sbGJhcnMvb3ZlcmZsb3ctaW4taWZyYW1lLW92ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9v
dmVyZmxvdy1pbi1pZnJhbWUtb3ZlcmxheS1zY3JvbGxiYXItcmV2ZWFsLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMmI2ODg1ZGU0MTgxNzAzZGE4ZDJjNzZjZTczMjEzMWYzNDA2YzJlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMv
b3ZlcmZsb3ctaW4taWZyYW1lLW92ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxNiBAQAorCitUZXN0IG1heWJlZ2luIGFuZCBjYW5jZWxsZWQgb24gb3ZlcmZs
b3cgaW5zaWRlIGFuIGlmcmFtZQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworSW5p
dGlhbCBzdGF0ZQorZW5hYmxlZAorTWF5QmVnaW4gc2hvdWxkIHNob3cgdGhlIHNjcm9sbGJhcgor
UEFTUyBTY3JvbGxiYXIgc3RhdGU6IGVuYWJsZWQsdmlzaWJsZV90aHVtYgorQ2FuY2VsbGVkIHNo
b3VsZCBoaWRlIHRoZSBzY3JvbGxiYXIKK1BBU1MgU2Nyb2xsYmFyIHN0YXRlOiBlbmFibGVkCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZsb3ct
aW4taWZyYW1lLW92ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZsb3ctaW4taWZyYW1lLW92ZXJsYXktc2Ny
b2xsYmFyLXJldmVhbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVlZTZjMDk3OTFjYzBjMmU5NjYwMWU4MDQw
NGQ5MjIxMWQyMzM1NTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9s
bGluZy9tYWMvc2Nyb2xsYmFycy9vdmVyZmxvdy1pbi1pZnJhbWUtb3ZlcmxheS1zY3JvbGxiYXIt
cmV2ZWFsLmh0bWwKQEAgLTAsMCArMSwxMDEgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIGludGVybmFsOnVzZU1vY2tTY3JvbGxiYXJzPWZhbHNlIGludGVybmFs
OkFzeW5jT3ZlcmZsb3dTY3JvbGxpbmdFbmFibGVkPXRydWUgaW50ZXJuYWw6QXN5bmNGcmFtZVNj
cm9sbGluZ0VuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+Cisg
ICAgICAgIGJvZHkgeworICAgICAgICAgICAgaGVpZ2h0OiAxMDAwcHg7CisgICAgICAgIH0KKyAg
ICAgICAgaWZyYW1lIHsKKyAgICAgICAgICAgIHdpZHRoOiA0MDBweDsKKyAgICAgICAgICAgIGhl
aWdodDogMjUwcHg7CisgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBncmF5OworICAgICAg
ICB9CisgICAgPC9zdHlsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgCisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5h
bHMpCisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0VXNlc092ZXJsYXlTY3JvbGxiYXJzKHRydWUp
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIGRvVGVzdCgpCisgICAgICAgIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCdUZXN0IG1heWJlZ2luIGFuZCBjYW5jZWxsZWQgb24gb3ZlcmZsb3cg
aW5zaWRlIGFuIGlmcmFtZScpOworICAgICAgICAgICAgCisgICAgICAgICAgICBjb25zdCBpZnJh
bWUgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaWZyYW1lJylbMF07CisgICAgICAg
ICAgICBjb25zdCBpZnJhbWVXaW5kb3cgPSBpZnJhbWUuY29udGVudFdpbmRvdzsKKyAgICAgICAg
ICAgIGNvbnN0IGlmcmFtZUJvdW5kcyA9IGlmcmFtZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsK
KworICAgICAgICAgICAgY29uc3Qgc2Nyb2xsZXIgPSBpZnJhbWUuY29udGVudERvY3VtZW50LnF1
ZXJ5U2VsZWN0b3IoJy5zY3JvbGxlcicpOworICAgICAgICAgICAgY29uc3Qgc2Nyb2xsZXJCb3Vu
ZHMgPSBzY3JvbGxlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKworICAgICAgICAgICAgY29u
c3QgeCA9IGlmcmFtZUJvdW5kcy5sZWZ0ICsgc2Nyb2xsZXJCb3VuZHMubGVmdCArIDEwOworICAg
ICAgICAgICAgY29uc3QgeSA9IGlmcmFtZUJvdW5kcy50b3AgKyBzY3JvbGxlckJvdW5kcy50b3Ag
KyAxMDsKKworICAgICAgICAgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICBpZnJhbWVXaW5kb3cuaW50ZXJuYWxzLnNldFVzZXNPdmVybGF5
U2Nyb2xsYmFycyh0cnVlKTsKKworICAgICAgICAgICAgZGVidWcoJ0luaXRpYWwgc3RhdGUnKTsK
KyAgICAgICAgICAgIGRlYnVnKGlmcmFtZVdpbmRvdy5pbnRlcm5hbHMudmVydGljYWxTY3JvbGxi
YXJTdGF0ZShzY3JvbGxlcikpOworCisgICAgICAgICAgICBkZWJ1ZygnTWF5QmVnaW4gc2hvdWxk
IHNob3cgdGhlIHNjcm9sbGJhcicpOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIubW91c2VX
aGVlbE1heUJlZ2luQXQoeCwgeSk7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci53YWl0Rm9y
Q29uZGl0aW9uKCgpID0+IHsKKyAgICAgICAgICAgICAgICBsZXQgc3RhdGUgPSBpZnJhbWVXaW5k
b3cuaW50ZXJuYWxzLnZlcnRpY2FsU2Nyb2xsYmFyU3RhdGUoc2Nyb2xsZXIpOworICAgICAgICAg
ICAgICAgIGxldCB2aXNpYmxlID0gc3RhdGUuaW5kZXhPZigndmlzaWJsZV90aHVtYicpICE9IC0x
OworICAgICAgICAgICAgICAgIGlmICh2aXNpYmxlKQorICAgICAgICAgICAgICAgICAgICB0ZXN0
UGFzc2VkKCdTY3JvbGxiYXIgc3RhdGU6ICcgKyBzdGF0ZSk7CisgICAgICAgICAgICAgICAgcmV0
dXJuIHZpc2libGU7CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgZGVidWcoJ0NhbmNl
bGxlZCBzaG91bGQgaGlkZSB0aGUgc2Nyb2xsYmFyJyk7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5tb3VzZVdoZWVsQ2FuY2VsQXQoeCwgeSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLndhaXRGb3JDb25kaXRpb24oKCkgPT4geworICAgICAgICAgICAgICAgIGxldCBzdGF0ZSA9
IGlmcmFtZVdpbmRvdy5pbnRlcm5hbHMudmVydGljYWxTY3JvbGxiYXJTdGF0ZShzY3JvbGxlcik7
CisgICAgICAgICAgICAgICAgbGV0IGhpZGRlbiA9IHN0YXRlLmluZGV4T2YoJ3Zpc2libGVfdGh1
bWInKSA9PSAtMTsKKyAgICAgICAgICAgICAgICBpZiAoaGlkZGVuKQorICAgICAgICAgICAgICAg
ICAgICB0ZXN0UGFzc2VkKCdTY3JvbGxiYXIgc3RhdGU6ICcgKyBzdGF0ZSk7CisgICAgICAgICAg
ICAgICAgcmV0dXJuIGhpZGRlbjsKKyAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgfQorCisgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCdsb2FkJywgKCkgPT4geworICAgICAgICAgICAgZG9UZXN0KCk7CisgICAgICAgIH0sIGZhbHNl
KTsKKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxpZnJhbWUgc3JjZG9jPSIK
KyAgICAgICAgPHN0eWxlPgorICAgICAgICBib2R5IHsKKyAgICAgICAgICAgIGhlaWdodDogMTAw
MHB4OworICAgICAgICB9CisgICAgICAgIC5zY3JvbGxlciB7CisgICAgICAgICAgICBtYXJnaW46
IDEwcHg7CisgICAgICAgICAgICB3aWR0aDogMjAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDIw
MHB4OworICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7CisgICAgICAgICAgICBv
dmVyZmxvdzogYXV0bzsKKyAgICAgICAgfQorICAgICAgICAuY29udGVudHMgeworICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICBoZWlnaHQ6IDIwMCU7CisgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICAgICAgPGRpdiBjbGFzcz0nc2Nyb2xsZXInPgorICAgICAgICAg
ICAgPGRpdiBjbGFzcz0nY29udGVudHMnPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAiPjwv
aWZyYW1lPgorICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1h
bmltYXRvci1iYXNpYy1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvc2Nyb2xsLWFuaW1hdG9yLWJhc2ljLWV2ZW50cy1leHBlY3RlZC50eHQKaW5kZXggZjg5
YTY5NzczMWZkZWJlYzJlNjg3MWE1MDBlOTRlN2QxOTZkNDRjZi4uOTM2YmVkMjVjMjcxN2Y1MjFk
YzU2ZDUzMjYzMDlkYjg2OTRhMjYxNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvc2Nyb2xsLWFuaW1hdG9yLWJhc2ljLWV2ZW50cy1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWFuaW1hdG9yLWJhc2ljLWV2ZW50cy1leHBl
Y3RlZC50eHQKQEAgLTEsMTYgKzEsMTQgQEAKIENPTlNPTEUgTUVTU0FHRTogTWFpbkZyYW1lVmll
dzogbW91c2VFbnRlcmVkQ29udGVudEFyZWEKIENPTlNPTEUgTUVTU0FHRTogTWFpbkZyYW1lVmll
dzogbW91c2VNb3ZlZEluQ29udGVudEFyZWEKIENPTlNPTEUgTUVTU0FHRTogUmVuZGVyTGF5ZXI6
IG1vdXNlRW50ZXJlZENvbnRlbnRBcmVhCi1DT05TT0xFIE1FU1NBR0U6IFJlbmRlckxheWVyOiBt
b3VzZU1vdmVkSW5Db250ZW50QXJlYQotQ09OU09MRSBNRVNTQUdFOiBNYWluRnJhbWVWaWV3OiBt
b3VzZU1vdmVkSW5Db250ZW50QXJlYQogQ09OU09MRSBNRVNTQUdFOiBSZW5kZXJMYXllcjogbW91
c2VFbnRlcmVkVmVydGljYWxTY3JvbGxiYXIKLUNPTlNPTEUgTUVTU0FHRTogUmVuZGVyTGF5ZXI6
IG1vdXNlTW92ZWRJbkNvbnRlbnRBcmVhCiBDT05TT0xFIE1FU1NBR0U6IE1haW5GcmFtZVZpZXc6
IG1vdXNlTW92ZWRJbkNvbnRlbnRBcmVhCitDT05TT0xFIE1FU1NBR0U6IFJlbmRlckxheWVyOiBt
b3VzZU1vdmVkSW5Db250ZW50QXJlYQogQ09OU09MRSBNRVNTQUdFOiBSZW5kZXJMYXllcjogbW91
c2VJc0Rvd25JblZlcnRpY2FsU2Nyb2xsYmFyCiBDT05TT0xFIE1FU1NBR0U6IFJlbmRlckxheWVy
OiBtb3VzZUlzVXBJblZlcnRpY2FsU2Nyb2xsYmFyCiBDT05TT0xFIE1FU1NBR0U6IFJlbmRlckxh
eWVyOiBtb3VzZUV4aXRlZFZlcnRpY2FsU2Nyb2xsYmFyCi1DT05TT0xFIE1FU1NBR0U6IFJlbmRl
ckxheWVyOiBtb3VzZUV4aXRlZENvbnRlbnRBcmVhCiBDT05TT0xFIE1FU1NBR0U6IE1haW5GcmFt
ZVZpZXc6IG1vdXNlTW92ZWRJbkNvbnRlbnRBcmVhCitDT05TT0xFIE1FU1NBR0U6IFJlbmRlckxh
eWVyOiBtb3VzZUV4aXRlZENvbnRlbnRBcmVhCiBUaGlzIGlzIGEgc2Nyb2xsYWJsZSBkaXYuCiAK
IFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1hbmltYXRvci1vdmVybGF5LXNjcm9sbGJhcnMtY2xpY2tl
ZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9zY3JvbGwtYW5pbWF0
b3Itb3ZlcmxheS1zY3JvbGxiYXJzLWNsaWNrZWQtZXhwZWN0ZWQudHh0CmluZGV4IDljMzY5ZWEz
NWQ0ZDZmYTVmNjM2NmQ2Y2QyYTU3YzY4MzQxMTdkNDYuLjVkYTE2YWM5YjliZDE5YjgxM2NhOWRh
MWM4NWRlYmE4Njc5YzM1N2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3Njcm9sbC1hbmltYXRvci1vdmVybGF5LXNjcm9sbGJhcnMtY2xpY2tlZC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWFuaW1hdG9yLW92ZXJsYXkt
c2Nyb2xsYmFycy1jbGlja2VkLWV4cGVjdGVkLnR4dApAQCAtMSw4ICsxLDcgQEAKIENPTlNPTEUg
TUVTU0FHRTogTWFpbkZyYW1lVmlldzogbW91c2VFbnRlcmVkQ29udGVudEFyZWEKLUNPTlNPTEUg
TUVTU0FHRTogTWFpbkZyYW1lVmlldzogbW91c2VNb3ZlZEluQ29udGVudEFyZWEKIENPTlNPTEUg
TUVTU0FHRTogTWFpbkZyYW1lVmlldzogbW91c2VFbnRlcmVkVmVydGljYWxTY3JvbGxiYXIKLUNP
TlNPTEUgTUVTU0FHRTogRnJhbWVWaWV3OiBtb3VzZUVudGVyZWRDb250ZW50QXJlYQogQ09OU09M
RSBNRVNTQUdFOiBNYWluRnJhbWVWaWV3OiBtb3VzZU1vdmVkSW5Db250ZW50QXJlYQorQ09OU09M
RSBNRVNTQUdFOiBGcmFtZVZpZXc6IG1vdXNlRW50ZXJlZENvbnRlbnRBcmVhCiBDT05TT0xFIE1F
U1NBR0U6IE1haW5GcmFtZVZpZXc6IG1vdXNlSXNEb3duSW5WZXJ0aWNhbFNjcm9sbGJhcgogQ09O
U09MRSBNRVNTQUdFOiBNYWluRnJhbWVWaWV3OiBtb3VzZUlzVXBJblZlcnRpY2FsU2Nyb2xsYmFy
CiBDT05TT0xFIE1FU1NBR0U6IE1haW5GcmFtZVZpZXc6IG1vdXNlRXhpdGVkVmVydGljYWxTY3Jv
bGxiYXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1hbmlt
YXRvci1vdmVybGF5LXNjcm9sbGJhcnMtaG92ZXJlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9zY3JvbGwtYW5pbWF0b3Itb3ZlcmxheS1zY3JvbGxiYXJzLWhvdmVy
ZWQtZXhwZWN0ZWQudHh0CmluZGV4IDM5NzZjYzEyOTdjMTU0MzA2MDI4NDIyZTVkZWQ3NzFkZGQ0
NjRkNDguLmIzMjlkMzZkMDE4NDVjMmI4NTU1MmY0OTAyNjdlNGZhNTk0NTY3MDcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1hbmltYXRvci1vdmVybGF5LXNj
cm9sbGJhcnMtaG92ZXJlZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvc2Nyb2xsLWFuaW1hdG9yLW92ZXJsYXktc2Nyb2xsYmFycy1ob3ZlcmVkLWV4cGVjdGVk
LnR4dApAQCAtMiw3ICsyLDYgQEAgQ09OU09MRSBNRVNTQUdFOiBNYWluRnJhbWVWaWV3OiBtb3Vz
ZUVudGVyZWRDb250ZW50QXJlYQogQ09OU09MRSBNRVNTQUdFOiBNYWluRnJhbWVWaWV3OiBtb3Vz
ZU1vdmVkSW5Db250ZW50QXJlYQogQ09OU09MRSBNRVNTQUdFOiBGcmFtZVZpZXc6IG1vdXNlRW50
ZXJlZEhvcml6b250YWxTY3JvbGxiYXIKIENPTlNPTEUgTUVTU0FHRTogRnJhbWVWaWV3OiBtb3Vz
ZUVudGVyZWRDb250ZW50QXJlYQotQ09OU09MRSBNRVNTQUdFOiBNYWluRnJhbWVWaWV3OiBtb3Vz
ZU1vdmVkSW5Db250ZW50QXJlYQogQ09OU09MRSBNRVNTQUdFOiBGcmFtZVZpZXc6IG1vdXNlRXhp
dGVkSG9yaXpvbnRhbFNjcm9sbGJhcgogQ09OU09MRSBNRVNTQUdFOiBGcmFtZVZpZXc6IG1vdXNl
RXhpdGVkQ29udGVudEFyZWEKIENPTlNPTEUgTUVTU0FHRTogTWFpbkZyYW1lVmlldzogbW91c2VN
b3ZlZEluQ29udGVudEFyZWEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3Njcm9sbC1hbmltYXRvci1zZWxlY3QtbGlzdC1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWFuaW1hdG9yLXNlbGVjdC1saXN0LWV2ZW50cy1l
eHBlY3RlZC50eHQKaW5kZXggYmMzNzZjZDc1NmMzMDFiZTQxN2NkNzY3OGNkZjJjYzYyYzVjZDZh
ZS4uNTBkNzQ3YjFlYTM4NTY4YTg3ZTUzNzY2Y2IyNjU1Zjk2ZmVkNTYyZSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWFuaW1hdG9yLXNlbGVjdC1saXN0LWV2
ZW50cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvc2Nyb2xs
LWFuaW1hdG9yLXNlbGVjdC1saXN0LWV2ZW50cy1leHBlY3RlZC50eHQKQEAgLTEsMTYgKzEsMTQg
QEAKIENPTlNPTEUgTUVTU0FHRTogTWFpbkZyYW1lVmlldzogbW91c2VFbnRlcmVkQ29udGVudEFy
ZWEKIENPTlNPTEUgTUVTU0FHRTogTWFpbkZyYW1lVmlldzogbW91c2VNb3ZlZEluQ29udGVudEFy
ZWEKIENPTlNPTEUgTUVTU0FHRTogUmVuZGVyTGlzdEJveDogbW91c2VFbnRlcmVkQ29udGVudEFy
ZWEKLUNPTlNPTEUgTUVTU0FHRTogUmVuZGVyTGlzdEJveDogbW91c2VNb3ZlZEluQ29udGVudEFy
ZWEKLUNPTlNPTEUgTUVTU0FHRTogTWFpbkZyYW1lVmlldzogbW91c2VNb3ZlZEluQ29udGVudEFy
ZWEKIENPTlNPTEUgTUVTU0FHRTogUmVuZGVyTGlzdEJveDogbW91c2VFbnRlcmVkVmVydGljYWxT
Y3JvbGxiYXIKLUNPTlNPTEUgTUVTU0FHRTogUmVuZGVyTGlzdEJveDogbW91c2VNb3ZlZEluQ29u
dGVudEFyZWEKIENPTlNPTEUgTUVTU0FHRTogTWFpbkZyYW1lVmlldzogbW91c2VNb3ZlZEluQ29u
dGVudEFyZWEKK0NPTlNPTEUgTUVTU0FHRTogUmVuZGVyTGlzdEJveDogbW91c2VNb3ZlZEluQ29u
dGVudEFyZWEKIENPTlNPTEUgTUVTU0FHRTogUmVuZGVyTGlzdEJveDogbW91c2VJc0Rvd25JblZl
cnRpY2FsU2Nyb2xsYmFyCiBDT05TT0xFIE1FU1NBR0U6IFJlbmRlckxpc3RCb3g6IG1vdXNlSXNV
cEluVmVydGljYWxTY3JvbGxiYXIKIENPTlNPTEUgTUVTU0FHRTogUmVuZGVyTGlzdEJveDogbW91
c2VFeGl0ZWRWZXJ0aWNhbFNjcm9sbGJhcgotQ09OU09MRSBNRVNTQUdFOiBSZW5kZXJMaXN0Qm94
OiBtb3VzZUV4aXRlZENvbnRlbnRBcmVhCiBDT05TT0xFIE1FU1NBR0U6IE1haW5GcmFtZVZpZXc6
IG1vdXNlTW92ZWRJbkNvbnRlbnRBcmVhCitDT05TT0xFIE1FU1NBR0U6IFJlbmRlckxpc3RCb3g6
IG1vdXNlRXhpdGVkQ29udGVudEFyZWEKIFRlc3QgZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNTMzOTguCiAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398825</attachid>
            <date>2020-05-07 18:26:15 -0700</date>
            <delta_ts>2020-05-07 18:40:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211347-20200507182614.patch</filename>
            <type>text/plain</type>
            <size>29637</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxMzA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDdjYmQyMzVhZWYxOTI1
MDViNDUwMmRiYTE1Y2RlNTVhZWI4YjgwNS4uOGU5MzczOWZhYTgyMGMzOThmMmNiYTgxOGY0OGUw
NDE1YzNiN2NmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIwLTA1LTA3ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE92ZXJmbG93IHNj
cm9sbGVycyBpbiBpZnJhbWVzIGRvbid0IGdldCBtb3VzZU1vdmVkSW5Db250ZW50QXJlYSgpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTEzNDcKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYyNzg0NTYwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIG5ldmVyIGRpc3BhdGNoZWQgbW91c2VNb3ZlZElu
Q29udGVudEFyZWEoKSBvbiBTY3JvbGxhYmxlQXJlYXMgaW4gc3ViZnJhbWVzLCBzbyBvdmVybGF5
IHNjcm9sbGJhcgorICAgICAgICBpbnRlcmFjdGlvbnMgdGhlcmUgd2VyZSBicm9rZW4uIFRoaXMg
aXMgYmVjYXVzZSB0aGUgY29kZSByYW4gZnJvbSBFdmVudEhhbmRsZXI6Om1vdXNlTW92ZWQoKSwg
d2hpY2gKKyAgICAgICAgb25seSBydW5zIGZvciB0aGUgbWFpbiBmcmFtZS4KKworICAgICAgICBJ
bnN0ZWFkLCBtb3ZlIHRoZSBtb3VzZU1vdmVkSW5Db250ZW50QXJlYSgpIGRpc3BhdGNoIGRvd24g
aW50byB1cGRhdGVNb3VzZUV2ZW50VGFyZ2V0Tm9kZSgpIHdoaWNoCisgICAgICAgIGlzIHJ1biBm
b3IgZWFjaCBzdWJmcmFtZS4gbm90aWZ5U2Nyb2xsYWJsZUFyZWFzT2ZNb3VzZUV2ZW50cygpIHRh
a2VzIGFuIGV2ZW50IG5hbWUgc28gd2Ugb25seSBkaXNwYXRjaAorICAgICAgICBmb3IgbW91c2VN
b3ZlIGV2ZW50cy4gVGhlcmUncyBzb21lIGNvbXBsZXhpdHkgaGVyZSByZWxhdGVkIHRvIHdoZXRo
ZXIgdGhlIG9sZCBhbmQgbmV3IFNjcm9sbGFibGVBcmVhCisgICAgICAgIHRhcmdldHMgYXJlIG5l
c3RlZDsgdGhpcyBjb2RlIGRvZXNuJ3QgdHJ5IHRvIGRvIHRoZSByaWdodCB0aGluZyB3aXRoIG5l
c3RpbmcsIGJ1dCBkb2VzIGhhbmRsZSB0aGUgbW91c2UKKyAgICAgICAgbW92aW5nIGJldHdlZW4g
dGhlIHNjcm9sbGFibGUgbWFpbiBmcmFtZSBhbmQgYW4gb3ZlcmZsb3cgcmVnaW9uLgorICAgICAg
ICAKKyAgICAgICAgZW5jbG9zaW5nU2Nyb2xsYWJsZUFyZWEoKSBpcyBmaXhlZCB0byByZXR1cm4g
dGhlIEZyYW1lVmlldy4gZW5jbG9zaW5nU2Nyb2xsYWJsZUxheWVyKCkgaXMgZmxhd2VkLCBhcyBu
b3RlZAorICAgICAgICBpbiB0aGUgUmVuZGVyTGF5ZXIuaCBjb21tZW50LgorCisgICAgICAgIFRl
c3RzOiBmYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9vdmVyZmxvdy1pbi1pZnJhbWUtb3Zl
cmxheS1zY3JvbGxiYXItaG92ZXJlZC5odG1sCisgICAgICAgICAgICAgICBmYXN0L3Njcm9sbGlu
Zy9tYWMvc2Nyb2xsYmFycy9vdmVyZmxvdy1pbi1pZnJhbWUtb3ZlcmxheS1zY3JvbGxiYXItcmV2
ZWFsLmh0bWwKKworICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkV2ZW50SGFuZGxlcjo6ZW5jbG9zaW5nU2Nyb2xsYWJsZUFyZWEpOgorICAgICAgICAo
V2ViQ29yZTo6RXZlbnRIYW5kbGVyOjptb3VzZU1vdmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VNb3ZlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RXZl
bnRIYW5kbGVyOjpwb2ludGVyQ2FwdHVyZUVsZW1lbnREaWRDaGFuZ2UpOgorICAgICAgICAoV2Vi
Q29yZTo6RXZlbnRIYW5kbGVyOjp1cGRhdGVNb3VzZUV2ZW50VGFyZ2V0Tm9kZSk6CisgICAgICAg
IChXZWJDb3JlOjpFdmVudEhhbmRsZXI6Om5vdGlmeVNjcm9sbGFibGVBcmVhc09mTW91c2VFdmVu
dHMpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpkaXNwYXRjaE1vdXNlRXZlbnQp
OgorICAgICAgICAoV2ViQ29yZTo6ZW5jbG9zaW5nU2Nyb2xsYWJsZUFyZWEpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpub3RpZnlTY3JvbGxhYmxlQXJlYXNPZk1v
dXNlRW50ZXJFeGl0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5oOgor
ICAgICAgICAqIHBhZ2UvaW9zL0V2ZW50SGFuZGxlcklPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6
OkV2ZW50SGFuZGxlcjo6ZGlzcGF0Y2hTeW50aGV0aWNNb3VzZU91dCk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpk
ZWJ1Z0Rlc2NyaXB0aW9uIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIu
aDoKKwogMjAyMC0wNS0wNyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4K
IAogICAgICAgICBSRUdSRVNTSU9OIChyMjYxMDU2KTogWyBNYWMgV0sxIF0gaW5zcGVjdG9yL2Nv
bnNvbGUvY29uc29sZS1hcGkuaHRtbCBpcyBmbGFreSBjcmFzaGluZwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudEhhbmRsZXIuY3BwCmluZGV4IGE1NDhmM2M3NmVkNzA4NDk0M2ViYTM0ZmVjNjMyZmM2ZTgz
MWZjMWIuLmZkNDcxNmJhYzhiNDgyZjUyYzVlYjUxYjQ3M2YzNWFlM2Y4ZDRhYWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTE4ODAsMTIgKzE4ODAsMTUgQEAgYm9vbCBF
dmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlRG91YmxlQ2xpY2tFdmVudChjb25zdCBQbGF0Zm9ybU1v
dXNlRXZlbnQmIHBsYXRmb3IKICAgICByZXR1cm4gc3dhbGxvd01vdXNlVXBFdmVudCB8fCBzd2Fs
bG93Q2xpY2tFdmVudCB8fCBzd2FsbG93TW91c2VSZWxlYXNlRXZlbnQ7CiB9CiAKLXN0YXRpYyBT
Y3JvbGxhYmxlQXJlYSogZW5jbG9zaW5nU2Nyb2xsYWJsZUFyZWEoTm9kZSogbm9kZSkKK1Njcm9s
bGFibGVBcmVhKiBFdmVudEhhbmRsZXI6OmVuY2xvc2luZ1Njcm9sbGFibGVBcmVhKE5vZGUqIG5v
ZGUpCiB7CiAgICAgZm9yIChhdXRvIGFuY2VzdG9yID0gbm9kZTsgYW5jZXN0b3I7IGFuY2VzdG9y
ID0gYW5jZXN0b3ItPnBhcmVudE9yU2hhZG93SG9zdE5vZGUoKSkgewotICAgICAgICBpZiAoaXM8
SFRNTElGcmFtZUVsZW1lbnQ+KCphbmNlc3RvcikgfHwgaXM8SFRNTEh0bWxFbGVtZW50PigqYW5j
ZXN0b3IpIHx8IGlzPEhUTUxEb2N1bWVudD4oKmFuY2VzdG9yKSkKKyAgICAgICAgaWYgKGlzPEhU
TUxJRnJhbWVFbGVtZW50PigqYW5jZXN0b3IpKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7
CiAKKyAgICAgICAgaWYgKGlzPEhUTUxIdG1sRWxlbWVudD4oKmFuY2VzdG9yKSB8fCBpczxIVE1M
RG9jdW1lbnQ+KCphbmNlc3RvcikpCisgICAgICAgICAgICBicmVhazsKKwogICAgICAgICBhdXRv
IHJlbmRlcmVyID0gYW5jZXN0b3ItPnJlbmRlcmVyKCk7CiAgICAgICAgIGlmICghcmVuZGVyZXIp
CiAgICAgICAgICAgICBjb250aW51ZTsKQEAgLTE5MDAsMTAgKzE5MDMsMTMgQEAgc3RhdGljIFNj
cm9sbGFibGVBcmVhKiBlbmNsb3NpbmdTY3JvbGxhYmxlQXJlYShOb2RlKiBub2RlKQogICAgICAg
ICBpZiAoIWxheWVyKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICAgICAgcmV0
dXJuIGxheWVyLT5lbmNsb3NpbmdTY3JvbGxhYmxlTGF5ZXIoSW5jbHVkZVNlbGZPck5vdDo6SW5j
bHVkZVNlbGYsIENyb3NzRnJhbWVCb3VuZGFyaWVzOjpObyk7CisgICAgICAgIGlmIChhdXRvKiBz
Y3JvbGxhYmxlTGF5ZXIgPSBsYXllci0+ZW5jbG9zaW5nU2Nyb2xsYWJsZUxheWVyKEluY2x1ZGVT
ZWxmT3JOb3Q6OkluY2x1ZGVTZWxmLCBDcm9zc0ZyYW1lQm91bmRhcmllczo6Tm8pKSB7CisgICAg
ICAgICAgICBpZiAoIXNjcm9sbGFibGVMYXllci0+aXNSZW5kZXJWaWV3TGF5ZXIoKSkKKyAgICAg
ICAgICAgICAgICByZXR1cm4gc2Nyb2xsYWJsZUxheWVyOworICAgICAgICB9CiAgICAgfQogCi0g
ICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIG1fZnJhbWUudmlldygpOwogfQogCiBib29s
IEV2ZW50SGFuZGxlcjo6bW91c2VNb3ZlZChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2ZW50
KQpAQCAtMTkyMiwxNiArMTkyOCw2IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjptb3VzZU1vdmVkKGNv
bnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZXZlbnQpCiAgICAgaWYgKCFwYWdlKQogICAgICAgICBy
ZXR1cm4gcmVzdWx0OwogCi0gICAgaWYgKGF1dG8gc2Nyb2xsZWRBcmVhID0gZW5jbG9zaW5nU2Ny
b2xsYWJsZUFyZWEoaGl0VGVzdFJlc3VsdC5pbm5lck5vZGUoKSkpIHsKLSAgICAgICAgaWYgKEZy
YW1lVmlldyogZnJhbWVWaWV3ID0gbV9mcmFtZS52aWV3KCkpIHsKLSAgICAgICAgICAgIGlmIChm
cmFtZVZpZXctPmNvbnRhaW5zU2Nyb2xsYWJsZUFyZWEoc2Nyb2xsZWRBcmVhKSkKLSAgICAgICAg
ICAgICAgICBzY3JvbGxlZEFyZWEtPm1vdXNlTW92ZWRJbkNvbnRlbnRBcmVhKCk7Ci0gICAgICAg
IH0KLSAgICB9Ci0KLSAgICBpZiAoRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBtX2ZyYW1lLnZpZXco
KSkKLSAgICAgICAgZnJhbWVWaWV3LT5tb3VzZU1vdmVkSW5Db250ZW50QXJlYSgpOyAgCi0KICAg
ICBoaXRUZXN0UmVzdWx0LnNldFRvTm9uVXNlckFnZW50U2hhZG93QW5jZXN0b3IoKTsKICAgICBw
YWdlLT5jaHJvbWUoKS5tb3VzZURpZE1vdmVPdmVyRWxlbWVudChoaXRUZXN0UmVzdWx0LCBldmVu
dC5tb2RpZmllckZsYWdzKCkpOwogICAgIHJldHVybiByZXN1bHQ7CkBAIC0yMDIzLDcgKzIwMTks
NyBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VNb3ZlRXZlbnQoY29uc3QgUGxhdGZv
cm1Nb3VzZUV2ZW50JiBwbGF0Zm9ybU1vdXNlRQogI2VuZGlmCiAgICAgICAgIGlmIChvbmx5VXBk
YXRlU2Nyb2xsYmFycykgewogICAgICAgICAgICAgaWYgKHNob3VsZFNlbmRNb3VzZUV2ZW50c1Rv
SW5hY3RpdmVXaW5kb3dzKCkpCi0gICAgICAgICAgICAgICAgdXBkYXRlTW91c2VFdmVudFRhcmdl
dE5vZGUobW91c2VFdmVudC50YXJnZXROb2RlKCksIHBsYXRmb3JtTW91c2VFdmVudCwgRmlyZU1v
dXNlT3Zlck91dDo6WWVzKTsKKyAgICAgICAgICAgICAgICB1cGRhdGVNb3VzZUV2ZW50VGFyZ2V0
Tm9kZShldmVudE5hbWVzKCkubW91c2Vtb3ZlRXZlbnQsIG1vdXNlRXZlbnQudGFyZ2V0Tm9kZSgp
LCBwbGF0Zm9ybU1vdXNlRXZlbnQsIEZpcmVNb3VzZU92ZXJPdXQ6Olllcyk7CiAKICAgICAgICAg
ICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CkBAIC0yMDM4LDcgKzIwMzQsNyBAQCBib29sIEV2
ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VNb3ZlRXZlbnQoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50
JiBwbGF0Zm9ybU1vdXNlRQogCiAgICAgaWYgKG5ld1N1YmZyYW1lKSB7CiAgICAgICAgIC8vIFVw
ZGF0ZSBvdmVyL291dCBzdGF0ZSBiZWZvcmUgcGFzc2luZyB0aGUgZXZlbnQgdG8gdGhlIHN1YmZy
YW1lLgotICAgICAgICB1cGRhdGVNb3VzZUV2ZW50VGFyZ2V0Tm9kZShtb3VzZUV2ZW50LnRhcmdl
dE5vZGUoKSwgcGxhdGZvcm1Nb3VzZUV2ZW50LCBGaXJlTW91c2VPdmVyT3V0OjpZZXMpOworICAg
ICAgICB1cGRhdGVNb3VzZUV2ZW50VGFyZ2V0Tm9kZShldmVudE5hbWVzKCkubW91c2Vtb3ZlRXZl
bnQsIG1vdXNlRXZlbnQudGFyZ2V0Tm9kZSgpLCBwbGF0Zm9ybU1vdXNlRXZlbnQsIEZpcmVNb3Vz
ZU92ZXJPdXQ6Olllcyk7CiAgICAgICAgIAogICAgICAgICAvLyBFdmVudCBkaXNwYXRjaCBpbiB1
cGRhdGVNb3VzZUV2ZW50VGFyZ2V0Tm9kZSBtYXkgaGF2ZSBjYXVzZWQgdGhlIHN1YmZyYW1lIG9m
IHRoZSB0YXJnZXQKICAgICAgICAgLy8gbm9kZSB0byBiZSBkZXRhY2hlZCBmcm9tIGl0cyBGcmFt
ZVZpZXcsIGluIHdoaWNoIGNhc2UgdGhlIGV2ZW50IHNob3VsZCBub3QgYmUgcGFzc2VkLgpAQCAt
MjUyNSw3ICsyNTIxLDcgQEAgdm9pZCBFdmVudEhhbmRsZXI6OnBvaW50ZXJDYXB0dXJlRWxlbWVu
dERpZENoYW5nZShFbGVtZW50KiBlbGVtZW50KQogICAgIHNldENhcHR1cmluZ01vdXNlRXZlbnRz
RWxlbWVudChlbGVtZW50KTsKIAogICAgIC8vIE5vdyB0aGF0IHdlIGhhdmUgYSBuZXcgY2FwdHVy
ZSBlbGVtZW50LCB3ZSBuZWVkIHRvIGRpc3BhdGNoIGJvdW5kYXJ5IG1vdXNlIGV2ZW50cy4KLSAg
ICB1cGRhdGVNb3VzZUV2ZW50VGFyZ2V0Tm9kZShlbGVtZW50LCBtX2xhc3RQbGF0Zm9ybU1vdXNl
RXZlbnQsIEZpcmVNb3VzZU92ZXJPdXQ6Olllcyk7CisgICAgdXBkYXRlTW91c2VFdmVudFRhcmdl
dE5vZGUoZXZlbnROYW1lcygpLmdvdHBvaW50ZXJjYXB0dXJlRXZlbnQsIGVsZW1lbnQsIG1fbGFz
dFBsYXRmb3JtTW91c2VFdmVudCwgRmlyZU1vdXNlT3Zlck91dDo6WWVzKTsKIH0KIAogTW91c2VF
dmVudFdpdGhIaXRUZXN0UmVzdWx0cyBFdmVudEhhbmRsZXI6OnByZXBhcmVNb3VzZUV2ZW50KGNv
bnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIG1v
dXNlRXZlbnQpCkBAIC0yNTQ1LDcgKzI1NDEsNyBAQCBzdGF0aWMgYm9vbCBoaWVyYXJjaHlIYXND
YXB0dXJpbmdFdmVudExpc3RlbmVycyhFbGVtZW50KiBlbGVtZW50LCBjb25zdCBBdG9tU3RyaQog
ICAgIHJldHVybiBmYWxzZTsKIH0KIAotdm9pZCBFdmVudEhhbmRsZXI6OnVwZGF0ZU1vdXNlRXZl
bnRUYXJnZXROb2RlKE5vZGUqIHRhcmdldE5vZGUsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYg
cGxhdGZvcm1Nb3VzZUV2ZW50LCBGaXJlTW91c2VPdmVyT3V0IGZpcmVNb3VzZU92ZXJPdXQpCit2
b2lkIEV2ZW50SGFuZGxlcjo6dXBkYXRlTW91c2VFdmVudFRhcmdldE5vZGUoY29uc3QgQXRvbVN0
cmluZyYgZXZlbnRUeXBlLCBOb2RlKiB0YXJnZXROb2RlLCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZl
bnQmIHBsYXRmb3JtTW91c2VFdmVudCwgRmlyZU1vdXNlT3Zlck91dCBmaXJlTW91c2VPdmVyT3V0
KQogewogICAgIFJlZjxGcmFtZT4gcHJvdGVjdGVkRnJhbWUobV9mcmFtZSk7CiAgICAgRWxlbWVu
dCogdGFyZ2V0RWxlbWVudCA9IG51bGxwdHI7CkBAIC0yNTY3LDcgKzI1NjMsNyBAQCB2b2lkIEV2
ZW50SGFuZGxlcjo6dXBkYXRlTW91c2VFdmVudFRhcmdldE5vZGUoTm9kZSogdGFyZ2V0Tm9kZSwg
Y29uc3QgUGxhdGZvcm1NbwogCiAgICAgLy8gRmlyZSBtb3VzZW91dC9tb3VzZW92ZXIgaWYgdGhl
IG1vdXNlIGhhcyBzaGlmdGVkIHRvIGEgZGlmZmVyZW50IG5vZGUuCiAgICAgaWYgKGZpcmVNb3Vz
ZU92ZXJPdXQgPT0gRmlyZU1vdXNlT3Zlck91dDo6WWVzKSB7Ci0gICAgICAgIG5vdGlmeVNjcm9s
bGFibGVBcmVhc09mTW91c2VFbnRlckV4aXQobV9sYXN0RWxlbWVudFVuZGVyTW91c2UuZ2V0KCks
IG1fZWxlbWVudFVuZGVyTW91c2UuZ2V0KCkpOworICAgICAgICBub3RpZnlTY3JvbGxhYmxlQXJl
YXNPZk1vdXNlRXZlbnRzKGV2ZW50VHlwZSwgbV9sYXN0RWxlbWVudFVuZGVyTW91c2UuZ2V0KCks
IG1fZWxlbWVudFVuZGVyTW91c2UuZ2V0KCkpOwogCiAgICAgICAgIGlmIChtX2xhc3RFbGVtZW50
VW5kZXJNb3VzZSAmJiAmbV9sYXN0RWxlbWVudFVuZGVyTW91c2UtPmRvY3VtZW50KCkgIT0gbV9m
cmFtZS5kb2N1bWVudCgpKSB7CiAgICAgICAgICAgICBtX2xhc3RFbGVtZW50VW5kZXJNb3VzZSA9
IG51bGxwdHI7CkBAIC0yNjI0LDcgKzI2MjAsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6dXBkYXRl
TW91c2VFdmVudFRhcmdldE5vZGUoTm9kZSogdGFyZ2V0Tm9kZSwgY29uc3QgUGxhdGZvcm1Nbwog
ICAgIH0KIH0KIAotdm9pZCBFdmVudEhhbmRsZXI6Om5vdGlmeVNjcm9sbGFibGVBcmVhc09mTW91
c2VFbnRlckV4aXQoRWxlbWVudCogbGFzdEVsZW1lbnRVbmRlck1vdXNlLCBFbGVtZW50KiBlbGVt
ZW50VW5kZXJNb3VzZSkKK3ZvaWQgRXZlbnRIYW5kbGVyOjpub3RpZnlTY3JvbGxhYmxlQXJlYXNP
Zk1vdXNlRXZlbnRzKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRWxlbWVudCogbGFzdEVs
ZW1lbnRVbmRlck1vdXNlLCBFbGVtZW50KiBlbGVtZW50VW5kZXJNb3VzZSkKIHsKICAgICBhdXRv
KiBmcmFtZVZpZXcgPSBtX2ZyYW1lLnZpZXcoKTsKICAgICBpZiAoIWZyYW1lVmlldykKQEAgLTI2
MzUsMjQgKzI2MzEsNDEgQEAgdm9pZCBFdmVudEhhbmRsZXI6Om5vdGlmeVNjcm9sbGFibGVBcmVh
c09mTW91c2VFbnRlckV4aXQoRWxlbWVudCogbGFzdEVsZW1lbnRVbmQKIAogICAgIGlmICghIWxh
c3RFbGVtZW50VW5kZXJNb3VzZSAhPSAhIWVsZW1lbnRVbmRlck1vdXNlKSB7CiAgICAgICAgIGlm
IChlbGVtZW50VW5kZXJNb3VzZSkgewotICAgICAgICAgICAgZnJhbWVWaWV3LT5tb3VzZUVudGVy
ZWRDb250ZW50QXJlYSgpOworICAgICAgICAgICAgaWYgKHNjcm9sbGFibGVBcmVhRm9yTm9kZVVu
ZGVyTW91c2UgIT0gZnJhbWVWaWV3KQorICAgICAgICAgICAgICAgIGZyYW1lVmlldy0+bW91c2VF
bnRlcmVkQ29udGVudEFyZWEoKTsKKwogICAgICAgICAgICAgaWYgKHNjcm9sbGFibGVBcmVhRm9y
Tm9kZVVuZGVyTW91c2UpCiAgICAgICAgICAgICAgICAgc2Nyb2xsYWJsZUFyZWFGb3JOb2RlVW5k
ZXJNb3VzZS0+bW91c2VFbnRlcmVkQ29udGVudEFyZWEoKTsKICAgICAgICAgfSBlbHNlIHsKICAg
ICAgICAgICAgIGlmIChzY3JvbGxhYmxlQXJlYUZvckxhc3ROb2RlKQogICAgICAgICAgICAgICAg
IHNjcm9sbGFibGVBcmVhRm9yTGFzdE5vZGUtPm1vdXNlRXhpdGVkQ29udGVudEFyZWEoKTsKLSAg
ICAgICAgICAgIGZyYW1lVmlldy0+bW91c2VFeGl0ZWRDb250ZW50QXJlYSgpOworCisgICAgICAg
ICAgICBpZiAoc2Nyb2xsYWJsZUFyZWFGb3JMYXN0Tm9kZSAhPSBmcmFtZVZpZXcpCisgICAgICAg
ICAgICAgICAgZnJhbWVWaWV3LT5tb3VzZUV4aXRlZENvbnRlbnRBcmVhKCk7CiAgICAgICAgIH0K
ICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICAKLSAgICBpZiAoKCFzY3JvbGxhYmxlQXJlYUZv
ckxhc3ROb2RlICYmICFzY3JvbGxhYmxlQXJlYUZvck5vZGVVbmRlck1vdXNlKSB8fCBzY3JvbGxh
YmxlQXJlYUZvckxhc3ROb2RlID09IHNjcm9sbGFibGVBcmVhRm9yTm9kZVVuZGVyTW91c2UpCisK
KyAgICBpZiAoIXNjcm9sbGFibGVBcmVhRm9yTGFzdE5vZGUgJiYgIXNjcm9sbGFibGVBcmVhRm9y
Tm9kZVVuZGVyTW91c2UpCisgICAgICAgIHJldHVybjsKKworICAgIC8vIEZJWE1FOiBUaGlzIGRv
ZXMgZG9lc24ndCBoYW5kbGUgbmVzdGVkIFNjcm9sbGFibGVBcmVhcyB3ZWxsLiBJdCByZWFsbHkg
bmVlZHMgdG8ga25vdworICAgIC8vIHRoZSBoaWVyYXJjaGljYWwgcmVsYXRpb25zaGlwIGJldHdl
ZW4gc2Nyb2xsYWJsZUFyZWFGb3JMYXN0Tm9kZSBhbmQgc2Nyb2xsYWJsZUFyZWFGb3JOb2RlVW5k
ZXJNb3VzZS4KKyAgICBib29sIG1vdmVkQmV0d2VlblNjcm9sbGFibGVhQXJlYXMgPSBzY3JvbGxh
YmxlQXJlYUZvckxhc3ROb2RlICYmIHNjcm9sbGFibGVBcmVhRm9yTm9kZVVuZGVyTW91c2UgJiYg
KHNjcm9sbGFibGVBcmVhRm9yTGFzdE5vZGUgIT0gc2Nyb2xsYWJsZUFyZWFGb3JOb2RlVW5kZXJN
b3VzZSk7CisgICAgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkubW91c2Vtb3ZlRXZlbnQp
IHsKKyAgICAgICAgZnJhbWVWaWV3LT5tb3VzZU1vdmVkSW5Db250ZW50QXJlYSgpOworCisgICAg
ICAgIGlmICghbW92ZWRCZXR3ZWVuU2Nyb2xsYWJsZWFBcmVhcyAmJiBzY3JvbGxhYmxlQXJlYUZv
ck5vZGVVbmRlck1vdXNlICYmIHNjcm9sbGFibGVBcmVhRm9yTm9kZVVuZGVyTW91c2UgIT0gZnJh
bWVWaWV3KQorICAgICAgICAgICAgc2Nyb2xsYWJsZUFyZWFGb3JOb2RlVW5kZXJNb3VzZS0+bW91
c2VNb3ZlZEluQ29udGVudEFyZWEoKTsKKyAgICB9CisKKyAgICBpZiAoIW1vdmVkQmV0d2VlblNj
cm9sbGFibGVhQXJlYXMpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChzY3JvbGxhYmxlQXJl
YUZvckxhc3ROb2RlKQorICAgIGlmIChzY3JvbGxhYmxlQXJlYUZvckxhc3ROb2RlICYmIHNjcm9s
bGFibGVBcmVhRm9yTGFzdE5vZGUgIT0gZnJhbWVWaWV3KQogICAgICAgICBzY3JvbGxhYmxlQXJl
YUZvckxhc3ROb2RlLT5tb3VzZUV4aXRlZENvbnRlbnRBcmVhKCk7CiAKLSAgICBpZiAoc2Nyb2xs
YWJsZUFyZWFGb3JOb2RlVW5kZXJNb3VzZSkKKyAgICBpZiAoc2Nyb2xsYWJsZUFyZWFGb3JOb2Rl
VW5kZXJNb3VzZSAmJiBzY3JvbGxhYmxlQXJlYUZvck5vZGVVbmRlck1vdXNlICE9IGZyYW1lVmll
dykKICAgICAgICAgc2Nyb2xsYWJsZUFyZWFGb3JOb2RlVW5kZXJNb3VzZS0+bW91c2VFbnRlcmVk
Q29udGVudEFyZWEoKTsKIH0KIApAQCAtMjY3Myw3ICsyNjg2LDcgQEAgYm9vbCBFdmVudEhhbmRs
ZXI6OmRpc3BhdGNoTW91c2VFdmVudChjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIE5vZGUq
IHRhcmdldE4KIHsKICAgICBSZWY8RnJhbWU+IHByb3RlY3RlZEZyYW1lKG1fZnJhbWUpOwogCi0g
ICAgdXBkYXRlTW91c2VFdmVudFRhcmdldE5vZGUodGFyZ2V0Tm9kZSwgcGxhdGZvcm1Nb3VzZUV2
ZW50LCBmaXJlTW91c2VPdmVyT3V0KTsKKyAgICB1cGRhdGVNb3VzZUV2ZW50VGFyZ2V0Tm9kZShl
dmVudFR5cGUsIHRhcmdldE5vZGUsIHBsYXRmb3JtTW91c2VFdmVudCwgZmlyZU1vdXNlT3Zlck91
dCk7CiAKICAgICBpZiAobV9lbGVtZW50VW5kZXJNb3VzZSAmJiAhbV9lbGVtZW50VW5kZXJNb3Vz
ZS0+ZGlzcGF0Y2hNb3VzZUV2ZW50KHBsYXRmb3JtTW91c2VFdmVudCwgZXZlbnRUeXBlLCBjbGlj
a0NvdW50KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmgKaW5kZXggN2I0ZjI3ODk3MzgxYjA1YjEwYzhmZDExMmNjNjYwNDI0N2Y1Yjg4YS4uZWYxZDQ4
ZTRkZWU1ZjQ2Yzg5ODk1Y2ZhYzZjNzFlNjJhMjczYzk2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50
SGFuZGxlci5oCkBAIC00MDQsOSArNDA0LDEwIEBAIHByaXZhdGU6CiAgICAgTm9kZSogbm9kZVVu
ZGVyTW91c2UoKSBjb25zdDsKICAgICAKICAgICBlbnVtIGNsYXNzIEZpcmVNb3VzZU92ZXJPdXQg
eyBObywgWWVzIH07Ci0gICAgdm9pZCB1cGRhdGVNb3VzZUV2ZW50VGFyZ2V0Tm9kZShOb2RlKiwg
Y29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiwgRmlyZU1vdXNlT3Zlck91dCk7CisgICAgdm9pZCB1
cGRhdGVNb3VzZUV2ZW50VGFyZ2V0Tm9kZShjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIE5v
ZGUqLCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmLCBGaXJlTW91c2VPdmVyT3V0KTsKIAotICAg
IHZvaWQgbm90aWZ5U2Nyb2xsYWJsZUFyZWFzT2ZNb3VzZUVudGVyRXhpdChFbGVtZW50KiBsYXN0
RWxlbWVudFVuZGVyTW91c2UsIEVsZW1lbnQqIGVsZW1lbnRVbmRlck1vdXNlKTsKKyAgICBTY3Jv
bGxhYmxlQXJlYSogZW5jbG9zaW5nU2Nyb2xsYWJsZUFyZWEoTm9kZSopOworICAgIHZvaWQgbm90
aWZ5U2Nyb2xsYWJsZUFyZWFzT2ZNb3VzZUV2ZW50cyhjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5
cGUsIEVsZW1lbnQqIGxhc3RFbGVtZW50VW5kZXJNb3VzZSwgRWxlbWVudCogZWxlbWVudFVuZGVy
TW91c2UpOwogCiAgICAgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyBwcmVwYXJlTW91c2VF
dmVudChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9FdmVudEhhbmRsZXJJT1MubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9FdmVudEhhbmRsZXJJT1MubW0KaW5kZXggZTc3MzJj
YTI1NDJhMzc2MWM0NDdiNDVlZWEyOGM5NDg2Y2JhMWU1My4uZTQ4ZWYxMGU4ZWM5MjllNDA5NTNk
YTgyNjM4ZDEyMGY4M2Q1Yjg1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9pb3Mv
RXZlbnRIYW5kbGVySU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0V2ZW50SGFu
ZGxlcklPUy5tbQpAQCAtNTI1LDcgKzUyNSw3IEBAIHN0YXRpYyBib29sIGZyYW1lSGFzUGxhdGZv
cm1XaWRnZXQoY29uc3QgRnJhbWUmIGZyYW1lKQogCiB2b2lkIEV2ZW50SGFuZGxlcjo6ZGlzcGF0
Y2hTeW50aGV0aWNNb3VzZU91dChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIHBsYXRmb3JtTW91
c2VFdmVudCkKIHsKLSAgICB1cGRhdGVNb3VzZUV2ZW50VGFyZ2V0Tm9kZShudWxscHRyLCBwbGF0
Zm9ybU1vdXNlRXZlbnQsIEZpcmVNb3VzZU92ZXJPdXQ6Olllcyk7CisgICAgdXBkYXRlTW91c2VF
dmVudFRhcmdldE5vZGUoZXZlbnROYW1lcygpLm1vdXNlb3V0LCBudWxscHRyLCBwbGF0Zm9ybU1v
dXNlRXZlbnQsIEZpcmVNb3VzZU92ZXJPdXQ6Olllcyk7CiB9CiAKIHZvaWQgRXZlbnRIYW5kbGVy
OjpkaXNwYXRjaFN5bnRoZXRpY01vdXNlTW92ZShjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIHBs
YXRmb3JtTW91c2VFdmVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3Bw
CmluZGV4IGNiOTJkZjMwMWNmOWFjMDg1NjNjYTg3M2I2ZjQwNWJiMzc5MzUwNWQuLjkwZmU0Mzdi
YThiODUwNTMyYjI0YWQ0MDk3YzE1MTc3YzgwYzZhZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmNwcApAQCAtMzYzOSw3ICszNjM5LDcgQEAgU3RyaW5nIFJlbmRlckxh
eWVyOjpkZWJ1Z0Rlc2NyaXB0aW9uKCkgY29uc3QKICAgICBpZiAoaXNDb21wb3NpdGVkKCkpIHsK
ICAgICAgICAgLy8gT2ggZm9yIGJldHRlciBTdHJpbmdCdWlsZGVyL1RleHRTdHJlYW0gaW50ZWdy
YXRpb24uCiAgICAgICAgIFRleHRTdHJlYW0gc3RyZWFtOwotICAgICAgICBzdHJlYW0gPDwgKmJh
Y2tpbmcoKTsKKyAgICAgICAgc3RyZWFtIDw8ICIgIiA8PCAqYmFja2luZygpOwogICAgICAgICBi
dWlsZGVyLmFwcGVuZChzdHJlYW0ucmVsZWFzZSgpKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggYTQyODAzM2U4ZDhlYWQxYmI1OWNkNjg0ZmY2ODUx
NmI4N2I0YWVjYi4uMjAzOTNmYmMzNjdjMjcwZDBiMGIwYjRmM2Y4YzIxNTJiMmIyYWFjZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTQ2Miw2ICs0NjIsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBhcHBseVBvc3RMYXlvdXRTY3JvbGxQb3NpdGlvbklmTmVlZGVkKCk7
CiAKICAgICAvLyBSZXR1cm5zIHRoZSBuZWFyZXN0IGVuY2xvc2luZyBsYXllciB0aGF0IGlzIHNj
cm9sbGFibGUuCisgICAgLy8gRklYTUU6IFRoaXMgY2FuIHJldHVybiB0aGUgUmVuZGVyVmlldydz
IGxheWVyIHdoZW4gY2FsbGVycyBwcm9iYWJseSB3YW50IHRoZSBGcmFtZVZpZXcgYXMgYSBTY3Jv
bGxhYmxlQXJlYS4KICAgICBSZW5kZXJMYXllciogZW5jbG9zaW5nU2Nyb2xsYWJsZUxheWVyKElu
Y2x1ZGVTZWxmT3JOb3QsIENyb3NzRnJhbWVCb3VuZGFyaWVzKSBjb25zdDsKIAogICAgIHZvaWQg
YXZhaWxhYmxlQ29udGVudFNpemVDaGFuZ2VkKEF2YWlsYWJsZVNpemVDaGFuZ2VSZWFzb24pIGZp
bmFsOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IGVmNzZiNTYxZjVmZGY5MDY5NDc4Yzg2YzQ5NjRmNmNlY2UxNWNhZWYuLmY4
Y2U3NmQzMTJhMzc4ZDcwMTZhMTEzNmU2NTc5M2IxNTgzYTcxZTAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
MyBAQAorMjAyMC0wNS0wNyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4K
KworICAgICAgICBPdmVyZmxvdyBzY3JvbGxlcnMgaW4gaWZyYW1lcyBkb24ndCBnZXQgbW91c2VN
b3ZlZEluQ29udGVudEFyZWEoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjExMzQ3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82Mjc4NDU2MD4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgb3JkZXJp
bmcgb2YgY2FsbGJhY2tzIGluIHRoZSBzY3JvbGwtYW5pbWF0b3IgdGVzdHMgY2hhbmdlZCwgYnV0
IGluIHdheXMgdGhhdCBkb24ndCBtYXRlcmlhbGx5CisgICAgICAgIGFmZmVjdCBiZWhhdmlvci4g
VHdvIG5ldyByZWFsIG92ZXJsYXkgc2Nyb2xsYmFyIHRlc3RzLgorCisgICAgICAgICogZmFzdC9z
Y3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZsb3ctaW4taWZyYW1lLW92ZXJsYXktc2Nyb2xs
YmFyLWhvdmVyZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Njcm9sbGlu
Zy9tYWMvc2Nyb2xsYmFycy9vdmVyZmxvdy1pbi1pZnJhbWUtb3ZlcmxheS1zY3JvbGxiYXItaG92
ZXJlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFy
cy9vdmVyZmxvdy1pbi1pZnJhbWUtb3ZlcmxheS1zY3JvbGxiYXItcmV2ZWFsLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZs
b3ctaW4taWZyYW1lLW92ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L3Njcm9sbGluZy9zY3JvbGwtYW5pbWF0b3ItYmFzaWMtZXZlbnRzLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9zY3JvbGwtYW5pbWF0b3Itb3ZlcmxheS1z
Y3JvbGxiYXJzLWNsaWNrZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5n
L3Njcm9sbC1hbmltYXRvci1vdmVybGF5LXNjcm9sbGJhcnMtaG92ZXJlZC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWFuaW1hdG9yLXNlbGVjdC1saXN0LWV2
ZW50cy1leHBlY3RlZC50eHQ6CisKIDIwMjAtMDUtMDcgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBtYXJrIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9icm93c2luZy10aGUtd2ViL2hpc3RvcnktdHJhdmVy
c2FsL3Njcm9sbC1yZXN0b3JhdGlvbi1vcmRlci5odG1sIGFzIGZsYWt5IG9uIGlPUy4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93
LWluLWlmcmFtZS1vdmVybGF5LXNjcm9sbGJhci1ob3ZlcmVkLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93LWluLWlmcmFtZS1v
dmVybGF5LXNjcm9sbGJhci1ob3ZlcmVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45OGE1MTNi
ZDQ3N2I0MjM1MzNjMWMwNjBjMmEyMGM1MTVlMWEyMTcxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZsb3ctaW4taWZyYW1l
LW92ZXJsYXktc2Nyb2xsYmFyLWhvdmVyZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAK
KworVGVzdCBtYXliZWdpbiBhbmQgY2FuY2VsbGVkIG9uIG92ZXJmbG93IGluc2lkZSBhbiBpZnJh
bWUKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0luaXRpYWwgc3RhdGUKK2VuYWJs
ZWQKK0hvdmVyaW5nIHZlcnRpY2FsIHNjcm9sbGJhciBzaG91bGQgc2hvdyBleHBhbmRlZCBzY3Jv
bGxiYXIKK1BBU1MgU2Nyb2xsYmFyIHN0YXRlOiBlbmFibGVkLGV4cGFuZGVkLHZpc2libGVfdHJh
Y2ssdmlzaWJsZV90aHVtYgorVW5ob3ZlcmluZyB2ZXJ0aWNhbCBzY3JvbGxiYXIgc2hvdWxkIGhp
ZGUgaXQKK1BBU1MgVGh1bWIgYW5kIHRyYWNrIGhpZGRlbgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93LWluLWlmcmFtZS1vdmVybGF5LXNj
cm9sbGJhci1ob3ZlcmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Ny
b2xsYmFycy9vdmVyZmxvdy1pbi1pZnJhbWUtb3ZlcmxheS1zY3JvbGxiYXItaG92ZXJlZC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmUzM2U1ZGFiMjEwNzVhMzNjNWFiNDQ3Nzg1OTBkYzJiNTYzMGJjMjcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFy
cy9vdmVyZmxvdy1pbi1pZnJhbWUtb3ZlcmxheS1zY3JvbGxiYXItaG92ZXJlZC5odG1sCkBAIC0w
LDAgKzEsMTAyIEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBp
bnRlcm5hbDp1c2VNb2NrU2Nyb2xsYmFycz1mYWxzZSBpbnRlcm5hbDpBc3luY092ZXJmbG93U2Ny
b2xsaW5nRW5hYmxlZD10cnVlIGludGVybmFsOkFzeW5jRnJhbWVTY3JvbGxpbmdFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICBib2R5IHsKKyAg
ICAgICAgICAgIGhlaWdodDogMTAwMHB4OworICAgICAgICB9CisgICAgICAgIGlmcmFtZSB7Cisg
ICAgICAgICAgICB3aWR0aDogNDAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDI1MHB4OworICAg
ICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgZ3JheTsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+
CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgIAorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAg
aW50ZXJuYWxzLnNldFVzZXNPdmVybGF5U2Nyb2xsYmFycyh0cnVlKTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBkb1Rlc3QoKQorICAgICAgICB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbign
VGVzdCBtYXliZWdpbiBhbmQgY2FuY2VsbGVkIG9uIG92ZXJmbG93IGluc2lkZSBhbiBpZnJhbWUn
KTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgY29uc3QgaWZyYW1lID0gZG9jdW1lbnQuZ2V0
RWxlbWVudHNCeVRhZ05hbWUoJ2lmcmFtZScpWzBdOworICAgICAgICAgICAgY29uc3QgaWZyYW1l
V2luZG93ID0gaWZyYW1lLmNvbnRlbnRXaW5kb3c7CisgICAgICAgICAgICBjb25zdCBpZnJhbWVC
b3VuZHMgPSBpZnJhbWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisKKyAgICAgICAgICAgIGNv
bnN0IHNjcm9sbGVyID0gaWZyYW1lLmNvbnRlbnREb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuc2Ny
b2xsZXInKTsKKyAgICAgICAgICAgIGNvbnN0IHNjcm9sbGVyQm91bmRzID0gc2Nyb2xsZXIuZ2V0
Qm91bmRpbmdDbGllbnRSZWN0KCk7CisKKyAgICAgICAgICAgIGNvbnN0IHggPSBpZnJhbWVCb3Vu
ZHMubGVmdCArIHNjcm9sbGVyQm91bmRzLnJpZ2h0IC0gODsKKyAgICAgICAgICAgIGNvbnN0IHkg
PSBpZnJhbWVCb3VuZHMudG9wICsgc2Nyb2xsZXJCb3VuZHMudG9wICsgMTA7CisKKyAgICAgICAg
ICAgIGlmICghd2luZG93LmludGVybmFscykgeworICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgaWZyYW1lV2luZG93LmludGVybmFscy5zZXRVc2VzT3ZlcmxheVNjcm9sbGJhcnModHJ1ZSk7
CisKKyAgICAgICAgICAgIGRlYnVnKCdJbml0aWFsIHN0YXRlJyk7CisgICAgICAgICAgICBkZWJ1
ZyhpZnJhbWVXaW5kb3cuaW50ZXJuYWxzLnZlcnRpY2FsU2Nyb2xsYmFyU3RhdGUoc2Nyb2xsZXIp
KTsKKworICAgICAgICAgICAgZGVidWcoJ0hvdmVyaW5nIHZlcnRpY2FsIHNjcm9sbGJhciBzaG91
bGQgc2hvdyBleHBhbmRlZCBzY3JvbGxiYXInKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
Lm1vdXNlV2hlZWxTY3JvbGxBdCh4LCB5KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLndh
aXRGb3JDb25kaXRpb24oKCkgPT4geworICAgICAgICAgICAgICAgIGxldCBzdGF0ZSA9IGlmcmFt
ZVdpbmRvdy5pbnRlcm5hbHMudmVydGljYWxTY3JvbGxiYXJTdGF0ZShzY3JvbGxlcik7CisgICAg
ICAgICAgICAgICAgbGV0IGV4cGFuZGVkID0gc3RhdGUuaW5kZXhPZignZXhwYW5kZWQnKSAhPSAt
MTsKKyAgICAgICAgICAgICAgICBpZiAoZXhwYW5kZWQpCisgICAgICAgICAgICAgICAgICAgIHRl
c3RQYXNzZWQoJ1Njcm9sbGJhciBzdGF0ZTogJyArIHN0YXRlKTsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gZXhwYW5kZWQ7CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgZGVidWcoJ1Vu
aG92ZXJpbmcgdmVydGljYWwgc2Nyb2xsYmFyIHNob3VsZCBoaWRlIGl0Jyk7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5tb3ZlTW91c2VBbmRXYWl0Rm9yRnJhbWUoeCAtIDEwLCB5KTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLm1vdmVNb3VzZUFuZFdhaXRGb3JGcmFtZSh4IC0gMjAs
IHkpOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIud2FpdEZvckNvbmRpdGlvbigoKSA9PiB7
CisgICAgICAgICAgICAgICAgbGV0IHN0YXRlID0gaWZyYW1lV2luZG93LmludGVybmFscy52ZXJ0
aWNhbFNjcm9sbGJhclN0YXRlKHNjcm9sbGVyKTsKKyAgICAgICAgICAgICAgICBsZXQgdGh1bWJI
aWRkZW4gPSBzdGF0ZS5pbmRleE9mKCd2aXNpYmxlX3RodW1iJykgPT0gLTE7CisgICAgICAgICAg
ICAgICAgbGV0IHRyYWNrSGlkZGVuID0gc3RhdGUuaW5kZXhPZigndmlzaWJsZV90cmFjaycpID09
IC0xOworICAgICAgICAgICAgICAgIGlmICh0aHVtYkhpZGRlbiAmJiB0cmFja0hpZGRlbikKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnVGh1bWIgYW5kIHRyYWNrIGhpZGRlbicpOwor
ICAgICAgICAgICAgICAgIHJldHVybiB0aHVtYkhpZGRlbiAmJiB0cmFja0hpZGRlbjsKKyAgICAg
ICAgICAgIH0pOworCisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfQorCisg
ICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4geworICAgICAgICAg
ICAgZG9UZXN0KCk7CisgICAgICAgIH0sIGZhbHNlKTsKKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorICAgIDxpZnJhbWUgc3JjZG9jPSIKKyAgICAgICAgPHN0eWxlPgorICAgICAgICBi
b2R5IHsKKyAgICAgICAgICAgIGhlaWdodDogMTAwMHB4OworICAgICAgICB9CisgICAgICAgIC5z
Y3JvbGxlciB7CisgICAgICAgICAgICBtYXJnaW46IDEwcHg7CisgICAgICAgICAgICB3aWR0aDog
MjAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDIwMHB4OworICAgICAgICAgICAgYm9yZGVyOiAx
cHggc29saWQgYmxhY2s7CisgICAgICAgICAgICBvdmVyZmxvdzogYXV0bzsKKyAgICAgICAgfQor
ICAgICAgICAuY29udGVudHMgeworICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICBoZWlnaHQ6IDIwMCU7CisgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICAgICAgPGRp
diBjbGFzcz0nc2Nyb2xsZXInPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0nY29udGVudHMnPjwv
ZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAiPjwvaWZyYW1lPgorICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93LWluLWlmcmFtZS1v
dmVybGF5LXNjcm9sbGJhci1yZXZlYWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZsb3ctaW4taWZyYW1lLW92ZXJsYXktc2Nyb2xs
YmFyLXJldmVhbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjJiNjg4NWRlNDE4MTcwM2RhOGQy
Yzc2Y2U3MzIxMzFmMzQwNmMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93LWluLWlmcmFtZS1vdmVybGF5LXNjcm9s
bGJhci1yZXZlYWwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKKworVGVzdCBtYXliZWdp
biBhbmQgY2FuY2VsbGVkIG9uIG92ZXJmbG93IGluc2lkZSBhbiBpZnJhbWUKKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK0luaXRpYWwgc3RhdGUKK2VuYWJsZWQKK01heUJlZ2luIHNo
b3VsZCBzaG93IHRoZSBzY3JvbGxiYXIKK1BBU1MgU2Nyb2xsYmFyIHN0YXRlOiBlbmFibGVkLHZp
c2libGVfdGh1bWIKK0NhbmNlbGxlZCBzaG91bGQgaGlkZSB0aGUgc2Nyb2xsYmFyCitQQVNTIFNj
cm9sbGJhciBzdGF0ZTogZW5hYmxlZAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L21hYy9zY3JvbGxiYXJzL292ZXJmbG93LWluLWlmcmFtZS1vdmVybGF5LXNjcm9sbGJhci1yZXZl
YWwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJm
bG93LWluLWlmcmFtZS1vdmVybGF5LXNjcm9sbGJhci1yZXZlYWwuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
ZWU2YzA5NzkxY2MwYzJlOTY2MDFlODA0MDRkOTIyMTFkMjMzNTUxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZsb3ctaW4t
aWZyYW1lLW92ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC5odG1sCkBAIC0wLDAgKzEsMTAxIEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBpbnRlcm5hbDp1c2VNb2Nr
U2Nyb2xsYmFycz1mYWxzZSBpbnRlcm5hbDpBc3luY092ZXJmbG93U2Nyb2xsaW5nRW5hYmxlZD10
cnVlIGludGVybmFsOkFzeW5jRnJhbWVTY3JvbGxpbmdFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICBib2R5IHsKKyAgICAgICAgICAgIGhlaWdo
dDogMTAwMHB4OworICAgICAgICB9CisgICAgICAgIGlmcmFtZSB7CisgICAgICAgICAgICB3aWR0
aDogNDAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDI1MHB4OworICAgICAgICAgICAgYm9yZGVy
OiAxcHggc29saWQgZ3JheTsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgIAorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgaW50ZXJuYWxzLnNldFVz
ZXNPdmVybGF5U2Nyb2xsYmFycyh0cnVlKTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBkb1Rl
c3QoKQorICAgICAgICB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbignVGVzdCBtYXliZWdpbiBh
bmQgY2FuY2VsbGVkIG9uIG92ZXJmbG93IGluc2lkZSBhbiBpZnJhbWUnKTsKKyAgICAgICAgICAg
IAorICAgICAgICAgICAgY29uc3QgaWZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05h
bWUoJ2lmcmFtZScpWzBdOworICAgICAgICAgICAgY29uc3QgaWZyYW1lV2luZG93ID0gaWZyYW1l
LmNvbnRlbnRXaW5kb3c7CisgICAgICAgICAgICBjb25zdCBpZnJhbWVCb3VuZHMgPSBpZnJhbWUu
Z2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisKKyAgICAgICAgICAgIGNvbnN0IHNjcm9sbGVyID0g
aWZyYW1lLmNvbnRlbnREb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuc2Nyb2xsZXInKTsKKyAgICAg
ICAgICAgIGNvbnN0IHNjcm9sbGVyQm91bmRzID0gc2Nyb2xsZXIuZ2V0Qm91bmRpbmdDbGllbnRS
ZWN0KCk7CisKKyAgICAgICAgICAgIGNvbnN0IHggPSBpZnJhbWVCb3VuZHMubGVmdCArIHNjcm9s
bGVyQm91bmRzLmxlZnQgKyAxMDsKKyAgICAgICAgICAgIGNvbnN0IHkgPSBpZnJhbWVCb3VuZHMu
dG9wICsgc2Nyb2xsZXJCb3VuZHMudG9wICsgMTA7CisKKyAgICAgICAgICAgIGlmICghd2luZG93
LmludGVybmFscykgeworICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWZyYW1lV2luZG93
LmludGVybmFscy5zZXRVc2VzT3ZlcmxheVNjcm9sbGJhcnModHJ1ZSk7CisKKyAgICAgICAgICAg
IGRlYnVnKCdJbml0aWFsIHN0YXRlJyk7CisgICAgICAgICAgICBkZWJ1ZyhpZnJhbWVXaW5kb3cu
aW50ZXJuYWxzLnZlcnRpY2FsU2Nyb2xsYmFyU3RhdGUoc2Nyb2xsZXIpKTsKKworICAgICAgICAg
ICAgZGVidWcoJ01heUJlZ2luIHNob3VsZCBzaG93IHRoZSBzY3JvbGxiYXInKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLm1vdXNlV2hlZWxNYXlCZWdpbkF0KHgsIHkpOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIud2FpdEZvckNvbmRpdGlvbigoKSA9PiB7CisgICAgICAgICAgICAg
ICAgbGV0IHN0YXRlID0gaWZyYW1lV2luZG93LmludGVybmFscy52ZXJ0aWNhbFNjcm9sbGJhclN0
YXRlKHNjcm9sbGVyKTsKKyAgICAgICAgICAgICAgICBsZXQgdmlzaWJsZSA9IHN0YXRlLmluZGV4
T2YoJ3Zpc2libGVfdGh1bWInKSAhPSAtMTsKKyAgICAgICAgICAgICAgICBpZiAodmlzaWJsZSkK
KyAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnU2Nyb2xsYmFyIHN0YXRlOiAnICsgc3Rh
dGUpOworICAgICAgICAgICAgICAgIHJldHVybiB2aXNpYmxlOworICAgICAgICAgICAgfSk7CisK
KyAgICAgICAgICAgIGRlYnVnKCdDYW5jZWxsZWQgc2hvdWxkIGhpZGUgdGhlIHNjcm9sbGJhcicp
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIubW91c2VXaGVlbENhbmNlbEF0KHgsIHkpOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci53YWl0Rm9yQ29uZGl0aW9uKCgpID0+IHsKKyAg
ICAgICAgICAgICAgICBsZXQgc3RhdGUgPSBpZnJhbWVXaW5kb3cuaW50ZXJuYWxzLnZlcnRpY2Fs
U2Nyb2xsYmFyU3RhdGUoc2Nyb2xsZXIpOworICAgICAgICAgICAgICAgIGxldCBoaWRkZW4gPSBz
dGF0ZS5pbmRleE9mKCd2aXNpYmxlX3RodW1iJykgPT0gLTE7CisgICAgICAgICAgICAgICAgaWYg
KGhpZGRlbikKKyAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnU2Nyb2xsYmFyIHN0YXRl
OiAnICsgc3RhdGUpOworICAgICAgICAgICAgICAgIHJldHVybiBoaWRkZW47CisgICAgICAgICAg
ICB9KTsKKworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0KKworICAgICAg
ICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsICgpID0+IHsKKyAgICAgICAgICAgIGRv
VGVzdCgpOworICAgICAgICB9LCBmYWxzZSk7CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKyAgICA8aWZyYW1lIHNyY2RvYz0iCisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgYm9keSB7
CisgICAgICAgICAgICBoZWlnaHQ6IDEwMDBweDsKKyAgICAgICAgfQorICAgICAgICAuc2Nyb2xs
ZXIgeworICAgICAgICAgICAgbWFyZ2luOiAxMHB4OworICAgICAgICAgICAgd2lkdGg6IDIwMHB4
OworICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICAgICAgICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsYWNrOworICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87CisgICAgICAgIH0KKyAgICAg
ICAgLmNvbnRlbnRzIHsKKyAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgaGVp
Z2h0OiAyMDAlOworICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgICAgIDxkaXYgY2xh
c3M9J3Njcm9sbGVyJz4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9J2NvbnRlbnRzJz48L2Rpdj4K
KyAgICAgICAgPC9kaXY+CisgICAgIj48L2lmcmFtZT4KKyAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9zY3JvbGwtYW5pbWF0b3ItYmFzaWMtZXZlbnRzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1hbmltYXRvci1iYXNpYy1ldmVu
dHMtZXhwZWN0ZWQudHh0CmluZGV4IGY4OWE2OTc3MzFmZGViZWMyZTY4NzFhNTAwZTk0ZTdkMTk2
ZDQ0Y2YuLjkzNmJlZDI1YzI3MTdmNTIxZGM1NmQ1MzI2MzA5ZGI4Njk0YTI2MTUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1hbmltYXRvci1iYXNpYy1ldmVu
dHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1h
bmltYXRvci1iYXNpYy1ldmVudHMtZXhwZWN0ZWQudHh0CkBAIC0xLDE2ICsxLDE0IEBACiBDT05T
T0xFIE1FU1NBR0U6IE1haW5GcmFtZVZpZXc6IG1vdXNlRW50ZXJlZENvbnRlbnRBcmVhCiBDT05T
T0xFIE1FU1NBR0U6IE1haW5GcmFtZVZpZXc6IG1vdXNlTW92ZWRJbkNvbnRlbnRBcmVhCiBDT05T
T0xFIE1FU1NBR0U6IFJlbmRlckxheWVyOiBtb3VzZUVudGVyZWRDb250ZW50QXJlYQotQ09OU09M
RSBNRVNTQUdFOiBSZW5kZXJMYXllcjogbW91c2VNb3ZlZEluQ29udGVudEFyZWEKLUNPTlNPTEUg
TUVTU0FHRTogTWFpbkZyYW1lVmlldzogbW91c2VNb3ZlZEluQ29udGVudEFyZWEKIENPTlNPTEUg
TUVTU0FHRTogUmVuZGVyTGF5ZXI6IG1vdXNlRW50ZXJlZFZlcnRpY2FsU2Nyb2xsYmFyCi1DT05T
T0xFIE1FU1NBR0U6IFJlbmRlckxheWVyOiBtb3VzZU1vdmVkSW5Db250ZW50QXJlYQogQ09OU09M
RSBNRVNTQUdFOiBNYWluRnJhbWVWaWV3OiBtb3VzZU1vdmVkSW5Db250ZW50QXJlYQorQ09OU09M
RSBNRVNTQUdFOiBSZW5kZXJMYXllcjogbW91c2VNb3ZlZEluQ29udGVudEFyZWEKIENPTlNPTEUg
TUVTU0FHRTogUmVuZGVyTGF5ZXI6IG1vdXNlSXNEb3duSW5WZXJ0aWNhbFNjcm9sbGJhcgogQ09O
U09MRSBNRVNTQUdFOiBSZW5kZXJMYXllcjogbW91c2VJc1VwSW5WZXJ0aWNhbFNjcm9sbGJhcgog
Q09OU09MRSBNRVNTQUdFOiBSZW5kZXJMYXllcjogbW91c2VFeGl0ZWRWZXJ0aWNhbFNjcm9sbGJh
cgotQ09OU09MRSBNRVNTQUdFOiBSZW5kZXJMYXllcjogbW91c2VFeGl0ZWRDb250ZW50QXJlYQog
Q09OU09MRSBNRVNTQUdFOiBNYWluRnJhbWVWaWV3OiBtb3VzZU1vdmVkSW5Db250ZW50QXJlYQor
Q09OU09MRSBNRVNTQUdFOiBSZW5kZXJMYXllcjogbW91c2VFeGl0ZWRDb250ZW50QXJlYQogVGhp
cyBpcyBhIHNjcm9sbGFibGUgZGl2LgogCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9zY3JvbGwtYW5pbWF0b3It
b3ZlcmxheS1zY3JvbGxiYXJzLWNsaWNrZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvc2Nyb2xsLWFuaW1hdG9yLW92ZXJsYXktc2Nyb2xsYmFycy1jbGlja2VkLWV4
cGVjdGVkLnR4dAppbmRleCA5YzM2OWVhMzVkNGQ2ZmE1ZjYzNjZkNmNkMmE1N2M2ODM0MTE3ZDQ2
Li41ZGExNmFjOWI5YmQxOWI4MTNjYTlkYTFjODVkZWJhODY3OWMzNTdiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9zY3JvbGwtYW5pbWF0b3Itb3ZlcmxheS1zY3JvbGxi
YXJzLWNsaWNrZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3Njcm9sbC1hbmltYXRvci1vdmVybGF5LXNjcm9sbGJhcnMtY2xpY2tlZC1leHBlY3RlZC50eHQK
QEAgLTEsOCArMSw3IEBACiBDT05TT0xFIE1FU1NBR0U6IE1haW5GcmFtZVZpZXc6IG1vdXNlRW50
ZXJlZENvbnRlbnRBcmVhCi1DT05TT0xFIE1FU1NBR0U6IE1haW5GcmFtZVZpZXc6IG1vdXNlTW92
ZWRJbkNvbnRlbnRBcmVhCiBDT05TT0xFIE1FU1NBR0U6IE1haW5GcmFtZVZpZXc6IG1vdXNlRW50
ZXJlZFZlcnRpY2FsU2Nyb2xsYmFyCi1DT05TT0xFIE1FU1NBR0U6IEZyYW1lVmlldzogbW91c2VF
bnRlcmVkQ29udGVudEFyZWEKIENPTlNPTEUgTUVTU0FHRTogTWFpbkZyYW1lVmlldzogbW91c2VN
b3ZlZEluQ29udGVudEFyZWEKK0NPTlNPTEUgTUVTU0FHRTogRnJhbWVWaWV3OiBtb3VzZUVudGVy
ZWRDb250ZW50QXJlYQogQ09OU09MRSBNRVNTQUdFOiBNYWluRnJhbWVWaWV3OiBtb3VzZUlzRG93
bkluVmVydGljYWxTY3JvbGxiYXIKIENPTlNPTEUgTUVTU0FHRTogTWFpbkZyYW1lVmlldzogbW91
c2VJc1VwSW5WZXJ0aWNhbFNjcm9sbGJhcgogQ09OU09MRSBNRVNTQUdFOiBNYWluRnJhbWVWaWV3
OiBtb3VzZUV4aXRlZFZlcnRpY2FsU2Nyb2xsYmFyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9zY3JvbGwtYW5pbWF0b3Itb3ZlcmxheS1zY3JvbGxiYXJzLWhvdmVyZWQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWFuaW1hdG9y
LW92ZXJsYXktc2Nyb2xsYmFycy1ob3ZlcmVkLWV4cGVjdGVkLnR4dAppbmRleCAzOTc2Y2MxMjk3
YzE1NDMwNjAyODQyMmU1ZGVkNzcxZGRkNDY0ZDQ4Li5iMzI5ZDM2ZDAxODQ1YzJiODU1NTJmNDkw
MjY3ZTRmYTU5NDU2NzA3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9z
Y3JvbGwtYW5pbWF0b3Itb3ZlcmxheS1zY3JvbGxiYXJzLWhvdmVyZWQtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1hbmltYXRvci1vdmVybGF5LXNj
cm9sbGJhcnMtaG92ZXJlZC1leHBlY3RlZC50eHQKQEAgLTIsNyArMiw2IEBAIENPTlNPTEUgTUVT
U0FHRTogTWFpbkZyYW1lVmlldzogbW91c2VFbnRlcmVkQ29udGVudEFyZWEKIENPTlNPTEUgTUVT
U0FHRTogTWFpbkZyYW1lVmlldzogbW91c2VNb3ZlZEluQ29udGVudEFyZWEKIENPTlNPTEUgTUVT
U0FHRTogRnJhbWVWaWV3OiBtb3VzZUVudGVyZWRIb3Jpem9udGFsU2Nyb2xsYmFyCiBDT05TT0xF
IE1FU1NBR0U6IEZyYW1lVmlldzogbW91c2VFbnRlcmVkQ29udGVudEFyZWEKLUNPTlNPTEUgTUVT
U0FHRTogTWFpbkZyYW1lVmlldzogbW91c2VNb3ZlZEluQ29udGVudEFyZWEKIENPTlNPTEUgTUVT
U0FHRTogRnJhbWVWaWV3OiBtb3VzZUV4aXRlZEhvcml6b250YWxTY3JvbGxiYXIKIENPTlNPTEUg
TUVTU0FHRTogRnJhbWVWaWV3OiBtb3VzZUV4aXRlZENvbnRlbnRBcmVhCiBDT05TT0xFIE1FU1NB
R0U6IE1haW5GcmFtZVZpZXc6IG1vdXNlTW92ZWRJbkNvbnRlbnRBcmVhCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9zY3JvbGwtYW5pbWF0b3Itc2VsZWN0LWxpc3QtZXZl
bnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1hbmlt
YXRvci1zZWxlY3QtbGlzdC1ldmVudHMtZXhwZWN0ZWQudHh0CmluZGV4IGJjMzc2Y2Q3NTZjMzAx
YmU0MTdjZDc2NzhjZGYyY2M2MmM1Y2Q2YWUuLjUwZDc0N2IxZWEzODU2OGE4N2U1Mzc2NmNiMjY1
NWY5NmZlZDU2MmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9s
bC1hbmltYXRvci1zZWxlY3QtbGlzdC1ldmVudHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1hbmltYXRvci1zZWxlY3QtbGlzdC1ldmVudHMtZXhw
ZWN0ZWQudHh0CkBAIC0xLDE2ICsxLDE0IEBACiBDT05TT0xFIE1FU1NBR0U6IE1haW5GcmFtZVZp
ZXc6IG1vdXNlRW50ZXJlZENvbnRlbnRBcmVhCiBDT05TT0xFIE1FU1NBR0U6IE1haW5GcmFtZVZp
ZXc6IG1vdXNlTW92ZWRJbkNvbnRlbnRBcmVhCiBDT05TT0xFIE1FU1NBR0U6IFJlbmRlckxpc3RC
b3g6IG1vdXNlRW50ZXJlZENvbnRlbnRBcmVhCi1DT05TT0xFIE1FU1NBR0U6IFJlbmRlckxpc3RC
b3g6IG1vdXNlTW92ZWRJbkNvbnRlbnRBcmVhCi1DT05TT0xFIE1FU1NBR0U6IE1haW5GcmFtZVZp
ZXc6IG1vdXNlTW92ZWRJbkNvbnRlbnRBcmVhCiBDT05TT0xFIE1FU1NBR0U6IFJlbmRlckxpc3RC
b3g6IG1vdXNlRW50ZXJlZFZlcnRpY2FsU2Nyb2xsYmFyCi1DT05TT0xFIE1FU1NBR0U6IFJlbmRl
ckxpc3RCb3g6IG1vdXNlTW92ZWRJbkNvbnRlbnRBcmVhCiBDT05TT0xFIE1FU1NBR0U6IE1haW5G
cmFtZVZpZXc6IG1vdXNlTW92ZWRJbkNvbnRlbnRBcmVhCitDT05TT0xFIE1FU1NBR0U6IFJlbmRl
ckxpc3RCb3g6IG1vdXNlTW92ZWRJbkNvbnRlbnRBcmVhCiBDT05TT0xFIE1FU1NBR0U6IFJlbmRl
ckxpc3RCb3g6IG1vdXNlSXNEb3duSW5WZXJ0aWNhbFNjcm9sbGJhcgogQ09OU09MRSBNRVNTQUdF
OiBSZW5kZXJMaXN0Qm94OiBtb3VzZUlzVXBJblZlcnRpY2FsU2Nyb2xsYmFyCiBDT05TT0xFIE1F
U1NBR0U6IFJlbmRlckxpc3RCb3g6IG1vdXNlRXhpdGVkVmVydGljYWxTY3JvbGxiYXIKLUNPTlNP
TEUgTUVTU0FHRTogUmVuZGVyTGlzdEJveDogbW91c2VFeGl0ZWRDb250ZW50QXJlYQogQ09OU09M
RSBNRVNTQUdFOiBNYWluRnJhbWVWaWV3OiBtb3VzZU1vdmVkSW5Db250ZW50QXJlYQorQ09OU09M
RSBNRVNTQUdFOiBSZW5kZXJMaXN0Qm94OiBtb3VzZUV4aXRlZENvbnRlbnRBcmVhCiBUZXN0IGZv
ciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUzMzk4LgogCiAK
</data>
<flag name="review"
          id="414221"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398832</attachid>
            <date>2020-05-07 21:19:26 -0700</date>
            <delta_ts>2020-05-07 22:48:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211347-20200507211925.patch</filename>
            <type>text/plain</type>
            <size>21822</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxMzA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDdjYmQyMzVhZWYxOTI1
MDViNDUwMmRiYTE1Y2RlNTVhZWI4YjgwNS4uZjVkZmMxNTk5NTY1YmE2OTM4Y2QzNTBjYjJkODg3
ZjRkOTBkNTcyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIwLTA1LTA3ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE92ZXJmbG93IHNj
cm9sbGVycyBpbiBpZnJhbWVzIGRvbid0IGdldCBtb3VzZU1vdmVkSW5Db250ZW50QXJlYSgpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTEzNDcKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYyNzg0NTYwPgorCisgICAgICAgIFJldmlld2VkIGJ5IFRp
bSBIb3J0b24uCisKKyAgICAgICAgV2UgbmV2ZXIgZGlzcGF0Y2hlZCBtb3VzZU1vdmVkSW5Db250
ZW50QXJlYSgpIG9uIFNjcm9sbGFibGVBcmVhcyBpbiBzdWJmcmFtZXMsIHNvIG92ZXJsYXkgc2Ny
b2xsYmFyCisgICAgICAgIGludGVyYWN0aW9ucyB0aGVyZSB3ZXJlIGJyb2tlbi4gVGhpcyBpcyBi
ZWNhdXNlIHRoZSBjb2RlIHJhbiBmcm9tIEV2ZW50SGFuZGxlcjo6bW91c2VNb3ZlZCgpLCB3aGlj
aAorICAgICAgICBvbmx5IHJ1bnMgZm9yIHRoZSBtYWluIGZyYW1lLgorCisgICAgICAgIEluc3Rl
YWQsIG1vdmUgdGhlIG1vdXNlTW92ZWRJbkNvbnRlbnRBcmVhKCkgZGlzcGF0Y2ggZG93biBpbnRv
IHVwZGF0ZU1vdXNlRXZlbnRUYXJnZXROb2RlKCkgd2hpY2gKKyAgICAgICAgaXMgcnVuIGZvciBl
YWNoIHN1YmZyYW1lLiBub3RpZnlTY3JvbGxhYmxlQXJlYXNPZk1vdXNlRXZlbnRzKCkgdGFrZXMg
YW4gZXZlbnQgbmFtZSBzbyB3ZSBvbmx5IGRpc3BhdGNoCisgICAgICAgIGZvciBtb3VzZU1vdmUg
ZXZlbnRzLiBUaGVyZSdzIHNvbWUgY29tcGxleGl0eSBoZXJlIHJlbGF0ZWQgdG8gd2hldGhlciB0
aGUgb2xkIGFuZCBuZXcgU2Nyb2xsYWJsZUFyZWEKKyAgICAgICAgdGFyZ2V0cyBhcmUgbmVzdGVk
OyB0aGlzIGNvZGUgZG9lc24ndCB0cnkgdG8gZG8gdGhlIHJpZ2h0IHRoaW5nIHdpdGggbmVzdGlu
ZywgYnV0IGRvZXMgaGFuZGxlIHRoZSBtb3VzZQorICAgICAgICBtb3ZpbmcgYmV0d2VlbiB0aGUg
c2Nyb2xsYWJsZSBtYWluIGZyYW1lIGFuZCBhbiBvdmVyZmxvdyByZWdpb24uCisgICAgICAgIAor
ICAgICAgICBlbmNsb3NpbmdTY3JvbGxhYmxlQXJlYSgpIGlzIGZpeGVkIHRvIHJldHVybiB0aGUg
RnJhbWVWaWV3LiBlbmNsb3NpbmdTY3JvbGxhYmxlTGF5ZXIoKSBpcyBmbGF3ZWQsIGFzIG5vdGVk
CisgICAgICAgIGluIHRoZSBSZW5kZXJMYXllci5oIGNvbW1lbnQuCisKKyAgICAgICAgVGVzdHM6
IGZhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93LWluLWlmcmFtZS1vdmVybGF5
LXNjcm9sbGJhci1ob3ZlcmVkLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3Qvc2Nyb2xsaW5nL21h
Yy9zY3JvbGxiYXJzL292ZXJmbG93LWluLWlmcmFtZS1vdmVybGF5LXNjcm9sbGJhci1yZXZlYWwu
aHRtbAorCisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RXZlbnRIYW5kbGVyOjplbmNsb3NpbmdTY3JvbGxhYmxlQXJlYSk6CisgICAgICAgIChXZWJD
b3JlOjpFdmVudEhhbmRsZXI6Om1vdXNlTW92ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRI
YW5kbGVyOjpoYW5kbGVNb3VzZU1vdmVFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhh
bmRsZXI6OnBvaW50ZXJDYXB0dXJlRWxlbWVudERpZENoYW5nZSk6CisgICAgICAgIChXZWJDb3Jl
OjpFdmVudEhhbmRsZXI6OnVwZGF0ZU1vdXNlRXZlbnRUYXJnZXROb2RlKToKKyAgICAgICAgKFdl
YkNvcmU6OkV2ZW50SGFuZGxlcjo6bm90aWZ5U2Nyb2xsYWJsZUFyZWFzT2ZNb3VzZUV2ZW50cyk6
CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmRpc3BhdGNoTW91c2VFdmVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjplbmNsb3NpbmdTY3JvbGxhYmxlQXJlYSk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6Om5vdGlmeVNjcm9sbGFibGVBcmVhc09mTW91c2VF
bnRlckV4aXQpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6CisgICAg
ICAgICogcGFnZS9pb3MvRXZlbnRIYW5kbGVySU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6RXZl
bnRIYW5kbGVyOjpkaXNwYXRjaFN5bnRoZXRpY01vdXNlT3V0KToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmRlYnVn
RGVzY3JpcHRpb24gY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOgor
CiAyMDIwLTA1LTA3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAg
ICAgICAgIFJFR1JFU1NJT04gKHIyNjEwNTYpOiBbIE1hYyBXSzEgXSBpbnNwZWN0b3IvY29uc29s
ZS9jb25zb2xlLWFwaS5odG1sIGlzIGZsYWt5IGNyYXNoaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50
SGFuZGxlci5jcHAKaW5kZXggYTU0OGYzYzc2ZWQ3MDg0OTQzZWJhMzRmZWM2MzJmYzZlODMxZmMx
Yi4uZmQ0NzE2YmFjOGI0ODJmNTJjNWViNTFiNDczZjM1YWUzZjhkNGFhYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtMTg4MCwxMiArMTg4MCwxNSBAQCBib29sIEV2ZW50
SGFuZGxlcjo6aGFuZGxlTW91c2VEb3VibGVDbGlja0V2ZW50KGNvbnN0IFBsYXRmb3JtTW91c2VF
dmVudCYgcGxhdGZvcgogICAgIHJldHVybiBzd2FsbG93TW91c2VVcEV2ZW50IHx8IHN3YWxsb3dD
bGlja0V2ZW50IHx8IHN3YWxsb3dNb3VzZVJlbGVhc2VFdmVudDsKIH0KIAotc3RhdGljIFNjcm9s
bGFibGVBcmVhKiBlbmNsb3NpbmdTY3JvbGxhYmxlQXJlYShOb2RlKiBub2RlKQorU2Nyb2xsYWJs
ZUFyZWEqIEV2ZW50SGFuZGxlcjo6ZW5jbG9zaW5nU2Nyb2xsYWJsZUFyZWEoTm9kZSogbm9kZSkK
IHsKICAgICBmb3IgKGF1dG8gYW5jZXN0b3IgPSBub2RlOyBhbmNlc3RvcjsgYW5jZXN0b3IgPSBh
bmNlc3Rvci0+cGFyZW50T3JTaGFkb3dIb3N0Tm9kZSgpKSB7Ci0gICAgICAgIGlmIChpczxIVE1M
SUZyYW1lRWxlbWVudD4oKmFuY2VzdG9yKSB8fCBpczxIVE1MSHRtbEVsZW1lbnQ+KCphbmNlc3Rv
cikgfHwgaXM8SFRNTERvY3VtZW50PigqYW5jZXN0b3IpKQorICAgICAgICBpZiAoaXM8SFRNTElG
cmFtZUVsZW1lbnQ+KCphbmNlc3RvcikpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAor
ICAgICAgICBpZiAoaXM8SFRNTEh0bWxFbGVtZW50PigqYW5jZXN0b3IpIHx8IGlzPEhUTUxEb2N1
bWVudD4oKmFuY2VzdG9yKSkKKyAgICAgICAgICAgIGJyZWFrOworCiAgICAgICAgIGF1dG8gcmVu
ZGVyZXIgPSBhbmNlc3Rvci0+cmVuZGVyZXIoKTsKICAgICAgICAgaWYgKCFyZW5kZXJlcikKICAg
ICAgICAgICAgIGNvbnRpbnVlOwpAQCAtMTkwMCwxMCArMTkwMywxMyBAQCBzdGF0aWMgU2Nyb2xs
YWJsZUFyZWEqIGVuY2xvc2luZ1Njcm9sbGFibGVBcmVhKE5vZGUqIG5vZGUpCiAgICAgICAgIGlm
ICghbGF5ZXIpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgICAgICByZXR1cm4g
bGF5ZXItPmVuY2xvc2luZ1Njcm9sbGFibGVMYXllcihJbmNsdWRlU2VsZk9yTm90OjpJbmNsdWRl
U2VsZiwgQ3Jvc3NGcmFtZUJvdW5kYXJpZXM6Ok5vKTsKKyAgICAgICAgaWYgKGF1dG8qIHNjcm9s
bGFibGVMYXllciA9IGxheWVyLT5lbmNsb3NpbmdTY3JvbGxhYmxlTGF5ZXIoSW5jbHVkZVNlbGZP
ck5vdDo6SW5jbHVkZVNlbGYsIENyb3NzRnJhbWVCb3VuZGFyaWVzOjpObykpIHsKKyAgICAgICAg
ICAgIGlmICghc2Nyb2xsYWJsZUxheWVyLT5pc1JlbmRlclZpZXdMYXllcigpKQorICAgICAgICAg
ICAgICAgIHJldHVybiBzY3JvbGxhYmxlTGF5ZXI7CisgICAgICAgIH0KICAgICB9CiAKLSAgICBy
ZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gbV9mcmFtZS52aWV3KCk7CiB9CiAKIGJvb2wgRXZl
bnRIYW5kbGVyOjptb3VzZU1vdmVkKGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZXZlbnQpCkBA
IC0xOTIyLDE2ICsxOTI4LDYgQEAgYm9vbCBFdmVudEhhbmRsZXI6Om1vdXNlTW92ZWQoY29uc3Qg
UGxhdGZvcm1Nb3VzZUV2ZW50JiBldmVudCkKICAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVy
biByZXN1bHQ7CiAKLSAgICBpZiAoYXV0byBzY3JvbGxlZEFyZWEgPSBlbmNsb3NpbmdTY3JvbGxh
YmxlQXJlYShoaXRUZXN0UmVzdWx0LmlubmVyTm9kZSgpKSkgewotICAgICAgICBpZiAoRnJhbWVW
aWV3KiBmcmFtZVZpZXcgPSBtX2ZyYW1lLnZpZXcoKSkgewotICAgICAgICAgICAgaWYgKGZyYW1l
Vmlldy0+Y29udGFpbnNTY3JvbGxhYmxlQXJlYShzY3JvbGxlZEFyZWEpKQotICAgICAgICAgICAg
ICAgIHNjcm9sbGVkQXJlYS0+bW91c2VNb3ZlZEluQ29udGVudEFyZWEoKTsKLSAgICAgICAgfQot
ICAgIH0KLQotICAgIGlmIChGcmFtZVZpZXcqIGZyYW1lVmlldyA9IG1fZnJhbWUudmlldygpKQot
ICAgICAgICBmcmFtZVZpZXctPm1vdXNlTW92ZWRJbkNvbnRlbnRBcmVhKCk7ICAKLQogICAgIGhp
dFRlc3RSZXN1bHQuc2V0VG9Ob25Vc2VyQWdlbnRTaGFkb3dBbmNlc3RvcigpOwogICAgIHBhZ2Ut
PmNocm9tZSgpLm1vdXNlRGlkTW92ZU92ZXJFbGVtZW50KGhpdFRlc3RSZXN1bHQsIGV2ZW50Lm1v
ZGlmaWVyRmxhZ3MoKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTIwMjMsNyArMjAxOSw3IEBA
IGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZU1vdmVFdmVudChjb25zdCBQbGF0Zm9ybU1v
dXNlRXZlbnQmIHBsYXRmb3JtTW91c2VFCiAjZW5kaWYKICAgICAgICAgaWYgKG9ubHlVcGRhdGVT
Y3JvbGxiYXJzKSB7CiAgICAgICAgICAgICBpZiAoc2hvdWxkU2VuZE1vdXNlRXZlbnRzVG9JbmFj
dGl2ZVdpbmRvd3MoKSkKLSAgICAgICAgICAgICAgICB1cGRhdGVNb3VzZUV2ZW50VGFyZ2V0Tm9k
ZShtb3VzZUV2ZW50LnRhcmdldE5vZGUoKSwgcGxhdGZvcm1Nb3VzZUV2ZW50LCBGaXJlTW91c2VP
dmVyT3V0OjpZZXMpOworICAgICAgICAgICAgICAgIHVwZGF0ZU1vdXNlRXZlbnRUYXJnZXROb2Rl
KGV2ZW50TmFtZXMoKS5tb3VzZW1vdmVFdmVudCwgbW91c2VFdmVudC50YXJnZXROb2RlKCksIHBs
YXRmb3JtTW91c2VFdmVudCwgRmlyZU1vdXNlT3Zlck91dDo6WWVzKTsKIAogICAgICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgICAgIH0KQEAgLTIwMzgsNyArMjAzNCw3IEBAIGJvb2wgRXZlbnRI
YW5kbGVyOjpoYW5kbGVNb3VzZU1vdmVFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIHBs
YXRmb3JtTW91c2VFCiAKICAgICBpZiAobmV3U3ViZnJhbWUpIHsKICAgICAgICAgLy8gVXBkYXRl
IG92ZXIvb3V0IHN0YXRlIGJlZm9yZSBwYXNzaW5nIHRoZSBldmVudCB0byB0aGUgc3ViZnJhbWUu
Ci0gICAgICAgIHVwZGF0ZU1vdXNlRXZlbnRUYXJnZXROb2RlKG1vdXNlRXZlbnQudGFyZ2V0Tm9k
ZSgpLCBwbGF0Zm9ybU1vdXNlRXZlbnQsIEZpcmVNb3VzZU92ZXJPdXQ6Olllcyk7CisgICAgICAg
IHVwZGF0ZU1vdXNlRXZlbnRUYXJnZXROb2RlKGV2ZW50TmFtZXMoKS5tb3VzZW1vdmVFdmVudCwg
bW91c2VFdmVudC50YXJnZXROb2RlKCksIHBsYXRmb3JtTW91c2VFdmVudCwgRmlyZU1vdXNlT3Zl
ck91dDo6WWVzKTsKICAgICAgICAgCiAgICAgICAgIC8vIEV2ZW50IGRpc3BhdGNoIGluIHVwZGF0
ZU1vdXNlRXZlbnRUYXJnZXROb2RlIG1heSBoYXZlIGNhdXNlZCB0aGUgc3ViZnJhbWUgb2YgdGhl
IHRhcmdldAogICAgICAgICAvLyBub2RlIHRvIGJlIGRldGFjaGVkIGZyb20gaXRzIEZyYW1lVmll
dywgaW4gd2hpY2ggY2FzZSB0aGUgZXZlbnQgc2hvdWxkIG5vdCBiZSBwYXNzZWQuCkBAIC0yNTI1
LDcgKzI1MjEsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6cG9pbnRlckNhcHR1cmVFbGVtZW50RGlk
Q2hhbmdlKEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgc2V0Q2FwdHVyaW5nTW91c2VFdmVudHNFbGVt
ZW50KGVsZW1lbnQpOwogCiAgICAgLy8gTm93IHRoYXQgd2UgaGF2ZSBhIG5ldyBjYXB0dXJlIGVs
ZW1lbnQsIHdlIG5lZWQgdG8gZGlzcGF0Y2ggYm91bmRhcnkgbW91c2UgZXZlbnRzLgotICAgIHVw
ZGF0ZU1vdXNlRXZlbnRUYXJnZXROb2RlKGVsZW1lbnQsIG1fbGFzdFBsYXRmb3JtTW91c2VFdmVu
dCwgRmlyZU1vdXNlT3Zlck91dDo6WWVzKTsKKyAgICB1cGRhdGVNb3VzZUV2ZW50VGFyZ2V0Tm9k
ZShldmVudE5hbWVzKCkuZ290cG9pbnRlcmNhcHR1cmVFdmVudCwgZWxlbWVudCwgbV9sYXN0UGxh
dGZvcm1Nb3VzZUV2ZW50LCBGaXJlTW91c2VPdmVyT3V0OjpZZXMpOwogfQogCiBNb3VzZUV2ZW50
V2l0aEhpdFRlc3RSZXN1bHRzIEV2ZW50SGFuZGxlcjo6cHJlcGFyZU1vdXNlRXZlbnQoY29uc3Qg
SGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgbW91c2VF
dmVudCkKQEAgLTI1NDUsNyArMjU0MSw3IEBAIHN0YXRpYyBib29sIGhpZXJhcmNoeUhhc0NhcHR1
cmluZ0V2ZW50TGlzdGVuZXJzKEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IEF0b21TdHJpCiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCi12b2lkIEV2ZW50SGFuZGxlcjo6dXBkYXRlTW91c2VFdmVudFRh
cmdldE5vZGUoTm9kZSogdGFyZ2V0Tm9kZSwgY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBwbGF0
Zm9ybU1vdXNlRXZlbnQsIEZpcmVNb3VzZU92ZXJPdXQgZmlyZU1vdXNlT3Zlck91dCkKK3ZvaWQg
RXZlbnRIYW5kbGVyOjp1cGRhdGVNb3VzZUV2ZW50VGFyZ2V0Tm9kZShjb25zdCBBdG9tU3RyaW5n
JiBldmVudFR5cGUsIE5vZGUqIHRhcmdldE5vZGUsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYg
cGxhdGZvcm1Nb3VzZUV2ZW50LCBGaXJlTW91c2VPdmVyT3V0IGZpcmVNb3VzZU92ZXJPdXQpCiB7
CiAgICAgUmVmPEZyYW1lPiBwcm90ZWN0ZWRGcmFtZShtX2ZyYW1lKTsKICAgICBFbGVtZW50KiB0
YXJnZXRFbGVtZW50ID0gbnVsbHB0cjsKQEAgLTI1NjcsNyArMjU2Myw3IEBAIHZvaWQgRXZlbnRI
YW5kbGVyOjp1cGRhdGVNb3VzZUV2ZW50VGFyZ2V0Tm9kZShOb2RlKiB0YXJnZXROb2RlLCBjb25z
dCBQbGF0Zm9ybU1vCiAKICAgICAvLyBGaXJlIG1vdXNlb3V0L21vdXNlb3ZlciBpZiB0aGUgbW91
c2UgaGFzIHNoaWZ0ZWQgdG8gYSBkaWZmZXJlbnQgbm9kZS4KICAgICBpZiAoZmlyZU1vdXNlT3Zl
ck91dCA9PSBGaXJlTW91c2VPdmVyT3V0OjpZZXMpIHsKLSAgICAgICAgbm90aWZ5U2Nyb2xsYWJs
ZUFyZWFzT2ZNb3VzZUVudGVyRXhpdChtX2xhc3RFbGVtZW50VW5kZXJNb3VzZS5nZXQoKSwgbV9l
bGVtZW50VW5kZXJNb3VzZS5nZXQoKSk7CisgICAgICAgIG5vdGlmeVNjcm9sbGFibGVBcmVhc09m
TW91c2VFdmVudHMoZXZlbnRUeXBlLCBtX2xhc3RFbGVtZW50VW5kZXJNb3VzZS5nZXQoKSwgbV9l
bGVtZW50VW5kZXJNb3VzZS5nZXQoKSk7CiAKICAgICAgICAgaWYgKG1fbGFzdEVsZW1lbnRVbmRl
ck1vdXNlICYmICZtX2xhc3RFbGVtZW50VW5kZXJNb3VzZS0+ZG9jdW1lbnQoKSAhPSBtX2ZyYW1l
LmRvY3VtZW50KCkpIHsKICAgICAgICAgICAgIG1fbGFzdEVsZW1lbnRVbmRlck1vdXNlID0gbnVs
bHB0cjsKQEAgLTI2MjQsNyArMjYyMCw3IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjp1cGRhdGVNb3Vz
ZUV2ZW50VGFyZ2V0Tm9kZShOb2RlKiB0YXJnZXROb2RlLCBjb25zdCBQbGF0Zm9ybU1vCiAgICAg
fQogfQogCi12b2lkIEV2ZW50SGFuZGxlcjo6bm90aWZ5U2Nyb2xsYWJsZUFyZWFzT2ZNb3VzZUVu
dGVyRXhpdChFbGVtZW50KiBsYXN0RWxlbWVudFVuZGVyTW91c2UsIEVsZW1lbnQqIGVsZW1lbnRV
bmRlck1vdXNlKQordm9pZCBFdmVudEhhbmRsZXI6Om5vdGlmeVNjcm9sbGFibGVBcmVhc09mTW91
c2VFdmVudHMoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFbGVtZW50KiBsYXN0RWxlbWVu
dFVuZGVyTW91c2UsIEVsZW1lbnQqIGVsZW1lbnRVbmRlck1vdXNlKQogewogICAgIGF1dG8qIGZy
YW1lVmlldyA9IG1fZnJhbWUudmlldygpOwogICAgIGlmICghZnJhbWVWaWV3KQpAQCAtMjYzNSwy
NCArMjYzMSw0MSBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6bm90aWZ5U2Nyb2xsYWJsZUFyZWFzT2ZN
b3VzZUVudGVyRXhpdChFbGVtZW50KiBsYXN0RWxlbWVudFVuZAogCiAgICAgaWYgKCEhbGFzdEVs
ZW1lbnRVbmRlck1vdXNlICE9ICEhZWxlbWVudFVuZGVyTW91c2UpIHsKICAgICAgICAgaWYgKGVs
ZW1lbnRVbmRlck1vdXNlKSB7Ci0gICAgICAgICAgICBmcmFtZVZpZXctPm1vdXNlRW50ZXJlZENv
bnRlbnRBcmVhKCk7CisgICAgICAgICAgICBpZiAoc2Nyb2xsYWJsZUFyZWFGb3JOb2RlVW5kZXJN
b3VzZSAhPSBmcmFtZVZpZXcpCisgICAgICAgICAgICAgICAgZnJhbWVWaWV3LT5tb3VzZUVudGVy
ZWRDb250ZW50QXJlYSgpOworCiAgICAgICAgICAgICBpZiAoc2Nyb2xsYWJsZUFyZWFGb3JOb2Rl
VW5kZXJNb3VzZSkKICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlQXJlYUZvck5vZGVVbmRlck1v
dXNlLT5tb3VzZUVudGVyZWRDb250ZW50QXJlYSgpOwogICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAgaWYgKHNjcm9sbGFibGVBcmVhRm9yTGFzdE5vZGUpCiAgICAgICAgICAgICAgICAgc2Ny
b2xsYWJsZUFyZWFGb3JMYXN0Tm9kZS0+bW91c2VFeGl0ZWRDb250ZW50QXJlYSgpOwotICAgICAg
ICAgICAgZnJhbWVWaWV3LT5tb3VzZUV4aXRlZENvbnRlbnRBcmVhKCk7CisKKyAgICAgICAgICAg
IGlmIChzY3JvbGxhYmxlQXJlYUZvckxhc3ROb2RlICE9IGZyYW1lVmlldykKKyAgICAgICAgICAg
ICAgICBmcmFtZVZpZXctPm1vdXNlRXhpdGVkQ29udGVudEFyZWEoKTsKICAgICAgICAgfQogICAg
ICAgICByZXR1cm47CiAgICAgfQotICAgIAotICAgIGlmICgoIXNjcm9sbGFibGVBcmVhRm9yTGFz
dE5vZGUgJiYgIXNjcm9sbGFibGVBcmVhRm9yTm9kZVVuZGVyTW91c2UpIHx8IHNjcm9sbGFibGVB
cmVhRm9yTGFzdE5vZGUgPT0gc2Nyb2xsYWJsZUFyZWFGb3JOb2RlVW5kZXJNb3VzZSkKKworICAg
IGlmICghc2Nyb2xsYWJsZUFyZWFGb3JMYXN0Tm9kZSAmJiAhc2Nyb2xsYWJsZUFyZWFGb3JOb2Rl
VW5kZXJNb3VzZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gRklYTUU6IFRoaXMgZG9lcyBk
b2Vzbid0IGhhbmRsZSBuZXN0ZWQgU2Nyb2xsYWJsZUFyZWFzIHdlbGwuIEl0IHJlYWxseSBuZWVk
cyB0byBrbm93CisgICAgLy8gdGhlIGhpZXJhcmNoaWNhbCByZWxhdGlvbnNoaXAgYmV0d2VlbiBz
Y3JvbGxhYmxlQXJlYUZvckxhc3ROb2RlIGFuZCBzY3JvbGxhYmxlQXJlYUZvck5vZGVVbmRlck1v
dXNlLgorICAgIGJvb2wgbW92ZWRCZXR3ZWVuU2Nyb2xsYWJsZWFBcmVhcyA9IHNjcm9sbGFibGVB
cmVhRm9yTGFzdE5vZGUgJiYgc2Nyb2xsYWJsZUFyZWFGb3JOb2RlVW5kZXJNb3VzZSAmJiAoc2Ny
b2xsYWJsZUFyZWFGb3JMYXN0Tm9kZSAhPSBzY3JvbGxhYmxlQXJlYUZvck5vZGVVbmRlck1vdXNl
KTsKKyAgICBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5tb3VzZW1vdmVFdmVudCkgewor
ICAgICAgICBmcmFtZVZpZXctPm1vdXNlTW92ZWRJbkNvbnRlbnRBcmVhKCk7CisKKyAgICAgICAg
aWYgKCFtb3ZlZEJldHdlZW5TY3JvbGxhYmxlYUFyZWFzICYmIHNjcm9sbGFibGVBcmVhRm9yTm9k
ZVVuZGVyTW91c2UgJiYgc2Nyb2xsYWJsZUFyZWFGb3JOb2RlVW5kZXJNb3VzZSAhPSBmcmFtZVZp
ZXcpCisgICAgICAgICAgICBzY3JvbGxhYmxlQXJlYUZvck5vZGVVbmRlck1vdXNlLT5tb3VzZU1v
dmVkSW5Db250ZW50QXJlYSgpOworICAgIH0KKworICAgIGlmICghbW92ZWRCZXR3ZWVuU2Nyb2xs
YWJsZWFBcmVhcykKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKHNjcm9sbGFibGVBcmVhRm9y
TGFzdE5vZGUpCisgICAgaWYgKHNjcm9sbGFibGVBcmVhRm9yTGFzdE5vZGUgJiYgc2Nyb2xsYWJs
ZUFyZWFGb3JMYXN0Tm9kZSAhPSBmcmFtZVZpZXcpCiAgICAgICAgIHNjcm9sbGFibGVBcmVhRm9y
TGFzdE5vZGUtPm1vdXNlRXhpdGVkQ29udGVudEFyZWEoKTsKIAotICAgIGlmIChzY3JvbGxhYmxl
QXJlYUZvck5vZGVVbmRlck1vdXNlKQorICAgIGlmIChzY3JvbGxhYmxlQXJlYUZvck5vZGVVbmRl
ck1vdXNlICYmIHNjcm9sbGFibGVBcmVhRm9yTm9kZVVuZGVyTW91c2UgIT0gZnJhbWVWaWV3KQog
ICAgICAgICBzY3JvbGxhYmxlQXJlYUZvck5vZGVVbmRlck1vdXNlLT5tb3VzZUVudGVyZWRDb250
ZW50QXJlYSgpOwogfQogCkBAIC0yNjczLDcgKzI2ODYsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6
ZGlzcGF0Y2hNb3VzZUV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgTm9kZSogdGFy
Z2V0TgogewogICAgIFJlZjxGcmFtZT4gcHJvdGVjdGVkRnJhbWUobV9mcmFtZSk7CiAKLSAgICB1
cGRhdGVNb3VzZUV2ZW50VGFyZ2V0Tm9kZSh0YXJnZXROb2RlLCBwbGF0Zm9ybU1vdXNlRXZlbnQs
IGZpcmVNb3VzZU92ZXJPdXQpOworICAgIHVwZGF0ZU1vdXNlRXZlbnRUYXJnZXROb2RlKGV2ZW50
VHlwZSwgdGFyZ2V0Tm9kZSwgcGxhdGZvcm1Nb3VzZUV2ZW50LCBmaXJlTW91c2VPdmVyT3V0KTsK
IAogICAgIGlmIChtX2VsZW1lbnRVbmRlck1vdXNlICYmICFtX2VsZW1lbnRVbmRlck1vdXNlLT5k
aXNwYXRjaE1vdXNlRXZlbnQocGxhdGZvcm1Nb3VzZUV2ZW50LCBldmVudFR5cGUsIGNsaWNrQ291
bnQpKQogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0V2ZW50SGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApp
bmRleCA3YjRmMjc4OTczODFiMDViMTBjOGZkMTEyY2M2NjA0MjQ3ZjViODhhLi5lZjFkNDhlNGRl
ZTVmNDZjODk4OTVjZmFjNmM3MWU2MmEyNzNjOTY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmgKQEAgLTQwNCw5ICs0MDQsMTAgQEAgcHJpdmF0ZToKICAgICBOb2RlKiBub2RlVW5kZXJN
b3VzZSgpIGNvbnN0OwogICAgIAogICAgIGVudW0gY2xhc3MgRmlyZU1vdXNlT3Zlck91dCB7IE5v
LCBZZXMgfTsKLSAgICB2b2lkIHVwZGF0ZU1vdXNlRXZlbnRUYXJnZXROb2RlKE5vZGUqLCBjb25z
dCBQbGF0Zm9ybU1vdXNlRXZlbnQmLCBGaXJlTW91c2VPdmVyT3V0KTsKKyAgICB2b2lkIHVwZGF0
ZU1vdXNlRXZlbnRUYXJnZXROb2RlKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgTm9kZSos
IGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYsIEZpcmVNb3VzZU92ZXJPdXQpOwogCi0gICAgdm9p
ZCBub3RpZnlTY3JvbGxhYmxlQXJlYXNPZk1vdXNlRW50ZXJFeGl0KEVsZW1lbnQqIGxhc3RFbGVt
ZW50VW5kZXJNb3VzZSwgRWxlbWVudCogZWxlbWVudFVuZGVyTW91c2UpOworICAgIFNjcm9sbGFi
bGVBcmVhKiBlbmNsb3NpbmdTY3JvbGxhYmxlQXJlYShOb2RlKik7CisgICAgdm9pZCBub3RpZnlT
Y3JvbGxhYmxlQXJlYXNPZk1vdXNlRXZlbnRzKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwg
RWxlbWVudCogbGFzdEVsZW1lbnRVbmRlck1vdXNlLCBFbGVtZW50KiBlbGVtZW50VW5kZXJNb3Vz
ZSk7CiAKICAgICBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzIHByZXBhcmVNb3VzZUV2ZW50
KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50Jik7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0V2ZW50SGFuZGxlcklPUy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0V2ZW50SGFuZGxlcklPUy5tbQppbmRleCBlNzczMmNhMjU0
MmEzNzYxYzQ0N2I0NWVlYTI4Yzk0ODZjYmExZTUzLi4zZWNmNDJkNWQ1ZWFhOWQxZTI4Y2NlODdl
MjQxNGMxNWU5MDkwYzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9FdmVu
dEhhbmRsZXJJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9pb3MvRXZlbnRIYW5kbGVy
SU9TLm1tCkBAIC01MjUsNyArNTI1LDcgQEAgc3RhdGljIGJvb2wgZnJhbWVIYXNQbGF0Zm9ybVdp
ZGdldChjb25zdCBGcmFtZSYgZnJhbWUpCiAKIHZvaWQgRXZlbnRIYW5kbGVyOjpkaXNwYXRjaFN5
bnRoZXRpY01vdXNlT3V0KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgcGxhdGZvcm1Nb3VzZUV2
ZW50KQogewotICAgIHVwZGF0ZU1vdXNlRXZlbnRUYXJnZXROb2RlKG51bGxwdHIsIHBsYXRmb3Jt
TW91c2VFdmVudCwgRmlyZU1vdXNlT3Zlck91dDo6WWVzKTsKKyAgICB1cGRhdGVNb3VzZUV2ZW50
VGFyZ2V0Tm9kZShldmVudE5hbWVzKCkubW91c2VvdXRFdmVudCwgbnVsbHB0ciwgcGxhdGZvcm1N
b3VzZUV2ZW50LCBGaXJlTW91c2VPdmVyT3V0OjpZZXMpOwogfQogCiB2b2lkIEV2ZW50SGFuZGxl
cjo6ZGlzcGF0Y2hTeW50aGV0aWNNb3VzZU1vdmUoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBw
bGF0Zm9ybU1vdXNlRXZlbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cAppbmRleCBjYjkyZGYzMDFjZjlhYzA4NTYzY2E4NzNiNmY0MDViYjM3OTM1MDVkLi45MGZlNDM3
YmE4Yjg1MDUzMmIyNGFkNDA5N2MxNTE3N2M4MGM2YWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTM2MzksNyArMzYzOSw3IEBAIFN0cmluZyBSZW5kZXJM
YXllcjo6ZGVidWdEZXNjcmlwdGlvbigpIGNvbnN0CiAgICAgaWYgKGlzQ29tcG9zaXRlZCgpKSB7
CiAgICAgICAgIC8vIE9oIGZvciBiZXR0ZXIgU3RyaW5nQnVpbGRlci9UZXh0U3RyZWFtIGludGVn
cmF0aW9uLgogICAgICAgICBUZXh0U3RyZWFtIHN0cmVhbTsKLSAgICAgICAgc3RyZWFtIDw8ICpi
YWNraW5nKCk7CisgICAgICAgIHN0cmVhbSA8PCAiICIgPDwgKmJhY2tpbmcoKTsKICAgICAgICAg
YnVpbGRlci5hcHBlbmQoc3RyZWFtLnJlbGVhc2UoKSk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IGE0MjgwMzNlOGQ4ZWFkMWJiNTljZDY4NGZmNjg1
MTZiODdiNGFlY2IuLjIwMzkzZmJjMzY3YzI3MGQwYjBiMGI0ZjNmOGMyMTUyYjJiMmFhY2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBAIC00NjIsNiArNDYyLDcgQEAg
cHVibGljOgogICAgIHZvaWQgYXBwbHlQb3N0TGF5b3V0U2Nyb2xsUG9zaXRpb25JZk5lZWRlZCgp
OwogCiAgICAgLy8gUmV0dXJucyB0aGUgbmVhcmVzdCBlbmNsb3NpbmcgbGF5ZXIgdGhhdCBpcyBz
Y3JvbGxhYmxlLgorICAgIC8vIEZJWE1FOiBUaGlzIGNhbiByZXR1cm4gdGhlIFJlbmRlclZpZXcn
cyBsYXllciB3aGVuIGNhbGxlcnMgcHJvYmFibHkgd2FudCB0aGUgRnJhbWVWaWV3IGFzIGEgU2Ny
b2xsYWJsZUFyZWEuCiAgICAgUmVuZGVyTGF5ZXIqIGVuY2xvc2luZ1Njcm9sbGFibGVMYXllcihJ
bmNsdWRlU2VsZk9yTm90LCBDcm9zc0ZyYW1lQm91bmRhcmllcykgY29uc3Q7CiAKICAgICB2b2lk
IGF2YWlsYWJsZUNvbnRlbnRTaXplQ2hhbmdlZChBdmFpbGFibGVTaXplQ2hhbmdlUmVhc29uKSBm
aW5hbDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCBlZjc2YjU2MWY1ZmRmOTA2OTQ3OGM4NmM0OTY0ZjZjZWNlMTVjYWVmLi44
ZmVkMTkyMDliMGRiZDdmMTA5MGUyMTliZDllMTYzM2E2ZTZlY2RmIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjMgQEAKKzIwMjAtMDUtMDcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+
CisKKyAgICAgICAgT3ZlcmZsb3cgc2Nyb2xsZXJzIGluIGlmcmFtZXMgZG9uJ3QgZ2V0IG1vdXNl
TW92ZWRJbkNvbnRlbnRBcmVhKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxMTM0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjI3ODQ1NjA+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBUaGUgb3JkZXJpbmcg
b2YgY2FsbGJhY2tzIGluIHRoZSBzY3JvbGwtYW5pbWF0b3IgdGVzdHMgY2hhbmdlZCwgYnV0IGlu
IHdheXMgdGhhdCBkb24ndCBtYXRlcmlhbGx5CisgICAgICAgIGFmZmVjdCBiZWhhdmlvci4gVHdv
IG5ldyByZWFsIG92ZXJsYXkgc2Nyb2xsYmFyIHRlc3RzLgorCisgICAgICAgICogZmFzdC9zY3Jv
bGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZsb3ctaW4taWZyYW1lLW92ZXJsYXktc2Nyb2xsYmFy
LWhvdmVyZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9t
YWMvc2Nyb2xsYmFycy9vdmVyZmxvdy1pbi1pZnJhbWUtb3ZlcmxheS1zY3JvbGxiYXItaG92ZXJl
ZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9v
dmVyZmxvdy1pbi1pZnJhbWUtb3ZlcmxheS1zY3JvbGxiYXItcmV2ZWFsLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZsb3ct
aW4taWZyYW1lLW92ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L3Njcm9sbGluZy9zY3JvbGwtYW5pbWF0b3ItYmFzaWMtZXZlbnRzLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9zY3JvbGwtYW5pbWF0b3Itb3ZlcmxheS1zY3Jv
bGxiYXJzLWNsaWNrZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3Nj
cm9sbC1hbmltYXRvci1vdmVybGF5LXNjcm9sbGJhcnMtaG92ZXJlZC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWFuaW1hdG9yLXNlbGVjdC1saXN0LWV2ZW50
cy1leHBlY3RlZC50eHQ6CisKIDIwMjAtMDUtMDcgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBtYXJrIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9icm93c2Vycy9icm93c2luZy10aGUtd2ViL2hpc3RvcnktdHJhdmVyc2Fs
L3Njcm9sbC1yZXN0b3JhdGlvbi1vcmRlci5odG1sIGFzIGZsYWt5IG9uIGlPUy4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1hbmltYXRvci1iYXNpYy1ldmVu
dHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWFuaW1h
dG9yLWJhc2ljLWV2ZW50cy1leHBlY3RlZC50eHQKaW5kZXggZjg5YTY5NzczMWZkZWJlYzJlNjg3
MWE1MDBlOTRlN2QxOTZkNDRjZi4uOTM2YmVkMjVjMjcxN2Y1MjFkYzU2ZDUzMjYzMDlkYjg2OTRh
MjYxNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWFuaW1h
dG9yLWJhc2ljLWV2ZW50cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvc2Nyb2xsLWFuaW1hdG9yLWJhc2ljLWV2ZW50cy1leHBlY3RlZC50eHQKQEAgLTEsMTYg
KzEsMTQgQEAKIENPTlNPTEUgTUVTU0FHRTogTWFpbkZyYW1lVmlldzogbW91c2VFbnRlcmVkQ29u
dGVudEFyZWEKIENPTlNPTEUgTUVTU0FHRTogTWFpbkZyYW1lVmlldzogbW91c2VNb3ZlZEluQ29u
dGVudEFyZWEKIENPTlNPTEUgTUVTU0FHRTogUmVuZGVyTGF5ZXI6IG1vdXNlRW50ZXJlZENvbnRl
bnRBcmVhCi1DT05TT0xFIE1FU1NBR0U6IFJlbmRlckxheWVyOiBtb3VzZU1vdmVkSW5Db250ZW50
QXJlYQotQ09OU09MRSBNRVNTQUdFOiBNYWluRnJhbWVWaWV3OiBtb3VzZU1vdmVkSW5Db250ZW50
QXJlYQogQ09OU09MRSBNRVNTQUdFOiBSZW5kZXJMYXllcjogbW91c2VFbnRlcmVkVmVydGljYWxT
Y3JvbGxiYXIKLUNPTlNPTEUgTUVTU0FHRTogUmVuZGVyTGF5ZXI6IG1vdXNlTW92ZWRJbkNvbnRl
bnRBcmVhCiBDT05TT0xFIE1FU1NBR0U6IE1haW5GcmFtZVZpZXc6IG1vdXNlTW92ZWRJbkNvbnRl
bnRBcmVhCitDT05TT0xFIE1FU1NBR0U6IFJlbmRlckxheWVyOiBtb3VzZU1vdmVkSW5Db250ZW50
QXJlYQogQ09OU09MRSBNRVNTQUdFOiBSZW5kZXJMYXllcjogbW91c2VJc0Rvd25JblZlcnRpY2Fs
U2Nyb2xsYmFyCiBDT05TT0xFIE1FU1NBR0U6IFJlbmRlckxheWVyOiBtb3VzZUlzVXBJblZlcnRp
Y2FsU2Nyb2xsYmFyCiBDT05TT0xFIE1FU1NBR0U6IFJlbmRlckxheWVyOiBtb3VzZUV4aXRlZFZl
cnRpY2FsU2Nyb2xsYmFyCi1DT05TT0xFIE1FU1NBR0U6IFJlbmRlckxheWVyOiBtb3VzZUV4aXRl
ZENvbnRlbnRBcmVhCiBDT05TT0xFIE1FU1NBR0U6IE1haW5GcmFtZVZpZXc6IG1vdXNlTW92ZWRJ
bkNvbnRlbnRBcmVhCitDT05TT0xFIE1FU1NBR0U6IFJlbmRlckxheWVyOiBtb3VzZUV4aXRlZENv
bnRlbnRBcmVhCiBUaGlzIGlzIGEgc2Nyb2xsYWJsZSBkaXYuCiAKIFBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3Nj
cm9sbC1hbmltYXRvci1vdmVybGF5LXNjcm9sbGJhcnMtY2xpY2tlZC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9zY3JvbGwtYW5pbWF0b3Itb3ZlcmxheS1zY3JvbGxi
YXJzLWNsaWNrZWQtZXhwZWN0ZWQudHh0CmluZGV4IDljMzY5ZWEzNWQ0ZDZmYTVmNjM2NmQ2Y2Qy
YTU3YzY4MzQxMTdkNDYuLjVkYTE2YWM5YjliZDE5YjgxM2NhOWRhMWM4NWRlYmE4Njc5YzM1N2Ig
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1hbmltYXRvci1v
dmVybGF5LXNjcm9sbGJhcnMtY2xpY2tlZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWFuaW1hdG9yLW92ZXJsYXktc2Nyb2xsYmFycy1jbGlja2Vk
LWV4cGVjdGVkLnR4dApAQCAtMSw4ICsxLDcgQEAKIENPTlNPTEUgTUVTU0FHRTogTWFpbkZyYW1l
VmlldzogbW91c2VFbnRlcmVkQ29udGVudEFyZWEKLUNPTlNPTEUgTUVTU0FHRTogTWFpbkZyYW1l
VmlldzogbW91c2VNb3ZlZEluQ29udGVudEFyZWEKIENPTlNPTEUgTUVTU0FHRTogTWFpbkZyYW1l
VmlldzogbW91c2VFbnRlcmVkVmVydGljYWxTY3JvbGxiYXIKLUNPTlNPTEUgTUVTU0FHRTogRnJh
bWVWaWV3OiBtb3VzZUVudGVyZWRDb250ZW50QXJlYQogQ09OU09MRSBNRVNTQUdFOiBNYWluRnJh
bWVWaWV3OiBtb3VzZU1vdmVkSW5Db250ZW50QXJlYQorQ09OU09MRSBNRVNTQUdFOiBGcmFtZVZp
ZXc6IG1vdXNlRW50ZXJlZENvbnRlbnRBcmVhCiBDT05TT0xFIE1FU1NBR0U6IE1haW5GcmFtZVZp
ZXc6IG1vdXNlSXNEb3duSW5WZXJ0aWNhbFNjcm9sbGJhcgogQ09OU09MRSBNRVNTQUdFOiBNYWlu
RnJhbWVWaWV3OiBtb3VzZUlzVXBJblZlcnRpY2FsU2Nyb2xsYmFyCiBDT05TT0xFIE1FU1NBR0U6
IE1haW5GcmFtZVZpZXc6IG1vdXNlRXhpdGVkVmVydGljYWxTY3JvbGxiYXIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1hbmltYXRvci1vdmVybGF5LXNjcm9s
bGJhcnMtaG92ZXJlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9z
Y3JvbGwtYW5pbWF0b3Itb3ZlcmxheS1zY3JvbGxiYXJzLWhvdmVyZWQtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDM5NzZjYzEyOTdjMTU0MzA2MDI4NDIyZTVkZWQ3NzFkZGQ0NjRkNDguLmIzMjlkMzZkMDE4
NDVjMmI4NTU1MmY0OTAyNjdlNGZhNTk0NTY3MDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3Njcm9sbC1hbmltYXRvci1vdmVybGF5LXNjcm9sbGJhcnMtaG92ZXJlZC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWFuaW1h
dG9yLW92ZXJsYXktc2Nyb2xsYmFycy1ob3ZlcmVkLWV4cGVjdGVkLnR4dApAQCAtMiw3ICsyLDYg
QEAgQ09OU09MRSBNRVNTQUdFOiBNYWluRnJhbWVWaWV3OiBtb3VzZUVudGVyZWRDb250ZW50QXJl
YQogQ09OU09MRSBNRVNTQUdFOiBNYWluRnJhbWVWaWV3OiBtb3VzZU1vdmVkSW5Db250ZW50QXJl
YQogQ09OU09MRSBNRVNTQUdFOiBGcmFtZVZpZXc6IG1vdXNlRW50ZXJlZEhvcml6b250YWxTY3Jv
bGxiYXIKIENPTlNPTEUgTUVTU0FHRTogRnJhbWVWaWV3OiBtb3VzZUVudGVyZWRDb250ZW50QXJl
YQotQ09OU09MRSBNRVNTQUdFOiBNYWluRnJhbWVWaWV3OiBtb3VzZU1vdmVkSW5Db250ZW50QXJl
YQogQ09OU09MRSBNRVNTQUdFOiBGcmFtZVZpZXc6IG1vdXNlRXhpdGVkSG9yaXpvbnRhbFNjcm9s
bGJhcgogQ09OU09MRSBNRVNTQUdFOiBGcmFtZVZpZXc6IG1vdXNlRXhpdGVkQ29udGVudEFyZWEK
IENPTlNPTEUgTUVTU0FHRTogTWFpbkZyYW1lVmlldzogbW91c2VNb3ZlZEluQ29udGVudEFyZWEK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1hbmltYXRvci1z
ZWxlY3QtbGlzdC1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvc2Nyb2xsLWFuaW1hdG9yLXNlbGVjdC1saXN0LWV2ZW50cy1leHBlY3RlZC50eHQKaW5kZXgg
YmMzNzZjZDc1NmMzMDFiZTQxN2NkNzY3OGNkZjJjYzYyYzVjZDZhZS4uNTBkNzQ3YjFlYTM4NTY4
YTg3ZTUzNzY2Y2IyNjU1Zjk2ZmVkNTYyZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvc2Nyb2xsLWFuaW1hdG9yLXNlbGVjdC1saXN0LWV2ZW50cy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWFuaW1hdG9yLXNlbGVjdC1s
aXN0LWV2ZW50cy1leHBlY3RlZC50eHQKQEAgLTEsMTYgKzEsMTQgQEAKIENPTlNPTEUgTUVTU0FH
RTogTWFpbkZyYW1lVmlldzogbW91c2VFbnRlcmVkQ29udGVudEFyZWEKIENPTlNPTEUgTUVTU0FH
RTogTWFpbkZyYW1lVmlldzogbW91c2VNb3ZlZEluQ29udGVudEFyZWEKIENPTlNPTEUgTUVTU0FH
RTogUmVuZGVyTGlzdEJveDogbW91c2VFbnRlcmVkQ29udGVudEFyZWEKLUNPTlNPTEUgTUVTU0FH
RTogUmVuZGVyTGlzdEJveDogbW91c2VNb3ZlZEluQ29udGVudEFyZWEKLUNPTlNPTEUgTUVTU0FH
RTogTWFpbkZyYW1lVmlldzogbW91c2VNb3ZlZEluQ29udGVudEFyZWEKIENPTlNPTEUgTUVTU0FH
RTogUmVuZGVyTGlzdEJveDogbW91c2VFbnRlcmVkVmVydGljYWxTY3JvbGxiYXIKLUNPTlNPTEUg
TUVTU0FHRTogUmVuZGVyTGlzdEJveDogbW91c2VNb3ZlZEluQ29udGVudEFyZWEKIENPTlNPTEUg
TUVTU0FHRTogTWFpbkZyYW1lVmlldzogbW91c2VNb3ZlZEluQ29udGVudEFyZWEKK0NPTlNPTEUg
TUVTU0FHRTogUmVuZGVyTGlzdEJveDogbW91c2VNb3ZlZEluQ29udGVudEFyZWEKIENPTlNPTEUg
TUVTU0FHRTogUmVuZGVyTGlzdEJveDogbW91c2VJc0Rvd25JblZlcnRpY2FsU2Nyb2xsYmFyCiBD
T05TT0xFIE1FU1NBR0U6IFJlbmRlckxpc3RCb3g6IG1vdXNlSXNVcEluVmVydGljYWxTY3JvbGxi
YXIKIENPTlNPTEUgTUVTU0FHRTogUmVuZGVyTGlzdEJveDogbW91c2VFeGl0ZWRWZXJ0aWNhbFNj
cm9sbGJhcgotQ09OU09MRSBNRVNTQUdFOiBSZW5kZXJMaXN0Qm94OiBtb3VzZUV4aXRlZENvbnRl
bnRBcmVhCiBDT05TT0xFIE1FU1NBR0U6IE1haW5GcmFtZVZpZXc6IG1vdXNlTW92ZWRJbkNvbnRl
bnRBcmVhCitDT05TT0xFIE1FU1NBR0U6IFJlbmRlckxpc3RCb3g6IG1vdXNlRXhpdGVkQ29udGVu
dEFyZWEKIFRlc3QgZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NTMzOTguCiAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9mYXN0
L3Njcm9sbGluZy9zY3JvbGwtYW5pbWF0b3ItYmFzaWMtZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWFuaW1hdG9y
LWJhc2ljLWV2ZW50cy1leHBlY3RlZC50eHQKaW5kZXggMmZlMDc2NTY5NTJmZjQxNjEwZmU0OTA3
OTVkOTJmOTgwNTY3YTM4NC4uNjBjZGI2NmMxZjBhMmIxMDdmNTg0MTdiMzMyZWY4N2Y2MTUxZjk0
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9mYXN0L3Njcm9sbGlu
Zy9zY3JvbGwtYW5pbWF0b3ItYmFzaWMtZXZlbnRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1hbmltYXRvci1iYXNp
Yy1ldmVudHMtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNCBAQAogQ09OU09MRSBNRVNTQUdFOiBS
ZW5kZXJMYXllcjogbW91c2VFbnRlcmVkQ29udGVudEFyZWEKLUNPTlNPTEUgTUVTU0FHRTogUmVu
ZGVyTGF5ZXI6IG1vdXNlTW92ZWRJbkNvbnRlbnRBcmVhCiBDT05TT0xFIE1FU1NBR0U6IFJlbmRl
ckxheWVyOiBtb3VzZUVudGVyZWRWZXJ0aWNhbFNjcm9sbGJhcgogQ09OU09MRSBNRVNTQUdFOiBS
ZW5kZXJMYXllcjogbW91c2VNb3ZlZEluQ29udGVudEFyZWEKIENPTlNPTEUgTUVTU0FHRTogUmVu
ZGVyTGF5ZXI6IG1vdXNlSXNEb3duSW5WZXJ0aWNhbFNjcm9sbGJhcgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9mYXN0L3Njcm9sbGluZy9zY3JvbGwtYW5pbWF0b3It
c2VsZWN0LWxpc3QtZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azEvZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWFuaW1hdG9yLXNlbGVjdC1saXN0LWV2ZW50cy1l
eHBlY3RlZC50eHQKaW5kZXggYTM2YTY3YmQ4YWNhYzA3OTIyNjJhN2JlNTQ4YmY3OTM0OTc5NDFm
Yy4uZWZhMGUxNjJjNGIzNjQ3ODQ2NjNjZWIwNjcxNzNiODNkYTE2MWQ3OCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9mYXN0L3Njcm9sbGluZy9zY3JvbGwtYW5pbWF0
b3Itc2VsZWN0LWxpc3QtZXZlbnRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2sxL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1hbmltYXRvci1zZWxlY3QtbGlzdC1l
dmVudHMtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNCBAQAogQ09OU09MRSBNRVNTQUdFOiBSZW5k
ZXJMaXN0Qm94OiBtb3VzZUVudGVyZWRDb250ZW50QXJlYQotQ09OU09MRSBNRVNTQUdFOiBSZW5k
ZXJMaXN0Qm94OiBtb3VzZU1vdmVkSW5Db250ZW50QXJlYQogQ09OU09MRSBNRVNTQUdFOiBSZW5k
ZXJMaXN0Qm94OiBtb3VzZUVudGVyZWRWZXJ0aWNhbFNjcm9sbGJhcgogQ09OU09MRSBNRVNTQUdF
OiBSZW5kZXJMaXN0Qm94OiBtb3VzZU1vdmVkSW5Db250ZW50QXJlYQogQ09OU09MRSBNRVNTQUdF
OiBSZW5kZXJMaXN0Qm94OiBtb3VzZUlzRG93bkluVmVydGljYWxTY3JvbGxiYXIK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398837</attachid>
            <date>2020-05-07 22:48:05 -0700</date>
            <delta_ts>2020-05-08 08:02:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211347-20200507224804.patch</filename>
            <type>text/plain</type>
            <size>22019</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxMzA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDdjYmQyMzVhZWYxOTI1
MDViNDUwMmRiYTE1Y2RlNTVhZWI4YjgwNS4uZjVkZmMxNTk5NTY1YmE2OTM4Y2QzNTBjYjJkODg3
ZjRkOTBkNTcyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIwLTA1LTA3ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE92ZXJmbG93IHNj
cm9sbGVycyBpbiBpZnJhbWVzIGRvbid0IGdldCBtb3VzZU1vdmVkSW5Db250ZW50QXJlYSgpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTEzNDcKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYyNzg0NTYwPgorCisgICAgICAgIFJldmlld2VkIGJ5IFRp
bSBIb3J0b24uCisKKyAgICAgICAgV2UgbmV2ZXIgZGlzcGF0Y2hlZCBtb3VzZU1vdmVkSW5Db250
ZW50QXJlYSgpIG9uIFNjcm9sbGFibGVBcmVhcyBpbiBzdWJmcmFtZXMsIHNvIG92ZXJsYXkgc2Ny
b2xsYmFyCisgICAgICAgIGludGVyYWN0aW9ucyB0aGVyZSB3ZXJlIGJyb2tlbi4gVGhpcyBpcyBi
ZWNhdXNlIHRoZSBjb2RlIHJhbiBmcm9tIEV2ZW50SGFuZGxlcjo6bW91c2VNb3ZlZCgpLCB3aGlj
aAorICAgICAgICBvbmx5IHJ1bnMgZm9yIHRoZSBtYWluIGZyYW1lLgorCisgICAgICAgIEluc3Rl
YWQsIG1vdmUgdGhlIG1vdXNlTW92ZWRJbkNvbnRlbnRBcmVhKCkgZGlzcGF0Y2ggZG93biBpbnRv
IHVwZGF0ZU1vdXNlRXZlbnRUYXJnZXROb2RlKCkgd2hpY2gKKyAgICAgICAgaXMgcnVuIGZvciBl
YWNoIHN1YmZyYW1lLiBub3RpZnlTY3JvbGxhYmxlQXJlYXNPZk1vdXNlRXZlbnRzKCkgdGFrZXMg
YW4gZXZlbnQgbmFtZSBzbyB3ZSBvbmx5IGRpc3BhdGNoCisgICAgICAgIGZvciBtb3VzZU1vdmUg
ZXZlbnRzLiBUaGVyZSdzIHNvbWUgY29tcGxleGl0eSBoZXJlIHJlbGF0ZWQgdG8gd2hldGhlciB0
aGUgb2xkIGFuZCBuZXcgU2Nyb2xsYWJsZUFyZWEKKyAgICAgICAgdGFyZ2V0cyBhcmUgbmVzdGVk
OyB0aGlzIGNvZGUgZG9lc24ndCB0cnkgdG8gZG8gdGhlIHJpZ2h0IHRoaW5nIHdpdGggbmVzdGlu
ZywgYnV0IGRvZXMgaGFuZGxlIHRoZSBtb3VzZQorICAgICAgICBtb3ZpbmcgYmV0d2VlbiB0aGUg
c2Nyb2xsYWJsZSBtYWluIGZyYW1lIGFuZCBhbiBvdmVyZmxvdyByZWdpb24uCisgICAgICAgIAor
ICAgICAgICBlbmNsb3NpbmdTY3JvbGxhYmxlQXJlYSgpIGlzIGZpeGVkIHRvIHJldHVybiB0aGUg
RnJhbWVWaWV3LiBlbmNsb3NpbmdTY3JvbGxhYmxlTGF5ZXIoKSBpcyBmbGF3ZWQsIGFzIG5vdGVk
CisgICAgICAgIGluIHRoZSBSZW5kZXJMYXllci5oIGNvbW1lbnQuCisKKyAgICAgICAgVGVzdHM6
IGZhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93LWluLWlmcmFtZS1vdmVybGF5
LXNjcm9sbGJhci1ob3ZlcmVkLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3Qvc2Nyb2xsaW5nL21h
Yy9zY3JvbGxiYXJzL292ZXJmbG93LWluLWlmcmFtZS1vdmVybGF5LXNjcm9sbGJhci1yZXZlYWwu
aHRtbAorCisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RXZlbnRIYW5kbGVyOjplbmNsb3NpbmdTY3JvbGxhYmxlQXJlYSk6CisgICAgICAgIChXZWJD
b3JlOjpFdmVudEhhbmRsZXI6Om1vdXNlTW92ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRI
YW5kbGVyOjpoYW5kbGVNb3VzZU1vdmVFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhh
bmRsZXI6OnBvaW50ZXJDYXB0dXJlRWxlbWVudERpZENoYW5nZSk6CisgICAgICAgIChXZWJDb3Jl
OjpFdmVudEhhbmRsZXI6OnVwZGF0ZU1vdXNlRXZlbnRUYXJnZXROb2RlKToKKyAgICAgICAgKFdl
YkNvcmU6OkV2ZW50SGFuZGxlcjo6bm90aWZ5U2Nyb2xsYWJsZUFyZWFzT2ZNb3VzZUV2ZW50cyk6
CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmRpc3BhdGNoTW91c2VFdmVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjplbmNsb3NpbmdTY3JvbGxhYmxlQXJlYSk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6Om5vdGlmeVNjcm9sbGFibGVBcmVhc09mTW91c2VF
bnRlckV4aXQpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6CisgICAg
ICAgICogcGFnZS9pb3MvRXZlbnRIYW5kbGVySU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6RXZl
bnRIYW5kbGVyOjpkaXNwYXRjaFN5bnRoZXRpY01vdXNlT3V0KToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmRlYnVn
RGVzY3JpcHRpb24gY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOgor
CiAyMDIwLTA1LTA3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAg
ICAgICAgIFJFR1JFU1NJT04gKHIyNjEwNTYpOiBbIE1hYyBXSzEgXSBpbnNwZWN0b3IvY29uc29s
ZS9jb25zb2xlLWFwaS5odG1sIGlzIGZsYWt5IGNyYXNoaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50
SGFuZGxlci5jcHAKaW5kZXggYTU0OGYzYzc2ZWQ3MDg0OTQzZWJhMzRmZWM2MzJmYzZlODMxZmMx
Yi4uZmQ0NzE2YmFjOGI0ODJmNTJjNWViNTFiNDczZjM1YWUzZjhkNGFhYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtMTg4MCwxMiArMTg4MCwxNSBAQCBib29sIEV2ZW50
SGFuZGxlcjo6aGFuZGxlTW91c2VEb3VibGVDbGlja0V2ZW50KGNvbnN0IFBsYXRmb3JtTW91c2VF
dmVudCYgcGxhdGZvcgogICAgIHJldHVybiBzd2FsbG93TW91c2VVcEV2ZW50IHx8IHN3YWxsb3dD
bGlja0V2ZW50IHx8IHN3YWxsb3dNb3VzZVJlbGVhc2VFdmVudDsKIH0KIAotc3RhdGljIFNjcm9s
bGFibGVBcmVhKiBlbmNsb3NpbmdTY3JvbGxhYmxlQXJlYShOb2RlKiBub2RlKQorU2Nyb2xsYWJs
ZUFyZWEqIEV2ZW50SGFuZGxlcjo6ZW5jbG9zaW5nU2Nyb2xsYWJsZUFyZWEoTm9kZSogbm9kZSkK
IHsKICAgICBmb3IgKGF1dG8gYW5jZXN0b3IgPSBub2RlOyBhbmNlc3RvcjsgYW5jZXN0b3IgPSBh
bmNlc3Rvci0+cGFyZW50T3JTaGFkb3dIb3N0Tm9kZSgpKSB7Ci0gICAgICAgIGlmIChpczxIVE1M
SUZyYW1lRWxlbWVudD4oKmFuY2VzdG9yKSB8fCBpczxIVE1MSHRtbEVsZW1lbnQ+KCphbmNlc3Rv
cikgfHwgaXM8SFRNTERvY3VtZW50PigqYW5jZXN0b3IpKQorICAgICAgICBpZiAoaXM8SFRNTElG
cmFtZUVsZW1lbnQ+KCphbmNlc3RvcikpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAor
ICAgICAgICBpZiAoaXM8SFRNTEh0bWxFbGVtZW50PigqYW5jZXN0b3IpIHx8IGlzPEhUTUxEb2N1
bWVudD4oKmFuY2VzdG9yKSkKKyAgICAgICAgICAgIGJyZWFrOworCiAgICAgICAgIGF1dG8gcmVu
ZGVyZXIgPSBhbmNlc3Rvci0+cmVuZGVyZXIoKTsKICAgICAgICAgaWYgKCFyZW5kZXJlcikKICAg
ICAgICAgICAgIGNvbnRpbnVlOwpAQCAtMTkwMCwxMCArMTkwMywxMyBAQCBzdGF0aWMgU2Nyb2xs
YWJsZUFyZWEqIGVuY2xvc2luZ1Njcm9sbGFibGVBcmVhKE5vZGUqIG5vZGUpCiAgICAgICAgIGlm
ICghbGF5ZXIpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgICAgICByZXR1cm4g
bGF5ZXItPmVuY2xvc2luZ1Njcm9sbGFibGVMYXllcihJbmNsdWRlU2VsZk9yTm90OjpJbmNsdWRl
U2VsZiwgQ3Jvc3NGcmFtZUJvdW5kYXJpZXM6Ok5vKTsKKyAgICAgICAgaWYgKGF1dG8qIHNjcm9s
bGFibGVMYXllciA9IGxheWVyLT5lbmNsb3NpbmdTY3JvbGxhYmxlTGF5ZXIoSW5jbHVkZVNlbGZP
ck5vdDo6SW5jbHVkZVNlbGYsIENyb3NzRnJhbWVCb3VuZGFyaWVzOjpObykpIHsKKyAgICAgICAg
ICAgIGlmICghc2Nyb2xsYWJsZUxheWVyLT5pc1JlbmRlclZpZXdMYXllcigpKQorICAgICAgICAg
ICAgICAgIHJldHVybiBzY3JvbGxhYmxlTGF5ZXI7CisgICAgICAgIH0KICAgICB9CiAKLSAgICBy
ZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gbV9mcmFtZS52aWV3KCk7CiB9CiAKIGJvb2wgRXZl
bnRIYW5kbGVyOjptb3VzZU1vdmVkKGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZXZlbnQpCkBA
IC0xOTIyLDE2ICsxOTI4LDYgQEAgYm9vbCBFdmVudEhhbmRsZXI6Om1vdXNlTW92ZWQoY29uc3Qg
UGxhdGZvcm1Nb3VzZUV2ZW50JiBldmVudCkKICAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVy
biByZXN1bHQ7CiAKLSAgICBpZiAoYXV0byBzY3JvbGxlZEFyZWEgPSBlbmNsb3NpbmdTY3JvbGxh
YmxlQXJlYShoaXRUZXN0UmVzdWx0LmlubmVyTm9kZSgpKSkgewotICAgICAgICBpZiAoRnJhbWVW
aWV3KiBmcmFtZVZpZXcgPSBtX2ZyYW1lLnZpZXcoKSkgewotICAgICAgICAgICAgaWYgKGZyYW1l
Vmlldy0+Y29udGFpbnNTY3JvbGxhYmxlQXJlYShzY3JvbGxlZEFyZWEpKQotICAgICAgICAgICAg
ICAgIHNjcm9sbGVkQXJlYS0+bW91c2VNb3ZlZEluQ29udGVudEFyZWEoKTsKLSAgICAgICAgfQot
ICAgIH0KLQotICAgIGlmIChGcmFtZVZpZXcqIGZyYW1lVmlldyA9IG1fZnJhbWUudmlldygpKQot
ICAgICAgICBmcmFtZVZpZXctPm1vdXNlTW92ZWRJbkNvbnRlbnRBcmVhKCk7ICAKLQogICAgIGhp
dFRlc3RSZXN1bHQuc2V0VG9Ob25Vc2VyQWdlbnRTaGFkb3dBbmNlc3RvcigpOwogICAgIHBhZ2Ut
PmNocm9tZSgpLm1vdXNlRGlkTW92ZU92ZXJFbGVtZW50KGhpdFRlc3RSZXN1bHQsIGV2ZW50Lm1v
ZGlmaWVyRmxhZ3MoKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTIwMjMsNyArMjAxOSw3IEBA
IGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZU1vdmVFdmVudChjb25zdCBQbGF0Zm9ybU1v
dXNlRXZlbnQmIHBsYXRmb3JtTW91c2VFCiAjZW5kaWYKICAgICAgICAgaWYgKG9ubHlVcGRhdGVT
Y3JvbGxiYXJzKSB7CiAgICAgICAgICAgICBpZiAoc2hvdWxkU2VuZE1vdXNlRXZlbnRzVG9JbmFj
dGl2ZVdpbmRvd3MoKSkKLSAgICAgICAgICAgICAgICB1cGRhdGVNb3VzZUV2ZW50VGFyZ2V0Tm9k
ZShtb3VzZUV2ZW50LnRhcmdldE5vZGUoKSwgcGxhdGZvcm1Nb3VzZUV2ZW50LCBGaXJlTW91c2VP
dmVyT3V0OjpZZXMpOworICAgICAgICAgICAgICAgIHVwZGF0ZU1vdXNlRXZlbnRUYXJnZXROb2Rl
KGV2ZW50TmFtZXMoKS5tb3VzZW1vdmVFdmVudCwgbW91c2VFdmVudC50YXJnZXROb2RlKCksIHBs
YXRmb3JtTW91c2VFdmVudCwgRmlyZU1vdXNlT3Zlck91dDo6WWVzKTsKIAogICAgICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgICAgIH0KQEAgLTIwMzgsNyArMjAzNCw3IEBAIGJvb2wgRXZlbnRI
YW5kbGVyOjpoYW5kbGVNb3VzZU1vdmVFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIHBs
YXRmb3JtTW91c2VFCiAKICAgICBpZiAobmV3U3ViZnJhbWUpIHsKICAgICAgICAgLy8gVXBkYXRl
IG92ZXIvb3V0IHN0YXRlIGJlZm9yZSBwYXNzaW5nIHRoZSBldmVudCB0byB0aGUgc3ViZnJhbWUu
Ci0gICAgICAgIHVwZGF0ZU1vdXNlRXZlbnRUYXJnZXROb2RlKG1vdXNlRXZlbnQudGFyZ2V0Tm9k
ZSgpLCBwbGF0Zm9ybU1vdXNlRXZlbnQsIEZpcmVNb3VzZU92ZXJPdXQ6Olllcyk7CisgICAgICAg
IHVwZGF0ZU1vdXNlRXZlbnRUYXJnZXROb2RlKGV2ZW50TmFtZXMoKS5tb3VzZW1vdmVFdmVudCwg
bW91c2VFdmVudC50YXJnZXROb2RlKCksIHBsYXRmb3JtTW91c2VFdmVudCwgRmlyZU1vdXNlT3Zl
ck91dDo6WWVzKTsKICAgICAgICAgCiAgICAgICAgIC8vIEV2ZW50IGRpc3BhdGNoIGluIHVwZGF0
ZU1vdXNlRXZlbnRUYXJnZXROb2RlIG1heSBoYXZlIGNhdXNlZCB0aGUgc3ViZnJhbWUgb2YgdGhl
IHRhcmdldAogICAgICAgICAvLyBub2RlIHRvIGJlIGRldGFjaGVkIGZyb20gaXRzIEZyYW1lVmll
dywgaW4gd2hpY2ggY2FzZSB0aGUgZXZlbnQgc2hvdWxkIG5vdCBiZSBwYXNzZWQuCkBAIC0yNTI1
LDcgKzI1MjEsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6cG9pbnRlckNhcHR1cmVFbGVtZW50RGlk
Q2hhbmdlKEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgc2V0Q2FwdHVyaW5nTW91c2VFdmVudHNFbGVt
ZW50KGVsZW1lbnQpOwogCiAgICAgLy8gTm93IHRoYXQgd2UgaGF2ZSBhIG5ldyBjYXB0dXJlIGVs
ZW1lbnQsIHdlIG5lZWQgdG8gZGlzcGF0Y2ggYm91bmRhcnkgbW91c2UgZXZlbnRzLgotICAgIHVw
ZGF0ZU1vdXNlRXZlbnRUYXJnZXROb2RlKGVsZW1lbnQsIG1fbGFzdFBsYXRmb3JtTW91c2VFdmVu
dCwgRmlyZU1vdXNlT3Zlck91dDo6WWVzKTsKKyAgICB1cGRhdGVNb3VzZUV2ZW50VGFyZ2V0Tm9k
ZShldmVudE5hbWVzKCkuZ290cG9pbnRlcmNhcHR1cmVFdmVudCwgZWxlbWVudCwgbV9sYXN0UGxh
dGZvcm1Nb3VzZUV2ZW50LCBGaXJlTW91c2VPdmVyT3V0OjpZZXMpOwogfQogCiBNb3VzZUV2ZW50
V2l0aEhpdFRlc3RSZXN1bHRzIEV2ZW50SGFuZGxlcjo6cHJlcGFyZU1vdXNlRXZlbnQoY29uc3Qg
SGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgbW91c2VF
dmVudCkKQEAgLTI1NDUsNyArMjU0MSw3IEBAIHN0YXRpYyBib29sIGhpZXJhcmNoeUhhc0NhcHR1
cmluZ0V2ZW50TGlzdGVuZXJzKEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IEF0b21TdHJpCiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCi12b2lkIEV2ZW50SGFuZGxlcjo6dXBkYXRlTW91c2VFdmVudFRh
cmdldE5vZGUoTm9kZSogdGFyZ2V0Tm9kZSwgY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBwbGF0
Zm9ybU1vdXNlRXZlbnQsIEZpcmVNb3VzZU92ZXJPdXQgZmlyZU1vdXNlT3Zlck91dCkKK3ZvaWQg
RXZlbnRIYW5kbGVyOjp1cGRhdGVNb3VzZUV2ZW50VGFyZ2V0Tm9kZShjb25zdCBBdG9tU3RyaW5n
JiBldmVudFR5cGUsIE5vZGUqIHRhcmdldE5vZGUsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYg
cGxhdGZvcm1Nb3VzZUV2ZW50LCBGaXJlTW91c2VPdmVyT3V0IGZpcmVNb3VzZU92ZXJPdXQpCiB7
CiAgICAgUmVmPEZyYW1lPiBwcm90ZWN0ZWRGcmFtZShtX2ZyYW1lKTsKICAgICBFbGVtZW50KiB0
YXJnZXRFbGVtZW50ID0gbnVsbHB0cjsKQEAgLTI1NjcsNyArMjU2Myw3IEBAIHZvaWQgRXZlbnRI
YW5kbGVyOjp1cGRhdGVNb3VzZUV2ZW50VGFyZ2V0Tm9kZShOb2RlKiB0YXJnZXROb2RlLCBjb25z
dCBQbGF0Zm9ybU1vCiAKICAgICAvLyBGaXJlIG1vdXNlb3V0L21vdXNlb3ZlciBpZiB0aGUgbW91
c2UgaGFzIHNoaWZ0ZWQgdG8gYSBkaWZmZXJlbnQgbm9kZS4KICAgICBpZiAoZmlyZU1vdXNlT3Zl
ck91dCA9PSBGaXJlTW91c2VPdmVyT3V0OjpZZXMpIHsKLSAgICAgICAgbm90aWZ5U2Nyb2xsYWJs
ZUFyZWFzT2ZNb3VzZUVudGVyRXhpdChtX2xhc3RFbGVtZW50VW5kZXJNb3VzZS5nZXQoKSwgbV9l
bGVtZW50VW5kZXJNb3VzZS5nZXQoKSk7CisgICAgICAgIG5vdGlmeVNjcm9sbGFibGVBcmVhc09m
TW91c2VFdmVudHMoZXZlbnRUeXBlLCBtX2xhc3RFbGVtZW50VW5kZXJNb3VzZS5nZXQoKSwgbV9l
bGVtZW50VW5kZXJNb3VzZS5nZXQoKSk7CiAKICAgICAgICAgaWYgKG1fbGFzdEVsZW1lbnRVbmRl
ck1vdXNlICYmICZtX2xhc3RFbGVtZW50VW5kZXJNb3VzZS0+ZG9jdW1lbnQoKSAhPSBtX2ZyYW1l
LmRvY3VtZW50KCkpIHsKICAgICAgICAgICAgIG1fbGFzdEVsZW1lbnRVbmRlck1vdXNlID0gbnVs
bHB0cjsKQEAgLTI2MjQsNyArMjYyMCw3IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjp1cGRhdGVNb3Vz
ZUV2ZW50VGFyZ2V0Tm9kZShOb2RlKiB0YXJnZXROb2RlLCBjb25zdCBQbGF0Zm9ybU1vCiAgICAg
fQogfQogCi12b2lkIEV2ZW50SGFuZGxlcjo6bm90aWZ5U2Nyb2xsYWJsZUFyZWFzT2ZNb3VzZUVu
dGVyRXhpdChFbGVtZW50KiBsYXN0RWxlbWVudFVuZGVyTW91c2UsIEVsZW1lbnQqIGVsZW1lbnRV
bmRlck1vdXNlKQordm9pZCBFdmVudEhhbmRsZXI6Om5vdGlmeVNjcm9sbGFibGVBcmVhc09mTW91
c2VFdmVudHMoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFbGVtZW50KiBsYXN0RWxlbWVu
dFVuZGVyTW91c2UsIEVsZW1lbnQqIGVsZW1lbnRVbmRlck1vdXNlKQogewogICAgIGF1dG8qIGZy
YW1lVmlldyA9IG1fZnJhbWUudmlldygpOwogICAgIGlmICghZnJhbWVWaWV3KQpAQCAtMjYzNSwy
NCArMjYzMSw0MSBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6bm90aWZ5U2Nyb2xsYWJsZUFyZWFzT2ZN
b3VzZUVudGVyRXhpdChFbGVtZW50KiBsYXN0RWxlbWVudFVuZAogCiAgICAgaWYgKCEhbGFzdEVs
ZW1lbnRVbmRlck1vdXNlICE9ICEhZWxlbWVudFVuZGVyTW91c2UpIHsKICAgICAgICAgaWYgKGVs
ZW1lbnRVbmRlck1vdXNlKSB7Ci0gICAgICAgICAgICBmcmFtZVZpZXctPm1vdXNlRW50ZXJlZENv
bnRlbnRBcmVhKCk7CisgICAgICAgICAgICBpZiAoc2Nyb2xsYWJsZUFyZWFGb3JOb2RlVW5kZXJN
b3VzZSAhPSBmcmFtZVZpZXcpCisgICAgICAgICAgICAgICAgZnJhbWVWaWV3LT5tb3VzZUVudGVy
ZWRDb250ZW50QXJlYSgpOworCiAgICAgICAgICAgICBpZiAoc2Nyb2xsYWJsZUFyZWFGb3JOb2Rl
VW5kZXJNb3VzZSkKICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlQXJlYUZvck5vZGVVbmRlck1v
dXNlLT5tb3VzZUVudGVyZWRDb250ZW50QXJlYSgpOwogICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAgaWYgKHNjcm9sbGFibGVBcmVhRm9yTGFzdE5vZGUpCiAgICAgICAgICAgICAgICAgc2Ny
b2xsYWJsZUFyZWFGb3JMYXN0Tm9kZS0+bW91c2VFeGl0ZWRDb250ZW50QXJlYSgpOwotICAgICAg
ICAgICAgZnJhbWVWaWV3LT5tb3VzZUV4aXRlZENvbnRlbnRBcmVhKCk7CisKKyAgICAgICAgICAg
IGlmIChzY3JvbGxhYmxlQXJlYUZvckxhc3ROb2RlICE9IGZyYW1lVmlldykKKyAgICAgICAgICAg
ICAgICBmcmFtZVZpZXctPm1vdXNlRXhpdGVkQ29udGVudEFyZWEoKTsKICAgICAgICAgfQogICAg
ICAgICByZXR1cm47CiAgICAgfQotICAgIAotICAgIGlmICgoIXNjcm9sbGFibGVBcmVhRm9yTGFz
dE5vZGUgJiYgIXNjcm9sbGFibGVBcmVhRm9yTm9kZVVuZGVyTW91c2UpIHx8IHNjcm9sbGFibGVB
cmVhRm9yTGFzdE5vZGUgPT0gc2Nyb2xsYWJsZUFyZWFGb3JOb2RlVW5kZXJNb3VzZSkKKworICAg
IGlmICghc2Nyb2xsYWJsZUFyZWFGb3JMYXN0Tm9kZSAmJiAhc2Nyb2xsYWJsZUFyZWFGb3JOb2Rl
VW5kZXJNb3VzZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gRklYTUU6IFRoaXMgZG9lcyBk
b2Vzbid0IGhhbmRsZSBuZXN0ZWQgU2Nyb2xsYWJsZUFyZWFzIHdlbGwuIEl0IHJlYWxseSBuZWVk
cyB0byBrbm93CisgICAgLy8gdGhlIGhpZXJhcmNoaWNhbCByZWxhdGlvbnNoaXAgYmV0d2VlbiBz
Y3JvbGxhYmxlQXJlYUZvckxhc3ROb2RlIGFuZCBzY3JvbGxhYmxlQXJlYUZvck5vZGVVbmRlck1v
dXNlLgorICAgIGJvb2wgbW92ZWRCZXR3ZWVuU2Nyb2xsYWJsZWFBcmVhcyA9IHNjcm9sbGFibGVB
cmVhRm9yTGFzdE5vZGUgJiYgc2Nyb2xsYWJsZUFyZWFGb3JOb2RlVW5kZXJNb3VzZSAmJiAoc2Ny
b2xsYWJsZUFyZWFGb3JMYXN0Tm9kZSAhPSBzY3JvbGxhYmxlQXJlYUZvck5vZGVVbmRlck1vdXNl
KTsKKyAgICBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5tb3VzZW1vdmVFdmVudCkgewor
ICAgICAgICBmcmFtZVZpZXctPm1vdXNlTW92ZWRJbkNvbnRlbnRBcmVhKCk7CisKKyAgICAgICAg
aWYgKCFtb3ZlZEJldHdlZW5TY3JvbGxhYmxlYUFyZWFzICYmIHNjcm9sbGFibGVBcmVhRm9yTm9k
ZVVuZGVyTW91c2UgJiYgc2Nyb2xsYWJsZUFyZWFGb3JOb2RlVW5kZXJNb3VzZSAhPSBmcmFtZVZp
ZXcpCisgICAgICAgICAgICBzY3JvbGxhYmxlQXJlYUZvck5vZGVVbmRlck1vdXNlLT5tb3VzZU1v
dmVkSW5Db250ZW50QXJlYSgpOworICAgIH0KKworICAgIGlmICghbW92ZWRCZXR3ZWVuU2Nyb2xs
YWJsZWFBcmVhcykKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKHNjcm9sbGFibGVBcmVhRm9y
TGFzdE5vZGUpCisgICAgaWYgKHNjcm9sbGFibGVBcmVhRm9yTGFzdE5vZGUgJiYgc2Nyb2xsYWJs
ZUFyZWFGb3JMYXN0Tm9kZSAhPSBmcmFtZVZpZXcpCiAgICAgICAgIHNjcm9sbGFibGVBcmVhRm9y
TGFzdE5vZGUtPm1vdXNlRXhpdGVkQ29udGVudEFyZWEoKTsKIAotICAgIGlmIChzY3JvbGxhYmxl
QXJlYUZvck5vZGVVbmRlck1vdXNlKQorICAgIGlmIChzY3JvbGxhYmxlQXJlYUZvck5vZGVVbmRl
ck1vdXNlICYmIHNjcm9sbGFibGVBcmVhRm9yTm9kZVVuZGVyTW91c2UgIT0gZnJhbWVWaWV3KQog
ICAgICAgICBzY3JvbGxhYmxlQXJlYUZvck5vZGVVbmRlck1vdXNlLT5tb3VzZUVudGVyZWRDb250
ZW50QXJlYSgpOwogfQogCkBAIC0yNjczLDcgKzI2ODYsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6
ZGlzcGF0Y2hNb3VzZUV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgTm9kZSogdGFy
Z2V0TgogewogICAgIFJlZjxGcmFtZT4gcHJvdGVjdGVkRnJhbWUobV9mcmFtZSk7CiAKLSAgICB1
cGRhdGVNb3VzZUV2ZW50VGFyZ2V0Tm9kZSh0YXJnZXROb2RlLCBwbGF0Zm9ybU1vdXNlRXZlbnQs
IGZpcmVNb3VzZU92ZXJPdXQpOworICAgIHVwZGF0ZU1vdXNlRXZlbnRUYXJnZXROb2RlKGV2ZW50
VHlwZSwgdGFyZ2V0Tm9kZSwgcGxhdGZvcm1Nb3VzZUV2ZW50LCBmaXJlTW91c2VPdmVyT3V0KTsK
IAogICAgIGlmIChtX2VsZW1lbnRVbmRlck1vdXNlICYmICFtX2VsZW1lbnRVbmRlck1vdXNlLT5k
aXNwYXRjaE1vdXNlRXZlbnQocGxhdGZvcm1Nb3VzZUV2ZW50LCBldmVudFR5cGUsIGNsaWNrQ291
bnQpKQogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0V2ZW50SGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApp
bmRleCA3YjRmMjc4OTczODFiMDViMTBjOGZkMTEyY2M2NjA0MjQ3ZjViODhhLi5lZjFkNDhlNGRl
ZTVmNDZjODk4OTVjZmFjNmM3MWU2MmEyNzNjOTY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmgKQEAgLTQwNCw5ICs0MDQsMTAgQEAgcHJpdmF0ZToKICAgICBOb2RlKiBub2RlVW5kZXJN
b3VzZSgpIGNvbnN0OwogICAgIAogICAgIGVudW0gY2xhc3MgRmlyZU1vdXNlT3Zlck91dCB7IE5v
LCBZZXMgfTsKLSAgICB2b2lkIHVwZGF0ZU1vdXNlRXZlbnRUYXJnZXROb2RlKE5vZGUqLCBjb25z
dCBQbGF0Zm9ybU1vdXNlRXZlbnQmLCBGaXJlTW91c2VPdmVyT3V0KTsKKyAgICB2b2lkIHVwZGF0
ZU1vdXNlRXZlbnRUYXJnZXROb2RlKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgTm9kZSos
IGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYsIEZpcmVNb3VzZU92ZXJPdXQpOwogCi0gICAgdm9p
ZCBub3RpZnlTY3JvbGxhYmxlQXJlYXNPZk1vdXNlRW50ZXJFeGl0KEVsZW1lbnQqIGxhc3RFbGVt
ZW50VW5kZXJNb3VzZSwgRWxlbWVudCogZWxlbWVudFVuZGVyTW91c2UpOworICAgIFNjcm9sbGFi
bGVBcmVhKiBlbmNsb3NpbmdTY3JvbGxhYmxlQXJlYShOb2RlKik7CisgICAgdm9pZCBub3RpZnlT
Y3JvbGxhYmxlQXJlYXNPZk1vdXNlRXZlbnRzKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwg
RWxlbWVudCogbGFzdEVsZW1lbnRVbmRlck1vdXNlLCBFbGVtZW50KiBlbGVtZW50VW5kZXJNb3Vz
ZSk7CiAKICAgICBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzIHByZXBhcmVNb3VzZUV2ZW50
KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50Jik7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0V2ZW50SGFuZGxlcklPUy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0V2ZW50SGFuZGxlcklPUy5tbQppbmRleCBlNzczMmNhMjU0
MmEzNzYxYzQ0N2I0NWVlYTI4Yzk0ODZjYmExZTUzLi5jZjc4MzkzZGUyMGY1MGFhNmRiZDdlMWI1
ZDM3MDJlNWU2YTRmMjdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9FdmVu
dEhhbmRsZXJJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9pb3MvRXZlbnRIYW5kbGVy
SU9TLm1tCkBAIC0zNSw2ICszNSw3IEBACiAjaW1wb3J0ICJDb250ZW50Q2hhbmdlT2JzZXJ2ZXIu
aCIKICNpbXBvcnQgIkRhdGFUcmFuc2Zlci5oIgogI2ltcG9ydCAiRHJhZ1N0YXRlLmgiCisjaW1w
b3J0ICJFdmVudE5hbWVzLmgiCiAjaW1wb3J0ICJGb2N1c0NvbnRyb2xsZXIuaCIKICNpbXBvcnQg
IkZyYW1lLmgiCiAjaW1wb3J0ICJGcmFtZVZpZXcuaCIKQEAgLTUyNSw3ICs1MjYsNyBAQCBzdGF0
aWMgYm9vbCBmcmFtZUhhc1BsYXRmb3JtV2lkZ2V0KGNvbnN0IEZyYW1lJiBmcmFtZSkKIAogdm9p
ZCBFdmVudEhhbmRsZXI6OmRpc3BhdGNoU3ludGhldGljTW91c2VPdXQoY29uc3QgUGxhdGZvcm1N
b3VzZUV2ZW50JiBwbGF0Zm9ybU1vdXNlRXZlbnQpCiB7Ci0gICAgdXBkYXRlTW91c2VFdmVudFRh
cmdldE5vZGUobnVsbHB0ciwgcGxhdGZvcm1Nb3VzZUV2ZW50LCBGaXJlTW91c2VPdmVyT3V0OjpZ
ZXMpOworICAgIHVwZGF0ZU1vdXNlRXZlbnRUYXJnZXROb2RlKGV2ZW50TmFtZXMoKS5tb3VzZW91
dEV2ZW50LCBudWxscHRyLCBwbGF0Zm9ybU1vdXNlRXZlbnQsIEZpcmVNb3VzZU92ZXJPdXQ6Olll
cyk7CiB9CiAKIHZvaWQgRXZlbnRIYW5kbGVyOjpkaXNwYXRjaFN5bnRoZXRpY01vdXNlTW92ZShj
b25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIHBsYXRmb3JtTW91c2VFdmVudCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IGNiOTJkZjMwMWNmOWFjMDg1NjNjYTg3
M2I2ZjQwNWJiMzc5MzUwNWQuLjkwZmU0MzdiYThiODUwNTMyYjI0YWQ0MDk3YzE1MTc3YzgwYzZh
ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMzYzOSw3
ICszNjM5LDcgQEAgU3RyaW5nIFJlbmRlckxheWVyOjpkZWJ1Z0Rlc2NyaXB0aW9uKCkgY29uc3QK
ICAgICBpZiAoaXNDb21wb3NpdGVkKCkpIHsKICAgICAgICAgLy8gT2ggZm9yIGJldHRlciBTdHJp
bmdCdWlsZGVyL1RleHRTdHJlYW0gaW50ZWdyYXRpb24uCiAgICAgICAgIFRleHRTdHJlYW0gc3Ry
ZWFtOwotICAgICAgICBzdHJlYW0gPDwgKmJhY2tpbmcoKTsKKyAgICAgICAgc3RyZWFtIDw8ICIg
IiA8PCAqYmFja2luZygpOwogICAgICAgICBidWlsZGVyLmFwcGVuZChzdHJlYW0ucmVsZWFzZSgp
KTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggYTQy
ODAzM2U4ZDhlYWQxYmI1OWNkNjg0ZmY2ODUxNmI4N2I0YWVjYi4uMjAzOTNmYmMzNjdjMjcwZDBi
MGIwYjRmM2Y4YzIxNTJiMmIyYWFjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmgKQEAgLTQ2Miw2ICs0NjIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBhcHBseVBvc3RMYXlv
dXRTY3JvbGxQb3NpdGlvbklmTmVlZGVkKCk7CiAKICAgICAvLyBSZXR1cm5zIHRoZSBuZWFyZXN0
IGVuY2xvc2luZyBsYXllciB0aGF0IGlzIHNjcm9sbGFibGUuCisgICAgLy8gRklYTUU6IFRoaXMg
Y2FuIHJldHVybiB0aGUgUmVuZGVyVmlldydzIGxheWVyIHdoZW4gY2FsbGVycyBwcm9iYWJseSB3
YW50IHRoZSBGcmFtZVZpZXcgYXMgYSBTY3JvbGxhYmxlQXJlYS4KICAgICBSZW5kZXJMYXllciog
ZW5jbG9zaW5nU2Nyb2xsYWJsZUxheWVyKEluY2x1ZGVTZWxmT3JOb3QsIENyb3NzRnJhbWVCb3Vu
ZGFyaWVzKSBjb25zdDsKIAogICAgIHZvaWQgYXZhaWxhYmxlQ29udGVudFNpemVDaGFuZ2VkKEF2
YWlsYWJsZVNpemVDaGFuZ2VSZWFzb24pIGZpbmFsOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGVmNzZiNTYxZjVmZGY5MDY5
NDc4Yzg2YzQ5NjRmNmNlY2UxNWNhZWYuLjhmZWQxOTIwOWIwZGJkN2YxMDkwZTIxOWJkOWUxNjMz
YTZlNmVjZGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAyMC0wNS0wNyAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBPdmVyZmxvdyBzY3JvbGxlcnMg
aW4gaWZyYW1lcyBkb24ndCBnZXQgbW91c2VNb3ZlZEluQ29udGVudEFyZWEoKQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExMzQ3CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS82Mjc4NDU2MD4KKworICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9u
LgorCisgICAgICAgIFRoZSBvcmRlcmluZyBvZiBjYWxsYmFja3MgaW4gdGhlIHNjcm9sbC1hbmlt
YXRvciB0ZXN0cyBjaGFuZ2VkLCBidXQgaW4gd2F5cyB0aGF0IGRvbid0IG1hdGVyaWFsbHkKKyAg
ICAgICAgYWZmZWN0IGJlaGF2aW9yLiBUd28gbmV3IHJlYWwgb3ZlcmxheSBzY3JvbGxiYXIgdGVz
dHMuCisKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9vdmVyZmxvdy1p
bi1pZnJhbWUtb3ZlcmxheS1zY3JvbGxiYXItaG92ZXJlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93LWluLWlmcmFt
ZS1vdmVybGF5LXNjcm9sbGJhci1ob3ZlcmVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
c2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93LWluLWlmcmFtZS1vdmVybGF5LXNjcm9s
bGJhci1yZXZlYWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Njcm9sbGlu
Zy9tYWMvc2Nyb2xsYmFycy9vdmVyZmxvdy1pbi1pZnJhbWUtb3ZlcmxheS1zY3JvbGxiYXItcmV2
ZWFsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1hbmltYXRv
ci1iYXNpYy1ldmVudHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3Nj
cm9sbC1hbmltYXRvci1vdmVybGF5LXNjcm9sbGJhcnMtY2xpY2tlZC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWFuaW1hdG9yLW92ZXJsYXktc2Nyb2xsYmFy
cy1ob3ZlcmVkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9zY3JvbGwt
YW5pbWF0b3Itc2VsZWN0LWxpc3QtZXZlbnRzLWV4cGVjdGVkLnR4dDoKKwogMjAyMC0wNS0wNyAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIG1h
cmsgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2Jyb3dzaW5n
LXRoZS13ZWIvaGlzdG9yeS10cmF2ZXJzYWwvc2Nyb2xsLXJlc3RvcmF0aW9uLW9yZGVyLmh0bWwg
YXMgZmxha3kgb24gaU9TLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
c2Nyb2xsLWFuaW1hdG9yLWJhc2ljLWV2ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9zY3JvbGwtYW5pbWF0b3ItYmFzaWMtZXZlbnRzLWV4cGVjdGVkLnR4dApp
bmRleCBmODlhNjk3NzMxZmRlYmVjMmU2ODcxYTUwMGU5NGU3ZDE5NmQ0NGNmLi45MzZiZWQyNWMy
NzE3ZjUyMWRjNTZkNTMyNjMwOWRiODY5NGEyNjE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9zY3JvbGwtYW5pbWF0b3ItYmFzaWMtZXZlbnRzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9zY3JvbGwtYW5pbWF0b3ItYmFzaWMtZXZl
bnRzLWV4cGVjdGVkLnR4dApAQCAtMSwxNiArMSwxNCBAQAogQ09OU09MRSBNRVNTQUdFOiBNYWlu
RnJhbWVWaWV3OiBtb3VzZUVudGVyZWRDb250ZW50QXJlYQogQ09OU09MRSBNRVNTQUdFOiBNYWlu
RnJhbWVWaWV3OiBtb3VzZU1vdmVkSW5Db250ZW50QXJlYQogQ09OU09MRSBNRVNTQUdFOiBSZW5k
ZXJMYXllcjogbW91c2VFbnRlcmVkQ29udGVudEFyZWEKLUNPTlNPTEUgTUVTU0FHRTogUmVuZGVy
TGF5ZXI6IG1vdXNlTW92ZWRJbkNvbnRlbnRBcmVhCi1DT05TT0xFIE1FU1NBR0U6IE1haW5GcmFt
ZVZpZXc6IG1vdXNlTW92ZWRJbkNvbnRlbnRBcmVhCiBDT05TT0xFIE1FU1NBR0U6IFJlbmRlckxh
eWVyOiBtb3VzZUVudGVyZWRWZXJ0aWNhbFNjcm9sbGJhcgotQ09OU09MRSBNRVNTQUdFOiBSZW5k
ZXJMYXllcjogbW91c2VNb3ZlZEluQ29udGVudEFyZWEKIENPTlNPTEUgTUVTU0FHRTogTWFpbkZy
YW1lVmlldzogbW91c2VNb3ZlZEluQ29udGVudEFyZWEKK0NPTlNPTEUgTUVTU0FHRTogUmVuZGVy
TGF5ZXI6IG1vdXNlTW92ZWRJbkNvbnRlbnRBcmVhCiBDT05TT0xFIE1FU1NBR0U6IFJlbmRlckxh
eWVyOiBtb3VzZUlzRG93bkluVmVydGljYWxTY3JvbGxiYXIKIENPTlNPTEUgTUVTU0FHRTogUmVu
ZGVyTGF5ZXI6IG1vdXNlSXNVcEluVmVydGljYWxTY3JvbGxiYXIKIENPTlNPTEUgTUVTU0FHRTog
UmVuZGVyTGF5ZXI6IG1vdXNlRXhpdGVkVmVydGljYWxTY3JvbGxiYXIKLUNPTlNPTEUgTUVTU0FH
RTogUmVuZGVyTGF5ZXI6IG1vdXNlRXhpdGVkQ29udGVudEFyZWEKIENPTlNPTEUgTUVTU0FHRTog
TWFpbkZyYW1lVmlldzogbW91c2VNb3ZlZEluQ29udGVudEFyZWEKK0NPTlNPTEUgTUVTU0FHRTog
UmVuZGVyTGF5ZXI6IG1vdXNlRXhpdGVkQ29udGVudEFyZWEKIFRoaXMgaXMgYSBzY3JvbGxhYmxl
IGRpdi4KIAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWFuaW1hdG9yLW92ZXJsYXktc2Nyb2xsYmFy
cy1jbGlja2VkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9s
bC1hbmltYXRvci1vdmVybGF5LXNjcm9sbGJhcnMtY2xpY2tlZC1leHBlY3RlZC50eHQKaW5kZXgg
OWMzNjllYTM1ZDRkNmZhNWY2MzY2ZDZjZDJhNTdjNjgzNDExN2Q0Ni4uNWRhMTZhYzliOWJkMTli
ODEzY2E5ZGExYzg1ZGViYTg2NzljMzU3YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvc2Nyb2xsLWFuaW1hdG9yLW92ZXJsYXktc2Nyb2xsYmFycy1jbGlja2VkLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9zY3JvbGwtYW5pbWF0b3It
b3ZlcmxheS1zY3JvbGxiYXJzLWNsaWNrZWQtZXhwZWN0ZWQudHh0CkBAIC0xLDggKzEsNyBAQAog
Q09OU09MRSBNRVNTQUdFOiBNYWluRnJhbWVWaWV3OiBtb3VzZUVudGVyZWRDb250ZW50QXJlYQot
Q09OU09MRSBNRVNTQUdFOiBNYWluRnJhbWVWaWV3OiBtb3VzZU1vdmVkSW5Db250ZW50QXJlYQog
Q09OU09MRSBNRVNTQUdFOiBNYWluRnJhbWVWaWV3OiBtb3VzZUVudGVyZWRWZXJ0aWNhbFNjcm9s
bGJhcgotQ09OU09MRSBNRVNTQUdFOiBGcmFtZVZpZXc6IG1vdXNlRW50ZXJlZENvbnRlbnRBcmVh
CiBDT05TT0xFIE1FU1NBR0U6IE1haW5GcmFtZVZpZXc6IG1vdXNlTW92ZWRJbkNvbnRlbnRBcmVh
CitDT05TT0xFIE1FU1NBR0U6IEZyYW1lVmlldzogbW91c2VFbnRlcmVkQ29udGVudEFyZWEKIENP
TlNPTEUgTUVTU0FHRTogTWFpbkZyYW1lVmlldzogbW91c2VJc0Rvd25JblZlcnRpY2FsU2Nyb2xs
YmFyCiBDT05TT0xFIE1FU1NBR0U6IE1haW5GcmFtZVZpZXc6IG1vdXNlSXNVcEluVmVydGljYWxT
Y3JvbGxiYXIKIENPTlNPTEUgTUVTU0FHRTogTWFpbkZyYW1lVmlldzogbW91c2VFeGl0ZWRWZXJ0
aWNhbFNjcm9sbGJhcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvc2Ny
b2xsLWFuaW1hdG9yLW92ZXJsYXktc2Nyb2xsYmFycy1ob3ZlcmVkLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1hbmltYXRvci1vdmVybGF5LXNjcm9sbGJh
cnMtaG92ZXJlZC1leHBlY3RlZC50eHQKaW5kZXggMzk3NmNjMTI5N2MxNTQzMDYwMjg0MjJlNWRl
ZDc3MWRkZDQ2NGQ0OC4uYjMyOWQzNmQwMTg0NWMyYjg1NTUyZjQ5MDI2N2U0ZmE1OTQ1NjcwNyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWFuaW1hdG9yLW92
ZXJsYXktc2Nyb2xsYmFycy1ob3ZlcmVkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9zY3JvbGwtYW5pbWF0b3Itb3ZlcmxheS1zY3JvbGxiYXJzLWhvdmVyZWQt
ZXhwZWN0ZWQudHh0CkBAIC0yLDcgKzIsNiBAQCBDT05TT0xFIE1FU1NBR0U6IE1haW5GcmFtZVZp
ZXc6IG1vdXNlRW50ZXJlZENvbnRlbnRBcmVhCiBDT05TT0xFIE1FU1NBR0U6IE1haW5GcmFtZVZp
ZXc6IG1vdXNlTW92ZWRJbkNvbnRlbnRBcmVhCiBDT05TT0xFIE1FU1NBR0U6IEZyYW1lVmlldzog
bW91c2VFbnRlcmVkSG9yaXpvbnRhbFNjcm9sbGJhcgogQ09OU09MRSBNRVNTQUdFOiBGcmFtZVZp
ZXc6IG1vdXNlRW50ZXJlZENvbnRlbnRBcmVhCi1DT05TT0xFIE1FU1NBR0U6IE1haW5GcmFtZVZp
ZXc6IG1vdXNlTW92ZWRJbkNvbnRlbnRBcmVhCiBDT05TT0xFIE1FU1NBR0U6IEZyYW1lVmlldzog
bW91c2VFeGl0ZWRIb3Jpem9udGFsU2Nyb2xsYmFyCiBDT05TT0xFIE1FU1NBR0U6IEZyYW1lVmll
dzogbW91c2VFeGl0ZWRDb250ZW50QXJlYQogQ09OU09MRSBNRVNTQUdFOiBNYWluRnJhbWVWaWV3
OiBtb3VzZU1vdmVkSW5Db250ZW50QXJlYQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvc2Nyb2xsLWFuaW1hdG9yLXNlbGVjdC1saXN0LWV2ZW50cy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9zY3JvbGwtYW5pbWF0b3Itc2VsZWN0LWxpc3Qt
ZXZlbnRzLWV4cGVjdGVkLnR4dAppbmRleCBiYzM3NmNkNzU2YzMwMWJlNDE3Y2Q3Njc4Y2RmMmNj
NjJjNWNkNmFlLi41MGQ3NDdiMWVhMzg1NjhhODdlNTM3NjZjYjI2NTVmOTZmZWQ1NjJlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9zY3JvbGwtYW5pbWF0b3Itc2VsZWN0
LWxpc3QtZXZlbnRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9zY3JvbGwtYW5pbWF0b3Itc2VsZWN0LWxpc3QtZXZlbnRzLWV4cGVjdGVkLnR4dApAQCAtMSwx
NiArMSwxNCBAQAogQ09OU09MRSBNRVNTQUdFOiBNYWluRnJhbWVWaWV3OiBtb3VzZUVudGVyZWRD
b250ZW50QXJlYQogQ09OU09MRSBNRVNTQUdFOiBNYWluRnJhbWVWaWV3OiBtb3VzZU1vdmVkSW5D
b250ZW50QXJlYQogQ09OU09MRSBNRVNTQUdFOiBSZW5kZXJMaXN0Qm94OiBtb3VzZUVudGVyZWRD
b250ZW50QXJlYQotQ09OU09MRSBNRVNTQUdFOiBSZW5kZXJMaXN0Qm94OiBtb3VzZU1vdmVkSW5D
b250ZW50QXJlYQotQ09OU09MRSBNRVNTQUdFOiBNYWluRnJhbWVWaWV3OiBtb3VzZU1vdmVkSW5D
b250ZW50QXJlYQogQ09OU09MRSBNRVNTQUdFOiBSZW5kZXJMaXN0Qm94OiBtb3VzZUVudGVyZWRW
ZXJ0aWNhbFNjcm9sbGJhcgotQ09OU09MRSBNRVNTQUdFOiBSZW5kZXJMaXN0Qm94OiBtb3VzZU1v
dmVkSW5Db250ZW50QXJlYQogQ09OU09MRSBNRVNTQUdFOiBNYWluRnJhbWVWaWV3OiBtb3VzZU1v
dmVkSW5Db250ZW50QXJlYQorQ09OU09MRSBNRVNTQUdFOiBSZW5kZXJMaXN0Qm94OiBtb3VzZU1v
dmVkSW5Db250ZW50QXJlYQogQ09OU09MRSBNRVNTQUdFOiBSZW5kZXJMaXN0Qm94OiBtb3VzZUlz
RG93bkluVmVydGljYWxTY3JvbGxiYXIKIENPTlNPTEUgTUVTU0FHRTogUmVuZGVyTGlzdEJveDog
bW91c2VJc1VwSW5WZXJ0aWNhbFNjcm9sbGJhcgogQ09OU09MRSBNRVNTQUdFOiBSZW5kZXJMaXN0
Qm94OiBtb3VzZUV4aXRlZFZlcnRpY2FsU2Nyb2xsYmFyCi1DT05TT0xFIE1FU1NBR0U6IFJlbmRl
ckxpc3RCb3g6IG1vdXNlRXhpdGVkQ29udGVudEFyZWEKIENPTlNPTEUgTUVTU0FHRTogTWFpbkZy
YW1lVmlldzogbW91c2VNb3ZlZEluQ29udGVudEFyZWEKK0NPTlNPTEUgTUVTU0FHRTogUmVuZGVy
TGlzdEJveDogbW91c2VFeGl0ZWRDb250ZW50QXJlYQogVGVzdCBmb3IgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MzM5OC4KIAogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1hbmltYXRvci1iYXNp
Yy1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9mYXN0
L3Njcm9sbGluZy9zY3JvbGwtYW5pbWF0b3ItYmFzaWMtZXZlbnRzLWV4cGVjdGVkLnR4dAppbmRl
eCAyZmUwNzY1Njk1MmZmNDE2MTBmZTQ5MDc5NWQ5MmY5ODA1NjdhMzg0Li42MGNkYjY2YzFmMGEy
YjEwN2Y1ODQxN2IzMzJlZjg3ZjYxNTFmOTQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2sxL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1hbmltYXRvci1iYXNpYy1ldmVudHMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvZmFzdC9zY3Jv
bGxpbmcvc2Nyb2xsLWFuaW1hdG9yLWJhc2ljLWV2ZW50cy1leHBlY3RlZC50eHQKQEAgLTEsNSAr
MSw0IEBACiBDT05TT0xFIE1FU1NBR0U6IFJlbmRlckxheWVyOiBtb3VzZUVudGVyZWRDb250ZW50
QXJlYQotQ09OU09MRSBNRVNTQUdFOiBSZW5kZXJMYXllcjogbW91c2VNb3ZlZEluQ29udGVudEFy
ZWEKIENPTlNPTEUgTUVTU0FHRTogUmVuZGVyTGF5ZXI6IG1vdXNlRW50ZXJlZFZlcnRpY2FsU2Ny
b2xsYmFyCiBDT05TT0xFIE1FU1NBR0U6IFJlbmRlckxheWVyOiBtb3VzZU1vdmVkSW5Db250ZW50
QXJlYQogQ09OU09MRSBNRVNTQUdFOiBSZW5kZXJMYXllcjogbW91c2VJc0Rvd25JblZlcnRpY2Fs
U2Nyb2xsYmFyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2Zhc3Qv
c2Nyb2xsaW5nL3Njcm9sbC1hbmltYXRvci1zZWxlY3QtbGlzdC1ldmVudHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9mYXN0L3Njcm9sbGluZy9zY3JvbGwtYW5p
bWF0b3Itc2VsZWN0LWxpc3QtZXZlbnRzLWV4cGVjdGVkLnR4dAppbmRleCBhMzZhNjdiZDhhY2Fj
MDc5MjI2MmE3YmU1NDhiZjc5MzQ5Nzk0MWZjLi5lZmEwZTE2MmM0YjM2NDc4NDY2M2NlYjA2NzE3
M2I4M2RhMTYxZDc4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2Zh
c3Qvc2Nyb2xsaW5nL3Njcm9sbC1hbmltYXRvci1zZWxlY3QtbGlzdC1ldmVudHMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvZmFzdC9zY3JvbGxpbmcvc2Ny
b2xsLWFuaW1hdG9yLXNlbGVjdC1saXN0LWV2ZW50cy1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw0
IEBACiBDT05TT0xFIE1FU1NBR0U6IFJlbmRlckxpc3RCb3g6IG1vdXNlRW50ZXJlZENvbnRlbnRB
cmVhCi1DT05TT0xFIE1FU1NBR0U6IFJlbmRlckxpc3RCb3g6IG1vdXNlTW92ZWRJbkNvbnRlbnRB
cmVhCiBDT05TT0xFIE1FU1NBR0U6IFJlbmRlckxpc3RCb3g6IG1vdXNlRW50ZXJlZFZlcnRpY2Fs
U2Nyb2xsYmFyCiBDT05TT0xFIE1FU1NBR0U6IFJlbmRlckxpc3RCb3g6IG1vdXNlTW92ZWRJbkNv
bnRlbnRBcmVhCiBDT05TT0xFIE1FU1NBR0U6IFJlbmRlckxpc3RCb3g6IG1vdXNlSXNEb3duSW5W
ZXJ0aWNhbFNjcm9sbGJhcgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>