<?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>103206</bug_id>
          
          <creation_ts>2012-11-25 15:49:10 -0800</creation_ts>
          <short_desc>Keep track of plug-in snapshots clicked by user</short_desc>
          <delta_ts>2012-12-10 17:34:10 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.8</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>
          <dependson>103655</dependson>
    
    <dependson>103664</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jon Lee">jonlee</reporter>
          <assigned_to name="Jon Lee">jonlee</assigned_to>
          <cc>abecsi</cc>
    
    <cc>andersca</cc>
    
    <cc>beidson</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>menard</cc>
    
    <cc>mjs</cc>
    
    <cc>msaboff</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>ojan</cc>
    
    <cc>peter+ews</cc>
    
    <cc>rakuco</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>775037</commentid>
    <comment_count>0</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-11-25 15:49:10 -0800</bug_when>
    <thetext>Plug-ins that are clicked by the user should start automatically the next time they are loaded.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775038</commentid>
    <comment_count>1</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-11-25 15:50:03 -0800</bug_when>
    <thetext>&lt;rdar://problem/12746483&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775975</commentid>
    <comment_count>2</comment_count>
      <attachid>176092</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-11-26 15:31:48 -0800</bug_when>
    <thetext>Created attachment 176092
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775996</commentid>
    <comment_count>3</comment_count>
      <attachid>176092</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2012-11-26 15:50:41 -0800</bug_when>
    <thetext>Comment on attachment 176092
Patch

Attachment 176092 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/14991730</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776516</commentid>
    <comment_count>4</comment_count>
      <attachid>176207</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-11-27 02:14:44 -0800</bug_when>
    <thetext>Created attachment 176207
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776555</commentid>
    <comment_count>5</comment_count>
      <attachid>176207</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2012-11-27 03:01:50 -0800</bug_when>
    <thetext>Comment on attachment 176207
Patch

Attachment 176207 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/15016033</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776826</commentid>
    <comment_count>6</comment_count>
      <attachid>176207</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-27 09:04:07 -0800</bug_when>
    <thetext>Comment on attachment 176207
Patch

Attachment 176207 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15018100</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776930</commentid>
    <comment_count>7</comment_count>
      <attachid>176292</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-11-27 10:18:09 -0800</bug_when>
    <thetext>Created attachment 176292
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777051</commentid>
    <comment_count>8</comment_count>
      <attachid>176292</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2012-11-27 11:50:13 -0800</bug_when>
    <thetext>Comment on attachment 176292
Patch

Attachment 176292 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/15015168</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777090</commentid>
    <comment_count>9</comment_count>
      <attachid>176318</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-11-27 12:12:09 -0800</bug_when>
    <thetext>Created attachment 176318
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777091</commentid>
    <comment_count>10</comment_count>
      <attachid>176292</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-11-27 12:12:36 -0800</bug_when>
    <thetext>Comment on attachment 176292
Patch

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

&gt; Source/WebKit/efl/ChangeLog:13
&gt; +        (PlatformStrategiesEfl):

Should remove bogus lines like this from change logs.

&gt; Source/WebKit/gtk/ChangeLog:13
&gt; +        (PlatformStrategiesGtk):

And this.

&gt; Source/WebKit/mac/ChangeLog:10
&gt; +        (WebPlatformStrategies):

And this.

&gt; Source/WebKit/qt/ChangeLog:13
&gt; +        (PlatformStrategiesQt):

And this.

&gt; Source/WebKit/win/ChangeLog:13
&gt; +        (WebPlatformStrategies):

And this.

&gt; Source/WebKit/wince/ChangeLog:13
&gt; +        (PlatformStrategiesWinCE):

And this.

&gt; Source/WebCore/html/HTMLPlugInImageElement.cpp:295
&gt; +    m_plugInOriginHash = plugInOriginHash(document()-&gt;page(), url);

This assumes that page is non-null.

&gt; Source/WebCore/html/HTMLPlugInImageElement.cpp:296
&gt; +    if (document()-&gt;page()

Then this checks that page is non-null. Too late by now because plugInOriginHash would have crashed.

&gt; Source/WebCore/platform/PlugInOriginHash.cpp:38
&gt; +static ALWAYS_INLINE PlugInOriginHash plugInOriginHashInline(const CharacterType* origin, unsigned length)

Why is ALWAYS_INLINE needed rather than just inline?

&gt; Source/WebCore/platform/PlugInOriginHash.cpp:40
&gt; +    return AlreadyHashed::avoidDeletedValue(StringHasher::computeHash(origin, length));

I think this should be a case folding hash.

This returns a 64-bit type, but I believe StringHasher returns only a 32-bit value.

&gt; Source/WebCore/platform/PlugInOriginHash.cpp:45
&gt; +    const KURL&amp; mainFrameBaseURL = page-&gt;mainFrame()-&gt;document()-&gt;baseURL();

This local variable is not needed. The code reads more clearly without it.

&gt; Source/WebCore/platform/PlugInOriginHash.cpp:50
&gt; +    StringBuilder builder;
&gt; +    builder.append(mainFrameBaseURL.host());
&gt; +    builder.append(srcURL.host());
&gt; +
&gt; +    String hashString = builder.toString();

Building a concatenated string is not an efficient way to hash the two strings because of the additional memory allocation needed. There are alternate approaches that don’t require memory allocation or that don’t require copying all the characters. It’s a little strange to go to the trouble of making an optimized 8-bit code path when the performance cost of building the string in the first place is pretty high.

Normally we’d include a separator between the two strings to get hashed in the right way.

&gt; Source/WebCore/platform/PlugInOriginHash.cpp:51
&gt; +    ASSERT(hashString.length());

What guarantees the URLs have non-empty host strings? What if they are both file URLs?

&gt; Source/WebKit/qt/WebCoreSupport/PlatformStrategiesQt.cpp:161
&gt; +    // FIXME: Implement.

Is it really right to say we need these implemented on every platform? Not every platform will necessarily want this feature. It’s be nice to not put all these FIXMEs in, since there’s nothing to fix unless someone wants this feature to work.

&gt; Source/WebKit2/Shared/Plugins/PlugInAutoStartTable.h:35
&gt; +typedef HashSet&lt;WebCore::PlugInOriginHash&gt; PlugInAutoStartTable;

I’m not sure it’s worth having a while header file just for a HashSet typedef. We could just repeat the type twice in the two file it’s used in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777171</commentid>
    <comment_count>11</comment_count>
      <attachid>176318</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-11-27 13:31:01 -0800</bug_when>
    <thetext>Comment on attachment 176318
Patch

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

&gt; Source/WebCore/platform/PlugInOriginHash.cpp:54
&gt; +    return plugInOriginHashInline(hashString.characters(), hashString.length());

Use characters16() since we know the string is 16 bits at this point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777182</commentid>
    <comment_count>12</comment_count>
      <attachid>176292</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-11-27 13:44:09 -0800</bug_when>
    <thetext>Comment on attachment 176292
Patch

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

&gt;&gt; Source/WebKit/efl/ChangeLog:13
&gt;&gt; +        (PlatformStrategiesEfl):
&gt; 
&gt; Should remove bogus lines like this from change logs.

I&apos;ve removed all of these.

&gt;&gt; Source/WebCore/html/HTMLPlugInImageElement.cpp:295
&gt;&gt; +    m_plugInOriginHash = plugInOriginHash(document()-&gt;page(), url);
&gt; 
&gt; This assumes that page is non-null.

Added a check for page before this assignment...

&gt;&gt; Source/WebCore/html/HTMLPlugInImageElement.cpp:296
&gt;&gt; +    if (document()-&gt;page()
&gt; 
&gt; Then this checks that page is non-null. Too late by now because plugInOriginHash would have crashed.

... and removed this check here.

&gt;&gt; Source/WebCore/platform/PlugInOriginHash.cpp:38
&gt;&gt; +static ALWAYS_INLINE PlugInOriginHash plugInOriginHashInline(const CharacterType* origin, unsigned length)
&gt; 
&gt; Why is ALWAYS_INLINE needed rather than just inline?

I took this from VisitedLinkHash, but after talking with Michael about this realized it was unnecessary. Switched to inline.

&gt;&gt; Source/WebCore/platform/PlugInOriginHash.cpp:40
&gt;&gt; +    return AlreadyHashed::avoidDeletedValue(StringHasher::computeHash(origin, length));
&gt; 
&gt; I think this should be a case folding hash.
&gt; 
&gt; This returns a 64-bit type, but I believe StringHasher returns only a 32-bit value.

Yes. A different scheme will be used (see below).

&gt;&gt; Source/WebCore/platform/PlugInOriginHash.cpp:45
&gt;&gt; +    const KURL&amp; mainFrameBaseURL = page-&gt;mainFrame()-&gt;document()-&gt;baseURL();
&gt; 
&gt; This local variable is not needed. The code reads more clearly without it.

Done.

&gt;&gt; Source/WebCore/platform/PlugInOriginHash.cpp:50
&gt;&gt; +    String hashString = builder.toString();
&gt; 
&gt; Building a concatenated string is not an efficient way to hash the two strings because of the additional memory allocation needed. There are alternate approaches that don’t require memory allocation or that don’t require copying all the characters. It’s a little strange to go to the trouble of making an optimized 8-bit code path when the performance cost of building the string in the first place is pretty high.
&gt; 
&gt; Normally we’d include a separator between the two strings to get hashed in the right way.

We can expand the hash space by instead hashing the two origins separately and then concatenating them into a 64-bit hash. We avoid the allocation that way, also.

&gt;&gt; Source/WebCore/platform/PlugInOriginHash.cpp:51
&gt;&gt; +    ASSERT(hashString.length());
&gt; 
&gt; What guarantees the URLs have non-empty host strings? What if they are both file URLs?

I&apos;ll add a check for an empty string, and substitute &quot;localhost&quot; in that case.

&gt;&gt; Source/WebKit/qt/WebCoreSupport/PlatformStrategiesQt.cpp:161
&gt;&gt; +    // FIXME: Implement.
&gt; 
&gt; Is it really right to say we need these implemented on every platform? Not every platform will necessarily want this feature. It’s be nice to not put all these FIXMEs in, since there’s nothing to fix unless someone wants this feature to work.

I&apos;ve remove them.

&gt;&gt; Source/WebKit2/Shared/Plugins/PlugInAutoStartTable.h:35
&gt;&gt; +typedef HashSet&lt;WebCore::PlugInOriginHash&gt; PlugInAutoStartTable;
&gt; 
&gt; I’m not sure it’s worth having a while header file just for a HashSet typedef. We could just repeat the type twice in the two file it’s used in.

I agree, but this was included in anticipation of switching to a shared memory model instead of a copied model, like the visited link table.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777295</commentid>
    <comment_count>13</comment_count>
      <attachid>176354</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-11-27 15:59:36 -0800</bug_when>
    <thetext>Created attachment 176354
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777320</commentid>
    <comment_count>14</comment_count>
      <attachid>176354</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-11-27 16:11:05 -0800</bug_when>
    <thetext>Comment on attachment 176354
Patch

Attachment 176354 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/15018211</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777325</commentid>
    <comment_count>15</comment_count>
      <attachid>176354</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-11-27 16:13:32 -0800</bug_when>
    <thetext>Comment on attachment 176354
Patch

Attachment 176354 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/15000827</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777327</commentid>
    <comment_count>16</comment_count>
      <attachid>176360</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-11-27 16:13:57 -0800</bug_when>
    <thetext>Created attachment 176360
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777479</commentid>
    <comment_count>17</comment_count>
      <attachid>176388</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-11-27 20:22:18 -0800</bug_when>
    <thetext>Created attachment 176388
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779441</commentid>
    <comment_count>18</comment_count>
      <attachid>176817</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-11-29 14:26:47 -0800</bug_when>
    <thetext>Created attachment 176817
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785747</commentid>
    <comment_count>19</comment_count>
      <attachid>178185</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-12-07 01:38:18 -0800</bug_when>
    <thetext>Created attachment 178185
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785752</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-07 01:43:01 -0800</bug_when>
    <thetext>Attachment 178185 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebCore/page/Page.h:175:  More than one command on the same line in if  [whitespace/parens] [4]
Source/WebCore/page/Page.h:255:  The parameter name &quot;volume&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 in 29 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787771</commentid>
    <comment_count>21</comment_count>
      <attachid>178649</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-12-10 15:24:59 -0800</bug_when>
    <thetext>Created attachment 178649
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787885</commentid>
    <comment_count>22</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-12-10 17:34:10 -0800</bug_when>
    <thetext>Committed r137230: &lt;http://trac.webkit.org/changeset/137230&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176092</attachid>
            <date>2012-11-26 15:31:48 -0800</date>
            <delta_ts>2012-11-27 02:14:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103206-20121126152926.patch</filename>
            <type>text/plain</type>
            <size>63597</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NzY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWQwZTc3ZWExZTBjN2Yy
Y2IzYTYzZjEyNzJkZDM0ZjMwMTYyMGFjZS4uNDMyYmZlNGNiOTMyOTNiYTk3NGJmMjhhNWExYzhi
MzJlOTFhODhjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEyLTExLTI1ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBLZWVwIHRyYWNrIG9mIHBsdWctaW4g
c25hcHNob3RzIGNsaWNrZWQgYnkgdXNlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjc0NjQ4
Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCZXR3
ZWVuIHRoZSBVSSBhbmQgd2ViIHByb2Nlc3NlcyB3ZSBrZWVwIHRyYWNrIG9mICJvcmlnaW4gaGFz
aGVzIiwgd2hpY2ggYXJlIGJhc2VkIG9uIGEgY29tYmluYXRpb24gb2YKKyAgICAgICAgdGhlIGJh
c2UgZG9tYWlucyBvZiB0aGUgcGFnZSdzIG1haW4gZnJhbWUgYW5kIHRoZSBwbHVnaW4uCisKKyAg
ICAgICAgQmVjYXVzZSB0aGUgYWN0dWFsIFVSTCBsb2FkZWQgZm9yIHRoZSBwbHVnaW4gbWlnaHQg
ZGlmZmVyIGZyb20gdGhlIG9uZSBvcmlnaW5hbGx5IHNwZWNpZmllZCwKKyAgICAgICAgd2Ugd2Fp
dCB1bnRpbCB0aGUgcGx1Zy1pbiBpcyBhYm91dCB0byBiZSBjcmVhdGVkIHRvIGdldCB0aGUgaGFz
aC4gVGhlIGhhc2ggaXMgY2FjaGVkLCBzbyB0aGF0IHdoZW4gdGhlCisgICAgICAgIHVzZXIgY2xp
Y2tzIG9uIHRoZSBwbHVnLWluIHNuYXBzaG90LCB0aGUgaGFzaCBjYW4gYmUgYWRkZWQgdG8gdGhl
IGxpc3Qgb2YgZG9tYWluIGhhc2hlcyB0aGF0IHNob3VsZAorICAgICAgICBhdXRvLXN0YXJ0Lgor
CisgICAgICAgICogcGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5jcHA6IEFkZGVkLiBJbnNwaXJl
ZCBieSBWaXNpdGVkTGlua0hhc2guCisgICAgICAgIChXZWJDb3JlOjpwbHVnSW5PcmlnaW5IYXNo
SW5saW5lKTogSGFzaCB0aGUgY2hhcmFjdGVyIGRhdGEuCisgICAgICAgIChXZWJDb3JlOjpwbHVn
SW5PcmlnaW5IYXNoKTogQ29uY2F0ZW5hdGUgdGhlIG9yaWdpbiBvZiB0aGUgbWFpbiBmcmFtZSdz
IGRvY3VtZW50LCBhbmQgdGhhdCBvZiB0aGUKKyAgICAgICAgcGx1Zy1pbidzIFVSTC4gVGhhdCBj
b21iaW5lZCBzdHJpbmcgaXMgd2hhdCB3ZSBoYXNoLgorICAgICAgICAqIHBsYXRmb3JtL1BsdWdJ
bk9yaWdpbkhhc2guaDogQWRkZWQuCisKKyAgICAgICAgKiBwbHVnaW5zL1BsdWdpblN0cmF0ZWd5
Lmg6CisgICAgICAgIChQbHVnaW5TdHJhdGVneSk6IEFkZCBuZXcgZnVuY3Rpb25zIHRvIHRoZSBw
bHVnLWluIHN0cmF0ZWd5LCBmb3IgY2hlY2tpbmcgd2hldGhlciBwbHVnLWlucyB3aXRoIGEKKyAg
ICAgICAgY2VydGFpbiBvcmlnaW4gaGFzaCBhcmUgbWFya2VkIGZvciBhdXRvLWxvYWQsIGFuZCBm
b3IgYWRkaW5nIGEgbmV3IG9yaWdpbiBoYXNoLgorCisgICAgICAgICogaHRtbC9IVE1MUGx1Z0lu
SW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5JbWFnZUVsZW1l
bnQ6OkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQpOiBJbml0aWFsbHkgdGhlIGhhc2ggaXMgdW5rbm93
bi4gU2V0IHRvIDAuCisgICAgICAgIE1vdmUgdGhlIGNoZWNrIGZvciB3aGV0aGVyIHRvIHNuYXBz
aG90IHRoZSBwbHVnaW4gaW50byB0aGUgbmV3IGZ1bmN0aW9uIHN1YmZyYW1lTG9hZGVyV2lsbExv
YWRQbHVnSW4uCisgICAgICAgIChXZWJDb3JlOjpIVE1MUGx1Z0luSW1hZ2VFbGVtZW50Ojp1c2Vy
RGlkQ2xpY2tTbmFwc2hvdCk6IFJlbmFtZSBzZXRQZW5kaW5nQ2xpY2tFdmVudCgpIHRvCisgICAg
ICAgIHVzZXJEaWRDbGlja1NuYXBzaG90LiBJbiBhZGRpdGlvbiB0byBob2xkaW5nIG9udG8gdGhl
IGNsaWNrIGV2ZW50IHVzZWQgdG8gYWN0aXZhdGUgdGhlIHBsdWctaW4sIHRoZQorICAgICAgICBm
dW5jdGlvbiBub3cgYWxzbyB0ZWxscyB0aGUgcGx1Z2luIHN0cmF0ZWd5IHRvIGFkZCB0aGUgb3Jp
Z2luIGhhc2ggYXMgYW4gYXV0by1zdGFydCBvcmlnaW4uCisgICAgICAgIChXZWJDb3JlOjpIVE1M
UGx1Z0luSW1hZ2VFbGVtZW50OjpzdWJmcmFtZUxvYWRlcldpbGxMb2FkUGx1Z0luKTogQ2FsY3Vs
YXRlIHRoZSBoYXNoIGJhc2VkIG9uIHRoZQorICAgICAgICBwcm92aWRlZCBVUkwsIHdoaWNoIGlz
IHRoZSBVUkwgdGhlIHBsdWctaW4gd2lsbCBsb2FkLiBFeHRlbmQgdGhlIGNoZWNrIHRoYXQgdXNl
ZCB0byBiZSBpbiB0aGUKKyAgICAgICAgY29uc3RydWN0b3IgdG8gc2VlIGlmIHRoZSBwbHVnLWlu
IHNob3VsZCBub3QgYXV0b21hdGljYWxseSBsb2FkLgorICAgICAgICAqIGh0bWwvSFRNTFBsdWdJ
bkltYWdlRWxlbWVudC5oOgorICAgICAgICAoSFRNTFBsdWdJbkltYWdlRWxlbWVudCk6IEFkZCBh
biBpdmFyIHRvIG1haW50YWluIGEgY29weSBvZiB0aGUgaGFzaC4KKworICAgICAgICAqIGxvYWRl
ci9TdWJmcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdWJmcmFtZUxvYWRlcjo6
cmVxdWVzdFBsdWdpbik6IFdoZW4gdGhlIGxvYWRlciBpcyBhYm91dCB0byBsb2FkIHRoZSBwbHVn
LWluLCBwYXNzIHRoZQorICAgICAgICBVUkwgdG8gdGhlIGVsZW1lbnQsIHNvIHRoYXQgaXQgY2Fu
IGNhbGN1bGF0ZSB0aGUgaGFzaC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTbmFwc2hv
dHRlZFBsdWdJbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTbmFwc2hvdHRlZFBsdWdJ
bjo6aGFuZGxlRXZlbnQpOiBDYWxsIHRoZSByZW5hbWVkIGZ1bmN0aW9uIHVzZXJEaWRDbGlja1Nu
YXBzaG90KCkuCisKKyAgICAgICAgQWRkIFBsdWdJbk9yaWdpbkhhc2gue2NwcCxofS4KKyAgICAg
ICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAg
ICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxMi0x
MS0yNiAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CiAKICAgICAgICAgUGFzcyBjbGlja3Mg
dGhyb3VnaCB0byB0aGUgcmVzdGFydGVkIHBsdWdpbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9lZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4IDIwMDdj
NTM1NDVjMzViMzVhMzRmODUyODQ1OGFjMDA1NDRkMTBlMDIuLmVmOWFiZmE3MWNiNDM1ZjIzYWMx
ZTYyMGNiYmViZjUxM2Q4OWIwMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAor
MjAxMi0xMS0yNSAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKKyAgICAgICAgS2VlcCB0
cmFjayBvZiBwbHVnLWluIHNuYXBzaG90cyBjbGlja2VkIGJ5IHVzZXIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzIwNgorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMTI3NDY0ODM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwuY3BwOiBT
dHViIGltcGxlbWVudGF0aW9ucy4KKyAgICAgICAgKFBsYXRmb3JtU3RyYXRlZ2llc0VmbDo6aXNB
dXRvU3RhcnRPcmlnaW4pOgorICAgICAgICAoUGxhdGZvcm1TdHJhdGVnaWVzRWZsOjphZGRBdXRv
U3RhcnRPcmlnaW4pOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2ll
c0VmbC5oOgorICAgICAgICAoUGxhdGZvcm1TdHJhdGVnaWVzRWZsKToKKwogMjAxMi0xMS0yNCAg
VmlhdGNoZXNsYXYgT3N0YXBlbmtvICA8di5vc3RhcGVua29Ac2Ftc3VuZy5jb20+CiAKICAgICAg
ICAgW0VGTF0gTGF5b3V0IHRlc3QgY29tZXMgdG8gY3Jhc2ggb24gV0sxCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
aW5kZXggYmY5NjQxYjQzYThlMWRlNTc2N2M2ZmU2NGUyNDI2MWRhOTcyOWRmMS4uZWM2ZjRhM2Jj
NjNiZjM0NjExOTE1YjU2MWI3ZGVlZDhmNzAxMmI4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE3IEBACisyMDEyLTExLTI1ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAg
ICAgICBLZWVwIHRyYWNrIG9mIHBsdWctaW4gc25hcHNob3RzIGNsaWNrZWQgYnkgdXNlcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjA2CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8xMjc0NjQ4Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2ll
c0d0ay5jcHA6IFN0dWIgaW1wbGVtZW50YXRpb25zLgorICAgICAgICAoUGxhdGZvcm1TdHJhdGVn
aWVzR3RrOjppc0F1dG9TdGFydE9yaWdpbik6CisgICAgICAgIChQbGF0Zm9ybVN0cmF0ZWdpZXNH
dGs6OmFkZEF1dG9TdGFydE9yaWdpbik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUGxhdGZv
cm1TdHJhdGVnaWVzR3RrLmg6CisgICAgICAgIChQbGF0Zm9ybVN0cmF0ZWdpZXNHdGspOgorCiAy
MDEyLTExLTI1ICBLYXVzdHViaCBBdHJhd2Fsa2FyICA8a2F1c3R1YmhAbW90b3JvbGEuY29tPgog
CiAgICAgICAgIFJlbW92ZSBkZXByZWNhdGVkIGxvYWQtZG9uZSBzaWduYWwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwppbmRleCBhMWVhZmNkNjNhMTc2OTE5MjZjOGZjMzU3NDNlNDIwOGU5ZjBkYzkxLi44ZjQxMWM0
YzQ1Mjg0Yzc0Njk4MzZhZmMyYWJmNDQ3ZDVlM2FjOWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTItMTEtMjUgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCisg
ICAgICAgIEtlZXAgdHJhY2sgb2YgcGx1Zy1pbiBzbmFwc2hvdHMgY2xpY2tlZCBieSB1c2VyCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyMDYKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyNzQ2NDgzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJh
dGVnaWVzLmg6CisgICAgICAgIChXZWJQbGF0Zm9ybVN0cmF0ZWdpZXMpOgorICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbTogU3R1YiBpbXBsZW1lbnRhdGlv
bnMuCisgICAgICAgIChXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmlzQXV0b1N0YXJ0T3JpZ2luKToK
KyAgICAgICAgKFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6YWRkQXV0b1N0YXJ0T3JpZ2luKToKKwog
MjAxMi0xMS0yMyAgQWxleGlzIE1lbmFyZCAgPGFsZXhpc0B3ZWJraXQub3JnPgogCiAgICAgICAg
IFtDU1MzIEJhY2tncm91bmRzIGFuZCBCb3JkZXJzXSBJbXBsZW1lbnQgbmV3IENTUzMgYmFja2dy
b3VuZC1wb3NpdGlvbiBwYXJzaW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCBmOGJhNjVmZjg0ODUyOWFj
ZjgyODE4NzUyNmVmZjYxMjk5MzMzYjRmLi5jYjgwZjJiZTdmNDVmYWY1MzQzOGExOTgxMDU5YmQz
ODZjYWE2MDA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTExLTI1ICBK
b24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBLZWVwIHRyYWNrIG9mIHBsdWct
aW4gc25hcHNob3RzIGNsaWNrZWQgYnkgdXNlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjc0
NjQ4Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1F0LmNwcDogU3R1YiBpbXBsZW1lbnRh
dGlvbnMuCisgICAgICAgIChQbGF0Zm9ybVN0cmF0ZWdpZXNRdDo6aXNBdXRvU3RhcnRPcmlnaW4p
OgorICAgICAgICAoUGxhdGZvcm1TdHJhdGVnaWVzUXQ6OmFkZEF1dG9TdGFydE9yaWdpbik6Cisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQuaDoKKyAgICAgICAg
KFBsYXRmb3JtU3RyYXRlZ2llc1F0KToKKwogMjAxMi0xMS0yNiAgUGllcnJlIFJvc3NpICA8cGll
cnJlLnJvc3NpQGdtYWlsLmNvbT4KIAogICAgICAgICBbUXRdIFJFR1JFU1NJT04ocjEzNTU3NSk6
IEl0IG1hZGUgYWxsIHRlc3RzIGFzc2VydApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4v
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDJlNDBkYWQ1MmNi
YjBkMzkxMjU2YWUyMjM0N2RiNTY2ODBmZDFiNDcuLjdmZDVmNmJhM2JlMmM1NTliYjdlMDg4MmMy
ZjNiMmZmYTk3NmE4MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0x
MS0yNSAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKKyAgICAgICAgS2VlcCB0cmFjayBv
ZiBwbHVnLWluIHNuYXBzaG90cyBjbGlja2VkIGJ5IHVzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzIwNgorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vMTI3NDY0ODM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwOiBTdHViIGlt
cGxlbWVudGF0aW9ucy4KKyAgICAgICAgKFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6aXNBdXRvU3Rh
cnRPcmlnaW4pOgorICAgICAgICAoV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjphZGRBdXRvU3RhcnRP
cmlnaW4pOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5o
OgorICAgICAgICAoV2ViUGxhdGZvcm1TdHJhdGVnaWVzKToKKwogMjAxMi0xMS0yMSAgQWxsYW4g
U2FuZGZlbGQgSmVuc2VuICA8YWxsYW4uamVuc2VuQGRpZ2lhLmNvbT4KIAogICAgICAgICBEaXNh
bWJpZ3VhdGUgaW5uZXJOb2RlRnJhbWVQb2ludCBhbmQgbWFpbkZyYW1lUG9pbnQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW5jZS9D
aGFuZ2VMb2cKaW5kZXggMGIxY2FlMTMxNzcyNGEzYTNmNGVkMmNmZTlkOGRhNGJkNTM5NzRkNi4u
Mjg0YTBmODFmYWE4NGFiMzcwOTQwZTE5MTc3NDI2NDIyYzUzMmQ5NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW5jZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMS0yNSAgSm9uIExlZSAgPGpvbmxlZUBhcHBs
ZS5jb20+CisKKyAgICAgICAgS2VlcCB0cmFjayBvZiBwbHVnLWluIHNuYXBzaG90cyBjbGlja2Vk
IGJ5IHVzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwMzIwNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTI3NDY0ODM+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QbGF0
Zm9ybVN0cmF0ZWdpZXNXaW5DRS5jcHA6IFN0dWIgaW1wbGVtZW50YXRpb25zLgorICAgICAgICAo
UGxhdGZvcm1TdHJhdGVnaWVzV2luQ0U6OmlzQXV0b1N0YXJ0T3JpZ2luKToKKyAgICAgICAgKFBs
YXRmb3JtU3RyYXRlZ2llc1dpbkNFOjphZGRBdXRvU3RhcnRPcmlnaW4pOgorICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNFLmg6CisgICAgICAgIChQbGF0Zm9y
bVN0cmF0ZWdpZXNXaW5DRSk6CisKIDIwMTItMTEtMjAgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJl
dmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIx
MzUyOTUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKaW5kZXggMjc4ZGI1YTliMDA1ODdiZDkxM2RiNGMxOWFlZGZhZmNlNTIx
ZWQ4MC4uOWVmYzg3YTJhZmI4Yzk4NDY0MGU2NWQyN2ZhOTkzMTM0MzZjNjJlOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDQ2IEBACisyMDEyLTExLTI1ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNv
bT4KKworICAgICAgICBLZWVwIHRyYWNrIG9mIHBsdWctaW4gc25hcHNob3RzIGNsaWNrZWQgYnkg
dXNlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAz
MjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjc0NjQ4Mz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL1BsdWdJbkF1
dG9TdGFydFRhYmxlLmg6IEluc3BpcmVkIGJ5IFZpc2l0ZWRMaW5rVGFibGUuIEZvciBub3csIG1h
a2UgdGhlIHRhYmxlIGEKKyAgICAgICAgc2ltcGxlIHNldCBvZiBoYXNoZXMuIExhdGVyIHdlIGNv
dWxkIGNvbnZlcnQgdGhpcyB0byBhIHNoYXJlZCBtZW1vcnkgdGFibGUuCisgICAgICAgICogVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwOiBBZGRlZC4gQ3JlYXRl
IGEgcHJvdmlkZXIgdGhhdCBtYW5hZ2VzIHRoZSBVSSBwcm9jZXNzJworICAgICAgICBjb3B5IG9m
IHRoZSB0YWJsZS4KKyAgICAgICAgKFdlYktpdDo6UGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXI6OlBs
dWdJbkF1dG9TdGFydFByb3ZpZGVyKToKKyAgICAgICAgKFdlYktpdDo6UGx1Z0luQXV0b1N0YXJ0
UHJvdmlkZXI6OmFkZEF1dG9TdGFydE9yaWdpbik6IEFkZCB0aGUgaGFzaCBpZiBuZWNlc3Nhcnks
IGFuZCBicm9hZGNhc3QgdG8KKyAgICAgICAgYWxsIHdlYiBwcm9jZXNzZXMuCisgICAgICAgICog
VUlQcm9jZXNzL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaDogQWRkZWQuCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViQ29udGV4dC5tZXNzYWdlcy5pbjogQ3JlYXRlIGEgbmV3IG1l
c3NhZ2UgdGhhdCBhZGRzIGEgbmV3IGhhc2guCisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbnRl
eHQuY3BwOiBBZGQgdGhlIHBsdWctaW4gYXV0by1zdGFydCBwcm92aWRlci4KKyAgICAgICAgKFdl
YktpdDo6V2ViQ29udGV4dDo6V2ViQ29udGV4dCk6IEluaXRpYWxpemUgdGhlIHByb3ZpZGVyLgor
ICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjphZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW5IYXNo
KTogVGVsbCB0aGUgcHJvdmlkZXIgdG8gYWRkIHRoZSBoYXNoLgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJDb250ZXh0Lmg6CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YlBsYXRmb3JtU3RyYXRlZ2llcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXRmb3JtU3Ry
YXRlZ2llczo6aXNBdXRvU3RhcnRPcmlnaW4pOiBGb3J3YXJkIHRvIFdlYlByb2Nlc3MuCisgICAg
ICAgIChXZWJLaXQ6OldlYlBsYXRmb3JtU3RyYXRlZ2llczo6YWRkQXV0b1N0YXJ0T3JpZ2luKTog
Rm9yd2FyZCB0byBXZWJQcm9jZXNzLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmg6CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjppc1BsdWdJbkF1dG9TdGFy
dE9yaWdpbik6IExvb2tzIGluIHRoZSB0YWJsZSB0byBzZWUgaWYgdGhlIGhhc2ggYWxyZWFkeSBl
eGlzdHMuCisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmFkZFBsdWdJbkF1dG9TdGFydE9y
aWdpbik6IElmIHRoZSBoYXNoIGlzIG5vdCBhbHJlYWR5IGluIHRoZSB0YWJsZSwgbWVzc2FnZSB0
aGUgVUkKKyAgICAgICAgcHJvY2VzcyB0byBhZGQgaXQuCisgICAgICAgIChXZWJLaXQ6OldlYlBy
b2Nlc3M6OnBsdWdJbkF1dG9TdGFydE9yaWdpbkNoYW5nZWQpOiBDYWxsZWQgd2hlbiB0aGUgVUkg
cHJvY2VzcyBicm9hZGNhc3RzIHRvIHRoZSB3ZWIKKyAgICAgICAgcHJvY2VzcyB0aGF0IGEgaGFz
aCBoYXMgYmVlbiBhZGRlZC4gQWRkIHRoYXQgaGFzaCB0byB0aGUgd2ViIHByb2Nlc3MnIGNvcHkg
b2YgdGhlIHRhYmxlLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjogQWRkIGEgbmV3IG1lc3NhZ2Ug
Y2FsbGVkIGJ5IFVJIHByb2Nlc3Mgd2hlbiBhIG5ldyBoYXNoIGlzIGFkZGVkLgorCisgICAgICAg
IEFkZCBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci57Y3BwLGh9IGFuZCBQbHVnSW5BdXRvU3RhcnRU
YWJsZS5oLgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0
LnByaToKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogd2luL1dlYktpdDIudmNwcm9qOgorCiAyMDEyLTExLTI2ICBKb24gTGVlICA8am9ubGVl
QGFwcGxlLmNvbT4KIAogICAgICAgICBQYXNzIGNsaWNrcyB0aHJvdWdoIHRvIHRoZSByZXN0YXJ0
ZWQgcGx1Z2luCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
IGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBhZDg0YTI0ZjlkYzRk
ZmYxMmFiZjZmMzIzNzNmMzdiZGNiMGIyZGIwLi4xODdhMTQzOWZjZjQ3MmRjNWViMzVhNWZlMDFk
NTM0NmU3NmJlYTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTU5MjgsNiAr
NTkyOCw4IEBAIHdlYmNvcmVfcGxhdGZvcm1fc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vUGxhdGZvcm1TdHJhdGVnaWVzLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRm
b3JtV2hlZWxFdmVudC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbHVnSW5PcmlnaW5I
YXNoLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QT0RBcmVuYS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9QT0RGcmVlTGlzdEFyZW5hLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BP
REludGVydmFsLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1Nv
dXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggZGU5ZTNlN2IwMDIyY2ZkN2ZiYWYxZmIwYWM2
ZGU2ZmQzMDBhMTQ5Ni4uNjczYmEyNzM0NGVlZGM5ZjgzOTUzZGJlOWU2MDljNmVlMDJmYmM5NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9UYXJnZXQucHJpCkBAIC0xMDY4LDYgKzEwNjgsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBwbGF0
Zm9ybS9QbGF0Zm9ybUV2ZW50LmNwcCBcCiAgICAgcGxhdGZvcm0vUGxhdGZvcm1JbnN0cnVtZW50
YXRpb24uY3BwIFwKICAgICBwbGF0Zm9ybS9QbGF0Zm9ybU1lbW9yeUluc3RydW1lbnRhdGlvbi5j
cHAgXAorICAgIHBsYXRmb3JtL1BsdWdJbk9yaWdpbkhhc2guY3BwIFwKICAgICBwbGF0Zm9ybS9S
dW50aW1lQXBwbGljYXRpb25DaGVja3MuY3BwIFwKICAgICBwbGF0Zm9ybS9SdW5Mb29wLmNwcCBc
CiAgICAgcGxhdGZvcm0vU2NoZW1lUmVnaXN0cnkuY3BwIFwKQEAgLTIyNzAsNiArMjI3MSw3IEBA
IEhFQURFUlMgKz0gXAogICAgIHBsYXRmb3JtL1BsYXRmb3JtTWVtb3J5SW5zdHJ1bWVudGF0aW9u
LmggXAogICAgIHBsYXRmb3JtL1BsYXRmb3JtVG91Y2hFdmVudC5oIFwKICAgICBwbGF0Zm9ybS9Q
bGF0Zm9ybVRvdWNoUG9pbnQuaCBcCisgICAgcGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5oIFwK
ICAgICBwbGF0Zm9ybS9Qb3B1cE1lbnUuaCBcCiAgICAgcGxhdGZvcm0vUmVmZXJyZXJQb2xpY3ku
aCBcCiAgICAgcGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXgg
ZjQ2YzVmYjY2NDFkZjVmMDI1MzZkOTE2MzRhYzBlZTRkMmFmYzg4ZS4uYjM4ZjcwZjFhZWM1M2Fj
NGE3ODk1NjMyZTUwN2NmYmZlMmRiYTU1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMzE0LDYgKzMx
NCw3IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vUGxhdGZvcm1TY3JlZW4uaCcsCiAgICAgICAg
ICAgICAncGxhdGZvcm0vUGxhdGZvcm1TdHJhdGVnaWVzLmgnLAogICAgICAgICAgICAgJ3BsYXRm
b3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9QbHVnSW5P
cmlnaW5IYXNoLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL1BvcHVwTWVudS5oJywKICAgICAg
ICAgICAgICdwbGF0Zm9ybS9Qb3B1cE1lbnVDbGllbnQuaCcsCiAgICAgICAgICAgICAncGxhdGZv
cm0vUG9wdXBNZW51U3R5bGUuaCcsCkBAIC00NTAwLDYgKzQ1MDEsNyBAQAogICAgICAgICAgICAg
J3BsYXRmb3JtL1BsYXRmb3JtU3RyYXRlZ2llcy5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L1BsYXRmb3JtVG91Y2hFdmVudC5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9QbGF0Zm9ybVRv
dWNoUG9pbnQuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5oJywK
ICAgICAgICAgICAgICdwbGF0Zm9ybS9QcmVyZW5kZXJIYW5kbGUuaCcsCiAgICAgICAgICAgICAn
cGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL1JlZmVy
cmVyUG9saWN5LmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagppbmRleCAwMmI5NTczOWIxZmYyMjMwMzc1YzY3YmYzNzZkYzFjNzAyYmYzYmY3Li4wNWVi
OGMyYWY0MzMwZTcwYThmMTY1MTJkMGU2N2Y3MTZkYWExNTU5IDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMjg3MjYsNiArMjg3MjYsMTQgQEAK
IAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZv
cm1cUGx1Z0luT3JpZ2luSGFzaC5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXFBsdWdJbk9yaWdpbkhhc2guaCIKKwkJCQk+CisJ
CQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cUG9wdXBN
ZW51LmgiCiAJCQkJPgogCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDNiNjNiM2Q5MjhiY2M3MWRlNzM3N2UyMWYw
NmRhNmY3ODdiNzc1MzQuLmQ5ZDdlZmUyZDA2NTRmMjc3NTY5ZWMxNDBlOWI5ZGFjNjdlN2I3YTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTkzMyw2ICs5MzMsOCBAQAogCQkzMTlFNjlCNTEzMjk5QkJEMDA0QUM5MUEgLyogV2Vi
S2l0QW5pbWF0aW9uTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMTlFNjlBRjEzMjk5QkJEMDA0QUM5MUEgLyogV2ViS2l0QW5pbWF0aW9uTGlz
dC5jcHAgKi87IH07CiAJCTMxOUU2OUI2MTMyOTlCQkQwMDRBQzkxQSAvKiBXZWJLaXRBbmltYXRp
b25MaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
MTlFNjlCMDEzMjk5QkJEMDA0QUM5MUEgLyogV2ViS2l0QW5pbWF0aW9uTGlzdC5oICovOyB9Owog
CQkzMTlGQkQ1RjE1RDJGNDY0MDA5NjQwQTYgLyogQ2FjaGVkSW1hZ2VDbGllbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxOUZCRDVEMTVEMkY0NDQw
MDk2NDBBNiAvKiBDYWNoZWRJbWFnZUNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTMxQTY3RTRDMTY2MDMyNkEwMDZDQkE2NiAvKiBQbHVn
SW5PcmlnaW5IYXNoLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDMxQTY3RTRBMTY2MDMyNjkwMDZDQkE2NiAvKiBQbHVnSW5PcmlnaW5IYXNoLmNwcCAq
LzsgfTsKKwkJMzFBNjdFNEQxNjYwMzI2QTAwNkNCQTY2IC8qIFBsdWdJbk9yaWdpbkhhc2guaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQTY3RTRCMTY2
MDMyNjkwMDZDQkE2NiAvKiBQbHVnSW5PcmlnaW5IYXNoLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMzFBOTYzQTUxNjU1RDQyNjAwMEQ0NjQ1IC8q
IHN0YXJ0QnV0dG9uLnBuZyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzFBOTYzQTExNjU1RDQyNjAwMEQ0NjQ1IC8qIHN0YXJ0QnV0dG9uLnBuZyAqLzsg
fTsKIAkJMzFBOTYzQTYxNjU1RDQyNjAwMEQ0NjQ1IC8qIHN0YXJ0QnV0dG9uQDJ4LnBuZyBpbiBS
ZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFBOTYzQTIxNjU1
RDQyNjAwMEQ0NjQ1IC8qIHN0YXJ0QnV0dG9uQDJ4LnBuZyAqLzsgfTsKIAkJMzFBOTYzQTcxNjU1
RDQyNjAwMEQ0NjQ1IC8qIHN0YXJ0QnV0dG9uUHJlc3NlZC5wbmcgaW4gUmVzb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQTk2M0EzMTY1NUQ0MjYwMDBENDY0NSAv
KiBzdGFydEJ1dHRvblByZXNzZWQucG5nICovOyB9OwpAQCAtODEwNyw2ICs4MTA5LDggQEAKIAkJ
MzE5RTY5QjAxMzI5OUJCRDAwNEFDOTFBIC8qIFdlYktpdEFuaW1hdGlvbkxpc3QuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViS2l0QW5pbWF0aW9uTGlzdC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkzMTlFNjlCMTEzMjk5QkJEMDA0QUM5MUEgLyogV2ViS2l0
QW5pbWF0aW9uTGlzdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViS2l0QW5pbWF0aW9u
TGlzdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxOUZCRDVEMTVEMkY0NDQw
MDk2NDBBNiAvKiBDYWNoZWRJbWFnZUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDYWNoZWRJbWFnZUNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkzMUE2N0U0QTE2NjAzMjY5MDA2Q0JBNjYgLyogUGx1Z0luT3JpZ2luSGFzaC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQbHVnSW5PcmlnaW5IYXNoLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFBNjdFNEIxNjYwMzI2OTAwNkNCQTY2IC8qIFBs
dWdJbk9yaWdpbkhhc2guaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGx1Z0lu
T3JpZ2luSGFzaC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUE5NjNBMTE2NTVE
NDI2MDAwRDQ2NDUgLyogc3RhcnRCdXR0b24ucG5nICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1hZ2UucG5nOyBwYXRoID0gc3RhcnRCdXR0b24ucG5n
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUE5NjNBMjE2NTVENDI2MDAwRDQ2NDUg
Lyogc3RhcnRCdXR0b25AMngucG5nICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gaW1hZ2UucG5nOyBwYXRoID0gInN0YXJ0QnV0dG9uQDJ4LnBuZyI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQTk2M0EzMTY1NUQ0MjYwMDBENDY0NSAvKiBz
dGFydEJ1dHRvblByZXNzZWQucG5nICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gaW1hZ2UucG5nOyBwYXRoID0gc3RhcnRCdXR0b25QcmVzc2VkLnBuZzsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIxMDUwLDYgKzIxMDU0LDggQEAKIAkJCQkx
QUQ4RjgxQTExQ0FCOUU5MDBFOTNFNTQgLyogUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCAqLywKIAkJ
CQkxQUQ4RjgxOTExQ0FCOUU5MDBFOTNFNTQgLyogUGxhdGZvcm1TdHJhdGVnaWVzLmggKi8sCiAJ
CQkJOTM1QzQ3NkEwOUFDNEQ0RjAwQTZBQUI0IC8qIFBsYXRmb3JtV2hlZWxFdmVudC5oICovLAor
CQkJCTMxQTY3RTRBMTY2MDMyNjkwMDZDQkE2NiAvKiBQbHVnSW5PcmlnaW5IYXNoLmNwcCAqLywK
KwkJCQkzMUE2N0U0QjE2NjAzMjY5MDA2Q0JBNjYgLyogUGx1Z0luT3JpZ2luSGFzaC5oICovLAog
CQkJCUJDQkI4QUI0MTNGMUFGQjAwMDczNERGMCAvKiBQT0RBcmVuYS5oICovLAogCQkJCTFGM0Yx
OTUyMTQ5OUNBNzYwMEE1QUVBNyAvKiBQT0RGcmVlTGlzdEFyZW5hLmggKi8sCiAJCQkJQkNCQjhB
QjUxM0YxQUZCMDAwNzM0REYwIC8qIFBPREludGVydmFsLmggKi8sCkBAIC0yNTgxOSw2ICsyNTgy
NSw3IEBACiAJCQkJRkIyQzE1QzMxNjVENjQ5RDAwMzlDOUY4IC8qIENhY2hlZFNWR0RvY3VtZW50
UmVmZXJlbmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTc0MUFBRDE2NjM2NjA5MDA4QTVCN0Ug
LyogU2ltdWxhdGVkQ2xpY2tPcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNUI4QjdDOTE2
NTJDNTIyMDAzNkVGNTUgLyogSlNXZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmggaW4gSGVhZGVy
cyAqLywKKwkJCQkzMUE2N0U0RDE2NjAzMjZBMDA2Q0JBNjYgLyogUGx1Z0luT3JpZ2luSGFzaC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CiAJCX07CkBAIC0yODkxOSw2ICsyODkyNiw3IEBACiAJCQkJQ0Q3RTA1MjIxNjUx
QzI4MjAwQzEyMDFGIC8qIFdlYkNvcmVBVkZSZXNvdXJjZUxvYWRlci5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTQ0Nzk1ODA1MTY0M0I0QjIwMDFFMEE3RiAvKiBQYXJzZWRDb250ZW50VHlwZS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkxNUI4QjdDODE2NTJDNTIyMDAzNkVGNTUgLyogSlNXZWJLaXRD
U1NNaXhGdW5jdGlvblZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxQTY3RTRDMTY2MDMy
NkEwMDZDQkE2NiAvKiBQbHVnSW5PcmlnaW5IYXNoLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsK
IAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAKaW5kZXggNDIxYWMx
YjBmMGMxOGQyZmRiMjk5YjhlODY4NzQ4OTA1Yjc1ZDk3Ni4uZDAxZDg4M2RmYzNiYzY5MDY1ODY2
MmQyNjI0YmQ3Y2ZlZWZkZjk3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
UGx1Z0luSW1hZ2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVn
SW5JbWFnZUVsZW1lbnQuY3BwCkBAIC0zMCw2ICszMCw5IEBACiAjaW5jbHVkZSAiTW91c2VFdmVu
dC5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKKyNp
bmNsdWRlICJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIKKyNpbmNsdWRlICJQbHVnSW5PcmlnaW5IYXNo
LmgiCisjaW5jbHVkZSAiUGx1Z2luU3RyYXRlZ3kuaCIKICNpbmNsdWRlICJSZW5kZXJFbWJlZGRl
ZE9iamVjdC5oIgogI2luY2x1ZGUgIlJlbmRlckltYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVyU25h
cHNob3R0ZWRQbHVnSW4uaCIKQEAgLTUyLDEzICs1NSw5IEBAIEhUTUxQbHVnSW5JbWFnZUVsZW1l
bnQ6OkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jCiAgICAgLCBtX3Nob3VsZFByZWZlclBsdWdJbnNGb3JJbWFnZXMocHJlZmVyUGx1Z0luc0Zv
ckltYWdlc09wdGlvbiA9PSBTaG91bGRQcmVmZXJQbHVnSW5zRm9ySW1hZ2VzKQogICAgICwgbV9u
ZWVkc0RvY3VtZW50QWN0aXZhdGlvbkNhbGxiYWNrcyhmYWxzZSkKICAgICAsIG1fc2ltdWxhdGVk
TW91c2VDbGlja1RpbWVyKHRoaXMsICZIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjpzaW11bGF0ZWRN
b3VzZUNsaWNrVGltZXJGaXJlZCwgc2ltdWxhdGVkTW91c2VDbGlja1RpbWVyRGVsYXkpCisgICAg
LCBtX3BsdWdJbk9yaWdpbkhhc2goMCkKIHsKICAgICBzZXRIYXNDdXN0b21DYWxsYmFja3MoKTsK
LQotICAgIGlmIChkb2N1bWVudC0+cGFnZSgpCi0gICAgICAgICYmIGRvY3VtZW50LT5wYWdlKCkt
PnNldHRpbmdzKCktPnBsdWdJblNuYXBzaG90dGluZ0VuYWJsZWQoKQotICAgICAgICAmJiAhU2Ny
aXB0Q29udHJvbGxlcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkpCi0gICAgICAgIHNldERpc3Bs
YXlTdGF0ZShXYWl0aW5nRm9yU25hcHNob3QpOwogfQogCiBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50
Ojp+SFRNTFBsdWdJbkltYWdlRWxlbWVudCgpCkBAIC0yNjIsOSArMjYxLDExIEBAIHZvaWQgSFRN
TFBsdWdJbkltYWdlRWxlbWVudDo6dXBkYXRlU25hcHNob3QoUGFzc1JlZlB0cjxJbWFnZT4gaW1h
Z2UpCiAgICAgc2V0RGlzcGxheVN0YXRlKERpc3BsYXlpbmdTbmFwc2hvdCk7CiB9CiAKLXZvaWQg
SFRNTFBsdWdJbkltYWdlRWxlbWVudDo6c2V0UGVuZGluZ0NsaWNrRXZlbnQoUGFzc1JlZlB0cjxN
b3VzZUV2ZW50PiBldmVudCkKK3ZvaWQgSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6dXNlckRpZENs
aWNrU25hcHNob3QoUGFzc1JlZlB0cjxNb3VzZUV2ZW50PiBldmVudCkKIHsKKyAgICBBU1NFUlQo
bV9wbHVnSW5PcmlnaW5IYXNoKTsKICAgICBtX3BlbmRpbmdDbGlja0V2ZW50RnJvbVNuYXBzaG90
ID0gZXZlbnQ7CisgICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPnBsdWdpblN0cmF0ZWd5KCktPmFk
ZEF1dG9TdGFydE9yaWdpbihkb2N1bWVudCgpLT5wYWdlKCksIG1fcGx1Z0luT3JpZ2luSGFzaCk7
CiB9CiAKIHZvaWQgSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6ZGlzcGF0Y2hQZW5kaW5nTW91c2VD
bGljaygpCkBAIC0yODQsNCArMjg1LDE0IEBAIHZvaWQgSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6
c2ltdWxhdGVkTW91c2VDbGlja1RpbWVyRmlyZWQoRGVmZXJyYWJsZU9uZVNob3RUaW1lCiAgICAg
bV9wZW5kaW5nQ2xpY2tFdmVudEZyb21TbmFwc2hvdCA9IG51bGxwdHI7CiB9CiAKK3ZvaWQgSFRN
TFBsdWdJbkltYWdlRWxlbWVudDo6c3ViZnJhbWVMb2FkZXJXaWxsTG9hZFBsdWdJbihjb25zdCBL
VVJMJiB1cmwpCit7CisgICAgbV9wbHVnSW5PcmlnaW5IYXNoID0gcGx1Z0luT3JpZ2luSGFzaChk
b2N1bWVudCgpLT5wYWdlKCksIHVybCk7CisgICAgaWYgKGRvY3VtZW50KCktPnBhZ2UoKQorICAg
ICAgICAmJiBkb2N1bWVudCgpLT5wYWdlKCktPnNldHRpbmdzKCktPnBsdWdJblNuYXBzaG90dGlu
Z0VuYWJsZWQoKQorICAgICAgICAmJiAhcGxhdGZvcm1TdHJhdGVnaWVzKCktPnBsdWdpblN0cmF0
ZWd5KCktPmlzQXV0b1N0YXJ0T3JpZ2luKGRvY3VtZW50KCktPnBhZ2UoKSwgbV9wbHVnSW5Pcmln
aW5IYXNoKQorICAgICAgICAmJiAhU2NyaXB0Q29udHJvbGxlcjo6cHJvY2Vzc2luZ1VzZXJHZXN0
dXJlKCkpCisgICAgICAgIHNldERpc3BsYXlTdGF0ZShXYWl0aW5nRm9yU25hcHNob3QpOworfQor
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJ
bkltYWdlRWxlbWVudC5oCmluZGV4IGM1YmY2ZmExZjkxZTFlODJkMDhiY2EyYzAyYzczZGFiMmM3
YTg5M2QuLjVhNjlmYWUyMGRmMDhkNDYyOTc4NmQ4YTI3YjE0NzExZGI1NmE4ODYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5oCkBAIC0yMyw2ICsyMyw3
IEBACiAKICNpbmNsdWRlICJIVE1MUGx1Z0luRWxlbWVudC5oIgogCisjaW5jbHVkZSAiUGx1Z0lu
T3JpZ2luSGFzaC5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSA8d3RmL093
blB0ci5oPgogCkBAIC01OSw3ICs2MCwxMCBAQCBwdWJsaWM6CiAgICAgYm9vbCBuZWVkc1dpZGdl
dFVwZGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmVlZHNXaWRnZXRVcGRhdGU7IH0KICAgICB2b2lk
IHNldE5lZWRzV2lkZ2V0VXBkYXRlKGJvb2wgbmVlZHNXaWRnZXRVcGRhdGUpIHsgbV9uZWVkc1dp
ZGdldFVwZGF0ZSA9IG5lZWRzV2lkZ2V0VXBkYXRlOyB9CiAKLSAgICB2b2lkIHNldFBlbmRpbmdD
bGlja0V2ZW50KFBhc3NSZWZQdHI8TW91c2VFdmVudD4pOworICAgIHZvaWQgdXNlckRpZENsaWNr
U25hcHNob3QoUGFzc1JlZlB0cjxNb3VzZUV2ZW50Pik7CisKKyAgICAvLyBQbHVnLWluIFVSTCBt
aWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdXJsKCkgd2l0aCBvdmVycmlkaW5nIHBhcmFtZXRlcnMu
CisgICAgdm9pZCBzdWJmcmFtZUxvYWRlcldpbGxMb2FkUGx1Z0luKGNvbnN0IEtVUkwmIHBsdWdJ
blVSTCk7CiAKIHByb3RlY3RlZDoKICAgICBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiwgYm9vbCBjcmVhdGVkQnlQYXJzZXIsIFBy
ZWZlclBsdWdJbnNGb3JJbWFnZXNPcHRpb24pOwpAQCAtMTAzLDYgKzEwNyw3IEBAIHByaXZhdGU6
CiAgICAgUmVmUHRyPFJlbmRlclN0eWxlPiBtX2N1c3RvbVN0eWxlRm9yUGFnZUNhY2hlOwogICAg
IFJlZlB0cjxNb3VzZUV2ZW50PiBtX3BlbmRpbmdDbGlja0V2ZW50RnJvbVNuYXBzaG90OwogICAg
IERlZmVycmFibGVPbmVTaG90VGltZXI8SFRNTFBsdWdJbkltYWdlRWxlbWVudD4gbV9zaW11bGF0
ZWRNb3VzZUNsaWNrVGltZXI7CisgICAgUGx1Z0luT3JpZ2luSGFzaCBtX3BsdWdJbk9yaWdpbkhh
c2g7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1
YmZyYW1lTG9hZGVyLmNwcAppbmRleCA5MmVhOTczNzY3ZThjNDcyNTBiNmRiMmJmNDA0ZDM0OGU1
NDUyMmYxLi5kMWFiN2U1NmU5MjJlNDM1N2JmOTIyNWUyYmExOWM0YTgzZTM5MzUwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5jcHAKQEAgLTE1Niw2ICsxNTYsNyBAQCBi
b29sIFN1YmZyYW1lTG9hZGVyOjpyZXF1ZXN0UGx1Z2luKEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQq
IG93bmVyRWxlbWVudCwgY29uc3QgSwogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBBU1NF
UlQob3duZXJFbGVtZW50LT5oYXNUYWdOYW1lKG9iamVjdFRhZykgfHwgb3duZXJFbGVtZW50LT5o
YXNUYWdOYW1lKGVtYmVkVGFnKSk7CisgICAgb3duZXJFbGVtZW50LT5zdWJmcmFtZUxvYWRlcldp
bGxMb2FkUGx1Z0luKHVybCk7CiAgICAgcmV0dXJuIGxvYWRQbHVnaW4ob3duZXJFbGVtZW50LCB1
cmwsIG1pbWVUeXBlLCBwYXJhbU5hbWVzLCBwYXJhbVZhbHVlcywgdXNlRmFsbGJhY2spOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbHVnSW5PcmlnaW5IYXNoLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsdWdJbk9yaWdpbkhhc2guY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmU2Zjg1NDk0YjZiZDliZGYzYzEzNGQ1MzhlMDA3ZjBkMGQ4OGI2MmQKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbHVnSW5PcmlnaW5IYXNoLmNwcApAQCAt
MCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGx1
Z0luT3JpZ2luSGFzaC5oIgorCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJGcmFt
ZS5oIgorI2luY2x1ZGUgIktVUkwuaCIKKyNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSA8d3Rm
L3RleHQvU3RyaW5nQnVpbGRlci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3RlbXBsYXRl
IDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIEFMV0FZU19JTkxJTkUgUGx1Z0luT3Jp
Z2luSGFzaCBwbHVnSW5PcmlnaW5IYXNoSW5saW5lKGNvbnN0IENoYXJhY3RlclR5cGUqIG9yaWdp
biwgdW5zaWduZWQgbGVuZ3RoKQoreworICAgIHJldHVybiBBbHJlYWR5SGFzaGVkOjphdm9pZERl
bGV0ZWRWYWx1ZShTdHJpbmdIYXNoZXI6OmNvbXB1dGVIYXNoKG9yaWdpbiwgbGVuZ3RoKSk7Cit9
CisKK1BsdWdJbk9yaWdpbkhhc2ggcGx1Z0luT3JpZ2luSGFzaChjb25zdCBQYWdlKiBwYWdlLCBj
b25zdCBLVVJMJiBzcmNVUkwpCit7CisgICAgY29uc3QgS1VSTCYgbWFpbkZyYW1lQmFzZVVSTCA9
IHBhZ2UtPm1haW5GcmFtZSgpLT5kb2N1bWVudCgpLT5iYXNlVVJMKCk7CisgICAgU3RyaW5nQnVp
bGRlciBidWlsZGVyOworICAgIGJ1aWxkZXIuYXBwZW5kKG1haW5GcmFtZUJhc2VVUkwuaG9zdCgp
KTsKKyAgICBidWlsZGVyLmFwcGVuZChzcmNVUkwuaG9zdCgpKTsKKworICAgIFN0cmluZyBoYXNo
U3RyaW5nID0gYnVpbGRlci50b1N0cmluZygpOworICAgIEFTU0VSVChoYXNoU3RyaW5nLmxlbmd0
aCgpKTsKKyAgICBpZiAoaGFzaFN0cmluZy5pczhCaXQoKSkKKyAgICAgICAgcmV0dXJuIHBsdWdJ
bk9yaWdpbkhhc2hJbmxpbmUoaGFzaFN0cmluZy5jaGFyYWN0ZXJzOCgpLCBoYXNoU3RyaW5nLmxl
bmd0aCgpKTsKKyAgICByZXR1cm4gcGx1Z0luT3JpZ2luSGFzaElubGluZShoYXNoU3RyaW5nLmNo
YXJhY3RlcnMoKSwgaGFzaFN0cmluZy5sZW5ndGgoKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsdWdJbk9yaWdpbkhh
c2guaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsdWdJbk9yaWdpbkhhc2guaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40YmRiN2RhMmYxN2MxMTA2OWQ2Y2Q1NGMyMTM4NzRkZjlmMmYzOTJiCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5oCkBAIC0w
LDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgUGx1Z0luT3JpZ2luSGFzaF9oCisjZGVmaW5l
IFBsdWdJbk9yaWdpbkhhc2hfaAorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEtVUkw7
CitjbGFzcyBQYWdlOworCit0eXBlZGVmIHVpbnQ2NF90IFBsdWdJbk9yaWdpbkhhc2g7CisKK1Bs
dWdJbk9yaWdpbkhhc2ggcGx1Z0luT3JpZ2luSGFzaChjb25zdCBQYWdlKiwgY29uc3QgS1VSTCYg
c3JjVVJMKTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLyogUGx1Z0luT3Jp
Z2luSGFzaCAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5TdHJh
dGVneS5oIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5TdHJhdGVneS5oCmluZGV4IDlk
OGE3YjUyZjAzMjU1Mzc0NDNmMTMzZjA4MmRhMzBmNGYwZDIyOTQuLmRmNmU1MzA0NThhYWFmZGRj
MGY5MmM2MjJhZDlmMTZiMTA5NzFlYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsdWdp
bnMvUGx1Z2luU3RyYXRlZ3kuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblN0
cmF0ZWd5LmgKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIFVTRShQTEFURk9STV9TVFJBVEVHSUVT
KQogCisjaW5jbHVkZSAiUGx1Z0luT3JpZ2luSGFzaC5oIgogI2luY2x1ZGUgIlBsdWdpbkRhdGEu
aCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzksNiArNDAsOSBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB2b2lkIHJlZnJlc2hQbHVnaW5zKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBnZXRQ
bHVnaW5JbmZvKGNvbnN0IFBhZ2UqLCBWZWN0b3I8UGx1Z2luSW5mbz4mKSA9IDA7CiAKKyAgICB2
aXJ0dWFsIGJvb2wgaXNBdXRvU3RhcnRPcmlnaW4oUGFnZSosIFBsdWdJbk9yaWdpbkhhc2gpID0g
MDsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkQXV0b1N0YXJ0T3JpZ2luKFBhZ2UqLCBQbHVnSW5Pcmln
aW5IYXNoKSA9IDA7CisKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIH5QbHVnaW5TdHJhdGVneSgp
IHsgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbmFw
c2hvdHRlZFBsdWdJbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU25hcHNo
b3R0ZWRQbHVnSW4uY3BwCmluZGV4IDk3MmIyYmY5MDQyMjNiNWI3Nzc1ZjI0MjlkYzE2MjgzYTBm
MTY4MTUuLmYyY2U5ZDU2NTI4NWQ4ZmMwMjAxM2NjMGYwYjNiOTk3M2RkM2Q2NjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbmFwc2hvdHRlZFBsdWdJbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNuYXBzaG90dGVkUGx1Z0luLmNw
cApAQCAtMTc4LDcgKzE3OCw3IEBAIHZvaWQgUmVuZGVyU25hcHNob3R0ZWRQbHVnSW46OmhhbmRs
ZUV2ZW50KEV2ZW50KiBldmVudCkKICAgICAgICAgICAgIHBsdWdJbkltYWdlRWxlbWVudCgpLT5z
ZXREaXNwbGF5U3RhdGUoSFRNTFBsdWdJbkVsZW1lbnQ6OlBsYXlpbmcpOwogICAgICAgICBlbHNl
IHsKICAgICAgICAgICAgIHBsdWdJbkltYWdlRWxlbWVudCgpLT5zZXREaXNwbGF5U3RhdGUoSFRN
TFBsdWdJbkVsZW1lbnQ6OlBsYXlpbmdXaXRoUGVuZGluZ01vdXNlQ2xpY2spOwotICAgICAgICAg
ICAgcGx1Z0luSW1hZ2VFbGVtZW50KCktPnNldFBlbmRpbmdDbGlja0V2ZW50KG1vdXNlRXZlbnQp
OworICAgICAgICAgICAgcGx1Z0luSW1hZ2VFbGVtZW50KCktPnVzZXJEaWRDbGlja1NuYXBzaG90
KG1vdXNlRXZlbnQpOwogICAgICAgICB9CiAgICAgICAgIGlmICh3aWRnZXQoKSkgewogICAgICAg
ICAgICAgaWYgKEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50KCktPmZyYW1lKCkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwu
Y3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVz
RWZsLmNwcAppbmRleCA3MTM4YWE4ZDc2ZjdmY2U4MWM4MTAyNzMyZGY0YzUxNjk3N2FlM2JlLi5k
YzlkMDY2YWEzYzFhNWUyM2M1MGQ5NDhiMjQ4ZTRiNTM5NTAxNzFkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0Vm
bC5jcHAKQEAgLTEyMCw2ICsxMjAsMTcgQEAgdm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNFZmw6Omdl
dFBsdWdpbkluZm8oY29uc3QgUGFnZSosIFZlY3RvcjxQbHVnaW5JbmZvPiYgb3V0UGwKICNlbmRp
ZgogfQogCitib29sIFBsYXRmb3JtU3RyYXRlZ2llc0VmbDo6aXNBdXRvU3RhcnRPcmlnaW4oUGFn
ZSosIFBsdWdJbk9yaWdpbkhhc2gpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudC4KKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzRWZsOjphZGRBdXRvU3Rh
cnRPcmlnaW4oUGFnZSosIFBsdWdJbk9yaWdpbkhhc2gpCit7CisgICAgLy8gRklYTUU6IEltcGxl
bWVudC4KK30KKwogLy8gVmlzaXRlZExpbmtTdHJhdGVneQogYm9vbCBQbGF0Zm9ybVN0cmF0ZWdp
ZXNFZmw6OmlzTGlua1Zpc2l0ZWQoUGFnZSogcGFnZSwgTGlua0hhc2ggaGFzaCwgY29uc3QgS1VS
TCYsIGNvbnN0IEF0b21pY1N0cmluZyYpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwuaCBiL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5oCmluZGV4IDAxZTYxMTU2
Y2Y5ZmVmM2IxZjQ1MzJhOWUyNWU4YjMzMmMyNWZlZjAuLmQ0Y2VhZTkxMmFmN2MxZTU5OGU5ZjVl
ODk5MDdmOTEyNTVlNmVjZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVT
dXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5oCkBAIC00OSw2ICs0OSw4IEBAIHBy
aXZhdGU6CiAgICAgLy8gV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3kKICAgICB2aXJ0dWFsIHZvaWQg
cmVmcmVzaFBsdWdpbnMoKTsKICAgICB2aXJ0dWFsIHZvaWQgZ2V0UGx1Z2luSW5mbyhjb25zdCBX
ZWJDb3JlOjpQYWdlKiwgVmVjdG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+Jik7CisgICAgdmlydHVh
bCBib29sIGlzQXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpQbHVnSW5P
cmlnaW5IYXNoKTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkQXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6
OlBhZ2UqLCBXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNoKTsKIAogICAgIC8vIFdlYkNvcmU6OlZp
c2l0ZWRMaW5rU3RyYXRlZ3kKICAgICB2aXJ0dWFsIGJvb2wgaXNMaW5rVmlzaXRlZChXZWJDb3Jl
OjpQYWdlKiwgV2ViQ29yZTo6TGlua0hhc2gsIGNvbnN0IFdlYkNvcmU6OktVUkwmIGJhc2VVUkws
IGNvbnN0IFdURjo6QXRvbWljU3RyaW5nJiBhdHRyaWJ1dGVVUkwpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmNwcCBi
L1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0d0ay5j
cHAKaW5kZXggMDBhNzA2MmM5Y2UyZWMzYTVhMjY3ODgxNjlhOWE1ZjZiMDIzMDg4Ni4uZjY4N2Jh
OTE0ZWZjMGQyZmJiZjhiMjExOTEyNWUyNTUyYTE2ODQwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuY3Bw
CkBAIC0xMDgsNiArMTA4LDE3IEBAIHZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzR3RrOjpnZXRQbHVn
aW5JbmZvKGNvbnN0IFBhZ2UqIHBhZ2UsIFZlY3RvcjxQbHVnaW5JbmZvPiYKICAgICB9CiB9CiAK
K2Jvb2wgUGxhdGZvcm1TdHJhdGVnaWVzR3RrOjppc0F1dG9TdGFydE9yaWdpbihQYWdlKiwgUGx1
Z0luT3JpZ2luSGFzaCkKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50LgorICAgIHJldHVybiBm
YWxzZTsKK30KKwordm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNHdGs6OmFkZEF1dG9TdGFydE9yaWdp
bihQYWdlKiwgUGx1Z0luT3JpZ2luSGFzaCkKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50Lgor
fQorCiAvLyBWaXNpdGVkTGlua1N0cmF0ZWd5CiBib29sIFBsYXRmb3JtU3RyYXRlZ2llc0d0azo6
aXNMaW5rVmlzaXRlZChQYWdlKiBwYWdlLCBMaW5rSGFzaCBoYXNoLCBjb25zdCBLVVJMJiwgY29u
c3QgQXRvbWljU3RyaW5nJikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0d0ay5oIGIvU291cmNlL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmgKaW5kZXggY2YzNGFlMjRiMzgyOGY5
OGRlZjFlODcyYzA3M2NhNDkyNGIwZDMzNC4uNDk5ZTEyZDA0MGRkNGEzNGRjY2QwN2M1MDYyODdh
YTY5MmZmNDcxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
UGxhdGZvcm1TdHJhdGVnaWVzR3RrLmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmgKQEAgLTQ4LDYgKzQ4LDggQEAgcHJpdmF0ZToK
ICAgICAvLyBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneQogICAgIHZpcnR1YWwgdm9pZCByZWZyZXNo
UGx1Z2lucygpOwogICAgIHZpcnR1YWwgdm9pZCBnZXRQbHVnaW5JbmZvKGNvbnN0IFdlYkNvcmU6
OlBhZ2UqLCBWZWN0b3I8V2ViQ29yZTo6UGx1Z2luSW5mbz4mKTsKKyAgICB2aXJ0dWFsIGJvb2wg
aXNBdXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6UGFnZSosIFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhh
c2gpOworICAgIHZpcnR1YWwgdm9pZCBhZGRBdXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6UGFnZSos
IFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhhc2gpOwogCiAgICAgLy8gV2ViQ29yZTo6VmlzaXRlZExp
bmtTdHJhdGVneQogICAgIHZpcnR1YWwgYm9vbCBpc0xpbmtWaXNpdGVkKFdlYkNvcmU6OlBhZ2Uq
LCBXZWJDb3JlOjpMaW5rSGFzaCwgY29uc3QgV2ViQ29yZTo6S1VSTCYgYmFzZVVSTCwgY29uc3Qg
V1RGOjpBdG9taWNTdHJpbmcmIGF0dHJpYnV0ZVVSTCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCmluZGV4IGY5
ZDhjNzcxOTZhYTE2ZTg5YTQyODRhMzlkNzVjMTcwYWM3ZjQwODkuLmJlMmRmOWY0NjgxZDk5YzUw
YWEwOTFlN2I2ZjIzZmI0ODA4YjNkZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCkBAIC01Niw2ICs1Niw4
IEBAIHByaXZhdGU6CiAgICAgLy8gV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3kKICAgICB2aXJ0dWFs
IHZvaWQgcmVmcmVzaFBsdWdpbnMoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZ2V0UGx1
Z2luSW5mbyhjb25zdCBXZWJDb3JlOjpQYWdlKiwgVmVjdG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+
JikgT1ZFUlJJREU7CisgICAgdmlydHVhbCBib29sIGlzQXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6
OlBhZ2UqLCBXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFs
IHZvaWQgYWRkQXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpQbHVnSW5P
cmlnaW5IYXNoKSBPVkVSUklERTsKIAogICAgIC8vIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRl
Z3kKICAgICB2aXJ0dWFsIGJvb2wgaXNMaW5rVmlzaXRlZChXZWJDb3JlOjpQYWdlKiwgV2ViQ29y
ZTo6TGlua0hhc2gsIGNvbnN0IFdlYkNvcmU6OktVUkwmIGJhc2VVUkwsIGNvbnN0IFdURjo6QXRv
bWljU3RyaW5nJiBhdHRyaWJ1dGVVUkwpIE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tIGIvU291cmNl
L1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tCmluZGV4
IGM3OWIwODliOWZjNDBjOTZjY2UxNmY3MjBiOGI1NDAzNGM1MmU5MjQuLjJmYzk3YjIyMzI5YzVl
MWIwN2M4NTk3NzY5YWQ3MzA4YzQzNmE1NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0KQEAgLTExMyw2
ICsxMTMsMTcgQEAgdm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmdldFBsdWdpbkluZm8oY29u
c3QgV2ViQ29yZTo6UGFnZSosIFZlY3RvcjxXZWJDb3JlOjoKICAgICBFTkRfQkxPQ0tfT0JKQ19F
WENFUFRJT05TOwogfQogCitib29sIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6aXNBdXRvU3RhcnRP
cmlnaW4oUGFnZSosIFBsdWdJbk9yaWdpbkhhc2gpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVu
dC4KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjph
ZGRBdXRvU3RhcnRPcmlnaW4oUGFnZSosIFBsdWdJbk9yaWdpbkhhc2gpCit7CisgICAgLy8gRklY
TUU6IEltcGxlbWVudC4KK30KKwogYm9vbCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmlzTGlua1Zp
c2l0ZWQoUGFnZSogcGFnZSwgTGlua0hhc2ggaGFzaCwgY29uc3QgS1VSTCYsIGNvbnN0IEF0b21p
Y1N0cmluZyYpCiB7CiAgICAgcmV0dXJuIHBhZ2UtPmdyb3VwKCkuaXNMaW5rVmlzaXRlZChoYXNo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1T
dHJhdGVnaWVzUXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9y
bVN0cmF0ZWdpZXNRdC5jcHAKaW5kZXggNWQ5ZTc1NWQwMmYxNTlhM2ZjM2I2ZWViNTM3NWZmMmJi
YzAxOTRlMC4uZDYxMjZlZDVjNGRiZjA5NGQ4NTMzMGM2YTg4MzcyNGJjNDFiY2NhZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNR
dC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0
ZWdpZXNRdC5jcHAKQEAgLTE1Niw2ICsxNTYsMTcgQEAgdm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNR
dDo6Z2V0UGx1Z2luSW5mbyhjb25zdCBXZWJDb3JlOjpQYWdlKiBwYWdlLCBWZWN0b3I8V2ViQ28K
IAogfQogCitib29sIFBsYXRmb3JtU3RyYXRlZ2llc1F0Ojppc0F1dG9TdGFydE9yaWdpbihQYWdl
KiwgUGx1Z0luT3JpZ2luSGFzaCkKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50LgorICAgIHJl
dHVybiBmYWxzZTsKK30KKwordm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNRdDo6YWRkQXV0b1N0YXJ0
T3JpZ2luKFBhZ2UqLCBQbHVnSW5PcmlnaW5IYXNoKQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1l
bnQuCit9CisKIC8vIFZpc2l0ZWRMaW5rU3RyYXRlZ3kKIAogYm9vbCBQbGF0Zm9ybVN0cmF0ZWdp
ZXNRdDo6aXNMaW5rVmlzaXRlZChQYWdlKiBwYWdlLCBMaW5rSGFzaCBoYXNoLCBjb25zdCBLVVJM
JiBiYXNlVVJMLCBjb25zdCBBdG9taWNTdHJpbmcmIGF0dHJpYnV0ZVVSTCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQuaCBi
L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQuaApp
bmRleCAyZmU4ZmU2MmNmZTMzYjA5MDEzZjE5NjU0YTNjZTJhNzY4NDM5NmMyLi41YTBlYjk0ZDk0
ZGMxMTY1MmE1ZGJiZmU1M2JkZmI2ZTliMzI0MmNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1F0LmgKKysrIGIvU291cmNlL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5oCkBAIC02MCw2ICs2
MCw4IEBAIHByaXZhdGU6CiAgICAgLy8gV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3kKICAgICB2aXJ0
dWFsIHZvaWQgcmVmcmVzaFBsdWdpbnMoKTsKICAgICB2aXJ0dWFsIHZvaWQgZ2V0UGx1Z2luSW5m
byhjb25zdCBXZWJDb3JlOjpQYWdlKiwgVmVjdG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+Jik7Cisg
ICAgdmlydHVhbCBib29sIGlzQXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3Jl
OjpQbHVnSW5PcmlnaW5IYXNoKTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkQXV0b1N0YXJ0T3JpZ2lu
KFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNoKTsKIAogICAgIC8vIFdl
YkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kKICAgICB2aXJ0dWFsIGJvb2wgaXNMaW5rVmlzaXRl
ZChXZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6TGlua0hhc2gsIGNvbnN0IFdlYkNvcmU6OktVUkwm
IGJhc2VVUkwsIGNvbnN0IFdURjo6QXRvbWljU3RyaW5nJiBhdHRyaWJ1dGVVUkwpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3Ry
YXRlZ2llcy5jcHAKaW5kZXggNzVhMDNlMjE5ZmFjZTQzNDM3NzNkZTkxOWViMmZiZWU4MGRkZDBj
MS4uOTE4YmIxNzA3YzdiOGM5MDUxOTk1OTNlNWViYzFjMTg2ZjAwMmUzMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuY3BwCkBAIC0xMjgsNiArMTI4LDE3IEBAIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVz
OjpnZXRQbHVnaW5JbmZvKGNvbnN0IFdlYkNvcmU6OlBhZ2UqLCBWZWN0b3I8V2ViQ29yZTo6CiAg
ICAgfQogfQogCitib29sIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6aXNBdXRvU3RhcnRPcmlnaW4o
UGFnZSosIFBsdWdJbk9yaWdpbkhhc2gpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudC4KKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjphZGRBdXRv
U3RhcnRPcmlnaW4oUGFnZSosIFBsdWdJbk9yaWdpbkhhc2gpCit7CisgICAgLy8gRklYTUU6IElt
cGxlbWVudC4KK30KKwogYm9vbCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmlzTGlua1Zpc2l0ZWQo
UGFnZSogcGFnZSwgTGlua0hhc2ggaGFzaCwgY29uc3QgS1VSTCYsIGNvbnN0IEF0b21pY1N0cmlu
ZyYpCiB7CiAgICAgcmV0dXJuIHBhZ2UtPmdyb3VwKCkuaXNMaW5rVmlzaXRlZChoYXNoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3Ry
YXRlZ2llcy5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1T
dHJhdGVnaWVzLmgKaW5kZXggOTc3N2I4NDgwM2JlOGY2MWI3NTdiNzA4OTllMGEzZTljNzFiMDEz
ZC4uZmYzNzE3OGY5NWQ1ZGQ4NjY2OWE0NjM5NTk2NjhkNzZjYjUwZGRjNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgK
KysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLmgKQEAgLTU3LDYgKzU3LDggQEAgcHJpdmF0ZToKICAgICAvLyBXZWJDb3JlOjpQbHVnaW5T
dHJhdGVneQogICAgIHZpcnR1YWwgdm9pZCByZWZyZXNoUGx1Z2lucygpOwogICAgIHZpcnR1YWwg
dm9pZCBnZXRQbHVnaW5JbmZvKGNvbnN0IFdlYkNvcmU6OlBhZ2UqLCBWZWN0b3I8V2ViQ29yZTo6
UGx1Z2luSW5mbz4mKTsKKyAgICB2aXJ0dWFsIGJvb2wgaXNBdXRvU3RhcnRPcmlnaW4oV2ViQ29y
ZTo6UGFnZSosIFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhhc2gpOworICAgIHZpcnR1YWwgdm9pZCBh
ZGRBdXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6UGFnZSosIFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhh
c2gpOwogCiAgICAgLy8gV2ViQ29yZTo6VmlzaXRlZExpbmtTdHJhdGVneQogICAgIHZpcnR1YWwg
Ym9vbCBpc0xpbmtWaXNpdGVkKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpMaW5rSGFzaCwgY29u
c3QgV2ViQ29yZTo6S1VSTCYgYmFzZVVSTCwgY29uc3QgV1RGOjpBdG9taWNTdHJpbmcmIGF0dHJp
YnV0ZVVSTCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0
L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNFLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29y
ZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UuY3BwCmluZGV4IDQyNWIwZjNhODJiMzM3
YWE4YTM5Mzg5YzM5Yzk4ZGVmOTY3ZjIxZDYuLjZhN2NlZmRiNWY5MjUwYTIyNjhkMjc1OTczMGUy
ZjZjYTQ2ZjhmODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBv
cnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2Uv
V2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UuY3BwCkBAIC0xMTUsNiArMTE1
LDE3IEBAIHZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0U6OmdldFBsdWdpbkluZm8oY29uc3Qg
UGFnZSosIFZlY3RvcjxQbHVnaW5JbmZvPiYgb3V0CiAgICAgfQogfQogCitib29sIFBsYXRmb3Jt
U3RyYXRlZ2llc1dpbkNFOjppc0F1dG9TdGFydE9yaWdpbihQYWdlKiwgUGx1Z0luT3JpZ2luSGFz
aCkKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50LgorICAgIHJldHVybiBmYWxzZTsKK30KKwor
dm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRTo6YWRkQXV0b1N0YXJ0T3JpZ2luKFBhZ2UqLCBQ
bHVnSW5PcmlnaW5IYXNoKQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCit9CisKIGJvb2wg
UGxhdGZvcm1TdHJhdGVnaWVzV2luQ0U6OmlzTGlua1Zpc2l0ZWQoUGFnZSogcGFnZSwgTGlua0hh
c2ggaGFzaCwgY29uc3QgS1VSTCYsIGNvbnN0IEF0b21pY1N0cmluZyYpCiB7CiAgICAgcmV0dXJu
IHBhZ2UtPmdyb3VwKCkuaXNMaW5rVmlzaXRlZChoYXNoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UuaCBiL1Nv
dXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0Uu
aAppbmRleCAyY2U0ODIwM2M2OGM1ZDk5ZDYzZDg1ZDU5NjMzYmNhODg4MWRlMzExLi4yY2ZhYjNk
NWI5MWRmNDZlODNlOGY0MGNmNWUyMDE2ZGQ1MmI0YzdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNFLmgKKysrIGIv
U291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5D
RS5oCkBAIC01Myw2ICs1Myw4IEBAIHByaXZhdGU6CiAgICAgLy8gV2ViQ29yZTo6UGx1Z2luU3Ry
YXRlZ3kKICAgICB2aXJ0dWFsIHZvaWQgcmVmcmVzaFBsdWdpbnMoKTsKICAgICB2aXJ0dWFsIHZv
aWQgZ2V0UGx1Z2luSW5mbyhjb25zdCBXZWJDb3JlOjpQYWdlKiwgVmVjdG9yPFdlYkNvcmU6OlBs
dWdpbkluZm8+Jik7CisgICAgdmlydHVhbCBib29sIGlzQXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6
OlBhZ2UqLCBXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNoKTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRk
QXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNo
KTsKIAogICAgIC8vIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kKICAgICB2aXJ0dWFsIGJv
b2wgaXNMaW5rVmlzaXRlZChXZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6TGlua0hhc2gsIGNvbnN0
IFdlYkNvcmU6OktVUkwmLCBjb25zdCBXVEY6OkF0b21pY1N0cmluZyYpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1h
a2VmaWxlLmxpc3QuYW0KaW5kZXggYWI1MjNlZjNmM2JiMzdlZTI1NDc5YjJlMWE1ZjBkNWM4MDUz
NDRhMS4uMzJhNzYxOTljNmNlZWM2YzBmYWJkMjZkZGFmMmZjOWVmOTViNGIxMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC00MjgsNiArNDI4LDcgQEAgd2Via2l0Ml9zb3VyY2Vz
ICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUFJlbW90ZU9iamVjdE1hcC5o
IFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUFZhcmlhbnREYXRhLmNwcCBcCiAJ
U291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBWYXJpYW50RGF0YS5oIFwKKwlTb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRUYWJsZS5oIFwKIAlTb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnaW5Nb2R1bGVJbmZvLmNwcCBcCiAJU291cmNlL1dl
YktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luTW9kdWxlSW5mby5oIFwKIAlTb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBcCkBA
IC04MTQsNiArODE1LDggQEAgd2Via2l0Ml9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25Qcm92aWRlci5jcHAgXAogCVNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvblByb3Zp
ZGVyLmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmggXAorCVNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcCBc
CisJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlk
ZXIuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3Jl
LmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3Jl
LmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5h
Z2VyLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVn
SW5BdXRvU3RhcnRUYWJsZS5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z0lu
QXV0b1N0YXJ0VGFibGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZDQxNzk2MTE0N2QyNWIwZmM2YTU0ZmVmYTZi
NzVkYmY5NmEyMDQxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1Bs
dWdpbnMvUGx1Z0luQXV0b1N0YXJ0VGFibGUuaApAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworCisjaWZuZGVmIFBsdWdJbkF1dG9TdGFydFRhYmxlX2gKKyNkZWZpbmUgUGx1Z0luQXV0b1N0
YXJ0VGFibGVfaAorCisjaW5jbHVkZSA8V2ViQ29yZS9QbHVnSW5PcmlnaW5IYXNoLmg+CisjaW5j
bHVkZSA8d3RmL0hhc2hTZXQuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3R5cGVkZWYgSGFz
aFNldDxXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNoPiBQbHVnSW5BdXRvU3RhcnRUYWJsZTsKKwor
fQorCisjZW5kaWYgLyogUGx1Z0luQXV0b1N0YXJ0VGFibGVfaCAqLwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkKaW5kZXgg
MDk4YjViOTU0M2Y1ZmRmYjliOGE5MzFhMTI4Mjc5MWU2YTk3NTY5MS4uYjhmMzUwNTY3OThiYTYz
OWMxMDQ1MWVlMGU2MjU4NjMxMmRlOTBjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVGFy
Z2V0LnByaQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCkBAIC0xNDIsNiArMTQyLDcg
QEAgSEVBREVSUyArPSBcCiAgICAgU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2
ZXIuaCBcCiAgICAgU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RQcm94eS5oIFwKICAgICBTaGFyZWQv
UGx1Z2lucy9OUFZhcmlhbnREYXRhLmggXAorICAgIFNoYXJlZC9QbHVnaW5zL1BsdWdJbkF1dG9T
dGFydFRhYmxlLmggXAogICAgIFNoYXJlZC9QbHVnaW5zL1BsdWdpbk1vZHVsZUluZm8uaCBcCiAg
ICAgU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIFwKICAg
ICBTaGFyZWQvUGx1Z2lucy9QbHVnaW5RdWlya3MuaCBcCkBAIC0yMjcsNiArMjI4LDcgQEAgSEVB
REVSUyArPSBcCiAgICAgVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBcCiAgICAgVUlQcm9jZXNzL1Bh
Z2VWaWV3cG9ydENvbnRyb2xsZXIuaCBcCiAgICAgVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRy
b2xsZXJDbGllbnQuaCBcCisgICAgVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0UHJv
dmlkZXIuaCBcCiAgICAgVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmggXAogICAg
IFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5oIFwKICAgICBVSVByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oIFwKQEAgLTU4Myw2ICs1ODUsNyBAQCBTT1VS
Q0VTICs9IFwKICAgICBVSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5h
Z2VyUHJveHkuY3BwIFwKICAgICBVSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRp
b25Qcm92aWRlci5jcHAgXAogICAgIFVJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNw
cCBcCisgICAgVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwIFwK
ICAgICBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5JbmZvU3RvcmUuY3BwIFwKICAgICBVSVByb2Nl
c3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwIFwKICAgICBVSVByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmM4NzA2YWM2N2ZkZjAxNjI5OWJiMDU1ZTEzMjg3MzhiNjQxMjNiNDkKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRvU3Rh
cnRQcm92aWRlci5jcHAKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5oIgorCisjaW5jbHVk
ZSAiV2ViQ29udGV4dC5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3NNZXNzYWdlcy5oIgorCit1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1BsdWdJbkF1dG9T
dGFydFByb3ZpZGVyOjpQbHVnSW5BdXRvU3RhcnRQcm92aWRlcihXZWJDb250ZXh0KiBjb250ZXh0
KQorICAgIDogbV9jb250ZXh0KGNvbnRleHQpCit7Cit9CisKK3ZvaWQgUGx1Z0luQXV0b1N0YXJ0
UHJvdmlkZXI6OmFkZEF1dG9TdGFydE9yaWdpbihQbHVnSW5PcmlnaW5IYXNoIGhhc2gpCit7Cisg
ICAgaWYgKG1fYXV0b1N0YXJ0VGFibGUuY29udGFpbnMoaGFzaCkpCisgICAgICAgIHJldHVybjsK
KyAgICBtX2F1dG9TdGFydFRhYmxlLmFkZChoYXNoKTsKKyAgICBtX2NvbnRleHQtPnNlbmRUb0Fs
bFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6UGx1Z0luQXV0b1N0YXJ0T3JpZ2luQ2hh
bmdlZChoYXNoKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFByb3ZpZGVy
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODE0ODYzMjJiM2UwYmZjZmE2YTdhMDNjNDE5MjRkNjdkMDMyMDgxMwot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdJ
bkF1dG9TdGFydFByb3ZpZGVyLmgKQEAgLTAsMCArMSw1MiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5k
ZWYgUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXJfaAorI2RlZmluZSBQbHVnSW5BdXRvU3RhcnRQcm92
aWRlcl9oCisKKyNpbmNsdWRlICJQbHVnSW5BdXRvU3RhcnRUYWJsZS5oIgorI2luY2x1ZGUgPFdl
YkNvcmUvUGx1Z0luT3JpZ2luSGFzaC5oPgorI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgor
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdl
YkNvbnRleHQ7CisKK2NsYXNzIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShQbHVnSW5BdXRvU3RhcnRQcm92aWRlcik7CitwdWJsaWM6CisgICAgZXhw
bGljaXQgUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIoV2ViQ29udGV4dCopOworCisgICAgdm9pZCBh
ZGRBdXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFzaCk7CisKK3ByaXZhdGU6
CisgICAgV2ViQ29udGV4dCogbV9jb250ZXh0OworICAgIFBsdWdJbkF1dG9TdGFydFRhYmxlIG1f
YXV0b1N0YXJ0VGFibGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8q
IFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyX2ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJD
b250ZXh0LmNwcAppbmRleCAzZjgxOGQxYzE4YjUzODYwY2Y4NzQyZDQ0Yzk5YzM4MDc3YWIxZTgx
Li45YjIyY2EzYzdmZDlmMGZmYzQ3OTdjMTBhNjA4NjI5NjkyMjM4ZDg3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCkBAIC0xMjAsNiArMTIwLDcgQEAgV2ViQ29udGV4
dDo6V2ViQ29udGV4dChQcm9jZXNzTW9kZWwgcHJvY2Vzc01vZGVsLCBjb25zdCBTdHJpbmcmIGlu
amVjdGVkQnVuZGxlUGEKICAgICAsIG1fZGVmYXVsdFBhZ2VHcm91cChXZWJQYWdlR3JvdXA6OmNy
ZWF0ZSgpKQogICAgICwgbV9pbmplY3RlZEJ1bmRsZVBhdGgoaW5qZWN0ZWRCdW5kbGVQYXRoKQog
ICAgICwgbV92aXNpdGVkTGlua1Byb3ZpZGVyKHRoaXMpCisgICAgLCBtX3BsdWdJbkF1dG9TdGFy
dFByb3ZpZGVyKHRoaXMpCiAgICAgLCBtX2Fsd2F5c1VzZXNDb21wbGV4VGV4dENvZGVQYXRoKGZh
bHNlKQogICAgICwgbV9zaG91bGRVc2VGb250U21vb3RoaW5nKHRydWUpCiAgICAgLCBtX2NhY2hl
TW9kZWwoQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyKQpAQCAtMTAyNSw0ICsxMDI2LDkgQEAgdm9p
ZCBXZWJDb250ZXh0OjpzZXRKYXZhU2NyaXB0R2FyYmFnZUNvbGxlY3RvclRpbWVyRW5hYmxlZChi
b29sIGZsYWcpCiAgICAgc2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpT
ZXRKYXZhU2NyaXB0R2FyYmFnZUNvbGxlY3RvclRpbWVyRW5hYmxlZChmbGFnKSk7CiB9CiAKK3Zv
aWQgV2ViQ29udGV4dDo6YWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaChXZWJDb3JlOjpQbHVn
SW5PcmlnaW5IYXNoIGhhc2gpCit7CisgICAgbV9wbHVnSW5BdXRvU3RhcnRQcm92aWRlci5hZGRB
dXRvU3RhcnRPcmlnaW4oaGFzaCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKaW5kZXggMmNmN2JiNTA3Y2UwY2ViMDJhMWFhNTkx
MTRhNjg4ZjE3ODAzNDkxZC4uYTM2Y2E4ZGY4NTkzYjI0OGE5MjQ2ZjdiOWI0MTgzNmUyMWNjOWE1
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCkBAIC0zMCw2ICszMCw3IEBA
CiAjaW5jbHVkZSAiR2VuZXJpY0NhbGxiYWNrLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVy
LmgiCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyTWFwLmgiCisjaW5jbHVkZSAiUGx1Z0luQXV0
b1N0YXJ0UHJvdmlkZXIuaCIKICNpbmNsdWRlICJQbHVnaW5JbmZvU3RvcmUuaCIKICNpbmNsdWRl
ICJQcm9jZXNzTW9kZWwuaCIKICNpbmNsdWRlICJWaXNpdGVkTGlua1Byb3ZpZGVyLmgiCkBAIC0z
OSw2ICs0MCw3IEBACiAjaW5jbHVkZSAiV2ViSGlzdG9yeUNsaWVudC5oIgogI2luY2x1ZGUgIldl
YlByb2Nlc3NQcm94eS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvTGlua0hhc2guaD4KKyNpbmNsdWRl
IDxXZWJDb3JlL1BsdWdJbk9yaWdpbkhhc2guaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgog
I2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KQEAg
LTMxMCw2ICszMTIsOCBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVyT2NjbHVz
aW9uTm90aWZpY2F0aW9uSGFuZGxlcnMoKTsKICNlbmRpZgogCisgICAgdm9pZCBhZGRQbHVnSW5B
dXRvU3RhcnRPcmlnaW5IYXNoKFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhhc2gpOworCiAgICAgUHJv
Y2Vzc01vZGVsIG1fcHJvY2Vzc01vZGVsOwogICAgIAogICAgIFZlY3RvcjxSZWZQdHI8V2ViUHJv
Y2Vzc1Byb3h5PiA+IG1fcHJvY2Vzc2VzOwpAQCAtMzI5LDYgKzMzMyw3IEBAIHByaXZhdGU6CiAg
ICAgUGx1Z2luSW5mb1N0b3JlIG1fcGx1Z2luSW5mb1N0b3JlOwogI2VuZGlmCiAgICAgVmlzaXRl
ZExpbmtQcm92aWRlciBtX3Zpc2l0ZWRMaW5rUHJvdmlkZXI7CisgICAgUGx1Z0luQXV0b1N0YXJ0
UHJvdmlkZXIgbV9wbHVnSW5BdXRvU3RhcnRQcm92aWRlcjsKICAgICAgICAgCiAgICAgSGFzaFNl
dDxTdHJpbmc+IG1fc2NoZW1lc1RvUmVnaXN0ZXJBc0VtcHR5RG9jdW1lbnQ7CiAgICAgSGFzaFNl
dDxTdHJpbmc+IG1fc2NoZW1lc1RvUmVnaXN0ZXJBc1NlY3VyZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkNvbnRleHQubWVzc2FnZXMuaW4KaW5kZXggMjY2NGE1ZjRmZmU2Nzgx
ZDVkYWRhM2E0MjhjMWY3ZTk2ZTYxYTllNC4uZjYyNDliMzA0ZmQ1ODA2Y2Y3MTRkODJlZjdmZDJj
ZDQyOWE0OTdiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRl
eHQubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQu
bWVzc2FnZXMuaW4KQEAgLTUxLDQgKzUxLDcgQEAgbWVzc2FnZXMgLT4gV2ViQ29udGV4dCB7CiAg
ICAgLy8gYW55IHN5bmNocm9ub3VzIG1lc3NhZ2VzLCBhbmQgc2hvdWxkIGJlIHJlbW92ZWQgd2hl
biA8cmRhcjovL3Byb2JsZW0vODc3NTExNT4gaXMgZml4ZWQuCiAgICAgRHVtbXkoKSAtPiAoYm9v
bCBkdW1teVJldHVybikKICNlbmRpZgorCisgICAgIyBQbHVnLWluIG1lc3NhZ2VzLgorICAgIHZv
aWQgQWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaCh1aW50NjRfdCBoYXNoKQogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDc2
ZTJkMmE2N2I2OWIzN2E4MzU5NDBmNmM1MjJjMTJiOTFlNmE0YjkuLjY2ZjFmNzI3YTAwNmRiOGY5
Zjc2MDAzZmZjN2Q3YTVhOTJlMzcyMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQy
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTMyMSw2ICszMjEsOSBAQAogCQkzMUEyRUM1
NjE0ODk5QzA5MDA4MTBENzEgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQTJFQzUzMTQ4OTk4
MjUwMDgxMEQ3MSAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oICovOyB9OwogCQkz
MUEyRUM3NDE0OEQ1OUNBMDA4MTBENzEgLyogV0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVz
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFBMkVD
NzIxNDhENTlCQjAwODEwRDcxIC8qIFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkzMUEyRUM3
NzE0OEQ2NjJFMDA4MTBENzEgLyogV0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUEyRUM3NTE0
OEQ2NUJCMDA4MTBENzEgLyogV0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5jcHAgKi87
IH07CisJCTMxQTY3RTBDMTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRl
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUE2
N0UwQTE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwICovOyB9
OworCQkzMUE2N0UwRDE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQTY3RTBC
MTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5oICovOyB9OworCQkz
MUE2N0UxMjE2NUI5MUVDMDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0VGFibGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQTY3RTEwMTY1QjkxRUMw
MDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRUYWJsZS5oICovOyB9OwogCQkzMUJBOTI0RDE0ODgz
MTI2MDA2MkVEQjUgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUJBOTI0ODE0
ODgzMDgxMDA2MkVEQjUgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5j
cHAgKi87IH07CiAJCTMxQkE5MjRFMTQ4ODMxMjYwMDYyRURCNSAvKiBXZWJOb3RpZmljYXRpb25N
YW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDMxQkE5MjQ5MTQ4ODMwODEwMDYyRURCNSAvKiBXZWJOb3RpZmljYXRpb25NYW5hZ2Vy
TWVzc2FnZXMuaCAqLzsgfTsKIAkJMzFFQTI1RDIxMzRGNzhDMDAwNUIxNDUyIC8qIE5hdGl2ZVdl
Yk1vdXNlRXZlbnRNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAzMUVBMjVEMDEzNEY3OEIyMDA1QjE0NTIgLyogTmF0aXZlV2ViTW91c2VFdmVudE1h
Yy5tbSAqLzsgfTsKQEAgLTE1NDUsNiArMTU0OCw5IEBACiAJCTMxQTJFQzU0MTQ4OTk4MkUwMDgx
MEQ3MSAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQTJFQzcyMTQ4RDU5QkIwMDgxMEQ3MSAv
KiBXS05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLTm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMzFBMkVDNzUxNDhENjVCQjAwODEwRDcxIC8qIFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJl
cXVlc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tOb3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTMxQTY3RTBBMTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQbHVnSW5BdXRvU3RhcnRQcm92
aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxQTY3RTBCMTY1QjJBOTkw
MDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkzMUE2N0UxMDE2NUI5MUVDMDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0
VGFibGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGx1Z0luQXV0b1N0YXJ0
VGFibGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFCQTkyNDgxNDg4MzA4MTAw
NjJFREI1IC8qIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViTm90aWZpY2F0aW9uTWFuYWdlck1l
c3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQkE5MjQ5
MTQ4ODMwODEwMDYyRURCNSAvKiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZXMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3Nh
Z2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxRUEyNUQwMTM0Rjc4QjIwMDVC
MTQ1MiAvKiBOYXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
TmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTI5MDUsNiArMjkxMSw3IEBACiAJCQkJMUExRkEyNTExMjdBMEU0RjAwNTBFNzA5IC8qIE5QUmVt
b3RlT2JqZWN0TWFwLmggKi8sCiAJCQkJMUEyRDg0QTIxMjdGNkFEMTAwMUVCOTYyIC8qIE5QVmFy
aWFudERhdGEuY3BwICovLAogCQkJCTFBMkQ4NEExMTI3RjZBRDEwMDFFQjk2MiAvKiBOUFZhcmlh
bnREYXRhLmggKi8sCisJCQkJMzFBNjdFMTAxNjVCOTFFQzAwNkNCQTY2IC8qIFBsdWdJbkF1dG9T
dGFydFRhYmxlLmggKi8sCiAJCQkJMUEzRDYwRkYxM0E3Q0MyQTAwRjk1RDRFIC8qIFBsdWdpbk1v
ZHVsZUluZm8uY3BwICovLAogCQkJCTFBM0Q2MTAwMTNBN0NDMkEwMEY5NUQ0RSAvKiBQbHVnaW5N
b2R1bGVJbmZvLmggKi8sCiAJCQkJMUEyRDkwRDExMjgxQzk2NjAwMUVCOTYyIC8qIFBsdWdpblBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwICovLApAQCAtMjk3NCw2ICsyOTgxLDggQEAKIAkJ
CWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJMUFFRkNDMEQxMUQwMUY0MTAw
ODIxOUQzIC8qIG1hYyAqLywKKwkJCQkzMUE2N0UwQTE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0lu
QXV0b1N0YXJ0UHJvdmlkZXIuY3BwICovLAorCQkJCTMxQTY3RTBCMTY1QjJBOTkwMDZDQkE2NiAv
KiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5oICovLAogCQkJCTFBRUZDQzExMTFEMDFGOTYwMDgy
MTlEMyAvKiBQbHVnaW5JbmZvU3RvcmUuY3BwICovLAogCQkJCTFBRUZDQzEwMTFEMDFGOTYwMDgy
MTlEMyAvKiBQbHVnaW5JbmZvU3RvcmUuaCAqLywKIAkJCQkxQTBFQzYwMjEyNEE5RjJDMDA3RUY0
QTUgLyogUGx1Z2luUHJvY2Vzc01hbmFnZXIuY3BwICovLApAQCAtNTAwMCw2ICs1MDA5LDggQEAK
IAkJCQkyOTg0RjU4OTE2NEJBMDk1MDA0QkMwQzYgLyogQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyTWVz
c2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRjA2MEUwMTY1NDMxN0YwMEYzMjgxQiAvKiBX
ZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTc1OTQ0QjE2
NTcwODA0MDBERDc3MUQgLyogTmV0d29ya1Jlc291cmNlTG9hZGVyTWVzc2FnZXMuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTMxQTY3RTBEMTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQ
cm92aWRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFBNjdFMTIxNjVCOTFFQzAwNkNCQTY2IC8q
IFBsdWdJbkF1dG9TdGFydFRhYmxlLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5
Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTU5NTQsNiArNTk2NSw3
IEBACiAJCQkJMjk4NEY1ODgxNjRCQTA5NTAwNEJDMEM2IC8qIEN1c3RvbVByb3RvY29sTWFuYWdl
ck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MUYwNjBFMTE2NTQzMTg1
MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNTE3NTk0NEExNjU3MDgwNDAwREQ3NzFEIC8qIE5ldHdvcmtSZXNvdXJjZUxv
YWRlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkzMUE2N0UwQzE2NUIy
QTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKaW5kZXggYzA0NjY0NDM5OGYzYjFl
ZTFlNDg0MDgxZjM2MDFjMjhhMTNiOGRhNC4uYWU5MGIzOTk0NDI1M2ZmYzM4YmZhMTIzOTQ4NzYy
MzM4ZmIyZmJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcApAQCAtMTUx
LDYgKzE1MSwxNiBAQCB2b2lkIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Z2V0UGx1Z2luSW5mbyhj
b25zdCBXZWJDb3JlOjpQYWdlKiwgVmVjdG9yPFdlYkNvcmU6OgogI2VuZGlmIC8vIEVOQUJMRShO
RVRTQ0FQRV9QTFVHSU5fQVBJKQogfQogCitib29sIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6aXNB
dXRvU3RhcnRPcmlnaW4oUGFnZSosIFBsdWdJbk9yaWdpbkhhc2ggaGFzaCkKK3sKKyAgICByZXR1
cm4gV2ViUHJvY2Vzczo6c2hhcmVkKCkuaXNQbHVnSW5BdXRvU3RhcnRPcmlnaW4oaGFzaCk7Cit9
CisKK3ZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjphZGRBdXRvU3RhcnRPcmlnaW4oUGFnZSos
IFBsdWdJbk9yaWdpbkhhc2ggaGFzaCkKK3sKKyAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5hZGRQ
bHVnSW5BdXRvU3RhcnRPcmlnaW4oaGFzaCk7Cit9CisKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExV
R0lOX0FQSSkKIHN0YXRpYyBCbG9ja2luZ1Jlc3BvbnNlTWFwPFZlY3RvcjxXZWJDb3JlOjpQbHVn
aW5JbmZvPiA+JiByZXNwb25zZU1hcCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMu
aAppbmRleCAwNDBjZmIxYTlhNjNlZWY5MDc5MWYwZjNjNTY5ZGJhMjZiMmFmMTAzLi5mNDZjNzRk
ZDViOWY4ZWE0MmQ3NTg1ZjJhM2Q2YzQyY2Q3MGI0MmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1T
dHJhdGVnaWVzLmgKQEAgLTY3LDYgKzY3LDggQEAgcHJpdmF0ZToKICAgICAvLyBXZWJDb3JlOjpQ
bHVnaW5TdHJhdGVneQogICAgIHZpcnR1YWwgdm9pZCByZWZyZXNoUGx1Z2lucygpIE9WRVJSSURF
OwogICAgIHZpcnR1YWwgdm9pZCBnZXRQbHVnaW5JbmZvKGNvbnN0IFdlYkNvcmU6OlBhZ2UqLCBW
ZWN0b3I8V2ViQ29yZTo6UGx1Z2luSW5mbz4mKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wg
aXNBdXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6UGFnZSosIFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhh
c2gpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBhZGRBdXRvU3RhcnRPcmlnaW4oV2ViQ29y
ZTo6UGFnZSosIFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhhc2gpIE9WRVJSSURFOwogCiAgICAgLy8g
V2ViQ29yZTo6VmlzaXRlZExpbmtTdHJhdGVneQogICAgIHZpcnR1YWwgYm9vbCBpc0xpbmtWaXNp
dGVkKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpMaW5rSGFzaCwgY29uc3QgV2ViQ29yZTo6S1VS
TCYgYmFzZVVSTCwgY29uc3QgV1RGOjpBdG9taWNTdHJpbmcmIGF0dHJpYnV0ZVVSTCkgT1ZFUlJJ
REU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCAyOGI3YmZk
N2IwMjM2NmYzNDBmMjQ3MWUwNzdjMzY5MGYyYWE4YjZkLi5iMmYyMGRiOTdlZDNmZjU1MTM1M2Qw
ODczM2ZjOTRjZTVjMjU2MjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAKQEAgLTkxMiw3ICs5MTIsMjUgQEAgdm9pZCBXZWJQcm9jZXNzOjpjbGVhclBsdWdpblNp
dGVEYXRhKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBwbHVnaW5QYXRocywgY29uc3QgVmUKICAgICBj
b25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6RGlkQ2xlYXJQbHVn
aW5TaXRlRGF0YShjYWxsYmFja0lEKSwgMCk7CiB9CiAjZW5kaWYKLSAgICAKKworYm9vbCBXZWJQ
cm9jZXNzOjppc1BsdWdJbkF1dG9TdGFydE9yaWdpbihQbHVnSW5PcmlnaW5IYXNoIGhhc2gpCit7
CisgICAgcmV0dXJuIG1fYXV0b1N0YXJ0VGFibGUuY29udGFpbnMoaGFzaCk7Cit9CisKK3ZvaWQg
V2ViUHJvY2Vzczo6YWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luKFBsdWdJbk9yaWdpbkhhc2ggaGFz
aCkKK3sKKyAgICBpZiAoaXNQbHVnSW5BdXRvU3RhcnRPcmlnaW4oaGFzaCkpCisgICAgICAgIHJl
dHVybjsKKworICAgIGNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViQ29udGV4dDo6QWRk
UGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaChoYXNoKSwgMCk7Cit9CisKK3ZvaWQgV2ViUHJvY2Vz
czo6cGx1Z0luQXV0b1N0YXJ0T3JpZ2luQ2hhbmdlZChQbHVnSW5PcmlnaW5IYXNoIGhhc2gpCit7
CisgICAgbV9hdXRvU3RhcnRUYWJsZS5hZGQoaGFzaCk7Cit9CisKIHN0YXRpYyB2b2lkIGZyb21D
b3VudGVkU2V0VG9IYXNoTWFwKFR5cGVDb3VudFNldCogY291bnRlZFNldCwgSGFzaE1hcDxTdHJp
bmcsIHVpbnQ2NF90PiYgbWFwKQogewogICAgIFR5cGVDb3VudFNldDo6Y29uc3RfaXRlcmF0b3Ig
ZW5kID0gY291bnRlZFNldC0+ZW5kKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5oCmluZGV4IDgyZTZjYzhmMmFiMWU4ZTAzZDhjZTRhNDkyODE0ZjM5Nzc2Nzg5NWQuLjQzYzcw
ZTM2Njg5NWFjMjI0ODM5ZjMwN2IzNzc0YmYyNGQzZTUwOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiRHJhd2luZ0Fy
ZWEuaCIKICNpbmNsdWRlICJFdmVudERpc3BhdGNoZXIuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVj
ZWl2ZXJNYXAuaCIKKyNpbmNsdWRlICJQbHVnSW5BdXRvU3RhcnRUYWJsZS5oIgogI2luY2x1ZGUg
IlBsdWdpbkluZm9TdG9yZS5oIgogI2luY2x1ZGUgIlJlc291cmNlQ2FjaGVzVG9DbGVhci5oIgog
I2luY2x1ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKQEAgLTQyLDYgKzQzLDcgQEAKICNpbmNsdWRl
ICJXZWJJY29uRGF0YWJhc2VQcm94eS5oIgogI2luY2x1ZGUgIldlYlBhZ2VHcm91cFByb3h5Lmgi
CiAjaW5jbHVkZSA8V2ViQ29yZS9MaW5rSGFzaC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGx1Z0lu
T3JpZ2luSGFzaC5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgpAQCAtMTUyLDYgKzE1NCw5IEBAIHB1
YmxpYzoKICAgICB2b2lkIGFkZFZpc2l0ZWRMaW5rKFdlYkNvcmU6OkxpbmtIYXNoKTsKICAgICBi
b29sIGlzTGlua1Zpc2l0ZWQoV2ViQ29yZTo6TGlua0hhc2gpIGNvbnN0OwogCisgICAgYm9vbCBp
c1BsdWdJbkF1dG9TdGFydE9yaWdpbihXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNoKTsKKyAgICB2
b2lkIGFkZFBsdWdJbkF1dG9TdGFydE9yaWdpbihXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNoKTsK
KwogICAgIGJvb2wgZnVsbEtleWJvYXJkQWNjZXNzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
ZnVsbEtleWJvYXJkQWNjZXNzRW5hYmxlZDsgfQogCiAgICAgV2ViRnJhbWUqIHdlYkZyYW1lKHVp
bnQ2NF90KSBjb25zdDsKQEAgLTIzNiw2ICsyNDEsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgdmlz
aXRlZExpbmtTdGF0ZUNoYW5nZWQoY29uc3QgVmVjdG9yPFdlYkNvcmU6OkxpbmtIYXNoPiYgbGlu
a0hhc2hlcyk7CiAgICAgdm9pZCBhbGxWaXNpdGVkTGlua1N0YXRlQ2hhbmdlZCgpOwogCisgICAg
dm9pZCBwbHVnSW5BdXRvU3RhcnRPcmlnaW5DaGFuZ2VkKFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhh
c2gpOworCiAgICAgdm9pZCBwbGF0Zm9ybVNldENhY2hlTW9kZWwoQ2FjaGVNb2RlbCk7CiAgICAg
c3RhdGljIHZvaWQgY2FsY3VsYXRlQ2FjaGVTaXplcyhDYWNoZU1vZGVsIGNhY2hlTW9kZWwsIHVp
bnQ2NF90IG1lbW9yeVNpemUsIHVpbnQ2NF90IGRpc2tGcmVlU2l6ZSwKICAgICAgICAgdW5zaWdu
ZWQmIGNhY2hlVG90YWxDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWluRGVhZENhcGFjaXR5LCB1
bnNpZ25lZCYgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIGRvdWJsZSYgZGVhZERlY29kZWREYXRhRGVs
ZXRpb25JbnRlcnZhbCwKQEAgLTMyOCw2ICszMzUsOCBAQCBwcml2YXRlOgogICAgIFZpc2l0ZWRM
aW5rVGFibGUgbV92aXNpdGVkTGlua1RhYmxlOwogICAgIGJvb2wgbV9zaG91bGRUcmFja1Zpc2l0
ZWRMaW5rczsKIAorICAgIFBsdWdJbkF1dG9TdGFydFRhYmxlIG1fYXV0b1N0YXJ0VGFibGU7CisK
ICAgICBib29sIG1faGFzU2V0Q2FjaGVNb2RlbDsKICAgICBDYWNoZU1vZGVsIG1fY2FjaGVNb2Rl
bDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1l
c3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2Vz
LmluCmluZGV4IGVkY2FkMzRmZjM3Y2VhN2FkMTM1ZDZkMjY0NDJlMWRlYzQ4OGQzMDYuLmE2MGZm
MzNlMmNmNGNkZmMwZjZmN2UzYTFhYjQ1YmY2NzBlZThhYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTYzLDYgKzYzLDcgQEAg
bWVzc2FnZXMgLT4gV2ViUHJvY2VzcyB7CiAgICAgR2V0U2l0ZXNXaXRoUGx1Z2luRGF0YShWZWN0
b3I8V1RGOjpTdHJpbmc+IHBsdWdpblBhdGhzLCB1aW50NjRfdCBjYWxsYmFja0lEKQogICAgIENs
ZWFyUGx1Z2luU2l0ZURhdGEoVmVjdG9yPFdURjo6U3RyaW5nPiBwbHVnaW5QYXRocywgVmVjdG9y
PFdURjo6U3RyaW5nPiBzaXRlcywgdWludDY0X3QgZmxhZ3MsIHVpbnQ2NF90IG1heEFnZUluU2Vj
b25kcywgdWludDY0X3QgY2FsbGJhY2tJRCkKICNlbmRpZgorICAgIFBsdWdJbkF1dG9TdGFydE9y
aWdpbkNoYW5nZWQodWludDY0X3QgaGFzaCkKIAogI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1Mp
CiAgICAgTmV0d29ya1Byb2Nlc3NDcmFzaGVkKCkgRGlzcGF0Y2hPbkNvbm5lY3Rpb25RdWV1ZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qIGIvU291cmNlL1dl
YktpdDIvd2luL1dlYktpdDIudmNwcm9qCmluZGV4IDA1N2NiZjNkYjM2ZmU4M2RjYjUzOTY4ZDAw
MGE2ZWU3NDkxOWM1OWIuLjkxY2RkMzhmYWFkNWE3N2ZlMzk0MDU0MzAwNmU2YzUxZjc4MTQwNzYg
MTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKQEAgLTE1NTgsNiArMTU1OCwxMCBAQAogCQkJ
CU5hbWU9IlBsdWdpbnMiCiAJCQkJPgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5c
U2hhcmVkXFBsdWdpbnNcUGx1Z0luQXV0b1N0YXJ0VGFibGUuaCIKKwkJCQkJPgorCQkJCTwvRmls
ZT4KKwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFNoYXJlZFxQbHVnaW5zXFBsdWdp
bk1vZHVsZUluZm8uY3BwIgogCQkJCQk+CiAJCQkJPC9GaWxlPgpAQCAtMzg2Niw2ICszODcwLDE0
IEBACiAJCQkJTmFtZT0iUGx1Z2lucyIKIAkJCQk+CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxVSVByb2Nlc3NcUGx1Z2luc1xQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5jcHAiCisJ
CQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVBy
b2Nlc3NcUGx1Z2luc1xQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5oIgorCQkJCQk+CisJCQkJPC9G
aWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9jZXNzXFBsdWdpbnNc
UGx1Z2luSW5mb1N0b3JlLmNwcCIKIAkJCQkJPgogCQkJCTwvRmlsZT4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176207</attachid>
            <date>2012-11-27 02:14:44 -0800</date>
            <delta_ts>2012-11-27 10:18:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103206-20121127021222.patch</filename>
            <type>text/plain</type>
            <size>64701</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1ODM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmQwYzE3N2YyMjE1Y2Q3
ZWFjZGZjZDFmZDE5NDZiYTE0ZWU5ODU4MC4uOTlkMDA5MDYyMmYyMDBkYzgzMDlhYjFhYzRkZDRi
MDg3ZjU5YzdjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDEyLTExLTI3ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBLZWVwIHRyYWNrIG9mIHBsdWctaW4g
c25hcHNob3RzIGNsaWNrZWQgYnkgdXNlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjc0NjQ4
Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCZXR3
ZWVuIHRoZSBVSSBhbmQgd2ViIHByb2Nlc3NlcyB3ZSBrZWVwIHRyYWNrIG9mICJvcmlnaW4gaGFz
aGVzIiwgd2hpY2ggYXJlIGJhc2VkIG9uIGEgY29tYmluYXRpb24gb2YKKyAgICAgICAgdGhlIGJh
c2UgZG9tYWlucyBvZiB0aGUgcGFnZSdzIG1haW4gZnJhbWUgYW5kIHRoZSBwbHVnaW4uCisKKyAg
ICAgICAgQmVjYXVzZSB0aGUgYWN0dWFsIFVSTCBsb2FkZWQgZm9yIHRoZSBwbHVnaW4gbWlnaHQg
ZGlmZmVyIGZyb20gdGhlIG9uZSBvcmlnaW5hbGx5IHNwZWNpZmllZCwKKyAgICAgICAgd2Ugd2Fp
dCB1bnRpbCB0aGUgcGx1Zy1pbiBpcyBhYm91dCB0byBiZSBjcmVhdGVkIHRvIGdldCB0aGUgaGFz
aC4gVGhlIGhhc2ggaXMgY2FjaGVkLCBzbyB0aGF0IHdoZW4gdGhlCisgICAgICAgIHVzZXIgY2xp
Y2tzIG9uIHRoZSBwbHVnLWluIHNuYXBzaG90LCB0aGUgaGFzaCBjYW4gYmUgYWRkZWQgdG8gdGhl
IGxpc3Qgb2YgZG9tYWluIGhhc2hlcyB0aGF0IHNob3VsZAorICAgICAgICBhdXRvLXN0YXJ0Lgor
CisgICAgICAgICogcGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5jcHA6IEFkZGVkLiBJbnNwaXJl
ZCBieSBWaXNpdGVkTGlua0hhc2guCisgICAgICAgIChXZWJDb3JlOjpwbHVnSW5PcmlnaW5IYXNo
SW5saW5lKTogSGFzaCB0aGUgY2hhcmFjdGVyIGRhdGEuCisgICAgICAgIChXZWJDb3JlOjpwbHVn
SW5PcmlnaW5IYXNoKTogQ29uY2F0ZW5hdGUgdGhlIG9yaWdpbiBvZiB0aGUgbWFpbiBmcmFtZSdz
IGRvY3VtZW50LCBhbmQgdGhhdCBvZiB0aGUKKyAgICAgICAgcGx1Zy1pbidzIFVSTC4gVGhhdCBj
b21iaW5lZCBzdHJpbmcgaXMgd2hhdCB3ZSBoYXNoLgorICAgICAgICAqIHBsYXRmb3JtL1BsdWdJ
bk9yaWdpbkhhc2guaDogQWRkZWQuCisKKyAgICAgICAgKiBwbHVnaW5zL1BsdWdpblN0cmF0ZWd5
Lmg6CisgICAgICAgIChQbHVnaW5TdHJhdGVneSk6IEFkZCBuZXcgZnVuY3Rpb25zIHRvIHRoZSBw
bHVnLWluIHN0cmF0ZWd5LCBmb3IgY2hlY2tpbmcgd2hldGhlciBwbHVnLWlucyB3aXRoIGEKKyAg
ICAgICAgY2VydGFpbiBvcmlnaW4gaGFzaCBhcmUgbWFya2VkIGZvciBhdXRvLWxvYWQsIGFuZCBm
b3IgYWRkaW5nIGEgbmV3IG9yaWdpbiBoYXNoLgorCisgICAgICAgICogaHRtbC9IVE1MUGx1Z0lu
SW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5JbWFnZUVsZW1l
bnQ6OkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQpOiBJbml0aWFsbHkgdGhlIGhhc2ggaXMgdW5rbm93
bi4gU2V0IHRvIDAuCisgICAgICAgIE1vdmUgdGhlIGNoZWNrIGZvciB3aGV0aGVyIHRvIHNuYXBz
aG90IHRoZSBwbHVnaW4gaW50byB0aGUgbmV3IGZ1bmN0aW9uIHN1YmZyYW1lTG9hZGVyV2lsbExv
YWRQbHVnSW4uCisgICAgICAgIChXZWJDb3JlOjpIVE1MUGx1Z0luSW1hZ2VFbGVtZW50Ojp1c2Vy
RGlkQ2xpY2tTbmFwc2hvdCk6IFJlbmFtZSBzZXRQZW5kaW5nQ2xpY2tFdmVudCgpIHRvCisgICAg
ICAgIHVzZXJEaWRDbGlja1NuYXBzaG90LiBJbiBhZGRpdGlvbiB0byBob2xkaW5nIG9udG8gdGhl
IGNsaWNrIGV2ZW50IHVzZWQgdG8gYWN0aXZhdGUgdGhlIHBsdWctaW4sIHRoZQorICAgICAgICBm
dW5jdGlvbiBub3cgYWxzbyB0ZWxscyB0aGUgcGx1Z2luIHN0cmF0ZWd5IHRvIGFkZCB0aGUgb3Jp
Z2luIGhhc2ggYXMgYW4gYXV0by1zdGFydCBvcmlnaW4uCisgICAgICAgIChXZWJDb3JlOjpIVE1M
UGx1Z0luSW1hZ2VFbGVtZW50OjpzdWJmcmFtZUxvYWRlcldpbGxMb2FkUGx1Z0luKTogQ2FsY3Vs
YXRlIHRoZSBoYXNoIGJhc2VkIG9uIHRoZQorICAgICAgICBwcm92aWRlZCBVUkwsIHdoaWNoIGlz
IHRoZSBVUkwgdGhlIHBsdWctaW4gd2lsbCBsb2FkLiBFeHRlbmQgdGhlIGNoZWNrIHRoYXQgdXNl
ZCB0byBiZSBpbiB0aGUKKyAgICAgICAgY29uc3RydWN0b3IgdG8gc2VlIGlmIHRoZSBwbHVnLWlu
IHNob3VsZCBub3QgYXV0b21hdGljYWxseSBsb2FkLgorICAgICAgICAqIGh0bWwvSFRNTFBsdWdJ
bkltYWdlRWxlbWVudC5oOgorICAgICAgICAoSFRNTFBsdWdJbkltYWdlRWxlbWVudCk6IEFkZCBh
biBpdmFyIHRvIG1haW50YWluIGEgY29weSBvZiB0aGUgaGFzaC4KKworICAgICAgICAqIGxvYWRl
ci9TdWJmcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdWJmcmFtZUxvYWRlcjo6
cmVxdWVzdFBsdWdpbik6IFdoZW4gdGhlIGxvYWRlciBpcyBhYm91dCB0byBsb2FkIHRoZSBwbHVn
LWluLCBwYXNzIHRoZQorICAgICAgICBVUkwgdG8gdGhlIGVsZW1lbnQsIHNvIHRoYXQgaXQgY2Fu
IGNhbGN1bGF0ZSB0aGUgaGFzaC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTbmFwc2hv
dHRlZFBsdWdJbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTbmFwc2hvdHRlZFBsdWdJ
bjo6aGFuZGxlRXZlbnQpOiBDYWxsIHRoZSByZW5hbWVkIGZ1bmN0aW9uIHVzZXJEaWRDbGlja1Nu
YXBzaG90KCkuCisKKyAgICAgICAgQWRkIFBsdWdJbk9yaWdpbkhhc2gue2NwcCxofS4KKyAgICAg
ICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAg
ICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKwogMjAxMi0xMS0yNyAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2
aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEz
NTc4Ni4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCBjZmYwZjcyYWNlYzRhMDliYjliNjNkNDI1NzZkZmJj
MGI3NzcyM2FlLi43ZmQzZmFlOTQ1YWRlOTEzMjc2YmExOWNlMTIxY2VkMjkxNzk3NjEzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9l
ZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTEtMjcgIEpvbiBMZWUgIDxqb25s
ZWVAYXBwbGUuY29tPgorCisgICAgICAgIEtlZXAgdHJhY2sgb2YgcGx1Zy1pbiBzbmFwc2hvdHMg
Y2xpY2tlZCBieSB1c2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDMyMDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyNzQ2NDgzPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBv
cnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmNwcDogU3R1YiBpbXBsZW1lbnRhdGlvbnMuCisgICAg
ICAgIChQbGF0Zm9ybVN0cmF0ZWdpZXNFZmw6OmlzQXV0b1N0YXJ0T3JpZ2luKToKKyAgICAgICAg
KFBsYXRmb3JtU3RyYXRlZ2llc0VmbDo6YWRkQXV0b1N0YXJ0T3JpZ2luKToKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwuaDoKKyAgICAgICAgKFBsYXRmb3Jt
U3RyYXRlZ2llc0VmbCk6CisKIDIwMTItMTEtMjcgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmll
dy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMzU3
ODYuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggNzM4Zjg1M2NhYTg5YThhMWQwYWI3ZDRlZDczY2VmYzhk
N2VkZWU0ZS4uZDk3YzYwZTExYWM1MTg2MGIwMTg5NzYxOGEyMDM0MzNmYmMzMTM2ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3Rr
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTExLTI3ICBKb24gTGVlICA8am9ubGVl
QGFwcGxlLmNvbT4KKworICAgICAgICBLZWVwIHRyYWNrIG9mIHBsdWctaW4gc25hcHNob3RzIGNs
aWNrZWQgYnkgdXNlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTAzMjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjc0NjQ4Mz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L1BsYXRmb3JtU3RyYXRlZ2llc0d0ay5jcHA6IFN0dWIgaW1wbGVtZW50YXRpb25zLgorICAgICAg
ICAoUGxhdGZvcm1TdHJhdGVnaWVzR3RrOjppc0F1dG9TdGFydE9yaWdpbik6CisgICAgICAgIChQ
bGF0Zm9ybVN0cmF0ZWdpZXNHdGs6OmFkZEF1dG9TdGFydE9yaWdpbik6CisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmg6CisgICAgICAgIChQbGF0Zm9ybVN0
cmF0ZWdpZXNHdGspOgorCiAyMDEyLTExLTI3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcu
Ym90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTM1Nzg2
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCmluZGV4IDkxMzFiZTAyMmI2ODcyNzNjMjA4M2JlNTgxY2NiMDQwMTNi
OWZkZWUuLjI4NDQzZjIxYjcwMDQxNWFkODc5NWRmZDEwYThiY2Q2ZDQxMWE2OGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMS0yNyAgSm9uIExlZSAgPGpvbmxlZUBh
cHBsZS5jb20+CisKKyAgICAgICAgS2VlcCB0cmFjayBvZiBwbHVnLWluIHNuYXBzaG90cyBjbGlj
a2VkIGJ5IHVzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwMzIwNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTI3NDY0ODM+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9X
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaDoKKyAgICAgICAgKFdlYlBsYXRmb3JtU3RyYXRlZ2llcyk6
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tOiBTdHVi
IGltcGxlbWVudGF0aW9ucy4KKyAgICAgICAgKFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6aXNBdXRv
U3RhcnRPcmlnaW4pOgorICAgICAgICAoV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjphZGRBdXRvU3Rh
cnRPcmlnaW4pOgorCiAyMDEyLTExLTI3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90
QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTM1Nzg2Lgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0
L0NoYW5nZUxvZwppbmRleCAxZjcwZTIxYTlhZjRhMTc3ZmVjNDRkMjAzYzNkN2NkMzRkZGExN2Uy
Li5jMzQ5NDViNjgwM2E4ZjZhNGNhODcwOWY2ZTYyYWU0ODgxZWU4Y2M0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTExLTI3ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNv
bT4KKworICAgICAgICBLZWVwIHRyYWNrIG9mIHBsdWctaW4gc25hcHNob3RzIGNsaWNrZWQgYnkg
dXNlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAz
MjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjc0NjQ4Mz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1BsYXRmb3Jt
U3RyYXRlZ2llc1F0LmNwcDogU3R1YiBpbXBsZW1lbnRhdGlvbnMuCisgICAgICAgIChQbGF0Zm9y
bVN0cmF0ZWdpZXNRdDo6aXNBdXRvU3RhcnRPcmlnaW4pOgorICAgICAgICAoUGxhdGZvcm1TdHJh
dGVnaWVzUXQ6OmFkZEF1dG9TdGFydE9yaWdpbik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
UGxhdGZvcm1TdHJhdGVnaWVzUXQuaDoKKyAgICAgICAgKFBsYXRmb3JtU3RyYXRlZ2llc1F0KToK
KwogMjAxMi0xMS0yNyAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEzNTc4Ni4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxv
ZwppbmRleCAwNjE0MDliZDg4ZTI3ZGJmM2RhNGIzNGNhM2RjNDY0NDMxYjE1YjUwLi44ZDg3OTM5
MDMzNmE5YTg0NTNiOGE5M2FmMWMxMGRkZWVhOWY4NjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTItMTEtMjcgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCisg
ICAgICAgIEtlZXAgdHJhY2sgb2YgcGx1Zy1pbiBzbmFwc2hvdHMgY2xpY2tlZCBieSB1c2VyCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyMDYKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyNzQ2NDgzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJh
dGVnaWVzLmNwcDogU3R1YiBpbXBsZW1lbnRhdGlvbnMuCisgICAgICAgIChXZWJQbGF0Zm9ybVN0
cmF0ZWdpZXM6OmlzQXV0b1N0YXJ0T3JpZ2luKToKKyAgICAgICAgKFdlYlBsYXRmb3JtU3RyYXRl
Z2llczo6YWRkQXV0b1N0YXJ0T3JpZ2luKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJQ
bGF0Zm9ybVN0cmF0ZWdpZXMuaDoKKyAgICAgICAgKFdlYlBsYXRmb3JtU3RyYXRlZ2llcyk6CisK
IDIwMTItMTEtMjcgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgog
CiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMzU3ODYuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdl
TG9nCmluZGV4IDIwNjhmMmU0N2UxOGZiNTNiNDczOWNhYTkwNzdjMzc3ZTRhNjMzNTYuLjc5OTlm
ZGY0MzA2MTEyOWNiYjExOTZjZGZhZDU2ZDY4ZDI4OTUwYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvd2luY2UvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTEtMjcgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29t
PgorCisgICAgICAgIEtlZXAgdHJhY2sgb2YgcGx1Zy1pbiBzbmFwc2hvdHMgY2xpY2tlZCBieSB1
c2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMy
MDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyNzQ2NDgzPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1T
dHJhdGVnaWVzV2luQ0UuY3BwOiBTdHViIGltcGxlbWVudGF0aW9ucy4KKyAgICAgICAgKFBsYXRm
b3JtU3RyYXRlZ2llc1dpbkNFOjppc0F1dG9TdGFydE9yaWdpbik6CisgICAgICAgIChQbGF0Zm9y
bVN0cmF0ZWdpZXNXaW5DRTo6YWRkQXV0b1N0YXJ0T3JpZ2luKToKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5oOgorICAgICAgICAoUGxhdGZvcm1TdHJh
dGVnaWVzV2luQ0UpOgorCiAyMDEyLTExLTI3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcu
Ym90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTM1Nzg2
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCmluZGV4IGEzYTU1MzZhMzJiYzhhYjdmYzQ4YjUzNDM3YTgzY2M5MzBkMjVlYjgu
LmQxYTBlOWI1MTVhZmUwY2RiYjRiZjBhZjNhMjNhNGJjZDJjNjM5ZTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAg
LTEsMyArMSw0NyBAQAorMjAxMi0xMS0yNyAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisK
KyAgICAgICAgS2VlcCB0cmFjayBvZiBwbHVnLWluIHNuYXBzaG90cyBjbGlja2VkIGJ5IHVzZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzIwNgor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTI3NDY0ODM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvUGx1Z2lucy9QbHVnSW5BdXRvU3Rh
cnRUYWJsZS5oOiBJbnNwaXJlZCBieSBWaXNpdGVkTGlua1RhYmxlLiBGb3Igbm93LCBtYWtlIHRo
ZSB0YWJsZSBhCisgICAgICAgIHNpbXBsZSBzZXQgb2YgaGFzaGVzLiBMYXRlciB3ZSBjb3VsZCBj
b252ZXJ0IHRoaXMgdG8gYSBzaGFyZWQgbWVtb3J5IHRhYmxlLgorICAgICAgICAqIFVJUHJvY2Vz
cy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcDogQWRkZWQuIENyZWF0ZSBhIHBy
b3ZpZGVyIHRoYXQgbWFuYWdlcyB0aGUgVUkgcHJvY2VzcycKKyAgICAgICAgY29weSBvZiB0aGUg
dGFibGUuCisgICAgICAgIChXZWJLaXQ6OlBsdWdJbkF1dG9TdGFydFByb3ZpZGVyOjpQbHVnSW5B
dXRvU3RhcnRQcm92aWRlcik6CisgICAgICAgIChXZWJLaXQ6OlBsdWdJbkF1dG9TdGFydFByb3Zp
ZGVyOjphZGRBdXRvU3RhcnRPcmlnaW4pOiBBZGQgdGhlIGhhc2ggaWYgbmVjZXNzYXJ5LCBhbmQg
YnJvYWRjYXN0IHRvCisgICAgICAgIGFsbCB3ZWIgcHJvY2Vzc2VzLgorICAgICAgICAqIFVJUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmg6IEFkZGVkLgorCisgICAgICAg
ICogVUlQcm9jZXNzL1dlYkNvbnRleHQubWVzc2FnZXMuaW46IENyZWF0ZSBhIG5ldyBtZXNzYWdl
IHRoYXQgYWRkcyBhIG5ldyBoYXNoLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNw
cDogQWRkIHRoZSBwbHVnLWluIGF1dG8tc3RhcnQgcHJvdmlkZXIuCisgICAgICAgIChXZWJLaXQ6
OldlYkNvbnRleHQ6OldlYkNvbnRleHQpOiBJbml0aWFsaXplIHRoZSBwcm92aWRlci4KKyAgICAg
ICAgKFdlYktpdDo6V2ViQ29udGV4dDo6YWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaCk6IFRl
bGwgdGhlIHByb3ZpZGVyIHRvIGFkZCB0aGUgaGFzaC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
Q29udGV4dC5oOgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0
Zm9ybVN0cmF0ZWdpZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF0Zm9ybVN0cmF0ZWdp
ZXM6OmlzQXV0b1N0YXJ0T3JpZ2luKTogRm9yd2FyZCB0byBXZWJQcm9jZXNzLgorICAgICAgICAo
V2ViS2l0OjpXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmFkZEF1dG9TdGFydE9yaWdpbik6IEZvcndh
cmQgdG8gV2ViUHJvY2Vzcy4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YlBsYXRmb3JtU3RyYXRlZ2llcy5oOgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6aXNQbHVnSW5BdXRvU3RhcnRPcmln
aW4pOiBMb29rcyBpbiB0aGUgdGFibGUgdG8gc2VlIGlmIHRoZSBoYXNoIGFscmVhZHkgZXhpc3Rz
LgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjphZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW4p
OiBJZiB0aGUgaGFzaCBpcyBub3QgYWxyZWFkeSBpbiB0aGUgdGFibGUsIG1lc3NhZ2UgdGhlIFVJ
CisgICAgICAgIHByb2Nlc3MgdG8gYWRkIGl0LgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
OjpwbHVnSW5BdXRvU3RhcnRPcmlnaW5DaGFuZ2VkKTogQ2FsbGVkIHdoZW4gdGhlIFVJIHByb2Nl
c3MgYnJvYWRjYXN0cyB0byB0aGUgd2ViCisgICAgICAgIHByb2Nlc3MgdGhhdCBhIGhhc2ggaGFz
IGJlZW4gYWRkZWQuIEFkZCB0aGF0IGhhc2ggdG8gdGhlIHdlYiBwcm9jZXNzJyBjb3B5IG9mIHRo
ZSB0YWJsZS4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46IEFkZCBhIG5ldyBtZXNzYWdlIGNhbGxl
ZCBieSBVSSBwcm9jZXNzIHdoZW4gYSBuZXcgaGFzaCBpcyBhZGRlZC4KKworICAgICAgICBBZGQg
UGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIue2NwcCxofSBhbmQgUGx1Z0luQXV0b1N0YXJ0VGFibGUu
aC4KKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0
LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHdpbi9XZWJLaXQyLnZjcHJvajoKKwogMjAxMi0x
MS0yNyAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEzNTc4Ni4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5k
ZXggZmY3Y2FjYjc5NzM1YTg2Y2M5YTRlZjQ5YjNhODVkMDY3ZTUyMzk1ZS4uMDU5MzVkYTVhMWU2
M2I4OGExNmIzZWQ5ZTViYzdlZjJjYzdhMWI5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE4
MDcsNiArMTgwNyw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9QbGF0Zm9y
bUV2ZW50LmNwcAogICAgIHBsYXRmb3JtL1BsYXRmb3JtSW5zdHJ1bWVudGF0aW9uLmNwcAogICAg
IHBsYXRmb3JtL1BsYXRmb3JtTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmNwcAorICAgIHBsYXRmb3Jt
L1BsdWdJbk9yaWdpbkhhc2guY3BwCiAgICAgcGxhdGZvcm0vUnVuTG9vcC5jcHAKICAgICBwbGF0
Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuY3BwCiAgICAgcGxhdGZvcm0vU2Nyb2xsQW5p
bWF0b3IuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
IGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA5NjYxM2QyZmM1ZmVi
ZTgzM2MzY2RkNDRmZWU1YzJmM2YxMzQ3N2JkLi5jZmM5MGYwYmJhZDU0YjZkNjc0MjAwZGUwMWZl
ZDVlOWFiMWVlN2RkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTU3NzMsNiAr
NTc3Myw4IEBAIHdlYmNvcmVfcGxhdGZvcm1fc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vUGxhdGZvcm1TdHJhdGVnaWVzLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRm
b3JtV2hlZWxFdmVudC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbHVnSW5PcmlnaW5I
YXNoLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QT0RBcmVuYS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9QT0RGcmVlTGlzdEFyZW5hLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BP
REludGVydmFsLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1Nv
dXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggZGU5ZTNlN2IwMDIyY2ZkN2ZiYWYxZmIwYWM2
ZGU2ZmQzMDBhMTQ5Ni4uNjczYmEyNzM0NGVlZGM5ZjgzOTUzZGJlOWU2MDljNmVlMDJmYmM5NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9UYXJnZXQucHJpCkBAIC0xMDY4LDYgKzEwNjgsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBwbGF0
Zm9ybS9QbGF0Zm9ybUV2ZW50LmNwcCBcCiAgICAgcGxhdGZvcm0vUGxhdGZvcm1JbnN0cnVtZW50
YXRpb24uY3BwIFwKICAgICBwbGF0Zm9ybS9QbGF0Zm9ybU1lbW9yeUluc3RydW1lbnRhdGlvbi5j
cHAgXAorICAgIHBsYXRmb3JtL1BsdWdJbk9yaWdpbkhhc2guY3BwIFwKICAgICBwbGF0Zm9ybS9S
dW50aW1lQXBwbGljYXRpb25DaGVja3MuY3BwIFwKICAgICBwbGF0Zm9ybS9SdW5Mb29wLmNwcCBc
CiAgICAgcGxhdGZvcm0vU2NoZW1lUmVnaXN0cnkuY3BwIFwKQEAgLTIyNzAsNiArMjI3MSw3IEBA
IEhFQURFUlMgKz0gXAogICAgIHBsYXRmb3JtL1BsYXRmb3JtTWVtb3J5SW5zdHJ1bWVudGF0aW9u
LmggXAogICAgIHBsYXRmb3JtL1BsYXRmb3JtVG91Y2hFdmVudC5oIFwKICAgICBwbGF0Zm9ybS9Q
bGF0Zm9ybVRvdWNoUG9pbnQuaCBcCisgICAgcGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5oIFwK
ICAgICBwbGF0Zm9ybS9Qb3B1cE1lbnUuaCBcCiAgICAgcGxhdGZvcm0vUmVmZXJyZXJQb2xpY3ku
aCBcCiAgICAgcGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXgg
OTU5Y2U1ZDc2NTA3Mjg2YjljOWM2MDBiNjIwOGRmNzNjNWM4YjU1NS4uOTNmNGY3ZmZlZTYwNGI0
MTBmMDVkNGFhZTVkNjcwMmMwYTQyMzVhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMzE0LDYgKzMx
NCw3IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vUGxhdGZvcm1TY3JlZW4uaCcsCiAgICAgICAg
ICAgICAncGxhdGZvcm0vUGxhdGZvcm1TdHJhdGVnaWVzLmgnLAogICAgICAgICAgICAgJ3BsYXRm
b3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9QbHVnSW5P
cmlnaW5IYXNoLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL1BvcHVwTWVudS5oJywKICAgICAg
ICAgICAgICdwbGF0Zm9ybS9Qb3B1cE1lbnVDbGllbnQuaCcsCiAgICAgICAgICAgICAncGxhdGZv
cm0vUG9wdXBNZW51U3R5bGUuaCcsCkBAIC00NDk4LDYgKzQ0OTksNyBAQAogICAgICAgICAgICAg
J3BsYXRmb3JtL1BsYXRmb3JtU3RyYXRlZ2llcy5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L1BsYXRmb3JtVG91Y2hFdmVudC5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9QbGF0Zm9ybVRv
dWNoUG9pbnQuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5oJywK
ICAgICAgICAgICAgICdwbGF0Zm9ybS9QcmVyZW5kZXJIYW5kbGUuaCcsCiAgICAgICAgICAgICAn
cGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL1JlZmVy
cmVyUG9saWN5LmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagppbmRleCAwMmI5NTczOWIxZmYyMjMwMzc1YzY3YmYzNzZkYzFjNzAyYmYzYmY3Li4wNWVi
OGMyYWY0MzMwZTcwYThmMTY1MTJkMGU2N2Y3MTZkYWExNTU5IDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMjg3MjYsNiArMjg3MjYsMTQgQEAK
IAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZv
cm1cUGx1Z0luT3JpZ2luSGFzaC5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXFBsdWdJbk9yaWdpbkhhc2guaCIKKwkJCQk+CisJ
CQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cUG9wdXBN
ZW51LmgiCiAJCQkJPgogCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDNiNjNiM2Q5MjhiY2M3MWRlNzM3N2UyMWYw
NmRhNmY3ODdiNzc1MzQuLmQ5ZDdlZmUyZDA2NTRmMjc3NTY5ZWMxNDBlOWI5ZGFjNjdlN2I3YTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTkzMyw2ICs5MzMsOCBAQAogCQkzMTlFNjlCNTEzMjk5QkJEMDA0QUM5MUEgLyogV2Vi
S2l0QW5pbWF0aW9uTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMTlFNjlBRjEzMjk5QkJEMDA0QUM5MUEgLyogV2ViS2l0QW5pbWF0aW9uTGlz
dC5jcHAgKi87IH07CiAJCTMxOUU2OUI2MTMyOTlCQkQwMDRBQzkxQSAvKiBXZWJLaXRBbmltYXRp
b25MaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
MTlFNjlCMDEzMjk5QkJEMDA0QUM5MUEgLyogV2ViS2l0QW5pbWF0aW9uTGlzdC5oICovOyB9Owog
CQkzMTlGQkQ1RjE1RDJGNDY0MDA5NjQwQTYgLyogQ2FjaGVkSW1hZ2VDbGllbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxOUZCRDVEMTVEMkY0NDQw
MDk2NDBBNiAvKiBDYWNoZWRJbWFnZUNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTMxQTY3RTRDMTY2MDMyNkEwMDZDQkE2NiAvKiBQbHVn
SW5PcmlnaW5IYXNoLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDMxQTY3RTRBMTY2MDMyNjkwMDZDQkE2NiAvKiBQbHVnSW5PcmlnaW5IYXNoLmNwcCAq
LzsgfTsKKwkJMzFBNjdFNEQxNjYwMzI2QTAwNkNCQTY2IC8qIFBsdWdJbk9yaWdpbkhhc2guaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQTY3RTRCMTY2
MDMyNjkwMDZDQkE2NiAvKiBQbHVnSW5PcmlnaW5IYXNoLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMzFBOTYzQTUxNjU1RDQyNjAwMEQ0NjQ1IC8q
IHN0YXJ0QnV0dG9uLnBuZyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzFBOTYzQTExNjU1RDQyNjAwMEQ0NjQ1IC8qIHN0YXJ0QnV0dG9uLnBuZyAqLzsg
fTsKIAkJMzFBOTYzQTYxNjU1RDQyNjAwMEQ0NjQ1IC8qIHN0YXJ0QnV0dG9uQDJ4LnBuZyBpbiBS
ZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFBOTYzQTIxNjU1
RDQyNjAwMEQ0NjQ1IC8qIHN0YXJ0QnV0dG9uQDJ4LnBuZyAqLzsgfTsKIAkJMzFBOTYzQTcxNjU1
RDQyNjAwMEQ0NjQ1IC8qIHN0YXJ0QnV0dG9uUHJlc3NlZC5wbmcgaW4gUmVzb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQTk2M0EzMTY1NUQ0MjYwMDBENDY0NSAv
KiBzdGFydEJ1dHRvblByZXNzZWQucG5nICovOyB9OwpAQCAtODEwNyw2ICs4MTA5LDggQEAKIAkJ
MzE5RTY5QjAxMzI5OUJCRDAwNEFDOTFBIC8qIFdlYktpdEFuaW1hdGlvbkxpc3QuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViS2l0QW5pbWF0aW9uTGlzdC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkzMTlFNjlCMTEzMjk5QkJEMDA0QUM5MUEgLyogV2ViS2l0
QW5pbWF0aW9uTGlzdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViS2l0QW5pbWF0aW9u
TGlzdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxOUZCRDVEMTVEMkY0NDQw
MDk2NDBBNiAvKiBDYWNoZWRJbWFnZUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDYWNoZWRJbWFnZUNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkzMUE2N0U0QTE2NjAzMjY5MDA2Q0JBNjYgLyogUGx1Z0luT3JpZ2luSGFzaC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQbHVnSW5PcmlnaW5IYXNoLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFBNjdFNEIxNjYwMzI2OTAwNkNCQTY2IC8qIFBs
dWdJbk9yaWdpbkhhc2guaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGx1Z0lu
T3JpZ2luSGFzaC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUE5NjNBMTE2NTVE
NDI2MDAwRDQ2NDUgLyogc3RhcnRCdXR0b24ucG5nICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1hZ2UucG5nOyBwYXRoID0gc3RhcnRCdXR0b24ucG5n
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUE5NjNBMjE2NTVENDI2MDAwRDQ2NDUg
Lyogc3RhcnRCdXR0b25AMngucG5nICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gaW1hZ2UucG5nOyBwYXRoID0gInN0YXJ0QnV0dG9uQDJ4LnBuZyI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQTk2M0EzMTY1NUQ0MjYwMDBENDY0NSAvKiBz
dGFydEJ1dHRvblByZXNzZWQucG5nICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gaW1hZ2UucG5nOyBwYXRoID0gc3RhcnRCdXR0b25QcmVzc2VkLnBuZzsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIxMDUwLDYgKzIxMDU0LDggQEAKIAkJCQkx
QUQ4RjgxQTExQ0FCOUU5MDBFOTNFNTQgLyogUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCAqLywKIAkJ
CQkxQUQ4RjgxOTExQ0FCOUU5MDBFOTNFNTQgLyogUGxhdGZvcm1TdHJhdGVnaWVzLmggKi8sCiAJ
CQkJOTM1QzQ3NkEwOUFDNEQ0RjAwQTZBQUI0IC8qIFBsYXRmb3JtV2hlZWxFdmVudC5oICovLAor
CQkJCTMxQTY3RTRBMTY2MDMyNjkwMDZDQkE2NiAvKiBQbHVnSW5PcmlnaW5IYXNoLmNwcCAqLywK
KwkJCQkzMUE2N0U0QjE2NjAzMjY5MDA2Q0JBNjYgLyogUGx1Z0luT3JpZ2luSGFzaC5oICovLAog
CQkJCUJDQkI4QUI0MTNGMUFGQjAwMDczNERGMCAvKiBQT0RBcmVuYS5oICovLAogCQkJCTFGM0Yx
OTUyMTQ5OUNBNzYwMEE1QUVBNyAvKiBQT0RGcmVlTGlzdEFyZW5hLmggKi8sCiAJCQkJQkNCQjhB
QjUxM0YxQUZCMDAwNzM0REYwIC8qIFBPREludGVydmFsLmggKi8sCkBAIC0yNTgxOSw2ICsyNTgy
NSw3IEBACiAJCQkJRkIyQzE1QzMxNjVENjQ5RDAwMzlDOUY4IC8qIENhY2hlZFNWR0RvY3VtZW50
UmVmZXJlbmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTc0MUFBRDE2NjM2NjA5MDA4QTVCN0Ug
LyogU2ltdWxhdGVkQ2xpY2tPcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNUI4QjdDOTE2
NTJDNTIyMDAzNkVGNTUgLyogSlNXZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmggaW4gSGVhZGVy
cyAqLywKKwkJCQkzMUE2N0U0RDE2NjAzMjZBMDA2Q0JBNjYgLyogUGx1Z0luT3JpZ2luSGFzaC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CiAJCX07CkBAIC0yODkxOSw2ICsyODkyNiw3IEBACiAJCQkJQ0Q3RTA1MjIxNjUx
QzI4MjAwQzEyMDFGIC8qIFdlYkNvcmVBVkZSZXNvdXJjZUxvYWRlci5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTQ0Nzk1ODA1MTY0M0I0QjIwMDFFMEE3RiAvKiBQYXJzZWRDb250ZW50VHlwZS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkxNUI4QjdDODE2NTJDNTIyMDAzNkVGNTUgLyogSlNXZWJLaXRD
U1NNaXhGdW5jdGlvblZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxQTY3RTRDMTY2MDMy
NkEwMDZDQkE2NiAvKiBQbHVnSW5PcmlnaW5IYXNoLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsK
IAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAKaW5kZXggNDIxYWMx
YjBmMGMxOGQyZmRiMjk5YjhlODY4NzQ4OTA1Yjc1ZDk3Ni4uZDAxZDg4M2RmYzNiYzY5MDY1ODY2
MmQyNjI0YmQ3Y2ZlZWZkZjk3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
UGx1Z0luSW1hZ2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVn
SW5JbWFnZUVsZW1lbnQuY3BwCkBAIC0zMCw2ICszMCw5IEBACiAjaW5jbHVkZSAiTW91c2VFdmVu
dC5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKKyNp
bmNsdWRlICJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIKKyNpbmNsdWRlICJQbHVnSW5PcmlnaW5IYXNo
LmgiCisjaW5jbHVkZSAiUGx1Z2luU3RyYXRlZ3kuaCIKICNpbmNsdWRlICJSZW5kZXJFbWJlZGRl
ZE9iamVjdC5oIgogI2luY2x1ZGUgIlJlbmRlckltYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVyU25h
cHNob3R0ZWRQbHVnSW4uaCIKQEAgLTUyLDEzICs1NSw5IEBAIEhUTUxQbHVnSW5JbWFnZUVsZW1l
bnQ6OkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jCiAgICAgLCBtX3Nob3VsZFByZWZlclBsdWdJbnNGb3JJbWFnZXMocHJlZmVyUGx1Z0luc0Zv
ckltYWdlc09wdGlvbiA9PSBTaG91bGRQcmVmZXJQbHVnSW5zRm9ySW1hZ2VzKQogICAgICwgbV9u
ZWVkc0RvY3VtZW50QWN0aXZhdGlvbkNhbGxiYWNrcyhmYWxzZSkKICAgICAsIG1fc2ltdWxhdGVk
TW91c2VDbGlja1RpbWVyKHRoaXMsICZIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjpzaW11bGF0ZWRN
b3VzZUNsaWNrVGltZXJGaXJlZCwgc2ltdWxhdGVkTW91c2VDbGlja1RpbWVyRGVsYXkpCisgICAg
LCBtX3BsdWdJbk9yaWdpbkhhc2goMCkKIHsKICAgICBzZXRIYXNDdXN0b21DYWxsYmFja3MoKTsK
LQotICAgIGlmIChkb2N1bWVudC0+cGFnZSgpCi0gICAgICAgICYmIGRvY3VtZW50LT5wYWdlKCkt
PnNldHRpbmdzKCktPnBsdWdJblNuYXBzaG90dGluZ0VuYWJsZWQoKQotICAgICAgICAmJiAhU2Ny
aXB0Q29udHJvbGxlcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkpCi0gICAgICAgIHNldERpc3Bs
YXlTdGF0ZShXYWl0aW5nRm9yU25hcHNob3QpOwogfQogCiBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50
Ojp+SFRNTFBsdWdJbkltYWdlRWxlbWVudCgpCkBAIC0yNjIsOSArMjYxLDExIEBAIHZvaWQgSFRN
TFBsdWdJbkltYWdlRWxlbWVudDo6dXBkYXRlU25hcHNob3QoUGFzc1JlZlB0cjxJbWFnZT4gaW1h
Z2UpCiAgICAgc2V0RGlzcGxheVN0YXRlKERpc3BsYXlpbmdTbmFwc2hvdCk7CiB9CiAKLXZvaWQg
SFRNTFBsdWdJbkltYWdlRWxlbWVudDo6c2V0UGVuZGluZ0NsaWNrRXZlbnQoUGFzc1JlZlB0cjxN
b3VzZUV2ZW50PiBldmVudCkKK3ZvaWQgSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6dXNlckRpZENs
aWNrU25hcHNob3QoUGFzc1JlZlB0cjxNb3VzZUV2ZW50PiBldmVudCkKIHsKKyAgICBBU1NFUlQo
bV9wbHVnSW5PcmlnaW5IYXNoKTsKICAgICBtX3BlbmRpbmdDbGlja0V2ZW50RnJvbVNuYXBzaG90
ID0gZXZlbnQ7CisgICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPnBsdWdpblN0cmF0ZWd5KCktPmFk
ZEF1dG9TdGFydE9yaWdpbihkb2N1bWVudCgpLT5wYWdlKCksIG1fcGx1Z0luT3JpZ2luSGFzaCk7
CiB9CiAKIHZvaWQgSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6ZGlzcGF0Y2hQZW5kaW5nTW91c2VD
bGljaygpCkBAIC0yODQsNCArMjg1LDE0IEBAIHZvaWQgSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6
c2ltdWxhdGVkTW91c2VDbGlja1RpbWVyRmlyZWQoRGVmZXJyYWJsZU9uZVNob3RUaW1lCiAgICAg
bV9wZW5kaW5nQ2xpY2tFdmVudEZyb21TbmFwc2hvdCA9IG51bGxwdHI7CiB9CiAKK3ZvaWQgSFRN
TFBsdWdJbkltYWdlRWxlbWVudDo6c3ViZnJhbWVMb2FkZXJXaWxsTG9hZFBsdWdJbihjb25zdCBL
VVJMJiB1cmwpCit7CisgICAgbV9wbHVnSW5PcmlnaW5IYXNoID0gcGx1Z0luT3JpZ2luSGFzaChk
b2N1bWVudCgpLT5wYWdlKCksIHVybCk7CisgICAgaWYgKGRvY3VtZW50KCktPnBhZ2UoKQorICAg
ICAgICAmJiBkb2N1bWVudCgpLT5wYWdlKCktPnNldHRpbmdzKCktPnBsdWdJblNuYXBzaG90dGlu
Z0VuYWJsZWQoKQorICAgICAgICAmJiAhcGxhdGZvcm1TdHJhdGVnaWVzKCktPnBsdWdpblN0cmF0
ZWd5KCktPmlzQXV0b1N0YXJ0T3JpZ2luKGRvY3VtZW50KCktPnBhZ2UoKSwgbV9wbHVnSW5Pcmln
aW5IYXNoKQorICAgICAgICAmJiAhU2NyaXB0Q29udHJvbGxlcjo6cHJvY2Vzc2luZ1VzZXJHZXN0
dXJlKCkpCisgICAgICAgIHNldERpc3BsYXlTdGF0ZShXYWl0aW5nRm9yU25hcHNob3QpOworfQor
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJ
bkltYWdlRWxlbWVudC5oCmluZGV4IGM1YmY2ZmExZjkxZTFlODJkMDhiY2EyYzAyYzczZGFiMmM3
YTg5M2QuLjVhNjlmYWUyMGRmMDhkNDYyOTc4NmQ4YTI3YjE0NzExZGI1NmE4ODYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5oCkBAIC0yMyw2ICsyMyw3
IEBACiAKICNpbmNsdWRlICJIVE1MUGx1Z0luRWxlbWVudC5oIgogCisjaW5jbHVkZSAiUGx1Z0lu
T3JpZ2luSGFzaC5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSA8d3RmL093
blB0ci5oPgogCkBAIC01OSw3ICs2MCwxMCBAQCBwdWJsaWM6CiAgICAgYm9vbCBuZWVkc1dpZGdl
dFVwZGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmVlZHNXaWRnZXRVcGRhdGU7IH0KICAgICB2b2lk
IHNldE5lZWRzV2lkZ2V0VXBkYXRlKGJvb2wgbmVlZHNXaWRnZXRVcGRhdGUpIHsgbV9uZWVkc1dp
ZGdldFVwZGF0ZSA9IG5lZWRzV2lkZ2V0VXBkYXRlOyB9CiAKLSAgICB2b2lkIHNldFBlbmRpbmdD
bGlja0V2ZW50KFBhc3NSZWZQdHI8TW91c2VFdmVudD4pOworICAgIHZvaWQgdXNlckRpZENsaWNr
U25hcHNob3QoUGFzc1JlZlB0cjxNb3VzZUV2ZW50Pik7CisKKyAgICAvLyBQbHVnLWluIFVSTCBt
aWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdXJsKCkgd2l0aCBvdmVycmlkaW5nIHBhcmFtZXRlcnMu
CisgICAgdm9pZCBzdWJmcmFtZUxvYWRlcldpbGxMb2FkUGx1Z0luKGNvbnN0IEtVUkwmIHBsdWdJ
blVSTCk7CiAKIHByb3RlY3RlZDoKICAgICBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiwgYm9vbCBjcmVhdGVkQnlQYXJzZXIsIFBy
ZWZlclBsdWdJbnNGb3JJbWFnZXNPcHRpb24pOwpAQCAtMTAzLDYgKzEwNyw3IEBAIHByaXZhdGU6
CiAgICAgUmVmUHRyPFJlbmRlclN0eWxlPiBtX2N1c3RvbVN0eWxlRm9yUGFnZUNhY2hlOwogICAg
IFJlZlB0cjxNb3VzZUV2ZW50PiBtX3BlbmRpbmdDbGlja0V2ZW50RnJvbVNuYXBzaG90OwogICAg
IERlZmVycmFibGVPbmVTaG90VGltZXI8SFRNTFBsdWdJbkltYWdlRWxlbWVudD4gbV9zaW11bGF0
ZWRNb3VzZUNsaWNrVGltZXI7CisgICAgUGx1Z0luT3JpZ2luSGFzaCBtX3BsdWdJbk9yaWdpbkhh
c2g7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1
YmZyYW1lTG9hZGVyLmNwcAppbmRleCA5MmVhOTczNzY3ZThjNDcyNTBiNmRiMmJmNDA0ZDM0OGU1
NDUyMmYxLi5kMWFiN2U1NmU5MjJlNDM1N2JmOTIyNWUyYmExOWM0YTgzZTM5MzUwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5jcHAKQEAgLTE1Niw2ICsxNTYsNyBAQCBi
b29sIFN1YmZyYW1lTG9hZGVyOjpyZXF1ZXN0UGx1Z2luKEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQq
IG93bmVyRWxlbWVudCwgY29uc3QgSwogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBBU1NF
UlQob3duZXJFbGVtZW50LT5oYXNUYWdOYW1lKG9iamVjdFRhZykgfHwgb3duZXJFbGVtZW50LT5o
YXNUYWdOYW1lKGVtYmVkVGFnKSk7CisgICAgb3duZXJFbGVtZW50LT5zdWJmcmFtZUxvYWRlcldp
bGxMb2FkUGx1Z0luKHVybCk7CiAgICAgcmV0dXJuIGxvYWRQbHVnaW4ob3duZXJFbGVtZW50LCB1
cmwsIG1pbWVUeXBlLCBwYXJhbU5hbWVzLCBwYXJhbVZhbHVlcywgdXNlRmFsbGJhY2spOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbHVnSW5PcmlnaW5IYXNoLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsdWdJbk9yaWdpbkhhc2guY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmU2Zjg1NDk0YjZiZDliZGYzYzEzNGQ1MzhlMDA3ZjBkMGQ4OGI2MmQKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbHVnSW5PcmlnaW5IYXNoLmNwcApAQCAt
MCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGx1
Z0luT3JpZ2luSGFzaC5oIgorCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJGcmFt
ZS5oIgorI2luY2x1ZGUgIktVUkwuaCIKKyNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSA8d3Rm
L3RleHQvU3RyaW5nQnVpbGRlci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3RlbXBsYXRl
IDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIEFMV0FZU19JTkxJTkUgUGx1Z0luT3Jp
Z2luSGFzaCBwbHVnSW5PcmlnaW5IYXNoSW5saW5lKGNvbnN0IENoYXJhY3RlclR5cGUqIG9yaWdp
biwgdW5zaWduZWQgbGVuZ3RoKQoreworICAgIHJldHVybiBBbHJlYWR5SGFzaGVkOjphdm9pZERl
bGV0ZWRWYWx1ZShTdHJpbmdIYXNoZXI6OmNvbXB1dGVIYXNoKG9yaWdpbiwgbGVuZ3RoKSk7Cit9
CisKK1BsdWdJbk9yaWdpbkhhc2ggcGx1Z0luT3JpZ2luSGFzaChjb25zdCBQYWdlKiBwYWdlLCBj
b25zdCBLVVJMJiBzcmNVUkwpCit7CisgICAgY29uc3QgS1VSTCYgbWFpbkZyYW1lQmFzZVVSTCA9
IHBhZ2UtPm1haW5GcmFtZSgpLT5kb2N1bWVudCgpLT5iYXNlVVJMKCk7CisgICAgU3RyaW5nQnVp
bGRlciBidWlsZGVyOworICAgIGJ1aWxkZXIuYXBwZW5kKG1haW5GcmFtZUJhc2VVUkwuaG9zdCgp
KTsKKyAgICBidWlsZGVyLmFwcGVuZChzcmNVUkwuaG9zdCgpKTsKKworICAgIFN0cmluZyBoYXNo
U3RyaW5nID0gYnVpbGRlci50b1N0cmluZygpOworICAgIEFTU0VSVChoYXNoU3RyaW5nLmxlbmd0
aCgpKTsKKyAgICBpZiAoaGFzaFN0cmluZy5pczhCaXQoKSkKKyAgICAgICAgcmV0dXJuIHBsdWdJ
bk9yaWdpbkhhc2hJbmxpbmUoaGFzaFN0cmluZy5jaGFyYWN0ZXJzOCgpLCBoYXNoU3RyaW5nLmxl
bmd0aCgpKTsKKyAgICByZXR1cm4gcGx1Z0luT3JpZ2luSGFzaElubGluZShoYXNoU3RyaW5nLmNo
YXJhY3RlcnMoKSwgaGFzaFN0cmluZy5sZW5ndGgoKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsdWdJbk9yaWdpbkhh
c2guaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsdWdJbk9yaWdpbkhhc2guaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40YmRiN2RhMmYxN2MxMTA2OWQ2Y2Q1NGMyMTM4NzRkZjlmMmYzOTJiCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5oCkBAIC0w
LDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgUGx1Z0luT3JpZ2luSGFzaF9oCisjZGVmaW5l
IFBsdWdJbk9yaWdpbkhhc2hfaAorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEtVUkw7
CitjbGFzcyBQYWdlOworCit0eXBlZGVmIHVpbnQ2NF90IFBsdWdJbk9yaWdpbkhhc2g7CisKK1Bs
dWdJbk9yaWdpbkhhc2ggcGx1Z0luT3JpZ2luSGFzaChjb25zdCBQYWdlKiwgY29uc3QgS1VSTCYg
c3JjVVJMKTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLyogUGx1Z0luT3Jp
Z2luSGFzaCAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5TdHJh
dGVneS5oIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5TdHJhdGVneS5oCmluZGV4IDlk
OGE3YjUyZjAzMjU1Mzc0NDNmMTMzZjA4MmRhMzBmNGYwZDIyOTQuLmRmNmU1MzA0NThhYWFmZGRj
MGY5MmM2MjJhZDlmMTZiMTA5NzFlYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsdWdp
bnMvUGx1Z2luU3RyYXRlZ3kuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblN0
cmF0ZWd5LmgKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIFVTRShQTEFURk9STV9TVFJBVEVHSUVT
KQogCisjaW5jbHVkZSAiUGx1Z0luT3JpZ2luSGFzaC5oIgogI2luY2x1ZGUgIlBsdWdpbkRhdGEu
aCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzksNiArNDAsOSBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB2b2lkIHJlZnJlc2hQbHVnaW5zKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBnZXRQ
bHVnaW5JbmZvKGNvbnN0IFBhZ2UqLCBWZWN0b3I8UGx1Z2luSW5mbz4mKSA9IDA7CiAKKyAgICB2
aXJ0dWFsIGJvb2wgaXNBdXRvU3RhcnRPcmlnaW4oUGFnZSosIFBsdWdJbk9yaWdpbkhhc2gpID0g
MDsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkQXV0b1N0YXJ0T3JpZ2luKFBhZ2UqLCBQbHVnSW5Pcmln
aW5IYXNoKSA9IDA7CisKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIH5QbHVnaW5TdHJhdGVneSgp
IHsgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbmFw
c2hvdHRlZFBsdWdJbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU25hcHNo
b3R0ZWRQbHVnSW4uY3BwCmluZGV4IDk3MmIyYmY5MDQyMjNiNWI3Nzc1ZjI0MjlkYzE2MjgzYTBm
MTY4MTUuLmYyY2U5ZDU2NTI4NWQ4ZmMwMjAxM2NjMGYwYjNiOTk3M2RkM2Q2NjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbmFwc2hvdHRlZFBsdWdJbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNuYXBzaG90dGVkUGx1Z0luLmNw
cApAQCAtMTc4LDcgKzE3OCw3IEBAIHZvaWQgUmVuZGVyU25hcHNob3R0ZWRQbHVnSW46OmhhbmRs
ZUV2ZW50KEV2ZW50KiBldmVudCkKICAgICAgICAgICAgIHBsdWdJbkltYWdlRWxlbWVudCgpLT5z
ZXREaXNwbGF5U3RhdGUoSFRNTFBsdWdJbkVsZW1lbnQ6OlBsYXlpbmcpOwogICAgICAgICBlbHNl
IHsKICAgICAgICAgICAgIHBsdWdJbkltYWdlRWxlbWVudCgpLT5zZXREaXNwbGF5U3RhdGUoSFRN
TFBsdWdJbkVsZW1lbnQ6OlBsYXlpbmdXaXRoUGVuZGluZ01vdXNlQ2xpY2spOwotICAgICAgICAg
ICAgcGx1Z0luSW1hZ2VFbGVtZW50KCktPnNldFBlbmRpbmdDbGlja0V2ZW50KG1vdXNlRXZlbnQp
OworICAgICAgICAgICAgcGx1Z0luSW1hZ2VFbGVtZW50KCktPnVzZXJEaWRDbGlja1NuYXBzaG90
KG1vdXNlRXZlbnQpOwogICAgICAgICB9CiAgICAgICAgIGlmICh3aWRnZXQoKSkgewogICAgICAg
ICAgICAgaWYgKEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50KCktPmZyYW1lKCkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwu
Y3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVz
RWZsLmNwcAppbmRleCA3MTM4YWE4ZDc2ZjdmY2U4MWM4MTAyNzMyZGY0YzUxNjk3N2FlM2JlLi5k
YzlkMDY2YWEzYzFhNWUyM2M1MGQ5NDhiMjQ4ZTRiNTM5NTAxNzFkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0Vm
bC5jcHAKQEAgLTEyMCw2ICsxMjAsMTcgQEAgdm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNFZmw6Omdl
dFBsdWdpbkluZm8oY29uc3QgUGFnZSosIFZlY3RvcjxQbHVnaW5JbmZvPiYgb3V0UGwKICNlbmRp
ZgogfQogCitib29sIFBsYXRmb3JtU3RyYXRlZ2llc0VmbDo6aXNBdXRvU3RhcnRPcmlnaW4oUGFn
ZSosIFBsdWdJbk9yaWdpbkhhc2gpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudC4KKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzRWZsOjphZGRBdXRvU3Rh
cnRPcmlnaW4oUGFnZSosIFBsdWdJbk9yaWdpbkhhc2gpCit7CisgICAgLy8gRklYTUU6IEltcGxl
bWVudC4KK30KKwogLy8gVmlzaXRlZExpbmtTdHJhdGVneQogYm9vbCBQbGF0Zm9ybVN0cmF0ZWdp
ZXNFZmw6OmlzTGlua1Zpc2l0ZWQoUGFnZSogcGFnZSwgTGlua0hhc2ggaGFzaCwgY29uc3QgS1VS
TCYsIGNvbnN0IEF0b21pY1N0cmluZyYpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwuaCBiL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5oCmluZGV4IDAxZTYxMTU2
Y2Y5ZmVmM2IxZjQ1MzJhOWUyNWU4YjMzMmMyNWZlZjAuLmQ0Y2VhZTkxMmFmN2MxZTU5OGU5ZjVl
ODk5MDdmOTEyNTVlNmVjZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVT
dXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5oCkBAIC00OSw2ICs0OSw4IEBAIHBy
aXZhdGU6CiAgICAgLy8gV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3kKICAgICB2aXJ0dWFsIHZvaWQg
cmVmcmVzaFBsdWdpbnMoKTsKICAgICB2aXJ0dWFsIHZvaWQgZ2V0UGx1Z2luSW5mbyhjb25zdCBX
ZWJDb3JlOjpQYWdlKiwgVmVjdG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+Jik7CisgICAgdmlydHVh
bCBib29sIGlzQXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpQbHVnSW5P
cmlnaW5IYXNoKTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkQXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6
OlBhZ2UqLCBXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNoKTsKIAogICAgIC8vIFdlYkNvcmU6OlZp
c2l0ZWRMaW5rU3RyYXRlZ3kKICAgICB2aXJ0dWFsIGJvb2wgaXNMaW5rVmlzaXRlZChXZWJDb3Jl
OjpQYWdlKiwgV2ViQ29yZTo6TGlua0hhc2gsIGNvbnN0IFdlYkNvcmU6OktVUkwmIGJhc2VVUkws
IGNvbnN0IFdURjo6QXRvbWljU3RyaW5nJiBhdHRyaWJ1dGVVUkwpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmNwcCBi
L1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0d0ay5j
cHAKaW5kZXggMDBhNzA2MmM5Y2UyZWMzYTVhMjY3ODgxNjlhOWE1ZjZiMDIzMDg4Ni4uZjY4N2Jh
OTE0ZWZjMGQyZmJiZjhiMjExOTEyNWUyNTUyYTE2ODQwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuY3Bw
CkBAIC0xMDgsNiArMTA4LDE3IEBAIHZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzR3RrOjpnZXRQbHVn
aW5JbmZvKGNvbnN0IFBhZ2UqIHBhZ2UsIFZlY3RvcjxQbHVnaW5JbmZvPiYKICAgICB9CiB9CiAK
K2Jvb2wgUGxhdGZvcm1TdHJhdGVnaWVzR3RrOjppc0F1dG9TdGFydE9yaWdpbihQYWdlKiwgUGx1
Z0luT3JpZ2luSGFzaCkKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50LgorICAgIHJldHVybiBm
YWxzZTsKK30KKwordm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNHdGs6OmFkZEF1dG9TdGFydE9yaWdp
bihQYWdlKiwgUGx1Z0luT3JpZ2luSGFzaCkKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50Lgor
fQorCiAvLyBWaXNpdGVkTGlua1N0cmF0ZWd5CiBib29sIFBsYXRmb3JtU3RyYXRlZ2llc0d0azo6
aXNMaW5rVmlzaXRlZChQYWdlKiBwYWdlLCBMaW5rSGFzaCBoYXNoLCBjb25zdCBLVVJMJiwgY29u
c3QgQXRvbWljU3RyaW5nJikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0d0ay5oIGIvU291cmNlL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmgKaW5kZXggY2YzNGFlMjRiMzgyOGY5
OGRlZjFlODcyYzA3M2NhNDkyNGIwZDMzNC4uNDk5ZTEyZDA0MGRkNGEzNGRjY2QwN2M1MDYyODdh
YTY5MmZmNDcxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
UGxhdGZvcm1TdHJhdGVnaWVzR3RrLmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmgKQEAgLTQ4LDYgKzQ4LDggQEAgcHJpdmF0ZToK
ICAgICAvLyBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneQogICAgIHZpcnR1YWwgdm9pZCByZWZyZXNo
UGx1Z2lucygpOwogICAgIHZpcnR1YWwgdm9pZCBnZXRQbHVnaW5JbmZvKGNvbnN0IFdlYkNvcmU6
OlBhZ2UqLCBWZWN0b3I8V2ViQ29yZTo6UGx1Z2luSW5mbz4mKTsKKyAgICB2aXJ0dWFsIGJvb2wg
aXNBdXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6UGFnZSosIFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhh
c2gpOworICAgIHZpcnR1YWwgdm9pZCBhZGRBdXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6UGFnZSos
IFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhhc2gpOwogCiAgICAgLy8gV2ViQ29yZTo6VmlzaXRlZExp
bmtTdHJhdGVneQogICAgIHZpcnR1YWwgYm9vbCBpc0xpbmtWaXNpdGVkKFdlYkNvcmU6OlBhZ2Uq
LCBXZWJDb3JlOjpMaW5rSGFzaCwgY29uc3QgV2ViQ29yZTo6S1VSTCYgYmFzZVVSTCwgY29uc3Qg
V1RGOjpBdG9taWNTdHJpbmcmIGF0dHJpYnV0ZVVSTCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCmluZGV4IGY5
ZDhjNzcxOTZhYTE2ZTg5YTQyODRhMzlkNzVjMTcwYWM3ZjQwODkuLmJlMmRmOWY0NjgxZDk5YzUw
YWEwOTFlN2I2ZjIzZmI0ODA4YjNkZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCkBAIC01Niw2ICs1Niw4
IEBAIHByaXZhdGU6CiAgICAgLy8gV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3kKICAgICB2aXJ0dWFs
IHZvaWQgcmVmcmVzaFBsdWdpbnMoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZ2V0UGx1
Z2luSW5mbyhjb25zdCBXZWJDb3JlOjpQYWdlKiwgVmVjdG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+
JikgT1ZFUlJJREU7CisgICAgdmlydHVhbCBib29sIGlzQXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6
OlBhZ2UqLCBXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFs
IHZvaWQgYWRkQXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpQbHVnSW5P
cmlnaW5IYXNoKSBPVkVSUklERTsKIAogICAgIC8vIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRl
Z3kKICAgICB2aXJ0dWFsIGJvb2wgaXNMaW5rVmlzaXRlZChXZWJDb3JlOjpQYWdlKiwgV2ViQ29y
ZTo6TGlua0hhc2gsIGNvbnN0IFdlYkNvcmU6OktVUkwmIGJhc2VVUkwsIGNvbnN0IFdURjo6QXRv
bWljU3RyaW5nJiBhdHRyaWJ1dGVVUkwpIE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tIGIvU291cmNl
L1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tCmluZGV4
IGM3OWIwODliOWZjNDBjOTZjY2UxNmY3MjBiOGI1NDAzNGM1MmU5MjQuLjJmYzk3YjIyMzI5YzVl
MWIwN2M4NTk3NzY5YWQ3MzA4YzQzNmE1NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0KQEAgLTExMyw2
ICsxMTMsMTcgQEAgdm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmdldFBsdWdpbkluZm8oY29u
c3QgV2ViQ29yZTo6UGFnZSosIFZlY3RvcjxXZWJDb3JlOjoKICAgICBFTkRfQkxPQ0tfT0JKQ19F
WENFUFRJT05TOwogfQogCitib29sIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6aXNBdXRvU3RhcnRP
cmlnaW4oUGFnZSosIFBsdWdJbk9yaWdpbkhhc2gpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVu
dC4KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjph
ZGRBdXRvU3RhcnRPcmlnaW4oUGFnZSosIFBsdWdJbk9yaWdpbkhhc2gpCit7CisgICAgLy8gRklY
TUU6IEltcGxlbWVudC4KK30KKwogYm9vbCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmlzTGlua1Zp
c2l0ZWQoUGFnZSogcGFnZSwgTGlua0hhc2ggaGFzaCwgY29uc3QgS1VSTCYsIGNvbnN0IEF0b21p
Y1N0cmluZyYpCiB7CiAgICAgcmV0dXJuIHBhZ2UtPmdyb3VwKCkuaXNMaW5rVmlzaXRlZChoYXNo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1T
dHJhdGVnaWVzUXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9y
bVN0cmF0ZWdpZXNRdC5jcHAKaW5kZXggNWQ5ZTc1NWQwMmYxNTlhM2ZjM2I2ZWViNTM3NWZmMmJi
YzAxOTRlMC4uZDYxMjZlZDVjNGRiZjA5NGQ4NTMzMGM2YTg4MzcyNGJjNDFiY2NhZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNR
dC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0
ZWdpZXNRdC5jcHAKQEAgLTE1Niw2ICsxNTYsMTcgQEAgdm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNR
dDo6Z2V0UGx1Z2luSW5mbyhjb25zdCBXZWJDb3JlOjpQYWdlKiBwYWdlLCBWZWN0b3I8V2ViQ28K
IAogfQogCitib29sIFBsYXRmb3JtU3RyYXRlZ2llc1F0Ojppc0F1dG9TdGFydE9yaWdpbihQYWdl
KiwgUGx1Z0luT3JpZ2luSGFzaCkKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50LgorICAgIHJl
dHVybiBmYWxzZTsKK30KKwordm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNRdDo6YWRkQXV0b1N0YXJ0
T3JpZ2luKFBhZ2UqLCBQbHVnSW5PcmlnaW5IYXNoKQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1l
bnQuCit9CisKIC8vIFZpc2l0ZWRMaW5rU3RyYXRlZ3kKIAogYm9vbCBQbGF0Zm9ybVN0cmF0ZWdp
ZXNRdDo6aXNMaW5rVmlzaXRlZChQYWdlKiBwYWdlLCBMaW5rSGFzaCBoYXNoLCBjb25zdCBLVVJM
JiBiYXNlVVJMLCBjb25zdCBBdG9taWNTdHJpbmcmIGF0dHJpYnV0ZVVSTCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQuaCBi
L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQuaApp
bmRleCAyZmU4ZmU2MmNmZTMzYjA5MDEzZjE5NjU0YTNjZTJhNzY4NDM5NmMyLi41YTBlYjk0ZDk0
ZGMxMTY1MmE1ZGJiZmU1M2JkZmI2ZTliMzI0MmNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1F0LmgKKysrIGIvU291cmNlL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5oCkBAIC02MCw2ICs2
MCw4IEBAIHByaXZhdGU6CiAgICAgLy8gV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3kKICAgICB2aXJ0
dWFsIHZvaWQgcmVmcmVzaFBsdWdpbnMoKTsKICAgICB2aXJ0dWFsIHZvaWQgZ2V0UGx1Z2luSW5m
byhjb25zdCBXZWJDb3JlOjpQYWdlKiwgVmVjdG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+Jik7Cisg
ICAgdmlydHVhbCBib29sIGlzQXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3Jl
OjpQbHVnSW5PcmlnaW5IYXNoKTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkQXV0b1N0YXJ0T3JpZ2lu
KFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNoKTsKIAogICAgIC8vIFdl
YkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kKICAgICB2aXJ0dWFsIGJvb2wgaXNMaW5rVmlzaXRl
ZChXZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6TGlua0hhc2gsIGNvbnN0IFdlYkNvcmU6OktVUkwm
IGJhc2VVUkwsIGNvbnN0IFdURjo6QXRvbWljU3RyaW5nJiBhdHRyaWJ1dGVVUkwpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3Ry
YXRlZ2llcy5jcHAKaW5kZXggNzVhMDNlMjE5ZmFjZTQzNDM3NzNkZTkxOWViMmZiZWU4MGRkZDBj
MS4uOTE4YmIxNzA3YzdiOGM5MDUxOTk1OTNlNWViYzFjMTg2ZjAwMmUzMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuY3BwCkBAIC0xMjgsNiArMTI4LDE3IEBAIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVz
OjpnZXRQbHVnaW5JbmZvKGNvbnN0IFdlYkNvcmU6OlBhZ2UqLCBWZWN0b3I8V2ViQ29yZTo6CiAg
ICAgfQogfQogCitib29sIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6aXNBdXRvU3RhcnRPcmlnaW4o
UGFnZSosIFBsdWdJbk9yaWdpbkhhc2gpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudC4KKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjphZGRBdXRv
U3RhcnRPcmlnaW4oUGFnZSosIFBsdWdJbk9yaWdpbkhhc2gpCit7CisgICAgLy8gRklYTUU6IElt
cGxlbWVudC4KK30KKwogYm9vbCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmlzTGlua1Zpc2l0ZWQo
UGFnZSogcGFnZSwgTGlua0hhc2ggaGFzaCwgY29uc3QgS1VSTCYsIGNvbnN0IEF0b21pY1N0cmlu
ZyYpCiB7CiAgICAgcmV0dXJuIHBhZ2UtPmdyb3VwKCkuaXNMaW5rVmlzaXRlZChoYXNoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3Ry
YXRlZ2llcy5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1T
dHJhdGVnaWVzLmgKaW5kZXggOTc3N2I4NDgwM2JlOGY2MWI3NTdiNzA4OTllMGEzZTljNzFiMDEz
ZC4uZmYzNzE3OGY5NWQ1ZGQ4NjY2OWE0NjM5NTk2NjhkNzZjYjUwZGRjNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgK
KysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLmgKQEAgLTU3LDYgKzU3LDggQEAgcHJpdmF0ZToKICAgICAvLyBXZWJDb3JlOjpQbHVnaW5T
dHJhdGVneQogICAgIHZpcnR1YWwgdm9pZCByZWZyZXNoUGx1Z2lucygpOwogICAgIHZpcnR1YWwg
dm9pZCBnZXRQbHVnaW5JbmZvKGNvbnN0IFdlYkNvcmU6OlBhZ2UqLCBWZWN0b3I8V2ViQ29yZTo6
UGx1Z2luSW5mbz4mKTsKKyAgICB2aXJ0dWFsIGJvb2wgaXNBdXRvU3RhcnRPcmlnaW4oV2ViQ29y
ZTo6UGFnZSosIFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhhc2gpOworICAgIHZpcnR1YWwgdm9pZCBh
ZGRBdXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6UGFnZSosIFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhh
c2gpOwogCiAgICAgLy8gV2ViQ29yZTo6VmlzaXRlZExpbmtTdHJhdGVneQogICAgIHZpcnR1YWwg
Ym9vbCBpc0xpbmtWaXNpdGVkKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpMaW5rSGFzaCwgY29u
c3QgV2ViQ29yZTo6S1VSTCYgYmFzZVVSTCwgY29uc3QgV1RGOjpBdG9taWNTdHJpbmcmIGF0dHJp
YnV0ZVVSTCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0
L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNFLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29y
ZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UuY3BwCmluZGV4IDQyNWIwZjNhODJiMzM3
YWE4YTM5Mzg5YzM5Yzk4ZGVmOTY3ZjIxZDYuLjZhN2NlZmRiNWY5MjUwYTIyNjhkMjc1OTczMGUy
ZjZjYTQ2ZjhmODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBv
cnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2Uv
V2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UuY3BwCkBAIC0xMTUsNiArMTE1
LDE3IEBAIHZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0U6OmdldFBsdWdpbkluZm8oY29uc3Qg
UGFnZSosIFZlY3RvcjxQbHVnaW5JbmZvPiYgb3V0CiAgICAgfQogfQogCitib29sIFBsYXRmb3Jt
U3RyYXRlZ2llc1dpbkNFOjppc0F1dG9TdGFydE9yaWdpbihQYWdlKiwgUGx1Z0luT3JpZ2luSGFz
aCkKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50LgorICAgIHJldHVybiBmYWxzZTsKK30KKwor
dm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRTo6YWRkQXV0b1N0YXJ0T3JpZ2luKFBhZ2UqLCBQ
bHVnSW5PcmlnaW5IYXNoKQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCit9CisKIGJvb2wg
UGxhdGZvcm1TdHJhdGVnaWVzV2luQ0U6OmlzTGlua1Zpc2l0ZWQoUGFnZSogcGFnZSwgTGlua0hh
c2ggaGFzaCwgY29uc3QgS1VSTCYsIGNvbnN0IEF0b21pY1N0cmluZyYpCiB7CiAgICAgcmV0dXJu
IHBhZ2UtPmdyb3VwKCkuaXNMaW5rVmlzaXRlZChoYXNoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UuaCBiL1Nv
dXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0Uu
aAppbmRleCAyY2U0ODIwM2M2OGM1ZDk5ZDYzZDg1ZDU5NjMzYmNhODg4MWRlMzExLi4yY2ZhYjNk
NWI5MWRmNDZlODNlOGY0MGNmNWUyMDE2ZGQ1MmI0YzdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNFLmgKKysrIGIv
U291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5D
RS5oCkBAIC01Myw2ICs1Myw4IEBAIHByaXZhdGU6CiAgICAgLy8gV2ViQ29yZTo6UGx1Z2luU3Ry
YXRlZ3kKICAgICB2aXJ0dWFsIHZvaWQgcmVmcmVzaFBsdWdpbnMoKTsKICAgICB2aXJ0dWFsIHZv
aWQgZ2V0UGx1Z2luSW5mbyhjb25zdCBXZWJDb3JlOjpQYWdlKiwgVmVjdG9yPFdlYkNvcmU6OlBs
dWdpbkluZm8+Jik7CisgICAgdmlydHVhbCBib29sIGlzQXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6
OlBhZ2UqLCBXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNoKTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRk
QXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNo
KTsKIAogICAgIC8vIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kKICAgICB2aXJ0dWFsIGJv
b2wgaXNMaW5rVmlzaXRlZChXZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6TGlua0hhc2gsIGNvbnN0
IFdlYkNvcmU6OktVUkwmLCBjb25zdCBXVEY6OkF0b21pY1N0cmluZyYpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3Rz
LnR4dAppbmRleCAwMDMzOTZhNjU3ZmQ0NWI4YmUyYzgyNTBlMDkyY2UyZDNmNmZkMjIwLi4xZGY2
MTg3MTI1YjhiZjM3MTIxMWZiNzVjMzk5OWRhZmZkNjc5ODFlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4
dApAQCAtMzYyLDYgKzM2Miw3IEBAIFNFVChXZWJLaXQyX1NPVVJDRVMKICAgICBVSVByb2Nlc3Mv
Tm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuY3BwCiAgICAgVUlQcm9j
ZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuY3BwCiAKKyAgICBVSVBy
b2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRQcm92aWRlci5jcHAKICAgICBVSVByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5JbmZvU3RvcmUuY3BwCiAgICAgVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2lu
UHJvY2Vzc01hbmFnZXIuY3BwCiAgICAgVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1By
b3h5LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbSBi
L1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYWI1MjNlZjNmM2JiMzdl
ZTI1NDc5YjJlMWE1ZjBkNWM4MDUzNDRhMS4uMzJhNzYxOTljNmNlZWM2YzBmYWJkMjZkZGFmMmZj
OWVmOTViNGIxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5h
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC00MjgsNiArNDI4
LDcgQEAgd2Via2l0Ml9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lu
cy9OUFJlbW90ZU9iamVjdE1hcC5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9O
UFZhcmlhbnREYXRhLmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBWYXJp
YW50RGF0YS5oIFwKKwlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnSW5BdXRvU3Rh
cnRUYWJsZS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnaW5Nb2R1bGVJ
bmZvLmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luTW9kdWxlSW5m
by5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzLmNwcCBcCkBAIC04MTQsNiArODE1LDggQEAgd2Via2l0Ml9zb3VyY2VzICs9
IFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRp
b25Qcm92aWRlci5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25z
L1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Q
YWdlQ2xpZW50LmggXAorCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdJbkF1
dG9TdGFydFByb3ZpZGVyLmNwcCBcCisJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMv
UGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Bs
dWdpbnMvUGx1Z2luSW5mb1N0b3JlLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Bs
dWdpbnMvUGx1Z2luSW5mb1N0b3JlLmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRUYWJsZS5oIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0VGFibGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZDQxNzk2
MTE0N2QyNWIwZmM2YTU0ZmVmYTZiNzVkYmY5NmEyMDQxCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0VGFibGUuaApAQCAtMCww
ICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworCisjaWZuZGVmIFBsdWdJbkF1dG9TdGFydFRhYmxlX2gK
KyNkZWZpbmUgUGx1Z0luQXV0b1N0YXJ0VGFibGVfaAorCisjaW5jbHVkZSA8V2ViQ29yZS9QbHVn
SW5PcmlnaW5IYXNoLmg+CisjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KKworbmFtZXNwYWNlIFdl
YktpdCB7CisKK3R5cGVkZWYgSGFzaFNldDxXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNoPiBQbHVn
SW5BdXRvU3RhcnRUYWJsZTsKKworfQorCisjZW5kaWYgLyogUGx1Z0luQXV0b1N0YXJ0VGFibGVf
aCAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJL
aXQyL1RhcmdldC5wcmkKaW5kZXggMDk4YjViOTU0M2Y1ZmRmYjliOGE5MzFhMTI4Mjc5MWU2YTk3
NTY5MS4uYjhmMzUwNTY3OThiYTYzOWMxMDQ1MWVlMGU2MjU4NjMxMmRlOTBjYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQu
cHJpCkBAIC0xNDIsNiArMTQyLDcgQEAgSEVBREVSUyArPSBcCiAgICAgU2hhcmVkL1BsdWdpbnMv
TlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuaCBcCiAgICAgU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RQ
cm94eS5oIFwKICAgICBTaGFyZWQvUGx1Z2lucy9OUFZhcmlhbnREYXRhLmggXAorICAgIFNoYXJl
ZC9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFRhYmxlLmggXAogICAgIFNoYXJlZC9QbHVnaW5zL1Bs
dWdpbk1vZHVsZUluZm8uaCBcCiAgICAgU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5oIFwKICAgICBTaGFyZWQvUGx1Z2lucy9QbHVnaW5RdWlya3MuaCBcCkBA
IC0yMjcsNiArMjI4LDcgQEAgSEVBREVSUyArPSBcCiAgICAgVUlQcm9jZXNzL1BhZ2VDbGllbnQu
aCBcCiAgICAgVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuaCBcCiAgICAgVUlQcm9j
ZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnQuaCBcCisgICAgVUlQcm9jZXNzL1BsdWdp
bnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCBcCiAgICAgVUlQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luSW5mb1N0b3JlLmggXAogICAgIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94
eS5oIFwKICAgICBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oIFwKQEAg
LTU4Myw2ICs1ODUsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBVSVByb2Nlc3MvTm90aWZpY2F0aW9u
cy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuY3BwIFwKICAgICBVSVByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9XZWJOb3RpZmljYXRpb25Qcm92aWRlci5jcHAgXAogICAgIFVJUHJvY2Vzcy9QYWdl
Vmlld3BvcnRDb250cm9sbGVyLmNwcCBcCisgICAgVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z0luQXV0
b1N0YXJ0UHJvdmlkZXIuY3BwIFwKICAgICBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5JbmZvU3Rv
cmUuY3BwIFwKICAgICBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwIFwK
ICAgICBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5jcHAgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0UHJv
dmlkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z0luQXV0b1N0
YXJ0UHJvdmlkZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4NzA2YWM2N2ZkZjAxNjI5OWJiMDU1ZTEzMjg3
MzhiNjQxMjNiNDkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
UGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRQcm92aWRlci5jcHAKQEAgLTAsMCArMSw0OSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQbHVnSW5BdXRvU3RhcnRQ
cm92aWRlci5oIgorCisjaW5jbHVkZSAiV2ViQ29udGV4dC5oIgorI2luY2x1ZGUgIldlYlByb2Nl
c3NNZXNzYWdlcy5oIgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNlIFdl
YktpdCB7CisKK1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyOjpQbHVnSW5BdXRvU3RhcnRQcm92aWRl
cihXZWJDb250ZXh0KiBjb250ZXh0KQorICAgIDogbV9jb250ZXh0KGNvbnRleHQpCit7Cit9CisK
K3ZvaWQgUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXI6OmFkZEF1dG9TdGFydE9yaWdpbihQbHVnSW5P
cmlnaW5IYXNoIGhhc2gpCit7CisgICAgaWYgKG1fYXV0b1N0YXJ0VGFibGUuY29udGFpbnMoaGFz
aCkpCisgICAgICAgIHJldHVybjsKKyAgICBtX2F1dG9TdGFydFRhYmxlLmFkZChoYXNoKTsKKyAg
ICBtX2NvbnRleHQtPnNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6UGx1
Z0luQXV0b1N0YXJ0T3JpZ2luQ2hhbmdlZChoYXNoKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z0lu
QXV0b1N0YXJ0UHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1Bs
dWdJbkF1dG9TdGFydFByb3ZpZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODE0ODYzMjJiM2UwYmZjZmE2YTdh
MDNjNDE5MjRkNjdkMDMyMDgxMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmgKQEAgLTAsMCArMSw1MiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpZm5kZWYgUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXJfaAorI2RlZmlu
ZSBQbHVnSW5BdXRvU3RhcnRQcm92aWRlcl9oCisKKyNpbmNsdWRlICJQbHVnSW5BdXRvU3RhcnRU
YWJsZS5oIgorI2luY2x1ZGUgPFdlYkNvcmUvUGx1Z0luT3JpZ2luSGFzaC5oPgorI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNl
IFdlYktpdCB7CisKK2NsYXNzIFdlYkNvbnRleHQ7CisKK2NsYXNzIFBsdWdJbkF1dG9TdGFydFBy
b3ZpZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnSW5BdXRvU3RhcnRQcm92aWRl
cik7CitwdWJsaWM6CisgICAgZXhwbGljaXQgUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIoV2ViQ29u
dGV4dCopOworCisgICAgdm9pZCBhZGRBdXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6UGx1Z0luT3Jp
Z2luSGFzaCk7CisKK3ByaXZhdGU6CisgICAgV2ViQ29udGV4dCogbV9jb250ZXh0OworICAgIFBs
dWdJbkF1dG9TdGFydFRhYmxlIG1fYXV0b1N0YXJ0VGFibGU7Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKKworI2VuZGlmIC8qIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyX2ggKi8KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAppbmRleCAzZjgxOGQxYzE4YjUzODYwY2Y4
NzQyZDQ0Yzk5YzM4MDc3YWIxZTgxLi45YjIyY2EzYzdmZDlmMGZmYzQ3OTdjMTBhNjA4NjI5Njky
MjM4ZDg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCkBAIC0xMjAs
NiArMTIwLDcgQEAgV2ViQ29udGV4dDo6V2ViQ29udGV4dChQcm9jZXNzTW9kZWwgcHJvY2Vzc01v
ZGVsLCBjb25zdCBTdHJpbmcmIGluamVjdGVkQnVuZGxlUGEKICAgICAsIG1fZGVmYXVsdFBhZ2VH
cm91cChXZWJQYWdlR3JvdXA6OmNyZWF0ZSgpKQogICAgICwgbV9pbmplY3RlZEJ1bmRsZVBhdGgo
aW5qZWN0ZWRCdW5kbGVQYXRoKQogICAgICwgbV92aXNpdGVkTGlua1Byb3ZpZGVyKHRoaXMpCisg
ICAgLCBtX3BsdWdJbkF1dG9TdGFydFByb3ZpZGVyKHRoaXMpCiAgICAgLCBtX2Fsd2F5c1VzZXND
b21wbGV4VGV4dENvZGVQYXRoKGZhbHNlKQogICAgICwgbV9zaG91bGRVc2VGb250U21vb3RoaW5n
KHRydWUpCiAgICAgLCBtX2NhY2hlTW9kZWwoQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyKQpAQCAt
MTAyNSw0ICsxMDI2LDkgQEAgdm9pZCBXZWJDb250ZXh0OjpzZXRKYXZhU2NyaXB0R2FyYmFnZUNv
bGxlY3RvclRpbWVyRW5hYmxlZChib29sIGZsYWcpCiAgICAgc2VuZFRvQWxsUHJvY2Vzc2VzKE1l
c3NhZ2VzOjpXZWJQcm9jZXNzOjpTZXRKYXZhU2NyaXB0R2FyYmFnZUNvbGxlY3RvclRpbWVyRW5h
YmxlZChmbGFnKSk7CiB9CiAKK3ZvaWQgV2ViQ29udGV4dDo6YWRkUGx1Z0luQXV0b1N0YXJ0T3Jp
Z2luSGFzaChXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNoIGhhc2gpCit7CisgICAgbV9wbHVnSW5B
dXRvU3RhcnRQcm92aWRlci5hZGRBdXRvU3RhcnRPcmlnaW4oaGFzaCk7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNv
bnRleHQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKaW5kZXggMmNm
N2JiNTA3Y2UwY2ViMDJhMWFhNTkxMTRhNjg4ZjE3ODAzNDkxZC4uYTM2Y2E4ZGY4NTkzYjI0OGE5
MjQ2ZjdiOWI0MTgzNmUyMWNjOWE1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4
dC5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiR2VuZXJpY0NhbGxiYWNrLmgiCiAjaW5j
bHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyTWFwLmgi
CisjaW5jbHVkZSAiUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCIKICNpbmNsdWRlICJQbHVnaW5J
bmZvU3RvcmUuaCIKICNpbmNsdWRlICJQcm9jZXNzTW9kZWwuaCIKICNpbmNsdWRlICJWaXNpdGVk
TGlua1Byb3ZpZGVyLmgiCkBAIC0zOSw2ICs0MCw3IEBACiAjaW5jbHVkZSAiV2ViSGlzdG9yeUNs
aWVudC5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eS5oIgogI2luY2x1ZGUgPFdlYkNvcmUv
TGlua0hhc2guaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BsdWdJbk9yaWdpbkhhc2guaD4KICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NSZWZQdHIuaD4KQEAgLTMxMCw2ICszMTIsOCBAQCBwcml2YXRlOgogICAgIHN0YXRp
YyB2b2lkIHJlZ2lzdGVyT2NjbHVzaW9uTm90aWZpY2F0aW9uSGFuZGxlcnMoKTsKICNlbmRpZgog
CisgICAgdm9pZCBhZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW5IYXNoKFdlYkNvcmU6OlBsdWdJbk9y
aWdpbkhhc2gpOworCiAgICAgUHJvY2Vzc01vZGVsIG1fcHJvY2Vzc01vZGVsOwogICAgIAogICAg
IFZlY3RvcjxSZWZQdHI8V2ViUHJvY2Vzc1Byb3h5PiA+IG1fcHJvY2Vzc2VzOwpAQCAtMzI5LDYg
KzMzMyw3IEBAIHByaXZhdGU6CiAgICAgUGx1Z2luSW5mb1N0b3JlIG1fcGx1Z2luSW5mb1N0b3Jl
OwogI2VuZGlmCiAgICAgVmlzaXRlZExpbmtQcm92aWRlciBtX3Zpc2l0ZWRMaW5rUHJvdmlkZXI7
CisgICAgUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIgbV9wbHVnSW5BdXRvU3RhcnRQcm92aWRlcjsK
ICAgICAgICAgCiAgICAgSGFzaFNldDxTdHJpbmc+IG1fc2NoZW1lc1RvUmVnaXN0ZXJBc0VtcHR5
RG9jdW1lbnQ7CiAgICAgSGFzaFNldDxTdHJpbmc+IG1fc2NoZW1lc1RvUmVnaXN0ZXJBc1NlY3Vy
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0Lm1lc3Nh
Z2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQubWVzc2FnZXMuaW4K
aW5kZXggMjY2NGE1ZjRmZmU2NzgxZDVkYWRhM2E0MjhjMWY3ZTk2ZTYxYTllNC4uZjYyNDliMzA0
ZmQ1ODA2Y2Y3MTRkODJlZjdmZDJjZDQyOWE0OTdiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkNvbnRleHQubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYkNvbnRleHQubWVzc2FnZXMuaW4KQEAgLTUxLDQgKzUxLDcgQEAgbWVzc2Fn
ZXMgLT4gV2ViQ29udGV4dCB7CiAgICAgLy8gYW55IHN5bmNocm9ub3VzIG1lc3NhZ2VzLCBhbmQg
c2hvdWxkIGJlIHJlbW92ZWQgd2hlbiA8cmRhcjovL3Byb2JsZW0vODc3NTExNT4gaXMgZml4ZWQu
CiAgICAgRHVtbXkoKSAtPiAoYm9vbCBkdW1teVJldHVybikKICNlbmRpZgorCisgICAgIyBQbHVn
LWluIG1lc3NhZ2VzLgorICAgIHZvaWQgQWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaCh1aW50
NjRfdCBoYXNoKQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IDc2ZTJkMmE2N2I2OWIzN2E4MzU5NDBmNmM1MjJjMTJiOTFlNmE0
YjkuLjY2ZjFmNzI3YTAwNmRiOGY5Zjc2MDAzZmZjN2Q3YTVhOTJlMzcyMjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTMyMSw2
ICszMjEsOSBAQAogCQkzMUEyRUM1NjE0ODk5QzA5MDA4MTBENzEgLyogTm90aWZpY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDMxQTJFQzUzMTQ4OTk4MjUwMDgxMEQ3MSAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9u
UmVxdWVzdC5oICovOyB9OwogCQkzMUEyRUM3NDE0OEQ1OUNBMDA4MTBENzEgLyogV0tOb3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMzFBMkVDNzIxNDhENTlCQjAwODEwRDcxIC8qIFdLTm90aWZpY2F0aW9u
UGVybWlzc2lvblJlcXVlc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQkzMUEyRUM3NzE0OEQ2NjJFMDA4MTBENzEgLyogV0tOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMUEyRUM3NTE0OEQ2NUJCMDA4MTBENzEgLyogV0tOb3RpZmljYXRpb25QZXJt
aXNzaW9uUmVxdWVzdC5jcHAgKi87IH07CisJCTMxQTY3RTBDMTY1QjJBOTkwMDZDQkE2NiAvKiBQ
bHVnSW5BdXRvU3RhcnRQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMUE2N0UwQTE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0
YXJ0UHJvdmlkZXIuY3BwICovOyB9OworCQkzMUE2N0UwRDE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1
Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDMxQTY3RTBCMTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQ
cm92aWRlci5oICovOyB9OworCQkzMUE2N0UxMjE2NUI5MUVDMDA2Q0JBNjYgLyogUGx1Z0luQXV0
b1N0YXJ0VGFibGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMxQTY3RTEwMTY1QjkxRUMwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRUYWJsZS5oICov
OyB9OwogCQkzMUJBOTI0RDE0ODgzMTI2MDA2MkVEQjUgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdl
ck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMUJBOTI0ODE0ODgzMDgxMDA2MkVEQjUgLyogV2ViTm90aWZpY2F0aW9uTWFu
YWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTMxQkE5MjRFMTQ4ODMxMjYwMDYyRURC
NSAvKiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQkE5MjQ5MTQ4ODMwODEwMDYyRURCNSAvKiBX
ZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZXMuaCAqLzsgfTsKIAkJMzFFQTI1RDIxMzRGNzhD
MDAwNUIxNDUyIC8qIE5hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUVBMjVEMDEzNEY3OEIyMDA1QjE0NTIgLyog
TmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbSAqLzsgfTsKQEAgLTE1NDUsNiArMTU0OCw5IEBACiAJ
CTMxQTJFQzU0MTQ4OTk4MkUwMDgxMEQ3MSAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVz
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQTJF
QzcyMTQ4RDU5QkIwMDgxMEQ3MSAvKiBXS05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFBMkVDNzUxNDhENjVCQjAwODEwRDcxIC8qIFdLTm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gV0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxQTY3RTBBMTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5B
dXRvU3RhcnRQcm92aWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTMxQTY3RTBCMTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVnSW5BdXRvU3RhcnRQcm92aWRl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUE2N0UxMDE2NUI5MUVDMDA2Q0JB
NjYgLyogUGx1Z0luQXV0b1N0YXJ0VGFibGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUGx1Z0luQXV0b1N0YXJ0VGFibGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMzFCQTkyNDgxNDg4MzA4MTAwNjJFREI1IC8qIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNz
YWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vi
Tm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTMxQkE5MjQ5MTQ4ODMwODEwMDYyRURCNSAvKiBXZWJOb3RpZmljYXRpb25N
YW5hZ2VyTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViTm90
aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTMxRUEyNUQwMTM0Rjc4QjIwMDVCMTQ1MiAvKiBOYXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gTmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI5MDUsNiArMjkxMSw3IEBACiAJCQkJMUExRkEyNTExMjdB
MEU0RjAwNTBFNzA5IC8qIE5QUmVtb3RlT2JqZWN0TWFwLmggKi8sCiAJCQkJMUEyRDg0QTIxMjdG
NkFEMTAwMUVCOTYyIC8qIE5QVmFyaWFudERhdGEuY3BwICovLAogCQkJCTFBMkQ4NEExMTI3RjZB
RDEwMDFFQjk2MiAvKiBOUFZhcmlhbnREYXRhLmggKi8sCisJCQkJMzFBNjdFMTAxNjVCOTFFQzAw
NkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFRhYmxlLmggKi8sCiAJCQkJMUEzRDYwRkYxM0E3Q0My
QTAwRjk1RDRFIC8qIFBsdWdpbk1vZHVsZUluZm8uY3BwICovLAogCQkJCTFBM0Q2MTAwMTNBN0ND
MkEwMEY5NUQ0RSAvKiBQbHVnaW5Nb2R1bGVJbmZvLmggKi8sCiAJCQkJMUEyRDkwRDExMjgxQzk2
NjAwMUVCOTYyIC8qIFBsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwICovLApAQCAt
Mjk3NCw2ICsyOTgxLDggQEAKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJ
CQkJMUFFRkNDMEQxMUQwMUY0MTAwODIxOUQzIC8qIG1hYyAqLywKKwkJCQkzMUE2N0UwQTE2NUIy
QTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwICovLAorCQkJCTMxQTY3
RTBCMTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5oICovLAogCQkJ
CTFBRUZDQzExMTFEMDFGOTYwMDgyMTlEMyAvKiBQbHVnaW5JbmZvU3RvcmUuY3BwICovLAogCQkJ
CTFBRUZDQzEwMTFEMDFGOTYwMDgyMTlEMyAvKiBQbHVnaW5JbmZvU3RvcmUuaCAqLywKIAkJCQkx
QTBFQzYwMjEyNEE5RjJDMDA3RUY0QTUgLyogUGx1Z2luUHJvY2Vzc01hbmFnZXIuY3BwICovLApA
QCAtNTAwMCw2ICs1MDA5LDggQEAKIAkJCQkyOTg0RjU4OTE2NEJBMDk1MDA0QkMwQzYgLyogQ3Vz
dG9tUHJvdG9jb2xNYW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRjA2MEUw
MTY1NDMxN0YwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1MTc1OTQ0QjE2NTcwODA0MDBERDc3MUQgLyogTmV0d29ya1Jlc291cmNlTG9h
ZGVyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxQTY3RTBEMTY1QjJBOTkwMDZDQkE2
NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFBNjdF
MTIxNjVCOTFFQzAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFRhYmxlLmggaW4gSGVhZGVycyAq
LywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJ
fTsKQEAgLTU5NTQsNiArNTk2NSw3IEBACiAJCQkJMjk4NEY1ODgxNjRCQTA5NTAwNEJDMEM2IC8q
IEN1c3RvbVByb3RvY29sTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdl
UmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE3NTk0NEExNjU3MDgwNDAwREQ3NzFE
IC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQkzMUE2N0UwQzE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlk
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAK
aW5kZXggYzA0NjY0NDM5OGYzYjFlZTFlNDg0MDgxZjM2MDFjMjhhMTNiOGRhNC4uYWU5MGIzOTk0
NDI1M2ZmYzM4YmZhMTIzOTQ4NzYyMzM4ZmIyZmJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1T
dHJhdGVnaWVzLmNwcApAQCAtMTUxLDYgKzE1MSwxNiBAQCB2b2lkIFdlYlBsYXRmb3JtU3RyYXRl
Z2llczo6Z2V0UGx1Z2luSW5mbyhjb25zdCBXZWJDb3JlOjpQYWdlKiwgVmVjdG9yPFdlYkNvcmU6
OgogI2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogfQogCitib29sIFdlYlBs
YXRmb3JtU3RyYXRlZ2llczo6aXNBdXRvU3RhcnRPcmlnaW4oUGFnZSosIFBsdWdJbk9yaWdpbkhh
c2ggaGFzaCkKK3sKKyAgICByZXR1cm4gV2ViUHJvY2Vzczo6c2hhcmVkKCkuaXNQbHVnSW5BdXRv
U3RhcnRPcmlnaW4oaGFzaCk7Cit9CisKK3ZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjphZGRB
dXRvU3RhcnRPcmlnaW4oUGFnZSosIFBsdWdJbk9yaWdpbkhhc2ggaGFzaCkKK3sKKyAgICBXZWJQ
cm9jZXNzOjpzaGFyZWQoKS5hZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW4oaGFzaCk7Cit9CisKICNp
ZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKIHN0YXRpYyBCbG9ja2luZ1Jlc3BvbnNlTWFw
PFZlY3RvcjxXZWJDb3JlOjpQbHVnaW5JbmZvPiA+JiByZXNwb25zZU1hcCgpCiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3Jt
U3RyYXRlZ2llcy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAppbmRleCAwNDBjZmIxYTlhNjNlZWY5MDc5MWYwZjNjNTY5
ZGJhMjZiMmFmMTAzLi5mNDZjNzRkZDViOWY4ZWE0MmQ3NTg1ZjJhM2Q2YzQyY2Q3MGI0MmYwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBs
YXRmb3JtU3RyYXRlZ2llcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKQEAgLTY3LDYgKzY3LDggQEAgcHJpdmF0
ZToKICAgICAvLyBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneQogICAgIHZpcnR1YWwgdm9pZCByZWZy
ZXNoUGx1Z2lucygpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBnZXRQbHVnaW5JbmZvKGNv
bnN0IFdlYkNvcmU6OlBhZ2UqLCBWZWN0b3I8V2ViQ29yZTo6UGx1Z2luSW5mbz4mKSBPVkVSUklE
RTsKKyAgICB2aXJ0dWFsIGJvb2wgaXNBdXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6UGFnZSosIFdl
YkNvcmU6OlBsdWdJbk9yaWdpbkhhc2gpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBhZGRB
dXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6UGFnZSosIFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhhc2gp
IE9WRVJSSURFOwogCiAgICAgLy8gV2ViQ29yZTo6VmlzaXRlZExpbmtTdHJhdGVneQogICAgIHZp
cnR1YWwgYm9vbCBpc0xpbmtWaXNpdGVkKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpMaW5rSGFz
aCwgY29uc3QgV2ViQ29yZTo6S1VSTCYgYmFzZVVSTCwgY29uc3QgV1RGOjpBdG9taWNTdHJpbmcm
IGF0dHJpYnV0ZVVSTCkgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmNwcAppbmRleCAyOGI3YmZkN2IwMjM2NmYzNDBmMjQ3MWUwNzdjMzY5MGYyYWE4YjZkLi5i
MmYyMGRiOTdlZDNmZjU1MTM1M2QwODczM2ZjOTRjZTVjMjU2MjUwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTkxMiw3ICs5MTIsMjUgQEAgdm9pZCBXZWJQ
cm9jZXNzOjpjbGVhclBsdWdpblNpdGVEYXRhKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBwbHVnaW5Q
YXRocywgY29uc3QgVmUKICAgICBjb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlByb2Nl
c3NQcm94eTo6RGlkQ2xlYXJQbHVnaW5TaXRlRGF0YShjYWxsYmFja0lEKSwgMCk7CiB9CiAjZW5k
aWYKLSAgICAKKworYm9vbCBXZWJQcm9jZXNzOjppc1BsdWdJbkF1dG9TdGFydE9yaWdpbihQbHVn
SW5PcmlnaW5IYXNoIGhhc2gpCit7CisgICAgcmV0dXJuIG1fYXV0b1N0YXJ0VGFibGUuY29udGFp
bnMoaGFzaCk7Cit9CisKK3ZvaWQgV2ViUHJvY2Vzczo6YWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2lu
KFBsdWdJbk9yaWdpbkhhc2ggaGFzaCkKK3sKKyAgICBpZiAoaXNQbHVnSW5BdXRvU3RhcnRPcmln
aW4oaGFzaCkpCisgICAgICAgIHJldHVybjsKKworICAgIGNvbm5lY3Rpb24oKS0+c2VuZChNZXNz
YWdlczo6V2ViQ29udGV4dDo6QWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaChoYXNoKSwgMCk7
Cit9CisKK3ZvaWQgV2ViUHJvY2Vzczo6cGx1Z0luQXV0b1N0YXJ0T3JpZ2luQ2hhbmdlZChQbHVn
SW5PcmlnaW5IYXNoIGhhc2gpCit7CisgICAgbV9hdXRvU3RhcnRUYWJsZS5hZGQoaGFzaCk7Cit9
CisKIHN0YXRpYyB2b2lkIGZyb21Db3VudGVkU2V0VG9IYXNoTWFwKFR5cGVDb3VudFNldCogY291
bnRlZFNldCwgSGFzaE1hcDxTdHJpbmcsIHVpbnQ2NF90PiYgbWFwKQogewogICAgIFR5cGVDb3Vu
dFNldDo6Y29uc3RfaXRlcmF0b3IgZW5kID0gY291bnRlZFNldC0+ZW5kKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IDgyZTZjYzhmMmFiMWU4ZTAzZDhjZTRhNDky
ODE0ZjM5Nzc2Nzg5NWQuLjQzYzcwZTM2Njg5NWFjMjI0ODM5ZjMwN2IzNzc0YmYyNGQzZTUwOWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC0zMSw2ICszMSw3IEBA
CiAjaW5jbHVkZSAiRHJhd2luZ0FyZWEuaCIKICNpbmNsdWRlICJFdmVudERpc3BhdGNoZXIuaCIK
ICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXJNYXAuaCIKKyNpbmNsdWRlICJQbHVnSW5BdXRvU3Rh
cnRUYWJsZS5oIgogI2luY2x1ZGUgIlBsdWdpbkluZm9TdG9yZS5oIgogI2luY2x1ZGUgIlJlc291
cmNlQ2FjaGVzVG9DbGVhci5oIgogI2luY2x1ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKQEAgLTQy
LDYgKzQzLDcgQEAKICNpbmNsdWRlICJXZWJJY29uRGF0YWJhc2VQcm94eS5oIgogI2luY2x1ZGUg
IldlYlBhZ2VHcm91cFByb3h5LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9MaW5rSGFzaC5oPgorI2lu
Y2x1ZGUgPFdlYkNvcmUvUGx1Z0luT3JpZ2luSGFzaC5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgpA
QCAtMTUyLDYgKzE1NCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIGFkZFZpc2l0ZWRMaW5rKFdlYkNv
cmU6OkxpbmtIYXNoKTsKICAgICBib29sIGlzTGlua1Zpc2l0ZWQoV2ViQ29yZTo6TGlua0hhc2gp
IGNvbnN0OwogCisgICAgYm9vbCBpc1BsdWdJbkF1dG9TdGFydE9yaWdpbihXZWJDb3JlOjpQbHVn
SW5PcmlnaW5IYXNoKTsKKyAgICB2b2lkIGFkZFBsdWdJbkF1dG9TdGFydE9yaWdpbihXZWJDb3Jl
OjpQbHVnSW5PcmlnaW5IYXNoKTsKKwogICAgIGJvb2wgZnVsbEtleWJvYXJkQWNjZXNzRW5hYmxl
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fZnVsbEtleWJvYXJkQWNjZXNzRW5hYmxlZDsgfQogCiAgICAg
V2ViRnJhbWUqIHdlYkZyYW1lKHVpbnQ2NF90KSBjb25zdDsKQEAgLTIzNiw2ICsyNDEsOCBAQCBw
cml2YXRlOgogICAgIHZvaWQgdmlzaXRlZExpbmtTdGF0ZUNoYW5nZWQoY29uc3QgVmVjdG9yPFdl
YkNvcmU6OkxpbmtIYXNoPiYgbGlua0hhc2hlcyk7CiAgICAgdm9pZCBhbGxWaXNpdGVkTGlua1N0
YXRlQ2hhbmdlZCgpOwogCisgICAgdm9pZCBwbHVnSW5BdXRvU3RhcnRPcmlnaW5DaGFuZ2VkKFdl
YkNvcmU6OlBsdWdJbk9yaWdpbkhhc2gpOworCiAgICAgdm9pZCBwbGF0Zm9ybVNldENhY2hlTW9k
ZWwoQ2FjaGVNb2RlbCk7CiAgICAgc3RhdGljIHZvaWQgY2FsY3VsYXRlQ2FjaGVTaXplcyhDYWNo
ZU1vZGVsIGNhY2hlTW9kZWwsIHVpbnQ2NF90IG1lbW9yeVNpemUsIHVpbnQ2NF90IGRpc2tGcmVl
U2l6ZSwKICAgICAgICAgdW5zaWduZWQmIGNhY2hlVG90YWxDYXBhY2l0eSwgdW5zaWduZWQmIGNh
Y2hlTWluRGVhZENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIGRvdWJs
ZSYgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCwKQEAgLTMyOCw2ICszMzUsOCBAQCBw
cml2YXRlOgogICAgIFZpc2l0ZWRMaW5rVGFibGUgbV92aXNpdGVkTGlua1RhYmxlOwogICAgIGJv
b2wgbV9zaG91bGRUcmFja1Zpc2l0ZWRMaW5rczsKIAorICAgIFBsdWdJbkF1dG9TdGFydFRhYmxl
IG1fYXV0b1N0YXJ0VGFibGU7CisKICAgICBib29sIG1faGFzU2V0Q2FjaGVNb2RlbDsKICAgICBD
YWNoZU1vZGVsIG1fY2FjaGVNb2RlbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IGVkY2FkMzRmZjM3Y2VhN2FkMTM1ZDZkMjY0
NDJlMWRlYzQ4OGQzMDYuLmE2MGZmMzNlMmNmNGNkZmMwZjZmN2UzYTFhYjQ1YmY2NzBlZThhYzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdl
cy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMu
aW4KQEAgLTYzLDYgKzYzLDcgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2VzcyB7CiAgICAgR2V0U2l0
ZXNXaXRoUGx1Z2luRGF0YShWZWN0b3I8V1RGOjpTdHJpbmc+IHBsdWdpblBhdGhzLCB1aW50NjRf
dCBjYWxsYmFja0lEKQogICAgIENsZWFyUGx1Z2luU2l0ZURhdGEoVmVjdG9yPFdURjo6U3RyaW5n
PiBwbHVnaW5QYXRocywgVmVjdG9yPFdURjo6U3RyaW5nPiBzaXRlcywgdWludDY0X3QgZmxhZ3Ms
IHVpbnQ2NF90IG1heEFnZUluU2Vjb25kcywgdWludDY0X3QgY2FsbGJhY2tJRCkKICNlbmRpZgor
ICAgIFBsdWdJbkF1dG9TdGFydE9yaWdpbkNoYW5nZWQodWludDY0X3QgaGFzaCkKIAogI2lmIEVO
QUJMRShORVRXT1JLX1BST0NFU1MpCiAgICAgTmV0d29ya1Byb2Nlc3NDcmFzaGVkKCkgRGlzcGF0
Y2hPbkNvbm5lY3Rpb25RdWV1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktp
dDIudmNwcm9qIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCmluZGV4IDA1N2Ni
ZjNkYjM2ZmU4M2RjYjUzOTY4ZDAwMGE2ZWU3NDkxOWM1OWIuLjkxY2RkMzhmYWFkNWE3N2ZlMzk0
MDU0MzAwNmU2YzUxZjc4MTQwNzYgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJL
aXQyLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKQEAgLTE1
NTgsNiArMTU1OCwxMCBAQAogCQkJCU5hbWU9IlBsdWdpbnMiCiAJCQkJPgogCQkJCTxGaWxlCisJ
CQkJCVJlbGF0aXZlUGF0aD0iLi5cU2hhcmVkXFBsdWdpbnNcUGx1Z0luQXV0b1N0YXJ0VGFibGUu
aCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XFNoYXJlZFxQbHVnaW5zXFBsdWdpbk1vZHVsZUluZm8uY3BwIgogCQkJCQk+CiAJCQkJPC9GaWxl
PgpAQCAtMzg2Niw2ICszODcwLDE0IEBACiAJCQkJTmFtZT0iUGx1Z2lucyIKIAkJCQk+CiAJCQkJ
PEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcUGx1Z2luc1xQbHVnSW5BdXRv
U3RhcnRQcm92aWRlci5jcHAiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKKwkJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcUGx1Z2luc1xQbHVnSW5BdXRvU3RhcnRQcm92aWRl
ci5oIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0i
Li5cVUlQcm9jZXNzXFBsdWdpbnNcUGx1Z2luSW5mb1N0b3JlLmNwcCIKIAkJCQkJPgogCQkJCTwv
RmlsZT4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176292</attachid>
            <date>2012-11-27 10:18:09 -0800</date>
            <delta_ts>2012-11-27 15:59:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103206-20121127101545.patch</filename>
            <type>text/plain</type>
            <size>64982</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1ODM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmQwYzE3N2YyMjE1Y2Q3
ZWFjZGZjZDFmZDE5NDZiYTE0ZWU5ODU4MC4uOTlkMDA5MDYyMmYyMDBkYzgzMDlhYjFhYzRkZDRi
MDg3ZjU5YzdjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDEyLTExLTI3ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBLZWVwIHRyYWNrIG9mIHBsdWctaW4g
c25hcHNob3RzIGNsaWNrZWQgYnkgdXNlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjc0NjQ4
Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCZXR3
ZWVuIHRoZSBVSSBhbmQgd2ViIHByb2Nlc3NlcyB3ZSBrZWVwIHRyYWNrIG9mICJvcmlnaW4gaGFz
aGVzIiwgd2hpY2ggYXJlIGJhc2VkIG9uIGEgY29tYmluYXRpb24gb2YKKyAgICAgICAgdGhlIGJh
c2UgZG9tYWlucyBvZiB0aGUgcGFnZSdzIG1haW4gZnJhbWUgYW5kIHRoZSBwbHVnaW4uCisKKyAg
ICAgICAgQmVjYXVzZSB0aGUgYWN0dWFsIFVSTCBsb2FkZWQgZm9yIHRoZSBwbHVnaW4gbWlnaHQg
ZGlmZmVyIGZyb20gdGhlIG9uZSBvcmlnaW5hbGx5IHNwZWNpZmllZCwKKyAgICAgICAgd2Ugd2Fp
dCB1bnRpbCB0aGUgcGx1Zy1pbiBpcyBhYm91dCB0byBiZSBjcmVhdGVkIHRvIGdldCB0aGUgaGFz
aC4gVGhlIGhhc2ggaXMgY2FjaGVkLCBzbyB0aGF0IHdoZW4gdGhlCisgICAgICAgIHVzZXIgY2xp
Y2tzIG9uIHRoZSBwbHVnLWluIHNuYXBzaG90LCB0aGUgaGFzaCBjYW4gYmUgYWRkZWQgdG8gdGhl
IGxpc3Qgb2YgZG9tYWluIGhhc2hlcyB0aGF0IHNob3VsZAorICAgICAgICBhdXRvLXN0YXJ0Lgor
CisgICAgICAgICogcGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5jcHA6IEFkZGVkLiBJbnNwaXJl
ZCBieSBWaXNpdGVkTGlua0hhc2guCisgICAgICAgIChXZWJDb3JlOjpwbHVnSW5PcmlnaW5IYXNo
SW5saW5lKTogSGFzaCB0aGUgY2hhcmFjdGVyIGRhdGEuCisgICAgICAgIChXZWJDb3JlOjpwbHVn
SW5PcmlnaW5IYXNoKTogQ29uY2F0ZW5hdGUgdGhlIG9yaWdpbiBvZiB0aGUgbWFpbiBmcmFtZSdz
IGRvY3VtZW50LCBhbmQgdGhhdCBvZiB0aGUKKyAgICAgICAgcGx1Zy1pbidzIFVSTC4gVGhhdCBj
b21iaW5lZCBzdHJpbmcgaXMgd2hhdCB3ZSBoYXNoLgorICAgICAgICAqIHBsYXRmb3JtL1BsdWdJ
bk9yaWdpbkhhc2guaDogQWRkZWQuCisKKyAgICAgICAgKiBwbHVnaW5zL1BsdWdpblN0cmF0ZWd5
Lmg6CisgICAgICAgIChQbHVnaW5TdHJhdGVneSk6IEFkZCBuZXcgZnVuY3Rpb25zIHRvIHRoZSBw
bHVnLWluIHN0cmF0ZWd5LCBmb3IgY2hlY2tpbmcgd2hldGhlciBwbHVnLWlucyB3aXRoIGEKKyAg
ICAgICAgY2VydGFpbiBvcmlnaW4gaGFzaCBhcmUgbWFya2VkIGZvciBhdXRvLWxvYWQsIGFuZCBm
b3IgYWRkaW5nIGEgbmV3IG9yaWdpbiBoYXNoLgorCisgICAgICAgICogaHRtbC9IVE1MUGx1Z0lu
SW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5JbWFnZUVsZW1l
bnQ6OkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQpOiBJbml0aWFsbHkgdGhlIGhhc2ggaXMgdW5rbm93
bi4gU2V0IHRvIDAuCisgICAgICAgIE1vdmUgdGhlIGNoZWNrIGZvciB3aGV0aGVyIHRvIHNuYXBz
aG90IHRoZSBwbHVnaW4gaW50byB0aGUgbmV3IGZ1bmN0aW9uIHN1YmZyYW1lTG9hZGVyV2lsbExv
YWRQbHVnSW4uCisgICAgICAgIChXZWJDb3JlOjpIVE1MUGx1Z0luSW1hZ2VFbGVtZW50Ojp1c2Vy
RGlkQ2xpY2tTbmFwc2hvdCk6IFJlbmFtZSBzZXRQZW5kaW5nQ2xpY2tFdmVudCgpIHRvCisgICAg
ICAgIHVzZXJEaWRDbGlja1NuYXBzaG90LiBJbiBhZGRpdGlvbiB0byBob2xkaW5nIG9udG8gdGhl
IGNsaWNrIGV2ZW50IHVzZWQgdG8gYWN0aXZhdGUgdGhlIHBsdWctaW4sIHRoZQorICAgICAgICBm
dW5jdGlvbiBub3cgYWxzbyB0ZWxscyB0aGUgcGx1Z2luIHN0cmF0ZWd5IHRvIGFkZCB0aGUgb3Jp
Z2luIGhhc2ggYXMgYW4gYXV0by1zdGFydCBvcmlnaW4uCisgICAgICAgIChXZWJDb3JlOjpIVE1M
UGx1Z0luSW1hZ2VFbGVtZW50OjpzdWJmcmFtZUxvYWRlcldpbGxMb2FkUGx1Z0luKTogQ2FsY3Vs
YXRlIHRoZSBoYXNoIGJhc2VkIG9uIHRoZQorICAgICAgICBwcm92aWRlZCBVUkwsIHdoaWNoIGlz
IHRoZSBVUkwgdGhlIHBsdWctaW4gd2lsbCBsb2FkLiBFeHRlbmQgdGhlIGNoZWNrIHRoYXQgdXNl
ZCB0byBiZSBpbiB0aGUKKyAgICAgICAgY29uc3RydWN0b3IgdG8gc2VlIGlmIHRoZSBwbHVnLWlu
IHNob3VsZCBub3QgYXV0b21hdGljYWxseSBsb2FkLgorICAgICAgICAqIGh0bWwvSFRNTFBsdWdJ
bkltYWdlRWxlbWVudC5oOgorICAgICAgICAoSFRNTFBsdWdJbkltYWdlRWxlbWVudCk6IEFkZCBh
biBpdmFyIHRvIG1haW50YWluIGEgY29weSBvZiB0aGUgaGFzaC4KKworICAgICAgICAqIGxvYWRl
ci9TdWJmcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdWJmcmFtZUxvYWRlcjo6
cmVxdWVzdFBsdWdpbik6IFdoZW4gdGhlIGxvYWRlciBpcyBhYm91dCB0byBsb2FkIHRoZSBwbHVn
LWluLCBwYXNzIHRoZQorICAgICAgICBVUkwgdG8gdGhlIGVsZW1lbnQsIHNvIHRoYXQgaXQgY2Fu
IGNhbGN1bGF0ZSB0aGUgaGFzaC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTbmFwc2hv
dHRlZFBsdWdJbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTbmFwc2hvdHRlZFBsdWdJ
bjo6aGFuZGxlRXZlbnQpOiBDYWxsIHRoZSByZW5hbWVkIGZ1bmN0aW9uIHVzZXJEaWRDbGlja1Nu
YXBzaG90KCkuCisKKyAgICAgICAgQWRkIFBsdWdJbk9yaWdpbkhhc2gue2NwcCxofS4KKyAgICAg
ICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAg
ICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKwogMjAxMi0xMS0yNyAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2
aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEz
NTc4Ni4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCBjZmYwZjcyYWNlYzRhMDliYjliNjNkNDI1NzZkZmJj
MGI3NzcyM2FlLi43ZmQzZmFlOTQ1YWRlOTEzMjc2YmExOWNlMTIxY2VkMjkxNzk3NjEzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9l
ZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTEtMjcgIEpvbiBMZWUgIDxqb25s
ZWVAYXBwbGUuY29tPgorCisgICAgICAgIEtlZXAgdHJhY2sgb2YgcGx1Zy1pbiBzbmFwc2hvdHMg
Y2xpY2tlZCBieSB1c2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDMyMDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyNzQ2NDgzPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBv
cnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmNwcDogU3R1YiBpbXBsZW1lbnRhdGlvbnMuCisgICAg
ICAgIChQbGF0Zm9ybVN0cmF0ZWdpZXNFZmw6OmlzQXV0b1N0YXJ0T3JpZ2luKToKKyAgICAgICAg
KFBsYXRmb3JtU3RyYXRlZ2llc0VmbDo6YWRkQXV0b1N0YXJ0T3JpZ2luKToKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwuaDoKKyAgICAgICAgKFBsYXRmb3Jt
U3RyYXRlZ2llc0VmbCk6CisKIDIwMTItMTEtMjcgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmll
dy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMzU3
ODYuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggNzM4Zjg1M2NhYTg5YThhMWQwYWI3ZDRlZDczY2VmYzhk
N2VkZWU0ZS4uZDk3YzYwZTExYWM1MTg2MGIwMTg5NzYxOGEyMDM0MzNmYmMzMTM2ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3Rr
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTExLTI3ICBKb24gTGVlICA8am9ubGVl
QGFwcGxlLmNvbT4KKworICAgICAgICBLZWVwIHRyYWNrIG9mIHBsdWctaW4gc25hcHNob3RzIGNs
aWNrZWQgYnkgdXNlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTAzMjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjc0NjQ4Mz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L1BsYXRmb3JtU3RyYXRlZ2llc0d0ay5jcHA6IFN0dWIgaW1wbGVtZW50YXRpb25zLgorICAgICAg
ICAoUGxhdGZvcm1TdHJhdGVnaWVzR3RrOjppc0F1dG9TdGFydE9yaWdpbik6CisgICAgICAgIChQ
bGF0Zm9ybVN0cmF0ZWdpZXNHdGs6OmFkZEF1dG9TdGFydE9yaWdpbik6CisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmg6CisgICAgICAgIChQbGF0Zm9ybVN0
cmF0ZWdpZXNHdGspOgorCiAyMDEyLTExLTI3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcu
Ym90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTM1Nzg2
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCmluZGV4IDkxMzFiZTAyMmI2ODcyNzNjMjA4M2JlNTgxY2NiMDQwMTNi
OWZkZWUuLjI4NDQzZjIxYjcwMDQxNWFkODc5NWRmZDEwYThiY2Q2ZDQxMWE2OGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMS0yNyAgSm9uIExlZSAgPGpvbmxlZUBh
cHBsZS5jb20+CisKKyAgICAgICAgS2VlcCB0cmFjayBvZiBwbHVnLWluIHNuYXBzaG90cyBjbGlj
a2VkIGJ5IHVzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwMzIwNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTI3NDY0ODM+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9X
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaDoKKyAgICAgICAgKFdlYlBsYXRmb3JtU3RyYXRlZ2llcyk6
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tOiBTdHVi
IGltcGxlbWVudGF0aW9ucy4KKyAgICAgICAgKFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6aXNBdXRv
U3RhcnRPcmlnaW4pOgorICAgICAgICAoV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjphZGRBdXRvU3Rh
cnRPcmlnaW4pOgorCiAyMDEyLTExLTI3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90
QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTM1Nzg2Lgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0
L0NoYW5nZUxvZwppbmRleCAxZjcwZTIxYTlhZjRhMTc3ZmVjNDRkMjAzYzNkN2NkMzRkZGExN2Uy
Li5jMzQ5NDViNjgwM2E4ZjZhNGNhODcwOWY2ZTYyYWU0ODgxZWU4Y2M0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTExLTI3ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNv
bT4KKworICAgICAgICBLZWVwIHRyYWNrIG9mIHBsdWctaW4gc25hcHNob3RzIGNsaWNrZWQgYnkg
dXNlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAz
MjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjc0NjQ4Mz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1BsYXRmb3Jt
U3RyYXRlZ2llc1F0LmNwcDogU3R1YiBpbXBsZW1lbnRhdGlvbnMuCisgICAgICAgIChQbGF0Zm9y
bVN0cmF0ZWdpZXNRdDo6aXNBdXRvU3RhcnRPcmlnaW4pOgorICAgICAgICAoUGxhdGZvcm1TdHJh
dGVnaWVzUXQ6OmFkZEF1dG9TdGFydE9yaWdpbik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
UGxhdGZvcm1TdHJhdGVnaWVzUXQuaDoKKyAgICAgICAgKFBsYXRmb3JtU3RyYXRlZ2llc1F0KToK
KwogMjAxMi0xMS0yNyAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEzNTc4Ni4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxv
ZwppbmRleCAwNjE0MDliZDg4ZTI3ZGJmM2RhNGIzNGNhM2RjNDY0NDMxYjE1YjUwLi44ZDg3OTM5
MDMzNmE5YTg0NTNiOGE5M2FmMWMxMGRkZWVhOWY4NjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTItMTEtMjcgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCisg
ICAgICAgIEtlZXAgdHJhY2sgb2YgcGx1Zy1pbiBzbmFwc2hvdHMgY2xpY2tlZCBieSB1c2VyCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyMDYKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyNzQ2NDgzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJh
dGVnaWVzLmNwcDogU3R1YiBpbXBsZW1lbnRhdGlvbnMuCisgICAgICAgIChXZWJQbGF0Zm9ybVN0
cmF0ZWdpZXM6OmlzQXV0b1N0YXJ0T3JpZ2luKToKKyAgICAgICAgKFdlYlBsYXRmb3JtU3RyYXRl
Z2llczo6YWRkQXV0b1N0YXJ0T3JpZ2luKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJQ
bGF0Zm9ybVN0cmF0ZWdpZXMuaDoKKyAgICAgICAgKFdlYlBsYXRmb3JtU3RyYXRlZ2llcyk6CisK
IDIwMTItMTEtMjcgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgog
CiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMzU3ODYuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdl
TG9nCmluZGV4IDIwNjhmMmU0N2UxOGZiNTNiNDczOWNhYTkwNzdjMzc3ZTRhNjMzNTYuLjc5OTlm
ZGY0MzA2MTEyOWNiYjExOTZjZGZhZDU2ZDY4ZDI4OTUwYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvd2luY2UvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTEtMjcgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29t
PgorCisgICAgICAgIEtlZXAgdHJhY2sgb2YgcGx1Zy1pbiBzbmFwc2hvdHMgY2xpY2tlZCBieSB1
c2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMy
MDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyNzQ2NDgzPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1T
dHJhdGVnaWVzV2luQ0UuY3BwOiBTdHViIGltcGxlbWVudGF0aW9ucy4KKyAgICAgICAgKFBsYXRm
b3JtU3RyYXRlZ2llc1dpbkNFOjppc0F1dG9TdGFydE9yaWdpbik6CisgICAgICAgIChQbGF0Zm9y
bVN0cmF0ZWdpZXNXaW5DRTo6YWRkQXV0b1N0YXJ0T3JpZ2luKToKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5oOgorICAgICAgICAoUGxhdGZvcm1TdHJh
dGVnaWVzV2luQ0UpOgorCiAyMDEyLTExLTI3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcu
Ym90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTM1Nzg2
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCmluZGV4IGEzYTU1MzZhMzJiYzhhYjdmYzQ4YjUzNDM3YTgzY2M5MzBkMjVlYjgu
LmQxYTBlOWI1MTVhZmUwY2RiYjRiZjBhZjNhMjNhNGJjZDJjNjM5ZTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAg
LTEsMyArMSw0NyBAQAorMjAxMi0xMS0yNyAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisK
KyAgICAgICAgS2VlcCB0cmFjayBvZiBwbHVnLWluIHNuYXBzaG90cyBjbGlja2VkIGJ5IHVzZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzIwNgor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTI3NDY0ODM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvUGx1Z2lucy9QbHVnSW5BdXRvU3Rh
cnRUYWJsZS5oOiBJbnNwaXJlZCBieSBWaXNpdGVkTGlua1RhYmxlLiBGb3Igbm93LCBtYWtlIHRo
ZSB0YWJsZSBhCisgICAgICAgIHNpbXBsZSBzZXQgb2YgaGFzaGVzLiBMYXRlciB3ZSBjb3VsZCBj
b252ZXJ0IHRoaXMgdG8gYSBzaGFyZWQgbWVtb3J5IHRhYmxlLgorICAgICAgICAqIFVJUHJvY2Vz
cy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcDogQWRkZWQuIENyZWF0ZSBhIHBy
b3ZpZGVyIHRoYXQgbWFuYWdlcyB0aGUgVUkgcHJvY2VzcycKKyAgICAgICAgY29weSBvZiB0aGUg
dGFibGUuCisgICAgICAgIChXZWJLaXQ6OlBsdWdJbkF1dG9TdGFydFByb3ZpZGVyOjpQbHVnSW5B
dXRvU3RhcnRQcm92aWRlcik6CisgICAgICAgIChXZWJLaXQ6OlBsdWdJbkF1dG9TdGFydFByb3Zp
ZGVyOjphZGRBdXRvU3RhcnRPcmlnaW4pOiBBZGQgdGhlIGhhc2ggaWYgbmVjZXNzYXJ5LCBhbmQg
YnJvYWRjYXN0IHRvCisgICAgICAgIGFsbCB3ZWIgcHJvY2Vzc2VzLgorICAgICAgICAqIFVJUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmg6IEFkZGVkLgorCisgICAgICAg
ICogVUlQcm9jZXNzL1dlYkNvbnRleHQubWVzc2FnZXMuaW46IENyZWF0ZSBhIG5ldyBtZXNzYWdl
IHRoYXQgYWRkcyBhIG5ldyBoYXNoLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNw
cDogQWRkIHRoZSBwbHVnLWluIGF1dG8tc3RhcnQgcHJvdmlkZXIuCisgICAgICAgIChXZWJLaXQ6
OldlYkNvbnRleHQ6OldlYkNvbnRleHQpOiBJbml0aWFsaXplIHRoZSBwcm92aWRlci4KKyAgICAg
ICAgKFdlYktpdDo6V2ViQ29udGV4dDo6YWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaCk6IFRl
bGwgdGhlIHByb3ZpZGVyIHRvIGFkZCB0aGUgaGFzaC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
Q29udGV4dC5oOgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0
Zm9ybVN0cmF0ZWdpZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF0Zm9ybVN0cmF0ZWdp
ZXM6OmlzQXV0b1N0YXJ0T3JpZ2luKTogRm9yd2FyZCB0byBXZWJQcm9jZXNzLgorICAgICAgICAo
V2ViS2l0OjpXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmFkZEF1dG9TdGFydE9yaWdpbik6IEZvcndh
cmQgdG8gV2ViUHJvY2Vzcy4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YlBsYXRmb3JtU3RyYXRlZ2llcy5oOgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6aXNQbHVnSW5BdXRvU3RhcnRPcmln
aW4pOiBMb29rcyBpbiB0aGUgdGFibGUgdG8gc2VlIGlmIHRoZSBoYXNoIGFscmVhZHkgZXhpc3Rz
LgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjphZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW4p
OiBJZiB0aGUgaGFzaCBpcyBub3QgYWxyZWFkeSBpbiB0aGUgdGFibGUsIG1lc3NhZ2UgdGhlIFVJ
CisgICAgICAgIHByb2Nlc3MgdG8gYWRkIGl0LgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
OjpwbHVnSW5BdXRvU3RhcnRPcmlnaW5DaGFuZ2VkKTogQ2FsbGVkIHdoZW4gdGhlIFVJIHByb2Nl
c3MgYnJvYWRjYXN0cyB0byB0aGUgd2ViCisgICAgICAgIHByb2Nlc3MgdGhhdCBhIGhhc2ggaGFz
IGJlZW4gYWRkZWQuIEFkZCB0aGF0IGhhc2ggdG8gdGhlIHdlYiBwcm9jZXNzJyBjb3B5IG9mIHRo
ZSB0YWJsZS4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46IEFkZCBhIG5ldyBtZXNzYWdlIGNhbGxl
ZCBieSBVSSBwcm9jZXNzIHdoZW4gYSBuZXcgaGFzaCBpcyBhZGRlZC4KKworICAgICAgICBBZGQg
UGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIue2NwcCxofSBhbmQgUGx1Z0luQXV0b1N0YXJ0VGFibGUu
aC4KKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0
LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHdpbi9XZWJLaXQyLnZjcHJvajoKKwogMjAxMi0x
MS0yNyAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEzNTc4Ni4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5k
ZXggZmY3Y2FjYjc5NzM1YTg2Y2M5YTRlZjQ5YjNhODVkMDY3ZTUyMzk1ZS4uMDU5MzVkYTVhMWU2
M2I4OGExNmIzZWQ5ZTViYzdlZjJjYzdhMWI5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE4
MDcsNiArMTgwNyw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9QbGF0Zm9y
bUV2ZW50LmNwcAogICAgIHBsYXRmb3JtL1BsYXRmb3JtSW5zdHJ1bWVudGF0aW9uLmNwcAogICAg
IHBsYXRmb3JtL1BsYXRmb3JtTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmNwcAorICAgIHBsYXRmb3Jt
L1BsdWdJbk9yaWdpbkhhc2guY3BwCiAgICAgcGxhdGZvcm0vUnVuTG9vcC5jcHAKICAgICBwbGF0
Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuY3BwCiAgICAgcGxhdGZvcm0vU2Nyb2xsQW5p
bWF0b3IuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
IGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA5NjYxM2QyZmM1ZmVi
ZTgzM2MzY2RkNDRmZWU1YzJmM2YxMzQ3N2JkLi5jZmM5MGYwYmJhZDU0YjZkNjc0MjAwZGUwMWZl
ZDVlOWFiMWVlN2RkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTU3NzMsNiAr
NTc3Myw4IEBAIHdlYmNvcmVfcGxhdGZvcm1fc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vUGxhdGZvcm1TdHJhdGVnaWVzLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRm
b3JtV2hlZWxFdmVudC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbHVnSW5PcmlnaW5I
YXNoLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QT0RBcmVuYS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9QT0RGcmVlTGlzdEFyZW5hLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BP
REludGVydmFsLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1Nv
dXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggZGU5ZTNlN2IwMDIyY2ZkN2ZiYWYxZmIwYWM2
ZGU2ZmQzMDBhMTQ5Ni4uNjczYmEyNzM0NGVlZGM5ZjgzOTUzZGJlOWU2MDljNmVlMDJmYmM5NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9UYXJnZXQucHJpCkBAIC0xMDY4LDYgKzEwNjgsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBwbGF0
Zm9ybS9QbGF0Zm9ybUV2ZW50LmNwcCBcCiAgICAgcGxhdGZvcm0vUGxhdGZvcm1JbnN0cnVtZW50
YXRpb24uY3BwIFwKICAgICBwbGF0Zm9ybS9QbGF0Zm9ybU1lbW9yeUluc3RydW1lbnRhdGlvbi5j
cHAgXAorICAgIHBsYXRmb3JtL1BsdWdJbk9yaWdpbkhhc2guY3BwIFwKICAgICBwbGF0Zm9ybS9S
dW50aW1lQXBwbGljYXRpb25DaGVja3MuY3BwIFwKICAgICBwbGF0Zm9ybS9SdW5Mb29wLmNwcCBc
CiAgICAgcGxhdGZvcm0vU2NoZW1lUmVnaXN0cnkuY3BwIFwKQEAgLTIyNzAsNiArMjI3MSw3IEBA
IEhFQURFUlMgKz0gXAogICAgIHBsYXRmb3JtL1BsYXRmb3JtTWVtb3J5SW5zdHJ1bWVudGF0aW9u
LmggXAogICAgIHBsYXRmb3JtL1BsYXRmb3JtVG91Y2hFdmVudC5oIFwKICAgICBwbGF0Zm9ybS9Q
bGF0Zm9ybVRvdWNoUG9pbnQuaCBcCisgICAgcGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5oIFwK
ICAgICBwbGF0Zm9ybS9Qb3B1cE1lbnUuaCBcCiAgICAgcGxhdGZvcm0vUmVmZXJyZXJQb2xpY3ku
aCBcCiAgICAgcGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXgg
OTU5Y2U1ZDc2NTA3Mjg2YjljOWM2MDBiNjIwOGRmNzNjNWM4YjU1NS4uOTNmNGY3ZmZlZTYwNGI0
MTBmMDVkNGFhZTVkNjcwMmMwYTQyMzVhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMzE0LDYgKzMx
NCw3IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vUGxhdGZvcm1TY3JlZW4uaCcsCiAgICAgICAg
ICAgICAncGxhdGZvcm0vUGxhdGZvcm1TdHJhdGVnaWVzLmgnLAogICAgICAgICAgICAgJ3BsYXRm
b3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9QbHVnSW5P
cmlnaW5IYXNoLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL1BvcHVwTWVudS5oJywKICAgICAg
ICAgICAgICdwbGF0Zm9ybS9Qb3B1cE1lbnVDbGllbnQuaCcsCiAgICAgICAgICAgICAncGxhdGZv
cm0vUG9wdXBNZW51U3R5bGUuaCcsCkBAIC00NDk4LDYgKzQ0OTksNyBAQAogICAgICAgICAgICAg
J3BsYXRmb3JtL1BsYXRmb3JtU3RyYXRlZ2llcy5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L1BsYXRmb3JtVG91Y2hFdmVudC5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9QbGF0Zm9ybVRv
dWNoUG9pbnQuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5oJywK
ICAgICAgICAgICAgICdwbGF0Zm9ybS9QcmVyZW5kZXJIYW5kbGUuaCcsCiAgICAgICAgICAgICAn
cGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL1JlZmVy
cmVyUG9saWN5LmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagppbmRleCAwMmI5NTczOWIxZmYyMjMwMzc1YzY3YmYzNzZkYzFjNzAyYmYzYmY3Li4wNWVi
OGMyYWY0MzMwZTcwYThmMTY1MTJkMGU2N2Y3MTZkYWExNTU5IDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMjg3MjYsNiArMjg3MjYsMTQgQEAK
IAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZv
cm1cUGx1Z0luT3JpZ2luSGFzaC5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXFBsdWdJbk9yaWdpbkhhc2guaCIKKwkJCQk+CisJ
CQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cUG9wdXBN
ZW51LmgiCiAJCQkJPgogCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDNiNjNiM2Q5MjhiY2M3MWRlNzM3N2UyMWYw
NmRhNmY3ODdiNzc1MzQuLmQ5ZDdlZmUyZDA2NTRmMjc3NTY5ZWMxNDBlOWI5ZGFjNjdlN2I3YTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTkzMyw2ICs5MzMsOCBAQAogCQkzMTlFNjlCNTEzMjk5QkJEMDA0QUM5MUEgLyogV2Vi
S2l0QW5pbWF0aW9uTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMTlFNjlBRjEzMjk5QkJEMDA0QUM5MUEgLyogV2ViS2l0QW5pbWF0aW9uTGlz
dC5jcHAgKi87IH07CiAJCTMxOUU2OUI2MTMyOTlCQkQwMDRBQzkxQSAvKiBXZWJLaXRBbmltYXRp
b25MaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
MTlFNjlCMDEzMjk5QkJEMDA0QUM5MUEgLyogV2ViS2l0QW5pbWF0aW9uTGlzdC5oICovOyB9Owog
CQkzMTlGQkQ1RjE1RDJGNDY0MDA5NjQwQTYgLyogQ2FjaGVkSW1hZ2VDbGllbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxOUZCRDVEMTVEMkY0NDQw
MDk2NDBBNiAvKiBDYWNoZWRJbWFnZUNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTMxQTY3RTRDMTY2MDMyNkEwMDZDQkE2NiAvKiBQbHVn
SW5PcmlnaW5IYXNoLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDMxQTY3RTRBMTY2MDMyNjkwMDZDQkE2NiAvKiBQbHVnSW5PcmlnaW5IYXNoLmNwcCAq
LzsgfTsKKwkJMzFBNjdFNEQxNjYwMzI2QTAwNkNCQTY2IC8qIFBsdWdJbk9yaWdpbkhhc2guaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQTY3RTRCMTY2
MDMyNjkwMDZDQkE2NiAvKiBQbHVnSW5PcmlnaW5IYXNoLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMzFBOTYzQTUxNjU1RDQyNjAwMEQ0NjQ1IC8q
IHN0YXJ0QnV0dG9uLnBuZyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzFBOTYzQTExNjU1RDQyNjAwMEQ0NjQ1IC8qIHN0YXJ0QnV0dG9uLnBuZyAqLzsg
fTsKIAkJMzFBOTYzQTYxNjU1RDQyNjAwMEQ0NjQ1IC8qIHN0YXJ0QnV0dG9uQDJ4LnBuZyBpbiBS
ZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFBOTYzQTIxNjU1
RDQyNjAwMEQ0NjQ1IC8qIHN0YXJ0QnV0dG9uQDJ4LnBuZyAqLzsgfTsKIAkJMzFBOTYzQTcxNjU1
RDQyNjAwMEQ0NjQ1IC8qIHN0YXJ0QnV0dG9uUHJlc3NlZC5wbmcgaW4gUmVzb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQTk2M0EzMTY1NUQ0MjYwMDBENDY0NSAv
KiBzdGFydEJ1dHRvblByZXNzZWQucG5nICovOyB9OwpAQCAtODEwNyw2ICs4MTA5LDggQEAKIAkJ
MzE5RTY5QjAxMzI5OUJCRDAwNEFDOTFBIC8qIFdlYktpdEFuaW1hdGlvbkxpc3QuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViS2l0QW5pbWF0aW9uTGlzdC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkzMTlFNjlCMTEzMjk5QkJEMDA0QUM5MUEgLyogV2ViS2l0
QW5pbWF0aW9uTGlzdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViS2l0QW5pbWF0aW9u
TGlzdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxOUZCRDVEMTVEMkY0NDQw
MDk2NDBBNiAvKiBDYWNoZWRJbWFnZUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDYWNoZWRJbWFnZUNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkzMUE2N0U0QTE2NjAzMjY5MDA2Q0JBNjYgLyogUGx1Z0luT3JpZ2luSGFzaC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQbHVnSW5PcmlnaW5IYXNoLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFBNjdFNEIxNjYwMzI2OTAwNkNCQTY2IC8qIFBs
dWdJbk9yaWdpbkhhc2guaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGx1Z0lu
T3JpZ2luSGFzaC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUE5NjNBMTE2NTVE
NDI2MDAwRDQ2NDUgLyogc3RhcnRCdXR0b24ucG5nICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1hZ2UucG5nOyBwYXRoID0gc3RhcnRCdXR0b24ucG5n
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUE5NjNBMjE2NTVENDI2MDAwRDQ2NDUg
Lyogc3RhcnRCdXR0b25AMngucG5nICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gaW1hZ2UucG5nOyBwYXRoID0gInN0YXJ0QnV0dG9uQDJ4LnBuZyI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQTk2M0EzMTY1NUQ0MjYwMDBENDY0NSAvKiBz
dGFydEJ1dHRvblByZXNzZWQucG5nICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gaW1hZ2UucG5nOyBwYXRoID0gc3RhcnRCdXR0b25QcmVzc2VkLnBuZzsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIxMDUwLDYgKzIxMDU0LDggQEAKIAkJCQkx
QUQ4RjgxQTExQ0FCOUU5MDBFOTNFNTQgLyogUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCAqLywKIAkJ
CQkxQUQ4RjgxOTExQ0FCOUU5MDBFOTNFNTQgLyogUGxhdGZvcm1TdHJhdGVnaWVzLmggKi8sCiAJ
CQkJOTM1QzQ3NkEwOUFDNEQ0RjAwQTZBQUI0IC8qIFBsYXRmb3JtV2hlZWxFdmVudC5oICovLAor
CQkJCTMxQTY3RTRBMTY2MDMyNjkwMDZDQkE2NiAvKiBQbHVnSW5PcmlnaW5IYXNoLmNwcCAqLywK
KwkJCQkzMUE2N0U0QjE2NjAzMjY5MDA2Q0JBNjYgLyogUGx1Z0luT3JpZ2luSGFzaC5oICovLAog
CQkJCUJDQkI4QUI0MTNGMUFGQjAwMDczNERGMCAvKiBQT0RBcmVuYS5oICovLAogCQkJCTFGM0Yx
OTUyMTQ5OUNBNzYwMEE1QUVBNyAvKiBQT0RGcmVlTGlzdEFyZW5hLmggKi8sCiAJCQkJQkNCQjhB
QjUxM0YxQUZCMDAwNzM0REYwIC8qIFBPREludGVydmFsLmggKi8sCkBAIC0yNTgxOSw2ICsyNTgy
NSw3IEBACiAJCQkJRkIyQzE1QzMxNjVENjQ5RDAwMzlDOUY4IC8qIENhY2hlZFNWR0RvY3VtZW50
UmVmZXJlbmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTc0MUFBRDE2NjM2NjA5MDA4QTVCN0Ug
LyogU2ltdWxhdGVkQ2xpY2tPcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNUI4QjdDOTE2
NTJDNTIyMDAzNkVGNTUgLyogSlNXZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmggaW4gSGVhZGVy
cyAqLywKKwkJCQkzMUE2N0U0RDE2NjAzMjZBMDA2Q0JBNjYgLyogUGx1Z0luT3JpZ2luSGFzaC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CiAJCX07CkBAIC0yODkxOSw2ICsyODkyNiw3IEBACiAJCQkJQ0Q3RTA1MjIxNjUx
QzI4MjAwQzEyMDFGIC8qIFdlYkNvcmVBVkZSZXNvdXJjZUxvYWRlci5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTQ0Nzk1ODA1MTY0M0I0QjIwMDFFMEE3RiAvKiBQYXJzZWRDb250ZW50VHlwZS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkxNUI4QjdDODE2NTJDNTIyMDAzNkVGNTUgLyogSlNXZWJLaXRD
U1NNaXhGdW5jdGlvblZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxQTY3RTRDMTY2MDMy
NkEwMDZDQkE2NiAvKiBQbHVnSW5PcmlnaW5IYXNoLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsK
IAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAKaW5kZXggNDIxYWMx
YjBmMGMxOGQyZmRiMjk5YjhlODY4NzQ4OTA1Yjc1ZDk3Ni4uODM1ZjA3ODVjNTlkYmE1NjU3ODll
YWJhMThlYzZlMDQzM2Q5NDE3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
UGx1Z0luSW1hZ2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVn
SW5JbWFnZUVsZW1lbnQuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiTW91c2VFdmVu
dC5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKKyNp
bmNsdWRlICJQbHVnSW5PcmlnaW5IYXNoLmgiCiAjaW5jbHVkZSAiUmVuZGVyRW1iZWRkZWRPYmpl
Y3QuaCIKICNpbmNsdWRlICJSZW5kZXJJbWFnZS5oIgogI2luY2x1ZGUgIlJlbmRlclNuYXBzaG90
dGVkUGx1Z0luLmgiCkBAIC0zNyw2ICszOCwxMSBAQAogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAj
aW5jbHVkZSAiU3R5bGVSZXNvbHZlci5oIgogCisjaWYgVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMp
CisjaW5jbHVkZSAiUGxhdGZvcm1TdHJhdGVnaWVzLmgiCisjaW5jbHVkZSAiUGx1Z2luU3RyYXRl
Z3kuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIFRoaXMgZGVsYXkgc2hv
dWxkIG5vdCBleGNlZWQgdGhlIHNuYXBzaG90IGRlbGF5IGluIFBsdWdpblZpZXcuY3BwCkBAIC01
MiwxMyArNTgsOSBAQCBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjpIVE1MUGx1Z0luSW1hZ2VFbGVt
ZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvYwogICAgICwgbV9zaG91bGRQcmVm
ZXJQbHVnSW5zRm9ySW1hZ2VzKHByZWZlclBsdWdJbnNGb3JJbWFnZXNPcHRpb24gPT0gU2hvdWxk
UHJlZmVyUGx1Z0luc0ZvckltYWdlcykKICAgICAsIG1fbmVlZHNEb2N1bWVudEFjdGl2YXRpb25D
YWxsYmFja3MoZmFsc2UpCiAgICAgLCBtX3NpbXVsYXRlZE1vdXNlQ2xpY2tUaW1lcih0aGlzLCAm
SFRNTFBsdWdJbkltYWdlRWxlbWVudDo6c2ltdWxhdGVkTW91c2VDbGlja1RpbWVyRmlyZWQsIHNp
bXVsYXRlZE1vdXNlQ2xpY2tUaW1lckRlbGF5KQorICAgICwgbV9wbHVnSW5PcmlnaW5IYXNoKDAp
CiB7CiAgICAgc2V0SGFzQ3VzdG9tQ2FsbGJhY2tzKCk7Ci0KLSAgICBpZiAoZG9jdW1lbnQtPnBh
Z2UoKQotICAgICAgICAmJiBkb2N1bWVudC0+cGFnZSgpLT5zZXR0aW5ncygpLT5wbHVnSW5TbmFw
c2hvdHRpbmdFbmFibGVkKCkKLSAgICAgICAgJiYgIVNjcmlwdENvbnRyb2xsZXI6OnByb2Nlc3Np
bmdVc2VyR2VzdHVyZSgpKQotICAgICAgICBzZXREaXNwbGF5U3RhdGUoV2FpdGluZ0ZvclNuYXBz
aG90KTsKIH0KIAogSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6fkhUTUxQbHVnSW5JbWFnZUVsZW1l
bnQoKQpAQCAtMjYyLDkgKzI2NCwxMyBAQCB2b2lkIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OnVw
ZGF0ZVNuYXBzaG90KFBhc3NSZWZQdHI8SW1hZ2U+IGltYWdlKQogICAgIHNldERpc3BsYXlTdGF0
ZShEaXNwbGF5aW5nU25hcHNob3QpOwogfQogCi12b2lkIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6
OnNldFBlbmRpbmdDbGlja0V2ZW50KFBhc3NSZWZQdHI8TW91c2VFdmVudD4gZXZlbnQpCit2b2lk
IEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OnVzZXJEaWRDbGlja1NuYXBzaG90KFBhc3NSZWZQdHI8
TW91c2VFdmVudD4gZXZlbnQpCiB7CisgICAgQVNTRVJUKG1fcGx1Z0luT3JpZ2luSGFzaCk7CiAg
ICAgbV9wZW5kaW5nQ2xpY2tFdmVudEZyb21TbmFwc2hvdCA9IGV2ZW50OworI2lmIFVTRShQTEFU
Rk9STV9TVFJBVEVHSUVTKQorICAgIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5wbHVnaW5TdHJhdGVn
eSgpLT5hZGRBdXRvU3RhcnRPcmlnaW4oZG9jdW1lbnQoKS0+cGFnZSgpLCBtX3BsdWdJbk9yaWdp
bkhhc2gpOworI2VuZGlmCiB9CiAKIHZvaWQgSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6ZGlzcGF0
Y2hQZW5kaW5nTW91c2VDbGljaygpCkBAIC0yODQsNCArMjkwLDE2IEBAIHZvaWQgSFRNTFBsdWdJ
bkltYWdlRWxlbWVudDo6c2ltdWxhdGVkTW91c2VDbGlja1RpbWVyRmlyZWQoRGVmZXJyYWJsZU9u
ZVNob3RUaW1lCiAgICAgbV9wZW5kaW5nQ2xpY2tFdmVudEZyb21TbmFwc2hvdCA9IG51bGxwdHI7
CiB9CiAKK3ZvaWQgSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6c3ViZnJhbWVMb2FkZXJXaWxsTG9h
ZFBsdWdJbihjb25zdCBLVVJMJiB1cmwpCit7CisgICAgbV9wbHVnSW5PcmlnaW5IYXNoID0gcGx1
Z0luT3JpZ2luSGFzaChkb2N1bWVudCgpLT5wYWdlKCksIHVybCk7CisgICAgaWYgKGRvY3VtZW50
KCktPnBhZ2UoKQorICAgICAgICAmJiBkb2N1bWVudCgpLT5wYWdlKCktPnNldHRpbmdzKCktPnBs
dWdJblNuYXBzaG90dGluZ0VuYWJsZWQoKQorI2lmIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQor
ICAgICAgICAmJiAhcGxhdGZvcm1TdHJhdGVnaWVzKCktPnBsdWdpblN0cmF0ZWd5KCktPmlzQXV0
b1N0YXJ0T3JpZ2luKGRvY3VtZW50KCktPnBhZ2UoKSwgbV9wbHVnSW5PcmlnaW5IYXNoKQorI2Vu
ZGlmCisgICAgICAgICYmICFTY3JpcHRDb250cm9sbGVyOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUo
KSkKKyAgICAgICAgc2V0RGlzcGxheVN0YXRlKFdhaXRpbmdGb3JTbmFwc2hvdCk7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFBsdWdJbkltYWdlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1h
Z2VFbGVtZW50LmgKaW5kZXggYzViZjZmYTFmOTFlMWU4MmQwOGJjYTJjMDJjNzNkYWIyYzdhODkz
ZC4uNWE2OWZhZTIwZGYwOGQ0NjI5Nzg2ZDhhMjdiMTQ3MTFkYjU2YTg4NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmgKQEAgLTIzLDYgKzIzLDcgQEAK
IAogI2luY2x1ZGUgIkhUTUxQbHVnSW5FbGVtZW50LmgiCiAKKyNpbmNsdWRlICJQbHVnSW5Pcmln
aW5IYXNoLmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlIDx3dGYvT3duUHRy
Lmg+CiAKQEAgLTU5LDcgKzYwLDEwIEBAIHB1YmxpYzoKICAgICBib29sIG5lZWRzV2lkZ2V0VXBk
YXRlKCkgY29uc3QgeyByZXR1cm4gbV9uZWVkc1dpZGdldFVwZGF0ZTsgfQogICAgIHZvaWQgc2V0
TmVlZHNXaWRnZXRVcGRhdGUoYm9vbCBuZWVkc1dpZGdldFVwZGF0ZSkgeyBtX25lZWRzV2lkZ2V0
VXBkYXRlID0gbmVlZHNXaWRnZXRVcGRhdGU7IH0KIAotICAgIHZvaWQgc2V0UGVuZGluZ0NsaWNr
RXZlbnQoUGFzc1JlZlB0cjxNb3VzZUV2ZW50Pik7CisgICAgdm9pZCB1c2VyRGlkQ2xpY2tTbmFw
c2hvdChQYXNzUmVmUHRyPE1vdXNlRXZlbnQ+KTsKKworICAgIC8vIFBsdWctaW4gVVJMIG1pZ2h0
IG5vdCBiZSB0aGUgc2FtZSBhcyB1cmwoKSB3aXRoIG92ZXJyaWRpbmcgcGFyYW1ldGVycy4KKyAg
ICB2b2lkIHN1YmZyYW1lTG9hZGVyV2lsbExvYWRQbHVnSW4oY29uc3QgS1VSTCYgcGx1Z0luVVJM
KTsKIAogcHJvdGVjdGVkOgogICAgIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqLCBib29sIGNyZWF0ZWRCeVBhcnNlciwgUHJlZmVy
UGx1Z0luc0ZvckltYWdlc09wdGlvbik7CkBAIC0xMDMsNiArMTA3LDcgQEAgcHJpdmF0ZToKICAg
ICBSZWZQdHI8UmVuZGVyU3R5bGU+IG1fY3VzdG9tU3R5bGVGb3JQYWdlQ2FjaGU7CiAgICAgUmVm
UHRyPE1vdXNlRXZlbnQ+IG1fcGVuZGluZ0NsaWNrRXZlbnRGcm9tU25hcHNob3Q7CiAgICAgRGVm
ZXJyYWJsZU9uZVNob3RUaW1lcjxIVE1MUGx1Z0luSW1hZ2VFbGVtZW50PiBtX3NpbXVsYXRlZE1v
dXNlQ2xpY2tUaW1lcjsKKyAgICBQbHVnSW5PcmlnaW5IYXNoIG1fcGx1Z0luT3JpZ2luSGFzaDsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9TdWJmcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJh
bWVMb2FkZXIuY3BwCmluZGV4IDkyZWE5NzM3NjdlOGM0NzI1MGI2ZGIyYmY0MDRkMzQ4ZTU0NTIy
ZjEuLmQxYWI3ZTU2ZTkyMmU0MzU3YmY5MjI1ZTJiYTE5YzRhODNlMzkzNTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmNwcApAQCAtMTU2LDYgKzE1Niw3IEBAIGJvb2wg
U3ViZnJhbWVMb2FkZXI6OnJlcXVlc3RQbHVnaW4oSFRNTFBsdWdJbkltYWdlRWxlbWVudCogb3du
ZXJFbGVtZW50LCBjb25zdCBLCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIEFTU0VSVChv
d25lckVsZW1lbnQtPmhhc1RhZ05hbWUob2JqZWN0VGFnKSB8fCBvd25lckVsZW1lbnQtPmhhc1Rh
Z05hbWUoZW1iZWRUYWcpKTsKKyAgICBvd25lckVsZW1lbnQtPnN1YmZyYW1lTG9hZGVyV2lsbExv
YWRQbHVnSW4odXJsKTsKICAgICByZXR1cm4gbG9hZFBsdWdpbihvd25lckVsZW1lbnQsIHVybCwg
bWltZVR5cGUsIHBhcmFtTmFtZXMsIHBhcmFtVmFsdWVzLCB1c2VGYWxsYmFjayk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsdWdJbk9yaWdpbkhhc2guY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZTZmODU0OTRiNmJkOWJkZjNjMTM0ZDUzOGUwMDdmMGQwZDg4YjYyZAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsdWdJbk9yaWdpbkhhc2guY3BwCkBAIC0wLDAg
KzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQbHVnSW5P
cmlnaW5IYXNoLmgiCisKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkZyYW1lLmgi
CisjaW5jbHVkZSAiS1VSTC5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlIDx3dGYvdGV4
dC9TdHJpbmdCdWlsZGVyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordGVtcGxhdGUgPHR5
cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0aWMgQUxXQVlTX0lOTElORSBQbHVnSW5PcmlnaW5I
YXNoIHBsdWdJbk9yaWdpbkhhc2hJbmxpbmUoY29uc3QgQ2hhcmFjdGVyVHlwZSogb3JpZ2luLCB1
bnNpZ25lZCBsZW5ndGgpCit7CisgICAgcmV0dXJuIEFscmVhZHlIYXNoZWQ6OmF2b2lkRGVsZXRl
ZFZhbHVlKFN0cmluZ0hhc2hlcjo6Y29tcHV0ZUhhc2gob3JpZ2luLCBsZW5ndGgpKTsKK30KKwor
UGx1Z0luT3JpZ2luSGFzaCBwbHVnSW5PcmlnaW5IYXNoKGNvbnN0IFBhZ2UqIHBhZ2UsIGNvbnN0
IEtVUkwmIHNyY1VSTCkKK3sKKyAgICBjb25zdCBLVVJMJiBtYWluRnJhbWVCYXNlVVJMID0gcGFn
ZS0+bWFpbkZyYW1lKCktPmRvY3VtZW50KCktPmJhc2VVUkwoKTsKKyAgICBTdHJpbmdCdWlsZGVy
IGJ1aWxkZXI7CisgICAgYnVpbGRlci5hcHBlbmQobWFpbkZyYW1lQmFzZVVSTC5ob3N0KCkpOwor
ICAgIGJ1aWxkZXIuYXBwZW5kKHNyY1VSTC5ob3N0KCkpOworCisgICAgU3RyaW5nIGhhc2hTdHJp
bmcgPSBidWlsZGVyLnRvU3RyaW5nKCk7CisgICAgQVNTRVJUKGhhc2hTdHJpbmcubGVuZ3RoKCkp
OworICAgIGlmIChoYXNoU3RyaW5nLmlzOEJpdCgpKQorICAgICAgICByZXR1cm4gcGx1Z0luT3Jp
Z2luSGFzaElubGluZShoYXNoU3RyaW5nLmNoYXJhY3RlcnM4KCksIGhhc2hTdHJpbmcubGVuZ3Ro
KCkpOworICAgIHJldHVybiBwbHVnSW5PcmlnaW5IYXNoSW5saW5lKGhhc2hTdHJpbmcuY2hhcmFj
dGVycygpLCBoYXNoU3RyaW5nLmxlbmd0aCgpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjRiZGI3ZGEyZjE3YzExMDY5ZDZjZDU0YzIxMzg3NGRmOWYyZjM5MmIKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbHVnSW5PcmlnaW5IYXNoLmgKQEAgLTAsMCAr
MSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBQbHVnSW5PcmlnaW5IYXNoX2gKKyNkZWZpbmUgUGx1
Z0luT3JpZ2luSGFzaF9oCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgS1VSTDsKK2Ns
YXNzIFBhZ2U7CisKK3R5cGVkZWYgdWludDY0X3QgUGx1Z0luT3JpZ2luSGFzaDsKKworUGx1Z0lu
T3JpZ2luSGFzaCBwbHVnSW5PcmlnaW5IYXNoKGNvbnN0IFBhZ2UqLCBjb25zdCBLVVJMJiBzcmNV
UkwpOworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvKiBQbHVnSW5PcmlnaW5I
YXNoICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblN0cmF0ZWd5
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblN0cmF0ZWd5LmgKaW5kZXggOWQ4YTdi
NTJmMDMyNTUzNzQ0M2YxMzNmMDgyZGEzMGY0ZjBkMjI5NC4uZGY2ZTUzMDQ1OGFhYWZkZGMwZjky
YzYyMmFkOWYxNmIxMDk3MWVhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9Q
bHVnaW5TdHJhdGVneS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luU3RyYXRl
Z3kuaApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMpCiAK
KyNpbmNsdWRlICJQbHVnSW5PcmlnaW5IYXNoLmgiCiAjaW5jbHVkZSAiUGx1Z2luRGF0YS5oIgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zOSw2ICs0MCw5IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgcmVmcmVzaFBsdWdpbnMoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGdldFBsdWdp
bkluZm8oY29uc3QgUGFnZSosIFZlY3RvcjxQbHVnaW5JbmZvPiYpID0gMDsKIAorICAgIHZpcnR1
YWwgYm9vbCBpc0F1dG9TdGFydE9yaWdpbihQYWdlKiwgUGx1Z0luT3JpZ2luSGFzaCkgPSAwOwor
ICAgIHZpcnR1YWwgdm9pZCBhZGRBdXRvU3RhcnRPcmlnaW4oUGFnZSosIFBsdWdJbk9yaWdpbkhh
c2gpID0gMDsKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgflBsdWdpblN0cmF0ZWd5KCkgeyB9
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNuYXBzaG90
dGVkUGx1Z0luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbmFwc2hvdHRl
ZFBsdWdJbi5jcHAKaW5kZXggOTcyYjJiZjkwNDIyM2I1Yjc3NzVmMjQyOWRjMTYyODNhMGYxNjgx
NS4uZjJjZTlkNTY1Mjg1ZDhmYzAyMDEzY2MwZjBiM2I5OTczZGQzZDY2NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNuYXBzaG90dGVkUGx1Z0luLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4uY3BwCkBA
IC0xNzgsNyArMTc4LDcgQEAgdm9pZCBSZW5kZXJTbmFwc2hvdHRlZFBsdWdJbjo6aGFuZGxlRXZl
bnQoRXZlbnQqIGV2ZW50KQogICAgICAgICAgICAgcGx1Z0luSW1hZ2VFbGVtZW50KCktPnNldERp
c3BsYXlTdGF0ZShIVE1MUGx1Z0luRWxlbWVudDo6UGxheWluZyk7CiAgICAgICAgIGVsc2Ugewog
ICAgICAgICAgICAgcGx1Z0luSW1hZ2VFbGVtZW50KCktPnNldERpc3BsYXlTdGF0ZShIVE1MUGx1
Z0luRWxlbWVudDo6UGxheWluZ1dpdGhQZW5kaW5nTW91c2VDbGljayk7Ci0gICAgICAgICAgICBw
bHVnSW5JbWFnZUVsZW1lbnQoKS0+c2V0UGVuZGluZ0NsaWNrRXZlbnQobW91c2VFdmVudCk7Cisg
ICAgICAgICAgICBwbHVnSW5JbWFnZUVsZW1lbnQoKS0+dXNlckRpZENsaWNrU25hcHNob3QobW91
c2VFdmVudCk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKHdpZGdldCgpKSB7CiAgICAgICAgICAg
ICBpZiAoRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQoKS0+ZnJhbWUoKSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwu
Y3BwCmluZGV4IDcxMzhhYThkNzZmN2ZjZTgxYzgxMDI3MzJkZjRjNTE2OTc3YWUzYmUuLmRjOWQw
NjZhYTNjMWE1ZTIzYzUwZDk0OGIyNDhlNGI1Mzk1MDE3MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmNw
cApAQCAtMTIwLDYgKzEyMCwxNyBAQCB2b2lkIFBsYXRmb3JtU3RyYXRlZ2llc0VmbDo6Z2V0UGx1
Z2luSW5mbyhjb25zdCBQYWdlKiwgVmVjdG9yPFBsdWdpbkluZm8+JiBvdXRQbAogI2VuZGlmCiB9
CiAKK2Jvb2wgUGxhdGZvcm1TdHJhdGVnaWVzRWZsOjppc0F1dG9TdGFydE9yaWdpbihQYWdlKiwg
UGx1Z0luT3JpZ2luSGFzaCkKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50LgorICAgIHJldHVy
biBmYWxzZTsKK30KKwordm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNFZmw6OmFkZEF1dG9TdGFydE9y
aWdpbihQYWdlKiwgUGx1Z0luT3JpZ2luSGFzaCkKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50
LgorfQorCiAvLyBWaXNpdGVkTGlua1N0cmF0ZWd5CiBib29sIFBsYXRmb3JtU3RyYXRlZ2llc0Vm
bDo6aXNMaW5rVmlzaXRlZChQYWdlKiBwYWdlLCBMaW5rSGFzaCBoYXNoLCBjb25zdCBLVVJMJiwg
Y29uc3QgQXRvbWljU3RyaW5nJikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5oIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmgKaW5kZXggMDFlNjExNTZjZjlm
ZWYzYjFmNDUzMmE5ZTI1ZThiMzMyYzI1ZmVmMC4uZDRjZWFlOTEyYWY3YzFlNTk4ZTlmNWU4OTkw
N2Y5MTI1NWU2ZWNlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBv
cnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmgKQEAgLTQ5LDYgKzQ5LDggQEAgcHJpdmF0
ZToKICAgICAvLyBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneQogICAgIHZpcnR1YWwgdm9pZCByZWZy
ZXNoUGx1Z2lucygpOwogICAgIHZpcnR1YWwgdm9pZCBnZXRQbHVnaW5JbmZvKGNvbnN0IFdlYkNv
cmU6OlBhZ2UqLCBWZWN0b3I8V2ViQ29yZTo6UGx1Z2luSW5mbz4mKTsKKyAgICB2aXJ0dWFsIGJv
b2wgaXNBdXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6UGFnZSosIFdlYkNvcmU6OlBsdWdJbk9yaWdp
bkhhc2gpOworICAgIHZpcnR1YWwgdm9pZCBhZGRBdXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6UGFn
ZSosIFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhhc2gpOwogCiAgICAgLy8gV2ViQ29yZTo6VmlzaXRl
ZExpbmtTdHJhdGVneQogICAgIHZpcnR1YWwgYm9vbCBpc0xpbmtWaXNpdGVkKFdlYkNvcmU6OlBh
Z2UqLCBXZWJDb3JlOjpMaW5rSGFzaCwgY29uc3QgV2ViQ29yZTo6S1VSTCYgYmFzZVVSTCwgY29u
c3QgV1RGOjpBdG9taWNTdHJpbmcmIGF0dHJpYnV0ZVVSTCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuY3BwIGIvU291
cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmNwcApp
bmRleCAwMGE3MDYyYzljZTJlYzNhNWEyNjc4ODE2OWE5YTVmNmIwMjMwODg2Li5mNjg3YmE5MTRl
ZmMwZDJmYmJmOGIyMTE5MTI1ZTI1NTJhMTY4NDAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0d0ay5jcHAKQEAg
LTEwOCw2ICsxMDgsMTcgQEAgdm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNHdGs6OmdldFBsdWdpbklu
Zm8oY29uc3QgUGFnZSogcGFnZSwgVmVjdG9yPFBsdWdpbkluZm8+JgogICAgIH0KIH0KIAorYm9v
bCBQbGF0Zm9ybVN0cmF0ZWdpZXNHdGs6OmlzQXV0b1N0YXJ0T3JpZ2luKFBhZ2UqLCBQbHVnSW5P
cmlnaW5IYXNoKQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCisgICAgcmV0dXJuIGZhbHNl
OworfQorCit2b2lkIFBsYXRmb3JtU3RyYXRlZ2llc0d0azo6YWRkQXV0b1N0YXJ0T3JpZ2luKFBh
Z2UqLCBQbHVnSW5PcmlnaW5IYXNoKQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCit9CisK
IC8vIFZpc2l0ZWRMaW5rU3RyYXRlZ3kKIGJvb2wgUGxhdGZvcm1TdHJhdGVnaWVzR3RrOjppc0xp
bmtWaXNpdGVkKFBhZ2UqIHBhZ2UsIExpbmtIYXNoIGhhc2gsIGNvbnN0IEtVUkwmLCBjb25zdCBB
dG9taWNTdHJpbmcmKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmggYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuaAppbmRleCBjZjM0YWUyNGIzODI4Zjk4ZGVm
MWU4NzJjMDczY2E0OTI0YjBkMzM0Li40OTllMTJkMDQwZGQ0YTM0ZGNjZDA3YzUwNjI4N2FhNjky
ZmY0NzFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9QbGF0
Zm9ybVN0cmF0ZWdpZXNHdGsuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9y
dC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuaApAQCAtNDgsNiArNDgsOCBAQCBwcml2YXRlOgogICAg
IC8vIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5CiAgICAgdmlydHVhbCB2b2lkIHJlZnJlc2hQbHVn
aW5zKCk7CiAgICAgdmlydHVhbCB2b2lkIGdldFBsdWdpbkluZm8oY29uc3QgV2ViQ29yZTo6UGFn
ZSosIFZlY3RvcjxXZWJDb3JlOjpQbHVnaW5JbmZvPiYpOworICAgIHZpcnR1YWwgYm9vbCBpc0F1
dG9TdGFydE9yaWdpbihXZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFzaCk7
CisgICAgdmlydHVhbCB2b2lkIGFkZEF1dG9TdGFydE9yaWdpbihXZWJDb3JlOjpQYWdlKiwgV2Vi
Q29yZTo6UGx1Z0luT3JpZ2luSGFzaCk7CiAKICAgICAvLyBXZWJDb3JlOjpWaXNpdGVkTGlua1N0
cmF0ZWd5CiAgICAgdmlydHVhbCBib29sIGlzTGlua1Zpc2l0ZWQoV2ViQ29yZTo6UGFnZSosIFdl
YkNvcmU6OkxpbmtIYXNoLCBjb25zdCBXZWJDb3JlOjpLVVJMJiBiYXNlVVJMLCBjb25zdCBXVEY6
OkF0b21pY1N0cmluZyYgYXR0cmlidXRlVVJMKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oIGIvU291cmNlL1dlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKaW5kZXggZjlkOGM3
NzE5NmFhMTZlODlhNDI4NGEzOWQ3NWMxNzBhYzdmNDA4OS4uYmUyZGY5ZjQ2ODFkOTljNTBhYTA5
MWU3YjZmMjNmYjQ4MDhiM2RlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKQEAgLTU2LDYgKzU2LDggQEAg
cHJpdmF0ZToKICAgICAvLyBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneQogICAgIHZpcnR1YWwgdm9p
ZCByZWZyZXNoUGx1Z2lucygpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBnZXRQbHVnaW5J
bmZvKGNvbnN0IFdlYkNvcmU6OlBhZ2UqLCBWZWN0b3I8V2ViQ29yZTo6UGx1Z2luSW5mbz4mKSBP
VkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgaXNBdXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6UGFn
ZSosIFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhhc2gpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9p
ZCBhZGRBdXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6UGFnZSosIFdlYkNvcmU6OlBsdWdJbk9yaWdp
bkhhc2gpIE9WRVJSSURFOwogCiAgICAgLy8gV2ViQ29yZTo6VmlzaXRlZExpbmtTdHJhdGVneQog
ICAgIHZpcnR1YWwgYm9vbCBpc0xpbmtWaXNpdGVkKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpM
aW5rSGFzaCwgY29uc3QgV2ViQ29yZTo6S1VSTCYgYmFzZVVSTCwgY29uc3QgV1RGOjpBdG9taWNT
dHJpbmcmIGF0dHJpYnV0ZVVSTCkgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0gYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0KaW5kZXggYzc5
YjA4OWI5ZmM0MGM5NmNjZTE2ZjcyMGI4YjU0MDM0YzUyZTkyNC4uMmZjOTdiMjIzMjljNWUxYjA3
Yzg1OTc3NjlhZDczMDhjNDM2YTU0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbQpAQCAtMTEzLDYgKzEx
MywxNyBAQCB2b2lkIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Z2V0UGx1Z2luSW5mbyhjb25zdCBX
ZWJDb3JlOjpQYWdlKiwgVmVjdG9yPFdlYkNvcmU6OgogICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQ
VElPTlM7CiB9CiAKK2Jvb2wgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjppc0F1dG9TdGFydE9yaWdp
bihQYWdlKiwgUGx1Z0luT3JpZ2luSGFzaCkKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50Lgor
ICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmFkZEF1
dG9TdGFydE9yaWdpbihQYWdlKiwgUGx1Z0luT3JpZ2luSGFzaCkKK3sKKyAgICAvLyBGSVhNRTog
SW1wbGVtZW50LgorfQorCiBib29sIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6aXNMaW5rVmlzaXRl
ZChQYWdlKiBwYWdlLCBMaW5rSGFzaCBoYXNoLCBjb25zdCBLVVJMJiwgY29uc3QgQXRvbWljU3Ry
aW5nJikKIHsKICAgICByZXR1cm4gcGFnZS0+Z3JvdXAoKS5pc0xpbmtWaXNpdGVkKGhhc2gpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0
ZWdpZXNRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3Ry
YXRlZ2llc1F0LmNwcAppbmRleCA1ZDllNzU1ZDAyZjE1OWEzZmMzYjZlZWI1Mzc1ZmYyYmJjMDE5
NGUwLi5kNjEyNmVkNWM0ZGJmMDk0ZDg1MzMwYzZhODgzNzI0YmM0MWJjY2FkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1F0LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2ll
c1F0LmNwcApAQCAtMTU2LDYgKzE1NiwxNyBAQCB2b2lkIFBsYXRmb3JtU3RyYXRlZ2llc1F0Ojpn
ZXRQbHVnaW5JbmZvKGNvbnN0IFdlYkNvcmU6OlBhZ2UqIHBhZ2UsIFZlY3RvcjxXZWJDbwogCiB9
CiAKK2Jvb2wgUGxhdGZvcm1TdHJhdGVnaWVzUXQ6OmlzQXV0b1N0YXJ0T3JpZ2luKFBhZ2UqLCBQ
bHVnSW5PcmlnaW5IYXNoKQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCisgICAgcmV0dXJu
IGZhbHNlOworfQorCit2b2lkIFBsYXRmb3JtU3RyYXRlZ2llc1F0OjphZGRBdXRvU3RhcnRPcmln
aW4oUGFnZSosIFBsdWdJbk9yaWdpbkhhc2gpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudC4K
K30KKwogLy8gVmlzaXRlZExpbmtTdHJhdGVneQogCiBib29sIFBsYXRmb3JtU3RyYXRlZ2llc1F0
Ojppc0xpbmtWaXNpdGVkKFBhZ2UqIHBhZ2UsIExpbmtIYXNoIGhhc2gsIGNvbnN0IEtVUkwmIGJh
c2VVUkwsIGNvbnN0IEF0b21pY1N0cmluZyYgYXR0cmlidXRlVVJMKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5oIGIvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5oCmluZGV4
IDJmZThmZTYyY2ZlMzNiMDkwMTNmMTk2NTRhM2NlMmE3Njg0Mzk2YzIuLjVhMGViOTRkOTRkYzEx
NjUyYTVkYmJmZTUzYmRmYjZlOWIzMjQyY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1F0LmgKQEAgLTYwLDYgKzYwLDgg
QEAgcHJpdmF0ZToKICAgICAvLyBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneQogICAgIHZpcnR1YWwg
dm9pZCByZWZyZXNoUGx1Z2lucygpOwogICAgIHZpcnR1YWwgdm9pZCBnZXRQbHVnaW5JbmZvKGNv
bnN0IFdlYkNvcmU6OlBhZ2UqLCBWZWN0b3I8V2ViQ29yZTo6UGx1Z2luSW5mbz4mKTsKKyAgICB2
aXJ0dWFsIGJvb2wgaXNBdXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6UGFnZSosIFdlYkNvcmU6OlBs
dWdJbk9yaWdpbkhhc2gpOworICAgIHZpcnR1YWwgdm9pZCBhZGRBdXRvU3RhcnRPcmlnaW4oV2Vi
Q29yZTo6UGFnZSosIFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhhc2gpOwogCiAgICAgLy8gV2ViQ29y
ZTo6VmlzaXRlZExpbmtTdHJhdGVneQogICAgIHZpcnR1YWwgYm9vbCBpc0xpbmtWaXNpdGVkKFdl
YkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpMaW5rSGFzaCwgY29uc3QgV2ViQ29yZTo6S1VSTCYgYmFz
ZVVSTCwgY29uc3QgV1RGOjpBdG9taWNTdHJpbmcmIGF0dHJpYnV0ZVVSTCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMu
Y3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLmNwcAppbmRleCA3NWEwM2UyMTlmYWNlNDM0Mzc3M2RlOTE5ZWIyZmJlZTgwZGRkMGMxLi45
MThiYjE3MDdjN2I4YzkwNTE5OTU5M2U1ZWJjMWMxODZmMDAyZTMxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2ll
cy5jcHAKQEAgLTEyOCw2ICsxMjgsMTcgQEAgdm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6Omdl
dFBsdWdpbkluZm8oY29uc3QgV2ViQ29yZTo6UGFnZSosIFZlY3RvcjxXZWJDb3JlOjoKICAgICB9
CiB9CiAKK2Jvb2wgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjppc0F1dG9TdGFydE9yaWdpbihQYWdl
KiwgUGx1Z0luT3JpZ2luSGFzaCkKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50LgorICAgIHJl
dHVybiBmYWxzZTsKK30KKwordm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmFkZEF1dG9TdGFy
dE9yaWdpbihQYWdlKiwgUGx1Z0luT3JpZ2luSGFzaCkKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVt
ZW50LgorfQorCiBib29sIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6aXNMaW5rVmlzaXRlZChQYWdl
KiBwYWdlLCBMaW5rSGFzaCBoYXNoLCBjb25zdCBLVVJMJiwgY29uc3QgQXRvbWljU3RyaW5nJikK
IHsKICAgICByZXR1cm4gcGFnZS0+Z3JvdXAoKS5pc0xpbmtWaXNpdGVkKGhhc2gpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuaAppbmRleCA5Nzc3Yjg0ODAzYmU4ZjYxYjc1N2I3MDg5OWUwYTNlOWM3MWIwMTNkLi5m
ZjM3MTc4Zjk1ZDVkZDg2NjY5YTQ2Mzk1OTY2OGQ3NmNiNTBkZGM3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMu
aApAQCAtNTcsNiArNTcsOCBAQCBwcml2YXRlOgogICAgIC8vIFdlYkNvcmU6OlBsdWdpblN0cmF0
ZWd5CiAgICAgdmlydHVhbCB2b2lkIHJlZnJlc2hQbHVnaW5zKCk7CiAgICAgdmlydHVhbCB2b2lk
IGdldFBsdWdpbkluZm8oY29uc3QgV2ViQ29yZTo6UGFnZSosIFZlY3RvcjxXZWJDb3JlOjpQbHVn
aW5JbmZvPiYpOworICAgIHZpcnR1YWwgYm9vbCBpc0F1dG9TdGFydE9yaWdpbihXZWJDb3JlOjpQ
YWdlKiwgV2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFzaCk7CisgICAgdmlydHVhbCB2b2lkIGFkZEF1
dG9TdGFydE9yaWdpbihXZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFzaCk7
CiAKICAgICAvLyBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5CiAgICAgdmlydHVhbCBib29s
IGlzTGlua1Zpc2l0ZWQoV2ViQ29yZTo6UGFnZSosIFdlYkNvcmU6OkxpbmtIYXNoLCBjb25zdCBX
ZWJDb3JlOjpLVVJMJiBiYXNlVVJMLCBjb25zdCBXVEY6OkF0b21pY1N0cmluZyYgYXR0cmlidXRl
VVJMKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvUGxh
dGZvcm1TdHJhdGVnaWVzV2luQ0UuY3BwIGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3Vw
cG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5jcHAKaW5kZXggNDI1YjBmM2E4MmIzMzdhYThh
MzkzODljMzljOThkZWY5NjdmMjFkNi4uNmE3Y2VmZGI1ZjkyNTBhMjI2OGQyNzU5NzMwZTJmNmNh
NDZmOGY4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9Q
bGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJD
b3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5jcHAKQEAgLTExNSw2ICsxMTUsMTcg
QEAgdm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRTo6Z2V0UGx1Z2luSW5mbyhjb25zdCBQYWdl
KiwgVmVjdG9yPFBsdWdpbkluZm8+JiBvdXQKICAgICB9CiB9CiAKK2Jvb2wgUGxhdGZvcm1TdHJh
dGVnaWVzV2luQ0U6OmlzQXV0b1N0YXJ0T3JpZ2luKFBhZ2UqLCBQbHVnSW5PcmlnaW5IYXNoKQor
eworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lk
IFBsYXRmb3JtU3RyYXRlZ2llc1dpbkNFOjphZGRBdXRvU3RhcnRPcmlnaW4oUGFnZSosIFBsdWdJ
bk9yaWdpbkhhc2gpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudC4KK30KKwogYm9vbCBQbGF0
Zm9ybVN0cmF0ZWdpZXNXaW5DRTo6aXNMaW5rVmlzaXRlZChQYWdlKiBwYWdlLCBMaW5rSGFzaCBo
YXNoLCBjb25zdCBLVVJMJiwgY29uc3QgQXRvbWljU3RyaW5nJikKIHsKICAgICByZXR1cm4gcGFn
ZS0+Z3JvdXAoKS5pc0xpbmtWaXNpdGVkKGhhc2gpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC93aW5jZS9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5oIGIvU291cmNl
L1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5oCmlu
ZGV4IDJjZTQ4MjAzYzY4YzVkOTlkNjNkODVkNTk2MzNiY2E4ODgxZGUzMTEuLjJjZmFiM2Q1Yjkx
ZGY0NmU4M2U4ZjQwY2Y1ZTIwMTZkZDUyYjRjN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
d2luY2UvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNFLmgK
QEAgLTUzLDYgKzUzLDggQEAgcHJpdmF0ZToKICAgICAvLyBXZWJDb3JlOjpQbHVnaW5TdHJhdGVn
eQogICAgIHZpcnR1YWwgdm9pZCByZWZyZXNoUGx1Z2lucygpOwogICAgIHZpcnR1YWwgdm9pZCBn
ZXRQbHVnaW5JbmZvKGNvbnN0IFdlYkNvcmU6OlBhZ2UqLCBWZWN0b3I8V2ViQ29yZTo6UGx1Z2lu
SW5mbz4mKTsKKyAgICB2aXJ0dWFsIGJvb2wgaXNBdXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6UGFn
ZSosIFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhhc2gpOworICAgIHZpcnR1YWwgdm9pZCBhZGRBdXRv
U3RhcnRPcmlnaW4oV2ViQ29yZTo6UGFnZSosIFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhhc2gpOwog
CiAgICAgLy8gV2ViQ29yZTo6VmlzaXRlZExpbmtTdHJhdGVneQogICAgIHZpcnR1YWwgYm9vbCBp
c0xpbmtWaXNpdGVkKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpMaW5rSGFzaCwgY29uc3QgV2Vi
Q29yZTo6S1VSTCYsIGNvbnN0IFdURjo6QXRvbWljU3RyaW5nJik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0
CmluZGV4IDAwMzM5NmE2NTdmZDQ1YjhiZTJjODI1MGUwOTJjZTJkM2Y2ZmQyMjAuLjFkZjYxODcx
MjViOGJmMzcxMjExZmI3NWMzOTk5ZGFmZmQ2Nzk4MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0CkBA
IC0zNjIsNiArMzYyLDcgQEAgU0VUKFdlYktpdDJfU09VUkNFUwogICAgIFVJUHJvY2Vzcy9Ob3Rp
ZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5jcHAKICAgICBVSVByb2Nlc3Mv
Tm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25Qcm92aWRlci5jcHAKIAorICAgIFVJUHJvY2Vz
cy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcAogICAgIFVJUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpbkluZm9TdG9yZS5jcHAKICAgICBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9j
ZXNzTWFuYWdlci5jcHAKICAgICBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHku
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291
cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBhYjUyM2VmM2YzYmIzN2VlMjU0
NzliMmUxYTVmMGQ1YzgwNTM0NGExLi4zMmE3NjE5OWM2Y2VlYzZjMGZhYmQyNmRkYWYyZmM5ZWY5
NWI0YjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCisr
KyBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTQyOCw2ICs0MjgsNyBA
QCB3ZWJraXQyX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05Q
UmVtb3RlT2JqZWN0TWFwLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QVmFy
aWFudERhdGEuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUFZhcmlhbnRE
YXRhLmggXAorCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFRh
YmxlLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdpbk1vZHVsZUluZm8u
Y3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnaW5Nb2R1bGVJbmZvLmgg
XAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuY3BwIFwKQEAgLTgxNCw2ICs4MTUsOCBAQCB3ZWJraXQyX3NvdXJjZXMgKz0gXAog
CVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvblBy
b3ZpZGVyLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2Vi
Tm90aWZpY2F0aW9uUHJvdmlkZXIuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VD
bGllbnQuaCBcCisJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z0luQXV0b1N0
YXJ0UHJvdmlkZXIuY3BwIFwKKwlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVn
SW5BdXRvU3RhcnRQcm92aWRlci5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5JbmZvU3RvcmUuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5JbmZvU3RvcmUuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luUHJvY2Vzc01hbmFnZXIuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFRhYmxlLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRUYWJsZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkNDE3OTYxMTQ3
ZDI1YjBmYzZhNTRmZWZhNmI3NWRiZjk2YTIwNDEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRUYWJsZS5oCkBAIC0wLDAgKzEs
MzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisKKyNpZm5kZWYgUGx1Z0luQXV0b1N0YXJ0VGFibGVfaAorI2Rl
ZmluZSBQbHVnSW5BdXRvU3RhcnRUYWJsZV9oCisKKyNpbmNsdWRlIDxXZWJDb3JlL1BsdWdJbk9y
aWdpbkhhc2guaD4KKyNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgorCituYW1lc3BhY2UgV2ViS2l0
IHsKKwordHlwZWRlZiBIYXNoU2V0PFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhhc2g+IFBsdWdJbkF1
dG9TdGFydFRhYmxlOworCit9CisKKyNlbmRpZiAvKiBQbHVnSW5BdXRvU3RhcnRUYWJsZV9oICov
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpIGIvU291cmNlL1dlYktpdDIv
VGFyZ2V0LnByaQppbmRleCAwOThiNWI5NTQzZjVmZGZiOWI4YTkzMWExMjgyNzkxZTZhOTc1Njkx
Li5iOGYzNTA1Njc5OGJhNjM5YzEwNDUxZWUwZTYyNTg2MzEyZGU5MGNjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkK
QEAgLTE0Miw2ICsxNDIsNyBAQCBIRUFERVJTICs9IFwKICAgICBTaGFyZWQvUGx1Z2lucy9OUE9i
amVjdE1lc3NhZ2VSZWNlaXZlci5oIFwKICAgICBTaGFyZWQvUGx1Z2lucy9OUE9iamVjdFByb3h5
LmggXAogICAgIFNoYXJlZC9QbHVnaW5zL05QVmFyaWFudERhdGEuaCBcCisgICAgU2hhcmVkL1Bs
dWdpbnMvUGx1Z0luQXV0b1N0YXJ0VGFibGUuaCBcCiAgICAgU2hhcmVkL1BsdWdpbnMvUGx1Z2lu
TW9kdWxlSW5mby5oIFwKICAgICBTaGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmggXAogICAgIFNoYXJlZC9QbHVnaW5zL1BsdWdpblF1aXJrcy5oIFwKQEAgLTIy
Nyw2ICsyMjgsNyBAQCBIRUFERVJTICs9IFwKICAgICBVSVByb2Nlc3MvUGFnZUNsaWVudC5oIFwK
ICAgICBVSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJvbGxlci5oIFwKICAgICBVSVByb2Nlc3Mv
UGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudC5oIFwKKyAgICBVSVByb2Nlc3MvUGx1Z2lucy9Q
bHVnSW5BdXRvU3RhcnRQcm92aWRlci5oIFwKICAgICBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5J
bmZvU3RvcmUuaCBcCiAgICAgVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5Lmgg
XAogICAgIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmggXApAQCAtNTgz
LDYgKzU4NSw3IEBAIFNPVVJDRVMgKz0gXAogICAgIFVJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dl
Yk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5jcHAgXAogICAgIFVJUHJvY2Vzcy9Ob3RpZmljYXRp
b25zL1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmNwcCBcCiAgICAgVUlQcm9jZXNzL1BhZ2VWaWV3
cG9ydENvbnRyb2xsZXIuY3BwIFwKKyAgICBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRvU3Rh
cnRQcm92aWRlci5jcHAgXAogICAgIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5j
cHAgXAogICAgIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAgXAogICAg
IFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmNwcCBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRQcm92aWRl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRQ
cm92aWRlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzg3MDZhYzY3ZmRmMDE2Mjk5YmIwNTVlMTMyODczOGI2
NDEyM2I0OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVn
aW5zL1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcApAQCAtMCwwICsxLDQ5IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBsdWdJbkF1dG9TdGFydFByb3Zp
ZGVyLmgiCisKKyNpbmNsdWRlICJXZWJDb250ZXh0LmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzc01l
c3NhZ2VzLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0
IHsKKworUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXI6OlBsdWdJbkF1dG9TdGFydFByb3ZpZGVyKFdl
YkNvbnRleHQqIGNvbnRleHQpCisgICAgOiBtX2NvbnRleHQoY29udGV4dCkKK3sKK30KKwordm9p
ZCBQbHVnSW5BdXRvU3RhcnRQcm92aWRlcjo6YWRkQXV0b1N0YXJ0T3JpZ2luKFBsdWdJbk9yaWdp
bkhhc2ggaGFzaCkKK3sKKyAgICBpZiAobV9hdXRvU3RhcnRUYWJsZS5jb250YWlucyhoYXNoKSkK
KyAgICAgICAgcmV0dXJuOworICAgIG1fYXV0b1N0YXJ0VGFibGUuYWRkKGhhc2gpOworICAgIG1f
Y29udGV4dC0+c2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpQbHVnSW5B
dXRvU3RhcnRPcmlnaW5DaGFuZ2VkKGhhc2gpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRv
U3RhcnRQcm92aWRlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z0lu
QXV0b1N0YXJ0UHJvdmlkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTQ4NjMyMmIzZTBiZmNmYTZhN2EwM2M0
MTkyNGQ2N2QwMzIwODEzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaApAQCAtMCwwICsxLDUyIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2lmbmRlZiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlcl9oCisjZGVmaW5lIFBs
dWdJbkF1dG9TdGFydFByb3ZpZGVyX2gKKworI2luY2x1ZGUgIlBsdWdJbkF1dG9TdGFydFRhYmxl
LmgiCisjaW5jbHVkZSA8V2ViQ29yZS9QbHVnSW5PcmlnaW5IYXNoLmg+CisjaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2Vi
S2l0IHsKKworY2xhc3MgV2ViQ29udGV4dDsKKworY2xhc3MgUGx1Z0luQXV0b1N0YXJ0UHJvdmlk
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyKTsK
K3B1YmxpYzoKKyAgICBleHBsaWNpdCBQbHVnSW5BdXRvU3RhcnRQcm92aWRlcihXZWJDb250ZXh0
Kik7CisKKyAgICB2b2lkIGFkZEF1dG9TdGFydE9yaWdpbihXZWJDb3JlOjpQbHVnSW5PcmlnaW5I
YXNoKTsKKworcHJpdmF0ZToKKyAgICBXZWJDb250ZXh0KiBtX2NvbnRleHQ7CisgICAgUGx1Z0lu
QXV0b1N0YXJ0VGFibGUgbV9hdXRvU3RhcnRUYWJsZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YktpdAorCisjZW5kaWYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXJfaCAqLwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCmluZGV4IDNmODE4ZDFjMThiNTM4NjBjZjg3NDJk
NDRjOTljMzgwNzdhYjFlODEuLjliMjJjYTNjN2ZkOWYwZmZjNDc5N2MxMGE2MDg2Mjk2OTIyMzhk
ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKQEAgLTEyMCw2ICsx
MjAsNyBAQCBXZWJDb250ZXh0OjpXZWJDb250ZXh0KFByb2Nlc3NNb2RlbCBwcm9jZXNzTW9kZWws
IGNvbnN0IFN0cmluZyYgaW5qZWN0ZWRCdW5kbGVQYQogICAgICwgbV9kZWZhdWx0UGFnZUdyb3Vw
KFdlYlBhZ2VHcm91cDo6Y3JlYXRlKCkpCiAgICAgLCBtX2luamVjdGVkQnVuZGxlUGF0aChpbmpl
Y3RlZEJ1bmRsZVBhdGgpCiAgICAgLCBtX3Zpc2l0ZWRMaW5rUHJvdmlkZXIodGhpcykKKyAgICAs
IG1fcGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIodGhpcykKICAgICAsIG1fYWx3YXlzVXNlc0NvbXBs
ZXhUZXh0Q29kZVBhdGgoZmFsc2UpCiAgICAgLCBtX3Nob3VsZFVzZUZvbnRTbW9vdGhpbmcodHJ1
ZSkKICAgICAsIG1fY2FjaGVNb2RlbChDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIpCkBAIC0xMDI1
LDQgKzEwMjYsOSBAQCB2b2lkIFdlYkNvbnRleHQ6OnNldEphdmFTY3JpcHRHYXJiYWdlQ29sbGVj
dG9yVGltZXJFbmFibGVkKGJvb2wgZmxhZykKICAgICBzZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2Fn
ZXM6OldlYlByb2Nlc3M6OlNldEphdmFTY3JpcHRHYXJiYWdlQ29sbGVjdG9yVGltZXJFbmFibGVk
KGZsYWcpKTsKIH0KIAordm9pZCBXZWJDb250ZXh0OjphZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW5I
YXNoKFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhhc2ggaGFzaCkKK3sKKyAgICBtX3BsdWdJbkF1dG9T
dGFydFByb3ZpZGVyLmFkZEF1dG9TdGFydE9yaWdpbihoYXNoKTsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4
dC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAppbmRleCAyY2Y3YmI1
MDdjZTBjZWIwMmExYWE1OTExNGE2ODhmMTc4MDM0OTFkLi5hMzZjYThkZjg1OTNiMjQ4YTkyNDZm
N2I5YjQxODM2ZTIxY2M5YTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgK
QEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJHZW5lcmljQ2FsbGJhY2suaCIKICNpbmNsdWRl
ICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXJNYXAuaCIKKyNp
bmNsdWRlICJQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5oIgogI2luY2x1ZGUgIlBsdWdpbkluZm9T
dG9yZS5oIgogI2luY2x1ZGUgIlByb2Nlc3NNb2RlbC5oIgogI2luY2x1ZGUgIlZpc2l0ZWRMaW5r
UHJvdmlkZXIuaCIKQEAgLTM5LDYgKzQwLDcgQEAKICNpbmNsdWRlICJXZWJIaXN0b3J5Q2xpZW50
LmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9MaW5r
SGFzaC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGx1Z0luT3JpZ2luSGFzaC5oPgogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgpAQCAtMzEwLDYgKzMxMiw4IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZv
aWQgcmVnaXN0ZXJPY2NsdXNpb25Ob3RpZmljYXRpb25IYW5kbGVycygpOwogI2VuZGlmCiAKKyAg
ICB2b2lkIGFkZFBsdWdJbkF1dG9TdGFydE9yaWdpbkhhc2goV2ViQ29yZTo6UGx1Z0luT3JpZ2lu
SGFzaCk7CisKICAgICBQcm9jZXNzTW9kZWwgbV9wcm9jZXNzTW9kZWw7CiAgICAgCiAgICAgVmVj
dG9yPFJlZlB0cjxXZWJQcm9jZXNzUHJveHk+ID4gbV9wcm9jZXNzZXM7CkBAIC0zMjksNiArMzMz
LDcgQEAgcHJpdmF0ZToKICAgICBQbHVnaW5JbmZvU3RvcmUgbV9wbHVnaW5JbmZvU3RvcmU7CiAj
ZW5kaWYKICAgICBWaXNpdGVkTGlua1Byb3ZpZGVyIG1fdmlzaXRlZExpbmtQcm92aWRlcjsKKyAg
ICBQbHVnSW5BdXRvU3RhcnRQcm92aWRlciBtX3BsdWdJbkF1dG9TdGFydFByb3ZpZGVyOwogICAg
ICAgICAKICAgICBIYXNoU2V0PFN0cmluZz4gbV9zY2hlbWVzVG9SZWdpc3RlckFzRW1wdHlEb2N1
bWVudDsKICAgICBIYXNoU2V0PFN0cmluZz4gbV9zY2hlbWVzVG9SZWdpc3RlckFzU2VjdXJlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQubWVzc2FnZXMu
aW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5tZXNzYWdlcy5pbgppbmRl
eCAyNjY0YTVmNGZmZTY3ODFkNWRhZGEzYTQyOGMxZjdlOTZlNjFhOWU0Li5mNjI0OWIzMDRmZDU4
MDZjZjcxNGQ4MmVmN2ZkMmNkNDI5YTQ5N2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViQ29udGV4dC5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViQ29udGV4dC5tZXNzYWdlcy5pbgpAQCAtNTEsNCArNTEsNyBAQCBtZXNzYWdlcyAt
PiBXZWJDb250ZXh0IHsKICAgICAvLyBhbnkgc3luY2hyb25vdXMgbWVzc2FnZXMsIGFuZCBzaG91
bGQgYmUgcmVtb3ZlZCB3aGVuIDxyZGFyOi8vcHJvYmxlbS84Nzc1MTE1PiBpcyBmaXhlZC4KICAg
ICBEdW1teSgpIC0+IChib29sIGR1bW15UmV0dXJuKQogI2VuZGlmCisKKyAgICAjIFBsdWctaW4g
bWVzc2FnZXMuCisgICAgdm9pZCBBZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW5IYXNoKHVpbnQ2NF90
IGhhc2gpCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggNzZlMmQyYTY3YjY5YjM3YTgzNTk0MGY2YzUyMmMxMmI5MWU2YTRiOS4u
NjZmMWY3MjdhMDA2ZGI4ZjlmNzYwMDNmZmM3ZDdhNWE5MmUzNzIyNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzIxLDYgKzMy
MSw5IEBACiAJCTMxQTJFQzU2MTQ4OTlDMDkwMDgxMEQ3MSAvKiBOb3RpZmljYXRpb25QZXJtaXNz
aW9uUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMzFBMkVDNTMxNDg5OTgyNTAwODEwRDcxIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0LmggKi87IH07CiAJCTMxQTJFQzc0MTQ4RDU5Q0EwMDgxMEQ3MSAvKiBXS05vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMUEyRUM3MjE0OEQ1OUJCMDA4MTBENzEgLyogV0tOb3RpZmljYXRpb25QZXJt
aXNzaW9uUmVxdWVzdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTMxQTJFQzc3MTQ4RDY2MkUwMDgxMEQ3MSAvKiBXS05vdGlmaWNhdGlvblBlcm1p
c3Npb25SZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDMxQTJFQzc1MTQ4RDY1QkIwMDgxMEQ3MSAvKiBXS05vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0LmNwcCAqLzsgfTsKKwkJMzFBNjdFMEMxNjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJ
bkF1dG9TdGFydFByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDMxQTY3RTBBMTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQ
cm92aWRlci5jcHAgKi87IH07CisJCTMxQTY3RTBEMTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5B
dXRvU3RhcnRQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzFBNjdFMEIxNjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFByb3Zp
ZGVyLmggKi87IH07CisJCTMxQTY3RTEyMTY1QjkxRUMwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3Rh
cnRUYWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MzFBNjdFMTAxNjVCOTFFQzAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFRhYmxlLmggKi87IH07
CiAJCTMxQkE5MjREMTQ4ODMxMjYwMDYyRURCNSAvKiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDMxQkE5MjQ4MTQ4ODMwODEwMDYyRURCNSAvKiBXZWJOb3RpZmljYXRpb25NYW5hZ2Vy
TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJMzFCQTkyNEUxNDg4MzEyNjAwNjJFREI1IC8q
IFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFCQTkyNDkxNDg4MzA4MTAwNjJFREI1IC8qIFdlYk5v
dGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlcy5oICovOyB9OwogCQkzMUVBMjVEMjEzNEY3OEMwMDA1
QjE0NTIgLyogTmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRUEyNUQwMTM0Rjc4QjIwMDVCMTQ1MiAvKiBOYXRp
dmVXZWJNb3VzZUV2ZW50TWFjLm1tICovOyB9OwpAQCAtMTU0NSw2ICsxNTQ4LDkgQEAKIAkJMzFB
MkVDNTQxNDg5OTgyRTAwODEwRDcxIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5vdGlmaWNhdGlvblBlcm1p
c3Npb25SZXF1ZXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFBMkVDNzIx
NDhENTlCQjAwODEwRDcxIC8qIFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkzMUEyRUM3NTE0OEQ2NUJCMDA4MTBENzEgLyogV0tOb3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBXS05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMzFBNjdFMEExNjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJbkF1dG9T
dGFydFByb3ZpZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBs
dWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MzFBNjdFMEIxNjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxQTY3RTEwMTY1QjkxRUMwMDZDQkE2NiAv
KiBQbHVnSW5BdXRvU3RhcnRUYWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBQbHVnSW5BdXRvU3RhcnRUYWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkz
MUJBOTI0ODE0ODgzMDgxMDA2MkVEQjUgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VS
ZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJOb3Rp
ZmljYXRpb25NYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMzFCQTkyNDkxNDg4MzA4MTAwNjJFREI1IC8qIFdlYk5vdGlmaWNhdGlvbk1hbmFn
ZXJNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJOb3RpZmlj
YXRpb25NYW5hZ2VyTWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFF
QTI1RDAxMzRGNzhCMjAwNUIxNDUyIC8qIE5hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBOYXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMjkwNSw2ICsyOTExLDcgQEAKIAkJCQkxQTFGQTI1MTEyN0EwRTRG
MDA1MEU3MDkgLyogTlBSZW1vdGVPYmplY3RNYXAuaCAqLywKIAkJCQkxQTJEODRBMjEyN0Y2QUQx
MDAxRUI5NjIgLyogTlBWYXJpYW50RGF0YS5jcHAgKi8sCiAJCQkJMUEyRDg0QTExMjdGNkFEMTAw
MUVCOTYyIC8qIE5QVmFyaWFudERhdGEuaCAqLywKKwkJCQkzMUE2N0UxMDE2NUI5MUVDMDA2Q0JB
NjYgLyogUGx1Z0luQXV0b1N0YXJ0VGFibGUuaCAqLywKIAkJCQkxQTNENjBGRjEzQTdDQzJBMDBG
OTVENEUgLyogUGx1Z2luTW9kdWxlSW5mby5jcHAgKi8sCiAJCQkJMUEzRDYxMDAxM0E3Q0MyQTAw
Rjk1RDRFIC8qIFBsdWdpbk1vZHVsZUluZm8uaCAqLywKIAkJCQkxQTJEOTBEMTEyODFDOTY2MDAx
RUI5NjIgLyogUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgKi8sCkBAIC0yOTc0
LDYgKzI5ODEsOCBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQkx
QUVGQ0MwRDExRDAxRjQxMDA4MjE5RDMgLyogbWFjICovLAorCQkJCTMxQTY3RTBBMTY1QjJBOTkw
MDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5jcHAgKi8sCisJCQkJMzFBNjdFMEIx
NjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmggKi8sCiAJCQkJMUFF
RkNDMTExMUQwMUY5NjAwODIxOUQzIC8qIFBsdWdpbkluZm9TdG9yZS5jcHAgKi8sCiAJCQkJMUFF
RkNDMTAxMUQwMUY5NjAwODIxOUQzIC8qIFBsdWdpbkluZm9TdG9yZS5oICovLAogCQkJCTFBMEVD
NjAyMTI0QTlGMkMwMDdFRjRBNSAvKiBQbHVnaW5Qcm9jZXNzTWFuYWdlci5jcHAgKi8sCkBAIC01
MDAwLDYgKzUwMDksOCBAQAogCQkJCTI5ODRGNTg5MTY0QkEwOTUwMDRCQzBDNiAvKiBDdXN0b21Q
cm90b2NvbE1hbmFnZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGMDYwRTAxNjU0
MzE3RjAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTUxNzU5NDRCMTY1NzA4MDQwMERENzcxRCAvKiBOZXR3b3JrUmVzb3VyY2VMb2FkZXJN
ZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFBNjdFMEQxNjVCMkE5OTAwNkNCQTY2IC8q
IFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQkzMUE2N0UxMjE2
NUI5MUVDMDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0VGFibGUuaCBpbiBIZWFkZXJzICovLAog
CQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpA
QCAtNTk1NCw2ICs1OTY1LDcgQEAKIAkJCQkyOTg0RjU4ODE2NEJBMDk1MDA0QkMwQzYgLyogQ3Vz
dG9tUHJvdG9jb2xNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VSZWNl
aXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTc1OTQ0QTE2NTcwODA0MDBERDc3MUQgLyog
TmV0d29ya1Jlc291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTMxQTY3RTBDMTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAppbmRl
eCBjMDQ2NjQ0Mzk4ZjNiMWVlMWU0ODQwODFmMzYwMWMyOGExM2I4ZGE0Li5hZTkwYjM5OTQ0MjUz
ZmZjMzhiZmExMjM5NDg3NjIzMzhmYjJmYmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuY3BwCkBAIC0xNTEsNiArMTUxLDE2IEBAIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVz
OjpnZXRQbHVnaW5JbmZvKGNvbnN0IFdlYkNvcmU6OlBhZ2UqLCBWZWN0b3I8V2ViQ29yZTo6CiAj
ZW5kaWYgLy8gRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiB9CiAKK2Jvb2wgV2ViUGxhdGZv
cm1TdHJhdGVnaWVzOjppc0F1dG9TdGFydE9yaWdpbihQYWdlKiwgUGx1Z0luT3JpZ2luSGFzaCBo
YXNoKQoreworICAgIHJldHVybiBXZWJQcm9jZXNzOjpzaGFyZWQoKS5pc1BsdWdJbkF1dG9TdGFy
dE9yaWdpbihoYXNoKTsKK30KKwordm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmFkZEF1dG9T
dGFydE9yaWdpbihQYWdlKiwgUGx1Z0luT3JpZ2luSGFzaCBoYXNoKQoreworICAgIFdlYlByb2Nl
c3M6OnNoYXJlZCgpLmFkZFBsdWdJbkF1dG9TdGFydE9yaWdpbihoYXNoKTsKK30KKwogI2lmIEVO
QUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogc3RhdGljIEJsb2NraW5nUmVzcG9uc2VNYXA8VmVj
dG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+ID4mIHJlc3BvbnNlTWFwKCkKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJh
dGVnaWVzLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBs
YXRmb3JtU3RyYXRlZ2llcy5oCmluZGV4IDA0MGNmYjFhOWE2M2VlZjkwNzkxZjBmM2M1NjlkYmEy
NmIyYWYxMDMuLmY0NmM3NGRkNWI5ZjhlYTQyZDc1ODVmMmEzZDZjNDJjZDcwYjQyZjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZv
cm1TdHJhdGVnaWVzLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaApAQCAtNjcsNiArNjcsOCBAQCBwcml2YXRlOgog
ICAgIC8vIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5CiAgICAgdmlydHVhbCB2b2lkIHJlZnJlc2hQ
bHVnaW5zKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGdldFBsdWdpbkluZm8oY29uc3Qg
V2ViQ29yZTo6UGFnZSosIFZlY3RvcjxXZWJDb3JlOjpQbHVnaW5JbmZvPiYpIE9WRVJSSURFOwor
ICAgIHZpcnR1YWwgYm9vbCBpc0F1dG9TdGFydE9yaWdpbihXZWJDb3JlOjpQYWdlKiwgV2ViQ29y
ZTo6UGx1Z0luT3JpZ2luSGFzaCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIGFkZEF1dG9T
dGFydE9yaWdpbihXZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFzaCkgT1ZF
UlJJREU7CiAKICAgICAvLyBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5CiAgICAgdmlydHVh
bCBib29sIGlzTGlua1Zpc2l0ZWQoV2ViQ29yZTo6UGFnZSosIFdlYkNvcmU6OkxpbmtIYXNoLCBj
b25zdCBXZWJDb3JlOjpLVVJMJiBiYXNlVVJMLCBjb25zdCBXVEY6OkF0b21pY1N0cmluZyYgYXR0
cmlidXRlVVJMKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
Y3BwCmluZGV4IDI4YjdiZmQ3YjAyMzY2ZjM0MGYyNDcxZTA3N2MzNjkwZjJhYThiNmQuLmIyZjIw
ZGI5N2VkM2ZmNTUxMzUzZDA4NzMzZmM5NGNlNWMyNTYyNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtOTEyLDcgKzkxMiwyNSBAQCB2b2lkIFdlYlByb2Nl
c3M6OmNsZWFyUGx1Z2luU2l0ZURhdGEoY29uc3QgVmVjdG9yPFN0cmluZz4mIHBsdWdpblBhdGhz
LCBjb25zdCBWZQogICAgIGNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzc1By
b3h5OjpEaWRDbGVhclBsdWdpblNpdGVEYXRhKGNhbGxiYWNrSUQpLCAwKTsKIH0KICNlbmRpZgot
ICAgIAorCitib29sIFdlYlByb2Nlc3M6OmlzUGx1Z0luQXV0b1N0YXJ0T3JpZ2luKFBsdWdJbk9y
aWdpbkhhc2ggaGFzaCkKK3sKKyAgICByZXR1cm4gbV9hdXRvU3RhcnRUYWJsZS5jb250YWlucyho
YXNoKTsKK30KKwordm9pZCBXZWJQcm9jZXNzOjphZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW4oUGx1
Z0luT3JpZ2luSGFzaCBoYXNoKQoreworICAgIGlmIChpc1BsdWdJbkF1dG9TdGFydE9yaWdpbiho
YXNoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgY29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2Vz
OjpXZWJDb250ZXh0OjpBZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW5IYXNoKGhhc2gpLCAwKTsKK30K
Kwordm9pZCBXZWJQcm9jZXNzOjpwbHVnSW5BdXRvU3RhcnRPcmlnaW5DaGFuZ2VkKFBsdWdJbk9y
aWdpbkhhc2ggaGFzaCkKK3sKKyAgICBtX2F1dG9TdGFydFRhYmxlLmFkZChoYXNoKTsKK30KKwog
c3RhdGljIHZvaWQgZnJvbUNvdW50ZWRTZXRUb0hhc2hNYXAoVHlwZUNvdW50U2V0KiBjb3VudGVk
U2V0LCBIYXNoTWFwPFN0cmluZywgdWludDY0X3Q+JiBtYXApCiB7CiAgICAgVHlwZUNvdW50U2V0
Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBjb3VudGVkU2V0LT5lbmQoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggODJlNmNjOGYyYWIxZThlMDNkOGNlNGE0OTI4MTRm
Mzk3NzY3ODk1ZC4uNDNjNzBlMzY2ODk1YWMyMjQ4MzlmMzA3YjM3NzRiZjI0ZDNlNTA5ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNp
bmNsdWRlICJEcmF3aW5nQXJlYS5oIgogI2luY2x1ZGUgIkV2ZW50RGlzcGF0Y2hlci5oIgogI2lu
Y2x1ZGUgIk1lc3NhZ2VSZWNlaXZlck1hcC5oIgorI2luY2x1ZGUgIlBsdWdJbkF1dG9TdGFydFRh
YmxlLmgiCiAjaW5jbHVkZSAiUGx1Z2luSW5mb1N0b3JlLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VD
YWNoZXNUb0NsZWFyLmgiCiAjaW5jbHVkZSAiU2FuZGJveEV4dGVuc2lvbi5oIgpAQCAtNDIsNiAr
NDMsNyBAQAogI2luY2x1ZGUgIldlYkljb25EYXRhYmFzZVByb3h5LmgiCiAjaW5jbHVkZSAiV2Vi
UGFnZUdyb3VwUHJveHkuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0xpbmtIYXNoLmg+CisjaW5jbHVk
ZSA8V2ViQ29yZS9QbHVnSW5PcmlnaW5IYXNoLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CkBAIC0x
NTIsNiArMTU0LDkgQEAgcHVibGljOgogICAgIHZvaWQgYWRkVmlzaXRlZExpbmsoV2ViQ29yZTo6
TGlua0hhc2gpOwogICAgIGJvb2wgaXNMaW5rVmlzaXRlZChXZWJDb3JlOjpMaW5rSGFzaCkgY29u
c3Q7CiAKKyAgICBib29sIGlzUGx1Z0luQXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6OlBsdWdJbk9y
aWdpbkhhc2gpOworICAgIHZvaWQgYWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6OlBs
dWdJbk9yaWdpbkhhc2gpOworCiAgICAgYm9vbCBmdWxsS2V5Ym9hcmRBY2Nlc3NFbmFibGVkKCkg
Y29uc3QgeyByZXR1cm4gbV9mdWxsS2V5Ym9hcmRBY2Nlc3NFbmFibGVkOyB9CiAKICAgICBXZWJG
cmFtZSogd2ViRnJhbWUodWludDY0X3QpIGNvbnN0OwpAQCAtMjM2LDYgKzI0MSw4IEBAIHByaXZh
dGU6CiAgICAgdm9pZCB2aXNpdGVkTGlua1N0YXRlQ2hhbmdlZChjb25zdCBWZWN0b3I8V2ViQ29y
ZTo6TGlua0hhc2g+JiBsaW5rSGFzaGVzKTsKICAgICB2b2lkIGFsbFZpc2l0ZWRMaW5rU3RhdGVD
aGFuZ2VkKCk7CiAKKyAgICB2b2lkIHBsdWdJbkF1dG9TdGFydE9yaWdpbkNoYW5nZWQoV2ViQ29y
ZTo6UGx1Z0luT3JpZ2luSGFzaCk7CisKICAgICB2b2lkIHBsYXRmb3JtU2V0Q2FjaGVNb2RlbChD
YWNoZU1vZGVsKTsKICAgICBzdGF0aWMgdm9pZCBjYWxjdWxhdGVDYWNoZVNpemVzKENhY2hlTW9k
ZWwgY2FjaGVNb2RlbCwgdWludDY0X3QgbWVtb3J5U2l6ZSwgdWludDY0X3QgZGlza0ZyZWVTaXpl
LAogICAgICAgICB1bnNpZ25lZCYgY2FjaGVUb3RhbENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVN
aW5EZWFkQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1heERlYWRDYXBhY2l0eSwgZG91YmxlJiBk
ZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsLApAQCAtMzI4LDYgKzMzNSw4IEBAIHByaXZh
dGU6CiAgICAgVmlzaXRlZExpbmtUYWJsZSBtX3Zpc2l0ZWRMaW5rVGFibGU7CiAgICAgYm9vbCBt
X3Nob3VsZFRyYWNrVmlzaXRlZExpbmtzOwogCisgICAgUGx1Z0luQXV0b1N0YXJ0VGFibGUgbV9h
dXRvU3RhcnRUYWJsZTsKKwogICAgIGJvb2wgbV9oYXNTZXRDYWNoZU1vZGVsOwogICAgIENhY2hl
TW9kZWwgbV9jYWNoZU1vZGVsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggZWRjYWQzNGZmMzdjZWE3YWQxMzVkNmQyNjQ0MmUx
ZGVjNDg4ZDMwNi4uYTYwZmYzM2UyY2Y0Y2RmYzBmNmY3ZTNhMWFiNDViZjY3MGVlOGFjMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpA
QCAtNjMsNiArNjMsNyBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzIHsKICAgICBHZXRTaXRlc1dp
dGhQbHVnaW5EYXRhKFZlY3RvcjxXVEY6OlN0cmluZz4gcGx1Z2luUGF0aHMsIHVpbnQ2NF90IGNh
bGxiYWNrSUQpCiAgICAgQ2xlYXJQbHVnaW5TaXRlRGF0YShWZWN0b3I8V1RGOjpTdHJpbmc+IHBs
dWdpblBhdGhzLCBWZWN0b3I8V1RGOjpTdHJpbmc+IHNpdGVzLCB1aW50NjRfdCBmbGFncywgdWlu
dDY0X3QgbWF4QWdlSW5TZWNvbmRzLCB1aW50NjRfdCBjYWxsYmFja0lEKQogI2VuZGlmCisgICAg
UGx1Z0luQXV0b1N0YXJ0T3JpZ2luQ2hhbmdlZCh1aW50NjRfdCBoYXNoKQogCiAjaWYgRU5BQkxF
KE5FVFdPUktfUFJPQ0VTUykKICAgICBOZXR3b3JrUHJvY2Vzc0NyYXNoZWQoKSBEaXNwYXRjaE9u
Q29ubmVjdGlvblF1ZXVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52
Y3Byb2ogYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKaW5kZXggMDU3Y2JmM2Ri
MzZmZTgzZGNiNTM5NjhkMDAwYTZlZTc0OTE5YzU5Yi4uOTFjZGQzOGZhYWQ1YTc3ZmUzOTQwNTQz
MDA2ZTZjNTFmNzgxNDA3NiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIu
dmNwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagpAQCAtMTU1OCw2
ICsxNTU4LDEwIEBACiAJCQkJTmFtZT0iUGx1Z2lucyIKIAkJCQk+CiAJCQkJPEZpbGUKKwkJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxTaGFyZWRcUGx1Z2luc1xQbHVnSW5BdXRvU3RhcnRUYWJsZS5oIgor
CQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cU2hh
cmVkXFBsdWdpbnNcUGx1Z2luTW9kdWxlSW5mby5jcHAiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+CkBA
IC0zODY2LDYgKzM4NzAsMTQgQEAKIAkJCQlOYW1lPSJQbHVnaW5zIgogCQkJCT4KIAkJCQk8Rmls
ZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xQbHVnaW5zXFBsdWdJbkF1dG9TdGFy
dFByb3ZpZGVyLmNwcCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQorCQkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xQbHVnaW5zXFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmgi
CisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxV
SVByb2Nlc3NcUGx1Z2luc1xQbHVnaW5JbmZvU3RvcmUuY3BwIgogCQkJCQk+CiAJCQkJPC9GaWxl
Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176318</attachid>
            <date>2012-11-27 12:12:09 -0800</date>
            <delta_ts>2012-11-27 15:59:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103206-20121127120946.patch</filename>
            <type>text/plain</type>
            <size>64984</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1ODM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmQwYzE3N2YyMjE1Y2Q3
ZWFjZGZjZDFmZDE5NDZiYTE0ZWU5ODU4MC4uOTlkMDA5MDYyMmYyMDBkYzgzMDlhYjFhYzRkZDRi
MDg3ZjU5YzdjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDEyLTExLTI3ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBLZWVwIHRyYWNrIG9mIHBsdWctaW4g
c25hcHNob3RzIGNsaWNrZWQgYnkgdXNlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjc0NjQ4
Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCZXR3
ZWVuIHRoZSBVSSBhbmQgd2ViIHByb2Nlc3NlcyB3ZSBrZWVwIHRyYWNrIG9mICJvcmlnaW4gaGFz
aGVzIiwgd2hpY2ggYXJlIGJhc2VkIG9uIGEgY29tYmluYXRpb24gb2YKKyAgICAgICAgdGhlIGJh
c2UgZG9tYWlucyBvZiB0aGUgcGFnZSdzIG1haW4gZnJhbWUgYW5kIHRoZSBwbHVnaW4uCisKKyAg
ICAgICAgQmVjYXVzZSB0aGUgYWN0dWFsIFVSTCBsb2FkZWQgZm9yIHRoZSBwbHVnaW4gbWlnaHQg
ZGlmZmVyIGZyb20gdGhlIG9uZSBvcmlnaW5hbGx5IHNwZWNpZmllZCwKKyAgICAgICAgd2Ugd2Fp
dCB1bnRpbCB0aGUgcGx1Zy1pbiBpcyBhYm91dCB0byBiZSBjcmVhdGVkIHRvIGdldCB0aGUgaGFz
aC4gVGhlIGhhc2ggaXMgY2FjaGVkLCBzbyB0aGF0IHdoZW4gdGhlCisgICAgICAgIHVzZXIgY2xp
Y2tzIG9uIHRoZSBwbHVnLWluIHNuYXBzaG90LCB0aGUgaGFzaCBjYW4gYmUgYWRkZWQgdG8gdGhl
IGxpc3Qgb2YgZG9tYWluIGhhc2hlcyB0aGF0IHNob3VsZAorICAgICAgICBhdXRvLXN0YXJ0Lgor
CisgICAgICAgICogcGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5jcHA6IEFkZGVkLiBJbnNwaXJl
ZCBieSBWaXNpdGVkTGlua0hhc2guCisgICAgICAgIChXZWJDb3JlOjpwbHVnSW5PcmlnaW5IYXNo
SW5saW5lKTogSGFzaCB0aGUgY2hhcmFjdGVyIGRhdGEuCisgICAgICAgIChXZWJDb3JlOjpwbHVn
SW5PcmlnaW5IYXNoKTogQ29uY2F0ZW5hdGUgdGhlIG9yaWdpbiBvZiB0aGUgbWFpbiBmcmFtZSdz
IGRvY3VtZW50LCBhbmQgdGhhdCBvZiB0aGUKKyAgICAgICAgcGx1Zy1pbidzIFVSTC4gVGhhdCBj
b21iaW5lZCBzdHJpbmcgaXMgd2hhdCB3ZSBoYXNoLgorICAgICAgICAqIHBsYXRmb3JtL1BsdWdJ
bk9yaWdpbkhhc2guaDogQWRkZWQuCisKKyAgICAgICAgKiBwbHVnaW5zL1BsdWdpblN0cmF0ZWd5
Lmg6CisgICAgICAgIChQbHVnaW5TdHJhdGVneSk6IEFkZCBuZXcgZnVuY3Rpb25zIHRvIHRoZSBw
bHVnLWluIHN0cmF0ZWd5LCBmb3IgY2hlY2tpbmcgd2hldGhlciBwbHVnLWlucyB3aXRoIGEKKyAg
ICAgICAgY2VydGFpbiBvcmlnaW4gaGFzaCBhcmUgbWFya2VkIGZvciBhdXRvLWxvYWQsIGFuZCBm
b3IgYWRkaW5nIGEgbmV3IG9yaWdpbiBoYXNoLgorCisgICAgICAgICogaHRtbC9IVE1MUGx1Z0lu
SW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5JbWFnZUVsZW1l
bnQ6OkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQpOiBJbml0aWFsbHkgdGhlIGhhc2ggaXMgdW5rbm93
bi4gU2V0IHRvIDAuCisgICAgICAgIE1vdmUgdGhlIGNoZWNrIGZvciB3aGV0aGVyIHRvIHNuYXBz
aG90IHRoZSBwbHVnaW4gaW50byB0aGUgbmV3IGZ1bmN0aW9uIHN1YmZyYW1lTG9hZGVyV2lsbExv
YWRQbHVnSW4uCisgICAgICAgIChXZWJDb3JlOjpIVE1MUGx1Z0luSW1hZ2VFbGVtZW50Ojp1c2Vy
RGlkQ2xpY2tTbmFwc2hvdCk6IFJlbmFtZSBzZXRQZW5kaW5nQ2xpY2tFdmVudCgpIHRvCisgICAg
ICAgIHVzZXJEaWRDbGlja1NuYXBzaG90LiBJbiBhZGRpdGlvbiB0byBob2xkaW5nIG9udG8gdGhl
IGNsaWNrIGV2ZW50IHVzZWQgdG8gYWN0aXZhdGUgdGhlIHBsdWctaW4sIHRoZQorICAgICAgICBm
dW5jdGlvbiBub3cgYWxzbyB0ZWxscyB0aGUgcGx1Z2luIHN0cmF0ZWd5IHRvIGFkZCB0aGUgb3Jp
Z2luIGhhc2ggYXMgYW4gYXV0by1zdGFydCBvcmlnaW4uCisgICAgICAgIChXZWJDb3JlOjpIVE1M
UGx1Z0luSW1hZ2VFbGVtZW50OjpzdWJmcmFtZUxvYWRlcldpbGxMb2FkUGx1Z0luKTogQ2FsY3Vs
YXRlIHRoZSBoYXNoIGJhc2VkIG9uIHRoZQorICAgICAgICBwcm92aWRlZCBVUkwsIHdoaWNoIGlz
IHRoZSBVUkwgdGhlIHBsdWctaW4gd2lsbCBsb2FkLiBFeHRlbmQgdGhlIGNoZWNrIHRoYXQgdXNl
ZCB0byBiZSBpbiB0aGUKKyAgICAgICAgY29uc3RydWN0b3IgdG8gc2VlIGlmIHRoZSBwbHVnLWlu
IHNob3VsZCBub3QgYXV0b21hdGljYWxseSBsb2FkLgorICAgICAgICAqIGh0bWwvSFRNTFBsdWdJ
bkltYWdlRWxlbWVudC5oOgorICAgICAgICAoSFRNTFBsdWdJbkltYWdlRWxlbWVudCk6IEFkZCBh
biBpdmFyIHRvIG1haW50YWluIGEgY29weSBvZiB0aGUgaGFzaC4KKworICAgICAgICAqIGxvYWRl
ci9TdWJmcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdWJmcmFtZUxvYWRlcjo6
cmVxdWVzdFBsdWdpbik6IFdoZW4gdGhlIGxvYWRlciBpcyBhYm91dCB0byBsb2FkIHRoZSBwbHVn
LWluLCBwYXNzIHRoZQorICAgICAgICBVUkwgdG8gdGhlIGVsZW1lbnQsIHNvIHRoYXQgaXQgY2Fu
IGNhbGN1bGF0ZSB0aGUgaGFzaC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTbmFwc2hv
dHRlZFBsdWdJbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTbmFwc2hvdHRlZFBsdWdJ
bjo6aGFuZGxlRXZlbnQpOiBDYWxsIHRoZSByZW5hbWVkIGZ1bmN0aW9uIHVzZXJEaWRDbGlja1Nu
YXBzaG90KCkuCisKKyAgICAgICAgQWRkIFBsdWdJbk9yaWdpbkhhc2gue2NwcCxofS4KKyAgICAg
ICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAg
ICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKwogMjAxMi0xMS0yNyAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2
aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEz
NTc4Ni4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCBjZmYwZjcyYWNlYzRhMDliYjliNjNkNDI1NzZkZmJj
MGI3NzcyM2FlLi43ZmQzZmFlOTQ1YWRlOTEzMjc2YmExOWNlMTIxY2VkMjkxNzk3NjEzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9l
ZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTEtMjcgIEpvbiBMZWUgIDxqb25s
ZWVAYXBwbGUuY29tPgorCisgICAgICAgIEtlZXAgdHJhY2sgb2YgcGx1Zy1pbiBzbmFwc2hvdHMg
Y2xpY2tlZCBieSB1c2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDMyMDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyNzQ2NDgzPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBv
cnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmNwcDogU3R1YiBpbXBsZW1lbnRhdGlvbnMuCisgICAg
ICAgIChQbGF0Zm9ybVN0cmF0ZWdpZXNFZmw6OmlzQXV0b1N0YXJ0T3JpZ2luKToKKyAgICAgICAg
KFBsYXRmb3JtU3RyYXRlZ2llc0VmbDo6YWRkQXV0b1N0YXJ0T3JpZ2luKToKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwuaDoKKyAgICAgICAgKFBsYXRmb3Jt
U3RyYXRlZ2llc0VmbCk6CisKIDIwMTItMTEtMjcgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmll
dy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMzU3
ODYuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggNzM4Zjg1M2NhYTg5YThhMWQwYWI3ZDRlZDczY2VmYzhk
N2VkZWU0ZS4uZDk3YzYwZTExYWM1MTg2MGIwMTg5NzYxOGEyMDM0MzNmYmMzMTM2ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3Rr
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTExLTI3ICBKb24gTGVlICA8am9ubGVl
QGFwcGxlLmNvbT4KKworICAgICAgICBLZWVwIHRyYWNrIG9mIHBsdWctaW4gc25hcHNob3RzIGNs
aWNrZWQgYnkgdXNlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTAzMjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjc0NjQ4Mz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L1BsYXRmb3JtU3RyYXRlZ2llc0d0ay5jcHA6IFN0dWIgaW1wbGVtZW50YXRpb25zLgorICAgICAg
ICAoUGxhdGZvcm1TdHJhdGVnaWVzR3RrOjppc0F1dG9TdGFydE9yaWdpbik6CisgICAgICAgIChQ
bGF0Zm9ybVN0cmF0ZWdpZXNHdGs6OmFkZEF1dG9TdGFydE9yaWdpbik6CisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmg6CisgICAgICAgIChQbGF0Zm9ybVN0
cmF0ZWdpZXNHdGspOgorCiAyMDEyLTExLTI3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcu
Ym90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTM1Nzg2
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCmluZGV4IDkxMzFiZTAyMmI2ODcyNzNjMjA4M2JlNTgxY2NiMDQwMTNi
OWZkZWUuLjI4NDQzZjIxYjcwMDQxNWFkODc5NWRmZDEwYThiY2Q2ZDQxMWE2OGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMS0yNyAgSm9uIExlZSAgPGpvbmxlZUBh
cHBsZS5jb20+CisKKyAgICAgICAgS2VlcCB0cmFjayBvZiBwbHVnLWluIHNuYXBzaG90cyBjbGlj
a2VkIGJ5IHVzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwMzIwNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTI3NDY0ODM+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9X
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaDoKKyAgICAgICAgKFdlYlBsYXRmb3JtU3RyYXRlZ2llcyk6
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tOiBTdHVi
IGltcGxlbWVudGF0aW9ucy4KKyAgICAgICAgKFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6aXNBdXRv
U3RhcnRPcmlnaW4pOgorICAgICAgICAoV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjphZGRBdXRvU3Rh
cnRPcmlnaW4pOgorCiAyMDEyLTExLTI3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90
QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTM1Nzg2Lgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0
L0NoYW5nZUxvZwppbmRleCAxZjcwZTIxYTlhZjRhMTc3ZmVjNDRkMjAzYzNkN2NkMzRkZGExN2Uy
Li5jMzQ5NDViNjgwM2E4ZjZhNGNhODcwOWY2ZTYyYWU0ODgxZWU4Y2M0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTExLTI3ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNv
bT4KKworICAgICAgICBLZWVwIHRyYWNrIG9mIHBsdWctaW4gc25hcHNob3RzIGNsaWNrZWQgYnkg
dXNlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAz
MjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjc0NjQ4Mz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1BsYXRmb3Jt
U3RyYXRlZ2llc1F0LmNwcDogU3R1YiBpbXBsZW1lbnRhdGlvbnMuCisgICAgICAgIChQbGF0Zm9y
bVN0cmF0ZWdpZXNRdDo6aXNBdXRvU3RhcnRPcmlnaW4pOgorICAgICAgICAoUGxhdGZvcm1TdHJh
dGVnaWVzUXQ6OmFkZEF1dG9TdGFydE9yaWdpbik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
UGxhdGZvcm1TdHJhdGVnaWVzUXQuaDoKKyAgICAgICAgKFBsYXRmb3JtU3RyYXRlZ2llc1F0KToK
KwogMjAxMi0xMS0yNyAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEzNTc4Ni4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxv
ZwppbmRleCAwNjE0MDliZDg4ZTI3ZGJmM2RhNGIzNGNhM2RjNDY0NDMxYjE1YjUwLi44ZDg3OTM5
MDMzNmE5YTg0NTNiOGE5M2FmMWMxMGRkZWVhOWY4NjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTItMTEtMjcgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCisg
ICAgICAgIEtlZXAgdHJhY2sgb2YgcGx1Zy1pbiBzbmFwc2hvdHMgY2xpY2tlZCBieSB1c2VyCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyMDYKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyNzQ2NDgzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJh
dGVnaWVzLmNwcDogU3R1YiBpbXBsZW1lbnRhdGlvbnMuCisgICAgICAgIChXZWJQbGF0Zm9ybVN0
cmF0ZWdpZXM6OmlzQXV0b1N0YXJ0T3JpZ2luKToKKyAgICAgICAgKFdlYlBsYXRmb3JtU3RyYXRl
Z2llczo6YWRkQXV0b1N0YXJ0T3JpZ2luKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJQ
bGF0Zm9ybVN0cmF0ZWdpZXMuaDoKKyAgICAgICAgKFdlYlBsYXRmb3JtU3RyYXRlZ2llcyk6CisK
IDIwMTItMTEtMjcgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgog
CiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMzU3ODYuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdl
TG9nCmluZGV4IDIwNjhmMmU0N2UxOGZiNTNiNDczOWNhYTkwNzdjMzc3ZTRhNjMzNTYuLjc5OTlm
ZGY0MzA2MTEyOWNiYjExOTZjZGZhZDU2ZDY4ZDI4OTUwYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvd2luY2UvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTEtMjcgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29t
PgorCisgICAgICAgIEtlZXAgdHJhY2sgb2YgcGx1Zy1pbiBzbmFwc2hvdHMgY2xpY2tlZCBieSB1
c2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMy
MDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyNzQ2NDgzPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1T
dHJhdGVnaWVzV2luQ0UuY3BwOiBTdHViIGltcGxlbWVudGF0aW9ucy4KKyAgICAgICAgKFBsYXRm
b3JtU3RyYXRlZ2llc1dpbkNFOjppc0F1dG9TdGFydE9yaWdpbik6CisgICAgICAgIChQbGF0Zm9y
bVN0cmF0ZWdpZXNXaW5DRTo6YWRkQXV0b1N0YXJ0T3JpZ2luKToKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5oOgorICAgICAgICAoUGxhdGZvcm1TdHJh
dGVnaWVzV2luQ0UpOgorCiAyMDEyLTExLTI3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcu
Ym90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTM1Nzg2
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCmluZGV4IGEzYTU1MzZhMzJiYzhhYjdmYzQ4YjUzNDM3YTgzY2M5MzBkMjVlYjgu
LmQxYTBlOWI1MTVhZmUwY2RiYjRiZjBhZjNhMjNhNGJjZDJjNjM5ZTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAg
LTEsMyArMSw0NyBAQAorMjAxMi0xMS0yNyAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisK
KyAgICAgICAgS2VlcCB0cmFjayBvZiBwbHVnLWluIHNuYXBzaG90cyBjbGlja2VkIGJ5IHVzZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzIwNgor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTI3NDY0ODM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvUGx1Z2lucy9QbHVnSW5BdXRvU3Rh
cnRUYWJsZS5oOiBJbnNwaXJlZCBieSBWaXNpdGVkTGlua1RhYmxlLiBGb3Igbm93LCBtYWtlIHRo
ZSB0YWJsZSBhCisgICAgICAgIHNpbXBsZSBzZXQgb2YgaGFzaGVzLiBMYXRlciB3ZSBjb3VsZCBj
b252ZXJ0IHRoaXMgdG8gYSBzaGFyZWQgbWVtb3J5IHRhYmxlLgorICAgICAgICAqIFVJUHJvY2Vz
cy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcDogQWRkZWQuIENyZWF0ZSBhIHBy
b3ZpZGVyIHRoYXQgbWFuYWdlcyB0aGUgVUkgcHJvY2VzcycKKyAgICAgICAgY29weSBvZiB0aGUg
dGFibGUuCisgICAgICAgIChXZWJLaXQ6OlBsdWdJbkF1dG9TdGFydFByb3ZpZGVyOjpQbHVnSW5B
dXRvU3RhcnRQcm92aWRlcik6CisgICAgICAgIChXZWJLaXQ6OlBsdWdJbkF1dG9TdGFydFByb3Zp
ZGVyOjphZGRBdXRvU3RhcnRPcmlnaW4pOiBBZGQgdGhlIGhhc2ggaWYgbmVjZXNzYXJ5LCBhbmQg
YnJvYWRjYXN0IHRvCisgICAgICAgIGFsbCB3ZWIgcHJvY2Vzc2VzLgorICAgICAgICAqIFVJUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmg6IEFkZGVkLgorCisgICAgICAg
ICogVUlQcm9jZXNzL1dlYkNvbnRleHQubWVzc2FnZXMuaW46IENyZWF0ZSBhIG5ldyBtZXNzYWdl
IHRoYXQgYWRkcyBhIG5ldyBoYXNoLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNw
cDogQWRkIHRoZSBwbHVnLWluIGF1dG8tc3RhcnQgcHJvdmlkZXIuCisgICAgICAgIChXZWJLaXQ6
OldlYkNvbnRleHQ6OldlYkNvbnRleHQpOiBJbml0aWFsaXplIHRoZSBwcm92aWRlci4KKyAgICAg
ICAgKFdlYktpdDo6V2ViQ29udGV4dDo6YWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaCk6IFRl
bGwgdGhlIHByb3ZpZGVyIHRvIGFkZCB0aGUgaGFzaC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
Q29udGV4dC5oOgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0
Zm9ybVN0cmF0ZWdpZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF0Zm9ybVN0cmF0ZWdp
ZXM6OmlzQXV0b1N0YXJ0T3JpZ2luKTogRm9yd2FyZCB0byBXZWJQcm9jZXNzLgorICAgICAgICAo
V2ViS2l0OjpXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmFkZEF1dG9TdGFydE9yaWdpbik6IEZvcndh
cmQgdG8gV2ViUHJvY2Vzcy4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YlBsYXRmb3JtU3RyYXRlZ2llcy5oOgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6aXNQbHVnSW5BdXRvU3RhcnRPcmln
aW4pOiBMb29rcyBpbiB0aGUgdGFibGUgdG8gc2VlIGlmIHRoZSBoYXNoIGFscmVhZHkgZXhpc3Rz
LgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjphZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW4p
OiBJZiB0aGUgaGFzaCBpcyBub3QgYWxyZWFkeSBpbiB0aGUgdGFibGUsIG1lc3NhZ2UgdGhlIFVJ
CisgICAgICAgIHByb2Nlc3MgdG8gYWRkIGl0LgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
OjpwbHVnSW5BdXRvU3RhcnRPcmlnaW5DaGFuZ2VkKTogQ2FsbGVkIHdoZW4gdGhlIFVJIHByb2Nl
c3MgYnJvYWRjYXN0cyB0byB0aGUgd2ViCisgICAgICAgIHByb2Nlc3MgdGhhdCBhIGhhc2ggaGFz
IGJlZW4gYWRkZWQuIEFkZCB0aGF0IGhhc2ggdG8gdGhlIHdlYiBwcm9jZXNzJyBjb3B5IG9mIHRo
ZSB0YWJsZS4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46IEFkZCBhIG5ldyBtZXNzYWdlIGNhbGxl
ZCBieSBVSSBwcm9jZXNzIHdoZW4gYSBuZXcgaGFzaCBpcyBhZGRlZC4KKworICAgICAgICBBZGQg
UGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIue2NwcCxofSBhbmQgUGx1Z0luQXV0b1N0YXJ0VGFibGUu
aC4KKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0
LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHdpbi9XZWJLaXQyLnZjcHJvajoKKwogMjAxMi0x
MS0yNyAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEzNTc4Ni4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5k
ZXggZmY3Y2FjYjc5NzM1YTg2Y2M5YTRlZjQ5YjNhODVkMDY3ZTUyMzk1ZS4uMDU5MzVkYTVhMWU2
M2I4OGExNmIzZWQ5ZTViYzdlZjJjYzdhMWI5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE4
MDcsNiArMTgwNyw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9QbGF0Zm9y
bUV2ZW50LmNwcAogICAgIHBsYXRmb3JtL1BsYXRmb3JtSW5zdHJ1bWVudGF0aW9uLmNwcAogICAg
IHBsYXRmb3JtL1BsYXRmb3JtTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmNwcAorICAgIHBsYXRmb3Jt
L1BsdWdJbk9yaWdpbkhhc2guY3BwCiAgICAgcGxhdGZvcm0vUnVuTG9vcC5jcHAKICAgICBwbGF0
Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuY3BwCiAgICAgcGxhdGZvcm0vU2Nyb2xsQW5p
bWF0b3IuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
IGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA5NjYxM2QyZmM1ZmVi
ZTgzM2MzY2RkNDRmZWU1YzJmM2YxMzQ3N2JkLi5jZmM5MGYwYmJhZDU0YjZkNjc0MjAwZGUwMWZl
ZDVlOWFiMWVlN2RkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTU3NzMsNiAr
NTc3Myw4IEBAIHdlYmNvcmVfcGxhdGZvcm1fc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vUGxhdGZvcm1TdHJhdGVnaWVzLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRm
b3JtV2hlZWxFdmVudC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbHVnSW5PcmlnaW5I
YXNoLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QT0RBcmVuYS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9QT0RGcmVlTGlzdEFyZW5hLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BP
REludGVydmFsLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1Nv
dXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggZGU5ZTNlN2IwMDIyY2ZkN2ZiYWYxZmIwYWM2
ZGU2ZmQzMDBhMTQ5Ni4uNjczYmEyNzM0NGVlZGM5ZjgzOTUzZGJlOWU2MDljNmVlMDJmYmM5NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9UYXJnZXQucHJpCkBAIC0xMDY4LDYgKzEwNjgsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBwbGF0
Zm9ybS9QbGF0Zm9ybUV2ZW50LmNwcCBcCiAgICAgcGxhdGZvcm0vUGxhdGZvcm1JbnN0cnVtZW50
YXRpb24uY3BwIFwKICAgICBwbGF0Zm9ybS9QbGF0Zm9ybU1lbW9yeUluc3RydW1lbnRhdGlvbi5j
cHAgXAorICAgIHBsYXRmb3JtL1BsdWdJbk9yaWdpbkhhc2guY3BwIFwKICAgICBwbGF0Zm9ybS9S
dW50aW1lQXBwbGljYXRpb25DaGVja3MuY3BwIFwKICAgICBwbGF0Zm9ybS9SdW5Mb29wLmNwcCBc
CiAgICAgcGxhdGZvcm0vU2NoZW1lUmVnaXN0cnkuY3BwIFwKQEAgLTIyNzAsNiArMjI3MSw3IEBA
IEhFQURFUlMgKz0gXAogICAgIHBsYXRmb3JtL1BsYXRmb3JtTWVtb3J5SW5zdHJ1bWVudGF0aW9u
LmggXAogICAgIHBsYXRmb3JtL1BsYXRmb3JtVG91Y2hFdmVudC5oIFwKICAgICBwbGF0Zm9ybS9Q
bGF0Zm9ybVRvdWNoUG9pbnQuaCBcCisgICAgcGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5oIFwK
ICAgICBwbGF0Zm9ybS9Qb3B1cE1lbnUuaCBcCiAgICAgcGxhdGZvcm0vUmVmZXJyZXJQb2xpY3ku
aCBcCiAgICAgcGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXgg
OTU5Y2U1ZDc2NTA3Mjg2YjljOWM2MDBiNjIwOGRmNzNjNWM4YjU1NS4uYWU4MzQyNDdkYzkzMTBh
NGUyZjU3YjNjNzNkODQyMDNiNGViZWUwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMzE0LDYgKzMx
NCw3IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vUGxhdGZvcm1TY3JlZW4uaCcsCiAgICAgICAg
ICAgICAncGxhdGZvcm0vUGxhdGZvcm1TdHJhdGVnaWVzLmgnLAogICAgICAgICAgICAgJ3BsYXRm
b3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9QbHVnSW5P
cmlnaW5IYXNoLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL1BvcHVwTWVudS5oJywKICAgICAg
ICAgICAgICdwbGF0Zm9ybS9Qb3B1cE1lbnVDbGllbnQuaCcsCiAgICAgICAgICAgICAncGxhdGZv
cm0vUG9wdXBNZW51U3R5bGUuaCcsCkBAIC00NDk4LDYgKzQ0OTksNyBAQAogICAgICAgICAgICAg
J3BsYXRmb3JtL1BsYXRmb3JtU3RyYXRlZ2llcy5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L1BsYXRmb3JtVG91Y2hFdmVudC5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9QbGF0Zm9ybVRv
dWNoUG9pbnQuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5jcHAn
LAogICAgICAgICAgICAgJ3BsYXRmb3JtL1ByZXJlbmRlckhhbmRsZS5oJywKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vUmVm
ZXJyZXJQb2xpY3kuaCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCmluZGV4IDAyYjk1NzM5YjFmZjIyMzAzNzVjNjdiZjM3NmRjMWM3MDJiZjNiZjcuLjA1
ZWI4YzJhZjQzMzBlNzBhOGYxNjUxMmQwZTY3ZjcxNmRhYTE1NTkgMTAwNzU1Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yODcyNiw2ICsyODcyNiwxNCBA
QAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0
Zm9ybVxQbHVnSW5PcmlnaW5IYXNoLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQor
CQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cUGx1Z0luT3JpZ2luSGFzaC5oIgorCQkJCT4K
KwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxQb3B1
cE1lbnUuaCIKIAkJCQk+CiAJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggM2I2M2IzZDkyOGJjYzcxZGU3Mzc3ZTIx
ZjA2ZGE2Zjc4N2I3NzUzNC4uZDlkN2VmZTJkMDY1NGYyNzc1NjllYzE0MGU5YjlkYWM2N2U3Yjdh
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtOTMzLDYgKzkzMyw4IEBACiAJCTMxOUU2OUI1MTMyOTlCQkQwMDRBQzkxQSAvKiBX
ZWJLaXRBbmltYXRpb25MaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDMxOUU2OUFGMTMyOTlCQkQwMDRBQzkxQSAvKiBXZWJLaXRBbmltYXRpb25M
aXN0LmNwcCAqLzsgfTsKIAkJMzE5RTY5QjYxMzI5OUJCRDAwNEFDOTFBIC8qIFdlYktpdEFuaW1h
dGlvbkxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMxOUU2OUIwMTMyOTlCQkQwMDRBQzkxQSAvKiBXZWJLaXRBbmltYXRpb25MaXN0LmggKi87IH07
CiAJCTMxOUZCRDVGMTVEMkY0NjQwMDk2NDBBNiAvKiBDYWNoZWRJbWFnZUNsaWVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE5RkJENUQxNUQyRjQ0
NDAwOTY0MEE2IC8qIENhY2hlZEltYWdlQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMzFBNjdFNEMxNjYwMzI2QTAwNkNCQTY2IC8qIFBs
dWdJbk9yaWdpbkhhc2guY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzFBNjdFNEExNjYwMzI2OTAwNkNCQTY2IC8qIFBsdWdJbk9yaWdpbkhhc2guY3Bw
ICovOyB9OworCQkzMUE2N0U0RDE2NjAzMjZBMDA2Q0JBNjYgLyogUGx1Z0luT3JpZ2luSGFzaC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFBNjdFNEIx
NjYwMzI2OTAwNkNCQTY2IC8qIFBsdWdJbk9yaWdpbkhhc2guaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkzMUE5NjNBNTE2NTVENDI2MDAwRDQ2NDUg
Lyogc3RhcnRCdXR0b24ucG5nIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMUE5NjNBMTE2NTVENDI2MDAwRDQ2NDUgLyogc3RhcnRCdXR0b24ucG5nICov
OyB9OwogCQkzMUE5NjNBNjE2NTVENDI2MDAwRDQ2NDUgLyogc3RhcnRCdXR0b25AMngucG5nIGlu
IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUE5NjNBMjE2
NTVENDI2MDAwRDQ2NDUgLyogc3RhcnRCdXR0b25AMngucG5nICovOyB9OwogCQkzMUE5NjNBNzE2
NTVENDI2MDAwRDQ2NDUgLyogc3RhcnRCdXR0b25QcmVzc2VkLnBuZyBpbiBSZXNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFBOTYzQTMxNjU1RDQyNjAwMEQ0NjQ1
IC8qIHN0YXJ0QnV0dG9uUHJlc3NlZC5wbmcgKi87IH07CkBAIC04MTA3LDYgKzgxMDksOCBAQAog
CQkzMTlFNjlCMDEzMjk5QkJEMDA0QUM5MUEgLyogV2ViS2l0QW5pbWF0aW9uTGlzdC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJLaXRBbmltYXRpb25MaXN0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxOUU2OUIxMTMyOTlCQkQwMDRBQzkxQSAvKiBXZWJL
aXRBbmltYXRpb25MaXN0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJLaXRBbmltYXRp
b25MaXN0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE5RkJENUQxNUQyRjQ0
NDAwOTY0MEE2IC8qIENhY2hlZEltYWdlQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENhY2hlZEltYWdlQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTMxQTY3RTRBMTY2MDMyNjkwMDZDQkE2NiAvKiBQbHVnSW5PcmlnaW5IYXNoLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBsdWdJbk9yaWdpbkhhc2guY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUE2N0U0QjE2NjAzMjY5MDA2Q0JBNjYgLyog
UGx1Z0luT3JpZ2luSGFzaC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVn
SW5PcmlnaW5IYXNoLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQTk2M0ExMTY1
NUQ0MjYwMDBENDY0NSAvKiBzdGFydEJ1dHRvbi5wbmcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBpbWFnZS5wbmc7IHBhdGggPSBzdGFydEJ1dHRvbi5w
bmc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQTk2M0EyMTY1NUQ0MjYwMDBENDY0
NSAvKiBzdGFydEJ1dHRvbkAyeC5wbmcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBpbWFnZS5wbmc7IHBhdGggPSAic3RhcnRCdXR0b25AMngucG5nIjsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFBOTYzQTMxNjU1RDQyNjAwMEQ0NjQ1IC8q
IHN0YXJ0QnV0dG9uUHJlc3NlZC5wbmcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBpbWFnZS5wbmc7IHBhdGggPSBzdGFydEJ1dHRvblByZXNzZWQucG5n
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjEwNTAsNiArMjEwNTQsOCBAQAogCQkJ
CTFBRDhGODFBMTFDQUI5RTkwMEU5M0U1NCAvKiBQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwICovLAog
CQkJCTFBRDhGODE5MTFDQUI5RTkwMEU5M0U1NCAvKiBQbGF0Zm9ybVN0cmF0ZWdpZXMuaCAqLywK
IAkJCQk5MzVDNDc2QTA5QUM0RDRGMDBBNkFBQjQgLyogUGxhdGZvcm1XaGVlbEV2ZW50LmggKi8s
CisJCQkJMzFBNjdFNEExNjYwMzI2OTAwNkNCQTY2IC8qIFBsdWdJbk9yaWdpbkhhc2guY3BwICov
LAorCQkJCTMxQTY3RTRCMTY2MDMyNjkwMDZDQkE2NiAvKiBQbHVnSW5PcmlnaW5IYXNoLmggKi8s
CiAJCQkJQkNCQjhBQjQxM0YxQUZCMDAwNzM0REYwIC8qIFBPREFyZW5hLmggKi8sCiAJCQkJMUYz
RjE5NTIxNDk5Q0E3NjAwQTVBRUE3IC8qIFBPREZyZWVMaXN0QXJlbmEuaCAqLywKIAkJCQlCQ0JC
OEFCNTEzRjFBRkIwMDA3MzRERjAgLyogUE9ESW50ZXJ2YWwuaCAqLywKQEAgLTI1ODE5LDYgKzI1
ODI1LDcgQEAKIAkJCQlGQjJDMTVDMzE2NUQ2NDlEMDAzOUM5RjggLyogQ2FjaGVkU1ZHRG9jdW1l
bnRSZWZlcmVuY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxNzQxQUFEMTY2MzY2MDkwMDhBNUI3
RSAvKiBTaW11bGF0ZWRDbGlja09wdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTE1QjhCN0M5
MTY1MkM1MjIwMDM2RUY1NSAvKiBKU1dlYktpdENTU01peEZ1bmN0aW9uVmFsdWUuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTMxQTY3RTREMTY2MDMyNkEwMDZDQkE2NiAvKiBQbHVnSW5PcmlnaW5IYXNo
LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI4OTE5LDYgKzI4OTI2LDcgQEAKIAkJCQlDRDdFMDUyMjE2
NTFDMjgyMDBDMTIwMUYgLyogV2ViQ29yZUFWRlJlc291cmNlTG9hZGVyLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNDQ3OTU4MDUxNjQzQjRCMjAwMUUwQTdGIC8qIFBhcnNlZENvbnRlbnRUeXBlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTE1QjhCN0M4MTY1MkM1MjIwMDM2RUY1NSAvKiBKU1dlYktp
dENTU01peEZ1bmN0aW9uVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMzFBNjdFNEMxNjYw
MzI2QTAwNkNCQTY2IC8qIFBsdWdJbk9yaWdpbkhhc2guY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcAppbmRleCA0MjFh
YzFiMGYwYzE4ZDJmZGIyOTliOGU4Njg3NDg5MDViNzVkOTc2Li44MzVmMDc4NWM1OWRiYTU2NTc4
OWVhYmExOGVjNmUwNDMzZDk0MTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBs
dWdJbkltYWdlRWxlbWVudC5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJNb3VzZUV2
ZW50LmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgor
I2luY2x1ZGUgIlBsdWdJbk9yaWdpbkhhc2guaCIKICNpbmNsdWRlICJSZW5kZXJFbWJlZGRlZE9i
amVjdC5oIgogI2luY2x1ZGUgIlJlbmRlckltYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVyU25hcHNo
b3R0ZWRQbHVnSW4uaCIKQEAgLTM3LDYgKzM4LDExIEBACiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIK
ICNpbmNsdWRlICJTdHlsZVJlc29sdmVyLmgiCiAKKyNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lF
UykKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIKKyNpbmNsdWRlICJQbHVnaW5TdHJh
dGVneS5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gVGhpcyBkZWxheSBz
aG91bGQgbm90IGV4Y2VlZCB0aGUgc25hcHNob3QgZGVsYXkgaW4gUGx1Z2luVmlldy5jcHAKQEAg
LTUyLDEzICs1OCw5IEBAIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OkhUTUxQbHVnSW5JbWFnZUVs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jCiAgICAgLCBtX3Nob3VsZFBy
ZWZlclBsdWdJbnNGb3JJbWFnZXMocHJlZmVyUGx1Z0luc0ZvckltYWdlc09wdGlvbiA9PSBTaG91
bGRQcmVmZXJQbHVnSW5zRm9ySW1hZ2VzKQogICAgICwgbV9uZWVkc0RvY3VtZW50QWN0aXZhdGlv
bkNhbGxiYWNrcyhmYWxzZSkKICAgICAsIG1fc2ltdWxhdGVkTW91c2VDbGlja1RpbWVyKHRoaXMs
ICZIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjpzaW11bGF0ZWRNb3VzZUNsaWNrVGltZXJGaXJlZCwg
c2ltdWxhdGVkTW91c2VDbGlja1RpbWVyRGVsYXkpCisgICAgLCBtX3BsdWdJbk9yaWdpbkhhc2go
MCkKIHsKICAgICBzZXRIYXNDdXN0b21DYWxsYmFja3MoKTsKLQotICAgIGlmIChkb2N1bWVudC0+
cGFnZSgpCi0gICAgICAgICYmIGRvY3VtZW50LT5wYWdlKCktPnNldHRpbmdzKCktPnBsdWdJblNu
YXBzaG90dGluZ0VuYWJsZWQoKQotICAgICAgICAmJiAhU2NyaXB0Q29udHJvbGxlcjo6cHJvY2Vz
c2luZ1VzZXJHZXN0dXJlKCkpCi0gICAgICAgIHNldERpc3BsYXlTdGF0ZShXYWl0aW5nRm9yU25h
cHNob3QpOwogfQogCiBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50Ojp+SFRNTFBsdWdJbkltYWdlRWxl
bWVudCgpCkBAIC0yNjIsOSArMjY0LDEzIEBAIHZvaWQgSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6
dXBkYXRlU25hcHNob3QoUGFzc1JlZlB0cjxJbWFnZT4gaW1hZ2UpCiAgICAgc2V0RGlzcGxheVN0
YXRlKERpc3BsYXlpbmdTbmFwc2hvdCk7CiB9CiAKLXZvaWQgSFRNTFBsdWdJbkltYWdlRWxlbWVu
dDo6c2V0UGVuZGluZ0NsaWNrRXZlbnQoUGFzc1JlZlB0cjxNb3VzZUV2ZW50PiBldmVudCkKK3Zv
aWQgSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6dXNlckRpZENsaWNrU25hcHNob3QoUGFzc1JlZlB0
cjxNb3VzZUV2ZW50PiBldmVudCkKIHsKKyAgICBBU1NFUlQobV9wbHVnSW5PcmlnaW5IYXNoKTsK
ICAgICBtX3BlbmRpbmdDbGlja0V2ZW50RnJvbVNuYXBzaG90ID0gZXZlbnQ7CisjaWYgVVNFKFBM
QVRGT1JNX1NUUkFURUdJRVMpCisgICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPnBsdWdpblN0cmF0
ZWd5KCktPmFkZEF1dG9TdGFydE9yaWdpbihkb2N1bWVudCgpLT5wYWdlKCksIG1fcGx1Z0luT3Jp
Z2luSGFzaCk7CisjZW5kaWYKIH0KIAogdm9pZCBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjpkaXNw
YXRjaFBlbmRpbmdNb3VzZUNsaWNrKCkKQEAgLTI4NCw0ICsyOTAsMTYgQEAgdm9pZCBIVE1MUGx1
Z0luSW1hZ2VFbGVtZW50OjpzaW11bGF0ZWRNb3VzZUNsaWNrVGltZXJGaXJlZChEZWZlcnJhYmxl
T25lU2hvdFRpbWUKICAgICBtX3BlbmRpbmdDbGlja0V2ZW50RnJvbVNuYXBzaG90ID0gbnVsbHB0
cjsKIH0KIAordm9pZCBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjpzdWJmcmFtZUxvYWRlcldpbGxM
b2FkUGx1Z0luKGNvbnN0IEtVUkwmIHVybCkKK3sKKyAgICBtX3BsdWdJbk9yaWdpbkhhc2ggPSBw
bHVnSW5PcmlnaW5IYXNoKGRvY3VtZW50KCktPnBhZ2UoKSwgdXJsKTsKKyAgICBpZiAoZG9jdW1l
bnQoKS0+cGFnZSgpCisgICAgICAgICYmIGRvY3VtZW50KCktPnBhZ2UoKS0+c2V0dGluZ3MoKS0+
cGx1Z0luU25hcHNob3R0aW5nRW5hYmxlZCgpCisjaWYgVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMp
CisgICAgICAgICYmICFwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+cGx1Z2luU3RyYXRlZ3koKS0+aXNB
dXRvU3RhcnRPcmlnaW4oZG9jdW1lbnQoKS0+cGFnZSgpLCBtX3BsdWdJbk9yaWdpbkhhc2gpCisj
ZW5kaWYKKyAgICAgICAgJiYgIVNjcmlwdENvbnRyb2xsZXI6OnByb2Nlc3NpbmdVc2VyR2VzdHVy
ZSgpKQorICAgICAgICBzZXREaXNwbGF5U3RhdGUoV2FpdGluZ0ZvclNuYXBzaG90KTsKK30KKwog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MUGx1Z0luSW1hZ2VFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5J
bWFnZUVsZW1lbnQuaAppbmRleCBjNWJmNmZhMWY5MWUxZTgyZDA4YmNhMmMwMmM3M2RhYjJjN2E4
OTNkLi41YTY5ZmFlMjBkZjA4ZDQ2Mjk3ODZkOGEyN2IxNDcxMWRiNTZhODg2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuaApAQCAtMjMsNiArMjMsNyBA
QAogCiAjaW5jbHVkZSAiSFRNTFBsdWdJbkVsZW1lbnQuaCIKIAorI2luY2x1ZGUgIlBsdWdJbk9y
aWdpbkhhc2guaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgPHd0Zi9Pd25Q
dHIuaD4KIApAQCAtNTksNyArNjAsMTAgQEAgcHVibGljOgogICAgIGJvb2wgbmVlZHNXaWRnZXRV
cGRhdGUoKSBjb25zdCB7IHJldHVybiBtX25lZWRzV2lkZ2V0VXBkYXRlOyB9CiAgICAgdm9pZCBz
ZXROZWVkc1dpZGdldFVwZGF0ZShib29sIG5lZWRzV2lkZ2V0VXBkYXRlKSB7IG1fbmVlZHNXaWRn
ZXRVcGRhdGUgPSBuZWVkc1dpZGdldFVwZGF0ZTsgfQogCi0gICAgdm9pZCBzZXRQZW5kaW5nQ2xp
Y2tFdmVudChQYXNzUmVmUHRyPE1vdXNlRXZlbnQ+KTsKKyAgICB2b2lkIHVzZXJEaWRDbGlja1Nu
YXBzaG90KFBhc3NSZWZQdHI8TW91c2VFdmVudD4pOworCisgICAgLy8gUGx1Zy1pbiBVUkwgbWln
aHQgbm90IGJlIHRoZSBzYW1lIGFzIHVybCgpIHdpdGggb3ZlcnJpZGluZyBwYXJhbWV0ZXJzLgor
ICAgIHZvaWQgc3ViZnJhbWVMb2FkZXJXaWxsTG9hZFBsdWdJbihjb25zdCBLVVJMJiBwbHVnSW5V
UkwpOwogCiBwcm90ZWN0ZWQ6CiAgICAgSFRNTFBsdWdJbkltYWdlRWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCosIGJvb2wgY3JlYXRlZEJ5UGFyc2VyLCBQcmVm
ZXJQbHVnSW5zRm9ySW1hZ2VzT3B0aW9uKTsKQEAgLTEwMyw2ICsxMDcsNyBAQCBwcml2YXRlOgog
ICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gbV9jdXN0b21TdHlsZUZvclBhZ2VDYWNoZTsKICAgICBS
ZWZQdHI8TW91c2VFdmVudD4gbV9wZW5kaW5nQ2xpY2tFdmVudEZyb21TbmFwc2hvdDsKICAgICBE
ZWZlcnJhYmxlT25lU2hvdFRpbWVyPEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ+IG1fc2ltdWxhdGVk
TW91c2VDbGlja1RpbWVyOworICAgIFBsdWdJbk9yaWdpbkhhc2ggbV9wbHVnSW5PcmlnaW5IYXNo
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJm
cmFtZUxvYWRlci5jcHAKaW5kZXggOTJlYTk3Mzc2N2U4YzQ3MjUwYjZkYjJiZjQwNGQzNDhlNTQ1
MjJmMS4uZDFhYjdlNTZlOTIyZTQzNTdiZjkyMjVlMmJhMTljNGE4M2UzOTM1MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuY3BwCkBAIC0xNTYsNiArMTU2LDcgQEAgYm9v
bCBTdWJmcmFtZUxvYWRlcjo6cmVxdWVzdFBsdWdpbihIVE1MUGx1Z0luSW1hZ2VFbGVtZW50KiBv
d25lckVsZW1lbnQsIGNvbnN0IEsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgQVNTRVJU
KG93bmVyRWxlbWVudC0+aGFzVGFnTmFtZShvYmplY3RUYWcpIHx8IG93bmVyRWxlbWVudC0+aGFz
VGFnTmFtZShlbWJlZFRhZykpOworICAgIG93bmVyRWxlbWVudC0+c3ViZnJhbWVMb2FkZXJXaWxs
TG9hZFBsdWdJbih1cmwpOwogICAgIHJldHVybiBsb2FkUGx1Z2luKG93bmVyRWxlbWVudCwgdXJs
LCBtaW1lVHlwZSwgcGFyYW1OYW1lcywgcGFyYW1WYWx1ZXMsIHVzZUZhbGxiYWNrKTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbHVnSW5PcmlnaW5IYXNoLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lNmY4NTQ5NGI2YmQ5YmRmM2MxMzRkNTM4ZTAwN2YwZDBkODhiNjJkCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5jcHAKQEAgLTAs
MCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBsdWdJ
bk9yaWdpbkhhc2guaCIKKworI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRnJhbWUu
aCIKKyNpbmNsdWRlICJLVVJMLmgiCisjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgPHd0Zi90
ZXh0L1N0cmluZ0J1aWxkZXIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit0ZW1wbGF0ZSA8
dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK3N0YXRpYyBBTFdBWVNfSU5MSU5FIFBsdWdJbk9yaWdp
bkhhc2ggcGx1Z0luT3JpZ2luSGFzaElubGluZShjb25zdCBDaGFyYWN0ZXJUeXBlKiBvcmlnaW4s
IHVuc2lnbmVkIGxlbmd0aCkKK3sKKyAgICByZXR1cm4gQWxyZWFkeUhhc2hlZDo6YXZvaWREZWxl
dGVkVmFsdWUoU3RyaW5nSGFzaGVyOjpjb21wdXRlSGFzaChvcmlnaW4sIGxlbmd0aCkpOworfQor
CitQbHVnSW5PcmlnaW5IYXNoIHBsdWdJbk9yaWdpbkhhc2goY29uc3QgUGFnZSogcGFnZSwgY29u
c3QgS1VSTCYgc3JjVVJMKQoreworICAgIGNvbnN0IEtVUkwmIG1haW5GcmFtZUJhc2VVUkwgPSBw
YWdlLT5tYWluRnJhbWUoKS0+ZG9jdW1lbnQoKS0+YmFzZVVSTCgpOworICAgIFN0cmluZ0J1aWxk
ZXIgYnVpbGRlcjsKKyAgICBidWlsZGVyLmFwcGVuZChtYWluRnJhbWVCYXNlVVJMLmhvc3QoKSk7
CisgICAgYnVpbGRlci5hcHBlbmQoc3JjVVJMLmhvc3QoKSk7CisKKyAgICBTdHJpbmcgaGFzaFN0
cmluZyA9IGJ1aWxkZXIudG9TdHJpbmcoKTsKKyAgICBBU1NFUlQoaGFzaFN0cmluZy5sZW5ndGgo
KSk7CisgICAgaWYgKGhhc2hTdHJpbmcuaXM4Qml0KCkpCisgICAgICAgIHJldHVybiBwbHVnSW5P
cmlnaW5IYXNoSW5saW5lKGhhc2hTdHJpbmcuY2hhcmFjdGVyczgoKSwgaGFzaFN0cmluZy5sZW5n
dGgoKSk7CisgICAgcmV0dXJuIHBsdWdJbk9yaWdpbkhhc2hJbmxpbmUoaGFzaFN0cmluZy5jaGFy
YWN0ZXJzKCksIGhhc2hTdHJpbmcubGVuZ3RoKCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbHVnSW5PcmlnaW5IYXNo
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbHVnSW5PcmlnaW5IYXNoLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNGJkYjdkYTJmMTdjMTEwNjlkNmNkNTRjMjEzODc0ZGY5ZjJmMzkyYgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsdWdJbk9yaWdpbkhhc2guaApAQCAtMCww
ICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFBsdWdJbk9yaWdpbkhhc2hfaAorI2RlZmluZSBQ
bHVnSW5PcmlnaW5IYXNoX2gKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBLVVJMOwor
Y2xhc3MgUGFnZTsKKwordHlwZWRlZiB1aW50NjRfdCBQbHVnSW5PcmlnaW5IYXNoOworCitQbHVn
SW5PcmlnaW5IYXNoIHBsdWdJbk9yaWdpbkhhc2goY29uc3QgUGFnZSosIGNvbnN0IEtVUkwmIHNy
Y1VSTCk7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8qIFBsdWdJbk9yaWdp
bkhhc2ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luU3RyYXRl
Z3kuaCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luU3RyYXRlZ3kuaAppbmRleCA5ZDhh
N2I1MmYwMzI1NTM3NDQzZjEzM2YwODJkYTMwZjRmMGQyMjk0Li5kZjZlNTMwNDU4YWFhZmRkYzBm
OTJjNjIyYWQ5ZjE2YjEwOTcxZWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5z
L1BsdWdpblN0cmF0ZWd5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5TdHJh
dGVneS5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykK
IAorI2luY2x1ZGUgIlBsdWdJbk9yaWdpbkhhc2guaCIKICNpbmNsdWRlICJQbHVnaW5EYXRhLmgi
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM5LDYgKzQwLDkgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCByZWZyZXNoUGx1Z2lucygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZ2V0UGx1
Z2luSW5mbyhjb25zdCBQYWdlKiwgVmVjdG9yPFBsdWdpbkluZm8+JikgPSAwOwogCisgICAgdmly
dHVhbCBib29sIGlzQXV0b1N0YXJ0T3JpZ2luKFBhZ2UqLCBQbHVnSW5PcmlnaW5IYXNoKSA9IDA7
CisgICAgdmlydHVhbCB2b2lkIGFkZEF1dG9TdGFydE9yaWdpbihQYWdlKiwgUGx1Z0luT3JpZ2lu
SGFzaCkgPSAwOworCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB+UGx1Z2luU3RyYXRlZ3koKSB7
IH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU25hcHNo
b3R0ZWRQbHVnSW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNuYXBzaG90
dGVkUGx1Z0luLmNwcAppbmRleCA5NzJiMmJmOTA0MjIzYjViNzc3NWYyNDI5ZGMxNjI4M2EwZjE2
ODE1Li5mMmNlOWQ1NjUyODVkOGZjMDIwMTNjYzBmMGIzYjk5NzNkZDNkNjY2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbmFwc2hvdHRlZFBsdWdJbi5jcHAK
QEAgLTE3OCw3ICsxNzgsNyBAQCB2b2lkIFJlbmRlclNuYXBzaG90dGVkUGx1Z0luOjpoYW5kbGVF
dmVudChFdmVudCogZXZlbnQpCiAgICAgICAgICAgICBwbHVnSW5JbWFnZUVsZW1lbnQoKS0+c2V0
RGlzcGxheVN0YXRlKEhUTUxQbHVnSW5FbGVtZW50OjpQbGF5aW5nKTsKICAgICAgICAgZWxzZSB7
CiAgICAgICAgICAgICBwbHVnSW5JbWFnZUVsZW1lbnQoKS0+c2V0RGlzcGxheVN0YXRlKEhUTUxQ
bHVnSW5FbGVtZW50OjpQbGF5aW5nV2l0aFBlbmRpbmdNb3VzZUNsaWNrKTsKLSAgICAgICAgICAg
IHBsdWdJbkltYWdlRWxlbWVudCgpLT5zZXRQZW5kaW5nQ2xpY2tFdmVudChtb3VzZUV2ZW50KTsK
KyAgICAgICAgICAgIHBsdWdJbkltYWdlRWxlbWVudCgpLT51c2VyRGlkQ2xpY2tTbmFwc2hvdCht
b3VzZUV2ZW50KTsKICAgICAgICAgfQogICAgICAgICBpZiAod2lkZ2V0KCkpIHsKICAgICAgICAg
ICAgIGlmIChGcmFtZSogZnJhbWUgPSBkb2N1bWVudCgpLT5mcmFtZSgpKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmNw
cCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0Vm
bC5jcHAKaW5kZXggNzEzOGFhOGQ3NmY3ZmNlODFjODEwMjczMmRmNGM1MTY5NzdhZTNiZS4uZGM5
ZDA2NmFhM2MxYTVlMjNjNTBkOTQ4YjI0OGU0YjUzOTUwMTcxZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwu
Y3BwCkBAIC0xMjAsNiArMTIwLDE3IEBAIHZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzRWZsOjpnZXRQ
bHVnaW5JbmZvKGNvbnN0IFBhZ2UqLCBWZWN0b3I8UGx1Z2luSW5mbz4mIG91dFBsCiAjZW5kaWYK
IH0KIAorYm9vbCBQbGF0Zm9ybVN0cmF0ZWdpZXNFZmw6OmlzQXV0b1N0YXJ0T3JpZ2luKFBhZ2Uq
LCBQbHVnSW5PcmlnaW5IYXNoKQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCisgICAgcmV0
dXJuIGZhbHNlOworfQorCit2b2lkIFBsYXRmb3JtU3RyYXRlZ2llc0VmbDo6YWRkQXV0b1N0YXJ0
T3JpZ2luKFBhZ2UqLCBQbHVnSW5PcmlnaW5IYXNoKQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1l
bnQuCit9CisKIC8vIFZpc2l0ZWRMaW5rU3RyYXRlZ3kKIGJvb2wgUGxhdGZvcm1TdHJhdGVnaWVz
RWZsOjppc0xpbmtWaXNpdGVkKFBhZ2UqIHBhZ2UsIExpbmtIYXNoIGhhc2gsIGNvbnN0IEtVUkwm
LCBjb25zdCBBdG9taWNTdHJpbmcmKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmggYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwuaAppbmRleCAwMWU2MTE1NmNm
OWZlZjNiMWY0NTMyYTllMjVlOGIzMzJjMjVmZWYwLi5kNGNlYWU5MTJhZjdjMWU1OThlOWY1ZTg5
OTA3ZjkxMjU1ZTZlY2U0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwuaApAQCAtNDksNiArNDksOCBAQCBwcml2
YXRlOgogICAgIC8vIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5CiAgICAgdmlydHVhbCB2b2lkIHJl
ZnJlc2hQbHVnaW5zKCk7CiAgICAgdmlydHVhbCB2b2lkIGdldFBsdWdpbkluZm8oY29uc3QgV2Vi
Q29yZTo6UGFnZSosIFZlY3RvcjxXZWJDb3JlOjpQbHVnaW5JbmZvPiYpOworICAgIHZpcnR1YWwg
Ym9vbCBpc0F1dG9TdGFydE9yaWdpbihXZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6UGx1Z0luT3Jp
Z2luSGFzaCk7CisgICAgdmlydHVhbCB2b2lkIGFkZEF1dG9TdGFydE9yaWdpbihXZWJDb3JlOjpQ
YWdlKiwgV2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFzaCk7CiAKICAgICAvLyBXZWJDb3JlOjpWaXNp
dGVkTGlua1N0cmF0ZWd5CiAgICAgdmlydHVhbCBib29sIGlzTGlua1Zpc2l0ZWQoV2ViQ29yZTo6
UGFnZSosIFdlYkNvcmU6OkxpbmtIYXNoLCBjb25zdCBXZWJDb3JlOjpLVVJMJiBiYXNlVVJMLCBj
b25zdCBXVEY6OkF0b21pY1N0cmluZyYgYXR0cmlidXRlVVJMKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0d0ay5jcHAgYi9T
b3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuY3Bw
CmluZGV4IDAwYTcwNjJjOWNlMmVjM2E1YTI2Nzg4MTY5YTlhNWY2YjAyMzA4ODYuLmY2ODdiYTkx
NGVmYzBkMmZiYmY4YjIxMTkxMjVlMjU1MmExNjg0MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0d0ay5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmNwcApA
QCAtMTA4LDYgKzEwOCwxNyBAQCB2b2lkIFBsYXRmb3JtU3RyYXRlZ2llc0d0azo6Z2V0UGx1Z2lu
SW5mbyhjb25zdCBQYWdlKiBwYWdlLCBWZWN0b3I8UGx1Z2luSW5mbz4mCiAgICAgfQogfQogCiti
b29sIFBsYXRmb3JtU3RyYXRlZ2llc0d0azo6aXNBdXRvU3RhcnRPcmlnaW4oUGFnZSosIFBsdWdJ
bk9yaWdpbkhhc2gpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudC4KKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKK3ZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzR3RrOjphZGRBdXRvU3RhcnRPcmlnaW4o
UGFnZSosIFBsdWdJbk9yaWdpbkhhc2gpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudC4KK30K
KwogLy8gVmlzaXRlZExpbmtTdHJhdGVneQogYm9vbCBQbGF0Zm9ybVN0cmF0ZWdpZXNHdGs6Omlz
TGlua1Zpc2l0ZWQoUGFnZSogcGFnZSwgTGlua0hhc2ggaGFzaCwgY29uc3QgS1VSTCYsIGNvbnN0
IEF0b21pY1N0cmluZyYpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuaCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0d0ay5oCmluZGV4IGNmMzRhZTI0YjM4MjhmOThk
ZWYxZTg3MmMwNzNjYTQ5MjRiMGQzMzQuLjQ5OWUxMmQwNDBkZDRhMzRkY2NkMDdjNTA2Mjg3YWE2
OTJmZjQ3MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1Bs
YXRmb3JtU3RyYXRlZ2llc0d0ay5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBw
b3J0L1BsYXRmb3JtU3RyYXRlZ2llc0d0ay5oCkBAIC00OCw2ICs0OCw4IEBAIHByaXZhdGU6CiAg
ICAgLy8gV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3kKICAgICB2aXJ0dWFsIHZvaWQgcmVmcmVzaFBs
dWdpbnMoKTsKICAgICB2aXJ0dWFsIHZvaWQgZ2V0UGx1Z2luSW5mbyhjb25zdCBXZWJDb3JlOjpQ
YWdlKiwgVmVjdG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+Jik7CisgICAgdmlydHVhbCBib29sIGlz
QXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNo
KTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkQXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6OlBhZ2UqLCBX
ZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNoKTsKIAogICAgIC8vIFdlYkNvcmU6OlZpc2l0ZWRMaW5r
U3RyYXRlZ3kKICAgICB2aXJ0dWFsIGJvb2wgaXNMaW5rVmlzaXRlZChXZWJDb3JlOjpQYWdlKiwg
V2ViQ29yZTo6TGlua0hhc2gsIGNvbnN0IFdlYkNvcmU6OktVUkwmIGJhc2VVUkwsIGNvbnN0IFdU
Rjo6QXRvbWljU3RyaW5nJiBhdHRyaWJ1dGVVUkwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmggYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAppbmRleCBmOWQ4
Yzc3MTk2YWExNmU4OWE0Mjg0YTM5ZDc1YzE3MGFjN2Y0MDg5Li5iZTJkZjlmNDY4MWQ5OWM1MGFh
MDkxZTdiNmYyM2ZiNDgwOGIzZGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaApAQCAtNTYsNiArNTYsOCBA
QCBwcml2YXRlOgogICAgIC8vIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5CiAgICAgdmlydHVhbCB2
b2lkIHJlZnJlc2hQbHVnaW5zKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGdldFBsdWdp
bkluZm8oY29uc3QgV2ViQ29yZTo6UGFnZSosIFZlY3RvcjxXZWJDb3JlOjpQbHVnaW5JbmZvPiYp
IE9WRVJSSURFOworICAgIHZpcnR1YWwgYm9vbCBpc0F1dG9TdGFydE9yaWdpbihXZWJDb3JlOjpQ
YWdlKiwgV2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFzaCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2
b2lkIGFkZEF1dG9TdGFydE9yaWdpbihXZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6UGx1Z0luT3Jp
Z2luSGFzaCkgT1ZFUlJJREU7CiAKICAgICAvLyBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5
CiAgICAgdmlydHVhbCBib29sIGlzTGlua1Zpc2l0ZWQoV2ViQ29yZTo6UGFnZSosIFdlYkNvcmU6
OkxpbmtIYXNoLCBjb25zdCBXZWJDb3JlOjpLVVJMJiBiYXNlVVJMLCBjb25zdCBXVEY6OkF0b21p
Y1N0cmluZyYgYXR0cmlidXRlVVJMKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbSBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbQppbmRleCBj
NzliMDg5YjlmYzQwYzk2Y2NlMTZmNzIwYjhiNTQwMzRjNTJlOTI0Li4yZmM5N2IyMjMyOWM1ZTFi
MDdjODU5Nzc2OWFkNzMwOGM0MzZhNTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0KKysrIGIvU291cmNlL1dlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tCkBAIC0xMTMsNiAr
MTEzLDE3IEBAIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpnZXRQbHVnaW5JbmZvKGNvbnN0
IFdlYkNvcmU6OlBhZ2UqLCBWZWN0b3I8V2ViQ29yZTo6CiAgICAgRU5EX0JMT0NLX09CSkNfRVhD
RVBUSU9OUzsKIH0KIAorYm9vbCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmlzQXV0b1N0YXJ0T3Jp
Z2luKFBhZ2UqLCBQbHVnSW5PcmlnaW5IYXNoKQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQu
CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6YWRk
QXV0b1N0YXJ0T3JpZ2luKFBhZ2UqLCBQbHVnSW5PcmlnaW5IYXNoKQoreworICAgIC8vIEZJWE1F
OiBJbXBsZW1lbnQuCit9CisKIGJvb2wgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjppc0xpbmtWaXNp
dGVkKFBhZ2UqIHBhZ2UsIExpbmtIYXNoIGhhc2gsIGNvbnN0IEtVUkwmLCBjb25zdCBBdG9taWNT
dHJpbmcmKQogewogICAgIHJldHVybiBwYWdlLT5ncm91cCgpLmlzTGlua1Zpc2l0ZWQoaGFzaCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3Ry
YXRlZ2llc1F0LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1T
dHJhdGVnaWVzUXQuY3BwCmluZGV4IDVkOWU3NTVkMDJmMTU5YTNmYzNiNmVlYjUzNzVmZjJiYmMw
MTk0ZTAuLmQ2MTI2ZWQ1YzRkYmYwOTRkODUzMzBjNmE4ODM3MjRiYzQxYmNjYWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVn
aWVzUXQuY3BwCkBAIC0xNTYsNiArMTU2LDE3IEBAIHZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzUXQ6
OmdldFBsdWdpbkluZm8oY29uc3QgV2ViQ29yZTo6UGFnZSogcGFnZSwgVmVjdG9yPFdlYkNvCiAK
IH0KIAorYm9vbCBQbGF0Zm9ybVN0cmF0ZWdpZXNRdDo6aXNBdXRvU3RhcnRPcmlnaW4oUGFnZSos
IFBsdWdJbk9yaWdpbkhhc2gpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudC4KKyAgICByZXR1
cm4gZmFsc2U7Cit9CisKK3ZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzUXQ6OmFkZEF1dG9TdGFydE9y
aWdpbihQYWdlKiwgUGx1Z0luT3JpZ2luSGFzaCkKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50
LgorfQorCiAvLyBWaXNpdGVkTGlua1N0cmF0ZWd5CiAKIGJvb2wgUGxhdGZvcm1TdHJhdGVnaWVz
UXQ6OmlzTGlua1Zpc2l0ZWQoUGFnZSogcGFnZSwgTGlua0hhc2ggaGFzaCwgY29uc3QgS1VSTCYg
YmFzZVVSTCwgY29uc3QgQXRvbWljU3RyaW5nJiBhdHRyaWJ1dGVVUkwpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1F0LmggYi9T
b3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1F0LmgKaW5k
ZXggMmZlOGZlNjJjZmUzM2IwOTAxM2YxOTY1NGEzY2UyYTc2ODQzOTZjMi4uNWEwZWI5NGQ5NGRj
MTE2NTJhNWRiYmZlNTNiZGZiNmU5YjMyNDJjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQuaApAQCAtNjAsNiArNjAs
OCBAQCBwcml2YXRlOgogICAgIC8vIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5CiAgICAgdmlydHVh
bCB2b2lkIHJlZnJlc2hQbHVnaW5zKCk7CiAgICAgdmlydHVhbCB2b2lkIGdldFBsdWdpbkluZm8o
Y29uc3QgV2ViQ29yZTo6UGFnZSosIFZlY3RvcjxXZWJDb3JlOjpQbHVnaW5JbmZvPiYpOworICAg
IHZpcnR1YWwgYm9vbCBpc0F1dG9TdGFydE9yaWdpbihXZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6
UGx1Z0luT3JpZ2luSGFzaCk7CisgICAgdmlydHVhbCB2b2lkIGFkZEF1dG9TdGFydE9yaWdpbihX
ZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFzaCk7CiAKICAgICAvLyBXZWJD
b3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5CiAgICAgdmlydHVhbCBib29sIGlzTGlua1Zpc2l0ZWQo
V2ViQ29yZTo6UGFnZSosIFdlYkNvcmU6OkxpbmtIYXNoLCBjb25zdCBXZWJDb3JlOjpLVVJMJiBi
YXNlVVJMLCBjb25zdCBXVEY6OkF0b21pY1N0cmluZyYgYXR0cmlidXRlVVJMKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2ll
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuY3BwCmluZGV4IDc1YTAzZTIxOWZhY2U0MzQzNzczZGU5MTllYjJmYmVlODBkZGQwYzEu
LjkxOGJiMTcwN2M3YjhjOTA1MTk5NTkzZTVlYmMxYzE4NmYwMDJlMzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLmNwcApAQCAtMTI4LDYgKzEyOCwxNyBAQCB2b2lkIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6
Z2V0UGx1Z2luSW5mbyhjb25zdCBXZWJDb3JlOjpQYWdlKiwgVmVjdG9yPFdlYkNvcmU6OgogICAg
IH0KIH0KIAorYm9vbCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmlzQXV0b1N0YXJ0T3JpZ2luKFBh
Z2UqLCBQbHVnSW5PcmlnaW5IYXNoKQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCisgICAg
cmV0dXJuIGZhbHNlOworfQorCit2b2lkIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6YWRkQXV0b1N0
YXJ0T3JpZ2luKFBhZ2UqLCBQbHVnSW5PcmlnaW5IYXNoKQoreworICAgIC8vIEZJWE1FOiBJbXBs
ZW1lbnQuCit9CisKIGJvb2wgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjppc0xpbmtWaXNpdGVkKFBh
Z2UqIHBhZ2UsIExpbmtIYXNoIGhhc2gsIGNvbnN0IEtVUkwmLCBjb25zdCBBdG9taWNTdHJpbmcm
KQogewogICAgIHJldHVybiBwYWdlLT5ncm91cCgpLmlzTGlua1Zpc2l0ZWQoaGFzaCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3Ry
YXRlZ2llcy5oCmluZGV4IDk3NzdiODQ4MDNiZThmNjFiNzU3YjcwODk5ZTBhM2U5YzcxYjAxM2Qu
LmZmMzcxNzhmOTVkNWRkODY2NjlhNDYzOTU5NjY4ZDc2Y2I1MGRkYzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2ll
cy5oCkBAIC01Nyw2ICs1Nyw4IEBAIHByaXZhdGU6CiAgICAgLy8gV2ViQ29yZTo6UGx1Z2luU3Ry
YXRlZ3kKICAgICB2aXJ0dWFsIHZvaWQgcmVmcmVzaFBsdWdpbnMoKTsKICAgICB2aXJ0dWFsIHZv
aWQgZ2V0UGx1Z2luSW5mbyhjb25zdCBXZWJDb3JlOjpQYWdlKiwgVmVjdG9yPFdlYkNvcmU6OlBs
dWdpbkluZm8+Jik7CisgICAgdmlydHVhbCBib29sIGlzQXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6
OlBhZ2UqLCBXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNoKTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRk
QXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNo
KTsKIAogICAgIC8vIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kKICAgICB2aXJ0dWFsIGJv
b2wgaXNMaW5rVmlzaXRlZChXZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6TGlua0hhc2gsIGNvbnN0
IFdlYkNvcmU6OktVUkwmIGJhc2VVUkwsIGNvbnN0IFdURjo6QXRvbWljU3RyaW5nJiBhdHRyaWJ1
dGVVUkwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9Q
bGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVT
dXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNFLmNwcAppbmRleCA0MjViMGYzYTgyYjMzN2Fh
OGEzOTM4OWMzOWM5OGRlZjk2N2YyMWQ2Li42YTdjZWZkYjVmOTI1MGEyMjY4ZDI3NTk3MzBlMmY2
Y2E0NmY4ZjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0
L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNFLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dl
YkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNFLmNwcApAQCAtMTE1LDYgKzExNSwx
NyBAQCB2b2lkIFBsYXRmb3JtU3RyYXRlZ2llc1dpbkNFOjpnZXRQbHVnaW5JbmZvKGNvbnN0IFBh
Z2UqLCBWZWN0b3I8UGx1Z2luSW5mbz4mIG91dAogICAgIH0KIH0KIAorYm9vbCBQbGF0Zm9ybVN0
cmF0ZWdpZXNXaW5DRTo6aXNBdXRvU3RhcnRPcmlnaW4oUGFnZSosIFBsdWdJbk9yaWdpbkhhc2gp
Cit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudC4KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3Zv
aWQgUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0U6OmFkZEF1dG9TdGFydE9yaWdpbihQYWdlKiwgUGx1
Z0luT3JpZ2luSGFzaCkKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50LgorfQorCiBib29sIFBs
YXRmb3JtU3RyYXRlZ2llc1dpbkNFOjppc0xpbmtWaXNpdGVkKFBhZ2UqIHBhZ2UsIExpbmtIYXNo
IGhhc2gsIGNvbnN0IEtVUkwmLCBjb25zdCBBdG9taWNTdHJpbmcmKQogewogICAgIHJldHVybiBw
YWdlLT5ncm91cCgpLmlzTGlua1Zpc2l0ZWQoaGFzaCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNFLmggYi9Tb3Vy
Y2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNFLmgK
aW5kZXggMmNlNDgyMDNjNjhjNWQ5OWQ2M2Q4NWQ1OTYzM2JjYTg4ODFkZTMxMS4uMmNmYWIzZDVi
OTFkZjQ2ZTgzZThmNDBjZjVlMjAxNmRkNTJiNGM3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC93aW5jZS9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0Uu
aApAQCAtNTMsNiArNTMsOCBAQCBwcml2YXRlOgogICAgIC8vIFdlYkNvcmU6OlBsdWdpblN0cmF0
ZWd5CiAgICAgdmlydHVhbCB2b2lkIHJlZnJlc2hQbHVnaW5zKCk7CiAgICAgdmlydHVhbCB2b2lk
IGdldFBsdWdpbkluZm8oY29uc3QgV2ViQ29yZTo6UGFnZSosIFZlY3RvcjxXZWJDb3JlOjpQbHVn
aW5JbmZvPiYpOworICAgIHZpcnR1YWwgYm9vbCBpc0F1dG9TdGFydE9yaWdpbihXZWJDb3JlOjpQ
YWdlKiwgV2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFzaCk7CisgICAgdmlydHVhbCB2b2lkIGFkZEF1
dG9TdGFydE9yaWdpbihXZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFzaCk7
CiAKICAgICAvLyBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5CiAgICAgdmlydHVhbCBib29s
IGlzTGlua1Zpc2l0ZWQoV2ViQ29yZTo6UGFnZSosIFdlYkNvcmU6OkxpbmtIYXNoLCBjb25zdCBX
ZWJDb3JlOjpLVVJMJiwgY29uc3QgV1RGOjpBdG9taWNTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50
eHQKaW5kZXggMDAzMzk2YTY1N2ZkNDViOGJlMmM4MjUwZTA5MmNlMmQzZjZmZDIyMC4uMWRmNjE4
NzEyNWI4YmYzNzEyMTFmYjc1YzM5OTlkYWZmZDY3OTgxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQK
QEAgLTM2Miw2ICszNjIsNyBAQCBTRVQoV2ViS2l0Ml9TT1VSQ0VTCiAgICAgVUlQcm9jZXNzL05v
dGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmNwcAogICAgIFVJUHJvY2Vz
cy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmNwcAogCisgICAgVUlQcm9j
ZXNzL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwCiAgICAgVUlQcm9jZXNzL1Bs
dWdpbnMvUGx1Z2luSW5mb1N0b3JlLmNwcAogICAgIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblBy
b2Nlc3NNYW5hZ2VyLmNwcAogICAgIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94
eS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9T
b3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGFiNTIzZWYzZjNiYjM3ZWUy
NTQ3OWIyZTFhNWYwZDVjODA1MzQ0YTEuLjMyYTc2MTk5YzZjZWVjNmMwZmFiZDI2ZGRhZjJmYzll
Zjk1YjRiMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0K
KysrIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNDI4LDYgKzQyOCw3
IEBAIHdlYmtpdDJfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMv
TlBSZW1vdGVPYmplY3RNYXAuaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBW
YXJpYW50RGF0YS5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QVmFyaWFu
dERhdGEuaCBcCisJU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0
VGFibGUuaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luTW9kdWxlSW5m
by5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdpbk1vZHVsZUluZm8u
aCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5jcHAgXApAQCAtODE0LDYgKzgxNSw4IEBAIHdlYmtpdDJfc291cmNlcyArPSBc
CiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9u
UHJvdmlkZXIuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9X
ZWJOb3RpZmljYXRpb25Qcm92aWRlci5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFn
ZUNsaWVudC5oIFwKKwlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRv
U3RhcnRQcm92aWRlci5jcHAgXAorCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1Bs
dWdJbkF1dG9TdGFydFByb3ZpZGVyLmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpbkluZm9TdG9yZS5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpbkluZm9TdG9yZS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0VGFibGUuaCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFRhYmxlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGQ0MTc5NjEx
NDdkMjViMGZjNmE1NGZlZmE2Yjc1ZGJmOTZhMjA0MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFRhYmxlLmgKQEAgLTAsMCAr
MSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKworI2lmbmRlZiBQbHVnSW5BdXRvU3RhcnRUYWJsZV9oCisj
ZGVmaW5lIFBsdWdJbkF1dG9TdGFydFRhYmxlX2gKKworI2luY2x1ZGUgPFdlYkNvcmUvUGx1Z0lu
T3JpZ2luSGFzaC5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CisKK25hbWVzcGFjZSBXZWJL
aXQgeworCit0eXBlZGVmIEhhc2hTZXQ8V2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFzaD4gUGx1Z0lu
QXV0b1N0YXJ0VGFibGU7CisKK30KKworI2VuZGlmIC8qIFBsdWdJbkF1dG9TdGFydFRhYmxlX2gg
Ki8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViS2l0
Mi9UYXJnZXQucHJpCmluZGV4IDA5OGI1Yjk1NDNmNWZkZmI5YjhhOTMxYTEyODI3OTFlNmE5NzU2
OTEuLmI4ZjM1MDU2Nzk4YmE2MzljMTA0NTFlZTBlNjI1ODYzMTJkZTkwY2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYktpdDIvVGFyZ2V0LnBy
aQpAQCAtMTQyLDYgKzE0Miw3IEBAIEhFQURFUlMgKz0gXAogICAgIFNoYXJlZC9QbHVnaW5zL05Q
T2JqZWN0TWVzc2FnZVJlY2VpdmVyLmggXAogICAgIFNoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJv
eHkuaCBcCiAgICAgU2hhcmVkL1BsdWdpbnMvTlBWYXJpYW50RGF0YS5oIFwKKyAgICBTaGFyZWQv
UGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRUYWJsZS5oIFwKICAgICBTaGFyZWQvUGx1Z2lucy9QbHVn
aW5Nb2R1bGVJbmZvLmggXAogICAgIFNoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuaCBcCiAgICAgU2hhcmVkL1BsdWdpbnMvUGx1Z2luUXVpcmtzLmggXApAQCAt
MjI3LDYgKzIyOCw3IEBAIEhFQURFUlMgKz0gXAogICAgIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmgg
XAogICAgIFVJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmggXAogICAgIFVJUHJvY2Vz
cy9QYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50LmggXAorICAgIFVJUHJvY2Vzcy9QbHVnaW5z
L1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmggXAogICAgIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
bkluZm9TdG9yZS5oIFwKICAgICBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHku
aCBcCiAgICAgVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuaCBcCkBAIC01
ODMsNiArNTg1LDcgQEAgU09VUkNFUyArPSBcCiAgICAgVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMv
V2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmNwcCBcCiAgICAgVUlQcm9jZXNzL05vdGlmaWNh
dGlvbnMvV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuY3BwIFwKICAgICBVSVByb2Nlc3MvUGFnZVZp
ZXdwb3J0Q29udHJvbGxlci5jcHAgXAorICAgIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdJbkF1dG9T
dGFydFByb3ZpZGVyLmNwcCBcCiAgICAgVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3Jl
LmNwcCBcCiAgICAgVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcCBcCiAg
ICAgVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuY3BwIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFByb3Zp
ZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFy
dFByb3ZpZGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jODcwNmFjNjdmZGYwMTYyOTliYjA1NWUxMzI4NzM4
YjY0MTIzYjQ5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Bs
dWdpbnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGx1Z0luQXV0b1N0YXJ0UHJv
dmlkZXIuaCIKKworI2luY2x1ZGUgIldlYkNvbnRleHQuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNz
TWVzc2FnZXMuaCIKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJL
aXQgeworCitQbHVnSW5BdXRvU3RhcnRQcm92aWRlcjo6UGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIo
V2ViQ29udGV4dCogY29udGV4dCkKKyAgICA6IG1fY29udGV4dChjb250ZXh0KQoreworfQorCit2
b2lkIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyOjphZGRBdXRvU3RhcnRPcmlnaW4oUGx1Z0luT3Jp
Z2luSGFzaCBoYXNoKQoreworICAgIGlmIChtX2F1dG9TdGFydFRhYmxlLmNvbnRhaW5zKGhhc2gp
KQorICAgICAgICByZXR1cm47CisgICAgbV9hdXRvU3RhcnRUYWJsZS5hZGQoaGFzaCk7CisgICAg
bV9jb250ZXh0LT5zZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlBsdWdJ
bkF1dG9TdGFydE9yaWdpbkNoYW5nZWQoaGFzaCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdJbkF1
dG9TdGFydFByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVn
SW5BdXRvU3RhcnRQcm92aWRlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxNDg2MzIyYjNlMGJmY2ZhNmE3YTAz
YzQxOTI0ZDY3ZDAzMjA4MTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRQcm92aWRlci5oCkBAIC0wLDAgKzEsNTIgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyX2gKKyNkZWZpbmUg
UGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXJfaAorCisjaW5jbHVkZSAiUGx1Z0luQXV0b1N0YXJ0VGFi
bGUuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1BsdWdJbk9yaWdpbkhhc2guaD4KKyNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBX
ZWJLaXQgeworCitjbGFzcyBXZWJDb250ZXh0OworCitjbGFzcyBQbHVnSW5BdXRvU3RhcnRQcm92
aWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIp
OworcHVibGljOgorICAgIGV4cGxpY2l0IFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyKFdlYkNvbnRl
eHQqKTsKKworICAgIHZvaWQgYWRkQXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6OlBsdWdJbk9yaWdp
bkhhc2gpOworCitwcml2YXRlOgorICAgIFdlYkNvbnRleHQqIG1fY29udGV4dDsKKyAgICBQbHVn
SW5BdXRvU3RhcnRUYWJsZSBtX2F1dG9TdGFydFRhYmxlOworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CisKKyNlbmRpZiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlcl9oICovCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKaW5kZXggM2Y4MThkMWMxOGI1Mzg2MGNmODc0
MmQ0NGM5OWMzODA3N2FiMWU4MS4uOWIyMmNhM2M3ZmQ5ZjBmZmM0Nzk3YzEwYTYwODYyOTY5MjIz
OGQ4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcApAQCAtMTIwLDYg
KzEyMCw3IEBAIFdlYkNvbnRleHQ6OldlYkNvbnRleHQoUHJvY2Vzc01vZGVsIHByb2Nlc3NNb2Rl
bCwgY29uc3QgU3RyaW5nJiBpbmplY3RlZEJ1bmRsZVBhCiAgICAgLCBtX2RlZmF1bHRQYWdlR3Jv
dXAoV2ViUGFnZUdyb3VwOjpjcmVhdGUoKSkKICAgICAsIG1faW5qZWN0ZWRCdW5kbGVQYXRoKGlu
amVjdGVkQnVuZGxlUGF0aCkKICAgICAsIG1fdmlzaXRlZExpbmtQcm92aWRlcih0aGlzKQorICAg
ICwgbV9wbHVnSW5BdXRvU3RhcnRQcm92aWRlcih0aGlzKQogICAgICwgbV9hbHdheXNVc2VzQ29t
cGxleFRleHRDb2RlUGF0aChmYWxzZSkKICAgICAsIG1fc2hvdWxkVXNlRm9udFNtb290aGluZyh0
cnVlKQogICAgICwgbV9jYWNoZU1vZGVsKENhY2hlTW9kZWxEb2N1bWVudFZpZXdlcikKQEAgLTEw
MjUsNCArMTAyNiw5IEBAIHZvaWQgV2ViQ29udGV4dDo6c2V0SmF2YVNjcmlwdEdhcmJhZ2VDb2xs
ZWN0b3JUaW1lckVuYWJsZWQoYm9vbCBmbGFnKQogICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhNZXNz
YWdlczo6V2ViUHJvY2Vzczo6U2V0SmF2YVNjcmlwdEdhcmJhZ2VDb2xsZWN0b3JUaW1lckVuYWJs
ZWQoZmxhZykpOwogfQogCit2b2lkIFdlYkNvbnRleHQ6OmFkZFBsdWdJbkF1dG9TdGFydE9yaWdp
bkhhc2goV2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFzaCBoYXNoKQoreworICAgIG1fcGx1Z0luQXV0
b1N0YXJ0UHJvdmlkZXIuYWRkQXV0b1N0YXJ0T3JpZ2luKGhhc2gpOworfQorCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250
ZXh0LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCmluZGV4IDJjZjdi
YjUwN2NlMGNlYjAyYTFhYTU5MTE0YTY4OGYxNzgwMzQ5MWQuLmEzNmNhOGRmODU5M2IyNDhhOTI0
NmY3YjliNDE4MzZlMjFjYzlhNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQu
aApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkdlbmVyaWNDYWxsYmFjay5oIgogI2luY2x1
ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlck1hcC5oIgor
I2luY2x1ZGUgIlBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiUGx1Z2luSW5m
b1N0b3JlLmgiCiAjaW5jbHVkZSAiUHJvY2Vzc01vZGVsLmgiCiAjaW5jbHVkZSAiVmlzaXRlZExp
bmtQcm92aWRlci5oIgpAQCAtMzksNiArNDAsNyBAQAogI2luY2x1ZGUgIldlYkhpc3RvcnlDbGll
bnQuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHkuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0xp
bmtIYXNoLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QbHVnSW5PcmlnaW5IYXNoLmg+CiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CkBAIC0zMTAsNiArMzEyLDggQEAgcHJpdmF0ZToKICAgICBzdGF0aWMg
dm9pZCByZWdpc3Rlck9jY2x1c2lvbk5vdGlmaWNhdGlvbkhhbmRsZXJzKCk7CiAjZW5kaWYKIAor
ICAgIHZvaWQgYWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaChXZWJDb3JlOjpQbHVnSW5Pcmln
aW5IYXNoKTsKKwogICAgIFByb2Nlc3NNb2RlbCBtX3Byb2Nlc3NNb2RlbDsKICAgICAKICAgICBW
ZWN0b3I8UmVmUHRyPFdlYlByb2Nlc3NQcm94eT4gPiBtX3Byb2Nlc3NlczsKQEAgLTMyOSw2ICsz
MzMsNyBAQCBwcml2YXRlOgogICAgIFBsdWdpbkluZm9TdG9yZSBtX3BsdWdpbkluZm9TdG9yZTsK
ICNlbmRpZgogICAgIFZpc2l0ZWRMaW5rUHJvdmlkZXIgbV92aXNpdGVkTGlua1Byb3ZpZGVyOwor
ICAgIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyIG1fcGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXI7CiAg
ICAgICAgIAogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3NjaGVtZXNUb1JlZ2lzdGVyQXNFbXB0eURv
Y3VtZW50OwogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3NjaGVtZXNUb1JlZ2lzdGVyQXNTZWN1cmU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0Lm1lc3NhZ2VzLmluCmlu
ZGV4IDI2NjRhNWY0ZmZlNjc4MWQ1ZGFkYTNhNDI4YzFmN2U5NmU2MWE5ZTQuLmY2MjQ5YjMwNGZk
NTgwNmNmNzE0ZDgyZWY3ZmQyY2Q0MjlhNDk3YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJDb250ZXh0Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJDb250ZXh0Lm1lc3NhZ2VzLmluCkBAIC01MSw0ICs1MSw3IEBAIG1lc3NhZ2Vz
IC0+IFdlYkNvbnRleHQgewogICAgIC8vIGFueSBzeW5jaHJvbm91cyBtZXNzYWdlcywgYW5kIHNo
b3VsZCBiZSByZW1vdmVkIHdoZW4gPHJkYXI6Ly9wcm9ibGVtLzg3NzUxMTU+IGlzIGZpeGVkLgog
ICAgIER1bW15KCkgLT4gKGJvb2wgZHVtbXlSZXR1cm4pCiAjZW5kaWYKKworICAgICMgUGx1Zy1p
biBtZXNzYWdlcy4KKyAgICB2b2lkIEFkZFBsdWdJbkF1dG9TdGFydE9yaWdpbkhhc2godWludDY0
X3QgaGFzaCkKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCA3NmUyZDJhNjdiNjliMzdhODM1OTQwZjZjNTIyYzEyYjkxZTZhNGI5
Li42NmYxZjcyN2EwMDZkYjhmOWY3NjAwM2ZmYzdkN2E1YTkyZTM3MjI0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zMjEsNiAr
MzIxLDkgQEAKIAkJMzFBMkVDNTYxNDg5OUMwOTAwODEwRDcxIC8qIE5vdGlmaWNhdGlvblBlcm1p
c3Npb25SZXF1ZXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAzMUEyRUM1MzE0ODk5ODI1MDA4MTBENzEgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvblJl
cXVlc3QuaCAqLzsgfTsKIAkJMzFBMkVDNzQxNDhENTlDQTAwODEwRDcxIC8qIFdLTm90aWZpY2F0
aW9uUGVybWlzc2lvblJlcXVlc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDMxQTJFQzcyMTQ4RDU5QkIwMDgxMEQ3MSAvKiBXS05vdGlmaWNhdGlvblBl
cm1pc3Npb25SZXF1ZXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMzFBMkVDNzcxNDhENjYyRTAwODEwRDcxIC8qIFdLTm90aWZpY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzFBMkVDNzUxNDhENjVCQjAwODEwRDcxIC8qIFdLTm90aWZpY2F0aW9uUGVybWlz
c2lvblJlcXVlc3QuY3BwICovOyB9OworCQkzMUE2N0UwQzE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1
Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMzFBNjdFMEExNjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFy
dFByb3ZpZGVyLmNwcCAqLzsgfTsKKwkJMzFBNjdFMEQxNjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJ
bkF1dG9TdGFydFByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMUE2N0UwQjE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJv
dmlkZXIuaCAqLzsgfTsKKwkJMzFBNjdFMTIxNjVCOTFFQzAwNkNCQTY2IC8qIFBsdWdJbkF1dG9T
dGFydFRhYmxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAzMUE2N0UxMDE2NUI5MUVDMDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0VGFibGUuaCAqLzsg
fTsKIAkJMzFCQTkyNEQxNDg4MzEyNjAwNjJFREI1IC8qIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJN
ZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzFCQTkyNDgxNDg4MzA4MTAwNjJFREI1IC8qIFdlYk5vdGlmaWNhdGlvbk1hbmFn
ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQkzMUJBOTI0RTE0ODgzMTI2MDA2MkVEQjUg
LyogV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUJBOTI0OTE0ODgzMDgxMDA2MkVEQjUgLyogV2Vi
Tm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VzLmggKi87IH07CiAJCTMxRUEyNUQyMTM0Rjc4QzAw
MDVCMTQ1MiAvKiBOYXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFFQTI1RDAxMzRGNzhCMjAwNUIxNDUyIC8qIE5h
dGl2ZVdlYk1vdXNlRXZlbnRNYWMubW0gKi87IH07CkBAIC0xNTQ1LDYgKzE1NDgsOSBAQAogCQkz
MUEyRUM1NDE0ODk5ODJFMDA4MTBENzEgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3Qu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTm90aWZpY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUEyRUM3
MjE0OEQ1OUJCMDA4MTBENzEgLyogV0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXS05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQTJFQzc1MTQ4RDY1QkIwMDgxMEQ3MSAvKiBXS05vdGlm
aWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkzMUE2N0UwQTE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0
b1N0YXJ0UHJvdmlkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
UGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkzMUE2N0UwQjE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFBNjdFMTAxNjVCOTFFQzAwNkNCQTY2
IC8qIFBsdWdJbkF1dG9TdGFydFRhYmxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFBsdWdJbkF1dG9TdGFydFRhYmxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTMxQkE5MjQ4MTQ4ODMwODEwMDYyRURCNSAvKiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2Fn
ZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk5v
dGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkzMUJBOTI0OTE0ODgzMDgxMDA2MkVEQjUgLyogV2ViTm90aWZpY2F0aW9uTWFu
YWdlck1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk5vdGlm
aWNhdGlvbk1hbmFnZXJNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkz
MUVBMjVEMDEzNEY3OEIyMDA1QjE0NTIgLyogTmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IE5hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0yOTA1LDYgKzI5MTEsNyBAQAogCQkJCTFBMUZBMjUxMTI3QTBF
NEYwMDUwRTcwOSAvKiBOUFJlbW90ZU9iamVjdE1hcC5oICovLAogCQkJCTFBMkQ4NEEyMTI3RjZB
RDEwMDFFQjk2MiAvKiBOUFZhcmlhbnREYXRhLmNwcCAqLywKIAkJCQkxQTJEODRBMTEyN0Y2QUQx
MDAxRUI5NjIgLyogTlBWYXJpYW50RGF0YS5oICovLAorCQkJCTMxQTY3RTEwMTY1QjkxRUMwMDZD
QkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRUYWJsZS5oICovLAogCQkJCTFBM0Q2MEZGMTNBN0NDMkEw
MEY5NUQ0RSAvKiBQbHVnaW5Nb2R1bGVJbmZvLmNwcCAqLywKIAkJCQkxQTNENjEwMDEzQTdDQzJB
MDBGOTVENEUgLyogUGx1Z2luTW9kdWxlSW5mby5oICovLAogCQkJCTFBMkQ5MEQxMTI4MUM5NjYw
MDFFQjk2MiAvKiBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCAqLywKQEAgLTI5
NzQsNiArMjk4MSw4IEBACiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJ
CTFBRUZDQzBEMTFEMDFGNDEwMDgyMTlEMyAvKiBtYWMgKi8sCisJCQkJMzFBNjdFMEExNjVCMkE5
OTAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcCAqLywKKwkJCQkzMUE2N0Uw
QjE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCAqLywKIAkJCQkx
QUVGQ0MxMTExRDAxRjk2MDA4MjE5RDMgLyogUGx1Z2luSW5mb1N0b3JlLmNwcCAqLywKIAkJCQkx
QUVGQ0MxMDExRDAxRjk2MDA4MjE5RDMgLyogUGx1Z2luSW5mb1N0b3JlLmggKi8sCiAJCQkJMUEw
RUM2MDIxMjRBOUYyQzAwN0VGNEE1IC8qIFBsdWdpblByb2Nlc3NNYW5hZ2VyLmNwcCAqLywKQEAg
LTUwMDAsNiArNTAwOSw4IEBACiAJCQkJMjk4NEY1ODkxNjRCQTA5NTAwNEJDMEM2IC8qIEN1c3Rv
bVByb3RvY29sTWFuYWdlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUYwNjBFMDE2
NTQzMTdGMDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNTE3NTk0NEIxNjU3MDgwNDAwREQ3NzFEIC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRl
ck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKKwkJCQkzMUE2N0UwRDE2NUIyQTk5MDA2Q0JBNjYg
LyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxQTY3RTEy
MTY1QjkxRUMwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRUYWJsZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07
CkBAIC01OTU0LDYgKzU5NjUsNyBAQAogCQkJCTI5ODRGNTg4MTY0QkEwOTUwMDRCQzBDNiAvKiBD
dXN0b21Qcm90b2NvbE1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJl
Y2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxNzU5NDRBMTY1NzA4MDQwMERENzcxRCAv
KiBOZXR3b3JrUmVzb3VyY2VMb2FkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMzFBNjdFMEMxNjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCmlu
ZGV4IGMwNDY2NDQzOThmM2IxZWUxZTQ4NDA4MWYzNjAxYzI4YTEzYjhkYTQuLmFlOTBiMzk5NDQy
NTNmZmMzOGJmYTEyMzk0ODc2MjMzOGZiMmZiZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3Ry
YXRlZ2llcy5jcHAKQEAgLTE1MSw2ICsxNTEsMTYgQEAgdm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdp
ZXM6OmdldFBsdWdpbkluZm8oY29uc3QgV2ViQ29yZTo6UGFnZSosIFZlY3RvcjxXZWJDb3JlOjoK
ICNlbmRpZiAvLyBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKIH0KIAorYm9vbCBXZWJQbGF0
Zm9ybVN0cmF0ZWdpZXM6OmlzQXV0b1N0YXJ0T3JpZ2luKFBhZ2UqLCBQbHVnSW5PcmlnaW5IYXNo
IGhhc2gpCit7CisgICAgcmV0dXJuIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmlzUGx1Z0luQXV0b1N0
YXJ0T3JpZ2luKGhhc2gpOworfQorCit2b2lkIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6YWRkQXV0
b1N0YXJ0T3JpZ2luKFBhZ2UqLCBQbHVnSW5PcmlnaW5IYXNoIGhhc2gpCit7CisgICAgV2ViUHJv
Y2Vzczo6c2hhcmVkKCkuYWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luKGhhc2gpOworfQorCiAjaWYg
RU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiBzdGF0aWMgQmxvY2tpbmdSZXNwb25zZU1hcDxW
ZWN0b3I8V2ViQ29yZTo6UGx1Z2luSW5mbz4gPiYgcmVzcG9uc2VNYXAoKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0
cmF0ZWdpZXMuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
UGxhdGZvcm1TdHJhdGVnaWVzLmgKaW5kZXggMDQwY2ZiMWE5YTYzZWVmOTA3OTFmMGYzYzU2OWRi
YTI2YjJhZjEwMy4uZjQ2Yzc0ZGQ1YjlmOGVhNDJkNzU4NWYyYTNkNmM0MmNkNzBiNDJmMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0
Zm9ybVN0cmF0ZWdpZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCkBAIC02Nyw2ICs2Nyw4IEBAIHByaXZhdGU6
CiAgICAgLy8gV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3kKICAgICB2aXJ0dWFsIHZvaWQgcmVmcmVz
aFBsdWdpbnMoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZ2V0UGx1Z2luSW5mbyhjb25z
dCBXZWJDb3JlOjpQYWdlKiwgVmVjdG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+JikgT1ZFUlJJREU7
CisgICAgdmlydHVhbCBib29sIGlzQXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6OlBhZ2UqLCBXZWJD
b3JlOjpQbHVnSW5PcmlnaW5IYXNoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkQXV0
b1N0YXJ0T3JpZ2luKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNoKSBP
VkVSUklERTsKIAogICAgIC8vIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kKICAgICB2aXJ0
dWFsIGJvb2wgaXNMaW5rVmlzaXRlZChXZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6TGlua0hhc2gs
IGNvbnN0IFdlYkNvcmU6OktVUkwmIGJhc2VVUkwsIGNvbnN0IFdURjo6QXRvbWljU3RyaW5nJiBh
dHRyaWJ1dGVVUkwpIE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAKaW5kZXggMjhiN2JmZDdiMDIzNjZmMzQwZjI0NzFlMDc3YzM2OTBmMmFhOGI2ZC4uYjJm
MjBkYjk3ZWQzZmY1NTEzNTNkMDg3MzNmYzk0Y2U1YzI1NjI1MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC05MTIsNyArOTEyLDI1IEBAIHZvaWQgV2ViUHJv
Y2Vzczo6Y2xlYXJQbHVnaW5TaXRlRGF0YShjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGx1Z2luUGF0
aHMsIGNvbnN0IFZlCiAgICAgY29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNz
UHJveHk6OkRpZENsZWFyUGx1Z2luU2l0ZURhdGEoY2FsbGJhY2tJRCksIDApOwogfQogI2VuZGlm
Ci0gICAgCisKK2Jvb2wgV2ViUHJvY2Vzczo6aXNQbHVnSW5BdXRvU3RhcnRPcmlnaW4oUGx1Z0lu
T3JpZ2luSGFzaCBoYXNoKQoreworICAgIHJldHVybiBtX2F1dG9TdGFydFRhYmxlLmNvbnRhaW5z
KGhhc2gpOworfQorCit2b2lkIFdlYlByb2Nlc3M6OmFkZFBsdWdJbkF1dG9TdGFydE9yaWdpbihQ
bHVnSW5PcmlnaW5IYXNoIGhhc2gpCit7CisgICAgaWYgKGlzUGx1Z0luQXV0b1N0YXJ0T3JpZ2lu
KGhhc2gpKQorICAgICAgICByZXR1cm47CisKKyAgICBjb25uZWN0aW9uKCktPnNlbmQoTWVzc2Fn
ZXM6OldlYkNvbnRleHQ6OkFkZFBsdWdJbkF1dG9TdGFydE9yaWdpbkhhc2goaGFzaCksIDApOwor
fQorCit2b2lkIFdlYlByb2Nlc3M6OnBsdWdJbkF1dG9TdGFydE9yaWdpbkNoYW5nZWQoUGx1Z0lu
T3JpZ2luSGFzaCBoYXNoKQoreworICAgIG1fYXV0b1N0YXJ0VGFibGUuYWRkKGhhc2gpOworfQor
CiBzdGF0aWMgdm9pZCBmcm9tQ291bnRlZFNldFRvSGFzaE1hcChUeXBlQ291bnRTZXQqIGNvdW50
ZWRTZXQsIEhhc2hNYXA8U3RyaW5nLCB1aW50NjRfdD4mIG1hcCkKIHsKICAgICBUeXBlQ291bnRT
ZXQ6OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IGNvdW50ZWRTZXQtPmVuZCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCA4MmU2Y2M4ZjJhYjFlOGUwM2Q4Y2U0YTQ5Mjgx
NGYzOTc3Njc4OTVkLi40M2M3MGUzNjY4OTVhYzIyNDgzOWYzMDdiMzc3NGJmMjRkM2U1MDlmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtMzEsNiArMzEsNyBAQAog
I2luY2x1ZGUgIkRyYXdpbmdBcmVhLmgiCiAjaW5jbHVkZSAiRXZlbnREaXNwYXRjaGVyLmgiCiAj
aW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyTWFwLmgiCisjaW5jbHVkZSAiUGx1Z0luQXV0b1N0YXJ0
VGFibGUuaCIKICNpbmNsdWRlICJQbHVnaW5JbmZvU3RvcmUuaCIKICNpbmNsdWRlICJSZXNvdXJj
ZUNhY2hlc1RvQ2xlYXIuaCIKICNpbmNsdWRlICJTYW5kYm94RXh0ZW5zaW9uLmgiCkBAIC00Miw2
ICs0Myw3IEBACiAjaW5jbHVkZSAiV2ViSWNvbkRhdGFiYXNlUHJveHkuaCIKICNpbmNsdWRlICJX
ZWJQYWdlR3JvdXBQcm94eS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvTGlua0hhc2guaD4KKyNpbmNs
dWRlIDxXZWJDb3JlL1BsdWdJbk9yaWdpbkhhc2guaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KQEAg
LTE1Miw2ICsxNTQsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBhZGRWaXNpdGVkTGluayhXZWJDb3Jl
OjpMaW5rSGFzaCk7CiAgICAgYm9vbCBpc0xpbmtWaXNpdGVkKFdlYkNvcmU6OkxpbmtIYXNoKSBj
b25zdDsKIAorICAgIGJvb2wgaXNQbHVnSW5BdXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6UGx1Z0lu
T3JpZ2luSGFzaCk7CisgICAgdm9pZCBhZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6
UGx1Z0luT3JpZ2luSGFzaCk7CisKICAgICBib29sIGZ1bGxLZXlib2FyZEFjY2Vzc0VuYWJsZWQo
KSBjb25zdCB7IHJldHVybiBtX2Z1bGxLZXlib2FyZEFjY2Vzc0VuYWJsZWQ7IH0KIAogICAgIFdl
YkZyYW1lKiB3ZWJGcmFtZSh1aW50NjRfdCkgY29uc3Q7CkBAIC0yMzYsNiArMjQxLDggQEAgcHJp
dmF0ZToKICAgICB2b2lkIHZpc2l0ZWRMaW5rU3RhdGVDaGFuZ2VkKGNvbnN0IFZlY3RvcjxXZWJD
b3JlOjpMaW5rSGFzaD4mIGxpbmtIYXNoZXMpOwogICAgIHZvaWQgYWxsVmlzaXRlZExpbmtTdGF0
ZUNoYW5nZWQoKTsKIAorICAgIHZvaWQgcGx1Z0luQXV0b1N0YXJ0T3JpZ2luQ2hhbmdlZChXZWJD
b3JlOjpQbHVnSW5PcmlnaW5IYXNoKTsKKwogICAgIHZvaWQgcGxhdGZvcm1TZXRDYWNoZU1vZGVs
KENhY2hlTW9kZWwpOwogICAgIHN0YXRpYyB2b2lkIGNhbGN1bGF0ZUNhY2hlU2l6ZXMoQ2FjaGVN
b2RlbCBjYWNoZU1vZGVsLCB1aW50NjRfdCBtZW1vcnlTaXplLCB1aW50NjRfdCBkaXNrRnJlZVNp
emUsCiAgICAgICAgIHVuc2lnbmVkJiBjYWNoZVRvdGFsQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNo
ZU1pbkRlYWRDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBkb3VibGUm
IGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwsCkBAIC0zMjgsNiArMzM1LDggQEAgcHJp
dmF0ZToKICAgICBWaXNpdGVkTGlua1RhYmxlIG1fdmlzaXRlZExpbmtUYWJsZTsKICAgICBib29s
IG1fc2hvdWxkVHJhY2tWaXNpdGVkTGlua3M7CiAKKyAgICBQbHVnSW5BdXRvU3RhcnRUYWJsZSBt
X2F1dG9TdGFydFRhYmxlOworCiAgICAgYm9vbCBtX2hhc1NldENhY2hlTW9kZWw7CiAgICAgQ2Fj
aGVNb2RlbCBtX2NhY2hlTW9kZWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCBlZGNhZDM0ZmYzN2NlYTdhZDEzNWQ2ZDI2NDQy
ZTFkZWM0ODhkMzA2Li5hNjBmZjMzZTJjZjRjZGZjMGY2ZjdlM2ExYWI0NWJmNjcwZWU4YWMzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMu
aW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmlu
CkBAIC02Myw2ICs2Myw3IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3MgewogICAgIEdldFNpdGVz
V2l0aFBsdWdpbkRhdGEoVmVjdG9yPFdURjo6U3RyaW5nPiBwbHVnaW5QYXRocywgdWludDY0X3Qg
Y2FsbGJhY2tJRCkKICAgICBDbGVhclBsdWdpblNpdGVEYXRhKFZlY3RvcjxXVEY6OlN0cmluZz4g
cGx1Z2luUGF0aHMsIFZlY3RvcjxXVEY6OlN0cmluZz4gc2l0ZXMsIHVpbnQ2NF90IGZsYWdzLCB1
aW50NjRfdCBtYXhBZ2VJblNlY29uZHMsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAjZW5kaWYKKyAg
ICBQbHVnSW5BdXRvU3RhcnRPcmlnaW5DaGFuZ2VkKHVpbnQ2NF90IGhhc2gpCiAKICNpZiBFTkFC
TEUoTkVUV09SS19QUk9DRVNTKQogICAgIE5ldHdvcmtQcm9jZXNzQ3Jhc2hlZCgpIERpc3BhdGNo
T25Db25uZWN0aW9uUXVldWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQy
LnZjcHJvaiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagppbmRleCAwNTdjYmYz
ZGIzNmZlODNkY2I1Mzk2OGQwMDBhNmVlNzQ5MTljNTliLi45MWNkZDM4ZmFhZDVhNzdmZTM5NDA1
NDMwMDZlNmM1MWY3ODE0MDc2IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0
Mi52Y3Byb2oKKysrIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCkBAIC0xNTU4
LDYgKzE1NTgsMTAgQEAKIAkJCQlOYW1lPSJQbHVnaW5zIgogCQkJCT4KIAkJCQk8RmlsZQorCQkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXFNoYXJlZFxQbHVnaW5zXFBsdWdJbkF1dG9TdGFydFRhYmxlLmgi
CisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxT
aGFyZWRcUGx1Z2luc1xQbHVnaW5Nb2R1bGVJbmZvLmNwcCIKIAkJCQkJPgogCQkJCTwvRmlsZT4K
QEAgLTM4NjYsNiArMzg3MCwxNCBAQAogCQkJCU5hbWU9IlBsdWdpbnMiCiAJCQkJPgogCQkJCTxG
aWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9jZXNzXFBsdWdpbnNcUGx1Z0luQXV0b1N0
YXJ0UHJvdmlkZXIuY3BwIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJl
bGF0aXZlUGF0aD0iLi5cVUlQcm9jZXNzXFBsdWdpbnNcUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIu
aCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XFVJUHJvY2Vzc1xQbHVnaW5zXFBsdWdpbkluZm9TdG9yZS5jcHAiCiAJCQkJCT4KIAkJCQk8L0Zp
bGU+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176354</attachid>
            <date>2012-11-27 15:59:36 -0800</date>
            <delta_ts>2012-11-27 16:13:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103206-20121127155713.patch</filename>
            <type>text/plain</type>
            <size>53618</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1ODM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmQwYzE3N2YyMjE1Y2Q3
ZWFjZGZjZDFmZDE5NDZiYTE0ZWU5ODU4MC4uYTEzYjQ3YmUzYmE0YjUyZGI0Njc0MmFiMjczMmRj
Mzc1MDFmMDcwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDEyLTExLTI3ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBLZWVwIHRyYWNrIG9mIHBsdWctaW4g
c25hcHNob3RzIGNsaWNrZWQgYnkgdXNlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjc0NjQ4
Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCZXR3
ZWVuIHRoZSBVSSBhbmQgd2ViIHByb2Nlc3NlcyB3ZSBrZWVwIHRyYWNrIG9mICJvcmlnaW4gaGFz
aGVzIiwgd2hpY2ggYXJlIGJhc2VkIG9uIGEgY29tYmluYXRpb24gb2YKKyAgICAgICAgdGhlIGJh
c2UgZG9tYWlucyBvZiB0aGUgcGFnZSdzIG1haW4gZnJhbWUgYW5kIHRoZSBwbHVnaW4uCisKKyAg
ICAgICAgQmVjYXVzZSB0aGUgYWN0dWFsIFVSTCBsb2FkZWQgZm9yIHRoZSBwbHVnaW4gbWlnaHQg
ZGlmZmVyIGZyb20gdGhlIG9uZSBvcmlnaW5hbGx5IHNwZWNpZmllZCwKKyAgICAgICAgd2Ugd2Fp
dCB1bnRpbCB0aGUgcGx1Zy1pbiBpcyBhYm91dCB0byBiZSBjcmVhdGVkIHRvIGdldCB0aGUgaGFz
aC4gVGhlIGhhc2ggaXMgY2FjaGVkLCBzbyB0aGF0IHdoZW4gdGhlCisgICAgICAgIHVzZXIgY2xp
Y2tzIG9uIHRoZSBwbHVnLWluIHNuYXBzaG90LCB0aGUgaGFzaCBjYW4gYmUgYWRkZWQgdG8gdGhl
IGxpc3Qgb2YgZG9tYWluIGhhc2hlcyB0aGF0IHNob3VsZAorICAgICAgICBhdXRvLXN0YXJ0Lgor
CisgICAgICAgICogcGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6Y29kZUZvbGRlZEhhc2gpOiBIYXNoIHRoZSBzdHJpbmcgd2l0aCBhIGNhc2Ut
Zm9sZGVkIGhhc2guCisgICAgICAgIChXZWJDb3JlOjpwbHVnSW5PcmlnaW5IYXNoKTogVGhlIGhh
c2ggaXMgdGhlIGp1eHRhcG9zaXRpb24gb2YgdHdvIGNvbXBsZXRlIDMyLWJpdCBoYXNoZXMsIG9u
ZSBvZiB0aGUgcGFnZSdzCisgICAgICAgIGhvc3QsIHRoZSBvdGhlciBvZiB0aGUgcGx1Zy1pbiBV
UkwncyBob3N0LiBXZSB1c2UgU3RyaW5nSGFzaGVyOjpjb21wdXRlSGFzaCgpIHRvIGdldCBhbGwg
MzItYml0cyBvZiB0aGUKKyAgICAgICAgaGFzaC4gVXNpbmcgU3RyaW5nSW1wbCdzIGhhc2ggbWFz
a3Mgb3V0IDggb2YgdGhlIGhhc2ggYml0cy4gV2UgY2FuIG5laXRoZXIgbGV2ZXJhZ2UgdGhhdCBj
YWNoZWQgaGFzaCBzaW5jZQorICAgICAgICByZXRyaWV2aW5nIHRoZSBob3N0IGZyb20gdGhlIEtV
UkwgY3JlYXRlcyBhIGJyYW5kIG5ldyBzdHJpbmcgZXZlcnkgdGltZS4KKyAgICAgICAgICAgIElu
IHRoZSBjYXNlIHdoZXJlIHRoZSBob3N0IGhhcyBhbiBlbXB0eSBzdHJpbmcgKGxpa2UgYSBmaWxl
IFVSTCksIHdlIHN1YnN0aXR1dGUgaW4gImxvY2FsaG9zdCIuCisgICAgICAgICogcGxhdGZvcm0v
UGx1Z0luT3JpZ2luSGFzaC5oOiBBZGRlZC4KKworICAgICAgICAqIHBsdWdpbnMvUGx1Z2luU3Ry
YXRlZ3kuaDoKKyAgICAgICAgKFBsdWdpblN0cmF0ZWd5KTogQWRkIG5ldyBmdW5jdGlvbnMgdG8g
dGhlIHBsdWctaW4gc3RyYXRlZ3ksIGZvciBjaGVja2luZyB3aGV0aGVyIHBsdWctaW5zIHdpdGgg
YQorICAgICAgICBjZXJ0YWluIG9yaWdpbiBoYXNoIGFyZSBtYXJrZWQgZm9yIGF1dG8tbG9hZCwg
YW5kIGZvciBhZGRpbmcgYSBuZXcgb3JpZ2luIGhhc2guCisKKyAgICAgICAgKiBodG1sL0hUTUxQ
bHVnSW5JbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFBsdWdJbkltYWdl
RWxlbWVudDo6SFRNTFBsdWdJbkltYWdlRWxlbWVudCk6IEluaXRpYWxseSB0aGUgaGFzaCBpcyB1
bmtub3duLiBTZXQgdG8gMC4KKyAgICAgICAgTW92ZSB0aGUgY2hlY2sgZm9yIHdoZXRoZXIgdG8g
c25hcHNob3QgdGhlIHBsdWdpbiBpbnRvIHRoZSBuZXcgZnVuY3Rpb24gc3ViZnJhbWVMb2FkZXJX
aWxsTG9hZFBsdWdJbi4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6
OnVzZXJEaWRDbGlja1NuYXBzaG90KTogUmVuYW1lIHNldFBlbmRpbmdDbGlja0V2ZW50KCkgdG8K
KyAgICAgICAgdXNlckRpZENsaWNrU25hcHNob3QuIEluIGFkZGl0aW9uIHRvIGhvbGRpbmcgb250
byB0aGUgY2xpY2sgZXZlbnQgdXNlZCB0byBhY3RpdmF0ZSB0aGUgcGx1Zy1pbiwgdGhlCisgICAg
ICAgIGZ1bmN0aW9uIG5vdyBhbHNvIHRlbGxzIHRoZSBwbHVnaW4gc3RyYXRlZ3kgdG8gYWRkIHRo
ZSBvcmlnaW4gaGFzaCBhcyBhbiBhdXRvLXN0YXJ0IG9yaWdpbi4KKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OnN1YmZyYW1lTG9hZGVyV2lsbExvYWRQbHVnSW4pOiBD
YWxjdWxhdGUgdGhlIGhhc2ggYmFzZWQgb24gdGhlCisgICAgICAgIHByb3ZpZGVkIFVSTCwgd2hp
Y2ggaXMgdGhlIFVSTCB0aGUgcGx1Zy1pbiB3aWxsIGxvYWQuIEV4dGVuZCB0aGUgY2hlY2sgdGhh
dCB1c2VkIHRvIGJlIGluIHRoZQorICAgICAgICBjb25zdHJ1Y3RvciB0byBzZWUgaWYgdGhlIHBs
dWctaW4gc2hvdWxkIG5vdCBhdXRvbWF0aWNhbGx5IGxvYWQuCisgICAgICAgICogaHRtbC9IVE1M
UGx1Z0luSW1hZ2VFbGVtZW50Lmg6CisgICAgICAgIChIVE1MUGx1Z0luSW1hZ2VFbGVtZW50KTog
QWRkIGFuIGl2YXIgdG8gbWFpbnRhaW4gYSBjb3B5IG9mIHRoZSBoYXNoLgorCisgICAgICAgICog
bG9hZGVyL1N1YmZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN1YmZyYW1lTG9h
ZGVyOjpyZXF1ZXN0UGx1Z2luKTogV2hlbiB0aGUgbG9hZGVyIGlzIGFib3V0IHRvIGxvYWQgdGhl
IHBsdWctaW4sIHBhc3MgdGhlCisgICAgICAgIFVSTCB0byB0aGUgZWxlbWVudCwgc28gdGhhdCBp
dCBjYW4gY2FsY3VsYXRlIHRoZSBoYXNoLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNu
YXBzaG90dGVkUGx1Z0luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNuYXBzaG90dGVk
UGx1Z0luOjpoYW5kbGVFdmVudCk6IENhbGwgdGhlIHJlbmFtZWQgZnVuY3Rpb24gdXNlckRpZENs
aWNrU25hcHNob3QoKS4KKworICAgICAgICBBZGQgUGx1Z0luT3JpZ2luSGFzaC57Y3BwLGh9Lgor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06
CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAg
ICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDEyLTExLTI3ICBTaGVyaWZmIEJvdCAgPHdlYmtp
dC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91
dCByMTM1Nzg2LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4IGNmZjBmNzJhY2VjNGEwOWJiOWI2M2Q0MjU3
NmRmYmMwYjc3NzIzYWUuLjFlYmIyYzUzZWM0ZmQ2YzZjM2Y1NGI1NGY4Mzc2ZTI4N2JiYWUxZTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0xMS0yNyAgSm9uIExlZSAg
PGpvbmxlZUBhcHBsZS5jb20+CisKKyAgICAgICAgS2VlcCB0cmFjayBvZiBwbHVnLWluIHNuYXBz
aG90cyBjbGlja2VkIGJ5IHVzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwMzIwNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTI3NDY0ODM+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwuY3BwOiBTdHViIGltcGxlbWVudGF0aW9ucy4K
KyAgICAgICAgKFBsYXRmb3JtU3RyYXRlZ2llc0VmbDo6aXNBdXRvU3RhcnRPcmlnaW4pOgorICAg
ICAgICAoUGxhdGZvcm1TdHJhdGVnaWVzRWZsOjphZGRBdXRvU3RhcnRPcmlnaW4pOgorICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5oOgorCiAyMDEyLTExLTI3
ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByMTM1Nzg2LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDczOGY4
NTNjYWE4OWE4YTFkMGFiN2Q0ZWQ3M2NlZmM4ZDdlZGVlNGUuLjVkYmI5MzlkOGJjNTgzYWVlYmM0
NzM5OTE3NWRlYzliZGQ5ZTllNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAor
MjAxMi0xMS0yNyAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKKyAgICAgICAgS2VlcCB0
cmFjayBvZiBwbHVnLWluIHNuYXBzaG90cyBjbGlja2VkIGJ5IHVzZXIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzIwNgorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMTI3NDY0ODM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuY3BwOiBT
dHViIGltcGxlbWVudGF0aW9ucy4KKyAgICAgICAgKFBsYXRmb3JtU3RyYXRlZ2llc0d0azo6aXNB
dXRvU3RhcnRPcmlnaW4pOgorICAgICAgICAoUGxhdGZvcm1TdHJhdGVnaWVzR3RrOjphZGRBdXRv
U3RhcnRPcmlnaW4pOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2ll
c0d0ay5oOgorCiAyMDEyLTExLTI3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdt
YWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTM1Nzg2LgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCmluZGV4IDkxMzFiZTAyMmI2ODcyNzNjMjA4M2JlNTgxY2NiMDQwMTNiOWZkZWUu
LmVhN2RhZjQyZGUwOTBkNjJiZWFkYzAyMDg3NTE1ZjE1YzdjZWY3YjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0xMS0yNyAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5j
b20+CisKKyAgICAgICAgS2VlcCB0cmFjayBvZiBwbHVnLWluIHNuYXBzaG90cyBjbGlja2VkIGJ5
IHVzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
MzIwNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTI3NDY0ODM+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJQbGF0
Zm9ybVN0cmF0ZWdpZXMuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0
cmF0ZWdpZXMubW06IFN0dWIgaW1wbGVtZW50YXRpb25zLgorICAgICAgICAoV2ViUGxhdGZvcm1T
dHJhdGVnaWVzOjppc0F1dG9TdGFydE9yaWdpbik6CisgICAgICAgIChXZWJQbGF0Zm9ybVN0cmF0
ZWdpZXM6OmFkZEF1dG9TdGFydE9yaWdpbik6CisKIDIwMTItMTEtMjcgIFNoZXJpZmYgQm90ICA8
d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxp
bmcgb3V0IHIxMzU3ODYuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDFmNzBlMjFhOWFmNGExNzdmZWM0NGQy
MDNjM2Q3Y2QzNGRkYTE3ZTIuLjNhZWVhZWRlMzFhMjlmZDYxM2U0MTc3YmU0MDczMzlmY2RlN2E2
NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMTEtMjcgIEpvbiBMZWUg
IDxqb25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIEtlZXAgdHJhY2sgb2YgcGx1Zy1pbiBzbmFw
c2hvdHMgY2xpY2tlZCBieSB1c2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDMyMDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyNzQ2NDgzPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQuY3BwOiBTdHViIGltcGxlbWVudGF0aW9ucy4K
KyAgICAgICAgKFBsYXRmb3JtU3RyYXRlZ2llc1F0Ojppc0F1dG9TdGFydE9yaWdpbik6CisgICAg
ICAgIChQbGF0Zm9ybVN0cmF0ZWdpZXNRdDo6YWRkQXV0b1N0YXJ0T3JpZ2luKToKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5oOgorCiAyMDEyLTExLTI3ICBT
aGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLCByb2xsaW5nIG91dCByMTM1Nzg2LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93
aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDA2MTQwOWJk
ODhlMjdkYmYzZGE0YjM0Y2EzZGM0NjQ0MzFiMTViNTAuLjBjNTJiNjYzY2ZiZjQ3Y2I5ZTQ4M2U1
MGM3ZTljN2RiOTRmZDVlNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAx
Mi0xMS0yNyAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKKyAgICAgICAgS2VlcCB0cmFj
ayBvZiBwbHVnLWluIHNuYXBzaG90cyBjbGlja2VkIGJ5IHVzZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzIwNgorICAgICAgICA8cmRhcjovL3By
b2JsZW0vMTI3NDY0ODM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwOiBTdHVi
IGltcGxlbWVudGF0aW9ucy4KKyAgICAgICAgKFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6aXNBdXRv
U3RhcnRPcmlnaW4pOgorICAgICAgICAoV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjphZGRBdXRvU3Rh
cnRPcmlnaW4pOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2ll
cy5oOgorCiAyMDEyLTExLTI3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWls
LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTM1Nzg2LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbmNl
L0NoYW5nZUxvZwppbmRleCAyMDY4ZjJlNDdlMThmYjUzYjQ3MzljYWE5MDc3YzM3N2U0YTYzMzU2
Li4xNDQ0OWE4NGJjMmFkN2JlZmY3MzMwNmU3ZWM1MjIwYzIwN2MyYTZkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTExLTI3ICBKb24gTGVlICA8am9ubGVlQGFw
cGxlLmNvbT4KKworICAgICAgICBLZWVwIHRyYWNrIG9mIHBsdWctaW4gc25hcHNob3RzIGNsaWNr
ZWQgYnkgdXNlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTAzMjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjc0NjQ4Mz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1Bs
YXRmb3JtU3RyYXRlZ2llc1dpbkNFLmNwcDogU3R1YiBpbXBsZW1lbnRhdGlvbnMuCisgICAgICAg
IChQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRTo6aXNBdXRvU3RhcnRPcmlnaW4pOgorICAgICAgICAo
UGxhdGZvcm1TdHJhdGVnaWVzV2luQ0U6OmFkZEF1dG9TdGFydE9yaWdpbik6CisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UuaDoKKwogMjAxMi0xMS0yNyAg
U2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEzNTc4Ni4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBhM2E1NTM2YTMyYmM4
YWI3ZmM0OGI1MzQzN2E4M2NjOTMwZDI1ZWI4Li5kMWEwZTliNTE1YWZlMGNkYmI0YmYwYWYzYTIz
YTRiY2QyYzYzOWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMTItMTEtMjcgIEpv
biBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIEtlZXAgdHJhY2sgb2YgcGx1Zy1p
biBzbmFwc2hvdHMgY2xpY2tlZCBieSB1c2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyMDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyNzQ2
NDgzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
U2hhcmVkL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0VGFibGUuaDogSW5zcGlyZWQgYnkgVmlzaXRl
ZExpbmtUYWJsZS4gRm9yIG5vdywgbWFrZSB0aGUgdGFibGUgYQorICAgICAgICBzaW1wbGUgc2V0
IG9mIGhhc2hlcy4gTGF0ZXIgd2UgY291bGQgY29udmVydCB0aGlzIHRvIGEgc2hhcmVkIG1lbW9y
eSB0YWJsZS4KKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRQcm92
aWRlci5jcHA6IEFkZGVkLiBDcmVhdGUgYSBwcm92aWRlciB0aGF0IG1hbmFnZXMgdGhlIFVJIHBy
b2Nlc3MnCisgICAgICAgIGNvcHkgb2YgdGhlIHRhYmxlLgorICAgICAgICAoV2ViS2l0OjpQbHVn
SW5BdXRvU3RhcnRQcm92aWRlcjo6UGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIpOgorICAgICAgICAo
V2ViS2l0OjpQbHVnSW5BdXRvU3RhcnRQcm92aWRlcjo6YWRkQXV0b1N0YXJ0T3JpZ2luKTogQWRk
IHRoZSBoYXNoIGlmIG5lY2Vzc2FyeSwgYW5kIGJyb2FkY2FzdCB0bworICAgICAgICBhbGwgd2Vi
IHByb2Nlc3Nlcy4KKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRQ
cm92aWRlci5oOiBBZGRlZC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0Lm1lc3Nh
Z2VzLmluOiBDcmVhdGUgYSBuZXcgbWVzc2FnZSB0aGF0IGFkZHMgYSBuZXcgaGFzaC4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViQ29udGV4dC5jcHA6IEFkZCB0aGUgcGx1Zy1pbiBhdXRvLXN0YXJ0
IHByb3ZpZGVyLgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjpXZWJDb250ZXh0KTogSW5p
dGlhbGl6ZSB0aGUgcHJvdmlkZXIuCisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OmFkZFBs
dWdJbkF1dG9TdGFydE9yaWdpbkhhc2gpOiBUZWxsIHRoZSBwcm92aWRlciB0byBhZGQgdGhlIGhh
c2guCisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHQuaDoKKworICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjppc0F1dG9TdGFydE9yaWdpbik6IEZvcndh
cmQgdG8gV2ViUHJvY2Vzcy4KKyAgICAgICAgKFdlYktpdDo6V2ViUGxhdGZvcm1TdHJhdGVnaWVz
OjphZGRBdXRvU3RhcnRPcmlnaW4pOiBGb3J3YXJkIHRvIFdlYlByb2Nlc3MuCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaDoKKworICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBy
b2Nlc3M6OmlzUGx1Z0luQXV0b1N0YXJ0T3JpZ2luKTogTG9va3MgaW4gdGhlIHRhYmxlIHRvIHNl
ZSBpZiB0aGUgaGFzaCBhbHJlYWR5IGV4aXN0cy4KKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
czo6YWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luKTogSWYgdGhlIGhhc2ggaXMgbm90IGFscmVhZHkg
aW4gdGhlIHRhYmxlLCBtZXNzYWdlIHRoZSBVSQorICAgICAgICBwcm9jZXNzIHRvIGFkZCBpdC4K
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cGx1Z0luQXV0b1N0YXJ0T3JpZ2luQ2hhbmdl
ZCk6IENhbGxlZCB3aGVuIHRoZSBVSSBwcm9jZXNzIGJyb2FkY2FzdHMgdG8gdGhlIHdlYgorICAg
ICAgICBwcm9jZXNzIHRoYXQgYSBoYXNoIGhhcyBiZWVuIGFkZGVkLiBBZGQgdGhhdCBoYXNoIHRv
IHRoZSB3ZWIgcHJvY2VzcycgY29weSBvZiB0aGUgdGFibGUuCisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2Vz
LmluOiBBZGQgYSBuZXcgbWVzc2FnZSBjYWxsZWQgYnkgVUkgcHJvY2VzcyB3aGVuIGEgbmV3IGhh
c2ggaXMgYWRkZWQuCisKKyAgICAgICAgQWRkIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLntjcHAs
aH0gYW5kIFBsdWdJbkF1dG9TdGFydFRhYmxlLmguCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6
CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgor
ICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3
aW4vV2ViS2l0Mi52Y3Byb2o6CisKIDIwMTItMTEtMjcgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJl
dmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIx
MzU3ODYuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGZmN2NhY2I3OTczNWE4NmNjOWE0ZWY0OWIz
YTg1ZDA2N2U1MjM5NWUuLjA1OTM1ZGE1YTFlNjNiODhhMTZiM2VkOWU1YmM3ZWYyY2M3YTFiOTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xODA3LDYgKzE4MDcsNyBAQCBTRVQoV2ViQ29yZV9T
T1VSQ0VTCiAgICAgcGxhdGZvcm0vUGxhdGZvcm1FdmVudC5jcHAKICAgICBwbGF0Zm9ybS9QbGF0
Zm9ybUluc3RydW1lbnRhdGlvbi5jcHAKICAgICBwbGF0Zm9ybS9QbGF0Zm9ybU1lbW9yeUluc3Ry
dW1lbnRhdGlvbi5jcHAKKyAgICBwbGF0Zm9ybS9QbHVnSW5PcmlnaW5IYXNoLmNwcAogICAgIHBs
YXRmb3JtL1J1bkxvb3AuY3BwCiAgICAgcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tz
LmNwcAogICAgIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KaW5kZXggOTY2MTNkMmZjNWZlYmU4MzNjM2NkZDQ0ZmVlNWMyZjNmMTM0NzdiZC4u
Y2ZjOTBmMGJiYWQ1NGI2ZDY3NDIwMGRlMDFmZWQ1ZTlhYjFlZTdkZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCkBAIC01NzczLDYgKzU3NzMsOCBAQCB3ZWJjb3JlX3BsYXRmb3JtX3Nv
dXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtU3RyYXRlZ2llcy5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtU3RyYXRlZ2llcy5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaCBcCisJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1BsdWdJbk9yaWdpbkhhc2guaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUE9E
QXJlbmEuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUE9ERnJlZUxpc3RBcmVuYS5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QT0RJbnRlcnZhbC5oIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4
IGRlOWUzZTdiMDAyMmNmZDdmYmFmMWZiMGFjNmRlNmZkMzAwYTE0OTYuLjY3M2JhMjczNDRlZWRj
OWY4Mzk1M2RiZTllNjA5YzZlZTAyZmJjOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Rh
cmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMTA2OCw2ICsxMDY4
LDcgQEAgU09VUkNFUyArPSBcCiAgICAgcGxhdGZvcm0vUGxhdGZvcm1FdmVudC5jcHAgXAogICAg
IHBsYXRmb3JtL1BsYXRmb3JtSW5zdHJ1bWVudGF0aW9uLmNwcCBcCiAgICAgcGxhdGZvcm0vUGxh
dGZvcm1NZW1vcnlJbnN0cnVtZW50YXRpb24uY3BwIFwKKyAgICBwbGF0Zm9ybS9QbHVnSW5Pcmln
aW5IYXNoLmNwcCBcCiAgICAgcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmNwcCBc
CiAgICAgcGxhdGZvcm0vUnVuTG9vcC5jcHAgXAogICAgIHBsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5
LmNwcCBcCkBAIC0yMjcwLDYgKzIyNzEsNyBAQCBIRUFERVJTICs9IFwKICAgICBwbGF0Zm9ybS9Q
bGF0Zm9ybU1lbW9yeUluc3RydW1lbnRhdGlvbi5oIFwKICAgICBwbGF0Zm9ybS9QbGF0Zm9ybVRv
dWNoRXZlbnQuaCBcCiAgICAgcGxhdGZvcm0vUGxhdGZvcm1Ub3VjaFBvaW50LmggXAorICAgIHBs
YXRmb3JtL1BsdWdJbk9yaWdpbkhhc2guaCBcCiAgICAgcGxhdGZvcm0vUG9wdXBNZW51LmggXAog
ICAgIHBsYXRmb3JtL1JlZmVycmVyUG9saWN5LmggXAogICAgIHBsYXRmb3JtL3F0L0NsaXBib2Fy
ZFF0LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDk1OWNlNWQ3NjUwNzI4NmI5YzljNjAwYjYyMDhk
ZjczYzVjOGI1NTUuLmFlODM0MjQ3ZGM5MzEwYTRlMmY1N2IzYzczZDg0MjAzYjRlYmVlMGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKQEAgLTMxNCw2ICszMTQsNyBAQAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L1BsYXRmb3JtU2NyZWVuLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL1BsYXRmb3JtU3RyYXRl
Z2llcy5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaCcsCisg
ICAgICAgICAgICAncGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5oJywKICAgICAgICAgICAgICdw
bGF0Zm9ybS9Qb3B1cE1lbnUuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vUG9wdXBNZW51Q2xp
ZW50LmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL1BvcHVwTWVudVN0eWxlLmgnLApAQCAtNDQ5
OCw2ICs0NDk5LDcgQEAKICAgICAgICAgICAgICdwbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMu
Y3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9QbGF0Zm9ybVRvdWNoRXZlbnQuaCcsCiAgICAg
ICAgICAgICAncGxhdGZvcm0vUGxhdGZvcm1Ub3VjaFBvaW50LmgnLAorICAgICAgICAgICAgJ3Bs
YXRmb3JtL1BsdWdJbk9yaWdpbkhhc2guY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9QcmVy
ZW5kZXJIYW5kbGUuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmgn
LAogICAgICAgICAgICAgJ3BsYXRmb3JtL1JlZmVycmVyUG9saWN5LmgnLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAwMmI5NTczOWIxZmYyMjMw
Mzc1YzY3YmYzNzZkYzFjNzAyYmYzYmY3Li4wNWViOGMyYWY0MzMwZTcwYThmMTY1MTJkMGU2N2Y3
MTZkYWExNTU5IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagpAQCAtMjg3MjYsNiArMjg3MjYsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8Rmls
ZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cUGx1Z0luT3JpZ2luSGFzaC5jcHAiCisJ
CQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3Jt
XFBsdWdJbk9yaWdpbkhhc2guaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJl
bGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cUG9wdXBNZW51LmgiCiAJCQkJPgogCQkJPC9GaWxlPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDNiNjNiM2Q5MjhiY2M3MWRlNzM3N2UyMWYwNmRhNmY3ODdiNzc1MzQuLmQ5ZDdlZmUyZDA2
NTRmMjc3NTY5ZWMxNDBlOWI5ZGFjNjdlN2I3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTkzMyw2ICs5MzMsOCBAQAogCQkz
MTlFNjlCNTEzMjk5QkJEMDA0QUM5MUEgLyogV2ViS2l0QW5pbWF0aW9uTGlzdC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTlFNjlBRjEzMjk5QkJE
MDA0QUM5MUEgLyogV2ViS2l0QW5pbWF0aW9uTGlzdC5jcHAgKi87IH07CiAJCTMxOUU2OUI2MTMy
OTlCQkQwMDRBQzkxQSAvKiBXZWJLaXRBbmltYXRpb25MaXN0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTlFNjlCMDEzMjk5QkJEMDA0QUM5MUEgLyog
V2ViS2l0QW5pbWF0aW9uTGlzdC5oICovOyB9OwogCQkzMTlGQkQ1RjE1RDJGNDY0MDA5NjQwQTYg
LyogQ2FjaGVkSW1hZ2VDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDMxOUZCRDVEMTVEMkY0NDQwMDk2NDBBNiAvKiBDYWNoZWRJbWFnZUNsaWVu
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTMx
QTY3RTRDMTY2MDMyNkEwMDZDQkE2NiAvKiBQbHVnSW5PcmlnaW5IYXNoLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQTY3RTRBMTY2MDMyNjkwMDZD
QkE2NiAvKiBQbHVnSW5PcmlnaW5IYXNoLmNwcCAqLzsgfTsKKwkJMzFBNjdFNEQxNjYwMzI2QTAw
NkNCQTY2IC8qIFBsdWdJbk9yaWdpbkhhc2guaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDMxQTY3RTRCMTY2MDMyNjkwMDZDQkE2NiAvKiBQbHVnSW5Pcmln
aW5IYXNoLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJMzFBOTYzQTUxNjU1RDQyNjAwMEQ0NjQ1IC8qIHN0YXJ0QnV0dG9uLnBuZyBpbiBSZXNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFBOTYzQTExNjU1RDQyNjAw
MEQ0NjQ1IC8qIHN0YXJ0QnV0dG9uLnBuZyAqLzsgfTsKIAkJMzFBOTYzQTYxNjU1RDQyNjAwMEQ0
NjQ1IC8qIHN0YXJ0QnV0dG9uQDJ4LnBuZyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzFBOTYzQTIxNjU1RDQyNjAwMEQ0NjQ1IC8qIHN0YXJ0QnV0dG9u
QDJ4LnBuZyAqLzsgfTsKIAkJMzFBOTYzQTcxNjU1RDQyNjAwMEQ0NjQ1IC8qIHN0YXJ0QnV0dG9u
UHJlc3NlZC5wbmcgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMxQTk2M0EzMTY1NUQ0MjYwMDBENDY0NSAvKiBzdGFydEJ1dHRvblByZXNzZWQucG5nICov
OyB9OwpAQCAtODEwNyw2ICs4MTA5LDggQEAKIAkJMzE5RTY5QjAxMzI5OUJCRDAwNEFDOTFBIC8q
IFdlYktpdEFuaW1hdGlvbkxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V2ViS2l0QW5pbWF0aW9uTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTlF
NjlCMTEzMjk5QkJEMDA0QUM5MUEgLyogV2ViS2l0QW5pbWF0aW9uTGlzdC5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gV2ViS2l0QW5pbWF0aW9uTGlzdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTMxOUZCRDVEMTVEMkY0NDQwMDk2NDBBNiAvKiBDYWNoZWRJbWFnZUNsaWVu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRJbWFnZUNsaWVudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUE2N0U0QTE2NjAzMjY5MDA2Q0JBNjYg
LyogUGx1Z0luT3JpZ2luSGFzaC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBQbHVnSW5PcmlnaW5IYXNoLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MzFBNjdFNEIxNjYwMzI2OTAwNkNCQTY2IC8qIFBsdWdJbk9yaWdpbkhhc2guaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGx1Z0luT3JpZ2luSGFzaC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkzMUE5NjNBMTE2NTVENDI2MDAwRDQ2NDUgLyogc3RhcnRCdXR0b24u
cG5nICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1h
Z2UucG5nOyBwYXRoID0gc3RhcnRCdXR0b24ucG5nOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkzMUE5NjNBMjE2NTVENDI2MDAwRDQ2NDUgLyogc3RhcnRCdXR0b25AMngucG5nICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1hZ2UucG5nOyBw
YXRoID0gInN0YXJ0QnV0dG9uQDJ4LnBuZyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTMxQTk2M0EzMTY1NUQ0MjYwMDBENDY0NSAvKiBzdGFydEJ1dHRvblByZXNzZWQucG5nICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1hZ2UucG5nOyBw
YXRoID0gc3RhcnRCdXR0b25QcmVzc2VkLnBuZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTIxMDUwLDYgKzIxMDU0LDggQEAKIAkJCQkxQUQ4RjgxQTExQ0FCOUU5MDBFOTNFNTQgLyog
UGxhdGZvcm1TdHJhdGVnaWVzLmNwcCAqLywKIAkJCQkxQUQ4RjgxOTExQ0FCOUU5MDBFOTNFNTQg
LyogUGxhdGZvcm1TdHJhdGVnaWVzLmggKi8sCiAJCQkJOTM1QzQ3NkEwOUFDNEQ0RjAwQTZBQUI0
IC8qIFBsYXRmb3JtV2hlZWxFdmVudC5oICovLAorCQkJCTMxQTY3RTRBMTY2MDMyNjkwMDZDQkE2
NiAvKiBQbHVnSW5PcmlnaW5IYXNoLmNwcCAqLywKKwkJCQkzMUE2N0U0QjE2NjAzMjY5MDA2Q0JB
NjYgLyogUGx1Z0luT3JpZ2luSGFzaC5oICovLAogCQkJCUJDQkI4QUI0MTNGMUFGQjAwMDczNERG
MCAvKiBQT0RBcmVuYS5oICovLAogCQkJCTFGM0YxOTUyMTQ5OUNBNzYwMEE1QUVBNyAvKiBQT0RG
cmVlTGlzdEFyZW5hLmggKi8sCiAJCQkJQkNCQjhBQjUxM0YxQUZCMDAwNzM0REYwIC8qIFBPRElu
dGVydmFsLmggKi8sCkBAIC0yNTgxOSw2ICsyNTgyNSw3IEBACiAJCQkJRkIyQzE1QzMxNjVENjQ5
RDAwMzlDOUY4IC8qIENhY2hlZFNWR0RvY3VtZW50UmVmZXJlbmNlLmggaW4gSGVhZGVycyAqLywK
IAkJCQkzMTc0MUFBRDE2NjM2NjA5MDA4QTVCN0UgLyogU2ltdWxhdGVkQ2xpY2tPcHRpb25zLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxNUI4QjdDOTE2NTJDNTIyMDAzNkVGNTUgLyogSlNXZWJLaXRD
U1NNaXhGdW5jdGlvblZhbHVlLmggaW4gSGVhZGVycyAqLywKKwkJCQkzMUE2N0U0RDE2NjAzMjZB
MDA2Q0JBNjYgLyogUGx1Z0luT3JpZ2luSGFzaC5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yODkxOSw2
ICsyODkyNiw3IEBACiAJCQkJQ0Q3RTA1MjIxNjUxQzI4MjAwQzEyMDFGIC8qIFdlYkNvcmVBVkZS
ZXNvdXJjZUxvYWRlci5tbSBpbiBTb3VyY2VzICovLAogCQkJCTQ0Nzk1ODA1MTY0M0I0QjIwMDFF
MEE3RiAvKiBQYXJzZWRDb250ZW50VHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNUI4QjdD
ODE2NTJDNTIyMDAzNkVGNTUgLyogSlNXZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCTMxQTY3RTRDMTY2MDMyNkEwMDZDQkE2NiAvKiBQbHVnSW5PcmlnaW5I
YXNoLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJ
bkltYWdlRWxlbWVudC5jcHAKaW5kZXggNDIxYWMxYjBmMGMxOGQyZmRiMjk5YjhlODY4NzQ4OTA1
Yjc1ZDk3Ni4uMjNhMjgxNTRkZjI4MmViMGE1ZTg1NWY4MmMzYjgyODFlYjVjM2ZmMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwCkBAIC0zMCw2
ICszMCw3IEBACiAjaW5jbHVkZSAiTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJT
dHlsZS5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJQbHVnSW5PcmlnaW5IYXNoLmgi
CiAjaW5jbHVkZSAiUmVuZGVyRW1iZWRkZWRPYmplY3QuaCIKICNpbmNsdWRlICJSZW5kZXJJbWFn
ZS5oIgogI2luY2x1ZGUgIlJlbmRlclNuYXBzaG90dGVkUGx1Z0luLmgiCkBAIC0zNyw2ICszOCwx
MSBAQAogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU3R5bGVSZXNvbHZlci5oIgog
CisjaWYgVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMpCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJhdGVn
aWVzLmgiCisjaW5jbHVkZSAiUGx1Z2luU3RyYXRlZ3kuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIC8vIFRoaXMgZGVsYXkgc2hvdWxkIG5vdCBleGNlZWQgdGhlIHNuYXBzaG90
IGRlbGF5IGluIFBsdWdpblZpZXcuY3BwCkBAIC01MiwxMyArNTgsOSBAQCBIVE1MUGx1Z0luSW1h
Z2VFbGVtZW50OjpIVE1MUGx1Z0luSW1hZ2VFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRh
Z05hbWUsIERvYwogICAgICwgbV9zaG91bGRQcmVmZXJQbHVnSW5zRm9ySW1hZ2VzKHByZWZlclBs
dWdJbnNGb3JJbWFnZXNPcHRpb24gPT0gU2hvdWxkUHJlZmVyUGx1Z0luc0ZvckltYWdlcykKICAg
ICAsIG1fbmVlZHNEb2N1bWVudEFjdGl2YXRpb25DYWxsYmFja3MoZmFsc2UpCiAgICAgLCBtX3Np
bXVsYXRlZE1vdXNlQ2xpY2tUaW1lcih0aGlzLCAmSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6c2lt
dWxhdGVkTW91c2VDbGlja1RpbWVyRmlyZWQsIHNpbXVsYXRlZE1vdXNlQ2xpY2tUaW1lckRlbGF5
KQorICAgICwgbV9wbHVnSW5PcmlnaW5IYXNoKDApCiB7CiAgICAgc2V0SGFzQ3VzdG9tQ2FsbGJh
Y2tzKCk7Ci0KLSAgICBpZiAoZG9jdW1lbnQtPnBhZ2UoKQotICAgICAgICAmJiBkb2N1bWVudC0+
cGFnZSgpLT5zZXR0aW5ncygpLT5wbHVnSW5TbmFwc2hvdHRpbmdFbmFibGVkKCkKLSAgICAgICAg
JiYgIVNjcmlwdENvbnRyb2xsZXI6OnByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpKQotICAgICAgICBz
ZXREaXNwbGF5U3RhdGUoV2FpdGluZ0ZvclNuYXBzaG90KTsKIH0KIAogSFRNTFBsdWdJbkltYWdl
RWxlbWVudDo6fkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQoKQpAQCAtMjYyLDkgKzI2NCwxMyBAQCB2
b2lkIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OnVwZGF0ZVNuYXBzaG90KFBhc3NSZWZQdHI8SW1h
Z2U+IGltYWdlKQogICAgIHNldERpc3BsYXlTdGF0ZShEaXNwbGF5aW5nU25hcHNob3QpOwogfQog
Ci12b2lkIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OnNldFBlbmRpbmdDbGlja0V2ZW50KFBhc3NS
ZWZQdHI8TW91c2VFdmVudD4gZXZlbnQpCit2b2lkIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OnVz
ZXJEaWRDbGlja1NuYXBzaG90KFBhc3NSZWZQdHI8TW91c2VFdmVudD4gZXZlbnQpCiB7CisgICAg
QVNTRVJUKG1fcGx1Z0luT3JpZ2luSGFzaCk7CiAgICAgbV9wZW5kaW5nQ2xpY2tFdmVudEZyb21T
bmFwc2hvdCA9IGV2ZW50OworI2lmIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQorICAgIHBsYXRm
b3JtU3RyYXRlZ2llcygpLT5wbHVnaW5TdHJhdGVneSgpLT5hZGRBdXRvU3RhcnRPcmlnaW4oZG9j
dW1lbnQoKS0+cGFnZSgpLCBtX3BsdWdJbk9yaWdpbkhhc2gpOworI2VuZGlmCiB9CiAKIHZvaWQg
SFRNTFBsdWdJbkltYWdlRWxlbWVudDo6ZGlzcGF0Y2hQZW5kaW5nTW91c2VDbGljaygpCkBAIC0y
ODQsNCArMjkwLDE4IEBAIHZvaWQgSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6c2ltdWxhdGVkTW91
c2VDbGlja1RpbWVyRmlyZWQoRGVmZXJyYWJsZU9uZVNob3RUaW1lCiAgICAgbV9wZW5kaW5nQ2xp
Y2tFdmVudEZyb21TbmFwc2hvdCA9IG51bGxwdHI7CiB9CiAKK3ZvaWQgSFRNTFBsdWdJbkltYWdl
RWxlbWVudDo6c3ViZnJhbWVMb2FkZXJXaWxsTG9hZFBsdWdJbihjb25zdCBLVVJMJiB1cmwpCit7
CisgICAgaWYgKCFkb2N1bWVudCgpLT5wYWdlKCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1f
cGx1Z0luT3JpZ2luSGFzaCA9IHBsdWdJbk9yaWdpbkhhc2goZG9jdW1lbnQoKS0+cGFnZSgpLCB1
cmwpOworICAgIGlmIChkb2N1bWVudCgpLT5wYWdlKCktPnNldHRpbmdzKCktPnBsdWdJblNuYXBz
aG90dGluZ0VuYWJsZWQoKQorI2lmIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQorICAgICAgICAm
JiAhcGxhdGZvcm1TdHJhdGVnaWVzKCktPnBsdWdpblN0cmF0ZWd5KCktPmlzQXV0b1N0YXJ0T3Jp
Z2luKGRvY3VtZW50KCktPnBhZ2UoKSwgbV9wbHVnSW5PcmlnaW5IYXNoKQorI2VuZGlmCisgICAg
ICAgICYmICFTY3JpcHRDb250cm9sbGVyOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSkKKyAgICAg
ICAgc2V0RGlzcGxheVN0YXRlKFdhaXRpbmdGb3JTbmFwc2hvdCk7Cit9CisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbklt
YWdlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50
LmgKaW5kZXggYzViZjZmYTFmOTFlMWU4MmQwOGJjYTJjMDJjNzNkYWIyYzdhODkzZC4uNWE2OWZh
ZTIwZGYwOGQ0NjI5Nzg2ZDhhMjdiMTQ3MTFkYjU2YTg4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmgKQEAgLTIzLDYgKzIzLDcgQEAKIAogI2luY2x1
ZGUgIkhUTUxQbHVnSW5FbGVtZW50LmgiCiAKKyNpbmNsdWRlICJQbHVnSW5PcmlnaW5IYXNoLmgi
CiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKQEAg
LTU5LDcgKzYwLDEwIEBAIHB1YmxpYzoKICAgICBib29sIG5lZWRzV2lkZ2V0VXBkYXRlKCkgY29u
c3QgeyByZXR1cm4gbV9uZWVkc1dpZGdldFVwZGF0ZTsgfQogICAgIHZvaWQgc2V0TmVlZHNXaWRn
ZXRVcGRhdGUoYm9vbCBuZWVkc1dpZGdldFVwZGF0ZSkgeyBtX25lZWRzV2lkZ2V0VXBkYXRlID0g
bmVlZHNXaWRnZXRVcGRhdGU7IH0KIAotICAgIHZvaWQgc2V0UGVuZGluZ0NsaWNrRXZlbnQoUGFz
c1JlZlB0cjxNb3VzZUV2ZW50Pik7CisgICAgdm9pZCB1c2VyRGlkQ2xpY2tTbmFwc2hvdChQYXNz
UmVmUHRyPE1vdXNlRXZlbnQ+KTsKKworICAgIC8vIFBsdWctaW4gVVJMIG1pZ2h0IG5vdCBiZSB0
aGUgc2FtZSBhcyB1cmwoKSB3aXRoIG92ZXJyaWRpbmcgcGFyYW1ldGVycy4KKyAgICB2b2lkIHN1
YmZyYW1lTG9hZGVyV2lsbExvYWRQbHVnSW4oY29uc3QgS1VSTCYgcGx1Z0luVVJMKTsKIAogcHJv
dGVjdGVkOgogICAgIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYg
dGFnTmFtZSwgRG9jdW1lbnQqLCBib29sIGNyZWF0ZWRCeVBhcnNlciwgUHJlZmVyUGx1Z0luc0Zv
ckltYWdlc09wdGlvbik7CkBAIC0xMDMsNiArMTA3LDcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8
UmVuZGVyU3R5bGU+IG1fY3VzdG9tU3R5bGVGb3JQYWdlQ2FjaGU7CiAgICAgUmVmUHRyPE1vdXNl
RXZlbnQ+IG1fcGVuZGluZ0NsaWNrRXZlbnRGcm9tU25hcHNob3Q7CiAgICAgRGVmZXJyYWJsZU9u
ZVNob3RUaW1lcjxIVE1MUGx1Z0luSW1hZ2VFbGVtZW50PiBtX3NpbXVsYXRlZE1vdXNlQ2xpY2tU
aW1lcjsKKyAgICBQbHVnSW5PcmlnaW5IYXNoIG1fcGx1Z0luT3JpZ2luSGFzaDsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9T
dWJmcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIu
Y3BwCmluZGV4IDkyZWE5NzM3NjdlOGM0NzI1MGI2ZGIyYmY0MDRkMzQ4ZTU0NTIyZjEuLmQxYWI3
ZTU2ZTkyMmU0MzU3YmY5MjI1ZTJiYTE5YzRhODNlMzkzNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1N1YmZyYW1lTG9hZGVyLmNwcApAQCAtMTU2LDYgKzE1Niw3IEBAIGJvb2wgU3ViZnJhbWVM
b2FkZXI6OnJlcXVlc3RQbHVnaW4oSFRNTFBsdWdJbkltYWdlRWxlbWVudCogb3duZXJFbGVtZW50
LCBjb25zdCBLCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIEFTU0VSVChvd25lckVsZW1l
bnQtPmhhc1RhZ05hbWUob2JqZWN0VGFnKSB8fCBvd25lckVsZW1lbnQtPmhhc1RhZ05hbWUoZW1i
ZWRUYWcpKTsKKyAgICBvd25lckVsZW1lbnQtPnN1YmZyYW1lTG9hZGVyV2lsbExvYWRQbHVnSW4o
dXJsKTsKICAgICByZXR1cm4gbG9hZFBsdWdpbihvd25lckVsZW1lbnQsIHVybCwgbWltZVR5cGUs
IHBhcmFtTmFtZXMsIHBhcmFtVmFsdWVzLCB1c2VGYWxsYmFjayk7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luU3RyYXRlZ3kuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsdWdpbnMvUGx1Z2luU3RyYXRlZ3kuaAppbmRleCA5ZDhhN2I1MmYwMzI1NTM3NDQzZjEzM2Yw
ODJkYTMwZjRmMGQyMjk0Li5kZjZlNTMwNDU4YWFhZmRkYzBmOTJjNjIyYWQ5ZjE2YjEwOTcxZWEw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblN0cmF0ZWd5LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5TdHJhdGVneS5oCkBAIC0yOCw2ICsyOCw3
IEBACiAKICNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKIAorI2luY2x1ZGUgIlBsdWdJbk9y
aWdpbkhhc2guaCIKICNpbmNsdWRlICJQbHVnaW5EYXRhLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTM5LDYgKzQwLDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZWZyZXNoUGx1
Z2lucygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZ2V0UGx1Z2luSW5mbyhjb25zdCBQYWdlKiwg
VmVjdG9yPFBsdWdpbkluZm8+JikgPSAwOwogCisgICAgdmlydHVhbCBib29sIGlzQXV0b1N0YXJ0
T3JpZ2luKFBhZ2UqLCBQbHVnSW5PcmlnaW5IYXNoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGFk
ZEF1dG9TdGFydE9yaWdpbihQYWdlKiwgUGx1Z0luT3JpZ2luSGFzaCkgPSAwOworCiBwcm90ZWN0
ZWQ6CiAgICAgdmlydHVhbCB+UGx1Z2luU3RyYXRlZ3koKSB7IH0KIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4uY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNuYXBzaG90dGVkUGx1Z0luLmNwcAppbmRleCA5
NzJiMmJmOTA0MjIzYjViNzc3NWYyNDI5ZGMxNjI4M2EwZjE2ODE1Li5mMmNlOWQ1NjUyODVkOGZj
MDIwMTNjYzBmMGIzYjk5NzNkZDNkNjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJTbmFwc2hvdHRlZFBsdWdJbi5jcHAKQEAgLTE3OCw3ICsxNzgsNyBAQCB2
b2lkIFJlbmRlclNuYXBzaG90dGVkUGx1Z0luOjpoYW5kbGVFdmVudChFdmVudCogZXZlbnQpCiAg
ICAgICAgICAgICBwbHVnSW5JbWFnZUVsZW1lbnQoKS0+c2V0RGlzcGxheVN0YXRlKEhUTUxQbHVn
SW5FbGVtZW50OjpQbGF5aW5nKTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBwbHVnSW5J
bWFnZUVsZW1lbnQoKS0+c2V0RGlzcGxheVN0YXRlKEhUTUxQbHVnSW5FbGVtZW50OjpQbGF5aW5n
V2l0aFBlbmRpbmdNb3VzZUNsaWNrKTsKLSAgICAgICAgICAgIHBsdWdJbkltYWdlRWxlbWVudCgp
LT5zZXRQZW5kaW5nQ2xpY2tFdmVudChtb3VzZUV2ZW50KTsKKyAgICAgICAgICAgIHBsdWdJbklt
YWdlRWxlbWVudCgpLT51c2VyRGlkQ2xpY2tTbmFwc2hvdChtb3VzZUV2ZW50KTsKICAgICAgICAg
fQogICAgICAgICBpZiAod2lkZ2V0KCkpIHsKICAgICAgICAgICAgIGlmIChGcmFtZSogZnJhbWUg
PSBkb2N1bWVudCgpLT5mcmFtZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2Vi
Q29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZs
L1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5jcHAKaW5kZXggNzEzOGFhOGQ3
NmY3ZmNlODFjODEwMjczMmRmNGM1MTY5NzdhZTNiZS4uOGI1YjM5YzFlZGJhM2YyZjcyMzU1NmU2
MGNhZTFkYzExYjQxNDIyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1
cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9X
ZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwuY3BwCkBAIC0xMjAsNiArMTIwLDE1
IEBAIHZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzRWZsOjpnZXRQbHVnaW5JbmZvKGNvbnN0IFBhZ2Uq
LCBWZWN0b3I8UGx1Z2luSW5mbz4mIG91dFBsCiAjZW5kaWYKIH0KIAorYm9vbCBQbGF0Zm9ybVN0
cmF0ZWdpZXNFZmw6OmlzQXV0b1N0YXJ0T3JpZ2luKFBhZ2UqLCBQbHVnSW5PcmlnaW5IYXNoKQor
eworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNFZmw6OmFk
ZEF1dG9TdGFydE9yaWdpbihQYWdlKiwgUGx1Z0luT3JpZ2luSGFzaCkKK3sKK30KKwogLy8gVmlz
aXRlZExpbmtTdHJhdGVneQogYm9vbCBQbGF0Zm9ybVN0cmF0ZWdpZXNFZmw6OmlzTGlua1Zpc2l0
ZWQoUGFnZSogcGFnZSwgTGlua0hhc2ggaGFzaCwgY29uc3QgS1VSTCYsIGNvbnN0IEF0b21pY1N0
cmluZyYpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9Q
bGF0Zm9ybVN0cmF0ZWdpZXNFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0
L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5oCmluZGV4IDAxZTYxMTU2Y2Y5ZmVmM2IxZjQ1MzJhOWUy
NWU4YjMzMmMyNWZlZjAuLmQ0Y2VhZTkxMmFmN2MxZTU5OGU5ZjVlODk5MDdmOTEyNTVlNmVjZTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3Ry
YXRlZ2llc0VmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1BsYXRm
b3JtU3RyYXRlZ2llc0VmbC5oCkBAIC00OSw2ICs0OSw4IEBAIHByaXZhdGU6CiAgICAgLy8gV2Vi
Q29yZTo6UGx1Z2luU3RyYXRlZ3kKICAgICB2aXJ0dWFsIHZvaWQgcmVmcmVzaFBsdWdpbnMoKTsK
ICAgICB2aXJ0dWFsIHZvaWQgZ2V0UGx1Z2luSW5mbyhjb25zdCBXZWJDb3JlOjpQYWdlKiwgVmVj
dG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+Jik7CisgICAgdmlydHVhbCBib29sIGlzQXV0b1N0YXJ0
T3JpZ2luKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNoKTsKKyAgICB2
aXJ0dWFsIHZvaWQgYWRkQXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpQ
bHVnSW5PcmlnaW5IYXNoKTsKIAogICAgIC8vIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kK
ICAgICB2aXJ0dWFsIGJvb2wgaXNMaW5rVmlzaXRlZChXZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6
TGlua0hhc2gsIGNvbnN0IFdlYkNvcmU6OktVUkwmIGJhc2VVUkwsIGNvbnN0IFdURjo6QXRvbWlj
U3RyaW5nJiBhdHRyaWJ1dGVVUkwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3Rr
L1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0d0ay5jcHAKaW5kZXggMDBhNzA2MmM5
Y2UyZWMzYTVhMjY3ODgxNjlhOWE1ZjZiMDIzMDg4Ni4uZGMwNWEzOWRjMWQyMDkwYTg3ZDdhZDlm
ZGNjNTQ2MDNiNDE3ZDVjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9X
ZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuY3BwCkBAIC0xMDgsNiArMTA4LDE1
IEBAIHZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzR3RrOjpnZXRQbHVnaW5JbmZvKGNvbnN0IFBhZ2Uq
IHBhZ2UsIFZlY3RvcjxQbHVnaW5JbmZvPiYKICAgICB9CiB9CiAKK2Jvb2wgUGxhdGZvcm1TdHJh
dGVnaWVzR3RrOjppc0F1dG9TdGFydE9yaWdpbihQYWdlKiwgUGx1Z0luT3JpZ2luSGFzaCkKK3sK
KyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzR3RrOjphZGRB
dXRvU3RhcnRPcmlnaW4oUGFnZSosIFBsdWdJbk9yaWdpbkhhc2gpCit7Cit9CisKIC8vIFZpc2l0
ZWRMaW5rU3RyYXRlZ3kKIGJvb2wgUGxhdGZvcm1TdHJhdGVnaWVzR3RrOjppc0xpbmtWaXNpdGVk
KFBhZ2UqIHBhZ2UsIExpbmtIYXNoIGhhc2gsIGNvbnN0IEtVUkwmLCBjb25zdCBBdG9taWNTdHJp
bmcmKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUGxh
dGZvcm1TdHJhdGVnaWVzR3RrLmggYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9Q
bGF0Zm9ybVN0cmF0ZWdpZXNHdGsuaAppbmRleCBjZjM0YWUyNGIzODI4Zjk4ZGVmMWU4NzJjMDcz
Y2E0OTI0YjBkMzM0Li40OTllMTJkMDQwZGQ0YTM0ZGNjZDA3YzUwNjI4N2FhNjkyZmY0NzFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0
ZWdpZXNHdGsuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9y
bVN0cmF0ZWdpZXNHdGsuaApAQCAtNDgsNiArNDgsOCBAQCBwcml2YXRlOgogICAgIC8vIFdlYkNv
cmU6OlBsdWdpblN0cmF0ZWd5CiAgICAgdmlydHVhbCB2b2lkIHJlZnJlc2hQbHVnaW5zKCk7CiAg
ICAgdmlydHVhbCB2b2lkIGdldFBsdWdpbkluZm8oY29uc3QgV2ViQ29yZTo6UGFnZSosIFZlY3Rv
cjxXZWJDb3JlOjpQbHVnaW5JbmZvPiYpOworICAgIHZpcnR1YWwgYm9vbCBpc0F1dG9TdGFydE9y
aWdpbihXZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFzaCk7CisgICAgdmly
dHVhbCB2b2lkIGFkZEF1dG9TdGFydE9yaWdpbihXZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6UGx1
Z0luT3JpZ2luSGFzaCk7CiAKICAgICAvLyBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5CiAg
ICAgdmlydHVhbCBib29sIGlzTGlua1Zpc2l0ZWQoV2ViQ29yZTo6UGFnZSosIFdlYkNvcmU6Okxp
bmtIYXNoLCBjb25zdCBXZWJDb3JlOjpLVVJMJiBiYXNlVVJMLCBjb25zdCBXVEY6OkF0b21pY1N0
cmluZyYgYXR0cmlidXRlVVJMKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oIGIvU291cmNlL1dlYktpdC9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKaW5kZXggZjlkOGM3NzE5NmFhMTZl
ODlhNDI4NGEzOWQ3NWMxNzBhYzdmNDA4OS4uYmUyZGY5ZjQ2ODFkOTljNTBhYTA5MWU3YjZmMjNm
YjQ4MDhiM2RlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKQEAgLTU2LDYgKzU2LDggQEAgcHJpdmF0ZToK
ICAgICAvLyBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneQogICAgIHZpcnR1YWwgdm9pZCByZWZyZXNo
UGx1Z2lucygpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBnZXRQbHVnaW5JbmZvKGNvbnN0
IFdlYkNvcmU6OlBhZ2UqLCBWZWN0b3I8V2ViQ29yZTo6UGx1Z2luSW5mbz4mKSBPVkVSUklERTsK
KyAgICB2aXJ0dWFsIGJvb2wgaXNBdXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6UGFnZSosIFdlYkNv
cmU6OlBsdWdJbk9yaWdpbkhhc2gpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBhZGRBdXRv
U3RhcnRPcmlnaW4oV2ViQ29yZTo6UGFnZSosIFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhhc2gpIE9W
RVJSSURFOwogCiAgICAgLy8gV2ViQ29yZTo6VmlzaXRlZExpbmtTdHJhdGVneQogICAgIHZpcnR1
YWwgYm9vbCBpc0xpbmtWaXNpdGVkKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpMaW5rSGFzaCwg
Y29uc3QgV2ViQ29yZTo6S1VSTCYgYmFzZVVSTCwgY29uc3QgV1RGOjpBdG9taWNTdHJpbmcmIGF0
dHJpYnV0ZVVSTCkgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0KaW5kZXggYzc5YjA4OWI5ZmM0
MGM5NmNjZTE2ZjcyMGI4YjU0MDM0YzUyZTkyNC4uODhjYzU1MWY2NzFhOTQ4ZGYyOTdjMzM3Njlh
YjQxZTJiZTE2ZjZiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbQpAQCAtMTEzLDYgKzExMywxNSBAQCB2
b2lkIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Z2V0UGx1Z2luSW5mbyhjb25zdCBXZWJDb3JlOjpQ
YWdlKiwgVmVjdG9yPFdlYkNvcmU6OgogICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CiB9
CiAKK2Jvb2wgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjppc0F1dG9TdGFydE9yaWdpbihQYWdlKiwg
UGx1Z0luT3JpZ2luSGFzaCkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgV2ViUGxh
dGZvcm1TdHJhdGVnaWVzOjphZGRBdXRvU3RhcnRPcmlnaW4oUGFnZSosIFBsdWdJbk9yaWdpbkhh
c2gpCit7Cit9CisKIGJvb2wgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjppc0xpbmtWaXNpdGVkKFBh
Z2UqIHBhZ2UsIExpbmtIYXNoIGhhc2gsIGNvbnN0IEtVUkwmLCBjb25zdCBBdG9taWNTdHJpbmcm
KQogewogICAgIHJldHVybiBwYWdlLT5ncm91cCgpLmlzTGlua1Zpc2l0ZWQoaGFzaCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2ll
c1F0LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVn
aWVzUXQuY3BwCmluZGV4IDVkOWU3NTVkMDJmMTU5YTNmYzNiNmVlYjUzNzVmZjJiYmMwMTk0ZTAu
LjUxMjZhNmU0NzAyODNlMzQzODViOTA2NjI4MjQ4ODc0OGVkZDVjZGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQu
Y3BwCkBAIC0xNTYsNiArMTU2LDE1IEBAIHZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzUXQ6OmdldFBs
dWdpbkluZm8oY29uc3QgV2ViQ29yZTo6UGFnZSogcGFnZSwgVmVjdG9yPFdlYkNvCiAKIH0KIAor
Ym9vbCBQbGF0Zm9ybVN0cmF0ZWdpZXNRdDo6aXNBdXRvU3RhcnRPcmlnaW4oUGFnZSosIFBsdWdJ
bk9yaWdpbkhhc2gpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFBsYXRmb3JtU3Ry
YXRlZ2llc1F0OjphZGRBdXRvU3RhcnRPcmlnaW4oUGFnZSosIFBsdWdJbk9yaWdpbkhhc2gpCit7
Cit9CisKIC8vIFZpc2l0ZWRMaW5rU3RyYXRlZ3kKIAogYm9vbCBQbGF0Zm9ybVN0cmF0ZWdpZXNR
dDo6aXNMaW5rVmlzaXRlZChQYWdlKiBwYWdlLCBMaW5rSGFzaCBoYXNoLCBjb25zdCBLVVJMJiBi
YXNlVVJMLCBjb25zdCBBdG9taWNTdHJpbmcmIGF0dHJpYnV0ZVVSTCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQuaCBiL1Nv
dXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQuaAppbmRl
eCAyZmU4ZmU2MmNmZTMzYjA5MDEzZjE5NjU0YTNjZTJhNzY4NDM5NmMyLi41YTBlYjk0ZDk0ZGMx
MTY1MmE1ZGJiZmU1M2JkZmI2ZTliMzI0MmNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0
L1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1F0LmgKKysrIGIvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5oCkBAIC02MCw2ICs2MCw4
IEBAIHByaXZhdGU6CiAgICAgLy8gV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3kKICAgICB2aXJ0dWFs
IHZvaWQgcmVmcmVzaFBsdWdpbnMoKTsKICAgICB2aXJ0dWFsIHZvaWQgZ2V0UGx1Z2luSW5mbyhj
b25zdCBXZWJDb3JlOjpQYWdlKiwgVmVjdG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+Jik7CisgICAg
dmlydHVhbCBib29sIGlzQXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpQ
bHVnSW5PcmlnaW5IYXNoKTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkQXV0b1N0YXJ0T3JpZ2luKFdl
YkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNoKTsKIAogICAgIC8vIFdlYkNv
cmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kKICAgICB2aXJ0dWFsIGJvb2wgaXNMaW5rVmlzaXRlZChX
ZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6TGlua0hhc2gsIGNvbnN0IFdlYkNvcmU6OktVUkwmIGJh
c2VVUkwsIGNvbnN0IFdURjo6QXRvbWljU3RyaW5nJiBhdHRyaWJ1dGVVUkwpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVz
LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRl
Z2llcy5jcHAKaW5kZXggNzVhMDNlMjE5ZmFjZTQzNDM3NzNkZTkxOWViMmZiZWU4MGRkZDBjMS4u
ZDZhMTMyNGZhNjYyMzgyNTQxYTE4MTI0Y2FmMWYyMGI1YTk5NGI2YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdp
ZXMuY3BwCkBAIC0xMjgsNiArMTI4LDE1IEBAIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpn
ZXRQbHVnaW5JbmZvKGNvbnN0IFdlYkNvcmU6OlBhZ2UqLCBWZWN0b3I8V2ViQ29yZTo6CiAgICAg
fQogfQogCitib29sIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6aXNBdXRvU3RhcnRPcmlnaW4oUGFn
ZSosIFBsdWdJbk9yaWdpbkhhc2gpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFdl
YlBsYXRmb3JtU3RyYXRlZ2llczo6YWRkQXV0b1N0YXJ0T3JpZ2luKFBhZ2UqLCBQbHVnSW5Pcmln
aW5IYXNoKQoreworfQorCiBib29sIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6aXNMaW5rVmlzaXRl
ZChQYWdlKiBwYWdlLCBMaW5rSGFzaCBoYXNoLCBjb25zdCBLVVJMJiwgY29uc3QgQXRvbWljU3Ry
aW5nJikKIHsKICAgICByZXR1cm4gcGFnZS0+Z3JvdXAoKS5pc0xpbmtWaXNpdGVkKGhhc2gpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1T
dHJhdGVnaWVzLmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9y
bVN0cmF0ZWdpZXMuaAppbmRleCA5Nzc3Yjg0ODAzYmU4ZjYxYjc1N2I3MDg5OWUwYTNlOWM3MWIw
MTNkLi5mZjM3MTc4Zjk1ZDVkZDg2NjY5YTQ2Mzk1OTY2OGQ3NmNiNTBkZGM3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuaApAQCAtNTcsNiArNTcsOCBAQCBwcml2YXRlOgogICAgIC8vIFdlYkNvcmU6OlBsdWdp
blN0cmF0ZWd5CiAgICAgdmlydHVhbCB2b2lkIHJlZnJlc2hQbHVnaW5zKCk7CiAgICAgdmlydHVh
bCB2b2lkIGdldFBsdWdpbkluZm8oY29uc3QgV2ViQ29yZTo6UGFnZSosIFZlY3RvcjxXZWJDb3Jl
OjpQbHVnaW5JbmZvPiYpOworICAgIHZpcnR1YWwgYm9vbCBpc0F1dG9TdGFydE9yaWdpbihXZWJD
b3JlOjpQYWdlKiwgV2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFzaCk7CisgICAgdmlydHVhbCB2b2lk
IGFkZEF1dG9TdGFydE9yaWdpbihXZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6UGx1Z0luT3JpZ2lu
SGFzaCk7CiAKICAgICAvLyBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5CiAgICAgdmlydHVh
bCBib29sIGlzTGlua1Zpc2l0ZWQoV2ViQ29yZTo6UGFnZSosIFdlYkNvcmU6OkxpbmtIYXNoLCBj
b25zdCBXZWJDb3JlOjpLVVJMJiBiYXNlVVJMLCBjb25zdCBXVEY6OkF0b21pY1N0cmluZyYgYXR0
cmlidXRlVVJMKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBv
cnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UuY3BwIGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJD
b3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5jcHAKaW5kZXggNDI1YjBmM2E4MmIz
MzdhYThhMzkzODljMzljOThkZWY5NjdmMjFkNi4uMjJjNmQ1N2QzY2E3OWQ3YzZkN2Y1NmRiOGQ2
NmVkYjZmN2RhZDAzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3Vw
cG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW5j
ZS9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5jcHAKQEAgLTExNSw2ICsx
MTUsMTUgQEAgdm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRTo6Z2V0UGx1Z2luSW5mbyhjb25z
dCBQYWdlKiwgVmVjdG9yPFBsdWdpbkluZm8+JiBvdXQKICAgICB9CiB9CiAKK2Jvb2wgUGxhdGZv
cm1TdHJhdGVnaWVzV2luQ0U6OmlzQXV0b1N0YXJ0T3JpZ2luKFBhZ2UqLCBQbHVnSW5PcmlnaW5I
YXNoKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNX
aW5DRTo6YWRkQXV0b1N0YXJ0T3JpZ2luKFBhZ2UqLCBQbHVnSW5PcmlnaW5IYXNoKQoreworfQor
CiBib29sIFBsYXRmb3JtU3RyYXRlZ2llc1dpbkNFOjppc0xpbmtWaXNpdGVkKFBhZ2UqIHBhZ2Us
IExpbmtIYXNoIGhhc2gsIGNvbnN0IEtVUkwmLCBjb25zdCBBdG9taWNTdHJpbmcmKQogewogICAg
IHJldHVybiBwYWdlLT5ncm91cCgpLmlzTGlua1Zpc2l0ZWQoaGFzaCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNF
LmggYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2ll
c1dpbkNFLmgKaW5kZXggMmNlNDgyMDNjNjhjNWQ5OWQ2M2Q4NWQ1OTYzM2JjYTg4ODFkZTMxMS4u
MmNmYWIzZDViOTFkZjQ2ZTgzZThmNDBjZjVlMjAxNmRkNTJiNGM3ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVn
aWVzV2luQ0UuaApAQCAtNTMsNiArNTMsOCBAQCBwcml2YXRlOgogICAgIC8vIFdlYkNvcmU6OlBs
dWdpblN0cmF0ZWd5CiAgICAgdmlydHVhbCB2b2lkIHJlZnJlc2hQbHVnaW5zKCk7CiAgICAgdmly
dHVhbCB2b2lkIGdldFBsdWdpbkluZm8oY29uc3QgV2ViQ29yZTo6UGFnZSosIFZlY3RvcjxXZWJD
b3JlOjpQbHVnaW5JbmZvPiYpOworICAgIHZpcnR1YWwgYm9vbCBpc0F1dG9TdGFydE9yaWdpbihX
ZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFzaCk7CisgICAgdmlydHVhbCB2
b2lkIGFkZEF1dG9TdGFydE9yaWdpbihXZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6UGx1Z0luT3Jp
Z2luSGFzaCk7CiAKICAgICAvLyBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5CiAgICAgdmly
dHVhbCBib29sIGlzTGlua1Zpc2l0ZWQoV2ViQ29yZTo6UGFnZSosIFdlYkNvcmU6OkxpbmtIYXNo
LCBjb25zdCBXZWJDb3JlOjpLVVJMJiwgY29uc3QgV1RGOjpBdG9taWNTdHJpbmcmKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktpdDIvQ01h
a2VMaXN0cy50eHQKaW5kZXggMDAzMzk2YTY1N2ZkNDViOGJlMmM4MjUwZTA5MmNlMmQzZjZmZDIy
MC4uMWRmNjE4NzEyNWI4YmYzNzEyMTFmYjc1YzM5OTlkYWZmZDY3OTgxZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvQ01ha2VM
aXN0cy50eHQKQEAgLTM2Miw2ICszNjIsNyBAQCBTRVQoV2ViS2l0Ml9TT1VSQ0VTCiAgICAgVUlQ
cm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmNwcAogICAg
IFVJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmNwcAogCisg
ICAgVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwCiAgICAgVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmNwcAogICAgIFVJUHJvY2Vzcy9QbHVnaW5z
L1BsdWdpblByb2Nlc3NNYW5hZ2VyLmNwcAogICAgIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblBy
b2Nlc3NQcm94eS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxp
c3QuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGFiNTIzZWYz
ZjNiYjM3ZWUyNTQ3OWIyZTFhNWYwZDVjODA1MzQ0YTEuLjMyYTc2MTk5YzZjZWVjNmMwZmFiZDI2
ZGRhZjJmYzllZjk1YjRiMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KKysrIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNDI4
LDYgKzQyOCw3IEBAIHdlYmtpdDJfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVk
L1BsdWdpbnMvTlBSZW1vdGVPYmplY3RNYXAuaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1Bs
dWdpbnMvTlBWYXJpYW50RGF0YS5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5z
L05QVmFyaWFudERhdGEuaCBcCisJU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z0lu
QXV0b1N0YXJ0VGFibGUuaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2lu
TW9kdWxlSW5mby5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdpbk1v
ZHVsZUluZm8uaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgXApAQCAtODE0LDYgKzgxNSw4IEBAIHdlYmtpdDJfc291
cmNlcyArPSBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90
aWZpY2F0aW9uUHJvdmlkZXIuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9XZWJOb3RpZmljYXRpb25Qcm92aWRlci5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvUGFnZUNsaWVudC5oIFwKKwlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9Q
bHVnSW5BdXRvU3RhcnRQcm92aWRlci5jcHAgXAorCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Q
bHVnaW5zL1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkKaW5kZXggMDk4
YjViOTU0M2Y1ZmRmYjliOGE5MzFhMTI4Mjc5MWU2YTk3NTY5MS4uYjhmMzUwNTY3OThiYTYzOWMx
MDQ1MWVlMGU2MjU4NjMxMmRlOTBjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVGFyZ2V0
LnByaQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCkBAIC0xNDIsNiArMTQyLDcgQEAg
SEVBREVSUyArPSBcCiAgICAgU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIu
aCBcCiAgICAgU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RQcm94eS5oIFwKICAgICBTaGFyZWQvUGx1
Z2lucy9OUFZhcmlhbnREYXRhLmggXAorICAgIFNoYXJlZC9QbHVnaW5zL1BsdWdJbkF1dG9TdGFy
dFRhYmxlLmggXAogICAgIFNoYXJlZC9QbHVnaW5zL1BsdWdpbk1vZHVsZUluZm8uaCBcCiAgICAg
U2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIFwKICAgICBT
aGFyZWQvUGx1Z2lucy9QbHVnaW5RdWlya3MuaCBcCkBAIC0yMjcsNiArMjI4LDcgQEAgSEVBREVS
UyArPSBcCiAgICAgVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBcCiAgICAgVUlQcm9jZXNzL1BhZ2VW
aWV3cG9ydENvbnRyb2xsZXIuaCBcCiAgICAgVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xs
ZXJDbGllbnQuaCBcCisgICAgVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlk
ZXIuaCBcCiAgICAgVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmggXAogICAgIFVJ
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5oIFwKICAgICBVSVByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oIFwKQEAgLTU4Myw2ICs1ODUsNyBAQCBTT1VSQ0VT
ICs9IFwKICAgICBVSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2Vy
UHJveHkuY3BwIFwKICAgICBVSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25Q
cm92aWRlci5jcHAgXAogICAgIFVJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNwcCBc
CisgICAgVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwIFwKICAg
ICBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5JbmZvU3RvcmUuY3BwIFwKICAgICBVSVByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwIFwKICAgICBVSVByb2Nlc3MvUGx1Z2lucy9Q
bHVnaW5Qcm9jZXNzTWFuYWdlci5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYkNvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRl
eHQuY3BwCmluZGV4IDNmODE4ZDFjMThiNTM4NjBjZjg3NDJkNDRjOTljMzgwNzdhYjFlODEuLjli
MjJjYTNjN2ZkOWYwZmZjNDc5N2MxMGE2MDg2Mjk2OTIyMzhkODcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKQEAgLTEyMCw2ICsxMjAsNyBAQCBXZWJDb250ZXh0OjpX
ZWJDb250ZXh0KFByb2Nlc3NNb2RlbCBwcm9jZXNzTW9kZWwsIGNvbnN0IFN0cmluZyYgaW5qZWN0
ZWRCdW5kbGVQYQogICAgICwgbV9kZWZhdWx0UGFnZUdyb3VwKFdlYlBhZ2VHcm91cDo6Y3JlYXRl
KCkpCiAgICAgLCBtX2luamVjdGVkQnVuZGxlUGF0aChpbmplY3RlZEJ1bmRsZVBhdGgpCiAgICAg
LCBtX3Zpc2l0ZWRMaW5rUHJvdmlkZXIodGhpcykKKyAgICAsIG1fcGx1Z0luQXV0b1N0YXJ0UHJv
dmlkZXIodGhpcykKICAgICAsIG1fYWx3YXlzVXNlc0NvbXBsZXhUZXh0Q29kZVBhdGgoZmFsc2Up
CiAgICAgLCBtX3Nob3VsZFVzZUZvbnRTbW9vdGhpbmcodHJ1ZSkKICAgICAsIG1fY2FjaGVNb2Rl
bChDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIpCkBAIC0xMDI1LDQgKzEwMjYsOSBAQCB2b2lkIFdl
YkNvbnRleHQ6OnNldEphdmFTY3JpcHRHYXJiYWdlQ29sbGVjdG9yVGltZXJFbmFibGVkKGJvb2wg
ZmxhZykKICAgICBzZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlNldEph
dmFTY3JpcHRHYXJiYWdlQ29sbGVjdG9yVGltZXJFbmFibGVkKGZsYWcpKTsKIH0KIAordm9pZCBX
ZWJDb250ZXh0OjphZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW5IYXNoKFdlYkNvcmU6OlBsdWdJbk9y
aWdpbkhhc2ggaGFzaCkKK3sKKyAgICBtX3BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmFkZEF1dG9T
dGFydE9yaWdpbihoYXNoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYkNvbnRleHQuaAppbmRleCAyY2Y3YmI1MDdjZTBjZWIwMmExYWE1OTExNGE2
ODhmMTc4MDM0OTFkLi5hMzZjYThkZjg1OTNiMjQ4YTkyNDZmN2I5YjQxODM2ZTIxY2M5YTVhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKQEAgLTMwLDYgKzMwLDcgQEAKICNp
bmNsdWRlICJHZW5lcmljQ2FsbGJhY2suaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIK
ICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXJNYXAuaCIKKyNpbmNsdWRlICJQbHVnSW5BdXRvU3Rh
cnRQcm92aWRlci5oIgogI2luY2x1ZGUgIlBsdWdpbkluZm9TdG9yZS5oIgogI2luY2x1ZGUgIlBy
b2Nlc3NNb2RlbC5oIgogI2luY2x1ZGUgIlZpc2l0ZWRMaW5rUHJvdmlkZXIuaCIKQEAgLTM5LDYg
KzQwLDcgQEAKICNpbmNsdWRlICJXZWJIaXN0b3J5Q2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViUHJv
Y2Vzc1Byb3h5LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9MaW5rSGFzaC5oPgorI2luY2x1ZGUgPFdl
YkNvcmUvUGx1Z0luT3JpZ2luSGFzaC5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgpAQCAtMzEw
LDYgKzMxMiw4IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJPY2NsdXNpb25O
b3RpZmljYXRpb25IYW5kbGVycygpOwogI2VuZGlmCiAKKyAgICB2b2lkIGFkZFBsdWdJbkF1dG9T
dGFydE9yaWdpbkhhc2goV2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFzaCk7CisKICAgICBQcm9jZXNz
TW9kZWwgbV9wcm9jZXNzTW9kZWw7CiAgICAgCiAgICAgVmVjdG9yPFJlZlB0cjxXZWJQcm9jZXNz
UHJveHk+ID4gbV9wcm9jZXNzZXM7CkBAIC0zMjksNiArMzMzLDcgQEAgcHJpdmF0ZToKICAgICBQ
bHVnaW5JbmZvU3RvcmUgbV9wbHVnaW5JbmZvU3RvcmU7CiAjZW5kaWYKICAgICBWaXNpdGVkTGlu
a1Byb3ZpZGVyIG1fdmlzaXRlZExpbmtQcm92aWRlcjsKKyAgICBQbHVnSW5BdXRvU3RhcnRQcm92
aWRlciBtX3BsdWdJbkF1dG9TdGFydFByb3ZpZGVyOwogICAgICAgICAKICAgICBIYXNoU2V0PFN0
cmluZz4gbV9zY2hlbWVzVG9SZWdpc3RlckFzRW1wdHlEb2N1bWVudDsKICAgICBIYXNoU2V0PFN0
cmluZz4gbV9zY2hlbWVzVG9SZWdpc3RlckFzU2VjdXJlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViQ29udGV4dC5tZXNzYWdlcy5pbgppbmRleCAyNjY0YTVmNGZmZTY3ODFkNWRh
ZGEzYTQyOGMxZjdlOTZlNjFhOWU0Li5mNjI0OWIzMDRmZDU4MDZjZjcxNGQ4MmVmN2ZkMmNkNDI5
YTQ5N2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5t
ZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5tZXNz
YWdlcy5pbgpAQCAtNTEsNCArNTEsNyBAQCBtZXNzYWdlcyAtPiBXZWJDb250ZXh0IHsKICAgICAv
LyBhbnkgc3luY2hyb25vdXMgbWVzc2FnZXMsIGFuZCBzaG91bGQgYmUgcmVtb3ZlZCB3aGVuIDxy
ZGFyOi8vcHJvYmxlbS84Nzc1MTE1PiBpcyBmaXhlZC4KICAgICBEdW1teSgpIC0+IChib29sIGR1
bW15UmV0dXJuKQogI2VuZGlmCisKKyAgICAjIFBsdWctaW4gbWVzc2FnZXMuCisgICAgdm9pZCBB
ZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW5IYXNoKHVpbnQ2NF90IGhhc2gpCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNzZlMmQy
YTY3YjY5YjM3YTgzNTk0MGY2YzUyMmMxMmI5MWU2YTRiOS4uNjZmMWY3MjdhMDA2ZGI4ZjlmNzYw
MDNmZmM3ZDdhNWE5MmUzNzIyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzIxLDYgKzMyMSw5IEBACiAJCTMxQTJFQzU2MTQ4
OTlDMDkwMDgxMEQ3MSAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFBMkVDNTMxNDg5OTgyNTAw
ODEwRDcxIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmggKi87IH07CiAJCTMxQTJF
Qzc0MTQ4RDU5Q0EwMDgxMEQ3MSAvKiBXS05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUEyRUM3MjE0
OEQ1OUJCMDA4MTBENzEgLyogV0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTMxQTJFQzc3MTQ4
RDY2MkUwMDgxMEQ3MSAvKiBXS05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQTJFQzc1MTQ4RDY1
QkIwMDgxMEQ3MSAvKiBXS05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmNwcCAqLzsgfTsK
KwkJMzFBNjdFMEMxNjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQTY3RTBB
MTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5jcHAgKi87IH07CisJ
CTMxQTY3RTBEMTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFBNjdFMEIxNjVC
MkE5OTAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmggKi87IH07CisJCTMxQTY3
RTEyMTY1QjkxRUMwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRUYWJsZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFBNjdFMTAxNjVCOTFFQzAwNkNC
QTY2IC8qIFBsdWdJbkF1dG9TdGFydFRhYmxlLmggKi87IH07CiAJCTMxQkE5MjREMTQ4ODMxMjYw
MDYyRURCNSAvKiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQkE5MjQ4MTQ4ODMw
ODEwMDYyRURCNSAvKiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAq
LzsgfTsKIAkJMzFCQTkyNEUxNDg4MzEyNjAwNjJFREI1IC8qIFdlYk5vdGlmaWNhdGlvbk1hbmFn
ZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMzFCQTkyNDkxNDg4MzA4MTAwNjJFREI1IC8qIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNz
YWdlcy5oICovOyB9OwogCQkzMUVBMjVEMjEzNEY3OEMwMDA1QjE0NTIgLyogTmF0aXZlV2ViTW91
c2VFdmVudE1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMxRUEyNUQwMTM0Rjc4QjIwMDVCMTQ1MiAvKiBOYXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1t
ICovOyB9OwpAQCAtMTU0NSw2ICsxNTQ4LDkgQEAKIAkJMzFBMkVDNTQxNDg5OTgyRTAwODEwRDcx
IC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFBMkVDNzIxNDhENTlCQjAwODEwRDcxIC8qIFdL
Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tOb3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkz
MUEyRUM3NTE0OEQ2NUJCMDA4MTBENzEgLyogV0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVz
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS05vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFB
NjdFMEExNjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBsdWdJbkF1dG9TdGFydFByb3ZpZGVy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFBNjdFMEIxNjVCMkE5OTAwNkNC
QTY2IC8qIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTMxQTY3RTEwMTY1QjkxRUMwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRUYWJs
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVnSW5BdXRvU3RhcnRUYWJs
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUJBOTI0ODE0ODgzMDgxMDA2MkVE
QjUgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2Fn
ZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFCQTkyNDkxNDg4
MzA4MTAwNjJFREI1IC8qIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlcy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZXMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFFQTI1RDAxMzRGNzhCMjAwNUIxNDUy
IC8qIE5hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBOYXRp
dmVXZWJNb3VzZUV2ZW50TWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjkw
NSw2ICsyOTExLDcgQEAKIAkJCQkxQTFGQTI1MTEyN0EwRTRGMDA1MEU3MDkgLyogTlBSZW1vdGVP
YmplY3RNYXAuaCAqLywKIAkJCQkxQTJEODRBMjEyN0Y2QUQxMDAxRUI5NjIgLyogTlBWYXJpYW50
RGF0YS5jcHAgKi8sCiAJCQkJMUEyRDg0QTExMjdGNkFEMTAwMUVCOTYyIC8qIE5QVmFyaWFudERh
dGEuaCAqLywKKwkJCQkzMUE2N0UxMDE2NUI5MUVDMDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0
VGFibGUuaCAqLywKIAkJCQkxQTNENjBGRjEzQTdDQzJBMDBGOTVENEUgLyogUGx1Z2luTW9kdWxl
SW5mby5jcHAgKi8sCiAJCQkJMUEzRDYxMDAxM0E3Q0MyQTAwRjk1RDRFIC8qIFBsdWdpbk1vZHVs
ZUluZm8uaCAqLywKIAkJCQkxQTJEOTBEMTEyODFDOTY2MDAxRUI5NjIgLyogUGx1Z2luUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgKi8sCkBAIC0yOTc0LDYgKzI5ODEsOCBAQAogCQkJaXNh
ID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQkxQUVGQ0MwRDExRDAxRjQxMDA4MjE5
RDMgLyogbWFjICovLAorCQkJCTMxQTY3RTBBMTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRv
U3RhcnRQcm92aWRlci5jcHAgKi8sCisJCQkJMzFBNjdFMEIxNjVCMkE5OTAwNkNCQTY2IC8qIFBs
dWdJbkF1dG9TdGFydFByb3ZpZGVyLmggKi8sCiAJCQkJMUFFRkNDMTExMUQwMUY5NjAwODIxOUQz
IC8qIFBsdWdpbkluZm9TdG9yZS5jcHAgKi8sCiAJCQkJMUFFRkNDMTAxMUQwMUY5NjAwODIxOUQz
IC8qIFBsdWdpbkluZm9TdG9yZS5oICovLAogCQkJCTFBMEVDNjAyMTI0QTlGMkMwMDdFRjRBNSAv
KiBQbHVnaW5Qcm9jZXNzTWFuYWdlci5jcHAgKi8sCkBAIC01MDAwLDYgKzUwMDksOCBAQAogCQkJ
CTI5ODRGNTg5MTY0QkEwOTUwMDRCQzBDNiAvKiBDdXN0b21Qcm90b2NvbE1hbmFnZXJNZXNzYWdl
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGMDYwRTAxNjU0MzE3RjAwRjMyODFCIC8qIFdlYlJl
c291cmNlTG9hZGVyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNzU5NDRCMTY1NzA4
MDQwMERENzcxRCAvKiBOZXR3b3JrUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMzFBNjdFMEQxNjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFByb3Zp
ZGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQkzMUE2N0UxMjE2NUI5MUVDMDA2Q0JBNjYgLyogUGx1
Z0luQXV0b1N0YXJ0VGFibGUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtNTk1NCw2ICs1OTY1LDcgQEAK
IAkJCQkyOTg0RjU4ODE2NEJBMDk1MDA0QkMwQzYgLyogQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyTWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYz
MjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk1MTc1OTQ0QTE2NTcwODA0MDBERDc3MUQgLyogTmV0d29ya1Jlc291cmNlTG9hZGVy
TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxQTY3RTBDMTY1QjJBOTkw
MDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxh
dGZvcm1TdHJhdGVnaWVzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAppbmRleCBjMDQ2NjQ0Mzk4ZjNiMWVlMWU0
ODQwODFmMzYwMWMyOGExM2I4ZGE0Li5hZTkwYjM5OTQ0MjUzZmZjMzhiZmExMjM5NDg3NjIzMzhm
YjJmYmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCkBAIC0xNTEsNiAr
MTUxLDE2IEBAIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpnZXRQbHVnaW5JbmZvKGNvbnN0
IFdlYkNvcmU6OlBhZ2UqLCBWZWN0b3I8V2ViQ29yZTo6CiAjZW5kaWYgLy8gRU5BQkxFKE5FVFND
QVBFX1BMVUdJTl9BUEkpCiB9CiAKK2Jvb2wgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjppc0F1dG9T
dGFydE9yaWdpbihQYWdlKiwgUGx1Z0luT3JpZ2luSGFzaCBoYXNoKQoreworICAgIHJldHVybiBX
ZWJQcm9jZXNzOjpzaGFyZWQoKS5pc1BsdWdJbkF1dG9TdGFydE9yaWdpbihoYXNoKTsKK30KKwor
dm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmFkZEF1dG9TdGFydE9yaWdpbihQYWdlKiwgUGx1
Z0luT3JpZ2luSGFzaCBoYXNoKQoreworICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmFkZFBsdWdJ
bkF1dG9TdGFydE9yaWdpbihoYXNoKTsKK30KKwogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5f
QVBJKQogc3RhdGljIEJsb2NraW5nUmVzcG9uc2VNYXA8VmVjdG9yPFdlYkNvcmU6OlBsdWdpbklu
Zm8+ID4mIHJlc3BvbnNlTWFwKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCmlu
ZGV4IDA0MGNmYjFhOWE2M2VlZjkwNzkxZjBmM2M1NjlkYmEyNmIyYWYxMDMuLmY0NmM3NGRkNWI5
ZjhlYTQyZDc1ODVmMmEzZDZjNDJjZDcwYjQyZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuaApAQCAtNjcsNiArNjcsOCBAQCBwcml2YXRlOgogICAgIC8vIFdlYkNvcmU6OlBsdWdp
blN0cmF0ZWd5CiAgICAgdmlydHVhbCB2b2lkIHJlZnJlc2hQbHVnaW5zKCkgT1ZFUlJJREU7CiAg
ICAgdmlydHVhbCB2b2lkIGdldFBsdWdpbkluZm8oY29uc3QgV2ViQ29yZTo6UGFnZSosIFZlY3Rv
cjxXZWJDb3JlOjpQbHVnaW5JbmZvPiYpIE9WRVJSSURFOworICAgIHZpcnR1YWwgYm9vbCBpc0F1
dG9TdGFydE9yaWdpbihXZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFzaCkg
T1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIGFkZEF1dG9TdGFydE9yaWdpbihXZWJDb3JlOjpQ
YWdlKiwgV2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFzaCkgT1ZFUlJJREU7CiAKICAgICAvLyBXZWJD
b3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5CiAgICAgdmlydHVhbCBib29sIGlzTGlua1Zpc2l0ZWQo
V2ViQ29yZTo6UGFnZSosIFdlYkNvcmU6OkxpbmtIYXNoLCBjb25zdCBXZWJDb3JlOjpLVVJMJiBi
YXNlVVJMLCBjb25zdCBXVEY6OkF0b21pY1N0cmluZyYgYXR0cmlidXRlVVJMKSBPVkVSUklERTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IDI4YjdiZmQ3YjAy
MzY2ZjM0MGYyNDcxZTA3N2MzNjkwZjJhYThiNmQuLmIyZjIwZGI5N2VkM2ZmNTUxMzUzZDA4NzMz
ZmM5NGNlNWMyNTYyNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNw
cApAQCAtOTEyLDcgKzkxMiwyNSBAQCB2b2lkIFdlYlByb2Nlc3M6OmNsZWFyUGx1Z2luU2l0ZURh
dGEoY29uc3QgVmVjdG9yPFN0cmluZz4mIHBsdWdpblBhdGhzLCBjb25zdCBWZQogICAgIGNvbm5l
Y3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpEaWRDbGVhclBsdWdpblNp
dGVEYXRhKGNhbGxiYWNrSUQpLCAwKTsKIH0KICNlbmRpZgotICAgIAorCitib29sIFdlYlByb2Nl
c3M6OmlzUGx1Z0luQXV0b1N0YXJ0T3JpZ2luKFBsdWdJbk9yaWdpbkhhc2ggaGFzaCkKK3sKKyAg
ICByZXR1cm4gbV9hdXRvU3RhcnRUYWJsZS5jb250YWlucyhoYXNoKTsKK30KKwordm9pZCBXZWJQ
cm9jZXNzOjphZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW4oUGx1Z0luT3JpZ2luSGFzaCBoYXNoKQor
eworICAgIGlmIChpc1BsdWdJbkF1dG9TdGFydE9yaWdpbihoYXNoKSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgY29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpBZGRQbHVn
SW5BdXRvU3RhcnRPcmlnaW5IYXNoKGhhc2gpLCAwKTsKK30KKwordm9pZCBXZWJQcm9jZXNzOjpw
bHVnSW5BdXRvU3RhcnRPcmlnaW5DaGFuZ2VkKFBsdWdJbk9yaWdpbkhhc2ggaGFzaCkKK3sKKyAg
ICBtX2F1dG9TdGFydFRhYmxlLmFkZChoYXNoKTsKK30KKwogc3RhdGljIHZvaWQgZnJvbUNvdW50
ZWRTZXRUb0hhc2hNYXAoVHlwZUNvdW50U2V0KiBjb3VudGVkU2V0LCBIYXNoTWFwPFN0cmluZywg
dWludDY0X3Q+JiBtYXApCiB7CiAgICAgVHlwZUNvdW50U2V0Ojpjb25zdF9pdGVyYXRvciBlbmQg
PSBjb3VudGVkU2V0LT5lbmQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgK
aW5kZXggODJlNmNjOGYyYWIxZThlMDNkOGNlNGE0OTI4MTRmMzk3NzY3ODk1ZC4uNDNjNzBlMzY2
ODk1YWMyMjQ4MzlmMzA3YjM3NzRiZjI0ZDNlNTA5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJEcmF3aW5nQXJlYS5o
IgogI2luY2x1ZGUgIkV2ZW50RGlzcGF0Y2hlci5oIgogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZl
ck1hcC5oIgorI2luY2x1ZGUgIlBsdWdJbkF1dG9TdGFydFRhYmxlLmgiCiAjaW5jbHVkZSAiUGx1
Z2luSW5mb1N0b3JlLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VDYWNoZXNUb0NsZWFyLmgiCiAjaW5j
bHVkZSAiU2FuZGJveEV4dGVuc2lvbi5oIgpAQCAtNDIsNiArNDMsNyBAQAogI2luY2x1ZGUgIldl
Ykljb25EYXRhYmFzZVByb3h5LmgiCiAjaW5jbHVkZSAiV2ViUGFnZUdyb3VwUHJveHkuaCIKICNp
bmNsdWRlIDxXZWJDb3JlL0xpbmtIYXNoLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QbHVnSW5Pcmln
aW5IYXNoLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CkBAIC0xNTIsNiArMTU0LDkgQEAgcHVibGlj
OgogICAgIHZvaWQgYWRkVmlzaXRlZExpbmsoV2ViQ29yZTo6TGlua0hhc2gpOwogICAgIGJvb2wg
aXNMaW5rVmlzaXRlZChXZWJDb3JlOjpMaW5rSGFzaCkgY29uc3Q7CiAKKyAgICBib29sIGlzUGx1
Z0luQXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhhc2gpOworICAgIHZvaWQg
YWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhhc2gpOworCiAg
ICAgYm9vbCBmdWxsS2V5Ym9hcmRBY2Nlc3NFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9mdWxs
S2V5Ym9hcmRBY2Nlc3NFbmFibGVkOyB9CiAKICAgICBXZWJGcmFtZSogd2ViRnJhbWUodWludDY0
X3QpIGNvbnN0OwpAQCAtMjM2LDYgKzI0MSw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCB2aXNpdGVk
TGlua1N0YXRlQ2hhbmdlZChjb25zdCBWZWN0b3I8V2ViQ29yZTo6TGlua0hhc2g+JiBsaW5rSGFz
aGVzKTsKICAgICB2b2lkIGFsbFZpc2l0ZWRMaW5rU3RhdGVDaGFuZ2VkKCk7CiAKKyAgICB2b2lk
IHBsdWdJbkF1dG9TdGFydE9yaWdpbkNoYW5nZWQoV2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFzaCk7
CisKICAgICB2b2lkIHBsYXRmb3JtU2V0Q2FjaGVNb2RlbChDYWNoZU1vZGVsKTsKICAgICBzdGF0
aWMgdm9pZCBjYWxjdWxhdGVDYWNoZVNpemVzKENhY2hlTW9kZWwgY2FjaGVNb2RlbCwgdWludDY0
X3QgbWVtb3J5U2l6ZSwgdWludDY0X3QgZGlza0ZyZWVTaXplLAogICAgICAgICB1bnNpZ25lZCYg
Y2FjaGVUb3RhbENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNaW5EZWFkQ2FwYWNpdHksIHVuc2ln
bmVkJiBjYWNoZU1heERlYWRDYXBhY2l0eSwgZG91YmxlJiBkZWFkRGVjb2RlZERhdGFEZWxldGlv
bkludGVydmFsLApAQCAtMzI4LDYgKzMzNSw4IEBAIHByaXZhdGU6CiAgICAgVmlzaXRlZExpbmtU
YWJsZSBtX3Zpc2l0ZWRMaW5rVGFibGU7CiAgICAgYm9vbCBtX3Nob3VsZFRyYWNrVmlzaXRlZExp
bmtzOwogCisgICAgUGx1Z0luQXV0b1N0YXJ0VGFibGUgbV9hdXRvU3RhcnRUYWJsZTsKKwogICAg
IGJvb2wgbV9oYXNTZXRDYWNoZU1vZGVsOwogICAgIENhY2hlTW9kZWwgbV9jYWNoZU1vZGVsOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4K
aW5kZXggZWRjYWQzNGZmMzdjZWE3YWQxMzVkNmQyNjQ0MmUxZGVjNDg4ZDMwNi4uYTYwZmYzM2Uy
Y2Y0Y2RmYzBmNmY3ZTNhMWFiNDViZjY3MGVlOGFjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtNjMsNiArNjMsNyBAQCBtZXNz
YWdlcyAtPiBXZWJQcm9jZXNzIHsKICAgICBHZXRTaXRlc1dpdGhQbHVnaW5EYXRhKFZlY3RvcjxX
VEY6OlN0cmluZz4gcGx1Z2luUGF0aHMsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAgICAgQ2xlYXJQ
bHVnaW5TaXRlRGF0YShWZWN0b3I8V1RGOjpTdHJpbmc+IHBsdWdpblBhdGhzLCBWZWN0b3I8V1RG
OjpTdHJpbmc+IHNpdGVzLCB1aW50NjRfdCBmbGFncywgdWludDY0X3QgbWF4QWdlSW5TZWNvbmRz
LCB1aW50NjRfdCBjYWxsYmFja0lEKQogI2VuZGlmCisgICAgUGx1Z0luQXV0b1N0YXJ0T3JpZ2lu
Q2hhbmdlZCh1aW50NjRfdCBoYXNoKQogCiAjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKICAg
ICBOZXR3b3JrUHJvY2Vzc0NyYXNoZWQoKSBEaXNwYXRjaE9uQ29ubmVjdGlvblF1ZXVlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2ogYi9Tb3VyY2UvV2ViS2l0
Mi93aW4vV2ViS2l0Mi52Y3Byb2oKaW5kZXggMDU3Y2JmM2RiMzZmZTgzZGNiNTM5NjhkMDAwYTZl
ZTc0OTE5YzU5Yi4uOTFjZGQzOGZhYWQ1YTc3ZmUzOTQwNTQzMDA2ZTZjNTFmNzgxNDA3NiAxMDA3
NTUKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagpAQCAtMTU1OCw2ICsxNTU4LDEwIEBACiAJCQkJTmFt
ZT0iUGx1Z2lucyIKIAkJCQk+CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxTaGFy
ZWRcUGx1Z2luc1xQbHVnSW5BdXRvU3RhcnRUYWJsZS5oIgorCQkJCQk+CisJCQkJPC9GaWxlPgor
CQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cU2hhcmVkXFBsdWdpbnNcUGx1Z2luTW9k
dWxlSW5mby5jcHAiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+CkBAIC0zODY2LDYgKzM4NzAsMTQgQEAK
IAkJCQlOYW1lPSJQbHVnaW5zIgogCQkJCT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXFVJUHJvY2Vzc1xQbHVnaW5zXFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcCIKKwkJCQkJ
PgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vz
c1xQbHVnaW5zXFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+
CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcUGx1Z2luc1xQbHVn
aW5JbmZvU3RvcmUuY3BwIgogCQkJCQk+CiAJCQkJPC9GaWxlPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176360</attachid>
            <date>2012-11-27 16:13:57 -0800</date>
            <delta_ts>2012-11-27 20:22:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103206-20121127161133.patch</filename>
            <type>text/plain</type>
            <size>64821</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1ODM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmQwYzE3N2YyMjE1Y2Q3
ZWFjZGZjZDFmZDE5NDZiYTE0ZWU5ODU4MC4uYTEzYjQ3YmUzYmE0YjUyZGI0Njc0MmFiMjczMmRj
Mzc1MDFmMDcwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDEyLTExLTI3ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBLZWVwIHRyYWNrIG9mIHBsdWctaW4g
c25hcHNob3RzIGNsaWNrZWQgYnkgdXNlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjc0NjQ4
Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCZXR3
ZWVuIHRoZSBVSSBhbmQgd2ViIHByb2Nlc3NlcyB3ZSBrZWVwIHRyYWNrIG9mICJvcmlnaW4gaGFz
aGVzIiwgd2hpY2ggYXJlIGJhc2VkIG9uIGEgY29tYmluYXRpb24gb2YKKyAgICAgICAgdGhlIGJh
c2UgZG9tYWlucyBvZiB0aGUgcGFnZSdzIG1haW4gZnJhbWUgYW5kIHRoZSBwbHVnaW4uCisKKyAg
ICAgICAgQmVjYXVzZSB0aGUgYWN0dWFsIFVSTCBsb2FkZWQgZm9yIHRoZSBwbHVnaW4gbWlnaHQg
ZGlmZmVyIGZyb20gdGhlIG9uZSBvcmlnaW5hbGx5IHNwZWNpZmllZCwKKyAgICAgICAgd2Ugd2Fp
dCB1bnRpbCB0aGUgcGx1Zy1pbiBpcyBhYm91dCB0byBiZSBjcmVhdGVkIHRvIGdldCB0aGUgaGFz
aC4gVGhlIGhhc2ggaXMgY2FjaGVkLCBzbyB0aGF0IHdoZW4gdGhlCisgICAgICAgIHVzZXIgY2xp
Y2tzIG9uIHRoZSBwbHVnLWluIHNuYXBzaG90LCB0aGUgaGFzaCBjYW4gYmUgYWRkZWQgdG8gdGhl
IGxpc3Qgb2YgZG9tYWluIGhhc2hlcyB0aGF0IHNob3VsZAorICAgICAgICBhdXRvLXN0YXJ0Lgor
CisgICAgICAgICogcGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6Y29kZUZvbGRlZEhhc2gpOiBIYXNoIHRoZSBzdHJpbmcgd2l0aCBhIGNhc2Ut
Zm9sZGVkIGhhc2guCisgICAgICAgIChXZWJDb3JlOjpwbHVnSW5PcmlnaW5IYXNoKTogVGhlIGhh
c2ggaXMgdGhlIGp1eHRhcG9zaXRpb24gb2YgdHdvIGNvbXBsZXRlIDMyLWJpdCBoYXNoZXMsIG9u
ZSBvZiB0aGUgcGFnZSdzCisgICAgICAgIGhvc3QsIHRoZSBvdGhlciBvZiB0aGUgcGx1Zy1pbiBV
UkwncyBob3N0LiBXZSB1c2UgU3RyaW5nSGFzaGVyOjpjb21wdXRlSGFzaCgpIHRvIGdldCBhbGwg
MzItYml0cyBvZiB0aGUKKyAgICAgICAgaGFzaC4gVXNpbmcgU3RyaW5nSW1wbCdzIGhhc2ggbWFz
a3Mgb3V0IDggb2YgdGhlIGhhc2ggYml0cy4gV2UgY2FuIG5laXRoZXIgbGV2ZXJhZ2UgdGhhdCBj
YWNoZWQgaGFzaCBzaW5jZQorICAgICAgICByZXRyaWV2aW5nIHRoZSBob3N0IGZyb20gdGhlIEtV
UkwgY3JlYXRlcyBhIGJyYW5kIG5ldyBzdHJpbmcgZXZlcnkgdGltZS4KKyAgICAgICAgICAgIElu
IHRoZSBjYXNlIHdoZXJlIHRoZSBob3N0IGhhcyBhbiBlbXB0eSBzdHJpbmcgKGxpa2UgYSBmaWxl
IFVSTCksIHdlIHN1YnN0aXR1dGUgaW4gImxvY2FsaG9zdCIuCisgICAgICAgICogcGxhdGZvcm0v
UGx1Z0luT3JpZ2luSGFzaC5oOiBBZGRlZC4KKworICAgICAgICAqIHBsdWdpbnMvUGx1Z2luU3Ry
YXRlZ3kuaDoKKyAgICAgICAgKFBsdWdpblN0cmF0ZWd5KTogQWRkIG5ldyBmdW5jdGlvbnMgdG8g
dGhlIHBsdWctaW4gc3RyYXRlZ3ksIGZvciBjaGVja2luZyB3aGV0aGVyIHBsdWctaW5zIHdpdGgg
YQorICAgICAgICBjZXJ0YWluIG9yaWdpbiBoYXNoIGFyZSBtYXJrZWQgZm9yIGF1dG8tbG9hZCwg
YW5kIGZvciBhZGRpbmcgYSBuZXcgb3JpZ2luIGhhc2guCisKKyAgICAgICAgKiBodG1sL0hUTUxQ
bHVnSW5JbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFBsdWdJbkltYWdl
RWxlbWVudDo6SFRNTFBsdWdJbkltYWdlRWxlbWVudCk6IEluaXRpYWxseSB0aGUgaGFzaCBpcyB1
bmtub3duLiBTZXQgdG8gMC4KKyAgICAgICAgTW92ZSB0aGUgY2hlY2sgZm9yIHdoZXRoZXIgdG8g
c25hcHNob3QgdGhlIHBsdWdpbiBpbnRvIHRoZSBuZXcgZnVuY3Rpb24gc3ViZnJhbWVMb2FkZXJX
aWxsTG9hZFBsdWdJbi4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6
OnVzZXJEaWRDbGlja1NuYXBzaG90KTogUmVuYW1lIHNldFBlbmRpbmdDbGlja0V2ZW50KCkgdG8K
KyAgICAgICAgdXNlckRpZENsaWNrU25hcHNob3QuIEluIGFkZGl0aW9uIHRvIGhvbGRpbmcgb250
byB0aGUgY2xpY2sgZXZlbnQgdXNlZCB0byBhY3RpdmF0ZSB0aGUgcGx1Zy1pbiwgdGhlCisgICAg
ICAgIGZ1bmN0aW9uIG5vdyBhbHNvIHRlbGxzIHRoZSBwbHVnaW4gc3RyYXRlZ3kgdG8gYWRkIHRo
ZSBvcmlnaW4gaGFzaCBhcyBhbiBhdXRvLXN0YXJ0IG9yaWdpbi4KKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OnN1YmZyYW1lTG9hZGVyV2lsbExvYWRQbHVnSW4pOiBD
YWxjdWxhdGUgdGhlIGhhc2ggYmFzZWQgb24gdGhlCisgICAgICAgIHByb3ZpZGVkIFVSTCwgd2hp
Y2ggaXMgdGhlIFVSTCB0aGUgcGx1Zy1pbiB3aWxsIGxvYWQuIEV4dGVuZCB0aGUgY2hlY2sgdGhh
dCB1c2VkIHRvIGJlIGluIHRoZQorICAgICAgICBjb25zdHJ1Y3RvciB0byBzZWUgaWYgdGhlIHBs
dWctaW4gc2hvdWxkIG5vdCBhdXRvbWF0aWNhbGx5IGxvYWQuCisgICAgICAgICogaHRtbC9IVE1M
UGx1Z0luSW1hZ2VFbGVtZW50Lmg6CisgICAgICAgIChIVE1MUGx1Z0luSW1hZ2VFbGVtZW50KTog
QWRkIGFuIGl2YXIgdG8gbWFpbnRhaW4gYSBjb3B5IG9mIHRoZSBoYXNoLgorCisgICAgICAgICog
bG9hZGVyL1N1YmZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN1YmZyYW1lTG9h
ZGVyOjpyZXF1ZXN0UGx1Z2luKTogV2hlbiB0aGUgbG9hZGVyIGlzIGFib3V0IHRvIGxvYWQgdGhl
IHBsdWctaW4sIHBhc3MgdGhlCisgICAgICAgIFVSTCB0byB0aGUgZWxlbWVudCwgc28gdGhhdCBp
dCBjYW4gY2FsY3VsYXRlIHRoZSBoYXNoLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNu
YXBzaG90dGVkUGx1Z0luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNuYXBzaG90dGVk
UGx1Z0luOjpoYW5kbGVFdmVudCk6IENhbGwgdGhlIHJlbmFtZWQgZnVuY3Rpb24gdXNlckRpZENs
aWNrU25hcHNob3QoKS4KKworICAgICAgICBBZGQgUGx1Z0luT3JpZ2luSGFzaC57Y3BwLGh9Lgor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06
CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAg
ICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDEyLTExLTI3ICBTaGVyaWZmIEJvdCAgPHdlYmtp
dC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91
dCByMTM1Nzg2LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4IGNmZjBmNzJhY2VjNGEwOWJiOWI2M2Q0MjU3
NmRmYmMwYjc3NzIzYWUuLjFlYmIyYzUzZWM0ZmQ2YzZjM2Y1NGI1NGY4Mzc2ZTI4N2JiYWUxZTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0xMS0yNyAgSm9uIExlZSAg
PGpvbmxlZUBhcHBsZS5jb20+CisKKyAgICAgICAgS2VlcCB0cmFjayBvZiBwbHVnLWluIHNuYXBz
aG90cyBjbGlja2VkIGJ5IHVzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwMzIwNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTI3NDY0ODM+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwuY3BwOiBTdHViIGltcGxlbWVudGF0aW9ucy4K
KyAgICAgICAgKFBsYXRmb3JtU3RyYXRlZ2llc0VmbDo6aXNBdXRvU3RhcnRPcmlnaW4pOgorICAg
ICAgICAoUGxhdGZvcm1TdHJhdGVnaWVzRWZsOjphZGRBdXRvU3RhcnRPcmlnaW4pOgorICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5oOgorCiAyMDEyLTExLTI3
ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByMTM1Nzg2LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDczOGY4
NTNjYWE4OWE4YTFkMGFiN2Q0ZWQ3M2NlZmM4ZDdlZGVlNGUuLjVkYmI5MzlkOGJjNTgzYWVlYmM0
NzM5OTE3NWRlYzliZGQ5ZTllNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAor
MjAxMi0xMS0yNyAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKKyAgICAgICAgS2VlcCB0
cmFjayBvZiBwbHVnLWluIHNuYXBzaG90cyBjbGlja2VkIGJ5IHVzZXIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzIwNgorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMTI3NDY0ODM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuY3BwOiBT
dHViIGltcGxlbWVudGF0aW9ucy4KKyAgICAgICAgKFBsYXRmb3JtU3RyYXRlZ2llc0d0azo6aXNB
dXRvU3RhcnRPcmlnaW4pOgorICAgICAgICAoUGxhdGZvcm1TdHJhdGVnaWVzR3RrOjphZGRBdXRv
U3RhcnRPcmlnaW4pOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2ll
c0d0ay5oOgorCiAyMDEyLTExLTI3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdt
YWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTM1Nzg2LgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCmluZGV4IDkxMzFiZTAyMmI2ODcyNzNjMjA4M2JlNTgxY2NiMDQwMTNiOWZkZWUu
LmVhN2RhZjQyZGUwOTBkNjJiZWFkYzAyMDg3NTE1ZjE1YzdjZWY3YjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0xMS0yNyAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5j
b20+CisKKyAgICAgICAgS2VlcCB0cmFjayBvZiBwbHVnLWluIHNuYXBzaG90cyBjbGlja2VkIGJ5
IHVzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
MzIwNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTI3NDY0ODM+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJQbGF0
Zm9ybVN0cmF0ZWdpZXMuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0
cmF0ZWdpZXMubW06IFN0dWIgaW1wbGVtZW50YXRpb25zLgorICAgICAgICAoV2ViUGxhdGZvcm1T
dHJhdGVnaWVzOjppc0F1dG9TdGFydE9yaWdpbik6CisgICAgICAgIChXZWJQbGF0Zm9ybVN0cmF0
ZWdpZXM6OmFkZEF1dG9TdGFydE9yaWdpbik6CisKIDIwMTItMTEtMjcgIFNoZXJpZmYgQm90ICA8
d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxp
bmcgb3V0IHIxMzU3ODYuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDFmNzBlMjFhOWFmNGExNzdmZWM0NGQy
MDNjM2Q3Y2QzNGRkYTE3ZTIuLjNhZWVhZWRlMzFhMjlmZDYxM2U0MTc3YmU0MDczMzlmY2RlN2E2
NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMTEtMjcgIEpvbiBMZWUg
IDxqb25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIEtlZXAgdHJhY2sgb2YgcGx1Zy1pbiBzbmFw
c2hvdHMgY2xpY2tlZCBieSB1c2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDMyMDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyNzQ2NDgzPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQuY3BwOiBTdHViIGltcGxlbWVudGF0aW9ucy4K
KyAgICAgICAgKFBsYXRmb3JtU3RyYXRlZ2llc1F0Ojppc0F1dG9TdGFydE9yaWdpbik6CisgICAg
ICAgIChQbGF0Zm9ybVN0cmF0ZWdpZXNRdDo6YWRkQXV0b1N0YXJ0T3JpZ2luKToKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5oOgorCiAyMDEyLTExLTI3ICBT
aGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLCByb2xsaW5nIG91dCByMTM1Nzg2LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93
aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDA2MTQwOWJk
ODhlMjdkYmYzZGE0YjM0Y2EzZGM0NjQ0MzFiMTViNTAuLjBjNTJiNjYzY2ZiZjQ3Y2I5ZTQ4M2U1
MGM3ZTljN2RiOTRmZDVlNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAx
Mi0xMS0yNyAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKKyAgICAgICAgS2VlcCB0cmFj
ayBvZiBwbHVnLWluIHNuYXBzaG90cyBjbGlja2VkIGJ5IHVzZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzIwNgorICAgICAgICA8cmRhcjovL3By
b2JsZW0vMTI3NDY0ODM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwOiBTdHVi
IGltcGxlbWVudGF0aW9ucy4KKyAgICAgICAgKFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6aXNBdXRv
U3RhcnRPcmlnaW4pOgorICAgICAgICAoV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjphZGRBdXRvU3Rh
cnRPcmlnaW4pOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2ll
cy5oOgorCiAyMDEyLTExLTI3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWls
LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTM1Nzg2LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbmNl
L0NoYW5nZUxvZwppbmRleCAyMDY4ZjJlNDdlMThmYjUzYjQ3MzljYWE5MDc3YzM3N2U0YTYzMzU2
Li4xNDQ0OWE4NGJjMmFkN2JlZmY3MzMwNmU3ZWM1MjIwYzIwN2MyYTZkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTExLTI3ICBKb24gTGVlICA8am9ubGVlQGFw
cGxlLmNvbT4KKworICAgICAgICBLZWVwIHRyYWNrIG9mIHBsdWctaW4gc25hcHNob3RzIGNsaWNr
ZWQgYnkgdXNlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTAzMjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjc0NjQ4Mz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1Bs
YXRmb3JtU3RyYXRlZ2llc1dpbkNFLmNwcDogU3R1YiBpbXBsZW1lbnRhdGlvbnMuCisgICAgICAg
IChQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRTo6aXNBdXRvU3RhcnRPcmlnaW4pOgorICAgICAgICAo
UGxhdGZvcm1TdHJhdGVnaWVzV2luQ0U6OmFkZEF1dG9TdGFydE9yaWdpbik6CisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UuaDoKKwogMjAxMi0xMS0yNyAg
U2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEzNTc4Ni4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBhM2E1NTM2YTMyYmM4
YWI3ZmM0OGI1MzQzN2E4M2NjOTMwZDI1ZWI4Li5kMWEwZTliNTE1YWZlMGNkYmI0YmYwYWYzYTIz
YTRiY2QyYzYzOWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMTItMTEtMjcgIEpv
biBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIEtlZXAgdHJhY2sgb2YgcGx1Zy1p
biBzbmFwc2hvdHMgY2xpY2tlZCBieSB1c2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyMDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyNzQ2
NDgzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
U2hhcmVkL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0VGFibGUuaDogSW5zcGlyZWQgYnkgVmlzaXRl
ZExpbmtUYWJsZS4gRm9yIG5vdywgbWFrZSB0aGUgdGFibGUgYQorICAgICAgICBzaW1wbGUgc2V0
IG9mIGhhc2hlcy4gTGF0ZXIgd2UgY291bGQgY29udmVydCB0aGlzIHRvIGEgc2hhcmVkIG1lbW9y
eSB0YWJsZS4KKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRQcm92
aWRlci5jcHA6IEFkZGVkLiBDcmVhdGUgYSBwcm92aWRlciB0aGF0IG1hbmFnZXMgdGhlIFVJIHBy
b2Nlc3MnCisgICAgICAgIGNvcHkgb2YgdGhlIHRhYmxlLgorICAgICAgICAoV2ViS2l0OjpQbHVn
SW5BdXRvU3RhcnRQcm92aWRlcjo6UGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIpOgorICAgICAgICAo
V2ViS2l0OjpQbHVnSW5BdXRvU3RhcnRQcm92aWRlcjo6YWRkQXV0b1N0YXJ0T3JpZ2luKTogQWRk
IHRoZSBoYXNoIGlmIG5lY2Vzc2FyeSwgYW5kIGJyb2FkY2FzdCB0bworICAgICAgICBhbGwgd2Vi
IHByb2Nlc3Nlcy4KKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRQ
cm92aWRlci5oOiBBZGRlZC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0Lm1lc3Nh
Z2VzLmluOiBDcmVhdGUgYSBuZXcgbWVzc2FnZSB0aGF0IGFkZHMgYSBuZXcgaGFzaC4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViQ29udGV4dC5jcHA6IEFkZCB0aGUgcGx1Zy1pbiBhdXRvLXN0YXJ0
IHByb3ZpZGVyLgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjpXZWJDb250ZXh0KTogSW5p
dGlhbGl6ZSB0aGUgcHJvdmlkZXIuCisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OmFkZFBs
dWdJbkF1dG9TdGFydE9yaWdpbkhhc2gpOiBUZWxsIHRoZSBwcm92aWRlciB0byBhZGQgdGhlIGhh
c2guCisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHQuaDoKKworICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjppc0F1dG9TdGFydE9yaWdpbik6IEZvcndh
cmQgdG8gV2ViUHJvY2Vzcy4KKyAgICAgICAgKFdlYktpdDo6V2ViUGxhdGZvcm1TdHJhdGVnaWVz
OjphZGRBdXRvU3RhcnRPcmlnaW4pOiBGb3J3YXJkIHRvIFdlYlByb2Nlc3MuCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaDoKKworICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBy
b2Nlc3M6OmlzUGx1Z0luQXV0b1N0YXJ0T3JpZ2luKTogTG9va3MgaW4gdGhlIHRhYmxlIHRvIHNl
ZSBpZiB0aGUgaGFzaCBhbHJlYWR5IGV4aXN0cy4KKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
czo6YWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luKTogSWYgdGhlIGhhc2ggaXMgbm90IGFscmVhZHkg
aW4gdGhlIHRhYmxlLCBtZXNzYWdlIHRoZSBVSQorICAgICAgICBwcm9jZXNzIHRvIGFkZCBpdC4K
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cGx1Z0luQXV0b1N0YXJ0T3JpZ2luQ2hhbmdl
ZCk6IENhbGxlZCB3aGVuIHRoZSBVSSBwcm9jZXNzIGJyb2FkY2FzdHMgdG8gdGhlIHdlYgorICAg
ICAgICBwcm9jZXNzIHRoYXQgYSBoYXNoIGhhcyBiZWVuIGFkZGVkLiBBZGQgdGhhdCBoYXNoIHRv
IHRoZSB3ZWIgcHJvY2VzcycgY29weSBvZiB0aGUgdGFibGUuCisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2Vz
LmluOiBBZGQgYSBuZXcgbWVzc2FnZSBjYWxsZWQgYnkgVUkgcHJvY2VzcyB3aGVuIGEgbmV3IGhh
c2ggaXMgYWRkZWQuCisKKyAgICAgICAgQWRkIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLntjcHAs
aH0gYW5kIFBsdWdJbkF1dG9TdGFydFRhYmxlLmguCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6
CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgor
ICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3
aW4vV2ViS2l0Mi52Y3Byb2o6CisKIDIwMTItMTEtMjcgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJl
dmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIx
MzU3ODYuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGZmN2NhY2I3OTczNWE4NmNjOWE0ZWY0OWIz
YTg1ZDA2N2U1MjM5NWUuLjA1OTM1ZGE1YTFlNjNiODhhMTZiM2VkOWU1YmM3ZWYyY2M3YTFiOTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xODA3LDYgKzE4MDcsNyBAQCBTRVQoV2ViQ29yZV9T
T1VSQ0VTCiAgICAgcGxhdGZvcm0vUGxhdGZvcm1FdmVudC5jcHAKICAgICBwbGF0Zm9ybS9QbGF0
Zm9ybUluc3RydW1lbnRhdGlvbi5jcHAKICAgICBwbGF0Zm9ybS9QbGF0Zm9ybU1lbW9yeUluc3Ry
dW1lbnRhdGlvbi5jcHAKKyAgICBwbGF0Zm9ybS9QbHVnSW5PcmlnaW5IYXNoLmNwcAogICAgIHBs
YXRmb3JtL1J1bkxvb3AuY3BwCiAgICAgcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tz
LmNwcAogICAgIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KaW5kZXggOTY2MTNkMmZjNWZlYmU4MzNjM2NkZDQ0ZmVlNWMyZjNmMTM0NzdiZC4u
Y2ZjOTBmMGJiYWQ1NGI2ZDY3NDIwMGRlMDFmZWQ1ZTlhYjFlZTdkZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCkBAIC01NzczLDYgKzU3NzMsOCBAQCB3ZWJjb3JlX3BsYXRmb3JtX3Nv
dXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtU3RyYXRlZ2llcy5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtU3RyYXRlZ2llcy5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaCBcCisJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1BsdWdJbk9yaWdpbkhhc2guaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUE9E
QXJlbmEuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUE9ERnJlZUxpc3RBcmVuYS5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QT0RJbnRlcnZhbC5oIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4
IGRlOWUzZTdiMDAyMmNmZDdmYmFmMWZiMGFjNmRlNmZkMzAwYTE0OTYuLjY3M2JhMjczNDRlZWRj
OWY4Mzk1M2RiZTllNjA5YzZlZTAyZmJjOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Rh
cmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMTA2OCw2ICsxMDY4
LDcgQEAgU09VUkNFUyArPSBcCiAgICAgcGxhdGZvcm0vUGxhdGZvcm1FdmVudC5jcHAgXAogICAg
IHBsYXRmb3JtL1BsYXRmb3JtSW5zdHJ1bWVudGF0aW9uLmNwcCBcCiAgICAgcGxhdGZvcm0vUGxh
dGZvcm1NZW1vcnlJbnN0cnVtZW50YXRpb24uY3BwIFwKKyAgICBwbGF0Zm9ybS9QbHVnSW5Pcmln
aW5IYXNoLmNwcCBcCiAgICAgcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmNwcCBc
CiAgICAgcGxhdGZvcm0vUnVuTG9vcC5jcHAgXAogICAgIHBsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5
LmNwcCBcCkBAIC0yMjcwLDYgKzIyNzEsNyBAQCBIRUFERVJTICs9IFwKICAgICBwbGF0Zm9ybS9Q
bGF0Zm9ybU1lbW9yeUluc3RydW1lbnRhdGlvbi5oIFwKICAgICBwbGF0Zm9ybS9QbGF0Zm9ybVRv
dWNoRXZlbnQuaCBcCiAgICAgcGxhdGZvcm0vUGxhdGZvcm1Ub3VjaFBvaW50LmggXAorICAgIHBs
YXRmb3JtL1BsdWdJbk9yaWdpbkhhc2guaCBcCiAgICAgcGxhdGZvcm0vUG9wdXBNZW51LmggXAog
ICAgIHBsYXRmb3JtL1JlZmVycmVyUG9saWN5LmggXAogICAgIHBsYXRmb3JtL3F0L0NsaXBib2Fy
ZFF0LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDk1OWNlNWQ3NjUwNzI4NmI5YzljNjAwYjYyMDhk
ZjczYzVjOGI1NTUuLmFlODM0MjQ3ZGM5MzEwYTRlMmY1N2IzYzczZDg0MjAzYjRlYmVlMGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKQEAgLTMxNCw2ICszMTQsNyBAQAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L1BsYXRmb3JtU2NyZWVuLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL1BsYXRmb3JtU3RyYXRl
Z2llcy5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaCcsCisg
ICAgICAgICAgICAncGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5oJywKICAgICAgICAgICAgICdw
bGF0Zm9ybS9Qb3B1cE1lbnUuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vUG9wdXBNZW51Q2xp
ZW50LmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL1BvcHVwTWVudVN0eWxlLmgnLApAQCAtNDQ5
OCw2ICs0NDk5LDcgQEAKICAgICAgICAgICAgICdwbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMu
Y3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9QbGF0Zm9ybVRvdWNoRXZlbnQuaCcsCiAgICAg
ICAgICAgICAncGxhdGZvcm0vUGxhdGZvcm1Ub3VjaFBvaW50LmgnLAorICAgICAgICAgICAgJ3Bs
YXRmb3JtL1BsdWdJbk9yaWdpbkhhc2guY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9QcmVy
ZW5kZXJIYW5kbGUuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmgn
LAogICAgICAgICAgICAgJ3BsYXRmb3JtL1JlZmVycmVyUG9saWN5LmgnLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAwMmI5NTczOWIxZmYyMjMw
Mzc1YzY3YmYzNzZkYzFjNzAyYmYzYmY3Li4wNWViOGMyYWY0MzMwZTcwYThmMTY1MTJkMGU2N2Y3
MTZkYWExNTU5IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagpAQCAtMjg3MjYsNiArMjg3MjYsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8Rmls
ZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cUGx1Z0luT3JpZ2luSGFzaC5jcHAiCisJ
CQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3Jt
XFBsdWdJbk9yaWdpbkhhc2guaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJl
bGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cUG9wdXBNZW51LmgiCiAJCQkJPgogCQkJPC9GaWxlPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDNiNjNiM2Q5MjhiY2M3MWRlNzM3N2UyMWYwNmRhNmY3ODdiNzc1MzQuLmQ5ZDdlZmUyZDA2
NTRmMjc3NTY5ZWMxNDBlOWI5ZGFjNjdlN2I3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTkzMyw2ICs5MzMsOCBAQAogCQkz
MTlFNjlCNTEzMjk5QkJEMDA0QUM5MUEgLyogV2ViS2l0QW5pbWF0aW9uTGlzdC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTlFNjlBRjEzMjk5QkJE
MDA0QUM5MUEgLyogV2ViS2l0QW5pbWF0aW9uTGlzdC5jcHAgKi87IH07CiAJCTMxOUU2OUI2MTMy
OTlCQkQwMDRBQzkxQSAvKiBXZWJLaXRBbmltYXRpb25MaXN0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTlFNjlCMDEzMjk5QkJEMDA0QUM5MUEgLyog
V2ViS2l0QW5pbWF0aW9uTGlzdC5oICovOyB9OwogCQkzMTlGQkQ1RjE1RDJGNDY0MDA5NjQwQTYg
LyogQ2FjaGVkSW1hZ2VDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDMxOUZCRDVEMTVEMkY0NDQwMDk2NDBBNiAvKiBDYWNoZWRJbWFnZUNsaWVu
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTMx
QTY3RTRDMTY2MDMyNkEwMDZDQkE2NiAvKiBQbHVnSW5PcmlnaW5IYXNoLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQTY3RTRBMTY2MDMyNjkwMDZD
QkE2NiAvKiBQbHVnSW5PcmlnaW5IYXNoLmNwcCAqLzsgfTsKKwkJMzFBNjdFNEQxNjYwMzI2QTAw
NkNCQTY2IC8qIFBsdWdJbk9yaWdpbkhhc2guaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDMxQTY3RTRCMTY2MDMyNjkwMDZDQkE2NiAvKiBQbHVnSW5Pcmln
aW5IYXNoLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJMzFBOTYzQTUxNjU1RDQyNjAwMEQ0NjQ1IC8qIHN0YXJ0QnV0dG9uLnBuZyBpbiBSZXNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFBOTYzQTExNjU1RDQyNjAw
MEQ0NjQ1IC8qIHN0YXJ0QnV0dG9uLnBuZyAqLzsgfTsKIAkJMzFBOTYzQTYxNjU1RDQyNjAwMEQ0
NjQ1IC8qIHN0YXJ0QnV0dG9uQDJ4LnBuZyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzFBOTYzQTIxNjU1RDQyNjAwMEQ0NjQ1IC8qIHN0YXJ0QnV0dG9u
QDJ4LnBuZyAqLzsgfTsKIAkJMzFBOTYzQTcxNjU1RDQyNjAwMEQ0NjQ1IC8qIHN0YXJ0QnV0dG9u
UHJlc3NlZC5wbmcgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMxQTk2M0EzMTY1NUQ0MjYwMDBENDY0NSAvKiBzdGFydEJ1dHRvblByZXNzZWQucG5nICov
OyB9OwpAQCAtODEwNyw2ICs4MTA5LDggQEAKIAkJMzE5RTY5QjAxMzI5OUJCRDAwNEFDOTFBIC8q
IFdlYktpdEFuaW1hdGlvbkxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V2ViS2l0QW5pbWF0aW9uTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTlF
NjlCMTEzMjk5QkJEMDA0QUM5MUEgLyogV2ViS2l0QW5pbWF0aW9uTGlzdC5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gV2ViS2l0QW5pbWF0aW9uTGlzdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTMxOUZCRDVEMTVEMkY0NDQwMDk2NDBBNiAvKiBDYWNoZWRJbWFnZUNsaWVu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRJbWFnZUNsaWVudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUE2N0U0QTE2NjAzMjY5MDA2Q0JBNjYg
LyogUGx1Z0luT3JpZ2luSGFzaC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBQbHVnSW5PcmlnaW5IYXNoLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MzFBNjdFNEIxNjYwMzI2OTAwNkNCQTY2IC8qIFBsdWdJbk9yaWdpbkhhc2guaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGx1Z0luT3JpZ2luSGFzaC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkzMUE5NjNBMTE2NTVENDI2MDAwRDQ2NDUgLyogc3RhcnRCdXR0b24u
cG5nICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1h
Z2UucG5nOyBwYXRoID0gc3RhcnRCdXR0b24ucG5nOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkzMUE5NjNBMjE2NTVENDI2MDAwRDQ2NDUgLyogc3RhcnRCdXR0b25AMngucG5nICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1hZ2UucG5nOyBw
YXRoID0gInN0YXJ0QnV0dG9uQDJ4LnBuZyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTMxQTk2M0EzMTY1NUQ0MjYwMDBENDY0NSAvKiBzdGFydEJ1dHRvblByZXNzZWQucG5nICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1hZ2UucG5nOyBw
YXRoID0gc3RhcnRCdXR0b25QcmVzc2VkLnBuZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTIxMDUwLDYgKzIxMDU0LDggQEAKIAkJCQkxQUQ4RjgxQTExQ0FCOUU5MDBFOTNFNTQgLyog
UGxhdGZvcm1TdHJhdGVnaWVzLmNwcCAqLywKIAkJCQkxQUQ4RjgxOTExQ0FCOUU5MDBFOTNFNTQg
LyogUGxhdGZvcm1TdHJhdGVnaWVzLmggKi8sCiAJCQkJOTM1QzQ3NkEwOUFDNEQ0RjAwQTZBQUI0
IC8qIFBsYXRmb3JtV2hlZWxFdmVudC5oICovLAorCQkJCTMxQTY3RTRBMTY2MDMyNjkwMDZDQkE2
NiAvKiBQbHVnSW5PcmlnaW5IYXNoLmNwcCAqLywKKwkJCQkzMUE2N0U0QjE2NjAzMjY5MDA2Q0JB
NjYgLyogUGx1Z0luT3JpZ2luSGFzaC5oICovLAogCQkJCUJDQkI4QUI0MTNGMUFGQjAwMDczNERG
MCAvKiBQT0RBcmVuYS5oICovLAogCQkJCTFGM0YxOTUyMTQ5OUNBNzYwMEE1QUVBNyAvKiBQT0RG
cmVlTGlzdEFyZW5hLmggKi8sCiAJCQkJQkNCQjhBQjUxM0YxQUZCMDAwNzM0REYwIC8qIFBPRElu
dGVydmFsLmggKi8sCkBAIC0yNTgxOSw2ICsyNTgyNSw3IEBACiAJCQkJRkIyQzE1QzMxNjVENjQ5
RDAwMzlDOUY4IC8qIENhY2hlZFNWR0RvY3VtZW50UmVmZXJlbmNlLmggaW4gSGVhZGVycyAqLywK
IAkJCQkzMTc0MUFBRDE2NjM2NjA5MDA4QTVCN0UgLyogU2ltdWxhdGVkQ2xpY2tPcHRpb25zLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxNUI4QjdDOTE2NTJDNTIyMDAzNkVGNTUgLyogSlNXZWJLaXRD
U1NNaXhGdW5jdGlvblZhbHVlLmggaW4gSGVhZGVycyAqLywKKwkJCQkzMUE2N0U0RDE2NjAzMjZB
MDA2Q0JBNjYgLyogUGx1Z0luT3JpZ2luSGFzaC5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yODkxOSw2
ICsyODkyNiw3IEBACiAJCQkJQ0Q3RTA1MjIxNjUxQzI4MjAwQzEyMDFGIC8qIFdlYkNvcmVBVkZS
ZXNvdXJjZUxvYWRlci5tbSBpbiBTb3VyY2VzICovLAogCQkJCTQ0Nzk1ODA1MTY0M0I0QjIwMDFF
MEE3RiAvKiBQYXJzZWRDb250ZW50VHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNUI4QjdD
ODE2NTJDNTIyMDAzNkVGNTUgLyogSlNXZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCTMxQTY3RTRDMTY2MDMyNkEwMDZDQkE2NiAvKiBQbHVnSW5PcmlnaW5I
YXNoLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJ
bkltYWdlRWxlbWVudC5jcHAKaW5kZXggNDIxYWMxYjBmMGMxOGQyZmRiMjk5YjhlODY4NzQ4OTA1
Yjc1ZDk3Ni4uMjNhMjgxNTRkZjI4MmViMGE1ZTg1NWY4MmMzYjgyODFlYjVjM2ZmMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwCkBAIC0zMCw2
ICszMCw3IEBACiAjaW5jbHVkZSAiTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJT
dHlsZS5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJQbHVnSW5PcmlnaW5IYXNoLmgi
CiAjaW5jbHVkZSAiUmVuZGVyRW1iZWRkZWRPYmplY3QuaCIKICNpbmNsdWRlICJSZW5kZXJJbWFn
ZS5oIgogI2luY2x1ZGUgIlJlbmRlclNuYXBzaG90dGVkUGx1Z0luLmgiCkBAIC0zNyw2ICszOCwx
MSBAQAogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU3R5bGVSZXNvbHZlci5oIgog
CisjaWYgVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMpCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJhdGVn
aWVzLmgiCisjaW5jbHVkZSAiUGx1Z2luU3RyYXRlZ3kuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIC8vIFRoaXMgZGVsYXkgc2hvdWxkIG5vdCBleGNlZWQgdGhlIHNuYXBzaG90
IGRlbGF5IGluIFBsdWdpblZpZXcuY3BwCkBAIC01MiwxMyArNTgsOSBAQCBIVE1MUGx1Z0luSW1h
Z2VFbGVtZW50OjpIVE1MUGx1Z0luSW1hZ2VFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRh
Z05hbWUsIERvYwogICAgICwgbV9zaG91bGRQcmVmZXJQbHVnSW5zRm9ySW1hZ2VzKHByZWZlclBs
dWdJbnNGb3JJbWFnZXNPcHRpb24gPT0gU2hvdWxkUHJlZmVyUGx1Z0luc0ZvckltYWdlcykKICAg
ICAsIG1fbmVlZHNEb2N1bWVudEFjdGl2YXRpb25DYWxsYmFja3MoZmFsc2UpCiAgICAgLCBtX3Np
bXVsYXRlZE1vdXNlQ2xpY2tUaW1lcih0aGlzLCAmSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6c2lt
dWxhdGVkTW91c2VDbGlja1RpbWVyRmlyZWQsIHNpbXVsYXRlZE1vdXNlQ2xpY2tUaW1lckRlbGF5
KQorICAgICwgbV9wbHVnSW5PcmlnaW5IYXNoKDApCiB7CiAgICAgc2V0SGFzQ3VzdG9tQ2FsbGJh
Y2tzKCk7Ci0KLSAgICBpZiAoZG9jdW1lbnQtPnBhZ2UoKQotICAgICAgICAmJiBkb2N1bWVudC0+
cGFnZSgpLT5zZXR0aW5ncygpLT5wbHVnSW5TbmFwc2hvdHRpbmdFbmFibGVkKCkKLSAgICAgICAg
JiYgIVNjcmlwdENvbnRyb2xsZXI6OnByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpKQotICAgICAgICBz
ZXREaXNwbGF5U3RhdGUoV2FpdGluZ0ZvclNuYXBzaG90KTsKIH0KIAogSFRNTFBsdWdJbkltYWdl
RWxlbWVudDo6fkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQoKQpAQCAtMjYyLDkgKzI2NCwxMyBAQCB2
b2lkIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OnVwZGF0ZVNuYXBzaG90KFBhc3NSZWZQdHI8SW1h
Z2U+IGltYWdlKQogICAgIHNldERpc3BsYXlTdGF0ZShEaXNwbGF5aW5nU25hcHNob3QpOwogfQog
Ci12b2lkIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OnNldFBlbmRpbmdDbGlja0V2ZW50KFBhc3NS
ZWZQdHI8TW91c2VFdmVudD4gZXZlbnQpCit2b2lkIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OnVz
ZXJEaWRDbGlja1NuYXBzaG90KFBhc3NSZWZQdHI8TW91c2VFdmVudD4gZXZlbnQpCiB7CisgICAg
QVNTRVJUKG1fcGx1Z0luT3JpZ2luSGFzaCk7CiAgICAgbV9wZW5kaW5nQ2xpY2tFdmVudEZyb21T
bmFwc2hvdCA9IGV2ZW50OworI2lmIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQorICAgIHBsYXRm
b3JtU3RyYXRlZ2llcygpLT5wbHVnaW5TdHJhdGVneSgpLT5hZGRBdXRvU3RhcnRPcmlnaW4oZG9j
dW1lbnQoKS0+cGFnZSgpLCBtX3BsdWdJbk9yaWdpbkhhc2gpOworI2VuZGlmCiB9CiAKIHZvaWQg
SFRNTFBsdWdJbkltYWdlRWxlbWVudDo6ZGlzcGF0Y2hQZW5kaW5nTW91c2VDbGljaygpCkBAIC0y
ODQsNCArMjkwLDE4IEBAIHZvaWQgSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6c2ltdWxhdGVkTW91
c2VDbGlja1RpbWVyRmlyZWQoRGVmZXJyYWJsZU9uZVNob3RUaW1lCiAgICAgbV9wZW5kaW5nQ2xp
Y2tFdmVudEZyb21TbmFwc2hvdCA9IG51bGxwdHI7CiB9CiAKK3ZvaWQgSFRNTFBsdWdJbkltYWdl
RWxlbWVudDo6c3ViZnJhbWVMb2FkZXJXaWxsTG9hZFBsdWdJbihjb25zdCBLVVJMJiB1cmwpCit7
CisgICAgaWYgKCFkb2N1bWVudCgpLT5wYWdlKCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1f
cGx1Z0luT3JpZ2luSGFzaCA9IHBsdWdJbk9yaWdpbkhhc2goZG9jdW1lbnQoKS0+cGFnZSgpLCB1
cmwpOworICAgIGlmIChkb2N1bWVudCgpLT5wYWdlKCktPnNldHRpbmdzKCktPnBsdWdJblNuYXBz
aG90dGluZ0VuYWJsZWQoKQorI2lmIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQorICAgICAgICAm
JiAhcGxhdGZvcm1TdHJhdGVnaWVzKCktPnBsdWdpblN0cmF0ZWd5KCktPmlzQXV0b1N0YXJ0T3Jp
Z2luKGRvY3VtZW50KCktPnBhZ2UoKSwgbV9wbHVnSW5PcmlnaW5IYXNoKQorI2VuZGlmCisgICAg
ICAgICYmICFTY3JpcHRDb250cm9sbGVyOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSkKKyAgICAg
ICAgc2V0RGlzcGxheVN0YXRlKFdhaXRpbmdGb3JTbmFwc2hvdCk7Cit9CisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbklt
YWdlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50
LmgKaW5kZXggYzViZjZmYTFmOTFlMWU4MmQwOGJjYTJjMDJjNzNkYWIyYzdhODkzZC4uNWE2OWZh
ZTIwZGYwOGQ0NjI5Nzg2ZDhhMjdiMTQ3MTFkYjU2YTg4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmgKQEAgLTIzLDYgKzIzLDcgQEAKIAogI2luY2x1
ZGUgIkhUTUxQbHVnSW5FbGVtZW50LmgiCiAKKyNpbmNsdWRlICJQbHVnSW5PcmlnaW5IYXNoLmgi
CiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKQEAg
LTU5LDcgKzYwLDEwIEBAIHB1YmxpYzoKICAgICBib29sIG5lZWRzV2lkZ2V0VXBkYXRlKCkgY29u
c3QgeyByZXR1cm4gbV9uZWVkc1dpZGdldFVwZGF0ZTsgfQogICAgIHZvaWQgc2V0TmVlZHNXaWRn
ZXRVcGRhdGUoYm9vbCBuZWVkc1dpZGdldFVwZGF0ZSkgeyBtX25lZWRzV2lkZ2V0VXBkYXRlID0g
bmVlZHNXaWRnZXRVcGRhdGU7IH0KIAotICAgIHZvaWQgc2V0UGVuZGluZ0NsaWNrRXZlbnQoUGFz
c1JlZlB0cjxNb3VzZUV2ZW50Pik7CisgICAgdm9pZCB1c2VyRGlkQ2xpY2tTbmFwc2hvdChQYXNz
UmVmUHRyPE1vdXNlRXZlbnQ+KTsKKworICAgIC8vIFBsdWctaW4gVVJMIG1pZ2h0IG5vdCBiZSB0
aGUgc2FtZSBhcyB1cmwoKSB3aXRoIG92ZXJyaWRpbmcgcGFyYW1ldGVycy4KKyAgICB2b2lkIHN1
YmZyYW1lTG9hZGVyV2lsbExvYWRQbHVnSW4oY29uc3QgS1VSTCYgcGx1Z0luVVJMKTsKIAogcHJv
dGVjdGVkOgogICAgIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYg
dGFnTmFtZSwgRG9jdW1lbnQqLCBib29sIGNyZWF0ZWRCeVBhcnNlciwgUHJlZmVyUGx1Z0luc0Zv
ckltYWdlc09wdGlvbik7CkBAIC0xMDMsNiArMTA3LDcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8
UmVuZGVyU3R5bGU+IG1fY3VzdG9tU3R5bGVGb3JQYWdlQ2FjaGU7CiAgICAgUmVmUHRyPE1vdXNl
RXZlbnQ+IG1fcGVuZGluZ0NsaWNrRXZlbnRGcm9tU25hcHNob3Q7CiAgICAgRGVmZXJyYWJsZU9u
ZVNob3RUaW1lcjxIVE1MUGx1Z0luSW1hZ2VFbGVtZW50PiBtX3NpbXVsYXRlZE1vdXNlQ2xpY2tU
aW1lcjsKKyAgICBQbHVnSW5PcmlnaW5IYXNoIG1fcGx1Z0luT3JpZ2luSGFzaDsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9T
dWJmcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIu
Y3BwCmluZGV4IDkyZWE5NzM3NjdlOGM0NzI1MGI2ZGIyYmY0MDRkMzQ4ZTU0NTIyZjEuLmQxYWI3
ZTU2ZTkyMmU0MzU3YmY5MjI1ZTJiYTE5YzRhODNlMzkzNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1N1YmZyYW1lTG9hZGVyLmNwcApAQCAtMTU2LDYgKzE1Niw3IEBAIGJvb2wgU3ViZnJhbWVM
b2FkZXI6OnJlcXVlc3RQbHVnaW4oSFRNTFBsdWdJbkltYWdlRWxlbWVudCogb3duZXJFbGVtZW50
LCBjb25zdCBLCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIEFTU0VSVChvd25lckVsZW1l
bnQtPmhhc1RhZ05hbWUob2JqZWN0VGFnKSB8fCBvd25lckVsZW1lbnQtPmhhc1RhZ05hbWUoZW1i
ZWRUYWcpKTsKKyAgICBvd25lckVsZW1lbnQtPnN1YmZyYW1lTG9hZGVyV2lsbExvYWRQbHVnSW4o
dXJsKTsKICAgICByZXR1cm4gbG9hZFBsdWdpbihvd25lckVsZW1lbnQsIHVybCwgbWltZVR5cGUs
IHBhcmFtTmFtZXMsIHBhcmFtVmFsdWVzLCB1c2VGYWxsYmFjayk7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsdWdJbk9yaWdpbkhhc2guY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjI0YTE5NmNi
YjM5NGE5OGFkNzRjMzQyMzVjZjhkZjljNDhmZjhjMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1BsdWdJbk9yaWdpbkhhc2guY3BwCkBAIC0wLDAgKzEsNTcgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09N
UFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01Q
VVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQbHVnSW5PcmlnaW5IYXNo
LmgiCisKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVk
ZSAiS1VSTC5oIgorI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJQYWdlLmgiCisjaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0
YXRpYyBpbmxpbmUgdWludDY0X3QgY29kZUZvbGRlZEhhc2goY29uc3QgU3RyaW5nJiBzdHJpbmcp
Cit7CisgICAgaWYgKHN0cmluZy5pczhCaXQoKSkKKyAgICAgICAgcmV0dXJuIFN0cmluZ0hhc2hl
cjo6Y29tcHV0ZUhhc2g8TENoYXIsIENhc2VGb2xkaW5nSGFzaDo6Zm9sZENhc2U8TENoYXI+ID4o
c3RyaW5nLmNoYXJhY3RlcnM4KCksIHN0cmluZy5sZW5ndGgoKSk7CisgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PHVpbnQ2NF90PihTdHJpbmdIYXNoZXI6OmNvbXB1dGVIYXNoPFVDaGFyLCBDYXNlRm9s
ZGluZ0hhc2g6OmZvbGRDYXNlPFVDaGFyPiA+KHN0cmluZy5jaGFyYWN0ZXJzMTYoKSwgc3RyaW5n
Lmxlbmd0aCgpKSk7Cit9CisKK1BsdWdJbk9yaWdpbkhhc2ggcGx1Z0luT3JpZ2luSGFzaChjb25z
dCBQYWdlKiBwYWdlLCBjb25zdCBLVVJMJiBzcmNVUkwpCit7CisgICAgU3RyaW5nIHBhZ2VIb3N0
ID0gcGFnZS0+bWFpbkZyYW1lKCktPmRvY3VtZW50KCktPmJhc2VVUkwoKS5ob3N0KCk7CisgICAg
aWYgKHBhZ2VIb3N0LmlzRW1wdHkoKSkKKyAgICAgICAgcGFnZUhvc3QgPSAibG9jYWxob3N0IjsK
KyAgICBTdHJpbmcgcGx1Z0luSG9zdCA9IHNyY1VSTC5ob3N0KCk7CisgICAgaWYgKHBsdWdJbkhv
c3QuaXNFbXB0eSgpKQorICAgICAgICBwbHVnSW5Ib3N0ID0gImxvY2FsaG9zdCI7CisKKyAgICBy
ZXR1cm4gY29kZUZvbGRlZEhhc2gocGFnZUhvc3QpIDw8IDMyIHwgY29kZUZvbGRlZEhhc2gocGx1
Z0luSG9zdCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1BsdWdJbk9yaWdpbkhhc2guaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1BsdWdJbk9yaWdpbkhhc2guaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YmRiN2RhMmYxN2MxMTA2OWQ2
Y2Q1NGMyMTM4NzRkZjlmMmYzOTJiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgUGx1Z0luT3JpZ2luSGFzaF9oCisjZGVmaW5lIFBsdWdJbk9yaWdpbkhhc2hfaAorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEtVUkw7CitjbGFzcyBQYWdlOworCit0eXBlZGVm
IHVpbnQ2NF90IFBsdWdJbk9yaWdpbkhhc2g7CisKK1BsdWdJbk9yaWdpbkhhc2ggcGx1Z0luT3Jp
Z2luSGFzaChjb25zdCBQYWdlKiwgY29uc3QgS1VSTCYgc3JjVVJMKTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLyogUGx1Z0luT3JpZ2luSGFzaCAqLwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5TdHJhdGVneS5oIGIvU291cmNlL1dlYkNvcmUv
cGx1Z2lucy9QbHVnaW5TdHJhdGVneS5oCmluZGV4IDlkOGE3YjUyZjAzMjU1Mzc0NDNmMTMzZjA4
MmRhMzBmNGYwZDIyOTQuLmRmNmU1MzA0NThhYWFmZGRjMGY5MmM2MjJhZDlmMTZiMTA5NzFlYTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luU3RyYXRlZ3kuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblN0cmF0ZWd5LmgKQEAgLTI4LDYgKzI4LDcg
QEAKIAogI2lmIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQogCisjaW5jbHVkZSAiUGx1Z0luT3Jp
Z2luSGFzaC5oIgogI2luY2x1ZGUgIlBsdWdpbkRhdGEuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtMzksNiArNDAsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHJlZnJlc2hQbHVn
aW5zKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBnZXRQbHVnaW5JbmZvKGNvbnN0IFBhZ2UqLCBW
ZWN0b3I8UGx1Z2luSW5mbz4mKSA9IDA7CiAKKyAgICB2aXJ0dWFsIGJvb2wgaXNBdXRvU3RhcnRP
cmlnaW4oUGFnZSosIFBsdWdJbk9yaWdpbkhhc2gpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgYWRk
QXV0b1N0YXJ0T3JpZ2luKFBhZ2UqLCBQbHVnSW5PcmlnaW5IYXNoKSA9IDA7CisKIHByb3RlY3Rl
ZDoKICAgICB2aXJ0dWFsIH5QbHVnaW5TdHJhdGVneSgpIHsgfQogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbmFwc2hvdHRlZFBsdWdJbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4uY3BwCmluZGV4IDk3
MmIyYmY5MDQyMjNiNWI3Nzc1ZjI0MjlkYzE2MjgzYTBmMTY4MTUuLmYyY2U5ZDU2NTI4NWQ4ZmMw
MjAxM2NjMGYwYjNiOTk3M2RkM2Q2NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJTbmFwc2hvdHRlZFBsdWdJbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclNuYXBzaG90dGVkUGx1Z0luLmNwcApAQCAtMTc4LDcgKzE3OCw3IEBAIHZv
aWQgUmVuZGVyU25hcHNob3R0ZWRQbHVnSW46OmhhbmRsZUV2ZW50KEV2ZW50KiBldmVudCkKICAg
ICAgICAgICAgIHBsdWdJbkltYWdlRWxlbWVudCgpLT5zZXREaXNwbGF5U3RhdGUoSFRNTFBsdWdJ
bkVsZW1lbnQ6OlBsYXlpbmcpOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIHBsdWdJbklt
YWdlRWxlbWVudCgpLT5zZXREaXNwbGF5U3RhdGUoSFRNTFBsdWdJbkVsZW1lbnQ6OlBsYXlpbmdX
aXRoUGVuZGluZ01vdXNlQ2xpY2spOwotICAgICAgICAgICAgcGx1Z0luSW1hZ2VFbGVtZW50KCkt
PnNldFBlbmRpbmdDbGlja0V2ZW50KG1vdXNlRXZlbnQpOworICAgICAgICAgICAgcGx1Z0luSW1h
Z2VFbGVtZW50KCktPnVzZXJEaWRDbGlja1NuYXBzaG90KG1vdXNlRXZlbnQpOwogICAgICAgICB9
CiAgICAgICAgIGlmICh3aWRnZXQoKSkgewogICAgICAgICAgICAgaWYgKEZyYW1lKiBmcmFtZSA9
IGRvY3VtZW50KCktPmZyYW1lKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmNwcAppbmRleCA3MTM4YWE4ZDc2
ZjdmY2U4MWM4MTAyNzMyZGY0YzUxNjk3N2FlM2JlLi44YjViMzljMWVkYmEzZjJmNzIzNTU2ZTYw
Y2FlMWRjMTFiNDE0MjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5jcHAKQEAgLTEyMCw2ICsxMjAsMTUg
QEAgdm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNFZmw6OmdldFBsdWdpbkluZm8oY29uc3QgUGFnZSos
IFZlY3RvcjxQbHVnaW5JbmZvPiYgb3V0UGwKICNlbmRpZgogfQogCitib29sIFBsYXRmb3JtU3Ry
YXRlZ2llc0VmbDo6aXNBdXRvU3RhcnRPcmlnaW4oUGFnZSosIFBsdWdJbk9yaWdpbkhhc2gpCit7
CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFBsYXRmb3JtU3RyYXRlZ2llc0VmbDo6YWRk
QXV0b1N0YXJ0T3JpZ2luKFBhZ2UqLCBQbHVnSW5PcmlnaW5IYXNoKQoreworfQorCiAvLyBWaXNp
dGVkTGlua1N0cmF0ZWd5CiBib29sIFBsYXRmb3JtU3RyYXRlZ2llc0VmbDo6aXNMaW5rVmlzaXRl
ZChQYWdlKiBwYWdlLCBMaW5rSGFzaCBoYXNoLCBjb25zdCBLVVJMJiwgY29uc3QgQXRvbWljU3Ry
aW5nJikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1Bs
YXRmb3JtU3RyYXRlZ2llc0VmbC5oIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQv
UGxhdGZvcm1TdHJhdGVnaWVzRWZsLmgKaW5kZXggMDFlNjExNTZjZjlmZWYzYjFmNDUzMmE5ZTI1
ZThiMzMyYzI1ZmVmMC4uZDRjZWFlOTEyYWY3YzFlNTk4ZTlmNWU4OTkwN2Y5MTI1NWU2ZWNlNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJh
dGVnaWVzRWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvUGxhdGZv
cm1TdHJhdGVnaWVzRWZsLmgKQEAgLTQ5LDYgKzQ5LDggQEAgcHJpdmF0ZToKICAgICAvLyBXZWJD
b3JlOjpQbHVnaW5TdHJhdGVneQogICAgIHZpcnR1YWwgdm9pZCByZWZyZXNoUGx1Z2lucygpOwog
ICAgIHZpcnR1YWwgdm9pZCBnZXRQbHVnaW5JbmZvKGNvbnN0IFdlYkNvcmU6OlBhZ2UqLCBWZWN0
b3I8V2ViQ29yZTo6UGx1Z2luSW5mbz4mKTsKKyAgICB2aXJ0dWFsIGJvb2wgaXNBdXRvU3RhcnRP
cmlnaW4oV2ViQ29yZTo6UGFnZSosIFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhhc2gpOworICAgIHZp
cnR1YWwgdm9pZCBhZGRBdXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6UGFnZSosIFdlYkNvcmU6OlBs
dWdJbk9yaWdpbkhhc2gpOwogCiAgICAgLy8gV2ViQ29yZTo6VmlzaXRlZExpbmtTdHJhdGVneQog
ICAgIHZpcnR1YWwgYm9vbCBpc0xpbmtWaXNpdGVkKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpM
aW5rSGFzaCwgY29uc3QgV2ViQ29yZTo6S1VSTCYgYmFzZVVSTCwgY29uc3QgV1RGOjpBdG9taWNT
dHJpbmcmIGF0dHJpYnV0ZVVSTCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuY3BwIGIvU291cmNlL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmNwcAppbmRleCAwMGE3MDYyYzlj
ZTJlYzNhNWEyNjc4ODE2OWE5YTVmNmIwMjMwODg2Li5kYzA1YTM5ZGMxZDIwOTBhODdkN2FkOWZk
Y2M1NDYwM2I0MTdkNWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3Vw
cG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dl
YkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0d0ay5jcHAKQEAgLTEwOCw2ICsxMDgsMTUg
QEAgdm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNHdGs6OmdldFBsdWdpbkluZm8oY29uc3QgUGFnZSog
cGFnZSwgVmVjdG9yPFBsdWdpbkluZm8+JgogICAgIH0KIH0KIAorYm9vbCBQbGF0Zm9ybVN0cmF0
ZWdpZXNHdGs6OmlzQXV0b1N0YXJ0T3JpZ2luKFBhZ2UqLCBQbHVnSW5PcmlnaW5IYXNoKQorewor
ICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNHdGs6OmFkZEF1
dG9TdGFydE9yaWdpbihQYWdlKiwgUGx1Z0luT3JpZ2luSGFzaCkKK3sKK30KKwogLy8gVmlzaXRl
ZExpbmtTdHJhdGVneQogYm9vbCBQbGF0Zm9ybVN0cmF0ZWdpZXNHdGs6OmlzTGlua1Zpc2l0ZWQo
UGFnZSogcGFnZSwgTGlua0hhc2ggaGFzaCwgY29uc3QgS1VSTCYsIGNvbnN0IEF0b21pY1N0cmlu
ZyYpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9QbGF0
Zm9ybVN0cmF0ZWdpZXNHdGsuaCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1Bs
YXRmb3JtU3RyYXRlZ2llc0d0ay5oCmluZGV4IGNmMzRhZTI0YjM4MjhmOThkZWYxZTg3MmMwNzNj
YTQ5MjRiMGQzMzQuLjQ5OWUxMmQwNDBkZDRhMzRkY2NkMDdjNTA2Mjg3YWE2OTJmZjQ3MWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRl
Z2llc0d0ay5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3Jt
U3RyYXRlZ2llc0d0ay5oCkBAIC00OCw2ICs0OCw4IEBAIHByaXZhdGU6CiAgICAgLy8gV2ViQ29y
ZTo6UGx1Z2luU3RyYXRlZ3kKICAgICB2aXJ0dWFsIHZvaWQgcmVmcmVzaFBsdWdpbnMoKTsKICAg
ICB2aXJ0dWFsIHZvaWQgZ2V0UGx1Z2luSW5mbyhjb25zdCBXZWJDb3JlOjpQYWdlKiwgVmVjdG9y
PFdlYkNvcmU6OlBsdWdpbkluZm8+Jik7CisgICAgdmlydHVhbCBib29sIGlzQXV0b1N0YXJ0T3Jp
Z2luKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNoKTsKKyAgICB2aXJ0
dWFsIHZvaWQgYWRkQXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpQbHVn
SW5PcmlnaW5IYXNoKTsKIAogICAgIC8vIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kKICAg
ICB2aXJ0dWFsIGJvb2wgaXNMaW5rVmlzaXRlZChXZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6TGlu
a0hhc2gsIGNvbnN0IFdlYkNvcmU6OktVUkwmIGJhc2VVUkwsIGNvbnN0IFdURjo6QXRvbWljU3Ry
aW5nJiBhdHRyaWJ1dGVVUkwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAppbmRleCBmOWQ4Yzc3MTk2YWExNmU4
OWE0Mjg0YTM5ZDc1YzE3MGFjN2Y0MDg5Li5iZTJkZjlmNDY4MWQ5OWM1MGFhMDkxZTdiNmYyM2Zi
NDgwOGIzZGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaApAQCAtNTYsNiArNTYsOCBAQCBwcml2YXRlOgog
ICAgIC8vIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5CiAgICAgdmlydHVhbCB2b2lkIHJlZnJlc2hQ
bHVnaW5zKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGdldFBsdWdpbkluZm8oY29uc3Qg
V2ViQ29yZTo6UGFnZSosIFZlY3RvcjxXZWJDb3JlOjpQbHVnaW5JbmZvPiYpIE9WRVJSSURFOwor
ICAgIHZpcnR1YWwgYm9vbCBpc0F1dG9TdGFydE9yaWdpbihXZWJDb3JlOjpQYWdlKiwgV2ViQ29y
ZTo6UGx1Z0luT3JpZ2luSGFzaCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIGFkZEF1dG9T
dGFydE9yaWdpbihXZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFzaCkgT1ZF
UlJJREU7CiAKICAgICAvLyBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5CiAgICAgdmlydHVh
bCBib29sIGlzTGlua1Zpc2l0ZWQoV2ViQ29yZTo6UGFnZSosIFdlYkNvcmU6OkxpbmtIYXNoLCBj
b25zdCBXZWJDb3JlOjpLVVJMJiBiYXNlVVJMLCBjb25zdCBXVEY6OkF0b21pY1N0cmluZyYgYXR0
cmlidXRlVVJMKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbQppbmRleCBjNzliMDg5YjlmYzQw
Yzk2Y2NlMTZmNzIwYjhiNTQwMzRjNTJlOTI0Li44OGNjNTUxZjY3MWE5NDhkZjI5N2MzMzc2OWFi
NDFlMmJlMTZmNmI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tCkBAIC0xMTMsNiArMTEzLDE1IEBAIHZv
aWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpnZXRQbHVnaW5JbmZvKGNvbnN0IFdlYkNvcmU6OlBh
Z2UqLCBWZWN0b3I8V2ViQ29yZTo6CiAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKIH0K
IAorYm9vbCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmlzQXV0b1N0YXJ0T3JpZ2luKFBhZ2UqLCBQ
bHVnSW5PcmlnaW5IYXNoKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBXZWJQbGF0
Zm9ybVN0cmF0ZWdpZXM6OmFkZEF1dG9TdGFydE9yaWdpbihQYWdlKiwgUGx1Z0luT3JpZ2luSGFz
aCkKK3sKK30KKwogYm9vbCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmlzTGlua1Zpc2l0ZWQoUGFn
ZSogcGFnZSwgTGlua0hhc2ggaGFzaCwgY29uc3QgS1VSTCYsIGNvbnN0IEF0b21pY1N0cmluZyYp
CiB7CiAgICAgcmV0dXJuIHBhZ2UtPmdyb3VwKCkuaXNMaW5rVmlzaXRlZChoYXNoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVz
UXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdp
ZXNRdC5jcHAKaW5kZXggNWQ5ZTc1NWQwMmYxNTlhM2ZjM2I2ZWViNTM3NWZmMmJiYzAxOTRlMC4u
NTEyNmE2ZTQ3MDI4M2UzNDM4NWI5MDY2MjgyNDg4NzQ4ZWRkNWNkYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5j
cHAKQEAgLTE1Niw2ICsxNTYsMTUgQEAgdm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNRdDo6Z2V0UGx1
Z2luSW5mbyhjb25zdCBXZWJDb3JlOjpQYWdlKiBwYWdlLCBWZWN0b3I8V2ViQ28KIAogfQogCiti
b29sIFBsYXRmb3JtU3RyYXRlZ2llc1F0Ojppc0F1dG9TdGFydE9yaWdpbihQYWdlKiwgUGx1Z0lu
T3JpZ2luSGFzaCkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgUGxhdGZvcm1TdHJh
dGVnaWVzUXQ6OmFkZEF1dG9TdGFydE9yaWdpbihQYWdlKiwgUGx1Z0luT3JpZ2luSGFzaCkKK3sK
K30KKwogLy8gVmlzaXRlZExpbmtTdHJhdGVneQogCiBib29sIFBsYXRmb3JtU3RyYXRlZ2llc1F0
Ojppc0xpbmtWaXNpdGVkKFBhZ2UqIHBhZ2UsIExpbmtIYXNoIGhhc2gsIGNvbnN0IEtVUkwmIGJh
c2VVUkwsIGNvbnN0IEF0b21pY1N0cmluZyYgYXR0cmlidXRlVVJMKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5oIGIvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5oCmluZGV4
IDJmZThmZTYyY2ZlMzNiMDkwMTNmMTk2NTRhM2NlMmE3Njg0Mzk2YzIuLjVhMGViOTRkOTRkYzEx
NjUyYTVkYmJmZTUzYmRmYjZlOWIzMjQyY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1F0LmgKQEAgLTYwLDYgKzYwLDgg
QEAgcHJpdmF0ZToKICAgICAvLyBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneQogICAgIHZpcnR1YWwg
dm9pZCByZWZyZXNoUGx1Z2lucygpOwogICAgIHZpcnR1YWwgdm9pZCBnZXRQbHVnaW5JbmZvKGNv
bnN0IFdlYkNvcmU6OlBhZ2UqLCBWZWN0b3I8V2ViQ29yZTo6UGx1Z2luSW5mbz4mKTsKKyAgICB2
aXJ0dWFsIGJvb2wgaXNBdXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6UGFnZSosIFdlYkNvcmU6OlBs
dWdJbk9yaWdpbkhhc2gpOworICAgIHZpcnR1YWwgdm9pZCBhZGRBdXRvU3RhcnRPcmlnaW4oV2Vi
Q29yZTo6UGFnZSosIFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhhc2gpOwogCiAgICAgLy8gV2ViQ29y
ZTo6VmlzaXRlZExpbmtTdHJhdGVneQogICAgIHZpcnR1YWwgYm9vbCBpc0xpbmtWaXNpdGVkKFdl
YkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpMaW5rSGFzaCwgY29uc3QgV2ViQ29yZTo6S1VSTCYgYmFz
ZVVSTCwgY29uc3QgV1RGOjpBdG9taWNTdHJpbmcmIGF0dHJpYnV0ZVVSTCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMu
Y3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLmNwcAppbmRleCA3NWEwM2UyMTlmYWNlNDM0Mzc3M2RlOTE5ZWIyZmJlZTgwZGRkMGMxLi5k
NmExMzI0ZmE2NjIzODI1NDFhMTgxMjRjYWYxZjIwYjVhOTk0YjZjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2ll
cy5jcHAKQEAgLTEyOCw2ICsxMjgsMTUgQEAgdm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6Omdl
dFBsdWdpbkluZm8oY29uc3QgV2ViQ29yZTo6UGFnZSosIFZlY3RvcjxXZWJDb3JlOjoKICAgICB9
CiB9CiAKK2Jvb2wgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjppc0F1dG9TdGFydE9yaWdpbihQYWdl
KiwgUGx1Z0luT3JpZ2luSGFzaCkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgV2Vi
UGxhdGZvcm1TdHJhdGVnaWVzOjphZGRBdXRvU3RhcnRPcmlnaW4oUGFnZSosIFBsdWdJbk9yaWdp
bkhhc2gpCit7Cit9CisKIGJvb2wgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjppc0xpbmtWaXNpdGVk
KFBhZ2UqIHBhZ2UsIExpbmtIYXNoIGhhc2gsIGNvbnN0IEtVUkwmLCBjb25zdCBBdG9taWNTdHJp
bmcmKQogewogICAgIHJldHVybiBwYWdlLT5ncm91cCgpLmlzTGlua1Zpc2l0ZWQoaGFzaCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0
cmF0ZWdpZXMuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3Jt
U3RyYXRlZ2llcy5oCmluZGV4IDk3NzdiODQ4MDNiZThmNjFiNzU3YjcwODk5ZTBhM2U5YzcxYjAx
M2QuLmZmMzcxNzhmOTVkNWRkODY2NjlhNDYzOTU5NjY4ZDc2Y2I1MGRkYzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRl
Z2llcy5oCkBAIC01Nyw2ICs1Nyw4IEBAIHByaXZhdGU6CiAgICAgLy8gV2ViQ29yZTo6UGx1Z2lu
U3RyYXRlZ3kKICAgICB2aXJ0dWFsIHZvaWQgcmVmcmVzaFBsdWdpbnMoKTsKICAgICB2aXJ0dWFs
IHZvaWQgZ2V0UGx1Z2luSW5mbyhjb25zdCBXZWJDb3JlOjpQYWdlKiwgVmVjdG9yPFdlYkNvcmU6
OlBsdWdpbkluZm8+Jik7CisgICAgdmlydHVhbCBib29sIGlzQXV0b1N0YXJ0T3JpZ2luKFdlYkNv
cmU6OlBhZ2UqLCBXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNoKTsKKyAgICB2aXJ0dWFsIHZvaWQg
YWRkQXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpQbHVnSW5PcmlnaW5I
YXNoKTsKIAogICAgIC8vIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kKICAgICB2aXJ0dWFs
IGJvb2wgaXNMaW5rVmlzaXRlZChXZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6TGlua0hhc2gsIGNv
bnN0IFdlYkNvcmU6OktVUkwmIGJhc2VVUkwsIGNvbnN0IFdURjo6QXRvbWljU3RyaW5nJiBhdHRy
aWJ1dGVVUkwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9y
dC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNv
cmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNFLmNwcAppbmRleCA0MjViMGYzYTgyYjMz
N2FhOGEzOTM4OWMzOWM5OGRlZjk2N2YyMWQ2Li4yMmM2ZDU3ZDNjYTc5ZDdjNmQ3ZjU2ZGI4ZDY2
ZWRiNmY3ZGFkMDMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBw
b3J0L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNFLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNl
L1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNFLmNwcApAQCAtMTE1LDYgKzEx
NSwxNSBAQCB2b2lkIFBsYXRmb3JtU3RyYXRlZ2llc1dpbkNFOjpnZXRQbHVnaW5JbmZvKGNvbnN0
IFBhZ2UqLCBWZWN0b3I8UGx1Z2luSW5mbz4mIG91dAogICAgIH0KIH0KIAorYm9vbCBQbGF0Zm9y
bVN0cmF0ZWdpZXNXaW5DRTo6aXNBdXRvU3RhcnRPcmlnaW4oUGFnZSosIFBsdWdJbk9yaWdpbkhh
c2gpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFBsYXRmb3JtU3RyYXRlZ2llc1dp
bkNFOjphZGRBdXRvU3RhcnRPcmlnaW4oUGFnZSosIFBsdWdJbk9yaWdpbkhhc2gpCit7Cit9CisK
IGJvb2wgUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0U6OmlzTGlua1Zpc2l0ZWQoUGFnZSogcGFnZSwg
TGlua0hhc2ggaGFzaCwgY29uc3QgS1VSTCYsIGNvbnN0IEF0b21pY1N0cmluZyYpCiB7CiAgICAg
cmV0dXJuIHBhZ2UtPmdyb3VwKCkuaXNMaW5rVmlzaXRlZChoYXNoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0Uu
aCBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVz
V2luQ0UuaAppbmRleCAyY2U0ODIwM2M2OGM1ZDk5ZDYzZDg1ZDU5NjMzYmNhODg4MWRlMzExLi4y
Y2ZhYjNkNWI5MWRmNDZlODNlOGY0MGNmNWUyMDE2ZGQ1MmI0YzdkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNFLmgK
KysrIGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdp
ZXNXaW5DRS5oCkBAIC01Myw2ICs1Myw4IEBAIHByaXZhdGU6CiAgICAgLy8gV2ViQ29yZTo6UGx1
Z2luU3RyYXRlZ3kKICAgICB2aXJ0dWFsIHZvaWQgcmVmcmVzaFBsdWdpbnMoKTsKICAgICB2aXJ0
dWFsIHZvaWQgZ2V0UGx1Z2luSW5mbyhjb25zdCBXZWJDb3JlOjpQYWdlKiwgVmVjdG9yPFdlYkNv
cmU6OlBsdWdpbkluZm8+Jik7CisgICAgdmlydHVhbCBib29sIGlzQXV0b1N0YXJ0T3JpZ2luKFdl
YkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNoKTsKKyAgICB2aXJ0dWFsIHZv
aWQgYWRkQXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpQbHVnSW5Pcmln
aW5IYXNoKTsKIAogICAgIC8vIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kKICAgICB2aXJ0
dWFsIGJvb2wgaXNMaW5rVmlzaXRlZChXZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6TGlua0hhc2gs
IGNvbnN0IFdlYkNvcmU6OktVUkwmLCBjb25zdCBXVEY6OkF0b21pY1N0cmluZyYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViS2l0Mi9DTWFr
ZUxpc3RzLnR4dAppbmRleCAwMDMzOTZhNjU3ZmQ0NWI4YmUyYzgyNTBlMDkyY2UyZDNmNmZkMjIw
Li4xZGY2MTg3MTI1YjhiZjM3MTIxMWZiNzVjMzk5OWRhZmZkNjc5ODFlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxp
c3RzLnR4dApAQCAtMzYyLDYgKzM2Miw3IEBAIFNFVChXZWJLaXQyX1NPVVJDRVMKICAgICBVSVBy
b2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuY3BwCiAgICAg
VUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuY3BwCiAKKyAg
ICBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRQcm92aWRlci5jcHAKICAgICBVSVBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5JbmZvU3RvcmUuY3BwCiAgICAgVUlQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luUHJvY2Vzc01hbmFnZXIuY3BwCiAgICAgVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJv
Y2Vzc1Byb3h5LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlz
dC5hbSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYWI1MjNlZjNm
M2JiMzdlZTI1NDc5YjJlMWE1ZjBkNWM4MDUzNDRhMS4uMzJhNzYxOTljNmNlZWM2YzBmYWJkMjZk
ZGFmMmZjOWVmOTViNGIxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUu
bGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC00Mjgs
NiArNDI4LDcgQEAgd2Via2l0Ml9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
UGx1Z2lucy9OUFJlbW90ZU9iamVjdE1hcC5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1
Z2lucy9OUFZhcmlhbnREYXRhLmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMv
TlBWYXJpYW50RGF0YS5oIFwKKwlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnSW5B
dXRvU3RhcnRUYWJsZS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnaW5N
b2R1bGVJbmZvLmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luTW9k
dWxlSW5mby5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBcCkBAIC04MTQsNiArODE1LDggQEAgd2Via2l0Ml9zb3Vy
Y2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3Rp
ZmljYXRpb25Qcm92aWRlci5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmlj
YXRpb25zL1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9QYWdlQ2xpZW50LmggXAorCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1Bs
dWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcCBcCisJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Bs
dWdpbnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRUYWJsZS5oIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0VGFibGUuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5k
ZDQxNzk2MTE0N2QyNWIwZmM2YTU0ZmVmYTZiNzVkYmY5NmEyMDQxCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0VGFibGUuaApA
QCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworCisjaWZuZGVmIFBsdWdJbkF1dG9TdGFydFRh
YmxlX2gKKyNkZWZpbmUgUGx1Z0luQXV0b1N0YXJ0VGFibGVfaAorCisjaW5jbHVkZSA8V2ViQ29y
ZS9QbHVnSW5PcmlnaW5IYXNoLmg+CisjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KKworbmFtZXNw
YWNlIFdlYktpdCB7CisKK3R5cGVkZWYgSGFzaFNldDxXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNo
PiBQbHVnSW5BdXRvU3RhcnRUYWJsZTsKKworfQorCisjZW5kaWYgLyogUGx1Z0luQXV0b1N0YXJ0
VGFibGVfaCAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaSBiL1NvdXJj
ZS9XZWJLaXQyL1RhcmdldC5wcmkKaW5kZXggMDk4YjViOTU0M2Y1ZmRmYjliOGE5MzFhMTI4Mjc5
MWU2YTk3NTY5MS4uYjhmMzUwNTY3OThiYTYzOWMxMDQ1MWVlMGU2MjU4NjMxMmRlOTBjYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9U
YXJnZXQucHJpCkBAIC0xNDIsNiArMTQyLDcgQEAgSEVBREVSUyArPSBcCiAgICAgU2hhcmVkL1Bs
dWdpbnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuaCBcCiAgICAgU2hhcmVkL1BsdWdpbnMvTlBP
YmplY3RQcm94eS5oIFwKICAgICBTaGFyZWQvUGx1Z2lucy9OUFZhcmlhbnREYXRhLmggXAorICAg
IFNoYXJlZC9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFRhYmxlLmggXAogICAgIFNoYXJlZC9QbHVn
aW5zL1BsdWdpbk1vZHVsZUluZm8uaCBcCiAgICAgU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oIFwKICAgICBTaGFyZWQvUGx1Z2lucy9QbHVnaW5RdWlya3Mu
aCBcCkBAIC0yMjcsNiArMjI4LDcgQEAgSEVBREVSUyArPSBcCiAgICAgVUlQcm9jZXNzL1BhZ2VD
bGllbnQuaCBcCiAgICAgVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuaCBcCiAgICAg
VUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnQuaCBcCisgICAgVUlQcm9jZXNz
L1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCBcCiAgICAgVUlQcm9jZXNzL1BsdWdp
bnMvUGx1Z2luSW5mb1N0b3JlLmggXAogICAgIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nl
c3NQcm94eS5oIFwKICAgICBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5o
IFwKQEAgLTU4Myw2ICs1ODUsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBVSVByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuY3BwIFwKICAgICBVSVByb2Nlc3Mv
Tm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25Qcm92aWRlci5jcHAgXAogICAgIFVJUHJvY2Vz
cy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNwcCBcCisgICAgVUlQcm9jZXNzL1BsdWdpbnMvUGx1
Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwIFwKICAgICBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5J
bmZvU3RvcmUuY3BwIFwKICAgICBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHku
Y3BwIFwKICAgICBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5jcHAgXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z0luQXV0b1N0
YXJ0UHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z0lu
QXV0b1N0YXJ0UHJvdmlkZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4NzA2YWM2N2ZkZjAxNjI5OWJiMDU1
ZTEzMjg3MzhiNjQxMjNiNDkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRQcm92aWRlci5jcHAKQEAgLTAsMCArMSw0OSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQbHVnSW5BdXRv
U3RhcnRQcm92aWRlci5oIgorCisjaW5jbHVkZSAiV2ViQ29udGV4dC5oIgorI2luY2x1ZGUgIldl
YlByb2Nlc3NNZXNzYWdlcy5oIgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNw
YWNlIFdlYktpdCB7CisKK1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyOjpQbHVnSW5BdXRvU3RhcnRQ
cm92aWRlcihXZWJDb250ZXh0KiBjb250ZXh0KQorICAgIDogbV9jb250ZXh0KGNvbnRleHQpCit7
Cit9CisKK3ZvaWQgUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXI6OmFkZEF1dG9TdGFydE9yaWdpbihQ
bHVnSW5PcmlnaW5IYXNoIGhhc2gpCit7CisgICAgaWYgKG1fYXV0b1N0YXJ0VGFibGUuY29udGFp
bnMoaGFzaCkpCisgICAgICAgIHJldHVybjsKKyAgICBtX2F1dG9TdGFydFRhYmxlLmFkZChoYXNo
KTsKKyAgICBtX2NvbnRleHQtPnNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vz
czo6UGx1Z0luQXV0b1N0YXJ0T3JpZ2luQ2hhbmdlZChoYXNoKSk7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMv
UGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVn
aW5zL1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODE0ODYzMjJiM2UwYmZj
ZmE2YTdhMDNjNDE5MjRkNjdkMDMyMDgxMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmgKQEAgLTAsMCAr
MSw1MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXJfaAor
I2RlZmluZSBQbHVnSW5BdXRvU3RhcnRQcm92aWRlcl9oCisKKyNpbmNsdWRlICJQbHVnSW5BdXRv
U3RhcnRUYWJsZS5oIgorI2luY2x1ZGUgPFdlYkNvcmUvUGx1Z0luT3JpZ2luSGFzaC5oPgorI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFt
ZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYkNvbnRleHQ7CisKK2NsYXNzIFBsdWdJbkF1dG9T
dGFydFByb3ZpZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnSW5BdXRvU3RhcnRQ
cm92aWRlcik7CitwdWJsaWM6CisgICAgZXhwbGljaXQgUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIo
V2ViQ29udGV4dCopOworCisgICAgdm9pZCBhZGRBdXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6UGx1
Z0luT3JpZ2luSGFzaCk7CisKK3ByaXZhdGU6CisgICAgV2ViQ29udGV4dCogbV9jb250ZXh0Owor
ICAgIFBsdWdJbkF1dG9TdGFydFRhYmxlIG1fYXV0b1N0YXJ0VGFibGU7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8qIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyX2ggKi8K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAppbmRleCAzZjgxOGQxYzE4YjUz
ODYwY2Y4NzQyZDQ0Yzk5YzM4MDc3YWIxZTgxLi45YjIyY2EzYzdmZDlmMGZmYzQ3OTdjMTBhNjA4
NjI5NjkyMjM4ZDg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29u
dGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCkBA
IC0xMjAsNiArMTIwLDcgQEAgV2ViQ29udGV4dDo6V2ViQ29udGV4dChQcm9jZXNzTW9kZWwgcHJv
Y2Vzc01vZGVsLCBjb25zdCBTdHJpbmcmIGluamVjdGVkQnVuZGxlUGEKICAgICAsIG1fZGVmYXVs
dFBhZ2VHcm91cChXZWJQYWdlR3JvdXA6OmNyZWF0ZSgpKQogICAgICwgbV9pbmplY3RlZEJ1bmRs
ZVBhdGgoaW5qZWN0ZWRCdW5kbGVQYXRoKQogICAgICwgbV92aXNpdGVkTGlua1Byb3ZpZGVyKHRo
aXMpCisgICAgLCBtX3BsdWdJbkF1dG9TdGFydFByb3ZpZGVyKHRoaXMpCiAgICAgLCBtX2Fsd2F5
c1VzZXNDb21wbGV4VGV4dENvZGVQYXRoKGZhbHNlKQogICAgICwgbV9zaG91bGRVc2VGb250U21v
b3RoaW5nKHRydWUpCiAgICAgLCBtX2NhY2hlTW9kZWwoQ2FjaGVNb2RlbERvY3VtZW50Vmlld2Vy
KQpAQCAtMTAyNSw0ICsxMDI2LDkgQEAgdm9pZCBXZWJDb250ZXh0OjpzZXRKYXZhU2NyaXB0R2Fy
YmFnZUNvbGxlY3RvclRpbWVyRW5hYmxlZChib29sIGZsYWcpCiAgICAgc2VuZFRvQWxsUHJvY2Vz
c2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpTZXRKYXZhU2NyaXB0R2FyYmFnZUNvbGxlY3RvclRp
bWVyRW5hYmxlZChmbGFnKSk7CiB9CiAKK3ZvaWQgV2ViQ29udGV4dDo6YWRkUGx1Z0luQXV0b1N0
YXJ0T3JpZ2luSGFzaChXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNoIGhhc2gpCit7CisgICAgbV9w
bHVnSW5BdXRvU3RhcnRQcm92aWRlci5hZGRBdXRvU3RhcnRPcmlnaW4oaGFzaCk7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkNvbnRleHQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKaW5k
ZXggMmNmN2JiNTA3Y2UwY2ViMDJhMWFhNTkxMTRhNjg4ZjE3ODAzNDkxZC4uYTM2Y2E4ZGY4NTkz
YjI0OGE5MjQ2ZjdiOWI0MTgzNmUyMWNjOWE1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
Q29udGV4dC5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiR2VuZXJpY0NhbGxiYWNrLmgi
CiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVy
TWFwLmgiCisjaW5jbHVkZSAiUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCIKICNpbmNsdWRlICJQ
bHVnaW5JbmZvU3RvcmUuaCIKICNpbmNsdWRlICJQcm9jZXNzTW9kZWwuaCIKICNpbmNsdWRlICJW
aXNpdGVkTGlua1Byb3ZpZGVyLmgiCkBAIC0zOSw2ICs0MCw3IEBACiAjaW5jbHVkZSAiV2ViSGlz
dG9yeUNsaWVudC5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eS5oIgogI2luY2x1ZGUgPFdl
YkNvcmUvTGlua0hhc2guaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BsdWdJbk9yaWdpbkhhc2guaD4K
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KQEAgLTMxMCw2ICszMTIsOCBAQCBwcml2YXRlOgogICAg
IHN0YXRpYyB2b2lkIHJlZ2lzdGVyT2NjbHVzaW9uTm90aWZpY2F0aW9uSGFuZGxlcnMoKTsKICNl
bmRpZgogCisgICAgdm9pZCBhZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW5IYXNoKFdlYkNvcmU6OlBs
dWdJbk9yaWdpbkhhc2gpOworCiAgICAgUHJvY2Vzc01vZGVsIG1fcHJvY2Vzc01vZGVsOwogICAg
IAogICAgIFZlY3RvcjxSZWZQdHI8V2ViUHJvY2Vzc1Byb3h5PiA+IG1fcHJvY2Vzc2VzOwpAQCAt
MzI5LDYgKzMzMyw3IEBAIHByaXZhdGU6CiAgICAgUGx1Z2luSW5mb1N0b3JlIG1fcGx1Z2luSW5m
b1N0b3JlOwogI2VuZGlmCiAgICAgVmlzaXRlZExpbmtQcm92aWRlciBtX3Zpc2l0ZWRMaW5rUHJv
dmlkZXI7CisgICAgUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIgbV9wbHVnSW5BdXRvU3RhcnRQcm92
aWRlcjsKICAgICAgICAgCiAgICAgSGFzaFNldDxTdHJpbmc+IG1fc2NoZW1lc1RvUmVnaXN0ZXJB
c0VtcHR5RG9jdW1lbnQ7CiAgICAgSGFzaFNldDxTdHJpbmc+IG1fc2NoZW1lc1RvUmVnaXN0ZXJB
c1NlY3VyZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQubWVzc2Fn
ZXMuaW4KaW5kZXggMjY2NGE1ZjRmZmU2NzgxZDVkYWRhM2E0MjhjMWY3ZTk2ZTYxYTllNC4uZjYy
NDliMzA0ZmQ1ODA2Y2Y3MTRkODJlZjdmZDJjZDQyOWE0OTdiZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQubWVzc2FnZXMuaW4KQEAgLTUxLDQgKzUxLDcgQEAg
bWVzc2FnZXMgLT4gV2ViQ29udGV4dCB7CiAgICAgLy8gYW55IHN5bmNocm9ub3VzIG1lc3NhZ2Vz
LCBhbmQgc2hvdWxkIGJlIHJlbW92ZWQgd2hlbiA8cmRhcjovL3Byb2JsZW0vODc3NTExNT4gaXMg
Zml4ZWQuCiAgICAgRHVtbXkoKSAtPiAoYm9vbCBkdW1teVJldHVybikKICNlbmRpZgorCisgICAg
IyBQbHVnLWluIG1lc3NhZ2VzLgorICAgIHZvaWQgQWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFz
aCh1aW50NjRfdCBoYXNoKQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDc2ZTJkMmE2N2I2OWIzN2E4MzU5NDBmNmM1MjJjMTJi
OTFlNmE0YjkuLjY2ZjFmNzI3YTAwNmRiOGY5Zjc2MDAzZmZjN2Q3YTVhOTJlMzcyMjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAg
LTMyMSw2ICszMjEsOSBAQAogCQkzMUEyRUM1NjE0ODk5QzA5MDA4MTBENzEgLyogTm90aWZpY2F0
aW9uUGVybWlzc2lvblJlcXVlc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDMxQTJFQzUzMTQ4OTk4MjUwMDgxMEQ3MSAvKiBOb3RpZmljYXRpb25QZXJt
aXNzaW9uUmVxdWVzdC5oICovOyB9OwogCQkzMUEyRUM3NDE0OEQ1OUNBMDA4MTBENzEgLyogV0tO
b3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzFBMkVDNzIxNDhENTlCQjAwODEwRDcxIC8qIFdLTm90aWZp
Y2F0aW9uUGVybWlzc2lvblJlcXVlc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQkzMUEyRUM3NzE0OEQ2NjJFMDA4MTBENzEgLyogV0tOb3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMUEyRUM3NTE0OEQ2NUJCMDA4MTBENzEgLyogV0tOb3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdC5jcHAgKi87IH07CisJCTMxQTY3RTBDMTY1QjJBOTkwMDZDQkE2
NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUE2N0UwQTE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0lu
QXV0b1N0YXJ0UHJvdmlkZXIuY3BwICovOyB9OworCQkzMUE2N0UwRDE2NUIyQTk5MDA2Q0JBNjYg
LyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDMxQTY3RTBCMTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRv
U3RhcnRQcm92aWRlci5oICovOyB9OworCQkzMUE2N0UxMjE2NUI5MUVDMDA2Q0JBNjYgLyogUGx1
Z0luQXV0b1N0YXJ0VGFibGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDMxQTY3RTEwMTY1QjkxRUMwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRUYWJs
ZS5oICovOyB9OwogCQkzMUJBOTI0RDE0ODgzMTI2MDA2MkVEQjUgLyogV2ViTm90aWZpY2F0aW9u
TWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMUJBOTI0ODE0ODgzMDgxMDA2MkVEQjUgLyogV2ViTm90aWZpY2F0
aW9uTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTMxQkE5MjRFMTQ4ODMxMjYw
MDYyRURCNSAvKiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQkE5MjQ5MTQ4ODMwODEwMDYyRURC
NSAvKiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZXMuaCAqLzsgfTsKIAkJMzFFQTI1RDIx
MzRGNzhDMDAwNUIxNDUyIC8qIE5hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUVBMjVEMDEzNEY3OEIyMDA1QjE0
NTIgLyogTmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbSAqLzsgfTsKQEAgLTE1NDUsNiArMTU0OCw5
IEBACiAJCTMxQTJFQzU0MTQ4OTk4MkUwMDgxMEQ3MSAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9u
UmVxdWVzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOb3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTMxQTJFQzcyMTQ4RDU5QkIwMDgxMEQ3MSAvKiBXS05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFBMkVDNzUxNDhENjVCQjAwODEwRDcxIC8q
IFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gV0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxQTY3RTBBMTY1QjJBOTkwMDZDQkE2NiAvKiBQ
bHVnSW5BdXRvU3RhcnRQcm92aWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTMxQTY3RTBCMTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92
aWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVnSW5BdXRvU3RhcnRQ
cm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUE2N0UxMDE2NUI5MUVD
MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0VGFibGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUGx1Z0luQXV0b1N0YXJ0VGFibGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMzFCQTkyNDgxNDg4MzA4MTAwNjJFREI1IC8qIFdlYk5vdGlmaWNhdGlvbk1hbmFn
ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTMxQkE5MjQ5MTQ4ODMwODEwMDYyRURCNSAvKiBXZWJOb3RpZmlj
YXRpb25NYW5hZ2VyTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTMxRUEyNUQwMTM0Rjc4QjIwMDVCMTQ1MiAvKiBOYXRpdmVXZWJNb3VzZUV2ZW50TWFj
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI5MDUsNiArMjkxMSw3IEBACiAJCQkJMUExRkEy
NTExMjdBMEU0RjAwNTBFNzA5IC8qIE5QUmVtb3RlT2JqZWN0TWFwLmggKi8sCiAJCQkJMUEyRDg0
QTIxMjdGNkFEMTAwMUVCOTYyIC8qIE5QVmFyaWFudERhdGEuY3BwICovLAogCQkJCTFBMkQ4NEEx
MTI3RjZBRDEwMDFFQjk2MiAvKiBOUFZhcmlhbnREYXRhLmggKi8sCisJCQkJMzFBNjdFMTAxNjVC
OTFFQzAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFRhYmxlLmggKi8sCiAJCQkJMUEzRDYwRkYx
M0E3Q0MyQTAwRjk1RDRFIC8qIFBsdWdpbk1vZHVsZUluZm8uY3BwICovLAogCQkJCTFBM0Q2MTAw
MTNBN0NDMkEwMEY5NUQ0RSAvKiBQbHVnaW5Nb2R1bGVJbmZvLmggKi8sCiAJCQkJMUEyRDkwRDEx
MjgxQzk2NjAwMUVCOTYyIC8qIFBsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwICov
LApAQCAtMjk3NCw2ICsyOTgxLDggQEAKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCiAJCQkJMUFFRkNDMEQxMUQwMUY0MTAwODIxOUQzIC8qIG1hYyAqLywKKwkJCQkzMUE2N0Uw
QTE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwICovLAorCQkJ
CTMxQTY3RTBCMTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5oICov
LAogCQkJCTFBRUZDQzExMTFEMDFGOTYwMDgyMTlEMyAvKiBQbHVnaW5JbmZvU3RvcmUuY3BwICov
LAogCQkJCTFBRUZDQzEwMTFEMDFGOTYwMDgyMTlEMyAvKiBQbHVnaW5JbmZvU3RvcmUuaCAqLywK
IAkJCQkxQTBFQzYwMjEyNEE5RjJDMDA3RUY0QTUgLyogUGx1Z2luUHJvY2Vzc01hbmFnZXIuY3Bw
ICovLApAQCAtNTAwMCw2ICs1MDA5LDggQEAKIAkJCQkyOTg0RjU4OTE2NEJBMDk1MDA0QkMwQzYg
LyogQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUx
RjA2MEUwMTY1NDMxN0YwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmggaW4g
SGVhZGVycyAqLywKIAkJCQk1MTc1OTQ0QjE2NTcwODA0MDBERDc3MUQgLyogTmV0d29ya1Jlc291
cmNlTG9hZGVyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxQTY3RTBEMTY1QjJBOTkw
MDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MzFBNjdFMTIxNjVCOTFFQzAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFRhYmxlLmggaW4gSGVh
ZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0g
MDsKIAkJfTsKQEAgLTU5NTQsNiArNTk2NSw3IEBACiAJCQkJMjk4NEY1ODgxNjRCQTA5NTAwNEJD
MEM2IC8qIEN1c3RvbVByb3RvY29sTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJN
ZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE3NTk0NEExNjU3MDgwNDAw
REQ3NzFEIC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkzMUE2N0UwQzE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0
UHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1l
bnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2ll
cy5jcHAKaW5kZXggYzA0NjY0NDM5OGYzYjFlZTFlNDg0MDgxZjM2MDFjMjhhMTNiOGRhNC4uYWU5
MGIzOTk0NDI1M2ZmYzM4YmZhMTIzOTQ4NzYyMzM4ZmIyZmJkNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxh
dGZvcm1TdHJhdGVnaWVzLmNwcApAQCAtMTUxLDYgKzE1MSwxNiBAQCB2b2lkIFdlYlBsYXRmb3Jt
U3RyYXRlZ2llczo6Z2V0UGx1Z2luSW5mbyhjb25zdCBXZWJDb3JlOjpQYWdlKiwgVmVjdG9yPFdl
YkNvcmU6OgogI2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogfQogCitib29s
IFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6aXNBdXRvU3RhcnRPcmlnaW4oUGFnZSosIFBsdWdJbk9y
aWdpbkhhc2ggaGFzaCkKK3sKKyAgICByZXR1cm4gV2ViUHJvY2Vzczo6c2hhcmVkKCkuaXNQbHVn
SW5BdXRvU3RhcnRPcmlnaW4oaGFzaCk7Cit9CisKK3ZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVz
OjphZGRBdXRvU3RhcnRPcmlnaW4oUGFnZSosIFBsdWdJbk9yaWdpbkhhc2ggaGFzaCkKK3sKKyAg
ICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5hZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW4oaGFzaCk7Cit9
CisKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKIHN0YXRpYyBCbG9ja2luZ1Jlc3Bv
bnNlTWFwPFZlY3RvcjxXZWJDb3JlOjpQbHVnaW5JbmZvPiA+JiByZXNwb25zZU1hcCgpCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBs
YXRmb3JtU3RyYXRlZ2llcy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAppbmRleCAwNDBjZmIxYTlhNjNlZWY5MDc5MWYw
ZjNjNTY5ZGJhMjZiMmFmMTAzLi5mNDZjNzRkZDViOWY4ZWE0MmQ3NTg1ZjJhM2Q2YzQyY2Q3MGI0
MmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKQEAgLTY3LDYgKzY3LDggQEAg
cHJpdmF0ZToKICAgICAvLyBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneQogICAgIHZpcnR1YWwgdm9p
ZCByZWZyZXNoUGx1Z2lucygpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBnZXRQbHVnaW5J
bmZvKGNvbnN0IFdlYkNvcmU6OlBhZ2UqLCBWZWN0b3I8V2ViQ29yZTo6UGx1Z2luSW5mbz4mKSBP
VkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgaXNBdXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6UGFn
ZSosIFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhhc2gpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9p
ZCBhZGRBdXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6UGFnZSosIFdlYkNvcmU6OlBsdWdJbk9yaWdp
bkhhc2gpIE9WRVJSSURFOwogCiAgICAgLy8gV2ViQ29yZTo6VmlzaXRlZExpbmtTdHJhdGVneQog
ICAgIHZpcnR1YWwgYm9vbCBpc0xpbmtWaXNpdGVkKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpM
aW5rSGFzaCwgY29uc3QgV2ViQ29yZTo6S1VSTCYgYmFzZVVSTCwgY29uc3QgV1RGOjpBdG9taWNT
dHJpbmcmIGF0dHJpYnV0ZVVSTCkgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmNwcAppbmRleCAyOGI3YmZkN2IwMjM2NmYzNDBmMjQ3MWUwNzdjMzY5MGYyYWE4
YjZkLi5iMmYyMGRiOTdlZDNmZjU1MTM1M2QwODczM2ZjOTRjZTVjMjU2MjUwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTkxMiw3ICs5MTIsMjUgQEAgdm9p
ZCBXZWJQcm9jZXNzOjpjbGVhclBsdWdpblNpdGVEYXRhKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBw
bHVnaW5QYXRocywgY29uc3QgVmUKICAgICBjb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6Oldl
YlByb2Nlc3NQcm94eTo6RGlkQ2xlYXJQbHVnaW5TaXRlRGF0YShjYWxsYmFja0lEKSwgMCk7CiB9
CiAjZW5kaWYKLSAgICAKKworYm9vbCBXZWJQcm9jZXNzOjppc1BsdWdJbkF1dG9TdGFydE9yaWdp
bihQbHVnSW5PcmlnaW5IYXNoIGhhc2gpCit7CisgICAgcmV0dXJuIG1fYXV0b1N0YXJ0VGFibGUu
Y29udGFpbnMoaGFzaCk7Cit9CisKK3ZvaWQgV2ViUHJvY2Vzczo6YWRkUGx1Z0luQXV0b1N0YXJ0
T3JpZ2luKFBsdWdJbk9yaWdpbkhhc2ggaGFzaCkKK3sKKyAgICBpZiAoaXNQbHVnSW5BdXRvU3Rh
cnRPcmlnaW4oaGFzaCkpCisgICAgICAgIHJldHVybjsKKworICAgIGNvbm5lY3Rpb24oKS0+c2Vu
ZChNZXNzYWdlczo6V2ViQ29udGV4dDo6QWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaChoYXNo
KSwgMCk7Cit9CisKK3ZvaWQgV2ViUHJvY2Vzczo6cGx1Z0luQXV0b1N0YXJ0T3JpZ2luQ2hhbmdl
ZChQbHVnSW5PcmlnaW5IYXNoIGhhc2gpCit7CisgICAgbV9hdXRvU3RhcnRUYWJsZS5hZGQoaGFz
aCk7Cit9CisKIHN0YXRpYyB2b2lkIGZyb21Db3VudGVkU2V0VG9IYXNoTWFwKFR5cGVDb3VudFNl
dCogY291bnRlZFNldCwgSGFzaE1hcDxTdHJpbmcsIHVpbnQ2NF90PiYgbWFwKQogewogICAgIFR5
cGVDb3VudFNldDo6Y29uc3RfaXRlcmF0b3IgZW5kID0gY291bnRlZFNldC0+ZW5kKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IDgyZTZjYzhmMmFiMWU4ZTAzZDhj
ZTRhNDkyODE0ZjM5Nzc2Nzg5NWQuLjQzYzcwZTM2Njg5NWFjMjI0ODM5ZjMwN2IzNzc0YmYyNGQz
ZTUwOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC0zMSw2ICsz
MSw3IEBACiAjaW5jbHVkZSAiRHJhd2luZ0FyZWEuaCIKICNpbmNsdWRlICJFdmVudERpc3BhdGNo
ZXIuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXJNYXAuaCIKKyNpbmNsdWRlICJQbHVnSW5B
dXRvU3RhcnRUYWJsZS5oIgogI2luY2x1ZGUgIlBsdWdpbkluZm9TdG9yZS5oIgogI2luY2x1ZGUg
IlJlc291cmNlQ2FjaGVzVG9DbGVhci5oIgogI2luY2x1ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIK
QEAgLTQyLDYgKzQzLDcgQEAKICNpbmNsdWRlICJXZWJJY29uRGF0YWJhc2VQcm94eS5oIgogI2lu
Y2x1ZGUgIldlYlBhZ2VHcm91cFByb3h5LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9MaW5rSGFzaC5o
PgorI2luY2x1ZGUgPFdlYkNvcmUvUGx1Z0luT3JpZ2luSGFzaC5oPgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNl
dC5oPgpAQCAtMTUyLDYgKzE1NCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIGFkZFZpc2l0ZWRMaW5r
KFdlYkNvcmU6OkxpbmtIYXNoKTsKICAgICBib29sIGlzTGlua1Zpc2l0ZWQoV2ViQ29yZTo6TGlu
a0hhc2gpIGNvbnN0OwogCisgICAgYm9vbCBpc1BsdWdJbkF1dG9TdGFydE9yaWdpbihXZWJDb3Jl
OjpQbHVnSW5PcmlnaW5IYXNoKTsKKyAgICB2b2lkIGFkZFBsdWdJbkF1dG9TdGFydE9yaWdpbihX
ZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNoKTsKKwogICAgIGJvb2wgZnVsbEtleWJvYXJkQWNjZXNz
RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZnVsbEtleWJvYXJkQWNjZXNzRW5hYmxlZDsgfQog
CiAgICAgV2ViRnJhbWUqIHdlYkZyYW1lKHVpbnQ2NF90KSBjb25zdDsKQEAgLTIzNiw2ICsyNDEs
OCBAQCBwcml2YXRlOgogICAgIHZvaWQgdmlzaXRlZExpbmtTdGF0ZUNoYW5nZWQoY29uc3QgVmVj
dG9yPFdlYkNvcmU6OkxpbmtIYXNoPiYgbGlua0hhc2hlcyk7CiAgICAgdm9pZCBhbGxWaXNpdGVk
TGlua1N0YXRlQ2hhbmdlZCgpOwogCisgICAgdm9pZCBwbHVnSW5BdXRvU3RhcnRPcmlnaW5DaGFu
Z2VkKFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhhc2gpOworCiAgICAgdm9pZCBwbGF0Zm9ybVNldENh
Y2hlTW9kZWwoQ2FjaGVNb2RlbCk7CiAgICAgc3RhdGljIHZvaWQgY2FsY3VsYXRlQ2FjaGVTaXpl
cyhDYWNoZU1vZGVsIGNhY2hlTW9kZWwsIHVpbnQ2NF90IG1lbW9yeVNpemUsIHVpbnQ2NF90IGRp
c2tGcmVlU2l6ZSwKICAgICAgICAgdW5zaWduZWQmIGNhY2hlVG90YWxDYXBhY2l0eSwgdW5zaWdu
ZWQmIGNhY2hlTWluRGVhZENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNYXhEZWFkQ2FwYWNpdHks
IGRvdWJsZSYgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCwKQEAgLTMyOCw2ICszMzUs
OCBAQCBwcml2YXRlOgogICAgIFZpc2l0ZWRMaW5rVGFibGUgbV92aXNpdGVkTGlua1RhYmxlOwog
ICAgIGJvb2wgbV9zaG91bGRUcmFja1Zpc2l0ZWRMaW5rczsKIAorICAgIFBsdWdJbkF1dG9TdGFy
dFRhYmxlIG1fYXV0b1N0YXJ0VGFibGU7CisKICAgICBib29sIG1faGFzU2V0Q2FjaGVNb2RlbDsK
ICAgICBDYWNoZU1vZGVsIG1fY2FjaGVNb2RlbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IGVkY2FkMzRmZjM3Y2VhN2FkMTM1
ZDZkMjY0NDJlMWRlYzQ4OGQzMDYuLmE2MGZmMzNlMmNmNGNkZmMwZjZmN2UzYTFhYjQ1YmY2NzBl
ZThhYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5t
ZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVz
c2FnZXMuaW4KQEAgLTYzLDYgKzYzLDcgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2VzcyB7CiAgICAg
R2V0U2l0ZXNXaXRoUGx1Z2luRGF0YShWZWN0b3I8V1RGOjpTdHJpbmc+IHBsdWdpblBhdGhzLCB1
aW50NjRfdCBjYWxsYmFja0lEKQogICAgIENsZWFyUGx1Z2luU2l0ZURhdGEoVmVjdG9yPFdURjo6
U3RyaW5nPiBwbHVnaW5QYXRocywgVmVjdG9yPFdURjo6U3RyaW5nPiBzaXRlcywgdWludDY0X3Qg
ZmxhZ3MsIHVpbnQ2NF90IG1heEFnZUluU2Vjb25kcywgdWludDY0X3QgY2FsbGJhY2tJRCkKICNl
bmRpZgorICAgIFBsdWdJbkF1dG9TdGFydE9yaWdpbkNoYW5nZWQodWludDY0X3QgaGFzaCkKIAog
I2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCiAgICAgTmV0d29ya1Byb2Nlc3NDcmFzaGVkKCkg
RGlzcGF0Y2hPbkNvbm5lY3Rpb25RdWV1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2lu
L1dlYktpdDIudmNwcm9qIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCmluZGV4
IDA1N2NiZjNkYjM2ZmU4M2RjYjUzOTY4ZDAwMGE2ZWU3NDkxOWM1OWIuLjkxY2RkMzhmYWFkNWE3
N2ZlMzk0MDU0MzAwNmU2YzUxZjc4MTQwNzYgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dp
bi9XZWJLaXQyLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oK
QEAgLTE1NTgsNiArMTU1OCwxMCBAQAogCQkJCU5hbWU9IlBsdWdpbnMiCiAJCQkJPgogCQkJCTxG
aWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cU2hhcmVkXFBsdWdpbnNcUGx1Z0luQXV0b1N0YXJ0
VGFibGUuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXFNoYXJlZFxQbHVnaW5zXFBsdWdpbk1vZHVsZUluZm8uY3BwIgogCQkJCQk+CiAJCQkJ
PC9GaWxlPgpAQCAtMzg2Niw2ICszODcwLDE0IEBACiAJCQkJTmFtZT0iUGx1Z2lucyIKIAkJCQk+
CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcUGx1Z2luc1xQbHVn
SW5BdXRvU3RhcnRQcm92aWRlci5jcHAiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUK
KwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcUGx1Z2luc1xQbHVnSW5BdXRvU3RhcnRQ
cm92aWRlci5oIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZl
UGF0aD0iLi5cVUlQcm9jZXNzXFBsdWdpbnNcUGx1Z2luSW5mb1N0b3JlLmNwcCIKIAkJCQkJPgog
CQkJCTwvRmlsZT4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176388</attachid>
            <date>2012-11-27 20:22:18 -0800</date>
            <delta_ts>2012-11-29 14:26:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103206-20121127201954.patch</filename>
            <type>text/plain</type>
            <size>65185</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1OTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjgwYTJlMjc1YzJjNmJj
ZGFkOGQ1YTRkNjc5MjIyMmFkYjJlYjZhOC4uNGRhYTU3ODdlMmIxZDk4YmE4ZTIwMGQxNzA0YTUx
Nzc4NTE0OTVhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDEyLTExLTI3ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBLZWVwIHRyYWNrIG9mIHBsdWctaW4g
c25hcHNob3RzIGNsaWNrZWQgYnkgdXNlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjc0NjQ4
Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCZXR3
ZWVuIHRoZSBVSSBhbmQgd2ViIHByb2Nlc3NlcyB3ZSBrZWVwIHRyYWNrIG9mICJvcmlnaW4gaGFz
aGVzIiwgd2hpY2ggYXJlIGJhc2VkIG9uIGEgY29tYmluYXRpb24gb2YKKyAgICAgICAgdGhlIGJh
c2UgZG9tYWlucyBvZiB0aGUgcGFnZSdzIG1haW4gZnJhbWUgYW5kIHRoZSBwbHVnaW4uCisKKyAg
ICAgICAgQmVjYXVzZSB0aGUgYWN0dWFsIFVSTCBsb2FkZWQgZm9yIHRoZSBwbHVnaW4gbWlnaHQg
ZGlmZmVyIGZyb20gdGhlIG9uZSBvcmlnaW5hbGx5IHNwZWNpZmllZCwKKyAgICAgICAgd2Ugd2Fp
dCB1bnRpbCB0aGUgcGx1Zy1pbiBpcyBhYm91dCB0byBiZSBjcmVhdGVkIHRvIGdldCB0aGUgaGFz
aC4gVGhlIGhhc2ggaXMgY2FjaGVkLCBzbyB0aGF0IHdoZW4gdGhlCisgICAgICAgIHVzZXIgY2xp
Y2tzIG9uIHRoZSBwbHVnLWluIHNuYXBzaG90LCB0aGUgaGFzaCBjYW4gYmUgYWRkZWQgdG8gdGhl
IGxpc3Qgb2YgZG9tYWluIGhhc2hlcyB0aGF0IHNob3VsZAorICAgICAgICBhdXRvLXN0YXJ0Lgor
CisgICAgICAgICogcGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6Y29kZUZvbGRlZEhhc2gpOiBIYXNoIHRoZSBzdHJpbmcgd2l0aCBhIGNhc2Ut
Zm9sZGVkIGhhc2guCisgICAgICAgIChXZWJDb3JlOjpwbHVnSW5PcmlnaW5IYXNoKTogVGhlIGhh
c2ggaXMgdGhlIGp1eHRhcG9zaXRpb24gb2YgdHdvIGNvbXBsZXRlIDMyLWJpdCBoYXNoZXMsIG9u
ZSBvZiB0aGUgcGFnZSdzCisgICAgICAgIGhvc3QsIHRoZSBvdGhlciBvZiB0aGUgcGx1Zy1pbiBV
UkwncyBob3N0LiBXZSB1c2UgU3RyaW5nSGFzaGVyOjpjb21wdXRlSGFzaCgpIHRvIGdldCBhbGwg
MzItYml0cyBvZiB0aGUKKyAgICAgICAgaGFzaC4gVXNpbmcgU3RyaW5nSW1wbCdzIGhhc2ggbWFz
a3Mgb3V0IDggb2YgdGhlIGhhc2ggYml0cy4gV2UgY2FuIG5laXRoZXIgbGV2ZXJhZ2UgdGhhdCBj
YWNoZWQgaGFzaCBzaW5jZQorICAgICAgICByZXRyaWV2aW5nIHRoZSBob3N0IGZyb20gdGhlIEtV
UkwgY3JlYXRlcyBhIGJyYW5kIG5ldyBzdHJpbmcgZXZlcnkgdGltZS4KKyAgICAgICAgICAgIElu
IHRoZSBjYXNlIHdoZXJlIHRoZSBob3N0IGhhcyBhbiBlbXB0eSBzdHJpbmcgKGxpa2UgYSBmaWxl
IFVSTCksIHdlIHN1YnN0aXR1dGUgaW4gImxvY2FsaG9zdCIuCisgICAgICAgICogcGxhdGZvcm0v
UGx1Z0luT3JpZ2luSGFzaC5oOiBBZGRlZC4KKworICAgICAgICAqIHBsdWdpbnMvUGx1Z2luU3Ry
YXRlZ3kuaDoKKyAgICAgICAgKFBsdWdpblN0cmF0ZWd5KTogQWRkIG5ldyBmdW5jdGlvbnMgdG8g
dGhlIHBsdWctaW4gc3RyYXRlZ3ksIGZvciBjaGVja2luZyB3aGV0aGVyIHBsdWctaW5zIHdpdGgg
YQorICAgICAgICBjZXJ0YWluIG9yaWdpbiBoYXNoIGFyZSBtYXJrZWQgZm9yIGF1dG8tbG9hZCwg
YW5kIGZvciBhZGRpbmcgYSBuZXcgb3JpZ2luIGhhc2guCisKKyAgICAgICAgKiBodG1sL0hUTUxQ
bHVnSW5JbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFBsdWdJbkltYWdl
RWxlbWVudDo6SFRNTFBsdWdJbkltYWdlRWxlbWVudCk6IEluaXRpYWxseSB0aGUgaGFzaCBpcyB1
bmtub3duLiBTZXQgdG8gMC4KKyAgICAgICAgTW92ZSB0aGUgY2hlY2sgZm9yIHdoZXRoZXIgdG8g
c25hcHNob3QgdGhlIHBsdWdpbiBpbnRvIHRoZSBuZXcgZnVuY3Rpb24gc3ViZnJhbWVMb2FkZXJX
aWxsTG9hZFBsdWdJbi4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6
OnVzZXJEaWRDbGlja1NuYXBzaG90KTogUmVuYW1lIHNldFBlbmRpbmdDbGlja0V2ZW50KCkgdG8K
KyAgICAgICAgdXNlckRpZENsaWNrU25hcHNob3QuIEluIGFkZGl0aW9uIHRvIGhvbGRpbmcgb250
byB0aGUgY2xpY2sgZXZlbnQgdXNlZCB0byBhY3RpdmF0ZSB0aGUgcGx1Zy1pbiwgdGhlCisgICAg
ICAgIGZ1bmN0aW9uIG5vdyBhbHNvIHRlbGxzIHRoZSBwbHVnaW4gc3RyYXRlZ3kgdG8gYWRkIHRo
ZSBvcmlnaW4gaGFzaCBhcyBhbiBhdXRvLXN0YXJ0IG9yaWdpbi4KKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OnN1YmZyYW1lTG9hZGVyV2lsbExvYWRQbHVnSW4pOiBD
YWxjdWxhdGUgdGhlIGhhc2ggYmFzZWQgb24gdGhlCisgICAgICAgIHByb3ZpZGVkIFVSTCwgd2hp
Y2ggaXMgdGhlIFVSTCB0aGUgcGx1Zy1pbiB3aWxsIGxvYWQuIEV4dGVuZCB0aGUgY2hlY2sgdGhh
dCB1c2VkIHRvIGJlIGluIHRoZQorICAgICAgICBjb25zdHJ1Y3RvciB0byBzZWUgaWYgdGhlIHBs
dWctaW4gc2hvdWxkIG5vdCBhdXRvbWF0aWNhbGx5IGxvYWQuCisgICAgICAgICogaHRtbC9IVE1M
UGx1Z0luSW1hZ2VFbGVtZW50Lmg6CisgICAgICAgIChIVE1MUGx1Z0luSW1hZ2VFbGVtZW50KTog
QWRkIGFuIGl2YXIgdG8gbWFpbnRhaW4gYSBjb3B5IG9mIHRoZSBoYXNoLgorCisgICAgICAgICog
bG9hZGVyL1N1YmZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN1YmZyYW1lTG9h
ZGVyOjpyZXF1ZXN0UGx1Z2luKTogV2hlbiB0aGUgbG9hZGVyIGlzIGFib3V0IHRvIGxvYWQgdGhl
IHBsdWctaW4sIHBhc3MgdGhlCisgICAgICAgIFVSTCB0byB0aGUgZWxlbWVudCwgc28gdGhhdCBp
dCBjYW4gY2FsY3VsYXRlIHRoZSBoYXNoLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNu
YXBzaG90dGVkUGx1Z0luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNuYXBzaG90dGVk
UGx1Z0luOjpoYW5kbGVFdmVudCk6IENhbGwgdGhlIHJlbmFtZWQgZnVuY3Rpb24gdXNlckRpZENs
aWNrU25hcHNob3QoKS4KKworICAgICAgICBBZGQgUGx1Z0luT3JpZ2luSGFzaC57Y3BwLGh9Lgor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06
CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAg
ICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDEyLTExLTI3ICBKdWxpZW4gQ2hhZmZyYWl4ICA8
amNoYWZmcmFpeEB3ZWJraXQub3JnPgogCiAgICAgICAgIFN1cHBvcnQgcHJvcGVyIDxwZXJjZW50
PiAvIGNhbGMoKSByZXNvbHV0aW9uIGZvciBncmlkIGl0ZW1zCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXgg
MGI5MzNjZWEwODM0ODc4ZWY0MGI3MjI1MTQ4Nzk2OGM4Yzc0ODE4OC4uZWU0MTdmNWY4YTgwYzMz
MTkzODRlNDY0MjY0ZTEyY2I0NzA2NDUyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDEyLTExLTI3ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBL
ZWVwIHRyYWNrIG9mIHBsdWctaW4gc25hcHNob3RzIGNsaWNrZWQgYnkgdXNlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjA2CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8xMjc0NjQ4Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5j
cHA6IFN0dWIgaW1wbGVtZW50YXRpb25zLgorICAgICAgICAoUGxhdGZvcm1TdHJhdGVnaWVzRWZs
Ojppc0F1dG9TdGFydE9yaWdpbik6CisgICAgICAgIChQbGF0Zm9ybVN0cmF0ZWdpZXNFZmw6OmFk
ZEF1dG9TdGFydE9yaWdpbik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJh
dGVnaWVzRWZsLmg6CisKIDIwMTItMTEtMjcgIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIENvbnNvbGlkYXRlIEZyYW1lTG9hZGVyOjpsb2FkKCkgaW50
byBvbmUgZnVuY3Rpb24gdGFraW5nIGEgRnJhbWVMb2FkUmVxdWVzdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmlu
ZGV4IGU1NmE5ZjU2MTJiMjVmZDgzMjEwZjkyMDM3Y2ZkODhkMzVjOTU1NzUuLmM4YjZlMWU3ZTk0
ZmJiZWFjNTY5NTY4NmExMzk1YTg5NDcyZDY2NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Z3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNiBAQAorMjAxMi0xMS0yNyAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKKyAgICAg
ICAgS2VlcCB0cmFjayBvZiBwbHVnLWluIHNuYXBzaG90cyBjbGlja2VkIGJ5IHVzZXIKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzIwNgorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMTI3NDY0ODM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNH
dGsuY3BwOiBTdHViIGltcGxlbWVudGF0aW9ucy4KKyAgICAgICAgKFBsYXRmb3JtU3RyYXRlZ2ll
c0d0azo6aXNBdXRvU3RhcnRPcmlnaW4pOgorICAgICAgICAoUGxhdGZvcm1TdHJhdGVnaWVzR3Rr
OjphZGRBdXRvU3RhcnRPcmlnaW4pOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1BsYXRmb3Jt
U3RyYXRlZ2llc0d0ay5oOgorCiAyMDEyLTExLTI3ICBKYW1lcyBTaW1vbnNlbiAgPHNpbW9uamFt
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBDb25zb2xpZGF0ZSBGcmFtZUxvYWRlcjo6bG9hZCgp
IGludG8gb25lIGZ1bmN0aW9uIHRha2luZyBhIEZyYW1lTG9hZFJlcXVlc3QKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwppbmRleCBlZTc1OWUyNzA5MTljY2ZjMmNlYTBjYTE3ZWZmZjUwNjM1YWQ2YzBjLi5lNmNjZTlm
YWU0YzgxZWQwNjcxZmZkYWQ4NDhiOGQ4YzhhN2QwYjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMTItMTEtMjcgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCisg
ICAgICAgIEtlZXAgdHJhY2sgb2YgcGx1Zy1pbiBzbmFwc2hvdHMgY2xpY2tlZCBieSB1c2VyCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyMDYKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyNzQ2NDgzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJh
dGVnaWVzLmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVz
Lm1tOiBTdHViIGltcGxlbWVudGF0aW9ucy4KKyAgICAgICAgKFdlYlBsYXRmb3JtU3RyYXRlZ2ll
czo6aXNBdXRvU3RhcnRPcmlnaW4pOgorICAgICAgICAoV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjph
ZGRBdXRvU3RhcnRPcmlnaW4pOgorCiAyMDEyLTExLTI3ICBKYW1lcyBTaW1vbnNlbiAgPHNpbW9u
amFtQGNocm9taXVtLm9yZz4KIAogICAgICAgICBDb25zb2xpZGF0ZSBGcmFtZUxvYWRlcjo6bG9h
ZCgpIGludG8gb25lIGZ1bmN0aW9uIHRha2luZyBhIEZyYW1lTG9hZFJlcXVlc3QKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VM
b2cKaW5kZXggN2YxMDNlNzYwY2FhZTMyNjI4OTg0ZmRjN2Y3MTQwOTJiMTRiMWY1OC4uYjE3ZTQ2
OTNjMTE4ODM3M2JlYWJlNGUxYWM2Y2U4OGQ5NDY0MmVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxMi0xMS0yNyAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKKyAg
ICAgICAgS2VlcCB0cmFjayBvZiBwbHVnLWluIHNuYXBzaG90cyBjbGlja2VkIGJ5IHVzZXIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzIwNgorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMTI3NDY0ODM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdp
ZXNRdC5jcHA6IFN0dWIgaW1wbGVtZW50YXRpb25zLgorICAgICAgICAoUGxhdGZvcm1TdHJhdGVn
aWVzUXQ6OmlzQXV0b1N0YXJ0T3JpZ2luKToKKyAgICAgICAgKFBsYXRmb3JtU3RyYXRlZ2llc1F0
OjphZGRBdXRvU3RhcnRPcmlnaW4pOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1BsYXRmb3Jt
U3RyYXRlZ2llc1F0Lmg6CisKIDIwMTItMTEtMjcgIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIENvbnNvbGlkYXRlIEZyYW1lTG9hZGVyOjpsb2FkKCkg
aW50byBvbmUgZnVuY3Rpb24gdGFraW5nIGEgRnJhbWVMb2FkUmVxdWVzdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9n
CmluZGV4IDc0ZDM1MWM0ZTM3ZWY4MWFiYjk0ZjJjNjU1MTgxNjAzMjEyODVmYzEuLjE4NmYyOGIz
OWYzNjMwOTdiN2I5NTkwNjFlMmVjNDM1ZGNhZjFhYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxMi0xMS0yNyAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKKyAg
ICAgICAgS2VlcCB0cmFjayBvZiBwbHVnLWluIHNuYXBzaG90cyBjbGlja2VkIGJ5IHVzZXIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzIwNgorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMTI3NDY0ODM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuY3BwOiBTdHViIGltcGxlbWVudGF0aW9ucy4KKyAgICAgICAgKFdlYlBsYXRmb3JtU3Ry
YXRlZ2llczo6aXNBdXRvU3RhcnRPcmlnaW4pOgorICAgICAgICAoV2ViUGxhdGZvcm1TdHJhdGVn
aWVzOjphZGRBdXRvU3RhcnRPcmlnaW4pOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlBs
YXRmb3JtU3RyYXRlZ2llcy5oOgorCiAyMDEyLTExLTI3ICBKYW1lcyBTaW1vbnNlbiAgPHNpbW9u
amFtQGNocm9taXVtLm9yZz4KIAogICAgICAgICBDb25zb2xpZGF0ZSBGcmFtZUxvYWRlcjo6bG9h
ZCgpIGludG8gb25lIGZ1bmN0aW9uIHRha2luZyBhIEZyYW1lTG9hZFJlcXVlc3QKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW5jZS9D
aGFuZ2VMb2cKaW5kZXggZDQ2YTY1NDlkNzhlOTYwNmNmYWI5MjFlNDgwM2RjMzJjMzlhNGM4Yi4u
YTdkZDA1YjBlOTdlZWFjY2E3NzI4NDBhODI5NDY4ZDI5YjU4NDI1MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW5jZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0xMS0yNyAgSm9uIExlZSAgPGpvbmxlZUBhcHBs
ZS5jb20+CisKKyAgICAgICAgS2VlcCB0cmFjayBvZiBwbHVnLWluIHNuYXBzaG90cyBjbGlja2Vk
IGJ5IHVzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwMzIwNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTI3NDY0ODM+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QbGF0
Zm9ybVN0cmF0ZWdpZXNXaW5DRS5jcHA6IFN0dWIgaW1wbGVtZW50YXRpb25zLgorICAgICAgICAo
UGxhdGZvcm1TdHJhdGVnaWVzV2luQ0U6OmlzQXV0b1N0YXJ0T3JpZ2luKToKKyAgICAgICAgKFBs
YXRmb3JtU3RyYXRlZ2llc1dpbkNFOjphZGRBdXRvU3RhcnRPcmlnaW4pOgorICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNFLmg6CisKIDIwMTItMTEtMjcgIEph
bWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIENvbnNvbGlk
YXRlIEZyYW1lTG9hZGVyOjpsb2FkKCkgaW50byBvbmUgZnVuY3Rpb24gdGFraW5nIGEgRnJhbWVM
b2FkUmVxdWVzdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDFlYzJkZWFjOWRhY2U5YWQ4OTdhZTY0M2QzYzE3ZjYw
ZjAzMWNjNTguLjdhODI3MWE4NTAzMWMxNWM0MDMwYTBhZGM5NjgxMTgzMGQyOGU4ZDQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSw0NyBAQAorMjAxMi0xMS0yNyAgSm9uIExlZSAgPGpvbmxlZUBhcHBs
ZS5jb20+CisKKyAgICAgICAgS2VlcCB0cmFjayBvZiBwbHVnLWluIHNuYXBzaG90cyBjbGlja2Vk
IGJ5IHVzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwMzIwNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTI3NDY0ODM+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvUGx1Z2lucy9QbHVn
SW5BdXRvU3RhcnRUYWJsZS5oOiBJbnNwaXJlZCBieSBWaXNpdGVkTGlua1RhYmxlLiBGb3Igbm93
LCBtYWtlIHRoZSB0YWJsZSBhCisgICAgICAgIHNpbXBsZSBzZXQgb2YgaGFzaGVzLiBMYXRlciB3
ZSBjb3VsZCBjb252ZXJ0IHRoaXMgdG8gYSBzaGFyZWQgbWVtb3J5IHRhYmxlLgorICAgICAgICAq
IFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcDogQWRkZWQuIENy
ZWF0ZSBhIHByb3ZpZGVyIHRoYXQgbWFuYWdlcyB0aGUgVUkgcHJvY2VzcycKKyAgICAgICAgY29w
eSBvZiB0aGUgdGFibGUuCisgICAgICAgIChXZWJLaXQ6OlBsdWdJbkF1dG9TdGFydFByb3ZpZGVy
OjpQbHVnSW5BdXRvU3RhcnRQcm92aWRlcik6CisgICAgICAgIChXZWJLaXQ6OlBsdWdJbkF1dG9T
dGFydFByb3ZpZGVyOjphZGRBdXRvU3RhcnRPcmlnaW4pOiBBZGQgdGhlIGhhc2ggaWYgbmVjZXNz
YXJ5LCBhbmQgYnJvYWRjYXN0IHRvCisgICAgICAgIGFsbCB3ZWIgcHJvY2Vzc2VzLgorICAgICAg
ICAqIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmg6IEFkZGVkLgor
CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHQubWVzc2FnZXMuaW46IENyZWF0ZSBhIG5l
dyBtZXNzYWdlIHRoYXQgYWRkcyBhIG5ldyBoYXNoLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJD
b250ZXh0LmNwcDogQWRkIHRoZSBwbHVnLWluIGF1dG8tc3RhcnQgcHJvdmlkZXIuCisgICAgICAg
IChXZWJLaXQ6OldlYkNvbnRleHQ6OldlYkNvbnRleHQpOiBJbml0aWFsaXplIHRoZSBwcm92aWRl
ci4KKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6YWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2lu
SGFzaCk6IFRlbGwgdGhlIHByb3ZpZGVyIHRvIGFkZCB0aGUgaGFzaC4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViQ29udGV4dC5oOgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF0Zm9y
bVN0cmF0ZWdpZXM6OmlzQXV0b1N0YXJ0T3JpZ2luKTogRm9yd2FyZCB0byBXZWJQcm9jZXNzLgor
ICAgICAgICAoV2ViS2l0OjpXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmFkZEF1dG9TdGFydE9yaWdp
bik6IEZvcndhcmQgdG8gV2ViUHJvY2Vzcy4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oOgorCisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6aXNQbHVnSW5BdXRv
U3RhcnRPcmlnaW4pOiBMb29rcyBpbiB0aGUgdGFibGUgdG8gc2VlIGlmIHRoZSBoYXNoIGFscmVh
ZHkgZXhpc3RzLgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjphZGRQbHVnSW5BdXRvU3Rh
cnRPcmlnaW4pOiBJZiB0aGUgaGFzaCBpcyBub3QgYWxyZWFkeSBpbiB0aGUgdGFibGUsIG1lc3Nh
Z2UgdGhlIFVJCisgICAgICAgIHByb2Nlc3MgdG8gYWRkIGl0LgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzOjpwbHVnSW5BdXRvU3RhcnRPcmlnaW5DaGFuZ2VkKTogQ2FsbGVkIHdoZW4gdGhl
IFVJIHByb2Nlc3MgYnJvYWRjYXN0cyB0byB0aGUgd2ViCisgICAgICAgIHByb2Nlc3MgdGhhdCBh
IGhhc2ggaGFzIGJlZW4gYWRkZWQuIEFkZCB0aGF0IGhhc2ggdG8gdGhlIHdlYiBwcm9jZXNzJyBj
b3B5IG9mIHRoZSB0YWJsZS4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46IEFkZCBhIG5ldyBtZXNz
YWdlIGNhbGxlZCBieSBVSSBwcm9jZXNzIHdoZW4gYSBuZXcgaGFzaCBpcyBhZGRlZC4KKworICAg
ICAgICBBZGQgUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIue2NwcCxofSBhbmQgUGx1Z0luQXV0b1N0
YXJ0VGFibGUuaC4KKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtl
ZmlsZS5saXN0LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViS2l0Mi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHdpbi9XZWJLaXQyLnZjcHJvajoK
KwogMjAxMi0xMS0yNyAgSHVhbmcgRG9uZ3N1bmcgIDxsdXh0ZWxsYUBjb21wYW55MTAwLm5ldD4K
IAogICAgICAgICBSRUdSRVNTSU9OKHIxMzU2MjApOiBBU1NFUlQobV9zdGF0ZS5kcmF3c0NvbnRl
bnQgJiYgbV9zdGF0ZS5jb250ZW50c1Zpc2libGUgJiYgIW1fc2l6ZS5pc0VtcHR5KCkpIGhpdHMg
aW4gVGV4dHVyZU1hcHBlckxheWVyOjpwYWludFNlbGYoKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5k
ZXggM2E1ZDIxNzM1ODQ1ZjBiZDhhNTQ3M2JhNmZiMGQwOWQwZmY1MTJiMi4uOWQ3ZjZjZTU5MDRm
ZjUwOTJhNDk3OTA4NWNmYjVhNjRlODM3NWNjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE4
MDgsNiArMTgwOCw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9QbGF0Zm9y
bUV2ZW50LmNwcAogICAgIHBsYXRmb3JtL1BsYXRmb3JtSW5zdHJ1bWVudGF0aW9uLmNwcAogICAg
IHBsYXRmb3JtL1BsYXRmb3JtTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmNwcAorICAgIHBsYXRmb3Jt
L1BsdWdJbk9yaWdpbkhhc2guY3BwCiAgICAgcGxhdGZvcm0vUnVuTG9vcC5jcHAKICAgICBwbGF0
Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuY3BwCiAgICAgcGxhdGZvcm0vU2Nyb2xsQW5p
bWF0b3IuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
IGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBkY2NiZjdiZWQyYmNl
ZDE5MjAyMDc4ZWE0NjEyMTQ3OTgyNGVkN2FiLi45NDQ4OTJiZGJjZjE5ZWViOWU1NTM3ODg5NTFl
YmI1ZDI0N2E4OTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTU3NzQsNiAr
NTc3NCw4IEBAIHdlYmNvcmVfcGxhdGZvcm1fc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vUGxhdGZvcm1TdHJhdGVnaWVzLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRm
b3JtV2hlZWxFdmVudC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbHVnSW5PcmlnaW5I
YXNoLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QT0RBcmVuYS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9QT0RGcmVlTGlzdEFyZW5hLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BP
REludGVydmFsLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1Nv
dXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggYzU3ZDU4YjIwY2M1ZjVlNzJlYzg5NTFhYjYx
NjJiMzE3MGFmZmE1ZS4uZDYzY2RlZDkzMWM5YTA3ZjlhZDFlMDUzOTQ0MzE3ZGJhMTNkZjNlNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9UYXJnZXQucHJpCkBAIC0xMDY5LDYgKzEwNjksNyBAQCBTT1VSQ0VTICs9IFwKICAgICBwbGF0
Zm9ybS9QbGF0Zm9ybUV2ZW50LmNwcCBcCiAgICAgcGxhdGZvcm0vUGxhdGZvcm1JbnN0cnVtZW50
YXRpb24uY3BwIFwKICAgICBwbGF0Zm9ybS9QbGF0Zm9ybU1lbW9yeUluc3RydW1lbnRhdGlvbi5j
cHAgXAorICAgIHBsYXRmb3JtL1BsdWdJbk9yaWdpbkhhc2guY3BwIFwKICAgICBwbGF0Zm9ybS9S
dW50aW1lQXBwbGljYXRpb25DaGVja3MuY3BwIFwKICAgICBwbGF0Zm9ybS9SdW5Mb29wLmNwcCBc
CiAgICAgcGxhdGZvcm0vU2NoZW1lUmVnaXN0cnkuY3BwIFwKQEAgLTIyNzEsNiArMjI3Miw3IEBA
IEhFQURFUlMgKz0gXAogICAgIHBsYXRmb3JtL1BsYXRmb3JtTWVtb3J5SW5zdHJ1bWVudGF0aW9u
LmggXAogICAgIHBsYXRmb3JtL1BsYXRmb3JtVG91Y2hFdmVudC5oIFwKICAgICBwbGF0Zm9ybS9Q
bGF0Zm9ybVRvdWNoUG9pbnQuaCBcCisgICAgcGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5oIFwK
ICAgICBwbGF0Zm9ybS9Qb3B1cE1lbnUuaCBcCiAgICAgcGxhdGZvcm0vUmVmZXJyZXJQb2xpY3ku
aCBcCiAgICAgcGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXgg
ZGE2MzM3MjMwYTM1NDAxYTNmMjM4YmY1ZWI5ZmJkNGY5OWRkMTViYi4uODhkN2JlYzVhMDIyNGE0
OTE1MWQ5Njg1NzE1NjJkMDk5MzZjYWJlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMzE0LDYgKzMx
NCw3IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vUGxhdGZvcm1TY3JlZW4uaCcsCiAgICAgICAg
ICAgICAncGxhdGZvcm0vUGxhdGZvcm1TdHJhdGVnaWVzLmgnLAogICAgICAgICAgICAgJ3BsYXRm
b3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9QbHVnSW5P
cmlnaW5IYXNoLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL1BvcHVwTWVudS5oJywKICAgICAg
ICAgICAgICdwbGF0Zm9ybS9Qb3B1cE1lbnVDbGllbnQuaCcsCiAgICAgICAgICAgICAncGxhdGZv
cm0vUG9wdXBNZW51U3R5bGUuaCcsCkBAIC00NDk5LDYgKzQ1MDAsNyBAQAogICAgICAgICAgICAg
J3BsYXRmb3JtL1BsYXRmb3JtU3RyYXRlZ2llcy5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L1BsYXRmb3JtVG91Y2hFdmVudC5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9QbGF0Zm9ybVRv
dWNoUG9pbnQuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vUGx1Z0luT3JpZ2luSGFzaC5jcHAn
LAogICAgICAgICAgICAgJ3BsYXRmb3JtL1ByZXJlbmRlckhhbmRsZS5oJywKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vUmVm
ZXJyZXJQb2xpY3kuaCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCmluZGV4IDExZDNhMjIzMzBmYjgxYTdjMGFiYzJhYTYzMTAxYTAxZmY5YWFiMjQuLjM5
M2U0NmVhNTllNzI5ZTJkOTEwMzYxY2ZiNjQwNjIxODM3ZjQ1MmYgMTAwNzU1Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yODczMCw2ICsyODczMCwxNCBA
QAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0
Zm9ybVxQbHVnSW5PcmlnaW5IYXNoLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQor
CQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cUGx1Z0luT3JpZ2luSGFzaC5oIgorCQkJCT4K
KwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxQb3B1
cE1lbnUuaCIKIAkJCQk+CiAJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYjJkNTc1NmNjNWE2MDA1ZDRkZjljZWU3
NTFmYTlkODJkNmFmZmVjYy4uMWNjYzkzNmMyYTQ2MTdhZDgzNWYxN2RlOWJmNDM5Y2IxNjY4Yzgx
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtOTMzLDYgKzkzMyw4IEBACiAJCTMxOUU2OUI1MTMyOTlCQkQwMDRBQzkxQSAvKiBX
ZWJLaXRBbmltYXRpb25MaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDMxOUU2OUFGMTMyOTlCQkQwMDRBQzkxQSAvKiBXZWJLaXRBbmltYXRpb25M
aXN0LmNwcCAqLzsgfTsKIAkJMzE5RTY5QjYxMzI5OUJCRDAwNEFDOTFBIC8qIFdlYktpdEFuaW1h
dGlvbkxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMxOUU2OUIwMTMyOTlCQkQwMDRBQzkxQSAvKiBXZWJLaXRBbmltYXRpb25MaXN0LmggKi87IH07
CiAJCTMxOUZCRDVGMTVEMkY0NjQwMDk2NDBBNiAvKiBDYWNoZWRJbWFnZUNsaWVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE5RkJENUQxNUQyRjQ0
NDAwOTY0MEE2IC8qIENhY2hlZEltYWdlQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMzFBNjdFNEMxNjYwMzI2QTAwNkNCQTY2IC8qIFBs
dWdJbk9yaWdpbkhhc2guY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzFBNjdFNEExNjYwMzI2OTAwNkNCQTY2IC8qIFBsdWdJbk9yaWdpbkhhc2guY3Bw
ICovOyB9OworCQkzMUE2N0U0RDE2NjAzMjZBMDA2Q0JBNjYgLyogUGx1Z0luT3JpZ2luSGFzaC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFBNjdFNEIx
NjYwMzI2OTAwNkNCQTY2IC8qIFBsdWdJbk9yaWdpbkhhc2guaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkzMUE5NjNBNTE2NTVENDI2MDAwRDQ2NDUg
Lyogc3RhcnRCdXR0b24ucG5nIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMUE5NjNBMTE2NTVENDI2MDAwRDQ2NDUgLyogc3RhcnRCdXR0b24ucG5nICov
OyB9OwogCQkzMUE5NjNBNjE2NTVENDI2MDAwRDQ2NDUgLyogc3RhcnRCdXR0b25AMngucG5nIGlu
IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUE5NjNBMjE2
NTVENDI2MDAwRDQ2NDUgLyogc3RhcnRCdXR0b25AMngucG5nICovOyB9OwogCQkzMUE5NjNBNzE2
NTVENDI2MDAwRDQ2NDUgLyogc3RhcnRCdXR0b25QcmVzc2VkLnBuZyBpbiBSZXNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFBOTYzQTMxNjU1RDQyNjAwMEQ0NjQ1
IC8qIHN0YXJ0QnV0dG9uUHJlc3NlZC5wbmcgKi87IH07CkBAIC04MTEyLDYgKzgxMTQsOCBAQAog
CQkzMTlFNjlCMDEzMjk5QkJEMDA0QUM5MUEgLyogV2ViS2l0QW5pbWF0aW9uTGlzdC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJLaXRBbmltYXRpb25MaXN0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxOUU2OUIxMTMyOTlCQkQwMDRBQzkxQSAvKiBXZWJL
aXRBbmltYXRpb25MaXN0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJLaXRBbmltYXRp
b25MaXN0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE5RkJENUQxNUQyRjQ0
NDAwOTY0MEE2IC8qIENhY2hlZEltYWdlQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENhY2hlZEltYWdlQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTMxQTY3RTRBMTY2MDMyNjkwMDZDQkE2NiAvKiBQbHVnSW5PcmlnaW5IYXNoLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBsdWdJbk9yaWdpbkhhc2guY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUE2N0U0QjE2NjAzMjY5MDA2Q0JBNjYgLyog
UGx1Z0luT3JpZ2luSGFzaC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVn
SW5PcmlnaW5IYXNoLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQTk2M0ExMTY1
NUQ0MjYwMDBENDY0NSAvKiBzdGFydEJ1dHRvbi5wbmcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBpbWFnZS5wbmc7IHBhdGggPSBzdGFydEJ1dHRvbi5w
bmc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQTk2M0EyMTY1NUQ0MjYwMDBENDY0
NSAvKiBzdGFydEJ1dHRvbkAyeC5wbmcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBpbWFnZS5wbmc7IHBhdGggPSAic3RhcnRCdXR0b25AMngucG5nIjsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFBOTYzQTMxNjU1RDQyNjAwMEQ0NjQ1IC8q
IHN0YXJ0QnV0dG9uUHJlc3NlZC5wbmcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBpbWFnZS5wbmc7IHBhdGggPSBzdGFydEJ1dHRvblByZXNzZWQucG5n
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjEwNjUsNiArMjEwNjksOCBAQAogCQkJ
CTFBRDhGODFBMTFDQUI5RTkwMEU5M0U1NCAvKiBQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwICovLAog
CQkJCTFBRDhGODE5MTFDQUI5RTkwMEU5M0U1NCAvKiBQbGF0Zm9ybVN0cmF0ZWdpZXMuaCAqLywK
IAkJCQk5MzVDNDc2QTA5QUM0RDRGMDBBNkFBQjQgLyogUGxhdGZvcm1XaGVlbEV2ZW50LmggKi8s
CisJCQkJMzFBNjdFNEExNjYwMzI2OTAwNkNCQTY2IC8qIFBsdWdJbk9yaWdpbkhhc2guY3BwICov
LAorCQkJCTMxQTY3RTRCMTY2MDMyNjkwMDZDQkE2NiAvKiBQbHVnSW5PcmlnaW5IYXNoLmggKi8s
CiAJCQkJQkNCQjhBQjQxM0YxQUZCMDAwNzM0REYwIC8qIFBPREFyZW5hLmggKi8sCiAJCQkJMUYz
RjE5NTIxNDk5Q0E3NjAwQTVBRUE3IC8qIFBPREZyZWVMaXN0QXJlbmEuaCAqLywKIAkJCQlCQ0JC
OEFCNTEzRjFBRkIwMDA3MzRERjAgLyogUE9ESW50ZXJ2YWwuaCAqLywKQEAgLTI1ODM2LDYgKzI1
ODQyLDcgQEAKIAkJCQlGQjJDMTVDMzE2NUQ2NDlEMDAzOUM5RjggLyogQ2FjaGVkU1ZHRG9jdW1l
bnRSZWZlcmVuY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxNzQxQUFEMTY2MzY2MDkwMDhBNUI3
RSAvKiBTaW11bGF0ZWRDbGlja09wdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTE1QjhCN0M5
MTY1MkM1MjIwMDM2RUY1NSAvKiBKU1dlYktpdENTU01peEZ1bmN0aW9uVmFsdWUuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTMxQTY3RTREMTY2MDMyNkEwMDZDQkE2NiAvKiBQbHVnSW5PcmlnaW5IYXNo
LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI4OTM5LDYgKzI4OTQ2LDcgQEAKIAkJCQk0NDc5NTgwNTE2
NDNCNEIyMDAxRTBBN0YgLyogUGFyc2VkQ29udGVudFR5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMTVCOEI3QzgxNjUyQzUyMjAwMzZFRjU1IC8qIEpTV2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4NkJBNzY2RTE2NjQyN0E4MDA1QkU1RDEgLyogRnJh
bWVMb2FkUmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkzMUE2N0U0QzE2NjAzMjZBMDA2
Q0JBNjYgLyogUGx1Z0luT3JpZ2luSGFzaC5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQly
dW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwCmluZGV4IDQyMWFjMWIwZjBj
MThkMmZkYjI5OWI4ZTg2ODc0ODkwNWI3NWQ5NzYuLjIzYTI4MTU0ZGYyODJlYjBhNWU4NTVmODJj
M2I4MjgxZWI1YzNmZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJ
bkltYWdlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1h
Z2VFbGVtZW50LmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIK
ICNpbmNsdWRlICJOb2RlUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVk
ZSAiUGx1Z0luT3JpZ2luSGFzaC5oIgogI2luY2x1ZGUgIlJlbmRlckVtYmVkZGVkT2JqZWN0Lmgi
CiAjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJTbmFwc2hvdHRlZFBs
dWdJbi5oIgpAQCAtMzcsNiArMzgsMTEgQEAKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1
ZGUgIlN0eWxlUmVzb2x2ZXIuaCIKIAorI2lmIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQorI2lu
Y2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5oIgorI2luY2x1ZGUgIlBsdWdpblN0cmF0ZWd5Lmgi
CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBUaGlzIGRlbGF5IHNob3VsZCBu
b3QgZXhjZWVkIHRoZSBzbmFwc2hvdCBkZWxheSBpbiBQbHVnaW5WaWV3LmNwcApAQCAtNTIsMTMg
KzU4LDkgQEAgSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6SFRNTFBsdWdJbkltYWdlRWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2MKICAgICAsIG1fc2hvdWxkUHJlZmVyUGx1
Z0luc0ZvckltYWdlcyhwcmVmZXJQbHVnSW5zRm9ySW1hZ2VzT3B0aW9uID09IFNob3VsZFByZWZl
clBsdWdJbnNGb3JJbWFnZXMpCiAgICAgLCBtX25lZWRzRG9jdW1lbnRBY3RpdmF0aW9uQ2FsbGJh
Y2tzKGZhbHNlKQogICAgICwgbV9zaW11bGF0ZWRNb3VzZUNsaWNrVGltZXIodGhpcywgJkhUTUxQ
bHVnSW5JbWFnZUVsZW1lbnQ6OnNpbXVsYXRlZE1vdXNlQ2xpY2tUaW1lckZpcmVkLCBzaW11bGF0
ZWRNb3VzZUNsaWNrVGltZXJEZWxheSkKKyAgICAsIG1fcGx1Z0luT3JpZ2luSGFzaCgwKQogewog
ICAgIHNldEhhc0N1c3RvbUNhbGxiYWNrcygpOwotCi0gICAgaWYgKGRvY3VtZW50LT5wYWdlKCkK
LSAgICAgICAgJiYgZG9jdW1lbnQtPnBhZ2UoKS0+c2V0dGluZ3MoKS0+cGx1Z0luU25hcHNob3R0
aW5nRW5hYmxlZCgpCi0gICAgICAgICYmICFTY3JpcHRDb250cm9sbGVyOjpwcm9jZXNzaW5nVXNl
ckdlc3R1cmUoKSkKLSAgICAgICAgc2V0RGlzcGxheVN0YXRlKFdhaXRpbmdGb3JTbmFwc2hvdCk7
CiB9CiAKIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6On5IVE1MUGx1Z0luSW1hZ2VFbGVtZW50KCkK
QEAgLTI2Miw5ICsyNjQsMTMgQEAgdm9pZCBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50Ojp1cGRhdGVT
bmFwc2hvdChQYXNzUmVmUHRyPEltYWdlPiBpbWFnZSkKICAgICBzZXREaXNwbGF5U3RhdGUoRGlz
cGxheWluZ1NuYXBzaG90KTsKIH0KIAotdm9pZCBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjpzZXRQ
ZW5kaW5nQ2xpY2tFdmVudChQYXNzUmVmUHRyPE1vdXNlRXZlbnQ+IGV2ZW50KQordm9pZCBIVE1M
UGx1Z0luSW1hZ2VFbGVtZW50Ojp1c2VyRGlkQ2xpY2tTbmFwc2hvdChQYXNzUmVmUHRyPE1vdXNl
RXZlbnQ+IGV2ZW50KQogeworICAgIEFTU0VSVChtX3BsdWdJbk9yaWdpbkhhc2gpOwogICAgIG1f
cGVuZGluZ0NsaWNrRXZlbnRGcm9tU25hcHNob3QgPSBldmVudDsKKyNpZiBVU0UoUExBVEZPUk1f
U1RSQVRFR0lFUykKKyAgICBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+cGx1Z2luU3RyYXRlZ3koKS0+
YWRkQXV0b1N0YXJ0T3JpZ2luKGRvY3VtZW50KCktPnBhZ2UoKSwgbV9wbHVnSW5PcmlnaW5IYXNo
KTsKKyNlbmRpZgogfQogCiB2b2lkIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OmRpc3BhdGNoUGVu
ZGluZ01vdXNlQ2xpY2soKQpAQCAtMjg0LDQgKzI5MCwxOCBAQCB2b2lkIEhUTUxQbHVnSW5JbWFn
ZUVsZW1lbnQ6OnNpbXVsYXRlZE1vdXNlQ2xpY2tUaW1lckZpcmVkKERlZmVycmFibGVPbmVTaG90
VGltZQogICAgIG1fcGVuZGluZ0NsaWNrRXZlbnRGcm9tU25hcHNob3QgPSBudWxscHRyOwogfQog
Cit2b2lkIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OnN1YmZyYW1lTG9hZGVyV2lsbExvYWRQbHVn
SW4oY29uc3QgS1VSTCYgdXJsKQoreworICAgIGlmICghZG9jdW1lbnQoKS0+cGFnZSgpKQorICAg
ICAgICByZXR1cm47CisKKyAgICBtX3BsdWdJbk9yaWdpbkhhc2ggPSBwbHVnSW5PcmlnaW5IYXNo
KGRvY3VtZW50KCktPnBhZ2UoKSwgdXJsKTsKKyAgICBpZiAoZG9jdW1lbnQoKS0+cGFnZSgpLT5z
ZXR0aW5ncygpLT5wbHVnSW5TbmFwc2hvdHRpbmdFbmFibGVkKCkKKyNpZiBVU0UoUExBVEZPUk1f
U1RSQVRFR0lFUykKKyAgICAgICAgJiYgIXBsYXRmb3JtU3RyYXRlZ2llcygpLT5wbHVnaW5TdHJh
dGVneSgpLT5pc0F1dG9TdGFydE9yaWdpbihkb2N1bWVudCgpLT5wYWdlKCksIG1fcGx1Z0luT3Jp
Z2luSGFzaCkKKyNlbmRpZgorICAgICAgICAmJiAhU2NyaXB0Q29udHJvbGxlcjo6cHJvY2Vzc2lu
Z1VzZXJHZXN0dXJlKCkpCisgICAgICAgIHNldERpc3BsYXlTdGF0ZShXYWl0aW5nRm9yU25hcHNo
b3QpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFBsdWdJbkltYWdlRWxlbWVudC5oCmluZGV4IGM1YmY2ZmExZjkxZTFlODJkMDhiY2EyYzAy
YzczZGFiMmM3YTg5M2QuLjVhNjlmYWUyMGRmMDhkNDYyOTc4NmQ4YTI3YjE0NzExZGI1NmE4ODYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5oCkBAIC0y
Myw2ICsyMyw3IEBACiAKICNpbmNsdWRlICJIVE1MUGx1Z0luRWxlbWVudC5oIgogCisjaW5jbHVk
ZSAiUGx1Z0luT3JpZ2luSGFzaC5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCiAjaW5jbHVk
ZSA8d3RmL093blB0ci5oPgogCkBAIC01OSw3ICs2MCwxMCBAQCBwdWJsaWM6CiAgICAgYm9vbCBu
ZWVkc1dpZGdldFVwZGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmVlZHNXaWRnZXRVcGRhdGU7IH0K
ICAgICB2b2lkIHNldE5lZWRzV2lkZ2V0VXBkYXRlKGJvb2wgbmVlZHNXaWRnZXRVcGRhdGUpIHsg
bV9uZWVkc1dpZGdldFVwZGF0ZSA9IG5lZWRzV2lkZ2V0VXBkYXRlOyB9CiAKLSAgICB2b2lkIHNl
dFBlbmRpbmdDbGlja0V2ZW50KFBhc3NSZWZQdHI8TW91c2VFdmVudD4pOworICAgIHZvaWQgdXNl
ckRpZENsaWNrU25hcHNob3QoUGFzc1JlZlB0cjxNb3VzZUV2ZW50Pik7CisKKyAgICAvLyBQbHVn
LWluIFVSTCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdXJsKCkgd2l0aCBvdmVycmlkaW5nIHBh
cmFtZXRlcnMuCisgICAgdm9pZCBzdWJmcmFtZUxvYWRlcldpbGxMb2FkUGx1Z0luKGNvbnN0IEtV
UkwmIHBsdWdJblVSTCk7CiAKIHByb3RlY3RlZDoKICAgICBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50
KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiwgYm9vbCBjcmVhdGVkQnlQ
YXJzZXIsIFByZWZlclBsdWdJbnNGb3JJbWFnZXNPcHRpb24pOwpAQCAtMTAzLDYgKzEwNyw3IEBA
IHByaXZhdGU6CiAgICAgUmVmUHRyPFJlbmRlclN0eWxlPiBtX2N1c3RvbVN0eWxlRm9yUGFnZUNh
Y2hlOwogICAgIFJlZlB0cjxNb3VzZUV2ZW50PiBtX3BlbmRpbmdDbGlja0V2ZW50RnJvbVNuYXBz
aG90OwogICAgIERlZmVycmFibGVPbmVTaG90VGltZXI8SFRNTFBsdWdJbkltYWdlRWxlbWVudD4g
bV9zaW11bGF0ZWRNb3VzZUNsaWNrVGltZXI7CisgICAgUGx1Z0luT3JpZ2luSGFzaCBtX3BsdWdJ
bk9yaWdpbkhhc2g7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1N1YmZyYW1lTG9hZGVyLmNwcAppbmRleCA5MmVhOTczNzY3ZThjNDcyNTBiNmRiMmJm
NDA0ZDM0OGU1NDUyMmYxLi5kMWFiN2U1NmU5MjJlNDM1N2JmOTIyNWUyYmExOWM0YTgzZTM5MzUw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5jcHAKQEAgLTE1Niw2ICsx
NTYsNyBAQCBib29sIFN1YmZyYW1lTG9hZGVyOjpyZXF1ZXN0UGx1Z2luKEhUTUxQbHVnSW5JbWFn
ZUVsZW1lbnQqIG93bmVyRWxlbWVudCwgY29uc3QgSwogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
ICAgICBBU1NFUlQob3duZXJFbGVtZW50LT5oYXNUYWdOYW1lKG9iamVjdFRhZykgfHwgb3duZXJF
bGVtZW50LT5oYXNUYWdOYW1lKGVtYmVkVGFnKSk7CisgICAgb3duZXJFbGVtZW50LT5zdWJmcmFt
ZUxvYWRlcldpbGxMb2FkUGx1Z0luKHVybCk7CiAgICAgcmV0dXJuIGxvYWRQbHVnaW4ob3duZXJF
bGVtZW50LCB1cmwsIG1pbWVUeXBlLCBwYXJhbU5hbWVzLCBwYXJhbVZhbHVlcywgdXNlRmFsbGJh
Y2spOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbHVnSW5Pcmln
aW5IYXNoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsdWdJbk9yaWdpbkhhc2guY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmIyNGExOTZjYmIzOTRhOThhZDc0YzM0MjM1Y2Y4ZGY5YzQ4ZmY4YzIKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbHVnSW5PcmlnaW5IYXNo
LmNwcApAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiUGx1Z0luT3JpZ2luSGFzaC5oIgorCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNs
dWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIktVUkwuaCIKKyNpbmNsdWRlICJMb2dnaW5nLmgiCisj
aW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitzdGF0aWMgaW5saW5lIHVpbnQ2NF90IGNvZGVGb2xkZWRIYXNo
KGNvbnN0IFN0cmluZyYgc3RyaW5nKQoreworICAgIGlmIChzdHJpbmcuaXM4Qml0KCkpCisgICAg
ICAgIHJldHVybiBTdHJpbmdIYXNoZXI6OmNvbXB1dGVIYXNoPExDaGFyLCBDYXNlRm9sZGluZ0hh
c2g6OmZvbGRDYXNlPExDaGFyPiA+KHN0cmluZy5jaGFyYWN0ZXJzOCgpLCBzdHJpbmcubGVuZ3Ro
KCkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDx1aW50NjRfdD4oU3RyaW5nSGFzaGVyOjpjb21w
dXRlSGFzaDxVQ2hhciwgQ2FzZUZvbGRpbmdIYXNoOjpmb2xkQ2FzZTxVQ2hhcj4gPihzdHJpbmcu
Y2hhcmFjdGVyczE2KCksIHN0cmluZy5sZW5ndGgoKSkpOworfQorCitQbHVnSW5PcmlnaW5IYXNo
IHBsdWdJbk9yaWdpbkhhc2goY29uc3QgUGFnZSogcGFnZSwgY29uc3QgS1VSTCYgc3JjVVJMKQor
eworICAgIFN0cmluZyBwYWdlSG9zdCA9IHBhZ2UtPm1haW5GcmFtZSgpLT5kb2N1bWVudCgpLT5i
YXNlVVJMKCkuaG9zdCgpOworICAgIGlmIChwYWdlSG9zdC5pc0VtcHR5KCkpCisgICAgICAgIHBh
Z2VIb3N0ID0gImxvY2FsaG9zdCI7CisgICAgU3RyaW5nIHBsdWdJbkhvc3QgPSBzcmNVUkwuaG9z
dCgpOworICAgIGlmIChwbHVnSW5Ib3N0LmlzRW1wdHkoKSkKKyAgICAgICAgcGx1Z0luSG9zdCA9
ICJsb2NhbGhvc3QiOworCisgICAgcmV0dXJuIGNvZGVGb2xkZWRIYXNoKHBhZ2VIb3N0KSA8PCAz
MiB8IGNvZGVGb2xkZWRIYXNoKHBsdWdJbkhvc3QpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbHVnSW5PcmlnaW5IYXNo
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbHVnSW5PcmlnaW5IYXNoLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNGJkYjdkYTJmMTdjMTEwNjlkNmNkNTRjMjEzODc0ZGY5ZjJmMzkyYgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsdWdJbk9yaWdpbkhhc2guaApAQCAtMCww
ICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFBsdWdJbk9yaWdpbkhhc2hfaAorI2RlZmluZSBQ
bHVnSW5PcmlnaW5IYXNoX2gKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBLVVJMOwor
Y2xhc3MgUGFnZTsKKwordHlwZWRlZiB1aW50NjRfdCBQbHVnSW5PcmlnaW5IYXNoOworCitQbHVn
SW5PcmlnaW5IYXNoIHBsdWdJbk9yaWdpbkhhc2goY29uc3QgUGFnZSosIGNvbnN0IEtVUkwmIHNy
Y1VSTCk7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8qIFBsdWdJbk9yaWdp
bkhhc2ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luU3RyYXRl
Z3kuaCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luU3RyYXRlZ3kuaAppbmRleCA5ZDhh
N2I1MmYwMzI1NTM3NDQzZjEzM2YwODJkYTMwZjRmMGQyMjk0Li5kZjZlNTMwNDU4YWFhZmRkYzBm
OTJjNjIyYWQ5ZjE2YjEwOTcxZWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5z
L1BsdWdpblN0cmF0ZWd5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5TdHJh
dGVneS5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykK
IAorI2luY2x1ZGUgIlBsdWdJbk9yaWdpbkhhc2guaCIKICNpbmNsdWRlICJQbHVnaW5EYXRhLmgi
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM5LDYgKzQwLDkgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCByZWZyZXNoUGx1Z2lucygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZ2V0UGx1
Z2luSW5mbyhjb25zdCBQYWdlKiwgVmVjdG9yPFBsdWdpbkluZm8+JikgPSAwOwogCisgICAgdmly
dHVhbCBib29sIGlzQXV0b1N0YXJ0T3JpZ2luKFBhZ2UqLCBQbHVnSW5PcmlnaW5IYXNoKSA9IDA7
CisgICAgdmlydHVhbCB2b2lkIGFkZEF1dG9TdGFydE9yaWdpbihQYWdlKiwgUGx1Z0luT3JpZ2lu
SGFzaCkgPSAwOworCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB+UGx1Z2luU3RyYXRlZ3koKSB7
IH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU25hcHNo
b3R0ZWRQbHVnSW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNuYXBzaG90
dGVkUGx1Z0luLmNwcAppbmRleCA5NzJiMmJmOTA0MjIzYjViNzc3NWYyNDI5ZGMxNjI4M2EwZjE2
ODE1Li5mMmNlOWQ1NjUyODVkOGZjMDIwMTNjYzBmMGIzYjk5NzNkZDNkNjY2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbmFwc2hvdHRlZFBsdWdJbi5jcHAK
QEAgLTE3OCw3ICsxNzgsNyBAQCB2b2lkIFJlbmRlclNuYXBzaG90dGVkUGx1Z0luOjpoYW5kbGVF
dmVudChFdmVudCogZXZlbnQpCiAgICAgICAgICAgICBwbHVnSW5JbWFnZUVsZW1lbnQoKS0+c2V0
RGlzcGxheVN0YXRlKEhUTUxQbHVnSW5FbGVtZW50OjpQbGF5aW5nKTsKICAgICAgICAgZWxzZSB7
CiAgICAgICAgICAgICBwbHVnSW5JbWFnZUVsZW1lbnQoKS0+c2V0RGlzcGxheVN0YXRlKEhUTUxQ
bHVnSW5FbGVtZW50OjpQbGF5aW5nV2l0aFBlbmRpbmdNb3VzZUNsaWNrKTsKLSAgICAgICAgICAg
IHBsdWdJbkltYWdlRWxlbWVudCgpLT5zZXRQZW5kaW5nQ2xpY2tFdmVudChtb3VzZUV2ZW50KTsK
KyAgICAgICAgICAgIHBsdWdJbkltYWdlRWxlbWVudCgpLT51c2VyRGlkQ2xpY2tTbmFwc2hvdCht
b3VzZUV2ZW50KTsKICAgICAgICAgfQogICAgICAgICBpZiAod2lkZ2V0KCkpIHsKICAgICAgICAg
ICAgIGlmIChGcmFtZSogZnJhbWUgPSBkb2N1bWVudCgpLT5mcmFtZSgpKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmNw
cCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0Vm
bC5jcHAKaW5kZXggNzEzOGFhOGQ3NmY3ZmNlODFjODEwMjczMmRmNGM1MTY5NzdhZTNiZS4uOGI1
YjM5YzFlZGJhM2YyZjcyMzU1NmU2MGNhZTFkYzExYjQxNDIyZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwu
Y3BwCkBAIC0xMjAsNiArMTIwLDE1IEBAIHZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzRWZsOjpnZXRQ
bHVnaW5JbmZvKGNvbnN0IFBhZ2UqLCBWZWN0b3I8UGx1Z2luSW5mbz4mIG91dFBsCiAjZW5kaWYK
IH0KIAorYm9vbCBQbGF0Zm9ybVN0cmF0ZWdpZXNFZmw6OmlzQXV0b1N0YXJ0T3JpZ2luKFBhZ2Uq
LCBQbHVnSW5PcmlnaW5IYXNoKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBQbGF0
Zm9ybVN0cmF0ZWdpZXNFZmw6OmFkZEF1dG9TdGFydE9yaWdpbihQYWdlKiwgUGx1Z0luT3JpZ2lu
SGFzaCkKK3sKK30KKwogLy8gVmlzaXRlZExpbmtTdHJhdGVneQogYm9vbCBQbGF0Zm9ybVN0cmF0
ZWdpZXNFZmw6OmlzTGlua1Zpc2l0ZWQoUGFnZSogcGFnZSwgTGlua0hhc2ggaGFzaCwgY29uc3Qg
S1VSTCYsIGNvbnN0IEF0b21pY1N0cmluZyYpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2VmbC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwuaCBiL1NvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5oCmluZGV4IDAxZTYx
MTU2Y2Y5ZmVmM2IxZjQ1MzJhOWUyNWU4YjMzMmMyNWZlZjAuLmQ0Y2VhZTkxMmFmN2MxZTU5OGU5
ZjVlODk5MDdmOTEyNTVlNmVjZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNv
cmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZs
L1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5oCkBAIC00OSw2ICs0OSw4IEBA
IHByaXZhdGU6CiAgICAgLy8gV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3kKICAgICB2aXJ0dWFsIHZv
aWQgcmVmcmVzaFBsdWdpbnMoKTsKICAgICB2aXJ0dWFsIHZvaWQgZ2V0UGx1Z2luSW5mbyhjb25z
dCBXZWJDb3JlOjpQYWdlKiwgVmVjdG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+Jik7CisgICAgdmly
dHVhbCBib29sIGlzQXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpQbHVn
SW5PcmlnaW5IYXNoKTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkQXV0b1N0YXJ0T3JpZ2luKFdlYkNv
cmU6OlBhZ2UqLCBXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNoKTsKIAogICAgIC8vIFdlYkNvcmU6
OlZpc2l0ZWRMaW5rU3RyYXRlZ3kKICAgICB2aXJ0dWFsIGJvb2wgaXNMaW5rVmlzaXRlZChXZWJD
b3JlOjpQYWdlKiwgV2ViQ29yZTo6TGlua0hhc2gsIGNvbnN0IFdlYkNvcmU6OktVUkwmIGJhc2VV
UkwsIGNvbnN0IFdURjo6QXRvbWljU3RyaW5nJiBhdHRyaWJ1dGVVUkwpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmNw
cCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0d0
ay5jcHAKaW5kZXggMDBhNzA2MmM5Y2UyZWMzYTVhMjY3ODgxNjlhOWE1ZjZiMDIzMDg4Ni4uZGMw
NWEzOWRjMWQyMDkwYTg3ZDdhZDlmZGNjNTQ2MDNiNDE3ZDVjYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsu
Y3BwCkBAIC0xMDgsNiArMTA4LDE1IEBAIHZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzR3RrOjpnZXRQ
bHVnaW5JbmZvKGNvbnN0IFBhZ2UqIHBhZ2UsIFZlY3RvcjxQbHVnaW5JbmZvPiYKICAgICB9CiB9
CiAKK2Jvb2wgUGxhdGZvcm1TdHJhdGVnaWVzR3RrOjppc0F1dG9TdGFydE9yaWdpbihQYWdlKiwg
UGx1Z0luT3JpZ2luSGFzaCkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgUGxhdGZv
cm1TdHJhdGVnaWVzR3RrOjphZGRBdXRvU3RhcnRPcmlnaW4oUGFnZSosIFBsdWdJbk9yaWdpbkhh
c2gpCit7Cit9CisKIC8vIFZpc2l0ZWRMaW5rU3RyYXRlZ3kKIGJvb2wgUGxhdGZvcm1TdHJhdGVn
aWVzR3RrOjppc0xpbmtWaXNpdGVkKFBhZ2UqIHBhZ2UsIExpbmtIYXNoIGhhc2gsIGNvbnN0IEtV
UkwmLCBjb25zdCBBdG9taWNTdHJpbmcmKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9n
dGsvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmggYi9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuaAppbmRleCBjZjM0YWUy
NGIzODI4Zjk4ZGVmMWU4NzJjMDczY2E0OTI0YjBkMzM0Li40OTllMTJkMDQwZGQ0YTM0ZGNjZDA3
YzUwNjI4N2FhNjkyZmY0NzFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9X
ZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuaApAQCAtNDgsNiArNDgsOCBAQCBw
cml2YXRlOgogICAgIC8vIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5CiAgICAgdmlydHVhbCB2b2lk
IHJlZnJlc2hQbHVnaW5zKCk7CiAgICAgdmlydHVhbCB2b2lkIGdldFBsdWdpbkluZm8oY29uc3Qg
V2ViQ29yZTo6UGFnZSosIFZlY3RvcjxXZWJDb3JlOjpQbHVnaW5JbmZvPiYpOworICAgIHZpcnR1
YWwgYm9vbCBpc0F1dG9TdGFydE9yaWdpbihXZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6UGx1Z0lu
T3JpZ2luSGFzaCk7CisgICAgdmlydHVhbCB2b2lkIGFkZEF1dG9TdGFydE9yaWdpbihXZWJDb3Jl
OjpQYWdlKiwgV2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFzaCk7CiAKICAgICAvLyBXZWJDb3JlOjpW
aXNpdGVkTGlua1N0cmF0ZWd5CiAgICAgdmlydHVhbCBib29sIGlzTGlua1Zpc2l0ZWQoV2ViQ29y
ZTo6UGFnZSosIFdlYkNvcmU6OkxpbmtIYXNoLCBjb25zdCBXZWJDb3JlOjpLVVJMJiBiYXNlVVJM
LCBjb25zdCBXVEY6OkF0b21pY1N0cmluZyYgYXR0cmlidXRlVVJMKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgK
aW5kZXggZjlkOGM3NzE5NmFhMTZlODlhNDI4NGEzOWQ3NWMxNzBhYzdmNDA4OS4uYmUyZGY5ZjQ2
ODFkOTljNTBhYTA5MWU3YjZmMjNmYjQ4MDhiM2RlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKKysrIGIvU291cmNl
L1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKQEAgLTU2
LDYgKzU2LDggQEAgcHJpdmF0ZToKICAgICAvLyBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneQogICAg
IHZpcnR1YWwgdm9pZCByZWZyZXNoUGx1Z2lucygpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9p
ZCBnZXRQbHVnaW5JbmZvKGNvbnN0IFdlYkNvcmU6OlBhZ2UqLCBWZWN0b3I8V2ViQ29yZTo6UGx1
Z2luSW5mbz4mKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgaXNBdXRvU3RhcnRPcmlnaW4o
V2ViQ29yZTo6UGFnZSosIFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhhc2gpIE9WRVJSSURFOworICAg
IHZpcnR1YWwgdm9pZCBhZGRBdXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6UGFnZSosIFdlYkNvcmU6
OlBsdWdJbk9yaWdpbkhhc2gpIE9WRVJSSURFOwogCiAgICAgLy8gV2ViQ29yZTo6VmlzaXRlZExp
bmtTdHJhdGVneQogICAgIHZpcnR1YWwgYm9vbCBpc0xpbmtWaXNpdGVkKFdlYkNvcmU6OlBhZ2Uq
LCBXZWJDb3JlOjpMaW5rSGFzaCwgY29uc3QgV2ViQ29yZTo6S1VSTCYgYmFzZVVSTCwgY29uc3Qg
V1RGOjpBdG9taWNTdHJpbmcmIGF0dHJpYnV0ZVVSTCkgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0g
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMu
bW0KaW5kZXggYzc5YjA4OWI5ZmM0MGM5NmNjZTE2ZjcyMGI4YjU0MDM0YzUyZTkyNC4uODhjYzU1
MWY2NzFhOTQ4ZGYyOTdjMzM3NjlhYjQxZTJiZTE2ZjZiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbQpA
QCAtMTEzLDYgKzExMywxNSBAQCB2b2lkIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Z2V0UGx1Z2lu
SW5mbyhjb25zdCBXZWJDb3JlOjpQYWdlKiwgVmVjdG9yPFdlYkNvcmU6OgogICAgIEVORF9CTE9D
S19PQkpDX0VYQ0VQVElPTlM7CiB9CiAKK2Jvb2wgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjppc0F1
dG9TdGFydE9yaWdpbihQYWdlKiwgUGx1Z0luT3JpZ2luSGFzaCkKK3sKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKK3ZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjphZGRBdXRvU3RhcnRPcmlnaW4o
UGFnZSosIFBsdWdJbk9yaWdpbkhhc2gpCit7Cit9CisKIGJvb2wgV2ViUGxhdGZvcm1TdHJhdGVn
aWVzOjppc0xpbmtWaXNpdGVkKFBhZ2UqIHBhZ2UsIExpbmtIYXNoIGhhc2gsIGNvbnN0IEtVUkwm
LCBjb25zdCBBdG9taWNTdHJpbmcmKQogewogICAgIHJldHVybiBwYWdlLT5ncm91cCgpLmlzTGlu
a1Zpc2l0ZWQoaGFzaCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L1BsYXRmb3JtU3RyYXRlZ2llc1F0LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQuY3BwCmluZGV4IDVkOWU3NTVkMDJmMTU5YTNmYzNi
NmVlYjUzNzVmZjJiYmMwMTk0ZTAuLjUxMjZhNmU0NzAyODNlMzQzODViOTA2NjI4MjQ4ODc0OGVk
ZDVjZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZv
cm1TdHJhdGVnaWVzUXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
UGxhdGZvcm1TdHJhdGVnaWVzUXQuY3BwCkBAIC0xNTYsNiArMTU2LDE1IEBAIHZvaWQgUGxhdGZv
cm1TdHJhdGVnaWVzUXQ6OmdldFBsdWdpbkluZm8oY29uc3QgV2ViQ29yZTo6UGFnZSogcGFnZSwg
VmVjdG9yPFdlYkNvCiAKIH0KIAorYm9vbCBQbGF0Zm9ybVN0cmF0ZWdpZXNRdDo6aXNBdXRvU3Rh
cnRPcmlnaW4oUGFnZSosIFBsdWdJbk9yaWdpbkhhc2gpCit7CisgICAgcmV0dXJuIGZhbHNlOwor
fQorCit2b2lkIFBsYXRmb3JtU3RyYXRlZ2llc1F0OjphZGRBdXRvU3RhcnRPcmlnaW4oUGFnZSos
IFBsdWdJbk9yaWdpbkhhc2gpCit7Cit9CisKIC8vIFZpc2l0ZWRMaW5rU3RyYXRlZ3kKIAogYm9v
bCBQbGF0Zm9ybVN0cmF0ZWdpZXNRdDo6aXNMaW5rVmlzaXRlZChQYWdlKiBwYWdlLCBMaW5rSGFz
aCBoYXNoLCBjb25zdCBLVVJMJiBiYXNlVVJMLCBjb25zdCBBdG9taWNTdHJpbmcmIGF0dHJpYnV0
ZVVSTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZv
cm1TdHJhdGVnaWVzUXQuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZv
cm1TdHJhdGVnaWVzUXQuaAppbmRleCAyZmU4ZmU2MmNmZTMzYjA5MDEzZjE5NjU0YTNjZTJhNzY4
NDM5NmMyLi41YTBlYjk0ZDk0ZGMxMTY1MmE1ZGJiZmU1M2JkZmI2ZTliMzI0MmNjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1F0
LmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdp
ZXNRdC5oCkBAIC02MCw2ICs2MCw4IEBAIHByaXZhdGU6CiAgICAgLy8gV2ViQ29yZTo6UGx1Z2lu
U3RyYXRlZ3kKICAgICB2aXJ0dWFsIHZvaWQgcmVmcmVzaFBsdWdpbnMoKTsKICAgICB2aXJ0dWFs
IHZvaWQgZ2V0UGx1Z2luSW5mbyhjb25zdCBXZWJDb3JlOjpQYWdlKiwgVmVjdG9yPFdlYkNvcmU6
OlBsdWdpbkluZm8+Jik7CisgICAgdmlydHVhbCBib29sIGlzQXV0b1N0YXJ0T3JpZ2luKFdlYkNv
cmU6OlBhZ2UqLCBXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNoKTsKKyAgICB2aXJ0dWFsIHZvaWQg
YWRkQXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpQbHVnSW5PcmlnaW5I
YXNoKTsKIAogICAgIC8vIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kKICAgICB2aXJ0dWFs
IGJvb2wgaXNMaW5rVmlzaXRlZChXZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6TGlua0hhc2gsIGNv
bnN0IFdlYkNvcmU6OktVUkwmIGJhc2VVUkwsIGNvbnN0IFdURjo6QXRvbWljU3RyaW5nJiBhdHRy
aWJ1dGVVUkwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQv
V2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBw
b3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKaW5kZXggNzVhMDNlMjE5ZmFjZTQzNDM3NzNk
ZTkxOWViMmZiZWU4MGRkZDBjMS4uZDZhMTMyNGZhNjYyMzgyNTQxYTE4MTI0Y2FmMWYyMGI1YTk5
NGI2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxh
dGZvcm1TdHJhdGVnaWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9y
dC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCkBAIC0xMjgsNiArMTI4LDE1IEBAIHZvaWQgV2Vi
UGxhdGZvcm1TdHJhdGVnaWVzOjpnZXRQbHVnaW5JbmZvKGNvbnN0IFdlYkNvcmU6OlBhZ2UqLCBW
ZWN0b3I8V2ViQ29yZTo6CiAgICAgfQogfQogCitib29sIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6
aXNBdXRvU3RhcnRPcmlnaW4oUGFnZSosIFBsdWdJbk9yaWdpbkhhc2gpCit7CisgICAgcmV0dXJu
IGZhbHNlOworfQorCit2b2lkIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6YWRkQXV0b1N0YXJ0T3Jp
Z2luKFBhZ2UqLCBQbHVnSW5PcmlnaW5IYXNoKQoreworfQorCiBib29sIFdlYlBsYXRmb3JtU3Ry
YXRlZ2llczo6aXNMaW5rVmlzaXRlZChQYWdlKiBwYWdlLCBMaW5rSGFzaCBoYXNoLCBjb25zdCBL
VVJMJiwgY29uc3QgQXRvbWljU3RyaW5nJikKIHsKICAgICByZXR1cm4gcGFnZS0+Z3JvdXAoKS5p
c0xpbmtWaXNpdGVkKGhhc2gpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29y
ZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJD
b3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAppbmRleCA5Nzc3Yjg0ODAzYmU4ZjYx
Yjc1N2I3MDg5OWUwYTNlOWM3MWIwMTNkLi5mZjM3MTc4Zjk1ZDVkZDg2NjY5YTQ2Mzk1OTY2OGQ3
NmNiNTBkZGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9X
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3Vw
cG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaApAQCAtNTcsNiArNTcsOCBAQCBwcml2YXRlOgog
ICAgIC8vIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5CiAgICAgdmlydHVhbCB2b2lkIHJlZnJlc2hQ
bHVnaW5zKCk7CiAgICAgdmlydHVhbCB2b2lkIGdldFBsdWdpbkluZm8oY29uc3QgV2ViQ29yZTo6
UGFnZSosIFZlY3RvcjxXZWJDb3JlOjpQbHVnaW5JbmZvPiYpOworICAgIHZpcnR1YWwgYm9vbCBp
c0F1dG9TdGFydE9yaWdpbihXZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFz
aCk7CisgICAgdmlydHVhbCB2b2lkIGFkZEF1dG9TdGFydE9yaWdpbihXZWJDb3JlOjpQYWdlKiwg
V2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFzaCk7CiAKICAgICAvLyBXZWJDb3JlOjpWaXNpdGVkTGlu
a1N0cmF0ZWd5CiAgICAgdmlydHVhbCBib29sIGlzTGlua1Zpc2l0ZWQoV2ViQ29yZTo6UGFnZSos
IFdlYkNvcmU6OkxpbmtIYXNoLCBjb25zdCBXZWJDb3JlOjpLVVJMJiBiYXNlVVJMLCBjb25zdCBX
VEY6OkF0b21pY1N0cmluZyYgYXR0cmlidXRlVVJMKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UuY3BwIGIvU291
cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5j
cHAKaW5kZXggNDI1YjBmM2E4MmIzMzdhYThhMzkzODljMzljOThkZWY5NjdmMjFkNi4uMjJjNmQ1
N2QzY2E3OWQ3YzZkN2Y1NmRiOGQ2NmVkYjZmN2RhZDAzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNX
aW5DRS5jcHAKQEAgLTExNSw2ICsxMTUsMTUgQEAgdm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5D
RTo6Z2V0UGx1Z2luSW5mbyhjb25zdCBQYWdlKiwgVmVjdG9yPFBsdWdpbkluZm8+JiBvdXQKICAg
ICB9CiB9CiAKK2Jvb2wgUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0U6OmlzQXV0b1N0YXJ0T3JpZ2lu
KFBhZ2UqLCBQbHVnSW5PcmlnaW5IYXNoKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9p
ZCBQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRTo6YWRkQXV0b1N0YXJ0T3JpZ2luKFBhZ2UqLCBQbHVn
SW5PcmlnaW5IYXNoKQoreworfQorCiBib29sIFBsYXRmb3JtU3RyYXRlZ2llc1dpbkNFOjppc0xp
bmtWaXNpdGVkKFBhZ2UqIHBhZ2UsIExpbmtIYXNoIGhhc2gsIGNvbnN0IEtVUkwmLCBjb25zdCBB
dG9taWNTdHJpbmcmKQogewogICAgIHJldHVybiBwYWdlLT5ncm91cCgpLmlzTGlua1Zpc2l0ZWQo
aGFzaCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L1Bs
YXRmb3JtU3RyYXRlZ2llc1dpbkNFLmggYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBw
b3J0L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNFLmgKaW5kZXggMmNlNDgyMDNjNjhjNWQ5OWQ2M2Q4
NWQ1OTYzM2JjYTg4ODFkZTMxMS4uMmNmYWIzZDViOTFkZjQ2ZTgzZThmNDBjZjVlMjAxNmRkNTJi
NGM3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9QbGF0
Zm9ybVN0cmF0ZWdpZXNXaW5DRS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1
cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UuaApAQCAtNTMsNiArNTMsOCBAQCBwcml2YXRl
OgogICAgIC8vIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5CiAgICAgdmlydHVhbCB2b2lkIHJlZnJl
c2hQbHVnaW5zKCk7CiAgICAgdmlydHVhbCB2b2lkIGdldFBsdWdpbkluZm8oY29uc3QgV2ViQ29y
ZTo6UGFnZSosIFZlY3RvcjxXZWJDb3JlOjpQbHVnaW5JbmZvPiYpOworICAgIHZpcnR1YWwgYm9v
bCBpc0F1dG9TdGFydE9yaWdpbihXZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6UGx1Z0luT3JpZ2lu
SGFzaCk7CisgICAgdmlydHVhbCB2b2lkIGFkZEF1dG9TdGFydE9yaWdpbihXZWJDb3JlOjpQYWdl
KiwgV2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFzaCk7CiAKICAgICAvLyBXZWJDb3JlOjpWaXNpdGVk
TGlua1N0cmF0ZWd5CiAgICAgdmlydHVhbCBib29sIGlzTGlua1Zpc2l0ZWQoV2ViQ29yZTo6UGFn
ZSosIFdlYkNvcmU6OkxpbmtIYXNoLCBjb25zdCBXZWJDb3JlOjpLVVJMJiwgY29uc3QgV1RGOjpB
dG9taWNTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0
IGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKaW5kZXggMDAzMzk2YTY1N2ZkNDViOGJl
MmM4MjUwZTA5MmNlMmQzZjZmZDIyMC4uMWRmNjE4NzEyNWI4YmYzNzEyMTFmYjc1YzM5OTlkYWZm
ZDY3OTgxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKKysrIGIv
U291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKQEAgLTM2Miw2ICszNjIsNyBAQCBTRVQoV2Vi
S2l0Ml9TT1VSQ0VTCiAgICAgVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9u
TWFuYWdlclByb3h5LmNwcAogICAgIFVJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNh
dGlvblByb3ZpZGVyLmNwcAogCisgICAgVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0
UHJvdmlkZXIuY3BwCiAgICAgVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmNwcAog
ICAgIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmNwcAogICAgIFVJUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5s
aXN0LmFtCmluZGV4IGFiNTIzZWYzZjNiYjM3ZWUyNTQ3OWIyZTFhNWYwZDVjODA1MzQ0YTEuLjMy
YTc2MTk5YzZjZWVjNmMwZmFiZDI2ZGRhZjJmYzllZjk1YjRiMTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYktpdDIvR05VbWFr
ZWZpbGUubGlzdC5hbQpAQCAtNDI4LDYgKzQyOCw3IEBAIHdlYmtpdDJfc291cmNlcyArPSBcCiAJ
U291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBSZW1vdGVPYmplY3RNYXAuaCBcCiAJU291
cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBWYXJpYW50RGF0YS5jcHAgXAogCVNvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QVmFyaWFudERhdGEuaCBcCisJU291cmNlL1dlYktpdDIv
U2hhcmVkL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0VGFibGUuaCBcCiAJU291cmNlL1dlYktpdDIv
U2hhcmVkL1BsdWdpbnMvUGx1Z2luTW9kdWxlSW5mby5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1No
YXJlZC9QbHVnaW5zL1BsdWdpbk1vZHVsZUluZm8uaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVk
L1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgXApAQCAtODE0LDYg
KzgxNSw4IEBAIHdlYmtpdDJfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuY3BwIFwKIAlTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25Qcm92aWRlci5oIFwK
IAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIFwKKwlTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRQcm92aWRlci5jcHAgXAorCVNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmggXAog
CVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5jcHAgXAog
CVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5oIFwKIAlT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5jcHAg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z0luQXV0b1N0
YXJ0VGFibGUuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdJbkF1dG9TdGFy
dFRhYmxlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZGQ0MTc5NjExNDdkMjViMGZjNmE1NGZlZmE2Yjc1ZGJmOTZh
MjA0MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1Bs
dWdJbkF1dG9TdGFydFRhYmxlLmgKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKworI2lm
bmRlZiBQbHVnSW5BdXRvU3RhcnRUYWJsZV9oCisjZGVmaW5lIFBsdWdJbkF1dG9TdGFydFRhYmxl
X2gKKworI2luY2x1ZGUgPFdlYkNvcmUvUGx1Z0luT3JpZ2luSGFzaC5oPgorI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit0eXBlZGVmIEhhc2hTZXQ8V2Vi
Q29yZTo6UGx1Z0luT3JpZ2luSGFzaD4gUGx1Z0luQXV0b1N0YXJ0VGFibGU7CisKK30KKworI2Vu
ZGlmIC8qIFBsdWdJbkF1dG9TdGFydFRhYmxlX2ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCmluZGV4IDA5OGI1Yjk1
NDNmNWZkZmI5YjhhOTMxYTEyODI3OTFlNmE5NzU2OTEuLmI4ZjM1MDU2Nzk4YmE2MzljMTA0NTFl
ZTBlNjI1ODYzMTJkZTkwY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkK
KysrIGIvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaQpAQCAtMTQyLDYgKzE0Miw3IEBAIEhFQURF
UlMgKz0gXAogICAgIFNoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmggXAog
ICAgIFNoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaCBcCiAgICAgU2hhcmVkL1BsdWdpbnMv
TlBWYXJpYW50RGF0YS5oIFwKKyAgICBTaGFyZWQvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRUYWJs
ZS5oIFwKICAgICBTaGFyZWQvUGx1Z2lucy9QbHVnaW5Nb2R1bGVJbmZvLmggXAogICAgIFNoYXJl
ZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBcCiAgICAgU2hhcmVk
L1BsdWdpbnMvUGx1Z2luUXVpcmtzLmggXApAQCAtMjI3LDYgKzIyOCw3IEBAIEhFQURFUlMgKz0g
XAogICAgIFVJUHJvY2Vzcy9QYWdlQ2xpZW50LmggXAogICAgIFVJUHJvY2Vzcy9QYWdlVmlld3Bv
cnRDb250cm9sbGVyLmggXAogICAgIFVJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyQ2xp
ZW50LmggXAorICAgIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmgg
XAogICAgIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5oIFwKICAgICBVSVByb2Nl
c3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuaCBcCiAgICAgVUlQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luUHJvY2Vzc01hbmFnZXIuaCBcCkBAIC01ODMsNiArNTg1LDcgQEAgU09VUkNFUyArPSBc
CiAgICAgVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5
LmNwcCBcCiAgICAgVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uUHJvdmlk
ZXIuY3BwIFwKICAgICBVSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJvbGxlci5jcHAgXAorICAg
IFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcCBcCiAgICAgVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmNwcCBcCiAgICAgVUlQcm9jZXNzL1BsdWdp
bnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcCBcCiAgICAgVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2lu
UHJvY2Vzc01hbmFnZXIuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
ODcwNmFjNjdmZGYwMTYyOTliYjA1NWUxMzI4NzM4YjY0MTIzYjQ5Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlk
ZXIuY3BwCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCIKKworI2luY2x1ZGUgIldlYkNv
bnRleHQuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzTWVzc2FnZXMuaCIKKwordXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitQbHVnSW5BdXRvU3RhcnRQcm92
aWRlcjo6UGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIoV2ViQ29udGV4dCogY29udGV4dCkKKyAgICA6
IG1fY29udGV4dChjb250ZXh0KQoreworfQorCit2b2lkIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVy
OjphZGRBdXRvU3RhcnRPcmlnaW4oUGx1Z0luT3JpZ2luSGFzaCBoYXNoKQoreworICAgIGlmICht
X2F1dG9TdGFydFRhYmxlLmNvbnRhaW5zKGhhc2gpKQorICAgICAgICByZXR1cm47CisgICAgbV9h
dXRvU3RhcnRUYWJsZS5hZGQoaGFzaCk7CisgICAgbV9jb250ZXh0LT5zZW5kVG9BbGxQcm9jZXNz
ZXMoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlBsdWdJbkF1dG9TdGFydE9yaWdpbkNoYW5nZWQoaGFz
aCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRQcm92aWRlci5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgxNDg2MzIyYjNlMGJmY2ZhNmE3YTAzYzQxOTI0ZDY3ZDAzMjA4MTMKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRvU3Rh
cnRQcm92aWRlci5oCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFBsdWdJ
bkF1dG9TdGFydFByb3ZpZGVyX2gKKyNkZWZpbmUgUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXJfaAor
CisjaW5jbHVkZSAiUGx1Z0luQXV0b1N0YXJ0VGFibGUuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1Bs
dWdJbk9yaWdpbkhhc2guaD4KKyNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJDb250ZXh0
OworCitjbGFzcyBQbHVnSW5BdXRvU3RhcnRQcm92aWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIpOworcHVibGljOgorICAgIGV4cGxpY2l0IFBs
dWdJbkF1dG9TdGFydFByb3ZpZGVyKFdlYkNvbnRleHQqKTsKKworICAgIHZvaWQgYWRkQXV0b1N0
YXJ0T3JpZ2luKFdlYkNvcmU6OlBsdWdJbk9yaWdpbkhhc2gpOworCitwcml2YXRlOgorICAgIFdl
YkNvbnRleHQqIG1fY29udGV4dDsKKyAgICBQbHVnSW5BdXRvU3RhcnRUYWJsZSBtX2F1dG9TdGFy
dFRhYmxlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvKiBQbHVnSW5B
dXRvU3RhcnRQcm92aWRlcl9oICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5j
cHAKaW5kZXggM2Y4MThkMWMxOGI1Mzg2MGNmODc0MmQ0NGM5OWMzODA3N2FiMWU4MS4uOWIyMmNh
M2M3ZmQ5ZjBmZmM0Nzk3YzEwYTYwODYyOTY5MjIzOGQ4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJDb250ZXh0LmNwcApAQCAtMTIwLDYgKzEyMCw3IEBAIFdlYkNvbnRleHQ6OldlYkNv
bnRleHQoUHJvY2Vzc01vZGVsIHByb2Nlc3NNb2RlbCwgY29uc3QgU3RyaW5nJiBpbmplY3RlZEJ1
bmRsZVBhCiAgICAgLCBtX2RlZmF1bHRQYWdlR3JvdXAoV2ViUGFnZUdyb3VwOjpjcmVhdGUoKSkK
ICAgICAsIG1faW5qZWN0ZWRCdW5kbGVQYXRoKGluamVjdGVkQnVuZGxlUGF0aCkKICAgICAsIG1f
dmlzaXRlZExpbmtQcm92aWRlcih0aGlzKQorICAgICwgbV9wbHVnSW5BdXRvU3RhcnRQcm92aWRl
cih0aGlzKQogICAgICwgbV9hbHdheXNVc2VzQ29tcGxleFRleHRDb2RlUGF0aChmYWxzZSkKICAg
ICAsIG1fc2hvdWxkVXNlRm9udFNtb290aGluZyh0cnVlKQogICAgICwgbV9jYWNoZU1vZGVsKENh
Y2hlTW9kZWxEb2N1bWVudFZpZXdlcikKQEAgLTEwMjUsNCArMTAyNiw5IEBAIHZvaWQgV2ViQ29u
dGV4dDo6c2V0SmF2YVNjcmlwdEdhcmJhZ2VDb2xsZWN0b3JUaW1lckVuYWJsZWQoYm9vbCBmbGFn
KQogICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6U2V0SmF2YVNj
cmlwdEdhcmJhZ2VDb2xsZWN0b3JUaW1lckVuYWJsZWQoZmxhZykpOwogfQogCit2b2lkIFdlYkNv
bnRleHQ6OmFkZFBsdWdJbkF1dG9TdGFydE9yaWdpbkhhc2goV2ViQ29yZTo6UGx1Z0luT3JpZ2lu
SGFzaCBoYXNoKQoreworICAgIG1fcGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuYWRkQXV0b1N0YXJ0
T3JpZ2luKGhhc2gpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViQ29udGV4dC5oCmluZGV4IDJjZjdiYjUwN2NlMGNlYjAyYTFhYTU5MTE0YTY4OGYx
NzgwMzQ5MWQuLmEzNmNhOGRmODU5M2IyNDhhOTI0NmY3YjliNDE4MzZlMjFjYzlhNWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1
ZGUgIkdlbmVyaWNDYWxsYmFjay5oIgogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2lu
Y2x1ZGUgIk1lc3NhZ2VSZWNlaXZlck1hcC5oIgorI2luY2x1ZGUgIlBsdWdJbkF1dG9TdGFydFBy
b3ZpZGVyLmgiCiAjaW5jbHVkZSAiUGx1Z2luSW5mb1N0b3JlLmgiCiAjaW5jbHVkZSAiUHJvY2Vz
c01vZGVsLmgiCiAjaW5jbHVkZSAiVmlzaXRlZExpbmtQcm92aWRlci5oIgpAQCAtMzksNiArNDAs
NyBAQAogI2luY2x1ZGUgIldlYkhpc3RvcnlDbGllbnQuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNz
UHJveHkuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0xpbmtIYXNoLmg+CisjaW5jbHVkZSA8V2ViQ29y
ZS9QbHVnSW5PcmlnaW5IYXNoLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRl
IDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkBAIC0zMTAsNiAr
MzEyLDggQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCByZWdpc3Rlck9jY2x1c2lvbk5vdGlm
aWNhdGlvbkhhbmRsZXJzKCk7CiAjZW5kaWYKIAorICAgIHZvaWQgYWRkUGx1Z0luQXV0b1N0YXJ0
T3JpZ2luSGFzaChXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNoKTsKKwogICAgIFByb2Nlc3NNb2Rl
bCBtX3Byb2Nlc3NNb2RlbDsKICAgICAKICAgICBWZWN0b3I8UmVmUHRyPFdlYlByb2Nlc3NQcm94
eT4gPiBtX3Byb2Nlc3NlczsKQEAgLTMyOSw2ICszMzMsNyBAQCBwcml2YXRlOgogICAgIFBsdWdp
bkluZm9TdG9yZSBtX3BsdWdpbkluZm9TdG9yZTsKICNlbmRpZgogICAgIFZpc2l0ZWRMaW5rUHJv
dmlkZXIgbV92aXNpdGVkTGlua1Byb3ZpZGVyOworICAgIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVy
IG1fcGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXI7CiAgICAgICAgIAogICAgIEhhc2hTZXQ8U3RyaW5n
PiBtX3NjaGVtZXNUb1JlZ2lzdGVyQXNFbXB0eURvY3VtZW50OwogICAgIEhhc2hTZXQ8U3RyaW5n
PiBtX3NjaGVtZXNUb1JlZ2lzdGVyQXNTZWN1cmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJDb250ZXh0Lm1lc3NhZ2VzLmluCmluZGV4IDI2NjRhNWY0ZmZlNjc4MWQ1ZGFkYTNh
NDI4YzFmN2U5NmU2MWE5ZTQuLmY2MjQ5YjMwNGZkNTgwNmNmNzE0ZDgyZWY3ZmQyY2Q0MjlhNDk3
YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0Lm1lc3Nh
Z2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0Lm1lc3NhZ2Vz
LmluCkBAIC01MSw0ICs1MSw3IEBAIG1lc3NhZ2VzIC0+IFdlYkNvbnRleHQgewogICAgIC8vIGFu
eSBzeW5jaHJvbm91cyBtZXNzYWdlcywgYW5kIHNob3VsZCBiZSByZW1vdmVkIHdoZW4gPHJkYXI6
Ly9wcm9ibGVtLzg3NzUxMTU+IGlzIGZpeGVkLgogICAgIER1bW15KCkgLT4gKGJvb2wgZHVtbXlS
ZXR1cm4pCiAjZW5kaWYKKworICAgICMgUGx1Zy1pbiBtZXNzYWdlcy4KKyAgICB2b2lkIEFkZFBs
dWdJbkF1dG9TdGFydE9yaWdpbkhhc2godWludDY0X3QgaGFzaCkKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9X
ZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAxZGIzNmU3ZGY2
Y2E4NDhjMWU4ZTc5MTBjOGZmZTc1ZWRmNDY5OTIwLi4wNjdkYTEzNGE4NjE2ZDAyOTY4ZWY1OWZl
NzVmNWE0N2FiNGJmMDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zMjEsNiArMzIxLDkgQEAKIAkJMzFBMkVDNTYxNDg5OUMw
OTAwODEwRDcxIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUEyRUM1MzE0ODk5ODI1MDA4MTBE
NzEgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuaCAqLzsgfTsKIAkJMzFBMkVDNzQx
NDhENTlDQTAwODEwRDcxIC8qIFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQTJFQzcyMTQ4RDU5
QkIwMDgxMEQ3MSAvKiBXS05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMzFBMkVDNzcxNDhENjYy
RTAwODEwRDcxIC8qIFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFBMkVDNzUxNDhENjVCQjAw
ODEwRDcxIC8qIFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuY3BwICovOyB9OworCQkz
MUE2N0UwQzE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFBNjdFMEExNjVC
MkE5OTAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcCAqLzsgfTsKKwkJMzFB
NjdFMEQxNjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUE2N0UwQjE2NUIyQTk5
MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCAqLzsgfTsKKwkJMzFBNjdFMTIx
NjVCOTFFQzAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFRhYmxlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUE2N0UxMDE2NUI5MUVDMDA2Q0JBNjYg
LyogUGx1Z0luQXV0b1N0YXJ0VGFibGUuaCAqLzsgfTsKIAkJMzFCQTkyNEQxNDg4MzEyNjAwNjJF
REI1IC8qIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFCQTkyNDgxNDg4MzA4MTAw
NjJFREI1IC8qIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9
OwogCQkzMUJBOTI0RTE0ODgzMTI2MDA2MkVEQjUgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlck1l
c3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
MUJBOTI0OTE0ODgzMDgxMDA2MkVEQjUgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2Vz
LmggKi87IH07CiAJCTMxRUEyNUQyMTM0Rjc4QzAwMDVCMTQ1MiAvKiBOYXRpdmVXZWJNb3VzZUV2
ZW50TWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MzFFQTI1RDAxMzRGNzhCMjAwNUIxNDUyIC8qIE5hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW0gKi87
IH07CkBAIC0xNTQ1LDYgKzE1NDgsOSBAQAogCQkzMUEyRUM1NDE0ODk5ODJFMDA4MTBENzEgLyog
Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkzMUEyRUM3MjE0OEQ1OUJCMDA4MTBENzEgLyogV0tOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS05vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQTJF
Qzc1MTQ4RDY1QkIwMDgxMEQ3MSAvKiBXS05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLTm90aWZpY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUE2N0Uw
QTE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUE2N0UwQjE2NUIyQTk5MDA2Q0JBNjYg
LyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMzFBNjdFMTAxNjVCOTFFQzAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFRhYmxlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsdWdJbkF1dG9TdGFydFRhYmxlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQkE5MjQ4MTQ4ODMwODEwMDYyRURCNSAv
KiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlUmVj
ZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUJBOTI0OTE0ODgzMDgx
MDA2MkVEQjUgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlcy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUVBMjVEMDEzNEY3OEIyMDA1QjE0NTIgLyog
TmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IE5hdGl2ZVdl
Yk1vdXNlRXZlbnRNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yOTA2LDYg
KzI5MTIsNyBAQAogCQkJCTFBMUZBMjUxMTI3QTBFNEYwMDUwRTcwOSAvKiBOUFJlbW90ZU9iamVj
dE1hcC5oICovLAogCQkJCTFBMkQ4NEEyMTI3RjZBRDEwMDFFQjk2MiAvKiBOUFZhcmlhbnREYXRh
LmNwcCAqLywKIAkJCQkxQTJEODRBMTEyN0Y2QUQxMDAxRUI5NjIgLyogTlBWYXJpYW50RGF0YS5o
ICovLAorCQkJCTMxQTY3RTEwMTY1QjkxRUMwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRUYWJs
ZS5oICovLAogCQkJCTFBM0Q2MEZGMTNBN0NDMkEwMEY5NUQ0RSAvKiBQbHVnaW5Nb2R1bGVJbmZv
LmNwcCAqLywKIAkJCQkxQTNENjEwMDEzQTdDQzJBMDBGOTVENEUgLyogUGx1Z2luTW9kdWxlSW5m
by5oICovLAogCQkJCTFBMkQ5MEQxMTI4MUM5NjYwMDFFQjk2MiAvKiBQbHVnaW5Qcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmNwcCAqLywKQEAgLTI5NzUsNiArMjk4Miw4IEBACiAJCQlpc2EgPSBQ
QlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCTFBRUZDQzBEMTFEMDFGNDEwMDgyMTlEMyAv
KiBtYWMgKi8sCisJCQkJMzFBNjdFMEExNjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFy
dFByb3ZpZGVyLmNwcCAqLywKKwkJCQkzMUE2N0UwQjE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0lu
QXV0b1N0YXJ0UHJvdmlkZXIuaCAqLywKIAkJCQkxQUVGQ0MxMTExRDAxRjk2MDA4MjE5RDMgLyog
UGx1Z2luSW5mb1N0b3JlLmNwcCAqLywKIAkJCQkxQUVGQ0MxMDExRDAxRjk2MDA4MjE5RDMgLyog
UGx1Z2luSW5mb1N0b3JlLmggKi8sCiAJCQkJMUEwRUM2MDIxMjRBOUYyQzAwN0VGNEE1IC8qIFBs
dWdpblByb2Nlc3NNYW5hZ2VyLmNwcCAqLywKQEAgLTUwMDIsNiArNTAxMSw4IEBACiAJCQkJMjk4
NEY1ODkxNjRCQTA5NTAwNEJDMEM2IC8qIEN1c3RvbVByb3RvY29sTWFuYWdlck1lc3NhZ2VzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1MUYwNjBFMDE2NTQzMTdGMDBGMzI4MUIgLyogV2ViUmVzb3Vy
Y2VMb2FkZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE3NTk0NEIxNjU3MDgwNDAw
REQ3NzFEIC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywK
KwkJCQkzMUE2N0UwRDE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIu
aCBpbiBIZWFkZXJzICovLAorCQkJCTMxQTY3RTEyMTY1QjkxRUMwMDZDQkE2NiAvKiBQbHVnSW5B
dXRvU3RhcnRUYWJsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxv
eW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC01OTU2LDYgKzU5NjcsNyBAQAogCQkJ
CTI5ODRGNTg4MTY0QkEwOTUwMDRCQzBDNiAvKiBDdXN0b21Qcm90b2NvbE1hbmFnZXJNZXNzYWdl
UmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFC
IC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTUxNzU5NDRBMTY1NzA4MDQwMERENzcxRCAvKiBOZXR3b3JrUmVzb3VyY2VMb2FkZXJNZXNz
YWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMzFBNjdFMEMxNjVCMkE5OTAwNkNC
QTY2IC8qIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsK
IAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9y
bVN0cmF0ZWdpZXMuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCmluZGV4IGMwNDY2NDQzOThmM2IxZWUxZTQ4NDA4
MWYzNjAxYzI4YTEzYjhkYTQuLmFlOTBiMzk5NDQyNTNmZmMzOGJmYTEyMzk0ODc2MjMzOGZiMmZi
ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKQEAgLTE1MSw2ICsxNTEs
MTYgQEAgdm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmdldFBsdWdpbkluZm8oY29uc3QgV2Vi
Q29yZTo6UGFnZSosIFZlY3RvcjxXZWJDb3JlOjoKICNlbmRpZiAvLyBFTkFCTEUoTkVUU0NBUEVf
UExVR0lOX0FQSSkKIH0KIAorYm9vbCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmlzQXV0b1N0YXJ0
T3JpZ2luKFBhZ2UqLCBQbHVnSW5PcmlnaW5IYXNoIGhhc2gpCit7CisgICAgcmV0dXJuIFdlYlBy
b2Nlc3M6OnNoYXJlZCgpLmlzUGx1Z0luQXV0b1N0YXJ0T3JpZ2luKGhhc2gpOworfQorCit2b2lk
IFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6YWRkQXV0b1N0YXJ0T3JpZ2luKFBhZ2UqLCBQbHVnSW5P
cmlnaW5IYXNoIGhhc2gpCit7CisgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuYWRkUGx1Z0luQXV0
b1N0YXJ0T3JpZ2luKGhhc2gpOworfQorCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkp
CiBzdGF0aWMgQmxvY2tpbmdSZXNwb25zZU1hcDxWZWN0b3I8V2ViQ29yZTo6UGx1Z2luSW5mbz4g
PiYgcmVzcG9uc2VNYXAoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKaW5kZXgg
MDQwY2ZiMWE5YTYzZWVmOTA3OTFmMGYzYzU2OWRiYTI2YjJhZjEwMy4uZjQ2Yzc0ZGQ1YjlmOGVh
NDJkNzU4NWYyYTNkNmM0MmNkNzBiNDJmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2ll
cy5oCkBAIC02Nyw2ICs2Nyw4IEBAIHByaXZhdGU6CiAgICAgLy8gV2ViQ29yZTo6UGx1Z2luU3Ry
YXRlZ3kKICAgICB2aXJ0dWFsIHZvaWQgcmVmcmVzaFBsdWdpbnMoKSBPVkVSUklERTsKICAgICB2
aXJ0dWFsIHZvaWQgZ2V0UGx1Z2luSW5mbyhjb25zdCBXZWJDb3JlOjpQYWdlKiwgVmVjdG9yPFdl
YkNvcmU6OlBsdWdpbkluZm8+JikgT1ZFUlJJREU7CisgICAgdmlydHVhbCBib29sIGlzQXV0b1N0
YXJ0T3JpZ2luKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNoKSBPVkVS
UklERTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkQXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6OlBhZ2Uq
LCBXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNoKSBPVkVSUklERTsKIAogICAgIC8vIFdlYkNvcmU6
OlZpc2l0ZWRMaW5rU3RyYXRlZ3kKICAgICB2aXJ0dWFsIGJvb2wgaXNMaW5rVmlzaXRlZChXZWJD
b3JlOjpQYWdlKiwgV2ViQ29yZTo6TGlua0hhc2gsIGNvbnN0IFdlYkNvcmU6OktVUkwmIGJhc2VV
UkwsIGNvbnN0IFdURjo6QXRvbWljU3RyaW5nJiBhdHRyaWJ1dGVVUkwpIE9WRVJSSURFOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggMjhiN2JmZDdiMDIzNjZm
MzQwZjI0NzFlMDc3YzM2OTBmMmFhOGI2ZC4uYjJmMjBkYjk3ZWQzZmY1NTEzNTNkMDg3MzNmYzk0
Y2U1YzI1NjI1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBA
IC05MTIsNyArOTEyLDI1IEBAIHZvaWQgV2ViUHJvY2Vzczo6Y2xlYXJQbHVnaW5TaXRlRGF0YShj
b25zdCBWZWN0b3I8U3RyaW5nPiYgcGx1Z2luUGF0aHMsIGNvbnN0IFZlCiAgICAgY29ubmVjdGlv
bigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkRpZENsZWFyUGx1Z2luU2l0ZURh
dGEoY2FsbGJhY2tJRCksIDApOwogfQogI2VuZGlmCi0gICAgCisKK2Jvb2wgV2ViUHJvY2Vzczo6
aXNQbHVnSW5BdXRvU3RhcnRPcmlnaW4oUGx1Z0luT3JpZ2luSGFzaCBoYXNoKQoreworICAgIHJl
dHVybiBtX2F1dG9TdGFydFRhYmxlLmNvbnRhaW5zKGhhc2gpOworfQorCit2b2lkIFdlYlByb2Nl
c3M6OmFkZFBsdWdJbkF1dG9TdGFydE9yaWdpbihQbHVnSW5PcmlnaW5IYXNoIGhhc2gpCit7Cisg
ICAgaWYgKGlzUGx1Z0luQXV0b1N0YXJ0T3JpZ2luKGhhc2gpKQorICAgICAgICByZXR1cm47CisK
KyAgICBjb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYkNvbnRleHQ6OkFkZFBsdWdJbkF1
dG9TdGFydE9yaWdpbkhhc2goaGFzaCksIDApOworfQorCit2b2lkIFdlYlByb2Nlc3M6OnBsdWdJ
bkF1dG9TdGFydE9yaWdpbkNoYW5nZWQoUGx1Z0luT3JpZ2luSGFzaCBoYXNoKQoreworICAgIG1f
YXV0b1N0YXJ0VGFibGUuYWRkKGhhc2gpOworfQorCiBzdGF0aWMgdm9pZCBmcm9tQ291bnRlZFNl
dFRvSGFzaE1hcChUeXBlQ291bnRTZXQqIGNvdW50ZWRTZXQsIEhhc2hNYXA8U3RyaW5nLCB1aW50
NjRfdD4mIG1hcCkKIHsKICAgICBUeXBlQ291bnRTZXQ6OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IGNv
dW50ZWRTZXQtPmVuZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRl
eCA4MmU2Y2M4ZjJhYjFlOGUwM2Q4Y2U0YTQ5MjgxNGYzOTc3Njc4OTVkLi40M2M3MGUzNjY4OTVh
YzIyNDgzOWYzMDdiMzc3NGJmMjRkM2U1MDlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuaApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkRyYXdpbmdBcmVhLmgiCiAj
aW5jbHVkZSAiRXZlbnREaXNwYXRjaGVyLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyTWFw
LmgiCisjaW5jbHVkZSAiUGx1Z0luQXV0b1N0YXJ0VGFibGUuaCIKICNpbmNsdWRlICJQbHVnaW5J
bmZvU3RvcmUuaCIKICNpbmNsdWRlICJSZXNvdXJjZUNhY2hlc1RvQ2xlYXIuaCIKICNpbmNsdWRl
ICJTYW5kYm94RXh0ZW5zaW9uLmgiCkBAIC00Miw2ICs0Myw3IEBACiAjaW5jbHVkZSAiV2ViSWNv
bkRhdGFiYXNlUHJveHkuaCIKICNpbmNsdWRlICJXZWJQYWdlR3JvdXBQcm94eS5oIgogI2luY2x1
ZGUgPFdlYkNvcmUvTGlua0hhc2guaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BsdWdJbk9yaWdpbkhh
c2guaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+
CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KQEAgLTE1Miw2ICsxNTQsOSBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBhZGRWaXNpdGVkTGluayhXZWJDb3JlOjpMaW5rSGFzaCk7CiAgICAgYm9vbCBpc0xp
bmtWaXNpdGVkKFdlYkNvcmU6OkxpbmtIYXNoKSBjb25zdDsKIAorICAgIGJvb2wgaXNQbHVnSW5B
dXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFzaCk7CisgICAgdm9pZCBhZGRQ
bHVnSW5BdXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFzaCk7CisKICAgICBi
b29sIGZ1bGxLZXlib2FyZEFjY2Vzc0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2Z1bGxLZXli
b2FyZEFjY2Vzc0VuYWJsZWQ7IH0KIAogICAgIFdlYkZyYW1lKiB3ZWJGcmFtZSh1aW50NjRfdCkg
Y29uc3Q7CkBAIC0yMzYsNiArMjQxLDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHZpc2l0ZWRMaW5r
U3RhdGVDaGFuZ2VkKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpMaW5rSGFzaD4mIGxpbmtIYXNoZXMp
OwogICAgIHZvaWQgYWxsVmlzaXRlZExpbmtTdGF0ZUNoYW5nZWQoKTsKIAorICAgIHZvaWQgcGx1
Z0luQXV0b1N0YXJ0T3JpZ2luQ2hhbmdlZChXZWJDb3JlOjpQbHVnSW5PcmlnaW5IYXNoKTsKKwog
ICAgIHZvaWQgcGxhdGZvcm1TZXRDYWNoZU1vZGVsKENhY2hlTW9kZWwpOwogICAgIHN0YXRpYyB2
b2lkIGNhbGN1bGF0ZUNhY2hlU2l6ZXMoQ2FjaGVNb2RlbCBjYWNoZU1vZGVsLCB1aW50NjRfdCBt
ZW1vcnlTaXplLCB1aW50NjRfdCBkaXNrRnJlZVNpemUsCiAgICAgICAgIHVuc2lnbmVkJiBjYWNo
ZVRvdGFsQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1pbkRlYWRDYXBhY2l0eSwgdW5zaWduZWQm
IGNhY2hlTWF4RGVhZENhcGFjaXR5LCBkb3VibGUmIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50
ZXJ2YWwsCkBAIC0zMjgsNiArMzM1LDggQEAgcHJpdmF0ZToKICAgICBWaXNpdGVkTGlua1RhYmxl
IG1fdmlzaXRlZExpbmtUYWJsZTsKICAgICBib29sIG1fc2hvdWxkVHJhY2tWaXNpdGVkTGlua3M7
CiAKKyAgICBQbHVnSW5BdXRvU3RhcnRUYWJsZSBtX2F1dG9TdGFydFRhYmxlOworCiAgICAgYm9v
bCBtX2hhc1NldENhY2hlTW9kZWw7CiAgICAgQ2FjaGVNb2RlbCBtX2NhY2hlTW9kZWw7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5p
biBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRl
eCBlZGNhZDM0ZmYzN2NlYTdhZDEzNWQ2ZDI2NDQyZTFkZWM0ODhkMzA2Li5hNjBmZjMzZTJjZjRj
ZGZjMGY2ZjdlM2ExYWI0NWJmNjcwZWU4YWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC02Myw2ICs2Myw3IEBAIG1lc3NhZ2Vz
IC0+IFdlYlByb2Nlc3MgewogICAgIEdldFNpdGVzV2l0aFBsdWdpbkRhdGEoVmVjdG9yPFdURjo6
U3RyaW5nPiBwbHVnaW5QYXRocywgdWludDY0X3QgY2FsbGJhY2tJRCkKICAgICBDbGVhclBsdWdp
blNpdGVEYXRhKFZlY3RvcjxXVEY6OlN0cmluZz4gcGx1Z2luUGF0aHMsIFZlY3RvcjxXVEY6OlN0
cmluZz4gc2l0ZXMsIHVpbnQ2NF90IGZsYWdzLCB1aW50NjRfdCBtYXhBZ2VJblNlY29uZHMsIHVp
bnQ2NF90IGNhbGxiYWNrSUQpCiAjZW5kaWYKKyAgICBQbHVnSW5BdXRvU3RhcnRPcmlnaW5DaGFu
Z2VkKHVpbnQ2NF90IGhhc2gpCiAKICNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQogICAgIE5l
dHdvcmtQcm9jZXNzQ3Jhc2hlZCgpIERpc3BhdGNoT25Db25uZWN0aW9uUXVldWUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvaiBiL1NvdXJjZS9XZWJLaXQyL3dp
bi9XZWJLaXQyLnZjcHJvagppbmRleCAwNTdjYmYzZGIzNmZlODNkY2I1Mzk2OGQwMDBhNmVlNzQ5
MTljNTliLi45MWNkZDM4ZmFhZDVhNzdmZTM5NDA1NDMwMDZlNmM1MWY3ODE0MDc2IDEwMDc1NQot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKKysrIGIvU291cmNlL1dlYktp
dDIvd2luL1dlYktpdDIudmNwcm9qCkBAIC0xNTU4LDYgKzE1NTgsMTAgQEAKIAkJCQlOYW1lPSJQ
bHVnaW5zIgogCQkJCT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFNoYXJlZFxQ
bHVnaW5zXFBsdWdJbkF1dG9TdGFydFRhYmxlLmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJ
PEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxTaGFyZWRcUGx1Z2luc1xQbHVnaW5Nb2R1bGVJ
bmZvLmNwcCIKIAkJCQkJPgogCQkJCTwvRmlsZT4KQEAgLTM4NjYsNiArMzg3MCwxNCBAQAogCQkJ
CU5hbWU9IlBsdWdpbnMiCiAJCQkJPgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5c
VUlQcm9jZXNzXFBsdWdpbnNcUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwIgorCQkJCQk+CisJ
CQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9jZXNzXFBs
dWdpbnNcUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJ
CQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xQbHVnaW5zXFBsdWdpbklu
Zm9TdG9yZS5jcHAiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176817</attachid>
            <date>2012-11-29 14:26:47 -0800</date>
            <delta_ts>2012-12-07 01:38:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103206-20121129142420.patch</filename>
            <type>text/plain</type>
            <size>34477</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzJjODU4YjMxNTMxM2M2
YTNmZmRjOTEzZjBjODZkZTU3Y2M5ZmZjNy4uMTk2ODU5MDM3M2ZhOGMwNzgzMWM5MDVmNjA2Yzdm
ZmVkM2NmZTJhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQwIEBACiAyMDEyLTExLTI5ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KIAorICAgICAgICBLZWVwIHRyYWNrIG9mIHBsdWctaW4g
c25hcHNob3RzIGNsaWNrZWQgYnkgdXNlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjc0NjQ4
Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCZXR3
ZWVuIHRoZSBVSSBhbmQgd2ViIHByb2Nlc3NlcyB3ZSBrZWVwIHRyYWNrIG9mICJvcmlnaW4gaGFz
aGVzIiwgd2hpY2ggYXJlIGJhc2VkIG9uIGEgY29tYmluYXRpb24gb2YKKyAgICAgICAgdGhlIGJh
c2UgZG9tYWlucyBvZiB0aGUgcGFnZSdzIG1haW4gZnJhbWUgYW5kIHRoZSBwbHVnaW4uCisKKyAg
ICAgICAgQmVjYXVzZSB0aGUgYWN0dWFsIFVSTCBsb2FkZWQgZm9yIHRoZSBwbHVnaW4gbWlnaHQg
ZGlmZmVyIGZyb20gdGhlIG9uZSBvcmlnaW5hbGx5IHNwZWNpZmllZCwKKyAgICAgICAgd2Ugd2Fp
dCB1bnRpbCB0aGUgcGx1Zy1pbiBpcyBhYm91dCB0byBiZSBjcmVhdGVkIHRvIGdldCB0aGUgaGFz
aC4gVGhlIGhhc2ggaXMgY2FjaGVkLCBzbyB0aGF0IHdoZW4gdGhlCisgICAgICAgIHVzZXIgY2xp
Y2tzIG9uIHRoZSBwbHVnLWluIHNuYXBzaG90LCB0aGUgaGFzaCBjYW4gYmUgYWRkZWQgdG8gdGhl
IGxpc3Qgb2YgZG9tYWluIGhhc2hlcyB0aGF0IHNob3VsZAorICAgICAgICBhdXRvLXN0YXJ0Lgor
CisgICAgICAgICogaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQpOiBJ
bml0aWFsbHkgdGhlIGhhc2ggaXMgdW5rbm93bi4gU2V0IHRvIDAuCisgICAgICAgIE1vdmUgdGhl
IGNoZWNrIGZvciB3aGV0aGVyIHRvIHNuYXBzaG90IHRoZSBwbHVnaW4gaW50byB0aGUgbmV3IGZ1
bmN0aW9uIHN1YmZyYW1lTG9hZGVyV2lsbExvYWRQbHVnSW4uCisgICAgICAgIChXZWJDb3JlOjpI
VE1MUGx1Z0luSW1hZ2VFbGVtZW50Ojp1c2VyRGlkQ2xpY2tTbmFwc2hvdCk6IFJlbmFtZSBzZXRQ
ZW5kaW5nQ2xpY2tFdmVudCgpIHRvCisgICAgICAgIHVzZXJEaWRDbGlja1NuYXBzaG90LiBJbiBh
ZGRpdGlvbiB0byBob2xkaW5nIG9udG8gdGhlIGNsaWNrIGV2ZW50IHVzZWQgdG8gYWN0aXZhdGUg
dGhlIHBsdWctaW4sIHRoZQorICAgICAgICBmdW5jdGlvbiBub3cgYWxzbyB0ZWxscyB0aGUgcGx1
Z2luIHN0cmF0ZWd5IHRvIGFkZCB0aGUgb3JpZ2luIGhhc2ggYXMgYW4gYXV0by1zdGFydCBvcmln
aW4uCisgICAgICAgIChXZWJDb3JlOjpIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjpzdWJmcmFtZUxv
YWRlcldpbGxMb2FkUGx1Z0luKTogQ2FsY3VsYXRlIHRoZSBoYXNoIGJhc2VkIG9uIHRoZQorICAg
ICAgICBwcm92aWRlZCBVUkwsIHdoaWNoIGlzIHRoZSBVUkwgdGhlIHBsdWctaW4gd2lsbCBsb2Fk
LiBFeHRlbmQgdGhlIGNoZWNrIHRoYXQgdXNlZCB0byBiZSBpbiB0aGUKKyAgICAgICAgY29uc3Ry
dWN0b3IgdG8gc2VlIGlmIHRoZSBwbHVnLWluIHNob3VsZCBub3QgYXV0b21hdGljYWxseSBsb2Fk
LgorICAgICAgICAqIGh0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5oOgorICAgICAgICAoSFRN
TFBsdWdJbkltYWdlRWxlbWVudCk6IEFkZCBhbiBpdmFyIHRvIG1haW50YWluIGEgY29weSBvZiB0
aGUgaGFzaC4KKworICAgICAgICAqIGxvYWRlci9TdWJmcmFtZUxvYWRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTdWJmcmFtZUxvYWRlcjo6cmVxdWVzdFBsdWdpbik6IFdoZW4gdGhlIGxvYWRl
ciBpcyBhYm91dCB0byBsb2FkIHRoZSBwbHVnLWluLCBwYXNzIHRoZQorICAgICAgICBVUkwgdG8g
dGhlIGVsZW1lbnQsIHNvIHRoYXQgaXQgY2FuIGNhbGN1bGF0ZSB0aGUgaGFzaC4KKworICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJTbmFwc2hvdHRlZFBsdWdJbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJTbmFwc2hvdHRlZFBsdWdJbjo6aGFuZGxlRXZlbnQpOiBDYWxsIHRoZSByZW5h
bWVkIGZ1bmN0aW9uIHVzZXJEaWRDbGlja1NuYXBzaG90KCkuCisKKzIwMTItMTEtMjkgIEpvbiBM
ZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCiAgICAgICAgIEFkZCB3YXlzIHRvIHF1ZXJ5IGFuZCBh
ZGQgb3JpZ2luIGhhc2hlcyB2aWEgcGxhdGZvcm0gc3RyYXRlZ2llcwogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzNjY0CiAgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8xMjc3OTc1OD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBlMGFiNDE1Y2Y5MTFhNmJiN2E4ZDU3OTJh
OTMxNTlmMzhlYTY5MzU3Li5hNmY3MGRlNmUyZmYzZDQ2OWZhN2VjZTc1OGM1ZjU2MjdhMmVmZDlm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDggQEAKIDIwMTItMTEtMjkgIEpvbiBMZWUgIDxqb25s
ZWVAYXBwbGUuY29tPgogCisgICAgICAgIEtlZXAgdHJhY2sgb2YgcGx1Zy1pbiBzbmFwc2hvdHMg
Y2xpY2tlZCBieSB1c2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDMyMDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyNzQ2NDgzPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL1BsdWdp
bnMvUGx1Z0luQXV0b1N0YXJ0VGFibGUuaDogSW5zcGlyZWQgYnkgVmlzaXRlZExpbmtUYWJsZS4g
Rm9yIG5vdywgbWFrZSB0aGUgdGFibGUgYQorICAgICAgICBzaW1wbGUgc2V0IG9mIGhhc2hlcy4g
TGF0ZXIgd2UgY291bGQgY29udmVydCB0aGlzIHRvIGEgc2hhcmVkIG1lbW9yeSB0YWJsZS4KKyAg
ICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRQcm92aWRlci5jcHA6IEFk
ZGVkLiBDcmVhdGUgYSBwcm92aWRlciB0aGF0IG1hbmFnZXMgdGhlIFVJIHByb2Nlc3MnCisgICAg
ICAgIGNvcHkgb2YgdGhlIHRhYmxlLgorICAgICAgICAoV2ViS2l0OjpQbHVnSW5BdXRvU3RhcnRQ
cm92aWRlcjo6UGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIpOgorICAgICAgICAoV2ViS2l0OjpQbHVn
SW5BdXRvU3RhcnRQcm92aWRlcjo6YWRkQXV0b1N0YXJ0T3JpZ2luKTogQWRkIHRoZSBoYXNoIGlm
IG5lY2Vzc2FyeSwgYW5kIGJyb2FkY2FzdCB0bworICAgICAgICBhbGwgd2ViIHByb2Nlc3Nlcy4K
KyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRQcm92aWRlci5oOiBB
ZGRlZC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0Lm1lc3NhZ2VzLmluOiBDcmVh
dGUgYSBuZXcgbWVzc2FnZSB0aGF0IGFkZHMgYSBuZXcgaGFzaC4KKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViQ29udGV4dC5jcHA6IEFkZCB0aGUgcGx1Zy1pbiBhdXRvLXN0YXJ0IHByb3ZpZGVyLgor
ICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjpXZWJDb250ZXh0KTogSW5pdGlhbGl6ZSB0aGUg
cHJvdmlkZXIuCisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OmFkZFBsdWdJbkF1dG9TdGFy
dE9yaWdpbkhhc2gpOiBUZWxsIHRoZSBwcm92aWRlciB0byBhZGQgdGhlIGhhc2guCisgICAgICAg
ICogVUlQcm9jZXNzL1dlYkNvbnRleHQuaDoKKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGxhdGZvcm1TdHJhdGVnaWVzOjppc0F1dG9TdGFydE9yaWdpbik6IEZvcndhcmQgdG8gV2ViUHJv
Y2Vzcy4KKyAgICAgICAgKFdlYktpdDo6V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjphZGRBdXRvU3Rh
cnRPcmlnaW4pOiBGb3J3YXJkIHRvIFdlYlByb2Nlc3MuCisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjppc1BsdWdJbkF1
dG9TdGFydE9yaWdpbik6IExvb2tzIGluIHRoZSB0YWJsZSB0byBzZWUgaWYgdGhlIGhhc2ggYWxy
ZWFkeSBleGlzdHMuCisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmFkZFBsdWdJbkF1dG9T
dGFydE9yaWdpbik6IElmIHRoZSBoYXNoIGlzIG5vdCBhbHJlYWR5IGluIHRoZSB0YWJsZSwgbWVz
c2FnZSB0aGUgVUkKKyAgICAgICAgcHJvY2VzcyB0byBhZGQgaXQuCisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3M6OnBsdWdJbkF1dG9TdGFydE9yaWdpbkNoYW5nZWQpOiBDYWxsZWQgd2hlbiB0
aGUgVUkgcHJvY2VzcyBicm9hZGNhc3RzIHRvIHRoZSB3ZWIKKyAgICAgICAgcHJvY2VzcyB0aGF0
IGEgaGFzaCBoYXMgYmVlbiBhZGRlZC4gQWRkIHRoYXQgaGFzaCB0byB0aGUgd2ViIHByb2Nlc3Mn
IGNvcHkgb2YgdGhlIHRhYmxlLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjogQWRkIGEgbmV3IG1l
c3NhZ2UgY2FsbGVkIGJ5IFVJIHByb2Nlc3Mgd2hlbiBhIG5ldyBoYXNoIGlzIGFkZGVkLgorCisg
ICAgICAgIEFkZCBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci57Y3BwLGh9IGFuZCBQbHVnSW5BdXRv
U3RhcnRUYWJsZS5oLgorICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1h
a2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJLaXQy
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogd2luL1dlYktpdDIudmNwcm9q
OgorCisyMDEyLTExLTI5ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKwogICAgICAgICBB
ZGQgd2F5cyB0byBxdWVyeSBhbmQgYWRkIG9yaWdpbiBoYXNoZXMgdmlhIHBsYXRmb3JtIHN0cmF0
ZWdpZXMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
MzY2NAogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTI3Nzk3NTg+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcAppbmRleCA0MjFhYzFiMGYwYzE4ZDJm
ZGIyOTliOGU4Njg3NDg5MDViNzVkOTc2Li4yM2EyODE1NGRmMjgyZWIwYTVlODU1ZjgyYzNiODI4
MWViNWMzZmYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFn
ZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxl
bWVudC5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCiAjaW5j
bHVkZSAiTm9kZVJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlBs
dWdJbk9yaWdpbkhhc2guaCIKICNpbmNsdWRlICJSZW5kZXJFbWJlZGRlZE9iamVjdC5oIgogI2lu
Y2x1ZGUgIlJlbmRlckltYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4u
aCIKQEAgLTM3LDYgKzM4LDExIEBACiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJT
dHlsZVJlc29sdmVyLmgiCiAKKyNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKKyNpbmNsdWRl
ICJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIKKyNpbmNsdWRlICJQbHVnaW5TdHJhdGVneS5oIgorI2Vu
ZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gVGhpcyBkZWxheSBzaG91bGQgbm90IGV4
Y2VlZCB0aGUgc25hcHNob3QgZGVsYXkgaW4gUGx1Z2luVmlldy5jcHAKQEAgLTUyLDEzICs1OCw5
IEBAIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jCiAgICAgLCBtX3Nob3VsZFByZWZlclBsdWdJbnNG
b3JJbWFnZXMocHJlZmVyUGx1Z0luc0ZvckltYWdlc09wdGlvbiA9PSBTaG91bGRQcmVmZXJQbHVn
SW5zRm9ySW1hZ2VzKQogICAgICwgbV9uZWVkc0RvY3VtZW50QWN0aXZhdGlvbkNhbGxiYWNrcyhm
YWxzZSkKICAgICAsIG1fc2ltdWxhdGVkTW91c2VDbGlja1RpbWVyKHRoaXMsICZIVE1MUGx1Z0lu
SW1hZ2VFbGVtZW50OjpzaW11bGF0ZWRNb3VzZUNsaWNrVGltZXJGaXJlZCwgc2ltdWxhdGVkTW91
c2VDbGlja1RpbWVyRGVsYXkpCisgICAgLCBtX3BsdWdJbk9yaWdpbkhhc2goMCkKIHsKICAgICBz
ZXRIYXNDdXN0b21DYWxsYmFja3MoKTsKLQotICAgIGlmIChkb2N1bWVudC0+cGFnZSgpCi0gICAg
ICAgICYmIGRvY3VtZW50LT5wYWdlKCktPnNldHRpbmdzKCktPnBsdWdJblNuYXBzaG90dGluZ0Vu
YWJsZWQoKQotICAgICAgICAmJiAhU2NyaXB0Q29udHJvbGxlcjo6cHJvY2Vzc2luZ1VzZXJHZXN0
dXJlKCkpCi0gICAgICAgIHNldERpc3BsYXlTdGF0ZShXYWl0aW5nRm9yU25hcHNob3QpOwogfQog
CiBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50Ojp+SFRNTFBsdWdJbkltYWdlRWxlbWVudCgpCkBAIC0y
NjIsOSArMjY0LDEzIEBAIHZvaWQgSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6dXBkYXRlU25hcHNo
b3QoUGFzc1JlZlB0cjxJbWFnZT4gaW1hZ2UpCiAgICAgc2V0RGlzcGxheVN0YXRlKERpc3BsYXlp
bmdTbmFwc2hvdCk7CiB9CiAKLXZvaWQgSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6c2V0UGVuZGlu
Z0NsaWNrRXZlbnQoUGFzc1JlZlB0cjxNb3VzZUV2ZW50PiBldmVudCkKK3ZvaWQgSFRNTFBsdWdJ
bkltYWdlRWxlbWVudDo6dXNlckRpZENsaWNrU25hcHNob3QoUGFzc1JlZlB0cjxNb3VzZUV2ZW50
PiBldmVudCkKIHsKKyAgICBBU1NFUlQobV9wbHVnSW5PcmlnaW5IYXNoKTsKICAgICBtX3BlbmRp
bmdDbGlja0V2ZW50RnJvbVNuYXBzaG90ID0gZXZlbnQ7CisjaWYgVVNFKFBMQVRGT1JNX1NUUkFU
RUdJRVMpCisgICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPnBsdWdpblN0cmF0ZWd5KCktPmFkZEF1
dG9TdGFydE9yaWdpbihkb2N1bWVudCgpLT5wYWdlKCksIG1fcGx1Z0luT3JpZ2luSGFzaCk7Cisj
ZW5kaWYKIH0KIAogdm9pZCBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjpkaXNwYXRjaFBlbmRpbmdN
b3VzZUNsaWNrKCkKQEAgLTI4NCw0ICsyOTAsMTggQEAgdm9pZCBIVE1MUGx1Z0luSW1hZ2VFbGVt
ZW50OjpzaW11bGF0ZWRNb3VzZUNsaWNrVGltZXJGaXJlZChEZWZlcnJhYmxlT25lU2hvdFRpbWUK
ICAgICBtX3BlbmRpbmdDbGlja0V2ZW50RnJvbVNuYXBzaG90ID0gbnVsbHB0cjsKIH0KIAordm9p
ZCBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjpzdWJmcmFtZUxvYWRlcldpbGxMb2FkUGx1Z0luKGNv
bnN0IEtVUkwmIHVybCkKK3sKKyAgICBpZiAoIWRvY3VtZW50KCktPnBhZ2UoKSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgbV9wbHVnSW5PcmlnaW5IYXNoID0gcGx1Z0luT3JpZ2luSGFzaChkb2N1
bWVudCgpLT5wYWdlKCksIHVybCk7CisgICAgaWYgKGRvY3VtZW50KCktPnBhZ2UoKS0+c2V0dGlu
Z3MoKS0+cGx1Z0luU25hcHNob3R0aW5nRW5hYmxlZCgpCisjaWYgVVNFKFBMQVRGT1JNX1NUUkFU
RUdJRVMpCisgICAgICAgICYmICFwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+cGx1Z2luU3RyYXRlZ3ko
KS0+aXNBdXRvU3RhcnRPcmlnaW4oZG9jdW1lbnQoKS0+cGFnZSgpLCBtX3BsdWdJbk9yaWdpbkhh
c2gpCisjZW5kaWYKKyAgICAgICAgJiYgIVNjcmlwdENvbnRyb2xsZXI6OnByb2Nlc3NpbmdVc2Vy
R2VzdHVyZSgpKQorICAgICAgICBzZXREaXNwbGF5U3RhdGUoV2FpdGluZ0ZvclNuYXBzaG90KTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQ
bHVnSW5JbWFnZUVsZW1lbnQuaAppbmRleCBjNWJmNmZhMWY5MWUxZTgyZDA4YmNhMmMwMmM3M2Rh
YjJjN2E4OTNkLi41YTY5ZmFlMjBkZjA4ZDQ2Mjk3ODZkOGEyN2IxNDcxMWRiNTZhODg2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuaApAQCAtMjMsNiAr
MjMsNyBAQAogCiAjaW5jbHVkZSAiSFRNTFBsdWdJbkVsZW1lbnQuaCIKIAorI2luY2x1ZGUgIlBs
dWdJbk9yaWdpbkhhc2guaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgPHd0
Zi9Pd25QdHIuaD4KIApAQCAtNTksNyArNjAsMTAgQEAgcHVibGljOgogICAgIGJvb2wgbmVlZHNX
aWRnZXRVcGRhdGUoKSBjb25zdCB7IHJldHVybiBtX25lZWRzV2lkZ2V0VXBkYXRlOyB9CiAgICAg
dm9pZCBzZXROZWVkc1dpZGdldFVwZGF0ZShib29sIG5lZWRzV2lkZ2V0VXBkYXRlKSB7IG1fbmVl
ZHNXaWRnZXRVcGRhdGUgPSBuZWVkc1dpZGdldFVwZGF0ZTsgfQogCi0gICAgdm9pZCBzZXRQZW5k
aW5nQ2xpY2tFdmVudChQYXNzUmVmUHRyPE1vdXNlRXZlbnQ+KTsKKyAgICB2b2lkIHVzZXJEaWRD
bGlja1NuYXBzaG90KFBhc3NSZWZQdHI8TW91c2VFdmVudD4pOworCisgICAgLy8gUGx1Zy1pbiBV
UkwgbWlnaHQgbm90IGJlIHRoZSBzYW1lIGFzIHVybCgpIHdpdGggb3ZlcnJpZGluZyBwYXJhbWV0
ZXJzLgorICAgIHZvaWQgc3ViZnJhbWVMb2FkZXJXaWxsTG9hZFBsdWdJbihjb25zdCBLVVJMJiBw
bHVnSW5VUkwpOwogCiBwcm90ZWN0ZWQ6CiAgICAgSFRNTFBsdWdJbkltYWdlRWxlbWVudChjb25z
dCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCosIGJvb2wgY3JlYXRlZEJ5UGFyc2Vy
LCBQcmVmZXJQbHVnSW5zRm9ySW1hZ2VzT3B0aW9uKTsKQEAgLTEwMyw2ICsxMDcsNyBAQCBwcml2
YXRlOgogICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gbV9jdXN0b21TdHlsZUZvclBhZ2VDYWNoZTsK
ICAgICBSZWZQdHI8TW91c2VFdmVudD4gbV9wZW5kaW5nQ2xpY2tFdmVudEZyb21TbmFwc2hvdDsK
ICAgICBEZWZlcnJhYmxlT25lU2hvdFRpbWVyPEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ+IG1fc2lt
dWxhdGVkTW91c2VDbGlja1RpbWVyOworICAgIFBsdWdJbk9yaWdpbkhhc2ggbV9wbHVnSW5Pcmln
aW5IYXNoOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9TdWJmcmFtZUxvYWRlci5jcHAKaW5kZXggOTJlYTk3Mzc2N2U4YzQ3MjUwYjZkYjJiZjQwNGQz
NDhlNTQ1MjJmMS4uZDFhYjdlNTZlOTIyZTQzNTdiZjkyMjVlMmJhMTljNGE4M2UzOTM1MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuY3BwCkBAIC0xNTYsNiArMTU2LDcg
QEAgYm9vbCBTdWJmcmFtZUxvYWRlcjo6cmVxdWVzdFBsdWdpbihIVE1MUGx1Z0luSW1hZ2VFbGVt
ZW50KiBvd25lckVsZW1lbnQsIGNvbnN0IEsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAg
QVNTRVJUKG93bmVyRWxlbWVudC0+aGFzVGFnTmFtZShvYmplY3RUYWcpIHx8IG93bmVyRWxlbWVu
dC0+aGFzVGFnTmFtZShlbWJlZFRhZykpOworICAgIG93bmVyRWxlbWVudC0+c3ViZnJhbWVMb2Fk
ZXJXaWxsTG9hZFBsdWdJbih1cmwpOwogICAgIHJldHVybiBsb2FkUGx1Z2luKG93bmVyRWxlbWVu
dCwgdXJsLCBtaW1lVHlwZSwgcGFyYW1OYW1lcywgcGFyYW1WYWx1ZXMsIHVzZUZhbGxiYWNrKTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNuYXBzaG90
dGVkUGx1Z0luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbmFwc2hvdHRl
ZFBsdWdJbi5jcHAKaW5kZXggOTcyYjJiZjkwNDIyM2I1Yjc3NzVmMjQyOWRjMTYyODNhMGYxNjgx
NS4uZjJjZTlkNTY1Mjg1ZDhmYzAyMDEzY2MwZjBiM2I5OTczZGQzZDY2NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNuYXBzaG90dGVkUGx1Z0luLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4uY3BwCkBA
IC0xNzgsNyArMTc4LDcgQEAgdm9pZCBSZW5kZXJTbmFwc2hvdHRlZFBsdWdJbjo6aGFuZGxlRXZl
bnQoRXZlbnQqIGV2ZW50KQogICAgICAgICAgICAgcGx1Z0luSW1hZ2VFbGVtZW50KCktPnNldERp
c3BsYXlTdGF0ZShIVE1MUGx1Z0luRWxlbWVudDo6UGxheWluZyk7CiAgICAgICAgIGVsc2Ugewog
ICAgICAgICAgICAgcGx1Z0luSW1hZ2VFbGVtZW50KCktPnNldERpc3BsYXlTdGF0ZShIVE1MUGx1
Z0luRWxlbWVudDo6UGxheWluZ1dpdGhQZW5kaW5nTW91c2VDbGljayk7Ci0gICAgICAgICAgICBw
bHVnSW5JbWFnZUVsZW1lbnQoKS0+c2V0UGVuZGluZ0NsaWNrRXZlbnQobW91c2VFdmVudCk7Cisg
ICAgICAgICAgICBwbHVnSW5JbWFnZUVsZW1lbnQoKS0+dXNlckRpZENsaWNrU25hcHNob3QobW91
c2VFdmVudCk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKHdpZGdldCgpKSB7CiAgICAgICAgICAg
ICBpZiAoRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQoKS0+ZnJhbWUoKSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50
eHQKaW5kZXggMDAzMzk2YTY1N2ZkNDViOGJlMmM4MjUwZTA5MmNlMmQzZjZmZDIyMC4uMWRmNjE4
NzEyNWI4YmYzNzEyMTFmYjc1YzM5OTlkYWZmZDY3OTgxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQK
QEAgLTM2Miw2ICszNjIsNyBAQCBTRVQoV2ViS2l0Ml9TT1VSQ0VTCiAgICAgVUlQcm9jZXNzL05v
dGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmNwcAogICAgIFVJUHJvY2Vz
cy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmNwcAogCisgICAgVUlQcm9j
ZXNzL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwCiAgICAgVUlQcm9jZXNzL1Bs
dWdpbnMvUGx1Z2luSW5mb1N0b3JlLmNwcAogICAgIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblBy
b2Nlc3NNYW5hZ2VyLmNwcAogICAgIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94
eS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9T
b3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGFiNTIzZWYzZjNiYjM3ZWUy
NTQ3OWIyZTFhNWYwZDVjODA1MzQ0YTEuLjMyYTc2MTk5YzZjZWVjNmMwZmFiZDI2ZGRhZjJmYzll
Zjk1YjRiMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0K
KysrIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNDI4LDYgKzQyOCw3
IEBAIHdlYmtpdDJfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMv
TlBSZW1vdGVPYmplY3RNYXAuaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBW
YXJpYW50RGF0YS5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QVmFyaWFu
dERhdGEuaCBcCisJU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0
VGFibGUuaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luTW9kdWxlSW5m
by5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdpbk1vZHVsZUluZm8u
aCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5jcHAgXApAQCAtODE0LDYgKzgxNSw4IEBAIHdlYmtpdDJfc291cmNlcyArPSBc
CiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9u
UHJvdmlkZXIuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9X
ZWJOb3RpZmljYXRpb25Qcm92aWRlci5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFn
ZUNsaWVudC5oIFwKKwlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRv
U3RhcnRQcm92aWRlci5jcHAgXAorCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1Bs
dWdJbkF1dG9TdGFydFByb3ZpZGVyLmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpbkluZm9TdG9yZS5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpbkluZm9TdG9yZS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0VGFibGUuaCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFRhYmxlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGQ0MTc5NjEx
NDdkMjViMGZjNmE1NGZlZmE2Yjc1ZGJmOTZhMjA0MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFRhYmxlLmgKQEAgLTAsMCAr
MSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKworI2lmbmRlZiBQbHVnSW5BdXRvU3RhcnRUYWJsZV9oCisj
ZGVmaW5lIFBsdWdJbkF1dG9TdGFydFRhYmxlX2gKKworI2luY2x1ZGUgPFdlYkNvcmUvUGx1Z0lu
T3JpZ2luSGFzaC5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CisKK25hbWVzcGFjZSBXZWJL
aXQgeworCit0eXBlZGVmIEhhc2hTZXQ8V2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFzaD4gUGx1Z0lu
QXV0b1N0YXJ0VGFibGU7CisKK30KKworI2VuZGlmIC8qIFBsdWdJbkF1dG9TdGFydFRhYmxlX2gg
Ki8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViS2l0
Mi9UYXJnZXQucHJpCmluZGV4IDA5OGI1Yjk1NDNmNWZkZmI5YjhhOTMxYTEyODI3OTFlNmE5NzU2
OTEuLmI4ZjM1MDU2Nzk4YmE2MzljMTA0NTFlZTBlNjI1ODYzMTJkZTkwY2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYktpdDIvVGFyZ2V0LnBy
aQpAQCAtMTQyLDYgKzE0Miw3IEBAIEhFQURFUlMgKz0gXAogICAgIFNoYXJlZC9QbHVnaW5zL05Q
T2JqZWN0TWVzc2FnZVJlY2VpdmVyLmggXAogICAgIFNoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJv
eHkuaCBcCiAgICAgU2hhcmVkL1BsdWdpbnMvTlBWYXJpYW50RGF0YS5oIFwKKyAgICBTaGFyZWQv
UGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRUYWJsZS5oIFwKICAgICBTaGFyZWQvUGx1Z2lucy9QbHVn
aW5Nb2R1bGVJbmZvLmggXAogICAgIFNoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuaCBcCiAgICAgU2hhcmVkL1BsdWdpbnMvUGx1Z2luUXVpcmtzLmggXApAQCAt
MjI3LDYgKzIyOCw3IEBAIEhFQURFUlMgKz0gXAogICAgIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmgg
XAogICAgIFVJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmggXAogICAgIFVJUHJvY2Vz
cy9QYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50LmggXAorICAgIFVJUHJvY2Vzcy9QbHVnaW5z
L1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmggXAogICAgIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
bkluZm9TdG9yZS5oIFwKICAgICBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHku
aCBcCiAgICAgVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuaCBcCkBAIC01
ODMsNiArNTg1LDcgQEAgU09VUkNFUyArPSBcCiAgICAgVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMv
V2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmNwcCBcCiAgICAgVUlQcm9jZXNzL05vdGlmaWNh
dGlvbnMvV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuY3BwIFwKICAgICBVSVByb2Nlc3MvUGFnZVZp
ZXdwb3J0Q29udHJvbGxlci5jcHAgXAorICAgIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdJbkF1dG9T
dGFydFByb3ZpZGVyLmNwcCBcCiAgICAgVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3Jl
LmNwcCBcCiAgICAgVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcCBcCiAg
ICAgVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuY3BwIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFByb3Zp
ZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFy
dFByb3ZpZGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jODcwNmFjNjdmZGYwMTYyOTliYjA1NWUxMzI4NzM4
YjY0MTIzYjQ5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Bs
dWdpbnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGx1Z0luQXV0b1N0YXJ0UHJv
dmlkZXIuaCIKKworI2luY2x1ZGUgIldlYkNvbnRleHQuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNz
TWVzc2FnZXMuaCIKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJL
aXQgeworCitQbHVnSW5BdXRvU3RhcnRQcm92aWRlcjo6UGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIo
V2ViQ29udGV4dCogY29udGV4dCkKKyAgICA6IG1fY29udGV4dChjb250ZXh0KQoreworfQorCit2
b2lkIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyOjphZGRBdXRvU3RhcnRPcmlnaW4oUGx1Z0luT3Jp
Z2luSGFzaCBoYXNoKQoreworICAgIGlmIChtX2F1dG9TdGFydFRhYmxlLmNvbnRhaW5zKGhhc2gp
KQorICAgICAgICByZXR1cm47CisgICAgbV9hdXRvU3RhcnRUYWJsZS5hZGQoaGFzaCk7CisgICAg
bV9jb250ZXh0LT5zZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlBsdWdJ
bkF1dG9TdGFydE9yaWdpbkNoYW5nZWQoaGFzaCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdJbkF1
dG9TdGFydFByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVn
SW5BdXRvU3RhcnRQcm92aWRlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxNDg2MzIyYjNlMGJmY2ZhNmE3YTAz
YzQxOTI0ZDY3ZDAzMjA4MTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRQcm92aWRlci5oCkBAIC0wLDAgKzEsNTIgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyX2gKKyNkZWZpbmUg
UGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXJfaAorCisjaW5jbHVkZSAiUGx1Z0luQXV0b1N0YXJ0VGFi
bGUuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1BsdWdJbk9yaWdpbkhhc2guaD4KKyNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBX
ZWJLaXQgeworCitjbGFzcyBXZWJDb250ZXh0OworCitjbGFzcyBQbHVnSW5BdXRvU3RhcnRQcm92
aWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIp
OworcHVibGljOgorICAgIGV4cGxpY2l0IFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyKFdlYkNvbnRl
eHQqKTsKKworICAgIHZvaWQgYWRkQXV0b1N0YXJ0T3JpZ2luKFdlYkNvcmU6OlBsdWdJbk9yaWdp
bkhhc2gpOworCitwcml2YXRlOgorICAgIFdlYkNvbnRleHQqIG1fY29udGV4dDsKKyAgICBQbHVn
SW5BdXRvU3RhcnRUYWJsZSBtX2F1dG9TdGFydFRhYmxlOworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CisKKyNlbmRpZiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlcl9oICovCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKaW5kZXggM2Y4MThkMWMxOGI1Mzg2MGNmODc0
MmQ0NGM5OWMzODA3N2FiMWU4MS4uOWIyMmNhM2M3ZmQ5ZjBmZmM0Nzk3YzEwYTYwODYyOTY5MjIz
OGQ4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcApAQCAtMTIwLDYg
KzEyMCw3IEBAIFdlYkNvbnRleHQ6OldlYkNvbnRleHQoUHJvY2Vzc01vZGVsIHByb2Nlc3NNb2Rl
bCwgY29uc3QgU3RyaW5nJiBpbmplY3RlZEJ1bmRsZVBhCiAgICAgLCBtX2RlZmF1bHRQYWdlR3Jv
dXAoV2ViUGFnZUdyb3VwOjpjcmVhdGUoKSkKICAgICAsIG1faW5qZWN0ZWRCdW5kbGVQYXRoKGlu
amVjdGVkQnVuZGxlUGF0aCkKICAgICAsIG1fdmlzaXRlZExpbmtQcm92aWRlcih0aGlzKQorICAg
ICwgbV9wbHVnSW5BdXRvU3RhcnRQcm92aWRlcih0aGlzKQogICAgICwgbV9hbHdheXNVc2VzQ29t
cGxleFRleHRDb2RlUGF0aChmYWxzZSkKICAgICAsIG1fc2hvdWxkVXNlRm9udFNtb290aGluZyh0
cnVlKQogICAgICwgbV9jYWNoZU1vZGVsKENhY2hlTW9kZWxEb2N1bWVudFZpZXdlcikKQEAgLTEw
MjUsNCArMTAyNiw5IEBAIHZvaWQgV2ViQ29udGV4dDo6c2V0SmF2YVNjcmlwdEdhcmJhZ2VDb2xs
ZWN0b3JUaW1lckVuYWJsZWQoYm9vbCBmbGFnKQogICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhNZXNz
YWdlczo6V2ViUHJvY2Vzczo6U2V0SmF2YVNjcmlwdEdhcmJhZ2VDb2xsZWN0b3JUaW1lckVuYWJs
ZWQoZmxhZykpOwogfQogCit2b2lkIFdlYkNvbnRleHQ6OmFkZFBsdWdJbkF1dG9TdGFydE9yaWdp
bkhhc2goV2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFzaCBoYXNoKQoreworICAgIG1fcGx1Z0luQXV0
b1N0YXJ0UHJvdmlkZXIuYWRkQXV0b1N0YXJ0T3JpZ2luKGhhc2gpOworfQorCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250
ZXh0LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCmluZGV4IDJjZjdi
YjUwN2NlMGNlYjAyYTFhYTU5MTE0YTY4OGYxNzgwMzQ5MWQuLmEzNmNhOGRmODU5M2IyNDhhOTI0
NmY3YjliNDE4MzZlMjFjYzlhNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQu
aApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkdlbmVyaWNDYWxsYmFjay5oIgogI2luY2x1
ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlck1hcC5oIgor
I2luY2x1ZGUgIlBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiUGx1Z2luSW5m
b1N0b3JlLmgiCiAjaW5jbHVkZSAiUHJvY2Vzc01vZGVsLmgiCiAjaW5jbHVkZSAiVmlzaXRlZExp
bmtQcm92aWRlci5oIgpAQCAtMzksNiArNDAsNyBAQAogI2luY2x1ZGUgIldlYkhpc3RvcnlDbGll
bnQuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHkuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0xp
bmtIYXNoLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QbHVnSW5PcmlnaW5IYXNoLmg+CiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CkBAIC0zMTAsNiArMzEyLDggQEAgcHJpdmF0ZToKICAgICBzdGF0aWMg
dm9pZCByZWdpc3Rlck9jY2x1c2lvbk5vdGlmaWNhdGlvbkhhbmRsZXJzKCk7CiAjZW5kaWYKIAor
ICAgIHZvaWQgYWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaChXZWJDb3JlOjpQbHVnSW5Pcmln
aW5IYXNoKTsKKwogICAgIFByb2Nlc3NNb2RlbCBtX3Byb2Nlc3NNb2RlbDsKICAgICAKICAgICBW
ZWN0b3I8UmVmUHRyPFdlYlByb2Nlc3NQcm94eT4gPiBtX3Byb2Nlc3NlczsKQEAgLTMyOSw2ICsz
MzMsNyBAQCBwcml2YXRlOgogICAgIFBsdWdpbkluZm9TdG9yZSBtX3BsdWdpbkluZm9TdG9yZTsK
ICNlbmRpZgogICAgIFZpc2l0ZWRMaW5rUHJvdmlkZXIgbV92aXNpdGVkTGlua1Byb3ZpZGVyOwor
ICAgIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyIG1fcGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXI7CiAg
ICAgICAgIAogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3NjaGVtZXNUb1JlZ2lzdGVyQXNFbXB0eURv
Y3VtZW50OwogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3NjaGVtZXNUb1JlZ2lzdGVyQXNTZWN1cmU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0Lm1lc3NhZ2VzLmluCmlu
ZGV4IDI2NjRhNWY0ZmZlNjc4MWQ1ZGFkYTNhNDI4YzFmN2U5NmU2MWE5ZTQuLmY2MjQ5YjMwNGZk
NTgwNmNmNzE0ZDgyZWY3ZmQyY2Q0MjlhNDk3YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJDb250ZXh0Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJDb250ZXh0Lm1lc3NhZ2VzLmluCkBAIC01MSw0ICs1MSw3IEBAIG1lc3NhZ2Vz
IC0+IFdlYkNvbnRleHQgewogICAgIC8vIGFueSBzeW5jaHJvbm91cyBtZXNzYWdlcywgYW5kIHNo
b3VsZCBiZSByZW1vdmVkIHdoZW4gPHJkYXI6Ly9wcm9ibGVtLzg3NzUxMTU+IGlzIGZpeGVkLgog
ICAgIER1bW15KCkgLT4gKGJvb2wgZHVtbXlSZXR1cm4pCiAjZW5kaWYKKworICAgICMgUGx1Zy1p
biBtZXNzYWdlcy4KKyAgICB2b2lkIEFkZFBsdWdJbkF1dG9TdGFydE9yaWdpbkhhc2godWludDY0
X3QgaGFzaCkKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCBmNTg5M2JmZjQ1MjUwNmMxNTBjN2U3YzIwZWU1MzlhYjk3ZWJiYzVk
Li5mMWExYzFiMzg3ZjdkZjdlNDgzNjU1MThlNjkzODEwYWY2NzY3ZTg2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zMjEsNiAr
MzIxLDkgQEAKIAkJMzFBMkVDNTYxNDg5OUMwOTAwODEwRDcxIC8qIE5vdGlmaWNhdGlvblBlcm1p
c3Npb25SZXF1ZXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAzMUEyRUM1MzE0ODk5ODI1MDA4MTBENzEgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvblJl
cXVlc3QuaCAqLzsgfTsKIAkJMzFBMkVDNzQxNDhENTlDQTAwODEwRDcxIC8qIFdLTm90aWZpY2F0
aW9uUGVybWlzc2lvblJlcXVlc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDMxQTJFQzcyMTQ4RDU5QkIwMDgxMEQ3MSAvKiBXS05vdGlmaWNhdGlvblBl
cm1pc3Npb25SZXF1ZXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMzFBMkVDNzcxNDhENjYyRTAwODEwRDcxIC8qIFdLTm90aWZpY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzFBMkVDNzUxNDhENjVCQjAwODEwRDcxIC8qIFdLTm90aWZpY2F0aW9uUGVybWlz
c2lvblJlcXVlc3QuY3BwICovOyB9OworCQkzMUE2N0UwQzE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1
Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMzFBNjdFMEExNjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFy
dFByb3ZpZGVyLmNwcCAqLzsgfTsKKwkJMzFBNjdFMEQxNjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJ
bkF1dG9TdGFydFByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMUE2N0UwQjE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJv
dmlkZXIuaCAqLzsgfTsKKwkJMzFBNjdFMTIxNjVCOTFFQzAwNkNCQTY2IC8qIFBsdWdJbkF1dG9T
dGFydFRhYmxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAzMUE2N0UxMDE2NUI5MUVDMDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0VGFibGUuaCAqLzsg
fTsKIAkJMzFCQTkyNEQxNDg4MzEyNjAwNjJFREI1IC8qIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJN
ZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzFCQTkyNDgxNDg4MzA4MTAwNjJFREI1IC8qIFdlYk5vdGlmaWNhdGlvbk1hbmFn
ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQkzMUJBOTI0RTE0ODgzMTI2MDA2MkVEQjUg
LyogV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUJBOTI0OTE0ODgzMDgxMDA2MkVEQjUgLyogV2Vi
Tm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VzLmggKi87IH07CiAJCTMxRUEyNUQyMTM0Rjc4QzAw
MDVCMTQ1MiAvKiBOYXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFFQTI1RDAxMzRGNzhCMjAwNUIxNDUyIC8qIE5h
dGl2ZVdlYk1vdXNlRXZlbnRNYWMubW0gKi87IH07CkBAIC0xNTQ5LDYgKzE1NTIsOSBAQAogCQkz
MUEyRUM1NDE0ODk5ODJFMDA4MTBENzEgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3Qu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTm90aWZpY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUEyRUM3
MjE0OEQ1OUJCMDA4MTBENzEgLyogV0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXS05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQTJFQzc1MTQ4RDY1QkIwMDgxMEQ3MSAvKiBXS05vdGlm
aWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkzMUE2N0UwQTE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0
b1N0YXJ0UHJvdmlkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
UGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkzMUE2N0UwQjE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFBNjdFMTAxNjVCOTFFQzAwNkNCQTY2
IC8qIFBsdWdJbkF1dG9TdGFydFRhYmxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFBsdWdJbkF1dG9TdGFydFRhYmxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTMxQkE5MjQ4MTQ4ODMwODEwMDYyRURCNSAvKiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2Fn
ZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk5v
dGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkzMUJBOTI0OTE0ODgzMDgxMDA2MkVEQjUgLyogV2ViTm90aWZpY2F0aW9uTWFu
YWdlck1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk5vdGlm
aWNhdGlvbk1hbmFnZXJNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkz
MUVBMjVEMDEzNEY3OEIyMDA1QjE0NTIgLyogTmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IE5hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0yOTE0LDYgKzI5MjAsNyBAQAogCQkJCTFBMUZBMjUxMTI3QTBF
NEYwMDUwRTcwOSAvKiBOUFJlbW90ZU9iamVjdE1hcC5oICovLAogCQkJCTFBMkQ4NEEyMTI3RjZB
RDEwMDFFQjk2MiAvKiBOUFZhcmlhbnREYXRhLmNwcCAqLywKIAkJCQkxQTJEODRBMTEyN0Y2QUQx
MDAxRUI5NjIgLyogTlBWYXJpYW50RGF0YS5oICovLAorCQkJCTMxQTY3RTEwMTY1QjkxRUMwMDZD
QkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRUYWJsZS5oICovLAogCQkJCTFBM0Q2MEZGMTNBN0NDMkEw
MEY5NUQ0RSAvKiBQbHVnaW5Nb2R1bGVJbmZvLmNwcCAqLywKIAkJCQkxQTNENjEwMDEzQTdDQzJB
MDBGOTVENEUgLyogUGx1Z2luTW9kdWxlSW5mby5oICovLAogCQkJCTFBMkQ5MEQxMTI4MUM5NjYw
MDFFQjk2MiAvKiBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCAqLywKQEAgLTI5
ODMsNiArMjk5MCw4IEBACiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJ
CTFBRUZDQzBEMTFEMDFGNDEwMDgyMTlEMyAvKiBtYWMgKi8sCisJCQkJMzFBNjdFMEExNjVCMkE5
OTAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcCAqLywKKwkJCQkzMUE2N0Uw
QjE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCAqLywKIAkJCQkx
QUVGQ0MxMTExRDAxRjk2MDA4MjE5RDMgLyogUGx1Z2luSW5mb1N0b3JlLmNwcCAqLywKIAkJCQkx
QUVGQ0MxMDExRDAxRjk2MDA4MjE5RDMgLyogUGx1Z2luSW5mb1N0b3JlLmggKi8sCiAJCQkJMUEw
RUM2MDIxMjRBOUYyQzAwN0VGNEE1IC8qIFBsdWdpblByb2Nlc3NNYW5hZ2VyLmNwcCAqLywKQEAg
LTUwMTYsNiArNTAyNSw4IEBACiAJCQkJNTE3NTk0NEIxNjU3MDgwNDAwREQ3NzFEIC8qIE5ldHdv
cmtSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzhBQ0ExMzE2
NjcwRDg5MDA0QzE5NDEgLyogT2JqQ09iamVjdEdyYXBoLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzhBQ0ExNTE2NjcwRDg5MDA0QzE5NDEgLyogT2JqQ09iamVjdEdyYXBoQ29kZXJzLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkzMUE2N0UwRDE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0
UHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxQTY3RTEyMTY1QjkxRUMwMDZDQkE2NiAv
KiBQbHVnSW5BdXRvU3RhcnRUYWJsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25s
eUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC01OTcyLDYgKzU5ODMs
NyBAQAogCQkJCTUxNzU5NDRBMTY1NzA4MDQwMERENzcxRCAvKiBOZXR3b3JrUmVzb3VyY2VMb2Fk
ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM4QUNBMTQxNjY3MEQ4
OTAwNEMxOTQxIC8qIE9iakNPYmplY3RHcmFwaC5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDOEFD
QTE2MTY2NzBEODkwMDRDMTk0MSAvKiBPYmpDT2JqZWN0R3JhcGhDb2RlcnMubW0gaW4gU291cmNl
cyAqLywKKwkJCQkzMUE2N0UwQzE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJv
dmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQ
b3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5j
cHAKaW5kZXggNjUxMjdiZWEzOTUwZmJlOTNjNTA0YWM5ZjY1YzUyOTVlMWM0MWU2MS4uYWU5MGIz
OTk0NDI1M2ZmYzM4YmZhMTIzOTQ4NzYyMzM4ZmIyZmJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZv
cm1TdHJhdGVnaWVzLmNwcApAQCAtMTUzLDExICsxNTMsMTIgQEAgdm9pZCBXZWJQbGF0Zm9ybVN0
cmF0ZWdpZXM6OmdldFBsdWdpbkluZm8oY29uc3QgV2ViQ29yZTo6UGFnZSosIFZlY3RvcjxXZWJD
b3JlOjoKIAogYm9vbCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmlzQXV0b1N0YXJ0T3JpZ2luKFBh
Z2UqLCBQbHVnSW5PcmlnaW5IYXNoIGhhc2gpCiB7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJl
dHVybiBXZWJQcm9jZXNzOjpzaGFyZWQoKS5pc1BsdWdJbkF1dG9TdGFydE9yaWdpbihoYXNoKTsK
IH0KIAogdm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmFkZEF1dG9TdGFydE9yaWdpbihQYWdl
KiwgUGx1Z0luT3JpZ2luSGFzaCBoYXNoKQogeworICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmFk
ZFBsdWdJbkF1dG9TdGFydE9yaWdpbihoYXNoKTsKIH0KIAogI2lmIEVOQUJMRShORVRTQ0FQRV9Q
TFVHSU5fQVBJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXgg
MjhiN2JmZDdiMDIzNjZmMzQwZjI0NzFlMDc3YzM2OTBmMmFhOGI2ZC4uYjJmMjBkYjk3ZWQzZmY1
NTEzNTNkMDg3MzNmYzk0Y2U1YzI1NjI1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuY3BwCkBAIC05MTIsNyArOTEyLDI1IEBAIHZvaWQgV2ViUHJvY2Vzczo6Y2xlYXJQ
bHVnaW5TaXRlRGF0YShjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGx1Z2luUGF0aHMsIGNvbnN0IFZl
CiAgICAgY29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkRpZENs
ZWFyUGx1Z2luU2l0ZURhdGEoY2FsbGJhY2tJRCksIDApOwogfQogI2VuZGlmCi0gICAgCisKK2Jv
b2wgV2ViUHJvY2Vzczo6aXNQbHVnSW5BdXRvU3RhcnRPcmlnaW4oUGx1Z0luT3JpZ2luSGFzaCBo
YXNoKQoreworICAgIHJldHVybiBtX2F1dG9TdGFydFRhYmxlLmNvbnRhaW5zKGhhc2gpOworfQor
Cit2b2lkIFdlYlByb2Nlc3M6OmFkZFBsdWdJbkF1dG9TdGFydE9yaWdpbihQbHVnSW5PcmlnaW5I
YXNoIGhhc2gpCit7CisgICAgaWYgKGlzUGx1Z0luQXV0b1N0YXJ0T3JpZ2luKGhhc2gpKQorICAg
ICAgICByZXR1cm47CisKKyAgICBjb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYkNvbnRl
eHQ6OkFkZFBsdWdJbkF1dG9TdGFydE9yaWdpbkhhc2goaGFzaCksIDApOworfQorCit2b2lkIFdl
YlByb2Nlc3M6OnBsdWdJbkF1dG9TdGFydE9yaWdpbkNoYW5nZWQoUGx1Z0luT3JpZ2luSGFzaCBo
YXNoKQoreworICAgIG1fYXV0b1N0YXJ0VGFibGUuYWRkKGhhc2gpOworfQorCiBzdGF0aWMgdm9p
ZCBmcm9tQ291bnRlZFNldFRvSGFzaE1hcChUeXBlQ291bnRTZXQqIGNvdW50ZWRTZXQsIEhhc2hN
YXA8U3RyaW5nLCB1aW50NjRfdD4mIG1hcCkKIHsKICAgICBUeXBlQ291bnRTZXQ6OmNvbnN0X2l0
ZXJhdG9yIGVuZCA9IGNvdW50ZWRTZXQtPmVuZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuaAppbmRleCA4MmU2Y2M4ZjJhYjFlOGUwM2Q4Y2U0YTQ5MjgxNGYzOTc3Njc4OTVk
Li40M2M3MGUzNjY4OTVhYzIyNDgzOWYzMDdiMzc3NGJmMjRkM2U1MDlmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkRy
YXdpbmdBcmVhLmgiCiAjaW5jbHVkZSAiRXZlbnREaXNwYXRjaGVyLmgiCiAjaW5jbHVkZSAiTWVz
c2FnZVJlY2VpdmVyTWFwLmgiCisjaW5jbHVkZSAiUGx1Z0luQXV0b1N0YXJ0VGFibGUuaCIKICNp
bmNsdWRlICJQbHVnaW5JbmZvU3RvcmUuaCIKICNpbmNsdWRlICJSZXNvdXJjZUNhY2hlc1RvQ2xl
YXIuaCIKICNpbmNsdWRlICJTYW5kYm94RXh0ZW5zaW9uLmgiCkBAIC00Miw2ICs0Myw3IEBACiAj
aW5jbHVkZSAiV2ViSWNvbkRhdGFiYXNlUHJveHkuaCIKICNpbmNsdWRlICJXZWJQYWdlR3JvdXBQ
cm94eS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvTGlua0hhc2guaD4KKyNpbmNsdWRlIDxXZWJDb3Jl
L1BsdWdJbk9yaWdpbkhhc2guaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KQEAgLTE1Miw2ICsxNTQs
OSBAQCBwdWJsaWM6CiAgICAgdm9pZCBhZGRWaXNpdGVkTGluayhXZWJDb3JlOjpMaW5rSGFzaCk7
CiAgICAgYm9vbCBpc0xpbmtWaXNpdGVkKFdlYkNvcmU6OkxpbmtIYXNoKSBjb25zdDsKIAorICAg
IGJvb2wgaXNQbHVnSW5BdXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6UGx1Z0luT3JpZ2luSGFzaCk7
CisgICAgdm9pZCBhZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW4oV2ViQ29yZTo6UGx1Z0luT3JpZ2lu
SGFzaCk7CisKICAgICBib29sIGZ1bGxLZXlib2FyZEFjY2Vzc0VuYWJsZWQoKSBjb25zdCB7IHJl
dHVybiBtX2Z1bGxLZXlib2FyZEFjY2Vzc0VuYWJsZWQ7IH0KIAogICAgIFdlYkZyYW1lKiB3ZWJG
cmFtZSh1aW50NjRfdCkgY29uc3Q7CkBAIC0yMzYsNiArMjQxLDggQEAgcHJpdmF0ZToKICAgICB2
b2lkIHZpc2l0ZWRMaW5rU3RhdGVDaGFuZ2VkKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpMaW5rSGFz
aD4mIGxpbmtIYXNoZXMpOwogICAgIHZvaWQgYWxsVmlzaXRlZExpbmtTdGF0ZUNoYW5nZWQoKTsK
IAorICAgIHZvaWQgcGx1Z0luQXV0b1N0YXJ0T3JpZ2luQ2hhbmdlZChXZWJDb3JlOjpQbHVnSW5P
cmlnaW5IYXNoKTsKKwogICAgIHZvaWQgcGxhdGZvcm1TZXRDYWNoZU1vZGVsKENhY2hlTW9kZWwp
OwogICAgIHN0YXRpYyB2b2lkIGNhbGN1bGF0ZUNhY2hlU2l6ZXMoQ2FjaGVNb2RlbCBjYWNoZU1v
ZGVsLCB1aW50NjRfdCBtZW1vcnlTaXplLCB1aW50NjRfdCBkaXNrRnJlZVNpemUsCiAgICAgICAg
IHVuc2lnbmVkJiBjYWNoZVRvdGFsQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1pbkRlYWRDYXBh
Y2l0eSwgdW5zaWduZWQmIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBkb3VibGUmIGRlYWREZWNvZGVk
RGF0YURlbGV0aW9uSW50ZXJ2YWwsCkBAIC0zMjgsNiArMzM1LDggQEAgcHJpdmF0ZToKICAgICBW
aXNpdGVkTGlua1RhYmxlIG1fdmlzaXRlZExpbmtUYWJsZTsKICAgICBib29sIG1fc2hvdWxkVHJh
Y2tWaXNpdGVkTGlua3M7CiAKKyAgICBQbHVnSW5BdXRvU3RhcnRUYWJsZSBtX2F1dG9TdGFydFRh
YmxlOworCiAgICAgYm9vbCBtX2hhc1NldENhY2hlTW9kZWw7CiAgICAgQ2FjaGVNb2RlbCBtX2Nh
Y2hlTW9kZWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5t
ZXNzYWdlcy5pbgppbmRleCBlZGNhZDM0ZmYzN2NlYTdhZDEzNWQ2ZDI2NDQyZTFkZWM0ODhkMzA2
Li5hNjBmZjMzZTJjZjRjZGZjMGY2ZjdlM2ExYWI0NWJmNjcwZWU4YWMzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC02Myw2ICs2
Myw3IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3MgewogICAgIEdldFNpdGVzV2l0aFBsdWdpbkRh
dGEoVmVjdG9yPFdURjo6U3RyaW5nPiBwbHVnaW5QYXRocywgdWludDY0X3QgY2FsbGJhY2tJRCkK
ICAgICBDbGVhclBsdWdpblNpdGVEYXRhKFZlY3RvcjxXVEY6OlN0cmluZz4gcGx1Z2luUGF0aHMs
IFZlY3RvcjxXVEY6OlN0cmluZz4gc2l0ZXMsIHVpbnQ2NF90IGZsYWdzLCB1aW50NjRfdCBtYXhB
Z2VJblNlY29uZHMsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAjZW5kaWYKKyAgICBQbHVnSW5BdXRv
U3RhcnRPcmlnaW5DaGFuZ2VkKHVpbnQ2NF90IGhhc2gpCiAKICNpZiBFTkFCTEUoTkVUV09SS19Q
Uk9DRVNTKQogICAgIE5ldHdvcmtQcm9jZXNzQ3Jhc2hlZCgpIERpc3BhdGNoT25Db25uZWN0aW9u
UXVldWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvaiBiL1Nv
dXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagppbmRleCAwNTdjYmYzZGIzNmZlODNkY2I1
Mzk2OGQwMDBhNmVlNzQ5MTljNTliLi45MWNkZDM4ZmFhZDVhNzdmZTM5NDA1NDMwMDZlNmM1MWY3
ODE0MDc2IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKKysr
IGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCkBAIC0xNTU4LDYgKzE1NTgsMTAg
QEAKIAkJCQlOYW1lPSJQbHVnaW5zIgogCQkJCT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXFNoYXJlZFxQbHVnaW5zXFBsdWdJbkF1dG9TdGFydFRhYmxlLmgiCisJCQkJCT4KKwkJ
CQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxTaGFyZWRcUGx1Z2lu
c1xQbHVnaW5Nb2R1bGVJbmZvLmNwcCIKIAkJCQkJPgogCQkJCTwvRmlsZT4KQEAgLTM4NjYsNiAr
Mzg3MCwxNCBAQAogCQkJCU5hbWU9IlBsdWdpbnMiCiAJCQkJPgogCQkJCTxGaWxlCisJCQkJCVJl
bGF0aXZlUGF0aD0iLi5cVUlQcm9jZXNzXFBsdWdpbnNcUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIu
Y3BwIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0i
Li5cVUlQcm9jZXNzXFBsdWdpbnNcUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCIKKwkJCQkJPgor
CQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xQ
bHVnaW5zXFBsdWdpbkluZm9TdG9yZS5jcHAiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178185</attachid>
            <date>2012-12-07 01:38:18 -0800</date>
            <delta_ts>2012-12-10 15:24:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103206-20121207013542.patch</filename>
            <type>text/plain</type>
            <size>80683</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2OTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTY0YmMxOTE2M2Q1YjA5
ZGUxNjFjMDgxY2I2NDQyOTE4MWUyNzMyZC4uMDkyMmY5ODM3ZTQxNDVjNzZjMTMyZDdlNWU5OWI2
NTRiN2JmYmI0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDEyLTEyLTA0ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBLZWVwIHRyYWNrIG9mIHBsdWctaW4g
c25hcHNob3RzIGNsaWNrZWQgYnkgdXNlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjc0NjQ4
Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0
bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OkhUTUxQbHVnSW5JbWFnZUVsZW1l
bnQpOiBJbml0aWFsbHkgdGhlIGhhc2ggaXMKKyAgICAgICAgdW5rbm93bi4gU2V0IHRvIDAuIE1v
dmUgdGhlIGNoZWNrIGZvciB3aGV0aGVyIHRvIHNuYXBzaG90IHRoZSBwbHVnaW4gaW50byB0aGUK
KyAgICAgICAgbmV3IGZ1bmN0aW9uIHN1YmZyYW1lTG9hZGVyV2lsbExvYWRQbHVnSW4uCisgICAg
ICAgIChXZWJDb3JlOjpIVE1MUGx1Z0luSW1hZ2VFbGVtZW50Ojp1c2VyRGlkQ2xpY2tTbmFwc2hv
dCk6IFJlbmFtZQorICAgICAgICBzZXRQZW5kaW5nQ2xpY2tFdmVudCgpIHRvIHVzZXJEaWRDbGlj
a1NuYXBzaG90LiBJbiBhZGRpdGlvbiB0byBob2xkaW5nIG9udG8gdGhlCisgICAgICAgIGNsaWNr
IGV2ZW50IHVzZWQgdG8gYWN0aXZhdGUgdGhlIHBsdWctaW4sIHRoZSBmdW5jdGlvbiBub3cgYWxz
byB0ZWxscyB0aGUgcGx1Zy1pbgorICAgICAgICBjbGllbnQgdG8gYWRkIHRoZSBvcmlnaW4gaGFz
aCBhcyBhbiBhdXRvLXN0YXJ0IG9yaWdpbi4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5J
bWFnZUVsZW1lbnQ6OnN1YmZyYW1lTG9hZGVyV2lsbExvYWRQbHVnSW4pOiBDYWxjdWxhdGUgdGhl
CisgICAgICAgIGhhc2ggYmFzZWQgb24gdGhlIHByb3ZpZGVkIFVSTCwgd2hpY2ggaXMgdGhlIFVS
TCB0aGUgcGx1Zy1pbiB3aWxsIGxvYWQuIEV4dGVuZAorICAgICAgICB0aGUgY2hlY2sgdGhhdCB1
c2VkIHRvIGJlIGluIHRoZSBjb25zdHJ1Y3RvciB0byBzZWUgaWYgdGhlIHBsdWctaW4gc2hvdWxk
IG5vdAorICAgICAgICBhdXRvbWF0aWNhbGx5IGxvYWQsIGluY2x1ZGluZyBjaGVja2luZyB0aGUg
cGx1Zy1pbiBzaXplIGFuZCB3aGV0aGVyIHRoZSBoYXNoCisgICAgICAgIGlzIGFuIGF1dG8tc3Rh
cnQgb3JpZ2luLgorICAgICAgICAqIGh0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5oOgorICAg
ICAgICAqIGxvYWRlci9TdWJmcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdWJm
cmFtZUxvYWRlcjo6cmVxdWVzdFBsdWdpbik6IFdoZW4gdGhlIGxvYWRlciBpcyBhYm91dCB0byBs
b2FkIHRoZQorICAgICAgICBwbHVnLWluLCBwYXNzIHRoZSBVUkwgdG8gdGhlIGVsZW1lbnQsIHNv
IHRoYXQgaXQgY2FuIGNhbGN1bGF0ZSB0aGUgaGFzaC4KKworICAgICAgICAqIHBhZ2UvUGFnZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpQYWdlKTogVGFrZSB0aGUgcGx1Z0luQ2xpZW50
IGZyb20gdGhlIHBhZ2UgY2xpZW50cy4KKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6On5QYWdlKTog
SWYgdGhlIGNsaWVudCBleGlzdHMsIHRlbGwgaXQgdGhhdCB0aGUgcGFnZSBpcyBiZWluZworICAg
ICAgICBkZXN0cm95ZWQuCisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpQYWdlQ2xpZW50czo6UGFn
ZUNsaWVudHMpOiBJbml0aWFsaXplIHRoaXMgb3B0aW9uYWwgY2xpZW50IHRvCisgICAgICAgIG51
bGwuCisgICAgICAgICogcGFnZS9QYWdlLmg6IFVwZGF0ZSBpbmRlbnRpbmcuIEFkZCBQbHVnSW5D
bGllbnQgdG8gcGFnZSBjbGllbnRzLgorICAgICAgICAoUGFnZUNsaWVudHMpOiBBZGQgcGx1Z0lu
Q2xpZW50IHZhcmlhYmxlLgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6cGx1Z0luQ2xpZW50KToK
KyAgICAgICAgKiBwYWdlL1BsdWdJbkNsaWVudC5oOiBBZGRlZC4KKworICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJTbmFwc2hvdHRlZFBsdWdJbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJTbmFwc2hvdHRlZFBsdWdJbjo6aGFuZGxlRXZlbnQpOiBDYWxsIHRoZSByZW5hbWVkIGZ1bmN0
aW9uCisgICAgICAgIHVzZXJEaWRDbGlja1NuYXBzaG90KCkuCisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJTbmFwc2hvdHRlZFBsdWdJbjo6bGF5b3V0KTogTW92ZSB0aGUgY2hlY2sgb2YgdGhlIHBs
dWctaW4gc2l6ZQorICAgICAgICB0byBzdWJmcmFtZUxvYWRlcldpbGxMb2FkUGx1Z0luLgorCisg
ICAgICAgIEFkZCBQbHVnSW5DbGllbnQuaC4KKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFt
OgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
CiAyMDEyLTEyLTA3ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWls
ZCBmaXguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKaW5kZXggMWYzMzgwYmRhYmE2YjFmN2Q3NjNkNzc1MzU1YzkzYWFlMjlk
MjYyOS4uMDY5ZGU4ZDc0NDczMTY2YTNjNTcwODJlNjQ5YmVmNjExNjRiMzNlYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDU2IEBACisyMDEyLTEyLTA0ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNv
bT4KKworICAgICAgICBLZWVwIHRyYWNrIG9mIHBsdWctaW4gc25hcHNob3RzIGNsaWNrZWQgYnkg
dXNlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAz
MjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjc0NjQ4Mz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDcmVhdGUgYSBuZXcgcHJvdmlkZXIgY2xh
c3MgZm9yIHRoZSB3ZWIgY29udGV4dCB0aGF0IG1haW50YWlucyBhIG1hcHBpbmcgb2YgdGhlIHBs
dWctaW4gb3JpZ2lucworICAgICAgICBhbGxvd2VkIHRvIGF1dG8tc3RhcnQgZm9yIGEgc3BlY2lm
aWMgcGFnZSBvcmlnaW4uCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OldlYlBhZ2UpOiBDcmVhdGUgYW5kIHNldCBX
ZWJQbHVnSW5DbGllbnQuCisKKyAgICAgICAgSW1wbGVtZW50IFdlYkNvcmU6OlBsdWdJbkNsaWVu
dC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsdWdJbkNsaWVudC5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQbHVnSW5DbGllbnQ6OldlYlBsdWdJbkNs
aWVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsdWdJbkNsaWVudDo6fldlYlBsdWdJbkNsaWVu
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsdWdJbkNsaWVudDo6cGFnZURlc3Ryb3llZCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBsdWdJbkNsaWVudDo6aXNBdXRvU3RhcnRPcmlnaW4pOiBGb3J3
YXJkIHRvIFdlYlByb2Nlc3MuCisgICAgICAgIChXZWJLaXQ6OldlYlBsdWdJbkNsaWVudDo6YWRk
QXV0b1N0YXJ0T3JpZ2luKTogRm9yd2FyZCB0byBXZWJQcm9jZXNzLgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGx1Z0luQ2xpZW50Lmg6IEFkZGVkLgorCisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDogTWFpbnRhaW5zIGEgY29weSBvZiB0aGUgaGFz
aCBzZXQuCisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmlzUGx1Z0luQXV0b1N0YXJ0T3Jp
Z2luKTogTG9vayBmb3IgdGhlIGhhc2ggaW4gdGhlIHNldC4KKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzczo6YWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luKTogVGVsbCB0aGUgVUkgcHJvY2VzcyB0
byBhZGQgdGhlIGhhc2ggZm9yIHRoZSBwYWdlLgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
OjpkaWRBZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW4pOiBBZGQgdGhlIGhhc2ggdG8gdGhlIGNhY2hl
ZCBzZXQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOiBBZGQgRGlkQWRkUGx1Z0luQXV0b1N0YXJ0
T3JpZ2luLgorCisgICAgICAgIEFkZCB0aGUgYXV0by1zdGFydCBwcm92aWRlci4KKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6
OldlYkNvbnRleHQpOiBJbml0aWFsaXplIHRoZSBwcm92aWRlci4KKyAgICAgICAgKFdlYktpdDo6
V2ViQ29udGV4dDo6YWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaCk6IEZvcndhcmQgdG8gdGhl
IHByb3ZpZGVyLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0Lmg6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYkNvbnRleHQubWVzc2FnZXMuaW46IEFkZCBBZGRQbHVnSW5BdXRvU3RhcnRP
cmlnaW5IYXNoLgorCisgICAgICAgIFRoZSBwcm92aWRlciBjbGFzcyBtYWludGFpbnMgYSBtYXAg
b2YgcGFnZSBkb21haW5zIHRvIGhhc2hlcywgYW5kIGEgc2V0IG9mIGFsbCB0aGUgaGFzaGVzLgor
ICAgICAgICBUaGUgbGF0dGVyIHdpbGwgYmUgdXNlZCB0byBpbml0aWFsaXplIG5ldyB3ZWIgcHJv
Y2Vzc2VzIHdpdGhvdXQgaGF2aW5nIHRvIGNyYXdsIHRocm91Z2ggdGhlCisgICAgICAgIHdob2xl
IG1hcC4KKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRQcm92aWRl
ci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpQbHVnSW5BdXRvU3RhcnRQcm92aWRlcjo6
UGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIpOgorICAgICAgICAoV2ViS2l0OjpQbHVnSW5BdXRvU3Rh
cnRQcm92aWRlcjo6YWRkQXV0b1N0YXJ0T3JpZ2luKTogQWRkIHRoZSBvcmlnaW4gdG8gdGhlIG1h
cCBhbmQgc2V0LiBUZWxsCisgICAgICAgIGFsbCBwcm9jZXNzZXMgdG8gYWRkIHRoZSBvcmlnaW4g
dG8gdGhlaXIgbG9jYWwgY29waWVzLgorICAgICAgICAqIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdJ
bkF1dG9TdGFydFByb3ZpZGVyLmg6IEFkZGVkLgorCisgICAgICAgIEFkZCBQbHVnSW5BdXRvU3Rh
cnRQcm92aWRlciBhbmQgV2ViUGx1Z0luQ2xpZW50LgorICAgICAgICAqIENNYWtlTGlzdHMudHh0
OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToK
KyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
d2luL1dlYktpdDIudmNwcm9qOgorCiAyMDEyLTEyLTA2ICBSaWNrIEJ5ZXJzICA8cmJ5ZXJzQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBDU1MgY3Vyc29yIHByb3BlcnR5IHNob3VsZCBzdXBwb3J0
IHdlYmtpdC1pbWFnZS1zZXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGI3MDQ2
Y2NjNGFkNTE0ZjY2MzcyMTdkMTQxNjk4ZDI3NDQ1MDRiMWIuLjc2OTc5NzU0ZGM3MWRiYTEyYjY2
MTU1MzRjZGFiOTlkMDdmMmZjNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAt
NDEwNyw2ICs0MTA3LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlVGltaW5nLmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VVc2VyVGltaW5nLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVVzZXJU
aW1pbmcuaCBcCisJU291cmNlL1dlYkNvcmUvcGFnZS9QbHVnSW5DbGllbnQuaCBcCiAJU291cmNl
L1dlYkNvcmUvcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29y
ZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL1Bv
cHVwT3BlbmluZ09ic2VydmVyLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0
LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggNWI0Njg3YzQxNDA1YjgyNWY0
NTViY2Q5MGU0ZTk0MjEyZWE3ODgxMC4uYmIyY2MxMjE5M2Q4MzVhMjEzZjhhOGZjZjdiYTY5YTE2
OTkxZGU0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0yMDU0LDYgKzIwNTQsNyBAQCBIRUFERVJTICs9IFwK
ICAgICBwYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oIFwKICAgICBwYWdlL1BhZ2UuaCBcCiAg
ICAgcGFnZS9QYWdlVmlzaWJpbGl0eVN0YXRlLmggXAorICAgIHBhZ2UvUGx1Z0luQ2xpZW50Lmgg
XAogICAgIHBhZ2UvUG9wdXBPcGVuaW5nT2JzZXJ2ZXIuaCBcCiAgICAgcGFnZS9QcmludENvbnRl
eHQuaCBcCiAgICAgcGFnZS9TY3JlZW4uaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGFiYzA5ZWI4NjE2MjA3MjU1YTc4NjM5N2M1ZTViZjUw
ZjQ0ZmNlM2UuLmFlMTlhNTk2ZTg3ZWE5ODU4YTUzMjY5MjdjYjdjMzdjYmJjN2JlZmMgMTAwNzU1
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yNzI5NCw2
ICsyNzI5NCwxMCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxwYWdlXFBsdWdJbkNsaWVudC5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxl
CiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXFBvcHB1cE9wZW5pbmdPYnNlcnZlci5oIgogCQkJ
CT4KIAkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCA3ZTZiNjZkNWVmMWM0MzllNzExMjdlYzEzNzAyN2FlMzE0YWU1
NjY1Li5jNDdhYzM0ZjZiNGUwM2Q2MzllNGZkMmJmYzhhYTMyNGI1OWZkYzNhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05NDks
NiArOTQ5LDcgQEAKIAkJMzFDMEZGNEMwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5z
aXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMzFDMEZGNDYwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5o
ICovOyB9OwogCQkzMUMwRkY0RDBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlv
bkV2ZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MzFDMEZGNDcwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5tbSAq
LzsgfTsKIAkJMzFDMEZGNEUwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25F
dmVudEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAzMUMwRkY0ODBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50
SW50ZXJuYWwuaCAqLzsgfTsKKwkJMzFENTkxQjMxNjY5N0E2QzAwRTZCRjAyIC8qIFBsdWdJbkNs
aWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFE
NTkxQjExNjY5N0E2QzAwRTZCRjAyIC8qIFBsdWdJbkNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTMxRDU5MUJCMTY2QzJFNkMwMEU2QkYw
MiAvKiBQbHVnSW5PcmlnaW5IYXNoLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDMxRDU5MUI5MTY2QzJFNkMwMEU2QkYwMiAvKiBQbHVnSW5PcmlnaW5I
YXNoLmNwcCAqLzsgfTsKIAkJMzFENTkxQkMxNjZDMkU2QzAwRTZCRjAyIC8qIFBsdWdJbk9yaWdp
bkhhc2guaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMx
RDU5MUJBMTY2QzJFNkMwMEU2QkYwMiAvKiBQbHVnSW5PcmlnaW5IYXNoLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoKTsgfTsgfTsKIAkJMzFFQzFFMjgxNEZGNjBFRTAwQzk0NjYyIC8q
IEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRUMxRTI2MTRGRjYwRUUwMEM5NDY2MiAvKiBK
U05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5jcHAgKi87IH07CkBAIC04MTQ3LDYgKzgx
NDgsNyBAQAogCQkzMUMwRkY0NjBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlv
bkV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdlYktpdFRyYW5z
aXRpb25FdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUMwRkY0NzBFNENF
RkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50Lm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50Lm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUMwRkY0ODBFNENFRkREMDA3RDZGRTUgLyog
RE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50SW50ZXJuYWwuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFENTkxQjExNjY5N0E2QzAwRTZCRjAyIC8qIFBsdWdJbkNs
aWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVnSW5DbGllbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFENTkxQjkxNjZDMkU2QzAwRTZCRjAyIC8q
IFBsdWdJbk9yaWdpbkhhc2guY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gUGx1Z0luT3JpZ2luSGFzaC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMx
RDU5MUJBMTY2QzJFNkMwMEU2QkYwMiAvKiBQbHVnSW5PcmlnaW5IYXNoLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsdWdJbk9yaWdpbkhhc2guaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMzFFOEQ4QkExNjBCQzk0QjAwNENFOEY1IC8qIFJlbmRlclNuYXBzaG90
dGVkUGx1Z0luLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRl
clNuYXBzaG90dGVkUGx1Z0luLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2
MDcwLDYgKzE2MDcyLDcgQEAKIAkJCQk4QUY0RTU1ODExREM1QTYzMDAwRUQzREUgLyogUGVyZm9y
bWFuY2VUaW1pbmcuY3BwICovLAogCQkJCThBRjRFNTU5MTFEQzVBNjMwMDBFRDNERSAvKiBQZXJm
b3JtYW5jZVRpbWluZy5oICovLAogCQkJCThBRjRFNTVBMTFEQzVBNjMwMDBFRDNERSAvKiBQZXJm
b3JtYW5jZVRpbWluZy5pZGwgKi8sCisJCQkJMzFENTkxQjExNjY5N0E2QzAwRTZCRjAyIC8qIFBs
dWdJbkNsaWVudC5oICovLAogCQkJCTM3NzJCMDk1MTY1MzU4NTYwMDBBNDlDQSAvKiBQb3B1cE9w
ZW5pbmdPYnNlcnZlci5oICovLAogCQkJCUI3NzZENDNDMTEwNDUyNzUwMEJFQjBFQyAvKiBQcmlu
dENvbnRleHQuY3BwICovLAogCQkJCUI3NzZENDNBMTEwNDUyNUQwMEJFQjBFQyAvKiBQcmludENv
bnRleHQuaCAqLywKQEAgLTI1ODk1LDYgKzI1ODk4LDcgQEAKIAkJCQlERUJDQ0RENDE2NjQ2RUFG
MDBBNDUyRTEgLyogTWVkaWFDb250cm9sRWxlbWVudFR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlENjY4MTdGQjE2NkZFNkQ3MDBGQTA3QjQgLyogSFRNTFRlbXBsYXRlRWxlbWVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRDY0ODlEMjYxNjZGRkNGMTAwN0MwMzFCIC8qIEpTSFRNTFRlbXBsYXRl
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFENTkxQjMxNjY5N0E2QzAwRTZCRjAyIC8q
IFBsdWdJbkNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzFENTkxQkMxNjZDMkU2QzAwRTZC
RjAyIC8qIFBsdWdJbk9yaWdpbkhhc2guaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAKaW5kZXggNTkwNGNjODViYjkzYmNkYjNiZWRm
MDE1MzkzNWQyNTYxMWIyNDUzYS4uODA3MTM3NjgxNzlmZjdlZTU2YmJjMzU0MjVlYzU0ODViNmY5
MWRlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQu
Y3BwCkBAIC0yNyw5ICsyNywxMiBAQAogI2luY2x1ZGUgIkhUTUxJbWFnZUxvYWRlci5oIgogI2lu
Y2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkltYWdlLmgiCisjaW5jbHVkZSAiTG9nZ2lu
Zy5oIgogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJOb2RlUmVuZGVyU3R5bGUu
aCIKICNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAiUGx1Z0luQ2xpZW50LmgiCisjaW5jbHVk
ZSAiUGx1Z0luT3JpZ2luSGFzaC5oIgogI2luY2x1ZGUgIlJlbmRlckVtYmVkZGVkT2JqZWN0Lmgi
CiAjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJTbmFwc2hvdHRlZFBs
dWdJbi5oIgpAQCAtMzksNiArNDIsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0YXRp
YyBjb25zdCBpbnQgYXV0b1N0YXJ0UGx1Z0luU2l6ZVRocmVzaG9sZFdpZHRoID0gMTsKK3N0YXRp
YyBjb25zdCBpbnQgYXV0b1N0YXJ0UGx1Z0luU2l6ZVRocmVzaG9sZEhlaWdodCA9IDE7CiAvLyBU
aGlzIGRlbGF5IHNob3VsZCBub3QgZXhjZWVkIHRoZSBzbmFwc2hvdCBkZWxheSBpbiBQbHVnaW5W
aWV3LmNwcAogc3RhdGljIGNvbnN0IGRvdWJsZSBzaW11bGF0ZWRNb3VzZUNsaWNrVGltZXJEZWxh
eSA9IC43NTsKIApAQCAtNTQsMTEgKzU5LDYgQEAgSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6SFRN
TFBsdWdJbkltYWdlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2MKICAg
ICAsIG1fc2ltdWxhdGVkTW91c2VDbGlja1RpbWVyKHRoaXMsICZIVE1MUGx1Z0luSW1hZ2VFbGVt
ZW50OjpzaW11bGF0ZWRNb3VzZUNsaWNrVGltZXJGaXJlZCwgc2ltdWxhdGVkTW91c2VDbGlja1Rp
bWVyRGVsYXkpCiB7CiAgICAgc2V0SGFzQ3VzdG9tQ2FsbGJhY2tzKCk7Ci0KLSAgICBpZiAoZG9j
dW1lbnQtPnBhZ2UoKQotICAgICAgICAmJiBkb2N1bWVudC0+cGFnZSgpLT5zZXR0aW5ncygpLT5w
bHVnSW5TbmFwc2hvdHRpbmdFbmFibGVkKCkKLSAgICAgICAgJiYgIVNjcmlwdENvbnRyb2xsZXI6
OnByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpKQotICAgICAgICBzZXREaXNwbGF5U3RhdGUoV2FpdGlu
Z0ZvclNuYXBzaG90KTsKIH0KIAogSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6fkhUTUxQbHVnSW5J
bWFnZUVsZW1lbnQoKQpAQCAtMjYwLDkgKzI2MCwxMSBAQCB2b2lkIEhUTUxQbHVnSW5JbWFnZUVs
ZW1lbnQ6OnVwZGF0ZVNuYXBzaG90KFBhc3NSZWZQdHI8SW1hZ2U+IGltYWdlKQogICAgIHNldERp
c3BsYXlTdGF0ZShEaXNwbGF5aW5nU25hcHNob3QpOwogfQogCi12b2lkIEhUTUxQbHVnSW5JbWFn
ZUVsZW1lbnQ6OnNldFBlbmRpbmdDbGlja0V2ZW50KFBhc3NSZWZQdHI8TW91c2VFdmVudD4gZXZl
bnQpCit2b2lkIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OnVzZXJEaWRDbGlja1NuYXBzaG90KFBh
c3NSZWZQdHI8TW91c2VFdmVudD4gZXZlbnQpCiB7CiAgICAgbV9wZW5kaW5nQ2xpY2tFdmVudEZy
b21TbmFwc2hvdCA9IGV2ZW50OworICAgIGlmIChkb2N1bWVudCgpLT5wYWdlKCkpCisgICAgICAg
IGRvY3VtZW50KCktPnBhZ2UoKS0+cGx1Z0luQ2xpZW50KCktPmFkZEF1dG9TdGFydE9yaWdpbihk
b2N1bWVudCgpLT5wYWdlKCktPm1haW5GcmFtZSgpLT5kb2N1bWVudCgpLT5iYXNlVVJMKCkuaG9z
dCgpLCBtX3BsdWdJbk9yaWdpbkhhc2gpOwogfQogCiB2b2lkIEhUTUxQbHVnSW5JbWFnZUVsZW1l
bnQ6OmRpc3BhdGNoUGVuZGluZ01vdXNlQ2xpY2soKQpAQCAtMjgyLDQgKzI4NCw0NSBAQCB2b2lk
IEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OnNpbXVsYXRlZE1vdXNlQ2xpY2tUaW1lckZpcmVkKERl
ZmVycmFibGVPbmVTaG90VGltZQogICAgIG1fcGVuZGluZ0NsaWNrRXZlbnRGcm9tU25hcHNob3Qg
PSBudWxscHRyOwogfQogCit2b2lkIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OnN1YmZyYW1lTG9h
ZGVyV2lsbExvYWRQbHVnSW4oY29uc3QgS1VSTCYgdXJsKQoreworICAgIGlmICghZG9jdW1lbnQo
KS0+cGFnZSgpCisgICAgICAgIHx8ICFkb2N1bWVudCgpLT5wYWdlKCktPnNldHRpbmdzKCktPnBs
dWdJblNuYXBzaG90dGluZ0VuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFy
ZW5kZXJlcigpLT5pc1NuYXBzaG90dGVkUGx1Z0luKCkpIHsKKyAgICAgICAgTE9HKFBsdWdpbnMs
ICIlcCBSZW5kZXJlciBpcyBub3Qgc25hcHNob3R0ZWQgcGx1Z2luLCBzZXQgdG8gcGxheSIsIHRo
aXMpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmIChTY3JpcHRDb250cm9sbGVyOjpw
cm9jZXNzaW5nVXNlckdlc3R1cmUoKSkgeworICAgICAgICBMT0coUGx1Z2lucywgIiVwIFNjcmlw
dCBpcyBwcm9jZXNzaW5nIHVzZXIgZ2VzdHVyZSwgc2V0IHRvIHBsYXkiLCB0aGlzKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIExheW91dFJlY3QgcmVjdCA9IHRvUmVuZGVyU25hcHNo
b3R0ZWRQbHVnSW4ocmVuZGVyZXIoKSktPmNvbnRlbnRCb3hSZWN0KCk7CisgICAgaW50IHdpZHRo
ID0gcmVjdC53aWR0aCgpOworICAgIGludCBoZWlnaHQgPSByZWN0LmhlaWdodCgpOworICAgIGlm
ICghd2lkdGggfHwgIWhlaWdodCB8fCAod2lkdGggPD0gYXV0b1N0YXJ0UGx1Z0luU2l6ZVRocmVz
aG9sZFdpZHRoICYmIGhlaWdodCA8PSBhdXRvU3RhcnRQbHVnSW5TaXplVGhyZXNob2xkSGVpZ2h0
KSkgeworICAgICAgICBMT0coUGx1Z2lucywgIiVwIFBsdWdpbiBpcyAlZHglZCwgc2V0IHRvIHBs
YXkiLCB0aGlzLCB3aWR0aCwgaGVpZ2h0KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IGlmICghZG9jdW1lbnQoKS0+cGFnZSgpIHx8ICFkb2N1bWVudCgpLT5wYWdlKCktPnBsdWdJbkNs
aWVudCgpKSB7CisgICAgICAgIHNldERpc3BsYXlTdGF0ZShXYWl0aW5nRm9yU25hcHNob3QpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgTE9HKFBsdWdpbnMsICIlcCBQbHVnaW4gVVJM
OiAlcyIsIHRoaXMsIG1fdXJsLnV0ZjgoKS5kYXRhKCkpOworICAgIExPRyhQbHVnaW5zLCAiICAg
bG9hZGVkIFVSTDogJXMiLCB1cmwuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CisgICAgCisgICAg
bV9wbHVnSW5PcmlnaW5IYXNoID0gUGx1Z0luT3JpZ2luSGFzaDo6aGFzaCh0aGlzLCB1cmwpOwor
ICAgIGlmIChtX3BsdWdJbk9yaWdpbkhhc2ggJiYgZG9jdW1lbnQoKS0+cGFnZSgpLT5wbHVnSW5D
bGllbnQoKS0+aXNBdXRvU3RhcnRPcmlnaW4obV9wbHVnSW5PcmlnaW5IYXNoKSkgeworICAgICAg
ICBMT0coUGx1Z2lucywgIiVwIFBsdWdpbiBoYXNoICV4IGlzIGF1dG8tc3RhcnQsIHNldCB0byBw
bGF5IiwgdGhpcywgbV9wbHVnSW5PcmlnaW5IYXNoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIExPRyhQbHVnaW5zLCAiJXAgUGx1Z2luIGhhc2ggJXggaXMgJWR4JWQsIG9yaWdpbiBp
cyBub3QgYXV0by1zdGFydCwgc2V0IHRvIHdhaXQgZm9yIHNuYXBzaG90IiwgdGhpcywgbV9wbHVn
SW5PcmlnaW5IYXNoLCB3aWR0aCwgaGVpZ2h0KTsKKyAgICBzZXREaXNwbGF5U3RhdGUoV2FpdGlu
Z0ZvclNuYXBzaG90KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuaAppbmRleCBjNWJmNmZhMWY5MWUxZTgy
ZDA4YmNhMmMwMmM3M2RhYjJjN2E4OTNkLi4yYjg0M2NlYjJhZWFhMWNkN2U3NThmMDAzYjMxZWM1
OTU4MmY1MGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFn
ZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1l
bnQuaApAQCAtNTksNyArNTksMTAgQEAgcHVibGljOgogICAgIGJvb2wgbmVlZHNXaWRnZXRVcGRh
dGUoKSBjb25zdCB7IHJldHVybiBtX25lZWRzV2lkZ2V0VXBkYXRlOyB9CiAgICAgdm9pZCBzZXRO
ZWVkc1dpZGdldFVwZGF0ZShib29sIG5lZWRzV2lkZ2V0VXBkYXRlKSB7IG1fbmVlZHNXaWRnZXRV
cGRhdGUgPSBuZWVkc1dpZGdldFVwZGF0ZTsgfQogCi0gICAgdm9pZCBzZXRQZW5kaW5nQ2xpY2tF
dmVudChQYXNzUmVmUHRyPE1vdXNlRXZlbnQ+KTsKKyAgICB2b2lkIHVzZXJEaWRDbGlja1NuYXBz
aG90KFBhc3NSZWZQdHI8TW91c2VFdmVudD4pOworCisgICAgLy8gUGx1Zy1pbiBVUkwgbWlnaHQg
bm90IGJlIHRoZSBzYW1lIGFzIHVybCgpIHdpdGggb3ZlcnJpZGluZyBwYXJhbWV0ZXJzLgorICAg
IHZvaWQgc3ViZnJhbWVMb2FkZXJXaWxsTG9hZFBsdWdJbihjb25zdCBLVVJMJiBwbHVnSW5VUkwp
OwogCiBwcm90ZWN0ZWQ6CiAgICAgSFRNTFBsdWdJbkltYWdlRWxlbWVudChjb25zdCBRdWFsaWZp
ZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCosIGJvb2wgY3JlYXRlZEJ5UGFyc2VyLCBQcmVmZXJQ
bHVnSW5zRm9ySW1hZ2VzT3B0aW9uKTsKQEAgLTEwMyw2ICsxMDYsNyBAQCBwcml2YXRlOgogICAg
IFJlZlB0cjxSZW5kZXJTdHlsZT4gbV9jdXN0b21TdHlsZUZvclBhZ2VDYWNoZTsKICAgICBSZWZQ
dHI8TW91c2VFdmVudD4gbV9wZW5kaW5nQ2xpY2tFdmVudEZyb21TbmFwc2hvdDsKICAgICBEZWZl
cnJhYmxlT25lU2hvdFRpbWVyPEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ+IG1fc2ltdWxhdGVkTW91
c2VDbGlja1RpbWVyOworICAgIHVuc2lnbmVkIG1fcGx1Z0luT3JpZ2luSGFzaDsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9T
dWJmcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIu
Y3BwCmluZGV4IDkyZWE5NzM3NjdlOGM0NzI1MGI2ZGIyYmY0MDRkMzQ4ZTU0NTIyZjEuLmQxYWI3
ZTU2ZTkyMmU0MzU3YmY5MjI1ZTJiYTE5YzRhODNlMzkzNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1N1YmZyYW1lTG9hZGVyLmNwcApAQCAtMTU2LDYgKzE1Niw3IEBAIGJvb2wgU3ViZnJhbWVM
b2FkZXI6OnJlcXVlc3RQbHVnaW4oSFRNTFBsdWdJbkltYWdlRWxlbWVudCogb3duZXJFbGVtZW50
LCBjb25zdCBLCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIEFTU0VSVChvd25lckVsZW1l
bnQtPmhhc1RhZ05hbWUob2JqZWN0VGFnKSB8fCBvd25lckVsZW1lbnQtPmhhc1RhZ05hbWUoZW1i
ZWRUYWcpKTsKKyAgICBvd25lckVsZW1lbnQtPnN1YmZyYW1lTG9hZGVyV2lsbExvYWRQbHVnSW4o
dXJsKTsKICAgICByZXR1cm4gbG9hZFBsdWdpbihvd25lckVsZW1lbnQsIHVybCwgbWltZVR5cGUs
IHBhcmFtTmFtZXMsIHBhcmFtVmFsdWVzLCB1c2VGYWxsYmFjayk7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
Y3BwCmluZGV4IDlkNTM1OTc2MTJhMmEwOTUxMGVmYmJmNjU1ZTVhYWQ4ZGFiNWUzOTUuLjk4YzJj
ZDZiOWNkMzJjZjNhZDZmMWQyZTJmMTc1ZDQ3MzI4ZmJlNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApA
QCAtNTMsNiArNTMsNyBAQAogI2luY2x1ZGUgIk5ldHdvcmtTdGF0ZU5vdGlmaWVyLmgiCiAjaW5j
bHVkZSAiUGFnZUNhY2hlLmgiCiAjaW5jbHVkZSAiUGFnZUdyb3VwLmgiCisjaW5jbHVkZSAiUGx1
Z0luQ2xpZW50LmgiCiAjaW5jbHVkZSAiUGx1Z2luRGF0YS5oIgogI2luY2x1ZGUgIlBsdWdpblZp
ZXcuaCIKICNpbmNsdWRlICJQb2ludGVyTG9ja0NvbnRyb2xsZXIuaCIKQEAgLTEzNCw2ICsxMzUs
NyBAQCBQYWdlOjpQYWdlKFBhZ2VDbGllbnRzJiBwYWdlQ2xpZW50cykKICAgICAsIG1fYmFja0Zv
cndhcmRDb250cm9sbGVyKEJhY2tGb3J3YXJkQ29udHJvbGxlcjo6Y3JlYXRlKHRoaXMsIHBhZ2VD
bGllbnRzLmJhY2tGb3J3YXJkQ2xpZW50KSkKICAgICAsIG1fdGhlbWUoUmVuZGVyVGhlbWU6OnRo
ZW1lRm9yUGFnZSh0aGlzKSkKICAgICAsIG1fZWRpdG9yQ2xpZW50KHBhZ2VDbGllbnRzLmVkaXRv
ckNsaWVudCkKKyAgICAsIG1fcGx1Z0luQ2xpZW50KHBhZ2VDbGllbnRzLnBsdWdJbkNsaWVudCkK
ICAgICAsIG1fdmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQocGFnZUNsaWVudHMudmFsaWRhdGlvbk1l
c3NhZ2VDbGllbnQpCiAgICAgLCBtX3N1YmZyYW1lQ291bnQoMCkKICAgICAsIG1fb3BlbmVkQnlE
T00oZmFsc2UpCkBAIC0xOTksNiArMjAxLDggQEAgUGFnZTo6flBhZ2UoKQogICAgIH0KIAogICAg
IG1fZWRpdG9yQ2xpZW50LT5wYWdlRGVzdHJveWVkKCk7CisgICAgaWYgKG1fcGx1Z0luQ2xpZW50
KQorICAgICAgICBtX3BsdWdJbkNsaWVudC0+cGFnZURlc3Ryb3llZCgpOwogICAgIGlmIChtX2Fs
dGVybmF0aXZlVGV4dENsaWVudCkKICAgICAgICAgbV9hbHRlcm5hdGl2ZVRleHRDbGllbnQtPnBh
Z2VEZXN0cm95ZWQoKTsKIApAQCAtMTMzNSw2ICsxMzM5LDcgQEAgUGFnZTo6UGFnZUNsaWVudHM6
OlBhZ2VDbGllbnRzKCkKICAgICAsIGVkaXRvckNsaWVudCgwKQogICAgICwgZHJhZ0NsaWVudCgw
KQogICAgICwgaW5zcGVjdG9yQ2xpZW50KDApCisgICAgLCBwbHVnSW5DbGllbnQoMCkKICAgICAs
IHZhbGlkYXRpb25NZXNzYWdlQ2xpZW50KDApCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IDQ0M2Fi
MjYwYjE5NGIzNzVlYmVlZWZjZGE3NGMwYjY0ZmEzNmIwMGMuLjVlNTllZjAwNDUwNTFiZDg5ZjU4
ZWRmNjVlMTYxNWZiMDBiYjdhODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC00Nyw0MzYgKzQ3LDQ0MCBA
QAogI2VuZGlmCiAKIG5hbWVzcGFjZSBKU0MgewotICAgIGNsYXNzIERlYnVnZ2VyOworY2xhc3Mg
RGVidWdnZXI7CiB9CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIEFsdGVybmF0
aXZlVGV4dENsaWVudDsKLSAgICBjbGFzcyBCYWNrRm9yd2FyZENvbnRyb2xsZXI7Ci0gICAgY2xh
c3MgQmFja0ZvcndhcmRMaXN0OwotICAgIGNsYXNzIENocm9tZTsKLSAgICBjbGFzcyBDaHJvbWVD
bGllbnQ7CitjbGFzcyBBbHRlcm5hdGl2ZVRleHRDbGllbnQ7CitjbGFzcyBCYWNrRm9yd2FyZENv
bnRyb2xsZXI7CitjbGFzcyBCYWNrRm9yd2FyZExpc3Q7CitjbGFzcyBDaHJvbWU7CitjbGFzcyBD
aHJvbWVDbGllbnQ7CiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi0gICAgY2xhc3MgQ29udGV4
dE1lbnVDbGllbnQ7Ci0gICAgY2xhc3MgQ29udGV4dE1lbnVDb250cm9sbGVyOworY2xhc3MgQ29u
dGV4dE1lbnVDbGllbnQ7CitjbGFzcyBDb250ZXh0TWVudUNvbnRyb2xsZXI7CiAjZW5kaWYKLSAg
ICBjbGFzcyBEb2N1bWVudDsKLSAgICBjbGFzcyBEcmFnQ2FyZXRDb250cm9sbGVyOwotICAgIGNs
YXNzIERyYWdDbGllbnQ7Ci0gICAgY2xhc3MgRHJhZ0NvbnRyb2xsZXI7Ci0gICAgY2xhc3MgRWRp
dG9yQ2xpZW50OwotICAgIGNsYXNzIEZvY3VzQ29udHJvbGxlcjsKLSAgICBjbGFzcyBGcmFtZTsK
LSAgICBjbGFzcyBGcmFtZVNlbGVjdGlvbjsKLSAgICBjbGFzcyBIYWx0YWJsZVBsdWdpbjsKLSAg
ICBjbGFzcyBIaXN0b3J5SXRlbTsKLSAgICBjbGFzcyBJbnNwZWN0b3JDbGllbnQ7Ci0gICAgY2xh
c3MgSW5zcGVjdG9yQ29udHJvbGxlcjsKLSAgICBjbGFzcyBNZWRpYUNhblN0YXJ0TGlzdGVuZXI7
Ci0gICAgY2xhc3MgTm9kZTsKLSAgICBjbGFzcyBQYWdlR3JvdXA7Ci0gICAgY2xhc3MgUGx1Z2lu
RGF0YTsKLSAgICBjbGFzcyBQbHVnaW5WaWV3QmFzZTsKLSAgICBjbGFzcyBQb2ludGVyTG9ja0Nv
bnRyb2xsZXI7Ci0gICAgY2xhc3MgUHJvZ3Jlc3NUcmFja2VyOwotICAgIGNsYXNzIFJhbmdlOwot
ICAgIGNsYXNzIFJlbmRlck9iamVjdDsKLSAgICBjbGFzcyBSZW5kZXJUaGVtZTsKLSAgICBjbGFz
cyBWaXNpYmxlU2VsZWN0aW9uOwotICAgIGNsYXNzIFNjcm9sbGFibGVBcmVhOwotICAgIGNsYXNz
IFNjcm9sbGluZ0Nvb3JkaW5hdG9yOwotICAgIGNsYXNzIFNldHRpbmdzOwotICAgIGNsYXNzIFN0
b3JhZ2VOYW1lc3BhY2U7Ci0gICAgY2xhc3MgVmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQ7Ci0KLSAg
ICB0eXBlZGVmIHVpbnQ2NF90IExpbmtIYXNoOwotCi0gICAgZW51bSBGaW5kRGlyZWN0aW9uIHsg
RmluZERpcmVjdGlvbkZvcndhcmQsIEZpbmREaXJlY3Rpb25CYWNrd2FyZCB9OwotCi0gICAgZmxv
YXQgZGV2aWNlU2NhbGVGYWN0b3IoRnJhbWUqKTsKLQotICAgIHN0cnVjdCBBcmVuYVNpemUgewot
ICAgICAgICBBcmVuYVNpemUoc2l6ZV90IHRyZWVTaXplLCBzaXplX3QgYWxsb2NhdGVkKQotICAg
ICAgICAgICAgOiB0cmVlU2l6ZSh0cmVlU2l6ZSkKLSAgICAgICAgICAgICwgYWxsb2NhdGVkKGFs
bG9jYXRlZCkKLSAgICAgICAgewotICAgICAgICB9Ci0gICAgICAgIHNpemVfdCB0cmVlU2l6ZTsK
LSAgICAgICAgc2l6ZV90IGFsbG9jYXRlZDsKLSAgICB9OwotCi0gICAgY2xhc3MgUGFnZSA6IHB1
YmxpYyBTdXBwbGVtZW50YWJsZTxQYWdlPiB7Ci0gICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFBhZ2UpOwotICAgICAgICBmcmllbmQgY2xhc3MgU2V0dGluZ3M7CitjbGFzcyBEb2N1bWVudDsK
K2NsYXNzIERyYWdDYXJldENvbnRyb2xsZXI7CitjbGFzcyBEcmFnQ2xpZW50OworY2xhc3MgRHJh
Z0NvbnRyb2xsZXI7CitjbGFzcyBFZGl0b3JDbGllbnQ7CitjbGFzcyBGb2N1c0NvbnRyb2xsZXI7
CitjbGFzcyBGcmFtZTsKK2NsYXNzIEZyYW1lU2VsZWN0aW9uOworY2xhc3MgSGFsdGFibGVQbHVn
aW47CitjbGFzcyBIaXN0b3J5SXRlbTsKK2NsYXNzIEluc3BlY3RvckNsaWVudDsKK2NsYXNzIElu
c3BlY3RvckNvbnRyb2xsZXI7CitjbGFzcyBNZWRpYUNhblN0YXJ0TGlzdGVuZXI7CitjbGFzcyBO
b2RlOworY2xhc3MgUGFnZUdyb3VwOworY2xhc3MgUGx1Z0luQ2xpZW50OworY2xhc3MgUGx1Z2lu
RGF0YTsKK2NsYXNzIFBsdWdpblZpZXdCYXNlOworY2xhc3MgUG9pbnRlckxvY2tDb250cm9sbGVy
OworY2xhc3MgUHJvZ3Jlc3NUcmFja2VyOworY2xhc3MgUmFuZ2U7CitjbGFzcyBSZW5kZXJPYmpl
Y3Q7CitjbGFzcyBSZW5kZXJUaGVtZTsKK2NsYXNzIFZpc2libGVTZWxlY3Rpb247CitjbGFzcyBT
Y3JvbGxhYmxlQXJlYTsKK2NsYXNzIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOworY2xhc3MgU2V0dGlu
Z3M7CitjbGFzcyBTdG9yYWdlTmFtZXNwYWNlOworY2xhc3MgVmFsaWRhdGlvbk1lc3NhZ2VDbGll
bnQ7CisKK3R5cGVkZWYgdWludDY0X3QgTGlua0hhc2g7CisKK2VudW0gRmluZERpcmVjdGlvbiB7
IEZpbmREaXJlY3Rpb25Gb3J3YXJkLCBGaW5kRGlyZWN0aW9uQmFja3dhcmQgfTsKKworZmxvYXQg
ZGV2aWNlU2NhbGVGYWN0b3IoRnJhbWUqKTsKKworc3RydWN0IEFyZW5hU2l6ZSB7CisgICAgQXJl
bmFTaXplKHNpemVfdCB0cmVlU2l6ZSwgc2l6ZV90IGFsbG9jYXRlZCkKKyAgICAgICAgOiB0cmVl
U2l6ZSh0cmVlU2l6ZSkKKyAgICAgICAgLCBhbGxvY2F0ZWQoYWxsb2NhdGVkKQorICAgIHsKKyAg
ICB9CisgICAgc2l6ZV90IHRyZWVTaXplOworICAgIHNpemVfdCBhbGxvY2F0ZWQ7Cit9OworCitj
bGFzcyBQYWdlIDogcHVibGljIFN1cHBsZW1lbnRhYmxlPFBhZ2U+IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShQYWdlKTsKKyAgICBmcmllbmQgY2xhc3MgU2V0dGluZ3M7CitwdWJsaWM6Cisg
ICAgc3RhdGljIHZvaWQgc2NoZWR1bGVGb3JjZWRTdHlsZVJlY2FsY0ZvckFsbFBhZ2VzKCk7CisK
KyAgICAvLyBJdCBpcyB1cCB0byB0aGUgcGxhdGZvcm0gdG8gZW5zdXJlIHRoYXQgbm9uLW51bGwg
Y2xpZW50cyBhcmUgcHJvdmlkZWQgd2hlcmUgcmVxdWlyZWQuCisgICAgc3RydWN0IFBhZ2VDbGll
bnRzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNsaWVudHMpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyB2b2lkIHNjaGVk
dWxlRm9yY2VkU3R5bGVSZWNhbGNGb3JBbGxQYWdlcygpOwotCi0gICAgICAgIC8vIEl0IGlzIHVw
IHRvIHRoZSBwbGF0Zm9ybSB0byBlbnN1cmUgdGhhdCBub24tbnVsbCBjbGllbnRzIGFyZSBwcm92
aWRlZCB3aGVyZSByZXF1aXJlZC4KLSAgICAgICAgc3RydWN0IFBhZ2VDbGllbnRzIHsKLSAgICAg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VDbGllbnRzKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7Ci0gICAgICAgIHB1YmxpYzoKLSAgICAgICAgICAgIFBhZ2VDbGllbnRzKCk7Ci0g
ICAgICAgICAgICB+UGFnZUNsaWVudHMoKTsKKyAgICAgICAgUGFnZUNsaWVudHMoKTsKKyAgICAg
ICAgflBhZ2VDbGllbnRzKCk7CiAKLSAgICAgICAgICAgIEFsdGVybmF0aXZlVGV4dENsaWVudCog
YWx0ZXJuYXRpdmVUZXh0Q2xpZW50OwotICAgICAgICAgICAgQ2hyb21lQ2xpZW50KiBjaHJvbWVD
bGllbnQ7CisgICAgICAgIEFsdGVybmF0aXZlVGV4dENsaWVudCogYWx0ZXJuYXRpdmVUZXh0Q2xp
ZW50OworICAgICAgICBDaHJvbWVDbGllbnQqIGNocm9tZUNsaWVudDsKICNpZiBFTkFCTEUoQ09O
VEVYVF9NRU5VUykKLSAgICAgICAgICAgIENvbnRleHRNZW51Q2xpZW50KiBjb250ZXh0TWVudUNs
aWVudDsKKyAgICAgICAgQ29udGV4dE1lbnVDbGllbnQqIGNvbnRleHRNZW51Q2xpZW50OwogI2Vu
ZGlmCi0gICAgICAgICAgICBFZGl0b3JDbGllbnQqIGVkaXRvckNsaWVudDsKLSAgICAgICAgICAg
IERyYWdDbGllbnQqIGRyYWdDbGllbnQ7Ci0gICAgICAgICAgICBJbnNwZWN0b3JDbGllbnQqIGlu
c3BlY3RvckNsaWVudDsKLSAgICAgICAgICAgIFJlZlB0cjxCYWNrRm9yd2FyZExpc3Q+IGJhY2tG
b3J3YXJkQ2xpZW50OwotICAgICAgICAgICAgVmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQqIHZhbGlk
YXRpb25NZXNzYWdlQ2xpZW50OwotICAgICAgICB9OworICAgICAgICBFZGl0b3JDbGllbnQqIGVk
aXRvckNsaWVudDsKKyAgICAgICAgRHJhZ0NsaWVudCogZHJhZ0NsaWVudDsKKyAgICAgICAgSW5z
cGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDbGllbnQ7CisgICAgICAgIFBsdWdJbkNsaWVudCogcGx1
Z0luQ2xpZW50OworICAgICAgICBSZWZQdHI8QmFja0ZvcndhcmRMaXN0PiBiYWNrRm9yd2FyZENs
aWVudDsKKyAgICAgICAgVmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQqIHZhbGlkYXRpb25NZXNzYWdl
Q2xpZW50OworICAgIH07CiAKLSAgICAgICAgZXhwbGljaXQgUGFnZShQYWdlQ2xpZW50cyYpOwot
ICAgICAgICB+UGFnZSgpOworICAgIGV4cGxpY2l0IFBhZ2UoUGFnZUNsaWVudHMmKTsKKyAgICB+
UGFnZSgpOwogCi0gICAgICAgIEFyZW5hU2l6ZSByZW5kZXJUcmVlU2l6ZSgpIGNvbnN0OworICAg
IEFyZW5hU2l6ZSByZW5kZXJUcmVlU2l6ZSgpIGNvbnN0OwogCi0gICAgICAgIHZvaWQgc2V0TmVl
ZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzKCk7CisgICAgdm9pZCBzZXROZWVkc1JlY2FsY1N0eWxl
SW5BbGxGcmFtZXMoKTsKIAotICAgICAgICBSZW5kZXJUaGVtZSogdGhlbWUoKSBjb25zdCB7IHJl
dHVybiBtX3RoZW1lLmdldCgpOyB9OworICAgIFJlbmRlclRoZW1lKiB0aGVtZSgpIGNvbnN0IHsg
cmV0dXJuIG1fdGhlbWUuZ2V0KCk7IH07CiAKLSAgICAgICAgVmlld3BvcnRBcmd1bWVudHMgdmll
d3BvcnRBcmd1bWVudHMoKSBjb25zdDsKKyAgICBWaWV3cG9ydEFyZ3VtZW50cyB2aWV3cG9ydEFy
Z3VtZW50cygpIGNvbnN0OwogCi0gICAgICAgIHN0YXRpYyB2b2lkIHJlZnJlc2hQbHVnaW5zKGJv
b2wgcmVsb2FkKTsKLSAgICAgICAgUGx1Z2luRGF0YSogcGx1Z2luRGF0YSgpIGNvbnN0OworICAg
IHN0YXRpYyB2b2lkIHJlZnJlc2hQbHVnaW5zKGJvb2wgcmVsb2FkKTsKKyAgICBQbHVnaW5EYXRh
KiBwbHVnaW5EYXRhKCkgY29uc3Q7CiAKLSAgICAgICAgdm9pZCBzZXRDYW5TdGFydE1lZGlhKGJv
b2wpOwotICAgICAgICBib29sIGNhblN0YXJ0TWVkaWEoKSBjb25zdCB7IHJldHVybiBtX2NhblN0
YXJ0TWVkaWE7IH0KKyAgICB2b2lkIHNldENhblN0YXJ0TWVkaWEoYm9vbCk7CisgICAgYm9vbCBj
YW5TdGFydE1lZGlhKCkgY29uc3QgeyByZXR1cm4gbV9jYW5TdGFydE1lZGlhOyB9CiAKLSAgICAg
ICAgRWRpdG9yQ2xpZW50KiBlZGl0b3JDbGllbnQoKSBjb25zdCB7IHJldHVybiBtX2VkaXRvckNs
aWVudDsgfQorICAgIEVkaXRvckNsaWVudCogZWRpdG9yQ2xpZW50KCkgY29uc3QgeyByZXR1cm4g
bV9lZGl0b3JDbGllbnQ7IH0KKyAgICBQbHVnSW5DbGllbnQqIHBsdWdJbkNsaWVudCgpIGNvbnN0
IHsgcmV0dXJuIG1fcGx1Z0luQ2xpZW50OyB9CiAKLSAgICAgICAgdm9pZCBzZXRNYWluRnJhbWUo
UGFzc1JlZlB0cjxGcmFtZT4pOwotICAgICAgICBGcmFtZSogbWFpbkZyYW1lKCkgY29uc3QgeyBy
ZXR1cm4gbV9tYWluRnJhbWUuZ2V0KCk7IH0KKyAgICB2b2lkIHNldE1haW5GcmFtZShQYXNzUmVm
UHRyPEZyYW1lPik7CisgICAgRnJhbWUqIG1haW5GcmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWFp
bkZyYW1lLmdldCgpOyB9CiAKLSAgICAgICAgYm9vbCBvcGVuZWRCeURPTSgpIGNvbnN0OwotICAg
ICAgICB2b2lkIHNldE9wZW5lZEJ5RE9NKCk7CisgICAgYm9vbCBvcGVuZWRCeURPTSgpIGNvbnN0
OworICAgIHZvaWQgc2V0T3BlbmVkQnlET00oKTsKIAotICAgICAgICAvLyBERVBSRUNBVEVELiBV
c2UgYmFja0ZvcndhcmQoKSBpbnN0ZWFkIG9mIHRoZSBmb2xsb3dpbmcgNiBmdW5jdGlvbnMuCi0g
ICAgICAgIEJhY2tGb3J3YXJkTGlzdCogYmFja0ZvcndhcmRMaXN0KCkgY29uc3Q7Ci0gICAgICAg
IGJvb2wgZ29CYWNrKCk7Ci0gICAgICAgIGJvb2wgZ29Gb3J3YXJkKCk7Ci0gICAgICAgIGJvb2wg
Y2FuR29CYWNrT3JGb3J3YXJkKGludCBkaXN0YW5jZSkgY29uc3Q7Ci0gICAgICAgIHZvaWQgZ29C
YWNrT3JGb3J3YXJkKGludCBkaXN0YW5jZSk7Ci0gICAgICAgIGludCBnZXRIaXN0b3J5TGVuZ3Ro
KCk7CisgICAgLy8gREVQUkVDQVRFRC4gVXNlIGJhY2tGb3J3YXJkKCkgaW5zdGVhZCBvZiB0aGUg
Zm9sbG93aW5nIDYgZnVuY3Rpb25zLgorICAgIEJhY2tGb3J3YXJkTGlzdCogYmFja0ZvcndhcmRM
aXN0KCkgY29uc3Q7CisgICAgYm9vbCBnb0JhY2soKTsKKyAgICBib29sIGdvRm9yd2FyZCgpOwor
ICAgIGJvb2wgY2FuR29CYWNrT3JGb3J3YXJkKGludCBkaXN0YW5jZSkgY29uc3Q7CisgICAgdm9p
ZCBnb0JhY2tPckZvcndhcmQoaW50IGRpc3RhbmNlKTsKKyAgICBpbnQgZ2V0SGlzdG9yeUxlbmd0
aCgpOwogCi0gICAgICAgIHZvaWQgZ29Ub0l0ZW0oSGlzdG9yeUl0ZW0qLCBGcmFtZUxvYWRUeXBl
KTsKKyAgICB2b2lkIGdvVG9JdGVtKEhpc3RvcnlJdGVtKiwgRnJhbWVMb2FkVHlwZSk7CiAKLSAg
ICAgICAgdm9pZCBzZXRHcm91cE5hbWUoY29uc3QgU3RyaW5nJik7Ci0gICAgICAgIGNvbnN0IFN0
cmluZyYgZ3JvdXBOYW1lKCkgY29uc3Q7CisgICAgdm9pZCBzZXRHcm91cE5hbWUoY29uc3QgU3Ry
aW5nJik7CisgICAgY29uc3QgU3RyaW5nJiBncm91cE5hbWUoKSBjb25zdDsKIAotICAgICAgICBQ
YWdlR3JvdXAmIGdyb3VwKCkgeyBpZiAoIW1fZ3JvdXApIGluaXRHcm91cCgpOyByZXR1cm4gKm1f
Z3JvdXA7IH0KLSAgICAgICAgUGFnZUdyb3VwKiBncm91cFB0cigpIHsgcmV0dXJuIG1fZ3JvdXA7
IH0gLy8gY2FuIHJldHVybiAwCisgICAgUGFnZUdyb3VwJiBncm91cCgpIHsgaWYgKCFtX2dyb3Vw
KSBpbml0R3JvdXAoKTsgcmV0dXJuICptX2dyb3VwOyB9CisgICAgUGFnZUdyb3VwKiBncm91cFB0
cigpIHsgcmV0dXJuIG1fZ3JvdXA7IH0gLy8gY2FuIHJldHVybiAwCiAKLSAgICAgICAgdm9pZCBp
bmNyZW1lbnRTdWJmcmFtZUNvdW50KCkgeyArK21fc3ViZnJhbWVDb3VudDsgfQotICAgICAgICB2
b2lkIGRlY3JlbWVudFN1YmZyYW1lQ291bnQoKSB7IEFTU0VSVChtX3N1YmZyYW1lQ291bnQpOyAt
LW1fc3ViZnJhbWVDb3VudDsgfQotICAgICAgICBpbnQgc3ViZnJhbWVDb3VudCgpIGNvbnN0IHsg
Y2hlY2tTdWJmcmFtZUNvdW50Q29uc2lzdGVuY3koKTsgcmV0dXJuIG1fc3ViZnJhbWVDb3VudDsg
fQorICAgIHZvaWQgaW5jcmVtZW50U3ViZnJhbWVDb3VudCgpIHsgKyttX3N1YmZyYW1lQ291bnQ7
IH0KKyAgICB2b2lkIGRlY3JlbWVudFN1YmZyYW1lQ291bnQoKSB7IEFTU0VSVChtX3N1YmZyYW1l
Q291bnQpOyAtLW1fc3ViZnJhbWVDb3VudDsgfQorICAgIGludCBzdWJmcmFtZUNvdW50KCkgY29u
c3QgeyBjaGVja1N1YmZyYW1lQ291bnRDb25zaXN0ZW5jeSgpOyByZXR1cm4gbV9zdWJmcmFtZUNv
dW50OyB9CiAKLSAgICAgICAgQ2hyb21lKiBjaHJvbWUoKSBjb25zdCB7IHJldHVybiBtX2Nocm9t
ZS5nZXQoKTsgfQotICAgICAgICBEcmFnQ2FyZXRDb250cm9sbGVyKiBkcmFnQ2FyZXRDb250cm9s
bGVyKCkgY29uc3QgeyByZXR1cm4gbV9kcmFnQ2FyZXRDb250cm9sbGVyLmdldCgpOyB9CisgICAg
Q2hyb21lKiBjaHJvbWUoKSBjb25zdCB7IHJldHVybiBtX2Nocm9tZS5nZXQoKTsgfQorICAgIERy
YWdDYXJldENvbnRyb2xsZXIqIGRyYWdDYXJldENvbnRyb2xsZXIoKSBjb25zdCB7IHJldHVybiBt
X2RyYWdDYXJldENvbnRyb2xsZXIuZ2V0KCk7IH0KICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQot
ICAgICAgICBEcmFnQ29udHJvbGxlciogZHJhZ0NvbnRyb2xsZXIoKSBjb25zdCB7IHJldHVybiBt
X2RyYWdDb250cm9sbGVyLmdldCgpOyB9CisgICAgRHJhZ0NvbnRyb2xsZXIqIGRyYWdDb250cm9s
bGVyKCkgY29uc3QgeyByZXR1cm4gbV9kcmFnQ29udHJvbGxlci5nZXQoKTsgfQogI2VuZGlmCi0g
ICAgICAgIEZvY3VzQ29udHJvbGxlciogZm9jdXNDb250cm9sbGVyKCkgY29uc3QgeyByZXR1cm4g
bV9mb2N1c0NvbnRyb2xsZXIuZ2V0KCk7IH0KKyAgICBGb2N1c0NvbnRyb2xsZXIqIGZvY3VzQ29u
dHJvbGxlcigpIGNvbnN0IHsgcmV0dXJuIG1fZm9jdXNDb250cm9sbGVyLmdldCgpOyB9CiAjaWYg
RU5BQkxFKENPTlRFWFRfTUVOVVMpCi0gICAgICAgIENvbnRleHRNZW51Q29udHJvbGxlciogY29u
dGV4dE1lbnVDb250cm9sbGVyKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZXh0TWVudUNvbnRyb2xs
ZXIuZ2V0KCk7IH0KKyAgICBDb250ZXh0TWVudUNvbnRyb2xsZXIqIGNvbnRleHRNZW51Q29udHJv
bGxlcigpIGNvbnN0IHsgcmV0dXJuIG1fY29udGV4dE1lbnVDb250cm9sbGVyLmdldCgpOyB9CiAj
ZW5kaWYKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQotICAgICAgICBJbnNwZWN0b3JDb250cm9sbGVy
KiBpbnNwZWN0b3JDb250cm9sbGVyKCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JDb250cm9s
bGVyLmdldCgpOyB9CisgICAgSW5zcGVjdG9yQ29udHJvbGxlciogaW5zcGVjdG9yQ29udHJvbGxl
cigpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yQ29udHJvbGxlci5nZXQoKTsgfQogI2VuZGlm
CiAjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKLSAgICAgICAgUG9pbnRlckxvY2tDb250cm9sbGVy
KiBwb2ludGVyTG9ja0NvbnRyb2xsZXIoKSBjb25zdCB7IHJldHVybiBtX3BvaW50ZXJMb2NrQ29u
dHJvbGxlci5nZXQoKTsgfQorICAgIFBvaW50ZXJMb2NrQ29udHJvbGxlciogcG9pbnRlckxvY2tD
b250cm9sbGVyKCkgY29uc3QgeyByZXR1cm4gbV9wb2ludGVyTG9ja0NvbnRyb2xsZXIuZ2V0KCk7
IH0KICNlbmRpZgotICAgICAgICBWYWxpZGF0aW9uTWVzc2FnZUNsaWVudCogdmFsaWRhdGlvbk1l
c3NhZ2VDbGllbnQoKSBjb25zdCB7IHJldHVybiBtX3ZhbGlkYXRpb25NZXNzYWdlQ2xpZW50OyB9
CisgICAgVmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQqIHZhbGlkYXRpb25NZXNzYWdlQ2xpZW50KCkg
Y29uc3QgeyByZXR1cm4gbV92YWxpZGF0aW9uTWVzc2FnZUNsaWVudDsgfQogCi0gICAgICAgIFNj
cm9sbGluZ0Nvb3JkaW5hdG9yKiBzY3JvbGxpbmdDb29yZGluYXRvcigpOworICAgIFNjcm9sbGlu
Z0Nvb3JkaW5hdG9yKiBzY3JvbGxpbmdDb29yZGluYXRvcigpOwogCi0gICAgICAgIFN0cmluZyBz
Y3JvbGxpbmdTdGF0ZVRyZWVBc1RleHQoKTsKKyAgICBTdHJpbmcgc2Nyb2xsaW5nU3RhdGVUcmVl
QXNUZXh0KCk7CiAKLSAgICAgICAgU2V0dGluZ3MqIHNldHRpbmdzKCkgY29uc3QgeyByZXR1cm4g
bV9zZXR0aW5ncy5nZXQoKTsgfQotICAgICAgICBQcm9ncmVzc1RyYWNrZXIqIHByb2dyZXNzKCkg
Y29uc3QgeyByZXR1cm4gbV9wcm9ncmVzcy5nZXQoKTsgfQotICAgICAgICBCYWNrRm9yd2FyZENv
bnRyb2xsZXIqIGJhY2tGb3J3YXJkKCkgY29uc3QgeyByZXR1cm4gbV9iYWNrRm9yd2FyZENvbnRy
b2xsZXIuZ2V0KCk7IH0KKyAgICBTZXR0aW5ncyogc2V0dGluZ3MoKSBjb25zdCB7IHJldHVybiBt
X3NldHRpbmdzLmdldCgpOyB9CisgICAgUHJvZ3Jlc3NUcmFja2VyKiBwcm9ncmVzcygpIGNvbnN0
IHsgcmV0dXJuIG1fcHJvZ3Jlc3MuZ2V0KCk7IH0KKyAgICBCYWNrRm9yd2FyZENvbnRyb2xsZXIq
IGJhY2tGb3J3YXJkKCkgY29uc3QgeyByZXR1cm4gbV9iYWNrRm9yd2FyZENvbnRyb2xsZXIuZ2V0
KCk7IH0KIAotICAgICAgICBGZWF0dXJlT2JzZXJ2ZXIqIGZlYXR1cmVPYnNlcnZlcigpIHsgcmV0
dXJuICZtX2ZlYXR1cmVPYnNlcnZlcjsgfQorICAgIEZlYXR1cmVPYnNlcnZlciogZmVhdHVyZU9i
c2VydmVyKCkgeyByZXR1cm4gJm1fZmVhdHVyZU9ic2VydmVyOyB9CiAKLSAgICAgICAgZW51bSBW
aWV3TW9kZSB7Ci0gICAgICAgICAgICBWaWV3TW9kZUludmFsaWQsCi0gICAgICAgICAgICBWaWV3
TW9kZVdpbmRvd2VkLAotICAgICAgICAgICAgVmlld01vZGVGbG9hdGluZywKLSAgICAgICAgICAg
IFZpZXdNb2RlRnVsbHNjcmVlbiwKLSAgICAgICAgICAgIFZpZXdNb2RlTWF4aW1pemVkLAotICAg
ICAgICAgICAgVmlld01vZGVNaW5pbWl6ZWQKLSAgICAgICAgfTsKLSAgICAgICAgc3RhdGljIFZp
ZXdNb2RlIHN0cmluZ1RvVmlld01vZGUoY29uc3QgU3RyaW5nJik7CisgICAgZW51bSBWaWV3TW9k
ZSB7CisgICAgICAgIFZpZXdNb2RlSW52YWxpZCwKKyAgICAgICAgVmlld01vZGVXaW5kb3dlZCwK
KyAgICAgICAgVmlld01vZGVGbG9hdGluZywKKyAgICAgICAgVmlld01vZGVGdWxsc2NyZWVuLAor
ICAgICAgICBWaWV3TW9kZU1heGltaXplZCwKKyAgICAgICAgVmlld01vZGVNaW5pbWl6ZWQKKyAg
ICB9OworICAgIHN0YXRpYyBWaWV3TW9kZSBzdHJpbmdUb1ZpZXdNb2RlKGNvbnN0IFN0cmluZyYp
OwogCi0gICAgICAgIFZpZXdNb2RlIHZpZXdNb2RlKCkgY29uc3QgeyByZXR1cm4gbV92aWV3TW9k
ZTsgfQotICAgICAgICB2b2lkIHNldFZpZXdNb2RlKFZpZXdNb2RlKTsKLSAgICAgICAgCi0gICAg
ICAgIHZvaWQgc2V0VGFiS2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRzKGJvb2wgYikgeyBtX3RhYktl
eUN5Y2xlc1Rocm91Z2hFbGVtZW50cyA9IGI7IH0KLSAgICAgICAgYm9vbCB0YWJLZXlDeWNsZXNU
aHJvdWdoRWxlbWVudHMoKSBjb25zdCB7IHJldHVybiBtX3RhYktleUN5Y2xlc1Rocm91Z2hFbGVt
ZW50czsgfQorICAgIFZpZXdNb2RlIHZpZXdNb2RlKCkgY29uc3QgeyByZXR1cm4gbV92aWV3TW9k
ZTsgfQorICAgIHZvaWQgc2V0Vmlld01vZGUoVmlld01vZGUpOworICAgIAorICAgIHZvaWQgc2V0
VGFiS2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRzKGJvb2wgYikgeyBtX3RhYktleUN5Y2xlc1Rocm91
Z2hFbGVtZW50cyA9IGI7IH0KKyAgICBib29sIHRhYktleUN5Y2xlc1Rocm91Z2hFbGVtZW50cygp
IGNvbnN0IHsgcmV0dXJuIG1fdGFiS2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRzOyB9CiAKLSAgICAg
ICAgYm9vbCBmaW5kU3RyaW5nKGNvbnN0IFN0cmluZyYsIEZpbmRPcHRpb25zKTsKLSAgICAgICAg
Ly8gRklYTUU6IFN3aXRjaCBjYWxsZXJzIG92ZXIgdG8gdGhlIEZpbmRPcHRpb25zIHZlcnNpb24g
YW5kIHJldGlyZSB0aGlzIG9uZS4KLSAgICAgICAgYm9vbCBmaW5kU3RyaW5nKGNvbnN0IFN0cmlu
ZyYsIFRleHRDYXNlU2Vuc2l0aXZpdHksIEZpbmREaXJlY3Rpb24sIGJvb2wgc2hvdWxkV3JhcCk7
CisgICAgYm9vbCBmaW5kU3RyaW5nKGNvbnN0IFN0cmluZyYsIEZpbmRPcHRpb25zKTsKKyAgICAv
LyBGSVhNRTogU3dpdGNoIGNhbGxlcnMgb3ZlciB0byB0aGUgRmluZE9wdGlvbnMgdmVyc2lvbiBh
bmQgcmV0aXJlIHRoaXMgb25lLgorICAgIGJvb2wgZmluZFN0cmluZyhjb25zdCBTdHJpbmcmLCBU
ZXh0Q2FzZVNlbnNpdGl2aXR5LCBGaW5kRGlyZWN0aW9uLCBib29sIHNob3VsZFdyYXApOwogCi0g
ICAgICAgIFBhc3NSZWZQdHI8UmFuZ2U+IHJhbmdlT2ZTdHJpbmcoY29uc3QgU3RyaW5nJiwgUmFu
Z2UqLCBGaW5kT3B0aW9ucyk7CisgICAgUGFzc1JlZlB0cjxSYW5nZT4gcmFuZ2VPZlN0cmluZyhj
b25zdCBTdHJpbmcmLCBSYW5nZSosIEZpbmRPcHRpb25zKTsKIAotICAgICAgICB1bnNpZ25lZCBt
YXJrQWxsTWF0Y2hlc0ZvclRleHQoY29uc3QgU3RyaW5nJiwgRmluZE9wdGlvbnMsIGJvb2wgc2hv
dWxkSGlnaGxpZ2h0LCB1bnNpZ25lZCk7Ci0gICAgICAgIC8vIEZJWE1FOiBTd2l0Y2ggY2FsbGVy
cyBvdmVyIHRvIHRoZSBGaW5kT3B0aW9ucyB2ZXJzaW9uIGFuZCByZXRpcmUgdGhpcyBvbmUuCi0g
ICAgICAgIHVuc2lnbmVkIG1hcmtBbGxNYXRjaGVzRm9yVGV4dChjb25zdCBTdHJpbmcmLCBUZXh0
Q2FzZVNlbnNpdGl2aXR5LCBib29sIHNob3VsZEhpZ2hsaWdodCwgdW5zaWduZWQpOwotICAgICAg
ICB2b2lkIHVubWFya0FsbFRleHRNYXRjaGVzKCk7CisgICAgdW5zaWduZWQgbWFya0FsbE1hdGNo
ZXNGb3JUZXh0KGNvbnN0IFN0cmluZyYsIEZpbmRPcHRpb25zLCBib29sIHNob3VsZEhpZ2hsaWdo
dCwgdW5zaWduZWQpOworICAgIC8vIEZJWE1FOiBTd2l0Y2ggY2FsbGVycyBvdmVyIHRvIHRoZSBG
aW5kT3B0aW9ucyB2ZXJzaW9uIGFuZCByZXRpcmUgdGhpcyBvbmUuCisgICAgdW5zaWduZWQgbWFy
a0FsbE1hdGNoZXNGb3JUZXh0KGNvbnN0IFN0cmluZyYsIFRleHRDYXNlU2Vuc2l0aXZpdHksIGJv
b2wgc2hvdWxkSGlnaGxpZ2h0LCB1bnNpZ25lZCk7CisgICAgdm9pZCB1bm1hcmtBbGxUZXh0TWF0
Y2hlcygpOwogCiAjaWYgUExBVEZPUk0oTUFDKQotICAgICAgICB2b2lkIGFkZFNjaGVkdWxlUGFp
cihQYXNzUmVmUHRyPFNjaGVkdWxlUGFpcj4pOwotICAgICAgICB2b2lkIHJlbW92ZVNjaGVkdWxl
UGFpcihQYXNzUmVmUHRyPFNjaGVkdWxlUGFpcj4pOwotICAgICAgICBTY2hlZHVsZVBhaXJIYXNo
U2V0KiBzY2hlZHVsZWRSdW5Mb29wUGFpcnMoKSB7IHJldHVybiBtX3NjaGVkdWxlZFJ1bkxvb3BQ
YWlycy5nZXQoKTsgfQorICAgIHZvaWQgYWRkU2NoZWR1bGVQYWlyKFBhc3NSZWZQdHI8U2NoZWR1
bGVQYWlyPik7CisgICAgdm9pZCByZW1vdmVTY2hlZHVsZVBhaXIoUGFzc1JlZlB0cjxTY2hlZHVs
ZVBhaXI+KTsKKyAgICBTY2hlZHVsZVBhaXJIYXNoU2V0KiBzY2hlZHVsZWRSdW5Mb29wUGFpcnMo
KSB7IHJldHVybiBtX3NjaGVkdWxlZFJ1bkxvb3BQYWlycy5nZXQoKTsgfQogCi0gICAgICAgIE93
blB0cjxTY2hlZHVsZVBhaXJIYXNoU2V0PiBtX3NjaGVkdWxlZFJ1bkxvb3BQYWlyczsKKyAgICBP
d25QdHI8U2NoZWR1bGVQYWlySGFzaFNldD4gbV9zY2hlZHVsZWRSdW5Mb29wUGFpcnM7CiAjZW5k
aWYKIAotICAgICAgICBjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBzZWxlY3Rpb24oKSBjb25zdDsK
KyAgICBjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBzZWxlY3Rpb24oKSBjb25zdDsKIAotICAgICAg
ICB2b2lkIHNldERlZmVyc0xvYWRpbmcoYm9vbCk7Ci0gICAgICAgIGJvb2wgZGVmZXJzTG9hZGlu
ZygpIGNvbnN0IHsgcmV0dXJuIG1fZGVmZXJzTG9hZGluZzsgfQotICAgICAgICAKLSAgICAgICAg
dm9pZCBjbGVhclVuZG9SZWRvT3BlcmF0aW9ucygpOworICAgIHZvaWQgc2V0RGVmZXJzTG9hZGlu
Zyhib29sKTsKKyAgICBib29sIGRlZmVyc0xvYWRpbmcoKSBjb25zdCB7IHJldHVybiBtX2RlZmVy
c0xvYWRpbmc7IH0KKyAgICAKKyAgICB2b2lkIGNsZWFyVW5kb1JlZG9PcGVyYXRpb25zKCk7CiAK
LSAgICAgICAgYm9vbCBpbkxvd1F1YWxpdHlJbWFnZUludGVycG9sYXRpb25Nb2RlKCkgY29uc3Q7
Ci0gICAgICAgIHZvaWQgc2V0SW5Mb3dRdWFsaXR5SW1hZ2VJbnRlcnBvbGF0aW9uTW9kZShib29s
ID0gdHJ1ZSk7CisgICAgYm9vbCBpbkxvd1F1YWxpdHlJbWFnZUludGVycG9sYXRpb25Nb2RlKCkg
Y29uc3Q7CisgICAgdm9pZCBzZXRJbkxvd1F1YWxpdHlJbWFnZUludGVycG9sYXRpb25Nb2RlKGJv
b2wgPSB0cnVlKTsKIAotICAgICAgICBmbG9hdCBtZWRpYVZvbHVtZSgpIGNvbnN0IHsgcmV0dXJu
IG1fbWVkaWFWb2x1bWU7IH0KLSAgICAgICAgdm9pZCBzZXRNZWRpYVZvbHVtZShmbG9hdCB2b2x1
bWUpOworICAgIGZsb2F0IG1lZGlhVm9sdW1lKCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYVZvbHVt
ZTsgfQorICAgIHZvaWQgc2V0TWVkaWFWb2x1bWUoZmxvYXQgdm9sdW1lKTsKIAotICAgICAgICB2
b2lkIHNldFBhZ2VTY2FsZUZhY3RvcihmbG9hdCBzY2FsZSwgY29uc3QgSW50UG9pbnQmIG9yaWdp
bik7Ci0gICAgICAgIGZsb2F0IHBhZ2VTY2FsZUZhY3RvcigpIGNvbnN0IHsgcmV0dXJuIG1fcGFn
ZVNjYWxlRmFjdG9yOyB9CisgICAgdm9pZCBzZXRQYWdlU2NhbGVGYWN0b3IoZmxvYXQgc2NhbGUs
IGNvbnN0IEludFBvaW50JiBvcmlnaW4pOworICAgIGZsb2F0IHBhZ2VTY2FsZUZhY3RvcigpIGNv
bnN0IHsgcmV0dXJuIG1fcGFnZVNjYWxlRmFjdG9yOyB9CiAKLSAgICAgICAgZmxvYXQgZGV2aWNl
U2NhbGVGYWN0b3IoKSBjb25zdCB7IHJldHVybiBtX2RldmljZVNjYWxlRmFjdG9yOyB9Ci0gICAg
ICAgIHZvaWQgc2V0RGV2aWNlU2NhbGVGYWN0b3IoZmxvYXQpOworICAgIGZsb2F0IGRldmljZVNj
YWxlRmFjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9kZXZpY2VTY2FsZUZhY3RvcjsgfQorICAgIHZv
aWQgc2V0RGV2aWNlU2NhbGVGYWN0b3IoZmxvYXQpOwogCi0gICAgICAgIGJvb2wgc2hvdWxkU3Vw
cHJlc3NTY3JvbGxiYXJBbmltYXRpb25zKCkgY29uc3QgeyByZXR1cm4gbV9zdXBwcmVzc1Njcm9s
bGJhckFuaW1hdGlvbnM7IH0KLSAgICAgICAgdm9pZCBzZXRTaG91bGRTdXBwcmVzc1Njcm9sbGJh
ckFuaW1hdGlvbnMoYm9vbCBzdXBwcmVzc0FuaW1hdGlvbnMpOworICAgIGJvb2wgc2hvdWxkU3Vw
cHJlc3NTY3JvbGxiYXJBbmltYXRpb25zKCkgY29uc3QgeyByZXR1cm4gbV9zdXBwcmVzc1Njcm9s
bGJhckFuaW1hdGlvbnM7IH0KKyAgICB2b2lkIHNldFNob3VsZFN1cHByZXNzU2Nyb2xsYmFyQW5p
bWF0aW9ucyhib29sIHN1cHByZXNzQW5pbWF0aW9ucyk7CiAKLSAgICAgICAgLy8gUGFnZSBhbmQg
RnJhbWVWaWV3IGJvdGggc3RvcmUgYSBQYWdpbmF0aW9uIHZhbHVlLiBQYWdlOjpwYWdpbmF0aW9u
KCkgaXMgc2V0IG9ubHkgYnkgQVBJLAotICAgICAgICAvLyBhbmQgRnJhbWVWaWV3OjpwYWdpbmF0
aW9uKCkgaXMgc2V0IG9ubHkgYnkgQ1NTLiBQYWdlOjpwYWdpbmF0aW9uKCkgd2lsbCBhZmZlY3Qg
YWxsCi0gICAgICAgIC8vIEZyYW1lVmlld3MgaW4gdGhlIHBhZ2UgY2FjaGUsIGJ1dCBGcmFtZVZp
ZXc6OnBhZ2luYXRpb24oKSBvbmx5IGFmZmVjdHMgdGhlIGN1cnJlbnQKLSAgICAgICAgLy8gRnJh
bWVWaWV3LiAKLSAgICAgICAgY29uc3QgUGFnaW5hdGlvbiYgcGFnaW5hdGlvbigpIGNvbnN0IHsg
cmV0dXJuIG1fcGFnaW5hdGlvbjsgfQotICAgICAgICB2b2lkIHNldFBhZ2luYXRpb24oY29uc3Qg
UGFnaW5hdGlvbiYpOworICAgIC8vIFBhZ2UgYW5kIEZyYW1lVmlldyBib3RoIHN0b3JlIGEgUGFn
aW5hdGlvbiB2YWx1ZS4gUGFnZTo6cGFnaW5hdGlvbigpIGlzIHNldCBvbmx5IGJ5IEFQSSwKKyAg
ICAvLyBhbmQgRnJhbWVWaWV3OjpwYWdpbmF0aW9uKCkgaXMgc2V0IG9ubHkgYnkgQ1NTLiBQYWdl
OjpwYWdpbmF0aW9uKCkgd2lsbCBhZmZlY3QgYWxsCisgICAgLy8gRnJhbWVWaWV3cyBpbiB0aGUg
cGFnZSBjYWNoZSwgYnV0IEZyYW1lVmlldzo6cGFnaW5hdGlvbigpIG9ubHkgYWZmZWN0cyB0aGUg
Y3VycmVudAorICAgIC8vIEZyYW1lVmlldy4gCisgICAgY29uc3QgUGFnaW5hdGlvbiYgcGFnaW5h
dGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fcGFnaW5hdGlvbjsgfQorICAgIHZvaWQgc2V0UGFnaW5h
dGlvbihjb25zdCBQYWdpbmF0aW9uJik7CiAKLSAgICAgICAgdW5zaWduZWQgcGFnZUNvdW50KCkg
Y29uc3Q7CisgICAgdW5zaWduZWQgcGFnZUNvdW50KCkgY29uc3Q7CiAKLSAgICAgICAgLy8gTm90
aWZpY2F0aW9ucyB3aGVuIHRoZSBQYWdlIHN0YXJ0cyBhbmQgc3RvcHMgYmVpbmcgcHJlc2VudGVk
IHZpYSBhIG5hdGl2ZSB3aW5kb3cuCi0gICAgICAgIHZvaWQgZGlkTW92ZU9uc2NyZWVuKCk7Ci0g
ICAgICAgIHZvaWQgd2lsbE1vdmVPZmZzY3JlZW4oKTsKLSAgICAgICAgYm9vbCBpc09uc2NyZWVu
KCkgY29uc3QgeyByZXR1cm4gbV9pc09uc2NyZWVuOyB9CisgICAgLy8gTm90aWZpY2F0aW9ucyB3
aGVuIHRoZSBQYWdlIHN0YXJ0cyBhbmQgc3RvcHMgYmVpbmcgcHJlc2VudGVkIHZpYSBhIG5hdGl2
ZSB3aW5kb3cuCisgICAgdm9pZCBkaWRNb3ZlT25zY3JlZW4oKTsKKyAgICB2b2lkIHdpbGxNb3Zl
T2Zmc2NyZWVuKCk7CisgICAgYm9vbCBpc09uc2NyZWVuKCkgY29uc3QgeyByZXR1cm4gbV9pc09u
c2NyZWVuOyB9CiAKLSAgICAgICAgdm9pZCB3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoUGxhdGZvcm1E
aXNwbGF5SUQpOwotICAgICAgICAKLSAgICAgICAgdm9pZCBzdXNwZW5kU2NyaXB0ZWRBbmltYXRp
b25zKCk7Ci0gICAgICAgIHZvaWQgcmVzdW1lU2NyaXB0ZWRBbmltYXRpb25zKCk7Ci0gICAgICAg
IGJvb2wgc2NyaXB0ZWRBbmltYXRpb25zU3VzcGVuZGVkKCkgY29uc3QgeyByZXR1cm4gbV9zY3Jp
cHRlZEFuaW1hdGlvbnNTdXNwZW5kZWQ7IH0KLSAgICAgICAgCi0gICAgICAgIHZvaWQgdXNlclN0
eWxlU2hlZXRMb2NhdGlvbkNoYW5nZWQoKTsKLSAgICAgICAgY29uc3QgU3RyaW5nJiB1c2VyU3R5
bGVTaGVldCgpIGNvbnN0OworICAgIHZvaWQgd2luZG93U2NyZWVuRGlkQ2hhbmdlKFBsYXRmb3Jt
RGlzcGxheUlEKTsKKyAgICAKKyAgICB2b2lkIHN1c3BlbmRTY3JpcHRlZEFuaW1hdGlvbnMoKTsK
KyAgICB2b2lkIHJlc3VtZVNjcmlwdGVkQW5pbWF0aW9ucygpOworICAgIGJvb2wgc2NyaXB0ZWRB
bmltYXRpb25zU3VzcGVuZGVkKCkgY29uc3QgeyByZXR1cm4gbV9zY3JpcHRlZEFuaW1hdGlvbnNT
dXNwZW5kZWQ7IH0KKyAgICAKKyAgICB2b2lkIHVzZXJTdHlsZVNoZWV0TG9jYXRpb25DaGFuZ2Vk
KCk7CisgICAgY29uc3QgU3RyaW5nJiB1c2VyU3R5bGVTaGVldCgpIGNvbnN0OwogCi0gICAgICAg
IHZvaWQgZG5zUHJlZmV0Y2hpbmdTdGF0ZUNoYW5nZWQoKTsKLSAgICAgICAgdm9pZCBzdG9yYWdl
QmxvY2tpbmdTdGF0ZUNoYW5nZWQoKTsKLSAgICAgICAgdm9pZCBwcml2YXRlQnJvd3NpbmdTdGF0
ZUNoYW5nZWQoKTsKKyAgICB2b2lkIGRuc1ByZWZldGNoaW5nU3RhdGVDaGFuZ2VkKCk7CisgICAg
dm9pZCBzdG9yYWdlQmxvY2tpbmdTdGF0ZUNoYW5nZWQoKTsKKyAgICB2b2lkIHByaXZhdGVCcm93
c2luZ1N0YXRlQ2hhbmdlZCgpOwogCi0gICAgICAgIHN0YXRpYyB2b2lkIHNldERlYnVnZ2VyRm9y
QWxsUGFnZXMoSlNDOjpEZWJ1Z2dlciopOwotICAgICAgICB2b2lkIHNldERlYnVnZ2VyKEpTQzo6
RGVidWdnZXIqKTsKLSAgICAgICAgSlNDOjpEZWJ1Z2dlciogZGVidWdnZXIoKSBjb25zdCB7IHJl
dHVybiBtX2RlYnVnZ2VyOyB9CisgICAgc3RhdGljIHZvaWQgc2V0RGVidWdnZXJGb3JBbGxQYWdl
cyhKU0M6OkRlYnVnZ2VyKik7CisgICAgdm9pZCBzZXREZWJ1Z2dlcihKU0M6OkRlYnVnZ2VyKik7
CisgICAgSlNDOjpEZWJ1Z2dlciogZGVidWdnZXIoKSBjb25zdCB7IHJldHVybiBtX2RlYnVnZ2Vy
OyB9CiAKLSAgICAgICAgc3RhdGljIHZvaWQgcmVtb3ZlQWxsVmlzaXRlZExpbmtzKCk7CisgICAg
c3RhdGljIHZvaWQgcmVtb3ZlQWxsVmlzaXRlZExpbmtzKCk7CiAKLSAgICAgICAgc3RhdGljIHZv
aWQgYWxsVmlzaXRlZFN0YXRlQ2hhbmdlZChQYWdlR3JvdXAqKTsKLSAgICAgICAgc3RhdGljIHZv
aWQgdmlzaXRlZFN0YXRlQ2hhbmdlZChQYWdlR3JvdXAqLCBMaW5rSGFzaCB2aXNpdGVkSGFzaCk7
CisgICAgc3RhdGljIHZvaWQgYWxsVmlzaXRlZFN0YXRlQ2hhbmdlZChQYWdlR3JvdXAqKTsKKyAg
ICBzdGF0aWMgdm9pZCB2aXNpdGVkU3RhdGVDaGFuZ2VkKFBhZ2VHcm91cCosIExpbmtIYXNoIHZp
c2l0ZWRIYXNoKTsKIAotICAgICAgICBTdG9yYWdlTmFtZXNwYWNlKiBzZXNzaW9uU3RvcmFnZShi
b29sIG9wdGlvbmFsQ3JlYXRlID0gdHJ1ZSk7Ci0gICAgICAgIHZvaWQgc2V0U2Vzc2lvblN0b3Jh
Z2UoUGFzc1JlZlB0cjxTdG9yYWdlTmFtZXNwYWNlPik7CisgICAgU3RvcmFnZU5hbWVzcGFjZSog
c2Vzc2lvblN0b3JhZ2UoYm9vbCBvcHRpb25hbENyZWF0ZSA9IHRydWUpOworICAgIHZvaWQgc2V0
U2Vzc2lvblN0b3JhZ2UoUGFzc1JlZlB0cjxTdG9yYWdlTmFtZXNwYWNlPik7CiAKLSAgICAgICAg
dm9pZCBzZXRDdXN0b21IVE1MVG9rZW5pemVyVGltZURlbGF5KGRvdWJsZSk7Ci0gICAgICAgIGJv
b2wgaGFzQ3VzdG9tSFRNTFRva2VuaXplclRpbWVEZWxheSgpIGNvbnN0IHsgcmV0dXJuIG1fY3Vz
dG9tSFRNTFRva2VuaXplclRpbWVEZWxheSAhPSAtMTsgfQotICAgICAgICBkb3VibGUgY3VzdG9t
SFRNTFRva2VuaXplclRpbWVEZWxheSgpIGNvbnN0IHsgQVNTRVJUKG1fY3VzdG9tSFRNTFRva2Vu
aXplclRpbWVEZWxheSAhPSAtMSk7IHJldHVybiBtX2N1c3RvbUhUTUxUb2tlbml6ZXJUaW1lRGVs
YXk7IH0KKyAgICB2b2lkIHNldEN1c3RvbUhUTUxUb2tlbml6ZXJUaW1lRGVsYXkoZG91YmxlKTsK
KyAgICBib29sIGhhc0N1c3RvbUhUTUxUb2tlbml6ZXJUaW1lRGVsYXkoKSBjb25zdCB7IHJldHVy
biBtX2N1c3RvbUhUTUxUb2tlbml6ZXJUaW1lRGVsYXkgIT0gLTE7IH0KKyAgICBkb3VibGUgY3Vz
dG9tSFRNTFRva2VuaXplclRpbWVEZWxheSgpIGNvbnN0IHsgQVNTRVJUKG1fY3VzdG9tSFRNTFRv
a2VuaXplclRpbWVEZWxheSAhPSAtMSk7IHJldHVybiBtX2N1c3RvbUhUTUxUb2tlbml6ZXJUaW1l
RGVsYXk7IH0KIAotICAgICAgICB2b2lkIHNldEN1c3RvbUhUTUxUb2tlbml6ZXJDaHVua1NpemUo
aW50KTsKLSAgICAgICAgYm9vbCBoYXNDdXN0b21IVE1MVG9rZW5pemVyQ2h1bmtTaXplKCkgY29u
c3QgeyByZXR1cm4gbV9jdXN0b21IVE1MVG9rZW5pemVyQ2h1bmtTaXplICE9IC0xOyB9Ci0gICAg
ICAgIGludCBjdXN0b21IVE1MVG9rZW5pemVyQ2h1bmtTaXplKCkgY29uc3QgeyBBU1NFUlQobV9j
dXN0b21IVE1MVG9rZW5pemVyQ2h1bmtTaXplICE9IC0xKTsgcmV0dXJuIG1fY3VzdG9tSFRNTFRv
a2VuaXplckNodW5rU2l6ZTsgfQorICAgIHZvaWQgc2V0Q3VzdG9tSFRNTFRva2VuaXplckNodW5r
U2l6ZShpbnQpOworICAgIGJvb2wgaGFzQ3VzdG9tSFRNTFRva2VuaXplckNodW5rU2l6ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fY3VzdG9tSFRNTFRva2VuaXplckNodW5rU2l6ZSAhPSAtMTsgfQorICAg
IGludCBjdXN0b21IVE1MVG9rZW5pemVyQ2h1bmtTaXplKCkgY29uc3QgeyBBU1NFUlQobV9jdXN0
b21IVE1MVG9rZW5pemVyQ2h1bmtTaXplICE9IC0xKTsgcmV0dXJuIG1fY3VzdG9tSFRNTFRva2Vu
aXplckNodW5rU2l6ZTsgfQogCi0gICAgICAgIHZvaWQgc2V0TWVtb3J5Q2FjaGVDbGllbnRDYWxs
c0VuYWJsZWQoYm9vbCk7Ci0gICAgICAgIGJvb2wgYXJlTWVtb3J5Q2FjaGVDbGllbnRDYWxsc0Vu
YWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2FyZU1lbW9yeUNhY2hlQ2xpZW50Q2FsbHNFbmFibGVk
OyB9CisgICAgdm9pZCBzZXRNZW1vcnlDYWNoZUNsaWVudENhbGxzRW5hYmxlZChib29sKTsKKyAg
ICBib29sIGFyZU1lbW9yeUNhY2hlQ2xpZW50Q2FsbHNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4g
bV9hcmVNZW1vcnlDYWNoZUNsaWVudENhbGxzRW5hYmxlZDsgfQogCi0gICAgICAgIC8vIERvbid0
IGFsbG93IG1vcmUgdGhhbiBhIGNlcnRhaW4gbnVtYmVyIG9mIGZyYW1lcyBpbiBhIHBhZ2UuCi0g
ICAgICAgIC8vIFRoaXMgc2VlbXMgbGlrZSBhIHJlYXNvbmFibGUgdXBwZXIgYm91bmQsIGFuZCBv
dGhlcndpc2UgbXV0dWFsbHkKLSAgICAgICAgLy8gcmVjdXJzaXZlIGZyYW1lc2V0IHBhZ2VzIGNh
biBxdWlja2x5IGJyaW5nIHRoZSBwcm9ncmFtIHRvIGl0cyBrbmVlcwotICAgICAgICAvLyB3aXRo
IGV4cG9uZW50aWFsIGdyb3d0aCBpbiB0aGUgbnVtYmVyIG9mIGZyYW1lcy4KLSAgICAgICAgc3Rh
dGljIGNvbnN0IGludCBtYXhOdW1iZXJPZkZyYW1lcyA9IDEwMDA7CisgICAgLy8gRG9uJ3QgYWxs
b3cgbW9yZSB0aGFuIGEgY2VydGFpbiBudW1iZXIgb2YgZnJhbWVzIGluIGEgcGFnZS4KKyAgICAv
LyBUaGlzIHNlZW1zIGxpa2UgYSByZWFzb25hYmxlIHVwcGVyIGJvdW5kLCBhbmQgb3RoZXJ3aXNl
IG11dHVhbGx5CisgICAgLy8gcmVjdXJzaXZlIGZyYW1lc2V0IHBhZ2VzIGNhbiBxdWlja2x5IGJy
aW5nIHRoZSBwcm9ncmFtIHRvIGl0cyBrbmVlcworICAgIC8vIHdpdGggZXhwb25lbnRpYWwgZ3Jv
d3RoIGluIHRoZSBudW1iZXIgb2YgZnJhbWVzLgorICAgIHN0YXRpYyBjb25zdCBpbnQgbWF4TnVt
YmVyT2ZGcmFtZXMgPSAxMDAwOwogCi0gICAgICAgIHZvaWQgc2V0RWRpdGFibGUoYm9vbCBpc0Vk
aXRhYmxlKSB7IG1faXNFZGl0YWJsZSA9IGlzRWRpdGFibGU7IH0KLSAgICAgICAgYm9vbCBpc0Vk
aXRhYmxlKCkgeyByZXR1cm4gbV9pc0VkaXRhYmxlOyB9CisgICAgdm9pZCBzZXRFZGl0YWJsZShi
b29sIGlzRWRpdGFibGUpIHsgbV9pc0VkaXRhYmxlID0gaXNFZGl0YWJsZTsgfQorICAgIGJvb2wg
aXNFZGl0YWJsZSgpIHsgcmV0dXJuIG1faXNFZGl0YWJsZTsgfQogCiAjaWYgRU5BQkxFKFBBR0Vf
VklTSUJJTElUWV9BUEkpCi0gICAgICAgIFBhZ2VWaXNpYmlsaXR5U3RhdGUgdmlzaWJpbGl0eVN0
YXRlKCkgY29uc3Q7CisgICAgUGFnZVZpc2liaWxpdHlTdGF0ZSB2aXNpYmlsaXR5U3RhdGUoKSBj
b25zdDsKICNlbmRpZgogI2lmIEVOQUJMRShQQUdFX1ZJU0lCSUxJVFlfQVBJKSB8fCBFTkFCTEUo
SElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpCi0gICAgICAgIHZvaWQgc2V0VmlzaWJp
bGl0eVN0YXRlKFBhZ2VWaXNpYmlsaXR5U3RhdGUsIGJvb2wpOworICAgIHZvaWQgc2V0VmlzaWJp
bGl0eVN0YXRlKFBhZ2VWaXNpYmlsaXR5U3RhdGUsIGJvb2wpOwogI2VuZGlmCiAKLSAgICAgICAg
UGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlEKCkgY29uc3QgeyByZXR1cm4gbV9kaXNwbGF5SUQ7
IH0KKyAgICBQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQoKSBjb25zdCB7IHJldHVybiBtX2Rp
c3BsYXlJRDsgfQogCi0gICAgICAgIHZvaWQgYWRkTGF5b3V0TWlsZXN0b25lcyhMYXlvdXRNaWxl
c3RvbmVzKTsKLSAgICAgICAgTGF5b3V0TWlsZXN0b25lcyBsYXlvdXRNaWxlc3RvbmVzKCkgY29u
c3QgeyByZXR1cm4gbV9sYXlvdXRNaWxlc3RvbmVzOyB9CisgICAgdm9pZCBhZGRMYXlvdXRNaWxl
c3RvbmVzKExheW91dE1pbGVzdG9uZXMpOworICAgIExheW91dE1pbGVzdG9uZXMgbGF5b3V0TWls
ZXN0b25lcygpIGNvbnN0IHsgcmV0dXJuIG1fbGF5b3V0TWlsZXN0b25lczsgfQogCi0gICAgICAg
IGJvb2wgaXNDb3VudGluZ1JlbGV2YW50UmVwYWludGVkT2JqZWN0cygpIGNvbnN0OwotICAgICAg
ICB2b2lkIHN0YXJ0Q291bnRpbmdSZWxldmFudFJlcGFpbnRlZE9iamVjdHMoKTsKLSAgICAgICAg
dm9pZCByZXNldFJlbGV2YW50UGFpbnRlZE9iamVjdENvdW50ZXIoKTsKLSAgICAgICAgdm9pZCBh
ZGRSZWxldmFudFJlcGFpbnRlZE9iamVjdChSZW5kZXJPYmplY3QqLCBjb25zdCBMYXlvdXRSZWN0
JiBvYmplY3RQYWludFJlY3QpOwotICAgICAgICB2b2lkIGFkZFJlbGV2YW50VW5wYWludGVkT2Jq
ZWN0KFJlbmRlck9iamVjdCosIGNvbnN0IExheW91dFJlY3QmIG9iamVjdFBhaW50UmVjdCk7Cisg
ICAgYm9vbCBpc0NvdW50aW5nUmVsZXZhbnRSZXBhaW50ZWRPYmplY3RzKCkgY29uc3Q7CisgICAg
dm9pZCBzdGFydENvdW50aW5nUmVsZXZhbnRSZXBhaW50ZWRPYmplY3RzKCk7CisgICAgdm9pZCBy
ZXNldFJlbGV2YW50UGFpbnRlZE9iamVjdENvdW50ZXIoKTsKKyAgICB2b2lkIGFkZFJlbGV2YW50
UmVwYWludGVkT2JqZWN0KFJlbmRlck9iamVjdCosIGNvbnN0IExheW91dFJlY3QmIG9iamVjdFBh
aW50UmVjdCk7CisgICAgdm9pZCBhZGRSZWxldmFudFVucGFpbnRlZE9iamVjdChSZW5kZXJPYmpl
Y3QqLCBjb25zdCBMYXlvdXRSZWN0JiBvYmplY3RQYWludFJlY3QpOwogCi0gICAgICAgIHZvaWQg
c3VzcGVuZEFjdGl2ZURPTU9iamVjdHNBbmRBbmltYXRpb25zKCk7Ci0gICAgICAgIHZvaWQgcmVz
dW1lQWN0aXZlRE9NT2JqZWN0c0FuZEFuaW1hdGlvbnMoKTsKKyAgICB2b2lkIHN1c3BlbmRBY3Rp
dmVET01PYmplY3RzQW5kQW5pbWF0aW9ucygpOworICAgIHZvaWQgcmVzdW1lQWN0aXZlRE9NT2Jq
ZWN0c0FuZEFuaW1hdGlvbnMoKTsKICNpZm5kZWYgTkRFQlVHCi0gICAgICAgIHZvaWQgc2V0SXNQ
YWludGluZyhib29sIHBhaW50aW5nKSB7IG1faXNQYWludGluZyA9IHBhaW50aW5nOyB9Ci0gICAg
ICAgIGJvb2wgaXNQYWludGluZygpIGNvbnN0IHsgcmV0dXJuIG1faXNQYWludGluZzsgfQorICAg
IHZvaWQgc2V0SXNQYWludGluZyhib29sIHBhaW50aW5nKSB7IG1faXNQYWludGluZyA9IHBhaW50
aW5nOyB9CisgICAgYm9vbCBpc1BhaW50aW5nKCkgY29uc3QgeyByZXR1cm4gbV9pc1BhaW50aW5n
OyB9CiAjZW5kaWYKIAotICAgICAgICBBbHRlcm5hdGl2ZVRleHRDbGllbnQqIGFsdGVybmF0aXZl
VGV4dENsaWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fYWx0ZXJuYXRpdmVUZXh0Q2xpZW50OyB9Cisg
ICAgQWx0ZXJuYXRpdmVUZXh0Q2xpZW50KiBhbHRlcm5hdGl2ZVRleHRDbGllbnQoKSBjb25zdCB7
IHJldHVybiBtX2FsdGVybmF0aXZlVGV4dENsaWVudDsgfQogCi0gICAgICAgIGJvb2wgaGFzU2Vl
blBsdWdpbihjb25zdCBTdHJpbmcmIHNlcnZpY2VUeXBlKSBjb25zdDsKLSAgICAgICAgYm9vbCBo
YXNTZWVuQW55UGx1Z2luKCkgY29uc3Q7Ci0gICAgICAgIHZvaWQgc2F3UGx1Z2luKGNvbnN0IFN0
cmluZyYgc2VydmljZVR5cGUpOwotICAgICAgICB2b2lkIHJlc2V0U2VlblBsdWdpbnMoKTsKKyAg
ICBib29sIGhhc1NlZW5QbHVnaW4oY29uc3QgU3RyaW5nJiBzZXJ2aWNlVHlwZSkgY29uc3Q7Cisg
ICAgYm9vbCBoYXNTZWVuQW55UGx1Z2luKCkgY29uc3Q7CisgICAgdm9pZCBzYXdQbHVnaW4oY29u
c3QgU3RyaW5nJiBzZXJ2aWNlVHlwZSk7CisgICAgdm9pZCByZXNldFNlZW5QbHVnaW5zKCk7CiAK
LSAgICAgICAgYm9vbCBoYXNTZWVuTWVkaWFFbmdpbmUoY29uc3QgU3RyaW5nJiBlbmdpbmVOYW1l
KSBjb25zdDsKLSAgICAgICAgYm9vbCBoYXNTZWVuQW55TWVkaWFFbmdpbmUoKSBjb25zdDsKLSAg
ICAgICAgdm9pZCBzYXdNZWRpYUVuZ2luZShjb25zdCBTdHJpbmcmIGVuZ2luZU5hbWUpOwotICAg
ICAgICB2b2lkIHJlc2V0U2Vlbk1lZGlhRW5naW5lcygpOworICAgIGJvb2wgaGFzU2Vlbk1lZGlh
RW5naW5lKGNvbnN0IFN0cmluZyYgZW5naW5lTmFtZSkgY29uc3Q7CisgICAgYm9vbCBoYXNTZWVu
QW55TWVkaWFFbmdpbmUoKSBjb25zdDsKKyAgICB2b2lkIHNhd01lZGlhRW5naW5lKGNvbnN0IFN0
cmluZyYgZW5naW5lTmFtZSk7CisgICAgdm9pZCByZXNldFNlZW5NZWRpYUVuZ2luZXMoKTsKIAot
ICAgICAgICB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdDsK
KyAgICB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdDsKIAot
ICAgIHByaXZhdGU6Ci0gICAgICAgIHZvaWQgaW5pdEdyb3VwKCk7Citwcml2YXRlOgorICAgIHZv
aWQgaW5pdEdyb3VwKCk7CiAKICNpZiBBU1NFUlRfRElTQUJMRUQKLSAgICAgICAgdm9pZCBjaGVj
a1N1YmZyYW1lQ291bnRDb25zaXN0ZW5jeSgpIGNvbnN0IHsgfQorICAgIHZvaWQgY2hlY2tTdWJm
cmFtZUNvdW50Q29uc2lzdGVuY3koKSBjb25zdCB7IH0KICNlbHNlCi0gICAgICAgIHZvaWQgY2hl
Y2tTdWJmcmFtZUNvdW50Q29uc2lzdGVuY3koKSBjb25zdDsKKyAgICB2b2lkIGNoZWNrU3ViZnJh
bWVDb3VudENvbnNpc3RlbmN5KCkgY29uc3Q7CiAjZW5kaWYKIAotICAgICAgICBNZWRpYUNhblN0
YXJ0TGlzdGVuZXIqIHRha2VBbnlNZWRpYUNhblN0YXJ0TGlzdGVuZXIoKTsKKyAgICBNZWRpYUNh
blN0YXJ0TGlzdGVuZXIqIHRha2VBbnlNZWRpYUNhblN0YXJ0TGlzdGVuZXIoKTsKIAotICAgICAg
ICB2b2lkIHNldE1pbmltdW1UaW1lckludGVydmFsKGRvdWJsZSk7Ci0gICAgICAgIGRvdWJsZSBt
aW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0OworICAgIHZvaWQgc2V0TWluaW11bVRpbWVySW50
ZXJ2YWwoZG91YmxlKTsKKyAgICBkb3VibGUgbWluaW11bVRpbWVySW50ZXJ2YWwoKSBjb25zdDsK
IAotICAgICAgICB2b2lkIHNldFRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoZG91YmxlKTsKLSAgICAg
ICAgZG91YmxlIHRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdDsKKyAgICB2b2lkIHNldFRp
bWVyQWxpZ25tZW50SW50ZXJ2YWwoZG91YmxlKTsKKyAgICBkb3VibGUgdGltZXJBbGlnbm1lbnRJ
bnRlcnZhbCgpIGNvbnN0OwogCi0gICAgICAgIHZvaWQgY29sbGVjdFBsdWdpblZpZXdzKFZlY3Rv
cjxSZWZQdHI8UGx1Z2luVmlld0Jhc2U+LCAzMj4mIHBsdWdpblZpZXdCYXNlcyk7CisgICAgdm9p
ZCBjb2xsZWN0UGx1Z2luVmlld3MoVmVjdG9yPFJlZlB0cjxQbHVnaW5WaWV3QmFzZT4sIDMyPiYg
cGx1Z2luVmlld0Jhc2VzKTsKIAotICAgICAgICBPd25QdHI8Q2hyb21lPiBtX2Nocm9tZTsKLSAg
ICAgICAgT3duUHRyPERyYWdDYXJldENvbnRyb2xsZXI+IG1fZHJhZ0NhcmV0Q29udHJvbGxlcjsK
KyAgICBPd25QdHI8Q2hyb21lPiBtX2Nocm9tZTsKKyAgICBPd25QdHI8RHJhZ0NhcmV0Q29udHJv
bGxlcj4gbV9kcmFnQ2FyZXRDb250cm9sbGVyOwogCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkK
LSAgICAgICAgT3duUHRyPERyYWdDb250cm9sbGVyPiBtX2RyYWdDb250cm9sbGVyOworICAgIE93
blB0cjxEcmFnQ29udHJvbGxlcj4gbV9kcmFnQ29udHJvbGxlcjsKICNlbmRpZgotICAgICAgICBP
d25QdHI8Rm9jdXNDb250cm9sbGVyPiBtX2ZvY3VzQ29udHJvbGxlcjsKKyAgICBPd25QdHI8Rm9j
dXNDb250cm9sbGVyPiBtX2ZvY3VzQ29udHJvbGxlcjsKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5V
UykKLSAgICAgICAgT3duUHRyPENvbnRleHRNZW51Q29udHJvbGxlcj4gbV9jb250ZXh0TWVudUNv
bnRyb2xsZXI7CisgICAgT3duUHRyPENvbnRleHRNZW51Q29udHJvbGxlcj4gbV9jb250ZXh0TWVu
dUNvbnRyb2xsZXI7CiAjZW5kaWYKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQotICAgICAgICBPd25Q
dHI8SW5zcGVjdG9yQ29udHJvbGxlcj4gbV9pbnNwZWN0b3JDb250cm9sbGVyOworICAgIE93blB0
cjxJbnNwZWN0b3JDb250cm9sbGVyPiBtX2luc3BlY3RvckNvbnRyb2xsZXI7CiAjZW5kaWYKICNp
ZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQotICAgICAgICBPd25QdHI8UG9pbnRlckxvY2tDb250cm9s
bGVyPiBtX3BvaW50ZXJMb2NrQ29udHJvbGxlcjsKKyAgICBPd25QdHI8UG9pbnRlckxvY2tDb250
cm9sbGVyPiBtX3BvaW50ZXJMb2NrQ29udHJvbGxlcjsKICNlbmRpZgotICAgICAgICBSZWZQdHI8
U2Nyb2xsaW5nQ29vcmRpbmF0b3I+IG1fc2Nyb2xsaW5nQ29vcmRpbmF0b3I7CisgICAgUmVmUHRy
PFNjcm9sbGluZ0Nvb3JkaW5hdG9yPiBtX3Njcm9sbGluZ0Nvb3JkaW5hdG9yOwogCi0gICAgICAg
IE93blB0cjxTZXR0aW5ncz4gbV9zZXR0aW5nczsKLSAgICAgICAgT3duUHRyPFByb2dyZXNzVHJh
Y2tlcj4gbV9wcm9ncmVzczsKLSAgICAgICAgCi0gICAgICAgIE93blB0cjxCYWNrRm9yd2FyZENv
bnRyb2xsZXI+IG1fYmFja0ZvcndhcmRDb250cm9sbGVyOwotICAgICAgICBSZWZQdHI8RnJhbWU+
IG1fbWFpbkZyYW1lOworICAgIE93blB0cjxTZXR0aW5ncz4gbV9zZXR0aW5nczsKKyAgICBPd25Q
dHI8UHJvZ3Jlc3NUcmFja2VyPiBtX3Byb2dyZXNzOworICAgIAorICAgIE93blB0cjxCYWNrRm9y
d2FyZENvbnRyb2xsZXI+IG1fYmFja0ZvcndhcmRDb250cm9sbGVyOworICAgIFJlZlB0cjxGcmFt
ZT4gbV9tYWluRnJhbWU7CiAKLSAgICAgICAgbXV0YWJsZSBSZWZQdHI8UGx1Z2luRGF0YT4gbV9w
bHVnaW5EYXRhOworICAgIG11dGFibGUgUmVmUHRyPFBsdWdpbkRhdGE+IG1fcGx1Z2luRGF0YTsK
IAotICAgICAgICBSZWZQdHI8UmVuZGVyVGhlbWU+IG1fdGhlbWU7CisgICAgUmVmUHRyPFJlbmRl
clRoZW1lPiBtX3RoZW1lOwogCi0gICAgICAgIEVkaXRvckNsaWVudCogbV9lZGl0b3JDbGllbnQ7
Ci0gICAgICAgIFZhbGlkYXRpb25NZXNzYWdlQ2xpZW50KiBtX3ZhbGlkYXRpb25NZXNzYWdlQ2xp
ZW50OworICAgIEVkaXRvckNsaWVudCogbV9lZGl0b3JDbGllbnQ7CisgICAgUGx1Z0luQ2xpZW50
KiBtX3BsdWdJbkNsaWVudDsKKyAgICBWYWxpZGF0aW9uTWVzc2FnZUNsaWVudCogbV92YWxpZGF0
aW9uTWVzc2FnZUNsaWVudDsKIAotICAgICAgICBGZWF0dXJlT2JzZXJ2ZXIgbV9mZWF0dXJlT2Jz
ZXJ2ZXI7CisgICAgRmVhdHVyZU9ic2VydmVyIG1fZmVhdHVyZU9ic2VydmVyOwogCi0gICAgICAg
IGludCBtX3N1YmZyYW1lQ291bnQ7Ci0gICAgICAgIFN0cmluZyBtX2dyb3VwTmFtZTsKLSAgICAg
ICAgYm9vbCBtX29wZW5lZEJ5RE9NOworICAgIGludCBtX3N1YmZyYW1lQ291bnQ7CisgICAgU3Ry
aW5nIG1fZ3JvdXBOYW1lOworICAgIGJvb2wgbV9vcGVuZWRCeURPTTsKIAotICAgICAgICBib29s
IG1fdGFiS2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRzOwotICAgICAgICBib29sIG1fZGVmZXJzTG9h
ZGluZzsKLSAgICAgICAgdW5zaWduZWQgbV9kZWZlcnNMb2FkaW5nQ2FsbENvdW50OworICAgIGJv
b2wgbV90YWJLZXlDeWNsZXNUaHJvdWdoRWxlbWVudHM7CisgICAgYm9vbCBtX2RlZmVyc0xvYWRp
bmc7CisgICAgdW5zaWduZWQgbV9kZWZlcnNMb2FkaW5nQ2FsbENvdW50OwogCi0gICAgICAgIGJv
b2wgbV9pbkxvd1F1YWxpdHlJbnRlcnBvbGF0aW9uTW9kZTsKLSAgICAgICAgYm9vbCBtX2Nvb2tp
ZUVuYWJsZWQ7Ci0gICAgICAgIGJvb2wgbV9hcmVNZW1vcnlDYWNoZUNsaWVudENhbGxzRW5hYmxl
ZDsKLSAgICAgICAgZmxvYXQgbV9tZWRpYVZvbHVtZTsKKyAgICBib29sIG1faW5Mb3dRdWFsaXR5
SW50ZXJwb2xhdGlvbk1vZGU7CisgICAgYm9vbCBtX2Nvb2tpZUVuYWJsZWQ7CisgICAgYm9vbCBt
X2FyZU1lbW9yeUNhY2hlQ2xpZW50Q2FsbHNFbmFibGVkOworICAgIGZsb2F0IG1fbWVkaWFWb2x1
bWU7CiAKLSAgICAgICAgZmxvYXQgbV9wYWdlU2NhbGVGYWN0b3I7Ci0gICAgICAgIGZsb2F0IG1f
ZGV2aWNlU2NhbGVGYWN0b3I7CisgICAgZmxvYXQgbV9wYWdlU2NhbGVGYWN0b3I7CisgICAgZmxv
YXQgbV9kZXZpY2VTY2FsZUZhY3RvcjsKIAotICAgICAgICBib29sIG1fc3VwcHJlc3NTY3JvbGxi
YXJBbmltYXRpb25zOworICAgIGJvb2wgbV9zdXBwcmVzc1Njcm9sbGJhckFuaW1hdGlvbnM7CiAK
LSAgICAgICAgUGFnaW5hdGlvbiBtX3BhZ2luYXRpb247CisgICAgUGFnaW5hdGlvbiBtX3BhZ2lu
YXRpb247CiAKLSAgICAgICAgU3RyaW5nIG1fdXNlclN0eWxlU2hlZXRQYXRoOwotICAgICAgICBt
dXRhYmxlIFN0cmluZyBtX3VzZXJTdHlsZVNoZWV0OwotICAgICAgICBtdXRhYmxlIGJvb2wgbV9k
aWRMb2FkVXNlclN0eWxlU2hlZXQ7Ci0gICAgICAgIG11dGFibGUgdGltZV90IG1fdXNlclN0eWxl
U2hlZXRNb2RpZmljYXRpb25UaW1lOworICAgIFN0cmluZyBtX3VzZXJTdHlsZVNoZWV0UGF0aDsK
KyAgICBtdXRhYmxlIFN0cmluZyBtX3VzZXJTdHlsZVNoZWV0OworICAgIG11dGFibGUgYm9vbCBt
X2RpZExvYWRVc2VyU3R5bGVTaGVldDsKKyAgICBtdXRhYmxlIHRpbWVfdCBtX3VzZXJTdHlsZVNo
ZWV0TW9kaWZpY2F0aW9uVGltZTsKIAotICAgICAgICBPd25QdHI8UGFnZUdyb3VwPiBtX3Npbmds
ZVBhZ2VHcm91cDsKLSAgICAgICAgUGFnZUdyb3VwKiBtX2dyb3VwOworICAgIE93blB0cjxQYWdl
R3JvdXA+IG1fc2luZ2xlUGFnZUdyb3VwOworICAgIFBhZ2VHcm91cCogbV9ncm91cDsKIAotICAg
ICAgICBKU0M6OkRlYnVnZ2VyKiBtX2RlYnVnZ2VyOworICAgIEpTQzo6RGVidWdnZXIqIG1fZGVi
dWdnZXI7CiAKLSAgICAgICAgZG91YmxlIG1fY3VzdG9tSFRNTFRva2VuaXplclRpbWVEZWxheTsK
LSAgICAgICAgaW50IG1fY3VzdG9tSFRNTFRva2VuaXplckNodW5rU2l6ZTsKKyAgICBkb3VibGUg
bV9jdXN0b21IVE1MVG9rZW5pemVyVGltZURlbGF5OworICAgIGludCBtX2N1c3RvbUhUTUxUb2tl
bml6ZXJDaHVua1NpemU7CiAKLSAgICAgICAgYm9vbCBtX2NhblN0YXJ0TWVkaWE7CisgICAgYm9v
bCBtX2NhblN0YXJ0TWVkaWE7CiAKLSAgICAgICAgUmVmUHRyPFN0b3JhZ2VOYW1lc3BhY2U+IG1f
c2Vzc2lvblN0b3JhZ2U7CisgICAgUmVmUHRyPFN0b3JhZ2VOYW1lc3BhY2U+IG1fc2Vzc2lvblN0
b3JhZ2U7CiAKLSAgICAgICAgVmlld01vZGUgbV92aWV3TW9kZTsKKyAgICBWaWV3TW9kZSBtX3Zp
ZXdNb2RlOwogCi0gICAgICAgIGRvdWJsZSBtX21pbmltdW1UaW1lckludGVydmFsOworICAgIGRv
dWJsZSBtX21pbmltdW1UaW1lckludGVydmFsOwogCi0gICAgICAgIGRvdWJsZSBtX3RpbWVyQWxp
Z25tZW50SW50ZXJ2YWw7CisgICAgZG91YmxlIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbDsKIAot
ICAgICAgICBib29sIG1faXNFZGl0YWJsZTsKLSAgICAgICAgYm9vbCBtX2lzT25zY3JlZW47Cisg
ICAgYm9vbCBtX2lzRWRpdGFibGU7CisgICAgYm9vbCBtX2lzT25zY3JlZW47CiAKICNpZiBFTkFC
TEUoUEFHRV9WSVNJQklMSVRZX0FQSSkKLSAgICAgICAgUGFnZVZpc2liaWxpdHlTdGF0ZSBtX3Zp
c2liaWxpdHlTdGF0ZTsKKyAgICBQYWdlVmlzaWJpbGl0eVN0YXRlIG1fdmlzaWJpbGl0eVN0YXRl
OwogI2VuZGlmCi0gICAgICAgIFBsYXRmb3JtRGlzcGxheUlEIG1fZGlzcGxheUlEOworICAgIFBs
YXRmb3JtRGlzcGxheUlEIG1fZGlzcGxheUlEOwogCi0gICAgICAgIExheW91dE1pbGVzdG9uZXMg
bV9sYXlvdXRNaWxlc3RvbmVzOworICAgIExheW91dE1pbGVzdG9uZXMgbV9sYXlvdXRNaWxlc3Rv
bmVzOwogCi0gICAgICAgIEhhc2hTZXQ8UmVuZGVyT2JqZWN0Kj4gbV9yZWxldmFudFVucGFpbnRl
ZFJlbmRlck9iamVjdHM7Ci0gICAgICAgIFJlZ2lvbiBtX3JlbGV2YW50UGFpbnRlZFJlZ2lvbjsK
LSAgICAgICAgUmVnaW9uIG1fcmVsZXZhbnRVbnBhaW50ZWRSZWdpb247Ci0gICAgICAgIGJvb2wg
bV9pc0NvdW50aW5nUmVsZXZhbnRSZXBhaW50ZWRPYmplY3RzOworICAgIEhhc2hTZXQ8UmVuZGVy
T2JqZWN0Kj4gbV9yZWxldmFudFVucGFpbnRlZFJlbmRlck9iamVjdHM7CisgICAgUmVnaW9uIG1f
cmVsZXZhbnRQYWludGVkUmVnaW9uOworICAgIFJlZ2lvbiBtX3JlbGV2YW50VW5wYWludGVkUmVn
aW9uOworICAgIGJvb2wgbV9pc0NvdW50aW5nUmVsZXZhbnRSZXBhaW50ZWRPYmplY3RzOwogI2lm
bmRlZiBOREVCVUcKLSAgICAgICAgYm9vbCBtX2lzUGFpbnRpbmc7CisgICAgYm9vbCBtX2lzUGFp
bnRpbmc7CiAjZW5kaWYKLSAgICAgICAgQWx0ZXJuYXRpdmVUZXh0Q2xpZW50KiBtX2FsdGVybmF0
aXZlVGV4dENsaWVudDsKKyAgICBBbHRlcm5hdGl2ZVRleHRDbGllbnQqIG1fYWx0ZXJuYXRpdmVU
ZXh0Q2xpZW50OwogCi0gICAgICAgIGJvb2wgbV9zY3JpcHRlZEFuaW1hdGlvbnNTdXNwZW5kZWQ7
CisgICAgYm9vbCBtX3NjcmlwdGVkQW5pbWF0aW9uc1N1c3BlbmRlZDsKIAotICAgICAgICBIYXNo
U2V0PFN0cmluZz4gbV9zZWVuUGx1Z2luczsKLSAgICAgICAgSGFzaFNldDxTdHJpbmc+IG1fc2Vl
bk1lZGlhRW5naW5lczsKLSAgICB9OworICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3NlZW5QbHVnaW5z
OworICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3NlZW5NZWRpYUVuZ2luZXM7Cit9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bs
dWdJbkNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QbHVnSW5DbGllbnQuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jZDY1YTcwODliMGJmZWE4ZDViOTVlMmQ4OTNiOTQ4ZmNhNDkwOWQ5Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QbHVnSW5DbGllbnQuaApAQCAtMCwwICsxLDQ0
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBQbHVnSW5DbGllbnRfaAorI2RlZmluZSBQbHVnSW5D
bGllbnRfaAorCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBQbHVnSW5DbGllbnQgeworcHVibGljOgorICAgIHZpcnR1YWwgdm9pZCBwYWdl
RGVzdHJveWVkKCkgPSAwOworICAgIHZpcnR1YWwgYm9vbCBpc0F1dG9TdGFydE9yaWdpbih1bnNp
Z25lZCBwbHVnSW5PcmlnaW5IYXNoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGFkZEF1dG9TdGFy
dE9yaWdpbihjb25zdCBTdHJpbmcmIHBhZ2VPcmlnaW4sIHVuc2lnbmVkIHBsdWdJbk9yaWdpbkhh
c2gpID0gMDsKKworcHJvdGVjdGVkOgorICAgIHZpcnR1YWwgflBsdWdJbkNsaWVudCgpIHsgfQor
fTsKKworfQorI2VuZGlmIC8vIFBsdWdJbkNsaWVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4uY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclNuYXBzaG90dGVkUGx1Z0luLmNwcAppbmRleCA5NzJiMmJmOTA0
MjIzYjViNzc3NWYyNDI5ZGMxNjI4M2EwZjE2ODE1Li4xNGM5YjMyOGI3NGViNjFjOGI4MGQ3OWM1
ZjU0MDcwOTU0MmEyYjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU25hcHNob3R0ZWRQbHVnSW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJTbmFwc2hvdHRlZFBsdWdJbi5jcHAKQEAgLTM3LDggKzM3LDYgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgaW50IGF1dG9TdGFydFBsdWdJblNpemVUaHJlc2hv
bGRXaWR0aCA9IDE7Ci1zdGF0aWMgY29uc3QgaW50IGF1dG9TdGFydFBsdWdJblNpemVUaHJlc2hv
bGRIZWlnaHQgPSAxOwogc3RhdGljIGNvbnN0IGludCBzdGFydEJ1dHRvblBhZGRpbmcgPSAxMDsK
IAogUmVuZGVyU25hcHNob3R0ZWRQbHVnSW46OlJlbmRlclNuYXBzaG90dGVkUGx1Z0luKEhUTUxQ
bHVnSW5JbWFnZUVsZW1lbnQqIGVsZW1lbnQpCkBAIC0xNzgsNyArMTc2LDcgQEAgdm9pZCBSZW5k
ZXJTbmFwc2hvdHRlZFBsdWdJbjo6aGFuZGxlRXZlbnQoRXZlbnQqIGV2ZW50KQogICAgICAgICAg
ICAgcGx1Z0luSW1hZ2VFbGVtZW50KCktPnNldERpc3BsYXlTdGF0ZShIVE1MUGx1Z0luRWxlbWVu
dDo6UGxheWluZyk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgcGx1Z0luSW1hZ2VFbGVt
ZW50KCktPnNldERpc3BsYXlTdGF0ZShIVE1MUGx1Z0luRWxlbWVudDo6UGxheWluZ1dpdGhQZW5k
aW5nTW91c2VDbGljayk7Ci0gICAgICAgICAgICBwbHVnSW5JbWFnZUVsZW1lbnQoKS0+c2V0UGVu
ZGluZ0NsaWNrRXZlbnQobW91c2VFdmVudCk7CisgICAgICAgICAgICBwbHVnSW5JbWFnZUVsZW1l
bnQoKS0+dXNlckRpZENsaWNrU25hcHNob3QobW91c2VFdmVudCk7CiAgICAgICAgIH0KICAgICAg
ICAgaWYgKHdpZGdldCgpKSB7CiAgICAgICAgICAgICBpZiAoRnJhbWUqIGZyYW1lID0gZG9jdW1l
bnQoKS0+ZnJhbWUoKSkKQEAgLTIwMCwxMyArMTk4LDYgQEAgdm9pZCBSZW5kZXJTbmFwc2hvdHRl
ZFBsdWdJbjo6aGFuZGxlRXZlbnQoRXZlbnQqIGV2ZW50KQogdm9pZCBSZW5kZXJTbmFwc2hvdHRl
ZFBsdWdJbjo6bGF5b3V0KCkKIHsKICAgICBSZW5kZXJFbWJlZGRlZE9iamVjdDo6bGF5b3V0KCk7
Ci0gICAgaWYgKHBsdWdJbkltYWdlRWxlbWVudCgpLT5kaXNwbGF5U3RhdGUoKSA8IEhUTUxQbHVn
SW5FbGVtZW50OjpQbGF5aW5nKSB7Ci0gICAgICAgIExheW91dFJlY3QgcmVjdCA9IGNvbnRlbnRC
b3hSZWN0KCk7Ci0gICAgICAgIGludCB3aWR0aCA9IHJlY3Qud2lkdGgoKTsKLSAgICAgICAgaW50
IGhlaWdodCA9IHJlY3QuaGVpZ2h0KCk7Ci0gICAgICAgIGlmICghd2lkdGggfHwgIWhlaWdodCB8
fCAod2lkdGggPD0gYXV0b1N0YXJ0UGx1Z0luU2l6ZVRocmVzaG9sZFdpZHRoICYmIGhlaWdodCA8
PSBhdXRvU3RhcnRQbHVnSW5TaXplVGhyZXNob2xkSGVpZ2h0KSkKLSAgICAgICAgICAgIHBsdWdJ
bkltYWdlRWxlbWVudCgpLT5zZXREaXNwbGF5U3RhdGUoSFRNTFBsdWdJbkVsZW1lbnQ6OlBsYXlp
bmcpOwotICAgIH0KIAogICAgIExheW91dFNpemUgYnV0dG9uU2l6ZSA9IHN0YXJ0QnV0dG9uSW1h
Z2UoKS0+c2l6ZSgpOwogICAgIG1fYnV0dG9uUmVjdCA9IExheW91dFJlY3QoY29udGVudEJveFJl
Y3QoKS5tYXhYTWF4WUNvcm5lcigpIC0gTGF5b3V0U2l6ZShzdGFydEJ1dHRvblBhZGRpbmcsIHN0
YXJ0QnV0dG9uUGFkZGluZykgLSBidXR0b25TaXplLCBidXR0b25TaXplKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0
cy50eHQKaW5kZXggOGYzYjZmOTNjMGQ4N2QxYmQ1YzQxMDQ0MmQ2ZDNlMTYxZGM4MzBlMC4uNDVk
OThkOTNkOTk3ZDVlZGQ2MGM4Y2Q3MmEzNTE1MTRjNjU0ZDYyYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50
eHQKQEAgLTM2Myw2ICszNjMsNyBAQCBzZXQoV2ViS2l0Ml9TT1VSQ0VTCiAgICAgVUlQcm9jZXNz
L05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmNwcAogICAgIFVJUHJv
Y2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmNwcAogCisgICAgVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwCiAgICAgVUlQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmNwcAogICAgIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
blByb2Nlc3NNYW5hZ2VyLmNwcAogICAgIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQ
cm94eS5jcHAKQEAgLTQ3MSw2ICs0NzIsNyBAQCBzZXQoV2ViS2l0Ml9TT1VSQ0VTCiAgICAgV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOZXR3b3JrSW5mb0NsaWVudC5jcHAKICAgICBXZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAKICAgICBXZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKKyAgICBXZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsdWdJbkNsaWVudC5jcHAKICAgICBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYlBvcHVwTWVudS5jcHAKICAgICBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYlNlYXJjaFBvcHVwTWVudS5jcHAKICAgICBXZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYlZpYnJhdGlvbkNsaWVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0dO
VW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCmlu
ZGV4IGRjMjZkOWRkY2FkOTNiYWIwYTljOTM5NmZkNDFhNjJhYjU4YWI0YzkuLjZiNjkzOWIyYjk4
MmJiMWEwYTFiODZkM2MwNzQ3OWMyNzA0MDY3NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlz
dC5hbQpAQCAtODE2LDYgKzgxNiw4IEBAIHdlYmtpdDJfc291cmNlcyArPSBcCiAJU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuY3Bw
IFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRp
b25Qcm92aWRlci5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIFwK
KwlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRQcm92aWRl
ci5jcHAgXAorCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFy
dFByb3ZpZGVyLmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbklu
Zm9TdG9yZS5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbklu
Zm9TdG9yZS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9j
ZXNzTWFuYWdlci5jcHAgXApAQCAtMTE1MCw2ICsxMTUyLDggQEAgd2Via2l0Ml9zb3VyY2VzICs9
IFwKIAlTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNh
dGlvbkNsaWVudC5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmggXAorCVNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGx1Z0luQ2xpZW50LmNwcCBcCisJU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbHVnSW5DbGllbnQuaCBcCiAJ
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQb3B1cE1lbnUuY3Bw
IFwKIAlTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBvcHVwTWVu
dS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlNlYXJj
aFBvcHVwTWVudS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaSBi
L1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkKaW5kZXggMTI2MGIzYzFhYTQ2YmI1Y2IyNDYzNGFi
Y2MxYjEyZjRkOTQzMTQ3My4uOTc3MGJkOWZmZDM1ZjQ4ZTg0NTAwNTA1OTgyMjNkYWVmNGE4ZDZk
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9UYXJnZXQucHJpCkBAIC0yMjgsNiArMjI4LDcgQEAgSEVBREVSUyArPSBcCiAgICAgVUlQ
cm9jZXNzL1BhZ2VDbGllbnQuaCBcCiAgICAgVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xs
ZXIuaCBcCiAgICAgVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnQuaCBcCisg
ICAgVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCBcCiAgICAgVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmggXAogICAgIFVJUHJvY2Vzcy9QbHVnaW5z
L1BsdWdpblByb2Nlc3NQcm94eS5oIFwKICAgICBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9j
ZXNzTWFuYWdlci5oIFwKQEAgLTM2MCw2ICszNjEsNyBAQCBIRUFERVJTICs9IFwKICAgICBXZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5ldHdvcmtJbmZvQ2xpZW50LmggXAogICAgIFdlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmggXAogICAgIFdlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmggXAorICAgIFdlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGx1Z0luQ2xpZW50LmggXAogICAgIFdlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViUG9wdXBNZW51LmggXAogICAgIFdlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViU2VhcmNoUG9wdXBNZW51LmggXAogICAgIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViVmlicmF0aW9uQ2xpZW50LmggXApAQCAtNTg1LDYgKzU4Nyw3IEBAIFNPVVJDRVMgKz0g
XAogICAgIFVJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94
eS5jcHAgXAogICAgIFVJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvblByb3Zp
ZGVyLmNwcCBcCiAgICAgVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuY3BwIFwKKyAg
ICBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRQcm92aWRlci5jcHAgXAogICAgIFVJ
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5jcHAgXAogICAgIFVJUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAgXAogICAgIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
blByb2Nlc3NNYW5hZ2VyLmNwcCBcCkBAIC03MzgsNiArNzQxLDcgQEAgU09VUkNFUyArPSBcCiAg
ICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOZXR3b3JrSW5mb0NsaWVudC5jcHAgXAog
ICAgIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmNwcCBc
CiAgICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3Bw
IFwKKyAgICBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsdWdJbkNsaWVudC5jcHAgXAog
ICAgIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUG9wdXBNZW51LmNwcCBcCiAgICAgV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJTZWFyY2hQb3B1cE1lbnUuY3BwIFwKICAgICBXZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlZpYnJhdGlvbkNsaWVudC5jcHAgXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlk
ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0
UHJvdmlkZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZmOTYyMTM5M2E3NjI4NjBkZTg3YWRmNmU1NmE5ZWU1
NDZiM2JmMjMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1
Z2lucy9QbHVnSW5BdXRvU3RhcnRQcm92aWRlci5jcHAKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQbHVnSW5BdXRvU3RhcnRQcm92
aWRlci5oIgorCisjaW5jbHVkZSAiV2ViQ29udGV4dC5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3NN
ZXNzYWdlcy5oIgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNlIFdlYktp
dCB7CisKK1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyOjpQbHVnSW5BdXRvU3RhcnRQcm92aWRlcihX
ZWJDb250ZXh0KiBjb250ZXh0KQorICAgIDogbV9jb250ZXh0KGNvbnRleHQpCit7Cit9CisKK3Zv
aWQgUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXI6OmFkZEF1dG9TdGFydE9yaWdpbihjb25zdCBTdHJp
bmcmIHBhZ2VPcmlnaW4sIHVuc2lnbmVkIHBsdWdJbk9yaWdpbkhhc2gpCit7CisgICAgaWYgKG1f
YXV0b1N0YXJ0SGFzaGVzLmNvbnRhaW5zKHBsdWdJbk9yaWdpbkhhc2gpKQorICAgICAgICByZXR1
cm47CisgICAgCisgICAgQXV0b1N0YXJ0VGFibGU6Oml0ZXJhdG9yIGl0ID0gbV9hdXRvU3RhcnRU
YWJsZS5maW5kKHBhZ2VPcmlnaW4pOworICAgIGlmIChpdCA9PSBtX2F1dG9TdGFydFRhYmxlLmVu
ZCgpKQorICAgICAgICBpdCA9IG1fYXV0b1N0YXJ0VGFibGUuYWRkKHBhZ2VPcmlnaW4sIEhhc2hT
ZXQ8dW5zaWduZWQ+KCkpLml0ZXJhdG9yOworICAgIAorICAgIGl0LT52YWx1ZS5hZGQocGx1Z0lu
T3JpZ2luSGFzaCk7CisgICAgbV9hdXRvU3RhcnRIYXNoZXMuYWRkKHBsdWdJbk9yaWdpbkhhc2gp
OworICAgIG1fY29udGV4dC0+c2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNz
OjpEaWRBZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW4ocGx1Z0luT3JpZ2luSGFzaCkpOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRQcm92aWRlci5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIyYTlk
NThiNjA4YjNjYWQzNjdjODIwOWRlYTgyOGNjNzQyNGE3OGYKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRQcm92aWRlci5o
CkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFBsdWdJbkF1dG9TdGFydFBy
b3ZpZGVyX2gKKyNkZWZpbmUgUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXJfaAorCisjaW5jbHVkZSA8
d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgorI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KKworbmFtZXNw
YWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYkNvbnRleHQ7CisKK2NsYXNzIFBsdWdJbkF1dG9TdGFy
dFByb3ZpZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnSW5BdXRvU3RhcnRQcm92
aWRlcik7CitwdWJsaWM6CisgICAgZXhwbGljaXQgUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIoV2Vi
Q29udGV4dCopOworCisgICAgdm9pZCBhZGRBdXRvU3RhcnRPcmlnaW4oY29uc3QgU3RyaW5nJiBw
YWdlT3JpZ2luLCB1bnNpZ25lZCBwbHVnSW5PcmlnaW5IYXNoKTsKKworcHJpdmF0ZToKKyAgICBX
ZWJDb250ZXh0KiBtX2NvbnRleHQ7CisgICAgCisgICAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZywg
SGFzaFNldDx1bnNpZ25lZD4sIENhc2VGb2xkaW5nSGFzaD4gQXV0b1N0YXJ0VGFibGU7CisgICAg
QXV0b1N0YXJ0VGFibGUgbV9hdXRvU3RhcnRUYWJsZTsKKyAgICBIYXNoU2V0PHVuc2lnbmVkPiBt
X2F1dG9TdGFydEhhc2hlczsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYg
LyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXJfaCAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YkNvbnRleHQuY3BwCmluZGV4IDRiZGYwMDAzOGY5NzdjYzZjNzE4ZjkzZjRkY2E5ZWRmN2FkNDgx
MDAuLjNkNzUyZTlkZTZkNjZjOTQ4YjYxOTVlOTVlMTNmOGI3OWVhZTdhZjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKQEAgLTEyMiw2ICsxMjIsNyBAQCBXZWJDb250
ZXh0OjpXZWJDb250ZXh0KFByb2Nlc3NNb2RlbCBwcm9jZXNzTW9kZWwsIGNvbnN0IFN0cmluZyYg
aW5qZWN0ZWRCdW5kbGVQYQogICAgICwgbV9kZWZhdWx0UGFnZUdyb3VwKFdlYlBhZ2VHcm91cDo6
Y3JlYXRlKCkpCiAgICAgLCBtX2luamVjdGVkQnVuZGxlUGF0aChpbmplY3RlZEJ1bmRsZVBhdGgp
CiAgICAgLCBtX3Zpc2l0ZWRMaW5rUHJvdmlkZXIodGhpcykKKyAgICAsIG1fcGx1Z0luQXV0b1N0
YXJ0UHJvdmlkZXIodGhpcykKICAgICAsIG1fYWx3YXlzVXNlc0NvbXBsZXhUZXh0Q29kZVBhdGgo
ZmFsc2UpCiAgICAgLCBtX3Nob3VsZFVzZUZvbnRTbW9vdGhpbmcodHJ1ZSkKICAgICAsIG1fY2Fj
aGVNb2RlbChDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIpCkBAIC0xMDQ5LDQgKzEwNTAsOSBAQCB2
b2lkIFdlYkNvbnRleHQ6OnNldEphdmFTY3JpcHRHYXJiYWdlQ29sbGVjdG9yVGltZXJFbmFibGVk
KGJvb2wgZmxhZykKICAgICBzZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYlByb2Nlc3M6
OlNldEphdmFTY3JpcHRHYXJiYWdlQ29sbGVjdG9yVGltZXJFbmFibGVkKGZsYWcpKTsKIH0KIAor
dm9pZCBXZWJDb250ZXh0OjphZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW5IYXNoKGNvbnN0IFN0cmlu
ZyYgcGFnZU9yaWdpbiwgdW5zaWduZWQgcGx1Z0luT3JpZ2luSGFzaCkKK3sKKyAgICBtX3BsdWdJ
bkF1dG9TdGFydFByb3ZpZGVyLmFkZEF1dG9TdGFydE9yaWdpbihwYWdlT3JpZ2luLCBwbHVnSW5P
cmlnaW5IYXNoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYkNvbnRleHQuaAppbmRleCA0Nzk5OTA5MzVmNjhjOTdlZDNmZGMyYWFjYzNmMTgyYTkz
MjJhMjBhLi5kYzcyYmVkN2JhYzBjMWIxMzE2YzM0YTcyODZiOWM2MzcxZWRiODZjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRl
ICJHZW5lcmljQ2FsbGJhY2suaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNs
dWRlICJNZXNzYWdlUmVjZWl2ZXJNYXAuaCIKKyNpbmNsdWRlICJQbHVnSW5BdXRvU3RhcnRQcm92
aWRlci5oIgogI2luY2x1ZGUgIlBsdWdpbkluZm9TdG9yZS5oIgogI2luY2x1ZGUgIlByb2Nlc3NN
b2RlbC5oIgogI2luY2x1ZGUgIlZpc2l0ZWRMaW5rUHJvdmlkZXIuaCIKQEAgLTMxMyw2ICszMTQs
OCBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVyT2NjbHVzaW9uTm90aWZpY2F0
aW9uSGFuZGxlcnMoKTsKICNlbmRpZgogCisgICAgdm9pZCBhZGRQbHVnSW5BdXRvU3RhcnRPcmln
aW5IYXNoKGNvbnN0IFN0cmluZyYgcGFnZU9yaWdpbiwgdW5zaWduZWQgcGx1Z0luT3JpZ2luSGFz
aCk7CisKICAgICBQcm9jZXNzTW9kZWwgbV9wcm9jZXNzTW9kZWw7CiAgICAgCiAgICAgVmVjdG9y
PFJlZlB0cjxXZWJQcm9jZXNzUHJveHk+ID4gbV9wcm9jZXNzZXM7CkBAIC0zMzIsNiArMzM1LDcg
QEAgcHJpdmF0ZToKICAgICBQbHVnaW5JbmZvU3RvcmUgbV9wbHVnaW5JbmZvU3RvcmU7CiAjZW5k
aWYKICAgICBWaXNpdGVkTGlua1Byb3ZpZGVyIG1fdmlzaXRlZExpbmtQcm92aWRlcjsKKyAgICBQ
bHVnSW5BdXRvU3RhcnRQcm92aWRlciBtX3BsdWdJbkF1dG9TdGFydFByb3ZpZGVyOwogICAgICAg
ICAKICAgICBIYXNoU2V0PFN0cmluZz4gbV9zY2hlbWVzVG9SZWdpc3RlckFzRW1wdHlEb2N1bWVu
dDsKICAgICBIYXNoU2V0PFN0cmluZz4gbV9zY2hlbWVzVG9SZWdpc3RlckFzU2VjdXJlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQubWVzc2FnZXMuaW4g
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5tZXNzYWdlcy5pbgppbmRleCAy
NjY0YTVmNGZmZTY3ODFkNWRhZGEzYTQyOGMxZjdlOTZlNjFhOWU0Li44MzljYmNjY2FiNjMyYzMx
NDIwZTU2MzA1Njg2ZWMyOGEyNDJhMGExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViQ29udGV4dC5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViQ29udGV4dC5tZXNzYWdlcy5pbgpAQCAtNTEsNCArNTEsNyBAQCBtZXNzYWdlcyAtPiBX
ZWJDb250ZXh0IHsKICAgICAvLyBhbnkgc3luY2hyb25vdXMgbWVzc2FnZXMsIGFuZCBzaG91bGQg
YmUgcmVtb3ZlZCB3aGVuIDxyZGFyOi8vcHJvYmxlbS84Nzc1MTE1PiBpcyBmaXhlZC4KICAgICBE
dW1teSgpIC0+IChib29sIGR1bW15UmV0dXJuKQogI2VuZGlmCisKKyAgICAjIFBsdWctaW4gbWVz
c2FnZXMuCisgICAgdm9pZCBBZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW5IYXNoKFdURjo6U3RyaW5n
IHBhZ2VPcmlnaW4sIHVpbnQzMl90IGhhc2gpCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJL
aXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYTJlNzAyYzZiMTQ1ODc3Mzc4MDhi
M2M2YzAwMmQxODY5NjI1N2QwNy4uYzRlMGE3ODA0NDQ2MDhkOWNmMzZjMmE0NGRkM2IzMTFiODA3
MTEzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMzIxLDggKzMyMSwxMiBAQAogCQkzMUEyRUM1NjE0ODk5QzA5MDA4MTBENzEg
LyogTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQTJFQzUzMTQ4OTk4MjUwMDgxMEQ3MSAvKiBOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oICovOyB9OwogCQkzMUEyRUM3NDE0OEQ1OUNBMDA4
MTBENzEgLyogV0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFBMkVDNzIxNDhENTlCQjAwODEwRDcx
IC8qIFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkzMUEyRUM3NzE0OEQ2NjJFMDA4MTBENzEg
LyogV0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUEyRUM3NTE0OEQ2NUJCMDA4MTBENzEgLyog
V0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5jcHAgKi87IH07CisJCTMxQTY3RTBDMTY1
QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUE2N0UwQTE2NUIyQTk5MDA2Q0JB
NjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwICovOyB9OworCQkzMUE2N0UwRDE2NUIy
QTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQTY3RTBCMTY1QjJBOTkwMDZDQkE2NiAv
KiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5oICovOyB9OwogCQkzMUJBOTI0RDE0ODgzMTI2MDA2
MkVEQjUgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUJBOTI0ODE0ODgzMDgx
MDA2MkVEQjUgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87
IH07CiAJCTMxQkE5MjRFMTQ4ODMxMjYwMDYyRURCNSAvKiBXZWJOb3RpZmljYXRpb25NYW5hZ2Vy
TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMxQkE5MjQ5MTQ4ODMwODEwMDYyRURCNSAvKiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2Fn
ZXMuaCAqLzsgfTsKKwkJMzFENTkyOUUxNjZFMDYwMDAwRTZCRjAyIC8qIFdlYlBsdWdJbkNsaWVu
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUQ1
OTI5QzE2NkUwNUZGMDBFNkJGMDIgLyogV2ViUGx1Z0luQ2xpZW50LmNwcCAqLzsgfTsKKwkJMzFE
NTkyOUYxNjZFMDYwMDAwRTZCRjAyIC8qIFdlYlBsdWdJbkNsaWVudC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFENTkyOUQxNjZFMDYwMDAwRTZCRjAy
IC8qIFdlYlBsdWdJbkNsaWVudC5oICovOyB9OwogCQkzMUVBMjVEMjEzNEY3OEMwMDA1QjE0NTIg
LyogTmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDMxRUEyNUQwMTM0Rjc4QjIwMDVCMTQ1MiAvKiBOYXRpdmVXZWJN
b3VzZUV2ZW50TWFjLm1tICovOyB9OwogCQkzMzA5MzQ0NzEzMTVCOTIyMDA5N0E3QkMgLyogV2Vi
Q29va2llTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzA5MzQ0MzEzMTVCOTIyMDA5N0E3QkMgLyogV2ViQ29v
a2llTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTMzMDkzNDQ4MTMxNUI5MjIw
MDk3QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzMDkzNDQ0MTMxNUI5MjIwMDk3QTdCQyAvKiBX
ZWJDb29raWVNYW5hZ2VyTWVzc2FnZXMuaCAqLzsgfTsKQEAgLTE1NDUsOCArMTU0OSwxMiBAQAog
CQkzMUEyRUM1NDE0ODk5ODJFMDA4MTBENzEgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTm90aWZpY2F0aW9u
UGVybWlzc2lvblJlcXVlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUEy
RUM3MjE0OEQ1OUJCMDA4MTBENzEgLyogV0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXS05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQTJFQzc1MTQ4RDY1QkIwMDgxMEQ3MSAvKiBXS05v
dGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkzMUE2N0UwQTE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0lu
QXV0b1N0YXJ0UHJvdmlkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkzMUE2N0UwQjE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGx1Z0luQXV0b1N0YXJ0UHJvdmlk
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFCQTkyNDgxNDg4MzA4MTAwNjJF
REI1IC8qIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3Nh
Z2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQkE5MjQ5MTQ4
ODMwODEwMDYyRURCNSAvKiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2Vz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDU5MjlDMTY2RTA1RkYwMEU2QkYw
MiAvKiBXZWJQbHVnSW5DbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gV2ViUGx1Z0luQ2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MzFENTkyOUQxNjZFMDYwMDAwRTZCRjAyIC8qIFdlYlBsdWdJbkNsaWVudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJQbHVnSW5DbGllbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMzFFQTI1RDAxMzRGNzhCMjAwNUIxNDUyIC8qIE5hdGl2ZVdlYk1vdXNl
RXZlbnRNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBOYXRpdmVXZWJNb3VzZUV2ZW50TWFj
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUVBMjVEMzEzNEY3OEQ2MDA1QjE0
NTIgLyogTmF0aXZlV2ViTW91c2VFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBOYXRpdmVXZWJNb3VzZUV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTMyREJDRjVFMDM3MEFERUUwMEM5MTc4MyAvKiBXZWJLaXQyUHJlZml4LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYktpdDJQcmVmaXguaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTI5NzUsNiArMjk4Myw4IEBACiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNo
aWxkcmVuID0gKAogCQkJCTFBRUZDQzBEMTFEMDFGNDEwMDgyMTlEMyAvKiBtYWMgKi8sCisJCQkJ
MzFBNjdFMEExNjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcCAq
LywKKwkJCQkzMUE2N0UwQjE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlk
ZXIuaCAqLywKIAkJCQkxQUVGQ0MxMTExRDAxRjk2MDA4MjE5RDMgLyogUGx1Z2luSW5mb1N0b3Jl
LmNwcCAqLywKIAkJCQkxQUVGQ0MxMDExRDAxRjk2MDA4MjE5RDMgLyogUGx1Z2luSW5mb1N0b3Jl
LmggKi8sCiAJCQkJMUEwRUM2MDIxMjRBOUYyQzAwN0VGNEE1IC8qIFBsdWdpblByb2Nlc3NNYW5h
Z2VyLmNwcCAqLywKQEAgLTM0MDQsNiArMzQxNCw4IEBACiAJCQkJMzEwOTk5NjgxNDZDNzFGNTAw
MjlERUI5IC8qIFdlYk5vdGlmaWNhdGlvbkNsaWVudC5oICovLAogCQkJCTFBM0U3MzYwMTFDQzI2
NTkwMDdCRDUzOSAvKiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwICovLAogCQkJCTFBM0U3MzVG
MTFDQzI2NTkwMDdCRDUzOSAvKiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCAqLywKKwkJCQkzMUQ1
OTI5QzE2NkUwNUZGMDBFNkJGMDIgLyogV2ViUGx1Z0luQ2xpZW50LmNwcCAqLywKKwkJCQkzMUQ1
OTI5RDE2NkUwNjAwMDBFNkJGMDIgLyogV2ViUGx1Z0luQ2xpZW50LmggKi8sCiAJCQkJRDNCOTQ4
NDIxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlBvcHVwTWVudS5jcHAgKi8sCiAJCQkJRDNCOTQ4NDMx
MUZGNEI2NTAwMDMyQjM5IC8qIFdlYlBvcHVwTWVudS5oICovLAogCQkJCUQzQjk0ODQ0MTFGRjRC
NjUwMDAzMkIzOSAvKiBXZWJTZWFyY2hQb3B1cE1lbnUuY3BwICovLApAQCAtNTAwMiw2ICs1MDE0
LDggQEAKIAkJCQlCQzhBQ0ExMzE2NjcwRDg5MDA0QzE5NDEgLyogT2JqQ09iamVjdEdyYXBoLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzhBQ0ExNTE2NjcwRDg5MDA0QzE5NDEgLyogT2JqQ09iamVj
dEdyYXBoQ29kZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTUxM0M2NzE2NkVBQkIyMDAxNDlG
Q0IgLyogQ2hpbGRQcm9jZXNzUHJveHkuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxQTY3RTBEMTY1
QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMzFENTkyOUYxNjZFMDYwMDAwRTZCRjAyIC8qIFdlYlBsdWdJbkNsaWVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9
IDA7CiAJCX07CkBAIC01OTU2LDYgKzU5NzAsOCBAQAogCQkJCUJDOEFDQTE0MTY2NzBEODkwMDRD
MTk0MSAvKiBPYmpDT2JqZWN0R3JhcGgubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQzhBQ0ExNjE2
NjcwRDg5MDA0QzE5NDEgLyogT2JqQ09iamVjdEdyYXBoQ29kZXJzLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJRTE1MTNDNjYxNjZFQUJCMjAwMTQ5RkNCIC8qIENoaWxkUHJvY2Vzc1Byb3h5LmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTMxQTY3RTBDMTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRv
U3RhcnRQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkzMUQ1OTI5RTE2NkUwNjAwMDBF
NkJGMDIgLyogV2ViUGx1Z0luQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1
bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbHVnSW5DbGllbnQu
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbHVnSW5D
bGllbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg5MTAwNGI4MzY0YzAyNzMwMTc5ODE5NmE4YmIwZmU0NDAz
ODkyYzgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYlBsdWdJbkNsaWVudC5jcHAKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJQbHVnSW5DbGllbnQuaCIKKwor
I2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSA8
d3RmL3RleHQvQ1N0cmluZy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCitu
YW1lc3BhY2UgV2ViS2l0IHsKKworV2ViUGx1Z0luQ2xpZW50OjpXZWJQbHVnSW5DbGllbnQoV2Vi
UGFnZSogcGFnZSkKKyAgICA6IG1fcGFnZShwYWdlKQoreworfQorCitXZWJQbHVnSW5DbGllbnQ6
On5XZWJQbHVnSW5DbGllbnQoKQoreworfQorCit2b2lkIFdlYlBsdWdJbkNsaWVudDo6cGFnZURl
c3Ryb3llZCgpCit7CisgICAgZGVsZXRlIHRoaXM7Cit9CisKK2Jvb2wgV2ViUGx1Z0luQ2xpZW50
Ojppc0F1dG9TdGFydE9yaWdpbih1bnNpZ25lZCBwbHVnSW5PcmlnaW5IYXNoKQoreworICAgIHJl
dHVybiBXZWJQcm9jZXNzOjpzaGFyZWQoKS5pc1BsdWdJbkF1dG9TdGFydE9yaWdpbihwbHVnSW5P
cmlnaW5IYXNoKTsKK30KKwordm9pZCBXZWJQbHVnSW5DbGllbnQ6OmFkZEF1dG9TdGFydE9yaWdp
bihjb25zdCBTdHJpbmcmIHBhZ2VPcmlnaW4sIHVuc2lnbmVkIHBsdWdJbk9yaWdpbkhhc2gpCit7
CisgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuYWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luKHBhZ2VP
cmlnaW4sIHBsdWdJbk9yaWdpbkhhc2gpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGx1
Z0luQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YlBsdWdJbkNsaWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNlNDIyZTEwMDZiYzM3ZDhjMDA1ZDcxNzY1MjUw
ZWU3OWM1YmMwN2YKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYlBsdWdJbkNsaWVudC5oCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIFdlYlBsdWdJbkNsaWVudF9oCisjZGVmaW5lIFdlYlBsdWdJbkNsaWVu
dF9oCisKKyNpbmNsdWRlIDxXZWJDb3JlL1BsdWdJbkNsaWVudC5oPgorI2luY2x1ZGUgPHd0Zi9I
YXNoU2V0Lmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJQYWdlOworCitjbGFz
cyBXZWJQbHVnSW5DbGllbnQgOiBwdWJsaWMgV2ViQ29yZTo6UGx1Z0luQ2xpZW50IHsKK3B1Ymxp
YzoKKyAgICBXZWJQbHVnSW5DbGllbnQoV2ViUGFnZSopOworICAgIHZpcnR1YWwgfldlYlBsdWdJ
bkNsaWVudCgpOworcHJpdmF0ZToKKyAgICB2aXJ0dWFsIHZvaWQgcGFnZURlc3Ryb3llZCgpOwor
ICAgIHZpcnR1YWwgYm9vbCBpc0F1dG9TdGFydE9yaWdpbih1bnNpZ25lZCBwbHVnSW5PcmlnaW5I
YXNoKTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkQXV0b1N0YXJ0T3JpZ2luKGNvbnN0IFN0cmluZyYg
cGFnZU9yaWdpbiwgdW5zaWduZWQgcGx1Z0luT3JpZ2luSGFzaCk7CisKKyAgICBXZWJQYWdlICpt
X3BhZ2U7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8qIFdlYlBsdWdJ
bkNsaWVudCAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCmluZGV4IGQ4NTMyZjUyNmE1YTEyMzM0OTZiN2FlM2I5ODgxMjBkY2ZkODBlMmEuLmU4ZTkz
MTkwNWI1OWUxNmRlNTViNzM4MzE4N2ExOThhNTk4YTc1YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTc0LDYgKzc0LDcgQEAKICNpbmNs
dWRlICJXZWJQYWdlR3JvdXBQcm94eS5oIgogI2luY2x1ZGUgIldlYlBhZ2VNZXNzYWdlcy5oIgog
I2luY2x1ZGUgIldlYlBhZ2VQcm94eU1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiV2ViUGx1Z0luQ2xp
ZW50LmgiCiAjaW5jbHVkZSAiV2ViUG9wdXBNZW51LmgiCiAjaW5jbHVkZSAiV2ViUHJlZmVyZW5j
ZXNTdG9yZS5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKQEAgLTMwMSw3ICszMDIsOCBAQCBX
ZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFy
YW1ldGVycyYgcGFyYW1ldGVycykKICNpZiBVU0UoQVVUT0NPUlJFQ1RJT05fUEFORUwpCiAgICAg
cGFnZUNsaWVudHMuYWx0ZXJuYXRpdmVUZXh0Q2xpZW50ID0gbmV3IFdlYkFsdGVybmF0aXZlVGV4
dENsaWVudCh0aGlzKTsKICNlbmRpZgotICAgIAorICAgIHBhZ2VDbGllbnRzLnBsdWdJbkNsaWVu
dCA9IG5ldyBXZWJQbHVnSW5DbGllbnQodGhpcyk7CisKICAgICBtX3BhZ2UgPSBhZG9wdFB0cihu
ZXcgUGFnZShwYWdlQ2xpZW50cykpOwogCiAjaWYgRU5BQkxFKEJBVFRFUllfU1RBVFVTKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggYWFmMGZkN2U2Njk2ZWI0
OWZkNmM4MGU0YmI5Y2M0NTdhNTkyNTc2Ni4uYzc0YzMxNWI0NjBhMTRlYmIwOTZjZWM3NDE2ZDY4
ZGYwOGM2ZWM4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBA
IC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiRG93bmxvYWRNYW5hZ2VyLmgiCiAjaW5jbHVkZSAi
SW5qZWN0ZWRCdW5kbGUuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlQ29k
ZXJzLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIlNhbmRib3hFeHRlbnNpb24u
aCIKICNpbmNsdWRlICJTdGF0aXN0aWNzRGF0YS5oIgogI2luY2x1ZGUgIldlYkFwcGxpY2F0aW9u
Q2FjaGVNYW5hZ2VyLmgiCkBAIC05MzcsNyArOTM4LDI3IEBAIHZvaWQgV2ViUHJvY2Vzczo6Y2xl
YXJQbHVnaW5TaXRlRGF0YShjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGx1Z2luUGF0aHMsIGNvbnN0
IFZlCiAgICAgY29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkRp
ZENsZWFyUGx1Z2luU2l0ZURhdGEoY2FsbGJhY2tJRCksIDApOwogfQogI2VuZGlmCi0gICAgCisK
K2Jvb2wgV2ViUHJvY2Vzczo6aXNQbHVnSW5BdXRvU3RhcnRPcmlnaW4odW5zaWduZWQgcGx1Z0lu
T3JpZ2luSGFzaCkKK3sKKyAgICByZXR1cm4gbV9wbHVnSW5BdXRvU3RhcnRPcmlnaW5zLmNvbnRh
aW5zKHBsdWdJbk9yaWdpbkhhc2gpOworfQorCit2b2lkIFdlYlByb2Nlc3M6OmFkZFBsdWdJbkF1
dG9TdGFydE9yaWdpbihjb25zdCBTdHJpbmcmIHBhZ2VPcmlnaW4sIHVuc2lnbmVkIHBsdWdJbk9y
aWdpbkhhc2gpCit7CisgICAgaWYgKGlzUGx1Z0luQXV0b1N0YXJ0T3JpZ2luKHBsdWdJbk9yaWdp
bkhhc2gpKSB7CisgICAgICAgIExPRyhQbHVnaW5zLCAiSGFzaCAleCBhbHJlYWR5IGV4aXN0cyBh
cyBhdXRvLXN0YXJ0IG9yaWdpbiAocmVxdWVzdCBmb3IgJXMpIiwgcGx1Z0luT3JpZ2luSGFzaCwg
cGFnZU9yaWdpbi51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IGNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViQ29udGV4dDo6QWRkUGx1Z0luQXV0b1N0
YXJ0T3JpZ2luSGFzaChwYWdlT3JpZ2luLCBwbHVnSW5PcmlnaW5IYXNoKSwgMCk7Cit9CisKK3Zv
aWQgV2ViUHJvY2Vzczo6ZGlkQWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luKHVuc2lnbmVkIHBsdWdJ
bk9yaWdpbkhhc2gpCit7CisgICAgbV9wbHVnSW5BdXRvU3RhcnRPcmlnaW5zLmFkZChwbHVnSW5P
cmlnaW5IYXNoKTsKK30KKwogc3RhdGljIHZvaWQgZnJvbUNvdW50ZWRTZXRUb0hhc2hNYXAoVHlw
ZUNvdW50U2V0KiBjb3VudGVkU2V0LCBIYXNoTWFwPFN0cmluZywgdWludDY0X3Q+JiBtYXApCiB7
CiAgICAgVHlwZUNvdW50U2V0Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBjb3VudGVkU2V0LT5lbmQo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggZWY5NWQ4MGQ4OTBl
YWFmZDU4YzAzZGJkYWJiZjcwNDIwYjMyNDQyMC4uNzM0YzYzNTQ5Y2RjNTVlNjJmNmI3ZWNmYjE2
NGZlNzE2MGJlYmE0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAg
LTE1MSw2ICsxNTEsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBhZGRWaXNpdGVkTGluayhXZWJDb3Jl
OjpMaW5rSGFzaCk7CiAgICAgYm9vbCBpc0xpbmtWaXNpdGVkKFdlYkNvcmU6OkxpbmtIYXNoKSBj
b25zdDsKIAorICAgIGJvb2wgaXNQbHVnSW5BdXRvU3RhcnRPcmlnaW4odW5zaWduZWQgcGx1Z0lu
T3JpZ2luaGFzaCk7CisgICAgdm9pZCBhZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW4oY29uc3QgU3Ry
aW5nJiBwYWdlT3JpZ2luLCB1bnNpZ25lZCBwbHVnSW5PcmlnaW5IYXNoKTsKKwogICAgIGJvb2wg
ZnVsbEtleWJvYXJkQWNjZXNzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZnVsbEtleWJvYXJk
QWNjZXNzRW5hYmxlZDsgfQogCiAgICAgV2ViRnJhbWUqIHdlYkZyYW1lKHVpbnQ2NF90KSBjb25z
dDsKQEAgLTIzOCw2ICsyNDEsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgdmlzaXRlZExpbmtTdGF0
ZUNoYW5nZWQoY29uc3QgVmVjdG9yPFdlYkNvcmU6OkxpbmtIYXNoPiYgbGlua0hhc2hlcyk7CiAg
ICAgdm9pZCBhbGxWaXNpdGVkTGlua1N0YXRlQ2hhbmdlZCgpOwogCisgICAgdm9pZCBkaWRBZGRQ
bHVnSW5BdXRvU3RhcnRPcmlnaW4odW5zaWduZWQgcGx1Z0luT3JpZ2luSGFzaCk7CisKICAgICB2
b2lkIHBsYXRmb3JtU2V0Q2FjaGVNb2RlbChDYWNoZU1vZGVsKTsKICAgICBzdGF0aWMgdm9pZCBj
YWxjdWxhdGVDYWNoZVNpemVzKENhY2hlTW9kZWwgY2FjaGVNb2RlbCwgdWludDY0X3QgbWVtb3J5
U2l6ZSwgdWludDY0X3QgZGlza0ZyZWVTaXplLAogICAgICAgICB1bnNpZ25lZCYgY2FjaGVUb3Rh
bENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNaW5EZWFkQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNo
ZU1heERlYWRDYXBhY2l0eSwgZG91YmxlJiBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFs
LApAQCAtMzI5LDYgKzMzNCw4IEBAIHByaXZhdGU6CiAgICAgVmlzaXRlZExpbmtUYWJsZSBtX3Zp
c2l0ZWRMaW5rVGFibGU7CiAgICAgYm9vbCBtX3Nob3VsZFRyYWNrVmlzaXRlZExpbmtzOwogCisg
ICAgSGFzaFNldDx1bnNpZ25lZD4gbV9wbHVnSW5BdXRvU3RhcnRPcmlnaW5zOworCiAgICAgYm9v
bCBtX2hhc1NldENhY2hlTW9kZWw7CiAgICAgQ2FjaGVNb2RlbCBtX2NhY2hlTW9kZWw7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5p
biBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRl
eCBiOGY5YjM3ZGJkNTg5YjJjYWJkZWQ4ZmYxN2RjMTcxNWYyZjRiNGE4Li4wMWJlMzk1ZGVlZjBh
OThjMjRkODM4MDA4YjUzMzI4ZDVkMDc1ZGViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC02Nyw2ICs2Nyw3IEBAIG1lc3NhZ2Vz
IC0+IFdlYlByb2Nlc3MgewogICAgIEdldFNpdGVzV2l0aFBsdWdpbkRhdGEoVmVjdG9yPFdURjo6
U3RyaW5nPiBwbHVnaW5QYXRocywgdWludDY0X3QgY2FsbGJhY2tJRCkKICAgICBDbGVhclBsdWdp
blNpdGVEYXRhKFZlY3RvcjxXVEY6OlN0cmluZz4gcGx1Z2luUGF0aHMsIFZlY3RvcjxXVEY6OlN0
cmluZz4gc2l0ZXMsIHVpbnQ2NF90IGZsYWdzLCB1aW50NjRfdCBtYXhBZ2VJblNlY29uZHMsIHVp
bnQ2NF90IGNhbGxiYWNrSUQpCiAjZW5kaWYKKyAgICBEaWRBZGRQbHVnSW5BdXRvU3RhcnRPcmln
aW4odWludDMyX3QgaGFzaCkKIAogI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCiAgICAgTmV0
d29ya1Byb2Nlc3NDcmFzaGVkKCkgRGlzcGF0Y2hPbkNvbm5lY3Rpb25RdWV1ZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qIGIvU291cmNlL1dlYktpdDIvd2lu
L1dlYktpdDIudmNwcm9qCmluZGV4IDE1ODg0MTFlNjhlYjk0MWJjYTM0OGI4NjYxYmYxNmNkYWNk
MzRkMTguLjYzZTViOTk2MzhkYTA3ZjI3ZTVhZjQ5ZjYzMjM1MzhiNDA5ZGQ5OWIgMTAwNzU1Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViS2l0
Mi93aW4vV2ViS2l0Mi52Y3Byb2oKQEAgLTE5NDYsNiArMTk0NiwxNCBAQAogCQkJCQk+CiAJCQkJ
PC9GaWxlPgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cV2ViUHJvY2Vzc1xXZWJD
b3JlU3VwcG9ydFxXZWJQbHVnSW5DbGllbnQuY3BwIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJ
CTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cV2ViUHJvY2Vzc1xXZWJDb3JlU3VwcG9ydFxX
ZWJQbHVnSW5DbGllbnQuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXFdlYlByb2Nlc3NcV2ViQ29yZVN1cHBvcnRcV2ViUG9wdXBNZW51LmNw
cCIKIAkJCQkJPgogCQkJCTwvRmlsZT4KQEAgLTM4NzQsNiArMzg4MiwxNCBAQAogCQkJCU5hbWU9
IlBsdWdpbnMiCiAJCQkJPgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9j
ZXNzXFBsdWdpbnNcUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwIgorCQkJCQk+CisJCQkJPC9G
aWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9jZXNzXFBsdWdpbnNc
UGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8Rmls
ZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xQbHVnaW5zXFBsdWdpbkluZm9TdG9y
ZS5jcHAiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178649</attachid>
            <date>2012-12-10 15:24:59 -0800</date>
            <delta_ts>2012-12-10 16:50:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103206-20121210152221.patch</filename>
            <type>text/plain</type>
            <size>52967</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3MjEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2I4MjFjNWE2MmJhYzg0
ZDExY2FiZTFiZWMxNjNkNTk2NTNhYTU4OS4uNmViYmM0MjkyYzg2Nzc0ZGY3MjRhMDVkZjQyYjk0
YzI1NDg5ZmQ0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDEyLTEyLTEwICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBLZWVwIHRyYWNrIG9mIHBsdWctaW4g
c25hcHNob3RzIGNsaWNrZWQgYnkgdXNlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjc0NjQ4
Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0
bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGx1
Z0luSW1hZ2VFbGVtZW50OjpIVE1MUGx1Z0luSW1hZ2VFbGVtZW50KTogSW5pdGlhbGx5IHRoZSBo
YXNoIGlzCisgICAgICAgIHVua25vd24uIFNldCB0byAwLiBNb3ZlIHRoZSBjaGVjayBmb3Igd2hl
dGhlciB0byBzbmFwc2hvdCB0aGUgcGx1Z2luIGludG8gdGhlCisgICAgICAgIG5ldyBmdW5jdGlv
biBzdWJmcmFtZUxvYWRlcldpbGxMb2FkUGx1Z0luLgorICAgICAgICAoV2ViQ29yZTo6SFRNTFBs
dWdJbkltYWdlRWxlbWVudDo6dXNlckRpZENsaWNrU25hcHNob3QpOiBSZW5hbWUKKyAgICAgICAg
c2V0UGVuZGluZ0NsaWNrRXZlbnQgdG8gdXNlckRpZENsaWNrU25hcHNob3QuIEluIGFkZGl0aW9u
IHRvIGhvbGRpbmcgb250byB0aGUKKyAgICAgICAgY2xpY2sgZXZlbnQgdXNlZCB0byBhY3RpdmF0
ZSB0aGUgcGx1Zy1pbiwgdGhlIGZ1bmN0aW9uIG5vdyBhbHNvIHRlbGxzIHRoZSBwbHVnLWluCisg
ICAgICAgIGNsaWVudCB0byBhZGQgdGhlIG9yaWdpbiBoYXNoIGFzIGFuIGF1dG8tc3RhcnQgb3Jp
Z2luLgorICAgICAgICAoV2ViQ29yZTo6SFRNTFBsdWdJbkltYWdlRWxlbWVudDo6c3ViZnJhbWVM
b2FkZXJXaWxsTG9hZFBsdWdJbik6IENhbGN1bGF0ZSB0aGUKKyAgICAgICAgaGFzaCBiYXNlZCBv
biB0aGUgcHJvdmlkZWQgVVJMLCB3aGljaCBpcyB0aGUgVVJMIHRoZSBwbHVnLWluIHdpbGwgbG9h
ZC4gRXh0ZW5kCisgICAgICAgIHRoZSBjaGVjayB0aGF0IHVzZWQgdG8gYmUgaW4gdGhlIGNvbnN0
cnVjdG9yIHRvIHNlZSBpZiB0aGUgcGx1Zy1pbiBzaG91bGQgbm90CisgICAgICAgIGF1dG9tYXRp
Y2FsbHkgbG9hZCwgaW5jbHVkaW5nIGNoZWNraW5nIHRoZSBwbHVnLWluIHNpemUgYW5kIHdoZXRo
ZXIgdGhlIGhhc2gKKyAgICAgICAgaXMgYW4gYXV0by1zdGFydCBvcmlnaW4uCisgICAgICAgICog
aHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50Lmg6IFJlbmFtZSBzZXRQZW5kaW5nQ2xpY2tFdmVu
dCB0byB1c2VyRGlkQ2xpY2tTbmFwc2hvdAorICAgICAgICBhbmQgYWRkIGEgdmFyaWFibGUgZm9y
IHRoZSBvcmlnaW4gaGFzaC4KKworICAgICAgICAqIGxvYWRlci9TdWJmcmFtZUxvYWRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTdWJmcmFtZUxvYWRlcjo6cmVxdWVzdFBsdWdpbik6IFdoZW4g
dGhlIGxvYWRlciBpcyBhYm91dCB0byBsb2FkIHRoZQorICAgICAgICBwbHVnLWluLCBwYXNzIHRo
ZSBVUkwgdG8gdGhlIGVsZW1lbnQsIHNvIHRoYXQgaXQgY2FuIGNhbGN1bGF0ZSB0aGUgaGFzaC4K
KworICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpQYWdl
KTogVGFrZSB0aGUgcGx1Z0luQ2xpZW50IGZyb20gdGhlIHBhZ2UgY2xpZW50cy4KKyAgICAgICAg
KFdlYkNvcmU6OlBhZ2U6On5QYWdlKTogSWYgdGhlIGNsaWVudCBleGlzdHMsIHRlbGwgaXQgdGhh
dCB0aGUgcGFnZSBpcyBiZWluZworICAgICAgICBkZXN0cm95ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpQYWdlOjpQYWdlQ2xpZW50czo6UGFnZUNsaWVudHMpOiBJbml0aWFsaXplIHRoaXMgb3B0aW9u
YWwgY2xpZW50IHRvCisgICAgICAgIG51bGwuCisgICAgICAgICogcGFnZS9QYWdlLmg6IEFkZCBQ
bHVnSW5DbGllbnQgdG8gcGFnZSBjbGllbnRzLgorICAgICAgICAoUGFnZUNsaWVudHMpOiBBZGQg
UGx1Z0luQ2xpZW50IHZhcmlhYmxlLgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6cGx1Z0luQ2xp
ZW50KToKKyAgICAgICAgKiBwYWdlL1BsdWdJbkNsaWVudC5oOiBBZGRlZC4KKworICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJTbmFwc2hvdHRlZFBsdWdJbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJTbmFwc2hvdHRlZFBsdWdJbjo6aGFuZGxlRXZlbnQpOiBDYWxsIHRoZSByZW5hbWVk
IGZ1bmN0aW9uCisgICAgICAgIHVzZXJEaWRDbGlja1NuYXBzaG90KCkuCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJTbmFwc2hvdHRlZFBsdWdJbjo6bGF5b3V0KTogTW92ZSB0aGUgY2hlY2sgb2Yg
dGhlIHBsdWctaW4gc2l6ZQorICAgICAgICB0byBzdWJmcmFtZUxvYWRlcldpbGxMb2FkUGx1Z0lu
LgorCisgICAgICAgIEFkZCBQbHVnSW5DbGllbnQuaC4KKyAgICAgICAgKiBHTlVtYWtlZmlsZS5s
aXN0LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorCiAyMDEyLTEyLTA3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgogCiAgICAgICAgIFRpZHkgdXAgdGhlIHRpbGVkIHNjcm9sbGluZyBpbmRpY2F0b3IsIGZpeCB3
aXRoIHpvb21pbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBlZmNkNTVjMjNmY2VmZmU1Nzk2OWExMjE0ZTQzNjRk
YmNkZWM0YTM2Li43YTMyODU1OTFkMDBmZTMyMWIzMDBmMWFkNTY2NGYyOGIwZTdjZjAwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNTYgQEAKKzIwMTItMTItMTAgIEpvbiBMZWUgIDxqb25sZWVAYXBw
bGUuY29tPgorCisgICAgICAgIEtlZXAgdHJhY2sgb2YgcGx1Zy1pbiBzbmFwc2hvdHMgY2xpY2tl
ZCBieSB1c2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDMyMDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyNzQ2NDgzPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENyZWF0ZSBhIG5ldyBwcm92aWRl
ciBjbGFzcyBmb3IgdGhlIHdlYiBjb250ZXh0IHRoYXQgbWFpbnRhaW5zIGEgbWFwcGluZyBvZiB0
aGUgcGx1Zy1pbiBvcmlnaW5zCisgICAgICAgIGFsbG93ZWQgdG8gYXV0by1zdGFydCBmb3IgYSBz
cGVjaWZpYyBwYWdlIG9yaWdpbi4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6V2ViUGFnZSk6IENyZWF0ZSBhbmQg
c2V0IFdlYlBsdWdJbkNsaWVudC4KKworICAgICAgICBJbXBsZW1lbnQgV2ViQ29yZTo6UGx1Z0lu
Q2xpZW50LgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGx1Z0luQ2xp
ZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBsdWdJbkNsaWVudDo6V2ViUGx1
Z0luQ2xpZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z0luQ2xpZW50Ojp+V2ViUGx1Z0lu
Q2xpZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z0luQ2xpZW50OjpwYWdlRGVzdHJveWVk
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z0luQ2xpZW50Ojppc0F1dG9TdGFydE9yaWdpbik6
IEZvcndhcmQgdG8gV2ViUHJvY2Vzcy4KKyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z0luQ2xpZW50
OjphZGRBdXRvU3RhcnRPcmlnaW4pOiBGb3J3YXJkIHRvIFdlYlByb2Nlc3MuCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbHVnSW5DbGllbnQuaDogQWRkZWQuCisKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOiBNYWludGFpbnMgYSBjb3B5IG9mIHRo
ZSBoYXNoIHNldC4KKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6aXNQbHVnSW5BdXRvU3Rh
cnRPcmlnaW4pOiBMb29rIGZvciB0aGUgaGFzaCBpbiB0aGUgc2V0LgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzOjphZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW4pOiBUZWxsIHRoZSBVSSBwcm9j
ZXNzIHRvIGFkZCB0aGUgaGFzaCBmb3IgdGhlIHBhZ2UuCisgICAgICAgIChXZWJLaXQ6OldlYlBy
b2Nlc3M6OmRpZEFkZFBsdWdJbkF1dG9TdGFydE9yaWdpbik6IEFkZCB0aGUgaGFzaCB0byB0aGUg
Y2FjaGVkIHNldC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46IEFkZCBEaWRBZGRQbHVnSW5BdXRv
U3RhcnRPcmlnaW4uCisKKyAgICAgICAgQWRkIHRoZSBhdXRvLXN0YXJ0IHByb3ZpZGVyLgorICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ29u
dGV4dDo6V2ViQ29udGV4dCk6IEluaXRpYWxpemUgdGhlIHByb3ZpZGVyLgorICAgICAgICAoV2Vi
S2l0OjpXZWJDb250ZXh0OjphZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW5IYXNoKTogRm9yd2FyZCB0
byB0aGUgcHJvdmlkZXIuCisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHQuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViQ29udGV4dC5tZXNzYWdlcy5pbjogQWRkIEFkZFBsdWdJbkF1dG9T
dGFydE9yaWdpbkhhc2guCisKKyAgICAgICAgVGhlIHByb3ZpZGVyIGNsYXNzIG1haW50YWlucyBh
IG1hcCBvZiBwYWdlIGRvbWFpbnMgdG8gaGFzaGVzLCBhbmQgYSBzZXQgb2YgYWxsIHRoZSBoYXNo
ZXMuCisgICAgICAgIFRoZSBsYXR0ZXIgd2lsbCBiZSB1c2VkIHRvIGluaXRpYWxpemUgbmV3IHdl
YiBwcm9jZXNzZXMgd2l0aG91dCBoYXZpbmcgdG8gY3Jhd2wgdGhyb3VnaCB0aGUKKyAgICAgICAg
d2hvbGUgbWFwLgorICAgICAgICAqIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFBy
b3ZpZGVyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OlBsdWdJbkF1dG9TdGFydFByb3Zp
ZGVyOjpQbHVnSW5BdXRvU3RhcnRQcm92aWRlcik6CisgICAgICAgIChXZWJLaXQ6OlBsdWdJbkF1
dG9TdGFydFByb3ZpZGVyOjphZGRBdXRvU3RhcnRPcmlnaW4pOiBBZGQgdGhlIG9yaWdpbiB0byB0
aGUgbWFwIGFuZCBzZXQuIFRlbGwKKyAgICAgICAgYWxsIHByb2Nlc3NlcyB0byBhZGQgdGhlIG9y
aWdpbiB0byB0aGVpciBsb2NhbCBjb3BpZXMuCisgICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMv
UGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaDogQWRkZWQuCisKKyAgICAgICAgQWRkIFBsdWdJbkF1
dG9TdGFydFByb3ZpZGVyIGFuZCBXZWJQbHVnSW5DbGllbnQuCisgICAgICAgICogQ01ha2VMaXN0
cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQu
cHJpOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiB3aW4vV2ViS2l0Mi52Y3Byb2o6CisKIDIwMTItMTItMTAgIEVkdWFyZG8gTGltYSBNaXRl
diAgPGVsaW1hQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gRXhwb3NlIEhpdFRlc3RSZXN1
bHQ6OnNjcm9sbGJhcigpIGNvbmRpdGlvbiBpbiBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCmluZGV4IDMyNDFkZWVlZjM2ZmJiZGU2YTA3MTFjZmM2NDU3M2ZmNTFhNzQ2ZDEuLjBlMjVh
MDZjMjRlOGZiZmE3N2M2OTRjNDc2NmYyNDkxNGUzNjljOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUubGlzdC5hbQpAQCAtNDEwOCw2ICs0MTA4LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlT
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmggXAogCVNvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VVc2VyVGltaW5nLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZVVzZXJUaW1pbmcuaCBcCisJU291cmNlL1dlYkNvcmUvcGFnZS9QbHVnSW5DbGll
bnQuaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9wYWdlL1BvcHVwT3BlbmluZ09ic2VydmVyLmggXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggZDBh
MzhjOWZiMTIzZjJjYzM1YTEwNGY1M2M3ODkxMTM0ZTg4NjIzNy4uMjJjZDcwM2JmYzRkZGQwMTZk
OTcxNTI4MzBiNDY2MmQ2NWJmYWMzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0
LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0yMDU1LDYgKzIwNTUsNyBA
QCBIRUFERVJTICs9IFwKICAgICBwYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oIFwKICAgICBw
YWdlL1BhZ2UuaCBcCiAgICAgcGFnZS9QYWdlVmlzaWJpbGl0eVN0YXRlLmggXAorICAgIHBhZ2Uv
UGx1Z0luQ2xpZW50LmggXAogICAgIHBhZ2UvUG9wdXBPcGVuaW5nT2JzZXJ2ZXIuaCBcCiAgICAg
cGFnZS9QcmludENvbnRleHQuaCBcCiAgICAgcGFnZS9TY3JlZW4uaCBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGMyNDdhZjFhMTExZjdkNGM4
Mzk5N2ZlYjUxMTgyMDI0MTk4YWJjY2UuLmQ2MjU1YzUyODc1OTg5ODc2NzE0ZjNiMWY0MzI1ODU0
ZmYwNjcxMTIgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qCkBAIC0yNzI5NCw2ICsyNzI5NCwxMCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxl
CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXFBsdWdJbkNsaWVudC5oIgorCQkJCT4KKwkJCTwv
RmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXFBvcHB1cE9wZW5pbmdP
YnNlcnZlci5oIgogCQkJCT4KIAkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAzMTY2NzM2YjdhMThjZjMzYmVmZTQ2
MWQ5NjQ0YTA4NDAwN2NjYzhkLi5iYjFkZmE0NDk2YjMyOTJhNDNmYTA3YjIxZjk5ZTk1MGViY2Nk
ZDQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC05NTAsNiArOTUwLDcgQEAKIAkJMzFDMEZGNEMwRTRDRUZERDAwN0Q2RkU1IC8q
IERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzFDMEZGNDYwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRy
YW5zaXRpb25FdmVudC5oICovOyB9OwogCQkzMUMwRkY0RDBFNENFRkREMDA3RDZGRTUgLyogRE9N
V2ViS2l0VHJhbnNpdGlvbkV2ZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMzFDMEZGNDcwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5z
aXRpb25FdmVudC5tbSAqLzsgfTsKIAkJMzFDMEZGNEUwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdl
YktpdFRyYW5zaXRpb25FdmVudEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzMUMwRkY0ODBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0
VHJhbnNpdGlvbkV2ZW50SW50ZXJuYWwuaCAqLzsgfTsKKwkJMzFENTkxQjMxNjY5N0E2QzAwRTZC
RjAyIC8qIFBsdWdJbkNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMzFENTkxQjExNjY5N0E2QzAwRTZCRjAyIC8qIFBsdWdJbkNsaWVudC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTMxRDU5MUJC
MTY2QzJFNkMwMEU2QkYwMiAvKiBQbHVnSW5PcmlnaW5IYXNoLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRDU5MUI5MTY2QzJFNkMwMEU2QkYwMiAv
KiBQbHVnSW5PcmlnaW5IYXNoLmNwcCAqLzsgfTsKIAkJMzFENTkxQkMxNjZDMkU2QzAwRTZCRjAy
IC8qIFBsdWdJbk9yaWdpbkhhc2guaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDMxRDU5MUJBMTY2QzJFNkMwMEU2QkYwMiAvKiBQbHVnSW5PcmlnaW5IYXNo
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoKTsgfTsgfTsKIAkJMzFFQzFFMjgxNEZG
NjBFRTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRUMxRTI2MTRGRjYw
RUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5jcHAgKi87IH07
CkBAIC04MTUyLDYgKzgxNTMsNyBAQAogCQkzMUMwRkY0NjBFNENFRkREMDA3RDZGRTUgLyogRE9N
V2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkzMUMwRkY0NzBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50Lm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NV2ViS2l0VHJhbnNp
dGlvbkV2ZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUMwRkY0ODBFNENF
RkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50SW50ZXJuYWwuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50SW50ZXJu
YWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFENTkxQjExNjY5N0E2QzAwRTZC
RjAyIC8qIFBsdWdJbkNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQ
bHVnSW5DbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFENTkxQjkxNjZD
MkU2QzAwRTZCRjAyIC8qIFBsdWdJbk9yaWdpbkhhc2guY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUGx1Z0luT3JpZ2luSGFzaC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTMxRDU5MUJBMTY2QzJFNkMwMEU2QkYwMiAvKiBQbHVnSW5PcmlnaW5IYXNo
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsdWdJbk9yaWdpbkhhc2guaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFFOEQ4QkExNjBCQzk0QjAwNENFOEY1IC8q
IFJlbmRlclNuYXBzaG90dGVkUGx1Z0luLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFJlbmRlclNuYXBzaG90dGVkUGx1Z0luLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTE2MDc3LDYgKzE2MDc5LDcgQEAKIAkJCQk4QUY0RTU1ODExREM1QTYzMDAw
RUQzREUgLyogUGVyZm9ybWFuY2VUaW1pbmcuY3BwICovLAogCQkJCThBRjRFNTU5MTFEQzVBNjMw
MDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5oICovLAogCQkJCThBRjRFNTVBMTFEQzVBNjMw
MDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5pZGwgKi8sCisJCQkJMzFENTkxQjExNjY5N0E2
QzAwRTZCRjAyIC8qIFBsdWdJbkNsaWVudC5oICovLAogCQkJCTM3NzJCMDk1MTY1MzU4NTYwMDBB
NDlDQSAvKiBQb3B1cE9wZW5pbmdPYnNlcnZlci5oICovLAogCQkJCUI3NzZENDNDMTEwNDUyNzUw
MEJFQjBFQyAvKiBQcmludENvbnRleHQuY3BwICovLAogCQkJCUI3NzZENDNBMTEwNDUyNUQwMEJF
QjBFQyAvKiBQcmludENvbnRleHQuaCAqLywKQEAgLTI1OTExLDYgKzI1OTE0LDcgQEAKIAkJCQlE
RUJDQ0RENDE2NjQ2RUFGMDBBNDUyRTEgLyogTWVkaWFDb250cm9sRWxlbWVudFR5cGVzLmggaW4g
SGVhZGVycyAqLywKIAkJCQlENjY4MTdGQjE2NkZFNkQ3MDBGQTA3QjQgLyogSFRNTFRlbXBsYXRl
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDY0ODlEMjYxNjZGRkNGMTAwN0MwMzFCIC8q
IEpTSFRNTFRlbXBsYXRlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFENTkxQjMxNjY5
N0E2QzAwRTZCRjAyIC8qIFBsdWdJbkNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzFENTkx
QkMxNjZDMkU2QzAwRTZCRjAyIC8qIFBsdWdJbk9yaWdpbkhhc2guaCBpbiBIZWFkZXJzICovLAog
CQkJCTk4NkVBODgzMTVGRkYyOTAwMDk4NUU1RSAvKiBQcmVyZW5kZXJDbGllbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJ
bkltYWdlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVs
ZW1lbnQuY3BwCmluZGV4IDU5MDRjYzg1YmI5M2JjZGIzYmVkZjAxNTM5MzVkMjU2MTFiMjQ1M2Eu
LjBmOWVlNGNiMzhkN2ZiYTBlZDM4ZDQwNDdmNjhlZDE4OWVkOGZiYjIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcApAQCAtMjcsOSArMjcsMTIg
QEAKICNpbmNsdWRlICJIVE1MSW1hZ2VMb2FkZXIuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIK
ICNpbmNsdWRlICJJbWFnZS5oIgorI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNb3Vz
ZUV2ZW50LmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiUGFnZS5o
IgorI2luY2x1ZGUgIlBsdWdJbkNsaWVudC5oIgorI2luY2x1ZGUgIlBsdWdJbk9yaWdpbkhhc2gu
aCIKICNpbmNsdWRlICJSZW5kZXJFbWJlZGRlZE9iamVjdC5oIgogI2luY2x1ZGUgIlJlbmRlcklt
YWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4uaCIKQEAgLTM5LDYgKzQy
LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitzdGF0aWMgY29uc3QgaW50IGF1dG9TdGFy
dFBsdWdJblNpemVUaHJlc2hvbGRXaWR0aCA9IDE7CitzdGF0aWMgY29uc3QgaW50IGF1dG9TdGFy
dFBsdWdJblNpemVUaHJlc2hvbGRIZWlnaHQgPSAxOwogLy8gVGhpcyBkZWxheSBzaG91bGQgbm90
IGV4Y2VlZCB0aGUgc25hcHNob3QgZGVsYXkgaW4gUGx1Z2luVmlldy5jcHAKIHN0YXRpYyBjb25z
dCBkb3VibGUgc2ltdWxhdGVkTW91c2VDbGlja1RpbWVyRGVsYXkgPSAuNzU7CiAKQEAgLTU0LDEx
ICs1OSw2IEBAIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jCiAgICAgLCBtX3NpbXVsYXRlZE1vdXNl
Q2xpY2tUaW1lcih0aGlzLCAmSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6c2ltdWxhdGVkTW91c2VD
bGlja1RpbWVyRmlyZWQsIHNpbXVsYXRlZE1vdXNlQ2xpY2tUaW1lckRlbGF5KQogewogICAgIHNl
dEhhc0N1c3RvbUNhbGxiYWNrcygpOwotCi0gICAgaWYgKGRvY3VtZW50LT5wYWdlKCkKLSAgICAg
ICAgJiYgZG9jdW1lbnQtPnBhZ2UoKS0+c2V0dGluZ3MoKS0+cGx1Z0luU25hcHNob3R0aW5nRW5h
YmxlZCgpCi0gICAgICAgICYmICFTY3JpcHRDb250cm9sbGVyOjpwcm9jZXNzaW5nVXNlckdlc3R1
cmUoKSkKLSAgICAgICAgc2V0RGlzcGxheVN0YXRlKFdhaXRpbmdGb3JTbmFwc2hvdCk7CiB9CiAK
IEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6On5IVE1MUGx1Z0luSW1hZ2VFbGVtZW50KCkKQEAgLTI2
MCw5ICsyNjAsMTEgQEAgdm9pZCBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50Ojp1cGRhdGVTbmFwc2hv
dChQYXNzUmVmUHRyPEltYWdlPiBpbWFnZSkKICAgICBzZXREaXNwbGF5U3RhdGUoRGlzcGxheWlu
Z1NuYXBzaG90KTsKIH0KIAotdm9pZCBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjpzZXRQZW5kaW5n
Q2xpY2tFdmVudChQYXNzUmVmUHRyPE1vdXNlRXZlbnQ+IGV2ZW50KQordm9pZCBIVE1MUGx1Z0lu
SW1hZ2VFbGVtZW50Ojp1c2VyRGlkQ2xpY2tTbmFwc2hvdChQYXNzUmVmUHRyPE1vdXNlRXZlbnQ+
IGV2ZW50KQogewogICAgIG1fcGVuZGluZ0NsaWNrRXZlbnRGcm9tU25hcHNob3QgPSBldmVudDsK
KyAgICBpZiAoZG9jdW1lbnQoKS0+cGFnZSgpKQorICAgICAgICBkb2N1bWVudCgpLT5wYWdlKCkt
PnBsdWdJbkNsaWVudCgpLT5hZGRBdXRvU3RhcnRPcmlnaW4oZG9jdW1lbnQoKS0+cGFnZSgpLT5t
YWluRnJhbWUoKS0+ZG9jdW1lbnQoKS0+YmFzZVVSTCgpLmhvc3QoKSwgbV9wbHVnSW5PcmlnaW5I
YXNoKTsKIH0KIAogdm9pZCBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjpkaXNwYXRjaFBlbmRpbmdN
b3VzZUNsaWNrKCkKQEAgLTI4Miw0ICsyODQsNDUgQEAgdm9pZCBIVE1MUGx1Z0luSW1hZ2VFbGVt
ZW50OjpzaW11bGF0ZWRNb3VzZUNsaWNrVGltZXJGaXJlZChEZWZlcnJhYmxlT25lU2hvdFRpbWUK
ICAgICBtX3BlbmRpbmdDbGlja0V2ZW50RnJvbVNuYXBzaG90ID0gbnVsbHB0cjsKIH0KIAordm9p
ZCBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjpzdWJmcmFtZUxvYWRlcldpbGxMb2FkUGx1Z0luKGNv
bnN0IEtVUkwmIHVybCkKK3sKKyAgICBpZiAoIWRvY3VtZW50KCktPnBhZ2UoKQorICAgICAgICB8
fCAhZG9jdW1lbnQoKS0+cGFnZSgpLT5zZXR0aW5ncygpLT5wbHVnSW5TbmFwc2hvdHRpbmdFbmFi
bGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghcmVuZGVyZXIoKS0+aXNTbmFwc2hv
dHRlZFBsdWdJbigpKSB7CisgICAgICAgIExPRyhQbHVnaW5zLCAiJXAgUmVuZGVyZXIgaXMgbm90
IHNuYXBzaG90dGVkIHBsdWdpbiwgc2V0IHRvIHBsYXkiLCB0aGlzKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKyAgICBpZiAoU2NyaXB0Q29udHJvbGxlcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJl
KCkpIHsKKyAgICAgICAgTE9HKFBsdWdpbnMsICIlcCBTY3JpcHQgaXMgcHJvY2Vzc2luZyB1c2Vy
IGdlc3R1cmUsIHNldCB0byBwbGF5IiwgdGhpcyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBMYXlvdXRSZWN0IHJlY3QgPSB0b1JlbmRlclNuYXBzaG90dGVkUGx1Z0luKHJlbmRlcmVy
KCkpLT5jb250ZW50Qm94UmVjdCgpOworICAgIGludCB3aWR0aCA9IHJlY3Qud2lkdGgoKTsKKyAg
ICBpbnQgaGVpZ2h0ID0gcmVjdC5oZWlnaHQoKTsKKyAgICBpZiAoIXdpZHRoIHx8ICFoZWlnaHQg
fHwgKHdpZHRoIDw9IGF1dG9TdGFydFBsdWdJblNpemVUaHJlc2hvbGRXaWR0aCAmJiBoZWlnaHQg
PD0gYXV0b1N0YXJ0UGx1Z0luU2l6ZVRocmVzaG9sZEhlaWdodCkpIHsKKyAgICAgICAgTE9HKFBs
dWdpbnMsICIlcCBQbHVnaW4gaXMgJWR4JWQsIHNldCB0byBwbGF5IiwgdGhpcywgd2lkdGgsIGhl
aWdodCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoIWRvY3VtZW50KCktPnBh
Z2UoKSB8fCAhZG9jdW1lbnQoKS0+cGFnZSgpLT5wbHVnSW5DbGllbnQoKSkgeworICAgICAgICBz
ZXREaXNwbGF5U3RhdGUoV2FpdGluZ0ZvclNuYXBzaG90KTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIExPRyhQbHVnaW5zLCAiJXAgUGx1Z2luIFVSTDogJXMiLCB0aGlzLCBtX3VybC51
dGY4KCkuZGF0YSgpKTsKKyAgICBMT0coUGx1Z2lucywgIiAgIGxvYWRlZCBVUkw6ICVzIiwgdXJs
LnN0cmluZygpLnV0ZjgoKS5kYXRhKCkpOworCisgICAgbV9wbHVnSW5PcmlnaW5IYXNoID0gUGx1
Z0luT3JpZ2luSGFzaDo6aGFzaCh0aGlzLCB1cmwpOworICAgIGlmIChtX3BsdWdJbk9yaWdpbkhh
c2ggJiYgZG9jdW1lbnQoKS0+cGFnZSgpLT5wbHVnSW5DbGllbnQoKS0+aXNBdXRvU3RhcnRPcmln
aW4obV9wbHVnSW5PcmlnaW5IYXNoKSkgeworICAgICAgICBMT0coUGx1Z2lucywgIiVwIFBsdWdp
biBoYXNoICV4IGlzIGF1dG8tc3RhcnQsIHNldCB0byBwbGF5IiwgdGhpcywgbV9wbHVnSW5Pcmln
aW5IYXNoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIExPRyhQbHVnaW5zLCAiJXAg
UGx1Z2luIGhhc2ggJXggaXMgJWR4JWQsIG9yaWdpbiBpcyBub3QgYXV0by1zdGFydCwgc2V0IHRv
IHdhaXQgZm9yIHNuYXBzaG90IiwgdGhpcywgbV9wbHVnSW5PcmlnaW5IYXNoLCB3aWR0aCwgaGVp
Z2h0KTsKKyAgICBzZXREaXNwbGF5U3RhdGUoV2FpdGluZ0ZvclNuYXBzaG90KTsKK30KKwogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
UGx1Z0luSW1hZ2VFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFn
ZUVsZW1lbnQuaAppbmRleCBjNWJmNmZhMWY5MWUxZTgyZDA4YmNhMmMwMmM3M2RhYjJjN2E4OTNk
Li4yYjg0M2NlYjJhZWFhMWNkN2U3NThmMDAzYjMxZWM1OTU4MmY1MGJiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuaApAQCAtNTksNyArNTksMTAgQEAg
cHVibGljOgogICAgIGJvb2wgbmVlZHNXaWRnZXRVcGRhdGUoKSBjb25zdCB7IHJldHVybiBtX25l
ZWRzV2lkZ2V0VXBkYXRlOyB9CiAgICAgdm9pZCBzZXROZWVkc1dpZGdldFVwZGF0ZShib29sIG5l
ZWRzV2lkZ2V0VXBkYXRlKSB7IG1fbmVlZHNXaWRnZXRVcGRhdGUgPSBuZWVkc1dpZGdldFVwZGF0
ZTsgfQogCi0gICAgdm9pZCBzZXRQZW5kaW5nQ2xpY2tFdmVudChQYXNzUmVmUHRyPE1vdXNlRXZl
bnQ+KTsKKyAgICB2b2lkIHVzZXJEaWRDbGlja1NuYXBzaG90KFBhc3NSZWZQdHI8TW91c2VFdmVu
dD4pOworCisgICAgLy8gUGx1Zy1pbiBVUkwgbWlnaHQgbm90IGJlIHRoZSBzYW1lIGFzIHVybCgp
IHdpdGggb3ZlcnJpZGluZyBwYXJhbWV0ZXJzLgorICAgIHZvaWQgc3ViZnJhbWVMb2FkZXJXaWxs
TG9hZFBsdWdJbihjb25zdCBLVVJMJiBwbHVnSW5VUkwpOwogCiBwcm90ZWN0ZWQ6CiAgICAgSFRN
TFBsdWdJbkltYWdlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVu
dCosIGJvb2wgY3JlYXRlZEJ5UGFyc2VyLCBQcmVmZXJQbHVnSW5zRm9ySW1hZ2VzT3B0aW9uKTsK
QEAgLTEwMyw2ICsxMDYsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gbV9j
dXN0b21TdHlsZUZvclBhZ2VDYWNoZTsKICAgICBSZWZQdHI8TW91c2VFdmVudD4gbV9wZW5kaW5n
Q2xpY2tFdmVudEZyb21TbmFwc2hvdDsKICAgICBEZWZlcnJhYmxlT25lU2hvdFRpbWVyPEhUTUxQ
bHVnSW5JbWFnZUVsZW1lbnQ+IG1fc2ltdWxhdGVkTW91c2VDbGlja1RpbWVyOworICAgIHVuc2ln
bmVkIG1fcGx1Z0luT3JpZ2luSGFzaDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuY3BwCmluZGV4IDkyZWE5NzM3NjdlOGM0
NzI1MGI2ZGIyYmY0MDRkMzQ4ZTU0NTIyZjEuLmQxYWI3ZTU2ZTkyMmU0MzU3YmY5MjI1ZTJiYTE5
YzRhODNlMzkzNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxv
YWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmNwcApA
QCAtMTU2LDYgKzE1Niw3IEBAIGJvb2wgU3ViZnJhbWVMb2FkZXI6OnJlcXVlc3RQbHVnaW4oSFRN
TFBsdWdJbkltYWdlRWxlbWVudCogb3duZXJFbGVtZW50LCBjb25zdCBLCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAogICAgIEFTU0VSVChvd25lckVsZW1lbnQtPmhhc1RhZ05hbWUob2JqZWN0VGFn
KSB8fCBvd25lckVsZW1lbnQtPmhhc1RhZ05hbWUoZW1iZWRUYWcpKTsKKyAgICBvd25lckVsZW1l
bnQtPnN1YmZyYW1lTG9hZGVyV2lsbExvYWRQbHVnSW4odXJsKTsKICAgICByZXR1cm4gbG9hZFBs
dWdpbihvd25lckVsZW1lbnQsIHVybCwgbWltZVR5cGUsIHBhcmFtTmFtZXMsIHBhcmFtVmFsdWVz
LCB1c2VGYWxsYmFjayk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDI3NGNhZTcyNzg2ODRh
OWFlMTk3ZTZlZGI0MTZjZWU0Mzg2NWZiMTYuLjJkYmU2Y2EwOTU1ZGI2ZTRmNDJjYjQxYTMzOTdl
MGQ4MTIwMmExZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtNTMsNiArNTMsNyBAQAogI2luY2x1
ZGUgIk5ldHdvcmtTdGF0ZU5vdGlmaWVyLmgiCiAjaW5jbHVkZSAiUGFnZUNhY2hlLmgiCiAjaW5j
bHVkZSAiUGFnZUdyb3VwLmgiCisjaW5jbHVkZSAiUGx1Z0luQ2xpZW50LmgiCiAjaW5jbHVkZSAi
UGx1Z2luRGF0YS5oIgogI2luY2x1ZGUgIlBsdWdpblZpZXcuaCIKICNpbmNsdWRlICJQb2ludGVy
TG9ja0NvbnRyb2xsZXIuaCIKQEAgLTEzMyw2ICsxMzQsNyBAQCBQYWdlOjpQYWdlKFBhZ2VDbGll
bnRzJiBwYWdlQ2xpZW50cykKICAgICAsIG1fYmFja0ZvcndhcmRDb250cm9sbGVyKEJhY2tGb3J3
YXJkQ29udHJvbGxlcjo6Y3JlYXRlKHRoaXMsIHBhZ2VDbGllbnRzLmJhY2tGb3J3YXJkQ2xpZW50
KSkKICAgICAsIG1fdGhlbWUoUmVuZGVyVGhlbWU6OnRoZW1lRm9yUGFnZSh0aGlzKSkKICAgICAs
IG1fZWRpdG9yQ2xpZW50KHBhZ2VDbGllbnRzLmVkaXRvckNsaWVudCkKKyAgICAsIG1fcGx1Z0lu
Q2xpZW50KHBhZ2VDbGllbnRzLnBsdWdJbkNsaWVudCkKICAgICAsIG1fdmFsaWRhdGlvbk1lc3Nh
Z2VDbGllbnQocGFnZUNsaWVudHMudmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQpCiAgICAgLCBtX3N1
YmZyYW1lQ291bnQoMCkKICAgICAsIG1fb3BlbmVkQnlET00oZmFsc2UpCkBAIC0xOTgsNiArMjAw
LDggQEAgUGFnZTo6flBhZ2UoKQogICAgIH0KIAogICAgIG1fZWRpdG9yQ2xpZW50LT5wYWdlRGVz
dHJveWVkKCk7CisgICAgaWYgKG1fcGx1Z0luQ2xpZW50KQorICAgICAgICBtX3BsdWdJbkNsaWVu
dC0+cGFnZURlc3Ryb3llZCgpOwogICAgIGlmIChtX2FsdGVybmF0aXZlVGV4dENsaWVudCkKICAg
ICAgICAgbV9hbHRlcm5hdGl2ZVRleHRDbGllbnQtPnBhZ2VEZXN0cm95ZWQoKTsKIApAQCAtMTMz
NCw2ICsxMzM4LDcgQEAgUGFnZTo6UGFnZUNsaWVudHM6OlBhZ2VDbGllbnRzKCkKICAgICAsIGVk
aXRvckNsaWVudCgwKQogICAgICwgZHJhZ0NsaWVudCgwKQogICAgICwgaW5zcGVjdG9yQ2xpZW50
KDApCisgICAgLCBwbHVnSW5DbGllbnQoMCkKICAgICAsIHZhbGlkYXRpb25NZXNzYWdlQ2xpZW50
KDApCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IDQ0M2FiMjYwYjE5NGIzNzVlYmVlZWZjZGE3NGMw
YjY0ZmEzNmIwMGMuLmZiM2I3ODg4OTY3YThhMDAzODFhY2E3ZmI1NTljMWUyZWQxZTU3ZTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZS5oCkBAIC03Niw2ICs3Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBNZWRpYUNhblN0YXJ0TGlzdGVuZXI7CiAgICAgY2xhc3MgTm9kZTsKICAgICBjbGFzcyBQ
YWdlR3JvdXA7CisgICAgY2xhc3MgUGx1Z0luQ2xpZW50OwogICAgIGNsYXNzIFBsdWdpbkRhdGE7
CiAgICAgY2xhc3MgUGx1Z2luVmlld0Jhc2U7CiAgICAgY2xhc3MgUG9pbnRlckxvY2tDb250cm9s
bGVyOwpAQCAtMTI3LDYgKzEyOCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAg
IEVkaXRvckNsaWVudCogZWRpdG9yQ2xpZW50OwogICAgICAgICAgICAgRHJhZ0NsaWVudCogZHJh
Z0NsaWVudDsKICAgICAgICAgICAgIEluc3BlY3RvckNsaWVudCogaW5zcGVjdG9yQ2xpZW50Owor
ICAgICAgICAgICAgUGx1Z0luQ2xpZW50KiBwbHVnSW5DbGllbnQ7CiAgICAgICAgICAgICBSZWZQ
dHI8QmFja0ZvcndhcmRMaXN0PiBiYWNrRm9yd2FyZENsaWVudDsKICAgICAgICAgICAgIFZhbGlk
YXRpb25NZXNzYWdlQ2xpZW50KiB2YWxpZGF0aW9uTWVzc2FnZUNsaWVudDsKICAgICAgICAgfTsK
QEAgLTE0OSw2ICsxNTEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgY2Fu
U3RhcnRNZWRpYSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FuU3RhcnRNZWRpYTsgfQogCiAgICAgICAg
IEVkaXRvckNsaWVudCogZWRpdG9yQ2xpZW50KCkgY29uc3QgeyByZXR1cm4gbV9lZGl0b3JDbGll
bnQ7IH0KKyAgICAgICAgUGx1Z0luQ2xpZW50KiBwbHVnSW5DbGllbnQoKSBjb25zdCB7IHJldHVy
biBtX3BsdWdJbkNsaWVudDsgfQogCiAgICAgICAgIHZvaWQgc2V0TWFpbkZyYW1lKFBhc3NSZWZQ
dHI8RnJhbWU+KTsKICAgICAgICAgRnJhbWUqIG1haW5GcmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1f
bWFpbkZyYW1lLmdldCgpOyB9CkBAIC00MDYsNiArNDA5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICBSZWZQdHI8UmVuZGVyVGhlbWU+IG1fdGhlbWU7CiAKICAgICAgICAgRWRpdG9y
Q2xpZW50KiBtX2VkaXRvckNsaWVudDsKKyAgICAgICAgUGx1Z0luQ2xpZW50KiBtX3BsdWdJbkNs
aWVudDsKICAgICAgICAgVmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQqIG1fdmFsaWRhdGlvbk1lc3Nh
Z2VDbGllbnQ7CiAKICAgICAgICAgRmVhdHVyZU9ic2VydmVyIG1fZmVhdHVyZU9ic2VydmVyOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QbHVnSW5DbGllbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGx1Z0luQ2xpZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2Q2NWE3MDg5YjBiZmVhOGQ1
Yjk1ZTJkODkzYjk0OGZjYTQ5MDlkOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGx1Z0luQ2xpZW50LmgKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5k
ZWYgUGx1Z0luQ2xpZW50X2gKKyNkZWZpbmUgUGx1Z0luQ2xpZW50X2gKKworI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGx1Z0luQ2xpZW50
IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIHZvaWQgcGFnZURlc3Ryb3llZCgpID0gMDsKKyAgICB2
aXJ0dWFsIGJvb2wgaXNBdXRvU3RhcnRPcmlnaW4odW5zaWduZWQgcGx1Z0luT3JpZ2luSGFzaCkg
PSAwOworICAgIHZpcnR1YWwgdm9pZCBhZGRBdXRvU3RhcnRPcmlnaW4oY29uc3QgU3RyaW5nJiBw
YWdlT3JpZ2luLCB1bnNpZ25lZCBwbHVnSW5PcmlnaW5IYXNoKSA9IDA7CisKK3Byb3RlY3RlZDoK
KyAgICB2aXJ0dWFsIH5QbHVnSW5DbGllbnQoKSB7IH0KK307CisKK30KKyNlbmRpZiAvLyBQbHVn
SW5DbGllbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNu
YXBzaG90dGVkUGx1Z0luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbmFw
c2hvdHRlZFBsdWdJbi5jcHAKaW5kZXggNmYyMjFkOTBjNDZhMTZhNGE0MGUxNGM5NzdhYjRhYjBk
NWU4YzhjZC4uNjk1ZTU2MTgzZGVjODc2YTU0YWE5NTFhNTQwOGI1ZmU4MDFkMjMxZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNuYXBzaG90dGVkUGx1Z0luLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4u
Y3BwCkBAIC0yMDcsNyArMjA3LDcgQEAgdm9pZCBSZW5kZXJTbmFwc2hvdHRlZFBsdWdJbjo6aGFu
ZGxlRXZlbnQoRXZlbnQqIGV2ZW50KQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIHBs
dWdJbkltYWdlRWxlbWVudCgpLT5zZXREaXNwbGF5U3RhdGUoSFRNTFBsdWdJbkVsZW1lbnQ6OlBs
YXlpbmdXaXRoUGVuZGluZ01vdXNlQ2xpY2spOwotICAgICAgICBwbHVnSW5JbWFnZUVsZW1lbnQo
KS0+c2V0UGVuZGluZ0NsaWNrRXZlbnQobW91c2VFdmVudCk7CisgICAgICAgIHBsdWdJbkltYWdl
RWxlbWVudCgpLT51c2VyRGlkQ2xpY2tTbmFwc2hvdChtb3VzZUV2ZW50KTsKIAogICAgICAgICBp
ZiAod2lkZ2V0KCkpIHsKICAgICAgICAgICAgIGlmIChGcmFtZSogZnJhbWUgPSBkb2N1bWVudCgp
LT5mcmFtZSgpKQpAQCAtMjQ5LDE2ICsyNDksNCBAQCBMYXlvdXRSZWN0IFJlbmRlclNuYXBzaG90
dGVkUGx1Z0luOjp0cnlUb0ZpdFN0YXJ0TGFiZWwoTGFiZWxTaXplIHNpemUsIGNvbnN0IExheQog
ICAgIHJldHVybiBjYW5kaWRhdGVSZWN0OwogfQogCi12b2lkIFJlbmRlclNuYXBzaG90dGVkUGx1
Z0luOjpsYXlvdXQoKQotewotICAgIFJlbmRlckVtYmVkZGVkT2JqZWN0OjpsYXlvdXQoKTsKLSAg
ICBpZiAocGx1Z0luSW1hZ2VFbGVtZW50KCktPmRpc3BsYXlTdGF0ZSgpIDwgSFRNTFBsdWdJbkVs
ZW1lbnQ6OlBsYXlpbmcpIHsKLSAgICAgICAgTGF5b3V0UmVjdCByZWN0ID0gY29udGVudEJveFJl
Y3QoKTsKLSAgICAgICAgaW50IHdpZHRoID0gcmVjdC53aWR0aCgpOwotICAgICAgICBpbnQgaGVp
Z2h0ID0gcmVjdC5oZWlnaHQoKTsKLSAgICAgICAgaWYgKCF3aWR0aCB8fCAhaGVpZ2h0IHx8ICh3
aWR0aCA8PSBhdXRvU3RhcnRQbHVnSW5TaXplVGhyZXNob2xkV2lkdGggJiYgaGVpZ2h0IDw9IGF1
dG9TdGFydFBsdWdJblNpemVUaHJlc2hvbGRIZWlnaHQpKQotICAgICAgICAgICAgcGx1Z0luSW1h
Z2VFbGVtZW50KCktPnNldERpc3BsYXlTdGF0ZShIVE1MUGx1Z0luRWxlbWVudDo6UGxheWluZyk7
Ci0gICAgfQotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4uaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJTbmFwc2hvdHRlZFBsdWdJbi5oCmluZGV4IGEwY2RlMGNjYmIw
MzI2NzJmNzgwYzliY2JjMWQ3OGI4ZDM0OTQ3MzEuLmUwZjhkMWY0YzA4YmJkNWViODNmNmNlZTc3
ZDY1ZWIyZDhjZjBkZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJTbmFwc2hvdHRlZFBsdWdJbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJTbmFwc2hvdHRlZFBsdWdJbi5oCkBAIC02Nyw4ICs2Nyw2IEBAIHByaXZhdGU6CiAgICAgTGF5
b3V0UmVjdCB0cnlUb0ZpdFN0YXJ0TGFiZWwoTGFiZWxTaXplLCBjb25zdCBMYXlvdXRSZWN0JiBj
b250ZW50Qm94KSBjb25zdDsKICAgICBJbWFnZSogc3RhcnRMYWJlbEltYWdlKExhYmVsU2l6ZSkg
Y29uc3Q7CiAKLSAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCkgT1ZFUlJJREU7Ci0KICAgICBPd25Q
dHI8UmVuZGVySW1hZ2VSZXNvdXJjZT4gbV9zbmFwc2hvdFJlc291cmNlOwogICAgIGJvb2wgbV9z
aG91bGRTaG93TGFiZWw7CiAgICAgRGVmZXJyYWJsZU9uZVNob3RUaW1lcjxSZW5kZXJTbmFwc2hv
dHRlZFBsdWdJbj4gbV9ob3ZlckRlbGF5VGltZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0CmluZGV4IDQ3
ZjViZGQ5ZjdkY2ViYmY3NGEyYTdmMTA1YzJlOTk4NWI1OGQ3YmMuLjhkZTMxOTEwMmUyNWM0ZDQ1
ODJkNjI4NDNlMmUxMGU2ZDg2OGYzMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NNYWtl
TGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0CkBAIC0zNjUsNiAr
MzY1LDcgQEAgc2V0KFdlYktpdDJfU09VUkNFUwogICAgIFVJUHJvY2Vzcy9Ob3RpZmljYXRpb25z
L1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5jcHAKICAgICBVSVByb2Nlc3MvTm90aWZpY2F0
aW9ucy9XZWJOb3RpZmljYXRpb25Qcm92aWRlci5jcHAKIAorICAgIFVJUHJvY2Vzcy9QbHVnaW5z
L1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcAogICAgIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
bkluZm9TdG9yZS5jcHAKICAgICBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdl
ci5jcHAKICAgICBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCkBAIC00
NzMsNiArNDc0LDcgQEAgc2V0KFdlYktpdDJfU09VUkNFUwogICAgIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViTmV0d29ya0luZm9DbGllbnQuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCisgICAgV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJQbHVnSW5DbGllbnQuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJQb3B1cE1lbnUuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJTZWFy
Y2hQb3B1cE1lbnUuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJWaWJyYXRp
b25DbGllbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0
LmFtIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBkYzI2ZDlkZGNh
ZDkzYmFiMGE5YzkzOTZmZDQxYTYyYWI1OGFiNGM5Li42YjY5MzliMmI5ODJiYjFhMGExYjg2ZDNj
MDc0NzljMjcwNDA2Nzc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5s
aXN0LmFtCisrKyBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTgxNiw2
ICs4MTYsOCBAQCB3ZWJraXQyX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmNwcCBcCiAJU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuaCBc
CiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBcCisJU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwIFwKKwlTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnSW5BdXRvU3RhcnRQcm92aWRlci5oIFwK
IAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5JbmZvU3RvcmUuY3BwIFwK
IAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5JbmZvU3RvcmUuaCBcCiAJ
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuY3Bw
IFwKQEAgLTExNTAsNiArMTE1Miw4IEBAIHdlYmtpdDJfc291cmNlcyArPSBcCiAJU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaCBc
CiAJU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0
cmF0ZWdpZXMuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oIFwKKwlTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYlBsdWdJbkNsaWVudC5jcHAgXAorCVNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGx1Z0luQ2xpZW50LmggXAogCVNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUG9wdXBNZW51LmNwcCBcCiAJU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQb3B1cE1lbnUuaCBcCiAJU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJTZWFyY2hQb3B1cE1lbnUuY3Bw
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViS2l0
Mi9UYXJnZXQucHJpCmluZGV4IDIyMWIwMzE0MGE0MmY5MTRkODdhNjkyNjZjMmIzZTAzYmFlZDNi
ZDMuLjA0N2QxNzA3Y2EzMzUwYmQ5ZjFhMzA0YzZiN2FlOWU5MDhiZGQxYjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYktpdDIvVGFyZ2V0LnBy
aQpAQCAtMjI5LDYgKzIyOSw3IEBAIEhFQURFUlMgKz0gXAogICAgIFVJUHJvY2Vzcy9QYWdlQ2xp
ZW50LmggXAogICAgIFVJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmggXAogICAgIFVJ
UHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50LmggXAorICAgIFVJUHJvY2Vzcy9Q
bHVnaW5zL1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmggXAogICAgIFVJUHJvY2Vzcy9QbHVnaW5z
L1BsdWdpbkluZm9TdG9yZS5oIFwKICAgICBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNz
UHJveHkuaCBcCiAgICAgVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuaCBc
CkBAIC0zNjEsNiArMzYyLDcgQEAgSEVBREVSUyArPSBcCiAgICAgV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJOZXR3b3JrSW5mb0NsaWVudC5oIFwKICAgICBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oIFwKICAgICBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oIFwKKyAgICBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYlBsdWdJbkNsaWVudC5oIFwKICAgICBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYlBvcHVwTWVudS5oIFwKICAgICBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlNlYXJj
aFBvcHVwTWVudS5oIFwKICAgICBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlZpYnJhdGlv
bkNsaWVudC5oIFwKQEAgLTU4Niw2ICs1ODgsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBVSVByb2Nl
c3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuY3BwIFwKICAgICBV
SVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25Qcm92aWRlci5jcHAgXAogICAg
IFVJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNwcCBcCisgICAgVUlQcm9jZXNzL1Bs
dWdpbnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwIFwKICAgICBVSVByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5JbmZvU3RvcmUuY3BwIFwKICAgICBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9j
ZXNzUHJveHkuY3BwIFwKICAgICBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdl
ci5jcHAgXApAQCAtNzM5LDYgKzc0Miw3IEBAIFNPVVJDRVMgKz0gXAogICAgIFdlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViTmV0d29ya0luZm9DbGllbnQuY3BwIFwKICAgICBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAgXAogICAgIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCBcCisgICAgV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbHVnSW5DbGllbnQuY3BwIFwKICAgICBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYlBvcHVwTWVudS5jcHAgXAogICAgIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViU2VhcmNoUG9wdXBNZW51LmNwcCBcCiAgICAgV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJWaWJyYXRpb25DbGllbnQuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mZjk2MjEzOTNhNzYyODYwZGU4N2FkZjZlNTZhOWVlNTQ2YjNiZjIzCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z0luQXV0
b1N0YXJ0UHJvdmlkZXIuY3BwCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCIKKworI2lu
Y2x1ZGUgIldlYkNvbnRleHQuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzTWVzc2FnZXMuaCIKKwor
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitQbHVnSW5B
dXRvU3RhcnRQcm92aWRlcjo6UGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIoV2ViQ29udGV4dCogY29u
dGV4dCkKKyAgICA6IG1fY29udGV4dChjb250ZXh0KQoreworfQorCit2b2lkIFBsdWdJbkF1dG9T
dGFydFByb3ZpZGVyOjphZGRBdXRvU3RhcnRPcmlnaW4oY29uc3QgU3RyaW5nJiBwYWdlT3JpZ2lu
LCB1bnNpZ25lZCBwbHVnSW5PcmlnaW5IYXNoKQoreworICAgIGlmIChtX2F1dG9TdGFydEhhc2hl
cy5jb250YWlucyhwbHVnSW5PcmlnaW5IYXNoKSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAg
IEF1dG9TdGFydFRhYmxlOjppdGVyYXRvciBpdCA9IG1fYXV0b1N0YXJ0VGFibGUuZmluZChwYWdl
T3JpZ2luKTsKKyAgICBpZiAoaXQgPT0gbV9hdXRvU3RhcnRUYWJsZS5lbmQoKSkKKyAgICAgICAg
aXQgPSBtX2F1dG9TdGFydFRhYmxlLmFkZChwYWdlT3JpZ2luLCBIYXNoU2V0PHVuc2lnbmVkPigp
KS5pdGVyYXRvcjsKKyAgICAKKyAgICBpdC0+dmFsdWUuYWRkKHBsdWdJbk9yaWdpbkhhc2gpOwor
ICAgIG1fYXV0b1N0YXJ0SGFzaGVzLmFkZChwbHVnSW5PcmlnaW5IYXNoKTsKKyAgICBtX2NvbnRl
eHQtPnNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6RGlkQWRkUGx1Z0lu
QXV0b1N0YXJ0T3JpZ2luKHBsdWdJbk9yaWdpbkhhc2gpKTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVn
SW5BdXRvU3RhcnRQcm92aWRlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMv
UGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMmE5ZDU4YjYwOGIzY2FkMzY3
YzgyMDlkZWE4MjhjYzc0MjRhNzhmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1BsdWdpbnMvUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaApAQCAtMCwwICsxLDU1
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlcl9oCisjZGVm
aW5lIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyX2gKKworI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+
CisjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KKyNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
KyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgewor
CitjbGFzcyBXZWJDb250ZXh0OworCitjbGFzcyBQbHVnSW5BdXRvU3RhcnRQcm92aWRlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIpOworcHVibGlj
OgorICAgIGV4cGxpY2l0IFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyKFdlYkNvbnRleHQqKTsKKwor
ICAgIHZvaWQgYWRkQXV0b1N0YXJ0T3JpZ2luKGNvbnN0IFN0cmluZyYgcGFnZU9yaWdpbiwgdW5z
aWduZWQgcGx1Z0luT3JpZ2luSGFzaCk7CisKK3ByaXZhdGU6CisgICAgV2ViQ29udGV4dCogbV9j
b250ZXh0OworICAgIAorICAgIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmcsIEhhc2hTZXQ8dW5zaWdu
ZWQ+LCBDYXNlRm9sZGluZ0hhc2g+IEF1dG9TdGFydFRhYmxlOworICAgIEF1dG9TdGFydFRhYmxl
IG1fYXV0b1N0YXJ0VGFibGU7CisgICAgSGFzaFNldDx1bnNpZ25lZD4gbV9hdXRvU3RhcnRIYXNo
ZXM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8qIFBsdWdJbkF1dG9T
dGFydFByb3ZpZGVyX2ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcApp
bmRleCA1MDZhZWRjZTU2N2U4YjIwMjE4OTg3MDAyZTBlZjA5NDIxNGU3YjY2Li4zMWIxYzk5YWNm
YzI0OTUwZDE0ZjA0MDljYTYyOGJiYWEzYjk4MjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkNvbnRleHQuY3BwCkBAIC0xMjQsNiArMTI0LDcgQEAgV2ViQ29udGV4dDo6V2ViQ29udGV4
dChQcm9jZXNzTW9kZWwgcHJvY2Vzc01vZGVsLCBjb25zdCBTdHJpbmcmIGluamVjdGVkQnVuZGxl
UGEKICAgICAsIG1fZGVmYXVsdFBhZ2VHcm91cChXZWJQYWdlR3JvdXA6OmNyZWF0ZSgpKQogICAg
ICwgbV9pbmplY3RlZEJ1bmRsZVBhdGgoaW5qZWN0ZWRCdW5kbGVQYXRoKQogICAgICwgbV92aXNp
dGVkTGlua1Byb3ZpZGVyKHRoaXMpCisgICAgLCBtX3BsdWdJbkF1dG9TdGFydFByb3ZpZGVyKHRo
aXMpCiAgICAgLCBtX2Fsd2F5c1VzZXNDb21wbGV4VGV4dENvZGVQYXRoKGZhbHNlKQogICAgICwg
bV9zaG91bGRVc2VGb250U21vb3RoaW5nKHRydWUpCiAgICAgLCBtX2NhY2hlTW9kZWwoQ2FjaGVN
b2RlbERvY3VtZW50Vmlld2VyKQpAQCAtMTA4Miw0ICsxMDgzLDkgQEAgdm9pZCBXZWJDb250ZXh0
OjpzZXRKYXZhU2NyaXB0R2FyYmFnZUNvbGxlY3RvclRpbWVyRW5hYmxlZChib29sIGZsYWcpCiAg
ICAgc2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpTZXRKYXZhU2NyaXB0
R2FyYmFnZUNvbGxlY3RvclRpbWVyRW5hYmxlZChmbGFnKSk7CiB9CiAKK3ZvaWQgV2ViQ29udGV4
dDo6YWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaChjb25zdCBTdHJpbmcmIHBhZ2VPcmlnaW4s
IHVuc2lnbmVkIHBsdWdJbk9yaWdpbkhhc2gpCit7CisgICAgbV9wbHVnSW5BdXRvU3RhcnRQcm92
aWRlci5hZGRBdXRvU3RhcnRPcmlnaW4ocGFnZU9yaWdpbiwgcGx1Z0luT3JpZ2luSGFzaCk7Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYkNvbnRleHQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0
LmgKaW5kZXggZWQ1MzUwNDc1NDJhNzE5MWMwYjBkYjRmM2VjNjY4OTExMzExZDAyOS4uODQ5ZTc3
MjIyMTY2YzMwMWUxMTRhZDZhMzE2OGEzYTRmOGI1NTRiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViQ29udGV4dC5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiR2VuZXJpY0NhbGxi
YWNrLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVJl
Y2VpdmVyTWFwLmgiCisjaW5jbHVkZSAiUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCIKICNpbmNs
dWRlICJQbHVnaW5JbmZvU3RvcmUuaCIKICNpbmNsdWRlICJQcm9jZXNzTW9kZWwuaCIKICNpbmNs
dWRlICJWaXNpdGVkTGlua1Byb3ZpZGVyLmgiCkBAIC0zMTQsNiArMzE1LDggQEAgcHJpdmF0ZToK
ICAgICBzdGF0aWMgdm9pZCByZWdpc3Rlck9jY2x1c2lvbk5vdGlmaWNhdGlvbkhhbmRsZXJzKCk7
CiAjZW5kaWYKIAorICAgIHZvaWQgYWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaChjb25zdCBT
dHJpbmcmIHBhZ2VPcmlnaW4sIHVuc2lnbmVkIHBsdWdJbk9yaWdpbkhhc2gpOworCiAgICAgUHJv
Y2Vzc01vZGVsIG1fcHJvY2Vzc01vZGVsOwogICAgIAogICAgIFZlY3RvcjxSZWZQdHI8V2ViUHJv
Y2Vzc1Byb3h5PiA+IG1fcHJvY2Vzc2VzOwpAQCAtMzMzLDYgKzMzNiw3IEBAIHByaXZhdGU6CiAg
ICAgUGx1Z2luSW5mb1N0b3JlIG1fcGx1Z2luSW5mb1N0b3JlOwogI2VuZGlmCiAgICAgVmlzaXRl
ZExpbmtQcm92aWRlciBtX3Zpc2l0ZWRMaW5rUHJvdmlkZXI7CisgICAgUGx1Z0luQXV0b1N0YXJ0
UHJvdmlkZXIgbV9wbHVnSW5BdXRvU3RhcnRQcm92aWRlcjsKICAgICAgICAgCiAgICAgSGFzaFNl
dDxTdHJpbmc+IG1fc2NoZW1lc1RvUmVnaXN0ZXJBc0VtcHR5RG9jdW1lbnQ7CiAgICAgSGFzaFNl
dDxTdHJpbmc+IG1fc2NoZW1lc1RvUmVnaXN0ZXJBc1NlY3VyZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkNvbnRleHQubWVzc2FnZXMuaW4KaW5kZXggMjY2NGE1ZjRmZmU2Nzgx
ZDVkYWRhM2E0MjhjMWY3ZTk2ZTYxYTllNC4uODM5Y2JjY2NhYjYzMmMzMTQyMGU1NjMwNTY4NmVj
MjhhMjQyYTBhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRl
eHQubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQu
bWVzc2FnZXMuaW4KQEAgLTUxLDQgKzUxLDcgQEAgbWVzc2FnZXMgLT4gV2ViQ29udGV4dCB7CiAg
ICAgLy8gYW55IHN5bmNocm9ub3VzIG1lc3NhZ2VzLCBhbmQgc2hvdWxkIGJlIHJlbW92ZWQgd2hl
biA8cmRhcjovL3Byb2JsZW0vODc3NTExNT4gaXMgZml4ZWQuCiAgICAgRHVtbXkoKSAtPiAoYm9v
bCBkdW1teVJldHVybikKICNlbmRpZgorCisgICAgIyBQbHVnLWluIG1lc3NhZ2VzLgorICAgIHZv
aWQgQWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaChXVEY6OlN0cmluZyBwYWdlT3JpZ2luLCB1
aW50MzJfdCBoYXNoKQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IGEyZTcwMmM2YjE0NTg3NzM3ODA4YjNjNmMwMDJkMTg2OTYy
NTdkMDcuLmM0ZTBhNzgwNDQ0NjA4ZDljZjM2YzJhNDRkZDNiMzExYjgwNzExMzUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTMy
MSw4ICszMjEsMTIgQEAKIAkJMzFBMkVDNTYxNDg5OUMwOTAwODEwRDcxIC8qIE5vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMUEyRUM1MzE0ODk5ODI1MDA4MTBENzEgLyogTm90aWZpY2F0aW9uUGVybWlz
c2lvblJlcXVlc3QuaCAqLzsgfTsKIAkJMzFBMkVDNzQxNDhENTlDQTAwODEwRDcxIC8qIFdLTm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDMxQTJFQzcyMTQ4RDU5QkIwMDgxMEQ3MSAvKiBXS05vdGlmaWNh
dGlvblBlcm1pc3Npb25SZXF1ZXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJMzFBMkVDNzcxNDhENjYyRTAwODEwRDcxIC8qIFdLTm90aWZpY2F0
aW9uUGVybWlzc2lvblJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMzFBMkVDNzUxNDhENjVCQjAwODEwRDcxIC8qIFdLTm90aWZpY2F0aW9u
UGVybWlzc2lvblJlcXVlc3QuY3BwICovOyB9OworCQkzMUE2N0UwQzE2NUIyQTk5MDA2Q0JBNjYg
LyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzFBNjdFMEExNjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJbkF1
dG9TdGFydFByb3ZpZGVyLmNwcCAqLzsgfTsKKwkJMzFBNjdFMEQxNjVCMkE5OTAwNkNCQTY2IC8q
IFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMUE2N0UwQjE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0
YXJ0UHJvdmlkZXIuaCAqLzsgfTsKIAkJMzFCQTkyNEQxNDg4MzEyNjAwNjJFREI1IC8qIFdlYk5v
dGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFCQTkyNDgxNDg4MzA4MTAwNjJFREI1IC8qIFdl
Yk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQkzMUJBOTI0
RTE0ODgzMTI2MDA2MkVEQjUgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUJBOTI0OTE0ODgz
MDgxMDA2MkVEQjUgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VzLmggKi87IH07CisJ
CTMxRDU5MjlFMTY2RTA2MDAwMEU2QkYwMiAvKiBXZWJQbHVnSW5DbGllbnQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFENTkyOUMxNjZFMDVGRjAw
RTZCRjAyIC8qIFdlYlBsdWdJbkNsaWVudC5jcHAgKi87IH07CisJCTMxRDU5MjlGMTY2RTA2MDAw
MEU2QkYwMiAvKiBXZWJQbHVnSW5DbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDMxRDU5MjlEMTY2RTA2MDAwMEU2QkYwMiAvKiBXZWJQbHVnSW5D
bGllbnQuaCAqLzsgfTsKIAkJMzFFQTI1RDIxMzRGNzhDMDAwNUIxNDUyIC8qIE5hdGl2ZVdlYk1v
dXNlRXZlbnRNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAzMUVBMjVEMDEzNEY3OEIyMDA1QjE0NTIgLyogTmF0aXZlV2ViTW91c2VFdmVudE1hYy5t
bSAqLzsgfTsKIAkJMzMwOTM0NDcxMzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJN
ZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzMwOTM0NDMxMzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJNZXNz
YWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQkzMzA5MzQ0ODEzMTVCOTIyMDA5N0E3QkMgLyogV2Vi
Q29va2llTWFuYWdlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzMzA5MzQ0NDEzMTVCOTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdl
ck1lc3NhZ2VzLmggKi87IH07CkBAIC0xNTQ1LDggKzE1NDksMTIgQEAKIAkJMzFBMkVDNTQxNDg5
OTgyRTAwODEwRDcxIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFBMkVDNzIxNDhENTlCQjAw
ODEwRDcxIC8qIFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkzMUEyRUM3NTE0OEQ2NUJCMDA4MTBENzEgLyogV0tOb3RpZmljYXRpb25QZXJt
aXNzaW9uUmVxdWVzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBX
S05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMzFBNjdFMEExNjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFByb3Zp
ZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBsdWdJbkF1dG9T
dGFydFByb3ZpZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFBNjdFMEIx
NjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQkE5MjQ4MTQ4ODMwODEwMDYyRURCNSAvKiBXZWJOb3Rp
ZmljYXRpb25NYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUJBOTI0OTE0ODgzMDgxMDA2MkVEQjUg
LyogV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlcy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkzMUQ1OTI5QzE2NkUwNUZGMDBFNkJGMDIgLyogV2ViUGx1Z0lu
Q2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlBsdWdJ
bkNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDU5MjlEMTY2RTA2
MDAwMEU2QkYwMiAvKiBXZWJQbHVnSW5DbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV2ViUGx1Z0luQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTMxRUEyNUQwMTM0Rjc4QjIwMDVCMTQ1MiAvKiBOYXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gTmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFFQTI1RDMxMzRGNzhENjAwNUIxNDUyIC8qIE5hdGl2ZVdl
Yk1vdXNlRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmF0aXZlV2Vi
TW91c2VFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMkRCQ0Y1RTAzNzBB
REVFMDBDOTE3ODMgLyogV2ViS2l0MlByZWZpeC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXZWJLaXQyUHJlZml4Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0y
OTc1LDYgKzI5ODMsOCBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJ
CQkxQUVGQ0MwRDExRDAxRjQxMDA4MjE5RDMgLyogbWFjICovLAorCQkJCTMxQTY3RTBBMTY1QjJB
OTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5jcHAgKi8sCisJCQkJMzFBNjdF
MEIxNjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmggKi8sCiAJCQkJ
MUFFRkNDMTExMUQwMUY5NjAwODIxOUQzIC8qIFBsdWdpbkluZm9TdG9yZS5jcHAgKi8sCiAJCQkJ
MUFFRkNDMTAxMUQwMUY5NjAwODIxOUQzIC8qIFBsdWdpbkluZm9TdG9yZS5oICovLAogCQkJCTFB
MEVDNjAyMTI0QTlGMkMwMDdFRjRBNSAvKiBQbHVnaW5Qcm9jZXNzTWFuYWdlci5jcHAgKi8sCkBA
IC0zNDA0LDYgKzM0MTQsOCBAQAogCQkJCTMxMDk5OTY4MTQ2QzcxRjUwMDI5REVCOSAvKiBXZWJO
b3RpZmljYXRpb25DbGllbnQuaCAqLywKIAkJCQkxQTNFNzM2MDExQ0MyNjU5MDA3QkQ1MzkgLyog
V2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCAqLywKIAkJCQkxQTNFNzM1RjExQ0MyNjU5MDA3QkQ1
MzkgLyogV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmggKi8sCisJCQkJMzFENTkyOUMxNjZFMDVGRjAw
RTZCRjAyIC8qIFdlYlBsdWdJbkNsaWVudC5jcHAgKi8sCisJCQkJMzFENTkyOUQxNjZFMDYwMDAw
RTZCRjAyIC8qIFdlYlBsdWdJbkNsaWVudC5oICovLAogCQkJCUQzQjk0ODQyMTFGRjRCNjUwMDAz
MkIzOSAvKiBXZWJQb3B1cE1lbnUuY3BwICovLAogCQkJCUQzQjk0ODQzMTFGRjRCNjUwMDAzMkIz
OSAvKiBXZWJQb3B1cE1lbnUuaCAqLywKIAkJCQlEM0I5NDg0NDExRkY0QjY1MDAwMzJCMzkgLyog
V2ViU2VhcmNoUG9wdXBNZW51LmNwcCAqLywKQEAgLTUwMDIsNiArNTAxNCw4IEBACiAJCQkJQkM4
QUNBMTMxNjY3MEQ4OTAwNEMxOTQxIC8qIE9iakNPYmplY3RHcmFwaC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkM4QUNBMTUxNjY3MEQ4OTAwNEMxOTQxIC8qIE9iakNPYmplY3RHcmFwaENvZGVycy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRTE1MTNDNjcxNjZFQUJCMjAwMTQ5RkNCIC8qIENoaWxkUHJv
Y2Vzc1Byb3h5LmggaW4gSGVhZGVycyAqLywKKwkJCQkzMUE2N0UwRDE2NUIyQTk5MDA2Q0JBNjYg
LyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxRDU5MjlG
MTY2RTA2MDAwMEU2QkYwMiAvKiBXZWJQbHVnSW5DbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAt
NTk1Niw2ICs1OTcwLDggQEAKIAkJCQlCQzhBQ0ExNDE2NjcwRDg5MDA0QzE5NDEgLyogT2JqQ09i
amVjdEdyYXBoLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM4QUNBMTYxNjY3MEQ4OTAwNEMxOTQx
IC8qIE9iakNPYmplY3RHcmFwaENvZGVycy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUUxNTEzQzY2
MTY2RUFCQjIwMDE0OUZDQiAvKiBDaGlsZFByb2Nlc3NQcm94eS5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQkzMUE2N0UwQzE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMzFENTkyOUUxNjZFMDYwMDAwRTZCRjAyIC8qIFdlYlBs
dWdJbkNsaWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGx1Z0luQ2xpZW50LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGx1Z0luQ2xpZW50LmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44OTEwMDRiODM2NGMwMjczMDE3OTgxOTZhOGJiMGZlNDQwMzg5MmM4Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQ
bHVnSW5DbGllbnQuY3BwCkBAIC0wLDAgKzEsNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiV2ViUGx1Z0luQ2xpZW50LmgiCisKKyNpbmNsdWRlICJMb2dn
aW5nLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJp
bmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYktp
dCB7CisKK1dlYlBsdWdJbkNsaWVudDo6V2ViUGx1Z0luQ2xpZW50KFdlYlBhZ2UqIHBhZ2UpCisg
ICAgOiBtX3BhZ2UocGFnZSkKK3sKK30KKworV2ViUGx1Z0luQ2xpZW50Ojp+V2ViUGx1Z0luQ2xp
ZW50KCkKK3sKK30KKwordm9pZCBXZWJQbHVnSW5DbGllbnQ6OnBhZ2VEZXN0cm95ZWQoKQorewor
ICAgIGRlbGV0ZSB0aGlzOworfQorCitib29sIFdlYlBsdWdJbkNsaWVudDo6aXNBdXRvU3RhcnRP
cmlnaW4odW5zaWduZWQgcGx1Z0luT3JpZ2luSGFzaCkKK3sKKyAgICByZXR1cm4gV2ViUHJvY2Vz
czo6c2hhcmVkKCkuaXNQbHVnSW5BdXRvU3RhcnRPcmlnaW4ocGx1Z0luT3JpZ2luSGFzaCk7Cit9
CisKK3ZvaWQgV2ViUGx1Z0luQ2xpZW50OjphZGRBdXRvU3RhcnRPcmlnaW4oY29uc3QgU3RyaW5n
JiBwYWdlT3JpZ2luLCB1bnNpZ25lZCBwbHVnSW5PcmlnaW5IYXNoKQoreworICAgIFdlYlByb2Nl
c3M6OnNoYXJlZCgpLmFkZFBsdWdJbkF1dG9TdGFydE9yaWdpbihwYWdlT3JpZ2luLCBwbHVnSW5P
cmlnaW5IYXNoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsdWdJbkNsaWVudC5oIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbHVnSW5DbGllbnQu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jZTQyMmUxMDA2YmMzN2Q4YzAwNWQ3MTc2NTI1MGVlNzljNWJjMDdmCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJQbHVnSW5DbGllbnQuaApAQCAtMCwwICsxLDUwIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRl
ZiBXZWJQbHVnSW5DbGllbnRfaAorI2RlZmluZSBXZWJQbHVnSW5DbGllbnRfaAorCisjaW5jbHVk
ZSA8V2ViQ29yZS9QbHVnSW5DbGllbnQuaD4KKyNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgorCitu
YW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViUGFnZTsKKworY2xhc3MgV2ViUGx1Z0luQ2xp
ZW50IDogcHVibGljIFdlYkNvcmU6OlBsdWdJbkNsaWVudCB7CitwdWJsaWM6CisgICAgV2ViUGx1
Z0luQ2xpZW50KFdlYlBhZ2UqKTsKKyAgICB2aXJ0dWFsIH5XZWJQbHVnSW5DbGllbnQoKTsKK3By
aXZhdGU6CisgICAgdmlydHVhbCB2b2lkIHBhZ2VEZXN0cm95ZWQoKTsKKyAgICB2aXJ0dWFsIGJv
b2wgaXNBdXRvU3RhcnRPcmlnaW4odW5zaWduZWQgcGx1Z0luT3JpZ2luSGFzaCk7CisgICAgdmly
dHVhbCB2b2lkIGFkZEF1dG9TdGFydE9yaWdpbihjb25zdCBTdHJpbmcmIHBhZ2VPcmlnaW4sIHVu
c2lnbmVkIHBsdWdJbk9yaWdpbkhhc2gpOworCisgICAgV2ViUGFnZSAqbV9wYWdlOworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvKiBXZWJQbHVnSW5DbGllbnQgKi8KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBlNDVl
ZmRhYjllYWFkMDAzMjA5NjQwNzkyN2VlZWQ1ZmQ4OGQxMWNlLi4xMDJmZjVlYjQ3YWU1Nzc4NWZm
ZGU4N2Y3NDg5MzI5OTA5ZDhmM2JmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC03NCw2ICs3NCw3IEBACiAjaW5jbHVkZSAiV2ViUGFnZUdy
b3VwUHJveHkuaCIKICNpbmNsdWRlICJXZWJQYWdlTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQ
YWdlUHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUgIldlYlBsdWdJbkNsaWVudC5oIgogI2luY2x1
ZGUgIldlYlBvcHVwTWVudS5oIgogI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzU3RvcmUuaCIKICNp
bmNsdWRlICJXZWJQcm9jZXNzLmgiCkBAIC0zMDEsNyArMzAyLDggQEAgV2ViUGFnZTo6V2ViUGFn
ZSh1aW50NjRfdCBwYWdlSUQsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFt
ZXRlcnMpCiAjaWYgVVNFKEFVVE9DT1JSRUNUSU9OX1BBTkVMKQogICAgIHBhZ2VDbGllbnRzLmFs
dGVybmF0aXZlVGV4dENsaWVudCA9IG5ldyBXZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQodGhpcyk7
CiAjZW5kaWYKLSAgICAKKyAgICBwYWdlQ2xpZW50cy5wbHVnSW5DbGllbnQgPSBuZXcgV2ViUGx1
Z0luQ2xpZW50KHRoaXMpOworCiAgICAgbV9wYWdlID0gYWRvcHRQdHIobmV3IFBhZ2UocGFnZUNs
aWVudHMpKTsKIAogI2lmIEVOQUJMRShCQVRURVJZX1NUQVRVUykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IGFhZjBmZDdlNjY5NmViNDlmZDZjODBlNGJiOWNj
NDU3YTU5MjU3NjYuLmM3NGMzMTViNDYwYTE0ZWJiMDk2Y2VjNzQxNmQ2OGRmMDhjNmVjODYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMjksNiArMjksNyBA
QAogI2luY2x1ZGUgIkRvd25sb2FkTWFuYWdlci5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxl
LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUNvZGVycy5oIgorI2luY2x1
ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJTYW5kYm94RXh0ZW5zaW9uLmgiCiAjaW5jbHVkZSAi
U3RhdGlzdGljc0RhdGEuaCIKICNpbmNsdWRlICJXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlci5o
IgpAQCAtOTM3LDcgKzkzOCwyNyBAQCB2b2lkIFdlYlByb2Nlc3M6OmNsZWFyUGx1Z2luU2l0ZURh
dGEoY29uc3QgVmVjdG9yPFN0cmluZz4mIHBsdWdpblBhdGhzLCBjb25zdCBWZQogICAgIGNvbm5l
Y3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpEaWRDbGVhclBsdWdpblNp
dGVEYXRhKGNhbGxiYWNrSUQpLCAwKTsKIH0KICNlbmRpZgotICAgIAorCitib29sIFdlYlByb2Nl
c3M6OmlzUGx1Z0luQXV0b1N0YXJ0T3JpZ2luKHVuc2lnbmVkIHBsdWdJbk9yaWdpbkhhc2gpCit7
CisgICAgcmV0dXJuIG1fcGx1Z0luQXV0b1N0YXJ0T3JpZ2lucy5jb250YWlucyhwbHVnSW5Pcmln
aW5IYXNoKTsKK30KKwordm9pZCBXZWJQcm9jZXNzOjphZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW4o
Y29uc3QgU3RyaW5nJiBwYWdlT3JpZ2luLCB1bnNpZ25lZCBwbHVnSW5PcmlnaW5IYXNoKQorewor
ICAgIGlmIChpc1BsdWdJbkF1dG9TdGFydE9yaWdpbihwbHVnSW5PcmlnaW5IYXNoKSkgeworICAg
ICAgICBMT0coUGx1Z2lucywgIkhhc2ggJXggYWxyZWFkeSBleGlzdHMgYXMgYXV0by1zdGFydCBv
cmlnaW4gKHJlcXVlc3QgZm9yICVzKSIsIHBsdWdJbk9yaWdpbkhhc2gsIHBhZ2VPcmlnaW4udXRm
OCgpLmRhdGEoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBjb25uZWN0aW9uKCkt
PnNlbmQoTWVzc2FnZXM6OldlYkNvbnRleHQ6OkFkZFBsdWdJbkF1dG9TdGFydE9yaWdpbkhhc2go
cGFnZU9yaWdpbiwgcGx1Z0luT3JpZ2luSGFzaCksIDApOworfQorCit2b2lkIFdlYlByb2Nlc3M6
OmRpZEFkZFBsdWdJbkF1dG9TdGFydE9yaWdpbih1bnNpZ25lZCBwbHVnSW5PcmlnaW5IYXNoKQor
eworICAgIG1fcGx1Z0luQXV0b1N0YXJ0T3JpZ2lucy5hZGQocGx1Z0luT3JpZ2luSGFzaCk7Cit9
CisKIHN0YXRpYyB2b2lkIGZyb21Db3VudGVkU2V0VG9IYXNoTWFwKFR5cGVDb3VudFNldCogY291
bnRlZFNldCwgSGFzaE1hcDxTdHJpbmcsIHVpbnQ2NF90PiYgbWFwKQogewogICAgIFR5cGVDb3Vu
dFNldDo6Y29uc3RfaXRlcmF0b3IgZW5kID0gY291bnRlZFNldC0+ZW5kKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IGVmOTVkODBkODkwZWFhZmQ1OGMwM2RiZGFi
YmY3MDQyMGIzMjQ0MjAuLjczNGM2MzU0OWNkYzU1ZTYyZjZiN2VjZmIxNjRmZTcxNjBiZWJhNGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC0xNTEsNiArMTUxLDkg
QEAgcHVibGljOgogICAgIHZvaWQgYWRkVmlzaXRlZExpbmsoV2ViQ29yZTo6TGlua0hhc2gpOwog
ICAgIGJvb2wgaXNMaW5rVmlzaXRlZChXZWJDb3JlOjpMaW5rSGFzaCkgY29uc3Q7CiAKKyAgICBi
b29sIGlzUGx1Z0luQXV0b1N0YXJ0T3JpZ2luKHVuc2lnbmVkIHBsdWdJbk9yaWdpbmhhc2gpOwor
ICAgIHZvaWQgYWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luKGNvbnN0IFN0cmluZyYgcGFnZU9yaWdp
biwgdW5zaWduZWQgcGx1Z0luT3JpZ2luSGFzaCk7CisKICAgICBib29sIGZ1bGxLZXlib2FyZEFj
Y2Vzc0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2Z1bGxLZXlib2FyZEFjY2Vzc0VuYWJsZWQ7
IH0KIAogICAgIFdlYkZyYW1lKiB3ZWJGcmFtZSh1aW50NjRfdCkgY29uc3Q7CkBAIC0yMzgsNiAr
MjQxLDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHZpc2l0ZWRMaW5rU3RhdGVDaGFuZ2VkKGNvbnN0
IFZlY3RvcjxXZWJDb3JlOjpMaW5rSGFzaD4mIGxpbmtIYXNoZXMpOwogICAgIHZvaWQgYWxsVmlz
aXRlZExpbmtTdGF0ZUNoYW5nZWQoKTsKIAorICAgIHZvaWQgZGlkQWRkUGx1Z0luQXV0b1N0YXJ0
T3JpZ2luKHVuc2lnbmVkIHBsdWdJbk9yaWdpbkhhc2gpOworCiAgICAgdm9pZCBwbGF0Zm9ybVNl
dENhY2hlTW9kZWwoQ2FjaGVNb2RlbCk7CiAgICAgc3RhdGljIHZvaWQgY2FsY3VsYXRlQ2FjaGVT
aXplcyhDYWNoZU1vZGVsIGNhY2hlTW9kZWwsIHVpbnQ2NF90IG1lbW9yeVNpemUsIHVpbnQ2NF90
IGRpc2tGcmVlU2l6ZSwKICAgICAgICAgdW5zaWduZWQmIGNhY2hlVG90YWxDYXBhY2l0eSwgdW5z
aWduZWQmIGNhY2hlTWluRGVhZENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNYXhEZWFkQ2FwYWNp
dHksIGRvdWJsZSYgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCwKQEAgLTMyOSw2ICsz
MzQsOCBAQCBwcml2YXRlOgogICAgIFZpc2l0ZWRMaW5rVGFibGUgbV92aXNpdGVkTGlua1RhYmxl
OwogICAgIGJvb2wgbV9zaG91bGRUcmFja1Zpc2l0ZWRMaW5rczsKIAorICAgIEhhc2hTZXQ8dW5z
aWduZWQ+IG1fcGx1Z0luQXV0b1N0YXJ0T3JpZ2luczsKKwogICAgIGJvb2wgbV9oYXNTZXRDYWNo
ZU1vZGVsOwogICAgIENhY2hlTW9kZWwgbV9jYWNoZU1vZGVsOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggYjhmOWIzN2RiZDU4
OWIyY2FiZGVkOGZmMTdkYzE3MTVmMmY0YjRhOC4uMDFiZTM5NWRlZWYwYTk4YzI0ZDgzODAwOGI1
MzMyOGQ1ZDA3NWRlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5tZXNzYWdlcy5pbgpAQCAtNjcsNiArNjcsNyBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNz
IHsKICAgICBHZXRTaXRlc1dpdGhQbHVnaW5EYXRhKFZlY3RvcjxXVEY6OlN0cmluZz4gcGx1Z2lu
UGF0aHMsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAgICAgQ2xlYXJQbHVnaW5TaXRlRGF0YShWZWN0
b3I8V1RGOjpTdHJpbmc+IHBsdWdpblBhdGhzLCBWZWN0b3I8V1RGOjpTdHJpbmc+IHNpdGVzLCB1
aW50NjRfdCBmbGFncywgdWludDY0X3QgbWF4QWdlSW5TZWNvbmRzLCB1aW50NjRfdCBjYWxsYmFj
a0lEKQogI2VuZGlmCisgICAgRGlkQWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luKHVpbnQzMl90IGhh
c2gpCiAKICNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQogICAgIE5ldHdvcmtQcm9jZXNzQ3Jh
c2hlZCgpIERpc3BhdGNoT25Db25uZWN0aW9uUXVldWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL3dpbi9XZWJLaXQyLnZjcHJvaiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJv
agppbmRleCAxNTg4NDExZTY4ZWI5NDFiY2EzNDhiODY2MWJmMTZjZGFjZDM0ZDE4Li42M2U1Yjk5
NjM4ZGEwN2YyN2U1YWY0OWY2MzIzNTM4YjQwOWRkOTliIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKKysrIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIu
dmNwcm9qCkBAIC0xOTQ2LDYgKzE5NDYsMTQgQEAKIAkJCQkJPgogCQkJCTwvRmlsZT4KIAkJCQk8
RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFdlYlByb2Nlc3NcV2ViQ29yZVN1cHBvcnRcV2Vi
UGx1Z0luQ2xpZW50LmNwcCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQorCQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXFdlYlByb2Nlc3NcV2ViQ29yZVN1cHBvcnRcV2ViUGx1Z0luQ2xpZW50
LmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIu
LlxXZWJQcm9jZXNzXFdlYkNvcmVTdXBwb3J0XFdlYlBvcHVwTWVudS5jcHAiCiAJCQkJCT4KIAkJ
CQk8L0ZpbGU+CkBAIC0zODc0LDYgKzM4ODIsMTQgQEAKIAkJCQlOYW1lPSJQbHVnaW5zIgogCQkJ
CT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xQbHVnaW5zXFBs
dWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8Rmls
ZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xQbHVnaW5zXFBsdWdJbkF1dG9TdGFy
dFByb3ZpZGVyLmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRp
dmVQYXRoPSIuLlxVSVByb2Nlc3NcUGx1Z2luc1xQbHVnaW5JbmZvU3RvcmUuY3BwIgogCQkJCQk+
CiAJCQkJPC9GaWxlPgo=
</data>
<flag name="review"
          id="195246"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>