<?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>223277</bug_id>
          
          <creation_ts>2021-03-16 13:41:13 -0700</creation_ts>
          <short_desc>Many media/media-fragments/ tests are crashing due to other tests that run before them.</short_desc>
          <delta_ts>2021-03-23 21:54:57 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=222277</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Truitt Savell">tsavell</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1740164</commentid>
    <comment_count>0</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2021-03-16 13:41:13 -0700</bug_when>
    <thetext>Bugs like: https://bugs.webkit.org/show_bug.cgi?id=222277

are making this directory very difficult to work around. These tests are causing issues on EWS and CQ. Jer proposed we skip all these tests while he works on a workaround.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740165</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-16 13:41:36 -0700</bug_when>
    <thetext>&lt;rdar://problem/75492360&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740169</commentid>
    <comment_count>2</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2021-03-16 13:49:03 -0700</bug_when>
    <thetext>I am marking the whole directory as [ Pass Failure ] for Mac which will skip these all on EWS but keep them running on the production bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740171</commentid>
    <comment_count>3</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2021-03-16 13:51:46 -0700</bug_when>
    <thetext>Committed: https://trac.webkit.org/changeset/274511/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740267</commentid>
    <comment_count>4</comment_count>
      <attachid>423407</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-03-16 15:44:10 -0700</bug_when>
    <thetext>Created attachment 423407
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740283</commentid>
    <comment_count>5</comment_count>
      <attachid>423407</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-03-16 15:53:52 -0700</bug_when>
    <thetext>Comment on attachment 423407
Patch

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

&gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:846
&gt; +        size_t count = 0;
&gt; +        auto results = fragmentParameter.splitAllowingEmptyEntries(&apos;=&apos;);
&gt; +        for (auto iterator = results.begin(); iterator != results.end(); ++iterator)
&gt; +            ++count;
&gt; +        return count != 2;

Couldn&apos;t this be just:

    return fragmentParameter.splitAllowingEmptyEntries(&apos;=&apos;).size != 2;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740295</commentid>
    <comment_count>6</comment_count>
      <attachid>423407</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-03-16 16:05:29 -0700</bug_when>
    <thetext>Comment on attachment 423407
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:846
&gt;&gt; +        return count != 2;
&gt; 
&gt; Couldn&apos;t this be just:
&gt; 
&gt;     return fragmentParameter.splitAllowingEmptyEntries(&apos;=&apos;).size != 2;

This seems a roundabout way to check if to be sure there is exactly one &quot;=&quot;. I think that’s what it means to split allowing empty and then count and then check that there are exactly 2.

Unnecessary to count all the &quot;=&quot; signs to check if there are more than one; ideally we’d stop once the count hits 2. But I’ve never found we have a great idiom for that in cases like this.

I think I would write this:

    auto hasInvalidNumberOfEqualCharacters = [] (StringView fragmentParameter) {
        unsigned count = 0;
        for (auto character : fragmentParameter.codeUnits()) {
            if (character == &apos;=&apos;) {
                if (++count &gt; 1)
                    return true;
            }
        }
        return count != 1;
    }

