<?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>225263</bug_id>
          
          <creation_ts>2021-04-30 18:41:34 -0700</creation_ts>
          <short_desc>Update operations in CanvasImageData.idl to use long rather than float as per spec</short_desc>
          <delta_ts>2024-09-04 01:26:02 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>225140</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>annevk</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1755897</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-04-30 18:41:34 -0700</bug_when>
    <thetext>Update operations in CanvasImageData.idl to use long rather than float as per spec</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755898</commentid>
    <comment_count>1</comment_count>
      <attachid>427480</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-04-30 18:42:45 -0700</bug_when>
    <thetext>Created attachment 427480
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755948</commentid>
    <comment_count>2</comment_count>
      <attachid>427498</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-05-01 09:15:39 -0700</bug_when>
    <thetext>Created attachment 427498
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755969</commentid>
    <comment_count>3</comment_count>
      <attachid>427498</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-05-01 10:27:08 -0700</bug_when>
    <thetext>Comment on attachment 427498
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=427498&amp;action=review

I&apos;m a bit nervous about compat fallout from this one.

&gt; Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp:2172
&gt; +    IntSize size { std::abs(sw), std::abs(sh) };

Is this what the spec says; that negative values become positive? Are there tests for it?

&gt; Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp:2196
&gt; +    IntRect imageDataRect { sx, sy, sw, sh };

Presumably the getImageData() call will fail if this rect ends up being outside the backing store rect? What if it&apos;s half outside?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755976</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-05-01 10:59:51 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #3)
&gt; Comment on attachment 427498 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=427498&amp;action=review
&gt; 
&gt; I&apos;m a bit nervous about compat fallout from this one.

Anything you would like me to do to make you feel less nervous? All the other engines, according to WPT and my testing have this new behavior.

&gt; 
&gt; &gt; Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp:2172
&gt; &gt; +    IntSize size { std::abs(sw), std::abs(sh) };
&gt; 
&gt; Is this what the spec says; that negative values become positive? Are there
&gt; tests for it?

Yes (it&apos;s also not new in the change, I just added some braces). The spec says:

&quot;When the createImageData() method is invoked with two numeric arguments sw and sh, it must create an ImageData object, with parameter pixelsPerRow set to the absolute magnitude of sw, and parameter rows set to the absolute magnitude of sh.&quot;

And yes, we have tests with negatives for these values. 

&gt; 
&gt; &gt; Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp:2196
&gt; &gt; +    IntRect imageDataRect { sx, sy, sw, sh };
&gt; 
&gt; Presumably the getImageData() call will fail if this rect ends up being
&gt; outside the backing store rect? What if it&apos;s half outside?

This is also not new behavior but no, getImageData() returns transparent black pixels for any pixel outside the backing store. We also have testing of this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755990</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-01 13:41:04 -0700</bug_when>
    <thetext>Committed r276877 (237223@main): &lt;https://commits.webkit.org/237223@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 427498.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755991</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-01 13:42:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/77421906&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2057517</commentid>
    <comment_count>7</comment_count>
    <who name="Anne van Kesteren">annevk</who>
    <bug_when>2024-09-04 01:26:02 -0700</bug_when>
    <thetext>*** Bug 220496 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427480</attachid>
            <date>2021-04-30 18:42:45 -0700</date>
            <delta_ts>2021-05-01 09:15:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225263-20210430184244.patch</filename>
            <type>text/plain</type>
            <size>7824</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3Njg2OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDIxLTA0LTMwICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgb3BlcmF0aW9ucyBpbiBD
YW52YXNJbWFnZURhdGEuaWRsIHRvIHVzZSBsb25nIHJhdGhlciB0aGFuIGZsb2F0IGFzIHBlciBz
cGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjUy
NjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2Ug
YFtFbmZvcmNlUmFuZ2VdIGxvbmdgIHRvIG1hdGNoIHRoZSBjdXJyZW50IEhUTUwgc3BlYy4KKwor
ICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc0ltYWdlRGF0YS5pZGw6CisgICAgICAgICogaHRt
bC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpjcmVhdGVJbWFnZURhdGEgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6Z2V0SW1h
Z2VEYXRhIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQy
REJhc2U6OnB1dEltYWdlRGF0YSk6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEQmFzZS5oOgorCiAyMDIxLTA0LTMwICBDYW1lcm9uIE1jQ29ybWFjayAgPGhl
eWNhbUBhcHBsZS5jb20+CiAKICAgICAgICAgRGVmZW5kIGZ1cnRoZXIgYWdhaW5zdCBhIFBsYXRm
b3JtQ0FMYXllcidzIG93bmVyIGJlY29taW5nIG51bGwgaW4gUGxhdGZvcm1DQUxheWVyQ29jb2E6
OmRyYXdMYXllckNvbnRlbnRzLgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzSW1hZ2VEYXRhLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNJbWFnZURhdGEuaWRsCShyZXZpc2lvbiAyNzY4MTkpCisrKyBTb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9DYW52YXNJbWFnZURhdGEuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSwx
MiArMjUsMTAgQEAKIAogLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uv
Y2FudmFzLmh0bWwjY2FudmFzaW1hZ2VkYXRhCiBpbnRlcmZhY2UgbWl4aW4gQ2FudmFzSW1hZ2VE
YXRhIHsKLSAgICAvLyBGSVhNRTogQWxsIHRoZSBmbG9hdCBhcmd1bWVudHMgYmVsb3cgc2hvdWxk
IGJlIGxvbmdzLgotCiAgICAgLy8gcGl4ZWwgbWFuaXB1bGF0aW9uCi0gICAgSW1hZ2VEYXRhIGNy
ZWF0ZUltYWdlRGF0YShmbG9hdCBzdywgZmxvYXQgc2gpOworICAgIEltYWdlRGF0YSBjcmVhdGVJ
bWFnZURhdGEoW0VuZm9yY2VSYW5nZV0gbG9uZyBzdywgW0VuZm9yY2VSYW5nZV0gbG9uZyBzaCk7
CiAgICAgSW1hZ2VEYXRhIGNyZWF0ZUltYWdlRGF0YShJbWFnZURhdGEgaW1hZ2VkYXRhKTsKLSAg
ICBJbWFnZURhdGEgZ2V0SW1hZ2VEYXRhKGZsb2F0IHN4LCBmbG9hdCBzeSwgZmxvYXQgc3csIGZs
b2F0IHNoKTsKLSAgICB1bmRlZmluZWQgcHV0SW1hZ2VEYXRhKEltYWdlRGF0YSBpbWFnZWRhdGEs
IGZsb2F0IGR4LCBmbG9hdCBkeSk7Ci0gICAgdW5kZWZpbmVkIHB1dEltYWdlRGF0YShJbWFnZURh
dGEgaW1hZ2VkYXRhLCBmbG9hdCBkeCwgZmxvYXQgZHksIGZsb2F0IGRpcnR5WCwgZmxvYXQgZGly
dHlZLCBmbG9hdCBkaXJ0eVdpZHRoLCBmbG9hdCBkaXJ0eUhlaWdodCk7CisgICAgSW1hZ2VEYXRh
IGdldEltYWdlRGF0YShbRW5mb3JjZVJhbmdlXSBsb25nIHN4LCBbRW5mb3JjZVJhbmdlXSBsb25n
IHN5LCBbRW5mb3JjZVJhbmdlXSBsb25nIHN3LCBbRW5mb3JjZVJhbmdlXSBsb25nIHNoKTsKKyAg
ICB1bmRlZmluZWQgcHV0SW1hZ2VEYXRhKEltYWdlRGF0YSBpbWFnZWRhdGEsIFtFbmZvcmNlUmFu
Z2VdIGxvbmcgZHgsIFtFbmZvcmNlUmFuZ2VdIGxvbmcgZHkpOworICAgIHVuZGVmaW5lZCBwdXRJ
bWFnZURhdGEoSW1hZ2VEYXRhIGltYWdlZGF0YSwgW0VuZm9yY2VSYW5nZV0gbG9uZyBkeCwgW0Vu
Zm9yY2VSYW5nZV0gbG9uZyBkeSwgW0VuZm9yY2VSYW5nZV0gbG9uZyBkaXJ0eVgsIFtFbmZvcmNl
UmFuZ2VdIGxvbmcgZGlydHlZLCBbRW5mb3JjZVJhbmdlXSBsb25nIGRpcnR5V2lkdGgsIFtFbmZv
cmNlUmFuZ2VdIGxvbmcgZGlydHlIZWlnaHQpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2Uu
Y3BwCShyZXZpc2lvbiAyNzY4MTkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52
YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE2NCwyNSAr
MjE2NCwxNiBAQCBSZWZQdHI8SW1hZ2VEYXRhPiBDYW52YXNSZW5kZXJpbmdDb250ZXh0CiAgICAg
cmV0dXJuIGNyZWF0ZUVtcHR5SW1hZ2VEYXRhKGltYWdlRGF0YS5zaXplKCkpOwogfQogCi1FeGNl
cHRpb25PcjxSZWZQdHI8SW1hZ2VEYXRhPj4gQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6
Y3JlYXRlSW1hZ2VEYXRhKGZsb2F0IHN3LCBmbG9hdCBzaCkgY29uc3QKK0V4Y2VwdGlvbk9yPFJl
ZlB0cjxJbWFnZURhdGE+PiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpjcmVhdGVJbWFn
ZURhdGEoaW50IHN3LCBpbnQgc2gpIGNvbnN0CiB7CiAgICAgaWYgKCFzdyB8fCAhc2gpCiAgICAg
ICAgIHJldHVybiBFeGNlcHRpb24geyBJbmRleFNpemVFcnJvciB9OwogCi0gICAgRmxvYXRTaXpl
IGxvZ2ljYWxTaXplKHN0ZDo6YWJzKHN3KSwgc3RkOjphYnMoc2gpKTsKLSAgICBpZiAoIWxvZ2lj
YWxTaXplLmlzRXhwcmVzc2libGVBc0ludFNpemUoKSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7
Ci0KLSAgICBJbnRTaXplIHNpemUgPSBleHBhbmRlZEludFNpemUobG9naWNhbFNpemUpOwotICAg
IGlmIChzaXplLndpZHRoKCkgPCAxKQotICAgICAgICBzaXplLnNldFdpZHRoKDEpOwotICAgIGlm
IChzaXplLmhlaWdodCgpIDwgMSkKLSAgICAgICAgc2l6ZS5zZXRIZWlnaHQoMSk7Ci0KKyAgICBJ
bnRTaXplIHNpemUgeyBzdGQ6OmFicyhzdyksIHN0ZDo6YWJzKHNoKSB9OwogICAgIHJldHVybiBj
cmVhdGVFbXB0eUltYWdlRGF0YShzaXplKTsKIH0KIAotRXhjZXB0aW9uT3I8UmVmUHRyPEltYWdl
RGF0YT4+IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OmdldEltYWdlRGF0YShmbG9hdCBz
eCwgZmxvYXQgc3ksIGZsb2F0IHN3LCBmbG9hdCBzaCkgY29uc3QKK0V4Y2VwdGlvbk9yPFJlZlB0
cjxJbWFnZURhdGE+PiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpnZXRJbWFnZURhdGEo
aW50IHN4LCBpbnQgc3ksIGludCBzdywgaW50IHNoKSBjb25zdAogewogICAgIGlmICghY2FudmFz
QmFzZSgpLm9yaWdpbkNsZWFuKCkpIHsKICAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFN0
cmluZz4gY29uc29sZU1lc3NhZ2UoTUFLRV9TVEFUSUNfU1RSSU5HX0lNUEwoIlVuYWJsZSB0byBn
ZXQgaW1hZ2UgZGF0YSBmcm9tIGNhbnZhcyBiZWNhdXNlIHRoZSBjYW52YXMgaGFzIGJlZW4gdGFp
bnRlZCBieSBjcm9zcy1vcmlnaW4gZGF0YS4iKSk7CkBAIC0yMjAyLDE1ICsyMTkzLDcgQEAgRXhj
ZXB0aW9uT3I8UmVmUHRyPEltYWdlRGF0YT4+IENhbnZhc1JlbgogICAgICAgICBzaCA9IC1zaDsK
ICAgICB9CiAKLSAgICBGbG9hdFJlY3QgbG9naWNhbFJlY3Qoc3gsIHN5LCBzdywgc2gpOwotICAg
IGlmIChsb2dpY2FsUmVjdC53aWR0aCgpIDwgMSkKLSAgICAgICAgbG9naWNhbFJlY3Quc2V0V2lk
dGgoMSk7Ci0gICAgaWYgKGxvZ2ljYWxSZWN0LmhlaWdodCgpIDwgMSkKLSAgICAgICAgbG9naWNh
bFJlY3Quc2V0SGVpZ2h0KDEpOwotICAgIGlmICghbG9naWNhbFJlY3QuaXNFeHByZXNzaWJsZUFz
SW50UmVjdCgpKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLQotICAgIEludFJlY3QgaW1hZ2VE
YXRhUmVjdCA9IGVuY2xvc2luZ0ludFJlY3QobG9naWNhbFJlY3QpOworICAgIEludFJlY3QgaW1h
Z2VEYXRhUmVjdCB7IHN4LCBzeSwgc3csIHNoIH07CiAKICAgICBJbWFnZUJ1ZmZlciogYnVmZmVy
ID0gY2FudmFzQmFzZSgpLmJ1ZmZlcigpOwogICAgIGlmICghYnVmZmVyKQpAQCAtMjIyNiwxMiAr
MjIwOSwxMiBAQCBFeGNlcHRpb25PcjxSZWZQdHI8SW1hZ2VEYXRhPj4gQ2FudmFzUmVuCiAgICAg
cmV0dXJuIGltYWdlRGF0YTsKIH0KIAotdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNl
OjpwdXRJbWFnZURhdGEoSW1hZ2VEYXRhJiBkYXRhLCBmbG9hdCBkeCwgZmxvYXQgZHkpCit2b2lk
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnB1dEltYWdlRGF0YShJbWFnZURhdGEmIGRh
dGEsIGludCBkeCwgaW50IGR5KQogewogICAgIHB1dEltYWdlRGF0YShkYXRhLCBkeCwgZHksIDAs
IDAsIGRhdGEud2lkdGgoKSwgZGF0YS5oZWlnaHQoKSk7CiB9CiAKLXZvaWQgQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEQmFzZTo6cHV0SW1hZ2VEYXRhKEltYWdlRGF0YSYgZGF0YSwgZmxvYXQgZHgs
IGZsb2F0IGR5LCBmbG9hdCBkaXJ0eVgsIGZsb2F0IGRpcnR5WSwgZmxvYXQgZGlydHlXaWR0aCwg
ZmxvYXQgZGlydHlIZWlnaHQpCit2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnB1
dEltYWdlRGF0YShJbWFnZURhdGEmIGRhdGEsIGludCBkeCwgaW50IGR5LCBpbnQgZGlydHlYLCBp
bnQgZGlydHlZLCBpbnQgZGlydHlXaWR0aCwgaW50IGRpcnR5SGVpZ2h0KQogewogICAgIEltYWdl
QnVmZmVyKiBidWZmZXIgPSBjYW52YXNCYXNlKCkuYnVmZmVyKCk7CiAgICAgaWYgKCFidWZmZXIp
CkBAIC0yMjUwLDIwICsyMjMzLDIwIEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFz
ZTo6cHV0SW0KICAgICAgICAgZGlydHlIZWlnaHQgPSAtZGlydHlIZWlnaHQ7CiAgICAgfQogCi0g
ICAgRmxvYXRSZWN0IGNsaXBSZWN0KGRpcnR5WCwgZGlydHlZLCBkaXJ0eVdpZHRoLCBkaXJ0eUhl
aWdodCk7Ci0gICAgY2xpcFJlY3QuaW50ZXJzZWN0KEludFJlY3QoMCwgMCwgZGF0YS53aWR0aCgp
LCBkYXRhLmhlaWdodCgpKSk7Ci0gICAgSW50U2l6ZSBkZXN0T2Zmc2V0KHN0YXRpY19jYXN0PGlu
dD4oZHgpLCBzdGF0aWNfY2FzdDxpbnQ+KGR5KSk7Ci0gICAgSW50UmVjdCBkZXN0UmVjdCA9IGVu
Y2xvc2luZ0ludFJlY3QoY2xpcFJlY3QpOworICAgIEludFJlY3QgY2xpcFJlY3QgeyBkaXJ0eVgs
IGRpcnR5WSwgZGlydHlXaWR0aCwgZGlydHlIZWlnaHQgfTsKKyAgICBjbGlwUmVjdC5pbnRlcnNl
Y3QoSW50UmVjdCB7IDAsIDAsIGRhdGEud2lkdGgoKSwgZGF0YS5oZWlnaHQoKSB9KTsKKyAgICBJ
bnRTaXplIGRlc3RPZmZzZXQgeyBkeCwgZHkgfTsKKyAgICBJbnRSZWN0IGRlc3RSZWN0ID0gY2xp
cFJlY3Q7CiAgICAgZGVzdFJlY3QubW92ZShkZXN0T2Zmc2V0KTsKLSAgICBkZXN0UmVjdC5pbnRl
cnNlY3QoSW50UmVjdChJbnRQb2ludCgpLCBidWZmZXItPmxvZ2ljYWxTaXplKCkpKTsKKyAgICBk
ZXN0UmVjdC5pbnRlcnNlY3QoSW50UmVjdCB7IHsgfSwgYnVmZmVyLT5sb2dpY2FsU2l6ZSgpIH0p
OwogICAgIGlmIChkZXN0UmVjdC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKLSAgICBJbnRS
ZWN0IHNvdXJjZVJlY3QoZGVzdFJlY3QpOworICAgIEludFJlY3Qgc291cmNlUmVjdCB7IGRlc3RS
ZWN0IH07CiAgICAgc291cmNlUmVjdC5tb3ZlKC1kZXN0T2Zmc2V0KTsKLSAgICBzb3VyY2VSZWN0
LmludGVyc2VjdChJbnRSZWN0KDAsIDAsIGRhdGEud2lkdGgoKSwgZGF0YS5oZWlnaHQoKSkpOwor
ICAgIHNvdXJjZVJlY3QuaW50ZXJzZWN0KEludFJlY3QgeyAwLCAwLCBkYXRhLndpZHRoKCksIGRh
dGEuaGVpZ2h0KCkgfSk7CiAKICAgICBpZiAoIXNvdXJjZVJlY3QuaXNFbXB0eSgpKQotICAgICAg
ICBidWZmZXItPnB1dEltYWdlRGF0YShBbHBoYVByZW11bHRpcGxpY2F0aW9uOjpVbnByZW11bHRp
cGxpZWQsIGRhdGEsIHNvdXJjZVJlY3QsIEludFBvaW50KGRlc3RPZmZzZXQpKTsKKyAgICAgICAg
YnVmZmVyLT5wdXRJbWFnZURhdGEoQWxwaGFQcmVtdWx0aXBsaWNhdGlvbjo6VW5wcmVtdWx0aXBs
aWVkLCBkYXRhLCBzb3VyY2VSZWN0LCBJbnRQb2ludCB7IGRlc3RPZmZzZXQgfSk7CiAKICAgICBk
aWREcmF3KEZsb2F0UmVjdCB7IGRlc3RSZWN0IH0sIHsgfSk7IC8vIGlnbm9yZSB0cmFuc2Zvcm0s
IHNoYWRvdyBhbmQgY2xpcAogfQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuaAkocmV2aXNpb24gMjc2
ODE5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEQmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xODgsMTAgKzE4OCwxMCBAQCBwdWJsaWM6CiAg
ICAgRXhjZXB0aW9uT3I8UmVmUHRyPENhbnZhc1BhdHRlcm4+PiBjcmVhdGVQYXR0ZXJuKENhbnZh
c0ltYWdlU291cmNlJiYsIGNvbnN0IFN0cmluZyYgcmVwZXRpdGlvbik7CiAKICAgICBSZWZQdHI8
SW1hZ2VEYXRhPiBjcmVhdGVJbWFnZURhdGEoSW1hZ2VEYXRhJikgY29uc3Q7Ci0gICAgRXhjZXB0
aW9uT3I8UmVmUHRyPEltYWdlRGF0YT4+IGNyZWF0ZUltYWdlRGF0YShmbG9hdCB3aWR0aCwgZmxv
YXQgaGVpZ2h0KSBjb25zdDsKLSAgICBFeGNlcHRpb25PcjxSZWZQdHI8SW1hZ2VEYXRhPj4gZ2V0
SW1hZ2VEYXRhKGZsb2F0IHN4LCBmbG9hdCBzeSwgZmxvYXQgc3csIGZsb2F0IHNoKSBjb25zdDsK
LSAgICB2b2lkIHB1dEltYWdlRGF0YShJbWFnZURhdGEmLCBmbG9hdCBkeCwgZmxvYXQgZHkpOwot
ICAgIHZvaWQgcHV0SW1hZ2VEYXRhKEltYWdlRGF0YSYsIGZsb2F0IGR4LCBmbG9hdCBkeSwgZmxv
YXQgZGlydHlYLCBmbG9hdCBkaXJ0eVksIGZsb2F0IGRpcnR5V2lkdGgsIGZsb2F0IGRpcnR5SGVp
Z2h0KTsKKyAgICBFeGNlcHRpb25PcjxSZWZQdHI8SW1hZ2VEYXRhPj4gY3JlYXRlSW1hZ2VEYXRh
KGludCB3aWR0aCwgaW50IGhlaWdodCkgY29uc3Q7CisgICAgRXhjZXB0aW9uT3I8UmVmUHRyPElt
YWdlRGF0YT4+IGdldEltYWdlRGF0YShpbnQgc3gsIGludCBzeSwgaW50IHN3LCBpbnQgc2gpIGNv
bnN0OworICAgIHZvaWQgcHV0SW1hZ2VEYXRhKEltYWdlRGF0YSYsIGludCBkeCwgaW50IGR5KTsK
KyAgICB2b2lkIHB1dEltYWdlRGF0YShJbWFnZURhdGEmLCBpbnQgZHgsIGludCBkeSwgaW50IGRp
cnR5WCwgaW50IGRpcnR5WSwgaW50IGRpcnR5V2lkdGgsIGludCBkaXJ0eUhlaWdodCk7CiAKICAg
ICBzdGF0aWMgY29uc3RleHByIGZsb2F0IHdlYmtpdEJhY2tpbmdTdG9yZVBpeGVsUmF0aW8oKSB7
IHJldHVybiAxOyB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427498</attachid>
            <date>2021-05-01 09:15:39 -0700</date>
            <delta_ts>2021-05-01 13:41:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225263-20210501091538.patch</filename>
            <type>text/plain</type>
            <size>44689</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3Njg2OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDIxLTA0LTMwICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgb3BlcmF0aW9ucyBpbiBD
