<?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>224787</bug_id>
          
          <creation_ts>2021-04-19 16:10:14 -0700</creation_ts>
          <short_desc>Remove UNUSED warnings based on the configuration.</short_desc>
          <delta_ts>2021-04-23 02:48:01 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Basuke Suzuki">basuke</reporter>
          <assigned_to name="Basuke Suzuki">basuke</assigned_to>
          <cc>basuke</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>japhet</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>lingcherd_ho</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>pdr</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1752032</commentid>
    <comment_count>0</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2021-04-19 16:10:14 -0700</bug_when>
    <thetext>Many warnings are came from the result when RELEASE_LOG is disabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752036</commentid>
    <comment_count>1</comment_count>
      <attachid>426490</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2021-04-19 16:22:03 -0700</bug_when>
    <thetext>Created attachment 426490
PATCH</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752050</commentid>
    <comment_count>2</comment_count>
      <attachid>426494</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2021-04-19 16:40:29 -0700</bug_when>
    <thetext>Created attachment 426494
PATCH</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752052</commentid>
    <comment_count>3</comment_count>
      <attachid>426495</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2021-04-19 16:51:19 -0700</bug_when>
    <thetext>Created attachment 426495
PATCH</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752054</commentid>
    <comment_count>4</comment_count>
      <attachid>426495</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-04-19 17:00:00 -0700</bug_when>
    <thetext>Comment on attachment 426495
PATCH

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

&gt; Source/WebCore/loader/SubresourceLoader.cpp:311
&gt; +            UNUSED_VARIABLE(this);

This isn’t the best fix. The correct fix is to not capture this, since we’re not using it. Not sure we should be capturing protectedThis either.

&gt; Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:540
&gt;      unsigned numberOfBatches = std::ceil(domains.size() / static_cast&lt;float&gt;(maxNumberOfDomainsInOneLogStatement));
&gt; +    UNUSED_VARIABLE(numberOfBatches);

Better fix is to wrap this line in:

#if !RELEASE_LOG_DISABLED
#endif

&gt; Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp:359
&gt; +#endif

I think this #endif should be up above, not wrapped around the entire block. We don’t want or need to nest the #if

&gt; Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp:160
&gt;      RELEASE_LOG(ServiceWorker, &quot;Created service worker %&quot; PRIu64 &quot; in process PID %i&quot;, serviceWorkerIdentifier.toUInt64(), getCurrentProcessID());
&gt; +    UNUSED_VARIABLE(serviceWorkerIdentifier);

Better fix is to use data.serviceWorkerIdentifier in the RELEASE_LOG line and get rid of the local variable.

&gt; Source/WebKit/WebProcess/WebPage/WebURLSchemeTaskProxy.cpp:55
&gt; +static UNUSED_FUNCTION uint64_t pageIDFromWebFrame(const RefPtr&lt;WebFrame&gt;&amp; frame)

Better fix is to put these functions inside #if !RELEASE_LOG_DISABLED.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752059</commentid>
    <comment_count>5</comment_count>
      <attachid>426495</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2021-04-19 17:12:00 -0700</bug_when>
    <thetext>Comment on attachment 426495
PATCH

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

&gt;&gt; Source/WebCore/loader/SubresourceLoader.cpp:311
&gt;&gt; +            UNUSED_VARIABLE(this);
&gt; 
&gt; This isn’t the best fix. The correct fix is to not capture this, since we’re not using it. Not sure we should be capturing protectedThis either.

But `this` is uses in RELEASE_LOG_IF_ALLOWED macro. It will be warned if RELEASE_LOG_DISABLED.

&gt;&gt; Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:540
&gt;&gt; +    UNUSED_VARIABLE(numberOfBatches);
&gt; 
&gt; Better fix is to wrap this line in:
&gt; 
&gt; #if !RELEASE_LOG_DISABLED
&gt; #endif

Right.

&gt;&gt; Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp:359
&gt;&gt; +#endif
&gt; 
&gt; I think this #endif should be up above, not wrapped around the entire block. We don’t want or need to nest the #if

Ah, okay. Make sense.

&gt;&gt; Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp:160
&gt;&gt; +    UNUSED_VARIABLE(serviceWorkerIdentifier);
&gt; 
&gt; Better fix is to use data.serviceWorkerIdentifier in the RELEASE_LOG line and get rid of the local variable.

Right.

&gt;&gt; Source/WebKit/WebProcess/WebPage/WebURLSchemeTaskProxy.cpp:55
&gt;&gt; +static UNUSED_FUNCTION uint64_t pageIDFromWebFrame(const RefPtr&lt;WebFrame&gt;&amp; frame)
&gt; 
&gt; Better fix is to put these functions inside #if !RELEASE_LOG_DISABLED.

Right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752063</commentid>
    <comment_count>6</comment_count>
      <attachid>426495</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2021-04-19 17:27:06 -0700</bug_when>
    <thetext>Comment on attachment 426495
PATCH

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

&gt;&gt;&gt; Source/WebCore/loader/SubresourceLoader.cpp:311
&gt;&gt;&gt; +            UNUSED_VARIABLE(this);
&gt;&gt; 
&gt;&gt; This isn’t the best fix. The correct fix is to not capture this, since we’re not using it. Not sure we should be capturing protectedThis either.
&gt; 
&gt; But `this` is uses in RELEASE_LOG_IF_ALLOWED macro. It will be warned if RELEASE_LOG_DISABLED.

I will add RELEASE_LOG_IF_ALLOWED for RELEASE_LOG_DISABLED case.

&gt;&gt;&gt; Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp:160
&gt;&gt;&gt; +    UNUSED_VARIABLE(serviceWorkerIdentifier);
&gt;&gt; 
&gt;&gt; Better fix is to use data.serviceWorkerIdentifier in the RELEASE_LOG line and get rid of the local variable.
&gt; 
&gt; Right.

Ah, no. it is passed with WTFMove(data). We shouldn&apos;t use that. Wrap with #!RELEASE_LOG_DISABLED.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752085</commentid>
    <comment_count>7</comment_count>
      <attachid>426504</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2021-04-19 18:32:25 -0700</bug_when>
    <thetext>Created attachment 426504
PATCH</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752092</commentid>
    <comment_count>8</comment_count>
      <attachid>426504</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-04-19 19:03:52 -0700</bug_when>
    <thetext>Comment on attachment 426504
PATCH

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

&gt; Source/WebKit/WebProcess/WebProcess.cpp:1469
&gt; +        UNUSED_VARIABLE(this);

Don’t need this any more since you put a fix into RELEASE_LOG_IF_ALLOWED</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752102</commentid>
    <comment_count>9</comment_count>
      <attachid>426504</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2021-04-19 19:45:09 -0700</bug_when>
    <thetext>Comment on attachment 426504
PATCH

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

&gt; Source/WebKit/NetworkProcess/NetworkProcess.cpp:2214
&gt; +        UNUSED_VARIABLE(this);

Can we do something for this?

&gt;&gt; Source/WebKit/WebProcess/WebProcess.cpp:1469
&gt;&gt; +        UNUSED_VARIABLE(this);
&gt; 
&gt; Don’t need this any more since you put a fix into RELEASE_LOG_IF_ALLOWED

That was defined in SubresourceLoader.cpp, so I have to define that here for this file. Okay.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752134</commentid>
    <comment_count>10</comment_count>
      <attachid>426518</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2021-04-19 21:57:01 -0700</bug_when>
    <thetext>Created attachment 426518
PATCH</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752274</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-20 08:47:32 -0700</bug_when>
    <thetext>Committed r276306 (236788@main): &lt;https://commits.webkit.org/236788@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 426518.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753519</commentid>
    <comment_count>12</comment_count>
    <who name="Ling Ho">lingcherd_ho</who>
    <bug_when>2021-04-23 02:47:49 -0700</bug_when>
    <thetext>rdar://76900340</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426490</attachid>
            <date>2021-04-19 16:22:03 -0700</date>
            <delta_ts>2021-04-19 16:40:29 -0700</delta_ts>
            <desc>PATCH</desc>
            <filename>test.diff</filename>
            <type>text/plain</type>
            <size>14218</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0NoZWNrZWRBcml0aG1ldGljLmggYi9Tb3VyY2Uv
