<?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>234145</bug_id>
          
          <creation_ts>2021-12-10 06:33:12 -0800</creation_ts>
          <short_desc>When transform-style: preserve-3d is used with a grouping property it should still create a containing block</short_desc>
          <delta_ts>2022-01-07 00:46:44 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Martin Robinson">mrobinson</reporter>
          <assigned_to name="Martin Robinson">mrobinson</assigned_to>
          <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1822677</commentid>
    <comment_count>0</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2021-12-10 06:33:12 -0800</bug_when>
    <thetext>https://drafts.csswg.org/css-transforms-2/#interpolation-of-transform-functions says:

&gt; The use of this property with any value other than none establishes a stacking context. It also establishes a containing block for all descendants, just like the transform property does.

Currently we are handling this via the StyleAdjuster, which is why preserve-3d-flat-grouping-properties-containing-block.html is failing the WPT test suite.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825067</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-17 06:34:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/86630387&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828301</commentid>
    <comment_count>2</comment_count>
      <attachid>448397</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2022-01-05 10:00:09 -0800</bug_when>
    <thetext>Created attachment 448397
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828327</commentid>
    <comment_count>3</comment_count>
      <attachid>448397</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-01-05 11:02:04 -0800</bug_when>
    <thetext>Comment on attachment 448397
Patch

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

