<?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>235237</bug_id>
          
          <creation_ts>2022-01-14 10:16:46 -0800</creation_ts>
          <short_desc>When inserting a selected &lt;option&gt; in a &lt;select&gt; element, its selected state should remain</short_desc>
          <delta_ts>2022-01-18 18:33:16 -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>Forms</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>
          <dependson>235247</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>mifenton</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1830950</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-01-14 10:16:46 -0800</bug_when>
    <thetext>When inserting a selected &lt;option&gt; in a &lt;select&gt; element, its selected state should remain and other selected options should be de-selected.

This is as per the specification [1] that says:
&quot;&quot;&quot;
If the multiple attribute is absent, whenever an option element in the select element&apos;s list of options has its selectedness set to true, and whenever an option element with its selectedness set to true is added to the select element&apos;s list of options, the user agent must set the selectedness of all the other option elements in its list of options to false.
&quot;&quot;&quot;

Firefox and Chrome correctly implement this. However, in WebKit, after insertion of a new &lt;option&gt;, if there is more than one selected &lt;option&gt; it is the last selected &lt;option&gt; in the list that retains the selected state (not necessarily the newly inserted one).

[1] https://html.spec.whatwg.org/multipage/form-elements.html#the-select-element</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830953</commentid>
    <comment_count>1</comment_count>
      <attachid>449181</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-01-14 10:21:18 -0800</bug_when>
    <thetext>Created attachment 449181
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831119</commentid>
    <comment_count>2</comment_count>
      <attachid>449232</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-01-14 16:37:49 -0800</bug_when>
    <thetext>Created attachment 449232
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831682</commentid>
    <comment_count>3</comment_count>
      <attachid>449394</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-01-18 08:21:31 -0800</bug_when>
    <thetext>Created attachment 449394
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831798</commentid>
    <comment_count>4</comment_count>
      <attachid>449394</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-01-18 13:44:39 -0800</bug_when>
    <thetext>Comment on attachment 449394
Patch

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

