<?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>270535</bug_id>
          
          <creation_ts>2024-03-05 13:20:50 -0800</creation_ts>
          <short_desc>AX: AXPropertyName::{ColumnIndex, RowIndex} are not updated on the isolated tree</short_desc>
          <delta_ts>2024-03-06 14:54:35 -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>Accessibility</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joshua Hoffman">jhoffman23</reporter>
          <assigned_to name="Joshua Hoffman">jhoffman23</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>andresg_22</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>samuel_white</cc>
    
    <cc>tyler_w</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2018876</commentid>
    <comment_count>0</comment_count>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2024-03-05 13:20:50 -0800</bug_when>
    <thetext>RowIndex can become stale on the isolated table rows, causing issues with ATs. This is apparent when an author uses two THEADs, where we don&apos;t update the row index properly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2018877</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2024-03-05 13:21:01 -0800</bug_when>
    <thetext>&lt;rdar://problem/124092306&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2018880</commentid>
    <comment_count>2</comment_count>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2024-03-05 13:22:04 -0800</bug_when>
    <thetext>rdar://118240861</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2018952</commentid>
    <comment_count>3</comment_count>
      <attachid>470191</attachid>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2024-03-05 19:28:20 -0800</bug_when>
    <thetext>Created attachment 470191
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2018955</commentid>
    <comment_count>4</comment_count>
      <attachid>470191</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2024-03-05 19:53:53 -0800</bug_when>
    <thetext>Comment on attachment 470191
Patch

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

&gt; LayoutTests/accessibility/dynamic-table-row-column-indices.html:23
&gt; +    var result = &quot;&quot;;
&gt; +    var index = 0;

var hoists the variable to the global scope, meaning it escapes the bounds of this function, which is usually not expected. Can we use let or const?

&gt; LayoutTests/accessibility/dynamic-table-row-column-indices.html:26
&gt; +        index++;

Is index ever used?

&gt; LayoutTests/accessibility/dynamic-table-row-column-indices.html:48
&gt; +    let newRow = document.createElement(&apos;tr&apos;);

Double quotes over single quotes here

&gt; LayoutTests/accessibility/table-insert-second-thead.html:35
&gt; +    let newTHEAD = document.createElement(&apos;thead&apos;);

Maybe &quot;newTHead&quot;? Also this line uses single quotes, we typically stick to double quotes in tests I think.

&gt; LayoutTests/accessibility/table-insert-second-thead.html:46
&gt; +        output += `\n${table.attributesOfRows()}`;
&gt; +        output += `\n${table.attributesOfVisibleCells()}`;

attributesOfRows() and table.attributesOfVisibleCells() are convenient, but historically have resulted in hard to maintain and slow tests. See accessibility-isolated-tree/TestExpectations where we have skipped several tests because they unnecessarily log the frames and they are off by 1px. Are there more precise things we can verify about each row and cell, even if it makes this test a little long?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2018956</commentid>
    <comment_count>5</comment_count>
      <attachid>470191</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2024-03-05 19:56:36 -0800</bug_when>
    <thetext>Comment on attachment 470191
Patch

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

&gt; Source/WebCore/accessibility/AccessibilityTableColumn.cpp:84
&gt; +    m_columnIndex = columnIndex;
&gt; +
&gt; +#if ENABLE(ACCESSIBILITY_ISOLATED_TREE)
&gt; +    if (auto* cache = axObjectCache())
&gt; +        cache-&gt;columnIndexChanged(*this);
&gt; +#endif

We should return early if columnIndex == m_columnIndex so we don&apos;t unnecessarily post a notification. See AccessibilityTableCell::setRowIndex as an example.

&gt; Source/WebCore/accessibility/AccessibilityTableRow.cpp:127
&gt; +    m_rowIndex = rowIndex;
&gt; +
&gt; +#if ENABLE(ACCESSIBILITY_ISOLATED_TREE)
&gt; +    if (auto* cache = axObjectCache())
&gt; +        cache-&gt;rowIndexChanged(*this);
&gt; +#endif

We should return early if m_rowIndex == m_rowIndex so we don&apos;t unnecessarily post a notification. See AccessibilityTableCell::setRowIndex as an example.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2018967</commentid>
    <comment_count>6</comment_count>
      <attachid>470193</attachid>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2024-03-05 20:38:46 -0800</bug_when>
    <thetext>Created attachment 470193
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2018968</commentid>
    <comment_count>7</comment_count>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2024-03-05 20:40:11 -0800</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #5)
&gt; Comment on attachment 470191 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=470191&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/accessibility/AccessibilityTableColumn.cpp:84
&gt; &gt; +    m_columnIndex = columnIndex;
&gt; &gt; +
&gt; &gt; +#if ENABLE(ACCESSIBILITY_ISOLATED_TREE)
&gt; &gt; +    if (auto* cache = axObjectCache())
&gt; &gt; +        cache-&gt;columnIndexChanged(*this);
&gt; &gt; +#endif
&gt; 
&gt; We should return early if columnIndex == m_columnIndex so we don&apos;t
&gt; unnecessarily post a notification. See AccessibilityTableCell::setRowIndex
&gt; as an example.
&gt; 
&gt; &gt; Source/WebCore/accessibility/AccessibilityTableRow.cpp:127
&gt; &gt; +    m_rowIndex = rowIndex;
&gt; &gt; +
&gt; &gt; +#if ENABLE(ACCESSIBILITY_ISOLATED_TREE)
&gt; &gt; +    if (auto* cache = axObjectCache())
&gt; &gt; +        cache-&gt;rowIndexChanged(*this);
&gt; &gt; +#endif
&gt; 
&gt; We should return early if m_rowIndex == m_rowIndex so we don&apos;t unnecessarily
&gt; post a notification. See AccessibilityTableCell::setRowIndex as an example.

Thanks for all of your comments! Addressed them all in my latest patch. 

To your question about the `index` variable, that was leftover from a previous revision of that test, so I have removed all references to it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2018992</commentid>
    <comment_count>8</comment_count>
      <attachid>470198</attachid>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2024-03-05 22:09:39 -0800</bug_when>
    <thetext>Created attachment 470198
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2018999</commentid>
    <comment_count>9</comment_count>
      <attachid>470198</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2024-03-05 22:36:41 -0800</bug_when>
    <thetext>Comment on attachment 470198
Patch

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

&gt; LayoutTests/accessibility/dynamic-table-row-column-indices.html:30
&gt; +    for (let i = 0; i &lt; table.rowCount; i++) {
&gt; +        result += `Row Index [${i}]: ${table.rowAtIndex(i).indexInTable()}\n`;
&gt; +    }   
&gt; +
&gt; +    const columns = table.columns();
&gt; +    for (let i = 0; i &lt; table.columnCount; i++) {
&gt; +        result += `Column Index [${i}]: ${columns[i].indexInTable()}\n`;
&gt; +    }   

The curly braces aren&apos;t necessary here, but not a huge deal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2019089</commentid>
    <comment_count>10</comment_count>
      <attachid>470204</attachid>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2024-03-06 09:53:24 -0800</bug_when>
    <thetext>Created attachment 470204
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2019194</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2024-03-06 14:54:33 -0800</bug_when>
    <thetext>Committed 275762@main (1c3f222f4f96): &lt;https://commits.webkit.org/275762@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 470204.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>470191</attachid>
            <date>2024-03-05 19:28:20 -0800</date>
            <delta_ts>2024-03-05 20:38:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-270535-20240305192820.patch</filename>
            <type>text/plain</type>
            <size>22017</size>
            <attacher name="Joshua Hoffman">jhoffman23</attacher>
            
              <data encoding="base64">RnJvbSAyODNmZDQzZmI1OGZlNzczNjFlY2VlZTM2NDA2ZDcxNzQxN2VhYjNjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb3NodWEgSG9mZm1hbiA8amhvZmZtYW4yM0BhcHBsZS5jb20+