V1RGL3d0Zi9DaGVja2VkQXJpdGhtZXRpYy5oCmluZGV4IDc0MGJlNDY2MDhiOC4uMWZjODQyZGJl
NGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9DaGVja2VkQXJpdGhtZXRpYy5oCisrKyBi
L1NvdXJjZS9XVEYvd3RmL0NoZWNrZWRBcml0aG1ldGljLmgKQEAgLTgxNyw3ICs4MTcsNyBAQCBw
dWJsaWM6CiAKICAgICBjb25zdCBDaGVja2VkIG9wZXJhdG9yKj0oZG91YmxlIHJocykKICAgICB7
Ci0gICAgICAgIGRvdWJsZSByZXN1bHQgPSByaHMgKiBtX3ZhbHVlOworICAgICAgICBsb25nIGRv
dWJsZSByZXN1bHQgPSByaHMgKiBtX3ZhbHVlOwogICAgICAgICAvLyBIYW5kbGUgKy8tIGluZmlu
aXR5IGFuZCBOYU4KICAgICAgICAgaWYgKCEoc3RkOjpudW1lcmljX2xpbWl0czxUPjo6bWluKCkg
PD0gcmVzdWx0ICYmIHN0ZDo6bnVtZXJpY19saW1pdHM8VD46Om1heCgpID49IHJlc3VsdCkpCiAg
ICAgICAgICAgICB0aGlzLT5vdmVyZmxvd2VkKCk7CkBAIC04MzEsNyArODMxLDcgQEAgcHVibGlj
OgogICAgICAgICAgICAgdGhpcy0+b3ZlcmZsb3dlZCgpOwogICAgICAgICAgICAgcmV0dXJuICp0
aGlzOwogICAgICAgICB9Ci0gICAgICAgIGRvdWJsZSByZXN1bHQgPSBtX3ZhbHVlIC8gcmhzOwor
ICAgICAgICBsb25nIGRvdWJsZSByZXN1bHQgPSBtX3ZhbHVlIC8gcmhzOwogICAgICAgICAvLyBI
YW5kbGUgKy8tIGluZmluaXR5IGFuZCBOYU4KICAgICAgICAgaWYgKCEoc3RkOjpudW1lcmljX2xp
bWl0czxUPjo6bWluKCkgPD0gcmVzdWx0ICYmIHN0ZDo6bnVtZXJpY19saW1pdHM8VD46Om1heCgp
ID49IHJlc3VsdCkpCiAgICAgICAgICAgICB0aGlzLT5vdmVyZmxvd2VkKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggMjhiMmFjMjNkNTg2Li4zODQxOTY4MDg3ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBA
QAorMjAyMS0wNC0xOSAgQmFzdWtlIFN1enVraSAgPGJhc3VrZS5zdXp1a2lAc29ueS5jb20+CisK
KyAgICAgICAgUmVtb3ZlIHdhcm5pbmdzIHdoZW4gUkVMRUFTRV9MT0cgaXMgZGlzYWJsZWQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3ODcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBwYXRjaAorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAgICogbG9hZGVyL1N1YnJlc291
cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291cmNlTG9hZGVyOjp3aWxs
U2VuZFJlcXVlc3RJbnRlcm5hbCk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUxvZ2dpbmcu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VMb2dnaW5nOjpkaWRSZWFjaFBvaW50
T2ZJbnRlcmVzdCk6CisKIDIwMjEtMDQtMTYgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBs
ZS5jb20+CiAKICAgICAgICAgUGVyZm9ybSBwb3J0IGJsb2NraW5nIGVhcmxpZXIgaW4gdGhlIGxv
YWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGVm
ODU2ODBkOWM3MC4uNzgxMGEwN2RmMDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJy
ZXNvdXJjZUxvYWRlci5jcHAKQEAgLTMwOCw2ICszMDgsNyBAQCB2b2lkIFN1YnJlc291cmNlTG9h
ZGVyOjp3aWxsU2VuZFJlcXVlc3RJbnRlcm5hbChSZXNvdXJjZVJlcXVlc3QmJiBuZXdSZXF1ZXN0
LCBjbwogICAgICAgICBtX2xvYWRUaW1pbmcuYWRkUmVkaXJlY3QocmVkaXJlY3RSZXNwb25zZS51
cmwoKSwgbmV3UmVxdWVzdC51cmwoKSk7CiAgICAgICAgIG1fcmVzb3VyY2UtPnJlZGlyZWN0UmVj
ZWl2ZWQoV1RGTW92ZShuZXdSZXF1ZXN0KSwgcmVkaXJlY3RSZXNwb25zZSwgW3RoaXMsIHByb3Rl
Y3RlZFRoaXMgPSBXVEZNb3ZlKHByb3RlY3RlZFRoaXMpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdU
Rk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBjb250aW51ZVdpbGxTZW5kUmVxdWVzdCA9IFdURk1v
dmUoY29udGludWVXaWxsU2VuZFJlcXVlc3QpXSAoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCkg
bXV0YWJsZSB7CiAgICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJ3aWxsU2VuZFJl
cXVlc3RJbnRlcm5hbDogcmVzb3VyY2UgZG9uZSBub3RpZnlpbmcgY2xpZW50cyIpOworICAgICAg
ICAgICAgVU5VU0VEX1ZBUklBQkxFKHRoaXMpOwogICAgICAgICAgICAgY29udGludWVXaWxsU2Vu
ZFJlcXVlc3QoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIFdURk1vdmUocmVxdWVzdCkpOwog
ICAgICAgICB9KTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlQ29uc29sZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25z
b2xlQ2xpZW50LmNwcAppbmRleCA4ZTIzNmEwODQwNTkuLjY2NjBkYmUwMzliNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZUNsaWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZUNsaWVudC5jcHAKQEAgLTI4OSw2ICsyODksOCBAQCBz
dGF0aWMgT3B0aW9uYWw8U3RyaW5nPiBzbmFwc2hvdENhbnZhcyhIVE1MQ2FudmFzRWxlbWVudCYg
Y2FudmFzRWxlbWVudCwgQ2FudmFzUgogI2lmIEVOQUJMRShXRUJHTCkKICAgICBpZiAoaXM8V2Vi
R0xSZW5kZXJpbmdDb250ZXh0QmFzZT4oY2FudmFzUmVuZGVyaW5nQ29udGV4dCkpCiAgICAgICAg
IGRvd25jYXN0PFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U+KGNhbnZhc1JlbmRlcmluZ0NvbnRl
eHQpLnNldFByZXZlbnRCdWZmZXJDbGVhckZvckluc3BlY3Rvcih0cnVlKTsKKyNlbHNlCisgICAg
VU5VU0VEX1BBUkFNKGNhbnZhc1JlbmRlcmluZ0NvbnRleHQpOwogI2VuZGlmCiAKICAgICBhdXRv
IHJlc3VsdCA9IGNhbnZhc0VsZW1lbnQudG9EYXRhVVJMKCJpbWFnZS9wbmciX3MpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUxvZ2dpbmcuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUxvZ2dpbmcuY3BwCmluZGV4IGMxYzhkMWEyYjk5YS4u
YzY4NDk0NWE4MGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
TG9nZ2luZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUxvZ2dpbmcu
Y3BwCkBAIC05Miw2ICs5Miw3IEBAIHZvaWQgUGVyZm9ybWFuY2VMb2dnaW5nOjpkaWRSZWFjaFBv
aW50T2ZJbnRlcmVzdChQb2ludE9mSW50ZXJlc3QgcG9pKQogewogI2lmIFJFTEVBU0VfTE9HX0RJ
U0FCTEVECiAgICAgVU5VU0VEX1BBUkFNKHBvaSk7CisgICAgVU5VU0VEX1ZBUklBQkxFKG1fcGFn
ZSk7CiAjZWxzZQogICAgIC8vIElnbm9yZSBzeW50aGV0aWMgbWFpbiBmcmFtZXMgdXNlZCBpbnRl
cm5hbGx5IGJ5IFNWRyBhbmQgd2ViIGluc3BlY3Rvci4KICAgICBpZiAobV9wYWdlLm1haW5GcmFt
ZSgpLmxvYWRlcigpLmNsaWVudCgpLmlzRW1wdHlGcmFtZUxvYWRlckNsaWVudCgpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9udENhY2hl
RnJlZVR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUv
Rm9udENhY2hlRnJlZVR5cGUuY3BwCmluZGV4IGZkNzFmYTA3OTJkYi4uZWEzNTA4NjdiMmU5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9Gb250
Q2FjaGVGcmVlVHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZnJlZXR5cGUvRm9udENhY2hlRnJlZVR5cGUuY3BwCkBAIC0yNDYsNiArMjQ2LDggQEAgUmVmUHRy
PEZvbnQ+IEZvbnRDYWNoZTo6c3lzdGVtRmFsbGJhY2tGb3JDaGFyYWN0ZXJzKGNvbnN0IEZvbnRE
ZXNjcmlwdGlvbiYgZGVzY3IKICNpZmRlZiBGQ19DT0xPUgogICAgICAgICBpZiAocHJlZmVyQ29s
b3JlZEZvbnQgPT0gUHJlZmVyQ29sb3JlZEZvbnQ6OlllcykKICAgICAgICAgICAgIEZjUGF0dGVy
bkFkZEJvb2wocGF0dGVybi5nZXQoKSwgRkNfQ09MT1IsIEZjVHJ1ZSk7CisjZWxzZQorICAgICAg
ICBVTlVTRURfVkFSSUFCTEUocHJlZmVyQ29sb3JlZEZvbnQpOwogI2VuZGlmCiAgICAgICAgIGlm
ICghY29uZmlndXJlUGF0dGVybkZvckZvbnREZXNjcmlwdGlvbihwYXR0ZXJuLmdldCgpLCBkZXNj
cmlwdGlvbikpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2pwZWcvSlBFR0ltYWdlRGVjb2Rlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9qcGVnL0pQRUdJbWFn
ZURlY29kZXIuY3BwCmluZGV4IGE2N2ZhYzUwZTNiOC4uNmQzOTE1MDcxMDhjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9qcGVnL0pQRUdJbWFnZURl
Y29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2pw
ZWcvSlBFR0ltYWdlRGVjb2Rlci5jcHAKQEAgLTc4LDggKzc4LDExIEBAIGlubGluZSBib29sIGRv
RmFuY3lVcHNhbXBsaW5nKCkgeyByZXR1cm4gdHJ1ZTsgfQogI2VuZGlmCiAKIHN0YXRpYyBjb25z
dCBpbnQgZXhpZk1hcmtlciA9IEpQRUdfQVBQMCArIDE7CisKKyNpZiBVU0UoTENNUykKIHN0YXRp
YyBjb25zdCBpbnQgaWNjTWFya2VyID0gSlBFR19BUFAwICsgMjsKIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBpY2NIZWFkZXJTaXplID0gMTQ7CisjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCmluZGV4IDM2
YzE5MWQwNWEyOC4uYWEyMjMzNzZmNTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2tGbG93LmNwcApAQCAtMTc4Miw4ICsxNzgyLDggQEAgdm9pZCBSZW5kZXJCbG9j
a0Zsb3c6OmFkanVzdExpbmVQb3NpdGlvbkZvclBhZ2luYXRpb24oUm9vdElubGluZUJveCogbGlu
ZUJveCwgTGEKICAgICAgICAgLy8gdG9wIG9mIHRoZSBwYWdlLgogICAgICAgICAvLyBGSVhNRTog
V2UgYXJlIHN0aWxsIGhvbm9yaW5nIGdpZ2FudGljIG1hcmdpbnMsIHdoaWNoIGRvZXMgbGVhdmUg
b3BlbiB0aGUgcG9zc2liaWxpdHkgb2YgYmxhbmsgcGFnZXMgY2F1c2VkIGJ5IHRoaXMgaGV1cmlz
dGljLiBJdCByZW1haW5zIHRvIGJlIHNlZW4gd2hldGhlciBvciBub3QKICAgICAgICAgLy8gdGhp
cyB3aWxsIGJlIGEgcmVhbC13b3JsZCBpc3N1ZS4gRm9yIG5vdyB3ZSBkb24ndCB0cnkgdG8gZGVh
bCB3aXRoIHRoaXMgcHJvYmxlbS4KLSAgICAgICAgbG9naWNhbE9mZnNldCA9IGludE1heEZvckxh
eW91dFVuaXQ7Ci0gICAgICAgIGxvZ2ljYWxCb3R0b20gPSBpbnRNaW5Gb3JMYXlvdXRVbml0Owor
ICAgICAgICBsb2dpY2FsT2Zmc2V0ID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGludE1heEZvckxheW91
dFVuaXQpOworICAgICAgICBsb2dpY2FsQm90dG9tID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGludE1p
bkZvckxheW91dFVuaXQpOwogICAgICAgICBsaW5lQm94LT5jb21wdXRlUmVwbGFjZWRBbmRUZXh0
TGluZVRvcEFuZEJvdHRvbShsb2dpY2FsT2Zmc2V0LCBsb2dpY2FsQm90dG9tKTsKICAgICAgICAg
bGluZUhlaWdodCA9IGxvZ2ljYWxCb3R0b20gLSBsb2dpY2FsT2Zmc2V0OwogICAgICAgICBpZiAo
bG9naWNhbE9mZnNldCA9PSBpbnRNYXhGb3JMYXlvdXRVbml0IHx8IGxpbmVIZWlnaHQgPiBwYWdl
TG9naWNhbEhlaWdodCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAxNGFkOTk1OTQ5NTQuLmM3NTY0MjZjZjNlYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAyMS0wNC0xOSAgQmFzdWtlIFN1enVraSAgPGJh
c3VrZS5zdXp1a2lAc29ueS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHdhcm5pbmdzIHdoZW4gUkVM
RUFTRV9MT0cgaXMgZGlzYWJsZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjQ3ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGRlZCBVTlVTRURfVkFSSUFCTEUgb3IgdGhlIHZhcmlhdGlvbiBvZiB0
aGF0IGZvciB0aGUgdmFyaWFibGVzIHVzZWQgYnkgUkVMRUFTRV9MT0cuCisKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6ZGVidWdMb2dE
b21haW5zSW5CYXRjaGVzKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpwcmVwYXJlVG9TdXNwZW5k
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZVByb3h5OjpyZXF1ZXN0U3RvcmFnZVNwYWNlKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6aW5zdGFsbFNlcnZpY2VXb3Jr
ZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJVUkxTY2hlbWVUYXNrUHJveHku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpwYWdlSURGcm9tV2ViRnJhbWUpOgorICAgICAgICAoV2Vi
S2l0OjpmcmFtZUlERnJvbVdlYkZyYW1lKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nl
c3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpwcmVwYXJlVG9TdXNwZW5kKToK
KwogMjAyMS0wNC0xNiAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBEZXBsb3kgUmVmL1JlZlB0ciBpbiBFZGl0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3Bw
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZS5jcHAKaW5kZXggYTNkNzA5MDI1YzMxLi4zNDI5NzEwMzVhZTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Q2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwCkBAIC01MzcsNiArNTM3
LDcgQEAgdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmRlYnVnTG9nRG9tYWluc0lu
QmF0Y2hlcyhjb25zdCBjaGFyKiBhY3Rpb24sIGMKICAgICBiYXRjaC5yZXNlcnZlSW5pdGlhbENh
cGFjaXR5KG1heE51bWJlck9mRG9tYWluc0luT25lTG9nU3RhdGVtZW50KTsKICAgICBhdXRvIGJh
dGNoTnVtYmVyID0gMTsKICAgICB1bnNpZ25lZCBudW1iZXJPZkJhdGNoZXMgPSBzdGQ6OmNlaWwo
ZG9tYWlucy5zaXplKCkgLyBzdGF0aWNfY2FzdDxmbG9hdD4obWF4TnVtYmVyT2ZEb21haW5zSW5P
bmVMb2dTdGF0ZW1lbnQpKTsKKyAgICBVTlVTRURfVkFSSUFCTEUobnVtYmVyT2ZCYXRjaGVzKTsK
IAogICAgIGZvciAoYXV0byYgZG9tYWluIDogZG9tYWlucykgewogICAgICAgICBpZiAoYmF0Y2gu
c2l6ZSgpID09IG1heE51bWJlck9mRG9tYWluc0luT25lTG9nU3RhdGVtZW50KSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCmluZGV4IDEyNmUw
MjU2NmM2YS4uYzBhNjY3MGQyOTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtQcm9jZXNzLmNwcApAQCAtMjIxMSw2ICsyMjExLDcgQEAgdm9pZCBOZXR3b3Jr
UHJvY2Vzczo6cHJlcGFyZVRvU3VzcGVuZChib29sIGlzU3VzcGVuc2lvbkltbWluZW50LCBDb21w
bGV0aW9uSGFuZGwKIAogICAgIFJlZlB0cjxDYWxsYmFja0FnZ3JlZ2F0b3I+IGNhbGxiYWNrQWdn
cmVnYXRvciA9IENhbGxiYWNrQWdncmVnYXRvcjo6Y3JlYXRlKFt0aGlzLCBjb21wbGV0aW9uSGFu
ZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSgpIG11dGFibGUgewogICAgICAgICBS
RUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gTmV0d29ya1Byb2Nlc3M6OnByZXBh
cmVUb1N1c3BlbmQoKSBQcm9jZXNzIGlzIHJlYWR5IHRvIHN1c3BlbmQiLCB0aGlzKTsKKyAgICAg
ICAgVU5VU0VEX1ZBUklBQkxFKHRoaXMpOwogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwog
ICAgIH0pOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5k
ZXggMjA2ZTUxYjYwNmZmLi43NDdhMWQxOGI3ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcApAQCAtODE0NCw2ICs4MTQ0LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6
OnJlcXVlc3RTdG9yYWdlU3BhY2UoRnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIGNvbnN0IFN0cmlu
ZyYgb3IKICAgICAgICAgdGhpcy0+bWFrZVN0b3JhZ2VTcGFjZVJlcXVlc3QoZnJhbWVJRCwgb3Jp
Z2luSWRlbnRpZmllciwgZGF0YWJhc2VOYW1lLCBkaXNwbGF5TmFtZSwgY3VycmVudFF1b3RhLCBj
dXJyZW50T3JpZ2luVXNhZ2UsIGN1cnJlbnREYXRhYmFzZVVzYWdlLCBleHBlY3RlZFVzYWdlLCBb
dGhpcywgcHJvdGVjdGVkVGhpcyA9IFdURk1vdmUocHJvdGVjdGVkVGhpcyksIGZyYW1lSUQsIHBh
Z2VVUkwgPSBXVEZNb3ZlKHBhZ2VVUkwpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29t
cGxldGlvbkhhbmRsZXIpLCBjdXJyZW50UXVvdGFdKGF1dG8gcXVvdGEpIG11dGFibGUgewogCiAg
ICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKFN0b3JhZ2UsICJyZXF1ZXN0U3RvcmFn
ZVNwYWNlIHJlc3BvbnNlIGZvciBmcmFtZSAlIiBQUkl1NjQgIiwgcXVvdGEgJSIgUFJJdTY0LCBm
cmFtZUlELnRvVUludDY0KCksIHF1b3RhKTsKKyAgICAgICAgICAgIFVOVVNFRF9WQVJJQUJMRShm
cmFtZUlEKTsKIAogICAgICAgICAgICAgaWYgKHF1b3RhIDw9IGN1cnJlbnRRdW90YSAmJiB0aGlz
LT5jdXJyZW50VVJMKCkgPT0gcGFnZVVSTCkgewogICAgICAgICAgICAgICAgIFJFTEVBU0VfTE9H
X0lGX0FMTE9XRUQoU3RvcmFnZSwgInN0b3JhZ2Ugc3BhY2UgaW5jcmVhc2UgZGVuaWVkIik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJh
dGVneS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJh
dGVneS5jcHAKaW5kZXggYmFiODYwZTU2NmYxLi40OTY4MTVhMjAxZGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAK
QEAgLTM0MCw5ICszNDAsOSBAQCB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWRG
cm9tTmV0d29ya1Byb2Nlc3MoUmVzb3VyY2VMb2FkZXImIHJlc291cmNlTAogICAgICAgICAgICAg
bG9hZFBhcmFtZXRlcnMuY3NwUmVzcG9uc2VIZWFkZXJzID0gY29udGVudFNlY3VyaXR5UG9saWN5
LT5yZXNwb25zZUhlYWRlcnMoKTsKICAgICB9CiAgICAgCisjaWYgRU5BQkxFKEFQUF9CT1VORF9E
T01BSU5TKSB8fCBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQogICAgIGF1dG8qIHdlYkZyYW1l
TG9hZGVyQ2xpZW50ID0gZnJhbWUgPyB0b1dlYkZyYW1lTG9hZGVyQ2xpZW50KGZyYW1lLT5sb2Fk
ZXIoKS5jbGllbnQoKSkgOiBudWxscHRyOwogICAgIGF1dG8qIHdlYkZyYW1lID0gd2ViRnJhbWVM
b2FkZXJDbGllbnQgPyAmd2ViRnJhbWVMb2FkZXJDbGllbnQtPndlYkZyYW1lKCkgOiBudWxscHRy
OwotICAgIGF1dG8qIHdlYlBhZ2UgPSB3ZWJGcmFtZSA/IHdlYkZyYW1lLT5wYWdlKCkgOiBudWxs
cHRyOwogCiAjaWYgRU5BQkxFKEFQUF9CT1VORF9ET01BSU5TKQogICAgIGlmICh3ZWJGcmFtZSkK
QEAgLTM1Myw5ICszNTMsMTAgQEAgdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVMb2Fk
RnJvbU5ldHdvcmtQcm9jZXNzKFJlc291cmNlTG9hZGVyJiByZXNvdXJjZUwKICAgICBpZiAoZG9j
dW1lbnQpIHsKICAgICAgICAgbG9hZFBhcmFtZXRlcnMubWFpbkRvY3VtZW50VVJMID0gZG9jdW1l
bnQtPnRvcERvY3VtZW50KCkudXJsKCk7CiAgICAgICAgIC8vIEZJWE1FOiBJbnN0ZWFkIG9mIHBh
c3NpbmcgdXNlckNvbnRlbnRDb250cm9sbGVySWRlbnRpZmllciwgdGhlIE5ldHdvcmtQcm9jZXNz
IHNob3VsZCBiZSBhYmxlIHRvIGdldCBpdCB1c2luZyB3ZWJQYWdlSWQuCi0gICAgICAgIGlmICh3
ZWJQYWdlKQorICAgICAgICBpZiAoYXV0byogd2ViUGFnZSA9IHdlYkZyYW1lID8gd2ViRnJhbWUt
PnBhZ2UoKSA6IG51bGxwdHIpCiAgICAgICAgICAgICBsb2FkUGFyYW1ldGVycy51c2VyQ29udGVu
dENvbnRyb2xsZXJJZGVudGlmaWVyID0gd2ViUGFnZS0+dXNlckNvbnRlbnRDb250cm9sbGVySWRl
bnRpZmllcigpOwogICAgIH0KKyNlbmRpZgogI2VuZGlmCiAKICAgICAvLyBGSVhNRTogQWxsIGxv
YWRlcnMgc2hvdWxkIHByb3ZpZGUgdGhlaXIgb3JpZ2luIGlmIG5hdmlnYXRpb24gbW9kZSBpcyBj
b3JzL25vLWNvcnMvc2FtZS1vcmlnaW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5j
cHAKaW5kZXggNTJjMWJlZmUzMTMzLi5mZTk5Yzc1ODAyNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbi5jcHAKQEAgLTE1Nyw2ICsxNTcsNyBAQCB2b2lkIFdlYlNXQ29udGV4dE1h
bmFnZXJDb25uZWN0aW9uOjppbnN0YWxsU2VydmljZVdvcmtlcihTZXJ2aWNlV29ya2VyQ29udGV4
dERhdAogICAgIFNXQ29udGV4dE1hbmFnZXI6OnNpbmdsZXRvbigpLnJlZ2lzdGVyU2VydmljZVdv
cmtlclRocmVhZEZvckluc3RhbGwoV1RGTW92ZShzZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkpKTsK
IAogICAgIFJFTEVBU0VfTE9HKFNlcnZpY2VXb3JrZXIsICJDcmVhdGVkIHNlcnZpY2Ugd29ya2Vy
ICUiIFBSSXU2NCAiIGluIHByb2Nlc3MgUElEICVpIiwgc2VydmljZVdvcmtlcklkZW50aWZpZXIu
dG9VSW50NjQoKSwgZ2V0Q3VycmVudFByb2Nlc3NJRCgpKTsKKyAgICBVTlVTRURfVkFSSUFCTEUo
c2VydmljZVdvcmtlcklkZW50aWZpZXIpOwogfQogCiB2b2lkIFdlYlNXQ29udGV4dE1hbmFnZXJD
b25uZWN0aW9uOjpzZXRVc2VyQWdlbnQoU3RyaW5nJiYgdXNlckFnZW50KQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViVVJMU2NoZW1lVGFza1Byb3h5LmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlVSTFNjaGVtZVRhc2tQcm94
eS5jcHAKaW5kZXggMzIwNGVkZmQyMzBjLi4yMjM3OWFhYTg3NDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlVSTFNjaGVtZVRhc2tQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViVVJMU2NoZW1lVGFza1Byb3h5
LmNwcApAQCAtNTIsNyArNTIsNyBAQAogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKIAotc3RhdGljIHVpbnQ2NF90IHBhZ2VJREZyb21XZWJGcmFtZShjb25zdCBS
ZWZQdHI8V2ViRnJhbWU+JiBmcmFtZSkKK3N0YXRpYyBVTlVTRURfRlVOQ1RJT04gdWludDY0X3Qg
cGFnZUlERnJvbVdlYkZyYW1lKGNvbnN0IFJlZlB0cjxXZWJGcmFtZT4mIGZyYW1lKQogewogICAg
IGlmIChmcmFtZSkgewogICAgICAgICBpZiAoYXV0byogcGFnZSA9IGZyYW1lLT5wYWdlKCkpCkBA
IC02MSw3ICs2MSw3IEBAIHN0YXRpYyB1aW50NjRfdCBwYWdlSURGcm9tV2ViRnJhbWUoY29uc3Qg
UmVmUHRyPFdlYkZyYW1lPiYgZnJhbWUpCiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB1aW50
NjRfdCBmcmFtZUlERnJvbVdlYkZyYW1lKGNvbnN0IFJlZlB0cjxXZWJGcmFtZT4mIGZyYW1lKQor
c3RhdGljIFVOVVNFRF9GVU5DVElPTiB1aW50NjRfdCBmcmFtZUlERnJvbVdlYkZyYW1lKGNvbnN0
IFJlZlB0cjxXZWJGcmFtZT4mIGZyYW1lKQogewogICAgIGlmIChmcmFtZSkKICAgICAgICAgcmV0
dXJuIGZyYW1lLT5mcmFtZUlEKCkudG9VSW50NjQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmNwcAppbmRleCAxYzY0ZWZiYmEzODkuLjc5OGQyYjgxMjU0NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMTQ2Niw2ICsxNDY2LDcgQEAgdm9p
ZCBXZWJQcm9jZXNzOjpwcmVwYXJlVG9TdXNwZW5kKGJvb2wgaXNTdXNwZW5zaW9uSW1taW5lbnQs
IENvbXBsZXRpb25IYW5kbGVyPHYKIAogICAgIG1hcmtBbGxMYXllcnNWb2xhdGlsZShbdGhpcywg
Y29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oKSBtdXRhYmxl
IHsKICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzU3VzcGVuc2lvbiwgInBy
ZXBhcmVUb1N1c3BlbmQ6IFByb2Nlc3MgaXMgcmVhZHkgdG8gc3VzcGVuZCIpOworICAgICAgICBV
TlVTRURfVkFSSUFCTEUodGhpcyk7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAg
fSk7CiB9CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9wbGF5c3RhdGlvbi9tYWluLmNw
cCBiL1Rvb2xzL01pbmlCcm93c2VyL3BsYXlzdGF0aW9uL21haW4uY3BwCmluZGV4IDI5ZjQ1YjAy
MTIwNi4uNTM2MDdmNjhkMGNhIDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9wbGF5c3Rh
dGlvbi9tYWluLmNwcAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci9wbGF5c3RhdGlvbi9tYWluLmNw
cApAQCAtNzEsNyArNzEsNyBAQCBwcml2YXRlOgogICAgIH0KIH07CiAKLWludCBtYWluKGludCBh
cmdjLCBjaGFyICphcmd2W10pCitpbnQgbWFpbihpbnQsIGNoYXIgKltdKQogewogICAgIFdLUnVu
TG9vcEluaXRpYWxpemVNYWluKCk7CiANCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426494</attachid>
            <date>2021-04-19 16:40:29 -0700</date>
            <delta_ts>2021-04-19 16:51:19 -0700</delta_ts>
            <desc>PATCH</desc>
            <filename>test.diff</filename>
            <type>text/plain</type>
            <size>14324</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0NoZWNrZWRBcml0aG1ldGljLmggYi9Tb3VyY2Uv
