<?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>233819</bug_id>
          
          <creation_ts>2021-12-03 09:24:04 -0800</creation_ts>
          <short_desc>CSS animation sorting may crash due to AnimationList copy upon CSS Animation removal</short_desc>
          <delta_ts>2021-12-07 00:16:29 -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>Animations</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="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>gnavamarino</cc>
    
    <cc>graouts</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1820170</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-12-03 09:24:04 -0800</bug_when>
    <thetext>CSS animation sorting may crash due to AnimationList copy upon CSS Animation removal</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820183</commentid>
    <comment_count>1</comment_count>
      <attachid>445868</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-12-03 09:42:56 -0800</bug_when>
    <thetext>Created attachment 445868
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820184</commentid>
    <comment_count>2</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-12-03 09:43:02 -0800</bug_when>
    <thetext>&lt;rdar://problem/85596065&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820188</commentid>
    <comment_count>3</comment_count>
      <attachid>445868</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-12-03 09:49:03 -0800</bug_when>
    <thetext>Comment on attachment 445868
Patch

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

&gt; Source/WebCore/ChangeLog:52
&gt; +

When the ChangeLog is much bigger than the change.

&gt; Source/WebCore/platform/animation/AnimationList.h:39
&gt; +    Ref&lt;AnimationList&gt; copy(CopyAnimations copyAnimations = CopyAnimations::Yes) const { return adoptRef(*new AnimationList(*this, copyAnimations)); }