CkRhdGU6IFR1ZSwgNSBNYXIgMjAyNCAxOTowNTo1NCAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIEFY
OiBBWFByb3BlcnR5TmFtZTo6e0NvbHVtbkluZGV4LCBSb3dJbmRleH0gYXJlIG5vdCB1cGRhdGVk
CiBvbiB0aGUgaXNvbGF0ZWQgdHJlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjcwNTM1CiByZGFyOi8vMTE4MjQwODYxCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KClRoZXNlIHByb3BlcnRpZXMsIENvbHVtbkluZGV4IGFuZCBSb3dJbmRleCwgd2VyZSBuZXZl
ciB1cGRhdGVkIG9uIGlzb2xhdGVkIG9iamVjdHMKYWZ0ZXIgYmVpbmcgaW5pdGlhbGl6ZWQuIFRo
aXMgY2FuIGNhdXNlIGlzc3VlcyBhcyBBVHMgcmVseSBvbiB0aGVzZSBwcm9wZXJ0aWVzIHRvCmFj
Y3VyYXRlbHkgbmF2aWdhdGUgdGFibGVzLgoKVHdvIHRlc3RzIHdlcmUgYWRkZWQgdG8gZmxleCB0
aGlzIGJlaGF2aW9yLiB0YWJsZS1pbnNlcnQtc2Vjb25kLXRoZWFkLmh0bWwgYWxzbwp0ZXN0cyB0
aGF0IHdlIGFyZSByZXNpbGllbnQgdG8gYXV0aG9yaW5nIGVycm9ycyB3aXRoIHJlc3BlY3QgdG8g
bXVsdGlwbGUgdGFibGUKaGVhZGVyIGVsZW1lbnRzLgoKKiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L2R5bmFtaWMtdGFibGUtcm93LWNvbHVtbi1pbmRpY2VzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CiogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9keW5hbWljLXRhYmxlLXJvdy1jb2x1bW4taW5k
aWNlcy5odG1sOiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RhYmxlLWluc2Vy
dC1zZWNvbmQtdGhlYWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L3RhYmxlLWluc2VydC1zZWNvbmQtdGhlYWQuaHRtbDogQWRkZWQuCiogU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcDoKKFdlYkNvcmU6OkFYT2JqZWN0
Q2FjaGU6OmNvbHVtbkluZGV4Q2hhbmdlZCk6CihXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpyb3dJ
bmRleENoYW5nZWQpOgooV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6dXBkYXRlSXNvbGF0ZWRUcmVl
KToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKiBTb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbi5jcHA6CihX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW46OnNldENvbHVtbkluZGV4KToKKiBTb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbi5oOgoqIFNv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlUm93LmNwcDoKKFdl
YkNvcmU6OkFjY2Vzc2liaWxpdHlUYWJsZVJvdzo6c2V0Um93SW5kZXgpOgoqIFNvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlUm93Lmg6CihXZWJDb3JlOjpBY2Nl
c3NpYmlsaXR5VGFibGVSb3c6OnNldFJvd0luZGV4KTogRGVsZXRlZC4KKiBTb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5jcHA6CihXZWJDb3Jl
OjpBWElzb2xhdGVkVHJlZTo6dXBkYXRlTm9kZVByb3BlcnRpZXMpOgotLS0KIC4uLi9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgICB8ICAxMiArLQogU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmggIHwgICA0ICstCiAuLi4vQWNjZXNzaWJp
bGl0eVRhYmxlQ29sdW1uLmNwcCAgICAgICAgICAgICAgfCAgMTAgKwogLi4uL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1uLmggIHwgICAyICstCiAuLi4vYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5VGFibGVSb3cuY3BwICAgfCAgMTAgKwogLi4uL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVRhYmxlUm93LmggICAgIHwgICAyICstCiAuLi4vaXNvbGF0ZWR0cmVlL0FY
SXNvbGF0ZWRUcmVlLmNwcCAgICAgICAgICAgfCAgIDYgKwogLi4uYW1pYy10YWJsZS1yb3ctY29s
dW1uLWluZGljZXMtZXhwZWN0ZWQudHh0IHwgIDMwICsrCiAuLi4vZHluYW1pYy10YWJsZS1yb3ct
Y29sdW1uLWluZGljZXMuaHRtbCAgICAgfCAgNzIgKysrKwogLi4uL3RhYmxlLWluc2VydC1zZWNv
bmQtdGhlYWQtZXhwZWN0ZWQudHh0ICAgIHwgMzYwICsrKysrKysrKysrKysrKysrKwogLi4uL3Rh
YmxlLWluc2VydC1zZWNvbmQtdGhlYWQuaHRtbCAgICAgICAgICAgIHwgIDU1ICsrKwogMTEgZmls
ZXMgY2hhbmdlZCwgNTU1IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9k
ZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9keW5hbWljLXRhYmxlLXJvdy1jb2x1
bW4taW5kaWNlcy1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L2R5bmFtaWMtdGFibGUtcm93LWNvbHVtbi1pbmRpY2VzLmh0bWwKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RhYmxlLWluc2VydC1zZWNv
bmQtdGhlYWQtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS90YWJsZS1pbnNlcnQtc2Vjb25kLXRoZWFkLmh0bWwKCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCA1NzM1NzVmZTYwNDku
LjQ2NDRiNWY5MjA5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
WE9iamVjdENhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2Jq
ZWN0Q2FjaGUuY3BwCkBAIC0xNDc4LDE0ICsxNDc4LDE0IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6
dmFsdWVDaGFuZ2VkKEVsZW1lbnQqIGVsZW1lbnQpCiB9CiAKICNpZiBFTkFCTEUoQUNDRVNTSUJJ
TElUWV9JU09MQVRFRF9UUkVFKQotdm9pZCBBWE9iamVjdENhY2hlOjpjb2x1bW5JbmRleENoYW5n
ZWQoQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbCYgY2VsbCkKK3ZvaWQgQVhPYmplY3RDYWNoZTo6Y29s
dW1uSW5kZXhDaGFuZ2VkKEFjY2Vzc2liaWxpdHlPYmplY3QmIG9iamVjdCkKIHsKLSAgICBwb3N0
Tm90aWZpY2F0aW9uKGNlbGwsIEFYQ29sdW1uSW5kZXhDaGFuZ2VkKTsKKyAgICBwb3N0Tm90aWZp
Y2F0aW9uKG9iamVjdCwgQVhDb2x1bW5JbmRleENoYW5nZWQpOwogfQogCi12b2lkIEFYT2JqZWN0
Q2FjaGU6OnJvd0luZGV4Q2hhbmdlZChBY2Nlc3NpYmlsaXR5VGFibGVDZWxsJiBjZWxsKQordm9p
ZCBBWE9iamVjdENhY2hlOjpyb3dJbmRleENoYW5nZWQoQWNjZXNzaWJpbGl0eU9iamVjdCYgb2Jq
ZWN0KQogewotICAgIHBvc3ROb3RpZmljYXRpb24oY2VsbCwgQVhSb3dJbmRleENoYW5nZWQpOwor
ICAgIHBvc3ROb3RpZmljYXRpb24ob2JqZWN0LCBBWFJvd0luZGV4Q2hhbmdlZCk7CiB9CiAjZW5k
aWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKIApAQCAtNDM3MSw2ICs0
MzcxLDggQEAgdm9pZCBBWE9iamVjdENhY2hlOjp1cGRhdGVJc29sYXRlZFRyZWUoY29uc3QgVmVj
dG9yPHN0ZDo6cGFpcjxSZWZQdHI8QWNjZXNzaWJpbGkKICAgICAgICAgICAgIHRyZWUtPnF1ZXVl
Tm9kZVVwZGF0ZShub3RpZmljYXRpb24uZmlyc3QtPm9iamVjdElEKCksIHsgQVhQcm9wZXJ0eU5h
bWU6OkFYQ29sdW1uQ291bnQgfSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBB
WENvbHVtbkluZGV4Q2hhbmdlZDoKKyAgICAgICAgICAgIHRyZWUtPnF1ZXVlTm9kZVVwZGF0ZShu
b3RpZmljYXRpb24uZmlyc3QtPm9iamVjdElEKCksIHsgeyBBWFByb3BlcnR5TmFtZTo6Q29sdW1u
SW5kZXhSYW5nZSwgQVhQcm9wZXJ0eU5hbWU6OkNvbHVtbkluZGV4IH0gfSk7CisgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgY2FzZSBBWENvbHVtblNwYW5DaGFuZ2VkOgogICAgICAgICAgICAg
dHJlZS0+cXVldWVOb2RlVXBkYXRlKG5vdGlmaWNhdGlvbi5maXJzdC0+b2JqZWN0SUQoKSwgeyBB
WFByb3BlcnR5TmFtZTo6Q29sdW1uSW5kZXhSYW5nZSB9KTsKICAgICAgICAgICAgIGJyZWFrOwpA
QCAtNDQzNiw2ICs0NDM4LDggQEAgdm9pZCBBWE9iamVjdENhY2hlOjp1cGRhdGVJc29sYXRlZFRy
ZWUoY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxSZWZQdHI8QWNjZXNzaWJpbGkKICAgICAgICAgICAg
IHRyZWUtPnF1ZXVlTm9kZVVwZGF0ZShub3RpZmljYXRpb24uZmlyc3QtPm9iamVjdElEKCksIHsg
QVhQcm9wZXJ0eU5hbWU6OlJvbGVEZXNjcmlwdGlvbiB9KTsKICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICBjYXNlIEFYUm93SW5kZXhDaGFuZ2VkOgorICAgICAgICAgICAgdHJlZS0+cXVldWVO
b2RlVXBkYXRlKG5vdGlmaWNhdGlvbi5maXJzdC0+b2JqZWN0SUQoKSwgeyB7IEFYUHJvcGVydHlO
YW1lOjpSb3dJbmRleFJhbmdlLCBBWFByb3BlcnR5TmFtZTo6Um93SW5kZXggfSB9KTsKKyAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEFYUm93U3BhbkNoYW5nZWQ6CiAgICAgICAgICAg
ICB0cmVlLT5xdWV1ZU5vZGVVcGRhdGUobm90aWZpY2F0aW9uLmZpcnN0LT5vYmplY3RJRCgpLCB7
IEFYUHJvcGVydHlOYW1lOjpSb3dJbmRleFJhbmdlIH0pOwogICAgICAgICAgICAgYnJlYWs7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCmluZGV4IDI4Mzg2
ZjJjYTQzZi4uYTJkMDkyNjQyNGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuaApAQCAtMjEyLDggKzIxMiw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGhh
bmRsZVJvbGVDaGFuZ2VkKEFjY2Vzc2liaWxpdHlPYmplY3QmKTsKIAogI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCi0gICAgdm9pZCBjb2x1bW5JbmRleENoYW5nZWQoQWNj
ZXNzaWJpbGl0eVRhYmxlQ2VsbCYpOwotICAgIHZvaWQgcm93SW5kZXhDaGFuZ2VkKEFjY2Vzc2li
aWxpdHlUYWJsZUNlbGwmKTsKKyAgICB2b2lkIGNvbHVtbkluZGV4Q2hhbmdlZChBY2Nlc3NpYmls
aXR5T2JqZWN0Jik7CisgICAgdm9pZCByb3dJbmRleENoYW5nZWQoQWNjZXNzaWJpbGl0eU9iamVj
dCYpOwogI2VuZGlmCiAKICAgICAvLyBDYWxsZWQgd2hlbiBhIFJlbmRlck9iamVjdCBpcyBjcmVh
dGVkIGZvciBhbiBFbGVtZW50LiBEZXBlbmRpbmcgb24gdGhlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbi5jcHAKaW5k
ZXggNjg2YjM2NWQyOTBiLi5jNzI5MzY5YjNkOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbi5jcHAKQEAgLTc0
LDYgKzc0LDE2IEBAIEFYQ29yZU9iamVjdCogQWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1uOjpjb2x1
bW5IZWFkZXIoKQogICAgIHJldHVybiBudWxscHRyOwogfQogCit2b2lkIEFjY2Vzc2liaWxpdHlU
YWJsZUNvbHVtbjo6c2V0Q29sdW1uSW5kZXgodW5zaWduZWQgY29sdW1uSW5kZXgpCit7CisgICAg
bV9jb2x1bW5JbmRleCA9IGNvbHVtbkluZGV4OworCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlf
SVNPTEFURURfVFJFRSkKKyAgICBpZiAoYXV0byogY2FjaGUgPSBheE9iamVjdENhY2hlKCkpCisg
ICAgICAgIGNhY2hlLT5jb2x1bW5JbmRleENoYW5nZWQoKnRoaXMpOworI2VuZGlmCit9CisKIGJv
b2wgQWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1uOjpjb21wdXRlQWNjZXNzaWJpbGl0eUlzSWdub3Jl
ZCgpIGNvbnN0CiB7CiAgICAgaWYgKCFtX3BhcmVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbi5oCmluZGV4IGViZDE4
OWE4ZGI1Ny4uZWM2YTFjYjIzMTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1uLmgKQEAgLTQzLDcgKzQzLDcgQEAg
cHVibGljOgogCiAgICAgQWNjZXNzaWJpbGl0eVJvbGUgZGV0ZXJtaW5lQWNjZXNzaWJpbGl0eVJv
bGUoKSBmaW5hbCB7IHJldHVybiBBY2Nlc3NpYmlsaXR5Um9sZTo6Q29sdW1uOyB9CiAKLSAgICB2
b2lkIHNldENvbHVtbkluZGV4KHVuc2lnbmVkIGNvbHVtbkluZGV4KSB7IG1fY29sdW1uSW5kZXgg
PSBjb2x1bW5JbmRleDsgfQorICAgIHZvaWQgc2V0Q29sdW1uSW5kZXgodW5zaWduZWQpOwogICAg
IHVuc2lnbmVkIGNvbHVtbkluZGV4KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9jb2x1bW5J
bmRleDsgfQogCiAgICAgdm9pZCBhZGRDaGlsZHJlbigpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVSb3cuY3BwIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVSb3cuY3BwCmlu
ZGV4IDZkMDYxODJmMTdhOS4uNmFjODNlM2E4ZTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZVJvdy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVSb3cuY3BwCkBAIC0xMTcsNiAr
MTE3LDE2IEBAIEFjY2Vzc2liaWxpdHlUYWJsZSogQWNjZXNzaWJpbGl0eVRhYmxlUm93OjpwYXJl
bnRUYWJsZSgpIGNvbnN0CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKK3ZvaWQgQWNjZXNzaWJp
bGl0eVRhYmxlUm93OjpzZXRSb3dJbmRleCh1bnNpZ25lZCByb3dJbmRleCkKK3sKKyAgICBtX3Jv
d0luZGV4ID0gcm93SW5kZXg7CisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9U
UkVFKQorICAgIGlmIChhdXRvKiBjYWNoZSA9IGF4T2JqZWN0Q2FjaGUoKSkKKyAgICAgICAgY2Fj
aGUtPnJvd0luZGV4Q2hhbmdlZCgqdGhpcyk7CisjZW5kaWYKK30KKwogQVhDb3JlT2JqZWN0KiBB
Y2Nlc3NpYmlsaXR5VGFibGVSb3c6OnJvd0hlYWRlcigpCiB7CiAgICAgY29uc3QgYXV0byYgcm93
Q2hpbGRyZW4gPSBjaGlsZHJlbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVSb3cuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlUm93LmgKaW5kZXggYjNhNjU0MDljMmRjLi4wNmQ2ZTg3
MmM0OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVRhYmxlUm93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5VGFibGVSb3cuaApAQCAtNDQsNyArNDQsNyBAQCBwdWJsaWM6CiAgICAgQVhDb3JlT2Jq
ZWN0KiByb3dIZWFkZXIoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIEFjY2Vzc2liaWxpdHlUYWJs
ZSogcGFyZW50VGFibGUoKSBjb25zdDsKIAotICAgIHZvaWQgc2V0Um93SW5kZXgodW5zaWduZWQg
cm93SW5kZXgpIHsgbV9yb3dJbmRleCA9IHJvd0luZGV4OyB9CisgICAgdm9pZCBzZXRSb3dJbmRl
eCh1bnNpZ25lZCk7CiAgICAgdW5zaWduZWQgcm93SW5kZXgoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBtX3Jvd0luZGV4OyB9CiAKICAgICAvLyBhbGxvd3MgdGhlIHRhYmxlIHRvIGFkZCBvdGhl
ciBjaGlsZHJlbiB0aGF0IG1heSBub3Qgb3JpZ2luYXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5jcHAK
aW5kZXggM2I3OTljM2QxY2Y5Li5jNjQ1YzAwODcxMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5j
cHAKQEAgLTU5Miw2ICs1OTIsOSBAQCB2b2lkIEFYSXNvbGF0ZWRUcmVlOjp1cGRhdGVOb2RlUHJv
cGVydGllcyhBWENvcmVPYmplY3QmIGF4T2JqZWN0LCBjb25zdCBBWFByb3BlcgogICAgICAgICBj
YXNlIEFYUHJvcGVydHlOYW1lOjpDZWxsU2xvdHM6CiAgICAgICAgICAgICBwcm9wZXJ0eU1hcC5z
ZXQoQVhQcm9wZXJ0eU5hbWU6OkNlbGxTbG90cywgZHluYW1pY0Rvd25jYXN0PEFjY2Vzc2liaWxp
dHlPYmplY3Q+KGF4T2JqZWN0KS0+Y2VsbFNsb3RzKCkpOwogICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIGNhc2UgQVhQcm9wZXJ0eU5hbWU6OkNvbHVtbkluZGV4OgorICAgICAgICAgICAgcHJv
cGVydHlNYXAuc2V0KEFYUHJvcGVydHlOYW1lOjpDb2x1bW5JbmRleCwgYXhPYmplY3QuY29sdW1u
SW5kZXgoKSk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBBWFByb3BlcnR5TmFt
ZTo6Q29sdW1uSW5kZXhSYW5nZToKICAgICAgICAgICAgIHByb3BlcnR5TWFwLnNldChBWFByb3Bl
cnR5TmFtZTo6Q29sdW1uSW5kZXhSYW5nZSwgYXhPYmplY3QuY29sdW1uSW5kZXhSYW5nZSgpKTsK
ICAgICAgICAgICAgIGJyZWFrOwpAQCAtNjY1LDYgKzY2OCw5IEBAIHZvaWQgQVhJc29sYXRlZFRy
ZWU6OnVwZGF0ZU5vZGVQcm9wZXJ0aWVzKEFYQ29yZU9iamVjdCYgYXhPYmplY3QsIGNvbnN0IEFY
UHJvcGVyCiAgICAgICAgIGNhc2UgQVhQcm9wZXJ0eU5hbWU6OlJvbGVEZXNjcmlwdGlvbjoKICAg
ICAgICAgICAgIHByb3BlcnR5TWFwLnNldChBWFByb3BlcnR5TmFtZTo6Um9sZURlc2NyaXB0aW9u
LCBheE9iamVjdC5yb2xlRGVzY3JpcHRpb24oKS5pc29sYXRlZENvcHkoKSk7CiAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgY2FzZSBBWFByb3BlcnR5TmFtZTo6Um93SW5kZXg6CisgICAgICAg
ICAgICBwcm9wZXJ0eU1hcC5zZXQoQVhQcm9wZXJ0eU5hbWU6OlJvd0luZGV4LCBheE9iamVjdC5y
b3dJbmRleCgpKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEFYUHJvcGVydHlO
YW1lOjpSb3dJbmRleFJhbmdlOgogICAgICAgICAgICAgcHJvcGVydHlNYXAuc2V0KEFYUHJvcGVy
dHlOYW1lOjpSb3dJbmRleFJhbmdlLCBheE9iamVjdC5yb3dJbmRleFJhbmdlKCkpOwogICAgICAg
ICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2R5bmFt
aWMtdGFibGUtcm93LWNvbHVtbi1pbmRpY2VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvZHluYW1pYy10YWJsZS1yb3ctY29sdW1uLWluZGljZXMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uYTA3NTg3ZjEwODExCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9keW5hbWljLXRhYmxl
LXJvdy1jb2x1bW4taW5kaWNlcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzMCBAQAorVGhpcyB0
ZXN0cyB0aGF0IHRhYmxlIHJvdyBhbmQgY29sdW1uIGluZGljaWVzIHVwZGF0ZSBjb3JyZWN0bHku
CisKK1JvdyBJbmRleCBbMF06IDAKK1JvdyBJbmRleCBbMV06IDEKK0NvbHVtbiBJbmRleCBbMF06
IDAKK0NvbHVtbiBJbmRleCBbMV06IDEKKworQWRkaW5nIHJvdyBhdCBpbmRleCAxOgorCitSb3cg
SW5kZXggWzBdOiAwCitSb3cgSW5kZXggWzFdOiAxCitSb3cgSW5kZXggWzJdOiAyCitDb2x1bW4g
SW5kZXggWzBdOiAwCitDb2x1bW4gSW5kZXggWzFdOiAxCisKK0FkZGluZyBjZWxsIHRvIHJvdyAw
OgorCitSb3cgSW5kZXggWzBdOiAwCitSb3cgSW5kZXggWzFdOiAxCitSb3cgSW5kZXggWzJdOiAy
CitDb2x1bW4gSW5kZXggWzBdOiAwCitDb2x1bW4gSW5kZXggWzFdOiAxCitDb2x1bW4gSW5kZXgg
WzJdOiAyCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorQ2VsbCAxCUNlbGwgMglDZWxsIDcKK0NlbGwgNQlDZWxsIDYKK0NlbGwgMwlDZWxsIDQKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZHluYW1pYy10YWJsZS1yb3ctY29s
dW1uLWluZGljZXMuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZHluYW1pYy10YWJs
ZS1yb3ctY29sdW1uLWluZGljZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAuLjYxMTEwMTQwOGI0ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvZHluYW1pYy10YWJsZS1yb3ctY29sdW1uLWluZGljZXMuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9hY2Nlc3NpYmlsaXR5
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgCis8dGFibGUgaWQ9InRhYmxlIj4K
KyAgICA8dHIgaWQ9InRyMSI+CisgICAgICAgIDx0aD5DZWxsIDE8L3RoPgorICAgICAgICA8dGg+
Q2VsbCAyPC90aD4KKyAgICA8L3RyPgorICAgIDx0ciBpZD0idHIyIj4KKyAgICAgICAgPHRkPkNl
bGwgMzwvdGQ+CisgICAgICAgIDx0ZD5DZWxsIDQ8L3RkPgorICAgIDwvdHI+Cis8L3RhYmxlPgor
Cis8c2NyaXB0PgorZnVuY3Rpb24gdGFibGVSb3dBbmRDb2x1bW5JbmRpY2VzKHRhYmxlKSB7Cisg
ICAgdmFyIHJlc3VsdCA9ICIiOworICAgIHZhciBpbmRleCA9IDA7CisgICAgZm9yIChsZXQgaSA9
IDA7IGkgPCB0YWJsZS5yb3dDb3VudDsgaSsrKSB7CisgICAgICAgIHJlc3VsdCArPSBgUm93IElu
ZGV4IFske2l9XTogJHt0YWJsZS5yb3dBdEluZGV4KGkpLmluZGV4SW5UYWJsZSgpfVxuYDsKKyAg
ICAgICAgaW5kZXgrKzsKKyAgICB9ICAgCisKKyAgICBjb25zdCBjb2x1bW5zID0gdGFibGUuY29s
dW1ucygpOworICAgIGluZGV4ID0gMDsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRhYmxlLmNv
bHVtbkNvdW50OyBpKyspIHsKKyAgICAgICAgcmVzdWx0ICs9IGBDb2x1bW4gSW5kZXggWyR7aX1d
OiAke2NvbHVtbnNbaV0uaW5kZXhJblRhYmxlKCl9XG5gOworICAgICAgICBpbmRleCsrOworICAg
IH0gICAKKyAgICByZXR1cm4gcmVzdWx0OworfSAgICAKKwordmFyIG91dHB1dCA9ICJUaGlzIHRl
c3RzIHRoYXQgdGFibGUgcm93IGFuZCBjb2x1bW4gaW5kaWNpZXMgdXBkYXRlIGNvcnJlY3RseSBh
ZnRlciByb3cvY29sdW1uIGluc2VydGlvbnMuXG5cbiIKKworaWYgKHdpbmRvdy5hY2Nlc3NpYmls
aXR5Q29udHJvbGxlcikgeworICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
IHZhciB0YWJsZSA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJ
ZCgidGFibGUiKTsKKyAgICBvdXRwdXQgKz0gdGFibGVSb3dBbmRDb2x1bW5JbmRpY2VzKHRhYmxl
KTsKKworICAgIC8vIEluc2VydCBhIG5ldyByb3cgYXQgaW5kZXggMQorICAgIG91dHB1dCArPSAi
XG5BZGRpbmcgcm93IGF0IGluZGV4IDE6XG5cbiI7CisgICAgbGV0IG5ld1JvdyA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CisgICAgbmV3Um93LmlubmVySFRNTCA9ICI8dGQ+Q2VsbCA1
PC90ZD48dGQ+Q2VsbCA2PC90ZD4iOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0cjEi
KS5hZnRlcihuZXdSb3cpOworCisgICAgc2V0VGltZW91dChhc3luYyBmdW5jdGlvbigpIHsKKyAg
ICAgICAgYXdhaXQgd2FpdEZvcigoKSA9PiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3Np
YmxlRWxlbWVudEJ5SWQoInRyMiIpLmluZGV4SW5UYWJsZSgpID09IDIpOworICAgICAgICBvdXRw
dXQgKz0gdGFibGVSb3dBbmRDb2x1bW5JbmRpY2VzKHRhYmxlKTsKKworICAgICAgICAvLyBDcmVh
dGUgYSBuZXcgY29sdW1uIGJ5IGluc2VydGluZyBhIGNlbGwgYXQgdGhlIGVuZCBvZiBhIHJvdwor
ICAgICAgICBvdXRwdXQgKz0gIlxuQWRkaW5nIGNlbGwgdG8gcm93IDA6XG5cbiI7CisgICAgICAg
IGxldCBuZXdDZWxsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKKyAgICAgICAgbmV3
Q2VsbC5pbm5lckhUTUwgPSAiQ2VsbCA3IjsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInRyMSIpLmFwcGVuZChuZXdDZWxsKTsKKworICAgICAgICBhd2FpdCB3YWl0Rm9yKCgpID0+
IHRhYmxlLmNvbHVtbnMoKS5sZW5ndGggPT0gMyk7CisgICAgICAgIG91dHB1dCArPSB0YWJsZVJv
d0FuZENvbHVtbkluZGljZXModGFibGUpOworCisgICAgICAgIGRlYnVnKG91dHB1dCk7CisgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0sIDApOworfQorPC9zY3JpcHQ+CisKKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGFibGUtaW5z
ZXJ0LXNlY29uZC10aGVhZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L3RhYmxlLWluc2VydC1zZWNvbmQtdGhlYWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZGZjYzRmMzcwMzQ5Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90YWJsZS1pbnNlcnQtc2Vjb25kLXRoZWFkLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDM2MCBAQAorVGhpcyB0ZXN0cyB0aGF0IHRoZSBhdHRyaWJ1dGVz
IG9mIHRhYmxlIHJvd3MgYW5kIGNlbGxzIGFyZSBjb3JyZWN0IHdoZW4gdGhlcmUgYXJlIHR3byBU
SEVBRHMuCisKK1BBU1M6IHRhYmxlLnJvd0NvdW50ID09PSAyCitQQVNTOiB0YWJsZS5jb2x1bW5D
b3VudCA9PT0gMgorCitBZGRpbmcgVEhFQUQ6CisKK1BBU1M6IHRhYmxlLnJvd0NvdW50ID09PSAz
CitQQVNTOiB0YWJsZS5jb2x1bW5Db3VudCA9PT0gMgorCitBWEhhc0RvY3VtZW50Um9sZUFuY2Vz
dG9yOiAwCitBWEhhc1dlYkFwcGxpY2F0aW9uQW5jZXN0b3I6IDAKK0FYUm9sZTogQVhSb3cKK0FY
U3Vicm9sZTogKG51bGwpCitBWFJvbGVEZXNjcmlwdGlvbjogcm93CitBWENoaWxkcmVuOgorQVhD
aGlsZHJlbkluTmF2aWdhdGlvbk9yZGVyOgorQVhIZWxwOgorQVhQYXJlbnQ6CitBWFNpemU6IE5T
U2l6ZTogezEzNSwgMjB9CitBWFRpdGxlOgorQVhEZXNjcmlwdGlvbjoKK0FYVmFsdWU6CitBWEZv
Y3VzZWQ6IDAKK0FYRW5hYmxlZDogMQorQVhXaW5kb3c6CitBWFNlbGVjdGVkVGV4dE1hcmtlclJh
bmdlOiAobnVsbCkKK0FYU3RhcnRUZXh0TWFya2VyOgorQVhFbmRUZXh0TWFya2VyOgorQVhWaXNp
dGVkOiAwCitBWExpbmtlZFVJRWxlbWVudHM6CitBWFNlbGVjdGVkOiAwCitBWEJsb2NrUXVvdGVM
ZXZlbDogMAorQVhUb3BMZXZlbFVJRWxlbWVudDoKK0FYTGFuZ3VhZ2U6CitBWERPTUlkZW50aWZp
ZXI6CitBWERPTUNsYXNzTGlzdDoKK0FYRm9jdXNhYmxlQW5jZXN0b3I6CitBWEVkaXRhYmxlQW5j
ZXN0b3I6IChudWxsKQorQVhIaWdoZXN0RWRpdGFibGVBbmNlc3RvcjogKG51bGwpCitBWEluZGV4
OiAwCitBWEVsZW1lbnRCdXN5OiAwCisKKy0tLS0tLS0tLS0tLQorQVhIYXNEb2N1bWVudFJvbGVB
bmNlc3RvcjogMAorQVhIYXNXZWJBcHBsaWNhdGlvbkFuY2VzdG9yOiAwCitBWFJvbGU6IEFYUm93
CitBWFN1YnJvbGU6IChudWxsKQorQVhSb2xlRGVzY3JpcHRpb246IHJvdworQVhDaGlsZHJlbjoK
K0FYQ2hpbGRyZW5Jbk5hdmlnYXRpb25PcmRlcjoKK0FYSGVscDoKK0FYUGFyZW50OgorQVhTaXpl
OiBOU1NpemU6IHsxMzUsIDIwfQorQVhUaXRsZToKK0FYRGVzY3JpcHRpb246CitBWFZhbHVlOgor
QVhGb2N1c2VkOiAwCitBWEVuYWJsZWQ6IDEKK0FYV2luZG93OgorQVhTZWxlY3RlZFRleHRNYXJr
ZXJSYW5nZTogKG51bGwpCitBWFN0YXJ0VGV4dE1hcmtlcjoKK0FYRW5kVGV4dE1hcmtlcjoKK0FY
VmlzaXRlZDogMAorQVhMaW5rZWRVSUVsZW1lbnRzOgorQVhTZWxlY3RlZDogMAorQVhCbG9ja1F1
b3RlTGV2ZWw6IDAKK0FYVG9wTGV2ZWxVSUVsZW1lbnQ6CitBWExhbmd1YWdlOgorQVhET01JZGVu
dGlmaWVyOgorQVhET01DbGFzc0xpc3Q6CitBWEZvY3VzYWJsZUFuY2VzdG9yOgorQVhFZGl0YWJs
ZUFuY2VzdG9yOiAobnVsbCkKK0FYSGlnaGVzdEVkaXRhYmxlQW5jZXN0b3I6IChudWxsKQorQVhJ
bmRleDogMQorQVhFbGVtZW50QnVzeTogMAorCistLS0tLS0tLS0tLS0KK0FYSGFzRG9jdW1lbnRS
b2xlQW5jZXN0b3I6IDAKK0FYSGFzV2ViQXBwbGljYXRpb25BbmNlc3RvcjogMAorQVhSb2xlOiBB
WFJvdworQVhTdWJyb2xlOiAobnVsbCkKK0FYUm9sZURlc2NyaXB0aW9uOiByb3cKK0FYQ2hpbGRy
ZW46CitBWENoaWxkcmVuSW5OYXZpZ2F0aW9uT3JkZXI6CitBWEhlbHA6CitBWFBhcmVudDoKK0FY
U2l6ZTogTlNTaXplOiB7MTM1LCAyMH0KK0FYVGl0bGU6CitBWERlc2NyaXB0aW9uOgorQVhWYWx1
ZToKK0FYRm9jdXNlZDogMAorQVhFbmFibGVkOiAxCitBWFdpbmRvdzoKK0FYU2VsZWN0ZWRUZXh0
TWFya2VyUmFuZ2U6IChudWxsKQorQVhTdGFydFRleHRNYXJrZXI6CitBWEVuZFRleHRNYXJrZXI6
CitBWFZpc2l0ZWQ6IDAKK0FYTGlua2VkVUlFbGVtZW50czoKK0FYU2VsZWN0ZWQ6IDAKK0FYQmxv
Y2tRdW90ZUxldmVsOiAwCitBWFRvcExldmVsVUlFbGVtZW50OgorQVhMYW5ndWFnZToKK0FYRE9N
SWRlbnRpZmllcjoKK0FYRE9NQ2xhc3NMaXN0OgorQVhGb2N1c2FibGVBbmNlc3RvcjoKK0FYRWRp
dGFibGVBbmNlc3RvcjogKG51bGwpCitBWEhpZ2hlc3RFZGl0YWJsZUFuY2VzdG9yOiAobnVsbCkK
K0FYSW5kZXg6IDIKK0FYRWxlbWVudEJ1c3k6IDAKKworLS0tLS0tLS0tLS0tCisKK0FYSGFzRG9j
dW1lbnRSb2xlQW5jZXN0b3I6IDAKK0FYSGFzV2ViQXBwbGljYXRpb25BbmNlc3RvcjogMAorQVhS
b2xlOiBBWENlbGwKK0FYU3Vicm9sZTogKG51bGwpCitBWFJvbGVEZXNjcmlwdGlvbjogY2VsbAor
QVhDaGlsZHJlbjoKK0FYQ2hpbGRyZW5Jbk5hdmlnYXRpb25PcmRlcjoKK0FYSGVscDoKK0FYUGFy
ZW50OgorQVhTaXplOiBOU1NpemU6IHs2NCwgMjB9CitBWFRpdGxlOgorQVhEZXNjcmlwdGlvbjoK
K0FYVmFsdWU6CitBWEZvY3VzZWQ6IDAKK0FYRW5hYmxlZDogMQorQVhXaW5kb3c6CitBWFNlbGVj
dGVkVGV4dE1hcmtlclJhbmdlOiAobnVsbCkKK0FYU3RhcnRUZXh0TWFya2VyOgorQVhFbmRUZXh0
TWFya2VyOgorQVhWaXNpdGVkOiAwCitBWExpbmtlZFVJRWxlbWVudHM6CitBWFNlbGVjdGVkOiAw
CitBWEJsb2NrUXVvdGVMZXZlbDogMAorQVhUb3BMZXZlbFVJRWxlbWVudDoKK0FYTGFuZ3VhZ2U6
CitBWERPTUlkZW50aWZpZXI6CitBWERPTUNsYXNzTGlzdDoKK0FYRm9jdXNhYmxlQW5jZXN0b3I6
CitBWEVkaXRhYmxlQW5jZXN0b3I6IChudWxsKQorQVhIaWdoZXN0RWRpdGFibGVBbmNlc3Rvcjog
KG51bGwpCitBWFJvd0luZGV4UmFuZ2U6IE5TUmFuZ2U6IHswLCAxfQorQVhDb2x1bW5JbmRleFJh
bmdlOiBOU1JhbmdlOiB7MCwgMX0KK0FYQ29sdW1uSGVhZGVyVUlFbGVtZW50czoKK0FYUm93SGVh
ZGVyVUlFbGVtZW50czoKK0FYQVJJQUNvbHVtbkluZGV4OiAtMQorQVhBUklBUm93SW5kZXg6IC0x
CitBWEVsZW1lbnRCdXN5OiAwCitBWFJlcXVpcmVkOiAwCisKKy0tLS0tLS0tLS0tLQorQVhIYXNE
b2N1bWVudFJvbGVBbmNlc3RvcjogMAorQVhIYXNXZWJBcHBsaWNhdGlvbkFuY2VzdG9yOiAwCitB
WFJvbGU6IEFYQ2VsbAorQVhTdWJyb2xlOiAobnVsbCkKK0FYUm9sZURlc2NyaXB0aW9uOiBjZWxs
CitBWENoaWxkcmVuOgorQVhDaGlsZHJlbkluTmF2aWdhdGlvbk9yZGVyOgorQVhIZWxwOgorQVhQ
YXJlbnQ6CitBWFNpemU6IE5TU2l6ZTogezY1LCAyMH0KK0FYVGl0bGU6CitBWERlc2NyaXB0aW9u
OgorQVhWYWx1ZToKK0FYRm9jdXNlZDogMAorQVhFbmFibGVkOiAxCitBWFdpbmRvdzoKK0FYU2Vs
ZWN0ZWRUZXh0TWFya2VyUmFuZ2U6IChudWxsKQorQVhTdGFydFRleHRNYXJrZXI6CitBWEVuZFRl
eHRNYXJrZXI6CitBWFZpc2l0ZWQ6IDAKK0FYTGlua2VkVUlFbGVtZW50czoKK0FYU2VsZWN0ZWQ6
IDAKK0FYQmxvY2tRdW90ZUxldmVsOiAwCitBWFRvcExldmVsVUlFbGVtZW50OgorQVhMYW5ndWFn
ZToKK0FYRE9NSWRlbnRpZmllcjoKK0FYRE9NQ2xhc3NMaXN0OgorQVhGb2N1c2FibGVBbmNlc3Rv
cjoKK0FYRWRpdGFibGVBbmNlc3RvcjogKG51bGwpCitBWEhpZ2hlc3RFZGl0YWJsZUFuY2VzdG9y
OiAobnVsbCkKK0FYUm93SW5kZXhSYW5nZTogTlNSYW5nZTogezAsIDF9CitBWENvbHVtbkluZGV4
UmFuZ2U6IE5TUmFuZ2U6IHsxLCAxfQorQVhDb2x1bW5IZWFkZXJVSUVsZW1lbnRzOgorQVhSb3dI
ZWFkZXJVSUVsZW1lbnRzOgorQVhBUklBQ29sdW1uSW5kZXg6IC0xCitBWEFSSUFSb3dJbmRleDog
LTEKK0FYRWxlbWVudEJ1c3k6IDAKK0FYUmVxdWlyZWQ6IDAKKworLS0tLS0tLS0tLS0tCitBWEhh
c0RvY3VtZW50Um9sZUFuY2VzdG9yOiAwCitBWEhhc1dlYkFwcGxpY2F0aW9uQW5jZXN0b3I6IDAK
K0FYUm9sZTogQVhDZWxsCitBWFN1YnJvbGU6IChudWxsKQorQVhSb2xlRGVzY3JpcHRpb246IGNl
bGwKK0FYQ2hpbGRyZW46CitBWENoaWxkcmVuSW5OYXZpZ2F0aW9uT3JkZXI6CitBWEhlbHA6CitB
WFBhcmVudDoKK0FYU2l6ZTogTlNTaXplOiB7NjQsIDIwfQorQVhUaXRsZToKK0FYRGVzY3JpcHRp
b246CitBWFZhbHVlOgorQVhGb2N1c2VkOiAwCitBWEVuYWJsZWQ6IDEKK0FYV2luZG93OgorQVhT
ZWxlY3RlZFRleHRNYXJrZXJSYW5nZTogKG51bGwpCitBWFN0YXJ0VGV4dE1hcmtlcjoKK0FYRW5k
VGV4dE1hcmtlcjoKK0FYVmlzaXRlZDogMAorQVhMaW5rZWRVSUVsZW1lbnRzOgorQVhTZWxlY3Rl
ZDogMAorQVhCbG9ja1F1b3RlTGV2ZWw6IDAKK0FYVG9wTGV2ZWxVSUVsZW1lbnQ6CitBWExhbmd1
YWdlOgorQVhET01JZGVudGlmaWVyOgorQVhET01DbGFzc0xpc3Q6CitBWEZvY3VzYWJsZUFuY2Vz
dG9yOgorQVhFZGl0YWJsZUFuY2VzdG9yOiAobnVsbCkKK0FYSGlnaGVzdEVkaXRhYmxlQW5jZXN0
b3I6IChudWxsKQorQVhSb3dJbmRleFJhbmdlOiBOU1JhbmdlOiB7MSwgMX0KK0FYQ29sdW1uSW5k
ZXhSYW5nZTogTlNSYW5nZTogezAsIDF9CitBWENvbHVtbkhlYWRlclVJRWxlbWVudHM6CitBWFJv
d0hlYWRlclVJRWxlbWVudHM6CitBWEFSSUFDb2x1bW5JbmRleDogLTEKK0FYQVJJQVJvd0luZGV4
OiAtMQorQVhFbGVtZW50QnVzeTogMAorQVhSZXF1aXJlZDogMAorCistLS0tLS0tLS0tLS0KK0FY
SGFzRG9jdW1lbnRSb2xlQW5jZXN0b3I6IDAKK0FYSGFzV2ViQXBwbGljYXRpb25BbmNlc3Rvcjog
MAorQVhSb2xlOiBBWENlbGwKK0FYU3Vicm9sZTogKG51bGwpCitBWFJvbGVEZXNjcmlwdGlvbjog
Y2VsbAorQVhDaGlsZHJlbjoKK0FYQ2hpbGRyZW5Jbk5hdmlnYXRpb25PcmRlcjoKK0FYSGVscDoK
K0FYUGFyZW50OgorQVhTaXplOiBOU1NpemU6IHs2NSwgMjB9CitBWFRpdGxlOgorQVhEZXNjcmlw
dGlvbjoKK0FYVmFsdWU6CitBWEZvY3VzZWQ6IDAKK0FYRW5hYmxlZDogMQorQVhXaW5kb3c6CitB
WFNlbGVjdGVkVGV4dE1hcmtlclJhbmdlOiAobnVsbCkKK0FYU3RhcnRUZXh0TWFya2VyOgorQVhF
bmRUZXh0TWFya2VyOgorQVhWaXNpdGVkOiAwCitBWExpbmtlZFVJRWxlbWVudHM6CitBWFNlbGVj
dGVkOiAwCitBWEJsb2NrUXVvdGVMZXZlbDogMAorQVhUb3BMZXZlbFVJRWxlbWVudDoKK0FYTGFu
Z3VhZ2U6CitBWERPTUlkZW50aWZpZXI6CitBWERPTUNsYXNzTGlzdDoKK0FYRm9jdXNhYmxlQW5j
ZXN0b3I6CitBWEVkaXRhYmxlQW5jZXN0b3I6IChudWxsKQorQVhIaWdoZXN0RWRpdGFibGVBbmNl
c3RvcjogKG51bGwpCitBWFJvd0luZGV4UmFuZ2U6IE5TUmFuZ2U6IHsxLCAxfQorQVhDb2x1bW5J
bmRleFJhbmdlOiBOU1JhbmdlOiB7MSwgMX0KK0FYQ29sdW1uSGVhZGVyVUlFbGVtZW50czoKK0FY
Um93SGVhZGVyVUlFbGVtZW50czoKK0FYQVJJQUNvbHVtbkluZGV4OiAtMQorQVhBUklBUm93SW5k
ZXg6IC0xCitBWEVsZW1lbnRCdXN5OiAwCitBWFJlcXVpcmVkOiAwCisKKy0tLS0tLS0tLS0tLQor
QVhIYXNEb2N1bWVudFJvbGVBbmNlc3RvcjogMAorQVhIYXNXZWJBcHBsaWNhdGlvbkFuY2VzdG9y
OiAwCitBWFJvbGU6IEFYQ2VsbAorQVhTdWJyb2xlOiAobnVsbCkKK0FYUm9sZURlc2NyaXB0aW9u
OiBjZWxsCitBWENoaWxkcmVuOgorQVhDaGlsZHJlbkluTmF2aWdhdGlvbk9yZGVyOgorQVhIZWxw
OgorQVhQYXJlbnQ6CitBWFNpemU6IE5TU2l6ZTogezY0LCAyMH0KK0FYVGl0bGU6CitBWERlc2Ny
aXB0aW9uOgorQVhWYWx1ZToKK0FYRm9jdXNlZDogMAorQVhFbmFibGVkOiAxCitBWFdpbmRvdzoK
K0FYU2VsZWN0ZWRUZXh0TWFya2VyUmFuZ2U6IChudWxsKQorQVhTdGFydFRleHRNYXJrZXI6CitB
WEVuZFRleHRNYXJrZXI6CitBWFZpc2l0ZWQ6IDAKK0FYTGlua2VkVUlFbGVtZW50czoKK0FYU2Vs
ZWN0ZWQ6IDAKK0FYQmxvY2tRdW90ZUxldmVsOiAwCitBWFRvcExldmVsVUlFbGVtZW50OgorQVhM
YW5ndWFnZToKK0FYRE9NSWRlbnRpZmllcjogY2VsbDEKK0FYRE9NQ2xhc3NMaXN0OgorQVhGb2N1
c2FibGVBbmNlc3RvcjoKK0FYRWRpdGFibGVBbmNlc3RvcjogKG51bGwpCitBWEhpZ2hlc3RFZGl0
YWJsZUFuY2VzdG9yOiAobnVsbCkKK0FYUm93SW5kZXhSYW5nZTogTlNSYW5nZTogezIsIDF9CitB
WENvbHVtbkluZGV4UmFuZ2U6IE5TUmFuZ2U6IHswLCAxfQorQVhDb2x1bW5IZWFkZXJVSUVsZW1l
bnRzOgorQVhSb3dIZWFkZXJVSUVsZW1lbnRzOgorQVhBUklBQ29sdW1uSW5kZXg6IC0xCitBWEFS
SUFSb3dJbmRleDogLTEKK0FYRWxlbWVudEJ1c3k6IDAKK0FYUmVxdWlyZWQ6IDAKKworLS0tLS0t
LS0tLS0tCitBWEhhc0RvY3VtZW50Um9sZUFuY2VzdG9yOiAwCitBWEhhc1dlYkFwcGxpY2F0aW9u
QW5jZXN0b3I6IDAKK0FYUm9sZTogQVhDZWxsCitBWFN1YnJvbGU6IChudWxsKQorQVhSb2xlRGVz
Y3JpcHRpb246IGNlbGwKK0FYQ2hpbGRyZW46CitBWENoaWxkcmVuSW5OYXZpZ2F0aW9uT3JkZXI6
CitBWEhlbHA6CitBWFBhcmVudDoKK0FYU2l6ZTogTlNTaXplOiB7NjUsIDIwfQorQVhUaXRsZToK
K0FYRGVzY3JpcHRpb246CitBWFZhbHVlOgorQVhGb2N1c2VkOiAwCitBWEVuYWJsZWQ6IDEKK0FY
V2luZG93OgorQVhTZWxlY3RlZFRleHRNYXJrZXJSYW5nZTogKG51bGwpCitBWFN0YXJ0VGV4dE1h
cmtlcjoKK0FYRW5kVGV4dE1hcmtlcjoKK0FYVmlzaXRlZDogMAorQVhMaW5rZWRVSUVsZW1lbnRz
OgorQVhTZWxlY3RlZDogMAorQVhCbG9ja1F1b3RlTGV2ZWw6IDAKK0FYVG9wTGV2ZWxVSUVsZW1l
bnQ6CitBWExhbmd1YWdlOgorQVhET01JZGVudGlmaWVyOiBjZWxsMgorQVhET01DbGFzc0xpc3Q6
CitBWEZvY3VzYWJsZUFuY2VzdG9yOgorQVhFZGl0YWJsZUFuY2VzdG9yOiAobnVsbCkKK0FYSGln
aGVzdEVkaXRhYmxlQW5jZXN0b3I6IChudWxsKQorQVhSb3dJbmRleFJhbmdlOiBOU1JhbmdlOiB7
MiwgMX0KK0FYQ29sdW1uSW5kZXhSYW5nZTogTlNSYW5nZTogezEsIDF9CitBWENvbHVtbkhlYWRl
clVJRWxlbWVudHM6CitBWFJvd0hlYWRlclVJRWxlbWVudHM6CitBWEFSSUFDb2x1bW5JbmRleDog
LTEKK0FYQVJJQVJvd0luZGV4OiAtMQorQVhFbGVtZW50QnVzeTogMAorQVhSZXF1aXJlZDogMAor
CistLS0tLS0tLS0tLS0KKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCitIZWFkZXIgMQlIZWFkZXIgMgorSGVhZGVyIDMJSGVhZGVyIDQKK0NlbGwgMQlD
ZWxsIDIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGFibGUtaW5zZXJ0
LXNlY29uZC10aGVhZC5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90YWJsZS1pbnNl
cnQtc2Vjb25kLXRoZWFkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwLi5jOGNjNjM1MzUwYWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L3RhYmxlLWluc2VydC1zZWNvbmQtdGhlYWQuaHRtbApAQCAtMCwwICsxLDU1IEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9hY2Nlc3NpYmlsaXR5LWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+CisKKzx0YWJsZSBpZD0idGFibGUiPgorICAgIDx0aGVhZCBpZD0i
dGhlYWQxIj4KKyAgICAgICAgPHRyPgorICAgICAgICAgICAgPHRoPkhlYWRlciAxPC90aD4KKyAg
ICAgICAgICAgIDx0aD5IZWFkZXIgMjwvdGg+CisgICAgICAgIDwvdHI+CisgICAgPC90aGVhZD4K
KyAgICA8dGJvZHk+CisgICAgICAgIDx0cj4KKyAgICAgICAgICAgIDx0ZD5DZWxsIDE8L3RkPgor
ICAgICAgICAgICAgPHRkPkNlbGwgMjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgPC90Ym9keT4K
KzwvdGFibGU+CisKKzxzY3JpcHQ+Cit2YXIgb3V0cHV0ID0gIlRoaXMgdGVzdHMgdGhhdCB0aGUg
YXR0cmlidXRlcyBvZiB0YWJsZSByb3dzIGFuZCBjZWxscyBhcmUgY29ycmVjdCB3aGVuIHRoZXJl
IGFyZSB0d28gVEhFQURzLlxuXG4iCisKK2lmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIpIHsKKyAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisgICAgCisgICAgdmFyIHRh
YmxlID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJ0YWJs
ZSIpOworCisgICAgb3V0cHV0ICs9IGV4cGVjdCgidGFibGUucm93Q291bnQiLCAiMiIpOworICAg
IG91dHB1dCArPSBleHBlY3QoInRhYmxlLmNvbHVtbkNvdW50IiwgIjIiKTsKKworICAgIGxldCBu
ZXdUSEVBRCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RoZWFkJyk7CisgICAgbmV3VEhFQUQu
aW5uZXJIVE1MID0gIjx0cj48dGg+SGVhZGVyIDM8L3RoPjx0aD5IZWFkZXIgNDwvdGg+PC90cj4i
OworCisgICAgb3V0cHV0ICs9ICJcbkFkZGluZyBUSEVBRDpcblxuIjsKKyAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgidGhlYWQxIikuYWZ0ZXIobmV3VEhFQUQpOworCisgICAgc2V0VGltZW91
dChhc3luYyBmdW5jdGlvbigpIHsKKyAgICAgICAgb3V0cHV0ICs9IGF3YWl0IGV4cGVjdEFzeW5j
KCJ0YWJsZS5yb3dDb3VudCIsICIzIik7CisgICAgICAgIG91dHB1dCArPSBhd2FpdCBleHBlY3RB
c3luYygidGFibGUuY29sdW1uQ291bnQiLCAiMiIpOworCisgICAgICAgIG91dHB1dCArPSBgXG4k
e3RhYmxlLmF0dHJpYnV0ZXNPZlJvd3MoKX1gOworICAgICAgICBvdXRwdXQgKz0gYFxuJHt0YWJs
ZS5hdHRyaWJ1dGVzT2ZWaXNpYmxlQ2VsbHMoKX1gOworCisgICAgICAgIGRlYnVnKG91dHB1dCk7
CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0sIDApOworfQorPC9zY3JpcHQ+CisKKzwv
Ym9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>470193</attachid>
            <date>2024-03-05 20:38:46 -0800</date>
            <delta_ts>2024-03-05 22:09:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-270535-20240305203845.patch</filename>
            <type>text/plain</type>
            <size>18356</size>
            <attacher name="Joshua Hoffman">jhoffman23</attacher>
            
              <data encoding="base64">RnJvbSA5ZDYwN2IzODJhN2E0OTgzZmZhMDI4MGRkYzhhMmUwMDYzZTI3MjE4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb3NodWEgSG9mZm1hbiA8amhvZmZtYW4yM0BhcHBsZS5jb20+
