<?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>220663</bug_id>
          
          <creation_ts>2021-01-15 12:08:18 -0800</creation_ts>
          <short_desc>[GPUProcess] Mark IOSurface backing for ImageBufferBackends as owned by the WebProcess</short_desc>
          <delta_ts>2021-01-20 09:32:56 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</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=220770</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>kings14x</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>simon.fraser</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>1719938</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-15 12:08:18 -0800</bug_when>
    <thetext>Claim ownership of IOSurface backing for ImageBufferBackends in the WebProcess. If we don&apos;t do this, all IOSurface memory gets attributed to the GPUProcess, making it a prime candidate for jetsam.
We need to attribute memory usage to the WebProcesses being served by the GPUProcess as much as possible and this is a step in this direction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719939</commentid>
    <comment_count>1</comment_count>
      <attachid>417719</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-15 12:11:47 -0800</bug_when>
    <thetext>Created attachment 417719
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719941</commentid>
    <comment_count>2</comment_count>
      <attachid>417719</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-01-15 12:16:29 -0800</bug_when>
    <thetext>Comment on attachment 417719
Patch

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

&gt; Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.cpp:52
&gt; +    if (result != kIOReturnSuccess)

This should be in ImageBufferShareableMappedIOSurfaceBackend, and /only/ in ImageBufferShareableMappedIOSurfaceBackend. ImageBufferShareableIOSurfaceBackend (the unmapped variant) by definition must not IOSurfaceLookupFromMachPort.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719943</commentid>
    <comment_count>3</comment_count>
    <who name="jared">kings14x</who>
    <bug_when>2021-01-15 12:18:21 -0800</bug_when>
    <thetext>i need to get some info about this</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719944</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-15 12:19:30 -0800</bug_when>
    <thetext>(In reply to Tim Horton from comment #2)
&gt; Comment on attachment 417719 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=417719&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.cpp:52
&gt; &gt; +    if (result != kIOReturnSuccess)
&gt; 
&gt; This should be in ImageBufferShareableMappedIOSurfaceBackend, and /only/ in
&gt; ImageBufferShareableMappedIOSurfaceBackend.
&gt; ImageBufferShareableIOSurfaceBackend (the unmapped variant) by definition
&gt; must not IOSurfaceLookupFromMachPort.

This means that with DOM rendering enabled, we will not have a short term fix for view tiles. I understand that in the long term, we want to stop using IOSurface in the WebProcess. However, in the short term, my proposal was to do this (which works for now).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719949</commentid>
    <comment_count>5</comment_count>
      <attachid>417719</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-01-15 12:28:17 -0800</bug_when>
    <thetext>Comment on attachment 417719
Patch

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

&gt;&gt;&gt; Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.cpp:52
&gt;&gt;&gt; +    if (result != kIOReturnSuccess)
&gt;&gt; 
&gt;&gt; This should be in ImageBufferShareableMappedIOSurfaceBackend, and /only/ in ImageBufferShareableMappedIOSurfaceBackend. ImageBufferShareableIOSurfaceBackend (the unmapped variant) by definition must not IOSurfaceLookupFromMachPort.
&gt; 
&gt; This means that with DOM rendering enabled, we will not have a short term fix for view tiles. I understand that in the long term, we want to stop using IOSurface in the WebProcess. However, in the short term, my proposal was to do this (which works for now).

Like I said on Slack (but will write here for wider audience), if you want to do this, you should just make DOM use the mapped backend (temporarily) instead of making the non-mapped case map the surfaces :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719957</commentid>
    <comment_count>6</comment_count>
      <attachid>417722</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-15 12:42:49 -0800</bug_when>
    <thetext>Created attachment 417722
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719959</commentid>
    <comment_count>7</comment_count>
      <attachid>417723</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-15 12:53:18 -0800</bug_when>
    <thetext>Created attachment 417723
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719971</commentid>
    <comment_count>8</comment_count>
      <attachid>417727</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-15 13:13:14 -0800</bug_when>
    <thetext>Created attachment 417727
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720095</commentid>
    <comment_count>9</comment_count>
      <attachid>417752</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-15 17:52:17 -0800</bug_when>
    <thetext>Created attachment 417752
WIP Patch

Ok, I have it working from the GPUProcess this time (no need for IOSurface calls in the WebProcess at all). Much better solution for the long term.

I still need to do some clean up: It may look nicer to transfer the ownership in RemoteRenderingBackend::createImageBuffer() or somewhere else that has access to both the PID and IOSurface, instead of doing it in RemoteRenderingBackend::didCreateImageBufferBackend().
Doing it in RemoteRenderingBackend::didCreateImageBufferBackend() is convenient but it needs I need to look up the IOSurface from the handle again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720540</commentid>
    <comment_count>10</comment_count>
      <attachid>417879</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-19 09:03:38 -0800</bug_when>
    <thetext>Created attachment 417879
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720556</commentid>
    <comment_count>11</comment_count>
      <attachid>417883</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-19 09:58:01 -0800</bug_when>
    <thetext>Created attachment 417883
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720559</commentid>
    <comment_count>12</comment_count>
      <attachid>417884</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-19 10:04:29 -0800</bug_when>
    <thetext>Created attachment 417884
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720599</commentid>
    <comment_count>13</comment_count>
      <attachid>417884</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-01-19 11:29:10 -0800</bug_when>
    <thetext>Comment on attachment 417884
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720607</commentid>
    <comment_count>14</comment_count>
      <attachid>417884</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-01-19 11:38:38 -0800</bug_when>
    <thetext>Comment on attachment 417884
Patch

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

&gt; Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:910
&gt; +(allow mach-priv-task-port)

We probably need to find a way to reduce the scope of sandbox change here. This is relatively high privilege thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720674</commentid>
    <comment_count>15</comment_count>
      <attachid>417727</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-01-19 13:45:38 -0800</bug_when>
    <thetext>Comment on attachment 417727
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720679</commentid>
    <comment_count>16</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-19 13:49:05 -0800</bug_when>
    <thetext>One API test failure on open source api bot:

TestWebKitAPI.GPUProcess.CanvasBasicCrashHandling
        dyld: lazy symbol binding failed: Symbol not found: _IOSurfaceSetOwnership
          Referenced from: /Volumes/Data/worker/API-Tests-iOS-Simulator-EWS/build/WebKitBuild/Release-iphonesimulator/WebKit.framework/WebKit
          Expected in: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/IOSurface.framework/IOSurface
        
        dyld: Symbol not found: _IOSurfaceSetOwnership
          Referenced from: /Volumes/Data/worker/API-Tests-iOS-Simulator-EWS/build/WebKitBuild/Release-iphonesimulator/WebKit.framework/WebKit
          Expected in: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/IOSurface.framework/IOSurface</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720687</commentid>
    <comment_count>17</comment_count>
      <attachid>417912</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-19 14:06:51 -0800</bug_when>
    <thetext>Created attachment 417912
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720735</commentid>
    <comment_count>18</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-19 16:07:44 -0800</bug_when>
    <thetext>Committed r271627: &lt;https://trac.webkit.org/changeset/271627&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 417912.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720736</commentid>
    <comment_count>19</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-01-19 16:08:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/73378219&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417719</attachid>
            <date>2021-01-15 12:11:47 -0800</date>
            <delta_ts>2021-01-15 12:42:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220663-20210115121146.patch</filename>
            <type>text/plain</type>
            <size>6061</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBlNTM3Mzg3
ZThmZDIyODk1YWNkNzA1OGE4NjcyNDY0ZTJlNmMyNDc4Li44YWFiYWI4Nzk5ZTEyNmFhZmFjNzIy
MmY3YjcxYjkzYjY5MmI0NTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAyMS0wMS0xNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFtH
UFVQcm9jZXNzXSBDbGFpbSBvd25lcnNoaXAgb2YgSU9TdXJmYWNlIGJhY2tpbmcgZm9yIEltYWdl
QnVmZmVyQmFja2VuZHMgaW4gdGhlIFdlYlByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDY2MworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIERlY2xhcmUgbmV3IElPU3VyZmFjZSBTUEkuCisKKyAg
ICAgICAgKiBwYWwvc3BpL2NvY29hL0lPU3VyZmFjZVNQSS5oOgorCiAyMDIxLTAxLTE0ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIEV4Y2VwdGlvbnMg
dGhyb3duIHdoZW4gaW52b2tpbmcgYSA8c2VsZWN0PiBvbiBhbiBpUGhvbmUtaWRpb20gYXBwIHJ1
bm5pbmcgb24gbWFjT1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYzgxZjE3MTRiMmU1Nzc0NTQ1YjAxYjUxZDgxOTJj
NjQ0YTE1YTc4Zi4uZjFjYWRjYTIxYWNjZTI2MzllZDJjNzMyN2FkYTdkZGMwYTZjOGEwOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAyMS0wMS0xNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgorCisgICAgICAgIFtHUFVQcm9jZXNzXSBDbGFpbSBvd25lcnNoaXAgb2YgSU9T
dXJmYWNlIGJhY2tpbmcgZm9yIEltYWdlQnVmZmVyQmFja2VuZHMgaW4gdGhlIFdlYlByb2Nlc3MK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDY2Mwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENsYWltIG93
bmVyc2hpcCBvZiBJT1N1cmZhY2UgYmFja2luZyBmb3IgSW1hZ2VCdWZmZXJCYWNrZW5kcyBpbiB0
aGUgV2ViUHJvY2Vzcy4gSWYgd2UgZG9uJ3QKKyAgICAgICAgZG8gdGhpcywgYWxsIElPU3VyZmFj
ZSBtZW1vcnkgZ2V0cyBhdHRyaWJ1dGVkIHRvIHRoZSBHUFVQcm9jZXNzLCBtYWtpbmcgaXQgYSBw
cmltZSBjYW5kaWRhdGUKKyAgICAgICAgZm9yIGpldHNhbS4gV2UgbmVlZCB0byBhdHRyaWJ1dGUg
bWVtb3J5IHVzYWdlIHRvIHRoZSBXZWJQcm9jZXNzZXMgYmVpbmcgc2VydmVkIGJ5IHRoZQorICAg
ICAgICBHUFVQcm9jZXNzIGFzIG11Y2ggYXMgcG9zc2libGUgYW5kIHRoaXMgaXMgYSBzdGVwIGlu
IHRoaXMgZGlyZWN0aW9uLgorCisgICAgICAgIEkgaGF2ZSB2ZXJpZmllZCBsb2NhbGx5IHRoYXQg
Ym90aCBqZXRzYW1fcHJpb3JpdHkgYW5kIGZvb3RwcmludCB0b29scyBzaG93IElPU3VyZmFjZSBt
ZW1vcnkKKyAgICAgICAgdXNhZ2UgbW92ZWQgZnJvbSB0aGUgR1BVUHJvY2VzcyB0byB0aGUgV2Vi
UHJvY2Vzcy4gSnVzdCBsb2FkaW5nIHRoZSByZWRkaXQuY29tIGZyb250IHBhZ2UKKyAgICAgICAg
Zm9yIGV4YW1wbGUsIEkgc2VlIDMwLjVNQiBvZiBJT1N1cmZhY2UgbWVtb3J5IG1vdmluZyBmcm9t
IHRoZSBHUFVQcm9jZXNzIHRvIHRoZSBXZWJQcm9jZXNzLgorCisgICAgICAgICogV2ViUHJvY2Vz
cy9HUFUvZ3JhcGhpY3MvY29jb2EvSW1hZ2VCdWZmZXJTaGFyZWFibGVJT1N1cmZhY2VCYWNrZW5k
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW1hZ2VCdWZmZXJTaGFyZWFibGVJT1N1cmZhY2VCYWNr
ZW5kOjpjcmVhdGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL2NvY29hL0lt
YWdlQnVmZmVyU2hhcmVhYmxlTWFwcGVkSU9TdXJmYWNlQmFja2VuZC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OkltYWdlQnVmZmVyU2hhcmVhYmxlTWFwcGVkSU9TdXJmYWNlQmFja2VuZDo6Y3JlYXRl
KToKKwogMjAyMS0wMS0xNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtHUFVQcm9jZXNzXSBJbXByb3ZlIHRoZSBHUFVQcm9jZXNzJyBtZW1vcnkgcHJlc3N1cmUg
aGFuZGxlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvSU9T
dXJmYWNlU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9JT1N1cmZhY2VT
UEkuaAppbmRleCA3Y2JmNzU5ODcyNjE0YTg4OTg4MDA1MmE2MzA0M2QyMDEzNTU5NzUzLi5mYTdk
MWQ3YmEwNDRkMTBmYTA2MDViN2Q2MDM4MDE3ZTVkOGZmYzhhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9JT1N1cmZhY2VTUEkuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL3NwaS9jb2NvYS9JT1N1cmZhY2VTUEkuaApAQCAtNzQsNiArNzQsNyBAQCBP
U1R5cGUgSU9TdXJmYWNlR2V0UGl4ZWxGb3JtYXQoSU9TdXJmYWNlUmVmIGJ1ZmZlcik7CiBCb29s
ZWFuIElPU3VyZmFjZUlzSW5Vc2UoSU9TdXJmYWNlUmVmIGJ1ZmZlcik7CiBJT1JldHVybiBJT1N1
cmZhY2VMb2NrKElPU3VyZmFjZVJlZiBidWZmZXIsIHVpbnQzMl90IG9wdGlvbnMsIHVpbnQzMl90
ICpzZWVkKTsKIElPU3VyZmFjZVJlZiBJT1N1cmZhY2VMb29rdXBGcm9tTWFjaFBvcnQobWFjaF9w
b3J0X3QpOworSU9SZXR1cm4gSU9TdXJmYWNlU2V0T3duZXJzaGlwKElPU3VyZmFjZVJlZiBidWZm
ZXIsIHRhc2tfdCBuZXdPd25lciwgaW50IG5ld0xlZGdlclRhZywgdWludDMyX3QgbmV3TGVkZ2Vy
T3B0aW9ucyk7CiBJT1JldHVybiBJT1N1cmZhY2VVbmxvY2soSU9TdXJmYWNlUmVmIGJ1ZmZlciwg
dWludDMyX3Qgb3B0aW9ucywgdWludDMyX3QgKnNlZWQpOwogc2l6ZV90IElPU3VyZmFjZUdldFdp
ZHRoT2ZQbGFuZShJT1N1cmZhY2VSZWYgYnVmZmVyLCBzaXplX3QgcGxhbmVJbmRleCk7CiBzaXpl
X3QgSU9TdXJmYWNlR2V0SGVpZ2h0T2ZQbGFuZShJT1N1cmZhY2VSZWYgYnVmZmVyLCBzaXplX3Qg
cGxhbmVJbmRleCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dy
YXBoaWNzL2NvY29hL0ltYWdlQnVmZmVyU2hhcmVhYmxlSU9TdXJmYWNlQmFja2VuZC5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL2NvY29hL0ltYWdlQnVmZmVyU2hh
cmVhYmxlSU9TdXJmYWNlQmFja2VuZC5jcHAKaW5kZXggNTdjN2Y3ZDVhMjQ1OTdkMmI2YjJmZjNl
YjUwZDdmNTY5NzQ5NTBhOS4uZmI2NmYyNzAxMzk0NDQ4Njk3OTUyMzM0N2Y2YmY4OWY0YzM3ZmVk
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9jb2Nv
YS9JbWFnZUJ1ZmZlclNoYXJlYWJsZUlPU3VyZmFjZUJhY2tlbmQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvY29jb2EvSW1hZ2VCdWZmZXJTaGFyZWFibGVJ
T1N1cmZhY2VCYWNrZW5kLmNwcApAQCAtMjgsNyArMjgsOSBAQAogCiAjaWYgSEFWRShJT1NVUkZB
Q0UpCiAKKyNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFwaGljc0Nv
bnRleHRDRy5oPgorI2luY2x1ZGUgPHBhbC9zcGkvY29jb2EvSU9TdXJmYWNlU1BJLmg+CiAjaW5j
bHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFz
Lmg+CiAKQEAgLTQ0LDYgKzQ2LDEyIEBAIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlclNoYXJl
YWJsZUlPU3VyZmFjZUJhY2tlbmQ+IEltYWdlQnVmZmVyU2hhcmVhYmxlSU9TdXJmCiAgICAgICAg
IHJldHVybiBudWxscHRyOwogICAgIH0KIAorICAgIC8vIENsYWltIGluIHRoZSBXZWJQcm9jZXNz
IG93bmVyc2hpcCBvZiB0aGUgSU9TdXJmYWNlIGNvbnN0cnVjdGVkIGJ5IHRoZSBHUFVQcm9jZXNz
IHNvIHRoYXQgSmV0c2FtIGtub3dzIHdoaWNoIHByb2Nlc3NlcyB0byBraWxsLgorICAgIGF1dG8g
c3VyZmFjZSA9IGFkb3B0Q0YoSU9TdXJmYWNlTG9va3VwRnJvbU1hY2hQb3J0KFdURjo6Z2V0PE1h
Y2hTZW5kUmlnaHQ+KGhhbmRsZSkuc2VuZFJpZ2h0KCkpKTsKKyAgICBhdXRvIHJlc3VsdCA9IElP
U3VyZmFjZVNldE93bmVyc2hpcChzdXJmYWNlLmdldCgpLCBtYWNoX3Rhc2tfc2VsZigpLCBrSU9T
dXJmYWNlTWVtb3J5TGVkZ2VyVGFnR3JhcGhpY3MsIDApOworICAgIGlmIChyZXN1bHQgIT0ga0lP
UmV0dXJuU3VjY2VzcykKKyAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2VzcywgIkZhaWxl
ZCB0byBjbGFpbSBvd25lcnNoaXAgb2YgSU9TdXJmYWNlICVwLiBFcnJvcjogJWQiLCBzdXJmYWNl
LmdldCgpLCByZXN1bHQpOworCiAgICAgcmV0dXJuIG1ha2VVbmlxdWU8SW1hZ2VCdWZmZXJTaGFy
ZWFibGVJT1N1cmZhY2VCYWNrZW5kPihwYXJhbWV0ZXJzLCBXVEZNb3ZlKGhhbmRsZSkpOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL2NvY29h
L0ltYWdlQnVmZmVyU2hhcmVhYmxlTWFwcGVkSU9TdXJmYWNlQmFja2VuZC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL2NvY29hL0ltYWdlQnVmZmVyU2hhcmVhYmxl
TWFwcGVkSU9TdXJmYWNlQmFja2VuZC5jcHAKaW5kZXggMWViYWQ0MzJhMjE1M2ZhMDQzZmU4OGRl
OGJiMTNiYzZjZGI2MWY0MC4uNjQ0NWY2Y2FjYWE1OGQyOWM4MTI4NWIyMDYzNDUwZDkxZTdmZGM0
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9jb2Nv
YS9JbWFnZUJ1ZmZlclNoYXJlYWJsZU1hcHBlZElPU3VyZmFjZUJhY2tlbmQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvY29jb2EvSW1hZ2VCdWZmZXJTaGFy
ZWFibGVNYXBwZWRJT1N1cmZhY2VCYWNrZW5kLmNwcApAQCAtMjgsNyArMjgsOSBAQAogCiAjaWYg
RU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBIQVZFKElPU1VSRkFDRSkKIAorI2luY2x1ZGUgIkxvZ2dp
bmcuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dENHLmg+CisjaW5jbHVkZSA8
cGFsL3NwaS9jb2NvYS9JT1N1cmZhY2VTUEkuaD4KICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5s
aW5lcy5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIApAQCAtNjcsNiArNjksMTEg
QEAgc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyU2hhcmVhYmxlTWFwcGVkSU9TdXJmYWNlQmFj
a2VuZD4gSW1hZ2VCdWZmZXJTaGFyZWFibGUKICAgICBpZiAoIXN1cmZhY2UpCiAgICAgICAgIHJl
dHVybiBudWxscHRyOwogCisgICAgLy8gQ2xhaW0gaW4gdGhlIFdlYlByb2Nlc3Mgb3duZXJzaGlw
IG9mIHRoZSBJT1N1cmZhY2UgY29uc3RydWN0ZWQgYnkgdGhlIEdQVVByb2Nlc3Mgc28gdGhhdCBK
ZXRzYW0ga25vd3Mgd2hpY2ggcHJvY2Vzc2VzIHRvIGtpbGwuCisgICAgYXV0byByZXN1bHQgPSBJ
T1N1cmZhY2VTZXRPd25lcnNoaXAoc3VyZmFjZS0+c3VyZmFjZSgpLCBtYWNoX3Rhc2tfc2VsZigp
LCBrSU9TdXJmYWNlTWVtb3J5TGVkZ2VyVGFnR3JhcGhpY3MsIDApOworICAgIGlmIChyZXN1bHQg
IT0ga0lPUmV0dXJuU3VjY2VzcykKKyAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2Vzcywg
IkZhaWxlZCB0byBjbGFpbSBvd25lcnNoaXAgb2YgSU9TdXJmYWNlICVwLiBFcnJvcjogJWQiLCBz
dXJmYWNlLT5zdXJmYWNlKCksIHJlc3VsdCk7CisKICAgICByZXR1cm4gbWFrZVVuaXF1ZTxJbWFn
ZUJ1ZmZlclNoYXJlYWJsZU1hcHBlZElPU3VyZmFjZUJhY2tlbmQ+KHBhcmFtZXRlcnMsIFdURk1v
dmUoc3VyZmFjZSkpOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417722</attachid>
            <date>2021-01-15 12:42:49 -0800</date>
            <delta_ts>2021-01-15 12:59:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220663-20210115124248.patch</filename>
            <type>text/plain</type>
            <size>4388</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBlNTM3Mzg3
ZThmZDIyODk1YWNkNzA1OGE4NjcyNDY0ZTJlNmMyNDc4Li44YWFiYWI4Nzk5ZTEyNmFhZmFjNzIy
MmY3YjcxYjkzYjY5MmI0NTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAyMS0wMS0xNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFtH
UFVQcm9jZXNzXSBDbGFpbSBvd25lcnNoaXAgb2YgSU9TdXJmYWNlIGJhY2tpbmcgZm9yIEltYWdl
QnVmZmVyQmFja2VuZHMgaW4gdGhlIFdlYlByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDY2MworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIERlY2xhcmUgbmV3IElPU3VyZmFjZSBTUEkuCisKKyAg
ICAgICAgKiBwYWwvc3BpL2NvY29hL0lPU3VyZmFjZVNQSS5oOgorCiAyMDIxLTAxLTE0ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIEV4Y2VwdGlvbnMg
dGhyb3duIHdoZW4gaW52b2tpbmcgYSA8c2VsZWN0PiBvbiBhbiBpUGhvbmUtaWRpb20gYXBwIHJ1
bm5pbmcgb24gbWFjT1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYzgxZjE3MTRiMmU1Nzc0NTQ1YjAxYjUxZDgxOTJj
NjQ0YTE1YTc4Zi4uOTk2NTU4ODM3YzU4YzQ0YjI2OWExZTg3N2NiY2UzODllN2YwODAxNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMS0wMS0xNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgorCisgICAgICAgIFtHUFVQcm9jZXNzXSBDbGFpbSBvd25lcnNoaXAgb2YgQ2Fu
dmFzIElPU3VyZmFjZSBiYWNraW5nIGluIHRoZSBXZWJQcm9jZXNzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjA2NjMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDbGFpbSBvd25lcnNoaXAgb2YgQ2FudmFz
IElPU3VyZmFjZSBiYWNraW5nIGluIHRoZSBXZWJQcm9jZXNzLiBJZiB3ZSBkb24ndCBkbyB0aGlz
LCBhbGwKKyAgICAgICAgSU9TdXJmYWNlIG1lbW9yeSBnZXRzIGF0dHJpYnV0ZWQgdG8gdGhlIEdQ
VVByb2Nlc3MsIG1ha2luZyBpdCBhIHByaW1lIGNhbmRpZGF0ZSBmb3IgamV0c2FtLgorICAgICAg
ICBXZSBuZWVkIHRvIGF0dHJpYnV0ZSBtZW1vcnkgdXNhZ2UgdG8gdGhlIFdlYlByb2Nlc3NlcyBi
ZWluZyBzZXJ2ZWQgYnkgdGhlIEdQVVByb2Nlc3MgYXMgbXVjaAorICAgICAgICBhcyBwb3NzaWJs
ZSBhbmQgdGhpcyBpcyBhIHN0ZXAgaW4gdGhpcyBkaXJlY3Rpb24uCisKKyAgICAgICAgTm90ZSB0
aGF0IHRoaXMgcGF0Y2ggY3VycmVudGx5IG9ubHkgaW1wYWN0cyBDYW52YXMgSU9TdXJmYWNlIGJh
Y2tpbmcgd2hlbiAiRE9NIFJlbmRlcmluZyBpbgorICAgICAgICBHUFVQcm9jZXNzIiBpcyBkaXNh
YmxlZC4gV2hlbiAiRE9NIFJlbmRlcmluZyBpbiBHUFVQcm9jZXNzIiBpcyBlbmFibGVkLCB3ZSBh
cmUgbm90IHN1cHBvc2VkCisgICAgICAgIHRvIHVzZSB0aGUgSU9TdXJmYWNlIEFQSSBpbiB0aGUg
V2ViUHJvY2VzcyBhdCBhbGwuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9j
b2NvYS9JbWFnZUJ1ZmZlclNoYXJlYWJsZU1hcHBlZElPU3VyZmFjZUJhY2tlbmQuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpJbWFnZUJ1ZmZlclNoYXJlYWJsZU1hcHBlZElPU3VyZmFjZUJhY2tlbmQ6
OmNyZWF0ZSk6CisKIDIwMjEtMDEtMTUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBbR1BVUHJvY2Vzc10gSW1wcm92ZSB0aGUgR1BVUHJvY2VzcycgbWVtb3J5IHBy
ZXNzdXJlIGhhbmRsZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2Nv
Y29hL0lPU3VyZmFjZVNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvSU9T
dXJmYWNlU1BJLmgKaW5kZXggN2NiZjc1OTg3MjYxNGE4ODk4ODAwNTJhNjMwNDNkMjAxMzU1OTc1
My4uYTBkNDQ2YTU3OWYzODhmYzk5ODNlMjM2ODgwMzEwYzNkZWFjM2QxMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvSU9TdXJmYWNlU1BJLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvSU9TdXJmYWNlU1BJLmgKQEAgLTg4LDYgKzg4
LDE2IEBAIFdURl9FWFRFUk5fQ19FTkQKIAogI2ltcG9ydCA8SU9TdXJmYWNlL0lPU3VyZmFjZVR5
cGVzLmg+CiAKK3R5cGVkZWYgQ0ZfRU5VTShpbnQsIElPU3VyZmFjZU1lbW9yeUxlZGdlclRhZ3Mp
IHsKKyAgICBrSU9TdXJmYWNlTWVtb3J5TGVkZ2VyVGFnRGVmYXVsdCAgICAgPSAweDAwMDAwMDAx
LAorICAgIGtJT1N1cmZhY2VNZW1vcnlMZWRnZXJUYWdOZXR3b3JrICAgICA9IDB4MDAwMDAwMDIs
CisgICAga0lPU3VyZmFjZU1lbW9yeUxlZGdlclRhZ01lZGlhICAgICAgID0gMHgwMDAwMDAwMywK
KyAgICBrSU9TdXJmYWNlTWVtb3J5TGVkZ2VyVGFnR3JhcGhpY3MgICAgPSAweDAwMDAwMDA0LAor
ICAgIGtJT1N1cmZhY2VNZW1vcnlMZWRnZXJUYWdOZXVyYWwgICAgICA9IDB4MDAwMDAwMDUsCit9
OworCitJT1JldHVybiBJT1N1cmZhY2VTZXRPd25lcnNoaXAoSU9TdXJmYWNlUmVmIGJ1ZmZlciwg
dGFza190IG5ld093bmVyLCBpbnQgbmV3TGVkZ2VyVGFnLCB1aW50MzJfdCBuZXdMZWRnZXJPcHRp
b25zKTsKKwogI2VuZGlmCiAKIFdURl9FWFRFUk5fQ19CRUdJTgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9jb2NvYS9JbWFnZUJ1ZmZlclNoYXJlYWJs
ZU1hcHBlZElPU3VyZmFjZUJhY2tlbmQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9ncmFwaGljcy9jb2NvYS9JbWFnZUJ1ZmZlclNoYXJlYWJsZU1hcHBlZElPU3VyZmFjZUJhY2tl
bmQuY3BwCmluZGV4IDFlYmFkNDMyYTIxNTNmYTA0M2ZlODhkZThiYjEzYmM2Y2RiNjFmNDAuLjY0
NDVmNmNhY2FhNThkMjljODEyODViMjA2MzQ1MGQ5MWU3ZmRjNDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvY29jb2EvSW1hZ2VCdWZmZXJTaGFyZWFi
bGVNYXBwZWRJT1N1cmZhY2VCYWNrZW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL2dyYXBoaWNzL2NvY29hL0ltYWdlQnVmZmVyU2hhcmVhYmxlTWFwcGVkSU9TdXJmYWNl
QmFja2VuZC5jcHAKQEAgLTI4LDcgKzI4LDkgQEAKIAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykg
JiYgSEFWRShJT1NVUkZBQ0UpCiAKKyNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSA8V2Vi
Q29yZS9HcmFwaGljc0NvbnRleHRDRy5oPgorI2luY2x1ZGUgPHBhbC9zcGkvY29jb2EvSU9TdXJm
YWNlU1BJLmg+CiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KICNpbmNsdWRlIDx3
dGYvU3RkTGliRXh0cmFzLmg+CiAKQEAgLTY3LDYgKzY5LDExIEBAIHN0ZDo6dW5pcXVlX3B0cjxJ
bWFnZUJ1ZmZlclNoYXJlYWJsZU1hcHBlZElPU3VyZmFjZUJhY2tlbmQ+IEltYWdlQnVmZmVyU2hh
cmVhYmxlCiAgICAgaWYgKCFzdXJmYWNlKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAorICAg
IC8vIENsYWltIGluIHRoZSBXZWJQcm9jZXNzIG93bmVyc2hpcCBvZiB0aGUgSU9TdXJmYWNlIGNv
bnN0cnVjdGVkIGJ5IHRoZSBHUFVQcm9jZXNzIHNvIHRoYXQgSmV0c2FtIGtub3dzIHdoaWNoIHBy
b2Nlc3NlcyB0byBraWxsLgorICAgIGF1dG8gcmVzdWx0ID0gSU9TdXJmYWNlU2V0T3duZXJzaGlw
KHN1cmZhY2UtPnN1cmZhY2UoKSwgbWFjaF90YXNrX3NlbGYoKSwga0lPU3VyZmFjZU1lbW9yeUxl
ZGdlclRhZ0dyYXBoaWNzLCAwKTsKKyAgICBpZiAocmVzdWx0ICE9IGtJT1JldHVyblN1Y2Nlc3Mp
CisgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3MsICJGYWlsZWQgdG8gY2xhaW0gb3du
ZXJzaGlwIG9mIElPU3VyZmFjZSAlcC4gRXJyb3I6ICVkIiwgc3VyZmFjZS0+c3VyZmFjZSgpLCBy
ZXN1bHQpOworCiAgICAgcmV0dXJuIG1ha2VVbmlxdWU8SW1hZ2VCdWZmZXJTaGFyZWFibGVNYXBw
ZWRJT1N1cmZhY2VCYWNrZW5kPihwYXJhbWV0ZXJzLCBXVEZNb3ZlKHN1cmZhY2UpKTsKIH0KIAo=
</data>
<flag name="commit-queue"
          id="435494"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417723</attachid>
            <date>2021-01-15 12:53:18 -0800</date>
            <delta_ts>2021-01-15 13:33:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220663-20210115125318.patch</filename>
            <type>text/plain</type>
            <size>4430</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBlNTM3Mzg3
ZThmZDIyODk1YWNkNzA1OGE4NjcyNDY0ZTJlNmMyNDc4Li44YWFiYWI4Nzk5ZTEyNmFhZmFjNzIy
MmY3YjcxYjkzYjY5MmI0NTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAyMS0wMS0xNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFtH
UFVQcm9jZXNzXSBDbGFpbSBvd25lcnNoaXAgb2YgSU9TdXJmYWNlIGJhY2tpbmcgZm9yIEltYWdl
QnVmZmVyQmFja2VuZHMgaW4gdGhlIFdlYlByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDY2MworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIERlY2xhcmUgbmV3IElPU3VyZmFjZSBTUEkuCisKKyAg
ICAgICAgKiBwYWwvc3BpL2NvY29hL0lPU3VyZmFjZVNQSS5oOgorCiAyMDIxLTAxLTE0ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIEV4Y2VwdGlvbnMg
dGhyb3duIHdoZW4gaW52b2tpbmcgYSA8c2VsZWN0PiBvbiBhbiBpUGhvbmUtaWRpb20gYXBwIHJ1
bm5pbmcgb24gbWFjT1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYzgxZjE3MTRiMmU1Nzc0NTQ1YjAxYjUxZDgxOTJj
NjQ0YTE1YTc4Zi4uOTk2NTU4ODM3YzU4YzQ0YjI2OWExZTg3N2NiY2UzODllN2YwODAxNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMS0wMS0xNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgorCisgICAgICAgIFtHUFVQcm9jZXNzXSBDbGFpbSBvd25lcnNoaXAgb2YgQ2Fu
dmFzIElPU3VyZmFjZSBiYWNraW5nIGluIHRoZSBXZWJQcm9jZXNzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjA2NjMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDbGFpbSBvd25lcnNoaXAgb2YgQ2FudmFz
IElPU3VyZmFjZSBiYWNraW5nIGluIHRoZSBXZWJQcm9jZXNzLiBJZiB3ZSBkb24ndCBkbyB0aGlz
LCBhbGwKKyAgICAgICAgSU9TdXJmYWNlIG1lbW9yeSBnZXRzIGF0dHJpYnV0ZWQgdG8gdGhlIEdQ
VVByb2Nlc3MsIG1ha2luZyBpdCBhIHByaW1lIGNhbmRpZGF0ZSBmb3IgamV0c2FtLgorICAgICAg
ICBXZSBuZWVkIHRvIGF0dHJpYnV0ZSBtZW1vcnkgdXNhZ2UgdG8gdGhlIFdlYlByb2Nlc3NlcyBi
ZWluZyBzZXJ2ZWQgYnkgdGhlIEdQVVByb2Nlc3MgYXMgbXVjaAorICAgICAgICBhcyBwb3NzaWJs
ZSBhbmQgdGhpcyBpcyBhIHN0ZXAgaW4gdGhpcyBkaXJlY3Rpb24uCisKKyAgICAgICAgTm90ZSB0
aGF0IHRoaXMgcGF0Y2ggY3VycmVudGx5IG9ubHkgaW1wYWN0cyBDYW52YXMgSU9TdXJmYWNlIGJh
Y2tpbmcgd2hlbiAiRE9NIFJlbmRlcmluZyBpbgorICAgICAgICBHUFVQcm9jZXNzIiBpcyBkaXNh
YmxlZC4gV2hlbiAiRE9NIFJlbmRlcmluZyBpbiBHUFVQcm9jZXNzIiBpcyBlbmFibGVkLCB3ZSBh
cmUgbm90IHN1cHBvc2VkCisgICAgICAgIHRvIHVzZSB0aGUgSU9TdXJmYWNlIEFQSSBpbiB0aGUg
V2ViUHJvY2VzcyBhdCBhbGwuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9j
b2NvYS9JbWFnZUJ1ZmZlclNoYXJlYWJsZU1hcHBlZElPU3VyZmFjZUJhY2tlbmQuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpJbWFnZUJ1ZmZlclNoYXJlYWJsZU1hcHBlZElPU3VyZmFjZUJhY2tlbmQ6
OmNyZWF0ZSk6CisKIDIwMjEtMDEtMTUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBbR1BVUHJvY2Vzc10gSW1wcm92ZSB0aGUgR1BVUHJvY2VzcycgbWVtb3J5IHBy
ZXNzdXJlIGhhbmRsZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2Nv
Y29hL0lPU3VyZmFjZVNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvSU9T
dXJmYWNlU1BJLmgKaW5kZXggN2NiZjc1OTg3MjYxNGE4ODk4ODAwNTJhNjMwNDNkMjAxMzU1OTc1
My4uYjYyOWI4MGFiOGY0ZDVjZGJkNDllZDQ5N2RhMWM3MzRkMjE5ODhkNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvSU9TdXJmYWNlU1BJLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvSU9TdXJmYWNlU1BJLmgKQEAgLTg4LDYgKzg4
LDIwIEBAIFdURl9FWFRFUk5fQ19FTkQKIAogI2ltcG9ydCA8SU9TdXJmYWNlL0lPU3VyZmFjZVR5
cGVzLmg+CiAKK1dURl9FWFRFUk5fQ19CRUdJTgorCit0eXBlZGVmIENGX0VOVU0oaW50LCBJT1N1
cmZhY2VNZW1vcnlMZWRnZXJUYWdzKSB7CisgICAga0lPU3VyZmFjZU1lbW9yeUxlZGdlclRhZ0Rl
ZmF1bHQgICAgID0gMHgwMDAwMDAwMSwKKyAgICBrSU9TdXJmYWNlTWVtb3J5TGVkZ2VyVGFnTmV0
d29yayAgICAgPSAweDAwMDAwMDAyLAorICAgIGtJT1N1cmZhY2VNZW1vcnlMZWRnZXJUYWdNZWRp
YSAgICAgICA9IDB4MDAwMDAwMDMsCisgICAga0lPU3VyZmFjZU1lbW9yeUxlZGdlclRhZ0dyYXBo
aWNzICAgID0gMHgwMDAwMDAwNCwKKyAgICBrSU9TdXJmYWNlTWVtb3J5TGVkZ2VyVGFnTmV1cmFs
ICAgICAgPSAweDAwMDAwMDA1LAorfTsKKworSU9SZXR1cm4gSU9TdXJmYWNlU2V0T3duZXJzaGlw
KElPU3VyZmFjZVJlZiBidWZmZXIsIHRhc2tfdCBuZXdPd25lciwgaW50IG5ld0xlZGdlclRhZywg
dWludDMyX3QgbmV3TGVkZ2VyT3B0aW9ucyk7CisKK1dURl9FWFRFUk5fQ19FTkQKKwogI2VuZGlm
CiAKIFdURl9FWFRFUk5fQ19CRUdJTgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9ncmFwaGljcy9jb2NvYS9JbWFnZUJ1ZmZlclNoYXJlYWJsZU1hcHBlZElPU3VyZmFj
ZUJhY2tlbmQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9jb2Nv
YS9JbWFnZUJ1ZmZlclNoYXJlYWJsZU1hcHBlZElPU3VyZmFjZUJhY2tlbmQuY3BwCmluZGV4IDFl
YmFkNDMyYTIxNTNmYTA0M2ZlODhkZThiYjEzYmM2Y2RiNjFmNDAuLjY0NDVmNmNhY2FhNThkMjlj
ODEyODViMjA2MzQ1MGQ5MWU3ZmRjNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvZ3JhcGhpY3MvY29jb2EvSW1hZ2VCdWZmZXJTaGFyZWFibGVNYXBwZWRJT1N1cmZh
Y2VCYWNrZW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNz
L2NvY29hL0ltYWdlQnVmZmVyU2hhcmVhYmxlTWFwcGVkSU9TdXJmYWNlQmFja2VuZC5jcHAKQEAg
LTI4LDcgKzI4LDkgQEAKIAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgSEFWRShJT1NVUkZB
Q0UpCiAKKyNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFwaGljc0Nv
bnRleHRDRy5oPgorI2luY2x1ZGUgPHBhbC9zcGkvY29jb2EvSU9TdXJmYWNlU1BJLmg+CiAjaW5j
bHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFz
Lmg+CiAKQEAgLTY3LDYgKzY5LDExIEBAIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlclNoYXJl
YWJsZU1hcHBlZElPU3VyZmFjZUJhY2tlbmQ+IEltYWdlQnVmZmVyU2hhcmVhYmxlCiAgICAgaWYg
KCFzdXJmYWNlKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAorICAgIC8vIENsYWltIGluIHRo
ZSBXZWJQcm9jZXNzIG93bmVyc2hpcCBvZiB0aGUgSU9TdXJmYWNlIGNvbnN0cnVjdGVkIGJ5IHRo
ZSBHUFVQcm9jZXNzIHNvIHRoYXQgSmV0c2FtIGtub3dzIHdoaWNoIHByb2Nlc3NlcyB0byBraWxs
LgorICAgIGF1dG8gcmVzdWx0ID0gSU9TdXJmYWNlU2V0T3duZXJzaGlwKHN1cmZhY2UtPnN1cmZh
Y2UoKSwgbWFjaF90YXNrX3NlbGYoKSwga0lPU3VyZmFjZU1lbW9yeUxlZGdlclRhZ0dyYXBoaWNz
LCAwKTsKKyAgICBpZiAocmVzdWx0ICE9IGtJT1JldHVyblN1Y2Nlc3MpCisgICAgICAgIFJFTEVB
U0VfTE9HX0VSUk9SKFByb2Nlc3MsICJGYWlsZWQgdG8gY2xhaW0gb3duZXJzaGlwIG9mIElPU3Vy
ZmFjZSAlcC4gRXJyb3I6ICVkIiwgc3VyZmFjZS0+c3VyZmFjZSgpLCByZXN1bHQpOworCiAgICAg
cmV0dXJuIG1ha2VVbmlxdWU8SW1hZ2VCdWZmZXJTaGFyZWFibGVNYXBwZWRJT1N1cmZhY2VCYWNr
ZW5kPihwYXJhbWV0ZXJzLCBXVEZNb3ZlKHN1cmZhY2UpKTsKIH0KIAo=
</data>
<flag name="commit-queue"
          id="435499"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417727</attachid>
            <date>2021-01-15 13:13:14 -0800</date>
            <delta_ts>2021-01-19 14:06:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220663-20210115131313.patch</filename>
            <type>text/plain</type>
            <size>5284</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNTMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBlNTM3Mzg3
ZThmZDIyODk1YWNkNzA1OGE4NjcyNDY0ZTJlNmMyNDc4Li44YWFiYWI4Nzk5ZTEyNmFhZmFjNzIy
MmY3YjcxYjkzYjY5MmI0NTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAyMS0wMS0xNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFtH
UFVQcm9jZXNzXSBDbGFpbSBvd25lcnNoaXAgb2YgSU9TdXJmYWNlIGJhY2tpbmcgZm9yIEltYWdl
QnVmZmVyQmFja2VuZHMgaW4gdGhlIFdlYlByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDY2MworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIERlY2xhcmUgbmV3IElPU3VyZmFjZSBTUEkuCisKKyAg
ICAgICAgKiBwYWwvc3BpL2NvY29hL0lPU3VyZmFjZVNQSS5oOgorCiAyMDIxLTAxLTE0ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIEV4Y2VwdGlvbnMg
dGhyb3duIHdoZW4gaW52b2tpbmcgYSA8c2VsZWN0PiBvbiBhbiBpUGhvbmUtaWRpb20gYXBwIHJ1
bm5pbmcgb24gbWFjT1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNTU2YzA1ZGU0ZjdmZTY1ZjQwN2ZmODhiYWRkYWYw
NmQ5ZDZjYzE2Mi4uZTJmZjE2NTBhZGEyNWU4OWZiNTJkNjk3NGUyMWRlMWEyMzA4MjAzMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMS0wMS0xNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgorCisgICAgICAgIFtHUFVQcm9jZXNzXSBDbGFpbSBvd25lcnNoaXAgb2YgQ2Fu
dmFzIElPU3VyZmFjZSBiYWNraW5nIGluIHRoZSBXZWJQcm9jZXNzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjA2NjMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDbGFpbSBvd25lcnNoaXAgb2YgQ2FudmFz
IElPU3VyZmFjZSBiYWNraW5nIGluIHRoZSBXZWJQcm9jZXNzLiBJZiB3ZSBkb24ndCBkbyB0aGlz
LCBhbGwKKyAgICAgICAgSU9TdXJmYWNlIG1lbW9yeSBnZXRzIGF0dHJpYnV0ZWQgdG8gdGhlIEdQ
VVByb2Nlc3MsIG1ha2luZyBpdCBhIHByaW1lIGNhbmRpZGF0ZSBmb3IgamV0c2FtLgorICAgICAg
ICBXZSBuZWVkIHRvIGF0dHJpYnV0ZSBtZW1vcnkgdXNhZ2UgdG8gdGhlIFdlYlByb2Nlc3NlcyBi
ZWluZyBzZXJ2ZWQgYnkgdGhlIEdQVVByb2Nlc3MgYXMgbXVjaAorICAgICAgICBhcyBwb3NzaWJs
ZSBhbmQgdGhpcyBpcyBhIHN0ZXAgaW4gdGhpcyBkaXJlY3Rpb24uCisKKyAgICAgICAgTm90ZSB0
aGF0IHRoaXMgcGF0Y2ggY3VycmVudGx5IG9ubHkgaW1wYWN0cyBDYW52YXMgSU9TdXJmYWNlIGJh
Y2tpbmcgd2hlbiAiRE9NIFJlbmRlcmluZyBpbgorICAgICAgICBHUFVQcm9jZXNzIiBpcyBkaXNh
YmxlZC4gV2hlbiAiRE9NIFJlbmRlcmluZyBpbiBHUFVQcm9jZXNzIiBpcyBlbmFibGVkLCB3ZSBh
cmUgbm90IHN1cHBvc2VkCisgICAgICAgIHRvIHVzZSB0aGUgSU9TdXJmYWNlIEFQSSBpbiB0aGUg
V2ViUHJvY2VzcyBhdCBhbGwuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9j
b2NvYS9JbWFnZUJ1ZmZlclNoYXJlYWJsZU1hcHBlZElPU3VyZmFjZUJhY2tlbmQuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpJbWFnZUJ1ZmZlclNoYXJlYWJsZU1hcHBlZElPU3VyZmFjZUJhY2tlbmQ6
OmNyZWF0ZSk6CisKIDIwMjEtMDEtMTUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5A
d2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgbm9uLWluY2x1c2l2ZWx5IG5hbWVkIFdLQnJv
d3NpbmdDb250ZXh0R3JvdXAgU1BJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bUhhdmUuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCmluZGV4IGNmZGFmZDZmMmM4
OGVhYjY5MzAzMmE1NWYwYzc3ZTY3NjlhZTJlOTIuLjUxZjZiYjhmNDc3ZWU1OTkxNTM3MmMxYjEy
NWRjNjg2NzJmOTE4YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5o
CisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCkBAIC0yOTAsNiArMjkwLDEzIEBA
CiAjZGVmaW5lIEhBVkVfSU9TVVJGQUNFX0FDQ0VMRVJBVE9SIDEKICNlbmRpZgogCisjaWYgKFBM
QVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDAp
IFwKKyAgICB8fCAoKFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpKSAmJiBf
X0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDApIFwKKyAgICB8fCAoUExB
VEZPUk0oV0FUQ0hPUykgJiYgX19XQVRDSF9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSA2MDAw
MCkgXAorICAgIHx8IChQTEFURk9STShBUFBMRVRWKSAmJiBfX1RWX09TX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEzMDAwMCkKKyNkZWZpbmUgSEFWRV9JT1NVUkZBQ0VfU0VUX09XTkVSU0hJUCAx
CisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKE1BQykKICNkZWZpbmUgSEFWRV9OU19BQ1RJVklUWSAx
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0lP
U3VyZmFjZVNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvSU9TdXJmYWNl
U1BJLmgKaW5kZXggN2NiZjc1OTg3MjYxNGE4ODk4ODAwNTJhNjMwNDNkMjAxMzU1OTc1My4uZTI0
ZDUwMjY2MTNjNjQxM2Y3ZmI2MzJkNDhiZWMyZjM0YmQ0MDViZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvSU9TdXJmYWNlU1BJLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zcGkvY29jb2EvSU9TdXJmYWNlU1BJLmgKQEAgLTg4LDYgKzg4LDIyIEBA
IFdURl9FWFRFUk5fQ19FTkQKIAogI2ltcG9ydCA8SU9TdXJmYWNlL0lPU3VyZmFjZVR5cGVzLmg+
CiAKK1dURl9FWFRFUk5fQ19CRUdJTgorCisjaWYgSEFWRShJT1NVUkZBQ0VfU0VUX09XTkVSU0hJ
UCkKK3R5cGVkZWYgQ0ZfRU5VTShpbnQsIElPU3VyZmFjZU1lbW9yeUxlZGdlclRhZ3MpIHsKKyAg
ICBrSU9TdXJmYWNlTWVtb3J5TGVkZ2VyVGFnRGVmYXVsdCAgICAgPSAweDAwMDAwMDAxLAorICAg
IGtJT1N1cmZhY2VNZW1vcnlMZWRnZXJUYWdOZXR3b3JrICAgICA9IDB4MDAwMDAwMDIsCisgICAg
a0lPU3VyZmFjZU1lbW9yeUxlZGdlclRhZ01lZGlhICAgICAgID0gMHgwMDAwMDAwMywKKyAgICBr
SU9TdXJmYWNlTWVtb3J5TGVkZ2VyVGFnR3JhcGhpY3MgICAgPSAweDAwMDAwMDA0LAorICAgIGtJ
T1N1cmZhY2VNZW1vcnlMZWRnZXJUYWdOZXVyYWwgICAgICA9IDB4MDAwMDAwMDUsCit9OworCitJ
T1JldHVybiBJT1N1cmZhY2VTZXRPd25lcnNoaXAoSU9TdXJmYWNlUmVmIGJ1ZmZlciwgdGFza190
IG5ld093bmVyLCBpbnQgbmV3TGVkZ2VyVGFnLCB1aW50MzJfdCBuZXdMZWRnZXJPcHRpb25zKTsK
KyNlbmRpZiAvLyBIQVZFKElPU1VSRkFDRV9TRVRfT1dORVJTSElQKQorCitXVEZfRVhURVJOX0Nf
RU5ECisKICNlbmRpZgogCiBXVEZfRVhURVJOX0NfQkVHSU4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvY29jb2EvSW1hZ2VCdWZmZXJTaGFyZWFibGVN
YXBwZWRJT1N1cmZhY2VCYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
Z3JhcGhpY3MvY29jb2EvSW1hZ2VCdWZmZXJTaGFyZWFibGVNYXBwZWRJT1N1cmZhY2VCYWNrZW5k
LmNwcAppbmRleCAxZWJhZDQzMmEyMTUzZmEwNDNmZTg4ZGU4YmIxM2JjNmNkYjYxZjQwLi4xZjg5
NzA4ZTg2OTYzZWU3MDEzMGI0NjBlNjFjNzQ4ZmZmYzFkZjk3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL2NvY29hL0ltYWdlQnVmZmVyU2hhcmVhYmxl
TWFwcGVkSU9TdXJmYWNlQmFja2VuZC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9ncmFwaGljcy9jb2NvYS9JbWFnZUJ1ZmZlclNoYXJlYWJsZU1hcHBlZElPU3VyZmFjZUJh
Y2tlbmQuY3BwCkBAIC0yOCw3ICsyOCw5IEBACiAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYm
IEhBVkUoSU9TVVJGQUNFKQogCisjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgPFdlYkNv
cmUvR3JhcGhpY3NDb250ZXh0Q0cuaD4KKyNpbmNsdWRlIDxwYWwvc3BpL2NvY29hL0lPU3VyZmFj
ZVNQSS5oPgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3Rm
L1N0ZExpYkV4dHJhcy5oPgogCkBAIC02Nyw2ICs2OSwxMyBAQCBzdGQ6OnVuaXF1ZV9wdHI8SW1h
Z2VCdWZmZXJTaGFyZWFibGVNYXBwZWRJT1N1cmZhY2VCYWNrZW5kPiBJbWFnZUJ1ZmZlclNoYXJl
YWJsZQogICAgIGlmICghc3VyZmFjZSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKKyNpZiBI
QVZFKElPU1VSRkFDRV9TRVRfT1dORVJTSElQKQorICAgIC8vIENsYWltIGluIHRoZSBXZWJQcm9j
ZXNzIG93bmVyc2hpcCBvZiB0aGUgSU9TdXJmYWNlIGNvbnN0cnVjdGVkIGJ5IHRoZSBHUFVQcm9j
ZXNzIHNvIHRoYXQgSmV0c2FtIGtub3dzIHdoaWNoIHByb2Nlc3NlcyB0byBraWxsLgorICAgIGF1
dG8gcmVzdWx0ID0gSU9TdXJmYWNlU2V0T3duZXJzaGlwKHN1cmZhY2UtPnN1cmZhY2UoKSwgbWFj
aF90YXNrX3NlbGYoKSwga0lPU3VyZmFjZU1lbW9yeUxlZGdlclRhZ0dyYXBoaWNzLCAwKTsKKyAg
ICBpZiAocmVzdWx0ICE9IGtJT1JldHVyblN1Y2Nlc3MpCisgICAgICAgIFJFTEVBU0VfTE9HX0VS
Uk9SKFByb2Nlc3MsICJGYWlsZWQgdG8gY2xhaW0gb3duZXJzaGlwIG9mIElPU3VyZmFjZSAlcC4g
RXJyb3I6ICVkIiwgc3VyZmFjZS0+c3VyZmFjZSgpLCByZXN1bHQpOworI2VuZGlmCisKICAgICBy
ZXR1cm4gbWFrZVVuaXF1ZTxJbWFnZUJ1ZmZlclNoYXJlYWJsZU1hcHBlZElPU3VyZmFjZUJhY2tl
bmQ+KHBhcmFtZXRlcnMsIFdURk1vdmUoc3VyZmFjZSkpOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417752</attachid>
            <date>2021-01-15 17:52:17 -0800</date>
            <delta_ts>2021-01-19 09:03:38 -0800</delta_ts>
            <desc>WIP Patch</desc>
            <filename>220663_wip.patch</filename>
            <type>text/plain</type>
            <size>14641</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oIGIvU291cmNlL1dURi93
dGYvUGxhdGZvcm1IYXZlLmgKaW5kZXggY2ZkYWZkNmYyYzg4Li41MWY2YmI4ZjQ3N2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtSGF2ZS5oCkBAIC0yOTAsNiArMjkwLDEzIEBACiAjZGVmaW5lIEhBVkVfSU9TVVJG
QUNFX0FDQ0VMRVJBVE9SIDEKICNlbmRpZgogCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNf
T1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIFwKKyAgICB8fCAoKFBMQVRGT1JN
KElPUykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMzAwMDApIFwKKyAgICB8fCAoUExBVEZPUk0oV0FUQ0hPUykgJiYgX19X
QVRDSF9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSA2MDAwMCkgXAorICAgIHx8IChQTEFURk9S
TShBUFBMRVRWKSAmJiBfX1RWX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkKKyNk
ZWZpbmUgSEFWRV9JT1NVUkZBQ0VfU0VUX09XTkVSU0hJUCAxCisjZW5kaWYKKwogI2lmIFBMQVRG
T1JNKE1BQykKICNkZWZpbmUgSEFWRV9OU19BQ1RJVklUWSAxCiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0lPU3VyZmFjZVNQSS5oIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvSU9TdXJmYWNlU1BJLmgKaW5kZXggN2NiZjc1OTg3
MjYxLi5lMjRkNTAyNjYxM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3Bp
L2NvY29hL0lPU3VyZmFjZVNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2Nv
Y29hL0lPU3VyZmFjZVNQSS5oCkBAIC04OCw2ICs4OCwyMiBAQCBXVEZfRVhURVJOX0NfRU5ECiAK
ICNpbXBvcnQgPElPU3VyZmFjZS9JT1N1cmZhY2VUeXBlcy5oPgogCitXVEZfRVhURVJOX0NfQkVH
SU4KKworI2lmIEhBVkUoSU9TVVJGQUNFX1NFVF9PV05FUlNISVApCit0eXBlZGVmIENGX0VOVU0o
aW50LCBJT1N1cmZhY2VNZW1vcnlMZWRnZXJUYWdzKSB7CisgICAga0lPU3VyZmFjZU1lbW9yeUxl
ZGdlclRhZ0RlZmF1bHQgICAgID0gMHgwMDAwMDAwMSwKKyAgICBrSU9TdXJmYWNlTWVtb3J5TGVk
Z2VyVGFnTmV0d29yayAgICAgPSAweDAwMDAwMDAyLAorICAgIGtJT1N1cmZhY2VNZW1vcnlMZWRn
ZXJUYWdNZWRpYSAgICAgICA9IDB4MDAwMDAwMDMsCisgICAga0lPU3VyZmFjZU1lbW9yeUxlZGdl
clRhZ0dyYXBoaWNzICAgID0gMHgwMDAwMDAwNCwKKyAgICBrSU9TdXJmYWNlTWVtb3J5TGVkZ2Vy
VGFnTmV1cmFsICAgICAgPSAweDAwMDAwMDA1LAorfTsKKworSU9SZXR1cm4gSU9TdXJmYWNlU2V0
T3duZXJzaGlwKElPU3VyZmFjZVJlZiBidWZmZXIsIHRhc2tfdCBuZXdPd25lciwgaW50IG5ld0xl
ZGdlclRhZywgdWludDMyX3QgbmV3TGVkZ2VyT3B0aW9ucyk7CisjZW5kaWYgLy8gSEFWRShJT1NV
UkZBQ0VfU0VUX09XTkVSU0hJUCkKKworV1RGX0VYVEVSTl9DX0VORAorCiAjZW5kaWYKIAogV1RG
X0VYVEVSTl9DX0JFR0lOCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BV
Q29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BV
Q29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKaW5kZXggNDFhZTBhMTMxNDhhLi5lYjFiZDhkMmEw
MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2Vzcy5jcHAKQEAgLTE1NiwxNSArMTU2LDE2IEBAIHByaXZhdGU6CiB9OwogI2Vu
ZGlmCiAKLVJlZjxHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzPiBHUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzOjpjcmVhdGUoR1BVUHJvY2VzcyYgZ3B1UHJvY2VzcywgV2ViQ29yZTo6UHJvY2Vzc0lk
ZW50aWZpZXIgd2ViUHJvY2Vzc0lkZW50aWZpZXIsIElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmll
ciBjb25uZWN0aW9uSWRlbnRpZmllciwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQorUmVmPEdQ
VUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M+IEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0
ZShHUFVQcm9jZXNzJiBncHVQcm9jZXNzLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciB3ZWJQ
cm9jZXNzSWRlbnRpZmllciwgUHJvY2Vzc0lEIHBpZCwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlm
aWVyIGNvbm5lY3Rpb25JZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCiB7Ci0g
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhncHVQcm9j
ZXNzLCB3ZWJQcm9jZXNzSWRlbnRpZmllciwgY29ubmVjdGlvbklkZW50aWZpZXIsIHNlc3Npb25J
RCkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mo
Z3B1UHJvY2Vzcywgd2ViUHJvY2Vzc0lkZW50aWZpZXIsIHBpZCwgY29ubmVjdGlvbklkZW50aWZp
ZXIsIHNlc3Npb25JRCkpOwogfQogCi1HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpHUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzKEdQVVByb2Nlc3MmIGdwdVByb2Nlc3MsIFdlYkNvcmU6OlByb2Nl
c3NJZGVudGlmaWVyIHdlYlByb2Nlc3NJZGVudGlmaWVyLCBJUEM6OkNvbm5lY3Rpb246OklkZW50
aWZpZXIgY29ubmVjdGlvbklkZW50aWZpZXIsIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkKK0dQ
VUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoR1BVUHJv
Y2VzcyYgZ3B1UHJvY2VzcywgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgd2ViUHJvY2Vzc0lk
ZW50aWZpZXIsIFByb2Nlc3NJRCBwaWQsIElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBjb25u
ZWN0aW9uSWRlbnRpZmllciwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQogICAgIDogbV9jb25u
ZWN0aW9uKElQQzo6Q29ubmVjdGlvbjo6Y3JlYXRlU2VydmVyQ29ubmVjdGlvbihjb25uZWN0aW9u
SWRlbnRpZmllciwgKnRoaXMpKQogICAgICwgbV9ncHVQcm9jZXNzKGdwdVByb2Nlc3MpCiAgICAg
LCBtX3dlYlByb2Nlc3NJZGVudGlmaWVyKHdlYlByb2Nlc3NJZGVudGlmaWVyKQorICAgICwgbV93
ZWJQcm9jZXNzUElEKHBpZCkKICAgICAsIG1fc2Vzc2lvbklEKHNlc3Npb25JRCkKICNpZiBQTEFU
Rk9STShDT0NPQSkgJiYgVVNFKExJQldFQlJUQykKICAgICAsIG1fbGliV2ViUlRDQ29kZWNzUHJv
eHkoTGliV2ViUlRDQ29kZWNzUHJveHk6OmNyZWF0ZSgqdGhpcykpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAppbmRleCAxZjc4
NTU1ZTJiNzMuLjU5M2MzZTFlNjdiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCkBAIC0zOSw2ICszOSw3IEBACiAjaW5j
bHVkZSA8cGFsL1Nlc3Npb25JRC5oPgogI2luY2x1ZGUgPHd0Zi9Mb2dnZXIuaD4KICNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9Qcm9jZXNzSUQuaD4KIAogI2lmIEVO
QUJMRShXRUJHTCkKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHRHTElkZW50aWZpZXIuaCIKQEAg
LTcyLDEzICs3MywxNCBAQCBjbGFzcyBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzCiAgICAgLCBw
dWJsaWMgV2ViQ29yZTo6Tm93UGxheWluZ01hbmFnZXI6OkNsaWVudAogICAgICwgSVBDOjpDb25u
ZWN0aW9uOjpDbGllbnQgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8R1BVQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcz4gY3JlYXRlKEdQVVByb2Nlc3MmLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmll
ciwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCk7CisgICAgc3Rh
dGljIFJlZjxHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzPiBjcmVhdGUoR1BVUHJvY2VzcyYsIFdl
YkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyLCBQcm9jZXNzSUQsIElQQzo6Q29ubmVjdGlvbjo6SWRl
bnRpZmllciwgUEFMOjpTZXNzaW9uSUQpOwogICAgIHZpcnR1YWwgfkdQVUNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MoKTsKIAogICAgIElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbigpIHsgcmV0dXJu
IG1fY29ubmVjdGlvbi5nZXQoKTsgfQogICAgIElQQzo6TWVzc2FnZVJlY2VpdmVyTWFwJiBtZXNz
YWdlUmVjZWl2ZXJNYXAoKSB7IHJldHVybiBtX21lc3NhZ2VSZWNlaXZlck1hcDsgfQogICAgIEdQ
VVByb2Nlc3MmIGdwdVByb2Nlc3MoKSB7IHJldHVybiBtX2dwdVByb2Nlc3MuZ2V0KCk7IH0KICAg
ICBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciB3ZWJQcm9jZXNzSWRlbnRpZmllcigpIGNvbnN0
IHsgcmV0dXJuIG1fd2ViUHJvY2Vzc0lkZW50aWZpZXI7IH0KKyAgICBQcm9jZXNzSUQgd2ViUHJv
Y2Vzc1BJRCgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViUHJvY2Vzc1BJRDsgfQogCiAgICAgUmVtb3Rl
TWVkaWFSZXNvdXJjZU1hbmFnZXImIHJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyKCk7CiAKQEAg
LTExMyw3ICsxMTUsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogcHJpdmF0ZToKLSAgICBHUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzKEdQVVByb2Nlc3MmLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmll
ciwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCk7CisgICAgR1BV
Q29ubmVjdGlvblRvV2ViUHJvY2VzcyhHUFVQcm9jZXNzJiwgV2ViQ29yZTo6UHJvY2Vzc0lkZW50
aWZpZXIsIFByb2Nlc3NJRCwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyLCBQQUw6OlNlc3Np
b25JRCk7CiAKICNpZiBFTkFCTEUoV0VCX0FVRElPKQogICAgIFJlbW90ZUF1ZGlvRGVzdGluYXRp
b25NYW5hZ2VyJiByZW1vdGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdlcigpOwpAQCAtMTY5LDYgKzE3
MSw3IEBAIHByaXZhdGU6CiAgICAgSVBDOjpNZXNzYWdlUmVjZWl2ZXJNYXAgbV9tZXNzYWdlUmVj
ZWl2ZXJNYXA7CiAgICAgUmVmPEdQVVByb2Nlc3M+IG1fZ3B1UHJvY2VzczsKICAgICBjb25zdCBX
ZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBtX3dlYlByb2Nlc3NJZGVudGlmaWVyOworICAgIGNv
bnN0IFByb2Nlc3NJRCBtX3dlYlByb2Nlc3NQSUQ7CiAjaWYgRU5BQkxFKFdFQl9BVURJTykKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXI+IG1fcmVtb3Rl
QXVkaW9EZXN0aW5hdGlvbk1hbmFnZXI7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzLmNwcAppbmRleCA0YjgwZTZmMTJhNjguLjJiNmVlMWJjNzJkNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcApAQCAtNzgsNyArNzgsNyBAQCBHUFVQcm9j
ZXNzOjp+R1BVUHJvY2VzcygpCiB7CiB9CiAKLXZvaWQgR1BVUHJvY2Vzczo6Y3JlYXRlR1BVQ29u
bmVjdGlvblRvV2ViUHJvY2VzcyhQcm9jZXNzSWRlbnRpZmllciBpZGVudGlmaWVyLCBQQUw6OlNl
c3Npb25JRCBzZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8SVBDOjpB
dHRhY2htZW50PiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgR1BVUHJvY2Vzczo6Y3Jl
YXRlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhQcm9jZXNzSWRlbnRpZmllciBpZGVudGlmaWVy
LCBQcm9jZXNzSUQgcGlkLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoT3B0aW9uYWw8SVBDOjpBdHRhY2htZW50PiYmKT4mJiBjb21wbGV0aW9uSGFuZGxl
cikKIHsKICAgICBhdXRvIGlwY0Nvbm5lY3Rpb24gPSBjcmVhdGVJUENDb25uZWN0aW9uUGFpcigp
OwogICAgIGlmICghaXBjQ29ubmVjdGlvbikgewpAQCAtODYsNyArODYsNyBAQCB2b2lkIEdQVVBy
b2Nlc3M6OmNyZWF0ZUdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoUHJvY2Vzc0lkZW50aWZpZXIg
aWRlbnRpZmllciwgUAogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYXV0byBuZXdDb25u
ZWN0aW9uID0gR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRlKCp0aGlzLCBpZGVudGlm
aWVyLCBpcGNDb25uZWN0aW9uLT5maXJzdCwgc2Vzc2lvbklEKTsKKyAgICBhdXRvIG5ld0Nvbm5l
Y3Rpb24gPSBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjcmVhdGUoKnRoaXMsIGlkZW50aWZp
ZXIsIHBpZCwgaXBjQ29ubmVjdGlvbi0+Zmlyc3QsIHNlc3Npb25JRCk7CiAKICNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgcmVmYWN0b3IgY29kZSB0byBn
byBmcm9tIFdlYlByb2Nlc3MgLT4gR1BVUHJvY2VzcyAtPiBVSVByb2Nlc3Mgd2hlbiBnZXRVc2Vy
TWVkaWEgaXMgY2FsbGVkIGluc3RlYWQgb2YgZ29pbmcgZnJvbSBXZWJQcm9jZXNzIC0+IFVJUHJv
Y2VzcyBkaXJlY3RseS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQ
cm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCmluZGV4IDA1
NGRlNWU4Y2JjMS4uY2YxMGU3YTVmNmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvR1BVUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9j
ZXNzLmgKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlIDxwYWwvU2Vzc2lvbklELmg+CiAjaW5j
bHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL01lbW9yeVByZXNzdXJlSGFuZGxl
ci5oPgorI2luY2x1ZGUgPHd0Zi9Qcm9jZXNzSUQuaD4KICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0xMDEsNyArMTAyLDcgQEAgcHJpdmF0ZToKIAog
ICAgIC8vIE1lc3NhZ2UgSGFuZGxlcnMKICAgICB2b2lkIGluaXRpYWxpemVHUFVQcm9jZXNzKEdQ
VVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmJik7Ci0gICAgdm9pZCBjcmVhdGVHUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzKFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyLCBQQUw6OlNlc3Npb25J
RCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxJUEM6OkF0dGFjaG1lbnQ+JiYpPiYm
KTsKKyAgICB2b2lkIGNyZWF0ZUdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoV2ViQ29yZTo6UHJv
Y2Vzc0lkZW50aWZpZXIsIFByb2Nlc3NJRCwgUEFMOjpTZXNzaW9uSUQsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoT3B0aW9uYWw8SVBDOjpBdHRhY2htZW50PiYmKT4mJik7CiAgICAgdm9pZCBhZGRT
ZXNzaW9uKFBBTDo6U2Vzc2lvbklELCBHUFVQcm9jZXNzU2Vzc2lvblBhcmFtZXRlcnMmJik7CiAg
ICAgdm9pZCByZW1vdmVTZXNzaW9uKFBBTDo6U2Vzc2lvbklEKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCA3ODY5NDdjMjhjNDgu
LmM2MjFkNzRlMDdjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVBy
b2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nl
c3MubWVzc2FnZXMuaW4KQEAgLTI1LDcgKzI1LDcgQEAKIG1lc3NhZ2VzIC0+IEdQVVByb2Nlc3Mg
ewogICAgIEluaXRpYWxpemVHUFVQcm9jZXNzKHN0cnVjdCBXZWJLaXQ6OkdQVVByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMgcHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycykKIAotICAgIENyZWF0ZUdQ
VUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgcHJvY2Vz
c0lkZW50aWZpZXIsIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkgLT4gKE9wdGlvbmFsPElQQzo6
QXR0YWNobWVudD4gY29ubmVjdGlvbklkZW50aWZpZXIpIEFzeW5jCisgICAgQ3JlYXRlR1BVQ29u
bmVjdGlvblRvV2ViUHJvY2VzcyhXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBwcm9jZXNzSWRl
bnRpZmllciwgUHJvY2Vzc0lEIHBpZCwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKSAtPiAoT3B0
aW9uYWw8SVBDOjpBdHRhY2htZW50PiBjb25uZWN0aW9uSWRlbnRpZmllcikgQXN5bmMKIAogICAg
IFByb2Nlc3NEaWRUcmFuc2l0aW9uVG9Gb3JlZ3JvdW5kKCkKICAgICBQcm9jZXNzRGlkVHJhbnNp
dGlvblRvQmFja2dyb3VuZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
Z3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHAKaW5kZXggNDg3YjEzNWE4
ODkyLi4xNTM2ZGE3NTdiMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9n
cmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHAKQEAgLTM2LDYgKzM2
LDcgQEAKICNpbmNsdWRlICJSZW1vdGVSZW5kZXJpbmdCYWNrZW5kQ3JlYXRpb25QYXJhbWV0ZXJz
LmgiCiAjaW5jbHVkZSAiUmVtb3RlUmVuZGVyaW5nQmFja2VuZE1lc3NhZ2VzLmgiCiAjaW5jbHVk
ZSAiUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5TWVzc2FnZXMuaCIKKyNpbmNsdWRlIDxwYWwv
c3BpL2NvY29hL0lPU3VyZmFjZVNQSS5oPgogI2luY2x1ZGUgPHd0Zi9DaGVja2VkQXJpdGhtZXRp
Yy5oPgogI2luY2x1ZGUgPHd0Zi9TeXN0ZW1UcmFjaW5nLmg+CiAKQEAgLTEwNyw4ICsxMDgsMzgg
QEAgYm9vbCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjphcHBseU1lZGlhSXRlbShEaXNwbGF5TGlz
dDo6SXRlbUhhbmRsZSBpdGVtLCBHcmFwaGkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorc3RhdGlj
IHZvaWQgc2V0SU9TdXJmYWNlT3duZXJzaGlwKGNvbnN0IEltYWdlQnVmZmVyQmFja2VuZEhhbmRs
ZSYgaGFuZGxlLCBQcm9jZXNzSUQgcGlkKQoreworI2lmIEhBVkUoSU9TVVJGQUNFX1NFVF9PV05F
UlNISVApCisgICAgaWYgKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8TWFjaFNlbmRSaWdodD4oaGFu
ZGxlKSkgeworICAgICAgICBXVEZMb2dBbHdheXMoIkNIUklTOiBzZXRJT1N1cmZhY2VPd25lcnNo
aXAoJWQpIiwgcGlkKTsKKworICAgICAgICB0YXNrX3QgdGFzazsKKyAgICAgICAgYXV0byByZXN1
bHQgPSB0YXNrX2Zvcl9waWQobWFjaF90YXNrX3NlbGYoKSwgcGlkLCAmdGFzayk7CisgICAgICAg
IGlmIChyZXN1bHQgIT0gS0VSTl9TVUNDRVNTKSB7CisgICAgICAgICAgICBXVEZMb2dBbHdheXMo
IkNIUklTOiBGYWlsZWQgdG8gZ2V0IHRhc2sgZm9yIHBpZCAlZCwgZXJyb3I6ICVkIiwgcGlkLCBy
ZXN1bHQpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgYXV0byBz
dXJmYWNlID0gYWRvcHRDRihJT1N1cmZhY2VMb29rdXBGcm9tTWFjaFBvcnQoV1RGOjpnZXQ8TWFj
aFNlbmRSaWdodD4oaGFuZGxlKS5zZW5kUmlnaHQoKSkpOworCisgICAgICAgIC8vIENsYWltIGlu
IHRoZSBXZWJQcm9jZXNzIG93bmVyc2hpcCBvZiB0aGUgSU9TdXJmYWNlIGNvbnN0cnVjdGVkIGJ5
IHRoZSBHUFVQcm9jZXNzIHNvIHRoYXQgSmV0c2FtIGtub3dzIHdoaWNoIHByb2Nlc3NlcyB0byBr
aWxsLgorICAgICAgICByZXN1bHQgPSBJT1N1cmZhY2VTZXRPd25lcnNoaXAoc3VyZmFjZS5nZXQo
KSwgbWFjaF90YXNrX3NlbGYoKSwga0lPU3VyZmFjZU1lbW9yeUxlZGdlclRhZ0dyYXBoaWNzLCAw
KTsKKyAgICAgICAgaWYgKHJlc3VsdCAhPSBrSU9SZXR1cm5TdWNjZXNzKQorICAgICAgICAgICAg
UkVMRUFTRV9MT0dfRVJST1IoUHJvY2VzcywgIkZhaWxlZCB0byBjbGFpbSBvd25lcnNoaXAgb2Yg
SU9TdXJmYWNlICVwLiBFcnJvcjogJWQiLCBzdXJmYWNlLmdldCgpLCByZXN1bHQpOworICAgICAg
ICBXVEZMb2dBbHdheXMoIkNIUklTOiBzZXRJT1N1cmZhY2VPd25lcnNoaXAoKSBzdXJmYWNlOiAl
cCwgcmVzdWx0OiAlZCAoaXNTdWNjZXNzPyAlZCkiLCBzdXJmYWNlLmdldCgpLCByZXN1bHQsIHJl
c3VsdCA9PSBrSU9SZXR1cm5TdWNjZXNzKTsKKyAgICB9CisjZWxzZQorICAgIFVOVVNFRF9QQVJB
TShoYW5kbGUpOworICAgIFVOVVNFRF9QQVJBTShwaWQpOworI2VuZGlmCit9CisKIHZvaWQgUmVt
b3RlUmVuZGVyaW5nQmFja2VuZDo6ZGlkQ3JlYXRlSW1hZ2VCdWZmZXJCYWNrZW5kKEltYWdlQnVm
ZmVyQmFja2VuZEhhbmRsZSBoYW5kbGUsIFJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllciByZW5k
ZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIpCiB7CisgICAgaWYgKG1fZ3B1Q29ubmVjdGlvblRvV2Vi
UHJvY2VzcykKKyAgICAgICAgc2V0SU9TdXJmYWNlT3duZXJzaGlwKGhhbmRsZSwgbV9ncHVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLT53ZWJQcm9jZXNzUElEKCkpOworCiAgICAgc2VuZChNZXNzYWdl
czo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjpEaWRDcmVhdGVJbWFnZUJ1ZmZlckJhY2tl
bmQoV1RGTW92ZShoYW5kbGUpLCByZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIpLCBtX3JlbmRl
cmluZ0JhY2tlbmRJZGVudGlmaWVyKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IuaW4gYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuR1BVUHJvY2Vzcy5zYi5pbgpp
bmRleCA0ZTk1MWYwYjg3YWMuLmI3ZGI1MTVlM2UyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IuaW4KKysrIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Mu
c2IuaW4KQEAgLTg5MiwzICs4OTIsNyBAQAogKGFsbG93IGlva2l0LW9wZW4KICAgICAoaW9raXQt
dXNlci1jbGllbnQtY2xhc3MgIkFwcGxlQVZEVXNlckNsaWVudCIpCiApCisKKzs7IEZvciB0YXNr
X2Zvcl9waWQKKyhhbGxvdyBtYWNoLXByaXYtdGFzay1wb3J0KQorCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQu
R1BVLnNiIGIvU291cmNlL1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20u
YXBwbGUuV2ViS2l0LkdQVS5zYgppbmRleCBhMjc0MGU0MWI3ODAuLjhiNmRlN2ExZjQ4MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20u
YXBwbGUuV2ViS2l0LkdQVS5zYgorKysgYi9Tb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94
UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuR1BVLnNiCkBAIC05MDUsMyArOTA1LDcgQEAK
IChkZW55IG1hY2gtbG9va3VwCiAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUud2Via2l0LmNh
bWVyYSIpCiApCisKKzs7IEZvciB0YXNrX2Zvcl9waWQKKyhhbGxvdyBtYWNoLXByaXYtdGFzay1w
b3J0KQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvcHJvY2Vzcy1lbnRpdGxl
bWVudHMuc2ggYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2gK
aW5kZXggNTM5YmRiMDA4YmQ0Li4wOWExYjZjNGM5ODMgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5zaAorKysgYi9Tb3VyY2UvV2ViS2l0L1Nj
cmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2gKQEAgLTQ5LDYgKzQ5LDggQEAgZnVuY3Rpb24g
bWFjX3Byb2Nlc3NfZ3B1X2VudGl0bGVtZW50cygpCiAKICAgICAgICAgcGxpc3RidWRkeSBBZGQg
OmNvbS5hcHBsZS5yb290bGVzcy5zdG9yYWdlLldlYktpdEdQVVNhbmRib3ggYm9vbCBZRVMKICAg
ICAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5RdWFydHpDb3JlLndlYmtpdC1lbmQtcG9p
bnRzIGJvb2wgWUVTCisgICAgICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUucHJpdmF0ZS5t
ZW1vcnkub3duZXJzaGlwX3RyYW5zZmVyIGJvb2wgWUVTCisgICAgICAgIHBsaXN0YnVkZHkgQWRk
IDpjb20uYXBwbGUuc3lzdGVtLXRhc2stcG9ydHMuY29udHJvbCBib29sIFlFUwogICAgIGZpCiB9
CiAKQEAgLTE1NCw2ICsxNTYsOCBAQCBmdW5jdGlvbiBtYWNjYXRhbHlzdF9wcm9jZXNzX2dwdV9l
bnRpdGxlbWVudHMoKQogICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUuc2VjdXJpdHkubmV0
d29yay5jbGllbnQgYm9vbCBZRVMKICAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnJ1bm5p
bmdib2FyZC5hc3NlcnRpb25zLndlYmtpdCBib29sIFlFUwogICAgIHBsaXN0YnVkZHkgQWRkIDpj
b20uYXBwbGUuUXVhcnR6Q29yZS53ZWJraXQtZW5kLXBvaW50cyBib29sIFlFUworICAgIHBsaXN0
YnVkZHkgQWRkIDpjb20uYXBwbGUucHJpdmF0ZS5tZW1vcnkub3duZXJzaGlwX3RyYW5zZmVyIGJv
b2wgWUVTCisgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5zeXN0ZW0tdGFzay1wb3J0cy5j
b250cm9sIGJvb2wgWUVTCiB9CiAKIGZ1bmN0aW9uIG1hY2NhdGFseXN0X3Byb2Nlc3NfbmV0d29y
a19lbnRpdGxlbWVudHMoKQpAQCAtMjI3LDYgKzIzMSw5IEBAIGZ1bmN0aW9uIGlvc19mYW1pbHlf
cHJvY2Vzc19ncHVfZW50aXRsZW1lbnRzKCkKIAogICAgIHBsaXN0YnVkZHkgQWRkIDpzZWF0YmVs
dC1wcm9maWxlcyBhcnJheQogICAgIHBsaXN0YnVkZHkgQWRkIDpzZWF0YmVsdC1wcm9maWxlczow
IHN0cmluZyBjb20uYXBwbGUuV2ViS2l0LkdQVQorCisgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5h
cHBsZS5wcml2YXRlLm1lbW9yeS5vd25lcnNoaXBfdHJhbnNmZXIgYm9vbCBZRVMKKyAgICBwbGlz
dGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnN5c3RlbS10YXNrLXBvcnRzLmNvbnRyb2wgYm9vbCBZRVMK
IH0KIAogZnVuY3Rpb24gaW9zX2ZhbWlseV9wcm9jZXNzX3dlYmF1dGhuX2VudGl0bGVtZW50cygp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5
LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwCmlu
ZGV4IGE2YWJhZmYzNGE0Ny4uM2NjNzY5ODFkYzk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcApAQCAtMjE4LDcgKzIxOCw3IEBAIHZvaWQg
R1BVUHJvY2Vzc1Byb3h5OjpnZXRHUFVQcm9jZXNzQ29ubmVjdGlvbihXZWJQcm9jZXNzUHJveHkm
IHdlYlByb2Nlc3NQcm94eSwKICNlbmRpZgogCiAgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3Bl
bnNpb24sICIlcCAtIEdQVVByb2Nlc3NQcm94eSBpcyB0YWtpbmcgYSBiYWNrZ3JvdW5kIGFzc2Vy
dGlvbiBiZWNhdXNlIGEgd2ViIHByb2Nlc3MgaXMgcmVxdWVzdGluZyBhIGNvbm5lY3Rpb24iLCB0
aGlzKTsKLSAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OkdQVVByb2Nlc3M6OkNyZWF0
ZUdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MgeyB3ZWJQcm9jZXNzUHJveHkuY29yZVByb2Nlc3NJ
ZGVudGlmaWVyKCksIHdlYlByb2Nlc3NQcm94eS5zZXNzaW9uSUQoKSB9LCBbdGhpcywgd2Vha1Ro
aXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHJlcGx5ID0gV1RGTW92ZShyZXBseSldKGF1dG8mJiBp
ZGVudGlmaWVyKSBtdXRhYmxlIHsKKyAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OkdQ
VVByb2Nlc3M6OkNyZWF0ZUdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MgeyB3ZWJQcm9jZXNzUHJv
eHkuY29yZVByb2Nlc3NJZGVudGlmaWVyKCksIHdlYlByb2Nlc3NQcm94eS5wcm9jZXNzSWRlbnRp
ZmllcigpLCB3ZWJQcm9jZXNzUHJveHkuc2Vzc2lvbklEKCkgfSwgW3RoaXMsIHdlYWtUaGlzID0g
bWFrZVdlYWtQdHIoKnRoaXMpLCByZXBseSA9IFdURk1vdmUocmVwbHkpXShhdXRvJiYgaWRlbnRp
ZmllcikgbXV0YWJsZSB7CiAgICAgICAgIGlmICghd2Vha1RoaXMpIHsKICAgICAgICAgICAgIFJF
TEVBU0VfTE9HX0VSUk9SKFByb2Nlc3MsICJHUFVQcm9jZXNzUHJveHk6OmdldEdQVVByb2Nlc3ND
b25uZWN0aW9uOiBHUFVQcm9jZXNzUHJveHkgZGVhbGxvY2F0ZWQgZHVyaW5nIGNvbm5lY3Rpb24g
ZXN0YWJsaXNobWVudCIpOwogICAgICAgICAgICAgcmV0dXJuIHJlcGx5KHsgfSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417879</attachid>
            <date>2021-01-19 09:03:38 -0800</date>
            <delta_ts>2021-01-19 10:23:33 -0800</delta_ts>
            <desc>WIP Patch</desc>
            <filename>220663_wip.patch</filename>
            <type>text/plain</type>
            <size>14655</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oIGIvU291cmNlL1dURi93
dGYvUGxhdGZvcm1IYXZlLmgKaW5kZXggY2ZkYWZkNmYyYzg4Li41MWY2YmI4ZjQ3N2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtSGF2ZS5oCkBAIC0yOTAsNiArMjkwLDEzIEBACiAjZGVmaW5lIEhBVkVfSU9TVVJG
QUNFX0FDQ0VMRVJBVE9SIDEKICNlbmRpZgogCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNf
T1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIFwKKyAgICB8fCAoKFBMQVRGT1JN
KElPUykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMzAwMDApIFwKKyAgICB8fCAoUExBVEZPUk0oV0FUQ0hPUykgJiYgX19X
QVRDSF9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSA2MDAwMCkgXAorICAgIHx8IChQTEFURk9S
TShBUFBMRVRWKSAmJiBfX1RWX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkKKyNk
ZWZpbmUgSEFWRV9JT1NVUkZBQ0VfU0VUX09XTkVSU0hJUCAxCisjZW5kaWYKKwogI2lmIFBMQVRG
T1JNKE1BQykKICNkZWZpbmUgSEFWRV9OU19BQ1RJVklUWSAxCiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0lPU3VyZmFjZVNQSS5oIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvSU9TdXJmYWNlU1BJLmgKaW5kZXggN2NiZjc1OTg3
MjYxLi5lMjRkNTAyNjYxM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3Bp
L2NvY29hL0lPU3VyZmFjZVNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2Nv
Y29hL0lPU3VyZmFjZVNQSS5oCkBAIC04OCw2ICs4OCwyMiBAQCBXVEZfRVhURVJOX0NfRU5ECiAK
ICNpbXBvcnQgPElPU3VyZmFjZS9JT1N1cmZhY2VUeXBlcy5oPgogCitXVEZfRVhURVJOX0NfQkVH
SU4KKworI2lmIEhBVkUoSU9TVVJGQUNFX1NFVF9PV05FUlNISVApCit0eXBlZGVmIENGX0VOVU0o
aW50LCBJT1N1cmZhY2VNZW1vcnlMZWRnZXJUYWdzKSB7CisgICAga0lPU3VyZmFjZU1lbW9yeUxl
ZGdlclRhZ0RlZmF1bHQgICAgID0gMHgwMDAwMDAwMSwKKyAgICBrSU9TdXJmYWNlTWVtb3J5TGVk
Z2VyVGFnTmV0d29yayAgICAgPSAweDAwMDAwMDAyLAorICAgIGtJT1N1cmZhY2VNZW1vcnlMZWRn
ZXJUYWdNZWRpYSAgICAgICA9IDB4MDAwMDAwMDMsCisgICAga0lPU3VyZmFjZU1lbW9yeUxlZGdl
clRhZ0dyYXBoaWNzICAgID0gMHgwMDAwMDAwNCwKKyAgICBrSU9TdXJmYWNlTWVtb3J5TGVkZ2Vy
VGFnTmV1cmFsICAgICAgPSAweDAwMDAwMDA1LAorfTsKKworSU9SZXR1cm4gSU9TdXJmYWNlU2V0
T3duZXJzaGlwKElPU3VyZmFjZVJlZiBidWZmZXIsIHRhc2tfdCBuZXdPd25lciwgaW50IG5ld0xl
ZGdlclRhZywgdWludDMyX3QgbmV3TGVkZ2VyT3B0aW9ucyk7CisjZW5kaWYgLy8gSEFWRShJT1NV
UkZBQ0VfU0VUX09XTkVSU0hJUCkKKworV1RGX0VYVEVSTl9DX0VORAorCiAjZW5kaWYKIAogV1RG
X0VYVEVSTl9DX0JFR0lOCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BV
Q29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BV
Q29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKaW5kZXggMDM1MjliNGI2OTg2Li5iNzViMGEzZTEx
NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2Vzcy5jcHAKQEAgLTE1NiwxNSArMTU2LDE2IEBAIHByaXZhdGU6CiB9OwogI2Vu
ZGlmCiAKLVJlZjxHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzPiBHUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzOjpjcmVhdGUoR1BVUHJvY2VzcyYgZ3B1UHJvY2VzcywgV2ViQ29yZTo6UHJvY2Vzc0lk
ZW50aWZpZXIgd2ViUHJvY2Vzc0lkZW50aWZpZXIsIElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmll
ciBjb25uZWN0aW9uSWRlbnRpZmllciwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQorUmVmPEdQ
VUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M+IEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0
ZShHUFVQcm9jZXNzJiBncHVQcm9jZXNzLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciB3ZWJQ
cm9jZXNzSWRlbnRpZmllciwgUHJvY2Vzc0lEIHBpZCwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlm
aWVyIGNvbm5lY3Rpb25JZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCiB7Ci0g
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhncHVQcm9j
ZXNzLCB3ZWJQcm9jZXNzSWRlbnRpZmllciwgY29ubmVjdGlvbklkZW50aWZpZXIsIHNlc3Npb25J
RCkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mo
Z3B1UHJvY2Vzcywgd2ViUHJvY2Vzc0lkZW50aWZpZXIsIHBpZCwgY29ubmVjdGlvbklkZW50aWZp
ZXIsIHNlc3Npb25JRCkpOwogfQogCi1HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpHUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzKEdQVVByb2Nlc3MmIGdwdVByb2Nlc3MsIFdlYkNvcmU6OlByb2Nl
c3NJZGVudGlmaWVyIHdlYlByb2Nlc3NJZGVudGlmaWVyLCBJUEM6OkNvbm5lY3Rpb246OklkZW50
aWZpZXIgY29ubmVjdGlvbklkZW50aWZpZXIsIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkKK0dQ
VUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoR1BVUHJv
Y2VzcyYgZ3B1UHJvY2VzcywgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgd2ViUHJvY2Vzc0lk
ZW50aWZpZXIsIFByb2Nlc3NJRCBwaWQsIElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBjb25u
ZWN0aW9uSWRlbnRpZmllciwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQogICAgIDogbV9jb25u
ZWN0aW9uKElQQzo6Q29ubmVjdGlvbjo6Y3JlYXRlU2VydmVyQ29ubmVjdGlvbihjb25uZWN0aW9u
SWRlbnRpZmllciwgKnRoaXMpKQogICAgICwgbV9ncHVQcm9jZXNzKGdwdVByb2Nlc3MpCiAgICAg
LCBtX3dlYlByb2Nlc3NJZGVudGlmaWVyKHdlYlByb2Nlc3NJZGVudGlmaWVyKQorICAgICwgbV93
ZWJQcm9jZXNzUElEKHBpZCkKICAgICAsIG1fcmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHko
bWFrZVVuaXF1ZTxSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eT4oKnRoaXMpKQogICAgICwg
bV9zZXNzaW9uSUQoc2Vzc2lvbklEKQogI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBVU0UoTElCV0VC
UlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLmgKaW5kZXggNTFmY2M3ZjA1Yjk5Li4wNGZjM2QwMjIxNzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaApA
QCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUHJvY2Vzc0lkZW50aWZpZXIuaD4K
ICNpbmNsdWRlIDxwYWwvU2Vzc2lvbklELmg+CiAjaW5jbHVkZSA8d3RmL0xvZ2dlci5oPgorI2lu
Y2x1ZGUgPHd0Zi9Qcm9jZXNzSUQuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50
ZWQuaD4KIAogI2lmIEVOQUJMRShXRUJHTCkKQEAgLTcyLDEzICs3MywxNCBAQCBjbGFzcyBHUFVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzCiAgICAgLCBwdWJsaWMgV2ViQ29yZTo6Tm93UGxheWluZ01h
bmFnZXI6OkNsaWVudAogICAgICwgSVBDOjpDb25uZWN0aW9uOjpDbGllbnQgewogcHVibGljOgot
ICAgIHN0YXRpYyBSZWY8R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcz4gY3JlYXRlKEdQVVByb2Nl
c3MmLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlm
aWVyLCBQQUw6OlNlc3Npb25JRCk7CisgICAgc3RhdGljIFJlZjxHUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzPiBjcmVhdGUoR1BVUHJvY2VzcyYsIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyLCBQ
cm9jZXNzSUQsIElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciwgUEFMOjpTZXNzaW9uSUQpOwog
ICAgIHZpcnR1YWwgfkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoKTsKIAogICAgIElQQzo6Q29u
bmVjdGlvbiYgY29ubmVjdGlvbigpIHsgcmV0dXJuIG1fY29ubmVjdGlvbi5nZXQoKTsgfQogICAg
IElQQzo6TWVzc2FnZVJlY2VpdmVyTWFwJiBtZXNzYWdlUmVjZWl2ZXJNYXAoKSB7IHJldHVybiBt
X21lc3NhZ2VSZWNlaXZlck1hcDsgfQogICAgIEdQVVByb2Nlc3MmIGdwdVByb2Nlc3MoKSB7IHJl
dHVybiBtX2dwdVByb2Nlc3MuZ2V0KCk7IH0KICAgICBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmll
ciB3ZWJQcm9jZXNzSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fd2ViUHJvY2Vzc0lkZW50
aWZpZXI7IH0KKyAgICBQcm9jZXNzSUQgd2ViUHJvY2Vzc1BJRCgpIGNvbnN0IHsgcmV0dXJuIG1f
d2ViUHJvY2Vzc1BJRDsgfQogCiAgICAgUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXImIHJlbW90
ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyKCk7CiAKQEAgLTExMyw3ICsxMTUsNyBAQCBwdWJsaWM6CiAj
ZW5kaWYKIAogcHJpdmF0ZToKLSAgICBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKEdQVVByb2Nl
c3MmLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlm
aWVyLCBQQUw6OlNlc3Npb25JRCk7CisgICAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhHUFVQ
cm9jZXNzJiwgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIsIFByb2Nlc3NJRCwgSVBDOjpDb25u
ZWN0aW9uOjpJZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCk7CiAKICNpZiBFTkFCTEUoV0VCX0FV
RElPKQogICAgIFJlbW90ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyJiByZW1vdGVBdWRpb0Rlc3Rp
bmF0aW9uTWFuYWdlcigpOwpAQCAtMTY5LDYgKzE3MSw3IEBAIHByaXZhdGU6CiAgICAgSVBDOjpN
ZXNzYWdlUmVjZWl2ZXJNYXAgbV9tZXNzYWdlUmVjZWl2ZXJNYXA7CiAgICAgUmVmPEdQVVByb2Nl
c3M+IG1fZ3B1UHJvY2VzczsKICAgICBjb25zdCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBt
X3dlYlByb2Nlc3NJZGVudGlmaWVyOworICAgIGNvbnN0IFByb2Nlc3NJRCBtX3dlYlByb2Nlc3NQ
SUQ7CiAjaWYgRU5BQkxFKFdFQl9BVURJTykKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlQXVk
aW9EZXN0aW5hdGlvbk1hbmFnZXI+IG1fcmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXI7CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNw
cCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAppbmRleCA0YjgwZTZm
MTJhNjguLjJiNmVlMWJjNzJkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L0dQVVByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNz
LmNwcApAQCAtNzgsNyArNzgsNyBAQCBHUFVQcm9jZXNzOjp+R1BVUHJvY2VzcygpCiB7CiB9CiAK
LXZvaWQgR1BVUHJvY2Vzczo6Y3JlYXRlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhQcm9jZXNz
SWRlbnRpZmllciBpZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8SVBDOjpBdHRhY2htZW50PiYmKT4mJiBjb21wbGV0aW9u
SGFuZGxlcikKK3ZvaWQgR1BVUHJvY2Vzczo6Y3JlYXRlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cyhQcm9jZXNzSWRlbnRpZmllciBpZGVudGlmaWVyLCBQcm9jZXNzSUQgcGlkLCBQQUw6OlNlc3Np
b25JRCBzZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8SVBDOjpBdHRh
Y2htZW50PiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBhdXRvIGlwY0Nvbm5lY3Rp
b24gPSBjcmVhdGVJUENDb25uZWN0aW9uUGFpcigpOwogICAgIGlmICghaXBjQ29ubmVjdGlvbikg
ewpAQCAtODYsNyArODYsNyBAQCB2b2lkIEdQVVByb2Nlc3M6OmNyZWF0ZUdQVUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MoUHJvY2Vzc0lkZW50aWZpZXIgaWRlbnRpZmllciwgUAogICAgICAgICByZXR1
cm47CiAgICAgfQogCi0gICAgYXV0byBuZXdDb25uZWN0aW9uID0gR1BVQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzczo6Y3JlYXRlKCp0aGlzLCBpZGVudGlmaWVyLCBpcGNDb25uZWN0aW9uLT5maXJzdCwg
c2Vzc2lvbklEKTsKKyAgICBhdXRvIG5ld0Nvbm5lY3Rpb24gPSBHUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzOjpjcmVhdGUoKnRoaXMsIGlkZW50aWZpZXIsIHBpZCwgaXBjQ29ubmVjdGlvbi0+Zmly
c3QsIHNlc3Npb25JRCk7CiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIC8vIEZJWE1F
OiBXZSBzaG91bGQgcmVmYWN0b3IgY29kZSB0byBnbyBmcm9tIFdlYlByb2Nlc3MgLT4gR1BVUHJv
Y2VzcyAtPiBVSVByb2Nlc3Mgd2hlbiBnZXRVc2VyTWVkaWEgaXMgY2FsbGVkIGluc3RlYWQgb2Yg
Z29pbmcgZnJvbSBXZWJQcm9jZXNzIC0+IFVJUHJvY2VzcyBkaXJlY3RseS4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvR1BVUHJvY2Vzcy5oCmluZGV4IDA1NGRlNWU4Y2JjMS4uY2YxMGU3YTVmNmEzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKQEAgLTMzLDYgKzMzLDcgQEAKICNp
bmNsdWRlIDxwYWwvU2Vzc2lvbklELmg+CiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5j
bHVkZSA8d3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5oPgorI2luY2x1ZGUgPHd0Zi9Qcm9jZXNz
SUQuaD4KICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC0xMDEsNyArMTAyLDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIE1lc3NhZ2UgSGFuZGxlcnMKICAg
ICB2b2lkIGluaXRpYWxpemVHUFVQcm9jZXNzKEdQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMm
Jik7Ci0gICAgdm9pZCBjcmVhdGVHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKFdlYkNvcmU6OlBy
b2Nlc3NJZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChP
cHRpb25hbDxJUEM6OkF0dGFjaG1lbnQ+JiYpPiYmKTsKKyAgICB2b2lkIGNyZWF0ZUdQVUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MoV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIsIFByb2Nlc3NJRCwg
UEFMOjpTZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8SVBDOjpBdHRh
Y2htZW50PiYmKT4mJik7CiAgICAgdm9pZCBhZGRTZXNzaW9uKFBBTDo6U2Vzc2lvbklELCBHUFVQ
cm9jZXNzU2Vzc2lvblBhcmFtZXRlcnMmJik7CiAgICAgdm9pZCByZW1vdmVTZXNzaW9uKFBBTDo6
U2Vzc2lvbklEKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVBy
b2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5t
ZXNzYWdlcy5pbgppbmRleCA3ODY5NDdjMjhjNDguLmM2MjFkNzRlMDdjNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTI1LDcgKzI1
LDcgQEAKIG1lc3NhZ2VzIC0+IEdQVVByb2Nlc3MgewogICAgIEluaXRpYWxpemVHUFVQcm9jZXNz
KHN0cnVjdCBXZWJLaXQ6OkdQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgcHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycykKIAotICAgIENyZWF0ZUdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoV2Vi
Q29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgcHJvY2Vzc0lkZW50aWZpZXIsIFBBTDo6U2Vzc2lvbklE
IHNlc3Npb25JRCkgLT4gKE9wdGlvbmFsPElQQzo6QXR0YWNobWVudD4gY29ubmVjdGlvbklkZW50
aWZpZXIpIEFzeW5jCisgICAgQ3JlYXRlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhXZWJDb3Jl
OjpQcm9jZXNzSWRlbnRpZmllciBwcm9jZXNzSWRlbnRpZmllciwgUHJvY2Vzc0lEIHBpZCwgUEFM
OjpTZXNzaW9uSUQgc2Vzc2lvbklEKSAtPiAoT3B0aW9uYWw8SVBDOjpBdHRhY2htZW50PiBjb25u
ZWN0aW9uSWRlbnRpZmllcikgQXN5bmMKIAogICAgIFByb2Nlc3NEaWRUcmFuc2l0aW9uVG9Gb3Jl
Z3JvdW5kKCkKICAgICBQcm9jZXNzRGlkVHJhbnNpdGlvblRvQmFja2dyb3VuZCgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFj
a2VuZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVy
aW5nQmFja2VuZC5jcHAKaW5kZXggMWNiNTBlMzdiNjBhLi45NDVmMGZjYzAyN2EgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVu
ZGVyaW5nQmFja2VuZC5jcHAKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJSZW1vdGVSZW5k
ZXJpbmdCYWNrZW5kQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiUmVtb3RlUmVuZGVy
aW5nQmFja2VuZE1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiUmVtb3RlUmVuZGVyaW5nQmFja2VuZFBy
b3h5TWVzc2FnZXMuaCIKKyNpbmNsdWRlIDxwYWwvc3BpL2NvY29hL0lPU3VyZmFjZVNQSS5oPgog
I2luY2x1ZGUgPHd0Zi9DaGVja2VkQXJpdGhtZXRpYy5oPgogI2luY2x1ZGUgPHd0Zi9TeXN0ZW1U
cmFjaW5nLmg+CiAjaW5jbHVkZSA8d3RmL1dvcmtRdWV1ZS5oPgpAQCAtMTA1LDggKzEwNiwzNyBA
QCBib29sIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmFwcGx5TWVkaWFJdGVtKERpc3BsYXlMaXN0
OjpJdGVtSGFuZGxlIGl0ZW0sIEdyYXBoaQogICAgIHJldHVybiB0cnVlOwogfQogCitzdGF0aWMg
dm9pZCBzZXRJT1N1cmZhY2VPd25lcnNoaXAoY29uc3QgSW1hZ2VCdWZmZXJCYWNrZW5kSGFuZGxl
JiBoYW5kbGUsIFByb2Nlc3NJRCBwaWQpCit7CisjaWYgSEFWRShJT1NVUkZBQ0VfU0VUX09XTkVS
U0hJUCkKKyAgICBpZiAoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxNYWNoU2VuZFJpZ2h0PihoYW5k
bGUpKSB7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiQ0hSSVM6IHNldElPU3VyZmFjZU93bmVyc2hp
cCglZCkiLCBwaWQpOworCisgICAgICAgIHRhc2tfdCB0YXNrOworICAgICAgICBhdXRvIHJlc3Vs
dCA9IHRhc2tfZm9yX3BpZChtYWNoX3Rhc2tfc2VsZigpLCBwaWQsICZ0YXNrKTsKKyAgICAgICAg
aWYgKHJlc3VsdCAhPSBLRVJOX1NVQ0NFU1MpIHsKKyAgICAgICAgICAgIFdURkxvZ0Fsd2F5cygi
Q0hSSVM6IEZhaWxlZCB0byBnZXQgdGFzayBmb3IgcGlkICVkLCBlcnJvcjogJWQiLCBwaWQsIHJl
c3VsdCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBhdXRvIHN1
cmZhY2UgPSBhZG9wdENGKElPU3VyZmFjZUxvb2t1cEZyb21NYWNoUG9ydChXVEY6OmdldDxNYWNo
U2VuZFJpZ2h0PihoYW5kbGUpLnNlbmRSaWdodCgpKSk7CisKKyAgICAgICAgLy8gQ2xhaW0gaW4g
dGhlIFdlYlByb2Nlc3Mgb3duZXJzaGlwIG9mIHRoZSBJT1N1cmZhY2UgY29uc3RydWN0ZWQgYnkg
dGhlIEdQVVByb2Nlc3Mgc28gdGhhdCBKZXRzYW0ga25vd3Mgd2hpY2ggcHJvY2Vzc2VzIHRvIGtp
bGwuCisgICAgICAgIHJlc3VsdCA9IElPU3VyZmFjZVNldE93bmVyc2hpcChzdXJmYWNlLmdldCgp
LCBtYWNoX3Rhc2tfc2VsZigpLCBrSU9TdXJmYWNlTWVtb3J5TGVkZ2VyVGFnR3JhcGhpY3MsIDAp
OworICAgICAgICBpZiAocmVzdWx0ICE9IGtJT1JldHVyblN1Y2Nlc3MpCisgICAgICAgICAgICBS
RUxFQVNFX0xPR19FUlJPUihQcm9jZXNzLCAiRmFpbGVkIHRvIGNsYWltIG93bmVyc2hpcCBvZiBJ
T1N1cmZhY2UgJXAuIEVycm9yOiAlZCIsIHN1cmZhY2UuZ2V0KCksIHJlc3VsdCk7CisgICAgICAg
IFdURkxvZ0Fsd2F5cygiQ0hSSVM6IHNldElPU3VyZmFjZU93bmVyc2hpcCgpIHN1cmZhY2U6ICVw
LCByZXN1bHQ6ICVkIChpc1N1Y2Nlc3M/ICVkKSIsIHN1cmZhY2UuZ2V0KCksIHJlc3VsdCwgcmVz
dWx0ID09IGtJT1JldHVyblN1Y2Nlc3MpOworICAgIH0KKyNlbHNlCisgICAgVU5VU0VEX1BBUkFN
KGhhbmRsZSk7CisgICAgVU5VU0VEX1BBUkFNKHBpZCk7CisjZW5kaWYKK30KKwogdm9pZCBSZW1v
dGVSZW5kZXJpbmdCYWNrZW5kOjpkaWRDcmVhdGVJbWFnZUJ1ZmZlckJhY2tlbmQoSW1hZ2VCdWZm
ZXJCYWNrZW5kSGFuZGxlIGhhbmRsZSwgUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyIHJlbmRl
cmluZ1Jlc291cmNlSWRlbnRpZmllcikKIHsKKyAgICBzZXRJT1N1cmZhY2VPd25lcnNoaXAoaGFu
ZGxlLCBtX2dwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MtPndlYlByb2Nlc3NQSUQoKSk7CisKICAg
ICBzZW5kKE1lc3NhZ2VzOjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHk6OkRpZENyZWF0ZUlt
YWdlQnVmZmVyQmFja2VuZChXVEZNb3ZlKGhhbmRsZSksIHJlbmRlcmluZ1Jlc291cmNlSWRlbnRp
ZmllciksIG1fcmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuR1BVUHJvY2Vzcy5z
Yi5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5HUFVQ
cm9jZXNzLnNiLmluCmluZGV4IDRlOTUxZjBiODdhYy4uYjdkYjUxNWUzZTJjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuR1BVUHJvY2Vz
cy5zYi5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJL
aXQuR1BVUHJvY2Vzcy5zYi5pbgpAQCAtODkyLDMgKzg5Miw3IEBACiAoYWxsb3cgaW9raXQtb3Bl
bgogICAgIChpb2tpdC11c2VyLWNsaWVudC1jbGFzcyAiQXBwbGVBVkRVc2VyQ2xpZW50IikKICkK
KworOzsgRm9yIHRhc2tfZm9yX3BpZAorKGFsbG93IG1hY2gtcHJpdi10YXNrLXBvcnQpCisKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29t
LmFwcGxlLldlYktpdC5HUFUuc2IgYi9Tb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJv
ZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuR1BVLnNiCmluZGV4IGEyNzQwZTQxYjc4MC4uOGI2
ZGU3YTFmNDgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJv
ZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuR1BVLnNiCisrKyBiL1NvdXJjZS9XZWJLaXQvUmVz
b3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5HUFUuc2IKQEAgLTkw
NSwzICs5MDUsNyBAQAogKGRlbnkgbWFjaC1sb29rdXAKICAgICAoZ2xvYmFsLW5hbWUgImNvbS5h
cHBsZS53ZWJraXQuY2FtZXJhIikKICkKKworOzsgRm9yIHRhc2tfZm9yX3BpZAorKGFsbG93IG1h
Y2gtcHJpdi10YXNrLXBvcnQpCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9w
cm9jZXNzLWVudGl0bGVtZW50cy5zaCBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9wcm9jZXNzLWVu
dGl0bGVtZW50cy5zaAppbmRleCBmM2NkOTRjMWEwNGMuLmIxZTlhZWFjZGFjOCAxMDA3NTUKLS0t
IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNoCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5zaApAQCAtNDksNiArNDks
OCBAQCBmdW5jdGlvbiBtYWNfcHJvY2Vzc19ncHVfZW50aXRsZW1lbnRzKCkKIAogICAgICAgICBw
bGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnJvb3RsZXNzLnN0b3JhZ2UuV2ViS2l0R1BVU2FuZGJv
eCBib29sIFlFUwogICAgICAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLlF1YXJ0ekNvcmUu
d2Via2l0LWVuZC1wb2ludHMgYm9vbCBZRVMKKyAgICAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5h
cHBsZS5wcml2YXRlLm1lbW9yeS5vd25lcnNoaXBfdHJhbnNmZXIgYm9vbCBZRVMKKyAgICAgICAg
cGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5zeXN0ZW0tdGFzay1wb3J0cy5jb250cm9sIGJvb2wg
WUVTCiAgICAgZmkKIH0KIApAQCAtMTU0LDYgKzE1Niw4IEBAIGZ1bmN0aW9uIG1hY2NhdGFseXN0
X3Byb2Nlc3NfZ3B1X2VudGl0bGVtZW50cygpCiAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBs
ZS5zZWN1cml0eS5uZXR3b3JrLmNsaWVudCBib29sIFlFUwogICAgIHBsaXN0YnVkZHkgQWRkIDpj
b20uYXBwbGUucnVubmluZ2JvYXJkLmFzc2VydGlvbnMud2Via2l0IGJvb2wgWUVTCiAgICAgcGxp
c3RidWRkeSBBZGQgOmNvbS5hcHBsZS5RdWFydHpDb3JlLndlYmtpdC1lbmQtcG9pbnRzIGJvb2wg
WUVTCisgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5wcml2YXRlLm1lbW9yeS5vd25lcnNo
aXBfdHJhbnNmZXIgYm9vbCBZRVMKKyAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnN5c3Rl
bS10YXNrLXBvcnRzLmNvbnRyb2wgYm9vbCBZRVMKIH0KIAogZnVuY3Rpb24gbWFjY2F0YWx5c3Rf
cHJvY2Vzc19uZXR3b3JrX2VudGl0bGVtZW50cygpCkBAIC0yMjksNiArMjMzLDkgQEAgZnVuY3Rp
b24gaW9zX2ZhbWlseV9wcm9jZXNzX2dwdV9lbnRpdGxlbWVudHMoKQogCiAgICAgcGxpc3RidWRk
eSBBZGQgOnNlYXRiZWx0LXByb2ZpbGVzIGFycmF5CiAgICAgcGxpc3RidWRkeSBBZGQgOnNlYXRi
ZWx0LXByb2ZpbGVzOjAgc3RyaW5nIGNvbS5hcHBsZS5XZWJLaXQuR1BVCisKKyAgICBwbGlzdGJ1
ZGR5IEFkZCA6Y29tLmFwcGxlLnByaXZhdGUubWVtb3J5Lm93bmVyc2hpcF90cmFuc2ZlciBib29s
IFlFUworICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUuc3lzdGVtLXRhc2stcG9ydHMuY29u
dHJvbCBib29sIFlFUwogfQogCiBmdW5jdGlvbiBpb3NfZmFtaWx5X3Byb2Nlc3Nfd2ViYXV0aG5f
ZW50aXRsZW1lbnRzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9H
UFVQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nl
c3NQcm94eS5jcHAKaW5kZXggYTZhYmFmZjM0YTQ3Li4zY2M3Njk4MWRjOTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwCkBAIC0yMTgsNyAr
MjE4LDcgQEAgdm9pZCBHUFVQcm9jZXNzUHJveHk6OmdldEdQVVByb2Nlc3NDb25uZWN0aW9uKFdl
YlByb2Nlc3NQcm94eSYgd2ViUHJvY2Vzc1Byb3h5LAogI2VuZGlmCiAKICAgICBSRUxFQVNFX0xP
RyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gR1BVUHJvY2Vzc1Byb3h5IGlzIHRha2luZyBhIGJh
Y2tncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2UgYSB3ZWIgcHJvY2VzcyBpcyByZXF1ZXN0aW5nIGEg
Y29ubmVjdGlvbiIsIHRoaXMpOwotICAgIHNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6R1BV
UHJvY2Vzczo6Q3JlYXRlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyB7IHdlYlByb2Nlc3NQcm94
eS5jb3JlUHJvY2Vzc0lkZW50aWZpZXIoKSwgd2ViUHJvY2Vzc1Byb3h5LnNlc3Npb25JRCgpIH0s
IFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKSwgcmVwbHkgPSBXVEZNb3ZlKHJl
cGx5KV0oYXV0byYmIGlkZW50aWZpZXIpIG11dGFibGUgeworICAgIHNlbmRXaXRoQXN5bmNSZXBs
eShNZXNzYWdlczo6R1BVUHJvY2Vzczo6Q3JlYXRlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyB7
IHdlYlByb2Nlc3NQcm94eS5jb3JlUHJvY2Vzc0lkZW50aWZpZXIoKSwgd2ViUHJvY2Vzc1Byb3h5
LnByb2Nlc3NJZGVudGlmaWVyKCksIHdlYlByb2Nlc3NQcm94eS5zZXNzaW9uSUQoKSB9LCBbdGhp
cywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHJlcGx5ID0gV1RGTW92ZShyZXBseSld
KGF1dG8mJiBpZGVudGlmaWVyKSBtdXRhYmxlIHsKICAgICAgICAgaWYgKCF3ZWFrVGhpcykgewog
ICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2VzcywgIkdQVVByb2Nlc3NQcm94eTo6
Z2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb246IEdQVVByb2Nlc3NQcm94eSBkZWFsbG9jYXRlZCBkdXJp
bmcgY29ubmVjdGlvbiBlc3RhYmxpc2htZW50Iik7CiAgICAgICAgICAgICByZXR1cm4gcmVwbHko
eyB9KTsK
</data>
<flag name="commit-queue"
          id="435692"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417883</attachid>
            <date>2021-01-19 09:58:01 -0800</date>
            <delta_ts>2021-01-19 10:07:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220663-20210119095800.patch</filename>
            <type>text/plain</type>
            <size>22534</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNjAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGM5MDc3ZDExOGM4OTZhNTA1MDc0NTFk
YzI4MmZkNjQ0MWZmYTZkZGQuLjMyZjRiOTc0OWRmOTYzMGU5MzI3MjlhMzg5N2JhYTcyY2FjNDRk
YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDEtMTkgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBbR1BVUHJvY2Vzc10gTWFyayBJT1N1cmZhY2UgYmFja2lu
ZyBmb3IgSW1hZ2VCdWZmZXJCYWNrZW5kcyBhcyBvd25lZCBieSB0aGUgV2ViUHJvY2VzcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNjYzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGNvbXBpbGUg
dGltZSBmbGFnIGluZGljYXRpbmcgaWYgSU9TdXJmYWNlU2V0T3duZXJzaGlwKCkgU1BJIGlzIGF2
YWlsYWJsZS4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybUhhdmUuaDoKKwogMjAyMS0wMS0xNyAg
WXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBKU0MgQVBJ
IGNvbmZpZ3VyaW5nIEdDIHNpZ25hbHMgaW4gTGludXgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmYTVmNjhlMzNm
ODA5NGVjMjk0OTUwOTZiYTkwMzNmYjIxNzE1ZTJiLi5kNThhODNjODY5MWZiZTUyNTk1OGVkY2M4
MzhjYmNiMDljMDE3NmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjEtMDEtMTkg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbR1BVUHJvY2Vzc10g
TWFyayBJT1N1cmZhY2UgYmFja2luZyBmb3IgSW1hZ2VCdWZmZXJCYWNrZW5kcyBhcyBvd25lZCBi
eSB0aGUgV2ViUHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIwNjYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIEFQSSBDb25jcmV0ZUltYWdlQnVmZmVyIHRvIHNldCBwcm9jZXNzIG93bmVy
c2hpcC4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0NvbmNyZXRlSW1hZ2VCdWZmZXIu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbmNyZXRlSW1hZ2VCdWZmZXI6OnNldFByb2Nlc3NPd25l
cnNoaXApOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVySU9TdXJm
YWNlQmFja2VuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUJ1ZmZlcklPU3VyZmFjZUJh
Y2tlbmQ6OnNldFByb2Nlc3NPd25lcnNoaXApOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2NnL0ltYWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZC5oOgorCiAyMDIxLTAxLTE5ICBBZHJpYW4g
UGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgTm9uLXVuaWZp
ZWQgYnVpbGQgZml4ZXMsIG1pZCBKYW51YXJ5IDIwMjEgZWRpdGlvbgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cK
aW5kZXggZTUzNzM4N2U4ZmQyMjg5NWFjZDcwNThhODY3MjQ2NGUyZTZjMjQ3OC4uMTAxYzI4NTUy
ODJkMmEwZmRiMjA2MjFkOTkzYTg5MmRjN2UxMWZhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMjEtMDEtMTkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
KworICAgICAgICBbR1BVUHJvY2Vzc10gTWFyayBJT1N1cmZhY2UgYmFja2luZyBmb3IgSW1hZ2VC
dWZmZXJCYWNrZW5kcyBhcyBvd25lZCBieSB0aGUgV2ViUHJvY2VzcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNjYzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGZvcndhcmQgZGVjbGFyYXRpb24g
Zm9yIElPU3VyZmFjZVNldE93bmVyc2hpcCgpLgorCisgICAgICAgICogcGFsL3NwaS9jb2NvYS9J
T1N1cmZhY2VTUEkuaDoKKwogMjAyMS0wMS0xNCAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9u
QGFwcGxlLmNvbT4KIAogICAgICAgICBFeGNlcHRpb25zIHRocm93biB3aGVuIGludm9raW5nIGEg
PHNlbGVjdD4gb24gYW4gaVBob25lLWlkaW9tIGFwcCBydW5uaW5nIG9uIG1hY09TCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IDQ1OGNjODU0NzcxMjM4NDI3NTJmYmY4YTE4ZTRiZDEyN2VkMzBjYzcuLjM2MTdiMWI1M2Ix
MzE3NzYwZDFjYzMyOGFjMjg1NDRiNDZlZGYxNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAK
KzIwMjEtMDEtMTkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBb
R1BVUHJvY2Vzc10gTWFyayBJT1N1cmZhY2UgYmFja2luZyBmb3IgSW1hZ2VCdWZmZXJCYWNrZW5k
cyBhcyBvd25lZCBieSB0aGUgV2ViUHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNjYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTWFyayBXZWJQcm9jZXNzIGFzIG93bmVyIG9mIElPU3VyZmFj
ZSBiYWNraW5nIGZvciBJbWFnZUJ1ZmZlckJhY2tlbmRzLiBJZiB3ZSBkb24ndCBkbyB0aGlzLAor
ICAgICAgICBhbGwgSU9TdXJmYWNlIG1lbW9yeSBnZXRzIGF0dHJpYnV0ZWQgdG8gdGhlIEdQVVBy
b2Nlc3MsIG1ha2luZyBpdCBhIHByaW1lIGNhbmRpZGF0ZSBmb3IKKyAgICAgICAgamV0c2FtLiBX
ZSBuZWVkIHRvIGF0dHJpYnV0ZSBtZW1vcnkgdXNhZ2UgdG8gdGhlIFdlYlByb2Nlc3NlcyBiZWlu
ZyBzZXJ2ZWQgYnkgdGhlIEdQVVByb2Nlc3MKKyAgICAgICAgYXMgbXVjaCBhcyBwb3NzaWJsZSBh
bmQgdGhpcyBpcyBhIHN0ZXAgaW4gdGhpcyBkaXJlY3Rpb24uCisKKyAgICAgICAgSSBoYXZlIHZl
cmlmaWVkIGxvY2FsbHkgdGhhdCBib3RoIGpldHNhbV9wcmlvcml0eSBhbmQgZm9vdHByaW50IHRv
b2xzIHNob3cgSU9TdXJmYWNlIG1lbW9yeQorICAgICAgICB1c2FnZSBtb3ZlZCBmcm9tIHRoZSBH
UFVQcm9jZXNzIHRvIHRoZSBXZWJQcm9jZXNzLiBKdXN0IGxvYWRpbmcgdGhlIHJlZGRpdC5jb20g
ZnJvbnQgcGFnZQorICAgICAgICBmb3IgZXhhbXBsZSwgSSBzZWUgMzAuNU1CIG9mIElPU3VyZmFj
ZSBtZW1vcnkgbW92aW5nIGZyb20gdGhlIEdQVVByb2Nlc3MgdG8gdGhlIFdlYlByb2Nlc3MuCisK
KyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjcmVhdGUpOgorICAgICAg
ICAoV2ViS2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpHUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mu
aDoKKyAgICAgICAgKFdlYktpdDo6R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6d2ViUHJvY2Vz
c1BJRCBjb25zdCk6CisgICAgICAgICogR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6R1BVUHJvY2Vzczo6Y3JlYXRlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcyk6
CisgICAgICAgICogR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmg6CisgICAgICAgICogR1BVUHJvY2Vz
cy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3Mv
UmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbmRl
cmluZ0JhY2tlbmQ6OmNyZWF0ZUltYWdlQnVmZmVyKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL21h
Yy9jb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IuaW46CisgICAgICAgICogUmVzb3VyY2Vz
L1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5HUFUuc2I6CisgICAgICAgICog
U2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5zaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvR1BV
L0dQVVByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6
Z2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb24pOgorCiAyMDIxLTAxLTE5ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgZHJvcCByZW1haW5pbmcgbWFp
bi10aHJlYWQgYXNzZXJ0aW9uIGluIFNoYXJlYWJsZUJpdG1hcCB0aGF0IEkgbWlzc2VkIGluIHIy
NzE1MzMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCBiL1NvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCmluZGV4IGNmZGFmZDZmMmM4OGVhYjY5MzAzMmE1NWYw
Yzc3ZTY3NjlhZTJlOTIuLjUxZjZiYjhmNDc3ZWU1OTkxNTM3MmMxYjEyNWRjNjg2NzJmOTE4YjUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCisrKyBiL1NvdXJjZS9X
VEYvd3RmL1BsYXRmb3JtSGF2ZS5oCkBAIC0yOTAsNiArMjkwLDEzIEBACiAjZGVmaW5lIEhBVkVf
SU9TVVJGQUNFX0FDQ0VMRVJBVE9SIDEKICNlbmRpZgogCisjaWYgKFBMQVRGT1JNKE1BQykgJiYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIFwKKyAgICB8fCAoKFBM
QVRGT1JNKElPUykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpKSAmJiBfX0lQSE9ORV9PU19WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDApIFwKKyAgICB8fCAoUExBVEZPUk0oV0FUQ0hPUykg
JiYgX19XQVRDSF9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSA2MDAwMCkgXAorICAgIHx8IChQ
TEFURk9STShBUFBMRVRWKSAmJiBfX1RWX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAw
MCkKKyNkZWZpbmUgSEFWRV9JT1NVUkZBQ0VfU0VUX09XTkVSU0hJUCAxCisjZW5kaWYKKwogI2lm
IFBMQVRGT1JNKE1BQykKICNkZWZpbmUgSEFWRV9OU19BQ1RJVklUWSAxCiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0lPU3VyZmFjZVNQSS5oIGIv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvSU9TdXJmYWNlU1BJLmgKaW5kZXggN2Ni
Zjc1OTg3MjYxNGE4ODk4ODAwNTJhNjMwNDNkMjAxMzU1OTc1My4uZTI0ZDUwMjY2MTNjNjQxM2Y3
ZmI2MzJkNDhiZWMyZjM0YmQ0MDViZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9zcGkvY29jb2EvSU9TdXJmYWNlU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9z
cGkvY29jb2EvSU9TdXJmYWNlU1BJLmgKQEAgLTg4LDYgKzg4LDIyIEBAIFdURl9FWFRFUk5fQ19F
TkQKIAogI2ltcG9ydCA8SU9TdXJmYWNlL0lPU3VyZmFjZVR5cGVzLmg+CiAKK1dURl9FWFRFUk5f
Q19CRUdJTgorCisjaWYgSEFWRShJT1NVUkZBQ0VfU0VUX09XTkVSU0hJUCkKK3R5cGVkZWYgQ0Zf
RU5VTShpbnQsIElPU3VyZmFjZU1lbW9yeUxlZGdlclRhZ3MpIHsKKyAgICBrSU9TdXJmYWNlTWVt
b3J5TGVkZ2VyVGFnRGVmYXVsdCAgICAgPSAweDAwMDAwMDAxLAorICAgIGtJT1N1cmZhY2VNZW1v
cnlMZWRnZXJUYWdOZXR3b3JrICAgICA9IDB4MDAwMDAwMDIsCisgICAga0lPU3VyZmFjZU1lbW9y
eUxlZGdlclRhZ01lZGlhICAgICAgID0gMHgwMDAwMDAwMywKKyAgICBrSU9TdXJmYWNlTWVtb3J5
TGVkZ2VyVGFnR3JhcGhpY3MgICAgPSAweDAwMDAwMDA0LAorICAgIGtJT1N1cmZhY2VNZW1vcnlM
ZWRnZXJUYWdOZXVyYWwgICAgICA9IDB4MDAwMDAwMDUsCit9OworCitJT1JldHVybiBJT1N1cmZh
Y2VTZXRPd25lcnNoaXAoSU9TdXJmYWNlUmVmIGJ1ZmZlciwgdGFza190IG5ld093bmVyLCBpbnQg
bmV3TGVkZ2VyVGFnLCB1aW50MzJfdCBuZXdMZWRnZXJPcHRpb25zKTsKKyNlbmRpZiAvLyBIQVZF
KElPU1VSRkFDRV9TRVRfT1dORVJTSElQKQorCitXVEZfRVhURVJOX0NfRU5ECisKICNlbmRpZgog
CiBXVEZfRVhURVJOX0NfQkVHSU4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0NvbmNyZXRlSW1hZ2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0NvbmNyZXRlSW1hZ2VCdWZmZXIuaAppbmRleCAxZjI0NWJjZWJhNzJjZTEzN2U5
MGM2MWU1NWY1MWEzMzgxYjgwNjg1Li5hMzU5YzI4MDkyMjc3ZmYwNWU2NmM4Y2ZhNzI2NTk1ZDNk
YmFmMWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db25j
cmV0ZUltYWdlQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Q29uY3JldGVJbWFnZUJ1ZmZlci5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJJbWFn
ZUJ1ZmZlci5oIgogI2luY2x1ZGUgIkltYWdlRGF0YS5oIgorI2luY2x1ZGUgPHd0Zi9Qcm9jZXNz
SUQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01Niw2ICs1NywxMiBAQCBwdWJsaWM6
CiAgICAgUmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gQmFja2VuZFR5cGU6OnJlbmRlcmluZ01vZGU7IH0KICAgICBib29sIGNhbk1hcEJhY2tpbmdT
dG9yZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIEJhY2tlbmRUeXBlOjpjYW5NYXBCYWNraW5n
U3RvcmU7IH0KIAorICAgIHZvaWQgc2V0UHJvY2Vzc093bmVyc2hpcChQcm9jZXNzSUQgcGlkKQor
ICAgIHsKKyAgICAgICAgaWYgKG1fYmFja2VuZCkKKyAgICAgICAgICAgIG1fYmFja2VuZC0+c2V0
UHJvY2Vzc093bmVyc2hpcChwaWQpOworICAgIH0KKwogcHJvdGVjdGVkOgogICAgIENvbmNyZXRl
SW1hZ2VCdWZmZXIoY29uc3QgSW1hZ2VCdWZmZXJCYWNrZW5kOjpQYXJhbWV0ZXJzJiBwYXJhbWV0
ZXJzLCBzdGQ6OnVuaXF1ZV9wdHI8QmFja2VuZFR5cGU+JiYgYmFja2VuZCA9IG51bGxwdHIsIFJl
bmRlcmluZ1Jlc291cmNlSWRlbnRpZmllciByZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIgPSBS
ZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXI6OmdlbmVyYXRlKCkpCiAgICAgICAgIDogbV9wYXJh
bWV0ZXJzKHBhcmFtZXRlcnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jZy9JbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJJT1N1cmZhY2VCYWNrZW5kLmNwcApp
bmRleCA2YzNiN2M3NGI0NmUxMjZlNzlkOWYxNjIyMGIzYTJmYWQ5ZWRkOWExLi5lZjY2OTk5ZGNj
NTkyNzM4M2IwZTFmNWM4NjczZTdiZTYxYTIyYjk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVySU9TdXJm
YWNlQmFja2VuZC5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJJbWFnZURhdGEuaCIK
ICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiSU9TdXJmYWNlLmgiCisjaW5jbHVkZSAi
TG9nZ2luZy5oIgogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KICNpbmNs
dWRlIDxwYWwvc3BpL2NnL0NvcmVHcmFwaGljc1NQSS5oPgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxs
b2NJbmxpbmVzLmg+CkBAIC0yMTcsNiArMjE4LDI1IEBAIHZvaWQgSW1hZ2VCdWZmZXJJT1N1cmZh
Y2VCYWNrZW5kOjpyZWxlYXNlQnVmZmVyVG9Qb29sKCkKICAgICBJT1N1cmZhY2U6Om1vdmVUb1Bv
b2woV1RGTW92ZShtX3N1cmZhY2UpKTsKIH0KIAordm9pZCBJbWFnZUJ1ZmZlcklPU3VyZmFjZUJh
Y2tlbmQ6OnNldFByb2Nlc3NPd25lcnNoaXAoUHJvY2Vzc0lEIHBpZCkKK3sKKyNpZiBIQVZFKElP
U1VSRkFDRV9TRVRfT1dORVJTSElQKQorICAgIEFTU0VSVChtX3N1cmZhY2UpOworICAgIHRhc2tf
dCB0YXNrOworICAgIGF1dG8gcmVzdWx0ID0gdGFza19mb3JfcGlkKG1hY2hfdGFza19zZWxmKCks
IHBpZCwgJnRhc2spOworICAgIGlmIChyZXN1bHQgIT0gS0VSTl9TVUNDRVNTKSB7CisgICAgICAg
IFJFTEVBU0VfTE9HX0VSUk9SKElPU3VyZmFjZSwgIkltYWdlQnVmZmVySU9TdXJmYWNlQmFja2Vu
ZDo6c2V0UHJvY2Vzc093bmVyc2hpcDogRmFpbGVkIHRvIGdldCB0YXNrIGZvciBwaWQgJWQsIGVy
cm9yOiAlZCIsIHBpZCwgcmVzdWx0KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHJl
c3VsdCA9IElPU3VyZmFjZVNldE93bmVyc2hpcChtX3N1cmZhY2UtPnN1cmZhY2UoKSwgdGFzaywg
a0lPU3VyZmFjZU1lbW9yeUxlZGdlclRhZ0dyYXBoaWNzLCAwKTsKKyAgICBpZiAocmVzdWx0ICE9
IGtJT1JldHVyblN1Y2Nlc3MpCisgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKElPU3VyZmFjZSwg
IkltYWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZDo6c2V0UHJvY2Vzc093bmVyc2hpcDogRmFpbGVk
IHRvIGNsYWltIG93bmVyc2hpcCBvZiBJT1N1cmZhY2UgJXAsIHBpZDogJWQsIGVycm9yOiAlZCIs
IG1fc3VyZmFjZS0+c3VyZmFjZSgpLCBwaWQsIHJlc3VsdCk7CisjZWxzZQorICAgIFVOVVNFRF9Q
QVJBTShwaWQpOworI2VuZGlmCit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlm
IC8vIEhBVkUoSU9TVVJGQUNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJJT1N1cmZhY2VCYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQuaAppbmRl
eCA0ODU5ZGY2ZmM1MjVkODVjMzI4YzE0NWYwNzkxNzgzNTY5MDllMjVkLi5iZGYyOGQwOGQ1NWE3
ZjU1YWU5MDJjZDMwODhhNDBjZTNkNDI3NWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlcklPU3VyZmFjZUJh
Y2tlbmQuaApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkltYWdlQnVmZmVyQ0dCYWNrZW5k
LmgiCiAjaW5jbHVkZSAiSU9TdXJmYWNlLmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvYy5oPgor
I2luY2x1ZGUgPHd0Zi9Qcm9jZXNzSUQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC03
Myw2ICs3NCw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgaXNPcmlnaW5B
dFVwcGVyTGVmdENvcm5lciA9IHRydWU7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBSZW5kZXJpbmdN
b2RlIHJlbmRlcmluZ01vZGUgPSBSZW5kZXJpbmdNb2RlOjpBY2NlbGVyYXRlZDsKIAorICAgIHZv
aWQgc2V0UHJvY2Vzc093bmVyc2hpcChQcm9jZXNzSUQpOworCiBwcm90ZWN0ZWQ6CiAgICAgc3Rh
dGljIFJldGFpblB0cjxDR0NvbG9yU3BhY2VSZWY+IGNvbnRleHRDb2xvclNwYWNlKGNvbnN0IEdy
YXBoaWNzQ29udGV4dCYpOwogICAgIHVuc2lnbmVkIGJ5dGVzUGVyUm93KCkgY29uc3Qgb3ZlcnJp
ZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5jcHAKaW5kZXggMDM1MjliNGI2OTg2MjcyNmUyYjZlZGE2MjI4YTU2YTUwY2Qw
MGE5NS4uYjc1YjBhM2UxMTU4ZTNhZDQ4NjY2YzNhNWY1ZjM1ODFjYTViNDQ5NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
LmNwcApAQCAtMTU2LDE1ICsxNTYsMTYgQEAgcHJpdmF0ZToKIH07CiAjZW5kaWYKIAotUmVmPEdQ
VUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M+IEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0
ZShHUFVQcm9jZXNzJiBncHVQcm9jZXNzLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciB3ZWJQ
cm9jZXNzSWRlbnRpZmllciwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyIGNvbm5lY3Rpb25J
ZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCitSZWY8R1BVQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcz4gR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRlKEdQVVByb2Nlc3Mm
IGdwdVByb2Nlc3MsIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHdlYlByb2Nlc3NJZGVudGlm
aWVyLCBQcm9jZXNzSUQgcGlkLCBJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIgY29ubmVjdGlv
bklkZW50aWZpZXIsIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkKIHsKLSAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKGdwdVByb2Nlc3MsIHdlYlByb2Nl
c3NJZGVudGlmaWVyLCBjb25uZWN0aW9uSWRlbnRpZmllciwgc2Vzc2lvbklEKSk7CisgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhncHVQcm9jZXNzLCB3
ZWJQcm9jZXNzSWRlbnRpZmllciwgcGlkLCBjb25uZWN0aW9uSWRlbnRpZmllciwgc2Vzc2lvbklE
KSk7CiB9CiAKLUdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkdQVUNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MoR1BVUHJvY2VzcyYgZ3B1UHJvY2VzcywgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIg
d2ViUHJvY2Vzc0lkZW50aWZpZXIsIElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBjb25uZWN0
aW9uSWRlbnRpZmllciwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQorR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2Vzczo6R1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhHUFVQcm9jZXNzJiBncHVQcm9j
ZXNzLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciB3ZWJQcm9jZXNzSWRlbnRpZmllciwgUHJv
Y2Vzc0lEIHBpZCwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyIGNvbm5lY3Rpb25JZGVudGlm
aWVyLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCiAgICAgOiBtX2Nvbm5lY3Rpb24oSVBDOjpD
b25uZWN0aW9uOjpjcmVhdGVTZXJ2ZXJDb25uZWN0aW9uKGNvbm5lY3Rpb25JZGVudGlmaWVyLCAq
dGhpcykpCiAgICAgLCBtX2dwdVByb2Nlc3MoZ3B1UHJvY2VzcykKICAgICAsIG1fd2ViUHJvY2Vz
c0lkZW50aWZpZXIod2ViUHJvY2Vzc0lkZW50aWZpZXIpCisgICAgLCBtX3dlYlByb2Nlc3NQSUQo
cGlkKQogICAgICwgbV9yZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eShtYWtlVW5pcXVlPFJl
bW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5PigqdGhpcykpCiAgICAgLCBtX3Nlc3Npb25JRChz
ZXNzaW9uSUQpCiAjaWYgUExBVEZPUk0oQ09DT0EpICYmIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5o
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaApp
bmRleCA1MWZjYzdmMDViOTk2YzIyNjAwMDFmMTE3ZjYyZjQ3YWY3ZDJiMzA3Li4wNGZjM2QwMjIx
NzY0MDY5NWY0ZDJkNjA5YTE2YTlmODczNjQ3ZjFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKQEAgLTM4LDYgKzM4LDcg
QEAKICNpbmNsdWRlIDxXZWJDb3JlL1Byb2Nlc3NJZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8cGFs
L1Nlc3Npb25JRC5oPgogI2luY2x1ZGUgPHd0Zi9Mb2dnZXIuaD4KKyNpbmNsdWRlIDx3dGYvUHJv
Y2Vzc0lELmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CiAKICNpZiBF
TkFCTEUoV0VCR0wpCkBAIC03MiwxMyArNzMsMTQgQEAgY2xhc3MgR1BVQ29ubmVjdGlvblRvV2Vi
UHJvY2VzcwogICAgICwgcHVibGljIFdlYkNvcmU6Ok5vd1BsYXlpbmdNYW5hZ2VyOjpDbGllbnQK
ICAgICAsIElQQzo6Q29ubmVjdGlvbjo6Q2xpZW50IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVm
PEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M+IGNyZWF0ZShHUFVQcm9jZXNzJiwgV2ViQ29yZTo6
UHJvY2Vzc0lkZW50aWZpZXIsIElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciwgUEFMOjpTZXNz
aW9uSUQpOworICAgIHN0YXRpYyBSZWY8R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcz4gY3JlYXRl
KEdQVVByb2Nlc3MmLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciwgUHJvY2Vzc0lELCBJUEM6
OkNvbm5lY3Rpb246OklkZW50aWZpZXIsIFBBTDo6U2Vzc2lvbklEKTsKICAgICB2aXJ0dWFsIH5H
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKCk7CiAKICAgICBJUEM6OkNvbm5lY3Rpb24mIGNvbm5l
Y3Rpb24oKSB7IHJldHVybiBtX2Nvbm5lY3Rpb24uZ2V0KCk7IH0KICAgICBJUEM6Ok1lc3NhZ2VS
ZWNlaXZlck1hcCYgbWVzc2FnZVJlY2VpdmVyTWFwKCkgeyByZXR1cm4gbV9tZXNzYWdlUmVjZWl2
ZXJNYXA7IH0KICAgICBHUFVQcm9jZXNzJiBncHVQcm9jZXNzKCkgeyByZXR1cm4gbV9ncHVQcm9j
ZXNzLmdldCgpOyB9CiAgICAgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgd2ViUHJvY2Vzc0lk
ZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX3dlYlByb2Nlc3NJZGVudGlmaWVyOyB9CisgICAg
UHJvY2Vzc0lEIHdlYlByb2Nlc3NQSUQoKSBjb25zdCB7IHJldHVybiBtX3dlYlByb2Nlc3NQSUQ7
IH0KIAogICAgIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyJiByZW1vdGVNZWRpYVJlc291cmNl
TWFuYWdlcigpOwogCkBAIC0xMTMsNyArMTE1LDcgQEAgcHVibGljOgogI2VuZGlmCiAKIHByaXZh
dGU6Ci0gICAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhHUFVQcm9jZXNzJiwgV2ViQ29yZTo6
UHJvY2Vzc0lkZW50aWZpZXIsIElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciwgUEFMOjpTZXNz
aW9uSUQpOworICAgIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoR1BVUHJvY2VzcyYsIFdlYkNv
cmU6OlByb2Nlc3NJZGVudGlmaWVyLCBQcm9jZXNzSUQsIElQQzo6Q29ubmVjdGlvbjo6SWRlbnRp
ZmllciwgUEFMOjpTZXNzaW9uSUQpOwogCiAjaWYgRU5BQkxFKFdFQl9BVURJTykKICAgICBSZW1v
dGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdlciYgcmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIo
KTsKQEAgLTE2OSw2ICsxNzEsNyBAQCBwcml2YXRlOgogICAgIElQQzo6TWVzc2FnZVJlY2VpdmVy
TWFwIG1fbWVzc2FnZVJlY2VpdmVyTWFwOwogICAgIFJlZjxHUFVQcm9jZXNzPiBtX2dwdVByb2Nl
c3M7CiAgICAgY29uc3QgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgbV93ZWJQcm9jZXNzSWRl
bnRpZmllcjsKKyAgICBjb25zdCBQcm9jZXNzSUQgbV93ZWJQcm9jZXNzUElEOwogI2lmIEVOQUJM
RShXRUJfQVVESU8pCiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUF1ZGlvRGVzdGluYXRpb25N
YW5hZ2VyPiBtX3JlbW90ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyOwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKaW5kZXggNGI4MGU2ZjEyYTY4YWQ2OTBkYTg5
N2UwODdlMGJjMDQwM2ExOGE5Ny4uMmI2ZWUxYmM3MmQ2NTg2NjVkYjIxZThhYTdhNmY0NjIyZThm
ZGFmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcApAQCAtNzgsNyAr
NzgsNyBAQCBHUFVQcm9jZXNzOjp+R1BVUHJvY2VzcygpCiB7CiB9CiAKLXZvaWQgR1BVUHJvY2Vz
czo6Y3JlYXRlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhQcm9jZXNzSWRlbnRpZmllciBpZGVu
dGlmaWVyLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
T3B0aW9uYWw8SVBDOjpBdHRhY2htZW50PiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQg
R1BVUHJvY2Vzczo6Y3JlYXRlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhQcm9jZXNzSWRlbnRp
ZmllciBpZGVudGlmaWVyLCBQcm9jZXNzSUQgcGlkLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8SVBDOjpBdHRhY2htZW50PiYmKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBhdXRvIGlwY0Nvbm5lY3Rpb24gPSBjcmVhdGVJUEND
b25uZWN0aW9uUGFpcigpOwogICAgIGlmICghaXBjQ29ubmVjdGlvbikgewpAQCAtODYsNyArODYs
NyBAQCB2b2lkIEdQVVByb2Nlc3M6OmNyZWF0ZUdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoUHJv
Y2Vzc0lkZW50aWZpZXIgaWRlbnRpZmllciwgUAogICAgICAgICByZXR1cm47CiAgICAgfQogCi0g
ICAgYXV0byBuZXdDb25uZWN0aW9uID0gR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRl
KCp0aGlzLCBpZGVudGlmaWVyLCBpcGNDb25uZWN0aW9uLT5maXJzdCwgc2Vzc2lvbklEKTsKKyAg
ICBhdXRvIG5ld0Nvbm5lY3Rpb24gPSBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjcmVhdGUo
KnRoaXMsIGlkZW50aWZpZXIsIHBpZCwgaXBjQ29ubmVjdGlvbi0+Zmlyc3QsIHNlc3Npb25JRCk7
CiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgcmVm
YWN0b3IgY29kZSB0byBnbyBmcm9tIFdlYlByb2Nlc3MgLT4gR1BVUHJvY2VzcyAtPiBVSVByb2Nl
c3Mgd2hlbiBnZXRVc2VyTWVkaWEgaXMgY2FsbGVkIGluc3RlYWQgb2YgZ29pbmcgZnJvbSBXZWJQ
cm9jZXNzIC0+IFVJUHJvY2VzcyBkaXJlY3RseS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJv
Y2Vzcy5oCmluZGV4IDA1NGRlNWU4Y2JjMTI2ODkzODUyNTBkNzEyODgyOGM0ZjQ5Y2E3ZTMuLmNm
MTBlN2E1ZjZhM2RkMTY0YTZjNjlmODI3NDcxZTk2MmQ3OGUzMGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVVByb2Nlc3MuaApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgPHBhbC9TZXNz
aW9uSUQuaD4KICNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KICNpbmNsdWRlIDx3dGYvTWVtb3J5
UHJlc3N1cmVIYW5kbGVyLmg+CisjaW5jbHVkZSA8d3RmL1Byb2Nlc3NJRC5oPgogI2luY2x1ZGUg
PHd0Zi9XZWFrUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTEwMSw3ICsxMDIsNyBA
QCBwcml2YXRlOgogCiAgICAgLy8gTWVzc2FnZSBIYW5kbGVycwogICAgIHZvaWQgaW5pdGlhbGl6
ZUdQVVByb2Nlc3MoR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYmKTsKLSAgICB2b2lkIGNy
ZWF0ZUdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIs
IFBBTDo6U2Vzc2lvbklELCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPElQQzo6QXR0
YWNobWVudD4mJik+JiYpOworICAgIHZvaWQgY3JlYXRlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cyhXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciwgUHJvY2Vzc0lELCBQQUw6OlNlc3Npb25JRCwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxJUEM6OkF0dGFjaG1lbnQ+JiYpPiYmKTsK
ICAgICB2b2lkIGFkZFNlc3Npb24oUEFMOjpTZXNzaW9uSUQsIEdQVVByb2Nlc3NTZXNzaW9uUGFy
YW1ldGVycyYmKTsKICAgICB2b2lkIHJlbW92ZVNlc3Npb24oUEFMOjpTZXNzaW9uSUQpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5p
biBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4
IDc4Njk0N2MyOGM0ODA1YThlZThiYWZmOGFmMTBhMGI5NTg3NGQxY2IuLmM2MjFkNzRlMDdjNmE0
N2ZkMjU4ZDIzMTQ5Zjg0NWY3ODQ5NWQ1NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC0yNSw3ICsyNSw3IEBACiBtZXNzYWdlcyAt
PiBHUFVQcm9jZXNzIHsKICAgICBJbml0aWFsaXplR1BVUHJvY2VzcyhzdHJ1Y3QgV2ViS2l0OjpH
UFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMpCiAK
LSAgICBDcmVhdGVHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKFdlYkNvcmU6OlByb2Nlc3NJZGVu
dGlmaWVyIHByb2Nlc3NJZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpIC0+IChP
cHRpb25hbDxJUEM6OkF0dGFjaG1lbnQ+IGNvbm5lY3Rpb25JZGVudGlmaWVyKSBBc3luYworICAg
IENyZWF0ZUdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZp
ZXIgcHJvY2Vzc0lkZW50aWZpZXIsIFByb2Nlc3NJRCBwaWQsIFBBTDo6U2Vzc2lvbklEIHNlc3Np
b25JRCkgLT4gKE9wdGlvbmFsPElQQzo6QXR0YWNobWVudD4gY29ubmVjdGlvbklkZW50aWZpZXIp
IEFzeW5jCiAKICAgICBQcm9jZXNzRGlkVHJhbnNpdGlvblRvRm9yZWdyb3VuZCgpCiAgICAgUHJv
Y2Vzc0RpZFRyYW5zaXRpb25Ub0JhY2tncm91bmQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwCmlu
ZGV4IDFjYjUwZTM3YjYwYWYwNDA0NmYwNzZlMzk2YzgyODEzMDU2NTk1NmQuLjlmYTQwZjVlZTFh
NThlNjk5MjgwYjU4ZGYyYWI4YjAwN2Y4NGRkZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHAK
QEAgLTEyMiw4ICsxMjIsMTQgQEAgdm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpjcmVhdGVJ
bWFnZUJ1ZmZlcihjb25zdCBGbG9hdFNpemUmIGxvZ2ljYWxTaXplLCBSZW4KIAogICAgIFJlZlB0
cjxJbWFnZUJ1ZmZlcj4gaW1hZ2VCdWZmZXI7CiAKLSAgICBpZiAocmVuZGVyaW5nTW9kZSA9PSBS
ZW5kZXJpbmdNb2RlOjpBY2NlbGVyYXRlZCkKLSAgICAgICAgaW1hZ2VCdWZmZXIgPSBBY2NlbGVy
YXRlZFJlbW90ZUltYWdlQnVmZmVyOjpjcmVhdGUobG9naWNhbFNpemUsIHJlc29sdXRpb25TY2Fs
ZSwgY29sb3JTcGFjZSwgcGl4ZWxGb3JtYXQsICp0aGlzLCByZW5kZXJpbmdSZXNvdXJjZUlkZW50
aWZpZXIpOworICAgIGlmIChyZW5kZXJpbmdNb2RlID09IFJlbmRlcmluZ01vZGU6OkFjY2VsZXJh
dGVkKSB7CisgICAgICAgIGlmIChhdXRvIGFjY2VsZXJhdGVkSW1hZ2VCdWZmZXIgPSBBY2NlbGVy
YXRlZFJlbW90ZUltYWdlQnVmZmVyOjpjcmVhdGUobG9naWNhbFNpemUsIHJlc29sdXRpb25TY2Fs
ZSwgY29sb3JTcGFjZSwgcGl4ZWxGb3JtYXQsICp0aGlzLCByZW5kZXJpbmdSZXNvdXJjZUlkZW50
aWZpZXIpKSB7CisgICAgICAgICAgICAvLyBDbGFpbSBpbiB0aGUgV2ViUHJvY2VzcyBvd25lcnNo
aXAgb2YgdGhlIElPU3VyZmFjZSBjb25zdHJ1Y3RlZCBieSB0aGUgR1BVUHJvY2VzcyBzbyB0aGF0
IEpldHNhbSBrbm93cyB3aGljaCBwcm9jZXNzZXMgdG8ga2lsbC4KKyAgICAgICAgICAgIGFjY2Vs
ZXJhdGVkSW1hZ2VCdWZmZXItPnNldFByb2Nlc3NPd25lcnNoaXAobV9ncHVDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLT53ZWJQcm9jZXNzUElEKCkpOworCisgICAgICAgICAgICBpbWFnZUJ1ZmZlciA9
IFdURk1vdmUoYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcik7CisgICAgICAgIH0KKyAgICB9CiAKICAg
ICBpZiAoIWltYWdlQnVmZmVyKQogICAgICAgICBpbWFnZUJ1ZmZlciA9IFVuYWNjZWxlcmF0ZWRS
ZW1vdGVJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGxvZ2ljYWxTaXplLCByZXNvbHV0aW9uU2NhbGUsIGNv
bG9yU3BhY2UsIHBpeGVsRm9ybWF0LCAqdGhpcywgcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVy
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldl
YktpdC5HUFVQcm9jZXNzLnNiLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21hYy9jb20u
YXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IuaW4KaW5kZXggNGU5NTFmMGI4N2FjOWIxOTdjMjUw
YTIxZGM4NWNlMmZiZGZiZTNmNC4uYjdkYjUxNWUzZTJjYTQ4Nzk4NDgzYjViZTg0ZTBkYmZiM2Fj
MThhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21hYy9jb20uYXBwbGUu
V2ViS2l0LkdQVVByb2Nlc3Muc2IuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21h
Yy9jb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IuaW4KQEAgLTg5MiwzICs4OTIsNyBAQAog
KGFsbG93IGlva2l0LW9wZW4KICAgICAoaW9raXQtdXNlci1jbGllbnQtY2xhc3MgIkFwcGxlQVZE
VXNlckNsaWVudCIpCiApCisKKzs7IEZvciB0YXNrX2Zvcl9waWQKKyhhbGxvdyBtYWNoLXByaXYt
dGFzay1wb3J0KQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94
UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuR1BVLnNiIGIvU291cmNlL1dlYktpdC9SZXNv
dXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0LkdQVS5zYgppbmRleCBh
Mjc0MGU0MWI3ODAxOWJmYWZhNDI4NDIyYmU4YmQxMGMzYWU0MWIwLi44YjZkZTdhMWY0ODIzMmMx
YmEwYzBlYjUxMmNiYzU0ZWUzNmJjZWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Jlc291
cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuR1BVLnNiCisrKyBiL1Nv
dXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktp
dC5HUFUuc2IKQEAgLTkwNSwzICs5MDUsNyBAQAogKGRlbnkgbWFjaC1sb29rdXAKICAgICAoZ2xv
YmFsLW5hbWUgImNvbS5hcHBsZS53ZWJraXQuY2FtZXJhIikKICkKKworOzsgRm9yIHRhc2tfZm9y
X3BpZAorKGFsbG93IG1hY2gtcHJpdi10YXNrLXBvcnQpCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5zaCBiL1NvdXJjZS9XZWJLaXQvU2Ny
aXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5zaAppbmRleCBmM2NkOTRjMWEwNGM2MjY2YjkyMDQ0
ZmY0Y2FkMGMxZjQ4Y2Y5NjQ4Li5iMWU5YWVhY2RhYzg4Mjk1MTZlZTEwYTIxYjQwZjgzNTRmODZl
YWFjIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVu
dHMuc2gKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNo
CkBAIC00OSw2ICs0OSw4IEBAIGZ1bmN0aW9uIG1hY19wcm9jZXNzX2dwdV9lbnRpdGxlbWVudHMo
KQogCiAgICAgICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUucm9vdGxlc3Muc3RvcmFnZS5X
ZWJLaXRHUFVTYW5kYm94IGJvb2wgWUVTCiAgICAgICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBw
bGUuUXVhcnR6Q29yZS53ZWJraXQtZW5kLXBvaW50cyBib29sIFlFUworICAgICAgICBwbGlzdGJ1
ZGR5IEFkZCA6Y29tLmFwcGxlLnByaXZhdGUubWVtb3J5Lm93bmVyc2hpcF90cmFuc2ZlciBib29s
IFlFUworICAgICAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnN5c3RlbS10YXNrLXBvcnRz
LmNvbnRyb2wgYm9vbCBZRVMKICAgICBmaQogfQogCkBAIC0xNTQsNiArMTU2LDggQEAgZnVuY3Rp
b24gbWFjY2F0YWx5c3RfcHJvY2Vzc19ncHVfZW50aXRsZW1lbnRzKCkKICAgICBwbGlzdGJ1ZGR5
IEFkZCA6Y29tLmFwcGxlLnNlY3VyaXR5Lm5ldHdvcmsuY2xpZW50IGJvb2wgWUVTCiAgICAgcGxp
c3RidWRkeSBBZGQgOmNvbS5hcHBsZS5ydW5uaW5nYm9hcmQuYXNzZXJ0aW9ucy53ZWJraXQgYm9v
bCBZRVMKICAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLlF1YXJ0ekNvcmUud2Via2l0LWVu
ZC1wb2ludHMgYm9vbCBZRVMKKyAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnByaXZhdGUu
bWVtb3J5Lm93bmVyc2hpcF90cmFuc2ZlciBib29sIFlFUworICAgIHBsaXN0YnVkZHkgQWRkIDpj
b20uYXBwbGUuc3lzdGVtLXRhc2stcG9ydHMuY29udHJvbCBib29sIFlFUwogfQogCiBmdW5jdGlv
biBtYWNjYXRhbHlzdF9wcm9jZXNzX25ldHdvcmtfZW50aXRsZW1lbnRzKCkKQEAgLTIyOSw2ICsy
MzMsOSBAQCBmdW5jdGlvbiBpb3NfZmFtaWx5X3Byb2Nlc3NfZ3B1X2VudGl0bGVtZW50cygpCiAK
ICAgICBwbGlzdGJ1ZGR5IEFkZCA6c2VhdGJlbHQtcHJvZmlsZXMgYXJyYXkKICAgICBwbGlzdGJ1
ZGR5IEFkZCA6c2VhdGJlbHQtcHJvZmlsZXM6MCBzdHJpbmcgY29tLmFwcGxlLldlYktpdC5HUFUK
KworICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUucHJpdmF0ZS5tZW1vcnkub3duZXJzaGlw
X3RyYW5zZmVyIGJvb2wgWUVTCisgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5zeXN0ZW0t
dGFzay1wb3J0cy5jb250cm9sIGJvb2wgWUVTCiB9CiAKIGZ1bmN0aW9uIGlvc19mYW1pbHlfcHJv
Y2Vzc193ZWJhdXRobl9lbnRpdGxlbWVudHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcAppbmRleCBhNmFiYWZmMzRhNDc4NjRhOGU4OTcwNGNl
NzUzMmQxNTYwNjVhYjBhLi4zY2M3Njk4MWRjOTdhZTVjNGMwZDgzNzJkNmE2ZjA3NjMzNjkxYjVm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNw
cApAQCAtMjE4LDcgKzIxOCw3IEBAIHZvaWQgR1BVUHJvY2Vzc1Byb3h5OjpnZXRHUFVQcm9jZXNz
Q29ubmVjdGlvbihXZWJQcm9jZXNzUHJveHkmIHdlYlByb2Nlc3NQcm94eSwKICNlbmRpZgogCiAg
ICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIEdQVVByb2Nlc3NQcm94eSBp
cyB0YWtpbmcgYSBiYWNrZ3JvdW5kIGFzc2VydGlvbiBiZWNhdXNlIGEgd2ViIHByb2Nlc3MgaXMg
cmVxdWVzdGluZyBhIGNvbm5lY3Rpb24iLCB0aGlzKTsKLSAgICBzZW5kV2l0aEFzeW5jUmVwbHko
TWVzc2FnZXM6OkdQVVByb2Nlc3M6OkNyZWF0ZUdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MgeyB3
ZWJQcm9jZXNzUHJveHkuY29yZVByb2Nlc3NJZGVudGlmaWVyKCksIHdlYlByb2Nlc3NQcm94eS5z
ZXNzaW9uSUQoKSB9LCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHJlcGx5
ID0gV1RGTW92ZShyZXBseSldKGF1dG8mJiBpZGVudGlmaWVyKSBtdXRhYmxlIHsKKyAgICBzZW5k
V2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OkdQVVByb2Nlc3M6OkNyZWF0ZUdQVUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MgeyB3ZWJQcm9jZXNzUHJveHkuY29yZVByb2Nlc3NJZGVudGlmaWVyKCksIHdl
YlByb2Nlc3NQcm94eS5wcm9jZXNzSWRlbnRpZmllcigpLCB3ZWJQcm9jZXNzUHJveHkuc2Vzc2lv
bklEKCkgfSwgW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCByZXBseSA9IFdU
Rk1vdmUocmVwbHkpXShhdXRvJiYgaWRlbnRpZmllcikgbXV0YWJsZSB7CiAgICAgICAgIGlmICgh
d2Vha1RoaXMpIHsKICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3MsICJHUFVQ
cm9jZXNzUHJveHk6OmdldEdQVVByb2Nlc3NDb25uZWN0aW9uOiBHUFVQcm9jZXNzUHJveHkgZGVh
bGxvY2F0ZWQgZHVyaW5nIGNvbm5lY3Rpb24gZXN0YWJsaXNobWVudCIpOwogICAgICAgICAgICAg
cmV0dXJuIHJlcGx5KHsgfSk7Cg==
</data>
<flag name="commit-queue"
          id="435691"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417884</attachid>
            <date>2021-01-19 10:04:29 -0800</date>
            <delta_ts>2021-01-19 13:45:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220663-20210119100428.patch</filename>
            <type>text/plain</type>
            <size>24468</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNjAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGM5MDc3ZDExOGM4OTZhNTA1MDc0NTFk
YzI4MmZkNjQ0MWZmYTZkZGQuLjMyZjRiOTc0OWRmOTYzMGU5MzI3MjlhMzg5N2JhYTcyY2FjNDRk
YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDEtMTkgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBbR1BVUHJvY2Vzc10gTWFyayBJT1N1cmZhY2UgYmFja2lu
ZyBmb3IgSW1hZ2VCdWZmZXJCYWNrZW5kcyBhcyBvd25lZCBieSB0aGUgV2ViUHJvY2VzcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNjYzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGNvbXBpbGUg
dGltZSBmbGFnIGluZGljYXRpbmcgaWYgSU9TdXJmYWNlU2V0T3duZXJzaGlwKCkgU1BJIGlzIGF2
YWlsYWJsZS4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybUhhdmUuaDoKKwogMjAyMS0wMS0xNyAg
WXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBKU0MgQVBJ
IGNvbmZpZ3VyaW5nIEdDIHNpZ25hbHMgaW4gTGludXgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmYTVmNjhlMzNm
ODA5NGVjMjk0OTUwOTZiYTkwMzNmYjIxNzE1ZTJiLi5kNThhODNjODY5MWZiZTUyNTk1OGVkY2M4
MzhjYmNiMDljMDE3NmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjEtMDEtMTkg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbR1BVUHJvY2Vzc10g
TWFyayBJT1N1cmZhY2UgYmFja2luZyBmb3IgSW1hZ2VCdWZmZXJCYWNrZW5kcyBhcyBvd25lZCBi
eSB0aGUgV2ViUHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIwNjYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIEFQSSBDb25jcmV0ZUltYWdlQnVmZmVyIHRvIHNldCBwcm9jZXNzIG93bmVy
c2hpcC4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0NvbmNyZXRlSW1hZ2VCdWZmZXIu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbmNyZXRlSW1hZ2VCdWZmZXI6OnNldFByb2Nlc3NPd25l
cnNoaXApOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVySU9TdXJm
YWNlQmFja2VuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUJ1ZmZlcklPU3VyZmFjZUJh
Y2tlbmQ6OnNldFByb2Nlc3NPd25lcnNoaXApOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2NnL0ltYWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZC5oOgorCiAyMDIxLTAxLTE5ICBBZHJpYW4g
UGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgTm9uLXVuaWZp
ZWQgYnVpbGQgZml4ZXMsIG1pZCBKYW51YXJ5IDIwMjEgZWRpdGlvbgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cK
aW5kZXggZTUzNzM4N2U4ZmQyMjg5NWFjZDcwNThhODY3MjQ2NGUyZTZjMjQ3OC4uMTAxYzI4NTUy
ODJkMmEwZmRiMjA2MjFkOTkzYTg5MmRjN2UxMWZhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMjEtMDEtMTkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
KworICAgICAgICBbR1BVUHJvY2Vzc10gTWFyayBJT1N1cmZhY2UgYmFja2luZyBmb3IgSW1hZ2VC
dWZmZXJCYWNrZW5kcyBhcyBvd25lZCBieSB0aGUgV2ViUHJvY2VzcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNjYzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGZvcndhcmQgZGVjbGFyYXRpb24g
Zm9yIElPU3VyZmFjZVNldE93bmVyc2hpcCgpLgorCisgICAgICAgICogcGFsL3NwaS9jb2NvYS9J
T1N1cmZhY2VTUEkuaDoKKwogMjAyMS0wMS0xNCAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9u
QGFwcGxlLmNvbT4KIAogICAgICAgICBFeGNlcHRpb25zIHRocm93biB3aGVuIGludm9raW5nIGEg
PHNlbGVjdD4gb24gYW4gaVBob25lLWlkaW9tIGFwcCBydW5uaW5nIG9uIG1hY09TCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IDQ1OGNjODU0NzcxMjM4NDI3NTJmYmY4YTE4ZTRiZDEyN2VkMzBjYzcuLjM2MTdiMWI1M2Ix
MzE3NzYwZDFjYzMyOGFjMjg1NDRiNDZlZGYxNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAK
KzIwMjEtMDEtMTkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBb
R1BVUHJvY2Vzc10gTWFyayBJT1N1cmZhY2UgYmFja2luZyBmb3IgSW1hZ2VCdWZmZXJCYWNrZW5k
cyBhcyBvd25lZCBieSB0aGUgV2ViUHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNjYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTWFyayBXZWJQcm9jZXNzIGFzIG93bmVyIG9mIElPU3VyZmFj
ZSBiYWNraW5nIGZvciBJbWFnZUJ1ZmZlckJhY2tlbmRzLiBJZiB3ZSBkb24ndCBkbyB0aGlzLAor
ICAgICAgICBhbGwgSU9TdXJmYWNlIG1lbW9yeSBnZXRzIGF0dHJpYnV0ZWQgdG8gdGhlIEdQVVBy
b2Nlc3MsIG1ha2luZyBpdCBhIHByaW1lIGNhbmRpZGF0ZSBmb3IKKyAgICAgICAgamV0c2FtLiBX
ZSBuZWVkIHRvIGF0dHJpYnV0ZSBtZW1vcnkgdXNhZ2UgdG8gdGhlIFdlYlByb2Nlc3NlcyBiZWlu
ZyBzZXJ2ZWQgYnkgdGhlIEdQVVByb2Nlc3MKKyAgICAgICAgYXMgbXVjaCBhcyBwb3NzaWJsZSBh
bmQgdGhpcyBpcyBhIHN0ZXAgaW4gdGhpcyBkaXJlY3Rpb24uCisKKyAgICAgICAgSSBoYXZlIHZl
cmlmaWVkIGxvY2FsbHkgdGhhdCBib3RoIGpldHNhbV9wcmlvcml0eSBhbmQgZm9vdHByaW50IHRv
b2xzIHNob3cgSU9TdXJmYWNlIG1lbW9yeQorICAgICAgICB1c2FnZSBtb3ZlZCBmcm9tIHRoZSBH
UFVQcm9jZXNzIHRvIHRoZSBXZWJQcm9jZXNzLiBKdXN0IGxvYWRpbmcgdGhlIHJlZGRpdC5jb20g
ZnJvbnQgcGFnZQorICAgICAgICBmb3IgZXhhbXBsZSwgSSBzZWUgMzAuNU1CIG9mIElPU3VyZmFj
ZSBtZW1vcnkgbW92aW5nIGZyb20gdGhlIEdQVVByb2Nlc3MgdG8gdGhlIFdlYlByb2Nlc3MuCisK
KyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjcmVhdGUpOgorICAgICAg
ICAoV2ViS2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpHUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mu
aDoKKyAgICAgICAgKFdlYktpdDo6R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6d2ViUHJvY2Vz
c1BJRCBjb25zdCk6CisgICAgICAgICogR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6R1BVUHJvY2Vzczo6Y3JlYXRlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcyk6
CisgICAgICAgICogR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmg6CisgICAgICAgICogR1BVUHJvY2Vz
cy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3Mv
UmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbmRl
cmluZ0JhY2tlbmQ6OmNyZWF0ZUltYWdlQnVmZmVyKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL21h
Yy9jb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IuaW46CisgICAgICAgICogUmVzb3VyY2Vz
L1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5HUFUuc2I6CisgICAgICAgICog
U2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5zaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvR1BV
L0dQVVByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6
Z2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb24pOgorCiAyMDIxLTAxLTE5ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgZHJvcCByZW1haW5pbmcgbWFp
bi10aHJlYWQgYXNzZXJ0aW9uIGluIFNoYXJlYWJsZUJpdG1hcCB0aGF0IEkgbWlzc2VkIGluIHIy
NzE1MzMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCBiL1NvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCmluZGV4IGNmZGFmZDZmMmM4OGVhYjY5MzAzMmE1NWYw
Yzc3ZTY3NjlhZTJlOTIuLjUxZjZiYjhmNDc3ZWU1OTkxNTM3MmMxYjEyNWRjNjg2NzJmOTE4YjUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCisrKyBiL1NvdXJjZS9X
VEYvd3RmL1BsYXRmb3JtSGF2ZS5oCkBAIC0yOTAsNiArMjkwLDEzIEBACiAjZGVmaW5lIEhBVkVf
SU9TVVJGQUNFX0FDQ0VMRVJBVE9SIDEKICNlbmRpZgogCisjaWYgKFBMQVRGT1JNKE1BQykgJiYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIFwKKyAgICB8fCAoKFBM
QVRGT1JNKElPUykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpKSAmJiBfX0lQSE9ORV9PU19WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDApIFwKKyAgICB8fCAoUExBVEZPUk0oV0FUQ0hPUykg
JiYgX19XQVRDSF9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSA2MDAwMCkgXAorICAgIHx8IChQ
TEFURk9STShBUFBMRVRWKSAmJiBfX1RWX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAw
MCkKKyNkZWZpbmUgSEFWRV9JT1NVUkZBQ0VfU0VUX09XTkVSU0hJUCAxCisjZW5kaWYKKwogI2lm
IFBMQVRGT1JNKE1BQykKICNkZWZpbmUgSEFWRV9OU19BQ1RJVklUWSAxCiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0lPU3VyZmFjZVNQSS5oIGIv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvSU9TdXJmYWNlU1BJLmgKaW5kZXggN2Ni
Zjc1OTg3MjYxNGE4ODk4ODAwNTJhNjMwNDNkMjAxMzU1OTc1My4uZTI0ZDUwMjY2MTNjNjQxM2Y3
ZmI2MzJkNDhiZWMyZjM0YmQ0MDViZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9zcGkvY29jb2EvSU9TdXJmYWNlU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9z
cGkvY29jb2EvSU9TdXJmYWNlU1BJLmgKQEAgLTg4LDYgKzg4LDIyIEBAIFdURl9FWFRFUk5fQ19F
TkQKIAogI2ltcG9ydCA8SU9TdXJmYWNlL0lPU3VyZmFjZVR5cGVzLmg+CiAKK1dURl9FWFRFUk5f
Q19CRUdJTgorCisjaWYgSEFWRShJT1NVUkZBQ0VfU0VUX09XTkVSU0hJUCkKK3R5cGVkZWYgQ0Zf
RU5VTShpbnQsIElPU3VyZmFjZU1lbW9yeUxlZGdlclRhZ3MpIHsKKyAgICBrSU9TdXJmYWNlTWVt
b3J5TGVkZ2VyVGFnRGVmYXVsdCAgICAgPSAweDAwMDAwMDAxLAorICAgIGtJT1N1cmZhY2VNZW1v
cnlMZWRnZXJUYWdOZXR3b3JrICAgICA9IDB4MDAwMDAwMDIsCisgICAga0lPU3VyZmFjZU1lbW9y
eUxlZGdlclRhZ01lZGlhICAgICAgID0gMHgwMDAwMDAwMywKKyAgICBrSU9TdXJmYWNlTWVtb3J5
TGVkZ2VyVGFnR3JhcGhpY3MgICAgPSAweDAwMDAwMDA0LAorICAgIGtJT1N1cmZhY2VNZW1vcnlM
ZWRnZXJUYWdOZXVyYWwgICAgICA9IDB4MDAwMDAwMDUsCit9OworCitJT1JldHVybiBJT1N1cmZh
Y2VTZXRPd25lcnNoaXAoSU9TdXJmYWNlUmVmIGJ1ZmZlciwgdGFza190IG5ld093bmVyLCBpbnQg
bmV3TGVkZ2VyVGFnLCB1aW50MzJfdCBuZXdMZWRnZXJPcHRpb25zKTsKKyNlbmRpZiAvLyBIQVZF
KElPU1VSRkFDRV9TRVRfT1dORVJTSElQKQorCitXVEZfRVhURVJOX0NfRU5ECisKICNlbmRpZgog
CiBXVEZfRVhURVJOX0NfQkVHSU4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0NvbmNyZXRlSW1hZ2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0NvbmNyZXRlSW1hZ2VCdWZmZXIuaAppbmRleCAxZjI0NWJjZWJhNzJjZTEzN2U5
MGM2MWU1NWY1MWEzMzgxYjgwNjg1Li5hMzU5YzI4MDkyMjc3ZmYwNWU2NmM4Y2ZhNzI2NTk1ZDNk
YmFmMWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db25j
cmV0ZUltYWdlQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Q29uY3JldGVJbWFnZUJ1ZmZlci5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJJbWFn
ZUJ1ZmZlci5oIgogI2luY2x1ZGUgIkltYWdlRGF0YS5oIgorI2luY2x1ZGUgPHd0Zi9Qcm9jZXNz
SUQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01Niw2ICs1NywxMiBAQCBwdWJsaWM6
CiAgICAgUmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gQmFja2VuZFR5cGU6OnJlbmRlcmluZ01vZGU7IH0KICAgICBib29sIGNhbk1hcEJhY2tpbmdT
dG9yZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIEJhY2tlbmRUeXBlOjpjYW5NYXBCYWNraW5n
U3RvcmU7IH0KIAorICAgIHZvaWQgc2V0UHJvY2Vzc093bmVyc2hpcChQcm9jZXNzSUQgcGlkKQor
ICAgIHsKKyAgICAgICAgaWYgKG1fYmFja2VuZCkKKyAgICAgICAgICAgIG1fYmFja2VuZC0+c2V0
UHJvY2Vzc093bmVyc2hpcChwaWQpOworICAgIH0KKwogcHJvdGVjdGVkOgogICAgIENvbmNyZXRl
SW1hZ2VCdWZmZXIoY29uc3QgSW1hZ2VCdWZmZXJCYWNrZW5kOjpQYXJhbWV0ZXJzJiBwYXJhbWV0
ZXJzLCBzdGQ6OnVuaXF1ZV9wdHI8QmFja2VuZFR5cGU+JiYgYmFja2VuZCA9IG51bGxwdHIsIFJl
bmRlcmluZ1Jlc291cmNlSWRlbnRpZmllciByZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIgPSBS
ZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXI6OmdlbmVyYXRlKCkpCiAgICAgICAgIDogbV9wYXJh
bWV0ZXJzKHBhcmFtZXRlcnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jZy9JbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJJT1N1cmZhY2VCYWNrZW5kLmNwcApp
bmRleCA2YzNiN2M3NGI0NmUxMjZlNzlkOWYxNjIyMGIzYTJmYWQ5ZWRkOWExLi5lZjY2OTk5ZGNj
NTkyNzM4M2IwZTFmNWM4NjczZTdiZTYxYTIyYjk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVySU9TdXJm
YWNlQmFja2VuZC5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJJbWFnZURhdGEuaCIK
ICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiSU9TdXJmYWNlLmgiCisjaW5jbHVkZSAi
TG9nZ2luZy5oIgogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KICNpbmNs
dWRlIDxwYWwvc3BpL2NnL0NvcmVHcmFwaGljc1NQSS5oPgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxs
b2NJbmxpbmVzLmg+CkBAIC0yMTcsNiArMjE4LDI1IEBAIHZvaWQgSW1hZ2VCdWZmZXJJT1N1cmZh
Y2VCYWNrZW5kOjpyZWxlYXNlQnVmZmVyVG9Qb29sKCkKICAgICBJT1N1cmZhY2U6Om1vdmVUb1Bv
b2woV1RGTW92ZShtX3N1cmZhY2UpKTsKIH0KIAordm9pZCBJbWFnZUJ1ZmZlcklPU3VyZmFjZUJh
Y2tlbmQ6OnNldFByb2Nlc3NPd25lcnNoaXAoUHJvY2Vzc0lEIHBpZCkKK3sKKyNpZiBIQVZFKElP
U1VSRkFDRV9TRVRfT1dORVJTSElQKQorICAgIEFTU0VSVChtX3N1cmZhY2UpOworICAgIHRhc2tf
dCB0YXNrOworICAgIGF1dG8gcmVzdWx0ID0gdGFza19mb3JfcGlkKG1hY2hfdGFza19zZWxmKCks
IHBpZCwgJnRhc2spOworICAgIGlmIChyZXN1bHQgIT0gS0VSTl9TVUNDRVNTKSB7CisgICAgICAg
IFJFTEVBU0VfTE9HX0VSUk9SKElPU3VyZmFjZSwgIkltYWdlQnVmZmVySU9TdXJmYWNlQmFja2Vu
ZDo6c2V0UHJvY2Vzc093bmVyc2hpcDogRmFpbGVkIHRvIGdldCB0YXNrIGZvciBwaWQgJWQsIGVy
cm9yOiAlZCIsIHBpZCwgcmVzdWx0KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHJl
c3VsdCA9IElPU3VyZmFjZVNldE93bmVyc2hpcChtX3N1cmZhY2UtPnN1cmZhY2UoKSwgdGFzaywg
a0lPU3VyZmFjZU1lbW9yeUxlZGdlclRhZ0dyYXBoaWNzLCAwKTsKKyAgICBpZiAocmVzdWx0ICE9
IGtJT1JldHVyblN1Y2Nlc3MpCisgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKElPU3VyZmFjZSwg
IkltYWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZDo6c2V0UHJvY2Vzc093bmVyc2hpcDogRmFpbGVk
IHRvIGNsYWltIG93bmVyc2hpcCBvZiBJT1N1cmZhY2UgJXAsIHBpZDogJWQsIGVycm9yOiAlZCIs
IG1fc3VyZmFjZS0+c3VyZmFjZSgpLCBwaWQsIHJlc3VsdCk7CisjZWxzZQorICAgIFVOVVNFRF9Q
QVJBTShwaWQpOworI2VuZGlmCit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlm
IC8vIEhBVkUoSU9TVVJGQUNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJJT1N1cmZhY2VCYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQuaAppbmRl
eCA0ODU5ZGY2ZmM1MjVkODVjMzI4YzE0NWYwNzkxNzgzNTY5MDllMjVkLi5iZGYyOGQwOGQ1NWE3
ZjU1YWU5MDJjZDMwODhhNDBjZTNkNDI3NWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlcklPU3VyZmFjZUJh
Y2tlbmQuaApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkltYWdlQnVmZmVyQ0dCYWNrZW5k
LmgiCiAjaW5jbHVkZSAiSU9TdXJmYWNlLmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvYy5oPgor
I2luY2x1ZGUgPHd0Zi9Qcm9jZXNzSUQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC03
Myw2ICs3NCw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgaXNPcmlnaW5B
dFVwcGVyTGVmdENvcm5lciA9IHRydWU7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBSZW5kZXJpbmdN
b2RlIHJlbmRlcmluZ01vZGUgPSBSZW5kZXJpbmdNb2RlOjpBY2NlbGVyYXRlZDsKIAorICAgIHZv
aWQgc2V0UHJvY2Vzc093bmVyc2hpcChQcm9jZXNzSUQpOworCiBwcm90ZWN0ZWQ6CiAgICAgc3Rh
dGljIFJldGFpblB0cjxDR0NvbG9yU3BhY2VSZWY+IGNvbnRleHRDb2xvclNwYWNlKGNvbnN0IEdy
YXBoaWNzQ29udGV4dCYpOwogICAgIHVuc2lnbmVkIGJ5dGVzUGVyUm93KCkgY29uc3Qgb3ZlcnJp
ZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5jcHAKaW5kZXggMDM1MjliNGI2OTg2MjcyNmUyYjZlZGE2MjI4YTU2YTUwY2Qw
MGE5NS4uYjc1YjBhM2UxMTU4ZTNhZDQ4NjY2YzNhNWY1ZjM1ODFjYTViNDQ5NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
LmNwcApAQCAtMTU2LDE1ICsxNTYsMTYgQEAgcHJpdmF0ZToKIH07CiAjZW5kaWYKIAotUmVmPEdQ
VUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M+IEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0
ZShHUFVQcm9jZXNzJiBncHVQcm9jZXNzLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciB3ZWJQ
cm9jZXNzSWRlbnRpZmllciwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyIGNvbm5lY3Rpb25J
ZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCitSZWY8R1BVQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcz4gR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRlKEdQVVByb2Nlc3Mm
IGdwdVByb2Nlc3MsIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHdlYlByb2Nlc3NJZGVudGlm
aWVyLCBQcm9jZXNzSUQgcGlkLCBJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIgY29ubmVjdGlv
bklkZW50aWZpZXIsIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkKIHsKLSAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKGdwdVByb2Nlc3MsIHdlYlByb2Nl
c3NJZGVudGlmaWVyLCBjb25uZWN0aW9uSWRlbnRpZmllciwgc2Vzc2lvbklEKSk7CisgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhncHVQcm9jZXNzLCB3
ZWJQcm9jZXNzSWRlbnRpZmllciwgcGlkLCBjb25uZWN0aW9uSWRlbnRpZmllciwgc2Vzc2lvbklE
KSk7CiB9CiAKLUdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkdQVUNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MoR1BVUHJvY2VzcyYgZ3B1UHJvY2VzcywgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIg
d2ViUHJvY2Vzc0lkZW50aWZpZXIsIElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBjb25uZWN0
aW9uSWRlbnRpZmllciwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQorR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2Vzczo6R1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhHUFVQcm9jZXNzJiBncHVQcm9j
ZXNzLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciB3ZWJQcm9jZXNzSWRlbnRpZmllciwgUHJv
Y2Vzc0lEIHBpZCwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyIGNvbm5lY3Rpb25JZGVudGlm
aWVyLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCiAgICAgOiBtX2Nvbm5lY3Rpb24oSVBDOjpD
b25uZWN0aW9uOjpjcmVhdGVTZXJ2ZXJDb25uZWN0aW9uKGNvbm5lY3Rpb25JZGVudGlmaWVyLCAq
dGhpcykpCiAgICAgLCBtX2dwdVByb2Nlc3MoZ3B1UHJvY2VzcykKICAgICAsIG1fd2ViUHJvY2Vz
c0lkZW50aWZpZXIod2ViUHJvY2Vzc0lkZW50aWZpZXIpCisgICAgLCBtX3dlYlByb2Nlc3NQSUQo
cGlkKQogICAgICwgbV9yZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eShtYWtlVW5pcXVlPFJl
bW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5PigqdGhpcykpCiAgICAgLCBtX3Nlc3Npb25JRChz
ZXNzaW9uSUQpCiAjaWYgUExBVEZPUk0oQ09DT0EpICYmIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5o
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaApp
bmRleCA1MWZjYzdmMDViOTk2YzIyNjAwMDFmMTE3ZjYyZjQ3YWY3ZDJiMzA3Li4wNGZjM2QwMjIx
NzY0MDY5NWY0ZDJkNjA5YTE2YTlmODczNjQ3ZjFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKQEAgLTM4LDYgKzM4LDcg
QEAKICNpbmNsdWRlIDxXZWJDb3JlL1Byb2Nlc3NJZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8cGFs
L1Nlc3Npb25JRC5oPgogI2luY2x1ZGUgPHd0Zi9Mb2dnZXIuaD4KKyNpbmNsdWRlIDx3dGYvUHJv
Y2Vzc0lELmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CiAKICNpZiBF
TkFCTEUoV0VCR0wpCkBAIC03MiwxMyArNzMsMTQgQEAgY2xhc3MgR1BVQ29ubmVjdGlvblRvV2Vi
UHJvY2VzcwogICAgICwgcHVibGljIFdlYkNvcmU6Ok5vd1BsYXlpbmdNYW5hZ2VyOjpDbGllbnQK
ICAgICAsIElQQzo6Q29ubmVjdGlvbjo6Q2xpZW50IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVm
PEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M+IGNyZWF0ZShHUFVQcm9jZXNzJiwgV2ViQ29yZTo6
UHJvY2Vzc0lkZW50aWZpZXIsIElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciwgUEFMOjpTZXNz
aW9uSUQpOworICAgIHN0YXRpYyBSZWY8R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcz4gY3JlYXRl
KEdQVVByb2Nlc3MmLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciwgUHJvY2Vzc0lELCBJUEM6
OkNvbm5lY3Rpb246OklkZW50aWZpZXIsIFBBTDo6U2Vzc2lvbklEKTsKICAgICB2aXJ0dWFsIH5H
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKCk7CiAKICAgICBJUEM6OkNvbm5lY3Rpb24mIGNvbm5l
Y3Rpb24oKSB7IHJldHVybiBtX2Nvbm5lY3Rpb24uZ2V0KCk7IH0KICAgICBJUEM6Ok1lc3NhZ2VS
ZWNlaXZlck1hcCYgbWVzc2FnZVJlY2VpdmVyTWFwKCkgeyByZXR1cm4gbV9tZXNzYWdlUmVjZWl2
ZXJNYXA7IH0KICAgICBHUFVQcm9jZXNzJiBncHVQcm9jZXNzKCkgeyByZXR1cm4gbV9ncHVQcm9j
ZXNzLmdldCgpOyB9CiAgICAgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgd2ViUHJvY2Vzc0lk
ZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX3dlYlByb2Nlc3NJZGVudGlmaWVyOyB9CisgICAg
UHJvY2Vzc0lEIHdlYlByb2Nlc3NQSUQoKSBjb25zdCB7IHJldHVybiBtX3dlYlByb2Nlc3NQSUQ7
IH0KIAogICAgIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyJiByZW1vdGVNZWRpYVJlc291cmNl
TWFuYWdlcigpOwogCkBAIC0xMTMsNyArMTE1LDcgQEAgcHVibGljOgogI2VuZGlmCiAKIHByaXZh
dGU6Ci0gICAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhHUFVQcm9jZXNzJiwgV2ViQ29yZTo6
UHJvY2Vzc0lkZW50aWZpZXIsIElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciwgUEFMOjpTZXNz
aW9uSUQpOworICAgIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoR1BVUHJvY2VzcyYsIFdlYkNv
cmU6OlByb2Nlc3NJZGVudGlmaWVyLCBQcm9jZXNzSUQsIElQQzo6Q29ubmVjdGlvbjo6SWRlbnRp
ZmllciwgUEFMOjpTZXNzaW9uSUQpOwogCiAjaWYgRU5BQkxFKFdFQl9BVURJTykKICAgICBSZW1v
dGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdlciYgcmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIo
KTsKQEAgLTE2OSw2ICsxNzEsNyBAQCBwcml2YXRlOgogICAgIElQQzo6TWVzc2FnZVJlY2VpdmVy
TWFwIG1fbWVzc2FnZVJlY2VpdmVyTWFwOwogICAgIFJlZjxHUFVQcm9jZXNzPiBtX2dwdVByb2Nl
c3M7CiAgICAgY29uc3QgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgbV93ZWJQcm9jZXNzSWRl
bnRpZmllcjsKKyAgICBjb25zdCBQcm9jZXNzSUQgbV93ZWJQcm9jZXNzUElEOwogI2lmIEVOQUJM
RShXRUJfQVVESU8pCiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUF1ZGlvRGVzdGluYXRpb25N
YW5hZ2VyPiBtX3JlbW90ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyOwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKaW5kZXggNGI4MGU2ZjEyYTY4YWQ2OTBkYTg5
N2UwODdlMGJjMDQwM2ExOGE5Ny4uMmI2ZWUxYmM3MmQ2NTg2NjVkYjIxZThhYTdhNmY0NjIyZThm
ZGFmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcApAQCAtNzgsNyAr
NzgsNyBAQCBHUFVQcm9jZXNzOjp+R1BVUHJvY2VzcygpCiB7CiB9CiAKLXZvaWQgR1BVUHJvY2Vz
czo6Y3JlYXRlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhQcm9jZXNzSWRlbnRpZmllciBpZGVu
dGlmaWVyLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
T3B0aW9uYWw8SVBDOjpBdHRhY2htZW50PiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQg
R1BVUHJvY2Vzczo6Y3JlYXRlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhQcm9jZXNzSWRlbnRp
ZmllciBpZGVudGlmaWVyLCBQcm9jZXNzSUQgcGlkLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8SVBDOjpBdHRhY2htZW50PiYmKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBhdXRvIGlwY0Nvbm5lY3Rpb24gPSBjcmVhdGVJUEND
b25uZWN0aW9uUGFpcigpOwogICAgIGlmICghaXBjQ29ubmVjdGlvbikgewpAQCAtODYsNyArODYs
NyBAQCB2b2lkIEdQVVByb2Nlc3M6OmNyZWF0ZUdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoUHJv
Y2Vzc0lkZW50aWZpZXIgaWRlbnRpZmllciwgUAogICAgICAgICByZXR1cm47CiAgICAgfQogCi0g
ICAgYXV0byBuZXdDb25uZWN0aW9uID0gR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRl
KCp0aGlzLCBpZGVudGlmaWVyLCBpcGNDb25uZWN0aW9uLT5maXJzdCwgc2Vzc2lvbklEKTsKKyAg
ICBhdXRvIG5ld0Nvbm5lY3Rpb24gPSBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjcmVhdGUo
KnRoaXMsIGlkZW50aWZpZXIsIHBpZCwgaXBjQ29ubmVjdGlvbi0+Zmlyc3QsIHNlc3Npb25JRCk7
CiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgcmVm
YWN0b3IgY29kZSB0byBnbyBmcm9tIFdlYlByb2Nlc3MgLT4gR1BVUHJvY2VzcyAtPiBVSVByb2Nl
c3Mgd2hlbiBnZXRVc2VyTWVkaWEgaXMgY2FsbGVkIGluc3RlYWQgb2YgZ29pbmcgZnJvbSBXZWJQ
cm9jZXNzIC0+IFVJUHJvY2VzcyBkaXJlY3RseS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJv
Y2Vzcy5oCmluZGV4IDA1NGRlNWU4Y2JjMTI2ODkzODUyNTBkNzEyODgyOGM0ZjQ5Y2E3ZTMuLmNm
MTBlN2E1ZjZhM2RkMTY0YTZjNjlmODI3NDcxZTk2MmQ3OGUzMGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVVByb2Nlc3MuaApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgPHBhbC9TZXNz
aW9uSUQuaD4KICNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KICNpbmNsdWRlIDx3dGYvTWVtb3J5
UHJlc3N1cmVIYW5kbGVyLmg+CisjaW5jbHVkZSA8d3RmL1Byb2Nlc3NJRC5oPgogI2luY2x1ZGUg
PHd0Zi9XZWFrUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTEwMSw3ICsxMDIsNyBA
QCBwcml2YXRlOgogCiAgICAgLy8gTWVzc2FnZSBIYW5kbGVycwogICAgIHZvaWQgaW5pdGlhbGl6
ZUdQVVByb2Nlc3MoR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYmKTsKLSAgICB2b2lkIGNy
ZWF0ZUdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIs
IFBBTDo6U2Vzc2lvbklELCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPElQQzo6QXR0
YWNobWVudD4mJik+JiYpOworICAgIHZvaWQgY3JlYXRlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cyhXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciwgUHJvY2Vzc0lELCBQQUw6OlNlc3Npb25JRCwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxJUEM6OkF0dGFjaG1lbnQ+JiYpPiYmKTsK
ICAgICB2b2lkIGFkZFNlc3Npb24oUEFMOjpTZXNzaW9uSUQsIEdQVVByb2Nlc3NTZXNzaW9uUGFy
YW1ldGVycyYmKTsKICAgICB2b2lkIHJlbW92ZVNlc3Npb24oUEFMOjpTZXNzaW9uSUQpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5p
biBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4
IDc4Njk0N2MyOGM0ODA1YThlZThiYWZmOGFmMTBhMGI5NTg3NGQxY2IuLmM2MjFkNzRlMDdjNmE0
N2ZkMjU4ZDIzMTQ5Zjg0NWY3ODQ5NWQ1NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC0yNSw3ICsyNSw3IEBACiBtZXNzYWdlcyAt
PiBHUFVQcm9jZXNzIHsKICAgICBJbml0aWFsaXplR1BVUHJvY2VzcyhzdHJ1Y3QgV2ViS2l0OjpH
UFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMpCiAK
LSAgICBDcmVhdGVHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKFdlYkNvcmU6OlByb2Nlc3NJZGVu
dGlmaWVyIHByb2Nlc3NJZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpIC0+IChP
cHRpb25hbDxJUEM6OkF0dGFjaG1lbnQ+IGNvbm5lY3Rpb25JZGVudGlmaWVyKSBBc3luYworICAg
IENyZWF0ZUdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZp
ZXIgcHJvY2Vzc0lkZW50aWZpZXIsIFByb2Nlc3NJRCBwaWQsIFBBTDo6U2Vzc2lvbklEIHNlc3Np
b25JRCkgLT4gKE9wdGlvbmFsPElQQzo6QXR0YWNobWVudD4gY29ubmVjdGlvbklkZW50aWZpZXIp
IEFzeW5jCiAKICAgICBQcm9jZXNzRGlkVHJhbnNpdGlvblRvRm9yZWdyb3VuZCgpCiAgICAgUHJv
Y2Vzc0RpZFRyYW5zaXRpb25Ub0JhY2tncm91bmQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwCmlu
ZGV4IDFjYjUwZTM3YjYwYWYwNDA0NmYwNzZlMzk2YzgyODEzMDU2NTk1NmQuLjlmYTQwZjVlZTFh
NThlNjk5MjgwYjU4ZGYyYWI4YjAwN2Y4NGRkZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHAK
QEAgLTEyMiw4ICsxMjIsMTQgQEAgdm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpjcmVhdGVJ
bWFnZUJ1ZmZlcihjb25zdCBGbG9hdFNpemUmIGxvZ2ljYWxTaXplLCBSZW4KIAogICAgIFJlZlB0
cjxJbWFnZUJ1ZmZlcj4gaW1hZ2VCdWZmZXI7CiAKLSAgICBpZiAocmVuZGVyaW5nTW9kZSA9PSBS
ZW5kZXJpbmdNb2RlOjpBY2NlbGVyYXRlZCkKLSAgICAgICAgaW1hZ2VCdWZmZXIgPSBBY2NlbGVy
YXRlZFJlbW90ZUltYWdlQnVmZmVyOjpjcmVhdGUobG9naWNhbFNpemUsIHJlc29sdXRpb25TY2Fs
ZSwgY29sb3JTcGFjZSwgcGl4ZWxGb3JtYXQsICp0aGlzLCByZW5kZXJpbmdSZXNvdXJjZUlkZW50
aWZpZXIpOworICAgIGlmIChyZW5kZXJpbmdNb2RlID09IFJlbmRlcmluZ01vZGU6OkFjY2VsZXJh
dGVkKSB7CisgICAgICAgIGlmIChhdXRvIGFjY2VsZXJhdGVkSW1hZ2VCdWZmZXIgPSBBY2NlbGVy
YXRlZFJlbW90ZUltYWdlQnVmZmVyOjpjcmVhdGUobG9naWNhbFNpemUsIHJlc29sdXRpb25TY2Fs
ZSwgY29sb3JTcGFjZSwgcGl4ZWxGb3JtYXQsICp0aGlzLCByZW5kZXJpbmdSZXNvdXJjZUlkZW50
aWZpZXIpKSB7CisgICAgICAgICAgICAvLyBDbGFpbSBpbiB0aGUgV2ViUHJvY2VzcyBvd25lcnNo
aXAgb2YgdGhlIElPU3VyZmFjZSBjb25zdHJ1Y3RlZCBieSB0aGUgR1BVUHJvY2VzcyBzbyB0aGF0
IEpldHNhbSBrbm93cyB3aGljaCBwcm9jZXNzZXMgdG8ga2lsbC4KKyAgICAgICAgICAgIGFjY2Vs
ZXJhdGVkSW1hZ2VCdWZmZXItPnNldFByb2Nlc3NPd25lcnNoaXAobV9ncHVDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLT53ZWJQcm9jZXNzUElEKCkpOworCisgICAgICAgICAgICBpbWFnZUJ1ZmZlciA9
IFdURk1vdmUoYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcik7CisgICAgICAgIH0KKyAgICB9CiAKICAg
ICBpZiAoIWltYWdlQnVmZmVyKQogICAgICAgICBpbWFnZUJ1ZmZlciA9IFVuYWNjZWxlcmF0ZWRS
ZW1vdGVJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGxvZ2ljYWxTaXplLCByZXNvbHV0aW9uU2NhbGUsIGNv
bG9yU3BhY2UsIHBpeGVsRm9ybWF0LCAqdGhpcywgcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVy
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldl
YktpdC5HUFVQcm9jZXNzLnNiLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21hYy9jb20u
YXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IuaW4KaW5kZXggNGU5NTFmMGI4N2FjOWIxOTdjMjUw
YTIxZGM4NWNlMmZiZGZiZTNmNC4uYjdkYjUxNWUzZTJjYTQ4Nzk4NDgzYjViZTg0ZTBkYmZiM2Fj
MThhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21hYy9jb20uYXBwbGUu
V2ViS2l0LkdQVVByb2Nlc3Muc2IuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21h
Yy9jb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IuaW4KQEAgLTg5MiwzICs4OTIsNyBAQAog
KGFsbG93IGlva2l0LW9wZW4KICAgICAoaW9raXQtdXNlci1jbGllbnQtY2xhc3MgIkFwcGxlQVZE
VXNlckNsaWVudCIpCiApCisKKzs7IEZvciB0YXNrX2Zvcl9waWQKKyhhbGxvdyBtYWNoLXByaXYt
dGFzay1wb3J0KQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94
UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuR1BVLnNiIGIvU291cmNlL1dlYktpdC9SZXNv
dXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0LkdQVS5zYgppbmRleCBh
Mjc0MGU0MWI3ODAxOWJmYWZhNDI4NDIyYmU4YmQxMGMzYWU0MWIwLi44YjZkZTdhMWY0ODIzMmMx
YmEwYzBlYjUxMmNiYzU0ZWUzNmJjZWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Jlc291
cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuR1BVLnNiCisrKyBiL1Nv
dXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktp
dC5HUFUuc2IKQEAgLTkwNSwzICs5MDUsNyBAQAogKGRlbnkgbWFjaC1sb29rdXAKICAgICAoZ2xv
YmFsLW5hbWUgImNvbS5hcHBsZS53ZWJraXQuY2FtZXJhIikKICkKKworOzsgRm9yIHRhc2tfZm9y
X3BpZAorKGFsbG93IG1hY2gtcHJpdi10YXNrLXBvcnQpCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5zaCBiL1NvdXJjZS9XZWJLaXQvU2Ny
aXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5zaAppbmRleCBmM2NkOTRjMWEwNGM2MjY2YjkyMDQ0
ZmY0Y2FkMGMxZjQ4Y2Y5NjQ4Li5iMWU5YWVhY2RhYzg4Mjk1MTZlZTEwYTIxYjQwZjgzNTRmODZl
YWFjIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVu
dHMuc2gKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNo
CkBAIC00OSw2ICs0OSw4IEBAIGZ1bmN0aW9uIG1hY19wcm9jZXNzX2dwdV9lbnRpdGxlbWVudHMo
KQogCiAgICAgICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUucm9vdGxlc3Muc3RvcmFnZS5X
ZWJLaXRHUFVTYW5kYm94IGJvb2wgWUVTCiAgICAgICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBw
bGUuUXVhcnR6Q29yZS53ZWJraXQtZW5kLXBvaW50cyBib29sIFlFUworICAgICAgICBwbGlzdGJ1
ZGR5IEFkZCA6Y29tLmFwcGxlLnByaXZhdGUubWVtb3J5Lm93bmVyc2hpcF90cmFuc2ZlciBib29s
IFlFUworICAgICAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnN5c3RlbS10YXNrLXBvcnRz
LmNvbnRyb2wgYm9vbCBZRVMKICAgICBmaQogfQogCkBAIC0xNTQsNiArMTU2LDggQEAgZnVuY3Rp
b24gbWFjY2F0YWx5c3RfcHJvY2Vzc19ncHVfZW50aXRsZW1lbnRzKCkKICAgICBwbGlzdGJ1ZGR5
IEFkZCA6Y29tLmFwcGxlLnNlY3VyaXR5Lm5ldHdvcmsuY2xpZW50IGJvb2wgWUVTCiAgICAgcGxp
c3RidWRkeSBBZGQgOmNvbS5hcHBsZS5ydW5uaW5nYm9hcmQuYXNzZXJ0aW9ucy53ZWJraXQgYm9v
bCBZRVMKICAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLlF1YXJ0ekNvcmUud2Via2l0LWVu
ZC1wb2ludHMgYm9vbCBZRVMKKyAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnByaXZhdGUu
bWVtb3J5Lm93bmVyc2hpcF90cmFuc2ZlciBib29sIFlFUworICAgIHBsaXN0YnVkZHkgQWRkIDpj
b20uYXBwbGUuc3lzdGVtLXRhc2stcG9ydHMuY29udHJvbCBib29sIFlFUwogfQogCiBmdW5jdGlv
biBtYWNjYXRhbHlzdF9wcm9jZXNzX25ldHdvcmtfZW50aXRsZW1lbnRzKCkKQEAgLTIyOSw2ICsy
MzMsOSBAQCBmdW5jdGlvbiBpb3NfZmFtaWx5X3Byb2Nlc3NfZ3B1X2VudGl0bGVtZW50cygpCiAK
ICAgICBwbGlzdGJ1ZGR5IEFkZCA6c2VhdGJlbHQtcHJvZmlsZXMgYXJyYXkKICAgICBwbGlzdGJ1
ZGR5IEFkZCA6c2VhdGJlbHQtcHJvZmlsZXM6MCBzdHJpbmcgY29tLmFwcGxlLldlYktpdC5HUFUK
KworICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUucHJpdmF0ZS5tZW1vcnkub3duZXJzaGlw
X3RyYW5zZmVyIGJvb2wgWUVTCisgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5zeXN0ZW0t
dGFzay1wb3J0cy5jb250cm9sIGJvb2wgWUVTCiB9CiAKIGZ1bmN0aW9uIGlvc19mYW1pbHlfcHJv
Y2Vzc193ZWJhdXRobl9lbnRpdGxlbWVudHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcAppbmRleCBhNmFiYWZmMzRhNDc4NjRhOGU4OTcwNGNl
NzUzMmQxNTYwNjVhYjBhLi4zY2M3Njk4MWRjOTdhZTVjNGMwZDgzNzJkNmE2ZjA3NjMzNjkxYjVm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNw
cApAQCAtMjE4LDcgKzIxOCw3IEBAIHZvaWQgR1BVUHJvY2Vzc1Byb3h5OjpnZXRHUFVQcm9jZXNz
Q29ubmVjdGlvbihXZWJQcm9jZXNzUHJveHkmIHdlYlByb2Nlc3NQcm94eSwKICNlbmRpZgogCiAg
ICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIEdQVVByb2Nlc3NQcm94eSBp
cyB0YWtpbmcgYSBiYWNrZ3JvdW5kIGFzc2VydGlvbiBiZWNhdXNlIGEgd2ViIHByb2Nlc3MgaXMg
cmVxdWVzdGluZyBhIGNvbm5lY3Rpb24iLCB0aGlzKTsKLSAgICBzZW5kV2l0aEFzeW5jUmVwbHko
TWVzc2FnZXM6OkdQVVByb2Nlc3M6OkNyZWF0ZUdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MgeyB3
ZWJQcm9jZXNzUHJveHkuY29yZVByb2Nlc3NJZGVudGlmaWVyKCksIHdlYlByb2Nlc3NQcm94eS5z
ZXNzaW9uSUQoKSB9LCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHJlcGx5
ID0gV1RGTW92ZShyZXBseSldKGF1dG8mJiBpZGVudGlmaWVyKSBtdXRhYmxlIHsKKyAgICBzZW5k
V2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OkdQVVByb2Nlc3M6OkNyZWF0ZUdQVUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MgeyB3ZWJQcm9jZXNzUHJveHkuY29yZVByb2Nlc3NJZGVudGlmaWVyKCksIHdl
YlByb2Nlc3NQcm94eS5wcm9jZXNzSWRlbnRpZmllcigpLCB3ZWJQcm9jZXNzUHJveHkuc2Vzc2lv
bklEKCkgfSwgW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCByZXBseSA9IFdU
Rk1vdmUocmVwbHkpXShhdXRvJiYgaWRlbnRpZmllcikgbXV0YWJsZSB7CiAgICAgICAgIGlmICgh
d2Vha1RoaXMpIHsKICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3MsICJHUFVQ
cm9jZXNzUHJveHk6OmdldEdQVVByb2Nlc3NDb25uZWN0aW9uOiBHUFVQcm9jZXNzUHJveHkgZGVh
bGxvY2F0ZWQgZHVyaW5nIGNvbm5lY3Rpb24gZXN0YWJsaXNobWVudCIpOwogICAgICAgICAgICAg
cmV0dXJuIHJlcGx5KHsgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL2dyYXBoaWNzL0ltYWdlQnVmZmVyU2hhcmVhYmxlQml0bWFwQmFja2VuZC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL0ltYWdlQnVmZmVyU2hhcmVhYmxlQml0
bWFwQmFja2VuZC5jcHAKaW5kZXggMWQ3YWY2YmI4YzU3ZWM2YTc2NzEwMDU3ZDRjMThjYmE2YzQ2
NzI2MS4uZWFiZGU2OGEzOGExNjkwZjhjMGM4ODVmMjU0NWUwMzFkMDc4ODFhOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9JbWFnZUJ1ZmZlclNoYXJl
YWJsZUJpdG1hcEJhY2tlbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
Z3JhcGhpY3MvSW1hZ2VCdWZmZXJTaGFyZWFibGVCaXRtYXBCYWNrZW5kLmNwcApAQCAtMTI4LDYg
KzEyOCwxMCBAQCB2b2lkIEltYWdlQnVmZmVyU2hhcmVhYmxlQml0bWFwQmFja2VuZDo6cHV0SW1h
Z2VEYXRhKEFscGhhUHJlbXVsdGlwbGljYXRpb24gaW5wdQogICAgIEltYWdlQnVmZmVyQmFja2Vu
ZDo6cHV0SW1hZ2VEYXRhKGlucHV0Rm9ybWF0LCBpbWFnZURhdGEsIHNyY1JlY3QsIGRlc3RQb2lu
dCwgZGVzdEZvcm1hdCwgbV9iaXRtYXAtPmRhdGEoKSk7CiB9CiAKK3ZvaWQgSW1hZ2VCdWZmZXJT
aGFyZWFibGVCaXRtYXBCYWNrZW5kOjpzZXRQcm9jZXNzT3duZXJzaGlwKFByb2Nlc3NJRCkKK3sK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NF
U1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL0lt
YWdlQnVmZmVyU2hhcmVhYmxlQml0bWFwQmFja2VuZC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9ncmFwaGljcy9JbWFnZUJ1ZmZlclNoYXJlYWJsZUJpdG1hcEJhY2tlbmQuaAppbmRl
eCA1NTUwNmE0OWQwM2UzOWU4OGUwMzYxZTQ5MTU1ZjEzMWQ3OTkwMTBmLi43MzBhNjE4NzQ1Mjk3
NTRmZjdjYjJkYWMwMTYyMmQ2NmI2ZWQ3ZTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL2dyYXBoaWNzL0ltYWdlQnVmZmVyU2hhcmVhYmxlQml0bWFwQmFja2VuZC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvSW1hZ2VCdWZmZXJT
aGFyZWFibGVCaXRtYXBCYWNrZW5kLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJJbWFn
ZUJ1ZmZlckJhY2tlbmRIYW5kbGUuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtSW1hZ2VC
dWZmZXJCYWNrZW5kLmg+CiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvYy5oPgorI2luY2x1ZGUgPHd0
Zi9Qcm9jZXNzSUQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgSW1hZ2VEYXRhOwpA
QCAtNjEsNiArNjIsOCBAQCBwdWJsaWM6CiAgICAgUmVmUHRyPFdlYkNvcmU6OkltYWdlRGF0YT4g
Z2V0SW1hZ2VEYXRhKFdlYkNvcmU6OkFscGhhUHJlbXVsdGlwbGljYXRpb24gb3V0cHV0Rm9ybWF0
LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBwdXRJ
bWFnZURhdGEoV2ViQ29yZTo6QWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBpbnB1dEZvcm1hdCwgY29u
c3QgV2ViQ29yZTo6SW1hZ2VEYXRhJiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc3JjUmVjdCwg
Y29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGRlc3RQb2ludCwgV2ViQ29yZTo6QWxwaGFQcmVtdWx0
aXBsaWNhdGlvbiBkZXN0Rm9ybWF0KSBvdmVycmlkZTsKIAorICAgIHZvaWQgc2V0UHJvY2Vzc093
bmVyc2hpcChQcm9jZXNzSUQpOworCiBwcml2YXRlOgogICAgIFJlZlB0cjxTaGFyZWFibGVCaXRt
YXA+IG1fYml0bWFwOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHQ+IG1fY29udGV4dDsK
</data>
<flag name="review"
          id="435699"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417912</attachid>
            <date>2021-01-19 14:06:51 -0800</date>
            <delta_ts>2021-01-19 16:07:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220663-20210119140650.patch</filename>
            <type>text/plain</type>
            <size>5287</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBlNTM3Mzg3
ZThmZDIyODk1YWNkNzA1OGE4NjcyNDY0ZTJlNmMyNDc4Li5hOTA1YzRmZmVmNjU3YzI0YmNiZjli
NjI0ODBmZjVhODgxNWVjMmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAyMS0wMS0xOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFtH
UFVQcm9jZXNzXSBDbGFpbSBvd25lcnNoaXAgb2YgSU9TdXJmYWNlIGJhY2tpbmcgZm9yIEltYWdl
QnVmZmVyQmFja2VuZHMgaW4gdGhlIFdlYlByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDY2MworCisgICAgICAgIFJldmlld2VkIGJ5IEdl
b2ZmcmV5IEdhcmVuLgorCisgICAgICAgIERlY2xhcmUgbmV3IElPU3VyZmFjZSBTUEkuCisKKyAg
ICAgICAgKiBwYWwvc3BpL2NvY29hL0lPU3VyZmFjZVNQSS5oOgorCiAyMDIxLTAxLTE0ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIEV4Y2VwdGlvbnMg
dGhyb3duIHdoZW4gaW52b2tpbmcgYSA8c2VsZWN0PiBvbiBhbiBpUGhvbmUtaWRpb20gYXBwIHJ1
bm5pbmcgb24gbWFjT1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMjkyNTJjZWNlOTdmNDdkNGMwYTMyMzk4ZWYwOWFh
NDE1NDZmMmE1MS4uMzkyMzQwZjU3ZTAxZGFlYWEzOGRiYzBmNWI2NzBkZGExZjI3NTc1MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMS0wMS0xOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgorCisgICAgICAgIFtHUFVQcm9jZXNzXSBDbGFpbSBvd25lcnNoaXAgb2YgQ2Fu
dmFzIElPU3VyZmFjZSBiYWNraW5nIGluIHRoZSBXZWJQcm9jZXNzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjA2NjMKKworICAgICAgICBSZXZpZXdl
ZCBieSBHZW9mZnJleSBHYXJlbi4KKworICAgICAgICBDbGFpbSBvd25lcnNoaXAgb2YgQ2FudmFz
IElPU3VyZmFjZSBiYWNraW5nIGluIHRoZSBXZWJQcm9jZXNzLiBJZiB3ZSBkb24ndCBkbyB0aGlz
LCBhbGwKKyAgICAgICAgSU9TdXJmYWNlIG1lbW9yeSBnZXRzIGF0dHJpYnV0ZWQgdG8gdGhlIEdQ
VVByb2Nlc3MsIG1ha2luZyBpdCBhIHByaW1lIGNhbmRpZGF0ZSBmb3IgamV0c2FtLgorICAgICAg
ICBXZSBuZWVkIHRvIGF0dHJpYnV0ZSBtZW1vcnkgdXNhZ2UgdG8gdGhlIFdlYlByb2Nlc3NlcyBi
ZWluZyBzZXJ2ZWQgYnkgdGhlIEdQVVByb2Nlc3MgYXMgbXVjaAorICAgICAgICBhcyBwb3NzaWJs
ZSBhbmQgdGhpcyBpcyBhIHN0ZXAgaW4gdGhpcyBkaXJlY3Rpb24uCisKKyAgICAgICAgTm90ZSB0
aGF0IHRoaXMgcGF0Y2ggY3VycmVudGx5IG9ubHkgaW1wYWN0cyBDYW52YXMgSU9TdXJmYWNlIGJh
Y2tpbmcgd2hlbiAiRE9NIFJlbmRlcmluZyBpbgorICAgICAgICBHUFVQcm9jZXNzIiBpcyBkaXNh
YmxlZC4gV2hlbiAiRE9NIFJlbmRlcmluZyBpbiBHUFVQcm9jZXNzIiBpcyBlbmFibGVkLCB3ZSBh
cmUgbm90IHN1cHBvc2VkCisgICAgICAgIHRvIHVzZSB0aGUgSU9TdXJmYWNlIEFQSSBpbiB0aGUg
V2ViUHJvY2VzcyBhdCBhbGwuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9j
b2NvYS9JbWFnZUJ1ZmZlclNoYXJlYWJsZU1hcHBlZElPU3VyZmFjZUJhY2tlbmQuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpJbWFnZUJ1ZmZlclNoYXJlYWJsZU1hcHBlZElPU3VyZmFjZUJhY2tlbmQ6
OmNyZWF0ZSk6CisKIDIwMjEtMDEtMTkgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNv
bT4KIAogICAgICAgICBbV2ViQXV0aG5dIFBvbGlzaCB0aGUgbmV3IFdlYkF1dGhuIFVJCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCBiL1NvdXJjZS9XVEYvd3RmL1Bs
YXRmb3JtSGF2ZS5oCmluZGV4IGNmZGFmZDZmMmM4OGVhYjY5MzAzMmE1NWYwYzc3ZTY3NjlhZTJl
OTIuLjQyZmY1YjRlY2M4ZjZhYWZjOTYwMGRmYjQ5Yjg0NGIyMmNiNzVhYmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtSGF2ZS5oCkBAIC0yOTAsNiArMjkwLDEzIEBACiAjZGVmaW5lIEhBVkVfSU9TVVJGQUNFX0FD
Q0VMRVJBVE9SIDEKICNlbmRpZgogCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIFwKKyAgICB8fCAoKChQTEFURk9STShJT1Mp
ICYmICFQTEFURk9STShJT1NfU0lNVUxBVE9SKSkgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpKSAm
JiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDApIFwKKyAgICB8fCAo
UExBVEZPUk0oV0FUQ0hPUykgJiYgX19XQVRDSF9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSA2
MDAwMCkgXAorICAgIHx8IChQTEFURk9STShBUFBMRVRWKSAmJiBfX1RWX09TX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEzMDAwMCkKKyNkZWZpbmUgSEFWRV9JT1NVUkZBQ0VfU0VUX09XTkVSU0hJ
UCAxCisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKE1BQykKICNkZWZpbmUgSEFWRV9OU19BQ1RJVklU
WSAxCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29h
L0lPU3VyZmFjZVNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvSU9TdXJm
YWNlU1BJLmgKaW5kZXggN2NiZjc1OTg3MjYxNGE4ODk4ODAwNTJhNjMwNDNkMjAxMzU1OTc1My4u
ZTI0ZDUwMjY2MTNjNjQxM2Y3ZmI2MzJkNDhiZWMyZjM0YmQ0MDViZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvSU9TdXJmYWNlU1BJLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvSU9TdXJmYWNlU1BJLmgKQEAgLTg4LDYgKzg4LDIy
IEBAIFdURl9FWFRFUk5fQ19FTkQKIAogI2ltcG9ydCA8SU9TdXJmYWNlL0lPU3VyZmFjZVR5cGVz
Lmg+CiAKK1dURl9FWFRFUk5fQ19CRUdJTgorCisjaWYgSEFWRShJT1NVUkZBQ0VfU0VUX09XTkVS
U0hJUCkKK3R5cGVkZWYgQ0ZfRU5VTShpbnQsIElPU3VyZmFjZU1lbW9yeUxlZGdlclRhZ3MpIHsK
KyAgICBrSU9TdXJmYWNlTWVtb3J5TGVkZ2VyVGFnRGVmYXVsdCAgICAgPSAweDAwMDAwMDAxLAor
ICAgIGtJT1N1cmZhY2VNZW1vcnlMZWRnZXJUYWdOZXR3b3JrICAgICA9IDB4MDAwMDAwMDIsCisg
ICAga0lPU3VyZmFjZU1lbW9yeUxlZGdlclRhZ01lZGlhICAgICAgID0gMHgwMDAwMDAwMywKKyAg
ICBrSU9TdXJmYWNlTWVtb3J5TGVkZ2VyVGFnR3JhcGhpY3MgICAgPSAweDAwMDAwMDA0LAorICAg
IGtJT1N1cmZhY2VNZW1vcnlMZWRnZXJUYWdOZXVyYWwgICAgICA9IDB4MDAwMDAwMDUsCit9Owor
CitJT1JldHVybiBJT1N1cmZhY2VTZXRPd25lcnNoaXAoSU9TdXJmYWNlUmVmIGJ1ZmZlciwgdGFz
a190IG5ld093bmVyLCBpbnQgbmV3TGVkZ2VyVGFnLCB1aW50MzJfdCBuZXdMZWRnZXJPcHRpb25z
KTsKKyNlbmRpZiAvLyBIQVZFKElPU1VSRkFDRV9TRVRfT1dORVJTSElQKQorCitXVEZfRVhURVJO
X0NfRU5ECisKICNlbmRpZgogCiBXVEZfRVhURVJOX0NfQkVHSU4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvY29jb2EvSW1hZ2VCdWZmZXJTaGFyZWFi
bGVNYXBwZWRJT1N1cmZhY2VCYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvZ3JhcGhpY3MvY29jb2EvSW1hZ2VCdWZmZXJTaGFyZWFibGVNYXBwZWRJT1N1cmZhY2VCYWNr
ZW5kLmNwcAppbmRleCAxZWJhZDQzMmEyMTUzZmEwNDNmZTg4ZGU4YmIxM2JjNmNkYjYxZjQwLi4x
Zjg5NzA4ZTg2OTYzZWU3MDEzMGI0NjBlNjFjNzQ4ZmZmYzFkZjk3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL2NvY29hL0ltYWdlQnVmZmVyU2hhcmVh
YmxlTWFwcGVkSU9TdXJmYWNlQmFja2VuZC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9ncmFwaGljcy9jb2NvYS9JbWFnZUJ1ZmZlclNoYXJlYWJsZU1hcHBlZElPU3VyZmFj
ZUJhY2tlbmQuY3BwCkBAIC0yOCw3ICsyOCw5IEBACiAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1Mp
ICYmIEhBVkUoSU9TVVJGQUNFKQogCisjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgPFdl
YkNvcmUvR3JhcGhpY3NDb250ZXh0Q0cuaD4KKyNpbmNsdWRlIDxwYWwvc3BpL2NvY29hL0lPU3Vy
ZmFjZVNQSS5oPgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8
d3RmL1N0ZExpYkV4dHJhcy5oPgogCkBAIC02Nyw2ICs2OSwxMyBAQCBzdGQ6OnVuaXF1ZV9wdHI8
SW1hZ2VCdWZmZXJTaGFyZWFibGVNYXBwZWRJT1N1cmZhY2VCYWNrZW5kPiBJbWFnZUJ1ZmZlclNo
YXJlYWJsZQogICAgIGlmICghc3VyZmFjZSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKKyNp
ZiBIQVZFKElPU1VSRkFDRV9TRVRfT1dORVJTSElQKQorICAgIC8vIENsYWltIGluIHRoZSBXZWJQ
cm9jZXNzIG93bmVyc2hpcCBvZiB0aGUgSU9TdXJmYWNlIGNvbnN0cnVjdGVkIGJ5IHRoZSBHUFVQ
cm9jZXNzIHNvIHRoYXQgSmV0c2FtIGtub3dzIHdoaWNoIHByb2Nlc3NlcyB0byBraWxsLgorICAg
IGF1dG8gcmVzdWx0ID0gSU9TdXJmYWNlU2V0T3duZXJzaGlwKHN1cmZhY2UtPnN1cmZhY2UoKSwg
bWFjaF90YXNrX3NlbGYoKSwga0lPU3VyZmFjZU1lbW9yeUxlZGdlclRhZ0dyYXBoaWNzLCAwKTsK
KyAgICBpZiAocmVzdWx0ICE9IGtJT1JldHVyblN1Y2Nlc3MpCisgICAgICAgIFJFTEVBU0VfTE9H
X0VSUk9SKFByb2Nlc3MsICJGYWlsZWQgdG8gY2xhaW0gb3duZXJzaGlwIG9mIElPU3VyZmFjZSAl
cC4gRXJyb3I6ICVkIiwgc3VyZmFjZS0+c3VyZmFjZSgpLCByZXN1bHQpOworI2VuZGlmCisKICAg
ICByZXR1cm4gbWFrZVVuaXF1ZTxJbWFnZUJ1ZmZlclNoYXJlYWJsZU1hcHBlZElPU3VyZmFjZUJh
Y2tlbmQ+KHBhcmFtZXRlcnMsIFdURk1vdmUoc3VyZmFjZSkpOwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>