&gt; Source/WebCore/html/HTMLOptGroupElement.cpp:80
&gt; +    for (auto* option = Traversal&lt;HTMLOptionElement&gt;::lastChild(*this); option; option = Traversal&lt;HTMLOptionElement&gt;::previousSibling(*option)) {

Does this work?

    for (auto&amp; option : makeReversedRange(childrenOfType&lt;HTMLOptionElement&gt;(*this))) {

I think it should work and I like it better. But maybe makeReversedRange won’t work until we add rbegin and rend to ElementChildRange? I’d want to do this soon.

&gt; Source/WebCore/html/HTMLSelectElement.cpp:374
&gt;  void HTMLSelectElement::childrenChanged(const ChildChange&amp; change)

Can we find a way to share more of the code between HTMLSelectElement and HTMLOptGroupElement? Helper function or class?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831807</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-01-18 13:55:52 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #4)
&gt; Comment on attachment 449394 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=449394&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/HTMLOptGroupElement.cpp:80
&gt; &gt; +    for (auto* option = Traversal&lt;HTMLOptionElement&gt;::lastChild(*this); option; option = Traversal&lt;HTMLOptionElement&gt;::previousSibling(*option)) {
&gt; 
&gt; Does this work?
&gt; 
&gt;     for (auto&amp; option :
&gt; makeReversedRange(childrenOfType&lt;HTMLOptionElement&gt;(*this))) {
&gt; 
&gt; I think it should work and I like it better. But maybe makeReversedRange
&gt; won’t work until we add rbegin and rend to ElementChildRange? I’d want to do
&gt; this soon.

No, this doesn&apos;t work currently:
In file included from /Volumes/Data/WebKit/OpenSource/WebKitBuild/Debug/DerivedSources/WebCore/unified-sources/UnifiedSource173.cpp:4:
./html/HTMLOptGroupElement.cpp:80:25: error: no matching function for call to &apos;makeReversedRange&apos;
    for (auto&amp; option : makeReversedRange(childrenOfType&lt;HTMLOptionElement&gt;(*this))) {
In file included from /Volumes/Data/WebKit/OpenSource/WebKitBuild/Debug/DerivedSources/WebCore/unified-sources/UnifiedSource173.cpp:1:
In file included from /Volumes/Data/WebKit/OpenSource/Source/WebCore/WebCorePrefix.h:171:
In file included from /Volumes/Data/WebKit/OpenSource/WebKitBuild/Debug/usr/local/include/wtf/HashMap.h:26:
/Volumes/Data/WebKit/OpenSource/WebKitBuild/Debug/usr/local/include/wtf/IteratorRange.h:61:53: note: candidate template ignored: substitution failure [with Container = WebCore::ElementChildRange&lt;WebCore::HTMLOptionElement&gt;]: no type named &apos;reverse_iterator&apos; in &apos;WebCore::ElementChildRange&lt;WebCore::HTMLOptionElement&gt;&apos;
IteratorRange&lt;typename Container::reverse_iterator&gt; makeReversedRange(Container&amp; container)
/Volumes/Data/WebKit/OpenSource/WebKitBuild/Debug/usr/local/include/wtf/IteratorRange.h:67:59: note: candidate template ignored: substitution failure [with Container = WebCore::ElementChildRange&lt;WebCore::HTMLOptionElement&gt;]: no type named &apos;const_reverse_iterator&apos; in &apos;WebCore::ElementChildRange&lt;WebCore::HTMLOptionElement&gt;&apos;
IteratorRange&lt;typename Container::const_reverse_iterator&gt; makeReversedRange(const Container&amp; container)
1 error generated.


&gt; 
&gt; &gt; Source/WebCore/html/HTMLSelectElement.cpp:374
&gt; &gt;  void HTMLSelectElement::childrenChanged(const ChildChange&amp; change)
&gt; 
&gt; Can we find a way to share more of the code between HTMLSelectElement and
&gt; HTMLOptGroupElement? Helper function or class?

I already tried to share as much as I could. I&apos;ll do another pass and see if I can do better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831827</commentid>
    <comment_count>6</comment_count>
      <attachid>449394</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-01-18 14:22:31 -0800</bug_when>
    <thetext>Comment on attachment 449394
Patch

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

&gt;&gt;&gt; Source/WebCore/html/HTMLOptGroupElement.cpp:80
&gt;&gt;&gt; +    for (auto* option = Traversal&lt;HTMLOptionElement&gt;::lastChild(*this); option; option = Traversal&lt;HTMLOptionElement&gt;::previousSibling(*option)) {
&gt;&gt; 
&gt;&gt; Does this work?
&gt;&gt; 
&gt;&gt;     for (auto&amp; option : makeReversedRange(childrenOfType&lt;HTMLOptionElement&gt;(*this))) {
&gt;&gt; 
&gt;&gt; I think it should work and I like it better. But maybe makeReversedRange won’t work until we add rbegin and rend to ElementChildRange? I’d want to do this soon.
&gt; 
&gt; No, this doesn&apos;t work currently:
&gt; In file included from /Volumes/Data/WebKit/OpenSource/WebKitBuild/Debug/DerivedSources/WebCore/unified-sources/UnifiedSource173.cpp:4:
&gt; ./html/HTMLOptGroupElement.cpp:80:25: error: no matching function for call to &apos;makeReversedRange&apos;
&gt;     for (auto&amp; option : makeReversedRange(childrenOfType&lt;HTMLOptionElement&gt;(*this))) {
&gt; In file included from /Volumes/Data/WebKit/OpenSource/WebKitBuild/Debug/DerivedSources/WebCore/unified-sources/UnifiedSource173.cpp:1:
&gt; In file included from /Volumes/Data/WebKit/OpenSource/Source/WebCore/WebCorePrefix.h:171:
&gt; In file included from /Volumes/Data/WebKit/OpenSource/WebKitBuild/Debug/usr/local/include/wtf/HashMap.h:26:
&gt; /Volumes/Data/WebKit/OpenSource/WebKitBuild/Debug/usr/local/include/wtf/IteratorRange.h:61:53: note: candidate template ignored: substitution failure [with Container = WebCore::ElementChildRange&lt;WebCore::HTMLOptionElement&gt;]: no type named &apos;reverse_iterator&apos; in &apos;WebCore::ElementChildRange&lt;WebCore::HTMLOptionElement&gt;&apos;
&gt; IteratorRange&lt;typename Container::reverse_iterator&gt; makeReversedRange(Container&amp; container)
&gt; /Volumes/Data/WebKit/OpenSource/WebKitBuild/Debug/usr/local/include/wtf/IteratorRange.h:67:59: note: candidate template ignored: substitution failure [with Container = WebCore::ElementChildRange&lt;WebCore::HTMLOptionElement&gt;]: no type named &apos;const_reverse_iterator&apos; in &apos;WebCore::ElementChildRange&lt;WebCore::HTMLOptionElement&gt;&apos;
&gt; IteratorRange&lt;typename Container::const_reverse_iterator&gt; makeReversedRange(const Container&amp; container)
&gt; 1 error generated.

I will fix this and make it usable here after you land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831864</commentid>
    <comment_count>7</comment_count>
      <attachid>449436</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-01-18 15:43:50 -0800</bug_when>
    <thetext>Created attachment 449436
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831921</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-18 18:32:43 -0800</bug_when>
    <thetext>Committed r288174 (246158@main): &lt;https://commits.webkit.org/246158@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449436.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831922</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-18 18:33:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/87746816&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449181</attachid>
            <date>2022-01-14 10:21:18 -0800</date>
            <delta_ts>2022-01-14 16:37:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235237-20220114102117.patch</filename>
            <type>text/plain</type>
            <size>5380</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3OTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjJlMmFjMWUxZmVhYmVm
Yzc4MDEzNzFlZTQ0OWEyYmIwNTFmMjM5Zi4uNTlkZGVkZjFlMjc3NDFmZGVhZDU5NjZiYmM3NDRl
NzAzMzBiMWYwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIyLTAxLTE0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2hlbiBpbnNlcnRpbmcgYSBz
ZWxlY3RlZCA8b3B0aW9uPiBpbiBhIDxzZWxlY3Q+IGVsZW1lbnQsIGl0cyBzZWxlY3RlZCBzdGF0
ZSBzaG91bGQgcmVtYWluCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzUyMzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBXaGVuIGluc2VydGluZyBhIHNlbGVjdGVkIDxvcHRpb24+IGluIGEgPHNlbGVjdD4g
ZWxlbWVudCwgaXRzIHNlbGVjdGVkIHN0YXRlIHNob3VsZCByZW1haW4gYW5kIG90aGVyIHNlbGVj
dGVkCisgICAgICAgIG9wdGlvbnMgc2hvdWxkIGJlIGRlLXNlbGVjdGVkLgorCisgICAgICAgIFRo
aXMgaXMgYXMgcGVyIHRoZSBzcGVjaWZpY2F0aW9uIFsxXSB0aGF0IHNheXM6CisgICAgICAgICIi
IgorICAgICAgICBJZiB0aGUgbXVsdGlwbGUgYXR0cmlidXRlIGlzIGFic2VudCwgd2hlbmV2ZXIg
YW4gb3B0aW9uIGVsZW1lbnQgaW4gdGhlIHNlbGVjdCBlbGVtZW50J3MgbGlzdCBvZiBvcHRpb25z
IGhhcworICAgICAgICBpdHMgc2VsZWN0ZWRuZXNzIHNldCB0byB0cnVlLCBhbmQgd2hlbmV2ZXIg
YW4gb3B0aW9uIGVsZW1lbnQgd2l0aCBpdHMgc2VsZWN0ZWRuZXNzIHNldCB0byB0cnVlIGlzIGFk
ZGVkIHRvCisgICAgICAgIHRoZSBzZWxlY3QgZWxlbWVudCdzIGxpc3Qgb2Ygb3B0aW9ucywgdGhl
IHVzZXIgYWdlbnQgbXVzdCBzZXQgdGhlIHNlbGVjdGVkbmVzcyBvZiBhbGwgdGhlIG90aGVyIG9w
dGlvbgorICAgICAgICBlbGVtZW50cyBpbiBpdHMgbGlzdCBvZiBvcHRpb25zIHRvIGZhbHNlLgor
ICAgICAgICAiIiIKKworICAgICAgICBGaXJlZm94IGFuZCBDaHJvbWUgY29ycmVjdGx5IGltcGxl
bWVudCB0aGlzLiBIb3dldmVyLCBpbiBXZWJLaXQsIGFmdGVyIGluc2VydGlvbiBvZiBhIG5ldyA8
b3B0aW9uPiwgaWYgdGhlcmUKKyAgICAgICAgaXMgbW9yZSB0aGFuIG9uZSBzZWxlY3RlZCA8b3B0
aW9uPiBpdCBpcyB0aGUgbGFzdCBzZWxlY3RlZCA8b3B0aW9uPiBpbiB0aGUgbGlzdCB0aGF0IHJl
dGFpbnMgdGhlIHNlbGVjdGVkCisgICAgICAgIHN0YXRlIChub3QgbmVjZXNzYXJpbHkgdGhlIG5l
d2x5IGluc2VydGVkIG9uZSkuCisKKyAgICAgICAgWzFdIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3
Zy5vcmcvbXVsdGlwYWdlL2Zvcm0tZWxlbWVudHMuaHRtbCN0aGUtc2VsZWN0LWVsZW1lbnQKKwor
ICAgICAgICBObyBuZXcgdGVzdHMsIHJlYmFzZWxpbmVkIGV4aXN0aW5nIHRlc3QuCisKKyAgICAg
ICAgKiBodG1sL0hUTUxPcHRpb25FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxP
cHRpb25FbGVtZW50OjppbnNlcnRlZEludG9BbmNlc3Rvcik6CisgICAgICAgIFNhdmUgbV9pc1Nl
bGVjdGVkIGJlZm9yZSBjYWxsaW5nIEhUTUxTZWxlY3RFbGVtZW50Ojp1cGRhdGVWYWxpZGl0eSgp
IHNpbmNlIHRoaXMgZnVuY3Rpb24gd2lsbAorICAgICAgICBjYWxsIHJlY2FsY0xpc3RJdGVtcygp
IGFuZCBwb3RlbnRpYWxseSB1cGRhdGUgbV9pc1NlbGVjdGVkLiByZWNhbGNMaXN0SXRlbXMoKSBj
dXJyZW50bHkgbWFrZXMKKyAgICAgICAgc3VyZSB0aGF0IG9ubHkgdGhlIGxhc3Qgc2VsZWN0ZWQg
PG9wdGlvbj4gcmV0YWlucyBpdHMgc2VsZWN0ZWQgc3RhdGUsIHdoaWNoIGlzIGFzIHBlcgorICAg
ICAgICBzcGVjaWZpY2F0aW9uIGluIGdlbmVyYWwgYnV0IG5vdCB3aGVuIGluc2VydGluZyBhIG5l
dyA8b3B0aW9uPiB0aGF0IGlzIGFscmVhZHkgc2VsZWN0ZWQuCisKIDIwMjItMDEtMTMgIEFkcmlh
biBQZXJleiBkZSBDYXN0cm8gIDxhcGVyZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBOb24tdW5p
ZmllZCBidWlsZCBmaXhlcywgbWlkIEphbnVhcnkgMjAyMiBlZGl0aW9uCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwCmluZGV4IGM1OWFiZmNmM2MyOTRmZWZlMDQwMWJh
NGExZTgwMDE4OTk4ZWE0NGIuLjJmYzI5MWE4ZmRmZjYzMmFiMGNmOTA0OTdhZDkwOWNmZGU3MGY5
NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwCkBAIC0zMTIs
MTMgKzMxMiwxMyBAQCBib29sIEhUTUxPcHRpb25FbGVtZW50Ojppc0Rpc2FibGVkRm9ybUNvbnRy
b2woKSBjb25zdAogTm9kZTo6SW5zZXJ0ZWRJbnRvQW5jZXN0b3JSZXN1bHQgSFRNTE9wdGlvbkVs
ZW1lbnQ6Omluc2VydGVkSW50b0FuY2VzdG9yKEluc2VydGlvblR5cGUgaW5zZXJ0aW9uVHlwZSwg
Q29udGFpbmVyTm9kZSYgcGFyZW50T2ZJbnNlcnRlZFRyZWUpCiB7CiAgICAgaWYgKFJlZlB0cjxI
VE1MU2VsZWN0RWxlbWVudD4gc2VsZWN0ID0gb3duZXJTZWxlY3RFbGVtZW50KCkpIHsKKyAgICAg
ICAgLy8gU2F2ZSBtX2lzU2VsZWN0ZWQgc2luY2UgdXBkYXRlVmFsaWRpdHkoKSBtYXkgZGVsZXNl
Y3QgdGhpcyBpdGVtIGlzIGFub3RoZXIgb3B0aW9uIGlzIGFscmVhZHkgc2VsZWN0ZWQuCisgICAg
ICAgIGJvb2wgd2FzU2VsZWN0ZWQgPSBtX2lzU2VsZWN0ZWQ7CisKICAgICAgICAgc2VsZWN0LT5z
ZXRSZWNhbGNMaXN0SXRlbXMoKTsKICAgICAgICAgc2VsZWN0LT51cGRhdGVWYWxpZGl0eSgpOwot
ICAgICAgICAvLyBEbyBub3QgY2FsbCBzZWxlY3RlZCgpIHNpbmNlIGNhbGxpbmcgdXBkYXRlTGlz
dEl0ZW1TZWxlY3RlZFN0YXRlcygpCi0gICAgICAgIC8vIGF0IHRoaXMgdGltZSB3b24ndCBkbyB0
aGUgcmlnaHQgdGhpbmcuIChXaHksIGV4YWN0bHk/KQotICAgICAgICAvLyBGSVhNRTogTWlnaHQg
YmUgYmV0dGVyIHRvIGNhbGwgdGhpcyB1bmNvbmRpdGlvbmFsbHksIGFsd2F5cyBwYXNzaW5nIG1f
aXNTZWxlY3RlZCwKLSAgICAgICAgLy8gcmF0aGVyIHRoYW4gb25seSBjYWxsaW5nIGl0IGlmIHdl
IGFyZSBzZWxlY3RlZC4KLSAgICAgICAgaWYgKG1faXNTZWxlY3RlZCkKKworICAgICAgICBpZiAo
d2FzU2VsZWN0ZWQpCiAgICAgICAgICAgICBzZWxlY3QtPm9wdGlvblNlbGVjdGlvblN0YXRlQ2hh
bmdlZCgqdGhpcywgdHJ1ZSk7CiAgICAgICAgIHNlbGVjdC0+c2Nyb2xsVG9TZWxlY3Rpb24oKTsK
ICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBjMGU3MDU3YWExN2EwY2Ri
NTdkOTMxOTI5OWEyNTEwNGQ2NDIyMzAwLi41YzExOTI4ZWE3MGIxZTBjM2RhMmM2OTZmNTZkYTI0
ZjhkYTFjYWM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBA
QAorMjAyMi0wMS0xNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAg
IFdoZW4gaW5zZXJ0aW5nIGEgc2VsZWN0ZWQgPG9wdGlvbj4gaW4gYSA8c2VsZWN0PiBlbGVtZW50
LCBpdHMgc2VsZWN0ZWQgc3RhdGUgc2hvdWxkIHJlbWFpbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1MjM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmViYXNlbGluZSBXUFQgdGVzdCB0aGF0IGlzIG5v
dyBwYXNzaW5nLiBUaGlzIHRlc3Qgd2FzIGFscmVhZHkgcGFzc2luZyBpbiBib3RoIENocm9tZSBh
bmQgRmlyZWZveC4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9mb3Jtcy90aGUtc2VsZWN0LWVsZW1lbnQvc2VsZWN0LXZhbGlkaXR5LWV4cGVjdGVkLnR4dDoK
KwogMjAyMi0wMS0xMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAg
IEltcGxlbWVudCBIVE1MU2NyaXB0RWxlbWVudC5zdXBwb3J0cyh0eXBlKSBtZXRob2QKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3MvZm9ybXMvdGhlLXNlbGVjdC1lbGVtZW50L3NlbGVjdC12YWxpZGl0eS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL2Zvcm1zL3RoZS1zZWxlY3QtZWxlbWVudC9zZWxlY3QtdmFsaWRpdHktZXhwZWN0
ZWQudHh0CmluZGV4IDg1ZmY0ZjA3ODU5YmM3NzZlNmNiNGQ4Yjk4YmQwZjM3ZTNkM2M4NmEuLjFk
NjZiYjI1OWUyMWIyODdlNTBmOGQ4YmM1YTk4MTMxMzZlNjVkMjggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9y
bXMvdGhlLXNlbGVjdC1lbGVtZW50L3NlbGVjdC12YWxpZGl0eS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9mb3Jtcy90aGUtc2VsZWN0LWVsZW1lbnQvc2VsZWN0LXZhbGlkaXR5LWV4cGVjdGVkLnR4dApA
QCAtNCw1ICs0LDUgQEAgUEFTUyBQbGFjZWhvbGRlciBsYWJlbC1saWtlIG9wdGlvbnMgd2l0aGlu
IG9wdGdyb3VwCiBQQVNTIFZhbGlkYXRpb24gb24gc2VsZWN0cyB3aXRoIGRpc3BsYXkgc2l6ZSBz
ZXQgYXMgbW9yZSB0aGFuIG9uZQogUEFTUyBWYWxpZGF0aW9uIG9uIHNlbGVjdHMgd2l0aCBtdWx0
aXBsZSBzZXQKIFBBU1MgVmFsaWRhdGlvbiBvbiBzZWxlY3RzIHdpdGggbm9uLWVtcHR5IGRpc2Fi
bGVkIG9wdGlvbgotRkFJTCBSZW1vdmUgYW5kIGFkZCBiYWNrIHRoZSBwbGFjZWhvbGRlciBsYWJl
bCBvcHRpb24gYXNzZXJ0X2ZhbHNlOiBJZiB0aGUgcGxhY2Vob2xkZXIgbGFiZWwgb3B0aW9uIGlz
IHNlbGVjdGVkLCByZXF1aXJlZCBzZWxlY3QgZWxlbWVudCBzaG91bGRuJ3QgYmUgdmFsaWQuIGV4
cGVjdGVkIGZhbHNlIGdvdCB0cnVlCitQQVNTIFJlbW92ZSBhbmQgYWRkIGJhY2sgdGhlIHBsYWNl
aG9sZGVyIGxhYmVsIG9wdGlvbgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449232</attachid>
            <date>2022-01-14 16:37:49 -0800</date>
            <delta_ts>2022-01-18 08:21:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235237-20220114163748.patch</filename>
            <type>text/plain</type>
            <size>21201</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MDM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTMxMTUxOWFiNmQ0NDJj
MWZkNzkwZjE3YzA2NTBmMTMwMzRiODBhZi4uNTdkOWUwZTBhYzQ4NDg3MTg1MGEwYzdlM2Y2NjEw
MGFlNDBlMTg5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc2IEBACisyMDIyLTAxLTE0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2hlbiBpbnNlcnRpbmcgYSBz
ZWxlY3RlZCA8b3B0aW9uPiBpbiBhIDxzZWxlY3Q+IGVsZW1lbnQsIGl0cyBzZWxlY3RlZCBzdGF0
ZSBzaG91bGQgcmVtYWluCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzUyMzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBXaGVuIGluc2VydGluZyBhIHNlbGVjdGVkIDxvcHRpb24+IGluIGEgPHNlbGVjdD4g
ZWxlbWVudCwgaXRzIHNlbGVjdGVkIHN0YXRlIHNob3VsZCByZW1haW4gYW5kIG90aGVyIHNlbGVj
dGVkCisgICAgICAgIG9wdGlvbnMgc2hvdWxkIGJlIGRlLXNlbGVjdGVkLgorCisgICAgICAgIFRo
aXMgaXMgYXMgcGVyIHRoZSBzcGVjaWZpY2F0aW9uIFsxXSB0aGF0IHNheXM6CisgICAgICAgICIi
IgorICAgICAgICBJZiB0aGUgbXVsdGlwbGUgYXR0cmlidXRlIGlzIGFic2VudCwgd2hlbmV2ZXIg
YW4gb3B0aW9uIGVsZW1lbnQgaW4gdGhlIHNlbGVjdCBlbGVtZW50J3MgbGlzdCBvZiBvcHRpb25z
IGhhcworICAgICAgICBpdHMgc2VsZWN0ZWRuZXNzIHNldCB0byB0cnVlLCBhbmQgd2hlbmV2ZXIg
YW4gb3B0aW9uIGVsZW1lbnQgd2l0aCBpdHMgc2VsZWN0ZWRuZXNzIHNldCB0byB0cnVlIGlzIGFk
ZGVkIHRvCisgICAgICAgIHRoZSBzZWxlY3QgZWxlbWVudCdzIGxpc3Qgb2Ygb3B0aW9ucywgdGhl
IHVzZXIgYWdlbnQgbXVzdCBzZXQgdGhlIHNlbGVjdGVkbmVzcyBvZiBhbGwgdGhlIG90aGVyIG9w
dGlvbgorICAgICAgICBlbGVtZW50cyBpbiBpdHMgbGlzdCBvZiBvcHRpb25zIHRvIGZhbHNlLgor
ICAgICAgICAiIiIKKworICAgICAgICBGaXJlZm94IGFuZCBDaHJvbWUgY29ycmVjdGx5IGltcGxl
bWVudCB0aGlzLgorCisgICAgICAgIFdlYktpdCB3YXMgdHJ5aW5nIHRvIGltcGxlbWVudCB0aGlz
IGxvZ2ljIGZyb20gaW5zaWRlIEhUTUxPcHRpb25FbGVtZW50OjppbnNlcnRlZEludG9BbmNlc3Rv
cigpLiBIb3dldmVyLAorICAgICAgICB0aGVyZSB3ZXJlIHNldmVyYWwgaXNzdWVzIHdpdGggdGhh
dDoKKyAgICAgICAgMS4gSXQgd2FzIGNoZWNraW5nIG1faXNTZWxlY3RlZCBhZnRlciBjYWxsaW5n
IHVwZGF0ZVZhbGlkaXR5KCkuIHVwZGF0ZVZhbGlkaXR5KCkgd291bGQgY2FsbCByZWNhbGNMaXN0
SXRlbXMoKSwKKyAgICAgICAgICAgd2hpY2ggY291bGQgdXBkYXRlIG1faXNTZWxlY3RlZC4gVGhp
cyBwYXJ0IGNvdWxkIGhhdmUgYmVlbiBhZGRyZXNzZWQgYnkgc2F2aW5nIG1faXNTZWxlY3RlZCBi
ZWZvcmUKKyAgICAgICAgICAgY2FsbGluZyB1cGRhdGVWYWxpZGl0eSgpIGJ1dCB3b3VsZCBub3Qg
aGF2ZSBhZGRyZXNzZWQgdGhlIGZvbGxvd2luZyBpc3N1ZXMuCisgICAgICAgIDIuIEluIHRoZSBj
YXNlIHdoZXJlIGFuIDxvcHRncm91cD4gY29udGFpbmluZyBzZXZlcmFsIDxvcHRpb24+IGVsZW1l
bnRzIGlzIGluc2VydGVkIGludG8gYSA8c2VsZWN0PiwKKyAgICAgICAgICAgaW5zZXJ0ZWRJbnRv
QW5jZXN0b3IoKSBnZXRzIGNhbGxlZCBmcm9tIGVhY2ggb3B0aW9ucyBiZWluZyBpbnNlcnRlZC4g
V2hlbiBjYWxsaW5nIGluc2VydGVkSW50b0FuY2VzdG9yKCkKKyAgICAgICAgICAgZnJvbSB0aGUg
Zmlyc3QgPG9wdGlvbj4gYW5kIGlmIHRoaXMgPG9wdGlvbj4gaXMgc2VsZWN0ZWQsIGl0IHdvdWxk
IGRlc2VsZWN0IGFsbCBmb2xsb3dpbmcgPG9wdGlvbj4gZWxlbWVudHMKKyAgICAgICAgICAgZXZl
biB0aG91Z2ggaW5zZXJ0ZWRJbnRvQW5jZXN0b3IoKSBoYXMgbm90IHlldCBiZWVuIGNhbGxlZCBm
b3IgdGhlbS4gQXMgYSByZXN1bHQsIHdlIHdvdWxkIGVuZCB1cCBzZWxlY3RpbmcKKyAgICAgICAg
ICAgdGhlIGZpcnN0IGluc2VydGVkIDxvcHRpb24+IHRoYXQgaGFkIHRoZSBzZWxlY3RlZCBzdGF0
ZSwgaW5zdGVhZCBvZiB0aGUgbGFzdCBvbmUuCisgICAgICAgIDMuIFdoZW4gbW9yZSB0aGFuIG9u
ZSA8b3B0aW9uPiBpcyBpbnNlcnRlZCBhdCBvbmNlLCB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlv
biB3b3VsZCBiZSByZWFsbHkgaW5lZmZpY2llbnQgYXMKKyAgICAgICAgICAgZXZlcnkgPG9wdGlv
bj4gd291bGQgZGlydHkgYW5kIHJlY2FsYyB0aGUgaXRlbSBsaXN0IGZyb20gaW5zZXJ0ZWRJbnRv
QW5jZXN0b3IoKS4KKworICAgICAgICBUbyBhZGRyZXNzIHRoZXNlIGlzc3VlcywgSSBnb3Qgcmlk
IG9mIEhUTUxPcHRpb25FbGVtZW50OjppbnNlcnRlZEludG9BbmNlc3RvcigpLiBJbnN0ZWFkIHdl
IG5vdyBkZWFsIHdpdGgKKyAgICAgICAgPG9wdGlvbj4gaW5zZXJ0aW9uIGZyb20gaW5zaWRlIEhU
TUxTZWxlY3RFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoKSBhbmQgSFRNTE9wdEdyb3VwRWxlbWVu
dDo6Y2hpbGRyZW5DaGFuZ2VkKCkuCisgICAgICAgIFVzaW5nIHRoZSBwYXJlbnQgZWxlbWVudCdz
IGNoaWxkcmVuQ2hhbmdlZCgpIGlzIHVzZWZ1bCBiZWNhdXNlIGl0IG9ubHkgZ2V0cyBjYWxsZWQg
b25jZSB3aGVuIHNldmVyYWwgPG9wdGlvbj4KKyAgICAgICAgZWxlbWVudHMgYXJlIGluc2VydGVk
IGF0IG9uY2UuIEkgYWRkZWQgbG9naWMgdG8gdGhvc2UgY2hpbGRyZW5DaGFuZ2VkKCkgZnVuY3Rp
b25zIHRvIGtlZXAgdHJhY2sgb2YgdGhlIGxhc3QKKyAgICAgICAgc2VsZWN0ZWQgPG9wdGlvbj4g
ZWxlbWVudCBiZWluZyBpbnNlcnRlZC4gVGhlbiwgYWZ0ZXIgd2UgcmVjYWxjIHRoZSBpdGVtIGxp
c3QgKHdoaWNoIG1heSBjaGFuZ2UgPG9wdGlvbj5zJworICAgICAgICBzZWxlY3RlZCBzdGF0ZSwg
SSBtYWtlIHN1cmUgdG8gdGhpcyA8b3B0aW9uPiBpcyBzZWxlY3RlZC4gVGhpcyBpcyBzaW1pbGFy
IHRvIHRoZSBsb2dpYyB0aGF0IHdhcyBwcmV2aW91c2x5CisgICAgICAgIGluIEhUTUxPcHRpb25F
bGVtZW50OjppbnNlcnRlZEludG9BbmNlc3RvcigpLgorCisKKyAgICAgICAgWzFdIGh0dHBzOi8v
aHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2Zvcm0tZWxlbWVudHMuaHRtbCN0aGUtc2Vs
ZWN0LWVsZW1lbnQKKworICAgICAgICBObyBuZXcgdGVzdHMsIHJlYmFzZWxpbmVkIGV4aXN0aW5n
IHRlc3RzLgorCisgICAgICAgICogZG9tL0NoYXJhY3RlckRhdGEuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6bWFrZUNoaWxkQ2hhbmdlKToKKyAgICAgICAgKiBkb20vQ29udGFpbmVyTm9kZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDb250YWluZXJOb2RlOjpyZW1vdmVBbGxDaGlsZHJlbldpdGhT
Y3JpcHRBc3NlcnRpb24pOgorICAgICAgICAoV2ViQ29yZTo6bWFrZUNoaWxkQ2hhbmdlRm9yUmVt
b3ZhbCk6CisgICAgICAgIChXZWJDb3JlOjptYWtlQ2hpbGRDaGFuZ2VGb3JJbnNlcnRpb24pOgor
ICAgICAgICAoV2ViQ29yZTo6Q29udGFpbmVyTm9kZTo6Y2hpbGRyZW5DaGFuZ2VkKToKKyAgICAg
ICAgKFdlYkNvcmU6OmFmZmVjdHNFbGVtZW50cyk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL0Nv
bnRhaW5lck5vZGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRhaW5lck5vZGU6OkNoaWxkQ2hh
bmdlOjppc0luc2VydGlvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDb250YWluZXJOb2Rl
OjpDaGlsZENoYW5nZTo6YWZmZWN0c0VsZW1lbnRzIGNvbnN0KToKKyAgICAgICAgLSBBZGQgJ3Np
YmxpbmdDaGFuZ2VkJyBtZW1iZXIgdG8gQ2hpbGRDaGFuZ2UgaW4gYWRkaXRpb24gdG8gdGhlIHBy
ZXZpb3VzIC8gbmV4dCBzaWJsaW5ncy4KKyAgICAgICAgICBUaGlzIGlzIHVzZWZ1bCBmb3IgSFRN
TE9wdEdyb3VwRWxlbWVudCBhbmQgSFRNTFNlbGVjdEVsZW1lbnQgd2hlcmUgd2Ugd2FudCB0byBr
bm93CisgICAgICAgICAgaWYgYSBuZXdseSBpbnNlcnRlZCBjaGlsZCBpcyBhbiBIVE1MT3B0aW9u
RWxlbWVudCAoYW5kIGlmIGl0IGlzIHNlbGVjdGVkKS4KKyAgICAgICAgLSBNb3ZlIGFmZmVjdHNF
bGVtZW50cygpIHRvIHRoZSBoZWFkZXIgc28gdGhhdCBpdCBjYW4gYmUgcmV1c2VkIGJ5IEhUTUxP
cHRHcm91cEVsZW1lbnQKKyAgICAgICAgICBhbmQgSFRNTE9wdGlvbkVsZW1lbnQuCisKKyAgICAg
ICAgKiBodG1sL0hUTUxPcHRHcm91cEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TE9wdEdyb3VwRWxlbWVudDo6ZmluZExhc3RTZWxlY3RlZE9wdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MT3B0R3JvdXBFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQpOgorICAgICAgICAqIGh0
bWwvSFRNTE9wdEdyb3VwRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTE9wdGlvbkVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE9wdGlvbkVsZW1lbnQ6Omluc2VydGVkSW50
b0FuY2VzdG9yKTogRGVsZXRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxPcHRpb25FbGVtZW50Lmg6
CisgICAgICAgICogaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MU2VsZWN0RWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKToKKwogMjAyMi0wMS0xNCAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIENsYXJpZnkgLyBPcHRpbWl6
ZSA8c2VsZWN0PiBsb2dpYyBnaXZlbiB0aGF0IGRlZXBseSBuZXN0ZWQgPG9wdGlvbj4gb3IgPG9w
dGdyb3VwPiBhcmUgbm90IHN1cHBvcnRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0NoYXJhY3RlckRhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuY3Bw
CmluZGV4IGZkMjQ1NGZlMDRiMjMxNTA3MDZmNWViNGQzMzc0NjFiNTM0NWIwMzkuLmY4MjE3NjZi
NTEyNTBiY2Q2YTM4NTMyOTc0YmU2MjAyMTEyZjkzYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9DaGFyYWN0ZXJEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFj
dGVyRGF0YS5jcHAKQEAgLTc4LDYgKzc4LDcgQEAgc3RhdGljIENvbnRhaW5lck5vZGU6OkNoaWxk
Q2hhbmdlIG1ha2VDaGlsZENoYW5nZShDaGFyYWN0ZXJEYXRhJiBjaGFyYWN0ZXJEYXRhLAogewog
ICAgIHJldHVybiB7CiAgICAgICAgIENvbnRhaW5lck5vZGU6OkNoaWxkQ2hhbmdlOjpUeXBlOjpU
ZXh0Q2hhbmdlZCwKKyAgICAgICAgbnVsbHB0ciwKICAgICAgICAgRWxlbWVudFRyYXZlcnNhbDo6
cHJldmlvdXNTaWJsaW5nKGNoYXJhY3RlckRhdGEpLAogICAgICAgICBFbGVtZW50VHJhdmVyc2Fs
OjpuZXh0U2libGluZyhjaGFyYWN0ZXJEYXRhKSwKICAgICAgICAgc291cmNlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vQ29udGFpbmVyTm9kZS5jcHAKaW5kZXggNjQ5YjIxYTk5NWMyNzgwOGFmNjhhOTA1ZDFiOWQ1
NTJlZjhiNGYxOC4uMmMyNzJjN2VlZGMzNDEyNTI5OGNjNDdmMzI3OTQwNTZmZDJjNjZlYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcApAQCAtMTEyLDcgKzExMiw3IEBAIEFMV0FZ
U19JTkxJTkUgTm9kZVZlY3RvciBDb250YWluZXJOb2RlOjpyZW1vdmVBbGxDaGlsZHJlbldpdGhT
Y3JpcHRBc3NlcnRpb24oQ2hpCiAKICAgICBkaXNjb25uZWN0U3ViZnJhbWVzSWZOZWVkZWQoKnRo
aXMsIERlc2NlbmRhbnRzT25seSk7CiAKLSAgICBDb250YWluZXJOb2RlOjpDaGlsZENoYW5nZSBj
aGlsZENoYW5nZSB7IENoaWxkQ2hhbmdlOjpUeXBlOjpBbGxDaGlsZHJlblJlbW92ZWQsIG51bGxw
dHIsIG51bGxwdHIsIHNvdXJjZSB9OworICAgIENvbnRhaW5lck5vZGU6OkNoaWxkQ2hhbmdlIGNo
aWxkQ2hhbmdlIHsgQ2hpbGRDaGFuZ2U6OlR5cGU6OkFsbENoaWxkcmVuUmVtb3ZlZCwgbnVsbHB0
ciwgbnVsbHB0ciwgbnVsbHB0ciwgc291cmNlIH07CiAKICAgICBXaWRnZXRIaWVyYXJjaHlVcGRh
dGVzU3VzcGVuc2lvblNjb3BlIHN1c3BlbmRXaWRnZXRIaWVyYXJjaHlVcGRhdGVzOwogICAgIFNj
cmlwdERpc2FsbG93ZWRTY29wZTo6SW5NYWluVGhyZWFkIHNjcmlwdERpc2FsbG93ZWRTY29wZTsK
QEAgLTE1Miw2ICsxNTIsNyBAQCBzdGF0aWMgQ29udGFpbmVyTm9kZTo6Q2hpbGRDaGFuZ2UgbWFr
ZUNoaWxkQ2hhbmdlRm9yUmVtb3ZhbChOb2RlJiBjaGlsZFRvUmVtb3ZlLAogCiAgICAgcmV0dXJu
IHsKICAgICAgICAgY2hhbmdlVHlwZSwKKyAgICAgICAgaXM8RWxlbWVudD4oY2hpbGRUb1JlbW92
ZSkgPyAmZG93bmNhc3Q8RWxlbWVudD4oY2hpbGRUb1JlbW92ZSkgOiBudWxscHRyLAogICAgICAg
ICBFbGVtZW50VHJhdmVyc2FsOjpwcmV2aW91c1NpYmxpbmcoY2hpbGRUb1JlbW92ZSksCiAgICAg
ICAgIEVsZW1lbnRUcmF2ZXJzYWw6Om5leHRTaWJsaW5nKGNoaWxkVG9SZW1vdmUpLAogICAgICAg
ICBzb3VyY2UKQEAgLTIyNSw3ICsyMjYsNyBAQCBlbnVtIGNsYXNzIFJlcGxhY2VkQWxsQ2hpbGRy
ZW4geyBObywgWWVzIH07CiBzdGF0aWMgQ29udGFpbmVyTm9kZTo6Q2hpbGRDaGFuZ2UgbWFrZUNo
aWxkQ2hhbmdlRm9ySW5zZXJ0aW9uKENvbnRhaW5lck5vZGUmIGNvbnRhaW5lck5vZGUsIE5vZGUm
IGNoaWxkLCBOb2RlKiBiZWZvcmVDaGlsZCwgQ29udGFpbmVyTm9kZTo6Q2hpbGRDaGFuZ2U6OlNv
dXJjZSBzb3VyY2UsIFJlcGxhY2VkQWxsQ2hpbGRyZW4gcmVwbGFjZWRBbGxDaGlsZHJlbikKIHsK
ICAgICBpZiAocmVwbGFjZWRBbGxDaGlsZHJlbiA9PSBSZXBsYWNlZEFsbENoaWxkcmVuOjpZZXMp
Ci0gICAgICAgIHJldHVybiB7IENvbnRhaW5lck5vZGU6OkNoaWxkQ2hhbmdlOjpUeXBlOjpBbGxD
aGlsZHJlblJlcGxhY2VkLCBudWxscHRyLCBudWxscHRyLCBzb3VyY2UgfTsKKyAgICAgICAgcmV0
dXJuIHsgQ29udGFpbmVyTm9kZTo6Q2hpbGRDaGFuZ2U6OlR5cGU6OkFsbENoaWxkcmVuUmVwbGFj
ZWQsIG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIsIHNvdXJjZSB9OwogCiAgICAgYXV0byBjaGFu
Z2VUeXBlID0gWyZdIHsKICAgICAgICAgaWYgKGlzPEVsZW1lbnQ+KGNoaWxkKSkKQEAgLTIzNyw2
ICsyMzgsNyBAQCBzdGF0aWMgQ29udGFpbmVyTm9kZTo6Q2hpbGRDaGFuZ2UgbWFrZUNoaWxkQ2hh
bmdlRm9ySW5zZXJ0aW9uKENvbnRhaW5lck5vZGUmIGNvbgogCiAgICAgcmV0dXJuIHsKICAgICAg
ICAgY2hhbmdlVHlwZSwKKyAgICAgICAgaXM8RWxlbWVudD4oY2hpbGQpID8gJmRvd25jYXN0PEVs
ZW1lbnQ+KGNoaWxkKSA6IG51bGxwdHIsCiAgICAgICAgIGJlZm9yZUNoaWxkID8gRWxlbWVudFRy
YXZlcnNhbDo6cHJldmlvdXNTaWJsaW5nKCpiZWZvcmVDaGlsZCkgOiBFbGVtZW50VHJhdmVyc2Fs
OjpsYXN0Q2hpbGQoY29udGFpbmVyTm9kZSksCiAgICAgICAgICFiZWZvcmVDaGlsZCB8fCBpczxF
bGVtZW50PigqYmVmb3JlQ2hpbGQpID8gZG93bmNhc3Q8RWxlbWVudD4oYmVmb3JlQ2hpbGQpIDog
RWxlbWVudFRyYXZlcnNhbDo6bmV4dFNpYmxpbmcoKmJlZm9yZUNoaWxkKSwKICAgICAgICAgc291
cmNlCkBAIC04MjcsMzAgKzgyOSwxMSBAQCBFeGNlcHRpb25Pcjx2b2lkPiBDb250YWluZXJOb2Rl
OjphcHBlbmRDaGlsZChDaGlsZENoYW5nZTo6U291cmNlIHNvdXJjZSwgTm9kZSYgbgogICAgIHJl
dHVybiBhcHBlbmRDaGlsZChuZXdDaGlsZCk7CiB9CiAKLXN0YXRpYyBib29sIGFmZmVjdHNFbGVt
ZW50cyhjb25zdCBDb250YWluZXJOb2RlOjpDaGlsZENoYW5nZSYgY2hhbmdlKQotewotICAgIHN3
aXRjaCAoY2hhbmdlLnR5cGUpIHsKLSAgICBjYXNlIENvbnRhaW5lck5vZGU6OkNoaWxkQ2hhbmdl
OjpUeXBlOjpFbGVtZW50SW5zZXJ0ZWQ6Ci0gICAgY2FzZSBDb250YWluZXJOb2RlOjpDaGlsZENo
YW5nZTo6VHlwZTo6RWxlbWVudFJlbW92ZWQ6Ci0gICAgY2FzZSBDb250YWluZXJOb2RlOjpDaGls
ZENoYW5nZTo6VHlwZTo6QWxsQ2hpbGRyZW5SZW1vdmVkOgotICAgIGNhc2UgQ29udGFpbmVyTm9k
ZTo6Q2hpbGRDaGFuZ2U6OlR5cGU6OkFsbENoaWxkcmVuUmVwbGFjZWQ6Ci0gICAgICAgIHJldHVy
biB0cnVlOwotICAgIGNhc2UgQ29udGFpbmVyTm9kZTo6Q2hpbGRDaGFuZ2U6OlR5cGU6OlRleHRJ
bnNlcnRlZDoKLSAgICBjYXNlIENvbnRhaW5lck5vZGU6OkNoaWxkQ2hhbmdlOjpUeXBlOjpUZXh0
UmVtb3ZlZDoKLSAgICBjYXNlIENvbnRhaW5lck5vZGU6OkNoaWxkQ2hhbmdlOjpUeXBlOjpUZXh0
Q2hhbmdlZDoKLSAgICBjYXNlIENvbnRhaW5lck5vZGU6OkNoaWxkQ2hhbmdlOjpUeXBlOjpOb25D
b250ZW50c0NoaWxkSW5zZXJ0ZWQ6Ci0gICAgY2FzZSBDb250YWluZXJOb2RlOjpDaGlsZENoYW5n
ZTo6VHlwZTo6Tm9uQ29udGVudHNDaGlsZFJlbW92ZWQ6Ci0gICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICB9Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIGZhbHNlOwotfQot
CiB2b2lkIENvbnRhaW5lck5vZGU6OmNoaWxkcmVuQ2hhbmdlZChjb25zdCBDaGlsZENoYW5nZSYg
Y2hhbmdlKQogewogICAgIGRvY3VtZW50KCkuaW5jRE9NVHJlZVZlcnNpb24oKTsKIAotICAgIGlm
IChhZmZlY3RzRWxlbWVudHMoY2hhbmdlKSkKKyAgICBpZiAoY2hhbmdlLmFmZmVjdHNFbGVtZW50
cygpKQogICAgICAgICBkb2N1bWVudCgpLmludmFsaWRhdGVBY2Nlc3NLZXlDYWNoZSgpOwogCiAg
ICAgLy8gRklYTUU6IFVuY2xlYXIgd2h5IGl0J3MgYWx3YXlzIHNhZmUgdG8gc2tpcCB0aGlzIHdo
ZW4gcGFyc2VyIGlzIGFkZGluZyBjaGlsZHJlbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Db250YWluZXJOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5o
CmluZGV4IGQzOTBmZTcwMGExODNhZjU2ODkxM2IyNzYyYTY4MzM0NDEyMjBhMDMuLmYxNTU0MDE0
YjZmZDYzMDdlYTUyYzhiNDAzNDA4ODA3ZjI3NzE1M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Db250YWluZXJOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5l
ck5vZGUuaApAQCAtODAsNiArODAsNyBAQCBwdWJsaWM6CiAgICAgICAgIGVudW0gY2xhc3MgU291
cmNlIDogYm9vbCB7IFBhcnNlciwgQVBJIH07CiAKICAgICAgICAgQ2hpbGRDaGFuZ2U6OlR5cGUg
dHlwZTsKKyAgICAgICAgRWxlbWVudCogc2libGluZ0NoYW5nZWQ7CiAgICAgICAgIEVsZW1lbnQq
IHByZXZpb3VzU2libGluZ0VsZW1lbnQ7CiAgICAgICAgIEVsZW1lbnQqIG5leHRTaWJsaW5nRWxl
bWVudDsKICAgICAgICAgQ2hpbGRDaGFuZ2U6OlNvdXJjZSBzb3VyY2U7CkBAIC0xMDIsNiArMTAz
LDI1IEBAIHB1YmxpYzoKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CisKKyAgICAgICAgYm9vbCBhZmZlY3RzRWxl
bWVudHMoKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKKyAg
ICAgICAgICAgIGNhc2UgQ2hpbGRDaGFuZ2U6OlR5cGU6OkVsZW1lbnRJbnNlcnRlZDoKKyAgICAg
ICAgICAgIGNhc2UgQ2hpbGRDaGFuZ2U6OlR5cGU6OkVsZW1lbnRSZW1vdmVkOgorICAgICAgICAg
ICAgY2FzZSBDaGlsZENoYW5nZTo6VHlwZTo6QWxsQ2hpbGRyZW5SZW1vdmVkOgorICAgICAgICAg
ICAgY2FzZSBDaGlsZENoYW5nZTo6VHlwZTo6QWxsQ2hpbGRyZW5SZXBsYWNlZDoKKyAgICAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIGNhc2UgQ2hpbGRDaGFuZ2U6OlR5cGU6
OlRleHRJbnNlcnRlZDoKKyAgICAgICAgICAgIGNhc2UgQ2hpbGRDaGFuZ2U6OlR5cGU6OlRleHRS
ZW1vdmVkOgorICAgICAgICAgICAgY2FzZSBDaGlsZENoYW5nZTo6VHlwZTo6VGV4dENoYW5nZWQ6
CisgICAgICAgICAgICBjYXNlIENoaWxkQ2hhbmdlOjpUeXBlOjpOb25Db250ZW50c0NoaWxkSW5z
ZXJ0ZWQ6CisgICAgICAgICAgICBjYXNlIENoaWxkQ2hhbmdlOjpUeXBlOjpOb25Db250ZW50c0No
aWxkUmVtb3ZlZDoKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAgICAgfQogICAgIH07CiAgICAgdmlydHVhbCB2b2lkIGNoaWxkcmVuQ2hhbmdl
ZChjb25zdCBDaGlsZENoYW5nZSYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxPcHRHcm91cEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0R3Jv
dXBFbGVtZW50LmNwcAppbmRleCA4Yzc0OWM2YWEyZjIwNmNlZjUyN2FmM2U2NThiODhiNjE1ODk4
YWY4Li4zOTg5ZDdlN2RlNTUwNzJiMjQyZThlMzQwNTQxN2ZmNjY5MDdiMjc3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRHcm91cEVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE9wdEdyb3VwRWxlbWVudC5jcHAKQEAgLTc1LDEwICs3NSw0MyBA
QCBjb25zdCBBdG9tU3RyaW5nJiBIVE1MT3B0R3JvdXBFbGVtZW50Ojpmb3JtQ29udHJvbFR5cGUo
KSBjb25zdAogICAgIHJldHVybiBvcHRncm91cDsKIH0KIAorSFRNTE9wdGlvbkVsZW1lbnQqIEhU
TUxPcHRHcm91cEVsZW1lbnQ6OmZpbmRMYXN0U2VsZWN0ZWRPcHRpb24oKQoreworICAgIGZvciAo
YXV0byogb3B0aW9uID0gVHJhdmVyc2FsPEhUTUxPcHRpb25FbGVtZW50Pjo6bGFzdENoaWxkKCp0
aGlzKTsgb3B0aW9uOyBvcHRpb24gPSBUcmF2ZXJzYWw8SFRNTE9wdGlvbkVsZW1lbnQ+OjpwcmV2
aW91c1NpYmxpbmcoKm9wdGlvbikpIHsKKyAgICAgICAgaWYgKG9wdGlvbi0+c2VsZWN0ZWQoKSkK
KyAgICAgICAgICAgIHJldHVybiBvcHRpb247CisgICAgfQorICAgIHJldHVybiBudWxscHRyOwor
fQorCiB2b2lkIEhUTUxPcHRHcm91cEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjb25zdCBDaGls
ZENoYW5nZSYgY2hhbmdlKQogeworICAgIGJvb2wgaXNSZWxldmFudCA9IGNoYW5nZS5hZmZlY3Rz
RWxlbWVudHMoKTsKKyAgICBSZWZQdHIgc2VsZWN0ID0gaXNSZWxldmFudCA/IG93bmVyU2VsZWN0
RWxlbWVudCgpIDogbnVsbHB0cjsKKyAgICBpZiAoIWlzUmVsZXZhbnQgfHwgIXNlbGVjdCkgewor
ICAgICAgICBIVE1MRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNoYW5nZSk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICBSZWZQdHI8SFRNTE9wdGlvbkVsZW1lbnQ+IG9wdGlvblRvU2Vs
ZWN0OworICAgIGlmICghc2VsZWN0LT5tdWx0aXBsZSgpKSB7CisgICAgICAgIGlmIChjaGFuZ2Uu
dHlwZSA9PSBDaGlsZENoYW5nZTo6VHlwZTo6RWxlbWVudEluc2VydGVkKSB7CisgICAgICAgICAg
ICBpZiAoaXM8SFRNTE9wdGlvbkVsZW1lbnQ+KGNoYW5nZS5zaWJsaW5nQ2hhbmdlZCkpIHsKKyAg
ICAgICAgICAgICAgICBhdXRvJiBvcHRpb24gPSBkb3duY2FzdDxIVE1MT3B0aW9uRWxlbWVudD4o
KmNoYW5nZS5zaWJsaW5nQ2hhbmdlZCk7CisgICAgICAgICAgICAgICAgaWYgKG9wdGlvbi5zZWxl
Y3RlZCgpKQorICAgICAgICAgICAgICAgICAgICBvcHRpb25Ub1NlbGVjdCA9ICZvcHRpb247Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSBpZiAoY2hhbmdlLnR5cGUgPT0gQ2hpbGRDaGFu
Z2U6OlR5cGU6OkFsbENoaWxkcmVuUmVwbGFjZWQpCisgICAgICAgICAgICBvcHRpb25Ub1NlbGVj
dCA9IGZpbmRMYXN0U2VsZWN0ZWRPcHRpb24oKTsKKyAgICB9CisKICAgICByZWNhbGNTZWxlY3RP
cHRpb25zKCk7CiAgICAgSFRNTEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjaGFuZ2UpOworCisg
ICAgaWYgKG9wdGlvblRvU2VsZWN0KQorICAgICAgICBzZWxlY3QtPm9wdGlvblNlbGVjdGlvblN0
YXRlQ2hhbmdlZCgqb3B0aW9uVG9TZWxlY3QsIHRydWUpOworICAgIGVsc2UgaWYgKGNoYW5nZS5p
c0luc2VydGlvbigpKQorICAgICAgICBzZWxlY3QtPnNjcm9sbFRvU2VsZWN0aW9uKCk7CiB9CiAK
IHZvaWQgSFRNTE9wdEdyb3VwRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYgdmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxPcHRHcm91cEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE9wdEdyb3VwRWxlbWVudC5oCmluZGV4IGUyNTE5NWQyMjU5NmU5ZDY1MWE3NzU4MzRhOGU3
ZGY0NWRjMzIwZjEuLjI5MWYzZDM2MjIyMmE3MzIyY2M4Yzk1MGE0Mzc2NDg2ZTA0YzFjMzAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdEdyb3VwRWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdEdyb3VwRWxlbWVudC5oCkBAIC0zOSw2ICszOSw4
IEBAIHB1YmxpYzoKICAgICAKICAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgZ3JvdXBMYWJlbFRl
eHQoKSBjb25zdDsKIAorICAgIEhUTUxPcHRpb25FbGVtZW50KiBmaW5kTGFzdFNlbGVjdGVkT3B0
aW9uKCk7CisKIHByaXZhdGU6CiAgICAgSFRNTE9wdEdyb3VwRWxlbWVudChjb25zdCBRdWFsaWZp
ZWROYW1lJiwgRG9jdW1lbnQmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MT3B0aW9uRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVt
ZW50LmNwcAppbmRleCAxYTJjYjgyNDg3N2VkZTNmNzRmOTE0YjIxMGY4NWY4YTc1YjQwNzVmLi5k
OWE4MTlkZWJmMTBlMDAwNWNjZDZjZjk5NWExMDljYTQyYTBlN2IxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmNwcApAQCAtMzE1LDIzICszMTUsNiBAQCBib29sIEhU
TUxPcHRpb25FbGVtZW50Ojppc0Rpc2FibGVkRm9ybUNvbnRyb2woKSBjb25zdAogICAgIHJldHVy
biBkb3duY2FzdDxIVE1MT3B0R3JvdXBFbGVtZW50PigqcGFyZW50Tm9kZSgpKS5pc0Rpc2FibGVk
Rm9ybUNvbnRyb2woKTsKIH0KIAotTm9kZTo6SW5zZXJ0ZWRJbnRvQW5jZXN0b3JSZXN1bHQgSFRN
TE9wdGlvbkVsZW1lbnQ6Omluc2VydGVkSW50b0FuY2VzdG9yKEluc2VydGlvblR5cGUgaW5zZXJ0
aW9uVHlwZSwgQ29udGFpbmVyTm9kZSYgcGFyZW50T2ZJbnNlcnRlZFRyZWUpCi17Ci0gICAgaWYg
KFJlZlB0ciBzZWxlY3QgPSBvd25lclNlbGVjdEVsZW1lbnQoKSkgewotICAgICAgICBzZWxlY3Qt
PnNldFJlY2FsY0xpc3RJdGVtcygpOwotICAgICAgICBzZWxlY3QtPnVwZGF0ZVZhbGlkaXR5KCk7
Ci0gICAgICAgIC8vIERvIG5vdCBjYWxsIHNlbGVjdGVkKCkgc2luY2UgY2FsbGluZyB1cGRhdGVM
aXN0SXRlbVNlbGVjdGVkU3RhdGVzKCkKLSAgICAgICAgLy8gYXQgdGhpcyB0aW1lIHdvbid0IGRv
IHRoZSByaWdodCB0aGluZy4gKFdoeSwgZXhhY3RseT8pCi0gICAgICAgIC8vIEZJWE1FOiBNaWdo
dCBiZSBiZXR0ZXIgdG8gY2FsbCB0aGlzIHVuY29uZGl0aW9uYWxseSwgYWx3YXlzIHBhc3Npbmcg
bV9pc1NlbGVjdGVkLAotICAgICAgICAvLyByYXRoZXIgdGhhbiBvbmx5IGNhbGxpbmcgaXQgaWYg
d2UgYXJlIHNlbGVjdGVkLgotICAgICAgICBpZiAobV9pc1NlbGVjdGVkKQotICAgICAgICAgICAg
c2VsZWN0LT5vcHRpb25TZWxlY3Rpb25TdGF0ZUNoYW5nZWQoKnRoaXMsIHRydWUpOwotICAgICAg
ICBzZWxlY3QtPnNjcm9sbFRvU2VsZWN0aW9uKCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIEhUTUxF
bGVtZW50OjppbnNlcnRlZEludG9BbmNlc3RvcihpbnNlcnRpb25UeXBlLCBwYXJlbnRPZkluc2Vy
dGVkVHJlZSk7Ci19Ci0KIFN0cmluZyBIVE1MT3B0aW9uRWxlbWVudDo6Y29sbGVjdE9wdGlvbklu
bmVyVGV4dCgpIGNvbnN0CiB7CiAgICAgU3RyaW5nQnVpbGRlciB0ZXh0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MT3B0aW9uRWxlbWVudC5oCmluZGV4IDIwZWQyZjVkYTg3N2JjMjcwNTEzOGViMjQ3
NmEyNzdlNWRiOTVkOTQuLjU4NzMxNzhjZmY2ZmMyN2ExYjlhMTM3NDc2ZTdlOGIzYjA5MWM1OGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmgKQEAgLTcxLDcgKzcxLDYg
QEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIGNvbnN0IEF0b21TdHJpbmcmKSBmaW5hbDsKIAotICAgIEluc2VydGVkSW50b0FuY2VzdG9y
UmVzdWx0IGluc2VydGVkSW50b0FuY2VzdG9yKEluc2VydGlvblR5cGUsIENvbnRhaW5lck5vZGUm
KSBmaW5hbDsKICAgICBib29sIGFjY2Vzc0tleUFjdGlvbihib29sKSBmaW5hbDsKIAogICAgIHZv
aWQgY2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdlJikgZmluYWw7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCmluZGV4IDgyMTZkYmNkZGEwMzhjNmNlMjZi
YTBlMGFmZTY5N2VhOTkzOTE4ZjAuLmU5ODUzZjM5NWQ1OGU0N2QxNTc5NGRmYmJkMTJmZDhjMzVj
M2QzOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCkBAIC0z
NzMsMTEgKzM3MywzMyBAQCB2b2lkIEhUTUxTZWxlY3RFbGVtZW50Ojp1cGRhdGVMaXN0SXRlbVNl
bGVjdGVkU3RhdGVzKCkKIAogdm9pZCBIVE1MU2VsZWN0RWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2Vk
KGNvbnN0IENoaWxkQ2hhbmdlJiBjaGFuZ2UpCiB7CisgICAgaWYgKCFjaGFuZ2UuYWZmZWN0c0Vs
ZW1lbnRzKCkpIHsKKyAgICAgICAgSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZTo6Y2hp
bGRyZW5DaGFuZ2VkKGNoYW5nZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBSZWZQ
dHI8SFRNTE9wdGlvbkVsZW1lbnQ+IG9wdGlvblRvU2VsZWN0OworICAgIGlmICghbV9tdWx0aXBs
ZSkgeworICAgICAgICBpZiAoY2hhbmdlLnR5cGUgPT0gQ2hpbGRDaGFuZ2U6OlR5cGU6OkVsZW1l
bnRJbnNlcnRlZCkgeworICAgICAgICAgICAgaWYgKGlzPEhUTUxPcHRpb25FbGVtZW50PihjaGFu
Z2Uuc2libGluZ0NoYW5nZWQpKSB7CisgICAgICAgICAgICAgICAgYXV0byYgb3B0aW9uID0gZG93
bmNhc3Q8SFRNTE9wdGlvbkVsZW1lbnQ+KCpjaGFuZ2Uuc2libGluZ0NoYW5nZWQpOworICAgICAg
ICAgICAgICAgIGlmIChvcHRpb24uc2VsZWN0ZWQoKSkKKyAgICAgICAgICAgICAgICAgICAgb3B0
aW9uVG9TZWxlY3QgPSAmb3B0aW9uOworICAgICAgICAgICAgfSBlbHNlIGlmIChpczxIVE1MT3B0
R3JvdXBFbGVtZW50PihjaGFuZ2Uuc2libGluZ0NoYW5nZWQpKQorICAgICAgICAgICAgICAgIG9w
dGlvblRvU2VsZWN0ID0gZG93bmNhc3Q8SFRNTE9wdEdyb3VwRWxlbWVudD4oKmNoYW5nZS5zaWJs
aW5nQ2hhbmdlZCkuZmluZExhc3RTZWxlY3RlZE9wdGlvbigpOworICAgICAgICB9CisgICAgfQor
CiAgICAgc2V0UmVjYWxjTGlzdEl0ZW1zKCk7CiAgICAgdXBkYXRlVmFsaWRpdHkoKTsKICAgICBt
X2xhc3RPbkNoYW5nZVNlbGVjdGlvbi5jbGVhcigpOwogCiAgICAgSFRNTEZvcm1Db250cm9sRWxl
bWVudFdpdGhTdGF0ZTo6Y2hpbGRyZW5DaGFuZ2VkKGNoYW5nZSk7CisKKyAgICBpZiAob3B0aW9u
VG9TZWxlY3QpCisgICAgICAgIG9wdGlvblNlbGVjdGlvblN0YXRlQ2hhbmdlZCgqb3B0aW9uVG9T
ZWxlY3QsIHRydWUpOworICAgIGVsc2UgaWYgKGNoYW5nZS5pc0luc2VydGlvbigpKQorICAgICAg
ICBzY3JvbGxUb1NlbGVjdGlvbigpOwogfQogCiB2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjpvcHRp
b25FbGVtZW50Q2hpbGRyZW5DaGFuZ2VkKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkYmRmMTFjY2M5ZGVlNTk5MmI3MDQy
NGM4MGFjOGUzMzY3YTExMmFjLi41MGQyZjE3YWIwOWQyYTRjMjgyMjE1ZjFlMDEyNGUwZDEzYTYy
MjBhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjItMDEtMTQgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBXaGVuIGluc2VydGluZyBhIHNlbGVjdGVkIDxvcHRp
b24+IGluIGEgPHNlbGVjdD4gZWxlbWVudCwgaXRzIHNlbGVjdGVkIHN0YXRlIHNob3VsZCByZW1h
aW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTIz
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlYmFz
ZWxpbmUgV1BUIHRlc3QgdGhhdCBpcyBub3cgcGFzc2luZy4KKworICAgICAgICAqIHBsYXRmb3Jt
L2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9m
b3Jtcy90aGUtc2VsZWN0LWVsZW1lbnQvc2VsZWN0LXZhbGlkaXR5LWV4cGVjdGVkLnR4dDoKKwog
MjAyMi0wMS0xNCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBb
Q29jb2FdIHJWRkMoKSBpc24ndCBjYWxsZWQgZm9yIGluaXRpYWwgdmlkZW8gbG9hZApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggYTBjNWYyNDc0ZGY4MDZjZWM0ZWY4OTRiNmI1NmY5
YmE2YmJmNWE3Yi4uMDZjYzg1M2U1Mzc0NjM2MzU5NTQxMjU3NWZkYjNjOTUzZWExNzZiNCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjItMDEtMTQg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBXaGVuIGluc2VydGlu
ZyBhIHNlbGVjdGVkIDxvcHRpb24+IGluIGEgPHNlbGVjdD4gZWxlbWVudCwgaXRzIHNlbGVjdGVk
IHN0YXRlIHNob3VsZCByZW1haW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzNTIzNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJlYmFzZWxpbmUgV1BUIHRlc3RzIHRoYXQgYXJlIG5vdyBwYXNzaW5nLgor
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS1z
ZWxlY3QtZWxlbWVudC9pbnNlcnRlZC1vci1yZW1vdmVkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvdGhlLXNlbGVjdC1lbGVt
ZW50L3NlbGVjdC12YWxpZGl0eS1leHBlY3RlZC50eHQ6CisKIDIwMjItMDEtMTQgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZWdyZXNzaW9uKHIyODE1MjApIDMg
c3VidGVzdHMgc3RhcnRlZCBmYWlsaW5nIG9uIGRvbS90cmF2ZXJzYWwvVHJlZVdhbGtlci1hY2Nl
cHROb2RlLWZpbHRlci1jcm9zcy1yZWFsbS5odG1sIFdQVCB0ZXN0CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zv
cm1zL3RoZS1zZWxlY3QtZWxlbWVudC9pbnNlcnRlZC1vci1yZW1vdmVkLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MvZm9ybXMvdGhlLXNlbGVjdC1lbGVtZW50L2luc2VydGVkLW9yLXJlbW92ZWQtZXhwZWN0ZWQu
dHh0CmluZGV4IDZjOTdlYzIxNjRkMmRhYTZhZTcxMzBlMDlhOWVhOTllZTVhNmIwYzUuLjA2YjMw
ODcwZWU2OTkzYTAzNjAxZDY4Y2ViNDUxMDY4MTA2ZjNiZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMv
dGhlLXNlbGVjdC1lbGVtZW50L2luc2VydGVkLW9yLXJlbW92ZWQtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MvZm9ybXMvdGhlLXNlbGVjdC1lbGVtZW50L2luc2VydGVkLW9yLXJlbW92ZWQtZXhwZWN0ZWQu
dHh0CkBAIC0xLDcgKzEsNyBAQAogCiAKIFBBU1MgVGhlIGxhc3Qgc2VsZWN0ZWQgT1BUSU9OIHNo
b3VsZCB3aW47IEluc2VydGVkIGJ5IHBhcnNlcgotRkFJTCBUaGUgbGFzdCBzZWxlY3RlZCBPUFRJ
T04gc2hvdWxkIHdpbjsgSW5zZXJ0ZWQgYnkgRE9NIEFQSSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAiU2Vjb25kIiBidXQgZ290ICJGaXJzdCIKK1BBU1MgVGhlIGxhc3Qgc2VsZWN0ZWQgT1BUSU9O
IHNob3VsZCB3aW47IEluc2VydGVkIGJ5IERPTSBBUEkKIFBBU1MgVGhlIGxhc3Qgc2VsZWN0ZWQg
T1BUSU9OIHNob3VsZCB3aW47IEluc2VydGVkIGJ5IGpRdWVyeSBhcHBlbmQoKQogUEFTUyBUaGUg
bGFzdCBzZWxlY3RlZCBPUFRJT04gc2hvdWxkIHdpbjsgSW5zZXJ0ZWQgYnkgaW5uZXJIVE1MCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3MvZm9ybXMvdGhlLXNlbGVjdC1lbGVtZW50L3NlbGVjdC12YWxpZGl0eS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS1zZWxlY3QtZWxlbWVudC9zZWxlY3QtdmFsaWRpdHkt
ZXhwZWN0ZWQudHh0CmluZGV4IDg1ZmY0ZjA3ODU5YmM3NzZlNmNiNGQ4Yjk4YmQwZjM3ZTNkM2M4
NmEuLjFkNjZiYjI1OWUyMWIyODdlNTBmOGQ4YmM1YTk4MTMxMzZlNjVkMjggMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MvZm9ybXMvdGhlLXNlbGVjdC1lbGVtZW50L3NlbGVjdC12YWxpZGl0eS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Nl
bWFudGljcy9mb3Jtcy90aGUtc2VsZWN0LWVsZW1lbnQvc2VsZWN0LXZhbGlkaXR5LWV4cGVjdGVk
LnR4dApAQCAtNCw1ICs0LDUgQEAgUEFTUyBQbGFjZWhvbGRlciBsYWJlbC1saWtlIG9wdGlvbnMg
d2l0aGluIG9wdGdyb3VwCiBQQVNTIFZhbGlkYXRpb24gb24gc2VsZWN0cyB3aXRoIGRpc3BsYXkg
c2l6ZSBzZXQgYXMgbW9yZSB0aGFuIG9uZQogUEFTUyBWYWxpZGF0aW9uIG9uIHNlbGVjdHMgd2l0
aCBtdWx0aXBsZSBzZXQKIFBBU1MgVmFsaWRhdGlvbiBvbiBzZWxlY3RzIHdpdGggbm9uLWVtcHR5
IGRpc2FibGVkIG9wdGlvbgotRkFJTCBSZW1vdmUgYW5kIGFkZCBiYWNrIHRoZSBwbGFjZWhvbGRl
ciBsYWJlbCBvcHRpb24gYXNzZXJ0X2ZhbHNlOiBJZiB0aGUgcGxhY2Vob2xkZXIgbGFiZWwgb3B0
aW9uIGlzIHNlbGVjdGVkLCByZXF1aXJlZCBzZWxlY3QgZWxlbWVudCBzaG91bGRuJ3QgYmUgdmFs
aWQuIGV4cGVjdGVkIGZhbHNlIGdvdCB0cnVlCitQQVNTIFJlbW92ZSBhbmQgYWRkIGJhY2sgdGhl
IHBsYWNlaG9sZGVyIGxhYmVsIG9wdGlvbgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MvZm9ybXMvdGhlLXNlbGVjdC1lbGVtZW50L3NlbGVjdC12YWxpZGl0eS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvdGhlLXNlbGVjdC1lbGVtZW50L3NlbGVjdC12YWxp
ZGl0eS1leHBlY3RlZC50eHQKaW5kZXggNjJiODFhYTY3ZmQ4ZTc1MTRiZjQ1MzRmNTcyMjE3MzZl
YzY5OWI5NS4uNDlkMWNiYWFhZDI5Zjk2NjlhMGY3OGQxNzEyYjgyZDU0NzllYTUwZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS1zZWxlY3QtZWxlbWVudC9zZWxlY3Qt
dmFsaWRpdHktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90aGUt
c2VsZWN0LWVsZW1lbnQvc2VsZWN0LXZhbGlkaXR5LWV4cGVjdGVkLnR4dApAQCAtNCw1ICs0LDUg
QEAgUEFTUyBQbGFjZWhvbGRlciBsYWJlbC1saWtlIG9wdGlvbnMgd2l0aGluIG9wdGdyb3VwCiBG
QUlMIFZhbGlkYXRpb24gb24gc2VsZWN0cyB3aXRoIGRpc3BsYXkgc2l6ZSBzZXQgYXMgbW9yZSB0
aGFuIG9uZSBhc3NlcnRfZmFsc2U6IElmIG5vIG9wdGlvbnMgYXJlIHNlbGVjdGVkIHRoZSBzZWxl
Y3QgbXVzdCBiZSBzZWVuIGFzIGludmFsaWQuIGV4cGVjdGVkIGZhbHNlIGdvdCB0cnVlCiBQQVNT
IFZhbGlkYXRpb24gb24gc2VsZWN0cyB3aXRoIG11bHRpcGxlIHNldAogUEFTUyBWYWxpZGF0aW9u
IG9uIHNlbGVjdHMgd2l0aCBub24tZW1wdHkgZGlzYWJsZWQgb3B0aW9uCi1GQUlMIFJlbW92ZSBh
bmQgYWRkIGJhY2sgdGhlIHBsYWNlaG9sZGVyIGxhYmVsIG9wdGlvbiBhc3NlcnRfZmFsc2U6IElm
IHRoZSBwbGFjZWhvbGRlciBsYWJlbCBvcHRpb24gaXMgc2VsZWN0ZWQsIHJlcXVpcmVkIHNlbGVj
dCBlbGVtZW50IHNob3VsZG4ndCBiZSB2YWxpZC4gZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKK1BB
U1MgUmVtb3ZlIGFuZCBhZGQgYmFjayB0aGUgcGxhY2Vob2xkZXIgbGFiZWwgb3B0aW9uCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449394</attachid>
            <date>2022-01-18 08:21:31 -0800</date>
            <delta_ts>2022-01-18 15:43:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235237-20220118082131.patch</filename>
            <type>text/plain</type>
            <size>21340</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MTE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjNhM2Y0YTRjNDgxZDg4
Y2UwM2U0OTRhZjg5NjVlYWFmOTA5ODdhNy4uMjllMGMxYjkxMWRiM2Y1OTM4ZWJlNDYwYWFhYmU5
NmQ5M2JjNmE0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc2IEBACisyMDIyLTAxLTE0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2hlbiBpbnNlcnRpbmcgYSBz
ZWxlY3RlZCA8b3B0aW9uPiBpbiBhIDxzZWxlY3Q+IGVsZW1lbnQsIGl0cyBzZWxlY3RlZCBzdGF0
ZSBzaG91bGQgcmVtYWluCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzUyMzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBXaGVuIGluc2VydGluZyBhIHNlbGVjdGVkIDxvcHRpb24+IGluIGEgPHNlbGVjdD4g
ZWxlbWVudCwgaXRzIHNlbGVjdGVkIHN0YXRlIHNob3VsZCByZW1haW4gYW5kIG90aGVyIHNlbGVj
dGVkCisgICAgICAgIG9wdGlvbnMgc2hvdWxkIGJlIGRlLXNlbGVjdGVkLgorCisgICAgICAgIFRo
aXMgaXMgYXMgcGVyIHRoZSBzcGVjaWZpY2F0aW9uIFsxXSB0aGF0IHNheXM6CisgICAgICAgICIi
IgorICAgICAgICBJZiB0aGUgbXVsdGlwbGUgYXR0cmlidXRlIGlzIGFic2VudCwgd2hlbmV2ZXIg
YW4gb3B0aW9uIGVsZW1lbnQgaW4gdGhlIHNlbGVjdCBlbGVtZW50J3MgbGlzdCBvZiBvcHRpb25z
IGhhcworICAgICAgICBpdHMgc2VsZWN0ZWRuZXNzIHNldCB0byB0cnVlLCBhbmQgd2hlbmV2ZXIg
YW4gb3B0aW9uIGVsZW1lbnQgd2l0aCBpdHMgc2VsZWN0ZWRuZXNzIHNldCB0byB0cnVlIGlzIGFk
ZGVkIHRvCisgICAgICAgIHRoZSBzZWxlY3QgZWxlbWVudCdzIGxpc3Qgb2Ygb3B0aW9ucywgdGhl
IHVzZXIgYWdlbnQgbXVzdCBzZXQgdGhlIHNlbGVjdGVkbmVzcyBvZiBhbGwgdGhlIG90aGVyIG9w
dGlvbgorICAgICAgICBlbGVtZW50cyBpbiBpdHMgbGlzdCBvZiBvcHRpb25zIHRvIGZhbHNlLgor
ICAgICAgICAiIiIKKworICAgICAgICBGaXJlZm94IGFuZCBDaHJvbWUgY29ycmVjdGx5IGltcGxl
bWVudCB0aGlzLgorCisgICAgICAgIFdlYktpdCB3YXMgdHJ5aW5nIHRvIGltcGxlbWVudCB0aGlz
IGxvZ2ljIGZyb20gaW5zaWRlIEhUTUxPcHRpb25FbGVtZW50OjppbnNlcnRlZEludG9BbmNlc3Rv
cigpLiBIb3dldmVyLAorICAgICAgICB0aGVyZSB3ZXJlIHNldmVyYWwgaXNzdWVzIHdpdGggdGhh
dDoKKyAgICAgICAgMS4gSXQgd2FzIGNoZWNraW5nIG1faXNTZWxlY3RlZCBhZnRlciBjYWxsaW5n
IHVwZGF0ZVZhbGlkaXR5KCkuIHVwZGF0ZVZhbGlkaXR5KCkgd291bGQgY2FsbCByZWNhbGNMaXN0
SXRlbXMoKSwKKyAgICAgICAgICAgd2hpY2ggY291bGQgdXBkYXRlIG1faXNTZWxlY3RlZC4gVGhp
cyBwYXJ0IGNvdWxkIGhhdmUgYmVlbiBhZGRyZXNzZWQgYnkgc2F2aW5nIG1faXNTZWxlY3RlZCBi
ZWZvcmUKKyAgICAgICAgICAgY2FsbGluZyB1cGRhdGVWYWxpZGl0eSgpIGJ1dCB3b3VsZCBub3Qg
aGF2ZSBhZGRyZXNzZWQgdGhlIGZvbGxvd2luZyBpc3N1ZXMuCisgICAgICAgIDIuIEluIHRoZSBj
YXNlIHdoZXJlIGFuIDxvcHRncm91cD4gY29udGFpbmluZyBzZXZlcmFsIDxvcHRpb24+IGVsZW1l
bnRzIGlzIGluc2VydGVkIGludG8gYSA8c2VsZWN0PiwKKyAgICAgICAgICAgaW5zZXJ0ZWRJbnRv
QW5jZXN0b3IoKSBnZXRzIGNhbGxlZCBmcm9tIGVhY2ggb3B0aW9ucyBiZWluZyBpbnNlcnRlZC4g
V2hlbiBjYWxsaW5nIGluc2VydGVkSW50b0FuY2VzdG9yKCkKKyAgICAgICAgICAgZnJvbSB0aGUg
Zmlyc3QgPG9wdGlvbj4gYW5kIGlmIHRoaXMgPG9wdGlvbj4gaXMgc2VsZWN0ZWQsIGl0IHdvdWxk
IGRlc2VsZWN0IGFsbCBmb2xsb3dpbmcgPG9wdGlvbj4gZWxlbWVudHMKKyAgICAgICAgICAgZXZl
biB0aG91Z2ggaW5zZXJ0ZWRJbnRvQW5jZXN0b3IoKSBoYXMgbm90IHlldCBiZWVuIGNhbGxlZCBm
b3IgdGhlbS4gQXMgYSByZXN1bHQsIHdlIHdvdWxkIGVuZCB1cCBzZWxlY3RpbmcKKyAgICAgICAg
ICAgdGhlIGZpcnN0IGluc2VydGVkIDxvcHRpb24+IHRoYXQgaGFkIHRoZSBzZWxlY3RlZCBzdGF0
ZSwgaW5zdGVhZCBvZiB0aGUgbGFzdCBvbmUuCisgICAgICAgIDMuIFdoZW4gbW9yZSB0aGFuIG9u
ZSA8b3B0aW9uPiBpcyBpbnNlcnRlZCBhdCBvbmNlLCB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlv
biB3b3VsZCBiZSByZWFsbHkgaW5lZmZpY2llbnQgYXMKKyAgICAgICAgICAgZXZlcnkgPG9wdGlv
bj4gd291bGQgZGlydHkgYW5kIHJlY2FsYyB0aGUgaXRlbSBsaXN0IGZyb20gaW5zZXJ0ZWRJbnRv
QW5jZXN0b3IoKS4KKworICAgICAgICBUbyBhZGRyZXNzIHRoZXNlIGlzc3VlcywgSSBnb3Qgcmlk
IG9mIEhUTUxPcHRpb25FbGVtZW50OjppbnNlcnRlZEludG9BbmNlc3RvcigpLiBJbnN0ZWFkIHdl
IG5vdyBkZWFsIHdpdGgKKyAgICAgICAgPG9wdGlvbj4gaW5zZXJ0aW9uIGZyb20gaW5zaWRlIEhU
TUxTZWxlY3RFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoKSBhbmQgSFRNTE9wdEdyb3VwRWxlbWVu
dDo6Y2hpbGRyZW5DaGFuZ2VkKCkuCisgICAgICAgIFVzaW5nIHRoZSBwYXJlbnQgZWxlbWVudCdz
IGNoaWxkcmVuQ2hhbmdlZCgpIGlzIHVzZWZ1bCBiZWNhdXNlIGl0IG9ubHkgZ2V0cyBjYWxsZWQg
b25jZSB3aGVuIHNldmVyYWwgPG9wdGlvbj4KKyAgICAgICAgZWxlbWVudHMgYXJlIGluc2VydGVk
IGF0IG9uY2UuIEkgYWRkZWQgbG9naWMgdG8gdGhvc2UgY2hpbGRyZW5DaGFuZ2VkKCkgZnVuY3Rp
b25zIHRvIGtlZXAgdHJhY2sgb2YgdGhlIGxhc3QKKyAgICAgICAgc2VsZWN0ZWQgPG9wdGlvbj4g
ZWxlbWVudCBiZWluZyBpbnNlcnRlZC4gVGhlbiwgYWZ0ZXIgd2UgcmVjYWxjIHRoZSBpdGVtIGxp
c3QgKHdoaWNoIG1heSBjaGFuZ2UgPG9wdGlvbj5zJworICAgICAgICBzZWxlY3RlZCBzdGF0ZSwg
SSBtYWtlIHN1cmUgdG8gdGhpcyA8b3B0aW9uPiBpcyBzZWxlY3RlZC4gVGhpcyBpcyBzaW1pbGFy
IHRvIHRoZSBsb2dpYyB0aGF0IHdhcyBwcmV2aW91c2x5CisgICAgICAgIGluIEhUTUxPcHRpb25F
bGVtZW50OjppbnNlcnRlZEludG9BbmNlc3RvcigpLgorCisKKyAgICAgICAgWzFdIGh0dHBzOi8v
aHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2Zvcm0tZWxlbWVudHMuaHRtbCN0aGUtc2Vs
ZWN0LWVsZW1lbnQKKworICAgICAgICBObyBuZXcgdGVzdHMsIHJlYmFzZWxpbmVkIGV4aXN0aW5n
IHRlc3RzLgorCisgICAgICAgICogZG9tL0NoYXJhY3RlckRhdGEuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6bWFrZUNoaWxkQ2hhbmdlKToKKyAgICAgICAgKiBkb20vQ29udGFpbmVyTm9kZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDb250YWluZXJOb2RlOjpyZW1vdmVBbGxDaGlsZHJlbldpdGhT
Y3JpcHRBc3NlcnRpb24pOgorICAgICAgICAoV2ViQ29yZTo6bWFrZUNoaWxkQ2hhbmdlRm9yUmVt
b3ZhbCk6CisgICAgICAgIChXZWJDb3JlOjptYWtlQ2hpbGRDaGFuZ2VGb3JJbnNlcnRpb24pOgor
ICAgICAgICAoV2ViQ29yZTo6Q29udGFpbmVyTm9kZTo6Y2hpbGRyZW5DaGFuZ2VkKToKKyAgICAg
ICAgKFdlYkNvcmU6OmFmZmVjdHNFbGVtZW50cyk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL0Nv
bnRhaW5lck5vZGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRhaW5lck5vZGU6OkNoaWxkQ2hh
bmdlOjppc0luc2VydGlvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDb250YWluZXJOb2Rl
OjpDaGlsZENoYW5nZTo6YWZmZWN0c0VsZW1lbnRzIGNvbnN0KToKKyAgICAgICAgLSBBZGQgJ3Np
YmxpbmdDaGFuZ2VkJyBtZW1iZXIgdG8gQ2hpbGRDaGFuZ2UgaW4gYWRkaXRpb24gdG8gdGhlIHBy
ZXZpb3VzIC8gbmV4dCBzaWJsaW5ncy4KKyAgICAgICAgICBUaGlzIGlzIHVzZWZ1bCBmb3IgSFRN
TE9wdEdyb3VwRWxlbWVudCBhbmQgSFRNTFNlbGVjdEVsZW1lbnQgd2hlcmUgd2Ugd2FudCB0byBr
bm93CisgICAgICAgICAgaWYgYSBuZXdseSBpbnNlcnRlZCBjaGlsZCBpcyBhbiBIVE1MT3B0aW9u
RWxlbWVudCAoYW5kIGlmIGl0IGlzIHNlbGVjdGVkKS4KKyAgICAgICAgLSBNb3ZlIGFmZmVjdHNF
bGVtZW50cygpIHRvIHRoZSBoZWFkZXIgc28gdGhhdCBpdCBjYW4gYmUgcmV1c2VkIGJ5IEhUTUxP
cHRHcm91cEVsZW1lbnQKKyAgICAgICAgICBhbmQgSFRNTE9wdGlvbkVsZW1lbnQuCisKKyAgICAg
ICAgKiBodG1sL0hUTUxPcHRHcm91cEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TE9wdEdyb3VwRWxlbWVudDo6ZmluZExhc3RTZWxlY3RlZE9wdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MT3B0R3JvdXBFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQpOgorICAgICAgICAqIGh0
bWwvSFRNTE9wdEdyb3VwRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTE9wdGlvbkVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE9wdGlvbkVsZW1lbnQ6Omluc2VydGVkSW50
b0FuY2VzdG9yKTogRGVsZXRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxPcHRpb25FbGVtZW50Lmg6
CisgICAgICAgICogaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MU2VsZWN0RWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKToKKwogMjAyMi0wMS0xOCAgT3Jp
b2wgQnJ1ZmF1ICA8b2JydWZhdUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtjc3MtbG9naWNhbF0g
U2ltcGxpZnkgbG9naWNhbCBwcm9wZXJ0eSBncm91cHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9DaGFyYWN0ZXJEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJE
YXRhLmNwcAppbmRleCA2MTU3ZjMzNDQwNmMxOTNkYjY5ODI2YjcxYzFkZTEyZjNmMTllYTZjLi5i
YTMxMTkwYzRkNDIzZTc3NzllNWNkN2JlZjA1YzEwMmY4ZmRjZmZhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0NoYXJhY3RlckRhdGEuY3BwCkBAIC03OCw2ICs3OCw3IEBAIHN0YXRpYyBDb250YWluZXJOb2Rl
OjpDaGlsZENoYW5nZSBtYWtlQ2hpbGRDaGFuZ2UoQ2hhcmFjdGVyRGF0YSYgY2hhcmFjdGVyRGF0
YSwKIHsKICAgICByZXR1cm4gewogICAgICAgICBDb250YWluZXJOb2RlOjpDaGlsZENoYW5nZTo6
VHlwZTo6VGV4dENoYW5nZWQsCisgICAgICAgIG51bGxwdHIsCiAgICAgICAgIEVsZW1lbnRUcmF2
ZXJzYWw6OnByZXZpb3VzU2libGluZyhjaGFyYWN0ZXJEYXRhKSwKICAgICAgICAgRWxlbWVudFRy
YXZlcnNhbDo6bmV4dFNpYmxpbmcoY2hhcmFjdGVyRGF0YSksCiAgICAgICAgIHNvdXJjZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCmluZGV4IDNjMTcxNTZhMTZlNDhlNWRiZDg3MDU1
OThjZjJhMWVjMDQ0N2FiYTcuLmViYmIwNjZlZmM0MjAxMTQ0NzBlMGEyZWRiZDI5ZDgxYjU3MDNj
NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAKQEAgLTExMiw3ICsxMTIsNyBA
QCBBTFdBWVNfSU5MSU5FIE5vZGVWZWN0b3IgQ29udGFpbmVyTm9kZTo6cmVtb3ZlQWxsQ2hpbGRy
ZW5XaXRoU2NyaXB0QXNzZXJ0aW9uKENoaQogCiAgICAgZGlzY29ubmVjdFN1YmZyYW1lc0lmTmVl
ZGVkKCp0aGlzLCBEZXNjZW5kYW50c09ubHkpOwogCi0gICAgQ29udGFpbmVyTm9kZTo6Q2hpbGRD
aGFuZ2UgY2hpbGRDaGFuZ2UgeyBDaGlsZENoYW5nZTo6VHlwZTo6QWxsQ2hpbGRyZW5SZW1vdmVk
LCBudWxscHRyLCBudWxscHRyLCBzb3VyY2UgfTsKKyAgICBDb250YWluZXJOb2RlOjpDaGlsZENo
YW5nZSBjaGlsZENoYW5nZSB7IENoaWxkQ2hhbmdlOjpUeXBlOjpBbGxDaGlsZHJlblJlbW92ZWQs
IG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIsIHNvdXJjZSB9OwogCiAgICAgV2lkZ2V0SGllcmFy
Y2h5VXBkYXRlc1N1c3BlbnNpb25TY29wZSBzdXNwZW5kV2lkZ2V0SGllcmFyY2h5VXBkYXRlczsK
ICAgICBTY3JpcHREaXNhbGxvd2VkU2NvcGU6OkluTWFpblRocmVhZCBzY3JpcHREaXNhbGxvd2Vk
U2NvcGU7CkBAIC0xNTIsNiArMTUyLDcgQEAgc3RhdGljIENvbnRhaW5lck5vZGU6OkNoaWxkQ2hh
bmdlIG1ha2VDaGlsZENoYW5nZUZvclJlbW92YWwoTm9kZSYgY2hpbGRUb1JlbW92ZSwKIAogICAg
IHJldHVybiB7CiAgICAgICAgIGNoYW5nZVR5cGUsCisgICAgICAgIGR5bmFtaWNEb3duY2FzdDxF
bGVtZW50PihjaGlsZFRvUmVtb3ZlKSwKICAgICAgICAgRWxlbWVudFRyYXZlcnNhbDo6cHJldmlv
dXNTaWJsaW5nKGNoaWxkVG9SZW1vdmUpLAogICAgICAgICBFbGVtZW50VHJhdmVyc2FsOjpuZXh0
U2libGluZyhjaGlsZFRvUmVtb3ZlKSwKICAgICAgICAgc291cmNlCkBAIC0yMjUsNyArMjI2LDcg
QEAgZW51bSBjbGFzcyBSZXBsYWNlZEFsbENoaWxkcmVuIHsgTm8sIFllcyB9Owogc3RhdGljIENv
bnRhaW5lck5vZGU6OkNoaWxkQ2hhbmdlIG1ha2VDaGlsZENoYW5nZUZvckluc2VydGlvbihDb250
YWluZXJOb2RlJiBjb250YWluZXJOb2RlLCBOb2RlJiBjaGlsZCwgTm9kZSogYmVmb3JlQ2hpbGQs
IENvbnRhaW5lck5vZGU6OkNoaWxkQ2hhbmdlOjpTb3VyY2Ugc291cmNlLCBSZXBsYWNlZEFsbENo
aWxkcmVuIHJlcGxhY2VkQWxsQ2hpbGRyZW4pCiB7CiAgICAgaWYgKHJlcGxhY2VkQWxsQ2hpbGRy
ZW4gPT0gUmVwbGFjZWRBbGxDaGlsZHJlbjo6WWVzKQotICAgICAgICByZXR1cm4geyBDb250YWlu
ZXJOb2RlOjpDaGlsZENoYW5nZTo6VHlwZTo6QWxsQ2hpbGRyZW5SZXBsYWNlZCwgbnVsbHB0ciwg
bnVsbHB0ciwgc291cmNlIH07CisgICAgICAgIHJldHVybiB7IENvbnRhaW5lck5vZGU6OkNoaWxk
Q2hhbmdlOjpUeXBlOjpBbGxDaGlsZHJlblJlcGxhY2VkLCBudWxscHRyLCBudWxscHRyLCBudWxs
cHRyLCBzb3VyY2UgfTsKIAogICAgIGF1dG8gY2hhbmdlVHlwZSA9IFsmXSB7CiAgICAgICAgIGlm
IChpczxFbGVtZW50PihjaGlsZCkpCkBAIC0yMzcsNiArMjM4LDcgQEAgc3RhdGljIENvbnRhaW5l
ck5vZGU6OkNoaWxkQ2hhbmdlIG1ha2VDaGlsZENoYW5nZUZvckluc2VydGlvbihDb250YWluZXJO
b2RlJiBjb24KIAogICAgIHJldHVybiB7CiAgICAgICAgIGNoYW5nZVR5cGUsCisgICAgICAgIGR5
bmFtaWNEb3duY2FzdDxFbGVtZW50PihjaGlsZCksCiAgICAgICAgIGJlZm9yZUNoaWxkID8gRWxl
bWVudFRyYXZlcnNhbDo6cHJldmlvdXNTaWJsaW5nKCpiZWZvcmVDaGlsZCkgOiBFbGVtZW50VHJh
dmVyc2FsOjpsYXN0Q2hpbGQoY29udGFpbmVyTm9kZSksCiAgICAgICAgICFiZWZvcmVDaGlsZCB8
fCBpczxFbGVtZW50PigqYmVmb3JlQ2hpbGQpID8gZG93bmNhc3Q8RWxlbWVudD4oYmVmb3JlQ2hp
bGQpIDogRWxlbWVudFRyYXZlcnNhbDo6bmV4dFNpYmxpbmcoKmJlZm9yZUNoaWxkKSwKICAgICAg
ICAgc291cmNlCkBAIC04MjYsMzAgKzgyOCwxMSBAQCBFeGNlcHRpb25Pcjx2b2lkPiBDb250YWlu
ZXJOb2RlOjphcHBlbmRDaGlsZChDaGlsZENoYW5nZTo6U291cmNlIHNvdXJjZSwgTm9kZSYgbgog
ICAgIHJldHVybiBhcHBlbmRDaGlsZChuZXdDaGlsZCk7CiB9CiAKLXN0YXRpYyBib29sIGFmZmVj
dHNFbGVtZW50cyhjb25zdCBDb250YWluZXJOb2RlOjpDaGlsZENoYW5nZSYgY2hhbmdlKQotewot
ICAgIHN3aXRjaCAoY2hhbmdlLnR5cGUpIHsKLSAgICBjYXNlIENvbnRhaW5lck5vZGU6OkNoaWxk
Q2hhbmdlOjpUeXBlOjpFbGVtZW50SW5zZXJ0ZWQ6Ci0gICAgY2FzZSBDb250YWluZXJOb2RlOjpD
aGlsZENoYW5nZTo6VHlwZTo6RWxlbWVudFJlbW92ZWQ6Ci0gICAgY2FzZSBDb250YWluZXJOb2Rl
OjpDaGlsZENoYW5nZTo6VHlwZTo6QWxsQ2hpbGRyZW5SZW1vdmVkOgotICAgIGNhc2UgQ29udGFp
bmVyTm9kZTo6Q2hpbGRDaGFuZ2U6OlR5cGU6OkFsbENoaWxkcmVuUmVwbGFjZWQ6Ci0gICAgICAg
IHJldHVybiB0cnVlOwotICAgIGNhc2UgQ29udGFpbmVyTm9kZTo6Q2hpbGRDaGFuZ2U6OlR5cGU6
OlRleHRJbnNlcnRlZDoKLSAgICBjYXNlIENvbnRhaW5lck5vZGU6OkNoaWxkQ2hhbmdlOjpUeXBl
OjpUZXh0UmVtb3ZlZDoKLSAgICBjYXNlIENvbnRhaW5lck5vZGU6OkNoaWxkQ2hhbmdlOjpUeXBl
OjpUZXh0Q2hhbmdlZDoKLSAgICBjYXNlIENvbnRhaW5lck5vZGU6OkNoaWxkQ2hhbmdlOjpUeXBl
OjpOb25Db250ZW50c0NoaWxkSW5zZXJ0ZWQ6Ci0gICAgY2FzZSBDb250YWluZXJOb2RlOjpDaGls
ZENoYW5nZTo6VHlwZTo6Tm9uQ29udGVudHNDaGlsZFJlbW92ZWQ6Ci0gICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICB9Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIGZhbHNl
OwotfQotCiB2b2lkIENvbnRhaW5lck5vZGU6OmNoaWxkcmVuQ2hhbmdlZChjb25zdCBDaGlsZENo
YW5nZSYgY2hhbmdlKQogewogICAgIGRvY3VtZW50KCkuaW5jRE9NVHJlZVZlcnNpb24oKTsKIAot
ICAgIGlmIChhZmZlY3RzRWxlbWVudHMoY2hhbmdlKSkKKyAgICBpZiAoY2hhbmdlLmFmZmVjdHNF
bGVtZW50cygpKQogICAgICAgICBkb2N1bWVudCgpLmludmFsaWRhdGVBY2Nlc3NLZXlDYWNoZSgp
OwogCiAgICAgLy8gRklYTUU6IFVuY2xlYXIgd2h5IGl0J3MgYWx3YXlzIHNhZmUgdG8gc2tpcCB0
aGlzIHdoZW4gcGFyc2VyIGlzIGFkZGluZyBjaGlsZHJlbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVy
Tm9kZS5oCmluZGV4IDIzZTg4NzAxNmVhYTliMDlhMjRkNGE4MDEyNzVjOWJiYTAwNGE1YTAuLjFj
Y2M2OGY0NDRkOTEzYWZjYmE4N2QzYjRmZjIxMjNhNzBkZjc0YmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Nv
bnRhaW5lck5vZGUuaApAQCAtODAsNiArODAsNyBAQCBwdWJsaWM6CiAgICAgICAgIGVudW0gY2xh
c3MgU291cmNlIDogYm9vbCB7IFBhcnNlciwgQVBJIH07CiAKICAgICAgICAgQ2hpbGRDaGFuZ2U6
OlR5cGUgdHlwZTsKKyAgICAgICAgRWxlbWVudCogc2libGluZ0NoYW5nZWQ7CiAgICAgICAgIEVs
ZW1lbnQqIHByZXZpb3VzU2libGluZ0VsZW1lbnQ7CiAgICAgICAgIEVsZW1lbnQqIG5leHRTaWJs
aW5nRWxlbWVudDsKICAgICAgICAgQ2hpbGRDaGFuZ2U6OlNvdXJjZSBzb3VyY2U7CkBAIC0xMDIs
NiArMTAzLDI1IEBAIHB1YmxpYzoKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CisKKyAgICAgICAgYm9vbCBhZmZl
Y3RzRWxlbWVudHMoKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICBzd2l0Y2ggKHR5cGUp
IHsKKyAgICAgICAgICAgIGNhc2UgQ2hpbGRDaGFuZ2U6OlR5cGU6OkVsZW1lbnRJbnNlcnRlZDoK
KyAgICAgICAgICAgIGNhc2UgQ2hpbGRDaGFuZ2U6OlR5cGU6OkVsZW1lbnRSZW1vdmVkOgorICAg
ICAgICAgICAgY2FzZSBDaGlsZENoYW5nZTo6VHlwZTo6QWxsQ2hpbGRyZW5SZW1vdmVkOgorICAg
ICAgICAgICAgY2FzZSBDaGlsZENoYW5nZTo6VHlwZTo6QWxsQ2hpbGRyZW5SZXBsYWNlZDoKKyAg
ICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIGNhc2UgQ2hpbGRDaGFuZ2U6
OlR5cGU6OlRleHRJbnNlcnRlZDoKKyAgICAgICAgICAgIGNhc2UgQ2hpbGRDaGFuZ2U6OlR5cGU6
OlRleHRSZW1vdmVkOgorICAgICAgICAgICAgY2FzZSBDaGlsZENoYW5nZTo6VHlwZTo6VGV4dENo
YW5nZWQ6CisgICAgICAgICAgICBjYXNlIENoaWxkQ2hhbmdlOjpUeXBlOjpOb25Db250ZW50c0No
aWxkSW5zZXJ0ZWQ6CisgICAgICAgICAgICBjYXNlIENoaWxkQ2hhbmdlOjpUeXBlOjpOb25Db250
ZW50c0NoaWxkUmVtb3ZlZDoKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAgICAgfQogICAgIH07CiAgICAgdmlydHVhbCB2b2lkIGNoaWxkcmVu
Q2hhbmdlZChjb25zdCBDaGlsZENoYW5nZSYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxPcHRHcm91cEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
T3B0R3JvdXBFbGVtZW50LmNwcAppbmRleCBlZTlmZTFmMmE1ZDY5N2Y3ODNkOTY1NjI5ZWNjM2Fk
MDdhNTk4ODliLi41M2I0NmYyMzI0MDhmYmMwNDYxMTQyNTA3NTA3ZWJhYzk3ZGI3YTQ3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRHcm91cEVsZW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdEdyb3VwRWxlbWVudC5jcHAKQEAgLTc1LDEwICs3
NSw0MyBAQCBjb25zdCBBdG9tU3RyaW5nJiBIVE1MT3B0R3JvdXBFbGVtZW50Ojpmb3JtQ29udHJv
bFR5cGUoKSBjb25zdAogICAgIHJldHVybiBvcHRncm91cDsKIH0KIAorSFRNTE9wdGlvbkVsZW1l
bnQqIEhUTUxPcHRHcm91cEVsZW1lbnQ6OmZpbmRMYXN0U2VsZWN0ZWRPcHRpb24oKQoreworICAg
IGZvciAoYXV0byogb3B0aW9uID0gVHJhdmVyc2FsPEhUTUxPcHRpb25FbGVtZW50Pjo6bGFzdENo
aWxkKCp0aGlzKTsgb3B0aW9uOyBvcHRpb24gPSBUcmF2ZXJzYWw8SFRNTE9wdGlvbkVsZW1lbnQ+
OjpwcmV2aW91c1NpYmxpbmcoKm9wdGlvbikpIHsKKyAgICAgICAgaWYgKG9wdGlvbi0+c2VsZWN0
ZWRXaXRob3V0VXBkYXRlKCkpCisgICAgICAgICAgICByZXR1cm4gb3B0aW9uOworICAgIH0KKyAg
ICByZXR1cm4gbnVsbHB0cjsKK30KKwogdm9pZCBIVE1MT3B0R3JvdXBFbGVtZW50OjpjaGlsZHJl
bkNoYW5nZWQoY29uc3QgQ2hpbGRDaGFuZ2UmIGNoYW5nZSkKIHsKKyAgICBib29sIGlzUmVsZXZh
bnQgPSBjaGFuZ2UuYWZmZWN0c0VsZW1lbnRzKCk7CisgICAgUmVmUHRyIHNlbGVjdCA9IGlzUmVs
ZXZhbnQgPyBvd25lclNlbGVjdEVsZW1lbnQoKSA6IG51bGxwdHI7CisgICAgaWYgKCFpc1JlbGV2
YW50IHx8ICFzZWxlY3QpIHsKKyAgICAgICAgSFRNTEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChj
aGFuZ2UpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgUmVmUHRyPEhUTUxPcHRpb25F
bGVtZW50PiBvcHRpb25Ub1NlbGVjdDsKKyAgICBpZiAoIXNlbGVjdC0+bXVsdGlwbGUoKSkgewor
ICAgICAgICBpZiAoY2hhbmdlLnR5cGUgPT0gQ2hpbGRDaGFuZ2U6OlR5cGU6OkVsZW1lbnRJbnNl
cnRlZCkgeworICAgICAgICAgICAgaWYgKGlzPEhUTUxPcHRpb25FbGVtZW50PihjaGFuZ2Uuc2li
bGluZ0NoYW5nZWQpKSB7CisgICAgICAgICAgICAgICAgYXV0byYgb3B0aW9uID0gZG93bmNhc3Q8
SFRNTE9wdGlvbkVsZW1lbnQ+KCpjaGFuZ2Uuc2libGluZ0NoYW5nZWQpOworICAgICAgICAgICAg
ICAgIGlmIChvcHRpb24uc2VsZWN0ZWRXaXRob3V0VXBkYXRlKCkpCisgICAgICAgICAgICAgICAg
ICAgIG9wdGlvblRvU2VsZWN0ID0gJm9wdGlvbjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBl
bHNlIGlmIChjaGFuZ2UudHlwZSA9PSBDaGlsZENoYW5nZTo6VHlwZTo6QWxsQ2hpbGRyZW5SZXBs
YWNlZCkKKyAgICAgICAgICAgIG9wdGlvblRvU2VsZWN0ID0gZmluZExhc3RTZWxlY3RlZE9wdGlv
bigpOworICAgIH0KKwogICAgIHJlY2FsY1NlbGVjdE9wdGlvbnMoKTsKICAgICBIVE1MRWxlbWVu
dDo6Y2hpbGRyZW5DaGFuZ2VkKGNoYW5nZSk7CisKKyAgICBpZiAob3B0aW9uVG9TZWxlY3QpCisg
ICAgICAgIHNlbGVjdC0+b3B0aW9uU2VsZWN0aW9uU3RhdGVDaGFuZ2VkKCpvcHRpb25Ub1NlbGVj
dCwgdHJ1ZSk7CisgICAgZWxzZSBpZiAoY2hhbmdlLmlzSW5zZXJ0aW9uKCkpCisgICAgICAgIHNl
bGVjdC0+c2Nyb2xsVG9TZWxlY3Rpb24oKTsKIH0KIAogdm9pZCBIVE1MT3B0R3JvdXBFbGVtZW50
OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9tU3Ry
aW5nJiB2YWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdEdyb3Vw
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0R3JvdXBFbGVtZW50LmgKaW5k
ZXggZTI1MTk1ZDIyNTk2ZTlkNjUxYTc3NTgzNGE4ZTdkZjQ1ZGMzMjBmMS4uMjkxZjNkMzYyMjIy
YTczMjJjYzhjOTUwYTQzNzY0ODZlMDRjMWMzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MT3B0R3JvdXBFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
T3B0R3JvdXBFbGVtZW50LmgKQEAgLTM5LDYgKzM5LDggQEAgcHVibGljOgogICAgIAogICAgIFdF
QkNPUkVfRVhQT1JUIFN0cmluZyBncm91cExhYmVsVGV4dCgpIGNvbnN0OwogCisgICAgSFRNTE9w
dGlvbkVsZW1lbnQqIGZpbmRMYXN0U2VsZWN0ZWRPcHRpb24oKTsKKwogcHJpdmF0ZToKICAgICBI
VE1MT3B0R3JvdXBFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwCmluZGV4IDFhMmNiODI0ODc3
ZWRlM2Y3NGY5MTRiMjEwZjg1ZjhhNzViNDA3NWYuLmQ5YTgxOWRlYmYxMGUwMDA1Y2NkNmNmOTk1
YTEwOWNhNDJhMGU3YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlv
bkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQu
Y3BwCkBAIC0zMTUsMjMgKzMxNSw2IEBAIGJvb2wgSFRNTE9wdGlvbkVsZW1lbnQ6OmlzRGlzYWJs
ZWRGb3JtQ29udHJvbCgpIGNvbnN0CiAgICAgcmV0dXJuIGRvd25jYXN0PEhUTUxPcHRHcm91cEVs
ZW1lbnQ+KCpwYXJlbnROb2RlKCkpLmlzRGlzYWJsZWRGb3JtQ29udHJvbCgpOwogfQogCi1Ob2Rl
OjpJbnNlcnRlZEludG9BbmNlc3RvclJlc3VsdCBIVE1MT3B0aW9uRWxlbWVudDo6aW5zZXJ0ZWRJ
bnRvQW5jZXN0b3IoSW5zZXJ0aW9uVHlwZSBpbnNlcnRpb25UeXBlLCBDb250YWluZXJOb2RlJiBw
YXJlbnRPZkluc2VydGVkVHJlZSkKLXsKLSAgICBpZiAoUmVmUHRyIHNlbGVjdCA9IG93bmVyU2Vs
ZWN0RWxlbWVudCgpKSB7Ci0gICAgICAgIHNlbGVjdC0+c2V0UmVjYWxjTGlzdEl0ZW1zKCk7Ci0g
ICAgICAgIHNlbGVjdC0+dXBkYXRlVmFsaWRpdHkoKTsKLSAgICAgICAgLy8gRG8gbm90IGNhbGwg
c2VsZWN0ZWQoKSBzaW5jZSBjYWxsaW5nIHVwZGF0ZUxpc3RJdGVtU2VsZWN0ZWRTdGF0ZXMoKQot
ICAgICAgICAvLyBhdCB0aGlzIHRpbWUgd29uJ3QgZG8gdGhlIHJpZ2h0IHRoaW5nLiAoV2h5LCBl
eGFjdGx5PykKLSAgICAgICAgLy8gRklYTUU6IE1pZ2h0IGJlIGJldHRlciB0byBjYWxsIHRoaXMg
dW5jb25kaXRpb25hbGx5LCBhbHdheXMgcGFzc2luZyBtX2lzU2VsZWN0ZWQsCi0gICAgICAgIC8v
IHJhdGhlciB0aGFuIG9ubHkgY2FsbGluZyBpdCBpZiB3ZSBhcmUgc2VsZWN0ZWQuCi0gICAgICAg
IGlmIChtX2lzU2VsZWN0ZWQpCi0gICAgICAgICAgICBzZWxlY3QtPm9wdGlvblNlbGVjdGlvblN0
YXRlQ2hhbmdlZCgqdGhpcywgdHJ1ZSk7Ci0gICAgICAgIHNlbGVjdC0+c2Nyb2xsVG9TZWxlY3Rp
b24oKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gSFRNTEVsZW1lbnQ6Omluc2VydGVkSW50b0FuY2Vz
dG9yKGluc2VydGlvblR5cGUsIHBhcmVudE9mSW5zZXJ0ZWRUcmVlKTsKLX0KLQogU3RyaW5nIEhU
TUxPcHRpb25FbGVtZW50Ojpjb2xsZWN0T3B0aW9uSW5uZXJUZXh0KCkgY29uc3QKIHsKICAgICBT
dHJpbmdCdWlsZGVyIHRleHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxP
cHRpb25FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmgK
aW5kZXggMjBlZDJmNWRhODc3YmMyNzA1MTM4ZWIyNDc2YTI3N2U1ZGI5NWQ5NC4uMmEyOTY3OGIx
MjA5MGQ3ZGI2Yzg3Zjc4YTYyNzFmMjBiM2RkNzdkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE9wdGlvbkVsZW1lbnQuaApAQCAtNjEsNiArNjEsNyBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIHRl
eHRJbmRlbnRlZFRvUmVzcGVjdEdyb3VwTGFiZWwoKSBjb25zdDsKIAogICAgIHZvaWQgc2V0U2Vs
ZWN0ZWRTdGF0ZShib29sKTsKKyAgICBib29sIHNlbGVjdGVkV2l0aG91dFVwZGF0ZSgpIGNvbnN0
IHsgcmV0dXJuIG1faXNTZWxlY3RlZDsgfQogCiBwcml2YXRlOgogICAgIEhUTUxPcHRpb25FbGVt
ZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwpAQCAtNzEsNyArNzIsNiBAQCBw
cml2YXRlOgogCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwg
Y29uc3QgQXRvbVN0cmluZyYpIGZpbmFsOwogCi0gICAgSW5zZXJ0ZWRJbnRvQW5jZXN0b3JSZXN1
bHQgaW5zZXJ0ZWRJbnRvQW5jZXN0b3IoSW5zZXJ0aW9uVHlwZSwgQ29udGFpbmVyTm9kZSYpIGZp
bmFsOwogICAgIGJvb2wgYWNjZXNzS2V5QWN0aW9uKGJvb2wpIGZpbmFsOwogCiAgICAgdm9pZCBj
aGlsZHJlbkNoYW5nZWQoY29uc3QgQ2hpbGRDaGFuZ2UmKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAKaW5kZXggODIxNmRiY2RkYTAzOGM2Y2UyNmJhMGUw
YWZlNjk3ZWE5OTM5MThmMC4uMTVmNzA2ZTg4NWQ2ZjdhYWUwZWEzNjQxY2U0NDFhZmQ2M2I2NDk5
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAKQEAgLTM3Mywx
MSArMzczLDMzIEBAIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6OnVwZGF0ZUxpc3RJdGVtU2VsZWN0
ZWRTdGF0ZXMoKQogCiB2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoY29u
c3QgQ2hpbGRDaGFuZ2UmIGNoYW5nZSkKIHsKKyAgICBpZiAoIWNoYW5nZS5hZmZlY3RzRWxlbWVu
dHMoKSkgeworICAgICAgICBIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlOjpjaGlsZHJl
bkNoYW5nZWQoY2hhbmdlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIFJlZlB0cjxI
VE1MT3B0aW9uRWxlbWVudD4gb3B0aW9uVG9TZWxlY3Q7CisgICAgaWYgKCFtX211bHRpcGxlKSB7
CisgICAgICAgIGlmIChjaGFuZ2UudHlwZSA9PSBDaGlsZENoYW5nZTo6VHlwZTo6RWxlbWVudElu
c2VydGVkKSB7CisgICAgICAgICAgICBpZiAoaXM8SFRNTE9wdGlvbkVsZW1lbnQ+KGNoYW5nZS5z
aWJsaW5nQ2hhbmdlZCkpIHsKKyAgICAgICAgICAgICAgICBhdXRvJiBvcHRpb24gPSBkb3duY2Fz
dDxIVE1MT3B0aW9uRWxlbWVudD4oKmNoYW5nZS5zaWJsaW5nQ2hhbmdlZCk7CisgICAgICAgICAg
ICAgICAgaWYgKG9wdGlvbi5zZWxlY3RlZFdpdGhvdXRVcGRhdGUoKSkKKyAgICAgICAgICAgICAg
ICAgICAgb3B0aW9uVG9TZWxlY3QgPSAmb3B0aW9uOworICAgICAgICAgICAgfSBlbHNlIGlmIChp
czxIVE1MT3B0R3JvdXBFbGVtZW50PihjaGFuZ2Uuc2libGluZ0NoYW5nZWQpKQorICAgICAgICAg
ICAgICAgIG9wdGlvblRvU2VsZWN0ID0gZG93bmNhc3Q8SFRNTE9wdEdyb3VwRWxlbWVudD4oKmNo
YW5nZS5zaWJsaW5nQ2hhbmdlZCkuZmluZExhc3RTZWxlY3RlZE9wdGlvbigpOworICAgICAgICB9
CisgICAgfQorCiAgICAgc2V0UmVjYWxjTGlzdEl0ZW1zKCk7CiAgICAgdXBkYXRlVmFsaWRpdHko
KTsKICAgICBtX2xhc3RPbkNoYW5nZVNlbGVjdGlvbi5jbGVhcigpOwogCiAgICAgSFRNTEZvcm1D
b250cm9sRWxlbWVudFdpdGhTdGF0ZTo6Y2hpbGRyZW5DaGFuZ2VkKGNoYW5nZSk7CisKKyAgICBp
ZiAob3B0aW9uVG9TZWxlY3QpCisgICAgICAgIG9wdGlvblNlbGVjdGlvblN0YXRlQ2hhbmdlZCgq
b3B0aW9uVG9TZWxlY3QsIHRydWUpOworICAgIGVsc2UgaWYgKGNoYW5nZS5pc0luc2VydGlvbigp
KQorICAgICAgICBzY3JvbGxUb1NlbGVjdGlvbigpOwogfQogCiB2b2lkIEhUTUxTZWxlY3RFbGVt
ZW50OjpvcHRpb25FbGVtZW50Q2hpbGRyZW5DaGFuZ2VkKCkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyZDBiMDRhY2U2MmE3
ODJkZTc0MGUxNTQxZmM1ZTFkMGM2YmU1OTY5Li5mZTlhZDFjNWU4MWI4NjJhNmNiZTAzZGNlYTQy
MTAyZGQ2MmRjNWZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjItMDEtMTQgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBXaGVuIGluc2VydGluZyBhIHNlbGVj
dGVkIDxvcHRpb24+IGluIGEgPHNlbGVjdD4gZWxlbWVudCwgaXRzIHNlbGVjdGVkIHN0YXRlIHNo
b3VsZCByZW1haW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzNTIzNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFJlYmFzZWxpbmUgV1BUIHRlc3QgdGhhdCBpcyBub3cgcGFzc2luZy4KKworICAgICAgICAq
IHBsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Nl
bWFudGljcy9mb3Jtcy90aGUtc2VsZWN0LWVsZW1lbnQvc2VsZWN0LXZhbGlkaXR5LWV4cGVjdGVk
LnR4dDoKKwogMjAyMi0wMS0xOCAgQXJjYWR5IEdvbGRtaW50cy1PcmxvdiAgPGFnb2xkbWludHNA
aWdhbGlhLmNvbT4KIAogICAgICAgICBbR0xJQl0gVXBkYXRlIHRlc3QgYmFzZWxpbmVzIGFmdGVy
IHIyODgwNzAuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA5ODZmODgyM2ZkYTM1
NzdlNmE4MDI4OTQxMzBkNmE2YmZiNjA3OWFmLi45N2ZlYzFmMTY5NDllMmI4YWIxOTRmOTkyYjFi
ZGM4MGZiZmE2OGVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAyMi0wMS0xNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAg
ICAgIFdoZW4gaW5zZXJ0aW5nIGEgc2VsZWN0ZWQgPG9wdGlvbj4gaW4gYSA8c2VsZWN0PiBlbGVt
ZW50LCBpdHMgc2VsZWN0ZWQgc3RhdGUgc2hvdWxkIHJlbWFpbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1MjM3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmViYXNlbGluZSBXUFQgdGVzdHMgdGhhdCBh
cmUgbm93IHBhc3NpbmcuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZm9ybXMvdGhlLXNlbGVjdC1lbGVtZW50L2luc2VydGVkLW9yLXJlbW92ZWQtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jt
cy90aGUtc2VsZWN0LWVsZW1lbnQvc2VsZWN0LXZhbGlkaXR5LWV4cGVjdGVkLnR4dDoKKwogMjAy
Mi0wMS0xNyAgU2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbY3NzLWZsZXhib3hdIEFkZCBzdXBwb3J0IGZvciBpbnRyaW5zaWMgc2l6ZXMgaW4gZmxl
eC1iYXNpcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90aGUtc2VsZWN0LWVsZW1lbnQvaW5zZXJ0ZWQt
b3ItcmVtb3ZlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS1zZWxlY3QtZWxlbWVudC9pbnNl
cnRlZC1vci1yZW1vdmVkLWV4cGVjdGVkLnR4dAppbmRleCA2Yzk3ZWMyMTY0ZDJkYWE2YWU3MTMw
ZTA5YTllYTk5ZWU1YTZiMGM1Li4wNmIzMDg3MGVlNjk5M2EwMzYwMWQ2OGNlYjQ1MTA2ODEwNmYz
YmVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS1zZWxlY3QtZWxlbWVudC9pbnNlcnRlZC1vci1y
ZW1vdmVkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS1zZWxlY3QtZWxlbWVudC9pbnNl
cnRlZC1vci1yZW1vdmVkLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDcgQEAKIAogCiBQQVNTIFRo
ZSBsYXN0IHNlbGVjdGVkIE9QVElPTiBzaG91bGQgd2luOyBJbnNlcnRlZCBieSBwYXJzZXIKLUZB
SUwgVGhlIGxhc3Qgc2VsZWN0ZWQgT1BUSU9OIHNob3VsZCB3aW47IEluc2VydGVkIGJ5IERPTSBB
UEkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlNlY29uZCIgYnV0IGdvdCAiRmlyc3QiCitQQVNT
IFRoZSBsYXN0IHNlbGVjdGVkIE9QVElPTiBzaG91bGQgd2luOyBJbnNlcnRlZCBieSBET00gQVBJ
CiBQQVNTIFRoZSBsYXN0IHNlbGVjdGVkIE9QVElPTiBzaG91bGQgd2luOyBJbnNlcnRlZCBieSBq
UXVlcnkgYXBwZW5kKCkKIFBBU1MgVGhlIGxhc3Qgc2VsZWN0ZWQgT1BUSU9OIHNob3VsZCB3aW47
IEluc2VydGVkIGJ5IGlubmVySFRNTAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS1zZWxlY3Qt
ZWxlbWVudC9zZWxlY3QtdmFsaWRpdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90aGUtc2VsZWN0
LWVsZW1lbnQvc2VsZWN0LXZhbGlkaXR5LWV4cGVjdGVkLnR4dAppbmRleCA4NWZmNGYwNzg1OWJj
Nzc2ZTZjYjRkOGI5OGJkMGYzN2UzZDNjODZhLi4xZDY2YmIyNTllMjFiMjg3ZTUwZjhkOGJjNWE5
ODEzMTM2ZTY1ZDI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS1zZWxlY3QtZWxlbWVudC9zZWxl
Y3QtdmFsaWRpdHktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvdGhlLXNlbGVjdC1lbGVtZW50
L3NlbGVjdC12YWxpZGl0eS1leHBlY3RlZC50eHQKQEAgLTQsNSArNCw1IEBAIFBBU1MgUGxhY2Vo
b2xkZXIgbGFiZWwtbGlrZSBvcHRpb25zIHdpdGhpbiBvcHRncm91cAogUEFTUyBWYWxpZGF0aW9u
IG9uIHNlbGVjdHMgd2l0aCBkaXNwbGF5IHNpemUgc2V0IGFzIG1vcmUgdGhhbiBvbmUKIFBBU1Mg
VmFsaWRhdGlvbiBvbiBzZWxlY3RzIHdpdGggbXVsdGlwbGUgc2V0CiBQQVNTIFZhbGlkYXRpb24g
b24gc2VsZWN0cyB3aXRoIG5vbi1lbXB0eSBkaXNhYmxlZCBvcHRpb24KLUZBSUwgUmVtb3ZlIGFu
ZCBhZGQgYmFjayB0aGUgcGxhY2Vob2xkZXIgbGFiZWwgb3B0aW9uIGFzc2VydF9mYWxzZTogSWYg
dGhlIHBsYWNlaG9sZGVyIGxhYmVsIG9wdGlvbiBpcyBzZWxlY3RlZCwgcmVxdWlyZWQgc2VsZWN0
IGVsZW1lbnQgc2hvdWxkbid0IGJlIHZhbGlkLiBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQorUEFT
UyBSZW1vdmUgYW5kIGFkZCBiYWNrIHRoZSBwbGFjZWhvbGRlciBsYWJlbCBvcHRpb24KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS1zZWxlY3QtZWxlbWVudC9zZWxl
Y3QtdmFsaWRpdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS1z
ZWxlY3QtZWxlbWVudC9zZWxlY3QtdmFsaWRpdHktZXhwZWN0ZWQudHh0CmluZGV4IDYyYjgxYWE2
N2ZkOGU3NTE0YmY0NTM0ZjU3MjIxNzM2ZWM2OTliOTUuLjQ5ZDFjYmFhYWQyOWY5NjY5YTBmNzhk
MTcxMmI4MmQ1NDc5ZWE1MGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13
azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90
aGUtc2VsZWN0LWVsZW1lbnQvc2VsZWN0LXZhbGlkaXR5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3MvZm9ybXMvdGhlLXNlbGVjdC1lbGVtZW50L3NlbGVjdC12YWxpZGl0eS1l
eHBlY3RlZC50eHQKQEAgLTQsNSArNCw1IEBAIFBBU1MgUGxhY2Vob2xkZXIgbGFiZWwtbGlrZSBv
cHRpb25zIHdpdGhpbiBvcHRncm91cAogRkFJTCBWYWxpZGF0aW9uIG9uIHNlbGVjdHMgd2l0aCBk
aXNwbGF5IHNpemUgc2V0IGFzIG1vcmUgdGhhbiBvbmUgYXNzZXJ0X2ZhbHNlOiBJZiBubyBvcHRp
b25zIGFyZSBzZWxlY3RlZCB0aGUgc2VsZWN0IG11c3QgYmUgc2VlbiBhcyBpbnZhbGlkLiBleHBl
Y3RlZCBmYWxzZSBnb3QgdHJ1ZQogUEFTUyBWYWxpZGF0aW9uIG9uIHNlbGVjdHMgd2l0aCBtdWx0
aXBsZSBzZXQKIFBBU1MgVmFsaWRhdGlvbiBvbiBzZWxlY3RzIHdpdGggbm9uLWVtcHR5IGRpc2Fi
bGVkIG9wdGlvbgotRkFJTCBSZW1vdmUgYW5kIGFkZCBiYWNrIHRoZSBwbGFjZWhvbGRlciBsYWJl
bCBvcHRpb24gYXNzZXJ0X2ZhbHNlOiBJZiB0aGUgcGxhY2Vob2xkZXIgbGFiZWwgb3B0aW9uIGlz
IHNlbGVjdGVkLCByZXF1aXJlZCBzZWxlY3QgZWxlbWVudCBzaG91bGRuJ3QgYmUgdmFsaWQuIGV4
cGVjdGVkIGZhbHNlIGdvdCB0cnVlCitQQVNTIFJlbW92ZSBhbmQgYWRkIGJhY2sgdGhlIHBsYWNl
aG9sZGVyIGxhYmVsIG9wdGlvbgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449436</attachid>
            <date>2022-01-18 15:43:50 -0800</date>
            <delta_ts>2022-01-18 18:32:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235237-20220118154349.patch</filename>
            <type>text/plain</type>
            <size>21529</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MTE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjNhM2Y0YTRjNDgxZDg4
Y2UwM2U0OTRhZjg5NjVlYWFmOTA5ODdhNy4uOGE5MWI5OThlNDBiYmVlY2YyYzg1ZGVlYmQ0NmU0
OTc4ZGNlOTUyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc2IEBACisyMDIyLTAxLTE0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2hlbiBpbnNlcnRpbmcgYSBz
ZWxlY3RlZCA8b3B0aW9uPiBpbiBhIDxzZWxlY3Q+IGVsZW1lbnQsIGl0cyBzZWxlY3RlZCBzdGF0
ZSBzaG91bGQgcmVtYWluCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzUyMzcKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAg
ICAgICBXaGVuIGluc2VydGluZyBhIHNlbGVjdGVkIDxvcHRpb24+IGluIGEgPHNlbGVjdD4gZWxl
bWVudCwgaXRzIHNlbGVjdGVkIHN0YXRlIHNob3VsZCByZW1haW4gYW5kIG90aGVyIHNlbGVjdGVk
CisgICAgICAgIG9wdGlvbnMgc2hvdWxkIGJlIGRlLXNlbGVjdGVkLgorCisgICAgICAgIFRoaXMg
aXMgYXMgcGVyIHRoZSBzcGVjaWZpY2F0aW9uIFsxXSB0aGF0IHNheXM6CisgICAgICAgICIiIgor
ICAgICAgICBJZiB0aGUgbXVsdGlwbGUgYXR0cmlidXRlIGlzIGFic2VudCwgd2hlbmV2ZXIgYW4g
b3B0aW9uIGVsZW1lbnQgaW4gdGhlIHNlbGVjdCBlbGVtZW50J3MgbGlzdCBvZiBvcHRpb25zIGhh
cworICAgICAgICBpdHMgc2VsZWN0ZWRuZXNzIHNldCB0byB0cnVlLCBhbmQgd2hlbmV2ZXIgYW4g
b3B0aW9uIGVsZW1lbnQgd2l0aCBpdHMgc2VsZWN0ZWRuZXNzIHNldCB0byB0cnVlIGlzIGFkZGVk
IHRvCisgICAgICAgIHRoZSBzZWxlY3QgZWxlbWVudCdzIGxpc3Qgb2Ygb3B0aW9ucywgdGhlIHVz
ZXIgYWdlbnQgbXVzdCBzZXQgdGhlIHNlbGVjdGVkbmVzcyBvZiBhbGwgdGhlIG90aGVyIG9wdGlv
bgorICAgICAgICBlbGVtZW50cyBpbiBpdHMgbGlzdCBvZiBvcHRpb25zIHRvIGZhbHNlLgorICAg
ICAgICAiIiIKKworICAgICAgICBGaXJlZm94IGFuZCBDaHJvbWUgY29ycmVjdGx5IGltcGxlbWVu
dCB0aGlzLgorCisgICAgICAgIFdlYktpdCB3YXMgdHJ5aW5nIHRvIGltcGxlbWVudCB0aGlzIGxv
Z2ljIGZyb20gaW5zaWRlIEhUTUxPcHRpb25FbGVtZW50OjppbnNlcnRlZEludG9BbmNlc3Rvcigp
LiBIb3dldmVyLAorICAgICAgICB0aGVyZSB3ZXJlIHNldmVyYWwgaXNzdWVzIHdpdGggdGhhdDoK
KyAgICAgICAgMS4gSXQgd2FzIGNoZWNraW5nIG1faXNTZWxlY3RlZCBhZnRlciBjYWxsaW5nIHVw
ZGF0ZVZhbGlkaXR5KCkuIHVwZGF0ZVZhbGlkaXR5KCkgd291bGQgY2FsbCByZWNhbGNMaXN0SXRl
bXMoKSwKKyAgICAgICAgICAgd2hpY2ggY291bGQgdXBkYXRlIG1faXNTZWxlY3RlZC4gVGhpcyBw
YXJ0IGNvdWxkIGhhdmUgYmVlbiBhZGRyZXNzZWQgYnkgc2F2aW5nIG1faXNTZWxlY3RlZCBiZWZv
cmUKKyAgICAgICAgICAgY2FsbGluZyB1cGRhdGVWYWxpZGl0eSgpIGJ1dCB3b3VsZCBub3QgaGF2
ZSBhZGRyZXNzZWQgdGhlIGZvbGxvd2luZyBpc3N1ZXMuCisgICAgICAgIDIuIEluIHRoZSBjYXNl
IHdoZXJlIGFuIDxvcHRncm91cD4gY29udGFpbmluZyBzZXZlcmFsIDxvcHRpb24+IGVsZW1lbnRz
IGlzIGluc2VydGVkIGludG8gYSA8c2VsZWN0PiwKKyAgICAgICAgICAgaW5zZXJ0ZWRJbnRvQW5j
ZXN0b3IoKSBnZXRzIGNhbGxlZCBmcm9tIGVhY2ggb3B0aW9ucyBiZWluZyBpbnNlcnRlZC4gV2hl
biBjYWxsaW5nIGluc2VydGVkSW50b0FuY2VzdG9yKCkKKyAgICAgICAgICAgZnJvbSB0aGUgZmly
c3QgPG9wdGlvbj4gYW5kIGlmIHRoaXMgPG9wdGlvbj4gaXMgc2VsZWN0ZWQsIGl0IHdvdWxkIGRl
c2VsZWN0IGFsbCBmb2xsb3dpbmcgPG9wdGlvbj4gZWxlbWVudHMKKyAgICAgICAgICAgZXZlbiB0
aG91Z2ggaW5zZXJ0ZWRJbnRvQW5jZXN0b3IoKSBoYXMgbm90IHlldCBiZWVuIGNhbGxlZCBmb3Ig
dGhlbS4gQXMgYSByZXN1bHQsIHdlIHdvdWxkIGVuZCB1cCBzZWxlY3RpbmcKKyAgICAgICAgICAg
dGhlIGZpcnN0IGluc2VydGVkIDxvcHRpb24+IHRoYXQgaGFkIHRoZSBzZWxlY3RlZCBzdGF0ZSwg
aW5zdGVhZCBvZiB0aGUgbGFzdCBvbmUuCisgICAgICAgIDMuIFdoZW4gbW9yZSB0aGFuIG9uZSA8
b3B0aW9uPiBpcyBpbnNlcnRlZCBhdCBvbmNlLCB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiB3
b3VsZCBiZSByZWFsbHkgaW5lZmZpY2llbnQgYXMKKyAgICAgICAgICAgZXZlcnkgPG9wdGlvbj4g
d291bGQgZGlydHkgYW5kIHJlY2FsYyB0aGUgaXRlbSBsaXN0IGZyb20gaW5zZXJ0ZWRJbnRvQW5j
ZXN0b3IoKS4KKworICAgICAgICBUbyBhZGRyZXNzIHRoZXNlIGlzc3VlcywgSSBnb3QgcmlkIG9m
IEhUTUxPcHRpb25FbGVtZW50OjppbnNlcnRlZEludG9BbmNlc3RvcigpLiBJbnN0ZWFkIHdlIG5v
dyBkZWFsIHdpdGgKKyAgICAgICAgPG9wdGlvbj4gaW5zZXJ0aW9uIGZyb20gaW5zaWRlIEhUTUxT
ZWxlY3RFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoKSBhbmQgSFRNTE9wdEdyb3VwRWxlbWVudDo6
Y2hpbGRyZW5DaGFuZ2VkKCkuCisgICAgICAgIFVzaW5nIHRoZSBwYXJlbnQgZWxlbWVudCdzIGNo
aWxkcmVuQ2hhbmdlZCgpIGlzIHVzZWZ1bCBiZWNhdXNlIGl0IG9ubHkgZ2V0cyBjYWxsZWQgb25j
ZSB3aGVuIHNldmVyYWwgPG9wdGlvbj4KKyAgICAgICAgZWxlbWVudHMgYXJlIGluc2VydGVkIGF0
IG9uY2UuIEkgYWRkZWQgbG9naWMgdG8gdGhvc2UgY2hpbGRyZW5DaGFuZ2VkKCkgZnVuY3Rpb25z
IHRvIGtlZXAgdHJhY2sgb2YgdGhlIGxhc3QKKyAgICAgICAgc2VsZWN0ZWQgPG9wdGlvbj4gZWxl
bWVudCBiZWluZyBpbnNlcnRlZC4gVGhlbiwgYWZ0ZXIgd2UgcmVjYWxjIHRoZSBpdGVtIGxpc3Qg
KHdoaWNoIG1heSBjaGFuZ2UgPG9wdGlvbj5zJworICAgICAgICBzZWxlY3RlZCBzdGF0ZSwgSSBt
YWtlIHN1cmUgdG8gdGhpcyA8b3B0aW9uPiBpcyBzZWxlY3RlZC4gVGhpcyBpcyBzaW1pbGFyIHRv
IHRoZSBsb2dpYyB0aGF0IHdhcyBwcmV2aW91c2x5CisgICAgICAgIGluIEhUTUxPcHRpb25FbGVt
ZW50OjppbnNlcnRlZEludG9BbmNlc3RvcigpLgorCisKKyAgICAgICAgWzFdIGh0dHBzOi8vaHRt
bC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2Zvcm0tZWxlbWVudHMuaHRtbCN0aGUtc2VsZWN0
LWVsZW1lbnQKKworICAgICAgICBObyBuZXcgdGVzdHMsIHJlYmFzZWxpbmVkIGV4aXN0aW5nIHRl
c3RzLgorCisgICAgICAgICogZG9tL0NoYXJhY3RlckRhdGEuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6bWFrZUNoaWxkQ2hhbmdlKToKKyAgICAgICAgKiBkb20vQ29udGFpbmVyTm9kZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDb250YWluZXJOb2RlOjpyZW1vdmVBbGxDaGlsZHJlbldpdGhTY3Jp
cHRBc3NlcnRpb24pOgorICAgICAgICAoV2ViQ29yZTo6bWFrZUNoaWxkQ2hhbmdlRm9yUmVtb3Zh
bCk6CisgICAgICAgIChXZWJDb3JlOjptYWtlQ2hpbGRDaGFuZ2VGb3JJbnNlcnRpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6Q29udGFpbmVyTm9kZTo6Y2hpbGRyZW5DaGFuZ2VkKToKKyAgICAgICAg
KFdlYkNvcmU6OmFmZmVjdHNFbGVtZW50cyk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL0NvbnRh
aW5lck5vZGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRhaW5lck5vZGU6OkNoaWxkQ2hhbmdl
Ojppc0luc2VydGlvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDb250YWluZXJOb2RlOjpD
aGlsZENoYW5nZTo6YWZmZWN0c0VsZW1lbnRzIGNvbnN0KToKKyAgICAgICAgLSBBZGQgJ3NpYmxp
bmdDaGFuZ2VkJyBtZW1iZXIgdG8gQ2hpbGRDaGFuZ2UgaW4gYWRkaXRpb24gdG8gdGhlIHByZXZp
b3VzIC8gbmV4dCBzaWJsaW5ncy4KKyAgICAgICAgICBUaGlzIGlzIHVzZWZ1bCBmb3IgSFRNTE9w
dEdyb3VwRWxlbWVudCBhbmQgSFRNTFNlbGVjdEVsZW1lbnQgd2hlcmUgd2Ugd2FudCB0byBrbm93
CisgICAgICAgICAgaWYgYSBuZXdseSBpbnNlcnRlZCBjaGlsZCBpcyBhbiBIVE1MT3B0aW9uRWxl
bWVudCAoYW5kIGlmIGl0IGlzIHNlbGVjdGVkKS4KKyAgICAgICAgLSBNb3ZlIGFmZmVjdHNFbGVt
ZW50cygpIHRvIHRoZSBoZWFkZXIgc28gdGhhdCBpdCBjYW4gYmUgcmV1c2VkIGJ5IEhUTUxPcHRH
cm91cEVsZW1lbnQKKyAgICAgICAgICBhbmQgSFRNTE9wdGlvbkVsZW1lbnQuCisKKyAgICAgICAg
KiBodG1sL0hUTUxPcHRHcm91cEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE9w
dEdyb3VwRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKToKKyAgICAgICAgKiBodG1sL0hUTUxPcHRH
cm91cEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxPcHRpb25FbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxPcHRpb25FbGVtZW50OjppbnNlcnRlZEludG9BbmNlc3Rvcik6
IERlbGV0ZWQuCisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5oOgorICAgICAgICAq
IGh0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVj
dEVsZW1lbnQ6Om9wdGlvblRvU2VsZWN0RnJvbUNoaWxkQ2hhbmdlU2NvcGUpOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQpOgorCiAy
MDIyLTAxLTE4ICBPcmlvbCBCcnVmYXUgIDxvYnJ1ZmF1QGlnYWxpYS5jb20+CiAKICAgICAgICAg
W2Nzcy1sb2dpY2FsXSBTaW1wbGlmeSBsb2dpY2FsIHByb3BlcnR5IGdyb3VwcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0NoYXJhY3RlckRhdGEuY3BwCmluZGV4IDYxNTdmMzM0NDA2YzE5M2RiNjk4MjZiNzFjMWRl
MTJmM2YxOWVhNmMuLmJhMzExOTBjNGQ0MjNlNzc3OWU1Y2Q3YmVmMDVjMTAyZjhmZGNmZmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJEYXRhLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5jcHAKQEAgLTc4LDYgKzc4LDcgQEAgc3RhdGlj
IENvbnRhaW5lck5vZGU6OkNoaWxkQ2hhbmdlIG1ha2VDaGlsZENoYW5nZShDaGFyYWN0ZXJEYXRh
JiBjaGFyYWN0ZXJEYXRhLAogewogICAgIHJldHVybiB7CiAgICAgICAgIENvbnRhaW5lck5vZGU6
OkNoaWxkQ2hhbmdlOjpUeXBlOjpUZXh0Q2hhbmdlZCwKKyAgICAgICAgbnVsbHB0ciwKICAgICAg
ICAgRWxlbWVudFRyYXZlcnNhbDo6cHJldmlvdXNTaWJsaW5nKGNoYXJhY3RlckRhdGEpLAogICAg
ICAgICBFbGVtZW50VHJhdmVyc2FsOjpuZXh0U2libGluZyhjaGFyYWN0ZXJEYXRhKSwKICAgICAg
ICAgc291cmNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAKaW5kZXggM2MxNzE1NmEx
NmU0OGU1ZGJkODcwNTU5OGNmMmExZWMwNDQ3YWJhNy4uZWJiYjA2NmVmYzQyMDExNDQ3MGUwYTJl
ZGJkMjlkODFiNTcwM2M3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5l
ck5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcApAQCAt
MTEyLDcgKzExMiw3IEBAIEFMV0FZU19JTkxJTkUgTm9kZVZlY3RvciBDb250YWluZXJOb2RlOjpy
ZW1vdmVBbGxDaGlsZHJlbldpdGhTY3JpcHRBc3NlcnRpb24oQ2hpCiAKICAgICBkaXNjb25uZWN0
U3ViZnJhbWVzSWZOZWVkZWQoKnRoaXMsIERlc2NlbmRhbnRzT25seSk7CiAKLSAgICBDb250YWlu
ZXJOb2RlOjpDaGlsZENoYW5nZSBjaGlsZENoYW5nZSB7IENoaWxkQ2hhbmdlOjpUeXBlOjpBbGxD
aGlsZHJlblJlbW92ZWQsIG51bGxwdHIsIG51bGxwdHIsIHNvdXJjZSB9OworICAgIENvbnRhaW5l
ck5vZGU6OkNoaWxkQ2hhbmdlIGNoaWxkQ2hhbmdlIHsgQ2hpbGRDaGFuZ2U6OlR5cGU6OkFsbENo
aWxkcmVuUmVtb3ZlZCwgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0ciwgc291cmNlIH07CiAKICAg
ICBXaWRnZXRIaWVyYXJjaHlVcGRhdGVzU3VzcGVuc2lvblNjb3BlIHN1c3BlbmRXaWRnZXRIaWVy
YXJjaHlVcGRhdGVzOwogICAgIFNjcmlwdERpc2FsbG93ZWRTY29wZTo6SW5NYWluVGhyZWFkIHNj
cmlwdERpc2FsbG93ZWRTY29wZTsKQEAgLTE1Miw2ICsxNTIsNyBAQCBzdGF0aWMgQ29udGFpbmVy
Tm9kZTo6Q2hpbGRDaGFuZ2UgbWFrZUNoaWxkQ2hhbmdlRm9yUmVtb3ZhbChOb2RlJiBjaGlsZFRv
UmVtb3ZlLAogCiAgICAgcmV0dXJuIHsKICAgICAgICAgY2hhbmdlVHlwZSwKKyAgICAgICAgZHlu
YW1pY0Rvd25jYXN0PEVsZW1lbnQ+KGNoaWxkVG9SZW1vdmUpLAogICAgICAgICBFbGVtZW50VHJh
dmVyc2FsOjpwcmV2aW91c1NpYmxpbmcoY2hpbGRUb1JlbW92ZSksCiAgICAgICAgIEVsZW1lbnRU
cmF2ZXJzYWw6Om5leHRTaWJsaW5nKGNoaWxkVG9SZW1vdmUpLAogICAgICAgICBzb3VyY2UKQEAg
LTIyNSw3ICsyMjYsNyBAQCBlbnVtIGNsYXNzIFJlcGxhY2VkQWxsQ2hpbGRyZW4geyBObywgWWVz
IH07CiBzdGF0aWMgQ29udGFpbmVyTm9kZTo6Q2hpbGRDaGFuZ2UgbWFrZUNoaWxkQ2hhbmdlRm9y
SW5zZXJ0aW9uKENvbnRhaW5lck5vZGUmIGNvbnRhaW5lck5vZGUsIE5vZGUmIGNoaWxkLCBOb2Rl
KiBiZWZvcmVDaGlsZCwgQ29udGFpbmVyTm9kZTo6Q2hpbGRDaGFuZ2U6OlNvdXJjZSBzb3VyY2Us
IFJlcGxhY2VkQWxsQ2hpbGRyZW4gcmVwbGFjZWRBbGxDaGlsZHJlbikKIHsKICAgICBpZiAocmVw
bGFjZWRBbGxDaGlsZHJlbiA9PSBSZXBsYWNlZEFsbENoaWxkcmVuOjpZZXMpCi0gICAgICAgIHJl
dHVybiB7IENvbnRhaW5lck5vZGU6OkNoaWxkQ2hhbmdlOjpUeXBlOjpBbGxDaGlsZHJlblJlcGxh
Y2VkLCBudWxscHRyLCBudWxscHRyLCBzb3VyY2UgfTsKKyAgICAgICAgcmV0dXJuIHsgQ29udGFp
bmVyTm9kZTo6Q2hpbGRDaGFuZ2U6OlR5cGU6OkFsbENoaWxkcmVuUmVwbGFjZWQsIG51bGxwdHIs
IG51bGxwdHIsIG51bGxwdHIsIHNvdXJjZSB9OwogCiAgICAgYXV0byBjaGFuZ2VUeXBlID0gWyZd
IHsKICAgICAgICAgaWYgKGlzPEVsZW1lbnQ+KGNoaWxkKSkKQEAgLTIzNyw2ICsyMzgsNyBAQCBz
dGF0aWMgQ29udGFpbmVyTm9kZTo6Q2hpbGRDaGFuZ2UgbWFrZUNoaWxkQ2hhbmdlRm9ySW5zZXJ0
aW9uKENvbnRhaW5lck5vZGUmIGNvbgogCiAgICAgcmV0dXJuIHsKICAgICAgICAgY2hhbmdlVHlw
ZSwKKyAgICAgICAgZHluYW1pY0Rvd25jYXN0PEVsZW1lbnQ+KGNoaWxkKSwKICAgICAgICAgYmVm
b3JlQ2hpbGQgPyBFbGVtZW50VHJhdmVyc2FsOjpwcmV2aW91c1NpYmxpbmcoKmJlZm9yZUNoaWxk
KSA6IEVsZW1lbnRUcmF2ZXJzYWw6Omxhc3RDaGlsZChjb250YWluZXJOb2RlKSwKICAgICAgICAg
IWJlZm9yZUNoaWxkIHx8IGlzPEVsZW1lbnQ+KCpiZWZvcmVDaGlsZCkgPyBkb3duY2FzdDxFbGVt
ZW50PihiZWZvcmVDaGlsZCkgOiBFbGVtZW50VHJhdmVyc2FsOjpuZXh0U2libGluZygqYmVmb3Jl
Q2hpbGQpLAogICAgICAgICBzb3VyY2UKQEAgLTgyNiwzMCArODI4LDExIEBAIEV4Y2VwdGlvbk9y
PHZvaWQ+IENvbnRhaW5lck5vZGU6OmFwcGVuZENoaWxkKENoaWxkQ2hhbmdlOjpTb3VyY2Ugc291
cmNlLCBOb2RlJiBuCiAgICAgcmV0dXJuIGFwcGVuZENoaWxkKG5ld0NoaWxkKTsKIH0KIAotc3Rh
dGljIGJvb2wgYWZmZWN0c0VsZW1lbnRzKGNvbnN0IENvbnRhaW5lck5vZGU6OkNoaWxkQ2hhbmdl
JiBjaGFuZ2UpCi17Ci0gICAgc3dpdGNoIChjaGFuZ2UudHlwZSkgewotICAgIGNhc2UgQ29udGFp
bmVyTm9kZTo6Q2hpbGRDaGFuZ2U6OlR5cGU6OkVsZW1lbnRJbnNlcnRlZDoKLSAgICBjYXNlIENv
bnRhaW5lck5vZGU6OkNoaWxkQ2hhbmdlOjpUeXBlOjpFbGVtZW50UmVtb3ZlZDoKLSAgICBjYXNl
IENvbnRhaW5lck5vZGU6OkNoaWxkQ2hhbmdlOjpUeXBlOjpBbGxDaGlsZHJlblJlbW92ZWQ6Ci0g
ICAgY2FzZSBDb250YWluZXJOb2RlOjpDaGlsZENoYW5nZTo6VHlwZTo6QWxsQ2hpbGRyZW5SZXBs
YWNlZDoKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBDb250YWluZXJOb2RlOjpDaGls
ZENoYW5nZTo6VHlwZTo6VGV4dEluc2VydGVkOgotICAgIGNhc2UgQ29udGFpbmVyTm9kZTo6Q2hp
bGRDaGFuZ2U6OlR5cGU6OlRleHRSZW1vdmVkOgotICAgIGNhc2UgQ29udGFpbmVyTm9kZTo6Q2hp
bGRDaGFuZ2U6OlR5cGU6OlRleHRDaGFuZ2VkOgotICAgIGNhc2UgQ29udGFpbmVyTm9kZTo6Q2hp
bGRDaGFuZ2U6OlR5cGU6Ok5vbkNvbnRlbnRzQ2hpbGRJbnNlcnRlZDoKLSAgICBjYXNlIENvbnRh
aW5lck5vZGU6OkNoaWxkQ2hhbmdlOjpUeXBlOjpOb25Db250ZW50c0NoaWxkUmVtb3ZlZDoKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAg
ICByZXR1cm4gZmFsc2U7Ci19Ci0KIHZvaWQgQ29udGFpbmVyTm9kZTo6Y2hpbGRyZW5DaGFuZ2Vk
KGNvbnN0IENoaWxkQ2hhbmdlJiBjaGFuZ2UpCiB7CiAgICAgZG9jdW1lbnQoKS5pbmNET01UcmVl
VmVyc2lvbigpOwogCi0gICAgaWYgKGFmZmVjdHNFbGVtZW50cyhjaGFuZ2UpKQorICAgIGlmIChj
aGFuZ2UuYWZmZWN0c0VsZW1lbnRzKCkpCiAgICAgICAgIGRvY3VtZW50KCkuaW52YWxpZGF0ZUFj
Y2Vzc0tleUNhY2hlKCk7CiAKICAgICAvLyBGSVhNRTogVW5jbGVhciB3aHkgaXQncyBhbHdheXMg
c2FmZSB0byBza2lwIHRoaXMgd2hlbiBwYXJzZXIgaXMgYWRkaW5nIGNoaWxkcmVuLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Db250YWluZXJOb2RlLmgKaW5kZXggMjNlODg3MDE2ZWFhOWIwOWEyNGQ0YTgwMTI3NWM5
YmJhMDA0YTVhMC4uMWNjYzY4ZjQ0NGQ5MTNhZmNiYTg3ZDNiNGZmMjEyM2E3MGRmNzRiZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oCkBAIC04MCw2ICs4MCw3IEBAIHB1YmxpYzoKICAg
ICAgICAgZW51bSBjbGFzcyBTb3VyY2UgOiBib29sIHsgUGFyc2VyLCBBUEkgfTsKIAogICAgICAg
ICBDaGlsZENoYW5nZTo6VHlwZSB0eXBlOworICAgICAgICBFbGVtZW50KiBzaWJsaW5nQ2hhbmdl
ZDsKICAgICAgICAgRWxlbWVudCogcHJldmlvdXNTaWJsaW5nRWxlbWVudDsKICAgICAgICAgRWxl
bWVudCogbmV4dFNpYmxpbmdFbGVtZW50OwogICAgICAgICBDaGlsZENoYW5nZTo6U291cmNlIHNv
dXJjZTsKQEAgLTEwMiw2ICsxMDMsMjUgQEAgcHVibGljOgogICAgICAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KKworICAg
ICAgICBib29sIGFmZmVjdHNFbGVtZW50cygpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAg
IHN3aXRjaCAodHlwZSkgeworICAgICAgICAgICAgY2FzZSBDaGlsZENoYW5nZTo6VHlwZTo6RWxl
bWVudEluc2VydGVkOgorICAgICAgICAgICAgY2FzZSBDaGlsZENoYW5nZTo6VHlwZTo6RWxlbWVu
dFJlbW92ZWQ6CisgICAgICAgICAgICBjYXNlIENoaWxkQ2hhbmdlOjpUeXBlOjpBbGxDaGlsZHJl
blJlbW92ZWQ6CisgICAgICAgICAgICBjYXNlIENoaWxkQ2hhbmdlOjpUeXBlOjpBbGxDaGlsZHJl
blJlcGxhY2VkOgorICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgY2Fz
ZSBDaGlsZENoYW5nZTo6VHlwZTo6VGV4dEluc2VydGVkOgorICAgICAgICAgICAgY2FzZSBDaGls
ZENoYW5nZTo6VHlwZTo6VGV4dFJlbW92ZWQ6CisgICAgICAgICAgICBjYXNlIENoaWxkQ2hhbmdl
OjpUeXBlOjpUZXh0Q2hhbmdlZDoKKyAgICAgICAgICAgIGNhc2UgQ2hpbGRDaGFuZ2U6OlR5cGU6
Ok5vbkNvbnRlbnRzQ2hpbGRJbnNlcnRlZDoKKyAgICAgICAgICAgIGNhc2UgQ2hpbGRDaGFuZ2U6
OlR5cGU6Ok5vbkNvbnRlbnRzQ2hpbGRSZW1vdmVkOgorICAgICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CiAgICAgfTsKICAgICB2aXJ0dWFs
IHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdlJik7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdEdyb3VwRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxPcHRHcm91cEVsZW1lbnQuY3BwCmluZGV4IGVlOWZlMWYyYTVkNjk3Zjc4
M2Q5NjU2MjllY2MzYWQwN2E1OTg4OWIuLmQwYTQ4ZjYyZTVmMDAyZjMzODA4Yzk0YmJjMjFlZTIz
NGM2NTA3MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdEdyb3VwRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0R3JvdXBFbGVtZW50LmNw
cApAQCAtNzcsNiArNzcsMTUgQEAgY29uc3QgQXRvbVN0cmluZyYgSFRNTE9wdEdyb3VwRWxlbWVu
dDo6Zm9ybUNvbnRyb2xUeXBlKCkgY29uc3QKIAogdm9pZCBIVE1MT3B0R3JvdXBFbGVtZW50Ojpj
aGlsZHJlbkNoYW5nZWQoY29uc3QgQ2hpbGRDaGFuZ2UmIGNoYW5nZSkKIHsKKyAgICBib29sIGlz
UmVsZXZhbnQgPSBjaGFuZ2UuYWZmZWN0c0VsZW1lbnRzKCk7CisgICAgUmVmUHRyIHNlbGVjdCA9
IGlzUmVsZXZhbnQgPyBvd25lclNlbGVjdEVsZW1lbnQoKSA6IG51bGxwdHI7CisgICAgaWYgKCFp
c1JlbGV2YW50IHx8ICFzZWxlY3QpIHsKKyAgICAgICAgSFRNTEVsZW1lbnQ6OmNoaWxkcmVuQ2hh
bmdlZChjaGFuZ2UpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0byBzZWxlY3RP
cHRpb25JZk5lY2Vzc2FyeVNjb3BlID0gc2VsZWN0LT5vcHRpb25Ub1NlbGVjdEZyb21DaGlsZENo
YW5nZVNjb3BlKGNoYW5nZSwgdGhpcyk7CisKICAgICByZWNhbGNTZWxlY3RPcHRpb25zKCk7CiAg
ICAgSFRNTEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjaGFuZ2UpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmNwcAppbmRleCAxYTJjYjgyNDg3N2VkZTNmNzRmOTE0
YjIxMGY4NWY4YTc1YjQwNzVmLi5kOWE4MTlkZWJmMTBlMDAwNWNjZDZjZjk5NWExMDljYTQyYTBl
N2IxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmNwcApAQCAtMzE1
LDIzICszMTUsNiBAQCBib29sIEhUTUxPcHRpb25FbGVtZW50Ojppc0Rpc2FibGVkRm9ybUNvbnRy
b2woKSBjb25zdAogICAgIHJldHVybiBkb3duY2FzdDxIVE1MT3B0R3JvdXBFbGVtZW50PigqcGFy
ZW50Tm9kZSgpKS5pc0Rpc2FibGVkRm9ybUNvbnRyb2woKTsKIH0KIAotTm9kZTo6SW5zZXJ0ZWRJ
bnRvQW5jZXN0b3JSZXN1bHQgSFRNTE9wdGlvbkVsZW1lbnQ6Omluc2VydGVkSW50b0FuY2VzdG9y
KEluc2VydGlvblR5cGUgaW5zZXJ0aW9uVHlwZSwgQ29udGFpbmVyTm9kZSYgcGFyZW50T2ZJbnNl
cnRlZFRyZWUpCi17Ci0gICAgaWYgKFJlZlB0ciBzZWxlY3QgPSBvd25lclNlbGVjdEVsZW1lbnQo
KSkgewotICAgICAgICBzZWxlY3QtPnNldFJlY2FsY0xpc3RJdGVtcygpOwotICAgICAgICBzZWxl
Y3QtPnVwZGF0ZVZhbGlkaXR5KCk7Ci0gICAgICAgIC8vIERvIG5vdCBjYWxsIHNlbGVjdGVkKCkg
c2luY2UgY2FsbGluZyB1cGRhdGVMaXN0SXRlbVNlbGVjdGVkU3RhdGVzKCkKLSAgICAgICAgLy8g
YXQgdGhpcyB0aW1lIHdvbid0IGRvIHRoZSByaWdodCB0aGluZy4gKFdoeSwgZXhhY3RseT8pCi0g
ICAgICAgIC8vIEZJWE1FOiBNaWdodCBiZSBiZXR0ZXIgdG8gY2FsbCB0aGlzIHVuY29uZGl0aW9u
YWxseSwgYWx3YXlzIHBhc3NpbmcgbV9pc1NlbGVjdGVkLAotICAgICAgICAvLyByYXRoZXIgdGhh
biBvbmx5IGNhbGxpbmcgaXQgaWYgd2UgYXJlIHNlbGVjdGVkLgotICAgICAgICBpZiAobV9pc1Nl
bGVjdGVkKQotICAgICAgICAgICAgc2VsZWN0LT5vcHRpb25TZWxlY3Rpb25TdGF0ZUNoYW5nZWQo
KnRoaXMsIHRydWUpOwotICAgICAgICBzZWxlY3QtPnNjcm9sbFRvU2VsZWN0aW9uKCk7Ci0gICAg
fQotCi0gICAgcmV0dXJuIEhUTUxFbGVtZW50OjppbnNlcnRlZEludG9BbmNlc3RvcihpbnNlcnRp
b25UeXBlLCBwYXJlbnRPZkluc2VydGVkVHJlZSk7Ci19Ci0KIFN0cmluZyBIVE1MT3B0aW9uRWxl
bWVudDo6Y29sbGVjdE9wdGlvbklubmVyVGV4dCgpIGNvbnN0CiB7CiAgICAgU3RyaW5nQnVpbGRl
ciB0ZXh0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5oCmluZGV4IDIwZWQy
ZjVkYTg3N2JjMjcwNTEzOGViMjQ3NmEyNzdlNWRiOTVkOTQuLjJhMjk2NzhiMTIwOTBkN2RiNmM4
N2Y3OGE2MjcxZjIwYjNkZDc3ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE9wdGlvbkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVt
ZW50LmgKQEAgLTYxLDYgKzYxLDcgQEAgcHVibGljOgogICAgIFN0cmluZyB0ZXh0SW5kZW50ZWRU
b1Jlc3BlY3RHcm91cExhYmVsKCkgY29uc3Q7CiAKICAgICB2b2lkIHNldFNlbGVjdGVkU3RhdGUo
Ym9vbCk7CisgICAgYm9vbCBzZWxlY3RlZFdpdGhvdXRVcGRhdGUoKSBjb25zdCB7IHJldHVybiBt
X2lzU2VsZWN0ZWQ7IH0KIAogcHJpdmF0ZToKICAgICBIVE1MT3B0aW9uRWxlbWVudChjb25zdCBR
dWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKQEAgLTcxLDcgKzcyLDYgQEAgcHJpdmF0ZToKIAog
ICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21T
dHJpbmcmKSBmaW5hbDsKIAotICAgIEluc2VydGVkSW50b0FuY2VzdG9yUmVzdWx0IGluc2VydGVk
SW50b0FuY2VzdG9yKEluc2VydGlvblR5cGUsIENvbnRhaW5lck5vZGUmKSBmaW5hbDsKICAgICBi
b29sIGFjY2Vzc0tleUFjdGlvbihib29sKSBmaW5hbDsKIAogICAgIHZvaWQgY2hpbGRyZW5DaGFu
Z2VkKGNvbnN0IENoaWxkQ2hhbmdlJikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNl
bGVjdEVsZW1lbnQuY3BwCmluZGV4IDgyMTZkYmNkZGEwMzhjNmNlMjZiYTBlMGFmZTY5N2VhOTkz
OTE4ZjAuLjFmYWEzNWFkZDQxZTU3YjM3ZDZmODgwMTVhNTMzNDRlNWU5Y2YyYjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCkBAIC0zNzEsOCArMzcxLDQ3IEBA
IHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6OnVwZGF0ZUxpc3RJdGVtU2VsZWN0ZWRTdGF0ZXMoKQog
ICAgICAgICByZWNhbGNMaXN0SXRlbXMoKTsKIH0KIAorQ29tcGxldGlvbkhhbmRsZXJDYWxsaW5n
U2NvcGUgSFRNTFNlbGVjdEVsZW1lbnQ6Om9wdGlvblRvU2VsZWN0RnJvbUNoaWxkQ2hhbmdlU2Nv
cGUoY29uc3QgQ29udGFpbmVyTm9kZTo6Q2hpbGRDaGFuZ2UmIGNoYW5nZSwgSFRNTE9wdEdyb3Vw
RWxlbWVudCogcGFyZW50T3B0R3JvdXApCit7CisgICAgaWYgKG11bHRpcGxlKCkpCisgICAgICAg
IHJldHVybiB7IH07CisKKyAgICBhdXRvIGdldExhc3RTZWxlY3RlZE9wdGlvbiA9IFtdKEhUTUxP
cHRHcm91cEVsZW1lbnQmIG9wdEdyb3VwKSAtPiBIVE1MT3B0aW9uRWxlbWVudCogeworICAgICAg
ICBmb3IgKGF1dG8qIG9wdGlvbiA9IFRyYXZlcnNhbDxIVE1MT3B0aW9uRWxlbWVudD46Omxhc3RD
aGlsZChvcHRHcm91cCk7IG9wdGlvbjsgb3B0aW9uID0gVHJhdmVyc2FsPEhUTUxPcHRpb25FbGVt
ZW50Pjo6cHJldmlvdXNTaWJsaW5nKCpvcHRpb24pKSB7CisgICAgICAgICAgICBpZiAob3B0aW9u
LT5zZWxlY3RlZFdpdGhvdXRVcGRhdGUoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9u
OworICAgICAgICB9CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH07CisKKyAgICBSZWZQ
dHI8SFRNTE9wdGlvbkVsZW1lbnQ+IG9wdGlvblRvU2VsZWN0OworICAgIGlmIChjaGFuZ2UudHlw
ZSA9PSBDaGlsZENoYW5nZTo6VHlwZTo6RWxlbWVudEluc2VydGVkKSB7CisgICAgICAgIGlmIChp
czxIVE1MT3B0aW9uRWxlbWVudD4oY2hhbmdlLnNpYmxpbmdDaGFuZ2VkKSkgeworICAgICAgICAg
ICAgYXV0byYgb3B0aW9uID0gZG93bmNhc3Q8SFRNTE9wdGlvbkVsZW1lbnQ+KCpjaGFuZ2Uuc2li
bGluZ0NoYW5nZWQpOworICAgICAgICAgICAgaWYgKG9wdGlvbi5zZWxlY3RlZFdpdGhvdXRVcGRh
dGUoKSkKKyAgICAgICAgICAgICAgICBvcHRpb25Ub1NlbGVjdCA9ICZvcHRpb247CisgICAgICAg
IH0gZWxzZSBpZiAoIXBhcmVudE9wdEdyb3VwICYmIGlzPEhUTUxPcHRHcm91cEVsZW1lbnQ+KGNo
YW5nZS5zaWJsaW5nQ2hhbmdlZCkpCisgICAgICAgICAgICBvcHRpb25Ub1NlbGVjdCA9IGdldExh
c3RTZWxlY3RlZE9wdGlvbigqZG93bmNhc3Q8SFRNTE9wdEdyb3VwRWxlbWVudD4oY2hhbmdlLnNp
YmxpbmdDaGFuZ2VkKSk7CisgICAgfSBlbHNlIGlmIChwYXJlbnRPcHRHcm91cCAmJiBjaGFuZ2Uu
dHlwZSA9PSBDb250YWluZXJOb2RlOjpDaGlsZENoYW5nZTo6VHlwZTo6QWxsQ2hpbGRyZW5SZXBs
YWNlZCkKKyAgICAgICAgb3B0aW9uVG9TZWxlY3QgPSBnZXRMYXN0U2VsZWN0ZWRPcHRpb24oKnBh
cmVudE9wdEdyb3VwKTsKKworICAgIHJldHVybiBDb21wbGV0aW9uSGFuZGxlckNhbGxpbmdTY29w
ZSB7IFtvcHRpb25Ub1NlbGVjdCA9IFdURk1vdmUob3B0aW9uVG9TZWxlY3QpLCBpc0luc2VydGlv
biA9IGNoYW5nZS5pc0luc2VydGlvbigpLCBzZWxlY3QgPSBSZWYgeyAqdGhpcyB9XSB7CisgICAg
ICAgIGlmIChvcHRpb25Ub1NlbGVjdCkKKyAgICAgICAgICAgIHNlbGVjdC0+b3B0aW9uU2VsZWN0
aW9uU3RhdGVDaGFuZ2VkKCpvcHRpb25Ub1NlbGVjdCwgdHJ1ZSk7CisgICAgICAgIGVsc2UgaWYg
KGlzSW5zZXJ0aW9uKQorICAgICAgICAgICAgc2VsZWN0LT5zY3JvbGxUb1NlbGVjdGlvbigpOwor
ICAgIH0gfTsKK30KKwogdm9pZCBIVE1MU2VsZWN0RWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNv
bnN0IENoaWxkQ2hhbmdlJiBjaGFuZ2UpCiB7CisgICAgaWYgKCFjaGFuZ2UuYWZmZWN0c0VsZW1l
bnRzKCkpIHsKKyAgICAgICAgSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZTo6Y2hpbGRy
ZW5DaGFuZ2VkKGNoYW5nZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIHNl
bGVjdE9wdGlvbklmTmVjZXNzYXJ5U2NvcGUgPSBvcHRpb25Ub1NlbGVjdEZyb21DaGlsZENoYW5n
ZVNjb3BlKGNoYW5nZSk7CisKICAgICBzZXRSZWNhbGNMaXN0SXRlbXMoKTsKICAgICB1cGRhdGVW
YWxpZGl0eSgpOwogICAgIG1fbGFzdE9uQ2hhbmdlU2VsZWN0aW9uLmNsZWFyKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmgKaW5kZXggMzBiM2NiOTQ3Yzk2ZTM5NzgxYjc0
NmQ4N2ZhYWIwMzYyYzA2MzcwNi4uYjE3YThhN2JjMDA1MTE4YWMxYzk3MzdjMzA3NDIyYzU1MDAx
YTFkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaApAQCAtMjcsNiAr
MjcsNyBAQAogCiAjaW5jbHVkZSAiSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZS5oIgog
I2luY2x1ZGUgIlR5cGVBaGVhZC5oIgorI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTEwNSw2ICsxMDYsOCBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBvcHRpb25TZWxlY3Rpb25TdGF0ZUNoYW5nZWQoSFRNTE9wdGlvbkVsZW1lbnQmLCBi
b29sIG9wdGlvbklzU2VsZWN0ZWQpOwogICAgIGJvb2wgYWxsb3dzTm9uQ29udGlndW91c1NlbGVj
dGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fYWxsb3dzTm9uQ29udGlndW91c1NlbGVjdGlvbjsgfTsK
IAorICAgIENvbXBsZXRpb25IYW5kbGVyQ2FsbGluZ1Njb3BlIG9wdGlvblRvU2VsZWN0RnJvbUNo
aWxkQ2hhbmdlU2NvcGUoY29uc3QgQ2hpbGRDaGFuZ2UmLCBIVE1MT3B0R3JvdXBFbGVtZW50KiBw
YXJlbnRPcHRHcm91cCA9IG51bGxwdHIpOworCiBwcm90ZWN0ZWQ6CiAgICAgSFRNTFNlbGVjdEVs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50JiwgSFRNTEZvcm1FbGVtZW50Kik7
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCAyZDBiMDRhY2U2MmE3ODJkZTc0MGUxNTQxZmM1ZTFkMGM2YmU1OTY5Li45YTJm
YzgyYmQ2Nzc5YjNjYWVmMjk5NzNhZWQwM2MwNDU5M2RiODA2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMjItMDEtMTQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAg
ICBXaGVuIGluc2VydGluZyBhIHNlbGVjdGVkIDxvcHRpb24+IGluIGEgPHNlbGVjdD4gZWxlbWVu
dCwgaXRzIHNlbGVjdGVkIHN0YXRlIHNob3VsZCByZW1haW4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTIzNworCisgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgorCisgICAgICAgIFJlYmFzZWxpbmUgV1BUIHRlc3QgdGhhdCBpcyBub3cg
cGFzc2luZy4KKworICAgICAgICAqIHBsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90aGUtc2VsZWN0LWVsZW1lbnQvc2Vs
ZWN0LXZhbGlkaXR5LWV4cGVjdGVkLnR4dDoKKwogMjAyMi0wMS0xOCAgQXJjYWR5IEdvbGRtaW50
cy1PcmxvdiAgPGFnb2xkbWludHNAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR0xJQl0gVXBkYXRl
IHRlc3QgYmFzZWxpbmVzIGFmdGVyIHIyODgwNzAuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZwppbmRleCA5ODZmODgyM2ZkYTM1NzdlNmE4MDI4OTQxMzBkNmE2YmZiNjA3OWFmLi5hMGUwMDRl
NGEzMmZmM2QyY2ZkMmE0MzMwNzI2OWZmMDBmZjUxNWNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMi0wMS0xNCAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgorCisgICAgICAgIFdoZW4gaW5zZXJ0aW5nIGEgc2VsZWN0ZWQgPG9wdGlv
bj4gaW4gYSA8c2VsZWN0PiBlbGVtZW50LCBpdHMgc2VsZWN0ZWQgc3RhdGUgc2hvdWxkIHJlbWFp
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1MjM3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgUmViYXNlbGlu
ZSBXUFQgdGVzdHMgdGhhdCBhcmUgbm93IHBhc3NpbmcuCisKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvdGhlLXNlbGVjdC1lbGVtZW50L2luc2VydGVk
LW9yLXJlbW92ZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9mb3Jtcy90aGUtc2VsZWN0LWVsZW1lbnQvc2VsZWN0LXZhbGlkaXR5LWV4
cGVjdGVkLnR4dDoKKwogMjAyMi0wMS0xNyAgU2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2aWxsYXJA
aWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWZsZXhib3hdIEFkZCBzdXBwb3J0IGZvciBpbnRy
aW5zaWMgc2l6ZXMgaW4gZmxleC1iYXNpcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90aGUtc2VsZWN0
LWVsZW1lbnQvaW5zZXJ0ZWQtb3ItcmVtb3ZlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS1z
ZWxlY3QtZWxlbWVudC9pbnNlcnRlZC1vci1yZW1vdmVkLWV4cGVjdGVkLnR4dAppbmRleCA2Yzk3
ZWMyMTY0ZDJkYWE2YWU3MTMwZTA5YTllYTk5ZWU1YTZiMGM1Li4wNmIzMDg3MGVlNjk5M2EwMzYw
MWQ2OGNlYjQ1MTA2ODEwNmYzYmVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS1zZWxlY3QtZWxl
bWVudC9pbnNlcnRlZC1vci1yZW1vdmVkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS1z
ZWxlY3QtZWxlbWVudC9pbnNlcnRlZC1vci1yZW1vdmVkLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsx
LDcgQEAKIAogCiBQQVNTIFRoZSBsYXN0IHNlbGVjdGVkIE9QVElPTiBzaG91bGQgd2luOyBJbnNl
cnRlZCBieSBwYXJzZXIKLUZBSUwgVGhlIGxhc3Qgc2VsZWN0ZWQgT1BUSU9OIHNob3VsZCB3aW47
IEluc2VydGVkIGJ5IERPTSBBUEkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlNlY29uZCIgYnV0
IGdvdCAiRmlyc3QiCitQQVNTIFRoZSBsYXN0IHNlbGVjdGVkIE9QVElPTiBzaG91bGQgd2luOyBJ
bnNlcnRlZCBieSBET00gQVBJCiBQQVNTIFRoZSBsYXN0IHNlbGVjdGVkIE9QVElPTiBzaG91bGQg
d2luOyBJbnNlcnRlZCBieSBqUXVlcnkgYXBwZW5kKCkKIFBBU1MgVGhlIGxhc3Qgc2VsZWN0ZWQg
T1BUSU9OIHNob3VsZCB3aW47IEluc2VydGVkIGJ5IGlubmVySFRNTAogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L2Zvcm1zL3RoZS1zZWxlY3QtZWxlbWVudC9zZWxlY3QtdmFsaWRpdHktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9mb3Jtcy90aGUtc2VsZWN0LWVsZW1lbnQvc2VsZWN0LXZhbGlkaXR5LWV4cGVjdGVkLnR4dApp
bmRleCA4NWZmNGYwNzg1OWJjNzc2ZTZjYjRkOGI5OGJkMGYzN2UzZDNjODZhLi4xZDY2YmIyNTll
MjFiMjg3ZTUwZjhkOGJjNWE5ODEzMTM2ZTY1ZDI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS1z
ZWxlY3QtZWxlbWVudC9zZWxlY3QtdmFsaWRpdHktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMv
dGhlLXNlbGVjdC1lbGVtZW50L3NlbGVjdC12YWxpZGl0eS1leHBlY3RlZC50eHQKQEAgLTQsNSAr
NCw1IEBAIFBBU1MgUGxhY2Vob2xkZXIgbGFiZWwtbGlrZSBvcHRpb25zIHdpdGhpbiBvcHRncm91
cAogUEFTUyBWYWxpZGF0aW9uIG9uIHNlbGVjdHMgd2l0aCBkaXNwbGF5IHNpemUgc2V0IGFzIG1v
cmUgdGhhbiBvbmUKIFBBU1MgVmFsaWRhdGlvbiBvbiBzZWxlY3RzIHdpdGggbXVsdGlwbGUgc2V0
CiBQQVNTIFZhbGlkYXRpb24gb24gc2VsZWN0cyB3aXRoIG5vbi1lbXB0eSBkaXNhYmxlZCBvcHRp
b24KLUZBSUwgUmVtb3ZlIGFuZCBhZGQgYmFjayB0aGUgcGxhY2Vob2xkZXIgbGFiZWwgb3B0aW9u
IGFzc2VydF9mYWxzZTogSWYgdGhlIHBsYWNlaG9sZGVyIGxhYmVsIG9wdGlvbiBpcyBzZWxlY3Rl
ZCwgcmVxdWlyZWQgc2VsZWN0IGVsZW1lbnQgc2hvdWxkbid0IGJlIHZhbGlkLiBleHBlY3RlZCBm
YWxzZSBnb3QgdHJ1ZQorUEFTUyBSZW1vdmUgYW5kIGFkZCBiYWNrIHRoZSBwbGFjZWhvbGRlciBs
YWJlbCBvcHRpb24KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS1z
ZWxlY3QtZWxlbWVudC9zZWxlY3QtdmFsaWRpdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2Zvcm1zL3RoZS1zZWxlY3QtZWxlbWVudC9zZWxlY3QtdmFsaWRpdHktZXhwZWN0ZWQu
dHh0CmluZGV4IDYyYjgxYWE2N2ZkOGU3NTE0YmY0NTM0ZjU3MjIxNzM2ZWM2OTliOTUuLjQ5ZDFj
YmFhYWQyOWY5NjY5YTBmNzhkMTcxMmI4MmQ1NDc5ZWE1MGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9mb3Jtcy90aGUtc2VsZWN0LWVsZW1lbnQvc2VsZWN0LXZhbGlkaXR5LWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvdGhlLXNlbGVjdC1lbGVtZW50
L3NlbGVjdC12YWxpZGl0eS1leHBlY3RlZC50eHQKQEAgLTQsNSArNCw1IEBAIFBBU1MgUGxhY2Vo
b2xkZXIgbGFiZWwtbGlrZSBvcHRpb25zIHdpdGhpbiBvcHRncm91cAogRkFJTCBWYWxpZGF0aW9u
IG9uIHNlbGVjdHMgd2l0aCBkaXNwbGF5IHNpemUgc2V0IGFzIG1vcmUgdGhhbiBvbmUgYXNzZXJ0
X2ZhbHNlOiBJZiBubyBvcHRpb25zIGFyZSBzZWxlY3RlZCB0aGUgc2VsZWN0IG11c3QgYmUgc2Vl
biBhcyBpbnZhbGlkLiBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQogUEFTUyBWYWxpZGF0aW9uIG9u
IHNlbGVjdHMgd2l0aCBtdWx0aXBsZSBzZXQKIFBBU1MgVmFsaWRhdGlvbiBvbiBzZWxlY3RzIHdp
dGggbm9uLWVtcHR5IGRpc2FibGVkIG9wdGlvbgotRkFJTCBSZW1vdmUgYW5kIGFkZCBiYWNrIHRo
ZSBwbGFjZWhvbGRlciBsYWJlbCBvcHRpb24gYXNzZXJ0X2ZhbHNlOiBJZiB0aGUgcGxhY2Vob2xk
ZXIgbGFiZWwgb3B0aW9uIGlzIHNlbGVjdGVkLCByZXF1aXJlZCBzZWxlY3QgZWxlbWVudCBzaG91
bGRuJ3QgYmUgdmFsaWQuIGV4cGVjdGVkIGZhbHNlIGdvdCB0cnVlCitQQVNTIFJlbW92ZSBhbmQg
YWRkIGJhY2sgdGhlIHBsYWNlaG9sZGVyIGxhYmVsIG9wdGlvbgogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>