CkRhdGU6IFR1ZSwgNSBNYXIgMjAyNCAxOTowNTo1NCAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIEFY
OiBBWFByb3BlcnR5TmFtZTo6e0NvbHVtbkluZGV4LCBSb3dJbmRleH0gYXJlIG5vdCB1cGRhdGVk
CiBvbiB0aGUgaXNvbGF0ZWQgdHJlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjcwNTM1CiByZGFyOi8vMTE4MjQwODYxCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KClRoZXNlIHByb3BlcnRpZXMsIENvbHVtbkluZGV4IGFuZCBSb3dJbmRleCwgd2VyZSBuZXZl
ciB1cGRhdGVkIG9uIGlzb2xhdGVkIG9iamVjdHMKYWZ0ZXIgYmVpbmcgaW5pdGlhbGl6ZWQuIFRo
aXMgY2FuIGNhdXNlIGlzc3VlcyBhcyBBVHMgcmVseSBvbiB0aGVzZSBwcm9wZXJ0aWVzIHRvCmFj
Y3VyYXRlbHkgbmF2aWdhdGUgdGFibGVzLgoKVHdvIHRlc3RzIHdlcmUgYWRkZWQgdG8gZmxleCB0
aGlzIGJlaGF2aW9yLiB0YWJsZS1pbnNlcnQtc2Vjb25kLXRoZWFkLmh0bWwgYWxzbwp0ZXN0cyB0
aGF0IHdlIGFyZSByZXNpbGllbnQgdG8gYXV0aG9yaW5nIGVycm9ycyB3aXRoIHJlc3BlY3QgdG8g
bXVsdGlwbGUgdGFibGUKaGVhZGVyIGVsZW1lbnRzLgoKKiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L2R5bmFtaWMtdGFibGUtcm93LWNvbHVtbi1pbmRpY2VzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CiogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9keW5hbWljLXRhYmxlLXJvdy1jb2x1bW4taW5k
aWNlcy5odG1sOiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RhYmxlLWluc2Vy
dC1zZWNvbmQtdGhlYWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L3RhYmxlLWluc2VydC1zZWNvbmQtdGhlYWQuaHRtbDogQWRkZWQuCiogU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcDoKKFdlYkNvcmU6OkFYT2JqZWN0
Q2FjaGU6OmNvbHVtbkluZGV4Q2hhbmdlZCk6CihXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpyb3dJ
bmRleENoYW5nZWQpOgooV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6dXBkYXRlSXNvbGF0ZWRUcmVl
KToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKiBTb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbi5jcHA6CihX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW46OnNldENvbHVtbkluZGV4KToKKiBTb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbi5oOgoqIFNv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlUm93LmNwcDoKKFdl
YkNvcmU6OkFjY2Vzc2liaWxpdHlUYWJsZVJvdzo6c2V0Um93SW5kZXgpOgoqIFNvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlUm93Lmg6CihXZWJDb3JlOjpBY2Nl
c3NpYmlsaXR5VGFibGVSb3c6OnNldFJvd0luZGV4KTogRGVsZXRlZC4KKiBTb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5jcHA6CihXZWJDb3Jl
OjpBWElzb2xhdGVkVHJlZTo6dXBkYXRlTm9kZVByb3BlcnRpZXMpOgotLS0KIC4uLi9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgICB8IDEyICsrLS0KIFNvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oICB8ICA0ICstCiAuLi4vQWNjZXNzaWJp
bGl0eVRhYmxlQ29sdW1uLmNwcCAgICAgICAgICAgICAgfCAxMiArKysrCiAuLi4vYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW4uaCAgfCAgMiArLQogLi4uL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eVRhYmxlUm93LmNwcCAgIHwgMTIgKysrKwogLi4uL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eVRhYmxlUm93LmggICAgIHwgIDIgKy0KIC4uLi9pc29sYXRlZHRyZWUv
QVhJc29sYXRlZFRyZWUuY3BwICAgICAgICAgICB8ICA2ICsrCiAuLi5hbWljLXRhYmxlLXJvdy1j
b2x1bW4taW5kaWNlcy1leHBlY3RlZC50eHQgfCAzMCArKysrKysrKwogLi4uL2R5bmFtaWMtdGFi
bGUtcm93LWNvbHVtbi1pbmRpY2VzLmh0bWwgICAgIHwgNjggKysrKysrKysrKysrKysrKysrCiAu
Li4vdGFibGUtaW5zZXJ0LXNlY29uZC10aGVhZC1leHBlY3RlZC50eHQgICAgfCAzMSArKysrKysr
KwogLi4uL3RhYmxlLWluc2VydC1zZWNvbmQtdGhlYWQuaHRtbCAgICAgICAgICAgIHwgNzEgKysr
KysrKysrKysrKysrKysrKwogMTEgZmlsZXMgY2hhbmdlZCwgMjQyIGluc2VydGlvbnMoKyksIDgg
ZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9keW5hbWljLXRhYmxlLXJvdy1jb2x1bW4taW5kaWNlcy1leHBlY3RlZC50eHQKIGNyZWF0ZSBt
b2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2R5bmFtaWMtdGFibGUtcm93LWNv
bHVtbi1pbmRpY2VzLmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L3RhYmxlLWluc2VydC1zZWNvbmQtdGhlYWQtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9k
ZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90YWJsZS1pbnNlcnQtc2Vjb25kLXRo
ZWFkLmh0bWwKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2Jq
ZWN0Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hl
LmNwcAppbmRleCA1NzM1NzVmZTYwNDkuLjQ2NDRiNWY5MjA5NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCkBAIC0xNDc4LDE0ICsxNDc4LDE0
IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6dmFsdWVDaGFuZ2VkKEVsZW1lbnQqIGVsZW1lbnQpCiB9
CiAKICNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQotdm9pZCBBWE9iamVj
dENhY2hlOjpjb2x1bW5JbmRleENoYW5nZWQoQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbCYgY2VsbCkK
K3ZvaWQgQVhPYmplY3RDYWNoZTo6Y29sdW1uSW5kZXhDaGFuZ2VkKEFjY2Vzc2liaWxpdHlPYmpl
Y3QmIG9iamVjdCkKIHsKLSAgICBwb3N0Tm90aWZpY2F0aW9uKGNlbGwsIEFYQ29sdW1uSW5kZXhD
aGFuZ2VkKTsKKyAgICBwb3N0Tm90aWZpY2F0aW9uKG9iamVjdCwgQVhDb2x1bW5JbmRleENoYW5n
ZWQpOwogfQogCi12b2lkIEFYT2JqZWN0Q2FjaGU6OnJvd0luZGV4Q2hhbmdlZChBY2Nlc3NpYmls
aXR5VGFibGVDZWxsJiBjZWxsKQordm9pZCBBWE9iamVjdENhY2hlOjpyb3dJbmRleENoYW5nZWQo
QWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KQogewotICAgIHBvc3ROb3RpZmljYXRpb24oY2Vs
bCwgQVhSb3dJbmRleENoYW5nZWQpOworICAgIHBvc3ROb3RpZmljYXRpb24ob2JqZWN0LCBBWFJv
d0luZGV4Q2hhbmdlZCk7CiB9CiAjZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFU
RURfVFJFRSkKIApAQCAtNDM3MSw2ICs0MzcxLDggQEAgdm9pZCBBWE9iamVjdENhY2hlOjp1cGRh
dGVJc29sYXRlZFRyZWUoY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxSZWZQdHI8QWNjZXNzaWJpbGkK
ICAgICAgICAgICAgIHRyZWUtPnF1ZXVlTm9kZVVwZGF0ZShub3RpZmljYXRpb24uZmlyc3QtPm9i
amVjdElEKCksIHsgQVhQcm9wZXJ0eU5hbWU6OkFYQ29sdW1uQ291bnQgfSk7CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgY2FzZSBBWENvbHVtbkluZGV4Q2hhbmdlZDoKKyAgICAgICAgICAg
IHRyZWUtPnF1ZXVlTm9kZVVwZGF0ZShub3RpZmljYXRpb24uZmlyc3QtPm9iamVjdElEKCksIHsg
eyBBWFByb3BlcnR5TmFtZTo6Q29sdW1uSW5kZXhSYW5nZSwgQVhQcm9wZXJ0eU5hbWU6OkNvbHVt
bkluZGV4IH0gfSk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBBWENvbHVtblNw
YW5DaGFuZ2VkOgogICAgICAgICAgICAgdHJlZS0+cXVldWVOb2RlVXBkYXRlKG5vdGlmaWNhdGlv
bi5maXJzdC0+b2JqZWN0SUQoKSwgeyBBWFByb3BlcnR5TmFtZTo6Q29sdW1uSW5kZXhSYW5nZSB9
KTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtNDQzNiw2ICs0NDM4LDggQEAgdm9pZCBBWE9iamVj
dENhY2hlOjp1cGRhdGVJc29sYXRlZFRyZWUoY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxSZWZQdHI8
QWNjZXNzaWJpbGkKICAgICAgICAgICAgIHRyZWUtPnF1ZXVlTm9kZVVwZGF0ZShub3RpZmljYXRp
b24uZmlyc3QtPm9iamVjdElEKCksIHsgQVhQcm9wZXJ0eU5hbWU6OlJvbGVEZXNjcmlwdGlvbiB9
KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEFYUm93SW5kZXhDaGFuZ2VkOgor
ICAgICAgICAgICAgdHJlZS0+cXVldWVOb2RlVXBkYXRlKG5vdGlmaWNhdGlvbi5maXJzdC0+b2Jq
ZWN0SUQoKSwgeyB7IEFYUHJvcGVydHlOYW1lOjpSb3dJbmRleFJhbmdlLCBBWFByb3BlcnR5TmFt
ZTo6Um93SW5kZXggfSB9KTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEFYUm93
U3BhbkNoYW5nZWQ6CiAgICAgICAgICAgICB0cmVlLT5xdWV1ZU5vZGVVcGRhdGUobm90aWZpY2F0
aW9uLmZpcnN0LT5vYmplY3RJRCgpLCB7IEFYUHJvcGVydHlOYW1lOjpSb3dJbmRleFJhbmdlIH0p
OwogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5oCmluZGV4IDI4Mzg2ZjJjYTQzZi4uYTJkMDkyNjQyNGUzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaApAQCAtMjEyLDggKzIxMiw4
IEBAIHB1YmxpYzoKICAgICB2b2lkIGhhbmRsZVJvbGVDaGFuZ2VkKEFjY2Vzc2liaWxpdHlPYmpl
Y3QmKTsKIAogI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCi0gICAgdm9p
ZCBjb2x1bW5JbmRleENoYW5nZWQoQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbCYpOwotICAgIHZvaWQg
cm93SW5kZXhDaGFuZ2VkKEFjY2Vzc2liaWxpdHlUYWJsZUNlbGwmKTsKKyAgICB2b2lkIGNvbHVt
bkluZGV4Q2hhbmdlZChBY2Nlc3NpYmlsaXR5T2JqZWN0Jik7CisgICAgdm9pZCByb3dJbmRleENo
YW5nZWQoQWNjZXNzaWJpbGl0eU9iamVjdCYpOwogI2VuZGlmCiAKICAgICAvLyBDYWxsZWQgd2hl
biBhIFJlbmRlck9iamVjdCBpcyBjcmVhdGVkIGZvciBhbiBFbGVtZW50LiBEZXBlbmRpbmcgb24g
dGhlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlUYWJsZUNvbHVtbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlUYWJsZUNvbHVtbi5jcHAKaW5kZXggNjg2YjM2NWQyOTBiLi5mNDUxYjAwNTBiMGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxl
Q29sdW1uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlUYWJsZUNvbHVtbi5jcHAKQEAgLTc0LDYgKzc0LDE4IEBAIEFYQ29yZU9iamVjdCogQWNjZXNz
aWJpbGl0eVRhYmxlQ29sdW1uOjpjb2x1bW5IZWFkZXIoKQogICAgIHJldHVybiBudWxscHRyOwog
fQogCit2b2lkIEFjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbjo6c2V0Q29sdW1uSW5kZXgodW5zaWdu
ZWQgY29sdW1uSW5kZXgpCit7CisgICAgaWYgKG1fY29sdW1uSW5kZXggPT0gY29sdW1uSW5kZXgp
CisgICAgICAgIHJldHVybjsKKyAgICBtX2NvbHVtbkluZGV4ID0gY29sdW1uSW5kZXg7CisKKyNp
ZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorICAgIGlmIChhdXRvKiBjYWNo
ZSA9IGF4T2JqZWN0Q2FjaGUoKSkKKyAgICAgICAgY2FjaGUtPmNvbHVtbkluZGV4Q2hhbmdlZCgq
dGhpcyk7CisjZW5kaWYKK30KKwogYm9vbCBBY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW46OmNvbXB1
dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3QKIHsKICAgICBpZiAoIW1fcGFyZW50KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFi
bGVDb2x1bW4uaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRh
YmxlQ29sdW1uLmgKaW5kZXggZWJkMTg5YThkYjU3Li5lYzZhMWNiMjMxNmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDb2x1
bW4uaApAQCAtNDMsNyArNDMsNyBAQCBwdWJsaWM6CiAKICAgICBBY2Nlc3NpYmlsaXR5Um9sZSBk
ZXRlcm1pbmVBY2Nlc3NpYmlsaXR5Um9sZSgpIGZpbmFsIHsgcmV0dXJuIEFjY2Vzc2liaWxpdHlS
b2xlOjpDb2x1bW47IH0KIAotICAgIHZvaWQgc2V0Q29sdW1uSW5kZXgodW5zaWduZWQgY29sdW1u
SW5kZXgpIHsgbV9jb2x1bW5JbmRleCA9IGNvbHVtbkluZGV4OyB9CisgICAgdm9pZCBzZXRDb2x1
bW5JbmRleCh1bnNpZ25lZCk7CiAgICAgdW5zaWduZWQgY29sdW1uSW5kZXgoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiBtX2NvbHVtbkluZGV4OyB9CiAKICAgICB2b2lkIGFkZENoaWxkcmVuKCkg
b3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlUYWJsZVJvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlUYWJsZVJvdy5jcHAKaW5kZXggNmQwNjE4MmYxN2E5Li43MzU5MzQ1OWI3NDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxl
Um93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlU
YWJsZVJvdy5jcHAKQEAgLTExNyw2ICsxMTcsMTggQEAgQWNjZXNzaWJpbGl0eVRhYmxlKiBBY2Nl
c3NpYmlsaXR5VGFibGVSb3c6OnBhcmVudFRhYmxlKCkgY29uc3QKICAgICByZXR1cm4gbnVsbHB0
cjsKIH0KIAordm9pZCBBY2Nlc3NpYmlsaXR5VGFibGVSb3c6OnNldFJvd0luZGV4KHVuc2lnbmVk
IHJvd0luZGV4KQoreworICAgIGlmIChtX3Jvd0luZGV4ID09IHJvd0luZGV4KQorICAgICAgICBy
ZXR1cm47CisgICAgbV9yb3dJbmRleCA9IHJvd0luZGV4OworCisjaWYgRU5BQkxFKEFDQ0VTU0lC
SUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICBpZiAoYXV0byogY2FjaGUgPSBheE9iamVjdENhY2hl
KCkpCisgICAgICAgIGNhY2hlLT5yb3dJbmRleENoYW5nZWQoKnRoaXMpOworI2VuZGlmCit9CisK
IEFYQ29yZU9iamVjdCogQWNjZXNzaWJpbGl0eVRhYmxlUm93Ojpyb3dIZWFkZXIoKQogewogICAg
IGNvbnN0IGF1dG8mIHJvd0NoaWxkcmVuID0gY2hpbGRyZW4oKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlUm93LmggYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZVJvdy5oCmluZGV4IGIzYTY1
NDA5YzJkYy4uMDZkNmU4NzJjNDkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZVJvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlUm93LmgKQEAgLTQ0LDcgKzQ0LDcgQEAgcHVibGlj
OgogICAgIEFYQ29yZU9iamVjdCogcm93SGVhZGVyKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBB
Y2Nlc3NpYmlsaXR5VGFibGUqIHBhcmVudFRhYmxlKCkgY29uc3Q7CiAKLSAgICB2b2lkIHNldFJv
d0luZGV4KHVuc2lnbmVkIHJvd0luZGV4KSB7IG1fcm93SW5kZXggPSByb3dJbmRleDsgfQorICAg
IHZvaWQgc2V0Um93SW5kZXgodW5zaWduZWQpOwogICAgIHVuc2lnbmVkIHJvd0luZGV4KCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9yb3dJbmRleDsgfQogCiAgICAgLy8gYWxsb3dzIHRoZSB0
YWJsZSB0byBhZGQgb3RoZXIgY2hpbGRyZW4gdGhhdCBtYXkgbm90IG9yaWdpbmF0ZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRl
ZFRyZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJ
c29sYXRlZFRyZWUuY3BwCmluZGV4IDNiNzk5YzNkMWNmOS4uYzY0NWMwMDg3MTE5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVk
VHJlZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUv
QVhJc29sYXRlZFRyZWUuY3BwCkBAIC01OTIsNiArNTkyLDkgQEAgdm9pZCBBWElzb2xhdGVkVHJl
ZTo6dXBkYXRlTm9kZVByb3BlcnRpZXMoQVhDb3JlT2JqZWN0JiBheE9iamVjdCwgY29uc3QgQVhQ
cm9wZXIKICAgICAgICAgY2FzZSBBWFByb3BlcnR5TmFtZTo6Q2VsbFNsb3RzOgogICAgICAgICAg
ICAgcHJvcGVydHlNYXAuc2V0KEFYUHJvcGVydHlOYW1lOjpDZWxsU2xvdHMsIGR5bmFtaWNEb3du
Y2FzdDxBY2Nlc3NpYmlsaXR5T2JqZWN0PihheE9iamVjdCktPmNlbGxTbG90cygpKTsKICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEFYUHJvcGVydHlOYW1lOjpDb2x1bW5JbmRleDoK
KyAgICAgICAgICAgIHByb3BlcnR5TWFwLnNldChBWFByb3BlcnR5TmFtZTo6Q29sdW1uSW5kZXgs
IGF4T2JqZWN0LmNvbHVtbkluZGV4KCkpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNh
c2UgQVhQcm9wZXJ0eU5hbWU6OkNvbHVtbkluZGV4UmFuZ2U6CiAgICAgICAgICAgICBwcm9wZXJ0
eU1hcC5zZXQoQVhQcm9wZXJ0eU5hbWU6OkNvbHVtbkluZGV4UmFuZ2UsIGF4T2JqZWN0LmNvbHVt
bkluZGV4UmFuZ2UoKSk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTY2NSw2ICs2NjgsOSBAQCB2
b2lkIEFYSXNvbGF0ZWRUcmVlOjp1cGRhdGVOb2RlUHJvcGVydGllcyhBWENvcmVPYmplY3QmIGF4
T2JqZWN0LCBjb25zdCBBWFByb3BlcgogICAgICAgICBjYXNlIEFYUHJvcGVydHlOYW1lOjpSb2xl
RGVzY3JpcHRpb246CiAgICAgICAgICAgICBwcm9wZXJ0eU1hcC5zZXQoQVhQcm9wZXJ0eU5hbWU6
OlJvbGVEZXNjcmlwdGlvbiwgYXhPYmplY3Qucm9sZURlc2NyaXB0aW9uKCkuaXNvbGF0ZWRDb3B5
KCkpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQVhQcm9wZXJ0eU5hbWU6OlJv
d0luZGV4OgorICAgICAgICAgICAgcHJvcGVydHlNYXAuc2V0KEFYUHJvcGVydHlOYW1lOjpSb3dJ
bmRleCwgYXhPYmplY3Qucm93SW5kZXgoKSk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAg
Y2FzZSBBWFByb3BlcnR5TmFtZTo6Um93SW5kZXhSYW5nZToKICAgICAgICAgICAgIHByb3BlcnR5
TWFwLnNldChBWFByb3BlcnR5TmFtZTo6Um93SW5kZXhSYW5nZSwgYXhPYmplY3Qucm93SW5kZXhS
YW5nZSgpKTsKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS9keW5hbWljLXRhYmxlLXJvdy1jb2x1bW4taW5kaWNlcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2R5bmFtaWMtdGFibGUtcm93LWNvbHVtbi1pbmRp
Y2VzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu
LjdhN2Y5Y2MzZWJiYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvZHluYW1pYy10YWJsZS1yb3ctY29sdW1uLWluZGljZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzAgQEAKK1RoaXMgdGVzdHMgdGhhdCB0YWJsZSByb3cgYW5kIGNvbHVtbiBpbmRpY2llcyB1
cGRhdGUgY29ycmVjdGx5IGFmdGVyIHJvdy9jb2x1bW4gaW5zZXJ0aW9ucy4KKworUm93IEluZGV4
IFswXTogMAorUm93IEluZGV4IFsxXTogMQorQ29sdW1uIEluZGV4IFswXTogMAorQ29sdW1uIElu
ZGV4IFsxXTogMQorCitBZGRpbmcgcm93IGF0IGluZGV4IDE6CisKK1JvdyBJbmRleCBbMF06IDAK
K1JvdyBJbmRleCBbMV06IDEKK1JvdyBJbmRleCBbMl06IDIKK0NvbHVtbiBJbmRleCBbMF06IDAK
K0NvbHVtbiBJbmRleCBbMV06IDEKKworQWRkaW5nIGNlbGwgdG8gcm93IDA6CisKK1JvdyBJbmRl
eCBbMF06IDAKK1JvdyBJbmRleCBbMV06IDEKK1JvdyBJbmRleCBbMl06IDIKK0NvbHVtbiBJbmRl
eCBbMF06IDAKK0NvbHVtbiBJbmRleCBbMV06IDEKK0NvbHVtbiBJbmRleCBbMl06IDIKKworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitDZWxsIDEJQ2Vs
bCAyCUNlbGwgNworQ2VsbCA1CUNlbGwgNgorQ2VsbCAzCUNlbGwgNApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9keW5hbWljLXRhYmxlLXJvdy1jb2x1bW4taW5kaWNlcy5o
dG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9keW5hbWljLXRhYmxlLXJvdy1jb2x1bW4t
aW5kaWNlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMjMx
ODAxNWQ3ZWY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9k
eW5hbWljLXRhYmxlLXJvdy1jb2x1bW4taW5kaWNlcy5odG1sCkBAIC0wLDAgKzEsNjggQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2FjY2Vzc2liaWxpdHktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICAKKzx0YWJsZSBpZD0idGFibGUiPgorICAgIDx0ciBpZD0i
dHIxIj4KKyAgICAgICAgPHRoPkNlbGwgMTwvdGg+CisgICAgICAgIDx0aD5DZWxsIDI8L3RoPgor
ICAgIDwvdHI+CisgICAgPHRyIGlkPSJ0cjIiPgorICAgICAgICA8dGQ+Q2VsbCAzPC90ZD4KKyAg
ICAgICAgPHRkPkNlbGwgNDwvdGQ+CisgICAgPC90cj4KKzwvdGFibGU+CisKKzxzY3JpcHQ+Citm
dW5jdGlvbiB0YWJsZVJvd0FuZENvbHVtbkluZGljZXModGFibGUpIHsKKyAgICBsZXQgcmVzdWx0
ID0gIiI7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0YWJsZS5yb3dDb3VudDsgaSsrKSB7Cisg
ICAgICAgIHJlc3VsdCArPSBgUm93IEluZGV4IFske2l9XTogJHt0YWJsZS5yb3dBdEluZGV4KGkp
LmluZGV4SW5UYWJsZSgpfVxuYDsKKyAgICB9ICAgCisKKyAgICBjb25zdCBjb2x1bW5zID0gdGFi
bGUuY29sdW1ucygpOworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGFibGUuY29sdW1uQ291bnQ7
IGkrKykgeworICAgICAgICByZXN1bHQgKz0gYENvbHVtbiBJbmRleCBbJHtpfV06ICR7Y29sdW1u
c1tpXS5pbmRleEluVGFibGUoKX1cbmA7CisgICAgfSAgIAorICAgIHJldHVybiByZXN1bHQ7Cit9
ICAgIAorCit2YXIgb3V0cHV0ID0gIlRoaXMgdGVzdHMgdGhhdCB0YWJsZSByb3cgYW5kIGNvbHVt
biBpbmRpY2llcyB1cGRhdGUgY29ycmVjdGx5IGFmdGVyIHJvdy9jb2x1bW4gaW5zZXJ0aW9ucy5c
blxuIgorCitpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgd2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgdmFyIHRhYmxlID0gYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJ0YWJsZSIpOworICAgIG91dHB1dCArPSB0
YWJsZVJvd0FuZENvbHVtbkluZGljZXModGFibGUpOworCisgICAgLy8gSW5zZXJ0IGEgbmV3IHJv
dyBhdCBpbmRleCAxCisgICAgb3V0cHV0ICs9ICJcbkFkZGluZyByb3cgYXQgaW5kZXggMTpcblxu
IjsKKyAgICBsZXQgbmV3Um93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidHIiKTsKKyAgICBu
ZXdSb3cuaW5uZXJIVE1MID0gIjx0ZD5DZWxsIDU8L3RkPjx0ZD5DZWxsIDY8L3RkPiI7CisgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRyMSIpLmFmdGVyKG5ld1Jvdyk7CisKKyAgICBzZXRU
aW1lb3V0KGFzeW5jIGZ1bmN0aW9uKCkgeworICAgICAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IGFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgidHIyIikuaW5kZXhJ
blRhYmxlKCkgPT0gMik7CisgICAgICAgIG91dHB1dCArPSB0YWJsZVJvd0FuZENvbHVtbkluZGlj
ZXModGFibGUpOworCisgICAgICAgIC8vIENyZWF0ZSBhIG5ldyBjb2x1bW4gYnkgaW5zZXJ0aW5n
IGEgY2VsbCBhdCB0aGUgZW5kIG9mIGEgcm93CisgICAgICAgIG91dHB1dCArPSAiXG5BZGRpbmcg
Y2VsbCB0byByb3cgMDpcblxuIjsKKyAgICAgICAgbGV0IG5ld0NlbGwgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJ0ZCIpOworICAgICAgICBuZXdDZWxsLmlubmVySFRNTCA9ICJDZWxsIDciOwor
ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidHIxIikuYXBwZW5kKG5ld0NlbGwpOwor
CisgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4gdGFibGUuY29sdW1ucygpLmxlbmd0aCA9PSAz
KTsKKyAgICAgICAgb3V0cHV0ICs9IHRhYmxlUm93QW5kQ29sdW1uSW5kaWNlcyh0YWJsZSk7CisK
KyAgICAgICAgZGVidWcob3V0cHV0KTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfSwg
MCk7Cit9Cis8L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvYWNjZXNzaWJpbGl0eS90YWJsZS1pbnNlcnQtc2Vjb25kLXRoZWFkLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGFibGUtaW5zZXJ0LXNlY29uZC10aGVhZC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4wYmM0
YTY4NjlhZmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3Rh
YmxlLWluc2VydC1zZWNvbmQtdGhlYWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzEgQEAKK1Ro
aXMgdGVzdHMgdGhhdCB0aGUgYXR0cmlidXRlcyBvZiB0YWJsZSByb3dzIGFuZCBjZWxscyBhcmUg
Y29ycmVjdCB3aGVuIHRoZXJlIGFyZSB0d28gVEhlYWRzLgorCitQQVNTOiB0YWJsZS5yb3dDb3Vu
dCA9PT0gMgorUEFTUzogdGFibGUuY29sdW1uQ291bnQgPT09IDIKKworQWRkaW5nIFRIZWFkOgor
CitQQVNTOiB0YWJsZS5yb3dDb3VudCA9PT0gMworUEFTUzogdGFibGUuY29sdW1uQ291bnQgPT09
IDIKK1BBU1M6IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgn
dHIxJykuaW5kZXhJblRhYmxlKCkgPT09IDAKK1BBU1M6IGFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmFjY2Vzc2libGVFbGVtZW50QnlJZCgndHIyJykuaW5kZXhJblRhYmxlKCkgPT09IDIKK1BBU1M6
IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndHIzJykuaW5k
ZXhJblRhYmxlKCkgPT09IDEKK1BBU1M6IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2li
bGVFbGVtZW50QnlJZCgndGgxJykucm93SW5kZXhSYW5nZSgpID09PSAnezAsIDF9JworUEFTUzog
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0aDEnKS5jb2x1
bW5JbmRleFJhbmdlKCkgPT09ICd7MCwgMX0nCitQQVNTOiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxl
ci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RoMicpLnJvd0luZGV4UmFuZ2UoKSA9PT0gJ3swLCAx
fScKK1BBU1M6IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgn
dGgyJykuY29sdW1uSW5kZXhSYW5nZSgpID09PSAnezEsIDF9JworUEFTUzogYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0aDMnKS5yb3dJbmRleFJhbmdlKCkg
PT09ICd7MSwgMX0nCitQQVNTOiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxl
bWVudEJ5SWQoJ3RoMycpLmNvbHVtbkluZGV4UmFuZ2UoKSA9PT0gJ3swLCAxfScKK1BBU1M6IGFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGg0Jykucm93SW5k
ZXhSYW5nZSgpID09PSAnezEsIDF9JworUEFTUzogYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNj
ZXNzaWJsZUVsZW1lbnRCeUlkKCd0aDQnKS5jb2x1bW5JbmRleFJhbmdlKCkgPT09ICd7MSwgMX0n
CitQQVNTOiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3Rk
MScpLnJvd0luZGV4UmFuZ2UoKSA9PT0gJ3syLCAxfScKK1BBU1M6IGFjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGQxJykuY29sdW1uSW5kZXhSYW5nZSgpID09
PSAnezAsIDF9JworUEFTUzogYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1l
bnRCeUlkKCd0ZDInKS5yb3dJbmRleFJhbmdlKCkgPT09ICd7MiwgMX0nCitQQVNTOiBhY2Nlc3Np
YmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RkMicpLmNvbHVtbkluZGV4
UmFuZ2UoKSA9PT0gJ3sxLCAxfScKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCitIZWFkZXIgMQlIZWFkZXIgMgorSGVhZGVyIDMJSGVhZGVyIDQKK0Nl
bGwgMQlDZWxsIDIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGFibGUt
aW5zZXJ0LXNlY29uZC10aGVhZC5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90YWJs
ZS1pbnNlcnQtc2Vjb25kLXRoZWFkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwLi5iNzYyYTliOWM5MWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L3RhYmxlLWluc2VydC1zZWNvbmQtdGhlYWQuaHRtbApAQCAtMCwwICsxLDcx
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9hY2Nlc3NpYmlsaXR5LWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisKKzx0YWJsZSBpZD0idGFibGUiPgorICAgIDx0aGVh
ZCBpZD0idGhlYWQxIj4KKyAgICAgICAgPHRyIGlkPSJ0cjEiPgorICAgICAgICAgICAgPHRoIGlk
PSJ0aDEiPkhlYWRlciAxPC90aD4KKyAgICAgICAgICAgIDx0aCBpZD0idGgyIj5IZWFkZXIgMjwv
dGg+CisgICAgICAgIDwvdHI+CisgICAgPC90aGVhZD4KKyAgICA8dGJvZHk+CisgICAgICAgIDx0
ciBpZD0idHIyIj4KKyAgICAgICAgICAgIDx0ZCBpZD0idGQxIj5DZWxsIDE8L3RkPgorICAgICAg
ICAgICAgPHRkIGlkPSJ0ZDIiPkNlbGwgMjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgPC90Ym9k
eT4KKzwvdGFibGU+CisKKzxzY3JpcHQ+Cit2YXIgb3V0cHV0ID0gIlRoaXMgdGVzdHMgdGhhdCB0
aGUgYXR0cmlidXRlcyBvZiB0YWJsZSByb3dzIGFuZCBjZWxscyBhcmUgY29ycmVjdCB3aGVuIHRo
ZXJlIGFyZSB0d28gVEhlYWRzLlxuXG4iCisKK2lmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIpIHsKKyAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisgICAgCisgICAgdmFy
IHRhYmxlID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJ0
YWJsZSIpOworCisgICAgb3V0cHV0ICs9IGV4cGVjdCgidGFibGUucm93Q291bnQiLCAiMiIpOwor
ICAgIG91dHB1dCArPSBleHBlY3QoInRhYmxlLmNvbHVtbkNvdW50IiwgIjIiKTsKKworICAgIGxl
dCBuZXdUSGVhZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRoZWFkIik7CisgICAgbmV3VEhl
YWQuaW5uZXJIVE1MID0gIjx0ciBpZD0ndHIzJz48dGggaWQ9J3RoMyc+SGVhZGVyIDM8L3RoPjx0
aCBpZD0ndGg0Jz5IZWFkZXIgNDwvdGg+PC90cj4iOworCisgICAgb3V0cHV0ICs9ICJcbkFkZGlu
ZyBUSGVhZDpcblxuIjsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGhlYWQxIikuYWZ0
ZXIobmV3VEhlYWQpOworCisgICAgc2V0VGltZW91dChhc3luYyBmdW5jdGlvbigpIHsKKyAgICAg
ICAgb3V0cHV0ICs9IGF3YWl0IGV4cGVjdEFzeW5jKCJ0YWJsZS5yb3dDb3VudCIsICIzIik7Cisg
ICAgICAgIG91dHB1dCArPSBhd2FpdCBleHBlY3RBc3luYygidGFibGUuY29sdW1uQ291bnQiLCAi
MiIpOworCisgICAgICAgIG91dHB1dCArPSBleHBlY3QoImFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmFjY2Vzc2libGVFbGVtZW50QnlJZCgndHIxJykuaW5kZXhJblRhYmxlKCkiLCAiMCIpOworICAg
ICAgICBvdXRwdXQgKz0gZXhwZWN0KCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxl
RWxlbWVudEJ5SWQoJ3RyMicpLmluZGV4SW5UYWJsZSgpIiwgIjIiKTsKKyAgICAgICAgb3V0cHV0
ICs9IGV4cGVjdCgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlk
KCd0cjMnKS5pbmRleEluVGFibGUoKSIsICIxIik7CisKKyAgICAgICAgb3V0cHV0ICs9IGV4cGVj
dCgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0aDEnKS5y
b3dJbmRleFJhbmdlKCkiLCAiJ3swLCAxfSciKTsKKyAgICAgICAgb3V0cHV0ICs9IGV4cGVjdCgi
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0aDEnKS5jb2x1
bW5JbmRleFJhbmdlKCkiLCAiJ3swLCAxfSciKTsKKyAgICAgICAgb3V0cHV0ICs9IGV4cGVjdCgi
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0aDInKS5yb3dJ
bmRleFJhbmdlKCkiLCAiJ3swLCAxfSciKTsKKyAgICAgICAgb3V0cHV0ICs9IGV4cGVjdCgiYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0aDInKS5jb2x1bW5J
bmRleFJhbmdlKCkiLCAiJ3sxLCAxfSciKTsKKworICAgICAgICBvdXRwdXQgKz0gZXhwZWN0KCJh
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RoMycpLnJvd0lu
ZGV4UmFuZ2UoKSIsICInezEsIDF9JyIpOworICAgICAgICBvdXRwdXQgKz0gZXhwZWN0KCJhY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RoMycpLmNvbHVtbklu
ZGV4UmFuZ2UoKSIsICInezAsIDF9JyIpOworICAgICAgICBvdXRwdXQgKz0gZXhwZWN0KCJhY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RoNCcpLnJvd0luZGV4
UmFuZ2UoKSIsICInezEsIDF9JyIpOworICAgICAgICBvdXRwdXQgKz0gZXhwZWN0KCJhY2Nlc3Np
YmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RoNCcpLmNvbHVtbkluZGV4
UmFuZ2UoKSIsICInezEsIDF9JyIpOworCisgICAgICAgIG91dHB1dCArPSBleHBlY3QoImFjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGQxJykucm93SW5kZXhS
YW5nZSgpIiwgIid7MiwgMX0nIik7CisgICAgICAgIG91dHB1dCArPSBleHBlY3QoImFjY2Vzc2li
aWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGQxJykuY29sdW1uSW5kZXhS
YW5nZSgpIiwgIid7MCwgMX0nIik7CisgICAgICAgIG91dHB1dCArPSBleHBlY3QoImFjY2Vzc2li
aWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGQyJykucm93SW5kZXhSYW5n
ZSgpIiwgIid7MiwgMX0nIik7CisgICAgICAgIG91dHB1dCArPSBleHBlY3QoImFjY2Vzc2liaWxp
dHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGQyJykuY29sdW1uSW5kZXhSYW5n
ZSgpIiwgIid7MSwgMX0nIik7CisKKyAgICAgICAgZGVidWcob3V0cHV0KTsKKyAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgfSwgMCk7Cit9Cis8L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1s
Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>470198</attachid>
            <date>2024-03-05 22:09:39 -0800</date>
            <delta_ts>2024-03-06 09:53:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-270535-20240305220939.patch</filename>
            <type>text/plain</type>
            <size>19434</size>
            <attacher name="Joshua Hoffman">jhoffman23</attacher>
            
              <data encoding="base64">RnJvbSBiMzMwNDQ1M2E4ZTBiOGU1OTMxOWE2OGFhZGQ5OWIzNmYwNjM4NmUyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb3NodWEgSG9mZm1hbiA8amhvZmZtYW4yM0BhcHBsZS5jb20+