V1RGL3d0Zi9DaGVja2VkQXJpdGhtZXRpYy5oCmluZGV4IDc0MGJlNDY2MDhiOC4uMWZjODQyZGJl
NGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9DaGVja2VkQXJpdGhtZXRpYy5oCisrKyBi
L1NvdXJjZS9XVEYvd3RmL0NoZWNrZWRBcml0aG1ldGljLmgKQEAgLTgxNyw3ICs4MTcsNyBAQCBw
dWJsaWM6CiAKICAgICBjb25zdCBDaGVja2VkIG9wZXJhdG9yKj0oZG91YmxlIHJocykKICAgICB7
Ci0gICAgICAgIGRvdWJsZSByZXN1bHQgPSByaHMgKiBtX3ZhbHVlOworICAgICAgICBsb25nIGRv
dWJsZSByZXN1bHQgPSByaHMgKiBtX3ZhbHVlOwogICAgICAgICAvLyBIYW5kbGUgKy8tIGluZmlu
aXR5IGFuZCBOYU4KICAgICAgICAgaWYgKCEoc3RkOjpudW1lcmljX2xpbWl0czxUPjo6bWluKCkg
PD0gcmVzdWx0ICYmIHN0ZDo6bnVtZXJpY19saW1pdHM8VD46Om1heCgpID49IHJlc3VsdCkpCiAg
ICAgICAgICAgICB0aGlzLT5vdmVyZmxvd2VkKCk7CkBAIC04MzEsNyArODMxLDcgQEAgcHVibGlj
OgogICAgICAgICAgICAgdGhpcy0+b3ZlcmZsb3dlZCgpOwogICAgICAgICAgICAgcmV0dXJuICp0
aGlzOwogICAgICAgICB9Ci0gICAgICAgIGRvdWJsZSByZXN1bHQgPSBtX3ZhbHVlIC8gcmhzOwor
ICAgICAgICBsb25nIGRvdWJsZSByZXN1bHQgPSBtX3ZhbHVlIC8gcmhzOwogICAgICAgICAvLyBI
YW5kbGUgKy8tIGluZmluaXR5IGFuZCBOYU4KICAgICAgICAgaWYgKCEoc3RkOjpudW1lcmljX2xp
bWl0czxUPjo6bWluKCkgPD0gcmVzdWx0ICYmIHN0ZDo6bnVtZXJpY19saW1pdHM8VD46Om1heCgp
ID49IHJlc3VsdCkpCiAgICAgICAgICAgICB0aGlzLT5vdmVyZmxvd2VkKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggMjhiMmFjMjNkNTg2Li5lN2NhZjc4YzEzYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBA
QAorMjAyMS0wNC0xOSAgQmFzdWtlIFN1enVraSAgPGJhc3VrZS5zdXp1a2lAc29ueS5jb20+CisK
KyAgICAgICAgUmVtb3ZlIHdhcm5pbmdzIHdoZW4gUkVMRUFTRV9MT0cgaXMgZGlzYWJsZWQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3ODcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBVTlVT
RURfVkFSSUFCTEUgb3IgdGhlIHZhcmlhdGlvbiBvZiB0aGF0IGZvciB0aGUgdmFyaWFibGVzIHVz
ZWQgYnkgUkVMRUFTRV9MT0cuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgaXQganVz
dCBzdXBwcmVzcyB3YXJuaW5ncy4KKworICAgICAgICAqIGxvYWRlci9TdWJyZXNvdXJjZUxvYWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1
ZXN0SW50ZXJuYWwpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VMb2dnaW5nLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlTG9nZ2luZzo6ZGlkUmVhY2hQb2ludE9mSW50ZXJl
c3QpOgorCiAyMDIxLTA0LTE2ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgog
CiAgICAgICAgIFBlcmZvcm0gcG9ydCBibG9ja2luZyBlYXJsaWVyIGluIHRoZSBsb2FkCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcAppbmRleCBlZjg1NjgwZDlj
NzAuLjc4MTBhMDdkZjAxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJl
c291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VM
b2FkZXIuY3BwCkBAIC0zMDgsNiArMzA4LDcgQEAgdm9pZCBTdWJyZXNvdXJjZUxvYWRlcjo6d2ls
bFNlbmRSZXF1ZXN0SW50ZXJuYWwoUmVzb3VyY2VSZXF1ZXN0JiYgbmV3UmVxdWVzdCwgY28KICAg
ICAgICAgbV9sb2FkVGltaW5nLmFkZFJlZGlyZWN0KHJlZGlyZWN0UmVzcG9uc2UudXJsKCksIG5l
d1JlcXVlc3QudXJsKCkpOwogICAgICAgICBtX3Jlc291cmNlLT5yZWRpcmVjdFJlY2VpdmVkKFdU
Rk1vdmUobmV3UmVxdWVzdCksIHJlZGlyZWN0UmVzcG9uc2UsIFt0aGlzLCBwcm90ZWN0ZWRUaGlz
ID0gV1RGTW92ZShwcm90ZWN0ZWRUaGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKSwgY29udGludWVXaWxsU2VuZFJlcXVlc3QgPSBXVEZNb3ZlKGNvbnRp
bnVlV2lsbFNlbmRSZXF1ZXN0KV0gKFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QpIG11dGFibGUg
ewogICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgid2lsbFNlbmRSZXF1ZXN0SW50
ZXJuYWw6IHJlc291cmNlIGRvbmUgbm90aWZ5aW5nIGNsaWVudHMiKTsKKyAgICAgICAgICAgIFVO
VVNFRF9WQVJJQUJMRSh0aGlzKTsKICAgICAgICAgICAgIGNvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0
KFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBXVEZNb3ZlKHJlcXVlc3QpKTsKICAgICAgICAg
fSk7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZUNvbnNvbGVDbGllbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZUNsaWVu
dC5jcHAKaW5kZXggOGUyMzZhMDg0MDU5Li42NjYwZGJlMDM5YjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZUNvbnNvbGVDbGllbnQuY3BwCkBAIC0yODksNiArMjg5LDggQEAgc3RhdGljIE9w
dGlvbmFsPFN0cmluZz4gc25hcHNob3RDYW52YXMoSFRNTENhbnZhc0VsZW1lbnQmIGNhbnZhc0Vs
ZW1lbnQsIENhbnZhc1IKICNpZiBFTkFCTEUoV0VCR0wpCiAgICAgaWYgKGlzPFdlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2U+KGNhbnZhc1JlbmRlcmluZ0NvbnRleHQpKQogICAgICAgICBkb3duY2Fz
dDxXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlPihjYW52YXNSZW5kZXJpbmdDb250ZXh0KS5zZXRQ
cmV2ZW50QnVmZmVyQ2xlYXJGb3JJbnNwZWN0b3IodHJ1ZSk7CisjZWxzZQorICAgIFVOVVNFRF9Q
QVJBTShjYW52YXNSZW5kZXJpbmdDb250ZXh0KTsKICNlbmRpZgogCiAgICAgYXV0byByZXN1bHQg
PSBjYW52YXNFbGVtZW50LnRvRGF0YVVSTCgiaW1hZ2UvcG5nIl9zKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VMb2dnaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VMb2dnaW5nLmNwcAppbmRleCBjMWM4ZDFhMmI5OWEuLmM2ODQ5NDVh
ODBlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUxvZ2dpbmcu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VMb2dnaW5nLmNwcApAQCAt
OTIsNiArOTIsNyBAQCB2b2lkIFBlcmZvcm1hbmNlTG9nZ2luZzo6ZGlkUmVhY2hQb2ludE9mSW50
ZXJlc3QoUG9pbnRPZkludGVyZXN0IHBvaSkKIHsKICNpZiBSRUxFQVNFX0xPR19ESVNBQkxFRAog
ICAgIFVOVVNFRF9QQVJBTShwb2kpOworICAgIFVOVVNFRF9WQVJJQUJMRShtX3BhZ2UpOwogI2Vs
c2UKICAgICAvLyBJZ25vcmUgc3ludGhldGljIG1haW4gZnJhbWVzIHVzZWQgaW50ZXJuYWxseSBi
eSBTVkcgYW5kIHdlYiBpbnNwZWN0b3IuCiAgICAgaWYgKG1fcGFnZS5tYWluRnJhbWUoKS5sb2Fk
ZXIoKS5jbGllbnQoKS5pc0VtcHR5RnJhbWVMb2FkZXJDbGllbnQoKSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRDYWNoZUZyZWVUeXBl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRDYWNo
ZUZyZWVUeXBlLmNwcAppbmRleCBmZDcxZmEwNzkyZGIuLmVhMzUwODY3YjJlOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9udENhY2hlRnJl
ZVR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBl
L0ZvbnRDYWNoZUZyZWVUeXBlLmNwcApAQCAtMjQ2LDYgKzI0Niw4IEBAIFJlZlB0cjxGb250PiBG
b250Q2FjaGU6OnN5c3RlbUZhbGxiYWNrRm9yQ2hhcmFjdGVycyhjb25zdCBGb250RGVzY3JpcHRp
b24mIGRlc2NyCiAjaWZkZWYgRkNfQ09MT1IKICAgICAgICAgaWYgKHByZWZlckNvbG9yZWRGb250
ID09IFByZWZlckNvbG9yZWRGb250OjpZZXMpCiAgICAgICAgICAgICBGY1BhdHRlcm5BZGRCb29s
KHBhdHRlcm4uZ2V0KCksIEZDX0NPTE9SLCBGY1RydWUpOworI2Vsc2UKKyAgICAgICAgVU5VU0VE
X1ZBUklBQkxFKHByZWZlckNvbG9yZWRGb250KTsKICNlbmRpZgogICAgICAgICBpZiAoIWNvbmZp
Z3VyZVBhdHRlcm5Gb3JGb250RGVzY3JpcHRpb24ocGF0dGVybi5nZXQoKSwgZGVzY3JpcHRpb24p
KQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9qcGVnL0pQRUdJbWFnZURlY29kZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvanBlZy9KUEVHSW1hZ2VEZWNvZGVy
LmNwcAppbmRleCBhNjdmYWM1MGUzYjguLjZkMzkxNTA3MTA4YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvanBlZy9KUEVHSW1hZ2VEZWNvZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9qcGVnL0pQRUdJ
bWFnZURlY29kZXIuY3BwCkBAIC03OCw4ICs3OCwxMSBAQCBpbmxpbmUgYm9vbCBkb0ZhbmN5VXBz
YW1wbGluZygpIHsgcmV0dXJuIHRydWU7IH0KICNlbmRpZgogCiBzdGF0aWMgY29uc3QgaW50IGV4
aWZNYXJrZXIgPSBKUEVHX0FQUDAgKyAxOworCisjaWYgVVNFKExDTVMpCiBzdGF0aWMgY29uc3Qg
aW50IGljY01hcmtlciA9IEpQRUdfQVBQMCArIDI7CiBzdGF0aWMgY29uc3QgdW5zaWduZWQgaWNj
SGVhZGVyU2l6ZSA9IDE0OworI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAppbmRleCAzNmMxOTFkMDVh
MjguLmFhMjIzMzc2ZjU3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrRmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrRmxvdy5jcHAKQEAgLTE3ODIsOCArMTc4Miw4IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93Ojph
ZGp1c3RMaW5lUG9zaXRpb25Gb3JQYWdpbmF0aW9uKFJvb3RJbmxpbmVCb3gqIGxpbmVCb3gsIExh
CiAgICAgICAgIC8vIHRvcCBvZiB0aGUgcGFnZS4KICAgICAgICAgLy8gRklYTUU6IFdlIGFyZSBz
dGlsbCBob25vcmluZyBnaWdhbnRpYyBtYXJnaW5zLCB3aGljaCBkb2VzIGxlYXZlIG9wZW4gdGhl
IHBvc3NpYmlsaXR5IG9mIGJsYW5rIHBhZ2VzIGNhdXNlZCBieSB0aGlzIGhldXJpc3RpYy4gSXQg
cmVtYWlucyB0byBiZSBzZWVuIHdoZXRoZXIgb3Igbm90CiAgICAgICAgIC8vIHRoaXMgd2lsbCBi
ZSBhIHJlYWwtd29ybGQgaXNzdWUuIEZvciBub3cgd2UgZG9uJ3QgdHJ5IHRvIGRlYWwgd2l0aCB0
aGlzIHByb2JsZW0uCi0gICAgICAgIGxvZ2ljYWxPZmZzZXQgPSBpbnRNYXhGb3JMYXlvdXRVbml0
OwotICAgICAgICBsb2dpY2FsQm90dG9tID0gaW50TWluRm9yTGF5b3V0VW5pdDsKKyAgICAgICAg
bG9naWNhbE9mZnNldCA9IHN0YXRpY19jYXN0PGZsb2F0PihpbnRNYXhGb3JMYXlvdXRVbml0KTsK
KyAgICAgICAgbG9naWNhbEJvdHRvbSA9IHN0YXRpY19jYXN0PGZsb2F0PihpbnRNaW5Gb3JMYXlv
dXRVbml0KTsKICAgICAgICAgbGluZUJveC0+Y29tcHV0ZVJlcGxhY2VkQW5kVGV4dExpbmVUb3BB
bmRCb3R0b20obG9naWNhbE9mZnNldCwgbG9naWNhbEJvdHRvbSk7CiAgICAgICAgIGxpbmVIZWln
aHQgPSBsb2dpY2FsQm90dG9tIC0gbG9naWNhbE9mZnNldDsKICAgICAgICAgaWYgKGxvZ2ljYWxP
ZmZzZXQgPT0gaW50TWF4Rm9yTGF5b3V0VW5pdCB8fCBsaW5lSGVpZ2h0ID4gcGFnZUxvZ2ljYWxI
ZWlnaHQpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKaW5kZXggMTRhZDk5NTk0OTU0Li5jNzU2NDI2Y2YzZWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjYgQEAKKzIwMjEtMDQtMTkgIEJhc3VrZSBTdXp1a2kgIDxiYXN1a2Uuc3V6
dWtpQHNvbnkuY29tPgorCisgICAgICAgIFJlbW92ZSB3YXJuaW5ncyB3aGVuIFJFTEVBU0VfTE9H
IGlzIGRpc2FibGVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI0Nzg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkZWQgVU5VU0VEX1ZBUklBQkxFIG9yIHRoZSB2YXJpYXRpb24gb2YgdGhhdCBmb3Ig
dGhlIHZhcmlhYmxlcyB1c2VkIGJ5IFJFTEVBU0VfTE9HLgorCisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmRlYnVnTG9nRG9tYWluc0lu
QmF0Y2hlcyk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6cHJlcGFyZVRvU3VzcGVuZCk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2VQcm94eTo6cmVxdWVzdFN0b3JhZ2VTcGFjZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246Omluc3RhbGxTZXJ2aWNlV29ya2VyKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViVVJMU2NoZW1lVGFza1Byb3h5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6cGFnZUlERnJvbVdlYkZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6ZnJh
bWVJREZyb21XZWJGcmFtZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cHJlcGFyZVRvU3VzcGVuZCk6CisKIDIwMjEt
MDQtMTYgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRGVwbG95
IFJlZi9SZWZQdHIgaW4gRWRpdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNz
U3RvcmUuY3BwCmluZGV4IGEzZDcwOTAyNWMzMS4uMzQyOTcxMDM1YWU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZp
ZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcApAQCAtNTM3LDYgKzUzNyw3IEBAIHZv
aWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpkZWJ1Z0xvZ0RvbWFpbnNJbkJhdGNoZXMo
Y29uc3QgY2hhciogYWN0aW9uLCBjCiAgICAgYmF0Y2gucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eSht
YXhOdW1iZXJPZkRvbWFpbnNJbk9uZUxvZ1N0YXRlbWVudCk7CiAgICAgYXV0byBiYXRjaE51bWJl
ciA9IDE7CiAgICAgdW5zaWduZWQgbnVtYmVyT2ZCYXRjaGVzID0gc3RkOjpjZWlsKGRvbWFpbnMu
c2l6ZSgpIC8gc3RhdGljX2Nhc3Q8ZmxvYXQ+KG1heE51bWJlck9mRG9tYWluc0luT25lTG9nU3Rh
dGVtZW50KSk7CisgICAgVU5VU0VEX1ZBUklBQkxFKG51bWJlck9mQmF0Y2hlcyk7CiAKICAgICBm
b3IgKGF1dG8mIGRvbWFpbiA6IGRvbWFpbnMpIHsKICAgICAgICAgaWYgKGJhdGNoLnNpemUoKSA9
PSBtYXhOdW1iZXJPZkRvbWFpbnNJbk9uZUxvZ1N0YXRlbWVudCkgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAppbmRleCAxMjZlMDI1NjZjNmEu
LmMwYTY2NzBkMjk4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzcy5jcHAKQEAgLTIyMTEsNiArMjIxMSw3IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6
OnByZXBhcmVUb1N1c3BlbmQoYm9vbCBpc1N1c3BlbnNpb25JbW1pbmVudCwgQ29tcGxldGlvbkhh
bmRsCiAKICAgICBSZWZQdHI8Q2FsbGJhY2tBZ2dyZWdhdG9yPiBjYWxsYmFja0FnZ3JlZ2F0b3Ig
PSBDYWxsYmFja0FnZ3JlZ2F0b3I6OmNyZWF0ZShbdGhpcywgY29tcGxldGlvbkhhbmRsZXIgPSBX
VEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oKSBtdXRhYmxlIHsKICAgICAgICAgUkVMRUFTRV9M
T0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIE5ldHdvcmtQcm9jZXNzOjpwcmVwYXJlVG9TdXNw
ZW5kKCkgUHJvY2VzcyBpcyByZWFkeSB0byBzdXNwZW5kIiwgdGhpcyk7CisgICAgICAgIFVOVVNF
RF9WQVJJQUJMRSh0aGlzKTsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKICAgICB9KTsK
ICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDIwNmU1
MWI2MDZmZi4uNzQ3YTFkMThiN2Y5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKQEAgLTgxNDQsNiArODE0NCw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0
U3RvcmFnZVNwYWNlKEZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBjb25zdCBTdHJpbmcmIG9yCiAg
ICAgICAgIHRoaXMtPm1ha2VTdG9yYWdlU3BhY2VSZXF1ZXN0KGZyYW1lSUQsIG9yaWdpbklkZW50
aWZpZXIsIGRhdGFiYXNlTmFtZSwgZGlzcGxheU5hbWUsIGN1cnJlbnRRdW90YSwgY3VycmVudE9y
aWdpblVzYWdlLCBjdXJyZW50RGF0YWJhc2VVc2FnZSwgZXhwZWN0ZWRVc2FnZSwgW3RoaXMsIHBy
b3RlY3RlZFRoaXMgPSBXVEZNb3ZlKHByb3RlY3RlZFRoaXMpLCBmcmFtZUlELCBwYWdlVVJMID0g
V1RGTW92ZShwYWdlVVJMKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25I
YW5kbGVyKSwgY3VycmVudFF1b3RhXShhdXRvIHF1b3RhKSBtdXRhYmxlIHsKIAogICAgICAgICAg
ICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChTdG9yYWdlLCAicmVxdWVzdFN0b3JhZ2VTcGFjZSBy
ZXNwb25zZSBmb3IgZnJhbWUgJSIgUFJJdTY0ICIsIHF1b3RhICUiIFBSSXU2NCwgZnJhbWVJRC50
b1VJbnQ2NCgpLCBxdW90YSk7CisgICAgICAgICAgICBVTlVTRURfVkFSSUFCTEUoZnJhbWVJRCk7
CiAKICAgICAgICAgICAgIGlmIChxdW90YSA8PSBjdXJyZW50UXVvdGEgJiYgdGhpcy0+Y3VycmVu
dFVSTCgpID09IHBhZ2VVUkwpIHsKICAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExP
V0VEKFN0b3JhZ2UsICJzdG9yYWdlIHNwYWNlIGluY3JlYXNlIGRlbmllZCIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3Bw
CmluZGV4IGJhYjg2MGU1NjZmMS4uNDk2ODE1YTIwMWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCkBAIC0zNDAs
OSArMzQwLDkgQEAgdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVMb2FkRnJvbU5ldHdv
cmtQcm9jZXNzKFJlc291cmNlTG9hZGVyJiByZXNvdXJjZUwKICAgICAgICAgICAgIGxvYWRQYXJh
bWV0ZXJzLmNzcFJlc3BvbnNlSGVhZGVycyA9IGNvbnRlbnRTZWN1cml0eVBvbGljeS0+cmVzcG9u
c2VIZWFkZXJzKCk7CiAgICAgfQogICAgIAorI2lmIEVOQUJMRShBUFBfQk9VTkRfRE9NQUlOUykg
fHwgRU5BQkxFKENPTlRFTlRfRVhURU5TSU9OUykKICAgICBhdXRvKiB3ZWJGcmFtZUxvYWRlckNs
aWVudCA9IGZyYW1lID8gdG9XZWJGcmFtZUxvYWRlckNsaWVudChmcmFtZS0+bG9hZGVyKCkuY2xp
ZW50KCkpIDogbnVsbHB0cjsKICAgICBhdXRvKiB3ZWJGcmFtZSA9IHdlYkZyYW1lTG9hZGVyQ2xp
ZW50ID8gJndlYkZyYW1lTG9hZGVyQ2xpZW50LT53ZWJGcmFtZSgpIDogbnVsbHB0cjsKLSAgICBh
dXRvKiB3ZWJQYWdlID0gd2ViRnJhbWUgPyB3ZWJGcmFtZS0+cGFnZSgpIDogbnVsbHB0cjsKIAog
I2lmIEVOQUJMRShBUFBfQk9VTkRfRE9NQUlOUykKICAgICBpZiAod2ViRnJhbWUpCkBAIC0zNTMs
OSArMzUzLDEwIEBAIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9hZEZyb21OZXR3
b3JrUHJvY2VzcyhSZXNvdXJjZUxvYWRlciYgcmVzb3VyY2VMCiAgICAgaWYgKGRvY3VtZW50KSB7
CiAgICAgICAgIGxvYWRQYXJhbWV0ZXJzLm1haW5Eb2N1bWVudFVSTCA9IGRvY3VtZW50LT50b3BE
b2N1bWVudCgpLnVybCgpOwogICAgICAgICAvLyBGSVhNRTogSW5zdGVhZCBvZiBwYXNzaW5nIHVz
ZXJDb250ZW50Q29udHJvbGxlcklkZW50aWZpZXIsIHRoZSBOZXR3b3JrUHJvY2VzcyBzaG91bGQg
YmUgYWJsZSB0byBnZXQgaXQgdXNpbmcgd2ViUGFnZUlkLgotICAgICAgICBpZiAod2ViUGFnZSkK
KyAgICAgICAgaWYgKGF1dG8qIHdlYlBhZ2UgPSB3ZWJGcmFtZSA/IHdlYkZyYW1lLT5wYWdlKCkg
OiBudWxscHRyKQogICAgICAgICAgICAgbG9hZFBhcmFtZXRlcnMudXNlckNvbnRlbnRDb250cm9s
bGVySWRlbnRpZmllciA9IHdlYlBhZ2UtPnVzZXJDb250ZW50Q29udHJvbGxlcklkZW50aWZpZXIo
KTsKICAgICB9CisjZW5kaWYKICNlbmRpZgogCiAgICAgLy8gRklYTUU6IEFsbCBsb2FkZXJzIHNo
b3VsZCBwcm92aWRlIHRoZWlyIG9yaWdpbiBpZiBuYXZpZ2F0aW9uIG1vZGUgaXMgY29ycy9uby1j
b3JzL3NhbWUtb3JpZ2luLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0
b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCmluZGV4
IDUyYzFiZWZlMzEzMy4uZmU5OWM3NTgwMjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5l
Y3Rpb24uY3BwCkBAIC0xNTcsNiArMTU3LDcgQEAgdm9pZCBXZWJTV0NvbnRleHRNYW5hZ2VyQ29u
bmVjdGlvbjo6aW5zdGFsbFNlcnZpY2VXb3JrZXIoU2VydmljZVdvcmtlckNvbnRleHREYXQKICAg
ICBTV0NvbnRleHRNYW5hZ2VyOjpzaW5nbGV0b24oKS5yZWdpc3RlclNlcnZpY2VXb3JrZXJUaHJl
YWRGb3JJbnN0YWxsKFdURk1vdmUoc2VydmljZVdvcmtlclRocmVhZFByb3h5KSk7CiAKICAgICBS
RUxFQVNFX0xPRyhTZXJ2aWNlV29ya2VyLCAiQ3JlYXRlZCBzZXJ2aWNlIHdvcmtlciAlIiBQUkl1
NjQgIiBpbiBwcm9jZXNzIFBJRCAlaSIsIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLnRvVUludDY0
KCksIGdldEN1cnJlbnRQcm9jZXNzSUQoKSk7CisgICAgVU5VU0VEX1ZBUklBQkxFKHNlcnZpY2VX
b3JrZXJJZGVudGlmaWVyKTsKIH0KIAogdm9pZCBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlv
bjo6c2V0VXNlckFnZW50KFN0cmluZyYmIHVzZXJBZ2VudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlVSTFNjaGVtZVRhc2tQcm94eS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJVUkxTY2hlbWVUYXNrUHJveHkuY3BwCmlu
ZGV4IDMyMDRlZGZkMjMwYy4uMjIzNzlhYWE4NzQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJVUkxTY2hlbWVUYXNrUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlVSTFNjaGVtZVRhc2tQcm94eS5jcHAKQEAg
LTUyLDcgKzUyLDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CiAKLXN0YXRpYyB1aW50NjRfdCBwYWdlSURGcm9tV2ViRnJhbWUoY29uc3QgUmVmUHRyPFdl
YkZyYW1lPiYgZnJhbWUpCitzdGF0aWMgVU5VU0VEX0ZVTkNUSU9OIHVpbnQ2NF90IHBhZ2VJREZy
b21XZWJGcmFtZShjb25zdCBSZWZQdHI8V2ViRnJhbWU+JiBmcmFtZSkKIHsKICAgICBpZiAoZnJh
bWUpIHsKICAgICAgICAgaWYgKGF1dG8qIHBhZ2UgPSBmcmFtZS0+cGFnZSgpKQpAQCAtNjEsNyAr
NjEsNyBAQCBzdGF0aWMgdWludDY0X3QgcGFnZUlERnJvbVdlYkZyYW1lKGNvbnN0IFJlZlB0cjxX
ZWJGcmFtZT4mIGZyYW1lKQogICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgdWludDY0X3QgZnJh
bWVJREZyb21XZWJGcmFtZShjb25zdCBSZWZQdHI8V2ViRnJhbWU+JiBmcmFtZSkKK3N0YXRpYyBV
TlVTRURfRlVOQ1RJT04gdWludDY0X3QgZnJhbWVJREZyb21XZWJGcmFtZShjb25zdCBSZWZQdHI8
V2ViRnJhbWU+JiBmcmFtZSkKIHsKICAgICBpZiAoZnJhbWUpCiAgICAgICAgIHJldHVybiBmcmFt
ZS0+ZnJhbWVJRCgpLnRvVUludDY0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAKaW5kZXggMWM2NGVmYmJhMzg5Li43OThkMmI4MTI1NDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTE0NjYsNiArMTQ2Niw3IEBAIHZvaWQgV2ViUHJv
Y2Vzczo6cHJlcGFyZVRvU3VzcGVuZChib29sIGlzU3VzcGVuc2lvbkltbWluZW50LCBDb21wbGV0
aW9uSGFuZGxlcjx2CiAKICAgICBtYXJrQWxsTGF5ZXJzVm9sYXRpbGUoW3RoaXMsIGNvbXBsZXRp
b25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJsZSB7CiAgICAg
ICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNpb24sICJwcmVwYXJlVG9T
dXNwZW5kOiBQcm9jZXNzIGlzIHJlYWR5IHRvIHN1c3BlbmQiKTsKKyAgICAgICAgVU5VU0VEX1ZB
UklBQkxFKHRoaXMpOwogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwogICAgIH0pOwogfQpk
aWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvcGxheXN0YXRpb24vbWFpbi5jcHAgYi9Ub29s
cy9NaW5pQnJvd3Nlci9wbGF5c3RhdGlvbi9tYWluLmNwcAppbmRleCAyOWY0NWIwMjEyMDYuLjUz
NjA3ZjY4ZDBjYSAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvcGxheXN0YXRpb24vbWFp
bi5jcHAKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvcGxheXN0YXRpb24vbWFpbi5jcHAKQEAgLTcx
LDcgKzcxLDcgQEAgcHJpdmF0ZToKICAgICB9CiB9OwogCi1pbnQgbWFpbihpbnQgYXJnYywgY2hh
ciAqYXJndltdKQoraW50IG1haW4oaW50LCBjaGFyICpbXSkKIHsKICAgICBXS1J1bkxvb3BJbml0
aWFsaXplTWFpbigpOwogDQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426495</attachid>
            <date>2021-04-19 16:51:19 -0700</date>
            <delta_ts>2021-04-19 18:32:25 -0700</delta_ts>
            <desc>PATCH</desc>
            <filename>test.diff</filename>
            <type>text/plain</type>
            <size>12460</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkNjY5ZTdhMDJiZGQuLmUwMDkxYmIwZTgyMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI0IEBACisyMDIxLTA0LTE5ICBCYXN1a2UgU3V6dWtpICA8YmFzdWtlLnN1enVraUBz
