<?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>109122</bug_id>
          
          <creation_ts>2013-02-06 18:14:55 -0800</creation_ts>
          <short_desc>Add WebGL Conformance Tests rendering folder.</short_desc>
          <delta_ts>2013-02-07 05:38:05 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>94643</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Gregg Tavares">gman</reporter>
          <assigned_to name="Gregg Tavares">gman</assigned_to>
          <cc>kbr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>826957</commentid>
    <comment_count>0</comment_count>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-06 18:14:55 -0800</bug_when>
    <thetext>Add WebGL Conformance Tests rendering folder.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826959</commentid>
    <comment_count>1</comment_count>
      <attachid>186969</attachid>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-06 18:15:16 -0800</bug_when>
    <thetext>Created attachment 186969
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826991</commentid>
    <comment_count>2</comment_count>
      <attachid>186969</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-02-06 18:52:09 -0800</bug_when>
    <thetext>Comment on attachment 186969
Patch

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>827368</commentid>
    <comment_count>3</comment_count>
      <attachid>186969</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-07 05:38:02 -0800</bug_when>
    <thetext>Comment on attachment 186969
Patch

Clearing flags on attachment: 186969

Committed r142102: &lt;http://trac.webkit.org/changeset/142102&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>827369</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-07 05:38:05 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186969</attachid>
            <date>2013-02-06 18:15:16 -0800</date>
            <delta_ts>2013-02-07 05:38:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109122-20130206181153.patch</filename>
            <type>text/plain</type>
            <size>84651</size>
            <attacher name="Gregg Tavares">gman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyMDU4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOTg1YzNmODI2ZjFlY2EwZDY4NmNl
