<?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>101192</bug_id>
          
          <creation_ts>2012-11-05 01:23:10 -0800</creation_ts>
          <short_desc>[CSSRegions] when WebKit uses V8, there should be a single variable to store if the CSS Regions feature is enabled</short_desc>
          <delta_ts>2012-11-30 00:49:26 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>AdobeTracked</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>94070</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Mihai Maerean">mmaerean</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>donggwan.kim</cc>
    
    <cc>fishd</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jamesr</cc>
    
    <cc>morrita</cc>
    
    <cc>ojan</cc>
    
    <cc>peter+ews</cc>
    
    <cc>rakuco</cc>
    
    <cc>tkent</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>WebkitBugTracker</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>758323</commentid>
    <comment_count>0</comment_count>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2012-11-05 01:23:10 -0800</bug_when>
    <thetext>WebCore/page/Settings.h has a bit called m_cssRegionsEnabled that stores whether the CSS Regions feature is enabled at runtime.

When WebKit uses V8, there&apos;s also WebCore/bindings/generic/RuntimeEnabledFeatures that has a static bool isCSSRegionsEnabled.

Expected:
There should be a single place to store if CSS Regions is enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764175</commentid>
    <comment_count>1</comment_count>
      <attachid>173595</attachid>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2012-11-12 02:37:59 -0800</bug_when>
    <thetext>Created attachment 173595
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764176</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-12 02:41:44 -0800</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764179</commentid>
    <comment_count>3</comment_count>
      <attachid>173595</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-11-12 02:46:40 -0800</bug_when>
    <thetext>Comment on attachment 173595
Patch

Looks good. Please ask tkent for a rubberstamp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764190</commentid>
    <comment_count>4</comment_count>
      <attachid>173595</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2012-11-12 03:09:29 -0800</bug_when>
    <thetext>Comment on attachment 173595
Patch

Attachment 173595 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/14804575</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764407</commentid>
    <comment_count>5</comment_count>
      <attachid>173595</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-12 07:37:25 -0800</bug_when>
    <thetext>Comment on attachment 173595
Patch

Attachment 173595 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14818161</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764512</commentid>
    <comment_count>6</comment_count>
      <attachid>173595</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-12 09:48:10 -0800</bug_when>
    <thetext>Comment on attachment 173595
Patch

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

This isn&apos;t how we normally handle these cases.  Why not just have Chromium use WebSettings to enable Regions?

&gt; Source/WebCore/page/Settings.cpp:218
&gt; -#if ENABLE(CSS_REGIONS)
&gt; +#if ENABLE(CSS_REGIONS) &amp;&amp; !USE(V8)

We generally don&apos;t have USE(V8) ifdefs in Settings.cpp....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765414</commentid>
    <comment_count>7</comment_count>
      <attachid>173595</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-11-13 02:16:36 -0800</bug_when>
    <thetext>Comment on attachment 173595
Patch

Do you want to add V8EnabledAtRuntime to CSSRegions-related IDL attributes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765421</commentid>
    <comment_count>8</comment_count>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2012-11-13 02:26:32 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 173595 [details])
&gt; Do you want to add V8EnabledAtRuntime to CSSRegions-related IDL attributes?

Yes, I will add this kind of changes in the IDL files (Element, Document etc):
-    [Conditional=CSS_REGIONS] readonly attribute DOMString webkitRegionOverset;
-    [Conditional=CSS_REGIONS] sequence&lt;Range&gt; webkitGetRegionFlowRanges();
+    [Conditional=CSS_REGIONS, V8EnabledAtRuntime=cssRegions] readonly attribute DOMString webkitRegionOverset;
+    [Conditional=CSS_REGIONS, V8EnabledAtRuntime=cssRegions] sequence&lt;Range&gt; webkitGetRegionFlowRanges();

in order to fix https://bugs.webkit.org/show_bug.cgi?id=94070 [CSSRegions] broken feature detection: syntax parsing succeeds when ENABLE_CSS_REGIONS is false</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765423</commentid>
    <comment_count>9</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-11-13 02:34:44 -0800</bug_when>
    <thetext>ok.  So, the patch shouldn&apos;t have Settings.{cpp.h} changes.  JSC platforms can&apos;t have a runtime flag for CSS Regions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765518</commentid>
    <comment_count>10</comment_count>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2012-11-13 05:57:46 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; ok.  So, the patch shouldn&apos;t have Settings.{cpp.h} changes.  JSC platforms can&apos;t have a runtime flag for CSS Regions.

While developing the CSS Regions feature, it is needed that the CSS Regions code is built for the build bots of the JSC platforms so that the code doesn&apos;t get broken accidentally.

The JSC platforms must have a way to disable the CSS Regions code at runtime. This is the purpose of the cssRegionsEnabled property inside Settings (which is set to False by default).

For the platforms (like Chromium) that have WebRuntimeFeatures and RuntimeEnabledFeatures, there must be a property for the CSS Regions feature inside RuntimeEnabledFeatures like for the other features that are present in RuntimeEnabledFeatures. This way, the feature can be enabled by using the &quot;experimental WebKit features&quot; switch in chrome://flags/.

For Chromium, there would be 2 variables (one in Settings and one static variable in RuntimeEnabledFeatures)  storing whether the CSS Regions should be active at run-time. These 2 variables can become out of sync and cause bugs.

This bug (101192) is meant to fix this by changing Settings to point to RuntimeEnabledFeatures when RuntimeEnabledFeatures is available.

This is why there are changes in Settings.{cpp.h}. 