b255LmNvbT4KKworICAgICAgICBSZW1vdmUgVU5VU0VEIHdhcm5pbmdzIGJhc2VkIG9uIHRoZSBj
b25maWd1cmF0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI0Nzg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkZWQgVU5VU0VEX1ZBUklBQkxFIG9yIGl0cyB2YXJpYW50IHRvIHN1cHByZXNzIHdh
cm5pbmdzIGJhc2VkIG9uIHRoZSBjb25maWd1cmF0aW9uLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cyBiZWNhdXNlIGl0IGp1c3QgZm9yIHN1cHByZXNzaW9uIG9mIHRoZSB3YXJuaW5ncy4KKworICAg
ICAgICAqIGxvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
dWJyZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0SW50ZXJuYWwpOgorICAgICAgICAqIHBh
Z2UvUGFnZUNvbnNvbGVDbGllbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c25hcHNob3RDYW52
YXMpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VMb2dnaW5nLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBlcmZvcm1hbmNlTG9nZ2luZzo6ZGlkUmVhY2hQb2ludE9mSW50ZXJlc3QpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRDYWNoZUZyZWVUeXBlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYWNoZTo6c3lzdGVtRmFsbGJhY2tGb3JDaGFyYWN0ZXJz
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9qcGVnL0pQRUdJbWFnZURlY29k
ZXIuY3BwOgorCiAyMDIxLTA0LTE5ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJlbmFtZSBGbG9hdFF1YWQ6OmlzRW1wdHkoKSB0byBib3VuZGluZ0Jv
eElzRW1wdHkoKSBhbmQgcmVpbXBsZW1lbnQgaXNFbXB0eSgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcAppbmRleCBlZjg1NjgwZDljNzAuLjc4MTBhMDdkZjAx
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0z
MDgsNiArMzA4LDcgQEAgdm9pZCBTdWJyZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0SW50
ZXJuYWwoUmVzb3VyY2VSZXF1ZXN0JiYgbmV3UmVxdWVzdCwgY28KICAgICAgICAgbV9sb2FkVGlt
aW5nLmFkZFJlZGlyZWN0KHJlZGlyZWN0UmVzcG9uc2UudXJsKCksIG5ld1JlcXVlc3QudXJsKCkp
OwogICAgICAgICBtX3Jlc291cmNlLT5yZWRpcmVjdFJlY2VpdmVkKFdURk1vdmUobmV3UmVxdWVz
dCksIHJlZGlyZWN0UmVzcG9uc2UsIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gV1RGTW92ZShwcm90
ZWN0ZWRUaGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KSwgY29udGludWVXaWxsU2VuZFJlcXVlc3QgPSBXVEZNb3ZlKGNvbnRpbnVlV2lsbFNlbmRSZXF1
ZXN0KV0gKFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QpIG11dGFibGUgewogICAgICAgICAgICAg
UkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgid2lsbFNlbmRSZXF1ZXN0SW50ZXJuYWw6IHJlc291cmNl
IGRvbmUgbm90aWZ5aW5nIGNsaWVudHMiKTsKKyAgICAgICAgICAgIFVOVVNFRF9WQVJJQUJMRSh0
aGlzKTsKICAgICAgICAgICAgIGNvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0KFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpLCBXVEZNb3ZlKHJlcXVlc3QpKTsKICAgICAgICAgfSk7CiAgICAgICAgIHJl
dHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGVDbGllbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZUNsaWVudC5jcHAKaW5kZXggOGUy
MzZhMDg0MDU5Li42NjYwZGJlMDM5YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZUNvbnNvbGVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNv
bGVDbGllbnQuY3BwCkBAIC0yODksNiArMjg5LDggQEAgc3RhdGljIE9wdGlvbmFsPFN0cmluZz4g
c25hcHNob3RDYW52YXMoSFRNTENhbnZhc0VsZW1lbnQmIGNhbnZhc0VsZW1lbnQsIENhbnZhc1IK
ICNpZiBFTkFCTEUoV0VCR0wpCiAgICAgaWYgKGlzPFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U+
KGNhbnZhc1JlbmRlcmluZ0NvbnRleHQpKQogICAgICAgICBkb3duY2FzdDxXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlPihjYW52YXNSZW5kZXJpbmdDb250ZXh0KS5zZXRQcmV2ZW50QnVmZmVyQ2xl
YXJGb3JJbnNwZWN0b3IodHJ1ZSk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShjYW52YXNSZW5k
ZXJpbmdDb250ZXh0KTsKICNlbmRpZgogCiAgICAgYXV0byByZXN1bHQgPSBjYW52YXNFbGVtZW50
LnRvRGF0YVVSTCgiaW1hZ2UvcG5nIl9zKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VMb2dnaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VMb2dnaW5nLmNwcAppbmRleCBjMWM4ZDFhMmI5OWEuLmM2ODQ5NDVhODBlMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUxvZ2dpbmcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VMb2dnaW5nLmNwcApAQCAtOTIsNiArOTIsNyBAQCB2
b2lkIFBlcmZvcm1hbmNlTG9nZ2luZzo6ZGlkUmVhY2hQb2ludE9mSW50ZXJlc3QoUG9pbnRPZklu
dGVyZXN0IHBvaSkKIHsKICNpZiBSRUxFQVNFX0xPR19ESVNBQkxFRAogICAgIFVOVVNFRF9QQVJB
TShwb2kpOworICAgIFVOVVNFRF9WQVJJQUJMRShtX3BhZ2UpOwogI2Vsc2UKICAgICAvLyBJZ25v
cmUgc3ludGhldGljIG1haW4gZnJhbWVzIHVzZWQgaW50ZXJuYWxseSBieSBTVkcgYW5kIHdlYiBp
bnNwZWN0b3IuCiAgICAgaWYgKG1fcGFnZS5tYWluRnJhbWUoKS5sb2FkZXIoKS5jbGllbnQoKS5p
c0VtcHR5RnJhbWVMb2FkZXJDbGllbnQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRDYWNoZUZyZWVUeXBlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRDYWNoZUZyZWVUeXBlLmNwcApp
bmRleCBmZDcxZmEwNzkyZGIuLmVhMzUwODY3YjJlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9udENhY2hlRnJlZVR5cGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRDYWNoZUZyZWVU
eXBlLmNwcApAQCAtMjQ2LDYgKzI0Niw4IEBAIFJlZlB0cjxGb250PiBGb250Q2FjaGU6OnN5c3Rl
bUZhbGxiYWNrRm9yQ2hhcmFjdGVycyhjb25zdCBGb250RGVzY3JpcHRpb24mIGRlc2NyCiAjaWZk
ZWYgRkNfQ09MT1IKICAgICAgICAgaWYgKHByZWZlckNvbG9yZWRGb250ID09IFByZWZlckNvbG9y
ZWRGb250OjpZZXMpCiAgICAgICAgICAgICBGY1BhdHRlcm5BZGRCb29sKHBhdHRlcm4uZ2V0KCks
IEZDX0NPTE9SLCBGY1RydWUpOworI2Vsc2UKKyAgICAgICAgVU5VU0VEX1ZBUklBQkxFKHByZWZl
ckNvbG9yZWRGb250KTsKICNlbmRpZgogICAgICAgICBpZiAoIWNvbmZpZ3VyZVBhdHRlcm5Gb3JG
b250RGVzY3JpcHRpb24ocGF0dGVybi5nZXQoKSwgZGVzY3JpcHRpb24pKQogICAgICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFn
ZS1kZWNvZGVycy9qcGVnL0pQRUdJbWFnZURlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW1hZ2UtZGVjb2RlcnMvanBlZy9KUEVHSW1hZ2VEZWNvZGVyLmNwcAppbmRleCBhNjdm
YWM1MGUzYjguLjZkMzkxNTA3MTA4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW1hZ2UtZGVjb2RlcnMvanBlZy9KUEVHSW1hZ2VEZWNvZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9qcGVnL0pQRUdJbWFnZURlY29kZXIuY3Bw
CkBAIC03OCw4ICs3OCwxMSBAQCBpbmxpbmUgYm9vbCBkb0ZhbmN5VXBzYW1wbGluZygpIHsgcmV0
dXJuIHRydWU7IH0KICNlbmRpZgogCiBzdGF0aWMgY29uc3QgaW50IGV4aWZNYXJrZXIgPSBKUEVH
X0FQUDAgKyAxOworCisjaWYgVVNFKExDTVMpCiBzdGF0aWMgY29uc3QgaW50IGljY01hcmtlciA9
IEpQRUdfQVBQMCArIDI7CiBzdGF0aWMgY29uc3QgdW5zaWduZWQgaWNjSGVhZGVyU2l6ZSA9IDE0
OworI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiNWYxMjVmZWU5
ZTguLjI1ZGM5ZDI2NmUzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAyMS0wNC0xOSAg
QmFzdWtlIFN1enVraSAgPGJhc3VrZS5zdXp1a2lAc29ueS5jb20+CisKKyAgICAgICAgUmVtb3Zl
IFVOVVNFRCB3YXJuaW5ncyBiYXNlZCBvbiB0aGUgY29uZmlndXJhdGlvbi4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDc4NworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIFVOVVNFRF9WQVJJQUJM
RSBvciBpdHMgdmFyaWFudCB0byBzdXBwcmVzcyB3YXJuaW5ncyBiYXNlZCBvbiB0aGUgY29uZmln
dXJhdGlvbi4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1N0b3JlOjpkZWJ1Z0xvZ0RvbWFpbnNJbkJhdGNoZXMpOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1By
b2Nlc3M6OnByZXBhcmVUb1N1c3BlbmQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlcXVlc3RTdG9yYWdlU3Bh
Y2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWRGcm9tTmV0
d29ya1Byb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNXQ29udGV4dE1hbmFn
ZXJDb25uZWN0aW9uOjppbnN0YWxsU2VydmljZVdvcmtlcik6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlVSTFNjaGVtZVRhc2tQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OnBh
Z2VJREZyb21XZWJGcmFtZSk6CisgICAgICAgIChXZWJLaXQ6OmZyYW1lSURGcm9tV2ViRnJhbWUp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3M6OnByZXBhcmVUb1N1c3BlbmQpOgorCiAyMDIxLTA0LTE5ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgTW90aW9uTWFyaydzIENhbnZhcy1BcmNz
IHN1YnRlc3QgaXMgYnJva2VuIGlmIHRoZSBHUFVQcm9jZXNzIGlzIG5vdCB5ZXQgcnVubmluZwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcAppbmRleCBhM2Q3MDkw
MjVjMzEuLjM0Mjk3MTAzNWFlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZS5jcHAKQEAgLTUzNyw2ICs1MzcsNyBAQCB2b2lkIFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZTo6ZGVidWdMb2dEb21haW5zSW5CYXRjaGVzKGNvbnN0IGNoYXIqIGFjdGlvbiwgYwog
ICAgIGJhdGNoLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobWF4TnVtYmVyT2ZEb21haW5zSW5PbmVM
b2dTdGF0ZW1lbnQpOwogICAgIGF1dG8gYmF0Y2hOdW1iZXIgPSAxOwogICAgIHVuc2lnbmVkIG51
bWJlck9mQmF0Y2hlcyA9IHN0ZDo6Y2VpbChkb21haW5zLnNpemUoKSAvIHN0YXRpY19jYXN0PGZs
b2F0PihtYXhOdW1iZXJPZkRvbWFpbnNJbk9uZUxvZ1N0YXRlbWVudCkpOworICAgIFVOVVNFRF9W
QVJJQUJMRShudW1iZXJPZkJhdGNoZXMpOwogCiAgICAgZm9yIChhdXRvJiBkb21haW4gOiBkb21h
aW5zKSB7CiAgICAgICAgIGlmIChiYXRjaC5zaXplKCkgPT0gbWF4TnVtYmVyT2ZEb21haW5zSW5P
bmVMb2dTdGF0ZW1lbnQpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzcy5jcHAKaW5kZXggMTI2ZTAyNTY2YzZhLi5jMGE2NjcwZDI5ODMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCkBAIC0yMjEx
LDYgKzIyMTEsNyBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpwcmVwYXJlVG9TdXNwZW5kKGJvb2wg
aXNTdXNwZW5zaW9uSW1taW5lbnQsIENvbXBsZXRpb25IYW5kbAogCiAgICAgUmVmUHRyPENhbGxi
YWNrQWdncmVnYXRvcj4gY2FsbGJhY2tBZ2dyZWdhdG9yID0gQ2FsbGJhY2tBZ2dyZWdhdG9yOjpj
cmVhdGUoW3RoaXMsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxl
cildKCkgbXV0YWJsZSB7CiAgICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAi
JXAgLSBOZXR3b3JrUHJvY2Vzczo6cHJlcGFyZVRvU3VzcGVuZCgpIFByb2Nlc3MgaXMgcmVhZHkg
dG8gc3VzcGVuZCIsIHRoaXMpOworICAgICAgICBVTlVTRURfVkFSSUFCTEUodGhpcyk7CiAgICAg
ICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAgfSk7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCAxNzRhNGI4ZjQwZGMuLjhjNGE3NjdmYjRjNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC04MTQ2LDYgKzgx
NDYsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdFN0b3JhZ2VTcGFjZShGcmFtZUlkZW50
aWZpZXIgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBvcgogICAgICAgICB0aGlzLT5tYWtlU3RvcmFn
ZVNwYWNlUmVxdWVzdChmcmFtZUlELCBvcmlnaW5JZGVudGlmaWVyLCBkYXRhYmFzZU5hbWUsIGRp
c3BsYXlOYW1lLCBjdXJyZW50UXVvdGEsIGN1cnJlbnRPcmlnaW5Vc2FnZSwgY3VycmVudERhdGFi
YXNlVXNhZ2UsIGV4cGVjdGVkVXNhZ2UsIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gV1RGTW92ZShw
cm90ZWN0ZWRUaGlzKSwgZnJhbWVJRCwgcGFnZVVSTCA9IFdURk1vdmUocGFnZVVSTCksIGNvbXBs
ZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIGN1cnJlbnRRdW90YV0o
YXV0byBxdW90YSkgbXV0YWJsZSB7CiAKICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9X
RUQoU3RvcmFnZSwgInJlcXVlc3RTdG9yYWdlU3BhY2UgcmVzcG9uc2UgZm9yIGZyYW1lICUiIFBS
SXU2NCAiLCBxdW90YSAlIiBQUkl1NjQsIGZyYW1lSUQudG9VSW50NjQoKSwgcXVvdGEpOworICAg
ICAgICAgICAgVU5VU0VEX1ZBUklBQkxFKGZyYW1lSUQpOwogCiAgICAgICAgICAgICBpZiAocXVv
dGEgPD0gY3VycmVudFF1b3RhICYmIHRoaXMtPmN1cnJlbnRVUkwoKSA9PSBwYWdlVVJMKSB7CiAg
ICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChTdG9yYWdlLCAic3RvcmFnZSBz
cGFjZSBpbmNyZWFzZSBkZW5pZWQiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcAppbmRleCBiYWI4NjBlNTY2ZjEuLjQ5
NjgxNWEyMDFkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsv
V2ViTG9hZGVyU3RyYXRlZ3kuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcApAQCAtMzQwLDkgKzM0MCw5IEBAIHZvaWQgV2ViTG9h
ZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9hZEZyb21OZXR3b3JrUHJvY2VzcyhSZXNvdXJjZUxvYWRl
ciYgcmVzb3VyY2VMCiAgICAgICAgICAgICBsb2FkUGFyYW1ldGVycy5jc3BSZXNwb25zZUhlYWRl
cnMgPSBjb250ZW50U2VjdXJpdHlQb2xpY3ktPnJlc3BvbnNlSGVhZGVycygpOwogICAgIH0KICAg
ICAKKyNpZiBFTkFCTEUoQVBQX0JPVU5EX0RPTUFJTlMpIHx8IEVOQUJMRShDT05URU5UX0VYVEVO
U0lPTlMpCiAgICAgYXV0byogd2ViRnJhbWVMb2FkZXJDbGllbnQgPSBmcmFtZSA/IHRvV2ViRnJh
bWVMb2FkZXJDbGllbnQoZnJhbWUtPmxvYWRlcigpLmNsaWVudCgpKSA6IG51bGxwdHI7CiAgICAg
YXV0byogd2ViRnJhbWUgPSB3ZWJGcmFtZUxvYWRlckNsaWVudCA/ICZ3ZWJGcmFtZUxvYWRlckNs
aWVudC0+d2ViRnJhbWUoKSA6IG51bGxwdHI7Ci0gICAgYXV0byogd2ViUGFnZSA9IHdlYkZyYW1l
ID8gd2ViRnJhbWUtPnBhZ2UoKSA6IG51bGxwdHI7CiAKICNpZiBFTkFCTEUoQVBQX0JPVU5EX0RP
TUFJTlMpCiAgICAgaWYgKHdlYkZyYW1lKQpAQCAtMzUzLDkgKzM1MywxMCBAQCB2b2lkIFdlYkxv
YWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWRGcm9tTmV0d29ya1Byb2Nlc3MoUmVzb3VyY2VMb2Fk
ZXImIHJlc291cmNlTAogICAgIGlmIChkb2N1bWVudCkgewogICAgICAgICBsb2FkUGFyYW1ldGVy
cy5tYWluRG9jdW1lbnRVUkwgPSBkb2N1bWVudC0+dG9wRG9jdW1lbnQoKS51cmwoKTsKICAgICAg
ICAgLy8gRklYTUU6IEluc3RlYWQgb2YgcGFzc2luZyB1c2VyQ29udGVudENvbnRyb2xsZXJJZGVu
dGlmaWVyLCB0aGUgTmV0d29ya1Byb2Nlc3Mgc2hvdWxkIGJlIGFibGUgdG8gZ2V0IGl0IHVzaW5n
IHdlYlBhZ2VJZC4KLSAgICAgICAgaWYgKHdlYlBhZ2UpCisgICAgICAgIGlmIChhdXRvKiB3ZWJQ
YWdlID0gd2ViRnJhbWUgPyB3ZWJGcmFtZS0+cGFnZSgpIDogbnVsbHB0cikKICAgICAgICAgICAg
IGxvYWRQYXJhbWV0ZXJzLnVzZXJDb250ZW50Q29udHJvbGxlcklkZW50aWZpZXIgPSB3ZWJQYWdl
LT51c2VyQ29udGVudENvbnRyb2xsZXJJZGVudGlmaWVyKCk7CiAgICAgfQorI2VuZGlmCiAjZW5k
aWYKIAogICAgIC8vIEZJWE1FOiBBbGwgbG9hZGVycyBzaG91bGQgcHJvdmlkZSB0aGVpciBvcmln
aW4gaWYgbmF2aWdhdGlvbiBtb2RlIGlzIGNvcnMvbm8tY29ycy9zYW1lLW9yaWdpbi4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFn
ZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNX
Q29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAppbmRleCA1MmMxYmVmZTMxMzMuLmZlOTljNzU4
MDI2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dD
b250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcApAQCAtMTU3LDYgKzE1
Nyw3IEBAIHZvaWQgV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246Omluc3RhbGxTZXJ2aWNl
V29ya2VyKFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0CiAgICAgU1dDb250ZXh0TWFuYWdlcjo6c2lu
Z2xldG9uKCkucmVnaXN0ZXJTZXJ2aWNlV29ya2VyVGhyZWFkRm9ySW5zdGFsbChXVEZNb3ZlKHNl
cnZpY2VXb3JrZXJUaHJlYWRQcm94eSkpOwogCiAgICAgUkVMRUFTRV9MT0coU2VydmljZVdvcmtl
ciwgIkNyZWF0ZWQgc2VydmljZSB3b3JrZXIgJSIgUFJJdTY0ICIgaW4gcHJvY2VzcyBQSUQgJWki
LCBzZXJ2aWNlV29ya2VySWRlbnRpZmllci50b1VJbnQ2NCgpLCBnZXRDdXJyZW50UHJvY2Vzc0lE
KCkpOworICAgIFVOVVNFRF9WQVJJQUJMRShzZXJ2aWNlV29ya2VySWRlbnRpZmllcik7CiB9CiAK
IHZvaWQgV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnNldFVzZXJBZ2VudChTdHJpbmcm
JiB1c2VyQWdlbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJVUkxTY2hlbWVUYXNrUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViVVJMU2NoZW1lVGFza1Byb3h5LmNwcAppbmRleCAzMjA0ZWRmZDIzMGMuLjIyMzc5
YWFhODc0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
VVJMU2NoZW1lVGFza1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJVUkxTY2hlbWVUYXNrUHJveHkuY3BwCkBAIC01Miw3ICs1Miw3IEBACiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1zdGF0aWMgdWludDY0X3Qg
cGFnZUlERnJvbVdlYkZyYW1lKGNvbnN0IFJlZlB0cjxXZWJGcmFtZT4mIGZyYW1lKQorc3RhdGlj
IFVOVVNFRF9GVU5DVElPTiB1aW50NjRfdCBwYWdlSURGcm9tV2ViRnJhbWUoY29uc3QgUmVmUHRy
PFdlYkZyYW1lPiYgZnJhbWUpCiB7CiAgICAgaWYgKGZyYW1lKSB7CiAgICAgICAgIGlmIChhdXRv
KiBwYWdlID0gZnJhbWUtPnBhZ2UoKSkKQEAgLTYxLDcgKzYxLDcgQEAgc3RhdGljIHVpbnQ2NF90
IHBhZ2VJREZyb21XZWJGcmFtZShjb25zdCBSZWZQdHI8V2ViRnJhbWU+JiBmcmFtZSkKICAgICBy
ZXR1cm4gMDsKIH0KIAotc3RhdGljIHVpbnQ2NF90IGZyYW1lSURGcm9tV2ViRnJhbWUoY29uc3Qg
UmVmUHRyPFdlYkZyYW1lPiYgZnJhbWUpCitzdGF0aWMgVU5VU0VEX0ZVTkNUSU9OIHVpbnQ2NF90
IGZyYW1lSURGcm9tV2ViRnJhbWUoY29uc3QgUmVmUHRyPFdlYkZyYW1lPiYgZnJhbWUpCiB7CiAg
ICAgaWYgKGZyYW1lKQogICAgICAgICByZXR1cm4gZnJhbWUtPmZyYW1lSUQoKS50b1VJbnQ2NCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IDFjNjRlZmJiYTM4
OS4uNzk4ZDJiODEyNTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3Bw
CkBAIC0xNDY2LDYgKzE0NjYsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OnByZXBhcmVUb1N1c3BlbmQo
Ym9vbCBpc1N1c3BlbnNpb25JbW1pbmVudCwgQ29tcGxldGlvbkhhbmRsZXI8dgogCiAgICAgbWFy
a0FsbExheWVyc1ZvbGF0aWxlKFt0aGlzLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29t
cGxldGlvbkhhbmRsZXIpXSgpIG11dGFibGUgewogICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExP
V0VEKFByb2Nlc3NTdXNwZW5zaW9uLCAicHJlcGFyZVRvU3VzcGVuZDogUHJvY2VzcyBpcyByZWFk
eSB0byBzdXNwZW5kIik7CisgICAgICAgIFVOVVNFRF9WQVJJQUJMRSh0aGlzKTsKICAgICAgICAg
Y29tcGxldGlvbkhhbmRsZXIoKTsKICAgICB9KTsKIH0NCg==
</data>
<flag name="review"
          id="446794"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426504</attachid>
            <date>2021-04-19 18:32:25 -0700</date>
            <delta_ts>2021-04-19 21:57:01 -0700</delta_ts>
            <desc>PATCH</desc>
            <filename>test.diff</filename>
            <type>text/plain</type>
            <size>12847</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkNjY5ZTdhMDJiZGQuLjMxNjBmYjJjNzhjMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI0IEBACisyMDIxLTA0LTE5ICBCYXN1a2UgU3V6dWtpICA8YmFzdWtlLnN1enVraUBz
