<?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>220194</bug_id>
          
          <creation_ts>2020-12-29 08:51:07 -0800</creation_ts>
          <short_desc>`PointerEvent.movementX` always 0 (breaks https://noisecraft.app/)</short_desc>
          <delta_ts>2022-05-16 15:35:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>UI Events</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=167775</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>709922234</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>ap</cc>
    
    <cc>cdumez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>hi</cc>
    
    <cc>kangil.han</cc>
    
    <cc>lgarron</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>steveruizok</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1716810</commentid>
    <comment_count>0</comment_count>
    <who name="">709922234</who>
    <bug_when>2020-12-29 08:51:07 -0800</bug_when>
    <thetext>example: https://codepen.io/mantou132/pen/JjRMzMg

The `movementX` property of the `pointermove` event should be equal to `MouseEvent.movementX`</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716855</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-12-30 12:38:11 -0800</bug_when>
    <thetext>I can reproduce this in a recent WebKit build; works in Chrome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1717328</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-01-05 08:52:12 -0800</bug_when>
    <thetext>&lt;rdar://problem/72814440&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1780544</commentid>
    <comment_count>3</comment_count>
    <who name="Steve Ruiz">steveruizok</who>
    <bug_when>2021-07-29 13:36:18 -0700</bug_when>
    <thetext>Came here to post this one.

https://codesandbox.io/s/muddy-thunder-3wesc</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826849</commentid>
    <comment_count>4</comment_count>
    <who name="Lucas Garron">lgarron</who>
    <bug_when>2021-12-26 01:04:07 -0800</bug_when>
    <thetext>I&apos;m also running into this issue: `movementX` and `movementY` are not populated on `pointermove` events, regardless of whether they are due to mouse, touch, or Apple Pencil.

When the source is a mouse (on macOS), the values are `0`, because the property access chains up to the `MouseEvent` prototype.

Here&apos;s a moderately useful repro:

Hosted: https://garron.net/temp/safari-movementX/
Source:
```html
&lt;div id=&quot;log&quot; style=&quot;background: #90B8DF; width: 90%; height: 90%&quot;&gt;(Waiting for data.)&lt;/div&gt;
&lt;script&gt;
  window.addEventListener(&quot;load&quot;, () =&gt; {
    document.body.addEventListener(&quot;pointermove&quot;, (e) =&gt; {
      console.log(e);
      document.querySelector(&quot;#log&quot;).textContent = `{movementX: ${e.movementX}, movementY: ${e.movementY}} at ${Math.round(performance.now()) / 1000}sec`
    })
  })
&lt;/script&gt;
```

As far as I can tell, this is a bit tricky/expensive to polyfill:

- Select the correct X/Y coordinates to track per touch.
  - I believe `screenX/screenY` are best, except `screenY` is `undefined` on i[Pad]OS when the event is also used for vertical scrolling‽
- Track the last seen coordinates per `pointerId`.
  - Compensate for bugs like `undefined` values, like described above.
- Evict old cached coordinates so we don&apos;t end up with an unbounded growing cache and don&apos;t accidentally track a &quot;movement&quot; across mouse clicks (which seem to always have the same `pointerId`).
  - Attach listeners for `pointerup`, and `pointercancel` and hope that catches every cache eviction event‽ (Does that also need to include `pointerleave` and `pointerout`? That would cause issues for the app I&apos;m currently working on.) Track timestamps and discard touches that are sufficiently old?

By contrast, `movementX` and `movementY` are much more ergonomic and I&apos;d really appreciate being able to use them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826850</commentid>
    <comment_count>5</comment_count>
    <who name="Lucas Garron">lgarron</who>
    <bug_when>2021-12-26 01:22:45 -0800</bug_when>
    <thetext>&gt; except `screenY` is `undefined` on i[Pad]OS when the event is also used for vertical scrolling‽

Small correction: I think I had a typo while testing this. I&apos;m now consistently getting both `screenX` and `screenY` values (although all the other issues I described are still relevant).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826851</commentid>
    <comment_count>6</comment_count>
    <who name="Lucas Garron">lgarron</who>
    <bug_when>2021-12-26 01:53:37 -0800</bug_when>
    <thetext>I&apos;d also like to add that none of the following are effective for feature detection:

- `&quot;movementX&quot; in e`
- `e.movementX !== &quot;undefined&quot;`
- `e.hasOwnProperty(&quot;movementX&quot;)`

The fact that `movementX` can be an incorrect of `0` instead of `undefined` means that I can&apos;t trust a numerical value without something like UA sniffing, which should really be an anti-pattern at this point. :-/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838460</commentid>
    <comment_count>7</comment_count>
      <attachid>451185</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2022-02-07 17:50:06 -0800</bug_when>
    <thetext>Created attachment 451185
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838850</commentid>
    <comment_count>8</comment_count>
      <attachid>451298</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2022-02-08 13:12:07 -0800</bug_when>
    <thetext>Created attachment 451298
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854376</commentid>
    <comment_count>9</comment_count>
      <attachid>455544</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2022-03-23 13:36:20 -0700</bug_when>
    <thetext>Created attachment 455544
[fast-cq] Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854476</commentid>
    <comment_count>10</comment_count>
      <attachid>455579</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2022-03-23 16:21:45 -0700</bug_when>
    <thetext>Created attachment 455579
[fast-cq] Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854743</commentid>
    <comment_count>11</comment_count>
      <attachid>455652</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2022-03-24 10:40:53 -0700</bug_when>
    <thetext>Created attachment 455652
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854753</commentid>
    <comment_count>12</comment_count>
      <attachid>455654</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2022-03-24 10:54:14 -0700</bug_when>
    <thetext>Created attachment 455654
[fast-cq] Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854946</commentid>
    <comment_count>13</comment_count>
      <attachid>455708</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2022-03-24 17:08:54 -0700</bug_when>
    <thetext>Created attachment 455708
[fast-cq] Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855229</commentid>
    <comment_count>14</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-25 13:55:39 -0700</bug_when>
    <thetext>Committed r291886 (248885@main): &lt;https://commits.webkit.org/248885@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 455708.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869456</commentid>
    <comment_count>15</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2022-05-16 15:35:19 -0700</bug_when>
    <thetext>Just to let everyone know, for those who care about Safari, this has shipped in Safari 15.5.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451185</attachid>
            <date>2022-02-07 17:50:06 -0800</date>
            <delta_ts>2022-02-08 13:12:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220194-20220207185005.patch</filename>
            <type>text/plain</type>
            <size>9735</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyM2YyM2NmNzNmMzI4MDA4ZDM3MWQyNDU3NDhiYzQ4MzIzNDk5YjM1Li43
NmQzYzI2MTlmODk1ZjdkOTVlYTFiMTYyZTUzMTcxZWNkMWZkZmVkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjkgQEAKKzIwMjItMDItMDcgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIGBQb2ludGVyRXZlbnQubW92ZW1lbnRYYCBhbHdheXMgMCAoYnJlYWtzIGh0
dHBzOi8vbm9pc2VjcmFmdC5hcHAvKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjIwMTk0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MjgxNDQ0MD4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBw
b2ludGVyZXZlbnRzL21vdXNlL21vdmVtZW50LWRlbHRhLmh0bWwKKworICAgICAgICAqIGRvbS9Q
b2ludGVyRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UG9pbnRlckV2ZW50OjpQb2ludGVy
RXZlbnQpOgorICAgICAgICBBbHNvIHBhc3MgYWxvbmcgdGhlIG1vdmVtZW50IGRlbHRhIGluIHRo
ZSBjb25zdHJ1Y3RvciB0aGF0IHRha2VzIGEgYE1vdXNlRXZlbnRgLgorCisgICAgICAgICogZG9t
L01vdXNlRXZlbnQuaDoKKyAgICAgICAgKiBkb20vTW91c2VFdmVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpNb3VzZUV2ZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TW91c2VFdmVu
dDo6TW91c2VFdmVudCk6CisgICAgICAgIFJlcXVpcmUgdGhhdCBhbGwgY29uc3RydWN0b3JzIHRo
YXQgYXJlbid0IGludm9rZWQgZnJvbSBKUyBhbHdheXMgcHJvdmlkZSBhIG1vdmVtZW50IGRlbHRh
LgorCisgICAgICAgICogZG9tL01vdXNlUmVsYXRlZEV2ZW50Lmg6CisgICAgICAgIChXZWJDb3Jl
OjpNb3VzZVJlbGF0ZWRFdmVudDo6bW92ZW1lbnRYIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
Ok1vdXNlUmVsYXRlZEV2ZW50Ojptb3ZlbWVudFkgY29uc3QpOgorICAgICAgICBFeHBvc2UgdGhl
c2UgbWV0aG9kcyBldmVuIHdoZW4gYCFFTkFCTEUoUE9JTlRFUl9MT0NLKWAgc28gdGhhdCB0aGV5
IGNhbiBiZSBjYWxsZWQgd2l0aG91dAorICAgICAgICB0aGUgY2FsbHNpdGUgaGF2aW5nIHRvIGFs
c28gaGF2ZSBhIGAjaWZgLgorCiAyMDIyLTAyLTA3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNp
ZWhAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBQYWdlQ2xpZW50IHBsdW1iaW5nIGZvciB2aWRl
byBmcmFtZSBleHRyYWN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VF
dmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5jcHAKaW5kZXggNTlkMzlh
YjE5YzRhZjhiZmEyMjhhNjVkZTZlNTFhM2YzYjM0NzBkMi4uMDY0NjdiZjc3MWMzMmJiZTdlODQ1
MjcxNGZkMTQ4YmJmOGFkMTU1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL01vdXNl
RXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmNwcApAQCAtNzcs
NyArNzcsNyBAQCBSZWY8TW91c2VFdmVudD4gTW91c2VFdmVudDo6Y3JlYXRlKGNvbnN0IEF0b21T
dHJpbmcmIGV2ZW50VHlwZSwgQ2FuQnViYmxlIGNhbkJ1YgogICAgIGludCBzY3JlZW5YLCBpbnQg
c2NyZWVuWSwgaW50IGNsaWVudFgsIGludCBjbGllbnRZLCBPcHRpb25TZXQ8TW9kaWZpZXI+IG1v
ZGlmaWVycywgc2hvcnQgYnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLAogICAgIHVuc2ln
bmVkIHNob3J0IHN5bnRoZXRpY0NsaWNrVHlwZSwgRXZlbnRUYXJnZXQqIHJlbGF0ZWRUYXJnZXQp
CiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTW91c2VFdmVudChldmVudFR5cGUsIGNhbkJ1
YmJsZSwgaXNDYW5jZWxhYmxlLCBpc0NvbXBvc2VkLCBXVEZNb3ZlKHZpZXcpLCBkZXRhaWwsIHsg
c2NyZWVuWCwgc2NyZWVuWSB9LCB7IGNsaWVudFgsIGNsaWVudFkgfSwgbW9kaWZpZXJzLCBidXR0
b24sIGJ1dHRvbnMsIHN5bnRoZXRpY0NsaWNrVHlwZSwgcmVsYXRlZFRhcmdldCkpOworICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IE1vdXNlRXZlbnQoZXZlbnRUeXBlLCBjYW5CdWJibGUsIGlzQ2Fu
Y2VsYWJsZSwgaXNDb21wb3NlZCwgV1RGTW92ZSh2aWV3KSwgZGV0YWlsLCB7IHNjcmVlblgsIHNj
cmVlblkgfSwgeyBjbGllbnRYLCBjbGllbnRZIH0sIHsgfSwgbW9kaWZpZXJzLCBidXR0b24sIGJ1
dHRvbnMsIHN5bnRoZXRpY0NsaWNrVHlwZSwgcmVsYXRlZFRhcmdldCkpOwogfQogCiBNb3VzZUV2
ZW50OjpNb3VzZUV2ZW50KCkgPSBkZWZhdWx0OwpAQCAtOTcsOSArOTcsOSBAQCBNb3VzZUV2ZW50
OjpNb3VzZUV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgQ2FuQnViYmxlIGNhbkJ1
YmJsZSwgSXNDYW5jZQogfQogCiBNb3VzZUV2ZW50OjpNb3VzZUV2ZW50KGNvbnN0IEF0b21TdHJp
bmcmIGV2ZW50VHlwZSwgQ2FuQnViYmxlIGNhbkJ1YmJsZSwgSXNDYW5jZWxhYmxlIGlzQ2FuY2Vs
YWJsZSwgSXNDb21wb3NlZCBpc0NvbXBvc2VkLAotICAgIFJlZlB0cjxXaW5kb3dQcm94eT4mJiB2
aWV3LCBpbnQgZGV0YWlsLCBjb25zdCBJbnRQb2ludCYgc2NyZWVuTG9jYXRpb24sIGNvbnN0IElu
dFBvaW50JiBjbGllbnRMb2NhdGlvbiwKKyAgICBSZWZQdHI8V2luZG93UHJveHk+JiYgdmlldywg
aW50IGRldGFpbCwgY29uc3QgSW50UG9pbnQmIHNjcmVlbkxvY2F0aW9uLCBjb25zdCBJbnRQb2lu
dCYgY2xpZW50TG9jYXRpb24sIGNvbnN0IEludFBvaW50JiBtb3ZlbWVudERlbHRhLAogICAgIE9w
dGlvblNldDxNb2RpZmllcj4gbW9kaWZpZXJzLCBzaG9ydCBidXR0b24sIHVuc2lnbmVkIHNob3J0
IGJ1dHRvbnMsIHVuc2lnbmVkIHNob3J0IHN5bnRoZXRpY0NsaWNrVHlwZSwgRXZlbnRUYXJnZXQq
IHJlbGF0ZWRUYXJnZXQpCi0gICAgOiBNb3VzZVJlbGF0ZWRFdmVudChldmVudFR5cGUsIGNhbkJ1
YmJsZSwgaXNDYW5jZWxhYmxlLCBpc0NvbXBvc2VkLCBNb25vdG9uaWNUaW1lOjpub3coKSwgV1RG
TW92ZSh2aWV3KSwgZGV0YWlsLCBzY3JlZW5Mb2NhdGlvbiwgeyB9LCB7IH0sIG1vZGlmaWVycywg
SXNTaW11bGF0ZWQ6Ok5vKQorICAgIDogTW91c2VSZWxhdGVkRXZlbnQoZXZlbnRUeXBlLCBjYW5C
dWJibGUsIGlzQ2FuY2VsYWJsZSwgaXNDb21wb3NlZCwgTW9ub3RvbmljVGltZTo6bm93KCksIFdU
Rk1vdmUodmlldyksIGRldGFpbCwgc2NyZWVuTG9jYXRpb24sIHsgfSwgbW92ZW1lbnREZWx0YSwg
bW9kaWZpZXJzLCBJc1NpbXVsYXRlZDo6Tm8sIElzVHJ1c3RlZDo6Tm8pCiAgICAgLCBtX2J1dHRv
bihidXR0b24gPT0gLTIgPyAwIDogYnV0dG9uKQogICAgICwgbV9idXR0b25zKGJ1dHRvbnMpCiAg
ICAgLCBtX3N5bnRoZXRpY0NsaWNrVHlwZShidXR0b24gPT0gLTIgPyAwIDogc3ludGhldGljQ2xp
Y2tUeXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmgKaW5kZXggNDNiNmNlYmNlOGM2MmI3Y2Y2NWZl
OTQxMTc4MjY3NWE5YjI5YWZlNS4uMzYxZGIyZWMxNGEwNGRmMmFiMDY3MGI1NTViMjAyZWMyMTM5
MWExOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5oCkBAIC05Myw3ICs5Myw3IEBAIHByb3RlY3Rl
ZDoKICAgICAgICAgRXZlbnRUYXJnZXQqIHJlbGF0ZWRUYXJnZXQsIGRvdWJsZSBmb3JjZSwgdW5z
aWduZWQgc2hvcnQgc3ludGhldGljQ2xpY2tUeXBlLCBJc1NpbXVsYXRlZCwgSXNUcnVzdGVkKTsK
IAogICAgIE1vdXNlRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgQ2FuQnViYmxlLCBJc0Nh
bmNlbGFibGUsIElzQ29tcG9zZWQsIFJlZlB0cjxXaW5kb3dQcm94eT4mJiwgaW50IGRldGFpbCwK
LSAgICAgICAgY29uc3QgSW50UG9pbnQmIHNjcmVlbkxvY2F0aW9uLCBjb25zdCBJbnRQb2ludCYg
Y2xpZW50TG9jYXRpb24sIE9wdGlvblNldDxNb2RpZmllcj4sIHNob3J0IGJ1dHRvbiwgdW5zaWdu
ZWQgc2hvcnQgYnV0dG9ucywKKyAgICAgICAgY29uc3QgSW50UG9pbnQmIHNjcmVlbkxvY2F0aW9u
LCBjb25zdCBJbnRQb2ludCYgY2xpZW50TG9jYXRpb24sIGNvbnN0IEludFBvaW50JiBtb3ZlbWVu
dERlbHRhLCBPcHRpb25TZXQ8TW9kaWZpZXI+LCBzaG9ydCBidXR0b24sIHVuc2lnbmVkIHNob3J0
IGJ1dHRvbnMsCiAgICAgICAgIHVuc2lnbmVkIHNob3J0IHN5bnRoZXRpY0NsaWNrVHlwZSwgRXZl
bnRUYXJnZXQqIHJlbGF0ZWRUYXJnZXQpOwogCiAgICAgTW91c2VFdmVudChjb25zdCBBdG9tU3Ry
aW5nJiB0eXBlLCBjb25zdCBNb3VzZUV2ZW50SW5pdCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VS
ZWxhdGVkRXZlbnQuaAppbmRleCBkOGYxYTQwYzIwNTNkZjQ0MWFiZWE4MGI5ZjU0MmNhYzYwZWVi
NGE2Li4zZWEwMWZkYWQ1YjkzZDM2YjFmOGE4MjcyMmJlZTAxZmYwYzZjNGFjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VSZWxhdGVkRXZlbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vTW91c2VSZWxhdGVkRXZlbnQuaApAQCAtNDgsMTAgKzQ4LDE1IEBAIHB1YmxpYzoK
ICAgICBjb25zdCBJbnRQb2ludCYgc2NyZWVuTG9jYXRpb24oKSBjb25zdCB7IHJldHVybiBtX3Nj
cmVlbkxvY2F0aW9uOyB9CiAgICAgaW50IGNsaWVudFgoKSBjb25zdCB7IHJldHVybiBtX2NsaWVu
dExvY2F0aW9uLngoKTsgfQogICAgIGludCBjbGllbnRZKCkgY29uc3QgeyByZXR1cm4gbV9jbGll
bnRMb2NhdGlvbi55KCk7IH0KKwogI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCiAgICAgaW50IG1v
dmVtZW50WCgpIGNvbnN0IHsgcmV0dXJuIG1fbW92ZW1lbnREZWx0YS54KCk7IH0KICAgICBpbnQg
bW92ZW1lbnRZKCkgY29uc3QgeyByZXR1cm4gbV9tb3ZlbWVudERlbHRhLnkoKTsgfQorI2Vsc2UK
KyAgICBpbnQgbW92ZW1lbnRYKCkgY29uc3QgeyByZXR1cm4gMDsgfQorICAgIGludCBtb3ZlbWVu
dFkoKSBjb25zdCB7IHJldHVybiAwOyB9CiAjZW5kaWYKKwogICAgIGNvbnN0IExheW91dFBvaW50
JiBjbGllbnRMb2NhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY2xpZW50TG9jYXRpb247IH0KICAg
ICBpbnQgbGF5ZXJYKCkgb3ZlcnJpZGU7CiAgICAgaW50IGxheWVyWSgpIG92ZXJyaWRlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1BvaW50ZXJFdmVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vUG9pbnRlckV2ZW50LmNwcAppbmRleCBmMjE4NzlmZGZiYzY0ZTdkMmYxMWFiMDg0
ZDQ2Nzk0YTllNjAxMTEwLi45NGZkMDAzYWFhODBjZmY1YTdlYWRhZjRmYjRiMTkyZDgyYTllZDE1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUG9pbnRlckV2ZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vUG9pbnRlckV2ZW50LmNwcApAQCAtOTIsNyArOTIsNyBAQCBQb2lu
dGVyRXZlbnQ6OlBvaW50ZXJFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBJbml0JiYgaW5p
dGlhbGl6ZXIpCiB9CiAKIFBvaW50ZXJFdmVudDo6UG9pbnRlckV2ZW50KGNvbnN0IEF0b21TdHJp
bmcmIHR5cGUsIHNob3J0IGJ1dHRvbiwgY29uc3QgTW91c2VFdmVudCYgbW91c2VFdmVudCwgUG9p
bnRlcklEIHBvaW50ZXJJZCwgY29uc3QgU3RyaW5nJiBwb2ludGVyVHlwZSkKLSAgICA6IE1vdXNl
RXZlbnQodHlwZSwgdHlwZUNhbkJ1YmJsZSh0eXBlKSwgdHlwZUlzQ2FuY2VsYWJsZSh0eXBlKSwg
dHlwZUlzQ29tcG9zZWQodHlwZSksIG1vdXNlRXZlbnQudmlldygpLCBtb3VzZUV2ZW50LmRldGFp
bCgpLCBtb3VzZUV2ZW50LnNjcmVlbkxvY2F0aW9uKCksIHsgbW91c2VFdmVudC5jbGllbnRYKCks
IG1vdXNlRXZlbnQuY2xpZW50WSgpIH0sIG1vdXNlRXZlbnQubW9kaWZpZXJLZXlzKCksIGJ1dHRv
biwgbW91c2VFdmVudC5idXR0b25zKCksIG1vdXNlRXZlbnQuc3ludGhldGljQ2xpY2tUeXBlKCks
IG1vdXNlRXZlbnQucmVsYXRlZFRhcmdldCgpKQorICAgIDogTW91c2VFdmVudCh0eXBlLCB0eXBl
Q2FuQnViYmxlKHR5cGUpLCB0eXBlSXNDYW5jZWxhYmxlKHR5cGUpLCB0eXBlSXNDb21wb3NlZCh0
eXBlKSwgbW91c2VFdmVudC52aWV3KCksIG1vdXNlRXZlbnQuZGV0YWlsKCksIG1vdXNlRXZlbnQu
c2NyZWVuTG9jYXRpb24oKSwgeyBtb3VzZUV2ZW50LmNsaWVudFgoKSwgbW91c2VFdmVudC5jbGll
bnRZKCkgfSwgeyBtb3VzZUV2ZW50Lm1vdmVtZW50WCgpLCBtb3VzZUV2ZW50Lm1vdmVtZW50WSgp
IH0sIG1vdXNlRXZlbnQubW9kaWZpZXJLZXlzKCksIGJ1dHRvbiwgbW91c2VFdmVudC5idXR0b25z
KCksIG1vdXNlRXZlbnQuc3ludGhldGljQ2xpY2tUeXBlKCksIG1vdXNlRXZlbnQucmVsYXRlZFRh
cmdldCgpKQogICAgICwgbV9wb2ludGVySWQocG9pbnRlcklkKQogICAgICwgbV9wb2ludGVyVHlw
ZShwb2ludGVyVHlwZSkKICAgICAsIG1faXNQcmltYXJ5KHRydWUpCkBAIC0xMDAsNyArMTAwLDcg
QEAgUG9pbnRlckV2ZW50OjpQb2ludGVyRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgc2hv
cnQgYnV0dG9uLCBjb25zdCBNb3VzZUV2ZW4KIH0KIAogUG9pbnRlckV2ZW50OjpQb2ludGVyRXZl
bnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgUG9pbnRlcklEIHBvaW50ZXJJZCwgY29uc3QgU3Ry
aW5nJiBwb2ludGVyVHlwZSwgSXNQcmltYXJ5IGlzUHJpbWFyeSkKLSAgICA6IE1vdXNlRXZlbnQo
dHlwZSwgdHlwZUNhbkJ1YmJsZSh0eXBlKSwgdHlwZUlzQ2FuY2VsYWJsZSh0eXBlKSwgdHlwZUlz
Q29tcG9zZWQodHlwZSksIG51bGxwdHIsIDAsIHsgfSwgeyB9LCB7IH0sIDAsIDAsIDAsIG51bGxw
dHIpCisgICAgOiBNb3VzZUV2ZW50KHR5cGUsIHR5cGVDYW5CdWJibGUodHlwZSksIHR5cGVJc0Nh
bmNlbGFibGUodHlwZSksIHR5cGVJc0NvbXBvc2VkKHR5cGUpLCBudWxscHRyLCAwLCB7IH0sIHsg
fSwgeyB9LCB7IH0sIDAsIDAsIDAsIG51bGxwdHIpCiAgICAgLCBtX3BvaW50ZXJJZChwb2ludGVy
SWQpCiAgICAgLCBtX3BvaW50ZXJUeXBlKHBvaW50ZXJUeXBlKQogICAgICwgbV9pc1ByaW1hcnko
aXNQcmltYXJ5ID09IElzUHJpbWFyeTo6WWVzKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDZmOWE1YzU2MjEwYTc3NzZmOTk0
MWJhYjQwMmE5NDhjZjE1NzhlZjcuLjJiY2JmNTA2MTdmZDk4ZjVmMTVkNTBiY2Y1NmIzZWM5OGFh
YTI5OGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMi0wMi0wNyAgRGV2aW4gUm91c3NvICA8
ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgYFBvaW50ZXJFdmVudC5tb3ZlbWVudFhgIGFs
d2F5cyAwIChicmVha3MgaHR0cHM6Ly9ub2lzZWNyYWZ0LmFwcC8pCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjAxOTQKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzcyODE0NDQwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogcG9pbnRlcmV2ZW50cy9tb3VzZS9tb3ZlbWVudC1kZWx0YS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBwb2ludGVyZXZlbnRzL21vdXNlL21vdmVtZW50LWRlbHRhLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisKIDIwMjItMDItMDcgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgW2Nzcy1sb2dpY2FsXSBjc3MvY3NzLWxvZ2ljYWwvYW5pbWF0aW9u
LTAwMy50ZW50YXRpdmUgaXMgbm8gbG9uZ2VyIGEgZmFpbHVyZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcG9pbnRlcmV2ZW50cy9tb3VzZS9tb3ZlbWVudC1kZWx0YS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9wb2ludGVyZXZlbnRzL21vdXNlL21vdmVtZW50LWRlbHRhLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40YzM5YTZjNzEwMjdjNzM0MTBhZmM3ZWY2ZTU3NmFhNTdjMmJjYmI1Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcG9pbnRlcmV2ZW50cy9tb3VzZS9tb3ZlbWVu
dC1kZWx0YS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgVGVzdGluZyB0aGUg
bW92ZW1lbnRYIGFuZCBtb3ZlbWVudFkgcHJvcGVydGllcyBvZiBhIHBvaW50ZXIgZXZlbnQgdHJp
Z2dlcmVkIGJ5IGEgbW91c2UuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BvaW50ZXJldmVu
dHMvbW91c2UvbW92ZW1lbnQtZGVsdGEuaHRtbCBiL0xheW91dFRlc3RzL3BvaW50ZXJldmVudHMv
bW91c2UvbW92ZW1lbnQtZGVsdGEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZTc5NzE5ODVhYjAyZDdmYzE0
M2NkZGRlOTMxNWE4ZGE5MzJmMWI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcG9p
bnRlcmV2ZW50cy9tb3VzZS9tb3ZlbWVudC1kZWx0YS5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vdXRpbHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdD4KKworJ3VzZSBzdHJpY3QnOworCit0YXJnZXRfdGVzdCgodGFyZ2V0LCB0ZXN0KSA9PiB7
CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMTAwLCAxMDApOworCisgICAgdGFyZ2V0LmFk
ZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJtb3ZlIiwgZXZlbnQgPT4geworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGV2ZW50LngsIDE1MCwgIlRoZSB4IHByb3BlcnR5IHZhbHVlIGlzIGFzIGV4cGVjdGVk
LiIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LnksIDE1MCwgIlRoZSB5IHByb3BlcnR5
IHZhbHVlIGlzIGFzIGV4cGVjdGVkLiIpOworCisgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQu
bW92ZW1lbnRYLCA1MCwgIlRoZSBtb3ZlbWVudFggcHJvcGVydHkgdmFsdWUgaXMgYXMgZXhwZWN0
ZWQuIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQubW92ZW1lbnRZLCA1MCwgIlRoZSBt
b3ZlbWVudFkgcHJvcGVydHkgdmFsdWUgaXMgYXMgZXhwZWN0ZWQuIik7CisKKyAgICAgICAgdGVz
dC5kb25lKCk7CisgICAgfSk7CisKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygxNTAsIDE1
MCk7Cit9LCBgVGVzdGluZyB0aGUgbW92ZW1lbnRYIGFuZCBtb3ZlbWVudFkgcHJvcGVydGllcyBv
ZiBhIHBvaW50ZXIgZXZlbnQgdHJpZ2dlcmVkIGJ5IGEgbW91c2UuYCk7CisKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451298</attachid>
            <date>2022-02-08 13:12:07 -0800</date>
            <delta_ts>2022-03-23 13:36:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220194-20220208141207.patch</filename>
            <type>text/plain</type>
            <size>9731</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmYTFiYWM2YTgzZDUzMjA4NDY3Nzk1ZDE4MWM1ZDQ4ZmE3Zjc0ZjU3Li4y
OWI1ZGQ4ODJmN2Q4ZGQwOTVjMDRlMzBjOTgyMjIyNTFhNmEyMTQ1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjkgQEAKKzIwMjItMDItMDggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIGBQb2ludGVyRXZlbnQubW92ZW1lbnRYYCBhbHdheXMgMCAoYnJlYWtzIGh0
dHBzOi8vbm9pc2VjcmFmdC5hcHAvKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjIwMTk0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MjgxNDQ0MD4K
KworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgVGVzdDogcG9p
bnRlcmV2ZW50cy9tb3VzZS9tb3ZlbWVudC1kZWx0YS5odG1sCisKKyAgICAgICAgKiBkb20vUG9p
bnRlckV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBvaW50ZXJFdmVudDo6UG9pbnRlckV2
ZW50KToKKyAgICAgICAgQWxzbyBwYXNzIGFsb25nIHRoZSBtb3ZlbWVudCBkZWx0YSBpbiB0aGUg
Y29uc3RydWN0b3IgdGhhdCB0YWtlcyBhIGBNb3VzZUV2ZW50YC4KKworICAgICAgICAqIGRvbS9N
b3VzZUV2ZW50Lmg6CisgICAgICAgICogZG9tL01vdXNlRXZlbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TW91c2VFdmVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vdXNlRXZlbnQ6
Ok1vdXNlRXZlbnQpOgorICAgICAgICBSZXF1aXJlIHRoYXQgYWxsIGNvbnN0cnVjdG9ycyB0aGF0
IGFyZW4ndCBpbnZva2VkIGZyb20gSlMgYWx3YXlzIHByb3ZpZGUgYSBtb3ZlbWVudCBkZWx0YS4K
KworICAgICAgICAqIGRvbS9Nb3VzZVJlbGF0ZWRFdmVudC5oOgorICAgICAgICAoV2ViQ29yZTo6
TW91c2VSZWxhdGVkRXZlbnQ6Om1vdmVtZW50WCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpN
b3VzZVJlbGF0ZWRFdmVudDo6bW92ZW1lbnRZIGNvbnN0KToKKyAgICAgICAgRXhwb3NlIHRoZXNl
IG1ldGhvZHMgZXZlbiB3aGVuIGAhRU5BQkxFKFBPSU5URVJfTE9DSylgIHNvIHRoYXQgdGhleSBj
YW4gYmUgY2FsbGVkIHdpdGhvdXQKKyAgICAgICAgdGhlIGNhbGxzaXRlIGhhdmluZyB0byBhbHNv
IGhhdmUgYSBgI2lmYC4KKwogMjAyMi0wMi0wOCAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5j
b20+CiAKICAgICAgICAgQ29udmVyc2lvbiB0byBhIGNvbG9yIHNwYWNlIHdpdGggYSBzbWFsbGVy
IGdhbXV0IHNob3VsZCBwZXJmb3JtIGdhbXV0IG1hcHBpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50
LmNwcAppbmRleCA1OWQzOWFiMTljNGFmOGJmYTIyOGE2NWRlNmU1MWEzZjNiMzQ3MGQyLi43ZGRi
ZDk2OWRjYmExYzBlMDU3ZTA5MjNjMGRkOTBhYTJlMmRhYjFhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTW91c2VFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01vdXNl
RXZlbnQuY3BwCkBAIC03Nyw3ICs3Nyw3IEBAIFJlZjxNb3VzZUV2ZW50PiBNb3VzZUV2ZW50Ojpj
cmVhdGUoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBDYW5CdWJibGUgY2FuQnViCiAgICAg
aW50IHNjcmVlblgsIGludCBzY3JlZW5ZLCBpbnQgY2xpZW50WCwgaW50IGNsaWVudFksIE9wdGlv
blNldDxNb2RpZmllcj4gbW9kaWZpZXJzLCBzaG9ydCBidXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1
dHRvbnMsCiAgICAgdW5zaWduZWQgc2hvcnQgc3ludGhldGljQ2xpY2tUeXBlLCBFdmVudFRhcmdl
dCogcmVsYXRlZFRhcmdldCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNb3VzZUV2ZW50
KGV2ZW50VHlwZSwgY2FuQnViYmxlLCBpc0NhbmNlbGFibGUsIGlzQ29tcG9zZWQsIFdURk1vdmUo
dmlldyksIGRldGFpbCwgeyBzY3JlZW5YLCBzY3JlZW5ZIH0sIHsgY2xpZW50WCwgY2xpZW50WSB9
LCBtb2RpZmllcnMsIGJ1dHRvbiwgYnV0dG9ucywgc3ludGhldGljQ2xpY2tUeXBlLCByZWxhdGVk
VGFyZ2V0KSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTW91c2VFdmVudChldmVudFR5cGUs
IGNhbkJ1YmJsZSwgaXNDYW5jZWxhYmxlLCBpc0NvbXBvc2VkLCBXVEZNb3ZlKHZpZXcpLCBkZXRh
aWwsIHsgc2NyZWVuWCwgc2NyZWVuWSB9LCB7IGNsaWVudFgsIGNsaWVudFkgfSwgeyB9LCBtb2Rp
ZmllcnMsIGJ1dHRvbiwgYnV0dG9ucywgc3ludGhldGljQ2xpY2tUeXBlLCByZWxhdGVkVGFyZ2V0
KSk7CiB9CiAKIE1vdXNlRXZlbnQ6Ok1vdXNlRXZlbnQoKSA9IGRlZmF1bHQ7CkBAIC05Nyw5ICs5
Nyw5IEBAIE1vdXNlRXZlbnQ6Ok1vdXNlRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBl
LCBDYW5CdWJibGUgY2FuQnViYmxlLCBJc0NhbmNlCiB9CiAKIE1vdXNlRXZlbnQ6Ok1vdXNlRXZl
bnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBDYW5CdWJibGUgY2FuQnViYmxlLCBJc0Nh
bmNlbGFibGUgaXNDYW5jZWxhYmxlLCBJc0NvbXBvc2VkIGlzQ29tcG9zZWQsCi0gICAgUmVmUHRy
PFdpbmRvd1Byb3h5PiYmIHZpZXcsIGludCBkZXRhaWwsIGNvbnN0IEludFBvaW50JiBzY3JlZW5M
b2NhdGlvbiwgY29uc3QgSW50UG9pbnQmIGNsaWVudExvY2F0aW9uLAorICAgIFJlZlB0cjxXaW5k
b3dQcm94eT4mJiB2aWV3LCBpbnQgZGV0YWlsLCBjb25zdCBJbnRQb2ludCYgc2NyZWVuTG9jYXRp
b24sIGNvbnN0IEludFBvaW50JiBjbGllbnRMb2NhdGlvbiwgY29uc3QgSW50UG9pbnQmIG1vdmVt
ZW50RGVsdGEsCiAgICAgT3B0aW9uU2V0PE1vZGlmaWVyPiBtb2RpZmllcnMsIHNob3J0IGJ1dHRv
biwgdW5zaWduZWQgc2hvcnQgYnV0dG9ucywgdW5zaWduZWQgc2hvcnQgc3ludGhldGljQ2xpY2tU
eXBlLCBFdmVudFRhcmdldCogcmVsYXRlZFRhcmdldCkKLSAgICA6IE1vdXNlUmVsYXRlZEV2ZW50
KGV2ZW50VHlwZSwgY2FuQnViYmxlLCBpc0NhbmNlbGFibGUsIGlzQ29tcG9zZWQsIE1vbm90b25p
Y1RpbWU6Om5vdygpLCBXVEZNb3ZlKHZpZXcpLCBkZXRhaWwsIHNjcmVlbkxvY2F0aW9uLCB7IH0s
IHsgfSwgbW9kaWZpZXJzLCBJc1NpbXVsYXRlZDo6Tm8pCisgICAgOiBNb3VzZVJlbGF0ZWRFdmVu
dChldmVudFR5cGUsIGNhbkJ1YmJsZSwgaXNDYW5jZWxhYmxlLCBpc0NvbXBvc2VkLCBNb25vdG9u
aWNUaW1lOjpub3coKSwgV1RGTW92ZSh2aWV3KSwgZGV0YWlsLCBzY3JlZW5Mb2NhdGlvbiwgeyB9
LCBtb3ZlbWVudERlbHRhLCBtb2RpZmllcnMsIElzU2ltdWxhdGVkOjpObykKICAgICAsIG1fYnV0
dG9uKGJ1dHRvbiA9PSAtMiA/IDAgOiBidXR0b24pCiAgICAgLCBtX2J1dHRvbnMoYnV0dG9ucykK
ICAgICAsIG1fc3ludGhldGljQ2xpY2tUeXBlKGJ1dHRvbiA9PSAtMiA/IDAgOiBzeW50aGV0aWND
bGlja1R5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuaAppbmRleCA0M2I2Y2ViY2U4YzYyYjdjZjY1
ZmU5NDExNzgyNjc1YTliMjlhZmU1Li4zNjFkYjJlYzE0YTA0ZGYyYWIwNjcwYjU1NWIyMDJlYzIx
MzkxYTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmgKQEAgLTkzLDcgKzkzLDcgQEAgcHJvdGVj
dGVkOgogICAgICAgICBFdmVudFRhcmdldCogcmVsYXRlZFRhcmdldCwgZG91YmxlIGZvcmNlLCB1
bnNpZ25lZCBzaG9ydCBzeW50aGV0aWNDbGlja1R5cGUsIElzU2ltdWxhdGVkLCBJc1RydXN0ZWQp
OwogCiAgICAgTW91c2VFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBDYW5CdWJibGUsIElz
Q2FuY2VsYWJsZSwgSXNDb21wb3NlZCwgUmVmUHRyPFdpbmRvd1Byb3h5PiYmLCBpbnQgZGV0YWls
LAotICAgICAgICBjb25zdCBJbnRQb2ludCYgc2NyZWVuTG9jYXRpb24sIGNvbnN0IEludFBvaW50
JiBjbGllbnRMb2NhdGlvbiwgT3B0aW9uU2V0PE1vZGlmaWVyPiwgc2hvcnQgYnV0dG9uLCB1bnNp
Z25lZCBzaG9ydCBidXR0b25zLAorICAgICAgICBjb25zdCBJbnRQb2ludCYgc2NyZWVuTG9jYXRp
b24sIGNvbnN0IEludFBvaW50JiBjbGllbnRMb2NhdGlvbiwgY29uc3QgSW50UG9pbnQmIG1vdmVt
ZW50RGVsdGEsIE9wdGlvblNldDxNb2RpZmllcj4sIHNob3J0IGJ1dHRvbiwgdW5zaWduZWQgc2hv
cnQgYnV0dG9ucywKICAgICAgICAgdW5zaWduZWQgc2hvcnQgc3ludGhldGljQ2xpY2tUeXBlLCBF
dmVudFRhcmdldCogcmVsYXRlZFRhcmdldCk7CiAKICAgICBNb3VzZUV2ZW50KGNvbnN0IEF0b21T
dHJpbmcmIHR5cGUsIGNvbnN0IE1vdXNlRXZlbnRJbml0Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTW91c2VSZWxhdGVkRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3Vz
ZVJlbGF0ZWRFdmVudC5oCmluZGV4IGQ4ZjFhNDBjMjA1M2RmNDQxYWJlYTgwYjlmNTQyY2FjNjBl
ZWI0YTYuLjNlYTAxZmRhZDViOTNkMzZiMWY4YTgyNzIyYmVlMDFmZjBjNmM0YWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZVJlbGF0ZWRFdmVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Nb3VzZVJlbGF0ZWRFdmVudC5oCkBAIC00OCwxMCArNDgsMTUgQEAgcHVibGlj
OgogICAgIGNvbnN0IEludFBvaW50JiBzY3JlZW5Mb2NhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1f
c2NyZWVuTG9jYXRpb247IH0KICAgICBpbnQgY2xpZW50WCgpIGNvbnN0IHsgcmV0dXJuIG1fY2xp
ZW50TG9jYXRpb24ueCgpOyB9CiAgICAgaW50IGNsaWVudFkoKSBjb25zdCB7IHJldHVybiBtX2Ns
aWVudExvY2F0aW9uLnkoKTsgfQorCiAjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKICAgICBpbnQg
bW92ZW1lbnRYKCkgY29uc3QgeyByZXR1cm4gbV9tb3ZlbWVudERlbHRhLngoKTsgfQogICAgIGlu
dCBtb3ZlbWVudFkoKSBjb25zdCB7IHJldHVybiBtX21vdmVtZW50RGVsdGEueSgpOyB9CisjZWxz
ZQorICAgIGludCBtb3ZlbWVudFgoKSBjb25zdCB7IHJldHVybiAwOyB9CisgICAgaW50IG1vdmVt
ZW50WSgpIGNvbnN0IHsgcmV0dXJuIDA7IH0KICNlbmRpZgorCiAgICAgY29uc3QgTGF5b3V0UG9p
bnQmIGNsaWVudExvY2F0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnRMb2NhdGlvbjsgfQog
ICAgIGludCBsYXllclgoKSBvdmVycmlkZTsKICAgICBpbnQgbGF5ZXJZKCkgb3ZlcnJpZGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUG9pbnRlckV2ZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Qb2ludGVyRXZlbnQuY3BwCmluZGV4IGYyMTg3OWZkZmJjNjRlN2QyZjExYWIw
ODRkNDY3OTRhOWU2MDExMTAuLjk0ZmQwMDNhYWE4MGNmZjVhN2VhZGFmNGZiNGIxOTJkODJhOWVk
MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb2ludGVyRXZlbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Qb2ludGVyRXZlbnQuY3BwCkBAIC05Miw3ICs5Miw3IEBAIFBv
aW50ZXJFdmVudDo6UG9pbnRlckV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIEluaXQmJiBp
bml0aWFsaXplcikKIH0KIAogUG9pbnRlckV2ZW50OjpQb2ludGVyRXZlbnQoY29uc3QgQXRvbVN0
cmluZyYgdHlwZSwgc2hvcnQgYnV0dG9uLCBjb25zdCBNb3VzZUV2ZW50JiBtb3VzZUV2ZW50LCBQ
b2ludGVySUQgcG9pbnRlcklkLCBjb25zdCBTdHJpbmcmIHBvaW50ZXJUeXBlKQotICAgIDogTW91
c2VFdmVudCh0eXBlLCB0eXBlQ2FuQnViYmxlKHR5cGUpLCB0eXBlSXNDYW5jZWxhYmxlKHR5cGUp
LCB0eXBlSXNDb21wb3NlZCh0eXBlKSwgbW91c2VFdmVudC52aWV3KCksIG1vdXNlRXZlbnQuZGV0
YWlsKCksIG1vdXNlRXZlbnQuc2NyZWVuTG9jYXRpb24oKSwgeyBtb3VzZUV2ZW50LmNsaWVudFgo
KSwgbW91c2VFdmVudC5jbGllbnRZKCkgfSwgbW91c2VFdmVudC5tb2RpZmllcktleXMoKSwgYnV0
dG9uLCBtb3VzZUV2ZW50LmJ1dHRvbnMoKSwgbW91c2VFdmVudC5zeW50aGV0aWNDbGlja1R5cGUo
KSwgbW91c2VFdmVudC5yZWxhdGVkVGFyZ2V0KCkpCisgICAgOiBNb3VzZUV2ZW50KHR5cGUsIHR5
cGVDYW5CdWJibGUodHlwZSksIHR5cGVJc0NhbmNlbGFibGUodHlwZSksIHR5cGVJc0NvbXBvc2Vk
KHR5cGUpLCBtb3VzZUV2ZW50LnZpZXcoKSwgbW91c2VFdmVudC5kZXRhaWwoKSwgbW91c2VFdmVu
dC5zY3JlZW5Mb2NhdGlvbigpLCB7IG1vdXNlRXZlbnQuY2xpZW50WCgpLCBtb3VzZUV2ZW50LmNs
aWVudFkoKSB9LCB7IG1vdXNlRXZlbnQubW92ZW1lbnRYKCksIG1vdXNlRXZlbnQubW92ZW1lbnRZ
KCkgfSwgbW91c2VFdmVudC5tb2RpZmllcktleXMoKSwgYnV0dG9uLCBtb3VzZUV2ZW50LmJ1dHRv
bnMoKSwgbW91c2VFdmVudC5zeW50aGV0aWNDbGlja1R5cGUoKSwgbW91c2VFdmVudC5yZWxhdGVk
VGFyZ2V0KCkpCiAgICAgLCBtX3BvaW50ZXJJZChwb2ludGVySWQpCiAgICAgLCBtX3BvaW50ZXJU
eXBlKHBvaW50ZXJUeXBlKQogICAgICwgbV9pc1ByaW1hcnkodHJ1ZSkKQEAgLTEwMCw3ICsxMDAs
NyBAQCBQb2ludGVyRXZlbnQ6OlBvaW50ZXJFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBz
aG9ydCBidXR0b24sIGNvbnN0IE1vdXNlRXZlbgogfQogCiBQb2ludGVyRXZlbnQ6OlBvaW50ZXJF
dmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBQb2ludGVySUQgcG9pbnRlcklkLCBjb25zdCBT
dHJpbmcmIHBvaW50ZXJUeXBlLCBJc1ByaW1hcnkgaXNQcmltYXJ5KQotICAgIDogTW91c2VFdmVu
dCh0eXBlLCB0eXBlQ2FuQnViYmxlKHR5cGUpLCB0eXBlSXNDYW5jZWxhYmxlKHR5cGUpLCB0eXBl
SXNDb21wb3NlZCh0eXBlKSwgbnVsbHB0ciwgMCwgeyB9LCB7IH0sIHsgfSwgMCwgMCwgMCwgbnVs
bHB0cikKKyAgICA6IE1vdXNlRXZlbnQodHlwZSwgdHlwZUNhbkJ1YmJsZSh0eXBlKSwgdHlwZUlz
Q2FuY2VsYWJsZSh0eXBlKSwgdHlwZUlzQ29tcG9zZWQodHlwZSksIG51bGxwdHIsIDAsIHsgfSwg
eyB9LCB7IH0sIHsgfSwgMCwgMCwgMCwgbnVsbHB0cikKICAgICAsIG1fcG9pbnRlcklkKHBvaW50
ZXJJZCkKICAgICAsIG1fcG9pbnRlclR5cGUocG9pbnRlclR5cGUpCiAgICAgLCBtX2lzUHJpbWFy
eShpc1ByaW1hcnkgPT0gSXNQcmltYXJ5OjpZZXMpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZmJmMDczNjc1YTAyZTA1ZTRi
YjZmNzQ4NjBhMGU3OTRkMzc5YTg0Mi4uOGM0MzVhZjFhZWQ4NTdjMThiZDYzNzUyM2U5MDViYWQ0
OGQ5ZDY1MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIyLTAyLTA4ICBEZXZpbiBSb3Vzc28g
IDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBgUG9pbnRlckV2ZW50Lm1vdmVtZW50WGAg
YWx3YXlzIDAgKGJyZWFrcyBodHRwczovL25vaXNlY3JhZnQuYXBwLykKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDE5NAorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNzI4MTQ0NDA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgor
CisgICAgICAgICogcG9pbnRlcmV2ZW50cy9tb3VzZS9tb3ZlbWVudC1kZWx0YS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBwb2ludGVyZXZlbnRzL21vdXNlL21vdmVtZW50LWRlbHRhLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisKIDIwMjItMDItMDggIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29t
PgogCiAgICAgICAgIENvbnZlcnNpb24gdG8gYSBjb2xvciBzcGFjZSB3aXRoIGEgc21hbGxlciBn
YW11dCBzaG91bGQgcGVyZm9ybSBnYW11dCBtYXBwaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wb2ludGVyZXZlbnRzL21vdXNlL21vdmVtZW50LWRlbHRhLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3BvaW50ZXJldmVudHMvbW91c2UvbW92ZW1lbnQtZGVsdGEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjRjMzlhNmM3MTAyN2M3MzQxMGFmYzdlZjZlNTc2YWE1N2MyYmNiYjUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wb2ludGVyZXZlbnRzL21vdXNlL21vdmVtZW50LWRl
bHRhLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBUZXN0aW5nIHRoZSBtb3Zl
bWVudFggYW5kIG1vdmVtZW50WSBwcm9wZXJ0aWVzIG9mIGEgcG9pbnRlciBldmVudCB0cmlnZ2Vy
ZWQgYnkgYSBtb3VzZS4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcG9pbnRlcmV2ZW50cy9t
b3VzZS9tb3ZlbWVudC1kZWx0YS5odG1sIGIvTGF5b3V0VGVzdHMvcG9pbnRlcmV2ZW50cy9tb3Vz
ZS9tb3ZlbWVudC1kZWx0YS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVlNzk3MTk4NWFiMDJkN2ZjMTQzY2Rk
ZGU5MzE1YThkYTkzMmYxYjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wb2ludGVy
ZXZlbnRzL21vdXNlL21vdmVtZW50LWRlbHRhLmh0bWwKQEAgLTAsMCArMSwzMiBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzwvaGVhZD4K
Kzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgorCisndXNlIHN0cmljdCc7CisKK3RhcmdldF90ZXN0KCh0YXJnZXQsIHRlc3QpID0+IHsKKyAg
ICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygxMDAsIDEwMCk7CisKKyAgICB0YXJnZXQuYWRkRXZl
bnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLCBldmVudCA9PiB7CisgICAgICAgIGFzc2VydF9lcXVh
bHMoZXZlbnQueCwgMTUwLCAiVGhlIHggcHJvcGVydHkgdmFsdWUgaXMgYXMgZXhwZWN0ZWQuIik7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQueSwgMTUwLCAiVGhlIHkgcHJvcGVydHkgdmFs
dWUgaXMgYXMgZXhwZWN0ZWQuIik7CisKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhldmVudC5tb3Zl
bWVudFgsIDUwLCAiVGhlIG1vdmVtZW50WCBwcm9wZXJ0eSB2YWx1ZSBpcyBhcyBleHBlY3RlZC4i
KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhldmVudC5tb3ZlbWVudFksIDUwLCAiVGhlIG1vdmVt
ZW50WSBwcm9wZXJ0eSB2YWx1ZSBpcyBhcyBleHBlY3RlZC4iKTsKKworICAgICAgICB0ZXN0LmRv
bmUoKTsKKyAgICB9KTsKKworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDE1MCwgMTUwKTsK
K30sIGBUZXN0aW5nIHRoZSBtb3ZlbWVudFggYW5kIG1vdmVtZW50WSBwcm9wZXJ0aWVzIG9mIGEg
cG9pbnRlciBldmVudCB0cmlnZ2VyZWQgYnkgYSBtb3VzZS5gKTsKKworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455544</attachid>
            <date>2022-03-23 13:36:20 -0700</date>
            <delta_ts>2022-03-23 16:21:41 -0700</delta_ts>
            <desc>[fast-cq] Patch</desc>
            <filename>bug-220194-20220323143619.patch</filename>
            <type>text/plain</type>
            <size>16751</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA3N2RjY2JmOTYwYWYwYTYwYzQ0OTE1MThhZjNjMmRlODgxNGM0MGQ4Li45
N2FkOTE0OWJlNTM3ZGJkNzRjMDlhY2UxNDY2YzNmYjY1YWEwNDY0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzMgQEAKKzIwMjItMDItMDggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIGBQb2ludGVyRXZlbnQubW92ZW1lbnRYYCBhbHdheXMgMCAoYnJlYWtzIGh0
dHBzOi8vbm9pc2VjcmFmdC5hcHAvKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjIwMTk0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MjgxNDQ0MD4K
KworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgVGVzdDogcG9p
bnRlcmV2ZW50cy9tb3VzZS9tb3ZlbWVudC1kZWx0YS5odG1sCisKKyAgICAgICAgKiBkb20vUG9p
bnRlckV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBvaW50ZXJFdmVudDo6UG9pbnRlckV2
ZW50KToKKyAgICAgICAgQWxzbyBwYXNzIGFsb25nIHRoZSBtb3ZlbWVudCBkZWx0YSBpbiB0aGUg
Y29uc3RydWN0b3IgdGhhdCB0YWtlcyBhIGBNb3VzZUV2ZW50YC4KKworICAgICAgICAqIGRvbS9N
b3VzZUV2ZW50Lmg6CisgICAgICAgICogZG9tL01vdXNlRXZlbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TW91c2VFdmVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vdXNlRXZlbnQ6
Ok1vdXNlRXZlbnQpOgorICAgICAgICBSZXF1aXJlIHRoYXQgYWxsIGNvbnN0cnVjdG9ycyB0aGF0
IGFyZW4ndCBpbnZva2VkIGZyb20gSlMgYWx3YXlzIHByb3ZpZGUgYSBtb3ZlbWVudCBkZWx0YS4K
KworICAgICAgICAqIGRvbS9Nb3VzZVJlbGF0ZWRFdmVudC5oOgorICAgICAgICAoV2ViQ29yZTo6
TW91c2VSZWxhdGVkRXZlbnQ6Om1vdmVtZW50WCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpN
b3VzZVJlbGF0ZWRFdmVudDo6bW92ZW1lbnRZIGNvbnN0KToKKyAgICAgICAgRXhwb3NlIHRoZXNl
IG1ldGhvZHMgZXZlbiB3aGVuIGAhRU5BQkxFKFBPSU5URVJfTE9DSylgIHNvIHRoYXQgdGhleSBj
YW4gYmUgY2FsbGVkIHdpdGhvdXQKKyAgICAgICAgdGhlIGNhbGxzaXRlIGhhdmluZyB0byBhbHNv
IGhhdmUgYSBgI2lmYC4KKworICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6ZGlzcGF0Y2hEcmFnRXZlbnQpOgorICAgICAgICBQ
YXNzIGFsb25nIHRoZSBtb3ZlbWVudCBkZWx0YSBldmVuIHdoZW4gYCFFTkFCTEUoUE9JTlRFUl9M
T0NLKWAuCisKIDIwMjItMDMtMjIgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29u
eS5jb20+CiAKICAgICAgICAgW1dpbkNhaXJvXSBSZW1vdGVHcmFwaGljc0NvbnRleHRHTC5oKDc4
KTogZXJyb3IgQzIwMjc6IHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnV2ViQ29yZTo6R3JhcGhpY3ND
b250ZXh0R0wnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5jcHAKaW5kZXggNTlkMzlhYjE5YzRhZjhi
ZmEyMjhhNjVkZTZlNTFhM2YzYjM0NzBkMi4uODg5Mjc0MWU5ZGJkODQyYzUyMmYxODZiNGVhZmFj
Y2VlNmYwZDE0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmNwcApAQCAtNTYsMTIgKzU2LDcg
QEAgUmVmPE1vdXNlRXZlbnQ+IE1vdXNlRXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiBl
dmVudFR5cGUsIFJlZlB0cjxXaW5kb3dQcm8KICAgICBhdXRvIGlzQ29tcG9zZWQgPSAhaXNNb3Vz
ZUVudGVyT3JMZWF2ZSA/IElzQ29tcG9zZWQ6OlllcyA6IElzQ29tcG9zZWQ6Ok5vOwogCiAgICAg
cmV0dXJuIE1vdXNlRXZlbnQ6OmNyZWF0ZShldmVudFR5cGUsIGNhbkJ1YmJsZSwgaXNDYW5jZWxh
YmxlLCBpc0NvbXBvc2VkLCBldmVudC50aW1lc3RhbXAoKS5hcHByb3hpbWF0ZU1vbm90b25pY1Rp
bWUoKSwgV1RGTW92ZSh2aWV3KSwgZGV0YWlsLAotICAgICAgICBldmVudC5nbG9iYWxQb3NpdGlv
bigpLCBldmVudC5wb3NpdGlvbigpLAotI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCi0gICAgICAg
IGV2ZW50Lm1vdmVtZW50RGVsdGEoKSwKLSNlbHNlCi0gICAgICAgIHsgfSwKLSNlbmRpZgorICAg
ICAgICBldmVudC5nbG9iYWxQb3NpdGlvbigpLCBldmVudC5wb3NpdGlvbigpLCBldmVudC5tb3Zl
bWVudERlbHRhKCksCiAgICAgICAgIGV2ZW50Lm1vZGlmaWVycygpLCBldmVudC5idXR0b24oKSwg
ZXZlbnQuYnV0dG9ucygpLCByZWxhdGVkVGFyZ2V0LCBldmVudC5mb3JjZSgpLCBldmVudC5zeW50
aGV0aWNDbGlja1R5cGUoKSk7CiB9CiAKQEAgLTc3LDcgKzcyLDcgQEAgUmVmPE1vdXNlRXZlbnQ+
IE1vdXNlRXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIENhbkJ1YmJs
ZSBjYW5CdWIKICAgICBpbnQgc2NyZWVuWCwgaW50IHNjcmVlblksIGludCBjbGllbnRYLCBpbnQg
Y2xpZW50WSwgT3B0aW9uU2V0PE1vZGlmaWVyPiBtb2RpZmllcnMsIHNob3J0IGJ1dHRvbiwgdW5z
aWduZWQgc2hvcnQgYnV0dG9ucywKICAgICB1bnNpZ25lZCBzaG9ydCBzeW50aGV0aWNDbGlja1R5
cGUsIEV2ZW50VGFyZ2V0KiByZWxhdGVkVGFyZ2V0KQogewotICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IE1vdXNlRXZlbnQoZXZlbnRUeXBlLCBjYW5CdWJibGUsIGlzQ2FuY2VsYWJsZSwgaXNDb21w
b3NlZCwgV1RGTW92ZSh2aWV3KSwgZGV0YWlsLCB7IHNjcmVlblgsIHNjcmVlblkgfSwgeyBjbGll
bnRYLCBjbGllbnRZIH0sIG1vZGlmaWVycywgYnV0dG9uLCBidXR0b25zLCBzeW50aGV0aWNDbGlj
a1R5cGUsIHJlbGF0ZWRUYXJnZXQpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNb3VzZUV2
ZW50KGV2ZW50VHlwZSwgY2FuQnViYmxlLCBpc0NhbmNlbGFibGUsIGlzQ29tcG9zZWQsIFdURk1v
dmUodmlldyksIGRldGFpbCwgeyBzY3JlZW5YLCBzY3JlZW5ZIH0sIHsgY2xpZW50WCwgY2xpZW50
WSB9LCB7IH0sIG1vZGlmaWVycywgYnV0dG9uLCBidXR0b25zLCBzeW50aGV0aWNDbGlja1R5cGUs
IHJlbGF0ZWRUYXJnZXQpKTsKIH0KIAogTW91c2VFdmVudDo6TW91c2VFdmVudCgpID0gZGVmYXVs
dDsKQEAgLTk3LDkgKzkyLDkgQEAgTW91c2VFdmVudDo6TW91c2VFdmVudChjb25zdCBBdG9tU3Ry
aW5nJiBldmVudFR5cGUsIENhbkJ1YmJsZSBjYW5CdWJibGUsIElzQ2FuY2UKIH0KIAogTW91c2VF
dmVudDo6TW91c2VFdmVudChjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIENhbkJ1YmJsZSBj
YW5CdWJibGUsIElzQ2FuY2VsYWJsZSBpc0NhbmNlbGFibGUsIElzQ29tcG9zZWQgaXNDb21wb3Nl
ZCwKLSAgICBSZWZQdHI8V2luZG93UHJveHk+JiYgdmlldywgaW50IGRldGFpbCwgY29uc3QgSW50
UG9pbnQmIHNjcmVlbkxvY2F0aW9uLCBjb25zdCBJbnRQb2ludCYgY2xpZW50TG9jYXRpb24sCisg
ICAgUmVmUHRyPFdpbmRvd1Byb3h5PiYmIHZpZXcsIGludCBkZXRhaWwsIGNvbnN0IEludFBvaW50
JiBzY3JlZW5Mb2NhdGlvbiwgY29uc3QgSW50UG9pbnQmIGNsaWVudExvY2F0aW9uLCBjb25zdCBJ
bnRQb2ludCYgbW92ZW1lbnREZWx0YSwKICAgICBPcHRpb25TZXQ8TW9kaWZpZXI+IG1vZGlmaWVy
cywgc2hvcnQgYnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLCB1bnNpZ25lZCBzaG9ydCBz
eW50aGV0aWNDbGlja1R5cGUsIEV2ZW50VGFyZ2V0KiByZWxhdGVkVGFyZ2V0KQotICAgIDogTW91
c2VSZWxhdGVkRXZlbnQoZXZlbnRUeXBlLCBjYW5CdWJibGUsIGlzQ2FuY2VsYWJsZSwgaXNDb21w
b3NlZCwgTW9ub3RvbmljVGltZTo6bm93KCksIFdURk1vdmUodmlldyksIGRldGFpbCwgc2NyZWVu
TG9jYXRpb24sIHsgfSwgeyB9LCBtb2RpZmllcnMsIElzU2ltdWxhdGVkOjpObykKKyAgICA6IE1v
dXNlUmVsYXRlZEV2ZW50KGV2ZW50VHlwZSwgY2FuQnViYmxlLCBpc0NhbmNlbGFibGUsIGlzQ29t
cG9zZWQsIE1vbm90b25pY1RpbWU6Om5vdygpLCBXVEZNb3ZlKHZpZXcpLCBkZXRhaWwsIHNjcmVl
bkxvY2F0aW9uLCB7IH0sIG1vdmVtZW50RGVsdGEsIG1vZGlmaWVycywgSXNTaW11bGF0ZWQ6Ok5v
KQogICAgICwgbV9idXR0b24oYnV0dG9uID09IC0yID8gMCA6IGJ1dHRvbikKICAgICAsIG1fYnV0
dG9ucyhidXR0b25zKQogICAgICwgbV9zeW50aGV0aWNDbGlja1R5cGUoYnV0dG9uID09IC0yID8g
MCA6IHN5bnRoZXRpY0NsaWNrVHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9N
b3VzZUV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5oCmluZGV4IDQzYjZj
ZWJjZThjNjJiN2NmNjVmZTk0MTE3ODI2NzVhOWIyOWFmZTUuLjM2MWRiMmVjMTRhMDRkZjJhYjA2
NzBiNTU1YjIwMmVjMjEzOTFhMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3Vz
ZUV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuaApAQCAtOTMsNyAr
OTMsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIEV2ZW50VGFyZ2V0KiByZWxhdGVkVGFyZ2V0LCBk
b3VibGUgZm9yY2UsIHVuc2lnbmVkIHNob3J0IHN5bnRoZXRpY0NsaWNrVHlwZSwgSXNTaW11bGF0
ZWQsIElzVHJ1c3RlZCk7CiAKICAgICBNb3VzZUV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUs
IENhbkJ1YmJsZSwgSXNDYW5jZWxhYmxlLCBJc0NvbXBvc2VkLCBSZWZQdHI8V2luZG93UHJveHk+
JiYsIGludCBkZXRhaWwsCi0gICAgICAgIGNvbnN0IEludFBvaW50JiBzY3JlZW5Mb2NhdGlvbiwg
Y29uc3QgSW50UG9pbnQmIGNsaWVudExvY2F0aW9uLCBPcHRpb25TZXQ8TW9kaWZpZXI+LCBzaG9y
dCBidXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsCisgICAgICAgIGNvbnN0IEludFBvaW50
JiBzY3JlZW5Mb2NhdGlvbiwgY29uc3QgSW50UG9pbnQmIGNsaWVudExvY2F0aW9uLCBjb25zdCBJ
bnRQb2ludCYgbW92ZW1lbnREZWx0YSwgT3B0aW9uU2V0PE1vZGlmaWVyPiwgc2hvcnQgYnV0dG9u
LCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLAogICAgICAgICB1bnNpZ25lZCBzaG9ydCBzeW50aGV0
aWNDbGlja1R5cGUsIEV2ZW50VGFyZ2V0KiByZWxhdGVkVGFyZ2V0KTsKIAogICAgIE1vdXNlRXZl
bnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgTW91c2VFdmVudEluaXQmKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZVJlbGF0ZWRFdmVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vTW91c2VSZWxhdGVkRXZlbnQuY3BwCmluZGV4IDI3NTQ5MmY5ZmJkNzY0ZTcx
YmM3ODg0OTMyZDUwZjY1Y2Y4NDc2YzIuLjIzYTIwNjNiZDkxYTE1MzExYzRjYTZiNzUzMGM0NzZj
NzYyNjdlZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZVJlbGF0ZWRFdmVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmNwcApAQCAt
NDEsMTQgKzQxLDkgQEAgTW91c2VSZWxhdGVkRXZlbnQ6Ok1vdXNlUmVsYXRlZEV2ZW50KGNvbnN0
IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgQ2FuQnViYmxlIGNhbkIKICAgICBjb25zdCBJbnRQb2lu
dCYgc2NyZWVuTG9jYXRpb24sIGNvbnN0IEludFBvaW50JiB3aW5kb3dMb2NhdGlvbiwgY29uc3Qg
SW50UG9pbnQmIG1vdmVtZW50RGVsdGEsIE9wdGlvblNldDxNb2RpZmllcj4gbW9kaWZpZXJzLCBJ
c1NpbXVsYXRlZCBpc1NpbXVsYXRlZCwgSXNUcnVzdGVkIGlzVHJ1c3RlZCkKICAgICA6IFVJRXZl
bnRXaXRoS2V5U3RhdGUoZXZlbnRUeXBlLCBjYW5CdWJibGUsIGlzQ2FuY2VsYWJsZSwgaXNDb21w
b3NlZCwgdGltZXN0YW1wLCBXVEZNb3ZlKHZpZXcpLCBkZXRhaWwsIG1vZGlmaWVycywgaXNUcnVz
dGVkKQogICAgICwgbV9zY3JlZW5Mb2NhdGlvbihzY3JlZW5Mb2NhdGlvbikKLSNpZiBFTkFCTEUo
UE9JTlRFUl9MT0NLKQogICAgICwgbV9tb3ZlbWVudERlbHRhKG1vdmVtZW50RGVsdGEpCi0jZW5k
aWYKICAgICAsIG1faXNTaW11bGF0ZWQoaXNTaW11bGF0ZWQgPT0gSXNTaW11bGF0ZWQ6OlllcykK
IHsKLSNpZiAhRU5BQkxFKFBPSU5URVJfTE9DSykKLSAgICBVTlVTRURfUEFSQU0obW92ZW1lbnRE
ZWx0YSk7Ci0jZW5kaWYKICAgICBpbml0KG1faXNTaW11bGF0ZWQsIHdpbmRvd0xvY2F0aW9uKTsK
IH0KIApAQCAtNjEsOSArNTYsNyBAQCBNb3VzZVJlbGF0ZWRFdmVudDo6TW91c2VSZWxhdGVkRXZl
bnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgSXNDYW5jZWxhYmxlIGlzQ2FuYwogTW91c2VSZWxh
dGVkRXZlbnQ6Ok1vdXNlUmVsYXRlZEV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwg
Y29uc3QgTW91c2VSZWxhdGVkRXZlbnRJbml0JiBpbml0aWFsaXplciwgSXNUcnVzdGVkIGlzVHJ1
c3RlZCkKICAgICA6IFVJRXZlbnRXaXRoS2V5U3RhdGUoZXZlbnRUeXBlLCBpbml0aWFsaXplcikK
ICAgICAsIG1fc2NyZWVuTG9jYXRpb24oSW50UG9pbnQoaW5pdGlhbGl6ZXIuc2NyZWVuWCwgaW5p
dGlhbGl6ZXIuc2NyZWVuWSkpCi0jaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKICAgICAsIG1fbW92
ZW1lbnREZWx0YShJbnRQb2ludCgwLCAwKSkKLSNlbmRpZgogewogICAgIEFTU0VSVF9VTlVTRUQo
aXNUcnVzdGVkLCBpc1RydXN0ZWQgPT0gSXNUcnVzdGVkOjpObyk7CiAgICAgaW5pdChmYWxzZSwg
SW50UG9pbnQoMCwgMCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlUmVs
YXRlZEV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VSZWxhdGVkRXZlbnQuaAppbmRl
eCBkOGYxYTQwYzIwNTNkZjQ0MWFiZWE4MGI5ZjU0MmNhYzYwZWViNGE2Li41ZDc0ODc3Y2Q4MzNi
YjNjNjNjYzBkZDkwZWVjNzEyZTU0MWM2NWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTW91c2VSZWxhdGVkRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VSZWxh
dGVkRXZlbnQuaApAQCAtNDgsMTAgKzQ4LDkgQEAgcHVibGljOgogICAgIGNvbnN0IEludFBvaW50
JiBzY3JlZW5Mb2NhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fc2NyZWVuTG9jYXRpb247IH0KICAg
ICBpbnQgY2xpZW50WCgpIGNvbnN0IHsgcmV0dXJuIG1fY2xpZW50TG9jYXRpb24ueCgpOyB9CiAg
ICAgaW50IGNsaWVudFkoKSBjb25zdCB7IHJldHVybiBtX2NsaWVudExvY2F0aW9uLnkoKTsgfQot
I2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCiAgICAgaW50IG1vdmVtZW50WCgpIGNvbnN0IHsgcmV0
dXJuIG1fbW92ZW1lbnREZWx0YS54KCk7IH0KICAgICBpbnQgbW92ZW1lbnRZKCkgY29uc3QgeyBy
ZXR1cm4gbV9tb3ZlbWVudERlbHRhLnkoKTsgfQotI2VuZGlmCisKICAgICBjb25zdCBMYXlvdXRQ
b2ludCYgY2xpZW50TG9jYXRpb24oKSBjb25zdCB7IHJldHVybiBtX2NsaWVudExvY2F0aW9uOyB9
CiAgICAgaW50IGxheWVyWCgpIG92ZXJyaWRlOwogICAgIGludCBsYXllclkoKSBvdmVycmlkZTsK
QEAgLTk1LDkgKzk0LDcgQEAgcHJvdGVjdGVkOgogICAgIC8vIEV4cG9zZSB0aGVzZSBzbyBNb3Vz
ZUV2ZW50Ojppbml0TW91c2VFdmVudCBjYW4gc2V0IHRoZW0uCiAgICAgSW50UG9pbnQgbV9zY3Jl
ZW5Mb2NhdGlvbjsKICAgICBMYXlvdXRQb2ludCBtX2NsaWVudExvY2F0aW9uOwotI2lmIEVOQUJM
RShQT0lOVEVSX0xPQ0spCiAgICAgTGF5b3V0UG9pbnQgbV9tb3ZlbWVudERlbHRhOwotI2VuZGlm
CiAKIHByaXZhdGU6CiAgICAgdm9pZCBpbml0KGJvb2wgaXNTaW11bGF0ZWQsIGNvbnN0IEludFBv
aW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUG9pbnRlckV2ZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Qb2ludGVyRXZlbnQuY3BwCmluZGV4IGYyMTg3OWZkZmJjNjRl
N2QyZjExYWIwODRkNDY3OTRhOWU2MDExMTAuLjk0ZmQwMDNhYWE4MGNmZjVhN2VhZGFmNGZiNGIx
OTJkODJhOWVkMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb2ludGVyRXZlbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb2ludGVyRXZlbnQuY3BwCkBAIC05Miw3ICs5
Miw3IEBAIFBvaW50ZXJFdmVudDo6UG9pbnRlckV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUs
IEluaXQmJiBpbml0aWFsaXplcikKIH0KIAogUG9pbnRlckV2ZW50OjpQb2ludGVyRXZlbnQoY29u
c3QgQXRvbVN0cmluZyYgdHlwZSwgc2hvcnQgYnV0dG9uLCBjb25zdCBNb3VzZUV2ZW50JiBtb3Vz
ZUV2ZW50LCBQb2ludGVySUQgcG9pbnRlcklkLCBjb25zdCBTdHJpbmcmIHBvaW50ZXJUeXBlKQot
ICAgIDogTW91c2VFdmVudCh0eXBlLCB0eXBlQ2FuQnViYmxlKHR5cGUpLCB0eXBlSXNDYW5jZWxh
YmxlKHR5cGUpLCB0eXBlSXNDb21wb3NlZCh0eXBlKSwgbW91c2VFdmVudC52aWV3KCksIG1vdXNl
RXZlbnQuZGV0YWlsKCksIG1vdXNlRXZlbnQuc2NyZWVuTG9jYXRpb24oKSwgeyBtb3VzZUV2ZW50
LmNsaWVudFgoKSwgbW91c2VFdmVudC5jbGllbnRZKCkgfSwgbW91c2VFdmVudC5tb2RpZmllcktl
eXMoKSwgYnV0dG9uLCBtb3VzZUV2ZW50LmJ1dHRvbnMoKSwgbW91c2VFdmVudC5zeW50aGV0aWND
bGlja1R5cGUoKSwgbW91c2VFdmVudC5yZWxhdGVkVGFyZ2V0KCkpCisgICAgOiBNb3VzZUV2ZW50
KHR5cGUsIHR5cGVDYW5CdWJibGUodHlwZSksIHR5cGVJc0NhbmNlbGFibGUodHlwZSksIHR5cGVJ
c0NvbXBvc2VkKHR5cGUpLCBtb3VzZUV2ZW50LnZpZXcoKSwgbW91c2VFdmVudC5kZXRhaWwoKSwg
bW91c2VFdmVudC5zY3JlZW5Mb2NhdGlvbigpLCB7IG1vdXNlRXZlbnQuY2xpZW50WCgpLCBtb3Vz
ZUV2ZW50LmNsaWVudFkoKSB9LCB7IG1vdXNlRXZlbnQubW92ZW1lbnRYKCksIG1vdXNlRXZlbnQu
bW92ZW1lbnRZKCkgfSwgbW91c2VFdmVudC5tb2RpZmllcktleXMoKSwgYnV0dG9uLCBtb3VzZUV2
ZW50LmJ1dHRvbnMoKSwgbW91c2VFdmVudC5zeW50aGV0aWNDbGlja1R5cGUoKSwgbW91c2VFdmVu
dC5yZWxhdGVkVGFyZ2V0KCkpCiAgICAgLCBtX3BvaW50ZXJJZChwb2ludGVySWQpCiAgICAgLCBt
X3BvaW50ZXJUeXBlKHBvaW50ZXJUeXBlKQogICAgICwgbV9pc1ByaW1hcnkodHJ1ZSkKQEAgLTEw
MCw3ICsxMDAsNyBAQCBQb2ludGVyRXZlbnQ6OlBvaW50ZXJFdmVudChjb25zdCBBdG9tU3RyaW5n
JiB0eXBlLCBzaG9ydCBidXR0b24sIGNvbnN0IE1vdXNlRXZlbgogfQogCiBQb2ludGVyRXZlbnQ6
OlBvaW50ZXJFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBQb2ludGVySUQgcG9pbnRlcklk
LCBjb25zdCBTdHJpbmcmIHBvaW50ZXJUeXBlLCBJc1ByaW1hcnkgaXNQcmltYXJ5KQotICAgIDog
TW91c2VFdmVudCh0eXBlLCB0eXBlQ2FuQnViYmxlKHR5cGUpLCB0eXBlSXNDYW5jZWxhYmxlKHR5
cGUpLCB0eXBlSXNDb21wb3NlZCh0eXBlKSwgbnVsbHB0ciwgMCwgeyB9LCB7IH0sIHsgfSwgMCwg
MCwgMCwgbnVsbHB0cikKKyAgICA6IE1vdXNlRXZlbnQodHlwZSwgdHlwZUNhbkJ1YmJsZSh0eXBl
KSwgdHlwZUlzQ2FuY2VsYWJsZSh0eXBlKSwgdHlwZUlzQ29tcG9zZWQodHlwZSksIG51bGxwdHIs
IDAsIHsgfSwgeyB9LCB7IH0sIHsgfSwgMCwgMCwgMCwgbnVsbHB0cikKICAgICAsIG1fcG9pbnRl
cklkKHBvaW50ZXJJZCkKICAgICAsIG1fcG9pbnRlclR5cGUocG9pbnRlclR5cGUpCiAgICAgLCBt
X2lzUHJpbWFyeShpc1ByaW1hcnkgPT0gSXNQcmltYXJ5OjpZZXMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50SGFuZGxlci5jcHAKaW5kZXggN2QyZTU2ODllNGY5MzJkYmQxM2I0NTdlMzE5NTdkMTU4MDZk
YmQwZS4uOTk2ZTE4MTgyMTYwYWQwZjFmN2Q0OTAzNzIzNzVmM2VmZjFmYWM3ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtMjI3MCwxMiArMjI3MCw3IEBAIGJvb2wgRXZl
bnRIYW5kbGVyOjpkaXNwYXRjaERyYWdFdmVudChjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUs
IEVsZW1lbnQmIGRyYWdUCiAKICAgICBhdXRvIGRyYWdFdmVudCA9IERyYWdFdmVudDo6Y3JlYXRl
KGV2ZW50VHlwZSwgRXZlbnQ6OkNhbkJ1YmJsZTo6WWVzLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpZ
ZXMsIEV2ZW50OjpJc0NvbXBvc2VkOjpZZXMsCiAgICAgICAgIGV2ZW50LnRpbWVzdGFtcCgpLmFw
cHJveGltYXRlTW9ub3RvbmljVGltZSgpLCAmbV9mcmFtZS53aW5kb3dQcm94eSgpLCAwLAotICAg
ICAgICBldmVudC5nbG9iYWxQb3NpdGlvbigpLCBldmVudC5wb3NpdGlvbigpLAotI2lmIEVOQUJM
RShQT0lOVEVSX0xPQ0spCi0gICAgICAgIGV2ZW50Lm1vdmVtZW50RGVsdGEoKSwKLSNlbHNlCi0g
ICAgICAgIHsgfSwKLSNlbmRpZgorICAgICAgICBldmVudC5nbG9iYWxQb3NpdGlvbigpLCBldmVu
dC5wb3NpdGlvbigpLCBldmVudC5tb3ZlbWVudERlbHRhKCksCiAgICAgICAgIGV2ZW50Lm1vZGlm
aWVycygpLCAwLCAwLCBudWxscHRyLCBldmVudC5mb3JjZSgpLCBOb1RhcCwgJmRhdGFUcmFuc2Zl
cik7CiAKICAgICBkcmFnVGFyZ2V0LmRpc3BhdGNoRXZlbnQoZHJhZ0V2ZW50KTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA0YmE1MTEwMzQ5NDUw
OTQ2NGNkNjFmOTkyZWI5NDg3NzBiOWRlZmRmLi44ZDAwNzE0NzkyMWYyMDg5ZDdiYjU3ZjA2Mjdm
MjE3NDU3ZDZlNDhjIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjItMDItMDggIERldmluIFJvdXNzbyAgPGRyb3Vz
c29AYXBwbGUuY29tPgorCisgICAgICAgIGBQb2ludGVyRXZlbnQubW92ZW1lbnRYYCBhbHdheXMg
MCAoYnJlYWtzIGh0dHBzOi8vbm9pc2VjcmFmdC5hcHAvKQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwMTk0CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS83MjgxNDQ0MD4KKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAg
ICAgKiBXZWJLaXRUZXN0UnVubmVyL21hYy9FdmVudFNlbmRlclByb3h5Lm1tOgorICAgICAgICAo
V1RSOjpFdmVudFNlbmRlclByb3h5Ojptb3VzZU1vdmVUbyk6CisgICAgICAgIE9uIG1hY09TLCB0
aGUgc2NyZWVuJ3Mgb3JpZ2luIGlzIHRoZSBib3R0b20tbGVmdCBjb3JuZXIsIHNvIHdlIG5lZWQg
dG8gZmxpcCB0aGUgYGRlbHRhWWAuCisKIDIwMjItMDMtMjIgIEpvbmF0aGFuIEJlZGFyZCAgPGpi
ZWRhcmRAYXBwbGUuY29tPgogCiAgICAgICAgIFtnaXQtd2Via2l0XSBEbyBub3QgcmUtcHJvbXB0
IGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBkdXJpbmcgc2V0dXAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvbWFjL0V2ZW50U2VuZGVyUHJveHkubW0gYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL21hYy9FdmVudFNlbmRlclByb3h5Lm1tCmluZGV4IDcyZjgwZjhjNzAyNDU4ZTUxN2Zj
ZjFiYTIwNGMyYmE3NGQxNGQ5ZGYuLjNhMjMxYjE2ODU4M2NmYzM3OGZiNjdmZjQyYjEwOGM3NDdk
ZDA3MzMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL0V2ZW50U2VuZGVy
UHJveHkubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvRXZlbnRTZW5kZXJQcm94
eS5tbQpAQCAtNjAxLDcgKzYwMSw3IEBAIHZvaWQgRXZlbnRTZW5kZXJQcm94eTo6bW91c2VNb3Zl
VG8oZG91YmxlIHgsIGRvdWJsZSB5LCBXS1N0cmluZ1JlZiBwb2ludGVyVHlwZSkKIAogICAgIENH
RXZlbnRSZWYgY2dFdmVudCA9IGV2ZW50LkNHRXZlbnQ7CiAgICAgQ0dFdmVudFNldEludGVnZXJW
YWx1ZUZpZWxkKGNnRXZlbnQsIGtDR01vdXNlRXZlbnREZWx0YVgsIG5ld01vdXNlUG9zaXRpb24u
eCAtIG1fcG9zaXRpb24ueCk7Ci0gICAgQ0dFdmVudFNldEludGVnZXJWYWx1ZUZpZWxkKGNnRXZl
bnQsIGtDR01vdXNlRXZlbnREZWx0YVksIG5ld01vdXNlUG9zaXRpb24ueSAtIG1fcG9zaXRpb24u
eSk7CisgICAgQ0dFdmVudFNldEludGVnZXJWYWx1ZUZpZWxkKGNnRXZlbnQsIGtDR01vdXNlRXZl
bnREZWx0YVksIC0xICogKG5ld01vdXNlUG9zaXRpb24ueSAtIG1fcG9zaXRpb24ueSkpOwogICAg
IGV2ZW50ID0gW05TRXZlbnQgZXZlbnRXaXRoQ0dFdmVudDpjZ0V2ZW50XTsKICAgICBtX3Bvc2l0
aW9uLnggPSBuZXdNb3VzZVBvc2l0aW9uLng7CiAgICAgbV9wb3NpdGlvbi55ID0gbmV3TW91c2VQ
b3NpdGlvbi55OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDgxNmY5NjU2ZjIzOWExMmJlNDQ1YjMwYzc5ZGI5NGZmOGY0M2Nj
YmMuLjQ3YzliOGY3NzYxMDZkNTE2NDY3ZGY1YWY0MjI2ZjQwYzQzZjQ0NzggMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAyMi0wMi0wOCAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+
CisKKyAgICAgICAgYFBvaW50ZXJFdmVudC5tb3ZlbWVudFhgIGFsd2F5cyAwIChicmVha3MgaHR0
cHM6Ly9ub2lzZWNyYWZ0LmFwcC8pCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjAxOTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcyODE0NDQwPgor
CisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICAqIHBvaW50ZXJl
dmVudHMvbW91c2UvbW92ZW1lbnQtZGVsdGEuaHRtbDogQWRkZWQuCisgICAgICAgICogcG9pbnRl
cmV2ZW50cy9tb3VzZS9tb3ZlbWVudC1kZWx0YS1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDIy
LTAzLTIyICBUeWxlciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5jb20+CiAKICAgICAgICAgRXhw
b3NlIHRoZSBBWCB0cmVlIG9mIFBERnMgbG9hZGVkIHZpYSBpZnJhbWVzIG9uIHRoZSBNYWMKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDk1ZWUxMTBkZDA1MTMyNmU0NDQ0MzM5YTVk
ODE4OTUzMThmMzQyODUuLjRhMGU0NDcxODliMDMzY2ZkZGYxNzhkOTc4YzM1NjBhNmRkMmExYTkg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIyLTAy
LTA4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBgUG9pbnRl
ckV2ZW50Lm1vdmVtZW50WGAgYWx3YXlzIDAgKGJyZWFrcyBodHRwczovL25vaXNlY3JhZnQuYXBw
LykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDE5
NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzI4MTQ0NDA+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJl
dmVudHMvcG9pbnRlcmxvY2svcG9pbnRlcmV2ZW50X21vdmVtZW50eHlfd2l0aF9wb2ludGVybG9j
ay1leHBlY3RlZC50eHQ6CisgICAgICAgIFRoaXMgY2hhbmdlIGNhdXNlcyB0aGUgdGVzdCB0byBw
cm9ncmVzcyBmdXJ0aGVyIHRoYW4gYmVmb3JlLCBidXQgdGhlcmUgc3RpbGwgYXBwZWFyIHRvIGJl
CisgICAgICAgIG90aGVyIGlzc3VlcyBlbHNld2hlcmUsIHNvIGFkanVzdCB0aGUgZXhwZWN0ZWQg
b3V0cHV0IHRvIHJlZmxlY3QgdGhhdC4KKwogMjAyMi0wMy0yMiAgQ29tbWl0IFF1ZXVlICA8Y29t
bWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIy
OTE1NDYuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BvaW50ZXJldmVudHMvcG9pbnRlcmxvY2svcG9pbnRlcmV2ZW50X21vdmVtZW50eHlf
d2l0aF9wb2ludGVybG9jay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMvcG9pbnRlcmxvY2svcG9pbnRlcmV2ZW50
X21vdmVtZW50eHlfd2l0aF9wb2ludGVybG9jay1leHBlY3RlZC50eHQKaW5kZXggZTUzZGUwZDhj
OWE3ZWJhMzM0M2JmOTk5MTZiYTgzMDIxZDI2M2VjZS4uNzU5YTA5NDMxMjczM2EzOWI2OTUyZDEz
YzIyMTFkOTMwMDk0MzU3YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL3BvaW50ZXJsb2NrL3BvaW50ZXJldmVudF9t
b3ZlbWVudHh5X3dpdGhfcG9pbnRlcmxvY2stZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9wb2ludGVybG9j
ay9wb2ludGVyZXZlbnRfbW92ZW1lbnR4eV93aXRoX3BvaW50ZXJsb2NrLWV4cGVjdGVkLnR4dApA
QCAtMTIsNSArMTIsNSBAQCBDbGljayBsZWZ0IGJ1dHRvbiBhZ2FpbiB0byBlbmQgdGhlIHRlc3Qu
CiBUZXN0IHBhc3NlcyBpZiB0aGUgcHJvcGVyIGJlaGF2aW9yIG9mIHRoZSBldmVudHMgaXMgb2Jz
ZXJ2ZWQuCiAKIAotRkFJTCBtb3VzZSBwb2ludGVyZXZlbnQgbW92ZW1lbnRYL1kgd2l0aCBwb2lu
dGVybG9jayB0ZXN0IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDAgYnV0IGdvdCAxMAorRkFJTCBt
b3VzZSBwb2ludGVyZXZlbnQgbW92ZW1lbnRYL1kgd2l0aCBwb2ludGVybG9jayB0ZXN0IGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIC05OTkxIGJ1dCBnb3QgLTk5ODEKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcG9pbnRlcmV2ZW50cy9tb3VzZS9tb3ZlbWVudC1kZWx0YS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9wb2ludGVyZXZlbnRzL21vdXNlL21vdmVtZW50LWRlbHRhLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40YzM5YTZjNzEwMjdjNzM0MTBhZmM3ZWY2ZTU3NmFhNTdjMmJjYmI1
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcG9pbnRlcmV2ZW50cy9tb3VzZS9tb3Zl
bWVudC1kZWx0YS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgVGVzdGluZyB0
aGUgbW92ZW1lbnRYIGFuZCBtb3ZlbWVudFkgcHJvcGVydGllcyBvZiBhIHBvaW50ZXIgZXZlbnQg
dHJpZ2dlcmVkIGJ5IGEgbW91c2UuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BvaW50ZXJl
dmVudHMvbW91c2UvbW92ZW1lbnQtZGVsdGEuaHRtbCBiL0xheW91dFRlc3RzL3BvaW50ZXJldmVu
dHMvbW91c2UvbW92ZW1lbnQtZGVsdGEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMGU5ZDQ2NjFlOGQ5ZmNm
ZjU2ODJjMzg3ZDVlMjg0YzA0YzRkNzZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
cG9pbnRlcmV2ZW50cy9tb3VzZS9tb3ZlbWVudC1kZWx0YS5odG1sCkBAIC0wLDAgKzEsMzIgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vdXRpbHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdD4KKworInVzZSBzdHJpY3QiOworCit0YXJnZXRfdGVzdCgodGFyZ2V0LCB0ZXN0KSA9
PiB7CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMTAwLCAxMDApOworCisgICAgdGFyZ2V0
LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJtb3ZlIiwgKGV2ZW50KSA9PiB7CisgICAgICAgIGFz
c2VydF9lcXVhbHMoZXZlbnQueCwgMTUwLCAiVGhlIHggcHJvcGVydHkgdmFsdWUgaXMgYXMgZXhw
ZWN0ZWQuIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQueSwgMTUwLCAiVGhlIHkgcHJv
cGVydHkgdmFsdWUgaXMgYXMgZXhwZWN0ZWQuIik7CisKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhl
dmVudC5tb3ZlbWVudFgsIDUwLCAiVGhlIG1vdmVtZW50WCBwcm9wZXJ0eSB2YWx1ZSBpcyBhcyBl
eHBlY3RlZC4iKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhldmVudC5tb3ZlbWVudFksIDUwLCAi
VGhlIG1vdmVtZW50WSBwcm9wZXJ0eSB2YWx1ZSBpcyBhcyBleHBlY3RlZC4iKTsKKworICAgICAg
ICB0ZXN0LmRvbmUoKTsKKyAgICB9KTsKKworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDE1
MCwgMTUwKTsKK30sICJUZXN0aW5nIHRoZSBtb3ZlbWVudFggYW5kIG1vdmVtZW50WSBwcm9wZXJ0
aWVzIG9mIGEgcG9pbnRlciBldmVudCB0cmlnZ2VyZWQgYnkgYSBtb3VzZS4iKTsKKworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455579</attachid>
            <date>2022-03-23 16:21:45 -0700</date>
            <delta_ts>2022-03-24 10:40:53 -0700</delta_ts>
            <desc>[fast-cq] Patch</desc>
            <filename>bug-220194-20220323172144.patch</filename>
            <type>text/plain</type>
            <size>19757</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmZmIzM2E3YjQ1ZjNmNzg2ZjYwMTlmNmZjMTIxNWM1YWI5YTM1YWYwLi5i
MjIxNWFiOThhNDMyN2ZhNDU0ZThlNTVmMGY4MmFmM2E2YzdmMGUyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzMgQEAKKzIwMjItMDItMDggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIGBQb2ludGVyRXZlbnQubW92ZW1lbnRYYCBhbHdheXMgMCAoYnJlYWtzIGh0
dHBzOi8vbm9pc2VjcmFmdC5hcHAvKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjIwMTk0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MjgxNDQ0MD4K
KworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgVGVzdDogcG9p
bnRlcmV2ZW50cy9tb3VzZS9tb3ZlbWVudC1kZWx0YS5odG1sCisKKyAgICAgICAgKiBkb20vUG9p
bnRlckV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBvaW50ZXJFdmVudDo6UG9pbnRlckV2
ZW50KToKKyAgICAgICAgQWxzbyBwYXNzIGFsb25nIHRoZSBtb3ZlbWVudCBkZWx0YSBpbiB0aGUg
Y29uc3RydWN0b3IgdGhhdCB0YWtlcyBhIGBNb3VzZUV2ZW50YC4KKworICAgICAgICAqIGRvbS9N
b3VzZUV2ZW50Lmg6CisgICAgICAgICogZG9tL01vdXNlRXZlbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TW91c2VFdmVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vdXNlRXZlbnQ6
Ok1vdXNlRXZlbnQpOgorICAgICAgICBSZXF1aXJlIHRoYXQgYWxsIGNvbnN0cnVjdG9ycyB0aGF0
IGFyZW4ndCBpbnZva2VkIGZyb20gSlMgYWx3YXlzIHByb3ZpZGUgYSBtb3ZlbWVudCBkZWx0YS4K
KworICAgICAgICAqIGRvbS9Nb3VzZVJlbGF0ZWRFdmVudC5oOgorICAgICAgICAoV2ViQ29yZTo6
TW91c2VSZWxhdGVkRXZlbnQ6Om1vdmVtZW50WCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpN
b3VzZVJlbGF0ZWRFdmVudDo6bW92ZW1lbnRZIGNvbnN0KToKKyAgICAgICAgRXhwb3NlIHRoZXNl
IG1ldGhvZHMgZXZlbiB3aGVuIGAhRU5BQkxFKFBPSU5URVJfTE9DSylgIHNvIHRoYXQgdGhleSBj
YW4gYmUgY2FsbGVkIHdpdGhvdXQKKyAgICAgICAgdGhlIGNhbGxzaXRlIGhhdmluZyB0byBhbHNv
IGhhdmUgYSBgI2lmYC4KKworICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6ZGlzcGF0Y2hEcmFnRXZlbnQpOgorICAgICAgICBQ
YXNzIGFsb25nIHRoZSBtb3ZlbWVudCBkZWx0YSBldmVuIHdoZW4gYCFFTkFCTEUoUE9JTlRFUl9M
T0NLKWAuCisKIDIwMjItMDMtMjMgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAK
ICAgICAgICAgW0NvY29hXSBNU0UtYmFja2VkIHZpZGVvcyBmYWlsIHRvIHBsYXkgaW4gQ2FwdGl2
ZSBQb3J0YWwgbW9kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuY3BwCmluZGV4IDU5ZDM5YWIxOWM0
YWY4YmZhMjI4YTY1ZGU2ZTUxYTNmM2IzNDcwZDIuLjg4OTI3NDFlOWRiZDg0MmM1MjJmMTg2YjRl
YWZhY2NlZTZmMGQxNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5jcHAKQEAgLTU2LDEyICs1
Niw3IEBAIFJlZjxNb3VzZUV2ZW50PiBNb3VzZUV2ZW50OjpjcmVhdGUoY29uc3QgQXRvbVN0cmlu
ZyYgZXZlbnRUeXBlLCBSZWZQdHI8V2luZG93UHJvCiAgICAgYXV0byBpc0NvbXBvc2VkID0gIWlz
TW91c2VFbnRlck9yTGVhdmUgPyBJc0NvbXBvc2VkOjpZZXMgOiBJc0NvbXBvc2VkOjpObzsKIAog
ICAgIHJldHVybiBNb3VzZUV2ZW50OjpjcmVhdGUoZXZlbnRUeXBlLCBjYW5CdWJibGUsIGlzQ2Fu
Y2VsYWJsZSwgaXNDb21wb3NlZCwgZXZlbnQudGltZXN0YW1wKCkuYXBwcm94aW1hdGVNb25vdG9u
aWNUaW1lKCksIFdURk1vdmUodmlldyksIGRldGFpbCwKLSAgICAgICAgZXZlbnQuZ2xvYmFsUG9z
aXRpb24oKSwgZXZlbnQucG9zaXRpb24oKSwKLSNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQotICAg
ICAgICBldmVudC5tb3ZlbWVudERlbHRhKCksCi0jZWxzZQotICAgICAgICB7IH0sCi0jZW5kaWYK
KyAgICAgICAgZXZlbnQuZ2xvYmFsUG9zaXRpb24oKSwgZXZlbnQucG9zaXRpb24oKSwgZXZlbnQu
bW92ZW1lbnREZWx0YSgpLAogICAgICAgICBldmVudC5tb2RpZmllcnMoKSwgZXZlbnQuYnV0dG9u
KCksIGV2ZW50LmJ1dHRvbnMoKSwgcmVsYXRlZFRhcmdldCwgZXZlbnQuZm9yY2UoKSwgZXZlbnQu
c3ludGhldGljQ2xpY2tUeXBlKCkpOwogfQogCkBAIC03Nyw3ICs3Miw3IEBAIFJlZjxNb3VzZUV2
ZW50PiBNb3VzZUV2ZW50OjpjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBDYW5C
dWJibGUgY2FuQnViCiAgICAgaW50IHNjcmVlblgsIGludCBzY3JlZW5ZLCBpbnQgY2xpZW50WCwg
aW50IGNsaWVudFksIE9wdGlvblNldDxNb2RpZmllcj4gbW9kaWZpZXJzLCBzaG9ydCBidXR0b24s
IHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsCiAgICAgdW5zaWduZWQgc2hvcnQgc3ludGhldGljQ2xp
Y2tUeXBlLCBFdmVudFRhcmdldCogcmVsYXRlZFRhcmdldCkKIHsKLSAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBNb3VzZUV2ZW50KGV2ZW50VHlwZSwgY2FuQnViYmxlLCBpc0NhbmNlbGFibGUsIGlz
Q29tcG9zZWQsIFdURk1vdmUodmlldyksIGRldGFpbCwgeyBzY3JlZW5YLCBzY3JlZW5ZIH0sIHsg
Y2xpZW50WCwgY2xpZW50WSB9LCBtb2RpZmllcnMsIGJ1dHRvbiwgYnV0dG9ucywgc3ludGhldGlj
Q2xpY2tUeXBlLCByZWxhdGVkVGFyZ2V0KSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTW91
c2VFdmVudChldmVudFR5cGUsIGNhbkJ1YmJsZSwgaXNDYW5jZWxhYmxlLCBpc0NvbXBvc2VkLCBX
VEZNb3ZlKHZpZXcpLCBkZXRhaWwsIHsgc2NyZWVuWCwgc2NyZWVuWSB9LCB7IGNsaWVudFgsIGNs
aWVudFkgfSwgeyB9LCBtb2RpZmllcnMsIGJ1dHRvbiwgYnV0dG9ucywgc3ludGhldGljQ2xpY2tU
eXBlLCByZWxhdGVkVGFyZ2V0KSk7CiB9CiAKIE1vdXNlRXZlbnQ6Ok1vdXNlRXZlbnQoKSA9IGRl
ZmF1bHQ7CkBAIC05Nyw5ICs5Miw5IEBAIE1vdXNlRXZlbnQ6Ok1vdXNlRXZlbnQoY29uc3QgQXRv
bVN0cmluZyYgZXZlbnRUeXBlLCBDYW5CdWJibGUgY2FuQnViYmxlLCBJc0NhbmNlCiB9CiAKIE1v
dXNlRXZlbnQ6Ok1vdXNlRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBDYW5CdWJi
bGUgY2FuQnViYmxlLCBJc0NhbmNlbGFibGUgaXNDYW5jZWxhYmxlLCBJc0NvbXBvc2VkIGlzQ29t
cG9zZWQsCi0gICAgUmVmUHRyPFdpbmRvd1Byb3h5PiYmIHZpZXcsIGludCBkZXRhaWwsIGNvbnN0
IEludFBvaW50JiBzY3JlZW5Mb2NhdGlvbiwgY29uc3QgSW50UG9pbnQmIGNsaWVudExvY2F0aW9u
LAorICAgIFJlZlB0cjxXaW5kb3dQcm94eT4mJiB2aWV3LCBpbnQgZGV0YWlsLCBjb25zdCBJbnRQ
b2ludCYgc2NyZWVuTG9jYXRpb24sIGNvbnN0IEludFBvaW50JiBjbGllbnRMb2NhdGlvbiwgY29u
c3QgSW50UG9pbnQmIG1vdmVtZW50RGVsdGEsCiAgICAgT3B0aW9uU2V0PE1vZGlmaWVyPiBtb2Rp
ZmllcnMsIHNob3J0IGJ1dHRvbiwgdW5zaWduZWQgc2hvcnQgYnV0dG9ucywgdW5zaWduZWQgc2hv
cnQgc3ludGhldGljQ2xpY2tUeXBlLCBFdmVudFRhcmdldCogcmVsYXRlZFRhcmdldCkKLSAgICA6
IE1vdXNlUmVsYXRlZEV2ZW50KGV2ZW50VHlwZSwgY2FuQnViYmxlLCBpc0NhbmNlbGFibGUsIGlz
Q29tcG9zZWQsIE1vbm90b25pY1RpbWU6Om5vdygpLCBXVEZNb3ZlKHZpZXcpLCBkZXRhaWwsIHNj
cmVlbkxvY2F0aW9uLCB7IH0sIHsgfSwgbW9kaWZpZXJzLCBJc1NpbXVsYXRlZDo6Tm8pCisgICAg
OiBNb3VzZVJlbGF0ZWRFdmVudChldmVudFR5cGUsIGNhbkJ1YmJsZSwgaXNDYW5jZWxhYmxlLCBp
c0NvbXBvc2VkLCBNb25vdG9uaWNUaW1lOjpub3coKSwgV1RGTW92ZSh2aWV3KSwgZGV0YWlsLCBz
Y3JlZW5Mb2NhdGlvbiwgeyB9LCBtb3ZlbWVudERlbHRhLCBtb2RpZmllcnMsIElzU2ltdWxhdGVk
OjpObykKICAgICAsIG1fYnV0dG9uKGJ1dHRvbiA9PSAtMiA/IDAgOiBidXR0b24pCiAgICAgLCBt
X2J1dHRvbnMoYnV0dG9ucykKICAgICAsIG1fc3ludGhldGljQ2xpY2tUeXBlKGJ1dHRvbiA9PSAt
MiA/IDAgOiBzeW50aGV0aWNDbGlja1R5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTW91c2VFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuaAppbmRleCA0
M2I2Y2ViY2U4YzYyYjdjZjY1ZmU5NDExNzgyNjc1YTliMjlhZmU1Li4zNjFkYjJlYzE0YTA0ZGYy
YWIwNjcwYjU1NWIyMDJlYzIxMzkxYTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
TW91c2VFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmgKQEAgLTkz
LDcgKzkzLDcgQEAgcHJvdGVjdGVkOgogICAgICAgICBFdmVudFRhcmdldCogcmVsYXRlZFRhcmdl
dCwgZG91YmxlIGZvcmNlLCB1bnNpZ25lZCBzaG9ydCBzeW50aGV0aWNDbGlja1R5cGUsIElzU2lt
dWxhdGVkLCBJc1RydXN0ZWQpOwogCiAgICAgTW91c2VFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0
eXBlLCBDYW5CdWJibGUsIElzQ2FuY2VsYWJsZSwgSXNDb21wb3NlZCwgUmVmUHRyPFdpbmRvd1By
b3h5PiYmLCBpbnQgZGV0YWlsLAotICAgICAgICBjb25zdCBJbnRQb2ludCYgc2NyZWVuTG9jYXRp
b24sIGNvbnN0IEludFBvaW50JiBjbGllbnRMb2NhdGlvbiwgT3B0aW9uU2V0PE1vZGlmaWVyPiwg
c2hvcnQgYnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLAorICAgICAgICBjb25zdCBJbnRQ
b2ludCYgc2NyZWVuTG9jYXRpb24sIGNvbnN0IEludFBvaW50JiBjbGllbnRMb2NhdGlvbiwgY29u
c3QgSW50UG9pbnQmIG1vdmVtZW50RGVsdGEsIE9wdGlvblNldDxNb2RpZmllcj4sIHNob3J0IGJ1
dHRvbiwgdW5zaWduZWQgc2hvcnQgYnV0dG9ucywKICAgICAgICAgdW5zaWduZWQgc2hvcnQgc3lu
dGhldGljQ2xpY2tUeXBlLCBFdmVudFRhcmdldCogcmVsYXRlZFRhcmdldCk7CiAKICAgICBNb3Vz
ZUV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IE1vdXNlRXZlbnRJbml0Jik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VSZWxhdGVkRXZlbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmNwcAppbmRleCAyNzU0OTJmOWZiZDc2
NGU3MWJjNzg4NDkzMmQ1MGY2NWNmODQ3NmMyLi4yM2EyMDYzYmQ5MWExNTMxMWM0Y2E2Yjc1MzBj
NDc2Yzc2MjY3ZWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VSZWxhdGVk
RXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZVJlbGF0ZWRFdmVudC5jcHAK
QEAgLTQxLDE0ICs0MSw5IEBAIE1vdXNlUmVsYXRlZEV2ZW50OjpNb3VzZVJlbGF0ZWRFdmVudChj
b25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIENhbkJ1YmJsZSBjYW5CCiAgICAgY29uc3QgSW50
UG9pbnQmIHNjcmVlbkxvY2F0aW9uLCBjb25zdCBJbnRQb2ludCYgd2luZG93TG9jYXRpb24sIGNv
bnN0IEludFBvaW50JiBtb3ZlbWVudERlbHRhLCBPcHRpb25TZXQ8TW9kaWZpZXI+IG1vZGlmaWVy
cywgSXNTaW11bGF0ZWQgaXNTaW11bGF0ZWQsIElzVHJ1c3RlZCBpc1RydXN0ZWQpCiAgICAgOiBV
SUV2ZW50V2l0aEtleVN0YXRlKGV2ZW50VHlwZSwgY2FuQnViYmxlLCBpc0NhbmNlbGFibGUsIGlz
Q29tcG9zZWQsIHRpbWVzdGFtcCwgV1RGTW92ZSh2aWV3KSwgZGV0YWlsLCBtb2RpZmllcnMsIGlz
VHJ1c3RlZCkKICAgICAsIG1fc2NyZWVuTG9jYXRpb24oc2NyZWVuTG9jYXRpb24pCi0jaWYgRU5B
QkxFKFBPSU5URVJfTE9DSykKICAgICAsIG1fbW92ZW1lbnREZWx0YShtb3ZlbWVudERlbHRhKQot
I2VuZGlmCiAgICAgLCBtX2lzU2ltdWxhdGVkKGlzU2ltdWxhdGVkID09IElzU2ltdWxhdGVkOjpZ
ZXMpCiB7Ci0jaWYgIUVOQUJMRShQT0lOVEVSX0xPQ0spCi0gICAgVU5VU0VEX1BBUkFNKG1vdmVt
ZW50RGVsdGEpOwotI2VuZGlmCiAgICAgaW5pdChtX2lzU2ltdWxhdGVkLCB3aW5kb3dMb2NhdGlv
bik7CiB9CiAKQEAgLTYxLDkgKzU2LDcgQEAgTW91c2VSZWxhdGVkRXZlbnQ6Ok1vdXNlUmVsYXRl
ZEV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIElzQ2FuY2VsYWJsZSBpc0NhbmMKIE1vdXNl
UmVsYXRlZEV2ZW50OjpNb3VzZVJlbGF0ZWRFdmVudChjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5
cGUsIGNvbnN0IE1vdXNlUmVsYXRlZEV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCBp
c1RydXN0ZWQpCiAgICAgOiBVSUV2ZW50V2l0aEtleVN0YXRlKGV2ZW50VHlwZSwgaW5pdGlhbGl6
ZXIpCiAgICAgLCBtX3NjcmVlbkxvY2F0aW9uKEludFBvaW50KGluaXRpYWxpemVyLnNjcmVlblgs
IGluaXRpYWxpemVyLnNjcmVlblkpKQotI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCiAgICAgLCBt
X21vdmVtZW50RGVsdGEoSW50UG9pbnQoMCwgMCkpCi0jZW5kaWYKIHsKICAgICBBU1NFUlRfVU5V
U0VEKGlzVHJ1c3RlZCwgaXNUcnVzdGVkID09IElzVHJ1c3RlZDo6Tm8pOwogICAgIGluaXQoZmFs
c2UsIEludFBvaW50KDAsIDApKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3Vz
ZVJlbGF0ZWRFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmgK
aW5kZXggZDhmMWE0MGMyMDUzZGY0NDFhYmVhODBiOWY1NDJjYWM2MGVlYjRhNi4uNWQ3NDg3N2Nk
ODMzYmIzYzYzY2MwZGQ5MGVlYzcxMmU1NDFjNjViNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01vdXNl
UmVsYXRlZEV2ZW50LmgKQEAgLTQ4LDEwICs0OCw5IEBAIHB1YmxpYzoKICAgICBjb25zdCBJbnRQ
b2ludCYgc2NyZWVuTG9jYXRpb24oKSBjb25zdCB7IHJldHVybiBtX3NjcmVlbkxvY2F0aW9uOyB9
CiAgICAgaW50IGNsaWVudFgoKSBjb25zdCB7IHJldHVybiBtX2NsaWVudExvY2F0aW9uLngoKTsg
fQogICAgIGludCBjbGllbnRZKCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnRMb2NhdGlvbi55KCk7
IH0KLSNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQogICAgIGludCBtb3ZlbWVudFgoKSBjb25zdCB7
IHJldHVybiBtX21vdmVtZW50RGVsdGEueCgpOyB9CiAgICAgaW50IG1vdmVtZW50WSgpIGNvbnN0
IHsgcmV0dXJuIG1fbW92ZW1lbnREZWx0YS55KCk7IH0KLSNlbmRpZgorCiAgICAgY29uc3QgTGF5
b3V0UG9pbnQmIGNsaWVudExvY2F0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnRMb2NhdGlv
bjsgfQogICAgIGludCBsYXllclgoKSBvdmVycmlkZTsKICAgICBpbnQgbGF5ZXJZKCkgb3ZlcnJp
ZGU7CkBAIC05NSw5ICs5NCw3IEBAIHByb3RlY3RlZDoKICAgICAvLyBFeHBvc2UgdGhlc2Ugc28g
TW91c2VFdmVudDo6aW5pdE1vdXNlRXZlbnQgY2FuIHNldCB0aGVtLgogICAgIEludFBvaW50IG1f
c2NyZWVuTG9jYXRpb247CiAgICAgTGF5b3V0UG9pbnQgbV9jbGllbnRMb2NhdGlvbjsKLSNpZiBF
TkFCTEUoUE9JTlRFUl9MT0NLKQogICAgIExheW91dFBvaW50IG1fbW92ZW1lbnREZWx0YTsKLSNl
bmRpZgogCiBwcml2YXRlOgogICAgIHZvaWQgaW5pdChib29sIGlzU2ltdWxhdGVkLCBjb25zdCBJ
bnRQb2ludCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1BvaW50ZXJFdmVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUG9pbnRlckV2ZW50LmNwcAppbmRleCBmMjE4NzlmZGZi
YzY0ZTdkMmYxMWFiMDg0ZDQ2Nzk0YTllNjAxMTEwLi45NGZkMDAzYWFhODBjZmY1YTdlYWRhZjRm
YjRiMTkyZDgyYTllZDE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUG9pbnRlckV2
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUG9pbnRlckV2ZW50LmNwcApAQCAtOTIs
NyArOTIsNyBAQCBQb2ludGVyRXZlbnQ6OlBvaW50ZXJFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0
eXBlLCBJbml0JiYgaW5pdGlhbGl6ZXIpCiB9CiAKIFBvaW50ZXJFdmVudDo6UG9pbnRlckV2ZW50
KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIHNob3J0IGJ1dHRvbiwgY29uc3QgTW91c2VFdmVudCYg
bW91c2VFdmVudCwgUG9pbnRlcklEIHBvaW50ZXJJZCwgY29uc3QgU3RyaW5nJiBwb2ludGVyVHlw
ZSkKLSAgICA6IE1vdXNlRXZlbnQodHlwZSwgdHlwZUNhbkJ1YmJsZSh0eXBlKSwgdHlwZUlzQ2Fu
Y2VsYWJsZSh0eXBlKSwgdHlwZUlzQ29tcG9zZWQodHlwZSksIG1vdXNlRXZlbnQudmlldygpLCBt
b3VzZUV2ZW50LmRldGFpbCgpLCBtb3VzZUV2ZW50LnNjcmVlbkxvY2F0aW9uKCksIHsgbW91c2VF
dmVudC5jbGllbnRYKCksIG1vdXNlRXZlbnQuY2xpZW50WSgpIH0sIG1vdXNlRXZlbnQubW9kaWZp
ZXJLZXlzKCksIGJ1dHRvbiwgbW91c2VFdmVudC5idXR0b25zKCksIG1vdXNlRXZlbnQuc3ludGhl
dGljQ2xpY2tUeXBlKCksIG1vdXNlRXZlbnQucmVsYXRlZFRhcmdldCgpKQorICAgIDogTW91c2VF
dmVudCh0eXBlLCB0eXBlQ2FuQnViYmxlKHR5cGUpLCB0eXBlSXNDYW5jZWxhYmxlKHR5cGUpLCB0
eXBlSXNDb21wb3NlZCh0eXBlKSwgbW91c2VFdmVudC52aWV3KCksIG1vdXNlRXZlbnQuZGV0YWls
KCksIG1vdXNlRXZlbnQuc2NyZWVuTG9jYXRpb24oKSwgeyBtb3VzZUV2ZW50LmNsaWVudFgoKSwg
bW91c2VFdmVudC5jbGllbnRZKCkgfSwgeyBtb3VzZUV2ZW50Lm1vdmVtZW50WCgpLCBtb3VzZUV2
ZW50Lm1vdmVtZW50WSgpIH0sIG1vdXNlRXZlbnQubW9kaWZpZXJLZXlzKCksIGJ1dHRvbiwgbW91
c2VFdmVudC5idXR0b25zKCksIG1vdXNlRXZlbnQuc3ludGhldGljQ2xpY2tUeXBlKCksIG1vdXNl
RXZlbnQucmVsYXRlZFRhcmdldCgpKQogICAgICwgbV9wb2ludGVySWQocG9pbnRlcklkKQogICAg
ICwgbV9wb2ludGVyVHlwZShwb2ludGVyVHlwZSkKICAgICAsIG1faXNQcmltYXJ5KHRydWUpCkBA
IC0xMDAsNyArMTAwLDcgQEAgUG9pbnRlckV2ZW50OjpQb2ludGVyRXZlbnQoY29uc3QgQXRvbVN0
cmluZyYgdHlwZSwgc2hvcnQgYnV0dG9uLCBjb25zdCBNb3VzZUV2ZW4KIH0KIAogUG9pbnRlckV2
ZW50OjpQb2ludGVyRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgUG9pbnRlcklEIHBvaW50
ZXJJZCwgY29uc3QgU3RyaW5nJiBwb2ludGVyVHlwZSwgSXNQcmltYXJ5IGlzUHJpbWFyeSkKLSAg
ICA6IE1vdXNlRXZlbnQodHlwZSwgdHlwZUNhbkJ1YmJsZSh0eXBlKSwgdHlwZUlzQ2FuY2VsYWJs
ZSh0eXBlKSwgdHlwZUlzQ29tcG9zZWQodHlwZSksIG51bGxwdHIsIDAsIHsgfSwgeyB9LCB7IH0s
IDAsIDAsIDAsIG51bGxwdHIpCisgICAgOiBNb3VzZUV2ZW50KHR5cGUsIHR5cGVDYW5CdWJibGUo
dHlwZSksIHR5cGVJc0NhbmNlbGFibGUodHlwZSksIHR5cGVJc0NvbXBvc2VkKHR5cGUpLCBudWxs
cHRyLCAwLCB7IH0sIHsgfSwgeyB9LCB7IH0sIDAsIDAsIDAsIG51bGxwdHIpCiAgICAgLCBtX3Bv
aW50ZXJJZChwb2ludGVySWQpCiAgICAgLCBtX3BvaW50ZXJUeXBlKHBvaW50ZXJUeXBlKQogICAg
ICwgbV9pc1ByaW1hcnkoaXNQcmltYXJ5ID09IElzUHJpbWFyeTo6WWVzKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IDdkMmU1Njg5ZTRmOTMyZGJkMTNiNDU3ZTMxOTU3ZDE1
ODA2ZGJkMGUuLjk5NmUxODE4MjE2MGFkMGYxZjdkNDkwMzcyMzc1ZjNlZmYxZmFjN2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTIyNzAsMTIgKzIyNzAsNyBAQCBib29s
IEV2ZW50SGFuZGxlcjo6ZGlzcGF0Y2hEcmFnRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRU
eXBlLCBFbGVtZW50JiBkcmFnVAogCiAgICAgYXV0byBkcmFnRXZlbnQgPSBEcmFnRXZlbnQ6OmNy
ZWF0ZShldmVudFR5cGUsIEV2ZW50OjpDYW5CdWJibGU6OlllcywgRXZlbnQ6OklzQ2FuY2VsYWJs
ZTo6WWVzLCBFdmVudDo6SXNDb21wb3NlZDo6WWVzLAogICAgICAgICBldmVudC50aW1lc3RhbXAo
KS5hcHByb3hpbWF0ZU1vbm90b25pY1RpbWUoKSwgJm1fZnJhbWUud2luZG93UHJveHkoKSwgMCwK
LSAgICAgICAgZXZlbnQuZ2xvYmFsUG9zaXRpb24oKSwgZXZlbnQucG9zaXRpb24oKSwKLSNpZiBF
TkFCTEUoUE9JTlRFUl9MT0NLKQotICAgICAgICBldmVudC5tb3ZlbWVudERlbHRhKCksCi0jZWxz
ZQotICAgICAgICB7IH0sCi0jZW5kaWYKKyAgICAgICAgZXZlbnQuZ2xvYmFsUG9zaXRpb24oKSwg
ZXZlbnQucG9zaXRpb24oKSwgZXZlbnQubW92ZW1lbnREZWx0YSgpLAogICAgICAgICBldmVudC5t
b2RpZmllcnMoKSwgMCwgMCwgbnVsbHB0ciwgZXZlbnQuZm9yY2UoKSwgTm9UYXAsICZkYXRhVHJh
bnNmZXIpOwogCiAgICAgZHJhZ1RhcmdldC5kaXNwYXRjaEV2ZW50KGRyYWdFdmVudCk7CmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMzQ0MGNmMzZj
NGMwZGY3ZjIwMWI0ZjliNDdlOWQxMTdlZDUzM2UzYS4uYTI1ZDlhZGFmZDZkNmE2ZGQyNzY1MDg2
MzEzY2FjNjNhYjNmYWM5YiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIyLTAyLTA4ICBEZXZpbiBSb3Vzc28gIDxk
cm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBgUG9pbnRlckV2ZW50Lm1vdmVtZW50WGAgYWx3
YXlzIDAgKGJyZWFrcyBodHRwczovL25vaXNlY3JhZnQuYXBwLykKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDE5NAorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNzI4MTQ0NDA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisg
ICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9tYWMvRXZlbnRTZW5kZXJQcm94eS5tbToKKyAgICAg
ICAgKFdUUjo6RXZlbnRTZW5kZXJQcm94eTo6bW91c2VNb3ZlVG8pOgorICAgICAgICBPbiBtYWNP
UywgdGhlIHNjcmVlbidzIG9yaWdpbiBpcyB0aGUgYm90dG9tLWxlZnQgY29ybmVyLCBzbyB3ZSBu
ZWVkIHRvIGZsaXAgdGhlIGBkZWx0YVlgLgorCiAyMDIyLTAzLTIzICBKb24gTGVlICA8am9ubGVl
QGFwcGxlLmNvbT4KIAogICAgICAgICBUdXJuIERPTSBpbiBHUFUgUHJvY2VzcyBvbiBieSBkZWZh
dWx0IG9uIGlPUyBsYXlvdXQgdGVzdHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvbWFjL0V2ZW50U2VuZGVyUHJveHkubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9F
dmVudFNlbmRlclByb3h5Lm1tCmluZGV4IDcyZjgwZjhjNzAyNDU4ZTUxN2ZjZjFiYTIwNGMyYmE3
NGQxNGQ5ZGYuLjNhMjMxYjE2ODU4M2NmYzM3OGZiNjdmZjQyYjEwOGM3NDdkZDA3MzMgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL0V2ZW50U2VuZGVyUHJveHkubW0KKysr
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvRXZlbnRTZW5kZXJQcm94eS5tbQpAQCAtNjAx
LDcgKzYwMSw3IEBAIHZvaWQgRXZlbnRTZW5kZXJQcm94eTo6bW91c2VNb3ZlVG8oZG91YmxlIHgs
IGRvdWJsZSB5LCBXS1N0cmluZ1JlZiBwb2ludGVyVHlwZSkKIAogICAgIENHRXZlbnRSZWYgY2dF
dmVudCA9IGV2ZW50LkNHRXZlbnQ7CiAgICAgQ0dFdmVudFNldEludGVnZXJWYWx1ZUZpZWxkKGNn
RXZlbnQsIGtDR01vdXNlRXZlbnREZWx0YVgsIG5ld01vdXNlUG9zaXRpb24ueCAtIG1fcG9zaXRp
b24ueCk7Ci0gICAgQ0dFdmVudFNldEludGVnZXJWYWx1ZUZpZWxkKGNnRXZlbnQsIGtDR01vdXNl
RXZlbnREZWx0YVksIG5ld01vdXNlUG9zaXRpb24ueSAtIG1fcG9zaXRpb24ueSk7CisgICAgQ0dF
dmVudFNldEludGVnZXJWYWx1ZUZpZWxkKGNnRXZlbnQsIGtDR01vdXNlRXZlbnREZWx0YVksIC0x
ICogKG5ld01vdXNlUG9zaXRpb24ueSAtIG1fcG9zaXRpb24ueSkpOwogICAgIGV2ZW50ID0gW05T
RXZlbnQgZXZlbnRXaXRoQ0dFdmVudDpjZ0V2ZW50XTsKICAgICBtX3Bvc2l0aW9uLnggPSBuZXdN
b3VzZVBvc2l0aW9uLng7CiAgICAgbV9wb3NpdGlvbi55ID0gbmV3TW91c2VQb3NpdGlvbi55Owpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDM2M2RmZDgxMGM4MTUwMTI1MmUzMTJkMWE3NGIyZDIxNTg3NzgyM2MuLmMzZDE2MmYx
NDYxMGE1YmM2MmYyYTJjNWExYjY1Mzg5YjQ1YzRmNGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAor
MjAyMi0wMi0wOCAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAg
YFBvaW50ZXJFdmVudC5tb3ZlbWVudFhgIGFsd2F5cyAwIChicmVha3MgaHR0cHM6Ly9ub2lzZWNy
YWZ0LmFwcC8pCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjAxOTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcyODE0NDQwPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICAqIHBvaW50ZXJldmVudHMvbW91c2Uv
bW92ZW1lbnQtZGVsdGEuaHRtbDogQWRkZWQuCisgICAgICAgICogcG9pbnRlcmV2ZW50cy9tb3Vz
ZS9tb3ZlbWVudC1kZWx0YS1leHBlY3RlZC50eHQ6IEFkZGVkLgorCisgICAgICAgICogcG9pbnRl
ci1sb2NrL21vdXNlLWV2ZW50LWRlbGl2ZXJ5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
IE9uIG1hY09TLCB0aGUgc2NyZWVuJ3Mgb3JpZ2luIGlzIHRoZSBib3R0b20tbGVmdCBjb3JuZXIs
IHNvIHdlIG5lZWQgdG8gZmxpcCB0aGUgYGRlbHRhWWAuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9n
dGsvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL3BvaW50ZXJs
b2NrL3BvaW50ZXJldmVudF9tb3ZlbWVudHh5X3dpdGhfcG9pbnRlcmxvY2stZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgVGhpcyBjaGFuZ2UgY2F1c2VzIHRoZSB0ZXN0IHRvIHByb2dyZXNz
IGZ1cnRoZXIgdGhhbiBiZWZvcmUsIGJ1dCB0aGVyZSBzdGlsbCBhcHBlYXIgdG8gYmUKKyAgICAg
ICAgb3RoZXIgaXNzdWVzIGVsc2V3aGVyZSwgc28gYWRqdXN0IHRoZSBleHBlY3RlZCBvdXRwdXQg
dG8gcmVmbGVjdCB0aGF0LgorCiAyMDIyLTAzLTIzICBSb2JlcnQgSmVubmVyICA8SmVubmVyQGFw
cGxlLmNvbT4KIAogICAgICAgICBbIGlPUyBFV1MgXSBlZGl0aW5nL2RlbGV0aW5nL2luc2VydC1p
bi1vcnBoYW5lZC1zZWxlY3Rpb24tY3Jhc2guaHRtbCBpcyBhIGNvbnN0YW50IHRleHQgZmFpbHVy
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggYWQ5MWY4ODk5NTJmY2VkOGRmYmI2
OWE5YTU0YmQzMzQwM2ZiNTU1Zi4uODQ5NzIzOTlmM2Y4MTE3ZDAwZWIyOWFhMjlhYjc3ZjkzYzc2
NWQzMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MjItMDItMDggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIGBQ
b2ludGVyRXZlbnQubW92ZW1lbnRYYCBhbHdheXMgMCAoYnJlYWtzIGh0dHBzOi8vbm9pc2VjcmFm
dC5hcHAvKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjIwMTk0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MjgxNDQ0MD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcG9p
bnRlcmV2ZW50cy9wb2ludGVybG9jay9wb2ludGVyZXZlbnRfbW92ZW1lbnR4eV93aXRoX3BvaW50
ZXJsb2NrLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgVGhpcyBjaGFuZ2UgY2F1c2VzIHRoZSB0ZXN0
IHRvIHByb2dyZXNzIGZ1cnRoZXIgdGhhbiBiZWZvcmUsIGJ1dCB0aGVyZSBzdGlsbCBhcHBlYXIg
dG8gYmUKKyAgICAgICAgb3RoZXIgaXNzdWVzIGVsc2V3aGVyZSwgc28gYWRqdXN0IHRoZSBleHBl
Y3RlZCBvdXRwdXQgdG8gcmVmbGVjdCB0aGF0LgorCiAyMDIyLTAzLTIzICBaaXJhbiBTdW4gIDx6
c3VuQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0lucHV0RWxlbWVudF0gQWRkIEhUTUxJbnB1dEVs
ZW1lbnQ6OnNob3dQaWNrZXIoKSBtZXRob2QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9wb2ludGVybG9jay9wb2lu
dGVyZXZlbnRfbW92ZW1lbnR4eV93aXRoX3BvaW50ZXJsb2NrLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9wb2lu
dGVybG9jay9wb2ludGVyZXZlbnRfbW92ZW1lbnR4eV93aXRoX3BvaW50ZXJsb2NrLWV4cGVjdGVk
LnR4dAppbmRleCBlNTNkZTBkOGM5YTdlYmEzMzQzYmY5OTkxNmJhODMwMjFkMjYzZWNlLi43NTlh
MDk0MzEyNzMzYTM5YjY5NTJkMTNjMjIxMWQ5MzAwOTQzNTdhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMvcG9pbnRl
cmxvY2svcG9pbnRlcmV2ZW50X21vdmVtZW50eHlfd2l0aF9wb2ludGVybG9jay1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2lu
dGVyZXZlbnRzL3BvaW50ZXJsb2NrL3BvaW50ZXJldmVudF9tb3ZlbWVudHh5X3dpdGhfcG9pbnRl
cmxvY2stZXhwZWN0ZWQudHh0CkBAIC0xMiw1ICsxMiw1IEBAIENsaWNrIGxlZnQgYnV0dG9uIGFn
YWluIHRvIGVuZCB0aGUgdGVzdC4KIFRlc3QgcGFzc2VzIGlmIHRoZSBwcm9wZXIgYmVoYXZpb3Ig
b2YgdGhlIGV2ZW50cyBpcyBvYnNlcnZlZC4KIAogCi1GQUlMIG1vdXNlIHBvaW50ZXJldmVudCBt
b3ZlbWVudFgvWSB3aXRoIHBvaW50ZXJsb2NrIHRlc3QgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
MCBidXQgZ290IDEwCitGQUlMIG1vdXNlIHBvaW50ZXJldmVudCBtb3ZlbWVudFgvWSB3aXRoIHBv
aW50ZXJsb2NrIHRlc3QgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgLTk5OTEgYnV0IGdvdCAtOTk4
MQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL3BvaW50ZXJsb2NrL3BvaW50ZXJldmVudF9t
b3ZlbWVudHh5X3dpdGhfcG9pbnRlcmxvY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9w
b2ludGVybG9jay9wb2ludGVyZXZlbnRfbW92ZW1lbnR4eV93aXRoX3BvaW50ZXJsb2NrLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yZDhkNjBhNmVhMGUzZDQzNGEwNDU3YzljOWVlNzg2YzMzNGU2
YjVhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9wb2ludGVybG9jay9wb2ludGVy
ZXZlbnRfbW92ZW1lbnR4eV93aXRoX3BvaW50ZXJsb2NrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDE2IEBACitQb2ludGVyIEV2ZW50cyBtb3ZlbWVudCB3aXRoIHBvaW50ZXJsb2NrIHRlc3QKKwor
Rm9sbG93IHRoZSB0ZXN0IGluc3RydWN0aW9ucyB3aXRoIG1vdXNlLiBJZiB5b3UgZG9uJ3QgaGF2
ZSB0aGUgZGV2aWNlIHNraXAgaXQuCisKK1Rlc3QgRGVzY3JpcHRpb246IFRoaXMgdGVzdCBjaGVj
a3MgcG9pbnRlcmV2ZW50IG1vdmVtZW50WC9ZIHZhbHVlIHdpdGggcG9pbnRlcmxvY2suIEl0IGNo
ZWNrcyB3aGV0aGVyIG1vdmVtZW50IFgvWSBtYXRjaGVzIGV2ZW50LnNjcmVlblgvWSAtIGxhc3Rf
ZXZlbnQuc2NyZWVuWC9ZIHdoZW4gcG9pbnRlciBpcyBub3QgbG9ja2VkOyBBbmQgaWYgcG9pbnRl
cm1vdmUubW92ZW1lbnRYL1kgbWF0Y2hlcyBtb3VzZW1vdmUubW92ZW1lbnRYL1kgd2hlbiBwb2lu
dGVyIGlzIGxvY2tlZC4KK01vdmUgdGhlIG1vdXNlIGluc2lkZSB0aGUgZ3JlZW4gcmVjdGFuZ2xl
LgorQ2xpY2sgbGVmdCBidXR0b24gb24gdGhlIGdyZWVuIHJlY3RhbmdsZS4oRW50ZXIgcG9pbnRl
cmxvY2spCitNb3ZlIHRoZSBtb3VzZSBhcm91bmQuCitDbGljayBsZWZ0IGJ1dHRvbiBhZ2Fpbgor
TW92ZSB0aGUgbW91c2UgaW5zaWRlIHRoZSBncmVlbiByZWN0YW5nbGUuCitDbGljayBsZWZ0IGJ1
dHRvbiBhZ2FpbiB0byBlbmQgdGhlIHRlc3QuCitUZXN0IHBhc3NlcyBpZiB0aGUgcHJvcGVyIGJl
aGF2aW9yIG9mIHRoZSBldmVudHMgaXMgb2JzZXJ2ZWQuCisKKworRkFJTCBtb3VzZSBwb2ludGVy
ZXZlbnQgbW92ZW1lbnRYL1kgd2l0aCBwb2ludGVybG9jayB0ZXN0IGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIDkgYnV0IGdvdCAxOQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wb2ludGVyLWxv
Y2svbW91c2UtZXZlbnQtZGVsaXZlcnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcG9pbnRl
ci1sb2NrL21vdXNlLWV2ZW50LWRlbGl2ZXJ5LWV4cGVjdGVkLnR4dAppbmRleCA1NWNkYWI4Zjdm
MzljMDliNDNiMDQ0YWU1MTMyNTlkMzE1ZWIxYWZkLi42MjA3NTkyZDk1NWU4YWIzZDUwMzRlOTZj
ZjA4ZmE2YjRhMjlkMGJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wb2ludGVyLWxvY2svbW91
c2UtZXZlbnQtZGVsaXZlcnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BvaW50ZXIt
bG9jay9tb3VzZS1ldmVudC1kZWxpdmVyeS1leHBlY3RlZC50eHQKQEAgLTksOCArOSw4IEBAIFBB
U1MgZG9jdW1lbnQucG9pbnRlckxvY2tFbGVtZW50IGlzIHRhcmdldGRpdjEKIFBBU1MgZXZlbnQg
dHlwZTogd2hlZWwsIHRhcmdldDogdGFyZ2V0MSwgcmVjZWl2ZWQgb246IHRhcmdldDEKIFBBU1Mg
ZXZlbnQgdHlwZTogd2hlZWwsIHRhcmdldDogdGFyZ2V0MSwgcmVjZWl2ZWQgb246IGJvZHkKICAg
ICAgV2l0aCBhIGxvY2sgaW4gcGxhY2UgbW92ZSB0aGUgbW91c2UuCi1QQVNTIGV2ZW50IHR5cGU6
IG1vdXNlbW92ZSwgbW92ZW1lbnRYOiAyNSwgbW92ZW1lbnRZOiAtMzAsIHRhcmdldDogdGFyZ2V0
MSwgcmVjZWl2ZWQgb246IHRhcmdldDEKLVBBU1MgZXZlbnQgdHlwZTogbW91c2Vtb3ZlLCBtb3Zl
bWVudFg6IDI1LCBtb3ZlbWVudFk6IC0zMCwgdGFyZ2V0OiB0YXJnZXQxLCByZWNlaXZlZCBvbjog
Ym9keQorUEFTUyBldmVudCB0eXBlOiBtb3VzZW1vdmUsIG1vdmVtZW50WDogMjUsIG1vdmVtZW50
WTogMzAsIHRhcmdldDogdGFyZ2V0MSwgcmVjZWl2ZWQgb246IHRhcmdldDEKK1BBU1MgZXZlbnQg
dHlwZTogbW91c2Vtb3ZlLCBtb3ZlbWVudFg6IDI1LCBtb3ZlbWVudFk6IDMwLCB0YXJnZXQ6IHRh
cmdldDEsIHJlY2VpdmVkIG9uOiBib2R5CiAgICAgIFdpdGggYSBsb2NrIGluIHBsYWNlIHNlbmQg
YSBjbGljay4KIFBBU1MgZXZlbnQgdHlwZTogbW91c2Vkb3duLCB0YXJnZXQ6IHRhcmdldDEsIHJl
Y2VpdmVkIG9uOiB0YXJnZXQxCiBQQVNTIGV2ZW50IHR5cGU6IG1vdXNlZG93biwgdGFyZ2V0OiB0
YXJnZXQxLCByZWNlaXZlZCBvbjogYm9keQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcG9pbnRl
cmV2ZW50cy9tb3VzZS9tb3ZlbWVudC1kZWx0YS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9w
b2ludGVyZXZlbnRzL21vdXNlL21vdmVtZW50LWRlbHRhLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40YzM5YTZjNzEwMjdjNzM0MTBhZmM3ZWY2ZTU3NmFhNTdjMmJjYmI1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvcG9pbnRlcmV2ZW50cy9tb3VzZS9tb3ZlbWVudC1kZWx0YS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgVGVzdGluZyB0aGUgbW92ZW1lbnRYIGFu
ZCBtb3ZlbWVudFkgcHJvcGVydGllcyBvZiBhIHBvaW50ZXIgZXZlbnQgdHJpZ2dlcmVkIGJ5IGEg
bW91c2UuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BvaW50ZXJldmVudHMvbW91c2UvbW92
ZW1lbnQtZGVsdGEuaHRtbCBiL0xheW91dFRlc3RzL3BvaW50ZXJldmVudHMvbW91c2UvbW92ZW1l
bnQtZGVsdGEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMGU5ZDQ2NjFlOGQ5ZmNmZjU2ODJjMzg3ZDVlMjg0
YzA0YzRkNzZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcG9pbnRlcmV2ZW50cy9t
b3VzZS9tb3ZlbWVudC1kZWx0YS5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworInVz
ZSBzdHJpY3QiOworCit0YXJnZXRfdGVzdCgodGFyZ2V0LCB0ZXN0KSA9PiB7CisgICAgZXZlbnRT
ZW5kZXIubW91c2VNb3ZlVG8oMTAwLCAxMDApOworCisgICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVu
ZXIoInBvaW50ZXJtb3ZlIiwgKGV2ZW50KSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZXZl
bnQueCwgMTUwLCAiVGhlIHggcHJvcGVydHkgdmFsdWUgaXMgYXMgZXhwZWN0ZWQuIik7CisgICAg
ICAgIGFzc2VydF9lcXVhbHMoZXZlbnQueSwgMTUwLCAiVGhlIHkgcHJvcGVydHkgdmFsdWUgaXMg
YXMgZXhwZWN0ZWQuIik7CisKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhldmVudC5tb3ZlbWVudFgs
IDUwLCAiVGhlIG1vdmVtZW50WCBwcm9wZXJ0eSB2YWx1ZSBpcyBhcyBleHBlY3RlZC4iKTsKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhldmVudC5tb3ZlbWVudFksIDUwLCAiVGhlIG1vdmVtZW50WSBw
cm9wZXJ0eSB2YWx1ZSBpcyBhcyBleHBlY3RlZC4iKTsKKworICAgICAgICB0ZXN0LmRvbmUoKTsK
KyAgICB9KTsKKworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDE1MCwgMTUwKTsKK30sICJU
ZXN0aW5nIHRoZSBtb3ZlbWVudFggYW5kIG1vdmVtZW50WSBwcm9wZXJ0aWVzIG9mIGEgcG9pbnRl
ciBldmVudCB0cmlnZ2VyZWQgYnkgYSBtb3VzZS4iKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>
<flag name="commit-queue"
          id="483613"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455652</attachid>
            <date>2022-03-24 10:40:53 -0700</date>
            <delta_ts>2022-03-24 10:54:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>220194.diff</filename>
            <type>text/plain</type>
            <size>19802</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmZmIzM2E3YjQ1ZjNmNzg2ZjYwMTlmNmZjMTIxNWM1YWI5YTM1YWYwLi5i
MjIxNWFiOThhNDMyN2ZhNDU0ZThlNTVmMGY4MmFmM2E2YzdmMGUyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzMgQEAKKzIwMjItMDItMDggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIGBQb2ludGVyRXZlbnQubW92ZW1lbnRYYCBhbHdheXMgMCAoYnJlYWtzIGh0
dHBzOi8vbm9pc2VjcmFmdC5hcHAvKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjIwMTk0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MjgxNDQ0MD4K
KworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgVGVzdDogcG9p
bnRlci1sb2NrL3BvaW50ZXJtb3ZlLW1vdmVtZW50LWRlbHRhLmh0bWwKKworICAgICAgICAqIGRv
bS9Qb2ludGVyRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UG9pbnRlckV2ZW50OjpQb2lu
dGVyRXZlbnQpOgorICAgICAgICBBbHNvIHBhc3MgYWxvbmcgdGhlIG1vdmVtZW50IGRlbHRhIGlu
IHRoZSBjb25zdHJ1Y3RvciB0aGF0IHRha2VzIGEgYE1vdXNlRXZlbnRgLgorCisgICAgICAgICog
ZG9tL01vdXNlRXZlbnQuaDoKKyAgICAgICAgKiBkb20vTW91c2VFdmVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNb3VzZUV2ZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TW91c2VF
dmVudDo6TW91c2VFdmVudCk6CisgICAgICAgIFJlcXVpcmUgdGhhdCBhbGwgY29uc3RydWN0b3Jz
IHRoYXQgYXJlbid0IGludm9rZWQgZnJvbSBKUyBhbHdheXMgcHJvdmlkZSBhIG1vdmVtZW50IGRl
bHRhLgorCisgICAgICAgICogZG9tL01vdXNlUmVsYXRlZEV2ZW50Lmg6CisgICAgICAgIChXZWJD
b3JlOjpNb3VzZVJlbGF0ZWRFdmVudDo6bW92ZW1lbnRYIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6Ok1vdXNlUmVsYXRlZEV2ZW50Ojptb3ZlbWVudFkgY29uc3QpOgorICAgICAgICBFeHBvc2Ug
dGhlc2UgbWV0aG9kcyBldmVuIHdoZW4gYCFFTkFCTEUoUE9JTlRFUl9MT0NLKWAgc28gdGhhdCB0
aGV5IGNhbiBiZSBjYWxsZWQgd2l0aG91dAorICAgICAgICB0aGUgY2FsbHNpdGUgaGF2aW5nIHRv
IGFsc28gaGF2ZSBhIGAjaWZgLgorCisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpkaXNwYXRjaERyYWdFdmVudCk6CisgICAg
ICAgIFBhc3MgYWxvbmcgdGhlIG1vdmVtZW50IGRlbHRhIGV2ZW4gd2hlbiBgIUVOQUJMRShQT0lO
VEVSX0xPQ0spYC4KKwogMjAyMi0wMy0yMyAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNv
bT4KIAogICAgICAgICBbQ29jb2FdIE1TRS1iYWNrZWQgdmlkZW9zIGZhaWwgdG8gcGxheSBpbiBD
YXB0aXZlIFBvcnRhbCBtb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VF
dmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5jcHAKaW5kZXggNTlkMzlh
YjE5YzRhZjhiZmEyMjhhNjVkZTZlNTFhM2YzYjM0NzBkMi4uODg5Mjc0MWU5ZGJkODQyYzUyMmYx
ODZiNGVhZmFjY2VlNmYwZDE0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL01vdXNl
RXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmNwcApAQCAtNTYs
MTIgKzU2LDcgQEAgUmVmPE1vdXNlRXZlbnQ+IE1vdXNlRXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9t
U3RyaW5nJiBldmVudFR5cGUsIFJlZlB0cjxXaW5kb3dQcm8KICAgICBhdXRvIGlzQ29tcG9zZWQg
PSAhaXNNb3VzZUVudGVyT3JMZWF2ZSA/IElzQ29tcG9zZWQ6OlllcyA6IElzQ29tcG9zZWQ6Ok5v
OwogCiAgICAgcmV0dXJuIE1vdXNlRXZlbnQ6OmNyZWF0ZShldmVudFR5cGUsIGNhbkJ1YmJsZSwg
aXNDYW5jZWxhYmxlLCBpc0NvbXBvc2VkLCBldmVudC50aW1lc3RhbXAoKS5hcHByb3hpbWF0ZU1v
bm90b25pY1RpbWUoKSwgV1RGTW92ZSh2aWV3KSwgZGV0YWlsLAotICAgICAgICBldmVudC5nbG9i
YWxQb3NpdGlvbigpLCBldmVudC5wb3NpdGlvbigpLAotI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0sp
Ci0gICAgICAgIGV2ZW50Lm1vdmVtZW50RGVsdGEoKSwKLSNlbHNlCi0gICAgICAgIHsgfSwKLSNl
bmRpZgorICAgICAgICBldmVudC5nbG9iYWxQb3NpdGlvbigpLCBldmVudC5wb3NpdGlvbigpLCBl
dmVudC5tb3ZlbWVudERlbHRhKCksCiAgICAgICAgIGV2ZW50Lm1vZGlmaWVycygpLCBldmVudC5i
dXR0b24oKSwgZXZlbnQuYnV0dG9ucygpLCByZWxhdGVkVGFyZ2V0LCBldmVudC5mb3JjZSgpLCBl
dmVudC5zeW50aGV0aWNDbGlja1R5cGUoKSk7CiB9CiAKQEAgLTc3LDcgKzcyLDcgQEAgUmVmPE1v
dXNlRXZlbnQ+IE1vdXNlRXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUs
IENhbkJ1YmJsZSBjYW5CdWIKICAgICBpbnQgc2NyZWVuWCwgaW50IHNjcmVlblksIGludCBjbGll
bnRYLCBpbnQgY2xpZW50WSwgT3B0aW9uU2V0PE1vZGlmaWVyPiBtb2RpZmllcnMsIHNob3J0IGJ1
dHRvbiwgdW5zaWduZWQgc2hvcnQgYnV0dG9ucywKICAgICB1bnNpZ25lZCBzaG9ydCBzeW50aGV0
aWNDbGlja1R5cGUsIEV2ZW50VGFyZ2V0KiByZWxhdGVkVGFyZ2V0KQogewotICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IE1vdXNlRXZlbnQoZXZlbnRUeXBlLCBjYW5CdWJibGUsIGlzQ2FuY2VsYWJs
ZSwgaXNDb21wb3NlZCwgV1RGTW92ZSh2aWV3KSwgZGV0YWlsLCB7IHNjcmVlblgsIHNjcmVlblkg
fSwgeyBjbGllbnRYLCBjbGllbnRZIH0sIG1vZGlmaWVycywgYnV0dG9uLCBidXR0b25zLCBzeW50
aGV0aWNDbGlja1R5cGUsIHJlbGF0ZWRUYXJnZXQpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBNb3VzZUV2ZW50KGV2ZW50VHlwZSwgY2FuQnViYmxlLCBpc0NhbmNlbGFibGUsIGlzQ29tcG9z
ZWQsIFdURk1vdmUodmlldyksIGRldGFpbCwgeyBzY3JlZW5YLCBzY3JlZW5ZIH0sIHsgY2xpZW50
WCwgY2xpZW50WSB9LCB7IH0sIG1vZGlmaWVycywgYnV0dG9uLCBidXR0b25zLCBzeW50aGV0aWND
bGlja1R5cGUsIHJlbGF0ZWRUYXJnZXQpKTsKIH0KIAogTW91c2VFdmVudDo6TW91c2VFdmVudCgp
ID0gZGVmYXVsdDsKQEAgLTk3LDkgKzkyLDkgQEAgTW91c2VFdmVudDo6TW91c2VFdmVudChjb25z
dCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIENhbkJ1YmJsZSBjYW5CdWJibGUsIElzQ2FuY2UKIH0K
IAogTW91c2VFdmVudDo6TW91c2VFdmVudChjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIENh
bkJ1YmJsZSBjYW5CdWJibGUsIElzQ2FuY2VsYWJsZSBpc0NhbmNlbGFibGUsIElzQ29tcG9zZWQg
aXNDb21wb3NlZCwKLSAgICBSZWZQdHI8V2luZG93UHJveHk+JiYgdmlldywgaW50IGRldGFpbCwg
Y29uc3QgSW50UG9pbnQmIHNjcmVlbkxvY2F0aW9uLCBjb25zdCBJbnRQb2ludCYgY2xpZW50TG9j
YXRpb24sCisgICAgUmVmUHRyPFdpbmRvd1Byb3h5PiYmIHZpZXcsIGludCBkZXRhaWwsIGNvbnN0
IEludFBvaW50JiBzY3JlZW5Mb2NhdGlvbiwgY29uc3QgSW50UG9pbnQmIGNsaWVudExvY2F0aW9u
LCBjb25zdCBJbnRQb2ludCYgbW92ZW1lbnREZWx0YSwKICAgICBPcHRpb25TZXQ8TW9kaWZpZXI+
IG1vZGlmaWVycywgc2hvcnQgYnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLCB1bnNpZ25l
ZCBzaG9ydCBzeW50aGV0aWNDbGlja1R5cGUsIEV2ZW50VGFyZ2V0KiByZWxhdGVkVGFyZ2V0KQot
ICAgIDogTW91c2VSZWxhdGVkRXZlbnQoZXZlbnRUeXBlLCBjYW5CdWJibGUsIGlzQ2FuY2VsYWJs
ZSwgaXNDb21wb3NlZCwgTW9ub3RvbmljVGltZTo6bm93KCksIFdURk1vdmUodmlldyksIGRldGFp
bCwgc2NyZWVuTG9jYXRpb24sIHsgfSwgeyB9LCBtb2RpZmllcnMsIElzU2ltdWxhdGVkOjpObykK
KyAgICA6IE1vdXNlUmVsYXRlZEV2ZW50KGV2ZW50VHlwZSwgY2FuQnViYmxlLCBpc0NhbmNlbGFi
bGUsIGlzQ29tcG9zZWQsIE1vbm90b25pY1RpbWU6Om5vdygpLCBXVEZNb3ZlKHZpZXcpLCBkZXRh
aWwsIHNjcmVlbkxvY2F0aW9uLCB7IH0sIG1vdmVtZW50RGVsdGEsIG1vZGlmaWVycywgSXNTaW11
bGF0ZWQ6Ok5vKQogICAgICwgbV9idXR0b24oYnV0dG9uID09IC0yID8gMCA6IGJ1dHRvbikKICAg
ICAsIG1fYnV0dG9ucyhidXR0b25zKQogICAgICwgbV9zeW50aGV0aWNDbGlja1R5cGUoYnV0dG9u
ID09IC0yID8gMCA6IHN5bnRoZXRpY0NsaWNrVHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Nb3VzZUV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5oCmlu
ZGV4IDQzYjZjZWJjZThjNjJiN2NmNjVmZTk0MTE3ODI2NzVhOWIyOWFmZTUuLjM2MWRiMmVjMTRh
MDRkZjJhYjA2NzBiNTU1YjIwMmVjMjEzOTFhMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Nb3VzZUV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuaApA
QCAtOTMsNyArOTMsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIEV2ZW50VGFyZ2V0KiByZWxhdGVk
VGFyZ2V0LCBkb3VibGUgZm9yY2UsIHVuc2lnbmVkIHNob3J0IHN5bnRoZXRpY0NsaWNrVHlwZSwg
SXNTaW11bGF0ZWQsIElzVHJ1c3RlZCk7CiAKICAgICBNb3VzZUV2ZW50KGNvbnN0IEF0b21TdHJp
bmcmIHR5cGUsIENhbkJ1YmJsZSwgSXNDYW5jZWxhYmxlLCBJc0NvbXBvc2VkLCBSZWZQdHI8V2lu
ZG93UHJveHk+JiYsIGludCBkZXRhaWwsCi0gICAgICAgIGNvbnN0IEludFBvaW50JiBzY3JlZW5M
b2NhdGlvbiwgY29uc3QgSW50UG9pbnQmIGNsaWVudExvY2F0aW9uLCBPcHRpb25TZXQ8TW9kaWZp
ZXI+LCBzaG9ydCBidXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsCisgICAgICAgIGNvbnN0
IEludFBvaW50JiBzY3JlZW5Mb2NhdGlvbiwgY29uc3QgSW50UG9pbnQmIGNsaWVudExvY2F0aW9u
LCBjb25zdCBJbnRQb2ludCYgbW92ZW1lbnREZWx0YSwgT3B0aW9uU2V0PE1vZGlmaWVyPiwgc2hv
cnQgYnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLAogICAgICAgICB1bnNpZ25lZCBzaG9y
dCBzeW50aGV0aWNDbGlja1R5cGUsIEV2ZW50VGFyZ2V0KiByZWxhdGVkVGFyZ2V0KTsKIAogICAg
IE1vdXNlRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgTW91c2VFdmVudEluaXQm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZVJlbGF0ZWRFdmVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VSZWxhdGVkRXZlbnQuY3BwCmluZGV4IDI3NTQ5MmY5
ZmJkNzY0ZTcxYmM3ODg0OTMyZDUwZjY1Y2Y4NDc2YzIuLjIzYTIwNjNiZDkxYTE1MzExYzRjYTZi
NzUzMGM0NzZjNzYyNjdlZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZVJl
bGF0ZWRFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50
LmNwcApAQCAtNDEsMTQgKzQxLDkgQEAgTW91c2VSZWxhdGVkRXZlbnQ6Ok1vdXNlUmVsYXRlZEV2
ZW50KGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgQ2FuQnViYmxlIGNhbkIKICAgICBjb25z
dCBJbnRQb2ludCYgc2NyZWVuTG9jYXRpb24sIGNvbnN0IEludFBvaW50JiB3aW5kb3dMb2NhdGlv
biwgY29uc3QgSW50UG9pbnQmIG1vdmVtZW50RGVsdGEsIE9wdGlvblNldDxNb2RpZmllcj4gbW9k
aWZpZXJzLCBJc1NpbXVsYXRlZCBpc1NpbXVsYXRlZCwgSXNUcnVzdGVkIGlzVHJ1c3RlZCkKICAg
ICA6IFVJRXZlbnRXaXRoS2V5U3RhdGUoZXZlbnRUeXBlLCBjYW5CdWJibGUsIGlzQ2FuY2VsYWJs
ZSwgaXNDb21wb3NlZCwgdGltZXN0YW1wLCBXVEZNb3ZlKHZpZXcpLCBkZXRhaWwsIG1vZGlmaWVy
cywgaXNUcnVzdGVkKQogICAgICwgbV9zY3JlZW5Mb2NhdGlvbihzY3JlZW5Mb2NhdGlvbikKLSNp
ZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQogICAgICwgbV9tb3ZlbWVudERlbHRhKG1vdmVtZW50RGVs
dGEpCi0jZW5kaWYKICAgICAsIG1faXNTaW11bGF0ZWQoaXNTaW11bGF0ZWQgPT0gSXNTaW11bGF0
ZWQ6OlllcykKIHsKLSNpZiAhRU5BQkxFKFBPSU5URVJfTE9DSykKLSAgICBVTlVTRURfUEFSQU0o
bW92ZW1lbnREZWx0YSk7Ci0jZW5kaWYKICAgICBpbml0KG1faXNTaW11bGF0ZWQsIHdpbmRvd0xv
Y2F0aW9uKTsKIH0KIApAQCAtNjEsOSArNTYsNyBAQCBNb3VzZVJlbGF0ZWRFdmVudDo6TW91c2VS
ZWxhdGVkRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgSXNDYW5jZWxhYmxlIGlzQ2FuYwog
TW91c2VSZWxhdGVkRXZlbnQ6Ok1vdXNlUmVsYXRlZEV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIGV2
ZW50VHlwZSwgY29uc3QgTW91c2VSZWxhdGVkRXZlbnRJbml0JiBpbml0aWFsaXplciwgSXNUcnVz
dGVkIGlzVHJ1c3RlZCkKICAgICA6IFVJRXZlbnRXaXRoS2V5U3RhdGUoZXZlbnRUeXBlLCBpbml0
aWFsaXplcikKICAgICAsIG1fc2NyZWVuTG9jYXRpb24oSW50UG9pbnQoaW5pdGlhbGl6ZXIuc2Ny
ZWVuWCwgaW5pdGlhbGl6ZXIuc2NyZWVuWSkpCi0jaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKICAg
ICAsIG1fbW92ZW1lbnREZWx0YShJbnRQb2ludCgwLCAwKSkKLSNlbmRpZgogewogICAgIEFTU0VS
VF9VTlVTRUQoaXNUcnVzdGVkLCBpc1RydXN0ZWQgPT0gSXNUcnVzdGVkOjpObyk7CiAgICAgaW5p
dChmYWxzZSwgSW50UG9pbnQoMCwgMCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L01vdXNlUmVsYXRlZEV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VSZWxhdGVkRXZl
bnQuaAppbmRleCBkOGYxYTQwYzIwNTNkZjQ0MWFiZWE4MGI5ZjU0MmNhYzYwZWViNGE2Li41ZDc0
ODc3Y2Q4MzNiYjNjNjNjYzBkZDkwZWVjNzEyZTU0MWM2NWI1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTW91c2VSZWxhdGVkRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
TW91c2VSZWxhdGVkRXZlbnQuaApAQCAtNDgsMTAgKzQ4LDkgQEAgcHVibGljOgogICAgIGNvbnN0
IEludFBvaW50JiBzY3JlZW5Mb2NhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fc2NyZWVuTG9jYXRp
b247IH0KICAgICBpbnQgY2xpZW50WCgpIGNvbnN0IHsgcmV0dXJuIG1fY2xpZW50TG9jYXRpb24u
eCgpOyB9CiAgICAgaW50IGNsaWVudFkoKSBjb25zdCB7IHJldHVybiBtX2NsaWVudExvY2F0aW9u
LnkoKTsgfQotI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCiAgICAgaW50IG1vdmVtZW50WCgpIGNv
bnN0IHsgcmV0dXJuIG1fbW92ZW1lbnREZWx0YS54KCk7IH0KICAgICBpbnQgbW92ZW1lbnRZKCkg
Y29uc3QgeyByZXR1cm4gbV9tb3ZlbWVudERlbHRhLnkoKTsgfQotI2VuZGlmCisKICAgICBjb25z
dCBMYXlvdXRQb2ludCYgY2xpZW50TG9jYXRpb24oKSBjb25zdCB7IHJldHVybiBtX2NsaWVudExv
Y2F0aW9uOyB9CiAgICAgaW50IGxheWVyWCgpIG92ZXJyaWRlOwogICAgIGludCBsYXllclkoKSBv
dmVycmlkZTsKQEAgLTk1LDkgKzk0LDcgQEAgcHJvdGVjdGVkOgogICAgIC8vIEV4cG9zZSB0aGVz
ZSBzbyBNb3VzZUV2ZW50Ojppbml0TW91c2VFdmVudCBjYW4gc2V0IHRoZW0uCiAgICAgSW50UG9p
bnQgbV9zY3JlZW5Mb2NhdGlvbjsKICAgICBMYXlvdXRQb2ludCBtX2NsaWVudExvY2F0aW9uOwot
I2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCiAgICAgTGF5b3V0UG9pbnQgbV9tb3ZlbWVudERlbHRh
OwotI2VuZGlmCiAKIHByaXZhdGU6CiAgICAgdm9pZCBpbml0KGJvb2wgaXNTaW11bGF0ZWQsIGNv
bnN0IEludFBvaW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUG9pbnRlckV2
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb2ludGVyRXZlbnQuY3BwCmluZGV4IGYyMTg3
OWZkZmJjNjRlN2QyZjExYWIwODRkNDY3OTRhOWU2MDExMTAuLjk0ZmQwMDNhYWE4MGNmZjVhN2Vh
ZGFmNGZiNGIxOTJkODJhOWVkMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb2lu
dGVyRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb2ludGVyRXZlbnQuY3BwCkBA
IC05Miw3ICs5Miw3IEBAIFBvaW50ZXJFdmVudDo6UG9pbnRlckV2ZW50KGNvbnN0IEF0b21TdHJp
bmcmIHR5cGUsIEluaXQmJiBpbml0aWFsaXplcikKIH0KIAogUG9pbnRlckV2ZW50OjpQb2ludGVy
RXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgc2hvcnQgYnV0dG9uLCBjb25zdCBNb3VzZUV2
ZW50JiBtb3VzZUV2ZW50LCBQb2ludGVySUQgcG9pbnRlcklkLCBjb25zdCBTdHJpbmcmIHBvaW50
ZXJUeXBlKQotICAgIDogTW91c2VFdmVudCh0eXBlLCB0eXBlQ2FuQnViYmxlKHR5cGUpLCB0eXBl
SXNDYW5jZWxhYmxlKHR5cGUpLCB0eXBlSXNDb21wb3NlZCh0eXBlKSwgbW91c2VFdmVudC52aWV3
KCksIG1vdXNlRXZlbnQuZGV0YWlsKCksIG1vdXNlRXZlbnQuc2NyZWVuTG9jYXRpb24oKSwgeyBt
b3VzZUV2ZW50LmNsaWVudFgoKSwgbW91c2VFdmVudC5jbGllbnRZKCkgfSwgbW91c2VFdmVudC5t
b2RpZmllcktleXMoKSwgYnV0dG9uLCBtb3VzZUV2ZW50LmJ1dHRvbnMoKSwgbW91c2VFdmVudC5z
eW50aGV0aWNDbGlja1R5cGUoKSwgbW91c2VFdmVudC5yZWxhdGVkVGFyZ2V0KCkpCisgICAgOiBN
b3VzZUV2ZW50KHR5cGUsIHR5cGVDYW5CdWJibGUodHlwZSksIHR5cGVJc0NhbmNlbGFibGUodHlw
ZSksIHR5cGVJc0NvbXBvc2VkKHR5cGUpLCBtb3VzZUV2ZW50LnZpZXcoKSwgbW91c2VFdmVudC5k
ZXRhaWwoKSwgbW91c2VFdmVudC5zY3JlZW5Mb2NhdGlvbigpLCB7IG1vdXNlRXZlbnQuY2xpZW50
WCgpLCBtb3VzZUV2ZW50LmNsaWVudFkoKSB9LCB7IG1vdXNlRXZlbnQubW92ZW1lbnRYKCksIG1v
dXNlRXZlbnQubW92ZW1lbnRZKCkgfSwgbW91c2VFdmVudC5tb2RpZmllcktleXMoKSwgYnV0dG9u
LCBtb3VzZUV2ZW50LmJ1dHRvbnMoKSwgbW91c2VFdmVudC5zeW50aGV0aWNDbGlja1R5cGUoKSwg
bW91c2VFdmVudC5yZWxhdGVkVGFyZ2V0KCkpCiAgICAgLCBtX3BvaW50ZXJJZChwb2ludGVySWQp
CiAgICAgLCBtX3BvaW50ZXJUeXBlKHBvaW50ZXJUeXBlKQogICAgICwgbV9pc1ByaW1hcnkodHJ1
ZSkKQEAgLTEwMCw3ICsxMDAsNyBAQCBQb2ludGVyRXZlbnQ6OlBvaW50ZXJFdmVudChjb25zdCBB
dG9tU3RyaW5nJiB0eXBlLCBzaG9ydCBidXR0b24sIGNvbnN0IE1vdXNlRXZlbgogfQogCiBQb2lu
dGVyRXZlbnQ6OlBvaW50ZXJFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBQb2ludGVySUQg
cG9pbnRlcklkLCBjb25zdCBTdHJpbmcmIHBvaW50ZXJUeXBlLCBJc1ByaW1hcnkgaXNQcmltYXJ5
KQotICAgIDogTW91c2VFdmVudCh0eXBlLCB0eXBlQ2FuQnViYmxlKHR5cGUpLCB0eXBlSXNDYW5j
ZWxhYmxlKHR5cGUpLCB0eXBlSXNDb21wb3NlZCh0eXBlKSwgbnVsbHB0ciwgMCwgeyB9LCB7IH0s
IHsgfSwgMCwgMCwgMCwgbnVsbHB0cikKKyAgICA6IE1vdXNlRXZlbnQodHlwZSwgdHlwZUNhbkJ1
YmJsZSh0eXBlKSwgdHlwZUlzQ2FuY2VsYWJsZSh0eXBlKSwgdHlwZUlzQ29tcG9zZWQodHlwZSks
IG51bGxwdHIsIDAsIHsgfSwgeyB9LCB7IH0sIHsgfSwgMCwgMCwgMCwgbnVsbHB0cikKICAgICAs
IG1fcG9pbnRlcklkKHBvaW50ZXJJZCkKICAgICAsIG1fcG9pbnRlclR5cGUocG9pbnRlclR5cGUp
CiAgICAgLCBtX2lzUHJpbWFyeShpc1ByaW1hcnkgPT0gSXNQcmltYXJ5OjpZZXMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggN2QyZTU2ODllNGY5MzJkYmQxM2I0NTdlMzE5
NTdkMTU4MDZkYmQwZS4uOTk2ZTE4MTgyMTYwYWQwZjFmN2Q0OTAzNzIzNzVmM2VmZjFmYWM3ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtMjI3MCwxMiArMjI3MCw3IEBA
IGJvb2wgRXZlbnRIYW5kbGVyOjpkaXNwYXRjaERyYWdFdmVudChjb25zdCBBdG9tU3RyaW5nJiBl
dmVudFR5cGUsIEVsZW1lbnQmIGRyYWdUCiAKICAgICBhdXRvIGRyYWdFdmVudCA9IERyYWdFdmVu
dDo6Y3JlYXRlKGV2ZW50VHlwZSwgRXZlbnQ6OkNhbkJ1YmJsZTo6WWVzLCBFdmVudDo6SXNDYW5j
ZWxhYmxlOjpZZXMsIEV2ZW50OjpJc0NvbXBvc2VkOjpZZXMsCiAgICAgICAgIGV2ZW50LnRpbWVz
dGFtcCgpLmFwcHJveGltYXRlTW9ub3RvbmljVGltZSgpLCAmbV9mcmFtZS53aW5kb3dQcm94eSgp
LCAwLAotICAgICAgICBldmVudC5nbG9iYWxQb3NpdGlvbigpLCBldmVudC5wb3NpdGlvbigpLAot
I2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCi0gICAgICAgIGV2ZW50Lm1vdmVtZW50RGVsdGEoKSwK
LSNlbHNlCi0gICAgICAgIHsgfSwKLSNlbmRpZgorICAgICAgICBldmVudC5nbG9iYWxQb3NpdGlv
bigpLCBldmVudC5wb3NpdGlvbigpLCBldmVudC5tb3ZlbWVudERlbHRhKCksCiAgICAgICAgIGV2
ZW50Lm1vZGlmaWVycygpLCAwLCAwLCBudWxscHRyLCBldmVudC5mb3JjZSgpLCBOb1RhcCwgJmRh
dGFUcmFuc2Zlcik7CiAKICAgICBkcmFnVGFyZ2V0LmRpc3BhdGNoRXZlbnQoZHJhZ0V2ZW50KTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzNDQw
Y2YzNmM0YzBkZjdmMjAxYjRmOWI0N2U5ZDExN2VkNTMzZTNhLi5hMjVkOWFkYWZkNmQ2YTZkZDI3
NjUwODYzMTNjYWM2M2FiM2ZhYzliIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjItMDItMDggIERldmluIFJvdXNz
byAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIGBQb2ludGVyRXZlbnQubW92ZW1lbnRY
YCBhbHdheXMgMCAoYnJlYWtzIGh0dHBzOi8vbm9pc2VjcmFmdC5hcHAvKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwMTk0CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS83MjgxNDQ0MD4KKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIu
CisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL21hYy9FdmVudFNlbmRlclByb3h5Lm1tOgor
ICAgICAgICAoV1RSOjpFdmVudFNlbmRlclByb3h5Ojptb3VzZU1vdmVUbyk6CisgICAgICAgIE9u
IG1hY09TLCB0aGUgc2NyZWVuJ3Mgb3JpZ2luIGlzIHRoZSBib3R0b20tbGVmdCBjb3JuZXIsIHNv
IHdlIG5lZWQgdG8gZmxpcCB0aGUgYGRlbHRhWWAuCisKIDIwMjItMDMtMjMgIEpvbiBMZWUgIDxq
b25sZWVAYXBwbGUuY29tPgogCiAgICAgICAgIFR1cm4gRE9NIGluIEdQVSBQcm9jZXNzIG9uIGJ5
IGRlZmF1bHQgb24gaU9TIGxheW91dCB0ZXN0cwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9tYWMvRXZlbnRTZW5kZXJQcm94eS5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
bWFjL0V2ZW50U2VuZGVyUHJveHkubW0KaW5kZXggNzJmODBmOGM3MDI0NThlNTE3ZmNmMWJhMjA0
YzJiYTc0ZDE0ZDlkZi4uM2EyMzFiMTY4NTgzY2ZjMzc4ZmI2N2ZmNDJiMTA4Yzc0N2RkMDczMyAx
MDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvRXZlbnRTZW5kZXJQcm94eS5t
bQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9FdmVudFNlbmRlclByb3h5Lm1tCkBA
IC02MDEsNyArNjAxLDcgQEAgdm9pZCBFdmVudFNlbmRlclByb3h5Ojptb3VzZU1vdmVUbyhkb3Vi
bGUgeCwgZG91YmxlIHksIFdLU3RyaW5nUmVmIHBvaW50ZXJUeXBlKQogCiAgICAgQ0dFdmVudFJl
ZiBjZ0V2ZW50ID0gZXZlbnQuQ0dFdmVudDsKICAgICBDR0V2ZW50U2V0SW50ZWdlclZhbHVlRmll
bGQoY2dFdmVudCwga0NHTW91c2VFdmVudERlbHRhWCwgbmV3TW91c2VQb3NpdGlvbi54IC0gbV9w
b3NpdGlvbi54KTsKLSAgICBDR0V2ZW50U2V0SW50ZWdlclZhbHVlRmllbGQoY2dFdmVudCwga0NH
TW91c2VFdmVudERlbHRhWSwgbmV3TW91c2VQb3NpdGlvbi55IC0gbV9wb3NpdGlvbi55KTsKKyAg
ICBDR0V2ZW50U2V0SW50ZWdlclZhbHVlRmllbGQoY2dFdmVudCwga0NHTW91c2VFdmVudERlbHRh
WSwgLTEgKiAobmV3TW91c2VQb3NpdGlvbi55IC0gbV9wb3NpdGlvbi55KSk7CiAgICAgZXZlbnQg
PSBbTlNFdmVudCBldmVudFdpdGhDR0V2ZW50OmNnRXZlbnRdOwogICAgIG1fcG9zaXRpb24ueCA9
IG5ld01vdXNlUG9zaXRpb24ueDsKICAgICBtX3Bvc2l0aW9uLnkgPSBuZXdNb3VzZVBvc2l0aW9u
Lnk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggMzYzZGZkODEwYzgxNTAxMjUyZTMxMmQxYTc0YjJkMjE1ODc3ODIzYy4uYzNk
MTYyZjE0NjEwYTViYzYyZjJhMmM1YTFiNjUzODliNDVjNGY0ZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDIyLTAyLTA4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAg
ICAgICBgUG9pbnRlckV2ZW50Lm1vdmVtZW50WGAgYWx3YXlzIDAgKGJyZWFrcyBodHRwczovL25v
aXNlY3JhZnQuYXBwLykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyMDE5NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzI4MTQ0NDA+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgICogcG9pbnRlci1sb2NrL3Bv
aW50ZXJtb3ZlLW1vdmVtZW50LWRlbHRhLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBvaW50ZXIt
bG9jay9wb2ludGVybW92ZS1tb3ZlbWVudC1kZWx0YS1leHBlY3RlZC50eHQ6IEFkZGVkLgorCisg
ICAgICAgICogcG9pbnRlci1sb2NrL21vdXNlLWV2ZW50LWRlbGl2ZXJ5LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgIE9uIG1hY09TLCB0aGUgc2NyZWVuJ3Mgb3JpZ2luIGlzIHRoZSBib3R0
b20tbGVmdCBjb3JuZXIsIHNvIHdlIG5lZWQgdG8gZmxpcCB0aGUgYGRlbHRhWWAuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ndGsvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVy
ZXZlbnRzL3BvaW50ZXJsb2NrL3BvaW50ZXJldmVudF9tb3ZlbWVudHh5X3dpdGhfcG9pbnRlcmxv
Y2stZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgVGhpcyBjaGFuZ2UgY2F1c2VzIHRoZSB0
ZXN0IHRvIHByb2dyZXNzIGZ1cnRoZXIgdGhhbiBiZWZvcmUsIGJ1dCB0aGVyZSBzdGlsbCBhcHBl
YXIgdG8gYmUKKyAgICAgICAgb3RoZXIgaXNzdWVzIGVsc2V3aGVyZSwgc28gYWRqdXN0IHRoZSBl
eHBlY3RlZCBvdXRwdXQgdG8gcmVmbGVjdCB0aGF0LgorCiAyMDIyLTAzLTIzICBSb2JlcnQgSmVu
bmVyICA8SmVubmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBbIGlPUyBFV1MgXSBlZGl0aW5nL2Rl
bGV0aW5nL2luc2VydC1pbi1vcnBoYW5lZC1zZWxlY3Rpb24tY3Jhc2guaHRtbCBpcyBhIGNvbnN0
YW50IHRleHQgZmFpbHVyZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggYWQ5MWY4
ODk5NTJmY2VkOGRmYmI2OWE5YTU0YmQzMzQwM2ZiNTU1Zi4uODQ5NzIzOTlmM2Y4MTE3ZDAwZWIy
OWFhMjlhYjc3ZjkzYzc2NWQzMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMjItMDItMDggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIGBQb2ludGVyRXZlbnQubW92ZW1lbnRYYCBhbHdheXMgMCAoYnJlYWtzIGh0
dHBzOi8vbm9pc2VjcmFmdC5hcHAvKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjIwMTk0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MjgxNDQ0MD4K
KworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9wb2ludGVybG9jay9wb2ludGVyZXZlbnRfbW92ZW1l
bnR4eV93aXRoX3BvaW50ZXJsb2NrLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgVGhpcyBjaGFuZ2Ug
Y2F1c2VzIHRoZSB0ZXN0IHRvIHByb2dyZXNzIGZ1cnRoZXIgdGhhbiBiZWZvcmUsIGJ1dCB0aGVy
ZSBzdGlsbCBhcHBlYXIgdG8gYmUKKyAgICAgICAgb3RoZXIgaXNzdWVzIGVsc2V3aGVyZSwgc28g
YWRqdXN0IHRoZSBleHBlY3RlZCBvdXRwdXQgdG8gcmVmbGVjdCB0aGF0LgorCiAyMDIyLTAzLTIz
ICBaaXJhbiBTdW4gIDx6c3VuQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0lucHV0RWxlbWVudF0g
QWRkIEhUTUxJbnB1dEVsZW1lbnQ6OnNob3dQaWNrZXIoKSBtZXRob2QKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9w
b2ludGVybG9jay9wb2ludGVyZXZlbnRfbW92ZW1lbnR4eV93aXRoX3BvaW50ZXJsb2NrLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9p
bnRlcmV2ZW50cy9wb2ludGVybG9jay9wb2ludGVyZXZlbnRfbW92ZW1lbnR4eV93aXRoX3BvaW50
ZXJsb2NrLWV4cGVjdGVkLnR4dAppbmRleCBlNTNkZTBkOGM5YTdlYmEzMzQzYmY5OTkxNmJhODMw
MjFkMjYzZWNlLi43NTlhMDk0MzEyNzMzYTM5YjY5NTJkMTNjMjIxMWQ5MzAwOTQzNTdhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50
ZXJldmVudHMvcG9pbnRlcmxvY2svcG9pbnRlcmV2ZW50X21vdmVtZW50eHlfd2l0aF9wb2ludGVy
bG9jay1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL3BvaW50ZXJsb2NrL3BvaW50ZXJldmVudF9tb3ZlbWVu
dHh5X3dpdGhfcG9pbnRlcmxvY2stZXhwZWN0ZWQudHh0CkBAIC0xMiw1ICsxMiw1IEBAIENsaWNr
IGxlZnQgYnV0dG9uIGFnYWluIHRvIGVuZCB0aGUgdGVzdC4KIFRlc3QgcGFzc2VzIGlmIHRoZSBw
cm9wZXIgYmVoYXZpb3Igb2YgdGhlIGV2ZW50cyBpcyBvYnNlcnZlZC4KIAogCi1GQUlMIG1vdXNl
IHBvaW50ZXJldmVudCBtb3ZlbWVudFgvWSB3aXRoIHBvaW50ZXJsb2NrIHRlc3QgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDEwCitGQUlMIG1vdXNlIHBvaW50ZXJldmVudCBtb3Zl
bWVudFgvWSB3aXRoIHBvaW50ZXJsb2NrIHRlc3QgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgLTk5
OTEgYnV0IGdvdCAtOTk4MQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL3BvaW50ZXJsb2Nr
L3BvaW50ZXJldmVudF9tb3ZlbWVudHh5X3dpdGhfcG9pbnRlcmxvY2stZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cG9pbnRlcmV2ZW50cy9wb2ludGVybG9jay9wb2ludGVyZXZlbnRfbW92ZW1lbnR4eV93aXRoX3Bv
aW50ZXJsb2NrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZDhkNjBhNmVhMGUzZDQzNGEwNDU3
YzljOWVlNzg2YzMzNGU2YjVhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9wb2lu
dGVybG9jay9wb2ludGVyZXZlbnRfbW92ZW1lbnR4eV93aXRoX3BvaW50ZXJsb2NrLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDE2IEBACitQb2ludGVyIEV2ZW50cyBtb3ZlbWVudCB3aXRoIHBvaW50
ZXJsb2NrIHRlc3QKKworRm9sbG93IHRoZSB0ZXN0IGluc3RydWN0aW9ucyB3aXRoIG1vdXNlLiBJ
ZiB5b3UgZG9uJ3QgaGF2ZSB0aGUgZGV2aWNlIHNraXAgaXQuCisKK1Rlc3QgRGVzY3JpcHRpb246
IFRoaXMgdGVzdCBjaGVja3MgcG9pbnRlcmV2ZW50IG1vdmVtZW50WC9ZIHZhbHVlIHdpdGggcG9p
bnRlcmxvY2suIEl0IGNoZWNrcyB3aGV0aGVyIG1vdmVtZW50IFgvWSBtYXRjaGVzIGV2ZW50LnNj
cmVlblgvWSAtIGxhc3RfZXZlbnQuc2NyZWVuWC9ZIHdoZW4gcG9pbnRlciBpcyBub3QgbG9ja2Vk
OyBBbmQgaWYgcG9pbnRlcm1vdmUubW92ZW1lbnRYL1kgbWF0Y2hlcyBtb3VzZW1vdmUubW92ZW1l
bnRYL1kgd2hlbiBwb2ludGVyIGlzIGxvY2tlZC4KK01vdmUgdGhlIG1vdXNlIGluc2lkZSB0aGUg
Z3JlZW4gcmVjdGFuZ2xlLgorQ2xpY2sgbGVmdCBidXR0b24gb24gdGhlIGdyZWVuIHJlY3Rhbmds
ZS4oRW50ZXIgcG9pbnRlcmxvY2spCitNb3ZlIHRoZSBtb3VzZSBhcm91bmQuCitDbGljayBsZWZ0
IGJ1dHRvbiBhZ2FpbgorTW92ZSB0aGUgbW91c2UgaW5zaWRlIHRoZSBncmVlbiByZWN0YW5nbGUu
CitDbGljayBsZWZ0IGJ1dHRvbiBhZ2FpbiB0byBlbmQgdGhlIHRlc3QuCitUZXN0IHBhc3NlcyBp
ZiB0aGUgcHJvcGVyIGJlaGF2aW9yIG9mIHRoZSBldmVudHMgaXMgb2JzZXJ2ZWQuCisKKworRkFJ
TCBtb3VzZSBwb2ludGVyZXZlbnQgbW92ZW1lbnRYL1kgd2l0aCBwb2ludGVybG9jayB0ZXN0IGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkIDkgYnV0IGdvdCAxOQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wb2ludGVyLWxvY2svbW91c2UtZXZlbnQtZGVsaXZlcnktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcG9pbnRlci1sb2NrL21vdXNlLWV2ZW50LWRlbGl2ZXJ5LWV4cGVjdGVkLnR4dApp
bmRleCA1NWNkYWI4ZjdmMzljMDliNDNiMDQ0YWU1MTMyNTlkMzE1ZWIxYWZkLi42MjA3NTkyZDk1
NWU4YWIzZDUwMzRlOTZjZjA4ZmE2YjRhMjlkMGJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
b2ludGVyLWxvY2svbW91c2UtZXZlbnQtZGVsaXZlcnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL3BvaW50ZXItbG9jay9tb3VzZS1ldmVudC1kZWxpdmVyeS1leHBlY3RlZC50eHQKQEAg
LTksOCArOSw4IEBAIFBBU1MgZG9jdW1lbnQucG9pbnRlckxvY2tFbGVtZW50IGlzIHRhcmdldGRp
djEKIFBBU1MgZXZlbnQgdHlwZTogd2hlZWwsIHRhcmdldDogdGFyZ2V0MSwgcmVjZWl2ZWQgb246
IHRhcmdldDEKIFBBU1MgZXZlbnQgdHlwZTogd2hlZWwsIHRhcmdldDogdGFyZ2V0MSwgcmVjZWl2
ZWQgb246IGJvZHkKICAgICAgV2l0aCBhIGxvY2sgaW4gcGxhY2UgbW92ZSB0aGUgbW91c2UuCi1Q
QVNTIGV2ZW50IHR5cGU6IG1vdXNlbW92ZSwgbW92ZW1lbnRYOiAyNSwgbW92ZW1lbnRZOiAtMzAs
IHRhcmdldDogdGFyZ2V0MSwgcmVjZWl2ZWQgb246IHRhcmdldDEKLVBBU1MgZXZlbnQgdHlwZTog
bW91c2Vtb3ZlLCBtb3ZlbWVudFg6IDI1LCBtb3ZlbWVudFk6IC0zMCwgdGFyZ2V0OiB0YXJnZXQx
LCByZWNlaXZlZCBvbjogYm9keQorUEFTUyBldmVudCB0eXBlOiBtb3VzZW1vdmUsIG1vdmVtZW50
WDogMjUsIG1vdmVtZW50WTogMzAsIHRhcmdldDogdGFyZ2V0MSwgcmVjZWl2ZWQgb246IHRhcmdl
dDEKK1BBU1MgZXZlbnQgdHlwZTogbW91c2Vtb3ZlLCBtb3ZlbWVudFg6IDI1LCBtb3ZlbWVudFk6
IDMwLCB0YXJnZXQ6IHRhcmdldDEsIHJlY2VpdmVkIG9uOiBib2R5CiAgICAgIFdpdGggYSBsb2Nr
IGluIHBsYWNlIHNlbmQgYSBjbGljay4KIFBBU1MgZXZlbnQgdHlwZTogbW91c2Vkb3duLCB0YXJn
ZXQ6IHRhcmdldDEsIHJlY2VpdmVkIG9uOiB0YXJnZXQxCiBQQVNTIGV2ZW50IHR5cGU6IG1vdXNl
ZG93biwgdGFyZ2V0OiB0YXJnZXQxLCByZWNlaXZlZCBvbjogYm9keQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcG9pbnRlci1sb2NrL3BvaW50ZXJtb3ZlLW1vdmVtZW50LWRlbHRhLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BvaW50ZXItbG9jay9wb2ludGVybW92ZS1tb3ZlbWVudC1kZWx0
YS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGMzOWE2YzcxMDI3YzczNDEwYWZjN2VmNmU1NzZh
YTU3YzJiY2JiNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BvaW50ZXItbG9jay9w
b2ludGVybW92ZS1tb3ZlbWVudC1kZWx0YS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisK
K1BBU1MgVGVzdGluZyB0aGUgbW92ZW1lbnRYIGFuZCBtb3ZlbWVudFkgcHJvcGVydGllcyBvZiBh
IHBvaW50ZXIgZXZlbnQgdHJpZ2dlcmVkIGJ5IGEgbW91c2UuCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BvaW50ZXItbG9jay9wb2ludGVybW92ZS1tb3ZlbWVudC1kZWx0YS5odG1sIGIvTGF5
b3V0VGVzdHMvcG9pbnRlci1sb2NrL3BvaW50ZXJtb3ZlLW1vdmVtZW50LWRlbHRhLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYjBlOWQ0NjYxZThkOWZjZmY1NjgyYzM4N2Q1ZTI4NGMwNGM0ZDc2YQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3BvaW50ZXItbG9jay9wb2ludGVybW92ZS1tb3ZlbWVu
dC1kZWx0YS5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworInVzZSBzdHJpY3QiOwor
Cit0YXJnZXRfdGVzdCgodGFyZ2V0LCB0ZXN0KSA9PiB7CisgICAgZXZlbnRTZW5kZXIubW91c2VN
b3ZlVG8oMTAwLCAxMDApOworCisgICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJt
b3ZlIiwgKGV2ZW50KSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQueCwgMTUwLCAi
VGhlIHggcHJvcGVydHkgdmFsdWUgaXMgYXMgZXhwZWN0ZWQuIik7CisgICAgICAgIGFzc2VydF9l
cXVhbHMoZXZlbnQueSwgMTUwLCAiVGhlIHkgcHJvcGVydHkgdmFsdWUgaXMgYXMgZXhwZWN0ZWQu
Iik7CisKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhldmVudC5tb3ZlbWVudFgsIDUwLCAiVGhlIG1v
dmVtZW50WCBwcm9wZXJ0eSB2YWx1ZSBpcyBhcyBleHBlY3RlZC4iKTsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyhldmVudC5tb3ZlbWVudFksIDUwLCAiVGhlIG1vdmVtZW50WSBwcm9wZXJ0eSB2YWx1
ZSBpcyBhcyBleHBlY3RlZC4iKTsKKworICAgICAgICB0ZXN0LmRvbmUoKTsKKyAgICB9KTsKKwor
ICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDE1MCwgMTUwKTsKK30sICJUZXN0aW5nIHRoZSBt
b3ZlbWVudFggYW5kIG1vdmVtZW50WSBwcm9wZXJ0aWVzIG9mIGEgcG9pbnRlciBldmVudCB0cmln
Z2VyZWQgYnkgYSBtb3VzZS4iKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455654</attachid>
            <date>2022-03-24 10:54:14 -0700</date>
            <delta_ts>2022-03-24 17:08:51 -0700</delta_ts>
            <desc>[fast-cq] Patch</desc>
            <filename>220194.diff</filename>
            <type>text/plain</type>
            <size>19810</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmZmIzM2E3YjQ1ZjNmNzg2ZjYwMTlmNmZjMTIxNWM1YWI5YTM1YWYwLi5i
MjIxNWFiOThhNDMyN2ZhNDU0ZThlNTVmMGY4MmFmM2E2YzdmMGUyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzMgQEAKKzIwMjItMDItMDggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIGBQb2ludGVyRXZlbnQubW92ZW1lbnRYYCBhbHdheXMgMCAoYnJlYWtzIGh0
dHBzOi8vbm9pc2VjcmFmdC5hcHAvKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjIwMTk0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MjgxNDQ0MD4K
KworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgVGVzdDogcG9p
bnRlci1sb2NrL3BvaW50ZXJtb3ZlLW1vdmVtZW50LWRlbHRhLmh0bWwKKworICAgICAgICAqIGRv
bS9Qb2ludGVyRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UG9pbnRlckV2ZW50OjpQb2lu
dGVyRXZlbnQpOgorICAgICAgICBBbHNvIHBhc3MgYWxvbmcgdGhlIG1vdmVtZW50IGRlbHRhIGlu
IHRoZSBjb25zdHJ1Y3RvciB0aGF0IHRha2VzIGEgYE1vdXNlRXZlbnRgLgorCisgICAgICAgICog
ZG9tL01vdXNlRXZlbnQuaDoKKyAgICAgICAgKiBkb20vTW91c2VFdmVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNb3VzZUV2ZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TW91c2VF
dmVudDo6TW91c2VFdmVudCk6CisgICAgICAgIFJlcXVpcmUgdGhhdCBhbGwgY29uc3RydWN0b3Jz
IHRoYXQgYXJlbid0IGludm9rZWQgZnJvbSBKUyBhbHdheXMgcHJvdmlkZSBhIG1vdmVtZW50IGRl
bHRhLgorCisgICAgICAgICogZG9tL01vdXNlUmVsYXRlZEV2ZW50Lmg6CisgICAgICAgIChXZWJD
b3JlOjpNb3VzZVJlbGF0ZWRFdmVudDo6bW92ZW1lbnRYIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6Ok1vdXNlUmVsYXRlZEV2ZW50Ojptb3ZlbWVudFkgY29uc3QpOgorICAgICAgICBFeHBvc2Ug
dGhlc2UgbWV0aG9kcyBldmVuIHdoZW4gYCFFTkFCTEUoUE9JTlRFUl9MT0NLKWAgc28gdGhhdCB0
aGV5IGNhbiBiZSBjYWxsZWQgd2l0aG91dAorICAgICAgICB0aGUgY2FsbHNpdGUgaGF2aW5nIHRv
IGFsc28gaGF2ZSBhIGAjaWZgLgorCisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpkaXNwYXRjaERyYWdFdmVudCk6CisgICAg
ICAgIFBhc3MgYWxvbmcgdGhlIG1vdmVtZW50IGRlbHRhIGV2ZW4gd2hlbiBgIUVOQUJMRShQT0lO
VEVSX0xPQ0spYC4KKwogMjAyMi0wMy0yMyAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNv
bT4KIAogICAgICAgICBbQ29jb2FdIE1TRS1iYWNrZWQgdmlkZW9zIGZhaWwgdG8gcGxheSBpbiBD
YXB0aXZlIFBvcnRhbCBtb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VF
dmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5jcHAKaW5kZXggNTlkMzlh
YjE5YzRhZjhiZmEyMjhhNjVkZTZlNTFhM2YzYjM0NzBkMi4uODg5Mjc0MWU5ZGJkODQyYzUyMmYx
ODZiNGVhZmFjY2VlNmYwZDE0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL01vdXNl
RXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmNwcApAQCAtNTYs
MTIgKzU2LDcgQEAgUmVmPE1vdXNlRXZlbnQ+IE1vdXNlRXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9t
U3RyaW5nJiBldmVudFR5cGUsIFJlZlB0cjxXaW5kb3dQcm8KICAgICBhdXRvIGlzQ29tcG9zZWQg
PSAhaXNNb3VzZUVudGVyT3JMZWF2ZSA/IElzQ29tcG9zZWQ6OlllcyA6IElzQ29tcG9zZWQ6Ok5v
OwogCiAgICAgcmV0dXJuIE1vdXNlRXZlbnQ6OmNyZWF0ZShldmVudFR5cGUsIGNhbkJ1YmJsZSwg
aXNDYW5jZWxhYmxlLCBpc0NvbXBvc2VkLCBldmVudC50aW1lc3RhbXAoKS5hcHByb3hpbWF0ZU1v
bm90b25pY1RpbWUoKSwgV1RGTW92ZSh2aWV3KSwgZGV0YWlsLAotICAgICAgICBldmVudC5nbG9i
YWxQb3NpdGlvbigpLCBldmVudC5wb3NpdGlvbigpLAotI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0sp
Ci0gICAgICAgIGV2ZW50Lm1vdmVtZW50RGVsdGEoKSwKLSNlbHNlCi0gICAgICAgIHsgfSwKLSNl
bmRpZgorICAgICAgICBldmVudC5nbG9iYWxQb3NpdGlvbigpLCBldmVudC5wb3NpdGlvbigpLCBl
dmVudC5tb3ZlbWVudERlbHRhKCksCiAgICAgICAgIGV2ZW50Lm1vZGlmaWVycygpLCBldmVudC5i
dXR0b24oKSwgZXZlbnQuYnV0dG9ucygpLCByZWxhdGVkVGFyZ2V0LCBldmVudC5mb3JjZSgpLCBl
dmVudC5zeW50aGV0aWNDbGlja1R5cGUoKSk7CiB9CiAKQEAgLTc3LDcgKzcyLDcgQEAgUmVmPE1v
dXNlRXZlbnQ+IE1vdXNlRXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUs
IENhbkJ1YmJsZSBjYW5CdWIKICAgICBpbnQgc2NyZWVuWCwgaW50IHNjcmVlblksIGludCBjbGll
bnRYLCBpbnQgY2xpZW50WSwgT3B0aW9uU2V0PE1vZGlmaWVyPiBtb2RpZmllcnMsIHNob3J0IGJ1
dHRvbiwgdW5zaWduZWQgc2hvcnQgYnV0dG9ucywKICAgICB1bnNpZ25lZCBzaG9ydCBzeW50aGV0
aWNDbGlja1R5cGUsIEV2ZW50VGFyZ2V0KiByZWxhdGVkVGFyZ2V0KQogewotICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IE1vdXNlRXZlbnQoZXZlbnRUeXBlLCBjYW5CdWJibGUsIGlzQ2FuY2VsYWJs
ZSwgaXNDb21wb3NlZCwgV1RGTW92ZSh2aWV3KSwgZGV0YWlsLCB7IHNjcmVlblgsIHNjcmVlblkg
fSwgeyBjbGllbnRYLCBjbGllbnRZIH0sIG1vZGlmaWVycywgYnV0dG9uLCBidXR0b25zLCBzeW50
aGV0aWNDbGlja1R5cGUsIHJlbGF0ZWRUYXJnZXQpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBNb3VzZUV2ZW50KGV2ZW50VHlwZSwgY2FuQnViYmxlLCBpc0NhbmNlbGFibGUsIGlzQ29tcG9z
ZWQsIFdURk1vdmUodmlldyksIGRldGFpbCwgeyBzY3JlZW5YLCBzY3JlZW5ZIH0sIHsgY2xpZW50
WCwgY2xpZW50WSB9LCB7IH0sIG1vZGlmaWVycywgYnV0dG9uLCBidXR0b25zLCBzeW50aGV0aWND
bGlja1R5cGUsIHJlbGF0ZWRUYXJnZXQpKTsKIH0KIAogTW91c2VFdmVudDo6TW91c2VFdmVudCgp
ID0gZGVmYXVsdDsKQEAgLTk3LDkgKzkyLDkgQEAgTW91c2VFdmVudDo6TW91c2VFdmVudChjb25z
dCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIENhbkJ1YmJsZSBjYW5CdWJibGUsIElzQ2FuY2UKIH0K
IAogTW91c2VFdmVudDo6TW91c2VFdmVudChjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIENh
bkJ1YmJsZSBjYW5CdWJibGUsIElzQ2FuY2VsYWJsZSBpc0NhbmNlbGFibGUsIElzQ29tcG9zZWQg
aXNDb21wb3NlZCwKLSAgICBSZWZQdHI8V2luZG93UHJveHk+JiYgdmlldywgaW50IGRldGFpbCwg
Y29uc3QgSW50UG9pbnQmIHNjcmVlbkxvY2F0aW9uLCBjb25zdCBJbnRQb2ludCYgY2xpZW50TG9j
YXRpb24sCisgICAgUmVmUHRyPFdpbmRvd1Byb3h5PiYmIHZpZXcsIGludCBkZXRhaWwsIGNvbnN0
IEludFBvaW50JiBzY3JlZW5Mb2NhdGlvbiwgY29uc3QgSW50UG9pbnQmIGNsaWVudExvY2F0aW9u
LCBjb25zdCBJbnRQb2ludCYgbW92ZW1lbnREZWx0YSwKICAgICBPcHRpb25TZXQ8TW9kaWZpZXI+
IG1vZGlmaWVycywgc2hvcnQgYnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLCB1bnNpZ25l
ZCBzaG9ydCBzeW50aGV0aWNDbGlja1R5cGUsIEV2ZW50VGFyZ2V0KiByZWxhdGVkVGFyZ2V0KQot
ICAgIDogTW91c2VSZWxhdGVkRXZlbnQoZXZlbnRUeXBlLCBjYW5CdWJibGUsIGlzQ2FuY2VsYWJs
ZSwgaXNDb21wb3NlZCwgTW9ub3RvbmljVGltZTo6bm93KCksIFdURk1vdmUodmlldyksIGRldGFp
bCwgc2NyZWVuTG9jYXRpb24sIHsgfSwgeyB9LCBtb2RpZmllcnMsIElzU2ltdWxhdGVkOjpObykK
KyAgICA6IE1vdXNlUmVsYXRlZEV2ZW50KGV2ZW50VHlwZSwgY2FuQnViYmxlLCBpc0NhbmNlbGFi
bGUsIGlzQ29tcG9zZWQsIE1vbm90b25pY1RpbWU6Om5vdygpLCBXVEZNb3ZlKHZpZXcpLCBkZXRh
aWwsIHNjcmVlbkxvY2F0aW9uLCB7IH0sIG1vdmVtZW50RGVsdGEsIG1vZGlmaWVycywgSXNTaW11
bGF0ZWQ6Ok5vKQogICAgICwgbV9idXR0b24oYnV0dG9uID09IC0yID8gMCA6IGJ1dHRvbikKICAg
ICAsIG1fYnV0dG9ucyhidXR0b25zKQogICAgICwgbV9zeW50aGV0aWNDbGlja1R5cGUoYnV0dG9u
ID09IC0yID8gMCA6IHN5bnRoZXRpY0NsaWNrVHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Nb3VzZUV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5oCmlu
ZGV4IDQzYjZjZWJjZThjNjJiN2NmNjVmZTk0MTE3ODI2NzVhOWIyOWFmZTUuLjM2MWRiMmVjMTRh
MDRkZjJhYjA2NzBiNTU1YjIwMmVjMjEzOTFhMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Nb3VzZUV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuaApA
QCAtOTMsNyArOTMsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIEV2ZW50VGFyZ2V0KiByZWxhdGVk
VGFyZ2V0LCBkb3VibGUgZm9yY2UsIHVuc2lnbmVkIHNob3J0IHN5bnRoZXRpY0NsaWNrVHlwZSwg
SXNTaW11bGF0ZWQsIElzVHJ1c3RlZCk7CiAKICAgICBNb3VzZUV2ZW50KGNvbnN0IEF0b21TdHJp
bmcmIHR5cGUsIENhbkJ1YmJsZSwgSXNDYW5jZWxhYmxlLCBJc0NvbXBvc2VkLCBSZWZQdHI8V2lu
ZG93UHJveHk+JiYsIGludCBkZXRhaWwsCi0gICAgICAgIGNvbnN0IEludFBvaW50JiBzY3JlZW5M
b2NhdGlvbiwgY29uc3QgSW50UG9pbnQmIGNsaWVudExvY2F0aW9uLCBPcHRpb25TZXQ8TW9kaWZp
ZXI+LCBzaG9ydCBidXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsCisgICAgICAgIGNvbnN0
IEludFBvaW50JiBzY3JlZW5Mb2NhdGlvbiwgY29uc3QgSW50UG9pbnQmIGNsaWVudExvY2F0aW9u
LCBjb25zdCBJbnRQb2ludCYgbW92ZW1lbnREZWx0YSwgT3B0aW9uU2V0PE1vZGlmaWVyPiwgc2hv
cnQgYnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLAogICAgICAgICB1bnNpZ25lZCBzaG9y
dCBzeW50aGV0aWNDbGlja1R5cGUsIEV2ZW50VGFyZ2V0KiByZWxhdGVkVGFyZ2V0KTsKIAogICAg
IE1vdXNlRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgTW91c2VFdmVudEluaXQm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZVJlbGF0ZWRFdmVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VSZWxhdGVkRXZlbnQuY3BwCmluZGV4IDI3NTQ5MmY5
ZmJkNzY0ZTcxYmM3ODg0OTMyZDUwZjY1Y2Y4NDc2YzIuLjIzYTIwNjNiZDkxYTE1MzExYzRjYTZi
NzUzMGM0NzZjNzYyNjdlZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZVJl
bGF0ZWRFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50
LmNwcApAQCAtNDEsMTQgKzQxLDkgQEAgTW91c2VSZWxhdGVkRXZlbnQ6Ok1vdXNlUmVsYXRlZEV2
ZW50KGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgQ2FuQnViYmxlIGNhbkIKICAgICBjb25z
dCBJbnRQb2ludCYgc2NyZWVuTG9jYXRpb24sIGNvbnN0IEludFBvaW50JiB3aW5kb3dMb2NhdGlv
biwgY29uc3QgSW50UG9pbnQmIG1vdmVtZW50RGVsdGEsIE9wdGlvblNldDxNb2RpZmllcj4gbW9k
aWZpZXJzLCBJc1NpbXVsYXRlZCBpc1NpbXVsYXRlZCwgSXNUcnVzdGVkIGlzVHJ1c3RlZCkKICAg
ICA6IFVJRXZlbnRXaXRoS2V5U3RhdGUoZXZlbnRUeXBlLCBjYW5CdWJibGUsIGlzQ2FuY2VsYWJs
ZSwgaXNDb21wb3NlZCwgdGltZXN0YW1wLCBXVEZNb3ZlKHZpZXcpLCBkZXRhaWwsIG1vZGlmaWVy
cywgaXNUcnVzdGVkKQogICAgICwgbV9zY3JlZW5Mb2NhdGlvbihzY3JlZW5Mb2NhdGlvbikKLSNp
ZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQogICAgICwgbV9tb3ZlbWVudERlbHRhKG1vdmVtZW50RGVs
dGEpCi0jZW5kaWYKICAgICAsIG1faXNTaW11bGF0ZWQoaXNTaW11bGF0ZWQgPT0gSXNTaW11bGF0
ZWQ6OlllcykKIHsKLSNpZiAhRU5BQkxFKFBPSU5URVJfTE9DSykKLSAgICBVTlVTRURfUEFSQU0o
bW92ZW1lbnREZWx0YSk7Ci0jZW5kaWYKICAgICBpbml0KG1faXNTaW11bGF0ZWQsIHdpbmRvd0xv
Y2F0aW9uKTsKIH0KIApAQCAtNjEsOSArNTYsNyBAQCBNb3VzZVJlbGF0ZWRFdmVudDo6TW91c2VS
ZWxhdGVkRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgSXNDYW5jZWxhYmxlIGlzQ2FuYwog
TW91c2VSZWxhdGVkRXZlbnQ6Ok1vdXNlUmVsYXRlZEV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIGV2
ZW50VHlwZSwgY29uc3QgTW91c2VSZWxhdGVkRXZlbnRJbml0JiBpbml0aWFsaXplciwgSXNUcnVz
dGVkIGlzVHJ1c3RlZCkKICAgICA6IFVJRXZlbnRXaXRoS2V5U3RhdGUoZXZlbnRUeXBlLCBpbml0
aWFsaXplcikKICAgICAsIG1fc2NyZWVuTG9jYXRpb24oSW50UG9pbnQoaW5pdGlhbGl6ZXIuc2Ny
ZWVuWCwgaW5pdGlhbGl6ZXIuc2NyZWVuWSkpCi0jaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKICAg
ICAsIG1fbW92ZW1lbnREZWx0YShJbnRQb2ludCgwLCAwKSkKLSNlbmRpZgogewogICAgIEFTU0VS
VF9VTlVTRUQoaXNUcnVzdGVkLCBpc1RydXN0ZWQgPT0gSXNUcnVzdGVkOjpObyk7CiAgICAgaW5p
dChmYWxzZSwgSW50UG9pbnQoMCwgMCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L01vdXNlUmVsYXRlZEV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VSZWxhdGVkRXZl
bnQuaAppbmRleCBkOGYxYTQwYzIwNTNkZjQ0MWFiZWE4MGI5ZjU0MmNhYzYwZWViNGE2Li41ZDc0
ODc3Y2Q4MzNiYjNjNjNjYzBkZDkwZWVjNzEyZTU0MWM2NWI1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTW91c2VSZWxhdGVkRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
TW91c2VSZWxhdGVkRXZlbnQuaApAQCAtNDgsMTAgKzQ4LDkgQEAgcHVibGljOgogICAgIGNvbnN0
IEludFBvaW50JiBzY3JlZW5Mb2NhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fc2NyZWVuTG9jYXRp
b247IH0KICAgICBpbnQgY2xpZW50WCgpIGNvbnN0IHsgcmV0dXJuIG1fY2xpZW50TG9jYXRpb24u
eCgpOyB9CiAgICAgaW50IGNsaWVudFkoKSBjb25zdCB7IHJldHVybiBtX2NsaWVudExvY2F0aW9u
LnkoKTsgfQotI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCiAgICAgaW50IG1vdmVtZW50WCgpIGNv
bnN0IHsgcmV0dXJuIG1fbW92ZW1lbnREZWx0YS54KCk7IH0KICAgICBpbnQgbW92ZW1lbnRZKCkg
Y29uc3QgeyByZXR1cm4gbV9tb3ZlbWVudERlbHRhLnkoKTsgfQotI2VuZGlmCisKICAgICBjb25z
dCBMYXlvdXRQb2ludCYgY2xpZW50TG9jYXRpb24oKSBjb25zdCB7IHJldHVybiBtX2NsaWVudExv
Y2F0aW9uOyB9CiAgICAgaW50IGxheWVyWCgpIG92ZXJyaWRlOwogICAgIGludCBsYXllclkoKSBv
dmVycmlkZTsKQEAgLTk1LDkgKzk0LDcgQEAgcHJvdGVjdGVkOgogICAgIC8vIEV4cG9zZSB0aGVz
ZSBzbyBNb3VzZUV2ZW50Ojppbml0TW91c2VFdmVudCBjYW4gc2V0IHRoZW0uCiAgICAgSW50UG9p
bnQgbV9zY3JlZW5Mb2NhdGlvbjsKICAgICBMYXlvdXRQb2ludCBtX2NsaWVudExvY2F0aW9uOwot
I2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCiAgICAgTGF5b3V0UG9pbnQgbV9tb3ZlbWVudERlbHRh
OwotI2VuZGlmCiAKIHByaXZhdGU6CiAgICAgdm9pZCBpbml0KGJvb2wgaXNTaW11bGF0ZWQsIGNv
bnN0IEludFBvaW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUG9pbnRlckV2
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb2ludGVyRXZlbnQuY3BwCmluZGV4IGYyMTg3
OWZkZmJjNjRlN2QyZjExYWIwODRkNDY3OTRhOWU2MDExMTAuLjk0ZmQwMDNhYWE4MGNmZjVhN2Vh
ZGFmNGZiNGIxOTJkODJhOWVkMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb2lu
dGVyRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb2ludGVyRXZlbnQuY3BwCkBA
IC05Miw3ICs5Miw3IEBAIFBvaW50ZXJFdmVudDo6UG9pbnRlckV2ZW50KGNvbnN0IEF0b21TdHJp
bmcmIHR5cGUsIEluaXQmJiBpbml0aWFsaXplcikKIH0KIAogUG9pbnRlckV2ZW50OjpQb2ludGVy
RXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgc2hvcnQgYnV0dG9uLCBjb25zdCBNb3VzZUV2
ZW50JiBtb3VzZUV2ZW50LCBQb2ludGVySUQgcG9pbnRlcklkLCBjb25zdCBTdHJpbmcmIHBvaW50
ZXJUeXBlKQotICAgIDogTW91c2VFdmVudCh0eXBlLCB0eXBlQ2FuQnViYmxlKHR5cGUpLCB0eXBl
SXNDYW5jZWxhYmxlKHR5cGUpLCB0eXBlSXNDb21wb3NlZCh0eXBlKSwgbW91c2VFdmVudC52aWV3
KCksIG1vdXNlRXZlbnQuZGV0YWlsKCksIG1vdXNlRXZlbnQuc2NyZWVuTG9jYXRpb24oKSwgeyBt
b3VzZUV2ZW50LmNsaWVudFgoKSwgbW91c2VFdmVudC5jbGllbnRZKCkgfSwgbW91c2VFdmVudC5t
b2RpZmllcktleXMoKSwgYnV0dG9uLCBtb3VzZUV2ZW50LmJ1dHRvbnMoKSwgbW91c2VFdmVudC5z
eW50aGV0aWNDbGlja1R5cGUoKSwgbW91c2VFdmVudC5yZWxhdGVkVGFyZ2V0KCkpCisgICAgOiBN
b3VzZUV2ZW50KHR5cGUsIHR5cGVDYW5CdWJibGUodHlwZSksIHR5cGVJc0NhbmNlbGFibGUodHlw
ZSksIHR5cGVJc0NvbXBvc2VkKHR5cGUpLCBtb3VzZUV2ZW50LnZpZXcoKSwgbW91c2VFdmVudC5k
ZXRhaWwoKSwgbW91c2VFdmVudC5zY3JlZW5Mb2NhdGlvbigpLCB7IG1vdXNlRXZlbnQuY2xpZW50
WCgpLCBtb3VzZUV2ZW50LmNsaWVudFkoKSB9LCB7IG1vdXNlRXZlbnQubW92ZW1lbnRYKCksIG1v
dXNlRXZlbnQubW92ZW1lbnRZKCkgfSwgbW91c2VFdmVudC5tb2RpZmllcktleXMoKSwgYnV0dG9u
LCBtb3VzZUV2ZW50LmJ1dHRvbnMoKSwgbW91c2VFdmVudC5zeW50aGV0aWNDbGlja1R5cGUoKSwg
bW91c2VFdmVudC5yZWxhdGVkVGFyZ2V0KCkpCiAgICAgLCBtX3BvaW50ZXJJZChwb2ludGVySWQp
CiAgICAgLCBtX3BvaW50ZXJUeXBlKHBvaW50ZXJUeXBlKQogICAgICwgbV9pc1ByaW1hcnkodHJ1
ZSkKQEAgLTEwMCw3ICsxMDAsNyBAQCBQb2ludGVyRXZlbnQ6OlBvaW50ZXJFdmVudChjb25zdCBB
dG9tU3RyaW5nJiB0eXBlLCBzaG9ydCBidXR0b24sIGNvbnN0IE1vdXNlRXZlbgogfQogCiBQb2lu
dGVyRXZlbnQ6OlBvaW50ZXJFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBQb2ludGVySUQg
cG9pbnRlcklkLCBjb25zdCBTdHJpbmcmIHBvaW50ZXJUeXBlLCBJc1ByaW1hcnkgaXNQcmltYXJ5
KQotICAgIDogTW91c2VFdmVudCh0eXBlLCB0eXBlQ2FuQnViYmxlKHR5cGUpLCB0eXBlSXNDYW5j
ZWxhYmxlKHR5cGUpLCB0eXBlSXNDb21wb3NlZCh0eXBlKSwgbnVsbHB0ciwgMCwgeyB9LCB7IH0s
IHsgfSwgMCwgMCwgMCwgbnVsbHB0cikKKyAgICA6IE1vdXNlRXZlbnQodHlwZSwgdHlwZUNhbkJ1
YmJsZSh0eXBlKSwgdHlwZUlzQ2FuY2VsYWJsZSh0eXBlKSwgdHlwZUlzQ29tcG9zZWQodHlwZSks
IG51bGxwdHIsIDAsIHsgfSwgeyB9LCB7IH0sIHsgfSwgMCwgMCwgMCwgbnVsbHB0cikKICAgICAs
IG1fcG9pbnRlcklkKHBvaW50ZXJJZCkKICAgICAsIG1fcG9pbnRlclR5cGUocG9pbnRlclR5cGUp
CiAgICAgLCBtX2lzUHJpbWFyeShpc1ByaW1hcnkgPT0gSXNQcmltYXJ5OjpZZXMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggN2QyZTU2ODllNGY5MzJkYmQxM2I0NTdlMzE5
NTdkMTU4MDZkYmQwZS4uOTk2ZTE4MTgyMTYwYWQwZjFmN2Q0OTAzNzIzNzVmM2VmZjFmYWM3ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtMjI3MCwxMiArMjI3MCw3IEBA
IGJvb2wgRXZlbnRIYW5kbGVyOjpkaXNwYXRjaERyYWdFdmVudChjb25zdCBBdG9tU3RyaW5nJiBl
dmVudFR5cGUsIEVsZW1lbnQmIGRyYWdUCiAKICAgICBhdXRvIGRyYWdFdmVudCA9IERyYWdFdmVu
dDo6Y3JlYXRlKGV2ZW50VHlwZSwgRXZlbnQ6OkNhbkJ1YmJsZTo6WWVzLCBFdmVudDo6SXNDYW5j
ZWxhYmxlOjpZZXMsIEV2ZW50OjpJc0NvbXBvc2VkOjpZZXMsCiAgICAgICAgIGV2ZW50LnRpbWVz
dGFtcCgpLmFwcHJveGltYXRlTW9ub3RvbmljVGltZSgpLCAmbV9mcmFtZS53aW5kb3dQcm94eSgp
LCAwLAotICAgICAgICBldmVudC5nbG9iYWxQb3NpdGlvbigpLCBldmVudC5wb3NpdGlvbigpLAot
I2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCi0gICAgICAgIGV2ZW50Lm1vdmVtZW50RGVsdGEoKSwK
LSNlbHNlCi0gICAgICAgIHsgfSwKLSNlbmRpZgorICAgICAgICBldmVudC5nbG9iYWxQb3NpdGlv
bigpLCBldmVudC5wb3NpdGlvbigpLCBldmVudC5tb3ZlbWVudERlbHRhKCksCiAgICAgICAgIGV2
ZW50Lm1vZGlmaWVycygpLCAwLCAwLCBudWxscHRyLCBldmVudC5mb3JjZSgpLCBOb1RhcCwgJmRh
dGFUcmFuc2Zlcik7CiAKICAgICBkcmFnVGFyZ2V0LmRpc3BhdGNoRXZlbnQoZHJhZ0V2ZW50KTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzNDQw
Y2YzNmM0YzBkZjdmMjAxYjRmOWI0N2U5ZDExN2VkNTMzZTNhLi5hMjVkOWFkYWZkNmQ2YTZkZDI3
NjUwODYzMTNjYWM2M2FiM2ZhYzliIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjItMDItMDggIERldmluIFJvdXNz
byAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIGBQb2ludGVyRXZlbnQubW92ZW1lbnRY
YCBhbHdheXMgMCAoYnJlYWtzIGh0dHBzOi8vbm9pc2VjcmFmdC5hcHAvKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwMTk0CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS83MjgxNDQ0MD4KKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIu
CisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL21hYy9FdmVudFNlbmRlclByb3h5Lm1tOgor
ICAgICAgICAoV1RSOjpFdmVudFNlbmRlclByb3h5Ojptb3VzZU1vdmVUbyk6CisgICAgICAgIE9u
IG1hY09TLCB0aGUgc2NyZWVuJ3Mgb3JpZ2luIGlzIHRoZSBib3R0b20tbGVmdCBjb3JuZXIsIHNv
IHdlIG5lZWQgdG8gZmxpcCB0aGUgYGRlbHRhWWAuCisKIDIwMjItMDMtMjMgIEpvbiBMZWUgIDxq
b25sZWVAYXBwbGUuY29tPgogCiAgICAgICAgIFR1cm4gRE9NIGluIEdQVSBQcm9jZXNzIG9uIGJ5
IGRlZmF1bHQgb24gaU9TIGxheW91dCB0ZXN0cwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9tYWMvRXZlbnRTZW5kZXJQcm94eS5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
bWFjL0V2ZW50U2VuZGVyUHJveHkubW0KaW5kZXggNzJmODBmOGM3MDI0NThlNTE3ZmNmMWJhMjA0
YzJiYTc0ZDE0ZDlkZi4uM2EyMzFiMTY4NTgzY2ZjMzc4ZmI2N2ZmNDJiMTA4Yzc0N2RkMDczMyAx
MDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvRXZlbnRTZW5kZXJQcm94eS5t
bQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9FdmVudFNlbmRlclByb3h5Lm1tCkBA
IC02MDEsNyArNjAxLDcgQEAgdm9pZCBFdmVudFNlbmRlclByb3h5Ojptb3VzZU1vdmVUbyhkb3Vi
bGUgeCwgZG91YmxlIHksIFdLU3RyaW5nUmVmIHBvaW50ZXJUeXBlKQogCiAgICAgQ0dFdmVudFJl
ZiBjZ0V2ZW50ID0gZXZlbnQuQ0dFdmVudDsKICAgICBDR0V2ZW50U2V0SW50ZWdlclZhbHVlRmll
bGQoY2dFdmVudCwga0NHTW91c2VFdmVudERlbHRhWCwgbmV3TW91c2VQb3NpdGlvbi54IC0gbV9w
b3NpdGlvbi54KTsKLSAgICBDR0V2ZW50U2V0SW50ZWdlclZhbHVlRmllbGQoY2dFdmVudCwga0NH
TW91c2VFdmVudERlbHRhWSwgbmV3TW91c2VQb3NpdGlvbi55IC0gbV9wb3NpdGlvbi55KTsKKyAg
ICBDR0V2ZW50U2V0SW50ZWdlclZhbHVlRmllbGQoY2dFdmVudCwga0NHTW91c2VFdmVudERlbHRh
WSwgLTEgKiAobmV3TW91c2VQb3NpdGlvbi55IC0gbV9wb3NpdGlvbi55KSk7CiAgICAgZXZlbnQg
PSBbTlNFdmVudCBldmVudFdpdGhDR0V2ZW50OmNnRXZlbnRdOwogICAgIG1fcG9zaXRpb24ueCA9
IG5ld01vdXNlUG9zaXRpb24ueDsKICAgICBtX3Bvc2l0aW9uLnkgPSBuZXdNb3VzZVBvc2l0aW9u
Lnk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggMzYzZGZkODEwYzgxNTAxMjUyZTMxMmQxYTc0YjJkMjE1ODc3ODIzYy4uYzNk
MTYyZjE0NjEwYTViYzYyZjJhMmM1YTFiNjUzODliNDVjNGY0ZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDIyLTAyLTA4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAg
ICAgICBgUG9pbnRlckV2ZW50Lm1vdmVtZW50WGAgYWx3YXlzIDAgKGJyZWFrcyBodHRwczovL25v
aXNlY3JhZnQuYXBwLykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyMDE5NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzI4MTQ0NDA+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgICogcG9pbnRlci1sb2NrL3Bv
aW50ZXJtb3ZlLW1vdmVtZW50LWRlbHRhLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBvaW50ZXIt
bG9jay9wb2ludGVybW92ZS1tb3ZlbWVudC1kZWx0YS1leHBlY3RlZC50eHQ6IEFkZGVkLgorCisg
ICAgICAgICogcG9pbnRlci1sb2NrL21vdXNlLWV2ZW50LWRlbGl2ZXJ5LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgIE9uIG1hY09TLCB0aGUgc2NyZWVuJ3Mgb3JpZ2luIGlzIHRoZSBib3R0
b20tbGVmdCBjb3JuZXIsIHNvIHdlIG5lZWQgdG8gZmxpcCB0aGUgYGRlbHRhWWAuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ndGsvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVy
ZXZlbnRzL3BvaW50ZXJsb2NrL3BvaW50ZXJldmVudF9tb3ZlbWVudHh5X3dpdGhfcG9pbnRlcmxv
Y2stZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgVGhpcyBjaGFuZ2UgY2F1c2VzIHRoZSB0
ZXN0IHRvIHByb2dyZXNzIGZ1cnRoZXIgdGhhbiBiZWZvcmUsIGJ1dCB0aGVyZSBzdGlsbCBhcHBl
YXIgdG8gYmUKKyAgICAgICAgb3RoZXIgaXNzdWVzIGVsc2V3aGVyZSwgc28gYWRqdXN0IHRoZSBl
eHBlY3RlZCBvdXRwdXQgdG8gcmVmbGVjdCB0aGF0LgorCiAyMDIyLTAzLTIzICBSb2JlcnQgSmVu
bmVyICA8SmVubmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBbIGlPUyBFV1MgXSBlZGl0aW5nL2Rl
bGV0aW5nL2luc2VydC1pbi1vcnBoYW5lZC1zZWxlY3Rpb24tY3Jhc2guaHRtbCBpcyBhIGNvbnN0
YW50IHRleHQgZmFpbHVyZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggYWQ5MWY4
ODk5NTJmY2VkOGRmYmI2OWE5YTU0YmQzMzQwM2ZiNTU1Zi4uODQ5NzIzOTlmM2Y4MTE3ZDAwZWIy
OWFhMjlhYjc3ZjkzYzc2NWQzMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMjItMDItMDggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIGBQb2ludGVyRXZlbnQubW92ZW1lbnRYYCBhbHdheXMgMCAoYnJlYWtzIGh0
dHBzOi8vbm9pc2VjcmFmdC5hcHAvKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjIwMTk0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MjgxNDQ0MD4K
KworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9wb2ludGVybG9jay9wb2ludGVyZXZlbnRfbW92ZW1l
bnR4eV93aXRoX3BvaW50ZXJsb2NrLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgVGhpcyBjaGFuZ2Ug
Y2F1c2VzIHRoZSB0ZXN0IHRvIHByb2dyZXNzIGZ1cnRoZXIgdGhhbiBiZWZvcmUsIGJ1dCB0aGVy
ZSBzdGlsbCBhcHBlYXIgdG8gYmUKKyAgICAgICAgb3RoZXIgaXNzdWVzIGVsc2V3aGVyZSwgc28g
YWRqdXN0IHRoZSBleHBlY3RlZCBvdXRwdXQgdG8gcmVmbGVjdCB0aGF0LgorCiAyMDIyLTAzLTIz
ICBaaXJhbiBTdW4gIDx6c3VuQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0lucHV0RWxlbWVudF0g
QWRkIEhUTUxJbnB1dEVsZW1lbnQ6OnNob3dQaWNrZXIoKSBtZXRob2QKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9w
b2ludGVybG9jay9wb2ludGVyZXZlbnRfbW92ZW1lbnR4eV93aXRoX3BvaW50ZXJsb2NrLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9p
bnRlcmV2ZW50cy9wb2ludGVybG9jay9wb2ludGVyZXZlbnRfbW92ZW1lbnR4eV93aXRoX3BvaW50
ZXJsb2NrLWV4cGVjdGVkLnR4dAppbmRleCBlNTNkZTBkOGM5YTdlYmEzMzQzYmY5OTkxNmJhODMw
MjFkMjYzZWNlLi43NTlhMDk0MzEyNzMzYTM5YjY5NTJkMTNjMjIxMWQ5MzAwOTQzNTdhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50
ZXJldmVudHMvcG9pbnRlcmxvY2svcG9pbnRlcmV2ZW50X21vdmVtZW50eHlfd2l0aF9wb2ludGVy
bG9jay1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL3BvaW50ZXJsb2NrL3BvaW50ZXJldmVudF9tb3ZlbWVu
dHh5X3dpdGhfcG9pbnRlcmxvY2stZXhwZWN0ZWQudHh0CkBAIC0xMiw1ICsxMiw1IEBAIENsaWNr
IGxlZnQgYnV0dG9uIGFnYWluIHRvIGVuZCB0aGUgdGVzdC4KIFRlc3QgcGFzc2VzIGlmIHRoZSBw
cm9wZXIgYmVoYXZpb3Igb2YgdGhlIGV2ZW50cyBpcyBvYnNlcnZlZC4KIAogCi1GQUlMIG1vdXNl
IHBvaW50ZXJldmVudCBtb3ZlbWVudFgvWSB3aXRoIHBvaW50ZXJsb2NrIHRlc3QgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDEwCitGQUlMIG1vdXNlIHBvaW50ZXJldmVudCBtb3Zl
bWVudFgvWSB3aXRoIHBvaW50ZXJsb2NrIHRlc3QgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgLTk5
OTEgYnV0IGdvdCAtOTk4MQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL3BvaW50ZXJsb2Nr
L3BvaW50ZXJldmVudF9tb3ZlbWVudHh5X3dpdGhfcG9pbnRlcmxvY2stZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cG9pbnRlcmV2ZW50cy9wb2ludGVybG9jay9wb2ludGVyZXZlbnRfbW92ZW1lbnR4eV93aXRoX3Bv
aW50ZXJsb2NrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZDhkNjBhNmVhMGUzZDQzNGEwNDU3
YzljOWVlNzg2YzMzNGU2YjVhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9wb2lu
dGVybG9jay9wb2ludGVyZXZlbnRfbW92ZW1lbnR4eV93aXRoX3BvaW50ZXJsb2NrLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDE2IEBACitQb2ludGVyIEV2ZW50cyBtb3ZlbWVudCB3aXRoIHBvaW50
ZXJsb2NrIHRlc3QKKworRm9sbG93IHRoZSB0ZXN0IGluc3RydWN0aW9ucyB3aXRoIG1vdXNlLiBJ
ZiB5b3UgZG9uJ3QgaGF2ZSB0aGUgZGV2aWNlIHNraXAgaXQuCisKK1Rlc3QgRGVzY3JpcHRpb246
IFRoaXMgdGVzdCBjaGVja3MgcG9pbnRlcmV2ZW50IG1vdmVtZW50WC9ZIHZhbHVlIHdpdGggcG9p
bnRlcmxvY2suIEl0IGNoZWNrcyB3aGV0aGVyIG1vdmVtZW50IFgvWSBtYXRjaGVzIGV2ZW50LnNj
cmVlblgvWSAtIGxhc3RfZXZlbnQuc2NyZWVuWC9ZIHdoZW4gcG9pbnRlciBpcyBub3QgbG9ja2Vk
OyBBbmQgaWYgcG9pbnRlcm1vdmUubW92ZW1lbnRYL1kgbWF0Y2hlcyBtb3VzZW1vdmUubW92ZW1l
bnRYL1kgd2hlbiBwb2ludGVyIGlzIGxvY2tlZC4KK01vdmUgdGhlIG1vdXNlIGluc2lkZSB0aGUg
Z3JlZW4gcmVjdGFuZ2xlLgorQ2xpY2sgbGVmdCBidXR0b24gb24gdGhlIGdyZWVuIHJlY3Rhbmds
ZS4oRW50ZXIgcG9pbnRlcmxvY2spCitNb3ZlIHRoZSBtb3VzZSBhcm91bmQuCitDbGljayBsZWZ0
IGJ1dHRvbiBhZ2FpbgorTW92ZSB0aGUgbW91c2UgaW5zaWRlIHRoZSBncmVlbiByZWN0YW5nbGUu
CitDbGljayBsZWZ0IGJ1dHRvbiBhZ2FpbiB0byBlbmQgdGhlIHRlc3QuCitUZXN0IHBhc3NlcyBp
ZiB0aGUgcHJvcGVyIGJlaGF2aW9yIG9mIHRoZSBldmVudHMgaXMgb2JzZXJ2ZWQuCisKKworRkFJ
TCBtb3VzZSBwb2ludGVyZXZlbnQgbW92ZW1lbnRYL1kgd2l0aCBwb2ludGVybG9jayB0ZXN0IGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkIDkgYnV0IGdvdCAxOQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wb2ludGVyLWxvY2svbW91c2UtZXZlbnQtZGVsaXZlcnktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcG9pbnRlci1sb2NrL21vdXNlLWV2ZW50LWRlbGl2ZXJ5LWV4cGVjdGVkLnR4dApp
bmRleCA1NWNkYWI4ZjdmMzljMDliNDNiMDQ0YWU1MTMyNTlkMzE1ZWIxYWZkLi42MjA3NTkyZDk1
NWU4YWIzZDUwMzRlOTZjZjA4ZmE2YjRhMjlkMGJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
b2ludGVyLWxvY2svbW91c2UtZXZlbnQtZGVsaXZlcnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL3BvaW50ZXItbG9jay9tb3VzZS1ldmVudC1kZWxpdmVyeS1leHBlY3RlZC50eHQKQEAg
LTksOCArOSw4IEBAIFBBU1MgZG9jdW1lbnQucG9pbnRlckxvY2tFbGVtZW50IGlzIHRhcmdldGRp
djEKIFBBU1MgZXZlbnQgdHlwZTogd2hlZWwsIHRhcmdldDogdGFyZ2V0MSwgcmVjZWl2ZWQgb246
IHRhcmdldDEKIFBBU1MgZXZlbnQgdHlwZTogd2hlZWwsIHRhcmdldDogdGFyZ2V0MSwgcmVjZWl2
ZWQgb246IGJvZHkKICAgICAgV2l0aCBhIGxvY2sgaW4gcGxhY2UgbW92ZSB0aGUgbW91c2UuCi1Q
QVNTIGV2ZW50IHR5cGU6IG1vdXNlbW92ZSwgbW92ZW1lbnRYOiAyNSwgbW92ZW1lbnRZOiAtMzAs
IHRhcmdldDogdGFyZ2V0MSwgcmVjZWl2ZWQgb246IHRhcmdldDEKLVBBU1MgZXZlbnQgdHlwZTog
bW91c2Vtb3ZlLCBtb3ZlbWVudFg6IDI1LCBtb3ZlbWVudFk6IC0zMCwgdGFyZ2V0OiB0YXJnZXQx
LCByZWNlaXZlZCBvbjogYm9keQorUEFTUyBldmVudCB0eXBlOiBtb3VzZW1vdmUsIG1vdmVtZW50
WDogMjUsIG1vdmVtZW50WTogMzAsIHRhcmdldDogdGFyZ2V0MSwgcmVjZWl2ZWQgb246IHRhcmdl
dDEKK1BBU1MgZXZlbnQgdHlwZTogbW91c2Vtb3ZlLCBtb3ZlbWVudFg6IDI1LCBtb3ZlbWVudFk6
IDMwLCB0YXJnZXQ6IHRhcmdldDEsIHJlY2VpdmVkIG9uOiBib2R5CiAgICAgIFdpdGggYSBsb2Nr
IGluIHBsYWNlIHNlbmQgYSBjbGljay4KIFBBU1MgZXZlbnQgdHlwZTogbW91c2Vkb3duLCB0YXJn
ZXQ6IHRhcmdldDEsIHJlY2VpdmVkIG9uOiB0YXJnZXQxCiBQQVNTIGV2ZW50IHR5cGU6IG1vdXNl
ZG93biwgdGFyZ2V0OiB0YXJnZXQxLCByZWNlaXZlZCBvbjogYm9keQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcG9pbnRlci1sb2NrL3BvaW50ZXJtb3ZlLW1vdmVtZW50LWRlbHRhLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BvaW50ZXItbG9jay9wb2ludGVybW92ZS1tb3ZlbWVudC1kZWx0
YS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGMzOWE2YzcxMDI3YzczNDEwYWZjN2VmNmU1NzZh
YTU3YzJiY2JiNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BvaW50ZXItbG9jay9w
b2ludGVybW92ZS1tb3ZlbWVudC1kZWx0YS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisK
K1BBU1MgVGVzdGluZyB0aGUgbW92ZW1lbnRYIGFuZCBtb3ZlbWVudFkgcHJvcGVydGllcyBvZiBh
IHBvaW50ZXIgZXZlbnQgdHJpZ2dlcmVkIGJ5IGEgbW91c2UuCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BvaW50ZXItbG9jay9wb2ludGVybW92ZS1tb3ZlbWVudC1kZWx0YS5odG1sIGIvTGF5
b3V0VGVzdHMvcG9pbnRlci1sb2NrL3BvaW50ZXJtb3ZlLW1vdmVtZW50LWRlbHRhLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYjBlOWQ0NjYxZThkOWZjZmY1NjgyYzM4N2Q1ZTI4NGMwNGM0ZDc2YQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3BvaW50ZXItbG9jay9wb2ludGVybW92ZS1tb3ZlbWVu
dC1kZWx0YS5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcG9pbnRlcmV2ZW50cy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCisidXNlIHN0
cmljdCI7CisKK3RhcmdldF90ZXN0KCh0YXJnZXQsIHRlc3QpID0+IHsKKyAgICBldmVudFNlbmRl
ci5tb3VzZU1vdmVUbygxMDAsIDEwMCk7CisKKyAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigi
cG9pbnRlcm1vdmUiLCAoZXZlbnQpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhldmVudC54
LCAxNTAsICJUaGUgeCBwcm9wZXJ0eSB2YWx1ZSBpcyBhcyBleHBlY3RlZC4iKTsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhldmVudC55LCAxNTAsICJUaGUgeSBwcm9wZXJ0eSB2YWx1ZSBpcyBhcyBl
eHBlY3RlZC4iKTsKKworICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50Lm1vdmVtZW50WCwgNTAs
ICJUaGUgbW92ZW1lbnRYIHByb3BlcnR5IHZhbHVlIGlzIGFzIGV4cGVjdGVkLiIpOworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGV2ZW50Lm1vdmVtZW50WSwgNTAsICJUaGUgbW92ZW1lbnRZIHByb3Bl
cnR5IHZhbHVlIGlzIGFzIGV4cGVjdGVkLiIpOworCisgICAgICAgIHRlc3QuZG9uZSgpOworICAg
IH0pOworCisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMTUwLCAxNTApOworfSwgIlRlc3Rp
bmcgdGhlIG1vdmVtZW50WCBhbmQgbW92ZW1lbnRZIHByb3BlcnRpZXMgb2YgYSBwb2ludGVyIGV2
ZW50IHRyaWdnZXJlZCBieSBhIG1vdXNlLiIpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455708</attachid>
            <date>2022-03-24 17:08:54 -0700</date>
            <delta_ts>2022-03-25 13:55:42 -0700</delta_ts>
            <desc>[fast-cq] Patch</desc>
            <filename>bug-220194-20220324180853.patch</filename>
            <type>text/plain</type>
            <size>21697</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBjZWU4YWFkOTZiMTczMDMwZDM0YWFkZGFkNTBmN2ZkMjhlZGQyNDBjLi41
OTRmMjM5ZjkwYzNhNzcwMGYxMzlmYWRjODJiNDFhZTJjMzJmOWZmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzMgQEAKKzIwMjItMDItMDggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIGBQb2ludGVyRXZlbnQubW92ZW1lbnRYYCBhbHdheXMgMCAoYnJlYWtzIGh0
dHBzOi8vbm9pc2VjcmFmdC5hcHAvKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjIwMTk0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MjgxNDQ0MD4K
KworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgVGVzdDogcG9p
bnRlci1sb2NrL3BvaW50ZXJtb3ZlLW1vdmVtZW50LWRlbHRhLmh0bWwKKworICAgICAgICAqIGRv
bS9Qb2ludGVyRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UG9pbnRlckV2ZW50OjpQb2lu
dGVyRXZlbnQpOgorICAgICAgICBBbHNvIHBhc3MgYWxvbmcgdGhlIG1vdmVtZW50IGRlbHRhIGlu
IHRoZSBjb25zdHJ1Y3RvciB0aGF0IHRha2VzIGEgYE1vdXNlRXZlbnRgLgorCisgICAgICAgICog
ZG9tL01vdXNlRXZlbnQuaDoKKyAgICAgICAgKiBkb20vTW91c2VFdmVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNb3VzZUV2ZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TW91c2VF
dmVudDo6TW91c2VFdmVudCk6CisgICAgICAgIFJlcXVpcmUgdGhhdCBhbGwgY29uc3RydWN0b3Jz
IHRoYXQgYXJlbid0IGludm9rZWQgZnJvbSBKUyBhbHdheXMgcHJvdmlkZSBhIG1vdmVtZW50IGRl
bHRhLgorCisgICAgICAgICogZG9tL01vdXNlUmVsYXRlZEV2ZW50Lmg6CisgICAgICAgIChXZWJD
b3JlOjpNb3VzZVJlbGF0ZWRFdmVudDo6bW92ZW1lbnRYIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6Ok1vdXNlUmVsYXRlZEV2ZW50Ojptb3ZlbWVudFkgY29uc3QpOgorICAgICAgICBFeHBvc2Ug
dGhlc2UgbWV0aG9kcyBldmVuIHdoZW4gYCFFTkFCTEUoUE9JTlRFUl9MT0NLKWAgc28gdGhhdCB0
aGV5IGNhbiBiZSBjYWxsZWQgd2l0aG91dAorICAgICAgICB0aGUgY2FsbHNpdGUgaGF2aW5nIHRv
IGFsc28gaGF2ZSBhIGAjaWZgLgorCisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpkaXNwYXRjaERyYWdFdmVudCk6CisgICAg
ICAgIFBhc3MgYWxvbmcgdGhlIG1vdmVtZW50IGRlbHRhIGV2ZW4gd2hlbiBgIUVOQUJMRShQT0lO
VEVSX0xPQ0spYC4KKwogMjAyMi0wMy0yNCAgTmlrb2xhb3MgTW91Y2h0YXJpcyAgPG5tb3VjaHRh
cmlzQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggc2VyaWFsaXphdGlvbiBvZiBuYW4sIGluZmlu
aXR5LCAtaW5maW5pdHkgZm9yIGNhbGMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L01vdXNlRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuY3BwCmluZGV4
IDU5ZDM5YWIxOWM0YWY4YmZhMjI4YTY1ZGU2ZTUxYTNmM2IzNDcwZDIuLjg4OTI3NDFlOWRiZDg0
MmM1MjJmMTg2YjRlYWZhY2NlZTZmMGQxNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Nb3VzZUV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5jcHAK
QEAgLTU2LDEyICs1Niw3IEBAIFJlZjxNb3VzZUV2ZW50PiBNb3VzZUV2ZW50OjpjcmVhdGUoY29u
c3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWZQdHI8V2luZG93UHJvCiAgICAgYXV0byBpc0Nv
bXBvc2VkID0gIWlzTW91c2VFbnRlck9yTGVhdmUgPyBJc0NvbXBvc2VkOjpZZXMgOiBJc0NvbXBv
c2VkOjpObzsKIAogICAgIHJldHVybiBNb3VzZUV2ZW50OjpjcmVhdGUoZXZlbnRUeXBlLCBjYW5C
dWJibGUsIGlzQ2FuY2VsYWJsZSwgaXNDb21wb3NlZCwgZXZlbnQudGltZXN0YW1wKCkuYXBwcm94
aW1hdGVNb25vdG9uaWNUaW1lKCksIFdURk1vdmUodmlldyksIGRldGFpbCwKLSAgICAgICAgZXZl
bnQuZ2xvYmFsUG9zaXRpb24oKSwgZXZlbnQucG9zaXRpb24oKSwKLSNpZiBFTkFCTEUoUE9JTlRF
Ul9MT0NLKQotICAgICAgICBldmVudC5tb3ZlbWVudERlbHRhKCksCi0jZWxzZQotICAgICAgICB7
IH0sCi0jZW5kaWYKKyAgICAgICAgZXZlbnQuZ2xvYmFsUG9zaXRpb24oKSwgZXZlbnQucG9zaXRp
b24oKSwgZXZlbnQubW92ZW1lbnREZWx0YSgpLAogICAgICAgICBldmVudC5tb2RpZmllcnMoKSwg
ZXZlbnQuYnV0dG9uKCksIGV2ZW50LmJ1dHRvbnMoKSwgcmVsYXRlZFRhcmdldCwgZXZlbnQuZm9y
Y2UoKSwgZXZlbnQuc3ludGhldGljQ2xpY2tUeXBlKCkpOwogfQogCkBAIC03Nyw3ICs3Miw3IEBA
IFJlZjxNb3VzZUV2ZW50PiBNb3VzZUV2ZW50OjpjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgZXZl
bnRUeXBlLCBDYW5CdWJibGUgY2FuQnViCiAgICAgaW50IHNjcmVlblgsIGludCBzY3JlZW5ZLCBp
bnQgY2xpZW50WCwgaW50IGNsaWVudFksIE9wdGlvblNldDxNb2RpZmllcj4gbW9kaWZpZXJzLCBz
aG9ydCBidXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsCiAgICAgdW5zaWduZWQgc2hvcnQg
c3ludGhldGljQ2xpY2tUeXBlLCBFdmVudFRhcmdldCogcmVsYXRlZFRhcmdldCkKIHsKLSAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBNb3VzZUV2ZW50KGV2ZW50VHlwZSwgY2FuQnViYmxlLCBpc0Nh
bmNlbGFibGUsIGlzQ29tcG9zZWQsIFdURk1vdmUodmlldyksIGRldGFpbCwgeyBzY3JlZW5YLCBz
Y3JlZW5ZIH0sIHsgY2xpZW50WCwgY2xpZW50WSB9LCBtb2RpZmllcnMsIGJ1dHRvbiwgYnV0dG9u
cywgc3ludGhldGljQ2xpY2tUeXBlLCByZWxhdGVkVGFyZ2V0KSk7CisgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgTW91c2VFdmVudChldmVudFR5cGUsIGNhbkJ1YmJsZSwgaXNDYW5jZWxhYmxlLCBp
c0NvbXBvc2VkLCBXVEZNb3ZlKHZpZXcpLCBkZXRhaWwsIHsgc2NyZWVuWCwgc2NyZWVuWSB9LCB7
IGNsaWVudFgsIGNsaWVudFkgfSwgeyB9LCBtb2RpZmllcnMsIGJ1dHRvbiwgYnV0dG9ucywgc3lu
dGhldGljQ2xpY2tUeXBlLCByZWxhdGVkVGFyZ2V0KSk7CiB9CiAKIE1vdXNlRXZlbnQ6Ok1vdXNl
RXZlbnQoKSA9IGRlZmF1bHQ7CkBAIC05Nyw5ICs5Miw5IEBAIE1vdXNlRXZlbnQ6Ok1vdXNlRXZl
bnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBDYW5CdWJibGUgY2FuQnViYmxlLCBJc0Nh
bmNlCiB9CiAKIE1vdXNlRXZlbnQ6Ok1vdXNlRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRU
eXBlLCBDYW5CdWJibGUgY2FuQnViYmxlLCBJc0NhbmNlbGFibGUgaXNDYW5jZWxhYmxlLCBJc0Nv
bXBvc2VkIGlzQ29tcG9zZWQsCi0gICAgUmVmUHRyPFdpbmRvd1Byb3h5PiYmIHZpZXcsIGludCBk
ZXRhaWwsIGNvbnN0IEludFBvaW50JiBzY3JlZW5Mb2NhdGlvbiwgY29uc3QgSW50UG9pbnQmIGNs
aWVudExvY2F0aW9uLAorICAgIFJlZlB0cjxXaW5kb3dQcm94eT4mJiB2aWV3LCBpbnQgZGV0YWls
LCBjb25zdCBJbnRQb2ludCYgc2NyZWVuTG9jYXRpb24sIGNvbnN0IEludFBvaW50JiBjbGllbnRM
b2NhdGlvbiwgY29uc3QgSW50UG9pbnQmIG1vdmVtZW50RGVsdGEsCiAgICAgT3B0aW9uU2V0PE1v
ZGlmaWVyPiBtb2RpZmllcnMsIHNob3J0IGJ1dHRvbiwgdW5zaWduZWQgc2hvcnQgYnV0dG9ucywg
dW5zaWduZWQgc2hvcnQgc3ludGhldGljQ2xpY2tUeXBlLCBFdmVudFRhcmdldCogcmVsYXRlZFRh
cmdldCkKLSAgICA6IE1vdXNlUmVsYXRlZEV2ZW50KGV2ZW50VHlwZSwgY2FuQnViYmxlLCBpc0Nh
bmNlbGFibGUsIGlzQ29tcG9zZWQsIE1vbm90b25pY1RpbWU6Om5vdygpLCBXVEZNb3ZlKHZpZXcp
LCBkZXRhaWwsIHNjcmVlbkxvY2F0aW9uLCB7IH0sIHsgfSwgbW9kaWZpZXJzLCBJc1NpbXVsYXRl
ZDo6Tm8pCisgICAgOiBNb3VzZVJlbGF0ZWRFdmVudChldmVudFR5cGUsIGNhbkJ1YmJsZSwgaXND
YW5jZWxhYmxlLCBpc0NvbXBvc2VkLCBNb25vdG9uaWNUaW1lOjpub3coKSwgV1RGTW92ZSh2aWV3
KSwgZGV0YWlsLCBzY3JlZW5Mb2NhdGlvbiwgeyB9LCBtb3ZlbWVudERlbHRhLCBtb2RpZmllcnMs
IElzU2ltdWxhdGVkOjpObykKICAgICAsIG1fYnV0dG9uKGJ1dHRvbiA9PSAtMiA/IDAgOiBidXR0
b24pCiAgICAgLCBtX2J1dHRvbnMoYnV0dG9ucykKICAgICAsIG1fc3ludGhldGljQ2xpY2tUeXBl
KGJ1dHRvbiA9PSAtMiA/IDAgOiBzeW50aGV0aWNDbGlja1R5cGUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZl
bnQuaAppbmRleCA0M2I2Y2ViY2U4YzYyYjdjZjY1ZmU5NDExNzgyNjc1YTliMjlhZmU1Li4zNjFk
YjJlYzE0YTA0ZGYyYWIwNjcwYjU1NWIyMDJlYzIxMzkxYTE5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTW91c2VFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2
ZW50LmgKQEAgLTkzLDcgKzkzLDcgQEAgcHJvdGVjdGVkOgogICAgICAgICBFdmVudFRhcmdldCog
cmVsYXRlZFRhcmdldCwgZG91YmxlIGZvcmNlLCB1bnNpZ25lZCBzaG9ydCBzeW50aGV0aWNDbGlj
a1R5cGUsIElzU2ltdWxhdGVkLCBJc1RydXN0ZWQpOwogCiAgICAgTW91c2VFdmVudChjb25zdCBB
dG9tU3RyaW5nJiB0eXBlLCBDYW5CdWJibGUsIElzQ2FuY2VsYWJsZSwgSXNDb21wb3NlZCwgUmVm
UHRyPFdpbmRvd1Byb3h5PiYmLCBpbnQgZGV0YWlsLAotICAgICAgICBjb25zdCBJbnRQb2ludCYg
c2NyZWVuTG9jYXRpb24sIGNvbnN0IEludFBvaW50JiBjbGllbnRMb2NhdGlvbiwgT3B0aW9uU2V0
PE1vZGlmaWVyPiwgc2hvcnQgYnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLAorICAgICAg
ICBjb25zdCBJbnRQb2ludCYgc2NyZWVuTG9jYXRpb24sIGNvbnN0IEludFBvaW50JiBjbGllbnRM
b2NhdGlvbiwgY29uc3QgSW50UG9pbnQmIG1vdmVtZW50RGVsdGEsIE9wdGlvblNldDxNb2RpZmll
cj4sIHNob3J0IGJ1dHRvbiwgdW5zaWduZWQgc2hvcnQgYnV0dG9ucywKICAgICAgICAgdW5zaWdu
ZWQgc2hvcnQgc3ludGhldGljQ2xpY2tUeXBlLCBFdmVudFRhcmdldCogcmVsYXRlZFRhcmdldCk7
CiAKICAgICBNb3VzZUV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IE1vdXNlRXZl
bnRJbml0Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VSZWxhdGVkRXZl
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmNwcAppbmRleCAy
NzU0OTJmOWZiZDc2NGU3MWJjNzg4NDkzMmQ1MGY2NWNmODQ3NmMyLi4yM2EyMDYzYmQ5MWExNTMx
MWM0Y2E2Yjc1MzBjNDc2Yzc2MjY3ZWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
TW91c2VSZWxhdGVkRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZVJlbGF0
ZWRFdmVudC5jcHAKQEAgLTQxLDE0ICs0MSw5IEBAIE1vdXNlUmVsYXRlZEV2ZW50OjpNb3VzZVJl
bGF0ZWRFdmVudChjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIENhbkJ1YmJsZSBjYW5CCiAg
ICAgY29uc3QgSW50UG9pbnQmIHNjcmVlbkxvY2F0aW9uLCBjb25zdCBJbnRQb2ludCYgd2luZG93
TG9jYXRpb24sIGNvbnN0IEludFBvaW50JiBtb3ZlbWVudERlbHRhLCBPcHRpb25TZXQ8TW9kaWZp
ZXI+IG1vZGlmaWVycywgSXNTaW11bGF0ZWQgaXNTaW11bGF0ZWQsIElzVHJ1c3RlZCBpc1RydXN0
ZWQpCiAgICAgOiBVSUV2ZW50V2l0aEtleVN0YXRlKGV2ZW50VHlwZSwgY2FuQnViYmxlLCBpc0Nh
bmNlbGFibGUsIGlzQ29tcG9zZWQsIHRpbWVzdGFtcCwgV1RGTW92ZSh2aWV3KSwgZGV0YWlsLCBt
b2RpZmllcnMsIGlzVHJ1c3RlZCkKICAgICAsIG1fc2NyZWVuTG9jYXRpb24oc2NyZWVuTG9jYXRp
b24pCi0jaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKICAgICAsIG1fbW92ZW1lbnREZWx0YShtb3Zl
bWVudERlbHRhKQotI2VuZGlmCiAgICAgLCBtX2lzU2ltdWxhdGVkKGlzU2ltdWxhdGVkID09IElz
U2ltdWxhdGVkOjpZZXMpCiB7Ci0jaWYgIUVOQUJMRShQT0lOVEVSX0xPQ0spCi0gICAgVU5VU0VE
X1BBUkFNKG1vdmVtZW50RGVsdGEpOwotI2VuZGlmCiAgICAgaW5pdChtX2lzU2ltdWxhdGVkLCB3
aW5kb3dMb2NhdGlvbik7CiB9CiAKQEAgLTYxLDkgKzU2LDcgQEAgTW91c2VSZWxhdGVkRXZlbnQ6
Ok1vdXNlUmVsYXRlZEV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIElzQ2FuY2VsYWJsZSBp
c0NhbmMKIE1vdXNlUmVsYXRlZEV2ZW50OjpNb3VzZVJlbGF0ZWRFdmVudChjb25zdCBBdG9tU3Ry
aW5nJiBldmVudFR5cGUsIGNvbnN0IE1vdXNlUmVsYXRlZEV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIs
IElzVHJ1c3RlZCBpc1RydXN0ZWQpCiAgICAgOiBVSUV2ZW50V2l0aEtleVN0YXRlKGV2ZW50VHlw
ZSwgaW5pdGlhbGl6ZXIpCiAgICAgLCBtX3NjcmVlbkxvY2F0aW9uKEludFBvaW50KGluaXRpYWxp
emVyLnNjcmVlblgsIGluaXRpYWxpemVyLnNjcmVlblkpKQotI2lmIEVOQUJMRShQT0lOVEVSX0xP
Q0spCiAgICAgLCBtX21vdmVtZW50RGVsdGEoSW50UG9pbnQoMCwgMCkpCi0jZW5kaWYKIHsKICAg
ICBBU1NFUlRfVU5VU0VEKGlzVHJ1c3RlZCwgaXNUcnVzdGVkID09IElzVHJ1c3RlZDo6Tm8pOwog
ICAgIGluaXQoZmFsc2UsIEludFBvaW50KDAsIDApKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Nb3VzZVJlbGF0ZWRFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlUmVs
YXRlZEV2ZW50LmgKaW5kZXggZDhmMWE0MGMyMDUzZGY0NDFhYmVhODBiOWY1NDJjYWM2MGVlYjRh
Ni4uNWQ3NDg3N2NkODMzYmIzYzYzY2MwZGQ5MGVlYzcxMmU1NDFjNjViNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmgKQEAgLTQ4LDEwICs0OCw5IEBAIHB1YmxpYzoKICAg
ICBjb25zdCBJbnRQb2ludCYgc2NyZWVuTG9jYXRpb24oKSBjb25zdCB7IHJldHVybiBtX3NjcmVl
bkxvY2F0aW9uOyB9CiAgICAgaW50IGNsaWVudFgoKSBjb25zdCB7IHJldHVybiBtX2NsaWVudExv
Y2F0aW9uLngoKTsgfQogICAgIGludCBjbGllbnRZKCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnRM
b2NhdGlvbi55KCk7IH0KLSNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQogICAgIGludCBtb3ZlbWVu
dFgoKSBjb25zdCB7IHJldHVybiBtX21vdmVtZW50RGVsdGEueCgpOyB9CiAgICAgaW50IG1vdmVt
ZW50WSgpIGNvbnN0IHsgcmV0dXJuIG1fbW92ZW1lbnREZWx0YS55KCk7IH0KLSNlbmRpZgorCiAg
ICAgY29uc3QgTGF5b3V0UG9pbnQmIGNsaWVudExvY2F0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9j
bGllbnRMb2NhdGlvbjsgfQogICAgIGludCBsYXllclgoKSBvdmVycmlkZTsKICAgICBpbnQgbGF5
ZXJZKCkgb3ZlcnJpZGU7CkBAIC05NSw5ICs5NCw3IEBAIHByb3RlY3RlZDoKICAgICAvLyBFeHBv
c2UgdGhlc2Ugc28gTW91c2VFdmVudDo6aW5pdE1vdXNlRXZlbnQgY2FuIHNldCB0aGVtLgogICAg
IEludFBvaW50IG1fc2NyZWVuTG9jYXRpb247CiAgICAgTGF5b3V0UG9pbnQgbV9jbGllbnRMb2Nh
dGlvbjsKLSNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQogICAgIExheW91dFBvaW50IG1fbW92ZW1l
bnREZWx0YTsKLSNlbmRpZgogCiBwcml2YXRlOgogICAgIHZvaWQgaW5pdChib29sIGlzU2ltdWxh
dGVkLCBjb25zdCBJbnRQb2ludCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Bv
aW50ZXJFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUG9pbnRlckV2ZW50LmNwcAppbmRl
eCBmMjE4NzlmZGZiYzY0ZTdkMmYxMWFiMDg0ZDQ2Nzk0YTllNjAxMTEwLi45NGZkMDAzYWFhODBj
ZmY1YTdlYWRhZjRmYjRiMTkyZDgyYTllZDE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vUG9pbnRlckV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUG9pbnRlckV2ZW50
LmNwcApAQCAtOTIsNyArOTIsNyBAQCBQb2ludGVyRXZlbnQ6OlBvaW50ZXJFdmVudChjb25zdCBB
dG9tU3RyaW5nJiB0eXBlLCBJbml0JiYgaW5pdGlhbGl6ZXIpCiB9CiAKIFBvaW50ZXJFdmVudDo6
UG9pbnRlckV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIHNob3J0IGJ1dHRvbiwgY29uc3Qg
TW91c2VFdmVudCYgbW91c2VFdmVudCwgUG9pbnRlcklEIHBvaW50ZXJJZCwgY29uc3QgU3RyaW5n
JiBwb2ludGVyVHlwZSkKLSAgICA6IE1vdXNlRXZlbnQodHlwZSwgdHlwZUNhbkJ1YmJsZSh0eXBl
KSwgdHlwZUlzQ2FuY2VsYWJsZSh0eXBlKSwgdHlwZUlzQ29tcG9zZWQodHlwZSksIG1vdXNlRXZl
bnQudmlldygpLCBtb3VzZUV2ZW50LmRldGFpbCgpLCBtb3VzZUV2ZW50LnNjcmVlbkxvY2F0aW9u
KCksIHsgbW91c2VFdmVudC5jbGllbnRYKCksIG1vdXNlRXZlbnQuY2xpZW50WSgpIH0sIG1vdXNl
RXZlbnQubW9kaWZpZXJLZXlzKCksIGJ1dHRvbiwgbW91c2VFdmVudC5idXR0b25zKCksIG1vdXNl
RXZlbnQuc3ludGhldGljQ2xpY2tUeXBlKCksIG1vdXNlRXZlbnQucmVsYXRlZFRhcmdldCgpKQor
ICAgIDogTW91c2VFdmVudCh0eXBlLCB0eXBlQ2FuQnViYmxlKHR5cGUpLCB0eXBlSXNDYW5jZWxh
YmxlKHR5cGUpLCB0eXBlSXNDb21wb3NlZCh0eXBlKSwgbW91c2VFdmVudC52aWV3KCksIG1vdXNl
RXZlbnQuZGV0YWlsKCksIG1vdXNlRXZlbnQuc2NyZWVuTG9jYXRpb24oKSwgeyBtb3VzZUV2ZW50
LmNsaWVudFgoKSwgbW91c2VFdmVudC5jbGllbnRZKCkgfSwgeyBtb3VzZUV2ZW50Lm1vdmVtZW50
WCgpLCBtb3VzZUV2ZW50Lm1vdmVtZW50WSgpIH0sIG1vdXNlRXZlbnQubW9kaWZpZXJLZXlzKCks
IGJ1dHRvbiwgbW91c2VFdmVudC5idXR0b25zKCksIG1vdXNlRXZlbnQuc3ludGhldGljQ2xpY2tU
eXBlKCksIG1vdXNlRXZlbnQucmVsYXRlZFRhcmdldCgpKQogICAgICwgbV9wb2ludGVySWQocG9p
bnRlcklkKQogICAgICwgbV9wb2ludGVyVHlwZShwb2ludGVyVHlwZSkKICAgICAsIG1faXNQcmlt
YXJ5KHRydWUpCkBAIC0xMDAsNyArMTAwLDcgQEAgUG9pbnRlckV2ZW50OjpQb2ludGVyRXZlbnQo
Y29uc3QgQXRvbVN0cmluZyYgdHlwZSwgc2hvcnQgYnV0dG9uLCBjb25zdCBNb3VzZUV2ZW4KIH0K
IAogUG9pbnRlckV2ZW50OjpQb2ludGVyRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgUG9p
bnRlcklEIHBvaW50ZXJJZCwgY29uc3QgU3RyaW5nJiBwb2ludGVyVHlwZSwgSXNQcmltYXJ5IGlz
UHJpbWFyeSkKLSAgICA6IE1vdXNlRXZlbnQodHlwZSwgdHlwZUNhbkJ1YmJsZSh0eXBlKSwgdHlw
ZUlzQ2FuY2VsYWJsZSh0eXBlKSwgdHlwZUlzQ29tcG9zZWQodHlwZSksIG51bGxwdHIsIDAsIHsg
fSwgeyB9LCB7IH0sIDAsIDAsIDAsIG51bGxwdHIpCisgICAgOiBNb3VzZUV2ZW50KHR5cGUsIHR5
cGVDYW5CdWJibGUodHlwZSksIHR5cGVJc0NhbmNlbGFibGUodHlwZSksIHR5cGVJc0NvbXBvc2Vk
KHR5cGUpLCBudWxscHRyLCAwLCB7IH0sIHsgfSwgeyB9LCB7IH0sIDAsIDAsIDAsIG51bGxwdHIp
CiAgICAgLCBtX3BvaW50ZXJJZChwb2ludGVySWQpCiAgICAgLCBtX3BvaW50ZXJUeXBlKHBvaW50
ZXJUeXBlKQogICAgICwgbV9pc1ByaW1hcnkoaXNQcmltYXJ5ID09IElzUHJpbWFyeTo6WWVzKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IDdkMmU1Njg5ZTRmOTMyZGJkMTNi
NDU3ZTMxOTU3ZDE1ODA2ZGJkMGUuLjk5NmUxODE4MjE2MGFkMGYxZjdkNDkwMzcyMzc1ZjNlZmYx
ZmFjN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTIyNzAsMTIgKzIy
NzAsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6ZGlzcGF0Y2hEcmFnRXZlbnQoY29uc3QgQXRvbVN0
cmluZyYgZXZlbnRUeXBlLCBFbGVtZW50JiBkcmFnVAogCiAgICAgYXV0byBkcmFnRXZlbnQgPSBE
cmFnRXZlbnQ6OmNyZWF0ZShldmVudFR5cGUsIEV2ZW50OjpDYW5CdWJibGU6OlllcywgRXZlbnQ6
OklzQ2FuY2VsYWJsZTo6WWVzLCBFdmVudDo6SXNDb21wb3NlZDo6WWVzLAogICAgICAgICBldmVu
dC50aW1lc3RhbXAoKS5hcHByb3hpbWF0ZU1vbm90b25pY1RpbWUoKSwgJm1fZnJhbWUud2luZG93
UHJveHkoKSwgMCwKLSAgICAgICAgZXZlbnQuZ2xvYmFsUG9zaXRpb24oKSwgZXZlbnQucG9zaXRp
b24oKSwKLSNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQotICAgICAgICBldmVudC5tb3ZlbWVudERl
bHRhKCksCi0jZWxzZQotICAgICAgICB7IH0sCi0jZW5kaWYKKyAgICAgICAgZXZlbnQuZ2xvYmFs
UG9zaXRpb24oKSwgZXZlbnQucG9zaXRpb24oKSwgZXZlbnQubW92ZW1lbnREZWx0YSgpLAogICAg
ICAgICBldmVudC5tb2RpZmllcnMoKSwgMCwgMCwgbnVsbHB0ciwgZXZlbnQuZm9yY2UoKSwgTm9U
YXAsICZkYXRhVHJhbnNmZXIpOwogCiAgICAgZHJhZ1RhcmdldC5kaXNwYXRjaEV2ZW50KGRyYWdF
dmVudCk7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5k
ZXggN2YyMmZkNDIyNTcwN2YyNzQ0NDhkMjAyNWY5NmNjMzdmZjcwZjdmNS4uM2M1ZmIyZGI4MDZl
ZGVhNTA2NzI2OTNkN2MxMTk5ZTg1OTI5MWQ1OCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9n
CisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIyLTAyLTA4ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBgUG9pbnRlckV2ZW50Lm1v
dmVtZW50WGAgYWx3YXlzIDAgKGJyZWFrcyBodHRwczovL25vaXNlY3JhZnQuYXBwLykKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDE5NAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNzI4MTQ0NDA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24g
RnJhc2VyLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0V2ZW50U2VuZGluZ0NvbnRy
b2xsZXIubW06CisgICAgICAgICgtW0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIgbW91c2VNb3ZlVG9Y
Olk6XSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9tYWMvRXZlbnRTZW5kZXJQcm94eS5t
bToKKyAgICAgICAgKFdUUjo6RXZlbnRTZW5kZXJQcm94eTo6bW91c2VNb3ZlVG8pOgorICAgICAg
ICBPbiBtYWNPUywgdGhlIHNjcmVlbidzIG9yaWdpbiBpcyB0aGUgYm90dG9tLWxlZnQgY29ybmVy
LCBzbyB3ZSBuZWVkIHRvIGZsaXAgdGhlIGBkZWx0YVlgLgorCiAyMDIyLTAzLTI0ICBBYWthc2gg
SmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNvbT4KIAogICAgICAgICBbZXdzXSBTZXQgYnVnX3Rp
dGxlIHByb3BlcnR5IGFwcHJvcHJpYXRlbHkKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9FdmVudFNlbmRpbmdDb250cm9sbGVyLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
bWFjL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIubW0KaW5kZXggNmFhM2EwZTE3MDg1MGI5ZDE3MjZl
NDVhNmRkZDhhNDk3OTJjZTg1Ni4uM2U3ZDA3YWMxOWJlZDI0Nzk2Njk1ZWZhMjRjNTIxNmZiYzJk
OGE2ZSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0V2ZW50U2VuZGluZ0Nv
bnRyb2xsZXIubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0V2ZW50U2VuZGluZ0Nv
bnRyb2xsZXIubW0KQEAgLTc2Niw3ICs3NjYsNyBAQCAtICh2b2lkKW1vdXNlTW92ZVRvWDooaW50
KXggWTooaW50KXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVz
c3VyZTowLjBdKTsKICAgICBDR0V2ZW50UmVmIGNnRXZlbnQgPSBbZXZlbnQgQ0dFdmVudF07CiAg
ICAgQ0dFdmVudFNldEludGVnZXJWYWx1ZUZpZWxkKGNnRXZlbnQsIGtDR01vdXNlRXZlbnREZWx0
YVgsIG5ld01vdXNlUG9zaXRpb24ueCAtIGxhc3RNb3VzZVBvc2l0aW9uLngpOwotICAgIENHRXZl
bnRTZXRJbnRlZ2VyVmFsdWVGaWVsZChjZ0V2ZW50LCBrQ0dNb3VzZUV2ZW50RGVsdGFZLCBuZXdN
b3VzZVBvc2l0aW9uLnkgLSBsYXN0TW91c2VQb3NpdGlvbi55KTsKKyAgICBDR0V2ZW50U2V0SW50
ZWdlclZhbHVlRmllbGQoY2dFdmVudCwga0NHTW91c2VFdmVudERlbHRhWSwgLTEgKiAobmV3TW91
c2VQb3NpdGlvbi55IC0gbGFzdE1vdXNlUG9zaXRpb24ueSkpOwogICAgIGV2ZW50ID0gcmV0YWlu
UHRyKFtOU0V2ZW50IGV2ZW50V2l0aENHRXZlbnQ6Y2dFdmVudF0pOwogICAgIGxhc3RNb3VzZVBv
c2l0aW9uID0gbmV3TW91c2VQb3NpdGlvbjsKICNlbHNlCmRpZmYgLS1naXQgYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL21hYy9FdmVudFNlbmRlclByb3h5Lm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9tYWMvRXZlbnRTZW5kZXJQcm94eS5tbQppbmRleCA3MmY4MGY4YzcwMjQ1OGU1MTdmY2Yx
YmEyMDRjMmJhNzRkMTRkOWRmLi4zYTIzMWIxNjg1ODNjZmMzNzhmYjY3ZmY0MmIxMDhjNzQ3ZGQw
NzMzIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9FdmVudFNlbmRlclBy
b3h5Lm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL0V2ZW50U2VuZGVyUHJveHku
bW0KQEAgLTYwMSw3ICs2MDEsNyBAQCB2b2lkIEV2ZW50U2VuZGVyUHJveHk6Om1vdXNlTW92ZVRv
KGRvdWJsZSB4LCBkb3VibGUgeSwgV0tTdHJpbmdSZWYgcG9pbnRlclR5cGUpCiAKICAgICBDR0V2
ZW50UmVmIGNnRXZlbnQgPSBldmVudC5DR0V2ZW50OwogICAgIENHRXZlbnRTZXRJbnRlZ2VyVmFs
dWVGaWVsZChjZ0V2ZW50LCBrQ0dNb3VzZUV2ZW50RGVsdGFYLCBuZXdNb3VzZVBvc2l0aW9uLngg
LSBtX3Bvc2l0aW9uLngpOwotICAgIENHRXZlbnRTZXRJbnRlZ2VyVmFsdWVGaWVsZChjZ0V2ZW50
LCBrQ0dNb3VzZUV2ZW50RGVsdGFZLCBuZXdNb3VzZVBvc2l0aW9uLnkgLSBtX3Bvc2l0aW9uLnkp
OworICAgIENHRXZlbnRTZXRJbnRlZ2VyVmFsdWVGaWVsZChjZ0V2ZW50LCBrQ0dNb3VzZUV2ZW50
RGVsdGFZLCAtMSAqIChuZXdNb3VzZVBvc2l0aW9uLnkgLSBtX3Bvc2l0aW9uLnkpKTsKICAgICBl
dmVudCA9IFtOU0V2ZW50IGV2ZW50V2l0aENHRXZlbnQ6Y2dFdmVudF07CiAgICAgbV9wb3NpdGlv
bi54ID0gbmV3TW91c2VQb3NpdGlvbi54OwogICAgIG1fcG9zaXRpb24ueSA9IG5ld01vdXNlUG9z
aXRpb24ueTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCAyMjUxODNhM2ZjMTRjMzg0OGM5YTk5NGFiNmNjNDczZWJiNmJlODA3
Li4wOWJlNDMzZTI5ZWFiMDY4MDgzNDc0ODYxMGRjZGNiZDFhMGNjMzdhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjMgQEAKKzIwMjItMDItMDggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgor
CisgICAgICAgIGBQb2ludGVyRXZlbnQubW92ZW1lbnRYYCBhbHdheXMgMCAoYnJlYWtzIGh0dHBz
Oi8vbm9pc2VjcmFmdC5hcHAvKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjIwMTk0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MjgxNDQ0MD4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBwb2ludGVyLWxv
Y2svcG9pbnRlcm1vdmUtbW92ZW1lbnQtZGVsdGEuaHRtbDogQWRkZWQuCisgICAgICAgICogcG9p
bnRlci1sb2NrL3BvaW50ZXJtb3ZlLW1vdmVtZW50LWRlbHRhLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisKKyAgICAgICAgKiBwb2ludGVyLWxvY2svbW91c2UtZXZlbnQtZGVsaXZlcnktZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgT24gbWFjT1MsIHRoZSBzY3JlZW4ncyBvcmlnaW4gaXMgdGhl
IGJvdHRvbS1sZWZ0IGNvcm5lciwgc28gd2UgbmVlZCB0byBmbGlwIHRoZSBgZGVsdGFZYC4KKwor
ICAgICAgICAqIHBsYXRmb3JtL2d0ay9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bv
aW50ZXJldmVudHMvcG9pbnRlcmxvY2svcG9pbnRlcmV2ZW50X21vdmVtZW50eHlfd2l0aF9wb2lu
dGVybG9jay1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICBUaGlzIGNoYW5nZSBjYXVzZXMg
dGhlIHRlc3QgdG8gcHJvZ3Jlc3MgZnVydGhlciB0aGFuIGJlZm9yZSwgYnV0IHRoZXJlIHN0aWxs
IGFwcGVhciB0byBiZQorICAgICAgICBvdGhlciBpc3N1ZXMgZWxzZXdoZXJlLCBzbyBhZGp1c3Qg
dGhlIGV4cGVjdGVkIG91dHB1dCB0byByZWZsZWN0IHRoYXQuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjItMDMtMjQgIEFudG9pbmUgUXVpbnQg
IDxncmFvdXRzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRE9NIEdQVVA6IHBhaW50U3lzdGVtUHJl
dmlld0JhZGdlIChBUiBRdWlja0xvb2sgZWxlbWVudCBiYWRnZSkKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCmluZGV4IDI1MjMyOTAzYzE1MDY5OWIzZGVhOTg2YmY2MjBhMjkzNzdmZTJkNDEu
LjZiMTUyNWFmN2M5NmNkMmQxYWYyNjU0NGZjZmZlM2RlODdlMzViMWIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIyLTAyLTA4ICBEZXZpbiBSb3Vz
c28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBgUG9pbnRlckV2ZW50Lm1vdmVtZW50
WGAgYWx3YXlzIDAgKGJyZWFrcyBodHRwczovL25vaXNlY3JhZnQuYXBwLykKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDE5NAorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vNzI4MTQ0NDA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2Vy
LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMvcG9pbnRlcmxv
Y2svcG9pbnRlcmV2ZW50X21vdmVtZW50eHlfd2l0aF9wb2ludGVybG9jay1leHBlY3RlZC50eHQ6
CisgICAgICAgIFRoaXMgY2hhbmdlIGNhdXNlcyB0aGUgdGVzdCB0byBwcm9ncmVzcyBmdXJ0aGVy
IHRoYW4gYmVmb3JlLCBidXQgdGhlcmUgc3RpbGwgYXBwZWFyIHRvIGJlCisgICAgICAgIG90aGVy
IGlzc3VlcyBlbHNld2hlcmUsIHNvIGFkanVzdCB0aGUgZXhwZWN0ZWQgb3V0cHV0IHRvIHJlZmxl
Y3QgdGhhdC4KKwogMjAyMi0wMy0yNCAgTmlrb2xhb3MgTW91Y2h0YXJpcyAgPG5tb3VjaHRhcmlz
QGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggc2VyaWFsaXphdGlvbiBvZiBuYW4sIGluZmluaXR5
LCAtaW5maW5pdHkgZm9yIGNhbGMoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL3BvaW50ZXJsb2NrL3BvaW50ZXJl
dmVudF9tb3ZlbWVudHh5X3dpdGhfcG9pbnRlcmxvY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL3BvaW50ZXJs
b2NrL3BvaW50ZXJldmVudF9tb3ZlbWVudHh5X3dpdGhfcG9pbnRlcmxvY2stZXhwZWN0ZWQudHh0
CmluZGV4IGU1M2RlMGQ4YzlhN2ViYTMzNDNiZjk5OTE2YmE4MzAyMWQyNjNlY2UuLjc1OWEwOTQz
MTI3MzNhMzliNjk1MmQxM2MyMjExZDkzMDA5NDM1N2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9wb2ludGVybG9j
ay9wb2ludGVyZXZlbnRfbW92ZW1lbnR4eV93aXRoX3BvaW50ZXJsb2NrLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJl
dmVudHMvcG9pbnRlcmxvY2svcG9pbnRlcmV2ZW50X21vdmVtZW50eHlfd2l0aF9wb2ludGVybG9j
ay1leHBlY3RlZC50eHQKQEAgLTEyLDUgKzEyLDUgQEAgQ2xpY2sgbGVmdCBidXR0b24gYWdhaW4g
dG8gZW5kIHRoZSB0ZXN0LgogVGVzdCBwYXNzZXMgaWYgdGhlIHByb3BlciBiZWhhdmlvciBvZiB0
aGUgZXZlbnRzIGlzIG9ic2VydmVkLgogCiAKLUZBSUwgbW91c2UgcG9pbnRlcmV2ZW50IG1vdmVt
ZW50WC9ZIHdpdGggcG9pbnRlcmxvY2sgdGVzdCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAwIGJ1
dCBnb3QgMTAKK0ZBSUwgbW91c2UgcG9pbnRlcmV2ZW50IG1vdmVtZW50WC9ZIHdpdGggcG9pbnRl
cmxvY2sgdGVzdCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAtOTk5MSBidXQgZ290IC05OTgxCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMvcG9pbnRlcmxvY2svcG9pbnRlcmV2ZW50X21vdmVt
ZW50eHlfd2l0aF9wb2ludGVybG9jay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL3BvaW50
ZXJsb2NrL3BvaW50ZXJldmVudF9tb3ZlbWVudHh5X3dpdGhfcG9pbnRlcmxvY2stZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjJkOGQ2MGE2ZWEwZTNkNDM0YTA0NTdjOWM5ZWU3ODZjMzM0ZTZiNWEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL3BvaW50ZXJsb2NrL3BvaW50ZXJldmVu
dF9tb3ZlbWVudHh5X3dpdGhfcG9pbnRlcmxvY2stZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYg
QEAKK1BvaW50ZXIgRXZlbnRzIG1vdmVtZW50IHdpdGggcG9pbnRlcmxvY2sgdGVzdAorCitGb2xs
b3cgdGhlIHRlc3QgaW5zdHJ1Y3Rpb25zIHdpdGggbW91c2UuIElmIHlvdSBkb24ndCBoYXZlIHRo
ZSBkZXZpY2Ugc2tpcCBpdC4KKworVGVzdCBEZXNjcmlwdGlvbjogVGhpcyB0ZXN0IGNoZWNrcyBw
b2ludGVyZXZlbnQgbW92ZW1lbnRYL1kgdmFsdWUgd2l0aCBwb2ludGVybG9jay4gSXQgY2hlY2tz
IHdoZXRoZXIgbW92ZW1lbnQgWC9ZIG1hdGNoZXMgZXZlbnQuc2NyZWVuWC9ZIC0gbGFzdF9ldmVu
dC5zY3JlZW5YL1kgd2hlbiBwb2ludGVyIGlzIG5vdCBsb2NrZWQ7IEFuZCBpZiBwb2ludGVybW92
ZS5tb3ZlbWVudFgvWSBtYXRjaGVzIG1vdXNlbW92ZS5tb3ZlbWVudFgvWSB3aGVuIHBvaW50ZXIg
aXMgbG9ja2VkLgorTW92ZSB0aGUgbW91c2UgaW5zaWRlIHRoZSBncmVlbiByZWN0YW5nbGUuCitD
bGljayBsZWZ0IGJ1dHRvbiBvbiB0aGUgZ3JlZW4gcmVjdGFuZ2xlLihFbnRlciBwb2ludGVybG9j
aykKK01vdmUgdGhlIG1vdXNlIGFyb3VuZC4KK0NsaWNrIGxlZnQgYnV0dG9uIGFnYWluCitNb3Zl
IHRoZSBtb3VzZSBpbnNpZGUgdGhlIGdyZWVuIHJlY3RhbmdsZS4KK0NsaWNrIGxlZnQgYnV0dG9u
IGFnYWluIHRvIGVuZCB0aGUgdGVzdC4KK1Rlc3QgcGFzc2VzIGlmIHRoZSBwcm9wZXIgYmVoYXZp
b3Igb2YgdGhlIGV2ZW50cyBpcyBvYnNlcnZlZC4KKworCitGQUlMIG1vdXNlIHBvaW50ZXJldmVu
dCBtb3ZlbWVudFgvWSB3aXRoIHBvaW50ZXJsb2NrIHRlc3QgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgOSBidXQgZ290IDE5CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCA4ODRjN2I0ZGYzYWVmNTUzZTc5MTVhMGI5M2E2Y2I0ZDYzMGM3ZDVh
Li41ZjJiNGJiOWM4YmFhZjIzMTA4ZDVjMGNhYzk1NmNkMjZmODlhMTI5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMTMyLDYgKzExMzIs
NyBAQCB3ZWJraXQub3JnL2IvMTk1MDk4IHBvaW50ZXJldmVudHMvbW91c2UvZW50ZXItbGVhdmUt
b3JkZXIuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE5NTA5OCBwb2ludGVyZXZlbnRz
L21vdXNlL292ZXItZW50ZXItb3V0LWxlYXZlLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcv
Yi8xOTUwOTggcG9pbnRlcmV2ZW50cy9tb3VzZS9wb2ludGVyLWNhcHR1cmUuaHRtbCBbIEZhaWx1
cmUgXQogd2Via2l0Lm9yZy9iLzE5NTA5OCBwb2ludGVyZXZlbnRzL21vdXNlL3BvaW50ZXItZXZl
bnRzLWJlZm9yZS1tb3VzZS1ldmVudHMuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzE5
NTA5OCBwb2ludGVyLWxvY2svcG9pbnRlcm1vdmUtbW92ZW1lbnQtZGVsdGEuaHRtbCBbIEZhaWx1
cmUgXQogCiB3ZWJraXQub3JnL2IvMTk2OTE1IFsgRGVidWcgXSBpbnNwZWN0b3IvdGltZWxpbmUv
dGltZWxpbmUtcmVjb3JkaW5nLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wb2ludGVyLWxvY2svbW91c2UtZXZlbnQtZGVsaXZlcnktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcG9pbnRlci1sb2NrL21vdXNlLWV2ZW50LWRlbGl2ZXJ5LWV4cGVjdGVk
LnR4dAppbmRleCA1NWNkYWI4ZjdmMzljMDliNDNiMDQ0YWU1MTMyNTlkMzE1ZWIxYWZkLi42MjA3
NTkyZDk1NWU4YWIzZDUwMzRlOTZjZjA4ZmE2YjRhMjlkMGJmIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wb2ludGVyLWxvY2svbW91c2UtZXZlbnQtZGVsaXZlcnktZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3BvaW50ZXItbG9jay9tb3VzZS1ldmVudC1kZWxpdmVyeS1leHBlY3RlZC50
eHQKQEAgLTksOCArOSw4IEBAIFBBU1MgZG9jdW1lbnQucG9pbnRlckxvY2tFbGVtZW50IGlzIHRh
cmdldGRpdjEKIFBBU1MgZXZlbnQgdHlwZTogd2hlZWwsIHRhcmdldDogdGFyZ2V0MSwgcmVjZWl2
ZWQgb246IHRhcmdldDEKIFBBU1MgZXZlbnQgdHlwZTogd2hlZWwsIHRhcmdldDogdGFyZ2V0MSwg
cmVjZWl2ZWQgb246IGJvZHkKICAgICAgV2l0aCBhIGxvY2sgaW4gcGxhY2UgbW92ZSB0aGUgbW91
c2UuCi1QQVNTIGV2ZW50IHR5cGU6IG1vdXNlbW92ZSwgbW92ZW1lbnRYOiAyNSwgbW92ZW1lbnRZ
OiAtMzAsIHRhcmdldDogdGFyZ2V0MSwgcmVjZWl2ZWQgb246IHRhcmdldDEKLVBBU1MgZXZlbnQg
dHlwZTogbW91c2Vtb3ZlLCBtb3ZlbWVudFg6IDI1LCBtb3ZlbWVudFk6IC0zMCwgdGFyZ2V0OiB0
YXJnZXQxLCByZWNlaXZlZCBvbjogYm9keQorUEFTUyBldmVudCB0eXBlOiBtb3VzZW1vdmUsIG1v
dmVtZW50WDogMjUsIG1vdmVtZW50WTogMzAsIHRhcmdldDogdGFyZ2V0MSwgcmVjZWl2ZWQgb246
IHRhcmdldDEKK1BBU1MgZXZlbnQgdHlwZTogbW91c2Vtb3ZlLCBtb3ZlbWVudFg6IDI1LCBtb3Zl
bWVudFk6IDMwLCB0YXJnZXQ6IHRhcmdldDEsIHJlY2VpdmVkIG9uOiBib2R5CiAgICAgIFdpdGgg
YSBsb2NrIGluIHBsYWNlIHNlbmQgYSBjbGljay4KIFBBU1MgZXZlbnQgdHlwZTogbW91c2Vkb3du
LCB0YXJnZXQ6IHRhcmdldDEsIHJlY2VpdmVkIG9uOiB0YXJnZXQxCiBQQVNTIGV2ZW50IHR5cGU6
IG1vdXNlZG93biwgdGFyZ2V0OiB0YXJnZXQxLCByZWNlaXZlZCBvbjogYm9keQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcG9pbnRlci1sb2NrL3BvaW50ZXJtb3ZlLW1vdmVtZW50LWRlbHRhLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BvaW50ZXItbG9jay9wb2ludGVybW92ZS1tb3ZlbWVu
dC1kZWx0YS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGMzOWE2YzcxMDI3YzczNDEwYWZjN2Vm
NmU1NzZhYTU3YzJiY2JiNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BvaW50ZXIt
bG9jay9wb2ludGVybW92ZS1tb3ZlbWVudC1kZWx0YS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
IEBACisKK1BBU1MgVGVzdGluZyB0aGUgbW92ZW1lbnRYIGFuZCBtb3ZlbWVudFkgcHJvcGVydGll
cyBvZiBhIHBvaW50ZXIgZXZlbnQgdHJpZ2dlcmVkIGJ5IGEgbW91c2UuCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BvaW50ZXItbG9jay9wb2ludGVybW92ZS1tb3ZlbWVudC1kZWx0YS5odG1s
IGIvTGF5b3V0VGVzdHMvcG9pbnRlci1sb2NrL3BvaW50ZXJtb3ZlLW1vdmVtZW50LWRlbHRhLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYTEzN2JjMDg2ZjM0ZWFjYzk1ZThjODRhODI0MDI0MGI3NDMzZTNhMgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BvaW50ZXItbG9jay9wb2ludGVybW92ZS1t
b3ZlbWVudC1kZWx0YS5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcG9pbnRlcmV2ZW50cy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCisi
dXNlIHN0cmljdCI7CisKK3RhcmdldF90ZXN0KCh0YXJnZXQsIHRlc3QpID0+IHsKKyAgICBldmVu
dFNlbmRlci5tb3VzZU1vdmVUbygxMDAsIDEwMCk7CisKKyAgICB0YXJnZXQuYWRkRXZlbnRMaXN0
ZW5lcigicG9pbnRlcm1vdmUiLCAoZXZlbnQpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhl
dmVudC54LCAxNTAsICJUaGUgeCBwcm9wZXJ0eSB2YWx1ZSBpcyBhcyBleHBlY3RlZC4iKTsKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhldmVudC55LCAxNTAsICJUaGUgeSBwcm9wZXJ0eSB2YWx1ZSBp
cyBhcyBleHBlY3RlZC4iKTsKKworICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50Lm1vdmVtZW50
WCwgNTAsICJUaGUgbW92ZW1lbnRYIHByb3BlcnR5IHZhbHVlIGlzIGFzIGV4cGVjdGVkLiIpOwor
ICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50Lm1vdmVtZW50WSwgNTAsICJUaGUgbW92ZW1lbnRZ
IHByb3BlcnR5IHZhbHVlIGlzIGFzIGV4cGVjdGVkLiIpOworCisgICAgICAgIHRlc3QuZG9uZSgp
OworICAgIH0pOworCisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMTUwLCAxNTApOworfSwg
IlRlc3RpbmcgdGhlIG1vdmVtZW50WCBhbmQgbW92ZW1lbnRZIHByb3BlcnRpZXMgb2YgYSBwb2lu
dGVyIGV2ZW50IHRyaWdnZXJlZCBieSBhIG1vdXNlLiIpOworCis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>