<?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>92898</bug_id>
          
          <creation_ts>2012-08-01 12:16:37 -0700</creation_ts>
          <short_desc>Use testRunner instead of layoutTestController in SVG tests</short_desc>
          <delta_ts>2012-08-01 22:17:32 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</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>
          <dependson>88210</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Florin Malita">fmalita</reporter>
          <assigned_to name="Florin Malita">fmalita</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>krit</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>684453</commentid>
    <comment_count>0</comment_count>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2012-08-01 12:16:37 -0700</bug_when>
    <thetext>Use testRunner instead of layoutTestController in SVG tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684459</commentid>
    <comment_count>1</comment_count>
      <attachid>155860</attachid>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2012-08-01 12:25:05 -0700</bug_when>
    <thetext>Created attachment 155860
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684463</commentid>
    <comment_count>2</comment_count>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2012-08-01 12:26:23 -0700</bug_when>
    <thetext>Essentially

grep -lr layoutTestController LayoutTests/svg | xargs sed -i &apos;s/layoutTestController/testRunner/g&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684590</commentid>
    <comment_count>3</comment_count>
      <attachid>155860</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-08-01 14:34:29 -0700</bug_when>
    <thetext>Comment on attachment 155860
Patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684717</commentid>
    <comment_count>4</comment_count>
      <attachid>155860</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-01 16:08:38 -0700</bug_when>
    <thetext>Comment on attachment 155860
Patch

Clearing flags on attachment: 155860

Committed r124380: &lt;http://trac.webkit.org/changeset/124380&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684718</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-01 16:08:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684975</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-08-01 22:17:32 -0700</bug_when>
    <thetext>Nice! Thank you.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155860</attachid>
            <date>2012-08-01 12:25:05 -0700</date>
            <delta_ts>2012-08-01 16:08:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92898-20120801152446.patch</filename>
            <type>text/plain</type>
            <size>373847</size>
            <attacher name="Florin Malita">fmalita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0MzMyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjUzMTBmNTEzNDhlZmJiYTMwM2E3
NDg3MTc4ZTIwMjMzY2Y5NGQ3NS4uNDJhYzcyMjM0MjIxNjRjOTI3MzI4OWVhYzcxMzRlZjU5MzBj
NzVkNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2MCBAQAorMjAxMi0wOC0wMSAgRmxvcmluIE1hbGl0YSAg
PGZtYWxpdGFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFVzZSB0ZXN0UnVubmVyIGluc3RlYWQg
b2YgbGF5b3V0VGVzdENvbnRyb2xsZXIgaW4gU1ZHIHRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05Mjg5OAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3ZnL1czQy1TVkctMS4xLVNFL3BhdGhzLWRv
bS0wMi1mLnN2ZzoKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9hbmltYXRlLWJlZ2luRWxlbWVu
dEF0LnN2ZzoKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9hbmltYXRlLWNhbGNNb2RlLXNwbGlu
ZS1jcmFzaC1iYWQtYXJyYXktbGVuZ3RoLnhodG1sOgorICAgICAgICAqIHN2Zy9hbmltYXRpb25z
L2FuaW1hdGUtbGluZWFyLWRpc2NyZXRlLWFkZGl0aXZlLWIuc3ZnOgorICAgICAgICAqIHN2Zy9h
bmltYXRpb25zL2FuaW1hdGUtbGluZWFyLWRpc2NyZXRlLWFkZGl0aXZlLWMuc3ZnOgorICAgICAg
ICAqIHN2Zy9hbmltYXRpb25zL2FuaW1hdGUtbGluZWFyLWRpc2NyZXRlLWFkZGl0aXZlLnN2ZzoK
KyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9hbmltYXRlLWxpc3QtY3Jhc2guc3ZnOgorICAgICAg
ICAqIHN2Zy9hbmltYXRpb25zL2FuaW1hdGUtc2V0Y3VycmVudHRpbWUuaHRtbDoKKyAgICAgICAg
KiBzdmcvYW5pbWF0aW9ucy9hbmltYXRlLXVwZGF0ZS1jcmFzaC54aHRtbDoKKyAgICAgICAgKiBz
dmcvYW5pbWF0aW9ucy9hbmltYXRlQ29sb3ItYWRkaXRpdmUtMmEuc3ZnOgorICAgICAgICAqIHN2
Zy9hbmltYXRpb25zL2FuaW1hdGVDb2xvci1hZGRpdGl2ZS0yYi5zdmc6CisgICAgICAgICogc3Zn
L2FuaW1hdGlvbnMvYW5pbWF0ZUNvbG9yLWFkZGl0aXZlLTJjLnN2ZzoKKyAgICAgICAgKiBzdmcv
YW5pbWF0aW9ucy9hbmltYXRlQ29sb3ItYWRkaXRpdmUtMmQuc3ZnOgorICAgICAgICAqIHN2Zy9h
bmltYXRpb25zL2FuaW1hdGVNb3Rpb24tYWRkaXRpdmUtMS5zdmc6CisgICAgICAgICogc3ZnL2Fu
aW1hdGlvbnMvYW5pbWF0ZU1vdGlvbi1hZGRpdGl2ZS0yYS5zdmc6CisgICAgICAgICogc3ZnL2Fu
aW1hdGlvbnMvYW5pbWF0ZU1vdGlvbi1hZGRpdGl2ZS0yYi5zdmc6CisgICAgICAgICogc3ZnL2Fu
aW1hdGlvbnMvYW5pbWF0ZU1vdGlvbi1hZGRpdGl2ZS0yYy5zdmc6CisgICAgICAgICogc3ZnL2Fu
aW1hdGlvbnMvYW5pbWF0ZU1vdGlvbi1hZGRpdGl2ZS0yZC5zdmc6CisgICAgICAgICogc3ZnL2Fu
aW1hdGlvbnMvYW5pbWF0ZVRyYW5zZm9ybS1hY2N1bXVsYXRpb24uc3ZnOgorICAgICAgICAqIHN2
Zy9hbmltYXRpb25zL2FuaW1hdGVUcmFuc2Zvcm0tYnktc2NhbGUtMS5zdmc6CisgICAgICAgICog
c3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZVRyYW5zZm9ybS1ieS1zY2FsZS5zdmc6CisgICAgICAgICog
c3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZVRyYW5zZm9ybS1mcm9tLWJ5LWZyb20tdG8tY29tcGFyaXNp
b24tZXhwZWN0ZWQuc3ZnOgorICAgICAgICAqIHN2Zy9hbmltYXRpb25zL2FuaW1hdGVUcmFuc2Zv
cm0tZnJvbS1ieS1mcm9tLXRvLWNvbXBhcmlzaW9uLnN2ZzoKKyAgICAgICAgKiBzdmcvYW5pbWF0
aW9ucy9hbmltYXRlVHJhbnNmb3JtLWZyb20tYnktc2NhbGUtYWRkaXRpdmUtc3VtLnN2ZzoKKyAg
ICAgICAgKiBzdmcvYW5pbWF0aW9ucy9hbmltYXRlVHJhbnNmb3JtLWZyb20tYnktc2NhbGUuc3Zn
OgorICAgICAgICAqIHN2Zy9hbmltYXRpb25zL2FuaW1hdGVUcmFuc2Zvcm0tcm90YXRlLWFyb3Vu
ZC1wb2ludC5zdmc6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZVRyYW5zZm9ybS1z
a2V3WC5zdmc6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZVRyYW5zZm9ybS1za2V3
WS5zdmc6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZVRyYW5zZm9ybS10cmFuc2xh
dGUuc3ZnOgorICAgICAgICAqIHN2Zy9hbmltYXRpb25zL2R5bmFtaWMtbW9kaWZ5LWF0dHJpYnV0
ZW5hbWUtY3Jhc2guc3ZnOgorICAgICAgICAqIHN2Zy9hbmltYXRpb25zL2tleXBvaW50cy1taXNt
YXRjaC5zdmc6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvbGVuZ3RoLWxpc3QtYW5pbWF0aW9u
LnN2ZzoKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9saXN0LXdyYXBwZXItYXNzZXJ0aW9uLnN2
ZzoKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9tb3ppbGxhL2FuaW1hdGVNb3Rpb24tYnktMS5z
dmc6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvbW96aWxsYS9hbmltYXRlTW90aW9uLWZyb20t
dG8tMS1leHBlY3RlZC5zdmc6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvbW96aWxsYS9hbmlt
YXRlTW90aW9uLWZyb20tdG8tMS5zdmc6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvbW96aWxs
YS9hbmltYXRlTW90aW9uLW1wYXRoLXBhdGhMZW5ndGgtMS5zdmc6CisgICAgICAgICogc3ZnL2Fu
aW1hdGlvbnMvbW96aWxsYS9hbmltYXRlTW90aW9uLW1wYXRoLXRhcmdldENoYW5nZS0xLnN2ZzoK
KyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9tb3ppbGxhL2FuaW1hdGVNb3Rpb24tdG8tb3ZlcnJp
ZGRlbi0xLnN2ZzoKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9tdWx0aXBsZS1hbmltYXRlVHJh
bnNmb3JtLWFkZGl0aXZlLXN1bS5zdmc6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvbXVsdGlw
bGUtYmVnaW4tYW5pbWF0aW9uLWRpc2NyZXRlLnN2ZzoKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9u
cy9tdWx0aXBsZS1iZWdpbi1hbmltYXRpb24uc3ZnOgorICAgICAgICAqIHN2Zy9hbmltYXRpb25z
L3BhdGgtYW5pbWF0aW9uLnN2ZzoKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9yZXBlYXREdXIt
emVyby54aHRtbDoKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9yZXBlYXRpbmctcGF0aC1hbmlt
YXRpb24uc3ZnOgorICAgICAgICAqIHN2Zy9hbmltYXRpb25zL3Jlc291cmNlcy9TVkdBbmltYXRp
b25UZXN0Q2FzZS5qczoKKyAgICAgICAgKHJ1bkFuaW1hdGlvblRlc3QpOgorICAgICAgICAqIHN2
Zy9hbmltYXRpb25zL3NtaWwtZWxlbWVudC1ub3QtcmVtb3ZlZC1jcmFzaC5odG1sOgorICAgICAg
ICAqIHN2Zy9hbmltYXRpb25zL3NtaWwtZWxlbWVudC10YXJnZXQtY3Jhc2gtbWFpbi5odG1sOgor
ICAgICAgICAqIHN2Zy9hbmltYXRpb25zL3NtaWwtbGVhay1keW5hbWljYWxseS1hZGRlZC1lbGVt
ZW50LWluc3RhbmNlcy5zdmc6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvc21pbC1sZWFrLWVs
ZW1lbnQtaW5zdGFuY2VzLW5vQmFzZVZhbFJlZi5zdmc6CisgICAgICAgICogc3ZnL2FuaW1hdGlv
bnMvc21pbC1sZWFrLWVsZW1lbnQtaW5zdGFuY2VzLnN2ZzoKKyAgICAgICAgKiBzdmcvYW5pbWF0
aW9ucy9zbWlsLWxlYWstZWxlbWVudHMuc3ZnOgorICAgICAgICAqIHN2Zy9hbmltYXRpb25zL3N2
Zy10d28tYW5pbWF0ZS1lbGVtZW50cy1jcmFzaC5zdmc6CisgICAgICAgICogc3ZnL2FuaW1hdGlv
bnMvc3ZnbGVuZ3RoLWFuaW1hdGlvbi1yZXRhcmdldC1jcmFzaC5odG1sOgorICAgICAgICAqIHN2
Zy9hbmltYXRpb25zL3N2Z2xlbmd0aC1lbGVtZW50LXJlbW92ZWQtY3Jhc2guc3ZnOgorICAgICAg
ICAqIHN2Zy9hcy1iYWNrZ3JvdW5kLWltYWdlL2FuaW1hdGVkLXN2Zy1hcy1iYWNrZ3JvdW5kLmh0
bWw6CisgICAgICAgICogc3ZnL2FzLWJhY2tncm91bmQtaW1hZ2Uvc3ZnLWJhY2tncm91bmQtY3Jh
c2gtb24tcmVmcmVzaC5odG1sOgorICAgICAgICAqIHN2Zy9hcy1pbWFnZS9hbmltYXRlZC1zdmct
YXMtaW1hZ2Utbm8tZml4ZWQtaW50cmluc2ljLXNpemUuaHRtbDoKKyAgICAgICAgKiBzdmcvYXMt
aW1hZ2UvYW5pbWF0ZWQtc3ZnLWFzLWltYWdlLXNhbWUtaW1hZ2UuaHRtbDoKKyAgICAgICAgKiBz
dmcvYXMtaW1hZ2UvYW5pbWF0ZWQtc3ZnLWFzLWltYWdlLmh0bWw6CisgICAgICAgICogc3ZnL2Fz
LWltYWdlL2FuaW1hdGVkLXN2Zy1yZXBhaW50cy1jb21wbGV0ZWx5LWluLWhpZHBpLmh0bWw6Cisg
ICAgICAgICogc3ZnL2FzLWltYWdlL2RyYWctc3ZnLWFzLWltYWdlLmh0bWw6CisgICAgICAgICog
c3ZnL2FzLWltYWdlL2ltYWdlLXJlc3BlY3RzLWRldmljZVNjYWxlRmFjdG9yLmh0bWw6CisgICAg
ICAgICogc3ZnL2FzLWltYWdlL2ltYWdlLXJlc3BlY3RzLXBhZ2VTY2FsZUZhY3Rvci1jaGFuZ2Uu
aHRtbDoKKyAgICAgICAgKiBzdmcvYXMtaW1hZ2Uvc3ZnLWltYWdlLWxlYWstY2FjaGVkLWRhdGEu
aHRtbDoKKyAgICAgICAgKiBzdmcvYXMtaW1hZ2Uvc3ZnLWltYWdlLWxlYWstbG9hZGVyLmh0bWw6
CisgICAgICAgICogc3ZnL2FzLWltYWdlL3N2Zy1uZXN0ZWQuaHRtbDoKKyAgICAgICAgKiBzdmcv
YXMtb2JqZWN0L2VtYmVkZGVkLXN2Zy1pbW1lZGlhdGUtb2Zmc2V0V2lkdGgtcXVlcnkuaHRtbDoK
KyAgICAgICAgKiBzdmcvYXMtb2JqZWN0L2VtYmVkZGVkLXN2Zy1zaXplLWNoYW5nZXMtbm8tbGF5
b3V0LXRyaWdnZXJzLmh0bWw6CisgICAgICAgICogc3ZnL2FzLW9iamVjdC9lbWJlZGRlZC1zdmct
c2l6ZS1jaGFuZ2VzLmh0bWw6CisgICAgICAgICogc3ZnL2FzLW9iamVjdC9uZXN0ZWQtZW1iZWRk
ZWQtc3ZnLXNpemUtY2hhbmdlcy1uby1sYXlvdXQtdHJpZ2dlcnMtMS5odG1sOgorICAgICAgICAq
IHN2Zy9hcy1vYmplY3QvbmVzdGVkLWVtYmVkZGVkLXN2Zy1zaXplLWNoYW5nZXMtbm8tbGF5b3V0
LXRyaWdnZXJzLTIuaHRtbDoKKyAgICAgICAgKiBzdmcvYXMtb2JqZWN0L25lc3RlZC1lbWJlZGRl
ZC1zdmctc2l6ZS1jaGFuZ2VzLmh0bWw6CisgICAgICAgICogc3ZnL2FzLW9iamVjdC9yZXNvdXJj
ZXMvZW1iZWRkZWQtc3ZnLXNpemUtY2hhbmdlcy1uby1sYXlvdXQtdHJpZ2dlcnMuc3ZnOgorICAg
ICAgICAqIHN2Zy9hcy1vYmplY3QvcmVzb3VyY2VzL25lc3RlZC1lbWJlZGRlZC1zdmctc2l6ZS1j
aGFuZ2VzLXRhcmdldC1uby1sYXlvdXQtdHJpZ2dlcnMtMS5odG1sOgorICAgICAgICAqIHN2Zy9j
YXJ0by5uZXQvZnJhbWVsZXNzLXN2Zy1wYXJzZS1lcnJvci5odG1sOgorICAgICAgICAqIHN2Zy9j
YXJ0by5uZXQvd2luZG93LnN2ZzoKKyAgICAgICAgKiBzdmcvY3NzL2NyYXNoLWNzcy1nZW5lcmF0
ZWQtY29udGVudC54aHRtbDoKKyAgICAgICAgKiBzdmcvY3NzL2N1cnNvci1pbWFnZS1yZXBsYWNl
LnN2ZzoKKyAgICAgICAgKiBzdmcvY3NzL2N1cnNvci1yZXBsYWNlLnN2ZzoKKyAgICAgICAgKiBz
dmcvY3NzL2dldENvbXB1dGVkU3R5bGUtYmFzaWMueGh0bWw6CisgICAgICAgICogc3ZnL2Nzcy9p
bnZhbGlkLWNvbG9yLWNyYXNoLnN2ZzoKKyAgICAgICAgKiBzdmcvY3NzL211bHRpcGxlLWN1cnNv
cnMtY3Jhc2guaHRtbDoKKyAgICAgICAgKiBzdmcvY3NzL3NjcmlwdC10ZXN0cy9zdmctYXR0cmli
dXRlLWxlbmd0aC1wYXJzaW5nLmpzOgorICAgICAgICAqIHN2Zy9jc3Mvc2NyaXB0LXRlc3RzL3N2
Zy1hdHRyaWJ1dGUtcGFyc2VyLW1vZGUuanM6CisgICAgICAgICogc3ZnL2Nzcy9zdHlsZS1jaGFu
Z2UtY3Jhc2guaHRtbDoKKyAgICAgICAgKiBzdmcvY3NzL3N2Zy1lbGxpcHNlLXJlbmRlci1jcmFz
aC5odG1sOgorICAgICAgICAqIHN2Zy9jdXN0b20vYWNpZDMtdGVzdC03Ny5odG1sOgorICAgICAg
ICAqIHN2Zy9jdXN0b20vYW5jaG9yLW9uLXVzZS5zdmc6CisgICAgICAgICogc3ZnL2N1c3RvbS9h
bmltYXRlLWRpc2FsbG93ZWQtbWFzay1lbGVtZW50LnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9t
L2FuaW1hdGUtZGlzYWxsb3dlZC11c2UtZWxlbWVudC5zdmc6CisgICAgICAgICogc3ZnL2N1c3Rv
bS9hbmltYXRlLXBhdGgtZGlzY3JldGUuc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vYW5pbWF0
ZS1wYXRoLW1vcnBoaW5nLnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL2FuaW1hdGUtdGFyZ2V0
LWlkLWNoYW5nZWQuc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vYW5pbWF0ZS10YXJnZXQtcmVt
b3ZlZC1mcm9tLWRvY3VtZW50LnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL2FuaW1hdGUtdXNl
LWNyYXNoLnhodG1sOgorICAgICAgICAqIHN2Zy9jdXN0b20vYXNzZXJ0LWVtcHR5LWxheW91dC1h
dHRyaWJ1dGVzLnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL2Jib3gtb2YtZy1pbi1zeW1ib2wu
c3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vYm91bmRpbmdCb3guaHRtbDoKKyAgICAgICAgKiBz
dmcvY3VzdG9tL2J1Zzc4NzAwLnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL2J1Zzc4ODA3LnN2
ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL2J1Zzc4ODM4Lmh0bWw6CisgICAgICAgICogc3ZnL2N1
c3RvbS9idWc3OTc5OC5odG1sOgorICAgICAgICAqIHN2Zy9jdXN0b20vYnVnODYxMTkuaHRtbDoK
KyAgICAgICAgKiBzdmcvY3VzdG9tL2J1Zzg2MzkyLmh0bWw6CisgICAgICAgICogc3ZnL2N1c3Rv
bS9idWc4Njc4MS5odG1sOgorICAgICAgICAqIHN2Zy9jdXN0b20vY2xpY2staW50ZXJuYWwtYW5j
aG9yLXdpdGgtdXNlLWNyYXNoLnhodG1sOgorICAgICAgICAqIHN2Zy9jdXN0b20vY3Jhc2gtaW5s
aW5lLWNvbnRhaW5lci1jbGllbnQuaHRtbDoKKyAgICAgICAgKiBzdmcvY3VzdG9tL2NyYXNoLXRl
eHQtaW4tdGV4dHBhdGguc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vY3Jhc2gtdGV4dFBhdGgt
YXR0cmlidXRlcy5odG1sOgorICAgICAgICAqIHN2Zy9jdXN0b20vZGVsZXRlLW1vZGlmaWVkLXRl
eHQtaW4tZGVmcy1jcmFzaC5zdmc6CisgICAgICAgICogc3ZnL2N1c3RvbS9kZWxldGUtdGV4dC1j
cmFzaC5odG1sOgorICAgICAgICAqIHN2Zy9jdXN0b20vZGVsZXRlLXRleHQtaW5uZXJUZXh0LWNy
YXNoLmh0bWw6CisgICAgICAgICogc3ZnL2N1c3RvbS9kZXRhY2hlZC1vdXRlcm1vc3Qtc3ZnLWNy
YXNoLmh0bWw6CisgICAgICAgICogc3ZnL2N1c3RvbS9kaXNhbGxvd2VkLXRleHQtY29udGVudC1y
ZW5kZXJpbmcuc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vZGlzcGxheS10YWJsZS1jYXB0aW9u
LWZvcmVpZ25PYmplY3Quc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vZGlzcGxheS10YWJsZS1j
YXB0aW9uLWluaGVyaXQtZm9yZWlnbk9iamVjdC54aHRtbDoKKyAgICAgICAgKiBzdmcvY3VzdG9t
L2Rpc3BsYXktdGFibGUtY2FwdGlvbi1pbmhlcml0LXRleHQueGh0bWw6CisgICAgICAgICogc3Zn
L2N1c3RvbS9kaXNwbGF5LXRhYmxlLWNhcHRpb24tdGV4dC5zdmc6CisgICAgICAgICogc3ZnL2N1
c3RvbS9lbGVtZW50LWluc3RhbmNlLWhlbGQtYnktanMtY3Jhc2guc3ZnOgorICAgICAgICAqIHN2
Zy9jdXN0b20vZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLnhtbDoKKyAgICAgICAg
KiBzdmcvY3VzdG9tL2VtcHR5LWNsYXNzTmFtZS1iYXNlVmFsLWNyYXNoLmh0bWw6CisgICAgICAg
ICogc3ZnL2N1c3RvbS9maWx0ZXItb24tc3ZnaW1hZ2Uuc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0
b20vZm9udC1mYWNlLW1vdmUuc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vZm9udC1mYWNlLW5h
bWUtd2l0aG91dC1uYW1lLWF0dHIuc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vZm9udC1mYWNl
LW5vdC1pbi1kb2N1bWVudC5zdmc6CisgICAgICAgICogc3ZnL2N1c3RvbS9mb250LXBsYXRmb3Jt
RGVzdHJveS1jcmFzaC5zdmc6CisgICAgICAgICogc3ZnL2N1c3RvbS9mb3JlaWduT2JqZWN0LWNy
YXNoLW9uLWhvdmVyLnhtbDoKKyAgICAgICAgKiBzdmcvY3VzdG9tL2ZvcmVpZ25vYmplY3QtY3Jh
c2gtd2l0aC1hYnNvbHV0ZS1wb3NpdGlvbmVkLWNoaWxkcmVuLnN2ZzoKKyAgICAgICAgKiBzdmcv
Y3VzdG9tL2ZyYW1lLWdldFNWR0RvY3VtZW50Lmh0bWw6CisgICAgICAgICogc3ZnL2N1c3RvbS9n
LW91dHNpZGUtc3ZnLmh0bWw6CisgICAgICAgICogc3ZnL2N1c3RvbS9nZXQtdGV4dC1lbGVtZW50
LXRyYW5zZm9ybS1jcmFzaC5odG1sOgorICAgICAgICAqIHN2Zy9jdXN0b20vZ2V0QkJveC1lbXB0
eS1jb250YWluZXIuaHRtbDoKKyAgICAgICAgKiBzdmcvY3VzdG9tL2dldEJCb3gtanMuc3ZnOgor
ICAgICAgICAqIHN2Zy9jdXN0b20vZ2V0QkJveC1wYXRoLnN2ZzoKKyAgICAgICAgKiBzdmcvY3Vz
dG9tL2dldEJCb3gtcGVycGVuZGljdWxhci1wYXRoLnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9t
L2dldHNjcmVlbmN0bS1pbi1taXhlZC1jb250ZW50Mi54aHRtbDoKKyAgICAgICAgKiBzdmcvY3Vz
dG9tL2dyYWRpZW50LWF0dHItdXBkYXRlLnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL2dyYWRp
ZW50LXN0b3AtZGlzcGxheS1ub25lLWNyYXNoLnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL2hp
dC10ZXN0LXBhdGgtc3Ryb2tlLnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL2hpdC10ZXN0LXBh
dGguc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vaGl0LXRlc3QtdW5jbG9zZWQtc3VicGF0aHMu
c3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vaGl0LXRlc3Qtd2l0aC1ici54aHRtbDoKKyAgICAg
ICAgKiBzdmcvY3VzdG9tL2ltYWdlLWJhc2UtdXJpLnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9t
L2ltYWdlLWNsaXBwZWQtaGl0LnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL2ltYWdlLXJlc2Nh
bGUtc2Nyb2xsLmh0bWw6CisgICAgICAgICogc3ZnL2N1c3RvbS9pbWFnZS13aXRoLXByZWZpeC1p
bi13ZWJhcmNoaXZlLWV4cGVjdGVkLndlYmFyY2hpdmU6CisgICAgICAgICogc3ZnL2N1c3RvbS9p
bWFnZS13aXRoLXByZWZpeC1pbi13ZWJhcmNoaXZlLnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9t
L2luc2VydEl0ZW1CZWZvcmUtZnJvbS1ub24tbGlzdC1vcmlnaW4uc3ZnOgorICAgICAgICAqIHN2
Zy9jdXN0b20vaW50ZXJzZWN0aW9uLWxpc3QtY2xpcHBpbmcuc3ZnOgorICAgICAgICAqIHN2Zy9j
dXN0b20vaW50ZXJzZWN0aW9uLWxpc3QtY3Jhc2guc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20v
aW50ZXJzZWN0aW9uLWxpc3QtbmVzdGVkLXN2Zy5zdmc6CisgICAgICAgICogc3ZnL2N1c3RvbS9p
bnRlcnNlY3Rpb24tbGlzdC1udWxsLnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL2ludmFsaWQt
Z3JhZGllbnQtd2l0aC14bGluay5zdmc6CisgICAgICAgICogc3ZnL2N1c3RvbS9pbnZhbGlkLXBh
aW50LXNoYXBlLW1hc2suc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vanMtbGF0ZS1jbGlwUGF0
aC1hbmQtb2JqZWN0LWNyZWF0aW9uLnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL2pzLWxhdGUt
Y2xpcFBhdGgtY3JlYXRpb24uc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vanMtbGF0ZS1ncmFk
aWVudC1hbmQtb2JqZWN0LWNyZWF0aW9uLnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL2pzLWxh
dGUtZ3JhZGllbnQtY3JlYXRpb24uc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vanMtbGF0ZS1t
YXJrZXItYW5kLW9iamVjdC1jcmVhdGlvbi5zdmc6CisgICAgICAgICogc3ZnL2N1c3RvbS9qcy1s
YXRlLW1hcmtlci1jcmVhdGlvbi5zdmc6CisgICAgICAgICogc3ZnL2N1c3RvbS9qcy1sYXRlLW1h
c2stYW5kLW9iamVjdC1jcmVhdGlvbi5zdmc6CisgICAgICAgICogc3ZnL2N1c3RvbS9qcy1sYXRl
LW1hc2stY3JlYXRpb24uc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vanMtbGF0ZS1wYXR0ZXJu
LWFuZC1vYmplY3QtY3JlYXRpb24uc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vanMtbGF0ZS1w
YXR0ZXJuLWNyZWF0aW9uLnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL2pzLXN2Zy1jb25zdHJ1
Y3RvcnMuc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vanMtdXBkYXRlLWNvbnRhaW5lcjIuc3Zn
OgorICAgICAgICAqIHN2Zy9jdXN0b20vanMtdXBkYXRlLWltYWdlLWFuZC1kaXNwbGF5LnN2ZzoK
KyAgICAgICAgKiBzdmcvY3VzdG9tL2pzLXVwZGF0ZS1pbWFnZS1hbmQtZGlzcGxheTIuc3ZnOgor
ICAgICAgICAqIHN2Zy9jdXN0b20vanMtdXBkYXRlLWltYWdlLWFuZC1kaXNwbGF5My5zdmc6Cisg
ICAgICAgICogc3ZnL2N1c3RvbS9sYXlvdXQtbG9vcC5zdmc6CisgICAgICAgICogc3ZnL2N1c3Rv
bS9saW5raW5nLWEtMDMtYi1hbGwuc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vbGlua2luZy1h
LTAzLWItcHJlc2VydmVBc3BlY3RSYXRpby5zdmc6CisgICAgICAgICogc3ZnL2N1c3RvbS9saW5r
aW5nLWEtMDMtYi10cmFuc2Zvcm0uc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vbGlua2luZy1h
LTAzLWItdmlld0JveC10cmFuc2Zvcm0uc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vbGlua2lu
Zy1hLTAzLWItdmlld0JveC5zdmc6CisgICAgICAgICogc3ZnL2N1c3RvbS9saW5raW5nLWEtMDMt
Yi12aWV3VGFyZ2V0LnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL2xpbmtpbmctYS0wMy1iLXpv
b21BbmRQYW4uc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vbGlua2luZy11cmktMDEtYi5zdmc6
CisgICAgICAgICogc3ZnL2N1c3RvbS9sb2FkZXZlbnRzLWNhcHR1cmluZy5zdmc6CisgICAgICAg
ICogc3ZnL2N1c3RvbS9sb2FkZXZlbnRzLWV4dGVybmFscmVzb3VyY2VzcmVxdWlyZWQtZGlzcGxh
eW5vbmUuc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vbG9hZGV2ZW50cy1leHRlcm5hbHJlc291
cmNlc3JlcXVpcmVkLnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL2xvYWRldmVudHMtbm9ybWFs
LWRpc3BsYXlub25lLnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL2xvYWRldmVudHMtbm9ybWFs
LnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL21hbnVhbGx5LXBhcnNlZC1lbWJlZGRlZC1zdmct
YWxsb3dlZC1pbi1kYXNoYm9hcmQuaHRtbDoKKyAgICAgICAgKiBzdmcvY3VzdG9tL21hbnVhbGx5
LXBhcnNlZC1zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQuaHRtbDoKKyAgICAgICAgKiBzdmcvY3Vz
dG9tL21hcmtlci1nZXRQcm9wZXJ0eVZhbHVlLnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL21h
c2stY2hhbmdlcy5zdmc6CisgICAgICAgICogc3ZnL2N1c3RvbS9tYXNrLWludmFsaWRhdGlvbi5z
dmc6CisgICAgICAgICogc3ZnL2N1c3RvbS9tb3VzZS1tb3ZlLW9uLXN2Zy1jb250YWluZXItc3Rh
bmRhbG9uZS5zdmc6CisgICAgICAgICogc3ZnL2N1c3RvbS9tb3VzZS1tb3ZlLW9uLXN2Zy1jb250
YWluZXIueGh0bWw6CisgICAgICAgICogc3ZnL2N1c3RvbS9tb3VzZS1tb3ZlLW9uLXN2Zy1yb290
LXN0YW5kYWxvbmUuc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vbW91c2UtbW92ZS1vbi1zdmct
cm9vdC54aHRtbDoKKyAgICAgICAgKiBzdmcvY3VzdG9tL211bHRpcGxlLXRpdGxlLWVsZW1lbnRz
LnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL25ldy1pbWFnZS1pcy1odG1sLWVsZW1lbnQuc3Zn
OgorICAgICAgICAqIHN2Zy9jdXN0b20vcGF0aC1nZXRQcmVzZW50YXRpb25BdHRyaWJ1dGUtY3Jh
c2guaHRtbDoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3BhdGgtZ2V0VG90YWxMZW5ndGgtb24tYmln
LXNlZ21lbnQtY3Jhc2guc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vcGF0aC1nZXRUb3RhbExl
bmd0aC5zdmc6CisgICAgICAgICogc3ZnL2N1c3RvbS9wZW5kaW5nLXJlc291cmNlLWFmdGVyLXJl
bW92YWwueGh0bWw6CisgICAgICAgICogc3ZnL2N1c3RvbS9wZW5kaW5nLXJlc291cmNlLWxlYWst
Mi5zdmc6CisgICAgICAgICogc3ZnL2N1c3RvbS9wZW5kaW5nLXJlc291cmNlLWxlYWstMy5zdmc6
CisgICAgICAgICogc3ZnL2N1c3RvbS9wZW5kaW5nLXJlc291cmNlLWxlYWsuc3ZnOgorICAgICAg
ICAqIHN2Zy9jdXN0b20vcG9pbnRlci1ldmVudHMtaW1hZ2UtY3NzLXRyYW5zZm9ybS5zdmc6Cisg
ICAgICAgICogc3ZnL2N1c3RvbS9wb2ludGVyLWV2ZW50cy1pbWFnZS5zdmc6CisgICAgICAgICog
c3ZnL2N1c3RvbS9wb2ludGVyLWV2ZW50cy1pbnZhbGlkLWZpbGwuc3ZnOgorICAgICAgICAqIHN2
Zy9jdXN0b20vcG9pbnRlci1ldmVudHMtb24tcm91bmRlZC1yZWN0LnhodG1sOgorICAgICAgICAq
IHN2Zy9jdXN0b20vcG9pbnRlci1ldmVudHMtb24tc3ZnLXdpdGgtcG9pbnRlci54aHRtbDoKKyAg
ICAgICAgKiBzdmcvY3VzdG9tL3BvaW50ZXItZXZlbnRzLW9uLXN2Zy13aXRob3V0LXBvaW50ZXIu
eGh0bWw6CisgICAgICAgICogc3ZnL2N1c3RvbS9wb2ludGVyLWV2ZW50cy10ZXh0LWNzcy10cmFu
c2Zvcm0uc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vcG9pbnRlci1ldmVudHMtdGV4dC5zdmc6
CisgICAgICAgICogc3ZnL2N1c3RvbS9wb2ludGVyLWV2ZW50cy13aXRoLWxpbmVjYXBzLWFuZC1t
aXRlcmxpbWl0cy54aHRtbDoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3BvbHktcG9pbnRzLWF0dHJp
YnV0ZS1jaGFuZ2VzLnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3BvbHlsaW5lLWhpdHRlc3Qu
c3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vcG9seWxpbmUtcG9pbnRzLWNyYXNoLmh0bWw6Cisg
ICAgICAgICogc3ZnL2N1c3RvbS9wcmV2ZW50LWRlZmF1bHQuc3ZnOgorICAgICAgICAqIHN2Zy9j
dXN0b20vcmVjdXJzaXZlLXVzZS5zdmc6CisgICAgICAgICogc3ZnL2N1c3RvbS9yZWN1cnNpdmUt
dXNlMi5zdmc6CisgICAgICAgICogc3ZnL2N1c3RvbS9yZXBhaW50LW1vdmluZy1zdmctYW5kLWRp
di54aHRtbDoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3Jlc291cmNlLWNsaWVudC1yZW1vdmFsLnN2
ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3Jlc291cmNlcy9mb2N1cy1ldmVudC1oYW5kbGluZy1r
ZXlib2FyZC5qczoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3Jlc291cmNlcy9mb2N1cy1ldmVudC1o
YW5kbGluZy5qczoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3Jlc291cmNlcy9saW5rLXRhcmdldC5o
dG1sOgorICAgICAgICAqIHN2Zy9jdXN0b20vcmVzb3VyY2VzL2xpbmtpbmdDaXJjbGUtZi5zdmc6
CisgICAgICAgICogc3ZnL2N1c3RvbS9yZXNvdXJjZXMvc3Znc3ZnZWxlbWVudC1jdG0uanM6Cisg
ICAgICAgICogc3ZnL2N1c3RvbS9yZXNvdXJjZXMvdXNlLWluc3RhbmNlUm9vdC1ldmVudC1idWJi
bGluZy5qczoKKyAgICAgICAgKHJlcGFpbnRUZXN0KToKKyAgICAgICAgKiBzdmcvY3VzdG9tL3Jl
c291cmNlcy91c2UtaW5zdGFuY2VSb290LWV2ZW50LWxpc3RlbmVycy5qczoKKyAgICAgICAgKHJl
cGFpbnRUZXN0KToKKyAgICAgICAgKiBzdmcvY3VzdG9tL3Njcm9sbC1oaXQtdGVzdC54aHRtbDoK
KyAgICAgICAgKiBzdmcvY3VzdG9tL3Njcm9sbC10by1hbmNob3ItaW4tc3ltYm9sLnN2ZzoKKyAg
ICAgICAgKiBzdmcvY3VzdG9tL3Njcm9sbC10by1zdmctZWxlbWVudC1hc3NlcnRpb24uaHRtbDoK
KyAgICAgICAgKiBzdmcvY3VzdG9tL3Njcm9sbGluZy1lbWJlZGRlZC1zdmctZmlsZS1pbWFnZS1y
ZXBhaW50LXByb2JsZW0uaHRtbDoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3N0b3AtY3Jhc2guc3Zn
OgorICAgICAgICAqIHN2Zy9jdXN0b20vc3Ryb2tlLXdpZHRoLWNsaWNrLnN2ZzoKKyAgICAgICAg
KiBzdmcvY3VzdG9tL3N2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC1vYmplY3QuaHRtbDoKKyAgICAg
ICAgKiBzdmcvY3VzdG9tL3N2Zy1mZWF0dXJlcy5odG1sOgorICAgICAgICAqIHN2Zy9jdXN0b20v
c3ZnLWZvbnRzLWluLWh0bWwtbGluZWJyZWFrcy5odG1sOgorICAgICAgICAqIHN2Zy9jdXN0b20v
c3ZnLWZvbnRzLW5vLWxhdGluLWdseXBoLmh0bWw6CisgICAgICAgICogc3ZnL2N1c3RvbS9zdmct
Z2V0ZWxlbWVudGlkLnhodG1sOgorICAgICAgICAqIHN2Zy9jdXN0b20vc3ZnLXBhcnNlLW92ZXJm
bG93LTEuaHRtbDoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3N2Zy1wYXJzZS1vdmVyZmxvdy0yLmh0
bWw6CisgICAgICAgICogc3ZnL2N1c3RvbS9zdmctcGFyc2Utb3ZlcmZsb3ctMy5odG1sOgorICAg
ICAgICAqIHN2Zy9jdXN0b20vc3ZnLXBhcnNlLW92ZXJmbG93LTQuaHRtbDoKKyAgICAgICAgKiBz
dmcvY3VzdG9tL3N2Zy1wYXJzZS1vdmVyZmxvdy01Lmh0bWw6CisgICAgICAgICogc3ZnL2N1c3Rv
bS9zdmctdXNlLXN0eWxlLWZsb2F0LWNyYXNoLnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3N2
Zy13aWR0aC1pbnRyaW5zaWMtY3Jhc2guaHRtbDoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3N5bWJv
bC12aWV3cG9ydC1lbGVtZW50LWNyYXNoLnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3RleHQt
bm9kZS1pbi10ZXh0LWludmFsaWRhdGVkLnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3RleHQt
dHJlZi0wMy1iLWR5bmFtaWMuc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vdGV4dC10cmVmLTAz
LWItZHluYW1pYzIuc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vdGV4dFBhdGgtYXNzZXJ0LnN2
ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3RleHRQYXRoLXNldC1pZC5zdmc6CisgICAgICAgICog
c3ZnL2N1c3RvbS90aWxpbmctcmVndWxhci1oZXhhZ29uYWwtY3Jhc2guc3ZnOgorICAgICAgICAq
IHN2Zy9jdXN0b20vdHJlZi1jbG9uZS1jcmFzaC5odG1sOgorICAgICAgICAqIHN2Zy9jdXN0b20v
dHJlZi1zaGFkb3dkb20uaHRtbDoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3VzZS1hbmltYXRpb24t
aW4tZmlsbC5odG1sOgorICAgICAgICAqIHN2Zy9jdXN0b20vdXNlLWNyYXNoLWluLW5vbi13ZWxs
Zm9ybWVkLWRvY3VtZW50LnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3VzZS1jcmFzaC1wZW5k
aW5nLXJlc291cmNlLnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3VzZS1jcmFzaC11c2luZy1j
aGlsZHJlbi1iZWZvcmUtZGVzdHJveS5zdmc6CisgICAgICAgICogc3ZnL2N1c3RvbS91c2UtY3Jh
c2gtd2hlbi1ocmVmLWNoYW5nZS5zdmc6CisgICAgICAgICogc3ZnL2N1c3RvbS91c2UtZGV0YWNo
LnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3VzZS1kaXNwbGF5LW5vbmUuc3ZnOgorICAgICAg
ICAqIHN2Zy9jdXN0b20vdXNlLWVsZW1lbnRJbnN0YW5jZS1ldmVudC10YXJnZXQuc3ZnOgorICAg
ICAgICAqIHN2Zy9jdXN0b20vdXNlLWVsZW1lbnRJbnN0YW5jZS1tZXRob2RzLnN2ZzoKKyAgICAg
ICAgKiBzdmcvY3VzdG9tL3VzZS1ldmVudC1oYW5kbGVyLW9uLXJlZmVyZW5jZWQtZWxlbWVudC5z
dmc6CisgICAgICAgICogc3ZnL2N1c3RvbS91c2UtZXZlbnQtaGFuZGxlci1vbi11c2UtZWxlbWVu
dC5zdmc6CisgICAgICAgICogc3ZnL2N1c3RvbS91c2UtZXh0ZXJuYWwtY3Jhc2guc3ZnOgorICAg
ICAgICAqIHN2Zy9jdXN0b20vdXNlLWluc3RhbmNlUm9vdC1hcy1ldmVudC10YXJnZXQueGh0bWw6
CisgICAgICAgICogc3ZnL2N1c3RvbS91c2UtaW5zdGFuY2VSb290LWV2ZW50LWxpc3RlbmVyLWxp
dmVuZXNzLnhodG1sOgorICAgICAgICAqIHN2Zy9jdXN0b20vdXNlLWluc3RhbmNlUm9vdC13aXRo
LXVzZS1yZW1vdmVkLnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3VzZS1pbnZhbGlkLWZvbnQt
ZmFjZS5zdmc6CisgICAgICAgICogc3ZnL2N1c3RvbS91c2UtaW52YWxpZC1odG1sLnhodG1sOgor
ICAgICAgICAqIHN2Zy9jdXN0b20vdXNlLWludmFsaWQtcGF0dGVybi5zdmc6CisgICAgICAgICog
c3ZnL2N1c3RvbS91c2UtaW52YWxpZC1zdHlsZS5zdmc6CisgICAgICAgICogc3ZnL2N1c3RvbS91
c2UtbW92ZS10by1vZmZzZXQuc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vdXNlLW11bHRpcGxl
LW9uLW5lc3RlZC1kaXNhbGxvd2VkLWZvbnQuaHRtbDoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3Vz
ZS1tdXRhdGlvbi1ldmVudC1jcmFzaC5zdmc6CisgICAgICAgICogc3ZnL2N1c3RvbS91c2UtbmVz
dGVkLWNoaWxkcmVuLnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3VzZS1uZXN0ZWQtZGlzYWxs
b3dlZC10YXJnZXQuc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vdXNlLW5lc3RlZC1taXNzaW5n
LXRhcmdldC1hZGRlZC5zdmc6CisgICAgICAgICogc3ZnL2N1c3RvbS91c2UtbmVzdGVkLW1pc3Np
bmctdGFyZ2V0LXJlbW92ZWQuc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vdXNlLW5lc3RlZC1t
aXNzaW5nLXRhcmdldC5zdmc6CisgICAgICAgICogc3ZnL2N1c3RvbS91c2UtbmVzdGVkLW5vdGFy
Z2V0LnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3VzZS1ub24tZXhpc3Rpbmctc3ltYm9sLWNy
YXNoLnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3VzZS1vbi11c2Utd2l0aC1jaGlsZC1hbmQt
ZW1wdHktdGFyZ2V0LnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3VzZS1vbi11c2Utd2l0aC1j
aGlsZC5zdmc6CisgICAgICAgICogc3ZnL2N1c3RvbS91c2UtcmVmZXJlbmNpbmctc3R5bGUtY3Jh
c2guc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vdXNlLXNoYWRvdy1yb290LXBhcmVudC1yZW1v
dmFsLnN2ZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3VzZS10cmVmLWNyYXNoLnN2ZzoKKyAgICAg
ICAgKiBzdmcvY3VzdG9tL3dlYmtpdC10cmFuc2Zvcm0tY3Jhc2guaHRtbDoKKyAgICAgICAgKiBz
dmcvY3VzdG9tL3hsaW5rLXByZWZpeC1pbi1hdHRyaWJ1dGVzLmh0bWw6CisgICAgICAgICogc3Zn
L2N1c3RvbS94bGluay10by1pbnZhbGlkLWdyYWRpZW50LnN2ZzoKKyAgICAgICAgKiBzdmcvZG9t
L1NWR1BhdGhTZWdMaXN0LXhtbC1kb20tc3luY2hyb25pemF0aW9uLnhodG1sOgorICAgICAgICAq
IHN2Zy9kb20vU1ZHUG9seWdvbkVsZW1lbnQtYmFzZVZhbC1saXN0LXJlbW92YWwtY3Jhc2guaHRt
bDoKKyAgICAgICAgKiBzdmcvZG9tL1NWR1NjcmlwdEVsZW1lbnQvc2NyaXB0LWFzeW5jLWF0dHIu
c3ZnOgorICAgICAgICAqIHN2Zy9kb20vU1ZHU2NyaXB0RWxlbWVudC9zY3JpcHQtY2hhbmdlLWV4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQtd2hpbGUtbG9hZGluZy5zdmc6CisgICAgICAgICogc3Zn
L2RvbS9TVkdTY3JpcHRFbGVtZW50L3NjcmlwdC1jbG9uZS1yZXJ1bi1zZWxmLnN2ZzoKKyAgICAg
ICAgKiBzdmcvZG9tL1NWR1NjcmlwdEVsZW1lbnQvc2NyaXB0LWNsb25lLXJlcnVuLnN2ZzoKKyAg
ICAgICAgKiBzdmcvZG9tL1NWR1NjcmlwdEVsZW1lbnQvc2NyaXB0LWxvYWQtYW5kLWVycm9yLWV2
ZW50cy5zdmc6CisgICAgICAgICogc3ZnL2RvbS9TVkdTY3JpcHRFbGVtZW50L3NjcmlwdC1vbmVy
cm9yLWJ1YmJsaW5nLnN2ZzoKKyAgICAgICAgKiBzdmcvZG9tL1NWR1NjcmlwdEVsZW1lbnQvc2Ny
aXB0LXJlZXhlY3V0aW9uLnN2ZzoKKyAgICAgICAgKiBzdmcvZG9tL1NWR1NjcmlwdEVsZW1lbnQv
c2NyaXB0LXNldC1ocmVmLnN2ZzoKKyAgICAgICAgKiBzdmcvZG9tL1NWR1N0eWxlZEVsZW1lbnQt
cGVuZGluZ1Jlc291cmNlLWNyYXNoLmh0bWw6CisgICAgICAgICogc3ZnL2RvbS9TVkdUcmFuc2Zv
cm1MaXN0LWVtcHR5LWxpc3QtY29uc29saWRhdGlvbi5odG1sOgorICAgICAgICAqIHN2Zy9kb20v
YW5pbWF0ZWQtdGVhcm9mZi1lcXVhbGl0eS54aHRtbDoKKyAgICAgICAgKiBzdmcvZG9tL2FuaW1h
dGVkLXRlYXJvZmYtbGlmZXNwYW4ueGh0bWw6CisgICAgICAgICogc3ZnL2RvbS9iYXNlVmFsLWFu
aW1WYWwtY3Jhc2guaHRtbDoKKyAgICAgICAgKiBzdmcvZG9tL2Jhc2VWYWwtYW5pbVZhbC1saXN0
LWNyYXNoLmh0bWw6CisgICAgICAgICogc3ZnL2RvbS9mcmFtZS1yZWxhdGVkLWFwaS1kdXJpbmct
bG9hZC5odG1sOgorICAgICAgICAqIHN2Zy9kb20vcGFyZW50LXZpZXctbGF5b3V0LWNyYXNoLmh0
bWw6CisgICAgICAgICogc3ZnL2RvbS9wYXRoLW1hcmtlci1yZW1vdmVkLWNyYXNoLnN2ZzoKKyAg
ICAgICAgKiBzdmcvZG9tL3Jlc291cmNlcy92aWV3c3BlYy1wYXJzZXIuanM6CisgICAgICAgIChj
b250aW51ZUZ1enppbmcuZWxzZS5zY3JpcHQub25sb2FkKToKKyAgICAgICAgKGNvbnRpbnVlRnV6
emluZyk6CisgICAgICAgICogc3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZHVmlld1NwZWMuanM6Cisg
ICAgICAgIChjb21wbGV0ZVRlc3Quc2NyaXB0Lm9ubG9hZCk6CisgICAgICAgIChjb21wbGV0ZVRl
c3QpOgorICAgICAgICAqIHN2Zy9kb20vc21pbC1tZXRob2RzLnN2ZzoKKyAgICAgICAgKiBzdmcv
ZG9tL3N0eWxlc2hlZXQtY2FuZGlkYXRlLW5vZGUtY3Jhc2gtbWFpbi5odG1sOgorICAgICAgICAq
IHN2Zy9kb20vc3ZnLWVsZW1lbnQtYXR0cmlidXRlLWpzLW51bGwueGh0bWw6CisgICAgICAgICog
c3ZnL2RvbS9zeW1ib2wtZW1iZWRkZWRBbmltYXRpb24uc3ZnOgorICAgICAgICAqIHN2Zy9kb20v
dXNlLXN0eWxlLXJlY2FsYy1zY3JpcHQtZXhlY3V0ZS1jcmFzaC5odG1sOgorICAgICAgICAqIHN2
Zy9kb20vdXNlLXRyYW5zZm9ybS5zdmc6CisgICAgICAgICogc3ZnL2RvbS92aWV3cG9ydC1jb250
YWluZXItY3Jhc2guc3ZnOgorICAgICAgICAqIHN2Zy9kb20vdmtlcm4tZWxlbWVudC1jcmFzaC5o
dG1sOgorICAgICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR1Rlc3RDYXNl
LmpzOgorICAgICAgICAoY3JlYXRlU1ZHVGVzdENhc2UpOgorICAgICAgICAoZW1iZWRTVkdUZXN0
Q2FzZSk6CisgICAgICAgIChjb21wbGV0ZVRlc3Quc2NyaXB0Lm9ubG9hZCk6CisgICAgICAgIChj
b21wbGV0ZVRlc3QpOgorICAgICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL2xp
bmtUYXJnZXQuc3ZnOgorICAgICAgICAqIHN2Zy9maWx0ZXJzL2ZlQmxlbmQtaW52YWxpZC1tb2Rl
LnhodG1sOgorICAgICAgICAqIHN2Zy9maWx0ZXJzL2ZlQ29sb3JNYXRyaXgtaW52YWxpZC12YWx1
ZS5zdmc6CisgICAgICAgICogc3ZnL2ZpbHRlcnMvZmVDb21wb25lbnRUcmFuc2Zlci1zdHlsZS1j
cmFzaC54aHRtbDoKKyAgICAgICAgKiBzdmcvZmlsdGVycy9mZURpc3BsYWNlbWVudE1hcC1jcmFz
aC10ZXN0LnhodG1sOgorICAgICAgICAqIHN2Zy9maWx0ZXJzL2ZlSW1hZ2UtYW5pbWF0ZWQtdHJh
bnNmb3JtLW9uLXRhcmdldC1yZWN0LnN2ZzoKKyAgICAgICAgKiBzdmcvZmlsdGVycy9mZUltYWdl
LXRhcmdldC1yZWFwcGVuZC10by1kb2N1bWVudC5zdmc6CisgICAgICAgICogc3ZnL2ZpbHRlcnMv
ZmVJbWFnZS16ZXJvLXNpemUtY3Jhc2guc3ZnOgorICAgICAgICAqIHN2Zy9maWx0ZXJzL2ZlTW9y
cGhvbG9neS1pbnZhbGlkLXJhZGl1cy5zdmc6CisgICAgICAgICogc3ZnL2ZpbHRlcnMvZmVNb3Jw
aG9sb2d5LXplcm8tcmFkaXVzLnN2ZzoKKyAgICAgICAgKiBzdmcvZmlsdGVycy9maWx0ZXItYWZ0
ZXItdHJhbnNmb3JtLWNyYXNoLnN2ZzoKKyAgICAgICAgKiBzdmcvZmlsdGVycy9yZXBhcmVudC1h
bmltYXRlZC1maWx0ZXItdGFyZ2V0Lmh0bWw6CisgICAgICAgICogc3ZnL2ZpbHRlcnMvc3ZnLXRy
YW5zZm9ybS1ibHVyLWNyYXNoLnN2ZzoKKyAgICAgICAgKiBzdmcvZm9yZWlnbk9iamVjdC9hYnNv
bHV0ZS1wb3NpdGlvbi1mb3JlaWduLW9iamVjdC1jaGlsZC1jcmFzaC5odG1sOgorICAgICAgICAq
IHN2Zy9mb3JlaWduT2JqZWN0L2ZPLWZpeGVkLXBvc2l0aW9uLWNyYXNoLmh0bWw6CisgICAgICAg
ICogc3ZnL2hpdHRlc3QvZm9yZWlnbi1vYmplY3QtYmFja2dyb3VuZC5zdmc6CisgICAgICAgICog
c3ZnL2hpdHRlc3Qvc3ZnLWVsbGlwc2Utbm9uLXNjYWxlLXN0cm9rZS54aHRtbDoKKyAgICAgICAg
KiBzdmcvaGl0dGVzdC9zdmctZWxsaXBzZS1yZWN0LXN0cm9rZS54aHRtbDoKKyAgICAgICAgKiBz
dmcvaGl0dGVzdC9zdmctZWxsaXBzZS54aHRtbDoKKyAgICAgICAgKiBzdmcvaGl0dGVzdC9zdmct
aW5zaWRlLWRpc3BsYXktdGFibGUueGh0bWw6CisgICAgICAgICogc3ZnL2hpdHRlc3Qvc3ZnLWlu
c2lkZS10YWJsZS54aHRtbDoKKyAgICAgICAgKiBzdmcvaGl0dGVzdC9zdmctcGFkZGluZy54aHRt
bDoKKyAgICAgICAgKiBzdmcvaGl0dGVzdC9zdmctc2hhcGVzLW5vbi1zY2FsZS1zdHJva2UuaHRt
bDoKKyAgICAgICAgKiBzdmcvaGl0dGVzdC9zdmctc21hbGwtcGF0aC54aHRtbDoKKyAgICAgICAg
KiBzdmcvaGl0dGVzdC9zdmctc21hbGwtdmlld2JveC54aHRtbDoKKyAgICAgICAgKiBzdmcvaGl0
dGVzdC96ZXJvLWxlbmd0aC1idXR0LWNhcC1wYXRoLnhodG1sOgorICAgICAgICAqIHN2Zy9oaXR0
ZXN0L3plcm8tbGVuZ3RoLXJvdW5kLWNhcC1wYXRoLnhodG1sOgorICAgICAgICAqIHN2Zy9oaXR0
ZXN0L3plcm8tbGVuZ3RoLXNxdWFyZS1jYXAtcGF0aC54aHRtbDoKKyAgICAgICAgKiBzdmcvaGl4
aWUvZHluYW1pYy8wMDEueG1sOgorICAgICAgICAqIHN2Zy9oaXhpZS9saW5rcy8wMDMueG1sOgor
ICAgICAgICAqIHN2Zy9oaXhpZS9wZXJmLzAwMS54bWw6CisgICAgICAgICogc3ZnL2hpeGllL3Bl
cmYvMDAyLnhtbDoKKyAgICAgICAgKiBzdmcvaGl4aWUvcGVyZi8wMDMueG1sOgorICAgICAgICAq
IHN2Zy9oaXhpZS9wZXJmLzAwNC54bWw6CisgICAgICAgICogc3ZnL2hpeGllL3BlcmYvMDA1Lnht
bDoKKyAgICAgICAgKiBzdmcvaGl4aWUvcGVyZi8wMDYueG1sOgorICAgICAgICAqIHN2Zy9oaXhp
ZS9wZXJmLzAwNy54bWw6CisgICAgICAgICogc3ZnL2luLWh0bWwvc2NyaXB0LWV4dGVybmFsLmh0
bWw6CisgICAgICAgICogc3ZnL2luLWh0bWwvc2NyaXB0LW5lc3RlZC5odG1sOgorICAgICAgICAq
IHN2Zy9pbi1odG1sL3NjcmlwdC13cml0ZS5odG1sOgorICAgICAgICAqIHN2Zy9pbi1odG1sL3Nj
cmlwdC5odG1sOgorICAgICAgICAqIHN2Zy9pbi1odG1sL3N2Zy1hc3NlcnQtZmFpbHVyZS1wZXJj
ZW50YWdlLmh0bWw6CisgICAgICAgICogc3ZnL3BhdGgtYXJjLWludmFsaWQuaHRtbDoKKyAgICAg
ICAgKiBzdmcvcmVwYWludC9maWx0ZXItcmVwYWludC5zdmc6CisgICAgICAgICogc3ZnL3JlcGFp
bnQvaW1hZ2UtaHJlZi1jaGFuZ2Uuc3ZnOgorICAgICAgICAqIHN2Zy9yZXBhaW50L2ltYWdlLXdp
dGgtY2xpcC1wYXRoLnN2ZzoKKyAgICAgICAgKiBzdmcvcmVwYWludC9yZXBhaW50aW5nLWFmdGVy
LWFuaW1hdGlvbi1lbGVtZW50LXJlbW92YWwuc3ZnOgorICAgICAgICAqIHN2Zy90ZXh0L2FkZC10
c3Bhbi1wb3NpdGlvbi1idWcuaHRtbDoKKyAgICAgICAgKiBzdmcvdGV4dC9jYXJldC1pbi1zdmct
dGV4dC54aHRtbDoKKyAgICAgICAgKiBzdmcvdGV4dC9jbGVhci1mbG9hdHMtY3Jhc2guc3ZnOgor
ICAgICAgICAqIHN2Zy90ZXh0L2ZvbnQtc2l6ZS1udWxsLWFzc2VydGlvbi5zdmc6CisgICAgICAg
ICogc3ZnL3RleHQvZm9udC1zaXplLXRvby1sYXJnZS1jcmFzaC5zdmc6CisgICAgICAgICogc3Zn
L3RleHQvZm9yZWlnbk9iamVjdC10ZXh0LWNsaXBwaW5nLWJ1Zy54bWw6CisgICAgICAgICogc3Zn
L3RleHQvZ2x5cGhyZWYtcmVuZGVyZXItY3JlYXRlLWNyYXNoLmh0bWw6CisgICAgICAgICogc3Zn
L3RleHQvaGlnaGNoYXJ0cy1hc3NlcnRpb24uaHRtbDoKKyAgICAgICAgKiBzdmcvdGV4dC9pbmxp
bmUtdGV4dC1kZXN0cm95LWF0dHJpYnV0ZXMtY3Jhc2gueGh0bWw6CisgICAgICAgICogc3ZnL3Rl
eHQvbW9kaWZ5LXRzcGFuLXBvc2l0aW9uLWJ1Zy5odG1sOgorICAgICAgICAqIHN2Zy90ZXh0L3Jl
c291cmNlcy9TZWxlY3Rpb25UZXN0Q2FzZS5qczoKKyAgICAgICAgKiBzdmcvdGV4dC9zZWxlY3Qt
dGV4dC1zdmdmb250Lmh0bWw6CisgICAgICAgICogc3ZnL3RleHQvc2VsZWN0aW9uLWRvdWJsZWNs
aWNrLnN2ZzoKKyAgICAgICAgKiBzdmcvdGV4dC9zZWxlY3Rpb24tdHJpcGxlY2xpY2suc3ZnOgor
ICAgICAgICAqIHN2Zy90ZXh0L3N2Zy1ydGwtdGV4dC1jcmFzaC5odG1sOgorICAgICAgICAqIHN2
Zy90ZXh0L3N2Zy16b29tLWxhcmdlLXZhbHVlLnhodG1sOgorICAgICAgICAqIHN2Zy90ZXh0L3Rl
eHQtYWxpZ24tMDEtYi5zdmc6CisgICAgICAgICogc3ZnL3RleHQvdGV4dC1hbGlnbi0wMi1iLnN2
ZzoKKyAgICAgICAgKiBzdmcvdGV4dC90ZXh0LWFsaWduLTAzLWIuc3ZnOgorICAgICAgICAqIHN2
Zy90ZXh0L3RleHQtYWxpZ24tMDQtYi5zdmc6CisgICAgICAgICogc3ZnL3RleHQvdGV4dC1hbGln
bi0wNS1iLnN2ZzoKKyAgICAgICAgKiBzdmcvdGV4dC90ZXh0LWFsaWduLTA2LWIuc3ZnOgorICAg
ICAgICAqIHN2Zy90ZXh0L3RleHQtYWx0Z2x5cGgtMDEtYi5zdmc6CisgICAgICAgICogc3ZnL3Rl
eHQvdGV4dC1hc3NlcnQuc3ZnOgorICAgICAgICAqIHN2Zy90ZXh0L3RleHQtYmxvY2stY2hpbGQt
Y3Jhc2gueGh0bWw6CisgICAgICAgICogc3ZnL3RleHQvdGV4dC1kZWNvLTAxLWIuc3ZnOgorICAg
ICAgICAqIHN2Zy90ZXh0L3RleHQtZm9udC1hbm9ueW1vdXMtcGFyZW50LnhodG1sOgorICAgICAg
ICAqIHN2Zy90ZXh0L3RleHQtZm9udC1pbnZhbGlkLmh0bWw6CisgICAgICAgICogc3ZnL3RleHQv
dGV4dC1mb250LXVyaS1pbnZhbGlkLnN2ZzoKKyAgICAgICAgKiBzdmcvdGV4dC90ZXh0LWZvbnRz
LTAxLXQuc3ZnOgorICAgICAgICAqIHN2Zy90ZXh0L3RleHQtZm9udHMtMDItdC5zdmc6CisgICAg
ICAgICogc3ZnL3RleHQvdGV4dC1pbnRyby0wNS10LnN2ZzoKKyAgICAgICAgKiBzdmcvdGV4dC90
ZXh0LXBhdGgtMDEtYi5zdmc6CisgICAgICAgICogc3ZnL3RleHQvdGV4dC1wb3NpdGlvbmluZy1y
ZW1vdmUtY2hpbGQtY3Jhc2guc3ZnOgorICAgICAgICAqIHN2Zy90ZXh0L3RleHQtcHJvcGVydHkt
d2l0aC1kaXNwbGF5LW5vbmUuaHRtbDoKKyAgICAgICAgKiBzdmcvdGV4dC90ZXh0LXNwYWNpbmct
MDEtYi5zdmc6CisgICAgICAgICogc3ZnL3RleHQvdGV4dC1zdHlsZS1pbnZhbGlkLnN2ZzoKKyAg
ICAgICAgKiBzdmcvdGV4dC90ZXh0LXN0eWxlLXJlY2FsYy1jcmFzaC5odG1sOgorICAgICAgICAq
IHN2Zy90ZXh0L3RleHQtdGV4dC0wMS1iLnN2ZzoKKyAgICAgICAgKiBzdmcvdGV4dC90ZXh0LXRl
eHQtMDMtYi5zdmc6CisgICAgICAgICogc3ZnL3RleHQvdGV4dC10ZXh0LTA0LXQuc3ZnOgorICAg
ICAgICAqIHN2Zy90ZXh0L3RleHQtdGV4dC0wNS10LnN2ZzoKKyAgICAgICAgKiBzdmcvdGV4dC90
ZXh0LXRleHQtMDYtdC5zdmc6CisgICAgICAgICogc3ZnL3RleHQvdGV4dC10ZXh0LTA3LXQuc3Zn
OgorICAgICAgICAqIHN2Zy90ZXh0L3RleHQtdGV4dC0wOC1iLnN2ZzoKKyAgICAgICAgKiBzdmcv
dGV4dC90ZXh0LXRyZWYtMDEtYi5zdmc6CisgICAgICAgICogc3ZnL3RleHQvdGV4dC10c2VsZWN0
LTAxLWIuc3ZnOgorICAgICAgICAqIHN2Zy90ZXh0L3RleHQtdHNlbGVjdC0wMi1mLnN2ZzoKKyAg
ICAgICAgKiBzdmcvdGV4dC90ZXh0LXRzcGFuLTAxLWIuc3ZnOgorICAgICAgICAqIHN2Zy90ZXh0
L3RleHQtd3MtMDEtdC5zdmc6CisgICAgICAgICogc3ZnL3RleHQvdGV4dC13cy0wMi10LnN2ZzoK
KyAgICAgICAgKiBzdmcvdGV4dC90ZXh0UGF0aEJvdW5kc0J1Zy5zdmc6CisgICAgICAgICogc3Zn
L3RleHQvdGV4dHBhdGgtcmVmZXJlbmNlLWNyYXNoLmh0bWw6CisgICAgICAgICogc3ZnL3RleHQv
dHJlZi1ldmVudC1saXN0ZW5lci1jcmFzaC5zdmc6CisgICAgICAgICogc3ZnL3RleHQvdHNwYW4t
Z2V0Q29tcHV0ZWRUZXh0TGVuZ3RoLnN2ZzoKKyAgICAgICAgKiBzdmcvdHJhbnNmb3Jtcy9wZXJj
ZW50LXRyYW5zZm9ybS12YWx1ZXMueGh0bWw6CisgICAgICAgICogc3ZnL3RyYW5zZm9ybXMvdHJh
bnNmb3JtLW9yaWdpbi1wcmVzZW50YXRpb24tYXR0cmlidXRlLnhodG1sOgorICAgICAgICAqIHN2
Zy93ZWJhcmNoaXZlL3N2Zy1jdXJzb3Itc3VicmVzb3VyY2VzLWV4cGVjdGVkLndlYmFyY2hpdmU6
CisgICAgICAgICogc3ZnL3dlYmFyY2hpdmUvc3ZnLWN1cnNvci1zdWJyZXNvdXJjZXMuc3ZnOgor
ICAgICAgICAqIHN2Zy93ZWJhcmNoaXZlL3N2Zy1mZWltYWdlLXN1YnJlc291cmNlcy1leHBlY3Rl
ZC53ZWJhcmNoaXZlOgorICAgICAgICAqIHN2Zy93ZWJhcmNoaXZlL3N2Zy1mZWltYWdlLXN1YnJl
c291cmNlcy5zdmc6CisgICAgICAgICogc3ZnL3dlYmFyY2hpdmUvc3ZnLXNjcmlwdC1zdWJyZXNv
dWNlcy1leHBlY3RlZC53ZWJhcmNoaXZlOgorICAgICAgICAqIHN2Zy93ZWJhcmNoaXZlL3N2Zy1z
Y3JpcHQtc3VicmVzb3VjZXMuc3ZnOgorICAgICAgICAqIHN2Zy96b29tL3BhZ2Uvem9vbS1nZXRC
b3VuZGluZ0NsaWVudFJlY3QueGh0bWw6CisgICAgICAgICogc3ZnL3pvb20vcGFnZS96b29tLXpv
b20tY29vcmRzLnhodG1sOgorICAgICAgICAqIHN2Zy96b29tL3Jlc291cmNlcy90ZXN0UGFnZVpv
b20uanM6CisgICAgICAgIChyZXBhaW50VGVzdCk6CisgICAgICAgIChjb21wbGV0ZUR5bmFtaWNU
ZXN0LnNjcmlwdC5vbmxvYWQpOgorICAgICAgICAoY29tcGxldGVEeW5hbWljVGVzdCk6CisgICAg
ICAgICogc3ZnL3pvb20vcmVzb3VyY2VzL3Rlc3RUZXh0Wm9vbS5qczoKKyAgICAgICAgKHJlcGFp
bnRUZXN0KToKKwogMjAxMi0wOC0wMSAgS2Vpc2hpIEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBBdHRlbXB0IHRvIGZpeCBmbGFraW5lc3Mgb2YgY29sb3Itc3VnZ2VzdGlv
bi1waWNrZXItYXBwZWFyYW5jZS5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvVzND
LVNWRy0xLjEtU0UvcGF0aHMtZG9tLTAyLWYuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL1czQy1TVkct
MS4xLVNFL3BhdGhzLWRvbS0wMi1mLnN2ZwppbmRleCA3MDI0ZTY2Mjk2OTYwMWU4ODdmYzcyNmY0
ZTI4YTEwMzExZWU2ZTk3Li5kYjE5MjU5NjlmNGQ4MTU1MWI2NzIyMTVlNjU3ZjYwYjVlMWZhNDQ0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvVzNDLVNWRy0xLjEtU0UvcGF0aHMtZG9tLTAy
LWYuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9XM0MtU1ZHLTEuMS1TRS9wYXRocy1kb20tMDIt
Zi5zdmcKQEAgLTQ2LDggKzQ2LDggQEAKICAgPC9kZWZzPgogICA8ZyBpZD0idGVzdC1ib2R5LWNv
bnRlbnQiIGZvbnQtZmFtaWx5PSJTVkdGcmVlU2Fuc0FTQ0lJLHNhbnMtc2VyaWYiIGZvbnQtc2l6
ZT0iMTgiPgogICAgIDxzY3JpcHQ+PCFbQ0RBVEFbCi0gICAgICAgaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9u
ZSgpOworICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CiAgICAgICB2YXIgb2Zmc2V0X2FuZ2xlID0gOTA7CiAgICAgICB2YXIg
Y3VycmVudF9zaGlmdCA9IDA7CiAgICAgICB2YXIgc2hpZnRfaW5jID0gMTsKQEAgLTI1OCw4ICsy
NTgsOCBAQAogICAgICAgc2V0VGltZW91dCgnQW5pbWF0ZVBhdGgoKTsnLCAwKTsKICAgICAgIGVs
c2UgewogICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibXlwYXRoIikuYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbiBmdW5jKCkgeyBhZGp1c3RfY291bnRfbWF4PTMyNzY4
O2FuaW1fY291bnRfbWF4PTMyNzY4OyBBZGp1c3RQYXRoKCk7IEFuaW1hdGVQYXRoKCk7IH0sIGZh
bHNlKTsKLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgIH0K
ICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0
ZS1iZWdpbkVsZW1lbnRBdC5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRl
LWJlZ2luRWxlbWVudEF0LnN2ZwppbmRleCBlNWRmZGUxOGQ5ZWYzYjE2ZGYyYzAxMzM1MWEyNzhj
NWNlMjFiODhiLi42NTAwZDdjNzg2MGFlOTZmMWE0N2YwNTQzMjg5MjY1NGI5ZjEzMmViIDEwMDc1
NQotLS0gYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLWJlZ2luRWxlbWVudEF0
LnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLWJlZ2luRWxlbWVu
dEF0LnN2ZwpAQCAtMjcsMTMgKzI3LDEzIEBACiAgICAgICAgICAgICBjb25zb2xlLmFwcGVuZENo
aWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJGYWlsZWQgKGN4IHdhcyBub3QgYW5pbWF0ZWQp
IikpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBjb25zb2xlLmFwcGVuZENoaWxkKGRvY3Vt
ZW50LmNyZWF0ZVRleHROb2RlKCJQYXNzZWQiKSk7Ci0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlE
b25lKCk7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RS
dW5uZXIubm90aWZ5RG9uZSgpOwogICAgIH0KIAotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpIHsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwot
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAg
ICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB9CiBdXT48L3NjcmlwdD4KIDwv
c3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1jYWxj
TW9kZS1zcGxpbmUtY3Jhc2gtYmFkLWFycmF5LWxlbmd0aC54aHRtbCBiL0xheW91dFRlc3RzL3N2
Zy9hbmltYXRpb25zL2FuaW1hdGUtY2FsY01vZGUtc3BsaW5lLWNyYXNoLWJhZC1hcnJheS1sZW5n
dGgueGh0bWwKaW5kZXggOWNiNmFlNDY2MzgyNzZiNDNiMGVmM2QxMWY0YmVjZjgyNDBhYjg3NS4u
NDc4ZDNlM2FlYmQ5NTBhYzEwNjYxYmVlNTcyY2FkYWNkMDc2MTJhNyAxMDA3NTUKLS0tIGEvTGF5
b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1jYWxjTW9kZS1zcGxpbmUtY3Jhc2gtYmFk
LWFycmF5LWxlbmd0aC54aHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmlt
YXRlLWNhbGNNb2RlLXNwbGluZS1jcmFzaC1iYWQtYXJyYXktbGVuZ3RoLnhodG1sCkBAIC0xNSwx
NCArMTUsMTQgQEAKICAgICAgICAgICAgICAgICA8L2NpcmNsZT4KICAgICAgICAgICAgIDwvc3Zn
PgogICAgICAgICA8c2NyaXB0PgotICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikgewotICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsKLSAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25l
KCk7CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKIAkgICAgfQogICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAo
KSB7CiAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gIlBBU1Ms
IGlmIER1bXBSZW5kZXJUcmVlIGRvZXNuJ3QgY3Jhc2gsIGFuZCBubyBhc3NlcnRpb24gaW4gYSBE
ZWJ1ZyBidWlsZC4iOwotICAgICAgICAgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQotICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
bm90aWZ5RG9uZSgpOworICAgICAgICAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAg
ICAgICAgICAgICB9LCAwKTsKIAogICAgICAgICA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtbGluZWFyLWRpc2NyZXRlLWFkZGl0aXZlLWIu
c3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1saW5lYXItZGlzY3JldGUt
YWRkaXRpdmUtYi5zdmcKaW5kZXggMjg5Zjk2MGMzNDFhODUwN2YzOWIwOTQ5MmVkYTBkMmU2YWIz
Njk5My4uZjg5NTI2Mjc0NDk0ZjE0NGIyMWQxMTBiODgzNjQ2ZWJhNTkyZWUwOCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1saW5lYXItZGlzY3JldGUtYWRk
aXRpdmUtYi5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1saW5l
YXItZGlzY3JldGUtYWRkaXRpdmUtYi5zdmcKQEAgLTI0LDEzICsyNCwxMyBAQAogICAgIDwvdGV4
dD4KIDwvZz4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAg
IGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKK2lmICh3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAogZnVuY3Rpb24gbG9hZGVk
KCkgewogICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zZXRDdXJyZW50VGltZSg4KTsKLSAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKIH0KIDwvc2NyaXB0PgogPC9zdmc+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLWxpbmVhci1kaXNjcmV0ZS1h
ZGRpdGl2ZS1jLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtbGluZWFy
LWRpc2NyZXRlLWFkZGl0aXZlLWMuc3ZnCmluZGV4IDczNDIzZGQ4MjM0YTExZTE5ZDhiYTJmMTM4
YjIyMmZkY2Y2MTBlNzguLmIxMzQzODNiMjJjMTlhNWJlNGQ1YjIzNGQ5OTk2OTU4YmNjMDcwZTEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtbGluZWFyLWRp
c2NyZXRlLWFkZGl0aXZlLWMuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2Fu
aW1hdGUtbGluZWFyLWRpc2NyZXRlLWFkZGl0aXZlLWMuc3ZnCkBAIC0yNCwxMyArMjQsMTMgQEAK
ICAgICA8L3RleHQ+CiA8L2c+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CitpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKIGZ1bmN0
aW9uIGxvYWRlZCgpIHsKICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2V0Q3VycmVudFRp
bWUoMTEpOwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogfQogPC9zY3JpcHQ+CiA8L3N2
Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtbGluZWFy
LWRpc2NyZXRlLWFkZGl0aXZlLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1h
dGUtbGluZWFyLWRpc2NyZXRlLWFkZGl0aXZlLnN2ZwppbmRleCBjMTIxYmUxMjQwYWZmODk5YTBi
Nzc4YWQ5MDM5ZGE0ZDk3OGFhODE5Li41YjgzMTBhYWYwYzI5ZTlhYjY2YjlmYzQ0YTNkNWM0Yzcw
ZDc3NTkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLWxp
bmVhci1kaXNjcmV0ZS1hZGRpdGl2ZS5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlv
bnMvYW5pbWF0ZS1saW5lYXItZGlzY3JldGUtYWRkaXRpdmUuc3ZnCkBAIC0yNCwxMyArMjQsMTMg
QEAKICAgICA8L3RleHQ+CiA8L2c+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CitpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKIGZ1
bmN0aW9uIGxvYWRlZCgpIHsKICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2V0Q3VycmVu
dFRpbWUoMyk7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiB9CiA8L3NjcmlwdD4KIDwv
c3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1saXN0
LWNyYXNoLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtbGlzdC1jcmFz
aC5zdmcKaW5kZXggYjNkZTRjOTZkNTNiMzg4NzAyNTgyZmRmOTNlZDliOTgwM2JmZDQzZC4uZjFk
ZGZhZDcwNWM2N2M0MWU2MWM1NTk1MTllMGU2ZjljYzVkMTFhOSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1saXN0LWNyYXNoLnN2ZworKysgYi9MYXlvdXRU
ZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLWxpc3QtY3Jhc2guc3ZnCkBAIC0xNyw4ICsxNyw4
IEBACiAgIDxzY3JpcHQ+CiAgIDwhW0NEQVRBWwogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJsb2ciKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiUEFTUyIpKTsKLSAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgd2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICB3aW5kb3cudGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgIF1dPgogICA8L3NjcmlwdD4K
IDwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1z
ZXRjdXJyZW50dGltZS5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1z
ZXRjdXJyZW50dGltZS5odG1sCmluZGV4IGE4ZTNmNjgwY2IxNTY1ZDNkMjQ4NjBmNzk3N2FjMmRm
N2M5ZmQwY2UuLmU4MWRhZWM4NmM2ZDg2YWY3ZmY3NDdlNTMwNTQ0MmIzYzAyMThlZGQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtc2V0Y3VycmVudHRpbWUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLXNldGN1cnJlbnR0
aW1lLmh0bWwKQEAgLTU5LDggKzU5LDggQEAKICAgICAgICAgfQogCiAgICAgICAgIGlmIChjdXJJ
ZHggPT0gdGVzdHMubGVuZ3RoKSB7Ci0gICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsK
KyAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKICAgICAgICAgfQogICAgICAgICBlbHNlCiAgICAgICAgICAgcnVuVGVz
dCgpOwpAQCAtMTA1LDkgKzEwNSw5IEBACiAgICAgfQogCiAgICAgLy8gQmVnaW4gdGVzdCBhc3lu
YwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKQotICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2Fp
dFVudGlsRG9uZSgpCisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKQorICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCkKICAgICB9
CiAgICAgZXhlY3V0ZVRlc3RzKCk7CiAgICAgPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLXVwZGF0ZS1jcmFzaC54aHRtbCBiL0xheW91dFRl
c3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtdXBkYXRlLWNyYXNoLnhodG1sCmluZGV4IDM3Mjli
ZjM2ODQxMjMwNjBkYjExMDMzZGVmNGNiYmIwOTk1NWI5MDcuLjQ0ZWE0MzNkNTI2NjA4NWY1ZDVk
YThlNzgzMzFiOGMwYjUwMWVlYWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRp
b25zL2FuaW1hdGUtdXBkYXRlLWNyYXNoLnhodG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9hbmlt
YXRpb25zL2FuaW1hdGUtdXBkYXRlLWNyYXNoLnhodG1sCkBAIC0xMiw4ICsxMiw4IEBACiAgICAg
ICAgICAgICA8L3RleHQ+DQogICAgICAgICA8L3N2Zz4NCiAgICAgICAgIDxzY3JpcHQ+DQotICAg
ICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikNCi0gICAgICAgICAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOw0KKyAgICAgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikNCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7DQogICAgICAgICA8L3NjcmlwdD4NCiAgICAgPC9ib2R5Pg0KIDwvaHRtbD4NCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlQ29sb3ItYWRkaXRpdmUtMmEu
c3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZUNvbG9yLWFkZGl0aXZlLTJh
LnN2ZwppbmRleCAxMjFiMzEzZThhZDZjYTdiYmQ2OGZmM2E1ZWFkNTNkOGVkMjMzN2Q5Li4wYzkw
NjcxZTlkYzM1OTA2ODQ1YjBlMjBhZTA1YTlkMGJiNTE0Mjc5IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlQ29sb3ItYWRkaXRpdmUtMmEuc3ZnCisrKyBiL0xh
eW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGVDb2xvci1hZGRpdGl2ZS0yYS5zdmcKQEAg
LTE4MywxNCArMTgzLDE0IEBAIENvbXBhcmUgZnJvbS10bywgZnJvbS1ieSBhbmQgYnkgYW5pbWF0
ZUNvbG9yIHdpdGggdmFsdWVzIGFuaW1hdGVDb2xvciBhbmQgYW5pbWF0CiA8L2c+CiAKIDxzY3Jp
cHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250
cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAogZnVuY3Rpb24gbG9hZGVkKCkgewogICAgIGRvY3Vt
ZW50LmRvY3VtZW50RWxlbWVudC5zZXRDdXJyZW50VGltZSgzKTsKIAotICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlm
eURvbmUoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOwogfQogPC9zY3JpcHQ+CiA8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGVDb2xvci1hZGRpdGl2ZS0yYi5zdmcgYi9MYXlvdXRU
ZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlQ29sb3ItYWRkaXRpdmUtMmIuc3ZnCmluZGV4IDgz
YThhNDJiZTMyMjdkYzhlYWY5N2Y4MmIyMTk5MmNmZDViZDNjZDEuLjQxNWQxYzBmZGZkMGMwMWU5
MDA0MzMyMDFlMmI0NjAyOWFlZDQwNWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9hbmlt
YXRpb25zL2FuaW1hdGVDb2xvci1hZGRpdGl2ZS0yYi5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3Zn
L2FuaW1hdGlvbnMvYW5pbWF0ZUNvbG9yLWFkZGl0aXZlLTJiLnN2ZwpAQCAtMjUyLDE0ICsyNTIs
MTQgQEAgQ29tcGFyZSBmcm9tLXRvLCBmcm9tLWJ5IGFuZCBieSBhbmltYXRlQ29sb3Igd2l0aCB2
YWx1ZXMgYW5pbWF0ZUNvbG9yIGFuZCBhbmltYXQKIDwvZz4KIAogPHNjcmlwdD4KLWlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVu
dGlsRG9uZSgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOwogCiBmdW5jdGlvbiBsb2FkZWQoKSB7CiAgICAgZG9jdW1lbnQuZG9jdW1lbnRF
bGVtZW50LnNldEN1cnJlbnRUaW1lKDEwKTsKIAotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OwogfQogPC9zY3JpcHQ+CiA8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hbmlt
YXRpb25zL2FuaW1hdGVDb2xvci1hZGRpdGl2ZS0yYy5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvYW5p
bWF0aW9ucy9hbmltYXRlQ29sb3ItYWRkaXRpdmUtMmMuc3ZnCmluZGV4IGNhNjNlNmEyMzczMzMz
MTZkYjJkZTUwNzYyNDdkMTE4ZTQ4N2ZkMDcuLjUxMDhhNmMyN2U1ZmVlNjdlMTM3N2YxZTMxN2Ux
N2E4ZTRkYTRkMzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1h
dGVDb2xvci1hZGRpdGl2ZS0yYy5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMv
YW5pbWF0ZUNvbG9yLWFkZGl0aXZlLTJjLnN2ZwpAQCAtMjY0LDE0ICsyNjQsMTQgQEAgQ29tcGFy
ZSBmcm9tLXRvLCBmcm9tLWJ5IGFuZCBieSBhbmltYXRlQ29sb3Igd2l0aCB2YWx1ZXMgYW5pbWF0
ZUNvbG9yIGFuZCBhbmltYXQKIDwvZz4KIAogPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwor
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwog
CiBmdW5jdGlvbiBsb2FkZWQoKSB7CiAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNldEN1
cnJlbnRUaW1lKDE1KTsKIAotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0g
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogfQogPC9zY3Jp
cHQ+CiA8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1h
dGVDb2xvci1hZGRpdGl2ZS0yZC5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmlt
YXRlQ29sb3ItYWRkaXRpdmUtMmQuc3ZnCmluZGV4IGI1NmNhMDM2ZWZmZDllZThjZGU0NTVkYmY4
ZDQzYTg2MGE5N2ViZjYuLmMzMzExZDY3NWFkZmFjOTJiNmI0OWYyYTJhNTIxNjIxNWE2MjFmMWQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGVDb2xvci1hZGRp
dGl2ZS0yZC5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZUNvbG9y
LWFkZGl0aXZlLTJkLnN2ZwpAQCAtMjc2LDE0ICsyNzYsMTQgQEAgQ29tcGFyZSBmcm9tLXRvLCBm
cm9tLWJ5IGFuZCBieSBhbmltYXRlQ29sb3Igd2l0aCB2YWx1ZXMgYW5pbWF0ZUNvbG9yIGFuZCBh
bmltYXQKIDwvZz4KIAogPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCiBmdW5jdGlvbiBs
b2FkZWQoKSB7CiAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNldEN1cnJlbnRUaW1lKDIw
KTsKIAotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogfQogPC9zY3JpcHQ+CiA8L3N2Zz4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGVNb3Rpb24tYWRk
aXRpdmUtMS5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlTW90aW9uLWFk
ZGl0aXZlLTEuc3ZnCmluZGV4IDY3MWY1ODE1MmIwMjA3ZmJmN2YwMWM1OTE1MDIxNGQyYmI3MjYx
N2UuLjc1ZDVkMjYyNmQ1OTljMTI2Y2ViNTM1MGQ0NDBkYzY2NzhiZjUwYjkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGVNb3Rpb24tYWRkaXRpdmUtMS5zdmcK
KysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZU1vdGlvbi1hZGRpdGl2ZS0x
LnN2ZwpAQCAtMTExLDEzICsxMTEsMTMgQEAgZmlsbD0iI2YwMCI+CiA8Y2lyY2xlIGlkPSJjMiIg
Y3g9IjkwMCIgY3k9IjkwMCIgcj0iMTAiIGZpbGw9IiM4ODgiIC8+CiAKIDxzY3JpcHQ+Ci1pZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndh
aXRVbnRpbERvbmUoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKIAogZnVuY3Rpb24gbG9hZGVkKCkgewogICAgIGRvY3VtZW50LmRvY3Vt
ZW50RWxlbWVudC5zZXRDdXJyZW50VGltZSgzMSk7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwor
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7CiB9CiA8L3NjcmlwdD4KIDwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2Fu
aW1hdGlvbnMvYW5pbWF0ZU1vdGlvbi1hZGRpdGl2ZS0yYS5zdmcgYi9MYXlvdXRUZXN0cy9zdmcv
YW5pbWF0aW9ucy9hbmltYXRlTW90aW9uLWFkZGl0aXZlLTJhLnN2ZwppbmRleCAzNDNkMTdhY2Fj
NDZjNDdlZTExMmUwZDA0MTNmZGE5NWQxNmQzN2M5Li4yMzFlNTM3YmMyZjZmY2NkMGNjNWFiZTg0
MGFkMmFjMjdjZDczM2YyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9h
bmltYXRlTW90aW9uLWFkZGl0aXZlLTJhLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0
aW9ucy9hbmltYXRlTW90aW9uLWFkZGl0aXZlLTJhLnN2ZwpAQCAtMTc0LDE0ICsxNzQsMTQgQEAg
Q29tcGFyZSBmcm9tLXRvLCBmcm9tLWJ5IGFuZCBieSBhbmltYXRlTW90aW9uIHdpdGggdmFsdWVz
IGFuaW1hdGVNb3Rpb24uCiA8L2c+CiAKIDxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKK2lm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAog
ZnVuY3Rpb24gbG9hZGVkKCkgewogICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zZXRDdXJy
ZW50VGltZSgyMCk7CiAKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKIH0KIDwvc2NyaXB0
PgogPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRl
TW90aW9uLWFkZGl0aXZlLTJiLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1h
dGVNb3Rpb24tYWRkaXRpdmUtMmIuc3ZnCmluZGV4IGE2YzU4ZGVlMTg3ZDczZDFhNjgwMWY0MjI1
YTIyM2RlMmRkZGQ2NmMuLjNhYzhkYjMyNmRlOWExMTFiNGZiOTZhYmNhMDRjZTY5NGIxY2Y2NjYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGVNb3Rpb24tYWRk
aXRpdmUtMmIuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGVNb3Rp
b24tYWRkaXRpdmUtMmIuc3ZnCkBAIC0xOTksMTQgKzE5OSwxNCBAQCBDb21wYXJlIGZyb20tdG8s
IGZyb20tYnkgYW5kIGJ5IGFuaW1hdGVNb3Rpb24gd2l0aCB2YWx1ZXMgYW5pbWF0ZU1vdGlvbi4K
IDwvZz4KIAogPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCiBmdW5jdGlvbiBsb2FkZWQo
KSB7CiAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNldEN1cnJlbnRUaW1lKDM2KTsKIAot
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogfQogPC9zY3JpcHQ+CiA8L3N2Zz4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGVNb3Rpb24tYWRkaXRpdmUt
MmMuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZU1vdGlvbi1hZGRpdGl2
ZS0yYy5zdmcKaW5kZXggYWIwMTJhNTM1ZjM5ZjgxMmY1MjIzMTdlMzgxOWQ3NTRiOThlZDQwMy4u
ZGE5YzBlNTk1OTI1MDlmZDQzYThkNWZkNWMzN2ZmNGNjOWY1Y2M3YiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZU1vdGlvbi1hZGRpdGl2ZS0yYy5zdmcKKysr
IGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZU1vdGlvbi1hZGRpdGl2ZS0yYy5z
dmcKQEAgLTIyNiwxNCArMjI2LDE0IEBAIENvbXBhcmUgZnJvbS10bywgZnJvbS1ieSBhbmQgYnkg
YW5pbWF0ZU1vdGlvbiB3aXRoIHZhbHVlcyBhbmltYXRlTW90aW9uLgogPC9nPgogCiA8c2NyaXB0
PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci53YWl0VW50aWxEb25lKCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CiAKIGZ1bmN0aW9uIGxvYWRlZCgpIHsKICAgICBkb2N1bWVu
dC5kb2N1bWVudEVsZW1lbnQuc2V0Q3VycmVudFRpbWUoNTIpOwogCi0gICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7CiB9CiA8L3NjcmlwdD4KIDwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZU1vdGlvbi1hZGRpdGl2ZS0yZC5zdmcgYi9MYXlvdXRU
ZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlTW90aW9uLWFkZGl0aXZlLTJkLnN2ZwppbmRleCA0
MGYyYzM3ODY1ZmRiM2I4MTc1ZTVmNGQ4NjAxZTM4MTk4MDQ3MGEwLi4xYTQzNjNlMTc2MjA4YjA4
YjE3M2Y3NGY2ZmFlMmJmMDIzOTMzMGRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvYW5p
bWF0aW9ucy9hbmltYXRlTW90aW9uLWFkZGl0aXZlLTJkLnN2ZworKysgYi9MYXlvdXRUZXN0cy9z
dmcvYW5pbWF0aW9ucy9hbmltYXRlTW90aW9uLWFkZGl0aXZlLTJkLnN2ZwpAQCAtMjU2LDE0ICsy
NTYsMTQgQEAgQ29tcGFyZSBmcm9tLXRvLCBmcm9tLWJ5IGFuZCBieSBhbmltYXRlTW90aW9uIHdp
dGggdmFsdWVzIGFuaW1hdGVNb3Rpb24uCiA8L2c+CiAKIDxzY3JpcHQ+Ci1pZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERv
bmUoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKIAogZnVuY3Rpb24gbG9hZGVkKCkgewogICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVu
dC5zZXRDdXJyZW50VGltZSg2OCk7CiAKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKIH0K
IDwvc2NyaXB0PgogPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9u
cy9hbmltYXRlVHJhbnNmb3JtLWFjY3VtdWxhdGlvbi5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvYW5p
bWF0aW9ucy9hbmltYXRlVHJhbnNmb3JtLWFjY3VtdWxhdGlvbi5zdmcKaW5kZXggNDMwNGFiODFl
MDliMTJiODQ1ZjE0Mjc4NWY2NDRlY2UyZDU5ZDI1Ny4uZGQ0MGVhMDFlMTNhYTRjOTFkZWRmNDlj
NGQwYjdhYmEzMzBiNWM5YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMv
YW5pbWF0ZVRyYW5zZm9ybS1hY2N1bXVsYXRpb24uc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9h
bmltYXRpb25zL2FuaW1hdGVUcmFuc2Zvcm0tYWNjdW11bGF0aW9uLnN2ZwpAQCAtMTcsMTMgKzE3
LDEzIEBACiAgICAgPC91c2U+CiA8L2c+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Citp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAK
IGZ1bmN0aW9uIGxvYWRlZCgpIHsKICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2V0Q3Vy
cmVudFRpbWUoNCk7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiB9CiA8L3NjcmlwdD4K
IDwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZVRy
YW5zZm9ybS1ieS1zY2FsZS0xLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1h
dGVUcmFuc2Zvcm0tYnktc2NhbGUtMS5zdmcKaW5kZXggODlhMjQ1NDViMGYzYWU3ZjM4YTlkNGZj
MzIzYTlhOTgxNWU4NGE1Yi4uZDRiMTA3ZWQ3NDcxN2YxNzJiYjBmMGU5MDVmZDFmODYwZDVkYjAy
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZVRyYW5zZm9y
bS1ieS1zY2FsZS0xLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRl
VHJhbnNmb3JtLWJ5LXNjYWxlLTEuc3ZnCkBAIC02LDE1ICs2LDE1IEBACiA8L2NpcmNsZT4KIAog
PHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCiBmdW5jdGlvbiBsb2FkZWQoKSB7CiAgICAg
ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNldEN1cnJlbnRUaW1lKDEpOwogICAgIGRvY3VtZW50
LmRvY3VtZW50RWxlbWVudC5wYXVzZUFuaW1hdGlvbnMoKTsKIAotICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURv
bmUoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOwogfQogPC9zY3JpcHQ+CiA8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N2Zy9hbmltYXRpb25zL2FuaW1hdGVUcmFuc2Zvcm0tYnktc2NhbGUuc3ZnIGIvTGF5b3V0VGVz
dHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZVRyYW5zZm9ybS1ieS1zY2FsZS5zdmcKaW5kZXggYzY4
OTRmNjNmYzFmNDMwM2EzOGNhNDBiMDZlNzExYjg1OWM4YTAzYy4uNThjOGQxOWJlMzAzNzI2MDUy
NmE4ZGQ5ZDcxNmM0ZmFlYWUxZDNhOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1h
dGlvbnMvYW5pbWF0ZVRyYW5zZm9ybS1ieS1zY2FsZS5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3Zn
L2FuaW1hdGlvbnMvYW5pbWF0ZVRyYW5zZm9ybS1ieS1zY2FsZS5zdmcKQEAgLTgsMTMgKzgsMTMg
QEAKICAgICA8L3BhdGg+CiA8L2c+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CitpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKIGZ1
bmN0aW9uIGxvYWRlZCgpIHsKICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2V0Q3VycmVu
dFRpbWUoMik7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiB9CiA8L3NjcmlwdD4KIDwv
c3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZVRyYW5z
Zm9ybS1mcm9tLWJ5LWZyb20tdG8tY29tcGFyaXNpb24tZXhwZWN0ZWQuc3ZnIGIvTGF5b3V0VGVz
dHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZVRyYW5zZm9ybS1mcm9tLWJ5LWZyb20tdG8tY29tcGFy
aXNpb24tZXhwZWN0ZWQuc3ZnCmluZGV4IDdlMWQ1ZmE4ZjFkNWQ5YWNmODQzYjgzYTE2NTRjNDNm
YzVkNzFhMDQuLmM4ODc2YWEzMTMxZWZmNzQ2NWU4MWVjOWVjODNkMGQxNWY1ZTg0MTggMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGVUcmFuc2Zvcm0tZnJvbS1i
eS1mcm9tLXRvLWNvbXBhcmlzaW9uLWV4cGVjdGVkLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcv
YW5pbWF0aW9ucy9hbmltYXRlVHJhbnNmb3JtLWZyb20tYnktZnJvbS10by1jb21wYXJpc2lvbi1l
eHBlY3RlZC5zdmcKQEAgLTgsMTMgKzgsMTMgQEAKICAgICA8L3BhdGg+CiA8L2c+CiA8c2NyaXB0
PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci53YWl0VW50aWxEb25lKCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CiAKIGZ1bmN0aW9uIGxvYWRlZCgpIHsKICAgICBkb2N1bWVu
dC5kb2N1bWVudEVsZW1lbnQuc2V0Q3VycmVudFRpbWUoMik7Ci0gICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9u
ZSgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7CiB9CiA8L3NjcmlwdD4KIDwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZVRyYW5zZm9ybS1mcm9tLWJ5LWZyb20tdG8tY29tcGFyaXNp
b24uc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZVRyYW5zZm9ybS1mcm9t
LWJ5LWZyb20tdG8tY29tcGFyaXNpb24uc3ZnCmluZGV4IDIyMTY1YmZkYmM3NzcyMzA1NDViNWFh
ZDA0MTFhZDNkZWEyN2UwOTUuLmRhYjE2OWMxM2NlMmNhODI3ZmUyYjU0OThlZmVmMzgyYWU3NDZk
NmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGVUcmFuc2Zv
cm0tZnJvbS1ieS1mcm9tLXRvLWNvbXBhcmlzaW9uLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcv
YW5pbWF0aW9ucy9hbmltYXRlVHJhbnNmb3JtLWZyb20tYnktZnJvbS10by1jb21wYXJpc2lvbi5z
dmcKQEAgLTgsMTMgKzgsMTMgQEAKICAgICA8L3BhdGg+CiA8L2c+CiA8c2NyaXB0PgotaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0
VW50aWxEb25lKCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7CiAKIGZ1bmN0aW9uIGxvYWRlZCgpIHsKICAgICBkb2N1bWVudC5kb2N1bWVu
dEVsZW1lbnQuc2V0Q3VycmVudFRpbWUoMik7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
CiB9CiA8L3NjcmlwdD4KIDwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1h
dGlvbnMvYW5pbWF0ZVRyYW5zZm9ybS1mcm9tLWJ5LXNjYWxlLWFkZGl0aXZlLXN1bS5zdmcgYi9M
YXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlVHJhbnNmb3JtLWZyb20tYnktc2NhbGUt
YWRkaXRpdmUtc3VtLnN2ZwppbmRleCAyMjE2NWJmZGJjNzc3MjMwNTQ1YjVhYWQwNDExYWQzZGVh
MjdlMDk1Li5kYWIxNjljMTNjZTJjYTgyN2ZlMmI1NDk4ZWZlZjM4MmFlNzQ2ZDZiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlVHJhbnNmb3JtLWZyb20tYnkt
c2NhbGUtYWRkaXRpdmUtc3VtLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9h
bmltYXRlVHJhbnNmb3JtLWZyb20tYnktc2NhbGUtYWRkaXRpdmUtc3VtLnN2ZwpAQCAtOCwxMyAr
OCwxMyBAQAogICAgIDwvcGF0aD4KIDwvZz4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsK
K2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
IAogZnVuY3Rpb24gbG9hZGVkKCkgewogICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zZXRD
dXJyZW50VGltZSgyKTsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKIH0KIDwvc2NyaXB0
PgogPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRl
VHJhbnNmb3JtLWZyb20tYnktc2NhbGUuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMv
YW5pbWF0ZVRyYW5zZm9ybS1mcm9tLWJ5LXNjYWxlLnN2ZwppbmRleCAwZTdjNjJkZjNhYTA2YTNi
YzRlMDdlNWQ0OWU0MDkxNTExYTE5YzMyLi5lMDFiMGZlYThjMWZiZGIzZTU4MWYwMjE5ODdjNzEy
Nzk3OTAyZWUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRl
VHJhbnNmb3JtLWZyb20tYnktc2NhbGUuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRp
b25zL2FuaW1hdGVUcmFuc2Zvcm0tZnJvbS1ieS1zY2FsZS5zdmcKQEAgLTgsMTMgKzgsMTMgQEAK
ICAgICA8L3BhdGg+CiA8L2c+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CitpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKIGZ1bmN0
aW9uIGxvYWRlZCgpIHsKICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2V0Q3VycmVudFRp
bWUoMik7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiB9CiA8L3NjcmlwdD4KIDwvc3Zn
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZVRyYW5zZm9y
bS1yb3RhdGUtYXJvdW5kLXBvaW50LnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2Fu
aW1hdGVUcmFuc2Zvcm0tcm90YXRlLWFyb3VuZC1wb2ludC5zdmcKaW5kZXggZTRjZTk1ZjcyZDVl
NTYxYTU0NDExODEwZTY4N2E1NDY0MGEyNTNjYS4uMmM3YjQzYzhmYTkxYjBjMmUyNWEzM2U1M2Fm
ZjQyYjQyODU0ZWIzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5p
bWF0ZVRyYW5zZm9ybS1yb3RhdGUtYXJvdW5kLXBvaW50LnN2ZworKysgYi9MYXlvdXRUZXN0cy9z
dmcvYW5pbWF0aW9ucy9hbmltYXRlVHJhbnNmb3JtLXJvdGF0ZS1hcm91bmQtcG9pbnQuc3ZnCkBA
IC0zMywxMyArMzMsMTMgQEAKIDwvcmVjdD4KIAogPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgp
OworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OwogCiBmdW5jdGlvbiBsb2FkZWQoKSB7CiAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNl
dEN1cnJlbnRUaW1lKDIpOwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0g
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogfQogPC9zY3Jp
cHQ+CiA8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1h
dGVUcmFuc2Zvcm0tc2tld1guc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0
ZVRyYW5zZm9ybS1za2V3WC5zdmcKaW5kZXggMmY1OTA0ODZlYzI5ODRjYzdiOTAwOGIwNWY2NGRh
MWIxNzg4ZWNiNy4uNDNiNWUwM2RkZmI5OTlhZWI1YjYxOTI5OTJmZTJlNjJjYjEyZGY0ZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZVRyYW5zZm9ybS1za2V3
WC5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZVRyYW5zZm9ybS1z
a2V3WC5zdmcKQEAgLTI5LDEzICsyOSwxMyBAQAogPC9yZWN0PgogCiA8c2NyaXB0PgotaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0
VW50aWxEb25lKCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7CiAKIGZ1bmN0aW9uIGxvYWRlZCgpIHsKICAgICBkb2N1bWVudC5kb2N1bWVu
dEVsZW1lbnQuc2V0Q3VycmVudFRpbWUoMik7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
CiB9CiA8L3NjcmlwdD4KIDwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1h
dGlvbnMvYW5pbWF0ZVRyYW5zZm9ybS1za2V3WS5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0
aW9ucy9hbmltYXRlVHJhbnNmb3JtLXNrZXdZLnN2ZwppbmRleCAzZTY0YjVjNDdmMjgzY2E5ZmUw
NTVjYjRkMjZkMjMwMDVmNDZkY2ViLi5jYmY0MzhiMmFhNzc5ZGFjYjdiYzE0OTljOTk0YzRlNDNm
NjQ4ZmJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlVHJh
bnNmb3JtLXNrZXdZLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRl
VHJhbnNmb3JtLXNrZXdZLnN2ZwpAQCAtMjksMTMgKzI5LDEzIEBACiA8L3JlY3Q+CiAKIDxzY3Jp
cHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250
cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAogZnVuY3Rpb24gbG9hZGVkKCkgewogICAgIGRvY3Vt
ZW50LmRvY3VtZW50RWxlbWVudC5zZXRDdXJyZW50VGltZSgyKTsKLSAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlE
b25lKCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKIH0KIDwvc2NyaXB0PgogPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlVHJhbnNmb3JtLXRyYW5zbGF0ZS5zdmcgYi9MYXlvdXRU
ZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlVHJhbnNmb3JtLXRyYW5zbGF0ZS5zdmcKaW5kZXgg
ZTE1NzJjNzE5OTY3MzEyOGJhODg4MGQwY2VkMGFiNDU4ZGIzOGMyNC4uNGYxZGMxMjJlM2M0M2Y3
M2E3MDIxZWQwOTI0Y2I5NWMzNTg3ZjBiMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2Fu
aW1hdGlvbnMvYW5pbWF0ZVRyYW5zZm9ybS10cmFuc2xhdGUuc3ZnCisrKyBiL0xheW91dFRlc3Rz
L3N2Zy9hbmltYXRpb25zL2FuaW1hdGVUcmFuc2Zvcm0tdHJhbnNsYXRlLnN2ZwpAQCAtMjksMTMg
KzI5LDEzIEBACiA8L3JlY3Q+CiAKIDxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKK2lmICh3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAogZnVu
Y3Rpb24gbG9hZGVkKCkgewogICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zZXRDdXJyZW50
VGltZSgyKTsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKIH0KIDwvc2NyaXB0PgogPC9z
dmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9keW5hbWljLW1vZGlm
eS1hdHRyaWJ1dGVuYW1lLWNyYXNoLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2R5
bmFtaWMtbW9kaWZ5LWF0dHJpYnV0ZW5hbWUtY3Jhc2guc3ZnCmluZGV4IGU3YWYxZTUxYzc0MjAy
ZjFiNjg2ZDY0ZGYwYzIxZDk4MWUzNDQyOWQuLmEwZmRjNjBlMjlkN2Y3NzBkMmY4NGI3NDFkODU0
NDBkZGU4Njg4NmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2R5bmFt
aWMtbW9kaWZ5LWF0dHJpYnV0ZW5hbWUtY3Jhc2guc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9h
bmltYXRpb25zL2R5bmFtaWMtbW9kaWZ5LWF0dHJpYnV0ZW5hbWUtY3Jhc2guc3ZnCkBAIC00LDkg
KzQsOSBAQAogICA8dGV4dCBpZD0ibG9nIi8+CiAgIDxzY3JpcHQ+CiAgIDwhW0NEQVRBWwotICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOworICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgfQog
CiAgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CkBAIC0xNiw4ICsxNiw4IEBACiAK
ICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJsb2ciKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiUEFT
UyIpKTsKLSAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgfSwgMTAwKTsKICAg
XV0+CiAgIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMv
a2V5cG9pbnRzLW1pc21hdGNoLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2tleXBv
aW50cy1taXNtYXRjaC5zdmcKaW5kZXggODg4MTMyM2FiYTdiOGE3YThkY2QwYWM4ODM5M2ZlZGY4
MjNmYWMwYi4uYThjOGJkYmQ0MjY2YzdkMmI0YTI4YWU4Zjg3M2JlZDRjNjViNTk4ZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMva2V5cG9pbnRzLW1pc21hdGNoLnN2Zwor
KysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9rZXlwb2ludHMtbWlzbWF0Y2guc3ZnCkBA
IC01LDcgKzUsNyBAQAogPC9nPgogPHRleHQ+RXhjZWxsZW50IC0gZGlkIG5vdCBjcmFzaC4gU2Vl
IGJ1ZyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU2MDY8L3RleHQ+
CiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKIDwvc2NyaXB0PgogPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9sZW5ndGgtbGlzdC1hbmltYXRpb24uc3ZnIGIvTGF5b3V0
VGVzdHMvc3ZnL2FuaW1hdGlvbnMvbGVuZ3RoLWxpc3QtYW5pbWF0aW9uLnN2ZwppbmRleCA3NzA2
MWZkMzE5OTk5ZTU0Mjk5NmUyMTdlNWZmNDgzZWY2ODg1MGNkLi4yZGNmOGU5YzhjNjI2ZjQwMzA2
NzMyMjM2YmIzNTc1YmVmNDU5ZDhhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0
aW9ucy9sZW5ndGgtbGlzdC1hbmltYXRpb24uc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9hbmlt
YXRpb25zL2xlbmd0aC1saXN0LWFuaW1hdGlvbi5zdmcKQEAgLTExMywxMyArMTEzLDEzIEBACiA8
L3RzcGFuPgogPC90ZXh0PgogPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCiBmdW5jdGlv
biBsb2FkZWQoKSB7CiAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNldEN1cnJlbnRUaW1l
KDExKTsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKIH0KIDwvc2NyaXB0PgogPC9zdmc+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9saXN0LXdyYXBwZXItYXNz
ZXJ0aW9uLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2xpc3Qtd3JhcHBlci1hc3Nl
cnRpb24uc3ZnCmluZGV4IDEyYmFhZWVjMThkYjg4NjVjNGQ2ZjlkZDEzODYzM2IxZGJmOTc5MzQu
LmQ1MmRlM2Y3MTBkYzZhZThlMGQ4MjY5NWMzMDc0NGIxZTZiZTczZjQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2xpc3Qtd3JhcHBlci1hc3NlcnRpb24uc3ZnCisrKyBi
L0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2xpc3Qtd3JhcHBlci1hc3NlcnRpb24uc3ZnCkBA
IC00LDE0ICs0LDE0IEBACiAgICAgICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9
InRyYW5zZm9ybSIgdHlwZT0ic2NhbGUiIHZhbHVlcz0iMTswLjI7MS41OzEiIGR1cj0iM3MiLz4K
ICAgICA8L3JlY3Q+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
LSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CitpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKIGZ1bmN0aW9uIGxv
YWRlZCgpIHsKICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2V0Q3VycmVudFRpbWUoMi45
OTkpOwogICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgIH0sIDEwMCk7CiB9CiA8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL21vemlsbGEvYW5pbWF0ZU1vdGlvbi1i
eS0xLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL21vemlsbGEvYW5pbWF0ZU1vdGlv
bi1ieS0xLnN2ZwppbmRleCA0MzA3ZjZhMzkxYzI0NWZkOTMzZjViYjc3OWZlNTY2YWRiZDc1MDRk
Li41ZDI1MTcxMTUyNWEyMmM5MjkxNjkwYWZlNGZhYTRkZGUzZjUwNjMyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9tb3ppbGxhL2FuaW1hdGVNb3Rpb24tYnktMS5zdmcK
KysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvbW96aWxsYS9hbmltYXRlTW90aW9uLWJ5
LTEuc3ZnCkBAIC0zMCwxMyArMzAsMTMgQEAKICAgPC9yZWN0PgogCiA8c2NyaXB0PgotaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0
VW50aWxEb25lKCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7CiAKIGZ1bmN0aW9uIGxvYWRlZCgpIHsKICAgICBkb2N1bWVudC5kb2N1bWVu
dEVsZW1lbnQuc2V0Q3VycmVudFRpbWUoMik7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
CiB9CiA8L3NjcmlwdD4KIDwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1h
dGlvbnMvbW96aWxsYS9hbmltYXRlTW90aW9uLWZyb20tdG8tMS1leHBlY3RlZC5zdmcgYi9MYXlv
dXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9tb3ppbGxhL2FuaW1hdGVNb3Rpb24tZnJvbS10by0xLWV4
cGVjdGVkLnN2ZwppbmRleCAxMDQ2OGQ4NGQxOGVlZDMyNDUwY2ZjNGU3MTA4YTA5OTZhMWRiNTBm
Li5kNGFjODIxMGQ0NTU0MmJkMjcyNzBhM2IyMThhNmQwNGFiYjViZDVmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9tb3ppbGxhL2FuaW1hdGVNb3Rpb24tZnJvbS10by0x
LWV4cGVjdGVkLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9tb3ppbGxhL2Fu
aW1hdGVNb3Rpb24tZnJvbS10by0xLWV4cGVjdGVkLnN2ZwpAQCAtMzAsMTIgKzMwLDEyIEBACiAg
IDwvcmVjdD4KIAogPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0g
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQorICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCiBmdW5jdGlvbiBsb2Fk
ZWQoKSB7CiAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNldEN1cnJlbnRUaW1lKDIpOwot
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKIH0KIDwvc2NyaXB0PgogPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdmcvYW5pbWF0aW9ucy9tb3ppbGxhL2FuaW1hdGVNb3Rpb24tZnJvbS10by0xLnN2ZyBiL0xh
eW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL21vemlsbGEvYW5pbWF0ZU1vdGlvbi1mcm9tLXRvLTEu
c3ZnCmluZGV4IDIwYWU3YTBiMGNkNTMzNWMzZGYyZjU1NTJmMmRjYTFjZTc2NWFmYzguLjZjNGQy
ZGRmZWNhYjMwYTMzNTg2MTQyMDc1ZmQ2YzVjMGMzZjdjNzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3N2Zy9hbmltYXRpb25zL21vemlsbGEvYW5pbWF0ZU1vdGlvbi1mcm9tLXRvLTEuc3ZnCisr
KyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL21vemlsbGEvYW5pbWF0ZU1vdGlvbi1mcm9t
LXRvLTEuc3ZnCkBAIC0zMywxNSArMzMsMTUgQEAKICAgPC9yZWN0PgogCiA8c2NyaXB0PgotaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53
YWl0VW50aWxEb25lKCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CiAKIGZ1bmN0aW9uIGxvYWRlZCgpIHsKICAgICBkb2N1bWVudC5kb2N1
bWVudEVsZW1lbnQuc2V0Q3VycmVudFRpbWUoMSk7CiAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVt
ZW50LnBhdXNlQW5pbWF0aW9ucygpOwogCi0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiB9
CiA8L3NjcmlwdD4KIDwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlv
bnMvbW96aWxsYS9hbmltYXRlTW90aW9uLW1wYXRoLXBhdGhMZW5ndGgtMS5zdmcgYi9MYXlvdXRU
ZXN0cy9zdmcvYW5pbWF0aW9ucy9tb3ppbGxhL2FuaW1hdGVNb3Rpb24tbXBhdGgtcGF0aExlbmd0
aC0xLnN2ZwppbmRleCAwNWY5NzdlNDRkMjEwOWU4YjRmN2U4MzY4YjEwN2JmNzhmZmQwMTQ2Li4z
YThiZmMwOGJjOTVlYWNkNjM1NjY4Y2YxODEwZTUyNDYxOGExN2IyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9tb3ppbGxhL2FuaW1hdGVNb3Rpb24tbXBhdGgtcGF0aExl
bmd0aC0xLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9tb3ppbGxhL2FuaW1h
dGVNb3Rpb24tbXBhdGgtcGF0aExlbmd0aC0xLnN2ZwpAQCAtMjEsMTMgKzIxLDEzIEBACiAgIDwv
cmVjdD4KIAogPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCiBmdW5jdGlvbiBsb2FkZWQo
KSB7CiAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNldEN1cnJlbnRUaW1lKDAuNSk7Ci0g
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiB9CiA8L3NjcmlwdD4KIDwvc3ZnPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvbW96aWxsYS9hbmltYXRlTW90aW9uLW1w
YXRoLXRhcmdldENoYW5nZS0xLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL21vemls
bGEvYW5pbWF0ZU1vdGlvbi1tcGF0aC10YXJnZXRDaGFuZ2UtMS5zdmcKaW5kZXggZDIxNWQ4MWYy
ZWRlNjRhYmQ3ZjE5ZDQ5OTU3MzNkMDAzZDgwYWUxZC4uYjgwODY5YWI0MDQ3ZWU5OWRmOTg2ZGVj
OGY3NmQ2YzRjMTI2YzcwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMv
bW96aWxsYS9hbmltYXRlTW90aW9uLW1wYXRoLXRhcmdldENoYW5nZS0xLnN2ZworKysgYi9MYXlv
dXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9tb3ppbGxhL2FuaW1hdGVNb3Rpb24tbXBhdGgtdGFyZ2V0
Q2hhbmdlLTEuc3ZnCkBAIC0zNCw4ICszNCw4IEBACiAgICAgY29uc3QgU1ZHTlMgICA9ICJodHRw
Oi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI7CiAgICAgY29uc3QgWExJTktOUyA9ICJodHRwOi8vd3d3
LnczLm9yZy8xOTk5L3hsaW5rIjsKIAotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OwogCiAgICAgZnVuY3Rpb24gaW5zZXJ0UGF0aEVsZW0oYVBhdGhJZCwgYVBhdGhTcGVjKSB7CiAg
ICAgICB2YXIgbmV3UGF0aCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhTVkdOUywgInBhdGgi
KTsKQEAgLTczLDggKzczLDggQEAKICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAg
ICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zZXRDdXJyZW50VGltZSgxKTsKICAgICAgICAg
ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnBhdXNlQW5pbWF0aW9ucygpOwotICAgICAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgfSwgMCk7CiAgICAgfQogICA8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL21vemlsbGEvYW5p
bWF0ZU1vdGlvbi10by1vdmVycmlkZGVuLTEuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlv
bnMvbW96aWxsYS9hbmltYXRlTW90aW9uLXRvLW92ZXJyaWRkZW4tMS5zdmcKaW5kZXggYTdjYmRl
Nzc0OGZkZGEzY2RkMTJiMzUxZWMzYTUyZjBmMzA0NTA3YS4uYTJiM2Q1ODhiNGEyMmI5MzI0NTQ5
MWFkNDEyZDYzMTMzOGIwMTU5MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlv
bnMvbW96aWxsYS9hbmltYXRlTW90aW9uLXRvLW92ZXJyaWRkZW4tMS5zdmcKKysrIGIvTGF5b3V0
VGVzdHMvc3ZnL2FuaW1hdGlvbnMvbW96aWxsYS9hbmltYXRlTW90aW9uLXRvLW92ZXJyaWRkZW4t
MS5zdmcKQEAgLTUwLDE1ICs1MCwxNSBAQAogICA8L2c+CiAKIDxzY3JpcHQ+Ci1pZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRp
bERvbmUoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKIAogZnVuY3Rpb24gbG9hZGVkKCkgewogICAgIGRvY3VtZW50LmRvY3VtZW50RWxl
bWVudC5zZXRDdXJyZW50VGltZSgxKTsKICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQucGF1
c2VBbmltYXRpb25zKCk7CiAKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQot
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKIH0KIDwvc2Ny
aXB0PgogPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9tdWx0
aXBsZS1hbmltYXRlVHJhbnNmb3JtLWFkZGl0aXZlLXN1bS5zdmcgYi9MYXlvdXRUZXN0cy9zdmcv
YW5pbWF0aW9ucy9tdWx0aXBsZS1hbmltYXRlVHJhbnNmb3JtLWFkZGl0aXZlLXN1bS5zdmcKaW5k
ZXggNGJiYzFjN2YwZDIyYTU4ODZjNWExZTY0Mzk1ZTRmZTk2NDgyMjQ3My4uYTM0ZGRhNmE1Nzg0
Nzc3NTUzNTkzMjFjY2Y0ZWZmN2ViNjFkNjhhNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Zn
L2FuaW1hdGlvbnMvbXVsdGlwbGUtYW5pbWF0ZVRyYW5zZm9ybS1hZGRpdGl2ZS1zdW0uc3ZnCisr
KyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL211bHRpcGxlLWFuaW1hdGVUcmFuc2Zvcm0t
YWRkaXRpdmUtc3VtLnN2ZwpAQCAtOCwxMyArOCwxMyBAQAogPC9yZWN0PgogPC9nPgogPHNjcmlw
dD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIud2FpdFVudGlsRG9uZSgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOwogCiBmdW5jdGlvbiBsb2FkZWQoKSB7CiAgICAgZG9jdW1l
bnQuZG9jdW1lbnRFbGVtZW50LnNldEN1cnJlbnRUaW1lKDYpOwotICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURv
bmUoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOwogfQogPC9zY3JpcHQ+CiA8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N2Zy9hbmltYXRpb25zL211bHRpcGxlLWJlZ2luLWFuaW1hdGlvbi1kaXNjcmV0ZS5zdmcgYi9M
YXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9tdWx0aXBsZS1iZWdpbi1hbmltYXRpb24tZGlzY3Jl
dGUuc3ZnCmluZGV4IGVlODlkNWUyMTZmMzIyMzQ3YThkNTlkNDNkMzZhODhiMjQ4NjMzM2UuLjZl
OTE1Njc4YjZiZTlmMTFmMDg2M2FlNjA5ODI2NzQyNWRhY2RlMjkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N2Zy9hbmltYXRpb25zL211bHRpcGxlLWJlZ2luLWFuaW1hdGlvbi1kaXNjcmV0ZS5z
dmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvbXVsdGlwbGUtYmVnaW4tYW5pbWF0
aW9uLWRpc2NyZXRlLnN2ZwpAQCAtNSwxNSArNSwxNSBAQAogICAgIDxhbmltYXRlIGF0dHJpYnV0
ZU5hbWU9IndpZHRoIiBhdHRyaWJ1dGVUeXBlPSJYTUwiIGNhbGNNb2RlPSJkaXNjcmV0ZSIgYmVn
aW49IjBzOyAzcyIgZnJvbT0iMTAwIiB0bz0iMCIgZHVyPSI4cyIvPgogPC9yZWN0PgogPHNjcmlw
dD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIud2FpdFVudGlsRG9uZSgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOwogCiBmdW5jdGlvbiBsb2FkZWQoKSB7CiAgICAgZG9jdW1l
bnQuZG9jdW1lbnRFbGVtZW50LnNldEN1cnJlbnRUaW1lKDYuNSk7CiAgICAgZG9jdW1lbnQuZG9j
dW1lbnRFbGVtZW50LnBhdXNlQW5pbWF0aW9ucygpOwogCi0gICAgaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgp
OworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7CiB9CiA8L3NjcmlwdD4KIDwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Zn
L2FuaW1hdGlvbnMvbXVsdGlwbGUtYmVnaW4tYW5pbWF0aW9uLnN2ZyBiL0xheW91dFRlc3RzL3N2
Zy9hbmltYXRpb25zL211bHRpcGxlLWJlZ2luLWFuaW1hdGlvbi5zdmcKaW5kZXggZGY1OWY0YWE3
N2MyMjdhYWI1M2EzMjhiNTgwMjJiYjMwYWYzZGNhYy4uMGI2YTFjODRmNmRiNzRmNjk1OTUwMzEy
YmU1ODNiMmQxY2UxMDhlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMv
bXVsdGlwbGUtYmVnaW4tYW5pbWF0aW9uLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0
aW9ucy9tdWx0aXBsZS1iZWdpbi1hbmltYXRpb24uc3ZnCkBAIC01LDE1ICs1LDE1IEBACiAgICAg
PGFuaW1hdGUgYXR0cmlidXRlTmFtZT0id2lkdGgiIGF0dHJpYnV0ZVR5cGU9IlhNTCIgYmVnaW49
IjBzOyAycyIgZnJvbT0iMCIgdG89IjIwMCIgZHVyPSI0cyIgZmlsbD0iZnJlZXplIi8+CiA8L3Jl
Y3Q+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKIGZ1bmN0aW9uIGxvYWRlZCgpIHsK
ICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2V0Q3VycmVudFRpbWUoNCk7CiAgICAgZG9j
dW1lbnQuZG9jdW1lbnRFbGVtZW50LnBhdXNlQW5pbWF0aW9ucygpOwogCi0gICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90
aWZ5RG9uZSgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7CiB9CiA8L3NjcmlwdD4KIDwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3ZnL2FuaW1hdGlvbnMvcGF0aC1hbmltYXRpb24uc3ZnIGIvTGF5b3V0VGVzdHMvc3Zn
L2FuaW1hdGlvbnMvcGF0aC1hbmltYXRpb24uc3ZnCmluZGV4IDU3MjRmY2FjNjI3NmI1MTZhYTE1
ZmY0MWIzYTQ4MDJmMzA3ODIwN2QuLjUyZmIzMWE3NWJhNGEzYmZmNDc0MmVhYjNlYzljNWU1MWMy
ODdjMDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3BhdGgtYW5pbWF0
aW9uLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9wYXRoLWFuaW1hdGlvbi5z
dmcKQEAgLTMxMywxMyArMzEzLDEzIEBACiAgIDwvcGF0aD4KIAogPHNjcmlwdD4KLWlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVu
dGlsRG9uZSgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOwogCiBmdW5jdGlvbiBsb2FkZWQoKSB7CiAgICAgZG9jdW1lbnQuZG9jdW1lbnRF
bGVtZW50LnNldEN1cnJlbnRUaW1lKDQpOwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwog
fQogPC9zY3JpcHQ+CiA8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRp
b25zL3JlcGVhdER1ci16ZXJvLnhodG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvcmVw
ZWF0RHVyLXplcm8ueGh0bWwKaW5kZXggOTk1MjUwMzFmYTAwYTVjYzA1MTNkOThjZDEwYzMxNTM0
MGE4YjE0Ni4uNDg4OGRmZmY3ZDY3NmVjMGE1YzQxNzYyMmQzMWQ0OGMyMjY2ZWU0NyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvcmVwZWF0RHVyLXplcm8ueGh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvcmVwZWF0RHVyLXplcm8ueGh0bWwKQEAgLTIs
OCArMiw4IEBACiBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8x
LjEvRFREL3N2ZzExLmR0ZCI+CiA8c3ZnIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZlcnNp
b249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KIDxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0Ij4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0g
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogPC9zY3JpcHQ+CiA8c2V0IHJlcGVh
dER1cj0iMCIvPgogPHRleHQgeD0iNSIgeT0iMjAiIGZvbnQtZmFtaWx5PSJWZXJkYW5hIiBmb250
LXNpemU9IjE1Ij4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3JlcGVh
dGluZy1wYXRoLWFuaW1hdGlvbi5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9yZXBl
YXRpbmctcGF0aC1hbmltYXRpb24uc3ZnCmluZGV4IGZmOTQ5Y2E4YjRhMTg3ZDIwMDMzNmU1MDA2
ZjQxNzQ4NDlmZDA2MGQuLjdhOGVkNTM4OThhNjE5YzkzNDMwMzlkNDhjOTA3NmU1ZDAxMzcxYTYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3JlcGVhdGluZy1wYXRoLWFu
aW1hdGlvbi5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvcmVwZWF0aW5nLXBh
dGgtYW5pbWF0aW9uLnN2ZwpAQCAtODIsMTMgKzgyLDEzIEBACiA8L2c+CiAKIDxzY3JpcHQ+Ci1p
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVy
LndhaXRVbnRpbERvbmUoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKIAogZnVuY3Rpb24gbG9hZGVkKCkgewogICAgIGRvY3VtZW50LmRv
Y3VtZW50RWxlbWVudC5zZXRDdXJyZW50VGltZSg1KTsKLSAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7
CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKIH0KIDwvc2NyaXB0PgogPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcv
YW5pbWF0aW9ucy9yZXNvdXJjZXMvU1ZHQW5pbWF0aW9uVGVzdENhc2UuanMgYi9MYXlvdXRUZXN0
cy9zdmcvYW5pbWF0aW9ucy9yZXNvdXJjZXMvU1ZHQW5pbWF0aW9uVGVzdENhc2UuanMKaW5kZXgg
ODQyZWUyM2RmNGE2NTNmM2Q0NTRkYWEzMTQ5OTczNjZmMjYxYTk2Ni4uMjYzNGM1YzFkMWZhNzM4
NjNlMTRiMWViMDkxNDE4MmJjNmJkMzlhYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2Fu
aW1hdGlvbnMvcmVzb3VyY2VzL1NWR0FuaW1hdGlvblRlc3RDYXNlLmpzCisrKyBiL0xheW91dFRl
c3RzL3N2Zy9hbmltYXRpb25zL3Jlc291cmNlcy9TVkdBbmltYXRpb25UZXN0Q2FzZS5qcwpAQCAt
MTIwLDggKzEyMCw4IEBAIGZ1bmN0aW9uIHJ1bkFuaW1hdGlvblRlc3QoZXhwZWN0ZWQpIHsKICAg
ICBpZiAoY3VycmVudFRlc3QgPiAwKQogICAgICAgICB0aHJvdygiTm90IGFsbG93ZWQgdG8gY2Fs
bCBydW5BbmltYXRpb25UZXN0KCkgdHdpY2UiKTsKIAotICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUo
KTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOwogCiAgICAgZXhwZWN0ZWRSZXN1bHRzID0gZXhwZWN0ZWQ7CiAgICAgdGVzdENv
dW50ID0gZXhwZWN0ZWRSZXN1bHRzLmxlbmd0aDsKQEAgLTEzNiw3ICsxMzYsNyBAQCBmdW5jdGlv
biBydW5BbmltYXRpb25UZXN0KGV4cGVjdGVkKSB7CiAgICAgLy8gUGF1c2UgYW5pbWF0aW9ucywg
d2UnbGwgZHJpdmUgdGhlbSBtYW51YWxseS4KICAgICByb290U1ZHRWxlbWVudC5wYXVzZUFuaW1h
dGlvbnMoKTsKIAotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICBzZXRUaW1lb3V0KHNhbXBsZUFuaW1hdGlvbiwg
MCk7CiAgICAgZWxzZQogICAgICAgICBzZXRUaW1lb3V0KHNhbXBsZUFuaW1hdGlvbiwgNTApOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc21pbC1lbGVtZW50LW5vdC1y
ZW1vdmVkLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zbWlsLWVsZW1l
bnQtbm90LXJlbW92ZWQtY3Jhc2guaHRtbAppbmRleCA1NWVlMGUwZjU2YzQ2ZmJhZDQxMjQ1NzBl
OTczNmU1NmE0MjQ3OGYyLi4yMzc2YjZmNmJlOGRmMzAyZWUyNTUzOTVjN2IzYmViZmRlNmFhNzZl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zbWlsLWVsZW1lbnQtbm90
LXJlbW92ZWQtY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zbWls
LWVsZW1lbnQtbm90LXJlbW92ZWQtY3Jhc2guaHRtbApAQCAtNyw5ICs3LDkgQEAKICAgICAgICAg
ICAgIDxzZXQgaWQ9InNldDEiIHhsaW5rOmhyZWY9IiN0ZXN0Ij48L3NldD4NCiAgICAgICAgIDwv
c3ZnPg0KICAgICAgICAgPHNjcmlwdD4NCi0gICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7DQotICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsNCi0gICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVu
dGlsRG9uZSgpOw0KKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgew0KKyAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsNCisgICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7DQogICAgICAgICAgICAgICAgIGdjID0gZnVuY3Rpb24o
KSB7IHdpbmRvdy5HQ0NvbnRyb2xsZXIuY29sbGVjdCgpIH07DQogICAgICAgICAgICAgfSBlbHNl
IGlmICghd2luZG93LmdjKQ0KICAgICAgICAgICAgICAgICBnYyA9IGZ1bmN0aW9uKCl7fTsNCkBA
IC0yNSw4ICsyNSw4IEBACiAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24o
KXtsb2NhdGlvbi5yZWxvYWQoKX0sIDApOw0KICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAg
ICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAiUEFTUyI7DQotICAg
ICAgICAgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQ0KLSAgICAg
ICAgICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsNCisg
ICAgICAgICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikNCisgICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsNCiAgICAgICAgICAgICAgICAgfQ0K
ICAgICAgICAgICAgIH0NCiAgICAgICAgIDwvc2NyaXB0Pg0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N2Zy9hbmltYXRpb25zL3NtaWwtZWxlbWVudC10YXJnZXQtY3Jhc2gtbWFpbi5odG1sIGIv
TGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc21pbC1lbGVtZW50LXRhcmdldC1jcmFzaC1tYWlu
Lmh0bWwKaW5kZXggNzY2MDMwOWZiODQwNDkyMzk4ZTMzNDU2MzhkZGFlNTFiZjg3MjM3NS4uYmVm
N2E0ZmZjZDY5NmM0Yjg5MjFhYWMyNWE4OWRmYWI4ODBmOGQ5MyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc21pbC1lbGVtZW50LXRhcmdldC1jcmFzaC1tYWluLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc21pbC1lbGVtZW50LXRhcmdldC1jcmFz
aC1tYWluLmh0bWwKQEAgLTEsOSArMSw5IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPHNj
cmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVu
dGlsRG9uZSgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiB9CiAKIGZ1bmN0aW9u
IGNyYXNoKCkKQEAgLTE5LDggKzE5LDggQEAgZnVuY3Rpb24gY3Jhc2goKQogICAgIGRvY3VtZW50
LndyaXRlKCdQQVNTJyk7CiAgICAgZG9jdW1lbnQuY2xvc2UoKTsKIAotICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlm
eURvbmUoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOwogfQogCiBmdW5jdGlvbiBydW5UZXN0KCkKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NtaWwtbGVhay1keW5hbWljYWxseS1hZGRlZC1lbGVtZW50
LWluc3RhbmNlcy5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zbWlsLWxlYWstZHlu
YW1pY2FsbHktYWRkZWQtZWxlbWVudC1pbnN0YW5jZXMuc3ZnCmluZGV4IGFkZDhmZjMzOTYyOGEy
MjQ2NDcyODA0MGMxNDYyNjZmZTA4ZWY4ZGIuLmI1MzU4ZjUzZmI0ODVmMzZkY2I2ODFlNTJkYmQw
Y2I3YTNmMzA3NDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NtaWwt
bGVhay1keW5hbWljYWxseS1hZGRlZC1lbGVtZW50LWluc3RhbmNlcy5zdmcKKysrIGIvTGF5b3V0
VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc21pbC1sZWFrLWR5bmFtaWNhbGx5LWFkZGVkLWVsZW1lbnQt
aW5zdGFuY2VzLnN2ZwpAQCAtNDQsNyArNDQsNyBAQCBmdW5jdGlvbiBjbGVhbnVwKCkgewogICAg
IGVsc2UKICAgICAgICAgbG9nKCJGQUlMOiAiICsgbGl2ZURlbHRhICsgIiBleHRyYSBsaXZlIG5v
ZGUocykiKTsKIAotICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKIH0KIAogZnVuY3Rpb24gYWRkTW9yZUluc3RhbmNlcygp
IHsKQEAgLTY2LDExICs2NiwxMSBAQCBmdW5jdGlvbiBzdGFydFRlc3QoKSB7CiB9CiAKIGZ1bmN0
aW9uIGxvYWQoKSB7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlciAmJiB3aW5k
b3cuR0NDb250cm9sbGVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53
YWl0VW50aWxEb25lKCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5HQ0Nv
bnRyb2xsZXIgJiYgd2luZG93LmludGVybmFscykgeworICAgICAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgfSBlbHNl
IHsKLSAgICAgICAgbG9nKCJUaGlzIHRlc3Qgb25seSB3b3JrcyB3aGVuIHJ1biB3aXRoIHRoZSBs
YXlvdXRUZXN0Q29udHJvbGxlciwgR0NDb250cm9sbGVyLCBhbmQgaW50ZXJuYWxzIGF2YWlsYWJs
ZS4iKTsKKyAgICAgICAgbG9nKCJUaGlzIHRlc3Qgb25seSB3b3JrcyB3aGVuIHJ1biB3aXRoIHRo
ZSB0ZXN0UnVubmVyLCBHQ0NvbnRyb2xsZXIsIGFuZCBpbnRlcm5hbHMgYXZhaWxhYmxlLiIpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5p
bWF0aW9ucy9zbWlsLWxlYWstZWxlbWVudC1pbnN0YW5jZXMtbm9CYXNlVmFsUmVmLnN2ZyBiL0xh
eW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NtaWwtbGVhay1lbGVtZW50LWluc3RhbmNlcy1ub0Jh
c2VWYWxSZWYuc3ZnCmluZGV4IGQ3OGEwNmI1OWUwZGUzNzZlZjQyODM0YmE3NzI5OTlhMDVmZTRk
MGEuLmViYjg2YWMzZWYwZjc3MWIxNmMwNTBmZDIzODY2OGRkYWEyMzI5MTcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NtaWwtbGVhay1lbGVtZW50LWluc3RhbmNlcy1u
b0Jhc2VWYWxSZWYuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NtaWwtbGVh
ay1lbGVtZW50LWluc3RhbmNlcy1ub0Jhc2VWYWxSZWYuc3ZnCkBAIC00NCw3ICs0NCw3IEBAIGZ1
bmN0aW9uIGNsZWFudXAoKSB7CiAgICAgZWxzZQogICAgICAgICBsb2coIkZBSUw6ICIgKyBsaXZl
RGVsdGEgKyAiIGV4dHJhIGxpdmUgbm9kZShzKSIpOwogCi0gICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIubm90aWZ5RG9uZSgpOworICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogfQogCiBmdW5j
dGlvbiBzdGFydFRlc3QoKSB7CkBAIC01OSwxMSArNTksMTEgQEAgZnVuY3Rpb24gc3RhcnRUZXN0
KCkgewogfQogCiBmdW5jdGlvbiBsb2FkKCkgewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIgJiYgd2luZG93LkdDQ29udHJvbGxlciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0g
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
ciAmJiB3aW5kb3cuR0NDb250cm9sbGVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIGxvZygiVGhpcyB0ZXN0IG9ubHkgd29ya3Mgd2hl
biBydW4gd2l0aCB0aGUgbGF5b3V0VGVzdENvbnRyb2xsZXIsIEdDQ29udHJvbGxlciwgYW5kIGlu
dGVybmFscyBhdmFpbGFibGUuIik7CisgICAgICAgIGxvZygiVGhpcyB0ZXN0IG9ubHkgd29ya3Mg
d2hlbiBydW4gd2l0aCB0aGUgdGVzdFJ1bm5lciwgR0NDb250cm9sbGVyLCBhbmQgaW50ZXJuYWxz
IGF2YWlsYWJsZS4iKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc21pbC1sZWFrLWVsZW1lbnQtaW5zdGFuY2VzLnN2ZyBi
L0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NtaWwtbGVhay1lbGVtZW50LWluc3RhbmNlcy5z
dmcKaW5kZXggNjk2MThhYWJkYzkwNGYzYjYxOTM2NDdiMDU0MmFmMDNjYTU0NThhNy4uYWJmMDk5
MzMwZWM0MmM4YzU0MDBhMmVhMTM5YzNiOGIzN2RmYTcwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3ZnL2FuaW1hdGlvbnMvc21pbC1sZWFrLWVsZW1lbnQtaW5zdGFuY2VzLnN2ZworKysgYi9M
YXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zbWlsLWxlYWstZWxlbWVudC1pbnN0YW5jZXMuc3Zn
CkBAIC00NCw3ICs0NCw3IEBAIGZ1bmN0aW9uIGNsZWFudXAoKSB7CiAgICAgZWxzZQogICAgICAg
ICBsb2coIkZBSUw6ICIgKyBsaXZlRGVsdGEgKyAiIGV4dHJhIGxpdmUgbm9kZShzKSIpOwogCi0g
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOwogfQogCiBmdW5jdGlvbiBzdGFydFRlc3QoKSB7CkBAIC02MiwxMSArNjIsMTEg
QEAgZnVuY3Rpb24gc3RhcnRUZXN0KCkgewogfQogCiBmdW5jdGlvbiBsb2FkKCkgewotICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIgJiYgd2luZG93LkdDQ29udHJvbGxlciAmJiB3
aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuR0NDb250cm9sbGVyICYmIHdpbmRvdy5p
bnRlcm5hbHMpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIGxvZygiVGhp
cyB0ZXN0IG9ubHkgd29ya3Mgd2hlbiBydW4gd2l0aCB0aGUgbGF5b3V0VGVzdENvbnRyb2xsZXIs
IEdDQ29udHJvbGxlciwgYW5kIGludGVybmFscyBhdmFpbGFibGUuIik7CisgICAgICAgIGxvZygi
VGhpcyB0ZXN0IG9ubHkgd29ya3Mgd2hlbiBydW4gd2l0aCB0aGUgdGVzdFJ1bm5lciwgR0NDb250
cm9sbGVyLCBhbmQgaW50ZXJuYWxzIGF2YWlsYWJsZS4iKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc21pbC1sZWFrLWVs
ZW1lbnRzLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NtaWwtbGVhay1lbGVtZW50
cy5zdmcKaW5kZXggNDM2NmQ2MzVkODNjZWQ4N2Q3N2RhN2FkYjNiNDE4NDRiYzdkZGY1ZC4uMWMx
NDE1ZGU3YTJjZmRjZWY2OGEyMDk1OTIxNGU2ZDJjOWE2YTM1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc21pbC1sZWFrLWVsZW1lbnRzLnN2ZworKysgYi9MYXlvdXRU
ZXN0cy9zdmcvYW5pbWF0aW9ucy9zbWlsLWxlYWstZWxlbWVudHMuc3ZnCkBAIC00Miw3ICs0Miw3
IEBAIGZ1bmN0aW9uIGNsZWFudXAoKSB7CiAgICAgZWxzZQogICAgICAgICBsb2coIkZBSUw6ICIg
KyBsaXZlRGVsdGEgKyAiIGV4dHJhIGxpdmUgbm9kZShzKSIpOwogCi0gICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogfQog
CiBmdW5jdGlvbiBzdGFydFRlc3QoKSB7CkBAIC01NywxMSArNTcsMTEgQEAgZnVuY3Rpb24gc3Rh
cnRUZXN0KCkgewogfQogCiBmdW5jdGlvbiBsb2FkKCkgewotICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIgJiYgd2luZG93LkdDQ29udHJvbGxlciAmJiB3aW5kb3cuaW50ZXJuYWxz
KSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lciAmJiB3aW5kb3cuR0NDb250cm9sbGVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAg
ICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIGxvZygiVGhpcyB0ZXN0IG9ubHkgd29y
a3Mgd2hlbiBydW4gd2l0aCB0aGUgbGF5b3V0VGVzdENvbnRyb2xsZXIsIEdDQ29udHJvbGxlciwg
YW5kIGludGVybmFscyBhdmFpbGFibGUuIik7CisgICAgICAgIGxvZygiVGhpcyB0ZXN0IG9ubHkg
d29ya3Mgd2hlbiBydW4gd2l0aCB0aGUgdGVzdFJ1bm5lciwgR0NDb250cm9sbGVyLCBhbmQgaW50
ZXJuYWxzIGF2YWlsYWJsZS4iKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnLXR3by1hbmltYXRlLWVsZW1lbnRzLWNy
YXNoLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2Zy10d28tYW5pbWF0ZS1lbGVt
ZW50cy1jcmFzaC5zdmcKaW5kZXggYjc1Y2NjMDllMWIyYmNjMmNhZWQxMzAwYjNkNGY1YzQzOTkw
MGUzYi4uMTJkODQ4MGIwMWIwM2IzODcwODNiNDdmNTQwYjAxZGFjMjM2OWU0ZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnLXR3by1hbmltYXRlLWVsZW1lbnRzLWNy
YXNoLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmctdHdvLWFuaW1hdGUt
ZWxlbWVudHMtY3Jhc2guc3ZnCkBAIC0xNywxMyArMTcsMTMgQEAKIDxzY3JpcHQ+CiA8IVtDREFU
QVsKIGZ1bmN0aW9uIGxvYWQoKSB7Ci0gIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
IHsKLSAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7CisgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAg
fQogCiAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25l
KCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7CiAgIH0sIDUwMCk7CiB9CiBdXT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9h
bmltYXRpb25zL3N2Z2xlbmd0aC1hbmltYXRpb24tcmV0YXJnZXQtY3Jhc2guaHRtbCBiL0xheW91
dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2Z2xlbmd0aC1hbmltYXRpb24tcmV0YXJnZXQtY3Jhc2gu
aHRtbAppbmRleCBjNjEzZTRjMTBlZGM4NGIzZDlmM2UzY2ExM2EwODI3ZmI5NTZlZjQ1Li41ZTY2
ZmRlYzJhZTM3ZDQzMTJlZDczOWJhOTk0NGRlZmZhYjM1NDYwIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdsZW5ndGgtYW5pbWF0aW9uLXJldGFyZ2V0LWNyYXNoLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnbGVuZ3RoLWFuaW1hdGlvbi1y
ZXRhcmdldC1jcmFzaC5odG1sCkBAIC01LDkgKzUsOSBAQAogICAgIDxhbmltYXRlIHhsaW5rOmhy
ZWY9IiN0ZXh0IiBpZD0iYSIgYXR0cmlidXRlTmFtZT0ieSIgYmVnaW49IjAuMCIgZnJvbT0iMCIg
dG89IjEiIGR1cj0iMXMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIj4NCiA8L3N2Zz4NCiA8c2Ny
aXB0Pg0KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsNCi0gICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpDQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKQ0KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgew0KKyAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKQ0KKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKQ0KIH0NCiANCiBzZXRU
aW1lb3V0KGZ1bmN0aW9uKCkgew0KQEAgLTE4LDggKzE4LDggQEAgc2V0VGltZW91dChmdW5jdGlv
bigpIHsKICAgICBzdmcuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2EnKS5j
bG9uZU5vZGUoKSkNCiAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsNCiAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJUZXh0ID0gIlRFU1QgUEFTU0VEIg0KLSAg
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpDQotICAgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLm5vdGlmeURvbmUoKQ0KKyAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikN
CisgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCkNCiAgICAgfSwgMCkNCiB9LCAwKQ0K
IDwvc2NyaXB0Pg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2Z2xl
bmd0aC1lbGVtZW50LXJlbW92ZWQtY3Jhc2guc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlv
bnMvc3ZnbGVuZ3RoLWVsZW1lbnQtcmVtb3ZlZC1jcmFzaC5zdmcKaW5kZXggZDhkZjVhYjk3ZjEy
YjdkZjcwNjQ5ZGI4MDNmMjI2NGY1MWE5Y2ZhMy4uNTExY2Q2M2YyYTMwOTVjOTIzZWIwMmMyNzZk
OGYyZjAzN2QxMzA0MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3Zn
bGVuZ3RoLWVsZW1lbnQtcmVtb3ZlZC1jcmFzaC5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2Fu
aW1hdGlvbnMvc3ZnbGVuZ3RoLWVsZW1lbnQtcmVtb3ZlZC1jcmFzaC5zdmcKQEAgLTEwLDEwICsx
MCwxMCBAQCBmdW5jdGlvbiBsb2cobWVzc2FnZSkgewogfQogCiBmdW5jdGlvbiBsb2FkKCkgewot
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIgJiYgd2luZG93LkdDQ29udHJvbGxl
ciAmJiB3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5HQ0NvbnRyb2xs
ZXIgJiYgd2luZG93LmludGVybmFscykKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
CiAgICAgZWxzZSB7Ci0gICAgICAgIGxvZygiVGhpcyB0ZXN0IG9ubHkgd29ya3Mgd2hlbiBydW4g
d2l0aCB0aGUgbGF5b3V0VGVzdENvbnRyb2xsZXIsIEdDQ29udHJvbGxlciwgYW5kIGludGVybmFs
cyBhdmFpbGFibGUuIik7CisgICAgICAgIGxvZygiVGhpcyB0ZXN0IG9ubHkgd29ya3Mgd2hlbiBy
dW4gd2l0aCB0aGUgdGVzdFJ1bm5lciwgR0NDb250cm9sbGVyLCBhbmQgaW50ZXJuYWxzIGF2YWls
YWJsZS4iKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3ZnL2FzLWJhY2tncm91bmQtaW1hZ2UvYW5pbWF0ZWQtc3ZnLWFzLWJhY2tncm91bmQuaHRt
bCBiL0xheW91dFRlc3RzL3N2Zy9hcy1iYWNrZ3JvdW5kLWltYWdlL2FuaW1hdGVkLXN2Zy1hcy1i
YWNrZ3JvdW5kLmh0bWwKaW5kZXggMDA0MTc1ZWIzNDhjMzJhZGI2YjZjMzlhZjA5NjdhY2VjNWQ0
OWY0YS4uNzA2MGU3MjYyMjc0OTk2MzY3NjRiZjk4NDAxOTlmYzhhNzcwYmNlZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3ZnL2FzLWJhY2tncm91bmQtaW1hZ2UvYW5pbWF0ZWQtc3ZnLWFzLWJh
Y2tncm91bmQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvYXMtYmFja2dyb3VuZC1pbWFnZS9h
bmltYXRlZC1zdmctYXMtYmFja2dyb3VuZC5odG1sCkBAIC0zLDEzICszLDEzIEBACiAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9mYXN0L3JlcGFpbnQvcmVzb3VyY2VzL3JlcGFpbnQuanMiIHR5cGU9InRl
eHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+CiAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
Ij4KICAgZnVuY3Rpb24gcmVwYWludFRlc3QoKSB7Ci0gICAgaWYgKCF3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgIHJldHVybjsK
IAogICAgIC8vIFRoZSBhbmltYXRpb24gbGFzdHMgMTAwbXMuIFdhaXQgMjAwbXMgZm9yIHRoZSBy
ZXBhaW50LgotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewot
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7CiAgICAgfSwgMjAwKTsKICAgfQogICA8L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N2Zy9hcy1iYWNrZ3JvdW5kLWltYWdlL3N2Zy1iYWNrZ3JvdW5kLWNy
YXNoLW9uLXJlZnJlc2guaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9hcy1iYWNrZ3JvdW5kLWltYWdl
L3N2Zy1iYWNrZ3JvdW5kLWNyYXNoLW9uLXJlZnJlc2guaHRtbAppbmRleCBkMWIxNTk5ZTJmZGZl
MWM1OWE3MzA2YmFmZDI0NDgxYmRiZjNhYTYxLi5lMGZhMTRkY2YxNWU2NmIyYTI4NmZiMTk3Mzcx
NTk5MWNlMzQ3OTNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvYXMtYmFja2dyb3VuZC1p
bWFnZS9zdmctYmFja2dyb3VuZC1jcmFzaC1vbi1yZWZyZXNoLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvc3ZnL2FzLWJhY2tncm91bmQtaW1hZ2Uvc3ZnLWJhY2tncm91bmQtY3Jhc2gtb24tcmVmcmVz
aC5odG1sCkBAIC00LDkgKzQsOSBAQAogPGRpdj5odHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMjMxMDwvZGl2PgogPGRpdiBzdHlsZT0id2lkdGg6IDIwMHB4OyBoZWlnaHQ6
IDIwMHB4OyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwocmVzb3VyY2VzL2J1dHRlcmZseS5zdmcpIj48
L2Rpdj4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgIGxheW91dFRlc3RDb250cm9s
bGVyLndhaXRVbnRpbERvbmUoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAg
IGdjID0gZnVuY3Rpb24oKSB7IHdpbmRvdy5HQ0NvbnRyb2xsZXIuY29sbGVjdCgpIH07CiB9IGVs
c2UgaWYgKCF3aW5kb3cuZ2MpCiAgICAgZ2MgPSBmdW5jdGlvbigpIHsgfTsKQEAgLTIyLDggKzIy
LDggQEAgd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICBzZXRUaW1lb3V0KGZ1
bmN0aW9uKCkgeyBsb2NhdGlvbi5yZWxvYWQoKSB9LCAwKTsKICAgICB9IGVsc2UgewogICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3RhdHVzJykuaW5uZXJIVE1MID0gIlBBU1MiOwot
ICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICB9CiB9CiA8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hcy1pbWFnZS9hbmltYXRlZC1z
dmctYXMtaW1hZ2Utbm8tZml4ZWQtaW50cmluc2ljLXNpemUuaHRtbCBiL0xheW91dFRlc3RzL3N2
Zy9hcy1pbWFnZS9hbmltYXRlZC1zdmctYXMtaW1hZ2Utbm8tZml4ZWQtaW50cmluc2ljLXNpemUu
aHRtbAppbmRleCBlODVhOWRkODNjOTg5ZGEyZjk4MDI5MzZlMWM4ZDFkZDgzNzQ0MjE3Li44NzRm
ZjQ4MDcxMmNmMDhkMGNiNWMwZDJiYjE0OTc1NjhkZDkxNTQ5IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdmcvYXMtaW1hZ2UvYW5pbWF0ZWQtc3ZnLWFzLWltYWdlLW5vLWZpeGVkLWludHJpbnNp
Yy1zaXplLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FzLWltYWdlL2FuaW1hdGVkLXN2Zy1h
cy1pbWFnZS1uby1maXhlZC1pbnRyaW5zaWMtc2l6ZS5odG1sCkBAIC0zLDEzICszLDEzIEBACiAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L3JlcGFpbnQvcmVzb3VyY2VzL3JlcGFpbnQuanMiIHR5
cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+CiAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KICAgZnVuY3Rpb24gcmVwYWludFRlc3QoKSB7Ci0gICAgaWYgKCF3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgIHJl
dHVybjsKIAogICAgIC8vIFRoZSBhbmltYXRpb24gbGFzdHMgMTAwbXMuIFdhaXQgMjAwbXMgZm9y
IHRoZSByZXBhaW50LgotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsK
KyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9u
KCkgewotICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgfSwgMjAwKTsKICAgfQogICA8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hcy1pbWFnZS9hbmltYXRlZC1zdmctYXMtaW1hZ2Ut
c2FtZS1pbWFnZS5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2FzLWltYWdlL2FuaW1hdGVkLXN2Zy1h
cy1pbWFnZS1zYW1lLWltYWdlLmh0bWwKaW5kZXggOGI2Y2U1NzVlODU1MDAzNGUxYjllMzkwOGJi
ZDkwMmU3NzcxYjEzNC4uNWNmZTZjN2U4MGY2MDEyNDcwNzE0YTNhZTc1NTI3M2JlODdhOGIzNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2FzLWltYWdlL2FuaW1hdGVkLXN2Zy1hcy1pbWFn
ZS1zYW1lLWltYWdlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FzLWltYWdlL2FuaW1hdGVk
LXN2Zy1hcy1pbWFnZS1zYW1lLWltYWdlLmh0bWwKQEAgLTMsMTMgKzMsMTMgQEAKICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL2Zhc3QvcmVwYWludC9yZXNvdXJjZXMvcmVwYWludC5qcyIgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
PgogICBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsKLSAgICBpZiAoIXdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgcmV0dXJuOwog
CiAgICAgLy8gVGhlIGFuaW1hdGlvbiBsYXN0cyAxMDBtcy4gV2FpdCAyMDBtcyBmb3IgdGhlIHJl
cGFpbnQuCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0g
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKICAgICB9LCAyMDApOwogICB9CiAgIDwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3ZnL2FzLWltYWdlL2FuaW1hdGVkLXN2Zy1hcy1pbWFnZS5odG1sIGIv
TGF5b3V0VGVzdHMvc3ZnL2FzLWltYWdlL2FuaW1hdGVkLXN2Zy1hcy1pbWFnZS5odG1sCmluZGV4
IDYwOTY5NWNmZjJjYzlmYTI3Yjc0MjYzZTEzZWFkZmMyZTJiOTZkMDUuLmM0ZDI3YTc5N2MxMGFm
ZTBjZWI4YmExZTQ3YzU5OWI3NTA5OGMyMDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9h
cy1pbWFnZS9hbmltYXRlZC1zdmctYXMtaW1hZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcv
YXMtaW1hZ2UvYW5pbWF0ZWQtc3ZnLWFzLWltYWdlLmh0bWwKQEAgLTMsMTMgKzMsMTMgQEAKICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvcmVwYWludC9yZXNvdXJjZXMvcmVwYWludC5qcyIgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiPgogICBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsKLSAgICBpZiAoIXdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgcmV0
dXJuOwogCiAgICAgLy8gVGhlIGFuaW1hdGlvbiBsYXN0cyAxMDBtcy4gV2FpdCAyMDBtcyBmb3Ig
dGhlIHJlcGFpbnQuCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwor
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIHNldFRpbWVvdXQoZnVuY3Rpb24o
KSB7Ci0gICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICB9LCAyMDApOwogICB9CiAgIDwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FzLWltYWdlL2FuaW1hdGVkLXN2Zy1yZXBhaW50cy1j
b21wbGV0ZWx5LWluLWhpZHBpLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvYXMtaW1hZ2UvYW5pbWF0
ZWQtc3ZnLXJlcGFpbnRzLWNvbXBsZXRlbHktaW4taGlkcGkuaHRtbAppbmRleCA0MDRlOWZkZWNm
MWFhN2M0NTU2ZTBiMjBmYTAwMzViMDJjZjBiNWUxLi41MjkxYzg5YTZlODcyNTg4MmNlY2I2NDBk
NmU1NmVhMDViZjUxMWUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvYXMtaW1hZ2UvYW5p
bWF0ZWQtc3ZnLXJlcGFpbnRzLWNvbXBsZXRlbHktaW4taGlkcGkuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9zdmcvYXMtaW1hZ2UvYW5pbWF0ZWQtc3ZnLXJlcGFpbnRzLWNvbXBsZXRlbHktaW4taGlk
cGkuaHRtbApAQCAtNCwxOCArNCwxOCBAQAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0Ij4KICAgICBmdW5jdGlvbiBzdGFydFRlc3QoKQogICAgIHsKLSAgICAgICAgaWYgKCF3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0QmFja2luZ1NjYWxl
RmFjdG9yKDIsIHJ1blJlcGFpbnRUZXN0KTsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0QmFja2luZ1NjYWxlRmFjdG9yKDIsIHJ1blJl
cGFpbnRUZXN0KTsKICAgICB9CiAgICAgZnVuY3Rpb24gcmVwYWludFRlc3QoKQogICAgIHsKLSAg
ICAgICAgaWYgKCF3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIC8vIFRoZSBhbmlt
YXRpb24gbGFzdHMgMTAwbXMuIFdhaXQgMjAwbXMgZm9yIHRoZSByZXBhaW50LgogICAgICAgICBz
ZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
bm90aWZ5RG9uZSgpOworICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAg
ICAgIH0sIDIwMCk7CiAgICAgfSAKICAgICA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N2Zy9hcy1pbWFnZS9kcmFnLXN2Zy1hcy1pbWFnZS5odG1sIGIvTGF5b3V0VGVzdHMvc3Zn
L2FzLWltYWdlL2RyYWctc3ZnLWFzLWltYWdlLmh0bWwKaW5kZXggOWQ0Nzc0OWY4MDY5MjdhMzM0
NTYyMzBjYmNjZTU0MDVhZmUzNGJkNy4uYWZjMDcxZjExY2ExYmNlZTFlNTM2ODRjNzUzMmVkMThk
ZjNiNDExOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2FzLWltYWdlL2RyYWctc3ZnLWFz
LWltYWdlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FzLWltYWdlL2RyYWctc3ZnLWFzLWlt
YWdlLmh0bWwKQEAgLTMsMTAgKzMsMTAgQEAKIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
Ij4KIGZ1bmN0aW9uIHRlc3QoKSB7CiAKLSAgICBpZiAoIXdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlciB8fCAhd2luZG93LmV2ZW50U2VuZGVyKQorICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIg
fHwgIXdpbmRvdy5ldmVudFNlbmRlcikKICAgICAgICAgcmV0dXJuOwogCi0gICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwog
CiAgICAgdmFyIGRyYWdNZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkcmFnTWUiKTsKICAg
ICB2YXIgc3RhcnRYID0gZHJhZ01lLm9mZnNldExlZnQgKyAoZHJhZ01lLm9mZnNldFdpZHRoIC8g
Mik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYXMtaW1hZ2UvaW1hZ2UtcmVzcGVjdHMt
ZGV2aWNlU2NhbGVGYWN0b3IuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9hcy1pbWFnZS9pbWFnZS1y
ZXNwZWN0cy1kZXZpY2VTY2FsZUZhY3Rvci5odG1sCmluZGV4IDA2NTQ2OTllZGIwNmIwNTI5MTEw
Y2JjNTU5MjJkNTYzNjRlOGNiNmIuLmUwYzE0Y2NlNjFmMGVhNmYzZDM4YmIyMGUyNWJiMWQ4NGUx
ZTdhNzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9hcy1pbWFnZS9pbWFnZS1yZXNwZWN0
cy1kZXZpY2VTY2FsZUZhY3Rvci5odG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9hcy1pbWFnZS9p
bWFnZS1yZXNwZWN0cy1kZXZpY2VTY2FsZUZhY3Rvci5odG1sCkBAIC0yLDExICsyLDExIEBACiA8
aGVhZD4KICAgICA8c2NyaXB0PgogICAgIGZ1bmN0aW9uIGluaXQoKSB7Ci0gICAgICAgIGlmICgh
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0QmFja2lu
Z1NjYWxlRmFjdG9yKDIsIGZ1bmN0aW9uICgpIHsgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgpOyB9KTsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAg
IHRlc3RSdW5uZXIuc2V0QmFja2luZ1NjYWxlRmFjdG9yKDIsIGZ1bmN0aW9uICgpIHsgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk7IH0pOwogICAgIH0KICAgICB3aW5kb3cub25sb2FkID0gaW5pdDsK
ICAgICA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hcy1pbWFnZS9pbWFn
ZS1yZXNwZWN0cy1wYWdlU2NhbGVGYWN0b3ItY2hhbmdlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcv
YXMtaW1hZ2UvaW1hZ2UtcmVzcGVjdHMtcGFnZVNjYWxlRmFjdG9yLWNoYW5nZS5odG1sCmluZGV4
IDc0OWE4MTgwZTdiNmUzZWMzNTEzYWJmNjBlYzk5NjE2ZDQwYzNiYmIuLjUyMGMwZjUxMWZiMWUy
YmQwOTk4YjUxYWE1OGNmNDJjYThmNDEwZjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9h
cy1pbWFnZS9pbWFnZS1yZXNwZWN0cy1wYWdlU2NhbGVGYWN0b3ItY2hhbmdlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvc3ZnL2FzLWltYWdlL2ltYWdlLXJlc3BlY3RzLXBhZ2VTY2FsZUZhY3Rvci1j
aGFuZ2UuaHRtbApAQCAtMSw5ICsxLDkgQEAKIDxodG1sPgogPGhlYWQ+CiAgICAgPHNjcmlwdD4K
LSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoMSk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LndhaXRVbnRpbERvbmUoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KDEpOworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKICAgICB9CiAgICAgCiAgICAgZnVuY3Rpb24gbG9hZCgpIHsKQEAgLTE4LDggKzE4LDgg
QEAKICAgICBmdW5jdGlvbiBpbmNyZWFzZVBhZ2VTY2FsZSgpIHsKICAgICAgICAgd2luZG93Lmlu
dGVybmFscy5zZXR0aW5ncy5zZXRQYWdlU2NhbGVGYWN0b3IoNCwgMCwgMCk7CiAgICAgICAgIAot
ICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICB9CiAKICAg
ICB3aW5kb3cub25sb2FkID0gbG9hZDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hcy1p
bWFnZS9zdmctaW1hZ2UtbGVhay1jYWNoZWQtZGF0YS5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2Fz
LWltYWdlL3N2Zy1pbWFnZS1sZWFrLWNhY2hlZC1kYXRhLmh0bWwKaW5kZXggMDc1MjI0MzQxZGY5
MWZhNzFjNzI4ZjE0MmYyMDQ0YTcyODUzY2IzYy4uODhjMjIwYzdmZmI0N2QxYjZjNzQyODdiZWQw
OWIwMWQyMzBkZmVhOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2FzLWltYWdlL3N2Zy1p
bWFnZS1sZWFrLWNhY2hlZC1kYXRhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FzLWltYWdl
L3N2Zy1pbWFnZS1sZWFrLWNhY2hlZC1kYXRhLmh0bWwKQEAgLTEsOSArMSw5IEBACiA8aHRtbD4K
IDxoZWFkPgogPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIud2FpdFVudGlsRG9uZSgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiB9
CiAKIHZhciBjb3VudCA9IDA7CkBAIC0xMiw4ICsxMiw4IEBAIGZ1bmN0aW9uIHRlc3QoKSB7CiAg
ICAgZG9jdW1lbnQuYm9keS5yZXBsYWNlQ2hpbGQoaW1nLmNsb25lTm9kZSgpLCBpbWcpOwogICAg
IGlmICgrK2NvdW50IDwgMTApCiAgICAgICAgIHNldFRpbWVvdXQodGVzdCwgMCk7Ci0gICAgZWxz
ZSBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgZWxzZSBpZiAod2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogfQogPC9zY3JpcHQ+CiA8L2hlYWQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYXMtaW1hZ2Uvc3ZnLWltYWdlLWxlYWstbG9hZGVy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvYXMtaW1hZ2Uvc3ZnLWltYWdlLWxlYWstbG9hZGVyLmh0
bWwKaW5kZXggMjdiMDRjNjYwMjI2NzExMmMxZjZmNWU4ZTZjOWZhM2ZiZTc5OTA4ZC4uOWVmMjk4
NzE5ZDhiODg0YjA1YTRhMDFhMzA0YTM2NjVhOWMyN2FkZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3ZnL2FzLWltYWdlL3N2Zy1pbWFnZS1sZWFrLWxvYWRlci5odG1sCisrKyBiL0xheW91dFRl
c3RzL3N2Zy9hcy1pbWFnZS9zdmctaW1hZ2UtbGVhay1sb2FkZXIuaHRtbApAQCAtMSw5ICsxLDkg
QEAKIDxodG1sPgogPGhlYWQ+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikgewotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKIH0KIAogZnVuY3Rpb24gbG9hZGVkKCkgewpAQCAtMTQsOCArMTQsOCBAQCBmdW5j
dGlvbiBsb2FkZWQoKSB7CiAgICAgaWZyYW1lLnNyYyA9ICdyZXNvdXJjZXMvbG9hZC1zY3JpcHQu
aHRtbCc7CiAgICAgaWZyYW1lLm9ubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgncmVzdWx0JykuaW5uZXJUZXh0ID0gJ1NVQ0NFU1MnOwotICAgICAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICB9OwogICAgIGRvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N2Zy9hcy1pbWFnZS9zdmctbmVzdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvYXMtaW1hZ2Uv
c3ZnLW5lc3RlZC5odG1sCmluZGV4IDVjNGM5Y2I2OTgyOTNjMjAzMmIyMmUwYzU3YWMwNjQ4ZDk2
NTFmZmYuLmNhMTQ5ZTU5ODI2Mzk0NDE4ODZiY2ZlMTVkMGM5OWQ5ZjNlMWE4OTAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N2Zy9hcy1pbWFnZS9zdmctbmVzdGVkLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvc3ZnL2FzLWltYWdlL3N2Zy1uZXN0ZWQuaHRtbApAQCAtMSw5ICsxLDkgQEAKIDxodG1s
PgogPGhlYWQ+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewot
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gIGxheW91dFRlc3RDb250cm9s
bGVyLndhaXRVbnRpbERvbmUoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKKyAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiB9CiA8L3Nj
cmlwdD4KIDwvaGVhZD4KQEAgLTExLDggKzExLDggQEAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikgewogU3VjY2VzcyAtIGEgaHVnZWx5IG5lc3RlZCBTVkcgZGlkIG5vdCBjcmFzaCB1
cy4KIDxzY3JpcHQ+CiBmdW5jdGlvbiBkb25lKCkgewotICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICBlbHNl
CiAgICAgYWxlcnQoJ2RvbmUhJyk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYXMt
b2JqZWN0L2VtYmVkZGVkLXN2Zy1pbW1lZGlhdGUtb2Zmc2V0V2lkdGgtcXVlcnkuaHRtbCBiL0xh
eW91dFRlc3RzL3N2Zy9hcy1vYmplY3QvZW1iZWRkZWQtc3ZnLWltbWVkaWF0ZS1vZmZzZXRXaWR0
aC1xdWVyeS5odG1sCmluZGV4IDYyNDhiMDkxZmEwZTM5MjAwMTcwMjdmMmQ3ZTI2NDA2N2RhMWMx
ZDQuLmJiYTMwZDgwNjQ0NmE2OTMzYWFlN2ZhMTI5ZDg0MmU5MGZhNWYyMzkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3N2Zy9hcy1vYmplY3QvZW1iZWRkZWQtc3ZnLWltbWVkaWF0ZS1vZmZzZXRX
aWR0aC1xdWVyeS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9hcy1vYmplY3QvZW1iZWRkZWQt
c3ZnLWltbWVkaWF0ZS1vZmZzZXRXaWR0aC1xdWVyeS5odG1sCkBAIC04LDggKzgsOCBAQAogICAg
ICAgICB2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CiAKICAg
ICAgICAgc2NyaXB0Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5ub3RpZnlEb25lKCk7CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgIH07CiAKICAg
ICAgICAgc2NyaXB0LnNyYyA9ICIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiOwpAQCAtMTcsOCArMTcsOCBAQAogICAgIH0KIAogICAgIGZ1bmN0aW9uIHJlcGFpbnRUZXN0
KCkgewotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
IAogICAgICAgICAvLyBUZXN0IGluaXRpYWwgcmVwb3J0ZWQgb2Zmc2V0V2lkdGggaXMgMCwgYXMg
d2UncmUgbm90IGluIHRoZSB0cmVlIHlldC4KICAgICAgICAgbmV3T2JqZWN0ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgib2JqZWN0Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYXMt
b2JqZWN0L2VtYmVkZGVkLXN2Zy1zaXplLWNoYW5nZXMtbm8tbGF5b3V0LXRyaWdnZXJzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9zdmcvYXMtb2JqZWN0L2VtYmVkZGVkLXN2Zy1zaXplLWNoYW5nZXMtbm8t
bGF5b3V0LXRyaWdnZXJzLmh0bWwKaW5kZXggYmViOWIyNDgzYzgzZTA0OGQ5NDBjMGZhNjhlYWIw
N2E0YmIzYWE3OS4uMDRkY2RiYTU0ZDZlNjliOWFjOTg2YjYyMDBmNGFhODUxMzI3YTY3NCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2FzLW9iamVjdC9lbWJlZGRlZC1zdmctc2l6ZS1jaGFu
Z2VzLW5vLWxheW91dC10cmlnZ2Vycy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9hcy1vYmpl
Y3QvZW1iZWRkZWQtc3ZnLXNpemUtY2hhbmdlcy1uby1sYXlvdXQtdHJpZ2dlcnMuaHRtbApAQCAt
Myw4ICszLDggQEAKIDxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L3JlcGFpbnQvcmVzb3VyY2VzL3Jl
cGFpbnQuanMiPjwvc2NyaXB0PgogPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogZnVu
Y3Rpb24gcmVwYWludFRlc3QoKSB7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
CiAgICAgdmFyIG9iamVjdDEgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgib2JqZWN0
IilbMF07CiAgICAgb2JqZWN0MS5zZXRBdHRyaWJ1dGUoImRhdGEiLCAicmVzb3VyY2VzL2VtYmVk
ZGVkLXN2Zy1zaXplLWNoYW5nZXMtbm8tbGF5b3V0LXRyaWdnZXJzLnN2ZyIpOwogICAgIG9iamVj
dDEuc2V0QXR0cmlidXRlKCJzdHlsZSIsICJib3JkZXI6IDFweCByZWQgc29saWQiKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hcy1vYmplY3QvZW1iZWRkZWQtc3ZnLXNpemUtY2hhbmdl
cy5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2FzLW9iamVjdC9lbWJlZGRlZC1zdmctc2l6ZS1jaGFu
Z2VzLmh0bWwKaW5kZXggNmE5ODZmMjBhZmI3N2FhNWFhYmNlMGE4YjEwN2ZhNDM4ZmM1NzcxYS4u
MzFlY2IzNzJjOGM3MzUxZjU3ZjM0OGViOWIwOTUyYTVlNmEwOWYwMCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3ZnL2FzLW9iamVjdC9lbWJlZGRlZC1zdmctc2l6ZS1jaGFuZ2VzLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvc3ZnL2FzLW9iamVjdC9lbWJlZGRlZC1zdmctc2l6ZS1jaGFuZ2VzLmh0
bWwKQEAgLTQ4LDggKzQ4LDggQEAKICAgICBmdW5jdGlvbiBjb21wbGV0ZVRlc3QoKSB7CiAgICAg
ICAgIHZhciBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKICAgICAg
ICAgc2NyaXB0Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5ub3RpZnlEb25lKCk7CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgIH07CiAKICAgICAg
ICAgc2NyaXB0LnNyYyA9ICIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
OwpAQCAtNjIsOCArNjIsOCBAQAogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CiAKIDxzY3JpcHQ+
Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBpbnRyaW5zaWMgc2l6ZSBjaGFuZ2VzIG9mIGFuIGVtYmVkZGVk
IFNWRyBjYXVzZSBpbW1lZGlhdGUgdXBkYXRlcyBvZiB0aGUgb2JqZWN0IHRoYXQgZW1iZWRzIGl0
LiIpOwogICAgIHRlc3QxKCk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2
Zy9hcy1vYmplY3QvbmVzdGVkLWVtYmVkZGVkLXN2Zy1zaXplLWNoYW5nZXMtbm8tbGF5b3V0LXRy
aWdnZXJzLTEuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9hcy1vYmplY3QvbmVzdGVkLWVtYmVkZGVk
LXN2Zy1zaXplLWNoYW5nZXMtbm8tbGF5b3V0LXRyaWdnZXJzLTEuaHRtbAppbmRleCBkN2MxNmZi
NzE5YTU3YTFkNThlYTM4ZGEwZmU0NjBiZTUxZjY5ZGVkLi40Mzk4ZDQ3MzY2ZjI5YzEwMjBlNzc0
MjE4ZjMzMmJiN2Y3NTc1ZDVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvYXMtb2JqZWN0
L25lc3RlZC1lbWJlZGRlZC1zdmctc2l6ZS1jaGFuZ2VzLW5vLWxheW91dC10cmlnZ2Vycy0xLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FzLW9iamVjdC9uZXN0ZWQtZW1iZWRkZWQtc3ZnLXNp
emUtY2hhbmdlcy1uby1sYXlvdXQtdHJpZ2dlcnMtMS5odG1sCkBAIC0zLDggKzMsOCBAQAogPHNj
cmlwdCBzcmM9Ii4uLy4uL2Zhc3QvcmVwYWludC9yZXNvdXJjZXMvcmVwYWludC5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiBmdW5jdGlvbiByZXBhaW50VGVz
dCgpIHsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB2YXIgb2JqZWN0
MSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJvYmplY3QiKVswXTsKICAgICBvYmpl
Y3QxLnNldEF0dHJpYnV0ZSgiZGF0YSIsICJyZXNvdXJjZXMvbmVzdGVkLWVtYmVkZGVkLXN2Zy1z
aXplLWNoYW5nZXMtdGFyZ2V0LW5vLWxheW91dC10cmlnZ2Vycy0xLmh0bWwiKTsKICAgICBvYmpl
Y3QxLnNldEF0dHJpYnV0ZSgic3R5bGUiLCAiYm9yZGVyOiAxcHggcmVkIHNvbGlkOyB3aWR0aDog
NDAwcHg7IGhlaWdodDogMjAwcHgiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hcy1v
YmplY3QvbmVzdGVkLWVtYmVkZGVkLXN2Zy1zaXplLWNoYW5nZXMtbm8tbGF5b3V0LXRyaWdnZXJz
LTIuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9hcy1vYmplY3QvbmVzdGVkLWVtYmVkZGVkLXN2Zy1z
aXplLWNoYW5nZXMtbm8tbGF5b3V0LXRyaWdnZXJzLTIuaHRtbAppbmRleCBhZmIyMmE0NzRiNzhl
YzY1YzQwMDFlM2RlOWFhNGE2OWFlM2Q5NDEzLi45MTk1OTgxYzY1MTkyYjhjMjdiMmQ4NzQwZDU5
ZmNiYWMzNDlhZTYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvYXMtb2JqZWN0L25lc3Rl
ZC1lbWJlZGRlZC1zdmctc2l6ZS1jaGFuZ2VzLW5vLWxheW91dC10cmlnZ2Vycy0yLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvc3ZnL2FzLW9iamVjdC9uZXN0ZWQtZW1iZWRkZWQtc3ZnLXNpemUtY2hh
bmdlcy1uby1sYXlvdXQtdHJpZ2dlcnMtMi5odG1sCkBAIC0zLDggKzMsOCBAQAogPHNjcmlwdCBz
cmM9Ii4uLy4uL2Zhc3QvcmVwYWludC9yZXNvdXJjZXMvcmVwYWludC5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsK
LSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB2YXIgb2JqZWN0MSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJvYmplY3QiKVswXTsKICAgICBvYmplY3QxLnNl
dEF0dHJpYnV0ZSgiZGF0YSIsICJyZXNvdXJjZXMvbmVzdGVkLWVtYmVkZGVkLXN2Zy1zaXplLWNo
YW5nZXMtdGFyZ2V0LW5vLWxheW91dC10cmlnZ2Vycy0yLmh0bWwiKTsKICAgICBvYmplY3QxLnNl
dEF0dHJpYnV0ZSgic3R5bGUiLCAiYm9yZGVyOiAxcHggcmVkIHNvbGlkOyB3aWR0aDogNDAwcHg7
IGhlaWdodDogMjAwcHgiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hcy1vYmplY3Qv
bmVzdGVkLWVtYmVkZGVkLXN2Zy1zaXplLWNoYW5nZXMuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9h
cy1vYmplY3QvbmVzdGVkLWVtYmVkZGVkLXN2Zy1zaXplLWNoYW5nZXMuaHRtbAppbmRleCA2Nzgx
Y2M3OGU5NWFlZWNiMTQ4MDMxNGMzMTUyN2IzOWFmNjc2ZDM4Li43YjVkZGRhMTJjN2U5NzJiZDY3
YmE4ZDkzYmE0MjU1YTcyMWI4ZGQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvYXMtb2Jq
ZWN0L25lc3RlZC1lbWJlZGRlZC1zdmctc2l6ZS1jaGFuZ2VzLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvc3ZnL2FzLW9iamVjdC9uZXN0ZWQtZW1iZWRkZWQtc3ZnLXNpemUtY2hhbmdlcy5odG1sCkBA
IC0yMyw4ICsyMyw4IEBACiAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQu
ZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShvYmplY3QxKS53aWR0aCIsICI0MDBweCIpOwog
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENv
bXB1dGVkU3R5bGUob2JqZWN0MSkuaGVpZ2h0IiwgIjIwMHB4Iik7CiAKLSAgICAgICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgICAgIHJlcXVlc3RTaXpl
Q2hhbmdlKCk7CiAgICAgfQogCkBAIC02Miw4ICs2Miw4IEBACiAgICAgZnVuY3Rpb24gY29tcGxl
dGVUZXN0KCkgewogICAgICAgICB2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
c2NyaXB0Iik7CiAgICAgICAgIHNjcmlwdC5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICAgICAg
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAg
ICAgICB9OwogCiAgICAgICAgIHNjcmlwdC5zcmMgPSAiLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hcy1vYmplY3Qv
cmVzb3VyY2VzL2VtYmVkZGVkLXN2Zy1zaXplLWNoYW5nZXMtbm8tbGF5b3V0LXRyaWdnZXJzLnN2
ZyBiL0xheW91dFRlc3RzL3N2Zy9hcy1vYmplY3QvcmVzb3VyY2VzL2VtYmVkZGVkLXN2Zy1zaXpl
LWNoYW5nZXMtbm8tbGF5b3V0LXRyaWdnZXJzLnN2ZwppbmRleCBiN2IzOWYxNGJmZDE2M2I4ZGM2
MDZiNGEzZDJmNGRjYmJlN2M5ZGI4Li5iMzI3MGRjNzQwMzRkMWNmN2UyYWU3MmYxOWYwZmU5YzA3
YjgyN2RmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvYXMtb2JqZWN0L3Jlc291cmNlcy9l
bWJlZGRlZC1zdmctc2l6ZS1jaGFuZ2VzLW5vLWxheW91dC10cmlnZ2Vycy5zdmcKKysrIGIvTGF5
b3V0VGVzdHMvc3ZnL2FzLW9iamVjdC9yZXNvdXJjZXMvZW1iZWRkZWQtc3ZnLXNpemUtY2hhbmdl
cy1uby1sYXlvdXQtdHJpZ2dlcnMuc3ZnCkBAIC02LDggKzYsOCBAQAogICAgICAgICAgICAgdmFy
IHN2ZyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzdmciKVswXTsKICAgICAgICAg
ICAgIHN2Zy5zZXRBdHRyaWJ1dGUoIndpZHRoIiwgIjQwMCIpOwogCi0gICAgICAgICAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgfQog
ICAgIDwvc2NyaXB0PgogPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYXMtb2Jq
ZWN0L3Jlc291cmNlcy9uZXN0ZWQtZW1iZWRkZWQtc3ZnLXNpemUtY2hhbmdlcy10YXJnZXQtbm8t
bGF5b3V0LXRyaWdnZXJzLTEuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9hcy1vYmplY3QvcmVzb3Vy
Y2VzL25lc3RlZC1lbWJlZGRlZC1zdmctc2l6ZS1jaGFuZ2VzLXRhcmdldC1uby1sYXlvdXQtdHJp
Z2dlcnMtMS5odG1sCmluZGV4IGM1NTQ0OTkwZTJjZmRkNTI3OGQ3YWZlMWJmYjNjYTVmY2RmOGMz
YjYuLmY2MDc5MTExNTVmMzA3YmExZGY2ODEyNjIyYjdmNzM1NmQ3YTA4YmMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3N2Zy9hcy1vYmplY3QvcmVzb3VyY2VzL25lc3RlZC1lbWJlZGRlZC1zdmct
c2l6ZS1jaGFuZ2VzLXRhcmdldC1uby1sYXlvdXQtdHJpZ2dlcnMtMS5odG1sCisrKyBiL0xheW91
dFRlc3RzL3N2Zy9hcy1vYmplY3QvcmVzb3VyY2VzL25lc3RlZC1lbWJlZGRlZC1zdmctc2l6ZS1j
aGFuZ2VzLXRhcmdldC1uby1sYXlvdXQtdHJpZ2dlcnMtMS5odG1sCkBAIC04LDggKzgsOCBAQCBm
dW5jdGlvbiBjaGFuZ2VTaXplKCkgewogICAgIHZhciBzdmdXaW5kb3cgPSBzdmdEb2MuZGVmYXVs
dFZpZXc7CiAgICAgc3ZnV2luZG93LmNoYW5nZVNpemUoKTsKIAotICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURv
bmUoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOwogfQogPC9zY3JpcHQ+CiA8b2JqZWN0IG9ubG9hZD0iY2hhbmdlU2l6ZSgpIiBk
YXRhPSJlbWJlZGRlZC1zdmctc2l6ZS1jaGFuZ2VzLnN2ZyI+PC9vYmplY3Q+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdmcvY2FydG8ubmV0L2ZyYW1lbGVzcy1zdmctcGFyc2UtZXJyb3IuaHRt
bCBiL0xheW91dFRlc3RzL3N2Zy9jYXJ0by5uZXQvZnJhbWVsZXNzLXN2Zy1wYXJzZS1lcnJvci5o
dG1sCmluZGV4IDczYjk0MjlkMWQ1MWYzZTUwMjA0MmUwZDI5NTFiNzY3NzhmMDdjNGYuLjQ2ZmVm
ZDEwZTQ3Y2NjODgwYjkwNTNhNjExMjk1OTA3MzFiYmM0NjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3N2Zy9jYXJ0by5uZXQvZnJhbWVsZXNzLXN2Zy1wYXJzZS1lcnJvci5odG1sCisrKyBiL0xh
eW91dFRlc3RzL3N2Zy9jYXJ0by5uZXQvZnJhbWVsZXNzLXN2Zy1wYXJzZS1lcnJvci5odG1sCkBA
IC0zLDggKzMsOCBAQAogQ3Jhc2ggYWZ0ZXIgbG9hZGluZyBTVkcgZnJhZ21lbnQgd2l0aCBYTUxI
dHRwUmVxdWVzdCAoWW9zZW1pdGUgTWFwIEdlb2xvZ3kgTGF5ZXIpLjwvcD4KIDxwPlBBU1MgPT0g
ZGlkIG5vdCBjcmFzaC48L3A+CiA8c2NyaXB0PgotICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKLSAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAK
ICAgIHN2ZyA9IChuZXcgRE9NUGFyc2VyKS5wYXJzZUZyb21TdHJpbmcoJzxnIHhtbG5zPSJodHRw
Oi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGc+PHBhdGggZD0iIiAvPjwvZz48L2c+JywgJ2ltYWdl
L3N2Zyt4bWwnKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2NhcnRv
Lm5ldC93aW5kb3cuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2NhcnRvLm5ldC93aW5kb3cuc3ZnCmlu
ZGV4IGVkMjRkMWZhMjJiOTc4Yzk1ZDNjZTM1ZjEzMDk0ODAwNGE3YjIwNGQuLjkwZGI0ZGUzNmEx
ODk2Yjc5MGRiMWRjMmNhYWQwY2UxMDk3MDRmYTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2
Zy9jYXJ0by5uZXQvd2luZG93LnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY2FydG8ubmV0L3dp
bmRvdy5zdmcKQEAgLTIxLDE1ICsyMSwxNSBAQAogICAgICAgICAvLyB0byBjcmVhdGVDYWxsZWQo
KSB3ZXJlIGFkZGVkIHRvIHByZXZlbnQgYSByYWNlIGluIHdoaWNoIHRoZSB0ZXN0IG1heQogICAg
ICAgICAvLyB0ZXJtaW5hdGUgYmVmb3JlIHRoZSBmaW5hbCB3aW5kb3cgZGVjb3JhdGlvbiBpcyBh
ZGRlZC4KICAgICAgICAgLy8gU2VlIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE1MzE+LgotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSAK
LSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSAKKyAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOwogCiAgICAgICAgIHZhciBudW1iZXJPZldpbmRvd3MgPSA3OwogICAgICAgICB2
YXIgY3JlYXRlQ2FsbHMgPSAwOwogCiAgICAgICAgIGZ1bmN0aW9uIGNyZWF0ZUNhbGxlZCgpIHsK
LSAgICAgICAgICAgIGlmICgrK2NyZWF0ZUNhbGxzID09IG51bWJlck9mV2luZG93cyAmJiB3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICAgICAgaWYgKCsrY3JlYXRlQ2FsbHMgPT0gbnVt
YmVyT2ZXaW5kb3dzICYmIHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgICB9CiAKICAgICAgICAgICAgLy9nbG9iYWwgdmFy
aWFibGVzIGZvciBtYXAgYXBwbGljYXRpb24gYW5kIG5hdmlnYXRpb24KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N2Zy9jc3MvY3Jhc2gtY3NzLWdlbmVyYXRlZC1jb250ZW50LnhodG1sIGIvTGF5
b3V0VGVzdHMvc3ZnL2Nzcy9jcmFzaC1jc3MtZ2VuZXJhdGVkLWNvbnRlbnQueGh0bWwKaW5kZXgg
YjkwNWIzYTIyN2VlZDMzZWExMzU3NTVjOGYxY2U0YmZkYzcxYjY3NC4uZTIyYWZhYWI0Yzg5NGJm
ZTk2ZDgzZmI2ODZkZDJjNWRlM2I1OTEyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2Nz
cy9jcmFzaC1jc3MtZ2VuZXJhdGVkLWNvbnRlbnQueGh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3Zn
L2Nzcy9jcmFzaC1jc3MtZ2VuZXJhdGVkLWNvbnRlbnQueGh0bWwKQEAgLTE5LDggKzE5LDggQEAK
ICAgICAgICAgPC9zdmc+CiAgICAgICAgIDxzY3JpcHQ+CiAgICAgICAgIDwhW0NEQVRBWwotICAg
ICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
CiAgICAgICAgIF1dPgogICAgICAgICA8L3NjcmlwdD4KICAgICA8L2JvZHk+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdmcvY3NzL2N1cnNvci1pbWFnZS1yZXBsYWNlLnN2ZyBiL0xheW91dFRl
c3RzL3N2Zy9jc3MvY3Vyc29yLWltYWdlLXJlcGxhY2Uuc3ZnCmluZGV4IGNlZjY1ZDZjYjY4OWY0
OTBkYjQ2NmY2M2VmYzAxZmU2YzY2ZGQ1MmUuLmQ2MTc1MDQ3NDM2YjAyODA0MzJkYTNmYTJiYmJj
MzlkYTQ3ODk5M2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jc3MvY3Vyc29yLWltYWdl
LXJlcGxhY2Uuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jc3MvY3Vyc29yLWltYWdlLXJlcGxh
Y2Uuc3ZnCkBAIC03LDkgKzcsOSBAQAogPHNjcmlwdD4KIDwhW0NEQVRBWwogCi1pZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKK2lmICh3
aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIGdjID0gZnVuY3Rpb24oKXt3aW5kb3cuR0ND
b250cm9sbGVyLmNvbGxlY3QoKX07CiB9IGVsc2UgaWYgKCF3aW5kb3cuZ2MpCiAgICAgZ2MgPSBm
dW5jdGlvbigpe307CkBAIC0zMyw4ICszMyw4IEBAIGZ1bmN0aW9uIHN0YXJ0dXAoKSB7CiAgICAg
ICAgIHdoaWxlIChpbm5lci5maXJzdENoaWxkKQogICAgICAgICAgICAgaW5uZXIucmVtb3ZlQ2hp
bGQoaW5uZXIuZmlyc3RDaGlsZCk7CiAgICAgICAgIGlubmVyLmFwcGVuZENoaWxkKGRvY3VtZW50
LmNyZWF0ZVRleHROb2RlKCJQQVNTOiBTdWNjZXNzZnVsbHkgY2hhbmdlZCBjdXJzb3JzLiIpKTsK
LSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgfQogfQog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3NzL2N1cnNvci1yZXBsYWNlLnN2ZyBiL0xh
eW91dFRlc3RzL3N2Zy9jc3MvY3Vyc29yLXJlcGxhY2Uuc3ZnCmluZGV4IDI2YmZlYjMzZDgyMjc5
YzRlYTZhMDQwYzhlMGY2OTBjYjMxYjIxM2UuLmQ1MDI5M2Y4MDI1ZjZjNmI4YzJkODdkNWJlNWU2
MmE4NTAzYjlhOWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jc3MvY3Vyc29yLXJlcGxh
Y2Uuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jc3MvY3Vyc29yLXJlcGxhY2Uuc3ZnCkBAIC0x
MCw5ICsxMCw5IEBAIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiB9DQogDQogd2luZG93Lm9ubG9hZCA9
IGZ1bmN0aW9uKCkgew0KLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7DQot
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7DQotICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7DQorICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgew0KKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7DQorICAgICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsNCiAgICAgfQ0KICAgICANCiAgICAgZyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJnMSIpOw0KQEAgLTI1LDggKzI1LDggQEAgd2luZG93Lm9ubG9hZCA9
IGZ1bmN0aW9uKCkgewogICAgICAgICBzZXRUaW1lb3V0KHJ1blRlc3QoKSwwKTsNCiAgICAgfSBl
bHNlIHsNCiAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0MSIpLmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJQQVNTOiBTdWNjZXNzZnVsbHkgY2hhbmdlZCBjdXJz
b3JzLiIpKTsNCi0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpDQotICAg
ICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOw0KKyAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQ0KKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
Ow0KICAgICB9DQogfQ0KIDwvc2NyaXB0Pg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9j
c3MvZ2V0Q29tcHV0ZWRTdHlsZS1iYXNpYy54aHRtbCBiL0xheW91dFRlc3RzL3N2Zy9jc3MvZ2V0
Q29tcHV0ZWRTdHlsZS1iYXNpYy54aHRtbAppbmRleCBmYzFhNDU0OTdhODZhZmJhZDI3ZWEzZTg5
N2VlNjAzZTdlODBlYWU2Li45MGM0ZjA1YTBhZTU3YjMwNmRkYzE5NDk3NGJmYzZmOThhYTJlOWQz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3NzL2dldENvbXB1dGVkU3R5bGUtYmFzaWMu
eGh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2Nzcy9nZXRDb21wdXRlZFN0eWxlLWJhc2ljLnho
dG1sCkBAIC04LDggKzgsOCBAQAogICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+CiAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvcmVzb3VyY2VzL3Byb3BlcnR5
LW5hbWVzLmpzIi8+CiAgICAgPHNjcmlwdD48IVtDREFUQVsKLSAgICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOworICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwogCiAgICAgICBmdW5jdGlvbiBkZWJ1Z0xvZyhzKSB7CiAgICAgICAg
IHZhciBsb2dEaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9nIik7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdmcvY3NzL2ludmFsaWQtY29sb3ItY3Jhc2guc3ZnIGIvTGF5b3V0VGVz
dHMvc3ZnL2Nzcy9pbnZhbGlkLWNvbG9yLWNyYXNoLnN2ZwppbmRleCBiZGI4NWVkMWVmZmI0ZGY2
NzU4YmE5ODg3YWJkNWQ1Y2ZhYTk5OGRjLi41NTU3ZGExODY3NjczNjMxMDk2Y2I2ZTg3NDc4ZTg3
ZWFlYmU4MDM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3NzL2ludmFsaWQtY29sb3It
Y3Jhc2guc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jc3MvaW52YWxpZC1jb2xvci1jcmFzaC5z
dmcKQEAgLTEsOCArMSw4IEBACiA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2
ZyIgeG1sbnM6eGxpbms9Imh0dHA6L3hsaW5rIj4NCiAgICAgPHNjcmlwdD4NCiAgICAgICAgIDwh
W0NEQVRBWw0KLSAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpDQot
ICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsNCisgICAg
ICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpDQorICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOw0KICAgICAgICAgXV0+DQogICAgIDwvc2NyaXB0Pg0KICAgICA8c3R5
bGUgdHlwZT0idGV4dC9jc3MiPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jc3MvbXVs
dGlwbGUtY3Vyc29ycy1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2Nzcy9tdWx0aXBsZS1j
dXJzb3JzLWNyYXNoLmh0bWwKaW5kZXggZWY3ZTZkMmQ0MTY2MTg3NDhlYjU5N2FjZTdjNjI3Mzhi
MzdhYWFiMS4uYjBlMGM3M2M1MDdjOTk3MDllNzEyMjI0NDBkZGNkMjIxNTYwY2NjOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2Nzcy9tdWx0aXBsZS1jdXJzb3JzLWNyYXNoLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvc3ZnL2Nzcy9tdWx0aXBsZS1jdXJzb3JzLWNyYXNoLmh0bWwKQEAgLTEz
LDkgKzEzLDkgQEAgZ2MgPSB3aW5kb3cuZ2MgfHwgZnVuY3Rpb24oKQogCiB3aW5kb3cub25sb2Fk
ID0gZnVuY3Rpb24oKQogewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsK
LSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7CisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgICAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB9ICAgIAogCiAgICAgY3Vyc29yID0gZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoc3ZnTlMsICJjdXJzb3Ii
KSk7CkBAIC00OCw4ICs0OCw4IEBAIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKQogICAgIGdjKCk7CiAg
IAogICAgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gIlBBU1MiOwotICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlm
eURvbmUoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOwogfQogPC9zY3JpcHQ+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdmcvY3NzL3NjcmlwdC10ZXN0cy9zdmctYXR0cmlidXRlLWxlbmd0aC1wYXJzaW5nLmpz
IGIvTGF5b3V0VGVzdHMvc3ZnL2Nzcy9zY3JpcHQtdGVzdHMvc3ZnLWF0dHJpYnV0ZS1sZW5ndGgt
cGFyc2luZy5qcwppbmRleCBlNzQxNmMxYTlhOTc4YmEyYjgyMjc3NzY4ZThhYmQ4ZjIzMTBjMjI2
Li43Yjk5ZDc0ODQyNzNlMTY4NjY2MGI1YWQ3MGJlZjAyNTM1MzVmOTJhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdmcvY3NzL3NjcmlwdC10ZXN0cy9zdmctYXR0cmlidXRlLWxlbmd0aC1wYXJz
aW5nLmpzCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jc3Mvc2NyaXB0LXRlc3RzL3N2Zy1hdHRyaWJ1
dGUtbGVuZ3RoLXBhcnNpbmcuanMKQEAgLTEsNSArMSw1IEBACi1pZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKK2lm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAogZGVz
Y3JpcHRpb24oIlRlc3QgQ1NTIDxsZW5ndGg+IHBhcnNpbmcgb24gU1ZHIHByZXNlbnRhdGlvbiBh
dHRyaWJ1dGVzLiIpCiBjcmVhdGVTVkdUZXN0Q2FzZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3ZnL2Nzcy9zY3JpcHQtdGVzdHMvc3ZnLWF0dHJpYnV0ZS1wYXJzZXItbW9kZS5qcyBiL0xh
eW91dFRlc3RzL3N2Zy9jc3Mvc2NyaXB0LXRlc3RzL3N2Zy1hdHRyaWJ1dGUtcGFyc2VyLW1vZGUu
anMKaW5kZXggMDE1OWEzOWM2YWM5M2I2ZDNlNzI2Y2UyYjQwMWQzZDQwMzIxY2IzZS4uYmViYmY5
MzJiNzY3Yzc4YzVkN2Q4YjdmODIxZDU0NjJhMDlkZDhmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3ZnL2Nzcy9zY3JpcHQtdGVzdHMvc3ZnLWF0dHJpYnV0ZS1wYXJzZXItbW9kZS5qcworKysg
Yi9MYXlvdXRUZXN0cy9zdmcvY3NzL3NjcmlwdC10ZXN0cy9zdmctYXR0cmlidXRlLXBhcnNlci1t
b2RlLmpzCkBAIC0xLDUgKzEsNSBAQAotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
LSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CitpZiAod2luZG93LnRlc3RS
dW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKIGRlc2NyaXB0aW9uKCJUZXN0
IHN0cmljdCBjb2xvciBwYXJzaW5nIG9uIFNWRyBwcmVzZW50YXRpb24gYXR0cmlidXRlcy4iKQog
Y3JlYXRlU1ZHVGVzdENhc2UoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jc3Mvc3R5
bGUtY2hhbmdlLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvY3NzL3N0eWxlLWNoYW5nZS1j
cmFzaC5odG1sCmluZGV4IGJlMmM1Mjc5ZWVjYjAwYTAxMjI2MDRmZDg4Nzc5MmExOGY0YWQ0YWQu
LmE3N2EyNzYwMDUxNDk1Nzc2YmZhZmE0NjAyMDE4YmYzNWM4YjUxOTIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3N2Zy9jc3Mvc3R5bGUtY2hhbmdlLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvc3ZnL2Nzcy9zdHlsZS1jaGFuZ2UtY3Jhc2guaHRtbApAQCAtMTQsOCArMTQsOCBAQCBkb2N1
bWVudC5ib2R5Lm9mZnNldEhlaWdodDsKIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJET01TdWJ0
cmVlTW9kaWZpZWQiLCB3cml0ZV9icik7CiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVjdCIp
LnN0eWxlLldlYmtpdFdyYXA9ImJvdGggMjE0NzQ4MzUxOSI7CiAKLWlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpIHsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7
CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
ICAgICBhbGVydCgiUEFTUy4gV2ViS2l0IGRpZG4ndCBjcmFzaCIpOwogfSBlbHNlCiAgICAgYWxl
cnQoIlRoaXMgdGVzdCByZXF1aXJlcyBHQ0NvbnRyb2xsZXIuIik7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdmcvY3NzL3N2Zy1lbGxpcHNlLXJlbmRlci1jcmFzaC5odG1sIGIvTGF5b3V0VGVz
dHMvc3ZnL2Nzcy9zdmctZWxsaXBzZS1yZW5kZXItY3Jhc2guaHRtbAppbmRleCBmYjc0ZjFjOTI0
MzYzZDIzZGRkNjYwNzJmMjBkNzUwNTU0YWQ3ZGM4Li4zN2I5ZTllZGQ3YWI2ZDUwOTQ1NjRiNzhm
Mjg2YWNjYzEzNjQxNTNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3NzL3N2Zy1lbGxp
cHNlLXJlbmRlci1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jc3Mvc3ZnLWVsbGlw
c2UtcmVuZGVyLWNyYXNoLmh0bWwKQEAgLTEwLDggKzEwLDggQEAKIAogPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPgogZnVuY3Rpb24gc2V0dXAoKSB7Ci0gICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4
dCgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7CiAgICAgdmFyIHN2ZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDov
L3d3dy53My5vcmcvMjAwMC9zdmciLCAic3ZnIik7CiAgICAgc3ZnLndpZHRoLmJhc2VWYWwudmFs
dWVBc1N0cmluZyA9ICI0MDBweCI7CiAgICAgc3ZnLmhlaWdodC5iYXNlVmFsLnZhbHVlQXNTdHJp
bmcgPSAiNDAwcHgiOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9hY2lkMy10
ZXN0LTc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2FjaWQzLXRlc3QtNzcuaHRtbApp
bmRleCAxZTg1MzljYjk0OGU1NDI3ODM0ZTFhYmQwN2EzODcwNTEwYjhiOGI2Li5jYjI2YmMzMGFm
MTdjODFkODc4ZDYyMzg0OGQ5YWNmYmMwNDc4MWE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dmcvY3VzdG9tL2FjaWQzLXRlc3QtNzcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L2FjaWQzLXRlc3QtNzcuaHRtbApAQCAtMzEsOCArMzEsOCBAQAogPHNjcmlwdD4KICAgZGVzY3Jp
cHRpb24oIkFjaWQzIHRlc3QgNzcsIGNoZWNraW5nIHRleHQgbWV0cmljIGZ1bmN0aW9uYWxpdHki
KTsKIAotICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RD
b250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCiAgIHZhciB0ZXh0OwogICB2YXIgaWZyYW1l
OwpAQCAtODUsOCArODUsOCBAQAogICB9CiAKICAgZnVuY3Rpb24gY29tcGxldGVUZXN0KCkgewot
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgIH0KIAogICBzdGFydFRlc3QoKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vYW5jaG9yLW9uLXVzZS5zdmcgYi9MYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL2FuY2hvci1vbi11c2Uuc3ZnCmluZGV4IDMzZTc3NzE3ZWIyZDkzNTI3MzFi
YTdlODk4NmRiNzAyNWJkNjJkYzguLmI4ODI3ZjMyNjZhMzc3MzMxZjJiYzE3Y2YwOTQyM2FlZjQ2
YmM3YWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vYW5jaG9yLW9uLXVzZS5z
dmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9hbmNob3Itb24tdXNlLnN2ZwpAQCAtMSwx
NSArMSwxNSBAQAogPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5z
OnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBvbmxvYWQ9ImNsaWNrTGlua05v
dygpIj4KICAgICA8c2NyaXB0PgotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQotICAgICAgICAgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERv
bmUoKTsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgd2luZG93
LnRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCiAgICAgICAgIGZ1bmN0aW9uIGNsaWNrTGlu
a05vdygpIHsKICAgICAgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKICAgICAgICAg
ICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygyMCwgMjApOwogICAgICAgICAgICAgICAg
IGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOwogICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1v
dXNlVXAoKTsKLSAgICAgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQotICAgICAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7
CisgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQog
ICAgIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9hbmltYXRl
LWRpc2FsbG93ZWQtbWFzay1lbGVtZW50LnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vYW5p
bWF0ZS1kaXNhbGxvd2VkLW1hc2stZWxlbWVudC5zdmcKaW5kZXggNzQ4NTk5YzlhOGVmNDdmNDhl
NDg1NjMxZDk5YmQ1NTExNmM4NjMwNS4uNTFiOWEwNDRmYzdjOGU2ZmNlODBlZTNkNjIxYTg2Yjcy
M2E3ZWQ1NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9hbmltYXRlLWRpc2Fs
bG93ZWQtbWFzay1lbGVtZW50LnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2FuaW1h
dGUtZGlzYWxsb3dlZC1tYXNrLWVsZW1lbnQuc3ZnCkBAIC0yLDEwICsyLDEwIEBACiAgICAgPCEt
LSBUZXN0IGZvciB3a2J1Zy5jb20vODUyMDI6IFBhc3NlcyBpZiBhIGNyYXNoIGRvZXMgbm90IG9j
Y3VyLiAtLT4KICAgICA8c2NyaXB0PgogICAgICAgICB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24o
KSB7Ci0gICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAg
ICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAg
ICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7IGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURv
bmUoKSB9LCAwKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rp
b24oKXsgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCkgfSwgMCk7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KICAgICA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20v
YW5pbWF0ZS1kaXNhbGxvd2VkLXVzZS1lbGVtZW50LnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0
b20vYW5pbWF0ZS1kaXNhbGxvd2VkLXVzZS1lbGVtZW50LnN2ZwppbmRleCA5Mzc0NDRlMzk2ZjBl
ZDVjNDU2YjA4NGI1YjdiMGVlNDZmMjcyNDc5Li4zMDRmYTRmYjhlMjU3YjA4MTU0N2U1M2M2ODM2
NWQ3NWY2MWU5Njk4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2FuaW1hdGUt
ZGlzYWxsb3dlZC11c2UtZWxlbWVudC5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9h
bmltYXRlLWRpc2FsbG93ZWQtdXNlLWVsZW1lbnQuc3ZnCkBAIC0xLDEwICsxLDEwIEBACiA8c3Zn
IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93
d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgIDxzY3JpcHQ+CiAgICAgICAgIHdpbmRvdy5vbmxv
YWQgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpIHsKLSAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0
KCk7Ci0gICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgp
OwotICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsgbGF5b3V0VGVzdENvbnRy
b2xsZXIubm90aWZ5RG9uZSgpIH0sIDApOworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgICAgICAgICAgc2V0
VGltZW91dChmdW5jdGlvbigpeyB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKSB9LCAwKTsKICAgICAg
ICAgICAgIH0KICAgICAgICAgfQogICAgIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9hbmltYXRlLXBhdGgtZGlzY3JldGUuc3ZnIGIvTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9hbmltYXRlLXBhdGgtZGlzY3JldGUuc3ZnCmluZGV4IGIwYTU2OTczYjgxNmMwNTBm
MWVjNTE1NGQxODQ4NTkzYjU5NWY0Y2YuLmRkMGUzOWVmYWRhM2IyZmVhYTljMzgwOTI4NzVmZTdi
YjkyMjBlN2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vYW5pbWF0ZS1wYXRo
LWRpc2NyZXRlLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2FuaW1hdGUtcGF0aC1k
aXNjcmV0ZS5zdmcKQEAgLTQsOSArNCw5IEBACiA8c2NyaXB0IHhsaW5rOmhyZWY9Ii4uLy4uL2Zh
c3QvcmVwYWludC9yZXNvdXJjZXMvcmVwYWludC5qcyIvPgogPHNjcmlwdCB0eXBlPSJ0ZXh0L2Vj
bWFzY3JpcHQiPiA8IVtDREFUQVsKIGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkgewotICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICBzZXRUaW1lb3V0KCJsYXlvdXRUZXN0Q29udHJv
bGxlci5ub3RpZnlEb25lKCkiLCAyMDApOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewor
ICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgc2V0VGltZW91dCgi
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCkiLCAyMDApOwogICAgIH0KIH0KIF1dPiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vYW5pbWF0ZS1wYXRoLW1vcnBoaW5n
LnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vYW5pbWF0ZS1wYXRoLW1vcnBoaW5nLnN2Zwpp
bmRleCA0OWUzMGRlOTYyNmU3ZjczZDg2OTUzYTA2YjU4MjFlMTBlYmE5YTRmLi4xNzMzNjQ4YmM4
YmExOTVmYzhjMmE4NjBhYmU5YzBhN2E4NGI3ZTNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dmcvY3VzdG9tL2FuaW1hdGUtcGF0aC1tb3JwaGluZy5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9hbmltYXRlLXBhdGgtbW9ycGhpbmcuc3ZnCkBAIC00LDkgKzQsOSBAQAogPHNjcmlw
dCB4bGluazpocmVmPSIuLi8uLi9mYXN0L3JlcGFpbnQvcmVzb3VyY2VzL3JlcGFpbnQuanMiLz4K
IDxzY3JpcHQgdHlwZT0idGV4dC9lY21hc2NyaXB0Ij4gPCFbQ0RBVEFbCiBmdW5jdGlvbiByZXBh
aW50VGVzdCgpIHsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgc2V0VGlt
ZW91dCgibGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpIiwgMjAwKTsKKyAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
CisgICAgICAgIHNldFRpbWVvdXQoInRlc3RSdW5uZXIubm90aWZ5RG9uZSgpIiwgMjAwKTsKICAg
ICB9CiB9CiBdXT4gPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L2FuaW1hdGUtdGFyZ2V0LWlkLWNoYW5nZWQuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9h
bmltYXRlLXRhcmdldC1pZC1jaGFuZ2VkLnN2ZwppbmRleCA4OTk2ZThhODQyNGExYTNjNzgwNzE2
YjBmZDMxMTBjODExMjgyZmIxLi40OGQ1MjQ0NWVmOGM2MWJjNjg4MmU2MmMzNTM1OTlkNzNkMTEz
OGI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2FuaW1hdGUtdGFyZ2V0LWlk
LWNoYW5nZWQuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vYW5pbWF0ZS10YXJnZXQt
aWQtY2hhbmdlZC5zdmcKQEAgLTYsMTQgKzYsMTQgQEAKIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9
ImZpbGwiIHhsaW5rOmhyZWY9IiN0YXJnZXQiIGZyb209InJlZCIgdG89InJlZCIgYmVnaW49IjBz
IiBkdXI9IjFzIiBmaWxsPSJmcmVlemUiLz4KIDxzY3JpcHQgdHlwZT0idGV4dC9lY21hc2NyaXB0
Ij4KIDwhW0NEQVRBWwotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKIGZ1bmN0aW9uIHJlcGFpbnRUZXN0
KCkgewogICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCd0YXJnZXQnKS5zZXRBdHRyaWJ1dGUoImlkIiwgIm5ld0lkIik7Ci0gICAgICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgfSwgMjAwKTsKIH0KIF1d
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9hbmltYXRlLXRhcmdldC1yZW1v
dmVkLWZyb20tZG9jdW1lbnQuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9hbmltYXRlLXRh
cmdldC1yZW1vdmVkLWZyb20tZG9jdW1lbnQuc3ZnCmluZGV4IDJmMzZkMzMyNzA2NDRmZDM4YmY1
ZWNjMjNmOTllMjVmNmQzZmM2ZDYuLmIwYzMxZWQxMjY3OTcxY2M4OTQ2MTZhM2M3MjQ2NjQ2NDAz
ZTMzMTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vYW5pbWF0ZS10YXJnZXQt
cmVtb3ZlZC1mcm9tLWRvY3VtZW50LnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2Fu
aW1hdGUtdGFyZ2V0LXJlbW92ZWQtZnJvbS1kb2N1bWVudC5zdmcKQEAgLTcsMTQgKzcsMTQgQEAK
IDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImZpbGwiIHhsaW5rOmhyZWY9IiN0YXJnZXQiIGZyb209
InJlZCIgdG89ImdyZWVuIiBkdXI9IjFzIiBmaWxsPSJmcmVlemUiLz4KIDxzY3JpcHQgdHlwZT0i
dGV4dC9lY21hc2NyaXB0Ij4KIDwhW0NEQVRBWwotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CitpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKIGZ1bmN0
aW9uIHJlcGFpbnRUZXN0KCkgewogICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzdmciKVswXS5yZW1vdmVDaGlsZChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0JykpOwotICAgICAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgpOworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKICAgIH0sIDIwMCk7CiB9CiBdXT4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N2Zy9jdXN0b20vYW5pbWF0ZS11c2UtY3Jhc2gueGh0bWwgYi9MYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL2FuaW1hdGUtdXNlLWNyYXNoLnhodG1sCmluZGV4IDQ2Y2E0YWUyYzBlMjA2
YjI5ZWMzMzY4ZmIzMDk3YTc0YjE1NDhiMGUuLjgxNDQyYWQ3YWI1ZDYwZGExOWY3MzY2MjJhYzg2
MDRjMDdhOWQ0NDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vYW5pbWF0ZS11
c2UtY3Jhc2gueGh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9hbmltYXRlLXVzZS1j
cmFzaC54aHRtbApAQCAtOSw4ICs5LDggQEAKICAgICAgICAgPC9kZWZzPiANCiAgICAgICAgIDx1
c2UgeD0iMjUiIHk9IjI1IiB4bGluazpocmVmPSIjdGV4dCIvPg0KICAgICAgICAgPHNjcmlwdD48
IVtDREFUQVsNCi0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpDQotICAg
ICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOw0KKyAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQ0KKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
Ow0KICAgICAgICAgXV0+PC9zY3JpcHQ+DQogICAgIDwvZz4NCiA8L3N2Zz4NCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2Fzc2VydC1lbXB0eS1sYXlvdXQtYXR0cmlidXRlcy5z
dmcgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2Fzc2VydC1lbXB0eS1sYXlvdXQtYXR0cmlidXRl
cy5zdmcKaW5kZXggYjZhYTk1YjIzMWZkYTM1ODE1MmJmYmRlM2M5MTMyNThjZmY1OTM0ZS4uZjUw
YzNkZTc3MWM0MTUxOTcwNjY3YmMxMThlNWZhODM3MzJlNzE4YyAxMDA3NTUKLS0tIGEvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS9hc3NlcnQtZW1wdHktbGF5b3V0LWF0dHJpYnV0ZXMuc3ZnCisrKyBi
L0xheW91dFRlc3RzL3N2Zy9jdXN0b20vYXNzZXJ0LWVtcHR5LWxheW91dC1hdHRyaWJ1dGVzLnN2
ZwpAQCAtMTMsOCArMTMsOCBAQAogICAgIDwvZGVmcz4KICAgICA8dGV4dCBzdHlsZT0iZm9udC1m
YW1pbHk6U1ZHQXJpYWw7Ij48L3RleHQ+CiAgICAgPHNjcmlwdD4KLSAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKICAgICA8L3NjcmlwdD4KICAgICA8dGV4dCB4PSIxMHB4IiB5PSI1MHB4IiA+
VGVzdCBmb3IgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyODg0PC90
ZXh0PgogICAgIDx0ZXh0IHg9IjEwcHgiIHk9IjEwMHB4Ij5UaGlzIHRlc3QgcGFzc2VzIGlmIGl0
IGRpZCBub3QgY3Jhc2g8L3RleHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L2Jib3gtb2YtZy1pbi1zeW1ib2wuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9iYm94LW9m
LWctaW4tc3ltYm9sLnN2ZwppbmRleCBkY2RjNTU5ZjMyZGY0YTUwYWY3MzE4NTliYTYyMTEyMDI3
Y2I0MGNmLi5hM2FlYzE4NmQ2YzBhNWJlNGI5OWIzMjlkN2IwNzgwZTkzOGJiNjk0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2Jib3gtb2YtZy1pbi1zeW1ib2wuc3ZnCisrKyBi
L0xheW91dFRlc3RzL3N2Zy9jdXN0b20vYmJveC1vZi1nLWluLXN5bWJvbC5zdmcKQEAgLTcsOCAr
Nyw4IEBACiAgICAgPC9zeW1ib2w+CiAgICAgPHRleHQgaWQ9ImNvbnNvbGUiIHg9IjEwIiB5PSIy
MCIgLz4KICAgICA8c2NyaXB0PjwhW0NEQVRBWwotICAgICAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4
dCgpOworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKIAogICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkKICAgICAgICAg
ewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9ib3VuZGluZ0JveC5odG1sIGIv
TGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9ib3VuZGluZ0JveC5odG1sCmluZGV4IDY0MjIwZGE0ZDlk
ZDRlNmRiOWRhM2M0NDMxNjA5YWE3M2U4MzA0OWMuLmZlNGEwZDAyYWZkYzQyMDgyNGJhMzgyNjI2
MzczYjdiMjhlZGMxMWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vYm91bmRp
bmdCb3guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2JvdW5kaW5nQm94Lmh0bWwK
QEAgLTIsOCArMiw4IEBACiA8aHRtbD4KIDxoZWFkPgogPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKQoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHdpbmRvdy50ZXN0UnVubmVyLmR1
bXBBc1RleHQoKQogCiBmdW5jdGlvbiBydW5UZXN0KCkKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N2Zy9jdXN0b20vYnVnNzg3MDAuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9idWc3
ODcwMC5zdmcKaW5kZXggY2NlN2FkYTAwMWE2NGRlNDk0YWNlNjAzOTQ0N2JhZTgzOGY2NzMwMC4u
ZTQyNzVlNTQyMjhmY2NkYTY2NmI2YzVhMzUzYjcyZTBjMzc4NmVjZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS9idWc3ODcwMC5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS9idWc3ODcwMC5zdmcKQEAgLTEsOCArMSw4IEBACiA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxp
bmsiPgogICA8ZGVmcz48dGV4dD5UaGlzIHRlc3QgcGFzc2VzIGlmIHRoZXJlIGlzIG5vIGNyYXNo
PC90ZXh0PjwvZGVmcz4KICAgPHNjcmlwdD4KLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQotICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICA8
L3NjcmlwdD4KICAgPGcgaWQ9ImciPgogICAgIDxhbmltYXRlIGlkPSJhbmltYXRlIj4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vYnVnNzg4MDcuc3ZnIGIvTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS9idWc3ODgwNy5zdmcKaW5kZXggZjcwODc4ZDYyMzAzNzhiY2FkMWNhOTBiZDc0
MTk3ZTJlOGZhMTE3YS4uNTQwYzE3ZjY3NzYxNzJiZTMzZjk3ZjVjNGUxN2FlYjIxZTFhMGIzNyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9idWc3ODgwNy5zdmcKKysrIGIvTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS9idWc3ODgwNy5zdmcKQEAgLTEsOCArMSw4IEBACiA8c3ZnIHN0
eWxlPSJjb250ZW50OmNvdW50ZXIoY291bnRlcl8wKTsiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9y
Zy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgog
ICA8IS0tIFRoaXMgdGVzdCBwYXNzZXMgaWYgdGhlcmUgaXMgbm8gY3Jhc2guIC0tPgogICA8c2Ny
aXB0PgotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgIDwvc2NyaXB0PgogICA8ZyBpZD0iZyI+
CiAgICAgPHN0eWxlPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9idWc3ODgz
OC5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9idWc3ODgzOC5odG1sCmluZGV4IDdlYmM4
YTA4MzlmZDBkY2E2MTY3MWJhNTM2MDI1MjBmZjlmYmJjODAuLmYzOWYxNGQyYWZlMDcwM2NjMDg0
NDRkY2MxNGMyMDUwZTE2ZTBjZjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20v
YnVnNzg4MzguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2J1Zzc4ODM4Lmh0bWwK
QEAgLTIsOCArMiw4IEBACiA8c2NyaXB0PgogZnVuY3Rpb24gZ28oKSB7CiAKLSAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKIAogICAgIHEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncm9v
dCcpLmNvbnRlbnREb2N1bWVudDsKICAgICBxLmZpcnN0Q2hpbGQuc2V0QXR0cmlidXRlKCdzdHls
ZScsICdjb250ZW50OmNvdW50ZXIoaXRlbSknKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2
Zy9jdXN0b20vYnVnNzk3OTguaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vYnVnNzk3OTgu
aHRtbAppbmRleCA4NjVmNzE2MWY5ODNhMzZlMWNlNTE2YTg1MGI1OGY4MzA5YjM1MGJkLi44ZmYx
ZGNjNTVjN2EwNjc2MmNmNThiOGE4YWIwMGUyZGE4MjRlOTc4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL2J1Zzc5Nzk4Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9idWc3OTc5OC5odG1sCkBAIC0zLDggKzMsOCBAQAogPHNjcmlwdD4KICAgICBmdW5jdGlvbiBn
bygpIHsKIAotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAog
ICAgICAgICBxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jvb3QnKS5jb250ZW50RG9jdW1l
bnQ7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vYnVnODYxMTkuaHRtbCBi
L0xheW91dFRlc3RzL3N2Zy9jdXN0b20vYnVnODYxMTkuaHRtbAppbmRleCA4Y2FlYzQyZTQ3Nzgz
ZmE3NjE3YjI3MTM0ZjNhNTc5Yzc1MjQ3MzViLi5jMWMzOTYxNDE2YTA4N2ZlN2ZhNGZmOGJiN2Iz
ODQ4ZGNhZTczMzBhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2J1Zzg2MTE5
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9idWc4NjExOS5odG1sCkBAIC0xLDgg
KzEsOCBAQAogPGh0bWw+CiAgIDxoZWFkPgogICAgIDxzY3JpcHQ+Ci0gICAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKKyAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAgIH0KIAogICAgICAgZnVuY3Rpb24gb25sb2FkKCkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vYnVnODYzOTIuaHRtbCBiL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vYnVnODYzOTIuaHRtbAppbmRleCA5NzU4OTAxNjFlNjk5ZTE3YjJm
NWY2ZjYzNjEzZTY1M2NhZWQxNzE4Li41NDUxZGQ5MTIxYWUwYmM4MjUxMTIxZWQyODYyYmExOWI3
N2RiYTE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2J1Zzg2MzkyLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9idWc4NjM5Mi5odG1sCkBAIC05LDkgKzksOSBA
QAogfQogPC9zdHlsZT4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgIGxheW91dFRl
c3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgewor
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOwogfQogCiBmdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKQEAgLTQ3LDggKzQ3LDggQEAgd2lu
ZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCl7CiAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsg
bG9jYXRpb24ucmVsb2FkKCkgfSwwKTsKICAgICB9IGVsc2UgewogICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZGl2MSIpLnRleHRDb250ZW50ID0gIlBBU1M6IFdlYktpdCBkaWQgbm90
IGNyYXNoLiI7Ci0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAg
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwog
ICAgIH0KIH0KIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9i
dWc4Njc4MS5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9idWc4Njc4MS5odG1sCmluZGV4
IGY3MTBkZjYwMzllYWIyZmYwYWE3Mzc2OGIwMTJkYWRkYWM0MjMzOTEuLmE3NmVmY2Q5MWIxODE1
MmI5ZDQ5NDA5YWQ3MGUzZjllNjgxMmIyNTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9j
dXN0b20vYnVnODY3ODEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2J1Zzg2Nzgx
Lmh0bWwKQEAgLTgsOSArOCw5IEBACiAgICAgPC9nPgogIDxicj4gICAKIDxzY3JpcHQ+Ci1pZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsK
K2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwor
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogfQogZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIpOwogZnVuY3Rpb24gcmVtb3ZlX3RzcGFuKCkgewpAQCAtMzksOCArMzksOCBA
QCBzdHlsZS5pbm5lckhUTUw9IiogeyBcblwKICI7CiBoZWFkLmFwcGVuZENoaWxkKHN0eWxlKTsK
IAotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBzZXRUaW1lb3V0KCJsYXlv
dXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCkiLCA1MCk7CitpZiAod2luZG93LnRlc3RSdW5u
ZXIpCisgICAgc2V0VGltZW91dCgidGVzdFJ1bm5lci5ub3RpZnlEb25lKCkiLCA1MCk7CiA8L3Nj
cmlwdD4KIDwvc3ZnPgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9jbGljay1pbnRlcm5hbC1hbmNob3Itd2l0aC11c2UtY3Jhc2gueGh0bWwgYi9MYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL2NsaWNrLWludGVybmFsLWFuY2hvci13aXRoLXVzZS1jcmFzaC54aHRtbApp
bmRleCA4YzViNGRjMmJiOGI0NmUxMGFkY2NiNzk2OTNiOWYyOWU1OGYyYjEwLi43MTg1MTE2NmNm
Yjg4NDlkYjViNGYzN2QwMWEzYTgyYjI2NmI0ZTM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dmcvY3VzdG9tL2NsaWNrLWludGVybmFsLWFuY2hvci13aXRoLXVzZS1jcmFzaC54aHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2NsaWNrLWludGVybmFsLWFuY2hvci13aXRoLXVzZS1j
cmFzaC54aHRtbApAQCAtNiw4ICs2LDggQEAKICAgICAgICAgewogICAgICAgICAgICAgY2xpY2tM
aW5rKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsaW5rIikpOwogICAgICAgICAgICAgCi0gICAg
ICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
ICAgICAgICAgfQogCiAgICAgICAgIGZ1bmN0aW9uIGNsaWNrTGluayhsaW5rKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9jcmFzaC1pbmxpbmUtY29udGFpbmVyLWNsaWVudC5o
dG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9jcmFzaC1pbmxpbmUtY29udGFpbmVyLWNsaWVu
dC5odG1sCmluZGV4IGVjOWI5YTBlZjEyMGI4MmFhMTBiNzI0Y2YxNzBhMTU1OGYwYTIzNmYuLjg2
YjYwMGFmMTRiYTY4NDU5NjFkNTZhYmI5NDEzMzhlOGVmNDliMmIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vY3Jhc2gtaW5saW5lLWNvbnRhaW5lci1jbGllbnQuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2NyYXNoLWlubGluZS1jb250YWluZXItY2xpZW50Lmh0
bWwKQEAgLTE4LDcgKzE4LDcgQEAgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpOwogcmFu
Z2Uuc2V0RW5kQWZ0ZXIoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRzcGFuIikpOwogcmFuZ2Uu
ZXh0cmFjdENvbnRlbnRzKCk7CiAKLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0g
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogPC9zY3JpcHQ+CiA8L3N2Zz4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vY3Jhc2gtdGV4dC1pbi10ZXh0cGF0aC5z
dmcgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2NyYXNoLXRleHQtaW4tdGV4dHBhdGguc3ZnCmlu
ZGV4IDRmYzI4NDFkMWFlOGY4ZjI2ZDc3OWM1YTg1Y2Q0NDk0MjA2Yzg1MjAuLjg2NTU2ZjU5MGJl
OTAyY2FmM2FkOTdlMmRmM2JmYzFkYWUzMWZkOTAgMTAwNzU1Ci0tLSBhL0xheW91dFRlc3RzL3N2
Zy9jdXN0b20vY3Jhc2gtdGV4dC1pbi10ZXh0cGF0aC5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9jcmFzaC10ZXh0LWluLXRleHRwYXRoLnN2ZwpAQCAtMiw4ICsyLDggQEAKIDx0ZXh0
PgogICAgIDx0ZXh0UGF0aCBpZD0idGV4dFBhdGgiPgogICAgICAgICA8c2NyaXB0PgotICAgICAg
ICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAK
ICAgICAgICAgICAgIC8vIFRoaXMgdHJpZ2dlcnMgYSBsYXlvdXQgYmVmb3JlIGFkZGluZyB0aGUg
I3RleHQgbm9kZS4KICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXh0UGF0
aCcpLnNjcm9sbEludG9WaWV3KCdmb28nKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9j
dXN0b20vY3Jhc2gtdGV4dFBhdGgtYXR0cmlidXRlcy5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS9jcmFzaC10ZXh0UGF0aC1hdHRyaWJ1dGVzLmh0bWwKaW5kZXggMGJhMWJlNTk4ODYyMTEy
OTFiYzIyMjM4OWM0NmNjZWU4N2M1NDUyMC4uNzg4YTM1MjJjYTZhMmQ1N2EzM2I4NTQxZTk0YjI0
MzVlNjM3ZmFkMiAxMDA3NTUKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9jcmFzaC10ZXh0
UGF0aC1hdHRyaWJ1dGVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9jcmFzaC10
ZXh0UGF0aC1hdHRyaWJ1dGVzLmh0bWwKQEAgLTEsNyArMSw3IEBACiA8aWZyYW1lIHNyYz0icmVz
b3VyY2VzL2NyYXNoLXRleHRQYXRoLWF0dHJpYnV0ZXMtaWZyYW1lLnN2ZyIgb25sb2FkPSJnbyh0
aGlzKSI+PC9pZnJhbWU+CiA8c2NyaXB0PgotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwog
CiAgICAgZnVuY3Rpb24gZ28ob0lmcmFtZSkgewogICAgICAgdmFyIG9TZWxlY3Rpb24gPSBvSWZy
YW1lLmNvbnRlbnRXaW5kb3cuZ2V0U2VsZWN0aW9uKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL2RlbGV0ZS1tb2RpZmllZC10ZXh0LWluLWRlZnMtY3Jhc2guc3ZnIGIvTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS9kZWxldGUtbW9kaWZpZWQtdGV4dC1pbi1kZWZzLWNyYXNoLnN2
ZwppbmRleCAxMGE3YTY1NWUxMThlOTA3YzJhNGY0ZWU3MWI1MGZhMTFhMzUxYTkxLi45NTczZjM1
MTcxZWIxYTBlM2Y2MDdkMWQ0YmE4NjM3N2I2MGNmMDVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL2RlbGV0ZS1tb2RpZmllZC10ZXh0LWluLWRlZnMtY3Jhc2guc3ZnCisrKyBi
L0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZGVsZXRlLW1vZGlmaWVkLXRleHQtaW4tZGVmcy1jcmFz
aC5zdmcKQEAgLTE1LDggKzE1LDggQEAKICAgICByYW5nZS5zZXRFbmRBZnRlcihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgibGVnZW5kYm94IikpOwogICAgIHJhbmdlLmRlbGV0ZUNvbnRlbnRzKCk7
CiAKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAogICAgIGZ1bmN0aW9uIGdvKCkgewog
ICAgICAgdmFyIHN2Z1Jvb3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3ZnUm9vdCIpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9kZWxldGUtdGV4dC1jcmFzaC5odG1s
IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9kZWxldGUtdGV4dC1jcmFzaC5odG1sCmluZGV4IDJl
OGMxNzQ2OWI0MDQ4MzJkODA4Y2I2MTQzYWZiMzE3MTQ2ZGRhYWMuLjMyNGZhZGZhN2UxOGMwNzUx
MDdjMThmMDU5ZTA0ZGNjYzUxOGFmOTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0
b20vZGVsZXRlLXRleHQtY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2Rl
bGV0ZS10ZXh0LWNyYXNoLmh0bWwKQEAgLTE2LDggKzE2LDggQEAKICAgICAgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoJ2RlbGV0ZScpOwogICAgICAgfQogCi0gICAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0
KCk7CisgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOwogPC9zY3JpcHQ+CiA8Ym9keSBvbmxvYWQ9InRlc3RDcmFzaCgpIj4KIDxzdmcg
aWQ9InJvb3QiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9
Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS9kZWxldGUtdGV4dC1pbm5lclRleHQtY3Jhc2guaHRtbCBiL0xheW91dFRlc3Rz
L3N2Zy9jdXN0b20vZGVsZXRlLXRleHQtaW5uZXJUZXh0LWNyYXNoLmh0bWwKaW5kZXggYTI5YzJh
MGU1NzU4NjIzNGI2MDE0MmM3NTNmZWRhZmQ2NmRhNmMzNC4uOWQ1NjI1MmQ4NjU5Njc0NThmMzU4
M2U1NzAzNzQyOTdkMmQ2Nzg1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9k
ZWxldGUtdGV4dC1pbm5lclRleHQtY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL2RlbGV0ZS10ZXh0LWlubmVyVGV4dC1jcmFzaC5odG1sCkBAIC05LDggKzksOCBAQAogICAg
ICAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnZGVsZXRlJyk7CiAgICAgICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCdkZWxldGUnKTsKIAotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwor
ICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKICAgICB9CiA8L3NjcmlwdD4KIDxib2R5IG9ubG9hZD0idGVzdENyYXNoKCki
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9kZXRhY2hlZC1vdXRlcm1vc3Qt
c3ZnLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2RldGFjaGVkLW91dGVybW9z
dC1zdmctY3Jhc2guaHRtbAppbmRleCAwOGJlMTY4MzM2YmE4OGFiMWRlZmFlZWEyMjcxNjgxYWY3
N2NiZWQxLi5jMTlmNmQ4MzFjMjc0MzJhYTM0M2U2YmUwM2E4MDAzOGZhNzVmOGUxIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2RldGFjaGVkLW91dGVybW9zdC1zdmctY3Jhc2gu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2RldGFjaGVkLW91dGVybW9zdC1zdmct
Y3Jhc2guaHRtbApAQCAtMSw2ICsxLDYgQEAKIDxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKK2lm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAogdmFy
IHN2ZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9z
dmciLCAic3ZnIik7CiBmb3IgKHByb3AgaW4gc3ZnKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL2Rpc2FsbG93ZWQtdGV4dC1jb250ZW50LXJlbmRlcmluZy5zdmcgYi9MYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL2Rpc2FsbG93ZWQtdGV4dC1jb250ZW50LXJlbmRlcmluZy5zdmcK
aW5kZXggNmMzMzY0ZTg0NmQ4OWRhMDY4MDExMTE1MGEyZDIwNGE2MTJkMmY2OC4uNjA5MjJiNmM3
ZDAyZDJmNTkzMGU1ZTg0OTkxODAwOWQ3YTFkMDZjMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS9kaXNhbGxvd2VkLXRleHQtY29udGVudC1yZW5kZXJpbmcuc3ZnCisrKyBiL0xh
eW91dFRlc3RzL3N2Zy9jdXN0b20vZGlzYWxsb3dlZC10ZXh0LWNvbnRlbnQtcmVuZGVyaW5nLnN2
ZwpAQCAtMSw3ICsxLDcgQEAKIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3Zn
IiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgIDxzY3JpcHQ+
IDwhW0NEQVRBWwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgIF1dPjwvc2NyaXB0PgogCiAg
IDxhIHhsaW5rOmhyZWY9Imh0dHA6Ly93d3cud2Via2l0Lm9yZyI+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL2Rpc3BsYXktdGFibGUtY2FwdGlvbi1mb3JlaWduT2JqZWN0LnN2
ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZGlzcGxheS10YWJsZS1jYXB0aW9uLWZvcmVpZ25P
YmplY3Quc3ZnCmluZGV4IDlmNjMyYjViNjJmNjhlMmIzNDM1YzY3NWNlMTk1NzI1YTg0Mjc1YzQu
LmQ4Y2M0N2YzMTlkMGQ0NDI3ZWJhMGQ4YmFjMmY5OGU1MjExNmI3MzEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3N2Zy9jdXN0b20vZGlzcGxheS10YWJsZS1jYXB0aW9uLWZvcmVpZ25PYmplY3Qu
c3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZGlzcGxheS10YWJsZS1jYXB0aW9uLWZv
cmVpZ25PYmplY3Quc3ZnCkBAIC0xLDcgKzEsNyBAQAogPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53
My5vcmcvMjAwMC9zdmciIHhtbG5zOnhodG1sPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1s
Ij4KICAgPHNjcmlwdD4KLSAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgPC9zY3JpcHQ+CiAgIDxmb3JlaWdu
T2JqZWN0IGRpc3BsYXk9InRhYmxlLWNhcHRpb24iPjx4aHRtbDpkaXY+VGhpcyB0ZXN0IFBBU1NF
RCBpZiB3ZSBkb24ndCBjcmFzaCB3aGVuIHRoZSBkaXNwbGF5IHZhbHVlIGlzIHRhYmxlLWNhcHRp
b248L3hodG1sOmRpdj48L2ZvcmVpZ25PYmplY3Q+CiA8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vZGlzcGxheS10YWJsZS1jYXB0aW9uLWluaGVyaXQtZm9yZWlnbk9i
amVjdC54aHRtbCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZGlzcGxheS10YWJsZS1jYXB0aW9u
LWluaGVyaXQtZm9yZWlnbk9iamVjdC54aHRtbAppbmRleCAwMmQ2ZDA5M2RkYTRiNmIwOTRjOTMy
NzZmZTRjNzFhYTE1NzYzMDQ3Li4wYWIyNGRmNTE4OGFlNmJkM2JhNjkwYTNmYTYxODI3YmZmOTQ5
MjhjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2Rpc3BsYXktdGFibGUtY2Fw
dGlvbi1pbmhlcml0LWZvcmVpZ25PYmplY3QueGh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS9kaXNwbGF5LXRhYmxlLWNhcHRpb24taW5oZXJpdC1mb3JlaWduT2JqZWN0LnhodG1sCkBA
IC0xLDggKzEsOCBAQAogPGRpdiBzdHlsZT0iZGlzcGxheTp0YWJsZS1jYXB0aW9uIj4KICAgPHN2
ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhodG1sPSJodHRwOi8v
d3d3LnczLm9yZy8xOTk5L3hodG1sIj4KICAgICA8c2NyaXB0PgotICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0
KCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7CiAgICAgPC9zY3JpcHQ+CiAgICAgPGZvcmVpZ25PYmplY3QgZGlzcGxheT0iaW5oZXJp
dCI+PHhodG1sOmRpdj5UaGlzIHRlc3QgUEFTU0VEIGlmIHdlIGRvbid0IGNyYXNoIHdoZW4gdGhl
IGRpc3BsYXkgdmFsdWUgaXMgdGFibGUtY2FwdGlvbiBieSB1c2luZyBpbmhlcml0PC94aHRtbDpk
aXY+PC9mb3JlaWduT2JqZWN0PgogICA8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2
Zy9jdXN0b20vZGlzcGxheS10YWJsZS1jYXB0aW9uLWluaGVyaXQtdGV4dC54aHRtbCBiL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vZGlzcGxheS10YWJsZS1jYXB0aW9uLWluaGVyaXQtdGV4dC54aHRt
bAppbmRleCAyNTdjZjg3NjdkZTcxZDFjOGFhYTdlODM4NDM3ZWE3MjVlMDA4MGNlLi4zZTk4NDVk
MTJjMDM0MzliMmNkZDc4ZjYyOWY4NDkwN2MyMjczNDIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL2Rpc3BsYXktdGFibGUtY2FwdGlvbi1pbmhlcml0LXRleHQueGh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9kaXNwbGF5LXRhYmxlLWNhcHRpb24taW5oZXJpdC10
ZXh0LnhodG1sCkBAIC0xLDggKzEsOCBAQAogPGRpdiBzdHlsZT0iZGlzcGxheTp0YWJsZS1jYXB0
aW9uIj4KICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgIDxz
Y3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICA8L3NjcmlwdD4KICAgICA8dGV4
dCBkaXNwbGF5PSJpbmhlcml0Ij5UaGlzIHRlc3QgUEFTU0VEIGlmIHdlIGRvbid0IGNyYXNoIHdo
ZW4gdGhlIGRpc3BsYXkgdmFsdWUgaXMgdGFibGUtY2FwdGlvbiBieSB1c2luZyBpbmhlcml0PC90
ZXh0PgogICA8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZGlzcGxh
eS10YWJsZS1jYXB0aW9uLXRleHQuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9kaXNwbGF5
LXRhYmxlLWNhcHRpb24tdGV4dC5zdmcKaW5kZXggNDgzYTc4MTRjYTIyMTQ5NWIyMGE1NjEwNmI4
ZTFmODU0M2NmZjg2My4uMzQ2NWYxYjE4ODRmYjk4ZThjODU0MjgyNDRiMjZkZDIyOTRkOGZmYSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9kaXNwbGF5LXRhYmxlLWNhcHRpb24t
dGV4dC5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9kaXNwbGF5LXRhYmxlLWNhcHRp
b24tdGV4dC5zdmcKQEAgLTEsNyArMSw3IEBACiA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9y
Zy8yMDAwL3N2ZyI+CiAgIDxzY3JpcHQ+Ci0gIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgIDwvc2NyaXB0Pgog
ICA8dGV4dCBkaXNwbGF5PSJ0YWJsZS1jYXB0aW9uIj5UaGlzIHRlc3QgUEFTU0VEIGlmIHdlIGRv
bid0IGNyYXNoIHdoZW4gdGhlIGRpc3BsYXkgdmFsdWUgaXMgdGFibGUtY2FwdGlvbjwvdGV4dD4K
IDwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbGVtZW50LWluc3Rh
bmNlLWhlbGQtYnktanMtY3Jhc2guc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbGVtZW50
LWluc3RhbmNlLWhlbGQtYnktanMtY3Jhc2guc3ZnCmluZGV4IGRkZjQ2OTBiZWZkNTUzZjZhMTUy
MzQ3YjU4NzhmYWZjZTZkOGMyZmYuLmMwNGIzODFhODRlMjQ4ZGIzYzg3YjZiNjgyNTg4ZGY2MTVh
OGEzZjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZWxlbWVudC1pbnN0YW5j
ZS1oZWxkLWJ5LWpzLWNyYXNoLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2VsZW1l
bnQtaW5zdGFuY2UtaGVsZC1ieS1qcy1jcmFzaC5zdmcKQEAgLTEyLDggKzEyLDggQEAKICAgICAg
ICAgLy8gVGhlIGFuaW1hdGUgZWxlbWVudCB0cmllcyB0byBtb2RpZnkgdGhlIGVsZW1lbnQsIHdo
aWNoIHRyaWVzIHRvIHVwZGF0ZSB0aGUKICAgICAgICAgLy8gaW5zdGFuY2VzIGluIHRoZSBjaXJj
bGUsIHdoaWNoIGNyYXNoZXMgaWYgaXQgaG9sZHMgYSBwb2ludGVyIHRvIGEgbm9uLWV4aXN0ZW50
IGVsZW1lbnQuCiAKLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAg
ICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
CiAgICAgfQogICAgIC8vXV0+CiAgICAgPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL2VtYmVkZGVkLXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC54bWwgYi9MYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL2VtYmVkZGVkLXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC54bWwK
aW5kZXggYWUyNjg3NDU4ZDA0ZjM0MjFlOTc2YTM1OWZmNTg5NjYwMmU1ZmZmYy4uM2M5N2U3M2Ez
MTE5MTdjYWExNzg0ODUxYjAyZjM0ZmIxMThjNWM0NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS9lbWJlZGRlZC1zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQueG1sCisrKyBiL0xh
eW91dFRlc3RzL3N2Zy9jdXN0b20vZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLnht
bApAQCAtMyw5ICszLDkgQEAKICAgICAgICAgPHRpdGxlPk1ha2Ugc3VyZSBlbWJlZGRlZCBTVkcg
aXMgdHVybmVkIG9uIGluIGRhc2hib2FyZDwvdGl0bGU+CiAgICAgPC9oZWFkPgogICAgIDxzY3Jp
cHQ+Ci0gICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0VXNlRGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1v
ZGUodHJ1ZSk7Ci0gICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OworICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRVc2VEYXNoYm9hcmRDb21wYXRpYmlsaXR5TW9kZSh0cnVlKTsKKyAgICAgICAgICAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAgICAgIH0KIAogICAgICAgICAgZnVuY3Rp
b24gZGVidWcoc3RyKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2VtcHR5
LWNsYXNzTmFtZS1iYXNlVmFsLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2Vt
cHR5LWNsYXNzTmFtZS1iYXNlVmFsLWNyYXNoLmh0bWwKaW5kZXggMWUwMmZlMmFjNTE1MTQyMTAy
MWFiZjMxMWE4MmU1MGMxMWEzOGZiMy4uYTc4ZGUzMjZhNDA2NTIxZWVlZDMwNzUwMGEzYTMzNjYy
NzcyNmQxMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbXB0eS1jbGFzc05h
bWUtYmFzZVZhbC1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZW1wdHkt
Y2xhc3NOYW1lLWJhc2VWYWwtY3Jhc2guaHRtbApAQCAtMSw3ICsxLDcgQEAKIDwhRE9DVFlQRSBo
dG1sPgogPHNjcmlwdD4KLSAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsICJzdmciKS5jbGFzc05hbWUuYmFzZVZh
bCA9ICIiOwogPC9zY3JpcHQ+CiA8Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9j
dXN0b20vZmlsdGVyLW9uLXN2Z2ltYWdlLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZmls
dGVyLW9uLXN2Z2ltYWdlLnN2ZwppbmRleCBiM2U1MDUwOGIwY2ViYzZhM2MxMDM1ZWNhMzdhODgz
NzQwN2NkZWJkLi43YmQyYTU4ODNkNzZhOWZmMThhNzlmZWI2MmI5ZmVmZGRhNDRiMmIzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2ZpbHRlci1vbi1zdmdpbWFnZS5zdmcKKysr
IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9maWx0ZXItb24tc3ZnaW1hZ2Uuc3ZnCkBAIC0xLDcg
KzEsNyBAQAogPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhs
aW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KIDxzY3JpcHQ+Ci0gICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CiA8L3NjcmlwdD4KIDxkZWZzPjxmaWx0ZXIgaWQ9ImRzMiI+CiAg
ICAgPGZlR2F1c3NpYW5CbHVyIGluPSJTb3VyY2VBbHBoYSIgc3RkRGV2aWF0aW9uPSIzIiByZXN1
bHQ9ImJsdXIiLz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZm9udC1mYWNl
LW1vdmUuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9mb250LWZhY2UtbW92ZS5zdmcKaW5k
ZXggOTYxNDcyY2FiMGZhMmIxNjJlODU3YjQzY2Y0NjZjNjM5NGU5NDc1YS4uMTdkMWVkNDg0NGZm
MmQxMTQyOWU1NmY0NDk3ODA2OTQ5NzYzMTUxMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9mb250LWZhY2UtbW92ZS5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9m
b250LWZhY2UtbW92ZS5zdmcKQEAgLTYsOCArNiw4IEBACiAgICAgPC9kZWZzPgogICAgIDx0ZXh0
IGZvbnQtZmFtaWx5PSJiIj5QQVNTPC90ZXh0PgogICAgIDxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7CiAgICAgdmFyIGRlZnMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZGVmcyIpOwogICAgIHZhciBiZm9udCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJiZm9udCIp
OwogICAgIGRlZnMuYXBwZW5kQ2hpbGQoYmZvbnQpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS9mb250LWZhY2UtbmFtZS13aXRob3V0LW5hbWUtYXR0ci5zdmcgYi9MYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL2ZvbnQtZmFjZS1uYW1lLXdpdGhvdXQtbmFtZS1hdHRyLnN2ZwppbmRl
eCAxMzc5YTBkZGYyOTNmZGI0Y2U0OGVlYjUxN2U1YTY4ZDcyN2I1MTZlLi42MDkwMjlkYWFlMDEx
YzlhZDY1ZTFjNzA3NzQ0MzJkYTdlMjkyNTdmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL2ZvbnQtZmFjZS1uYW1lLXdpdGhvdXQtbmFtZS1hdHRyLnN2ZworKysgYi9MYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL2ZvbnQtZmFjZS1uYW1lLXdpdGhvdXQtbmFtZS1hdHRyLnN2ZwpAQCAt
OCw3ICs4LDcgQEAKIDwvZGVmcz4KIDx0ZXh0IGZvbnQtZmFtaWx5PSJzdmd0ZXN0IiB4PSIwIiB5
PSIxY20iPlRoaXMgdGVzdCBwYXNzZXMgaWYgV2ViS2l0IGRvZXNuJ3QgY3Jhc2guPC90ZXh0Pgog
PHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgd2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICB3aW5kb3cudGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiA8L3NjcmlwdD4KIDwvc3ZnPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9mb250LWZhY2Utbm90LWluLWRvY3Vt
ZW50LnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZm9udC1mYWNlLW5vdC1pbi1kb2N1bWVu
dC5zdmcKaW5kZXggMWYxYWVmNzc5NmViOTJjOTRlNWJjMGY4MWMwZjMyNTM0ODBkNGY2NC4uZTY2
NGM0ZWRhOWQxZTA2NzkyNDM4OTc5Njc3NzNiODM1YzI2N2NkNSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS9mb250LWZhY2Utbm90LWluLWRvY3VtZW50LnN2ZworKysgYi9MYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL2ZvbnQtZmFjZS1ub3QtaW4tZG9jdW1lbnQuc3ZnCkBAIC04LDgg
KzgsOCBAQAogPHRleHQgeT0iNzIiPlRoaXMgdGVzdHMgdGhhdCAmbHQ7Zm9udC1mYWNlJmd0OyBl
bGVtZW50cyB0aGF0IGFyZSBub3QgaW4gdGhlIGRvY3VtZW50IGhhdmUgbm8gZWZmZWN0LjwvdGV4
dD4KIDx0ZXh0IHk9Ijk2Ij5UZXN0IHJlc3VsdDogPHRzcGFuIGlkPSJyZXN1bHQiPjwvdHNwYW4+
PC90ZXh0PgogPHNjcmlwdD4KLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQot
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAogICAgIHZh
ciBmID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImYiKTsKICAgICBmLnBhcmVudE5vZGUucmVt
b3ZlQ2hpbGQoZik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2ZvbnQtcGxh
dGZvcm1EZXN0cm95LWNyYXNoLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZm9udC1wbGF0
Zm9ybURlc3Ryb3ktY3Jhc2guc3ZnCmluZGV4IDQyNTM4ZDIzMTY0ZTI3YTMyOTVhZTJhYWMzNDEw
ZmQ2MmY5YzI5YmEuLjYzMmFlOTQ4ZmM0MGVlZGExMTFlNDc2NWRkYjIzNWQ0YTk2ZTYzNTMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZm9udC1wbGF0Zm9ybURlc3Ryb3ktY3Jh
c2guc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZm9udC1wbGF0Zm9ybURlc3Ryb3kt
Y3Jhc2guc3ZnCkBAIC0yMiw4ICsyMiw4IEBACiAgICAgPC9nPgogCiAgICAgPHNjcmlwdD48IVtD
REFUQVsKLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKICAg
ICAgICAgdmFyIHN0eWxlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0eWxlIik7CiAgICAg
ICAgIHZhciBwYXJlbnQgPSBzdHlsZS5wYXJlbnROb2RlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9mb3JlaWduT2JqZWN0LWNyYXNoLW9uLWhvdmVyLnhtbCBiL0xheW91dFRl
c3RzL3N2Zy9jdXN0b20vZm9yZWlnbk9iamVjdC1jcmFzaC1vbi1ob3Zlci54bWwKaW5kZXggZTQ0
NzlkZmJkMTU5ZWM0MjJkYjIzYWI0MWNkOGM5OTg2NTc5MjhjZC4uOWE2ZjViYzZlZjU2MmIxM2Nl
NGFiZWEzMmZiODNhZGRiMTY5YjcxNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9mb3JlaWduT2JqZWN0LWNyYXNoLW9uLWhvdmVyLnhtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL2ZvcmVpZ25PYmplY3QtY3Jhc2gtb24taG92ZXIueG1sCkBAIC0yMSwxMSArMjEsMTEg
QEAKICAgPHNjcmlwdD4KICAgZnVuY3Rpb24gcmVwYWludFRlc3QoKSB7CiAgICAgaWYgKHdpbmRv
dy5ldmVudFNlbmRlcikgewotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxE
b25lKCk7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgICAgICBldmVu
dFNlbmRlci5tb3VzZU1vdmVUbygxMDAsIDEwMCk7CiAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNl
VXAoKTsKICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7Ci0gICAgICAgIHNldFRpbWVv
dXQoImxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKSIsIDApOworICAgICAgICBzZXRU
aW1lb3V0KCJ0ZXN0UnVubmVyLm5vdGlmeURvbmUoKSIsIDApOwogICAgIH0KICAgfQogICA8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZm9yZWlnbm9iamVjdC1j
cmFzaC13aXRoLWFic29sdXRlLXBvc2l0aW9uZWQtY2hpbGRyZW4uc3ZnIGIvTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS9mb3JlaWdub2JqZWN0LWNyYXNoLXdpdGgtYWJzb2x1dGUtcG9zaXRpb25lZC1j
aGlsZHJlbi5zdmcKaW5kZXggNjhkMWU0NzQ3ODg3ZDdkNmI1MjFlZDEwMGI2MmZlMzhhYTY2ZjA4
ZS4uMWYxZmRhZTU5MWM0Y2E0ZThlOTRhMzgwMmFkZDA1YzE5NGZhNzNiMCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9mb3JlaWdub2JqZWN0LWNyYXNoLXdpdGgtYWJzb2x1dGUt
cG9zaXRpb25lZC1jaGlsZHJlbi5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9mb3Jl
aWdub2JqZWN0LWNyYXNoLXdpdGgtYWJzb2x1dGUtcG9zaXRpb25lZC1jaGlsZHJlbi5zdmcKQEAg
LTEsNyArMSw3IEBACiA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiA8
c2NyaXB0PgotICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiA8L3NjcmlwdD4KIAogICAgIDxmb3JlaWduT2Jq
ZWN0ICB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiA+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL2ZyYW1lLWdldFNWR0RvY3VtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL2ZyYW1lLWdldFNWR0RvY3VtZW50Lmh0bWwKaW5kZXggNDYyZGU1MjFmYTFlODM3OGNk
MWQ1NTcxYjUxOGYwYWEyNGY0MTU3MS4uOTIwN2Q2OTgyNzMxODM4MzE1ZDRmNzA3NGZhZjZkYThk
ZDIwZWQ0NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9mcmFtZS1nZXRTVkdE
b2N1bWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZnJhbWUtZ2V0U1ZHRG9j
dW1lbnQuaHRtbApAQCAtOSw4ICs5LDggQEAKIDxzY3JpcHQ+CiAgIGRlc2NyaXB0aW9uKCJUZXN0
cyB0aGF0IEhUTUxGcmFtZUVsZW1lbnQgYW5kIEhUTUxJRnJhbWVFbGVtZW50IGV4cG9zZSBhIGdl
dFNWR0RvY3VtZW50IGFjY2Vzc29yIik7CiAKLSAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAogICB2
YXIgZnJhbWU7CiAgIHZhciBpZnJhbWU7CkBAIC02OSw4ICs2OSw4IEBACiAgIH0KIAogICBmdW5j
dGlvbiBjb21wbGV0ZVRlc3QoKSB7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKLSAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgfQogICAK
ICAgc3RhcnRUZXN0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2ctb3V0
c2lkZS1zdmcuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZy1vdXRzaWRlLXN2Zy5odG1s
CmluZGV4IGNjNWRhMjI2YjIxNjg2Y2MwYTA0YWFhNTA1MDgxOTAwNzU0YTRiMmIuLjg0OTk3ODNh
NjBiMjQ5YWUwZjM3MjRhZWFjYTdhOGZhMTk4MzhlMTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N2Zy9jdXN0b20vZy1vdXRzaWRlLXN2Zy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0
b20vZy1vdXRzaWRlLXN2Zy5odG1sCkBAIC0xLDYgKzEsNiBAQAogPHNjcmlwdD4KLWlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOwogPC9zY3JpcHQ+CiBUaGUgU1ZHIGluIHRoZSBiZWxvdyBmcmFtZSBzaG91bGQgbm90IHJl
bmRlciBvciBjcmFzaC48L2JyPgogPGlmcmFtZSBzcmM9J2RhdGE6YXBwbGljYXRpb24veGh0bWwr
eG1sLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nZXQtdGV4dC1lbGVtZW50
LXRyYW5zZm9ybS1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nZXQtdGV4dC1l
bGVtZW50LXRyYW5zZm9ybS1jcmFzaC5odG1sCmluZGV4IDIwZGUwN2FkODcyYWE3ZDc0ODg2M2Qy
ZjI2NmRjN2VmMDY2MDNiNTAuLjU5MDI5MGJiZDcyYjI5ODAwNzVmZDYxN2ZkMGMwY2RhYjU2OTAz
MzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZ2V0LXRleHQtZWxlbWVudC10
cmFuc2Zvcm0tY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dldC10ZXh0
LWVsZW1lbnQtdHJhbnNmb3JtLWNyYXNoLmh0bWwKQEAgLTUsOCArNSw4IEBACiAgICAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjcmFzaCIpLmdldFRyYW5zZm9ybVRvRWxlbWVudCgpOwog
ICAgICAgfQogCi0gICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgeworICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAgIH0K
IAogICAgIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nZXRC
Qm94LWVtcHR5LWNvbnRhaW5lci5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nZXRCQm94
LWVtcHR5LWNvbnRhaW5lci5odG1sCmluZGV4IDBkNjY0YTlmNWZiZWExNmQyMDMxMmViNDcyNzIz
OThiNjU2NWI0N2YuLmU4ZDNjZjQwMmI1OWQ3ODlmYTc0ZjE2NzMzMzZjNGFiZGY3NTNlZjggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZ2V0QkJveC1lbXB0eS1jb250YWluZXIu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dldEJCb3gtZW1wdHktY29udGFpbmVy
Lmh0bWwKQEAgLTQsOCArNCw4IEBACiAgICAgPGhlYWQ+CiAgICAgICAgIDxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgICAgIGZ1bmN0aW9uIGNoZWNrQm91bmRpbmdCb3hl
c0VxdWFsKCkgewotICAgICAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCi0gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KCk7CisgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICAgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKICAgICAgICAg
ICAgICAgICAvLyBFbnN1cmUgYm90aCBib3hlcyBhcmUgdGhlIHNhbWUgc2l6ZSwgbWVhbmluZyB0
aGUgZW1wdHkgPGc+IGRvZXMgbm90IGFmZmVjdCB0aGUgYmJveCBzaXplLgogICAgICAgICAgICAg
ICAgIHZhciBiYm94QSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnYScpLmdldEJCb3goKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZ2V0QkJveC1qcy5zdmcgYi9MYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL2dldEJCb3gtanMuc3ZnCmluZGV4IGQwNWZkMjQ4NzM5YWNjZDg1
MTZiNTI5MmE0Yjk5ZWI3N2NhYTc3NTMuLmE5NzdhZTMwZGQ4YzJlYzgzODliMGJkZWZjYTk4OWQy
NzE1NjdhOGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZ2V0QkJveC1qcy5z
dmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nZXRCQm94LWpzLnN2ZwpAQCAtNCw4ICs0
LDggQEAKICAgPCFbQ0RBVEFbCiAgICAgZnVuY3Rpb24gaW5pdCgpCiAgICAgewotICAgICAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAgICAgdmFyIGcgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwgImciKTsK
ICAgICAgICAgZG9jdW1lbnQucm9vdEVsZW1lbnQuYXBwZW5kQ2hpbGQoZyk7CiAgICAgICAgIHZh
ciB0eHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAv
c3ZnIiwgInRleHQiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZ2V0QkJv
eC1wYXRoLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZ2V0QkJveC1wYXRoLnN2ZwppbmRl
eCAyMWRjYTkzNDMxYmJhZTBiZDYyNDljZTQyYzJlZmZiYTkwOTA4ZWZlLi5lYmQ4NTEyNDVmMDUx
Y2EzMzY4MTZlZDY2YzYyYjQ4ZDJhM2ZjZWFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL2dldEJCb3gtcGF0aC5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nZXRC
Qm94LXBhdGguc3ZnCkBAIC00LDggKzQsOCBAQAogICA8IVtDREFUQVsKICAgICBmdW5jdGlvbiBp
bml0KCkKICAgICB7Ci0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0g
ICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OwogICAgICAgICB2YXIgdHh0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHQiKTsKICAg
ICAgICAgc2l6ZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzaGFwZSIpLmdldEJCb3goKTsK
ICAgICAgICAgdmFyIHBhc3NTdGF0ZSA9ICJGQUlMIjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N2Zy9jdXN0b20vZ2V0QkJveC1wZXJwZW5kaWN1bGFyLXBhdGguc3ZnIGIvTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS9nZXRCQm94LXBlcnBlbmRpY3VsYXItcGF0aC5zdmcKaW5kZXggY2Y1YThiZDdi
NTZkYWU3NDFjMzIxMDg5NmU5NTAzODEzMjlkNmIyZS4uOGM1ZDVlOGQwOGI3MjlmMjUzOGU3YTU5
ODljMDdjNDU1OTA0NGRkYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nZXRC
Qm94LXBlcnBlbmRpY3VsYXItcGF0aC5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9n
ZXRCQm94LXBlcnBlbmRpY3VsYXItcGF0aC5zdmcKQEAgLTYsOCArNiw4IEBACiAgIDwhW0NEQVRB
WwogICAgIGZ1bmN0aW9uIGluaXQoKQogICAgIHsKLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgICAgIHZhciB0eHQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGV4dCIpOwogICAgICAgICBzaXplID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNo
YXBlIikuZ2V0QkJveCgpOwogICAgICAgICB2YXIgcGFzc1N0YXRlID0gIkZBSUwiOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nZXRzY3JlZW5jdG0taW4tbWl4ZWQtY29udGVu
dDIueGh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dldHNjcmVlbmN0bS1pbi1taXhlZC1j
b250ZW50Mi54aHRtbAppbmRleCA3ZjdmODg4ZGIyOTU3NmFlZDgyZjZhZDVmZDczOWVjZTVlYWIx
Mzc4Li44ZDAyOWVmNTE2NmQwMTQ2N2FiZGQxNjJmZGEwY2QyYWQwZDU4MjMzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dldHNjcmVlbmN0bS1pbi1taXhlZC1jb250ZW50Mi54
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dldHNjcmVlbmN0bS1pbi1taXhlZC1j
b250ZW50Mi54aHRtbApAQCAtMTcsOCArMTcsOCBAQAogICAgICAgfTsKIAogICAgICAgZnVuY3Rp
b24gcnVuVGVzdCAoKSB7Ci0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
Ci0gICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
CiAKICAgICAgICAgdmFyIHJlY3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjdCcpOwog
ICAgICAgICB0cnkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9ncmFkaWVu
dC1hdHRyLXVwZGF0ZS5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dyYWRpZW50LWF0dHIt
dXBkYXRlLnN2ZwppbmRleCAyMjQ5MzM0MWRmN2ExMTIyNDAxMmM3NDRkYTIyMGZlMTA5ZmJkZTQx
Li41YjFlMzZkMWRhMDcxMThmOTc3YzkzYjM3MGU3OTM3NTA4ZjQ0NzVjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dyYWRpZW50LWF0dHItdXBkYXRlLnN2ZworKysgYi9MYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL2dyYWRpZW50LWF0dHItdXBkYXRlLnN2ZwpAQCAtMiwxNiArMiwx
NiBAQAogPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEgQmFzaWMvL0VO
IiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEtYmFzaWMuZHRk
Ij4KIDxzdmcgdmVyc2lvbj0iMS4xIiBiYXNlUHJvZmlsZT0iYmFzaWMiIHhtbG5zPSJodHRwOi8v
d3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkv
eGxpbmsiIGlkPSJzdmctcm9vdCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgb25sb2FkPSJw
YWdlTG9hZGVkKCkiPgogICAgICA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKLSAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwor
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHdpbmRvdy50ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKIAogZnVuY3Rpb24gbXlmdW5jKCkgewogICAgICAgICB2YXIgbXlSZWN0ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInJlY3QiKTsKICAgICAgICAgbXlSZWN0LnNldEF0dHJpYnV0ZU5T
KG51bGwsICdmaWxsJywgInVybCgjZ3JhZGllbnQxKSIpOwogICAgICAgICB2YXIgbXlTdG9wID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIk9GIik7CiAgICAgICAgIG15U3RvcC5zZXRBdHRyaWJ1
dGVOUyhudWxsLCAnc3RvcC1jb2xvcicsICdncmVlbicpOwotICAgICAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90
aWZ5RG9uZSgpOworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKIH0KIAogZnVuY3Rpb24gY2xpY2tOb3coKSB7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dyYWRpZW50LXN0b3AtZGlzcGxheS1ub25l
LWNyYXNoLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZ3JhZGllbnQtc3RvcC1kaXNwbGF5
LW5vbmUtY3Jhc2guc3ZnCmluZGV4IGE1NzcxNWE3ZjY4Njg1MmQzYWYwM2E3OWZiN2VmZDk3OWIy
M2ZhZmQuLmE1NzJmNzA0ZGI5MWViMmJlNGFjOTlmNTQ2NDBmZTNjYzVlYmMyYTMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZ3JhZGllbnQtc3RvcC1kaXNwbGF5LW5vbmUtY3Jh
c2guc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZ3JhZGllbnQtc3RvcC1kaXNwbGF5
LW5vbmUtY3Jhc2guc3ZnCkBAIC0xLDcgKzEsNyBAQAogPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53
My5vcmcvMjAwMC9zdmciPgogICAgIDxzY3JpcHQ+Ci0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIDwvc2NyaXB0PgogICAgIDxkZWZzPgogICAgICAgICA8
bGluZWFyR3JhZGllbnQgaWQ9ImdyYWQxIiB4MT0iMCUiIHkxPSIwJSIgeDI9IjEwMCUiIHkyPSIw
JSI+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2hpdC10ZXN0LXBhdGgtc3Ry
b2tlLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vaGl0LXRlc3QtcGF0aC1zdHJva2Uuc3Zn
CmluZGV4IGUyNjE1YzRkNGJmNjM1OGQyNjBmMDUwZWE2ODMwZDMyODc5ODY2ZGMuLjg1MzQ1ZmE1
MTVlMzg2YjYyZTg0OWQ5YzZjMGFkY2Q1NjQ1NTY1MDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N2Zy9jdXN0b20vaGl0LXRlc3QtcGF0aC1zdHJva2Uuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2
Zy9jdXN0b20vaGl0LXRlc3QtcGF0aC1zdHJva2Uuc3ZnCkBAIC0xNSw4ICsxNSw4IEBACiA8c3Zn
IHZlcnNpb249IjEuMSIgYmFzZVByb2ZpbGU9ImJhc2ljIiB4bWxucz0iaHR0cDovL3d3dy53My5v
cmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBp
ZD0ic3ZnLXJvb3QiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCA0ODAg
MzYwIiBvbmxvYWQ9ImNsaWNrTGlua05vdygpIj4KIAogPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB3aW5kb3cudGVzdFJ1bm5l
ci53YWl0VW50aWxEb25lKCk7CiAKIGZ1bmN0aW9uIGNsaWNrTGlua05vdygpIHsKICAgICBpZiAo
d2luZG93LmV2ZW50U2VuZGVyKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L2hpdC10ZXN0LXBhdGguc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9oaXQtdGVzdC1wYXRo
LnN2ZwppbmRleCBhNDI2YjYzZWUwNTY4Y2ExYTc3MmIwMzk0ZDc2MGFlNWQwNjAwMDYzLi4xY2E4
Y2E4OWVjNTJmYmM5NzNmYWU3OTYzZTU1NzhmNzI1ODkwMzYzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL2hpdC10ZXN0LXBhdGguc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9j
dXN0b20vaGl0LXRlc3QtcGF0aC5zdmcKQEAgLTE1LDggKzE1LDggQEAKIDxzdmcgdmVyc2lvbj0i
MS4xIiBiYXNlUHJvZmlsZT0iYmFzaWMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2
ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGlkPSJzdmctcm9v
dCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDQ4MCAzNjAiIG9ubG9h
ZD0iY2xpY2tMaW5rTm93KCkiPgogCiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKLSAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgp
OworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHdpbmRvdy50ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKIAogZnVuY3Rpb24gY2xpY2tMaW5rTm93KCkgewogICAgIGlmICh3aW5kb3cuZXZl
bnRTZW5kZXIpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vaGl0LXRlc3Qt
dW5jbG9zZWQtc3VicGF0aHMuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9oaXQtdGVzdC11
bmNsb3NlZC1zdWJwYXRocy5zdmcKaW5kZXggN2M4NzExZmE5ZjQ4OThkODI3MzQxY2ZkMGVjNDRh
NTk0NmJlMTU1MS4uYmY3ZjE5MzYwYzIwYWMwYTI2MjAzYWZjNzM5N2IwOTMzNTM2MmUxZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9oaXQtdGVzdC11bmNsb3NlZC1zdWJwYXRo
cy5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9oaXQtdGVzdC11bmNsb3NlZC1zdWJw
YXRocy5zdmcKQEAgLTMsMTMgKzMsMTMgQEAKIDxzY3JpcHQ+CiBmdW5jdGlvbiBjbGlja0hhbmRs
ZXIoZXZ0KSB7CiAgICAgZXZ0LnRhcmdldC5zdHlsZS5maWxsID0gImdyZWVuIjsKLSAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5ub3RpZnlEb25lKCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKIH0KIAogZnVuY3Rpb24gcmVwYWludFRlc3QoKSB7CiAgIGlm
ICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKLSAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKKyAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgICAgZXZl
bnRTZW5kZXIubW91c2VNb3ZlVG8oNTAsIDUwKTsKICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93
bigpOwogICAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9oaXQtdGVzdC13aXRoLWJyLnhodG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS9oaXQtdGVzdC13aXRoLWJyLnhodG1sCmluZGV4IDcxZTk0MWRlMWIxZGY0ZjFiZTBkOTRk
ZTdlYzI2MjgwZTc0OGRkMTguLmU2ZTA2YTQ4NDBjY2Q2MDM4NTRlODVjMGVhNDQ0YTg4ZjJlNDEz
ZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vaGl0LXRlc3Qtd2l0aC1ici54
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2hpdC10ZXN0LXdpdGgtYnIueGh0bWwK
QEAgLTUsMTMgKzUsMTMgQEAKIDxzY3JpcHQ+CiBmdW5jdGlvbiBjbGlja0hhbmRsZXIoZXZ0KSB7
CiAgICAgZXZ0LnRhcmdldC5zdHlsZS5maWxsID0gImdyZWVuIjsKLSAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlE
b25lKCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKIH0KIAogZnVuY3Rpb24gcmVwYWludFRlc3QoKSB7CiAgICAgaWYgKHdpbmRv
dy5ldmVudFNlbmRlcikgewotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxE
b25lKCk7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgICAgICBldmVu
dFNlbmRlci5tb3VzZU1vdmVUbyg1MCwgODApOwogICAgICAgICBldmVudFNlbmRlci5tb3VzZURv
d24oKTsKICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS9pbWFnZS1iYXNlLXVyaS5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL2ltYWdlLWJhc2UtdXJpLnN2ZwppbmRleCAwYjIzNWQzZjY0OTM5ZjQxNTMzYzI0NDJmNmY4
YTlkNTVmNzljNGYzLi5iYWVjNGJiNTQ3Nzg3YjZlNDBiY2UzYTZiZDY0MTEwMTdkNjhmYmNkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2ltYWdlLWJhc2UtdXJpLnN2ZworKysg
Yi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2ltYWdlLWJhc2UtdXJpLnN2ZwpAQCAtMiw4ICsyLDgg
QEAKIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICA8IVtDREFUQVsKLSAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0
KCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKICAgICB2YXIgdHh0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCdodHRwOi8v
d3d3LnczLm9yZy8yMDAwL3N2ZycsICJ0ZXh0Iik7CiAgICAgdHh0LnNldEF0dHJpYnV0ZSgiaWQi
LCAiY29uc29sZSIpOwogICAgIHR4dC50ZXh0Q29udGVudCA9ICJQQVNTIjsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N2Zy9jdXN0b20vaW1hZ2UtY2xpcHBlZC1oaXQuc3ZnIGIvTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9pbWFnZS1jbGlwcGVkLWhpdC5zdmcKaW5kZXggNzk1MjM0N2FkMzczNjhi
ZDYxNTU0NDg0MTc4ZjE4NzgwOTY2YmRkYS4uOWJhMjU1YzU2YjBmMzkyODI2N2Q0MTBmMjM1ZjAx
MWE3NDg2OGQ5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9pbWFnZS1jbGlw
cGVkLWhpdC5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9pbWFnZS1jbGlwcGVkLWhp
dC5zdmcKQEAgLTEsOCArMSw4IEBACiA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAw
L3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG9ubG9hZD0i
cnVuVGVzdCgpIj4KICAgIDxzY3JpcHQ+CiAgICA8IVtDREFUQVsKLWlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCi0gIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKK2lm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKIHZhciBj
bGlja2VkID0gZmFsc2U7CiAKQEAgLTM4LDcgKzM4LDcgQEAgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
IH0KIAogZnVuY3Rpb24gZ290Q2xpY2soKSB7Ci0gIGlmICghd2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQorICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQogICAgIGFsZXJ0KCJDbGlja2VkIGhp
ZGRlbiBpbWFnZSBAICIgKyBldmVudC5jbGllbnRYICsgIiwgIiArIGV2ZW50LmNsaWVudFkpOwog
ICBjbGlja2VkID0gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20v
aW1hZ2UtcmVzY2FsZS1zY3JvbGwuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vaW1hZ2Ut
cmVzY2FsZS1zY3JvbGwuaHRtbAppbmRleCBiNGNjZDBhY2I4ZjI5OWRjNzcyOGJhOTY5NzY3MTFi
NTA4M2UwYmEwLi43ZGU2MzQ0MzVlOGQxMzA5ZDdkZDhlMTIxMzBmYjA3M2RhNTY3ODY5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2ltYWdlLXJlc2NhbGUtc2Nyb2xsLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9pbWFnZS1yZXNjYWxlLXNjcm9sbC5odG1sCkBA
IC0xNSwxMiArMTUsMTIgQEAgSW1hZ2VTa2lhIHRvIGRvIGEgcGFydGlhbCBsb2FkLCBhcyB0aGlz
IGlzIGEgcHJlY29uZGl0aW9uIG9mIHRoZSByZWdyZXNzaW9uLgogICAgIHZhciBvY2NsdWRlciA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvY2NsdWRlcicpOwogICAgIG9jY2x1ZGVyLnN0eWxl
LnRvcCA9IDYwMDsKIAotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgIH0KIAotICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKKyAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOwogCiA8L3NjcmlwdD4KIDxib2R5IG9uTG9hZD0iZG9TY3JvbGwoKTsiIHN0
eWxlPSJvdmVyZmxvdzpoaWRkZW47Ij4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0
b20vaW1hZ2Utd2l0aC1wcmVmaXgtaW4td2ViYXJjaGl2ZS1leHBlY3RlZC53ZWJhcmNoaXZlIGIv
TGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9pbWFnZS13aXRoLXByZWZpeC1pbi13ZWJhcmNoaXZlLWV4
cGVjdGVkLndlYmFyY2hpdmUKaW5kZXggNWU2M2E5MjczMGZjMGMwOTE5Y2ExODc4OGJjYjIwZTU3
MDI2MTE4Yi4uMzgzMzJhMjcyZjkzY2QxZDg5ZjA3MWIwY2E3ZmVjMzE2NGFkZjRlOCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9pbWFnZS13aXRoLXByZWZpeC1pbi13ZWJhcmNo
aXZlLWV4cGVjdGVkLndlYmFyY2hpdmUKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9pbWFn
ZS13aXRoLXByZWZpeC1pbi13ZWJhcmNoaXZlLWV4cGVjdGVkLndlYmFyY2hpdmUKQEAgLTcsOCAr
Nyw4IEBACiAJCTxrZXk+V2ViUmVzb3VyY2VEYXRhPC9rZXk+CiAJCTxzdHJpbmc+Jmx0O3N2Zzpz
dmcgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0
dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiJmd0OwogICZsdDtzdmc6c2NyaXB0Jmd0OwotICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBET01Bc1dlYkFyY2hpdmUoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHRlc3RSdW5uZXIuZHVtcERPTUFzV2ViQXJjaGl2ZSgpOwogICAmbHQ7L3N2Zzpz
Y3JpcHQmZ3Q7CiAgICZsdDtzdmc6aW1hZ2UgeGxpbms6aHJlZj0icmVzb3VyY2VzL2dyZWVuLWNo
ZWNrZXIucG5nIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIvJmd0OwogJmx0Oy9zdmc6c3ZnJmd0
Ozwvc3RyaW5nPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9pbWFnZS13aXRo
LXByZWZpeC1pbi13ZWJhcmNoaXZlLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vaW1hZ2Ut
d2l0aC1wcmVmaXgtaW4td2ViYXJjaGl2ZS5zdmcKaW5kZXggZjZiOTVkY2UwZGE2MzkwNWEyYTU1
YzUyOTMzNzZmZGIzYTlhZGJkZS4uNGM3NGM3NmM0YTlmZjUyYWVhMGM1YjJkNzMyZjRhN2EwZDUz
MjU5NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9pbWFnZS13aXRoLXByZWZp
eC1pbi13ZWJhcmNoaXZlLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2ltYWdlLXdp
dGgtcHJlZml4LWluLXdlYmFyY2hpdmUuc3ZnCkBAIC0xLDggKzEsOCBAQAogPHN2ZzpzdmcgeG1s
bnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgICAgeG1sbnM6eGxpbms9Imh0
dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogIDxzdmc6c2NyaXB0PgotICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBET01Bc1dlYkFyY2hpdmUoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHRlc3RSdW5uZXIuZHVtcERPTUFzV2ViQXJjaGl2ZSgpOwogICA8L3N2ZzpzY3JpcHQ+CiAgIDxz
dmc6aW1hZ2UgeGxpbms6aHJlZj0icmVzb3VyY2VzL2dyZWVuLWNoZWNrZXIucG5nIiB3aWR0aD0i
MTAwIiBoZWlnaHQ9IjEwMCIgLz4KIDwvc3ZnOnN2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N2Zy9jdXN0b20vaW5zZXJ0SXRlbUJlZm9yZS1mcm9tLW5vbi1saXN0LW9yaWdpbi5zdmcgYi9M
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL2luc2VydEl0ZW1CZWZvcmUtZnJvbS1ub24tbGlzdC1vcmln
aW4uc3ZnCmluZGV4IGZlMGMxOWJlNDVjMWQ2NDAxZDEyNWYzOTE2Y2E4OTE2MDhmODUyNzYuLjM2
OWQ5NGYyMjI4MmE4NTdhMDJjYTdkODY2Y2Q2YjUzY2YwZTQ2OTYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vaW5zZXJ0SXRlbUJlZm9yZS1mcm9tLW5vbi1saXN0LW9yaWdpbi5z
dmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9pbnNlcnRJdGVtQmVmb3JlLWZyb20tbm9u
LWxpc3Qtb3JpZ2luLnN2ZwpAQCAtMSw4ICsxLDggQEAKIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cu
dzMub3JnLzIwMDAvc3ZnIj4KIDx0ZXh0IHg9IjEwIiB5PSI1MCI+VGhpcyB0ZXN0IHBhc3NlZCwg
aWYgaXQgZG9lc24ndCBjcmFzaCBpbiBhIGRlYnVnIGJ1aWxkIChmaXJlcyBhc3NlcnRpb24pLjwv
dGV4dD4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiB9CiAKIHZhciBvRkVDb252b2x2ZU1h
dHJpeCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9z
dmciLCAiZmVDb252b2x2ZU1hdHJpeCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS9pbnRlcnNlY3Rpb24tbGlzdC1jbGlwcGluZy5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL2ludGVyc2VjdGlvbi1saXN0LWNsaXBwaW5nLnN2ZwppbmRleCA5ZjgyNWRmYmNiY2EzZWRi
MmJkODllMmZkODQ0YTZiZTZiOTA1NzMyLi44MTdkMGUyODI5ZDk4YWJlZTI4NDkwNmIzODgwYWMx
ODdlZmVhNTYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2ludGVyc2VjdGlv
bi1saXN0LWNsaXBwaW5nLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2ludGVyc2Vj
dGlvbi1saXN0LWNsaXBwaW5nLnN2ZwpAQCAtMSw4ICsxLDggQEAKIDw/eG1sIHZlcnNpb249IjEu
MCIgZW5jb2Rpbmc9IlVURi04Ij8+CiA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAw
L3N2ZyIgaWQ9InJvb3QiIG9ubG9hZD0icnVuVGVzdCgpIj4KICAgPHNjcmlwdD4KLSAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KCk7CisgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKIAogICBmdW5jdGlvbiBydW5UZXN0KCkKICAgewpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS9pbnRlcnNlY3Rpb24tbGlzdC1jcmFzaC5zdmcgYi9MYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL2ludGVyc2VjdGlvbi1saXN0LWNyYXNoLnN2ZwppbmRleCBlYWM2NGJlMGE4
NTRiNWJkZTAyMGNmMDBkNmYxZmM0MzcwNzRmMDY2Li4wN2JlNjQyNDY1ODI0NTJjMDE5ZTYzNDBi
NzE2OWIzMDJkY2VhZjc0IDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2ludGVy
c2VjdGlvbi1saXN0LWNyYXNoLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2ludGVy
c2VjdGlvbi1saXN0LWNyYXNoLnN2ZwpAQCAtMyw4ICszLDggQEAKIC5jMTpudGgtbGFzdC1vZi10
eXBlKDFuKSB7IH0KIDwvc3R5bGU+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CitpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKIGZ1bmN0aW9u
IHJ1blRlc3QoKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9pbnRlcnNl
Y3Rpb24tbGlzdC1uZXN0ZWQtc3ZnLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vaW50ZXJz
ZWN0aW9uLWxpc3QtbmVzdGVkLXN2Zy5zdmcKaW5kZXggNDU3ZDI3ZjdjMmMzNmIwNmRmZjgwYjVm
ZDVmMDM1YjYwMzIxYjYwNy4uZTU0MzRjNWNhODVmZDgzNWRhNTgwYmMyNmU1ZDg4MWFmMWFlYTBk
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9pbnRlcnNlY3Rpb24tbGlzdC1u
ZXN0ZWQtc3ZnLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2ludGVyc2VjdGlvbi1s
aXN0LW5lc3RlZC1zdmcuc3ZnCkBAIC0xLDggKzEsOCBAQAogPD94bWwgdmVyc2lvbj0iMS4wIiBl
bmNvZGluZz0iVVRGLTgiPz4KIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3Zn
IiBpZD0icm9vdCIgb25sb2FkPSJydW5UZXN0KCkiPgogICA8c2NyaXB0PgotICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsKKyAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOwogCiAgIGZ1bmN0aW9uIHJ1blRlc3QoKQogICB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL2ludGVyc2VjdGlvbi1saXN0LW51bGwuc3ZnIGIvTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9pbnRlcnNlY3Rpb24tbGlzdC1udWxsLnN2ZwppbmRleCAzYWRlOWYxYjE0MjZiMzk4
OTVjOTYyYjJhNTFjMWYyYzJmYTZlY2M0Li40MmQ2MmNmNGY4YjU0NGYwNWZlMzdlMDQ5ZWMxOWQw
MWVhOTQxZjViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2ludGVyc2VjdGlv
bi1saXN0LW51bGwuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vaW50ZXJzZWN0aW9u
LWxpc3QtbnVsbC5zdmcKQEAgLTIsOCArMiw4IEBACiA8c3ZnIGlkPSJyb290IiB4bWxucz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMC9zdmciIG9ubG9hZD0icnVuVGVzdCgpIj4KICAgPHNjcmlwdD4K
ICAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKICAgICAgICAgdmFyIHJvb3QgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1l
bnQ7CiAgICAgICAgIHJvb3QuY2hlY2tJbnRlcnNlY3Rpb24obnVsbCwgcm9vdC5jcmVhdGVTVkdS
ZWN0KCkpOwogICAgICAgICByb290LmNoZWNrRW5jbG9zdXJlKG51bGwsIHJvb3QuY3JlYXRlU1ZH
UmVjdCgpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vaW52YWxpZC1ncmFk
aWVudC13aXRoLXhsaW5rLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vaW52YWxpZC1ncmFk
aWVudC13aXRoLXhsaW5rLnN2ZwppbmRleCAxNWZjYWI5NTgwMmQyMjM1ZjA1NTc2ZGMwNzIwODE1
NWYyYWJmOTJjLi45ZmNkMDk3Yzc1MWQxMDFhOWYwMDUzMWM5MDk1MzUyN2Y0YjljY2JmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2ludmFsaWQtZ3JhZGllbnQtd2l0aC14bGlu
ay5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9pbnZhbGlkLWdyYWRpZW50LXdpdGgt
eGxpbmsuc3ZnCkBAIC02LDggKzYsOCBAQAogICAgd2lkdGg9IjIwMCINCiAgICBoZWlnaHQ9IjIw
MCI+DQogPHNjcmlwdD48IVtDREFUQVsNCi0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikNCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQodHJ1ZSk7DQor
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikNCisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCh0cnVlKTsNCiBdXT48L3NjcmlwdD4NCiA8ZGVmcz4NCiAgIDxsaW5lYXJHcmFkaWVudCBpZD0i
bGluZWFyR3JhZGllbnQwIj4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2lu
dmFsaWQtcGFpbnQtc2hhcGUtbWFzay5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2ludmFs
aWQtcGFpbnQtc2hhcGUtbWFzay5zdmcKaW5kZXggY2NkYjQ2MTg0MmYzMDM2NWFhYzNiZTdlYzU0
MTY0MmQxMThhNjJlOC4uZTEyMDRhYzIzY2JhNzZiN2I1MGM1Y2M5MDA1OTA3MzY0YjY0NDY1NCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9pbnZhbGlkLXBhaW50LXNoYXBlLW1h
c2suc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vaW52YWxpZC1wYWludC1zaGFwZS1t
YXNrLnN2ZwpAQCAtMSw4ICsxLDggQEAKIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIw
MDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAKIDxz
Y3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiA8L3NjcmlwdD4KIAogPGZpbHRl
ciBpZD0iaW52YWxpZF9wYWludCI+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L2pzLWxhdGUtY2xpcFBhdGgtYW5kLW9iamVjdC1jcmVhdGlvbi5zdmcgYi9MYXlvdXRUZXN0cy9z
dmcvY3VzdG9tL2pzLWxhdGUtY2xpcFBhdGgtYW5kLW9iamVjdC1jcmVhdGlvbi5zdmcKaW5kZXgg
YWU2NzZjMGMzYjVhN2NiZTliNWU0YTFjN2Y0NzVhMmUzYjIxZTQzZi4uMDk5NDViMWRiOWYwYzYz
MThmNTRkOWExMzFiNTc4ZmIyZTkwYTY0ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS9qcy1sYXRlLWNsaXBQYXRoLWFuZC1vYmplY3QtY3JlYXRpb24uc3ZnCisrKyBiL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vanMtbGF0ZS1jbGlwUGF0aC1hbmQtb2JqZWN0LWNyZWF0aW9uLnN2
ZwpAQCAtNiw4ICs2LDggQEAKIDxzY3JpcHQ+CiAgICAgdmFyIGNvbnRlbnQgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGVudCIpOwogICAgIGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkgewot
ICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICAg
ICAgc2V0VGltZW91dChjcmVhdGVPYmplY3QsIDApOwogICAgIH0KIApAQCAtMzgsOCArMzgsOCBA
QAogICAgICAgICBjbGlwUGF0aC5hcHBlbmRDaGlsZChwYXRoKTsKICAgICAgICAgY29udGVudC5h
cHBlbmRDaGlsZChjbGlwUGF0aCk7CiAKLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsK
KyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7CiAgICAgfQogPC9zY3JpcHQ+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N2Zy9jdXN0b20vanMtbGF0ZS1jbGlwUGF0aC1jcmVhdGlvbi5zdmcgYi9MYXlvdXRUZXN0cy9z
dmcvY3VzdG9tL2pzLWxhdGUtY2xpcFBhdGgtY3JlYXRpb24uc3ZnCmluZGV4IDQ5ODI2MDZkYTU1
NWEyYmI4OWQ5MzM4OTdlMGJiNzVlM2YwMGIxZTguLjg5ODU3YTRmNjNmNzk3Mjc0MmU5YjlkOWNm
MzhjYzZhMjAyNjJkMWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vanMtbGF0
ZS1jbGlwUGF0aC1jcmVhdGlvbi5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9qcy1s
YXRlLWNsaXBQYXRoLWNyZWF0aW9uLnN2ZwpAQCAtOSw4ICs5LDggQEAKICAgICB2YXIgY29udGVu
dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250ZW50Iik7CiAKICAgICBmdW5jdGlvbiBy
ZXBhaW50VGVzdCgpIHsKLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
LSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50
aWxEb25lKCk7CiAgICAgICAgIHNldFRpbWVvdXQoY3JlYXRlQ2xpcFBhdGgsIDApOwogICAgIH0K
IApAQCAtMjYsOCArMjYsOCBAQAogICAgICAgICBjbGlwUGF0aC5hcHBlbmRDaGlsZChwYXRoKTsK
ICAgICAgICAgY29udGVudC5hcHBlbmRDaGlsZChjbGlwUGF0aCk7CiAKLSAgICAgICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgfQogPC9zY3JpcHQ+CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vanMtbGF0ZS1ncmFkaWVudC1hbmQtb2JqZWN0
LWNyZWF0aW9uLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vanMtbGF0ZS1ncmFkaWVudC1h
bmQtb2JqZWN0LWNyZWF0aW9uLnN2ZwppbmRleCAxMzljMDQxYjg3NjE5YTRkODM0NDdiOGE2ZGY3
NzE5MGEzZGMyZDk3Li43NWM3YzcxMDY4MGIzZmQyMmJmMWRjZGY1MjA1MTZkODcwYjFhYjg3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2pzLWxhdGUtZ3JhZGllbnQtYW5kLW9i
amVjdC1jcmVhdGlvbi5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9qcy1sYXRlLWdy
YWRpZW50LWFuZC1vYmplY3QtY3JlYXRpb24uc3ZnCkBAIC04LDggKzgsOCBAQAogICAgIHZhciBj
b250ZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRlbnQiKTsKIAogICAgIGZ1bmN0
aW9uIHJlcGFpbnRUZXN0KCkgewotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwor
ICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKICAgICAgICAgc2V0VGltZW91dChjcmVhdGVHcmFkaWVudHMsIDApOwog
ICAgIH0KIApAQCAtODcsOCArODcsOCBAQAogCiAgICAgICAgIGNvbnRlbnQuYXBwZW5kQ2hpbGQo
dGV4dDMpOwogCi0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAg
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwog
ICAgIH0KIDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2pz
LWxhdGUtZ3JhZGllbnQtY3JlYXRpb24uc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9qcy1s
YXRlLWdyYWRpZW50LWNyZWF0aW9uLnN2ZwppbmRleCBlMzExNmY5ZmFlNTZlYzQ2YWY2NjQ4YWRh
MGE3ZmU5M2EyMzFhYjcxLi5iNjc3NWM5MWRlNDAzMTlhNjFjODhjMWI2MjdjM2RkNmU0YzI1ZGRm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2pzLWxhdGUtZ3JhZGllbnQtY3Jl
YXRpb24uc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vanMtbGF0ZS1ncmFkaWVudC1j
cmVhdGlvbi5zdmcKQEAgLTksOCArOSw4IEBACiAgICAgdmFyIGNvbnRlbnQgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGVudCIpOwogCiAgICAgZnVuY3Rpb24gcmVwYWludFRlc3QoKSB7
Ci0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAg
ICAgICBzZXRUaW1lb3V0KGNyZWF0ZUdyYWRpZW50LCAwKTsKICAgICB9CiAKQEAgLTM0LDggKzM0
LDggQEAKIAogICAgICAgICBjb250ZW50LmFwcGVuZENoaWxkKGdyYWRpZW50KTsKIAotICAgICAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICB9CiA8L3NjcmlwdD4K
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9qcy1sYXRlLW1hcmtlci1hbmQt
b2JqZWN0LWNyZWF0aW9uLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vanMtbGF0ZS1tYXJr
ZXItYW5kLW9iamVjdC1jcmVhdGlvbi5zdmcKaW5kZXggNzlmYWEzNDk0ODI5MjRiOTRiOTg3NjE0
YjQ3NWY0NDY0ZjZmYzY1Ni4uOWVlYzc1ODQ2YjdhMDQ4Yjg2MzY1ZTg1YWM4NWZiN2FhNDY0MWJj
ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9qcy1sYXRlLW1hcmtlci1hbmQt
b2JqZWN0LWNyZWF0aW9uLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2pzLWxhdGUt
bWFya2VyLWFuZC1vYmplY3QtY3JlYXRpb24uc3ZnCkBAIC0xOCw4ICsxOCw4IEBACiAgICAgdmFy
IGNvbnRlbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGVudCIpOwogCiAgICAgZnVu
Y3Rpb24gcmVwYWludFRlc3QoKSB7Ci0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCi0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7
CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOwogICAgICAgICBzZXRUaW1lb3V0KGNyZWF0ZU9iamVjdCwgMCk7CiAg
ICAgfQogCkBAIC01OSw4ICs1OSw4IEBACiAgICAgICAgIG1hcmtlci5hcHBlbmRDaGlsZChjaXJj
bGUpOwogICAgICAgICBkZWZzLmFwcGVuZENoaWxkKG1hcmtlcik7CiAKLSAgICAgICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgfQogPC9zY3JpcHQ+CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vanMtbGF0ZS1tYXJrZXItY3JlYXRpb24uc3Zn
IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9qcy1sYXRlLW1hcmtlci1jcmVhdGlvbi5zdmcKaW5k
ZXggMzFmMWFjYjg2NDMxMGE1OWY3Y2NiZGM2MzFkZDMyYzgxMTQxMWYyMi4uNDU4NWVjMDFkMTAx
YjI5NjY3Zjg1NmI2ZmJkYWJjMjdkYWJlMmJmYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9qcy1sYXRlLW1hcmtlci1jcmVhdGlvbi5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9qcy1sYXRlLW1hcmtlci1jcmVhdGlvbi5zdmcKQEAgLTE4LDggKzE4LDggQEAKICAg
ICB2YXIgZGVmcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZWZzIik7CiAKICAgICBmdW5j
dGlvbiByZXBhaW50VGVzdCgpIHsKLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsK
KyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CiAgICAgICAgIHNldFRpbWVvdXQoY3JlYXRlTWFya2VyLCAwKTsKICAg
ICB9CiAKQEAgLTQ0LDggKzQ0LDggQEAKICAgICAgICAgbWFya2VyLmFwcGVuZENoaWxkKGNpcmNs
ZSk7CiAgICAgICAgIGRlZnMuYXBwZW5kQ2hpbGQobWFya2VyKTsKIAotICAgICAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIubm90aWZ5RG9uZSgpOworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICB9CiA8L3NjcmlwdD4KIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9qcy1sYXRlLW1hc2stYW5kLW9iamVjdC1jcmVh
dGlvbi5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2pzLWxhdGUtbWFzay1hbmQtb2JqZWN0
LWNyZWF0aW9uLnN2ZwppbmRleCAyNjU3NDE5OTgyYWY4Y2I3ZTQ5Y2IyZDcyODAyYjZjNDNiNzk5
M2IxLi5jMDkzN2VhMTdjNDY5NTdhYjQzZDBlNDBhMzQxZTMyNWNkOTE0YzU0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2pzLWxhdGUtbWFzay1hbmQtb2JqZWN0LWNyZWF0aW9u
LnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2pzLWxhdGUtbWFzay1hbmQtb2JqZWN0
LWNyZWF0aW9uLnN2ZwpAQCAtOSw4ICs5LDggQEAKICAgICB2YXIgY29udGVudCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250ZW50Iik7CiAKICAgICBmdW5jdGlvbiByZXBhaW50VGVzdCgp
IHsKLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAg
ICAgICAgIHNldFRpbWVvdXQoY3JlYXRlT2JqZWN0LCAwKTsKICAgICB9CiAKQEAgLTQ1LDggKzQ1
LDggQEAKICAgICAgICAgbWFzay5hcHBlbmRDaGlsZChyZWN0KTsKICAgICAgICAgY29udGVudC5h
cHBlbmRDaGlsZChtYXNrKTsKIAotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKICAgICB9CiA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9qcy1sYXRlLW1hc2stY3JlYXRpb24uc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9qcy1sYXRlLW1hc2stY3JlYXRpb24uc3ZnCmluZGV4IDQ4ZGY5MzdmZTgzMTNiZWQwNmU4N2U5
YmYyMjBlYTM2MTAzMWFiMTEuLjgxNTA1NDMwY2I1M2I5OWZiMDg1ZWNlNzlmNmEwMTdmNmY1ZmIy
MDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vanMtbGF0ZS1tYXNrLWNyZWF0
aW9uLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2pzLWxhdGUtbWFzay1jcmVhdGlv
bi5zdmcKQEAgLTEwLDggKzEwLDggQEAKICAgICB2YXIgY29udGVudCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250ZW50Iik7CiAKICAgICBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsKLSAg
ICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgICAg
IHNldFRpbWVvdXQoY3JlYXRlTWFzaywgMCk7CiAgICAgfQogCkBAIC0zMyw4ICszMyw4IEBACiAg
ICAgICAgIG1hc2suYXBwZW5kQ2hpbGQocmVjdCk7CiAgICAgICAgIGNvbnRlbnQuYXBwZW5kQ2hp
bGQobWFzayk7CiAKLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAg
ICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
CiAgICAgfQogPC9zY3JpcHQ+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20v
anMtbGF0ZS1wYXR0ZXJuLWFuZC1vYmplY3QtY3JlYXRpb24uc3ZnIGIvTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9qcy1sYXRlLXBhdHRlcm4tYW5kLW9iamVjdC1jcmVhdGlvbi5zdmcKaW5kZXggMmVk
ODY3MDkzY2QwM2UyZDExOTVlZTRjZGI0NzBkMzlkNGNlZmRkNS4uODk0YzQzY2M1MzYwODdhZDRj
NDA5ZjRjZDZhNzc3ZjNmZDk1ZDI3OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9qcy1sYXRlLXBhdHRlcm4tYW5kLW9iamVjdC1jcmVhdGlvbi5zdmcKKysrIGIvTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9qcy1sYXRlLXBhdHRlcm4tYW5kLW9iamVjdC1jcmVhdGlvbi5zdmcKQEAg
LTgsOCArOCw4IEBACiAgICAgdmFyIGNvbnRlbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udGVudCIpOwogCiAgICAgZnVuY3Rpb24gcmVwYWludFRlc3QoKSB7Ci0gICAgICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgICAgICBzZXRUaW1lb3V0
KGNyZWF0ZVBhdHRlcm5zLCAwKTsKICAgICB9CiAKQEAgLTEwNiw4ICsxMDYsOCBAQAogCiAgICAg
ICAgIGNvbnRlbnQuYXBwZW5kQ2hpbGQodGV4dDMpOwogCi0gICAgICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgIH0KIDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL2pzLWxhdGUtcGF0dGVybi1jcmVhdGlvbi5zdmcgYi9MYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL2pzLWxhdGUtcGF0dGVybi1jcmVhdGlvbi5zdmcKaW5kZXggODJh
MjI1ZmQ1NDIyYzVhOWViMmEzNWVhMmYzM2E5ODBjODRkOTI1NS4uN2RjNDNlYmExOWM5YTQ2YWY3
NTAwNzdkNTgyZmVkNGJkODZjZTM2YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9qcy1sYXRlLXBhdHRlcm4tY3JlYXRpb24uc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0
b20vanMtbGF0ZS1wYXR0ZXJuLWNyZWF0aW9uLnN2ZwpAQCAtOSw4ICs5LDggQEAKICAgICB2YXIg
Y29udGVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250ZW50Iik7CiAKICAgICBmdW5j
dGlvbiByZXBhaW50VGVzdCgpIHsKLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsK
KyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CiAgICAgICAgIHNldFRpbWVvdXQoY3JlYXRlUGF0dGVybiwgMCk7CiAg
ICAgfQogCkBAIC00Myw4ICs0Myw4IEBACiAKICAgICAgICAgY29udGVudC5hcHBlbmRDaGlsZChw
YXR0ZXJuKTsKIAotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAg
ICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
ICAgICB9CiA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9q
cy1zdmctY29uc3RydWN0b3JzLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vanMtc3ZnLWNv
bnN0cnVjdG9ycy5zdmcKaW5kZXggODU4NzEzNzFiYWMwOTc0ODRhN2E3ZTEzZTZmOWI1OGYyNWUw
YmI3Yy4uNjRjOGVjNGU5YmU3MTUxZGRlODYwZDhlMmUxMjc3MWE2ZmFkZGE1ZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9qcy1zdmctY29uc3RydWN0b3JzLnN2ZworKysgYi9M
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL2pzLXN2Zy1jb25zdHJ1Y3RvcnMuc3ZnCkBAIC0xLDggKzEs
OCBAQAogPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KIDxzdmcgeG1sbnM9
Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBvbmxvYWQ9InJ1blRlc3QoKSI+CiAgIDxzY3Jp
cHQgdHlwZT0idGV4dC9lY21hc2NyaXB0Ij48IVtDREFUQVsKLSAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQotICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOwogCiAgICAgZnVuY3Rpb24gZXhwZWN0KHN0cmluZywgdmFsKSB7CiAgICAgICB2YXIgYiA9
IGV2YWwoc3RyaW5nKSA9PSB2YWw7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L2pzLXVwZGF0ZS1jb250YWluZXIyLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vanMtdXBk
YXRlLWNvbnRhaW5lcjIuc3ZnCmluZGV4IDgyNGIzNTdjZjMyMzdhYjk2MDRhODdlZDI4ODkxZDY4
NGY4MmUyYmMuLjllMWIwZGEyYjY4YTE5MDc3MjFlOGMxYzQ0YTkxZjEwZGRiNDNkMmIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vanMtdXBkYXRlLWNvbnRhaW5lcjIuc3ZnCisr
KyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vanMtdXBkYXRlLWNvbnRhaW5lcjIuc3ZnCkBAIC01
LDcgKzUsNyBAQAogPHNjcmlwdCB0eXBlPSJ0ZXh0L2VjbWFzY3JpcHQiPjwhW0NEQVRBWwogZnVu
Y3Rpb24gcmVwYWludFRlc3QoKSB7CiAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewotICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygy
MCwgMjApOwogICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKICAgICAgICAgZXZlbnRT
ZW5kZXIubW91c2VVcCgpOwpAQCAtMzIsOCArMzIsOCBAQCBmdW5jdGlvbiBtb3VzZUhhbmRsZXIo
ZXZ0KSB7CiAKIGZ1bmN0aW9uIG1vdXNlSGFuZGxlckxhc3QoZXZ0KSB7CiAgICAgbW91c2VIYW5k
bGVyKGV2dCk7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiB9CiBdXT48L3NjcmlwdD4K
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9qcy11cGRhdGUtaW1hZ2UtYW5k
LWRpc3BsYXkuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9qcy11cGRhdGUtaW1hZ2UtYW5k
LWRpc3BsYXkuc3ZnCmluZGV4IDgzMThiOGM5ZTVhMWM2MjI1NzNkMGE0MjMyNThlYTMyNjZiZTU1
ZTguLmJkODMzODk3ODU0Y2FmNGYwOWZjM2VhZTk0OTQ2MTg3YWVmMjAyYmEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3N2Zy9jdXN0b20vanMtdXBkYXRlLWltYWdlLWFuZC1kaXNwbGF5LnN2Zwor
KysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2pzLXVwZGF0ZS1pbWFnZS1hbmQtZGlzcGxheS5z
dmcKQEAgLTIsOCArMiw4IEBACiA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2
ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG9ubG9hZD0idGVz
dCgpIj4KIDxpbWFnZSBpZD0iaW1hZ2UiIHhsaW5rOmhyZWY9IiIgd2lkdGg9Ijc1IiBoZWlnaHQ9
Ijc1IiAvPgogPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCiBmdW5jdGlvbiB0ZXN0KCkg
ewogICAgIC8vIHNldApAQCAtMTgsOCArMTgsOCBAQCBmdW5jdGlvbiB0ZXN0KCkgewogICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbWFnZSIpLnNldEF0dHJpYnV0ZU5TKCJodHRwOi8vd3d3
LnczLm9yZy8xOTk5L3hsaW5rIiwgImhyZWYiLCAicmVzb3VyY2VzL2dyZWVuLWNoZWNrZXIucG5n
Iik7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImltYWdlIikuc2V0QXR0cmlidXRlKCJk
aXNwbGF5IiwgImluaGVyaXQiKTsKIAotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogfQog
CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vanMtdXBkYXRl
LWltYWdlLWFuZC1kaXNwbGF5Mi5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2pzLXVwZGF0
ZS1pbWFnZS1hbmQtZGlzcGxheTIuc3ZnCmluZGV4IGM4YzJhNDdhZTUyZGMxM2IyYTY1OTg1NmZm
NGY1ZDBlNTU4ZmViYzYuLjYyYzAwZWIyZTU3MzJkNTRlN2FhMzAxOWJmMTY5MmJjNmViNTYxMTgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vanMtdXBkYXRlLWltYWdlLWFuZC1k
aXNwbGF5Mi5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9qcy11cGRhdGUtaW1hZ2Ut
YW5kLWRpc3BsYXkyLnN2ZwpAQCAtMiw4ICsyLDggQEAKIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cu
dzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlu
ayIgb25sb2FkPSJ0ZXN0KCkiPgogPGltYWdlIGlkPSJpbWFnZSIgeGxpbms6aHJlZj0iIiB3aWR0
aD0iNzUiIGhlaWdodD0iNzUiIC8+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CitpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKIGZ1
bmN0aW9uIHRlc3QoKSB7CiAgICAgLy8gcmVtb3ZlCkBAIC0xNCw4ICsxNCw4IEBAIGZ1bmN0aW9u
IHRlc3QoKSB7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImltYWdlIikuc2V0QXR0cmli
dXRlTlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCAiaHJlZiIsICJyZXNvdXJjZXMv
Z3JlZW4tY2hlY2tlci5wbmciKTsKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW1hZ2Ui
KS5zZXRBdHRyaWJ1dGUoImRpc3BsYXkiLCAiaW5oZXJpdCIpOwogCi0gICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7CiB9CiAKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9qcy11cGRhdGUtaW1hZ2UtYW5kLWRpc3BsYXkzLnN2ZyBiL0xheW91dFRlc3RzL3N2
Zy9jdXN0b20vanMtdXBkYXRlLWltYWdlLWFuZC1kaXNwbGF5My5zdmcKaW5kZXggMWMwOTJmYTM3
MDBiMDI3MzcyNWY1NDA2ODEzYzM2YmFjNjM1OTlmZS4uZGNmNGJmYzZmOGZmZTdkYTVlNGU4MWY4
ZjgwOGUzZDhkZDFiNzM0YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9qcy11
cGRhdGUtaW1hZ2UtYW5kLWRpc3BsYXkzLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L2pzLXVwZGF0ZS1pbWFnZS1hbmQtZGlzcGxheTMuc3ZnCkBAIC0yLDggKzIsOCBAQAogPHN2ZyB4
bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3
LnczLm9yZy8xOTk5L3hsaW5rIiBvbmxvYWQ9InRlc3QoKSI+CiA8aW1hZ2UgaWQ9ImltYWdlIiB4
bGluazpocmVmPSIiIHdpZHRoPSI3NSIgaGVpZ2h0PSI3NSIgLz4KIDxzY3JpcHQ+Ci1pZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKIAogZnVuY3Rpb24gdGVzdCgpIHsKICAgICAvLyBzZXQKQEAgLTE5LDggKzE5
LDggQEAgZnVuY3Rpb24gdGVzdCgpIHsKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW1h
Z2UiKS5ocmVmLmJhc2VWYWwgPSAicmVzb3VyY2VzL2dyZWVuLWNoZWNrZXIucG5nIjsKICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW1hZ2UiKS5zZXRBdHRyaWJ1dGUoImRpc3BsYXkiLCAi
aW5oZXJpdCIpOwogCi0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiB9CiAKIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9sYXlvdXQtbG9vcC5zdmcgYi9M
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL2xheW91dC1sb29wLnN2ZwppbmRleCA3MTJjNGQyZGM2Nzg1
ZjEwMTY5MTlmYmQwZTQ1MjRiY2U2NGRjNTJmLi4yMWY2Y2QyMjlhMjQ0MTRlMzVmZmZmNjU0Nzdk
NGJmMTdiN2M2NGNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2xheW91dC1s
b29wLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2xheW91dC1sb29wLnN2ZwpAQCAt
MjEsOCArMjEsOCBAQAogCiA8dGV4dD5QQVNTLCBpZiBpdCBkb2Vzbid0IGNyYXNoLjwvdGV4dD4K
IDxzY3JpcHQ+PCFbQ0RBVEFbCi1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiKTsKIHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKIHJhbmdlLnNldFN0
YXJ0QmVmb3JlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdG9wIikpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9saW5raW5nLWEtMDMtYi1hbGwuc3ZnIGIvTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9saW5raW5nLWEtMDMtYi1hbGwuc3ZnCmluZGV4IGM4ZTc3ODMyZDNmNmEz
OTk2NzA3ZWE4ODc1YjgwMTgwY2M0M2YyMWQuLjE3NWNlYzI3MzBmODkyZjFhMjBhYjdmYmU2OTYy
MTlmZDUyNmUxZDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbGlua2luZy1h
LTAzLWItYWxsLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2xpbmtpbmctYS0wMy1i
LWFsbC5zdmcKQEAgLTE0LDggKzE0LDggQEAKIDwhLS09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CiA8c3ZnIHZl
cnNpb249IjEuMSIgYmFzZVByb2ZpbGU9ImJhc2ljIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBpZD0i
c3ZnLXJvb3QiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCA0ODAgMzYw
IiBvbmxvYWQ9ImNsaWNrTGlua05vdygpIj4KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9lY21hc2Ny
aXB0Ij48IVtDREFUQVsKLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgd2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKK2lmICh3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICB3aW5kb3cudGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKIGZ1bmN0
aW9uIGNsaWNrTGlua05vdygpIHsKICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2xpbmtpbmctYS0wMy1iLXByZXNlcnZlQXNw
ZWN0UmF0aW8uc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9saW5raW5nLWEtMDMtYi1wcmVz
ZXJ2ZUFzcGVjdFJhdGlvLnN2ZwppbmRleCBhMDAyZGI5ZmNmOGUyZWQxMTAzZDI3MDEyOWQ0OTI4
YjQxZmEwY2JkLi4wYjExNTA0NjZjYjU2MDliNGEwNjFjYTE4OTBiMzQ4NjEyNWExMmJjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2xpbmtpbmctYS0wMy1iLXByZXNlcnZlQXNw
ZWN0UmF0aW8uc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbGlua2luZy1hLTAzLWIt
cHJlc2VydmVBc3BlY3RSYXRpby5zdmcKQEAgLTE0LDggKzE0LDggQEAKIDwhLS09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09LS0+CiA8c3ZnIHZlcnNpb249IjEuMSIgYmFzZVByb2ZpbGU9ImJhc2ljIiB4bWxucz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
OTk5L3hsaW5rIiBpZD0ic3ZnLXJvb3QiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdC
b3g9IjAgMCA0ODAgMzYwIiBvbmxvYWQ9ImNsaWNrTGlua05vdygpIj4KICAgIDxzY3JpcHQgdHlw
ZT0idGV4dC9lY21hc2NyaXB0Ij48IVtDREFUQVsKLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCi0gICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsK
K2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB3aW5kb3cudGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7CiAKIGZ1bmN0aW9uIGNsaWNrTGlua05vdygpIHsKICAgICBpZiAod2luZG93LmV2ZW50
U2VuZGVyKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2xpbmtpbmctYS0w
My1iLXRyYW5zZm9ybS5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2xpbmtpbmctYS0wMy1i
LXRyYW5zZm9ybS5zdmcKaW5kZXggZWU1NzMxMGZmMTdiYTQ4ZjhhYTRjNWQzYjc3YTY5MWVmZWY3
YWQyNC4uZjQ3NWNmMzIwZjcxYjBhMWNiYjVmN2I0YmM1NmNlMWJmN2YxNjVlZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9saW5raW5nLWEtMDMtYi10cmFuc2Zvcm0uc3ZnCisr
KyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbGlua2luZy1hLTAzLWItdHJhbnNmb3JtLnN2ZwpA
QCAtMTQsOCArMTQsOCBAQAogPCEtLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KIDxzdmcgdmVyc2lvbj0iMS4x
IiBiYXNlUHJvZmlsZT0iYmFzaWMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIg
eG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGlkPSJzdmctcm9vdCIg
d2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDQ4MCAzNjAiIG9ubG9hZD0i
Y2xpY2tMaW5rTm93KCkiPgogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2VjbWFzY3JpcHQiPjwhW0NE
QVRBWwotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICB3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQor
ICAgIHdpbmRvdy50ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAogZnVuY3Rpb24gY2xpY2tM
aW5rTm93KCkgewogICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N2Zy9jdXN0b20vbGlua2luZy1hLTAzLWItdmlld0JveC10cmFuc2Zvcm0uc3Zn
IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9saW5raW5nLWEtMDMtYi12aWV3Qm94LXRyYW5zZm9y
bS5zdmcKaW5kZXggNDI4MTRlZTZkYzhmMjg2ZGZiYTA1MTJjZDc5YjdiNjI3ZTYwN2Q1MS4uMzI0
Nzc0N2VkYjcxYzU1MzEzOWE5MDhkZGM1YTVjY2Q3ZTcxYzFkZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS9saW5raW5nLWEtMDMtYi12aWV3Qm94LXRyYW5zZm9ybS5zdmcKKysr
IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9saW5raW5nLWEtMDMtYi12aWV3Qm94LXRyYW5zZm9y
bS5zdmcKQEAgLTE0LDggKzE0LDggQEAKIDwhLS09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CiA8c3ZnIHZlcnNp
b249IjEuMSIgYmFzZVByb2ZpbGU9ImJhc2ljIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAw
MC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBpZD0ic3Zn
LXJvb3QiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCA0ODAgMzYwIiBv
bmxvYWQ9ImNsaWNrTGlua05vdygpIj4KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9lY21hc2NyaXB0
Ij48IVtDREFUQVsKLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgd2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKK2lmICh3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICB3aW5kb3cudGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKIGZ1bmN0aW9u
IGNsaWNrTGlua05vdygpIHsKICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2xpbmtpbmctYS0wMy1iLXZpZXdCb3guc3ZnIGIv
TGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9saW5raW5nLWEtMDMtYi12aWV3Qm94LnN2ZwppbmRleCBk
NjZhZTJhN2U4ZDhhNDczNWM2MmZmMWRiOGYxOGFjMzhlZjBlZWU3Li4zNGM3YWI4MDY3MzM0ZmIx
OWNiZTljYmM5NThlYjk5YjQzZGE4NTgzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL2xpbmtpbmctYS0wMy1iLXZpZXdCb3guc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0
b20vbGlua2luZy1hLTAzLWItdmlld0JveC5zdmcKQEAgLTE0LDggKzE0LDggQEAKIDwhLS09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09LS0+CiA8c3ZnIHZlcnNpb249IjEuMSIgYmFzZVByb2ZpbGU9ImJhc2ljIiB4bWxu
cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3Lncz
Lm9yZy8xOTk5L3hsaW5rIiBpZD0ic3ZnLXJvb3QiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUi
IHZpZXdCb3g9IjAgMCA0ODAgMzYwIiBvbmxvYWQ9ImNsaWNrTGlua05vdygpIj4KICAgIDxzY3Jp
cHQgdHlwZT0idGV4dC9lY21hc2NyaXB0Ij48IVtDREFUQVsKLWlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCi0gICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERv
bmUoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB3aW5kb3cudGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7CiAKIGZ1bmN0aW9uIGNsaWNrTGlua05vdygpIHsKICAgICBpZiAod2luZG93
LmV2ZW50U2VuZGVyKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2xpbmtp
bmctYS0wMy1iLXZpZXdUYXJnZXQuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9saW5raW5n
LWEtMDMtYi12aWV3VGFyZ2V0LnN2ZwppbmRleCBlNjcwMTQwMjMyNmY3MDg1ZjRhMWQxOWY3Y2U2
OGJhMGI3YTFlNjdhLi5mYjM4ZTlkNDYwNjkzYzQ1OGYwOWI5MjhhNjFkNDY2Njk4NmMzMjM5IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2xpbmtpbmctYS0wMy1iLXZpZXdUYXJn
ZXQuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbGlua2luZy1hLTAzLWItdmlld1Rh
cmdldC5zdmcKQEAgLTE0LDggKzE0LDggQEAKIDwhLS09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CiA8c3ZnIHZl
cnNpb249IjEuMSIgYmFzZVByb2ZpbGU9ImJhc2ljIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBpZD0i
c3ZnLXJvb3QiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCA0ODAgMzYw
IiBvbmxvYWQ9ImNsaWNrTGlua05vdygpIj4KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9lY21hc2Ny
aXB0Ij48IVtDREFUQVsKLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgd2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKK2lmICh3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICB3aW5kb3cudGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKIGZ1bmN0
aW9uIGNsaWNrTGlua05vdygpIHsKICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2xpbmtpbmctYS0wMy1iLXpvb21BbmRQYW4u
c3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9saW5raW5nLWEtMDMtYi16b29tQW5kUGFuLnN2
ZwppbmRleCBlZGM3ZmFkYmE1YzIyYjc2YjhkNDcwZDRlYjMyMjZiZDU1MjViZjBhLi4wMzc1MTRl
NGUyNTk0ZjAwOWQxMWJjYTkxY2I4NDYyMWY3YTU4NjI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL2xpbmtpbmctYS0wMy1iLXpvb21BbmRQYW4uc3ZnCisrKyBiL0xheW91dFRl
c3RzL3N2Zy9jdXN0b20vbGlua2luZy1hLTAzLWItem9vbUFuZFBhbi5zdmcKQEAgLTE0LDggKzE0
LDggQEAKIDwhLS09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09LS0+CiA8c3ZnIHZlcnNpb249IjEuMSIgYmFzZVByb2Zp
bGU9ImJhc2ljIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5r
PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBpZD0ic3ZnLXJvb3QiIHdpZHRoPSIxMDAl
IiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCA0ODAgMzYwIiBvbmxvYWQ9ImNsaWNrTGlua05v
dygpIj4KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9lY21hc2NyaXB0Ij48IVtDREFUQVsKLWlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgd2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyLndhaXRVbnRpbERvbmUoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB3aW5kb3cu
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKIGZ1bmN0aW9uIGNsaWNrTGlua05vdygpIHsK
ICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dmcvY3VzdG9tL2xpbmtpbmctdXJpLTAxLWIuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9s
aW5raW5nLXVyaS0wMS1iLnN2ZwppbmRleCBkZDg4NjQ4NzdiMTQ2NzRiMmExZDJjMzE3ODczYjlj
Yjk5ZjAyN2YzLi5lODNhOWU3OWYwMTk3OTQ3ODA0YmM0ZDlmNzg5MTBjMGFjZWIzN2U0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2xpbmtpbmctdXJpLTAxLWIuc3ZnCisrKyBi
L0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbGlua2luZy11cmktMDEtYi5zdmcKQEAgLTExLDEzICsx
MSwxMyBAQAogCiAgIDwhLS09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CiA8c2NyaXB0IHR5cGU9InRleHQvZWNt
YXNjcmlwdCI+PCFbQ0RBVEFbCi1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAg
IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CitpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgd2luZG93LnRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCiBm
dW5jdGlvbiBsaW5rQ2xpY2tlZCgpCiB7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKLSAgICAgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsK
KyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKIH0KIAogZnVuY3Rpb24gY2xpY2tMaW5rKCkgewpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS9sb2FkZXZlbnRzLWNhcHR1cmluZy5zdmcgYi9MYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL2xvYWRldmVudHMtY2FwdHVyaW5nLnN2ZwppbmRleCA2ODFmODdlOGVmODc0
YmIwOGEyYjNhOGM0NGYyZGUzNjBjNGU1NGYwLi4xNGI4MDZmN2YzOGJjOGZmMWE4MWFhM2M2ZDdj
YzcxOTZjMmRlZjc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2xvYWRldmVu
dHMtY2FwdHVyaW5nLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2xvYWRldmVudHMt
Y2FwdHVyaW5nLnN2ZwpAQCAtMSw4ICsxLDggQEAKIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMu
b3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+
CiAgIDxzY3JpcHQ+CiAgICAgPCFbQ0RBVEFbCi0gICAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cisg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOwogCiAgICAgICB2YXIgcmVzdWx0cyA9IFsgXTsKICAgICAgIGZ1bmN0aW9uIGhhbmRsZXIo
ZXZlbnQpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2xvYWRldmVudHMtZXh0
ZXJuYWxyZXNvdXJjZXNyZXF1aXJlZC1kaXNwbGF5bm9uZS5zdmcgYi9MYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL2xvYWRldmVudHMtZXh0ZXJuYWxyZXNvdXJjZXNyZXF1aXJlZC1kaXNwbGF5bm9uZS5z
dmcKaW5kZXggYmJjYTE5Nzc1NDYyYTllZWZlNTI2MTg4M2E3MWM3ODhkZDE1MjAwZC4uYTgzNDM1
MGI2YTI2ZWFmNGU2OWQ3NWFmMjY0NjcwYTc0YjFjN2MzNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9sb2FkZXZlbnRzLWV4dGVybmFscmVzb3VyY2VzcmVxdWlyZWQtZGlzcGxh
eW5vbmUuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbG9hZGV2ZW50cy1leHRlcm5h
bHJlc291cmNlc3JlcXVpcmVkLWRpc3BsYXlub25lLnN2ZwpAQCAtMSw4ICsxLDggQEAKIDxzdmcg
eG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3
dy53My5vcmcvMTk5OS94bGluayIgb25sb2FkPSJyZXBvcnRMb2FkRXZlbnQodGhpcyk7cnVuVGVz
dCgpOyI+CiAgIDxzY3JpcHQ+CiAgICAgPCFbQ0RBVEFbCi0gICAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0
KCk7CisgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOwogCiAgICAgICB2YXIgcmVzdWx0cyA9IG5ldyBBcnJheSgpOwogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2xvYWRldmVudHMtZXh0ZXJuYWxyZXNvdXJjZXNy
ZXF1aXJlZC5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2xvYWRldmVudHMtZXh0ZXJuYWxy
ZXNvdXJjZXNyZXF1aXJlZC5zdmcKaW5kZXggYmIzNzdkZTk3Mjk3ZmE0NmFkMWRjMjM1ZDMwZGFi
NWQ4ZjMzYzFjMC4uNDBlMjdiYzFhNzA3OWQxZmY5YjlmZWNmZGQwMzA4MjllNzRlNjAxNCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9sb2FkZXZlbnRzLWV4dGVybmFscmVzb3Vy
Y2VzcmVxdWlyZWQuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbG9hZGV2ZW50cy1l
eHRlcm5hbHJlc291cmNlc3JlcXVpcmVkLnN2ZwpAQCAtMSw4ICsxLDggQEAKIDxzdmcgeG1sbnM9
Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5v
cmcvMTk5OS94bGluayIgb25sb2FkPSJyZXBvcnRMb2FkRXZlbnQodGhpcyk7cnVuVGVzdCgpOyI+
CiAgIDxzY3JpcHQ+CiAgICAgPCFbQ0RBVEFbCi0gICAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cisg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOwogCiAgICAgICB2YXIgcmVzdWx0cyA9IG5ldyBBcnJheSgpOwogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL2xvYWRldmVudHMtbm9ybWFsLWRpc3BsYXlub25lLnN2ZyBi
L0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbG9hZGV2ZW50cy1ub3JtYWwtZGlzcGxheW5vbmUuc3Zn
CmluZGV4IDJiODkzMzZlZGFmODQyYWYxYzY2MmU4YjRiYjViMzBlZDViMzc3OTAuLjc1ZjViNTU1
YzkzYWE3ZjdjNGM0ODM1MDJlNTAxODYxYjA2OWRjNDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N2Zy9jdXN0b20vbG9hZGV2ZW50cy1ub3JtYWwtZGlzcGxheW5vbmUuc3ZnCisrKyBiL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vbG9hZGV2ZW50cy1ub3JtYWwtZGlzcGxheW5vbmUuc3ZnCkBAIC0x
LDggKzEsOCBAQAogPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5z
OnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBvbmxvYWQ9InJlcG9ydExvYWRF
dmVudCh0aGlzKTtydW5UZXN0KCk7Ij4KICAgPHNjcmlwdD4KICAgICA8IVtDREFUQVsKLSAgICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKICAgICAgIHZhciByZXN1bHRzID0gbmV3IEFy
cmF5KCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbG9hZGV2ZW50cy1u
b3JtYWwuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9sb2FkZXZlbnRzLW5vcm1hbC5zdmcK
aW5kZXggOGJkYjMxYTU2ODE4MzIyNmFiNjRkN2M3MTc0OTIyN2ZhZmM5NDM2My4uZGYyZGFkNGEz
ZGQ1YmRiOTViOTIwZGY4MDIyM2M3YThjZmE3Y2VjYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS9sb2FkZXZlbnRzLW5vcm1hbC5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS9sb2FkZXZlbnRzLW5vcm1hbC5zdmcKQEAgLTEsOCArMSw4IEBACiA8c3ZnIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3Jn
LzE5OTkveGxpbmsiIG9ubG9hZD0icmVwb3J0TG9hZEV2ZW50KHRoaXMpO3J1blRlc3QoKTsiPgog
ICA8c2NyaXB0PgogICAgIDwhW0NEQVRBWwotICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKIAogICAgICAgdmFyIHJlc3VsdHMgPSBuZXcgQXJyYXkoKTsKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtZW1iZWRkZWQtc3ZnLWFsbG93ZWQt
aW4tZGFzaGJvYXJkLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL21hbnVhbGx5LXBhcnNl
ZC1lbWJlZGRlZC1zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQuaHRtbAppbmRleCAzYTdiZTQ1M2Ux
MDUwOWFjNTdmMzZhNGMyYTM3MWM0ZGI2YTY4NGIzLi5kMDQzYzUyMzkzMmIxN2NkY2IyN2ZlM2Zk
MmVlMTAzYzQ3OTlhMjU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL21hbnVh
bGx5LXBhcnNlZC1lbWJlZGRlZC1zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL21hbnVhbGx5LXBhcnNlZC1lbWJlZGRlZC1zdmctYWxsb3dl
ZC1pbi1kYXNoYm9hcmQuaHRtbApAQCAtOCw5ICs4LDkgQEAKICAgICAgICAgICAgIGMuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoc3RyICsgJ1xuJykpOwogICAgICAgICB9CiAg
ICAgICAgIAotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAg
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRVc2VEYXNoYm9hcmRDb21wYXRpYmlsaXR5
TW9kZSh0cnVlKTsKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQo
KTsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICB0ZXN0UnVu
bmVyLnNldFVzZURhc2hib2FyZENvbXBhdGliaWxpdHlNb2RlKHRydWUpOworICAgICAgICAgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4KICAgICA8
Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbWFudWFsbHktcGFyc2Vk
LXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9t
YW51YWxseS1wYXJzZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwKaW5kZXggMWYwNWI1
NTNmYmM2NTRkZjVhMzU0YWVhYTc2MTQ0YzgxZTk1ZDJkZC4uNGQ2NzViNzY5Y2RkZDY4Y2Q4ZGFm
NDg1ZTQ3MjdmMmUzZWJhM2NjNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9t
YW51YWxseS1wYXJzZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJk
Lmh0bWwKQEAgLTgsOSArOCw5IEBACiAgICAgICAgICAgICBjLmFwcGVuZENoaWxkKGRvY3VtZW50
LmNyZWF0ZVRleHROb2RlKHN0ciArICdcbicpKTsKICAgICAgICAgfQogICAgICAgICAKLSAgICAg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuc2V0VXNlRGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1vZGUodHJ1ZSk7Ci0g
ICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VEYXNo
Ym9hcmRDb21wYXRpYmlsaXR5TW9kZSh0cnVlKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOwogICAgICAgICB9CiAgICAgPC9zY3JpcHQ+CiAgICAgPGJvZHk+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL21hcmtlci1nZXRQcm9wZXJ0eVZhbHVlLnN2ZyBi
L0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbWFya2VyLWdldFByb3BlcnR5VmFsdWUuc3ZnCmluZGV4
IDI5NjFjODQyNjBiOGM2YjVkYTkzYjhmYzg4MDliNTJkZjI1ZWE4ZTguLjk2ZGJlMWMwMzY1YTA4
ZmMxODEwNmQ0YWNlYWVkY2Q2NzZjNTMzOGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9j
dXN0b20vbWFya2VyLWdldFByb3BlcnR5VmFsdWUuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9j
dXN0b20vbWFya2VyLWdldFByb3BlcnR5VmFsdWUuc3ZnCkBAIC0xMiw4ICsxMiw4IEBACiAgICAg
fQogCiAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsK
KyAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7CiAKICAgICAgIHZhciBlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlY3QiKTsK
ICAgICAgIGV4cGVjdChlLnN0eWxlLmdldFByb3BlcnR5VmFsdWUoIm1hcmtlciIpLCAidXJsKCN0
ZXN0KSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tYXNrLWNoYW5nZXMu
c3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tYXNrLWNoYW5nZXMuc3ZnCmluZGV4IDI0ZTQx
MzBhZjEwYWFlNWI3NjBmY2M2NGQzYmI2NTUwZTU0ZmZkY2IuLjM4MTE4MzViMGY1YzM3MTAxMTZj
Nzg4NDdhZGI1NzhjM2YyOGNhYjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20v
bWFzay1jaGFuZ2VzLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL21hc2stY2hhbmdl
cy5zdmcKQEAgLTksOCArOSw4IEBACiA8L2c+CiAKIDxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUo
KTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKIAogaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewogICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92
ZVRvKDE1MCwgMTM1KTsKQEAgLTIyLDggKzIyLDggQEAgZnVuY3Rpb24gbW91c2VIYW5kbGVyKGV2
dCkKIHsKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTWFzayIpLnNldEF0dHJpYnV0ZSgi
d2lkdGgiLCAiODAwIik7CiAKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQot
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKIH0KIDwvc2Ny
aXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL21hc2staW52YWxpZGF0
aW9uLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbWFzay1pbnZhbGlkYXRpb24uc3ZnCmlu
ZGV4IGU1NDQ4MDY5NDZjY2ExODczODM4ZTUwNzM4OTExMzA3NzQ5MzcxOGEuLmU4NzhmYTBlNDkz
ZmEwN2I3M2NjMDM3NzU0MDViODllNGE3NTFiNGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2
Zy9jdXN0b20vbWFzay1pbnZhbGlkYXRpb24uc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0
b20vbWFzay1pbnZhbGlkYXRpb24uc3ZnCkBAIC0yMiwxNCArMjIsMTQgQEAgZnVuY3Rpb24gZHJh
dyh4LCB5KSB7CiB9CiAKIGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkgewotICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOwogCiAgICAgZHJhdygxNTAsIDUwKTsKICAgICBzZXRUaW1lb3V0
KGZ1bmN0aW9uKCkgewogICAgICAgICBkcmF3KDUwLCA1MCk7Ci0gICAgICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5u
b3RpZnlEb25lKCk7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgIH0sIDApOwogfQogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL21vdXNlLW1vdmUtb24tc3ZnLWNvbnRhaW5lci1zdGFuZGFs
b25lLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbW91c2UtbW92ZS1vbi1zdmctY29udGFp
bmVyLXN0YW5kYWxvbmUuc3ZnCmluZGV4IGNmZTZhM2UyMWQ3ZDk0YTAyMTJlYjI0N2NkNGNiYjBh
MTE0Y2QzZTQuLjRiYzNiZmQ5ZDljMTFhZDRhZDhmMjQ4Njc4NmRmNTAxOGRhYTRkMmMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbW91c2UtbW92ZS1vbi1zdmctY29udGFpbmVy
LXN0YW5kYWxvbmUuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbW91c2UtbW92ZS1v
bi1zdmctY29udGFpbmVyLXN0YW5kYWxvbmUuc3ZnCkBAIC0yNywxMiArMjcsMTIgQEAKICAgICAg
ICAgICAgIGNvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLCBtb3ZlLCBm
YWxzZSk7CiAgICAgICAgICAgICByb290LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLCBz
dG9wTW92ZSwgZmFsc2UpOwogICAgIAotICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKLSAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlE
b25lKCk7CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgIH0KICAgICAKLSAgICAgICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgCiAgICAgICAgIGlm
ICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92
ZVRvKDM1MCwgMzUwKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbW91c2Ut
bW92ZS1vbi1zdmctY29udGFpbmVyLnhodG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tb3Vz
ZS1tb3ZlLW9uLXN2Zy1jb250YWluZXIueGh0bWwKaW5kZXggOTg5ZGUzZWJiM2VmMGM3Y2MyMmY2
NTA0NzMxYTI4OTBjYzBhNjI1Ny4uOTE3MzMxNDZkYjk5ZmJkMDUzYWNhYjQxZmQwMDE3YWQ0NjNk
MDE3MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tb3VzZS1tb3ZlLW9uLXN2
Zy1jb250YWluZXIueGh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tb3VzZS1tb3Zl
LW9uLXN2Zy1jb250YWluZXIueGh0bWwKQEAgLTMwLDEyICszMCwxMiBAQAogICAgICAgICBjb250
YWluZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIiwgbW92ZSwgZmFsc2UpOwogICAg
ICAgICByb290LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLCBzdG9wTW92ZSwgZmFsc2Up
OwogCi0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgIH0K
IAotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCiAgICAgaWYgKHdpbmRvdy5l
dmVudFNlbmRlcikgewogICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygzNTAsIDM1MCk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL21vdXNlLW1vdmUtb24tc3ZnLXJv
b3Qtc3RhbmRhbG9uZS5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL21vdXNlLW1vdmUtb24t
c3ZnLXJvb3Qtc3RhbmRhbG9uZS5zdmcKaW5kZXggM2ZjYmExMTQ3OGVhMzgyMjIyZjQwMjU0Zjgw
ODNjZDc0ZWU1MmNmOC4uNGE0NzA2NTYyNmZmNWZiYzc2M2VmZTUwYmY0ZDhiZGU5NDY4Zjc5YyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tb3VzZS1tb3ZlLW9uLXN2Zy1yb290
LXN0YW5kYWxvbmUuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbW91c2UtbW92ZS1v
bi1zdmctcm9vdC1zdGFuZGFsb25lLnN2ZwpAQCAtMjQsMTIgKzI0LDEyIEBACiAgICAgICAgICAg
ICByb290LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsIG1vdmUsIGZhbHNlKTsKICAg
ICAgICAgICAgIHJvb3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsIHN0b3BNb3ZlLCBm
YWxzZSk7CiAgICAgCi0gICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQotICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAg
ICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgfQogICAgIAotICAgICAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2Fp
dFVudGlsRG9uZSgpOworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICAKICAgICAgICAgaWYgKHdpbmRvdy5l
dmVudFNlbmRlcikgewogICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMzUwLCAz
NTApOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tb3VzZS1tb3ZlLW9uLXN2
Zy1yb290LnhodG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tb3VzZS1tb3ZlLW9uLXN2Zy1y
b290LnhodG1sCmluZGV4IGVlMzdlYjY3NDExNTU5NDlkYzY5ZDQ3NzIyMzJjNzljMjJmMjRmODku
LjYxYWM3MDI3OTIzY2MyYjYyNDk0Yjc3Nzk1ZWUxMzc5OGFmYzQ5MzMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3N2Zy9jdXN0b20vbW91c2UtbW92ZS1vbi1zdmctcm9vdC54aHRtbAorKysgYi9M
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL21vdXNlLW1vdmUtb24tc3ZnLXJvb3QueGh0bWwKQEAgLTI3
LDEyICsyNywxMiBAQAogICAgICAgICByb290LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92
ZSIsIG1vdmUsIGZhbHNlKTsKICAgICAgICAgcm9vdC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3Vz
ZXVwIiwgc3RvcE1vdmUsIGZhbHNlKTsKIAotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgp
OworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKICAgICB9CiAKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKIAogICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKICAgICAgICAgZXZlbnRTZW5kZXIu
bW91c2VNb3ZlVG8oMzUwLCAzNTApOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9tdWx0aXBsZS10aXRsZS1lbGVtZW50cy5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL211
bHRpcGxlLXRpdGxlLWVsZW1lbnRzLnN2ZwppbmRleCBiZTEwZTVhNmEzNWEyNTU3ZjU0ODE1MmU1
Y2I3ODBjYTRhMGI5ZDE3Li45N2IzOGNmMTFiNTA0YTE5YjNhMTc0YjczOGU2ZDAxODYyN2U0ZDA1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL211bHRpcGxlLXRpdGxlLWVsZW1l
bnRzLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL211bHRpcGxlLXRpdGxlLWVsZW1l
bnRzLnN2ZwpAQCAtMzUsOCArMzUsOCBAQCBmdW5jdGlvbiBjcmVhdGVUaXRsZUVsZW1lbnQodGl0
bGUpCiAKIGZ1bmN0aW9uIHRlc3QoKQogewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwog
CiAgICAgZXhwZWN0KCcnLCBkb2N1bWVudC50aXRsZSk7CiAgICAgZG9jdW1lbnQuZG9jdW1lbnRF
bGVtZW50LmFwcGVuZENoaWxkKGNyZWF0ZVRpdGxlRWxlbWVudCgnRmlyc3QgdGl0bGUnKSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL25ldy1pbWFnZS1pcy1odG1sLWVsZW1l
bnQuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9uZXctaW1hZ2UtaXMtaHRtbC1lbGVtZW50
LnN2ZwppbmRleCAxN2I0ZWE5NjVjN2MwOTg2MDFkNzYyYTE3ZDc2YTBmYWMwNDVlMzMzLi5kZTM5
ODViYWFmYjZmODU3Yzg0OGM5MjFkM2ZmMGU3NjUwM2Q4MWE2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL25ldy1pbWFnZS1pcy1odG1sLWVsZW1lbnQuc3ZnCisrKyBiL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vbmV3LWltYWdlLWlzLWh0bWwtZWxlbWVudC5zdmcKQEAgLTEsOCAr
MSw4IEBACiA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgIDx0ZXh0
IGlkPSJyZXN1bHQiIHk9IjEwMCIvPgogICA8c2NyaXB0PgotICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCi0gICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7
CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CiAKICAgICAvLyBFbnN1cmUgdGhhdCAibmV3IEltYWdlKCkiIGlzIGNyZWF0aW5nIGFuIEhU
TUwgaW1hZ2UgZWxlbWVudCByZWdhcmRsZXNzCiAgICAgLy8gb2YgdGhlIGN1cnJlbnQgZG9jdHlw
ZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcGF0aC1nZXRQcmVzZW50YXRp
b25BdHRyaWJ1dGUtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcGF0aC1nZXRQ
cmVzZW50YXRpb25BdHRyaWJ1dGUtY3Jhc2guaHRtbAppbmRleCA0NmY2ZWQzMmVkYmE4MzYzYjE1
MzE2MDc2OTdhMDc1M2NmYTAwMTQzLi4wMzEyM2JjODYzZWUyMjUyMjFmMmMxNDgyMjk5OGYwNjM0
N2ViMGIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3BhdGgtZ2V0UHJlc2Vu
dGF0aW9uQXR0cmlidXRlLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9w
YXRoLWdldFByZXNlbnRhdGlvbkF0dHJpYnV0ZS1jcmFzaC5odG1sCkBAIC0xLDYgKzEsNiBAQAog
PHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCiB2YXIgcGF0aCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCAicGF0aCIpOwogcGF0aC5nZXRQcmVz
ZW50YXRpb25BdHRyaWJ1dGUoIiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9wYXRoLWdldFRvdGFsTGVuZ3RoLW9uLWJpZy1zZWdtZW50LWNyYXNoLnN2ZyBiL0xheW91dFRl
c3RzL3N2Zy9jdXN0b20vcGF0aC1nZXRUb3RhbExlbmd0aC1vbi1iaWctc2VnbWVudC1jcmFzaC5z
dmcKaW5kZXggOWNmNjUzY2EyYmU4MzM3ZWQ5OWNmYjEyMjkxNzhhMjBlMmQ4OTZlNC4uZTI1OWJj
OTg0ZTg1NTVlODM3ZWQ2ZWRjMjVjNjVmMjhhYjZmYjhkZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9wYXRoLWdldFRvdGFsTGVuZ3RoLW9uLWJpZy1zZWdtZW50LWNyYXNoLnN2
ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3BhdGgtZ2V0VG90YWxMZW5ndGgtb24tYmln
LXNlZ21lbnQtY3Jhc2guc3ZnCkBAIC0xMSw4ICsxMSw4IEBACiAgICAgcGF0aFNlZ0xpc3QgPSBw
YXRoLnBhdGhTZWdMaXN0OwogICAgIHBhdGhTZWdMaXN0LmFwcGVuZEl0ZW0ocGF0aFNlZyk7CiAg
ICAgcGF0aC5nZXRUb3RhbExlbmd0aCgpOwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwog
CiBdXT4KIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9wYXRo
LWdldFRvdGFsTGVuZ3RoLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcGF0aC1nZXRUb3Rh
bExlbmd0aC5zdmcKaW5kZXggNDYyMTFhNzU3ODAwMWVjN2U4ZDBlNWIyNjM4MTcwNTQ3ZTU2Yzc2
NS4uYWNmNGJhOWZhZmE0NTlmZDc3ZWRkNzVjM2M4ZTZmZTExMWY0OGQ1OCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9wYXRoLWdldFRvdGFsTGVuZ3RoLnN2ZworKysgYi9MYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL3BhdGgtZ2V0VG90YWxMZW5ndGguc3ZnCkBAIC0yLDggKzIsOCBA
QAogICAgIDxnIGlkPSdsb2cnIC8+CiAgICAgPHNjcmlwdD4KICAgICA8IVtDREFUQVsKLSAgICAg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgICAgIAogICAgICAg
ICB2YXIgc3ZnTlMgPSAiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciOwogICAgICAgICB2YXIg
cGF0aEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoc3ZnTlMsICdwYXRoJyk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3BlbmRpbmctcmVzb3VyY2UtYWZ0ZXIt
cmVtb3ZhbC54aHRtbCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcGVuZGluZy1yZXNvdXJjZS1h
ZnRlci1yZW1vdmFsLnhodG1sCmluZGV4IDk3NzhlZjEwMGFhNDQ4OGU3ZGE1ZTA0YjhmYjAzNWZl
MzAyM2VhOTQuLjBiZTk4ZmJmNGM1ODQyYjA3MzVlMTg2MWVhMzBiM2M3Mzg4ZTZiNGQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcGVuZGluZy1yZXNvdXJjZS1hZnRlci1yZW1v
dmFsLnhodG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcGVuZGluZy1yZXNvdXJjZS1h
ZnRlci1yZW1vdmFsLnhodG1sCkBAIC00MiwxMyArNDIsMTMgQEAgZnVuY3Rpb24gdXBkYXRlRmls
bCgpIHsKICAgICBlbC5zZXRBdHRyaWJ1dGUoImZpbGwiLCAidXJsKCNwYXQpIik7CiAKICAgICBp
ZihjdXJyZW50Q29sb3IgPT0gMikKLSAgICAgICAgaWYod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAg
ICAgICBpZih3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwogfQogCiBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsKLSAgICBpZih3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRp
bERvbmUoKTsKKyAgICBpZih3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CiAKICAgICB1cGRhdGVGaWxsKCk7CiAgICAgc2V0VGltZW91dCgidXBk
YXRlRmlsbCgpIiwgMCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3BlbmRp
bmctcmVzb3VyY2UtbGVhay0yLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcGVuZGluZy1y
ZXNvdXJjZS1sZWFrLTIuc3ZnCmluZGV4IGUyYWM1MjAwOGE0ZTQyNWQzODE2NDM3NjE2OGUxZWQy
N2IxNDc2MmYuLjc2ODA0YzVhOGEyNzM5ZDIyNGQzZDE2MDAyYmRhOTM0MzkzMjNkZWQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcGVuZGluZy1yZXNvdXJjZS1sZWFrLTIuc3Zn
CisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcGVuZGluZy1yZXNvdXJjZS1sZWFrLTIuc3Zn
CkBAIC0xLDggKzEsOCBAQAogPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4K
IDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBvbmxvYWQ9InJ1blRlc3Qo
KSI+CiAgICAgPHNjcmlwdD4KLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7CiAgICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicmVjdCIpLnNldEF0dHJpYnV0ZSgiZmlsbCIsICAiZ3JlZW4iKTsK
ICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9wZW5kaW5nLXJl
c291cmNlLWxlYWstMy5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3BlbmRpbmctcmVzb3Vy
Y2UtbGVhay0zLnN2ZwppbmRleCAzNDJiN2Y1MzhhY2E3MGNkYzM5MWY0YjdhMmRlOGIyMjdiOGI1
ZTBlLi43N2RhN2EwOTZmMDhhZmY5ODY5NGI1MjUwMDQ4M2JiOGE1ZmYxYzI3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3BlbmRpbmctcmVzb3VyY2UtbGVhay0zLnN2ZworKysg
Yi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3BlbmRpbmctcmVzb3VyY2UtbGVhay0zLnN2ZwpAQCAt
MSw4ICsxLDggQEAKIDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+CiA8c3Zn
IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgb25sb2FkPSJydW5UZXN0KCkiPgog
ICAgIDxzY3JpcHQ+Ci0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0g
ICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OwogCiAgICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicmVjdCIpLnNldEF0dHJpYnV0ZSgiZmlsbCIsICAidXJsKCNiYXIpIik7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3BlbmRpbmctcmVzb3VyY2UtbGVh
ay5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3BlbmRpbmctcmVzb3VyY2UtbGVhay5zdmcK
aW5kZXggZTc4NGI5ZGI2MjNiMTUwM2U5ODBlMTMxMmUxMTJjMDlkNmVkMTQ1ZS4uZGM0NTZjNTc3
MTdiZTQyMDljOGNjYjZlZGUzZTEwYzQ4N2M1ZmMxMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS9wZW5kaW5nLXJlc291cmNlLWxlYWsuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2
Zy9jdXN0b20vcGVuZGluZy1yZXNvdXJjZS1sZWFrLnN2ZwpAQCAtMSw4ICsxLDggQEAKIDw/eG1s
IHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+CiA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8yMDAwL3N2ZyI+CiAgICAgPHNjcmlwdD4KLSAgICAgICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgPC9zY3JpcHQ+CiAgICAgPHRleHQgeD0iMCIgeT0i
NzAiPlRoaXMgc2hvdWxkIG5vdCBsZWFrPC90ZXh0PgogICAgIDxyZWN0IHdpZHRoPSI1MCIgaGVp
Z2h0PSI1MCIgZmlsbD0idXJsKCNmb28pIiBpZD0icmVjdCIvPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS9wb2ludGVyLWV2ZW50cy1pbWFnZS1jc3MtdHJhbnNmb3JtLnN2ZyBi
L0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcG9pbnRlci1ldmVudHMtaW1hZ2UtY3NzLXRyYW5zZm9y
bS5zdmcKaW5kZXggNzI5N2NlMjYwOWY5ODg2NmYxMDUzNmNhZjdmYWQ5ZTliNzkzYTgwMi4uOGJh
NzY4ZDJjNGFlNGYwY2YyNzYwZjZhMTJmNzU4YzNlNTA3NjJiMCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS9wb2ludGVyLWV2ZW50cy1pbWFnZS1jc3MtdHJhbnNmb3JtLnN2Zwor
KysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3BvaW50ZXItZXZlbnRzLWltYWdlLWNzcy10cmFu
c2Zvcm0uc3ZnCkBAIC01LDggKzUsOCBAQAogICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCI+CiAgIDwhW0NEQVRBWwogICAgIAotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OwogICAKICAgICB2YXIgdmlzaWJsZVZhbHVlcyA9IFsgJ3Zpc2libGUnLCAnaGlkZGVuJyBdOwog
ICAgIHZhciBmaWxsVmFsdWVzID0gWydub25lJywgJ29yYW5nZScgXTsKQEAgLTgyLDggKzgyLDgg
QEAKICAgICAgICAgeU9mZnNldCArPSByZWN0U3BhY2luZzsKICAgICAgIH0KICAgICAgIAotICAg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICB9CiAgIF1dPgogICA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcG9pbnRlci1ldmVudHMtaW1hZ2Uu
c3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9wb2ludGVyLWV2ZW50cy1pbWFnZS5zdmcKaW5k
ZXggMGNmNmNiNTY4NDAxYTJmNjdjODQ2ZDM1OTU5Y2IyODQzZDhhZWUyNC4uNmIzYTY1NzNhYzNl
Y2YyN2UyNTAwM2YzZDA1OGMyMTRlZDBhZjI4ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9wb2ludGVyLWV2ZW50cy1pbWFnZS5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS9wb2ludGVyLWV2ZW50cy1pbWFnZS5zdmcKQEAgLTQsOCArNCw4IEBACiAgIDxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgPCFbQ0RBVEFbCiAgICAgCi0gICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2Fp
dFVudGlsRG9uZSgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CiAgIAogICAgIHZhciB2aXNpYmxlVmFsdWVzID0gWyAndmlz
aWJsZScsICdoaWRkZW4nIF07CiAgICAgdmFyIGZpbGxWYWx1ZXMgPSBbJ25vbmUnLCAnb3Jhbmdl
JyBdOwpAQCAtODAsOCArODAsOCBAQAogICAgICAgICB5T2Zmc2V0ICs9IHJlY3RTcGFjaW5nOwog
ICAgICAgfQogICAgICAgCi0gICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQot
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgIH0K
ICAgXV0+CiAgIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9w
b2ludGVyLWV2ZW50cy1pbnZhbGlkLWZpbGwuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9w
b2ludGVyLWV2ZW50cy1pbnZhbGlkLWZpbGwuc3ZnCmluZGV4IDJkYWMwMWYyNmU5NjM2OWNmMThi
YjM5Njc4NmFkZGVkYjMyNWQyNDAuLjcwNTNiZmQ1ZGFlNzk3Y2E3ODU3OGYxOTA0MWIyOTI0Njcw
ZTdkNGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcG9pbnRlci1ldmVudHMt
aW52YWxpZC1maWxsLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3BvaW50ZXItZXZl
bnRzLWludmFsaWQtZmlsbC5zdmcKQEAgLTU4LDkgKzU4LDkgQEAKICAgICA8L2c+CiAKICAgICA8
c2NyaXB0PgotICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikg
eworICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CiAgICAgICB9CiAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkgewogICAg
ICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CkBAIC03Miw4ICs3Miw4IEBACiAgICAgICAg
IHZhciBjb2xvciA9IHBhc3MgPyAnZ3JlZW4nIDogJ3JlZCc7CiAgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdyMScpLnNldEF0dHJpYnV0ZSgnZmlsbCcsIGNvbG9yKTsKICAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3QnKS5maXJzdENoaWxkLm5vZGVWYWx1ZSA9IHBhc3Mg
PyAiWW91J3ZlIHBhc3NlZCEiIDogIllvdSd2ZSBmYWlsZWQuIjsKLSAgICAgICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5u
b3RpZnlEb25lKCk7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgIH0KICAgICA8L3NjcmlwdD4KIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9wb2ludGVyLWV2ZW50cy1vbi1yb3VuZGVkLXJl
Y3QueGh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3BvaW50ZXItZXZlbnRzLW9uLXJvdW5k
ZWQtcmVjdC54aHRtbAppbmRleCBjNjNkMTIyODQzYzYxZTc2MWIwNDU2OWVjNWVkNGYxY2Q3ZDBk
NWE4Li44N2MzZGUxNDIwODY4NGM3YmI3MDI1MzJhOWFjYjNiNDMwZjUxNWFhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3BvaW50ZXItZXZlbnRzLW9uLXJvdW5kZWQtcmVjdC54
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3BvaW50ZXItZXZlbnRzLW9uLXJvdW5k
ZWQtcmVjdC54aHRtbApAQCAtMzUsOCArMzUsOCBAQCBmdW5jdGlvbiBzdG9wKCkgewogICAgIGZh
bGxiYWNrLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsIGZhaWxlZCwgZmFsc2UpOwog
ICAgIHJvdW5kZWRSZWN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsIHBhc3NlZCwg
ZmFsc2UpOwogCi0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQorICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogfQogCiBmdW5jdGlvbiBmYWlsZWQoKSB7
CkBAIC00OSw5ICs0OSw5IEBAIGZ1bmN0aW9uIHBhc3NlZCgpIHsKICAgIHN0b3AoKTsKIH0KIAot
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIud2FpdFVudGlsRG9uZSgpOwotICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OworaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKKyAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogfQogCiBpZiAod2luZG93LmV2ZW50U2Vu
ZGVyKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3BvaW50ZXItZXZlbnRz
LW9uLXN2Zy13aXRoLXBvaW50ZXIueGh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3BvaW50
ZXItZXZlbnRzLW9uLXN2Zy13aXRoLXBvaW50ZXIueGh0bWwKaW5kZXggYmQ2ZGJhNGEzMDc1OWFh
N2M3MjE0MTMyYzZjYWRmYzMzYTQyNmQ5Ny4uZDUwMjZlNjdmMTk1NDIyOWI1NWM0ODI5YmM2ODA2
MzVlMTM0NjliZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9wb2ludGVyLWV2
ZW50cy1vbi1zdmctd2l0aC1wb2ludGVyLnhodG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0
b20vcG9pbnRlci1ldmVudHMtb24tc3ZnLXdpdGgtcG9pbnRlci54aHRtbApAQCAtMTcsOCArMTcs
OCBAQAogICAgICAgICBjb250YWluZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwg
cGFzc2VkLCBmYWxzZSk7CiAgICAgICAgIHN2Zy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRv
d24iLCBmYWlsZWQsIGZhbHNlKTsKIAotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwor
ICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKICAgICB9CiAgICAgICAgIAogICAgIGZ1bmN0aW9uIGZhaWxlZCgpIHsKQEAg
LTMxLDkgKzMxLDkgQEAKICAgICAgICAgc3RvcCgpOwogICAgIH0KIAotICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2Fp
dFVudGlsRG9uZSgpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7
CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOworICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICB9CiAKICAg
ICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL3BvaW50ZXItZXZlbnRzLW9uLXN2Zy13aXRob3V0LXBvaW50ZXIueGh0bWwgYi9MYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL3BvaW50ZXItZXZlbnRzLW9uLXN2Zy13aXRob3V0LXBvaW50ZXIu
eGh0bWwKaW5kZXggYWY5ODRjNzkzN2UwODczMTQ0MDYxMTU2MTZhYjQ3Y2Y2ZWE4ZWIyMC4uZjNk
YzUxOTY1ZjdkMWQ3ZGY4NWQxOTkyMjhjYmE1N2RhODBiMGYxNCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS9wb2ludGVyLWV2ZW50cy1vbi1zdmctd2l0aG91dC1wb2ludGVyLnho
dG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcG9pbnRlci1ldmVudHMtb24tc3ZnLXdp
dGhvdXQtcG9pbnRlci54aHRtbApAQCAtMTcsOCArMTcsOCBAQAogICAgICAgICBjb250YWluZXIu
cmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwgZmFpbGVkLCBmYWxzZSk7CiAgICAgICAg
IHN2Zy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCBwYXNzZWQsIGZhbHNlKTsKIAot
ICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICB9CiAgICAg
ICAgIAogICAgIGZ1bmN0aW9uIGZhaWxlZCgpIHsKQEAgLTMxLDkgKzMxLDkgQEAKICAgICAgICAg
c3RvcCgpOwogICAgIH0KIAotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsK
LSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICB9CiAKICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVy
KSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3BvaW50ZXItZXZlbnRzLXRl
eHQtY3NzLXRyYW5zZm9ybS5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3BvaW50ZXItZXZl
bnRzLXRleHQtY3NzLXRyYW5zZm9ybS5zdmcKaW5kZXggZTVkODNhYTdjNjJjMmY4YWNkMTgxNzkz
NDI3ZjExYWE0NTQ3NTIzYi4uNGJhNzViNjE3MzhmZmJlYjI3MTNmZTI1NDdhNmM2MGZjMTQwYjk2
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9wb2ludGVyLWV2ZW50cy10ZXh0
LWNzcy10cmFuc2Zvcm0uc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcG9pbnRlci1l
dmVudHMtdGV4dC1jc3MtdHJhbnNmb3JtLnN2ZwpAQCAtNCw4ICs0LDggQEAKICAgPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICA8IVtDREFUQVsKICAgICAKLSAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0
VW50aWxEb25lKCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKICAgCiAgICAgdmFyIHZpc2libGVWYWx1ZXMgPSBbICd2aXNp
YmxlJywgJ2hpZGRlbicgXTsKICAgICB2YXIgZmlsbFZhbHVlcyA9IFsnbm9uZScsICdvcmFuZ2Un
IF07CkBAIC04MCw4ICs4MCw4IEBACiAgICAgICAgIHlPZmZzZXQgKz0gcmVjdFNwYWNpbmc7CiAg
ICAgICB9CiAgICAgICAKLSAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0g
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgfQog
ICBdXT4KICAgPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3Bv
aW50ZXItZXZlbnRzLXRleHQuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9wb2ludGVyLWV2
ZW50cy10ZXh0LnN2ZwppbmRleCBkZmFiNmZmNTAxYTQzYjYyMGNmYjg4NTRiZDgwMDFmMmRjMjE1
MWRiLi5hMzRjNjgzMjJiMGZhMTNjZGIzZjNjNWM0MjFlZWMxZWRlYzQ5YjBiIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3BvaW50ZXItZXZlbnRzLXRleHQuc3ZnCisrKyBiL0xh
eW91dFRlc3RzL3N2Zy9jdXN0b20vcG9pbnRlci1ldmVudHMtdGV4dC5zdmcKQEAgLTMsOCArMyw4
IEBACiAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgPCFbQ0RBVEFbCiAgICAg
Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgIAogICAgIHZhciB2aXNpYmxl
VmFsdWVzID0gWyAndmlzaWJsZScsICdoaWRkZW4nIF07CiAgICAgdmFyIGZpbGxWYWx1ZXMgPSBb
J25vbmUnLCAnb3JhbmdlJyBdOwpAQCAtNzgsOCArNzgsOCBAQAogICAgICAgICB5T2Zmc2V0ICs9
IHJlY3RTcGFjaW5nOwogICAgICAgfQogICAgICAgCi0gICAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7
CisgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwogICAgIH0KICAgXV0+CiAgIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9wb2ludGVyLWV2ZW50cy13aXRoLWxpbmVjYXBzLWFuZC1taXRlcmxpbWl0
cy54aHRtbCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcG9pbnRlci1ldmVudHMtd2l0aC1saW5l
Y2Fwcy1hbmQtbWl0ZXJsaW1pdHMueGh0bWwKaW5kZXggOTIyNmI3MDVhNWVhNWFjNmNjZGZhMWU0
MDBkMjQxNjNlZWQwYzEzZS4uZDFjYjM4ZmI4Y2E1M2U5MGI2NDEwOTVhMDQ4NjlkNWEzZjk2ZmM5
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9wb2ludGVyLWV2ZW50cy13aXRo
LWxpbmVjYXBzLWFuZC1taXRlcmxpbWl0cy54aHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL3BvaW50ZXItZXZlbnRzLXdpdGgtbGluZWNhcHMtYW5kLW1pdGVybGltaXRzLnhodG1sCkBA
IC0zNiw4ICszNiw4IEBAIGZ1bmN0aW9uIHN0b3AoKSB7CiAgICAgZmFsbGJhY2sucmVtb3ZlRXZl
bnRMaXN0ZW5lcigibW91c2Vkb3duIiwgZmFpbGVkLCBmYWxzZSk7CiAgICAgc3Ryb2tlZFJlY3Qu
cmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwgcGFzc2VkLCBmYWxzZSk7CiAKLWlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90
aWZ5RG9uZSgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwogfQogCiBmdW5jdGlvbiBmYWlsZWQoKSB7CkBAIC01MCw5ICs1MCw5IEBAIGZ1bmN0
aW9uIHBhc3NlZCgpIHsKICAgICBzdG9wKCk7CiB9CiAKLWlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpIHsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0g
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7CiB9CiAKIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcG9seS1wb2ludHMtYXR0cmlidXRlLWNoYW5nZXMuc3Zn
IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9wb2x5LXBvaW50cy1hdHRyaWJ1dGUtY2hhbmdlcy5z
dmcKaW5kZXggMTg1NzY5NWY0ZmNhYjg5YjI0ZWE3N2I2MTg4NTc4M2I2NjY0OGMyNS4uZDc3ODJk
YmIzZGQzZmQzZWU4ZWY3Y2VhYWU4ZmE2NGUzN2M2ODc4NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9wb2x5LXBvaW50cy1hdHRyaWJ1dGUtY2hhbmdlcy5zdmcKKysrIGIvTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS9wb2x5LXBvaW50cy1hdHRyaWJ1dGUtY2hhbmdlcy5zdmcKQEAg
LTEsOCArMSw4IEBACiA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgb25s
b2FkPSJydW5UZXN0KCkiPgogICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgIDwh
W0NEQVRBWwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKICAgICBmdW5jdGlvbiBsb2coc3Ry
aW5nKSB7CiAgICAgICB2YXIgbmV3RGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiwgImRpdiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9wb2x5bGluZS1oaXR0ZXN0LnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0
b20vcG9seWxpbmUtaGl0dGVzdC5zdmcKaW5kZXggYTFiNjRiODRjNjYwNDRhNzRkZjg2NjkyMjcx
NDE5M2I5M2Q5YjViMy4uMDVhZDQ5OTE5ZTJjOWNjYzExMThjMzZlN2EzYzg0Y2UxZmMzMmVkMCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9wb2x5bGluZS1oaXR0ZXN0LnN2Zwor
KysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3BvbHlsaW5lLWhpdHRlc3Quc3ZnCkBAIC0zLDgg
KzMsOCBAQAogICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgIDwhW0NEQVRBWwog
ICAgIAotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogIAogICAgZnVuY3Rpb24g
Y2hhbmdlRmlsbChldnQpIHsgCiAgICAgICAgdmFyIHBvbHkgPSBldnQudGFyZ2V0OwpAQCAtMjAs
OCArMjAsOCBAQAogICAgICAgICB9CiAgICAgfQogICAgICAgCi0gICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKLSAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUo
KTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKICAgXV0+CiAgIDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL3BvbHlsaW5lLXBvaW50cy1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9wb2x5bGluZS1wb2ludHMtY3Jhc2guaHRtbAppbmRleCA2NWM0ZGNmYjczOWQwNTU4YTdlNzAx
NWEyYTRmNjEzMTZhYmYyMTc3Li5jMGJkOWZkMmY0NjhjMDk3MWRlMGM5MDNlMzQ0YTIyMjU5YmE3
YjkwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3BvbHlsaW5lLXBvaW50cy1j
cmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcG9seWxpbmUtcG9pbnRzLWNy
YXNoLmh0bWwKQEAgLTEsNiArMSw2IEBACiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CitpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKIHZhciBw
b2x5bGluZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAw
MC9zdmciLCAicG9seWxpbmUiKTsKIHRyeSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL3ByZXZlbnQtZGVmYXVsdC5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3ByZXZl
bnQtZGVmYXVsdC5zdmcKaW5kZXggYjM2NzRjNGIzOGNhZDc3YWQ5ZTBmMGIzMTdkMGQwMzZhNDdi
MGEyZC4uOGNiNzMwYWQ1MzAzMWUxNzkyYWJhM2E1M2FmNWFiYmNmYmRkNWJkNiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9wcmV2ZW50LWRlZmF1bHQuc3ZnCisrKyBiL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vcHJldmVudC1kZWZhdWx0LnN2ZwpAQCAtNywxMyArNywxMyBAQAog
ICAgICAgICAgIGV2dC50YXJnZXQuc2V0QXR0cmlidXRlKCdmaWxsJywgJ2dyZWVuJyk7IAogICAg
ICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICBldnQucHJldmVudERlZmF1
bHQoKTsKLSAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwog
ICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsKICAg
ICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7Ci0gICAgICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDUwLCA1MCk7
CiAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKICAgICAgICAgICAgIGV2ZW50
U2VuZGVyLm1vdXNlVXAoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcmVj
dXJzaXZlLXVzZS5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3JlY3Vyc2l2ZS11c2Uuc3Zn
CmluZGV4IDZkYmJhYzI0N2VkNjNjZjkxNTFmNTk1YWIyNDBhY2E2NDQ3NzE3Y2QuLjg5MWI2Y2Zi
OTI1MWQ2YjgxMTY3MTFmNTFlZGZiMTQxZDMzMGRmNmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N2Zy9jdXN0b20vcmVjdXJzaXZlLXVzZS5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9yZWN1cnNpdmUtdXNlLnN2ZwpAQCAtOSw3ICs5LDcgQEAKIDwvZGVmcz4KIDx0ZXh0IHg9IjEw
IiB5PSAiMzAiPlBBU1Mgd2l0aG91dCBjcmFzaC48L3RleHQ+CiA8c2NyaXB0PgotICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBBc1RleHQoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOwogPC9zY3JpcHQ+CiA8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vcmVjdXJzaXZlLXVzZTIuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS9yZWN1cnNpdmUtdXNlMi5zdmcKaW5kZXggMDAwMmY0ZDYzM2ZhNGJjODM5ZGMyZWNmZjQ4
NzA2NWEzYzMyOTVkYy4uYmVlMzcxOGMwNWMyZjUxZGIzM2E5ZTQ2NzQ4NWFlZTZjYTk5NDYyMiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9yZWN1cnNpdmUtdXNlMi5zdmcKKysr
IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9yZWN1cnNpdmUtdXNlMi5zdmcKQEAgLTEsNyArMSw3
IEBACiA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9
Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgIDxzY3JpcHQ+Ci0gICAgICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIDwvc2NyaXB0PgogCiAgICAg
PGcgaWQ9ImcxIj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcmVwYWludC1t
b3Zpbmctc3ZnLWFuZC1kaXYueGh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3JlcGFpbnQt
bW92aW5nLXN2Zy1hbmQtZGl2LnhodG1sCmluZGV4IDAwNWU5NTk2ZGM0Mjk2MWIwYzVlZDEwYzNh
ZWJlOGJmZTY1YWIyZjIuLjFjZWFhM2QzMWQwYmJkYzRjMjkyNTViZDg2OWU4N2IzZDkxOTY2ZWYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcmVwYWludC1tb3Zpbmctc3ZnLWFu
ZC1kaXYueGh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9yZXBhaW50LW1vdmluZy1z
dmctYW5kLWRpdi54aHRtbApAQCAtNzIsOCArNzIsOCBAQCB2YXIgaHRtbFN0eWxlID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImh0bWwiKS5zdHlsZTsKIGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkg
ewogICAgIGlmIChpdGVyYXRpb25zIDwgMTApIHsKICAgICAgICAgaWYgKGl0ZXJhdGlvbnMgPT0g
MCkgewotICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAg
ICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CiAgICAgICAgIH0KIAogICAgICAgICBzdmdMZWZ0ID0gc3ZnTGVmdCAr
IDE1OwpAQCAtOTEsOCArOTEsOCBAQCBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsKICAgICAgICAg
KytpdGVyYXRpb25zOwogICAgICAgICB3aW5kb3cuc2V0VGltZW91dChyZXBhaW50VGVzdCwgMCk7
CiAgICAgfSBlbHNlIHsKLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
LSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7CiAgICAgfQogfQogXV0+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3Jl
c291cmNlLWNsaWVudC1yZW1vdmFsLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcmVzb3Vy
Y2UtY2xpZW50LXJlbW92YWwuc3ZnCmluZGV4IDdkYTNmMjFhMzA1ZTY2ZmQ0NDU0OTM2MjQwNThh
YTA0YTQyMTAyMDAuLmJlMmE4OGY4MWY1ZWRiMGIzYjEzMjYwNjg2MGRjNWE3ZDI3MzZmZWQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcmVzb3VyY2UtY2xpZW50LXJlbW92YWwu
c3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcmVzb3VyY2UtY2xpZW50LXJlbW92YWwu
c3ZnCkBAIC01LDggKzUsOCBAQAogZnVuY3Rpb24gcmVwYWludFRlc3QoKSB7CiAgICAgY29udGFp
bmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlubmVydXNlIik7CiAgICAgc3RvcCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJvZmZzZXQiKTsKLSAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25l
KCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKICAgICBzZXRUaW1lb3V0KG9mZnNldCwgMCk7CiB9CiB2YXIgdHVybnMgPSA1
OwpAQCAtMTYsOCArMTYsOCBAQCBmdW5jdGlvbiBvZmZzZXQoKXsKICAgICB0dXJucy0tOwogICAg
IGlmICh0dXJucyA+IDApCiAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCJvZmZzZXQoKSIsIDAp
Ci0gICAgZWxzZSBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgZWxzZSBpZiAod2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogfQogXV0+CiA8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcmVzb3VyY2VzL2ZvY3VzLWV2
ZW50LWhhbmRsaW5nLWtleWJvYXJkLmpzIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9yZXNvdXJj
ZXMvZm9jdXMtZXZlbnQtaGFuZGxpbmcta2V5Ym9hcmQuanMKaW5kZXggOWZhZDIwMGJhM2RkNzBl
ODI5NTRkMjJhM2Y0NTEzYzQ0ZTYwYzA2Ni4uZmYxNDdhMTA0MmE5NGEwODNmYjZhMjA3ODcwNmFh
MTdjOWJlOTkwOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9yZXNvdXJjZXMv
Zm9jdXMtZXZlbnQtaGFuZGxpbmcta2V5Ym9hcmQuanMKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS9yZXNvdXJjZXMvZm9jdXMtZXZlbnQtaGFuZGxpbmcta2V5Ym9hcmQuanMKQEAgLTksOCAr
OSw4IEBAIHZhciBzd2l0Y2hFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN3aXRj
aCIpOwogdmFyIGltZ0VsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW1nIik7CiBk
ZXNjcmlwdGlvbigiVGVzdCB3aGV0aGVyIGZvY3VzaW4gYW5kIGZvY3Vzb3V0IGV2ZW50cyBhcmUg
ZGlzcGF0Y2hlZCBhbmQgc2VlbiBpbiB0aGUgZm9jdXNpbi9mb2N1c291dCBldmVudCBoYW5kbGVy
cyB3aGVuIHVzaW5nIGtleWJvYXJkOiAiKTsKIAotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CitpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKIGZ1bmN0
aW9uIGZvY3VzaW5IYW5kbGVyKGV2dCkKIHsKQEAgLTYwLDcgKzYwLDcgQEAgaWYgKHdpbmRvdy5l
dmVudFNlbmRlcikgewogCiAgICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKIAotICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLm5vdGlmeURvbmUoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwogfSBlbHNlCiAgICAgYWxlcnQoIlRoaXMgdGVzdCBtdXN0
IGJlIHJ1biB2aWEgRFJUISIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9y
ZXNvdXJjZXMvZm9jdXMtZXZlbnQtaGFuZGxpbmcuanMgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L3Jlc291cmNlcy9mb2N1cy1ldmVudC1oYW5kbGluZy5qcwppbmRleCAwYWMyYmFkYTA3ZDFjZTBj
ZGRhMzM5YzY3OTAxYmIwZDM5YjI2NmU4Li40YzcwNjIwMTZiNjA5ZjMyYmM3MzkzNTg0MjZmMTA1
ZDI5NDQ5NDE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3Jlc291cmNlcy9m
b2N1cy1ldmVudC1oYW5kbGluZy5qcworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3Jlc291
cmNlcy9mb2N1cy1ldmVudC1oYW5kbGluZy5qcwpAQCAtOSw4ICs5LDggQEAgdmFyIHN3aXRjaEVs
ZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3dpdGNoIik7CiB2YXIgaW1nRWxlbWVu
dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbWciKTsKIGRlc2NyaXB0aW9uKCJUZXN0IHdo
ZXRoZXIgZm9jdXNpbiBhbmQgZm9jdXNvdXQgZXZlbnRzIGFyZSBkaXNwYXRjaGVkIGFuZCBzZWVu
IGluIHRoZSBmb2N1c2luL2ZvY3Vzb3V0IGV2ZW50IGhhbmRsZXJzOiAiKTsKIAotaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50
aWxEb25lKCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci53YWl0VW50
aWxEb25lKCk7CiAKIGZ1bmN0aW9uIGNsZWFyRm9jdXNTZWVuKGV2dCkKIHsKQEAgLTk5LDcgKzk5
LDcgQEAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewogICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7CiAgICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKIAotICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlm
eURvbmUoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOwogfSBlbHNlCiAgICAgYWxlcnQoIlRoaXMgdGVzdCBtdXN0IGJlIHJ1biB2
aWEgRFJUISIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9yZXNvdXJjZXMv
bGluay10YXJnZXQuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcmVzb3VyY2VzL2xpbmst
dGFyZ2V0Lmh0bWwKaW5kZXggYjE2NTcyZGExMTRjZDA0MGQwNjUyNTdjZTIzYzJkYzdlYmY0YTdi
Yi4uODQ2YmQzZGYwZmZhYTVjY2MyN2FhYWJkYWI2ZTMxOGJhOWMxNGZjYyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9yZXNvdXJjZXMvbGluay10YXJnZXQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL3Jlc291cmNlcy9saW5rLXRhcmdldC5odG1sCkBAIC0xLDgg
KzEsOCBAQAogPGh0bWw+CiA8Ym9keT4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQotICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7
CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgd2luZG93LnRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOwogPC9zY3JpcHQ+CiA8cD5JZiB5b3Ugc2VlIHRoaXMsIHRoZW4gU1ZHIGhpdCB0ZXN0aW5n
IG9uIHBhdGhzIHdvcmtzIC0gdGhlIGFycm93IHdhcyBzdWNjZXNzZnVsbHkgY2xpY2tlZC48L3A+
CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3Jlc291cmNlcy9s
aW5raW5nQ2lyY2xlLWYuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9yZXNvdXJjZXMvbGlu
a2luZ0NpcmNsZS1mLnN2ZwppbmRleCA5NWNlMGJlMGJjZDA4MjAzNzdlNDdlODAxMTBhM2NhNjEx
YzRmYWMwLi45NWIxYjY4ZjA5NjE1ZGE1Y2M5NWQzMjNlNWVlYjc0NTMwOTUxZTdkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3Jlc291cmNlcy9saW5raW5nQ2lyY2xlLWYuc3Zn
CisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcmVzb3VyY2VzL2xpbmtpbmdDaXJjbGUtZi5z
dmcKQEAgLTcsOCArNyw4IEBACiA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cu
dzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlu
ayIgaWQ9ImxpbmtpbmdDaXJjbGUtZi5zdmciIHdpZHRoPSI0ODAiIGhlaWdodD0iMzYwIiBvbmxv
YWQ9InJlcG9ydCgpIj4KIDxzY3JpcHQ+CiBmdW5jdGlvbiByZXBvcnQoKSB7Ci1pZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5u
b3RpZnlEb25lKCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgd2luZG93LnRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOwogfQogPC9zY3JpcHQ+CiAJPHRpdGxlIGlkPSJ0ZXN0LXRpdGxlIj5s
aW5raW5nQ2lyY2xlLWYuc3ZnPC90aXRsZT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9j
dXN0b20vcmVzb3VyY2VzL3N2Z3N2Z2VsZW1lbnQtY3RtLmpzIGIvTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS9yZXNvdXJjZXMvc3Znc3ZnZWxlbWVudC1jdG0uanMKaW5kZXggYTJmNGMxNWZkMzk4NTA3
MTU0MjliZTRmYzY2ODFkZmVjMjViZWNiNC4uNGRjZWI0YWRiM2QwMmY5ODVjMzczYzhmMDdmZjE1
MzdjNWExNDNkNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9yZXNvdXJjZXMv
c3Znc3ZnZWxlbWVudC1jdG0uanMKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9yZXNvdXJj
ZXMvc3Znc3ZnZWxlbWVudC1jdG0uanMKQEAgLTEsNSArMSw1IEBACi1pZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsK
K2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAog
dmFyIGxvZ0RpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsb2cnKTsKIGZ1bmN0aW9uIGxv
ZyhzKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3Jlc291cmNlcy91c2Ut
aW5zdGFuY2VSb290LWV2ZW50LWJ1YmJsaW5nLmpzIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9y
ZXNvdXJjZXMvdXNlLWluc3RhbmNlUm9vdC1ldmVudC1idWJibGluZy5qcwppbmRleCBkMjc0Mzcw
MDM1MTkzYmY2ODk2Y2M4YTFkODc0MWFiZDQ0NDZhNTMxLi5kMThkMzZiNThmZWM4ZWMyZTE1NDc0
NGZmNjcyNWY0YzBjODc5YjY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3Jl
c291cmNlcy91c2UtaW5zdGFuY2VSb290LWV2ZW50LWJ1YmJsaW5nLmpzCisrKyBiL0xheW91dFRl
c3RzL3N2Zy9jdXN0b20vcmVzb3VyY2VzL3VzZS1pbnN0YW5jZVJvb3QtZXZlbnQtYnViYmxpbmcu
anMKQEAgLTEsNyArMSw3IEBACiBkZXNjcmlwdGlvbigiVGVzdHMgd2hldGVyIFNWRyBldmVudCBi
dWJibGluZyB3b3JrcyBhY2Nyb3NzIHNoYWRvdyB0cmVlcy4iKTsKIAotaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25l
KCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7CiAKIHZhciBzdmdOUyA9ICJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI7CiB2YXIgeGh0
bWxOUyA9ICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIjsKQEAgLTQ3LDggKzQ3LDggQEAg
ZnVuY3Rpb24gZmluaXNoVGVzdCgpCiAgICAgc2hvdWxkQmVUcnVlKCJzdWNjZXNzZnVsbHlQYXJz
ZWQiKTsKICAgICBkZWJ1ZygnPGJyIC8+PHNwYW4gY2xhc3M9InBhc3MiPlRFU1QgQ09NUExFVEU8
L3NwYW4+Jyk7CiAKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKIH0KIAogZnVuY3Rpb24g
bmV4dFRlc3QoKQpAQCAtMTIyLDcgKzEyMiw3IEBAIHVzZS5ocmVmLmJhc2VWYWwgPSAiI3JlY3RQ
YXJlbnQiOwogdXNlQ29udGFpbmVyLmFwcGVuZENoaWxkKHVzZSk7CiAKIGZ1bmN0aW9uIHJlcGFp
bnRUZXN0KCkgewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIG5leHRU
ZXN0KCk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3Jlc291cmNlcy91
c2UtaW5zdGFuY2VSb290LWV2ZW50LWxpc3RlbmVycy5qcyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0
b20vcmVzb3VyY2VzL3VzZS1pbnN0YW5jZVJvb3QtZXZlbnQtbGlzdGVuZXJzLmpzCmluZGV4IDBj
ZTAzNDEwMjQxMDFlNGNhMzAwMDExY2E3NWUyNGMwODMxYjBiNmQuLjc0ZTc1MjE4MjVjMTUyZTk5
MzMzYWIyODUyZDBiMjNjZWEzMWJhYWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0
b20vcmVzb3VyY2VzL3VzZS1pbnN0YW5jZVJvb3QtZXZlbnQtbGlzdGVuZXJzLmpzCisrKyBiL0xh
eW91dFRlc3RzL3N2Zy9jdXN0b20vcmVzb3VyY2VzL3VzZS1pbnN0YW5jZVJvb3QtZXZlbnQtbGlz
dGVuZXJzLmpzCkBAIC0yNiw4ICsyNiw4IEBAIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKQogICAgIHNo
b3VsZEJlVHJ1ZSgic3VjY2Vzc2Z1bGx5UGFyc2VkIik7CiAgICAgZGVidWcoJzxiciAvPjxzcGFu
IGNsYXNzPSJwYXNzIj5URVNUIENPTVBMRVRFPC9zcGFuPicpOwogCi0gICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7CiB9CiAKIGZ1bmN0aW9uIHJlY29yZE1vdXNlRXZlbnQodHlwZSkKQEAgLTE2
Nyw4ICsxNjcsOCBAQCBmdW5jdGlvbiBkcml2ZVRlc3RzKCkKIH0KIAogZnVuY3Rpb24gcmVwYWlu
dFRlc3QoKSB7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKICAgICBpZiAo
d2luZG93LmV2ZW50U2VuZGVyKQogICAgICAgICBkcml2ZVRlc3RzKCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL3Njcm9sbC1oaXQtdGVzdC54aHRtbCBiL0xheW91dFRlc3Rz
L3N2Zy9jdXN0b20vc2Nyb2xsLWhpdC10ZXN0LnhodG1sCmluZGV4IGU2NDQ5NzFmY2EyZDkzNTc1
MTJiNTJhNzQwMWE5MDhkMmViYjgyZjYuLmQzOWJiMTM0Y2VlZDc3NzA0MzMwM2MxYjQ1NjhmZDZl
ZGI4ZGU2OTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc2Nyb2xsLWhpdC10
ZXN0LnhodG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc2Nyb2xsLWhpdC10ZXN0Lnho
dG1sCkBAIC0xMyw4ICsxMyw4IEBACiAgICAgPCFbQ0RBVEFbCiAgICAgICBmdW5jdGlvbiBjbGlj
a2VkKCkgewogICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVjdCIpLnN0eWxlLmZp
bGwgPSAiZ3JlZW4iOwotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQot
ICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwog
ICAgICAgfQogCiAgICAgICBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsKQEAgLTIyLDcgKzIyLDcg
QEAKICAgICAgICAgZGl2LnNjcm9sbFRvcCA9IDEwMDsKICAgICAgICAgZGl2LnNjcm9sbExlZnQg
PSAxMDA7CiAgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKLSAgICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgICAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CiAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oNTAsIDUw
KTsKICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKICAgICAgICAgICBldmVudFNl
bmRlci5tb3VzZVVwKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3Njcm9s
bC10by1hbmNob3ItaW4tc3ltYm9sLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc2Nyb2xs
LXRvLWFuY2hvci1pbi1zeW1ib2wuc3ZnCmluZGV4IDY5NWRmYzlhNGVlMmE0ZDliZWFmM2VhYjE3
ZGVjNjM5OTk0ZTU5YmUuLjVlNmVlMDFhZTJlZDc5ZjE1MTE4YWQzYzQ1NjY2YTAyNWUzNmVlMmUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc2Nyb2xsLXRvLWFuY2hvci1pbi1z
eW1ib2wuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc2Nyb2xsLXRvLWFuY2hvci1p
bi1zeW1ib2wuc3ZnCkBAIC0xLDcgKzEsNyBAQAogPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5v
cmcvMjAwMC9zdmciPiANCiAgICAgPHNjcmlwdD4NCi0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikNCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsN
CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQ0KKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7DQogICAgIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICBsb2Nh
dGlvbi5oYXNoID0gJ3YxJzsNCiAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0MSIp
LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJQQVNTOiBOYXZpZ2F0aW5nIHRv
IHN5bWJvbCBkaWQgbm90IGNyYXNoLiIpKTsNCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL3Njcm9sbC10by1zdmctZWxlbWVudC1hc3NlcnRpb24uaHRtbCBiL0xheW91dFRlc3Rz
L3N2Zy9jdXN0b20vc2Nyb2xsLXRvLXN2Zy1lbGVtZW50LWFzc2VydGlvbi5odG1sCmluZGV4IDM2
N2ViOWM1MGFmMDU4NWEwODIwNjRiNGIzYmJkM2MyZTgzZGY0ZWYuLjZlYWVmYjBiZTdlYTE5YmIw
MDg3ZjQ5NzYwNTU5NDk0MGU3OTE2MjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0
b20vc2Nyb2xsLXRvLXN2Zy1lbGVtZW50LWFzc2VydGlvbi5odG1sCisrKyBiL0xheW91dFRlc3Rz
L3N2Zy9jdXN0b20vc2Nyb2xsLXRvLXN2Zy1lbGVtZW50LWFzc2VydGlvbi5odG1sCkBAIC0xLDcg
KzEsNyBAQAogPGJvZHk+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CitpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKIHZhciBnID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsICJzdmciLCAi
ZyIpOwogZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N2Zy9jdXN0b20vc2Nyb2xsaW5nLWVtYmVkZGVkLXN2Zy1maWxlLWltYWdlLXJlcGFpbnQt
cHJvYmxlbS5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zY3JvbGxpbmctZW1iZWRkZWQt
c3ZnLWZpbGUtaW1hZ2UtcmVwYWludC1wcm9ibGVtLmh0bWwKaW5kZXggM2YxN2Q1MWMyOTEwNWQ3
ZTkyM2ZkYzA4MWI4Y2I2OWUwMmU2MTdmZC4uNjM0YjM4N2FhMDE5MTFkNDkyMTgwMTEzYTExODNj
YWRhM2IxZjE1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zY3JvbGxpbmct
ZW1iZWRkZWQtc3ZnLWZpbGUtaW1hZ2UtcmVwYWludC1wcm9ibGVtLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS9zY3JvbGxpbmctZW1iZWRkZWQtc3ZnLWZpbGUtaW1hZ2UtcmVwYWlu
dC1wcm9ibGVtLmh0bWwKQEAgLTI3LDggKzI3LDggQEAgU1ZHIDEuMSB0ZXN0OnJlbmRlci1ncm91
cHMtMDEtYiA8L3RpdGxlPgogIDwvc3R5bGU+DQogIDxzY3JpcHQ+DQogICBmdW5jdGlvbiByZXBh
aW50VGVzdCgpIHsNCi0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikNCi0gICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7DQorICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikNCisgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsNCiAgICAgc2V0
VGltZW91dChzdGFydFRlc3QsIDApOw0KICAgfQ0KICAgZnVuY3Rpb24gc3RhcnRUZXN0KCkgew0K
QEAgLTQyLDggKzQyLDggQEAgU1ZHIDEuMSB0ZXN0OnJlbmRlci1ncm91cHMtMDEtYiA8L3RpdGxl
PgogICAgICAgcmV0dXJuOw0KICAgICB9DQogDQotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpDQotICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOw0KKyAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpDQorICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
DQogICB9DQogIDwvc2NyaXB0Pg0KICA8L2hlYWQ+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS9zdG9wLWNyYXNoLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3RvcC1j
cmFzaC5zdmcKaW5kZXggYjc1ODY4NjY4YmMzZjA2N2Q0NGQ0YmQ0MmFiYzJmYTMyMDVjZjJjOC4u
Y2EyYjlhYWFlMjc2YTViY2YxY2NhNGVhMmE1OTM4OTgyMDIwZjRiNSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdG9wLWNyYXNoLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL3N0b3AtY3Jhc2guc3ZnCkBAIC0xLDggKzEsOCBAQAogPHN2ZyB4bWxucz0iaHR0cDov
L3d3dy53My5vcmcvMjAwMC9zdmciPgogICA8c3RvcC8+CiAgIDxzY3JpcHQ+Ci0gIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKKyAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKICAgPC9zY3JpcHQ+CiAgIDx0ZXh0IHg9IjEwIiB5PSIyNSI+UEFTUyAtLSBpZiB0
aGlzIHRlc3QgZG9lc24ndCBjcmFzaCBpdCBwYXNzZXMuPC90ZXh0PgogPC9zdmc+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N0cm9rZS13aWR0aC1jbGljay5zdmcgYi9MYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL3N0cm9rZS13aWR0aC1jbGljay5zdmcKaW5kZXggMzg0ODkxNTY1
ZGM0NzhhYzIwZGJhNDE2ZDg3YjUxYTBmMDVlYjliNS4uODhiODVhYmNiYmI4MWZiYzFmMzk0Yzc4
OWNhNGU5YjVkZTFmMDkwMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdHJv
a2Utd2lkdGgtY2xpY2suc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3Ryb2tlLXdp
ZHRoLWNsaWNrLnN2ZwpAQCAtMiw4ICsyLDggQEAKIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMu
b3JnLzIwMDAvc3ZnIj4KICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICA8IVtD
REFUQVsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIAogICAgIGZ1bmN0aW9uIGxvZyhz
dHJpbmcpIHsKICAgICAgIHZhciBuZXdEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0
dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLCAiZGl2Iik7CkBAIC0zOCw3ICszOCw3IEBACiAg
ICAgfQogICAgIAogICAgIGZ1bmN0aW9uIGdvdE1vdXNlRXZlbnQoZXZ0LCB0eXBlKSB7Ci0gICAg
ICBpZiAoIXdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCiAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb3VzZW92ZXItdGV4
dCcpLnRleHRDb250ZW50ID0gdHlwZSArICIgYXQgIiArIGV2dC5jbGllbnRYICsgIiwgIiArIGV2
dC5jbGllbnRZOwogICAgIH0KICAgXV0+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL3N2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC1vYmplY3QuaHRtbCBiL0xheW91dFRlc3RzL3N2
Zy9jdXN0b20vc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLW9iamVjdC5odG1sCmluZGV4IDIxNzc3
MzYzMzJmMGM3YWIyYzA0MjIxMmRhMDllMmZmZDRjODY2ZmUuLjU3MDE3YmNjYmRmODUzZWZiMzFm
NWQ0YTYyNGJjNDY3MDUyOTI4YzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20v
c3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLW9iamVjdC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N2
Zy9jdXN0b20vc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLW9iamVjdC5odG1sCkBAIC0yLDEwICsy
LDEwIEBACiA8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CiA8cD5UaGlzIHRlc3QgbWFrZXMgc3Vy
ZSB3ZSBjYW4gb3BlbiBTVkcgZG9jdW1lbnRzIGluIERhc2hib2FyZCBjb21wYXRpYmlsaXR5IG1v
ZGUuICBJdCBjYW4gbm90IGJlIHRlc3RlZCBtYW51YWxseS48L3A+CiA8c2NyaXB0PgotICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuc2V0VXNlRGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1vZGUodHJ1ZSk7Ci0gICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAg
ICAgICB0ZXN0UnVubmVyLnNldFVzZURhc2hib2FyZENvbXBhdGliaWxpdHlNb2RlKHRydWUpOwor
ICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7CiAgICAgfQogICAgIAogICAgIGZ1bmN0aW9uIGRlYnVnKHN0cikgewpAQCAt
NTcsOCArNTcsOCBAQAogICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgICBkZWJ1Zygi
RkFJTDogRXhjZXB0aW9uIHRocm93bjogIiArIGUpCiAgICAgICAgIH0KLSAgICAgICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgCi0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5ub3RpZnlEb25lKCk7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgCisgICAg
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICB9CiA8L3NjcmlwdD4KICAgICAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLWZlYXR1cmVzLmh0bWwgYi9M
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1mZWF0dXJlcy5odG1sCmluZGV4IDQ5ZjlkNmQ2N2Nj
MDcwZjc0YzA3MzZhNTFhOTYzNGUxNWVhZDViZTAuLmU4OGU5Y2M4ZDdiMjg4ZTBiY2E4MmRiYzUx
NmFkYjczZmExZTZiNDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLWZl
YXR1cmVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctZmVhdHVyZXMuaHRt
bApAQCAtMSw4ICsxLDggQEAKIDxzY3JpcHQ+CiAKIGZ1bmN0aW9uIHRlc3QoKSB7Ci0gICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKICAgICB2YXIgdW5kZWZpbmVkOwogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1mb250cy1pbi1odG1sLWxpbmVicmVha3MuaHRt
bCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLWZvbnRzLWluLWh0bWwtbGluZWJyZWFrcy5o
dG1sCmluZGV4IDE5ZDRkZmRlNGQ0Y2FlMjFiNjZmNWM4MTc3NDA5ZGEyNjBjYWE3MzguLjNiMTI3
NzhmMzU5MzgxOTI4OWQ5MTRlZTI5Mzk5OTNlNDhhMjhlNWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3N2Zy9jdXN0b20vc3ZnLWZvbnRzLWluLWh0bWwtbGluZWJyZWFrcy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLWZvbnRzLWluLWh0bWwtbGluZWJyZWFrcy5odG1sCkBA
IC0xMyw4ICsxMyw4IEBAIHNwYW4gewogCiA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+
CiAKLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwogCiBmdW5jdGlvbiBsb2cobXNnKQogewpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctZm9udHMtbm8tbGF0aW4tZ2x5cGguaHRtbCBiL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLWZvbnRzLW5vLWxhdGluLWdseXBoLmh0bWwKaW5kZXggMGY1
YjVhMDQ0ZTM4MThkM2Y0NzhhMWE0YTYwODcwODE1M2UxZWZiNy4uMjc3MmFjZmRkYzVjYmVhNTQ1
NjE0NDgwNzdiZmEzMzFjMDk1MWMyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9zdmctZm9udHMtbm8tbGF0aW4tZ2x5cGguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL3N2Zy1mb250cy1uby1sYXRpbi1nbHlwaC5odG1sCkBAIC0xNCw4ICsxNCw4IEBAIGZ1bmN0
aW9uIGRvVGVzdCgpIHsKICAgICAgICAgcmVzdWx0LmlubmVySFRNTCArPSAnUEFTUyc7CiAgICAg
ZWxzZQogICAgICAgICByZXN1bHQuaW5uZXJIVE1MICs9ICdGQUlMJzsKLSAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKIH0KIDwvc2NyaXB0PgogPC9oZWFkPgpAQCAtMjUsOSArMjUsOSBAQCBm
dW5jdGlvbiBkb1Rlc3QoKSB7CiA8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgogPHNjcmlwdD4KIGRv
Y3VtZW50LmJvZHkub2Zmc2V0V2lkdGg7Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgIGxheW91dFRl
c3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgewor
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOwogfQogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBkb1Rlc3QsIHRydWUpOwog
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1nZXRlbGVt
ZW50aWQueGh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1nZXRlbGVtZW50aWQueGh0
bWwKaW5kZXggODIzYTZhZDg2YmFiNWFhOGI2NmE5ZGM1ZjY2NDNmMTk4NWRmYmMyZi4uZDQ4ZDE2
NjQ0NGM1NzQ4YjMxZTI4ZmFhMTgyNWJmOWVkNWU3YmJmOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9zdmctZ2V0ZWxlbWVudGlkLnhodG1sCisrKyBiL0xheW91dFRlc3RzL3N2
Zy9jdXN0b20vc3ZnLWdldGVsZW1lbnRpZC54aHRtbApAQCAtNDAsOCArNDAsOCBAQAogPGRpdiBp
ZD0iZm9vIi8+CiAKIDxzY3JpcHQ+PCFbQ0RBVEFbCi0gIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgIHZhciBz
dmdUcmVlMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdmdUcmVlMSIpOwogCiAgIC8vIFRl
c3Qgc3VwcG9ydCBmb3IgImdldEVsZW1lbnRCeUlkIiBvbiBzdmdUcmVlMQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctcGFyc2Utb3ZlcmZsb3ctMS5odG1sIGIvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS9zdmctcGFyc2Utb3ZlcmZsb3ctMS5odG1sCmluZGV4IDVmYjk0NjI4
ODg1ZmM3NGU2ZDVhODNjOWM3MWRjOGRkYjIzMjZiNjcuLmUzNmE1YWYxZDdhZjk5MTFlYTBjNmEx
OWU4NmY0MjRmMDg3MmEwNTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3Zn
LXBhcnNlLW92ZXJmbG93LTEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1w
YXJzZS1vdmVyZmxvdy0xLmh0bWwKQEAgLTIsOCArMiw4IEBACiA8Ym9keT4KIDxzY3JpcHQ+CiBk
b2N1bWVudC5ib2R5Lm9mZnNldFRvcDsKLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogPC9zY3JpcHQ+CiA8c3ZnPgog
PGZvcmVpZ25PYmplY3QgeT0iMTA1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwIiB0cmFuc2Zvcm09InNjYWxlKDUpIHNrZXdYKDUpIj4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N2Zy9jdXN0b20vc3ZnLXBhcnNlLW92ZXJmbG93LTIuaHRtbCBiL0xheW91dFRlc3RzL3N2
Zy9jdXN0b20vc3ZnLXBhcnNlLW92ZXJmbG93LTIuaHRtbAppbmRleCAzZWE0OWY0NDAwZWQ1NDM3
YjhhZjBhODcyOWJiOWE5NTA5MzRmZDRkLi4wNzMzOWU4ZmNlYTQ1YzQ4ZDUwZjNhODBkYjNlMTVh
ZjhiYjA5Y2EwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1wYXJzZS1v
dmVyZmxvdy0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctcGFyc2Utb3Zl
cmZsb3ctMi5odG1sCkBAIC0yLDggKzIsOCBAQAogPGJvZHk+CiA8c2NyaXB0PgogZG9jdW1lbnQu
Ym9keS5vZmZzZXRUb3A7Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIDwvc2NyaXB0PgogPHN2Zz4KIDxyZWN0IHdp
ZHRoPSI0NzgiIGhlaWdodD0iLTEwNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMCIgc3Ryb2tlPSIjMDAwMDAwIj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0
b20vc3ZnLXBhcnNlLW92ZXJmbG93LTMuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3Zn
LXBhcnNlLW92ZXJmbG93LTMuaHRtbAppbmRleCBmNDM4YTBkNGRlYWVlZTYzYjM5ODkxNjY4NDFk
MWI5YjQxZGE3MGZjLi41NzIzYzUxZGYyMzI5ZTA0ZDdlM2EzNGNkMDQzYTBlNzQwYTAwOTQ1IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1wYXJzZS1vdmVyZmxvdy0zLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctcGFyc2Utb3ZlcmZsb3ctMy5odG1s
CkBAIC0yLDggKzIsOCBAQAogPGJvZHk+CiA8c2NyaXB0PgogZG9jdW1lbnQuYm9keS5vZmZzZXRU
b3A7Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKIDwvc2NyaXB0PgogPHN0eWxlPgogc3ZnIHsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXBhcnNlLW92ZXJmbG93LTQuaHRtbCBiL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXBhcnNlLW92ZXJmbG93LTQuaHRtbAppbmRleCAyY2RiOTk0
YTFhY2EyMjhlYTQ4ZGNjYTk3MzU5ZDZjNmJhZGE2ZGViLi4yMDRmMjhmYTEzYTc2ZjI2Njc3MGY1
NGQyMzdhMjMzM2UzNTlmZGI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2
Zy1wYXJzZS1vdmVyZmxvdy00Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmct
cGFyc2Utb3ZlcmZsb3ctNC5odG1sCkBAIC0yLDggKzIsOCBAQAogPGJvZHk+CiA8c2NyaXB0Pgog
ZG9jdW1lbnQuYm9keS5vZmZzZXRUb3A7Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKK2lmICh3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIDwvc2NyaXB0PgogPHN2Zz4K
IDxmb3JlaWduT2JqZWN0IHk9IjEwNS4wZTUwIiB0cmFuc2Zvcm09InNjYWxlKDUpIHNrZXdYKDUp
Ij4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXBhcnNlLW92ZXJmbG93
LTUuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXBhcnNlLW92ZXJmbG93LTUuaHRt
bAppbmRleCAxMTgwOGY1MjJlMGFhYWU3OGQyNjg2M2VlOGVlOGExZTNhZmZjYjliLi41YzUxNzA0
MWE5Yzk5NDIwNWE1MTMxYWNlNmUzNjVhNDBiODNiYTQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL3N2Zy1wYXJzZS1vdmVyZmxvdy01Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS9zdmctcGFyc2Utb3ZlcmZsb3ctNS5odG1sCkBAIC0yLDggKzIsOCBAQAogPGJv
ZHk+CiA8c2NyaXB0PgogZG9jdW1lbnQuYm9keS5vZmZzZXRUb3A7Ci1pZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsK
K2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIDwv
c2NyaXB0PgogPHN2Zz4KIDxmb3JlaWduT2JqZWN0IHk9IjEwNS4wZTUwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiIHRyYW5zZm9ybT0ic2NhbGUoNSkg
c2tld1goNSkiPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctdXNlLXN0
eWxlLWZsb2F0LWNyYXNoLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXVzZS1zdHls
ZS1mbG9hdC1jcmFzaC5zdmcKaW5kZXggNjYzZTQxODQ4NGNiOWY5ODlhYzM2MDkzZjU4NjY5MWQx
MTJkMmZlMC4uNGYwY2ZlZGYwOGUwMGQzODZiZGU3MGEwMTMxNjA5NWQ2M2I3Y2M2MCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctdXNlLXN0eWxlLWZsb2F0LWNyYXNoLnN2
ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy11c2Utc3R5bGUtZmxvYXQtY3Jhc2gu
c3ZnCkBAIC0zLDcgKzMsNyBAQAogPHRleHQgeD0iMTAiIHk9IjMwIj5UZXN0IGZvciBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDkzMTY8L3RleHQ+CiA8dGV4dCBpZD0i
Y29uc29sZSIgeD0iMTAiIHk9IjYwIj5QQVNTRUQgKGRpZCBub3QgY3Jhc2gpPC90ZXh0PgogPHNj
cmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOwogPC9zY3JpcHQ+CiA8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXdpZHRoLWludHJpbnNpYy1jcmFzaC5odG1sIGIvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS9zdmctd2lkdGgtaW50cmluc2ljLWNyYXNoLmh0bWwKaW5kZXggZDdh
MTFkOGEzYzY2NmNlMmYwNDU2NzZkNzMwNmQ2MDM5MGU1NDM5Zi4uNjhjNjQxZTI0OWQzZTU0MWVk
NjY5ZjIxNmYxYTBhOTM4ODNmMjY1MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9zdmctd2lkdGgtaW50cmluc2ljLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS9zdmctd2lkdGgtaW50cmluc2ljLWNyYXNoLmh0bWwKQEAgLTcsOCArNyw4IEBACiAgICAg
PHN2ZyBzdHlsZT0id2lkdGg6IGludHJpbnNpYzsiLz4KICAgPC9kaXY+CiAgIDxzY3JpcHQ+Ci0g
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgPC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N5bWJvbC12aWV3cG9ydC1lbGVtZW50
LWNyYXNoLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ltYm9sLXZpZXdwb3J0LWVsZW1l
bnQtY3Jhc2guc3ZnCmluZGV4IDA5MjgzYzlhNzhlZmFiNDA0NDEyMTY1MzkyM2JmMWQ4MmViNTU4
YTIuLmVmOGYwM2UzZWE5ZGY1NTdmY2VmYzliZjFmYzAzNDYxNjhlODc1ODYgMTAwNzU1Ci0tLSBh
L0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ltYm9sLXZpZXdwb3J0LWVsZW1lbnQtY3Jhc2guc3Zn
CisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ltYm9sLXZpZXdwb3J0LWVsZW1lbnQtY3Jh
c2guc3ZnCkBAIC03LDggKzcsOCBAQAogICAgIDwvc3ltYm9sPg0KICAgPC91c2U+DQogICA8c2Ny
aXB0Pg0KLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQ0KLSAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOw0KKyAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpDQorICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsNCiAgIDwvc2NyaXB0Pg0KICAg
PHRleHQgeD0iMTBweCIgeT0iMTAwcHgiPlRoaXMgdGVzdCBwYXNzZXMgaWYgaXQgZGlkIG5vdCBj
cmFzaDwvdGV4dD4NCiA8L3N2Zz4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3RleHQtbm9kZS1pbi10ZXh0LWludmFsaWRhdGVk
LnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdGV4dC1ub2RlLWluLXRleHQtaW52YWxpZGF0
ZWQuc3ZnCmluZGV4IDkzMDEzNDZlY2NjM2VkMjE2MWVjZTJiMjg2MTk1MGNiNzdhZTc1NzkuLjE2
NWE1MWZhZDZlMTNkZGViMzYxZDI4YjVhMWQzM2QyYmY1YmEwNjkgMTAwNzU1Ci0tLSBhL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vdGV4dC1ub2RlLWluLXRleHQtaW52YWxpZGF0ZWQuc3ZnCisrKyBi
L0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdGV4dC1ub2RlLWluLXRleHQtaW52YWxpZGF0ZWQuc3Zn
CkBAIC0yLDggKzIsOCBAQAogPHRleHQgaWQ9InRleHQiPgogICAgIGJhcgogICAgIDxzY3JpcHQ+
Ci0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCiAgICAgICAg
IC8vIFRoaXMgdHJpZ2dlcnMgYSBsYXlvdXQgYmVmb3JlIGFkZGluZyB0aGUgI3RleHQgbm9kZS4K
ICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RleHQnKS5zY3JvbGxJbnRvVmlldygn
Zm9vJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3RleHQtdHJlZi0wMy1i
LWR5bmFtaWMuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS90ZXh0LXRyZWYtMDMtYi1keW5h
bWljLnN2ZwppbmRleCA5ZTQ5YTZiZDk3MmE0MTY3OTU1MWVmMTY1M2ZhMTUwN2I5Nzk3Zjg0Li5i
ZGFhNTkxMDNjZmEyNGUzNmZhOTM5Y2U2YTFlYmRiMGVhZDI1YzlhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL3RleHQtdHJlZi0wMy1iLWR5bmFtaWMuc3ZnCisrKyBiL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vdGV4dC10cmVmLTAzLWItZHluYW1pYy5zdmcKQEAgLTE0LDggKzE0
LDggQEAKICAgPCEtLT0gIFNlZSBodHRwOi8vd3d3LnczLm9yZy9Db25zb3J0aXVtL0xlZ2FsLy4g
ICAgICAgICAgICAgICAgICAgICAgICAgID0tLT4KICAgPCEtLT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KICAg
PHNjcmlwdD4KLSAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CiAgICAgICAgICB2YXIgZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0
YXJnZXQnKTsKICAgICAgICAgIHZhciB0cmVmID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCdo
dHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICd0cmVmJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL3RleHQtdHJlZi0wMy1iLWR5bmFtaWMyLnN2ZyBiL0xheW91dFRlc3Rz
L3N2Zy9jdXN0b20vdGV4dC10cmVmLTAzLWItZHluYW1pYzIuc3ZnCmluZGV4IDg2MmRhYTk3ZWQx
YWI1ODViYTA5NTJmNzgxYWJiMWUzZTZkNDFiMzEuLjg0NDA4YjQzMTVjZWQ3OTI1MTBmMmQ1Y2Vi
NWVhN2JlMmM1NmYyODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdGV4dC10
cmVmLTAzLWItZHluYW1pYzIuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdGV4dC10
cmVmLTAzLWItZHluYW1pYzIuc3ZnCkBAIC0xNCw4ICsxNCw4IEBACiAgIDwhLS09ICBTZWUgaHR0
cDovL3d3dy53My5vcmcvQ29uc29ydGl1bS9MZWdhbC8uICAgICAgICAgICAgICAgICAgICAgICAg
ICA9LS0+CiAgIDwhLS09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CiAgIDxzY3JpcHQ+Ci0gICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7CisgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOwogICAgICBmdW5jdGlvbiBydW5UZXN0KCkgewogICAgICAgICAg
dmFyIGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaGVsbG8nKTsKICAgICAgICAgIGUuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJ0YnKSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL3RleHRQYXRoLWFzc2VydC5zdmcgYi9MYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL3RleHRQYXRoLWFzc2VydC5zdmcKaW5kZXggOTkzZTdlMzFjNGQzNGE3NDRlYjI4ZWI5
NmEzZGJkN2YyMzQ1ODBjOC4uYjg2OWFiZjU5ZmMyZDQ4MWFlMjQ2OGUzMWVjOGM4NTdiYWZlNjAx
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS90ZXh0UGF0aC1hc3NlcnQuc3Zn
CisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdGV4dFBhdGgtYXNzZXJ0LnN2ZwpAQCAtMiw4
ICsyLDggQEAKICAgPHBhdGggaWQ9InBhdGgiIGQ9Ik0xMCAzMCBsIDIwMCAwIi8+CiAgIDxzY3Jp
cHQ+CiAgICAgPCFbQ0RBVEFbCi0gICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQotICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
ICAgICAgIAogICAgICAgdmFyIHN2Z25zID0gImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIjsK
ICAgICAgIHZhciB0ZXh0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHN2Z25zLCAidGV4dCIp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS90ZXh0UGF0aC1zZXQtaWQuc3Zn
IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS90ZXh0UGF0aC1zZXQtaWQuc3ZnCmluZGV4IGRkOGZi
NmQ0MzRiZGM1NjFiMDYxYjA4N2ZkZmQ0ODdlNzYzODZjMTguLjdiODA3OGU5NGMyZDJlYzk4MDQ5
ZDUyOWMzOTdkYjE1MjJiZmU3NTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20v
dGV4dFBhdGgtc2V0LWlkLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3RleHRQYXRo
LXNldC1pZC5zdmcKQEAgLTEwLDggKzEwLDggQEAKICAgICAgIHZhciBwYXRoID0gZG9jdW1lbnQu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoInBhdGgiKVswXTsKICAgICAgIHBhdGgucGFyZW50Tm9kZS5h
ZGRFdmVudExpc3RlbmVyKCdET01TdWJ0cmVlTW9kaWZpZWQnLCBoYW5kbGVyKTsKICAgICAgIHBh
dGguc2V0QXR0cmlidXRlKCJpZCIsImZvbyIpOwotICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwor
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKICAgICB9CiAgIF1dPjwvc2NyaXB0PgogPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL3RpbGluZy1yZWd1bGFyLWhleGFnb25hbC1jcmFzaC5zdmcgYi9MYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL3RpbGluZy1yZWd1bGFyLWhleGFnb25hbC1jcmFzaC5zdmcKaW5k
ZXggNWEzYmEwODRmYmRiNGQyOTlkZTcyYzlkNDI5N2ZlOWY3Zjc3NDQ2Zi4uYmEyNzEyZWEwNzk5
YjQzOGZkMjYxNmNiNDUwYzRjMjE2MjJmNjc1MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS90aWxpbmctcmVndWxhci1oZXhhZ29uYWwtY3Jhc2guc3ZnCisrKyBiL0xheW91dFRl
c3RzL3N2Zy9jdXN0b20vdGlsaW5nLXJlZ3VsYXItaGV4YWdvbmFsLWNyYXNoLnN2ZwpAQCAtMiw4
ICsyLDggQEAKIDwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIg
Imh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CiA8c3Zn
IGlkPSJUaWxpbmdfUmVndWxhcl82XzNfSGV4YWdvbmFsIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3Jn
LzE5OTkveGxpbmsiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj4KIDxzY3JpcHQ+Ci0gIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7CisgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCgpOwogPC9zY3JpcHQ+CiAKIDxkZWZzPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS90cmVmLWNsb25lLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL3RyZWYtY2xvbmUtY3Jhc2guaHRtbAppbmRleCA4MThlZmI3NDNmYzdiNWY0NTQxNWE1ZDNk
YWQwMjE3NDcwY2RmNjdiLi43Mjc3OWUxYWE4Zjg2M2I4OWFhM2FjNDM4ZmIzYTQzMjkzNzdjNDQ1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3RyZWYtY2xvbmUtY3Jhc2guaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3RyZWYtY2xvbmUtY3Jhc2guaHRtbApAQCAt
MTQsOSArMTQsOSBAQAogICAgICAgICAgIG5ldyBPYmplY3Q7CiAgICAgICB9CiAgICAgfQotICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRp
bERvbmUoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCgpOworICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgfQog
ICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgICB2YXIgdHJlZiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ0cmVmIik7CkBAIC0yNiw4ICsyNiw4IEBACiAgICAgICB2YXIgcGFyZW50ID0g
ZWxlbS5wYXJlbnROb2RlOwogICAgICAgcGFyZW50Lmluc2VydEJlZm9yZShkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJzb3VyY2UiKSwgZWxlbSk7CiAgICAgICBkb2N1bWVudC5ib2R5LmlubmVySFRN
TCA9ICJQQVNTIjsKLSAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgfQogICA8
L3NjcmlwdD4KIDwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS90cmVm
LXNoYWRvd2RvbS5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS90cmVmLXNoYWRvd2RvbS5o
dG1sCmluZGV4IGJjOThkN2I4NGQyMDE1MDJhZGE5YmU5MDgwMjlkOTY3MWJlMmFkNzkuLmFiYjA1
YWNiNDczODhmOTYzOWM4ZGFhMDQxZDIyNDEzZDBmZjFiODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3N2Zy9jdXN0b20vdHJlZi1zaGFkb3dkb20uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL3RyZWYtc2hhZG93ZG9tLmh0bWwKQEAgLTI1LDEwICsyNSwxMCBAQCBmdW5jdGlvbiBs
b2coc3RyaW5nKSB7CiB9CiAKIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgaWYgKCF3aW5kb3cu
aW50ZXJuYWxzIHx8ICF3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgaWYgKCF3aW5k
b3cuaW50ZXJuYWxzIHx8ICF3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgIHJldHVybjsKIAot
ICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgd2luZG93
LnRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIHZhciByZXN1bHQgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgncmVzdWx0Jyk7CiAgICAgd2hpbGUgKHJlc3VsdC5maXJzdENoaWxkKQogICAg
ICAgICByZXN1bHQucmVtb3ZlQ2hpbGQocmVzdWx0LmZpcnN0Q2hpbGQpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtYW5pbWF0aW9uLWluLWZpbGwuaHRtbCBiL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vdXNlLWFuaW1hdGlvbi1pbi1maWxsLmh0bWwKaW5kZXggNzhhNDc1
NWUwZWI4ZDc4NjNmYzc1NzE5MWJmMDJjNzY0OTEyMTJmZS4uNjI5MTYzNjVkODg2YzY4ZTRiMjg5
YmFmZmQyZTg3MzhiMDNmYzFmOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91
c2UtYW5pbWF0aW9uLWluLWZpbGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3Vz
ZS1hbmltYXRpb24taW4tZmlsbC5odG1sCkBAIC0xMSw4ICsxMSw4IEBACiAgIDx1c2UgeGxpbms6
aHJlZj0iI2ciPjwvdXNlPgogPC9zdmc+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CitpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CiAgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAiUEFTUzogUmVm
ZXJlbmNlZCBhbmltYXRpb24gZG9lcyBub3QgdHJpZ2dlciBjcmFzaC4iOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtY3Jhc2gtaW4tbm9uLXdlbGxmb3JtZWQtZG9jdW1l
bnQuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtY3Jhc2gtaW4tbm9uLXdlbGxmb3Jt
ZWQtZG9jdW1lbnQuc3ZnCmluZGV4IDBmN2RmNzdhMDZkYTM0NGYwYzA3ZDU0NTE5N2M3MWE5Y2Mx
MzBiNWUuLjJmZWYxMzdiMGU5YTVjMzNmZThlM2VmN2NhNzEyNDRiN2ZmZmQ2MzMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLWNyYXNoLWluLW5vbi13ZWxsZm9ybWVkLWRv
Y3VtZW50LnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1jcmFzaC1pbi1ub24t
d2VsbGZvcm1lZC1kb2N1bWVudC5zdmcKQEAgLTMsOCArMyw4IEBACiAgICAgPHRleHQgeD0iMCIg
eT0iMzAiPlBBU1Mgd2l0aG91dCBjcmFzaC48L3RleHQ+CiAgICAgPHVzZSB4bGluazpocmVmPSIj
dW5kZWZpbmVkIj4KICAgICA8c2NyaXB0PgotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKIAogICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkgewogICAgICAgICAg
ICAgdHJ5IHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLWNyYXNoLXBl
bmRpbmctcmVzb3VyY2Uuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtY3Jhc2gtcGVu
ZGluZy1yZXNvdXJjZS5zdmcKaW5kZXggMTdmZDJiY2M2YTJjYzcxZmJkOGM4ODlhNzk0MDJlODQ1
ZTM4NDgzYi4uMDExNDM0MzE0NDJlN2IyY2FjYjZiMWM3MjMwZjQzMWY5ZmM4MGY1ZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtY3Jhc2gtcGVuZGluZy1yZXNvdXJjZS5z
dmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtY3Jhc2gtcGVuZGluZy1yZXNvdXJj
ZS5zdmcKQEAgLTIxLDcgKzIxLDcgQEAKICAgICA8IS0tIFNob3VsZCB5aWVsZCB0aGUgZmlsdGVy
ZWQgdGV4dCAtLT4KICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dF91c2UiKS5zZXRB
dHRyaWJ1dGUoInhsaW5rOmhyZWYiLCAiI3RleHQxIik7CiAKLSAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQotICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOwogICA8L3NjcmlwdD4KIDwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS91c2UtY3Jhc2gtdXNpbmctY2hpbGRyZW4tYmVmb3JlLWRlc3Ryb3kuc3ZnIGIvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS91c2UtY3Jhc2gtdXNpbmctY2hpbGRyZW4tYmVmb3JlLWRlc3Ryb3ku
c3ZnCmluZGV4IGI5YjJlYzY5NDA4ZDI1NDlhNTYzNjczNTY1MGYzMWVjNjYxZWM1OTYuLmVhY2Vh
MWUxZjZhZjU0MjEwYTcyMjhmN2IzMzFlMTk5ODk5MGZjOGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3N2Zy9jdXN0b20vdXNlLWNyYXNoLXVzaW5nLWNoaWxkcmVuLWJlZm9yZS1kZXN0cm95LnN2
ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1jcmFzaC11c2luZy1jaGlsZHJlbi1i
ZWZvcmUtZGVzdHJveS5zdmcKQEAgLTEzLDggKzEzLDggQEAgdGVzdCgpOwogCiBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiYSIpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImci
KSk7CiAKLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIH0KIF1dPjwvc2NyaXB0PgogPC9zdmc+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91
c2UtY3Jhc2gtd2hlbi1ocmVmLWNoYW5nZS5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3Vz
ZS1jcmFzaC13aGVuLWhyZWYtY2hhbmdlLnN2ZwppbmRleCA1YTc1YWYxNmFlMzJmYTE2NmY2MWE4
OTNkNWIyYWE0OGFlMDI3NWYwLi5iNjdiZDVhZWUyODgwZjg1YWVhM2U0YmQ0NDBhYjZkOGJhNjFk
ODIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1jcmFzaC13aGVuLWhy
ZWYtY2hhbmdlLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1jcmFzaC13aGVu
LWhyZWYtY2hhbmdlLnN2ZwpAQCAtMTEsOCArMTEsOCBAQAogPHRleHQgeD0iMTAiIHk9ICIzMCI+
UEFTUyB3aXRob3V0IGNyYXNoIGluIGRlYnVnIG1vZGUuPC90ZXh0PgogCiA8c2NyaXB0PgotICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCiAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKICAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVzZSIpLnNldEF0dHJpYnV0ZSgieGxpbms6
aHJlZiIsICIiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLWRldGFj
aC5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1kZXRhY2guc3ZnCmluZGV4IDEzZThi
MmY2MGI1YjdkNzlmYWJmZmNlYjk3MTMzNmMzZTg0ZTM1MGUuLjMzMmI4NzFlYmNkMmE2Mzg3YjBj
ODYwNTc1Y2E3NjUzNjY5ODkzMDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20v
dXNlLWRldGFjaC5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtZGV0YWNoLnN2
ZwpAQCAtOCw4ICs4LDggQEAKICAgICAgIHZhciBlbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3VzZScpOwogICAgICAgZWxlbS5zZXRBdHRyaWJ1dGVOUyhudWxsLCdkaXNwbGF5JywnaW5s
aW5lJyk7CiAKLSAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgICB3
aW5kb3cuc2V0VGltZW91dCgic3RlcDIoKSIsIDApOwogICAgIH0KICAgICBmdW5jdGlvbiBzdGVw
MigpIHsKQEAgLTIwLDggKzIwLDggQEAKICAgICBmdW5jdGlvbiBzdGVwMygpIHsKICAgICAgIHZh
ciBlbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3VzZScpOwogICAgICAgZWxlbS5zZXRB
dHRyaWJ1dGVOUyhudWxsLCdkaXNwbGF5JywnaW5saW5lJyk7Ci0gICAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlE
b25lKCk7CisgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOwogICAgIH0KICAgXV0+CiAgIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtZGlzcGxheS1ub25lLnN2ZyBiL0xheW91dFRlc3RzL3N2
Zy9jdXN0b20vdXNlLWRpc3BsYXktbm9uZS5zdmcKaW5kZXggNjliYTdiZTk2ZmJjMGJjNjBmMjc0
ZTExZTgzZmJiZGNiMWUyMDAzYi4uZjAzYWY4NDZhZTVlNDU0NTIwMTY2YzBmN2UyNjAzODE3YTVi
YzIwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtZGlzcGxheS1ub25l
LnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1kaXNwbGF5LW5vbmUuc3ZnCkBA
IC0yLDggKzIsOCBAQAogICAgIDxzeW1ib2wgaWQ9ImEiLz4KICAgICA8dXNlIGlkPSJiIiB4bGlu
azpocmVmPSIjYSIvPgogICAgIDxzY3JpcHQ+Ci0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCi0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0
KCk7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwogICAgICAgICBiPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiJyk7
CiAgICAgICAgIGIuaHJlZi5iYXNlVmFsPSIjYSI7CiAgICAgICAgIGIuc2V0QXR0cmlidXRlKCJk
aXNwbGF5Iiwibm9uZSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2Ut
ZWxlbWVudEluc3RhbmNlLWV2ZW50LXRhcmdldC5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L3VzZS1lbGVtZW50SW5zdGFuY2UtZXZlbnQtdGFyZ2V0LnN2ZwppbmRleCA3MzFmZDZjMTMxNmVh
ZTE1ZWFjMjRmNWM5MmI2MmYzNjlkY2FkNzFjLi40MjdjN2M0NTkyNzRiY2Q3MGM3YWI3MTZhOTJm
ZWY1M2NlMTMzODYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1lbGVt
ZW50SW5zdGFuY2UtZXZlbnQtdGFyZ2V0LnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L3VzZS1lbGVtZW50SW5zdGFuY2UtZXZlbnQtdGFyZ2V0LnN2ZwpAQCAtOCw3ICs4LDcgQEAKICAg
ICA8IVtDREFUQVsKICAgICAgIGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkgewogICAgICAgICAgIGlm
ICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKLSAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMjUwLCA1MCk7CiAg
ICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOwogICAgICAgICAgICAgICBldmVu
dFNlbmRlci5tb3VzZVVwKCk7CkBAIC0zOSw4ICszOSw4IEBACiAgICAgICAgIC8vIHNob3cgdGhl
IHJlc3VsdAogICAgICAgICB1c2Uuc2V0QXR0cmlidXRlTlMobnVsbCwgJ2ZpbGwnLCBjb2xvcnNb
cGFzc10pOwogCi0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAg
ICB9CiAgICAgXV0+CiAgICAgPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL3VzZS1lbGVtZW50SW5zdGFuY2UtbWV0aG9kcy5zdmcgYi9MYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL3VzZS1lbGVtZW50SW5zdGFuY2UtbWV0aG9kcy5zdmcKaW5kZXggNDZiNGQ2YTA0Y2Zk
YjQzZDJlYTE2NWY3YTY4NjI5ZjYzZGI1ZDNkNi4uNDgwOTJmOTk5MjMxODVmYmVkYjg1MjU0M2Iy
YTg1NzJhYzc5M2IxYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtZWxl
bWVudEluc3RhbmNlLW1ldGhvZHMuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNl
LWVsZW1lbnRJbnN0YW5jZS1tZXRob2RzLnN2ZwpAQCAtMTAsNyArMTAsNyBAQAogICAgIDwhW0NE
QVRBWwogICAgICAgZnVuY3Rpb24gcmVwYWludFRlc3QoKSB7CiAgICAgICAgICAgaWYgKHdpbmRv
dy5ldmVudFNlbmRlcikgewotICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0
VW50aWxEb25lKCk7CisgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwog
ICAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygyNTAsIDUwKTsKICAgICAgICAg
ICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CiAgICAgICAgICAgICAgIGV2ZW50U2VuZGVy
Lm1vdXNlVXAoKTsKQEAgLTU3LDggKzU3LDggQEAKICAgICAgICAgLy8gSG9wZWZ1bGx5IHdlIHBh
c3MgOi0pCiAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGF0dXMiKS5maXJzdENo
aWxkLm5vZGVWYWx1ZSA9ICJUZXN0IHBhc3NlZC4iOwogCi0gICAgICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgfQogICAgIF1dPgogICAgIDwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtZXZlbnQtaGFuZGxlci1vbi1y
ZWZlcmVuY2VkLWVsZW1lbnQuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtZXZlbnQt
aGFuZGxlci1vbi1yZWZlcmVuY2VkLWVsZW1lbnQuc3ZnCmluZGV4IGU5MDM5ZDFiNDJmNjc0NDIy
MzUyNzRjNTM2NzBjNTA0MjVmMzRhMDQuLjE2ZDQ5Y2I3ZThiZGYzYTA1Y2Y4MmU1YzEzN2ExZTUx
Y2ZmNzY0NjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLWV2ZW50LWhh
bmRsZXItb24tcmVmZXJlbmNlZC1lbGVtZW50LnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL3VzZS1ldmVudC1oYW5kbGVyLW9uLXJlZmVyZW5jZWQtZWxlbWVudC5zdmcKQEAgLTcsNyAr
Nyw3IEBACiAgICAgPCFbQ0RBVEFbCiAgICAgZnVuY3Rpb24gcmVwYWludFRlc3QoKSB7CiAgICAg
ICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwogICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMjUwLCA1MCk7CiAg
ICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKICAgICAgICAgICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlVXAoKTsKQEAgLTE2LDggKzE2LDggQEAKIAogICAgIGZ1bmN0aW9uIHRlc3QoKSB7
CiAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXh0IikuZmlyc3RDaGlsZC5ub2Rl
VmFsdWUgPSAiVGVzdCBwYXNzZWQuIjsKLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsK
KyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7CiAgICAgfQogICAgIF1dPgogICAgIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtZXZlbnQtaGFuZGxlci1vbi11c2UtZWxlbWVudC5z
dmcgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1ldmVudC1oYW5kbGVyLW9uLXVzZS1lbGVt
ZW50LnN2ZwppbmRleCA5Yzg3MGZjZjdlOTgwZThmM2RjNGYxMTFjOTIyZThjYTBlNzQyZDBlLi43
NGQ3YWRmOWExMjgxNWQ4YmMwNWEwMzE3Y2VjYjE0Y2JjNmJmNTM3IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1ldmVudC1oYW5kbGVyLW9uLXVzZS1lbGVtZW50LnN2Zwor
KysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1ldmVudC1oYW5kbGVyLW9uLXVzZS1lbGVt
ZW50LnN2ZwpAQCAtNyw3ICs3LDcgQEAKICAgICA8IVtDREFUQVsKICAgICBmdW5jdGlvbiByZXBh
aW50VGVzdCgpIHsKICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewotICAgICAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICAgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1v
dmVUbygyNTAsIDUwKTsKICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOwogICAg
ICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOwpAQCAtMTYsOCArMTYsOCBAQAogCiAgICAg
ZnVuY3Rpb24gdGVzdCgpIHsKICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHQi
KS5maXJzdENoaWxkLm5vZGVWYWx1ZSA9ICJUZXN0IHBhc3NlZC4iOwotICAgICAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIubm90aWZ5RG9uZSgpOworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICB9CiAgICAgXV0+CiAgICAgPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1leHRlcm5hbC1jcmFz
aC5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1leHRlcm5hbC1jcmFzaC5zdmcKaW5k
ZXggOGE1NDI2YTAxZTJlNTgxZGIxNmVhYTJmMzM5YTkzNmJiMmI5MjFhNS4uNWRiZjUwNTI3MDg0
YTlhYTczYzQxMDM3NjQxMGRkOTdmZTFiYWI1NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS91c2UtZXh0ZXJuYWwtY3Jhc2guc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0
b20vdXNlLWV4dGVybmFsLWNyYXNoLnN2ZwpAQCAtMyw4ICszLDggQEAKIDxkZWZzPjx0ZXh0PlBB
U1MgaWYgaXQgZG9lc24ndCBhc3NlcnQgaW4gZGVidWcgYnVpbGRzLjwvdGV4dD48L2RlZnM+CiA8
dXNlIHhsaW5rOmhyZWY9Ii4uL1czQy1TVkctMS4yLVRpbnkvc3RydWN0LXVzZS1yZWN1cnNpb24t
MDItdC5zdmcjTk9ORVhJU1RJTkciLz4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKK2lmICh3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3aW5k
b3cuZ2NDb250cm9sbGVyKQogICAgIGdjQ29udHJvbGxlci5jb2xsZWN0KCk7CiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLWluc3RhbmNlUm9vdC1hcy1l
dmVudC10YXJnZXQueGh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1pbnN0YW5jZVJv
b3QtYXMtZXZlbnQtdGFyZ2V0LnhodG1sCmluZGV4IDdjMTM4YmUxOTlmMDY2MmYyYjZjNTE5OWM4
M2JlZGVjMWNmOGIxMmMuLjMxNWNmMGU3MmYzZTczMDY4NmU3ZDQ4MmVjZTIzOWIzYWUwODU0M2Eg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLWluc3RhbmNlUm9vdC1hcy1l
dmVudC10YXJnZXQueGh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtaW5zdGFu
Y2VSb290LWFzLWV2ZW50LXRhcmdldC54aHRtbApAQCAtMTYsOCArMTYsOCBAQAogCiA8c2NyaXB0
PgogLy8gU2V0dGluZyB1cCB0aGUgdGVzdGNhc2UKLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCiB2YXIg
dXNlRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iik7CiB2YXIgcmVjdEVs
ZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0Iik7CkBAIC0yOTEsOCArMjkx
LDggQEAgZnVuY3Rpb24gZXZlbnRUZXN0RWlnaHQoKQogCiBmdW5jdGlvbiBjb21wbGV0ZVRlc3Qo
KQogewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogfQogPC9zY3JpcHQ+CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLWluc3RhbmNlUm9vdC1ldmVudC1saXN0
ZW5lci1saXZlbmVzcy54aHRtbCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLWluc3RhbmNl
Um9vdC1ldmVudC1saXN0ZW5lci1saXZlbmVzcy54aHRtbAppbmRleCBlZTA0MmFhY2JlMTFlZDAz
YWIyN2IzYzQwNjU4MWQ2OWRhOTlmNDUzLi5kYWNkOTI3NzhhNTZkMTBhZmZiNjFlODRlMTEyN2Y4
ZGQ1N2U5NGE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1pbnN0YW5j
ZVJvb3QtZXZlbnQtbGlzdGVuZXItbGl2ZW5lc3MueGh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS91c2UtaW5zdGFuY2VSb290LWV2ZW50LWxpc3RlbmVyLWxpdmVuZXNzLnhodG1sCkBA
IC0xNCw5ICsxNCw5IEBACiA8ZGl2IGlkPSJjb25zb2xlIj5UZXN0IGZhaWxlZDwvZGl2PgogCiA8
c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0
VW50aWxEb25lKCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIH0KIAogZnVuY3Rp
b24gZXZlbnRIYW5kbGVyKCkKQEAgLTI0LDggKzI0LDggQEAgZnVuY3Rpb24gZXZlbnRIYW5kbGVy
KCkKICAgICB2YXIgZGl2RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xl
Iik7CiAgICAgZGl2RWxlbWVudC50ZXh0Q29udGVudCA9ICJUZXN0IHBhc3NlZCI7CiAKLSAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5ub3RpZnlEb25lKCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKIH0KIAogZnVuY3Rpb24gZmlyZVNpbXVsYXRlZE1vdXNl
Q2xpY2tFdmVudChldmVudFRhcmdldCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0
b20vdXNlLWluc3RhbmNlUm9vdC13aXRoLXVzZS1yZW1vdmVkLnN2ZyBiL0xheW91dFRlc3RzL3N2
Zy9jdXN0b20vdXNlLWluc3RhbmNlUm9vdC13aXRoLXVzZS1yZW1vdmVkLnN2ZwppbmRleCAxOTVl
YTgzMTIzMTUxYjYwNGJmMWMzOTYxNGMzNDMzOWVkYmRhMDQ2Li40NThiNzBjYzk0OTYwODc0MzUy
Y2E1NzUwNjI1Nzk4ODE3ODRlNmZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L3VzZS1pbnN0YW5jZVJvb3Qtd2l0aC11c2UtcmVtb3ZlZC5zdmcKKysrIGIvTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS91c2UtaW5zdGFuY2VSb290LXdpdGgtdXNlLXJlbW92ZWQuc3ZnCkBAIC0xLDkg
KzEsOSBAQAogPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhs
aW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4NCiA8c2NyaXB0Pg0KIDwhW0NEQVRB
Ww0KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsNCi0gICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOw0KLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50
aWxEb25lKCk7DQoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7DQorICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOw0KKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsNCiAgICAgZ2MgPSBm
dW5jdGlvbigpe3dpbmRvdy5HQ0NvbnRyb2xsZXIuY29sbGVjdCgpfTsNCiB9IGVsc2UgaWYgKCF3
aW5kb3cuZ2MpDQogICAgIGdjID0gZnVuY3Rpb24oKXt9Ow0KQEAgLTIxLDggKzIxLDggQEAgd2lu
ZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCl7CiAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXts
b2NhdGlvbi5yZWxvYWQoKX0sMCk7DQogICAgIH0gZWxzZSB7DQogICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgidDEiKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgi
UEFTUzogU3VjY2Vzc2Z1bGx5IHJlbW92ZWQgdXNlIGVsZW1lbnQuIikpOw0KLSAgICAgICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikNCi0gICAgICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5ub3RpZnlEb25lKCk7DQorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpDQor
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7DQogICAgIH0NCiB9DQogLy9dXT4N
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1pbnZhbGlkLWZvbnQtZmFj
ZS5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1pbnZhbGlkLWZvbnQtZmFjZS5zdmcK
aW5kZXggNzg3MjFmMzMxNzM5MWJjZmRmYjFiMWJjNTZmYzhjZWM3NGY4ZWJiMy4uMGQ0MTY4ZGY4
MzM0MDZlOTc2ZTRiM2MyZDc0YWI4MTlmM2JmNjQyNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS91c2UtaW52YWxpZC1mb250LWZhY2Uuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2
Zy9jdXN0b20vdXNlLWludmFsaWQtZm9udC1mYWNlLnN2ZwpAQCAtMSw3ICsxLDcgQEAKIDxzdmcg
dmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhs
aW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgICA8c2NyaXB0PgotICAgICAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICA8L3NjcmlwdD4KICAg
ICA8Zm9udC1mYWNlIGlkPSJmb250Ij4KICAgICAgICAgPGZvbnQtZmFjZS1zcmM+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1pbnZhbGlkLWh0bWwueGh0bWwgYi9MYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1pbnZhbGlkLWh0bWwueGh0bWwKaW5kZXggMmI5NjVjMGRm
ZDJiNWUzMGQ1N2VmODM3MWI4NjQ2NmQ4MTI5YWY2ZS4uOTJiZGMxMjY5ZTkzNjg3ODg4NjBiMWZk
NjA4ZGI1M2NmYTRlYzllMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2Ut
aW52YWxpZC1odG1sLnhodG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLWludmFs
aWQtaHRtbC54aHRtbApAQCAtMyw4ICszLDggQEAKICAgICAgIHhtbG5zOnhsaW5rPSJodHRwOi8v
d3d3LnczLm9yZy8xOTk5L3hsaW5rIg0KICAgICAgIG9ubG9hZD0icmVzdHlsZSgpIj4NCiAgICAg
PHNjcmlwdD4NCi0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikNCi0gICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsNCisgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQ0KKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7DQogICAgIGZ1bmN0aW9u
IHJlc3R5bGUoKSB7DQogICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYiIpLnN0eWxl
LnBvc2l0aW9uID0gImFic29sdXRlIjsNCiAgICAgfQ0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N2Zy9jdXN0b20vdXNlLWludmFsaWQtcGF0dGVybi5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL3VzZS1pbnZhbGlkLXBhdHRlcm4uc3ZnCmluZGV4IGMyZTk1NzVlMDMxMjJjYWFhMDdjN2Zj
NTE1YjdmMTcxZGFlNGJkMDguLjY0YzIwYTk3ZjcxMmQxNDA1ZTQwMTJhZDRmZjlhY2Y4MjRmZDQ4
NzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLWludmFsaWQtcGF0dGVy
bi5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtaW52YWxpZC1wYXR0ZXJuLnN2
ZwpAQCAtMSw3ICsxLDcgQEAKIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3Zn
IiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+ICANCiAgICAgPHNj
cmlwdD4NCi0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpDQotICAgICAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOw0KKyAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQ0KKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOw0K
ICAgICA8L3NjcmlwdD4NCiAgICAgPHRleHQgeT0iMjAiPlRoaXMgc2hvdWxkIG5vdCBjcmFzaCwg
YnV0IGRpc3BsYXkgYW4gZXJyb3IgZG9jdW1lbnQuPC90ZXh0Pg0KICAgICA8ZyBpZD0iY3Jhc2gi
Pg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLWludmFsaWQtc3R5bGUu
c3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtaW52YWxpZC1zdHlsZS5zdmcKaW5kZXgg
ZDg3MzQyODdjZmIxNmM0YzVhNDJjYjUzNzQ3ZjY1NzgyYWU2YjIxMy4uYjY5MDIzNTMzMjY4NTc3
MmY3ZDEyNTA0MmU2NmZkY2IxYjQ1MTgwMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS91c2UtaW52YWxpZC1zdHlsZS5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91
c2UtaW52YWxpZC1zdHlsZS5zdmcKQEAgLTEsNyArMSw3IEBACiA8c3ZnIHhtbG5zPSJodHRwOi8v
d3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkv
eGxpbmsiPg0KICAgICA8c2NyaXB0Pg0KLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikNCi0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7
DQorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpDQorICAgICAgICAgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7DQogICAgIDwvc2NyaXB0Pg0KICAgICA8dGV4dCB5PSIyMCI+VGhpcyBz
aG91bGQgbm90IGNyYXNoLCBidXQgZGlzcGxheSBhbiBlcnJvciBkb2N1bWVudC48L3RleHQ+DQog
ICAgIDxzdHlsZSBpZD0iY3Jhc2giPjwvc3R5bGU+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS91c2UtbW92ZS10by1vZmZzZXQuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS91c2UtbW92ZS10by1vZmZzZXQuc3ZnCmluZGV4IGM5MjA1NzViNjdiOWMwYTZmMWY5OGEyMjI5
MzJhMmMzMTE1ZjdiMTMuLmIxMTcyMzYyMDJkODlkYzZiZjdjZWUwZmI3N2RlOGIxY2NjZWE2NjEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLW1vdmUtdG8tb2Zmc2V0LnN2
ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1tb3ZlLXRvLW9mZnNldC5zdmcKQEAg
LTUsOCArNSw4IEBACiAgIDx1c2UgeGxpbms6aHJlZj0iI3IxIiB4PSI1MCIgaWQ9InVzZTEiIG9u
Y2xpY2s9InJlc2V0KCkiLz4KICAgPHNjcmlwdD4KICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
Ci0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAg
ICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMTAwLCA1MCk7CiAgICAgICAgICBldmVudFNl
bmRlci5tb3VzZURvd24oKTsKICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKQEAgLTE1
LDggKzE1LDggQEAKICAgICAgICAgdmFyIHUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjdXNl
MScpOwogICAgICAgICB1LnNldEF0dHJpYnV0ZSgneCcsIDApOwogICAgICAgICB1LnNldEF0dHJp
YnV0ZSgneScsIDApOwotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQot
ICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUo
KTsKICAgICAgIH0KICAgPC9zY3JpcHQ+CiA8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N2Zy9jdXN0b20vdXNlLW11bHRpcGxlLW9uLW5lc3RlZC1kaXNhbGxvd2VkLWZvbnQuaHRtbCBi
L0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLW11bHRpcGxlLW9uLW5lc3RlZC1kaXNhbGxvd2Vk
LWZvbnQuaHRtbAppbmRleCBhZTA2NmMxMTc3NDVlYTliZjgxY2U1Yzg5MWFkODA1NGIwMTQzYTNk
Li4xY2Q3YzY0ZTI2ZDA3Y2YwMWEwNDViMjYxYzZiMGZiOWI0N2I4YzYwIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1tdWx0aXBsZS1vbi1uZXN0ZWQtZGlzYWxsb3dlZC1m
b250Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtbXVsdGlwbGUtb24tbmVz
dGVkLWRpc2FsbG93ZWQtZm9udC5odG1sCkBAIC0xOCw4ICsxOCw4IEBACiAgIDx1c2UgeGxpbms6
aHJlZj0iI0IiPjwvdXNlPgogPC9zdmc+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CitpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CiAgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgKz0gIlBBU1M6IFRo
aXMgZmlsZSBzaG91bGQgbm90IGNyYXNoLiI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL3VzZS1tdXRhdGlvbi1ldmVudC1jcmFzaC5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL3VzZS1tdXRhdGlvbi1ldmVudC1jcmFzaC5zdmcKaW5kZXggNDYzZWM2N2M3ZjIxMDVmNzJk
MjdhZmJhMTdiZTlkN2Q5NjRlZTA3Ny4uNmQzMzFhOTIwZmFhNWM4YzQ2ODNlZmI4MWRkMWQzZmMx
ZTRiNDZkNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtbXV0YXRpb24t
ZXZlbnQtY3Jhc2guc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLW11dGF0aW9u
LWV2ZW50LWNyYXNoLnN2ZwpAQCAtMSw3ICsxLDcgQEAKIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cu
dzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlu
ayI+CiA8c2NyaXB0PgotICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgLy8gUHJldmVudCBpbnNlcnRp
b24gb2YgYW55IGNvbnRlbnQgaW50byB0aGUgZG9jdW1lbnQuCiAgIGRvY3VtZW50LmRvY3VtZW50
RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Ob2RlSW5zZXJ0ZWQiLCBmdW5jdGlvbigpIHsK
ICAgICB2YXIgaW5zZXJ0ZWROb2RlID0gZXZlbnQudGFyZ2V0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS91c2UtbmVzdGVkLWNoaWxkcmVuLnN2ZyBiL0xheW91dFRlc3RzL3N2
Zy9jdXN0b20vdXNlLW5lc3RlZC1jaGlsZHJlbi5zdmcKaW5kZXggOWNhY2Q0ZTA2MjZmZjUzOTA4
N2ZiYTRlZTI5ZTlkOWQ1MmE4ZDZkNS4uMzc0YzhkMjhkMDc2NzM1NDgyODc0YmEyNmM1NTA1NzIy
MDI0NDU1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtbmVzdGVkLWNo
aWxkcmVuLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1uZXN0ZWQtY2hpbGRy
ZW4uc3ZnCkBAIC0xLDcgKzEsNyBAQAogPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAw
MC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4gCiAgIDxz
Y3JpcHQ+Ci0gIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICA8L3NjcmlwdD4KICAgPGRlZnM+CiAgICAg
PHRleHQgeD0iMTAiIHk9IjMwIiBpZD0idDEiPlBBU1M6IFNob3VsZCBub3QgdHJpZ2dlciBhbiBB
U1NFUlQgKGJ1ZyA0NzU2MSkuPC90ZXh0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS91c2UtbmVzdGVkLWRpc2FsbG93ZWQtdGFyZ2V0LnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9j
dXN0b20vdXNlLW5lc3RlZC1kaXNhbGxvd2VkLXRhcmdldC5zdmcKaW5kZXggZmM2MzFmYTkzMDk0
MmM5NmYxMTMxNmMzMzBmYTIzZDNkOGUzMjJmYi4uNmVkMjc1MTQxODdhMTI1MzQ5YzE1ODAyYzdj
N2IzYTYxOTc3NmY1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtbmVz
dGVkLWRpc2FsbG93ZWQtdGFyZ2V0LnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3Vz
ZS1uZXN0ZWQtZGlzYWxsb3dlZC10YXJnZXQuc3ZnCkBAIC0yLDggKzIsOCBAQAogICAgIDxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICA8IVtDREFUQVsKICAgICBmdW5jdGlvbiBy
dW5UZXN0KCkgewotICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgfQog
ICAgIF1dPgogICAgIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS91c2UtbmVzdGVkLW1pc3NpbmctdGFyZ2V0LWFkZGVkLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9j
dXN0b20vdXNlLW5lc3RlZC1taXNzaW5nLXRhcmdldC1hZGRlZC5zdmcKaW5kZXggNTY0OTc4ZTlm
YzFhODQ2NDliMDA5NzEyOTNkNGVlMTRiYmQ1MDk2Mi4uYzY0YmVkNzU0NTg4NWFlYjllMWE5MjBm
OGFkZTQ0MTE5YjcyODg4MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2Ut
bmVzdGVkLW1pc3NpbmctdGFyZ2V0LWFkZGVkLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL3VzZS1uZXN0ZWQtbWlzc2luZy10YXJnZXQtYWRkZWQuc3ZnCkBAIC0yLDggKzIsOCBAQAog
ICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICA8IVtDREFUQVsKICAgICBm
dW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm15VGV4dDEiKS5pZCA9
ICJteVRleHQiOwogICAgIH0KICAgICBdXT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9j
dXN0b20vdXNlLW5lc3RlZC1taXNzaW5nLXRhcmdldC1yZW1vdmVkLnN2ZyBiL0xheW91dFRlc3Rz
L3N2Zy9jdXN0b20vdXNlLW5lc3RlZC1taXNzaW5nLXRhcmdldC1yZW1vdmVkLnN2ZwppbmRleCAw
MWJiZDM4Y2U3YTU0NWE4OTY1OTg0NTA5ZDFjMjc3MjAzZWFmN2M2Li41ZTVjNzg3ODA4NGNkYTFh
ODEwOWI0YTIwNmZlODdkZjY3MjY4NWI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL3VzZS1uZXN0ZWQtbWlzc2luZy10YXJnZXQtcmVtb3ZlZC5zdmcKKysrIGIvTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS91c2UtbmVzdGVkLW1pc3NpbmctdGFyZ2V0LXJlbW92ZWQuc3ZnCkBAIC0y
LDggKzIsOCBAQAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICA8IVtD
REFUQVsKICAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm15
VGV4dDEiKS5pZCA9ICJteVRleHQxIjsKICAgICB9CiAgICAgXV0+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1uZXN0ZWQtbWlzc2luZy10YXJnZXQuc3ZnIGIvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS91c2UtbmVzdGVkLW1pc3NpbmctdGFyZ2V0LnN2ZwppbmRleCBjNDZh
ZTFlNWY0YTcwN2MxNmUwMGY0MmQxNGM3YjUwNDFlNjM5ZjExLi4zZjU0MGRjNjQ4NDgzMWQ1MDUz
MGNkODFkMzk4Mjg3NWQyMTYwNzIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L3VzZS1uZXN0ZWQtbWlzc2luZy10YXJnZXQuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0
b20vdXNlLW5lc3RlZC1taXNzaW5nLXRhcmdldC5zdmcKQEAgLTIsOCArMiw4IEBACiAgICAgPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgIDwhW0NEQVRBWwogICAgIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7Ci0gICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICB9
CiAgICAgXV0+CiAgICAgPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL3VzZS1uZXN0ZWQtbm90YXJnZXQuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2Ut
bmVzdGVkLW5vdGFyZ2V0LnN2ZwppbmRleCBhNzdiZDg1NWFjNDdlMTEyOWNjOGYxOGNlODQ2NGJk
NmJiMWM1NWU3Li5hMDhmNTMzZTY3NTkwNmRiMTMyNmY2MWVlYWJlZDQ2MWNkM2U1MDRlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1uZXN0ZWQtbm90YXJnZXQuc3ZnCisr
KyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLW5lc3RlZC1ub3RhcmdldC5zdmcKQEAgLTIs
OCArMiw4IEBACiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgIDwhW0NE
QVRBWwogICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQotICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQo
KTsKKyAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKICAgICB9CiAgICAgXV0+CiAgICAgPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1ub24tZXhpc3Rpbmctc3ltYm9sLWNyYXNoLnN2ZyBi
L0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLW5vbi1leGlzdGluZy1zeW1ib2wtY3Jhc2guc3Zn
CmluZGV4IDVlYmNhNDYxODcwZjliOTI4MTg3M2RhMmM4YWYzMDljMWI0YThkNjYuLjVmNmQ2ZDE0
N2RjMTEwMjYwMGI5ZTZiMDE3MWIwYjIxNWRkNGJlMGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N2Zy9jdXN0b20vdXNlLW5vbi1leGlzdGluZy1zeW1ib2wtY3Jhc2guc3ZnCisrKyBiL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vdXNlLW5vbi1leGlzdGluZy1zeW1ib2wtY3Jhc2guc3ZnCkBAIC02
LDggKzYsOCBAQAogICAgICBvbmxvYWQ9ImluaXQoKSI+CiAKIDxzY3JpcHQgdHlwZT0iYXBwbGlj
YXRpb24vZWNtYXNjcmlwdCI+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAKIGZ1bmN0aW9uIGluaXQoKSB7
CiAgIHZhciBjZWxsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZvbycpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2Utb24tdXNlLXdpdGgtY2hpbGQtYW5kLWVtcHR5
LXRhcmdldC5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1vbi11c2Utd2l0aC1jaGls
ZC1hbmQtZW1wdHktdGFyZ2V0LnN2ZwppbmRleCAwNWIxZjI1YWViZWZlZTBhZTI1ZjgzYjhmOTlk
ODdlNjZmMTVkYTNhLi42YzYxNDEzYWUzMzZhM2VjZjg4YWY1NGNiZjAxODRhMzk3OTRjOWYwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1vbi11c2Utd2l0aC1jaGlsZC1h
bmQtZW1wdHktdGFyZ2V0LnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1vbi11
c2Utd2l0aC1jaGlsZC1hbmQtZW1wdHktdGFyZ2V0LnN2ZwpAQCAtMSw3ICsxLDcgQEAKIDxzdmcg
eG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3
dy53My5vcmcvMTk5OS94bGluayI+DQogICAgIDxzY3JpcHQ+DQotICAgICAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQ0KLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBBc1RleHQoKTsNCisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikNCisgICAgICAg
ICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsNCiAgICAgPC9zY3JpcHQ+DQogICAgIDx0ZXh0
IHk9IjIwIj5QQVNTOiBUaGlzIHNob3VsZCBub3QgY3Jhc2guPC90ZXh0Pg0KICAgICA8c2V0IGlk
PSJzZXQiLz4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1vbi11c2Ut
d2l0aC1jaGlsZC5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1vbi11c2Utd2l0aC1j
aGlsZC5zdmcKaW5kZXggOWMyYjBjYmEwZGUzMWY0OGIzMzkzNmM3YmE2Yzk3MjRjZWEwOWM1Mi4u
M2E2ZDBhMTBlODE1YzNlMDFlMmY4ZDVjYjJmYWM0ZDE5OWE2MTUwMyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2Utb24tdXNlLXdpdGgtY2hpbGQuc3ZnCisrKyBiL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vdXNlLW9uLXVzZS13aXRoLWNoaWxkLnN2ZwpAQCAtNDMsOCArNDMs
OCBAQAogICAgICAgICBwcmludGxuKCJUaGUgaW5zdGFuY2UgdHJlZSBvZiB1c2UgZWxlbWVudCB6
b29tcGx1czpcbiIpOwogICAgICAgICBwcmludEluc3RhbmNlVHJlZSh1c2VvYmosIiIpOwogCi0g
ICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpewotICAgICAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpeworICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgICAgIH0K
IAogICA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXJl
ZmVyZW5jaW5nLXN0eWxlLWNyYXNoLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXJl
ZmVyZW5jaW5nLXN0eWxlLWNyYXNoLnN2ZwppbmRleCBkZWVjYjUzNTNlOGM0OGI4ODgzZGM0Y2Rm
ZGIzODg0MmJjZmQyNzljLi5hM2MxZTM1NTY1MzIwN2Q4NjYyMzdiNjZkNDc3YjYzMWViNjg5OGYw
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1yZWZlcmVuY2luZy1zdHls
ZS1jcmFzaC5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtcmVmZXJlbmNpbmct
c3R5bGUtY3Jhc2guc3ZnCkBAIC0yLDggKzIsOCBAQAogPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53
My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5r
Ij4KICAgPHVzZSB4bGluazpocmVmPSIjZm9vIi8+CiAgIDxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKICAgPC9zY3JpcHQ+CiAgIDxzeW1ib2wgaWQ9ImZvbyI+CiAgICAgPHN0eWxl
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2Utc2hhZG93LXJvb3QtcGFy
ZW50LXJlbW92YWwuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2Utc2hhZG93LXJvb3Qt
cGFyZW50LXJlbW92YWwuc3ZnCmluZGV4IDNkYjIyYmZkY2NlZWEzYjk0ZTk5MmQ1OGRiNjE4NTFm
Y2JkZjRiNmQuLjE4NjZmNTFiYWMyZjZmZGVhMzdkNThiOTkzZWQzNzgyMTAxNTM2MDkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLXNoYWRvdy1yb290LXBhcmVudC1yZW1v
dmFsLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1zaGFkb3ctcm9vdC1wYXJl
bnQtcmVtb3ZhbC5zdmcKQEAgLTgsOCArOCw4IEBACiA8dGV4dCB4PSIxMCIgeT0gIjMwIj5QQVNT
IHdpdGhvdXQgY3Jhc2ggaW4gZGVidWcgbW9kZS48L3RleHQ+CiAKIDxzY3JpcHQ+Ci0gICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgdmFyIGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGVzdCIpOwogICAgIGVsZW0ucmVtb3ZlQXR0cmlidXRlKCJ4bGluazpocmVmIik7CiAg
ICAgZWxlbS5zZXRBdHRyaWJ1dGUoIngiLCAxKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2
Zy9jdXN0b20vdXNlLXRyZWYtY3Jhc2guc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2Ut
dHJlZi1jcmFzaC5zdmcKaW5kZXggZGNiNzU4YzE3ZTI3MWQ4ODUwMmMzYmNkMDMxZTQwMzhjMjU4
N2M5Mi4uODA0YjE0MzRhZTg4Mjk2NTRmMDAyMTY0MTMzMDdhOTAxMzM3NTlhYSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2UtdHJlZi1jcmFzaC5zdmcKKysrIGIvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS91c2UtdHJlZi1jcmFzaC5zdmcKQEAgLTgsNyArOCw3IEBACiAgIDx0
ZXh0PlBBU1MgKG5vdCBjcmFzaGluZykgLS0gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg0MTcxPC90ZXh0PgogCiAgIDxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKLSAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQo
KTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQoKTsKICAgPC9zY3JpcHQ+CiA8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9j
dXN0b20vd2Via2l0LXRyYW5zZm9ybS1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS93ZWJraXQtdHJhbnNmb3JtLWNyYXNoLmh0bWwKaW5kZXggYTgxMGE5NGIxMTBjY2NiM2YxMDRh
YmQ1YTJhNGIwNjMwYjQwMjg5My4uOTJiNzBlZTYwYzRmNWUzMzgzMTcwYzFhODJjYzY3NDk0YmYz
ODZkZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS93ZWJraXQtdHJhbnNmb3Jt
LWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS93ZWJraXQtdHJhbnNmb3Jt
LWNyYXNoLmh0bWwKQEAgLTMsOCArMyw4IEBACiA8IS0tIFRoaXMgc2hvdWxkIG5vdCBjcmFzaCAo
bnVsbCByZW5kZXJlcikgLS0+CiA8c2NyaXB0PgogICBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMo
Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZyIpLmdldFRyYW5zZm9ybVRvRWxlbWVudCgp
OwotICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOwogPC9zY3JpcHQ+CiA8L2hlYWQ+PGJvZHk+CiBQQVNTCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3hsaW5rLXByZWZpeC1pbi1hdHRyaWJ1dGVz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3hsaW5rLXByZWZpeC1pbi1hdHRyaWJ1dGVz
Lmh0bWwKaW5kZXggMjBkZWQ3YTM3YjIzMWFmMGVmYzNiYjdlNzk3NTFmODgwNDhiMmFmYy4uOGUw
MDA4ZDA5MzgwNDc2NDhiMTFhZjM0MDQ4MmUzNDhmYjE5MWEyZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS94bGluay1wcmVmaXgtaW4tYXR0cmlidXRlcy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL3N2Zy9jdXN0b20veGxpbmstcHJlZml4LWluLWF0dHJpYnV0ZXMuaHRtbApAQCAt
Myw4ICszLDggQEAKICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgZnVu
Y3Rpb24gcnVuVGVzdCgpCiAgICAgewotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwor
ICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKIAogICAgICAgICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInRhcmdldCIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3hsaW5r
LXRvLWludmFsaWQtZ3JhZGllbnQuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS94bGluay10
by1pbnZhbGlkLWdyYWRpZW50LnN2ZwppbmRleCA5NjQ5MmM1Y2M3Y2I3ODUyNzE5MzhjYzQ1NTFm
MTgxOTE5ZmZlYjNhLi5mMGUxYzAwZmQ3NjllZWY5ZDg3ZDM5Y2I1MDI3MzJhNjE2N2Q3Mzg3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3hsaW5rLXRvLWludmFsaWQtZ3JhZGll
bnQuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20veGxpbmstdG8taW52YWxpZC1ncmFk
aWVudC5zdmcKQEAgLTYsOCArNiw4IEBACiAgICB3aWR0aD0iMjAwIg0KICAgIGhlaWdodD0iMjAw
Ij4NCiA8c2NyaXB0PjwhW0NEQVRBWw0KLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQ0KLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCh0cnVlKTsNCisg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQ0KKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KHRydWUpOw0KIF1dPjwvc2NyaXB0Pg0KIDxkZWZzPg0KICAgPGxpbmVhckdyYWRpZW50IGlkPSJs
aW5lYXJHcmFkaWVudDEiIHhsaW5rOmhyZWY9IiNsaW5lYXJHcmFkaWVudDAiIC8+DQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdQYXRoU2VnTGlzdC14bWwtZG9tLXN5bmNocm9u
aXphdGlvbi54aHRtbCBiL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHUGF0aFNlZ0xpc3QteG1sLWRv
bS1zeW5jaHJvbml6YXRpb24ueGh0bWwKaW5kZXggZmMxNjg1ZDhiMGUzYjgxMTA3MThmN2EzYWRj
ZWM0MjVlYTI0YmNmZS4uNzRlN2QyNzc2MjQxZTc3ZjE2OWNhNDlkNTg5MWY2ZTcxZTViMmEyMSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdQYXRoU2VnTGlzdC14bWwtZG9tLXN5
bmNocm9uaXphdGlvbi54aHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1BhdGhTZWdM
aXN0LXhtbC1kb20tc3luY2hyb25pemF0aW9uLnhodG1sCkBAIC04LDggKzgsOCBAQAogICAgICAg
ICB2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CiAKICAgICAg
ICAgc2NyaXB0Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5ub3RpZnlEb25lKCk7CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgIH07CiAKICAgICAg
ICAgc2NyaXB0LnNyYyA9ICIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
OwpAQCAtMTcsOCArMTcsOCBAQAogICAgIH0KIAogICAgIGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkg
ewotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAog
ICAgICAgICBwYXRoID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhdGgiKTsKICAgICAgICAg
c2hvdWxkQmUoInBhdGgucGF0aFNlZ0xpc3QubnVtYmVyT2ZJdGVtcyIsICIzIik7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1BvbHlnb25FbGVtZW50LWJhc2VWYWwtbGlzdC1y
ZW1vdmFsLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1BvbHlnb25FbGVtZW50
LWJhc2VWYWwtbGlzdC1yZW1vdmFsLWNyYXNoLmh0bWwKaW5kZXggZGQ0NGYzNTQ3NDBkNTRkNzU3
YTEyYWUzMDc1YWRjNmExZGYwNTYyZi4uNmRiZjkwMDQyZjkzNmJjNTljNGYzZDBjYzdmNThlZGE5
NTU5NWRkZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdQb2x5Z29uRWxlbWVu
dC1iYXNlVmFsLWxpc3QtcmVtb3ZhbC1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9k
b20vU1ZHUG9seWdvbkVsZW1lbnQtYmFzZVZhbC1saXN0LXJlbW92YWwtY3Jhc2guaHRtbApAQCAt
MSw4ICsxLDggQEAKIDxodG1sPgogPGhlYWQ+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Citp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKIGZ1
bmN0aW9uIGdvKCkgewogICAgIHZhciBvU1ZHUG9seWdvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCAicG9seWdvbiIpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdTY3JpcHRFbGVtZW50L3NjcmlwdC1hc3luYy1hdHRy
LnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHU2NyaXB0RWxlbWVudC9zY3JpcHQtYXN5bmMt
YXR0ci5zdmcKaW5kZXggYWRlOTM0YTMyMjNlZWIyOGE0NzI4ZGQyMWRhNTA3NGZiNDA2Nzk5YS4u
NzA4NzIwMThjZDQ0NzIyMTA2NjMyNWMzZmJlOWYwN2UyODcxYjY1ZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3ZnL2RvbS9TVkdTY3JpcHRFbGVtZW50L3NjcmlwdC1hc3luYy1hdHRyLnN2Zwor
KysgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1NjcmlwdEVsZW1lbnQvc2NyaXB0LWFzeW5jLWF0
dHIuc3ZnCkBAIC0zLDggKzMsOCBAQAogPGRlZnM+CiA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCI+CiBmdW5jdGlvbiB0ZXN0KCkgewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpIHsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKICAgICB9CiAKICAgICBpZiAoIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzMCIpLmFzeW5j
KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdTY3JpcHRFbGVtZW50L3Njcmlw
dC1jaGFuZ2UtZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC13aGlsZS1sb2FkaW5nLnN2ZyBiL0xh
eW91dFRlc3RzL3N2Zy9kb20vU1ZHU2NyaXB0RWxlbWVudC9zY3JpcHQtY2hhbmdlLWV4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQtd2hpbGUtbG9hZGluZy5zdmcKaW5kZXggNTcxODllZTFhNWQyZDQ3
NjJhYTAwMjI1MmNmNWM0OTcxOWZlMmMzZi4uZWVmOWQ0NWI1OTc3ODVmYWZhNjcwZTdlNmNjYTZk
NjFkMTRhODI1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdTY3JpcHRFbGVt
ZW50L3NjcmlwdC1jaGFuZ2UtZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC13aGlsZS1sb2FkaW5n
LnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1NjcmlwdEVsZW1lbnQvc2NyaXB0LWNo
YW5nZS1leHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLXdoaWxlLWxvYWRpbmcuc3ZnCkBAIC00LDkg
KzQsOSBAQAogPHNjcmlwdD4KIHZhciByZXNvdXJjZUxvYWRlZCA9IGZhbHNlOwogCi1pZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCgpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKK2lm
ICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogfQogCiAvLyBUaGUgU1ZHTG9hZCBldmVudCBz
aG91bGQgYmUgZmlyZWQgcmlnaHQgYWZ0ZXIgYXBwZW5kaW5nIHRoZSBzY3JpcHQgZWxlbWVudCB0
byB0aGUgZG9jdW1lbnQsIGJlZm9yZSB0aGUgdGFyZ2V0IHJlc291cmNlIGlzIGxvYWRlZApAQCAt
ODgsOCArODgsOCBAQCBmdW5jdGlvbiBjb250aW51ZVRlc3QzKCkgewogfQogCiBmdW5jdGlvbiBm
aW5pc2hUZXN0KCkgewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogfQogPC9zY3JpcHQ+
CiA8L2RlZnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1NjcmlwdEVsZW1l
bnQvc2NyaXB0LWNsb25lLXJlcnVuLXNlbGYuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdT
Y3JpcHRFbGVtZW50L3NjcmlwdC1jbG9uZS1yZXJ1bi1zZWxmLnN2ZwppbmRleCAxZmNiZjk2ZmNh
YzAyZWNjODFhZmVjY2NlNjhmNTY2YzFhNmM5MjQ3Li5jYWM1ZTdlMzBiNWIwMGZjZTUzMzU2MjFm
NTdlYjUyOTNjOGY1ZmI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1Njcmlw
dEVsZW1lbnQvc2NyaXB0LWNsb25lLXJlcnVuLXNlbGYuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2
Zy9kb20vU1ZHU2NyaXB0RWxlbWVudC9zY3JpcHQtY2xvbmUtcmVydW4tc2VsZi5zdmcKQEAgLTE4
LDggKzE4LDggQEAgZGVmcy5hcHBlbmRDaGlsZChzY3JpcHQuY2xvbmVOb2RlKHRydWUpKTsKIDwv
c2NyaXB0PjwvZGVmcz4KIDxkZWZzPjxzY3JpcHQ+CiAKLWlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCiByZXN1bHQg
PSAnUEFTUyc7CiBpZiAoaSA9PSAyKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9T
VkdTY3JpcHRFbGVtZW50L3NjcmlwdC1jbG9uZS1yZXJ1bi5zdmcgYi9MYXlvdXRUZXN0cy9zdmcv
ZG9tL1NWR1NjcmlwdEVsZW1lbnQvc2NyaXB0LWNsb25lLXJlcnVuLnN2ZwppbmRleCBiMDEyMTE0
NmIxYTNkMmM2ODVlNzhkZDJkNTkzMjc5ZjdmZTc4NWY3Li4wYTAzMDQ1NWQ3ZjczNWY0ZDMyY2Fj
NTE3ZTI1YTVhZDE2MDdlNGJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1Nj
cmlwdEVsZW1lbnQvc2NyaXB0LWNsb25lLXJlcnVuLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcv
ZG9tL1NWR1NjcmlwdEVsZW1lbnQvc2NyaXB0LWNsb25lLXJlcnVuLnN2ZwpAQCAtMTAsOCArMTAs
OCBAQCB2YXIgaSA9IDA7CiA8ZGVmcz4KIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4K
IAotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7CiAKIHZhciBzY3JpcHQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFn
TmFtZSgnc2NyaXB0JylbMV07CiB2YXIgZGVmcyA9IHNjcmlwdC5wYXJlbnROb2RlOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdTY3JpcHRFbGVtZW50L3NjcmlwdC1sb2FkLWFu
ZC1lcnJvci1ldmVudHMuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdTY3JpcHRFbGVtZW50
L3NjcmlwdC1sb2FkLWFuZC1lcnJvci1ldmVudHMuc3ZnCmluZGV4IDU4MDM0MDdkNDUyMmNkYzFj
NWVjOTEwM2RjM2QzMjgxNDgzYzkwNmQuLmEzN2MwODYwOTU1ZWNkYzRmNjZmM2NiNWFkOTI0Nzhh
ZmY0NmU0YmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHU2NyaXB0RWxlbWVu
dC9zY3JpcHQtbG9hZC1hbmQtZXJyb3ItZXZlbnRzLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcv
ZG9tL1NWR1NjcmlwdEVsZW1lbnQvc2NyaXB0LWxvYWQtYW5kLWVycm9yLWV2ZW50cy5zdmcKQEAg
LTEwLDkgKzEwLDkgQEAgdmFyIGxhc3RUZXN0ID0gMDsKIGZvciAoaSA9IDA7IGkgJmx0OyA3OyAr
K2kpCiAgICAgc3RhdHVzX1tpXSA9ICIiOwogCi1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSB7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgIGxheW91
dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikg
eworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwogfQogCiBmdW5jdGlvbiB0ZXN0R2xvYmFsRXJyb3JIYW5kbGVyTm90RmlyZWQoZXZ0
KSB7CkBAIC01OCw4ICs1OCw4IEBAIGZ1bmN0aW9uIGVuZFRlc3QoKSB7CiAgICAgZWxzZQogICAg
ICAgICByZXN1bHRzLmlubmVySFRNTCA9ICJQQVNTIjsKIAotICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUo
KTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwogfQogCiBmdW5jdGlvbiBsYXN0VGVzdEJlZm9yZVJvb3RFbGVtZW50TG9hZGVkKCkg
ewpAQCAtODUsOCArODUsOCBAQCBmdW5jdGlvbiBzdGFydER5bmFtaWNUZXN0cygpIHsKICAgICAg
ICAgdmFyIHJlc3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0cyIpOwogICAg
ICAgICByZXN1bHRzLmlubmVySFRNTCA9ICJGQUlMOiBTVkdMb2FkIGV2ZW50IG9uIHJvb3QgZWxl
bWVudCBzaG91bGRuJ3QgZmlyZS4iOwogCi0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCi0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7
CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2Rv
bS9TVkdTY3JpcHRFbGVtZW50L3NjcmlwdC1vbmVycm9yLWJ1YmJsaW5nLnN2ZyBiL0xheW91dFRl
c3RzL3N2Zy9kb20vU1ZHU2NyaXB0RWxlbWVudC9zY3JpcHQtb25lcnJvci1idWJibGluZy5zdmcK
aW5kZXggNzYzN2M3NDc5ZGMzNDQwOGNjYTA2ZmNmODU4ZGUxNDEyMzhkMjI1MC4uYzQwMjA5OTgy
M2E5ZDU1OTIwZDcwOTE5ZDQ2YzJhM2IwNzAwODc5NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3ZnL2RvbS9TVkdTY3JpcHRFbGVtZW50L3NjcmlwdC1vbmVycm9yLWJ1YmJsaW5nLnN2ZworKysg
Yi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1NjcmlwdEVsZW1lbnQvc2NyaXB0LW9uZXJyb3ItYnVi
Ymxpbmcuc3ZnCkBAIC0xNyw5ICsxNyw5IEBAIGZ1bmN0aW9uIHByaW50KG1lc3NhZ2UpCiAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdHMiKS5hcHBlbmRDaGlsZChwYXJhZ3JhcGgp
OwogfQogCi1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogfQogCiBmdW5jdGlv
biBzdmdPbkVycm9ySGFuZGxlcihlKSB7CkBAIC00Nyw4ICs0Nyw4IEBAIGZ1bmN0aW9uIHRlc3RP
bkVycm9ySW5EeW5hbWljU2NyaXB0KCkgewogZnVuY3Rpb24gZW5kVGVzdCgpIHsKICAgICBhZGRS
ZXN1bHQoIkRPTkUuIik7CiAgICAgbWVzc2FnZXMuZm9yRWFjaChwcmludCk7Ci0gICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
bm90aWZ5RG9uZSgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk7CiB9CiA8L3NjcmlwdD4KIDxzY3JpcHQgaWQ9IjAiIHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgb25lcnJvcj0ic2NyaXB0T25FcnJvckhhbmRsZXIoMCkiIHhsaW5rOmhy
ZWY9InJlc291cmNlcy9jZXJ0YWlubHlkb2Vzbm90ZXhpc3QuanMiPjwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdTY3JpcHRFbGVtZW50L3NjcmlwdC1yZWV4ZWN1
dGlvbi5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1NjcmlwdEVsZW1lbnQvc2NyaXB0LXJl
ZXhlY3V0aW9uLnN2ZwppbmRleCA3MzRlNGZhOWIzYTI4NDM2OGEwYjQ1M2VlYWMyZDNmYzEzZDMw
MGJiLi5hOTAzNjcwN2E5OGFjMzVjZDIyNGNkMzkwMjJhZDc3NGQ2YzRiYTc5IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1NjcmlwdEVsZW1lbnQvc2NyaXB0LXJlZXhlY3V0aW9u
LnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1NjcmlwdEVsZW1lbnQvc2NyaXB0LXJl
ZXhlY3V0aW9uLnN2ZwpAQCAtMTMsOSArMTMsOSBAQCBmdW5jdGlvbiBwYXNzKCkgewogfQogCiBm
dW5jdGlvbiBzdGFydFRlc3QoKSB7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikgewotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KIAogICAgIHRlc3QgPSAicDEiOwpAQCAt
NDYsOCArNDYsOCBAQCBmdW5jdGlvbiBmaW5pc2goKSB7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoImRlZnMiKVswXS5yZW1vdmVDaGlsZChlMyk7CiAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudHNCeVRhZ05hbWUoImRlZnMiKVswXS5hcHBlbmRDaGlsZChlMyk7CiAKLSAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5ub3RpZnlEb25lKCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKIH0KIDwvc2NyaXB0PgogPC9kZWZzPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdTY3JpcHRFbGVtZW50L3NjcmlwdC1zZXQtaHJlZi5zdmcg
Yi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1NjcmlwdEVsZW1lbnQvc2NyaXB0LXNldC1ocmVmLnN2
ZwppbmRleCAwNmMxOTM0MTU2MDJmZGY5YmRmMWNkM2JiMmI0YjcwZWY5NzgxYjZmLi5iOGM2Mzdl
MDdkZTNkYTg5NTkyYTc4ZWJlODJkZjYxNjU0Njg4Nzc1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdmcvZG9tL1NWR1NjcmlwdEVsZW1lbnQvc2NyaXB0LXNldC1ocmVmLnN2ZworKysgYi9MYXlv
dXRUZXN0cy9zdmcvZG9tL1NWR1NjcmlwdEVsZW1lbnQvc2NyaXB0LXNldC1ocmVmLnN2ZwpAQCAt
NSw5ICs1LDkgQEAKIHZhciBwNXJlc3VsdCA9ICJGQUlMIjsKIAogZnVuY3Rpb24gdGVzdCgpIHsK
LSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
d2FpdFVudGlsRG9uZSgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7CiAgICAgfQogCiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInA1IikuaW5uZXJIVE1M
ID0gcDVyZXN1bHQ7CkBAIC0zMSw3ICszMSw3IEBAIGZ1bmN0aW9uIHRlc3QoKSB7CiAgICAgCiAg
ICAgdmFyIGUzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8y
MDAwL3N2ZyIsICJzdmc6c2NyaXB0Iik7CiAgICAgZTMudHlwZS5iYXNlVmFsID0gInRleHQvamF2
YXNjcmlwdCI7Ci0gICAgZTMuc2V0QXR0cmlidXRlKCJvbmxvYWQiLCAiaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikgc2V0VGltZW91dCgnbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgpJywgMTAwKSIpOyAKKyAgICBlMy5zZXRBdHRyaWJ1dGUoIm9ubG9hZCIsICJpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHNldFRpbWVvdXQoJ3Rlc3RSdW5uZXIubm90aWZ5RG9uZSgpJywgMTAw
KSIpOyAKICAgICBlMy5ocmVmLmJhc2VWYWwgPSAicmVzb3VyY2VzL3NjcmlwdC1zZXQtaHJlZi1w
OWZhaWxCZWZvcmUuanMiOwogICAgIGUzLmhyZWYuYmFzZVZhbCA9ICJyZXNvdXJjZXMvc2NyaXB0
LXNldC1ocmVmLXA5cGFzcy5qcyI7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUo
ImRlZnMiKVswXS5hcHBlbmRDaGlsZChlMyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcv
ZG9tL1NWR1N0eWxlZEVsZW1lbnQtcGVuZGluZ1Jlc291cmNlLWNyYXNoLmh0bWwgYi9MYXlvdXRU
ZXN0cy9zdmcvZG9tL1NWR1N0eWxlZEVsZW1lbnQtcGVuZGluZ1Jlc291cmNlLWNyYXNoLmh0bWwK
aW5kZXggODE2YjRhMjVjYjY0MWViNGNhMDEwM2M3YjA3Mjc0NTllMzRkYTc0NS4uYjhjYjAyMzJi
NjdjOTU4YjUzNGRkNjhmODM3NDRlNGY1NDFmZjBlMCAxMDA3NTUKLS0tIGEvTGF5b3V0VGVzdHMv
c3ZnL2RvbS9TVkdTdHlsZWRFbGVtZW50LXBlbmRpbmdSZXNvdXJjZS1jcmFzaC5odG1sCisrKyBi
L0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHU3R5bGVkRWxlbWVudC1wZW5kaW5nUmVzb3VyY2UtY3Jh
c2guaHRtbApAQCAtNSwxNCArNSwxNCBAQAogICAgICAgICAgICAgdmFyIHEgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgncm9vdCcpLmNvbnRlbnREb2N1bWVudDsKICAgICAgICAgICAgIHEuZ2V0
RWxlbWVudHNCeVRhZ05hbWUoJ3N2ZycpWzBdLnJlcGxhY2VDaGlsZChxLmdldEVsZW1lbnRCeUlk
KCdyZWZJbWFnZScpLCBxLmdldEVsZW1lbnRCeUlkKCdkJykpOwogICAgICAgICAgICAgcS5nZXRF
bGVtZW50c0J5VGFnTmFtZSgndXNlJylbMF0uc2V0QXR0cmlidXRlKCd4bGluazpocmVmJywgJyN0
ZXN0TmFtZScpOwotICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikg
ewotICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAg
ICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAg
ICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkg
ewogICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9ICJQQVNTLCBp
ZiBEdW1wUmVuZGVyVHJlZSBkb2Vzbid0IGNyYXNoLCBhbmQgbm8gYXNzZXJ0aW9uIGluIGEgRGVi
dWcgYnVpbGQuIjsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKLSAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5v
dGlmeURvbmUoKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAg
ICAgICAgICB9LCAwKTsKICAgICAgICAgfQogICAgIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3ZnL2RvbS9TVkdUcmFuc2Zvcm1MaXN0LWVtcHR5LWxpc3QtY29uc29saWRhdGlv
bi5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdUcmFuc2Zvcm1MaXN0LWVtcHR5LWxpc3Qt
Y29uc29saWRhdGlvbi5odG1sCmluZGV4IGUwNWMwYTVkMWRlYWM5MDk3NWRhOGE3ZDY0NmM3ZDAx
YTcyMTY4YmQuLjk0NmQ3NjFiMjI2YTc3NzlhMzgwNTZlN2EwYmU3MTlmOGYxMWI0ZGIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHVHJhbnNmb3JtTGlzdC1lbXB0eS1saXN0LWNv
bnNvbGlkYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1RyYW5zZm9ybUxp
c3QtZW1wdHktbGlzdC1jb25zb2xpZGF0aW9uLmh0bWwKQEAgLTEsOCArMSw4IEBACiA8aHRtbD4K
IDxoZWFkPgogPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCiBmdW5jdGlvbiBnbygpIHsKICAgICB2
YXIgb1N2Z1BhdHRlcm5FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8v
d3d3LnczLm9yZy8yMDAwL3N2ZyIsInBhdHRlcm4iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N2Zy9kb20vYW5pbWF0ZWQtdGVhcm9mZi1lcXVhbGl0eS54aHRtbCBiL0xheW91dFRlc3RzL3N2
Zy9kb20vYW5pbWF0ZWQtdGVhcm9mZi1lcXVhbGl0eS54aHRtbAppbmRleCAwNTJmOGMxZjViZWVm
NmRhNDkwYzNiYjFhN2E0M2E1Mzk2MzY2N2FkLi43OTUzODExZDhiNmViYzExNzMzYjJkYjdiZTVl
ODljZjY1YjlkMzQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvZG9tL2FuaW1hdGVkLXRl
YXJvZmYtZXF1YWxpdHkueGh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9hbmltYXRlZC10
ZWFyb2ZmLWVxdWFsaXR5LnhodG1sCkBAIC0xMyw4ICsxMyw4IEBAIHhtbG5zOnhsaW5rPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgogPGRpdiBpZD0ibG9nIj48L2Rpdj4KIDxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IVtDREFUQVsKIAotICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCiAg
IGZ1bmN0aW9uIGRlYnVnTG9nKHMpIHsKICAgICB2YXIgbG9nRGl2ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImxvZyIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9hbmltYXRl
ZC10ZWFyb2ZmLWxpZmVzcGFuLnhodG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9hbmltYXRlZC10
ZWFyb2ZmLWxpZmVzcGFuLnhodG1sCmluZGV4IDNhZjUxOWUyMzIxMmYyMzE0NDZjNWU4NzA2MDJh
Y2Q4MmY3ODhiOGEuLmEzMmVkYTU5YmI3N2MyNTgwY2Q0NWUwM2E1MGYwZTU5ZGI1MzhmOWMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9kb20vYW5pbWF0ZWQtdGVhcm9mZi1saWZlc3Bhbi54
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL2FuaW1hdGVkLXRlYXJvZmYtbGlmZXNwYW4u
eGh0bWwKQEAgLTEzLDggKzEzLDggQEAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5
OTkveGxpbmsiCiA8ZGl2IGlkPSJsb2ciPjwvZGl2PgogPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiPjwhW0NEQVRBWwogCi0gIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0g
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKICAgZnVuY3Rpb24gZGVidWdM
b2cocykgewogICAgIHZhciBsb2dEaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9nIik7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvZG9tL2Jhc2VWYWwtYW5pbVZhbC1jcmFzaC5o
dG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9iYXNlVmFsLWFuaW1WYWwtY3Jhc2guaHRtbAppbmRl
eCAxNjk5OTk2NzUwYzRjNTBmZWZhNWU5ZTdhMjYzMjQzZDRjZjc4Y2MyLi4yYzE5NTgxMDM2ODk3
MTFkOTJjMDYzY2IzYzUzNDQzNzA0M2IyY2E1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcv
ZG9tL2Jhc2VWYWwtYW5pbVZhbC1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9kb20v
YmFzZVZhbC1hbmltVmFsLWNyYXNoLmh0bWwKQEAgLTIsOCArMiw4IEBACiA8aGVhZD4KIDxzY3Jp
cHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKIGZ1bmN0aW9uIGdvKCkgewogICAgIHZhciBvU1ZH
QWx0R2x5cGhFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3Lncz
Lm9yZy8yMDAwL3N2ZyIsICJhbHRHbHlwaCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Zn
L2RvbS9iYXNlVmFsLWFuaW1WYWwtbGlzdC1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2Rv
bS9iYXNlVmFsLWFuaW1WYWwtbGlzdC1jcmFzaC5odG1sCmluZGV4IDYzNTE5YzRiNzU1MDMyM2Iy
ZTQwOWMzYjVkNzBhNWYyZjZhYzZiOTQuLmRjZjk5MDlmOGZhN2E5MjI3NWE4NTBjNDY0OGZmY2Nl
YWJmZjA3ZWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9kb20vYmFzZVZhbC1hbmltVmFs
LWxpc3QtY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL2Jhc2VWYWwtYW5pbVZh
bC1saXN0LWNyYXNoLmh0bWwKQEAgLTEsOCArMSw4IEBACiA8aHRtbD4KIDxoZWFkPgogPHNjcmlw
dD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwogCiBmdW5jdGlvbiBnbygpIHsKICAgICB2YXIgb1N2Z1RleHRFbGVt
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2
ZyIsICJ0ZXh0Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvZG9tL2ZyYW1lLXJlbGF0
ZWQtYXBpLWR1cmluZy1sb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL2ZyYW1lLXJlbGF0
ZWQtYXBpLWR1cmluZy1sb2FkLmh0bWwKaW5kZXggYzM0YjE0NjAwYjJlZDI4NmJjNWYyYzdlMTVl
OGRlNWFjMmM4NWNmNS4uNWEzOTI0MWUxYmZmMTUzZmFiZjNkNmQ5M2IyZWY4YzhjMjQwYjIzNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9mcmFtZS1yZWxhdGVkLWFwaS1kdXJpbmct
bG9hZC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9kb20vZnJhbWUtcmVsYXRlZC1hcGktZHVy
aW5nLWxvYWQuaHRtbApAQCAtMSw4ICsxLDggQEAKIDxodG1sPgogPGhlYWQ+CiA8c2NyaXB0Pgot
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKIAogZnVuY3Rpb24gdGVzdCgpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdmcvZG9tL3BhcmVudC12aWV3LWxheW91dC1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMv
c3ZnL2RvbS9wYXJlbnQtdmlldy1sYXlvdXQtY3Jhc2guaHRtbAppbmRleCBlMjhmM2Q0M2VhYTg4
MjczMDI3NzM5OTVkNDY3MzUyZjg0OGFhNTdjLi45ZGQ0NmRlNjExNWI0YWQ5OWQ5OWU3OGNkZTQx
NjJhNTkzZGFiYTYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvZG9tL3BhcmVudC12aWV3
LWxheW91dC1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9kb20vcGFyZW50LXZpZXct
bGF5b3V0LWNyYXNoLmh0bWwKQEAgLTMsOCArMyw4IEBACiBUZXN0IHBhc3NlcyBpZiBpdCBkb2Vz
IG5vdCBjcmFzaC4NCiA8c3R5bGU+PC9zdHlsZT4NCiA8c2NyaXB0Pg0KLWlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpDQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQo
KTsNCitpZiAod2luZG93LnRlc3RSdW5uZXIpDQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
Ow0KIA0KIGZ1bmN0aW9uIHJ1blRlc3QoKQ0KIHsNCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dmcvZG9tL3BhdGgtbWFya2VyLXJlbW92ZWQtY3Jhc2guc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2Rv
bS9wYXRoLW1hcmtlci1yZW1vdmVkLWNyYXNoLnN2ZwppbmRleCA3MzRlYjIxOTYyZWI2Y2FjNWE3
MDJlOWFjNjgwNGVlMDE4Y2MwYTEyLi44NDBkNDQ3YmQyOGJiMjg5OWYyNTNhOThkZjg5ZDM0ZjBk
ZDBkZDg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvZG9tL3BhdGgtbWFya2VyLXJlbW92
ZWQtY3Jhc2guc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9kb20vcGF0aC1tYXJrZXItcmVtb3Zl
ZC1jcmFzaC5zdmcKQEAgLTcsMTAgKzcsMTAgQEAKICAgICA8dGV4dCB4PSI1MCIgeT0iNTAiPlBB
U1M8L3RleHQ+DQogICAgIDxzY3JpcHQ+DQogICAgIDwhW0NEQVRBWw0KLSAgICAgICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgDQorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpIA0KICAgICAgICAgew0KLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsNCi0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25l
KCk7DQorICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7DQorICAgICAgICAgICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7DQogICAgICAgICAgICAgZ2MgPSBmdW5jdGlvbigp
IHsNCiAgICAgICAgICAgICAgICAgR0NDb250cm9sbGVyLmNvbGxlY3QoKTsNCiAgICAgDQpAQCAt
MjYsOCArMjYsOCBAQAogICAgICAgICAgICAgdGVzdC5yZW1vdmVDaGlsZChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnbWFya2VyJykpOw0KICAgICAgICAgICAgIGdjKCk7DQogICAgICAgICAgICAg
DQotICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikNCi0gICAgICAg
ICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOw0KKyAgICAgICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikNCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7DQogICAgICAgICB9DQogDQogICAgICAgICBzZXRUaW1lb3V0KCJydW5UZXN0KCki
LCAwKTsNCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvZG9tL3Jlc291cmNlcy92aWV3c3Bl
Yy1wYXJzZXIuanMgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL3Jlc291cmNlcy92aWV3c3BlYy1wYXJz
ZXIuanMKaW5kZXggNWIyMDIzN2YxN2Y1NDk2YWIzZjkzZDAyMWYxYWVjMWY4ZDIwZWMyOS4uNzMz
MDJhNzM4MWMxZWQxNWI4MjYyOGMxN2VkODA2OTJkNzg4MWI4YyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3ZnL2RvbS9yZXNvdXJjZXMvdmlld3NwZWMtcGFyc2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL3N2Zy9kb20vcmVzb3VyY2VzL3ZpZXdzcGVjLXBhcnNlci5qcwpAQCAtMTQzLDggKzE0Myw4
IEBAIGZ1bmN0aW9uIGNvbnRpbnVlRnV6emluZyhldmVudCkKICAgICAgICAgdmFyIHNjcmlwdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOwogCiAgICAgICAgIHNjcmlwdC5vbmxv
YWQgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCi0gICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgp
OworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgICB9OwogCiAgICAgICAgIHNjcmlwdC5zcmMg
PSAiLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIjsKQEAgLTE1Nyw4ICsx
NTcsOCBAQCBmdW5jdGlvbiBjb250aW51ZUZ1enppbmcoZXZlbnQpCiAgICAgd2luZG93LnNldFRp
bWVvdXQoc3RhcnROZXh0VGVzdCwgMCk7CiB9CiAKLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCiBidWls
ZFRlc3RzVG9SdW4oKTsKIHRlc3RGcmFnbWVudCgiIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdmcvZG9tL3NjcmlwdC10ZXN0cy9TVkdWaWV3U3BlYy5qcyBiL0xheW91dFRlc3RzL3N2Zy9k
b20vc2NyaXB0LXRlc3RzL1NWR1ZpZXdTcGVjLmpzCmluZGV4IGY2Yzg1YzE0OWRkMjA1NmU5ZDkw
Mzc4NzMxYmQwYjk2ZTk1ZmRhMGIuLmNkODgyZWMzYWNkNjVjMDUyN2M2Mjc1YzU1YzE1MmI5MGI3
NjY4MTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9kb20vc2NyaXB0LXRlc3RzL1NWR1Zp
ZXdTcGVjLmpzCisrKyBiL0xheW91dFRlc3RzL3N2Zy9kb20vc2NyaXB0LXRlc3RzL1NWR1ZpZXdT
cGVjLmpzCkBAIC0xLDEzICsxLDEzIEBACiBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB0
aGUgU1ZHVmlld1NwZWMgQVBJLCBvcGVyYXRpbmcgb24gYSBwYXJzZWQgdmlld1NwZWMiKTsKLWlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
d2FpdFVudGlsRG9uZSgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOwogCiBmdW5jdGlvbiBjb21wbGV0ZVRlc3QoKSB7CiAgICAgdmFyIHNj
cmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOwogCiAgICAgc2NyaXB0Lm9u
bG9hZCA9IGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKICAgICB9OwogCiAgICAgc2NyaXB0LnNyYyA9ICIuLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9z
bWlsLW1ldGhvZHMuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9zbWlsLW1ldGhvZHMuc3ZnCmlu
ZGV4IDU3YWMyNTc5NDhjZmIzYzFlZWRjZjdkNjc5ZjAwNzgzNmUzYWI1OWQuLmE4ZjZkYTBmZTQ1
NDM4YWFmNzE0MjMyZTJjMThlYzBiMzU3NDhjMDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2
Zy9kb20vc21pbC1tZXRob2RzLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL3NtaWwtbWV0
aG9kcy5zdmcKQEAgLTI2LDcgKzI2LDcgQEAgZnVuY3Rpb24gY2hlY2soY29kZSkKICAgICBwcmlu
dGxuKGNvZGUgKyAiOiAiICsgcmVzdWx0KTsKIH0KICAgICAgICAgCi1sYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7Cit0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIHByaW50bG4oIlRo
aXMgdGVzdCBjaGVja3Mgd2hldGhlciB0aGUgbWV0aG9kcyBvbiBFbGVtZW50VGltZUNvbnRyb2wg
Y29ycmVjdGx5IHJldHVybiB1bmRlZmluZWQuIik7CiAKIGNoZWNrKCJhbmltYXRlLmJlZ2luRWxl
bWVudCgpIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvZG9tL3N0eWxlc2hlZXQtY2Fu
ZGlkYXRlLW5vZGUtY3Jhc2gtbWFpbi5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9zdHlsZXNo
ZWV0LWNhbmRpZGF0ZS1ub2RlLWNyYXNoLW1haW4uaHRtbAppbmRleCA2MGVhMzU3NTcxMGRhZjNh
ZTFhZmJhZmE2MWZlZmFmZTExNDU1MzcwLi45YmQ2NDQ4ZWUzM2YyYmYxZTdjODJjZTY5MGY5ODcx
ZWM5Mzg4Njg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvZG9tL3N0eWxlc2hlZXQtY2Fu
ZGlkYXRlLW5vZGUtY3Jhc2gtbWFpbi5odG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9kb20vc3R5
bGVzaGVldC1jYW5kaWRhdGUtbm9kZS1jcmFzaC1tYWluLmh0bWwKQEAgLTIsOCArMiw4IEBACiA8
aHRtbD4KIFRlc3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLgogPHNjcmlwdD4KLWlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOwogCiBmdW5jdGlvbiBydW5UZXN0KCkgewogICAgIHN2Z2RvYyA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdyb290JykuY29udGVudERvY3VtZW50OwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3ZnL2RvbS9zdmctZWxlbWVudC1hdHRyaWJ1dGUtanMtbnVsbC54aHRtbCBiL0xheW91
dFRlc3RzL3N2Zy9kb20vc3ZnLWVsZW1lbnQtYXR0cmlidXRlLWpzLW51bGwueGh0bWwKaW5kZXgg
ZTI0MjU1YTRkMjEyMTg0ZGY0ZDkxZWUwOGVhOGNiZTkxNTQxNTczMi4uMzI3OThkNjIzMTYxYzZj
Y2UzMzc2MjVjNDU0OTMxYzRhMzQxYWM5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2Rv
bS9zdmctZWxlbWVudC1hdHRyaWJ1dGUtanMtbnVsbC54aHRtbAorKysgYi9MYXlvdXRUZXN0cy9z
dmcvZG9tL3N2Zy1lbGVtZW50LWF0dHJpYnV0ZS1qcy1udWxsLnhodG1sCkBAIC00MSw4ICs0MSw4
IEBACiAgICAgICAgIAogICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCiAgICAgICAgIHsKLSAg
ICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OwogCiAgICAgICAgICAgICB2YXIgc3ZnTlMgPSAnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcn
OwogICAgICAgICAgICAgdmFyIHN2ZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhzdmdOUywg
J3N2ZycpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9zeW1ib2wtZW1iZWRkZWRB
bmltYXRpb24uc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9zeW1ib2wtZW1iZWRkZWRBbmltYXRp
b24uc3ZnCmluZGV4IGU5MWEwMjM5MTdhNzNlY2ZmZjhkMTA5YzUzZThkNGY1YTUxYmZhODMuLjE3
ODliNDAxOGJlNmJiYWFkYTEyMTZhMTY0OWVlNzQ1MGYyYjY5YTMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N2Zy9kb20vc3ltYm9sLWVtYmVkZGVkQW5pbWF0aW9uLnN2ZworKysgYi9MYXlvdXRU
ZXN0cy9zdmcvZG9tL3N5bWJvbC1lbWJlZGRlZEFuaW1hdGlvbi5zdmcKQEAgLTEwLDcgKzEwLDcg
QEAKIAogICA8dGV4dD5TdXJ2aXZlZCB0aGUgY3Jhc2ghPC90ZXh0PgogICA8c2NyaXB0PgotICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOworICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKICAgPC9zY3JpcHQ+CiA8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N2Zy9kb20vdXNlLXN0eWxlLXJlY2FsYy1zY3JpcHQtZXhlY3V0ZS1jcmFzaC5odG1s
IGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS91c2Utc3R5bGUtcmVjYWxjLXNjcmlwdC1leGVjdXRlLWNy
YXNoLmh0bWwKaW5kZXggNzRlYzJhNTZmOTYzNDdmNWU5NjJiYjYzMTk5OWU0ZGZjYTY3NTE3Ny4u
YTI0MGM1MDk5ODI3ODI2MTQ5MTUwMjI0OTlmYzZmOGJkNTFhOTIzNSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3ZnL2RvbS91c2Utc3R5bGUtcmVjYWxjLXNjcmlwdC1leGVjdXRlLWNyYXNoLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS91c2Utc3R5bGUtcmVjYWxjLXNjcmlwdC1leGVj
dXRlLWNyYXNoLmh0bWwKQEAgLTIsOCArMiw4IEBACiA8aHRtbD4NCiBUZXN0IHBhc3NlcyBpZiBp
dCBkb2VzIG5vdCBjcmFzaCBhbmQgInNjcmlwdCIgaW5zaWRlICJyZWN0IiBleGVjdXRlcy4NCiA8
c2NyaXB0Pg0KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpDQotICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsNCitpZiAod2luZG93LnRlc3RSdW5uZXIpDQorICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOw0KIDwvc2NyaXB0Pg0KIDxzdmc+DQogPGc+DQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS91c2UtdHJhbnNmb3JtLnN2ZyBiL0xheW91dFRl
c3RzL3N2Zy9kb20vdXNlLXRyYW5zZm9ybS5zdmcKaW5kZXggNGIyMmI2NTMzY2RiMGU2NjcxODcx
NDYxNmEzYzBhMzllMTQzZTQ3Ni4uYWM2NDNiNWRkODdkNjViMzNiZGY3NjAxMzljNmVmMjg4MmZk
OWZiMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS91c2UtdHJhbnNmb3JtLnN2Zwor
KysgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL3VzZS10cmFuc2Zvcm0uc3ZnCkBAIC0zNiw3ICszNiw3
IEBAIHZhciBlbGVtZW50ID0gdXNlRWxlbWVudC5pbnN0YW5jZVJvb3QuY29ycmVzcG9uZGluZ0Vs
ZW1lbnQ7CiAKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iLCAiIik7CiAKLWlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CiAKIDwvc2NyaXB0Pjwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS92
aWV3cG9ydC1jb250YWluZXItY3Jhc2guc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS92aWV3cG9y
dC1jb250YWluZXItY3Jhc2guc3ZnCmluZGV4IDAwNjZhODEzNzY1NjI5YzMzN2ViYjc1M2ZmMzEw
MWZmZjZlMWUyYTIuLjBhMmE1ZTljYTlmMTcyNjQ5MjA1NzM0OWRiNjg4OWZmODAzODkxMTMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9kb20vdmlld3BvcnQtY29udGFpbmVyLWNyYXNoLnN2
ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL3ZpZXdwb3J0LWNvbnRhaW5lci1jcmFzaC5zdmcK
QEAgLTcsNyArNyw3IEBACiAgICAgPC9kZWZzPgogICAgIDxyZWN0IHdpZHRoPSI0MzAiIGhlaWdo
dD0iODAiIGZpbGw9InVybCgjUGF0dGVybikiLz4KICAgICA8c2NyaXB0PgotICAgICAgICBpZiAo
bGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7CisgICAgICAgIGlmICh0ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgPC9zY3JpcHQ+CiA8L3N2Zz4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N2Zy9kb20vdmtlcm4tZWxlbWVudC1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMv
c3ZnL2RvbS92a2Vybi1lbGVtZW50LWNyYXNoLmh0bWwKaW5kZXggYTFhYmZiMjE0YTIxZDAwYzM3
NzcxZWEzYTEzY2M3OGNlZTYyNjgyYS4uODBhMzk0MDA0N2IyYjIzNDEwNDlmYjk1YjdhYzk0OGI0
OTcwZTY4MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS92a2Vybi1lbGVtZW50LWNy
YXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS92a2Vybi1lbGVtZW50LWNyYXNoLmh0
bWwKQEAgLTEsOSArMSw5IEBACiA8aHRtbD4KIDxoZWFkPgogPHNjcmlwdD4KLWlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiB9CiAKIGdjID0gd2luZG93LmdjIHx8IGZ1bmN0aW9u
KCkKQEAgLTQyLDggKzQyLDggQEAgZnVuY3Rpb24gZmluaXNoVGVzdCgpCiB7CiAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImZvbyIpOwogICAgIAotICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsK
KyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOwogfQogPC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcv
ZHluYW1pYy11cGRhdGVzL3Jlc291cmNlcy9TVkdUZXN0Q2FzZS5qcyBiL0xheW91dFRlc3RzL3N2
Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR1Rlc3RDYXNlLmpzCmluZGV4IDk0ZmQ2N2Ni
ZTU1NWI3ZTdkNzE2YmIyNGRmNGM0NWRkYzJjNjFhMTAuLjEzZGNkZWVhMzk3MWY5MTczMTU2NTcz
MjVmNzYwZGI4ODU0Y2YxYzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9keW5hbWljLXVw
ZGF0ZXMvcmVzb3VyY2VzL1NWR1Rlc3RDYXNlLmpzCisrKyBiL0xheW91dFRlc3RzL3N2Zy9keW5h
bWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR1Rlc3RDYXNlLmpzCkBAIC0xMyw4ICsxMyw4IEBAIGZ1
bmN0aW9uIGNyZWF0ZVNWR0VsZW1lbnQobmFtZSkgewogfQogCiBmdW5jdGlvbiBjcmVhdGVTVkdU
ZXN0Q2FzZSgpIHsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAogICAgIHJv
b3RTVkdFbGVtZW50ID0gY3JlYXRlU1ZHRWxlbWVudCgic3ZnIik7CiAgICAgcm9vdFNWR0VsZW1l
bnQuc2V0QXR0cmlidXRlKCJ3aWR0aCIsICIzMDAiKTsKQEAgLTI1LDggKzI1LDggQEAgZnVuY3Rp
b24gY3JlYXRlU1ZHVGVzdENhc2UoKSB7CiB9CiAKIGZ1bmN0aW9uIGVtYmVkU1ZHVGVzdENhc2Uo
dXJpKSB7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKICAgICBpZnJhbWVF
bGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7CiAgICAgaWZyYW1lRWxl
bWVudC5zZXRBdHRyaWJ1dGUoInN0eWxlIiwgIndpZHRoOiAzMDBweDsgaGVpZ2h0OiAzMDBweDsi
KTsKQEAgLTU3LDggKzU3LDggQEAgZnVuY3Rpb24gY29tcGxldGVUZXN0KCkgewogICAgIHZhciBz
Y3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKIAogICAgIHNjcmlwdC5v
bmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7CiAgICAgfTsKIAogICAgIHNjcmlwdC5zcmMgPSAiLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9keW5h
bWljLXVwZGF0ZXMvcmVzb3VyY2VzL2xpbmtUYXJnZXQuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2R5
bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvbGlua1RhcmdldC5zdmcKaW5kZXggOWEzYzNmY2MzYzdh
MTYwMjcyNWFiMjc3ZTYxNjgyYTQ5ODVmYjhhZC4uNmU3NTEzYzlhYmEyYzE2MGQyYzkwY2Q0Zjdk
ZTNmODU3MmRhYzY5YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRl
cy9yZXNvdXJjZXMvbGlua1RhcmdldC5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMt
dXBkYXRlcy9yZXNvdXJjZXMvbGlua1RhcmdldC5zdmcKQEAgLTIsOCArMiw4IEBACiA8cmVjdCB3
aWR0aD0iMzAwIiBoZWlnaHQ9IjMwMCIgZmlsbD0iZ3JlZW4iLz4KIDxzY3JpcHQ+CiBmdW5jdGlv
biBkb25lKCkgewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogfQogPC9zY3JpcHQ+CiA8
L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9maWx0ZXJzL2ZlQmxlbmQtaW52YWxp
ZC1tb2RlLnhodG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmVCbGVuZC1pbnZhbGlkLW1v
ZGUueGh0bWwKaW5kZXggODgwYWMzMGRlOGIxZTQxNWIwOWE5MmRkMGZjNTQ2Yjg5MjVlMGNjNS4u
YTc1ZDdkZGI1M2M5YmEyZmM4MTRmOGY0ZmI5M2Y5OTMzNDM3MzZjZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmVCbGVuZC1pbnZhbGlkLW1vZGUueGh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmVCbGVuZC1pbnZhbGlkLW1vZGUueGh0bWwKQEAgLTksOCAr
OSw4IEBACiA8L2RlZnM+CiA8cmVjdCBmaWx0ZXI9InVybCgjZmlsdGVyKSIgd2lkdGg9IjEwIiBo
ZWlnaHQ9IjEwIi8+ICAgCiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CitpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnYmxlbmQnKS5tb2RlLmJhc2VWYWw9LTE7CiA8L3NjcmlwdD4KIDwvc3ZnPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmVDb2xvck1hdHJpeC1pbnZhbGlkLXZh
bHVlLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9maWx0ZXJzL2ZlQ29sb3JNYXRyaXgtaW52YWxpZC12
YWx1ZS5zdmcKaW5kZXggNTgwOTc5NGY3M2ZlYzU2M2EyODEyNTFmZmIwYWJhMDExOTVmY2U0ZC4u
NTM4YjVlNWRjMWM2ZThlMjNlMDZlOTczNGI2ZWFmOGU2YWViZmY2ZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmVDb2xvck1hdHJpeC1pbnZhbGlkLXZhbHVlLnN2ZworKysg
Yi9MYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9mZUNvbG9yTWF0cml4LWludmFsaWQtdmFsdWUuc3Zn
CkBAIC0xMyw4ICsxMyw4IEBACiAgICAgPC9nPgogICAgIDwvc3ZnPgogICAgIDxzY3JpcHQ+PCFb
Q0RBVEFbCi0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCiAg
ICAgICAgIHZhciBsb2cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9nIik7CiAgICAgICAg
IHdoaWxlIChsb2cuY2hpbGROb2Rlcy5sZW5ndGgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dmcvZmlsdGVycy9mZUNvbXBvbmVudFRyYW5zZmVyLXN0eWxlLWNyYXNoLnhodG1sIGIvTGF5b3V0
VGVzdHMvc3ZnL2ZpbHRlcnMvZmVDb21wb25lbnRUcmFuc2Zlci1zdHlsZS1jcmFzaC54aHRtbApp
bmRleCBkOWQ3OGExN2RkMDEzMjRjMmYwMjM2MTg1MDAwMWEzNWQ2NDU0MmM3Li42YWYzMWE1ODc5
NTE4MmFkZTRiODQyZTMxNzAxZjAyZmRmZmU4NDRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dmcvZmlsdGVycy9mZUNvbXBvbmVudFRyYW5zZmVyLXN0eWxlLWNyYXNoLnhodG1sCisrKyBiL0xh
eW91dFRlc3RzL3N2Zy9maWx0ZXJzL2ZlQ29tcG9uZW50VHJhbnNmZXItc3R5bGUtY3Jhc2gueGh0
bWwKQEAgLTIsOSArMiw5IEBACiA8Ym9keT4KIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3Jn
LzIwMDAvc3ZnIj4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7
Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgIGxheW91dFRlc3RD
b250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OwogfQogd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkKIHsKQEAgLTE2LDggKzE2LDggQEAgd2lu
ZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkKIAogICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewog
ICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAiUEFTUyI7Ci0gICAgICAgICAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAg
ICAgfSwgMCk7CiB9CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9maWx0
ZXJzL2ZlRGlzcGxhY2VtZW50TWFwLWNyYXNoLXRlc3QueGh0bWwgYi9MYXlvdXRUZXN0cy9zdmcv
ZmlsdGVycy9mZURpc3BsYWNlbWVudE1hcC1jcmFzaC10ZXN0LnhodG1sCmluZGV4IDhmYTJjYTgx
NjhhZDc3N2JkNzg1NTc5Y2VjYTY4NWE3YmNkNzg1N2MuLjY2MjI3MTgyMTQxNzk0MmJlNTZiNzc0
ZjI2ZmI4MjJjNTJiYmVjNDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9maWx0ZXJzL2Zl
RGlzcGxhY2VtZW50TWFwLWNyYXNoLXRlc3QueGh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2Zp
bHRlcnMvZmVEaXNwbGFjZW1lbnRNYXAtY3Jhc2gtdGVzdC54aHRtbApAQCAtMiw5ICsyLDkgQEAK
IDxib2R5PgogPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhs
aW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KIDxzY3JpcHQ+Ci1pZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKK2lmICh3
aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogfQogCiB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24o
KQpAQCAtMTgsNyArMTgsNyBAQCB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKQogCiAgICAgc2V0
VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVySFRN
TCA9ICJQQVNTIjsKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUo
KTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgICB9LCAwKTsK
IH0KIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmVJbWFn
ZS1hbmltYXRlZC10cmFuc2Zvcm0tb24tdGFyZ2V0LXJlY3Quc3ZnIGIvTGF5b3V0VGVzdHMvc3Zn
L2ZpbHRlcnMvZmVJbWFnZS1hbmltYXRlZC10cmFuc2Zvcm0tb24tdGFyZ2V0LXJlY3Quc3ZnCmlu
ZGV4IDI2OTE3Yjg2MDMzMDYyMGY3MzA5ZWFhMTY2OTI4Y2MxOGU1YjdkMmMuLjExYjlmNDEyMzYx
MGY2ZDZiZTgwOTE3ODVlYjFiYjQzNTA0MjU4NmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2
Zy9maWx0ZXJzL2ZlSW1hZ2UtYW5pbWF0ZWQtdHJhbnNmb3JtLW9uLXRhcmdldC1yZWN0LnN2Zwor
KysgYi9MYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9mZUltYWdlLWFuaW1hdGVkLXRyYW5zZm9ybS1v
bi10YXJnZXQtcmVjdC5zdmcKQEAgLTE1LDggKzE1LDggQEAKIAogPHNjcmlwdD48IVtDREFUQVsK
ICAgICBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsKLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKLSAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxE
b25lKCk7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKIAogICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
YW5pbWF0aW9uIikuYmVnaW5FbGVtZW50KCk7CiAgICAgICAgIHNldFRpbWVvdXQoZmluaXNoVGVz
dCwgNTApOwpAQCAtMjgsMTIgKzI4LDEyIEBACiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
ICAgfQogCi0gICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
ICAgICAgICAgfQogICAgIH0KIAotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQodHJ1ZSk7CisgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1ZSk7
CiBdXT48L3NjcmlwdD4KIDwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2ZpbHRl
cnMvZmVJbWFnZS10YXJnZXQtcmVhcHBlbmQtdG8tZG9jdW1lbnQuc3ZnIGIvTGF5b3V0VGVzdHMv
c3ZnL2ZpbHRlcnMvZmVJbWFnZS10YXJnZXQtcmVhcHBlbmQtdG8tZG9jdW1lbnQuc3ZnCmluZGV4
IDY5ZDc5NjYxMDU4OGUzMzkzZDM4NWZkYjNjYTA0ZTYyZTZkNTgyYWQuLjNhNDg5MjBlMTZjMTY2
Nzg3N2FhMzRlYWMxMWMyYzFmOGU2Y2NiZTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9m
aWx0ZXJzL2ZlSW1hZ2UtdGFyZ2V0LXJlYXBwZW5kLXRvLWRvY3VtZW50LnN2ZworKysgYi9MYXlv
dXRUZXN0cy9zdmcvZmlsdGVycy9mZUltYWdlLXRhcmdldC1yZWFwcGVuZC10by1kb2N1bWVudC5z
dmcKQEAgLTE5LDEzICsxOSwxMyBAQAogICAgICAgICAgICAgdmFyIGdyZWVuSW1hZ2UgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZmVpbWFnZS1ncmVlbiIpOwogICAgICAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImZpbHRlciIpLnJlbW92ZUNoaWxkKGdyZWVuSW1hZ2UpOwogCi0g
ICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKIAogICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAg
ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsdGVyIikuYXBwZW5kQ2hpbGQoZ3Jl
ZW5JbWFnZSk7Ci0gICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKLSAgICAgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgp
OworICAgICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgICAgICB9LCAwKTsKICAgICAg
ICAgfQogICAgIF1dPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmVJbWFn
ZS16ZXJvLXNpemUtY3Jhc2guc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmVJbWFnZS16
ZXJvLXNpemUtY3Jhc2guc3ZnCmluZGV4IGUxMjRhMGQzYTMyODk2ODc3NzZkMDlhNDc3MTg2ZjI1
M2I4NjQwNjYuLjVhZGU5ZWFkNDg5MmFhZGY4N2I4Njc4NGY4ZWE0MDA0ODYwMmY4ZjIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9maWx0ZXJzL2ZlSW1hZ2UtemVyby1zaXplLWNyYXNoLnN2
ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9mZUltYWdlLXplcm8tc2l6ZS1jcmFzaC5z
dmcKQEAgLTEyLDggKzEyLDggQEAKICAgICA8cmVjdCB4PSIxMDAiIHk9IjEwMCIgd2lkdGg9IjEw
MCIgaGVpZ2h0PSIxMDAiIGZpbGw9ImdyZWVuIiAvPgogICAgIDxzY3JpcHQ+CiAgICAgICA8IVtD
REFUQVsKLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKICAg
ICAgICAgdmFyIGxvZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2ciKTsKICAgICAgICAg
bG9nLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJQQVNTIikpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmVNb3JwaG9sb2d5LWludmFsaWQtcmFkaXVz
LnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9maWx0ZXJzL2ZlTW9ycGhvbG9neS1pbnZhbGlkLXJhZGl1
cy5zdmcKaW5kZXggNzVhNjQ4ZjQ1ODRlNTg5MmUxOTI5NDBhMWM5MzY0NTExYmU2Zjk3ZC4uNmMx
MTAxZDEzMWY0MjY2MjcwMjM2NTVlZTI1N2YwMzA4NGVmZDIxZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3ZnL2ZpbHRlcnMvZmVNb3JwaG9sb2d5LWludmFsaWQtcmFkaXVzLnN2ZworKysgYi9M
YXlvdXRUZXN0cy9zdmcvZmlsdGVycy9mZU1vcnBob2xvZ3ktaW52YWxpZC1yYWRpdXMuc3ZnCkBA
IC01Myw4ICs1Myw4IEBACiAgICAgPC9zdmc+CiAgICAgPHNjcmlwdD4KICAgICAgIDwhW0NEQVRB
WwotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAogICAgICAg
ICB2YXIgbG9nID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvZyIpOwogICAgICAgICB3aGls
ZSAobG9nLmNoaWxkTm9kZXMubGVuZ3RoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2Zp
bHRlcnMvZmVNb3JwaG9sb2d5LXplcm8tcmFkaXVzLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9maWx0
ZXJzL2ZlTW9ycGhvbG9neS16ZXJvLXJhZGl1cy5zdmcKaW5kZXggMTEyMDU3NWNkZGJkYTM5M2Zj
YzE3OGI0ZmRhOWE0MzdiOTA2MDdlZC4uY2ExZmQxZDg0YjI0ZDBhZmVlNmY2NDQ5MjhlYTJlMTA1
MzRkYzZlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmVNb3JwaG9sb2d5
LXplcm8tcmFkaXVzLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9mZU1vcnBob2xv
Z3ktemVyby1yYWRpdXMuc3ZnCkBAIC0yMiw4ICsyMiw4IEBACiAgICAgICAgIH0KICAgICB9CiAK
LSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICB3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgd2luZG93LnRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIF1dPgogPC9z
Y3JpcHQ+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9maWx0ZXJzL2ZpbHRlci1hZnRl
ci10cmFuc2Zvcm0tY3Jhc2guc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmlsdGVyLWFm
dGVyLXRyYW5zZm9ybS1jcmFzaC5zdmcKaW5kZXggNjU0YzhiN2MyZmY0ODZjZTFkYzZmMDdlNDAz
ZGI5ZWJkZmVkZmRhZC4uOWI3NDRjODE5NDMzNWI2YmE4NzE3NGQxNzEwZWEyOGE4ZjBmZWUwYiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmlsdGVyLWFmdGVyLXRyYW5zZm9y
bS1jcmFzaC5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmlsdGVyLWFmdGVyLXRy
YW5zZm9ybS1jcmFzaC5zdmcKQEAgLTEsNyArMSw3IEBACiA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxp
bmsiIHg9IjgwIiB5PSI4MCIgd2lkdGg9IjMwMCIgaGVpZ2h0PSIxODAiIHZpZXdCb3g9IjAgMCAy
MDAgMTIwIj4KICAgICA8c2NyaXB0PgotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAg
IDwvc2NyaXB0PgogICAgIDxkZWZzPgogICAgICAgICA8ZmlsdGVyIGlkPSJNeUZpbHRlciIgZmls
dGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiA+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcv
ZmlsdGVycy9yZXBhcmVudC1hbmltYXRlZC1maWx0ZXItdGFyZ2V0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9zdmcvZmlsdGVycy9yZXBhcmVudC1hbmltYXRlZC1maWx0ZXItdGFyZ2V0Lmh0bWwKaW5kZXgg
YjNlMTA3MDYyMTIxNjMxMTIyNTk2NjUxZTRlZWVlMTE2MTdlNjQ3MC4uMTE0ZTExYzZiMGFlODMz
YTg1NTBhYjRmNDlhNmNiZDgzZjE5NTVjYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2Zp
bHRlcnMvcmVwYXJlbnQtYW5pbWF0ZWQtZmlsdGVyLXRhcmdldC5odG1sCisrKyBiL0xheW91dFRl
c3RzL3N2Zy9maWx0ZXJzL3JlcGFyZW50LWFuaW1hdGVkLWZpbHRlci10YXJnZXQuaHRtbApAQCAt
OSw5ICs5LDkgQEAKIDxyZWN0IGlkPSJyZWN0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWx0ZXI9
InVybCgjZmlsdGVyKSI+CiA8L3N2Zz4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSB7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpCi0gICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpCitpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKQorICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpCiB9CiAKIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKQEAgLTI4LDggKzI4
LDggQEAgd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAvLyBXYWl0IGZvciBh
dCBsZWFzdCBvbmUgbW9yZSBhbmltYXRpb24gZnJhbWUgc28gd2Uga25vdyBpdCBzdWNjZWVkZWQu
CiAgICAgICAgIH0gZWxzZSBpZiAobGFzdEFuaW1WYWwgIT0gYW5pbWF0ZS5wYXJlbnRFbGVtZW50
LmxpbWl0aW5nQ29uZUFuZ2xlLmFuaW1WYWwpIHsKICAgICAgICAgICAgIGRvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJ1BBU1MgLSBUZXN0IHN1Y2NlZWRl
ZC4nKSkKLSAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAg
ICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpCisgICAgICAgICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCkKICAgICAgICAgICAgIHJldHVybgogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N2Zy9maWx0ZXJzL3N2Zy10cmFuc2Zvcm0tYmx1ci1jcmFzaC5zdmcgYi9MYXlv
dXRUZXN0cy9zdmcvZmlsdGVycy9zdmctdHJhbnNmb3JtLWJsdXItY3Jhc2guc3ZnCmluZGV4IGEx
MDIzYzlmNmIwNjhiMThmMGExODVjYTQ4MDIyY2M2NjdlMjRhNWEuLjNmYjhmZDIyYzhlMGZiNjJl
ZmUzZWYwYTRmYjhkNGFjYWQ0ODdlMzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9maWx0
ZXJzL3N2Zy10cmFuc2Zvcm0tYmx1ci1jcmFzaC5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2Zp
bHRlcnMvc3ZnLXRyYW5zZm9ybS1ibHVyLWNyYXNoLnN2ZwpAQCAtMSw3ICsxLDcgQEAKIDxzdmcg
eG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAwIDIwMCI+
DQogICA8c2NyaXB0Pg0KLSAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikNCi0gICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7DQorICBpZiAod2luZG93LnRlc3RS
dW5uZXIpDQorICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7DQogICA8L3NjcmlwdD4NCiAg
IDxkZWZzPg0KICAgICA8ZmlsdGVyIGlkPSJibHVyIiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25V
c2UiIHg9IjIwMCIgZmlsdGVyUmVzPSIyMDAiPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2
Zy9mb3JlaWduT2JqZWN0L2Fic29sdXRlLXBvc2l0aW9uLWZvcmVpZ24tb2JqZWN0LWNoaWxkLWNy
YXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvZm9yZWlnbk9iamVjdC9hYnNvbHV0ZS1wb3NpdGlv
bi1mb3JlaWduLW9iamVjdC1jaGlsZC1jcmFzaC5odG1sCmluZGV4IDEzMTIzY2Y1MDc1MTA5MDZj
M2Q3ZjM5ZWZmZTRjMzIzMDIxMDJkZjcuLjM0MzFmYmEzYTFlODc4NDZjYTI2OWFiZmRmNzEzNDMy
ZWJiOTExYzAgMTAwNzU1Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9mb3JlaWduT2JqZWN0L2Fic29s
dXRlLXBvc2l0aW9uLWZvcmVpZ24tb2JqZWN0LWNoaWxkLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvc3ZnL2ZvcmVpZ25PYmplY3QvYWJzb2x1dGUtcG9zaXRpb24tZm9yZWlnbi1vYmplY3Qt
Y2hpbGQtY3Jhc2guaHRtbApAQCAtMTUsOCArMTUsOCBAQCBmdW5jdGlvbiBSZW1vdmVOb2RlKG4p
IHsgbi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG4pIH0KICAgICAgICAgUmVtb3ZlTm9kZShkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnZGl2MScpKTsKICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZz
ZXRUb3A7IC8vIEZvcmNlIGxheW91dC4KICAgICAgICAgUmVtb3ZlTm9kZShkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnZGl2MicpKTsKLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7CiB9CiA8L3NjcmlwdD4KIDxib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3ZnL2ZvcmVpZ25PYmplY3QvZk8tZml4ZWQtcG9zaXRpb24tY3Jhc2guaHRtbCBiL0xheW91dFRl
c3RzL3N2Zy9mb3JlaWduT2JqZWN0L2ZPLWZpeGVkLXBvc2l0aW9uLWNyYXNoLmh0bWwKaW5kZXgg
YWJhYmM0YTIwYTNkZjkwYjJjYjIwZjA1MWM3MzExYWFjOWJiMzdhMC4uNTg4ZDAyZjFjNGZlMmQx
ZmQ2YjRkMzAzMWYwNTY3MmYxMDcwZmU1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2Zv
cmVpZ25PYmplY3QvZk8tZml4ZWQtcG9zaXRpb24tY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9zdmcvZm9yZWlnbk9iamVjdC9mTy1maXhlZC1wb3NpdGlvbi1jcmFzaC5odG1sCkBAIC0xNCw4
ICsxNCw4IEBACiAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGl2JykuaW5uZXJIVE1M
ID0gIlBBU1MiOwogICAgIH07CiAKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQotICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICA8L3Njcmlw
dD4KIDwvc3ZnPgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2hpdHRlc3Qv
Zm9yZWlnbi1vYmplY3QtYmFja2dyb3VuZC5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvaGl0dGVzdC9m
b3JlaWduLW9iamVjdC1iYWNrZ3JvdW5kLnN2ZwppbmRleCA4MGNlOWVlZDk5ZDljZmZhOWVjM2I5
NTlkM2RiODIyOGZmZDk0ZDYyLi5jMDQ3MjZkMjBlMWIzNDNkMjJhMDlhNTQ5OWI1YTZmODM2Yjlk
YTUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvaGl0dGVzdC9mb3JlaWduLW9iamVjdC1i
YWNrZ3JvdW5kLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvaGl0dGVzdC9mb3JlaWduLW9iamVj
dC1iYWNrZ3JvdW5kLnN2ZwpAQCAtOSw4ICs5LDggQEAKIAogICA8c2NyaXB0PjwhW0NEQVRBWwog
Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewor
ICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKICAgICAgIHZhciBoaXRFbGVtZW50ID0g
ZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCg1MCwgNTApOwogICAgICAgdmFyIGhpdFN1Y2Nlc3Mg
PSBoaXRFbGVtZW50ICYmIGhpdEVsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRh
cmdldCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2hpdHRlc3Qvc3ZnLWVsbGlwc2Ut
bm9uLXNjYWxlLXN0cm9rZS54aHRtbCBiL0xheW91dFRlc3RzL3N2Zy9oaXR0ZXN0L3N2Zy1lbGxp
cHNlLW5vbi1zY2FsZS1zdHJva2UueGh0bWwKaW5kZXggZTU3NjMzM2M1Mzk3Mjc3ZWVjMDQxOGQ0
MDFiZGQ0MGE2ZGM1NTVlNy4uMWQ1YTE3Y2E5NDhkMWQxMDcxNTFkNDcwY2Y4ZmUyOGU1NDEzNDcy
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2hpdHRlc3Qvc3ZnLWVsbGlwc2Utbm9uLXNj
YWxlLXN0cm9rZS54aHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvaGl0dGVzdC9zdmctZWxsaXBz
ZS1ub24tc2NhbGUtc3Ryb2tlLnhodG1sCkBAIC0zMCw4ICszMCw4IEBACiAgICAgPC9zdmc+CiAg
ICAgCiAgICAgPHNjcmlwdD48IVtDREFUQVsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQotICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCiAg
ICAgdmFyIHJlc3VsdFN0cmluZyA9ICIiOwogICAgIHZhciBlbGxpcHNlRWxlbWVudCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJlbGxpcHNlIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dmcvaGl0dGVzdC9zdmctZWxsaXBzZS1yZWN0LXN0cm9rZS54aHRtbCBiL0xheW91dFRlc3RzL3N2
Zy9oaXR0ZXN0L3N2Zy1lbGxpcHNlLXJlY3Qtc3Ryb2tlLnhodG1sCmluZGV4IDFmYTQ3YmQxYjU5
NTk2MDgyMWU2M2EwMWRhNzRmMDJjNjMwYzQ2YzUuLmVkZTM2YmU3NTZlNzdkMjQ2NWIxOGQ0YjIz
M2I1NzhlMjYwZjI2MzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9oaXR0ZXN0L3N2Zy1l
bGxpcHNlLXJlY3Qtc3Ryb2tlLnhodG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9oaXR0ZXN0L3N2
Zy1lbGxpcHNlLXJlY3Qtc3Ryb2tlLnhodG1sCkBAIC0zMSw4ICszMSw4IEBACiAgICAgPC9zdmc+
CiAKICAgICA8c2NyaXB0PjwhW0NEQVRBWwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCi0gICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKICAg
ICB2YXIgcmVzdWx0U3RyaW5nID0gIiI7CiAgICAgdmFyIGVsbGlwc2VFbGVtZW50ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVsbGlwc2UiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2
Zy9oaXR0ZXN0L3N2Zy1lbGxpcHNlLnhodG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2hpdHRlc3Qvc3Zn
LWVsbGlwc2UueGh0bWwKaW5kZXggNzY0YmUwZTQ4MWM5N2Q3NzI4YjlkZDY4Y2MyNTEyNWM2ZWVi
NzA3Ny4uNTEzZWZmOThhZmIzYzFkMmJmZWU3MmVlMTExNjRlMTc4MTFkZTcyYiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3ZnL2hpdHRlc3Qvc3ZnLWVsbGlwc2UueGh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvc3ZnL2hpdHRlc3Qvc3ZnLWVsbGlwc2UueGh0bWwKQEAgLTI4LDggKzI4LDggQEAKICAg
ICA8L3N2Zz4KICAgICAKICAgICA8c2NyaXB0PjwhW0NEQVRBWwotICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0
KCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7CiAKICAgICB2YXIgcmVzdWx0U3RyaW5nID0gIiI7CiAgICAgdmFyIGVsbGlwc2VFbGVt
ZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVsbGlwc2UiKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N2Zy9oaXR0ZXN0L3N2Zy1pbnNpZGUtZGlzcGxheS10YWJsZS54aHRtbCBiL0xh
eW91dFRlc3RzL3N2Zy9oaXR0ZXN0L3N2Zy1pbnNpZGUtZGlzcGxheS10YWJsZS54aHRtbAppbmRl
eCBhNTI2NWFmY2IxZTQ4OTRjMDY0ZmJkMjg4MzE4Mjk2MGQ0YzdjZWE3Li4wMDFlY2ZhZDQ2ZjRk
MGRiZWVkYjA2Yzc1ZDYyM2U5NWZjMmZkMTY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcv
aGl0dGVzdC9zdmctaW5zaWRlLWRpc3BsYXktdGFibGUueGh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
c3ZnL2hpdHRlc3Qvc3ZnLWluc2lkZS1kaXNwbGF5LXRhYmxlLnhodG1sCkBAIC0yMyw4ICsyMyw4
IEBACiAgICAgICA8L3N2Zz4KICAgPC9ib2R5PgogICA8c2NyaXB0PjwhW0NEQVRBWwotICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOworICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKICAgfQogICB2YXIgaGl0RWxlbWVudCA9IGRvY3VtZW50LmVsZW1lbnRG
cm9tUG9pbnQoNTAsIDUwKTsKICAgdmFyIGhpdFN1Y2Nlc3MgPSBoaXRFbGVtZW50ICYmIGhpdEVs
ZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNxdWFyZSIpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3ZnL2hpdHRlc3Qvc3ZnLWluc2lkZS10YWJsZS54aHRtbCBiL0xheW91dFRl
c3RzL3N2Zy9oaXR0ZXN0L3N2Zy1pbnNpZGUtdGFibGUueGh0bWwKaW5kZXggN2M5MDFlNjM4Nzcy
NGM3MmJmMTFmMGIwMTM5ZTY5OTk4YWI2YjRiOC4uZDM2MDY5N2MzNzUxMjFmN2QzOTJiNjBhNzEx
MmFlOThmMjdiZWYyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2hpdHRlc3Qvc3ZnLWlu
c2lkZS10YWJsZS54aHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvaGl0dGVzdC9zdmctaW5zaWRl
LXRhYmxlLnhodG1sCkBAIC0yMyw4ICsyMyw4IEBACiAgICAgICA8L3N2Zz4KICAgICA8L3RkPjwv
dHI+PC90YWJsZT4KICAgICA8c2NyaXB0PjwhW0NEQVRBWwotICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQo
KTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOwogICAgIH0KICAgICB2YXIgaGl0RWxlbWVudCA9IGRvY3VtZW50LmVsZW1lbnRGcm9t
UG9pbnQoNTAsIDUwKTsKICAgICB2YXIgaGl0U3VjY2VzcyA9IGhpdEVsZW1lbnQgJiYgaGl0RWxl
bWVudCA9PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3F1YXJlIik7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdmcvaGl0dGVzdC9zdmctcGFkZGluZy54aHRtbCBiL0xheW91dFRlc3RzL3N2
Zy9oaXR0ZXN0L3N2Zy1wYWRkaW5nLnhodG1sCmluZGV4IDQ1MWUzMTE2NDZlYzMyMzAyMTJjYjJl
NzhkMThlYTg0NTE5MzliZDIuLjYyYTVhMjM3ZTRmMTVhNDA3YzQ0MDVjMWU0OThmYThmNWE0M2Ji
OWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9oaXR0ZXN0L3N2Zy1wYWRkaW5nLnhodG1s
CisrKyBiL0xheW91dFRlc3RzL3N2Zy9oaXR0ZXN0L3N2Zy1wYWRkaW5nLnhodG1sCkBAIC0yMyw4
ICsyMyw4IEBACiAgICAgICA8L3N2Zz4KICAgICA8L3RkPjwvdHI+PC90YWJsZT4KICAgICA8c2Ny
aXB0PjwhW0NEQVRBWwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKKyAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIH0KICAgICB2
YXIgaGl0RWxlbWVudCA9IGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoNzUsIDc1KTsKICAgICB2
YXIgaGl0U3VjY2VzcyA9IGhpdEVsZW1lbnQgJiYgaGl0RWxlbWVudCA9PSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3F1YXJlIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvaGl0dGVz
dC9zdmctc2hhcGVzLW5vbi1zY2FsZS1zdHJva2UuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9oaXR0
ZXN0L3N2Zy1zaGFwZXMtbm9uLXNjYWxlLXN0cm9rZS5odG1sCmluZGV4IDYyMDhiZTRiMzY3MmQ5
YTdmNGY3OWZjYjE4ZjU5YTRmMTI3Yzk0NjAuLjgxZTAyNDgzZWZmZjUwODcxYzc4ZmRmZTg2NjU0
YWIwOTY4MWIzMjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9oaXR0ZXN0L3N2Zy1zaGFw
ZXMtbm9uLXNjYWxlLXN0cm9rZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9oaXR0ZXN0L3N2
Zy1zaGFwZXMtbm9uLXNjYWxlLXN0cm9rZS5odG1sCkBAIC02Miw4ICs2Miw4IEBACiAgICAgPC9z
dmc+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgLy8gZG9jdW1l
bnQuYm9keS5vbm1vdXNlZG93biA9IGZ1bmN0aW9uKGV2dCkgeyBjb25zb2xlLmxvZygibW91c2Ug
ZG93biBhdCAiICsgZXZ0LnggKyAiLCIgKyBldnQueSk7IH0KLSAgICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsKKyAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7CiAKICAgICAgIHZhciByZXN1bHRTdHJpbmcgPSAiIjsKICAgICAgIHZhciBl
bGxpcHNlMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbGxpcHNlMSIpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3ZnL2hpdHRlc3Qvc3ZnLXNtYWxsLXBhdGgueGh0bWwgYi9MYXlvdXRU
ZXN0cy9zdmcvaGl0dGVzdC9zdmctc21hbGwtcGF0aC54aHRtbAppbmRleCBkMTBhNmJiOWJiMDgw
YTliNTAzOWUwNWQ4ZDBiMWQ2NzEyODNmZTcxLi5kOGVhMWVhYTE4ODVhYzYxNWY5MWY4ZGI4NGY5
MDIxODlkNDE1MDMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvaGl0dGVzdC9zdmctc21h
bGwtcGF0aC54aHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvaGl0dGVzdC9zdmctc21hbGwtcGF0
aC54aHRtbApAQCAtMjksOCArMjksOCBAQAogICAgIDwvc3ZnPgogICAgIAogICAgIDxzY3JpcHQ+
PCFbQ0RBVEFbCi0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAogICAgIHZhciByZXN1bHRTdHJp
bmcgPSAiIjsKICAgICB2YXIgcGF0aEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGF0aCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2hpdHRlc3Qvc3ZnLXNtYWxsLXZp
ZXdib3gueGh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvaGl0dGVzdC9zdmctc21hbGwtdmlld2JveC54
aHRtbAppbmRleCBkNDFkYmRmYmFkODM0MmZlMjgzOGY1Mjg5YjhlZmY1NGVhOWM4OTdkLi5kYTdj
NGY0OTkxM2ExOTZjNzdiOTY3Yjg2MzRhMWMzOWIyZmQ3ZTcxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdmcvaGl0dGVzdC9zdmctc21hbGwtdmlld2JveC54aHRtbAorKysgYi9MYXlvdXRUZXN0
cy9zdmcvaGl0dGVzdC9zdmctc21hbGwtdmlld2JveC54aHRtbApAQCAtMjcsOCArMjcsOCBAQAog
ICAgIDwvc3ZnPgogICAgIAogICAgIDxzY3JpcHQ+PCFbQ0RBVEFbCi0gICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7CiAgICAgfQogCiAgICAgdmFyIHJlc3VsdFN0cmluZyA9ICIiOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2hpdHRlc3QvemVyby1sZW5ndGgtYnV0dC1jYXAtcGF0aC54
aHRtbCBiL0xheW91dFRlc3RzL3N2Zy9oaXR0ZXN0L3plcm8tbGVuZ3RoLWJ1dHQtY2FwLXBhdGgu
eGh0bWwKaW5kZXggMGZlYTVhMTIzYjI2ODBkZjJkOTg0Yzg4MDkwYzNiNTZjZjlmODlkNi4uOWJk
MjE4NzgwZGJmNDllMjY3NzNiMTlhNDk2YTI4MDU5YWFmZDhlZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3ZnL2hpdHRlc3QvemVyby1sZW5ndGgtYnV0dC1jYXAtcGF0aC54aHRtbAorKysgYi9M
YXlvdXRUZXN0cy9zdmcvaGl0dGVzdC96ZXJvLWxlbmd0aC1idXR0LWNhcC1wYXRoLnhodG1sCkBA
IC0xMyw4ICsxMyw4IEBACiAgICAgICA8cGF0aCBpZD0ic3F1YXJlIiBkPSdNNTAsNTAgeicgc3Ry
b2tlPSdncmVlbicgc3Ryb2tlLXdpZHRoPScxMDAnIHN0cm9rZS1saW5lY2FwPSdidXR0Jy8+CiAg
ICAgPC9zdmc+CiAgICAgPHNjcmlwdD48IVtDREFUQVsKLSAgICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKKyAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICB3aW5k
b3cudGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgICB9CiAKICAgICAgIHZhciByZXN1bHRT
dHJpbmcgPSAiIjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9oaXR0ZXN0L3plcm8tbGVu
Z3RoLXJvdW5kLWNhcC1wYXRoLnhodG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2hpdHRlc3QvemVyby1s
ZW5ndGgtcm91bmQtY2FwLXBhdGgueGh0bWwKaW5kZXggNDczMDVkYWZjMDQ3MjU0ZmE4MGZlMmRh
OWMxNDUwYjA4ODIyYzliZi4uZjAzNWRiMjM5MTNlZjM4ODU2OGRiMzU0ODIxN2Y5YWIzMmMxNmQ2
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2hpdHRlc3QvemVyby1sZW5ndGgtcm91bmQt
Y2FwLXBhdGgueGh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2hpdHRlc3QvemVyby1sZW5ndGgt
cm91bmQtY2FwLXBhdGgueGh0bWwKQEAgLTEzLDggKzEzLDggQEAKICAgICAgIDxwYXRoIGlkPSJj
aXJjbGUiIGQ9J001MCw1MCB6JyBzdHJva2U9J2dyZWVuJyBzdHJva2Utd2lkdGg9JzEwMCcgc3Ry
b2tlLWxpbmVjYXA9J3JvdW5kJy8+CiAgICAgPC9zdmc+CiAgICAgPHNjcmlwdD48IVtDREFUQVsK
LSAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgICAgd2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikgeworICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAg
ICB9CiAKICAgICAgIHZhciByZXN1bHRTdHJpbmcgPSAiIjsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N2Zy9oaXR0ZXN0L3plcm8tbGVuZ3RoLXNxdWFyZS1jYXAtcGF0aC54aHRtbCBiL0xheW91
dFRlc3RzL3N2Zy9oaXR0ZXN0L3plcm8tbGVuZ3RoLXNxdWFyZS1jYXAtcGF0aC54aHRtbAppbmRl
eCA3Y2M3ZmFkZDM2MjFmYTk5MWI5YTMzNWUzMmIwOGEzNzAwNTNhODA1Li5hMDA0ZGMzYjJhMzNm
NDNiODhkNDdhNzJhMTYxMWIyYjlmYWYxMzk1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcv
aGl0dGVzdC96ZXJvLWxlbmd0aC1zcXVhcmUtY2FwLXBhdGgueGh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvc3ZnL2hpdHRlc3QvemVyby1sZW5ndGgtc3F1YXJlLWNhcC1wYXRoLnhodG1sCkBAIC0xMyw4
ICsxMyw4IEBACiAgICAgICA8cGF0aCBpZD0ic3F1YXJlIiBkPSdNNTAsNTAgeicgc3Ryb2tlPSdn
cmVlbicgc3Ryb2tlLXdpZHRoPScxMDAnIHN0cm9rZS1saW5lY2FwPSdzcXVhcmUnLz4KICAgICA8
L3N2Zz4KICAgICA8c2NyaXB0PjwhW0NEQVRBWwotICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikgewotICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOworICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHdpbmRvdy50
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAgIH0KIAogICAgICAgdmFyIHJlc3VsdFN0cmlu
ZyA9ICIiOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2hpeGllL2R5bmFtaWMvMDAxLnht
bCBiL0xheW91dFRlc3RzL3N2Zy9oaXhpZS9keW5hbWljLzAwMS54bWwKaW5kZXggYzdlZjFlZjM2
YWMzMTM3ZGVhZjA4OTYxYTk3OWFjZWRmODc4NjM2Yi4uNmE3N2U5NDdjMTY5MjYzMWE5MWUzYjk1
ODU4NDYyOWFlNTRmMzNiYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2hpeGllL2R5bmFt
aWMvMDAxLnhtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvaGl4aWUvZHluYW1pYy8wMDEueG1sCkBA
IC0xLDcgKzEsNyBAQAogPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhl
aWdodD0iMjAwIiB3aWR0aD0iNDAwIiBvbmxvYWQ9InRlc3QoKSI+CiAgPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPgotIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCisgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogIGZ1bmN0aW9uIHRlc3QoKSB7CiAg
ICAgIGFsZXJ0KCdUaGUgdGVzdCBoYXMgcGFzc2VkLicpCiAgICB9CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdmcvaGl4aWUvbGlua3MvMDAzLnhtbCBiL0xheW91dFRlc3RzL3N2Zy9oaXhpZS9s
aW5rcy8wMDMueG1sCmluZGV4IDdkNzFlMjA5NWYzMmQyMzNhM2EwNTNkOTIzMzIzN2UwMzY4NzA0
NzUuLjY3YzNhM2FlODM4ZTVmZTNmNzcxMTdmNDg2MTJhYTcxZDMzMGM0YWYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3N2Zy9oaXhpZS9saW5rcy8wMDMueG1sCisrKyBiL0xheW91dFRlc3RzL3N2
Zy9oaXhpZS9saW5rcy8wMDMueG1sCkBAIC0xMiwxNyArMTIsMTcgQEAKICAgPHN2ZyB4bWxucz0i
aHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9y
Zy8xOTk5L3hsaW5rIgogICAgICAgIGhlaWdodD0iMjAwMDAiIHdpZHRoPSIyMDAiIG9ubG9hZD0i
cnVuVGVzdCgpOyI+CiAgICA8c2NyaXB0IHR5cGU9InRleHQvZWNtYXNjcmlwdCI+PCFbQ0RBVEFb
Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gIGxheW91dFRlc3RDb250cm9s
bGVyLndhaXRVbnRpbERvbmUoKTsKLSAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OworaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OworICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIH0KICAKIGZ1bmN0aW9uIGNoZWNrTm9OYXZp
Z2F0aW9uKCkKIHsKICAgdmFyIHJlc3VsdCA9IGxvY2F0aW9uLmhhc2ggPT0gJycgPyAnUEFTUycg
OiAnRkFJTCc7CiAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVu
dC5jcmVhdGVUZXh0Tm9kZShyZXN1bHQpKTsKLSAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKIH0KIAogZnVuY3Rp
b24gcnVuVGVzdCgpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9oaXhpZS9wZXJmLzAw
MS54bWwgYi9MYXlvdXRUZXN0cy9zdmcvaGl4aWUvcGVyZi8wMDEueG1sCmluZGV4IGUyNGVlMzZh
MzhlN2QzNzc3NmNlNTU2MzQwMjRjYjBhNDAwMGJlOTcuLmM5N2RlYTNmNWM1YTlmNmI0MGY4ZjYz
MDQzOGY3YmEwMTI0ZmExOTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9oaXhpZS9wZXJm
LzAwMS54bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2hpeGllL3BlcmYvMDAxLnhtbApAQCAtNSw3
ICs1LDcgQEAKICAgdmFyIG1heCA9IDc1OwogIAogICAvLyBXaGVuIHJ1bm5pbmcgaW4gRFJUIG9u
bHkgYm91bmNlIHRlbiB0aW1lcyBvdGhlcndoaXNlIHRoaXMgdGVzdCB0YWtlcyB3YXkgdG9vIGxv
bmcKLSAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQogICAgIG1heCA9IDEwOwogIDwvc2NyaXB0PgogIDxyZWN0IGZpbGw9Im5vbmUiIHN0
cm9rZT0iYmxhY2siIHg9Ii0xOTAiIHk9Ii0xOTAiIHdpZHRoPSI1ODAiIGhlaWdodD0iNTgwIiBy
eD0iNDAiLz4KQEAgLTI3NSwxNCArMjc1LDE0IEBACiAgICBjLnNldEF0dHJpYnV0ZSgnY3knLCBj
eSk7CiAgICArK2NvdW50OwogICAgaWYgKGNvdW50IDwgbWF4KSB7Ci0gICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAg
ICByZXBhaW50VGVzdCgpOwogICAgICBlbHNlIHsKICAgICAgICB3aW5kb3cuc2V0VGltZW91dChy
ZXBhaW50VGVzdCwgMCk7CiAgICAgICAgdC5maXJzdENoaWxkLmRhdGEgPSAnVGVzdCBpbiBwcm9n
cmVzcy4uLiAnICsgY291bnQgKyAnIG9mICcgKyBtYXg7CiAgICAgIH0KICAgIH0gZWxzZSB7Ci0g
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKICAgICAgICB0LmZpcnN0Q2hpbGQuZGF0YSA9ICdUZXN0IGNvbXBsZXRlZCc7CiAg
ICAgIGVsc2UgewogICAgICAgIHZhciBlbmQgPSBuZXcgRGF0ZSgpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3ZnL2hpeGllL3BlcmYvMDAyLnhtbCBiL0xheW91dFRlc3RzL3N2Zy9oaXhpZS9w
ZXJmLzAwMi54bWwKaW5kZXggZmZkOWM0NjFjYzBlMDg0NGI4YWM1MzAyMWM5ZGI1Y2ZkMzkxNTZm
Ny4uMTIzOTdkN2MzNGVmOWJhZTI0YTI4NzI3ZmE3YjVmMjBkMTBkZDhiMSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3ZnL2hpeGllL3BlcmYvMDAyLnhtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcv
aGl4aWUvcGVyZi8wMDIueG1sCkBAIC01LDcgKzUsNyBAQAogICB2YXIgbWF4ID0gNzU7CiAKICAg
Ly8gV2hlbiBydW5uaW5nIGluIERSVCBvbmx5IGJvdW5jZSB0ZW4gdGltZXMgb3RoZXJ3aGlzZSB0
aGlzIHRlc3QgdGFrZXMgd2F5IHRvbyBsb25nCi0gIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCisgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICBtYXggPSAxMDsKICA8L3Njcmlw
dD4KICA8cmVjdCBmaWxsPSJub25lIiBzdHJva2U9ImJsYWNrIiB4PSItMTkwIiB5PSItMTkwIiB3
aWR0aD0iNTgwIiBoZWlnaHQ9IjU4MCIgcng9IjQwIi8+CkBAIC0yNzUsMTQgKzI3NSwxNCBAQAog
ICAgYy5zZXRBdHRyaWJ1dGUoJ2N5JywgY3kpOwogICAgKytjb3VudDsKICAgIGlmIChjb3VudCA8
IG1heCkgewotICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgcmVwYWludFRlc3QoKTsKICAgICAgZWxzZSB7CiAg
ICAgICAgd2luZG93LnNldFRpbWVvdXQocmVwYWludFRlc3QsIDApOwogICAgICAgIHQuZmlyc3RD
aGlsZC5kYXRhID0gJ1Rlc3QgaW4gcHJvZ3Jlc3MuLi4gJyArIGNvdW50ICsgJyBvZiAnICsgbWF4
OwogICAgICB9CiAgICB9IGVsc2UgewotICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQorICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgdC5maXJzdENoaWxkLmRh
dGEgPSAnVGVzdCBjb21wbGV0ZWQnOwogICAgICBlbHNlIHsKICAgICAgICB2YXIgZW5kID0gbmV3
IERhdGUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9oaXhpZS9wZXJmLzAwMy54bWwg
Yi9MYXlvdXRUZXN0cy9zdmcvaGl4aWUvcGVyZi8wMDMueG1sCmluZGV4IGZjMmRjYTIzY2VlYWVj
MGE5MjBhNDQ4MjdjOTc0NTgyOTc4MzRlODEuLmQ0NDI0NTg4ZmUxNDlmZTRmMzkxZjBkY2FlNDU0
ZmZkMjE1ZGEwNzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9oaXhpZS9wZXJmLzAwMy54
bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2hpeGllL3BlcmYvMDAzLnhtbApAQCAtNjAsMTQgKzYw
LDE0IEBACiAgICAgfQogICAgICsrY291bnQ7CiAgICAgaWYgKGNvdW50IDwgbWF4QmxvY2tzKSB7
Ci0gICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQogICAgICAgICByZXBhaW50VGVzdCgpOwogICAgICAgZWxzZSB7CiAgICAg
ICAgIHdpbmRvdy5zZXRUaW1lb3V0KHJlcGFpbnRUZXN0LCBkZWxheSk7CiAgICAgICAgIHQuZmly
c3RDaGlsZC5kYXRhID0gJ1Rlc3QgaW4gcHJvZ3Jlc3MuLi4gJyArIGNvdW50ICsgJyBvZiAnICsg
bWF4QmxvY2tzOwogICAgICAgfQogICAgIH0gZWxzZSB7Ci0gICAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQorICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICB0
LmZpcnN0Q2hpbGQuZGF0YSA9ICdUZXN0IGNvbXBsZXRlZCc7CiAgICAgICBlbHNlIHsKICAgICAg
ICAgdmFyIGVuZCA9IG5ldyBEYXRlKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvaGl4
aWUvcGVyZi8wMDQueG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2hpeGllL3BlcmYvMDA0LnhtbAppbmRl
eCA4MzMzZmJlOTk0YzE4YzM4ZjJlMzJkODMxNzJiODg5OTg0MzgwNzFhLi45NWQ0ZjJiMzlkMmMy
MWVjNTg4NWQxYWRhMjE0YjZkMTc2N2MxYTk0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcv
aGl4aWUvcGVyZi8wMDQueG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9oaXhpZS9wZXJmLzAwNC54
bWwKQEAgLTYxLDE0ICs2MSwxNCBAQAogICAgIH0KICAgICArK2NvdW50OwogICAgIGlmIChjb3Vu
dCA8IG1heEJsb2NrcykgewotICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
KyAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgcmVwYWludFRlc3QoKTsKICAg
ICAgIGVsc2UgewogICAgICAgICB3aW5kb3cuc2V0VGltZW91dChyZXBhaW50VGVzdCwgZGVsYXkp
OwogICAgICAgICB0LmZpcnN0Q2hpbGQuZGF0YSA9ICdUZXN0IGluIHByb2dyZXNzLi4uICcgKyBj
b3VudCArICcgb2YgJyArIG1heEJsb2NrczsKICAgICAgIH0KICAgICB9IGVsc2UgewotICAgICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKICAgICAgICAgdC5maXJzdENoaWxkLmRhdGEgPSAnVGVzdCBjb21wbGV0ZWQnOwogICAg
ICAgZWxzZSB7CiAgICAgICAgIHZhciBlbmQgPSBuZXcgRGF0ZSgpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3ZnL2hpeGllL3BlcmYvMDA1LnhtbCBiL0xheW91dFRlc3RzL3N2Zy9oaXhpZS9w
ZXJmLzAwNS54bWwKaW5kZXggM2I5ZTQwMDQzMWZjNzM5Yjc4ZGIzYTUwNGQxYzJkODAzMjAyZmI4
Yy4uYWYzNWQ4NWYzMjg1NDM5MGQzZDY0MGEzZTY1NTFjN2RlYjRjNmIzMSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3ZnL2hpeGllL3BlcmYvMDA1LnhtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcv
aGl4aWUvcGVyZi8wMDUueG1sCkBAIC02NywxNCArNjcsMTQgQEAKICAgICB9CiAgICAgKytjb3Vu
dDsKICAgICBpZiAoY291bnQgPCBtYXhCbG9ja3MpIHsKLSAgICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCisgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgIHJl
cGFpbnRUZXN0KCk7CiAgICAgICBlbHNlIHsKICAgICAgICAgd2luZG93LnNldFRpbWVvdXQocmVw
YWludFRlc3QsIGRlbGF5KTsKICAgICAgICAgdC5maXJzdENoaWxkLmRhdGEgPSAnVGVzdCBpbiBw
cm9ncmVzcy4uLiAnICsgY291bnQgKyAnIG9mICcgKyBtYXhCbG9ja3M7CiAgICAgICB9CiAgICAg
fSBlbHNlIHsKLSAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgIHQuZmlyc3RDaGlsZC5kYXRhID0gJ1Rlc3Qg
Y29tcGxldGVkJzsKICAgICAgIGVsc2UgewogICAgICAgICB2YXIgZW5kID0gbmV3IERhdGUoKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9oaXhpZS9wZXJmLzAwNi54bWwgYi9MYXlvdXRU
ZXN0cy9zdmcvaGl4aWUvcGVyZi8wMDYueG1sCmluZGV4IDE3ZDAzOTI5NjhiNDc5MGE1YmU1Mjg0
ZTYzMTY3MTk5MjRiNjUzMmQuLjVlMjZmOTg2OTQwZWE3MzIwNWI4NTMzM2FkYjRhN2Y1MzFjZmRi
YmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9oaXhpZS9wZXJmLzAwNi54bWwKKysrIGIv
TGF5b3V0VGVzdHMvc3ZnL2hpeGllL3BlcmYvMDA2LnhtbApAQCAtNjcsMTQgKzY3LDE0IEBACiAg
ICAgfQogICAgICsrY291bnQ7CiAgICAgaWYgKGNvdW50IDwgbWF4QmxvY2tzKSB7Ci0gICAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQogICAgICAgICByZXBhaW50VGVzdCgpOwogICAgICAgZWxzZSB7CiAgICAgICAgIHdpbmRv
dy5zZXRUaW1lb3V0KHJlcGFpbnRUZXN0LCBkZWxheSk7CiAgICAgICAgIHQuZmlyc3RDaGlsZC5k
YXRhID0gJ1Rlc3QgaW4gcHJvZ3Jlc3MuLi4gJyArIGNvdW50ICsgJyBvZiAnICsgbWF4QmxvY2tz
OwogICAgICAgfQogICAgIH0gZWxzZSB7Ci0gICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQorICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICB0LmZpcnN0Q2hp
bGQuZGF0YSA9ICdUZXN0IGNvbXBsZXRlZCc7CiAgICAgICBlbHNlIHsKICAgICAgICAgdmFyIGVu
ZCA9IG5ldyBEYXRlKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvaGl4aWUvcGVyZi8w
MDcueG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2hpeGllL3BlcmYvMDA3LnhtbAppbmRleCA4Njk3NDhh
ZjlmNWVjNjUyMWQ2NGJlNWIyNGY1ZjM5ODExMzkxNWJjLi5hMGU3MDNmNjViM2RmOThjNjNlZTE3
NzE4OTYwZDFmNWEwMzAxM2IwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvaGl4aWUvcGVy
Zi8wMDcueG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9oaXhpZS9wZXJmLzAwNy54bWwKQEAgLTI1
MSwxNSArMjUxLDE1IEBACiAgIHZhciB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWVO
UygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAndGV4dCcpWzJdOwogCiAgIHZhciBkZWxh
eSA9IDEwMDsKLSAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQogICAgICAgZGVsYXkgPSAxOwogICB2YXIgbG93ID0gMjAwOwogICB2YXIg
aGlnaCA9IDgwMDsKICAgdmFyIGRlbHRhID0gNjA7CiAgIHZhciBjdXJyZW50ID0gbG93OwogICB2
YXIgaWRlYWxUaW1lID0gKChoaWdoIC0gbG93KSAvIGRlbHRhKSAqIGRlbGF5OwotICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKKyAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOwogICBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsKICAgICBzdmcuc2V0QXR0
cmlidXRlKCJ3aWR0aCIsIGN1cnJlbnQpOwogICAgIGlmIChjdXJyZW50IDwgaGlnaCkgewpAQCAt
MjY3LDkgKzI2Nyw5IEBACiAgICAgICBjdXJyZW50ICs9IGRlbHRhOwogICAgICAgd2luZG93LnNl
dFRpbWVvdXQocmVwYWludFRlc3QsIGRlbGF5KTsKICAgICB9IGVsc2UgewotICAgICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7CiAgICAgICAgIHQuZmlyc3RDaGlsZC5kYXRhID0gJ1Rlc3QgY29tcGxldGVkJzsKLSAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKICAgICAgIH0gZWxzZSB7CiAgICAgICAgIHZhciBlbmQgPSBuZXcgRGF0
ZSgpOwogICAgICAgICB2YXIgZWxhcHNlZCA9IChlbmQgLSBzdGFydCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdmcvaW4taHRtbC9zY3JpcHQtZXh0ZXJuYWwuaHRtbCBiL0xheW91dFRlc3Rz
L3N2Zy9pbi1odG1sL3NjcmlwdC1leHRlcm5hbC5odG1sCmluZGV4IDA5NDI5YTE3ZWIzZjVkYzIw
OWM0ODg1NjZlYmNiMGFiYTkwZjE0ZTQuLjhjMjlmODgwOTg3NDhlNDEzODljNmI0ODAyNDllZTc3
NDg5MGM5MmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9pbi1odG1sL3NjcmlwdC1leHRl
cm5hbC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9pbi1odG1sL3NjcmlwdC1leHRlcm5hbC5o
dG1sCkBAIC0yLDggKzIsOCBAQAogPGhlYWQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KLSAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKIDwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdmcvaW4taHRtbC9zY3JpcHQtbmVzdGVkLmh0bWwgYi9MYXlvdXRUZXN0
cy9zdmcvaW4taHRtbC9zY3JpcHQtbmVzdGVkLmh0bWwKaW5kZXggYWIwYzlkNGI1ZjRjY2QwMmNh
MzRlYmQ1MWQyMDdmZDQ1NjdmYjcwMC4uMjViYzc5NjAxNTEzMzVjODAyYmQxMjZhMmQzZmJmOGYy
NGQ2OGZiNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2luLWh0bWwvc2NyaXB0LW5lc3Rl
ZC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9pbi1odG1sL3NjcmlwdC1uZXN0ZWQuaHRtbApA
QCAtMiw4ICsyLDggQEAKIDxoZWFkPgogPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7CiA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3ZnL2luLWh0bWwvc2NyaXB0LXdyaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcv
aW4taHRtbC9zY3JpcHQtd3JpdGUuaHRtbAppbmRleCA3ODgzZThlZDdhZGRlY2RmZDNjMTM2NWFi
OWU4MGQyNGZkYWFjOGFmLi5mMTI3MGRiZDE4ZWYyN2ExNDEwZGE2ZTEyMDYxNjZiY2Q4M2EzNmEz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvaW4taHRtbC9zY3JpcHQtd3JpdGUuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9zdmcvaW4taHRtbC9zY3JpcHQtd3JpdGUuaHRtbApAQCAtMiw4ICsy
LDggQEAKIDxoZWFkPgogPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwor
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CiA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3ZnL2luLWh0bWwvc2NyaXB0Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvaW4taHRtbC9zY3JpcHQu
aHRtbAppbmRleCBlMjBmMzZlNGI3Mzc3MmQ4YTc5ZmQxOGRkNWQ5ZmMxYmMzZGU1NDQ4Li4zN2Y2
N2M2Mjg4Zjc1YTM0OTc1YzUxNmVhMWFlMzdkZTE0OGFiOTg1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdmcvaW4taHRtbC9zY3JpcHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvaW4taHRt
bC9zY3JpcHQuaHRtbApAQCAtMiw4ICsyLDggQEAKIDxoZWFkPgogPHNjcmlwdCBzcmM9Ii4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci0g
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2luLWh0bWwvc3ZnLWFzc2VydC1mYWlsdXJlLXBl
cmNlbnRhZ2UuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9pbi1odG1sL3N2Zy1hc3NlcnQtZmFpbHVy
ZS1wZXJjZW50YWdlLmh0bWwKaW5kZXggYjZkMWJmOWY2MTI3NjhiZjVkNjczMGY0YTA2NGEyOWJm
YjQwOGUzYi4uOGVhZTU2OWVjNDdmMzg5N2VkMTAxNDFjMWQxZmY3MjI3ZDljZWNjNiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2luLWh0bWwvc3ZnLWFzc2VydC1mYWlsdXJlLXBlcmNlbnRh
Z2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvaW4taHRtbC9zdmctYXNzZXJ0LWZhaWx1cmUt
cGVyY2VudGFnZS5odG1sCkBAIC0xLDggKzEsOCBAQAogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4K
IDxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIDwvc2NyaXB0PgogPHN2ZyBzdHlsZT0ibWF4LWhlaWdo
dDo1JSI+PC9zdmc+CiA8cD5UaGlzIHRlc3QgUEFTU0VEIGlmIGl0IGRvZXNuJ3QgY2F1c2UgYW4g
YXNzZXJ0aW9uIGZhaWx1cmUuPC9wPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL3BhdGgt
YXJjLWludmFsaWQuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9wYXRoLWFyYy1pbnZhbGlkLmh0bWwK
aW5kZXggNjRjODYwYWFlMDA3OTgyMmExNmJlMjhjNWMxY2MyM2ZkNzhkZDUzZi4uYTQ1ZTZlYjkx
NDU3OGExMzg0NjgwOTA2YTZiNWJlNzAzMGRmNWYyYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3ZnL3BhdGgtYXJjLWludmFsaWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvcGF0aC1hcmMt
aW52YWxpZC5odG1sCkBAIC0xLDYgKzEsNiBAQAogPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwor
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogPC9z
Y3JpcHQ+CiA8c3ZnPgogPHBhdGggZD0iTTAgMCBBMCAwIDAgMCAwIDAgMCAwIDAgMCIvPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL3JlcGFpbnQvZmlsdGVyLXJlcGFpbnQuc3ZnIGIvTGF5
b3V0VGVzdHMvc3ZnL3JlcGFpbnQvZmlsdGVyLXJlcGFpbnQuc3ZnCmluZGV4IDg2ZDJmOGYyNjY3
ZTYzYTc4NzgyZjIyMTI1MzQzMDEwZThhNmZiMjYuLjI1MDZkNDJiNWIzNGM0NzAyOTkxYWFhNWNj
YTNmOTk0MDk2MjE3MDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9yZXBhaW50L2ZpbHRl
ci1yZXBhaW50LnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvcmVwYWludC9maWx0ZXItcmVwYWlu
dC5zdmcKQEAgLTIsOCArMiw4IEBACiA8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQg
U1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcx
MS5kdGQiPgogPHN2ZyB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCIgdmVyc2lvbj0iMS4xIiB4bWxu
cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiPgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgIGxheW91dFRl
c3RDb250cm9sbGVyLnRlc3RSZXBhaW50KCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAg
ICB0ZXN0UnVubmVyLnRlc3RSZXBhaW50KCk7CiB9CiA8L3NjcmlwdD4KIDxkZWZzPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3ZnL3JlcGFpbnQvaW1hZ2UtaHJlZi1jaGFuZ2Uuc3ZnIGIvTGF5
b3V0VGVzdHMvc3ZnL3JlcGFpbnQvaW1hZ2UtaHJlZi1jaGFuZ2Uuc3ZnCmluZGV4IDZiMGZjOGMw
NWE5YzBhMDVjZDg5YWNhZGE4Zjk4ZTZmMDZmOWQxMWUuLjU0MDEyZThiZDgyY2M0MDQ5MzUwZTBj
MTI2OTRhMzVmMjJlN2VmNjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9yZXBhaW50L2lt
YWdlLWhyZWYtY2hhbmdlLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvcmVwYWludC9pbWFnZS1o
cmVmLWNoYW5nZS5zdmcKQEAgLTExLDE1ICsxMSwxNSBAQAogICAgIHZhciBncmVlblNxdWFyZSA9
ICJkYXRhOmltYWdlL2pwZztiYXNlNjQsLzlqLzRBQVFTa1pKUmdBQkFRRUFTQUJJQUFELzRnV2tT
VU5EWDFCU1QwWkpURVVBQVFFQUFBV1VZWEJ3YkFJZ0FBQnRiblJ5VWtkQ0lGaFpXaUFIMlFBQ0FC
a0FDd0FhQUF0aFkzTndRVkJRVEFBQUFBQmhjSEJzQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBOXRZ
QUFRQUFBQURUTFdGd2NHd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQXRrWlhOakFBQUJDQUFBQUc5a2MyTnRBQUFCZUFBQUExWmpj
SEowQUFBRTBBQUFBRGgzZEhCMEFBQUZDQUFBQUJSeVdGbGFBQUFGSEFBQUFCUm5XRmxhQUFBRk1B
QUFBQlJpV0ZsYUFBQUZSQUFBQUJSeVZGSkRBQUFGV0FBQUFBNWphR0ZrQUFBRmFBQUFBQ3hpVkZK
REFBQUZXQUFBQUE1blZGSkRBQUFGV0FBQUFBNWtaWE5qQUFBQUFBQUFBQlJIWlc1bGNtbGpJRkpI
UWlCUWNtOW1hV3hsQUFBQUFBQUFBQUFBQUFBVVIyVnVaWEpwWXlCU1IwSWdVSEp2Wm1sc1pRQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBYld4MVl3QUFBQUFBQUFBVEFBQUFESEIwUWxJQUFBQW1BQUFBOUdaeVJsVUFBQUFvQUFB
QkducG9WRmNBQUFBV0FBQUJRbWwwU1ZRQUFBQW9BQUFCV0c1aVRrOEFBQUFtQUFBQmdHdHZTMUlB
QUFBV0FBQUJwbVJsUkVVQUFBQXNBQUFCdkhOMlUwVUFBQUFtQUFBQmdIcG9RMDRBQUFBV0FBQUI2
R3BoU2xBQUFBQWFBQUFCL25CMFVFOEFBQUFtQUFBQ0dHNXNUa3dBQUFBb0FBQUNQbVZ6UlZNQUFB
QW1BQUFDR0dacFJra0FBQUFvQUFBQ1puQnNVRXdBQUFBc0FBQUNqbkoxVWxVQUFBQWlBQUFDdW1G
eVJVY0FBQUFtQUFBQzNHVnVWVk1BQUFBbUFBQURBbVJoUkVzQUFBQXVBQUFES0FCUUFHVUFjZ0Jt
QUdrQWJBQWdBRklBUndCQ0FDQUFSd0JsQUc0QTZRQnlBR2tBWXdCdkFGQUFjZ0J2QUdZQWFRQnNB
Q0FBWndEcEFHNEE2UUJ5QUdrQWNRQjFBR1VBSUFCU0FGWUFRcEFhZFNnQUlBQlNBRWNBUWdBZ2du
SmZhV1BQai9BQVVBQnlBRzhBWmdCcEFHd0Fid0FnQUZJQVJ3QkNBQ0FBWndCbEFHNEFaUUJ5QUdr
QVl3QnZBRWNBWlFCdUFHVUFjZ0JwQUhNQWF3QWdBRklBUndCQ0FDMEFjQUJ5QUc4QVpnQnBBR3pI
Zkx3WUFDQUFVZ0JIQUVJQUlOVUV1RnpURE1kOEFFRUFiQUJzQUdjQVpRQnRBR1VBYVFCdUFHVUFj
d0FnQUZJQVJ3QkNBQzBBVUFCeUFHOEFaZ0JwQUd4bWJwQWFBQ0FBVWdCSEFFSUFJR1BQai9CbGgw
NzJUZ0NDTEFBZ0FGSUFSd0JDQUNBdzF6RHRNTlV3b1RDa01Pc0FVQUJsQUhJQVpnQnBBR3dBSUFC
U0FFY0FRZ0FnQUdjQVpRQnVBT2tBY2dCcEFHTUFid0JCQUd3QVp3QmxBRzBBWlFCbEFHNEFJQUJT
QUVjQVFnQXRBSEFBY2dCdkFHWUFhUUJsQUd3QVdRQnNBR1VBYVFCdUFHVUFiZ0FnQUZJQVJ3QkNB
QzBBY0FCeUFHOEFaZ0JwQUdrQWJBQnBBRlVBYmdCcEFIY0FaUUJ5QUhNQVlRQnNBRzRBZVFBZ0FI
QUFjZ0J2QUdZQWFRQnNBQ0FBVWdCSEFFSUVIZ1F4QkVrRU9BUTVBQ0FFUHdSQUJENEVSQVE0QkRz
RVRBQWdBRklBUndCQ0JrVUdSQVpCQUNBR0tnWTVCakVHU2daQkFDQUFVZ0JIQUVJQUlBWW5Ca1FH
T1FZbkJrVUFSd0JsQUc0QVpRQnlBR2tBWXdBZ0FGSUFSd0JDQUNBQVVBQnlBRzhBWmdCcEFHd0Fa
UUJIQUdVQWJnQmxBSElBWlFCc0FDQUFVZ0JIQUVJQUxRQmlBR1VBY3dCckFISUFhUUIyQUdVQWJB
QnpBR1VBQUhSbGVIUUFBQUFBUTI5d2VYSnBaMmgwSURJd01EY2dRWEJ3YkdVZ1NXNWpMaXdnWVd4
c0lISnBaMmgwY3lCeVpYTmxjblpsWkM0QVdGbGFJQUFBQUFBQUFQTlNBQUVBQUFBQkZzOVlXVm9n
QUFBQUFBQUFkRTBBQUQzdUFBQUQwRmhaV2lBQUFBQUFBQUJhZFFBQXJITUFBQmMwV0ZsYUlBQUFB
QUFBQUNnYUFBQVZud0FBdURaamRYSjJBQUFBQUFBQUFBRUJ6UUFBYzJZek1nQUFBQUFBQVF4Q0FB
QUYzdi8vOHlZQUFBZVNBQUQ5a2YvLys2TC8vLzJqQUFBRDNBQUF3R3ovNFFDQVJYaHBaZ0FBVFUw
QUtnQUFBQWdBQlFFU0FBTUFBQUFCQUFFQUFBRWFBQVVBQUFBQkFBQUFTZ0ViQUFVQUFBQUJBQUFB
VWdFb0FBTUFBQUFCQUFJQUFJZHBBQVFBQUFBQkFBQUFXZ0FBQUFBQUFBQklBQUFBQVFBQUFFZ0FB
QUFCQUFLZ0FnQUVBQUFBQVFBQUFNaWdBd0FFQUFBQUFRQUFBTWdBQUFBQS85c0FRd0FnRmhnY0dC
UWdIQm9jSkNJZ0pqQlFOREFzTERCaVJrbzZVSFJtZW5oeVpuQnVnSkM0bklDSXJvcHVjS0Rhb3E2
K3hNN1F6bnlhNHZMZ3lQQzR5czdHLzlzQVF3RWlKQ1F3S2pCZU5EUmV4b1J3aE1iR3hzYkd4c2JH
eHNiR3hzYkd4c2JHeHNiR3hzYkd4c2JHeHNiR3hzYkd4c2JHeHNiR3hzYkd4c2JHeHNiR3hzYkcv
OEFBRVFnQXlBRElBd0VpQUFJUkFRTVJBZi9FQUI4QUFBRUZBUUVCQVFFQkFBQUFBQUFBQUFBQkFn
TUVCUVlIQ0FrS0MvL0VBTFVRQUFJQkF3TUNCQU1GQlFRRUFBQUJmUUVDQXdBRUVRVVNJVEZCQmhO
UllRY2ljUlF5Z1pHaENDTkNzY0VWVXRId0pETmljb0lKQ2hZWEdCa2FKU1luS0NrcU5EVTJOemc1
T2tORVJVWkhTRWxLVTFSVlZsZFlXVnBqWkdWbVoyaHBhbk4wZFhaM2VIbDZnNFNGaG9lSWlZcVNr
NVNWbHBlWW1acWlvNlNscHFlb3FhcXlzN1MxdHJlNHVickN3OFRGeHNmSXljclMwOVRWMXRmWTJk
cmg0dVBrNWVibjZPbnE4Zkx6OVBYMjkvajUrdi9FQUI4QkFBTUJBUUVCQVFFQkFRRUFBQUFBQUFB
QkFnTUVCUVlIQ0FrS0MvL0VBTFVSQUFJQkFnUUVBd1FIQlFRRUFBRUNkd0FCQWdNUkJBVWhNUVlT
UVZFSFlYRVRJaktCQ0JSQ2thR3h3UWtqTTFMd0ZXSnkwUW9XSkRUaEpmRVhHQmthSmljb0tTbzFO
amM0T1RwRFJFVkdSMGhKU2xOVVZWWlhXRmxhWTJSbFptZG9hV3B6ZEhWMmQzaDVlb0tEaElXR2g0
aUppcEtUbEpXV2w1aVptcUtqcEtXbXA2aXBxckt6dExXMnQ3aTV1c0xEeE1YR3g4akp5dExUMU5Y
VzE5aloydUxqNU9YbTUranA2dkx6OVBYMjkvajUrdi9hQUF3REFRQUNFUU1SQUQ4QXBVVVVWeW5H
RkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJS
UUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZG
RkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFB
VVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZG
QUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVV
VVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFC
UlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVV
QUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJS
UlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFG
RkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJR
QVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZG
RkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFV
VVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZB
QlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVV
VUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJS
UlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFmLy9aIjsKIAogICAgIHZh
ciBpbWFnZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbWFnZSIpOwotICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCh0cnVlKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGls
RG9uZSgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQodHJ1ZSk7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwog
ICAgIH0KIAogICAgIGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkgewogICAgICAgICBpbWFnZS5vbmxv
YWQgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCi0gICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgp
OworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgICB9OwogCiAgICAgICAgIGltYWdlLnNldEF0
dHJpYnV0ZU5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJywgJ2hyZWYnLCBncmVlblNx
dWFyZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvcmVwYWludC9pbWFnZS13aXRoLWNs
aXAtcGF0aC5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvcmVwYWludC9pbWFnZS13aXRoLWNsaXAtcGF0
aC5zdmcKaW5kZXggZTQxY2E3MGQ3YmM5NDgzZjMxYzM4OTdiMWMyMTZmYWY5NmQ2MDYxNy4uZWM5
MzBiN2QwOGQwMzRkNDliY2UwM2U0YzViYzIxYmFhMDFmMmY2YyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3ZnL3JlcGFpbnQvaW1hZ2Utd2l0aC1jbGlwLXBhdGguc3ZnCisrKyBiL0xheW91dFRl
c3RzL3N2Zy9yZXBhaW50L2ltYWdlLXdpdGgtY2xpcC1wYXRoLnN2ZwpAQCAtMzMsMTQgKzMzLDE0
IEBACiAgICAgICAgIGkuc2V0QXR0cmlidXRlTlMoJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxp
bmsnLCAnaHJlZicsIGltZyk7CiAgICAgfTsKIAotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpIHsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCh0cnVl
KTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1
ZSk7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KIAogICAgIGZ1
bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCi0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cisg
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIG5leHRTdGVwKCkgewpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3ZnL3JlcGFpbnQvcmVwYWludGluZy1hZnRlci1hbmltYXRpb24tZWxl
bWVudC1yZW1vdmFsLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9yZXBhaW50L3JlcGFpbnRpbmctYWZ0
ZXItYW5pbWF0aW9uLWVsZW1lbnQtcmVtb3ZhbC5zdmcKaW5kZXggNmVkZTg3NWZkYWY0N2NlMmI2
NzU2YTgxMjhjMzNmN2VhMWVjNjIxYi4uY2RhYzc1MzVmOWExNDE3NGE1N2Q0ODZjMDJlNDI2OGY0
MDk4MGExYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL3JlcGFpbnQvcmVwYWludGluZy1h
ZnRlci1hbmltYXRpb24tZWxlbWVudC1yZW1vdmFsLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcv
cmVwYWludC9yZXBhaW50aW5nLWFmdGVyLWFuaW1hdGlvbi1lbGVtZW50LXJlbW92YWwuc3ZnCkBA
IC00LDE1ICs0LDE1IEBACiA8c2NyaXB0IHhsaW5rOmhyZWY9Ii4uLy4uL2Zhc3QvcmVwYWludC9y
ZXNvdXJjZXMvcmVwYWludC5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KIDxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KIGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkgewot
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCiAgICAgLy8gUnVuIGEgcGFydCBv
ZiB0aGUgYW5pbWF0aW9uIHRpbWVsaW5lLCBzbyB3ZSdyZSBzdXJlIHRoYXQgd2UncmUgcmVtb3Zp
bmcgdGhlIGFuaW1hdGlvbiBlbGVtZW50IHdoaWxlIGl0J3MgYWN0aXZlIQogICAgIHNldFRpbWVv
dXQoZnVuY3Rpb24oKSB7CiAgICAgICAgIHZhciBhbjEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnYW4xJyk7CiAgICAgICAgIGFuMS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGFuMSk7Ci0gICAg
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgIH0sIDEwMCk7CiB9
CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy90ZXh0L2FkZC10c3Bhbi1w
b3NpdGlvbi1idWcuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy90ZXh0L2FkZC10c3Bhbi1wb3NpdGlv
bi1idWcuaHRtbAppbmRleCBkMzNjNTdmZmFhZDJiODM1ZDExMWFiYTFjMDE0YmM3OWEwYWE2Y2Fh
Li41ZTAyMzI5YzcxNTgzZWZjYzk3YzFjZTIxN2ZkMTlhY2Q2NTM1NGM1IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdmcvdGV4dC9hZGQtdHNwYW4tcG9zaXRpb24tYnVnLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvc3ZnL3RleHQvYWRkLXRzcGFuLXBvc2l0aW9uLWJ1Zy5odG1sCkBAIC0xOSwxMiAr
MTksMTIgQEAgZnVuY3Rpb24gYWRkU3BhbnMoKSB7CiAgICAgdGV4dC5hcHBlbmRDaGlsZCh0c3Bh
bjEpOwogICAgIHRleHQuYXBwZW5kQ2hpbGQodHNwYW4yKTsKIAotICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURv
bmUoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOwogfQogCi1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAogZnVuY3Rpb24gbG9hZGVkKCkg
ewogICAgIC8vIEJ1ZyBpcyBvbmx5IHRyaWdnZXIgZnJvbSBhbm90aGVyIGxvb3AuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdmcvdGV4dC9jYXJldC1pbi1zdmctdGV4dC54aHRtbCBiL0xheW91
dFRlc3RzL3N2Zy90ZXh0L2NhcmV0LWluLXN2Zy10ZXh0LnhodG1sCmluZGV4IGM3YjRjNGY0OGY0
ZmM3MGY3OGFlODZmNGNhOTk4NjAxYzg4M2QyNDIuLjYzOThiMmI5ZjExNzg4YTgzOWNiZjc5ZTU3
ZmYwYWYyYTlmMmZjZTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy90ZXh0L2NhcmV0LWlu
LXN2Zy10ZXh0LnhodG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy90ZXh0L2NhcmV0LWluLXN2Zy10
ZXh0LnhodG1sCkBAIC0xNyw4ICsxNyw4IEBACiAgICAgICBlbHNlCiAgICAgICAgIGxvZygiRmFp
bHVyZS4gV2FzOiAiICsgZm91bmQgKyAiLCBleHBlY3RlZDogIiArIGV4cGVjdGVkKTsKICAgfQot
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgd2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Cisg
ICAgd2luZG93LnRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIC8vIEZpcnN0IG9mZnNldCwg
bGVmdCBlZGdlLCBMVFIgdGV4dAogICAgIGFzc2VydCh0ZXh0SW5wdXRDb250cm9sbGVyLmZpcnN0
UmVjdEZvckNoYXJhY3RlclJhbmdlKDAsIDApLCAiMjAsNTY2LDAsMTgiKTsKICAgICAvLyBMYXN0
IG9mZnNldCwgcmlnaHQgZWRnZSwgUlRMIHRleHQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2
Zy90ZXh0L2NsZWFyLWZsb2F0cy1jcmFzaC5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC9jbGVh
ci1mbG9hdHMtY3Jhc2guc3ZnCmluZGV4IGVlZjdhYzcxNWRkZWY3NzRlNTAwYTMwYWUzZTY0NTcz
NjlhZjYxMDguLjNkODlkNzJmYmU2MTQ0ZTBhNGU5MWEwNmZiYzZmZWRiYmNhMGY2NWMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy90ZXh0L2NsZWFyLWZsb2F0cy1jcmFzaC5zdmcKKysrIGIv
TGF5b3V0VGVzdHMvc3ZnL3RleHQvY2xlYXItZmxvYXRzLWNyYXNoLnN2ZwpAQCAtOSw4ICs5LDgg
QEAKICAgICAgIDwvZz4NCiAgICAgPC9zdmc+DQogICAgIDxzY3JpcHQ+DQotICAgICAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQ0KLSAgICAgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsNCisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikNCisg
ICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsNCiAgICAgICAgIHZhciBsb2cgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9nIik7DQogICAgICAgICB3aGlsZSAobG9nLmNoaWxk
Tm9kZXMubGVuZ3RoKQ0KICAgICAgICAgICAgIGxvZy5yZW1vdmVDaGlsZChsb2cuZmlyc3RDaGls
ZCk7DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL3RleHQvZm9udC1zaXplLW51bGwtYXNz
ZXJ0aW9uLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy90ZXh0L2ZvbnQtc2l6ZS1udWxsLWFzc2VydGlv
bi5zdmcKaW5kZXggOGI3ODAxYTFjOGUxOTEyMGVkOTVmNGNkZTZjNGY2YWEzNmY1ZjNkNy4uMDVi
NGZjMDRjZDQ5MDMzMmQ4NGVhOWVkMDM1ZWUyZTZmNDgyMDM3ZCAxMDA3NTUKLS0tIGEvTGF5b3V0
VGVzdHMvc3ZnL3RleHQvZm9udC1zaXplLW51bGwtYXNzZXJ0aW9uLnN2ZworKysgYi9MYXlvdXRU
ZXN0cy9zdmcvdGV4dC9mb250LXNpemUtbnVsbC1hc3NlcnRpb24uc3ZnCkBAIC0xLDcgKzEsNyBA
QAogPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogPHNjcmlwdD4KLWlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOwogPC9zY3JpcHQ+CiA8IS0tIFBhc3NlcyBpZiB0ZXN0IGNhc2UgZG9lc24ndCBj
YXVzZSBhbiBhc3NlcnRpb24uIC0tPgogPHRleHQgZm9udC1zaXplPSIwIj5QYXM8dHNwYW4+czwv
dHNwYW4+PC90ZXh0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL3RleHQvZm9udC1zaXpl
LXRvby1sYXJnZS1jcmFzaC5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC9mb250LXNpemUtdG9v
LWxhcmdlLWNyYXNoLnN2ZwppbmRleCAyMzJjNDI0YjE2MTIyM2NmMjU5YmNhMzZjYjUwMzg5ZTJi
OTYzZGExLi42NjJlNDI0N2FlMDBkOWQyMDA2Y2Y1YjM5NjNjZDk4ZjAzZmYxYTMyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9zdmcvdGV4dC9mb250LXNpemUtdG9vLWxhcmdlLWNyYXNoLnN2Zwor
KysgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC9mb250LXNpemUtdG9vLWxhcmdlLWNyYXNoLnN2ZwpA
QCAtMSw4ICsxLDggQEAKIDw/eG1sIHZlcnNpb249IjEuMCI/Pg0KIDxzdmcgeG1sbnM9Imh0dHA6
Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgdmVyc2lvbj0i
MS4xIj4NCiA8c2NyaXB0Pg0KLQlpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQ0KLQkJ
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOw0KKwlpZiAod2luZG93LnRlc3RSdW5u
ZXIpDQorCQl0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsNCiA8L3NjcmlwdD4NCiA8dGV4dCBzdHls
ZT0iZm9udC1zaXplOjEwMDAwMDAwMDAwcHQ7Ij5UZXN0IHBhc3NlcyBpZiB0aGlzIGRvZXNuJ3Qg
Y3Jhc2guPC90ZXh0Pg0KIDwvc3ZnPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy90ZXh0
L2ZvcmVpZ25PYmplY3QtdGV4dC1jbGlwcGluZy1idWcueG1sIGIvTGF5b3V0VGVzdHMvc3ZnL3Rl
eHQvZm9yZWlnbk9iamVjdC10ZXh0LWNsaXBwaW5nLWJ1Zy54bWwKaW5kZXggYzE5ZGI3NDNiZjcz
YjRjZGUwZWZkNjYwMDU1ZmMwYjg2ZTdiOTkzNC4uY2VkYzM3NzQ5Y2NhZDMzNGJjYTlkNDViZmZm
MjJiZDQ2MDBlZjg2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL3RleHQvZm9yZWlnbk9i
amVjdC10ZXh0LWNsaXBwaW5nLWJ1Zy54bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL3RleHQvZm9y
ZWlnbk9iamVjdC10ZXh0LWNsaXBwaW5nLWJ1Zy54bWwKQEAgLTIwLDggKzIwLDggQEAKICAgICA8
ZGl2IGNsYXNzPSJjb250cm9sVGV4dCI+VEVTVDwvZGl2PgogICAgIDwvZGl2PgogICAgIDxzY3Jp
cHQ+Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgd2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyLmR1bXBTZWxlY3Rpb25SZWN0KCk7CisgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5kdW1wU2VsZWN0aW9uUmVj
dCgpOwogICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiKTsKICAgICA8L3Njcmlw
dD4KICAgICA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvdGV4dC9nbHlwaHJl
Zi1yZW5kZXJlci1jcmVhdGUtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL3N2Zy90ZXh0L2dseXBo
cmVmLXJlbmRlcmVyLWNyZWF0ZS1jcmFzaC5odG1sCmluZGV4IDdjMGFlOGE5ZWZmMjdhZjViM2Zh
Y2MzYjUxNzY2NDQyM2FiZTQ1NGUuLmJjZmZkYWJlYTg1MGQyYzdiMTAwMTVkN2MwNzBmNGIwNjU4
Yzg2OWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy90ZXh0L2dseXBocmVmLXJlbmRlcmVy
LWNyZWF0ZS1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy90ZXh0L2dseXBocmVmLXJl
bmRlcmVyLWNyZWF0ZS1jcmFzaC5odG1sCkBAIC03LDggKzcsOCBAQCBUZXN0IHBhc3NlcyBpZiBp
dCBkb2VzIG5vdCBjcmFzaC4KIDwvZ2x5cGhyZWY+CiA8L3N2Zz4KIDxzY3JpcHQ+Ci0gICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7CiA8L3NjcmlwdD4KIDwvaHRtbD4KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3ZnL3RleHQvaGlnaGNoYXJ0cy1hc3NlcnRpb24uaHRtbCBiL0xheW91dFRl
c3RzL3N2Zy90ZXh0L2hpZ2hjaGFydHMtYXNzZXJ0aW9uLmh0bWwKaW5kZXggMzM4NGU1NDdiMjY5
MjZhNTczNGJjZTk0MTg4ZWZmOTU5ZGI0YjdmMi4uODY3MGU4NGY0YTUxN2NiODgxM2JmZmE3YjUy
NmVkZjdkMjIwZDQxZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL3RleHQvaGlnaGNoYXJ0
cy1hc3NlcnRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC9oaWdoY2hhcnRzLWFz
c2VydGlvbi5odG1sCkBAIC0yLDggKzIsOCBAQAogPGhlYWQ+CiAgICAgPHRpdGxlPlRoaXMgdGVz
dCBwYXNzZXMgaWYgaXQgZG9lc24ndCBjcmFzaDwvdGl0bGU+CiAgICAgPHNjcmlwdD4KLSAgICAg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgPC9zY3JpcHQ+CiA8
L2hlYWQ+CiA8Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy90ZXh0L2lubGluZS10
ZXh0LWRlc3Ryb3ktYXR0cmlidXRlcy1jcmFzaC54aHRtbCBiL0xheW91dFRlc3RzL3N2Zy90ZXh0
L2lubGluZS10ZXh0LWRlc3Ryb3ktYXR0cmlidXRlcy1jcmFzaC54aHRtbAppbmRleCBlMDBlNjFj
NzU0ODZjZWM1ZDk1OGI1Njc0OWM1YmRhZjg2NWI2OWNlLi5iYzFkZDZlMTZiMWU3ZjBiMjI1NDY1
ODE5ZTY1YWY2NDNhZDQ2OWMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvdGV4dC9pbmxp
bmUtdGV4dC1kZXN0cm95LWF0dHJpYnV0ZXMtY3Jhc2gueGh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
c3ZnL3RleHQvaW5saW5lLXRleHQtZGVzdHJveS1hdHRyaWJ1dGVzLWNyYXNoLnhodG1sCkBAIC05
LDggKzksOCBAQAogPHVzZSBpZD0idXNlMSIgeGxpbms6aHJlZj0iI3RleHQxIi8+DQogPHRleHQg
aWQ9InRleHQyIj48L3RleHQ+DQogPHNjcmlwdD4NCi0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikNCi0JICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsNCisg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQ0KKwkgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
DQogDQogICAgIHZhciByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7DQogICAgIHJhbmdl
LnNldFN0YXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ1c2UxIiksIDApOw0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N2Zy90ZXh0L21vZGlmeS10c3Bhbi1wb3NpdGlvbi1idWcuaHRtbCBi
L0xheW91dFRlc3RzL3N2Zy90ZXh0L21vZGlmeS10c3Bhbi1wb3NpdGlvbi1idWcuaHRtbAppbmRl
eCA0ZWE5ZDA3NWE2OTVmZjJmZDRkOGU1YWYzMWY5MGZhZWJiYTUxZmI1Li41NDg4N2JkNWIwYWY1
NTJjMjU5YjI0MDgxOGY3YzdiZGIzMjc4NWY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcv
dGV4dC9tb2RpZnktdHNwYW4tcG9zaXRpb24tYnVnLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3Zn
L3RleHQvbW9kaWZ5LXRzcGFuLXBvc2l0aW9uLWJ1Zy5odG1sCkBAIC0yNSwxMiArMjUsMTIgQEAg
ZnVuY3Rpb24gYWRkU3BhbnMoKSB7CiBmdW5jdGlvbiBtb3ZlU3BhbigpIHsKICAgICB0c3BhbjIu
c2V0QXR0cmlidXRlKCJkeSIsICIzMCIpOwogCi0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
CiB9CiAKLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCiBmdW5jdGlvbiBsb2FkZWQoKSB7CiAgICAgLy8g
QnVnIGlzIG9ubHkgdHJpZ2dlciBmcm9tIGFub3RoZXIgbG9vcC4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N2Zy90ZXh0L3Jlc291cmNlcy9TZWxlY3Rpb25UZXN0Q2FzZS5qcyBiL0xheW91dFRl
c3RzL3N2Zy90ZXh0L3Jlc291cmNlcy9TZWxlY3Rpb25UZXN0Q2FzZS5qcwppbmRleCBmOTQ4MzJi
MTRmYzgyNmNhY2Q5MTcyNjZmNDdjMGJlZmQxOWI0OTMxLi4xZWQ0OWRlMjM5ZjM1MGE5YWI3OWI4
ZjE3MTVkMzgwMjNkMWFhNDkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvdGV4dC9yZXNv
dXJjZXMvU2VsZWN0aW9uVGVzdENhc2UuanMKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL3RleHQvcmVz
b3VyY2VzL1NlbGVjdGlvblRlc3RDYXNlLmpzCkBAIC0xLDQgKzEsNCBAQAotaWYgKCF3aW5kb3cu
ZXZlbnRTZW5kZXIgfHwgIXdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworaWYgKCF3aW5k
b3cuZXZlbnRTZW5kZXIgfHwgIXdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgYWxlcnQoJ1RoaXMg
dGVzdCBuZWVkcyB0byBiZSBydW4gaW4gRFJULCB0byBnZXQgcmVzdWx0cyEnKTsKIH0KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL3RleHQvc2VsZWN0LXRleHQtc3ZnZm9udC5odG1sIGIv
TGF5b3V0VGVzdHMvc3ZnL3RleHQvc2VsZWN0LXRleHQtc3ZnZm9udC5odG1sCmluZGV4IDlmMjMz
OTFmMmQ5NTI4OTJjYWQ4MTliZDg4ZGRmODA3ZDA1Y2E3ZTguLmIzZGFlMzdmZTVjMmU0MDFkZDA4
ZTgzMmE4NDM1OGU4ZjJkYjVkZTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy90ZXh0L3Nl
bGVjdC10ZXh0LXN2Z2ZvbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC9zZWxlY3Qt
dGV4dC1zdmdmb250Lmh0bWwKQEAgLTM2LDcgKzM2LDcgQEAgVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGluZGl2aWR1YWwgY2hhcmFjdGVycyBjYW4gYmUgc2VsZWN0ZWQgY29ycmVjdGx5IHdoZW4gdXNp
bmcKIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgdmFyIHRleHQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgndGV4dCcpOwogCi0gICAgaWYgKCF3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgcmV0dXJuOwogCiAgICAgdmFy
IHRleHRXaWR0aCA9IHRleHQub2Zmc2V0V2lkdGg7CkBAIC01NSw3ICs1NSw3IEBAIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CiBmdW5jdGlvbiB2ZXJpZnkoKSB7CiAgICAgdmFyIHRleHQgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgndGV4dCcpOwogCi0gICAgaWYgKCF3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgcmV0dXJuOwog
CiAgICAgdmFyIHJhbmdlID0gd2luZG93LmdldFNlbGVjdGlvbigpLmdldFJhbmdlQXQoMCk7CkBA
IC03Nyw3ICs3Nyw3IEBAIGZ1bmN0aW9uIGxvZyhwYXNzZWQsIG1lc3NhZ2UpIHsKICAgICB2YXIg
cGFzc2ZhaWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFzc2ZhaWwnKTsKICAgICBwYXNz
ZmFpbC5pbm5lckhUTUwgPSBtZXNzYWdlOwogICAgIHBhc3NmYWlsLmNsYXNzTmFtZSA9IChwYXNz
ZWQgPyAicGFzcyIgOiAiZmFpbCIpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIH0KIAogcnVuVGVzdCgpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL3RleHQvc2VsZWN0aW9uLWRvdWJsZWNsaWNrLnN2ZyBi
L0xheW91dFRlc3RzL3N2Zy90ZXh0L3NlbGVjdGlvbi1kb3VibGVjbGljay5zdmcKaW5kZXggY2M4
M2EyMGJhZjJhMzExNmYxZTE1YTFkMjU5NTA2ZjkyNGM0MmQ4YS4uZjRmMDQ2ZGM2Y2ZlMzFkM2Ri
MjcxZTg3M2MxYzYyZjAyNmFjMWFiOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL3RleHQv
c2VsZWN0aW9uLWRvdWJsZWNsaWNrLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC9zZWxl
Y3Rpb24tZG91YmxlY2xpY2suc3ZnCkBAIC0xOSw3ICsxOSw3IEBAIGlmIChldmVudFNlbmRlcikg
ewogICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKIH0KIAotaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKLSAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcFNlbGVjdGlv
blJlY3QoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB3aW5kb3cudGVzdFJ1bm5lci5k
dW1wU2VsZWN0aW9uUmVjdCgpOwogPC9zY3JpcHQ+CiA8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N2Zy90ZXh0L3NlbGVjdGlvbi10cmlwbGVjbGljay5zdmcgYi9MYXlvdXRUZXN0cy9z
dmcvdGV4dC9zZWxlY3Rpb24tdHJpcGxlY2xpY2suc3ZnCmluZGV4IDU2MTZhYmI5NGU3ZjZhMDA1
ODMxMjNhZGQ5YmM2OGI1Y2UzOTUxYTguLjQwMTA5MmVhN2JkZWIyZTJkNTMxYzRkNWM4ZmNlMTc0
ZWFjMTlhODQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy90ZXh0L3NlbGVjdGlvbi10cmlw
bGVjbGljay5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL3RleHQvc2VsZWN0aW9uLXRyaXBsZWNs
aWNrLnN2ZwpAQCAtMjEsNyArMjEsNyBAQCBpZiAoZXZlbnRTZW5kZXIpIHsKICAgICBldmVudFNl
bmRlci5tb3VzZVVwKCk7CiB9CiAKLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0g
ICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmR1bXBTZWxlY3Rpb25SZWN0KCk7CitpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgd2luZG93LnRlc3RSdW5uZXIuZHVtcFNlbGVjdGlvblJl
Y3QoKTsKIDwvc2NyaXB0PgogPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvdGV4
dC9zdmctcnRsLXRleHQtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL3N2Zy90ZXh0L3N2Zy1ydGwt
dGV4dC1jcmFzaC5odG1sCmluZGV4IDUyNjE1YTYyNTBjNGFjMGNmMmVhYzkzOTQ4YTM3NWUxY2U5
ODczN2QuLjQwYmYxY2I0OTgyYmZhY2JlNjQxMjk4ZTdjMGY5M2RlYmMwM2Q0NGIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N2Zy90ZXh0L3N2Zy1ydGwtdGV4dC1jcmFzaC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL3N2Zy90ZXh0L3N2Zy1ydGwtdGV4dC1jcmFzaC5odG1sCkBAIC0xLDcgKzEsNyBA
QAogPGh0bWw+DQogICA8c2NyaXB0Pg0KLSAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikNCi0gICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7DQorICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpDQorICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7DQogICA8L3Nj
cmlwdD4NCiAgIDxzdHlsZT4NCiAgICAgc3ZnIHsNCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dmcvdGV4dC9zdmctem9vbS1sYXJnZS12YWx1ZS54aHRtbCBiL0xheW91dFRlc3RzL3N2Zy90ZXh0
L3N2Zy16b29tLWxhcmdlLXZhbHVlLnhodG1sCmluZGV4IGI0MmY1NzY2OTg1MDhkMzQyNTYzNjBl
NTg5YWNlYzU2MWU4YmQzNWEuLjhlMjFmNDFlYzVhOGJhMzIxY2U3ZDE4ZjQ1NDA4NDlhYzJkNjFm
YjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy90ZXh0L3N2Zy16b29tLWxhcmdlLXZhbHVl
LnhodG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy90ZXh0L3N2Zy16b29tLWxhcmdlLXZhbHVlLnho
dG1sCkBAIC05LDggKzksOCBAQAogPHRleHQgeD0iNTAiIHk9IjUwIj5QQVNTPC90ZXh0Pg0KIDwv
c3ZnPg0KIDxzY3JpcHQ+DQotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikNCi0gICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOw0KK2lmICh3aW5kb3cudGVzdFJ1bm5l
cikNCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7DQogPC9zY3JpcHQ+DQogPC9ib2R5Pg0K
IDwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0LWFsaWduLTAx
LWIuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1hbGlnbi0wMS1iLnN2ZwppbmRleCA4
NjNmYzkyNDQxZjJlY2UxNDE1YjBjYjcyZjk4NWVhMjUzZjQzNzZmLi40ODc4ZGI4NzFlM2I1ZTUx
Y2YwN2UzODdmZDk5Y2E2ZDJlMWEzMzE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvdGV4
dC90ZXh0LWFsaWduLTAxLWIuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy90ZXh0L3RleHQtYWxp
Z24tMDEtYi5zdmcKQEAgLTczLDggKzczLDggQEAKICAgIDx0ZXh0IGlkPSJyZXZpc2lvbiIgeD0i
MTAiIHk9IjM0MCIgZm9udC1zaXplPSI0MCIgc3Ryb2tlPSJub25lIiBmaWxsPSJibGFjayI+JFJl
dmlzaW9uOiAxLjUgJDwvdGV4dD4KICAgIDxyZWN0IGlkPSJ0ZXN0LWZyYW1lIiB4PSIxIiB5PSIx
IiB3aWR0aD0iNDc4IiBoZWlnaHQ9IjM1OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIi8+
CiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICB3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcFNlbGVjdGlvblJlY3QoKTsKK2lmICh3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICB3aW5kb3cudGVzdFJ1bm5lci5kdW1wU2VsZWN0aW9uUmVjdCgpOwogZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIpOwogPC9zY3JpcHQ+CiA8L3N2Zz4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N2Zy90ZXh0L3RleHQtYWxpZ24tMDItYi5zdmcgYi9MYXlvdXRU
ZXN0cy9zdmcvdGV4dC90ZXh0LWFsaWduLTAyLWIuc3ZnCmluZGV4IGQ5ZmQ1MzFkODE1YzYwMWMx
MGE0MmY5Y2I5MTY2N2VhZWUwN2JkMWIuLjg3OWMyNDRkZWJmYTkwOGVmMzM2NTAwODZmMGZhNDU4
OTk0ZDgyZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy90ZXh0L3RleHQtYWxpZ24tMDIt
Yi5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1hbGlnbi0wMi1iLnN2ZwpAQCAt
NjIsOCArNjIsOCBAQAogICAgPHRleHQgaWQ9InJldmlzaW9uIiB4PSIxMCIgeT0iMzQwIiBmb250
LXNpemU9IjQwIiBzdHJva2U9Im5vbmUiIGZpbGw9ImJsYWNrIj4kUmV2aXNpb246IDEuNSAkPC90
ZXh0PgogICAgPHJlY3QgaWQ9InRlc3QtZnJhbWUiIHg9IjEiIHk9IjEiIHdpZHRoPSI0NzgiIGhl
aWdodD0iMzU4IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiLz4KIDxzY3JpcHQ+Ci1pZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wU2VsZWN0aW9uUmVjdCgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHdp
bmRvdy50ZXN0UnVubmVyLmR1bXBTZWxlY3Rpb25SZWN0KCk7CiBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIik7CiA8L3NjcmlwdD4KIDwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3ZnL3RleHQvdGV4dC1hbGlnbi0wMy1iLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy90ZXh0L3Rl
eHQtYWxpZ24tMDMtYi5zdmcKaW5kZXggZDQxMWZiMjc3YjRkMTNiZTFmMzhhZWQ0ZjdiNThlNjkz
NGVmNzRiMi4uYWVlYzYyZTE3NjQ2NjYwZGJjNTA0ZWVhZjBhOTQ4NzM0YTU0YzA4NiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1hbGlnbi0wMy1iLnN2ZworKysgYi9MYXlv
dXRUZXN0cy9zdmcvdGV4dC90ZXh0LWFsaWduLTAzLWIuc3ZnCkBAIC02Nyw4ICs2Nyw4IEBACiAg
ICA8dGV4dCBpZD0icmV2aXNpb24iIHg9IjEwIiB5PSIzNDAiIGZvbnQtc2l6ZT0iNDAiIHN0cm9r
ZT0ibm9uZSIgZmlsbD0iYmxhY2siPiRSZXZpc2lvbjogMS41ICQ8L3RleHQ+CiAgICA8cmVjdCBp
ZD0idGVzdC1mcmFtZSIgeD0iMSIgeT0iMSIgd2lkdGg9IjQ3OCIgaGVpZ2h0PSIzNTgiIGZpbGw9
Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIvPgogPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCi0gICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmR1bXBTZWxlY3Rp
b25SZWN0KCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgd2luZG93LnRlc3RSdW5uZXIu
ZHVtcFNlbGVjdGlvblJlY3QoKTsKIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiKTsK
IDwvc2NyaXB0PgogPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0
LWFsaWduLTA0LWIuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1hbGlnbi0wNC1iLnN2
ZwppbmRleCBiMmIzNDY0ODJlZjhkOGQ4Y2U5YjI1MmUyZWZlY2QwNDQ0YTgwZjE5Li44MjkwMzM2
MWE3ZDUwYzBmMDcyYjYzYWExYTgwZThlNzM2MTAyNjA4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdmcvdGV4dC90ZXh0LWFsaWduLTA0LWIuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy90ZXh0
L3RleHQtYWxpZ24tMDQtYi5zdmcKQEAgLTc5LDggKzc5LDggQEAKICAgIDx0ZXh0IGlkPSJyZXZp
c2lvbiIgeD0iMTAiIHk9IjM0MCIgZm9udC1zaXplPSI0MCIgc3Ryb2tlPSJub25lIiBmaWxsPSJi
bGFjayI+JFJldmlzaW9uOiAxLjUgJDwvdGV4dD4KICAgIDxyZWN0IGlkPSJ0ZXN0LWZyYW1lIiB4
PSIxIiB5PSIxIiB3aWR0aD0iNDc4IiBoZWlnaHQ9IjM1OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIj
MDAwMDAwIi8+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAg
ICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcFNlbGVjdGlvblJlY3QoKTsKK2lmICh3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICB3aW5kb3cudGVzdFJ1bm5lci5kdW1wU2VsZWN0aW9uUmVj
dCgpOwogZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIpOwogPC9zY3JpcHQ+CiA8L3N2
Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy90ZXh0L3RleHQtYWxpZ24tMDUtYi5zdmcg
Yi9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0LWFsaWduLTA1LWIuc3ZnCmluZGV4IDlkNmE4MTY0
YTNlOGJiMDY0NmYyYzhlMWMxYWQ0ZjQ1YjU1YmRmMTguLjNjYjNlNzA2YTM1YmU0OTQ2ZjZjMWY3
YWYyODE2MjJhYTkzMmZhMWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy90ZXh0L3RleHQt
YWxpZ24tMDUtYi5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1hbGlnbi0wNS1i
LnN2ZwpAQCAtNjksOCArNjksOCBAQAogICAgPHRleHQgaWQ9InJldmlzaW9uIiB4PSIxMCIgeT0i
MzQwIiBmb250LXNpemU9IjQwIiBzdHJva2U9Im5vbmUiIGZpbGw9ImJsYWNrIj4kUmV2aXNpb246
IDEuNSAkPC90ZXh0PgogICAgPHJlY3QgaWQ9InRlc3QtZnJhbWUiIHg9IjEiIHk9IjEiIHdpZHRo
PSI0NzgiIGhlaWdodD0iMzU4IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiLz4KIDxzY3Jp
cHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wU2VsZWN0aW9uUmVjdCgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQorICAgIHdpbmRvdy50ZXN0UnVubmVyLmR1bXBTZWxlY3Rpb25SZWN0KCk7CiBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIik7CiA8L3NjcmlwdD4KIDwvc3ZnPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1hbGlnbi0wNi1iLnN2ZyBiL0xheW91dFRlc3RzL3N2
Zy90ZXh0L3RleHQtYWxpZ24tMDYtYi5zdmcKaW5kZXggOWQzNGZkYjcwOTQxMWQzYzc2YjJhOWM2
ZTc5ODk5YzBjMjFkMGYyNy4uZGNkOGM1M2IwNjU1MzUxMmU0MjIzYzY3ZWY0MDU4ZDNlOGRjMWRh
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1hbGlnbi0wNi1iLnN2Zwor
KysgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0LWFsaWduLTA2LWIuc3ZnCkBAIC02MCw4ICs2
MCw4IEBACiAgICA8dGV4dCBpZD0icmV2aXNpb24iIHg9IjEwIiB5PSIzNDAiIGZvbnQtc2l6ZT0i
NDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iYmxhY2siPiRSZXZpc2lvbjogMS41ICQ8L3RleHQ+CiAg
ICA8cmVjdCBpZD0idGVzdC1mcmFtZSIgeD0iMSIgeT0iMSIgd2lkdGg9IjQ3OCIgaGVpZ2h0PSIz
NTgiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIvPgogPHNjcmlwdD4KLWlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBTZWxlY3Rpb25SZWN0KCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgd2luZG93LnRl
c3RSdW5uZXIuZHVtcFNlbGVjdGlvblJlY3QoKTsKIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiKTsKIDwvc2NyaXB0PgogPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcv
dGV4dC90ZXh0LWFsdGdseXBoLTAxLWIuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1h
bHRnbHlwaC0wMS1iLnN2ZwppbmRleCA2MWQ5NGVhNjg3NWE1ODFhNDVlNTAyMTMwODkyZTkyNDgy
OTcyNjg5Li5mNzlhZGNhOWY0ZWQzZTZmMTQ5NWI5NWI1NmEzMWE5NDc5OTY3NWE4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0LWFsdGdseXBoLTAxLWIuc3ZnCisrKyBiL0xh
eW91dFRlc3RzL3N2Zy90ZXh0L3RleHQtYWx0Z2x5cGgtMDEtYi5zdmcKQEAgLTEyNyw4ICsxMjcs
OCBAQAogICAgPHRleHQgaWQ9InJldmlzaW9uIiB4PSIxMCIgeT0iMzQwIiBmb250LXNpemU9IjQw
IiBzdHJva2U9Im5vbmUiIGZpbGw9ImJsYWNrIj4kUmV2aXNpb246IDEuNSAkPC90ZXh0PgogICAg
PHJlY3QgaWQ9InRlc3QtZnJhbWUiIHg9IjEiIHk9IjEiIHdpZHRoPSI0NzgiIGhlaWdodD0iMzU4
IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiLz4KIDxzY3JpcHQ+Ci1pZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQotICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
U2VsZWN0aW9uUmVjdCgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHdpbmRvdy50ZXN0
UnVubmVyLmR1bXBTZWxlY3Rpb25SZWN0KCk7CiBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIik7CiA8L3NjcmlwdD4KIDwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL3Rl
eHQvdGV4dC1hc3NlcnQuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1hc3NlcnQuc3Zn
CmluZGV4IGNlZjI2ZDU3MjY0MGUyNmNmNzFmNjRhODY4NGVhZWNlZDg1ZWY2ZTIuLmE4ZDdmYTM3
YjkyNWJkNTk0YWE1MTVkM2VlYjIwZWRkY2MxNDE3YTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N2Zy90ZXh0L3RleHQtYXNzZXJ0LnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0
LWFzc2VydC5zdmcKQEAgLTE4LDggKzE4LDggQEAKIDx0ZXh0IHk9IjUwIj5JZiB5b3Ugc2VlICJT
byIgdGhlIHRlc3QgcGFzc2VkLjwvdGV4dD4KIAogPHNjcmlwdD4KLSAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKIDwvc2NyaXB0PgogCiA8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N2Zy90ZXh0L3RleHQtYmxvY2stY2hpbGQtY3Jhc2gueGh0bWwgYi9MYXlvdXRUZXN0cy9zdmcv
dGV4dC90ZXh0LWJsb2NrLWNoaWxkLWNyYXNoLnhodG1sCmluZGV4IDFkYmUxNmI0NjA2YTNlYTU1
ODFhYmM2NDUxY2QwMDNmNzJiMTRjMTUuLjYzY2JlMDYyYWUwNWVmOTY2NDVjNDI3OWFiYzAzN2U3
YTA5ZmQ3YTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy90ZXh0L3RleHQtYmxvY2stY2hp
bGQtY3Jhc2gueGh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1ibG9jay1jaGls
ZC1jcmFzaC54aHRtbApAQCAtMSw4ICsxLDggQEAKIDxodG1sIHhtbG5zPSJodHRwOi8vd3d3Lncz
Lm9yZy8xOTk5L3hodG1sIj4NCiAgICAgVGVzdCBwYXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2gu
DQogICAgIDxzY3JpcHQ+DQotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQ0KLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsNCisgICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikNCisgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsNCiAgICAgPC9zY3JpcHQ+DQogICAgIDxzdHlsZT4NCiAgICAgICAgIHN2ZyB0ZXh0
OmJlZm9yZSB7IGRpc3BsYXk6IGxpc3QtaXRlbTsgY29udGVudDogJ1BBU1MnOyB9DQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1kZWNvLTAxLWIuc3ZnIGIvTGF5b3V0VGVz
dHMvc3ZnL3RleHQvdGV4dC1kZWNvLTAxLWIuc3ZnCmluZGV4IGYxNmJjZGNlOThlNzFiOGMzMDE5
Njk0YWRmYWY2MGE3NTIzNThjOWUuLjJmZDgyMTk3ZDgyMTI4NGQ4NDRmZmY0ZjQ5YWJhNDEyYTU5
ZmQxNjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy90ZXh0L3RleHQtZGVjby0wMS1iLnN2
ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0LWRlY28tMDEtYi5zdmcKQEAgLTYyLDgg
KzYyLDggQEAgRU5EIE9GIFBBVENIIENPREUsIHdoaWNoIGlzIGNvbW1lbnRlZCBvdXQgLS0+CiAJ
PHRleHQgaWQ9InJldmlzaW9uIiB4PSIxMCIgeT0iMzQwIiBmb250LXNpemU9IjQwIiBzdHJva2U9
Im5vbmUiIGZpbGw9ImJsYWNrIj4kUmV2aXNpb246IDEuOSAkPC90ZXh0PgogCTxyZWN0IGlkPSJ0
ZXN0LWZyYW1lIiB4PSIxIiB5PSIxIiB3aWR0aD0iNDc4IiBoZWlnaHQ9IjM1OCIgZmlsbD0ibm9u
ZSIgc3Ryb2tlPSIjMDAwMDAwIi8+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKLSAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcFNlbGVjdGlvblJl
Y3QoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB3aW5kb3cudGVzdFJ1bm5lci5kdW1w
U2VsZWN0aW9uUmVjdCgpOwogZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIpOwogPC9z
Y3JpcHQ+CiA8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy90ZXh0L3RleHQtZm9u
dC1hbm9ueW1vdXMtcGFyZW50LnhodG1sIGIvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1mb250
LWFub255bW91cy1wYXJlbnQueGh0bWwKaW5kZXggY2ExMjMzMTg5NGU1YzgyZGIwZmZiMjgzZDEx
NzE1OWExZGJiZTExNi4uZGMzMjg1ZmVlYTEzNWZlMjAzMzkxOTg5ZWM5NGYyOTA3ZWYxZjhkYiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1mb250LWFub255bW91cy1wYXJl
bnQueGh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1mb250LWFub255bW91cy1w
YXJlbnQueGh0bWwKQEAgLTEsNyArMSw3IEBACiA8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5v
cmcvMTk5OS94aHRtbCI+CiAgICAgPHNjcmlwdD4KLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgPC9zY3JpcHQ+CiAgICAgPGJvZHk+CiAgICAgICAgIFRo
aXMgdGVzdCBpcyB0byBlbnN1cmUgdGhhdCB3ZSBkbyBub3QgY3Jhc2ggd2hlbiBhcHBseWluZyBh
biBTVkcgZm9udCB0byBhIHRleHQgbm9kZSB3aXRoIGFuIGFub255bW91cyBwYXJlbnQuIEl0IHBh
c3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFzaC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy90
ZXh0L3RleHQtZm9udC1pbnZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0LWZv
bnQtaW52YWxpZC5odG1sCmluZGV4IDdjOWExNmY4MDdmMWRmZDM1MjRmMDVjNGNhMWJkN2ZjODkz
Mjg1NzguLjU5ZjAyOTVlMmIwNjQ2YzBkNWUxY2RjYmVlMjM3ZDIxZmQwY2U4MmUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N2Zy90ZXh0L3RleHQtZm9udC1pbnZhbGlkLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1mb250LWludmFsaWQuaHRtbApAQCAtNCw4ICs0LDggQEAK
ICAgICA8ZGl2IGlkPSJsb2ciPjxzcGFuIHN0eWxlPSdjb2xvcjogcmVkOyc+RkFJTDo8L3NwYW4+
IERpZCBub3QgY29tcGxldGUgdGVzdDwvZGl2PgogICAgIDxpbWcgc3JjPSJyZXNvdXJjZXMvdGV4
dC1mb250LWludmFsaWQuc3ZnIiAvPgogICAgIDxzY3JpcHQ+Ci0gICAgICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgibG9nIikuaW5uZXJIVE1MID0gIjxzcGFuIHN0eWxlPSdjb2xvcjogZ3JlZW47Jz5QQVNTOjwv
c3Bhbj4gRGlkIG5vdCBjcmFzaCB3aGVuIHJlbmRlcmluZyB0aGUgU1ZHIGltYWdlLiI7CiAgICAg
PC9zY3JpcHQ+CiAgIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy90ZXh0L3Rl
eHQtZm9udC11cmktaW52YWxpZC5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0LWZvbnQt
dXJpLWludmFsaWQuc3ZnCmluZGV4IDQ0Y2UwMjg3ZGExYmYxN2M1OTUxMzc2Mzc5ZjI0YTE1OTMz
OTBjMTguLjhmMjcwYWQ5MWVkYzQxNWM5ZTZiMWJhOTNiOTY2NWYwYTQyZmRjOWMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N2Zy90ZXh0L3RleHQtZm9udC11cmktaW52YWxpZC5zdmcKKysrIGIv
TGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1mb250LXVyaS1pbnZhbGlkLnN2ZwpAQCAtMTQsOCAr
MTQsOCBAQAogICAgICAgPC9nPgogICAgIDwvc3ZnPgogICAgIDxzY3JpcHQ+Ci0gICAgICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgICAgICB2YXIgbG9nID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvZyIpOwogICAgICAgICB3aGlsZSAobG9nLmNoaWxkTm9k
ZXMubGVuZ3RoKQogICAgICAgICAgICAgbG9nLnJlbW92ZUNoaWxkKGxvZy5maXJzdENoaWxkKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy90ZXh0L3RleHQtZm9udHMtMDEtdC5zdmcgYi9M
YXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0LWZvbnRzLTAxLXQuc3ZnCmluZGV4IGRhMjZkOTI0ZmM2
YmVjY2IzZGJlY2Q5NWFhNjU5MDcwZTM0MzlkNTIuLmRjNjM2NjA1NTVhNzMyMGI2OTExZDIyYTA1
MTI3YjliZDcyMGFkN2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy90ZXh0L3RleHQtZm9u
dHMtMDEtdC5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1mb250cy0wMS10LnN2
ZwpAQCAtOTUsOCArOTUsOCBAQCBUZXN0IHRoYXQgdmlld2VyIGhhcyB0aGUgYmFzaWMgY2FwYWJp
bGl0eSB0byBoYW5kbGUgZGlmZmVyZW50IGZvbnQgZmFtaWxpZXMgPC9kZQogCTx0ZXh0IGlkPSJy
ZXZpc2lvbiIgeD0iMTAiIHk9IjM0MCIgZm9udC1zaXplPSI0MCIgc3Ryb2tlPSJub25lIiBmaWxs
PSJibGFjayI+JFJldmlzaW9uOiAxLjUgJDwvdGV4dD4KIAk8cmVjdCBpZD0idGVzdC1mcmFtZSIg
eD0iMSIgeT0iMSIgd2lkdGg9IjQ3OCIgaGVpZ2h0PSIzNTgiIGZpbGw9Im5vbmUiIHN0cm9rZT0i
IzAwMDAwMCIvPgogPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0g
ICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmR1bXBTZWxlY3Rpb25SZWN0KCk7CitpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgd2luZG93LnRlc3RSdW5uZXIuZHVtcFNlbGVjdGlvblJl
Y3QoKTsKIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiKTsKIDwvc2NyaXB0PgogPC9z
dmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0LWZvbnRzLTAyLXQuc3Zn
IGIvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1mb250cy0wMi10LnN2ZwppbmRleCA1YjU1MWE2
N2QwMWQzMDY1OTljOTRiOGFlMTU3MzI3NzU0ODU5MTFhLi42NzBlODNhZmJkZGEzN2U5Mjg3ZGJh
YzViN2QzYWI3MjgxM2Q1NTk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0
LWZvbnRzLTAyLXQuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy90ZXh0L3RleHQtZm9udHMtMDIt
dC5zdmcKQEAgLTcxLDggKzcxLDggQEAgVGVzdCB0aGF0IHZpZXdlciBoYXMgdGhlIGJhc2ljIGNh
cGFiaWxpdHkgdG8gaGFuZGxlIGRpZmZlcmVudCBmb250IHdlaWdodHMgPC9kZXMKIAk8dGV4dCBp
ZD0icmV2aXNpb24iIHg9IjEwIiB5PSIzNDAiIGZvbnQtc2l6ZT0iNDAiIHN0cm9rZT0ibm9uZSIg
ZmlsbD0iYmxhY2siPiRSZXZpc2lvbjogMS43ICQ8L3RleHQ+CiAJPHJlY3QgaWQ9InRlc3QtZnJh
bWUiIHg9IjEiIHk9IjEiIHdpZHRoPSI0NzgiIGhlaWdodD0iMzU4IiBmaWxsPSJub25lIiBzdHJv
a2U9IiMwMDAwMDAiLz4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQotICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wU2VsZWN0aW9uUmVjdCgpOwor
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHdpbmRvdy50ZXN0UnVubmVyLmR1bXBTZWxlY3Rp
b25SZWN0KCk7CiBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIik7CiA8L3NjcmlwdD4K
IDwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1pbnRyby0wNS10
LnN2ZyBiL0xheW91dFRlc3RzL3N2Zy90ZXh0L3RleHQtaW50cm8tMDUtdC5zdmcKaW5kZXggMWI1
NzJhN2Y4NDZkNTIwMTk4OWUyZTU3NzMxMDg5OWY4NmE5ZTRmMy4uZTA4MTE4Y2E5ZDc0MjJjYzY4
NmYyYmE5NTQyNDhmZDUyZDJkOWFiMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL3RleHQv
dGV4dC1pbnRyby0wNS10LnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0LWludHJv
LTA1LXQuc3ZnCkBAIC0zNyw4ICszNyw4IEBAIGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9kb3du
bG9hZHMvZGV0YWlscy5hc3B4P0ZhbWlseUlEPUE4M0MwRTAzLTg5MTMtNDdBMy1BQ0I3CiAgIDx0
ZXh0IGlkPSJyZXZpc2lvbiIgeD0iMTAiIHk9IjM0MCIgZm9udC1zaXplPSI0MCIgc3Ryb2tlPSJu
b25lIiBmaWxsPSJibGFjayI+JFJldmlzaW9uOiAxLjQgJDwvdGV4dD4KICAgPHJlY3QgaWQ9InRl
c3QtZnJhbWUiIHg9IjEiIHk9IjEiIHdpZHRoPSI0NzgiIGhlaWdodD0iMzU4IiBmaWxsPSJub25l
IiBzdHJva2U9IiMwMDAiLz4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQotICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wU2VsZWN0aW9uUmVjdCgp
OworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHdpbmRvdy50ZXN0UnVubmVyLmR1bXBTZWxl
Y3Rpb25SZWN0KCk7CiBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIik7CiA8L3Njcmlw
dD4KIDwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1wYXRoLTAx
LWIuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1wYXRoLTAxLWIuc3ZnCmluZGV4IDY1
N2UyYWE0ZTM3MmM1NmZiMjg4ZDExNjAxZWU0MzMxMGY0YTM0YmMuLjk3ZWMwMTZiNjQyNGExMGU2
MDhmN2E2NzJmMzhkNDc5NThjMWYyZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy90ZXh0
L3RleHQtcGF0aC0wMS1iLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0LXBhdGgt
MDEtYi5zdmcKQEAgLTgwLDggKzgwLDggQEAKIAk8dGV4dCBpZD0icmV2aXNpb24iIHg9IjEwIiB5
PSIzNDAiIGZvbnQtc2l6ZT0iNDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iYmxhY2siPiRSZXZpc2lv
bjogMS45ICQ8L3RleHQ+CiAJPHJlY3QgaWQ9InRlc3QtZnJhbWUiIHg9IjEiIHk9IjEiIHdpZHRo
PSI0NzgiIGhlaWdodD0iMzU4IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiLz4KIDxzY3Jp
cHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wU2VsZWN0aW9uUmVjdCgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQorICAgIHdpbmRvdy50ZXN0UnVubmVyLmR1bXBTZWxlY3Rpb25SZWN0KCk7CiBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIik7CiA8L3NjcmlwdD4KIDwvc3ZnPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1wb3NpdGlvbmluZy1yZW1vdmUtY2hpbGQtY3Jhc2gu
c3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1wb3NpdGlvbmluZy1yZW1vdmUtY2hpbGQt
Y3Jhc2guc3ZnCmluZGV4IDAyNzhlYjBmYWU0NzI0N2JlNmFiZDkwMjFhYmEyOGFkMWEwNDE0MjMu
LmU3MGZiZGIyMTc4NzYxMDdjZGZjM2EzYWJlZGE3NTk2NDNmZWExOGYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3N2Zy90ZXh0L3RleHQtcG9zaXRpb25pbmctcmVtb3ZlLWNoaWxkLWNyYXNoLnN2
ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0LXBvc2l0aW9uaW5nLXJlbW92ZS1jaGls
ZC1jcmFzaC5zdmcKQEAgLTEsOCArMSw4IEBACiA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9y
Zy8yMDAwL3N2ZyI+CiAgICAgPHRleHQgeT0iNTAiPlRlc3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90
IGNyYXNoIHdoZW4gcnVuIHdpdGggbGliZ21hbGxvYy48L3RleHQ+CiAgICAgPHNjcmlwdD4KLSAg
ICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgPC9zY3JpcHQ+
CiAgICAgPHRleHQ+PGEgaWQ9ImEiPjx0c3Bhbj5GQUlMPC90c3Bhbj48L2E+PC90ZXh0PgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0LXByb3BlcnR5LXdpdGgtZGlzcGxh
eS1ub25lLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0LXByb3BlcnR5LXdpdGgtZGlz
cGxheS1ub25lLmh0bWwKaW5kZXggNDFhY2JmMGM2ODNiYzcyZTZlMTFlZjUyYTdiOWQ0N2Y3YTgz
OGZmOC4uNWIxNjlhYTRmZjE1ZWZjYzQ4NGMzMjk0NmY3MmI4YjVjOWFmYjE3MyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1wcm9wZXJ0eS13aXRoLWRpc3BsYXktbm9uZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy90ZXh0L3RleHQtcHJvcGVydHktd2l0aC1kaXNwbGF5
LW5vbmUuaHRtbApAQCAtMyw4ICszLDggQEAKICAgICBUaGlzIHRlc3QgaXMgdG8gZW5zdXJlIHRo
YXQgd2UgZG8gbm90IGNyYXNoIHdoZW4gYXR0ZW1wdGluZyB0byBkZXRlcm1pbmUgdGhlIGRpbWVu
c2lvbiBwcm9wZXJ0aWVzIG9mIGFuIFNWRyB0ZXh0IGVsZW1lbnQgd2l0aCBubyByZW5kZXJlci4K
ICAgICA8ZGl2IGlkPSJsb2ciPjxzcGFuIHN0eWxlPSdjb2xvcjogcmVkOyc+RkFJTDo8L3NwYW4+
IERpZCBub3QgY29tcGxldGUgdGVzdDwvZGl2PgogPHNjcmlwdD4KLSAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKICAgICB2YXIgc3ZnbnMgPSAiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmci
OwogICAgIHZhciBzdmcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoc3ZnbnMsICJzdmciKTsK
ICAgICBzdmcuc2V0QXR0cmlidXRlKCJzdHlsZSIsICJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHg7
ZGlzcGxheTpub25lOyIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1z
cGFjaW5nLTAxLWIuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1zcGFjaW5nLTAxLWIu
c3ZnCmluZGV4IGM4ZjI1MDFlMDg1YmFmYTJmMjMyOGUwNjNjMjMxNzExNTE3NWI5NmEuLjRjMzFl
MDVkNjA2OTljYTUyMzhkMDc2OWFiZDNlZDZmOWE2MmNiZjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3N2Zy90ZXh0L3RleHQtc3BhY2luZy0wMS1iLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcv
dGV4dC90ZXh0LXNwYWNpbmctMDEtYi5zdmcKQEAgLTUyLDggKzUyLDggQEAKIAk8dGV4dCBpZD0i
cmV2aXNpb24iIHg9IjUiIHk9IjU3IiBmb250LXNpemU9IjYiIHN0cm9rZT0ibm9uZSIgZmlsbD0i
YmxhY2siPiRSZXZpc2lvbjogMS42ICQ8L3RleHQ+CiAJPHJlY3QgaWQ9InRlc3QtZnJhbWUiIHg9
IjEiIHk9IjEiIHdpZHRoPSI3OCIgaGVpZ2h0PSI1OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAw
MDAwIi8+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICB3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcFNlbGVjdGlvblJlY3QoKTsKK2lmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICB3aW5kb3cudGVzdFJ1bm5lci5kdW1wU2VsZWN0aW9uUmVjdCgp
OwogZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIpOwogPC9zY3JpcHQ+CiA8L3N2Zz4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy90ZXh0L3RleHQtc3R5bGUtaW52YWxpZC5zdmcg
Yi9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0LXN0eWxlLWludmFsaWQuc3ZnCmluZGV4IGM0ZjBh
Y2I0ODZmNzliM2Y0NTU3ZTkzZmM0MDBlY2NlNGY2YTU2MDAuLjNkNmJlODAyNTY3OWZhODBkZGQ5
ZDg2MDdmYjQ3MGQzMmFkY2Y0NzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy90ZXh0L3Rl
eHQtc3R5bGUtaW52YWxpZC5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1zdHls
ZS1pbnZhbGlkLnN2ZwpAQCAtMTAsNyArMTAsNyBAQAogICA8L3N0eWxlPgogICA8dGV4dCB4PSIx
MCIgeT0iNTAiPlNvbWUgdGV4dDwvdGV4dD4KICAgPHNjcmlwdD4KLSAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKICAgPC9zY3JpcHQ+CiA8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N2Zy90ZXh0L3RleHQtc3R5bGUtcmVjYWxjLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcv
dGV4dC90ZXh0LXN0eWxlLXJlY2FsYy1jcmFzaC5odG1sCmluZGV4IGE1YmNlYjhiMzk5NGIzODY2
NTIwMTI1YWQ1YzVkNTVhNzJlZWJlNjUuLmM0YjRmNDRlODYxYjg3Y2RiZDM3NjhkNTU5NGI4M2Yy
NmE0Nzc1NTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy90ZXh0L3RleHQtc3R5bGUtcmVj
YWxjLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1zdHlsZS1yZWNh
bGMtY3Jhc2guaHRtbApAQCAtMTAsOCArMTAsOCBAQCBUZXN0IHBhc3NlcyBpZiBpdCBkb2VzIG5v
dCBjcmFzaC4KIDxnIGZvbnQtZmFtaWx5PSJBIj4KIDx0ZXh0PlBBU1M8L3RleHQ+CiA8c2NyaXB0
PgotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCiAgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcv
dGV4dC90ZXh0LXRleHQtMDEtYi5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0LXRleHQt
MDEtYi5zdmcKaW5kZXggODUyMDI1ODI5YTMwYTA5Njg0NzEwOWU2ZTMxYjY4NGIzN2FkNDQ5MC4u
M2EyMTE4YTBkMTE0YzBhZGFiYmJkNmQ2ZDY0ZDAzYTRmMjk5NzVjMSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC10ZXh0LTAxLWIuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2
Zy90ZXh0L3RleHQtdGV4dC0wMS1iLnN2ZwpAQCAtMjA4LDggKzIwOCw4IEBACiA8dGV4dCBpZD0i
cmV2aXNpb24iIHg9IjUiIHk9IjExNyIgZm9udC1zaXplPSI4IiBzdHJva2U9Im5vbmUiIGZpbGw9
ImJsYWNrIj4kUmV2aXNpb246IDEuNyAkPC90ZXh0PgogCTxyZWN0IGlkPSJ0ZXN0LWZyYW1lIiB4
PSIxIiB5PSIxIiB3aWR0aD0iMTU4IiBoZWlnaHQ9IjExOCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIj
MDAwMDAwIi8+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAg
ICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcFNlbGVjdGlvblJlY3QoKTsKK2lmICh3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICB3aW5kb3cudGVzdFJ1bm5lci5kdW1wU2VsZWN0aW9uUmVj
dCgpOwogZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIpOwogPC9zY3JpcHQ+CiA8L3N2
Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy90ZXh0L3RleHQtdGV4dC0wMy1iLnN2ZyBi
L0xheW91dFRlc3RzL3N2Zy90ZXh0L3RleHQtdGV4dC0wMy1iLnN2ZwppbmRleCA4NjRmZjJiMjY4
YjFmNTZkZDNlNmZiMjUzMDQ1NDZiMjMwZDQyNDM5Li4yNWM3ZDU2NWFjZTc5Y2Q1YzBmNTRiMzYx
NWM3MDc1YzY0OTg0NDNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0LXRl
eHQtMDMtYi5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC10ZXh0LTAzLWIuc3Zn
CkBAIC02Niw4ICs2Niw4IEBACiAJPHRleHQgaWQ9InJldmlzaW9uIiB4PSIxMCIgeT0iMzQwIiBm
b250LXNpemU9IjQwIiBzdHJva2U9Im5vbmUiIGZpbGw9ImJsYWNrIj4kUmV2aXNpb246IDEuOCAk
PC90ZXh0PgogCTxyZWN0IGlkPSJ0ZXN0LWZyYW1lIiB4PSIxIiB5PSIxIiB3aWR0aD0iNDc4IiBo
ZWlnaHQ9IjM1OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIi8+CiA8c2NyaXB0PgotaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcFNlbGVjdGlvblJlY3QoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB3
aW5kb3cudGVzdFJ1bm5lci5kdW1wU2VsZWN0aW9uUmVjdCgpOwogZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIpOwogPC9zY3JpcHQ+CiA8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N2Zy90ZXh0L3RleHQtdGV4dC0wNC10LnN2ZyBiL0xheW91dFRlc3RzL3N2Zy90ZXh0L3Rl
eHQtdGV4dC0wNC10LnN2ZwppbmRleCA1NGE4NTNjYjEwOTBkY2I1OTRmMmIxOTIzMjY4NTdlNWNi
N2I5MjY4Li5mZDE5M2E1ZTZkYzdlYTI0NGY0NDM5NWFhMmY3ZDE5OGQyNGFlZjNmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0LXRleHQtMDQtdC5zdmcKKysrIGIvTGF5b3V0
VGVzdHMvc3ZnL3RleHQvdGV4dC10ZXh0LTA0LXQuc3ZnCkBAIC0yMDksOCArMjA5LDggQEAKICAg
ICA8cmVjdCBpZD0idGVzdC1mcmFtZSIgeD0iMSIgeT0iMSIgd2lkdGg9IjQ3OCIgaGVpZ2h0PSIz
NTgiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIvPgogICAgIAogPHNjcmlwdD4KLWlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgd2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBTZWxlY3Rpb25SZWN0KCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgd2lu
ZG93LnRlc3RSdW5uZXIuZHVtcFNlbGVjdGlvblJlY3QoKTsKIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiKTsKIDwvc2NyaXB0PgogPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdmcvdGV4dC90ZXh0LXRleHQtMDUtdC5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0
LXRleHQtMDUtdC5zdmcKaW5kZXggYmY3YmUxNjczNTU2YjdmMDk5OGYzNWQ0YWY3N2JkMDg0NzZm
ZDk1MS4uMWU2NGI3NDY3MjQ2ZWZjY2E1NWY4MzA0NmY5MWZjYzczMjI3NzRlNyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC10ZXh0LTA1LXQuc3ZnCisrKyBiL0xheW91dFRl
c3RzL3N2Zy90ZXh0L3RleHQtdGV4dC0wNS10LnN2ZwpAQCAtMTYwLDggKzE2MCw4IEBACiAgICAg
PHJlY3QgaWQ9InRlc3QtZnJhbWUiIHg9IjEiIHk9IjEiIHdpZHRoPSI0NzgiIGhlaWdodD0iMzU4
IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiLz4KICAgICAKIDxzY3JpcHQ+Ci1pZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBT
ZWxlY3Rpb25SZWN0KCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5k
dW1wU2VsZWN0aW9uUmVjdCgpOwogCiBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsKICAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dmcvdGV4dC90ZXh0LXRleHQtMDYtdC5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0LXRl
eHQtMDYtdC5zdmcKaW5kZXggYmJiOWNjZWI3ZmZlNGViZWZlMjgyNDk2Y2JhMjdjZjI3ZWNlNTdj
NS4uZThkOGU0YjM2NTViZGZjODQyMDM1MmNiZDNmNjIxOTgwYzBlNTViMiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC10ZXh0LTA2LXQuc3ZnCisrKyBiL0xheW91dFRlc3Rz
L3N2Zy90ZXh0L3RleHQtdGV4dC0wNi10LnN2ZwpAQCAtMTAxLDggKzEwMSw4IEBACiAgICAgPHJl
Y3QgaWQ9InRlc3QtZnJhbWUiIHg9IjEiIHk9IjEiIHdpZHRoPSI0NzgiIGhlaWdodD0iMzU4IiBm
aWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiLz4KIAogPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmR1bXBT
ZWxlY3Rpb25SZWN0KCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgd2luZG93LnRlc3RS
dW5uZXIuZHVtcFNlbGVjdGlvblJlY3QoKTsKIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiKTsKIDwvc2NyaXB0PgogPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvdGV4
dC90ZXh0LXRleHQtMDctdC5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0LXRleHQtMDct
dC5zdmcKaW5kZXggOWU1ODY1NzIzYTY4NGIxZWYyNzlkYjRjY2JmODhjMThmYzJiNTkzNy4uZTI3
NjY1NTg2MzdiY2UxNWU3YmEzMjNiNGRhYThmNzIzOTQ3OGZkYiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3ZnL3RleHQvdGV4dC10ZXh0LTA3LXQuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy90
ZXh0L3RleHQtdGV4dC0wNy10LnN2ZwpAQCAtNDAsOCArNDAsOCBAQAogICAgIDx0ZXh0IGlkPSJy
ZXZpc2lvbiIgeD0iMTAiIHk9IjM0MCIgZm9udC1zaXplPSI0MCIgc3Ryb2tlPSJub25lIiBmaWxs
PSJibGFjayI+JFJldmlzaW9uOiAxLjggJDwvdGV4dD4KICAgICA8cmVjdCBpZD0idGVzdC1mcmFt
ZSIgeD0iMSIgeT0iMSIgd2lkdGg9IjQ3OCIgaGVpZ2h0PSIzNTgiIGZpbGw9Im5vbmUiIHN0cm9r
ZT0iIzAwMDAwMCIvPgogPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
Ci0gICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmR1bXBTZWxlY3Rpb25SZWN0KCk7Citp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgd2luZG93LnRlc3RSdW5uZXIuZHVtcFNlbGVjdGlv
blJlY3QoKTsKIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiKTsKIDwvc2NyaXB0Pgog
PC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0LXRleHQtMDgtYi5z
dmcgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0LXRleHQtMDgtYi5zdmcKaW5kZXggOGM4ZGUz
YjAxZWVhZmZhNzMzZTE4MjdiMWYxYWRiMjA3NDY4YWNhMS4uNDQ1YmNmOTU5MmQzZGE1NmUzY2Yy
NDdiZjNkOGRhMGI2ODlmNWMzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4
dC10ZXh0LTA4LWIuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy90ZXh0L3RleHQtdGV4dC0wOC1i
LnN2ZwpAQCAtNDcsOCArNDcsOCBAQAogICAgIDx0ZXh0IGlkPSJyZXZpc2lvbiIgeD0iMTAiIHk9
IjM0MCIgZm9udC1zaXplPSI0MCIgc3Ryb2tlPSJub25lIiBmaWxsPSJibGFjayI+JFJldmlzaW9u
OiAxLjMgJDwvdGV4dD4KICAgICA8cmVjdCBpZD0idGVzdC1mcmFtZSIgeD0iMSIgeT0iMSIgd2lk
dGg9IjQ3OCIgaGVpZ2h0PSIzNTgiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIvPgogPHNj
cmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgd2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBTZWxlY3Rpb25SZWN0KCk7CitpZiAod2luZG93LnRlc3RSdW5u
ZXIpCisgICAgd2luZG93LnRlc3RSdW5uZXIuZHVtcFNlbGVjdGlvblJlY3QoKTsKIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiKTsKIDwvc2NyaXB0PgogPC9zdmc+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0LXRyZWYtMDEtYi5zdmcgYi9MYXlvdXRUZXN0cy9z
dmcvdGV4dC90ZXh0LXRyZWYtMDEtYi5zdmcKaW5kZXggZDhiZDI2NTFmODI3ZTljM2QyMGZiMzM2
MDNlYTcxY2MyNzliZmExYy4uOGMxZGUwNThiODVmZTdiM2VhNzdiYmQyNDEyNjZhYzY0OGZiNThi
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC10cmVmLTAxLWIuc3ZnCisr
KyBiL0xheW91dFRlc3RzL3N2Zy90ZXh0L3RleHQtdHJlZi0wMS1iLnN2ZwpAQCAtNzksOCArNzks
OCBAQAogCTx0ZXh0IGlkPSJyZXZpc2lvbiIgeD0iMTAiIHk9IjM0MCIgZm9udC1zaXplPSI0MCIg
c3Ryb2tlPSJub25lIiBmaWxsPSJibGFjayI+JFJldmlzaW9uOiAxLjYgJDwvdGV4dD4KIAk8cmVj
dCBpZD0idGVzdC1mcmFtZSIgeD0iMSIgeT0iMSIgd2lkdGg9IjQ3OCIgaGVpZ2h0PSIzNTgiIGZp
bGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIvPgogPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCi0gICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmR1bXBTZWxl
Y3Rpb25SZWN0KCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgd2luZG93LnRlc3RSdW5u
ZXIuZHVtcFNlbGVjdGlvblJlY3QoKTsKIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
KTsKIDwvc2NyaXB0PgogPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvdGV4dC90
ZXh0LXRzZWxlY3QtMDEtYi5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0LXRzZWxlY3Qt
MDEtYi5zdmcKaW5kZXggYmYzMmEyN2JkYWNiYjcwNTlkZDY5NjIyNDBlYTZiN2M2YTZkNDFmYy4u
OGU2YTVmMTEyM2QyZjA3YTVmNzkyZmE3YTU0MDEzMmVhODVhNzc1MiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC10c2VsZWN0LTAxLWIuc3ZnCisrKyBiL0xheW91dFRlc3Rz
L3N2Zy90ZXh0L3RleHQtdHNlbGVjdC0wMS1iLnN2ZwpAQCAtNjksOCArNjksOCBAQAogICAgIDxy
ZWN0IGlkPSJ0ZXN0LWZyYW1lIiB4PSIxIiB5PSIxIiB3aWR0aD0iNDc4IiBoZWlnaHQ9IjM1OCIg
ZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIi8+CiAJPC9nPgogPHNjcmlwdD4KLWlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBTZWxlY3Rpb25SZWN0KCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgd2luZG93
LnRlc3RSdW5uZXIuZHVtcFNlbGVjdGlvblJlY3QoKTsKIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiKTsKIDwvc2NyaXB0PgogPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dmcvdGV4dC90ZXh0LXRzZWxlY3QtMDItZi5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0
LXRzZWxlY3QtMDItZi5zdmcKaW5kZXggN2I5YTBkY2QzZjNkM2M5OWI2NGYwNzk1YTQyZTZlM2U2
YTRkY2UyZS4uOGUzNTEwYTI2ODI3NTNhYTFlNGQwOTExZGM3OTc3ZDhhMjgwOGI5MiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC10c2VsZWN0LTAyLWYuc3ZnCisrKyBiL0xh
eW91dFRlc3RzL3N2Zy90ZXh0L3RleHQtdHNlbGVjdC0wMi1mLnN2ZwpAQCAtMTMyLDggKzEzMiw4
IEBACiAgICAgfQogICA8L3N0eWxlPgogPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCi0gICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmR1bXBTZWxlY3Rpb25S
ZWN0KCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgd2luZG93LnRlc3RSdW5uZXIuZHVt
cFNlbGVjdGlvblJlY3QoKTsKIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiKTsKIDwv
c2NyaXB0PgogPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0LXRz
cGFuLTAxLWIuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC10c3Bhbi0wMS1iLnN2Zwpp
bmRleCBjMjUzNzAyYjBiZjQ3MjYwMjdmNTQ2OTk3OTQ3NWFhMTNlNGY5Y2M2Li5jMWUyNjgyOTEx
ZDM4ZDJlNjY1OGVhMjMwZWFmNjRhNmQ0MmVlZWRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dmcvdGV4dC90ZXh0LXRzcGFuLTAxLWIuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy90ZXh0L3Rl
eHQtdHNwYW4tMDEtYi5zdmcKQEAgLTg1LDggKzg1LDggQEAKIAk8dGV4dCBpZD0icmV2aXNpb24i
IHg9IjEwIiB5PSIzNDAiIGZvbnQtc2l6ZT0iNDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iYmxhY2si
PiRSZXZpc2lvbjogMS43ICQ8L3RleHQ+CiAJPHJlY3QgaWQ9InRlc3QtZnJhbWUiIHg9IjEiIHk9
IjEiIHdpZHRoPSI0NzgiIGhlaWdodD0iMzU4IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAi
Lz4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wU2VsZWN0aW9uUmVjdCgpOworaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICAgIHdpbmRvdy50ZXN0UnVubmVyLmR1bXBTZWxlY3Rpb25SZWN0KCk7CiBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIik7CiA8L3NjcmlwdD4KIDwvc3ZnPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC13cy0wMS10LnN2ZyBiL0xheW91dFRl
c3RzL3N2Zy90ZXh0L3RleHQtd3MtMDEtdC5zdmcKaW5kZXggY2JlZDk2NjlhZWRjMTRlOWQwOTM0
OTVhNGUzYmI2NGI5ZWExZTdkYi4uNTg5NmI1YzkxNTA5YWQ3MmZkNGUzYzkxOTc3MjIzNjExNjFk
ZDc0YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC13cy0wMS10LnN2Zwor
KysgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0LXdzLTAxLXQuc3ZnCkBAIC05Niw4ICs5Niw4
IEBAIG5vbi1pbmRlbnRlZCBsaW5lcy4KIAk8dGV4dCBpZD0icmV2aXNpb24iIHg9IjEwIiB5PSIz
NDAiIGZvbnQtc2l6ZT0iNDAiIHN0cm9rZT0ibm9uZSIgZmlsbD0iYmxhY2siPiRSZXZpc2lvbjog
MS43ICQ8L3RleHQ+CiAJPHJlY3QgaWQ9InRlc3QtZnJhbWUiIHg9IjEiIHk9IjEiIHdpZHRoPSI0
NzgiIGhlaWdodD0iMzU4IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiLz4KIDxzY3JpcHQ+
Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wU2VsZWN0aW9uUmVjdCgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQor
ICAgIHdpbmRvdy50ZXN0UnVubmVyLmR1bXBTZWxlY3Rpb25SZWN0KCk7CiBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIik7CiA8L3NjcmlwdD4KIDwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC13cy0wMi10LnN2ZyBiL0xheW91dFRlc3RzL3N2Zy90ZXh0
L3RleHQtd3MtMDItdC5zdmcKaW5kZXggMTRjNzA2Y2Q4NTUwYTI3YWU1NjdiMGQ3YWJlYTNhMGE4
ODEzMzUzMC4uZDQyYzE3NTlhYjMxY2Q4NWFhZTkwOGUzNGY3MmRlZWEwYWU3YmE0NiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC13cy0wMi10LnN2ZworKysgYi9MYXlvdXRU
ZXN0cy9zdmcvdGV4dC90ZXh0LXdzLTAyLXQuc3ZnCkBAIC0xMDEsOCArMTAxLDggQEAgbm9uLWlu
ZGVudGVkIGxpbmVzLgogCTx0ZXh0IGlkPSJyZXZpc2lvbiIgeD0iMTAiIHk9IjM0MCIgZm9udC1z
aXplPSI0MCIgc3Ryb2tlPSJub25lIiBmaWxsPSJibGFjayI+JFJldmlzaW9uOiAxLjggJDwvdGV4
dD4KIAk8cmVjdCBpZD0idGVzdC1mcmFtZSIgeD0iMSIgeT0iMSIgd2lkdGg9IjQ3OCIgaGVpZ2h0
PSIzNTgiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIvPgogPHNjcmlwdD4KLWlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBTZWxlY3Rpb25SZWN0KCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgd2luZG93
LnRlc3RSdW5uZXIuZHVtcFNlbGVjdGlvblJlY3QoKTsKIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiKTsKIDwvc2NyaXB0PgogPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dmcvdGV4dC90ZXh0UGF0aEJvdW5kc0J1Zy5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0
UGF0aEJvdW5kc0J1Zy5zdmcKaW5kZXggZTMzZDUxOTEwZDY4YWZhMjc3YTc4OTAxYjUxMTk3NGI3
NmQ4MzY3Yy4uODQ1NGJiNGJhYjBjNTE5NmJkMDJjOWUzMDNjZGUzMjE3Y2E2M2Y2ZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dFBhdGhCb3VuZHNCdWcuc3ZnCisrKyBiL0xh
eW91dFRlc3RzL3N2Zy90ZXh0L3RleHRQYXRoQm91bmRzQnVnLnN2ZwpAQCAtNiw4ICs2LDggQEAK
IDwvdGV4dD4KIAogPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0g
ICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmR1bXBTZWxlY3Rpb25SZWN0KCk7CitpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgd2luZG93LnRlc3RSdW5uZXIuZHVtcFNlbGVjdGlvblJl
Y3QoKTsKIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiKTsKIDwvc2NyaXB0PgogPC9z
dmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0cGF0aC1yZWZlcmVuY2Ut
Y3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL3N2Zy90ZXh0L3RleHRwYXRoLXJlZmVyZW5jZS1jcmFz
aC5odG1sCmluZGV4IGQxNDI4ZDNiYWNhYTVlM2NhZmYyMzlmM2RhZGQwYmFmYWJkN2RiOWYuLmY5
OWZmODg5Y2Q1ODlhNWZhZjE4ZWQ5YmY4Y2ZmNDcxNjk2NWZiYWQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N2Zy90ZXh0L3RleHRwYXRoLXJlZmVyZW5jZS1jcmFzaC5odG1sCisrKyBiL0xheW91
dFRlc3RzL3N2Zy90ZXh0L3RleHRwYXRoLXJlZmVyZW5jZS1jcmFzaC5odG1sCkBAIC0zLDggKzMs
OCBAQAogICAgIDwhLS0gVGVzdCBmb3Igd2tidWcuY29tLzg4MTQ0IC0gQ3Jhc2ggaW4gU1ZHRG9j
dW1lbnRFeHRlbnNpb25zOjpyZW1vdmVBbGxFbGVtZW50UmVmZXJlbmNlc0ZvclRhcmdldC4gLS0+
CiAgICAgPGhlYWQ+CiAgICAgICAgIDxzY3JpcHQ+Ci0gICAgICAgICAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAogICAgICAgICAgICAgd2luZG93
Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgIHN2ZzAgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ3N2ZycpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdHJlZi1ldmVudC1saXN0ZW5lci1jcmFzaC5z
dmcgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC90cmVmLWV2ZW50LWxpc3RlbmVyLWNyYXNoLnN2Zwpp
bmRleCA0OWZjOTU4MzhjZTBhZTM1MjM2ZTU4MzNhY2NiZjM3MjJhMGE1ZTFjLi45MWRlODQzNTM4
ZWNjMjhjOWM0NWZlOWJlYjJhNWM1NjUyNDlhMjlmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dmcvdGV4dC90cmVmLWV2ZW50LWxpc3RlbmVyLWNyYXNoLnN2ZworKysgYi9MYXlvdXRUZXN0cy9z
dmcvdGV4dC90cmVmLWV2ZW50LWxpc3RlbmVyLWNyYXNoLnN2ZwpAQCAtMiw4ICsyLDggQEAKIFRl
c3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLg0KIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cu
dzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlu
ayIgaWQ9ImNvbnRhaW5lciI+DQogPHNjcmlwdD4NCi1pZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQ0KLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7DQoraWYgKHdp
bmRvdy50ZXN0UnVubmVyKQ0KKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsNCiANCiB3aW5k
b3cub25sb2FkID0gZnVuY3Rpb24oKSB7DQogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKS50ZXh0Q29udGVudCA9ICIxIjsNCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dmcvdGV4dC90c3Bhbi1nZXRDb21wdXRlZFRleHRMZW5ndGguc3ZnIGIvTGF5b3V0VGVzdHMvc3Zn
L3RleHQvdHNwYW4tZ2V0Q29tcHV0ZWRUZXh0TGVuZ3RoLnN2ZwppbmRleCA2YjUxYTg2N2EzYWUy
ODM0OTkwY2Y0YTcwYjNjNzk1ZDU4ZjlkYWVlLi4yOWZkZGM4YmYxYmQ0Y2EyNjY2Y2UzY2M5YTg4
NDM5NTQyMjgxNGM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvdGV4dC90c3Bhbi1nZXRD
b21wdXRlZFRleHRMZW5ndGguc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy90ZXh0L3RzcGFuLWdl
dENvbXB1dGVkVGV4dExlbmd0aC5zdmcKQEAgLTQsOCArNCw4IEBACiA8dGV4dCB5PSIxMDAiIGlk
PSdzdGF0dXMnLz4KIAogPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCiB2YXIgbGVuZ3RoMSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCd4JykuZ2V0Q29tcHV0ZWRUZXh0TGVuZ3RoKCk7CiB2YXIg
bGVuZ3RoMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd5JykuZ2V0Q29tcHV0ZWRUZXh0TGVu
Z3RoKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvdHJhbnNmb3Jtcy9wZXJjZW50LXRy
YW5zZm9ybS12YWx1ZXMueGh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvdHJhbnNmb3Jtcy9wZXJjZW50
LXRyYW5zZm9ybS12YWx1ZXMueGh0bWwKaW5kZXggYWEyY2Y1MWNiYzlmYjM3N2YxOGNhYzhhYTQx
YzhjNWZiYmZlZDhhYi4uNWUyNjQ4YjRlYzAyNzE0MzhlMWU1OTY3ODVkZjVmMmI5ZDEzMjlmNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL3RyYW5zZm9ybXMvcGVyY2VudC10cmFuc2Zvcm0t
dmFsdWVzLnhodG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy90cmFuc2Zvcm1zL3BlcmNlbnQtdHJh
bnNmb3JtLXZhbHVlcy54aHRtbApAQCAtMjgsOCArMjgsOCBAQAogICAgIFsicjEiLCAicjIiLCAi
cjMiXS5tYXAoY2hlY2tDbGllbnRSZWN0KTsKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
bG9nIikuaW5uZXJIVE1MID0gcmVzdWx0U3RyaW5nOwogCi0gICAgaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7CiAKICBdXT48L3NjcmlwdD4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N2Zy90cmFuc2Zvcm1zL3RyYW5zZm9ybS1vcmlnaW4tcHJlc2VudGF0aW9uLWF0dHJpYnV0ZS54
aHRtbCBiL0xheW91dFRlc3RzL3N2Zy90cmFuc2Zvcm1zL3RyYW5zZm9ybS1vcmlnaW4tcHJlc2Vu
dGF0aW9uLWF0dHJpYnV0ZS54aHRtbAppbmRleCBhZDZmYTBjMmMzNzZhMzIzMGYyNjhjZjVlODg4
MTgzYTRmYWNkOTUyLi4xNWQ1OGE2ZDBlNTM0OTQyYzY4NjcyMjEzYTM2ZWQ0M2E4YmRjOTk0IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvdHJhbnNmb3Jtcy90cmFuc2Zvcm0tb3JpZ2luLXBy
ZXNlbnRhdGlvbi1hdHRyaWJ1dGUueGh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL3RyYW5zZm9y
bXMvdHJhbnNmb3JtLW9yaWdpbi1wcmVzZW50YXRpb24tYXR0cmlidXRlLnhodG1sCkBAIC04LDgg
KzgsOCBAQAogICAgICAgICA8cmVjdCBpZD0icmVjdDIiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAw
IiBmaWxsPSJyZWQiIC8+CiAgICAgPC9zdmc+CiAgICAgPHNjcmlwdD48IVtDREFUQVsKLSAgICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCiAgICAgICB2YXIgcmVzdWx0U3RyaW5n
ID0gIiI7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy93ZWJhcmNoaXZlL3N2Zy1jdXJz
b3Itc3VicmVzb3VyY2VzLWV4cGVjdGVkLndlYmFyY2hpdmUgYi9MYXlvdXRUZXN0cy9zdmcvd2Vi
YXJjaGl2ZS9zdmctY3Vyc29yLXN1YnJlc291cmNlcy1leHBlY3RlZC53ZWJhcmNoaXZlCmluZGV4
IDQzODFiMTlkODM1NTkxOGJhZTYxYmQzZmYzODM5ZWZhZWNkZmQ4NzUuLmZlYTliYzVhMjZjZjgw
ZGNiY2JhMmI0OWUzZDJmNjhhMmNlMGE0NTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy93
ZWJhcmNoaXZlL3N2Zy1jdXJzb3Itc3VicmVzb3VyY2VzLWV4cGVjdGVkLndlYmFyY2hpdmUKKysr
IGIvTGF5b3V0VGVzdHMvc3ZnL3dlYmFyY2hpdmUvc3ZnLWN1cnNvci1zdWJyZXNvdXJjZXMtZXhw
ZWN0ZWQud2ViYXJjaGl2ZQpAQCAtMTEsMTIgKzExLDEyIEBACiAgIAogICAmbHQ7dGV4dCB4PSIx
MCIgeT0iMTMwIiZndDtIb3ZlciBvdmVyIHRoZSByZWN0LCB5b3Ugc2hvdWxkIHNlZSBhIChsYXJn
ZSkgY3VzdG9tIGN1cnNvciZsdDsvdGV4dCZndDsKICAgJmx0O3NjcmlwdCZndDsKLSAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKICAgICAgICAgc2V0VGltZW91dChmdW5j
dGlvbigpIHsKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBET01Bc1dlYkFy
Y2hpdmUoKTsKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsK
KyAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcERPTUFzV2ViQXJjaGl2ZSgpOworICAgICAgICAg
ICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgIH0sIDApOwogICAgIH0KICAmbHQ7
L3NjcmlwdCZndDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy93ZWJhcmNoaXZlL3N2Zy1j
dXJzb3Itc3VicmVzb3VyY2VzLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy93ZWJhcmNoaXZlL3N2Zy1j
dXJzb3Itc3VicmVzb3VyY2VzLnN2ZwppbmRleCA2MzRjNzI4YTYzNDIzOGEyMDRiOGNlNDE4ZGVj
Mzg0YjY5MDQ5YzAzLi44MGNjNGQ4NzFiMThjM2YwYTNhNmRiNzZhYmE1ZWE0NGI2MjkxMWZmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvd2ViYXJjaGl2ZS9zdmctY3Vyc29yLXN1YnJlc291
cmNlcy5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL3dlYmFyY2hpdmUvc3ZnLWN1cnNvci1zdWJy
ZXNvdXJjZXMuc3ZnCkBAIC00LDEyICs0LDEyIEBACiAgIAogICA8dGV4dCB4PSIxMCIgeT0iMTMw
Ij5Ib3ZlciBvdmVyIHRoZSByZWN0LCB5b3Ugc2hvdWxkIHNlZSBhIChsYXJnZSkgY3VzdG9tIGN1
cnNvcjwvdGV4dD4KICAgPHNjcmlwdD4KLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7CiAKICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBET01Bc1dlYkFyY2hpdmUoKTsKLSAgICAgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIu
ZHVtcERPTUFzV2ViQXJjaGl2ZSgpOworICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7CiAgICAgICAgIH0sIDApOwogICAgIH0KICA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N2Zy93ZWJhcmNoaXZlL3N2Zy1mZWltYWdlLXN1YnJlc291cmNlcy1leHBlY3RlZC53
ZWJhcmNoaXZlIGIvTGF5b3V0VGVzdHMvc3ZnL3dlYmFyY2hpdmUvc3ZnLWZlaW1hZ2Utc3VicmVz
b3VyY2VzLWV4cGVjdGVkLndlYmFyY2hpdmUKaW5kZXggNDNhZmI0MThlYjAzODkzZjJhNzNiZjY0
OGE4ZWQwOTBhZDFjMmU4MC4uYWY4YWRlN2M3ZWNkYTBjMGU0NDM3NTY3ZjBmNDgwZTFkY2Q5NzIx
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL3dlYmFyY2hpdmUvc3ZnLWZlaW1hZ2Utc3Vi
cmVzb3VyY2VzLWV4cGVjdGVkLndlYmFyY2hpdmUKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL3dlYmFy
Y2hpdmUvc3ZnLWZlaW1hZ2Utc3VicmVzb3VyY2VzLWV4cGVjdGVkLndlYmFyY2hpdmUKQEAgLTEx
LDEyICsxMSwxMiBAQAogICAmbHQ7L2ZpbHRlciZndDsKICAgJmx0O3JlY3QgaWQ9InJlY3QiIHdp
ZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBmaWxsPSJyZWQiIGZpbHRlcj0idXJsKCNNeUZpbHRlciki
LyZndDsKICAgJmx0O3NjcmlwdCZndDsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7CiAKICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBET01Bc1dlYkFyY2hpdmUoKTsKLSAgICAgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIu
ZHVtcERPTUFzV2ViQXJjaGl2ZSgpOworICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7CiAgICAgICAgIH0sIDApOwogICAgIH0KICAgJmx0Oy9zY3JpcHQmZ3Q7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdmcvd2ViYXJjaGl2ZS9zdmctZmVpbWFnZS1zdWJyZXNvdXJjZXMuc3Zn
IGIvTGF5b3V0VGVzdHMvc3ZnL3dlYmFyY2hpdmUvc3ZnLWZlaW1hZ2Utc3VicmVzb3VyY2VzLnN2
ZwppbmRleCAwNjhhOWIzZGNkMDkxY2QwOGU4YTkyMmVkMTRiYzkwZTg5NzI5ODFkLi5hNzE0MzNh
ZWQzMDJhYzA2YTliODFmMTIwNTI0NTk2YmNjMGYzOWYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdmcvd2ViYXJjaGl2ZS9zdmctZmVpbWFnZS1zdWJyZXNvdXJjZXMuc3ZnCisrKyBiL0xheW91
dFRlc3RzL3N2Zy93ZWJhcmNoaXZlL3N2Zy1mZWltYWdlLXN1YnJlc291cmNlcy5zdmcKQEAgLTQs
MTIgKzQsMTIgQEAKICAgPC9maWx0ZXI+CiAgIDxyZWN0IGlkPSJyZWN0IiB3aWR0aD0iMTAwIiBo
ZWlnaHQ9IjEwMCIgZmlsbD0icmVkIiBmaWx0ZXI9InVybCgjTXlGaWx0ZXIpIi8+CiAgIDxzY3Jp
cHQ+Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCiAgICAgICAgIHNl
dFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wRE9NQXNXZWJBcmNoaXZlKCk7Ci0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5u
b3RpZnlEb25lKCk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBET01Bc1dlYkFyY2hpdmUo
KTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgICB9LCAwKTsK
ICAgICB9CiAgIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL3dlYmFyY2hp
dmUvc3ZnLXNjcmlwdC1zdWJyZXNvdWNlcy1leHBlY3RlZC53ZWJhcmNoaXZlIGIvTGF5b3V0VGVz
dHMvc3ZnL3dlYmFyY2hpdmUvc3ZnLXNjcmlwdC1zdWJyZXNvdWNlcy1leHBlY3RlZC53ZWJhcmNo
aXZlCmluZGV4IGViYTZlOTQ5MjZiYjc0NGY2M2I2MWU0YTk1MDY3OTZlMDNiYmY0ODMuLjg2MWU1
MGQzYWMzMmI5YjAxZjJkMDA2YzY3ODg1NjZkMzM2ODBiNGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3N2Zy93ZWJhcmNoaXZlL3N2Zy1zY3JpcHQtc3VicmVzb3VjZXMtZXhwZWN0ZWQud2ViYXJj
aGl2ZQorKysgYi9MYXlvdXRUZXN0cy9zdmcvd2ViYXJjaGl2ZS9zdmctc2NyaXB0LXN1YnJlc291
Y2VzLWV4cGVjdGVkLndlYmFyY2hpdmUKQEAgLTcsOCArNyw4IEBACiAJCTxrZXk+V2ViUmVzb3Vy
Y2VEYXRhPC9rZXk+CiAJCTxzdHJpbmc+Jmx0O3N2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiZndDsK
ICAgJmx0O3NjcmlwdCZndDsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQot
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wRE9NQXNXZWJBcmNoaXZlKCk7CisgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLmR1bXBET01Bc1dlYkFy
Y2hpdmUoKTsKICAgJmx0Oy9zY3JpcHQmZ3Q7CiAgICZsdDtyZWN0IGlkPSJyZWN0IiB3aWR0aD0i
MTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0icmVkIiBzdHlsZT0iZmlsbDogIzAwODAwMDsgIi8mZ3Q7
CiAgICZsdDtzY3JpcHQgeGxpbms6aHJlZj0icmVzb3VyY2VzL3N2Zy1zY3JpcHQtc3VicmVzb3Vy
Y2VzLmpzIiB0eXBlPSJ0ZXh0L2VjbWFzY3JpcHQiLyZndDsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N2Zy93ZWJhcmNoaXZlL3N2Zy1zY3JpcHQtc3VicmVzb3VjZXMuc3ZnIGIvTGF5b3V0VGVz
dHMvc3ZnL3dlYmFyY2hpdmUvc3ZnLXNjcmlwdC1zdWJyZXNvdWNlcy5zdmcKaW5kZXggMjgzZjZm
NTdkMTk4MjE2ZjM1ODYyZTNkNWQwZmRkZDJkNDAwM2Y0MS4uNDllNDYzMGU4YTQ3NGEyZWE3YWJj
Yzk4NGQ2Mzc5OWIyMzY1Y2FlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL3dlYmFyY2hp
dmUvc3ZnLXNjcmlwdC1zdWJyZXNvdWNlcy5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL3dlYmFy
Y2hpdmUvc3ZnLXNjcmlwdC1zdWJyZXNvdWNlcy5zdmcKQEAgLTEsNyArMSw3IEBACiA8c3ZnIHht
bG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cu
dzMub3JnLzE5OTkveGxpbmsiPgogICA8c2NyaXB0PgotICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBET01Bc1dlYkFy
Y2hpdmUoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIu
ZHVtcERPTUFzV2ViQXJjaGl2ZSgpOwogICA8L3NjcmlwdD4KICAgPHJlY3QgaWQ9InJlY3QiIHdp
ZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBmaWxsPSJyZWQiIC8+CiAgIDxzY3JpcHQgeGxpbms6aHJl
Zj0icmVzb3VyY2VzL3N2Zy1zY3JpcHQtc3VicmVzb3VyY2VzLmpzIiB0eXBlPSJ0ZXh0L2VjbWFz
Y3JpcHQiIC8+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvem9vbS9wYWdlL3pvb20tZ2V0
Qm91bmRpbmdDbGllbnRSZWN0LnhodG1sIGIvTGF5b3V0VGVzdHMvc3ZnL3pvb20vcGFnZS96b29t
LWdldEJvdW5kaW5nQ2xpZW50UmVjdC54aHRtbAppbmRleCAxNDFkYzFjYTVkNTY3OWNiNjBkMmVj
MjRjOGMyMTZjZjJjN2FkNmUyLi5iZTg3ZDNkMjU1MTU4Zjg5YzdjNWNjOTdiYTBhYTQ1Mjg4MDg1
NDMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvem9vbS9wYWdlL3pvb20tZ2V0Qm91bmRp
bmdDbGllbnRSZWN0LnhodG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy96b29tL3BhZ2Uvem9vbS1n
ZXRCb3VuZGluZ0NsaWVudFJlY3QueGh0bWwKQEAgLTY4LDggKzY4LDggQEAgZnVuY3Rpb24gZXhl
Y3V0ZVRlc3QoKSB7CiA8L3NjcmlwdD4KIAogPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpIHsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7
CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKICAgICB3aW5kb3cucG9zdFpvb21DYWxsYmFjayA9IGV4ZWN1dGVUZXN0OwogfSBlbHNlIHsK
ICAgICBkZWJ1ZygiVGhpcyB0ZXN0IG9ubHkgd29ya3MgaW4gRFJULiIpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3ZnL3pvb20vcGFnZS96b29tLXpvb20tY29vcmRzLnhodG1sIGIvTGF5b3V0
VGVzdHMvc3ZnL3pvb20vcGFnZS96b29tLXpvb20tY29vcmRzLnhodG1sCmluZGV4IDE2YmFkNWZj
OTk4YTk4NjQ3NGE2ZTZiM2FkYTg0ZGE1NjMzMjdhY2MuLjc1ZjU1ZTdhMjc1ZDdjYTA5MTY0MzY3
MzM1ZDYwMjE4ZTBiMjE3M2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy96b29tL3BhZ2Uv
em9vbS16b29tLWNvb3Jkcy54aHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvem9vbS9wYWdlL3pv
b20tem9vbS1jb29yZHMueGh0bWwKQEAgLTE4Miw4ICsxODIsOCBAQCBmdW5jdGlvbiBleGVjdXRl
VGVzdCgpIHsKIDwvc2NyaXB0PgogCiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikgewotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKK2lm
ICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwog
ICAgIHdpbmRvdy5wb3N0Wm9vbUNhbGxiYWNrID0gZXhlY3V0ZVRlc3Q7CiB9IGVsc2UgewogICAg
IGRlYnVnKCJUaGlzIHRlc3Qgb25seSB3b3JrcyBpbiBEUlQuIik7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdmcvem9vbS9yZXNvdXJjZXMvdGVzdFBhZ2Vab29tLmpzIGIvTGF5b3V0VGVzdHMv
c3ZnL3pvb20vcmVzb3VyY2VzL3Rlc3RQYWdlWm9vbS5qcwppbmRleCA5MzEzMGJhMjcyZjg1NTY0
MzUwMjdmN2IyNWMxNjg5ODkyNjRiNDY0Li4xYjQ5ZDE0ZmEyODUxMmYwMTJkZGRlNzNjMTg2ODY5
NTQzZTFlMWRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvem9vbS9yZXNvdXJjZXMvdGVz
dFBhZ2Vab29tLmpzCisrKyBiL0xheW91dFRlc3RzL3N2Zy96b29tL3Jlc291cmNlcy90ZXN0UGFn
ZVpvb20uanMKQEAgLTEyLDggKzEyLDggQEAgZnVuY3Rpb24gcmVwYWludFRlc3QoKSB7CiAgICAg
aWYgKCF3aW5kb3cucG9zdFpvb21DYWxsYmFjaykKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIud2FpdFVudGlsRG9uZSgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKICAgICB3aW5kb3cucG9zdFpvb21DYWxsYmFj
aygpOwogICAgIGNvbXBsZXRlRHluYW1pY1Rlc3QoKTsKQEAgLTIzLDggKzIzLDggQEAgZnVuY3Rp
b24gY29tcGxldGVEeW5hbWljVGVzdCgpIHsKICAgICB2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgic2NyaXB0Iik7CiAKICAgICBzY3JpcHQub25sb2FkID0gZnVuY3Rpb24oKSB7
Ci0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgIH07CiAK
ICAgICBzY3JpcHQuc3JjID0gIi4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvem9vbS9yZXNvdXJjZXMvdGVzdFRl
eHRab29tLmpzIGIvTGF5b3V0VGVzdHMvc3ZnL3pvb20vcmVzb3VyY2VzL3Rlc3RUZXh0Wm9vbS5q
cwppbmRleCA3NzJkYWUzNTMyMTg1ZDM0NDZiMGUxNTk5MGQ2OTFiYzE4OGI1YTVmLi5hZTY1YTk2
MDQ2MzcxNjg2NGU0YTBmZjBlZTMzNjJhZWUxYjZlNWMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdmcvem9vbS9yZXNvdXJjZXMvdGVzdFRleHRab29tLmpzCisrKyBiL0xheW91dFRlc3RzL3N2
Zy96b29tL3Jlc291cmNlcy90ZXN0VGV4dFpvb20uanMKQEAgLTksNiArOSw2IEBAIGZ1bmN0aW9u
IHJlcGFpbnRUZXN0KCkgewogICAgICAgICAgICAgZXZlbnRTZW5kZXIudGV4dFpvb21JbigpOwog
ICAgIH0KIAotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>