b255LmNvbT4KKworICAgICAgICBSZW1vdmUgVU5VU0VEIHdhcm5pbmdzIGJhc2VkIG9uIHRoZSBj
b25maWd1cmF0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI0Nzg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAg
ICAgQWRkZWQgVU5VU0VEX1ZBUklBQkxFIG9yIGl0cyB2YXJpYW50IHRvIHN1cHByZXNzIHdhcm5p
bmdzIGJhc2VkIG9uIHRoZSBjb25maWd1cmF0aW9uLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBi
ZWNhdXNlIGl0IGp1c3QgZm9yIHN1cHByZXNzaW9uIG9mIHRoZSB3YXJuaW5ncy4KKworICAgICAg
ICAqIGxvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdWJy
ZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0SW50ZXJuYWwpOgorICAgICAgICAqIHBhZ2Uv
UGFnZUNvbnNvbGVDbGllbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c25hcHNob3RDYW52YXMp
OgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VMb2dnaW5nLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBlcmZvcm1hbmNlTG9nZ2luZzo6ZGlkUmVhY2hQb2ludE9mSW50ZXJlc3QpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRDYWNoZUZyZWVUeXBlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZvbnRDYWNoZTo6c3lzdGVtRmFsbGJhY2tGb3JDaGFyYWN0ZXJzKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9qcGVnL0pQRUdJbWFnZURlY29kZXIu
Y3BwOgorCiAyMDIxLTA0LTE5ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29t
PgogCiAgICAgICAgIFJlbmFtZSBGbG9hdFF1YWQ6OmlzRW1wdHkoKSB0byBib3VuZGluZ0JveElz
RW1wdHkoKSBhbmQgcmVpbXBsZW1lbnQgaXNFbXB0eSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1N1YnJlc291cmNlTG9hZGVyLmNwcAppbmRleCBlZjg1NjgwZDljNzAuLjAwYzlkODcwMzM3NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCkBAIC03MSw4
ICs3MSwxMyBAQAogI3VuZGVmIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQKICNkZWZpbmUg
UEFHRV9JRCAoKGZyYW1lKCkgPyBmcmFtZSgpLT5wYWdlSUQoKS52YWx1ZU9yKFBhZ2VJZGVudGlm
aWVyKCkpIDogUGFnZUlkZW50aWZpZXIoKSkudG9VSW50NjQoKSkKICNkZWZpbmUgRlJBTUVfSUQg
KChmcmFtZSgpID8gZnJhbWUoKS0+ZnJhbWVJRCgpLnZhbHVlT3IoRnJhbWVJZGVudGlmaWVyKCkp
IDogRnJhbWVJZGVudGlmaWVyKCkpLnRvVUludDY0KCkpCisjaWYgUkVMRUFTRV9MT0dfRElTQUJM
RUQKKyNkZWZpbmUgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChmbXQsIC4uLikgVU5VU0VEX1ZBUklB
QkxFKHRoaXMpCisjZGVmaW5lIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoZm10LCAuLi4p
IFVOVVNFRF9WQVJJQUJMRSh0aGlzKQorI2Vsc2UKICNkZWZpbmUgUkVMRUFTRV9MT0dfSUZfQUxM
T1dFRChmbXQsIC4uLikgUkVMRUFTRV9MT0dfSUYoaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCks
IFJlc291cmNlTG9hZGluZywgIiVwIC0gW3BhZ2VJRD0lIiBQUkl1NjQgIiwgZnJhbWVJRD0lIiBQ
Ukl1NjQgIiwgZnJhbWVMb2FkZXI9JXAsIHJlc291cmNlSUQ9JWx1XSBTdWJyZXNvdXJjZUxvYWRl
cjo6IiBmbXQsIHRoaXMsIFBBR0VfSUQsIEZSQU1FX0lELCBmcmFtZUxvYWRlcigpLCBpZGVudGlm
aWVyKCksICMjX19WQV9BUkdTX18pCiAjZGVmaW5lIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9X
RUQoZm10LCAuLi4pIFJFTEVBU0VfTE9HX0VSUk9SX0lGKGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dl
ZCgpLCBSZXNvdXJjZUxvYWRpbmcsICIlcCAtIFtwYWdlSUQ9JSIgUFJJdTY0ICIsIGZyYW1lSUQ9
JSIgUFJJdTY0ICIsIGZyYW1lTG9hZGVyPSVwLCByZXNvdXJjZUlEPSVsdV0gU3VicmVzb3VyY2VM
b2FkZXI6OiIgZm10LCB0aGlzLCBQQUdFX0lELCBGUkFNRV9JRCwgZnJhbWVMb2FkZXIoKSwgaWRl
bnRpZmllcigpLCAjI19fVkFfQVJHU19fKQorI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZUNsaWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlQ2xpZW50LmNwcAppbmRleCA4ZTIzNmEw
ODQwNTkuLjY2NjBkYmUwMzliNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
Q29uc29sZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZUNs
aWVudC5jcHAKQEAgLTI4OSw2ICsyODksOCBAQCBzdGF0aWMgT3B0aW9uYWw8U3RyaW5nPiBzbmFw
c2hvdENhbnZhcyhIVE1MQ2FudmFzRWxlbWVudCYgY2FudmFzRWxlbWVudCwgQ2FudmFzUgogI2lm
IEVOQUJMRShXRUJHTCkKICAgICBpZiAoaXM8V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZT4oY2Fu
dmFzUmVuZGVyaW5nQ29udGV4dCkpCiAgICAgICAgIGRvd25jYXN0PFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2U+KGNhbnZhc1JlbmRlcmluZ0NvbnRleHQpLnNldFByZXZlbnRCdWZmZXJDbGVhckZv
ckluc3BlY3Rvcih0cnVlKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGNhbnZhc1JlbmRlcmlu
Z0NvbnRleHQpOwogI2VuZGlmCiAKICAgICBhdXRvIHJlc3VsdCA9IGNhbnZhc0VsZW1lbnQudG9E
YXRhVVJMKCJpbWFnZS9wbmciX3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZUxvZ2dpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUxv
Z2dpbmcuY3BwCmluZGV4IGMxYzhkMWEyYjk5YS4uYzY4NDk0NWE4MGUwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTG9nZ2luZy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZUxvZ2dpbmcuY3BwCkBAIC05Miw2ICs5Miw3IEBAIHZvaWQg
UGVyZm9ybWFuY2VMb2dnaW5nOjpkaWRSZWFjaFBvaW50T2ZJbnRlcmVzdChQb2ludE9mSW50ZXJl
c3QgcG9pKQogewogI2lmIFJFTEVBU0VfTE9HX0RJU0FCTEVECiAgICAgVU5VU0VEX1BBUkFNKHBv
aSk7CisgICAgVU5VU0VEX1ZBUklBQkxFKG1fcGFnZSk7CiAjZWxzZQogICAgIC8vIElnbm9yZSBz
eW50aGV0aWMgbWFpbiBmcmFtZXMgdXNlZCBpbnRlcm5hbGx5IGJ5IFNWRyBhbmQgd2ViIGluc3Bl
Y3Rvci4KICAgICBpZiAobV9wYWdlLm1haW5GcmFtZSgpLmxvYWRlcigpLmNsaWVudCgpLmlzRW1w
dHlGcmFtZUxvYWRlckNsaWVudCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9udENhY2hlRnJlZVR5cGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9udENhY2hlRnJlZVR5cGUuY3BwCmluZGV4
IGZkNzFmYTA3OTJkYi4uZWEzNTA4NjdiMmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9Gb250Q2FjaGVGcmVlVHlwZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9udENhY2hlRnJlZVR5cGUu
Y3BwCkBAIC0yNDYsNiArMjQ2LDggQEAgUmVmUHRyPEZvbnQ+IEZvbnRDYWNoZTo6c3lzdGVtRmFs
bGJhY2tGb3JDaGFyYWN0ZXJzKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZGVzY3IKICNpZmRlZiBG
Q19DT0xPUgogICAgICAgICBpZiAocHJlZmVyQ29sb3JlZEZvbnQgPT0gUHJlZmVyQ29sb3JlZEZv
bnQ6OlllcykKICAgICAgICAgICAgIEZjUGF0dGVybkFkZEJvb2wocGF0dGVybi5nZXQoKSwgRkNf
Q09MT1IsIEZjVHJ1ZSk7CisjZWxzZQorICAgICAgICBVTlVTRURfVkFSSUFCTEUocHJlZmVyQ29s
b3JlZEZvbnQpOwogI2VuZGlmCiAgICAgICAgIGlmICghY29uZmlndXJlUGF0dGVybkZvckZvbnRE
ZXNjcmlwdGlvbihwYXR0ZXJuLmdldCgpLCBkZXNjcmlwdGlvbikpCiAgICAgICAgICAgICByZXR1
cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRl
Y29kZXJzL2pwZWcvSlBFR0ltYWdlRGVjb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pbWFnZS1kZWNvZGVycy9qcGVnL0pQRUdJbWFnZURlY29kZXIuY3BwCmluZGV4IGE2N2ZhYzUw
ZTNiOC4uNmQzOTE1MDcxMDhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
bWFnZS1kZWNvZGVycy9qcGVnL0pQRUdJbWFnZURlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2pwZWcvSlBFR0ltYWdlRGVjb2Rlci5jcHAKQEAg
LTc4LDggKzc4LDExIEBAIGlubGluZSBib29sIGRvRmFuY3lVcHNhbXBsaW5nKCkgeyByZXR1cm4g
dHJ1ZTsgfQogI2VuZGlmCiAKIHN0YXRpYyBjb25zdCBpbnQgZXhpZk1hcmtlciA9IEpQRUdfQVBQ
MCArIDE7CisKKyNpZiBVU0UoTENNUykKIHN0YXRpYyBjb25zdCBpbnQgaWNjTWFya2VyID0gSlBF
R19BUFAwICsgMjsKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpY2NIZWFkZXJTaXplID0gMTQ7Cisj
ZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI1ZjEyNWZlZTllOC4u
NzM2MGI1ZjA2YmVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTA0LTE5ICBCYXN1
a2UgU3V6dWtpICA8YmFzdWtlLnN1enVraUBzb255LmNvbT4KKworICAgICAgICBSZW1vdmUgVU5V
U0VEIHdhcm5pbmdzIGJhc2VkIG9uIHRoZSBjb25maWd1cmF0aW9uLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0Nzg3CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgQWRkZWQgVU5VU0VEX1ZBUklBQkxFIG9yIGl0
cyB2YXJpYW50IHRvIHN1cHByZXNzIHdhcm5pbmdzIGJhc2VkIG9uIHRoZSBjb25maWd1cmF0aW9u
LgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0
aXN0aWNzU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
U3RvcmU6OmRlYnVnTG9nRG9tYWluc0luQmF0Y2hlcyk6CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6
cHJlcGFyZVRvU3VzcGVuZCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVxdWVzdFN0b3JhZ2VTcGFjZSk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9hZEZyb21OZXR3b3JrUHJv
Y2Vzcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJD
b25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU1dDb250ZXh0TWFuYWdlckNvbm5l
Y3Rpb246Omluc3RhbGxTZXJ2aWNlV29ya2VyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViVVJMU2NoZW1lVGFza1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6cGFnZUlERnJv
bVdlYkZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6ZnJhbWVJREZyb21XZWJGcmFtZSk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzczo6cHJlcGFyZVRvU3VzcGVuZCk6CisKIDIwMjEtMDQtMTkgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBNb3Rpb25NYXJrJ3MgQ2FudmFzLUFyY3Mgc3VidGVz
dCBpcyBicm9rZW4gaWYgdGhlIEdQVVByb2Nlc3MgaXMgbm90IHlldCBydW5uaW5nCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3Np
Zmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwCmluZGV4IGEzZDcwOTAyNWMzMS4u
Y2IzMWNmY2Y0NWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Ns
YXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3Jl
LmNwcApAQCAtNTM2LDcgKzUzNiw5IEBAIHZvaWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3Jl
OjpkZWJ1Z0xvZ0RvbWFpbnNJbkJhdGNoZXMoY29uc3QgY2hhciogYWN0aW9uLCBjCiAgICAgVmVj
dG9yPFJlZ2lzdHJhYmxlRG9tYWluPiBiYXRjaDsKICAgICBiYXRjaC5yZXNlcnZlSW5pdGlhbENh
cGFjaXR5KG1heE51bWJlck9mRG9tYWluc0luT25lTG9nU3RhdGVtZW50KTsKICAgICBhdXRvIGJh
dGNoTnVtYmVyID0gMTsKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICB1bnNpZ25lZCBu
dW1iZXJPZkJhdGNoZXMgPSBzdGQ6OmNlaWwoZG9tYWlucy5zaXplKCkgLyBzdGF0aWNfY2FzdDxm
bG9hdD4obWF4TnVtYmVyT2ZEb21haW5zSW5PbmVMb2dTdGF0ZW1lbnQpKTsKKyNlbmRpZgogCiAg
ICAgZm9yIChhdXRvJiBkb21haW4gOiBkb21haW5zKSB7CiAgICAgICAgIGlmIChiYXRjaC5zaXpl
KCkgPT0gbWF4TnVtYmVyT2ZEb21haW5zSW5PbmVMb2dTdGF0ZW1lbnQpIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKaW5kZXggMTI2ZTAyNTY2
YzZhLi5jMGE2NjcwZDI5ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MuY3BwCkBAIC0yMjExLDYgKzIyMTEsNyBAQCB2b2lkIE5ldHdvcmtQcm9j
ZXNzOjpwcmVwYXJlVG9TdXNwZW5kKGJvb2wgaXNTdXNwZW5zaW9uSW1taW5lbnQsIENvbXBsZXRp
b25IYW5kbAogCiAgICAgUmVmUHRyPENhbGxiYWNrQWdncmVnYXRvcj4gY2FsbGJhY2tBZ2dyZWdh
dG9yID0gQ2FsbGJhY2tBZ2dyZWdhdG9yOjpjcmVhdGUoW3RoaXMsIGNvbXBsZXRpb25IYW5kbGVy
ID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJsZSB7CiAgICAgICAgIFJFTEVB
U0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBOZXR3b3JrUHJvY2Vzczo6cHJlcGFyZVRv
U3VzcGVuZCgpIFByb2Nlc3MgaXMgcmVhZHkgdG8gc3VzcGVuZCIsIHRoaXMpOworICAgICAgICBV
TlVTRURfVkFSSUFCTEUodGhpcyk7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAg
fSk7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCAx
NzRhNGI4ZjQwZGMuLjhjNGE3NjdmYjRjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCkBAIC04MTQ2LDYgKzgxNDYsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmVx
dWVzdFN0b3JhZ2VTcGFjZShGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBv
cgogICAgICAgICB0aGlzLT5tYWtlU3RvcmFnZVNwYWNlUmVxdWVzdChmcmFtZUlELCBvcmlnaW5J
ZGVudGlmaWVyLCBkYXRhYmFzZU5hbWUsIGRpc3BsYXlOYW1lLCBjdXJyZW50UXVvdGEsIGN1cnJl
bnRPcmlnaW5Vc2FnZSwgY3VycmVudERhdGFiYXNlVXNhZ2UsIGV4cGVjdGVkVXNhZ2UsIFt0aGlz
LCBwcm90ZWN0ZWRUaGlzID0gV1RGTW92ZShwcm90ZWN0ZWRUaGlzKSwgZnJhbWVJRCwgcGFnZVVS
TCA9IFdURk1vdmUocGFnZVVSTCksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0
aW9uSGFuZGxlciksIGN1cnJlbnRRdW90YV0oYXV0byBxdW90YSkgbXV0YWJsZSB7CiAKICAgICAg
ICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoU3RvcmFnZSwgInJlcXVlc3RTdG9yYWdlU3Bh
Y2UgcmVzcG9uc2UgZm9yIGZyYW1lICUiIFBSSXU2NCAiLCBxdW90YSAlIiBQUkl1NjQsIGZyYW1l
SUQudG9VSW50NjQoKSwgcXVvdGEpOworICAgICAgICAgICAgVU5VU0VEX1ZBUklBQkxFKGZyYW1l
SUQpOwogCiAgICAgICAgICAgICBpZiAocXVvdGEgPD0gY3VycmVudFF1b3RhICYmIHRoaXMtPmN1
cnJlbnRVUkwoKSA9PSBwYWdlVVJMKSB7CiAgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZf
QUxMT1dFRChTdG9yYWdlLCAic3RvcmFnZSBzcGFjZSBpbmNyZWFzZSBkZW5pZWQiKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5
LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5
LmNwcAppbmRleCBiYWI4NjBlNTY2ZjEuLmUwYjgwYzNhOWI0NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcApAQCAt
MzQwLDkgKzM0MCwxMCBAQCB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWRGcm9t
TmV0d29ya1Byb2Nlc3MoUmVzb3VyY2VMb2FkZXImIHJlc291cmNlTAogICAgICAgICAgICAgbG9h
ZFBhcmFtZXRlcnMuY3NwUmVzcG9uc2VIZWFkZXJzID0gY29udGVudFNlY3VyaXR5UG9saWN5LT5y
ZXNwb25zZUhlYWRlcnMoKTsKICAgICB9CiAgICAgCisjaWYgRU5BQkxFKEFQUF9CT1VORF9ET01B
SU5TKSB8fCBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQogICAgIGF1dG8qIHdlYkZyYW1lTG9h
ZGVyQ2xpZW50ID0gZnJhbWUgPyB0b1dlYkZyYW1lTG9hZGVyQ2xpZW50KGZyYW1lLT5sb2FkZXIo
KS5jbGllbnQoKSkgOiBudWxscHRyOwogICAgIGF1dG8qIHdlYkZyYW1lID0gd2ViRnJhbWVMb2Fk
ZXJDbGllbnQgPyAmd2ViRnJhbWVMb2FkZXJDbGllbnQtPndlYkZyYW1lKCkgOiBudWxscHRyOwot
ICAgIGF1dG8qIHdlYlBhZ2UgPSB3ZWJGcmFtZSA/IHdlYkZyYW1lLT5wYWdlKCkgOiBudWxscHRy
OworI2VuZGlmCiAKICNpZiBFTkFCTEUoQVBQX0JPVU5EX0RPTUFJTlMpCiAgICAgaWYgKHdlYkZy
YW1lKQpAQCAtMzUzLDcgKzM1NCw3IEBAIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxl
TG9hZEZyb21OZXR3b3JrUHJvY2VzcyhSZXNvdXJjZUxvYWRlciYgcmVzb3VyY2VMCiAgICAgaWYg
KGRvY3VtZW50KSB7CiAgICAgICAgIGxvYWRQYXJhbWV0ZXJzLm1haW5Eb2N1bWVudFVSTCA9IGRv
Y3VtZW50LT50b3BEb2N1bWVudCgpLnVybCgpOwogICAgICAgICAvLyBGSVhNRTogSW5zdGVhZCBv
ZiBwYXNzaW5nIHVzZXJDb250ZW50Q29udHJvbGxlcklkZW50aWZpZXIsIHRoZSBOZXR3b3JrUHJv
Y2VzcyBzaG91bGQgYmUgYWJsZSB0byBnZXQgaXQgdXNpbmcgd2ViUGFnZUlkLgotICAgICAgICBp
ZiAod2ViUGFnZSkKKyAgICAgICAgaWYgKGF1dG8qIHdlYlBhZ2UgPSB3ZWJGcmFtZSA/IHdlYkZy
YW1lLT5wYWdlKCkgOiBudWxscHRyKQogICAgICAgICAgICAgbG9hZFBhcmFtZXRlcnMudXNlckNv
bnRlbnRDb250cm9sbGVySWRlbnRpZmllciA9IHdlYlBhZ2UtPnVzZXJDb250ZW50Q29udHJvbGxl
cklkZW50aWZpZXIoKTsKICAgICB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0
aW9uLmNwcAppbmRleCA1MmMxYmVmZTMxMzMuLjYzYzIyNjBlZmI0YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4
dE1hbmFnZXJDb25uZWN0aW9uLmNwcApAQCAtMTUyLDcgKzE1Miw5IEBAIHZvaWQgV2ViU1dDb250
ZXh0TWFuYWdlckNvbm5lY3Rpb246Omluc3RhbGxTZXJ2aWNlV29ya2VyKFNlcnZpY2VXb3JrZXJD
b250ZXh0RGF0CiAKICAgICBwYWdlQ29uZmlndXJhdGlvbi5sb2FkZXJDbGllbnRGb3JNYWluRnJh
bWUgPSBtYWtlVW5pcXVlUmVmPFNlcnZpY2VXb3JrZXJGcmFtZUxvYWRlckNsaWVudD4obV93ZWJQ
YWdlUHJveHlJRCwgbV9wYWdlSUQsIEZyYW1lSWRlbnRpZmllcjo6Z2VuZXJhdGUoKSwgZWZmZWN0
aXZlVXNlckFnZW50KTsKIAorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogICAgIGF1dG8gc2Vy
dmljZVdvcmtlcklkZW50aWZpZXIgPSBkYXRhLnNlcnZpY2VXb3JrZXJJZGVudGlmaWVyOworI2Vu
ZGlmCiAgICAgYXV0byBzZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkgPSBTZXJ2aWNlV29ya2VyVGhy
ZWFkUHJveHk6OmNyZWF0ZShXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uKSwgV1RGTW92ZShkYXRh
KSwgV1RGTW92ZShlZmZlY3RpdmVVc2VyQWdlbnQpLCBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5j
YWNoZVN0b3JhZ2VQcm92aWRlcigpLCBtX3N0b3JhZ2VCbG9ja2luZ1BvbGljeSk7CiAgICAgU1dD
b250ZXh0TWFuYWdlcjo6c2luZ2xldG9uKCkucmVnaXN0ZXJTZXJ2aWNlV29ya2VyVGhyZWFkRm9y
SW5zdGFsbChXVEZNb3ZlKHNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eSkpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJVUkxTY2hlbWVUYXNrUHJveHku
Y3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViVVJMU2NoZW1lVGFza1By
b3h5LmNwcAppbmRleCAzMjA0ZWRmZDIzMGMuLjExMmZlZTI0YTFjMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViVVJMU2NoZW1lVGFza1Byb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJVUkxTY2hlbWVUYXNrUHJv
eHkuY3BwCkBAIC01Miw2ICs1Miw3IEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwogCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiBzdGF0aWMgdWludDY0
X3QgcGFnZUlERnJvbVdlYkZyYW1lKGNvbnN0IFJlZlB0cjxXZWJGcmFtZT4mIGZyYW1lKQogewog
ICAgIGlmIChmcmFtZSkgewpAQCAtNjcsNiArNjgsNyBAQCBzdGF0aWMgdWludDY0X3QgZnJhbWVJ
REZyb21XZWJGcmFtZShjb25zdCBSZWZQdHI8V2ViRnJhbWU+JiBmcmFtZSkKICAgICAgICAgcmV0
dXJuIGZyYW1lLT5mcmFtZUlEKCkudG9VSW50NjQoKTsKICAgICByZXR1cm4gMDsKIH0KKyNlbmRp
ZgogCiBXZWJVUkxTY2hlbWVUYXNrUHJveHk6OldlYlVSTFNjaGVtZVRhc2tQcm94eShXZWJVUkxT
Y2hlbWVIYW5kbGVyUHJveHkmIGhhbmRsZXIsIFJlc291cmNlTG9hZGVyJiBsb2FkZXIsIFdlYkZy
YW1lJiBmcmFtZSkKICAgICA6IG1fdXJsU2NoZW1lSGFuZGxlcihoYW5kbGVyKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IDFjNjRlZmJiYTM4OS4uNzk4ZDJiODEy
NTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0xNDY2LDYg
KzE0NjYsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OnByZXBhcmVUb1N1c3BlbmQoYm9vbCBpc1N1c3Bl
bnNpb25JbW1pbmVudCwgQ29tcGxldGlvbkhhbmRsZXI8dgogCiAgICAgbWFya0FsbExheWVyc1Zv
bGF0aWxlKFt0aGlzLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpXSgpIG11dGFibGUgewogICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKFByb2Nlc3NT
dXNwZW5zaW9uLCAicHJlcGFyZVRvU3VzcGVuZDogUHJvY2VzcyBpcyByZWFkeSB0byBzdXNwZW5k
Iik7CisgICAgICAgIFVOVVNFRF9WQVJJQUJMRSh0aGlzKTsKICAgICAgICAgY29tcGxldGlvbkhh
bmRsZXIoKTsKICAgICB9KTsKIH0NCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426518</attachid>
            <date>2021-04-19 21:57:01 -0700</date>
            <delta_ts>2021-04-20 08:47:33 -0700</delta_ts>
            <desc>PATCH</desc>
            <filename>test.diff</filename>
            <type>text/plain</type>
            <size>13390</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkNjY5ZTdhMDJiZGQuLjMxNjBmYjJjNzhjMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI0IEBACisyMDIxLTA0LTE5ICBCYXN1a2UgU3V6dWtpICA8YmFzdWtlLnN1enVraUBz
