<?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>250744</bug_id>
          
          <creation_ts>2023-01-17 17:43:33 -0800</creation_ts>
          <short_desc>REGRESSION(258986@main): lots of ASSERTION FAILED: PlatformCAAnimation::isValidKeyPath(keyPath) with UI-side compositing</short_desc>
          <delta_ts>2023-01-17 17:52:24 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>250510</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>graouts</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1926163</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2023-01-17 17:43:33 -0800</bug_when>
    <thetext>https://commits.webkit.org/258986@main introduced a regression:
lots of ASSERTION FAILED: PlatformCAAnimation::isValidKeyPath(keyPath) with UI-side compositing

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1926165</commentid>
    <comment_count>1</comment_count>
      <attachid>464531</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2023-01-17 17:43:38 -0800</bug_when>
    <thetext>Created attachment 464531
REVERT of 258986@main

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the revert will be successful.  This process takes approximately 15 minutes.

If you would like to land the revert faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1926168</commentid>
    <comment_count>2</comment_count>
      <attachid>464531</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2023-01-17 17:47:53 -0800</bug_when>
    <thetext>Comment on attachment 464531
REVERT of 258986@main

Crashes here: https://build.webkit.org/results/Apple-Ventura-Debug-WK2-GPUProcess-Tests/259006@main%20(938)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1926175</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2023-01-17 17:51:52 -0800</bug_when>
    <thetext>Committed 259013@main (724778ca212b): &lt;https://commits.webkit.org/259013@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 464531.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1926176</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2023-01-17 17:52:24 -0800</bug_when>
    <thetext>&lt;rdar://problem/104359461&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>464531</attachid>
            <date>2023-01-17 17:43:38 -0800</date>
            <delta_ts>2023-01-17 17:51:53 -0800</delta_ts>
            <desc>REVERT of 258986@main</desc>
            <filename>bug-250744-20230117174338.patch</filename>
            <type>text/plain</type>
            <size>33234</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">RnJvbSBkOTA0YWMwMmU1NjZjYThiYjEzYjJjMGRjY2RlZTg5M2NlZDlhMGIzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDb21taXQgUXVldWUgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgpEYXRlOiBUdWUsIDE3IEphbiAyMDIzIDE3OjQzOjM2IC0wODAwClN1YmplY3Q6IFtQQVRDSF0g