It seems weird that you could have copy(CopyAnimations::No) - until you realise you&apos;re talking about the members of the list. So maybe it should be called CopyAnimationMembers? Or flip it and call it Clone? I don&apos;t know. It&apos;s just a bit confusing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820206</commentid>
    <comment_count>4</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-12-03 10:25:09 -0800</bug_when>
    <thetext>(In reply to Dean Jackson from comment #3)
&gt; Comment on attachment 445868 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=445868&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/animation/AnimationList.h:39
&gt; &gt; +    Ref&lt;AnimationList&gt; copy(CopyAnimations copyAnimations = CopyAnimations::Yes) const { return adoptRef(*new AnimationList(*this, copyAnimations)); }
&gt; 
&gt; It seems weird that you could have copy(CopyAnimations::No) - until you
&gt; realise you&apos;re talking about the members of the list. So maybe it should be
&gt; called CopyAnimationMembers? Or flip it and call it Clone? I don&apos;t know.
&gt; It&apos;s just a bit confusing.

I&apos;ll go with enum class `CopyBehavior { Clone, Reference }`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820211</commentid>
    <comment_count>5</comment_count>
      <attachid>445868</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-12-03 10:31:28 -0800</bug_when>
    <thetext>Comment on attachment 445868
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/animation/AnimationList.h:39
&gt;&gt;&gt; +    Ref&lt;AnimationList&gt; copy(CopyAnimations copyAnimations = CopyAnimations::Yes) const { return adoptRef(*new AnimationList(*this, copyAnimations)); }
&gt;&gt; 
&gt;&gt; It seems weird that you could have copy(CopyAnimations::No) - until you realise you&apos;re talking about the members of the list. So maybe it should be called CopyAnimationMembers? Or flip it and call it Clone? I don&apos;t know. It&apos;s just a bit confusing.
&gt; 
&gt; I&apos;ll go with enum class `CopyBehavior { Clone, Reference }`.

I think it might be better to just have two separate named functions, maybe copy and shallowCopy? We can still use just a single constructor with an argument, but that would be private.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820234</commentid>
    <comment_count>6</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-12-03 11:17:56 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #5)
&gt; Comment on attachment 445868 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=445868&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/platform/animation/AnimationList.h:39
&gt; &gt;&gt;&gt; +    Ref&lt;AnimationList&gt; copy(CopyAnimations copyAnimations = CopyAnimations::Yes) const { return adoptRef(*new AnimationList(*this, copyAnimations)); }
&gt; &gt;&gt; 
&gt; &gt;&gt; It seems weird that you could have copy(CopyAnimations::No) - until you realise you&apos;re talking about the members of the list. So maybe it should be called CopyAnimationMembers? Or flip it and call it Clone? I don&apos;t know. It&apos;s just a bit confusing.
&gt; &gt; 
&gt; &gt; I&apos;ll go with enum class `CopyBehavior { Clone, Reference }`.
&gt; 
&gt; I think it might be better to just have two separate named functions, maybe
&gt; copy and shallowCopy? We can still use just a single constructor with an
&gt; argument, but that would be private.

Event better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820453</commentid>
    <comment_count>7</comment_count>
      <attachid>445969</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-12-04 06:46:20 -0800</bug_when>
    <thetext>Created attachment 445969
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820458</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-04 07:28:55 -0800</bug_when>
    <thetext>Committed r286532 (244864@main): &lt;https://commits.webkit.org/244864@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 445969.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820921</commentid>
    <comment_count>9</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-12-07 00:16:29 -0800</bug_when>
    <thetext>*** Bug 233672 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445868</attachid>
            <date>2021-12-03 09:42:56 -0800</date>
            <delta_ts>2021-12-04 06:46:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233819-20211203184254.patch</filename>
            <type>text/plain</type>
            <size>10411</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MzUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGJiNmQyZjJmYmNkN2I3
ODU1MzIxY2U1YjgwMWQ1YzJmYWNiMzhmNC4uOTBhM2IyZGQ3YWY5Y2NiMGY3NGU4OWM3OWUxNmY0
NTZiYTZlZDc0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDIxLTEyLTAzICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIENTUyBhbmltYXRpb24g
c29ydGluZyBtYXkgY3Jhc2ggZHVlIHRvIEFuaW1hdGlvbkxpc3QgY29weSB1cG9uIENTUyBBbmlt
YXRpb24gcmVtb3ZhbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMzODE5CisgICAgICAgIHJkYXI6Ly84NTU5NjA2NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IHdlYmFuaW1hdGlvbnMvY3NzLWFu
aW1hdGlvbi1zb3J0aW5nLWNyYXNoLTIuaHRtbAorCisgICAgICAgIFdoZW4gcmVzb2x2aW5nIGFu
aW1hdGlvbnMgZHVyaW5nIHN0eWxlIHJlc29sdXRpb24sIHdlIHNvcnQgdGhlbSB0byBlbnN1cmUg
dGhleSdyZSBpbiB0aGUgcmlnaHQKKyAgICAgICAgY29tcG9zaXRlIG9yZGVyIGFzIGRlZmluZWQg
YnkgdGhlIFdlYiBBbmltYXRpb25zIGFuZCByZWxhdGVkIHNwZWNpZmljYXRpb25zLCBpbiB0aGlz
IGNhc2UgdGhlCisgICAgICAgIENTUyBBbmltYXRpb25zIHNwZWNpZmljYXRpb24gZGVmaW5pbmcg
aG93IENTUyBBbmltYXRpb25zIHNldCBvbiBhIGdpdmVuIGVsZW1lbnQgYXJlIHNvcnRlZC4KKwor
ICAgICAgICBJbmRlZWQsIGEgZ2l2ZW4gZWxlbWVudCBtYXkgaGF2ZSBtdWx0aXBsZSBhbmltYXRp
b25zIHNwZWNpZmllZCBvbiBpdCwgYW5kIGluIGZhY3QgaXQgbWF5IGhhdmUKKyAgICAgICAgbXVs
dGlwbGUgaW5zdGFuY2VzIG9mIHRoZSBzYW1lIGFuaW1hdGlvbi4gRm9yIGluc3RhbmNlLCBzZXR0
aW5nIGBhbmltYXRpb24tbmFtZTogYW5pbSwgYW5pbSwgYW5pbWAKKyAgICAgICAgd291bGQgY3Jl
YXRlIHRocmVlIHNlcGFyYXRlIENTUyBBbmltYXRpb25zIGFsbCB3aXRoIHRoZSBzYW1lIGtleWZy
YW1lcyBhbmQgdGltaW5nIHByb3BlcnRpZXMuCisKKyAgICAgICAgVGhlIENTUyBtYWNoaW5lcnkg
d2l0aGluIFdlYktpdCBjcmVhdGVzIGFuIEFuaW1hdGlvbkxpc3QgdG8gcmVmZXJlbmNlIHRoZSBh
bmltYXRpb25zIHBhcnNlZCBmcm9tCisgICAgICAgIENTUy4gRWFjaCBhbmltYXRpb24gaXMgYW4g
QW5pbWF0aW9uIG9iamVjdC4gVGhlc2UgQW5pbWF0aW9uIG9iamVjdHMgYXJlIHJlZi1jb3VudGVk
LgorCisgICAgICAgIFdoZW4gd2UgdXBkYXRlIGFuaW1hdGlvbnMsIHVzaW5nIFN0eWxlYWJsZTo6
dXBkYXRlQ1NTQW5pbWF0aW9ucygpLCB3ZSBjb21wYXJlIHRoZSBjdXJyZW50IEFuaW1hdGlvbkxp
c3QKKyAgICAgICAgZm9yIHRoaXMgc3R5bGUgcmVzb2x1dGlvbiwgd2l0aCB0aGUgcHJldmlvdXMg
QW5pbWF0aW9uTGlzdCBzcGVjaWZpZWQgd2hlbiB0aGlzIG1ldGhvZCB3YXMgbGFzdCBjYWxsZWQK
KyAgICAgICAgZm9yIHRoaXMgZWxlbWVudC4gVGhlIG91dGNvbWUgb2YgdGhpcyBjb21wYXJpc29u
IHdpbGwgeWllbGQgbmV3IENTU0FuaW1hdGlvbiBvYmplY3RzLCB0aGUgcmVtb3ZhbCBvZgorICAg
ICAgICBzdWNoIG9iamVjdHMgb3IgdGhlIHVwZGF0ZSBvZiBleGlzdGluZyBvYmplY3RzIGJ5IHNl
dHRpbmcgdGhlIEFuaW1hdGlvbiBvYmplY3QgYXMgaXRzICJiYWNraW5nIGFuaW1hdGlvbiIuCisK
KyAgICAgICAgV2hlbiB3ZSdyZSBkb25lIHdlIGtlZXAgYSByZWZlcmVuY2UgdG8gdGhlIGN1cnJl
bnQgQW5pbWF0aW9uTGlzdCBvbiB0aGUgZWxlbWVudCdzIEtleWZyYW1lRWZmZWN0U3RhY2suCisK
KyAgICAgICAgTGF0ZXIsIHdoZW4gd2UgcmVzb2x2ZSBhbmltYXRpb25zIGR1cmluZyBzdHlsZSBy
ZXNvbHV0aW9uIGFuZCB3ZSBnZXQgdG8gc29ydCB0aGUgYW5pbWF0aW9ucywgd2Ugd2lsbAorICAg
ICAgICB1c2UgdGhlIEFuaW1hdGlvbkxpc3Qgd2hpY2ggY29udGFpbnMgdGhlIEFuaW1hdGlvbiBv
YmplY3RzIGluIHRoZSBvcmRlciB0aGV5IHdlcmUgc3BlY2lmaWVkIGluIHRoZQorICAgICAgICBg
YW5pbWF0aW9uLWxpc3RgIHByb3BlcnR5IHRvIGVzdGFibGlzaCB0aGUgb3JkZXIgaW4gd2hpY2gg
dGhlIENTU0FuaW1hdGlvbiBvYmplY3RzIHNob3VsZCBiZSBvcmRlcmVkCisgICAgICAgIHJlbGF0
aXZlIHRvIG9uZSBhbm90aGVyLCBiYXNlZCBvbiB0aGVpciAiYmFja2luZyBhbmltYXRpb24iIHdo
aWNoIG11c3QgYmUgYW4gQW5pbWF0aW9uIG9iamVjdCBmb3VuZAorICAgICAgICBpbiB0aGUgQW5p
bWF0aW9uTGlzdC4KKworICAgICAgICBJZiB3ZSBmYWlsIHRvIGZpbmQgbWF0Y2hpbmcgQW5pbWF0
aW9uIG9iamVjdHMsIHdlIGNyYXNoIGR1ZSB0byBhIGNhbGwgdG8gUkVMRUFTRV9BU1NFUlRfTk9U
X1JFQUNIRUQoKQorICAgICAgICBpbiBjb21wYXJlQ1NTQW5pbWF0aW9ucyhjb25zdCBDU1NBbmlt
YXRpb24mLCBjb25zdCBDU1NBbmltYXRpb24mKS4KKworICAgICAgICBTbywgd2h5IHdvdWxkIHdl
IGV2ZXIgZ2V0IGluIGEgc2l0dWF0aW9uIHdoZXJlIHdlIHJlYWNoIHRoaXMgUkVMRUFTRV9BU1NF
UlRfTk9UX1JFQUNIRUQ/IFdlbGwsIHRoZXJlIGlzCisgICAgICAgIGEgc2l0dWF0aW9uIHdoZXJl
IHdlIG1hbmlwdWxhdGUgdGhlIEFuaW1hdGlvbkxpc3Qgc2V0IG9uIHRoZSBLZXlmcmFtZUVmZmVj
dFN0YWNrIGluIFN0eWxlYWJsZTo6dXBkYXRlQ1NTQW5pbWF0aW9ucygpLgorICAgICAgICBUaGF0
IGNhc2UgaXMgd2hlbiBTdHlsZWFibGU6OmNhbmNlbERlY2xhcmF0aXZlQW5pbWF0aW9ucygpIGlz
IGNhbGxlZCwgYW5kIHdlIGNhbGwgdGhlIHN0YXRpYyBmdW5jdGlvbgorICAgICAgICByZW1vdmVD
U1NBbmltYXRpb25DcmVhdGVkQnlNYXJrdXAoKS4gSW4gdGhpcyBmdW5jdGlvbiwgd2UgYWN0dWFs
bHkgbWFrZSBhIGNvcHkgb2YgdGhlIHByZXZpb3VzbHkgcmVjb3JkZWQKKyAgICAgICAgQW5pbWF0
aW9uTGlzdCBiZWNhdXNlIHRoYXQgbGlzdCBpcyBgY29uc3RgIHNvIHdlIGNhbid0IG1hbmlwdWxh
dGUgaXQgZGlyZWN0bHkuIFRvIG1ha2UgdGhpcyBjb3B5IHdlIGNhbGwKKyAgICAgICAgQW5pbWF0
aW9uTGlzdDo6Y29weSgpIHdoaWNoIGNyZWF0ZXMgYSBuZXcgQW5pbWF0aW9uTGlzdCBvYmplY3Qs
IHdoaWNoIGl0c2VsZiBpcyBub3QgdGhlIGlzc3VlLCBidXQgYWxzbworICAgICAgICBtYWtlcyBj
b3BpZXMgb2YgZWFjaCBBbmltYXRpb24gb2JqZWN0IHdpdGhpbi4gTm93LCB0aGF0J3MgdGhlIHBy
b2JsZW0sIGJlY2F1c2UgYXQgdGhpcyBwb2ludCBvdXIgcG9pbnRlcgorICAgICAgICBjb21wYXJp
c29ucyBpbiBjb21wYXJlQ1NTQW5pbWF0aW9ucygpIHdpbGwgZmFpbCBzaW5jZSB0aGUgQW5pbWF0
aW9uIG9iamVjdHMgd2UgcmVjb3JkZWQgaW4KKyAgICAgICAgU3R5bGVhYmxlOjp1cGRhdGVDU1NB
bmltYXRpb25zKCkgd2lsbCBubyBsb25nZXIgYmUgdGhlIHNhbWUgaW5zdGFuY2VzIGFzIHRob3Nl
IGluIHRoZSBtYW5pcHVsYXRlZCBBbmltYXRpb25MaXN0LgorCisgICAgICAgIFRvIGZpeCB0aGlz
LCB3ZSBhZGQgYW4gb3B0aW9uIHRvIEFuaW1hdGlvbkxpc3Q6OmNvcHkoKSB0byBzcGVjaWZ5IHdo
ZXRoZXIgd2Ugd2FudCBjb3BpZXMgb3IgcmVmZXJlbmNlcworICAgICAgICBvZiB0aGUgQW5pbWF0
aW9uIG1lbWJlcnMsIGFuZCB3aGVuIGNhbGxpbmcgcmVtb3ZlQ1NTQW5pbWF0aW9uQ3JlYXRlZEJ5
TWFya3VwKCksIHdlIHNwZWNpZnkgdGhhdCB3ZQorICAgICAgICB3YW50IHJlZmVyZW5jZXMgYW5k
IG5vdCBjb3BpZXMuIFRoaXMgZW5zdXJlcyB0aGF0IHJlbW92aW5nIGFuIGFuaW1hdGlvbiBmcm9t
IHRoZSBsaXN0IHdpbGwgaW5kZWVkCisgICAgICAgIGNyZWF0ZSBhIG5ldyBBbmltYXRpb25MaXN0
LCBidXQgdGhlIHR3byBsaXN0cyB3aWxsIGhhdmUgcmVmZXJlbmNlcyB0byB0aGUgc2FtZSBBbmlt
YXRpb24gb2JqZWN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25M
aXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkxpc3Q6OkFuaW1hdGlvbkxpc3Qp
OgorICAgICAgICAqIHBsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0Lmg6CisgICAgICAg
IChXZWJDb3JlOjpBbmltYXRpb25MaXN0Ojpjb3B5IGNvbnN0KToKKyAgICAgICAgKiBzdHlsZS9T
dHlsZWFibGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVtb3ZlQ1NTQW5pbWF0aW9uQ3JlYXRl
ZEJ5TWFya3VwKToKKwogMjAyMS0xMS0zMCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFw
cGxlLmNvbT4KIAogICAgICAgICBQYXNzIHRoZSB0aW1lc3RhbXAgZm9yIHNjcm9sbGluZyB0aHJl
YWQgYW5pbWF0aW9ucyB0aHJvdWdoIGFsbCB0aGUgc2VydmljZVNjcm9sbEFuaW1hdGlvbigpIGNh
bGxzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0
aW9uTGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9u
TGlzdC5jcHAKaW5kZXggNzM1ZmIyMTI4NjllZWFkYmYyYTE5ZGMyYWQyYjNlNGU3NWZkYWE5Ni4u
YTY4NGYxMDkxNGNjNmM2MzllNTU2Y2M3YWI3YTI1ZWQ3YmVjODE5NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmNwcApAQCAtMzUs
MTIgKzM1LDE2IEBAIGlmIChpKSB7IFwKIAogQW5pbWF0aW9uTGlzdDo6QW5pbWF0aW9uTGlzdCgp
ID0gZGVmYXVsdDsKIAotQW5pbWF0aW9uTGlzdDo6QW5pbWF0aW9uTGlzdChjb25zdCBBbmltYXRp
b25MaXN0JiBvdGhlcikKK0FuaW1hdGlvbkxpc3Q6OkFuaW1hdGlvbkxpc3QoY29uc3QgQW5pbWF0
aW9uTGlzdCYgb3RoZXIsIENvcHlBbmltYXRpb25zIGNvcHlBbmltYXRpb25zKQogICAgIDogUmVm
Q291bnRlZCgpCiB7CiAgICAgbV9hbmltYXRpb25zLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkob3Ro
ZXIuc2l6ZSgpKTsKLSAgICBmb3IgKGF1dG8mIGFuaW1hdGlvbiA6IG90aGVyLm1fYW5pbWF0aW9u
cykKLSAgICAgICAgbV9hbmltYXRpb25zLnVuY2hlY2tlZEFwcGVuZChBbmltYXRpb246OmNyZWF0
ZShhbmltYXRpb24uZ2V0KCkpKTsKKyAgICBmb3IgKGF1dG8mIGFuaW1hdGlvbiA6IG90aGVyLm1f
YW5pbWF0aW9ucykgeworICAgICAgICBpZiAoY29weUFuaW1hdGlvbnMgPT0gQ29weUFuaW1hdGlv
bnM6Ok5vKQorICAgICAgICAgICAgbV9hbmltYXRpb25zLnVuY2hlY2tlZEFwcGVuZChhbmltYXRp
b24uZ2V0KCkpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBtX2FuaW1hdGlvbnMudW5jaGVj
a2VkQXBwZW5kKEFuaW1hdGlvbjo6Y3JlYXRlKGFuaW1hdGlvbi5nZXQoKSkpOworICAgIH0KIH0K
IAogdm9pZCBBbmltYXRpb25MaXN0OjpmaWxsVW5zZXRQcm9wZXJ0aWVzKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5oCmluZGV4IGI0MWI2
Yzc2ZjEwNmIyYjliY2U2OTc5MmViMTVkZDc3MDhkN2NhM2EuLmY3YzAwOTUzOThkODcwYjA5YWYx
MWVhZGM5MWM4M2IzMTljOGM2N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuaApAQCAtMzUsNyArMzUsOCBAQCBjbGFzcyBBbmltYXRp
b25MaXN0IDogcHVibGljIFJlZkNvdW50ZWQ8QW5pbWF0aW9uTGlzdD4gewogcHVibGljOgogICAg
IHN0YXRpYyBSZWY8QW5pbWF0aW9uTGlzdD4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5l
dyBBbmltYXRpb25MaXN0KTsgfQogCi0gICAgUmVmPEFuaW1hdGlvbkxpc3Q+IGNvcHkoKSBjb25z
dCB7IHJldHVybiBhZG9wdFJlZigqbmV3IEFuaW1hdGlvbkxpc3QoKnRoaXMpKTsgfQorICAgIGVu
dW0gY2xhc3MgQ29weUFuaW1hdGlvbnMgOiB1aW50OF90IHsgWWVzLCBObyB9OworICAgIFJlZjxB
bmltYXRpb25MaXN0PiBjb3B5KENvcHlBbmltYXRpb25zIGNvcHlBbmltYXRpb25zID0gQ29weUFu
aW1hdGlvbnM6OlllcykgY29uc3QgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBBbmltYXRpb25MaXN0
KCp0aGlzLCBjb3B5QW5pbWF0aW9ucykpOyB9CiAKICAgICB2b2lkIGZpbGxVbnNldFByb3BlcnRp
ZXMoKTsKICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgQW5pbWF0aW9uTGlzdCYpIGNvbnN0OwpA
QCAtNTYsNyArNTcsNyBAQCBwdWJsaWM6CiAgICAgCiBwcml2YXRlOgogICAgIEFuaW1hdGlvbkxp
c3QoKTsKLSAgICBBbmltYXRpb25MaXN0KGNvbnN0IEFuaW1hdGlvbkxpc3QmKTsKKyAgICBBbmlt
YXRpb25MaXN0KGNvbnN0IEFuaW1hdGlvbkxpc3QmLCBDb3B5QW5pbWF0aW9ucyk7CiAKICAgICBB
bmltYXRpb25MaXN0JiBvcGVyYXRvcj0oY29uc3QgQW5pbWF0aW9uTGlzdCYpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZWFibGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
c3R5bGUvU3R5bGVhYmxlLmNwcAppbmRleCA5ZjVkNTg4NTM2MmM0MDI1MzZlZjRkMDI1YzI1YmY0
ODhjN2QyNjZlLi42ZWExMGJhOWU4MjI0ZDY5NDIyMDdlMjM0MDQzYzk5MmExMDIxNDg1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZWFibGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N0eWxlL1N0eWxlYWJsZS5jcHAKQEAgLTE2Myw3ICsxNjMsMTEgQEAgc3RhdGljIHZv
aWQgcmVtb3ZlQ1NTQW5pbWF0aW9uQ3JlYXRlZEJ5TWFya3VwKGNvbnN0IFN0eWxlYWJsZSYgc3R5
bGVhYmxlLCBDU1NBbmkKICAgICBhdXRvJiBiYWNraW5nQW5pbWF0aW9uID0gY3NzQW5pbWF0aW9u
LmJhY2tpbmdBbmltYXRpb24oKTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNzc0FuaW1h
dGlvbkxpc3QtPnNpemUoKTsgKytpKSB7CiAgICAgICAgIGlmIChjc3NBbmltYXRpb25MaXN0LT5h
bmltYXRpb24oaSkgPT0gYmFja2luZ0FuaW1hdGlvbikgewotICAgICAgICAgICAgYXV0byBuZXdB
bmltYXRpb25MaXN0ID0gY3NzQW5pbWF0aW9uTGlzdC0+Y29weSgpOworICAgICAgICAgICAgLy8g
SXQgaXMgaW1wb3J0YW50IHdlIGRvIG5vdCBtYWtlIGEgY29weSBvZiB0aGUgQW5pbWF0aW9uIHJl
ZmVyZW5jZXMgY29udGFpbmVkCisgICAgICAgICAgICAvLyB3aXRoaW4gY3NzQW5pbWF0aW9uTGlz
dCBzaW5jZSBzb3J0aW5nIGFuaW1hdGlvbnMgaW4gY29tcGFyZUNTU0FuaW1hdGlvbnMoKQorICAg
ICAgICAgICAgLy8gbWFrZXMgcG9pbnRlciBjb21wYXJpc29ucyB0byBkaXN0aW5ndWlzaCBiZXR3
ZWVuIGJhY2tpbmcgYW5pbWF0aW9ucyBvZiB2YXJpb3VzCisgICAgICAgICAgICAvLyBDU1NBbmlt
YXRpb24gb2JqZWN0cy4KKyAgICAgICAgICAgIGF1dG8gbmV3QW5pbWF0aW9uTGlzdCA9IGNzc0Fu
aW1hdGlvbkxpc3QtPmNvcHkoQW5pbWF0aW9uTGlzdDo6Q29weUFuaW1hdGlvbnM6Ok5vKTsKICAg
ICAgICAgICAgIG5ld0FuaW1hdGlvbkxpc3QtPnJlbW92ZShpKTsKICAgICAgICAgICAgIGtleWZy
YW1lRWZmZWN0U3RhY2suc2V0Q1NTQW5pbWF0aW9uTGlzdChXVEZNb3ZlKG5ld0FuaW1hdGlvbkxp
c3QpKTsKICAgICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5YjA2M2Q0NjEwOGJlZWNiNzlhMjJk
YzhlMWE4M2QzOWFjNzNlMjJiLi40OWFlMmI1OGY0ZDM0MzRiNWQwZDI4OTE1MjhkMDFiYTcxMWQy
MWJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMTItMDMgIEFudG9pbmUgUXVpbnQgIDxn
cmFvdXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ1NTIGFuaW1hdGlvbiBzb3J0aW5nIG1heSBj
cmFzaCBkdWUgdG8gQW5pbWF0aW9uTGlzdCBjb3B5IHVwb24gQ1NTIEFuaW1hdGlvbiByZW1vdmFs
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM4MTkK
KyAgICAgICAgcmRhcjovLzg1NTk2MDY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIGEgdGVzdCB0aGF0IHVzZWQgdG8gY3Jhc2ggYmVmb3JlIHRo
aXMgcGF0Y2guCisKKyAgICAgICAgKiB3ZWJhbmltYXRpb25zL2Nzcy1hbmltYXRpb24tc29ydGlu
Zy1jcmFzaC0yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViYW5pbWF0aW9ucy9j
c3MtYW5pbWF0aW9uLXNvcnRpbmctY3Jhc2gtMi5odG1sOiBBZGRlZC4KKwogMjAyMS0xMS0zMCAg
Um9iZXJ0IEplbm5lciAgPEplbm5lckBhcHBsZS5jb20+CiAKICAgICAgICAgUkVCQVNFTElORSBb
IE1vbnRlcmV5IF1mYXN0L2Nzcy9jb250aW51YXRpb25DcmFzaC5odG1sIChsYXlvdXQtdGVzdCkg
aXMgYSBjb25zdGFudCB0ZXh0IGZhaWx1cmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmFu
aW1hdGlvbnMvY3NzLWFuaW1hdGlvbi1zb3J0aW5nLWNyYXNoLTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvd2ViYW5pbWF0aW9ucy9jc3MtYW5pbWF0aW9uLXNvcnRpbmctY3Jhc2gtMi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYjFlYzdkMmNjOGE5M2JjMzM2OTJkZDY1NDQxYTk4YjQxNjZj
N2ViMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmFuaW1hdGlvbnMvY3NzLWFu
aW1hdGlvbi1zb3J0aW5nLWNyYXNoLTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorUEFT
UyBpZiB0aGlzIHRlc3QgZG9lc24ndCBjcmFzaAorCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViYW5pbWF0aW9ucy9jc3MtYW5pbWF0aW9uLXNvcnRpbmctY3Jhc2gtMi5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViYW5pbWF0aW9ucy9jc3MtYW5pbWF0aW9uLXNvcnRpbmctY3Jhc2gtMi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjc4ZjE0YjUwOGMzYjBmZmRiMjA1YmUyYmM3ZDU5YzcyZTY5Y2ZjYjUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhbmltYXRpb25zL2Nzcy1hbmltYXRpb24t
c29ydGluZy1jcmFzaC0yLmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8
c3R5bGU+PC9zdHlsZT4KKzxzY3JpcHQ+CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB3
aW5kb3cudGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKK29ubG9hZCA9IGFzeW5jICgpID0+IHsK
KyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcp
KTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzbG90
JykpOworICAgIGxldCBuMyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2JyJyk7CisgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmQobjMpOworICAgIGxldCBuNyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2RpdicpOworICAgIG4zLmFwcGVuZChuNyk7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmQo
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKSk7CisgICAgZG9jdW1lbnQuYm9keS5vZmZz
ZXRUb3A7CisgICAgbjcuYXBwZW5kKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgnU2VsZWN0QWxsJyk7CisgICAgYXdhaXQgY2FjaGVzLmhh
cygnYScpOworICAgIGRvY3VtZW50LmRlc2lnbk1vZGUgPSAnb24nOworICAgIGRvY3VtZW50LnN0
eWxlU2hlZXRzWzBdLmluc2VydFJ1bGUoYEBrZXlmcmFtZXMgYTEgeyB9YCk7CisgICAgZG9jdW1l
bnQuc3R5bGVTaGVldHNbMF0uaW5zZXJ0UnVsZShgc2xvdCB7IGFuaW1hdGlvbi1kZWxheTogMjVt
czsgfWApOworICAgIG9uYmVmb3JldW5sb2FkID0gKCkgPT4gZG9jdW1lbnQuZXhlY0NvbW1hbmQo
J0JvbGQnKTsKK307CisKKzwvc2NyaXB0PgorPHA+UEFTUyBpZiB0aGlzIHRlc3QgZG9lc24ndCBj
cmFzaDwvcD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445969</attachid>
            <date>2021-12-04 06:46:20 -0800</date>
            <delta_ts>2021-12-04 07:28:56 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-233819-20211204154619.patch</filename>
            <type>text/plain</type>
            <size>10568</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MzUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGJiNmQyZjJmYmNkN2I3
ODU1MzIxY2U1YjgwMWQ1YzJmYWNiMzhmNC4uMjkwMmE3YjBjODkyZWEyMTI4YzhkMjYzNmU5NjE4
Y2E1ODQzOTMyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDIxLTEyLTAzICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIENTUyBhbmltYXRpb24g
c29ydGluZyBtYXkgY3Jhc2ggZHVlIHRvIEFuaW1hdGlvbkxpc3QgY29weSB1cG9uIENTUyBBbmlt
YXRpb24gcmVtb3ZhbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMzODE5CisgICAgICAgIHJkYXI6Ly84NTU5NjA2NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IERlYW4gSmFja3NvbiBhbmQgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgVGVzdDogd2ViYW5p
bWF0aW9ucy9jc3MtYW5pbWF0aW9uLXNvcnRpbmctY3Jhc2gtMi5odG1sCisKKyAgICAgICAgV2hl
biByZXNvbHZpbmcgYW5pbWF0aW9ucyBkdXJpbmcgc3R5bGUgcmVzb2x1dGlvbiwgd2Ugc29ydCB0
aGVtIHRvIGVuc3VyZSB0aGV5J3JlIGluIHRoZSByaWdodAorICAgICAgICBjb21wb3NpdGUgb3Jk
ZXIgYXMgZGVmaW5lZCBieSB0aGUgV2ViIEFuaW1hdGlvbnMgYW5kIHJlbGF0ZWQgc3BlY2lmaWNh
dGlvbnMsIGluIHRoaXMgY2FzZSB0aGUKKyAgICAgICAgQ1NTIEFuaW1hdGlvbnMgc3BlY2lmaWNh
dGlvbiBkZWZpbmluZyBob3cgQ1NTIEFuaW1hdGlvbnMgc2V0IG9uIGEgZ2l2ZW4gZWxlbWVudCBh
cmUgc29ydGVkLgorCisgICAgICAgIEluZGVlZCwgYSBnaXZlbiBlbGVtZW50IG1heSBoYXZlIG11
bHRpcGxlIGFuaW1hdGlvbnMgc3BlY2lmaWVkIG9uIGl0LCBhbmQgaW4gZmFjdCBpdCBtYXkgaGF2
ZQorICAgICAgICBtdWx0aXBsZSBpbnN0YW5jZXMgb2YgdGhlIHNhbWUgYW5pbWF0aW9uLiBGb3Ig
aW5zdGFuY2UsIHNldHRpbmcgYGFuaW1hdGlvbi1uYW1lOiBhbmltLCBhbmltLCBhbmltYAorICAg
ICAgICB3b3VsZCBjcmVhdGUgdGhyZWUgc2VwYXJhdGUgQ1NTIEFuaW1hdGlvbnMgYWxsIHdpdGgg
dGhlIHNhbWUga2V5ZnJhbWVzIGFuZCB0aW1pbmcgcHJvcGVydGllcy4KKworICAgICAgICBUaGUg
Q1NTIG1hY2hpbmVyeSB3aXRoaW4gV2ViS2l0IGNyZWF0ZXMgYW4gQW5pbWF0aW9uTGlzdCB0byBy
ZWZlcmVuY2UgdGhlIGFuaW1hdGlvbnMgcGFyc2VkIGZyb20KKyAgICAgICAgQ1NTLiBFYWNoIGFu
aW1hdGlvbiBpcyBhbiBBbmltYXRpb24gb2JqZWN0LiBUaGVzZSBBbmltYXRpb24gb2JqZWN0cyBh
cmUgcmVmLWNvdW50ZWQuCisKKyAgICAgICAgV2hlbiB3ZSB1cGRhdGUgYW5pbWF0aW9ucywgdXNp
bmcgU3R5bGVhYmxlOjp1cGRhdGVDU1NBbmltYXRpb25zKCksIHdlIGNvbXBhcmUgdGhlIGN1cnJl
bnQgQW5pbWF0aW9uTGlzdAorICAgICAgICBmb3IgdGhpcyBzdHlsZSByZXNvbHV0aW9uLCB3aXRo
IHRoZSBwcmV2aW91cyBBbmltYXRpb25MaXN0IHNwZWNpZmllZCB3aGVuIHRoaXMgbWV0aG9kIHdh
cyBsYXN0IGNhbGxlZAorICAgICAgICBmb3IgdGhpcyBlbGVtZW50LiBUaGUgb3V0Y29tZSBvZiB0
aGlzIGNvbXBhcmlzb24gd2lsbCB5aWVsZCBuZXcgQ1NTQW5pbWF0aW9uIG9iamVjdHMsIHRoZSBy
ZW1vdmFsIG9mCisgICAgICAgIHN1Y2ggb2JqZWN0cyBvciB0aGUgdXBkYXRlIG9mIGV4aXN0aW5n
IG9iamVjdHMgYnkgc2V0dGluZyB0aGUgQW5pbWF0aW9uIG9iamVjdCBhcyBpdHMgImJhY2tpbmcg
YW5pbWF0aW9uIi4KKworICAgICAgICBXaGVuIHdlJ3JlIGRvbmUgd2Uga2VlcCBhIHJlZmVyZW5j
ZSB0byB0aGUgY3VycmVudCBBbmltYXRpb25MaXN0IG9uIHRoZSBlbGVtZW50J3MgS2V5ZnJhbWVF
ZmZlY3RTdGFjay4KKworICAgICAgICBMYXRlciwgd2hlbiB3ZSByZXNvbHZlIGFuaW1hdGlvbnMg
ZHVyaW5nIHN0eWxlIHJlc29sdXRpb24gYW5kIHdlIGdldCB0byBzb3J0IHRoZSBhbmltYXRpb25z
LCB3ZSB3aWxsCisgICAgICAgIHVzZSB0aGUgQW5pbWF0aW9uTGlzdCB3aGljaCBjb250YWlucyB0
aGUgQW5pbWF0aW9uIG9iamVjdHMgaW4gdGhlIG9yZGVyIHRoZXkgd2VyZSBzcGVjaWZpZWQgaW4g
dGhlCisgICAgICAgIGBhbmltYXRpb24tbGlzdGAgcHJvcGVydHkgdG8gZXN0YWJsaXNoIHRoZSBv
cmRlciBpbiB3aGljaCB0aGUgQ1NTQW5pbWF0aW9uIG9iamVjdHMgc2hvdWxkIGJlIG9yZGVyZWQK
KyAgICAgICAgcmVsYXRpdmUgdG8gb25lIGFub3RoZXIsIGJhc2VkIG9uIHRoZWlyICJiYWNraW5n
IGFuaW1hdGlvbiIgd2hpY2ggbXVzdCBiZSBhbiBBbmltYXRpb24gb2JqZWN0IGZvdW5kCisgICAg
ICAgIGluIHRoZSBBbmltYXRpb25MaXN0LgorCisgICAgICAgIElmIHdlIGZhaWwgdG8gZmluZCBt
YXRjaGluZyBBbmltYXRpb24gb2JqZWN0cywgd2UgY3Jhc2ggZHVlIHRvIGEgY2FsbCB0byBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpCisgICAgICAgIGluIGNvbXBhcmVDU1NBbmltYXRpb25z
KGNvbnN0IENTU0FuaW1hdGlvbiYsIGNvbnN0IENTU0FuaW1hdGlvbiYpLgorCisgICAgICAgIFNv
LCB3aHkgd291bGQgd2UgZXZlciBnZXQgaW4gYSBzaXR1YXRpb24gd2hlcmUgd2UgcmVhY2ggdGhp
cyBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRD8gV2VsbCwgdGhlcmUgaXMKKyAgICAgICAgYSBz
aXR1YXRpb24gd2hlcmUgd2UgbWFuaXB1bGF0ZSB0aGUgQW5pbWF0aW9uTGlzdCBzZXQgb24gdGhl
IEtleWZyYW1lRWZmZWN0U3RhY2sgaW4gU3R5bGVhYmxlOjp1cGRhdGVDU1NBbmltYXRpb25zKCku
CisgICAgICAgIFRoYXQgY2FzZSBpcyB3aGVuIFN0eWxlYWJsZTo6Y2FuY2VsRGVjbGFyYXRpdmVB
bmltYXRpb25zKCkgaXMgY2FsbGVkLCBhbmQgd2UgY2FsbCB0aGUgc3RhdGljIGZ1bmN0aW9uCisg
ICAgICAgIHJlbW92ZUNTU0FuaW1hdGlvbkNyZWF0ZWRCeU1hcmt1cCgpLiBJbiB0aGlzIGZ1bmN0
aW9uLCB3ZSBhY3R1YWxseSBtYWtlIGEgY29weSBvZiB0aGUgcHJldmlvdXNseSByZWNvcmRlZAor
ICAgICAgICBBbmltYXRpb25MaXN0IGJlY2F1c2UgdGhhdCBsaXN0IGlzIGBjb25zdGAgc28gd2Ug
Y2FuJ3QgbWFuaXB1bGF0ZSBpdCBkaXJlY3RseS4gVG8gbWFrZSB0aGlzIGNvcHkgd2UgY2FsbAor
ICAgICAgICBBbmltYXRpb25MaXN0Ojpjb3B5KCkgd2hpY2ggY3JlYXRlcyBhIG5ldyBBbmltYXRp
b25MaXN0IG9iamVjdCwgd2hpY2ggaXRzZWxmIGlzIG5vdCB0aGUgaXNzdWUsIGJ1dCBhbHNvCisg
ICAgICAgIG1ha2VzIGNvcGllcyBvZiBlYWNoIEFuaW1hdGlvbiBvYmplY3Qgd2l0aGluLiBOb3cs
IHRoYXQncyB0aGUgcHJvYmxlbSwgYmVjYXVzZSBhdCB0aGlzIHBvaW50IG91ciBwb2ludGVyCisg
ICAgICAgIGNvbXBhcmlzb25zIGluIGNvbXBhcmVDU1NBbmltYXRpb25zKCkgd2lsbCBmYWlsIHNp
bmNlIHRoZSBBbmltYXRpb24gb2JqZWN0cyB3ZSByZWNvcmRlZCBpbgorICAgICAgICBTdHlsZWFi
bGU6OnVwZGF0ZUNTU0FuaW1hdGlvbnMoKSB3aWxsIG5vIGxvbmdlciBiZSB0aGUgc2FtZSBpbnN0
YW5jZXMgYXMgdGhvc2UgaW4gdGhlIG1hbmlwdWxhdGVkIEFuaW1hdGlvbkxpc3QuCisKKyAgICAg
ICAgVG8gZml4IHRoaXMsIHdlIGFkZCBhIG5ldyBBbmltYXRpb25MaXN0OjpzaGFsbG93Q29weSgp
IG1ldGhvZCB0byBzcGVjaWZ5IHdoZXRoZXIgd2Ugd2FudCBjbG9uZXMgb3IgcmVmZXJlbmNlcwor
ICAgICAgICBvZiB0aGUgQW5pbWF0aW9uIG1lbWJlcnMsIGFuZCB3aGVuIGNhbGxpbmcgcmVtb3Zl
Q1NTQW5pbWF0aW9uQ3JlYXRlZEJ5TWFya3VwKCksIHdlIHVzZSB0aGlzIG5ldyBtZXRob2Qgc3Vj
aAorICAgICAgICB0aGF0IHdlIGdldCByZWZlcmVuY2VzIGFuZCBub3QgY2xvbmVzLiBUaGlzIGVu
c3VyZXMgdGhhdCByZW1vdmluZyBhbiBhbmltYXRpb24gZnJvbSB0aGUgbGlzdCB3aWxsIGluZGVl
ZAorICAgICAgICBjcmVhdGUgYSBuZXcgQW5pbWF0aW9uTGlzdCwgYnV0IHRoZSB0d28gbGlzdHMg
d2lsbCBoYXZlIHJlZmVyZW5jZXMgdG8gdGhlIHNhbWUgQW5pbWF0aW9uIG9iamVjdHMuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpBbmltYXRpb25MaXN0OjpBbmltYXRpb25MaXN0KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5oOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9u
TGlzdDo6Y29weSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25MaXN0OjpzaGFs
bG93Q29weSBjb25zdCk6CisgICAgICAgICogc3R5bGUvU3R5bGVhYmxlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnJlbW92ZUNTU0FuaW1hdGlvbkNyZWF0ZWRCeU1hcmt1cCk6CisKIDIwMjEtMTEt
MzAgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUGFz
cyB0aGUgdGltZXN0YW1wIGZvciBzY3JvbGxpbmcgdGhyZWFkIGFuaW1hdGlvbnMgdGhyb3VnaCBh
bGwgdGhlIHNlcnZpY2VTY3JvbGxBbmltYXRpb24oKSBjYWxscwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuY3BwCmluZGV4IDczNWZiMjEy
ODY5ZWVhZGJmMmExOWRjMmFkMmIzZTRlNzVmZGFhOTYuLjM1MTYwZjkzZWMzNmQ2NmMzMDI0NGZm
N2IxYTQ1NTVmY2JjZDUyN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Fu
aW1hdGlvbi9BbmltYXRpb25MaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
bmltYXRpb24vQW5pbWF0aW9uTGlzdC5jcHAKQEAgLTM1LDEyICszNSwxNiBAQCBpZiAoaSkgeyBc
CiAKIEFuaW1hdGlvbkxpc3Q6OkFuaW1hdGlvbkxpc3QoKSA9IGRlZmF1bHQ7CiAKLUFuaW1hdGlv
bkxpc3Q6OkFuaW1hdGlvbkxpc3QoY29uc3QgQW5pbWF0aW9uTGlzdCYgb3RoZXIpCitBbmltYXRp
b25MaXN0OjpBbmltYXRpb25MaXN0KGNvbnN0IEFuaW1hdGlvbkxpc3QmIG90aGVyLCBDb3B5QmVo
YXZpb3IgY29weUJlaGF2aW9yKQogICAgIDogUmVmQ291bnRlZCgpCiB7CiAgICAgbV9hbmltYXRp
b25zLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkob3RoZXIuc2l6ZSgpKTsKLSAgICBmb3IgKGF1dG8m
IGFuaW1hdGlvbiA6IG90aGVyLm1fYW5pbWF0aW9ucykKLSAgICAgICAgbV9hbmltYXRpb25zLnVu
Y2hlY2tlZEFwcGVuZChBbmltYXRpb246OmNyZWF0ZShhbmltYXRpb24uZ2V0KCkpKTsKKyAgICBm
b3IgKGF1dG8mIGFuaW1hdGlvbiA6IG90aGVyLm1fYW5pbWF0aW9ucykgeworICAgICAgICBpZiAo
Y29weUJlaGF2aW9yID09IENvcHlCZWhhdmlvcjo6UmVmZXJlbmNlKQorICAgICAgICAgICAgbV9h
bmltYXRpb25zLnVuY2hlY2tlZEFwcGVuZChhbmltYXRpb24uZ2V0KCkpOworICAgICAgICBlbHNl
CisgICAgICAgICAgICBtX2FuaW1hdGlvbnMudW5jaGVja2VkQXBwZW5kKEFuaW1hdGlvbjo6Y3Jl
YXRlKGFuaW1hdGlvbi5nZXQoKSkpOworICAgIH0KIH0KIAogdm9pZCBBbmltYXRpb25MaXN0Ojpm
aWxsVW5zZXRQcm9wZXJ0aWVzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmlt
YXRpb24vQW5pbWF0aW9uTGlzdC5oCmluZGV4IGI0MWI2Yzc2ZjEwNmIyYjliY2U2OTc5MmViMTVk
ZDc3MDhkN2NhM2EuLmZlYzljNDUzZjVhY2QyY2U2YzU2ZjZlNmVmMWIyZjhhMDY4YTRhN2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3Qu
aApAQCAtMzUsNyArMzUsOCBAQCBjbGFzcyBBbmltYXRpb25MaXN0IDogcHVibGljIFJlZkNvdW50
ZWQ8QW5pbWF0aW9uTGlzdD4gewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8QW5pbWF0aW9uTGlz
dD4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBBbmltYXRpb25MaXN0KTsgfQogCi0g
ICAgUmVmPEFuaW1hdGlvbkxpc3Q+IGNvcHkoKSBjb25zdCB7IHJldHVybiBhZG9wdFJlZigqbmV3
IEFuaW1hdGlvbkxpc3QoKnRoaXMpKTsgfQorICAgIFJlZjxBbmltYXRpb25MaXN0PiBjb3B5KCkg
Y29uc3QgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBBbmltYXRpb25MaXN0KCp0aGlzLCBDb3B5QmVo
YXZpb3I6OkNsb25lKSk7IH0KKyAgICBSZWY8QW5pbWF0aW9uTGlzdD4gc2hhbGxvd0NvcHkoKSBj
b25zdCB7IHJldHVybiBhZG9wdFJlZigqbmV3IEFuaW1hdGlvbkxpc3QoKnRoaXMsIENvcHlCZWhh
dmlvcjo6UmVmZXJlbmNlKSk7IH0KIAogICAgIHZvaWQgZmlsbFVuc2V0UHJvcGVydGllcygpOwog
ICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBBbmltYXRpb25MaXN0JikgY29uc3Q7CkBAIC01Niw3
ICs1Nyw5IEBAIHB1YmxpYzoKICAgICAKIHByaXZhdGU6CiAgICAgQW5pbWF0aW9uTGlzdCgpOwot
ICAgIEFuaW1hdGlvbkxpc3QoY29uc3QgQW5pbWF0aW9uTGlzdCYpOworCisgICAgZW51bSBjbGFz
cyBDb3B5QmVoYXZpb3IgOiB1aW50OF90IHsgQ2xvbmUsIFJlZmVyZW5jZSB9OworICAgIEFuaW1h
dGlvbkxpc3QoY29uc3QgQW5pbWF0aW9uTGlzdCYsIENvcHlCZWhhdmlvcik7CiAKICAgICBBbmlt
YXRpb25MaXN0JiBvcGVyYXRvcj0oY29uc3QgQW5pbWF0aW9uTGlzdCYpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZWFibGUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5
bGUvU3R5bGVhYmxlLmNwcAppbmRleCA5ZjVkNTg4NTM2MmM0MDI1MzZlZjRkMDI1YzI1YmY0ODhj
N2QyNjZlLi45ODA3YzVkNTc3ZmIxYzQ4ZDBlNzhjNTVhMDMyODg5OWNlNjI0MTY0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZWFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1N0eWxlYWJsZS5jcHAKQEAgLTE2Myw3ICsxNjMsMTEgQEAgc3RhdGljIHZvaWQg
cmVtb3ZlQ1NTQW5pbWF0aW9uQ3JlYXRlZEJ5TWFya3VwKGNvbnN0IFN0eWxlYWJsZSYgc3R5bGVh
YmxlLCBDU1NBbmkKICAgICBhdXRvJiBiYWNraW5nQW5pbWF0aW9uID0gY3NzQW5pbWF0aW9uLmJh
Y2tpbmdBbmltYXRpb24oKTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNzc0FuaW1hdGlv
bkxpc3QtPnNpemUoKTsgKytpKSB7CiAgICAgICAgIGlmIChjc3NBbmltYXRpb25MaXN0LT5hbmlt
YXRpb24oaSkgPT0gYmFja2luZ0FuaW1hdGlvbikgewotICAgICAgICAgICAgYXV0byBuZXdBbmlt
YXRpb25MaXN0ID0gY3NzQW5pbWF0aW9uTGlzdC0+Y29weSgpOworICAgICAgICAgICAgLy8gSXQg
aXMgaW1wb3J0YW50IHdlIGRvIG5vdCBtYWtlIGEgY2xvbmUgb2YgdGhlIEFuaW1hdGlvbiByZWZl
cmVuY2VzIGNvbnRhaW5lZAorICAgICAgICAgICAgLy8gd2l0aGluIGNzc0FuaW1hdGlvbkxpc3Qg
c2luY2Ugc29ydGluZyBhbmltYXRpb25zIGluIGNvbXBhcmVDU1NBbmltYXRpb25zKCkKKyAgICAg
ICAgICAgIC8vIG1ha2VzIHBvaW50ZXIgY29tcGFyaXNvbnMgdG8gZGlzdGluZ3Vpc2ggYmV0d2Vl
biBiYWNraW5nIGFuaW1hdGlvbnMgb2YgdmFyaW91cworICAgICAgICAgICAgLy8gQ1NTQW5pbWF0
aW9uIG9iamVjdHMuCisgICAgICAgICAgICBhdXRvIG5ld0FuaW1hdGlvbkxpc3QgPSBjc3NBbmlt
YXRpb25MaXN0LT5zaGFsbG93Q29weSgpOwogICAgICAgICAgICAgbmV3QW5pbWF0aW9uTGlzdC0+
cmVtb3ZlKGkpOwogICAgICAgICAgICAga2V5ZnJhbWVFZmZlY3RTdGFjay5zZXRDU1NBbmltYXRp
b25MaXN0KFdURk1vdmUobmV3QW5pbWF0aW9uTGlzdCkpOwogICAgICAgICAgICAgcmV0dXJuOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDliMDYzZDQ2MTA4YmVlY2I3OWEyMmRjOGUxYTgzZDM5YWM3M2UyMmIuLmQ3MzMzYTBm
M2M1ODU2Y2Y0MjVjMDA4YzU4YmU3OGQ0ZTFjMDlmMjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAor
MjAyMS0xMi0wMyAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KKworICAgICAg
ICBDU1MgYW5pbWF0aW9uIHNvcnRpbmcgbWF5IGNyYXNoIGR1ZSB0byBBbmltYXRpb25MaXN0IGNv
cHkgdXBvbiBDU1MgQW5pbWF0aW9uIHJlbW92YWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzgxOQorICAgICAgICByZGFyOi8vODU1OTYwNjUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEZWFuIEphY2tzb24gYW5kIERhcmluIEFkbGVyLgorCisgICAg
ICAgIEFkZCBhIHRlc3QgdGhhdCB1c2VkIHRvIGNyYXNoIGJlZm9yZSB0aGlzIHBhdGNoLgorCisg
ICAgICAgICogd2ViYW5pbWF0aW9ucy9jc3MtYW5pbWF0aW9uLXNvcnRpbmctY3Jhc2gtMi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmFuaW1hdGlvbnMvY3NzLWFuaW1hdGlvbi1z
b3J0aW5nLWNyYXNoLTIuaHRtbDogQWRkZWQuCisKIDIwMjEtMTEtMzAgIFJvYmVydCBKZW5uZXIg
IDxKZW5uZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJFQkFTRUxJTkUgWyBNb250ZXJleSBdZmFz
dC9jc3MvY29udGludWF0aW9uQ3Jhc2guaHRtbCAobGF5b3V0LXRlc3QpIGlzIGEgY29uc3RhbnQg
dGV4dCBmYWlsdXJlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhbmltYXRpb25zL2Nzcy1h
bmltYXRpb24tc29ydGluZy1jcmFzaC0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmFu
aW1hdGlvbnMvY3NzLWFuaW1hdGlvbi1zb3J0aW5nLWNyYXNoLTItZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmIxZWM3ZDJjYzhhOTNiYzMzNjkyZGQ2NTQ0MWE5OGI0MTY2YzdlYjMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhbmltYXRpb25zL2Nzcy1hbmltYXRpb24tc29ydGlu
Zy1jcmFzaC0yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK1BBU1MgaWYgdGhpcyB0ZXN0
IGRvZXNuJ3QgY3Jhc2gKKworCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmFuaW1hdGlv
bnMvY3NzLWFuaW1hdGlvbi1zb3J0aW5nLWNyYXNoLTIuaHRtbCBiL0xheW91dFRlc3RzL3dlYmFu
aW1hdGlvbnMvY3NzLWFuaW1hdGlvbi1zb3J0aW5nLWNyYXNoLTIuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
OGYxNGI1MDhjM2IwZmZkYjIwNWJlMmJjN2Q1OWM3MmU2OWNmY2I1Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViYW5pbWF0aW9ucy9jc3MtYW5pbWF0aW9uLXNvcnRpbmctY3Jhc2gt
Mi5odG1sCkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPHN0eWxlPjwvc3R5bGU+
Cis8c2NyaXB0PgorCitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgd2luZG93LnRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOworCitvbmxvYWQgPSBhc3luYyAoKSA9PiB7CisgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKSk7CisgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2xvdCcpKTsKKyAgICBsZXQg
bjMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdicicpOworICAgIGRvY3VtZW50LmJvZHkuYXBw
ZW5kKG4zKTsKKyAgICBsZXQgbjcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAg
ICBuMy5hcHBlbmQobjcpOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kKGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2lucHV0JykpOworICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0VG9wOworICAgIG43
LmFwcGVuZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoJ1NlbGVjdEFsbCcpOworICAgIGF3YWl0IGNhY2hlcy5oYXMoJ2EnKTsKKyAgICBk
b2N1bWVudC5kZXNpZ25Nb2RlID0gJ29uJzsKKyAgICBkb2N1bWVudC5zdHlsZVNoZWV0c1swXS5p
bnNlcnRSdWxlKGBAa2V5ZnJhbWVzIGExIHsgfWApOworICAgIGRvY3VtZW50LnN0eWxlU2hlZXRz
WzBdLmluc2VydFJ1bGUoYHNsb3QgeyBhbmltYXRpb24tZGVsYXk6IDI1bXM7IH1gKTsKKyAgICBv
bmJlZm9yZXVubG9hZCA9ICgpID0+IGRvY3VtZW50LmV4ZWNDb21tYW5kKCdCb2xkJyk7Cit9Owor
Cis8L3NjcmlwdD4KKzxwPlBBU1MgaWYgdGhpcyB0ZXN0IGRvZXNuJ3QgY3Jhc2g8L3A+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>