OTY2MDM2ZmZkNjliMWMyYmQ4My4uZDBhNWVhNjgxODg2NTY3NzBiYTk4ZDI2N2JhMGUzZDUyZTU0
OGQ4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQyIEBACiAyMDEzLTAyLTA2ICBHcmVnZyBUYXZhcmVzICA8
Z21hbkBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgQWRkIFdlYkdMIENvbmZvcm1hbmNlIFRlc3Rz
IHJlbmRlcmluZyBmb2xkZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDkxMjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9jdWxsaW5nLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2N1bGxp
bmcuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2Ry
YXctYXJyYXlzLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZHJhdy1hcnJheXMtb3V0LW9mLWJvdW5kcy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZHJhdy1lbGVt
ZW50cy1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
Y29uZm9ybWFuY2UvcmVuZGVyaW5nL2RyYXctZWxlbWVudHMtb3V0LW9mLWJvdW5kcy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtY2xlYXItZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcv
Z2wtY2xlYXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVy
aW5nL2dsLWRyYXdlbGVtZW50cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmds
L2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1kcmF3ZWxlbWVudHMuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNzb3ItZmJvLXRlc3QtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcv
Z2wtc2Npc3Nvci1mYm8tdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3Jt
YW5jZS9yZW5kZXJpbmcvbGluZS1sb29wLXRyaS1mYW4tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbGluZS1sb29wLXRyaS1mYW4uaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3NpbXBsZS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmlu
Zy9zaW1wbGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVy
aW5nL3RyaWFuZ2xlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2UvcmVuZGVyaW5nL3RyaWFuZ2xlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy8wMF90ZXN0X2xp
c3QudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvY3VsbGluZy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZHJh
dy1hcnJheXMtb3V0LW9mLWJvdW5kcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZHJhdy1lbGVtZW50
cy1vdXQtb2YtYm91bmRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1jbGVhci5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9yZW5kZXJpbmcvZ2wtZHJhd2VsZW1lbnRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lz
c29yLWZiby10ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9saW5lLWxvb3AtdHJpLWZhbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9yZW5kZXJpbmcvc2ltcGxlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy90cmlhbmdsZS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9yZW5kZXJpbmcvdmVydGV4LXRleHR1cmUtZmV0Y2guaHRtbDogQWRkZWQuCisK
KzIwMTMtMDItMDYgIEdyZWdnIFRhdmFyZXMgIDxnbWFuQGNocm9taXVtLm9yZz4KKwogICAgICAg
ICBBZGRzIGZhaWxpbmcgV2ViR0wgQ29uZm9ybWFuY2UgVGVzdHMuCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDkwNzUKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2N1bGxpbmctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2N1bGxpbmctZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjc2ZDIyZjcxZDMyYjY1Njk5OTJkMTRkNTJiYmFhOTM1OTU5NzZj
NmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5k
ZXJpbmcvY3VsbGluZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVu
cyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBB
U1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvcmVuZGVyaW5nL2N1bGxpbmcuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvY3VsbGluZy5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2N1bGxpbmcuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yZGNiOGRmNGNkYTU1MmNjMDE5NDUwZmMwNjU3Nzc5MTg0N2Y5OGUxCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2N1bGxpbmcuaHRt
bApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBn
ZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29u
Zm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBjdWxsaW5nLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0
ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0
OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9y
ZW5kZXJpbmcvY3VsbGluZy5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9yZW5kZXJpbmcvY3VsbGluZy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48
L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2N1bGxpbmcuaHRtbCIgd2lkdGg9
IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZHJhdy1h
cnJheXMtb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9yZW5kZXJpbmcvZHJhdy1hcnJheXMtb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2FjYjIwYTg4OWQ3YjRhNzdhMTAxZmE2MDQ3M2MxOWU1MjdiYmVlNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9k
cmF3LWFycmF5cy1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Ro
aXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5k
IHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZHJhdy1hcnJheXMtb3V0LW9mLWJvdW5kcy5o
dG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Jl
bmRlcmluZy9kcmF3LWFycmF5cy1vdXQtb2YtYm91bmRzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZHJhdy1hcnJheXMtb3V0LW9mLWJvdW5kcy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjRlYWEyMmU3NDM2MzVkMjQ1MmI1ZWIzMDE1MWVkOWNhOWJjMjNkODQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZHJh
dy1hcnJheXMtb3V0LW9mLWJvdW5kcy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBm
aWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1Qg
RURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGRyYXct
YXJyYXlzLW91dC1vZi1ib3VuZHMuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBh
biBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9kcmF3
LWFycmF5cy1vdXQtb2YtYm91bmRzLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9kcmF3LWFycmF5cy1vdXQtb2YtYm91bmRzLmh0bWw8
L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJp
bmcvZHJhdy1hcnJheXMtb3V0LW9mLWJvdW5kcy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYw
MCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9kcmF3LWVsZW1lbnRzLW91dC1vZi1i
b3VuZHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVy
aW5nL2RyYXctZWxlbWVudHMtb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NGNmNzljNmFiZjRkMWYzM2EwZDQ1MDk1NTUzMDNkNmQ2NDBhNDEzYQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9kcmF3LWVsZW1lbnRz
LW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3JlbmRlcmluZy9kcmF3LWVsZW1lbnRzLW91dC1vZi1ib3VuZHMuaHRtbAorUEFT
UworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcv
ZHJhdy1lbGVtZW50cy1vdXQtb2YtYm91bmRzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9yZW5kZXJpbmcvZHJhdy1lbGVtZW50cy1vdXQtb2YtYm91bmRzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTY3MGZhOTE3ZDQxMTk0ZjNkNDg1MzA4YWE3NmI0Y2FiYTNjNDgwMgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9kcmF3LWVs
ZW1lbnRzLW91dC1vZi1ib3VuZHMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmls
ZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVE
SVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBkcmF3LWVs
ZW1lbnRzLW91dC1vZi1ib3VuZHMuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBh
biBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9kcmF3
LWVsZW1lbnRzLW91dC1vZi1ib3VuZHMuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2RyYXctZWxlbWVudHMtb3V0LW9mLWJvdW5kcy5o
dG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZy
YW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVu
ZGVyaW5nL2RyYXctZWxlbWVudHMtb3V0LW9mLWJvdW5kcy5odG1sIiB3aWR0aD0iODAwIiBoZWln
aHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1jbGVhci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtY2xlYXIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg3YWIxOGVlZDZmNzMyM2U3ZGJkZjVlY2M3YTkxNzc0
N2I2NTliN2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9yZW5kZXJpbmcvZ2wtY2xlYXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0
ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVw
b3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1jbGVhci5odG1sCitQQVNTCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1jbGVhci5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLWNsZWFyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOGJjNzM2ZTNkYTg2MjBmMDQwZTkwYzJmMDYwNGJhM2RjYjkyNTYwYQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9n
bC1jbGVhci5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2Vu
ZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRs
ZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGdsLWNsZWFyLmh0bWw8L3RpdGxl
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtY2xlYXIuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLWNsZWFyLmh0bWw8L2E+Cis8ZGl2
IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtY2xl
YXIuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9y
ZW5kZXJpbmcvZ2wtZHJhd2VsZW1lbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1kcmF3ZWxlbWVudHMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmNjMjFhMGFhMTllOTIxNTliYjJmOWM2OGY2N2U2YWNiMjA4MGM5Y2MKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtZHJh
d2VsZW1lbnRzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRo
ZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBv
ciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9yZW5kZXJpbmcvZ2wtZHJhd2VsZW1lbnRzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLWRyYXdlbGVtZW50cy5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLWRyYXdlbGVt
ZW50cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzZjY5ZWMxNGNjYzI4ZDFkYmIyZWVhMzM4OTYxYTM4MzZj
NzI3YTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9y
ZW5kZXJpbmcvZ2wtZHJhd2VsZW1lbnRzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlz
IGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5P
VCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgZ2wt
ZHJhd2VsZW1lbnRzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dl
YmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1l
IGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtZHJhd2VsZW1l
bnRzLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jl
bmRlcmluZy9nbC1kcmF3ZWxlbWVudHMuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+
Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1kcmF3ZWxlbWVudHMuaHRtbCIgd2lk
dGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wt
c2Npc3Nvci1mYm8tdGVzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci1mYm8tdGVzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMDQ1YjUyZTViMGQwZGY4OTVjMTc3YTYzOGI0Njc0Zjk5NWI1MjkzNgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29y
LWZiby10ZXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRo
ZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBv
ciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci1mYm8tdGVzdC5odG1sCitQQVNTCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLWZi
by10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wt
c2Npc3Nvci1mYm8tdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVhODQxZDg4NmYxNjQ4MGQ5ZmU0Y2Ez
OGRmOWM4NTYyMDcwOTA5MjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci1mYm8tdGVzdC5odG1sCkBAIC0wLDAgKzEs
MTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmds
LXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0
IFdyYXBwZXIgZm9yIGdsLXNjaXNzb3ItZmJvLXRlc3QuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3Rl
ZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6
IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jl
bmRlcmluZy9nbC1zY2lzc29yLWZiby10ZXN0Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLWZiby10ZXN0Lmh0bWw8
L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJp
bmcvZ2wtc2Npc3Nvci1mYm8tdGVzdC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9p
ZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9saW5lLWxvb3AtdHJpLWZhbi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbGluZS1sb29wLXRy
aS1mYW4tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI2NGI0MTM2Y2ZhMzYxNjkyNzcxOWUyMzgw
OGY4M2QxZjE4ZDU3M2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9yZW5kZXJpbmcvbGluZS1sb29wLXRyaS1mYW4tZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9saW5lLWxvb3AtdHJpLWZh
bi5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3JlbmRlcmluZy9saW5lLWxvb3AtdHJpLWZhbi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvcmVuZGVyaW5nL2xpbmUtbG9vcC10cmktZmFuLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjkz
ZDYwZTAxZTkyNGUzNTZhM2EzOTgwNDNkMTIxMWVkZTljZmE2ZgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9saW5lLWxvb3AtdHJpLWZh
bi5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVk
IGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJH
TCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGxpbmUtbG9vcC10cmktZmFuLmh0bWw8L3Rp
dGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUg
V2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3Ig
RkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbGluZS1sb29wLXRyaS1mYW4uaHRtbCI+Li4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2xpbmUtbG9vcC10
cmktZmFuLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1l
Ij4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9yZW5kZXJpbmcvbGluZS1sb29wLXRyaS1mYW4uaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0
PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvc2ltcGxlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9zaW1wbGUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmQxN2Q1NGZhZmE4Nzc0NDQwNjQxNDljNjAzNTNlOTY1ZGRmZDBj
NTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5k
ZXJpbmcvc2ltcGxlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5z
IHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFT
UyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9yZW5kZXJpbmcvc2ltcGxlLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3NpbXBsZS5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3NpbXBsZS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
ZWMzNThlM2I5NmM2YjBhMWFlZjliOTIzNzEzYzc0MmY3NmZlMDgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvc2ltcGxlLmh0bWwKQEAg
LTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJh
dGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1h
bmNlIFRlc3QgV3JhcHBlciBmb3Igc2ltcGxlLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBo
cmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJp
bmcvc2ltcGxlLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3JlbmRlcmluZy9zaW1wbGUuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8
ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9zaW1wbGUuaHRtbCIgd2lkdGg9IjgwMCIgaGVp
Z2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvdHJpYW5nbGUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3RyaWFuZ2xl
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNmM0MDUzNTA1ZGU1MjVjNDg1ZWNmNDg0MjFlNjMx
ODhhNzQyYTI3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvcmVuZGVyaW5nL3RyaWFuZ2xlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvdHJpYW5nbGUuaHRtbAorUEFTUworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvdHJpYW5nbGUuaHRt
bCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy90cmlhbmdsZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjMwODlkNjRlMjIxMjRiZGUxODkzZDNhYzhkMTJjODEwOTg3NGEwNWIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcv
dHJpYW5nbGUuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdl
bmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0
bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0cmlhbmdsZS5odG1sPC90aXRs
ZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdl
YkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZB
SUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvcmVuZGVyaW5nL3RyaWFuZ2xlLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy90cmlhbmdsZS5odG1sPC9hPgorPGRp
diBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3RyaWFu
Z2xlLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nLzAwX3Rlc3RfbGlzdC50eHQgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9y
ZW5kZXJpbmcvMDBfdGVzdF9saXN0LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOTFjYWVkY2U2Nzc0OWY0OWZm
NDIzM2Y1YmM5NDRhMDI1NDA5YzNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nLzAwX3Rl
c3RfbGlzdC50eHQKQEAgLTAsMCArMSwxMyBAQAorLS1taW4tdmVyc2lvbiAxLjAuMiBjdWxsaW5n
Lmh0bWwKK2RyYXctYXJyYXlzLW91dC1vZi1ib3VuZHMuaHRtbAorZHJhdy1lbGVtZW50cy1vdXQt
b2YtYm91bmRzLmh0bWwKK2dsLWNsZWFyLmh0bWwKK2dsLWRyYXdlbGVtZW50cy5odG1sCitnbC1z
Y2lzc29yLXRlc3QuaHRtbAorLS1taW4tdmVyc2lvbiAxLjAuMiBnbC1zY2lzc29yLWZiby10ZXN0
Lmh0bWwKK21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWwKK211bHRpc2FtcGxlLWNvcnJ1cHRp
b24uaHRtbAorcG9pbnQtc2l6ZS5odG1sCistLW1pbi12ZXJzaW9uIDEuMC4yIHNpbXBsZS5odG1s
Cit0cmlhbmdsZS5odG1sCitsaW5lLWxvb3AtdHJpLWZhbi5odG1sCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5k
ZXJpbmcvY3VsbGluZy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2N1bGxpbmcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
YmY4ZDMyZjE4OTdmODJhMDhkNGE1MDUxYjEwOWQ3OTdmNDk2YTgxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvcmVuZGVyaW5nL2N1bGxpbmcuaHRtbApAQCAtMCwwICsxLDE1MSBAQAorPCEtLQorCisvKgor
KiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJt
aXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBv
YnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRv
Y3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBN
YXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0
YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisq
KiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVy
aWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJl
IGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Np
b24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50
aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUg
UFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJF
U1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElF
UyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMg
T1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VT
IE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisq
KiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElP
TiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4g
VEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgICAgICAgIDxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3Qt
dXRpbHMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IGlkPSJ2c2hhZGVyIiB0eXBlPSJ4
LXNoYWRlci94LXZlcnRleCI+CisgICAgICAgICAgICBhdHRyaWJ1dGUgdmVjMiBwb3M7CisKKyAg
ICAgICAgICAgIHZvaWQgbWFpbigpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZ2xf
UG9zaXRpb24gPSB2ZWM0KHBvcywgMCwgMSk7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2Ny
aXB0PgorCisgICAgICAgIDxzY3JpcHQgaWQ9ImZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtZnJh
Z21lbnQiPgorICAgICAgICAgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisgICAgICAgICAg
ICB1bmlmb3JtIHZlYzQgY29sOworCisgICAgICAgICAgICB2b2lkIG1haW4oKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIGdsX0ZyYWdDb2xvciA9IGNvbDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zY3JpcHQ+CisKKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgICJ1c2Ug
c3RyaWN0IjsKKyAgICAgICAgICAgIHZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKworICAgICAg
ICAgICAgZnVuY3Rpb24gZHJhdyhnbCwgYXJyLCBjb2xMb2MsIGNvbCkgeworICAgICAgICAgICAg
ICAgIHZhciB2ZXJ0aWNlcyA9IG5ldyBGbG9hdDMyQXJyYXkoYXJyKTsKKyAgICAgICAgICAgICAg
ICB2YXIgdmVydEJ1ZiA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICAgICAgICAgICAgICAgIGdsLmJp
bmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB2ZXJ0QnVmKTsKKyAgICAgICAgICAgICAgICBnbC5i
dWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgdmVydGljZXMsIGdsLlNUQVRJQ19EUkFXKTsKKyAg
ICAgICAgICAgICAgICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsIDIsIGdsLkZMT0FULCBmYWxz
ZSwgMCwgMCk7CisgICAgICAgICAgICAgICAgZ2wudW5pZm9ybTRmdihjb2xMb2MsIGNvbCk7Cisg
ICAgICAgICAgICAgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRV9TVFJJUCwgMCwgdmVydGlj
ZXMubGVuZ3RoIC8gMik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIGNs
ZWFyKGdsLCBjb2wpIHsKKyAgICAgICAgICAgICAgICBnbC5jbGVhckNvbG9yKGNvbFswXSwgY29s
WzFdLCBjb2xbMl0sIGNvbFszXSk7CisgICAgICAgICAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1Jf
QlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICBmdW5jdGlvbiBjaGVjayhnbCwgd2luZGluZywgc2hvdWxkZHJhdykgeworICAgICAg
ICAgICAgICAgIHZhciBtc2cgPSB3aW5kaW5nICsgJyBmYWNlIHdhcyAnICsgKHNob3VsZGRyYXcg
PyAnJyA6ICdub3QgJykgKyAnZHJhd24uJzsKKyAgICAgICAgICAgICAgICB3dHUuY2hlY2tDYW52
YXNSZWN0KGdsLCAwLCAwLCAxLCAxLCBbMCwgMjU1LCAwLCAyNTVdLCBtc2cpOworICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkKKyAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICB2YXIgY3dWZXJ0aWNlcyA9IFstMSwgLTEsIC0xLCAxLCAxLCAtMSwgMSwg
MV07CisgICAgICAgICAgICAgICAgdmFyIGNjd1ZlcnRpY2VzID0gWy0xLCAxLCAtMSwgLTEsIDEs
IDEsIDEsIC0xXTsKKyAgICAgICAgICAgICAgICB2YXIgcmVkID0gWzEsIDAsIDAsIDFdOworICAg
ICAgICAgICAgICAgIHZhciBncmVlbiA9IFswLCAxLCAwLCAxXTsKKyAgICAgICAgICAgICAgICB2
YXIgb2s7CisKKyAgICAgICAgICAgICAgICB2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCd0
ZXN0YmVkJywgeyBhbnRpYWxpYXM6IGZhbHNlIH0pOworICAgICAgICAgICAgICAgIGlmICghZ2wp
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgnY291bGQgbm90IGNyZWF0ZSBjb250
ZXh0Jyk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICAgICAgdmFyIHByb2dyYW0gPSB3dHUuc2V0dXBQcm9ncmFtKGdsLCBbJ3ZzaGFk
ZXInLCAnZnNoYWRlciddLCBbJ3BvcyddKTsKKyAgICAgICAgICAgICAgICB2YXIgY29sTG9jID0g
Z2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICdjb2wnKTsKKworICAgICAgICAgICAgICAg
IGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDApOworCisgICAgICAgICAgICAgICAgZGVidWco
J0NVTExfRkFDRSBzaG91bGQgYmUgb2ZmIGJ5IGRlZmF1bHQnKTsKKyAgICAgICAgICAgICAgICBj
bGVhcihnbCwgcmVkKTsKKyAgICAgICAgICAgICAgICBkcmF3KGdsLCBjY3dWZXJ0aWNlcywgY29s
TG9jLCBncmVlbik7CisgICAgICAgICAgICAgICAgY2hlY2soZ2wsICdDQ1cnLCB0cnVlKTsKKyAg
ICAgICAgICAgICAgICBjbGVhcihnbCwgcmVkKTsKKyAgICAgICAgICAgICAgICBkcmF3KGdsLCBj
d1ZlcnRpY2VzLCBjb2xMb2MsIGdyZWVuKTsKKyAgICAgICAgICAgICAgICBjaGVjayhnbCwgJ0NX
JywgdHJ1ZSk7CisKKyAgICAgICAgICAgICAgICBkZWJ1ZygnRW5hYmxpbmcgQ1VMTF9GQUNFJyk7
CisgICAgICAgICAgICAgICAgZ2wuZW5hYmxlKGdsLkNVTExfRkFDRSk7CisKKyAgICAgICAgICAg
ICAgICBkZWJ1ZygnQkFDSyBhbmQgQ0NXIHNob3VsZCBiZSBzZXQgYnkgZGVmYXVsdCcpOworICAg
ICAgICAgICAgICAgIGNsZWFyKGdsLCByZWQpOworICAgICAgICAgICAgICAgIGRyYXcoZ2wsIGNj
d1ZlcnRpY2VzLCBjb2xMb2MsIGdyZWVuKTsKKyAgICAgICAgICAgICAgICBjaGVjayhnbCwgJ0ND
VycsIHRydWUpOworICAgICAgICAgICAgICAgIGNsZWFyKGdsLCBncmVlbik7CisgICAgICAgICAg
ICAgICAgZHJhdyhnbCwgY3dWZXJ0aWNlcywgY29sTG9jLCByZWQpOworICAgICAgICAgICAgICAg
IGNoZWNrKGdsLCAnQ1cnLCBmYWxzZSk7CisKKyAgICAgICAgICAgICAgICB2YXIgdGVzdHMgPSBb
eyBjdWxsRmFjZSA6ICdCQUNLJywgZnJvbnRGYWNlIDogJ0NDVycsIGRyYXdDQ1cgOiB0cnVlLCBk
cmF3Q1cgOiBmYWxzZX0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgY3VsbEZhY2Ug
OiAnQkFDSycsIGZyb250RmFjZSA6ICdDVycsIGRyYXdDQ1cgOiBmYWxzZSwgZHJhd0NXIDogdHJ1
ZX0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgY3VsbEZhY2UgOiAnRlJPTlQnLCBm
cm9udEZhY2UgOiAnQ0NXJywgZHJhd0NDVyA6IGZhbHNlLCBkcmF3Q1cgOiB0cnVlIH0sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHsgY3VsbEZhY2UgOiAnRlJPTlQnLCBmcm9udEZhY2Ug
OiAnQ1cnLCBkcmF3Q0NXIDogdHJ1ZSwgZHJhd0NXIDogZmFsc2V9LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB7IGN1bGxGYWNlIDogJ0ZST05UX0FORF9CQUNLJywgZnJvbnRGYWNlIDog
J0NDVycsIGRyYXdDQ1cgOiBmYWxzZSwgZHJhd0NXIDogZmFsc2V9LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB7IGN1bGxGYWNlIDogJ0ZST05UX0FORF9CQUNLJywgZnJvbnRGYWNlIDog
J0NXJywgZHJhd0NDVyA6IGZhbHNlLCBkcmF3Q1cgOiBmYWxzZX1dOworCisgICAgICAgICAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0ZXN0cy5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAg
ICAgICAgICB2YXIgdCA9IHRlc3RzW2ldOworICAgICAgICAgICAgICAgICAgICBkZWJ1ZygnU2V0
dGluZyAnICsgdC5jdWxsRmFjZSArICcgYW5kICcgKyB0LmZyb250RmFjZSk7CisgICAgICAgICAg
ICAgICAgICAgIGdsLmN1bGxGYWNlKGdsW3QuY3VsbEZhY2VdKTsKKyAgICAgICAgICAgICAgICAg
ICAgZ2wuZnJvbnRGYWNlKGdsW3QuZnJvbnRGYWNlXSk7CisgICAgICAgICAgICAgICAgICAgIGNs
ZWFyKGdsLCB0LmRyYXdDQ1cgPyByZWQgOiBncmVlbik7CisgICAgICAgICAgICAgICAgICAgIGRy
YXcoZ2wsIGNjd1ZlcnRpY2VzLCBjb2xMb2MsIHQuZHJhd0NDVyA/IGdyZWVuIDogcmVkKTsKKyAg
ICAgICAgICAgICAgICAgICAgY2hlY2soZ2wsICdDQ1cnLCB0LmRyYXdDQ1cpOworICAgICAgICAg
ICAgICAgICAgICBjbGVhcihnbCwgdC5kcmF3Q1cgPyByZWQgOiBncmVlbik7CisgICAgICAgICAg
ICAgICAgICAgIGRyYXcoZ2wsIGN3VmVydGljZXMsIGNvbExvYywgdC5kcmF3Q1cgPyBncmVlbiA6
IHJlZCk7CisgICAgICAgICAgICAgICAgICAgIGNoZWNrKGdsLCAnQ1cnLCB0LmRyYXdDVyk7Cisg
ICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAg
IDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGNhbnZhcyBpZD0idGVzdGJlZCIgd2lkdGg9
IjE2IiBoZWlnaHQ9IjE2IiBzdHlsZT0id2lkdGg6NTBweDsgaGVpZ2h0OjUwcHgiPjwvY2FudmFz
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgInVzZSBzdHJp
Y3QiOworICAgICAgICAgICAgZGVzY3JpcHRpb24oJ1ZlcmlmeSB0aGF0IGN1bGxpbmcgd29ya3Mn
KTsKKyAgICAgICAgICAgIHJ1blRlc3QoKTsKKyAgICAgICAgICAgIHZhciBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOworICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9kcmF3LWFycmF5cy1vdXQtb2YtYm91bmRzLmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9yZW5kZXJpbmcvZHJhdy1hcnJheXMtb3V0LW9mLWJvdW5kcy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljg5ZGIyMWY1ZWE2N2YwMTYxNjJiYmFjYWFjNDY2Nzk1MTRjMmQyMmEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9yZW5kZXJpbmcvZHJhdy1hcnJheXMtb3V0LW9mLWJvdW5kcy5odG1sCkBAIC0wLDAgKzEs
MTQ0IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3Jv
dXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hh
cmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUg
YW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxz
IiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRp
bmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5
LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxs
IGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdo
b20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFs
bCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisq
KiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9G
IEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1J
VEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFO
WQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFD
VElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9V
VCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBP
UiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRl
eCI+CithdHRyaWJ1dGUgdmVjMyBhT25lOworYXR0cmlidXRlIHZlYzIgYVR3bzsKK3ZvaWQgbWFp
bigpIHsKKyAgZ2xfUG9zaXRpb24gPSB2ZWM0KGFPbmUsIDEuMCkgKyB2ZWM0KGFUd28sIDAuMCwg
MS4wKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlciIgdHlwZT0ieC1zaGFkZXIv
eC1mcmFnbWVudCI+Cit2b2lkIG1haW4oKSB7CisgIGdsX0ZyYWdDb2xvciA9IHZlYzQoMS4wLCAw
LjAsIDAuMCwgMS4wKTsKK30KKzwvc2NyaXB0PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7Citk
ZXNjcmlwdGlvbigiVGVzdCBvZiBkcmF3QXJyYXlzIHdpdGggb3V0LW9mLWJvdW5kcyBwYXJhbWV0
ZXJzIik7CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBjb250ZXh0ID0gd3R1LmNy
ZWF0ZTNEQ29udGV4dCgpOwordmFyIHByb2dyYW0gPSB3dHUubG9hZFN0YW5kYXJkUHJvZ3JhbShj
b250ZXh0KTsKKworY29udGV4dC51c2VQcm9ncmFtKHByb2dyYW0pOwordmFyIHZlcnRleE9iamVj
dCA9IGNvbnRleHQuY3JlYXRlQnVmZmVyKCk7Citjb250ZXh0LmJpbmRCdWZmZXIoY29udGV4dC5B
UlJBWV9CVUZGRVIsIHZlcnRleE9iamVjdCk7Citjb250ZXh0LmVuYWJsZVZlcnRleEF0dHJpYkFy
cmF5KDApOworCitkZWJ1ZygiVGVzdCBlbXB0eSBidWZmZXIiKQorY29udGV4dC5idWZmZXJEYXRh
KGNvbnRleHQuQVJSQVlfQlVGRkVSLCBuZXcgRmxvYXQzMkFycmF5KFsgIF0pLCBjb250ZXh0LlNU
QVRJQ19EUkFXKTsKK2NvbnRleHQudmVydGV4QXR0cmliUG9pbnRlcigwLCAzLCBjb250ZXh0LkZM
T0FULCBmYWxzZSwgMCwgMCk7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4
dC5JTlZBTElEX09QRVJBVElPTiwgImNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xF
UywgMCwgMSkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFM
SURfT1BFUkFUSU9OLCAiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCAx
MDAwMCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURf
T1BFUkFUSU9OLCAiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCAxMDAw
MDAwMDAwMDAwMCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklO
VkFMSURfVkFMVUUsICJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAsIC0x
KSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuTk9fRVJST1IsICJj
b250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDEsIDApIik7CitzaG91bGRHZW5l
cmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZBTElEX1ZBTFVFLCAiY29udGV4dC5kcmF3
QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAtMSwgMCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJv
cihjb250ZXh0LCBjb250ZXh0Lk5PX0VSUk9SLCAiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQu
VFJJQU5HTEVTLCAwLCAwKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRl
eHQuTk9fRVJST1IsICJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDEwMCwg
MCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfVkFM
VUUsICJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDEsIC0xKSIpOworc2hv
dWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNvbnRl
eHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgLTEsIDEpIik7CisKK2RlYnVnKCIiKQor
ZGVidWcoIlRlc3QgYnVmZmVyIHdpdGggMyBmbG9hdCB2ZWN0b3JzIikKK2NvbnRleHQuYnVmZmVy
RGF0YShjb250ZXh0LkFSUkFZX0JVRkZFUiwgbmV3IEZsb2F0MzJBcnJheShbIDAsMC41LDAsIC0w
LjUsLTAuNSwwLCAwLjUsLTAuNSwwIF0pLCBjb250ZXh0LlNUQVRJQ19EUkFXKTsKK2NvbnRleHQu
dmVydGV4QXR0cmliUG9pbnRlcigwLCAzLCBjb250ZXh0LkZMT0FULCBmYWxzZSwgMCwgMCk7Citz
aG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5OT19FUlJPUiwgImNvbnRleHQu
ZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgMykiKTsKK3Nob3VsZEdlbmVyYXRlR0xF
cnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfRU5VTSwgImNvbnRleHQuZHJhd0FycmF5cygw
eDAwMDksIDAsIDMpIik7IC8vIEdMX1BPTFlHT04KK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250
ZXh0LCBjb250ZXh0LklOVkFMSURfT1BFUkFUSU9OLCAiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRl
eHQuVFJJQU5HTEVTLCAzLCAyKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNv
bnRleHQuSU5WQUxJRF9PUEVSQVRJT04sICJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklB
TkdMRVMsIDAsIDEwMDAwKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRl
eHQuSU5WQUxJRF9PUEVSQVRJT04sICJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdM
RVMsIDAsIDEwMDAwMDAwMDAwMDAwKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQs
IGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFO
R0xFUywgMCwgLTEpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5J
TlZBTElEX1ZBTFVFLCAiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAtMSwg
MCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0Lk5PX0VSUk9SLCAi
Y29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCAwKSIpOworc2hvdWxkR2Vu
ZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuTk9fRVJST1IsICJjb250ZXh0LmRyYXdBcnJh
eXMoY29udGV4dC5UUklBTkdMRVMsIDEwMCwgMCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihj
b250ZXh0LCBjb250ZXh0LklOVkFMSURfVkFMVUUsICJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4
dC5UUklBTkdMRVMsIDEsIC0xKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNv
bnRleHQuSU5WQUxJRF9WQUxVRSwgImNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xF
UywgLTEsIDEpIik7CisKK2RlYnVnKCIiKQorZGVidWcoIlRlc3QgYnVmZmVyIHdpdGggaW50ZXJs
ZWF2ZWQgKDMrMikgZmxvYXQgdmVjdG9ycyIpCisKK3ZhciBwcm9ncmFtMiA9IHd0dS5zZXR1cFBy
b2dyYW0oY29udGV4dCwgWyJ2c2hhZGVyIiwgImZzaGFkZXIiXSwgWyAiYU9uZSIsICJhVHdvIiBd
KTsKK2lmICghcHJvZ3JhbTIpIHsKKyAgICB0ZXN0RmFpbGVkKCJmYWlsZWQgdG8gY3JlYXRlIHRl
c3QgcHJvZ3JhbSIpOworfQorCit2YXIgdmJvID0gY29udGV4dC5jcmVhdGVCdWZmZXIoKTsKK2Nv
bnRleHQuYmluZEJ1ZmZlcihjb250ZXh0LkFSUkFZX0JVRkZFUiwgdmJvKTsKKy8vIGVub3VnaCBm
b3IgOSB2ZXJ0aWNlcywgc28gMyB0cmlhbmdsZXMKK2NvbnRleHQuYnVmZmVyRGF0YShjb250ZXh0
LkFSUkFZX0JVRkZFUiwgbmV3IEZsb2F0MzJBcnJheSg5KjUpLCBjb250ZXh0LlNUQVRJQ19EUkFX
KTsKKworLy8gYmluZCBmaXJzdCAzIGVsZW1lbnRzLCB3aXRoIGEgc3RyaWRlIG9mIDUgZmxvYXQg
ZWxlbWVudHMKK2NvbnRleHQudmVydGV4QXR0cmliUG9pbnRlcigwLCAzLCBjb250ZXh0LkZMT0FU
LCBmYWxzZSwgNSo0LCAwKTsKKy8vIGJpbmQgMiBlbGVtZW50cywgc3RhcnRpbmcgYWZ0ZXIgdGhl
IGZpcnN0IDM7IHNhbWUgc3RyaWRlIG9mIDUgZmxvYXQgZWxlbWVudHMKK2NvbnRleHQudmVydGV4
QXR0cmliUG9pbnRlcigxLCAyLCBjb250ZXh0LkZMT0FULCBmYWxzZSwgNSo0LCAzKjQpOworCitj
b250ZXh0LmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDApOworY29udGV4dC5lbmFibGVWZXJ0ZXhB
dHRyaWJBcnJheSgxKTsKKworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQu
Tk9fRVJST1IsICJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAsIDkpIik7
CisKKy8vIG5lZ2F0aXZlIHZhbHVlcyBtdXN0IGdlbmVyYXRlIElOVkFMSURfVkFMVUU7IHRoZXkg
Y2FuIG5ldmVyIGJlIHZhbGlkCitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4
dC5JTlZBTElEX1ZBTFVFLCAiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAw
LCAtNTAwKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJ
RF9WQUxVRSwgImNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgLTIwMCwgMSki
KTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfVkFMVUUs
ICJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIC0yMDAsIC01MDApIik7CisK
Ky8vIDB4ZmZmZmZmZmYgbmVlZHMgdG8gY29udmVydCB0byBhICdsb25nJyBJREwgYXJndW1lbnQg
YXMgLTEsIGFzIHBlcgorLy8gV2ViSURMIDQuMS43LiAgSlMgVG9JbnQzMigweGZmZmZmZmZmKSA9
PSAtMSwgd2hpY2ggaXMgdGhlIGZpcnN0IHN0ZXAKKy8vIG9mIHRoZSBjb252ZXJzaW9uLiAgVGh1
cyBJTlZBTElEX1ZBTFVFLgorc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQu
SU5WQUxJRF9WQUxVRSwgImNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMCwg
MHhmZmZmZmZmZikiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklO
VkFMSURfVkFMVUUsICJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDB4ZmZm
ZmZmZmYsIDEpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZB
TElEX1ZBTFVFLCAiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAweGZmZmZm
ZmZmLCAweGZmZmZmZmZmKSIpOworCisvLyB2YWx1ZXMgdGhhdCBjb3VsZCBvdGhlcndpc2UgYmUg
dmFsaWQgYnV0IGFyZW4ndCBkdWUgdG8gYmluZGluZ3MgZ2VuZXJhdGUKKy8vIElOVkFMSURfT1BF
UkFUSU9OCitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZBTElEX09Q
RVJBVElPTiwgImNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgMjAwKSIp
Oworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9PUEVSQVRJ
T04sICJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAsIDB4N2ZmZmZmZmYp
Iik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZBTElEX09QRVJB
VElPTiwgImNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMHg3ZmZmZmZmZiwg
MSkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfT1BF
UkFUSU9OLCAiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAweDdmZmZmZmZm
LCAweDdmZmZmZmZmKSIpOworCitkZWJ1ZygiIikKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmlu
Zy9kcmF3LWVsZW1lbnRzLW91dC1vZi1ib3VuZHMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9kcmF3LWVsZW1l
bnRzLW91dC1vZi1ib3VuZHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NGFjZTY2MDc1NDM3ZTVkNjU3MWFj
MjA2YTJkNzg2NWY4Y2JiODg0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2RyYXctZWxl
bWVudHMtb3V0LW9mLWJvdW5kcy5odG1sCkBAIC0wLDAgKzEsMTg4IEBACis8IS0tCisKKy8qCisq
KiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1p
c3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9i
dGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9j
dW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1h
dGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRh
dGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoq
IGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJp
YWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUg
ZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lv
biBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRp
YWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQ
Uk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVT
UyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVT
IE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBP
UiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMg
T1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoq
IFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9O
IFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBU
SEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
IGlkPSJ2c2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUgdmVjMyBh
T25lOworYXR0cmlidXRlIHZlYzIgYVR3bzsKK3ZvaWQgbWFpbigpIHsKKyAgZ2xfUG9zaXRpb24g
PSB2ZWM0KGFPbmUsIDEuMCkgKyB2ZWM0KGFUd28sIDAuMCwgMS4wKTsKK30KKzwvc2NyaXB0Pgor
PHNjcmlwdCBpZD0iZnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+Cit2b2lkIG1h
aW4oKSB7CisgIGdsX0ZyYWdDb2xvciA9IHZlYzQoMS4wLCAwLjAsIDAuMCwgMS4wKTsKK30KKzwv
c2NyaXB0PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisKKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigiVGVzdCBvZiBk
cmF3RWxlbWVudHMgd2l0aCBvdXQtb2YtYm91bmRzIHBhcmFtZXRlcnMiKTsKKwordmFyIHd0dSA9
IFdlYkdMVGVzdFV0aWxzOwordmFyIGNvbnRleHQgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCk7Cit2
YXIgcHJvZ3JhbSA9IHd0dS5sb2FkU3RhbmRhcmRQcm9ncmFtKGNvbnRleHQpOworCitjb250ZXh0
LnVzZVByb2dyYW0ocHJvZ3JhbSk7Cit2YXIgdmVydGV4T2JqZWN0ID0gY29udGV4dC5jcmVhdGVC
dWZmZXIoKTsKK2NvbnRleHQuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoMCk7Citjb250ZXh0LmJp
bmRCdWZmZXIoY29udGV4dC5BUlJBWV9CVUZGRVIsIHZlcnRleE9iamVjdCk7Citjb250ZXh0LmJ1
ZmZlckRhdGEoY29udGV4dC5BUlJBWV9CVUZGRVIsIG5ldyBGbG9hdDMyQXJyYXkoWyAwLDAuNSww
LCAtMC41LC0wLjUsMCwgMC41LC0wLjUsMCBdKSwgY29udGV4dC5TVEFUSUNfRFJBVyk7Citjb250
ZXh0LnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgMywgY29udGV4dC5GTE9BVCwgZmFsc2UsIDAsIDAp
OworCit2YXIgaW5kZXhPYmplY3QgPSBjb250ZXh0LmNyZWF0ZUJ1ZmZlcigpOworCitkZWJ1Zygi
VGVzdCBlbXB0eSBpbmRleCBidWZmZXIiKQorY29udGV4dC5iaW5kQnVmZmVyKGNvbnRleHQuRUxF
TUVOVF9BUlJBWV9CVUZGRVIsIGluZGV4T2JqZWN0KTsKK2NvbnRleHQuYnVmZmVyRGF0YShjb250
ZXh0LkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBuZXcgVWludDhBcnJheShbICBdKSwgY29udGV4dC5T
VEFUSUNfRFJBVyk7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZB
TElEX09QRVJBVElPTiwgImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAz
LCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDApIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29u
dGV4dCwgY29udGV4dC5JTlZBTElEX09QRVJBVElPTiwgImNvbnRleHQuZHJhd0VsZW1lbnRzKGNv
bnRleHQuVFJJQU5HTEVTLCAxMDAwMCwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAwKSIpOworc2hv
dWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9PUEVSQVRJT04sICJj
b250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMTAwMDAwMDAwMDAwMDAsIGNv
bnRleHQuVU5TSUdORURfQllURSwgMCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0
LCBjb250ZXh0LklOVkFMSURfVkFMVUUsICJjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRS
SUFOR0xFUywgLTEsIGNvbnRleHQuVU5TSUdORURfQllURSwgMCkiKTsKK3Nob3VsZEdlbmVyYXRl
R0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfT1BFUkFUSU9OLCAiY29udGV4dC5kcmF3
RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDEsIGNvbnRleHQuVU5TSUdORURfQllURSwgMCki
KTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfVkFMVUUs
ICJjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgY29udGV4dC5VTlNJ
R05FRF9CWVRFLCAtMSkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0
Lk5PX0VSUk9SLCAiY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDAsIGNv
bnRleHQuVU5TSUdORURfQllURSwgMCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0
LCBjb250ZXh0LklOVkFMSURfVkFMVUUsICJjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRS
SUFOR0xFUywgLTEsIGNvbnRleHQuVU5TSUdORURfQllURSwgMSkiKTsKK3Nob3VsZEdlbmVyYXRl
R0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfVkFMVUUsICJjb250ZXh0LmRyYXdFbGVt
ZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMSwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAtMSkiKTsK
KworZGVidWcoIiIpCitkZWJ1ZygiVGVzdCBidWZmZXIgd2l0aCAzIGJ5dGUgaW5kZXhlcyIpCitj
b250ZXh0LmJpbmRCdWZmZXIoY29udGV4dC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwgaW5kZXhPYmpl
Y3QpOworY29udGV4dC5idWZmZXJEYXRhKGNvbnRleHQuRUxFTUVOVF9BUlJBWV9CVUZGRVIsIG5l
dyBVaW50OEFycmF5KFsgMCwgMSwgMiBdKSwgY29udGV4dC5TVEFUSUNfRFJBVyk7CitzaG91bGRH
ZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5OT19FUlJPUiwgImNvbnRleHQuZHJhd0Vs
ZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAzLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDApIik7
CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZBTElEX0VOVU0sICJj
b250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMywgY29udGV4dC5VTlNJR05F
RF9JTlQsIDApIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZB
TElEX0VOVU0sICJjb250ZXh0LmRyYXdFbGVtZW50cygweDAwMDksIDMsIGNvbnRleHQuVU5TSUdO
RURfQllURSwgMCkiKTsgLy8gR0xfUE9MWUdPTgorc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRl
eHQsIGNvbnRleHQuSU5WQUxJRF9PUEVSQVRJT04sICJjb250ZXh0LmRyYXdFbGVtZW50cyhjb250
ZXh0LlRSSUFOR0xFUywgMywgY29udGV4dC5VTlNJR05FRF9CWVRFLCAyKSIpOworc2hvdWxkR2Vu
ZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9PUEVSQVRJT04sICJjb250ZXh0
LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMTAwMDAsIGNvbnRleHQuVU5TSUdORURf
QllURSwgMCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFM
SURfT1BFUkFUSU9OLCAiY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDEw
MDAwMDAwMDAwMDAwLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDApIik7CitzaG91bGRHZW5lcmF0
ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZBTElEX1ZBTFVFLCAiY29udGV4dC5kcmF3RWxl
bWVudHMoY29udGV4dC5UUklBTkdMRVMsIC0xLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDApIik7
CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZBTElEX1ZBTFVFLCAi
Y29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDAsIGNvbnRleHQuVU5TSUdO
RURfQllURSwgLTEpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5J
TlZBTElEX1ZBTFVFLCAiY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIC0x
LCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDEpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29u
dGV4dCwgY29udGV4dC5JTlZBTElEX1ZBTFVFLCAiY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4
dC5UUklBTkdMRVMsIDEsIGNvbnRleHQuVU5TSUdORURfQllURSwgLTEpIik7CitzaG91bGRHZW5l
cmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5OT19FUlJPUiwgImNvbnRleHQuZHJhd0VsZW1l
bnRzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDQpIik7Citz
aG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZBTElEX1ZBTFVFLCAiY29u
dGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDB4ZmZmZmZmZmYsIGNvbnRleHQu
VU5TSUdORURfQllURSwgMCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250
ZXh0LklOVkFMSURfT1BFUkFUSU9OLCAiY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklB
TkdMRVMsIDB4N2ZmZmZmZmYsIGNvbnRleHQuVU5TSUdORURfQllURSwgMCkiKTsKK3Nob3VsZEdl
bmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfT1BFUkFUSU9OLCAiY29udGV4
dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDB4N2ZmZmZmZmYsIGNvbnRleHQuVU5T
SUdORURfQllURSwgMHg3ZmZmZmZmZikiKTsKKworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRl
eHQsIGNvbnRleHQuTk9fRVJST1IsICJjb250ZXh0LmJ1ZmZlckRhdGEoY29udGV4dC5FTEVNRU5U
X0FSUkFZX0JVRkZFUiwgKG5ldyBVaW50OEFycmF5KFsgMywgMCwgMSwgMiBdKSkuc3ViYXJyYXko
MSksIGNvbnRleHQuU1RBVElDX0RSQVcpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4
dCwgY29udGV4dC5OT19FUlJPUiwgImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5H
TEVTLCAzLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDApIik7CitzaG91bGRHZW5lcmF0ZUdMRXJy
b3IoY29udGV4dCwgY29udGV4dC5OT19FUlJPUiwgImNvbnRleHQuYnVmZmVyU3ViRGF0YShjb250
ZXh0LkVMRU1FTlRfQVJSQVlfQlVGRkVSLCAwLCBuZXcgVWludDhBcnJheShbIDMsIDAsIDFdKSki
KTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfT1BFUkFU
SU9OLCAiY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDMsIGNvbnRleHQu
VU5TSUdORURfQllURSwgMCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250
ZXh0Lk5PX0VSUk9SLCAiY29udGV4dC5idWZmZXJTdWJEYXRhKGNvbnRleHQuRUxFTUVOVF9BUlJB
WV9CVUZGRVIsIDAsIChuZXcgVWludDhBcnJheShbIDMsIDAsIDEsIDIgXSkpLnN1YmFycmF5KDEp
KSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuTk9fRVJST1IsICJj
b250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMywgY29udGV4dC5VTlNJR05F
RF9CWVRFLCAwKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuTk9f
RVJST1IsICJjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgY29udGV4
dC5VTlNJR05FRF9CWVRFLCAwKSIpOworCitkZWJ1ZygiIikKK2RlYnVnKCJUZXN0IGJ1ZmZlciB3
aXRoIGludGVybGVhdmVkICgzKzIpIGZsb2F0IHZlY3RvcnMiKQorCit2YXIgcHJvZ3JhbTIgPSB3
dHUuc2V0dXBQcm9ncmFtKGNvbnRleHQsIFsidnNoYWRlciIsICJmc2hhZGVyIl0sIFsgImFPbmUi
LCAiYVR3byIgXSk7CitpZiAoIXByb2dyYW0yKSB7CisgICAgdGVzdEZhaWxlZCgiZmFpbGVkIHRv
IGNyZWF0ZSB0ZXN0IHByb2dyYW0iKTsKK30KKwordmFyIHZibyA9IGNvbnRleHQuY3JlYXRlQnVm
ZmVyKCk7Citjb250ZXh0LmJpbmRCdWZmZXIoY29udGV4dC5BUlJBWV9CVUZGRVIsIHZibyk7Cisv
LyBlbm91Z2ggZm9yIDkgdmVydGljZXMsIHNvIDMgdHJpYW5nbGVzCitjb250ZXh0LmJ1ZmZlckRh
dGEoY29udGV4dC5BUlJBWV9CVUZGRVIsIG5ldyBGbG9hdDMyQXJyYXkoOSo1KSwgY29udGV4dC5T
VEFUSUNfRFJBVyk7CisKKy8vIGJpbmQgZmlyc3QgMyBlbGVtZW50cywgd2l0aCBhIHN0cmlkZSBv
ZiA1IGZsb2F0IGVsZW1lbnRzCitjb250ZXh0LnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgMywgY29u
dGV4dC5GTE9BVCwgZmFsc2UsIDUqNCwgMCk7CisvLyBiaW5kIDIgZWxlbWVudHMsIHN0YXJ0aW5n
IGFmdGVyIHRoZSBmaXJzdCAzOyBzYW1lIHN0cmlkZSBvZiA1IGZsb2F0IGVsZW1lbnRzCitjb250
ZXh0LnZlcnRleEF0dHJpYlBvaW50ZXIoMSwgMiwgY29udGV4dC5GTE9BVCwgZmFsc2UsIDUqNCwg
Myo0KTsKKworY29udGV4dC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgwKTsKK2NvbnRleHQuZW5h
YmxlVmVydGV4QXR0cmliQXJyYXkoMSk7CisKK3ZhciBlYm8gPSBjb250ZXh0LmNyZWF0ZUJ1ZmZl
cigpOworY29udGV4dC5iaW5kQnVmZmVyKGNvbnRleHQuRUxFTUVOVF9BUlJBWV9CVUZGRVIsIGVi
byk7Citjb250ZXh0LmJ1ZmZlckRhdGEoY29udGV4dC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwgbmV3
IFVpbnQxNkFycmF5KAorICAgIFsgMCwgMSwgMiwKKyAgICAgIDEsIDIsIDAsCisgICAgICAyLCAw
LCAxLAorICAgICAgMjAwLCAyMDAsIDIwMCwKKyAgICAgIDB4N2ZmZiwgMHg3ZmZmLCAweDdmZmYs
CisgICAgICAweGZmZmYsIDB4ZmZmZiwgMHhmZmZmIF0pLAorICAgIGNvbnRleHQuU1RBVElDX0RS
QVcpOworCitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5OT19FUlJPUiwg
ImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCA5LCBjb250ZXh0LlVOU0lH
TkVEX1NIT1JULCAwKSIpOworCisvLyBpbnZhbGlkIHR5cGUgYXJndW1lbnRzCitzaG91bGRHZW5l
cmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZBTElEX0VOVU0sICJjb250ZXh0LmRyYXdF
bGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgOSwgY29udGV4dC5GTE9BVCwgMCkiKTsKK3Nob3Vs
ZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfRU5VTSwgImNvbnRleHQu
ZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCA5LCBjb250ZXh0LlNIT1JULCAwKSIpOwor
c2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9FTlVNLCAiY29u
dGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDksIGNvbnRleHQuVU5TSUdORURf
SU5ULCAwKSIpOworCisvLyBpbnZhbGlkIG9wZXJhdGlvbiB3aXRoIGluZGljZXMgdGhhdCB3b3Vs
ZCBiZSB2YWxpZCB3aXRoIGNvcnJlY3QgYmluZGluZ3MKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihj
b250ZXh0LCBjb250ZXh0LklOVkFMSURfT1BFUkFUSU9OLCAiY29udGV4dC5kcmF3RWxlbWVudHMo
Y29udGV4dC5UUklBTkdMRVMsIDksIGNvbnRleHQuVU5TSUdORURfU0hPUlQsIDEwMDApIik7Citz
aG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZBTElEX09QRVJBVElPTiwg
ImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAxMiwgY29udGV4dC5VTlNJ
R05FRF9TSE9SVCwgMCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0
LklOVkFMSURfT1BFUkFUSU9OLCAiY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdM
RVMsIDE1LCBjb250ZXh0LlVOU0lHTkVEX1NIT1JULCAwKSIpOworc2hvdWxkR2VuZXJhdGVHTEVy
cm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9PUEVSQVRJT04sICJjb250ZXh0LmRyYXdFbGVt
ZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMTgsIGNvbnRleHQuVU5TSUdORURfU0hPUlQsIDApIik7
CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZBTElEX09QRVJBVElP
TiwgImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAzLCBjb250ZXh0LlVO
U0lHTkVEX1NIT1JULCAyKjE1KSIpOworCitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwg
Y29udGV4dC5JTlZBTElEX1ZBTFVFLCAiY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklB
TkdMRVMsIDB4ZmZmZmZmZmYsIGNvbnRleHQuVU5TSUdORURfU0hPUlQsIDApIik7CitzaG91bGRH
ZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZBTElEX09QRVJBVElPTiwgImNvbnRl
eHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAweDdmZmZmZmZmLCBjb250ZXh0LlVO
U0lHTkVEX1NIT1JULCAwKSIpOworCitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29u
dGV4dC5OT19FUlJPUiwgImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAw
LCBjb250ZXh0LlVOU0lHTkVEX1NIT1JULCAwKSIpOworCisvLyBpbnZhbGlkIG9wZXJhdGlvbiB3
aXRoIG9mZnNldCB0aGF0J3Mgbm90IGEgbXVsdGlwbGUgb2YgdGhlIHR5cGUgc2l6ZQorc2hvdWxk
R2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuTk9fRVJST1IsICJjb250ZXh0LmRyYXdF
bGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgNiwgY29udGV4dC5VTlNJR05FRF9TSE9SVCwgMCki
KTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfT1BFUkFU
SU9OLCAiY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDYsIGNvbnRleHQu
VU5TSUdORURfU0hPUlQsIDEpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29u
dGV4dC5OT19FUlJPUiwgImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCA2
LCBjb250ZXh0LlVOU0lHTkVEX1NIT1JULCAyKSIpOworCisvLyBpbnZhbGlkIG9wZXJhdGlvbiBp
ZiBubyBidWZmZXIgaXMgYm91bmQgdG8gRUxFTUVOVF9BUlJBWV9CVUZGRVIKK2NvbnRleHQuYmlu
ZEJ1ZmZlcihjb250ZXh0LkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBudWxsKTsKK3Nob3VsZEdlbmVy
YXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfT1BFUkFUSU9OLCAiY29udGV4dC5k
cmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDYsIGNvbnRleHQuVU5TSUdORURfU0hPUlQs
IDApIik7Citjb250ZXh0LmJpbmRCdWZmZXIoY29udGV4dC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwg
ZWJvKTsKKworZGVidWcoIiIpCitkZWJ1ZygiVGVzdCBidWZmZXIgc2V0dGluZyBhdHRyaWIgMCB0
byBhIGJ1ZmZlciB0b28gc21hbGwgYW5kIGRpc2FibGUgaXQuIik7Cit2YXIgc21hbGxWQk8gPSBj
b250ZXh0LmNyZWF0ZUJ1ZmZlcigpOworc2hvdWxkQmVOb25OdWxsKCdzbWFsbFZCTycpOworY29u
dGV4dC5iaW5kQnVmZmVyKGNvbnRleHQuQVJSQVlfQlVGRkVSLCBzbWFsbFZCTyk7Citjb250ZXh0
LmJ1ZmZlckRhdGEoY29udGV4dC5BUlJBWV9CVUZGRVIsIDEsIGNvbnRleHQuU1RBVElDX0RSQVcp
OworY29udGV4dC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsIDMsIGNvbnRleHQuRkxPQVQsIGZhbHNl
LCAwLCAweDEwKTsKK2NvbnRleHQuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KDApOworc2hvdWxk
R2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuTk9fRVJST1IsICJjb250ZXh0LmRyYXdF
bGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgNiwgY29udGV4dC5VTlNJR05FRF9TSE9SVCwgMiki
KTsKK2NvbnRleHQuYmluZEJ1ZmZlcihjb250ZXh0LkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBudWxs
KTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfT1BFUkFU
SU9OLCAiY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDYsIGNvbnRleHQu
VU5TSUdORURfU0hPUlQsIDIpIik7CitkZWJ1ZygiIikKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRl
cmluZy9nbC1jbGVhci5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLWNsZWFyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjQ5MWNhY2ZjNTQ2MTc4ZTkwMWU2Y2QwNGQ2NWY4YjAyYzBlYWM4OAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3JlbmRlcmluZy9nbC1jbGVhci5odG1sCkBAIC0wLDAgKzEsODkgQEAKKzwhLS0KKworLyoK
KyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVy
bWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24g
b2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBk
b2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUg
TWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1p
dGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAor
KiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRl
cmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFy
ZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNz
aW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFu
dGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJF
IFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBS
RVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJ
RVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JT
IE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdF
UyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAor
KiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJ
T04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElO
IFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIGNsZWFyIGNvbmZvcm1h
bmNlIHRlc3QuPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2Vi
Z2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10
ZXN0LXV0aWxzLmpzIj4gPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4
YW1wbGUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHN0eWxlPSJ3aWR0aDogMjU2cHg7IGhlaWdodDog
NDhweDsiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PjxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCJUZXN0
IGNsZWFyLiIpOwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsID0gd3R1LmNyZWF0
ZTNEQ29udGV4dCgiZXhhbXBsZSIpOwordmFyIHByb2dyYW0gPSB3dHUuc2V0dXBUZXh0dXJlZFF1
YWQoZ2wpOworCitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiU2hvdWxkIGJlIG5v
IGVycm9ycyBmcm9tIHNldHVwLiIpOword3R1LmNoZWNrQ2FudmFzKGdsLCBbMCwwLDAsMF0sICJz
aG91bGQgYmUgMCwwLDAsMCIpOworCitnbC5jbGVhckNvbG9yKDEsMSwxLDEpOworZ2wuY2xlYXIo
Z2wuQ09MT1JfQlVGRkVSX0JJVCk7Cit3dHUuY2hlY2tDYW52YXMoZ2wsIFsyNTUsMjU1LDI1NSwy
NTVdLCAic2hvdWxkIGJlIDI1NSwyNTUsMjU1LDI1NSIpOworCitnbC5jbGVhckNvbG9yKDAsMCww
LDApOworZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7Cit3dHUuY2hlY2tDYW52YXMoZ2ws
IFswLDAsMCwwXSwgInNob3VsZCBiZSAwLDAsMCwwIik7CisKK2dsLmNvbG9yTWFzayhmYWxzZSwg
ZmFsc2UsIGZhbHNlLCB0cnVlKTsKK2dsLmNsZWFyQ29sb3IoMSwxLDEsMSk7CitnbC5jbGVhcihn
bC5DT0xPUl9CVUZGRVJfQklUKTsKK3d0dS5jaGVja0NhbnZhcyhnbCwgWzAsMCwwLDI1NV0sICJz
aG91bGQgYmUgMCwwLDAsMjU1Iik7CisKK3ZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7Cisg
IGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleCk7CisgIGdsLnRleEltYWdlMkQoCisg
ICAgICBnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAxLCAxLCAwLCBnbC5SR0JBLCBnbC5VTlNJ
R05FRF9CWVRFLAorICAgICAgbmV3IFVpbnQ4QXJyYXkoWzEyOCwgMTI4LCAxMjgsIDE5Ml0pKTsK
KworZ2wuZGlzYWJsZShnbC5ERVBUSF9URVNUKTsKK2dsLmRpc2FibGUoZ2wuQkxFTkQpOworZ2wu
Y29sb3JNYXNrKHRydWUsIHRydWUsIHRydWUsIHRydWUpOworZ2wuZHJhd0FycmF5cyhnbC5UUklB
TkdMRVMsIDAsIDYpOword3R1LmNoZWNrQ2FudmFzKGdsLCBbMTI4LDEyOCwxMjgsMTkyXSwgInNo
b3VsZCBiZSAxMjgsMTI4LDEyOCwxOTIiKTsKKworZ2wuY29sb3JNYXNrKGZhbHNlLCBmYWxzZSwg
ZmFsc2UsIHRydWUpOworZ2wuY2xlYXJDb2xvcigxLDEsMSwxKTsKK2dsLmNsZWFyKGdsLkNPTE9S
X0JVRkZFUl9CSVQpOword3R1LmNoZWNrQ2FudmFzKGdsLCBbMTI4LDEyOCwxMjgsMjU1XSwgInNo
b3VsZCBiZSAxMjgsMTI4LDEyOCwyNTUiKTsKKworLy8gVE9ETzogVGVzdCBkZXB0aCBhbmQgc3Rl
bmNpbCBjbGVhcmluZy4KKworZGVidWcoIiIpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5n
L2dsLWRyYXdlbGVtZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLWRyYXdlbGVtZW50cy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjQxYjIzMGMyNjcyZjY5ZDU3ZGUzM2RmNThlZDk3N2RlMTk5ZmFkM2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtZHJhd2VsZW1lbnRzLmh0bWwKQEAgLTAsMCArMSwx
MjAgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91
cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFy
Z2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBh
bmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMi
KSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGlu
ZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnks
IG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwg
Y29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hv
bSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxs
IGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoq
IFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0Yg
QU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlU
RUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5Z
CisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNU
SU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VU
IE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9S
IE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKyAgPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgICAgPHRp
dGxlPldlYkdMIGRyYXdFbGVtZW50cyBUZXN0PC90aXRsZT4KKyAgICA8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAg
IDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorICAg
IDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0
PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZGVza3RvcC1nbC1jb25zdGFudHMu
anMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxj
YW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52YXM+Cis8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
c2NyaXB0IGlkPSJ2c2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CisgICAgICAgIGF0
dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbjsKKyAgICAgICAgdm9pZCBtYWluKCkKKyAgICAgICAgewor
ICAgICAgICAgICAgZ2xfUG9zaXRpb24gPSB2UG9zaXRpb247CisgICAgICAgIH0KKyAgICA8L3Nj
cmlwdD4KKworICAgIDxzY3JpcHQgaWQ9ImZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21l
bnQiPgorICAgICAgICB2b2lkIG1haW4oKQorICAgICAgICB7CisgICAgICAgICAgICBnbF9GcmFn
Q29sb3IgPSB2ZWM0KDEuMCwwLjAsMC4wLDEuMCk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4K
KworICAgIDxzY3JpcHQ+CisgICAgICAgICJ1c2Ugc3RyaWN0IjsKKyAgICAgICAgZnVuY3Rpb24g
aW5pdCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKGRvY3VtZW50LnRpdGxl
KTsKKworICAgICAgICAgICAgZnVuY3Rpb24gY2hlY2tEcmF3RWxlbWVudHMobW9kZSwgY291bnQs
IHR5cGUsIGV4cGVjdCwgbXNnKSB7CisgICAgICAgICAgICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JV
RkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUKTsKKyAgICAgICAgICAgICAgZ2wuZHJhd0Vs
ZW1lbnRzKG1vZGUsIGNvdW50LCB0eXBlLCAwKTsKKyAgICAgICAgICAgICAgZ2xFcnJvclNob3Vs
ZEJlKGdsLCBleHBlY3QsIG1zZyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHZhciB3
dHUgPSBXZWJHTFRlc3RVdGlsczsKKyAgICAgICAgICAgIHZhciBnbCA9IHd0dS5jcmVhdGUzRENv
bnRleHQoImV4YW1wbGUiKTsKKyAgICAgICAgICAgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJv
Z3JhbShnbCwgWyJ2c2hhZGVyIiwgImZzaGFkZXIiXSwgWyJ2UG9zaXRpb24iXSk7CisKKyAgICAg
ICAgICAgIHZhciB2ZXJ0ZXhPYmplY3QgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgICAgICAgICAg
IGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB2ZXJ0ZXhPYmplY3QpOworICAgICAgICAg
ICAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBGbG9hdDMyQXJyYXkoWyAwLDAu
NSwwLCAtMC41LC0wLjUsMCwgMC41LC0wLjUsMCBdKSwgZ2wuU1RBVElDX0RSQVcpOworICAgICAg
ICAgICAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoMCk7CisgICAgICAgICAgICBnbC52ZXJ0
ZXhBdHRyaWJQb2ludGVyKDAsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisKKyAgICAgICAg
ICAgIHZhciB2ZXJ0ZXhPYmplY3QgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgICAgICAgICAgIGds
LmJpbmRCdWZmZXIoZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVIsIHZlcnRleE9iamVjdCk7CisgICAg
ICAgICAgICBnbC5idWZmZXJEYXRhKGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBuZXcgVWludDE2
QXJyYXkoWyAwLCAxLCAyXSksIGdsLlNUQVRJQ19EUkFXKTsKKworICAgICAgICAgICAgY2hlY2tE
cmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAzLCBnbC5VTlNJR05FRF9TSE9SVCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGdsLk5PX0VSUk9SLCAiY2FuIGNhbGwgZ2wuRHJhd0VsZW1l
bnRzIHdpdGggVU5TSUdORURfU0hPUlQiKTsKKworICAgICAgICAgICAgdmFyIHZlcnRleE9iamVj
dCA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICAgICAgICAgICAgZ2wuYmluZEJ1ZmZlcihnbC5FTEVN
RU5UX0FSUkFZX0JVRkZFUiwgdmVydGV4T2JqZWN0KTsKKyAgICAgICAgICAgIGdsLmJ1ZmZlckRh
dGEoZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVIsIG5ldyBVaW50OEFycmF5KFsgMCwgMSwgMiwgMF0p
LCBnbC5TVEFUSUNfRFJBVyk7CisKKyAgICAgICAgICAgIGNoZWNrRHJhd0VsZW1lbnRzKAorICAg
ICAgICAgICAgICAgIGdsLlRSSUFOR0xFUywgMywgZ2wuVU5TSUdORURfQllURSwKKyAgICAgICAg
ICAgICAgICBnbC5OT19FUlJPUiwgImNhbiBjYWxsIGdsLkRyYXdFbGVtZW50cyB3aXRoIFVOU0lH
TkVEX0JZVEUiKTsKKyAgICAgICAgICAgIGNoZWNrRHJhd0VsZW1lbnRzKAorICAgICAgICAgICAg
ICAgIGRlc2t0b3BHTFsnUVVBRF9TVFJJUCddLCA0LCBnbC5VTlNJR05FRF9CWVRFLAorICAgICAg
ICAgICAgICAgIGdsLklOVkFMSURfRU5VTSwgImdsLkRyYXdFbGVtZW50cyB3aXRoIFFVQURfU1RS
SVAgc2hvdWxkIHJldHVybiBJTlZBTElEX0VOVU0iKTsKKyAgICAgICAgICAgIGNoZWNrRHJhd0Vs
ZW1lbnRzKAorICAgICAgICAgICAgICAgIGRlc2t0b3BHTFsnUVVBRFMnXSwgNCwgZ2wuVU5TSUdO
RURfQllURSwKKyAgICAgICAgICAgICAgICBnbC5JTlZBTElEX0VOVU0sICJnbC5EcmF3RWxlbWVu
dHMgd2l0aCBRVUFEUyBzaG91bGQgcmV0dXJuIElOVkFMSURfRU5VTSIpOworICAgICAgICAgICAg
Y2hlY2tEcmF3RWxlbWVudHMoCisgICAgICAgICAgICAgICAgZGVza3RvcEdMWydQT0xZR09OJ10s
IDQsIGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICAgICAgICAgICAgZ2wuSU5WQUxJRF9FTlVNLCAi
Z2wuRHJhd0VsZW1lbnRzIHdpdGggUE9MWUdPTiBzaG91bGQgcmV0dXJuIElOVkFMSURfRU5VTSIp
OworCisgICAgICAgICAgICB2YXIgdmVydGV4T2JqZWN0ID0gZ2wuY3JlYXRlQnVmZmVyKCk7Cisg
ICAgICAgICAgICBnbC5iaW5kQnVmZmVyKGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSLCB2ZXJ0ZXhP
YmplY3QpOworICAgICAgICAgICAgZ2wuYnVmZmVyRGF0YShnbC5FTEVNRU5UX0FSUkFZX0JVRkZF
UiwgbmV3IFVpbnQzMkFycmF5KFsgMCwgMSwgMl0pLCBnbC5TVEFUSUNfRFJBVyk7CisKKyAgICAg
ICAgICAgIGNoZWNrRHJhd0VsZW1lbnRzKAorICAgICAgICAgICAgICAgIGdsLlRSSUFOR0xFUywg
MywgZ2wuVU5TSUdORURfSU5ULAorICAgICAgICAgICAgICAgIGdsLklOVkFMSURfRU5VTSwgImds
LkRyYXdFbGVtZW50cyBzaG91bGQgcmV0dXJuIElOVkFMSURfRU5VTSB3aXRoIFVOU0lHTkVEX0lO
VCIpOworCisgICAgICAgfQorCisgICAgICAgaW5pdCgpOworICAgICAgIHZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOworICAgIDwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci1mYm8tdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2ds
LXNjaXNzb3ItZmJvLXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iODJlOGUwMDAzYzcwZGFjNDYwMjZm
OTk1ZTJlMjVmMDFiMDE4ZGE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNz
b3ItZmJvLXRlc3QuaHRtbApAQCAtMCwwICsxLDEzNSBAQAorPCEtLQorCisvKgorKiogQ29weXJp
Z2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlz
IGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcg
YQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRp
b24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMg
d2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhl
IHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmli
dXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5k
IHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hl
ZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioK
KyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNl
IHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRp
b25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQg
IkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1Q
TElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiog
TUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9O
SU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJ
R0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVS
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9S
IE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRI
RQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVS
SUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgU2Npc3NvciBGQk8gVGVzdDwvdGl0bGU+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0
eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSIxNiIgaGVp
Z2h0PSIxNiIgc3R5bGU9IndpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7Ij4gPC9jYW52YXM+Cis8
c2NyaXB0PgorInVzZSBzdHJpY3QiOworZGVzY3JpcHRpb24oImNoZWNrcyB0aGUgc2Npc3NvciBk
b2VzIG5vdCBjaGFuZ2Ugd2hlbiBzd2l0Y2hpbmcgZnJhbWVidWZmZXJzIik7CisKK2RlYnVnKCIi
KTsKK2RlYnVnKCJDYW52YXMuZ2V0Q29udGV4dCIpOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRp
bHM7CisKK2Z1bmN0aW9uIG1ha2VGcmFtZWJ1ZmZlcih3aWR0aCwgaGVpZ2h0KSB7CisgIHZhciB0
ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQs
IHRleCk7CisgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgd2lkdGgs
IGhlaWdodCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgbnVsbCk7CisgIGdsLnRleFBh
cmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1MsIGdsLkNMQU1QX1RPX0VE
R0UpOworICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9U
LCBnbC5DTEFNUF9UT19FREdFKTsKKyAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBn
bC5URVhUVVJFX01JTl9GSUxURVIsIGdsLk5FQVJFU1QpOworICBnbC50ZXhQYXJhbWV0ZXJpKGds
LlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTkVBUkVTVCk7CisgIHZhciBm
YiA9IGdsLmNyZWF0ZUZyYW1lYnVmZmVyKCk7CisgIGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFN
RUJVRkZFUiwgZmIpOworICBnbC5mcmFtZWJ1ZmZlclRleHR1cmUyRChnbC5GUkFNRUJVRkZFUiwg
Z2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLlRFWFRVUkVfMkQsIHRleCwgMCk7CisgIHNob3VsZEJl
KCdnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKScsICdnbC5GUkFNRUJV
RkZFUl9DT01QTEVURScpOworICBnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIG51
bGwpOworICByZXR1cm4gZmI7Cit9CisKK2Z1bmN0aW9uIGNoZWNrQ2FudmFzUmVjdCh4LCB5LCB3
aWR0aCwgaGVpZ2h0LCBjb2xvciwgbXNnKSB7CisgIGRlYnVnKCJjaGVja2luZzogIiArIHggKyAi
LCAiICsgeSArICIsICIgKyB3aWR0aCArICIsICIgKyBoZWlnaHQpOworICB3dHUuY2hlY2tDYW52
YXNSZWN0KGdsLCB4LCB5LCB3aWR0aCwgaGVpZ2h0LCBjb2xvciwgbXNnKTsKK30KKwordmFyIGds
ID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiY2FudmFzIiwge2FudGlhbGlhczogZmFsc2V9KTsKK2lm
ICghZ2wpIHsKKyAgdGVzdEZhaWxlZCgiY29udGV4dCBkb2VzIG5vdCBleGlzdCIpOworfSBlbHNl
IHsKKyAgdGVzdFBhc3NlZCgiY29udGV4dCBleGlzdHMiKTsKKworICB2YXIgZmI4eDggPSBtYWtl
RnJhbWVidWZmZXIoOCwgOCk7CisgIHZhciBmYjMyeDMyID0gbWFrZUZyYW1lYnVmZmVyKDMyLCAz
Mik7CisKKyAgdmFyIHRlc3RTY2lzc29yID0gZnVuY3Rpb24oc2Npc3NvclgsIHNjaXNzb3JZLCBz
Y2lzc29yV2lkdGgsIHNjaXNzb3JIZWlnaHQsIG1zZykgeworICAgIGRlYnVnKCIiKTsKKyAgICBk
ZWJ1Zyhtc2cpOworCisgICAgdmFyIHRlc3QgPSBmdW5jdGlvbihmYiwgc2l6ZSkgeworICAgICAg
ZGVidWcoIiIpOworICAgICAgZGVidWcoImNoZWNraW5nIHNpemU6ICIgKyBzaXplKTsKKyAgICAg
IGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZmIpOworICAgICAgZ2wuY2xlYXJD
b2xvcigwLCAxLCAwLCAxKTsKKyAgICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOwor
ICAgICAgdmFyIHNjaXNzb3JSaWdodCA9IE1hdGgubWluKHNjaXNzb3JYICsgc2Npc3NvcldpZHRo
LCBzaXplKTsKKyAgICAgIHZhciBzY2lzc29yVG9wID0gTWF0aC5taW4oc2Npc3NvclkgKyBzY2lz
c29ySGVpZ2h0LCBzaXplKTsKKyAgICAgIHZhciBzY1dpZHRoID0gc2Npc3NvclJpZ2h0IC0gc2Np
c3Nvclg7CisgICAgICB2YXIgc2NIZWlnaHQgPSBzY2lzc29yVG9wIC0gc2Npc3Nvclk7CisgICAg
ICB2YXIgcmlnaHRXaWR0aCA9IE1hdGgubWluKHNpemUgLSBzY2lzc29yUmlnaHQsIDApOworICAg
ICAgdmFyIHRvcEhlaWdodCA9IE1hdGgubWF4KHNpemUgLSBzY2lzc29yVG9wLCAwKTsKKyAgICAg
IGNoZWNrQ2FudmFzUmVjdChzY2lzc29yWCwgc2Npc3NvclksIHNjV2lkdGgsIHNjSGVpZ2h0LCBb
MCwgMjU1LCAwLCAyNTVdLCAic2hvdWxkIGJlIGdyZWVuIik7CisgICAgICBjaGVja0NhbnZhc1Jl
Y3QoMCwgMCwgc2l6ZSwgc2Npc3NvclksIFsyNTUsIDAsIDAsIDI1NV0sICJzaG91bGQgYmUgcmVk
Iik7CisgICAgICBjaGVja0NhbnZhc1JlY3QoMCwgc2Npc3NvclRvcCwgc2l6ZSwgdG9wSGVpZ2h0
LCBbMjU1LCAwLCAwLCAyNTVdLCAic2hvdWxkIGJlIHJlZCIpOworICAgICAgY2hlY2tDYW52YXNS
ZWN0KDAsIDAsIHNjaXNzb3JYLCBzaXplLCBbMjU1LCAwLCAwLCAyNTVdLCAic2hvdWxkIGJlIHJl
ZCIpOworICAgICAgY2hlY2tDYW52YXNSZWN0KHNjaXNzb3JSaWdodCwgMCwgc2Npc3NvclgsIHJp
Z2h0V2lkdGgsIFsyNTUsIDAsIDAsIDI1NV0sICJzaG91bGQgYmUgcmVkIik7CisgICAgfTsKKwor
ICAgIGdsLmRpc2FibGUoZ2wuU0NJU1NPUl9URVNUKTsKKyAgICBnbC5jbGVhckNvbG9yKDEsIDAs
IDAsIDEpOworICAgIGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgbnVsbCk7Cisg
ICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisgICAgZ2wuYmluZEZyYW1lYnVmZmVy
KGdsLkZSQU1FQlVGRkVSLCBmYjh4OCk7CisgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJ
VCk7CisgICAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYjMyeDMyKTsKKyAg
ICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKworICAgIGdsLmJpbmRGcmFtZWJ1ZmZl
cihnbC5GUkFNRUJVRkZFUiwgZmIzMngzMik7CisgICAgZ2wuZW5hYmxlKGdsLlNDSVNTT1JfVEVT
VCk7CisgICAgZ2wuc2Npc3NvcihzY2lzc29yWCwgc2Npc3NvclksIHNjaXNzb3JXaWR0aCwgc2Np
c3NvckhlaWdodCk7CisgICAgdGVzdChudWxsLCAxNik7CisgICAgdGVzdChmYjh4OCwgOCk7Cisg
ICAgdGVzdChmYjMyeDMyLCAzMik7CisgICAgdGVzdChudWxsLCAxNik7CisgIH07CisKKyAgdGVz
dFNjaXNzb3IoMiwgNCwgMTIsIDEwLCAidGVzdCBzY2lzc29yIGluIG1pZGRsZSIpOworICB0ZXN0
U2Npc3NvcigwLCAwLCAxMiwgMTAsICJ0ZXN0IHNjaXNzb3IgYXQgMCwwIik7CisgIHRlc3RTY2lz
c29yKDAsIDAsIDE2LCAxNiwgInRlc3Qgc2Npc3NvciB3aXRoIHNpemUgdGhhdCBtYXRjaGVzIGRy
YXdpbmdidWZmZXIiKTsKKworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAidGhl
cmUgc2hvdWxkIGJlIG5vIGVycm9ycyIpOworfQorCitkZWJ1ZygiIik7Cit2YXIgc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9yZW5kZXJpbmcvbGluZS1sb29wLXRyaS1mYW4uaHRtbCBiL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9saW5lLWxv
b3AtdHJpLWZhbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJmOTY1ZjQ1NzlhMzhmM2QzODFlYjVhZWI0YzQy
ZWM0NzYwMDY4ODUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbGluZS1sb29wLXRyaS1m
YW4uaHRtbApAQCAtMCwwICsxLDI1MiBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAy
MDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBn
cmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29w
eSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMg
KHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCBy
ZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0
byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJs
aWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBw
ZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBz
bywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJl
IGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRo
ZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwg
V0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5D
TFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRB
QklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VN
RU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERF
UlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lT
RSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFU
RVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyov
CisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IGlkPSJ2c2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+
CisgICAgICAgICAgICBhdHRyaWJ1dGUgdmVjMiBwb3M7CisKKyAgICAgICAgICAgIHZvaWQgbWFp
bigpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZ2xfUG9zaXRpb24gPSB2ZWM0KHBv
cywgMCwgMSk7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorCisgICAgICAgIDxz
Y3JpcHQgaWQ9ImZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICAgICAgICAg
ICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKKyAgICAgICAgICAgIHZvaWQgbWFpbigpCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZ2xfRnJhZ0NvbG9yID0gdmVjNCgwLCAxLCAw
LCAxKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisKKyAgICAgICAgPHNjcmlw
dD4KKyAgICAgICAgICAgICJ1c2Ugc3RyaWN0IjsKKyAgICAgICAgICAgIHZhciB3dHUgPSBXZWJH
TFRlc3RVdGlsczsKKworICAgICAgICAgICAgLy8gQ2hlY2sgYSBzaW5nbGUgMzItYml0IFJHQkEg
cGl4ZWwuCisgICAgICAgICAgICBmdW5jdGlvbiBjaGVja1BpeGVsKGJ1ZiwgaW5kZXgsIGNvcnJl
Y3QpIHsKKyAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDQ7ICsraSkgeworICAg
ICAgICAgICAgICAgICAgICBpZiAoYnVmW2luZGV4ICsgaV0gIT0gY29ycmVjdFtpXSkgeworICAg
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICAvLyBDaGVjayB0aGUgbGluZSBsb29wIGJ5IHJlYWRpbmcg
dGhlIHBpeGVscyBhbmQgbWFraW5nIHN1cmUganVzdCB0aGUgZWRnZQorICAgICAgICAgICAgLy8g
cGl4ZWxzIGFyZSBncmVlbiBhbmQgdGhlIHJlc3QgYXJlIGJsYWNrLgorICAgICAgICAgICAgZnVu
Y3Rpb24gY2hlY2tMaW5lTG9vcChnbCwgdykgeworICAgICAgICAgICAgICAgIHZhciBidWYgPSBu
ZXcgVWludDhBcnJheSh3ICogdyAqIDQpOworICAgICAgICAgICAgICAgIGdsLnJlYWRQaXhlbHMo
MCwgMCwgdywgdywgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYnVmKTsKKyAgICAgICAgICAg
ICAgICB2YXIgZ3JlZW4gPSBbMCwyNTUsMCwyNTVdOworICAgICAgICAgICAgICAgIHZhciBibGFj
ayA9IFswLDAsMCwyNTVdOworICAgICAgICAgICAgICAgIHZhciBpc0NvcnJlY3QgPSB0cnVlOwor
ICAgICAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdyAqIHcgKiA0OyBqICs9IDQpIHsK
KyAgICAgICAgICAgICAgICAgICAgdmFyIGNvcnJlY3QgPSBibGFjazsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKGogPCB3ICogNCB8fCBqID4gdyAqICh3IC0gMSkgKiA0IHx8IGogJSAodyAqIDQp
ID09IDAgfHwgaiAlICh3ICogNCkgPT0gKHcgLSAxKSAqIDQpIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGNvcnJlY3QgPSBncmVlbjsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgICAgICAvLyBpZ25vcmUgY29ybmVyIHBpeGVscworICAgICAgICAgICAgICAgICAgICBp
ZiAoKGogPT0gMCkgfHwgKGogPT0gNCoody0xKSkgfHwgKGogPT0gNCp3Kih3LTEpKSB8fCAoaj09
IDQqKHcqdyAtIDEpKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAg
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgaWYgKCFjaGVja1BpeGVsKGJ1
ZiwgaiwgY29ycmVjdCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlzQ29ycmVjdCA9IGZh
bHNlOworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKGlzQ29ycmVjdCkgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJMaW5lIGxvb3Agd2FzIGRyYXduIGNvcnJl
Y3RseS4iKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJMaW5lIGxvb3Agd2FzIGRyYXduIGluY29ycmVjdGx5LiIpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLy8gQ2hlY2sgdGhlIHRyaSBm
YW4gYnkgcmVhZGluZyB0aGUgcGl4ZWxzIGFuZCBtYWtpbmcgc3VyZSB0aGV5IGFyZSBhbGwgZ3Jl
ZW4uCisgICAgICAgICAgICBmdW5jdGlvbiBjaGVja1RyaUZhbihnbCwgdykgeworICAgICAgICAg
ICAgICAgIHZhciBidWYgPSBuZXcgVWludDhBcnJheSh3ICogdyAqIDQpOworICAgICAgICAgICAg
ICAgIGdsLnJlYWRQaXhlbHMoMCwgMCwgdywgdywgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwg
YnVmKTsKKyAgICAgICAgICAgICAgICB2YXIgZmlsbGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAg
ICBmb3IgKHZhciBqID0gMDsgaiA8IHcgKiB3ICogNDsgaiArPSA0KSB7CisgICAgICAgICAgICAg
ICAgICAgIGlmICghY2hlY2tQaXhlbChidWYsIGosIFswLDI1NSwwLDI1NV0pKSB7CisgICAgICAg
ICAgICAgICAgICAgICAgICBmaWxsZWQgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGJyZWFrOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgIGlmIChmaWxsZWQpIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgi
VHJpYW5nbGUgZmFuIHdhcyBkcmF3biBjb3JyZWN0bHkuIik7CisgICAgICAgICAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiVHJpYW5nbGUgZmFuIHdhcyBk
cmF3biBpbmNvcnJlY3RseS4iKTsKKyAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgIAor
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICB2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCd0ZXN0
YmVkJywgeyBhbnRpYWxpYXM6IGZhbHNlIH0pOworICAgICAgICAgICAgICAgIGlmICghZ2wpIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgnY291bGQgbm90IGNyZWF0ZSBjb250ZXh0
Jyk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgZ2wuY2xlYXJDb2xvcigwLCAwLCAwLCAxKTsKKyAgICAgICAgICAgICAgICB2
YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFsndnNoYWRlcicsICdmc2hhZGVyJ10s
IFsncG9zJ10pCisgICAgICAgICAgICAgICAgdmFyIHcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgndGVzdGJlZCcpLndpZHRoOworCisgICAgICAgICAgICAgICAgZ2wuZW5hYmxlVmVydGV4QXR0
cmliQXJyYXkoMCk7CisKKyAgICAgICAgICAgICAgICAvLy0tLS0tLS0tLS0gTElORV9MT09QLS0t
LS0tLS0tLQorICAgICAgICAgICAgICAgIHZhciBkID0gMS93OworICAgICAgICAgICAgICAgIHZh
ciB2ZXJ0aWNlcyA9IG5ldyBGbG9hdDMyQXJyYXkoWy0xK2QsIC0xK2QsIDEtZCwgLTErZCwgMS1k
LCAxLWQsIC0xK2QsIDEtZF0pOworICAgICAgICAgICAgICAgIHZhciB2ZXJ0QnVmID0gZ2wuY3Jl
YXRlQnVmZmVyKCk7CisgICAgICAgICAgICAgICAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZG
RVIsIHZlcnRCdWYpOworICAgICAgICAgICAgICAgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVG
RkVSLCB2ZXJ0aWNlcywgZ2wuU1RBVElDX0RSQVcpOworICAgICAgICAgICAgICAgIGdsLnZlcnRl
eEF0dHJpYlBvaW50ZXIoMCwgMiwgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgICAgICAgICAg
ICAgICB2YXIgaW5kQnVmID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgICAgICAgICAgICAgICAgdmFy
IGluZGljZXMgPSBuZXcgVWludDE2QXJyYXkoWzAsIDEsIDIsIDNdKTsKKyAgICAgICAgICAgICAg
ICBnbC5iaW5kQnVmZmVyKGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBpbmRCdWYpOworICAgICAg
ICAgICAgICAgIGdsLmJ1ZmZlckRhdGEoZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVIsIGluZGljZXMs
IGdsLlNUQVRJQ19EUkFXKTsKKworICAgICAgICAgICAgICAgIGRlYnVnKCdEcmF3IGEgc3F1YXJl
IHVzaW5nIGEgbGluZSBsb29wIGFuZCB2ZXJpZnkgdGhhdCBpdCBkcmF3cyBhbGwgZm91ciBzaWRl
cyBhbmQgbm90aGluZyBlbHNlLicpOworICAgICAgICAgICAgICAgIGdsLmNsZWFyKGdsLkNPTE9S
X0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUKTsKKyAgICAgICAgICAgICAgICBnbC5k
cmF3QXJyYXlzKGdsLkxJTkVfTE9PUCwgMCwgdmVydGljZXMubGVuZ3RoIC8gMik7CisgICAgICAg
ICAgICAgICAgY2hlY2tMaW5lTG9vcChnbCwgdyk7CisKKyAgICAgICAgICAgICAgICBkZWJ1Zygn
RHJhdyBhIHNxdWFyZSB1c2luZyBhbiBpbmRleGVkIGxpbmUgbG9vcCBhbmQgdmVyaWZ5IHRoYXQg
aXQgZHJhd3MgYWxsIGZvdXIgc2lkZXMgYW5kIG5vdGhpbmcgZWxzZS4nKTsKKyAgICAgICAgICAg
ICAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7
CisgICAgICAgICAgICAgICAgZ2wuZHJhd0VsZW1lbnRzKGdsLkxJTkVfTE9PUCwgaW5kaWNlcy5s
ZW5ndGgsIGdsLlVOU0lHTkVEX1NIT1JULCAwKTsKKyAgICAgICAgICAgICAgICBjaGVja0xpbmVM
b29wKGdsLCB3KTsKKworICAgICAgICAgICAgICAgIHZlcnRpY2VzID0gbmV3IEZsb2F0MzJBcnJh
eShbMCwgMCwgMCwgMCwgMCwgMCwgLTErZCwgLTErZCwgMS1kLCAtMStkLCAxLWQsIDEtZCwgLTEr
ZCwgMS1kXSk7CisgICAgICAgICAgICAgICAgdmVydEJ1ZiA9IGdsLmNyZWF0ZUJ1ZmZlcigpOwor
ICAgICAgICAgICAgICAgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB2ZXJ0QnVmKTsK
KyAgICAgICAgICAgICAgICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgdmVydGljZXMs
IGdsLlNUQVRJQ19EUkFXKTsKKyAgICAgICAgICAgICAgICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVy
KDAsIDIsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgICAgICAgICAgICAgICAgaW5kQnVmID0g
Z2wuY3JlYXRlQnVmZmVyKCk7CisgICAgICAgICAgICAgICAgaW5kaWNlcyA9IG5ldyBVaW50MTZB
cnJheShbMCwgMSwgMiwgMywgNCwgNSwgNl0pOworICAgICAgICAgICAgICAgIGdsLmJpbmRCdWZm
ZXIoZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVIsIGluZEJ1Zik7CisgICAgICAgICAgICAgICAgZ2wu
YnVmZmVyRGF0YShnbC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwgaW5kaWNlcywgZ2wuU1RBVElDX0RS
QVcpOworCisgICAgICAgICAgICAgICAgZGVidWcoJ0RyYXcgYSBzcXVhcmUgdXNpbmcgYSBsaW5l
IGxvb3Agd2l0aCBhIHZlcnRleCBidWZmZXIgb2Zmc2V0IGFuZCB2ZXJpZnkgdGhhdCBpdCBkcmF3
cyBhbGwgZm91ciBzaWRlcyBhbmQgbm90aGluZyBlbHNlLicpOworICAgICAgICAgICAgICAgIGds
LmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUKTsKKyAgICAg
ICAgICAgICAgICBnbC5kcmF3QXJyYXlzKGdsLkxJTkVfTE9PUCwgMywgdmVydGljZXMubGVuZ3Ro
IC8gMiAtIDMpOworICAgICAgICAgICAgICAgIGNoZWNrTGluZUxvb3AoZ2wsIHcpOworCisgICAg
ICAgICAgICAgICAgZGVidWcoJ0RyYXcgYSBzcXVhcmUgdXNpbmcgYW4gaW5kZXhlZCBsaW5lIGxv
b3Agd2l0aCBhbiBpbmRleCBidWZmZXIgb2Zmc2V0IGFuZCB2ZXJpZnkgdGhhdCBpdCBkcmF3cyBh
bGwgZm91ciBzaWRlcyBhbmQgbm90aGluZyBlbHNlLicpOworICAgICAgICAgICAgICAgIGdsLmNs
ZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUKTsKKyAgICAgICAg
ICAgICAgICBnbC5kcmF3RWxlbWVudHMoZ2wuTElORV9MT09QLCBpbmRpY2VzLmxlbmd0aCAtIDMs
IGdsLlVOU0lHTkVEX1NIT1JULCAzICogMik7CisgICAgICAgICAgICAgICAgY2hlY2tMaW5lTG9v
cChnbCwgdyk7CisKKyAgICAgICAgICAgICAgICAvLy0tLS0tLS0tLS0gTElORV9MT09QIFVCWVRF
IC0tLS0tLS0tLS0KKyAgICAgICAgICAgICAgICB2YXIgZGVnZW5WZXJ0cyA9IG5ldyBBcnJheSgy
NTIgKiAyKTsKKyAgICAgICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IDI1MiAqIDI7ICsr
aikgeworICAgICAgICAgICAgICAgICAgICBkZWdlblZlcnRzW2pdID0gLTErZDsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgZGVnZW5WZXJ0cyA9IGRlZ2VuVmVydHMuY29uY2F0
KFstMStkLCAtMStkLCAxLWQsIC0xK2QsIDEtZCwgMS1kLCAtMStkLCAxLWRdKTsKKyAgICAgICAg
ICAgICAgICB2ZXJ0aWNlcyA9IG5ldyBGbG9hdDMyQXJyYXkoZGVnZW5WZXJ0cyk7CisgICAgICAg
ICAgICAgICAgdmVydEJ1ZiA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICAgICAgICAgICAgICAgIGds
LmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB2ZXJ0QnVmKTsKKyAgICAgICAgICAgICAgICBn
bC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgdmVydGljZXMsIGdsLlNUQVRJQ19EUkFXKTsK
KyAgICAgICAgICAgICAgICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsIDIsIGdsLkZMT0FULCBm
YWxzZSwgMCwgMCk7CisgICAgICAgICAgICAgICAgaW5kQnVmID0gZ2wuY3JlYXRlQnVmZmVyKCk7
CisgICAgICAgICAgICAgICAgdmFyIGRlZ2VuSW5kID0gbmV3IEFycmF5KDI1Mik7CisgICAgICAg
ICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCAyNTI7ICsraikgeworICAgICAgICAgICAgICAg
ICAgICBkZWdlbkluZFtqXSA9IGo7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
IGRlZ2VuSW5kID0gZGVnZW5JbmQuY29uY2F0KFsyNTIsIDI1MywgMjU0LCAyNTVdKTsKKyAgICAg
ICAgICAgICAgICBpbmRpY2VzID0gbmV3IFVpbnQ4QXJyYXkoZGVnZW5JbmQpOworICAgICAgICAg
ICAgICAgIGdsLmJpbmRCdWZmZXIoZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVIsIGluZEJ1Zik7Cisg
ICAgICAgICAgICAgICAgZ2wuYnVmZmVyRGF0YShnbC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwgaW5k
aWNlcywgZ2wuU1RBVElDX0RSQVcpOworCisgICAgICAgICAgICAgICAgZGVidWcoJ0RyYXcgYSBz
cXVhcmUgdXNpbmcgYW4gdWJ5dGUgaW5kZXhlZCBsaW5lIGxvb3Agd2l0aCAyNTYgaW5kaWNlcyBh
bmQgdmVyaWZ5IHRoYXQgaXQgZHJhd3MgYWxsIGZvdXIgc2lkZXMgYW5kIG5vdGhpbmcgZWxzZS4n
KTsKKyAgICAgICAgICAgICAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQ
VEhfQlVGRkVSX0JJVCk7CisgICAgICAgICAgICAgICAgZ2wuZHJhd0VsZW1lbnRzKGdsLkxJTkVf
TE9PUCwgaW5kaWNlcy5sZW5ndGgsIGdsLlVOU0lHTkVEX0JZVEUsIDApOworICAgICAgICAgICAg
ICAgIGNoZWNrTGluZUxvb3AoZ2wsIHcpOworCisKKyAgICAgICAgICAgICAgICAvLy0tLS0tLS0t
LS0gVFJJQU5HTEVfRkFOIC0tLS0tLS0tLS0KKyAgICAgICAgICAgICAgICB2ZXJ0aWNlcyA9IG5l
dyBGbG9hdDMyQXJyYXkoWzAsIDAsIC0xLCAtMSwgMSwgLTEsIDEsIDEsIC0xLCAxLCAtMSwgLTFd
KTsKKyAgICAgICAgICAgICAgICB2ZXJ0QnVmID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgICAgICAg
ICAgICAgICAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZlcnRCdWYpOworICAgICAg
ICAgICAgICAgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCB2ZXJ0aWNlcywgZ2wuU1RB
VElDX0RSQVcpOworICAgICAgICAgICAgICAgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgMiwg
Z2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgICAgICAgICAgICAgICBpbmRpY2VzID0gbmV3IFVp
bnQxNkFycmF5KFswLDEsMiwzLDQsNV0pOworICAgICAgICAgICAgICAgIGluZEJ1ZiA9IGdsLmNy
ZWF0ZUJ1ZmZlcigpOworICAgICAgICAgICAgICAgIGdsLmJpbmRCdWZmZXIoZ2wuRUxFTUVOVF9B
UlJBWV9CVUZGRVIsIGluZEJ1Zik7CisgICAgICAgICAgICAgICAgZ2wuYnVmZmVyRGF0YShnbC5F
TEVNRU5UX0FSUkFZX0JVRkZFUiwgaW5kaWNlcywgZ2wuU1RBVElDX0RSQVcpOworCisgICAgICAg
ICAgICAgICAgZGVidWcoJ0RyYXcgYSBmaWxsZWQgc3F1YXJlIHVzaW5nIGEgdHJpYW5nbGUgZmFu
IGFuZCB2ZXJpZnkgdGhhdCBpdCBmaWxscyB0aGUgZW50aXJlIGNhbnZhcy4nKTsKKyAgICAgICAg
ICAgICAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJ
VCk7CisgICAgICAgICAgICAgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRV9GQU4sIDAsIHZl
cnRpY2VzLmxlbmd0aCAvIDIpOworICAgICAgICAgICAgICAgIGNoZWNrVHJpRmFuKGdsLCB3KTsK
KworICAgICAgICAgICAgICAgIGRlYnVnKCdEcmF3IGEgZmlsbGVkIHNxdWFyZSB1c2luZyBhbiBp
bmRleGVkIHRyaWFuZ2xlIGZhbiBhbmQgdmVyaWZ5IHRoYXQgaXQgZmlsbHMgdGhlIGVudGlyZSBj
YW52YXMuJyk7CisgICAgICAgICAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8
IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworICAgICAgICAgICAgICAgIGdsLmRyYXdFbGVtZW50cyhn
bC5UUklBTkdMRV9GQU4sIGluZGljZXMubGVuZ3RoLCBnbC5VTlNJR05FRF9TSE9SVCwgMCk7Cisg
ICAgICAgICAgICAgICAgY2hlY2tUcmlGYW4oZ2wsIHcpOworCisgICAgICAgICAgICAgICAgdmVy
dGljZXMgPSBuZXcgRmxvYXQzMkFycmF5KFsxLCAxLCAxLCAxLCAxLCAxLCAwLCAwLCAtMSwgLTEs
IDEsIC0xLCAxLCAxLCAtMSwgMSwgLTEsIC0xXSk7CisgICAgICAgICAgICAgICAgdmVydEJ1ZiA9
IGdsLmNyZWF0ZUJ1ZmZlcigpOworICAgICAgICAgICAgICAgIGdsLmJpbmRCdWZmZXIoZ2wuQVJS
QVlfQlVGRkVSLCB2ZXJ0QnVmKTsKKyAgICAgICAgICAgICAgICBnbC5idWZmZXJEYXRhKGdsLkFS
UkFZX0JVRkZFUiwgdmVydGljZXMsIGdsLlNUQVRJQ19EUkFXKTsKKyAgICAgICAgICAgICAgICBn
bC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsIDIsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgICAg
ICAgICAgICAgICAgaW5kaWNlcyA9IG5ldyBVaW50MTZBcnJheShbMCwxLDIsMyw0LDUsNiw3LDhd
KTsKKyAgICAgICAgICAgICAgICBpbmRCdWYgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgICAgICAg
ICAgICAgICBnbC5iaW5kQnVmZmVyKGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBpbmRCdWYpOwor
ICAgICAgICAgICAgICAgIGdsLmJ1ZmZlckRhdGEoZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVIsIGlu
ZGljZXMsIGdsLlNUQVRJQ19EUkFXKTsKKworICAgICAgICAgICAgICAgIGRlYnVnKCdEcmF3IGEg
ZmlsbGVkIHNxdWFyZSB1c2luZyBhIHRyaWFuZ2xlIGZhbiB3aXRoIGEgdmVydGV4IGJ1ZmZlciBv
ZmZzZXQgYW5kIHZlcmlmeSB0aGF0IGl0IGZpbGxzIHRoZSBlbnRpcmUgY2FudmFzLicpOworICAg
ICAgICAgICAgICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZG
RVJfQklUKTsKKyAgICAgICAgICAgICAgICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFX0ZBTiwg
MywgdmVydGljZXMubGVuZ3RoIC8gMiAtIDMpOworICAgICAgICAgICAgICAgIGNoZWNrVHJpRmFu
KGdsLCB3KTsKKworICAgICAgICAgICAgICAgIGRlYnVnKCdEcmF3IGEgZmlsbGVkIHNxdWFyZSB1
c2luZyBhbiBpbmRleGVkIHRyaWFuZ2xlIGZhbiB3aXRoIGFuIGluZGV4IGJ1ZmZlciBvZmZzZXQg
YW5kIHZlcmlmeSB0aGF0IGl0IGZpbGxzIHRoZSBlbnRpcmUgY2FudmFzLicpOworICAgICAgICAg
ICAgICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklU
KTsKKyAgICAgICAgICAgICAgICBnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVfRkFOLCBpbmRp
Y2VzLmxlbmd0aCAtIDMsIGdsLlVOU0lHTkVEX1NIT1JULCAzICogMik7CisgICAgICAgICAgICAg
ICAgY2hlY2tUcmlGYW4oZ2wsIHcpOworICAgICAgICAgICAgfQorICAgICAgICA8L3NjcmlwdD4K
KyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxjYW52YXMgaWQ9InRlc3RiZWQiIHdp
ZHRoPSIxMCIgaGVpZ2h0PSIxMCIgc3R5bGU9IndpZHRoOjUwcHg7IGhlaWdodDo1MHB4Ij48L2Nh
bnZhcz4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgICJ1c2Ug
c3RyaWN0IjsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCdWZXJpZnkgdGhhdCBMSU5FX0xPT1Ag
YW5kIFRSSUFOR0xFX0ZBTiB3b3JrcyBjb3JyZWN0bHkuJyk7CisgICAgICAgICAgICBydW5UZXN0
KCk7CisgICAgICAgICAgICB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKyAgICAgICAg
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5k
ZXJpbmcvc2ltcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvc2ltcGxlLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmEw
YzdiYzVmNjlkMjQxZjA4OWRhYjgzMzUwZmZiOTcxZmFhZDBmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3JlbmRlcmluZy9zaW1wbGUuaHRtbApAQCAtMCwwICsxLDk5IEBACis8IS0tCisKKy8qCisqKiBD
b3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Np
b24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFp
bmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIC9vciBhc3NvY2lhdGVkIGRvY3Vt
ZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRl
cmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRp
b24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBk
aXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFs
cywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1
cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
OgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24g
bm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFs
IHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJP
VklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1Mg
T1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBP
RgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
TkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1Ig
Q09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9S
IE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBU
T1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBX
SVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhF
IE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICA8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICA8dGl0bGU+U2ltcGxlIFJlbmRlcmluZyBU
ZXN0PC90aXRsZT4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2Fu
dmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiPgorVGhlcmUgaXMgc3VwcG9z
ZWQgdG8gYmUgYW4gZXhhbXBsZSBkcmF3aW5nIGhlcmUsIGJ1dCBpdCdzIG5vdCBpbXBvcnRhbnQu
Cis8L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdCBpZD0idnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgi
PgorYXR0cmlidXRlIHZlYzQgYV9Qb3NpdGlvbjsKK3ZvaWQgbWFpbigpCit7CisgIGdsX1Bvc2l0
aW9uID0gYV9Qb3NpdGlvbjsKK30KKzwvc2NyaXB0PgorCis8c2NyaXB0IGlkPSJmc2hhZGVyIiB0
eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ZvaWQgbWFpbigpCit7CisgIGdsX0ZyYWdDb2xv
ciA9IHZlYzQoMCwxLDAsMSk7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7
Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CitmdW5jdGlvbiBpbml0KCkKK3sKKyAgZGVzY3Jp
cHRpb24oKTsKKworICB2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJleGFtcGxlIik7Cisg
IHZhciBwcm9ncmFtID0gd3R1LmxvYWRQcm9ncmFtRnJvbVNjcmlwdChnbCwgInZzaGFkZXIiLCAi
ZnNoYWRlciIpOworICBnbC51c2VQcm9ncmFtKHByb2dyYW0pOworICB2YXIgbG9jID0gZ2wuZ2V0
QXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgImFfUG9zaXRpb24iKTsKKworICB2YXIgdmVydGV4T2Jq
ZWN0ID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVS
LCB2ZXJ0ZXhPYmplY3QpOworICBnbC5idWZmZXJEYXRhKAorICAgIGdsLkFSUkFZX0JVRkZFUiwK
KyAgICBuZXcgRmxvYXQzMkFycmF5KAorICAgIFsgIDEsICAxLAorICAgICAgLTEsICAxLAorICAg
ICAgLTEsIC0xLAorICAgICAgIDEsICAxLAorICAgICAgLTEsIC0xLAorICAgICAgIDEsIC0xXSks
CisgICAgZ2wuU1RBVElDX0RSQVcpOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShsb2Mp
OworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKGxvYywgMiwgZ2wuRkxPQVQsIGZhbHNlLCAwLCAw
KTsKKworICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJ
VCk7CisgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzAsMCwwLDBdLCAic2hvdWxkIGJlIGJsYWNrIiwg
MCk7CisgIGdsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCA2KTsKKyAgd3R1LmNoZWNrQ2Fu
dmFzKGdsLCBbMCwyNTUsMCwyNTVdLCAic2hvdWxkIGJlIGdyZWVuIiwgMCk7CisKKyAgZ2xFcnJv
clNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInRoZXJlIHNob3VsZCBiZSBubyBlcnJvcnMiKTsK
K30KKworaW5pdCgpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3RyaWFuZ2xlLmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9yZW5kZXJpbmcvdHJpYW5nbGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NThkMDZkYWVjMWYwYTBjZGYx
YzA5OTljMGZjOGNhZmJkM2JiMTdkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3RyaWFu
Z2xlLmh0bWwKQEAgLTAsMCArMSw5NSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAy
MDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBn
cmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29w
eSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMg
KHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCBy
ZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0
byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJs
aWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBw
ZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBz
bywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJl
IGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRo
ZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwg
V0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5D
TFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRB
QklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VN
RU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERF
UlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lT
RSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFU
RVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyov
CisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKyAgICA8dGl0bGU+UmVuZGVyaW5nIFRlc3Q8L3RpdGxlPgorICAgIDxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ii8+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9z
Y3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpz
Ij4gPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRo
PSI1MCIgaGVpZ2h0PSI1MCI+CitUaGVyZSBpcyBzdXBwb3NlZCB0byBiZSBhbiBleGFtcGxlIGRy
YXdpbmcgaGVyZSwgYnV0IGl0J3Mgbm90IGltcG9ydGFudC4KKzwvY2FudmFzPgorPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPHNjcmlw
dCBpZD0idnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICAgICAgICBhdHRyaWJ1
dGUgdmVjNCB2UG9zaXRpb247CisgICAgICAgIHZvaWQgbWFpbigpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uOworICAgICAgICB9CisgICAgPC9zY3JpcHQ+
CisKKyAgICA8c2NyaXB0IGlkPSJmc2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4K
KyAgICAgICAgdm9pZCBtYWluKCkKKyAgICAgICAgeworICAgICAgICAgICAgZ2xfRnJhZ0NvbG9y
ID0gdmVjNCgxLjAsMC4wLDAuMCwxLjApOworICAgICAgICB9CisgICAgPC9zY3JpcHQ+CisKKyAg
ICA8c2NyaXB0PgorICAgICAgICAidXNlIHN0cmljdCI7CisgICAgICAgIGZ1bmN0aW9uIGluaXQo
KQorICAgICAgICB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbihkb2N1bWVudC50aXRsZSk7CisK
KyAgICAgICAgICAgIHZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKyAgICAgICAgICAgIHZhciBn
bCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsKKyAgICAgICAgICAgIHZhciBwcm9n
cmFtID0gd3R1LnNldHVwUHJvZ3JhbShnbCwgWyJ2c2hhZGVyIiwgImZzaGFkZXIiXSwgWyJ2UG9z
aXRpb24iXSk7CisKKyAgICAgICAgICAgIHZhciB2ZXJ0ZXhPYmplY3QgPSBnbC5jcmVhdGVCdWZm
ZXIoKTsKKyAgICAgICAgICAgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB2ZXJ0ZXhP
YmplY3QpOworICAgICAgICAgICAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBG
bG9hdDMyQXJyYXkoWyAwLDAuNSwwLCAtMC41LC0wLjUsMCwgMC41LC0wLjUsMCBdKSwgZ2wuU1RB
VElDX0RSQVcpOworICAgICAgICAgICAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoMCk7Cisg
ICAgICAgICAgICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsIDMsIGdsLkZMT0FULCBmYWxzZSwg
MCwgMCk7CisKKyAgICAgICAgICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5E
RVBUSF9CVUZGRVJfQklUKTsKKyAgICAgICAgICAgIGdsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVT
LCAwLCAzKTsKKworICAgICAgICAgICAgLy8gVGVzdCBzZXZlcmFsIGxvY2F0aW9ucworICAgICAg
ICAgICAgLy8gRmlyc3QgbGluZSBzaG91bGQgYmUgYWxsIGJsYWNrCisgICAgICAgICAgICB3dHUu
Y2hlY2tDYW52YXNSZWN0KGdsLCAwLCAwLCA1MCwgMSwgWzAsIDAsIDAsIDBdKTsKKworICAgICAg
ICAgICAgLy8gTGluZSAxNSBzaG91bGQgYmUgcmVkIGZvciBhdCBsZWFzdCAxMCByZWQgcGl4ZWxz
IHN0YXJ0aW5nIDIwIHBpeGVscyBpbgorICAgICAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChn
bCwgMjAsIDE1LCAxMCwgMSwgWzI1NSwgMCwgMCwgMjU1XSk7CisKKyAgICAgICAgICAgIC8vIExh
c3QgbGluZSBzaG91bGQgYmUgYWxsIGJsYWNrCisgICAgICAgICAgICB3dHUuY2hlY2tDYW52YXNS
ZWN0KGdsLCAwLCA0OSwgNTAsIDEsIFswLCAwLCAwLCAwXSk7CisgICAgICAgfQorCisgICAgICAg
aW5pdCgpOworICAgICAgIHZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworICAgIDwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvdmVydGV4LXRl
eHR1cmUtZmV0Y2guaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy92ZXJ0ZXgtdGV4dHVyZS1mZXRjaC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiNGI4MDIwYjUwZjA3ZmU3NDc3MmQzZjM4MzFlZTg1MjRlZmUwNDYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvdmVydGV4LXRleHR1cmUtZmV0Y2guaHRtbApAQCAtMCww
ICsxLDExNCBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9z
IEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9m
IGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3
YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVy
aWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5j
bHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1v
ZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Ig
c2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0
byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bwor
KiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBp
biBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisq
KgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5U
WSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1Qg
TElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBB
TiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9N
LCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBV
U0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0
bGU+V2ViR0wgVmVydGV4IFRleHR1cmUgRmV0Y2guPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj4gPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHN0eWxlPSJ3
aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgaWQ9InZzIiB0eXBl
PSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNjcmlwdCI+CithdHRyaWJ1dGUgdmVjNCBhX3Bvc2l0
aW9uOworYXR0cmlidXRlIHZlYzIgYV90ZXhDb29yZDsKK3VuaWZvcm0gc2FtcGxlcjJEIHVfdGV4
dHVyZTsKK3ZhcnlpbmcgdmVjNCBjb2xvcjsKK3ZvaWQgbWFpbigpIHsKKyAgICBnbF9Qb3NpdGlv
biA9IGFfcG9zaXRpb247CisgICAgY29sb3IgPSB0ZXh0dXJlMkQodV90ZXh0dXJlLCBhX3RleENv
b3JkKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnMiIHR5cGU9InRleHQvc29tZXRoaW5n
LW5vdC1qYXZhc2NyaXB0Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwordmFyeWluZyB2ZWM0
IGNvbG9yOwordm9pZCBtYWluKCkgeworICAgIGdsX0ZyYWdDb2xvciA9IGNvbG9yOworfQorPC9z
Y3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZGVzY3JpcHRpb24oImNoZWNrcyB0aGF0
IHZlcnRleCB0ZXh0dXJlIGZldGNoLCBpZiBzdXBwb3J0ZWQsIG9wZXJhdGVzIGNvcnJlY3RseS4i
KTsKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRl
eHQoImV4YW1wbGUiKTsKK2lmICghZ2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9WRVJURVhfVEVYVFVS
RV9JTUFHRV9VTklUUykpIHsKKyAgdGVzdFBhc3NlZCgiTm8gdmVydGV4IHRleHR1cmUgaW1hZ2Ug
dW5pdHMgKHZlcnRleCB0ZXh0dXJlIGZldGNoIG5vdCBzdXBwb3J0ZWQpIC0tIHRoaXMgaXMgbGVn
YWwiKTsKK30gZWxzZSB7CisgIHZhciB0ZXh0dXJlID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICBn
bC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0dXJlKTsKKyAgZ2wudGV4SW1hZ2UyRChn
bC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAyLCAyLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9C
WVRFLAorICAgICAgICAgICAgICAgIG5ldyBVaW50OEFycmF5KFsKKyAgICAgICAgICAgICAgICAg
ICAgMjU1LCAwLCAwLCAyNTUsCisgICAgICAgICAgICAgICAgICAgIDAsIDI1NSwgMCwgMjU1LAor
ICAgICAgICAgICAgICAgICAgICAwLCAwLCAyNTUsIDI1NSwKKyAgICAgICAgICAgICAgICAgICAg
MjU1LCAyNTUsIDAsIDI1NV0pKTsKKyAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBn
bC5URVhUVVJFX01JTl9GSUxURVIsIGdsLk5FQVJFU1QpOworICBnbC50ZXhQYXJhbWV0ZXJpKGds
LlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTkVBUkVTVCk7CisgIGdsLnRl
eFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1MsIGdsLkNMQU1QX1RP
X0VER0UpOworICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JB
UF9ULCBnbC5DTEFNUF9UT19FREdFKTsKKyAgd3R1LmdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9f
RVJST1IsICJhZnRlciBjcmVhdGluZyB0ZXh0dXJlIik7CisKKyAgdmFyIHByb2dyYW0gPSB3dHUu
c2V0dXBQcm9ncmFtKGdsLCBbInZzIiwgImZzIl0sIFsidlBvc2l0aW9uIiwgInZUZXhDb29yZCJd
KTsKKyAgZ2wudW5pZm9ybTFpKGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidV90ZXh0
dXJlIiksIDApOworICBnbC5kaXNhYmxlKGdsLkJMRU5EKTsKKyAgZ2wuZGlzYWJsZShnbC5ERVBU
SF9URVNUKTsKKyAgd3R1LmdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJhZnRlciBp
bml0V2ViR0wiKTsKKyAgdmFyIGJ1ZmZlck9iamVjdHMgPSB3dHUuc2V0dXBVbml0UXVhZChnbCwg
MCk7CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheSgxKTsKKworICBnbC52ZXJ0ZXhBdHRy
aWIyZigxLCAwLCAwKTsKKyAgd3R1LmRyYXdRdWFkKGdsKTsKKyAgd3R1LmNoZWNrQ2FudmFzKGds
LCBbMjU1LCAwLCAwLCAyNTVdLCAiU2hvdWxkIGJlIHJlZC4iKTsKKworICBnbC52ZXJ0ZXhBdHRy
aWIyZigxLCAxLCAwKTsKKyAgd3R1LmRyYXdRdWFkKGdsKTsKKyAgd3R1LmNoZWNrQ2FudmFzKGds
LCBbMCwgMjU1LCAwLCAyNTVdLCAiU2hvdWxkIGJlIGdyZWVuLiIpOworCisgIGdsLnZlcnRleEF0
dHJpYjJmKDEsIDAsIDEpOworICB3dHUuZHJhd1F1YWQoZ2wpOworICB3dHUuY2hlY2tDYW52YXMo
Z2wsIFswLCAwLCAyNTUsIDI1NV0sICJTaG91bGQgYmUgYmx1ZS4iKTsKKworICBnbC52ZXJ0ZXhB
dHRyaWIyZigxLCAxLCAxKTsKKyAgd3R1LmRyYXdRdWFkKGdsKTsKKyAgd3R1LmNoZWNrQ2FudmFz
KGdsLCBbMjU1LCAyNTUsIDAsIDI1NV0sICJTaG91bGQgYmUgeWVsbG93LiIpOworCisgIHd0dS5n
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiYWZ0ZXIgZHJhd2luZyIpOworfQorCit2
YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwv
aHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>