My question is what should we use instead of USE(V8) since that is not desired (see comment #6) and also because it doesn&apos;t build on cr-android?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765526</commentid>
    <comment_count>11</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-11-13 06:09:29 -0800</bug_when>
    <thetext>I don&apos;t think introducing two flags is a correct solution.

How to implement the runtime switch for JSC?  I think a straight-forward way is to implement EnabledAtRuntime IDL extended attribute for JSC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765592</commentid>
    <comment_count>12</comment_count>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2012-11-13 07:51:49 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Why not just have Chromium use WebSettings to enable Regions?

chromium/src/content/renderer/render_thread_impl.cc uses WebRuntimeFeatures and RuntimeEnabledFeatures to enable similar features:

void RenderThreadImpl::EnsureWebKitInitialized() {
...
  WebRuntimeFeatures::enableStyleScoped(command_line.HasSwitch(switches::kEnableExperimentalWebKitFeatures));
  WebRuntimeFeatures::enableCSSExclusions(command_line.HasSwitch(switches::kEnableExperimentalWebKitFeatures));

The idea was to use switches::kEnableExperimentalWebKitFeatures in a way that is similar to how it has been used before.

Using WebSettings would be nice because it would have a direct connection with WebCore::Settings.

Unfortunately, there is no mention of WebSettings inside chromium/src/content/renderer/render_thread_impl.cc .

How should I get access to WebSettings from inside render_thread_impl.cc?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765625</commentid>
    <comment_count>13</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-13 08:21:53 -0800</bug_when>
    <thetext>&gt; The idea was to use switches::kEnableExperimentalWebKitFeatures in a way that is similar to how it has been used before.

That&apos;s fine, but then you shouldn&apos;t use WebCore::Settings.  The problem is that you&apos;re trying to use two different mechanisms to control whether the feature is enabled.  You need to pick one and use that.

&gt; How should I get access to WebSettings from inside render_thread_impl.cc?

You can&apos;t.  WebSettings is a per WebView concept.  render_thread_impl is shared across all the WebViews in a given process.  Try grepping around for uses of WebSettings in Chromium and you&apos;ll see how to do it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765717</commentid>
    <comment_count>14</comment_count>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2012-11-13 09:57:44 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; &gt; The idea was to use switches::kEnableExperimentalWebKitFeatures in a way that is similar to how it has been used before.
&gt; 
&gt; That&apos;s fine, but then you shouldn&apos;t use WebCore::Settings.  The problem is that you&apos;re trying to use two different mechanisms to control whether the feature is enabled.  You need to pick one and use that.

We are forced to use WebRuntimeFeatures and RuntimeEnabledFeatures in order to stop the feature from leaking information at run-time by adding V8EnabledAtRuntime=cssRegions in the IDL files.

On the other hand, we are forced to use the bit in Settings so that the JSC platforms build the code (so people don&apos;t accidentally break it) and also keep the feature disabled at run-time.

So we can&apos;t remove any on them.

The solution that I see is to have them both and hopefully the 2 variables won&apos;t get out of sync as the webkit/chromium code evolves over time.

Is this acceptable?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765732</commentid>
    <comment_count>15</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-11-13 10:03:42 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; The JSC platforms must have a way to disable the CSS Regions code at runtime.

Are you sure about this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765734</commentid>
    <comment_count>16</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-13 10:05:30 -0800</bug_when>
    <thetext>&gt; Is this acceptable?

It sounds like the Settings approach doesn&apos;t really work for JSC either.  If it worked for JSC, then you could use it for V8 as well.  The ability to turn this feature off at runtime for JSC is half-baked.  IMHO, you should either fully bake it (likely by implementing EnabledAtRuntime for JSC) or you should remove it (e.g., and use ENABLE macros to enable/disable the feature for JSC).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777746</commentid>
    <comment_count>17</comment_count>
      <attachid>176456</attachid>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2012-11-28 04:35:26 -0800</bug_when>
    <thetext>Created attachment 176456
Incorporated Adam Barth&apos;s feedback to remove the CSS Regions flag in Settings and only use the new flag in RuntimeEnabledFeatures.

Work in Progress.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777761</commentid>
    <comment_count>18</comment_count>
      <attachid>176456</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-28 04:54:35 -0800</bug_when>
    <thetext>Comment on attachment 176456
Incorporated Adam Barth&apos;s feedback to remove the CSS Regions flag in Settings and only use the new flag in RuntimeEnabledFeatures.

Attachment 176456 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15018420</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777822</commentid>
    <comment_count>19</comment_count>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2012-11-28 05:56:59 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; (From update of attachment 176456 [details])
&gt; Attachment 176456 [details] did not pass chromium-ews (chromium-xvfb):
&gt; Output: http://queues.webkit.org/results/15018420

My changes did include the fix for Chromium, but the changes are located in Source/WebKit/chromium/webkit/glue/ (brought by update-webkit --chromium) and aren&apos;t picked up by webkit-patch or git diff.

I have googled for &quot;how to submit patch affects both webkit chromium glue code&quot;, but I didn&apos;t find the answer.

So how do I add the changes found in Source/WebKit/chromium/webkit/glue/ to the patch so the chromium-ews can successfully build the sources?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777830</commentid>
    <comment_count>20</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-28 06:00:43 -0800</bug_when>
    <thetext>&gt; So how do I add the changes found in Source/WebKit/chromium/webkit/glue/ to the patch so the chromium-ews can successfully build the sources?

webkit/glue is located in svn.chromium.org:

http://src.chromium.org/viewvc/chrome/trunk/src/webkit/glue/

You would first need to land the changes in svn.chromium.org and then increase the value of chromium_rev in http://trac.webkit.org/browser/trunk/Source/WebKit/chromium/DEPS so that WebKit can see your change to Chromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777833</commentid>
    <comment_count>21</comment_count>
      <attachid>176456</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-28 06:03:27 -0800</bug_when>
    <thetext>Comment on attachment 176456
Incorporated Adam Barth&apos;s feedback to remove the CSS Regions flag in Settings and only use the new flag in RuntimeEnabledFeatures.

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

&gt; Source/WebKit/chromium/public/WebSettings.h:-104
&gt; -    virtual void setExperimentalCSSRegionsEnabled(bool) = 0;

I suspect the problem is that you&apos;re trying to change this public API.  What you should do instead is move this function to the bottom of the interface and make it a no-op.  After this patch lands and Chromium&apos;s webkit_rev is increased, you can remove any callers in Chromium.  Once the Chromium callers are gone and WebKit&apos;s chromium_rev is increased, you can remove the deprecated API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777880</commentid>
    <comment_count>22</comment_count>
      <attachid>176456</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2012-11-28 06:55:36 -0800</bug_when>
    <thetext>Comment on attachment 176456
Incorporated Adam Barth&apos;s feedback to remove the CSS Regions flag in Settings and only use the new flag in RuntimeEnabledFeatures.

Attachment 176456 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/15016417</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777907</commentid>
    <comment_count>23</comment_count>
      <attachid>176486</attachid>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2012-11-28 07:44:46 -0800</bug_when>
    <thetext>Created attachment 176486
Incorporated Adam Barth&apos;s feedback to move setExperimentalCSSRegionsEnabled to the bottom of the WebSettings interface and make it a no-op.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779837</commentid>
    <comment_count>24</comment_count>
      <attachid>176486</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-11-29 22:55:39 -0800</bug_when>
    <thetext>Comment on attachment 176486
Incorporated Adam Barth&apos;s feedback to move setExperimentalCSSRegionsEnabled to the bottom of the WebSettings interface and make it a no-op.

rs=me, all green, adam&apos;s comments being addressed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779870</commentid>
    <comment_count>25</comment_count>
      <attachid>176486</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-30 00:04:35 -0800</bug_when>
    <thetext>Comment on attachment 176486
Incorporated Adam Barth&apos;s feedback to move setExperimentalCSSRegionsEnabled to the bottom of the WebSettings interface and make it a no-op.

Rejecting attachment 176486 from commit-queue.

mmaerean@adobe.com does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779898</commentid>
    <comment_count>26</comment_count>
      <attachid>176486</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-30 00:49:20 -0800</bug_when>
    <thetext>Comment on attachment 176486
Incorporated Adam Barth&apos;s feedback to move setExperimentalCSSRegionsEnabled to the bottom of the WebSettings interface and make it a no-op.

Clearing flags on attachment: 176486

Committed r136210: &lt;http://trac.webkit.org/changeset/136210&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779899</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-30 00:49:26 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173595</attachid>
            <date>2012-11-12 02:37:59 -0800</date>
            <delta_ts>2012-11-28 04:35:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101192-20121112123603.patch</filename>
            <type>text/plain</type>
            <size>9733</size>
            <attacher name="Mihai Maerean">mmaerean</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MDU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDE0Y2JlNzM1MzBhZjlk
ODM1ZTk2MzJjYWY1NDE4MTU2MTVhZWJiZS4uNjMzMjBhZTBhNTdhYmU2MTExMmJkYmVlMzdiMDkz
ZGI1OTlmZGYwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTExLTEyICBNaWhh
aSBNYWVyZWFuICA8bW1hZXJlYW5AYWRvYmUuY29tPgorCisgICAgICAgIFtDU1NSZWdpb25zXSB3
aGVuIFdlYktpdCB1c2VzIFY4LCB0aGVyZSBzaG91bGQgYmUgYSBzaW5nbGUgdmFyaWFibGUgdG8g
c3RvcmUgaWYgdGhlIENTUyBSZWdpb25zIGZlYXR1cmUgaXMgZW5hYmxlZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxMTkyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT24gbm9uLVY4IHBvcnRzLCB5b3Ug
Y2FuIHRlc3QgaWYgdGhlIENTUyBSZWdpb25zIGZlYXR1cmUgaXMgZW5hYmxlZCBieSBjYWxsaW5n
IHNldHRpbmdzKCktPmNzc1JlZ2lvbnNFbmFibGVkKCkuCisgICAgICAgIE9uIFY4IHBvcnRzLCBJ
IGhhdmUgYWRkZWQgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6Y3NzUmVnaW9uc0VuYWJsZWQoKSB0
aGF0IHdpbGwgYmUgc2V0CisgICAgICAgIGluIGNocm9taXVtL3NyYy9jb250ZW50L3JlbmRlcmVy
L3JlbmRlcl90aHJlYWRfaW1wbC5jYzoKKyAgICAgICAgICAgIFdlYlJ1bnRpbWVGZWF0dXJlczo6
ZW5hYmxlQ1NTUmVnaW9ucyhjb21tYW5kX2xpbmUuSGFzU3dpdGNoKHN3aXRjaGVzOjprRW5hYmxl
RXhwZXJpbWVudGFsV2ViS2l0RmVhdHVyZXMpKTsKKyAgICAgICAgQm90aCB0aGVzZSBjbGFzc2Vz
IHdvdWxkIG5vdyBoYXZlIGEgdmFyaWFibGUgc3RvcmluZyB0aGUgaW5mb3JtYXRpb24gYWJvdXQg
dGhlIGZlYXR1cmUgYmVpbmcgZW5hYmxlZC4KKyAgICAgICAgV2UgbmVlZCBoYXZlIGEgc2luZ2xl
IHZhcmlhYmxlIHRvIHN0b3JlIHRoZSBpbmZvcm1hdGlvbi4KKyAgICAgICAgU28sIG9uIFY4IHBv
cnRzLCBzZXR0aW5ncygpLT5jc3NSZWdpb25zRW5hYmxlZCgpIHdpbGwgY2FsbCBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpjc3NSZWdpb25zRW5hYmxlZCgpIGluc3RlYWQgb2YKKyAgICAgICAgZGVj
bGFyaW5nIGFuZCB1c2luZyBhIHNlY29uZCB2YXJpYWJsZS4KKworICAgICAgICBUZXN0czogTm8g
bmV3IHRlc3RzIGJlY2F1c2UgdGhlcmUgaXMgbm8gZnVuY3Rpb25hbCBjaGFuZ2UuCisKKyAgICAg
ICAgKiBiaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZl
YXR1cmVzLmg6CisgICAgICAgIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzKToKKyAgICAgICAgKFdl
YkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldENTU1JlZ2lvbnNFbmFibGVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmNzc1JlZ2lvbnNFbmFibGVk
KToKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRp
bmdzOjpTZXR0aW5ncyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlNl
dHRpbmdzOjpzZXRDU1NSZWdpb25zRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5n
czo6Y3NzUmVnaW9uc0VuYWJsZWQpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAg
ICAgKFNldHRpbmdzKToKKwogMjAxMi0xMS0wNyAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiB3cm9uZyBvdXRwdXQgZm9yIGVt
cHR5IG9iamVjdCB7fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBkNTg2ZmJhNDMyMjM5
MmRlY2JiNzUzY2M0ZGMwYjRhMDAxNDgxYWRiLi5kMjZiZWNmMTlhMWEzOTAyNTMwZmUzYjExMDhj
MmVkMzQ5ODMzZWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBA
CisyMDEyLTExLTEyICBNaWhhaSBNYWVyZWFuICA8bW1hZXJlYW5AYWRvYmUuY29tPgorCisgICAg
ICAgIFtDU1NSZWdpb25zXSB3aGVuIFdlYktpdCB1c2VzIFY4LCB0aGVyZSBzaG91bGQgYmUgYSBz
aW5nbGUgdmFyaWFibGUgdG8gc3RvcmUgaWYgdGhlIENTUyBSZWdpb25zIGZlYXR1cmUgaXMgZW5h
YmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAx
MTkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT24g
bm9uLVY4IHBvcnRzLCB5b3UgY2FuIHRlc3QgaWYgdGhlIENTUyBSZWdpb25zIGZlYXR1cmUgaXMg
ZW5hYmxlZCBieSBjYWxsaW5nIHNldHRpbmdzKCktPmNzc1JlZ2lvbnNFbmFibGVkKCkuCisgICAg
ICAgIE9uIFY4IHBvcnRzLCBJIGhhdmUgYWRkZWQgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6Y3Nz
UmVnaW9uc0VuYWJsZWQoKSB0aGF0IHdpbGwgYmUgc2V0CisgICAgICAgIGluIGNocm9taXVtL3Ny
Yy9jb250ZW50L3JlbmRlcmVyL3JlbmRlcl90aHJlYWRfaW1wbC5jYzoKKyAgICAgICAgICAgIFdl
YlJ1bnRpbWVGZWF0dXJlczo6ZW5hYmxlQ1NTUmVnaW9ucyhjb21tYW5kX2xpbmUuSGFzU3dpdGNo
KHN3aXRjaGVzOjprRW5hYmxlRXhwZXJpbWVudGFsV2ViS2l0RmVhdHVyZXMpKTsKKyAgICAgICAg
Qm90aCB0aGVzZSBjbGFzc2VzIHdvdWxkIG5vdyBoYXZlIGEgdmFyaWFibGUgc3RvcmluZyB0aGUg
aW5mb3JtYXRpb24gYWJvdXQgdGhlIGZlYXR1cmUgYmVpbmcgZW5hYmxlZC4KKyAgICAgICAgV2Ug
bmVlZCBoYXZlIGEgc2luZ2xlIHZhcmlhYmxlIHRvIHN0b3JlIHRoZSBpbmZvcm1hdGlvbi4KKyAg
ICAgICAgU28sIG9uIFY4IHBvcnRzLCBzZXR0aW5ncygpLT5jc3NSZWdpb25zRW5hYmxlZCgpIHdp
bGwgY2FsbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpjc3NSZWdpb25zRW5hYmxlZCgpIGluc3Rl
YWQgb2YKKyAgICAgICAgZGVjbGFyaW5nIGFuZCB1c2luZyBhIHNlY29uZCB2YXJpYWJsZS4KKwor
ICAgICAgICBUaGUgY2hhbmdlIGluIFdlYlJ1bnRpbWVGZWF0dXJlcyBvbmx5IGNhbGxzIHRoZSBt
ZXRob2RzIG9mIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuCisKKyAgICAgICAgVGVzdHM6IE5vIG5l
dyB0ZXN0cyBiZWNhdXNlIHRoZXJlIGlzIG5vIGZ1bmN0aW9uYWwgY2hhbmdlLgorCisgICAgICAg
ICogcHVibGljL1dlYlJ1bnRpbWVGZWF0dXJlcy5oOgorICAgICAgICAoV2ViUnVudGltZUZlYXR1
cmVzKToKKyAgICAgICAgKiBzcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVDU1NSZWdpb25zKToKKyAgICAgICAgKFdl
YktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlJ1bnRpbWVGZWF0dXJlczo6aXNDU1NSZWdpb25z
RW5hYmxlZCk6CisKIDIwMTItMTEtMDggIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RA
Z21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMzQwMTAuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVk
RmVhdHVyZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5h
YmxlZEZlYXR1cmVzLmNwcAppbmRleCAwMjBhNzU2YWJlOTc4ODc3NTdhNjRlYmQ1NjM1ZjUyNzc3
YzAyOTk2Li42ZWI1NTBmZDBlNjZiNzMwZTczMTE0MDc2ZjM5OWFmMTNhNzkzMjVjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVy
ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJs
ZWRGZWF0dXJlcy5jcHAKQEAgLTU1LDYgKzU1LDcgQEAgYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjppc0RldmljZU1vdGlvbkVuYWJsZWQgPSB0cnVlOwogYm9vbCBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjppc0RldmljZU9yaWVudGF0aW9uRW5hYmxlZCA9IHRydWU7CiBib29sIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OmlzU3BlZWNoSW5wdXRFbmFibGVkID0gdHJ1ZTsKIGJvb2wgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6aXNDU1NFeGNsdXNpb25zRW5hYmxlZCA9IGZhbHNlOworYm9vbCBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc0NTU1JlZ2lvbnNFbmFibGVkID0gZmFsc2U7CiBib29s
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzTGFuZ0F0dHJpYnV0ZUF3YXJlRm9ybUNvbnRyb2xV
SUVuYWJsZWQgPSBmYWxzZTsKIAogI2lmIEVOQUJMRShTQ1JJUFRFRF9TUEVFQ0gpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVy
ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5oCmluZGV4IGJkY2Q3NDA0NGEzMzAzYzgwMTk0ZjQ5MmMzMTg0OGQ5YWNjZjQyMTguLjA1
YTEwMTdkOTMyNDU0NTVhY2UwM2Y5MjAzNzM5NzBkOTg3MGEzNjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5o
CkBAIC03MSw2ICs3MSwxNCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgY3NzRXhjbHVzaW9u
c0VuYWJsZWQoKSB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQ1NTX1JF
R0lPTlMpCisgICAgc3RhdGljIHZvaWQgc2V0Q1NTUmVnaW9uc0VuYWJsZWQoYm9vbCBpc0VuYWJs
ZWQpIHsgaXNDU1NSZWdpb25zRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQorICAgIHN0YXRpYyBib29s
IGNzc1JlZ2lvbnNFbmFibGVkKCkgeyByZXR1cm4gaXNDU1NSZWdpb25zRW5hYmxlZDsgfQorI2Vs
c2UKKyAgICBzdGF0aWMgdm9pZCBzZXRDU1NSZWdpb25zRW5hYmxlZChib29sKSB7IH0KKyAgICBz
dGF0aWMgYm9vbCBjc3NSZWdpb25zRW5hYmxlZCgpIHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYK
KwogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKICAgICAvLyBNb3ppbGxhIHZlcnNpb24KICAg
ICBzdGF0aWMgYm9vbCB3ZWJraXRGdWxsU2NyZWVuQVBJRW5hYmxlZCgpIHsgcmV0dXJuIGlzRnVs
bFNjcmVlbkFQSUVuYWJsZWQ7IH0KQEAgLTI4Miw2ICsyOTAsNyBAQCBwcml2YXRlOgogICAgIHN0
YXRpYyBib29sIGlzRGV2aWNlT3JpZW50YXRpb25FbmFibGVkOwogICAgIHN0YXRpYyBib29sIGlz
U3BlZWNoSW5wdXRFbmFibGVkOwogICAgIHN0YXRpYyBib29sIGlzQ1NTRXhjbHVzaW9uc0VuYWJs
ZWQ7CisgICAgc3RhdGljIGJvb2wgaXNDU1NSZWdpb25zRW5hYmxlZDsKICAgICBXRUJDT1JFX1RF
U1RJTkcgc3RhdGljIGJvb2wgaXNMYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29udHJvbFVJRW5hYmxl
ZDsKICNpZiBFTkFCTEUoU0NSSVBURURfU1BFRUNIKQogICAgIHN0YXRpYyBib29sIGlzU2NyaXB0
ZWRTcGVlY2hFbmFibGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAppbmRleCBjZTc2NjlhNmQ3
ZjA4MzhiZmEwZmE2ZWRhZTIxMWQxMzJlZDJjODRmLi40NGIwY2NjZmMyNzZkNmJkOTA3Yjc5YmEw
NTc5NzNiYzc5ZDMxM2E3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtMzksNiArMzks
OSBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlQ2FjaGUuaCIKICNpbmNsdWRl
ICJSZXNvdXJjZUhhbmRsZS5oIgorI2lmIEVOQUJMRShDU1NfUkVHSU9OUykgJiYgIVVTRShWOCkK
KyNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCisjZW5kaWYKICNpbmNsdWRlICJT
dG9yYWdlTWFwLmgiCiAjaW5jbHVkZSA8bGltaXRzPgogCkBAIC0yMTIsNyArMjE1LDcgQEAgU2V0
dGluZ3M6OlNldHRpbmdzKFBhZ2UqIHBhZ2UpCiAjaWYgRU5BQkxFKENTU19TVElDS1lfUE9TSVRJ
T04pCiAgICAgLCBtX2Nzc1N0aWNreVBvc2l0aW9uRW5hYmxlZCh0cnVlKQogI2VuZGlmCi0jaWYg
RU5BQkxFKENTU19SRUdJT05TKQorI2lmIEVOQUJMRShDU1NfUkVHSU9OUykgJiYgIVVTRShWOCkK
ICAgICAsIG1fY3NzUmVnaW9uc0VuYWJsZWQoZmFsc2UpCiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NT
X1ZBUklBQkxFUykKQEAgLTkwNiw2ICs5MDksMTggQEAgdm9pZCBTZXR0aW5nczo6c2V0Q2FudmFz
VXNlc0FjY2VsZXJhdGVkRHJhd2luZyhib29sIGVuYWJsZWQpCiAgICAgbV9jYW52YXNVc2VzQWNj
ZWxlcmF0ZWREcmF3aW5nID0gZW5hYmxlZDsKIH0KIAorI2lmIEVOQUJMRShDU1NfUkVHSU9OUykg
JiYgVVNFKFY4KQordm9pZCBTZXR0aW5nczo6c2V0Q1NTUmVnaW9uc0VuYWJsZWQoYm9vbCBlbmFi
bGVkKQoreworICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldENTU1JlZ2lvbnNFbmFibGVk
KGVuYWJsZWQpOworfQorCitib29sIFNldHRpbmdzOjpjc3NSZWdpb25zRW5hYmxlZCgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmNzc1JlZ2lvbnNFbmFibGVk
KCk7Cit9CisjZW5kaWYKKwogdm9pZCBTZXR0aW5nczo6c2V0QWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z0ZvcjNEVHJhbnNmb3Jtc0VuYWJsZWQoYm9vbCBlbmFibGVkKQogewogICAgIG1fYWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0ZvcjNEVHJhbnNmb3Jtc0VuYWJsZWQgPSBlbmFibGVkOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy5oCmluZGV4IGYwNTNmNTQxZWQ1MGI5MjQ3MzQzMTExNzEyZGNlOGVmODBmNTFiN2Qu
LmY3YTFiNmNjNjM4ZDlkYzY4N2E1MTEzNTZiYjE1NWE3OTIxZTZmMDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmgKQEAgLTM2MywxMiArMzYzLDE3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNlbmRp
ZgogCiAjaWYgRU5BQkxFKENTU19SRUdJT05TKQorI2lmIFVTRShWOCkKKyAgICAgICAgdm9pZCBz
ZXRDU1NSZWdpb25zRW5hYmxlZChib29sKTsKKyAgICAgICAgYm9vbCBjc3NSZWdpb25zRW5hYmxl
ZCgpIGNvbnN0OworI2Vsc2UKICAgICAgICAgdm9pZCBzZXRDU1NSZWdpb25zRW5hYmxlZChib29s
IGVuYWJsZWQpIHsgbV9jc3NSZWdpb25zRW5hYmxlZCA9IGVuYWJsZWQ7IH0KICAgICAgICAgYm9v
bCBjc3NSZWdpb25zRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fY3NzUmVnaW9uc0VuYWJsZWQ7
IH0KLSNlbHNlCisjZW5kaWYgLy8gZW5kIG9mIFVTRShWOCkKKyNlbHNlIC8vICEgRU5BQkxFKENT
U19SRUdJT05TKQogICAgICAgICB2b2lkIHNldENTU1JlZ2lvbnNFbmFibGVkKGJvb2wpIHsgfQog
ICAgICAgICBib29sIGNzc1JlZ2lvbnNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
LSNlbmRpZgorI2VuZGlmIC8vIGVuZCBvZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCiAKICNpZiBFTkFC
TEUoQ1NTX1ZBUklBQkxFUykKICAgICAgICAgdm9pZCBzZXRDU1NWYXJpYWJsZXNFbmFibGVkKGJv
b2wgZW5hYmxlZCkgeyBtX2Nzc1ZhcmlhYmxlc0VuYWJsZWQgPSBlbmFibGVkOyB9CkBAIC03NTIs
NyArNzU3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2lmIEVOQUJMRShDU1NfU1RJQ0tZX1BP
U0lUSU9OKQogICAgICAgICBib29sIG1fY3NzU3RpY2t5UG9zaXRpb25FbmFibGVkIDogMTsKICNl
bmRpZiAgICAgICAgCi0jaWYgRU5BQkxFKENTU19SRUdJT05TKQorI2lmIEVOQUJMRShDU1NfUkVH
SU9OUykgJiYgIVVTRShWOCkKICAgICAgICAgYm9vbCBtX2Nzc1JlZ2lvbnNFbmFibGVkIDogMTsK
ICNlbmRpZgogI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVudGltZUZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaAppbmRleCBhODA4MjYwNmNlM2Q2
ZmUyZmZjNGEyNzZlYjQ0N2ZmMzE4OTliYTQyLi42MTFmNjk0OGM1ZDU4M2ZiZTU0OTBmODM5Yjg2
ZDM0OTAwY2E3ZDdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJSdW50aW1lRmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJSdW50aW1lRmVhdHVyZXMuaApAQCAtMTYyLDYgKzE2Miw5IEBAIHB1YmxpYzoKICAgICBXRUJL
SVRfRVhQT1JUIHN0YXRpYyB2b2lkIGVuYWJsZVJlcXVlc3RBdXRvY29tcGxldGUoYm9vbCk7CiAg
ICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgYm9vbCBpc1JlcXVlc3RBdXRvY29tcGxldGVFbmFibGVk
KCk7CiAKKyAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyB2b2lkIGVuYWJsZUNTU1JlZ2lvbnMoYm9v
bCk7CisgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgYm9vbCBpc0NTU1JlZ2lvbnNFbmFibGVkKCk7
CisKIHByaXZhdGU6CiAgICAgV2ViUnVudGltZUZlYXR1cmVzKCk7CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAKaW5kZXggOTAwOWZm
OWZhMjljZTc0NGVkYzExOWIyMGY4NmY0YjFhNzE0MTg1Yy4uZTk1NTFhM2I4NDgyNDkyNGU3ZTcz
N2U0OTFhZDcyMzNiNWE4ZTYzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJSdW50aW1lRmVhdHVyZXMuY3BwCkBAIC02NTcsNiArNjU3LDE2IEBAIGJvb2wgV2ViUnVu
dGltZUZlYXR1cmVzOjppc0NTU0V4Y2x1c2lvbnNFbmFibGVkKCkKICAgICByZXR1cm4gUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6Y3NzRXhjbHVzaW9uc0VuYWJsZWQoKTsKIH0KIAordm9pZCBXZWJS
dW50aW1lRmVhdHVyZXM6OmVuYWJsZUNTU1JlZ2lvbnMoYm9vbCBlbmFibGUpCit7CisgICAgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2V0Q1NTUmVnaW9uc0VuYWJsZWQoZW5hYmxlKTsKK30KKwor
Ym9vbCBXZWJSdW50aW1lRmVhdHVyZXM6OmlzQ1NTUmVnaW9uc0VuYWJsZWQoKQoreworICAgIHJl
dHVybiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpjc3NSZWdpb25zRW5hYmxlZCgpOworfQorCiB2
b2lkIFdlYlJ1bnRpbWVGZWF0dXJlczo6ZW5hYmxlUmVxdWVzdEF1dG9jb21wbGV0ZShib29sIGVu
YWJsZSkKIHsKICNpZiBFTkFCTEUoUkVRVUVTVF9BVVRPQ09NUExFVEUpCg==
</data>
<flag name="review"
          id="188333"
          type_id="1"
          status="-"
          setter="abarth"
    />
    <flag name="commit-queue"
          id="188339"
          type_id="3"
          status="-"
          setter="peter+ews"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176456</attachid>
            <date>2012-11-28 04:35:26 -0800</date>
            <delta_ts>2012-11-28 07:44:46 -0800</delta_ts>
            <desc>Incorporated Adam Barth&apos;s feedback to remove the CSS Regions flag in Settings and only use the new flag in RuntimeEnabledFeatures.</desc>
            <filename>patch101192.diff</filename>
            <type>text/plain</type>
            <size>29632</size>
            <attacher name="Mihai Maerean">mmaerean</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA3MzQyZDJkLi5jZDVlODQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAg
QEAKKzIwMTItMTEtMjggIE1paGFpIE1hZXJlYW4gIDxtbWFlcmVhbkBhZG9iZS5jb20+CisKKyAg
ICAgICAgW0NTU1JlZ2lvbnNdIHdoZW4gV2ViS2l0IHVzZXMgVjgsIHRoZXJlIHNob3VsZCBiZSBh
IHNpbmdsZSB2YXJpYWJsZSB0byBzdG9yZSBpZiB0aGUgQ1NTIFJlZ2lvbnMgZmVhdHVyZSBpcyBl
bmFibGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDExOTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
ZW1vdmVkIHRoZSBDU1MgUmVnaW9ucyBmbGFnIGluIFNldHRpbmdzIGFuZCBzd2l0Y2hlZCB0byB1
c2luZyB0aGUgbmV3IGZsYWcgSSBoYXZlIGFkZGVkIGluIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMu
CisKKyAgICAgICAgVGVzdHM6IE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXJlIGlzIG5vIGZ1bmN0
aW9uYWwgY2hhbmdlLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogV2Vi
Q29yZS52Y3Byb2ovY29weUZvcndhcmRpbmdIZWFkZXJzLmNtZDoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvZ2VuZXJpYy9S
dW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAq
IGJpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoUnVu
dGltZUVuYWJsZWRGZWF0dXJlcyk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzZXRDU1NSZWdpb25zRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpjc3NSZWdpb25zRW5hYmxlZCk6CisgICAgICAgICogZG9tL0RvY3Vt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpjc3NSZWdpb25zRW5hYmxlZCk6
CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5n
czo6U2V0dGluZ3MpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKFNldHRp
bmdzKToKKwogMjAxMi0xMS0yOCAgWmVubyBBbGJpc3NlciAgPHplbm9Ad2Via2l0Lm9yZz4KIAog
ICAgICAgICBHcmFwaGljc1N1cmZhY2U6IEltcGxlbWVudCB1c2FnZSBvZiBHcmFwaGljc1N1cmZh
Y2UgZm9yIFdlYkdMIGluIFdLMS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggYjliMjE5YS4uMTlh
YTMxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTI2ODEsMyArMjY4MSw3IEBAIF93a0NhcHRp
b25BcHBlYXJhbmNlR2V0UmVsYXRpdmVDaGFyYWN0ZXJTaXplCiBfd2tDYXB0aW9uQXBwZWFyYW5j
ZUdldFRleHRFZGdlU3R5bGUKIF93a0NhcHRpb25BcHBlYXJhbmNlR2V0U2V0dGluZ3NDaGFuZ2Vk
Tm90aWZpY2F0aW9uCiAjZW5kaWYKKworI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKK19fWk43V2Vi
Q29yZTIyUnVudGltZUVuYWJsZWRGZWF0dXJlczE5aXNDU1NSZWdpb25zRW5hYmxlZEUKKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovY29weUZvcndhcmRp
bmdIZWFkZXJzLmNtZCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL2NvcHlGb3J3YXJk
aW5nSGVhZGVycy5jbWQKaW5kZXggNzU0YTU3Zi4uYjgzNjVhMSAxMDA3NTUKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovY29weUZvcndhcmRpbmdIZWFkZXJzLmNtZAorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9jb3B5Rm9yd2FyZGluZ0hlYWRlcnMuY21kCkBA
IC02Myw2ICs2Myw3IEBAIHhjb3B5IC95IC9kICIlUHJvamVjdERpciUuLlxwbGF0Zm9ybVxuZXR3
b3JrXCUyXCouaCIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGluCiB4Y29weSAveSAvZCAiJVBy
b2plY3REaXIlLi5ccGxhdGZvcm1cc3FsXCouaCIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGlu
Y2x1ZGVcV2ViQ29yZSIKIHhjb3B5IC95IC9kICIlUHJvamVjdERpciUuLlxwbGF0Zm9ybVxjYWly
b1xjYWlyb1xzcmNcKi5oIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVkZVxXZWJDb3Jl
IgogeGNvcHkgL3kgL2QgIiVQcm9qZWN0RGlyJS4uXGJpbmRpbmdzXCouaCIgIiVDT05GSUdVUkFU
SU9OQlVJTERESVIlXGluY2x1ZGVcV2ViQ29yZSIKK3hjb3B5IC95IC9kICIlUHJvamVjdERpciUu
LlxiaW5kaW5nc1xnZW5lcmljXCouaCIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGluY2x1ZGVc
V2ViQ29yZSIKIHhjb3B5IC95IC9kICIlUHJvamVjdERpciUuLlxiaW5kaW5nc1xqc1wqLmgiICIl
Q09ORklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRlXFdlYkNvcmUiCiB4Y29weSAveSAvZCAiJVBy
b2plY3REaXIlLi5ccGFnZVwqLmgiICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRlXFdl
YkNvcmUiCiB4Y29weSAveSAvZCAiJVByb2plY3REaXIlLi5ccGFnZVxhbmltYXRpb25cKi5oIiAi
JUNPTkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVkZVxXZWJDb3JlIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGIyZDU3NTYuLjM1
ODA3ZGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC0zMTUxLDcgKzMxNTEsNyBAQAogCQk4QzBFMzM0RTEzOEE5MkM3MDA4REE5
NEYgLyogTGV2ZWxEQldyaXRlQmF0Y2guY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOEMwRTMzNEExMzhBOTJDNzAwOERBOTRGIC8qIExldmVsREJXcml0
ZUJhdGNoLmNwcCAqLzsgfTsKIAkJOEMwRTMzNEYxMzhBOTJDNzAwOERBOTRGIC8qIExldmVsREJX
cml0ZUJhdGNoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4QzBFMzM0QjEzOEE5MkM3MDA4REE5NEYgLyogTGV2ZWxEQldyaXRlQmF0Y2guaCAqLzsgfTsK
IAkJOEM2RUE2MTkxMUVGN0UwNDAwRkQ4RUUzIC8qIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEM2RUE2MTcx
MUVGN0UwNDAwRkQ4RUUzIC8qIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwICovOyB9OwotCQk4
QzZFQTYxQTExRUY3RTA0MDBGRDhFRTMgLyogUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEM2RUE2MTgxMUVGN0Uw
NDAwRkQ4RUUzIC8qIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCAqLzsgfTsKKwkJOEM2RUE2MUEx
MUVGN0UwNDAwRkQ4RUUzIC8qIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhDNkVBNjE4MTFFRjdFMDQwMEZEOEVF
MyAvKiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOENBREYyQTkxMzVDN0IzNjAwOUVGNDNGIC8qIExldmVs
REJDb21wYXJhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4Q0FERjJBMzEzNUM3QjM2MDA5RUY0M0YgLyogTGV2ZWxEQkNvbXBhcmF0b3IuaCAqLzsg
fTsKIAkJOENBREYyQUExMzVDN0IzNjAwOUVGNDNGIC8qIExldmVsREJEYXRhYmFzZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4Q0FERjJBNDEzNUM3
QjM2MDA5RUY0M0YgLyogTGV2ZWxEQkRhdGFiYXNlLmNwcCAqLzsgfTsKIAkJOENBREYyQUIxMzVD
N0IzNjAwOUVGNDNGIC8qIExldmVsREJEYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOENBREYyQTUxMzVDN0IzNjAwOUVGNDNGIC8qIExldmVs
REJEYXRhYmFzZS5oICovOyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
Z2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAKaW5kZXggZTA4ZTQwYy4uZjAx
NjliZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1l
RW5hYmxlZEZlYXR1cmVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmlj
L1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCkBAIC01NSw2ICs1NSw3IEBAIGJvb2wgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6aXNEZXZpY2VNb3Rpb25FbmFibGVkID0gdHJ1ZTsKIGJvb2wgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6aXNEZXZpY2VPcmllbnRhdGlvbkVuYWJsZWQgPSB0cnVlOwog
Ym9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc1NwZWVjaElucHV0RW5hYmxlZCA9IHRydWU7
CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzQ1NTRXhjbHVzaW9uc0VuYWJsZWQgPSBm
YWxzZTsKK2Jvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNDU1NSZWdpb25zRW5hYmxlZCA9
IGZhbHNlOwogYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc0xhbmdBdHRyaWJ1dGVBd2Fy
ZUZvcm1Db250cm9sVUlFbmFibGVkID0gZmFsc2U7CiAKICNpZiBFTkFCTEUoU0NSSVBURURfU1BF
RUNIKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1l
RW5hYmxlZEZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRp
bWVFbmFibGVkRmVhdHVyZXMuaAppbmRleCBiYjk1Y2U4Li42NmY4ZTQ1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVy
ZXMuaApAQCAtNzEsNiArNzEsMTQgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGNzc0V4Y2x1
c2lvbnNFbmFibGVkKCkgeyByZXR1cm4gZmFsc2U7IH0KICNlbmRpZgogCisjaWYgRU5BQkxFKENT
U19SRUdJT05TKQorICAgIHN0YXRpYyB2b2lkIHNldENTU1JlZ2lvbnNFbmFibGVkKGJvb2wgaXNF
bmFibGVkKSB7IGlzQ1NTUmVnaW9uc0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KKyAgICBzdGF0aWMg
Ym9vbCBjc3NSZWdpb25zRW5hYmxlZCgpIHsgcmV0dXJuIGlzQ1NTUmVnaW9uc0VuYWJsZWQ7IH0K
KyNlbHNlCisgICAgc3RhdGljIHZvaWQgc2V0Q1NTUmVnaW9uc0VuYWJsZWQoYm9vbCkgeyB9Cisg
ICAgc3RhdGljIGJvb2wgY3NzUmVnaW9uc0VuYWJsZWQoKSB7IHJldHVybiBmYWxzZTsgfQorI2Vu
ZGlmCisKICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiAgICAgLy8gTW96aWxsYSB2ZXJzaW9u
CiAgICAgc3RhdGljIGJvb2wgd2Via2l0RnVsbFNjcmVlbkFQSUVuYWJsZWQoKSB7IHJldHVybiBp
c0Z1bGxTY3JlZW5BUElFbmFibGVkOyB9CkBAIC0yNzQsNiArMjgyLDcgQEAgcHJpdmF0ZToKICAg
ICBzdGF0aWMgYm9vbCBpc0RldmljZU9yaWVudGF0aW9uRW5hYmxlZDsKICAgICBzdGF0aWMgYm9v
bCBpc1NwZWVjaElucHV0RW5hYmxlZDsKICAgICBzdGF0aWMgYm9vbCBpc0NTU0V4Y2x1c2lvbnNF
bmFibGVkOworICAgIHN0YXRpYyBib29sIGlzQ1NTUmVnaW9uc0VuYWJsZWQ7CiAgICAgV0VCQ09S
RV9URVNUSU5HIHN0YXRpYyBib29sIGlzTGFuZ0F0dHJpYnV0ZUF3YXJlRm9ybUNvbnRyb2xVSUVu
YWJsZWQ7CiAjaWYgRU5BQkxFKFNDUklQVEVEX1NQRUVDSCkKICAgICBzdGF0aWMgYm9vbCBpc1Nj
cmlwdGVkU3BlZWNoRW5hYmxlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGRiNzRkNTUu
Ljc1Njk2NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTEyNCw3ICsxMTI0LDcgQEAg
Ym9vbCBEb2N1bWVudDo6Y3NzU3RpY2t5UG9zaXRpb25FbmFibGVkKCkgY29uc3QKIAogYm9vbCBE
b2N1bWVudDo6Y3NzUmVnaW9uc0VuYWJsZWQoKSBjb25zdAogewotICAgIHJldHVybiBzZXR0aW5n
cygpICYmIHNldHRpbmdzKCktPmNzc1JlZ2lvbnNFbmFibGVkKCk7IAorICAgIHJldHVybiBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpjc3NSZWdpb25zRW5hYmxlZCgpOyAKIH0KIAogYm9vbCBEb2N1
bWVudDo6Y3NzR3JpZExheW91dEVuYWJsZWQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNw
cAppbmRleCA5Mzc4YzQ4Li5iMjc0ZTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAt
MTY0LDkgKzE2NCw2IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogI2lmIEVOQUJM
RShDU1NfU1RJQ0tZX1BPU0lUSU9OKQogICAgICwgbV9jc3NTdGlja3lQb3NpdGlvbkVuYWJsZWQo
dHJ1ZSkKICNlbmRpZgotI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKLSAgICAsIG1fY3NzUmVnaW9u
c0VuYWJsZWQoZmFsc2UpCi0jZW5kaWYKICNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKICAgICAs
IG1fY3NzVmFyaWFibGVzRW5hYmxlZChmYWxzZSkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5o
CmluZGV4IGE4NjU1NTAuLjc1MTNiYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKQEAgLTIyNCwx
NCArMjI0LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIGNzc1N0aWNreVBv
c2l0aW9uRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKIAotI2lmIEVO
QUJMRShDU1NfUkVHSU9OUykKLSAgICAgICAgdm9pZCBzZXRDU1NSZWdpb25zRW5hYmxlZChib29s
IGVuYWJsZWQpIHsgbV9jc3NSZWdpb25zRW5hYmxlZCA9IGVuYWJsZWQ7IH0KLSAgICAgICAgYm9v
bCBjc3NSZWdpb25zRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fY3NzUmVnaW9uc0VuYWJsZWQ7
IH0KLSNlbHNlCi0gICAgICAgIHZvaWQgc2V0Q1NTUmVnaW9uc0VuYWJsZWQoYm9vbCkgeyB9Ci0g
ICAgICAgIGJvb2wgY3NzUmVnaW9uc0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQot
I2VuZGlmCi0KICNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKICAgICAgICAgdm9pZCBzZXRDU1NW
YXJpYWJsZXNFbmFibGVkKGJvb2wgZW5hYmxlZCkgeyBtX2Nzc1ZhcmlhYmxlc0VuYWJsZWQgPSBl
bmFibGVkOyB9CiAgICAgICAgIGJvb2wgY3NzVmFyaWFibGVzRW5hYmxlZCgpIGNvbnN0IHsgcmV0
dXJuIG1fY3NzVmFyaWFibGVzRW5hYmxlZDsgfQpAQCAtMzQ5LDkgKzM0MSw2IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBtX2lzQ1NTQ3VzdG9tRmlsdGVyRW5hYmxlZCA6IDE7
CiAjaWYgRU5BQkxFKENTU19TVElDS1lfUE9TSVRJT04pCiAgICAgICAgIGJvb2wgbV9jc3NTdGlj
a3lQb3NpdGlvbkVuYWJsZWQgOiAxOwotI2VuZGlmICAgICAgICAKLSNpZiBFTkFCTEUoQ1NTX1JF
R0lPTlMpCi0gICAgICAgIGJvb2wgbV9jc3NSZWdpb25zRW5hYmxlZCA6IDE7CiAjZW5kaWYKICNp
ZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKICAgICAgICAgYm9vbCBtX2Nzc1ZhcmlhYmxlc0VuYWJs
ZWQgOiAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA3NzhiZDkwLi40MDZkYmU2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTExLTI4ICBN
aWhhaSBNYWVyZWFuICA8bW1hZXJlYW5AYWRvYmUuY29tPgorCisgICAgICAgIFtDU1NSZWdpb25z
XSB3aGVuIFdlYktpdCB1c2VzIFY4LCB0aGVyZSBzaG91bGQgYmUgYSBzaW5nbGUgdmFyaWFibGUg
dG8gc3RvcmUgaWYgdGhlIENTUyBSZWdpb25zIGZlYXR1cmUgaXMgZW5hYmxlZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxMTkyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlZCB0aGUgQ1NTIFJl
Z2lvbnMgZmxhZyBpbiBTZXR0aW5ncyBhbmQgc3dpdGNoZWQgdG8gdXNpbmcgdGhlIG5ldyBmbGFn
IEkgaGF2ZSBhZGRlZCBpbiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzLgorCisgICAgICAgIFRlc3Rz
OiBObyBuZXcgdGVzdHMgYmVjYXVzZSB0aGVyZSBpcyBubyBmdW5jdGlvbmFsIGNoYW5nZS4KKwor
ICAgICAgICAqIHB1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaDoKKyAgICAgICAgKFdlYlJ1bnRp
bWVGZWF0dXJlcyk6CisgICAgICAgICogcHVibGljL1dlYlNldHRpbmdzLmg6CisgICAgICAgICog
c3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlJ1bnRpbWVG
ZWF0dXJlczo6ZW5hYmxlQ1NTUmVnaW9ucyk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJSdW50aW1lRmVhdHVyZXM6OmlzQ1NTUmVnaW9uc0VuYWJsZWQpOgorICAgICAg
ICAqIHNyYy9XZWJTZXR0aW5nc0ltcGwuY3BwOgorICAgICAgICAqIHNyYy9XZWJTZXR0aW5nc0lt
cGwuaDoKKyAgICAgICAgKFdlYlNldHRpbmdzSW1wbCk6CisKIDIwMTItMTEtMjcgIEphbWVzIFNp
bW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIENvbnNvbGlkYXRlIEZy
YW1lTG9hZGVyOjpsb2FkKCkgaW50byBvbmUgZnVuY3Rpb24gdGFraW5nIGEgRnJhbWVMb2FkUmVx
dWVzdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVudGlt
ZUZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJSdW50aW1lRmVh
dHVyZXMuaAppbmRleCAyZjZlZjFjLi5jOTE2YzEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaApAQCAtMTU3LDYgKzE1Nyw5IEBA
IHB1YmxpYzoKICAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyB2b2lkIGVuYWJsZVJlcXVlc3RBdXRv
Y29tcGxldGUoYm9vbCk7CiAgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgYm9vbCBpc1JlcXVlc3RB
dXRvY29tcGxldGVFbmFibGVkKCk7CiAKKyAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyB2b2lkIGVu
YWJsZUNTU1JlZ2lvbnMoYm9vbCk7CisgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgYm9vbCBpc0NT
U1JlZ2lvbnNFbmFibGVkKCk7CisKIHByaXZhdGU6CiAgICAgV2ViUnVudGltZUZlYXR1cmVzKCk7
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2V0dGlu
Z3MuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNldHRpbmdzLmgKaW5kZXgg
NGM5ZDBjYy4uZjM4ZTAyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJT
ZXR0aW5ncy5oCkBAIC0xMDEsNyArMTAxLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBz
ZXRFeHBlcmltZW50YWxDU1NDdXN0b21GaWx0ZXJFbmFibGVkKGJvb2wpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgc2V0RXhwZXJpbWVudGFsQ1NTR3JpZExheW91dEVuYWJsZWQoYm9vbCkgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBzZXRDU1NTdGlja3lQb3NpdGlvbkVuYWJsZWQoYm9vbCkgPSAwOwot
ICAgIHZpcnR1YWwgdm9pZCBzZXRFeHBlcmltZW50YWxDU1NSZWdpb25zRW5hYmxlZChib29sKSA9
IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldEV4cGVyaW1lbnRhbENTU1ZhcmlhYmxlc0VuYWJsZWQo
Ym9vbCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRFeHBlcmltZW50YWxXZWJHTEVuYWJsZWQo
Ym9vbCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRGYW50YXN5Rm9udEZhbWlseShjb25zdCBX
ZWJTdHJpbmcmLCBVU2NyaXB0Q29kZSA9IFVTQ1JJUFRfQ09NTU9OKSA9IDA7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJSdW50aW1lRmVhdHVyZXMuY3BwIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcAppbmRleCBhMTk1
ZGUyLi41NjAwYTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJS
dW50aW1lRmVhdHVyZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1
bnRpbWVGZWF0dXJlcy5jcHAKQEAgLTYyMSw2ICs2MjEsMTYgQEAgYm9vbCBXZWJSdW50aW1lRmVh
dHVyZXM6OmlzQ1NTRXhjbHVzaW9uc0VuYWJsZWQoKQogICAgIHJldHVybiBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpjc3NFeGNsdXNpb25zRW5hYmxlZCgpOwogfQogCit2b2lkIFdlYlJ1bnRpbWVG
ZWF0dXJlczo6ZW5hYmxlQ1NTUmVnaW9ucyhib29sIGVuYWJsZSkKK3sKKyAgICBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzZXRDU1NSZWdpb25zRW5hYmxlZChlbmFibGUpOworfQorCitib29sIFdl
YlJ1bnRpbWVGZWF0dXJlczo6aXNDU1NSZWdpb25zRW5hYmxlZCgpCit7CisgICAgcmV0dXJuIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OmNzc1JlZ2lvbnNFbmFibGVkKCk7Cit9CisKIHZvaWQgV2Vi
UnVudGltZUZlYXR1cmVzOjplbmFibGVSZXF1ZXN0QXV0b2NvbXBsZXRlKGJvb2wgZW5hYmxlKQog
ewogI2lmIEVOQUJMRShSRVFVRVNUX0FVVE9DT01QTEVURSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuY3BwCmluZGV4IDZhMzM3ODYuLmNlZjU3NTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmNwcApAQCAt
MzcxLDExICszNzEsNiBAQCB2b2lkIFdlYlNldHRpbmdzSW1wbDo6c2V0Q1NTU3RpY2t5UG9zaXRp
b25FbmFibGVkKGJvb2wgZW5hYmxlZCkKICAgICBtX3NldHRpbmdzLT5zZXRDU1NTdGlja3lQb3Np
dGlvbkVuYWJsZWQoZW5hYmxlZCk7CiB9CiAKLXZvaWQgV2ViU2V0dGluZ3NJbXBsOjpzZXRFeHBl
cmltZW50YWxDU1NSZWdpb25zRW5hYmxlZChib29sIGVuYWJsZWQpCi17Ci0gICAgbV9zZXR0aW5n
cy0+c2V0Q1NTUmVnaW9uc0VuYWJsZWQoZW5hYmxlZCk7Ci19Ci0KIHZvaWQgV2ViU2V0dGluZ3NJ
bXBsOjpzZXRFeHBlcmltZW50YWxDU1NHcmlkTGF5b3V0RW5hYmxlZChib29sIGVuYWJsZWQpCiB7
CiAgICAgbV9zZXR0aW5ncy0+c2V0Q1NTR3JpZExheW91dEVuYWJsZWQoZW5hYmxlZCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuaCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5oCmluZGV4IGFiOTI1NjIu
LmVmYTFiYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRp
bmdzSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1w
bC5oCkBAIC05Myw3ICs5Myw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0RXhwZXJp
bWVudGFsQ1NTQ3VzdG9tRmlsdGVyRW5hYmxlZChib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0
RXhwZXJpbWVudGFsQ1NTR3JpZExheW91dEVuYWJsZWQoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lk
IHNldENTU1N0aWNreVBvc2l0aW9uRW5hYmxlZChib29sKTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0
RXhwZXJpbWVudGFsQ1NTUmVnaW9uc0VuYWJsZWQoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNl
dEV4cGVyaW1lbnRhbENTU1ZhcmlhYmxlc0VuYWJsZWQoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lk
IHNldEV4cGVyaW1lbnRhbFdlYkdMRW5hYmxlZChib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0
RmFudGFzeUZvbnRGYW1pbHkoY29uc3QgV2ViU3RyaW5nJiwgVVNjcmlwdENvZGUgPSBVU0NSSVBU
X0NPTU1PTik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggMGI5MzNjZS4uMDE0ZmFkYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTExLTI4ICBNaWhhaSBNYWVyZWFuICA8bW1h
ZXJlYW5AYWRvYmUuY29tPgorCisgICAgICAgIFtDU1NSZWdpb25zXSB3aGVuIFdlYktpdCB1c2Vz
IFY4LCB0aGVyZSBzaG91bGQgYmUgYSBzaW5nbGUgdmFyaWFibGUgdG8gc3RvcmUgaWYgdGhlIENT
UyBSZWdpb25zIGZlYXR1cmUgaXMgZW5hYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxMTkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlZCB0aGUgQ1NTIFJlZ2lvbnMgZmxhZyBpbiBTZXR0
aW5ncyBhbmQgc3dpdGNoZWQgdG8gdXNpbmcgdGhlIG5ldyBmbGFnIEkgaGF2ZSBhZGRlZCBpbiBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzLgorCisgICAgICAgIFRlc3RzOiBObyBuZXcgdGVzdHMgYmVj
YXVzZSB0aGVyZSBpcyBubyBmdW5jdGlvbmFsIGNoYW5nZS4KKworICAgICAgICAqIFdlYkNvcmVT
dXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHA6CisgICAgICAgIChEdW1wUmVuZGVy
VHJlZVN1cHBvcnRFZmw6OnNldENTU1JlZ2lvbnNFbmFibGVkKToKKyAgICAgICAgKiBld2svZXdr
X3ZpZXcuY3BwOgorICAgICAgICAoX2V3a192aWV3X3ByaXZfbmV3KToKKwogMjAxMi0xMS0yNyAg
SmFtZXMgU2ltb25zZW4gIDxzaW1vbmphbUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQ29uc29s
aWRhdGUgRnJhbWVMb2FkZXI6OmxvYWQoKSBpbnRvIG9uZSBmdW5jdGlvbiB0YWtpbmcgYSBGcmFt
ZUxvYWRSZXF1ZXN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmNwcAppbmRleCA3ZWEyNzIxLi4xNGZm
NzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVu
ZGVyVHJlZVN1cHBvcnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAKQEAgLTUzLDYgKzUzLDcgQEAKICNpbmNs
dWRlIDxQcmludENvbnRleHQuaD4KICNpbmNsdWRlIDxSZW5kZXJUcmVlQXNUZXh0Lmg+CiAjaW5j
bHVkZSA8UmVzb3VyY2VMb2FkU2NoZWR1bGVyLmg+CisjaW5jbHVkZSA8UnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oPgogI2luY2x1ZGUgPFNjaGVtZVJlZ2lzdHJ5Lmg+CiAjaW5jbHVkZSA8U2NyaXB0
VmFsdWUuaD4KICNpbmNsdWRlIDxTZXR0aW5ncy5oPgpAQCAtMzY3LDcgKzM2OCw3IEBAIHZvaWQg
RHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsOjpzZXRDU1NSZWdpb25zRW5hYmxlZChjb25zdCBFdmFz
X09iamVjdCogZXdrVmlldywKIHsKICAgICBEUlRfU1VQUFJUX1BBR0VfR0VUX09SX1JFVFVSTihl
d2tWaWV3LCBwYWdlKTsKIAotICAgIHBhZ2UtPnNldHRpbmdzKCktPnNldENTU1JlZ2lvbnNFbmFi
bGVkKGVuYWJsZWQpOworICAgIFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldENT
U1JlZ2lvbnNFbmFibGVkKGVuYWJsZWQpOwogfQogCiBib29sIER1bXBSZW5kZXJUcmVlU3VwcG9y
dEVmbDo6aXNDb21tYW5kRW5hYmxlZChjb25zdCBFdmFzX09iamVjdCogZXdrVmlldywgY29uc3Qg
Y2hhciogbmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCmluZGV4IDAzZDY5YzAuLjY3
N2JiZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcApAQCAtNTcsNiArNTcsNyBAQAog
I2luY2x1ZGUgIlJlZlB0ckNhaXJvLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGhlbWVFZmwuaCIKICNp
bmNsdWRlICJSZXNvdXJjZUhhbmRsZS5oIgorI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXMuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlRpbGVkQmFja2luZ1N0b3Jl
LmgiCiAjaW5jbHVkZSAiY19pbnN0YW5jZS5oIgpAQCAtODIxLDcgKzgyMiw3IEBAIHN0YXRpYyBF
d2tfVmlld19Qcml2YXRlX0RhdGEqIF9ld2tfdmlld19wcml2X25ldyhFd2tfVmlld19TbWFydF9E
YXRhKiBzbWFydERhdGEpCiAgICAgcHJpdi0+cGFnZVNldHRpbmdzLT5zZXRTYW5zU2VyaWZGb250
RmFtaWx5KCJzYW5zIik7CiAgICAgcHJpdi0+cGFnZVNldHRpbmdzLT5zZXRTdGFuZGFyZEZvbnRG
YW1pbHkoInNhbnMiKTsKICAgICBwcml2LT5wYWdlU2V0dGluZ3MtPnNldEh5cGVybGlua0F1ZGl0
aW5nRW5hYmxlZChmYWxzZSk7Ci0gICAgcHJpdi0+cGFnZVNldHRpbmdzLT5zZXRDU1NSZWdpb25z
RW5hYmxlZCh0cnVlKTsKKyAgICBXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRD
U1NSZWdpb25zRW5hYmxlZCh0cnVlKTsKICAgICBwcml2LT5wYWdlU2V0dGluZ3MtPnNldFNjcmlw
dEVuYWJsZWQodHJ1ZSk7CiAgICAgcHJpdi0+cGFnZVNldHRpbmdzLT5zZXRQbHVnaW5zRW5hYmxl
ZCh0cnVlKTsKICAgICBwcml2LT5wYWdlU2V0dGluZ3MtPnNldExvY2FsU3RvcmFnZUVuYWJsZWQo
dHJ1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggZTU2YTlmNS4uYTFkNTY0MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTExLTI4ICBNaWhhaSBNYWVyZWFuICA8bW1hZXJl
YW5AYWRvYmUuY29tPgorCisgICAgICAgIFtDU1NSZWdpb25zXSB3aGVuIFdlYktpdCB1c2VzIFY4
LCB0aGVyZSBzaG91bGQgYmUgYSBzaW5nbGUgdmFyaWFibGUgdG8gc3RvcmUgaWYgdGhlIENTUyBS
ZWdpb25zIGZlYXR1cmUgaXMgZW5hYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAxMTkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUmVtb3ZlZCB0aGUgQ1NTIFJlZ2lvbnMgZmxhZyBpbiBTZXR0aW5n
cyBhbmQgc3dpdGNoZWQgdG8gdXNpbmcgdGhlIG5ldyBmbGFnIEkgaGF2ZSBhZGRlZCBpbiBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzLgorCisgICAgICAgIFRlc3RzOiBObyBuZXcgdGVzdHMgYmVjYXVz
ZSB0aGVyZSBpcyBubyBmdW5jdGlvbmFsIGNoYW5nZS4KKworICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5jcHA6CisgICAgICAgIChEdW1wUmVuZGVyVHJl
ZVN1cHBvcnRHdGs6OnNldENTU1JlZ2lvbnNFbmFibGVkKToKKwogMjAxMi0xMS0yNyAgSmFtZXMg
U2ltb25zZW4gIDxzaW1vbmphbUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQ29uc29saWRhdGUg
RnJhbWVMb2FkZXI6OmxvYWQoKSBpbnRvIG9uZSBmdW5jdGlvbiB0YWtpbmcgYSBGcmFtZUxvYWRS
ZXF1ZXN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1w
UmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBv
cnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmNwcAppbmRleCBhMzdmODNlLi5jZGI1YjZlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJl
ZVN1cHBvcnRHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1
bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5jcHAKQEAgLTY5MCw3ICs2OTAsNyBAQCB2b2lkIER1bXBS
ZW5kZXJUcmVlU3VwcG9ydEd0azo6c2V0Q1NTR3JpZExheW91dEVuYWJsZWQoV2ViS2l0V2ViVmll
dyogd2ViVmlldywgYgogCiB2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6c2V0Q1NTUmVn
aW9uc0VuYWJsZWQoV2ViS2l0V2ViVmlldyogd2ViVmlldywgYm9vbCBlbmFibGVkKQogewotICAg
IGNvcmUod2ViVmlldyktPnNldHRpbmdzKCktPnNldENTU1JlZ2lvbnNFbmFibGVkKGVuYWJsZWQp
OworICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldENTU1JlZ2lvbnNFbmFibGVkKGVuYWJs
ZWQpOwogfQogCiB2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6c2V0Q1NTQ3VzdG9tRmls
dGVyRW5hYmxlZChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBib29sIGVuYWJsZWQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKaW5kZXggZWNiNWJmNS4uZGIyNjc0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE3IEBACisyMDEyLTExLTI4ICBNaWhhaSBNYWVyZWFuICA8bW1hZXJlYW5AYWRvYmUuY29tPgor
CisgICAgICAgIFtDU1NSZWdpb25zXSB3aGVuIFdlYktpdCB1c2VzIFY4LCB0aGVyZSBzaG91bGQg
YmUgYSBzaW5nbGUgdmFyaWFibGUgdG8gc3RvcmUgaWYgdGhlIENTUyBSZWdpb25zIGZlYXR1cmUg
aXMgZW5hYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTAxMTkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUmVtb3ZlZCB0aGUgQ1NTIFJlZ2lvbnMgZmxhZyBpbiBTZXR0aW5ncyBhbmQgc3dpdGNoZWQg
dG8gdXNpbmcgdGhlIG5ldyBmbGFnIEkgaGF2ZSBhZGRlZCBpbiBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzLgorCisgICAgICAgIFRlc3RzOiBObyBuZXcgdGVzdHMgYmVjYXVzZSB0aGVyZSBpcyBubyBm
dW5jdGlvbmFsIGNoYW5nZS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAg
ICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXNDaGFuZ2VkOl0pOgorCiAyMDEyLTExLTI3ICBNaWNo
YWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgogCiAgICAgICAgIFRleHRJdGVyYXRvciB1
bm5lY2Vzc2FyaWx5IGNvbnZlcnRzIDggYml0IHN0cmluZ3MgdG8gMTYgYml0cwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IDcyYTVjODEuLmNlOTUwYmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTE2Myw2ICsxNjMsNyBAQAogI2ltcG9ydCA8V2Vi
Q29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbXBvcnQgPFdlYkNvcmUvUnVuTG9vcC5oPgogI2lt
cG9ydCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KKyNpbXBvcnQgPFdlYkNv
cmUvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9TY2hlbWVSZWdp
c3RyeS5oPgogI2ltcG9ydCA8V2ViQ29yZS9TY3JpcHRDb250cm9sbGVyLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL1NjcmlwdFZhbHVlLmg+CkBAIC0xNTM4LDcgKzE1MzksNyBAQCBzdGF0aWMgYm9vbCBu
ZWVkc1NlbGZSZXRhaW5XaGlsZUxvYWRpbmdRdWlyaygpCiAjaWYgRU5BQkxFKENTU19TSEFERVJT
KQogICAgIHNldHRpbmdzLT5zZXRDU1NDdXN0b21GaWx0ZXJFbmFibGVkKFtwcmVmZXJlbmNlcyBj
c3NDdXN0b21GaWx0ZXJFbmFibGVkXSk7CiAjZW5kaWYKLSAgICBzZXR0aW5ncy0+c2V0Q1NTUmVn
aW9uc0VuYWJsZWQoW3ByZWZlcmVuY2VzIGNzc1JlZ2lvbnNFbmFibGVkXSk7CisgICAgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2V0Q1NTUmVnaW9uc0VuYWJsZWQoW3ByZWZlcmVuY2VzIGNzc1Jl
Z2lvbnNFbmFibGVkXSk7CiAgICAgc2V0dGluZ3MtPnNldENTU0dyaWRMYXlvdXRFbmFibGVkKFtw
cmVmZXJlbmNlcyBjc3NHcmlkTGF5b3V0RW5hYmxlZF0pOwogI2lmIEVOQUJMRShGVUxMU0NSRUVO
X0FQSSkKICAgICBzZXR0aW5ncy0+c2V0RnVsbFNjcmVlbkVuYWJsZWQoW3ByZWZlcmVuY2VzIGZ1
bGxTY3JlZW5FbmFibGVkXSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vi
c2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcAppbmRl
eCA3NGQ4NTI0Li4yNTlkYjBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vi
c2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAK
QEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFnZUNhY2hl
LmgiCiAjaW5jbHVkZSAiUGx1Z2luRGF0YWJhc2UuaCIKKyNpbmNsdWRlICJSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlIDxRRGlyPgogI2lu
Y2x1ZGUgPFFGaWxlSW5mbz4KQEAgLTE2Nyw3ICsxNjgsNyBAQCB2b2lkIFFXZWJTZXR0aW5nc1By
aXZhdGU6OmFwcGx5KCkKIAogICAgICAgICB2YWx1ZSA9IGF0dHJpYnV0ZXMudmFsdWUoUVdlYlNl
dHRpbmdzOjpDU1NSZWdpb25zRW5hYmxlZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdsb2JhbC0+YXR0cmlidXRlcy52YWx1ZShRV2ViU2V0dGluZ3M6OkNTU1JlZ2lvbnNFbmFi
bGVkKSk7Ci0gICAgICAgIHNldHRpbmdzLT5zZXRDU1NSZWdpb25zRW5hYmxlZCh2YWx1ZSk7Cisg
ICAgICAgIFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldENTU1JlZ2lvbnNFbmFi
bGVkKHZhbHVlKTsKICAgICAgICAgdmFsdWUgPSBhdHRyaWJ1dGVzLnZhbHVlKFFXZWJTZXR0aW5n
czo6Q1NTR3JpZExheW91dEVuYWJsZWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBnbG9iYWwtPmF0dHJpYnV0ZXMudmFsdWUoUVdlYlNldHRpbmdzOjpDU1NHcmlkTGF5b3V0RW5h
YmxlZCkpOwogICAgICAgICBzZXR0aW5ncy0+c2V0Q1NTR3JpZExheW91dEVuYWJsZWQodmFsdWUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L3F0L0NoYW5nZUxvZwppbmRleCA3ZWM4ZmJjLi42MTlhZmY2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE3IEBACisyMDEyLTExLTI4ICBNaWhhaSBNYWVyZWFuICA8bW1hZXJlYW5AYWRvYmUu
Y29tPgorCisgICAgICAgIFtDU1NSZWdpb25zXSB3aGVuIFdlYktpdCB1c2VzIFY4LCB0aGVyZSBz
aG91bGQgYmUgYSBzaW5nbGUgdmFyaWFibGUgdG8gc3RvcmUgaWYgdGhlIENTUyBSZWdpb25zIGZl
YXR1cmUgaXMgZW5hYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTAxMTkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUmVtb3ZlZCB0aGUgQ1NTIFJlZ2lvbnMgZmxhZyBpbiBTZXR0aW5ncyBhbmQgc3dp
dGNoZWQgdG8gdXNpbmcgdGhlIG5ldyBmbGFnIEkgaGF2ZSBhZGRlZCBpbiBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLgorCisgICAgICAgIFRlc3RzOiBObyBuZXcgdGVzdHMgYmVjYXVzZSB0aGVyZSBp
cyBubyBmdW5jdGlvbmFsIGNoYW5nZS4KKworICAgICAgICAqIEFwaS9xd2Vic2V0dGluZ3MuY3Bw
OgorICAgICAgICAoUVdlYlNldHRpbmdzUHJpdmF0ZTo6YXBwbHkpOgorCiAyMDEyLTExLTI4ICBI
dWFuZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgogCiAgICAgICAgIFtUZXht
YXBdIFJFR1JFU1NJT04ocjEzNTYyMCkgUXRUZXN0QnJvd3NlciBjcmFzaGVzIG9uIEdvb2dsZS1n
cmF2aXR5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDc0ZDM1MWMuLmNmNjA0NTBhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTEtMjggIE1paGFpIE1hZXJlYW4gIDxtbWFl
cmVhbkBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTU1JlZ2lvbnNdIHdoZW4gV2ViS2l0IHVzZXMg
VjgsIHRoZXJlIHNob3VsZCBiZSBhIHNpbmdsZSB2YXJpYWJsZSB0byBzdG9yZSBpZiB0aGUgQ1NT
IFJlZ2lvbnMgZmVhdHVyZSBpcyBlbmFibGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDExOTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSZW1vdmVkIHRoZSBDU1MgUmVnaW9ucyBmbGFnIGluIFNldHRp
bmdzIGFuZCBzd2l0Y2hlZCB0byB1c2luZyB0aGUgbmV3IGZsYWcgSSBoYXZlIGFkZGVkIGluIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXMuCisKKyAgICAgICAgVGVzdHM6IE5vIG5ldyB0ZXN0cyBiZWNh
dXNlIHRoZXJlIGlzIG5vIGZ1bmN0aW9uYWwgY2hhbmdlLgorCisgICAgICAgICogV2ViVmlldy5j
cHA6CisgICAgICAgIChXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgorCiAyMDEy
LTExLTI3ICBKYW1lcyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBDb25zb2xpZGF0ZSBGcmFtZUxvYWRlcjo6bG9hZCgpIGludG8gb25lIGZ1bmN0aW9uIHRha2lu
ZyBhIEZyYW1lTG9hZFJlcXVlc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZp
ZXcuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKaW5kZXggMzhkMmU1MS4uMWI0
MjU5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKKysrIGIvU291
cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKQEAgLTEyOSw2ICsxMjksNyBAQAogI2luY2x1ZGUg
PFdlYkNvcmUvUmVzb3VyY2VIYW5kbGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlSGFu
ZGxlQ2xpZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KKyNpbmNs
dWRlIDxXZWJDb3JlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1NjaGVtZVJlZ2lzdHJ5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TY3JpcHRWYWx1ZS5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvU2Nyb2xsYmFyLmg+CkBAIC00NjcxLDcgKzQ2NzIsNyBAQCBIUkVTVUxU
IFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZChJV2ViTm90aWZpY2F0aW9uKiBub3Rp
ZmljYXRpb24pCiAgICAgaHIgPSBwcmVmZXJlbmNlcy0+aXNDU1NSZWdpb25zRW5hYmxlZCgmZW5h
YmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgIHJldHVybiBocjsKLSAgICBzZXR0
aW5ncy0+c2V0Q1NTUmVnaW9uc0VuYWJsZWQoISFlbmFibGVkKTsKKyAgICBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzZXRDU1NSZWdpb25zRW5hYmxlZCghIWVuYWJsZWQpOwogCiAgICAgaHIgPSBw
cmVmZXJlbmNlcy0+cHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZB
SUxFRChocikpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggM2FkNjBlNC4uMjY5NTM5ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIzIEBACisyMDEyLTExLTI4ICBNaWhhaSBNYWVyZWFuICA8bW1hZXJlYW5AYWRvYmUu
Y29tPgorCisgICAgICAgIFtDU1NSZWdpb25zXSB3aGVuIFdlYktpdCB1c2VzIFY4LCB0aGVyZSBz
aG91bGQgYmUgYSBzaW5nbGUgdmFyaWFibGUgdG8gc3RvcmUgaWYgdGhlIENTUyBSZWdpb25zIGZl
YXR1cmUgaXMgZW5hYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTAxMTkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUmVtb3ZlZCB0aGUgQ1NTIFJlZ2lvbnMgZmxhZyBpbiBTZXR0aW5ncyBhbmQgc3dp
dGNoZWQgdG8gdXNpbmcgdGhlIG5ldyBmbGFnIEkgaGF2ZSBhZGRlZCBpbiBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLgorCisgICAgICAgIFRlc3RzOiBObyBuZXcgdGVzdHMgYmVjYXVzZSB0aGVyZSBp
cyBubyBmdW5jdGlvbmFsIGNoYW5nZS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRs
ZTo6b3ZlcnJpZGVCb29sUHJlZmVyZW5jZUZvclRlc3RSdW5uZXIpOgorICAgICAgICAoV2ViS2l0
OjpJbmplY3RlZEJ1bmRsZTo6c2V0Q1NTUmVnaW9uc0VuYWJsZWQpOgorICAgICAgICAoV2ViS2l0
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmg6
CisgICAgICAgIChJbmplY3RlZEJ1bmRsZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNl
cyk6CisKIDIwMTItMTEtMjcgIEppbndvbyBTb25nICA8amlud29vNy5zb25nQHNhbXN1bmcuY29t
PgogCiAgICAgICAgIFtFRkxdW1dLMl0gRHVwbGljYXRlZCBXZWJQYWdlR3JvdXAgaW5pdGlhbGl6
YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGUuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKaW5kZXggMWIyYzgzMC4uMWI0ZTg1YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZS5jcHAKQEAgLTcxLDcgKzcxLDcgQEAKICNpbmNsdWRlIDx3dGYvT3duQXJy
YXlQdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093bkFycmF5UHRyLmg+CiAKLSNpZiBFTkFCTEUo
U0hBRE9XX0RPTSkKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkgfHwgRU5BQkxFKENTU19SRUdJT05T
KQogI2luY2x1ZGUgPFdlYkNvcmUvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oPgogI2VuZGlmCiAK
QEAgLTE4MiwxMSArMTgyLDE1IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6Om92ZXJyaWRlQm9vbFBy
ZWZlcmVuY2VGb3JUZXN0UnVubmVyKFdlYlBhZ2VHcm91cFByb3h5KiBwYWdlCiAgICAgICAgIH0K
ICAgICB9CiAKKyNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCisgICAgaWYgKHByZWZlcmVuY2UgPT0g
IldlYktpdENTU1JlZ2lvbnNFbmFibGVkIikKKyAgICAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2V0Q1NTUmVnaW9uc0VuYWJsZWQoZW5hYmxlZCk7CisjZW5kaWYKKwogICAgIC8vIE1hcCB0
aGUgbmFtZXMgdXNlZCBpbiBMYXlvdXRUZXN0cyB3aXRoIHRoZSBuYW1lcyB1c2VkIGluIFdlYkNv
cmU6OlNldHRpbmdzIGFuZCBXZWJQcmVmZXJlbmNlc1N0b3JlLgogI2RlZmluZSBGT1JfRUFDSF9P
VkVSUklERV9CT09MX1BSRUZFUkVOQ0UobWFjcm8pIFwKICAgICBtYWNybyhXZWJLaXRBY2NlbGVy
YXRlZENvbXBvc2l0aW5nRW5hYmxlZCwgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQsIGFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKSBcCiAgICAgbWFjcm8oV2ViS2l0Q1NTQ3VzdG9t
RmlsdGVyRW5hYmxlZCwgQ1NTQ3VzdG9tRmlsdGVyRW5hYmxlZCwgY3NzQ3VzdG9tRmlsdGVyRW5h
YmxlZCkgXAotICAgIG1hY3JvKFdlYktpdENTU1JlZ2lvbnNFbmFibGVkLCBDU1NSZWdpb25zRW5h
YmxlZCwgY3NzUmVnaW9uc0VuYWJsZWQpIFwKICAgICBtYWNybyhXZWJLaXRDU1NHcmlkTGF5b3V0
RW5hYmxlZCwgQ1NTR3JpZExheW91dEVuYWJsZWQsIGNzc0dyaWRMYXlvdXRFbmFibGVkKSBcCiAg
ICAgbWFjcm8oV2ViS2l0SmF2YUVuYWJsZWQsIEphdmFFbmFibGVkLCBqYXZhRW5hYmxlZCkgXAog
ICAgIG1hY3JvKFdlYktpdEphdmFTY3JpcHRFbmFibGVkLCBTY3JpcHRFbmFibGVkLCBqYXZhU2Ny
aXB0RW5hYmxlZCkgXApAQCAtNjQ2LDYgKzY1MCwxNSBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpz
ZXRTaGFkb3dET01FbmFibGVkKGJvb2wgZW5hYmxlZCkKICNlbmRpZgogfQogCit2b2lkIEluamVj
dGVkQnVuZGxlOjpzZXRDU1NSZWdpb25zRW5hYmxlZChib29sIGVuYWJsZWQpCit7CisjaWYgRU5B
QkxFKENTU19SRUdJT05TKQorICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldENTU1JlZ2lv
bnNFbmFibGVkKGVuYWJsZWQpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZW5hYmxlZCk7Cisj
ZW5kaWYKK30KKwogdm9pZCBJbmplY3RlZEJ1bmRsZTo6ZGlzcGF0Y2hQZW5kaW5nTG9hZFJlcXVl
c3RzKCkKIHsKICAgICByZXNvdXJjZUxvYWRTY2hlZHVsZXIoKS0+c2VydmVQZW5kaW5nUmVxdWVz
dHMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGUuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAppbmRleCBmZDcxNmQzLi44YzA2NWNjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxl
LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZS5oCkBAIC0xODAsNiArMTgwLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VGFiS2V5
Q3ljbGVzVGhyb3VnaEVsZW1lbnRzKFdlYlBhZ2UqLCBib29sIGVuYWJsZWQpOwogICAgIHZvaWQg
c2V0U2VyaWFsTG9hZGluZ0VuYWJsZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRTaGFkb3dET01FbmFi
bGVkKGJvb2wpOworICAgIHZvaWQgc2V0Q1NTUmVnaW9uc0VuYWJsZWQoYm9vbCk7CiAgICAgdm9p
ZCBkaXNwYXRjaFBlbmRpbmdMb2FkUmVxdWVzdHMoKTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA4M2MwYWU3Li5iZTRm
ZDE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CkBAIC0xMTQsNiArMTE0LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUnVuTG9vcC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvU2NoZW1lUmVnaXN0cnkuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1NjcmlwdFZhbHVlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZXJpYWxpemVkU2NyaXB0VmFsdWUu
aD4KQEAgLTIyMzYsNyArMjIzNyw3IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMo
Y29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAgICAgc2V0dGluZ3MtPnNldFNob3dE
ZWJ1Z0JvcmRlcnMoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpj
b21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlS2V5KCkpKTsKICAgICBzZXR0aW5ncy0+c2V0U2hvd1Jl
cGFpbnRDb3VudGVyKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6
Y29tcG9zaXRpbmdSZXBhaW50Q291bnRlcnNWaXNpYmxlS2V5KCkpKTsKICAgICBzZXR0aW5ncy0+
c2V0Q1NTQ3VzdG9tRmlsdGVyRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJl
ZmVyZW5jZXNLZXk6OmNzc0N1c3RvbUZpbHRlckVuYWJsZWRLZXkoKSkpOwotICAgIHNldHRpbmdz
LT5zZXRDU1NSZWdpb25zRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVy
ZW5jZXNLZXk6OmNzc1JlZ2lvbnNFbmFibGVkS2V5KCkpKTsKKyAgICBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzZXRDU1NSZWdpb25zRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2Vi
UHJlZmVyZW5jZXNLZXk6OmNzc1JlZ2lvbnNFbmFibGVkS2V5KCkpKTsKICAgICBzZXR0aW5ncy0+
c2V0Q1NTR3JpZExheW91dEVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZl
cmVuY2VzS2V5Ojpjc3NHcmlkTGF5b3V0RW5hYmxlZEtleSgpKSk7CiAgICAgc2V0dGluZ3MtPnNl
dFJlZ2lvbkJhc2VkQ29sdW1uc0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlBy
ZWZlcmVuY2VzS2V5OjpyZWdpb25CYXNlZENvbHVtbnNFbmFibGVkS2V5KCkpKTsKICAgICBzZXR0
aW5ncy0+c2V0V2ViR0xFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJl
bmNlc0tleTo6d2ViR0xFbmFibGVkS2V5KCkpKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjOTQ5Y2RjLi4yNDBiNGYxIDEwMDY0NAotLS0gYS9U
b29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIw
MTItMTEtMjggIE1paGFpIE1hZXJlYW4gIDxtbWFlcmVhbkBhZG9iZS5jb20+CisKKyAgICAgICAg
W0NTU1JlZ2lvbnNdIHdoZW4gV2ViS2l0IHVzZXMgVjgsIHRoZXJlIHNob3VsZCBiZSBhIHNpbmds
ZSB2YXJpYWJsZSB0byBzdG9yZSBpZiB0aGUgQ1NTIFJlZ2lvbnMgZmVhdHVyZSBpcyBlbmFibGVk
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDExOTIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmVk
IHRoZSBDU1MgUmVnaW9ucyBmbGFnIGluIFNldHRpbmdzIGFuZCBzd2l0Y2hlZCB0byB1c2luZyB0
aGUgbmV3IGZsYWcgSSBoYXZlIGFkZGVkIGluIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuCisKKyAg
ICAgICAgVGVzdHM6IE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXJlIGlzIG5vIGZ1bmN0aW9uYWwg
Y2hhbmdlLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUHJlZmVyZW5j
ZXMuY3BwOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OmFwcGx5VG8pOgorCiAyMDEyLTExLTI4
ICBUaGlhZ28gTWFyY29zIFAuIFNhbnRvcyAgPHRoaWFnby5zYW50b3NAaW50ZWwuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQuIFVzZSBteSBwZXJzb25hbCBlbWFpbCBhcyBidWd6aWxsYSBlbWFp
bC4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVu
Y2VzLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmNw
cAppbmRleCBlMTM5MzlkLi5mNjRhN2IxIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9XZWJQcmVmZXJlbmNlcy5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vV2ViUHJlZmVyZW5jZXMuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlcy5oIgorI2luY2x1ZGUgIldlYlJ1
bnRpbWVGZWF0dXJlcy5oIgogCiAjaW5jbHVkZSAiV2ViVmlldy5oIgogCkBAIC0yMDAsNyArMjAx
LDcgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6YXBwbHlUbyhXZWJWaWV3KiB3ZWJWaWV3KQogICAg
IHNldHRpbmdzLT5zZXREZWZhdWx0VGV4dEVuY29kaW5nTmFtZShkZWZhdWx0VGV4dEVuY29kaW5n
TmFtZSk7CiAgICAgc2V0dGluZ3MtPnNldERldmVsb3BlckV4dHJhc0VuYWJsZWQoZGV2ZWxvcGVy
RXh0cmFzRW5hYmxlZCk7CiAgICAgc2V0dGluZ3MtPnNldEV4cGVyaW1lbnRhbFdlYkdMRW5hYmxl
ZChleHBlcmltZW50YWxXZWJHTEVuYWJsZWQpOwotICAgIHNldHRpbmdzLT5zZXRFeHBlcmltZW50
YWxDU1NSZWdpb25zRW5hYmxlZChleHBlcmltZW50YWxDU1NSZWdpb25zRW5hYmxlZCk7CisgICAg
V2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVDU1NSZWdpb25zKGV4cGVyaW1lbnRhbENTU1JlZ2lv
bnNFbmFibGVkKTsKICAgICBzZXR0aW5ncy0+c2V0RXhwZXJpbWVudGFsQ1NTR3JpZExheW91dEVu
YWJsZWQoZXhwZXJpbWVudGFsQ1NTR3JpZExheW91dEVuYWJsZWQpOwogICAgIHNldHRpbmdzLT5z
ZXRFeHBlcmltZW50YWxDU1NDdXN0b21GaWx0ZXJFbmFibGVkKGNzc0N1c3RvbUZpbHRlckVuYWJs
ZWQpOwogICAgIHNldHRpbmdzLT5zZXRKYXZhRW5hYmxlZChqYXZhRW5hYmxlZCk7Cg==
</data>
<flag name="commit-queue"
          id="192247"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176486</attachid>
            <date>2012-11-28 07:44:46 -0800</date>
            <delta_ts>2012-11-30 00:49:20 -0800</delta_ts>
            <desc>Incorporated Adam Barth&apos;s feedback to move setExperimentalCSSRegionsEnabled to the bottom of the WebSettings interface and make it a no-op.</desc>
            <filename>patch101192.diff</filename>
            <type>text/plain</type>
            <size>30334</size>
            <attacher name="Mihai Maerean">mmaerean</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyNzIxZjllLi41YTE1NjhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAg
QEAKKzIwMTItMTEtMjggIE1paGFpIE1hZXJlYW4gIDxtbWFlcmVhbkBhZG9iZS5jb20+CisKKyAg
ICAgICAgW0NTU1JlZ2lvbnNdIHdoZW4gV2ViS2l0IHVzZXMgVjgsIHRoZXJlIHNob3VsZCBiZSBh
IHNpbmdsZSB2YXJpYWJsZSB0byBzdG9yZSBpZiB0aGUgQ1NTIFJlZ2lvbnMgZmVhdHVyZSBpcyBl
bmFibGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDExOTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
ZW1vdmVkIHRoZSBDU1MgUmVnaW9ucyBmbGFnIGluIFNldHRpbmdzIGFuZCBzd2l0Y2hlZCB0byB1
c2luZyB0aGUgbmV3IGZsYWcgSSBoYXZlIGFkZGVkIGluIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMu
CisKKyAgICAgICAgVGVzdHM6IE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXJlIGlzIG5vIGZ1bmN0
aW9uYWwgY2hhbmdlLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogV2Vi
Q29yZS52Y3Byb2ovY29weUZvcndhcmRpbmdIZWFkZXJzLmNtZDoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvZ2VuZXJpYy9S
dW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAq
IGJpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoUnVu
dGltZUVuYWJsZWRGZWF0dXJlcyk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzZXRDU1NSZWdpb25zRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpjc3NSZWdpb25zRW5hYmxlZCk6CisgICAgICAgICogZG9tL0RvY3Vt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpjc3NSZWdpb25zRW5hYmxlZCk6
CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5n
czo6U2V0dGluZ3MpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKFNldHRp
bmdzKToKKwogMjAxMi0xMS0yOCAgWmVubyBBbGJpc3NlciAgPHplbm9Ad2Via2l0Lm9yZz4KIAog
ICAgICAgICBHcmFwaGljc1N1cmZhY2U6IEltcGxlbWVudCB1c2FnZSBvZiBHcmFwaGljc1N1cmZh
Y2UgZm9yIFdlYkdMIGluIFdLMS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggYjliMjE5YS4uMTlh
YTMxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTI2ODEsMyArMjY4MSw3IEBAIF93a0NhcHRp
b25BcHBlYXJhbmNlR2V0UmVsYXRpdmVDaGFyYWN0ZXJTaXplCiBfd2tDYXB0aW9uQXBwZWFyYW5j
ZUdldFRleHRFZGdlU3R5bGUKIF93a0NhcHRpb25BcHBlYXJhbmNlR2V0U2V0dGluZ3NDaGFuZ2Vk
Tm90aWZpY2F0aW9uCiAjZW5kaWYKKworI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKK19fWk43V2Vi
Q29yZTIyUnVudGltZUVuYWJsZWRGZWF0dXJlczE5aXNDU1NSZWdpb25zRW5hYmxlZEUKKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovY29weUZvcndhcmRp
bmdIZWFkZXJzLmNtZCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL2NvcHlGb3J3YXJk
aW5nSGVhZGVycy5jbWQKaW5kZXggNzU0YTU3Zi4uYjgzNjVhMSAxMDA3NTUKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovY29weUZvcndhcmRpbmdIZWFkZXJzLmNtZAorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9jb3B5Rm9yd2FyZGluZ0hlYWRlcnMuY21kCkBA
IC02Myw2ICs2Myw3IEBAIHhjb3B5IC95IC9kICIlUHJvamVjdERpciUuLlxwbGF0Zm9ybVxuZXR3
b3JrXCUyXCouaCIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGluCiB4Y29weSAveSAvZCAiJVBy
b2plY3REaXIlLi5ccGxhdGZvcm1cc3FsXCouaCIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGlu
Y2x1ZGVcV2ViQ29yZSIKIHhjb3B5IC95IC9kICIlUHJvamVjdERpciUuLlxwbGF0Zm9ybVxjYWly
b1xjYWlyb1xzcmNcKi5oIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVkZVxXZWJDb3Jl
IgogeGNvcHkgL3kgL2QgIiVQcm9qZWN0RGlyJS4uXGJpbmRpbmdzXCouaCIgIiVDT05GSUdVUkFU
SU9OQlVJTERESVIlXGluY2x1ZGVcV2ViQ29yZSIKK3hjb3B5IC95IC9kICIlUHJvamVjdERpciUu
LlxiaW5kaW5nc1xnZW5lcmljXCouaCIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGluY2x1ZGVc
V2ViQ29yZSIKIHhjb3B5IC95IC9kICIlUHJvamVjdERpciUuLlxiaW5kaW5nc1xqc1wqLmgiICIl
Q09ORklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRlXFdlYkNvcmUiCiB4Y29weSAveSAvZCAiJVBy
b2plY3REaXIlLi5ccGFnZVwqLmgiICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRlXFdl
YkNvcmUiCiB4Y29weSAveSAvZCAiJVByb2plY3REaXIlLi5ccGFnZVxhbmltYXRpb25cKi5oIiAi
JUNPTkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVkZVxXZWJDb3JlIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGIyZDU3NTYuLjM1
ODA3ZGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC0zMTUxLDcgKzMxNTEsNyBAQAogCQk4QzBFMzM0RTEzOEE5MkM3MDA4REE5
NEYgLyogTGV2ZWxEQldyaXRlQmF0Y2guY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOEMwRTMzNEExMzhBOTJDNzAwOERBOTRGIC8qIExldmVsREJXcml0
ZUJhdGNoLmNwcCAqLzsgfTsKIAkJOEMwRTMzNEYxMzhBOTJDNzAwOERBOTRGIC8qIExldmVsREJX
cml0ZUJhdGNoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4QzBFMzM0QjEzOEE5MkM3MDA4REE5NEYgLyogTGV2ZWxEQldyaXRlQmF0Y2guaCAqLzsgfTsK
IAkJOEM2RUE2MTkxMUVGN0UwNDAwRkQ4RUUzIC8qIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEM2RUE2MTcx
MUVGN0UwNDAwRkQ4RUUzIC8qIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwICovOyB9OwotCQk4
QzZFQTYxQTExRUY3RTA0MDBGRDhFRTMgLyogUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEM2RUE2MTgxMUVGN0Uw
NDAwRkQ4RUUzIC8qIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCAqLzsgfTsKKwkJOEM2RUE2MUEx
MUVGN0UwNDAwRkQ4RUUzIC8qIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhDNkVBNjE4MTFFRjdFMDQwMEZEOEVF
MyAvKiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOENBREYyQTkxMzVDN0IzNjAwOUVGNDNGIC8qIExldmVs
REJDb21wYXJhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4Q0FERjJBMzEzNUM3QjM2MDA5RUY0M0YgLyogTGV2ZWxEQkNvbXBhcmF0b3IuaCAqLzsg
fTsKIAkJOENBREYyQUExMzVDN0IzNjAwOUVGNDNGIC8qIExldmVsREJEYXRhYmFzZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4Q0FERjJBNDEzNUM3
QjM2MDA5RUY0M0YgLyogTGV2ZWxEQkRhdGFiYXNlLmNwcCAqLzsgfTsKIAkJOENBREYyQUIxMzVD
N0IzNjAwOUVGNDNGIC8qIExldmVsREJEYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOENBREYyQTUxMzVDN0IzNjAwOUVGNDNGIC8qIExldmVs
REJEYXRhYmFzZS5oICovOyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
Z2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAKaW5kZXggZTA4ZTQwYy4uZjAx
NjliZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1l
RW5hYmxlZEZlYXR1cmVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmlj
L1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCkBAIC01NSw2ICs1NSw3IEBAIGJvb2wgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6aXNEZXZpY2VNb3Rpb25FbmFibGVkID0gdHJ1ZTsKIGJvb2wgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6aXNEZXZpY2VPcmllbnRhdGlvbkVuYWJsZWQgPSB0cnVlOwog
Ym9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc1NwZWVjaElucHV0RW5hYmxlZCA9IHRydWU7
CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzQ1NTRXhjbHVzaW9uc0VuYWJsZWQgPSBm
YWxzZTsKK2Jvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNDU1NSZWdpb25zRW5hYmxlZCA9
IGZhbHNlOwogYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc0xhbmdBdHRyaWJ1dGVBd2Fy
ZUZvcm1Db250cm9sVUlFbmFibGVkID0gZmFsc2U7CiAKICNpZiBFTkFCTEUoU0NSSVBURURfU1BF
RUNIKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1l
RW5hYmxlZEZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRp
bWVFbmFibGVkRmVhdHVyZXMuaAppbmRleCBiYjk1Y2U4Li42NmY4ZTQ1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVy
ZXMuaApAQCAtNzEsNiArNzEsMTQgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGNzc0V4Y2x1
c2lvbnNFbmFibGVkKCkgeyByZXR1cm4gZmFsc2U7IH0KICNlbmRpZgogCisjaWYgRU5BQkxFKENT
U19SRUdJT05TKQorICAgIHN0YXRpYyB2b2lkIHNldENTU1JlZ2lvbnNFbmFibGVkKGJvb2wgaXNF
bmFibGVkKSB7IGlzQ1NTUmVnaW9uc0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KKyAgICBzdGF0aWMg
Ym9vbCBjc3NSZWdpb25zRW5hYmxlZCgpIHsgcmV0dXJuIGlzQ1NTUmVnaW9uc0VuYWJsZWQ7IH0K
KyNlbHNlCisgICAgc3RhdGljIHZvaWQgc2V0Q1NTUmVnaW9uc0VuYWJsZWQoYm9vbCkgeyB9Cisg
ICAgc3RhdGljIGJvb2wgY3NzUmVnaW9uc0VuYWJsZWQoKSB7IHJldHVybiBmYWxzZTsgfQorI2Vu
ZGlmCisKICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiAgICAgLy8gTW96aWxsYSB2ZXJzaW9u
CiAgICAgc3RhdGljIGJvb2wgd2Via2l0RnVsbFNjcmVlbkFQSUVuYWJsZWQoKSB7IHJldHVybiBp
c0Z1bGxTY3JlZW5BUElFbmFibGVkOyB9CkBAIC0yNzQsNiArMjgyLDcgQEAgcHJpdmF0ZToKICAg
ICBzdGF0aWMgYm9vbCBpc0RldmljZU9yaWVudGF0aW9uRW5hYmxlZDsKICAgICBzdGF0aWMgYm9v
bCBpc1NwZWVjaElucHV0RW5hYmxlZDsKICAgICBzdGF0aWMgYm9vbCBpc0NTU0V4Y2x1c2lvbnNF
bmFibGVkOworICAgIHN0YXRpYyBib29sIGlzQ1NTUmVnaW9uc0VuYWJsZWQ7CiAgICAgV0VCQ09S
RV9URVNUSU5HIHN0YXRpYyBib29sIGlzTGFuZ0F0dHJpYnV0ZUF3YXJlRm9ybUNvbnRyb2xVSUVu
YWJsZWQ7CiAjaWYgRU5BQkxFKFNDUklQVEVEX1NQRUVDSCkKICAgICBzdGF0aWMgYm9vbCBpc1Nj
cmlwdGVkU3BlZWNoRW5hYmxlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGRiNzRkNTUu
Ljc1Njk2NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTEyNCw3ICsxMTI0LDcgQEAg
Ym9vbCBEb2N1bWVudDo6Y3NzU3RpY2t5UG9zaXRpb25FbmFibGVkKCkgY29uc3QKIAogYm9vbCBE
b2N1bWVudDo6Y3NzUmVnaW9uc0VuYWJsZWQoKSBjb25zdAogewotICAgIHJldHVybiBzZXR0aW5n
cygpICYmIHNldHRpbmdzKCktPmNzc1JlZ2lvbnNFbmFibGVkKCk7IAorICAgIHJldHVybiBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpjc3NSZWdpb25zRW5hYmxlZCgpOyAKIH0KIAogYm9vbCBEb2N1
bWVudDo6Y3NzR3JpZExheW91dEVuYWJsZWQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNw
cAppbmRleCA5Mzc4YzQ4Li5iMjc0ZTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAt
MTY0LDkgKzE2NCw2IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogI2lmIEVOQUJM
RShDU1NfU1RJQ0tZX1BPU0lUSU9OKQogICAgICwgbV9jc3NTdGlja3lQb3NpdGlvbkVuYWJsZWQo
dHJ1ZSkKICNlbmRpZgotI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKLSAgICAsIG1fY3NzUmVnaW9u
c0VuYWJsZWQoZmFsc2UpCi0jZW5kaWYKICNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKICAgICAs
IG1fY3NzVmFyaWFibGVzRW5hYmxlZChmYWxzZSkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5o
CmluZGV4IGE4NjU1NTAuLjc1MTNiYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKQEAgLTIyNCwx
NCArMjI0LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIGNzc1N0aWNreVBv
c2l0aW9uRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKIAotI2lmIEVO
QUJMRShDU1NfUkVHSU9OUykKLSAgICAgICAgdm9pZCBzZXRDU1NSZWdpb25zRW5hYmxlZChib29s
IGVuYWJsZWQpIHsgbV9jc3NSZWdpb25zRW5hYmxlZCA9IGVuYWJsZWQ7IH0KLSAgICAgICAgYm9v
bCBjc3NSZWdpb25zRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fY3NzUmVnaW9uc0VuYWJsZWQ7
IH0KLSNlbHNlCi0gICAgICAgIHZvaWQgc2V0Q1NTUmVnaW9uc0VuYWJsZWQoYm9vbCkgeyB9Ci0g
ICAgICAgIGJvb2wgY3NzUmVnaW9uc0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQot
I2VuZGlmCi0KICNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKICAgICAgICAgdm9pZCBzZXRDU1NW
YXJpYWJsZXNFbmFibGVkKGJvb2wgZW5hYmxlZCkgeyBtX2Nzc1ZhcmlhYmxlc0VuYWJsZWQgPSBl
bmFibGVkOyB9CiAgICAgICAgIGJvb2wgY3NzVmFyaWFibGVzRW5hYmxlZCgpIGNvbnN0IHsgcmV0
dXJuIG1fY3NzVmFyaWFibGVzRW5hYmxlZDsgfQpAQCAtMzQ5LDkgKzM0MSw2IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBtX2lzQ1NTQ3VzdG9tRmlsdGVyRW5hYmxlZCA6IDE7
CiAjaWYgRU5BQkxFKENTU19TVElDS1lfUE9TSVRJT04pCiAgICAgICAgIGJvb2wgbV9jc3NTdGlj
a3lQb3NpdGlvbkVuYWJsZWQgOiAxOwotI2VuZGlmICAgICAgICAKLSNpZiBFTkFCTEUoQ1NTX1JF
R0lPTlMpCi0gICAgICAgIGJvb2wgbV9jc3NSZWdpb25zRW5hYmxlZCA6IDE7CiAjZW5kaWYKICNp
ZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKICAgICAgICAgYm9vbCBtX2Nzc1ZhcmlhYmxlc0VuYWJs
ZWQgOiAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA3NzhiZDkwLi44ZTk0YjQ4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTExLTI4ICBN
aWhhaSBNYWVyZWFuICA8bW1hZXJlYW5AYWRvYmUuY29tPgorCisgICAgICAgIFtDU1NSZWdpb25z
XSB3aGVuIFdlYktpdCB1c2VzIFY4LCB0aGVyZSBzaG91bGQgYmUgYSBzaW5nbGUgdmFyaWFibGUg
dG8gc3RvcmUgaWYgdGhlIENTUyBSZWdpb25zIGZlYXR1cmUgaXMgZW5hYmxlZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxMTkyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlZCB0aGUgQ1NTIFJl
Z2lvbnMgZmxhZyBpbiBTZXR0aW5ncyBhbmQgc3dpdGNoZWQgdG8gdXNpbmcgdGhlIG5ldyBmbGFn
IEkgaGF2ZSBhZGRlZCBpbiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzLgorCisgICAgICAgIFRlc3Rz
OiBObyBuZXcgdGVzdHMgYmVjYXVzZSB0aGVyZSBpcyBubyBmdW5jdGlvbmFsIGNoYW5nZS4KKwor
ICAgICAgICAqIHB1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaDoKKyAgICAgICAgKFdlYlJ1bnRp
bWVGZWF0dXJlcyk6CisgICAgICAgICogcHVibGljL1dlYlNldHRpbmdzLmg6IG1vdmVkIHNldEV4
cGVyaW1lbnRhbENTU1JlZ2lvbnNFbmFibGVkIHRvIHRoZSBib3R0b20gb2YgdGhlIGludGVyZmFj
ZSBhbmQgbWFkZSBpdCBhCisgICAgICAgIG5vLW9wLiAgQWZ0ZXIgdGhpcyBwYXRjaCBsYW5kcyBh
bmQgQ2hyb21pdW0ncyB3ZWJraXRfcmV2IGlzIGluY3JlYXNlZCwgd2UnbGwgcmVtb3ZlIGFueSBj
YWxsZXJzIGluIENocm9taXVtLiBPbmNlCisgICAgICAgIHRoZSBDaHJvbWl1bSBjYWxsZXJzIGFy
ZSBnb25lIGFuZCBXZWJLaXQncyBjaHJvbWl1bV9yZXYgaXMgaW5jcmVhc2VkLCB3ZSdsbCByZW1v
dmUgdGhlIGRlcHJlY2F0ZWQgQVBJLgorICAgICAgICAqIHNyYy9XZWJSdW50aW1lRmVhdHVyZXMu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZUNTU1JlZ2lv
bnMpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUnVudGltZUZlYXR1
cmVzOjppc0NTU1JlZ2lvbnNFbmFibGVkKToKKyAgICAgICAgKiBzcmMvV2ViU2V0dGluZ3NJbXBs
LmNwcDoKKyAgICAgICAgKiBzcmMvV2ViU2V0dGluZ3NJbXBsLmg6CisgICAgICAgIChXZWJTZXR0
aW5nc0ltcGwpOgorCiAyMDEyLTExLTI3ICBKYW1lcyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBDb25zb2xpZGF0ZSBGcmFtZUxvYWRlcjo6bG9hZCgpIGludG8g
b25lIGZ1bmN0aW9uIHRha2luZyBhIEZyYW1lTG9hZFJlcXVlc3QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlJ1bnRpbWVGZWF0dXJlcy5oIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVudGltZUZlYXR1cmVzLmgKaW5kZXggMmY2ZWYxYy4u
YzkxNmMxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVu
dGltZUZlYXR1cmVzLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVu
dGltZUZlYXR1cmVzLmgKQEAgLTE1Nyw2ICsxNTcsOSBAQCBwdWJsaWM6CiAgICAgV0VCS0lUX0VY
UE9SVCBzdGF0aWMgdm9pZCBlbmFibGVSZXF1ZXN0QXV0b2NvbXBsZXRlKGJvb2wpOwogICAgIFdF
QktJVF9FWFBPUlQgc3RhdGljIGJvb2wgaXNSZXF1ZXN0QXV0b2NvbXBsZXRlRW5hYmxlZCgpOwog
CisgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgdm9pZCBlbmFibGVDU1NSZWdpb25zKGJvb2wpOwor
ICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIGJvb2wgaXNDU1NSZWdpb25zRW5hYmxlZCgpOworCiBw
cml2YXRlOgogICAgIFdlYlJ1bnRpbWVGZWF0dXJlcygpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNldHRpbmdzLmggYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJTZXR0aW5ncy5oCmluZGV4IDRjOWQwY2MuLjI2MDAzNjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNldHRpbmdzLmgKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2V0dGluZ3MuaApAQCAtMTAxLDcgKzEw
MSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0RXhwZXJpbWVudGFsQ1NTQ3VzdG9t
RmlsdGVyRW5hYmxlZChib29sKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldEV4cGVyaW1lbnRh
bENTU0dyaWRMYXlvdXRFbmFibGVkKGJvb2wpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q1NT
U3RpY2t5UG9zaXRpb25FbmFibGVkKGJvb2wpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0RXhw
ZXJpbWVudGFsQ1NTUmVnaW9uc0VuYWJsZWQoYm9vbCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBz
ZXRFeHBlcmltZW50YWxDU1NWYXJpYWJsZXNFbmFibGVkKGJvb2wpID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgc2V0RXhwZXJpbWVudGFsV2ViR0xFbmFibGVkKGJvb2wpID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgc2V0RmFudGFzeUZvbnRGYW1pbHkoY29uc3QgV2ViU3RyaW5nJiwgVVNjcmlwdENvZGUg
PSBVU0NSSVBUX0NPTU1PTikgPSAwOwpAQCAtMTc0LDYgKzE3Myw5IEBAIHB1YmxpYzoKICAgICAv
LyBERVBSRUNBVEVEIChyZW5hbWVkLiByZW1vdmUgdGhpcyBhZnRlciBhbGwgY2FsbCBzaXRlcyBj
aGFuZ2VkIHRvIHRoZSBuZXcgbmFtZSkKICAgICB2b2lkIHNldEFwcGx5RGVmYXVsdERldmljZVNj
YWxlRmFjdG9ySW5Db21wb3NpdG9yKGJvb2wgZW5hYmxlZCkgeyBzZXRBcHBseURldmljZVNjYWxl
RmFjdG9ySW5Db21wb3NpdG9yKGVuYWJsZWQpOyB9CiAKKyAgICAvLyBERVBSRUNBVEVECisgICAg
dm9pZCBzZXRFeHBlcmltZW50YWxDU1NSZWdpb25zRW5hYmxlZChib29sKSB7IH0KKwogcHJvdGVj
dGVkOgogICAgIH5XZWJTZXR0aW5ncygpIHsgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJSdW50aW1lRmVhdHVyZXMuY3BwCmluZGV4IGExOTVkZTIuLjU2MDBhNDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJl
cy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1cmVz
LmNwcApAQCAtNjIxLDYgKzYyMSwxNiBAQCBib29sIFdlYlJ1bnRpbWVGZWF0dXJlczo6aXNDU1NF
eGNsdXNpb25zRW5hYmxlZCgpCiAgICAgcmV0dXJuIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmNz
c0V4Y2x1c2lvbnNFbmFibGVkKCk7CiB9CiAKK3ZvaWQgV2ViUnVudGltZUZlYXR1cmVzOjplbmFi
bGVDU1NSZWdpb25zKGJvb2wgZW5hYmxlKQoreworICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNldENTU1JlZ2lvbnNFbmFibGVkKGVuYWJsZSk7Cit9CisKK2Jvb2wgV2ViUnVudGltZUZlYXR1
cmVzOjppc0NTU1JlZ2lvbnNFbmFibGVkKCkKK3sKKyAgICByZXR1cm4gUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6Y3NzUmVnaW9uc0VuYWJsZWQoKTsKK30KKwogdm9pZCBXZWJSdW50aW1lRmVhdHVy
ZXM6OmVuYWJsZVJlcXVlc3RBdXRvY29tcGxldGUoYm9vbCBlbmFibGUpCiB7CiAjaWYgRU5BQkxF
KFJFUVVFU1RfQVVUT0NPTVBMRVRFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlNldHRpbmdzSW1wbC5jcHAKaW5kZXggNmEzMzc4Ni4uY2VmNTc1NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuY3BwCkBAIC0zNzEsMTEgKzM3MSw2
IEBAIHZvaWQgV2ViU2V0dGluZ3NJbXBsOjpzZXRDU1NTdGlja3lQb3NpdGlvbkVuYWJsZWQoYm9v
bCBlbmFibGVkKQogICAgIG1fc2V0dGluZ3MtPnNldENTU1N0aWNreVBvc2l0aW9uRW5hYmxlZChl
bmFibGVkKTsKIH0KIAotdm9pZCBXZWJTZXR0aW5nc0ltcGw6OnNldEV4cGVyaW1lbnRhbENTU1Jl
Z2lvbnNFbmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAgICBtX3NldHRpbmdzLT5zZXRDU1NSZWdp
b25zRW5hYmxlZChlbmFibGVkKTsKLX0KLQogdm9pZCBXZWJTZXR0aW5nc0ltcGw6OnNldEV4cGVy
aW1lbnRhbENTU0dyaWRMYXlvdXRFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKICAgICBtX3NldHRp
bmdzLT5zZXRDU1NHcmlkTGF5b3V0RW5hYmxlZChlbmFibGVkKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5oIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgKaW5kZXggYWI5MjU2Mi4uZWZhMWJiYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgKQEAgLTkzLDcg
KzkzLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRFeHBlcmltZW50YWxDU1NDdXN0
b21GaWx0ZXJFbmFibGVkKGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRFeHBlcmltZW50YWxD
U1NHcmlkTGF5b3V0RW5hYmxlZChib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q1NTU3RpY2t5
UG9zaXRpb25FbmFibGVkKGJvb2wpOwotICAgIHZpcnR1YWwgdm9pZCBzZXRFeHBlcmltZW50YWxD
U1NSZWdpb25zRW5hYmxlZChib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0RXhwZXJpbWVudGFs
Q1NTVmFyaWFibGVzRW5hYmxlZChib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0RXhwZXJpbWVu
dGFsV2ViR0xFbmFibGVkKGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRGYW50YXN5Rm9udEZh
bWlseShjb25zdCBXZWJTdHJpbmcmLCBVU2NyaXB0Q29kZSA9IFVTQ1JJUFRfQ09NTU9OKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZs
L0NoYW5nZUxvZwppbmRleCAwYjkzM2NlLi4wMTRmYWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTkgQEAKKzIwMTItMTEtMjggIE1paGFpIE1hZXJlYW4gIDxtbWFlcmVhbkBhZG9iZS5j
b20+CisKKyAgICAgICAgW0NTU1JlZ2lvbnNdIHdoZW4gV2ViS2l0IHVzZXMgVjgsIHRoZXJlIHNo
b3VsZCBiZSBhIHNpbmdsZSB2YXJpYWJsZSB0byBzdG9yZSBpZiB0aGUgQ1NTIFJlZ2lvbnMgZmVh
dHVyZSBpcyBlbmFibGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDExOTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBSZW1vdmVkIHRoZSBDU1MgUmVnaW9ucyBmbGFnIGluIFNldHRpbmdzIGFuZCBzd2l0
Y2hlZCB0byB1c2luZyB0aGUgbmV3IGZsYWcgSSBoYXZlIGFkZGVkIGluIFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXMuCisKKyAgICAgICAgVGVzdHM6IE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXJlIGlz
IG5vIGZ1bmN0aW9uYWwgY2hhbmdlLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJl
bmRlclRyZWVTdXBwb3J0RWZsLmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9ydEVm
bDo6c2V0Q1NTUmVnaW9uc0VuYWJsZWQpOgorICAgICAgICAqIGV3ay9ld2tfdmlldy5jcHA6Cisg
ICAgICAgIChfZXdrX3ZpZXdfcHJpdl9uZXcpOgorCiAyMDEyLTExLTI3ICBKYW1lcyBTaW1vbnNl
biAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4KIAogICAgICAgICBDb25zb2xpZGF0ZSBGcmFtZUxv
YWRlcjo6bG9hZCgpIGludG8gb25lIGZ1bmN0aW9uIHRha2luZyBhIEZyYW1lTG9hZFJlcXVlc3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJU
cmVlU3VwcG9ydEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9EdW1w
UmVuZGVyVHJlZVN1cHBvcnRFZmwuY3BwCmluZGV4IDdlYTI3MjEuLjE0ZmY3NTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9y
dEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRl
clRyZWVTdXBwb3J0RWZsLmNwcApAQCAtNTMsNiArNTMsNyBAQAogI2luY2x1ZGUgPFByaW50Q29u
dGV4dC5oPgogI2luY2x1ZGUgPFJlbmRlclRyZWVBc1RleHQuaD4KICNpbmNsdWRlIDxSZXNvdXJj
ZUxvYWRTY2hlZHVsZXIuaD4KKyNpbmNsdWRlIDxSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg+CiAj
aW5jbHVkZSA8U2NoZW1lUmVnaXN0cnkuaD4KICNpbmNsdWRlIDxTY3JpcHRWYWx1ZS5oPgogI2lu
Y2x1ZGUgPFNldHRpbmdzLmg+CkBAIC0zNjcsNyArMzY4LDcgQEAgdm9pZCBEdW1wUmVuZGVyVHJl
ZVN1cHBvcnRFZmw6OnNldENTU1JlZ2lvbnNFbmFibGVkKGNvbnN0IEV2YXNfT2JqZWN0KiBld2tW
aWV3LAogewogICAgIERSVF9TVVBQUlRfUEFHRV9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHBhZ2Up
OwogCi0gICAgcGFnZS0+c2V0dGluZ3MoKS0+c2V0Q1NTUmVnaW9uc0VuYWJsZWQoZW5hYmxlZCk7
CisgICAgV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0Q1NTUmVnaW9uc0VuYWJs
ZWQoZW5hYmxlZCk7CiB9CiAKIGJvb2wgRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsOjppc0NvbW1h
bmRFbmFibGVkKGNvbnN0IEV2YXNfT2JqZWN0KiBld2tWaWV3LCBjb25zdCBjaGFyKiBuYW1lKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKaW5kZXggMDNkNjljMC4uNjc3YmJmYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCkBAIC01Nyw2ICs1Nyw3IEBACiAjaW5jbHVkZSAiUmVm
UHRyQ2Fpcm8uaCIKICNpbmNsdWRlICJSZW5kZXJUaGVtZUVmbC5oIgogI2luY2x1ZGUgIlJlc291
cmNlSGFuZGxlLmgiCisjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgogI2luY2x1
ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiVGlsZWRCYWNraW5nU3RvcmUuaCIKICNpbmNsdWRl
ICJjX2luc3RhbmNlLmgiCkBAIC04MjEsNyArODIyLDcgQEAgc3RhdGljIEV3a19WaWV3X1ByaXZh
dGVfRGF0YSogX2V3a192aWV3X3ByaXZfbmV3KEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNtYXJ0RGF0
YSkKICAgICBwcml2LT5wYWdlU2V0dGluZ3MtPnNldFNhbnNTZXJpZkZvbnRGYW1pbHkoInNhbnMi
KTsKICAgICBwcml2LT5wYWdlU2V0dGluZ3MtPnNldFN0YW5kYXJkRm9udEZhbWlseSgic2FucyIp
OwogICAgIHByaXYtPnBhZ2VTZXR0aW5ncy0+c2V0SHlwZXJsaW5rQXVkaXRpbmdFbmFibGVkKGZh
bHNlKTsKLSAgICBwcml2LT5wYWdlU2V0dGluZ3MtPnNldENTU1JlZ2lvbnNFbmFibGVkKHRydWUp
OworICAgIFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldENTU1JlZ2lvbnNFbmFi
bGVkKHRydWUpOwogICAgIHByaXYtPnBhZ2VTZXR0aW5ncy0+c2V0U2NyaXB0RW5hYmxlZCh0cnVl
KTsKICAgICBwcml2LT5wYWdlU2V0dGluZ3MtPnNldFBsdWdpbnNFbmFibGVkKHRydWUpOwogICAg
IHByaXYtPnBhZ2VTZXR0aW5ncy0+c2V0TG9jYWxTdG9yYWdlRW5hYmxlZCh0cnVlKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0No
YW5nZUxvZwppbmRleCBlNTZhOWY1Li5hMWQ1NjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTcgQEAKKzIwMTItMTEtMjggIE1paGFpIE1hZXJlYW4gIDxtbWFlcmVhbkBhZG9iZS5jb20+
CisKKyAgICAgICAgW0NTU1JlZ2lvbnNdIHdoZW4gV2ViS2l0IHVzZXMgVjgsIHRoZXJlIHNob3Vs
ZCBiZSBhIHNpbmdsZSB2YXJpYWJsZSB0byBzdG9yZSBpZiB0aGUgQ1NTIFJlZ2lvbnMgZmVhdHVy
ZSBpcyBlbmFibGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDExOTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBSZW1vdmVkIHRoZSBDU1MgUmVnaW9ucyBmbGFnIGluIFNldHRpbmdzIGFuZCBzd2l0Y2hl
ZCB0byB1c2luZyB0aGUgbmV3IGZsYWcgSSBoYXZlIGFkZGVkIGluIFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXMuCisKKyAgICAgICAgVGVzdHM6IE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXJlIGlzIG5v
IGZ1bmN0aW9uYWwgY2hhbmdlLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRl
clRyZWVTdXBwb3J0R3RrLmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6
c2V0Q1NTUmVnaW9uc0VuYWJsZWQpOgorCiAyMDEyLTExLTI3ICBKYW1lcyBTaW1vbnNlbiAgPHNp
bW9uamFtQGNocm9taXVtLm9yZz4KIAogICAgICAgICBDb25zb2xpZGF0ZSBGcmFtZUxvYWRlcjo6
bG9hZCgpIGludG8gb25lIGZ1bmN0aW9uIHRha2luZyBhIEZyYW1lTG9hZFJlcXVlc3QKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3Vw
cG9ydEd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRHdGsuY3BwCmluZGV4IGEzN2Y4M2UuLmNkYjViNmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVT
dXBwb3J0R3RrLmNwcApAQCAtNjkwLDcgKzY5MCw3IEBAIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBw
b3J0R3RrOjpzZXRDU1NHcmlkTGF5b3V0RW5hYmxlZChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBi
CiAKIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpzZXRDU1NSZWdpb25zRW5hYmxlZChX
ZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBib29sIGVuYWJsZWQpCiB7Ci0gICAgY29yZSh3ZWJWaWV3
KS0+c2V0dGluZ3MoKS0+c2V0Q1NTUmVnaW9uc0VuYWJsZWQoZW5hYmxlZCk7CisgICAgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2V0Q1NTUmVnaW9uc0VuYWJsZWQoZW5hYmxlZCk7CiB9CiAKIHZv
aWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpzZXRDU1NDdXN0b21GaWx0ZXJFbmFibGVkKFdl
YktpdFdlYlZpZXcqIHdlYlZpZXcsIGJvb2wgZW5hYmxlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCBl
Y2I1YmY1Li5kYjI2NzRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTIt
MTEtMjggIE1paGFpIE1hZXJlYW4gIDxtbWFlcmVhbkBhZG9iZS5jb20+CisKKyAgICAgICAgW0NT
U1JlZ2lvbnNdIHdoZW4gV2ViS2l0IHVzZXMgVjgsIHRoZXJlIHNob3VsZCBiZSBhIHNpbmdsZSB2
YXJpYWJsZSB0byBzdG9yZSBpZiB0aGUgQ1NTIFJlZ2lvbnMgZmVhdHVyZSBpcyBlbmFibGVkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDExOTIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmVkIHRo
ZSBDU1MgUmVnaW9ucyBmbGFnIGluIFNldHRpbmdzIGFuZCBzd2l0Y2hlZCB0byB1c2luZyB0aGUg
bmV3IGZsYWcgSSBoYXZlIGFkZGVkIGluIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuCisKKyAgICAg
ICAgVGVzdHM6IE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXJlIGlzIG5vIGZ1bmN0aW9uYWwgY2hh
bmdlLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3
IF9wcmVmZXJlbmNlc0NoYW5nZWQ6XSk6CisKIDIwMTItMTEtMjcgIE1pY2hhZWwgU2Fib2ZmICA8
bXNhYm9mZkBhcHBsZS5jb20+CiAKICAgICAgICAgVGV4dEl0ZXJhdG9yIHVubmVjZXNzYXJpbHkg
Y29udmVydHMgOCBiaXQgc3RyaW5ncyB0byAxNiBiaXRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlZpZXcubW0KaW5kZXggNzJhNWM4MS4uY2U5NTBiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbQpAQCAtMTYzLDYgKzE2Myw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNl
UmVxdWVzdC5oPgogI2ltcG9ydCA8V2ViQ29yZS9SdW5Mb29wLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgorI2ltcG9ydCA8V2ViQ29yZS9SdW50aW1lRW5h
YmxlZEZlYXR1cmVzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NjaGVtZVJlZ2lzdHJ5Lmg+CiAjaW1w
b3J0IDxXZWJDb3JlL1NjcmlwdENvbnRyb2xsZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2NyaXB0
VmFsdWUuaD4KQEAgLTE1MzgsNyArMTUzOSw3IEBAIHN0YXRpYyBib29sIG5lZWRzU2VsZlJldGFp
bldoaWxlTG9hZGluZ1F1aXJrKCkKICNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCiAgICAgc2V0dGlu
Z3MtPnNldENTU0N1c3RvbUZpbHRlckVuYWJsZWQoW3ByZWZlcmVuY2VzIGNzc0N1c3RvbUZpbHRl
ckVuYWJsZWRdKTsKICNlbmRpZgotICAgIHNldHRpbmdzLT5zZXRDU1NSZWdpb25zRW5hYmxlZChb
cHJlZmVyZW5jZXMgY3NzUmVnaW9uc0VuYWJsZWRdKTsKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzZXRDU1NSZWdpb25zRW5hYmxlZChbcHJlZmVyZW5jZXMgY3NzUmVnaW9uc0VuYWJsZWRd
KTsKICAgICBzZXR0aW5ncy0+c2V0Q1NTR3JpZExheW91dEVuYWJsZWQoW3ByZWZlcmVuY2VzIGNz
c0dyaWRMYXlvdXRFbmFibGVkXSk7CiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIHNl
dHRpbmdzLT5zZXRGdWxsU2NyZWVuRW5hYmxlZChbcHJlZmVyZW5jZXMgZnVsbFNjcmVlbkVuYWJs
ZWRdKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3BwCmluZGV4IDc0ZDg1MjQuLjI1
OWRiMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcApAQCAtNDEsNiArNDEs
NyBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlQ2FjaGUuaCIKICNpbmNsdWRl
ICJQbHVnaW5EYXRhYmFzZS5oIgorI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIK
ICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgPFFEaXI+CiAjaW5jbHVkZSA8UUZpbGVJ
bmZvPgpAQCAtMTY3LDcgKzE2OCw3IEBAIHZvaWQgUVdlYlNldHRpbmdzUHJpdmF0ZTo6YXBwbHko
KQogCiAgICAgICAgIHZhbHVlID0gYXR0cmlidXRlcy52YWx1ZShRV2ViU2V0dGluZ3M6OkNTU1Jl
Z2lvbnNFbmFibGVkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xvYmFsLT5h
dHRyaWJ1dGVzLnZhbHVlKFFXZWJTZXR0aW5nczo6Q1NTUmVnaW9uc0VuYWJsZWQpKTsKLSAgICAg
ICAgc2V0dGluZ3MtPnNldENTU1JlZ2lvbnNFbmFibGVkKHZhbHVlKTsKKyAgICAgICAgV2ViQ29y
ZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0Q1NTUmVnaW9uc0VuYWJsZWQodmFsdWUpOwog
ICAgICAgICB2YWx1ZSA9IGF0dHJpYnV0ZXMudmFsdWUoUVdlYlNldHRpbmdzOjpDU1NHcmlkTGF5
b3V0RW5hYmxlZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsb2JhbC0+YXR0
cmlidXRlcy52YWx1ZShRV2ViU2V0dGluZ3M6OkNTU0dyaWRMYXlvdXRFbmFibGVkKSk7CiAgICAg
ICAgIHNldHRpbmdzLT5zZXRDU1NHcmlkTGF5b3V0RW5hYmxlZCh2YWx1ZSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9n
CmluZGV4IDdlYzhmYmMuLjYxOWFmZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTItMTEtMjggIE1paGFpIE1hZXJlYW4gIDxtbWFlcmVhbkBhZG9iZS5jb20+CisKKyAgICAg
ICAgW0NTU1JlZ2lvbnNdIHdoZW4gV2ViS2l0IHVzZXMgVjgsIHRoZXJlIHNob3VsZCBiZSBhIHNp
bmdsZSB2YXJpYWJsZSB0byBzdG9yZSBpZiB0aGUgQ1NTIFJlZ2lvbnMgZmVhdHVyZSBpcyBlbmFi
bGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDEx
OTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1v
dmVkIHRoZSBDU1MgUmVnaW9ucyBmbGFnIGluIFNldHRpbmdzIGFuZCBzd2l0Y2hlZCB0byB1c2lu
ZyB0aGUgbmV3IGZsYWcgSSBoYXZlIGFkZGVkIGluIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuCisK
KyAgICAgICAgVGVzdHM6IE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXJlIGlzIG5vIGZ1bmN0aW9u
YWwgY2hhbmdlLgorCisgICAgICAgICogQXBpL3F3ZWJzZXR0aW5ncy5jcHA6CisgICAgICAgIChR
V2ViU2V0dGluZ3NQcml2YXRlOjphcHBseSk6CisKIDIwMTItMTEtMjggIEh1YW5nIERvbmdzdW5n
ICA8bHV4dGVsbGFAY29tcGFueTEwMC5uZXQ+CiAKICAgICAgICAgW1RleG1hcF0gUkVHUkVTU0lP
TihyMTM1NjIwKSBRdFRlc3RCcm93c2VyIGNyYXNoZXMgb24gR29vZ2xlLWdyYXZpdHkuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9D
aGFuZ2VMb2cKaW5kZXggNzRkMzUxYy4uY2Y2MDQ1MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxMi0xMS0yOCAgTWloYWkgTWFlcmVhbiAgPG1tYWVyZWFuQGFkb2JlLmNv
bT4KKworICAgICAgICBbQ1NTUmVnaW9uc10gd2hlbiBXZWJLaXQgdXNlcyBWOCwgdGhlcmUgc2hv
dWxkIGJlIGEgc2luZ2xlIHZhcmlhYmxlIHRvIHN0b3JlIGlmIHRoZSBDU1MgUmVnaW9ucyBmZWF0
dXJlIGlzIGVuYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwMTE5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFJlbW92ZWQgdGhlIENTUyBSZWdpb25zIGZsYWcgaW4gU2V0dGluZ3MgYW5kIHN3aXRj
aGVkIHRvIHVzaW5nIHRoZSBuZXcgZmxhZyBJIGhhdmUgYWRkZWQgaW4gUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy4KKworICAgICAgICBUZXN0czogTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlcmUgaXMg
bm8gZnVuY3Rpb25hbCBjaGFuZ2UuCisKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAg
KFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZCk6CisKIDIwMTItMTEtMjcgIEphbWVz
IFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIENvbnNvbGlkYXRl
IEZyYW1lTG9hZGVyOjpsb2FkKCkgaW50byBvbmUgZnVuY3Rpb24gdGFraW5nIGEgRnJhbWVMb2Fk
UmVxdWVzdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAppbmRleCAzOGQyZTUxLi4xYjQyNTkwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dp
bi9XZWJWaWV3LmNwcApAQCAtMTI5LDYgKzEyOSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNv
dXJjZUhhbmRsZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VIYW5kbGVDbGllbnQuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
UnVudGltZUVuYWJsZWRGZWF0dXJlcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2NoZW1lUmVnaXN0
cnkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NjcmlwdFZhbHVlLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9TY3JvbGxiYXIuaD4KQEAgLTQ2NzEsNyArNDY3Miw3IEBAIEhSRVNVTFQgV2ViVmlldzo6bm90
aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKElXZWJOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikKICAg
ICBociA9IHByZWZlcmVuY2VzLT5pc0NTU1JlZ2lvbnNFbmFibGVkKCZlbmFibGVkKTsKICAgICBp
ZiAoRkFJTEVEKGhyKSkKICAgICAgICAgcmV0dXJuIGhyOwotICAgIHNldHRpbmdzLT5zZXRDU1NS
ZWdpb25zRW5hYmxlZCghIWVuYWJsZWQpOworICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNl
dENTU1JlZ2lvbnNFbmFibGVkKCEhZW5hYmxlZCk7CiAKICAgICBociA9IHByZWZlcmVuY2VzLT5w
cml2YXRlQnJvd3NpbmdFbmFibGVkKCZlbmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhyKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwppbmRleCA2NjljNzQ0Li4xZmNkZGQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAK
KzIwMTItMTEtMjggIE1paGFpIE1hZXJlYW4gIDxtbWFlcmVhbkBhZG9iZS5jb20+CisKKyAgICAg
ICAgW0NTU1JlZ2lvbnNdIHdoZW4gV2ViS2l0IHVzZXMgVjgsIHRoZXJlIHNob3VsZCBiZSBhIHNp
bmdsZSB2YXJpYWJsZSB0byBzdG9yZSBpZiB0aGUgQ1NTIFJlZ2lvbnMgZmVhdHVyZSBpcyBlbmFi
bGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDEx
OTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1v
dmVkIHRoZSBDU1MgUmVnaW9ucyBmbGFnIGluIFNldHRpbmdzIGFuZCBzd2l0Y2hlZCB0byB1c2lu
ZyB0aGUgbmV3IGZsYWcgSSBoYXZlIGFkZGVkIGluIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuCisK
KyAgICAgICAgVGVzdHM6IE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXJlIGlzIG5vIGZ1bmN0aW9u
YWwgY2hhbmdlLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkluamVjdGVkQnVuZGxlOjpvdmVycmlkZUJv
b2xQcmVmZXJlbmNlRm9yVGVzdFJ1bm5lcik6CisgICAgICAgIChXZWJLaXQ6OkluamVjdGVkQnVu
ZGxlOjpzZXRDU1NSZWdpb25zRW5hYmxlZCk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaDoKKyAgICAgICAgKElu
amVjdGVkQnVuZGxlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKToKKwogMjAxMi0x
MS0yOCAgTWlraGFpbCBQb3pkbnlha292ICA8bWlraGFpbC5wb3pkbnlha292QGludGVsLmNvbT4K
IAogICAgICAgICBbRUZMXVtXSzJdW0FDXSBObyBuZWVkIHRvIGV4cG9ydCBHTCBwcm9wZXJ0aWVz
IGZyb20gRXdrVmlld0ltcGwgY2xhc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKaW5kZXggMWIyYzgz
MC4uMWI0ZTg1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKQEAgLTcxLDcgKzcxLDcgQEAKICNp
bmNsdWRlIDx3dGYvT3duQXJyYXlQdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093bkFycmF5UHRy
Lmg+CiAKLSNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkgfHwg
RU5BQkxFKENTU19SRUdJT05TKQogI2luY2x1ZGUgPFdlYkNvcmUvUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5oPgogI2VuZGlmCiAKQEAgLTE4MiwxMSArMTgyLDE1IEBAIHZvaWQgSW5qZWN0ZWRCdW5k
bGU6Om92ZXJyaWRlQm9vbFByZWZlcmVuY2VGb3JUZXN0UnVubmVyKFdlYlBhZ2VHcm91cFByb3h5
KiBwYWdlCiAgICAgICAgIH0KICAgICB9CiAKKyNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCisgICAg
aWYgKHByZWZlcmVuY2UgPT0gIldlYktpdENTU1JlZ2lvbnNFbmFibGVkIikKKyAgICAgICAgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2V0Q1NTUmVnaW9uc0VuYWJsZWQoZW5hYmxlZCk7CisjZW5k
aWYKKwogICAgIC8vIE1hcCB0aGUgbmFtZXMgdXNlZCBpbiBMYXlvdXRUZXN0cyB3aXRoIHRoZSBu
YW1lcyB1c2VkIGluIFdlYkNvcmU6OlNldHRpbmdzIGFuZCBXZWJQcmVmZXJlbmNlc1N0b3JlLgog
I2RlZmluZSBGT1JfRUFDSF9PVkVSUklERV9CT09MX1BSRUZFUkVOQ0UobWFjcm8pIFwKICAgICBt
YWNybyhXZWJLaXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCwgQWNjZWxlcmF0ZWRDb21w
b3NpdGluZ0VuYWJsZWQsIGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKSBcCiAgICAgbWFj
cm8oV2ViS2l0Q1NTQ3VzdG9tRmlsdGVyRW5hYmxlZCwgQ1NTQ3VzdG9tRmlsdGVyRW5hYmxlZCwg
Y3NzQ3VzdG9tRmlsdGVyRW5hYmxlZCkgXAotICAgIG1hY3JvKFdlYktpdENTU1JlZ2lvbnNFbmFi
bGVkLCBDU1NSZWdpb25zRW5hYmxlZCwgY3NzUmVnaW9uc0VuYWJsZWQpIFwKICAgICBtYWNybyhX
ZWJLaXRDU1NHcmlkTGF5b3V0RW5hYmxlZCwgQ1NTR3JpZExheW91dEVuYWJsZWQsIGNzc0dyaWRM
YXlvdXRFbmFibGVkKSBcCiAgICAgbWFjcm8oV2ViS2l0SmF2YUVuYWJsZWQsIEphdmFFbmFibGVk
LCBqYXZhRW5hYmxlZCkgXAogICAgIG1hY3JvKFdlYktpdEphdmFTY3JpcHRFbmFibGVkLCBTY3Jp
cHRFbmFibGVkLCBqYXZhU2NyaXB0RW5hYmxlZCkgXApAQCAtNjQ2LDYgKzY1MCwxNSBAQCB2b2lk
IEluamVjdGVkQnVuZGxlOjpzZXRTaGFkb3dET01FbmFibGVkKGJvb2wgZW5hYmxlZCkKICNlbmRp
ZgogfQogCit2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRDU1NSZWdpb25zRW5hYmxlZChib29sIGVu
YWJsZWQpCit7CisjaWYgRU5BQkxFKENTU19SRUdJT05TKQorICAgIFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNldENTU1JlZ2lvbnNFbmFibGVkKGVuYWJsZWQpOworI2Vsc2UKKyAgICBVTlVTRURf
UEFSQU0oZW5hYmxlZCk7CisjZW5kaWYKK30KKwogdm9pZCBJbmplY3RlZEJ1bmRsZTo6ZGlzcGF0
Y2hQZW5kaW5nTG9hZFJlcXVlc3RzKCkKIHsKICAgICByZXNvdXJjZUxvYWRTY2hlZHVsZXIoKS0+
c2VydmVQZW5kaW5nUmVxdWVzdHMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAppbmRleCBmZDcxNmQzLi44
YzA2NWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCkBAIC0xODAsNiArMTgwLDcgQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0VGFiS2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRzKFdlYlBhZ2UqLCBib29sIGVu
YWJsZWQpOwogICAgIHZvaWQgc2V0U2VyaWFsTG9hZGluZ0VuYWJsZWQoYm9vbCk7CiAgICAgdm9p
ZCBzZXRTaGFkb3dET01FbmFibGVkKGJvb2wpOworICAgIHZvaWQgc2V0Q1NTUmVnaW9uc0VuYWJs
ZWQoYm9vbCk7CiAgICAgdm9pZCBkaXNwYXRjaFBlbmRpbmdMb2FkUmVxdWVzdHMoKTsKIAogcHJp
dmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApp
bmRleCA4M2MwYWU3Li5iZTRmZDE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0xMTQsNiArMTE0LDcgQEAKICNpbmNsdWRlIDxXZWJDb3Jl
L1Jlc291cmNlUmVxdWVzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvUnVuTG9vcC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2NoZW1lUmVnaXN0cnkuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1NjcmlwdFZhbHVlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZXJp
YWxpemVkU2NyaXB0VmFsdWUuaD4KQEAgLTIyMzYsNyArMjIzNyw3IEBAIHZvaWQgV2ViUGFnZTo6
dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAgICAg
c2V0dGluZ3MtPnNldFNob3dEZWJ1Z0JvcmRlcnMoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdl
YlByZWZlcmVuY2VzS2V5Ojpjb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlS2V5KCkpKTsKICAgICBz
ZXR0aW5ncy0+c2V0U2hvd1JlcGFpbnRDb3VudGVyKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShX
ZWJQcmVmZXJlbmNlc0tleTo6Y29tcG9zaXRpbmdSZXBhaW50Q291bnRlcnNWaXNpYmxlS2V5KCkp
KTsKICAgICBzZXR0aW5ncy0+c2V0Q1NTQ3VzdG9tRmlsdGVyRW5hYmxlZChzdG9yZS5nZXRCb29s
VmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmNzc0N1c3RvbUZpbHRlckVuYWJsZWRLZXko
KSkpOwotICAgIHNldHRpbmdzLT5zZXRDU1NSZWdpb25zRW5hYmxlZChzdG9yZS5nZXRCb29sVmFs
dWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmNzc1JlZ2lvbnNFbmFibGVkS2V5KCkpKTsKKyAg
ICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRDU1NSZWdpb25zRW5hYmxlZChzdG9yZS5nZXRC
b29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmNzc1JlZ2lvbnNFbmFibGVkS2V5KCkp
KTsKICAgICBzZXR0aW5ncy0+c2V0Q1NTR3JpZExheW91dEVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZh
bHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpjc3NHcmlkTGF5b3V0RW5hYmxlZEtleSgpKSk7
CiAgICAgc2V0dGluZ3MtPnNldFJlZ2lvbkJhc2VkQ29sdW1uc0VuYWJsZWQoc3RvcmUuZ2V0Qm9v
bFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpyZWdpb25CYXNlZENvbHVtbnNFbmFibGVk
S2V5KCkpKTsKICAgICBzZXR0aW5ncy0+c2V0V2ViR0xFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1
ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6d2ViR0xFbmFibGVkS2V5KCkpKTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjOTQ5Y2RjLi4yNDBi
NGYxIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTItMTEtMjggIE1paGFpIE1hZXJlYW4gIDxtbWFlcmVhbkBhZG9i
ZS5jb20+CisKKyAgICAgICAgW0NTU1JlZ2lvbnNdIHdoZW4gV2ViS2l0IHVzZXMgVjgsIHRoZXJl
IHNob3VsZCBiZSBhIHNpbmdsZSB2YXJpYWJsZSB0byBzdG9yZSBpZiB0aGUgQ1NTIFJlZ2lvbnMg
ZmVhdHVyZSBpcyBlbmFibGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDExOTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBSZW1vdmVkIHRoZSBDU1MgUmVnaW9ucyBmbGFnIGluIFNldHRpbmdzIGFuZCBz
d2l0Y2hlZCB0byB1c2luZyB0aGUgbmV3IGZsYWcgSSBoYXZlIGFkZGVkIGluIFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXMuCisKKyAgICAgICAgVGVzdHM6IE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXJl
IGlzIG5vIGZ1bmN0aW9uYWwgY2hhbmdlLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vV2ViUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OmFwcGx5
VG8pOgorCiAyMDEyLTExLTI4ICBUaGlhZ28gTWFyY29zIFAuIFNhbnRvcyAgPHRoaWFnby5zYW50
b3NAaW50ZWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIFVzZSBteSBwZXJzb25hbCBlbWFp
bCBhcyBidWd6aWxsYSBlbWFpbC4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1dlYlByZWZlcmVuY2VzLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L1dlYlByZWZlcmVuY2VzLmNwcAppbmRleCBlMTM5MzlkLi5mNjRhN2IxIDEwMDY0NAotLS0gYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJQcmVmZXJlbmNlcy5jcHAKKysrIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUHJlZmVyZW5jZXMuY3BwCkBAIC0zMCw2ICsz
MCw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlcy5o
IgorI2luY2x1ZGUgIldlYlJ1bnRpbWVGZWF0dXJlcy5oIgogCiAjaW5jbHVkZSAiV2ViVmlldy5o
IgogCkBAIC0yMDAsNyArMjAxLDcgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6YXBwbHlUbyhXZWJW
aWV3KiB3ZWJWaWV3KQogICAgIHNldHRpbmdzLT5zZXREZWZhdWx0VGV4dEVuY29kaW5nTmFtZShk
ZWZhdWx0VGV4dEVuY29kaW5nTmFtZSk7CiAgICAgc2V0dGluZ3MtPnNldERldmVsb3BlckV4dHJh
c0VuYWJsZWQoZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCk7CiAgICAgc2V0dGluZ3MtPnNldEV4cGVy
aW1lbnRhbFdlYkdMRW5hYmxlZChleHBlcmltZW50YWxXZWJHTEVuYWJsZWQpOwotICAgIHNldHRp
bmdzLT5zZXRFeHBlcmltZW50YWxDU1NSZWdpb25zRW5hYmxlZChleHBlcmltZW50YWxDU1NSZWdp
b25zRW5hYmxlZCk7CisgICAgV2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVDU1NSZWdpb25zKGV4
cGVyaW1lbnRhbENTU1JlZ2lvbnNFbmFibGVkKTsKICAgICBzZXR0aW5ncy0+c2V0RXhwZXJpbWVu
dGFsQ1NTR3JpZExheW91dEVuYWJsZWQoZXhwZXJpbWVudGFsQ1NTR3JpZExheW91dEVuYWJsZWQp
OwogICAgIHNldHRpbmdzLT5zZXRFeHBlcmltZW50YWxDU1NDdXN0b21GaWx0ZXJFbmFibGVkKGNz
c0N1c3RvbUZpbHRlckVuYWJsZWQpOwogICAgIHNldHRpbmdzLT5zZXRKYXZhRW5hYmxlZChqYXZh
RW5hYmxlZCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>