CkRhdGU6IFR1ZSwgNSBNYXIgMjAyNCAxOTowNTo1NCAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIEFY
OiBBWFByb3BlcnR5TmFtZTo6e0NvbHVtbkluZGV4LCBSb3dJbmRleH0gYXJlIG5vdCB1cGRhdGVk
CiBvbiB0aGUgaXNvbGF0ZWQgdHJlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjcwNTM1CiByZGFyOi8vMTE4MjQwODYxCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KClRoZXNlIHByb3BlcnRpZXMsIENvbHVtbkluZGV4IGFuZCBSb3dJbmRleCwgd2VyZSBuZXZl
ciB1cGRhdGVkIG9uIGlzb2xhdGVkIG9iamVjdHMKYWZ0ZXIgYmVpbmcgaW5pdGlhbGl6ZWQuIFRo
aXMgY2FuIGNhdXNlIGlzc3VlcyBhcyBBVHMgcmVseSBvbiB0aGVzZSBwcm9wZXJ0aWVzIHRvCmFj
Y3VyYXRlbHkgbmF2aWdhdGUgdGFibGVzLgoKVHdvIHRlc3RzIHdlcmUgYWRkZWQgdG8gZmxleCB0
aGlzIGJlaGF2aW9yLiB0YWJsZS1pbnNlcnQtc2Vjb25kLXRoZWFkLmh0bWwgYWxzbwp0ZXN0cyB0
aGF0IHdlIGFyZSByZXNpbGllbnQgdG8gYXV0aG9yaW5nIGVycm9ycyB3aXRoIHJlc3BlY3QgdG8g
bXVsdGlwbGUgdGFibGUKaGVhZGVyIGVsZW1lbnRzLgoKKiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L2R5bmFtaWMtdGFibGUtcm93LWNvbHVtbi1pbmRpY2VzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CiogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9keW5hbWljLXRhYmxlLXJvdy1jb2x1bW4taW5k
aWNlcy5odG1sOiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RhYmxlLWluc2Vy
dC1zZWNvbmQtdGhlYWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L3RhYmxlLWluc2VydC1zZWNvbmQtdGhlYWQuaHRtbDogQWRkZWQuCiogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CihXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpjb2x1
bW5JbmRleENoYW5nZWQpOgooV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cm93SW5kZXhDaGFuZ2Vk
KToKKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnVwZGF0ZUlzb2xhdGVkVHJlZSk6CiogU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmg6CiogU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW4uY3BwOgooV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eVRhYmxlQ29sdW1uOjpzZXRDb2x1bW5JbmRleCk6CiogU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW4uaDoKKiBTb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZVJvdy5jcHA6CihXZWJDb3JlOjpBY2Nl
c3NpYmlsaXR5VGFibGVSb3c6OnNldFJvd0luZGV4KToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZVJvdy5oOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVRh
YmxlUm93OjpzZXRSb3dJbmRleCk6IERlbGV0ZWQuCiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwOgooV2ViQ29yZTo6QVhJc29sYXRl
ZFRyZWU6OnVwZGF0ZU5vZGVQcm9wZXJ0aWVzKToKLS0tCiAuLi4vV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FYT2JqZWN0Q2FjaGUuY3BwICAgfCAxMiArKy0tCiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuaCAgfCAgNCArLQogLi4uL0FjY2Vzc2liaWxpdHlUYWJsZUNv
bHVtbi5jcHAgICAgICAgICAgICAgIHwgMTIgKysrKwogLi4uL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVRhYmxlQ29sdW1uLmggIHwgIDIgKy0KIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlUYWJsZVJvdy5jcHAgICB8IDEyICsrKysKIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlUYWJsZVJvdy5oICAgICB8ICAyICstCiAuLi4vaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRU
cmVlLmNwcCAgICAgICAgICAgfCAgNiArKwogLi4uYW1pYy10YWJsZS1yb3ctY29sdW1uLWluZGlj
ZXMtZXhwZWN0ZWQudHh0IHwgMzAgKysrKysrKysKIC4uLi9keW5hbWljLXRhYmxlLXJvdy1jb2x1
bW4taW5kaWNlcy5odG1sICAgICB8IDY4ICsrKysrKysrKysrKysrKysrKwogLi4uL3RhYmxlLWlu
c2VydC1zZWNvbmQtdGhlYWQtZXhwZWN0ZWQudHh0ICAgIHwgMzEgKysrKysrKysKIC4uLi90YWJs
ZS1pbnNlcnQtc2Vjb25kLXRoZWFkLmh0bWwgICAgICAgICAgICB8IDcxICsrKysrKysrKysrKysr
KysrKysKIExheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVzdEV4cGVjdGF0aW9ucyAgICB8ICA2
ICsrCiAxMiBmaWxlcyBjaGFuZ2VkLCAyNDggaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkK
IGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2R5bmFtaWMtdGFi
bGUtcm93LWNvbHVtbi1pbmRpY2VzLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZHluYW1pYy10YWJsZS1yb3ctY29sdW1uLWluZGljZXMu
aHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGFibGUt
aW5zZXJ0LXNlY29uZC10aGVhZC1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RhYmxlLWluc2VydC1zZWNvbmQtdGhlYWQuaHRtbAoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IDU3
MzU3NWZlNjA0OS4uNDY0NGI1ZjkyMDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKQEAgLTE0NzgsMTQgKzE0NzgsMTQgQEAgdm9pZCBBWE9i
amVjdENhY2hlOjp2YWx1ZUNoYW5nZWQoRWxlbWVudCogZWxlbWVudCkKIH0KIAogI2lmIEVOQUJM
RShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCi12b2lkIEFYT2JqZWN0Q2FjaGU6OmNvbHVt
bkluZGV4Q2hhbmdlZChBY2Nlc3NpYmlsaXR5VGFibGVDZWxsJiBjZWxsKQordm9pZCBBWE9iamVj
dENhY2hlOjpjb2x1bW5JbmRleENoYW5nZWQoQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KQog
ewotICAgIHBvc3ROb3RpZmljYXRpb24oY2VsbCwgQVhDb2x1bW5JbmRleENoYW5nZWQpOworICAg
IHBvc3ROb3RpZmljYXRpb24ob2JqZWN0LCBBWENvbHVtbkluZGV4Q2hhbmdlZCk7CiB9CiAKLXZv
aWQgQVhPYmplY3RDYWNoZTo6cm93SW5kZXhDaGFuZ2VkKEFjY2Vzc2liaWxpdHlUYWJsZUNlbGwm
IGNlbGwpCit2b2lkIEFYT2JqZWN0Q2FjaGU6OnJvd0luZGV4Q2hhbmdlZChBY2Nlc3NpYmlsaXR5
T2JqZWN0JiBvYmplY3QpCiB7Ci0gICAgcG9zdE5vdGlmaWNhdGlvbihjZWxsLCBBWFJvd0luZGV4
Q2hhbmdlZCk7CisgICAgcG9zdE5vdGlmaWNhdGlvbihvYmplY3QsIEFYUm93SW5kZXhDaGFuZ2Vk
KTsKIH0KICNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQogCkBA
IC00MzcxLDYgKzQzNzEsOCBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnVwZGF0ZUlzb2xhdGVkVHJl
ZShjb25zdCBWZWN0b3I8c3RkOjpwYWlyPFJlZlB0cjxBY2Nlc3NpYmlsaQogICAgICAgICAgICAg
dHJlZS0+cXVldWVOb2RlVXBkYXRlKG5vdGlmaWNhdGlvbi5maXJzdC0+b2JqZWN0SUQoKSwgeyBB
WFByb3BlcnR5TmFtZTo6QVhDb2x1bW5Db3VudCB9KTsKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICBjYXNlIEFYQ29sdW1uSW5kZXhDaGFuZ2VkOgorICAgICAgICAgICAgdHJlZS0+cXVldWVO
b2RlVXBkYXRlKG5vdGlmaWNhdGlvbi5maXJzdC0+b2JqZWN0SUQoKSwgeyB7IEFYUHJvcGVydHlO
YW1lOjpDb2x1bW5JbmRleFJhbmdlLCBBWFByb3BlcnR5TmFtZTo6Q29sdW1uSW5kZXggfSB9KTsK
KyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEFYQ29sdW1uU3BhbkNoYW5nZWQ6CiAg
ICAgICAgICAgICB0cmVlLT5xdWV1ZU5vZGVVcGRhdGUobm90aWZpY2F0aW9uLmZpcnN0LT5vYmpl
Y3RJRCgpLCB7IEFYUHJvcGVydHlOYW1lOjpDb2x1bW5JbmRleFJhbmdlIH0pOwogICAgICAgICAg
ICAgYnJlYWs7CkBAIC00NDM2LDYgKzQ0MzgsOCBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnVwZGF0
ZUlzb2xhdGVkVHJlZShjb25zdCBWZWN0b3I8c3RkOjpwYWlyPFJlZlB0cjxBY2Nlc3NpYmlsaQog
ICAgICAgICAgICAgdHJlZS0+cXVldWVOb2RlVXBkYXRlKG5vdGlmaWNhdGlvbi5maXJzdC0+b2Jq
ZWN0SUQoKSwgeyBBWFByb3BlcnR5TmFtZTo6Um9sZURlc2NyaXB0aW9uIH0pOwogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQVhSb3dJbmRleENoYW5nZWQ6CisgICAgICAgICAgICB0
cmVlLT5xdWV1ZU5vZGVVcGRhdGUobm90aWZpY2F0aW9uLmZpcnN0LT5vYmplY3RJRCgpLCB7IHsg
QVhQcm9wZXJ0eU5hbWU6OlJvd0luZGV4UmFuZ2UsIEFYUHJvcGVydHlOYW1lOjpSb3dJbmRleCB9
IH0pOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQVhSb3dTcGFuQ2hhbmdlZDoK
ICAgICAgICAgICAgIHRyZWUtPnF1ZXVlTm9kZVVwZGF0ZShub3RpZmljYXRpb24uZmlyc3QtPm9i
amVjdElEKCksIHsgQVhQcm9wZXJ0eU5hbWU6OlJvd0luZGV4UmFuZ2UgfSk7CiAgICAgICAgICAg
ICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgK
aW5kZXggMjgzODZmMmNhNDNmLi5hMmQwOTI2NDI0ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCkBAIC0yMTIsOCArMjEyLDggQEAgcHVibGljOgog
ICAgIHZvaWQgaGFuZGxlUm9sZUNoYW5nZWQoQWNjZXNzaWJpbGl0eU9iamVjdCYpOwogCiAjaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKLSAgICB2b2lkIGNvbHVtbkluZGV4
Q2hhbmdlZChBY2Nlc3NpYmlsaXR5VGFibGVDZWxsJik7Ci0gICAgdm9pZCByb3dJbmRleENoYW5n
ZWQoQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbCYpOworICAgIHZvaWQgY29sdW1uSW5kZXhDaGFuZ2Vk
KEFjY2Vzc2liaWxpdHlPYmplY3QmKTsKKyAgICB2b2lkIHJvd0luZGV4Q2hhbmdlZChBY2Nlc3Np
YmlsaXR5T2JqZWN0Jik7CiAjZW5kaWYKIAogICAgIC8vIENhbGxlZCB3aGVuIGEgUmVuZGVyT2Jq
ZWN0IGlzIGNyZWF0ZWQgZm9yIGFuIEVsZW1lbnQuIERlcGVuZGluZyBvbiB0aGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlQ29s
dW1uLmNwcAppbmRleCA2ODZiMzY1ZDI5MGIuLmY0NTFiMDA1MGIwZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW4uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1u
LmNwcApAQCAtNzQsNiArNzQsMTggQEAgQVhDb3JlT2JqZWN0KiBBY2Nlc3NpYmlsaXR5VGFibGVD
b2x1bW46OmNvbHVtbkhlYWRlcigpCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKK3ZvaWQgQWNj
ZXNzaWJpbGl0eVRhYmxlQ29sdW1uOjpzZXRDb2x1bW5JbmRleCh1bnNpZ25lZCBjb2x1bW5JbmRl
eCkKK3sKKyAgICBpZiAobV9jb2x1bW5JbmRleCA9PSBjb2x1bW5JbmRleCkKKyAgICAgICAgcmV0
dXJuOworICAgIG1fY29sdW1uSW5kZXggPSBjb2x1bW5JbmRleDsKKworI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgaWYgKGF1dG8qIGNhY2hlID0gYXhPYmplY3RD
YWNoZSgpKQorICAgICAgICBjYWNoZS0+Y29sdW1uSW5kZXhDaGFuZ2VkKCp0aGlzKTsKKyNlbmRp
ZgorfQorCiBib29sIEFjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbjo6Y29tcHV0ZUFjY2Vzc2liaWxp
dHlJc0lnbm9yZWQoKSBjb25zdAogewogICAgIGlmICghbV9wYXJlbnQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbi5oIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW4uaApp
bmRleCBlYmQxODlhOGRiNTcuLmVjNmExY2IyMzE2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW4uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbi5oCkBAIC00Myw3
ICs0Myw3IEBAIHB1YmxpYzoKIAogICAgIEFjY2Vzc2liaWxpdHlSb2xlIGRldGVybWluZUFjY2Vz
c2liaWxpdHlSb2xlKCkgZmluYWwgeyByZXR1cm4gQWNjZXNzaWJpbGl0eVJvbGU6OkNvbHVtbjsg
fQogCi0gICAgdm9pZCBzZXRDb2x1bW5JbmRleCh1bnNpZ25lZCBjb2x1bW5JbmRleCkgeyBtX2Nv
bHVtbkluZGV4ID0gY29sdW1uSW5kZXg7IH0KKyAgICB2b2lkIHNldENvbHVtbkluZGV4KHVuc2ln
bmVkKTsKICAgICB1bnNpZ25lZCBjb2x1bW5JbmRleCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
IG1fY29sdW1uSW5kZXg7IH0KIAogICAgIHZvaWQgYWRkQ2hpbGRyZW4oKSBvdmVycmlkZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxl
Um93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxl
Um93LmNwcAppbmRleCA2ZDA2MTgyZjE3YTkuLjczNTkzNDU5Yjc0MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVSb3cuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlUm93LmNwcApA
QCAtMTE3LDYgKzExNywxOCBAQCBBY2Nlc3NpYmlsaXR5VGFibGUqIEFjY2Vzc2liaWxpdHlUYWJs
ZVJvdzo6cGFyZW50VGFibGUoKSBjb25zdAogICAgIHJldHVybiBudWxscHRyOwogfQogCit2b2lk
IEFjY2Vzc2liaWxpdHlUYWJsZVJvdzo6c2V0Um93SW5kZXgodW5zaWduZWQgcm93SW5kZXgpCit7
CisgICAgaWYgKG1fcm93SW5kZXggPT0gcm93SW5kZXgpCisgICAgICAgIHJldHVybjsKKyAgICBt
X3Jvd0luZGV4ID0gcm93SW5kZXg7CisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRF
RF9UUkVFKQorICAgIGlmIChhdXRvKiBjYWNoZSA9IGF4T2JqZWN0Q2FjaGUoKSkKKyAgICAgICAg
Y2FjaGUtPnJvd0luZGV4Q2hhbmdlZCgqdGhpcyk7CisjZW5kaWYKK30KKwogQVhDb3JlT2JqZWN0
KiBBY2Nlc3NpYmlsaXR5VGFibGVSb3c6OnJvd0hlYWRlcigpCiB7CiAgICAgY29uc3QgYXV0byYg
cm93Q2hpbGRyZW4gPSBjaGlsZHJlbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVSb3cuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlUm93LmgKaW5kZXggYjNhNjU0MDljMmRjLi4wNmQ2
ZTg3MmM0OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVRhYmxlUm93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5VGFibGVSb3cuaApAQCAtNDQsNyArNDQsNyBAQCBwdWJsaWM6CiAgICAgQVhDb3Jl
T2JqZWN0KiByb3dIZWFkZXIoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIEFjY2Vzc2liaWxpdHlU
YWJsZSogcGFyZW50VGFibGUoKSBjb25zdDsKIAotICAgIHZvaWQgc2V0Um93SW5kZXgodW5zaWdu
ZWQgcm93SW5kZXgpIHsgbV9yb3dJbmRleCA9IHJvd0luZGV4OyB9CisgICAgdm9pZCBzZXRSb3dJ
bmRleCh1bnNpZ25lZCk7CiAgICAgdW5zaWduZWQgcm93SW5kZXgoKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiBtX3Jvd0luZGV4OyB9CiAKICAgICAvLyBhbGxvd3MgdGhlIHRhYmxlIHRvIGFkZCBv
dGhlciBjaGlsZHJlbiB0aGF0IG1heSBub3Qgb3JpZ2luYXRlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5j
cHAKaW5kZXggM2I3OTljM2QxY2Y5Li5jNjQ1YzAwODcxMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJl
ZS5jcHAKQEAgLTU5Miw2ICs1OTIsOSBAQCB2b2lkIEFYSXNvbGF0ZWRUcmVlOjp1cGRhdGVOb2Rl
UHJvcGVydGllcyhBWENvcmVPYmplY3QmIGF4T2JqZWN0LCBjb25zdCBBWFByb3BlcgogICAgICAg
ICBjYXNlIEFYUHJvcGVydHlOYW1lOjpDZWxsU2xvdHM6CiAgICAgICAgICAgICBwcm9wZXJ0eU1h
cC5zZXQoQVhQcm9wZXJ0eU5hbWU6OkNlbGxTbG90cywgZHluYW1pY0Rvd25jYXN0PEFjY2Vzc2li
aWxpdHlPYmplY3Q+KGF4T2JqZWN0KS0+Y2VsbFNsb3RzKCkpOwogICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIGNhc2UgQVhQcm9wZXJ0eU5hbWU6OkNvbHVtbkluZGV4OgorICAgICAgICAgICAg
cHJvcGVydHlNYXAuc2V0KEFYUHJvcGVydHlOYW1lOjpDb2x1bW5JbmRleCwgYXhPYmplY3QuY29s
dW1uSW5kZXgoKSk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBBWFByb3BlcnR5
TmFtZTo6Q29sdW1uSW5kZXhSYW5nZToKICAgICAgICAgICAgIHByb3BlcnR5TWFwLnNldChBWFBy
b3BlcnR5TmFtZTo6Q29sdW1uSW5kZXhSYW5nZSwgYXhPYmplY3QuY29sdW1uSW5kZXhSYW5nZSgp
KTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtNjY1LDYgKzY2OCw5IEBAIHZvaWQgQVhJc29sYXRl
ZFRyZWU6OnVwZGF0ZU5vZGVQcm9wZXJ0aWVzKEFYQ29yZU9iamVjdCYgYXhPYmplY3QsIGNvbnN0
IEFYUHJvcGVyCiAgICAgICAgIGNhc2UgQVhQcm9wZXJ0eU5hbWU6OlJvbGVEZXNjcmlwdGlvbjoK
ICAgICAgICAgICAgIHByb3BlcnR5TWFwLnNldChBWFByb3BlcnR5TmFtZTo6Um9sZURlc2NyaXB0
aW9uLCBheE9iamVjdC5yb2xlRGVzY3JpcHRpb24oKS5pc29sYXRlZENvcHkoKSk7CiAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBWFByb3BlcnR5TmFtZTo6Um93SW5kZXg6CisgICAg
ICAgICAgICBwcm9wZXJ0eU1hcC5zZXQoQVhQcm9wZXJ0eU5hbWU6OlJvd0luZGV4LCBheE9iamVj
dC5yb3dJbmRleCgpKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEFYUHJvcGVy
dHlOYW1lOjpSb3dJbmRleFJhbmdlOgogICAgICAgICAgICAgcHJvcGVydHlNYXAuc2V0KEFYUHJv
cGVydHlOYW1lOjpSb3dJbmRleFJhbmdlLCBheE9iamVjdC5yb3dJbmRleFJhbmdlKCkpOwogICAg
ICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2R5
bmFtaWMtdGFibGUtcm93LWNvbHVtbi1pbmRpY2VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvZHluYW1pYy10YWJsZS1yb3ctY29sdW1uLWluZGljZXMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uN2E3ZjljYzNlYmJj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9keW5hbWljLXRh
YmxlLXJvdy1jb2x1bW4taW5kaWNlcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzMCBAQAorVGhp
cyB0ZXN0cyB0aGF0IHRhYmxlIHJvdyBhbmQgY29sdW1uIGluZGljaWVzIHVwZGF0ZSBjb3JyZWN0
bHkgYWZ0ZXIgcm93L2NvbHVtbiBpbnNlcnRpb25zLgorCitSb3cgSW5kZXggWzBdOiAwCitSb3cg
SW5kZXggWzFdOiAxCitDb2x1bW4gSW5kZXggWzBdOiAwCitDb2x1bW4gSW5kZXggWzFdOiAxCisK
K0FkZGluZyByb3cgYXQgaW5kZXggMToKKworUm93IEluZGV4IFswXTogMAorUm93IEluZGV4IFsx
XTogMQorUm93IEluZGV4IFsyXTogMgorQ29sdW1uIEluZGV4IFswXTogMAorQ29sdW1uIEluZGV4
IFsxXTogMQorCitBZGRpbmcgY2VsbCB0byByb3cgMDoKKworUm93IEluZGV4IFswXTogMAorUm93
IEluZGV4IFsxXTogMQorUm93IEluZGV4IFsyXTogMgorQ29sdW1uIEluZGV4IFswXTogMAorQ29s
dW1uIEluZGV4IFsxXTogMQorQ29sdW1uIEluZGV4IFsyXTogMgorCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKK0NlbGwgMQlDZWxsIDIJQ2VsbCA3CitD
ZWxsIDUJQ2VsbCA2CitDZWxsIDMJQ2VsbCA0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L2R5bmFtaWMtdGFibGUtcm93LWNvbHVtbi1pbmRpY2VzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L2R5bmFtaWMtdGFibGUtcm93LWNvbHVtbi1pbmRpY2VzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4yMzE4MDE1ZDdlZjUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2R5bmFtaWMtdGFibGUt
cm93LWNvbHVtbi1pbmRpY2VzLmh0bWwKQEAgLTAsMCArMSw2OCBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvYWNjZXNzaWJpbGl0eS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorICAgIAorPHRhYmxlIGlkPSJ0YWJsZSI+CisgICAgPHRyIGlkPSJ0cjEiPgorICAgICAg
ICA8dGg+Q2VsbCAxPC90aD4KKyAgICAgICAgPHRoPkNlbGwgMjwvdGg+CisgICAgPC90cj4KKyAg
ICA8dHIgaWQ9InRyMiI+CisgICAgICAgIDx0ZD5DZWxsIDM8L3RkPgorICAgICAgICA8dGQ+Q2Vs
bCA0PC90ZD4KKyAgICA8L3RyPgorPC90YWJsZT4KKworPHNjcmlwdD4KK2Z1bmN0aW9uIHRhYmxl
Um93QW5kQ29sdW1uSW5kaWNlcyh0YWJsZSkgeworICAgIGxldCByZXN1bHQgPSAiIjsKKyAgICBm
b3IgKGxldCBpID0gMDsgaSA8IHRhYmxlLnJvd0NvdW50OyBpKyspIHsKKyAgICAgICAgcmVzdWx0
ICs9IGBSb3cgSW5kZXggWyR7aX1dOiAke3RhYmxlLnJvd0F0SW5kZXgoaSkuaW5kZXhJblRhYmxl
KCl9XG5gOworICAgIH0gICAKKworICAgIGNvbnN0IGNvbHVtbnMgPSB0YWJsZS5jb2x1bW5zKCk7
CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0YWJsZS5jb2x1bW5Db3VudDsgaSsrKSB7CisgICAg
ICAgIHJlc3VsdCArPSBgQ29sdW1uIEluZGV4IFske2l9XTogJHtjb2x1bW5zW2ldLmluZGV4SW5U
YWJsZSgpfVxuYDsKKyAgICB9ICAgCisgICAgcmV0dXJuIHJlc3VsdDsKK30gICAgCisKK3ZhciBv
dXRwdXQgPSAiVGhpcyB0ZXN0cyB0aGF0IHRhYmxlIHJvdyBhbmQgY29sdW1uIGluZGljaWVzIHVw
ZGF0ZSBjb3JyZWN0bHkgYWZ0ZXIgcm93L2NvbHVtbiBpbnNlcnRpb25zLlxuXG4iCisKK2lmICh3
aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKyAgICB3aW5kb3cuanNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICB2YXIgdGFibGUgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nl
c3NpYmxlRWxlbWVudEJ5SWQoInRhYmxlIik7CisgICAgb3V0cHV0ICs9IHRhYmxlUm93QW5kQ29s
dW1uSW5kaWNlcyh0YWJsZSk7CisKKyAgICAvLyBJbnNlcnQgYSBuZXcgcm93IGF0IGluZGV4IDEK
KyAgICBvdXRwdXQgKz0gIlxuQWRkaW5nIHJvdyBhdCBpbmRleCAxOlxuXG4iOworICAgIGxldCBu
ZXdSb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpOworICAgIG5ld1Jvdy5pbm5lckhU
TUwgPSAiPHRkPkNlbGwgNTwvdGQ+PHRkPkNlbGwgNjwvdGQ+IjsKKyAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidHIxIikuYWZ0ZXIobmV3Um93KTsKKworICAgIHNldFRpbWVvdXQoYXN5bmMg
ZnVuY3Rpb24oKSB7CisgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4gYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJ0cjIiKS5pbmRleEluVGFibGUoKSA9PSAy
KTsKKyAgICAgICAgb3V0cHV0ICs9IHRhYmxlUm93QW5kQ29sdW1uSW5kaWNlcyh0YWJsZSk7CisK
KyAgICAgICAgLy8gQ3JlYXRlIGEgbmV3IGNvbHVtbiBieSBpbnNlcnRpbmcgYSBjZWxsIGF0IHRo
ZSBlbmQgb2YgYSByb3cKKyAgICAgICAgb3V0cHV0ICs9ICJcbkFkZGluZyBjZWxsIHRvIHJvdyAw
OlxuXG4iOworICAgICAgICBsZXQgbmV3Q2VsbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRk
Iik7CisgICAgICAgIG5ld0NlbGwuaW5uZXJIVE1MID0gIkNlbGwgNyI7CisgICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ0cjEiKS5hcHBlbmQobmV3Q2VsbCk7CisKKyAgICAgICAgYXdh
aXQgd2FpdEZvcigoKSA9PiB0YWJsZS5jb2x1bW5zKCkubGVuZ3RoID09IDMpOworICAgICAgICBv
dXRwdXQgKz0gdGFibGVSb3dBbmRDb2x1bW5JbmRpY2VzKHRhYmxlKTsKKworICAgICAgICBkZWJ1
ZyhvdXRwdXQpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9LCAwKTsKK30KKzwvc2Ny
aXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L3RhYmxlLWluc2VydC1zZWNvbmQtdGhlYWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS90YWJsZS1pbnNlcnQtc2Vjb25kLXRoZWFkLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjBiYzRhNjg2OWFmZAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGFibGUtaW5zZXJ0LXNl
Y29uZC10aGVhZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzMSBAQAorVGhpcyB0ZXN0cyB0aGF0
IHRoZSBhdHRyaWJ1dGVzIG9mIHRhYmxlIHJvd3MgYW5kIGNlbGxzIGFyZSBjb3JyZWN0IHdoZW4g
dGhlcmUgYXJlIHR3byBUSGVhZHMuCisKK1BBU1M6IHRhYmxlLnJvd0NvdW50ID09PSAyCitQQVNT
OiB0YWJsZS5jb2x1bW5Db3VudCA9PT0gMgorCitBZGRpbmcgVEhlYWQ6CisKK1BBU1M6IHRhYmxl
LnJvd0NvdW50ID09PSAzCitQQVNTOiB0YWJsZS5jb2x1bW5Db3VudCA9PT0gMgorUEFTUzogYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0cjEnKS5pbmRleElu
VGFibGUoKSA9PT0gMAorUEFTUzogYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVs
ZW1lbnRCeUlkKCd0cjInKS5pbmRleEluVGFibGUoKSA9PT0gMgorUEFTUzogYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0cjMnKS5pbmRleEluVGFibGUoKSA9
PT0gMQorUEFTUzogYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlk
KCd0aDEnKS5yb3dJbmRleFJhbmdlKCkgPT09ICd7MCwgMX0nCitQQVNTOiBhY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RoMScpLmNvbHVtbkluZGV4UmFuZ2Uo
KSA9PT0gJ3swLCAxfScKK1BBU1M6IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVF
bGVtZW50QnlJZCgndGgyJykucm93SW5kZXhSYW5nZSgpID09PSAnezAsIDF9JworUEFTUzogYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0aDInKS5jb2x1bW5J
bmRleFJhbmdlKCkgPT09ICd7MSwgMX0nCitQQVNTOiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5h
Y2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RoMycpLnJvd0luZGV4UmFuZ2UoKSA9PT0gJ3sxLCAxfScK
K1BBU1M6IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGgz
JykuY29sdW1uSW5kZXhSYW5nZSgpID09PSAnezAsIDF9JworUEFTUzogYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0aDQnKS5yb3dJbmRleFJhbmdlKCkgPT09
ICd7MSwgMX0nCitQQVNTOiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVu
dEJ5SWQoJ3RoNCcpLmNvbHVtbkluZGV4UmFuZ2UoKSA9PT0gJ3sxLCAxfScKK1BBU1M6IGFjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGQxJykucm93SW5kZXhS
YW5nZSgpID09PSAnezIsIDF9JworUEFTUzogYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNz
aWJsZUVsZW1lbnRCeUlkKCd0ZDEnKS5jb2x1bW5JbmRleFJhbmdlKCkgPT09ICd7MCwgMX0nCitQ
QVNTOiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RkMicp
LnJvd0luZGV4UmFuZ2UoKSA9PT0gJ3syLCAxfScKK1BBU1M6IGFjY2Vzc2liaWxpdHlDb250cm9s
bGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGQyJykuY29sdW1uSW5kZXhSYW5nZSgpID09PSAn
ezEsIDF9JworCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKK0hlYWRlciAxCUhlYWRlciAyCitIZWFkZXIgMwlIZWFkZXIgNAorQ2VsbCAxCUNlbGwgMgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90YWJsZS1pbnNlcnQtc2Vjb25k
LXRoZWFkLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RhYmxlLWluc2VydC1zZWNv
bmQtdGhlYWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmI3
NjJhOWI5YzkxZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
dGFibGUtaW5zZXJ0LXNlY29uZC10aGVhZC5odG1sCkBAIC0wLDAgKzEsNzEgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2FjY2Vzc2liaWxpdHktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKworPHRhYmxlIGlkPSJ0YWJsZSI+CisgICAgPHRoZWFkIGlkPSJ0aGVhZDEi
PgorICAgICAgICA8dHIgaWQ9InRyMSI+CisgICAgICAgICAgICA8dGggaWQ9InRoMSI+SGVhZGVy
IDE8L3RoPgorICAgICAgICAgICAgPHRoIGlkPSJ0aDIiPkhlYWRlciAyPC90aD4KKyAgICAgICAg
PC90cj4KKyAgICA8L3RoZWFkPgorICAgIDx0Ym9keT4KKyAgICAgICAgPHRyIGlkPSJ0cjIiPgor
ICAgICAgICAgICAgPHRkIGlkPSJ0ZDEiPkNlbGwgMTwvdGQ+CisgICAgICAgICAgICA8dGQgaWQ9
InRkMiI+Q2VsbCAyPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICA8L3Rib2R5PgorPC90YWJsZT4K
KworPHNjcmlwdD4KK3ZhciBvdXRwdXQgPSAiVGhpcyB0ZXN0cyB0aGF0IHRoZSBhdHRyaWJ1dGVz
IG9mIHRhYmxlIHJvd3MgYW5kIGNlbGxzIGFyZSBjb3JyZWN0IHdoZW4gdGhlcmUgYXJlIHR3byBU
SGVhZHMuXG5cbiIKKworaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAg
IHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKyAgICAKKyAgICB2YXIgdGFibGUgPSBhY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoInRhYmxlIik7CisKKyAg
ICBvdXRwdXQgKz0gZXhwZWN0KCJ0YWJsZS5yb3dDb3VudCIsICIyIik7CisgICAgb3V0cHV0ICs9
IGV4cGVjdCgidGFibGUuY29sdW1uQ291bnQiLCAiMiIpOworCisgICAgbGV0IG5ld1RIZWFkID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGhlYWQiKTsKKyAgICBuZXdUSGVhZC5pbm5lckhUTUwg
PSAiPHRyIGlkPSd0cjMnPjx0aCBpZD0ndGgzJz5IZWFkZXIgMzwvdGg+PHRoIGlkPSd0aDQnPkhl
YWRlciA0PC90aD48L3RyPiI7CisKKyAgICBvdXRwdXQgKz0gIlxuQWRkaW5nIFRIZWFkOlxuXG4i
OworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0aGVhZDEiKS5hZnRlcihuZXdUSGVhZCk7
CisKKyAgICBzZXRUaW1lb3V0KGFzeW5jIGZ1bmN0aW9uKCkgeworICAgICAgICBvdXRwdXQgKz0g
YXdhaXQgZXhwZWN0QXN5bmMoInRhYmxlLnJvd0NvdW50IiwgIjMiKTsKKyAgICAgICAgb3V0cHV0
ICs9IGF3YWl0IGV4cGVjdEFzeW5jKCJ0YWJsZS5jb2x1bW5Db3VudCIsICIyIik7CisKKyAgICAg
ICAgb3V0cHV0ICs9IGV4cGVjdCgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVs
ZW1lbnRCeUlkKCd0cjEnKS5pbmRleEluVGFibGUoKSIsICIwIik7CisgICAgICAgIG91dHB1dCAr
PSBleHBlY3QoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgn
dHIyJykuaW5kZXhJblRhYmxlKCkiLCAiMiIpOworICAgICAgICBvdXRwdXQgKz0gZXhwZWN0KCJh
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RyMycpLmluZGV4
SW5UYWJsZSgpIiwgIjEiKTsKKworICAgICAgICBvdXRwdXQgKz0gZXhwZWN0KCJhY2Nlc3NpYmls
aXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RoMScpLnJvd0luZGV4UmFuZ2Uo
KSIsICInezAsIDF9JyIpOworICAgICAgICBvdXRwdXQgKz0gZXhwZWN0KCJhY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RoMScpLmNvbHVtbkluZGV4UmFuZ2Uo
KSIsICInezAsIDF9JyIpOworICAgICAgICBvdXRwdXQgKz0gZXhwZWN0KCJhY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RoMicpLnJvd0luZGV4UmFuZ2UoKSIs
ICInezAsIDF9JyIpOworICAgICAgICBvdXRwdXQgKz0gZXhwZWN0KCJhY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RoMicpLmNvbHVtbkluZGV4UmFuZ2UoKSIs
ICInezEsIDF9JyIpOworCisgICAgICAgIG91dHB1dCArPSBleHBlY3QoImFjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGgzJykucm93SW5kZXhSYW5nZSgpIiwg
Iid7MSwgMX0nIik7CisgICAgICAgIG91dHB1dCArPSBleHBlY3QoImFjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGgzJykuY29sdW1uSW5kZXhSYW5nZSgpIiwg
Iid7MCwgMX0nIik7CisgICAgICAgIG91dHB1dCArPSBleHBlY3QoImFjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGg0Jykucm93SW5kZXhSYW5nZSgpIiwgIid7
MSwgMX0nIik7CisgICAgICAgIG91dHB1dCArPSBleHBlY3QoImFjY2Vzc2liaWxpdHlDb250cm9s
bGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGg0JykuY29sdW1uSW5kZXhSYW5nZSgpIiwgIid7
MSwgMX0nIik7CisKKyAgICAgICAgb3V0cHV0ICs9IGV4cGVjdCgiYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0ZDEnKS5yb3dJbmRleFJhbmdlKCkiLCAiJ3sy
LCAxfSciKTsKKyAgICAgICAgb3V0cHV0ICs9IGV4cGVjdCgiYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0ZDEnKS5jb2x1bW5JbmRleFJhbmdlKCkiLCAiJ3sw
LCAxfSciKTsKKyAgICAgICAgb3V0cHV0ICs9IGV4cGVjdCgiYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0ZDInKS5yb3dJbmRleFJhbmdlKCkiLCAiJ3syLCAx
fSciKTsKKyAgICAgICAgb3V0cHV0ICs9IGV4cGVjdCgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIu
YWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0ZDInKS5jb2x1bW5JbmRleFJhbmdlKCkiLCAiJ3sxLCAx
fSciKTsKKworICAgICAgICBkZWJ1ZyhvdXRwdXQpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICB9LCAwKTsKK30KKzwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggY2FmNzY0ODA2ZmFiLi5kMjc2
MThhYzcxNWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMK
QEAgLTYzMyw2ICs2MzMsMTIgQEAgaHR0cC90ZXN0cy9hY2Nlc3NpYmlsaXR5L2ZvY3VzLXRleHQt
ZmllbGQtaW4taWZyYW1lLmh0bWwgWyBTa2lwIF0KICMgVGltZXMgb3V0IGR1ZSB0byBtaXNzaW5n
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmxpbmtlZFVJRWxlbWVudEF0SW5kZXgoKSBpbXBsZW1l
bnRhdGlvbi4KIGFjY2Vzc2liaWxpdHkvY29tYm9ib3gtbGlua2VkLWxpc3Rib3gtZGVzdHJveWVk
Lmh0bWwgWyBTa2lwIF0KIAorIyBGYWlscyBkdWUgdG8gbWlzc2luZyBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjppbmRleEluVGFibGUoKSBpbXBsZW1lbnRhdGlvbi4KK2FjY2Vzc2liaWxpdHkvdGFi
bGUtaW5zZXJ0LXNlY29uZC10aGVhZC5odG1sIFsgU2tpcCBdCisKKyMgRmFpbHMgZHVlIHRvIG1p
c3NpbmcgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y29sdW1ucygpIGltcGxlbWVudGF0aW9uLgor
YWNjZXNzaWJpbGl0eS9keW5hbWljLXRhYmxlLXJvdy1jb2x1bW4taW5kaWNlcy5odG1sIFsgU2tp
cCBdCisKICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAjIEVuZCBvZiBBY2Nlc3Np
YmlsaXR5LXJlbGF0ZWQgYnVncwogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>470204</attachid>
            <date>2024-03-06 09:53:24 -0800</date>
            <delta_ts>2024-03-06 14:54:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-270535-20240306095323.patch</filename>
            <type>text/plain</type>
            <size>20320</size>
            <attacher name="Joshua Hoffman">jhoffman23</attacher>
            
              <data encoding="base64">RnJvbSA0NDJlMWM0Zjk3YTExMmZlNTQ0YTg4ZmU4YThiMGY4NmM0NzE4ZmUyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb3NodWEgSG9mZm1hbiA8amhvZmZtYW4yM0BhcHBsZS5jb20+