VW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNTg5ODZAbWFpbi4KIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yNTA3NDQKCmxvdHMgb2YgQVNTRVJUSU9OIEZBSUxFRDogUGxh
dGZvcm1DQUFuaW1hdGlvbjo6aXNWYWxpZEtleVBhdGgoa2V5UGF0aCkgd2l0aCBVSS1zaWRlIGNv
bXBvc2l0aW5nCgpSZXZlcnRlZCBjaGFuZ2VzZXQ6CgoiVmFsaWRhdGUgYW5pbWF0aW9uIGtleSBw
YXRocyBzZW50IG92ZXIgSVBDIgpodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjUwNTEwCmh0dHBzOi8vY29tbWl0cy53ZWJraXQub3JnLzI1ODk4NkBtYWluCi0tLQogLi4u
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAgIHwgNDQgKysrKysrKyst
LQogLi4uL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FBbmltYXRpb24uY3BwICAgICAgIHwgNzIgLS0t
LS0tLS0tLS0tLS0tCiAuLi4vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUFuaW1hdGlvbi5oICAgICAg
ICAgfCAgNSAtLQogLi4uL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FGaWx0ZXJzLmgg
IHwgIDMgKy0KIC4uLi9jYS9jb2NvYS9QbGF0Zm9ybUNBRmlsdGVyc0NvY29hLm1tICAgICAgICB8
IDUwICsrKystLS0tLS0tCiAuLi4vUGxhdGZvcm1DQUFuaW1hdGlvblJlbW90ZS5tbSAgICAgICAg
ICAgICAgfCAgNiAtLQogLi4uL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiAgIHwgMTIgKy0tCiAuLi4vV2ViQ29yZS9QbGF0Zm9ybUNBQW5pbWF0aW9uS2V5UGF0aC5jcHAg
ICAgfCA4OCAtLS0tLS0tLS0tLS0tLS0tLS0tCiA4IGZpbGVzIGNoYW5nZWQsIDU3IGluc2VydGlv
bnMoKyksIDIyMyBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBUb29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYkNvcmUvUGxhdGZvcm1DQUFuaW1hdGlvbktleVBhdGguY3BwCgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXll
ckNBLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5
ZXJDQS5jcHAKaW5kZXggM2JjNTdmYWQ1ZWU4Li5hZGEwNmExMDkzOWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNw
cApAQCAtMjU1LDYgKzI1NSwzMSBAQCBzdGF0aWMgUGxhdGZvcm1DQUFuaW1hdGlvbjo6VmFsdWVG
dW5jdGlvblR5cGUgZ2V0VmFsdWVGdW5jdGlvbk5hbWVGb3JUcmFuc2Zvcm1PcAogICAgIH0KIH0K
IAorc3RhdGljIEFTQ0lJTGl0ZXJhbCBwcm9wZXJ0eUlkVG9TdHJpbmcoQW5pbWF0ZWRQcm9wZXJ0
eSBwcm9wZXJ0eSkKK3sKKyAgICBzd2l0Y2ggKHByb3BlcnR5KSB7CisgICAgY2FzZSBBbmltYXRl
ZFByb3BlcnR5OjpUcmFuc2xhdGU6CisgICAgY2FzZSBBbmltYXRlZFByb3BlcnR5OjpTY2FsZToK
KyAgICBjYXNlIEFuaW1hdGVkUHJvcGVydHk6OlJvdGF0ZToKKyAgICBjYXNlIEFuaW1hdGVkUHJv
cGVydHk6OlRyYW5zZm9ybToKKyAgICAgICAgcmV0dXJuICJ0cmFuc2Zvcm0iX3M7CisgICAgY2Fz
ZSBBbmltYXRlZFByb3BlcnR5OjpPcGFjaXR5OgorICAgICAgICByZXR1cm4gIm9wYWNpdHkiX3M7
CisgICAgY2FzZSBBbmltYXRlZFByb3BlcnR5OjpCYWNrZ3JvdW5kQ29sb3I6CisgICAgICAgIHJl
dHVybiAiYmFja2dyb3VuZENvbG9yIl9zOworICAgIGNhc2UgQW5pbWF0ZWRQcm9wZXJ0eTo6Rmls
dGVyOgorICAgICAgICByZXR1cm4gImZpbHRlcnMiX3M7CisjaWYgRU5BQkxFKEZJTFRFUlNfTEVW
RUxfMikKKyAgICBjYXNlIEFuaW1hdGVkUHJvcGVydHk6OldlYmtpdEJhY2tkcm9wRmlsdGVyOgor
ICAgICAgICByZXR1cm4gImJhY2tkcm9wRmlsdGVycyJfczsKKyNlbmRpZgorICAgIGNhc2UgQW5p
bWF0ZWRQcm9wZXJ0eTo6SW52YWxpZDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiB7IH07Cit9CisKIHN0
YXRpYyBib29sIGFuaW1hdGVkUHJvcGVydHlJc1RyYW5zZm9ybU9yUmVsYXRlZChBbmltYXRlZFBy
b3BlcnR5IHByb3BlcnR5KQogewogICAgIHJldHVybiBwcm9wZXJ0eSA9PSBBbmltYXRlZFByb3Bl
cnR5OjpUcmFuc2Zvcm0gfHwgcHJvcGVydHkgPT0gQW5pbWF0ZWRQcm9wZXJ0eTo6VHJhbnNsYXRl
IHx8IHByb3BlcnR5ID09IEFuaW1hdGVkUHJvcGVydHk6OlNjYWxlIHx8IHByb3BlcnR5ID09IEFu
aW1hdGVkUHJvcGVydHk6OlJvdGF0ZTsKQEAgLTMxMTgsNyArMzE0Myw3IEBAIHZvaWQgR3JhcGhp
Y3NMYXllckNBOjp1cGRhdGVBbmltYXRpb25zKCkKICAgICAgICAgLy8gQSBiYXNlIHZhbHVlIHRy
YW5zZm9ybSBhbmltYXRpb24gbmVlZHMgdG8gbGFzdCBmb3JldmVyIGFuZCB1c2UgdGhlIHNhbWUg
dmFsdWUgZm9yIGl0cyBmcm9tIGFuZCB0byB2YWx1ZXMsCiAgICAgICAgIC8vIHVubGVzcyB3ZSdy
ZSBqdXN0IGZpbGxpbmcgdW50aWwgYW4gYW5pbWF0aW9uIGZvciB0aGlzIHByb3BlcnR5IHN0YXJ0
cywgaW4gd2hpY2ggY2FzZSBpdCBtdXN0IGxhc3QgZm9yIGR1cmF0aW9uCiAgICAgICAgIC8vIG9m
IHRoZSBkZWxheSB1bnRpbCB0aGF0IGFuaW1hdGlvbi4KLSAgICAgICAgYXV0byBjYUFuaW1hdGlv
biA9IGNyZWF0ZVBsYXRmb3JtQ0FBbmltYXRpb24oUGxhdGZvcm1DQUFuaW1hdGlvbjo6QmFzaWMs
IFBsYXRmb3JtQ0FBbmltYXRpb246Om1ha2VLZXlQYXRoKHByb3BlcnR5KSk7CisgICAgICAgIGF1
dG8gY2FBbmltYXRpb24gPSBjcmVhdGVQbGF0Zm9ybUNBQW5pbWF0aW9uKFBsYXRmb3JtQ0FBbmlt
YXRpb246OkJhc2ljLCBwcm9wZXJ0eUlkVG9TdHJpbmcocHJvcGVydHkpKTsKICAgICAgICAgY2FB
bmltYXRpb24tPnNldER1cmF0aW9uKGRlbGF5ID8gZGVsYXkuc2Vjb25kcygpIDogaW5maW5pdGVE
dXJhdGlvbik7CiAgICAgICAgIGNhQW5pbWF0aW9uLT5zZXRGcm9tVmFsdWUobWF0cml4KTsKICAg
ICAgICAgY2FBbmltYXRpb24tPnNldFRvVmFsdWUobWF0cml4KTsKQEAgLTM0MDYsMTMgKzM0MzEs
MTMgQEAgYm9vbCBHcmFwaGljc0xheWVyQ0E6OmNyZWF0ZUFuaW1hdGlvbkZyb21LZXlmcmFtZXMo
Y29uc3QgS2V5ZnJhbWVWYWx1ZUxpc3QmIHZhbHUKICAgICBSZWZQdHI8UGxhdGZvcm1DQUFuaW1h
dGlvbj4gY2FBbmltYXRpb247CiAKICAgICBpZiAoaXNLZXlmcmFtZSh2YWx1ZUxpc3QpKSB7Ci0g
ICAgICAgIGNhQW5pbWF0aW9uID0gY3JlYXRlS2V5ZnJhbWVBbmltYXRpb24oYW5pbWF0aW9uLCBQ
bGF0Zm9ybUNBQW5pbWF0aW9uOjptYWtlS2V5UGF0aCh2YWx1ZUxpc3QucHJvcGVydHkoKSksIGFk
ZGl0aXZlLCBrZXlmcmFtZXNTaG91bGRVc2VBbmltYXRpb25XaWRlVGltaW5nRnVuY3Rpb24pOwor
ICAgICAgICBjYUFuaW1hdGlvbiA9IGNyZWF0ZUtleWZyYW1lQW5pbWF0aW9uKGFuaW1hdGlvbiwg
cHJvcGVydHlJZFRvU3RyaW5nKHZhbHVlTGlzdC5wcm9wZXJ0eSgpKSwgYWRkaXRpdmUsIGtleWZy
YW1lc1Nob3VsZFVzZUFuaW1hdGlvbldpZGVUaW1pbmdGdW5jdGlvbik7CiAgICAgICAgIHZhbHVl
c09LID0gc2V0QW5pbWF0aW9uS2V5ZnJhbWVzKHZhbHVlTGlzdCwgYW5pbWF0aW9uLCBjYUFuaW1h
dGlvbi5nZXQoKSwga2V5ZnJhbWVzU2hvdWxkVXNlQW5pbWF0aW9uV2lkZVRpbWluZ0Z1bmN0aW9u
KTsKICAgICB9IGVsc2UgewogICAgICAgICBpZiAoYW5pbWF0aW9uLT50aW1pbmdGdW5jdGlvbigp
LT5pc1NwcmluZ1RpbWluZ0Z1bmN0aW9uKCkpCi0gICAgICAgICAgICBjYUFuaW1hdGlvbiA9IGNy
ZWF0ZVNwcmluZ0FuaW1hdGlvbihhbmltYXRpb24sIFBsYXRmb3JtQ0FBbmltYXRpb246Om1ha2VL
ZXlQYXRoKHZhbHVlTGlzdC5wcm9wZXJ0eSgpKSwgYWRkaXRpdmUsIGtleWZyYW1lc1Nob3VsZFVz
ZUFuaW1hdGlvbldpZGVUaW1pbmdGdW5jdGlvbik7CisgICAgICAgICAgICBjYUFuaW1hdGlvbiA9
IGNyZWF0ZVNwcmluZ0FuaW1hdGlvbihhbmltYXRpb24sIHByb3BlcnR5SWRUb1N0cmluZyh2YWx1
ZUxpc3QucHJvcGVydHkoKSksIGFkZGl0aXZlLCBrZXlmcmFtZXNTaG91bGRVc2VBbmltYXRpb25X
aWRlVGltaW5nRnVuY3Rpb24pOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBjYUFuaW1hdGlv
biA9IGNyZWF0ZUJhc2ljQW5pbWF0aW9uKGFuaW1hdGlvbiwgUGxhdGZvcm1DQUFuaW1hdGlvbjo6
bWFrZUtleVBhdGgodmFsdWVMaXN0LnByb3BlcnR5KCkpLCBhZGRpdGl2ZSwga2V5ZnJhbWVzU2hv
dWxkVXNlQW5pbWF0aW9uV2lkZVRpbWluZ0Z1bmN0aW9uKTsKKyAgICAgICAgICAgIGNhQW5pbWF0
aW9uID0gY3JlYXRlQmFzaWNBbmltYXRpb24oYW5pbWF0aW9uLCBwcm9wZXJ0eUlkVG9TdHJpbmco
dmFsdWVMaXN0LnByb3BlcnR5KCkpLCBhZGRpdGl2ZSwga2V5ZnJhbWVzU2hvdWxkVXNlQW5pbWF0
aW9uV2lkZVRpbWluZ0Z1bmN0aW9uKTsKICAgICAgICAgdmFsdWVzT0sgPSBzZXRBbmltYXRpb25F
bmRwb2ludHModmFsdWVMaXN0LCBhbmltYXRpb24sIGNhQW5pbWF0aW9uLmdldCgpKTsKICAgICB9
CiAKQEAgLTM0MjksMTMgKzM0NTQsMTMgQEAgYm9vbCBHcmFwaGljc0xheWVyQ0E6OmFwcGVuZFRv
VW5jb21taXR0ZWRBbmltYXRpb25zKGNvbnN0IEtleWZyYW1lVmFsdWVMaXN0JiB2YWwKICAgICBS
ZWZQdHI8UGxhdGZvcm1DQUFuaW1hdGlvbj4gY2FBbmltYXRpb247CiAgICAgYm9vbCB2YWxpZE1h
dHJpY2VzID0gdHJ1ZTsKICAgICBpZiAoaXNLZXlmcmFtZSh2YWx1ZUxpc3QpKSB7Ci0gICAgICAg
IGNhQW5pbWF0aW9uID0gY3JlYXRlS2V5ZnJhbWVBbmltYXRpb24oYW5pbWF0aW9uLCBQbGF0Zm9y
bUNBQW5pbWF0aW9uOjptYWtlS2V5UGF0aCh2YWx1ZUxpc3QucHJvcGVydHkoKSksIGZhbHNlLCBr
ZXlmcmFtZXNTaG91bGRVc2VBbmltYXRpb25XaWRlVGltaW5nRnVuY3Rpb24pOworICAgICAgICBj
YUFuaW1hdGlvbiA9IGNyZWF0ZUtleWZyYW1lQW5pbWF0aW9uKGFuaW1hdGlvbiwgcHJvcGVydHlJ
ZFRvU3RyaW5nKHZhbHVlTGlzdC5wcm9wZXJ0eSgpKSwgZmFsc2UsIGtleWZyYW1lc1Nob3VsZFVz
ZUFuaW1hdGlvbldpZGVUaW1pbmdGdW5jdGlvbik7CiAgICAgICAgIHZhbGlkTWF0cmljZXMgPSBz
ZXRUcmFuc2Zvcm1BbmltYXRpb25LZXlmcmFtZXModmFsdWVMaXN0LCBhbmltYXRpb24sIGNhQW5p
bWF0aW9uLmdldCgpLCBhbmltYXRpb25JbmRleCwgb3BlcmF0aW9uVHlwZSwgaXNNYXRyaXhBbmlt
YXRpb24sIGJveFNpemUsIGtleWZyYW1lc1Nob3VsZFVzZUFuaW1hdGlvbldpZGVUaW1pbmdGdW5j
dGlvbik7CiAgICAgfSBlbHNlIHsKICAgICAgICAgaWYgKGFuaW1hdGlvbi0+dGltaW5nRnVuY3Rp
b24oKS0+aXNTcHJpbmdUaW1pbmdGdW5jdGlvbigpKQotICAgICAgICAgICAgY2FBbmltYXRpb24g
PSBjcmVhdGVTcHJpbmdBbmltYXRpb24oYW5pbWF0aW9uLCBQbGF0Zm9ybUNBQW5pbWF0aW9uOjpt
YWtlS2V5UGF0aCh2YWx1ZUxpc3QucHJvcGVydHkoKSksIGZhbHNlLCBrZXlmcmFtZXNTaG91bGRV
c2VBbmltYXRpb25XaWRlVGltaW5nRnVuY3Rpb24pOworICAgICAgICAgICAgY2FBbmltYXRpb24g
PSBjcmVhdGVTcHJpbmdBbmltYXRpb24oYW5pbWF0aW9uLCBwcm9wZXJ0eUlkVG9TdHJpbmcodmFs
dWVMaXN0LnByb3BlcnR5KCkpLCBmYWxzZSwga2V5ZnJhbWVzU2hvdWxkVXNlQW5pbWF0aW9uV2lk
ZVRpbWluZ0Z1bmN0aW9uKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgY2FBbmltYXRpb24g
PSBjcmVhdGVCYXNpY0FuaW1hdGlvbihhbmltYXRpb24sIFBsYXRmb3JtQ0FBbmltYXRpb246Om1h
a2VLZXlQYXRoKHZhbHVlTGlzdC5wcm9wZXJ0eSgpKSwgZmFsc2UsIGtleWZyYW1lc1Nob3VsZFVz
ZUFuaW1hdGlvbldpZGVUaW1pbmdGdW5jdGlvbik7CisgICAgICAgICAgICBjYUFuaW1hdGlvbiA9
IGNyZWF0ZUJhc2ljQW5pbWF0aW9uKGFuaW1hdGlvbiwgcHJvcGVydHlJZFRvU3RyaW5nKHZhbHVl
TGlzdC5wcm9wZXJ0eSgpKSwgZmFsc2UsIGtleWZyYW1lc1Nob3VsZFVzZUFuaW1hdGlvbldpZGVU
aW1pbmdGdW5jdGlvbik7CiAgICAgICAgIHZhbGlkTWF0cmljZXMgPSBzZXRUcmFuc2Zvcm1Bbmlt
YXRpb25FbmRwb2ludHModmFsdWVMaXN0LCBhbmltYXRpb24sIGNhQW5pbWF0aW9uLmdldCgpLCBh
bmltYXRpb25JbmRleCwgb3BlcmF0aW9uVHlwZSwgaXNNYXRyaXhBbmltYXRpb24sIGJveFNpemUp
OwogICAgIH0KICAgICAKQEAgLTM1MjIsOSArMzU0NywxMiBAQCBib29sIEdyYXBoaWNzTGF5ZXJD
QTo6YXBwZW5kVG9VbmNvbW1pdHRlZEFuaW1hdGlvbnMoY29uc3QgS2V5ZnJhbWVWYWx1ZUxpc3Qm
IHZhbAogICAgIGlmICghUGxhdGZvcm1DQUZpbHRlcnM6OmlzQW5pbWF0ZWRGaWx0ZXJQcm9wZXJ0
eShmaWx0ZXJPcCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCisgICAgLy8gVGhlIGtleVBhdGgg
aXMgYWx3YXlzIG9mIHRoZSBmb3JtOgorICAgIC8vCisgICAgLy8gICAgICBmaWx0ZXIuZmlsdGVy
XzxhbmltYXRpb25JbmRleD4uPGZpbHRlclByb3BlcnR5TmFtZT4KICAgICBib29sIHZhbHVlc09L
OwogICAgIFJlZlB0cjxQbGF0Zm9ybUNBQW5pbWF0aW9uPiBjYUFuaW1hdGlvbjsKLSAgICBhdXRv
IGtleVBhdGggPSBQbGF0Zm9ybUNBQW5pbWF0aW9uOjptYWtlS2V5UGF0aChBbmltYXRlZFByb3Bl
cnR5OjpGaWx0ZXIsIGZpbHRlck9wLCBhbmltYXRpb25JbmRleCk7CisgICAgYXV0byBrZXlQYXRo
ID0gbWFrZVN0cmluZygiZmlsdGVycy5maWx0ZXJfIiwgYW5pbWF0aW9uSW5kZXgsICcuJywgUGxh
dGZvcm1DQUZpbHRlcnM6OmFuaW1hdGVkRmlsdGVyUHJvcGVydHlOYW1lKGZpbHRlck9wKSk7CiAK
ICAgICBpZiAoaXNLZXlmcmFtZSh2YWx1ZUxpc3QpKSB7CiAgICAgICAgIGNhQW5pbWF0aW9uID0g
Y3JlYXRlS2V5ZnJhbWVBbmltYXRpb24oYW5pbWF0aW9uLCBrZXlQYXRoLCBmYWxzZSwga2V5ZnJh
bWVzU2hvdWxkVXNlQW5pbWF0aW9uV2lkZVRpbWluZ0Z1bmN0aW9uKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FBbmltYXRpb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUFuaW1hdGlv
bi5jcHAKaW5kZXggNjRiYjFkMGM1MTBkLi45MDUxZTc5OGRlZDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FBbmltYXRpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FBbmltYXRp
b24uY3BwCkBAIC0yNiw3ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
UGxhdGZvcm1DQUFuaW1hdGlvbi5oIgogCi0jaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nVG9JbnRl
Z2VyQ29udmVyc2lvbi5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRTdHJlYW0uaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewpAQCAtNzcsNzUgKzc2LDQgQEAgYm9vbCBQbGF0Zm9ybUNBQW5pbWF0
aW9uOjppc0Jhc2ljQW5pbWF0aW9uKCkgY29uc3QKICAgICByZXR1cm4gYW5pbWF0aW9uVHlwZSgp
ID09IEJhc2ljIHx8IGFuaW1hdGlvblR5cGUoKSA9PSBTcHJpbmc7CiB9CiAKLXN0YXRpYyBjb25z
dGV4cHIgYXV0byB0cmFuc2Zvcm1LZXlQYXRoID0gInRyYW5zZm9ybSJfczsKLXN0YXRpYyBjb25z
dGV4cHIgYXV0byBvcGFjaXR5S2V5UGF0aCA9ICJvcGFjaXR5Il9zOwotc3RhdGljIGNvbnN0ZXhw
ciBhdXRvIGJhY2tncm91bmRDb2xvcktleVBhdGggPSAiYmFja2dyb3VuZENvbG9yIl9zOwotc3Rh
dGljIGNvbnN0ZXhwciBhdXRvIGZpbHRlcktleVBhdGhQcmVmaXggPSAiZmlsdGVycy5maWx0ZXJf
Il9zOwotI2lmIEVOQUJMRShGSUxURVJTX0xFVkVMXzIpCi1zdGF0aWMgY29uc3RleHByIGF1dG8g
YmFja2Ryb3BGaWx0ZXJzS2V5UGF0aCA9ICJiYWNrZHJvcEZpbHRlcnMiX3M7Ci0jZW5kaWYKLQot
U3RyaW5nIFBsYXRmb3JtQ0FBbmltYXRpb246Om1ha2VLZXlQYXRoKEFuaW1hdGVkUHJvcGVydHkg
YW5pbWF0ZWRQcm9wZXJ0eSwgRmlsdGVyT3BlcmF0aW9uOjpUeXBlIGZpbHRlck9wZXJhdGlvblR5
cGUsIGludCBpbmRleCkKLXsKLSAgICBzd2l0Y2ggKGFuaW1hdGVkUHJvcGVydHkpIHsKLSAgICBj
YXNlIEFuaW1hdGVkUHJvcGVydHk6OlRyYW5zbGF0ZToKLSAgICBjYXNlIEFuaW1hdGVkUHJvcGVy
dHk6OlNjYWxlOgotICAgIGNhc2UgQW5pbWF0ZWRQcm9wZXJ0eTo6Um90YXRlOgotICAgIGNhc2Ug
QW5pbWF0ZWRQcm9wZXJ0eTo6VHJhbnNmb3JtOgotICAgICAgICByZXR1cm4gdHJhbnNmb3JtS2V5
UGF0aDsKLSAgICBjYXNlIEFuaW1hdGVkUHJvcGVydHk6Ok9wYWNpdHk6Ci0gICAgICAgIHJldHVy
biBvcGFjaXR5S2V5UGF0aDsKLSAgICBjYXNlIEFuaW1hdGVkUHJvcGVydHk6OkJhY2tncm91bmRD
b2xvcjoKLSAgICAgICAgcmV0dXJuIGJhY2tncm91bmRDb2xvcktleVBhdGg7Ci0gICAgY2FzZSBB
bmltYXRlZFByb3BlcnR5OjpGaWx0ZXI6Ci0gICAgICAgIHJldHVybiBtYWtlU3RyaW5nKGZpbHRl
cktleVBhdGhQcmVmaXgsIGluZGV4LCAiLiIsIFBsYXRmb3JtQ0FGaWx0ZXJzOjphbmltYXRlZEZp
bHRlclByb3BlcnR5TmFtZShmaWx0ZXJPcGVyYXRpb25UeXBlKSk7Ci0jaWYgRU5BQkxFKEZJTFRF
UlNfTEVWRUxfMikKLSAgICBjYXNlIEFuaW1hdGVkUHJvcGVydHk6OldlYmtpdEJhY2tkcm9wRmls
dGVyOgotICAgICAgICByZXR1cm4gYmFja2Ryb3BGaWx0ZXJzS2V5UGF0aDsKLSNlbmRpZgotICAg
IGNhc2UgQW5pbWF0ZWRQcm9wZXJ0eTo6SW52YWxpZDoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotICAgIH0KLSAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLX0KLQotc3RhdGljIGJv
b2wgaXNWYWxpZEZpbHRlcktleVBhdGgoY29uc3QgU3RyaW5nJiBrZXlQYXRoKQotewotICAgIGlm
ICgha2V5UGF0aC5zdGFydHNXaXRoKGZpbHRlcktleVBhdGhQcmVmaXgpKQotICAgICAgICByZXR1
cm4gZmFsc2U7Ci0KLSAgICBzaXplX3QgdW5kZXJzY29yZUluZGV4ID0gZmlsdGVyS2V5UGF0aFBy
ZWZpeC5sZW5ndGgoKTsKLSAgICBhdXRvIGRvdEluZGV4ID0ga2V5UGF0aC5maW5kKCcuJywgdW5k
ZXJzY29yZUluZGV4KTsKLSAgICBpZiAoZG90SW5kZXggPT0gbm90Rm91bmQgfHwgZG90SW5kZXgg
PD0gdW5kZXJzY29yZUluZGV4KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBhdXRvIGlu
ZGV4U3RyaW5nID0ga2V5UGF0aC5zdWJzdHJpbmcodW5kZXJzY29yZUluZGV4LCBkb3RJbmRleCAt
IHVuZGVyc2NvcmVJbmRleCk7Ci0gICAgYXV0byBwYXJzZWRJbmRleCA9IHBhcnNlSW50ZWdlcjx1
bnNpZ25lZD4oaW5kZXhTdHJpbmcpOwotICAgIGlmICghcGFyc2VkSW5kZXgpCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKLQotICAgIGF1dG8gZmlsdGVyT3BlcmF0aW9uVHlwZVN0cmluZyA9IGtleVBh
dGguc3Vic3RyaW5nKGRvdEluZGV4ICsgMSk7Ci0gICAgcmV0dXJuIFBsYXRmb3JtQ0FGaWx0ZXJz
Ojppc1ZhbGlkQW5pbWF0ZWRGaWx0ZXJQcm9wZXJ0eU5hbWUoZmlsdGVyT3BlcmF0aW9uVHlwZVN0
cmluZyk7Ci19Ci0KLWJvb2wgUGxhdGZvcm1DQUFuaW1hdGlvbjo6aXNWYWxpZEtleVBhdGgoY29u
c3QgU3RyaW5nJiBrZXlQYXRoKQotewotICAgIGlmIChrZXlQYXRoID09IHRyYW5zZm9ybUtleVBh
dGgKLSAgICAgICAgfHwga2V5UGF0aCA9PSBvcGFjaXR5S2V5UGF0aAotICAgICAgICB8fCBrZXlQ
YXRoID09IGJhY2tncm91bmRDb2xvcktleVBhdGgpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0j
aWYgRU5BQkxFKEZJTFRFUlNfTEVWRUxfMikKLSAgICBpZiAoa2V5UGF0aCA9PSBiYWNrZHJvcEZp
bHRlcnNLZXlQYXRoKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLSNlbmRpZgotCi0gICAgaWYgKGlz
VmFsaWRGaWx0ZXJLZXlQYXRoKGtleVBhdGgpKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAg
IHJldHVybiBmYWxzZTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUFuaW1hdGlvbi5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUFuaW1hdGlv
bi5oCmluZGV4IGM2NGFiYWFmZDdiYi4uNWFhY2FmNDA5NTQyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBQW5pbWF0aW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUFuaW1hdGlvbi5o
CkBAIC0yOCw4ICsyOCw2IEBACiAjaW5jbHVkZSAiQ29sb3IuaCIKICNpbmNsdWRlICJGaWx0ZXJP
cGVyYXRpb24uaCIKICNpbmNsdWRlICJGbG9hdFBvaW50M0QuaCIKLSNpbmNsdWRlICJHcmFwaGlj
c0xheWVyQ2xpZW50LmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1DQUZpbHRlcnMuaCIKICNpbmNsdWRl
ICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgogI2luY2x1ZGUgPHd0Zi9FbnVtVHJhaXRzLmg+CiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KQEAgLTEzMyw5ICsxMzEsNiBAQCBwdWJsaWM6CiAKICAg
ICBib29sIGlzQmFzaWNBbmltYXRpb24oKSBjb25zdDsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHN0
YXRpYyBTdHJpbmcgbWFrZUtleVBhdGgoQW5pbWF0ZWRQcm9wZXJ0eSwgRmlsdGVyT3BlcmF0aW9u
OjpUeXBlID0gRmlsdGVyT3BlcmF0aW9uOjpUeXBlOjpOb25lLCBpbnQgPSAwKTsKLSAgICBXRUJD
T1JFX0VYUE9SVCBzdGF0aWMgYm9vbCBpc1ZhbGlkS2V5UGF0aChjb25zdCBTdHJpbmcmKTsKLQog
cHJvdGVjdGVkOgogICAgIFBsYXRmb3JtQ0FBbmltYXRpb24oQW5pbWF0aW9uVHlwZSB0eXBlID0g
QmFzaWMpCiAgICAgICAgIDogbV90eXBlKHR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBRmlsdGVycy5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUZpbHRlcnMuaAppbmRleCA2NjA3MDU0
YTA2NzYuLmI3ZTk4ZDJkYjdjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvUGxhdGZvcm1DQUZpbHRlcnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBRmlsdGVycy5oCkBAIC00MSw4ICs0MSw3IEBAIHB1
YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBzZXRGaWx0ZXJzT25MYXllcihQ
bGF0Zm9ybUxheWVyKiwgY29uc3QgRmlsdGVyT3BlcmF0aW9ucyYpOwogICAgIFdFQkNPUkVfRVhQ
T1JUIHN0YXRpYyB2b2lkIHNldEJsZW5kaW5nRmlsdGVyc09uTGF5ZXIoUGxhdGZvcm1MYXllcios
IGNvbnN0IEJsZW5kTW9kZSk7CiAgICAgc3RhdGljIGJvb2wgaXNBbmltYXRlZEZpbHRlclByb3Bl
cnR5KEZpbHRlck9wZXJhdGlvbjo6VHlwZSk7Ci0gICAgc3RhdGljIFN0cmluZyBhbmltYXRlZEZp
bHRlclByb3BlcnR5TmFtZShGaWx0ZXJPcGVyYXRpb246OlR5cGUpOwotICAgIHN0YXRpYyBib29s
IGlzVmFsaWRBbmltYXRlZEZpbHRlclByb3BlcnR5TmFtZShjb25zdCBTdHJpbmcmKTsKKyAgICBz
dGF0aWMgY29uc3QgY2hhciogYW5pbWF0ZWRGaWx0ZXJQcm9wZXJ0eU5hbWUoRmlsdGVyT3BlcmF0
aW9uOjpUeXBlKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZXRhaW5QdHI8TlNWYWx1
ZT4gZmlsdGVyVmFsdWVGb3JPcGVyYXRpb24oY29uc3QgRmlsdGVyT3BlcmF0aW9uKik7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL2NvY29hL1BsYXRm
b3JtQ0FGaWx0ZXJzQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
YS9jb2NvYS9QbGF0Zm9ybUNBRmlsdGVyc0NvY29hLm1tCmluZGV4IGViNzRjOTY1MTY5Ny4uY2Vi
N2Y0MTdmZTY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
YS9jb2NvYS9QbGF0Zm9ybUNBRmlsdGVyc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhL2NvY29hL1BsYXRmb3JtQ0FGaWx0ZXJzQ29jb2EubW0KQEAgLTE3
OSw3ICsxNzksNyBAQCBSZXRhaW5QdHI8TlNWYWx1ZT4gUGxhdGZvcm1DQUZpbHRlcnM6OmZpbHRl
clZhbHVlRm9yT3BlcmF0aW9uKGNvbnN0IEZpbHRlck9wZXJhdAogICAgICAgICBkb3VibGUgYW1v
dW50ID0gMDsKICAgICAgICAgaWYgKG9wZXJhdGlvbikKICAgICAgICAgICAgIGFtb3VudCA9IGRv
d25jYXN0PEJhc2ljQ29sb3JNYXRyaXhGaWx0ZXJPcGVyYXRpb24+KCpvcGVyYXRpb24pLmFtb3Vu
dCgpOwotCisgICAgICAgIAogICAgICAgICB2YWx1ZSA9IEAoYW1vdW50KTsKICAgICAgICAgYnJl
YWs7CiAgICAgfQpAQCAtMTkzLDcgKzE5Myw3IEBAIFJldGFpblB0cjxOU1ZhbHVlPiBQbGF0Zm9y
bUNBRmlsdGVyczo6ZmlsdGVyVmFsdWVGb3JPcGVyYXRpb24oY29uc3QgRmlsdGVyT3BlcmF0CiAg
ICAgICAgIGRvdWJsZSBhbW91bnQgPSAxOwogICAgICAgICBpZiAob3BlcmF0aW9uKQogICAgICAg
ICAgICAgYW1vdW50ID0gZG93bmNhc3Q8QmFzaWNDb2xvck1hdHJpeEZpbHRlck9wZXJhdGlvbj4o
Km9wZXJhdGlvbikuYW1vdW50KCk7Ci0KKyAgICAgICAgCiAgICAgICAgIHZhbHVlID0gQChhbW91
bnQpOwogICAgICAgICBicmVhazsKICAgICB9CkBAIC0yMDIsNyArMjAyLDcgQEAgUmV0YWluUHRy
PE5TVmFsdWU+IFBsYXRmb3JtQ0FGaWx0ZXJzOjpmaWx0ZXJWYWx1ZUZvck9wZXJhdGlvbihjb25z
dCBGaWx0ZXJPcGVyYXQKICAgICAgICAgZG91YmxlIGFtb3VudCA9IDA7CiAgICAgICAgIGlmIChv
cGVyYXRpb24pCiAgICAgICAgICAgICBhbW91bnQgPSBkb3duY2FzdDxCYXNpY0NvbG9yTWF0cml4
RmlsdGVyT3BlcmF0aW9uPigqb3BlcmF0aW9uKS5hbW91bnQoKTsKLQorICAgICAgICAKICAgICAg
ICAgYW1vdW50ID0gZGVnMnJhZChhbW91bnQpOwogICAgICAgICB2YWx1ZSA9IEAoYW1vdW50KTsK
ICAgICAgICAgYnJlYWs7CkBAIC0yMjAsNyArMjIwLDcgQEAgUmV0YWluUHRyPE5TVmFsdWU+IFBs
YXRmb3JtQ0FGaWx0ZXJzOjpmaWx0ZXJWYWx1ZUZvck9wZXJhdGlvbihjb25zdCBGaWx0ZXJPcGVy
YXQKICAgICAgICAgdmFsdWUgPSBQbGF0Zm9ybUNBRmlsdGVyczo6Y29sb3JNYXRyaXhWYWx1ZUZv
ckZpbHRlcih0eXBlLCBvcGVyYXRpb24pOwogICAgICAgICBicmVhazsKICAgICB9Ci0KKyAgICAK
ICAgICBjYXNlIEZpbHRlck9wZXJhdGlvbjo6VHlwZTo6QnJpZ2h0bmVzczogewogICAgICAgICAv
LyBCcmlnaHRuZXNzIENBRmlsdGVyOiBpbnB1dENvbG9yTWF0cml4CiAgICAgICAgIHZhbHVlID0g
UGxhdGZvcm1DQUZpbHRlcnM6OmNvbG9yTWF0cml4VmFsdWVGb3JGaWx0ZXIodHlwZSwgb3BlcmF0
aW9uKTsKQEAgLTIzNyw3ICsyMzcsNyBAQCBSZXRhaW5QdHI8TlNWYWx1ZT4gUGxhdGZvcm1DQUZp
bHRlcnM6OmZpbHRlclZhbHVlRm9yT3BlcmF0aW9uKGNvbnN0IEZpbHRlck9wZXJhdAogICAgICAg
ICBkb3VibGUgYW1vdW50ID0gMDsKICAgICAgICAgaWYgKG9wZXJhdGlvbikKICAgICAgICAgICAg
IGFtb3VudCA9IGZsb2F0VmFsdWVGb3JMZW5ndGgoZG93bmNhc3Q8Qmx1ckZpbHRlck9wZXJhdGlv
bj4oKm9wZXJhdGlvbikuc3RkRGV2aWF0aW9uKCksIDApOwotCisgICAgICAgIAogICAgICAgICB2
YWx1ZSA9IEAoYW1vdW50KTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMzg3LDM4ICszODcs
MjAgQEAgYm9vbCBQbGF0Zm9ybUNBRmlsdGVyczo6aXNBbmltYXRlZEZpbHRlclByb3BlcnR5KEZp
bHRlck9wZXJhdGlvbjo6VHlwZSB0eXBlKQogICAgIH0KIH0KIAotc3RhdGljIGNvbnN0ZXhwciBh
dXRvIGlucHV0QW1vdW50UHJvcGVydHkgPSAiaW5wdXRBbW91bnQiX3M7Ci1zdGF0aWMgY29uc3Rl
eHByIGF1dG8gaW5wdXRDb2xvck1hdHJpeFByb3BlcnR5ID0gImlucHV0Q29sb3JNYXRyaXgiX3M7
Ci1zdGF0aWMgY29uc3RleHByIGF1dG8gaW5wdXRBbmdsZVByb3BlcnR5ID0gImlucHV0QW5nbGUi
X3M7Ci1zdGF0aWMgY29uc3RleHByIGF1dG8gaW5wdXRSYWRpdXNQcm9wZXJ0eSA9ICJpbnB1dFJh
ZGl1cyJfczsKLQotU3RyaW5nIFBsYXRmb3JtQ0FGaWx0ZXJzOjphbmltYXRlZEZpbHRlclByb3Bl
cnR5TmFtZShGaWx0ZXJPcGVyYXRpb246OlR5cGUgdHlwZSkKK2NvbnN0IGNoYXIqIFBsYXRmb3Jt
Q0FGaWx0ZXJzOjphbmltYXRlZEZpbHRlclByb3BlcnR5TmFtZShGaWx0ZXJPcGVyYXRpb246OlR5
cGUgdHlwZSkKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICBjYXNlIEZpbHRlck9wZXJhdGlv
bjo6VHlwZTo6R3JheXNjYWxlOgotICAgIGNhc2UgRmlsdGVyT3BlcmF0aW9uOjpUeXBlOjpTYXR1
cmF0ZToKLSAgICAgICAgcmV0dXJuIGlucHV0QW1vdW50UHJvcGVydHk7Ci0gICAgY2FzZSBGaWx0
ZXJPcGVyYXRpb246OlR5cGU6OlNlcGlhOgotICAgIGNhc2UgRmlsdGVyT3BlcmF0aW9uOjpUeXBl
OjpJbnZlcnQ6Ci0gICAgY2FzZSBGaWx0ZXJPcGVyYXRpb246OlR5cGU6Ok9wYWNpdHk6Ci0gICAg
Y2FzZSBGaWx0ZXJPcGVyYXRpb246OlR5cGU6OkJyaWdodG5lc3M6Ci0gICAgY2FzZSBGaWx0ZXJP
cGVyYXRpb246OlR5cGU6OkNvbnRyYXN0OgotICAgICAgICByZXR1cm4gaW5wdXRDb2xvck1hdHJp
eFByb3BlcnR5OwotICAgIGNhc2UgRmlsdGVyT3BlcmF0aW9uOjpUeXBlOjpIdWVSb3RhdGU6Ci0g
ICAgICAgIHJldHVybiBpbnB1dEFuZ2xlUHJvcGVydHk7Ci0gICAgY2FzZSBGaWx0ZXJPcGVyYXRp
b246OlR5cGU6OkJsdXI6Ci0gICAgICAgIHJldHVybiBpbnB1dFJhZGl1c1Byb3BlcnR5OwotICAg
IGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOworICAgIGNhc2UgRmlsdGVy
T3BlcmF0aW9uOjpUeXBlOjpHcmF5c2NhbGU6IHJldHVybiAiaW5wdXRBbW91bnQiOworICAgIGNh
c2UgRmlsdGVyT3BlcmF0aW9uOjpUeXBlOjpTZXBpYTpyZXR1cm4gImlucHV0Q29sb3JNYXRyaXgi
OworICAgIGNhc2UgRmlsdGVyT3BlcmF0aW9uOjpUeXBlOjpTYXR1cmF0ZTogcmV0dXJuICJpbnB1
dEFtb3VudCI7CisgICAgY2FzZSBGaWx0ZXJPcGVyYXRpb246OlR5cGU6Okh1ZVJvdGF0ZTogcmV0
dXJuICJpbnB1dEFuZ2xlIjsKKyAgICBjYXNlIEZpbHRlck9wZXJhdGlvbjo6VHlwZTo6SW52ZXJ0
OiByZXR1cm4gImlucHV0Q29sb3JNYXRyaXgiOworICAgIGNhc2UgRmlsdGVyT3BlcmF0aW9uOjpU
eXBlOjpPcGFjaXR5OiByZXR1cm4gImlucHV0Q29sb3JNYXRyaXgiOworICAgIGNhc2UgRmlsdGVy
T3BlcmF0aW9uOjpUeXBlOjpCcmlnaHRuZXNzOiByZXR1cm4gImlucHV0Q29sb3JNYXRyaXgiOwor
ICAgIGNhc2UgRmlsdGVyT3BlcmF0aW9uOjpUeXBlOjpDb250cmFzdDogcmV0dXJuICJpbnB1dENv
bG9yTWF0cml4IjsKKyAgICBjYXNlIEZpbHRlck9wZXJhdGlvbjo6VHlwZTo6Qmx1cjogcmV0dXJu
ICJpbnB1dFJhZGl1cyI7CisgICAgZGVmYXVsdDogcmV0dXJuICIiOwogICAgIH0KIH0KIAotYm9v
bCBQbGF0Zm9ybUNBRmlsdGVyczo6aXNWYWxpZEFuaW1hdGVkRmlsdGVyUHJvcGVydHlOYW1lKGNv
bnN0IFN0cmluZyYgYW5pbWF0ZWRGaWx0ZXJQcm9wZXJ0eU5hbWUpCi17Ci0gICAgcmV0dXJuIGFu
aW1hdGVkRmlsdGVyUHJvcGVydHlOYW1lID09IGlucHV0QW1vdW50UHJvcGVydHkKLSAgICAgICAg
fHwgYW5pbWF0ZWRGaWx0ZXJQcm9wZXJ0eU5hbWUgPT0gaW5wdXRDb2xvck1hdHJpeFByb3BlcnR5
Ci0gICAgICAgIHx8IGFuaW1hdGVkRmlsdGVyUHJvcGVydHlOYW1lID09IGlucHV0QW5nbGVQcm9w
ZXJ0eQotICAgICAgICB8fCBhbmltYXRlZEZpbHRlclByb3BlcnR5TmFtZSA9PSBpbnB1dFJhZGl1
c1Byb3BlcnR5OwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUGxhdGZvcm1DQUFu
aW1hdGlvblJlbW90ZS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90
ZUxheWVyVHJlZS9QbGF0Zm9ybUNBQW5pbWF0aW9uUmVtb3RlLm1tCmluZGV4IDAwZWZjNGNlMzcy
ZC4uODI5MjhhNTUxYjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9SZW1vdGVMYXllclRyZWUvUGxhdGZvcm1DQUFuaW1hdGlvblJlbW90ZS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUGxhdGZvcm1D
QUFuaW1hdGlvblJlbW90ZS5tbQpAQCAtMjM3LDcgKzIzNyw2IEBAIFJlZjxQbGF0Zm9ybUNBQW5p
bWF0aW9uPiBQbGF0Zm9ybUNBQW5pbWF0aW9uUmVtb3RlOjpjb3B5KCkgY29uc3QKIFBsYXRmb3Jt
Q0FBbmltYXRpb25SZW1vdGU6OlBsYXRmb3JtQ0FBbmltYXRpb25SZW1vdGUoQW5pbWF0aW9uVHlw
ZSB0eXBlLCBjb25zdCBTdHJpbmcmIGtleVBhdGgpCiAgICAgOiBQbGF0Zm9ybUNBQW5pbWF0aW9u
KHR5cGUpCiB7Ci0gICAgQVNTRVJUKFBsYXRmb3JtQ0FBbmltYXRpb246OmlzVmFsaWRLZXlQYXRo
KGtleVBhdGgpKTsKICAgICBtX3Byb3BlcnRpZXMua2V5UGF0aCA9IGtleVBhdGg7CiAgICAgbV9w
cm9wZXJ0aWVzLmFuaW1hdGlvblR5cGUgPSB0eXBlOwogfQpAQCAtNjk4LDExICs2OTcsNiBAQCBz
dGF0aWMgUmV0YWluUHRyPENBQW5pbWF0aW9uPiBjcmVhdGVBbmltYXRpb24oQ0FMYXllciAqbGF5
ZXIsIFJlbW90ZUxheWVyVHJlZUhvcwogCiBzdGF0aWMgdm9pZCBhZGRBbmltYXRpb25Ub0xheWVy
KENBTGF5ZXIgKmxheWVyLCBSZW1vdGVMYXllclRyZWVIb3N0KiBsYXllclRyZWVIb3N0LCBjb25z
dCBTdHJpbmcmIGtleSwgY29uc3QgUGxhdGZvcm1DQUFuaW1hdGlvblJlbW90ZTo6UHJvcGVydGll
cyYgcHJvcGVydGllcykKIHsKLSAgICBpZiAoIVBsYXRmb3JtQ0FBbmltYXRpb246OmlzVmFsaWRL
ZXlQYXRoKHByb3BlcnRpZXMua2V5UGF0aCkpIHsKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KICAgICBbbGF5ZXIgYWRkQW5pbWF0aW9uOmNy
ZWF0ZUFuaW1hdGlvbihsYXllciwgbGF5ZXJUcmVlSG9zdCwgcHJvcGVydGllcykuZ2V0KCkgZm9y
S2V5OmtleV07CiAgICAgW2xheWVyIHNldEluaGVyaXRzVGltaW5nOk5PXTsKIH0KZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggYTljMGY1ZjM3ZTAzLi5kZDY3MGQ4YmRiYjAgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0zMjksMTAgKzMyOSw4IEBACiAJCTUxQTU4Nzg1MUQyNzM5RTMwMDRC
QTlBRiAvKiBJbmRleGVkREJEYXRhYmFzZVByb2Nlc3NLaWxsLTEuaHRtbCBpbiBDb3B5IFJlc291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUE1ODc4MjFEMjcyRUI1
MDA0QkE5QUYgLyogSW5kZXhlZERCRGF0YWJhc2VQcm9jZXNzS2lsbC0xLmh0bWwgKi87IH07CiAJ
CTUxQjFFRTk2MUM4MEZBRUYwMDY0RkI5OCAvKiBJbmRleGVkREJQZXJzaXN0ZW5jZS0xLmh0bWwg
aW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFC
MUVFOTQxQzgwRkFERDAwNjRGQjk4IC8qIEluZGV4ZWREQlBlcnNpc3RlbmNlLTEuaHRtbCAqLzsg
fTsKIAkJNTFCMUVFOTcxQzgwRkFFRjAwNjRGQjk4IC8qIEluZGV4ZWREQlBlcnNpc3RlbmNlLTIu
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MUIxRUU5NTFDODBGQUREMDA2NEZCOTggLyogSW5kZXhlZERCUGVyc2lzdGVuY2UtMi5odG1s
ICovOyB9OwotCQk1MUJCNkI4NjI5NkU5MzFGMDA1OUIxMDcgLyogdGVzdC1tc2Uud2VibSBpbiBD
b3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUJCNkI3
RTI5NkU4RkZEMDA1OUIxMDcgLyogdGVzdC1tc2Uud2VibSAqLzsgfTsKIAkJNTFCQ0VFNEUxQzg0
RjUzQjAwNDJDODJFIC8qIEluZGV4ZWREQk11bHRpUHJvY2Vzcy0xLmh0bWwgaW4gQ29weSBSZXNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFCQ0VFNEMxQzg0RjUy
QzAwNDJDODJFIC8qIEluZGV4ZWREQk11bHRpUHJvY2Vzcy0xLmh0bWwgKi87IH07CiAJCTUxQkNF
RTRGMUM4NEY1M0IwMDQyQzgyRSAvKiBJbmRleGVkREJNdWx0aVByb2Nlc3MtMi5odG1sIGluIENv
cHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQkNFRTRE
MUM4NEY1MkMwMDQyQzgyRSAvKiBJbmRleGVkREJNdWx0aVByb2Nlc3MtMi5odG1sICovOyB9Owot
CQk1MUMyMzRDRjI5NzBFMTM1MDBFMzVDNEIgLyogdGVzdC1tc2UtYXVkaW8ud2VibSBpbiBDb3B5
IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUMyMzRDNzI5
NzBFMTE0MDBFMzVDNEIgLyogdGVzdC1tc2UtYXVkaW8ud2VibSAqLzsgfTsKIAkJNTFDOEUxQTkx
RjI3RjQ5NjAwQkY3MzFCIC8qIEVtcHR5R3JhbmRmYXRoZXJlZFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3MucGxpc3QgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTFDOEUxQTgxRjI3RjQ3MzAwQkY3MzFCIC8qIEVtcHR5R3JhbmRmYXRoZXJlZFJlc291
cmNlTG9hZFN0YXRpc3RpY3MucGxpc3QgKi87IH07CiAJCTUxQ0QxQzcyMUIzOEQ0ODQwMDE0MkNB
NSAvKiBtb2RhbC1hbGVydHMtaW4tbmV3LWFib3V0LWJsYW5rLXdpbmRvdy5odG1sIGluIENvcHkg
UmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQ0QxQzcxMUIz
OEQ0ODQwMDE0MkNBNSAvKiBtb2RhbC1hbGVydHMtaW4tbmV3LWFib3V0LWJsYW5rLXdpbmRvdy5o
dG1sICovOyB9OwogCQk1MURCMTZDRTFGMDg1MTM3MDAxRkE0QzUgLyogV2ViVmlld0ljb25Mb2Fk
aW5nLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFE
QjE2Q0QxRjA4NTA0NzAwMUZBNEM1IC8qIFdlYlZpZXdJY29uTG9hZGluZy5tbSAqLzsgfTsKQEAg
LTUyMyw3ICs1MjEsNiBAQAogCQk2QkY0QTY4MzIzOUVENENEMDBFMkY0NUIgLyogTG9nZ2VkSW5T
dGF0dXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NkJGNEE2ODIyMzlFRDRDRDAwRTJGNDVCIC8qIExvZ2dlZEluU3RhdHVzLmNwcCAqLzsgfTsKIAkJ
NkJGRDI5NEMxRDVFNkMxRDAwOEVDOTY4IC8qIEhhc2hDb3VudGVkU2V0LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBMzhEN0U1MUM3NTJENUYwMDRG
MTU3RCAvKiBIYXNoQ291bnRlZFNldC5jcHAgKi87IH07CiAJCTcxMkU0QkMxMjVEREM1MkEwMDA3
MjAxQyAvKiBBbmltYXRpb25GcmFtZVJhdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzEyRTRCQzAyNUREQzUyQTAwMDcyMDFDIC8qIEFuaW1hdGlv
bkZyYW1lUmF0ZS5jcHAgKi87IH07Ci0JCTcxNDExNTY0Mjk3NTQ0MjIwMDUwMTFENiAvKiBQbGF0
Zm9ybUNBQW5pbWF0aW9uS2V5UGF0aC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3MTQxMTU2MzI5NzU0NDIyMDA1MDExRDYgLyogUGxhdGZvcm1DQUFu
aW1hdGlvbktleVBhdGguY3BwICovOyB9OwogCQk3MUU4OEM0MTI0QjUyOTlDMDA2NjUxNjAgLyog
U2hhcmVTaGVldFRlc3RzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNzFFODhDNDAyNEI1Mjk5QzAwNjY1MTYwIC8qIFNoYXJlU2hlZXRUZXN0cy5tbSAq
LzsgfTsKIAkJNzFFODhDNDUyNEI1MzRCNzAwNjY1MTYwIC8qIGltZy13aXRoLWJhc2U2NC11cmwu
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3MUU4OEM0MzI0QjUzM0VDMDA2NjUxNjAgLyogaW1nLXdpdGgtYmFzZTY0LXVybC5odG1sICov
OyB9OwogCQk3MjVDM0VGMzIyMDU4QTVCMDA3QzM2RkMgLyogQWRkaXRpb25hbFN1cHBvcnRlZElt
YWdlVHlwZXMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3MjVDM0VGMjIyMDU4NEJBMDA3QzM2RkMgLyogQWRkaXRpb25hbFN1cHBvcnRl
ZEltYWdlVHlwZXMuaHRtbCAqLzsgfTsKQEAgLTk5OCw2ICs5OTUsOCBAQAogCQlDRDU3Nzc5RDIx
MUNFOTFGMDAxQjM3MUUgLyogdmlkZW8td2l0aC1hdWRpby1hbmQtd2ViLWF1ZGlvLmh0bWwgaW4g
Q29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q1Nzc3
OUIyMTFDRTZDRTAwMUIzNzFFIC8qIHZpZGVvLXdpdGgtYXVkaW8tYW5kLXdlYi1hdWRpby5odG1s
ICovOyB9OwogCQlDRDU5RjUzNDE5RTkxMTBEMDBDRjE4MzUgLyogZmlsZS13aXRoLW1zZS5odG1s
IGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENE
NTlGNTMyMTlFOTEwQUEwMENGMTgzNSAvKiBmaWxlLXdpdGgtbXNlLmh0bWwgKi87IH07CiAJCUNE
NTlGNTM1MTlFOTExMEQwMENGMTgzNSAvKiB0ZXN0LW1zZS5tcDQgaW4gQ29weSBSZXNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q1OUY1MzMxOUU5MTBCQzAwQ0Yx
ODM1IC8qIHRlc3QtbXNlLm1wNCAqLzsgfTsKKwkJNTFDMjM0Q0YyOTcwRTEzNTAwRTM1QzRCIC8q
IHRlc3QtbXNlLWF1ZGlvLndlYm0gaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTFDMjM0QzcyOTcwRTExNDAwRTM1QzRCIC8qIHRlc3QtbXNlLWF1
ZGlvLndlYm0gKi87IH07CisJCTUxQkI2Qjg2Mjk2RTkzMUYwMDU5QjEwNyAvKiB0ZXN0LW1zZS53
ZWJtIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUxQkI2QjdFMjk2RThGRkQwMDU5QjEwNyAvKiB0ZXN0LW1zZS53ZWJtICovOyB9OwogCQlDRDVG
RjQ5RjIxNjJFOTQzMDA0QkQ4NkYgLyogSVNPQm94LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENUZGNDk2MjE2MkUyN0UwMDRCRDg2RiAvKiBJU09C
b3guY3BwICovOyB9OwogCQlDRDc1OEE2RjIwNTcyRUEwMDA3MTgzNEEgLyogdmlkZW8td2l0aC1w
YXVzZWQtYXVkaW8tYW5kLXBsYXlpbmctbXV0ZWQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDc1OEE2RTIwNTcyRDU0MDA3MTgzNEEg
LyogdmlkZW8td2l0aC1wYXVzZWQtYXVkaW8tYW5kLXBsYXlpbmctbXV0ZWQuaHRtbCAqLzsgfTsK
IAkJQ0Q3OEUxMUUxREI3RUUyQTAwMTRBMkRFIC8qIEZ1bGxzY3JlZW5EZWxlZ2F0ZS5odG1sIGlu
IENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENzhF
MTFCMURCN0VBMzYwMDE0QTJERSAvKiBGdWxsc2NyZWVuRGVsZWdhdGUuaHRtbCAqLzsgfTsKQEAg
LTI0MTIsMTIgKzI0MTEsMTAgQEAKIAkJNTFCMUVFOTUxQzgwRkFERDAwNjRGQjk4IC8qIEluZGV4
ZWREQlBlcnNpc3RlbmNlLTIuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJJbmRl
eGVkREJQZXJzaXN0ZW5jZS0yLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1
MUI0MEQ5RDIzQUM5NjBFMDBFMDUyNDEgLyogQXN5bmNGdW5jdGlvbi5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFzeW5jRnVuY3Rpb24ubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTUxQjQ1NEVCMUI0RTIzNkIwMDg1RUFBNiAvKiBXZWJWaWV3Q2xv
c2VJbnNpZGVEaWRGaW5pc2hMb2FkRm9yRnJhbWUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBXZWJWaWV3Q2xvc2VJbnNpZGVEaWRGaW5pc2hMb2FkRm9yRnJhbWUu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTUxQkI2QjdFMjk2RThGRkQwMDU5QjEw
NyAvKiB0ZXN0LW1zZS53ZWJtICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gZmlsZTsgcGF0aCA9ICJ0ZXN0LW1zZS53ZWJtIjsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTFCQ0VFNDkxQzg0RjRBRjAwNDJDODJFIC8qIEluZGV4ZWREQk11bHRp
UHJvY2Vzcy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEluZGV4
ZWREQk11bHRpUHJvY2Vzcy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFCQ0VF
NEMxQzg0RjUyQzAwNDJDODJFIC8qIEluZGV4ZWREQk11bHRpUHJvY2Vzcy0xLmh0bWwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAiSW5kZXhlZERCTXVsdGlQcm9jZXNzLTEuaHRtbCI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxQkNFRTREMUM4NEY1MkMwMDQyQzgyRSAvKiBJ
bmRleGVkREJNdWx0aVByb2Nlc3MtMi5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0g
IkluZGV4ZWREQk11bHRpUHJvY2Vzcy0yLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MUJFOUU2NTIzNzYwODk1MDBCNEUxMTcgLyogTWVkaWFUeXBlLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTWVkaWFUeXBlLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk1MUMyMzRDNzI5NzBFMTE0MDBFMzVDNEIgLyogdGVzdC1tc2UtYXVk
aW8ud2VibSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IGZpbGU7IHBhdGggPSAidGVzdC1tc2UtYXVkaW8ud2VibSI7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTUxQzY4M0REMUVBMTM0REIwMDY1MDE4MyAvKiBXS1VSTFNjaGVtZUhhbmRsZXIt
MS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9ICJXS1VSTFNjaGVt
ZUhhbmRsZXItMS5tbSI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxQzhFMUE0MUYy
NkFDNTQwMEJGNzMxQiAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gUmVzb3VyY2VMb2FkU3RhdGlzdGljcy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNTFDOEUxQTgxRjI3RjQ3MzAwQkY3MzFCIC8qIEVtcHR5R3JhbmRmYXRoZXJlZFJl
c291cmNlTG9hZFN0YXRpc3RpY3MucGxpc3QgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBmaWxlLmJwbGlzdDsgcGF0aCA9IEVtcHR5R3JhbmRmYXRoZXJl
ZFJlc291cmNlTG9hZFN0YXRpc3RpY3MucGxpc3Q7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0yNjg1LDcgKzI2ODIsNiBAQAogCQk2QjlBQkUxMTIwODY5NTJGMDBENzVERTYgLyogSFRU
UFBhcnNlcnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSFRUUFBhcnNlcnMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk2QkY0QTY4MjIzOUVENENEMDBFMkY0NUIgLyogTG9nZ2Vk
SW5TdGF0dXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTG9nZ2VkSW5TdGF0dXMuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MTJFNEJDMDI1RERDNTJBMDAwNzIwMUMgLyogQW5p
bWF0aW9uRnJhbWVSYXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEFuaW1hdGlvbkZyYW1lUmF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTcx
NDExNTYzMjk3NTQ0MjIwMDUwMTFENiAvKiBQbGF0Zm9ybUNBQW5pbWF0aW9uS2V5UGF0aC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQbGF0Zm9ybUNBQW5pbWF0aW9u
S2V5UGF0aC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxRTg4QzQwMjRCNTI5
OUMwMDY2NTE2MCAvKiBTaGFyZVNoZWV0VGVzdHMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBTaGFyZVNoZWV0VGVzdHMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTcxRTg4QzQzMjRCNTMzRUMwMDY2NTE2MCAvKiBpbWctd2l0aC1iYXNlNjQtdXJs
Lmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAiaW1nLXdpdGgtYmFzZTY0LXVybC5o
dG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzI1QzNFRjIyMjA1ODRCQTAwN0Mz
NkZDIC8qIEFkZGl0aW9uYWxTdXBwb3J0ZWRJbWFnZVR5cGVzLmh0bWwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
Lmh0bWw7IHBhdGggPSBBZGRpdGlvbmFsU3VwcG9ydGVkSW1hZ2VUeXBlcy5odG1sOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzE5MCw2ICszMTg2LDggQEAKIAkJQ0Q1Nzc3OUIyMTFD
RTZDRTAwMUIzNzFFIC8qIHZpZGVvLXdpdGgtYXVkaW8tYW5kLXdlYi1hdWRpby5odG1sICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBw
YXRoID0gInZpZGVvLXdpdGgtYXVkaW8tYW5kLXdlYi1hdWRpby5odG1sIjsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q1OUY1MzIxOUU5MTBBQTAwQ0YxODM1IC8qIGZpbGUtd2l0aC1t
c2UuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJmaWxlLXdpdGgtbXNlLmh0bWwi
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDU5RjUzMzE5RTkxMEJDMDBDRjE4MzUg
LyogdGVzdC1tc2UubXA0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gZmlsZTsgcGF0aCA9ICJ0ZXN0LW1zZS5tcDQiOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk1MUJCNkI3RTI5NkU4RkZEMDA1OUIxMDcgLyogdGVzdC1tc2Uud2VibSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGZpbGU7IHBhdGgg
PSAidGVzdC1tc2Uud2VibSI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxQzIzNEM3
Mjk3MEUxMTQwMEUzNUM0QiAvKiB0ZXN0LW1zZS1hdWRpby53ZWJtICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZTsgcGF0aCA9ICJ0ZXN0LW1zZS1h
dWRpby53ZWJtIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q1RkY0OTYyMTYyRTI3
RTAwNEJEODZGIC8qIElTT0JveC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBJU09Cb3guY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDc1OEE2RTIw
NTcyRDU0MDA3MTgzNEEgLyogdmlkZW8td2l0aC1wYXVzZWQtYXVkaW8tYW5kLXBsYXlpbmctbXV0
ZWQuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJ2aWRlby13aXRoLXBhdXNlZC1h
dWRpby1hbmQtcGxheWluZy1tdXRlZC5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQ0Q3OEUxMUExREI3RUEzNjAwMTRBMkRFIC8qIEZ1bGxzY3JlZW5EZWxlZ2F0ZS5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEZ1bGxzY3JlZW5EZWxlZ2F0ZS5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQyMzUsNyArNDIzMyw2IEBACiAJCQkJ
NTE1OUYyNjYyNjBENDNFMzAwQjJEQTNDIC8qIE5vd1BsYXlpbmdJbmZvVGVzdHMuY3BwICovLAog
CQkJCUNEMjI1QzA3MUM0NUE2OTIwMDE0MDc2MSAvKiBQYXJzZWRDb250ZW50UmFuZ2UuY3BwICov
LAogCQkJCUFBOTZDQUI0MjFDN0RCNDIwMEZEMkY5NyAvKiBQYXJzZWRDb250ZW50VHlwZS5jcHAg
Ki8sCi0JCQkJNzE0MTE1NjMyOTc1NDQyMjAwNTAxMUQ2IC8qIFBsYXRmb3JtQ0FBbmltYXRpb25L
ZXlQYXRoLmNwcCAqLywKIAkJCQk2QjBBMDdGNjIxRkE5QzJCMDBENTczOTEgLyogUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQuY3BwICovLAogCQkJCTA0MUExRTMzMjE2RkZEQkMwMDc4OUUwQSAvKiBQ
dWJsaWNTdWZmaXguY3BwICovLAogCQkJCUVCOUFEOEM2Mjc2NDZFNzMwMEQ4OTNBNCAvKiBQdXNo
RGF0YWJhc2UuY3BwICovLApAQCAtNjM5Myw3ICs2MzkwLDYgQEAKIAkJCQk3Q0NFN0YwQTFBNDEx
QUU2MDA0NDdDNEMgLyogUGFzdGVib2FyZE5vdGlmaWNhdGlvbnMubW0gaW4gU291cmNlcyAqLywK
IAkJCQk3QzgzRTA1MzFEMEE2NDNBMDBGRUJDRjMgLyogUGVuZGluZ0FQSVJlcXVlc3RVUkwuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJRTMyNUM5MDcyM0UzODcwMjAwQkM3RDNCIC8qIFBpY3R1cmVJ
blBpY3R1cmVTdXBwb3J0Lm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJNzE0MTE1NjQyOTc1NDQyMjAw
NTAxMUQ2IC8qIFBsYXRmb3JtQ0FBbmltYXRpb25LZXlQYXRoLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTdDQ0U3RUE2MUE0MTFBMEYwMDQ0N0M0QyAvKiBQbGF0Zm9ybVV0aWxpdGllc01hYy5tbSBp
biBTb3VyY2VzICovLAogCQkJCTdDQ0U3RUE3MUE0MTFBMTMwMDQ0N0M0QyAvKiBQbGF0Zm9ybVdl
YlZpZXdNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlGNDAxMEI4MzI0REEyNjdGMDBBODc2RTIg
LyogUG9zZUFzQ2xhc3MubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9QbGF0Zm9ybUNBQW5pbWF0aW9uS2V5UGF0aC5jcHAgYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvUGxhdGZvcm1DQUFuaW1hdGlvbktleVBh
dGguY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2Y2U2YzY4Y2Q3MGYuLjAwMDAw
MDAwMDAwMAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvUGxhdGZvcm1D
QUFuaW1hdGlvbktleVBhdGguY3BwCisrKyAvZGV2L251bGwKQEAgLTEsODggKzAsMCBAQAotLyoK
LSAqIENvcHlyaWdodCAoQykgMjAyMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZv
cm1DQUFuaW1hdGlvbi5oPgotCi1uYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7Ci0KLVRFU1QoUGxh
dGZvcm1DQUFuaW1hdGlvbiwgbWFrZUtleVBhdGgpCi17Ci0gICAgYXV0byB0cmFuc2xhdGUgPSBX
ZWJDb3JlOjpQbGF0Zm9ybUNBQW5pbWF0aW9uOjptYWtlS2V5UGF0aChXZWJDb3JlOjpBbmltYXRl
ZFByb3BlcnR5OjpUcmFuc2xhdGUpOwotICAgIEVYUEVDVF9TVFJFUSh0cmFuc2xhdGUuYXNjaWko
KS5kYXRhKCksICJ0cmFuc2Zvcm0iKTsKLQotICAgIGF1dG8gc2NhbGUgPSBXZWJDb3JlOjpQbGF0
Zm9ybUNBQW5pbWF0aW9uOjptYWtlS2V5UGF0aChXZWJDb3JlOjpBbmltYXRlZFByb3BlcnR5OjpT
Y2FsZSk7Ci0gICAgRVhQRUNUX1NUUkVRKHNjYWxlLmFzY2lpKCkuZGF0YSgpLCAidHJhbnNmb3Jt
Iik7Ci0KLSAgICBhdXRvIHJvdGF0ZSA9IFdlYkNvcmU6OlBsYXRmb3JtQ0FBbmltYXRpb246Om1h
a2VLZXlQYXRoKFdlYkNvcmU6OkFuaW1hdGVkUHJvcGVydHk6OlJvdGF0ZSk7Ci0gICAgRVhQRUNU
X1NUUkVRKHJvdGF0ZS5hc2NpaSgpLmRhdGEoKSwgInRyYW5zZm9ybSIpOwotCi0gICAgYXV0byB0
cmFuc2Zvcm0gPSBXZWJDb3JlOjpQbGF0Zm9ybUNBQW5pbWF0aW9uOjptYWtlS2V5UGF0aChXZWJD
b3JlOjpBbmltYXRlZFByb3BlcnR5OjpUcmFuc2Zvcm0pOwotICAgIEVYUEVDVF9TVFJFUSh0cmFu
c2Zvcm0uYXNjaWkoKS5kYXRhKCksICJ0cmFuc2Zvcm0iKTsKLQotICAgIGF1dG8gb3BhY2l0eSA9
IFdlYkNvcmU6OlBsYXRmb3JtQ0FBbmltYXRpb246Om1ha2VLZXlQYXRoKFdlYkNvcmU6OkFuaW1h
dGVkUHJvcGVydHk6Ok9wYWNpdHkpOwotICAgIEVYUEVDVF9TVFJFUShvcGFjaXR5LmFzY2lpKCku
ZGF0YSgpLCAib3BhY2l0eSIpOwotCi0gICAgYXV0byBiYWNrZ3JvdW5kQ29sb3IgPSBXZWJDb3Jl
OjpQbGF0Zm9ybUNBQW5pbWF0aW9uOjptYWtlS2V5UGF0aChXZWJDb3JlOjpBbmltYXRlZFByb3Bl
cnR5OjpCYWNrZ3JvdW5kQ29sb3IpOwotICAgIEVYUEVDVF9TVFJFUShiYWNrZ3JvdW5kQ29sb3Iu
YXNjaWkoKS5kYXRhKCksICJiYWNrZ3JvdW5kQ29sb3IiKTsKLQotICAgIGF1dG8gZmlsdGVyID0g
V2ViQ29yZTo6UGxhdGZvcm1DQUFuaW1hdGlvbjo6bWFrZUtleVBhdGgoV2ViQ29yZTo6QW5pbWF0
ZWRQcm9wZXJ0eTo6RmlsdGVyLCBXZWJDb3JlOjpGaWx0ZXJPcGVyYXRpb246OlR5cGU6OkdyYXlz
Y2FsZSwgMik7Ci0gICAgRVhQRUNUX1NUUkVRKGZpbHRlci5hc2NpaSgpLmRhdGEoKSwgImZpbHRl
cnMuZmlsdGVyXzIuaW5wdXRBbW91bnQiKTsKLQotI2lmIEVOQUJMRShGSUxURVJTX0xFVkVMXzIp
Ci0gICAgYXV0byBiYWNrZHJvcEZpbHRlciA9IFdlYkNvcmU6OlBsYXRmb3JtQ0FBbmltYXRpb246
Om1ha2VLZXlQYXRoKFdlYkNvcmU6OkFuaW1hdGVkUHJvcGVydHk6OldlYmtpdEJhY2tkcm9wRmls
dGVyKTsKLSAgICBFWFBFQ1RfU1RSRVEoYmFja2Ryb3BGaWx0ZXIuYXNjaWkoKS5kYXRhKCksICJi
YWNrZHJvcEZpbHRlcnMiKTsKLSNlbmRpZgotfQotCi1zdGF0aWMgdm9pZCB2YWxpZGF0ZUdlbmVy
YXRlZEtleVBhdGgoV2ViQ29yZTo6QW5pbWF0ZWRQcm9wZXJ0eSBhbmltYXRlZFByb3BlcnR5LCBX
ZWJDb3JlOjpGaWx0ZXJPcGVyYXRpb246OlR5cGUgZmlsdGVyT3BlcmF0aW9uVHlwZSA9IFdlYkNv
cmU6OkZpbHRlck9wZXJhdGlvbjo6VHlwZTo6Tm9uZSwgaW50IGluZGV4ID0gMCkKLXsKLSAgICBh
dXRvIGtleVBhdGggPSBXZWJDb3JlOjpQbGF0Zm9ybUNBQW5pbWF0aW9uOjptYWtlS2V5UGF0aChh
bmltYXRlZFByb3BlcnR5LCBmaWx0ZXJPcGVyYXRpb25UeXBlLCBpbmRleCk7Ci0gICAgRVhQRUNU
X1RSVUUoV2ViQ29yZTo6UGxhdGZvcm1DQUFuaW1hdGlvbjo6aXNWYWxpZEtleVBhdGgoa2V5UGF0
aCkpOwotfQotCi1URVNUKFBsYXRmb3JtQ0FBbmltYXRpb24sIGlzVmFsaWRLZXlQYXRoKQotewot
ICAgIHZhbGlkYXRlR2VuZXJhdGVkS2V5UGF0aChXZWJDb3JlOjpBbmltYXRlZFByb3BlcnR5OjpU
cmFuc2Zvcm0pOwotICAgIHZhbGlkYXRlR2VuZXJhdGVkS2V5UGF0aChXZWJDb3JlOjpBbmltYXRl
ZFByb3BlcnR5OjpPcGFjaXR5KTsKLSAgICB2YWxpZGF0ZUdlbmVyYXRlZEtleVBhdGgoV2ViQ29y
ZTo6QW5pbWF0ZWRQcm9wZXJ0eTo6QmFja2dyb3VuZENvbG9yKTsKLSAgICB2YWxpZGF0ZUdlbmVy
YXRlZEtleVBhdGgoV2ViQ29yZTo6QW5pbWF0ZWRQcm9wZXJ0eTo6RmlsdGVyLCBXZWJDb3JlOjpG
aWx0ZXJPcGVyYXRpb246OlR5cGU6OkdyYXlzY2FsZSwgMik7Ci0gICAgdmFsaWRhdGVHZW5lcmF0
ZWRLZXlQYXRoKFdlYkNvcmU6OkFuaW1hdGVkUHJvcGVydHk6OkZpbHRlciwgV2ViQ29yZTo6Rmls
dGVyT3BlcmF0aW9uOjpUeXBlOjpTZXBpYSwgMjIpOwotI2lmIEVOQUJMRShGSUxURVJTX0xFVkVM
XzIpCi0gICAgdmFsaWRhdGVHZW5lcmF0ZWRLZXlQYXRoKFdlYkNvcmU6OkFuaW1hdGVkUHJvcGVy
dHk6OldlYmtpdEJhY2tkcm9wRmlsdGVyKTsKLSNlbmRpZgotCi0gICAgRVhQRUNUX0ZBTFNFKFdl
YkNvcmU6OlBsYXRmb3JtQ0FBbmltYXRpb246OmlzVmFsaWRLZXlQYXRoKCJmaWx0ZXJzLmZpbHRl
cl8iX3MpKTsKLSAgICBFWFBFQ1RfRkFMU0UoV2ViQ29yZTo6UGxhdGZvcm1DQUFuaW1hdGlvbjo6
aXNWYWxpZEtleVBhdGgoImZpbHRlcnMuZmlsdGVyXzAiX3MpKTsKLSAgICBFWFBFQ1RfRkFMU0Uo
V2ViQ29yZTo6UGxhdGZvcm1DQUFuaW1hdGlvbjo6aXNWYWxpZEtleVBhdGgoImZpbHRlcnMuZmls
dGVyXzEwIl9zKSk7Ci0gICAgRVhQRUNUX0ZBTFNFKFdlYkNvcmU6OlBsYXRmb3JtQ0FBbmltYXRp
b246OmlzVmFsaWRLZXlQYXRoKCJmaWx0ZXJzLmZpbHRlcl8wLmlucHV0QW1vdW50LiJfcykpOwot
ICAgIEVYUEVDVF9GQUxTRShXZWJDb3JlOjpQbGF0Zm9ybUNBQW5pbWF0aW9uOjppc1ZhbGlkS2V5
UGF0aCgiZmlsdGVycy5maWx0ZXJfMC5pbnB1dEFtb3VudHMiX3MpKTsKLSAgICBFWFBFQ1RfRkFM
U0UoV2ViQ29yZTo6UGxhdGZvcm1DQUFuaW1hdGlvbjo6aXNWYWxpZEtleVBhdGgoImZpbHRlcnMu
ZmlsdGVyXy0xMC5pbnB1dEFtb3VudCJfcykpOwotCi0gICAgRVhQRUNUX0ZBTFNFKFdlYkNvcmU6
OlBsYXRmb3JtQ0FBbmltYXRpb246OmlzVmFsaWRLZXlQYXRoKCJkZWFsbG9jIl9zKSk7Ci19Ci0K
LX0K
</data>

          </attachment>
      

    </bug>

</bugzilla>