&gt; Source/WebCore/rendering/style/RenderStyle.cpp:1188
&gt; +        if (usedTransformStyle3D() != other.usedTransformStyle3D()

I wonder if this will be a perf regression, since usedTransformStyle3D() does more work now. This code is pretty hot. Might be better to keep the /StyleAdjuster code but have it set a usedTransformStyle field.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828613</commentid>
    <comment_count>4</comment_count>
      <attachid>448501</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2022-01-06 07:47:13 -0800</bug_when>
    <thetext>Created attachment 448501
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828619</commentid>
    <comment_count>5</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2022-01-06 08:12:05 -0800</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #3)
&gt; Comment on attachment 448397 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=448397&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/style/RenderStyle.cpp:1188
&gt; &gt; +        if (usedTransformStyle3D() != other.usedTransformStyle3D()
&gt; 
&gt; I wonder if this will be a perf regression, since usedTransformStyle3D()
&gt; does more work now. This code is pretty hot. Might be better to keep the
&gt; /StyleAdjuster code but have it set a usedTransformStyle field.

Thanks for the review!

The new patch takes the approach you suggest. I ended up adding a boolean field to StyleRareNonInheritedData because that makes managing style changes a little more straight-forward (and saves a bit). I can probably change this to be an enum field if that&apos;s a better path. In addition, I&apos;ve rewritten the existing tests that checked this behavior. Now they test both the used and computed value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828620</commentid>
    <comment_count>6</comment_count>
      <attachid>448503</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2022-01-06 08:13:16 -0800</bug_when>
    <thetext>Created attachment 448503
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828841</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-07 00:46:39 -0800</bug_when>
    <thetext>Committed r287742 (245812@main): &lt;https://commits.webkit.org/245812@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 448503.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448397</attachid>
            <date>2022-01-05 10:00:09 -0800</date>
            <delta_ts>2022-01-06 07:47:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234145-20220105190007.patch</filename>
            <type>text/plain</type>
            <size>15495</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NjEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDk2NmE1N2Y1ZWRkMDA0
NWI4NmU3NDEwODgyZjIwMTE3NTI1OTM5ZS4uNzhiZjI2ZWIyNTE3ZWQ2NGY0ZmY5ZTUzMDQ2OGFm
MGZlNzk4N2RiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDIyLTAxLTA1ICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25Ad2Via2l0Lm9yZz4KKworICAgICAgICBXaGVuIHRyYW5z
Zm9ybS1zdHlsZTogcHJlc2VydmUtM2QgaXMgdXNlZCB3aXRoIGEgZ3JvdXBpbmcgcHJvcGVydHkg
aXQgc2hvdWxkIHN0aWxsIGNyZWF0ZSBhIGNvbnRhaW5pbmcgYmxvY2sKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDE0NQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vODY2MzAzODc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBUaGlzIGlzIGNvdmVyZWQgYnkgYW4gZXhpc3Rpbmcg
V1BUIHRlc3QuCisKKyAgICAgICAgUHJldmlvdXNseSwgd2hlbiBhIGdyb3VwaW5nIHByb3BlcnR5
IChhbmQgdGhlIGZldyBleHRyYSBwcm9wZXJ0aWVzIHNwZWNpZmljIHRvIFdlYktpdCkgZm9yY2Vk
CisgICAgICAgIHRyYW5zZm9ybS1zdHlsZTogZmxhdCwgdGhpcyBjaGFuZ2Ugd2FzIG1hZGUgaW4g
dGhlIFN0eWxlQWRqdXN0ZXIgYW5kIGFmZmVjdGVkIGNvbXB1dGVkIHN0eWxlLgorICAgICAgICBU
aGUgc3BlY2lmaWNhdGlvbiBzYXlzIHRoYXQgdGhlc2UgcHJvcGVydGllcyBzaG91bGQgYWN0dWFs
bHkgYWRqdXN0IHRoZSB1c2VkIHZhbHVlIG9mCisgICAgICAgIHRoZSBwcm9wZXJ0eS4KKworICAg
ICAgICBUaGUgc3BlY2lmaWNhdGlvbiBhbHNvIHNheXM6CisgICAgICAgID4gVGhlIHVzZSBvZiB0
aGlzIHByb3BlcnR5IHdpdGggYW55IHZhbHVlIG90aGVyIHRoYW4gbm9uZSBlc3RhYmxpc2hlcyBh
CisgICAgICAgID4gc3RhY2tpbmcgY29udGV4dC4gSXQgYWxzbyBlc3RhYmxpc2hlcyBhIGNvbnRh
aW5pbmcgYmxvY2sgZm9yIGFsbAorICAgICAgICA+IGRlc2NlbmRhbnRzLCBqdXN0IGxpa2UgdGhl
IHRyYW5zZm9ybSBwcm9wZXJ0eSBkb2VzLgorCisgICAgICAgIFRvZ2V0aGVyLCB0aGlzIG1lYW5z
IHRoYXQgbm8gbWF0dGVyIHdoYXQgdGhlIHVzZWQgdmFsdWUgaXMgb2YgdHJhbnNmb3JtLXN0eWxl
LCBpdCBzaG91bGQKKyAgICAgICAgZXN0YWJsaXNoIGEgY29udGFpbmluZyBibG9jayBhbmQgY3Jl
YXRlIGEgc3RhY2tpbmcgY29udGV4dC4KKworICAgICAgICBUaGlzIGNoYW5nZSBtb3ZlcyB0aGUg
ZGV0ZWN0aW9uIG9mIGdyb3VwaW5nIHByb3BlcnRpZXMgb3V0IG9mIHRoZSBTdHlsZUFkanVzdGVy
IGFuZCBhZGRzCisgICAgICAgIGEgdXNlZFRyYW5zZm9ybVN0eWxlIFJlbmRlclN0eWxlIG1ldGhv
ZC4gUmVuZGVyU3R5bGU6OnByZXNlcnZlczNEIHJlYWRzIHRoZSB1c2VkIHZhbHVlCisgICAgICAg
IGFuZCBoYXNUcmFuc2Zvcm1SZWxhdGVkUHJvcGVydHksIHdoaWNoIGlzIHVzZWQgZm9yIGVzdGFi
bGlzaGluZyBjb250YWluaW5nIGJsb2NrcworICAgICAgICBhbmQgc3RhY2tpbmcgY29udGV4dHMs
IHVzZXMgdGhlIGNhbGN1bGF0ZWQgdmFsdWUuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpwcmVzZXJ2ZXMzRCBjb25z
dCk6IE1vZGlmaWVkIHRoaXMgdG8gdXNlIHVzZWRUcmFuc2Zvcm1TdHlsZTNELgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHZW9tZXRyeSk6IFRoaXMgbm93IGNhbGxzIHByZXNlcnZl
M0QoKSBhbmQgdXNlZFRyYW5zZm9ybVN0eWxlM0QoKS4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlY29tcG9zaXRlQ2hh
bmdlUmVxdWlyZXNHZW9tZXRyeVVwZGF0ZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc0NvbXBvc2l0aW5nRm9yQmFja2ZhY2VWaXNpYmls
aXR5IGNvbnN0KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0
b3I6OmNvbXB1dGVJbmRpcmVjdENvbXBvc2l0aW5nUmVhc29uIGNvbnN0KTogRGl0dG8uCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnN0eWxlQ2hhbmdlTWF5QWZmZWN0
SW5kaXJlY3RDb21wb3NpdGluZ1JlYXNvbnMpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyQ29tcG9zaXRvcjo6bGF5ZXJIYXMzRENvbnRlbnQgY29uc3QpOiBEaXR0by4KKyAg
ICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyU3R5bGU6OmNoYW5nZVJlcXVpcmVzUmVjb21wb3NpdGVMYXllciBjb25zdCk6IERp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnVzZWRUcmFuc2Zvcm1TdHlsZTNE
IGNvbnN0KTogQWRkZWQgdGhpcyBtZXRob2QgdGhhdCBwb3J0cyB0aGUKKyAgICAgICAgbG9naWMg
ZnJvbSBTdHlsZUFkanVzdGVyLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6Omhhc1RyYW5zZm9ybVJlbGF0ZWRQ
cm9wZXJ0eSBjb25zdCk6IFRoaXMgbXVzdCBub3cgZXhwbGljaXRseQorICAgICAgICByZWFkIHRo
ZSBjb21wdXRlZCB2YWx1ZSB3aXRoIHRyYW5zZm9ybVN0eWxlM0QoKS4KKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclN0eWxlOjpwcmVzZXJ2ZXMzRCBjb25zdCk6IFRoaXMgbm93IHVzZXMgdXNlZFRy
YW5zZm9ybVN0eWxlM0QoKS4KKyAgICAgICAgKiBzdHlsZS9TdHlsZUFkanVzdGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlN0eWxlOjpBZGp1c3Rlcjo6YWRqdXN0IGNvbnN0KTogUmVtb3ZlZCB0
aGUgYWRqdXN0bWVudCBvZiB0cmFuc2Zvcm0tc3R5bGUKKyAgICAgICAgdG8gZmxhdC4KKwogMjAy
Mi0wMS0wNSAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgQ2hhbmdlIG9mZnNldFBhcmVudCB0byBtYXRjaCBzcGVjIGNoYW5nZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCA3Yjk3MzEyMTBiNjAyNjI3MmVlZDcyMzljMGJi
NWE4N2I2NWZlZDE0Li5hOTBlZjk3ZGZhZjUyNjFjMWZlYjZhNWYxZTEzY2E5NzEwMmRmZTM5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAtNzM2LDcgKzczNiw3IEBA
IHB1YmxpYzoKICAgICAvLyBOb3RlIHRoYXQgdGhpcyB0cmFuc2Zvcm0gaGFzIHRoZSBwZXJzcGVj
dGl2ZS1vcmlnaW4gYmFrZWQgaW4uCiAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggcGVyc3BlY3Rp
dmVUcmFuc2Zvcm0oY29uc3QgTGF5b3V0UmVjdCYgbGF5ZXJSZWN0KSBjb25zdDsKICAgICBGbG9h
dFBvaW50IHBlcnNwZWN0aXZlT3JpZ2luKCkgY29uc3Q7Ci0gICAgYm9vbCBwcmVzZXJ2ZXMzRCgp
IGNvbnN0IHsgcmV0dXJuIHJlbmRlcmVyKCkuc3R5bGUoKS50cmFuc2Zvcm1TdHlsZTNEKCkgPT0g
VHJhbnNmb3JtU3R5bGUzRDo6UHJlc2VydmUzRDsgfQorICAgIGJvb2wgcHJlc2VydmVzM0QoKSBj
b25zdCB7IHJldHVybiByZW5kZXJlcigpLnN0eWxlKCkucHJlc2VydmVzM0QoKTsgfQogICAgIGJv
b2wgaGFzM0RUcmFuc2Zvcm0oKSBjb25zdCB7IHJldHVybiBtX3RyYW5zZm9ybSAmJiAhbV90cmFu
c2Zvcm0tPmlzQWZmaW5lKCk7IH0KICAgICBib29sIGhhc1RyYW5zZm9ybWVkQW5jZXN0b3IoKSBj
b25zdCB7IHJldHVybiBtX2hhc1RyYW5zZm9ybWVkQW5jZXN0b3I7IH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCAzOTExZTcxOTA0
OTIxYzU3ZjdlNTZhODQxOTdkNjFkNjIyNjQ3NDlhLi5jZjkyYTlmMzg5NWZhY2MxNzBlNjM3NjM2
Mjc1MzBjYTc4MmM2YzBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJCYWNraW5nLmNwcApAQCAtMTMyMyw3ICsxMzIzLDcgQEAgdm9pZCBSZW5kZXJMYXllckJh
Y2tpbmc6OnVwZGF0ZUdlb21ldHJ5KGNvbnN0IFJlbmRlckxheWVyKiBjb21wb3NpdGVkQW5jZXN0
b3IpCiAgICAgYXV0byBwcmltYXJ5TGF5ZXJQb3NpdGlvbiA9IHByaW1hcnlHcmFwaGljc0xheWVy
UmVjdC5sb2NhdGlvbigpOwogCiAgICAgLy8gRklYTUU6IHJlZmxlY3Rpb25zIHNob3VsZCBmb3Jj
ZSB0cmFuc2Zvcm0tc3R5bGUgdG8gYmUgZmxhdCBpbiB0aGUgc3R5bGU6IGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY5NTkKLSAgICBib29sIHByZXNlcnZlczNEID0g
c3R5bGUudHJhbnNmb3JtU3R5bGUzRCgpID09IFRyYW5zZm9ybVN0eWxlM0Q6OlByZXNlcnZlM0Qg
JiYgIXJlbmRlcmVyKCkuaGFzUmVmbGVjdGlvbigpOworICAgIGJvb2wgcHJlc2VydmVzM0QgPSBz
dHlsZS5wcmVzZXJ2ZXMzRCgpICYmICFyZW5kZXJlcigpLmhhc1JlZmxlY3Rpb24oKTsKICAgICBp
ZiAobV9jb250ZW50c0NvbnRhaW5tZW50TGF5ZXIpIHsKICAgICAgICAgbV9jb250ZW50c0NvbnRh
aW5tZW50TGF5ZXItPnNldFByZXNlcnZlczNEKHByZXNlcnZlczNEKTsKICAgICAgICAgbV9jb250
ZW50c0NvbnRhaW5tZW50TGF5ZXItPnNldFBvc2l0aW9uKHByaW1hcnlMYXllclBvc2l0aW9uKTsK
QEAgLTEzNDcsNyArMTM0Nyw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHZW9t
ZXRyeShjb25zdCBSZW5kZXJMYXllciogY29tcG9zaXRlZEFuY2VzdG9yKQogCiAjaWYgRU5BQkxF
KENTU19UUkFOU0ZPUk1fU1RZTEVfT1BUSU1JWkVEXzNEKQogICAgIC8vIEZJWE1FOiBUYWtlIGFu
Y2VzdHJ5IGludG8gYWNjb3VudCBhbmQgcmVtb3ZlIHVubmVjZXNzYXJ5IHN0cnVjdHVyYWwgbGF5
ZXJzLgotICAgIG1fZ3JhcGhpY3NMYXllci0+c2V0SXNTZXBhcmF0ZWQoc3R5bGUudHJhbnNmb3Jt
U3R5bGUzRCgpID09IFRyYW5zZm9ybVN0eWxlM0Q6Ok9wdGltaXplZDNEKTsKKyAgICBtX2dyYXBo
aWNzTGF5ZXItPnNldElzU2VwYXJhdGVkKHN0eWxlLnVzZWRUcmFuc2Zvcm1TdHlsZTNEKCkgPT0g
VHJhbnNmb3JtU3R5bGUzRDo6T3B0aW1pemVkM0QpOwogI2VuZGlmCiAKICAgICAvLyBDb21wdXRl
IHJlbmRlcmVyIG9mZnNldCBmcm9tIHByaW1hcnkgZ3JhcGhpY3MgbGF5ZXIuIE5vdGUgdGhhdCBw
cmltYXJ5R3JhcGhpY3NMYXllclJlY3QgaXMgaW4gcGFyZW50R3JhcGhpY3NMYXllcidzIGNvb3Jk
aW5hdGUgc3lzdGVtIHdoaWNoIGlzIG5vdCBuZWNlc3NhcmlseQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCBiZjBiZmRlMGM1
OTY4ZjFiYTNjMDE0MjZkOWIzZGQ3NzMxMTJkYTRjLi5mNmU1ZGFjODQ1MGVkYTEwMDg0M2NkODM5
OGYzOTdmOTIwMGI3N2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtMTY0Miw3ICsxNjQyLDcgQEAgc3RhdGljIGJvb2wg
cmVjb21wb3NpdGVDaGFuZ2VSZXF1aXJlc0dlb21ldHJ5VXBkYXRlKGNvbnN0IFJlbmRlclN0eWxl
JiBvbGRTdHlsZSwKICAgICAgICAgfHwgb2xkU3R5bGUudHJhbnNmb3JtT3JpZ2luWCgpICE9IG5l
d1N0eWxlLnRyYW5zZm9ybU9yaWdpblgoKQogICAgICAgICB8fCBvbGRTdHlsZS50cmFuc2Zvcm1P
cmlnaW5ZKCkgIT0gbmV3U3R5bGUudHJhbnNmb3JtT3JpZ2luWSgpCiAgICAgICAgIHx8IG9sZFN0
eWxlLnRyYW5zZm9ybU9yaWdpblooKSAhPSBuZXdTdHlsZS50cmFuc2Zvcm1PcmlnaW5aKCkKLSAg
ICAgICAgfHwgb2xkU3R5bGUudHJhbnNmb3JtU3R5bGUzRCgpICE9IG5ld1N0eWxlLnRyYW5zZm9y
bVN0eWxlM0QoKQorICAgICAgICB8fCBvbGRTdHlsZS51c2VkVHJhbnNmb3JtU3R5bGUzRCgpICE9
IG5ld1N0eWxlLnVzZWRUcmFuc2Zvcm1TdHlsZTNEKCkKICAgICAgICAgfHwgb2xkU3R5bGUucGVy
c3BlY3RpdmUoKSAhPSBuZXdTdHlsZS5wZXJzcGVjdGl2ZSgpCiAgICAgICAgIHx8IG9sZFN0eWxl
LnBlcnNwZWN0aXZlT3JpZ2luWCgpICE9IG5ld1N0eWxlLnBlcnNwZWN0aXZlT3JpZ2luWCgpCiAg
ICAgICAgIHx8IG9sZFN0eWxlLnBlcnNwZWN0aXZlT3JpZ2luWSgpICE9IG5ld1N0eWxlLnBlcnNw
ZWN0aXZlT3JpZ2luWSgpCkBAIC0zMDQ0LDcgKzMwNDQsNyBAQCBib29sIFJlbmRlckxheWVyQ29t
cG9zaXRvcjo6cmVxdWlyZXNDb21wb3NpdGluZ0ZvckJhY2tmYWNlVmlzaWJpbGl0eShSZW5kZXJM
YXllcgogICAgIAogICAgIC8vIEZJWE1FOiB3b3JrYXJvdW5kIGZvciB3ZWJraXQub3JnL2IvMTMy
ODAxCiAgICAgYXV0byogc3RhY2tpbmdDb250ZXh0ID0gcmVuZGVyZXIubGF5ZXIoKS0+c3RhY2tp
bmdDb250ZXh0KCk7Ci0gICAgaWYgKHN0YWNraW5nQ29udGV4dCAmJiBzdGFja2luZ0NvbnRleHQt
PnJlbmRlcmVyKCkuc3R5bGUoKS50cmFuc2Zvcm1TdHlsZTNEKCkgPT0gVHJhbnNmb3JtU3R5bGUz
RDo6UHJlc2VydmUzRCkKKyAgICBpZiAoc3RhY2tpbmdDb250ZXh0ICYmIHN0YWNraW5nQ29udGV4
dC0+cmVuZGVyZXIoKS5zdHlsZSgpLnByZXNlcnZlczNEKCkpCiAgICAgICAgIHJldHVybiB0cnVl
OwogCiAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMzI5MSw3ICszMjkxLDcgQEAgSW5kaXJlY3RDb21w
b3NpdGluZ1JlYXNvbiBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNvbXB1dGVJbmRpcmVjdENvbXBv
c2l0aW5nUmVhc28KICAgICAvLyBBIGxheWVyIHdpdGggcHJlc2VydmUtM2Qgb3IgcGVyc3BlY3Rp
dmUgb25seSBuZWVkcyB0byBiZSBjb21wb3NpdGVkIGlmIHRoZXJlIGFyZSBkZXNjZW5kYW50IGxh
eWVycyB0aGF0CiAgICAgLy8gd2lsbCBiZSBhZmZlY3RlZCBieSB0aGUgcHJlc2VydmUtM2Qgb3Ig
cGVyc3BlY3RpdmUuCiAgICAgaWYgKGhhczNEVHJhbnNmb3JtZWREZXNjZW5kYW50cykgewotICAg
ICAgICBpZiAocmVuZGVyZXIuc3R5bGUoKS50cmFuc2Zvcm1TdHlsZTNEKCkgPT0gVHJhbnNmb3Jt
U3R5bGUzRDo6UHJlc2VydmUzRCkKKyAgICAgICAgaWYgKHJlbmRlcmVyLnN0eWxlKCkucHJlc2Vy
dmVzM0QoKSkKICAgICAgICAgICAgIHJldHVybiBJbmRpcmVjdENvbXBvc2l0aW5nUmVhc29uOjpQ
cmVzZXJ2ZTNEOwogICAgIAogICAgICAgICBpZiAocmVuZGVyZXIuc3R5bGUoKS5oYXNQZXJzcGVj
dGl2ZSgpKQpAQCAtMzMyMiw3ICszMzIyLDcgQEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6
OnN0eWxlQ2hhbmdlTWF5QWZmZWN0SW5kaXJlY3RDb21wb3NpdGluZ1JlYXNvbnMoY29uc3QKICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgaWYgKG5ld1N0eWxlLmJveFJlZmxlY3QoKSAhPSBvbGRT
dHlsZS5ib3hSZWZsZWN0KCkpCiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIGlmIChuZXdTdHls
ZS50cmFuc2Zvcm1TdHlsZTNEKCkgIT0gb2xkU3R5bGUudHJhbnNmb3JtU3R5bGUzRCgpKQorICAg
IGlmIChuZXdTdHlsZS51c2VkVHJhbnNmb3JtU3R5bGUzRCgpICE9IG9sZFN0eWxlLnVzZWRUcmFu
c2Zvcm1TdHlsZTNEKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIGlmIChuZXdTdHlsZS5o
YXNQZXJzcGVjdGl2ZSgpICE9IG9sZFN0eWxlLmhhc1BlcnNwZWN0aXZlKCkpCiAgICAgICAgIHJl
dHVybiB0cnVlOwpAQCAtNDMyOSw3ICs0MzI5LDcgQEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0
b3I6OmxheWVySGFzM0RDb250ZW50KGNvbnN0IFJlbmRlckxheWVyJiBsYXllcikgY29uc3QKIHsK
ICAgICBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUgPSBsYXllci5yZW5kZXJlcigpLnN0eWxlKCk7
CiAKLSAgICBpZiAoc3R5bGUudHJhbnNmb3JtU3R5bGUzRCgpID09IFRyYW5zZm9ybVN0eWxlM0Q6
OlByZXNlcnZlM0QgfHwgc3R5bGUuaGFzUGVyc3BlY3RpdmUoKSB8fCBzdHlsZUhhczNEVHJhbnNm
b3JtT3BlcmF0aW9uKHN0eWxlKSkKKyAgICBpZiAoc3R5bGUucHJlc2VydmVzM0QoKSB8fCBzdHls
ZS5oYXNQZXJzcGVjdGl2ZSgpIHx8IHN0eWxlSGFzM0RUcmFuc2Zvcm1PcGVyYXRpb24oc3R5bGUp
KQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIGNvbnN0X2Nhc3Q8UmVuZGVyTGF5ZXImPihs
YXllcikudXBkYXRlTGF5ZXJMaXN0c0lmTmVlZGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAppbmRleCBlMjRlNjg5YzM0MWI0ODRiZDU4OTU0
NzI3NDczYzIyYjYzODQ0MDE3Li41ZmU2NWE4ZTVmODMyMDhjOWM3NDc2ZWQ4OWY5OGUzYzdiMDg3
ODE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5j
cHAKQEAgLTExODUsNyArMTE4NSw3IEBAIGJvb2wgUmVuZGVyU3R5bGU6OmNoYW5nZVJlcXVpcmVz
UmVjb21wb3NpdGVMYXllcihjb25zdCBSZW5kZXJTdHlsZSYgb3RoZXIsIE9wdGlvCiAgICAgICAg
IHJldHVybiB0cnVlOwogCiAgICAgaWYgKG1fcmFyZU5vbkluaGVyaXRlZERhdGEucHRyKCkgIT0g
b3RoZXIubV9yYXJlTm9uSW5oZXJpdGVkRGF0YS5wdHIoKSkgewotICAgICAgICBpZiAobV9yYXJl
Tm9uSW5oZXJpdGVkRGF0YS0+dHJhbnNmb3JtU3R5bGUzRCAhPSBvdGhlci5tX3JhcmVOb25Jbmhl
cml0ZWREYXRhLT50cmFuc2Zvcm1TdHlsZTNECisgICAgICAgIGlmICh1c2VkVHJhbnNmb3JtU3R5
bGUzRCgpICE9IG90aGVyLnVzZWRUcmFuc2Zvcm1TdHlsZTNEKCkKICAgICAgICAgICAgIHx8IG1f
cmFyZU5vbkluaGVyaXRlZERhdGEtPmJhY2tmYWNlVmlzaWJpbGl0eSAhPSBvdGhlci5tX3JhcmVO
b25Jbmhlcml0ZWREYXRhLT5iYWNrZmFjZVZpc2liaWxpdHkKICAgICAgICAgICAgIHx8IG1fcmFy
ZU5vbkluaGVyaXRlZERhdGEtPnBlcnNwZWN0aXZlICE9IG90aGVyLm1fcmFyZU5vbkluaGVyaXRl
ZERhdGEtPnBlcnNwZWN0aXZlCiAgICAgICAgICAgICB8fCBtX3JhcmVOb25Jbmhlcml0ZWREYXRh
LT5wZXJzcGVjdGl2ZU9yaWdpblggIT0gb3RoZXIubV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+cGVy
c3BlY3RpdmVPcmlnaW5YCkBAIC0xODA2LDYgKzE4MDYsMjQgQEAgQW5pbWF0aW9uTGlzdCYgUmVu
ZGVyU3R5bGU6OmVuc3VyZVRyYW5zaXRpb25zKCkKICAgICByZXR1cm4gKm1fcmFyZU5vbkluaGVy
aXRlZERhdGEtPnRyYW5zaXRpb25zOwogfQogCitUcmFuc2Zvcm1TdHlsZTNEIFJlbmRlclN0eWxl
Ojp1c2VkVHJhbnNmb3JtU3R5bGUzRCgpIGNvbnN0Cit7CisgICAgaWYgKHRyYW5zZm9ybVN0eWxl
M0QoKSA9PSBUcmFuc2Zvcm1TdHlsZTNEOjpQcmVzZXJ2ZTNEICYmIChvdmVyZmxvd1goKSAhPSBP
dmVyZmxvdzo6VmlzaWJsZQorICAgICAgICB8fCBoYXNPcGFjaXR5KCkKKyAgICAgICAgfHwgb3Zl
cmZsb3dZKCkgIT0gT3ZlcmZsb3c6OlZpc2libGUKKyAgICAgICAgfHwgaGFzQ2xpcCgpCisgICAg
ICAgIHx8IGNsaXBQYXRoKCkKKyAgICAgICAgfHwgaGFzRmlsdGVyKCkKKyAgICAgICAgfHwgaGFz
SXNvbGF0aW9uKCkKKyAgICAgICAgfHwgaGFzTWFzaygpCisjaWYgRU5BQkxFKEZJTFRFUlNfTEVW
RUxfMikKKyAgICAgICAgfHwgaGFzQmFja2Ryb3BGaWx0ZXIoKQorI2VuZGlmCisgICAgICAgIHx8
IGhhc0JsZW5kTW9kZSgpKSkKKyAgICAgICAgcmV0dXJuIFRyYW5zZm9ybVN0eWxlM0Q6OkZsYXQ7
CisgICAgcmV0dXJuIHRyYW5zZm9ybVN0eWxlM0QoKTsKK30KKwogZmxvYXQgUmVuZGVyU3R5bGU6
OnVzZWRQZXJzcGVjdGl2ZShjb25zdCBSZW5kZXJPYmplY3QmIG9iamVjdCkgY29uc3QKIHsKICAg
ICByZXR1cm4gb2JqZWN0LmRvY3VtZW50KCkuc2V0dGluZ3MoKS5jc3MzRFRyYW5zZm9ybUludGVy
b3BlcmFiaWxpdHlFbmFibGVkKCkgPyBzdGQ6Om1heCgxLjBmLCBwZXJzcGVjdGl2ZSgpKSA6IHBl
cnNwZWN0aXZlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oCmluZGV4IDE1YjQ3MTYzMWRiMzNhZDgyZjU1N2Q5MGVlODIzMGI4Yzk0YjY2NzcuLjJjMGU5
Yjg3YjUyMDkxYTc1ODNjMjExZTUwZjE1MjU5YWQzYjg1ODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC02NzQsOCArNjc0LDkgQEAgcHVibGlj
OgogICAgIExlbmd0aFBvaW50IG9iamVjdFBvc2l0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9yYXJl
Tm9uSW5oZXJpdGVkRGF0YS0+b2JqZWN0UG9zaXRpb247IH0KIAogICAgIC8vIFJldHVybiB0cnVl
IGlmIGFueSB0cmFuc2Zvcm0gcmVsYXRlZCBwcm9wZXJ0eSAoY3VycmVudGx5IHRyYW5zZm9ybSwg
dHJhbnNsYXRlLCBzY2FsZSwgcm90YXRlLCB0cmFuc2Zvcm1TdHlsZTNEIG9yIHBlcnNwZWN0aXZl
KQotICAgIC8vIGluZGljYXRlcyB0aGF0IHdlIGFyZSB0cmFuc2Zvcm1pbmcuCi0gICAgYm9vbCBo
YXNUcmFuc2Zvcm1SZWxhdGVkUHJvcGVydHkoKSBjb25zdCB7IHJldHVybiBoYXNUcmFuc2Zvcm0o
KSB8fCB0cmFuc2xhdGUoKSB8fCBzY2FsZSgpIHx8IHJvdGF0ZSgpIHx8IHByZXNlcnZlczNEKCkg
fHwgaGFzUGVyc3BlY3RpdmUoKTsgfQorICAgIC8vIGluZGljYXRlcyB0aGF0IHdlIGFyZSB0cmFu
c2Zvcm1pbmcuIFRoZSB1c2VkVHJhbnNmb3JtU3R5bGUzRCBpcyBub3QgdXNlZCBoZXJlIGJlY2F1
c2UgaW4gbWFueSBjYXNlcyAoc3VjaCBhcyBmb3IgZGVjaWRpbmcKKyAgICAvLyB3aGV0aGVyIG9y
IG5vdCB0byBlc3RhYmxpc2ggYSBjb250YWluaW5nIGJsb2NrKSwgdGhlIGNvbXB1dGVkIHZhbHVl
IGlzIHdoYXQgbWF0dGVycy4KKyAgICBib29sIGhhc1RyYW5zZm9ybVJlbGF0ZWRQcm9wZXJ0eSgp
IGNvbnN0IHsgcmV0dXJuIGhhc1RyYW5zZm9ybSgpIHx8IHRyYW5zbGF0ZSgpIHx8IHNjYWxlKCkg
fHwgcm90YXRlKCkgfHwgdHJhbnNmb3JtU3R5bGUzRCgpID09IFRyYW5zZm9ybVN0eWxlM0Q6OlBy
ZXNlcnZlM0QgfHwgaGFzUGVyc3BlY3RpdmUoKTsgfQogCiAgICAgZW51bSBjbGFzcyBUcmFuc2Zv
cm1PcGVyYXRpb25PcHRpb24gOiB1aW50OF90IHsKICAgICAgICAgVHJhbnNmb3JtT3JpZ2luID0g
MSA8PCAwLApAQCAtNzIxLDcgKzcyMiw4IEBAIHB1YmxpYzoKICAgICBib29sIGhhc1RyYW5zaXRp
b25zKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+dHJhbnNpdGlvbnMg
JiYgbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+dHJhbnNpdGlvbnMtPnNpemUoKSA+IDA7IH0KIAog
ICAgIFRyYW5zZm9ybVN0eWxlM0QgdHJhbnNmb3JtU3R5bGUzRCgpIGNvbnN0IHsgcmV0dXJuIHN0
YXRpY19jYXN0PFRyYW5zZm9ybVN0eWxlM0Q+KG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPnRyYW5z
Zm9ybVN0eWxlM0QpOyB9Ci0gICAgYm9vbCBwcmVzZXJ2ZXMzRCgpIGNvbnN0IHsgcmV0dXJuIHRy
YW5zZm9ybVN0eWxlM0QoKSA9PSBUcmFuc2Zvcm1TdHlsZTNEOjpQcmVzZXJ2ZTNEOyB9CisgICAg
VHJhbnNmb3JtU3R5bGUzRCB1c2VkVHJhbnNmb3JtU3R5bGUzRCgpIGNvbnN0OworICAgIGJvb2wg
cHJlc2VydmVzM0QoKSBjb25zdCB7IHJldHVybiB1c2VkVHJhbnNmb3JtU3R5bGUzRCgpID09IFRy
YW5zZm9ybVN0eWxlM0Q6OlByZXNlcnZlM0Q7IH0KIAogICAgIEJhY2tmYWNlVmlzaWJpbGl0eSBi
YWNrZmFjZVZpc2liaWxpdHkoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxCYWNrZmFjZVZp
c2liaWxpdHk+KG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmJhY2tmYWNlVmlzaWJpbGl0eSk7IH0K
ICAgICBmbG9hdCBwZXJzcGVjdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRl
ZERhdGEtPnBlcnNwZWN0aXZlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9T
dHlsZUFkanVzdGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3Bw
CmluZGV4IDgyNzhhMzMzOTQ0N2UyNGEyZTBkZmFkMGIyZDkxODUwMDM5YWMyZTkuLjhmNTNjYzA3
YTgyMTRkODQ5Mjc1ZjlmZDhkNzRiNjg1MzhiYzg1YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0
eWxlQWRqdXN0ZXIuY3BwCkBAIC01MDAsMjAgKzUwMCw2IEBAIHZvaWQgQWRqdXN0ZXI6OmFkanVz
dChSZW5kZXJTdHlsZSYgc3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlKiB1c2VyQWdlbnRBcHBlYXJh
bmNlCiAgICAgaWYgKHN0eWxlLmhhc1BzZXVkb1N0eWxlKFBzZXVkb0lkOjpGaXJzdExldHRlcikp
CiAgICAgICAgIHN0eWxlLnNldFVuaXF1ZSgpOwogCi0gICAgaWYgKHN0eWxlLnByZXNlcnZlczNE
KCkgJiYgKHN0eWxlLm92ZXJmbG93WCgpICE9IE92ZXJmbG93OjpWaXNpYmxlCi0gICAgICAgIHx8
IHN0eWxlLmhhc09wYWNpdHkoKQotICAgICAgICB8fCBzdHlsZS5vdmVyZmxvd1koKSAhPSBPdmVy
Zmxvdzo6VmlzaWJsZQotICAgICAgICB8fCBzdHlsZS5oYXNDbGlwKCkKLSAgICAgICAgfHwgc3R5
bGUuY2xpcFBhdGgoKQotICAgICAgICB8fCBzdHlsZS5oYXNGaWx0ZXIoKQotICAgICAgICB8fCBz
dHlsZS5oYXNJc29sYXRpb24oKQotICAgICAgICB8fCBzdHlsZS5oYXNNYXNrKCkKLSNpZiBFTkFC
TEUoRklMVEVSU19MRVZFTF8yKQotICAgICAgICB8fCBzdHlsZS5oYXNCYWNrZHJvcEZpbHRlcigp
Ci0jZW5kaWYKLSAgICAgICAgfHwgc3R5bGUuaGFzQmxlbmRNb2RlKCkpKQotICAgICAgICBzdHls
ZS5zZXRUcmFuc2Zvcm1TdHlsZTNEKFRyYW5zZm9ybVN0eWxlM0Q6OkZsYXQpOwotCiAgICAgaWYg
KGlzPFNWR0VsZW1lbnQ+KG1fZWxlbWVudCkpCiAgICAgICAgIGFkanVzdFNWR0VsZW1lbnRTdHls
ZShzdHlsZSwgZG93bmNhc3Q8U1ZHRWxlbWVudD4oKm1fZWxlbWVudCkpOwogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA4MzJkMTUzOGUxMjc5Y2ZmOTBjNjE1NTk0NWY2Nzg0Yjli
MGM3M2RmLi42MWFmZGZiN2UyZGZjYTU1NDc1YjlkZWI5M2RlMzdkZjdiZjg5YWM0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMi0wMS0wNSAgTWFy
dGluIFJvYmluc29uICA8bXJvYmluc29uQHdlYmtpdC5vcmc+CisKKyAgICAgICAgV2hlbiB0cmFu
c2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkIGlzIHVzZWQgd2l0aCBhIGdyb3VwaW5nIHByb3BlcnR5
IGl0IHNob3VsZCBzdGlsbCBjcmVhdGUgYSBjb250YWluaW5nIGJsb2NrCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQxNDUKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzg2NjMwMzg3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdHJhbnNmb3Jtcy9wcmVz
ZXJ2ZS0zZC1mbGF0LWdyb3VwaW5nLXByb3BlcnRpZXMtY29udGFpbmluZy1ibG9jay1leHBlY3Rl
ZC50eHQ6CisKIDIwMjItMDEtMDUgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkB3ZWJraXQu
b3JnPgogCiAgICAgICAgIENoYW5nZSBvZmZzZXRQYXJlbnQgdG8gbWF0Y2ggc3BlYyBjaGFuZ2UK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy10cmFuc2Zvcm1zL3ByZXNlcnZlLTNkLWZsYXQtZ3JvdXBpbmctcHJvcGVydGllcy1j
b250YWluaW5nLWJsb2NrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10cmFuc2Zvcm1zL3ByZXNlcnZlLTNkLWZsYXQtZ3Jv
dXBpbmctcHJvcGVydGllcy1jb250YWluaW5nLWJsb2NrLWV4cGVjdGVkLnR4dAppbmRleCA4MjNl
ZWFlZjcwZmEyM2E5Zjk3M2M5NWMyYTdmMDIwY2QzOTc5YTdkLi4xYzFiYzAzMjJiOGM0Yjg5YTlj
Y2JiYThkMmU5ZWM1YjliY2ZkZWJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdHJhbnNmb3Jtcy9wcmVzZXJ2ZS0zZC1mbGF0
LWdyb3VwaW5nLXByb3BlcnRpZXMtY29udGFpbmluZy1ibG9jay1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRyYW5z
Zm9ybXMvcHJlc2VydmUtM2QtZmxhdC1ncm91cGluZy1wcm9wZXJ0aWVzLWNvbnRhaW5pbmctYmxv
Y2stZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCi1GQUlMIFByZXNlcnZlLTNkIGVsZW1l
bnQgd2l0aCBhIGdyb3VwaW5nIHByb3BlcnR5IHN0aWxsIGEgY29udGFpbmluZyBibG9jayBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCBFbGVtZW50IG5vZGUgPGRpdiBpZD0icGFyZW50V2l0aEdyb3Vw
aW5nIiBzdHlsZT0idHJhbnNmb3JtLXN0eWxlOiBwcmVzLi4uIGJ1dCBnb3QgRWxlbWVudCBub2Rl
IDxib2R5PjxkaXYgaWQ9InBhcmVudFdpdGhHcm91cGluZyIgc3R5bGU9InRyYW5zZm9ybS1zdHls
ZS4uLgorUEFTUyBQcmVzZXJ2ZS0zZCBlbGVtZW50IHdpdGggYSBncm91cGluZyBwcm9wZXJ0eSBz
dGlsbCBhIGNvbnRhaW5pbmcgYmxvY2sKIFBBU1MgUHJlc2VydmUtM2QgZWxlbWVudCB3aXRob3V0
IGEgZ3JvdXBpbmcgcHJvcGVydHkgc3RpbGwgYSBjb250YWluaW5nIGJsb2NrCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448501</attachid>
            <date>2022-01-06 07:47:13 -0800</date>
            <delta_ts>2022-01-06 08:13:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234145-20220106164711.patch</filename>
            <type>text/plain</type>
            <size>30543</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NjEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDk2NmE1N2Y1ZWRkMDA0
NWI4NmU3NDEwODgyZjIwMTE3NTI1OTM5ZS4uYjRhMDQ5YmIxNzI2ZmMxODk2ODk4ODE0YTE3OGFm
ZmYzNzgxOWY0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDIyLTAxLTA2ICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25Ad2Via2l0Lm9yZz4KKworICAgICAgICBXaGVuIHRyYW5z
Zm9ybS1zdHlsZTogcHJlc2VydmUtM2QgaXMgdXNlZCB3aXRoIGEgZ3JvdXBpbmcgcHJvcGVydHkg
aXQgc2hvdWxkIHN0aWxsIGNyZWF0ZSBhIGNvbnRhaW5pbmcgYmxvY2sKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDE0NQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vODY2MzAzODc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBUaGlzIGlzIGNvdmVyZWQgYnkgYW4gZXhpc3Rpbmcg
V1BUIHRlc3QuCisKKyAgICAgICAgUHJldmlvdXNseSwgd2hlbiBhIGdyb3VwaW5nIHByb3BlcnR5
IChhbmQgdGhlIGZldyBleHRyYSBwcm9wZXJ0aWVzIHNwZWNpZmljIHRvIFdlYktpdCkgZm9yY2Vk
CisgICAgICAgIHRyYW5zZm9ybS1zdHlsZTogZmxhdCwgdGhpcyBjaGFuZ2Ugd2FzIG1hZGUgaW4g
dGhlIFN0eWxlQWRqdXN0ZXIgYW5kIGFmZmVjdGVkIGNvbXB1dGVkIHN0eWxlLgorICAgICAgICBU
aGUgc3BlY2lmaWNhdGlvbiBzYXlzIHRoYXQgdGhlc2UgcHJvcGVydGllcyBzaG91bGQgYWN0dWFs
bHkgYWRqdXN0IHRoZSB1c2VkIHZhbHVlIG9mCisgICAgICAgIHRoZSBwcm9wZXJ0eS4KKworICAg
ICAgICBUaGUgc3BlY2lmaWNhdGlvbiBhbHNvIHNheXM6CisgICAgICAgID4gVGhlIHVzZSBvZiB0
aGlzIHByb3BlcnR5IHdpdGggYW55IHZhbHVlIG90aGVyIHRoYW4gbm9uZSBlc3RhYmxpc2hlcyBh
CisgICAgICAgID4gc3RhY2tpbmcgY29udGV4dC4gSXQgYWxzbyBlc3RhYmxpc2hlcyBhIGNvbnRh
aW5pbmcgYmxvY2sgZm9yIGFsbAorICAgICAgICA+IGRlc2NlbmRhbnRzLCBqdXN0IGxpa2UgdGhl
IHRyYW5zZm9ybSBwcm9wZXJ0eSBkb2VzLgorCisgICAgICAgIFRvZ2V0aGVyLCB0aGlzIG1lYW5z
IHRoYXQgbm8gbWF0dGVyIHdoYXQgdGhlIHVzZWQgdmFsdWUgaXMgb2YgdHJhbnNmb3JtLXN0eWxl
LCBpdCBzaG91bGQKKyAgICAgICAgZXN0YWJsaXNoIGEgY29udGFpbmluZyBibG9jayBhbmQgY3Jl
YXRlIGEgc3RhY2tpbmcgY29udGV4dC4KKworICAgICAgICBUaGlzIGNoYW5nZSBhZGRzIGEgdXNl
ZFRyYW5zZm9ybVN0eWxlIFJlbmRlclN0eWxlIG1ldGhvZCBhbmQgYSBOb25Jbmhlcml0ZWRGbGFn
cyBtZW1iZXIKKyAgICAgICAgdG8gYWRqdXN0IHRoZSByZXR1cm4gdmFsdWUgYXBwcm9wcmlhdGVs
eS4gUmVuZGVyU3R5bGU6OnByZXNlcnZlczNEIHJlYWRzIHRoZSB1c2VkIHZhbHVlCisgICAgICAg
IGFuZCBoYXNUcmFuc2Zvcm1SZWxhdGVkUHJvcGVydHksIHdoaWNoIGlzIHVzZWQgZm9yIGVzdGFi
bGlzaGluZyBjb250YWluaW5nIGJsb2NrcworICAgICAgICBhbmQgc3RhY2tpbmcgY29udGV4dHMs
IHVzZXMgdGhlIGNhbGN1bGF0ZWQgdmFsdWUuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpwcmVzZXJ2ZXMzRCBjb25z
dCk6IFVzZSB1c2VkVHJhbnNmb3JtU3R5bGUuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVw
ZGF0ZUdlb21ldHJ5KTogVGhpcyBub3cgY2FsbHMgcHJlc2VydmUzRCgpIGFuZCB1c2VkVHJhbnNm
b3JtU3R5bGUzRCgpLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVjb21wb3NpdGVDaGFuZ2VSZXF1aXJlc0dlb21ldHJ5
VXBkYXRlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6
OnJlcXVpcmVzQ29tcG9zaXRpbmdGb3JCYWNrZmFjZVZpc2liaWxpdHkgY29uc3QpOiBEaXR0by4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y29tcHV0ZUluZGlyZWN0
Q29tcG9zaXRpbmdSZWFzb24gY29uc3QpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6c3R5bGVDaGFuZ2VNYXlBZmZlY3RJbmRpcmVjdENvbXBvc2l0aW5n
UmVhc29ucyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9y
OjpsYXllckhhczNEQ29udGVudCBjb25zdCk6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y2hh
bmdlUmVxdWlyZXNSZWNvbXBvc2l0ZUxheWVyIGNvbnN0KTogRGl0dG8uCisgICAgICAgICogcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHls
ZTo6aGFzVHJhbnNmb3JtUmVsYXRlZFByb3BlcnR5IGNvbnN0KTogTW9kaWZpZWQgdG8gbG9vayBh
dCB0aGUgY2FsY3VsYXRlZCB2YWx1ZSBleHBsaWNpdGx5LgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU3R5bGU6OnVzZWRUcmFuc2Zvcm1TdHlsZTNEIGNvbnN0KTogUmV0dXJuICdmbGF0JyB3aGVu
IHRoZSBwcm9wZXJ0eSBpcyBmb3JjZWQgdG8gZmxhdC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clN0eWxlOjpwcmVzZXJ2ZXMzRCBjb25zdCk6IExvb2sgYXQgdGhlIHVzZWQgdmFsdWUuCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0VHJhbnNmb3JtU3R5bGVGb3JjZWRUb0ZsYXQp
OiBBZGRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVk
RGF0YS5jcHA6IEFkZGVkIGEgbmV3IHRyYW5zZm9ybVN0eWxlRm9yY2VkVG9GbGF0IG1lbWJlci4K
KyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OlN0eWxlUmFyZU5v
bkluaGVyaXRlZERhdGEpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFyZU5vbklu
aGVyaXRlZERhdGE6Om9wZXJhdG9yPT0gY29uc3QpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJp
bmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oOgorICAgICAgICAqIHN0eWxlL1N0
eWxlQWRqdXN0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkFkanVzdGVyOjphZGp1
c3QgY29uc3QpOiBDYWxsIHNldFRyYW5zZm9ybVN0eWxlRm9yY2VkVG9GbGF0IHdpdGggdGhlCisg
ICAgICAgIGFwcHJvcHJpYXRlIHZhbHVlIHdoZW4gYW4gZWxlbWVudCBoYXMgJ3ByZXNlcnZlLTNk
JyBzZXQuCisKIDIwMjItMDEtMDUgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkB3ZWJraXQu
b3JnPgogCiAgICAgICAgIENoYW5nZSBvZmZzZXRQYXJlbnQgdG8gbWF0Y2ggc3BlYyBjaGFuZ2UK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggN2I5NzMxMjEwYjYwMjYy
NzJlZWQ3MjM5YzBiYjVhODdiNjVmZWQxNC4uYTkwZWY5N2RmYWY1MjYxYzFmZWI2YTVmMWUxM2Nh
OTcxMDJkZmUzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTcz
Niw3ICs3MzYsNyBAQCBwdWJsaWM6CiAgICAgLy8gTm90ZSB0aGF0IHRoaXMgdHJhbnNmb3JtIGhh
cyB0aGUgcGVyc3BlY3RpdmUtb3JpZ2luIGJha2VkIGluLgogICAgIFRyYW5zZm9ybWF0aW9uTWF0
cml4IHBlcnNwZWN0aXZlVHJhbnNmb3JtKGNvbnN0IExheW91dFJlY3QmIGxheWVyUmVjdCkgY29u
c3Q7CiAgICAgRmxvYXRQb2ludCBwZXJzcGVjdGl2ZU9yaWdpbigpIGNvbnN0OwotICAgIGJvb2wg
cHJlc2VydmVzM0QoKSBjb25zdCB7IHJldHVybiByZW5kZXJlcigpLnN0eWxlKCkudHJhbnNmb3Jt
U3R5bGUzRCgpID09IFRyYW5zZm9ybVN0eWxlM0Q6OlByZXNlcnZlM0Q7IH0KKyAgICBib29sIHBy
ZXNlcnZlczNEKCkgY29uc3QgeyByZXR1cm4gcmVuZGVyZXIoKS5zdHlsZSgpLnByZXNlcnZlczNE
KCk7IH0KICAgICBib29sIGhhczNEVHJhbnNmb3JtKCkgY29uc3QgeyByZXR1cm4gbV90cmFuc2Zv
cm0gJiYgIW1fdHJhbnNmb3JtLT5pc0FmZmluZSgpOyB9CiAgICAgYm9vbCBoYXNUcmFuc2Zvcm1l
ZEFuY2VzdG9yKCkgY29uc3QgeyByZXR1cm4gbV9oYXNUcmFuc2Zvcm1lZEFuY2VzdG9yOyB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKaW5k
ZXggMzkxMWU3MTkwNDkyMWM1N2Y3ZTU2YTg0MTk3ZDYxZDYyMjY0NzQ5YS4uY2Y5MmE5ZjM4OTVm
YWNjMTcwZTYzNzYzNjI3NTMwY2E3ODJjNmMwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTEzMjMsNyArMTMyMyw3IEBAIHZvaWQg
UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHZW9tZXRyeShjb25zdCBSZW5kZXJMYXllciogY29t
cG9zaXRlZEFuY2VzdG9yKQogICAgIGF1dG8gcHJpbWFyeUxheWVyUG9zaXRpb24gPSBwcmltYXJ5
R3JhcGhpY3NMYXllclJlY3QubG9jYXRpb24oKTsKIAogICAgIC8vIEZJWE1FOiByZWZsZWN0aW9u
cyBzaG91bGQgZm9yY2UgdHJhbnNmb3JtLXN0eWxlIHRvIGJlIGZsYXQgaW4gdGhlIHN0eWxlOiBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2OTU5Ci0gICAgYm9vbCBw
cmVzZXJ2ZXMzRCA9IHN0eWxlLnRyYW5zZm9ybVN0eWxlM0QoKSA9PSBUcmFuc2Zvcm1TdHlsZTNE
OjpQcmVzZXJ2ZTNEICYmICFyZW5kZXJlcigpLmhhc1JlZmxlY3Rpb24oKTsKKyAgICBib29sIHBy
ZXNlcnZlczNEID0gc3R5bGUucHJlc2VydmVzM0QoKSAmJiAhcmVuZGVyZXIoKS5oYXNSZWZsZWN0
aW9uKCk7CiAgICAgaWYgKG1fY29udGVudHNDb250YWlubWVudExheWVyKSB7CiAgICAgICAgIG1f
Y29udGVudHNDb250YWlubWVudExheWVyLT5zZXRQcmVzZXJ2ZXMzRChwcmVzZXJ2ZXMzRCk7CiAg
ICAgICAgIG1fY29udGVudHNDb250YWlubWVudExheWVyLT5zZXRQb3NpdGlvbihwcmltYXJ5TGF5
ZXJQb3NpdGlvbik7CkBAIC0xMzQ3LDcgKzEzNDcsNyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2lu
Zzo6dXBkYXRlR2VvbWV0cnkoY29uc3QgUmVuZGVyTGF5ZXIqIGNvbXBvc2l0ZWRBbmNlc3RvcikK
IAogI2lmIEVOQUJMRShDU1NfVFJBTlNGT1JNX1NUWUxFX09QVElNSVpFRF8zRCkKICAgICAvLyBG
SVhNRTogVGFrZSBhbmNlc3RyeSBpbnRvIGFjY291bnQgYW5kIHJlbW92ZSB1bm5lY2Vzc2FyeSBz
dHJ1Y3R1cmFsIGxheWVycy4KLSAgICBtX2dyYXBoaWNzTGF5ZXItPnNldElzU2VwYXJhdGVkKHN0
eWxlLnRyYW5zZm9ybVN0eWxlM0QoKSA9PSBUcmFuc2Zvcm1TdHlsZTNEOjpPcHRpbWl6ZWQzRCk7
CisgICAgbV9ncmFwaGljc0xheWVyLT5zZXRJc1NlcGFyYXRlZChzdHlsZS51c2VkVHJhbnNmb3Jt
U3R5bGUzRCgpID09IFRyYW5zZm9ybVN0eWxlM0Q6Ok9wdGltaXplZDNEKTsKICNlbmRpZgogCiAg
ICAgLy8gQ29tcHV0ZSByZW5kZXJlciBvZmZzZXQgZnJvbSBwcmltYXJ5IGdyYXBoaWNzIGxheWVy
LiBOb3RlIHRoYXQgcHJpbWFyeUdyYXBoaWNzTGF5ZXJSZWN0IGlzIGluIHBhcmVudEdyYXBoaWNz
TGF5ZXIncyBjb29yZGluYXRlIHN5c3RlbSB3aGljaCBpcyBub3QgbmVjZXNzYXJpbHkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKaW5k
ZXggYmYwYmZkZTBjNTk2OGYxYmEzYzAxNDI2ZDliM2RkNzczMTEyZGE0Yy4uZjZlNWRhYzg0NTBl
ZGExMDA4NDNjZDgzOThmMzk3ZjkyMDBiNzdlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTE2NDIsNyArMTY0Miw3IEBA
IHN0YXRpYyBib29sIHJlY29tcG9zaXRlQ2hhbmdlUmVxdWlyZXNHZW9tZXRyeVVwZGF0ZShjb25z
dCBSZW5kZXJTdHlsZSYgb2xkU3R5bGUsCiAgICAgICAgIHx8IG9sZFN0eWxlLnRyYW5zZm9ybU9y
aWdpblgoKSAhPSBuZXdTdHlsZS50cmFuc2Zvcm1PcmlnaW5YKCkKICAgICAgICAgfHwgb2xkU3R5
bGUudHJhbnNmb3JtT3JpZ2luWSgpICE9IG5ld1N0eWxlLnRyYW5zZm9ybU9yaWdpblkoKQogICAg
ICAgICB8fCBvbGRTdHlsZS50cmFuc2Zvcm1PcmlnaW5aKCkgIT0gbmV3U3R5bGUudHJhbnNmb3Jt
T3JpZ2luWigpCi0gICAgICAgIHx8IG9sZFN0eWxlLnRyYW5zZm9ybVN0eWxlM0QoKSAhPSBuZXdT
dHlsZS50cmFuc2Zvcm1TdHlsZTNEKCkKKyAgICAgICAgfHwgb2xkU3R5bGUudXNlZFRyYW5zZm9y
bVN0eWxlM0QoKSAhPSBuZXdTdHlsZS51c2VkVHJhbnNmb3JtU3R5bGUzRCgpCiAgICAgICAgIHx8
IG9sZFN0eWxlLnBlcnNwZWN0aXZlKCkgIT0gbmV3U3R5bGUucGVyc3BlY3RpdmUoKQogICAgICAg
ICB8fCBvbGRTdHlsZS5wZXJzcGVjdGl2ZU9yaWdpblgoKSAhPSBuZXdTdHlsZS5wZXJzcGVjdGl2
ZU9yaWdpblgoKQogICAgICAgICB8fCBvbGRTdHlsZS5wZXJzcGVjdGl2ZU9yaWdpblkoKSAhPSBu
ZXdTdHlsZS5wZXJzcGVjdGl2ZU9yaWdpblkoKQpAQCAtMzA0NCw3ICszMDQ0LDcgQEAgYm9vbCBS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVzQ29tcG9zaXRpbmdGb3JCYWNrZmFjZVZpc2li
aWxpdHkoUmVuZGVyTGF5ZXIKICAgICAKICAgICAvLyBGSVhNRTogd29ya2Fyb3VuZCBmb3Igd2Vi
a2l0Lm9yZy9iLzEzMjgwMQogICAgIGF1dG8qIHN0YWNraW5nQ29udGV4dCA9IHJlbmRlcmVyLmxh
eWVyKCktPnN0YWNraW5nQ29udGV4dCgpOwotICAgIGlmIChzdGFja2luZ0NvbnRleHQgJiYgc3Rh
Y2tpbmdDb250ZXh0LT5yZW5kZXJlcigpLnN0eWxlKCkudHJhbnNmb3JtU3R5bGUzRCgpID09IFRy
YW5zZm9ybVN0eWxlM0Q6OlByZXNlcnZlM0QpCisgICAgaWYgKHN0YWNraW5nQ29udGV4dCAmJiBz
dGFja2luZ0NvbnRleHQtPnJlbmRlcmVyKCkuc3R5bGUoKS5wcmVzZXJ2ZXMzRCgpKQogICAgICAg
ICByZXR1cm4gdHJ1ZTsKIAogICAgIHJldHVybiBmYWxzZTsKQEAgLTMyOTEsNyArMzI5MSw3IEBA
IEluZGlyZWN0Q29tcG9zaXRpbmdSZWFzb24gUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpjb21wdXRl
SW5kaXJlY3RDb21wb3NpdGluZ1JlYXNvCiAgICAgLy8gQSBsYXllciB3aXRoIHByZXNlcnZlLTNk
IG9yIHBlcnNwZWN0aXZlIG9ubHkgbmVlZHMgdG8gYmUgY29tcG9zaXRlZCBpZiB0aGVyZSBhcmUg
ZGVzY2VuZGFudCBsYXllcnMgdGhhdAogICAgIC8vIHdpbGwgYmUgYWZmZWN0ZWQgYnkgdGhlIHBy
ZXNlcnZlLTNkIG9yIHBlcnNwZWN0aXZlLgogICAgIGlmIChoYXMzRFRyYW5zZm9ybWVkRGVzY2Vu
ZGFudHMpIHsKLSAgICAgICAgaWYgKHJlbmRlcmVyLnN0eWxlKCkudHJhbnNmb3JtU3R5bGUzRCgp
ID09IFRyYW5zZm9ybVN0eWxlM0Q6OlByZXNlcnZlM0QpCisgICAgICAgIGlmIChyZW5kZXJlci5z
dHlsZSgpLnByZXNlcnZlczNEKCkpCiAgICAgICAgICAgICByZXR1cm4gSW5kaXJlY3RDb21wb3Np
dGluZ1JlYXNvbjo6UHJlc2VydmUzRDsKICAgICAKICAgICAgICAgaWYgKHJlbmRlcmVyLnN0eWxl
KCkuaGFzUGVyc3BlY3RpdmUoKSkKQEAgLTMzMjIsNyArMzMyMiw3IEBAIGJvb2wgUmVuZGVyTGF5
ZXJDb21wb3NpdG9yOjpzdHlsZUNoYW5nZU1heUFmZmVjdEluZGlyZWN0Q29tcG9zaXRpbmdSZWFz
b25zKGNvbnN0CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIGlmIChuZXdTdHlsZS5ib3hSZWZs
ZWN0KCkgIT0gb2xkU3R5bGUuYm94UmVmbGVjdCgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICBpZiAobmV3U3R5bGUudHJhbnNmb3JtU3R5bGUzRCgpICE9IG9sZFN0eWxlLnRyYW5zZm9ybVN0
eWxlM0QoKSkKKyAgICBpZiAobmV3U3R5bGUudXNlZFRyYW5zZm9ybVN0eWxlM0QoKSAhPSBvbGRT
dHlsZS51c2VkVHJhbnNmb3JtU3R5bGUzRCgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICBp
ZiAobmV3U3R5bGUuaGFzUGVyc3BlY3RpdmUoKSAhPSBvbGRTdHlsZS5oYXNQZXJzcGVjdGl2ZSgp
KQogICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTQzMjksNyArNDMyOSw3IEBAIGJvb2wgUmVuZGVy
TGF5ZXJDb21wb3NpdG9yOjpsYXllckhhczNEQ29udGVudChjb25zdCBSZW5kZXJMYXllciYgbGF5
ZXIpIGNvbnN0CiB7CiAgICAgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlID0gbGF5ZXIucmVuZGVy
ZXIoKS5zdHlsZSgpOwogCi0gICAgaWYgKHN0eWxlLnRyYW5zZm9ybVN0eWxlM0QoKSA9PSBUcmFu
c2Zvcm1TdHlsZTNEOjpQcmVzZXJ2ZTNEIHx8IHN0eWxlLmhhc1BlcnNwZWN0aXZlKCkgfHwgc3R5
bGVIYXMzRFRyYW5zZm9ybU9wZXJhdGlvbihzdHlsZSkpCisgICAgaWYgKHN0eWxlLnByZXNlcnZl
czNEKCkgfHwgc3R5bGUuaGFzUGVyc3BlY3RpdmUoKSB8fCBzdHlsZUhhczNEVHJhbnNmb3JtT3Bl
cmF0aW9uKHN0eWxlKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBjb25zdF9jYXN0PFJl
bmRlckxheWVyJj4obGF5ZXIpLnVwZGF0ZUxheWVyTGlzdHNJZk5lZWRlZCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKaW5kZXggZTI0ZTY4OWMz
NDFiNDg0YmQ1ODk1NDcyNzQ3M2MyMmI2Mzg0NDAxNy4uYTRlNTMxNDgwYWExNTU3ZDE3Nzk4OGJl
NGU0ZTMwYmE4Njk3MTA2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuY3BwCkBAIC0xMTg1LDcgKzExODUsNyBAQCBib29sIFJlbmRlclN0eWxlOjpj
aGFuZ2VSZXF1aXJlc1JlY29tcG9zaXRlTGF5ZXIoY29uc3QgUmVuZGVyU3R5bGUmIG90aGVyLCBP
cHRpbwogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIGlmIChtX3JhcmVOb25Jbmhlcml0ZWRE
YXRhLnB0cigpICE9IG90aGVyLm1fcmFyZU5vbkluaGVyaXRlZERhdGEucHRyKCkpIHsKLSAgICAg
ICAgaWYgKG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPnRyYW5zZm9ybVN0eWxlM0QgIT0gb3RoZXIu
bV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+dHJhbnNmb3JtU3R5bGUzRAorICAgICAgICBpZiAodXNl
ZFRyYW5zZm9ybVN0eWxlM0QoKSAhPSBvdGhlci51c2VkVHJhbnNmb3JtU3R5bGUzRCgpCiAgICAg
ICAgICAgICB8fCBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5iYWNrZmFjZVZpc2liaWxpdHkgIT0g
b3RoZXIubV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+YmFja2ZhY2VWaXNpYmlsaXR5CiAgICAgICAg
ICAgICB8fCBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5wZXJzcGVjdGl2ZSAhPSBvdGhlci5tX3Jh
cmVOb25Jbmhlcml0ZWREYXRhLT5wZXJzcGVjdGl2ZQogICAgICAgICAgICAgfHwgbV9yYXJlTm9u
SW5oZXJpdGVkRGF0YS0+cGVyc3BlY3RpdmVPcmlnaW5YICE9IG90aGVyLm1fcmFyZU5vbkluaGVy
aXRlZERhdGEtPnBlcnNwZWN0aXZlT3JpZ2luWApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCAxNWI0NzE2MzFkYjMzYWQ4MmY1NTdkOTBlZTgyMzBi
OGM5NGI2Njc3Li5jODljNzFmNWQzODM3Mzg3NmEyOGMxNWEyYzBmZDkwMzYzODYyMmRhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtNjc0LDgg
KzY3NCw5IEBAIHB1YmxpYzoKICAgICBMZW5ndGhQb2ludCBvYmplY3RQb3NpdGlvbigpIGNvbnN0
IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPm9iamVjdFBvc2l0aW9uOyB9CiAKICAg
ICAvLyBSZXR1cm4gdHJ1ZSBpZiBhbnkgdHJhbnNmb3JtIHJlbGF0ZWQgcHJvcGVydHkgKGN1cnJl
bnRseSB0cmFuc2Zvcm0sIHRyYW5zbGF0ZSwgc2NhbGUsIHJvdGF0ZSwgdHJhbnNmb3JtU3R5bGUz
RCBvciBwZXJzcGVjdGl2ZSkKLSAgICAvLyBpbmRpY2F0ZXMgdGhhdCB3ZSBhcmUgdHJhbnNmb3Jt
aW5nLgotICAgIGJvb2wgaGFzVHJhbnNmb3JtUmVsYXRlZFByb3BlcnR5KCkgY29uc3QgeyByZXR1
cm4gaGFzVHJhbnNmb3JtKCkgfHwgdHJhbnNsYXRlKCkgfHwgc2NhbGUoKSB8fCByb3RhdGUoKSB8
fCBwcmVzZXJ2ZXMzRCgpIHx8IGhhc1BlcnNwZWN0aXZlKCk7IH0KKyAgICAvLyBpbmRpY2F0ZXMg
dGhhdCB3ZSBhcmUgdHJhbnNmb3JtaW5nLiBUaGUgdXNlZFRyYW5zZm9ybVN0eWxlM0QgaXMgbm90
IHVzZWQgaGVyZSBiZWNhdXNlIGluIG1hbnkgY2FzZXMgKHN1Y2ggYXMgZm9yIGRlY2lkaW5nCisg
ICAgLy8gd2hldGhlciBvciBub3QgdG8gZXN0YWJsaXNoIGEgY29udGFpbmluZyBibG9jayksIHRo
ZSBjb21wdXRlZCB2YWx1ZSBpcyB3aGF0IG1hdHRlcnMuCisgICAgYm9vbCBoYXNUcmFuc2Zvcm1S
ZWxhdGVkUHJvcGVydHkoKSBjb25zdCB7IHJldHVybiBoYXNUcmFuc2Zvcm0oKSB8fCB0cmFuc2xh
dGUoKSB8fCBzY2FsZSgpIHx8IHJvdGF0ZSgpIHx8IHRyYW5zZm9ybVN0eWxlM0QoKSA9PSBUcmFu
c2Zvcm1TdHlsZTNEOjpQcmVzZXJ2ZTNEIHx8IGhhc1BlcnNwZWN0aXZlKCk7IH0KIAogICAgIGVu
dW0gY2xhc3MgVHJhbnNmb3JtT3BlcmF0aW9uT3B0aW9uIDogdWludDhfdCB7CiAgICAgICAgIFRy
YW5zZm9ybU9yaWdpbiA9IDEgPDwgMCwKQEAgLTcyMSw3ICs3MjIsOCBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBoYXNUcmFuc2l0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERh
dGEtPnRyYW5zaXRpb25zICYmIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPnRyYW5zaXRpb25zLT5z
aXplKCkgPiAwOyB9CiAKICAgICBUcmFuc2Zvcm1TdHlsZTNEIHRyYW5zZm9ybVN0eWxlM0QoKSBj
b25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxUcmFuc2Zvcm1TdHlsZTNEPihtX3JhcmVOb25Jbmhl
cml0ZWREYXRhLT50cmFuc2Zvcm1TdHlsZTNEKTsgfQotICAgIGJvb2wgcHJlc2VydmVzM0QoKSBj
b25zdCB7IHJldHVybiB0cmFuc2Zvcm1TdHlsZTNEKCkgPT0gVHJhbnNmb3JtU3R5bGUzRDo6UHJl
c2VydmUzRDsgfQorICAgIFRyYW5zZm9ybVN0eWxlM0QgdXNlZFRyYW5zZm9ybVN0eWxlM0QoKSBj
b25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxib29sPihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT50
cmFuc2Zvcm1TdHlsZUZvcmNlZFRvRmxhdCkgPyBUcmFuc2Zvcm1TdHlsZTNEOjpGbGF0IDogdHJh
bnNmb3JtU3R5bGUzRCgpOyB9CisgICAgYm9vbCBwcmVzZXJ2ZXMzRCgpIGNvbnN0IHsgcmV0dXJu
IHVzZWRUcmFuc2Zvcm1TdHlsZTNEKCkgPT0gVHJhbnNmb3JtU3R5bGUzRDo6UHJlc2VydmUzRDsg
fQogCiAgICAgQmFja2ZhY2VWaXNpYmlsaXR5IGJhY2tmYWNlVmlzaWJpbGl0eSgpIGNvbnN0IHsg
cmV0dXJuIHN0YXRpY19jYXN0PEJhY2tmYWNlVmlzaWJpbGl0eT4obV9yYXJlTm9uSW5oZXJpdGVk
RGF0YS0+YmFja2ZhY2VWaXNpYmlsaXR5KTsgfQogICAgIGZsb2F0IHBlcnNwZWN0aXZlKCkgY29u
c3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+cGVyc3BlY3RpdmU7IH0KQEAgLTEy
OTMsNiArMTI5NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGFkanVzdFRyYW5zaXRpb25zKCk7CiAK
ICAgICB2b2lkIHNldFRyYW5zZm9ybVN0eWxlM0QoVHJhbnNmb3JtU3R5bGUzRCBiKSB7IFNFVF9W
QVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgdHJhbnNmb3JtU3R5bGUzRCwgc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KGIpKTsgfQorICAgIHZvaWQgc2V0VHJhbnNmb3JtU3R5bGVGb3JjZWRUb0ZsYXQo
Ym9vbCBiKSB7IFNFVF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgdHJhbnNmb3JtU3R5bGVG
b3JjZWRUb0ZsYXQsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihiKSk7IH0KICAgICB2b2lkIHNldEJh
Y2tmYWNlVmlzaWJpbGl0eShCYWNrZmFjZVZpc2liaWxpdHkgYikgeyBTRVRfVkFSKG1fcmFyZU5v
bkluaGVyaXRlZERhdGEsIGJhY2tmYWNlVmlzaWJpbGl0eSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KGIpKTsgfQogICAgIHZvaWQgc2V0UGVyc3BlY3RpdmUoZmxvYXQgcCkgeyBTRVRfVkFSKG1fcmFy
ZU5vbkluaGVyaXRlZERhdGEsIHBlcnNwZWN0aXZlLCBwKTsgfQogICAgIHZvaWQgc2V0UGVyc3Bl
Y3RpdmVPcmlnaW5YKExlbmd0aCYmIGxlbmd0aCkgeyBTRVRfVkFSKG1fcmFyZU5vbkluaGVyaXRl
ZERhdGEsIHBlcnNwZWN0aXZlT3JpZ2luWCwgV1RGTW92ZShsZW5ndGgpKTsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERh
dGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVy
aXRlZERhdGEuY3BwCmluZGV4IDk5MDI3OTI2MTYxOGIxZjVjN2MxNzcyYzEzZjNmYjVmM2Y1MjMz
MTYuLmQwODlkYzA4YjcxMzhhMDg0ZDNhYjVmNTY0NWU0ZGJhNGRkNGY1MzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRh
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5o
ZXJpdGVkRGF0YS5jcHAKQEAgLTg2LDYgKzg2LDcgQEAgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0
YTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSgpCiAgICAgLCB0b3VjaEFjdGlvbnMoUmVuZGVy
U3R5bGU6OmluaXRpYWxUb3VjaEFjdGlvbnMoKSkKICAgICAsIHBhZ2VTaXplVHlwZShQQUdFX1NJ
WkVfQVVUTykKICAgICAsIHRyYW5zZm9ybVN0eWxlM0Qoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFJl
bmRlclN0eWxlOjppbml0aWFsVHJhbnNmb3JtU3R5bGUzRCgpKSkKKyAgICAsIHRyYW5zZm9ybVN0
eWxlRm9yY2VkVG9GbGF0KGZhbHNlKQogICAgICwgYmFja2ZhY2VWaXNpYmlsaXR5KHN0YXRpY19j
YXN0PHVuc2lnbmVkPihSZW5kZXJTdHlsZTo6aW5pdGlhbEJhY2tmYWNlVmlzaWJpbGl0eSgpKSkK
ICAgICAsIHVzZXJEcmFnKHN0YXRpY19jYXN0PHVuc2lnbmVkPihSZW5kZXJTdHlsZTo6aW5pdGlh
bFVzZXJEcmFnKCkpKQogICAgICwgdGV4dE92ZXJmbG93KHN0YXRpY19jYXN0PHVuc2lnbmVkPihS
ZW5kZXJTdHlsZTo6aW5pdGlhbFRleHRPdmVyZmxvdygpKSkKQEAgLTE4OCw2ICsxODksNyBAQCBp
bmxpbmUgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0
YShjb25zdCBTdHlsZVJhcmVOb25JbgogICAgICwgdG91Y2hBY3Rpb25zKG8udG91Y2hBY3Rpb25z
KQogICAgICwgcGFnZVNpemVUeXBlKG8ucGFnZVNpemVUeXBlKQogICAgICwgdHJhbnNmb3JtU3R5
bGUzRChvLnRyYW5zZm9ybVN0eWxlM0QpCisgICAgLCB0cmFuc2Zvcm1TdHlsZUZvcmNlZFRvRmxh
dChvLnRyYW5zZm9ybVN0eWxlRm9yY2VkVG9GbGF0KQogICAgICwgYmFja2ZhY2VWaXNpYmlsaXR5
KG8uYmFja2ZhY2VWaXNpYmlsaXR5KQogICAgICwgdXNlckRyYWcoby51c2VyRHJhZykKICAgICAs
IHRleHRPdmVyZmxvdyhvLnRleHRPdmVyZmxvdykKQEAgLTI5Myw2ICsyOTUsNyBAQCBib29sIFN0
eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6Om9wZXJhdG9yPT0oY29uc3QgU3R5bGVSYXJlTm9uSW5o
ZXJpdGVkRGF0YSYgbykgYwogICAgICAgICAgICAgfHwgKCFjdXN0b21QYWludFdhdGNoZWRQcm9w
ZXJ0aWVzICYmICFvLmN1c3RvbVBhaW50V2F0Y2hlZFByb3BlcnRpZXMpKQogICAgICAgICAmJiBw
YWdlU2l6ZVR5cGUgPT0gby5wYWdlU2l6ZVR5cGUKICAgICAgICAgJiYgdHJhbnNmb3JtU3R5bGUz
RCA9PSBvLnRyYW5zZm9ybVN0eWxlM0QKKyAgICAgICAgJiYgdHJhbnNmb3JtU3R5bGVGb3JjZWRU
b0ZsYXQgPT0gby50cmFuc2Zvcm1TdHlsZUZvcmNlZFRvRmxhdAogICAgICAgICAmJiBiYWNrZmFj
ZVZpc2liaWxpdHkgPT0gby5iYWNrZmFjZVZpc2liaWxpdHkKICAgICAgICAgJiYgdXNlckRyYWcg
PT0gby51c2VyRHJhZwogICAgICAgICAmJiB0ZXh0T3ZlcmZsb3cgPT0gby50ZXh0T3ZlcmZsb3cK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25J
bmhlcml0ZWREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJl
Tm9uSW5oZXJpdGVkRGF0YS5oCmluZGV4IDRhOTE1ZWFhNmZkNDhkYjQ0MzJlNzQwMTE5MmY1ZjU0
MzkxNjlkZjQuLmRlMzEyNzM0ZTM5MzczMjgxYzJkYmY4YTE1OTA3ZDUwZTkzMDg3ODcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0
ZWREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5v
bkluaGVyaXRlZERhdGEuaApAQCAtMTk1LDYgKzE5NSw3IEBAIHB1YmxpYzoKIAogICAgIHVuc2ln
bmVkIHBhZ2VTaXplVHlwZSA6IDI7IC8vIFBhZ2VTaXplVHlwZQogICAgIHVuc2lnbmVkIHRyYW5z
Zm9ybVN0eWxlM0QgOiAyOyAvLyBUcmFuc2Zvcm1TdHlsZTNECisgICAgdW5zaWduZWQgdHJhbnNm
b3JtU3R5bGVGb3JjZWRUb0ZsYXQgOiAxOyAvLyBUaGUgdXNlZCB2YWx1ZSBmb3IgdHJhbnNmb3Jt
LXN0eWxlIGlzIGZvcmNlZCB0byBmbGF0IGJ5IGEgZ3JvdXBpbmcgcHJvcGVydHkuCiAgICAgdW5z
aWduZWQgYmFja2ZhY2VWaXNpYmlsaXR5IDogMTsgLy8gQmFja2ZhY2VWaXNpYmlsaXR5CiAKICAg
ICB1bnNpZ25lZCB1c2VyRHJhZyA6IDI7IC8vIFVzZXJEcmFnCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0
eWxlQWRqdXN0ZXIuY3BwCmluZGV4IDgyNzhhMzMzOTQ0N2UyNGEyZTBkZmFkMGIyZDkxODUwMDM5
YWMyZTkuLmE2YjhiYjk0ZjQ2NzUyYmRkYTZmNDNhZTUwZjM5MjM4YjYzMWM4ODQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwCkBAIC01MDAsMTkgKzUwMCwyMSBAQCB2b2lk
IEFkanVzdGVyOjphZGp1c3QoUmVuZGVyU3R5bGUmIHN0eWxlLCBjb25zdCBSZW5kZXJTdHlsZSog
dXNlckFnZW50QXBwZWFyYW5jZQogICAgIGlmIChzdHlsZS5oYXNQc2V1ZG9TdHlsZShQc2V1ZG9J
ZDo6Rmlyc3RMZXR0ZXIpKQogICAgICAgICBzdHlsZS5zZXRVbmlxdWUoKTsKIAotICAgIGlmIChz
dHlsZS5wcmVzZXJ2ZXMzRCgpICYmIChzdHlsZS5vdmVyZmxvd1goKSAhPSBPdmVyZmxvdzo6Vmlz
aWJsZQotICAgICAgICB8fCBzdHlsZS5oYXNPcGFjaXR5KCkKLSAgICAgICAgfHwgc3R5bGUub3Zl
cmZsb3dZKCkgIT0gT3ZlcmZsb3c6OlZpc2libGUKLSAgICAgICAgfHwgc3R5bGUuaGFzQ2xpcCgp
Ci0gICAgICAgIHx8IHN0eWxlLmNsaXBQYXRoKCkKLSAgICAgICAgfHwgc3R5bGUuaGFzRmlsdGVy
KCkKLSAgICAgICAgfHwgc3R5bGUuaGFzSXNvbGF0aW9uKCkKLSAgICAgICAgfHwgc3R5bGUuaGFz
TWFzaygpCisgICAgaWYgKHN0eWxlLnByZXNlcnZlczNEKCkpIHsKKyAgICAgICAgYm9vbCBmb3Jj
ZVRvRmxhdCA9IHN0eWxlLm92ZXJmbG93WCgpICE9IE92ZXJmbG93OjpWaXNpYmxlCisgICAgICAg
ICAgICB8fCBzdHlsZS5oYXNPcGFjaXR5KCkKKyAgICAgICAgICAgIHx8IHN0eWxlLm92ZXJmbG93
WSgpICE9IE92ZXJmbG93OjpWaXNpYmxlCisgICAgICAgICAgICB8fCBzdHlsZS5oYXNDbGlwKCkK
KyAgICAgICAgICAgIHx8IHN0eWxlLmNsaXBQYXRoKCkKKyAgICAgICAgICAgIHx8IHN0eWxlLmhh
c0ZpbHRlcigpCisgICAgICAgICAgICB8fCBzdHlsZS5oYXNJc29sYXRpb24oKQorICAgICAgICAg
ICAgfHwgc3R5bGUuaGFzTWFzaygpCiAjaWYgRU5BQkxFKEZJTFRFUlNfTEVWRUxfMikKLSAgICAg
ICAgfHwgc3R5bGUuaGFzQmFja2Ryb3BGaWx0ZXIoKQorICAgICAgICAgICAgfHwgc3R5bGUuaGFz
QmFja2Ryb3BGaWx0ZXIoKQogI2VuZGlmCi0gICAgICAgIHx8IHN0eWxlLmhhc0JsZW5kTW9kZSgp
KSkKLSAgICAgICAgc3R5bGUuc2V0VHJhbnNmb3JtU3R5bGUzRChUcmFuc2Zvcm1TdHlsZTNEOjpG
bGF0KTsKKyAgICAgICAgICAgIHx8IHN0eWxlLmhhc0JsZW5kTW9kZSgpOworICAgICAgICBzdHls
ZS5zZXRUcmFuc2Zvcm1TdHlsZUZvcmNlZFRvRmxhdChmb3JjZVRvRmxhdCk7CisgICAgfQogCiAg
ICAgaWYgKGlzPFNWR0VsZW1lbnQ+KG1fZWxlbWVudCkpCiAgICAgICAgIGFkanVzdFNWR0VsZW1l
bnRTdHlsZShzdHlsZSwgZG93bmNhc3Q8U1ZHRWxlbWVudD4oKm1fZWxlbWVudCkpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDIxMTMwYzY0OWFhZTZhMTI3YmVjNTYyOWQ5ZjM5NWQ2OTM5NDZhZGQuLjhlY2UyOGQwMjM3OGI3
ZDhlZWRkZDkxMmU0ZDlhOGQwNjRiMGFlNDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMi0w
MS0wNiAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
V2hlbiB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkIGlzIHVzZWQgd2l0aCBhIGdyb3VwaW5n
IHByb3BlcnR5IGl0IHNob3VsZCBzdGlsbCBjcmVhdGUgYSBjb250YWluaW5nIGJsb2NrCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQxNDUKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzg2NjMwMzg3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogY29tcG9zaXRpbmcvb3ZlcmZsb3ctdHJ1bXBzLXRyYW5z
Zm9ybS1zdHlsZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogY29tcG9zaXRpbmcvb3ZlcmZsb3ct
dHJ1bXBzLXRyYW5zZm9ybS1zdHlsZS5odG1sOiBVcGRhdGUgdG8gdGVzdCB1c2VkIHZhbHVlIGFu
ZCByZWZsZWN0IHRoYXQgY29tcHV0ZWQgdmFsdWUgZG9lc24ndCBjaGFuZ2UuCisgICAgICAgICog
Y3NzMy9ibGVuZGluZy9ibGVuZC1tb2RlLXRyYW5zZm9ybS1zdHlsZS1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogY3NzMy9ibGVuZGluZy9ibGVuZC1tb2RlLXRyYW5zZm9ybS1zdHlsZS5odG1sOiBE
aXR0by4KKwogMjAyMi0wMS0wNSAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgQ2hhbmdlIG9mZnNldFBhcmVudCB0byBtYXRjaCBzcGVjIGNoYW5nZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggODMyZDE1MzhlMTI3OWNmZjkwYzYxNTU5
NDVmNjc4NGI5YjBjNzNkZi4uNjFhZmRmYjdlMmRmY2E1NTQ3NWI5ZGViOTNkZTM3ZGY3YmY4OWFj
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjIt
MDEtMDUgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkB3ZWJraXQub3JnPgorCisgICAgICAg
IFdoZW4gdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZCBpcyB1c2VkIHdpdGggYSBncm91cGlu
ZyBwcm9wZXJ0eSBpdCBzaG91bGQgc3RpbGwgY3JlYXRlIGEgY29udGFpbmluZyBibG9jaworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0MTQ1CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS84NjYzMDM4Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRyYW5z
Zm9ybXMvcHJlc2VydmUtM2QtZmxhdC1ncm91cGluZy1wcm9wZXJ0aWVzLWNvbnRhaW5pbmctYmxv
Y2stZXhwZWN0ZWQudHh0OgorCiAyMDIyLTAxLTA1ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5z
b25Ad2Via2l0Lm9yZz4KIAogICAgICAgICBDaGFuZ2Ugb2Zmc2V0UGFyZW50IHRvIG1hdGNoIHNw
ZWMgY2hhbmdlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy10
cnVtcHMtdHJhbnNmb3JtLXN0eWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL292ZXJmbG93LXRydW1wcy10cmFuc2Zvcm0tc3R5bGUtZXhwZWN0ZWQudHh0CmluZGV4IDIy
N2RmYmRlODllZTE2YTMwN2VmMzUwNTdkMTMyOGJlODI5ZTY5OTAuLjljYzBmNWM4ZTQwYzdkZTM2
M2M0NzMzZmNmODIwZTc1YzU1NmZkMzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL292ZXJmbG93LXRydW1wcy10cmFuc2Zvcm0tc3R5bGUtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93LXRydW1wcy10cmFuc2Zvcm0tc3R5bGUtZXhw
ZWN0ZWQudHh0CkBAIC0xLDI5ICsxLDEzIEBACi1wcmVzZXJ2ZS0zZAotZmxhdAotKEdyYXBoaWNz
TGF5ZXIKLSAgKGFuY2hvciAwLjAwIDAuMDApCi0gIChib3VuZHMgODAwLjAwIDYwMC4wMCkKLSAg
KGNoaWxkcmVuIDEKLSAgICAoR3JhcGhpY3NMYXllcgotICAgICAgKGJvdW5kcyA4MDAuMDAgNjAw
LjAwKQotICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCi0gICAgICAoY2hpbGRyZW4gMgotICAgICAg
ICAoR3JhcGhpY3NMYXllcgotICAgICAgICAgIChwb3NpdGlvbiAxOC4wMCAxMC4wMCkKLSAgICAg
ICAgICAoYm91bmRzIDEwMC4wMCAxMDAuMDApCi0gICAgICAgICAgKGNvbnRlbnRzT3BhcXVlIDEp
Ci0gICAgICAgICAgKHByZXNlcnZlczNEIDEpCi0gICAgICAgICAgKGRyYXdzQ29udGVudCAxKQot
ICAgICAgICAgICh0cmFuc2Zvcm0gWzEuMDAgMC4wMCAwLjAwIDAuMDBdIFswLjAwIDEuMDAgMC4w
MCAwLjAwXSBbMC4wMCAwLjAwIDEuMDAgMC4wMF0gWzAuMDAgMC4wMCAxLjAwIDEuMDBdKQotICAg
ICAgICApCi0gICAgICAgIChHcmFwaGljc0xheWVyCi0gICAgICAgICAgKHBvc2l0aW9uIDE4LjAw
IDEyMC4wMCkKLSAgICAgICAgICAoYm91bmRzIDEwMC4wMCAxMDAuMDApCi0gICAgICAgICAgKGNv
bnRlbnRzT3BhcXVlIDEpCi0gICAgICAgICAgKHRyYW5zZm9ybSBbMS4wMCAwLjAwIDAuMDAgMC4w
MF0gWzAuMDAgMS4wMCAwLjAwIDAuMDBdIFswLjAwIDAuMDAgMS4wMCAwLjAwXSBbMC4wMCAwLjAw
IDEuMDAgMS4wMF0pCi0gICAgICAgICkKLSAgICAgICkKLSAgICApCi0gICkKLSkKK1BBU1MgcGFy
ZW50Tm9kZVRyYW5zZm9ybVN0eWxlKCd0cmFuc2Zvcm0tc3R5bGUtcHJlc2VydmUtM2QnKSBpcyAi
cHJlc2VydmUtM2QiCitQQVNTIHBhcmVudE5vZGVUcmFuc2Zvcm1TdHlsZSgndHJhbnNmb3JtLXN0
eWxlLWZsYXQnKSBpcyAiZmxhdCIKK1BBU1MgcGFyZW50Tm9kZVRyYW5zZm9ybVN0eWxlKCdvdmVy
Zmxvdy1oaWRkZW4td2l0aC10cmFuc2Zvcm0tc3R5bGUtcHJlc2VydmUtM2QnKSBpcyAicHJlc2Vy
dmUtM2QiCitQQVNTIHBhcmVudE5vZGVUcmFuc2Zvcm1TdHlsZSgnb3ZlcmZsb3ctaGlkZGVuLXdp
dGgtdHJhbnNmb3JtLXN0eWxlLWZsYXQnKSBpcyAiZmxhdCIKK1BBU1MgZ2V0Qm91bmRpbmdDbGll
bnRXaWR0aCgndHJhbnNmb3JtLXN0eWxlLXByZXNlcnZlLTNkJykgaXMgbm90IGdldEJvdW5kaW5n
Q2xpZW50V2lkdGgoJ3RyYW5zZm9ybS1zdHlsZS1mbGF0JykKK1BBU1MgZ2V0Qm91bmRpbmdDbGll
bnRXaWR0aCgnb3ZlcmZsb3ctaGlkZGVuLXdpdGgtdHJhbnNmb3JtLXN0eWxlLWZsYXQnKSBpcyBn
ZXRCb3VuZGluZ0NsaWVudFdpZHRoKCd0cmFuc2Zvcm0tc3R5bGUtZmxhdCcpCitQQVNTIGdldEJv
dW5kaW5nQ2xpZW50V2lkdGgoJ292ZXJmbG93LWhpZGRlbi13aXRoLXRyYW5zZm9ybS1zdHlsZS1w
cmVzZXJ2ZS0zZCcpIGlzIGdldEJvdW5kaW5nQ2xpZW50V2lkdGgoJ3RyYW5zZm9ybS1zdHlsZS1m
bGF0JykKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
VGVzdCB0aGF0IGFuIGVsZW1lbnQgd2l0aCBtaXgtYmxlbmQtbW9kZSBvdGhlciB0aGFuIG5vcm1h
bCBmb3JjZXMgdGhlIHVzZWQgdmFsdWUgb2YgdHJhbnNmb3JtLXN0eWxlIHRvIGZsYXQsIGJ1dCBu
b3QgdGhlIGNvbXB1dGVkIHZhbHVlLi4KKwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9vdmVyZmxvdy10cnVtcHMtdHJhbnNmb3JtLXN0eWxlLmh0bWwgYi9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9vdmVyZmxvdy10cnVtcHMtdHJhbnNmb3JtLXN0eWxlLmh0bWwKaW5kZXgg
ZjEyZjYxNzg5MDEzNGU4MGU3N2NiMjk4Y2YxZWFkMWM2ZDhjY2QyZi4uNTMwMmM2YTdiZDhmMmNh
YzYxNTQxN2MwZmUzMGE5Y2VhMjg2YzVmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvb3ZlcmZsb3ctdHJ1bXBzLXRyYW5zZm9ybS1zdHlsZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2NvbXBvc2l0aW5nL292ZXJmbG93LXRydW1wcy10cmFuc2Zvcm0tc3R5bGUuaHRtbApAQCAt
MSwzNiArMSw1MyBAQAotPCFET0NUWVBFIGh0bWw+Ci0KLTxodG1sPgotPGhlYWQ+Ci0gIDxzdHls
ZT4KKzwhRE9DVFlQRSBIVE1MPgorPHN0eWxlPgogICAgIC5ib3ggewotICAgICAgaGVpZ2h0OiAx
MDBweDsKLSAgICAgIHdpZHRoOiAxMDBweDsKLSAgICAgIG1hcmdpbjogMTBweDsKLSAgICAgIGJh
Y2tncm91bmQtY29sb3I6IGJsdWU7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICB9CisgICAgLnBhcmVudCB7CisgICAgICAgIHRyYW5zZm9ybS1zdHls
ZTogcHJlc2VydmUtM2Q7CisgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSg0NWRlZykKICAgICB9
Ci0gIDwvc3R5bGU+Ci0gIDxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0KLSAgICBmdW5jdGlvbiBkdW1wUmVzdWx0cygp
Ci0gICAgewotICAgICAgdmFyIHJlc3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5
ZXJzJyk7Ci0gICAgICAKLSAgICAgIC8vIENoZWNrIHRoZSBjb21wdXRlZCB2YWx1ZS4KLSAgICAg
IHJlc3VsdHMuaW5uZXJUZXh0ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2JveDEnKSkud2Via2l0VHJhbnNmb3JtU3R5bGUgKyAnXG4nOwotICAgICAg
cmVzdWx0cy5pbm5lclRleHQgKz0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2JveDInKSkud2Via2l0VHJhbnNmb3JtU3R5bGUgKyAnXG4nOwotICAgICAg
Ci0gICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHJlc3VsdHMuaW5uZXJUZXh0
ICs9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKKyAgICAuY2hp
bGQgeworICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoNDVkZWcpOworICAgICAgICBiYWNrZ3Jv
dW5kOiBsaWdodGJsdWUKICAgICB9Ci0gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQn
LCBkdW1wUmVzdWx0cywgZmFsc2UpOwotICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGRp
diBjbGFzcz0iYm94IiBpZD0iYm94MSIgc3R5bGU9Ii13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xh
dGVaKDFweCk7IC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZCI+PC9kaXY+Ci08
ZGl2IGNsYXNzPSJib3giIGlkPSJib3gyIiBzdHlsZT0iLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5z
bGF0ZVooMXB4KTsgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOyBvdmVyZmxv
dzogaGlkZGVuIj48L2Rpdj4KLTxwcmUgaWQ9ImxheWVycyI+TGF5ZXIgdHJlZSBnb2VzIGhlcmUg
aW4gRFJUPC9wcmU+Ci08L2JvZHk+Ci08L2h0bWw+Cis8L3N0eWxlPgorCis8cD5UZXN0IHRoYXQg
YW4gZWxlbWVudCB3aXRoIG1peC1ibGVuZC1tb2RlIG90aGVyIHRoYW4gbm9ybWFsIGZvcmNlcyB0
aGUgdXNlZCB2YWx1ZSBvZiB0cmFuc2Zvcm0tc3R5bGUgdG8gZmxhdCwgYnV0IG5vdCB0aGUgY29t
cHV0ZWQgdmFsdWUuLjwvcD4KKworPGRpdiBjbGFzcz0icGFyZW50IGJveCI+CisgICAgPGRpdiBp
ZD0idHJhbnNmb3JtLXN0eWxlLXByZXNlcnZlLTNkIiBjbGFzcz0iYm94IGNoaWxkIj48L2Rpdj4K
KzwvZGl2PgorCis8ZGl2IGNsYXNzPSJwYXJlbnQgYm94IiBzdHlsZT0idHJhbnNmb3JtLXN0eWxl
OiBmbGF0Ij4KKyAgICA8ZGl2IGlkPSJ0cmFuc2Zvcm0tc3R5bGUtZmxhdCIgY2xhc3M9ImJveCBj
aGlsZCI+PC9kaXY+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0icGFyZW50IGJveCIgc3R5bGU9Im92
ZXJmbG93OiBoaWRkZW47IHRyYW5zZm9ybS1zdHlsZTogZmxhdCI+CisgICAgPGRpdiBpZD0ib3Zl
cmZsb3ctaGlkZGVuLXdpdGgtdHJhbnNmb3JtLXN0eWxlLWZsYXQiIGNsYXNzPSJib3ggY2hpbGQi
PjwvZGl2PgorPC9kaXY+CisKKzxkaXYgY2xhc3M9InBhcmVudCBib3giIHN0eWxlPSJvdmVyZmxv
dzogaGlkZGVuOyI+CisgICAgPGRpdiBpZD0ib3ZlcmZsb3ctaGlkZGVuLXdpdGgtdHJhbnNmb3Jt
LXN0eWxlLXByZXNlcnZlLTNkIiBjbGFzcz0iYm94IGNoaWxkIj48L2Rpdj4KKzwvZGl2PgorCis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
KyAgICBmdW5jdGlvbiBwYXJlbnROb2RlVHJhbnNmb3JtU3R5bGUoaWQpIHsKKyAgICAgICAgcmV0
dXJuIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpLnBhcmVudE5v
ZGUpLnRyYW5zZm9ybVN0eWxlOworICAgIH0KKworICAgIGZ1bmN0aW9uIGdldEJvdW5kaW5nQ2xp
ZW50V2lkdGgoaWQpIHsKKyAgICAgICAgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlk
KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDsKKyAgICB9CisKKyAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInBhcmVudE5vZGVUcmFuc2Zvcm1TdHlsZSgndHJhbnNmb3JtLXN0eWxlLXBy
ZXNlcnZlLTNkJykiLCAicHJlc2VydmUtM2QiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InBhcmVudE5vZGVUcmFuc2Zvcm1TdHlsZSgndHJhbnNmb3JtLXN0eWxlLWZsYXQnKSIsICJmbGF0
Iik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJwYXJlbnROb2RlVHJhbnNmb3JtU3R5bGUo
J292ZXJmbG93LWhpZGRlbi13aXRoLXRyYW5zZm9ybS1zdHlsZS1wcmVzZXJ2ZS0zZCcpIiwgInBy
ZXNlcnZlLTNkIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJwYXJlbnROb2RlVHJhbnNm
b3JtU3R5bGUoJ292ZXJmbG93LWhpZGRlbi13aXRoLXRyYW5zZm9ybS1zdHlsZS1mbGF0JykiLCAi
ZmxhdCIpOworCisgICAgc2hvdWxkTm90QmUoImdldEJvdW5kaW5nQ2xpZW50V2lkdGgoJ3RyYW5z
Zm9ybS1zdHlsZS1wcmVzZXJ2ZS0zZCcpIiwgImdldEJvdW5kaW5nQ2xpZW50V2lkdGgoJ3RyYW5z
Zm9ybS1zdHlsZS1mbGF0JykiKTsKKyAgICBzaG91bGRCZSgiZ2V0Qm91bmRpbmdDbGllbnRXaWR0
aCgnb3ZlcmZsb3ctaGlkZGVuLXdpdGgtdHJhbnNmb3JtLXN0eWxlLWZsYXQnKSIsICJnZXRCb3Vu
ZGluZ0NsaWVudFdpZHRoKCd0cmFuc2Zvcm0tc3R5bGUtZmxhdCcpIik7CisgICAgc2hvdWxkQmUo
ImdldEJvdW5kaW5nQ2xpZW50V2lkdGgoJ292ZXJmbG93LWhpZGRlbi13aXRoLXRyYW5zZm9ybS1z
dHlsZS1wcmVzZXJ2ZS0zZCcpIiwgImdldEJvdW5kaW5nQ2xpZW50V2lkdGgoJ3RyYW5zZm9ybS1z
dHlsZS1mbGF0JykiKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9i
bGVuZGluZy9ibGVuZC1tb2RlLXRyYW5zZm9ybS1zdHlsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9jc3MzL2JsZW5kaW5nL2JsZW5kLW1vZGUtdHJhbnNmb3JtLXN0eWxlLWV4cGVjdGVkLnR4
dAppbmRleCA2MDkyNDhlZjE4Mzg4ZjAzMzE3N2Q5ZDc4NjI5M2M0ZTYyNmNhZWI5Li42NjVhY2Ri
NTAzNTIwYzk5Zjg0ZTZlMjY1YWM5NDlhYjc1OGRiY2Q2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9jc3MzL2JsZW5kaW5nL2JsZW5kLW1vZGUtdHJhbnNmb3JtLXN0eWxlLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9jc3MzL2JsZW5kaW5nL2JsZW5kLW1vZGUtdHJhbnNmb3JtLXN0eWxl
LWV4cGVjdGVkLnR4dApAQCAtMSw5ICsxLDEzIEBACi1QQVNTIGdldFRyYW5zZm9ybVN0eWxlKCJi
bGVuZC1tb2RlLW5vcm1hbC13aXRoLXRyYW5zZm9ybS1zdHlsZS1wcmVzZXJ2ZS0zZCIpIGlzICJw
cmVzZXJ2ZS0zZCIKLVBBU1MgZ2V0VHJhbnNmb3JtU3R5bGUoImJsZW5kaW5nLXdpdGgtdHJhbnNm
b3JtLXN0eWxlLXByZXNlcnZlLTNkIikgaXMgImZsYXQiCi1QQVNTIGdldFRyYW5zZm9ybVN0eWxl
KCJibGVuZGluZy13aXRoLXRyYW5zZm9ybS1zdHlsZS1mbGF0IikgaXMgImZsYXQiCitQQVNTIHBh
cmVudE5vZGVUcmFuc2Zvcm1TdHlsZSgndHJhbnNmb3JtLXN0eWxlLXByZXNlcnZlLTNkJykgaXMg
InByZXNlcnZlLTNkIgorUEFTUyBwYXJlbnROb2RlVHJhbnNmb3JtU3R5bGUoJ3RyYW5zZm9ybS1z
dHlsZS1mbGF0JykgaXMgImZsYXQiCitQQVNTIHBhcmVudE5vZGVUcmFuc2Zvcm1TdHlsZSgnYmxl
bmRpbmctd2l0aC10cmFuc2Zvcm0tc3R5bGUtcHJlc2VydmUtM2QnKSBpcyAicHJlc2VydmUtM2Qi
CitQQVNTIHBhcmVudE5vZGVUcmFuc2Zvcm1TdHlsZSgnYmxlbmRpbmctd2l0aC10cmFuc2Zvcm0t
c3R5bGUtZmxhdCcpIGlzICJmbGF0IgorUEFTUyBnZXRCb3VuZGluZ0NsaWVudFdpZHRoKCd0cmFu
c2Zvcm0tc3R5bGUtcHJlc2VydmUtM2QnKSBpcyBub3QgZ2V0Qm91bmRpbmdDbGllbnRXaWR0aCgn
dHJhbnNmb3JtLXN0eWxlLWZsYXQnKQorUEFTUyBnZXRCb3VuZGluZ0NsaWVudFdpZHRoKCd0cmFu
c2Zvcm0tc3R5bGUtZmxhdCcpIGlzIGdldEJvdW5kaW5nQ2xpZW50V2lkdGgoJ2JsZW5kaW5nLXdp
dGgtdHJhbnNmb3JtLXN0eWxlLWZsYXQnKQorUEFTUyBnZXRCb3VuZGluZ0NsaWVudFdpZHRoKCd0
cmFuc2Zvcm0tc3R5bGUtZmxhdCcpIGlzIGdldEJvdW5kaW5nQ2xpZW50V2lkdGgoJ2JsZW5kaW5n
LXdpdGgtdHJhbnNmb3JtLXN0eWxlLXByZXNlcnZlLTNkJykKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQotVGVzdCB0aGF0IGFuIGVsZW1lbnQgd2l0aCBt
aXgtYmxlbmQtbW9kZSBvdGhlciB0aGFuIG5vcm1hbCBmb3JjZXMgdGhlIGNvbXB1dGVkIHZhbHVl
IG9mIHRyYW5zZm9ybS1zdHlsZSB0byBmbGF0LgorVGVzdCB0aGF0IGFuIGVsZW1lbnQgd2l0aCBt
aXgtYmxlbmQtbW9kZSBvdGhlciB0aGFuIG5vcm1hbCBmb3JjZXMgdGhlIHVzZWQgdmFsdWUgb2Yg
dHJhbnNmb3JtLXN0eWxlIHRvIGZsYXQsIGJ1dCBub3QgdGhlIGNvbXB1dGVkIHZhbHVlLi4KIAog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2JsZW5kaW5nL2JsZW5kLW1vZGUtdHJhbnNm
b3JtLXN0eWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2JsZW5kaW5nL2JsZW5kLW1vZGUtdHJh
bnNmb3JtLXN0eWxlLmh0bWwKaW5kZXggNDQxMzczNWE0MjhlM2JiYjM0YzllNjFhZjJiYzQ3M2Ux
ODRhNzYyZi4uMDJjYWIyZWZhNzA1Yjg3YmUyNWUzOGI0MWQzYWQ4Mjk5MDE0MzYxYiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9ibGVuZGluZy9ibGVuZC1tb2RlLXRyYW5zZm9ybS1zdHls
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2NzczMvYmxlbmRpbmcvYmxlbmQtbW9kZS10cmFuc2Zv
cm0tc3R5bGUuaHRtbApAQCAtMSwyMSArMSw1MSBAQAogPCFET0NUWVBFIEhUTUw+CiA8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9ibGVuZGluZy1zdHlsZS5jc3MiPgogCi08
cD5UZXN0IHRoYXQgYW4gZWxlbWVudCB3aXRoIG1peC1ibGVuZC1tb2RlIG90aGVyIHRoYW4gbm9y
bWFsIGZvcmNlcyB0aGUgY29tcHV0ZWQgdmFsdWUgb2YgdHJhbnNmb3JtLXN0eWxlIHRvIGZsYXQu
PC9wPgotPGRpdiBpZD0iYmxlbmQtbW9kZS1ub3JtYWwtd2l0aC10cmFuc2Zvcm0tc3R5bGUtcHJl
c2VydmUtM2QiIGNsYXNzPSJib3giIHN0eWxlPSItd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJl
c2VydmUtM2Q7Ij48L2Rpdj4KLTxkaXYgaWQ9ImJsZW5kaW5nLXdpdGgtdHJhbnNmb3JtLXN0eWxl
LXByZXNlcnZlLTNkIiBjbGFzcz0iYm94IGRpZmZlcmVuY2UiIHN0eWxlPSItd2Via2l0LXRyYW5z
Zm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7Ij48L2Rpdj4KLTxkaXYgaWQ9ImJsZW5kaW5nLXdpdGgt
dHJhbnNmb3JtLXN0eWxlLWZsYXQiIGNsYXNzPSJib3ggZGlmZmVyZW5jZSIgc3R5bGU9Ii13ZWJr
aXQtdHJhbnNmb3JtLXN0eWxlOiBmbGF0OyI+PC9kaXY+Cis8c3R5bGU+CisgIC5wYXJlbnQgewor
ICAgIHRyYW5zZm9ybTogcm90YXRlWSg0NWRlZykKKyAgfQorCisgIC5jaGlsZCB7CisgICAgdHJh
bnNmb3JtOiByb3RhdGVZKDQ1ZGVnKTsKKyAgICBiYWNrZ3JvdW5kOiBsaWdodGJsdWUKKyAgfQor
PC9zdHlsZT4KKworPHA+VGVzdCB0aGF0IGFuIGVsZW1lbnQgd2l0aCBtaXgtYmxlbmQtbW9kZSBv
dGhlciB0aGFuIG5vcm1hbCBmb3JjZXMgdGhlIHVzZWQgdmFsdWUgb2YgdHJhbnNmb3JtLXN0eWxl
IHRvIGZsYXQsIGJ1dCBub3QgdGhlIGNvbXB1dGVkIHZhbHVlLi48L3A+CisKKzxkaXYgY2xhc3M9
InBhcmVudCBib3giIHN0eWxlPSJ0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkIj4KKyAgICA8
ZGl2IGlkPSJ0cmFuc2Zvcm0tc3R5bGUtcHJlc2VydmUtM2QiIGNsYXNzPSJib3ggY2hpbGQiPjwv
ZGl2PgorPC9kaXY+CisKKzxkaXYgY2xhc3M9InBhcmVudCBib3giIHN0eWxlPSJ0cmFuc2Zvcm0t
c3R5bGU6IGZsYXQiPgorICAgIDxkaXYgaWQ9InRyYW5zZm9ybS1zdHlsZS1mbGF0IiBjbGFzcz0i
Ym94IGNoaWxkIj48L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSJwYXJlbnQgYm94IGRpZmZl
cmVuY2UiIHN0eWxlPSJ0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkIj4KKyAgICA8ZGl2IGlk
PSJibGVuZGluZy13aXRoLXRyYW5zZm9ybS1zdHlsZS1wcmVzZXJ2ZS0zZCIgY2xhc3M9ImJveCBj
aGlsZCI+PC9kaXY+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0icGFyZW50IGJveCBkaWZmZXJlbmNl
IiBzdHlsZT0idHJhbnNmb3JtLXN0eWxlOiBmbGF0Ij4KKyAgICA8ZGl2IGlkPSJibGVuZGluZy13
aXRoLXRyYW5zZm9ybS1zdHlsZS1mbGF0IiBjbGFzcz0iYm94IGNoaWxkIj48L2Rpdj4KKzwvZGl2
PgorCiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdD4KLSAgICBmdW5jdGlvbiBnZXRUcmFuc2Zvcm1TdHlsZShlbGVtZW50SUQpIHsKLSAg
ICAgICAgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxl
bWVudElEKSkud2Via2l0VHJhbnNmb3JtU3R5bGU7CisgICAgZnVuY3Rpb24gcGFyZW50Tm9kZVRy
YW5zZm9ybVN0eWxlKGlkKSB7CisgICAgICAgIHJldHVybiBnZXRDb21wdXRlZFN0eWxlKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKGlkKS5wYXJlbnROb2RlKS50cmFuc2Zvcm1TdHlsZTsKICAgICB9
CiAKLSAgICBmdW5jdGlvbiB0ZXN0KGlkLCBleHBlY3RlZCkgewotICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2dldFRyYW5zZm9ybVN0eWxlKCInICsgaWQgKyAnIiknLCBleHBlY3RlZCk7
CisgICAgZnVuY3Rpb24gZ2V0Qm91bmRpbmdDbGllbnRXaWR0aChpZCkgeworICAgICAgICByZXR1
cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndp
ZHRoOwogICAgIH0KIAotICAgIHRlc3QoImJsZW5kLW1vZGUtbm9ybWFsLXdpdGgtdHJhbnNmb3Jt
LXN0eWxlLXByZXNlcnZlLTNkIiwgInByZXNlcnZlLTNkIik7Ci0gICAgdGVzdCgiYmxlbmRpbmct
d2l0aC10cmFuc2Zvcm0tc3R5bGUtcHJlc2VydmUtM2QiLCAiZmxhdCIpOwotICAgIHRlc3QoImJs
ZW5kaW5nLXdpdGgtdHJhbnNmb3JtLXN0eWxlLWZsYXQiLCAiZmxhdCIpOworICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygicGFyZW50Tm9kZVRyYW5zZm9ybVN0eWxlKCd0cmFuc2Zvcm0tc3R5bGUt
cHJlc2VydmUtM2QnKSIsICJwcmVzZXJ2ZS0zZCIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygicGFyZW50Tm9kZVRyYW5zZm9ybVN0eWxlKCd0cmFuc2Zvcm0tc3R5bGUtZmxhdCcpIiwgImZs
YXQiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBhcmVudE5vZGVUcmFuc2Zvcm1TdHls
ZSgnYmxlbmRpbmctd2l0aC10cmFuc2Zvcm0tc3R5bGUtcHJlc2VydmUtM2QnKSIsICJwcmVzZXJ2
ZS0zZCIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicGFyZW50Tm9kZVRyYW5zZm9ybVN0
eWxlKCdibGVuZGluZy13aXRoLXRyYW5zZm9ybS1zdHlsZS1mbGF0JykiLCAiZmxhdCIpOworCisg
ICAgc2hvdWxkTm90QmUoImdldEJvdW5kaW5nQ2xpZW50V2lkdGgoJ3RyYW5zZm9ybS1zdHlsZS1w
cmVzZXJ2ZS0zZCcpIiwgImdldEJvdW5kaW5nQ2xpZW50V2lkdGgoJ3RyYW5zZm9ybS1zdHlsZS1m
bGF0JykiKTsKKyAgICBzaG91bGRCZSgiZ2V0Qm91bmRpbmdDbGllbnRXaWR0aCgndHJhbnNmb3Jt
LXN0eWxlLWZsYXQnKSIsICJnZXRCb3VuZGluZ0NsaWVudFdpZHRoKCdibGVuZGluZy13aXRoLXRy
YW5zZm9ybS1zdHlsZS1mbGF0JykiKTsKKyAgICBzaG91bGRCZSgiZ2V0Qm91bmRpbmdDbGllbnRX
aWR0aCgndHJhbnNmb3JtLXN0eWxlLWZsYXQnKSIsICJnZXRCb3VuZGluZ0NsaWVudFdpZHRoKCdi
bGVuZGluZy13aXRoLXRyYW5zZm9ybS1zdHlsZS1wcmVzZXJ2ZS0zZCcpIik7CiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy10cmFuc2Zvcm1zL3ByZXNlcnZlLTNkLWZsYXQtZ3JvdXBpbmctcHJvcGVydGllcy1j
b250YWluaW5nLWJsb2NrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10cmFuc2Zvcm1zL3ByZXNlcnZlLTNkLWZsYXQtZ3Jv
dXBpbmctcHJvcGVydGllcy1jb250YWluaW5nLWJsb2NrLWV4cGVjdGVkLnR4dAppbmRleCA4MjNl
ZWFlZjcwZmEyM2E5Zjk3M2M5NWMyYTdmMDIwY2QzOTc5YTdkLi4xYzFiYzAzMjJiOGM0Yjg5YTlj
Y2JiYThkMmU5ZWM1YjliY2ZkZWJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdHJhbnNmb3Jtcy9wcmVzZXJ2ZS0zZC1mbGF0
LWdyb3VwaW5nLXByb3BlcnRpZXMtY29udGFpbmluZy1ibG9jay1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRyYW5z
Zm9ybXMvcHJlc2VydmUtM2QtZmxhdC1ncm91cGluZy1wcm9wZXJ0aWVzLWNvbnRhaW5pbmctYmxv
Y2stZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCi1GQUlMIFByZXNlcnZlLTNkIGVsZW1l
bnQgd2l0aCBhIGdyb3VwaW5nIHByb3BlcnR5IHN0aWxsIGEgY29udGFpbmluZyBibG9jayBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCBFbGVtZW50IG5vZGUgPGRpdiBpZD0icGFyZW50V2l0aEdyb3Vw
aW5nIiBzdHlsZT0idHJhbnNmb3JtLXN0eWxlOiBwcmVzLi4uIGJ1dCBnb3QgRWxlbWVudCBub2Rl
IDxib2R5PjxkaXYgaWQ9InBhcmVudFdpdGhHcm91cGluZyIgc3R5bGU9InRyYW5zZm9ybS1zdHls
ZS4uLgorUEFTUyBQcmVzZXJ2ZS0zZCBlbGVtZW50IHdpdGggYSBncm91cGluZyBwcm9wZXJ0eSBz
dGlsbCBhIGNvbnRhaW5pbmcgYmxvY2sKIFBBU1MgUHJlc2VydmUtM2QgZWxlbWVudCB3aXRob3V0
IGEgZ3JvdXBpbmcgcHJvcGVydHkgc3RpbGwgYSBjb250YWluaW5nIGJsb2NrCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448503</attachid>
            <date>2022-01-06 08:13:16 -0800</date>
            <delta_ts>2022-01-07 00:46:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234145-20220106171314.patch</filename>
            <type>text/plain</type>
            <size>30551</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NjEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDk2NmE1N2Y1ZWRkMDA0
NWI4NmU3NDEwODgyZjIwMTE3NTI1OTM5ZS4uZDQwYmM5MjQ2ZDQ1ZjM3OTFkM2Y3YzEzNDc1Nzg3
NTQyMDE3Njc2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDIyLTAxLTA2ICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25Ad2Via2l0Lm9yZz4KKworICAgICAgICBXaGVuIHRyYW5z
Zm9ybS1zdHlsZTogcHJlc2VydmUtM2QgaXMgdXNlZCB3aXRoIGEgZ3JvdXBpbmcgcHJvcGVydHkg
aXQgc2hvdWxkIHN0aWxsIGNyZWF0ZSBhIGNvbnRhaW5pbmcgYmxvY2sKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDE0NQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vODY2MzAzODc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBUaGlzIGlzIGNvdmVyZWQgYnkgYW4gZXhpc3Rpbmcg
V1BUIHRlc3QuCisKKyAgICAgICAgUHJldmlvdXNseSwgd2hlbiBhIGdyb3VwaW5nIHByb3BlcnR5
IChhbmQgdGhlIGZldyBleHRyYSBwcm9wZXJ0aWVzIHNwZWNpZmljIHRvIFdlYktpdCkgZm9yY2Vk
CisgICAgICAgIHRyYW5zZm9ybS1zdHlsZTogZmxhdCwgdGhpcyBjaGFuZ2Ugd2FzIG1hZGUgaW4g
dGhlIFN0eWxlQWRqdXN0ZXIgYW5kIGFmZmVjdGVkIGNvbXB1dGVkIHN0eWxlLgorICAgICAgICBU
aGUgc3BlY2lmaWNhdGlvbiBzYXlzIHRoYXQgdGhlc2UgcHJvcGVydGllcyBzaG91bGQgYWN0dWFs
bHkgYWRqdXN0IHRoZSB1c2VkIHZhbHVlIG9mCisgICAgICAgIHRoZSBwcm9wZXJ0eS4KKworICAg
ICAgICBUaGUgc3BlY2lmaWNhdGlvbiBhbHNvIHNheXM6CisgICAgICAgID4gVGhlIHVzZSBvZiB0
aGlzIHByb3BlcnR5IHdpdGggYW55IHZhbHVlIG90aGVyIHRoYW4gbm9uZSBlc3RhYmxpc2hlcyBh
CisgICAgICAgID4gc3RhY2tpbmcgY29udGV4dC4gSXQgYWxzbyBlc3RhYmxpc2hlcyBhIGNvbnRh
aW5pbmcgYmxvY2sgZm9yIGFsbAorICAgICAgICA+IGRlc2NlbmRhbnRzLCBqdXN0IGxpa2UgdGhl
IHRyYW5zZm9ybSBwcm9wZXJ0eSBkb2VzLgorCisgICAgICAgIFRvZ2V0aGVyLCB0aGlzIG1lYW5z
IHRoYXQgbm8gbWF0dGVyIHdoYXQgdGhlIHVzZWQgdmFsdWUgaXMgb2YgdHJhbnNmb3JtLXN0eWxl
LCBpdCBzaG91bGQKKyAgICAgICAgZXN0YWJsaXNoIGEgY29udGFpbmluZyBibG9jayBhbmQgY3Jl
YXRlIGEgc3RhY2tpbmcgY29udGV4dC4KKworICAgICAgICBUaGlzIGNoYW5nZSBhZGRzIGEgdXNl
ZFRyYW5zZm9ybVN0eWxlIFJlbmRlclN0eWxlIG1ldGhvZCBhbmQgYSBTdHlsZVJhcmVOb25Jbmhl
cml0ZWREYXRhIG1lbWJlcgorICAgICAgICB0byBhZGp1c3QgdGhlIHJldHVybiB2YWx1ZSBhcHBy
b3ByaWF0ZWx5LiBSZW5kZXJTdHlsZTo6cHJlc2VydmVzM0QgcmVhZHMgdGhlIHVzZWQgdmFsdWUK
KyAgICAgICAgYW5kIGhhc1RyYW5zZm9ybVJlbGF0ZWRQcm9wZXJ0eSwgd2hpY2ggaXMgdXNlZCBm
b3IgZXN0YWJsaXNoaW5nIGNvbnRhaW5pbmcgYmxvY2tzCisgICAgICAgIGFuZCBzdGFja2luZyBj
b250ZXh0cywgdXNlcyB0aGUgY2FsY3VsYXRlZCB2YWx1ZS4KKworICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJMYXllci5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnByZXNlcnZl
czNEIGNvbnN0KTogVXNlIHVzZWRUcmFuc2Zvcm1TdHlsZS4KKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFj
a2luZzo6dXBkYXRlR2VvbWV0cnkpOiBUaGlzIG5vdyBjYWxscyBwcmVzZXJ2ZTNEKCkgYW5kIHVz
ZWRUcmFuc2Zvcm1TdHlsZTNEKCkuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29t
cG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpyZWNvbXBvc2l0ZUNoYW5nZVJlcXVpcmVz
R2VvbWV0cnlVcGRhdGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29t
cG9zaXRvcjo6cmVxdWlyZXNDb21wb3NpdGluZ0ZvckJhY2tmYWNlVmlzaWJpbGl0eSBjb25zdCk6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpjb21wdXRl
SW5kaXJlY3RDb21wb3NpdGluZ1JlYXNvbiBjb25zdCk6IERpdHRvLgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzdHlsZUNoYW5nZU1heUFmZmVjdEluZGlyZWN0Q29t
cG9zaXRpbmdSZWFzb25zKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNv
bXBvc2l0b3I6OmxheWVySGFzM0RDb250ZW50IGNvbnN0KTogRGl0dG8uCisgICAgICAgICogcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0
eWxlOjpjaGFuZ2VSZXF1aXJlc1JlY29tcG9zaXRlTGF5ZXIgY29uc3QpOiBEaXR0by4KKyAgICAg
ICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclN0eWxlOjpoYXNUcmFuc2Zvcm1SZWxhdGVkUHJvcGVydHkgY29uc3QpOiBNb2RpZmllZCB0
byBsb29rIGF0IHRoZSBjYWxjdWxhdGVkIHZhbHVlIGV4cGxpY2l0bHkuCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJTdHlsZTo6dXNlZFRyYW5zZm9ybVN0eWxlM0QgY29uc3QpOiBSZXR1cm4gJ2Zs
YXQnIHdoZW4gdGhlIHByb3BlcnR5IGlzIGZvcmNlZCB0byBmbGF0LgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyU3R5bGU6OnByZXNlcnZlczNEIGNvbnN0KTogTG9vayBhdCB0aGUgdXNlZCB2YWx1
ZS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpzZXRUcmFuc2Zvcm1TdHlsZUZvcmNl
ZFRvRmxhdCk6IEFkZGVkLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25J
bmhlcml0ZWREYXRhLmNwcDogQWRkZWQgYSBuZXcgdHJhbnNmb3JtU3R5bGVGb3JjZWRUb0ZsYXQg
bWVtYmVyLgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5
bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVS
YXJlTm9uSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3I9PSBjb25zdCk6IERpdHRvLgorICAgICAgICAq
IHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmg6CisgICAgICAgICog
c3R5bGUvU3R5bGVBZGp1c3Rlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6QWRqdXN0
ZXI6OmFkanVzdCBjb25zdCk6IENhbGwgc2V0VHJhbnNmb3JtU3R5bGVGb3JjZWRUb0ZsYXQgd2l0
aCB0aGUKKyAgICAgICAgYXBwcm9wcmlhdGUgdmFsdWUgd2hlbiBhbiBlbGVtZW50IGhhcyAncHJl
c2VydmUtM2QnIHNldC4KKwogMjAyMi0wMS0wNSAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29u
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgQ2hhbmdlIG9mZnNldFBhcmVudCB0byBtYXRjaCBzcGVj
IGNoYW5nZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCA3Yjk3MzEy
MTBiNjAyNjI3MmVlZDcyMzljMGJiNWE4N2I2NWZlZDE0Li5hOTBlZjk3ZGZhZjUyNjFjMWZlYjZh
NWYxZTEzY2E5NzEwMmRmZTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIu
aApAQCAtNzM2LDcgKzczNiw3IEBAIHB1YmxpYzoKICAgICAvLyBOb3RlIHRoYXQgdGhpcyB0cmFu
c2Zvcm0gaGFzIHRoZSBwZXJzcGVjdGl2ZS1vcmlnaW4gYmFrZWQgaW4uCiAgICAgVHJhbnNmb3Jt
YXRpb25NYXRyaXggcGVyc3BlY3RpdmVUcmFuc2Zvcm0oY29uc3QgTGF5b3V0UmVjdCYgbGF5ZXJS
ZWN0KSBjb25zdDsKICAgICBGbG9hdFBvaW50IHBlcnNwZWN0aXZlT3JpZ2luKCkgY29uc3Q7Ci0g
ICAgYm9vbCBwcmVzZXJ2ZXMzRCgpIGNvbnN0IHsgcmV0dXJuIHJlbmRlcmVyKCkuc3R5bGUoKS50
cmFuc2Zvcm1TdHlsZTNEKCkgPT0gVHJhbnNmb3JtU3R5bGUzRDo6UHJlc2VydmUzRDsgfQorICAg
IGJvb2wgcHJlc2VydmVzM0QoKSBjb25zdCB7IHJldHVybiByZW5kZXJlcigpLnN0eWxlKCkucHJl
c2VydmVzM0QoKTsgfQogICAgIGJvb2wgaGFzM0RUcmFuc2Zvcm0oKSBjb25zdCB7IHJldHVybiBt
X3RyYW5zZm9ybSAmJiAhbV90cmFuc2Zvcm0tPmlzQWZmaW5lKCk7IH0KICAgICBib29sIGhhc1Ry
YW5zZm9ybWVkQW5jZXN0b3IoKSBjb25zdCB7IHJldHVybiBtX2hhc1RyYW5zZm9ybWVkQW5jZXN0
b3I7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
QmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5n
LmNwcAppbmRleCAzOTExZTcxOTA0OTIxYzU3ZjdlNTZhODQxOTdkNjFkNjIyNjQ3NDlhLi5jZjky
YTlmMzg5NWZhY2MxNzBlNjM3NjM2Mjc1MzBjYTc4MmM2YzBmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtMTMyMyw3ICsxMzIzLDcg
QEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdlb21ldHJ5KGNvbnN0IFJlbmRlckxh
eWVyKiBjb21wb3NpdGVkQW5jZXN0b3IpCiAgICAgYXV0byBwcmltYXJ5TGF5ZXJQb3NpdGlvbiA9
IHByaW1hcnlHcmFwaGljc0xheWVyUmVjdC5sb2NhdGlvbigpOwogCiAgICAgLy8gRklYTUU6IHJl
ZmxlY3Rpb25zIHNob3VsZCBmb3JjZSB0cmFuc2Zvcm0tc3R5bGUgdG8gYmUgZmxhdCBpbiB0aGUg
c3R5bGU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY5NTkKLSAg
ICBib29sIHByZXNlcnZlczNEID0gc3R5bGUudHJhbnNmb3JtU3R5bGUzRCgpID09IFRyYW5zZm9y
bVN0eWxlM0Q6OlByZXNlcnZlM0QgJiYgIXJlbmRlcmVyKCkuaGFzUmVmbGVjdGlvbigpOworICAg
IGJvb2wgcHJlc2VydmVzM0QgPSBzdHlsZS5wcmVzZXJ2ZXMzRCgpICYmICFyZW5kZXJlcigpLmhh
c1JlZmxlY3Rpb24oKTsKICAgICBpZiAobV9jb250ZW50c0NvbnRhaW5tZW50TGF5ZXIpIHsKICAg
ICAgICAgbV9jb250ZW50c0NvbnRhaW5tZW50TGF5ZXItPnNldFByZXNlcnZlczNEKHByZXNlcnZl
czNEKTsKICAgICAgICAgbV9jb250ZW50c0NvbnRhaW5tZW50TGF5ZXItPnNldFBvc2l0aW9uKHBy
aW1hcnlMYXllclBvc2l0aW9uKTsKQEAgLTEzNDcsNyArMTM0Nyw3IEBAIHZvaWQgUmVuZGVyTGF5
ZXJCYWNraW5nOjp1cGRhdGVHZW9tZXRyeShjb25zdCBSZW5kZXJMYXllciogY29tcG9zaXRlZEFu
Y2VzdG9yKQogCiAjaWYgRU5BQkxFKENTU19UUkFOU0ZPUk1fU1RZTEVfT1BUSU1JWkVEXzNEKQog
ICAgIC8vIEZJWE1FOiBUYWtlIGFuY2VzdHJ5IGludG8gYWNjb3VudCBhbmQgcmVtb3ZlIHVubmVj
ZXNzYXJ5IHN0cnVjdHVyYWwgbGF5ZXJzLgotICAgIG1fZ3JhcGhpY3NMYXllci0+c2V0SXNTZXBh
cmF0ZWQoc3R5bGUudHJhbnNmb3JtU3R5bGUzRCgpID09IFRyYW5zZm9ybVN0eWxlM0Q6Ok9wdGlt
aXplZDNEKTsKKyAgICBtX2dyYXBoaWNzTGF5ZXItPnNldElzU2VwYXJhdGVkKHN0eWxlLnVzZWRU
cmFuc2Zvcm1TdHlsZTNEKCkgPT0gVHJhbnNmb3JtU3R5bGUzRDo6T3B0aW1pemVkM0QpOwogI2Vu
ZGlmCiAKICAgICAvLyBDb21wdXRlIHJlbmRlcmVyIG9mZnNldCBmcm9tIHByaW1hcnkgZ3JhcGhp
Y3MgbGF5ZXIuIE5vdGUgdGhhdCBwcmltYXJ5R3JhcGhpY3NMYXllclJlY3QgaXMgaW4gcGFyZW50
R3JhcGhpY3NMYXllcidzIGNvb3JkaW5hdGUgc3lzdGVtIHdoaWNoIGlzIG5vdCBuZWNlc3Nhcmls
eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9y
LmNwcAppbmRleCBiZjBiZmRlMGM1OTY4ZjFiYTNjMDE0MjZkOWIzZGQ3NzMxMTJkYTRjLi5mNmU1
ZGFjODQ1MGVkYTEwMDg0M2NkODM5OGYzOTdmOTIwMGI3N2ViIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtMTY0Miw3ICsx
NjQyLDcgQEAgc3RhdGljIGJvb2wgcmVjb21wb3NpdGVDaGFuZ2VSZXF1aXJlc0dlb21ldHJ5VXBk
YXRlKGNvbnN0IFJlbmRlclN0eWxlJiBvbGRTdHlsZSwKICAgICAgICAgfHwgb2xkU3R5bGUudHJh
bnNmb3JtT3JpZ2luWCgpICE9IG5ld1N0eWxlLnRyYW5zZm9ybU9yaWdpblgoKQogICAgICAgICB8
fCBvbGRTdHlsZS50cmFuc2Zvcm1PcmlnaW5ZKCkgIT0gbmV3U3R5bGUudHJhbnNmb3JtT3JpZ2lu
WSgpCiAgICAgICAgIHx8IG9sZFN0eWxlLnRyYW5zZm9ybU9yaWdpblooKSAhPSBuZXdTdHlsZS50
cmFuc2Zvcm1PcmlnaW5aKCkKLSAgICAgICAgfHwgb2xkU3R5bGUudHJhbnNmb3JtU3R5bGUzRCgp
ICE9IG5ld1N0eWxlLnRyYW5zZm9ybVN0eWxlM0QoKQorICAgICAgICB8fCBvbGRTdHlsZS51c2Vk
VHJhbnNmb3JtU3R5bGUzRCgpICE9IG5ld1N0eWxlLnVzZWRUcmFuc2Zvcm1TdHlsZTNEKCkKICAg
ICAgICAgfHwgb2xkU3R5bGUucGVyc3BlY3RpdmUoKSAhPSBuZXdTdHlsZS5wZXJzcGVjdGl2ZSgp
CiAgICAgICAgIHx8IG9sZFN0eWxlLnBlcnNwZWN0aXZlT3JpZ2luWCgpICE9IG5ld1N0eWxlLnBl
cnNwZWN0aXZlT3JpZ2luWCgpCiAgICAgICAgIHx8IG9sZFN0eWxlLnBlcnNwZWN0aXZlT3JpZ2lu
WSgpICE9IG5ld1N0eWxlLnBlcnNwZWN0aXZlT3JpZ2luWSgpCkBAIC0zMDQ0LDcgKzMwNDQsNyBA
QCBib29sIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNDb21wb3NpdGluZ0ZvckJhY2tm
YWNlVmlzaWJpbGl0eShSZW5kZXJMYXllcgogICAgIAogICAgIC8vIEZJWE1FOiB3b3JrYXJvdW5k
IGZvciB3ZWJraXQub3JnL2IvMTMyODAxCiAgICAgYXV0byogc3RhY2tpbmdDb250ZXh0ID0gcmVu
ZGVyZXIubGF5ZXIoKS0+c3RhY2tpbmdDb250ZXh0KCk7Ci0gICAgaWYgKHN0YWNraW5nQ29udGV4
dCAmJiBzdGFja2luZ0NvbnRleHQtPnJlbmRlcmVyKCkuc3R5bGUoKS50cmFuc2Zvcm1TdHlsZTNE
KCkgPT0gVHJhbnNmb3JtU3R5bGUzRDo6UHJlc2VydmUzRCkKKyAgICBpZiAoc3RhY2tpbmdDb250
ZXh0ICYmIHN0YWNraW5nQ29udGV4dC0+cmVuZGVyZXIoKS5zdHlsZSgpLnByZXNlcnZlczNEKCkp
CiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMzI5MSw3ICsz
MjkxLDcgQEAgSW5kaXJlY3RDb21wb3NpdGluZ1JlYXNvbiBSZW5kZXJMYXllckNvbXBvc2l0b3I6
OmNvbXB1dGVJbmRpcmVjdENvbXBvc2l0aW5nUmVhc28KICAgICAvLyBBIGxheWVyIHdpdGggcHJl
c2VydmUtM2Qgb3IgcGVyc3BlY3RpdmUgb25seSBuZWVkcyB0byBiZSBjb21wb3NpdGVkIGlmIHRo
ZXJlIGFyZSBkZXNjZW5kYW50IGxheWVycyB0aGF0CiAgICAgLy8gd2lsbCBiZSBhZmZlY3RlZCBi
eSB0aGUgcHJlc2VydmUtM2Qgb3IgcGVyc3BlY3RpdmUuCiAgICAgaWYgKGhhczNEVHJhbnNmb3Jt
ZWREZXNjZW5kYW50cykgewotICAgICAgICBpZiAocmVuZGVyZXIuc3R5bGUoKS50cmFuc2Zvcm1T
dHlsZTNEKCkgPT0gVHJhbnNmb3JtU3R5bGUzRDo6UHJlc2VydmUzRCkKKyAgICAgICAgaWYgKHJl
bmRlcmVyLnN0eWxlKCkucHJlc2VydmVzM0QoKSkKICAgICAgICAgICAgIHJldHVybiBJbmRpcmVj
dENvbXBvc2l0aW5nUmVhc29uOjpQcmVzZXJ2ZTNEOwogICAgIAogICAgICAgICBpZiAocmVuZGVy
ZXIuc3R5bGUoKS5oYXNQZXJzcGVjdGl2ZSgpKQpAQCAtMzMyMiw3ICszMzIyLDcgQEAgYm9vbCBS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OnN0eWxlQ2hhbmdlTWF5QWZmZWN0SW5kaXJlY3RDb21wb3Np
dGluZ1JlYXNvbnMoY29uc3QKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgaWYgKG5ld1N0eWxl
LmJveFJlZmxlY3QoKSAhPSBvbGRTdHlsZS5ib3hSZWZsZWN0KCkpCiAgICAgICAgIHJldHVybiB0
cnVlOwotICAgIGlmIChuZXdTdHlsZS50cmFuc2Zvcm1TdHlsZTNEKCkgIT0gb2xkU3R5bGUudHJh
bnNmb3JtU3R5bGUzRCgpKQorICAgIGlmIChuZXdTdHlsZS51c2VkVHJhbnNmb3JtU3R5bGUzRCgp
ICE9IG9sZFN0eWxlLnVzZWRUcmFuc2Zvcm1TdHlsZTNEKCkpCiAgICAgICAgIHJldHVybiB0cnVl
OwogICAgIGlmIChuZXdTdHlsZS5oYXNQZXJzcGVjdGl2ZSgpICE9IG9sZFN0eWxlLmhhc1BlcnNw
ZWN0aXZlKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtNDMyOSw3ICs0MzI5LDcgQEAgYm9v
bCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmxheWVySGFzM0RDb250ZW50KGNvbnN0IFJlbmRlckxh
eWVyJiBsYXllcikgY29uc3QKIHsKICAgICBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUgPSBsYXll
ci5yZW5kZXJlcigpLnN0eWxlKCk7CiAKLSAgICBpZiAoc3R5bGUudHJhbnNmb3JtU3R5bGUzRCgp
ID09IFRyYW5zZm9ybVN0eWxlM0Q6OlByZXNlcnZlM0QgfHwgc3R5bGUuaGFzUGVyc3BlY3RpdmUo
KSB8fCBzdHlsZUhhczNEVHJhbnNmb3JtT3BlcmF0aW9uKHN0eWxlKSkKKyAgICBpZiAoc3R5bGUu
cHJlc2VydmVzM0QoKSB8fCBzdHlsZS5oYXNQZXJzcGVjdGl2ZSgpIHx8IHN0eWxlSGFzM0RUcmFu
c2Zvcm1PcGVyYXRpb24oc3R5bGUpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIGNvbnN0
X2Nhc3Q8UmVuZGVyTGF5ZXImPihsYXllcikudXBkYXRlTGF5ZXJMaXN0c0lmTmVlZGVkKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAppbmRleCBl
MjRlNjg5YzM0MWI0ODRiZDU4OTU0NzI3NDczYzIyYjYzODQ0MDE3Li5hNGU1MzE0ODBhYTE1NTdk
MTc3OTg4YmU0ZTRlMzBiYTg2OTcxMDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKQEAgLTExODUsNyArMTE4NSw3IEBAIGJvb2wgUmVuZGVy
U3R5bGU6OmNoYW5nZVJlcXVpcmVzUmVjb21wb3NpdGVMYXllcihjb25zdCBSZW5kZXJTdHlsZSYg
b3RoZXIsIE9wdGlvCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgaWYgKG1fcmFyZU5vbklu
aGVyaXRlZERhdGEucHRyKCkgIT0gb3RoZXIubV9yYXJlTm9uSW5oZXJpdGVkRGF0YS5wdHIoKSkg
ewotICAgICAgICBpZiAobV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+dHJhbnNmb3JtU3R5bGUzRCAh
PSBvdGhlci5tX3JhcmVOb25Jbmhlcml0ZWREYXRhLT50cmFuc2Zvcm1TdHlsZTNECisgICAgICAg
IGlmICh1c2VkVHJhbnNmb3JtU3R5bGUzRCgpICE9IG90aGVyLnVzZWRUcmFuc2Zvcm1TdHlsZTNE
KCkKICAgICAgICAgICAgIHx8IG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmJhY2tmYWNlVmlzaWJp
bGl0eSAhPSBvdGhlci5tX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5iYWNrZmFjZVZpc2liaWxpdHkK
ICAgICAgICAgICAgIHx8IG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPnBlcnNwZWN0aXZlICE9IG90
aGVyLm1fcmFyZU5vbkluaGVyaXRlZERhdGEtPnBlcnNwZWN0aXZlCiAgICAgICAgICAgICB8fCBt
X3JhcmVOb25Jbmhlcml0ZWREYXRhLT5wZXJzcGVjdGl2ZU9yaWdpblggIT0gb3RoZXIubV9yYXJl
Tm9uSW5oZXJpdGVkRGF0YS0+cGVyc3BlY3RpdmVPcmlnaW5YCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IDE1YjQ3MTYzMWRiMzNhZDgyZjU1N2Q5
MGVlODIzMGI4Yzk0YjY2NzcuLmM4OWM3MWY1ZDM4MzczODc2YTI4YzE1YTJjMGZkOTAzNjM4NjIy
ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBA
IC02NzQsOCArNjc0LDkgQEAgcHVibGljOgogICAgIExlbmd0aFBvaW50IG9iamVjdFBvc2l0aW9u
KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+b2JqZWN0UG9zaXRpb247
IH0KIAogICAgIC8vIFJldHVybiB0cnVlIGlmIGFueSB0cmFuc2Zvcm0gcmVsYXRlZCBwcm9wZXJ0
eSAoY3VycmVudGx5IHRyYW5zZm9ybSwgdHJhbnNsYXRlLCBzY2FsZSwgcm90YXRlLCB0cmFuc2Zv
cm1TdHlsZTNEIG9yIHBlcnNwZWN0aXZlKQotICAgIC8vIGluZGljYXRlcyB0aGF0IHdlIGFyZSB0
cmFuc2Zvcm1pbmcuCi0gICAgYm9vbCBoYXNUcmFuc2Zvcm1SZWxhdGVkUHJvcGVydHkoKSBjb25z
dCB7IHJldHVybiBoYXNUcmFuc2Zvcm0oKSB8fCB0cmFuc2xhdGUoKSB8fCBzY2FsZSgpIHx8IHJv
dGF0ZSgpIHx8IHByZXNlcnZlczNEKCkgfHwgaGFzUGVyc3BlY3RpdmUoKTsgfQorICAgIC8vIGlu
ZGljYXRlcyB0aGF0IHdlIGFyZSB0cmFuc2Zvcm1pbmcuIFRoZSB1c2VkVHJhbnNmb3JtU3R5bGUz
RCBpcyBub3QgdXNlZCBoZXJlIGJlY2F1c2UgaW4gbWFueSBjYXNlcyAoc3VjaCBhcyBmb3IgZGVj
aWRpbmcKKyAgICAvLyB3aGV0aGVyIG9yIG5vdCB0byBlc3RhYmxpc2ggYSBjb250YWluaW5nIGJs
b2NrKSwgdGhlIGNvbXB1dGVkIHZhbHVlIGlzIHdoYXQgbWF0dGVycy4KKyAgICBib29sIGhhc1Ry
YW5zZm9ybVJlbGF0ZWRQcm9wZXJ0eSgpIGNvbnN0IHsgcmV0dXJuIGhhc1RyYW5zZm9ybSgpIHx8
IHRyYW5zbGF0ZSgpIHx8IHNjYWxlKCkgfHwgcm90YXRlKCkgfHwgdHJhbnNmb3JtU3R5bGUzRCgp
ID09IFRyYW5zZm9ybVN0eWxlM0Q6OlByZXNlcnZlM0QgfHwgaGFzUGVyc3BlY3RpdmUoKTsgfQog
CiAgICAgZW51bSBjbGFzcyBUcmFuc2Zvcm1PcGVyYXRpb25PcHRpb24gOiB1aW50OF90IHsKICAg
ICAgICAgVHJhbnNmb3JtT3JpZ2luID0gMSA8PCAwLApAQCAtNzIxLDcgKzcyMiw4IEBAIHB1Ymxp
YzoKICAgICBib29sIGhhc1RyYW5zaXRpb25zKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5o
ZXJpdGVkRGF0YS0+dHJhbnNpdGlvbnMgJiYgbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+dHJhbnNp
dGlvbnMtPnNpemUoKSA+IDA7IH0KIAogICAgIFRyYW5zZm9ybVN0eWxlM0QgdHJhbnNmb3JtU3R5
bGUzRCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFRyYW5zZm9ybVN0eWxlM0Q+KG1fcmFy
ZU5vbkluaGVyaXRlZERhdGEtPnRyYW5zZm9ybVN0eWxlM0QpOyB9Ci0gICAgYm9vbCBwcmVzZXJ2
ZXMzRCgpIGNvbnN0IHsgcmV0dXJuIHRyYW5zZm9ybVN0eWxlM0QoKSA9PSBUcmFuc2Zvcm1TdHls
ZTNEOjpQcmVzZXJ2ZTNEOyB9CisgICAgVHJhbnNmb3JtU3R5bGUzRCB1c2VkVHJhbnNmb3JtU3R5
bGUzRCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PGJvb2w+KG1fcmFyZU5vbkluaGVyaXRl
ZERhdGEtPnRyYW5zZm9ybVN0eWxlRm9yY2VkVG9GbGF0KSA/IFRyYW5zZm9ybVN0eWxlM0Q6OkZs
YXQgOiB0cmFuc2Zvcm1TdHlsZTNEKCk7IH0KKyAgICBib29sIHByZXNlcnZlczNEKCkgY29uc3Qg
eyByZXR1cm4gdXNlZFRyYW5zZm9ybVN0eWxlM0QoKSA9PSBUcmFuc2Zvcm1TdHlsZTNEOjpQcmVz
ZXJ2ZTNEOyB9CiAKICAgICBCYWNrZmFjZVZpc2liaWxpdHkgYmFja2ZhY2VWaXNpYmlsaXR5KCkg
Y29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8QmFja2ZhY2VWaXNpYmlsaXR5PihtX3JhcmVOb25J
bmhlcml0ZWREYXRhLT5iYWNrZmFjZVZpc2liaWxpdHkpOyB9CiAgICAgZmxvYXQgcGVyc3BlY3Rp
dmUoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5wZXJzcGVjdGl2ZTsg
fQpAQCAtMTI5Myw2ICsxMjk1LDcgQEAgcHVibGljOgogICAgIHZvaWQgYWRqdXN0VHJhbnNpdGlv
bnMoKTsKIAogICAgIHZvaWQgc2V0VHJhbnNmb3JtU3R5bGUzRChUcmFuc2Zvcm1TdHlsZTNEIGIp
IHsgU0VUX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCB0cmFuc2Zvcm1TdHlsZTNELCBzdGF0
aWNfY2FzdDx1bnNpZ25lZD4oYikpOyB9CisgICAgdm9pZCBzZXRUcmFuc2Zvcm1TdHlsZUZvcmNl
ZFRvRmxhdChib29sIGIpIHsgU0VUX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCB0cmFuc2Zv
cm1TdHlsZUZvcmNlZFRvRmxhdCwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGIpKTsgfQogICAgIHZv
aWQgc2V0QmFja2ZhY2VWaXNpYmlsaXR5KEJhY2tmYWNlVmlzaWJpbGl0eSBiKSB7IFNFVF9WQVIo
bV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgYmFja2ZhY2VWaXNpYmlsaXR5LCBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oYikpOyB9CiAgICAgdm9pZCBzZXRQZXJzcGVjdGl2ZShmbG9hdCBwKSB7IFNFVF9W
QVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgcGVyc3BlY3RpdmUsIHApOyB9CiAgICAgdm9pZCBz
ZXRQZXJzcGVjdGl2ZU9yaWdpblgoTGVuZ3RoJiYgbGVuZ3RoKSB7IFNFVF9WQVIobV9yYXJlTm9u
SW5oZXJpdGVkRGF0YSwgcGVyc3BlY3RpdmVPcmlnaW5YLCBXVEZNb3ZlKGxlbmd0aCkpOyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5o
ZXJpdGVkRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJl
Tm9uSW5oZXJpdGVkRGF0YS5jcHAKaW5kZXggOTkwMjc5MjYxNjE4YjFmNWM3YzE3NzJjMTNmM2Zi
NWYzZjUyMzMxNi4uZDA4OWRjMDhiNzEzOGEwODRkM2FiNWY1NjQ1ZTRkYmE0ZGQ0ZjUzNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVy
aXRlZERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJh
cmVOb25Jbmhlcml0ZWREYXRhLmNwcApAQCAtODYsNiArODYsNyBAQCBTdHlsZVJhcmVOb25Jbmhl
cml0ZWREYXRhOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhKCkKICAgICAsIHRvdWNoQWN0aW9u
cyhSZW5kZXJTdHlsZTo6aW5pdGlhbFRvdWNoQWN0aW9ucygpKQogICAgICwgcGFnZVNpemVUeXBl
KFBBR0VfU0laRV9BVVRPKQogICAgICwgdHJhbnNmb3JtU3R5bGUzRChzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oUmVuZGVyU3R5bGU6OmluaXRpYWxUcmFuc2Zvcm1TdHlsZTNEKCkpKQorICAgICwgdHJh
bnNmb3JtU3R5bGVGb3JjZWRUb0ZsYXQoZmFsc2UpCiAgICAgLCBiYWNrZmFjZVZpc2liaWxpdHko
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFJlbmRlclN0eWxlOjppbml0aWFsQmFja2ZhY2VWaXNpYmls
aXR5KCkpKQogICAgICwgdXNlckRyYWcoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFJlbmRlclN0eWxl
Ojppbml0aWFsVXNlckRyYWcoKSkpCiAgICAgLCB0ZXh0T3ZlcmZsb3coc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KFJlbmRlclN0eWxlOjppbml0aWFsVGV4dE92ZXJmbG93KCkpKQpAQCAtMTg4LDYgKzE4
OSw3IEBAIGlubGluZSBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVOb25Jbmhl
cml0ZWREYXRhKGNvbnN0IFN0eWxlUmFyZU5vbkluCiAgICAgLCB0b3VjaEFjdGlvbnMoby50b3Vj
aEFjdGlvbnMpCiAgICAgLCBwYWdlU2l6ZVR5cGUoby5wYWdlU2l6ZVR5cGUpCiAgICAgLCB0cmFu
c2Zvcm1TdHlsZTNEKG8udHJhbnNmb3JtU3R5bGUzRCkKKyAgICAsIHRyYW5zZm9ybVN0eWxlRm9y
Y2VkVG9GbGF0KG8udHJhbnNmb3JtU3R5bGVGb3JjZWRUb0ZsYXQpCiAgICAgLCBiYWNrZmFjZVZp
c2liaWxpdHkoby5iYWNrZmFjZVZpc2liaWxpdHkpCiAgICAgLCB1c2VyRHJhZyhvLnVzZXJEcmFn
KQogICAgICwgdGV4dE92ZXJmbG93KG8udGV4dE92ZXJmbG93KQpAQCAtMjkzLDYgKzI5NSw3IEBA
IGJvb2wgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3I9PShjb25zdCBTdHlsZVJh
cmVOb25Jbmhlcml0ZWREYXRhJiBvKSBjCiAgICAgICAgICAgICB8fCAoIWN1c3RvbVBhaW50V2F0
Y2hlZFByb3BlcnRpZXMgJiYgIW8uY3VzdG9tUGFpbnRXYXRjaGVkUHJvcGVydGllcykpCiAgICAg
ICAgICYmIHBhZ2VTaXplVHlwZSA9PSBvLnBhZ2VTaXplVHlwZQogICAgICAgICAmJiB0cmFuc2Zv
cm1TdHlsZTNEID09IG8udHJhbnNmb3JtU3R5bGUzRAorICAgICAgICAmJiB0cmFuc2Zvcm1TdHls
ZUZvcmNlZFRvRmxhdCA9PSBvLnRyYW5zZm9ybVN0eWxlRm9yY2VkVG9GbGF0CiAgICAgICAgICYm
IGJhY2tmYWNlVmlzaWJpbGl0eSA9PSBvLmJhY2tmYWNlVmlzaWJpbGl0eQogICAgICAgICAmJiB1
c2VyRHJhZyA9PSBvLnVzZXJEcmFnCiAgICAgICAgICYmIHRleHRPdmVyZmxvdyA9PSBvLnRleHRP
dmVyZmxvdwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
UmFyZU5vbkluaGVyaXRlZERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKaW5kZXggNGE5MTVlYWE2ZmQ0OGRiNDQzMmU3NDAx
MTkyZjVmNTQzOTE2OWRmNC4uZGUzMTI3MzRlMzkzNzMyODFjMmRiZjhhMTU5MDdkNTBlOTMwODc4
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5v
bkluaGVyaXRlZERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5
bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oCkBAIC0xOTUsNiArMTk1LDcgQEAgcHVibGljOgogCiAg
ICAgdW5zaWduZWQgcGFnZVNpemVUeXBlIDogMjsgLy8gUGFnZVNpemVUeXBlCiAgICAgdW5zaWdu
ZWQgdHJhbnNmb3JtU3R5bGUzRCA6IDI7IC8vIFRyYW5zZm9ybVN0eWxlM0QKKyAgICB1bnNpZ25l
ZCB0cmFuc2Zvcm1TdHlsZUZvcmNlZFRvRmxhdCA6IDE7IC8vIFRoZSB1c2VkIHZhbHVlIGZvciB0
cmFuc2Zvcm0tc3R5bGUgaXMgZm9yY2VkIHRvIGZsYXQgYnkgYSBncm91cGluZyBwcm9wZXJ0eS4K
ICAgICB1bnNpZ25lZCBiYWNrZmFjZVZpc2liaWxpdHkgOiAxOyAvLyBCYWNrZmFjZVZpc2liaWxp
dHkKIAogICAgIHVuc2lnbmVkIHVzZXJEcmFnIDogMjsgLy8gVXNlckRyYWcKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
c3R5bGUvU3R5bGVBZGp1c3Rlci5jcHAKaW5kZXggODI3OGEzMzM5NDQ3ZTI0YTJlMGRmYWQwYjJk
OTE4NTAwMzlhYzJlOS4uYTZiOGJiOTRmNDY3NTJiZGRhNmY0M2FlNTBmMzkyMzhiNjMxYzg4NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVBZGp1c3Rlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVBZGp1c3Rlci5jcHAKQEAgLTUwMCwxOSArNTAwLDIx
IEBAIHZvaWQgQWRqdXN0ZXI6OmFkanVzdChSZW5kZXJTdHlsZSYgc3R5bGUsIGNvbnN0IFJlbmRl
clN0eWxlKiB1c2VyQWdlbnRBcHBlYXJhbmNlCiAgICAgaWYgKHN0eWxlLmhhc1BzZXVkb1N0eWxl
KFBzZXVkb0lkOjpGaXJzdExldHRlcikpCiAgICAgICAgIHN0eWxlLnNldFVuaXF1ZSgpOwogCi0g
ICAgaWYgKHN0eWxlLnByZXNlcnZlczNEKCkgJiYgKHN0eWxlLm92ZXJmbG93WCgpICE9IE92ZXJm
bG93OjpWaXNpYmxlCi0gICAgICAgIHx8IHN0eWxlLmhhc09wYWNpdHkoKQotICAgICAgICB8fCBz
dHlsZS5vdmVyZmxvd1koKSAhPSBPdmVyZmxvdzo6VmlzaWJsZQotICAgICAgICB8fCBzdHlsZS5o
YXNDbGlwKCkKLSAgICAgICAgfHwgc3R5bGUuY2xpcFBhdGgoKQotICAgICAgICB8fCBzdHlsZS5o
YXNGaWx0ZXIoKQotICAgICAgICB8fCBzdHlsZS5oYXNJc29sYXRpb24oKQotICAgICAgICB8fCBz
dHlsZS5oYXNNYXNrKCkKKyAgICBpZiAoc3R5bGUucHJlc2VydmVzM0QoKSkgeworICAgICAgICBi
b29sIGZvcmNlVG9GbGF0ID0gc3R5bGUub3ZlcmZsb3dYKCkgIT0gT3ZlcmZsb3c6OlZpc2libGUK
KyAgICAgICAgICAgIHx8IHN0eWxlLmhhc09wYWNpdHkoKQorICAgICAgICAgICAgfHwgc3R5bGUu
b3ZlcmZsb3dZKCkgIT0gT3ZlcmZsb3c6OlZpc2libGUKKyAgICAgICAgICAgIHx8IHN0eWxlLmhh
c0NsaXAoKQorICAgICAgICAgICAgfHwgc3R5bGUuY2xpcFBhdGgoKQorICAgICAgICAgICAgfHwg
c3R5bGUuaGFzRmlsdGVyKCkKKyAgICAgICAgICAgIHx8IHN0eWxlLmhhc0lzb2xhdGlvbigpCisg
ICAgICAgICAgICB8fCBzdHlsZS5oYXNNYXNrKCkKICNpZiBFTkFCTEUoRklMVEVSU19MRVZFTF8y
KQotICAgICAgICB8fCBzdHlsZS5oYXNCYWNrZHJvcEZpbHRlcigpCisgICAgICAgICAgICB8fCBz
dHlsZS5oYXNCYWNrZHJvcEZpbHRlcigpCiAjZW5kaWYKLSAgICAgICAgfHwgc3R5bGUuaGFzQmxl
bmRNb2RlKCkpKQotICAgICAgICBzdHlsZS5zZXRUcmFuc2Zvcm1TdHlsZTNEKFRyYW5zZm9ybVN0
eWxlM0Q6OkZsYXQpOworICAgICAgICAgICAgfHwgc3R5bGUuaGFzQmxlbmRNb2RlKCk7CisgICAg
ICAgIHN0eWxlLnNldFRyYW5zZm9ybVN0eWxlRm9yY2VkVG9GbGF0KGZvcmNlVG9GbGF0KTsKKyAg
ICB9CiAKICAgICBpZiAoaXM8U1ZHRWxlbWVudD4obV9lbGVtZW50KSkKICAgICAgICAgYWRqdXN0
U1ZHRWxlbWVudFN0eWxlKHN0eWxlLCBkb3duY2FzdDxTVkdFbGVtZW50PigqbV9lbGVtZW50KSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggMjExMzBjNjQ5YWFlNmExMjdiZWM1NjI5ZDlmMzk1ZDY5Mzk0NmFkZC4uOGVjZTI4
ZDAyMzc4YjdkOGVlZGRkOTEyZTRkOWE4ZDA2NGIwYWU0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBA
CisyMDIyLTAxLTA2ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25Ad2Via2l0Lm9yZz4KKwor
ICAgICAgICBXaGVuIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2QgaXMgdXNlZCB3aXRoIGEg
Z3JvdXBpbmcgcHJvcGVydHkgaXQgc2hvdWxkIHN0aWxsIGNyZWF0ZSBhIGNvbnRhaW5pbmcgYmxv
Y2sKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDE0
NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODY2MzAzODc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBjb21wb3NpdGluZy9vdmVyZmxvdy10cnVt
cHMtdHJhbnNmb3JtLXN0eWxlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBjb21wb3NpdGluZy9v
dmVyZmxvdy10cnVtcHMtdHJhbnNmb3JtLXN0eWxlLmh0bWw6IFVwZGF0ZSB0byB0ZXN0IHVzZWQg
dmFsdWUgYW5kIHJlZmxlY3QgdGhhdCBjb21wdXRlZCB2YWx1ZSBkb2Vzbid0IGNoYW5nZS4KKyAg
ICAgICAgKiBjc3MzL2JsZW5kaW5nL2JsZW5kLW1vZGUtdHJhbnNmb3JtLXN0eWxlLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBjc3MzL2JsZW5kaW5nL2JsZW5kLW1vZGUtdHJhbnNmb3JtLXN0eWxl
Lmh0bWw6IERpdHRvLgorCiAyMDIyLTAxLTA1ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25A
d2Via2l0Lm9yZz4KIAogICAgICAgICBDaGFuZ2Ugb2Zmc2V0UGFyZW50IHRvIG1hdGNoIHNwZWMg
Y2hhbmdlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA4MzJkMTUzOGUxMjc5Y2Zm
OTBjNjE1NTk0NWY2Nzg0YjliMGM3M2RmLi42MWFmZGZiN2UyZGZjYTU1NDc1YjlkZWI5M2RlMzdk
ZjdiZjg5YWM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBA
QAorMjAyMi0wMS0wNSAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgV2hlbiB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkIGlzIHVzZWQgd2l0aCBh
IGdyb3VwaW5nIHByb3BlcnR5IGl0IHNob3VsZCBzdGlsbCBjcmVhdGUgYSBjb250YWluaW5nIGJs
b2NrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQx
NDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg2NjMwMzg3PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtdHJhbnNmb3Jtcy9wcmVzZXJ2ZS0zZC1mbGF0LWdyb3VwaW5nLXByb3BlcnRpZXMtY29udGFp
bmluZy1ibG9jay1leHBlY3RlZC50eHQ6CisKIDIwMjItMDEtMDUgIE1hcnRpbiBSb2JpbnNvbiAg
PG1yb2JpbnNvbkB3ZWJraXQub3JnPgogCiAgICAgICAgIENoYW5nZSBvZmZzZXRQYXJlbnQgdG8g
bWF0Y2ggc3BlYyBjaGFuZ2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292
ZXJmbG93LXRydW1wcy10cmFuc2Zvcm0tc3R5bGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvb3ZlcmZsb3ctdHJ1bXBzLXRyYW5zZm9ybS1zdHlsZS1leHBlY3RlZC50eHQK
aW5kZXggMjI3ZGZiZGU4OWVlMTZhMzA3ZWYzNTA1N2QxMzI4YmU4MjllNjk5MC4uOWNjMGY1Yzhl
NDBjN2RlMzYzYzQ3MzNmY2Y4MjBlNzVjNTU2ZmQzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvb3ZlcmZsb3ctdHJ1bXBzLXRyYW5zZm9ybS1zdHlsZS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3ctdHJ1bXBzLXRyYW5zZm9ybS1z
dHlsZS1leHBlY3RlZC50eHQKQEAgLTEsMjkgKzEsMTMgQEAKLXByZXNlcnZlLTNkCi1mbGF0Ci0o
R3JhcGhpY3NMYXllcgotICAoYW5jaG9yIDAuMDAgMC4wMCkKLSAgKGJvdW5kcyA4MDAuMDAgNjAw
LjAwKQotICAoY2hpbGRyZW4gMQotICAgIChHcmFwaGljc0xheWVyCi0gICAgICAoYm91bmRzIDgw
MC4wMCA2MDAuMDApCi0gICAgICAoY29udGVudHNPcGFxdWUgMSkKLSAgICAgIChjaGlsZHJlbiAy
Ci0gICAgICAgIChHcmFwaGljc0xheWVyCi0gICAgICAgICAgKHBvc2l0aW9uIDE4LjAwIDEwLjAw
KQotICAgICAgICAgIChib3VuZHMgMTAwLjAwIDEwMC4wMCkKLSAgICAgICAgICAoY29udGVudHNP
cGFxdWUgMSkKLSAgICAgICAgICAocHJlc2VydmVzM0QgMSkKLSAgICAgICAgICAoZHJhd3NDb250
ZW50IDEpCi0gICAgICAgICAgKHRyYW5zZm9ybSBbMS4wMCAwLjAwIDAuMDAgMC4wMF0gWzAuMDAg
MS4wMCAwLjAwIDAuMDBdIFswLjAwIDAuMDAgMS4wMCAwLjAwXSBbMC4wMCAwLjAwIDEuMDAgMS4w
MF0pCi0gICAgICAgICkKLSAgICAgICAgKEdyYXBoaWNzTGF5ZXIKLSAgICAgICAgICAocG9zaXRp
b24gMTguMDAgMTIwLjAwKQotICAgICAgICAgIChib3VuZHMgMTAwLjAwIDEwMC4wMCkKLSAgICAg
ICAgICAoY29udGVudHNPcGFxdWUgMSkKLSAgICAgICAgICAodHJhbnNmb3JtIFsxLjAwIDAuMDAg
MC4wMCAwLjAwXSBbMC4wMCAxLjAwIDAuMDAgMC4wMF0gWzAuMDAgMC4wMCAxLjAwIDAuMDBdIFsw
LjAwIDAuMDAgMS4wMCAxLjAwXSkKLSAgICAgICAgKQotICAgICAgKQotICAgICkKLSAgKQotKQor
UEFTUyBwYXJlbnROb2RlVHJhbnNmb3JtU3R5bGUoJ3RyYW5zZm9ybS1zdHlsZS1wcmVzZXJ2ZS0z
ZCcpIGlzICJwcmVzZXJ2ZS0zZCIKK1BBU1MgcGFyZW50Tm9kZVRyYW5zZm9ybVN0eWxlKCd0cmFu
c2Zvcm0tc3R5bGUtZmxhdCcpIGlzICJmbGF0IgorUEFTUyBwYXJlbnROb2RlVHJhbnNmb3JtU3R5
bGUoJ292ZXJmbG93LWhpZGRlbi13aXRoLXRyYW5zZm9ybS1zdHlsZS1wcmVzZXJ2ZS0zZCcpIGlz
ICJwcmVzZXJ2ZS0zZCIKK1BBU1MgcGFyZW50Tm9kZVRyYW5zZm9ybVN0eWxlKCdvdmVyZmxvdy1o
aWRkZW4td2l0aC10cmFuc2Zvcm0tc3R5bGUtZmxhdCcpIGlzICJmbGF0IgorUEFTUyBnZXRCb3Vu
ZGluZ0NsaWVudFdpZHRoKCd0cmFuc2Zvcm0tc3R5bGUtcHJlc2VydmUtM2QnKSBpcyBub3QgZ2V0
Qm91bmRpbmdDbGllbnRXaWR0aCgndHJhbnNmb3JtLXN0eWxlLWZsYXQnKQorUEFTUyBnZXRCb3Vu
ZGluZ0NsaWVudFdpZHRoKCdvdmVyZmxvdy1oaWRkZW4td2l0aC10cmFuc2Zvcm0tc3R5bGUtZmxh
dCcpIGlzIGdldEJvdW5kaW5nQ2xpZW50V2lkdGgoJ3RyYW5zZm9ybS1zdHlsZS1mbGF0JykKK1BB
U1MgZ2V0Qm91bmRpbmdDbGllbnRXaWR0aCgnb3ZlcmZsb3ctaGlkZGVuLXdpdGgtdHJhbnNmb3Jt
LXN0eWxlLXByZXNlcnZlLTNkJykgaXMgZ2V0Qm91bmRpbmdDbGllbnRXaWR0aCgndHJhbnNmb3Jt
LXN0eWxlLWZsYXQnKQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCitUZXN0IHRoYXQgYW4gZWxlbWVudCB3aXRoIG1peC1ibGVuZC1tb2RlIG90aGVyIHRo
YW4gbm9ybWFsIGZvcmNlcyB0aGUgdXNlZCB2YWx1ZSBvZiB0cmFuc2Zvcm0tc3R5bGUgdG8gZmxh
dCwgYnV0IG5vdCB0aGUgY29tcHV0ZWQgdmFsdWUuLgorCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2NvbXBvc2l0aW5nL292ZXJmbG93LXRydW1wcy10cmFuc2Zvcm0tc3R5bGUuaHRtbCBiL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93LXRydW1wcy10cmFuc2Zvcm0tc3R5bGUuaHRt
bAppbmRleCBmMTJmNjE3ODkwMTM0ZTgwZTc3Y2IyOThjZjFlYWQxYzZkOGNjZDJmLi41MzAyYzZh
N2JkOGYyY2FjNjE1NDE3YzBmZTMwYTljZWEyODZjNWZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9vdmVyZmxvdy10cnVtcHMtdHJhbnNmb3JtLXN0eWxlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3ctdHJ1bXBzLXRyYW5zZm9ybS1zdHlsZS5o
dG1sCkBAIC0xLDM2ICsxLDUzIEBACi08IURPQ1RZUEUgaHRtbD4KLQotPGh0bWw+Ci08aGVhZD4K
LSAgPHN0eWxlPgorPCFET0NUWVBFIEhUTUw+Cis8c3R5bGU+CiAgICAgLmJveCB7Ci0gICAgICBo
ZWlnaHQ6IDEwMHB4OwotICAgICAgd2lkdGg6IDEwMHB4OwotICAgICAgbWFyZ2luOiAxMHB4Owot
ICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKyAgICAucGFyZW50IHsKKyAgICAgICAgdHJhbnNm
b3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsKKyAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDQ1ZGVn
KQogICAgIH0KLSAgPC9zdHlsZT4KLSAgPHNjcmlwdD4KLSAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLQotICAgIGZ1bmN0aW9uIGR1bXBS
ZXN1bHRzKCkKLSAgICB7Ci0gICAgICB2YXIgcmVzdWx0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdsYXllcnMnKTsKLSAgICAgIAotICAgICAgLy8gQ2hlY2sgdGhlIGNvbXB1dGVkIHZhbHVl
LgotICAgICAgcmVzdWx0cy5pbm5lclRleHQgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnYm94MScpKS53ZWJraXRUcmFuc2Zvcm1TdHlsZSArICdcbic7
Ci0gICAgICByZXN1bHRzLmlubmVyVGV4dCArPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnYm94MicpKS53ZWJraXRUcmFuc2Zvcm1TdHlsZSArICdcbic7
Ci0gICAgICAKLSAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgcmVzdWx0cy5p
bm5lclRleHQgKz0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwor
ICAgIC5jaGlsZCB7CisgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSg0NWRlZyk7CisgICAgICAg
IGJhY2tncm91bmQ6IGxpZ2h0Ymx1ZQogICAgIH0KLSAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cignbG9hZCcsIGR1bXBSZXN1bHRzLCBmYWxzZSk7Ci0gIDwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHk+Ci08ZGl2IGNsYXNzPSJib3giIGlkPSJib3gxIiBzdHlsZT0iLXdlYmtpdC10cmFuc2Zvcm06
IHRyYW5zbGF0ZVooMXB4KTsgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkIj48
L2Rpdj4KLTxkaXYgY2xhc3M9ImJveCIgaWQ9ImJveDIiIHN0eWxlPSItd2Via2l0LXRyYW5zZm9y
bTogdHJhbnNsYXRlWigxcHgpOyAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7
IG92ZXJmbG93OiBoaWRkZW4iPjwvZGl2PgotPHByZSBpZD0ibGF5ZXJzIj5MYXllciB0cmVlIGdv
ZXMgaGVyZSBpbiBEUlQ8L3ByZT4KLTwvYm9keT4KLTwvaHRtbD4KKzwvc3R5bGU+CisKKzxwPlRl
c3QgdGhhdCBhbiBlbGVtZW50IHdpdGggbWl4LWJsZW5kLW1vZGUgb3RoZXIgdGhhbiBub3JtYWwg
Zm9yY2VzIHRoZSB1c2VkIHZhbHVlIG9mIHRyYW5zZm9ybS1zdHlsZSB0byBmbGF0LCBidXQgbm90
IHRoZSBjb21wdXRlZCB2YWx1ZS4uPC9wPgorCis8ZGl2IGNsYXNzPSJwYXJlbnQgYm94Ij4KKyAg
ICA8ZGl2IGlkPSJ0cmFuc2Zvcm0tc3R5bGUtcHJlc2VydmUtM2QiIGNsYXNzPSJib3ggY2hpbGQi
PjwvZGl2PgorPC9kaXY+CisKKzxkaXYgY2xhc3M9InBhcmVudCBib3giIHN0eWxlPSJ0cmFuc2Zv
cm0tc3R5bGU6IGZsYXQiPgorICAgIDxkaXYgaWQ9InRyYW5zZm9ybS1zdHlsZS1mbGF0IiBjbGFz
cz0iYm94IGNoaWxkIj48L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSJwYXJlbnQgYm94IiBz
dHlsZT0ib3ZlcmZsb3c6IGhpZGRlbjsgdHJhbnNmb3JtLXN0eWxlOiBmbGF0Ij4KKyAgICA8ZGl2
IGlkPSJvdmVyZmxvdy1oaWRkZW4td2l0aC10cmFuc2Zvcm0tc3R5bGUtZmxhdCIgY2xhc3M9ImJv
eCBjaGlsZCI+PC9kaXY+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0icGFyZW50IGJveCIgc3R5bGU9
Im92ZXJmbG93OiBoaWRkZW47Ij4KKyAgICA8ZGl2IGlkPSJvdmVyZmxvdy1oaWRkZW4td2l0aC10
cmFuc2Zvcm0tc3R5bGUtcHJlc2VydmUtM2QiIGNsYXNzPSJib3ggY2hpbGQiPjwvZGl2PgorPC9k
aXY+CisKKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0PgorICAgIGZ1bmN0aW9uIHBhcmVudE5vZGVUcmFuc2Zvcm1TdHlsZShpZCkgeworICAg
ICAgICByZXR1cm4gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCku
cGFyZW50Tm9kZSkudHJhbnNmb3JtU3R5bGU7CisgICAgfQorCisgICAgZnVuY3Rpb24gZ2V0Qm91
bmRpbmdDbGllbnRXaWR0aChpZCkgeworICAgICAgICByZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoaWQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoOworICAgIH0KKworICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygicGFyZW50Tm9kZVRyYW5zZm9ybVN0eWxlKCd0cmFuc2Zvcm0t
c3R5bGUtcHJlc2VydmUtM2QnKSIsICJwcmVzZXJ2ZS0zZCIpOworICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygicGFyZW50Tm9kZVRyYW5zZm9ybVN0eWxlKCd0cmFuc2Zvcm0tc3R5bGUtZmxhdCcp
IiwgImZsYXQiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBhcmVudE5vZGVUcmFuc2Zv
cm1TdHlsZSgnb3ZlcmZsb3ctaGlkZGVuLXdpdGgtdHJhbnNmb3JtLXN0eWxlLXByZXNlcnZlLTNk
JykiLCAicHJlc2VydmUtM2QiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBhcmVudE5v
ZGVUcmFuc2Zvcm1TdHlsZSgnb3ZlcmZsb3ctaGlkZGVuLXdpdGgtdHJhbnNmb3JtLXN0eWxlLWZs
YXQnKSIsICJmbGF0Iik7CisKKyAgICBzaG91bGROb3RCZSgiZ2V0Qm91bmRpbmdDbGllbnRXaWR0
aCgndHJhbnNmb3JtLXN0eWxlLXByZXNlcnZlLTNkJykiLCAiZ2V0Qm91bmRpbmdDbGllbnRXaWR0
aCgndHJhbnNmb3JtLXN0eWxlLWZsYXQnKSIpOworICAgIHNob3VsZEJlKCJnZXRCb3VuZGluZ0Ns
aWVudFdpZHRoKCdvdmVyZmxvdy1oaWRkZW4td2l0aC10cmFuc2Zvcm0tc3R5bGUtZmxhdCcpIiwg
ImdldEJvdW5kaW5nQ2xpZW50V2lkdGgoJ3RyYW5zZm9ybS1zdHlsZS1mbGF0JykiKTsKKyAgICBz
aG91bGRCZSgiZ2V0Qm91bmRpbmdDbGllbnRXaWR0aCgnb3ZlcmZsb3ctaGlkZGVuLXdpdGgtdHJh
bnNmb3JtLXN0eWxlLXByZXNlcnZlLTNkJykiLCAiZ2V0Qm91bmRpbmdDbGllbnRXaWR0aCgndHJh
bnNmb3JtLXN0eWxlLWZsYXQnKSIpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jc3MzL2JsZW5kaW5nL2JsZW5kLW1vZGUtdHJhbnNmb3JtLXN0eWxlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2NzczMvYmxlbmRpbmcvYmxlbmQtbW9kZS10cmFuc2Zvcm0tc3R5bGUtZXhw
ZWN0ZWQudHh0CmluZGV4IDYwOTI0OGVmMTgzODhmMDMzMTc3ZDlkNzg2MjkzYzRlNjI2Y2FlYjku
LjY2NWFjZGI1MDM1MjBjOTlmODRlNmUyNjVhYzk0OWFiNzU4ZGJjZDYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2NzczMvYmxlbmRpbmcvYmxlbmQtbW9kZS10cmFuc2Zvcm0tc3R5bGUtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2NzczMvYmxlbmRpbmcvYmxlbmQtbW9kZS10cmFuc2Zv
cm0tc3R5bGUtZXhwZWN0ZWQudHh0CkBAIC0xLDkgKzEsMTMgQEAKLVBBU1MgZ2V0VHJhbnNmb3Jt
U3R5bGUoImJsZW5kLW1vZGUtbm9ybWFsLXdpdGgtdHJhbnNmb3JtLXN0eWxlLXByZXNlcnZlLTNk
IikgaXMgInByZXNlcnZlLTNkIgotUEFTUyBnZXRUcmFuc2Zvcm1TdHlsZSgiYmxlbmRpbmctd2l0
aC10cmFuc2Zvcm0tc3R5bGUtcHJlc2VydmUtM2QiKSBpcyAiZmxhdCIKLVBBU1MgZ2V0VHJhbnNm
b3JtU3R5bGUoImJsZW5kaW5nLXdpdGgtdHJhbnNmb3JtLXN0eWxlLWZsYXQiKSBpcyAiZmxhdCIK
K1BBU1MgcGFyZW50Tm9kZVRyYW5zZm9ybVN0eWxlKCd0cmFuc2Zvcm0tc3R5bGUtcHJlc2VydmUt
M2QnKSBpcyAicHJlc2VydmUtM2QiCitQQVNTIHBhcmVudE5vZGVUcmFuc2Zvcm1TdHlsZSgndHJh
bnNmb3JtLXN0eWxlLWZsYXQnKSBpcyAiZmxhdCIKK1BBU1MgcGFyZW50Tm9kZVRyYW5zZm9ybVN0
eWxlKCdibGVuZGluZy13aXRoLXRyYW5zZm9ybS1zdHlsZS1wcmVzZXJ2ZS0zZCcpIGlzICJwcmVz
ZXJ2ZS0zZCIKK1BBU1MgcGFyZW50Tm9kZVRyYW5zZm9ybVN0eWxlKCdibGVuZGluZy13aXRoLXRy
YW5zZm9ybS1zdHlsZS1mbGF0JykgaXMgImZsYXQiCitQQVNTIGdldEJvdW5kaW5nQ2xpZW50V2lk
dGgoJ3RyYW5zZm9ybS1zdHlsZS1wcmVzZXJ2ZS0zZCcpIGlzIG5vdCBnZXRCb3VuZGluZ0NsaWVu
dFdpZHRoKCd0cmFuc2Zvcm0tc3R5bGUtZmxhdCcpCitQQVNTIGdldEJvdW5kaW5nQ2xpZW50V2lk
dGgoJ3RyYW5zZm9ybS1zdHlsZS1mbGF0JykgaXMgZ2V0Qm91bmRpbmdDbGllbnRXaWR0aCgnYmxl
bmRpbmctd2l0aC10cmFuc2Zvcm0tc3R5bGUtZmxhdCcpCitQQVNTIGdldEJvdW5kaW5nQ2xpZW50
V2lkdGgoJ3RyYW5zZm9ybS1zdHlsZS1mbGF0JykgaXMgZ2V0Qm91bmRpbmdDbGllbnRXaWR0aCgn
YmxlbmRpbmctd2l0aC10cmFuc2Zvcm0tc3R5bGUtcHJlc2VydmUtM2QnKQogUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCi1UZXN0IHRoYXQgYW4gZWxlbWVu
dCB3aXRoIG1peC1ibGVuZC1tb2RlIG90aGVyIHRoYW4gbm9ybWFsIGZvcmNlcyB0aGUgY29tcHV0
ZWQgdmFsdWUgb2YgdHJhbnNmb3JtLXN0eWxlIHRvIGZsYXQuCitUZXN0IHRoYXQgYW4gZWxlbWVu
dCB3aXRoIG1peC1ibGVuZC1tb2RlIG90aGVyIHRoYW4gbm9ybWFsIGZvcmNlcyB0aGUgdXNlZCB2
YWx1ZSBvZiB0cmFuc2Zvcm0tc3R5bGUgdG8gZmxhdCwgYnV0IG5vdCB0aGUgY29tcHV0ZWQgdmFs
dWUuLgogCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvYmxlbmRpbmcvYmxlbmQtbW9k
ZS10cmFuc2Zvcm0tc3R5bGUuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvYmxlbmRpbmcvYmxlbmQt
bW9kZS10cmFuc2Zvcm0tc3R5bGUuaHRtbAppbmRleCA0NDEzNzM1YTQyOGUzYmJiMzRjOWU2MWFm
MmJjNDczZTE4NGE3NjJmLi4wMmNhYjJlZmE3MDViODdiZTI1ZTM4YjQxZDNhZDgyOTkwMTQzNjFi
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL2JsZW5kaW5nL2JsZW5kLW1vZGUtdHJhbnNm
b3JtLXN0eWxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9ibGVuZGluZy9ibGVuZC1tb2Rl
LXRyYW5zZm9ybS1zdHlsZS5odG1sCkBAIC0xLDIxICsxLDUxIEBACiA8IURPQ1RZUEUgSFRNTD4K
IDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0icmVzb3VyY2VzL2JsZW5kaW5nLXN0eWxlLmNz
cyI+CiAKLTxwPlRlc3QgdGhhdCBhbiBlbGVtZW50IHdpdGggbWl4LWJsZW5kLW1vZGUgb3RoZXIg
dGhhbiBub3JtYWwgZm9yY2VzIHRoZSBjb21wdXRlZCB2YWx1ZSBvZiB0cmFuc2Zvcm0tc3R5bGUg
dG8gZmxhdC48L3A+Ci08ZGl2IGlkPSJibGVuZC1tb2RlLW5vcm1hbC13aXRoLXRyYW5zZm9ybS1z
dHlsZS1wcmVzZXJ2ZS0zZCIgY2xhc3M9ImJveCIgc3R5bGU9Ii13ZWJraXQtdHJhbnNmb3JtLXN0
eWxlOiBwcmVzZXJ2ZS0zZDsiPjwvZGl2PgotPGRpdiBpZD0iYmxlbmRpbmctd2l0aC10cmFuc2Zv
cm0tc3R5bGUtcHJlc2VydmUtM2QiIGNsYXNzPSJib3ggZGlmZmVyZW5jZSIgc3R5bGU9Ii13ZWJr
aXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsiPjwvZGl2PgotPGRpdiBpZD0iYmxlbmRp
bmctd2l0aC10cmFuc2Zvcm0tc3R5bGUtZmxhdCIgY2xhc3M9ImJveCBkaWZmZXJlbmNlIiBzdHls
ZT0iLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IGZsYXQ7Ij48L2Rpdj4KKzxzdHlsZT4KKyAgLnBh
cmVudCB7CisgICAgdHJhbnNmb3JtOiByb3RhdGVZKDQ1ZGVnKQorICB9CisKKyAgLmNoaWxkIHsK
KyAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoNDVkZWcpOworICAgIGJhY2tncm91bmQ6IGxpZ2h0Ymx1
ZQorICB9Cis8L3N0eWxlPgorCis8cD5UZXN0IHRoYXQgYW4gZWxlbWVudCB3aXRoIG1peC1ibGVu
ZC1tb2RlIG90aGVyIHRoYW4gbm9ybWFsIGZvcmNlcyB0aGUgdXNlZCB2YWx1ZSBvZiB0cmFuc2Zv
cm0tc3R5bGUgdG8gZmxhdCwgYnV0IG5vdCB0aGUgY29tcHV0ZWQgdmFsdWUuLjwvcD4KKworPGRp
diBjbGFzcz0icGFyZW50IGJveCIgc3R5bGU9InRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Qi
PgorICAgIDxkaXYgaWQ9InRyYW5zZm9ybS1zdHlsZS1wcmVzZXJ2ZS0zZCIgY2xhc3M9ImJveCBj
aGlsZCI+PC9kaXY+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0icGFyZW50IGJveCIgc3R5bGU9InRy
YW5zZm9ybS1zdHlsZTogZmxhdCI+CisgICAgPGRpdiBpZD0idHJhbnNmb3JtLXN0eWxlLWZsYXQi
IGNsYXNzPSJib3ggY2hpbGQiPjwvZGl2PgorPC9kaXY+CisKKzxkaXYgY2xhc3M9InBhcmVudCBi
b3ggZGlmZmVyZW5jZSIgc3R5bGU9InRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2QiPgorICAg
IDxkaXYgaWQ9ImJsZW5kaW5nLXdpdGgtdHJhbnNmb3JtLXN0eWxlLXByZXNlcnZlLTNkIiBjbGFz
cz0iYm94IGNoaWxkIj48L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSJwYXJlbnQgYm94IGRp
ZmZlcmVuY2UiIHN0eWxlPSJ0cmFuc2Zvcm0tc3R5bGU6IGZsYXQiPgorICAgIDxkaXYgaWQ9ImJs
ZW5kaW5nLXdpdGgtdHJhbnNmb3JtLXN0eWxlLWZsYXQiIGNsYXNzPSJib3ggY2hpbGQiPjwvZGl2
PgorPC9kaXY+CisKIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0PgotICAgIGZ1bmN0aW9uIGdldFRyYW5zZm9ybVN0eWxlKGVsZW1lbnRJ
RCkgewotICAgICAgICByZXR1cm4gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50
QnlJZChlbGVtZW50SUQpKS53ZWJraXRUcmFuc2Zvcm1TdHlsZTsKKyAgICBmdW5jdGlvbiBwYXJl
bnROb2RlVHJhbnNmb3JtU3R5bGUoaWQpIHsKKyAgICAgICAgcmV0dXJuIGdldENvbXB1dGVkU3R5
bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpLnBhcmVudE5vZGUpLnRyYW5zZm9ybVN0eWxl
OwogICAgIH0KIAotICAgIGZ1bmN0aW9uIHRlc3QoaWQsIGV4cGVjdGVkKSB7Ci0gICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VHJhbnNmb3JtU3R5bGUoIicgKyBpZCArICciKScsIGV4
cGVjdGVkKTsKKyAgICBmdW5jdGlvbiBnZXRCb3VuZGluZ0NsaWVudFdpZHRoKGlkKSB7CisgICAg
ICAgIHJldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCkuZ2V0Qm91bmRpbmdDbGllbnRS
ZWN0KCkud2lkdGg7CiAgICAgfQogCi0gICAgdGVzdCgiYmxlbmQtbW9kZS1ub3JtYWwtd2l0aC10
cmFuc2Zvcm0tc3R5bGUtcHJlc2VydmUtM2QiLCAicHJlc2VydmUtM2QiKTsKLSAgICB0ZXN0KCJi
bGVuZGluZy13aXRoLXRyYW5zZm9ybS1zdHlsZS1wcmVzZXJ2ZS0zZCIsICJmbGF0Iik7Ci0gICAg
dGVzdCgiYmxlbmRpbmctd2l0aC10cmFuc2Zvcm0tc3R5bGUtZmxhdCIsICJmbGF0Iik7CisgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJwYXJlbnROb2RlVHJhbnNmb3JtU3R5bGUoJ3RyYW5zZm9y
bS1zdHlsZS1wcmVzZXJ2ZS0zZCcpIiwgInByZXNlcnZlLTNkIik7CisgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJwYXJlbnROb2RlVHJhbnNmb3JtU3R5bGUoJ3RyYW5zZm9ybS1zdHlsZS1mbGF0
JykiLCAiZmxhdCIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicGFyZW50Tm9kZVRyYW5z
Zm9ybVN0eWxlKCdibGVuZGluZy13aXRoLXRyYW5zZm9ybS1zdHlsZS1wcmVzZXJ2ZS0zZCcpIiwg
InByZXNlcnZlLTNkIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJwYXJlbnROb2RlVHJh
bnNmb3JtU3R5bGUoJ2JsZW5kaW5nLXdpdGgtdHJhbnNmb3JtLXN0eWxlLWZsYXQnKSIsICJmbGF0
Iik7CisKKyAgICBzaG91bGROb3RCZSgiZ2V0Qm91bmRpbmdDbGllbnRXaWR0aCgndHJhbnNmb3Jt
LXN0eWxlLXByZXNlcnZlLTNkJykiLCAiZ2V0Qm91bmRpbmdDbGllbnRXaWR0aCgndHJhbnNmb3Jt
LXN0eWxlLWZsYXQnKSIpOworICAgIHNob3VsZEJlKCJnZXRCb3VuZGluZ0NsaWVudFdpZHRoKCd0
cmFuc2Zvcm0tc3R5bGUtZmxhdCcpIiwgImdldEJvdW5kaW5nQ2xpZW50V2lkdGgoJ2JsZW5kaW5n
LXdpdGgtdHJhbnNmb3JtLXN0eWxlLWZsYXQnKSIpOworICAgIHNob3VsZEJlKCJnZXRCb3VuZGlu
Z0NsaWVudFdpZHRoKCd0cmFuc2Zvcm0tc3R5bGUtZmxhdCcpIiwgImdldEJvdW5kaW5nQ2xpZW50
V2lkdGgoJ2JsZW5kaW5nLXdpdGgtdHJhbnNmb3JtLXN0eWxlLXByZXNlcnZlLTNkJykiKTsKIDwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLXRyYW5zZm9ybXMvcHJlc2VydmUtM2QtZmxhdC1ncm91cGluZy1wcm9w
ZXJ0aWVzLWNvbnRhaW5pbmctYmxvY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRyYW5zZm9ybXMvcHJlc2VydmUtM2Qt
ZmxhdC1ncm91cGluZy1wcm9wZXJ0aWVzLWNvbnRhaW5pbmctYmxvY2stZXhwZWN0ZWQudHh0Cmlu
ZGV4IDgyM2VlYWVmNzBmYTIzYTlmOTczYzk1YzJhN2YwMjBjZDM5NzlhN2QuLjFjMWJjMDMyMmI4
YzRiODlhOWNjYmJhOGQyZTllYzViOWJjZmRlYmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10cmFuc2Zvcm1zL3ByZXNlcnZl
LTNkLWZsYXQtZ3JvdXBpbmctcHJvcGVydGllcy1jb250YWluaW5nLWJsb2NrLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtdHJhbnNmb3Jtcy9wcmVzZXJ2ZS0zZC1mbGF0LWdyb3VwaW5nLXByb3BlcnRpZXMtY29udGFp
bmluZy1ibG9jay1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgUHJlc2VydmUt
M2QgZWxlbWVudCB3aXRoIGEgZ3JvdXBpbmcgcHJvcGVydHkgc3RpbGwgYSBjb250YWluaW5nIGJs
b2NrIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8ZGl2IGlkPSJwYXJlbnRX
aXRoR3JvdXBpbmciIHN0eWxlPSJ0cmFuc2Zvcm0tc3R5bGU6IHByZXMuLi4gYnV0IGdvdCBFbGVt
ZW50IG5vZGUgPGJvZHk+PGRpdiBpZD0icGFyZW50V2l0aEdyb3VwaW5nIiBzdHlsZT0idHJhbnNm
b3JtLXN0eWxlLi4uCitQQVNTIFByZXNlcnZlLTNkIGVsZW1lbnQgd2l0aCBhIGdyb3VwaW5nIHBy
b3BlcnR5IHN0aWxsIGEgY29udGFpbmluZyBibG9jawogUEFTUyBQcmVzZXJ2ZS0zZCBlbGVtZW50
IHdpdGhvdXQgYSBncm91cGluZyBwcm9wZXJ0eSBzdGlsbCBhIGNvbnRhaW5pbmcgYmxvY2sKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>