CkRhdGU6IFR1ZSwgNSBNYXIgMjAyNCAxOTowNTo1NCAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIEFY
OiBBWFByb3BlcnR5TmFtZTo6e0NvbHVtbkluZGV4LCBSb3dJbmRleH0gYXJlIG5vdCB1cGRhdGVk
CiBvbiB0aGUgaXNvbGF0ZWQgdHJlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjcwNTM1CiByZGFyOi8vMTE4MjQwODYxCgpSZXZpZXdlZCBieSBUeWxlciBXaWxjb2Nr
LgoKVGhlc2UgcHJvcGVydGllcywgQ29sdW1uSW5kZXggYW5kIFJvd0luZGV4LCB3ZXJlIG5ldmVy
IHVwZGF0ZWQgb24gaXNvbGF0ZWQgb2JqZWN0cwphZnRlciBiZWluZyBpbml0aWFsaXplZC4gVGhp
cyBjYW4gY2F1c2UgaXNzdWVzIGFzIEFUcyByZWx5IG9uIHRoZXNlIHByb3BlcnRpZXMgdG8KYWNj
dXJhdGVseSBuYXZpZ2F0ZSB0YWJsZXMuCgpUd28gdGVzdHMgd2VyZSBhZGRlZCB0byBmbGV4IHRo
aXMgYmVoYXZpb3IuIHRhYmxlLWluc2VydC1zZWNvbmQtdGhlYWQuaHRtbCBhbHNvCnRlc3RzIHRo
YXQgd2UgYXJlIHJlc2lsaWVudCB0byBhdXRob3JpbmcgZXJyb3JzIHdpdGggcmVzcGVjdCB0byBt
dWx0aXBsZSB0YWJsZQpoZWFkZXIgZWxlbWVudHMuCgoqIExheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvZHluYW1pYy10YWJsZS1yb3ctY29sdW1uLWluZGljZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2R5bmFtaWMtdGFibGUtcm93LWNvbHVtbi1pbmRp
Y2VzLmh0bWw6IEFkZGVkLgoqIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGFibGUtaW5zZXJ0
LXNlY29uZC10aGVhZC1leHBlY3RlZC50eHQ6IEFkZGVkLgoqIExheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvdGFibGUtaW5zZXJ0LXNlY29uZC10aGVhZC5odG1sOiBBZGRlZC4KKiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnM6CiogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QVhPYmplY3RDYWNoZS5jcHA6CihXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpjb2x1bW5JbmRleENo
YW5nZWQpOgooV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cm93SW5kZXhDaGFuZ2VkKToKKFdlYkNv
cmU6OkFYT2JqZWN0Q2FjaGU6OnVwZGF0ZUlzb2xhdGVkVHJlZSk6CiogU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmg6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW4uY3BwOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0
eVRhYmxlQ29sdW1uOjpzZXRDb2x1bW5JbmRleCk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW4uaDoKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZVJvdy5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
VGFibGVSb3c6OnNldFJvd0luZGV4KToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlUYWJsZVJvdy5oOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVRhYmxlUm93Ojpz
ZXRSb3dJbmRleCk6IERlbGV0ZWQuCiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29s
YXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwOgooV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OnVw
ZGF0ZU5vZGVQcm9wZXJ0aWVzKToKLS0tCiAuLi4vV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2Jq
ZWN0Q2FjaGUuY3BwICAgfCAxMiArKy0tCiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FY
T2JqZWN0Q2FjaGUuaCAgfCAgNCArLQogLi4uL0FjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbi5jcHAg
ICAgICAgICAgICAgIHwgMTIgKysrKwogLi4uL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRh
YmxlQ29sdW1uLmggIHwgIDIgKy0KIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJs
ZVJvdy5jcHAgICB8IDEyICsrKysKIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJs
ZVJvdy5oICAgICB8ICAyICstCiAuLi4vaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcCAg
ICAgICAgICAgfCAgNiArKwogLi4uYW1pYy10YWJsZS1yb3ctY29sdW1uLWluZGljZXMtZXhwZWN0
ZWQudHh0IHwgMzAgKysrKysrKysKIC4uLi9keW5hbWljLXRhYmxlLXJvdy1jb2x1bW4taW5kaWNl
cy5odG1sICAgICB8IDY2ICsrKysrKysrKysrKysrKysrCiAuLi4vdGFibGUtaW5zZXJ0LXNlY29u
ZC10aGVhZC1leHBlY3RlZC50eHQgICAgfCAzMSArKysrKysrKwogLi4uL3RhYmxlLWluc2VydC1z
ZWNvbmQtdGhlYWQuaHRtbCAgICAgICAgICAgIHwgNzEgKysrKysrKysrKysrKysrKysrKwogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zICAgIHwgIDYgKysKIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucyB8ICAzICsKIDEzIGZpbGVz
IGNoYW5nZWQsIDI0OSBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUg
MTAwNjQ0IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZHluYW1pYy10YWJsZS1yb3ctY29sdW1u
LWluZGljZXMtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS9keW5hbWljLXRhYmxlLXJvdy1jb2x1bW4taW5kaWNlcy5odG1sCiBjcmVhdGUg
bW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90YWJsZS1pbnNlcnQtc2Vjb25k
LXRoZWFkLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvdGFibGUtaW5zZXJ0LXNlY29uZC10aGVhZC5odG1sCgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKaW5kZXggNTczNTc1ZmU2MDQ5Li40
NjQ0YjVmOTIwOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVj
dENhY2hlLmNwcApAQCAtMTQ3OCwxNCArMTQ3OCwxNCBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnZh
bHVlQ2hhbmdlZChFbGVtZW50KiBlbGVtZW50KQogfQogCiAjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFlfSVNPTEFURURfVFJFRSkKLXZvaWQgQVhPYmplY3RDYWNoZTo6Y29sdW1uSW5kZXhDaGFuZ2Vk
KEFjY2Vzc2liaWxpdHlUYWJsZUNlbGwmIGNlbGwpCit2b2lkIEFYT2JqZWN0Q2FjaGU6OmNvbHVt
bkluZGV4Q2hhbmdlZChBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3QpCiB7Ci0gICAgcG9zdE5v
dGlmaWNhdGlvbihjZWxsLCBBWENvbHVtbkluZGV4Q2hhbmdlZCk7CisgICAgcG9zdE5vdGlmaWNh
dGlvbihvYmplY3QsIEFYQ29sdW1uSW5kZXhDaGFuZ2VkKTsKIH0KIAotdm9pZCBBWE9iamVjdENh
Y2hlOjpyb3dJbmRleENoYW5nZWQoQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbCYgY2VsbCkKK3ZvaWQg
QVhPYmplY3RDYWNoZTo6cm93SW5kZXhDaGFuZ2VkKEFjY2Vzc2liaWxpdHlPYmplY3QmIG9iamVj
dCkKIHsKLSAgICBwb3N0Tm90aWZpY2F0aW9uKGNlbGwsIEFYUm93SW5kZXhDaGFuZ2VkKTsKKyAg
ICBwb3N0Tm90aWZpY2F0aW9uKG9iamVjdCwgQVhSb3dJbmRleENoYW5nZWQpOwogfQogI2VuZGlm
IC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCiAKQEAgLTQzNzEsNiArNDM3
MSw4IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6dXBkYXRlSXNvbGF0ZWRUcmVlKGNvbnN0IFZlY3Rv
cjxzdGQ6OnBhaXI8UmVmUHRyPEFjY2Vzc2liaWxpCiAgICAgICAgICAgICB0cmVlLT5xdWV1ZU5v
ZGVVcGRhdGUobm90aWZpY2F0aW9uLmZpcnN0LT5vYmplY3RJRCgpLCB7IEFYUHJvcGVydHlOYW1l
OjpBWENvbHVtbkNvdW50IH0pOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQVhD
b2x1bW5JbmRleENoYW5nZWQ6CisgICAgICAgICAgICB0cmVlLT5xdWV1ZU5vZGVVcGRhdGUobm90
aWZpY2F0aW9uLmZpcnN0LT5vYmplY3RJRCgpLCB7IHsgQVhQcm9wZXJ0eU5hbWU6OkNvbHVtbklu
ZGV4UmFuZ2UsIEFYUHJvcGVydHlOYW1lOjpDb2x1bW5JbmRleCB9IH0pOworICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIGNhc2UgQVhDb2x1bW5TcGFuQ2hhbmdlZDoKICAgICAgICAgICAgIHRy
ZWUtPnF1ZXVlTm9kZVVwZGF0ZShub3RpZmljYXRpb24uZmlyc3QtPm9iamVjdElEKCksIHsgQVhQ
cm9wZXJ0eU5hbWU6OkNvbHVtbkluZGV4UmFuZ2UgfSk7CiAgICAgICAgICAgICBicmVhazsKQEAg
LTQ0MzYsNiArNDQzOCw4IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6dXBkYXRlSXNvbGF0ZWRUcmVl
KGNvbnN0IFZlY3RvcjxzdGQ6OnBhaXI8UmVmUHRyPEFjY2Vzc2liaWxpCiAgICAgICAgICAgICB0
cmVlLT5xdWV1ZU5vZGVVcGRhdGUobm90aWZpY2F0aW9uLmZpcnN0LT5vYmplY3RJRCgpLCB7IEFY
UHJvcGVydHlOYW1lOjpSb2xlRGVzY3JpcHRpb24gfSk7CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgY2FzZSBBWFJvd0luZGV4Q2hhbmdlZDoKKyAgICAgICAgICAgIHRyZWUtPnF1ZXVlTm9k
ZVVwZGF0ZShub3RpZmljYXRpb24uZmlyc3QtPm9iamVjdElEKCksIHsgeyBBWFByb3BlcnR5TmFt
ZTo6Um93SW5kZXhSYW5nZSwgQVhQcm9wZXJ0eU5hbWU6OlJvd0luZGV4IH0gfSk7CisgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgY2FzZSBBWFJvd1NwYW5DaGFuZ2VkOgogICAgICAgICAgICAg
dHJlZS0+cXVldWVOb2RlVXBkYXRlKG5vdGlmaWNhdGlvbi5maXJzdC0+b2JqZWN0SUQoKSwgeyBB
WFByb3BlcnR5TmFtZTo6Um93SW5kZXhSYW5nZSB9KTsKICAgICAgICAgICAgIGJyZWFrOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmggYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAppbmRleCAyODM4NmYy
Y2E0M2YuLmEyZDA5MjY0MjRlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BWE9iamVjdENhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
WE9iamVjdENhY2hlLmgKQEAgLTIxMiw4ICsyMTIsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBoYW5k
bGVSb2xlQ2hhbmdlZChBY2Nlc3NpYmlsaXR5T2JqZWN0Jik7CiAKICNpZiBFTkFCTEUoQUNDRVNT
SUJJTElUWV9JU09MQVRFRF9UUkVFKQotICAgIHZvaWQgY29sdW1uSW5kZXhDaGFuZ2VkKEFjY2Vz
c2liaWxpdHlUYWJsZUNlbGwmKTsKLSAgICB2b2lkIHJvd0luZGV4Q2hhbmdlZChBY2Nlc3NpYmls
aXR5VGFibGVDZWxsJik7CisgICAgdm9pZCBjb2x1bW5JbmRleENoYW5nZWQoQWNjZXNzaWJpbGl0
eU9iamVjdCYpOworICAgIHZvaWQgcm93SW5kZXhDaGFuZ2VkKEFjY2Vzc2liaWxpdHlPYmplY3Qm
KTsKICNlbmRpZgogCiAgICAgLy8gQ2FsbGVkIHdoZW4gYSBSZW5kZXJPYmplY3QgaXMgY3JlYXRl
ZCBmb3IgYW4gRWxlbWVudC4gRGVwZW5kaW5nIG9uIHRoZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW4uY3BwIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW4uY3BwCmluZGV4
IDY4NmIzNjVkMjkwYi4uZjQ1MWIwMDUwYjBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW4uY3BwCkBAIC03NCw2
ICs3NCwxOCBAQCBBWENvcmVPYmplY3QqIEFjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbjo6Y29sdW1u
SGVhZGVyKCkKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAordm9pZCBBY2Nlc3NpYmlsaXR5VGFi
bGVDb2x1bW46OnNldENvbHVtbkluZGV4KHVuc2lnbmVkIGNvbHVtbkluZGV4KQoreworICAgIGlm
IChtX2NvbHVtbkluZGV4ID09IGNvbHVtbkluZGV4KQorICAgICAgICByZXR1cm47CisgICAgbV9j
b2x1bW5JbmRleCA9IGNvbHVtbkluZGV4OworCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNP
TEFURURfVFJFRSkKKyAgICBpZiAoYXV0byogY2FjaGUgPSBheE9iamVjdENhY2hlKCkpCisgICAg
ICAgIGNhY2hlLT5jb2x1bW5JbmRleENoYW5nZWQoKnRoaXMpOworI2VuZGlmCit9CisKIGJvb2wg
QWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1uOjpjb21wdXRlQWNjZXNzaWJpbGl0eUlzSWdub3JlZCgp
IGNvbnN0CiB7CiAgICAgaWYgKCFtX3BhcmVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbi5oCmluZGV4IGViZDE4OWE4
ZGI1Ny4uZWM2YTFjYjIzMTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1uLmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVi
bGljOgogCiAgICAgQWNjZXNzaWJpbGl0eVJvbGUgZGV0ZXJtaW5lQWNjZXNzaWJpbGl0eVJvbGUo
KSBmaW5hbCB7IHJldHVybiBBY2Nlc3NpYmlsaXR5Um9sZTo6Q29sdW1uOyB9CiAKLSAgICB2b2lk
IHNldENvbHVtbkluZGV4KHVuc2lnbmVkIGNvbHVtbkluZGV4KSB7IG1fY29sdW1uSW5kZXggPSBj
b2x1bW5JbmRleDsgfQorICAgIHZvaWQgc2V0Q29sdW1uSW5kZXgodW5zaWduZWQpOwogICAgIHVu
c2lnbmVkIGNvbHVtbkluZGV4KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9jb2x1bW5JbmRl
eDsgfQogCiAgICAgdm9pZCBhZGRDaGlsZHJlbigpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVSb3cuY3BwIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVSb3cuY3BwCmluZGV4
IDZkMDYxODJmMTdhOS4uNzM1OTM0NTliNzQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZVJvdy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVSb3cuY3BwCkBAIC0xMTcsNiArMTE3
LDE4IEBAIEFjY2Vzc2liaWxpdHlUYWJsZSogQWNjZXNzaWJpbGl0eVRhYmxlUm93OjpwYXJlbnRU
YWJsZSgpIGNvbnN0CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKK3ZvaWQgQWNjZXNzaWJpbGl0
eVRhYmxlUm93OjpzZXRSb3dJbmRleCh1bnNpZ25lZCByb3dJbmRleCkKK3sKKyAgICBpZiAobV9y
b3dJbmRleCA9PSByb3dJbmRleCkKKyAgICAgICAgcmV0dXJuOworICAgIG1fcm93SW5kZXggPSBy
b3dJbmRleDsKKworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAg
aWYgKGF1dG8qIGNhY2hlID0gYXhPYmplY3RDYWNoZSgpKQorICAgICAgICBjYWNoZS0+cm93SW5k
ZXhDaGFuZ2VkKCp0aGlzKTsKKyNlbmRpZgorfQorCiBBWENvcmVPYmplY3QqIEFjY2Vzc2liaWxp
dHlUYWJsZVJvdzo6cm93SGVhZGVyKCkKIHsKICAgICBjb25zdCBhdXRvJiByb3dDaGlsZHJlbiA9
IGNoaWxkcmVuKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlUYWJsZVJvdy5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5VGFibGVSb3cuaAppbmRleCBiM2E2NTQwOWMyZGMuLjA2ZDZlODcyYzQ5MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVS
b3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJs
ZVJvdy5oCkBAIC00NCw3ICs0NCw3IEBAIHB1YmxpYzoKICAgICBBWENvcmVPYmplY3QqIHJvd0hl
YWRlcigpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eVRhYmxlKiBwYXJlbnRU
YWJsZSgpIGNvbnN0OwogCi0gICAgdm9pZCBzZXRSb3dJbmRleCh1bnNpZ25lZCByb3dJbmRleCkg
eyBtX3Jvd0luZGV4ID0gcm93SW5kZXg7IH0KKyAgICB2b2lkIHNldFJvd0luZGV4KHVuc2lnbmVk
KTsKICAgICB1bnNpZ25lZCByb3dJbmRleCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fcm93
SW5kZXg7IH0KIAogICAgIC8vIGFsbG93cyB0aGUgdGFibGUgdG8gYWRkIG90aGVyIGNoaWxkcmVu
IHRoYXQgbWF5IG5vdCBvcmlnaW5hdGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcAppbmRleCAzYjc5
OWMzZDFjZjkuLmM2NDVjMDA4NzExOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcApAQCAtNTky
LDYgKzU5Miw5IEBAIHZvaWQgQVhJc29sYXRlZFRyZWU6OnVwZGF0ZU5vZGVQcm9wZXJ0aWVzKEFY
Q29yZU9iamVjdCYgYXhPYmplY3QsIGNvbnN0IEFYUHJvcGVyCiAgICAgICAgIGNhc2UgQVhQcm9w
ZXJ0eU5hbWU6OkNlbGxTbG90czoKICAgICAgICAgICAgIHByb3BlcnR5TWFwLnNldChBWFByb3Bl
cnR5TmFtZTo6Q2VsbFNsb3RzLCBkeW5hbWljRG93bmNhc3Q8QWNjZXNzaWJpbGl0eU9iamVjdD4o
YXhPYmplY3QpLT5jZWxsU2xvdHMoKSk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2Fz
ZSBBWFByb3BlcnR5TmFtZTo6Q29sdW1uSW5kZXg6CisgICAgICAgICAgICBwcm9wZXJ0eU1hcC5z
ZXQoQVhQcm9wZXJ0eU5hbWU6OkNvbHVtbkluZGV4LCBheE9iamVjdC5jb2x1bW5JbmRleCgpKTsK
KyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEFYUHJvcGVydHlOYW1lOjpDb2x1bW5J
bmRleFJhbmdlOgogICAgICAgICAgICAgcHJvcGVydHlNYXAuc2V0KEFYUHJvcGVydHlOYW1lOjpD
b2x1bW5JbmRleFJhbmdlLCBheE9iamVjdC5jb2x1bW5JbmRleFJhbmdlKCkpOwogICAgICAgICAg
ICAgYnJlYWs7CkBAIC02NjUsNiArNjY4LDkgQEAgdm9pZCBBWElzb2xhdGVkVHJlZTo6dXBkYXRl
Tm9kZVByb3BlcnRpZXMoQVhDb3JlT2JqZWN0JiBheE9iamVjdCwgY29uc3QgQVhQcm9wZXIKICAg
ICAgICAgY2FzZSBBWFByb3BlcnR5TmFtZTo6Um9sZURlc2NyaXB0aW9uOgogICAgICAgICAgICAg
cHJvcGVydHlNYXAuc2V0KEFYUHJvcGVydHlOYW1lOjpSb2xlRGVzY3JpcHRpb24sIGF4T2JqZWN0
LnJvbGVEZXNjcmlwdGlvbigpLmlzb2xhdGVkQ29weSgpKTsKICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBjYXNlIEFYUHJvcGVydHlOYW1lOjpSb3dJbmRleDoKKyAgICAgICAgICAgIHByb3Bl
cnR5TWFwLnNldChBWFByb3BlcnR5TmFtZTo6Um93SW5kZXgsIGF4T2JqZWN0LnJvd0luZGV4KCkp
OworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQVhQcm9wZXJ0eU5hbWU6OlJvd0lu
ZGV4UmFuZ2U6CiAgICAgICAgICAgICBwcm9wZXJ0eU1hcC5zZXQoQVhQcm9wZXJ0eU5hbWU6OlJv
d0luZGV4UmFuZ2UsIGF4T2JqZWN0LnJvd0luZGV4UmFuZ2UoKSk7CiAgICAgICAgICAgICBicmVh
azsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZHluYW1pYy10YWJsZS1y
b3ctY29sdW1uLWluZGljZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9keW5hbWljLXRhYmxlLXJvdy1jb2x1bW4taW5kaWNlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi43YTdmOWNjM2ViYmMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2R5bmFtaWMtdGFibGUtcm93LWNvbHVt
bi1pbmRpY2VzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMwIEBACitUaGlzIHRlc3RzIHRoYXQg
dGFibGUgcm93IGFuZCBjb2x1bW4gaW5kaWNpZXMgdXBkYXRlIGNvcnJlY3RseSBhZnRlciByb3cv
Y29sdW1uIGluc2VydGlvbnMuCisKK1JvdyBJbmRleCBbMF06IDAKK1JvdyBJbmRleCBbMV06IDEK
K0NvbHVtbiBJbmRleCBbMF06IDAKK0NvbHVtbiBJbmRleCBbMV06IDEKKworQWRkaW5nIHJvdyBh
dCBpbmRleCAxOgorCitSb3cgSW5kZXggWzBdOiAwCitSb3cgSW5kZXggWzFdOiAxCitSb3cgSW5k
ZXggWzJdOiAyCitDb2x1bW4gSW5kZXggWzBdOiAwCitDb2x1bW4gSW5kZXggWzFdOiAxCisKK0Fk
ZGluZyBjZWxsIHRvIHJvdyAwOgorCitSb3cgSW5kZXggWzBdOiAwCitSb3cgSW5kZXggWzFdOiAx
CitSb3cgSW5kZXggWzJdOiAyCitDb2x1bW4gSW5kZXggWzBdOiAwCitDb2x1bW4gSW5kZXggWzFd
OiAxCitDb2x1bW4gSW5kZXggWzJdOiAyCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorQ2VsbCAxCUNlbGwgMglDZWxsIDcKK0NlbGwgNQlDZWxsIDYK
K0NlbGwgMwlDZWxsIDQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZHlu
YW1pYy10YWJsZS1yb3ctY29sdW1uLWluZGljZXMuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvZHluYW1pYy10YWJsZS1yb3ctY29sdW1uLWluZGljZXMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjNlMDFjZWUwNjFiZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZHluYW1pYy10YWJsZS1yb3ctY29sdW1uLWlu
ZGljZXMuaHRtbApAQCAtMCwwICsxLDY2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9hY2Nlc3NpYmlsaXR5LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgCis8
dGFibGUgaWQ9InRhYmxlIj4KKyAgICA8dHIgaWQ9InRyMSI+CisgICAgICAgIDx0aD5DZWxsIDE8
L3RoPgorICAgICAgICA8dGg+Q2VsbCAyPC90aD4KKyAgICA8L3RyPgorICAgIDx0ciBpZD0idHIy
Ij4KKyAgICAgICAgPHRkPkNlbGwgMzwvdGQ+CisgICAgICAgIDx0ZD5DZWxsIDQ8L3RkPgorICAg
IDwvdHI+Cis8L3RhYmxlPgorCis8c2NyaXB0PgorZnVuY3Rpb24gdGFibGVSb3dBbmRDb2x1bW5J
bmRpY2VzKHRhYmxlKSB7CisgICAgbGV0IHJlc3VsdCA9ICIiOworICAgIGZvciAobGV0IGkgPSAw
OyBpIDwgdGFibGUucm93Q291bnQ7IGkrKykKKyAgICAgICAgcmVzdWx0ICs9IGBSb3cgSW5kZXgg
WyR7aX1dOiAke3RhYmxlLnJvd0F0SW5kZXgoaSkuaW5kZXhJblRhYmxlKCl9XG5gOworCisgICAg
Y29uc3QgY29sdW1ucyA9IHRhYmxlLmNvbHVtbnMoKTsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8
IHRhYmxlLmNvbHVtbkNvdW50OyBpKyspCisgICAgICAgIHJlc3VsdCArPSBgQ29sdW1uIEluZGV4
IFske2l9XTogJHtjb2x1bW5zW2ldLmluZGV4SW5UYWJsZSgpfVxuYDsKKyAgICByZXR1cm4gcmVz
dWx0OworfSAgICAKKwordmFyIG91dHB1dCA9ICJUaGlzIHRlc3RzIHRoYXQgdGFibGUgcm93IGFu
ZCBjb2x1bW4gaW5kaWNpZXMgdXBkYXRlIGNvcnJlY3RseSBhZnRlciByb3cvY29sdW1uIGluc2Vy
dGlvbnMuXG5cbiIKKworaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAg
IHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgIHZhciB0YWJsZSA9IGFjY2Vzc2li
aWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgidGFibGUiKTsKKyAgICBvdXRw
dXQgKz0gdGFibGVSb3dBbmRDb2x1bW5JbmRpY2VzKHRhYmxlKTsKKworICAgIC8vIEluc2VydCBh
IG5ldyByb3cgYXQgaW5kZXggMQorICAgIG91dHB1dCArPSAiXG5BZGRpbmcgcm93IGF0IGluZGV4
IDE6XG5cbiI7CisgICAgbGV0IG5ld1JvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRyIik7
CisgICAgbmV3Um93LmlubmVySFRNTCA9ICI8dGQ+Q2VsbCA1PC90ZD48dGQ+Q2VsbCA2PC90ZD4i
OworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0cjEiKS5hZnRlcihuZXdSb3cpOworCisg
ICAgc2V0VGltZW91dChhc3luYyBmdW5jdGlvbigpIHsKKyAgICAgICAgYXdhaXQgd2FpdEZvcigo
KSA9PiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoInRyMiIp
LmluZGV4SW5UYWJsZSgpID09IDIpOworICAgICAgICBvdXRwdXQgKz0gdGFibGVSb3dBbmRDb2x1
bW5JbmRpY2VzKHRhYmxlKTsKKworICAgICAgICAvLyBDcmVhdGUgYSBuZXcgY29sdW1uIGJ5IGlu
c2VydGluZyBhIGNlbGwgYXQgdGhlIGVuZCBvZiBhIHJvdworICAgICAgICBvdXRwdXQgKz0gIlxu
QWRkaW5nIGNlbGwgdG8gcm93IDA6XG5cbiI7CisgICAgICAgIGxldCBuZXdDZWxsID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgidGQiKTsKKyAgICAgICAgbmV3Q2VsbC5pbm5lckhUTUwgPSAiQ2Vs
bCA3IjsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRyMSIpLmFwcGVuZChuZXdD
ZWxsKTsKKworICAgICAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IHRhYmxlLmNvbHVtbnMoKS5sZW5n
dGggPT0gMyk7CisgICAgICAgIG91dHB1dCArPSB0YWJsZVJvd0FuZENvbHVtbkluZGljZXModGFi
bGUpOworCisgICAgICAgIGRlYnVnKG91dHB1dCk7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgIH0sIDApOworfQorPC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGFibGUtaW5zZXJ0LXNlY29uZC10aGVhZC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RhYmxlLWluc2VydC1zZWNvbmQt
dGhlYWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MC4uMGJjNGE2ODY5YWZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS90YWJsZS1pbnNlcnQtc2Vjb25kLXRoZWFkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMx
IEBACitUaGlzIHRlc3RzIHRoYXQgdGhlIGF0dHJpYnV0ZXMgb2YgdGFibGUgcm93cyBhbmQgY2Vs
bHMgYXJlIGNvcnJlY3Qgd2hlbiB0aGVyZSBhcmUgdHdvIFRIZWFkcy4KKworUEFTUzogdGFibGUu
cm93Q291bnQgPT09IDIKK1BBU1M6IHRhYmxlLmNvbHVtbkNvdW50ID09PSAyCisKK0FkZGluZyBU
SGVhZDoKKworUEFTUzogdGFibGUucm93Q291bnQgPT09IDMKK1BBU1M6IHRhYmxlLmNvbHVtbkNv
dW50ID09PSAyCitQQVNTOiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVu
dEJ5SWQoJ3RyMScpLmluZGV4SW5UYWJsZSgpID09PSAwCitQQVNTOiBhY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RyMicpLmluZGV4SW5UYWJsZSgpID09PSAy
CitQQVNTOiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3Ry
MycpLmluZGV4SW5UYWJsZSgpID09PSAxCitQQVNTOiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5h
Y2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RoMScpLnJvd0luZGV4UmFuZ2UoKSA9PT0gJ3swLCAxfScK
K1BBU1M6IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGgx
JykuY29sdW1uSW5kZXhSYW5nZSgpID09PSAnezAsIDF9JworUEFTUzogYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0aDInKS5yb3dJbmRleFJhbmdlKCkgPT09
ICd7MCwgMX0nCitQQVNTOiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVu
dEJ5SWQoJ3RoMicpLmNvbHVtbkluZGV4UmFuZ2UoKSA9PT0gJ3sxLCAxfScKK1BBU1M6IGFjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGgzJykucm93SW5kZXhS
YW5nZSgpID09PSAnezEsIDF9JworUEFTUzogYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNz
aWJsZUVsZW1lbnRCeUlkKCd0aDMnKS5jb2x1bW5JbmRleFJhbmdlKCkgPT09ICd7MCwgMX0nCitQ
QVNTOiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RoNCcp
LnJvd0luZGV4UmFuZ2UoKSA9PT0gJ3sxLCAxfScKK1BBU1M6IGFjY2Vzc2liaWxpdHlDb250cm9s
bGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGg0JykuY29sdW1uSW5kZXhSYW5nZSgpID09PSAn
ezEsIDF9JworUEFTUzogYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRC
eUlkKCd0ZDEnKS5yb3dJbmRleFJhbmdlKCkgPT09ICd7MiwgMX0nCitQQVNTOiBhY2Nlc3NpYmls
aXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RkMScpLmNvbHVtbkluZGV4UmFu
Z2UoKSA9PT0gJ3swLCAxfScKK1BBU1M6IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2li
bGVFbGVtZW50QnlJZCgndGQyJykucm93SW5kZXhSYW5nZSgpID09PSAnezIsIDF9JworUEFTUzog
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0ZDInKS5jb2x1
bW5JbmRleFJhbmdlKCkgPT09ICd7MSwgMX0nCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorSGVhZGVyIDEJSGVhZGVyIDIKK0hlYWRlciAzCUhlYWRl
ciA0CitDZWxsIDEJQ2VsbCAyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L3RhYmxlLWluc2VydC1zZWNvbmQtdGhlYWQuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvdGFibGUtaW5zZXJ0LXNlY29uZC10aGVhZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMC4uYjc2MmE5YjljOTFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvYWNjZXNzaWJpbGl0eS90YWJsZS1pbnNlcnQtc2Vjb25kLXRoZWFkLmh0bWwKQEAgLTAs
MCArMSw3MSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvYWNjZXNzaWJpbGl0
eS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorCis8dGFibGUgaWQ9InRhYmxlIj4KKyAg
ICA8dGhlYWQgaWQ9InRoZWFkMSI+CisgICAgICAgIDx0ciBpZD0idHIxIj4KKyAgICAgICAgICAg
IDx0aCBpZD0idGgxIj5IZWFkZXIgMTwvdGg+CisgICAgICAgICAgICA8dGggaWQ9InRoMiI+SGVh
ZGVyIDI8L3RoPgorICAgICAgICA8L3RyPgorICAgIDwvdGhlYWQ+CisgICAgPHRib2R5PgorICAg
ICAgICA8dHIgaWQ9InRyMiI+CisgICAgICAgICAgICA8dGQgaWQ9InRkMSI+Q2VsbCAxPC90ZD4K
KyAgICAgICAgICAgIDx0ZCBpZD0idGQyIj5DZWxsIDI8L3RkPgorICAgICAgICA8L3RyPgorICAg
IDwvdGJvZHk+Cis8L3RhYmxlPgorCis8c2NyaXB0PgordmFyIG91dHB1dCA9ICJUaGlzIHRlc3Rz
IHRoYXQgdGhlIGF0dHJpYnV0ZXMgb2YgdGFibGUgcm93cyBhbmQgY2VsbHMgYXJlIGNvcnJlY3Qg
d2hlbiB0aGVyZSBhcmUgdHdvIFRIZWFkcy5cblxuIgorCitpZiAod2luZG93LmFjY2Vzc2liaWxp
dHlDb250cm9sbGVyKSB7CisgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworICAgIAor
ICAgIHZhciB0YWJsZSA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50
QnlJZCgidGFibGUiKTsKKworICAgIG91dHB1dCArPSBleHBlY3QoInRhYmxlLnJvd0NvdW50Iiwg
IjIiKTsKKyAgICBvdXRwdXQgKz0gZXhwZWN0KCJ0YWJsZS5jb2x1bW5Db3VudCIsICIyIik7CisK
KyAgICBsZXQgbmV3VEhlYWQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0aGVhZCIpOworICAg
IG5ld1RIZWFkLmlubmVySFRNTCA9ICI8dHIgaWQ9J3RyMyc+PHRoIGlkPSd0aDMnPkhlYWRlciAz
PC90aD48dGggaWQ9J3RoNCc+SGVhZGVyIDQ8L3RoPjwvdHI+IjsKKworICAgIG91dHB1dCArPSAi
XG5BZGRpbmcgVEhlYWQ6XG5cbiI7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRoZWFk
MSIpLmFmdGVyKG5ld1RIZWFkKTsKKworICAgIHNldFRpbWVvdXQoYXN5bmMgZnVuY3Rpb24oKSB7
CisgICAgICAgIG91dHB1dCArPSBhd2FpdCBleHBlY3RBc3luYygidGFibGUucm93Q291bnQiLCAi
MyIpOworICAgICAgICBvdXRwdXQgKz0gYXdhaXQgZXhwZWN0QXN5bmMoInRhYmxlLmNvbHVtbkNv
dW50IiwgIjIiKTsKKworICAgICAgICBvdXRwdXQgKz0gZXhwZWN0KCJhY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RyMScpLmluZGV4SW5UYWJsZSgpIiwgIjAi
KTsKKyAgICAgICAgb3V0cHV0ICs9IGV4cGVjdCgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNj
ZXNzaWJsZUVsZW1lbnRCeUlkKCd0cjInKS5pbmRleEluVGFibGUoKSIsICIyIik7CisgICAgICAg
IG91dHB1dCArPSBleHBlY3QoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVt
ZW50QnlJZCgndHIzJykuaW5kZXhJblRhYmxlKCkiLCAiMSIpOworCisgICAgICAgIG91dHB1dCAr
PSBleHBlY3QoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgn
dGgxJykucm93SW5kZXhSYW5nZSgpIiwgIid7MCwgMX0nIik7CisgICAgICAgIG91dHB1dCArPSBl
eHBlY3QoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGgx
JykuY29sdW1uSW5kZXhSYW5nZSgpIiwgIid7MCwgMX0nIik7CisgICAgICAgIG91dHB1dCArPSBl
eHBlY3QoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGgy
Jykucm93SW5kZXhSYW5nZSgpIiwgIid7MCwgMX0nIik7CisgICAgICAgIG91dHB1dCArPSBleHBl
Y3QoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgndGgyJyku
Y29sdW1uSW5kZXhSYW5nZSgpIiwgIid7MSwgMX0nIik7CisKKyAgICAgICAgb3V0cHV0ICs9IGV4
cGVjdCgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0aDMn
KS5yb3dJbmRleFJhbmdlKCkiLCAiJ3sxLCAxfSciKTsKKyAgICAgICAgb3V0cHV0ICs9IGV4cGVj
dCgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0aDMnKS5j
b2x1bW5JbmRleFJhbmdlKCkiLCAiJ3swLCAxfSciKTsKKyAgICAgICAgb3V0cHV0ICs9IGV4cGVj
dCgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0aDQnKS5y
b3dJbmRleFJhbmdlKCkiLCAiJ3sxLCAxfSciKTsKKyAgICAgICAgb3V0cHV0ICs9IGV4cGVjdCgi
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0aDQnKS5jb2x1
bW5JbmRleFJhbmdlKCkiLCAiJ3sxLCAxfSciKTsKKworICAgICAgICBvdXRwdXQgKz0gZXhwZWN0
KCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RkMScpLnJv
d0luZGV4UmFuZ2UoKSIsICInezIsIDF9JyIpOworICAgICAgICBvdXRwdXQgKz0gZXhwZWN0KCJh
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RkMScpLmNvbHVt
bkluZGV4UmFuZ2UoKSIsICInezAsIDF9JyIpOworICAgICAgICBvdXRwdXQgKz0gZXhwZWN0KCJh
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RkMicpLnJvd0lu
ZGV4UmFuZ2UoKSIsICInezIsIDF9JyIpOworICAgICAgICBvdXRwdXQgKz0gZXhwZWN0KCJhY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ3RkMicpLmNvbHVtbklu
ZGV4UmFuZ2UoKSIsICInezEsIDF9JyIpOworCisgICAgICAgIGRlYnVnKG91dHB1dCk7CisgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0sIDApOworfQorPC9zY3JpcHQ+CisKKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVzdEV4cGVj
dGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVzdEV4cGVjdGF0aW9ucwppbmRl
eCBjYWY3NjQ4MDZmYWIuLmQyNzYxOGFjNzE1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2ds
aWIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNjMzLDYgKzYzMywxMiBAQCBodHRwL3Rlc3RzL2FjY2Vz
c2liaWxpdHkvZm9jdXMtdGV4dC1maWVsZC1pbi1pZnJhbWUuaHRtbCBbIFNraXAgXQogIyBUaW1l
cyBvdXQgZHVlIHRvIG1pc3NpbmcgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGlua2VkVUlFbGVt
ZW50QXRJbmRleCgpIGltcGxlbWVudGF0aW9uLgogYWNjZXNzaWJpbGl0eS9jb21ib2JveC1saW5r
ZWQtbGlzdGJveC1kZXN0cm95ZWQuaHRtbCBbIFNraXAgXQogCisjIEZhaWxzIGR1ZSB0byBtaXNz
aW5nIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmluZGV4SW5UYWJsZSgpIGltcGxlbWVudGF0aW9u
LgorYWNjZXNzaWJpbGl0eS90YWJsZS1pbnNlcnQtc2Vjb25kLXRoZWFkLmh0bWwgWyBTa2lwIF0K
KworIyBGYWlscyBkdWUgdG8gbWlzc2luZyBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpjb2x1bW5z
KCkgaW1wbGVtZW50YXRpb24uCithY2Nlc3NpYmlsaXR5L2R5bmFtaWMtdGFibGUtcm93LWNvbHVt
bi1pbmRpY2VzLmh0bWwgWyBTa2lwIF0KKwogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8KICMgRW5kIG9mIEFjY2Vzc2liaWxpdHktcmVsYXRlZCBidWdzCiAjLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
MS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IGUwYTMyZmEzZWZhOC4uMGE3NjZlOTUwZDI2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC04NjUsNiArODY1LDkg
QEAgYWNjZXNzaWJpbGl0eS9tYWMvaW5pdGlhbC1yZWxhdGl2ZS1mcmFtZS1jYWNoZWQuaHRtbCBb
IFNraXAgXQogIyBOZXcgQVBJIG5vdCBzdXBwb3J0ZWQgaW4gV0sxCiBhY2Nlc3NpYmlsaXR5L21h
Yy9pbnRlcnNlY3Rpb24td2l0aC1zZWxlY3Rpb24tcmFuZ2UuaHRtbCBbIFNraXAgXQogCisjIFNr
aXBwaW5nIGJlY2F1c2UgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y29sdW1ucygpIGlzIG5vdCBz
dXBwb3J0ZWQgb24gV0sxLgorYWNjZXNzaWJpbGl0eS9keW5hbWljLXRhYmxlLXJvdy1jb2x1bW4t
aW5kaWNlcy5odG1sIFsgU2tpcCBdCisKICMgRE9NIHBhc3RlIGFjY2VzcyByZXF1ZXN0cyBhcmUg
bm90IGltcGxlbWVudGVkIGluIFdlYktpdDEuCiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtY2hhbmdlLWRhdGEtd2hpbGUtcmVhZGluZy5odG1sIFsgU2tpcCBdCiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtZG8tbm90LXJlYWQtdGV4dC1mcm9tLXBsYXRmb3JtLWlm
LXRleHQtY2hhbmdlcy5odG1sIFsgU2tpcCBdCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>