YW52YXNJbWFnZURhdGEuaWRsIHRvIHVzZSBsb25nIHJhdGhlciB0aGFuIGZsb2F0IGFzIHBlciBz
cGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjUy
NjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2Ug
YFtFbmZvcmNlUmFuZ2VdIGxvbmdgIHRvIG1hdGNoIHRoZSBjdXJyZW50IEhUTUwgc3BlYy4KKwor
ICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc0ltYWdlRGF0YS5pZGw6CisgICAgICAgICogaHRt
bC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpjcmVhdGVJbWFnZURhdGEgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6Z2V0SW1h
Z2VEYXRhIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQy
REJhc2U6OnB1dEltYWdlRGF0YSk6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEQmFzZS5oOgorCiAyMDIxLTA0LTMwICBDYW1lcm9uIE1jQ29ybWFjayAgPGhl
eWNhbUBhcHBsZS5jb20+CiAKICAgICAgICAgRGVmZW5kIGZ1cnRoZXIgYWdhaW5zdCBhIFBsYXRm
b3JtQ0FMYXllcidzIG93bmVyIGJlY29taW5nIG51bGwgaW4gUGxhdGZvcm1DQUxheWVyQ29jb2E6
OmRyYXdMYXllckNvbnRlbnRzLgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzSW1hZ2VEYXRhLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNJbWFnZURhdGEuaWRsCShyZXZpc2lvbiAyNzY4MTkpCisrKyBTb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9DYW52YXNJbWFnZURhdGEuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSwx
MiArMjUsMTAgQEAKIAogLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uv
Y2FudmFzLmh0bWwjY2FudmFzaW1hZ2VkYXRhCiBpbnRlcmZhY2UgbWl4aW4gQ2FudmFzSW1hZ2VE
YXRhIHsKLSAgICAvLyBGSVhNRTogQWxsIHRoZSBmbG9hdCBhcmd1bWVudHMgYmVsb3cgc2hvdWxk
IGJlIGxvbmdzLgotCiAgICAgLy8gcGl4ZWwgbWFuaXB1bGF0aW9uCi0gICAgSW1hZ2VEYXRhIGNy
ZWF0ZUltYWdlRGF0YShmbG9hdCBzdywgZmxvYXQgc2gpOworICAgIEltYWdlRGF0YSBjcmVhdGVJ
bWFnZURhdGEoW0VuZm9yY2VSYW5nZV0gbG9uZyBzdywgW0VuZm9yY2VSYW5nZV0gbG9uZyBzaCk7
CiAgICAgSW1hZ2VEYXRhIGNyZWF0ZUltYWdlRGF0YShJbWFnZURhdGEgaW1hZ2VkYXRhKTsKLSAg
ICBJbWFnZURhdGEgZ2V0SW1hZ2VEYXRhKGZsb2F0IHN4LCBmbG9hdCBzeSwgZmxvYXQgc3csIGZs
b2F0IHNoKTsKLSAgICB1bmRlZmluZWQgcHV0SW1hZ2VEYXRhKEltYWdlRGF0YSBpbWFnZWRhdGEs
IGZsb2F0IGR4LCBmbG9hdCBkeSk7Ci0gICAgdW5kZWZpbmVkIHB1dEltYWdlRGF0YShJbWFnZURh
dGEgaW1hZ2VkYXRhLCBmbG9hdCBkeCwgZmxvYXQgZHksIGZsb2F0IGRpcnR5WCwgZmxvYXQgZGly
dHlZLCBmbG9hdCBkaXJ0eVdpZHRoLCBmbG9hdCBkaXJ0eUhlaWdodCk7CisgICAgSW1hZ2VEYXRh
IGdldEltYWdlRGF0YShbRW5mb3JjZVJhbmdlXSBsb25nIHN4LCBbRW5mb3JjZVJhbmdlXSBsb25n
IHN5LCBbRW5mb3JjZVJhbmdlXSBsb25nIHN3LCBbRW5mb3JjZVJhbmdlXSBsb25nIHNoKTsKKyAg
ICB1bmRlZmluZWQgcHV0SW1hZ2VEYXRhKEltYWdlRGF0YSBpbWFnZWRhdGEsIFtFbmZvcmNlUmFu
Z2VdIGxvbmcgZHgsIFtFbmZvcmNlUmFuZ2VdIGxvbmcgZHkpOworICAgIHVuZGVmaW5lZCBwdXRJ
bWFnZURhdGEoSW1hZ2VEYXRhIGltYWdlZGF0YSwgW0VuZm9yY2VSYW5nZV0gbG9uZyBkeCwgW0Vu
Zm9yY2VSYW5nZV0gbG9uZyBkeSwgW0VuZm9yY2VSYW5nZV0gbG9uZyBkaXJ0eVgsIFtFbmZvcmNl
UmFuZ2VdIGxvbmcgZGlydHlZLCBbRW5mb3JjZVJhbmdlXSBsb25nIGRpcnR5V2lkdGgsIFtFbmZv
cmNlUmFuZ2VdIGxvbmcgZGlydHlIZWlnaHQpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2Uu
Y3BwCShyZXZpc2lvbiAyNzY4MTkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52
YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE2NCwyNSAr
MjE2NCwxNiBAQCBSZWZQdHI8SW1hZ2VEYXRhPiBDYW52YXNSZW5kZXJpbmdDb250ZXh0CiAgICAg
cmV0dXJuIGNyZWF0ZUVtcHR5SW1hZ2VEYXRhKGltYWdlRGF0YS5zaXplKCkpOwogfQogCi1FeGNl
cHRpb25PcjxSZWZQdHI8SW1hZ2VEYXRhPj4gQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6
Y3JlYXRlSW1hZ2VEYXRhKGZsb2F0IHN3LCBmbG9hdCBzaCkgY29uc3QKK0V4Y2VwdGlvbk9yPFJl
ZlB0cjxJbWFnZURhdGE+PiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpjcmVhdGVJbWFn
ZURhdGEoaW50IHN3LCBpbnQgc2gpIGNvbnN0CiB7CiAgICAgaWYgKCFzdyB8fCAhc2gpCiAgICAg
ICAgIHJldHVybiBFeGNlcHRpb24geyBJbmRleFNpemVFcnJvciB9OwogCi0gICAgRmxvYXRTaXpl
IGxvZ2ljYWxTaXplKHN0ZDo6YWJzKHN3KSwgc3RkOjphYnMoc2gpKTsKLSAgICBpZiAoIWxvZ2lj
YWxTaXplLmlzRXhwcmVzc2libGVBc0ludFNpemUoKSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7
Ci0KLSAgICBJbnRTaXplIHNpemUgPSBleHBhbmRlZEludFNpemUobG9naWNhbFNpemUpOwotICAg
IGlmIChzaXplLndpZHRoKCkgPCAxKQotICAgICAgICBzaXplLnNldFdpZHRoKDEpOwotICAgIGlm
IChzaXplLmhlaWdodCgpIDwgMSkKLSAgICAgICAgc2l6ZS5zZXRIZWlnaHQoMSk7Ci0KKyAgICBJ
bnRTaXplIHNpemUgeyBzdGQ6OmFicyhzdyksIHN0ZDo6YWJzKHNoKSB9OwogICAgIHJldHVybiBj
cmVhdGVFbXB0eUltYWdlRGF0YShzaXplKTsKIH0KIAotRXhjZXB0aW9uT3I8UmVmUHRyPEltYWdl
RGF0YT4+IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OmdldEltYWdlRGF0YShmbG9hdCBz
eCwgZmxvYXQgc3ksIGZsb2F0IHN3LCBmbG9hdCBzaCkgY29uc3QKK0V4Y2VwdGlvbk9yPFJlZlB0
cjxJbWFnZURhdGE+PiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpnZXRJbWFnZURhdGEo
aW50IHN4LCBpbnQgc3ksIGludCBzdywgaW50IHNoKSBjb25zdAogewogICAgIGlmICghY2FudmFz
QmFzZSgpLm9yaWdpbkNsZWFuKCkpIHsKICAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFN0
cmluZz4gY29uc29sZU1lc3NhZ2UoTUFLRV9TVEFUSUNfU1RSSU5HX0lNUEwoIlVuYWJsZSB0byBn
ZXQgaW1hZ2UgZGF0YSBmcm9tIGNhbnZhcyBiZWNhdXNlIHRoZSBjYW52YXMgaGFzIGJlZW4gdGFp
bnRlZCBieSBjcm9zcy1vcmlnaW4gZGF0YS4iKSk7CkBAIC0yMjAyLDE1ICsyMTkzLDcgQEAgRXhj
ZXB0aW9uT3I8UmVmUHRyPEltYWdlRGF0YT4+IENhbnZhc1JlbgogICAgICAgICBzaCA9IC1zaDsK
ICAgICB9CiAKLSAgICBGbG9hdFJlY3QgbG9naWNhbFJlY3Qoc3gsIHN5LCBzdywgc2gpOwotICAg
IGlmIChsb2dpY2FsUmVjdC53aWR0aCgpIDwgMSkKLSAgICAgICAgbG9naWNhbFJlY3Quc2V0V2lk
dGgoMSk7Ci0gICAgaWYgKGxvZ2ljYWxSZWN0LmhlaWdodCgpIDwgMSkKLSAgICAgICAgbG9naWNh
bFJlY3Quc2V0SGVpZ2h0KDEpOwotICAgIGlmICghbG9naWNhbFJlY3QuaXNFeHByZXNzaWJsZUFz
SW50UmVjdCgpKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLQotICAgIEludFJlY3QgaW1hZ2VE
YXRhUmVjdCA9IGVuY2xvc2luZ0ludFJlY3QobG9naWNhbFJlY3QpOworICAgIEludFJlY3QgaW1h
Z2VEYXRhUmVjdCB7IHN4LCBzeSwgc3csIHNoIH07CiAKICAgICBJbWFnZUJ1ZmZlciogYnVmZmVy
ID0gY2FudmFzQmFzZSgpLmJ1ZmZlcigpOwogICAgIGlmICghYnVmZmVyKQpAQCAtMjIyNiwxMiAr
MjIwOSwxMiBAQCBFeGNlcHRpb25PcjxSZWZQdHI8SW1hZ2VEYXRhPj4gQ2FudmFzUmVuCiAgICAg
cmV0dXJuIGltYWdlRGF0YTsKIH0KIAotdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNl
OjpwdXRJbWFnZURhdGEoSW1hZ2VEYXRhJiBkYXRhLCBmbG9hdCBkeCwgZmxvYXQgZHkpCit2b2lk
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnB1dEltYWdlRGF0YShJbWFnZURhdGEmIGRh
dGEsIGludCBkeCwgaW50IGR5KQogewogICAgIHB1dEltYWdlRGF0YShkYXRhLCBkeCwgZHksIDAs
IDAsIGRhdGEud2lkdGgoKSwgZGF0YS5oZWlnaHQoKSk7CiB9CiAKLXZvaWQgQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEQmFzZTo6cHV0SW1hZ2VEYXRhKEltYWdlRGF0YSYgZGF0YSwgZmxvYXQgZHgs
IGZsb2F0IGR5LCBmbG9hdCBkaXJ0eVgsIGZsb2F0IGRpcnR5WSwgZmxvYXQgZGlydHlXaWR0aCwg
ZmxvYXQgZGlydHlIZWlnaHQpCit2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnB1
dEltYWdlRGF0YShJbWFnZURhdGEmIGRhdGEsIGludCBkeCwgaW50IGR5LCBpbnQgZGlydHlYLCBp
bnQgZGlydHlZLCBpbnQgZGlydHlXaWR0aCwgaW50IGRpcnR5SGVpZ2h0KQogewogICAgIEltYWdl
QnVmZmVyKiBidWZmZXIgPSBjYW52YXNCYXNlKCkuYnVmZmVyKCk7CiAgICAgaWYgKCFidWZmZXIp
CkBAIC0yMjUwLDIwICsyMjMzLDIwIEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFz
ZTo6cHV0SW0KICAgICAgICAgZGlydHlIZWlnaHQgPSAtZGlydHlIZWlnaHQ7CiAgICAgfQogCi0g
ICAgRmxvYXRSZWN0IGNsaXBSZWN0KGRpcnR5WCwgZGlydHlZLCBkaXJ0eVdpZHRoLCBkaXJ0eUhl
aWdodCk7Ci0gICAgY2xpcFJlY3QuaW50ZXJzZWN0KEludFJlY3QoMCwgMCwgZGF0YS53aWR0aCgp
LCBkYXRhLmhlaWdodCgpKSk7Ci0gICAgSW50U2l6ZSBkZXN0T2Zmc2V0KHN0YXRpY19jYXN0PGlu
dD4oZHgpLCBzdGF0aWNfY2FzdDxpbnQ+KGR5KSk7Ci0gICAgSW50UmVjdCBkZXN0UmVjdCA9IGVu
Y2xvc2luZ0ludFJlY3QoY2xpcFJlY3QpOworICAgIEludFJlY3QgY2xpcFJlY3QgeyBkaXJ0eVgs
IGRpcnR5WSwgZGlydHlXaWR0aCwgZGlydHlIZWlnaHQgfTsKKyAgICBjbGlwUmVjdC5pbnRlcnNl
Y3QoSW50UmVjdCB7IDAsIDAsIGRhdGEud2lkdGgoKSwgZGF0YS5oZWlnaHQoKSB9KTsKKyAgICBJ
bnRTaXplIGRlc3RPZmZzZXQgeyBkeCwgZHkgfTsKKyAgICBJbnRSZWN0IGRlc3RSZWN0ID0gY2xp
cFJlY3Q7CiAgICAgZGVzdFJlY3QubW92ZShkZXN0T2Zmc2V0KTsKLSAgICBkZXN0UmVjdC5pbnRl
cnNlY3QoSW50UmVjdChJbnRQb2ludCgpLCBidWZmZXItPmxvZ2ljYWxTaXplKCkpKTsKKyAgICBk
ZXN0UmVjdC5pbnRlcnNlY3QoSW50UmVjdCB7IHsgfSwgYnVmZmVyLT5sb2dpY2FsU2l6ZSgpIH0p
OwogICAgIGlmIChkZXN0UmVjdC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKLSAgICBJbnRS
ZWN0IHNvdXJjZVJlY3QoZGVzdFJlY3QpOworICAgIEludFJlY3Qgc291cmNlUmVjdCB7IGRlc3RS
ZWN0IH07CiAgICAgc291cmNlUmVjdC5tb3ZlKC1kZXN0T2Zmc2V0KTsKLSAgICBzb3VyY2VSZWN0
LmludGVyc2VjdChJbnRSZWN0KDAsIDAsIGRhdGEud2lkdGgoKSwgZGF0YS5oZWlnaHQoKSkpOwor
ICAgIHNvdXJjZVJlY3QuaW50ZXJzZWN0KEludFJlY3QgeyAwLCAwLCBkYXRhLndpZHRoKCksIGRh
dGEuaGVpZ2h0KCkgfSk7CiAKICAgICBpZiAoIXNvdXJjZVJlY3QuaXNFbXB0eSgpKQotICAgICAg
ICBidWZmZXItPnB1dEltYWdlRGF0YShBbHBoYVByZW11bHRpcGxpY2F0aW9uOjpVbnByZW11bHRp
cGxpZWQsIGRhdGEsIHNvdXJjZVJlY3QsIEludFBvaW50KGRlc3RPZmZzZXQpKTsKKyAgICAgICAg
YnVmZmVyLT5wdXRJbWFnZURhdGEoQWxwaGFQcmVtdWx0aXBsaWNhdGlvbjo6VW5wcmVtdWx0aXBs
aWVkLCBkYXRhLCBzb3VyY2VSZWN0LCBJbnRQb2ludCB7IGRlc3RPZmZzZXQgfSk7CiAKICAgICBk
aWREcmF3KEZsb2F0UmVjdCB7IGRlc3RSZWN0IH0sIHsgfSk7IC8vIGlnbm9yZSB0cmFuc2Zvcm0s
IHNoYWRvdyBhbmQgY2xpcAogfQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuaAkocmV2aXNpb24gMjc2
ODE5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEQmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xODgsMTAgKzE4OCwxMCBAQCBwdWJsaWM6CiAg
ICAgRXhjZXB0aW9uT3I8UmVmUHRyPENhbnZhc1BhdHRlcm4+PiBjcmVhdGVQYXR0ZXJuKENhbnZh
c0ltYWdlU291cmNlJiYsIGNvbnN0IFN0cmluZyYgcmVwZXRpdGlvbik7CiAKICAgICBSZWZQdHI8
SW1hZ2VEYXRhPiBjcmVhdGVJbWFnZURhdGEoSW1hZ2VEYXRhJikgY29uc3Q7Ci0gICAgRXhjZXB0
aW9uT3I8UmVmUHRyPEltYWdlRGF0YT4+IGNyZWF0ZUltYWdlRGF0YShmbG9hdCB3aWR0aCwgZmxv
YXQgaGVpZ2h0KSBjb25zdDsKLSAgICBFeGNlcHRpb25PcjxSZWZQdHI8SW1hZ2VEYXRhPj4gZ2V0
SW1hZ2VEYXRhKGZsb2F0IHN4LCBmbG9hdCBzeSwgZmxvYXQgc3csIGZsb2F0IHNoKSBjb25zdDsK
LSAgICB2b2lkIHB1dEltYWdlRGF0YShJbWFnZURhdGEmLCBmbG9hdCBkeCwgZmxvYXQgZHkpOwot
ICAgIHZvaWQgcHV0SW1hZ2VEYXRhKEltYWdlRGF0YSYsIGZsb2F0IGR4LCBmbG9hdCBkeSwgZmxv
YXQgZGlydHlYLCBmbG9hdCBkaXJ0eVksIGZsb2F0IGRpcnR5V2lkdGgsIGZsb2F0IGRpcnR5SGVp
Z2h0KTsKKyAgICBFeGNlcHRpb25PcjxSZWZQdHI8SW1hZ2VEYXRhPj4gY3JlYXRlSW1hZ2VEYXRh
KGludCB3aWR0aCwgaW50IGhlaWdodCkgY29uc3Q7CisgICAgRXhjZXB0aW9uT3I8UmVmUHRyPElt
YWdlRGF0YT4+IGdldEltYWdlRGF0YShpbnQgc3gsIGludCBzeSwgaW50IHN3LCBpbnQgc2gpIGNv
bnN0OworICAgIHZvaWQgcHV0SW1hZ2VEYXRhKEltYWdlRGF0YSYsIGludCBkeCwgaW50IGR5KTsK
KyAgICB2b2lkIHB1dEltYWdlRGF0YShJbWFnZURhdGEmLCBpbnQgZHgsIGludCBkeSwgaW50IGRp
cnR5WCwgaW50IGRpcnR5WSwgaW50IGRpcnR5V2lkdGgsIGludCBkaXJ0eUhlaWdodCk7CiAKICAg
ICBzdGF0aWMgY29uc3RleHByIGZsb2F0IHdlYmtpdEJhY2tpbmdTdG9yZVBpeGVsUmF0aW8oKSB7
IHJldHVybiAxOyB9CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3NjgxOSkKKysrIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDIxLTA1LTAxICBT
YW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgb3BlcmF0aW9u
cyBpbiBDYW52YXNJbWFnZURhdGEuaWRsIHRvIHVzZSBsb25nIHJhdGhlciB0aGFuIGZsb2F0IGFz
IHBlciBzcGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjUyNjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuaW1hZ2VEYXRhLmNyZWF0ZTIudGlueS1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5pbWFnZURhdGEuZ2V0LnRp
bnktZXhwZWN0ZWQudHh0OgorICAgICAgICBVcGRhdGUgcmVzdWx0cywgd2hpY2ggbm93IGRvbid0
IHBhc3MsIHRvIG1hdGNoIHRoZSBzcGVjIGJlaGF2aW9yLgorCisgICAgICAgICogZmFzdC9jYW52
YXMvY2FudmFzLTJkLWltYWdlRGF0YS1jcmVhdGUtbm9uZmluaXRlLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBmYXN0L2NhbnZhcy9jYW52YXMtY3Jhc2guaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nh
bnZhcy9jYW52YXMtZ2V0SW1hZ2VEYXRhLWludmFsaWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IGZhc3QvY2FudmFzL2NhbnZhcy1nZXRJbWFnZURhdGEtaW52YWxpZC1yZXN1bHQtYnVmZmVyLWNy
YXNoLmh0bWw6CisgICAgICAgICogZmFzdC9jYW52YXMvY2FudmFzLWdldEltYWdlRGF0YS1pbnZh
bGlkLmh0bWw6CisgICAgICAgICogZmFzdC9jYW52YXMvY2FudmFzLWdldEltYWdlRGF0YS1sYXJn
ZS1jcmFzaC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jYW52YXMvY2FudmFzLWdldElt
YWdlRGF0YS1yb3VuZGluZy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jYW52YXMvY2Fu
dmFzLWdldEltYWdlRGF0YS1yb3VuZGluZy5odG1sOgorICAgICAgICAqIGZhc3QvY2FudmFzL2Nh
bnZhcy1wdXRJbWFnZURhdGEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY2FudmFzL2Nh
bnZhcy1wdXRJbWFnZURhdGEuanM6CisgICAgICAgICogZmFzdC9jYW52YXMvcmVzb3VyY2VzL2Nh
bnZhcy0yZC1pbWFnZURhdGEtY3JlYXRlLW5vbmZpbml0ZS5qczoKKyAgICAgICAgVXBkYXRlIHRl
c3RzIGFuZCByZXN1bHRzIHRvIG1hdGNoIHNwZWMgYmVoYXZpb3IuCisKIDIwMjEtMDQtMjkgIFph
bGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBGbG9hdGluZyBvYmplY3Qg
YXJlIG5vdCByZW1vdmVkIGZyb20gdGhlIGluaXRpYWwgY29udGFpbmluZyBibG9jawpJbmRleDog
TGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5pbWFnZURhdGEuY3JlYXRlMi50aW55
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rl
c3RzLzJkLmltYWdlRGF0YS5jcmVhdGUyLnRpbnktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNzY4
MTkpCisrKyBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmltYWdlRGF0YS5jcmVh
dGUyLnRpbnktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBACi1QYXNzZWQK
K0Fib3J0ZWQgd2l0aCBleGNlcHRpb246IFRoZSBpbmRleCBpcyBub3QgaW4gdGhlIGFsbG93ZWQg
cmFuZ2UuCkluZGV4OiBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmltYWdlRGF0
YS5nZXQudGlueS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvY2FudmFz
L3BoaWxpcC90ZXN0cy8yZC5pbWFnZURhdGEuZ2V0LnRpbnktZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAyNzY4MTkpCisrKyBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmltYWdlRGF0
YS5nZXQudGlueS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEgKzEgQEAKLVBhc3Nl
ZAorQWJvcnRlZCB3aXRoIGV4Y2VwdGlvbjogVGhlIGluZGV4IGlzIG5vdCBpbiB0aGUgYWxsb3dl
ZCByYW5nZS4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy0yZC1pbWFnZURh
dGEtY3JlYXRlLW5vbmZpbml0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvY2FudmFzLTJkLWltYWdlRGF0YS1jcmVhdGUtbm9uZmluaXRlLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMjc2ODE5KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2Fu
dmFzLTJkLWltYWdlRGF0YS1jcmVhdGUtbm9uZmluaXRlLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMywxMyArMywxMyBAQCBUZXN0IHRoZSBhcmd1bWVudCBib3VuZHMgb2YgY2FudmFz
IGNyZWF0CiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotUEFTUyBjdHguY3JlYXRlSW1h
Z2VEYXRhKEluZmluaXR5LCBJbmZpbml0eSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVGhl
IHByb3ZpZGVkIHZhbHVlIGlzIG5vbi1maW5pdGUuCi1QQVNTIGN0eC5jcmVhdGVJbWFnZURhdGEo
SW5maW5pdHksIDEwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUaGUgcHJvdmlkZWQgdmFs
dWUgaXMgbm9uLWZpbml0ZS4KLVBBU1MgY3R4LmNyZWF0ZUltYWdlRGF0YSgtSW5maW5pdHksIDEw
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUaGUgcHJvdmlkZWQgdmFsdWUgaXMgbm9uLWZp
bml0ZS4KLVBBU1MgY3R4LmNyZWF0ZUltYWdlRGF0YSgxMCwgSW5maW5pdHkpIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IFRoZSBwcm92aWRlZCB2YWx1ZSBpcyBub24tZmluaXRlLgotUEFTUyBj
dHguY3JlYXRlSW1hZ2VEYXRhKDEwLCAtSW5maW5pdHkpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IFRoZSBwcm92aWRlZCB2YWx1ZSBpcyBub24tZmluaXRlLgotUEFTUyBjdHguY3JlYXRlSW1h
Z2VEYXRhKE5hTiwgMTApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFRoZSBwcm92aWRlZCB2
YWx1ZSBpcyBub24tZmluaXRlLgotUEFTUyBjdHguY3JlYXRlSW1hZ2VEYXRhKDEwLCBOYU4pIHRo
cmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFRoZSBwcm92aWRlZCB2YWx1ZSBpcyBub24tZmluaXRl
LgorUEFTUyBjdHguY3JlYXRlSW1hZ2VEYXRhKEluZmluaXR5LCBJbmZpbml0eSkgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogVmFsdWUgSW5maW5pdHkgaXMgb3V0c2lkZSB0aGUgcmFuZ2UgWy0y
MTQ3NDgzNjQ4LCAyMTQ3NDgzNjQ3XS4KK1BBU1MgY3R4LmNyZWF0ZUltYWdlRGF0YShJbmZpbml0
eSwgMTApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFZhbHVlIEluZmluaXR5IGlzIG91dHNp
ZGUgdGhlIHJhbmdlIFstMjE0NzQ4MzY0OCwgMjE0NzQ4MzY0N10uCitQQVNTIGN0eC5jcmVhdGVJ
bWFnZURhdGEoLUluZmluaXR5LCAxMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVmFsdWUg
LUluZmluaXR5IGlzIG91dHNpZGUgdGhlIHJhbmdlIFstMjE0NzQ4MzY0OCwgMjE0NzQ4MzY0N10u
CitQQVNTIGN0eC5jcmVhdGVJbWFnZURhdGEoMTAsIEluZmluaXR5KSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBWYWx1ZSBJbmZpbml0eSBpcyBvdXRzaWRlIHRoZSByYW5nZSBbLTIxNDc0ODM2
NDgsIDIxNDc0ODM2NDddLgorUEFTUyBjdHguY3JlYXRlSW1hZ2VEYXRhKDEwLCAtSW5maW5pdHkp
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFZhbHVlIC1JbmZpbml0eSBpcyBvdXRzaWRlIHRo
ZSByYW5nZSBbLTIxNDc0ODM2NDgsIDIxNDc0ODM2NDddLgorUEFTUyBjdHguY3JlYXRlSW1hZ2VE
YXRhKE5hTiwgMTApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFZhbHVlIE5hTiBpcyBvdXRz
aWRlIHRoZSByYW5nZSBbLTIxNDc0ODM2NDgsIDIxNDc0ODM2NDddLgorUEFTUyBjdHguY3JlYXRl
SW1hZ2VEYXRhKDEwLCBOYU4pIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFZhbHVlIE5hTiBp
cyBvdXRzaWRlIHRoZSByYW5nZSBbLTIxNDc0ODM2NDgsIDIxNDc0ODM2NDddLgogUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy9jYW52YXMtY3Jhc2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy9jYW52YXMtY3Jhc2guaHRtbAkocmV2aXNpb24gMjc2ODE5KQorKysgTGF5
b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWNyYXNoLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTEzLDcgKzEzLDcgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogZnVuY3Rpb24gY2FudmFzdGVz
dCgpCiB7CiAgICAgdmFyIGN0eCA9IGRvY3VtZW50LmdldENTU0NhbnZhc0NvbnRleHQoIjJkIiwg
ImNhbnZhc3Rlc3QiLCAxMzk1MSwgMTExMzgpOwotICAgIGN0eC5wdXRJbWFnZURhdGEoY3R4Lmdl
dEltYWdlRGF0YSgxNDMxNjU1NzY2LCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYSIpLmFwcGVu
ZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm1lZGlhIikpLmNsaWVudFdpZHRoLCA0MDk2
LCAtMTAyNCksIDEyOCwgLTY1NTM1LCAxMjcsIC0yMTQ3NDgzNjQ4LCAxMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExLCAtMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMSk7CisgICAgY3R4LnB1dEltYWdlRGF0YShjdHguZ2V0SW1hZ2VEYXRh
KDE0MzE2NTU3NjYsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhIikuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgibWVkaWEiKSkuY2xpZW50V2lkdGgsIDQwOTYsIC0xMDI0KSwg
MTI4LCAtNjU1MzUsIDEyNywgLTIxNDc0ODM2NDgsIDIxNDc0ODM2NDcsIC0yMTQ3NDgzNjQ4KTsK
IH0KIAogY2FudmFzdGVzdCgpOwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFz
LWdldEltYWdlRGF0YS1pbnZhbGlkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtZ2V0SW1hZ2VEYXRhLWludmFsaWQtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAyNzY4MTkpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtZ2V0
SW1hZ2VEYXRhLWludmFsaWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zLDE4ICsz
LDE4IEBAIFRlc3QgdGhlIGhhbmRsaW5nIG9mIGludmFsaWQgYXJndW1lbnRzIGkKIE9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIGN0eC5nZXRJbWFnZURhdGEoTmFOLCAxMCwgMTAs
IDEwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUaGUgcHJvdmlkZWQgdmFsdWUgaXMgbm9u
LWZpbml0ZS4KLVBBU1MgY3R4LmdldEltYWdlRGF0YSgxMCwgTmFOLCAxMCwgMTApIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IFRoZSBwcm92aWRlZCB2YWx1ZSBpcyBub24tZmluaXRlLgotUEFT
UyBjdHguZ2V0SW1hZ2VEYXRhKDEwLCAxMCwgTmFOLCAxMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogVGhlIHByb3ZpZGVkIHZhbHVlIGlzIG5vbi1maW5pdGUuCi1QQVNTIGN0eC5nZXRJbWFn
ZURhdGEoMTAsIDEwLCAxMCwgTmFOKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUaGUgcHJv
dmlkZWQgdmFsdWUgaXMgbm9uLWZpbml0ZS4KLVBBU1MgY3R4LmdldEltYWdlRGF0YShJbmZpbml0
eSwgMTAsIDEwLCAxMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVGhlIHByb3ZpZGVkIHZh
bHVlIGlzIG5vbi1maW5pdGUuCi1QQVNTIGN0eC5nZXRJbWFnZURhdGEoMTAsIEluZmluaXR5LCAx
MCwgMTApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFRoZSBwcm92aWRlZCB2YWx1ZSBpcyBu
b24tZmluaXRlLgotUEFTUyBjdHguZ2V0SW1hZ2VEYXRhKDEwLCAxMCwgSW5maW5pdHksIDEwKSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUaGUgcHJvdmlkZWQgdmFsdWUgaXMgbm9uLWZpbml0
ZS4KLVBBU1MgY3R4LmdldEltYWdlRGF0YSgxMCwgMTAsIDEwLCBJbmZpbml0eSkgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogVGhlIHByb3ZpZGVkIHZhbHVlIGlzIG5vbi1maW5pdGUuCi1QQVNT
IGN0eC5nZXRJbWFnZURhdGEodW5kZWZpbmVkLCAxMCwgMTAsIDEwKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBUaGUgcHJvdmlkZWQgdmFsdWUgaXMgbm9uLWZpbml0ZS4KLVBBU1MgY3R4Lmdl
dEltYWdlRGF0YSgxMCwgdW5kZWZpbmVkLCAxMCwgMTApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IFRoZSBwcm92aWRlZCB2YWx1ZSBpcyBub24tZmluaXRlLgotUEFTUyBjdHguZ2V0SW1hZ2VE
YXRhKDEwLCAxMCwgdW5kZWZpbmVkLCAxMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVGhl
IHByb3ZpZGVkIHZhbHVlIGlzIG5vbi1maW5pdGUuCi1QQVNTIGN0eC5nZXRJbWFnZURhdGEoMTAs
IDEwLCAxMCwgdW5kZWZpbmVkKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUaGUgcHJvdmlk
ZWQgdmFsdWUgaXMgbm9uLWZpbml0ZS4KK1BBU1MgY3R4LmdldEltYWdlRGF0YShOYU4sIDEwLCAx
MCwgMTApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFZhbHVlIE5hTiBpcyBvdXRzaWRlIHRo
ZSByYW5nZSBbLTIxNDc0ODM2NDgsIDIxNDc0ODM2NDddLgorUEFTUyBjdHguZ2V0SW1hZ2VEYXRh
KDEwLCBOYU4sIDEwLCAxMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVmFsdWUgTmFOIGlz
IG91dHNpZGUgdGhlIHJhbmdlIFstMjE0NzQ4MzY0OCwgMjE0NzQ4MzY0N10uCitQQVNTIGN0eC5n
ZXRJbWFnZURhdGEoMTAsIDEwLCBOYU4sIDEwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBW
YWx1ZSBOYU4gaXMgb3V0c2lkZSB0aGUgcmFuZ2UgWy0yMTQ3NDgzNjQ4LCAyMTQ3NDgzNjQ3XS4K
K1BBU1MgY3R4LmdldEltYWdlRGF0YSgxMCwgMTAsIDEwLCBOYU4pIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IFZhbHVlIE5hTiBpcyBvdXRzaWRlIHRoZSByYW5nZSBbLTIxNDc0ODM2NDgsIDIx
NDc0ODM2NDddLgorUEFTUyBjdHguZ2V0SW1hZ2VEYXRhKEluZmluaXR5LCAxMCwgMTAsIDEwKSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBWYWx1ZSBJbmZpbml0eSBpcyBvdXRzaWRlIHRoZSBy
YW5nZSBbLTIxNDc0ODM2NDgsIDIxNDc0ODM2NDddLgorUEFTUyBjdHguZ2V0SW1hZ2VEYXRhKDEw
LCBJbmZpbml0eSwgMTAsIDEwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBWYWx1ZSBJbmZp
bml0eSBpcyBvdXRzaWRlIHRoZSByYW5nZSBbLTIxNDc0ODM2NDgsIDIxNDc0ODM2NDddLgorUEFT
UyBjdHguZ2V0SW1hZ2VEYXRhKDEwLCAxMCwgSW5maW5pdHksIDEwKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBWYWx1ZSBJbmZpbml0eSBpcyBvdXRzaWRlIHRoZSByYW5nZSBbLTIxNDc0ODM2
NDgsIDIxNDc0ODM2NDddLgorUEFTUyBjdHguZ2V0SW1hZ2VEYXRhKDEwLCAxMCwgMTAsIEluZmlu
aXR5KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBWYWx1ZSBJbmZpbml0eSBpcyBvdXRzaWRl
IHRoZSByYW5nZSBbLTIxNDc0ODM2NDgsIDIxNDc0ODM2NDddLgorUEFTUyBjdHguZ2V0SW1hZ2VE
YXRhKHVuZGVmaW5lZCwgMTAsIDEwLCAxMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVmFs
dWUgTmFOIGlzIG91dHNpZGUgdGhlIHJhbmdlIFstMjE0NzQ4MzY0OCwgMjE0NzQ4MzY0N10uCitQ
QVNTIGN0eC5nZXRJbWFnZURhdGEoMTAsIHVuZGVmaW5lZCwgMTAsIDEwKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBWYWx1ZSBOYU4gaXMgb3V0c2lkZSB0aGUgcmFuZ2UgWy0yMTQ3NDgzNjQ4
LCAyMTQ3NDgzNjQ3XS4KK1BBU1MgY3R4LmdldEltYWdlRGF0YSgxMCwgMTAsIHVuZGVmaW5lZCwg
MTApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFZhbHVlIE5hTiBpcyBvdXRzaWRlIHRoZSBy
YW5nZSBbLTIxNDc0ODM2NDgsIDIxNDc0ODM2NDddLgorUEFTUyBjdHguZ2V0SW1hZ2VEYXRhKDEw
LCAxMCwgMTAsIHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVmFsdWUgTmFO
IGlzIG91dHNpZGUgdGhlIHJhbmdlIFstMjE0NzQ4MzY0OCwgMjE0NzQ4MzY0N10uCiBQQVNTIGN0
eC5nZXRJbWFnZURhdGEoMTAsIDEwLCAwLCAxMCkgdGhyZXcgZXhjZXB0aW9uIEluZGV4U2l6ZUVy
cm9yOiBUaGUgaW5kZXggaXMgbm90IGluIHRoZSBhbGxvd2VkIHJhbmdlLi4KIFBBU1MgY3R4Lmdl
dEltYWdlRGF0YSgxMCwgMTAsIDEwLCAwKSB0aHJldyBleGNlcHRpb24gSW5kZXhTaXplRXJyb3I6
IFRoZSBpbmRleCBpcyBub3QgaW4gdGhlIGFsbG93ZWQgcmFuZ2UuLgogUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWdl
dEltYWdlRGF0YS1pbnZhbGlkLXJlc3VsdC1idWZmZXItY3Jhc2guaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtZ2V0SW1hZ2VEYXRhLWludmFsaWQtcmVz
dWx0LWJ1ZmZlci1jcmFzaC5odG1sCShyZXZpc2lvbiAyNzY4MTkpCisrKyBMYXlvdXRUZXN0cy9m
YXN0L2NhbnZhcy9jYW52YXMtZ2V0SW1hZ2VEYXRhLWludmFsaWQtcmVzdWx0LWJ1ZmZlci1jcmFz
aC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC01LDcgKzUsNyBAQAogZnVuY3Rpb24gcnVuVGVzdCgp
IHsKICAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKICAg
ICB2YXIgY3R4ID0gY2FudmFzLmdldENvbnRleHQoIjJkIik7Ci0gICAgY3R4LmdldEltYWdlRGF0
YSgxMDAwMCwgMTI1LCAtMzgxMDAwMDAwLCAtMC45KTsKKyAgICBjdHguZ2V0SW1hZ2VEYXRhKDEw
MDAwLCAxMjUsIC0zODEwMDAwMDAsIC0yKTsKIH0KIDwvc2NyaXB0PgogPC9oZWFkPgpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWdldEltYWdlRGF0YS1pbnZhbGlkLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWdldEltYWdlRGF0
YS1pbnZhbGlkLmh0bWwJKHJldmlzaW9uIDI3NjgxOSkKKysrIExheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL2NhbnZhcy1nZXRJbWFnZURhdGEtaW52YWxpZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC05
LDE4ICs5LDE4IEBAIGRlc2NyaXB0aW9uKCJUZXN0IHRoZSBoYW5kbGluZyBvZiBpbnZhbGkKIAog
Y3R4ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJykuZ2V0Q29udGV4dCgnMmQnKTsK
IAotc2hvdWxkVGhyb3coImN0eC5nZXRJbWFnZURhdGEoTmFOLCAxMCwgMTAsIDEwKSIsICciVHlw
ZUVycm9yOiBUaGUgcHJvdmlkZWQgdmFsdWUgaXMgbm9uLWZpbml0ZSInKTsKLXNob3VsZFRocm93
KCJjdHguZ2V0SW1hZ2VEYXRhKDEwLCBOYU4sIDEwLCAxMCkiLCAnIlR5cGVFcnJvcjogVGhlIHBy
b3ZpZGVkIHZhbHVlIGlzIG5vbi1maW5pdGUiJyk7Ci1zaG91bGRUaHJvdygiY3R4LmdldEltYWdl
RGF0YSgxMCwgMTAsIE5hTiwgMTApIiwgJyJUeXBlRXJyb3I6IFRoZSBwcm92aWRlZCB2YWx1ZSBp
cyBub24tZmluaXRlIicpOwotc2hvdWxkVGhyb3coImN0eC5nZXRJbWFnZURhdGEoMTAsIDEwLCAx
MCwgTmFOKSIsICciVHlwZUVycm9yOiBUaGUgcHJvdmlkZWQgdmFsdWUgaXMgbm9uLWZpbml0ZSIn
KTsKLXNob3VsZFRocm93KCJjdHguZ2V0SW1hZ2VEYXRhKEluZmluaXR5LCAxMCwgMTAsIDEwKSIs
ICciVHlwZUVycm9yOiBUaGUgcHJvdmlkZWQgdmFsdWUgaXMgbm9uLWZpbml0ZSInKTsKLXNob3Vs
ZFRocm93KCJjdHguZ2V0SW1hZ2VEYXRhKDEwLCBJbmZpbml0eSwgMTAsIDEwKSIsICciVHlwZUVy
cm9yOiBUaGUgcHJvdmlkZWQgdmFsdWUgaXMgbm9uLWZpbml0ZSInKTsKLXNob3VsZFRocm93KCJj
dHguZ2V0SW1hZ2VEYXRhKDEwLCAxMCwgSW5maW5pdHksIDEwKSIsICciVHlwZUVycm9yOiBUaGUg
cHJvdmlkZWQgdmFsdWUgaXMgbm9uLWZpbml0ZSInKTsKLXNob3VsZFRocm93KCJjdHguZ2V0SW1h
Z2VEYXRhKDEwLCAxMCwgMTAsIEluZmluaXR5KSIsICciVHlwZUVycm9yOiBUaGUgcHJvdmlkZWQg
dmFsdWUgaXMgbm9uLWZpbml0ZSInKTsKLXNob3VsZFRocm93KCJjdHguZ2V0SW1hZ2VEYXRhKHVu
ZGVmaW5lZCwgMTAsIDEwLCAxMCkiLCAnIlR5cGVFcnJvcjogVGhlIHByb3ZpZGVkIHZhbHVlIGlz
IG5vbi1maW5pdGUiJyk7Ci1zaG91bGRUaHJvdygiY3R4LmdldEltYWdlRGF0YSgxMCwgdW5kZWZp
bmVkLCAxMCwgMTApIiwgJyJUeXBlRXJyb3I6IFRoZSBwcm92aWRlZCB2YWx1ZSBpcyBub24tZmlu
aXRlIicpOwotc2hvdWxkVGhyb3coImN0eC5nZXRJbWFnZURhdGEoMTAsIDEwLCB1bmRlZmluZWQs
IDEwKSIsICciVHlwZUVycm9yOiBUaGUgcHJvdmlkZWQgdmFsdWUgaXMgbm9uLWZpbml0ZSInKTsK
LXNob3VsZFRocm93KCJjdHguZ2V0SW1hZ2VEYXRhKDEwLCAxMCwgMTAsIHVuZGVmaW5lZCkiLCAn
IlR5cGVFcnJvcjogVGhlIHByb3ZpZGVkIHZhbHVlIGlzIG5vbi1maW5pdGUiJyk7CitzaG91bGRU
aHJvdygiY3R4LmdldEltYWdlRGF0YShOYU4sIDEwLCAxMCwgMTApIiwgJyJUeXBlRXJyb3I6IFZh
bHVlIE5hTiBpcyBvdXRzaWRlIHRoZSByYW5nZSBbLTIxNDc0ODM2NDgsIDIxNDc0ODM2NDddIicp
Oworc2hvdWxkVGhyb3coImN0eC5nZXRJbWFnZURhdGEoMTAsIE5hTiwgMTAsIDEwKSIsICciVHlw
ZUVycm9yOiBWYWx1ZSBOYU4gaXMgb3V0c2lkZSB0aGUgcmFuZ2UgWy0yMTQ3NDgzNjQ4LCAyMTQ3
NDgzNjQ3XSInKTsKK3Nob3VsZFRocm93KCJjdHguZ2V0SW1hZ2VEYXRhKDEwLCAxMCwgTmFOLCAx
MCkiLCAnIlR5cGVFcnJvcjogVmFsdWUgTmFOIGlzIG91dHNpZGUgdGhlIHJhbmdlIFstMjE0NzQ4
MzY0OCwgMjE0NzQ4MzY0N10iJyk7CitzaG91bGRUaHJvdygiY3R4LmdldEltYWdlRGF0YSgxMCwg
MTAsIDEwLCBOYU4pIiwgJyJUeXBlRXJyb3I6IFZhbHVlIE5hTiBpcyBvdXRzaWRlIHRoZSByYW5n
ZSBbLTIxNDc0ODM2NDgsIDIxNDc0ODM2NDddIicpOworc2hvdWxkVGhyb3coImN0eC5nZXRJbWFn
ZURhdGEoSW5maW5pdHksIDEwLCAxMCwgMTApIiwgJyJUeXBlRXJyb3I6IFZhbHVlIEluZmluaXR5
IGlzIG91dHNpZGUgdGhlIHJhbmdlIFstMjE0NzQ4MzY0OCwgMjE0NzQ4MzY0N10iJyk7CitzaG91
bGRUaHJvdygiY3R4LmdldEltYWdlRGF0YSgxMCwgSW5maW5pdHksIDEwLCAxMCkiLCAnIlR5cGVF
cnJvcjogVmFsdWUgSW5maW5pdHkgaXMgb3V0c2lkZSB0aGUgcmFuZ2UgWy0yMTQ3NDgzNjQ4LCAy
MTQ3NDgzNjQ3XSInKTsKK3Nob3VsZFRocm93KCJjdHguZ2V0SW1hZ2VEYXRhKDEwLCAxMCwgSW5m
aW5pdHksIDEwKSIsICciVHlwZUVycm9yOiBWYWx1ZSBJbmZpbml0eSBpcyBvdXRzaWRlIHRoZSBy
YW5nZSBbLTIxNDc0ODM2NDgsIDIxNDc0ODM2NDddIicpOworc2hvdWxkVGhyb3coImN0eC5nZXRJ
bWFnZURhdGEoMTAsIDEwLCAxMCwgSW5maW5pdHkpIiwgJyJUeXBlRXJyb3I6IFZhbHVlIEluZmlu
aXR5IGlzIG91dHNpZGUgdGhlIHJhbmdlIFstMjE0NzQ4MzY0OCwgMjE0NzQ4MzY0N10iJyk7Citz
aG91bGRUaHJvdygiY3R4LmdldEltYWdlRGF0YSh1bmRlZmluZWQsIDEwLCAxMCwgMTApIiwgJyJU
eXBlRXJyb3I6IFZhbHVlIE5hTiBpcyBvdXRzaWRlIHRoZSByYW5nZSBbLTIxNDc0ODM2NDgsIDIx
NDc0ODM2NDddIicpOworc2hvdWxkVGhyb3coImN0eC5nZXRJbWFnZURhdGEoMTAsIHVuZGVmaW5l
ZCwgMTAsIDEwKSIsICciVHlwZUVycm9yOiBWYWx1ZSBOYU4gaXMgb3V0c2lkZSB0aGUgcmFuZ2Ug
Wy0yMTQ3NDgzNjQ4LCAyMTQ3NDgzNjQ3XSInKTsKK3Nob3VsZFRocm93KCJjdHguZ2V0SW1hZ2VE
YXRhKDEwLCAxMCwgdW5kZWZpbmVkLCAxMCkiLCAnIlR5cGVFcnJvcjogVmFsdWUgTmFOIGlzIG91
dHNpZGUgdGhlIHJhbmdlIFstMjE0NzQ4MzY0OCwgMjE0NzQ4MzY0N10iJyk7CitzaG91bGRUaHJv
dygiY3R4LmdldEltYWdlRGF0YSgxMCwgMTAsIDEwLCB1bmRlZmluZWQpIiwgJyJUeXBlRXJyb3I6
IFZhbHVlIE5hTiBpcyBvdXRzaWRlIHRoZSByYW5nZSBbLTIxNDc0ODM2NDgsIDIxNDc0ODM2NDdd
IicpOwogc2hvdWxkVGhyb3coImN0eC5nZXRJbWFnZURhdGEoMTAsIDEwLCAwLCAxMCkiLCAnIklu
ZGV4U2l6ZUVycm9yOiBUaGUgaW5kZXggaXMgbm90IGluIHRoZSBhbGxvd2VkIHJhbmdlLiInKTsK
IHNob3VsZFRocm93KCJjdHguZ2V0SW1hZ2VEYXRhKDEwLCAxMCwgMTAsIDApIiwgJyJJbmRleFNp
emVFcnJvcjogVGhlIGluZGV4IGlzIG5vdCBpbiB0aGUgYWxsb3dlZCByYW5nZS4iJyk7CiA8L3Nj
cmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1nZXRJbWFnZURhdGEt
bGFyZ2UtY3Jhc2gtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL2NhbnZhcy1nZXRJbWFnZURhdGEtbGFyZ2UtY3Jhc2gtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAyNzY4MTkpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtZ2V0SW1hZ2VE
YXRhLWxhcmdlLWNyYXNoLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSArMSwyIEBA
CitDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogVmFsdWUgNDI5NDk2NzI5NSBpcyBvdXRzaWRl
IHRoZSByYW5nZSBbLTIxNDc0ODM2NDgsIDIxNDc0ODM2NDddCiBQQVNTRUQgKElmIHRoaXMgcGFn
ZSBkaWQgbm90IGNyYXNoLikKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1n
ZXRJbWFnZURhdGEtcm91bmRpbmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1nZXRJbWFnZURhdGEtcm91bmRpbmctZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAyNzY4MTkpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtZ2V0
SW1hZ2VEYXRhLXJvdW5kaW5nLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNywyOCAr
NywyOCBAQCBnZXRJbWFnZURhdGEoMCwgMCwgMjAsIDEwKQogUEFTUyBpbWFnZURhdGEud2lkdGgg
aXMgMjAKIFBBU1MgaW1hZ2VEYXRhLmhlaWdodCBpcyAxMAogZ2V0SW1hZ2VEYXRhKDAuMSwgMC4y
LCAyMCwgMTApCi1QQVNTIGltYWdlRGF0YS53aWR0aCBpcyAyMQotUEFTUyBpbWFnZURhdGEuaGVp
Z2h0IGlzIDExCi1nZXRJbWFnZURhdGEoMC45LCAwLjgsIDIwLCAxMCkKLVBBU1MgaW1hZ2VEYXRh
LndpZHRoIGlzIDIxCi1QQVNTIGltYWdlRGF0YS5oZWlnaHQgaXMgMTEKLWdldEltYWdlRGF0YSgw
LCAwLCAxOS45LCA5LjkpCiBQQVNTIGltYWdlRGF0YS53aWR0aCBpcyAyMAogUEFTUyBpbWFnZURh
dGEuaGVpZ2h0IGlzIDEwCi1nZXRJbWFnZURhdGEoMCwgMCwgMTkuMSwgOS4xKQorZ2V0SW1hZ2VE
YXRhKDAuOSwgMC44LCAyMCwgMTApCiBQQVNTIGltYWdlRGF0YS53aWR0aCBpcyAyMAogUEFTUyBp
bWFnZURhdGEuaGVpZ2h0IGlzIDEwCi1nZXRJbWFnZURhdGEoMC45LCAwLCAwLjIsIDEwKQotUEFT
UyBpbWFnZURhdGEud2lkdGggaXMgMgorZ2V0SW1hZ2VEYXRhKDAsIDAsIDE5LjksIDkuOSkKK1BB
U1MgaW1hZ2VEYXRhLndpZHRoIGlzIDE5CitQQVNTIGltYWdlRGF0YS5oZWlnaHQgaXMgOQorZ2V0
SW1hZ2VEYXRhKDAsIDAsIDE5LjEsIDkuMSkKK1BBU1MgaW1hZ2VEYXRhLndpZHRoIGlzIDE5CitQ
QVNTIGltYWdlRGF0YS5oZWlnaHQgaXMgOQorZ2V0SW1hZ2VEYXRhKDAuOSwgMCwgMS4yLCAxMCkK
K1BBU1MgaW1hZ2VEYXRhLndpZHRoIGlzIDEKIFBBU1MgaW1hZ2VEYXRhLmhlaWdodCBpcyAxMAog
Z2V0SW1hZ2VEYXRhKC0xLCAtMSwgMjAsIDEwKQogUEFTUyBpbWFnZURhdGEud2lkdGggaXMgMjAK
IFBBU1MgaW1hZ2VEYXRhLmhlaWdodCBpcyAxMAogZ2V0SW1hZ2VEYXRhKC0xLjEsIDAsIDIwLCAx
MCkKLVBBU1MgaW1hZ2VEYXRhLndpZHRoIGlzIDIxCitQQVNTIGltYWdlRGF0YS53aWR0aCBpcyAy
MAogUEFTUyBpbWFnZURhdGEuaGVpZ2h0IGlzIDEwCiBnZXRJbWFnZURhdGEoLTEuOSwgMCwgMjAs
IDEwKQotUEFTUyBpbWFnZURhdGEud2lkdGggaXMgMjEKK1BBU1MgaW1hZ2VEYXRhLndpZHRoIGlz
IDIwCiBQQVNTIGltYWdlRGF0YS5oZWlnaHQgaXMgMTAKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWdldEltYWdl
RGF0YS1yb3VuZGluZy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY2FudmFz
L2NhbnZhcy1nZXRJbWFnZURhdGEtcm91bmRpbmcuaHRtbAkocmV2aXNpb24gMjc2ODE5KQorKysg
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWdldEltYWdlRGF0YS1yb3VuZGluZy5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0xMSw4ICsxMSw4IEBAIGN0eCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2NhbnZhcycpLmcKIAogZnVuY3Rpb24gZGltZW5zaW9uc1Nob3VsZEJlKHN4LCBzeSwg
c3csIHNoLCB3aWR0aCwgaGVpZ2h0KQogewotICAgIGltYWdlRGF0YSA9IGN0eC5nZXRJbWFnZURh
dGEoc3gsIHN5LCBzdywgc2gpOwogICAgIGRlYnVnKCdnZXRJbWFnZURhdGEoJyArIHN4ICsgJywg
JyArIHN5ICsgJywgJyArIHN3ICsgJywgJyArIHNoICsgJyknKTsKKyAgICBpbWFnZURhdGEgPSBj
dHguZ2V0SW1hZ2VEYXRhKHN4LCBzeSwgc3csIHNoKTsKICAgICBzaG91bGRCZSgnaW1hZ2VEYXRh
LndpZHRoJywgd2lkdGggKyAnJyk7CiAgICAgc2hvdWxkQmUoJ2ltYWdlRGF0YS5oZWlnaHQnLCBo
ZWlnaHQgKyAnJyk7CiB9CkBAIC0yMSwyMiArMjEsMjIgQEAgZnVuY3Rpb24gZGltZW5zaW9uc1No
b3VsZEJlKHN4LCBzeSwgc3csIAogZGltZW5zaW9uc1Nob3VsZEJlKCAgIDAsICAwLCAgIDIwLCAg
MTAsICAgICAyMCwgMTApOwogCiAvLyBTb3VyY2UgcG9pbnQgaXMgbm90IGFuIGludGVnZXIKLWRp
bWVuc2lvbnNTaG91bGRCZSggIC4xLCAuMiwgICAyMCwgIDEwLCAgICAgMjEsIDExKTsKLWRpbWVu
c2lvbnNTaG91bGRCZSggIC45LCAuOCwgICAyMCwgIDEwLCAgICAgMjEsIDExKTsKK2RpbWVuc2lv
bnNTaG91bGRCZSggIC4xLCAuMiwgICAyMCwgIDEwLCAgICAgMjAsIDEwKTsKK2RpbWVuc2lvbnNT
aG91bGRCZSggIC45LCAuOCwgICAyMCwgIDEwLCAgICAgMjAsIDEwKTsKIAogLy8gU2l6ZSBpcyBu
b3QgYW4gaW50ZWdlcgotZGltZW5zaW9uc1Nob3VsZEJlKCAgIDAsICAwLCAxOS45LCA5LjksICAg
ICAyMCwgMTApOwotZGltZW5zaW9uc1Nob3VsZEJlKCAgIDAsICAwLCAxOS4xLCA5LjEsICAgICAy
MCwgMTApOworZGltZW5zaW9uc1Nob3VsZEJlKCAgIDAsICAwLCAxOS45LCA5LjksICAgICAxOSwg
OSk7CitkaW1lbnNpb25zU2hvdWxkQmUoICAgMCwgIDAsIDE5LjEsIDkuMSwgICAgIDE5LCA5KTsK
IAogLy8gV2lkdGggc3RyYWRkbGVzIGEgcGl4ZWwgYm91bmRhcnkKLWRpbWVuc2lvbnNTaG91bGRC
ZSggIC45LCAgMCwgICAuMiwgIDEwLCAgICAgIDIsIDEwKTsKK2RpbWVuc2lvbnNTaG91bGRCZSgg
IC45LCAgMCwgICAxLjIsICAxMCwgICAgICAxLCAxMCk7CiAKIC8vIEJhc2ljIGludGVnZXIgbmVn
YXRpdmUgdmFsdWVzCiBkaW1lbnNpb25zU2hvdWxkQmUoICAtMSwgLTEsICAgMjAsICAxMCwgICAg
IDIwLCAxMCk7CiAKIC8vIE5vbi1pbnRlZ2VyIG5lZ2F0aXZlIHZhbHVlcwotZGltZW5zaW9uc1No
b3VsZEJlKC0xLjEsICAwLCAgIDIwLCAgMTAsICAgICAyMSwgMTApOwotZGltZW5zaW9uc1Nob3Vs
ZEJlKC0xLjksICAwLCAgIDIwLCAgMTAsICAgICAyMSwgMTApOworZGltZW5zaW9uc1Nob3VsZEJl
KC0xLjEsICAwLCAgIDIwLCAgMTAsICAgICAyMCwgMTApOworZGltZW5zaW9uc1Nob3VsZEJlKC0x
LjksICAwLCAgIDIwLCAgMTAsICAgICAyMCwgMTApOwogPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtcHV0SW1hZ2VEYXRhLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtcHV0SW1hZ2VE
YXRhLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjc2ODE5KQorKysgTGF5b3V0VGVzdHMvZmFzdC9j
YW52YXMvY2FudmFzLXB1dEltYWdlRGF0YS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTE0NSwyNCArMTQ1LDI0IEBAIFBBU1MgZ2V0UGl4ZWwoOSw5KSBpcyBbMCwxMjgsMCwyNTVdCiBQ
QVNTIGdldFBpeGVsKDEsMSkgaXMgWzAsMTI4LDAsMjU1XQogUEFTUyBnZXRQaXhlbCg5LDkpIGlz
IFswLDEyOCwwLDI1NV0KIFBBU1MgY29udGV4dC5wdXRJbWFnZURhdGEoe30sIDAsIDApIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdpbWFnZWRhdGEnKSB0byBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQucHV0SW1hZ2VEYXRhIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgSW1h
Z2VEYXRhLgotUEFTUyBjb250ZXh0LnB1dEltYWdlRGF0YShidWZmZXIsIE5hTiwgMCwgMCwgMCwg
MCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVGhlIHByb3ZpZGVkIHZhbHVlIGlzIG5v
bi1maW5pdGUuCi1QQVNTIGNvbnRleHQucHV0SW1hZ2VEYXRhKGJ1ZmZlciwgMCwgTmFOLCAwLCAw
LCAwLCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUaGUgcHJvdmlkZWQgdmFsdWUgaXMg
bm9uLWZpbml0ZS4KLVBBU1MgY29udGV4dC5wdXRJbWFnZURhdGEoYnVmZmVyLCAwLCAwLCBOYU4s
IDAsIDAsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFRoZSBwcm92aWRlZCB2YWx1ZSBp
cyBub24tZmluaXRlLgotUEFTUyBjb250ZXh0LnB1dEltYWdlRGF0YShidWZmZXIsIDAsIDAsIDAs
IE5hTiwgMCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVGhlIHByb3ZpZGVkIHZhbHVl
IGlzIG5vbi1maW5pdGUuCi1QQVNTIGNvbnRleHQucHV0SW1hZ2VEYXRhKGJ1ZmZlciwgMCwgMCwg
MCwgMCwgTmFOLCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUaGUgcHJvdmlkZWQgdmFs
dWUgaXMgbm9uLWZpbml0ZS4KLVBBU1MgY29udGV4dC5wdXRJbWFnZURhdGEoYnVmZmVyLCAwLCAw
LCAwLCAwLCAwLCBOYU4pIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFRoZSBwcm92aWRlZCB2
YWx1ZSBpcyBub24tZmluaXRlLgotUEFTUyBjb250ZXh0LnB1dEltYWdlRGF0YShidWZmZXIsIElu
ZmluaXR5LCAwLCAwLCAwLCAwLCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUaGUgcHJv
dmlkZWQgdmFsdWUgaXMgbm9uLWZpbml0ZS4KLVBBU1MgY29udGV4dC5wdXRJbWFnZURhdGEoYnVm
ZmVyLCAwLCBJbmZpbml0eSwgMCwgMCwgMCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
VGhlIHByb3ZpZGVkIHZhbHVlIGlzIG5vbi1maW5pdGUuCi1QQVNTIGNvbnRleHQucHV0SW1hZ2VE
YXRhKGJ1ZmZlciwgMCwgMCwgSW5maW5pdHksIDAsIDAsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBl
RXJyb3I6IFRoZSBwcm92aWRlZCB2YWx1ZSBpcyBub24tZmluaXRlLgotUEFTUyBjb250ZXh0LnB1
dEltYWdlRGF0YShidWZmZXIsIDAsIDAsIDAsIEluZmluaXR5LCAwLCAwKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBUaGUgcHJvdmlkZWQgdmFsdWUgaXMgbm9uLWZpbml0ZS4KLVBBU1MgY29u
dGV4dC5wdXRJbWFnZURhdGEoYnVmZmVyLCAwLCAwLCAwLCAwLCBJbmZpbml0eSwgMCkgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogVGhlIHByb3ZpZGVkIHZhbHVlIGlzIG5vbi1maW5pdGUuCi1Q
QVNTIGNvbnRleHQucHV0SW1hZ2VEYXRhKGJ1ZmZlciwgMCwgMCwgMCwgMCwgMCwgSW5maW5pdHkp
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFRoZSBwcm92aWRlZCB2YWx1ZSBpcyBub24tZmlu
aXRlLgotUEFTUyBjb250ZXh0LnB1dEltYWdlRGF0YShidWZmZXIsIHVuZGVmaW5lZCwgMCwgMCwg
MCwgMCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVGhlIHByb3ZpZGVkIHZhbHVlIGlz
IG5vbi1maW5pdGUuCi1QQVNTIGNvbnRleHQucHV0SW1hZ2VEYXRhKGJ1ZmZlciwgMCwgdW5kZWZp
bmVkLCAwLCAwLCAwLCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUaGUgcHJvdmlkZWQg
dmFsdWUgaXMgbm9uLWZpbml0ZS4KLVBBU1MgY29udGV4dC5wdXRJbWFnZURhdGEoYnVmZmVyLCAw
LCAwLCB1bmRlZmluZWQsIDAsIDAsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFRoZSBw
cm92aWRlZCB2YWx1ZSBpcyBub24tZmluaXRlLgotUEFTUyBjb250ZXh0LnB1dEltYWdlRGF0YShi
dWZmZXIsIDAsIDAsIDAsIHVuZGVmaW5lZCwgMCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogVGhlIHByb3ZpZGVkIHZhbHVlIGlzIG5vbi1maW5pdGUuCi1QQVNTIGNvbnRleHQucHV0SW1h
Z2VEYXRhKGJ1ZmZlciwgMCwgMCwgMCwgMCwgdW5kZWZpbmVkLCAwKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBUaGUgcHJvdmlkZWQgdmFsdWUgaXMgbm9uLWZpbml0ZS4KLVBBU1MgY29udGV4
dC5wdXRJbWFnZURhdGEoYnVmZmVyLCAwLCAwLCAwLCAwLCAwLCB1bmRlZmluZWQpIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IFRoZSBwcm92aWRlZCB2YWx1ZSBpcyBub24tZmluaXRlLgorUEFT
UyBjb250ZXh0LnB1dEltYWdlRGF0YShidWZmZXIsIE5hTiwgMCwgMCwgMCwgMCwgMCkgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogVmFsdWUgTmFOIGlzIG91dHNpZGUgdGhlIHJhbmdlIFstMjE0
NzQ4MzY0OCwgMjE0NzQ4MzY0N10uCitQQVNTIGNvbnRleHQucHV0SW1hZ2VEYXRhKGJ1ZmZlciwg
MCwgTmFOLCAwLCAwLCAwLCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBWYWx1ZSBOYU4g
aXMgb3V0c2lkZSB0aGUgcmFuZ2UgWy0yMTQ3NDgzNjQ4LCAyMTQ3NDgzNjQ3XS4KK1BBU1MgY29u
dGV4dC5wdXRJbWFnZURhdGEoYnVmZmVyLCAwLCAwLCBOYU4sIDAsIDAsIDApIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IFZhbHVlIE5hTiBpcyBvdXRzaWRlIHRoZSByYW5nZSBbLTIxNDc0ODM2
NDgsIDIxNDc0ODM2NDddLgorUEFTUyBjb250ZXh0LnB1dEltYWdlRGF0YShidWZmZXIsIDAsIDAs
IDAsIE5hTiwgMCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVmFsdWUgTmFOIGlzIG91
dHNpZGUgdGhlIHJhbmdlIFstMjE0NzQ4MzY0OCwgMjE0NzQ4MzY0N10uCitQQVNTIGNvbnRleHQu
cHV0SW1hZ2VEYXRhKGJ1ZmZlciwgMCwgMCwgMCwgMCwgTmFOLCAwKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBWYWx1ZSBOYU4gaXMgb3V0c2lkZSB0aGUgcmFuZ2UgWy0yMTQ3NDgzNjQ4LCAy
MTQ3NDgzNjQ3XS4KK1BBU1MgY29udGV4dC5wdXRJbWFnZURhdGEoYnVmZmVyLCAwLCAwLCAwLCAw
LCAwLCBOYU4pIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFZhbHVlIE5hTiBpcyBvdXRzaWRl
IHRoZSByYW5nZSBbLTIxNDc0ODM2NDgsIDIxNDc0ODM2NDddLgorUEFTUyBjb250ZXh0LnB1dElt
YWdlRGF0YShidWZmZXIsIEluZmluaXR5LCAwLCAwLCAwLCAwLCAwKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBWYWx1ZSBJbmZpbml0eSBpcyBvdXRzaWRlIHRoZSByYW5nZSBbLTIxNDc0ODM2
NDgsIDIxNDc0ODM2NDddLgorUEFTUyBjb250ZXh0LnB1dEltYWdlRGF0YShidWZmZXIsIDAsIElu
ZmluaXR5LCAwLCAwLCAwLCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBWYWx1ZSBJbmZp
bml0eSBpcyBvdXRzaWRlIHRoZSByYW5nZSBbLTIxNDc0ODM2NDgsIDIxNDc0ODM2NDddLgorUEFT
UyBjb250ZXh0LnB1dEltYWdlRGF0YShidWZmZXIsIDAsIDAsIEluZmluaXR5LCAwLCAwLCAwKSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBWYWx1ZSBJbmZpbml0eSBpcyBvdXRzaWRlIHRoZSBy
YW5nZSBbLTIxNDc0ODM2NDgsIDIxNDc0ODM2NDddLgorUEFTUyBjb250ZXh0LnB1dEltYWdlRGF0
YShidWZmZXIsIDAsIDAsIDAsIEluZmluaXR5LCAwLCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBWYWx1ZSBJbmZpbml0eSBpcyBvdXRzaWRlIHRoZSByYW5nZSBbLTIxNDc0ODM2NDgsIDIx
NDc0ODM2NDddLgorUEFTUyBjb250ZXh0LnB1dEltYWdlRGF0YShidWZmZXIsIDAsIDAsIDAsIDAs
IEluZmluaXR5LCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBWYWx1ZSBJbmZpbml0eSBp
cyBvdXRzaWRlIHRoZSByYW5nZSBbLTIxNDc0ODM2NDgsIDIxNDc0ODM2NDddLgorUEFTUyBjb250
ZXh0LnB1dEltYWdlRGF0YShidWZmZXIsIDAsIDAsIDAsIDAsIDAsIEluZmluaXR5KSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBWYWx1ZSBJbmZpbml0eSBpcyBvdXRzaWRlIHRoZSByYW5nZSBb
LTIxNDc0ODM2NDgsIDIxNDc0ODM2NDddLgorUEFTUyBjb250ZXh0LnB1dEltYWdlRGF0YShidWZm
ZXIsIHVuZGVmaW5lZCwgMCwgMCwgMCwgMCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
VmFsdWUgTmFOIGlzIG91dHNpZGUgdGhlIHJhbmdlIFstMjE0NzQ4MzY0OCwgMjE0NzQ4MzY0N10u
CitQQVNTIGNvbnRleHQucHV0SW1hZ2VEYXRhKGJ1ZmZlciwgMCwgdW5kZWZpbmVkLCAwLCAwLCAw
LCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBWYWx1ZSBOYU4gaXMgb3V0c2lkZSB0aGUg
cmFuZ2UgWy0yMTQ3NDgzNjQ4LCAyMTQ3NDgzNjQ3XS4KK1BBU1MgY29udGV4dC5wdXRJbWFnZURh
dGEoYnVmZmVyLCAwLCAwLCB1bmRlZmluZWQsIDAsIDAsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBl
RXJyb3I6IFZhbHVlIE5hTiBpcyBvdXRzaWRlIHRoZSByYW5nZSBbLTIxNDc0ODM2NDgsIDIxNDc0
ODM2NDddLgorUEFTUyBjb250ZXh0LnB1dEltYWdlRGF0YShidWZmZXIsIDAsIDAsIDAsIHVuZGVm
aW5lZCwgMCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVmFsdWUgTmFOIGlzIG91dHNp
ZGUgdGhlIHJhbmdlIFstMjE0NzQ4MzY0OCwgMjE0NzQ4MzY0N10uCitQQVNTIGNvbnRleHQucHV0
SW1hZ2VEYXRhKGJ1ZmZlciwgMCwgMCwgMCwgMCwgdW5kZWZpbmVkLCAwKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBWYWx1ZSBOYU4gaXMgb3V0c2lkZSB0aGUgcmFuZ2UgWy0yMTQ3NDgzNjQ4
LCAyMTQ3NDgzNjQ3XS4KK1BBU1MgY29udGV4dC5wdXRJbWFnZURhdGEoYnVmZmVyLCAwLCAwLCAw
LCAwLCAwLCB1bmRlZmluZWQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFZhbHVlIE5hTiBp
cyBvdXRzaWRlIHRoZSByYW5nZSBbLTIxNDc0ODM2NDgsIDIxNDc0ODM2NDddLgogUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy9jYW52YXMtcHV0SW1hZ2VEYXRhLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1wdXRJbWFnZURhdGEuanMJKHJldmlzaW9uIDI3Njgx
OSkKKysrIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1wdXRJbWFnZURhdGEuanMJKHdv
cmtpbmcgY29weSkKQEAgLTIwMiwyNCArMjAyLDI0IEBAIHBpeGVsU2hvdWxkQmUoOSwgOSwgWzAs
IDEyOCwwLDI1NV0pOwogCiAKIHNob3VsZFRocm93RXJyb3JOYW1lKCJjb250ZXh0LnB1dEltYWdl
RGF0YSh7fSwgMCwgMCkiLCAiVHlwZUVycm9yIik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5wdXRJ
bWFnZURhdGEoYnVmZmVyLCBOYU4sIDAsIDAsIDAsIDAsIDApIiwgIidUeXBlRXJyb3I6IFRoZSBw
cm92aWRlZCB2YWx1ZSBpcyBub24tZmluaXRlJyIpOwotc2hvdWxkVGhyb3coImNvbnRleHQucHV0
SW1hZ2VEYXRhKGJ1ZmZlciwgMCwgTmFOLCAwLCAwLCAwLCAwKSIsICInVHlwZUVycm9yOiBUaGUg
cHJvdmlkZWQgdmFsdWUgaXMgbm9uLWZpbml0ZSciKTsKLXNob3VsZFRocm93KCJjb250ZXh0LnB1
dEltYWdlRGF0YShidWZmZXIsIDAsIDAsIE5hTiwgMCwgMCwgMCkiLCAiJ1R5cGVFcnJvcjogVGhl
IHByb3ZpZGVkIHZhbHVlIGlzIG5vbi1maW5pdGUnIik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5w
dXRJbWFnZURhdGEoYnVmZmVyLCAwLCAwLCAwLCBOYU4sIDAsIDApIiwgIidUeXBlRXJyb3I6IFRo
ZSBwcm92aWRlZCB2YWx1ZSBpcyBub24tZmluaXRlJyIpOwotc2hvdWxkVGhyb3coImNvbnRleHQu
cHV0SW1hZ2VEYXRhKGJ1ZmZlciwgMCwgMCwgMCwgMCwgTmFOLCAwKSIsICInVHlwZUVycm9yOiBU
aGUgcHJvdmlkZWQgdmFsdWUgaXMgbm9uLWZpbml0ZSciKTsKLXNob3VsZFRocm93KCJjb250ZXh0
LnB1dEltYWdlRGF0YShidWZmZXIsIDAsIDAsIDAsIDAsIDAsIE5hTikiLCAiJ1R5cGVFcnJvcjog
VGhlIHByb3ZpZGVkIHZhbHVlIGlzIG5vbi1maW5pdGUnIik7Ci1zaG91bGRUaHJvdygiY29udGV4
dC5wdXRJbWFnZURhdGEoYnVmZmVyLCBJbmZpbml0eSwgMCwgMCwgMCwgMCwgMCkiLCAiJ1R5cGVF
cnJvcjogVGhlIHByb3ZpZGVkIHZhbHVlIGlzIG5vbi1maW5pdGUnIik7Ci1zaG91bGRUaHJvdygi
Y29udGV4dC5wdXRJbWFnZURhdGEoYnVmZmVyLCAwLCBJbmZpbml0eSwgMCwgMCwgMCwgMCkiLCAi
J1R5cGVFcnJvcjogVGhlIHByb3ZpZGVkIHZhbHVlIGlzIG5vbi1maW5pdGUnIik7Ci1zaG91bGRU
aHJvdygiY29udGV4dC5wdXRJbWFnZURhdGEoYnVmZmVyLCAwLCAwLCBJbmZpbml0eSwgMCwgMCwg
MCkiLCAiJ1R5cGVFcnJvcjogVGhlIHByb3ZpZGVkIHZhbHVlIGlzIG5vbi1maW5pdGUnIik7Ci1z
aG91bGRUaHJvdygiY29udGV4dC5wdXRJbWFnZURhdGEoYnVmZmVyLCAwLCAwLCAwLCBJbmZpbml0
eSwgMCwgMCkiLCAiJ1R5cGVFcnJvcjogVGhlIHByb3ZpZGVkIHZhbHVlIGlzIG5vbi1maW5pdGUn
Iik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5wdXRJbWFnZURhdGEoYnVmZmVyLCAwLCAwLCAwLCAw
LCBJbmZpbml0eSwgMCkiLCAiJ1R5cGVFcnJvcjogVGhlIHByb3ZpZGVkIHZhbHVlIGlzIG5vbi1m
aW5pdGUnIik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5wdXRJbWFnZURhdGEoYnVmZmVyLCAwLCAw
LCAwLCAwLCAwLCBJbmZpbml0eSkiLCAiJ1R5cGVFcnJvcjogVGhlIHByb3ZpZGVkIHZhbHVlIGlz
IG5vbi1maW5pdGUnIik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5wdXRJbWFnZURhdGEoYnVmZmVy
LCB1bmRlZmluZWQsIDAsIDAsIDAsIDAsIDApIiwgIidUeXBlRXJyb3I6IFRoZSBwcm92aWRlZCB2
YWx1ZSBpcyBub24tZmluaXRlJyIpOwotc2hvdWxkVGhyb3coImNvbnRleHQucHV0SW1hZ2VEYXRh
KGJ1ZmZlciwgMCwgdW5kZWZpbmVkLCAwLCAwLCAwLCAwKSIsICInVHlwZUVycm9yOiBUaGUgcHJv
dmlkZWQgdmFsdWUgaXMgbm9uLWZpbml0ZSciKTsKLXNob3VsZFRocm93KCJjb250ZXh0LnB1dElt
YWdlRGF0YShidWZmZXIsIDAsIDAsIHVuZGVmaW5lZCwgMCwgMCwgMCkiLCAiJ1R5cGVFcnJvcjog
VGhlIHByb3ZpZGVkIHZhbHVlIGlzIG5vbi1maW5pdGUnIik7Ci1zaG91bGRUaHJvdygiY29udGV4
dC5wdXRJbWFnZURhdGEoYnVmZmVyLCAwLCAwLCAwLCB1bmRlZmluZWQsIDAsIDApIiwgIidUeXBl
RXJyb3I6IFRoZSBwcm92aWRlZCB2YWx1ZSBpcyBub24tZmluaXRlJyIpOwotc2hvdWxkVGhyb3co
ImNvbnRleHQucHV0SW1hZ2VEYXRhKGJ1ZmZlciwgMCwgMCwgMCwgMCwgdW5kZWZpbmVkLCAwKSIs
ICInVHlwZUVycm9yOiBUaGUgcHJvdmlkZWQgdmFsdWUgaXMgbm9uLWZpbml0ZSciKTsKLXNob3Vs
ZFRocm93KCJjb250ZXh0LnB1dEltYWdlRGF0YShidWZmZXIsIDAsIDAsIDAsIDAsIDAsIHVuZGVm
aW5lZCkiLCAiJ1R5cGVFcnJvcjogVGhlIHByb3ZpZGVkIHZhbHVlIGlzIG5vbi1maW5pdGUnIik7
CitzaG91bGRUaHJvdygiY29udGV4dC5wdXRJbWFnZURhdGEoYnVmZmVyLCBOYU4sIDAsIDAsIDAs
IDAsIDApIiwgIidUeXBlRXJyb3I6IFZhbHVlIE5hTiBpcyBvdXRzaWRlIHRoZSByYW5nZSBbLTIx
NDc0ODM2NDgsIDIxNDc0ODM2NDddJyIpOworc2hvdWxkVGhyb3coImNvbnRleHQucHV0SW1hZ2VE
YXRhKGJ1ZmZlciwgMCwgTmFOLCAwLCAwLCAwLCAwKSIsICInVHlwZUVycm9yOiBWYWx1ZSBOYU4g
aXMgb3V0c2lkZSB0aGUgcmFuZ2UgWy0yMTQ3NDgzNjQ4LCAyMTQ3NDgzNjQ3XSciKTsKK3Nob3Vs
ZFRocm93KCJjb250ZXh0LnB1dEltYWdlRGF0YShidWZmZXIsIDAsIDAsIE5hTiwgMCwgMCwgMCki
LCAiJ1R5cGVFcnJvcjogVmFsdWUgTmFOIGlzIG91dHNpZGUgdGhlIHJhbmdlIFstMjE0NzQ4MzY0
OCwgMjE0NzQ4MzY0N10nIik7CitzaG91bGRUaHJvdygiY29udGV4dC5wdXRJbWFnZURhdGEoYnVm
ZmVyLCAwLCAwLCAwLCBOYU4sIDAsIDApIiwgIidUeXBlRXJyb3I6IFZhbHVlIE5hTiBpcyBvdXRz
aWRlIHRoZSByYW5nZSBbLTIxNDc0ODM2NDgsIDIxNDc0ODM2NDddJyIpOworc2hvdWxkVGhyb3co
ImNvbnRleHQucHV0SW1hZ2VEYXRhKGJ1ZmZlciwgMCwgMCwgMCwgMCwgTmFOLCAwKSIsICInVHlw
ZUVycm9yOiBWYWx1ZSBOYU4gaXMgb3V0c2lkZSB0aGUgcmFuZ2UgWy0yMTQ3NDgzNjQ4LCAyMTQ3
NDgzNjQ3XSciKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LnB1dEltYWdlRGF0YShidWZmZXIsIDAs
IDAsIDAsIDAsIDAsIE5hTikiLCAiJ1R5cGVFcnJvcjogVmFsdWUgTmFOIGlzIG91dHNpZGUgdGhl
IHJhbmdlIFstMjE0NzQ4MzY0OCwgMjE0NzQ4MzY0N10nIik7CitzaG91bGRUaHJvdygiY29udGV4
dC5wdXRJbWFnZURhdGEoYnVmZmVyLCBJbmZpbml0eSwgMCwgMCwgMCwgMCwgMCkiLCAiJ1R5cGVF
cnJvcjogVmFsdWUgSW5maW5pdHkgaXMgb3V0c2lkZSB0aGUgcmFuZ2UgWy0yMTQ3NDgzNjQ4LCAy
MTQ3NDgzNjQ3XSciKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LnB1dEltYWdlRGF0YShidWZmZXIs
IDAsIEluZmluaXR5LCAwLCAwLCAwLCAwKSIsICInVHlwZUVycm9yOiBWYWx1ZSBJbmZpbml0eSBp
cyBvdXRzaWRlIHRoZSByYW5nZSBbLTIxNDc0ODM2NDgsIDIxNDc0ODM2NDddJyIpOworc2hvdWxk
VGhyb3coImNvbnRleHQucHV0SW1hZ2VEYXRhKGJ1ZmZlciwgMCwgMCwgSW5maW5pdHksIDAsIDAs
IDApIiwgIidUeXBlRXJyb3I6IFZhbHVlIEluZmluaXR5IGlzIG91dHNpZGUgdGhlIHJhbmdlIFst
MjE0NzQ4MzY0OCwgMjE0NzQ4MzY0N10nIik7CitzaG91bGRUaHJvdygiY29udGV4dC5wdXRJbWFn
ZURhdGEoYnVmZmVyLCAwLCAwLCAwLCBJbmZpbml0eSwgMCwgMCkiLCAiJ1R5cGVFcnJvcjogVmFs
dWUgSW5maW5pdHkgaXMgb3V0c2lkZSB0aGUgcmFuZ2UgWy0yMTQ3NDgzNjQ4LCAyMTQ3NDgzNjQ3
XSciKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LnB1dEltYWdlRGF0YShidWZmZXIsIDAsIDAsIDAs
IDAsIEluZmluaXR5LCAwKSIsICInVHlwZUVycm9yOiBWYWx1ZSBJbmZpbml0eSBpcyBvdXRzaWRl
IHRoZSByYW5nZSBbLTIxNDc0ODM2NDgsIDIxNDc0ODM2NDddJyIpOworc2hvdWxkVGhyb3coImNv
bnRleHQucHV0SW1hZ2VEYXRhKGJ1ZmZlciwgMCwgMCwgMCwgMCwgMCwgSW5maW5pdHkpIiwgIidU
eXBlRXJyb3I6IFZhbHVlIEluZmluaXR5IGlzIG91dHNpZGUgdGhlIHJhbmdlIFstMjE0NzQ4MzY0
OCwgMjE0NzQ4MzY0N10nIik7CitzaG91bGRUaHJvdygiY29udGV4dC5wdXRJbWFnZURhdGEoYnVm
ZmVyLCB1bmRlZmluZWQsIDAsIDAsIDAsIDAsIDApIiwgIidUeXBlRXJyb3I6IFZhbHVlIE5hTiBp
cyBvdXRzaWRlIHRoZSByYW5nZSBbLTIxNDc0ODM2NDgsIDIxNDc0ODM2NDddJyIpOworc2hvdWxk
VGhyb3coImNvbnRleHQucHV0SW1hZ2VEYXRhKGJ1ZmZlciwgMCwgdW5kZWZpbmVkLCAwLCAwLCAw
LCAwKSIsICInVHlwZUVycm9yOiBWYWx1ZSBOYU4gaXMgb3V0c2lkZSB0aGUgcmFuZ2UgWy0yMTQ3
NDgzNjQ4LCAyMTQ3NDgzNjQ3XSciKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LnB1dEltYWdlRGF0
YShidWZmZXIsIDAsIDAsIHVuZGVmaW5lZCwgMCwgMCwgMCkiLCAiJ1R5cGVFcnJvcjogVmFsdWUg
TmFOIGlzIG91dHNpZGUgdGhlIHJhbmdlIFstMjE0NzQ4MzY0OCwgMjE0NzQ4MzY0N10nIik7Citz
aG91bGRUaHJvdygiY29udGV4dC5wdXRJbWFnZURhdGEoYnVmZmVyLCAwLCAwLCAwLCB1bmRlZmlu
ZWQsIDAsIDApIiwgIidUeXBlRXJyb3I6IFZhbHVlIE5hTiBpcyBvdXRzaWRlIHRoZSByYW5nZSBb
LTIxNDc0ODM2NDgsIDIxNDc0ODM2NDddJyIpOworc2hvdWxkVGhyb3coImNvbnRleHQucHV0SW1h
Z2VEYXRhKGJ1ZmZlciwgMCwgMCwgMCwgMCwgdW5kZWZpbmVkLCAwKSIsICInVHlwZUVycm9yOiBW
YWx1ZSBOYU4gaXMgb3V0c2lkZSB0aGUgcmFuZ2UgWy0yMTQ3NDgzNjQ4LCAyMTQ3NDgzNjQ3XSci
KTsKK3Nob3VsZFRocm93KCJjb250ZXh0LnB1dEltYWdlRGF0YShidWZmZXIsIDAsIDAsIDAsIDAs
IDAsIHVuZGVmaW5lZCkiLCAiJ1R5cGVFcnJvcjogVmFsdWUgTmFOIGlzIG91dHNpZGUgdGhlIHJh
bmdlIFstMjE0NzQ4MzY0OCwgMjE0NzQ4MzY0N10nIik7CiAKIC8vIEVuc3VyZSB3ZSBkb24ndCBt
ZXNzIHVwIGJvdW5kcyBjbGlwcGluZyBjaGVja3MKIHZhciByZWN0Y2FudmFzID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiY2FudmFzIik7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9y
ZXNvdXJjZXMvY2FudmFzLTJkLWltYWdlRGF0YS1jcmVhdGUtbm9uZmluaXRlLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3Jlc291cmNlcy9jYW52YXMtMmQtaW1hZ2VE
YXRhLWNyZWF0ZS1ub25maW5pdGUuanMJKHJldmlzaW9uIDI3NjgxOSkKKysrIExheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3Jlc291cmNlcy9jYW52YXMtMmQtaW1hZ2VEYXRhLWNyZWF0ZS1ub25maW5p
dGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTMsMTAgKzMsMTAgQEAgZGVzY3JpcHRpb24oIlRlc3Qg
dGhlIGFyZ3VtZW50IGJvdW5kcyBvZgogdmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdjYW52YXMnKTsKIHZhciBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAotc2hv
dWxkVGhyb3coImN0eC5jcmVhdGVJbWFnZURhdGEoSW5maW5pdHksIEluZmluaXR5KSIsICciVHlw
ZUVycm9yOiBUaGUgcHJvdmlkZWQgdmFsdWUgaXMgbm9uLWZpbml0ZSInKTsKLXNob3VsZFRocm93
KCJjdHguY3JlYXRlSW1hZ2VEYXRhKEluZmluaXR5LCAxMCkiLCAnIlR5cGVFcnJvcjogVGhlIHBy
b3ZpZGVkIHZhbHVlIGlzIG5vbi1maW5pdGUiJyk7Ci1zaG91bGRUaHJvdygiY3R4LmNyZWF0ZUlt
YWdlRGF0YSgtSW5maW5pdHksIDEwKSIsICciVHlwZUVycm9yOiBUaGUgcHJvdmlkZWQgdmFsdWUg
aXMgbm9uLWZpbml0ZSInKTsKLXNob3VsZFRocm93KCJjdHguY3JlYXRlSW1hZ2VEYXRhKDEwLCBJ
bmZpbml0eSkiLCAnIlR5cGVFcnJvcjogVGhlIHByb3ZpZGVkIHZhbHVlIGlzIG5vbi1maW5pdGUi
Jyk7Ci1zaG91bGRUaHJvdygiY3R4LmNyZWF0ZUltYWdlRGF0YSgxMCwgLUluZmluaXR5KSIsICci
VHlwZUVycm9yOiBUaGUgcHJvdmlkZWQgdmFsdWUgaXMgbm9uLWZpbml0ZSInKTsKLXNob3VsZFRo
cm93KCJjdHguY3JlYXRlSW1hZ2VEYXRhKE5hTiwgMTApIiwgJyJUeXBlRXJyb3I6IFRoZSBwcm92
aWRlZCB2YWx1ZSBpcyBub24tZmluaXRlIicpOwotc2hvdWxkVGhyb3coImN0eC5jcmVhdGVJbWFn
ZURhdGEoMTAsIE5hTikiLCAnIlR5cGVFcnJvcjogVGhlIHByb3ZpZGVkIHZhbHVlIGlzIG5vbi1m
aW5pdGUiJyk7CitzaG91bGRUaHJvdygiY3R4LmNyZWF0ZUltYWdlRGF0YShJbmZpbml0eSwgSW5m
aW5pdHkpIiwgJyJUeXBlRXJyb3I6IFZhbHVlIEluZmluaXR5IGlzIG91dHNpZGUgdGhlIHJhbmdl
IFstMjE0NzQ4MzY0OCwgMjE0NzQ4MzY0N10iJyk7CitzaG91bGRUaHJvdygiY3R4LmNyZWF0ZUlt
YWdlRGF0YShJbmZpbml0eSwgMTApIiwgJyJUeXBlRXJyb3I6IFZhbHVlIEluZmluaXR5IGlzIG91
dHNpZGUgdGhlIHJhbmdlIFstMjE0NzQ4MzY0OCwgMjE0NzQ4MzY0N10iJyk7CitzaG91bGRUaHJv
dygiY3R4LmNyZWF0ZUltYWdlRGF0YSgtSW5maW5pdHksIDEwKSIsICciVHlwZUVycm9yOiBWYWx1
ZSAtSW5maW5pdHkgaXMgb3V0c2lkZSB0aGUgcmFuZ2UgWy0yMTQ3NDgzNjQ4LCAyMTQ3NDgzNjQ3
XSInKTsKK3Nob3VsZFRocm93KCJjdHguY3JlYXRlSW1hZ2VEYXRhKDEwLCBJbmZpbml0eSkiLCAn
IlR5cGVFcnJvcjogVmFsdWUgSW5maW5pdHkgaXMgb3V0c2lkZSB0aGUgcmFuZ2UgWy0yMTQ3NDgz
NjQ4LCAyMTQ3NDgzNjQ3XSInKTsKK3Nob3VsZFRocm93KCJjdHguY3JlYXRlSW1hZ2VEYXRhKDEw
LCAtSW5maW5pdHkpIiwgJyJUeXBlRXJyb3I6IFZhbHVlIC1JbmZpbml0eSBpcyBvdXRzaWRlIHRo
ZSByYW5nZSBbLTIxNDc0ODM2NDgsIDIxNDc0ODM2NDddIicpOworc2hvdWxkVGhyb3coImN0eC5j
cmVhdGVJbWFnZURhdGEoTmFOLCAxMCkiLCAnIlR5cGVFcnJvcjogVmFsdWUgTmFOIGlzIG91dHNp
ZGUgdGhlIHJhbmdlIFstMjE0NzQ4MzY0OCwgMjE0NzQ4MzY0N10iJyk7CitzaG91bGRUaHJvdygi
Y3R4LmNyZWF0ZUltYWdlRGF0YSgxMCwgTmFOKSIsICciVHlwZUVycm9yOiBWYWx1ZSBOYU4gaXMg
b3V0c2lkZSB0aGUgcmFuZ2UgWy0yMTQ3NDgzNjQ4LCAyMTQ3NDgzNjQ3XSInKTsKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkocmV2aXNpb24gMjc2ODczKQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBA
CisyMDIxLTA1LTAxICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBV
cGRhdGUgb3BlcmF0aW9ucyBpbiBDYW52YXNJbWFnZURhdGEuaWRsIHRvIHVzZSBsb25nIHJhdGhl
ciB0aGFuIGZsb2F0IGFzIHBlciBzcGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjUyNjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIGNhbnZhcy8yZC5pbWFnZURhdGEuY3JlYXRlMi50aW55LWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBjYW52YXMvMmQuaW1hZ2VEYXRhLmdldC50aW55LWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgVXBkYXRlIHJlc3VsdHMsIHdoaWNoIG5vdyBkb24ndCBwYXNzLCB0byBt
YXRjaCB0aGUgc3BlYyBiZWhhdmlvci4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2NhbnZhcy9lbGVtZW50L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRl
Mi5kb3VibGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2NhbnZhcy9lbGVtZW50L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi56
ZXJvLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jYW52
YXMvZWxlbWVudC9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5kb3VibGUtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2NhbnZhcy9lbGVt
ZW50L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LmxhcmdlLmNyYXNoLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jYW52YXMvZWxlbWVu
dC9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5yb3VuZGluZy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY2FudmFzL2VsZW1lbnQvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuemVyby1leHBlY3RlZC50eHQ6CisgICAg
ICAgIFVwZGF0ZSByZXN1bHRzLCB3aGljaCBub3cgcGFzcyEKKwogMjAyMS0wNC0zMCAgT3Jpb2wg
QnJ1ZmF1ICA8b2JydWZhdUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtjc3MtbG9naWNhbF0gRml4
IGxvZ2ljYWwgc2hvcnRoYW5kcyB3aXRoIHZhcigpCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvY2FudmFzLzJkLmltYWdlRGF0YS5jcmVhdGUyLnRpbnktZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9jYW52YXMvMmQuaW1hZ2VEYXRhLmNy
ZWF0ZTIudGlueS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI3Njg3MykKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9jYW52YXMvMmQuaW1hZ2VEYXRhLmNyZWF0ZTIudGlueS1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTIsNCArMiw0IEBACiBjcmVhdGVJbWFnZURhdGEoc3csIHNo
KSB3b3JrcyBmb3Igc2l6ZXMgc21hbGxlciB0aGFuIG9uZSBwaXhlbAogU3BlYyByZWZlcmVuY2Vz
OiAyZC5pbWFnZURhdGEuY3JlYXRlMi5zaXplIDJkLmltYWdlRGF0YS5vbmUKIEFjdHVhbCBvdXRw
dXQ6Ci1QYXNzZWQKK0Fib3J0ZWQgd2l0aCBleGNlcHRpb246IFRoZSBpbmRleCBpcyBub3QgaW4g
dGhlIGFsbG93ZWQgcmFuZ2UuCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvY2FudmFz
LzJkLmltYWdlRGF0YS5nZXQudGlueS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL2NhbnZhcy8yZC5pbWFnZURhdGEuZ2V0LnRpbnktZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAyNzY4NzMpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvY2FudmFz
LzJkLmltYWdlRGF0YS5nZXQudGlueS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIs
NCArMiw0IEBACiBnZXRJbWFnZURhdGEoKSB3b3JrcyBmb3Igc2l6ZXMgc21hbGxlciB0aGFuIG9u
ZSBwaXhlbAogU3BlYyByZWZlcmVuY2VzOiAyZC5pbWFnZURhdGEub25lCiBBY3R1YWwgb3V0cHV0
OgotUGFzc2VkCitBYm9ydGVkIHdpdGggZXhjZXB0aW9uOiBUaGUgaW5kZXggaXMgbm90IGluIHRo
ZSBhbGxvd2VkIHJhbmdlLgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2NhbnZhcy9lbGVtZW50L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEuY3JlYXRlMi5kb3VibGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jYW52YXMvZWxlbWVudC9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIuZG91YmxlLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMjc2ODczKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2NhbnZhcy9lbGVtZW50L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEuY3JlYXRlMi5kb3VibGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yLDUg
KzIsNSBAQAogY3JlYXRlSW1hZ2VEYXRhKHcsIGgpIGRvdWJsZSBpcyBjb252ZXJ0ZWQgdG8gbG9u
ZwogQWN0dWFsIG91dHB1dDoKIAotRkFJTCBjcmVhdGVJbWFnZURhdGEodywgaCkgZG91YmxlIGlz
IGNvbnZlcnRlZCB0byBsb25nIGFzc2VydF9lcXVhbHM6IGltZ2RhdGExLndpZHRoID09PSAxMCAo
Z290IDExW251bWJlcl0sIGV4cGVjdGVkIDEwW251bWJlcl0pIGV4cGVjdGVkIDEwIGJ1dCBnb3Qg
MTEKK1BBU1MgY3JlYXRlSW1hZ2VEYXRhKHcsIGgpIGRvdWJsZSBpcyBjb252ZXJ0ZWQgdG8gbG9u
ZwogCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvY2FudmFzL2VsZW1lbnQvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUy
Lnplcm8tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jYW52YXMvZWxlbWVudC9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIuemVyby1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI3Njg3
MykKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9j
YW52YXMvZWxlbWVudC9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIuemVy
by1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIsNSArMiw1IEBACiBjcmVhdGVJbWFn
ZURhdGEoc3csIHNoKSB0aHJvd3MgSU5ERVhfU0laRV9FUlIgaWYgc2l6ZSBpcyB6ZXJvCiBBY3R1
YWwgb3V0cHV0OgogCi1GQUlMIGNyZWF0ZUltYWdlRGF0YShzdywgc2gpIHRocm93cyBJTkRFWF9T
SVpFX0VSUiBpZiBzaXplIGlzIHplcm8gYXNzZXJ0X3Rocm93c19kb206IGZ1bmN0aW9uICJmdW5j
dGlvbiAoKSB7IGN0eC5jcmVhdGVJbWFnZURhdGEoMC45OSwgMTApOyB9IiBkaWQgbm90IHRocm93
CitQQVNTIGNyZWF0ZUltYWdlRGF0YShzdywgc2gpIHRocm93cyBJTkRFWF9TSVpFX0VSUiBpZiBz
aXplIGlzIHplcm8KIApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2NhbnZhcy9lbGVtZW50L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURh
dGEuZ2V0LmRvdWJsZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2NhbnZhcy9lbGVtZW50L3BpeGVsLW1h
bmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LmRvdWJsZS1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDI3Njg3MykKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9jYW52YXMvZWxlbWVudC9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5k
b3VibGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yLDUgKzIsNSBAQAogY3JlYXRl
SW1hZ2VEYXRhKHcsIGgpIGRvdWJsZSBpcyBjb252ZXJ0ZWQgdG8gbG9uZwogQWN0dWFsIG91dHB1
dDoKIAotRkFJTCBjcmVhdGVJbWFnZURhdGEodywgaCkgZG91YmxlIGlzIGNvbnZlcnRlZCB0byBs
b25nIGFzc2VydF9lcXVhbHM6IGltZ2RhdGExLndpZHRoID09PSAxMCAoZ290IDExW251bWJlcl0s
IGV4cGVjdGVkIDEwW251bWJlcl0pIGV4cGVjdGVkIDEwIGJ1dCBnb3QgMTEKK1BBU1MgY3JlYXRl
SW1hZ2VEYXRhKHcsIGgpIGRvdWJsZSBpcyBjb252ZXJ0ZWQgdG8gbG9uZwogCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY2FudmFzL2VsZW1l
bnQvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQubGFyZ2UuY3Jhc2gtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9jYW52YXMvZWxlbWVudC9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLmdldC5sYXJnZS5jcmFzaC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI3Njg3MykKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jYW52YXMvZWxl
bWVudC9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5sYXJnZS5jcmFzaC1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIsNSArMiw1IEBACiBUZXN0IHRoYXQgY2FudmFz
IGNyYXNoIHdoZW4gaW1hZ2UgZGF0YSBjYW5ub3QgYmUgYWxsb2NhdGVkLgogQWN0dWFsIG91dHB1
dDoKIAotRkFJTCBUZXN0IHRoYXQgY2FudmFzIGNyYXNoIHdoZW4gaW1hZ2UgZGF0YSBjYW5ub3Qg
YmUgYWxsb2NhdGVkLiBhc3NlcnRfdGhyb3dzX2pzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyBj
dHguZ2V0SW1hZ2VEYXRhKDEwLCAweGZmZmZmZmZmLCAyMTQ3NDgzNjQ3LCAxMCk7IH0iIGRpZCBu
b3QgdGhyb3cKK1BBU1MgVGVzdCB0aGF0IGNhbnZhcyBjcmFzaCB3aGVuIGltYWdlIGRhdGEgY2Fu
bm90IGJlIGFsbG9jYXRlZC4KIApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2NhbnZhcy9lbGVtZW50L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuZ2V0LnJvdW5kaW5nLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY2FudmFzL2VsZW1lbnQv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQucm91bmRpbmctZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAyNzY4NzMpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvY2FudmFzL2VsZW1lbnQvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5nZXQucm91bmRpbmctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yLDUgKzIs
NSBAQAogVGVzdCB0aGUgaGFuZGxpbmcgb2Ygbm9uLWludGVnZXIgc291cmNlIGNvb3JkaW5hdGVz
IGluIGdldEltYWdlRGF0YSgpLgogQWN0dWFsIG91dHB1dDoKIAotRkFJTCBUZXN0IHRoZSBoYW5k
bGluZyBvZiBub24taW50ZWdlciBzb3VyY2UgY29vcmRpbmF0ZXMgaW4gZ2V0SW1hZ2VEYXRhKCku
IGFzc2VydF90cnVlOiBpbWFnZURhdGEud2lkdGggPT0gd2lkdGggZXhwZWN0ZWQgdHJ1ZSBnb3Qg
ZmFsc2UKK1BBU1MgVGVzdCB0aGUgaGFuZGxpbmcgb2Ygbm9uLWludGVnZXIgc291cmNlIGNvb3Jk
aW5hdGVzIGluIGdldEltYWdlRGF0YSgpLgogCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY2FudmFzL2VsZW1lbnQvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5nZXQuemVyby1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2NhbnZhcy9lbGVt
ZW50L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lnplcm8tZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAyNzY4NzMpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvY2FudmFzL2VsZW1lbnQvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5nZXQuemVyby1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIsNSArMiw1IEBA
CiBnZXRJbWFnZURhdGEoKSB0aHJvd3MgSU5ERVhfU0laRV9FUlIgaWYgc2l6ZSBpcyB6ZXJvCiBB
Y3R1YWwgb3V0cHV0OgogCi1GQUlMIGdldEltYWdlRGF0YSgpIHRocm93cyBJTkRFWF9TSVpFX0VS
UiBpZiBzaXplIGlzIHplcm8gYXNzZXJ0X3Rocm93c19kb206IGZ1bmN0aW9uICJmdW5jdGlvbiAo
KSB7IGN0eC5nZXRJbWFnZURhdGEoMSwgMSwgMC4xLCAxMCk7IH0iIGRpZCBub3QgdGhyb3cKK1BB
U1MgZ2V0SW1hZ2VEYXRhKCkgdGhyb3dzIElOREVYX1NJWkVfRVJSIGlmIHNpemUgaXMgemVybwog
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>