b255LmNvbT4KKworICAgICAgICBSZW1vdmUgVU5VU0VEIHdhcm5pbmdzIGJhc2VkIG9uIHRoZSBj
b25maWd1cmF0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI0Nzg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAg
ICAgQWRkZWQgVU5VU0VEX1ZBUklBQkxFIG9yIGl0cyB2YXJpYW50IHRvIHN1cHByZXNzIHdhcm5p
bmdzIGJhc2VkIG9uIHRoZSBjb25maWd1cmF0aW9uLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBi
ZWNhdXNlIGl0IGp1c3QgZm9yIHN1cHByZXNzaW9uIG9mIHRoZSB3YXJuaW5ncy4KKworICAgICAg
ICAqIGxvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdWJy
ZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0SW50ZXJuYWwpOgorICAgICAgICAqIHBhZ2Uv
UGFnZUNvbnNvbGVDbGllbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c25hcHNob3RDYW52YXMp
OgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VMb2dnaW5nLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBlcmZvcm1hbmNlTG9nZ2luZzo6ZGlkUmVhY2hQb2ludE9mSW50ZXJlc3QpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRDYWNoZUZyZWVUeXBlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZvbnRDYWNoZTo6c3lzdGVtRmFsbGJhY2tGb3JDaGFyYWN0ZXJzKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9qcGVnL0pQRUdJbWFnZURlY29kZXIu
Y3BwOgorCiAyMDIxLTA0LTE5ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29t
PgogCiAgICAgICAgIFJlbmFtZSBGbG9hdFF1YWQ6OmlzRW1wdHkoKSB0byBib3VuZGluZ0JveElz
RW1wdHkoKSBhbmQgcmVpbXBsZW1lbnQgaXNFbXB0eSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1N1YnJlc291cmNlTG9hZGVyLmNwcAppbmRleCBlZjg1NjgwZDljNzAuLjAwYzlkODcwMzM3NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCkBAIC03MSw4
ICs3MSwxMyBAQAogI3VuZGVmIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQKICNkZWZpbmUg
UEFHRV9JRCAoKGZyYW1lKCkgPyBmcmFtZSgpLT5wYWdlSUQoKS52YWx1ZU9yKFBhZ2VJZGVudGlm
aWVyKCkpIDogUGFnZUlkZW50aWZpZXIoKSkudG9VSW50NjQoKSkKICNkZWZpbmUgRlJBTUVfSUQg
KChmcmFtZSgpID8gZnJhbWUoKS0+ZnJhbWVJRCgpLnZhbHVlT3IoRnJhbWVJZGVudGlmaWVyKCkp
IDogRnJhbWVJZGVudGlmaWVyKCkpLnRvVUludDY0KCkpCisjaWYgUkVMRUFTRV9MT0dfRElTQUJM
RUQKKyNkZWZpbmUgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChmbXQsIC4uLikgVU5VU0VEX1ZBUklB
QkxFKHRoaXMpCisjZGVmaW5lIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoZm10LCAuLi4p
IFVOVVNFRF9WQVJJQUJMRSh0aGlzKQorI2Vsc2UKICNkZWZpbmUgUkVMRUFTRV9MT0dfSUZfQUxM
T1dFRChmbXQsIC4uLikgUkVMRUFTRV9MT0dfSUYoaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCks
IFJlc291cmNlTG9hZGluZywgIiVwIC0gW3BhZ2VJRD0lIiBQUkl1NjQgIiwgZnJhbWVJRD0lIiBQ
Ukl1NjQgIiwgZnJhbWVMb2FkZXI9JXAsIHJlc291cmNlSUQ9JWx1XSBTdWJyZXNvdXJjZUxvYWRl
cjo6IiBmbXQsIHRoaXMsIFBBR0VfSUQsIEZSQU1FX0lELCBmcmFtZUxvYWRlcigpLCBpZGVudGlm
aWVyKCksICMjX19WQV9BUkdTX18pCiAjZGVmaW5lIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9X
RUQoZm10LCAuLi4pIFJFTEVBU0VfTE9HX0VSUk9SX0lGKGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dl
ZCgpLCBSZXNvdXJjZUxvYWRpbmcsICIlcCAtIFtwYWdlSUQ9JSIgUFJJdTY0ICIsIGZyYW1lSUQ9
JSIgUFJJdTY0ICIsIGZyYW1lTG9hZGVyPSVwLCByZXNvdXJjZUlEPSVsdV0gU3VicmVzb3VyY2VM
b2FkZXI6OiIgZm10LCB0aGlzLCBQQUdFX0lELCBGUkFNRV9JRCwgZnJhbWVMb2FkZXIoKSwgaWRl
bnRpZmllcigpLCAjI19fVkFfQVJHU19fKQorI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZUNsaWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlQ2xpZW50LmNwcAppbmRleCA4ZTIzNmEw
ODQwNTkuLjY2NjBkYmUwMzliNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
Q29uc29sZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZUNs
aWVudC5jcHAKQEAgLTI4OSw2ICsyODksOCBAQCBzdGF0aWMgT3B0aW9uYWw8U3RyaW5nPiBzbmFw
c2hvdENhbnZhcyhIVE1MQ2FudmFzRWxlbWVudCYgY2FudmFzRWxlbWVudCwgQ2FudmFzUgogI2lm
IEVOQUJMRShXRUJHTCkKICAgICBpZiAoaXM8V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZT4oY2Fu
dmFzUmVuZGVyaW5nQ29udGV4dCkpCiAgICAgICAgIGRvd25jYXN0PFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2U+KGNhbnZhc1JlbmRlcmluZ0NvbnRleHQpLnNldFByZXZlbnRCdWZmZXJDbGVhckZv
ckluc3BlY3Rvcih0cnVlKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGNhbnZhc1JlbmRlcmlu
Z0NvbnRleHQpOwogI2VuZGlmCiAKICAgICBhdXRvIHJlc3VsdCA9IGNhbnZhc0VsZW1lbnQudG9E
YXRhVVJMKCJpbWFnZS9wbmciX3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZUxvZ2dpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUxv
Z2dpbmcuY3BwCmluZGV4IGMxYzhkMWEyYjk5YS4uYzY4NDk0NWE4MGUwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTG9nZ2luZy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZUxvZ2dpbmcuY3BwCkBAIC05Miw2ICs5Miw3IEBAIHZvaWQg
UGVyZm9ybWFuY2VMb2dnaW5nOjpkaWRSZWFjaFBvaW50T2ZJbnRlcmVzdChQb2ludE9mSW50ZXJl
c3QgcG9pKQogewogI2lmIFJFTEVBU0VfTE9HX0RJU0FCTEVECiAgICAgVU5VU0VEX1BBUkFNKHBv
aSk7CisgICAgVU5VU0VEX1ZBUklBQkxFKG1fcGFnZSk7CiAjZWxzZQogICAgIC8vIElnbm9yZSBz
eW50aGV0aWMgbWFpbiBmcmFtZXMgdXNlZCBpbnRlcm5hbGx5IGJ5IFNWRyBhbmQgd2ViIGluc3Bl
Y3Rvci4KICAgICBpZiAobV9wYWdlLm1haW5GcmFtZSgpLmxvYWRlcigpLmNsaWVudCgpLmlzRW1w
dHlGcmFtZUxvYWRlckNsaWVudCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9udENhY2hlRnJlZVR5cGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9udENhY2hlRnJlZVR5cGUuY3BwCmluZGV4
IGZkNzFmYTA3OTJkYi4uZWEzNTA4NjdiMmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9Gb250Q2FjaGVGcmVlVHlwZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9udENhY2hlRnJlZVR5cGUu
Y3BwCkBAIC0yNDYsNiArMjQ2LDggQEAgUmVmUHRyPEZvbnQ+IEZvbnRDYWNoZTo6c3lzdGVtRmFs
bGJhY2tGb3JDaGFyYWN0ZXJzKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZGVzY3IKICNpZmRlZiBG
Q19DT0xPUgogICAgICAgICBpZiAocHJlZmVyQ29sb3JlZEZvbnQgPT0gUHJlZmVyQ29sb3JlZEZv
bnQ6OlllcykKICAgICAgICAgICAgIEZjUGF0dGVybkFkZEJvb2wocGF0dGVybi5nZXQoKSwgRkNf
Q09MT1IsIEZjVHJ1ZSk7CisjZWxzZQorICAgICAgICBVTlVTRURfVkFSSUFCTEUocHJlZmVyQ29s
b3JlZEZvbnQpOwogI2VuZGlmCiAgICAgICAgIGlmICghY29uZmlndXJlUGF0dGVybkZvckZvbnRE
ZXNjcmlwdGlvbihwYXR0ZXJuLmdldCgpLCBkZXNjcmlwdGlvbikpCiAgICAgICAgICAgICByZXR1
cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRl
Y29kZXJzL2pwZWcvSlBFR0ltYWdlRGVjb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pbWFnZS1kZWNvZGVycy9qcGVnL0pQRUdJbWFnZURlY29kZXIuY3BwCmluZGV4IGE2N2ZhYzUw
ZTNiOC4uNmQzOTE1MDcxMDhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
bWFnZS1kZWNvZGVycy9qcGVnL0pQRUdJbWFnZURlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2pwZWcvSlBFR0ltYWdlRGVjb2Rlci5jcHAKQEAg
LTc4LDggKzc4LDExIEBAIGlubGluZSBib29sIGRvRmFuY3lVcHNhbXBsaW5nKCkgeyByZXR1cm4g
dHJ1ZTsgfQogI2VuZGlmCiAKIHN0YXRpYyBjb25zdCBpbnQgZXhpZk1hcmtlciA9IEpQRUdfQVBQ
MCArIDE7CisKKyNpZiBVU0UoTENNUykKIHN0YXRpYyBjb25zdCBpbnQgaWNjTWFya2VyID0gSlBF
R19BUFAwICsgMjsKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpY2NIZWFkZXJTaXplID0gMTQ7Cisj
ZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI1ZjEyNWZlZTllOC4u
NzM2MGI1ZjA2YmVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTA0LTE5ICBCYXN1
a2UgU3V6dWtpICA8YmFzdWtlLnN1enVraUBzb255LmNvbT4KKworICAgICAgICBSZW1vdmUgVU5V
U0VEIHdhcm5pbmdzIGJhc2VkIG9uIHRoZSBjb25maWd1cmF0aW9uLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0Nzg3CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgQWRkZWQgVU5VU0VEX1ZBUklBQkxFIG9yIGl0
cyB2YXJpYW50IHRvIHN1cHByZXNzIHdhcm5pbmdzIGJhc2VkIG9uIHRoZSBjb25maWd1cmF0aW9u
LgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0
aXN0aWNzU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
U3RvcmU6OmRlYnVnTG9nRG9tYWluc0luQmF0Y2hlcyk6CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6
cHJlcGFyZVRvU3VzcGVuZCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVxdWVzdFN0b3JhZ2VTcGFjZSk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9hZEZyb21OZXR3b3JrUHJv
Y2Vzcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJD
b25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU1dDb250ZXh0TWFuYWdlckNvbm5l
Y3Rpb246Omluc3RhbGxTZXJ2aWNlV29ya2VyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViVVJMU2NoZW1lVGFza1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6cGFnZUlERnJv
bVdlYkZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6ZnJhbWVJREZyb21XZWJGcmFtZSk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzczo6cHJlcGFyZVRvU3VzcGVuZCk6CisKIDIwMjEtMDQtMTkgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBNb3Rpb25NYXJrJ3MgQ2FudmFzLUFyY3Mgc3VidGVz
dCBpcyBicm9rZW4gaWYgdGhlIEdQVVByb2Nlc3MgaXMgbm90IHlldCBydW5uaW5nCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3Np
Zmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwCmluZGV4IGEzZDcwOTAyNWMzMS4u
Y2IzMWNmY2Y0NWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Ns
YXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3Jl
LmNwcApAQCAtNTM2LDcgKzUzNiw5IEBAIHZvaWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3Jl
OjpkZWJ1Z0xvZ0RvbWFpbnNJbkJhdGNoZXMoY29uc3QgY2hhciogYWN0aW9uLCBjCiAgICAgVmVj
dG9yPFJlZ2lzdHJhYmxlRG9tYWluPiBiYXRjaDsKICAgICBiYXRjaC5yZXNlcnZlSW5pdGlhbENh
cGFjaXR5KG1heE51bWJlck9mRG9tYWluc0luT25lTG9nU3RhdGVtZW50KTsKICAgICBhdXRvIGJh
dGNoTnVtYmVyID0gMTsKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICB1bnNpZ25lZCBu
dW1iZXJPZkJhdGNoZXMgPSBzdGQ6OmNlaWwoZG9tYWlucy5zaXplKCkgLyBzdGF0aWNfY2FzdDxm
bG9hdD4obWF4TnVtYmVyT2ZEb21haW5zSW5PbmVMb2dTdGF0ZW1lbnQpKTsKKyNlbmRpZgogCiAg
ICAgZm9yIChhdXRvJiBkb21haW4gOiBkb21haW5zKSB7CiAgICAgICAgIGlmIChiYXRjaC5zaXpl
KCkgPT0gbWF4TnVtYmVyT2ZEb21haW5zSW5PbmVMb2dTdGF0ZW1lbnQpIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKaW5kZXggMTI2ZTAyNTY2
YzZhLi5jMGE2NjcwZDI5ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MuY3BwCkBAIC0yMjExLDYgKzIyMTEsNyBAQCB2b2lkIE5ldHdvcmtQcm9j
ZXNzOjpwcmVwYXJlVG9TdXNwZW5kKGJvb2wgaXNTdXNwZW5zaW9uSW1taW5lbnQsIENvbXBsZXRp
b25IYW5kbAogCiAgICAgUmVmUHRyPENhbGxiYWNrQWdncmVnYXRvcj4gY2FsbGJhY2tBZ2dyZWdh
dG9yID0gQ2FsbGJhY2tBZ2dyZWdhdG9yOjpjcmVhdGUoW3RoaXMsIGNvbXBsZXRpb25IYW5kbGVy
ID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJsZSB7CiAgICAgICAgIFJFTEVB
U0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBOZXR3b3JrUHJvY2Vzczo6cHJlcGFyZVRv
U3VzcGVuZCgpIFByb2Nlc3MgaXMgcmVhZHkgdG8gc3VzcGVuZCIsIHRoaXMpOworICAgICAgICBV
TlVTRURfVkFSSUFCTEUodGhpcyk7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAg
fSk7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCAx
NzRhNGI4ZjQwZGMuLjhjNGE3NjdmYjRjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCkBAIC04MTQ2LDYgKzgxNDYsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmVx
dWVzdFN0b3JhZ2VTcGFjZShGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBv
cgogICAgICAgICB0aGlzLT5tYWtlU3RvcmFnZVNwYWNlUmVxdWVzdChmcmFtZUlELCBvcmlnaW5J
ZGVudGlmaWVyLCBkYXRhYmFzZU5hbWUsIGRpc3BsYXlOYW1lLCBjdXJyZW50UXVvdGEsIGN1cnJl
bnRPcmlnaW5Vc2FnZSwgY3VycmVudERhdGFiYXNlVXNhZ2UsIGV4cGVjdGVkVXNhZ2UsIFt0aGlz
LCBwcm90ZWN0ZWRUaGlzID0gV1RGTW92ZShwcm90ZWN0ZWRUaGlzKSwgZnJhbWVJRCwgcGFnZVVS
TCA9IFdURk1vdmUocGFnZVVSTCksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0
aW9uSGFuZGxlciksIGN1cnJlbnRRdW90YV0oYXV0byBxdW90YSkgbXV0YWJsZSB7CiAKICAgICAg
ICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoU3RvcmFnZSwgInJlcXVlc3RTdG9yYWdlU3Bh
Y2UgcmVzcG9uc2UgZm9yIGZyYW1lICUiIFBSSXU2NCAiLCBxdW90YSAlIiBQUkl1NjQsIGZyYW1l
SUQudG9VSW50NjQoKSwgcXVvdGEpOworICAgICAgICAgICAgVU5VU0VEX1ZBUklBQkxFKGZyYW1l
SUQpOwogCiAgICAgICAgICAgICBpZiAocXVvdGEgPD0gY3VycmVudFF1b3RhICYmIHRoaXMtPmN1
cnJlbnRVUkwoKSA9PSBwYWdlVVJMKSB7CiAgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZf
QUxMT1dFRChTdG9yYWdlLCAic3RvcmFnZSBzcGFjZSBpbmNyZWFzZSBkZW5pZWQiKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5
LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5
LmNwcAppbmRleCBiYWI4NjBlNTY2ZjEuLmUwYjgwYzNhOWI0NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcApAQCAt
MzQwLDkgKzM0MCwxMCBAQCB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWRGcm9t
TmV0d29ya1Byb2Nlc3MoUmVzb3VyY2VMb2FkZXImIHJlc291cmNlTAogICAgICAgICAgICAgbG9h
ZFBhcmFtZXRlcnMuY3NwUmVzcG9uc2VIZWFkZXJzID0gY29udGVudFNlY3VyaXR5UG9saWN5LT5y
ZXNwb25zZUhlYWRlcnMoKTsKICAgICB9CiAgICAgCisjaWYgRU5BQkxFKEFQUF9CT1VORF9ET01B
SU5TKSB8fCBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQogICAgIGF1dG8qIHdlYkZyYW1lTG9h
ZGVyQ2xpZW50ID0gZnJhbWUgPyB0b1dlYkZyYW1lTG9hZGVyQ2xpZW50KGZyYW1lLT5sb2FkZXIo
KS5jbGllbnQoKSkgOiBudWxscHRyOwogICAgIGF1dG8qIHdlYkZyYW1lID0gd2ViRnJhbWVMb2Fk
ZXJDbGllbnQgPyAmd2ViRnJhbWVMb2FkZXJDbGllbnQtPndlYkZyYW1lKCkgOiBudWxscHRyOwot
ICAgIGF1dG8qIHdlYlBhZ2UgPSB3ZWJGcmFtZSA/IHdlYkZyYW1lLT5wYWdlKCkgOiBudWxscHRy
OworI2VuZGlmCiAKICNpZiBFTkFCTEUoQVBQX0JPVU5EX0RPTUFJTlMpCiAgICAgaWYgKHdlYkZy
YW1lKQpAQCAtMzUzLDcgKzM1NCw3IEBAIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxl
TG9hZEZyb21OZXR3b3JrUHJvY2VzcyhSZXNvdXJjZUxvYWRlciYgcmVzb3VyY2VMCiAgICAgaWYg
KGRvY3VtZW50KSB7CiAgICAgICAgIGxvYWRQYXJhbWV0ZXJzLm1haW5Eb2N1bWVudFVSTCA9IGRv
Y3VtZW50LT50b3BEb2N1bWVudCgpLnVybCgpOwogICAgICAgICAvLyBGSVhNRTogSW5zdGVhZCBv
ZiBwYXNzaW5nIHVzZXJDb250ZW50Q29udHJvbGxlcklkZW50aWZpZXIsIHRoZSBOZXR3b3JrUHJv
Y2VzcyBzaG91bGQgYmUgYWJsZSB0byBnZXQgaXQgdXNpbmcgd2ViUGFnZUlkLgotICAgICAgICBp
ZiAod2ViUGFnZSkKKyAgICAgICAgaWYgKGF1dG8qIHdlYlBhZ2UgPSB3ZWJGcmFtZSA/IHdlYkZy
YW1lLT5wYWdlKCkgOiBudWxscHRyKQogICAgICAgICAgICAgbG9hZFBhcmFtZXRlcnMudXNlckNv
bnRlbnRDb250cm9sbGVySWRlbnRpZmllciA9IHdlYlBhZ2UtPnVzZXJDb250ZW50Q29udHJvbGxl
cklkZW50aWZpZXIoKTsKICAgICB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0
aW9uLmNwcAppbmRleCA1MmMxYmVmZTMxMzMuLjYzYzIyNjBlZmI0YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4
dE1hbmFnZXJDb25uZWN0aW9uLmNwcApAQCAtMTUyLDcgKzE1Miw5IEBAIHZvaWQgV2ViU1dDb250
ZXh0TWFuYWdlckNvbm5lY3Rpb246Omluc3RhbGxTZXJ2aWNlV29ya2VyKFNlcnZpY2VXb3JrZXJD
b250ZXh0RGF0CiAKICAgICBwYWdlQ29uZmlndXJhdGlvbi5sb2FkZXJDbGllbnRGb3JNYWluRnJh
bWUgPSBtYWtlVW5pcXVlUmVmPFNlcnZpY2VXb3JrZXJGcmFtZUxvYWRlckNsaWVudD4obV93ZWJQ
YWdlUHJveHlJRCwgbV9wYWdlSUQsIEZyYW1lSWRlbnRpZmllcjo6Z2VuZXJhdGUoKSwgZWZmZWN0
aXZlVXNlckFnZW50KTsKIAorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogICAgIGF1dG8gc2Vy
dmljZVdvcmtlcklkZW50aWZpZXIgPSBkYXRhLnNlcnZpY2VXb3JrZXJJZGVudGlmaWVyOworI2Vu
ZGlmCiAgICAgYXV0byBzZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkgPSBTZXJ2aWNlV29ya2VyVGhy
ZWFkUHJveHk6OmNyZWF0ZShXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uKSwgV1RGTW92ZShkYXRh
KSwgV1RGTW92ZShlZmZlY3RpdmVVc2VyQWdlbnQpLCBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5j
YWNoZVN0b3JhZ2VQcm92aWRlcigpLCBtX3N0b3JhZ2VCbG9ja2luZ1BvbGljeSk7CiAgICAgU1dD
b250ZXh0TWFuYWdlcjo6c2luZ2xldG9uKCkucmVnaXN0ZXJTZXJ2aWNlV29ya2VyVGhyZWFkRm9y
SW5zdGFsbChXVEZNb3ZlKHNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eSkpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJVUkxTY2hlbWVUYXNrUHJveHku
Y3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViVVJMU2NoZW1lVGFza1By
b3h5LmNwcAppbmRleCAzMjA0ZWRmZDIzMGMuLjExMmZlZTI0YTFjMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViVVJMU2NoZW1lVGFza1Byb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJVUkxTY2hlbWVUYXNrUHJv
eHkuY3BwCkBAIC01Miw2ICs1Miw3IEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwogCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiBzdGF0aWMgdWludDY0
X3QgcGFnZUlERnJvbVdlYkZyYW1lKGNvbnN0IFJlZlB0cjxXZWJGcmFtZT4mIGZyYW1lKQogewog
ICAgIGlmIChmcmFtZSkgewpAQCAtNjcsNiArNjgsNyBAQCBzdGF0aWMgdWludDY0X3QgZnJhbWVJ
REZyb21XZWJGcmFtZShjb25zdCBSZWZQdHI8V2ViRnJhbWU+JiBmcmFtZSkKICAgICAgICAgcmV0
dXJuIGZyYW1lLT5mcmFtZUlEKCkudG9VSW50NjQoKTsKICAgICByZXR1cm4gMDsKIH0KKyNlbmRp
ZgogCiBXZWJVUkxTY2hlbWVUYXNrUHJveHk6OldlYlVSTFNjaGVtZVRhc2tQcm94eShXZWJVUkxT
Y2hlbWVIYW5kbGVyUHJveHkmIGhhbmRsZXIsIFJlc291cmNlTG9hZGVyJiBsb2FkZXIsIFdlYkZy
YW1lJiBmcmFtZSkKICAgICA6IG1fdXJsU2NoZW1lSGFuZGxlcihoYW5kbGVyKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IDFjNjRlZmJiYTM4OS4uMGNlNDA5Y2Ni
OTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0yMTgsOCAr
MjE4LDEzIEBACiAKICN1bmRlZiBSRUxFQVNFX0xPR19JRl9BTExPV0VECiAjZGVmaW5lIFJFTEVB
U0VfTE9HX1NFU1NJT05fSUQgKG1fc2Vzc2lvbklEID8gbV9zZXNzaW9uSUQtPnRvVUludDY0KCkg
OiAwKQorI2lmIFJFTEVBU0VfTE9HX0RJU0FCTEVECisjZGVmaW5lIFJFTEVBU0VfTE9HX0lGX0FM
TE9XRUQoY2hhbm5lbCwgZm10LCAuLi4pIFVOVVNFRF9WQVJJQUJMRSh0aGlzKQorI2RlZmluZSBS
RUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKGNoYW5uZWwsIGZtdCwgLi4uKSBVTlVTRURfVkFS
SUFCTEUodGhpcykKKyNlbHNlCiAjZGVmaW5lIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoY2hhbm5l
bCwgZm10LCAuLi4pIFJFTEVBU0VfTE9HX0lGKGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBj
aGFubmVsLCAiJXAgLSBbc2Vzc2lvbklEPSUiIFBSSXU2NCAiXSBXZWJQcm9jZXNzOjoiIGZtdCwg
dGhpcywgUkVMRUFTRV9MT0dfU0VTU0lPTl9JRCwgIyNfX1ZBX0FSR1NfXykKICNkZWZpbmUgUkVM
RUFTRV9MT0dfRVJST1JfSUZfQUxMT1dFRChjaGFubmVsLCBmbXQsIC4uLikgUkVMRUFTRV9MT0df
RVJST1JfSUYoaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIGNoYW5uZWwsICIlcCAtIFtzZXNz
aW9uSUQ9JSIgUFJJdTY0ICJdIFdlYlByb2Nlc3M6OiIgZm10LCB0aGlzLCBSRUxFQVNFX0xPR19T
RVNTSU9OX0lELCAjI19fVkFfQVJHU19fKQorI2VuZGlmCiAKIC8vIFRoaXMgc2hvdWxkIGJlIGxl
c3MgdGhhbiBwbHVnSW5BdXRvU3RhcnRFeHBpcmF0aW9uVGltZVRocmVzaG9sZCBpbiBQbHVnSW5B
dXRvU3RhcnRQcm92aWRlci4KIHN0YXRpYyBjb25zdCBTZWNvbmRzIHBsdWdJbkF1dG9TdGFydEV4
cGlyYXRpb25UaW1lVXBkYXRlVGhyZXNob2xkIHsgMjkgKiAyNCAqIDYwICogNjAgfTsNCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>