But it is sad that this function is so long!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740986</commentid>
    <comment_count>7</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-03-17 18:16:32 -0700</bug_when>
    <thetext>(In reply to Eric Carlson from comment #5)
&gt; Comment on attachment 423407 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=423407&amp;action=review
&gt;
&gt; Couldn&apos;t this be just:
&gt; 
&gt;     return fragmentParameter.splitAllowingEmptyEntries(&apos;=&apos;).size != 2;

No, because a SplitResult is just an iterator pair; and the iterators aren&apos;t random access, so they can&apos;t be subtracted from one another.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740990</commentid>
    <comment_count>8</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-03-17 18:25:14 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #6)
&gt; Comment on attachment 423407 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=423407&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:846
&gt; &gt;&gt; +        return count != 2;
&gt; &gt; 
&gt; &gt; Couldn&apos;t this be just:
&gt; &gt; 
&gt; &gt;     return fragmentParameter.splitAllowingEmptyEntries(&apos;=&apos;).size != 2;
&gt; 
&gt; This seems a roundabout way to check if to be sure there is exactly one &quot;=&quot;.
&gt; I think that’s what it means to split allowing empty and then count and then
&gt; check that there are exactly 2.
&gt; 
&gt; Unnecessary to count all the &quot;=&quot; signs to check if there are more than one;
&gt; ideally we’d stop once the count hits 2. But I’ve never found we have a
&gt; great idiom for that in cases like this.
&gt; 
&gt; I think I would write this:
&gt; 
&gt;     auto hasInvalidNumberOfEqualCharacters = [] (StringView
&gt; fragmentParameter) {
&gt;         unsigned count = 0;
&gt;         for (auto character : fragmentParameter.codeUnits()) {
&gt;             if (character == &apos;=&apos;) {
&gt;                 if (++count &gt; 1)
&gt;                     return true;
&gt;             }
&gt;         }
&gt;         return count != 1;
&gt;     }
&gt; 
&gt; But it is sad that this function is so long!

So I avoided this solution exactly because it was too long. But because a StringResult iterator basically encapsulates that search algorithm above, I think you could get the same benefit just by re-writing the `hasInvalidNumberOfEqualCharacters` lambda:

    auto hasInvalidNumberOfEqualCharacters = [](StringView&amp; fragmentParameter) {
        size_t count = 0;
        auto results = fragmentParameter.splitAllowingEmptyEntries(&apos;=&apos;);
        for (auto iterator = results.begin(); iterator != results.end(); ++iterator) {
            if (++count &gt; 1)
                return false;
        }
        return count != 1;
    };

Actually, you may be able to do something like: 

    auto hasInvalidNumberOfEqualCharacters = [](StringView&amp; fragmentParameter) {
        auto results = fragmentParameter.splitAllowingEmptyEntries(&apos;=&apos;);
        auto iterator = results.begin();
        return iterator == results.end() || ++iterator == results.end() || ++iterator != results.end();
    }

Not sure that the latter is better just because it&apos;s shorter though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740993</commentid>
    <comment_count>9</comment_count>
      <attachid>423407</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-03-17 18:35:07 -0700</bug_when>
    <thetext>Comment on attachment 423407
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:846
&gt;&gt;&gt;&gt; +        return count != 2;
&gt;&gt;&gt; 
&gt;&gt;&gt; Couldn&apos;t this be just:
&gt;&gt;&gt; 
&gt;&gt;&gt;     return fragmentParameter.splitAllowingEmptyEntries(&apos;=&apos;).size != 2;
&gt;&gt; 
&gt;&gt; This seems a roundabout way to check if to be sure there is exactly one &quot;=&quot;. I think that’s what it means to split allowing empty and then count and then check that there are exactly 2.
&gt;&gt; 
&gt;&gt; Unnecessary to count all the &quot;=&quot; signs to check if there are more than one; ideally we’d stop once the count hits 2. But I’ve never found we have a great idiom for that in cases like this.
&gt;&gt; 
&gt;&gt; I think I would write this:
&gt;&gt; 
&gt;&gt;     auto hasInvalidNumberOfEqualCharacters = [] (StringView fragmentParameter) {
&gt;&gt;         unsigned count = 0;
&gt;&gt;         for (auto character : fragmentParameter.codeUnits()) {
&gt;&gt;             if (character == &apos;=&apos;) {
&gt;&gt;                 if (++count &gt; 1)
&gt;&gt;                     return true;
&gt;&gt;             }
&gt;&gt;         }
&gt;&gt;         return count != 1;
&gt;&gt;     }
&gt;&gt; 
&gt;&gt; But it is sad that this function is so long!
&gt; 
&gt; So I avoided this solution exactly because it was too long. But because a StringResult iterator basically encapsulates that search algorithm above, I think you could get the same benefit just by re-writing the `hasInvalidNumberOfEqualCharacters` lambda:
&gt; 
&gt;     auto hasInvalidNumberOfEqualCharacters = [](StringView&amp; fragmentParameter) {
&gt;         size_t count = 0;
&gt;         auto results = fragmentParameter.splitAllowingEmptyEntries(&apos;=&apos;);
&gt;         for (auto iterator = results.begin(); iterator != results.end(); ++iterator) {
&gt;             if (++count &gt; 1)
&gt;                 return false;
&gt;         }
&gt;         return count != 1;
&gt;     };
&gt; 
&gt; Actually, you may be able to do something like: 
&gt; 
&gt;     auto hasInvalidNumberOfEqualCharacters = [](StringView&amp; fragmentParameter) {
&gt;         auto results = fragmentParameter.splitAllowingEmptyEntries(&apos;=&apos;);
&gt;         auto iterator = results.begin();
&gt;         return iterator == results.end() || ++iterator == results.end() || ++iterator != results.end();
&gt;     }
&gt; 
&gt; Not sure that the latter is better just because it&apos;s shorter though.

One peculiar thing is the &amp; on the StringView&amp;.

I like that last one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741332</commentid>
    <comment_count>10</comment_count>
      <attachid>423634</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-03-18 12:28:23 -0700</bug_when>
    <thetext>Created attachment 423634
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741396</commentid>
    <comment_count>11</comment_count>
      <attachid>423645</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-03-18 13:50:52 -0700</bug_when>
    <thetext>Created attachment 423645
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741727</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-19 09:12:23 -0700</bug_when>
    <thetext>contributors.json is malformed: Expecting &apos;,&apos; delimiter: line 626 column 16 (char 13043)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741743</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-19 09:40:32 -0700</bug_when>
    <thetext>commit-queue failed to commit attachment 423645 to WebKit repository. To retry, please set cq+ flag again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741766</commentid>
    <comment_count>14</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-19 10:18:34 -0700</bug_when>
    <thetext>commit-queue failed to commit attachment 423645 to WebKit repository. To retry, please set cq+ flag again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741823</commentid>
    <comment_count>15</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-19 11:59:15 -0700</bug_when>
    <thetext>commit-queue failed to commit attachment 423645 to WebKit repository. To retry, please set cq+ flag again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741849</commentid>
    <comment_count>16</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-19 12:55:07 -0700</bug_when>
    <thetext>Committed r274734: &lt;https://commits.webkit.org/r274734&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 423645.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423407</attachid>
            <date>2021-03-16 15:44:10 -0700</date>
            <delta_ts>2021-03-16 15:58:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223277-20210316154410.patch</filename>
            <type>text/plain</type>
            <size>9861</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NTI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODRjZTc2MzIzNjg1NDE0
YjgxNjg5YmE4ZTljN2FlODU4ZTg0OGQ3Zi4uMGI2MDJlNjU2MDBiZDhkYmRhMDNhNWI0MGUwYjI3
YmE3YmM1ODAyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTAzLTE2ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIE1hbnkgbWVkaWEvbWVkaWEt
ZnJhZ21lbnRzLyB0ZXN0cyBhcmUgY3Jhc2hpbmcgZHVlIHRvIG90aGVyIHRlc3RzIHRoYXQgcnVu
IGJlZm9yZSB0aGVtLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjIzMjc3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NTQ5MjM2MD4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXb3JrIGFyb3VuZCB0aGUg
Y3Jhc2hpbmcgZnVuY3Rpb24gYnkgcHJlLWNvbmZvcm1pbmcgdGhlIGZyYWdtZW50IGlkZW50aWZp
ZXIgYWNjb3JkaW5nCisgICAgICAgIHRvIHRoZSBmb3JtYXQgcmVxdWlyZWQgYnkgdGhlIGNyYXNo
aW5nIGZ1bmN0aW9uLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbToKKyAgICAgICAgKFdl
YkNvcmU6Omhhc0Jyb2tlbkZyYWdtZW50U3VwcG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpjb25m
b3JtRnJhZ21lbnRJZGVudGlmaWVyRm9yVVJMKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZUFWQXNzZXRGb3JVUkwpOgorCiAyMDIx
LTAzLTE1ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2Nv
YV0gWW91VHViZSBhdWRpbyBzdGFsbHMgb2NjYXNpb25hbGx5CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRl
eCA0ZmQzNzRiYzBlOGE2ZWFjNGI3Njc0MWFiYzc0ZjNkZGU4NmI3MjFlLi4yZmQ4MmIwZmY2ODRh
NTdjZWNhNGI3YzcxZDA0NTU3NzNjYzAwODMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNSBAQAorMjAyMS0wMy0xNiAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKwor
ICAgICAgICBNYW55IG1lZGlhL21lZGlhLWZyYWdtZW50cy8gdGVzdHMgYXJlIGNyYXNoaW5nIGR1
ZSB0byBvdGhlciB0ZXN0cyB0aGF0IHJ1biBiZWZvcmUgdGhlbS4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzI3NworICAgICAgICA8cmRhcjovL3By
b2JsZW0vNzU0OTIzNjA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsuaDoKKyAgICAgICAgKiBw
YWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW06CisgICAgICAgICogcGFsL3NwaS9jb2Nv
YS9BVkZvdW5kYXRpb25TUEkuaDoKKwogMjAyMS0wMy0xNSAgSmVyIE5vYmxlICA8amVyLm5vYmxl
QGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIEFkb3B0IEF1ZGlvQ29tcG9uZW50QXBwbHlT
ZXJ2ZXJSZWdpc3RyYXRpb25zKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
Y29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29j
b2EvQVZGb3VuZGF0aW9uU29mdExpbmsuaAppbmRleCBkMjRjMjRkYWZhYjExMmYzNDk3OTFmNmFk
YmY2NGEzM2FjZDYzNWU0Li4zNjVkZmNhYjA5M2I0ZTNlOGY5NzFmZTIwNmI1NzhkMWUyMDNmZWYw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNv
ZnRMaW5rLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25T
b2Z0TGluay5oCkBAIC0zNyw2ICszNyw3IEBAIFNPRlRfTElOS19GUkFNRVdPUktfRk9SX0hFQURF
UihQQUwsIEFWRm91bmRhdGlvbikKIC8vIGJlY2F1c2UgdGhleSBtYWtlIGl0IGRpZmZpY3VsdCB0
byB1c2UgdGhlIGNsYXNzIG5hbWUgaW4gc291cmNlIGNvZGUuCiAKIFNPRlRfTElOS19DTEFTU19G
T1JfSEVBREVSKFBBTCwgQVZBc3NldENhY2hlKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIo
UEFMLCBBVkFzc2V0Q29sbGVjdGlvbikKIFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwg
QVZBc3NldEltYWdlR2VuZXJhdG9yKQogU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBB
VkFzc2V0UmVhZGVyKQogU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBBVkFzc2V0UmVh
ZGVyU2FtcGxlUmVmZXJlbmNlT3V0cHV0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbSBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW0KaW5kZXggN2MwMDJkNDFiODZjNjcxYzY0
NzI3YjMzZGU5Y2E5MjAyNmUzYzFjYy4uMzIwMDg4MjA0NjE0N2U0NjBhNWQ1NGFhMGZkMjA3ODU0
NjQwYWY1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5k
YXRpb25Tb2Z0TGluay5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91
bmRhdGlvblNvZnRMaW5rLm1tCkBAIC02Myw2ICs2Myw3IEBAIHZvaWQqIEFWRm91bmRhdGlvbkxp
YnJhcnkoYm9vbCBpc09wdGlvbmFsKQogI2VuZGlmCiAKIFNPRlRfTElOS19DTEFTU19GT1JfU09V
UkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkFzc2V0Q2FjaGUsIFBBTF9FWFBP
UlQpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRh
dGlvbiwgQVZBc3NldENvbGxlY3Rpb24sIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfQ0xBU1NfRk9S
X1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZBc3NldEltYWdlR2VuZXJh
dG9yLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQo
UEFMLCBBVkZvdW5kYXRpb24sIEFWQXNzZXRSZWFkZXIsIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktf
Q0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZBc3NldFdy
aXRlciwgUEFMX0VYUE9SVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3Bp
L2NvY29hL0FWRm91bmRhdGlvblNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29j
b2EvQVZGb3VuZGF0aW9uU1BJLmgKaW5kZXggNDcyMDc2ZTMwNjkyZmJjZGE2ZmJhZDU5ODU2NzJi
YjE3MTBlNmE3ZC4uNjI3YThmMjgxYmVmZDU1N2IyY2YyNzZmMTFkZTVjNWU1Yzk2MjIyNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQVZGb3VuZGF0aW9uU1BJ
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQVZGb3VuZGF0aW9uU1BJ
LmgKQEAgLTM0LDYgKzM0LDcgQEAKICNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCiAjaW1w
b3J0IDxBVkZvdW5kYXRpb24vQVZBc3NldENhY2hlX1ByaXZhdGUuaD4KKyNpbXBvcnQgPEFWRm91
bmRhdGlvbi9BVkFzc2V0Q29sbGVjdGlvbl9Qcml2YXRlLmg+CiAjaW1wb3J0IDxBVkZvdW5kYXRp
b24vQVZPdXRwdXRDb250ZXh0X1ByaXZhdGUuaD4KICNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVk91
dHB1dERldmljZS5oPgogI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWUGxheWVyX1ByaXZhdGUuaD4K
QEAgLTU0LDYgKzU1LDcgQEAKIAogI2Vsc2UKIAorI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWQXNz
ZXRDb2xsZWN0aW9uLmg+CiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZQbGF5ZXIuaD4KICNpbXBv
cnQgPEFWRm91bmRhdGlvbi9BVlBsYXllckl0ZW0uaD4KIApAQCAtNjEsNiArNjMsMTAgQEAKICNp
bXBvcnQgPEFWRm91bmRhdGlvbi9BVlBsYXllckludGVyc3RpdGlhbEV2ZW50Q29udHJvbGxlci5o
PgogI2VuZGlmCiAKK0BpbnRlcmZhY2UgQVZBc3NldENvbGxlY3Rpb24gKEFWQXNzZXRDb2xsZWN0
aW9uRnJhZ21lbnRQYXJhbXMpCisrIChCT09MKWlzVVJMRm9yQXNzZXRJbkNvbGxlY3Rpb246KE5T
VVJMICopdXJsOworQGVuZAorCiBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgogQGludGVyZmFjZSBB
VlBsYXllckl0ZW0gKCkKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgTlNUaW1lSW50
ZXJ2YWwgc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSBOU19BVkFJTEFCTEUoMTBf
MTMsIDExXzApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KaW5kZXggNDM2MWQwNTdmMzNjYWQ3YmY5
YjYwN2RjN2E5ZDA1NTI1YjU1ZGZiNy4uMmY5YmU3OGJmNGQ0MTE2MDNmMGE3ZDI0NGYxY2M5NzFh
ZTRkMWU4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCkBAIC04MDksNiArODA5LDc1IEBAIHN0
YXRpYyBib29sIHdpbGxVc2VXZWJNRm9ybWF0UmVhZGVyRm9yVHlwZShjb25zdCBTdHJpbmcmIHR5
cGUpCiAjZW5kaWYKIH0KIAorc3RhdGljIGJvb2wgaGFzQnJva2VuRnJhZ21lbnRTdXBwb3J0KCkK
K3sKKyNpZiBQTEFURk9STShNQUMpCisgICAgLy8gT24gc29tZSB2ZXJzaW9ucyBvZiBtYWNPUywg
UGhvdG9zLmZyYW1ld29yayBoYXMgb3ZlcnJpZGVuIHV0aWxpdHkgbWV0aG9kcyBmcm9tIEFWRm91
bmRhdGlvbiB0aGF0IGNhdXNlCisgICAgLy8gYSBleGNlcHRpb24gdG8gYmUgdGhyb3duIHdoZW4g
cGFyc2luZyBmcmFnbWVudCBpZGVudGlmaWVycyBmcm9tIGEgVVJMLiBUaGVpciBpbXBsZW1lbnRh
dGlvbiByZXF1aXJlcworICAgIC8vIGFuIGV2ZW4gbnVtYmVyIG9mIGNvbXBvbmVudHMgd2hlbiBz
cGxpdHRpbmcgdGhlIGZyYWdtZW50IGlkZW50aWZpZXIgd2l0aCBzZXBhcmF0b3IgY2hhcmFjdGVy
cyBbJyYnLCc9J10uCisgICAgLy8gV29yayBhcm91bmQgdGhpcyBicm9rZW4gaW1wbGVtZW50YXRp
b24gYnkgcHJlLXBhcnNpbmcgdGhlIGZyYWdtZW50IGFuZCBlbnN1cmluZyB0aGF0IGl0IG1lZXRz
IHRoZWlyCisgICAgLy8gY3JpdGVyaWEuIFByb2JsZW1hdGljIHN0cmluZ3MgZnJvbSB0aGUgVEMw
MDUxLmh0bWwgdGVzdCBpbmNsdWRlICJ0PTMmIiwgYW5kIHRoaXMgcHJvYmxlbSBnZW5lcmFsbHkg
aXMKKyAgICAvLyB3aXRoIHN1YnRyaW5ncyBiZXR3ZWVuIHRoZSAnJicgY2hhcmFjdGVyIG5vdCBp
bmNsdWRpbmcgYW4gZXF1YWwgc2lnbi4KKyAgICBzdGF0aWMgYm9vbCBoYXNCcm9rZW5GcmFnbWVu
dFN1cHBvcnQgPSBmYWxzZTsKKyAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2VUb2tlbjsK
KyAgICBkaXNwYXRjaF9vbmNlKCZvbmNlVG9rZW4sIF57CisgICAgICAgIEB0cnkgeworICAgICAg
ICAgICAgW1BBTDo6Z2V0QVZBc3NldENvbGxlY3Rpb25DbGFzcygpIGlzVVJMRm9yQXNzZXRJbkNv
bGxlY3Rpb246W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJmaWxlOi8vL2ludmFsaWQtZmlsZS5tcDQj
dD0zJiJdXTsKKyAgICAgICAgfSBAY2F0Y2ggKE5TRXhjZXB0aW9uICpleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgIGhhc0Jyb2tlbkZyYWdtZW50U3VwcG9ydCA9IHRydWU7CisgICAgICAgIH0KKyAg
ICB9KTsKKyAgICByZXR1cm4gaGFzQnJva2VuRnJhZ21lbnRTdXBwb3J0OworI2Vsc2UKKyAgICBy
ZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKworc3RhdGljIFVSTCBjb25mb3JtRnJhZ21lbnRJZGVu
dGlmaWVyRm9yVVJMKGNvbnN0IFVSTCYgdXJsKQoreworI2lmIFBMQVRGT1JNKE1BQykKKyAgICBB
U1NFUlQoaGFzQnJva2VuRnJhZ21lbnRTdXBwb3J0KCkpOworCisgICAgYXV0byBoYXNJbnZhbGlk
TnVtYmVyT2ZFcXVhbENoYXJhY3RlcnMgPSBbXShTdHJpbmdWaWV3JiBmcmFnbWVudFBhcmFtZXRl
cikgeworICAgICAgICBzaXplX3QgY291bnQgPSAwOworICAgICAgICBhdXRvIHJlc3VsdHMgPSBm
cmFnbWVudFBhcmFtZXRlci5zcGxpdEFsbG93aW5nRW1wdHlFbnRyaWVzKCc9Jyk7CisgICAgICAg
IGZvciAoYXV0byBpdGVyYXRvciA9IHJlc3VsdHMuYmVnaW4oKTsgaXRlcmF0b3IgIT0gcmVzdWx0
cy5lbmQoKTsgKytpdGVyYXRvcikKKyAgICAgICAgICAgICsrY291bnQ7CisgICAgICAgIHJldHVy
biBjb3VudCAhPSAyOworICAgIH07CisKKyAgICBTdHJpbmdCdWlsZGVyIHJlcGxhY2VtZW50RnJh
Z21lbnRJZGVudGlmaWVyQnVpbGRlcjsKKyAgICBib29sIGZpcnN0UGFyYW1ldGVyID0gdHJ1ZTsK
KyAgICBib29sIGhhc0ludmFsaWRGcmFnbWVudElkZW50aWZpZXIgPSBmYWxzZTsKKworICAgIGZv
ciAoYXV0byBmcmFnbWVudFBhcmFtZXRlciA6IHVybC5mcmFnbWVudElkZW50aWZpZXIoKS5zcGxp
dEFsbG93aW5nRW1wdHlFbnRyaWVzKCcmJykpIHsKKyAgICAgICAgaWYgKGhhc0ludmFsaWROdW1i
ZXJPZkVxdWFsQ2hhcmFjdGVycyhmcmFnbWVudFBhcmFtZXRlcikpIHsKKyAgICAgICAgICAgIGhh
c0ludmFsaWRGcmFnbWVudElkZW50aWZpZXIgPSB0cnVlOworICAgICAgICAgICAgY29udGludWU7
CisgICAgICAgIH0KKyAgICAgICAgaWYgKCFmaXJzdFBhcmFtZXRlcikKKyAgICAgICAgICAgIHJl
cGxhY2VtZW50RnJhZ21lbnRJZGVudGlmaWVyQnVpbGRlci5hcHBlbmQoJyYnKTsKKyAgICAgICAg
ZWxzZQorICAgICAgICAgICAgZmlyc3RQYXJhbWV0ZXIgPSBmYWxzZTsKKyAgICAgICAgcmVwbGFj
ZW1lbnRGcmFnbWVudElkZW50aWZpZXJCdWlsZGVyLmFwcGVuZChmcmFnbWVudFBhcmFtZXRlcik7
CisgICAgfQorCisgICAgaWYgKCFoYXNJbnZhbGlkRnJhZ21lbnRJZGVudGlmaWVyKQorICAgICAg
ICByZXR1cm4gdXJsOworCisgICAgVVJMIHZhbGlkVVJMID0gdXJsOworICAgIGlmIChyZXBsYWNl
bWVudEZyYWdtZW50SWRlbnRpZmllckJ1aWxkZXIuaXNFbXB0eSgpKQorICAgICAgICB2YWxpZFVS
TC5yZW1vdmVGcmFnbWVudElkZW50aWZpZXIoKTsKKyAgICBlbHNlCisgICAgICAgIHZhbGlkVVJM
LnNldEZyYWdtZW50SWRlbnRpZmllcihyZXBsYWNlbWVudEZyYWdtZW50SWRlbnRpZmllckJ1aWxk
ZXIudG9TdHJpbmcoKSk7CisKKyAgICByZXR1cm4gdmFsaWRVUkw7CisjZWxzZQorICAgIFVOVVNF
RF9QQVJBTSh1cmwpOworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworI2VuZGlmCit9CisKIHZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlQVZBc3NldEZvclVS
TChjb25zdCBVUkwmIHVybCwgUmV0YWluUHRyPE5TTXV0YWJsZURpY3Rpb25hcnk+IG9wdGlvbnMp
CiB7CiAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsKQEAgLTkwMCw3ICs5NjksMTIgQEAg
dm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpjcmVhdGVBVkFzc2V0Rm9y
VVJMKGNvbnN0IFVSTCYgdXJsLCBSZXQKICAgICBpZiAod2lsbFVzZVdlYk1Gb3JtYXRSZWFkZXIp
CiAgICAgICAgIHJlZ2lzdGVyRm9ybWF0UmVhZGVySWZOZWNlc3NhcnkoKTsKIAotICAgIE5TVVJM
ICpjb2NvYVVSTCA9IGNhbm9uaWNhbFVSTCh1cmwpOworICAgIE5TVVJMICpjb2NvYVVSTCA9IG5p
bDsKKyAgICBpZiAoaGFzQnJva2VuRnJhZ21lbnRTdXBwb3J0KCkgJiYgdXJsLmhhc0ZyYWdtZW50
SWRlbnRpZmllcigpKQorICAgICAgICBjb2NvYVVSTCA9IGNhbm9uaWNhbFVSTChjb25mb3JtRnJh
Z21lbnRJZGVudGlmaWVyRm9yVVJMKHVybCkpOworICAgIGVsc2UKKyAgICAgICAgY29jb2FVUkwg
PSBjYW5vbmljYWxVUkwodXJsKTsKKwogICAgIG1fYXZBc3NldCA9IGFkb3B0TlMoW1BBTDo6YWxs
b2NBVlVSTEFzc2V0SW5zdGFuY2UoKSBpbml0V2l0aFVSTDpjb2NvYVVSTCBvcHRpb25zOm9wdGlv
bnMuZ2V0KCldKTsKIAogICAgIEFWQXNzZXRSZXNvdXJjZUxvYWRlciAqcmVzb3VyY2VMb2FkZXIg
PSBtX2F2QXNzZXQuZ2V0KCkucmVzb3VyY2VMb2FkZXI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNmM5NTVkMmMzZDM0MDdi
ZmNhZDgwN2YyM2ZmOTQ1ZmM1MjE2MTZlMy4uNTkzYmVkNjNmN2IzZTU2NGYwMmJiNTYwMTM4NzI1
YmUxYTg5NTkxYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIxLTAzLTE2ICBKZXIgTm9ibGUg
IDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIE1hbnkgbWVkaWEvbWVkaWEtZnJhZ21l
bnRzLyB0ZXN0cyBhcmUgY3Jhc2hpbmcgZHVlIHRvIG90aGVyIHRlc3RzIHRoYXQgcnVuIGJlZm9y
ZSB0aGVtLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjIzMjc3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NTQ5MjM2MD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhw
ZWN0YXRpb25zOgorCiAyMDIxLTAzLTE2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBw
bGUuY29tPgogCiAgICAgICAgIFtCaWdTdXIgYXJtNjRdIGNvbXBvc2l0aW5nL3otb3JkZXIvcmVi
dWlsZC1zaWJsaW5nLW9mLWxheWVyLXdpdGgtZm9yZWdyb3VuZC1sYXllci5odG1sIGlzIGEgZmxh
a2V5IGltYWdlIGZhaWx1cmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggNDU0YTA3NzIxMGQwNTUwNDJjNTI4NTk4YmE1YmRjODc2MzdiNzFmMi4uMmI5NmEy
ZWUyMzhiMGQyZjc2NmJjYmNhZTkyYWFlYmNiMjk0OWFiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE2LDcgKzE2LDYgQEAgZmFzdC9kb20vUmFuZ2Uv
bWFjIFsgUGFzcyBdCiBmYXN0L3Njcm9sbGluZy9sYXRjaGluZyBbIFBhc3MgXQogbWVkaWEvbWFj
IFsgUGFzcyBdCiBtb2RlbC1lbGVtZW50IFsgUGFzcyBdCi13ZWJraXQub3JnL2IvMjIzMjc3IG1l
ZGlhL21lZGlhLWZyYWdtZW50cyBbIFBhc3MgRmFpbHVyZSBdCiAKIGZhc3QvZm9ybXMvc2VhcmNo
L3NlYXJjaC1wYWRkaW5nLWNhbmNlbC1yZXN1bHRzLWJ1dHRvbnMuaHRtbCBbIFBhc3MgXQogZmFz
dC9mb3Jtcy9zZWFyY2gvc2VhcmNoLXJlc3VsdHMtaGlkZGVuLWNyYXNoLmh0bWwgWyBQYXNzIF0K
</data>
<flag name="review"
          id="442772"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
    <flag name="commit-queue"
          id="442777"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423634</attachid>
            <date>2021-03-18 12:28:23 -0700</date>
            <delta_ts>2021-03-18 13:50:50 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-223277-20210318122822.patch</filename>
            <type>text/plain</type>
            <size>9641</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NjQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmZjNjUyMmY0ZDZmZmYy
YzQ4YWYyYTI4MGM1ZTVkMWU4ZDhiNjVkZS4uMjIwZmU5YjYzMWUxMDRjMGVlYmJjNGE4ZTkxZGEw
NTljYWQzY2U3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTAzLTE2ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIE1hbnkgbWVkaWEvbWVkaWEt
ZnJhZ21lbnRzLyB0ZXN0cyBhcmUgY3Jhc2hpbmcgZHVlIHRvIG90aGVyIHRlc3RzIHRoYXQgcnVu
IGJlZm9yZSB0aGVtLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjIzMjc3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NTQ5MjM2MD4KKworICAgICAg
ICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAgV29yayBhcm91bmQgdGhlIGNy
YXNoaW5nIGZ1bmN0aW9uIGJ5IHByZS1jb25mb3JtaW5nIHRoZSBmcmFnbWVudCBpZGVudGlmaWVy
IGFjY29yZGluZworICAgICAgICB0byB0aGUgZm9ybWF0IHJlcXVpcmVkIGJ5IHRoZSBjcmFzaGlu
ZyBmdW5jdGlvbi4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW06CisgICAgICAgIChXZWJD
b3JlOjpoYXNCcm9rZW5GcmFnbWVudFN1cHBvcnQpOgorICAgICAgICAoV2ViQ29yZTo6Y29uZm9y
bUZyYWdtZW50SWRlbnRpZmllckZvclVSTCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpjcmVhdGVBVkFzc2V0Rm9yVVJMKToKKwogMjAyMS0w
My0xOCAgVHJ1aXR0IFNhdmVsbCAgPHRzYXZlbGxAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHJldmVydGluZyByMjc0NjQ0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFM
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggMDE5Yjg1YTRj
N2UxMTRlMzQyOTBlYTEyZmJlMzZlNzc3MzI1NGY2Ny4uOWQ1OWUxNzEzNTZjNTBjMDgzNDJiNWJl
OGY1NmIyMmRmZDgxZWYwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MjEtMDMtMTYgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgTWFu
eSBtZWRpYS9tZWRpYS1mcmFnbWVudHMvIHRlc3RzIGFyZSBjcmFzaGluZyBkdWUgdG8gb3RoZXIg
dGVzdHMgdGhhdCBydW4gYmVmb3JlIHRoZW0uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjMyNzcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1NDky
MzYwPgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICAqIHBh
bC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oOgorICAgICAgICAqIHBhbC9jb2NvYS9BVkZv
dW5kYXRpb25Tb2Z0TGluay5tbToKKyAgICAgICAgKiBwYWwvc3BpL2NvY29hL0FWRm91bmRhdGlv
blNQSS5oOgorCiAyMDIxLTAzLTE3ICBBZGl0eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxlLmNv
bT4KIAogICAgICAgICBbaU9TXVtGQ1JdIFVzZSBzeXN0ZW0gY29sb3JzIGZvciB0aGUgbmV3IGFw
cGVhcmFuY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3Vu
ZGF0aW9uU29mdExpbmsuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0
aW9uU29mdExpbmsuaAppbmRleCBkMjRjMjRkYWZhYjExMmYzNDk3OTFmNmFkYmY2NGEzM2FjZDYz
NWU0Li4zNjVkZmNhYjA5M2I0ZTNlOGY5NzFmZTIwNmI1NzhkMWUyMDNmZWYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oCkBA
IC0zNyw2ICszNyw3IEBAIFNPRlRfTElOS19GUkFNRVdPUktfRk9SX0hFQURFUihQQUwsIEFWRm91
bmRhdGlvbikKIC8vIGJlY2F1c2UgdGhleSBtYWtlIGl0IGRpZmZpY3VsdCB0byB1c2UgdGhlIGNs
YXNzIG5hbWUgaW4gc291cmNlIGNvZGUuCiAKIFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBB
TCwgQVZBc3NldENhY2hlKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBBVkFzc2V0
Q29sbGVjdGlvbikKIFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgQVZBc3NldEltYWdl
R2VuZXJhdG9yKQogU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBBVkFzc2V0UmVhZGVy
KQogU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBBVkFzc2V0UmVhZGVyU2FtcGxlUmVm
ZXJlbmNlT3V0cHV0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9B
VkZvdW5kYXRpb25Tb2Z0TGluay5tbSBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZG
b3VuZGF0aW9uU29mdExpbmsubW0KaW5kZXggN2MwMDJkNDFiODZjNjcxYzY0NzI3YjMzZGU5Y2E5
MjAyNmUzYzFjYy4uMzIwMDg4MjA0NjE0N2U0NjBhNWQ1NGFhMGZkMjA3ODU0NjQwYWY1MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGlu
ay5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRM
aW5rLm1tCkBAIC02Myw2ICs2Myw3IEBAIHZvaWQqIEFWRm91bmRhdGlvbkxpYnJhcnkoYm9vbCBp
c09wdGlvbmFsKQogI2VuZGlmCiAKIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQ
T1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkFzc2V0Q2FjaGUsIFBBTF9FWFBPUlQpCitTT0ZUX0xJ
TktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZBc3Nl
dENvbGxlY3Rpb24sIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZBc3NldEltYWdlR2VuZXJhdG9yLCBQQUxfRVhQ
T1JUKQogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5k
YXRpb24sIEFWQXNzZXRSZWFkZXIsIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NP
VVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZBc3NldFdyaXRlciwgUEFMX0VY
UE9SVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0FWRm91
bmRhdGlvblNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQVZGb3VuZGF0
aW9uU1BJLmgKaW5kZXggNDcyMDc2ZTMwNjkyZmJjZGE2ZmJhZDU5ODU2NzJiYjE3MTBlNmE3ZC4u
NmM1ZTA1ZGZkODZiN2ZlYWVmYzlkZjM5YjgxN2Q4YmIxMDI1ZTM3ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQVZGb3VuZGF0aW9uU1BJLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQVZGb3VuZGF0aW9uU1BJLmgKQEAgLTUyLDYg
KzUyLDEwIEBACiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZBdWRpb1Nlc3Npb25fUHJpdmF0ZS5o
PgogI2VuZGlmCiAKKyNpZiBQTEFURk9STShNQUMpCisjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZB
c3NldENvbGxlY3Rpb25fUHJpdmF0ZS5oPgorI2VuZGlmCisKICNlbHNlCiAKICNpbXBvcnQgPEFW
Rm91bmRhdGlvbi9BVlBsYXllci5oPgpAQCAtNjEsNiArNjUsMTQgQEAKICNpbXBvcnQgPEFWRm91
bmRhdGlvbi9BVlBsYXllckludGVyc3RpdGlhbEV2ZW50Q29udHJvbGxlci5oPgogI2VuZGlmCiAK
KyNpZiBQTEFURk9STShNQUMpCisjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZBc3NldENvbGxlY3Rp
b24uaD4KKworQGludGVyZmFjZSBBVkFzc2V0Q29sbGVjdGlvbiAoQVZBc3NldENvbGxlY3Rpb25G
cmFnbWVudFBhcmFtcykKKysgKEJPT0wpaXNVUkxGb3JBc3NldEluQ29sbGVjdGlvbjooTlNVUkwg
Kil1cmw7CitAZW5kCisjZW5kaWYKKwogTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KIEBpbnRlcmZh
Y2UgQVZQbGF5ZXJJdGVtICgpCiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIE5TVGlt
ZUludGVydmFsIHNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUgTlNfQVZBSUxBQkxF
KDEwXzEzLCAxMV8wKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9N
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCmluZGV4IDlkNzBiYWM0ZTZhYjJh
Y2NjMGRkNTZlODA1ZjBiZmM4NjgyNDUzZDIuLjdlY2FjZDg4ZWE5NzQ3ZmVmODZlODRkYzk3NDlj
ZGI3NWQyNzRhNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQpAQCAtODA5LDYgKzgwOSw3MyBA
QCBzdGF0aWMgYm9vbCB3aWxsVXNlV2ViTUZvcm1hdFJlYWRlckZvclR5cGUoY29uc3QgU3RyaW5n
JiB0eXBlKQogI2VuZGlmCiB9CiAKK3N0YXRpYyBib29sIGhhc0Jyb2tlbkZyYWdtZW50U3VwcG9y
dCgpCit7CisjaWYgUExBVEZPUk0oTUFDKQorICAgIC8vIE9uIHNvbWUgdmVyc2lvbnMgb2YgbWFj
T1MsIFBob3Rvcy5mcmFtZXdvcmsgaGFzIG92ZXJyaWRlbiB1dGlsaXR5IG1ldGhvZHMgZnJvbSBB
VkZvdW5kYXRpb24gdGhhdCBjYXVzZQorICAgIC8vIGEgZXhjZXB0aW9uIHRvIGJlIHRocm93biB3
aGVuIHBhcnNpbmcgZnJhZ21lbnQgaWRlbnRpZmllcnMgZnJvbSBhIFVSTC4gVGhlaXIgaW1wbGVt
ZW50YXRpb24gcmVxdWlyZXMKKyAgICAvLyBhbiBldmVuIG51bWJlciBvZiBjb21wb25lbnRzIHdo
ZW4gc3BsaXR0aW5nIHRoZSBmcmFnbWVudCBpZGVudGlmaWVyIHdpdGggc2VwYXJhdG9yIGNoYXJh
Y3RlcnMgWycmJywnPSddLgorICAgIC8vIFdvcmsgYXJvdW5kIHRoaXMgYnJva2VuIGltcGxlbWVu
dGF0aW9uIGJ5IHByZS1wYXJzaW5nIHRoZSBmcmFnbWVudCBhbmQgZW5zdXJpbmcgdGhhdCBpdCBt
ZWV0cyB0aGVpcgorICAgIC8vIGNyaXRlcmlhLiBQcm9ibGVtYXRpYyBzdHJpbmdzIGZyb20gdGhl
IFRDMDA1MS5odG1sIHRlc3QgaW5jbHVkZSAidD0zJiIsIGFuZCB0aGlzIHByb2JsZW0gZ2VuZXJh
bGx5IGlzCisgICAgLy8gd2l0aCBzdWJ0cmluZ3MgYmV0d2VlbiB0aGUgJyYnIGNoYXJhY3RlciBu
b3QgaW5jbHVkaW5nIGFuIGVxdWFsIHNpZ24uCisgICAgc3RhdGljIGJvb2wgaGFzQnJva2VuRnJh
Z21lbnRTdXBwb3J0ID0gZmFsc2U7CisgICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNlVG9r
ZW47CisgICAgZGlzcGF0Y2hfb25jZSgmb25jZVRva2VuLCBeeworICAgICAgICBAdHJ5IHsKKyAg
ICAgICAgICAgIFtQQUw6OmdldEFWQXNzZXRDb2xsZWN0aW9uQ2xhc3MoKSBpc1VSTEZvckFzc2V0
SW5Db2xsZWN0aW9uOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiZmlsZTovLy9pbnZhbGlkLWZpbGUu
bXA0I3Q9MyYiXV07CisgICAgICAgIH0gQGNhdGNoIChOU0V4Y2VwdGlvbiAqZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICBoYXNCcm9rZW5GcmFnbWVudFN1cHBvcnQgPSB0cnVlOworICAgICAgICB9
CisgICAgfSk7CisgICAgcmV0dXJuIGhhc0Jyb2tlbkZyYWdtZW50U3VwcG9ydDsKKyNlbHNlCisg
ICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKK3N0YXRpYyBVUkwgY29uZm9ybUZyYWdtZW50
SWRlbnRpZmllckZvclVSTChjb25zdCBVUkwmIHVybCkKK3sKKyNpZiBQTEFURk9STShNQUMpCisg
ICAgQVNTRVJUKGhhc0Jyb2tlbkZyYWdtZW50U3VwcG9ydCgpKTsKKworICAgIGF1dG8gaGFzSW52
YWxpZE51bWJlck9mRXF1YWxDaGFyYWN0ZXJzID0gW10oY29uc3QgU3RyaW5nVmlldyYgZnJhZ21l
bnRQYXJhbWV0ZXIpIHsKKyAgICAgICAgYXV0byByZXN1bHRzID0gZnJhZ21lbnRQYXJhbWV0ZXIu
c3BsaXRBbGxvd2luZ0VtcHR5RW50cmllcygnPScpOworICAgICAgICBhdXRvIGl0ZXJhdG9yID0g
cmVzdWx0cy5iZWdpbigpOworICAgICAgICByZXR1cm4gaXRlcmF0b3IgPT0gcmVzdWx0cy5lbmQo
KSB8fCArK2l0ZXJhdG9yID09IHJlc3VsdHMuZW5kKCkgfHwgKytpdGVyYXRvciAhPSByZXN1bHRz
LmVuZCgpOworICAgIH07CisKKyAgICBTdHJpbmdCdWlsZGVyIHJlcGxhY2VtZW50RnJhZ21lbnRJ
ZGVudGlmaWVyQnVpbGRlcjsKKyAgICBib29sIGZpcnN0UGFyYW1ldGVyID0gdHJ1ZTsKKyAgICBi
b29sIGhhc0ludmFsaWRGcmFnbWVudElkZW50aWZpZXIgPSBmYWxzZTsKKworICAgIGZvciAoYXV0
byBmcmFnbWVudFBhcmFtZXRlciA6IHVybC5mcmFnbWVudElkZW50aWZpZXIoKS5zcGxpdEFsbG93
aW5nRW1wdHlFbnRyaWVzKCcmJykpIHsKKyAgICAgICAgaWYgKGhhc0ludmFsaWROdW1iZXJPZkVx
dWFsQ2hhcmFjdGVycyhmcmFnbWVudFBhcmFtZXRlcikpIHsKKyAgICAgICAgICAgIGhhc0ludmFs
aWRGcmFnbWVudElkZW50aWZpZXIgPSB0cnVlOworICAgICAgICAgICAgY29udGludWU7CisgICAg
ICAgIH0KKyAgICAgICAgaWYgKCFmaXJzdFBhcmFtZXRlcikKKyAgICAgICAgICAgIHJlcGxhY2Vt
ZW50RnJhZ21lbnRJZGVudGlmaWVyQnVpbGRlci5hcHBlbmQoJyYnKTsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgZmlyc3RQYXJhbWV0ZXIgPSBmYWxzZTsKKyAgICAgICAgcmVwbGFjZW1lbnRG
cmFnbWVudElkZW50aWZpZXJCdWlsZGVyLmFwcGVuZChmcmFnbWVudFBhcmFtZXRlcik7CisgICAg
fQorCisgICAgaWYgKCFoYXNJbnZhbGlkRnJhZ21lbnRJZGVudGlmaWVyKQorICAgICAgICByZXR1
cm4gdXJsOworCisgICAgVVJMIHZhbGlkVVJMID0gdXJsOworICAgIGlmIChyZXBsYWNlbWVudEZy
YWdtZW50SWRlbnRpZmllckJ1aWxkZXIuaXNFbXB0eSgpKQorICAgICAgICB2YWxpZFVSTC5yZW1v
dmVGcmFnbWVudElkZW50aWZpZXIoKTsKKyAgICBlbHNlCisgICAgICAgIHZhbGlkVVJMLnNldEZy
YWdtZW50SWRlbnRpZmllcihyZXBsYWNlbWVudEZyYWdtZW50SWRlbnRpZmllckJ1aWxkZXIudG9T
dHJpbmcoKSk7CisKKyAgICByZXR1cm4gdmFsaWRVUkw7CisjZWxzZQorICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgIHJldHVybiB1cmw7CisjZW5kaWYKK30KKwogdm9pZCBNZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpjcmVhdGVBVkFzc2V0Rm9yVVJMKGNvbnN0IFVSTCYg
dXJsLCBSZXRhaW5QdHI8TlNNdXRhYmxlRGljdGlvbmFyeT4gb3B0aW9ucykKIHsKICAgICBBTFdB
WVNfTE9HKExPR0lERU5USUZJRVIpOwpAQCAtOTAwLDcgKzk2NywxMiBAQCB2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZUFWQXNzZXRGb3JVUkwoY29uc3QgVVJM
JiB1cmwsIFJldAogICAgIGlmICh3aWxsVXNlV2ViTUZvcm1hdFJlYWRlcikKICAgICAgICAgcmVn
aXN0ZXJGb3JtYXRSZWFkZXJJZk5lY2Vzc2FyeSgpOwogCi0gICAgTlNVUkwgKmNvY29hVVJMID0g
Y2Fub25pY2FsVVJMKHVybCk7CisgICAgTlNVUkwgKmNvY29hVVJMID0gbmlsOworICAgIGlmICho
YXNCcm9rZW5GcmFnbWVudFN1cHBvcnQoKSAmJiB1cmwuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkp
CisgICAgICAgIGNvY29hVVJMID0gY2Fub25pY2FsVVJMKGNvbmZvcm1GcmFnbWVudElkZW50aWZp
ZXJGb3JVUkwodXJsKSk7CisgICAgZWxzZQorICAgICAgICBjb2NvYVVSTCA9IGNhbm9uaWNhbFVS
TCh1cmwpOworCiAgICAgbV9hdkFzc2V0ID0gYWRvcHROUyhbUEFMOjphbGxvY0FWVVJMQXNzZXRJ
bnN0YW5jZSgpIGluaXRXaXRoVVJMOmNvY29hVVJMIG9wdGlvbnM6b3B0aW9ucy5nZXQoKV0pOwog
CiAgICAgQVZBc3NldFJlc291cmNlTG9hZGVyICpyZXNvdXJjZUxvYWRlciA9IG1fYXZBc3NldC5n
ZXQoKS5yZXNvdXJjZUxvYWRlcjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyNzFmYjJkOTFkYTljYjA5MDgzYmFkYTJiZDZi
ZTY1OGQzNjY5OGVmLi45N2MwYjVmMTA3NTliYWIyM2M4ZTBkMjgzMTk1ZDA3YzBiNTc4NTUyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDMtMTYgIEplciBOb2JsZSAgPGplci5ub2JsZUBh
cHBsZS5jb20+CisKKyAgICAgICAgTWFueSBtZWRpYS9tZWRpYS1mcmFnbWVudHMvIHRlc3RzIGFy
ZSBjcmFzaGluZyBkdWUgdG8gb3RoZXIgdGVzdHMgdGhhdCBydW4gYmVmb3JlIHRoZW0uCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjMyNzcKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzc1NDkyMzYwPgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMg
Q2FybHNvbi4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorCiAy
MDIxLTAzLTE3ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtH
UFVQXSBwbGF0Zm9ybS9tYWMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2Zwcy1jbGVhcmtleS1jcmFz
aC5odG1sIGlzIGEgZmxha3kgdGltZW91dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCBmN2RhMTA5ZGUyYmI3ODc5YzQyZTQ3ZjJhNTczMTQ2MjA5M2RjYTQz
Li45NTA4OGVlMzg1MThhYTIzOTcyMGRjMmYyYmQ2YmMxZTg4NTAwYTA2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTYsNyArMTYsNiBAQCBmYXN0L2Rv
bS9SYW5nZS9tYWMgWyBQYXNzIF0KIGZhc3Qvc2Nyb2xsaW5nL2xhdGNoaW5nIFsgUGFzcyBdCiBt
ZWRpYS9tYWMgWyBQYXNzIF0KIG1vZGVsLWVsZW1lbnQgWyBQYXNzIF0KLXdlYmtpdC5vcmcvYi8y
MjMyNzcgbWVkaWEvbWVkaWEtZnJhZ21lbnRzIFsgUGFzcyBGYWlsdXJlIF0KIAogZmFzdC9mb3Jt
cy9zZWFyY2gvc2VhcmNoLXBhZGRpbmctY2FuY2VsLXJlc3VsdHMtYnV0dG9ucy5odG1sIFsgUGFz
cyBdCiBmYXN0L2Zvcm1zL3NlYXJjaC9zZWFyY2gtcmVzdWx0cy1oaWRkZW4tY3Jhc2guaHRtbCBb
IFBhc3MgXQo=
</data>
<flag name="commit-queue"
          id="443070"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423645</attachid>
            <date>2021-03-18 13:50:52 -0700</date>
            <delta_ts>2021-03-19 12:55:07 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-223277-20210318135052.patch</filename>
            <type>text/plain</type>
            <size>9116</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NjQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmZjNjUyMmY0ZDZmZmYy
YzQ4YWYyYTI4MGM1ZTVkMWU4ZDhiNjVkZS4uMjIwZmU5YjYzMWUxMDRjMGVlYmJjNGE4ZTkxZGEw
NTljYWQzY2U3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTAzLTE2ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIE1hbnkgbWVkaWEvbWVkaWEt
ZnJhZ21lbnRzLyB0ZXN0cyBhcmUgY3Jhc2hpbmcgZHVlIHRvIG90aGVyIHRlc3RzIHRoYXQgcnVu
IGJlZm9yZSB0aGVtLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjIzMjc3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NTQ5MjM2MD4KKworICAgICAg
ICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAgV29yayBhcm91bmQgdGhlIGNy
YXNoaW5nIGZ1bmN0aW9uIGJ5IHByZS1jb25mb3JtaW5nIHRoZSBmcmFnbWVudCBpZGVudGlmaWVy
IGFjY29yZGluZworICAgICAgICB0byB0aGUgZm9ybWF0IHJlcXVpcmVkIGJ5IHRoZSBjcmFzaGlu
ZyBmdW5jdGlvbi4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW06CisgICAgICAgIChXZWJD
b3JlOjpoYXNCcm9rZW5GcmFnbWVudFN1cHBvcnQpOgorICAgICAgICAoV2ViQ29yZTo6Y29uZm9y
bUZyYWdtZW50SWRlbnRpZmllckZvclVSTCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpjcmVhdGVBVkFzc2V0Rm9yVVJMKToKKwogMjAyMS0w
My0xOCAgVHJ1aXR0IFNhdmVsbCAgPHRzYXZlbGxAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHJldmVydGluZyByMjc0NjQ0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFM
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggMDE5Yjg1YTRj
N2UxMTRlMzQyOTBlYTEyZmJlMzZlNzc3MzI1NGY2Ny4uZWJmNWRjYzYxYjgxNTU0OTQ4ZGFmNzVm
N2M2MDliNjFkODhkNmUxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIw
MjEtMDMtMTYgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgTWFu
eSBtZWRpYS9tZWRpYS1mcmFnbWVudHMvIHRlc3RzIGFyZSBjcmFzaGluZyBkdWUgdG8gb3RoZXIg
dGVzdHMgdGhhdCBydW4gYmVmb3JlIHRoZW0uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjMyNzcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1NDky
MzYwPgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICAqIHBh
bC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oOgorICAgICAgICAqIHBhbC9jb2NvYS9BVkZv
dW5kYXRpb25Tb2Z0TGluay5tbToKKwogMjAyMS0wMy0xNyAgQWRpdHlhIEtlZXJ0aGkgIDxha2Vl
cnRoaUBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU11bRkNSXSBVc2Ugc3lzdGVtIGNvbG9ycyBm
b3IgdGhlIG5ldyBhcHBlYXJhbmNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2Nv
Y29hL0FWRm91bmRhdGlvblNvZnRMaW5rLmgKaW5kZXggZDI0YzI0ZGFmYWIxMTJmMzQ5NzkxZjZh
ZGJmNjRhMzNhY2Q2MzVlNC4uMzY1ZGZjYWIwOTNiNGUzZThmOTcxZmUyMDZiNTc4ZDFlMjAzZmVm
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25T
b2Z0TGluay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9u
U29mdExpbmsuaApAQCAtMzcsNiArMzcsNyBAQCBTT0ZUX0xJTktfRlJBTUVXT1JLX0ZPUl9IRUFE
RVIoUEFMLCBBVkZvdW5kYXRpb24pCiAvLyBiZWNhdXNlIHRoZXkgbWFrZSBpdCBkaWZmaWN1bHQg
dG8gdXNlIHRoZSBjbGFzcyBuYW1lIGluIHNvdXJjZSBjb2RlLgogCiBTT0ZUX0xJTktfQ0xBU1Nf
Rk9SX0hFQURFUihQQUwsIEFWQXNzZXRDYWNoZSkKK1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVS
KFBBTCwgQVZBc3NldENvbGxlY3Rpb24pCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUws
IEFWQXNzZXRJbWFnZUdlbmVyYXRvcikKIFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwg
QVZBc3NldFJlYWRlcikKIFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgQVZBc3NldFJl
YWRlclNhbXBsZVJlZmVyZW5jZU91dHB1dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW0gYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLm1tCmluZGV4IDdjMDAyZDQxYjg2YzY3MWM2
NDcyN2IzM2RlOWNhOTIwMjZlM2MxY2MuLmRhYTMzZjg3NjJkZTgyODY2YTJlYTdjMDRhZjA4ZTIx
OTgwYzZmYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3Vu
ZGF0aW9uU29mdExpbmsubW0KKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZv
dW5kYXRpb25Tb2Z0TGluay5tbQpAQCAtODEsNiArODEsNyBAQCBTT0ZUX0xJTktfQ0xBU1NfRk9S
X1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZQbGF5ZXJJdGVtTWV0YWRh
dGFPdQogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5k
YXRpb24sIEFWUGxheWVySXRlbVZpZGVvT3V0cHV0LCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0NM
QVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWUGxheWVyTGF5
ZXIsIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQ
QUwsIEFWRm91bmRhdGlvbiwgQVZVUkxBc3NldCwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19DTEFT
U19GT1JfU09VUkNFX09QVElPTkFMX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkFz
c2V0Q29sbGVjdGlvbiwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX09Q
VElPTkFMX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkFzc2V0UmVhZGVyU2FtcGxl
UmVmZXJlbmNlT3V0cHV0LCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0Vf
T1BUSU9OQUxfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWQXNzZXRSZXNvdXJjZUxv
YWRpbmdSZXF1ZXN0LCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfT1BU
SU9OQUxfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWQ29udGVudEtleVJlcG9ydEdy
b3VwLCBQQUxfRVhQT1JUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KaW5kZXggOWQ3MGJhYzRlNmFi
MmFjY2MwZGQ1NmU4MDVmMGJmYzg2ODI0NTNkMi4uZjViOTQ3MDg1NTcwNzg5ZTNlNTc3ZjFkMjY2
NTI3NjMwYzg4ZGI3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCkBAIC04MDksNiArODA5LDc3
IEBAIHN0YXRpYyBib29sIHdpbGxVc2VXZWJNRm9ybWF0UmVhZGVyRm9yVHlwZShjb25zdCBTdHJp
bmcmIHR5cGUpCiAjZW5kaWYKIH0KIAorc3RhdGljIGJvb2wgaGFzQnJva2VuRnJhZ21lbnRTdXBw
b3J0KCkKK3sKKyNpZiBQTEFURk9STShNQUMpCisgICAgLy8gT24gc29tZSB2ZXJzaW9ucyBvZiBt
YWNPUywgUGhvdG9zLmZyYW1ld29yayBoYXMgb3ZlcnJpZGVuIHV0aWxpdHkgbWV0aG9kcyBmcm9t
IEFWRm91bmRhdGlvbiB0aGF0IGNhdXNlCisgICAgLy8gYSBleGNlcHRpb24gdG8gYmUgdGhyb3du
IHdoZW4gcGFyc2luZyBmcmFnbWVudCBpZGVudGlmaWVycyBmcm9tIGEgVVJMLiBUaGVpciBpbXBs
ZW1lbnRhdGlvbiByZXF1aXJlcworICAgIC8vIGFuIGV2ZW4gbnVtYmVyIG9mIGNvbXBvbmVudHMg
d2hlbiBzcGxpdHRpbmcgdGhlIGZyYWdtZW50IGlkZW50aWZpZXIgd2l0aCBzZXBhcmF0b3IgY2hh
cmFjdGVycyBbJyYnLCc9J10uCisgICAgLy8gV29yayBhcm91bmQgdGhpcyBicm9rZW4gaW1wbGVt
ZW50YXRpb24gYnkgcHJlLXBhcnNpbmcgdGhlIGZyYWdtZW50IGFuZCBlbnN1cmluZyB0aGF0IGl0
IG1lZXRzIHRoZWlyCisgICAgLy8gY3JpdGVyaWEuIFByb2JsZW1hdGljIHN0cmluZ3MgZnJvbSB0
aGUgVEMwMDUxLmh0bWwgdGVzdCBpbmNsdWRlICJ0PTMmIiwgYW5kIHRoaXMgcHJvYmxlbSBnZW5l
cmFsbHkgaXMKKyAgICAvLyB3aXRoIHN1YnRyaW5ncyBiZXR3ZWVuIHRoZSAnJicgY2hhcmFjdGVy
IG5vdCBpbmNsdWRpbmcgYW4gZXF1YWwgc2lnbi4KKyAgICBzdGF0aWMgYm9vbCBoYXNCcm9rZW5G
cmFnbWVudFN1cHBvcnQgPSBmYWxzZTsKKyAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2VU
b2tlbjsKKyAgICBkaXNwYXRjaF9vbmNlKCZvbmNlVG9rZW4sIF57CisgICAgICAgIEB0cnkgewor
ICAgICAgICAgICAgYXV0byBzZWxlY3RvciA9IE5TU2VsZWN0b3JGcm9tU3RyaW5nKEAiaXNVUkxG
b3JBc3NldEluQ29sbGVjdGlvbjoiKTsKKyAgICAgICAgICAgIGF1dG8gdGhlQ2xhc3MgPSBQQUw6
OmdldEFWQXNzZXRDb2xsZWN0aW9uQ2xhc3MoKTsKKyAgICAgICAgICAgIGlmICghW3RoZUNsYXNz
IHJlc3BvbmRzVG9TZWxlY3RvcjpzZWxlY3Rvcl0pCisgICAgICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICAgICAgW3RoZUNsYXNzIHBlcmZvcm1TZWxlY3RvcjpzZWxlY3RvciB3aXRoT2JqZWN0
OltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiZmlsZTovLy9pbnZhbGlkLWZpbGUubXA0I3Q9MyYiXV07
CisgICAgICAgIH0gQGNhdGNoIChOU0V4Y2VwdGlvbiAqZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICBoYXNCcm9rZW5GcmFnbWVudFN1cHBvcnQgPSB0cnVlOworICAgICAgICB9CisgICAgfSk7Cisg
ICAgcmV0dXJuIGhhc0Jyb2tlbkZyYWdtZW50U3VwcG9ydDsKKyNlbHNlCisgICAgcmV0dXJuIGZh
bHNlOworI2VuZGlmCit9CisKK3N0YXRpYyBVUkwgY29uZm9ybUZyYWdtZW50SWRlbnRpZmllckZv
clVSTChjb25zdCBVUkwmIHVybCkKK3sKKyNpZiBQTEFURk9STShNQUMpCisgICAgQVNTRVJUKGhh
c0Jyb2tlbkZyYWdtZW50U3VwcG9ydCgpKTsKKworICAgIGF1dG8gaGFzSW52YWxpZE51bWJlck9m
RXF1YWxDaGFyYWN0ZXJzID0gW10oY29uc3QgU3RyaW5nVmlldyYgZnJhZ21lbnRQYXJhbWV0ZXIp
IHsKKyAgICAgICAgYXV0byByZXN1bHRzID0gZnJhZ21lbnRQYXJhbWV0ZXIuc3BsaXRBbGxvd2lu
Z0VtcHR5RW50cmllcygnPScpOworICAgICAgICBhdXRvIGl0ZXJhdG9yID0gcmVzdWx0cy5iZWdp
bigpOworICAgICAgICByZXR1cm4gaXRlcmF0b3IgPT0gcmVzdWx0cy5lbmQoKSB8fCArK2l0ZXJh
dG9yID09IHJlc3VsdHMuZW5kKCkgfHwgKytpdGVyYXRvciAhPSByZXN1bHRzLmVuZCgpOworICAg
IH07CisKKyAgICBTdHJpbmdCdWlsZGVyIHJlcGxhY2VtZW50RnJhZ21lbnRJZGVudGlmaWVyQnVp
bGRlcjsKKyAgICBib29sIGZpcnN0UGFyYW1ldGVyID0gdHJ1ZTsKKyAgICBib29sIGhhc0ludmFs
aWRGcmFnbWVudElkZW50aWZpZXIgPSBmYWxzZTsKKworICAgIGZvciAoYXV0byBmcmFnbWVudFBh
cmFtZXRlciA6IHVybC5mcmFnbWVudElkZW50aWZpZXIoKS5zcGxpdEFsbG93aW5nRW1wdHlFbnRy
aWVzKCcmJykpIHsKKyAgICAgICAgaWYgKGhhc0ludmFsaWROdW1iZXJPZkVxdWFsQ2hhcmFjdGVy
cyhmcmFnbWVudFBhcmFtZXRlcikpIHsKKyAgICAgICAgICAgIGhhc0ludmFsaWRGcmFnbWVudElk
ZW50aWZpZXIgPSB0cnVlOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKyAgICAg
ICAgaWYgKCFmaXJzdFBhcmFtZXRlcikKKyAgICAgICAgICAgIHJlcGxhY2VtZW50RnJhZ21lbnRJ
ZGVudGlmaWVyQnVpbGRlci5hcHBlbmQoJyYnKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAg
Zmlyc3RQYXJhbWV0ZXIgPSBmYWxzZTsKKyAgICAgICAgcmVwbGFjZW1lbnRGcmFnbWVudElkZW50
aWZpZXJCdWlsZGVyLmFwcGVuZChmcmFnbWVudFBhcmFtZXRlcik7CisgICAgfQorCisgICAgaWYg
KCFoYXNJbnZhbGlkRnJhZ21lbnRJZGVudGlmaWVyKQorICAgICAgICByZXR1cm4gdXJsOworCisg
ICAgVVJMIHZhbGlkVVJMID0gdXJsOworICAgIGlmIChyZXBsYWNlbWVudEZyYWdtZW50SWRlbnRp
ZmllckJ1aWxkZXIuaXNFbXB0eSgpKQorICAgICAgICB2YWxpZFVSTC5yZW1vdmVGcmFnbWVudElk
ZW50aWZpZXIoKTsKKyAgICBlbHNlCisgICAgICAgIHZhbGlkVVJMLnNldEZyYWdtZW50SWRlbnRp
ZmllcihyZXBsYWNlbWVudEZyYWdtZW50SWRlbnRpZmllckJ1aWxkZXIudG9TdHJpbmcoKSk7CisK
KyAgICByZXR1cm4gdmFsaWRVUkw7CisjZWxzZQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgIHJldHVybiB1cmw7CisjZW5kaWYKK30KKwogdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDOjpjcmVhdGVBVkFzc2V0Rm9yVVJMKGNvbnN0IFVSTCYgdXJsLCBSZXRhaW5Q
dHI8TlNNdXRhYmxlRGljdGlvbmFyeT4gb3B0aW9ucykKIHsKICAgICBBTFdBWVNfTE9HKExPR0lE
RU5USUZJRVIpOwpAQCAtOTAwLDcgKzk3MSwxMiBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbk9iakM6OmNyZWF0ZUFWQXNzZXRGb3JVUkwoY29uc3QgVVJMJiB1cmwsIFJldAog
ICAgIGlmICh3aWxsVXNlV2ViTUZvcm1hdFJlYWRlcikKICAgICAgICAgcmVnaXN0ZXJGb3JtYXRS
ZWFkZXJJZk5lY2Vzc2FyeSgpOwogCi0gICAgTlNVUkwgKmNvY29hVVJMID0gY2Fub25pY2FsVVJM
KHVybCk7CisgICAgTlNVUkwgKmNvY29hVVJMID0gbmlsOworICAgIGlmIChoYXNCcm9rZW5GcmFn
bWVudFN1cHBvcnQoKSAmJiB1cmwuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkpCisgICAgICAgIGNv
Y29hVVJMID0gY2Fub25pY2FsVVJMKGNvbmZvcm1GcmFnbWVudElkZW50aWZpZXJGb3JVUkwodXJs
KSk7CisgICAgZWxzZQorICAgICAgICBjb2NvYVVSTCA9IGNhbm9uaWNhbFVSTCh1cmwpOworCiAg
ICAgbV9hdkFzc2V0ID0gYWRvcHROUyhbUEFMOjphbGxvY0FWVVJMQXNzZXRJbnN0YW5jZSgpIGlu
aXRXaXRoVVJMOmNvY29hVVJMIG9wdGlvbnM6b3B0aW9ucy5nZXQoKV0pOwogCiAgICAgQVZBc3Nl
dFJlc291cmNlTG9hZGVyICpyZXNvdXJjZUxvYWRlciA9IG1fYXZBc3NldC5nZXQoKS5yZXNvdXJj
ZUxvYWRlcjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCAyNzFmYjJkOTFkYTljYjA5MDgzYmFkYTJiZDZiZTY1OGQzNjY5OGVm
Li45N2MwYjVmMTA3NTliYWIyM2M4ZTBkMjgzMTk1ZDA3YzBiNTc4NTUyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMjEtMDMtMTYgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisK
KyAgICAgICAgTWFueSBtZWRpYS9tZWRpYS1mcmFnbWVudHMvIHRlc3RzIGFyZSBjcmFzaGluZyBk
dWUgdG8gb3RoZXIgdGVzdHMgdGhhdCBydW4gYmVmb3JlIHRoZW0uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjMyNzcKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzc1NDkyMzYwPgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKwor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTAzLTE3ICBK
ZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtHUFVQXSBwbGF0Zm9y
bS9tYWMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2Zwcy1jbGVhcmtleS1jcmFzaC5odG1sIGlzIGEg
Zmxha3kgdGltZW91dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RF
eHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpp
bmRleCBmN2RhMTA5ZGUyYmI3ODc5YzQyZTQ3ZjJhNTczMTQ2MjA5M2RjYTQzLi45NTA4OGVlMzg1
MThhYTIzOTcyMGRjMmYyYmQ2YmMxZTg4NTAwYTA2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTYsNyArMTYsNiBAQCBmYXN0L2RvbS9SYW5nZS9tYWMg
WyBQYXNzIF0KIGZhc3Qvc2Nyb2xsaW5nL2xhdGNoaW5nIFsgUGFzcyBdCiBtZWRpYS9tYWMgWyBQ
YXNzIF0KIG1vZGVsLWVsZW1lbnQgWyBQYXNzIF0KLXdlYmtpdC5vcmcvYi8yMjMyNzcgbWVkaWEv
bWVkaWEtZnJhZ21lbnRzIFsgUGFzcyBGYWlsdXJlIF0KIAogZmFzdC9mb3Jtcy9zZWFyY2gvc2Vh
cmNoLXBhZGRpbmctY2FuY2VsLXJlc3VsdHMtYnV0dG9ucy5odG1sIFsgUGFzcyBdCiBmYXN0L2Zv
cm1zL3NlYXJjaC9zZWFyY2gtcmVzdWx0cy1oaWRkZW4tY3Jhc2guaHRtbCBbIFBhc3MgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>