<?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>35210</bug_id>
          
          <creation_ts>2010-02-21 02:21:57 -0800</creation_ts>
          <short_desc>[Gtk] implements ChromeClient::requestGeolocationPermissionForFrame</short_desc>
          <delta_ts>2010-03-05 13:16:07 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>35803</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="arno.">a.renevier</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>gustavo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>192254</commentid>
    <comment_count>0</comment_count>
    <who name="arno.">a.renevier</who>
    <bug_when>2010-02-21 02:21:57 -0800</bug_when>
    <thetext>Hi,
in order for embedders to use gelocation, ChromeClient::requestGeolocationPermissionForFrame needs to be implemented. There is also a need for embedder to tell a frame its geolocation object is allowed. Therefore, after being notified it needs to set permission, embedders may reply in asynchronously.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192257</commentid>
    <comment_count>1</comment_count>
      <attachid>49148</attachid>
    <who name="arno.">a.renevier</who>
    <bug_when>2010-02-21 04:38:09 -0800</bug_when>
    <thetext>Created attachment 49148
patch v1

Here is a first attempt. When ChromeClient::requestGeolocationPermissionForFrame is called, a signal named &quot;geolocation-permission-requested&quot; is emited. Then, embedders can call a method named webkit_web_frame_allow_geolocation to allow or deny geolocation for frame.

When I&apos;ll have feedback, I can work more on this patch if needed. Also, I think I&apos;ll need to modify DumpRenderTree to enable tests (maybe, I&apos;ll need help on that)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192258</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-02-21 04:44:34 -0800</bug_when>
    <thetext>Attachment 49148 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKit/gtk/webkit/webkitwebframe.h:179:  Extra space before ( in function call  [whitespace/parens] [4]
WebKit/gtk/webkit/webkitwebview.cpp:2176:  Use 0 instead of NULL.  [readability/null] [5]
Total errors found: 2 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192492</commentid>
    <comment_count>3</comment_count>
      <attachid>49148</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-02-22 09:44:08 -0800</bug_when>
    <thetext>Comment on attachment 49148
patch v1

Thanks for the patch! I think the idea of a signal is a good one, but I think the frame_allow_geolocation function is not a very good interface. I think the signal should probably return a boolean to set if it is handled or not, and we could use a policy object, similar to the WebPolicyDecision. So, say, GeolocationPolicyDecision. You would emit the signal, and you would have a default implementation that denies the policy decision. I think that will allow us flexibility to further improve the API as the web standards move forward. I&apos;ll CC xan here, too, so he can comment. You also need to address the style issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193091</commentid>
    <comment_count>4</comment_count>
      <attachid>49320</attachid>
    <who name="arno.">a.renevier</who>
    <bug_when>2010-02-23 13:16:51 -0800</bug_when>
    <thetext>Created attachment 49320
patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193093</commentid>
    <comment_count>5</comment_count>
    <who name="arno.">a.renevier</who>
    <bug_when>2010-02-23 13:21:51 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Created an attachment (id=49320) [details]
&gt; patch v2

This patch fixes issues raised in previous comment. I&apos;ve looked at WebPolicyDecision as an example to implement GeolocationPolicyDecision.
I&apos;ve also implemented cancelGeolocationPermissionRequestForFrame (as bug #34962 has landed today).

I still don&apos;t known how to modify DumpRenderTree to enable tests back.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193094</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-02-23 13:22:40 -0800</bug_when>
    <thetext>Attachment 49320 did not build on gtk:
Build output: http://webkit-commit-queue.appspot.com/results/303003</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193097</commentid>
    <comment_count>7</comment_count>
      <attachid>49321</attachid>
    <who name="arno.">a.renevier</who>
    <bug_when>2010-02-23 13:27:34 -0800</bug_when>
    <thetext>Created attachment 49321
patch v2.2

oops, I forgot to add the two new files</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193100</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-02-23 13:31:07 -0800</bug_when>
    <thetext>Attachment 49321 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKit/gtk/webkit/webkitgeolocationpolicydecision.h:47:  Extra space before ( in function call  [whitespace/parens] [4]
WebKit/gtk/webkit/webkitgeolocationpolicydecision.h:48:  Extra space before ( in function call  [whitespace/parens] [4]
WebKit/gtk/webkit/webkitgeolocationpolicydecision.h:49:  Extra space before ( in function call  [whitespace/parens] [4]
WebKit/gtk/webkit/webkitgeolocationpolicydecision.h:50:  Extra space before ( in function call  [whitespace/parens] [4]
WebKit/gtk/webkit/webkitgeolocationpolicydecision.h:54:  Extra space before ( in function call  [whitespace/parens] [4]
WebKit/gtk/webkit/webkitgeolocationpolicydecision.h:57:  Extra space before ( in function call  [whitespace/parens] [4]
WebKit/gtk/webkit/webkitgeolocationpolicydecision.cpp:26:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 7 in 12 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193140</commentid>
    <comment_count>9</comment_count>
      <attachid>49321</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-02-23 14:44:32 -0800</bug_when>
    <thetext>Comment on attachment 49321
patch v2.2

&gt; diff --git a/ChangeLog b/ChangeLog
&gt; index a263d76..129f77c 100644
&gt; --- a/ChangeLog
&gt; +++ b/ChangeLog
&gt; @@ -2,6 +2,15 @@
&gt;  
&gt;          Reviewed by NOBODY (OOPS!).
&gt;  
&gt; +        [Gtk] implements ChromeClient::requestGeolocationPermissionForFrame
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=35210
&gt; +
&gt; +        * GNUmakefile.am:
&gt; +
&gt; +2010-02-23  Arno Renevier  &lt;arno@renevier.net&gt;
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt;          [Gtk] testwebview does not work when called with absolute path
&gt;          https://bugs.webkit.org/show_bug.cgi?id=34940
&gt;  

This kind of changelog diffs always break our commit queue script, which is said. If you can rebase your patch on top of trunk while applying the suggested changes, I&apos;d be grateful.

&gt; +    if (!isHandled) {
&gt; +        // signal has not been handled, deny by default.
&gt; +        webkit_geolocation_policy_set_permission(policyDecision, FALSE);
&gt; +    }

I think the comment is needless, as what you&apos;re doing is pretty obvious. I&apos;d remove it, and the braces.

&gt; +void ChromeClient::cancelGeolocationPermissionRequestForFrame(WebCore::Frame* frame)
&gt; +{
&gt; +    WebKitWebFrame* webFrame = kit(frame);
&gt; +    WebKitWebView* webView = getViewFromFrame(webFrame);
&gt; +    g_signal_emit_by_name(webView, &quot;geolocation-permission-request-canceled&quot;, webFrame);

Hrmmm. This is interesting. How is this used? It seems like all ports currently have empty implementations for this. Is this required to remove permission from a page when you close the window, or what?

 586     gboolean isHandled = false;

Use FALSE here.

&gt; +/**
&gt; + * webkit_geolocation_policy_set_permission
&gt; + * @decision: a #WebKitGeolocationPolicyDecision
&gt; + *
&gt; + * Will send the allow or deny decision to the policy implementer.
&gt; + *
&gt; + * Since: 1.1.22
&gt; + */
&gt; +void webkit_geolocation_policy_set_permission(WebKitGeolocationPolicyDecision* decision, bool allowed)
&gt; +{
&gt; +    g_return_if_fail(WEBKIT_IS_GEOLOCATION_POLICY_DECISION(decision));
&gt; +
&gt; +    WebKitGeolocationPolicyDecisionPrivate* priv = decision-&gt;priv;
&gt; +    priv-&gt;geolocation-&gt;setIsAllowed(allowed);
&gt; +}

Great work, this is indeed what I meant =). I think we should be closer to WebPolicyDecision on how you set the decision as well, though. That means I&apos;d prefer to see webkit_geolocation_policy_accept(), and webkit_geolocation_policy_deny() functions instead of a single function that takes a boolean. In the future we may have more finer grained policies, for instance, and having those would be more flexible.

Thanks for updating the documentation control files, too! I&apos;ll poke Xan, and see if I can get him to take a quick look at the proposed API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193146</commentid>
    <comment_count>10</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-02-23 15:03:55 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; Created an attachment (id=49320) [details] [details]
&gt; &gt; patch v2
&gt; 
&gt; This patch fixes issues raised in previous comment. I&apos;ve looked at
&gt; WebPolicyDecision as an example to implement GeolocationPolicyDecision.
&gt; I&apos;ve also implemented cancelGeolocationPermissionRequestForFrame (as bug #34962
&gt; has landed today).
&gt; 
&gt; I still don&apos;t known how to modify DumpRenderTree to enable tests back.

About this, there is a file in which all skipped tests are listed, which is used by the run-webkit-tests script to skip them while running the tests: LayoutTests/platform/gtk/Skipped

So you just need to remove the relevant tests from there =).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193258</commentid>
    <comment_count>11</comment_count>
      <attachid>49361</attachid>
    <who name="arno.">a.renevier</who>
    <bug_when>2010-02-23 23:16:58 -0800</bug_when>
    <thetext>Created attachment 49361
patch v2.3

(In reply to comment #9)

&gt; This kind of changelog diffs always break our commit queue script, which is
&gt; said. If you can rebase your patch on top of trunk while applying the suggested
&gt; changes, I&apos;d be grateful.

ok, fixed in updated patch


&gt; I think the comment is needless, as what you&apos;re doing is pretty obvious. I&apos;d
&gt; remove it, and the braces.

ok, fixed in updated patch

&gt; 
&gt; &gt; +void ChromeClient::cancelGeolocationPermissionRequestForFrame(WebCore::Frame* frame)
&gt; &gt; +{
&gt; &gt; +    WebKitWebFrame* webFrame = kit(frame);
&gt; &gt; +    WebKitWebView* webView = getViewFromFrame(webFrame);
&gt; &gt; +    g_signal_emit_by_name(webView, &quot;geolocation-permission-request-canceled&quot;, webFrame);
&gt; 
&gt; Hrmmm. This is interesting. How is this used? It seems like all ports currently
&gt; have empty implementations for this. Is this required to remove permission from
&gt; a page when you close the window, or what?

It&apos;s called when permission has been asked, has not been set, but is not needed anymore. Then for example, embedder can decide to not display the question anymore. Currently, it&apos;s only called when the frame owning a geolocation is destroyed.

&gt; 
&gt;  586     gboolean isHandled = false;
&gt; 
&gt; Use FALSE here.

ok, fixed in updated patch

&gt; 
&gt; &gt; +/**
&gt; &gt; + * webkit_geolocation_policy_set_permission
&gt; &gt; + * @decision: a #WebKitGeolocationPolicyDecision
&gt; &gt; + *
&gt; &gt; + * Will send the allow or deny decision to the policy implementer.
&gt; &gt; + *
&gt; &gt; + * Since: 1.1.22
&gt; &gt; + */
&gt; &gt; +void webkit_geolocation_policy_set_permission(WebKitGeolocationPolicyDecision* decision, bool allowed)
&gt; &gt; +{
&gt; &gt; +    g_return_if_fail(WEBKIT_IS_GEOLOCATION_POLICY_DECISION(decision));
&gt; &gt; +
&gt; &gt; +    WebKitGeolocationPolicyDecisionPrivate* priv = decision-&gt;priv;
&gt; &gt; +    priv-&gt;geolocation-&gt;setIsAllowed(allowed);
&gt; &gt; +}
&gt; 
&gt; Great work, this is indeed what I meant =). I think we should be closer to
&gt; WebPolicyDecision on how you set the decision as well, though. That means I&apos;d
&gt; prefer to see webkit_geolocation_policy_accept(), and
&gt; webkit_geolocation_policy_deny() functions instead of a single function that
&gt; takes a boolean. In the future we may have more finer grained policies, for
&gt; instance, and having those would be more flexible.

great idea! fixed in updated patch.


(In reply to comment #10)
&gt; &gt; I still don&apos;t known how to modify DumpRenderTree to enable tests back.
&gt; 
&gt; About this, there is a file in which all skipped tests are listed, which is
&gt; used by the run-webkit-tests script to skip them while running the tests:
&gt; LayoutTests/platform/gtk/Skipped
&gt; 
&gt; So you just need to remove the relevant tests from there =).

Unfortunately, some tests still fail. I suppose (unsure) that&apos;s because our implementation denies by default. A few tests pass. I don&apos;t known if this is by only chance. I uncommented the passing tests in updated patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193259</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-02-23 23:18:30 -0800</bug_when>
    <thetext>Attachment 49361 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKit/gtk/webkit/webkitgeolocationpolicydecision.h:47:  Extra space before ( in function call  [whitespace/parens] [4]
WebKit/gtk/webkit/webkitgeolocationpolicydecision.h:48:  Extra space before ( in function call  [whitespace/parens] [4]
WebKit/gtk/webkit/webkitgeolocationpolicydecision.h:49:  Extra space before ( in function call  [whitespace/parens] [4]
WebKit/gtk/webkit/webkitgeolocationpolicydecision.h:50:  Extra space before ( in function call  [whitespace/parens] [4]
WebKit/gtk/webkit/webkitgeolocationpolicydecision.h:54:  Extra space before ( in function call  [whitespace/parens] [4]
WebKit/gtk/webkit/webkitgeolocationpolicydecision.h:57:  Extra space before ( in function call  [whitespace/parens] [4]
WebKit/gtk/webkit/webkitgeolocationpolicydecision.h:60:  Extra space before ( in function call  [whitespace/parens] [4]
WebKit/gtk/webkit/webkitgeolocationpolicydecision.cpp:26:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 8 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193314</commentid>
    <comment_count>13</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-02-24 05:23:20 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; &gt; So you just need to remove the relevant tests from there =).
&gt; 
&gt; Unfortunately, some tests still fail. I suppose (unsure) that&apos;s because our
&gt; implementation denies by default. A few tests pass. I don&apos;t known if this is by
&gt; only chance. I uncommented the passing tests in updated patch.

I think it&apos;s because our DumpRenderTree needs to be brought up to date with the GeoLocation stuff. If you look at these files, and search for Geo, you&apos;ll see what needs to be done:

WebKitTools/DumpRenderTree/gtk/LayoutTestControllerGtk.cpp
WebKitTools/DumpRenderTree/LayoutTestController.cpp

I think we should try to get those implemented for this patch, so we can test the permission giving, and denying.

One more comment about the API. I agree to have the &apos;cancelled&apos; signal, but can we name it geolocation-policy-decision-cancelled, so it&apos;s consistent with the other signal?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193469</commentid>
    <comment_count>14</comment_count>
      <attachid>49423</attachid>
    <who name="arno.">a.renevier</who>
    <bug_when>2010-02-24 13:05:46 -0800</bug_when>
    <thetext>Created attachment 49423
patch v2.4

(In reply to comment #13)
&gt; (In reply to comment #11)
&gt; &gt; &gt; So you just need to remove the relevant tests from there =).
&gt; &gt; 
&gt; &gt; Unfortunately, some tests still fail. I suppose (unsure) that&apos;s because our
&gt; &gt; implementation denies by default. A few tests pass. I don&apos;t known if this is by
&gt; &gt; only chance. I uncommented the passing tests in updated patch.
&gt; 
&gt; I think it&apos;s because our DumpRenderTree needs to be brought up to date with the
&gt; GeoLocation stuff. If you look at these files, and search for Geo, you&apos;ll see
&gt; what needs to be done:
&gt; 
&gt; WebKitTools/DumpRenderTree/gtk/LayoutTestControllerGtk.cpp
&gt; WebKitTools/DumpRenderTree/LayoutTestController.cpp
&gt; 
&gt; I think we should try to get those implemented for this patch, so we can test
&gt; the permission giving, and denying.

Actually, the methods to implement in LayoutTestControllerGtk.cpp are setMockGeolocationPosition and setMockGeolocationError. But webkit gtk does not have an api that allow embedder to set location an error messages. I suppose we first need to implement client-based Geolocation support, so we&apos;ll be able to compile with ENABLE_CLIENT_BASED_GEOLOCATION, and the application will have the ability to set position and errors. But currently, I think we can&apos;t implement those methods. In my patch, I&apos;ve still implemented the part that allows or denies request according to the value gLayoutTestController-&gt;geolocationPermission has been set.

&gt; One more comment about the API. I agree to have the &apos;cancelled&apos; signal, but can
&gt; we name it geolocation-policy-decision-cancelled, so it&apos;s consistent with the
&gt; other signal?

ok, fixed in updated patch.

My updated patch also include webkit/webkitgeolocationpolicydecision.h from webkit.h (it was not done in previous patch)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193474</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-02-24 13:11:49 -0800</bug_when>
    <thetext>Attachment 49423 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKit/gtk/webkit/webkitgeolocationpolicydecision.h:47:  Extra space before ( in function call  [whitespace/parens] [4]
WebKit/gtk/webkit/webkitgeolocationpolicydecision.h:48:  Extra space before ( in function call  [whitespace/parens] [4]
WebKit/gtk/webkit/webkitgeolocationpolicydecision.h:49:  Extra space before ( in function call  [whitespace/parens] [4]
WebKit/gtk/webkit/webkitgeolocationpolicydecision.h:50:  Extra space before ( in function call  [whitespace/parens] [4]
WebKit/gtk/webkit/webkitgeolocationpolicydecision.h:54:  Extra space before ( in function call  [whitespace/parens] [4]
WebKit/gtk/webkit/webkitgeolocationpolicydecision.h:57:  Extra space before ( in function call  [whitespace/parens] [4]
WebKit/gtk/webkit/webkitgeolocationpolicydecision.h:60:  Extra space before ( in function call  [whitespace/parens] [4]
WebKit/gtk/webkit/webkitgeolocationpolicydecision.cpp:26:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 8 in 17 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194460</commentid>
    <comment_count>16</comment_count>
      <attachid>49675</attachid>
    <who name="arno.">a.renevier</who>
    <bug_when>2010-02-26 22:37:54 -0800</bug_when>
    <thetext>Created attachment 49675
patch v2.5

updated patch:
include include xml/webkitgeolocationpolicydecision.xml in ./WebKit/gtk/docs/webkitgtk-docs.sgml</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194466</commentid>
    <comment_count>17</comment_count>
      <attachid>49676</attachid>
    <who name="arno.">a.renevier</who>
    <bug_when>2010-02-26 23:18:22 -0800</bug_when>
    <thetext>Created attachment 49676
patch v2.6

updated patch: patch did not apply to trunk anymore since changeset 55316.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194733</commentid>
    <comment_count>18</comment_count>
      <attachid>49676</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-03-01 10:48:46 -0800</bug_when>
    <thetext>Comment on attachment 49676
patch v2.6

 20 #include &quot;config.h&quot;
 21 
 22 #include &quot;webkitgeolocationpolicydecision.h&quot;
 23 
 24 #include &quot;webkitprivate.h&quot;
 25 
 26 #include &quot;Geolocation.h&quot;

These spaces are wrong. You should have this, instead:

 #include &quot;config.h&quot;
 #include &quot;webkitgeolocationpolicydecision.h&quot;

 #include &quot;Geolocation.h&quot;
 #include &quot;webkitprivate.h&quot;

 65 
 66 
 67     priv-&gt;frame = frame;

Too many empty lines here.

 78  * Since: 1.1.22

These should be 1.1.23, now =)

Except for these, I think this should be good to go.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194740</commentid>
    <comment_count>19</comment_count>
      <attachid>49676</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-03-01 11:16:57 -0800</bug_when>
    <thetext>Comment on attachment 49676
patch v2.6

&gt;+/**
&gt;+ * SECTION:webkitgeolocationpolicydecision
&gt;+ * @short_description: Liaison between WebKit and the application regarding asynchronous geolocation policy decisions
&gt;+ *
&gt;+ * #WebKitGeolocationPolicyDecision objects are given to the application when
&gt;+ * geolocation-policy-decision-requested signal is emitted. The application
&gt;+ * uses it to tell the engine whether it wants to allow or deny geolocation for

missing &apos;a&apos;

&gt;+ * given frame.
&gt;+ */
&gt;+

&gt;+typedef struct _WebKitGeolocationPolicyDecisionPrivate WebKitGeolocationPolicyDecisionPrivate;
&gt;+struct _WebKitGeolocationPolicyDecision {
&gt;+    GObject parent_instance;
&gt;+
&gt;+    /*&lt; private &gt;*/
&gt;+    WebKitGeolocationPolicyDecisionPrivate* priv;
&gt;+};
&gt;+
&gt;+struct _WebKitGeolocationPolicyDecisionClass {
&gt;+    GObjectClass parent_class;
&gt;+
&gt;+    /* Padding for future expansion */
&gt;+    void (*_webkit_reserved0) (void);
&gt;+    void (*_webkit_reserved1) (void);
&gt;+    void (*_webkit_reserved2) (void);
&gt;+    void (*_webkit_reserved3) (void);
&gt;+};

Should probably use camelCase for struct members.

Looks fine to me otherwise, r=1/2 me :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194771</commentid>
    <comment_count>20</comment_count>
      <attachid>49738</attachid>
    <who name="arno.">a.renevier</who>
    <bug_when>2010-03-01 12:41:50 -0800</bug_when>
    <thetext>Created attachment 49738
patch v2.7

updated patch:
fixes what&apos;s been pointed in the last two comments except one thing I did not understood:

&gt; &gt;+typedef struct _WebKitGeolocationPolicyDecisionPrivate WebKitGeolocationPolicyDecisionPrivate;
&gt; &gt;+struct _WebKitGeolocationPolicyDecision {
&gt; &gt;+    GObject parent_instance;
&gt; &gt;+
&gt; &gt;+    /*&lt; private &gt;*/
&gt; &gt;+    WebKitGeolocationPolicyDecisionPrivate* priv;
&gt; &gt;+};
&gt; &gt;+
&gt; &gt;+struct _WebKitGeolocationPolicyDecisionClass {
&gt; &gt;+    GObjectClass parent_class;
&gt; &gt;+
&gt; &gt;+    /* Padding for future expansion */
&gt; &gt;+    void (*_webkit_reserved0) (void);
&gt; &gt;+    void (*_webkit_reserved1) (void);
&gt; &gt;+    void (*_webkit_reserved2) (void);
&gt; &gt;+    void (*_webkit_reserved3) (void);
&gt; &gt;+};
&gt; 
&gt; Should probably use camelCase for struct members.
&gt; 
&gt; Looks fine to me otherwise, r=1/2 me :)


are you talking about webkit_reservedX and parent_class ? because in every other files in WebKit/gtk/webkit, case of those members is the same as the one in my patch. So, should that be different in mine ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195099</commentid>
    <comment_count>21</comment_count>
      <attachid>49738</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-03-02 10:33:18 -0800</bug_when>
    <thetext>Comment on attachment 49738
patch v2.7

Thanks for the patch! I think the names are better kept as they are for consistency with the other headers, as you say.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195104</commentid>
    <comment_count>22</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-03-02 10:39:25 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; (From update of attachment 49738 [details])
&gt; Thanks for the patch! I think the names are better kept as they are for
&gt; consistency with the other headers, as you say.

Well, in general I think it might make sense to keep breaking the style rules within one file to be consistent, but I don&apos;t really think it makes that much sense to keep adding new files that break them once we have decided we want to follow them as closely as possible? But maybe we haven&apos;t really done so... I think we should :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195110</commentid>
    <comment_count>23</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-03-02 10:48:39 -0800</bug_when>
    <thetext>(In reply to comment #22)
&gt; Well, in general I think it might make sense to keep breaking the style rules
&gt; within one file to be consistent, but I don&apos;t really think it makes that much
&gt; sense to keep adding new files that break them once we have decided we want to
&gt; follow them as closely as possible? But maybe we haven&apos;t really done so... I
&gt; think we should :)

I don&apos;t think we did, but I think we should, indeed, so let&apos;s do it =D. In this specific case, though, we&apos;re talking about a public header, and that&apos;s the one case in which I think being consistent with the GTK+ style is more important.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195329</commentid>
    <comment_count>24</comment_count>
      <attachid>49738</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-02 17:27:31 -0800</bug_when>
    <thetext>Comment on attachment 49738
patch v2.7

Clearing flags on attachment: 49738

Committed r55444: &lt;http://trac.webkit.org/changeset/55444&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195330</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-02 17:27:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49148</attachid>
            <date>2010-02-21 04:38:09 -0800</date>
            <delta_ts>2010-02-23 13:16:45 -0800</delta_ts>
            <desc>patch v1</desc>
            <filename>0001-bug-35210.patch</filename>
            <type>text/plain</type>
            <size>7068</size>
            <attacher name="arno.">a.renevier</attacher>
            
              <data encoding="base64">RnJvbSBkY2VjMjM5OWI0YzE3ZGVmZjBlMGNmNTQyYmI5MjI3NTIwZjViNWJhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBhcm5vIDxhcm5vQHJlbmV2aWVyLm5ldD4KRGF0ZTogU3VuLCAy
MSBGZWIgMjAxMCAxMzozMjo0MSArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIGJ1ZyAjMzUyMTAKCi0t
LQogV2ViS2l0L2d0ay9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNCAr
KysrKysrKysrCiBXZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAg
fCAgICA4ICsrKy0tCiBXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJmcmFtZS5jcHAgICAgICAg
ICAgfCAgIDM1ICsrKysrKysrKysrKysrKysrKysrKysrKysKIFdlYktpdC9ndGsvd2Via2l0L3dl
YmtpdHdlYmZyYW1lLmggICAgICAgICAgICB8ICAgIDQgKysrCiBXZWJLaXQvZ3RrL3dlYmtpdC93
ZWJraXR3ZWJ2aWV3LmNwcCAgICAgICAgICAgfCAgIDE5ICsrKysrKysrKysrKysKIDUgZmlsZXMg
Y2hhbmdlZCwgNzcgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9X
ZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDQzZDJkMjAu
LmU3NjZiMWEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9n
dGsvQ2hhbmdlTG9nCkBAIC0xLDggKzEsMjIgQEAKKzIwMTAtMDItMjEgIEFybm8gUmVuZXZpZXIg
IDxhcm5vQHJlbmV2aWVyLm5ldD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBbR3RrXSBpbXBsZW1lbnRzIENocm9tZUNsaWVudDo6cmVxdWVzdEdlb2xv
Y2F0aW9uUGVybWlzc2lvbkZvckZyYW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0zNTIxMAorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50R3RrLmNwcDoKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2ViZnJhbWUuY3BwOgorICAg
ICAgICAod2Via2l0X3dlYl9mcmFtZV9hbGxvd19nZW9sb2NhdGlvbik6CisgICAgICAgICogd2Vi
a2l0L3dlYmtpdHdlYmZyYW1lLmg6CisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYnZpZXcuY3Bw
OgorICAgICAgICAoRE5EQ29udGVudHNSZXF1ZXN0Ojp3ZWJraXRfd2ViX3ZpZXdfY2xhc3NfaW5p
dCk6CisKIDIwMTAtMDItMTggIERpZWdvIEVzY2FsYW50ZSBVcnJlbG8gIDxkZXNjYWxhbnRlQGln
YWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgR3VzdGF2byBOb3JvbmhhIFNpbHZhLgog
CiAgICAgICAgIFtHVEtdIFdlYktpdERvd25sb2FkIGRvY3VtZW50YXRpb24gaXMgaW5jb21wbGV0
ZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzUwMTgK
IAogICAgICAgICBDb25jcmV0ZWx5IHRoZSBlcnJvciBzaWduYWwgd2FzIHVuZG9jdW1lbnRlZC4g
QWxzbyB0d28gcmVsZXZhbnQgZW51bXMKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50R3RrLmNwcAppbmRleCA3NGY1ZTA3Li42MzJhYTYyIDEwMDY0NAotLS0gYS9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKKysrIGIvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCkBAIC01NzAsMTUgKzU3MCwxNyBA
QCB2b2lkIENocm9tZUNsaWVudDo6aWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpT
dHJpbmc+JiwgUGFzc1JlZlB0cjxXZWJDbwogfQogCiBib29sIENocm9tZUNsaWVudDo6c2V0Q3Vy
c29yKFBsYXRmb3JtQ3Vyc29ySGFuZGxlKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCi12b2lkIENocm9tZUNsaWVudDo6cmVxdWVzdEdlb2xvY2F0aW9u
UGVybWlzc2lvbkZvckZyYW1lKEZyYW1lKiwgR2VvbG9jYXRpb24qKQordm9pZCBDaHJvbWVDbGll
bnQ6OnJlcXVlc3RHZW9sb2NhdGlvblBlcm1pc3Npb25Gb3JGcmFtZShGcmFtZSogZnJhbWUsIEdl
b2xvY2F0aW9uKikKIHsKLSAgICAvLyBTZWUgdGhlIGNvbW1lbnQgaW4gV2ViQ29yZS9wYWdlL0No
cm9tZUNsaWVudC5oCi0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBXZWJLaXRXZWJGcmFtZSog
d2ViRnJhbWUgPSBraXQoZnJhbWUpOworICAgIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcgPSBnZXRW
aWV3RnJvbUZyYW1lKHdlYkZyYW1lKTsKKworICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh3ZWJW
aWV3LCAiZ2VvbG9jYXRpb24tcGVybWlzc2lvbi1yZXF1ZXN0ZWQiLCB3ZWJGcmFtZSk7CiB9CiAK
IH0KZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmZyYW1lLmNwcCBiL1dl
YktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmZyYW1lLmNwcAppbmRleCBmYmQyNDZkLi4xY2ZjMDVk
IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJmcmFtZS5jcHAKKysrIGIv
V2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViZnJhbWUuY3BwCkBAIC0zOSwyMCArMzksMjIgQEAK
ICNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyR3Rr
LmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVu
dEd0ay5oIgogI2luY2x1ZGUgIkZyYW1lVHJlZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgog
I2luY2x1ZGUgPGdsaWIvZ2kxOG4tbGliLmg+CiAjaW5jbHVkZSAiR0NDb250cm9sbGVyLmgiCisj
aW5jbHVkZSAiR2VvbG9jYXRpb24uaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNp
bmNsdWRlICJIVE1MRnJhbWVPd25lckVsZW1lbnQuaCIKICNpbmNsdWRlICJKU0RPTVdpbmRvdy5o
IgogI2luY2x1ZGUgIkpTTG9jay5oIgorI2luY2x1ZGUgIk5hdmlnYXRvci5oIgogI2luY2x1ZGUg
IlByaW50Q29udGV4dC5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNsdWRlICJSZW5k
ZXJUcmVlQXNUZXh0LmgiCiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCiAjaW5jbHVkZSAiU2Ny
aXB0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlN1YnN0aXR1dGVEYXRhLmgiCiAjaWYgRU5BQkxF
KFNWRykKICNpbmNsdWRlICJTVkdTTUlMRWxlbWVudC5oIgpAQCAtMTIyMSw4ICsxMjIzLDQxIEBA
IFdlYktpdE5ldHdvcmtSZXNwb25zZSogd2Via2l0X3dlYl9mcmFtZV9nZXRfbmV0d29ya19yZXNw
b25zZShXZWJLaXRXZWJGcmFtZSogZnJhCiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgV2Vi
Q29yZTo6RG9jdW1lbnRMb2FkZXIqIGxvYWRlciA9IGNvcmVGcmFtZS0+bG9hZGVyKCktPmFjdGl2
ZURvY3VtZW50TG9hZGVyKCk7CiAgICAgaWYgKCFsb2FkZXIpCiAgICAgICAgIHJldHVybiBOVUxM
OwogCiAgICAgcmV0dXJuIHdlYmtpdF9uZXR3b3JrX3Jlc3BvbnNlX25ld193aXRoX2NvcmVfcmVz
cG9uc2UobG9hZGVyLT5yZXNwb25zZSgpKTsKIH0KKworLyoqCisgKiB3ZWJraXRfd2ViX2ZyYW1l
X2FsbG93X2dlb2xvY2F0aW9uOgorICogQGZyYW1lOiBhICNXZWJLaXRXZWJGcmFtZQorICogQGFs
bG93ZWQ6IGJvb2xlYW4KKyAqCisgKiBTZXRzIGdlb2xvY2F0aW9uIHBlcm1pc3Npb24gZm9yIGZy
YW1lLiBTZXQgYWxsb3dlZCB0byB0cnVlIHRvIGFsbG93CisgKiBnZW9sb2NhdGlvbiwgdG8gZmFs
c2UgdG8gZGlzYWJsZSBnZW9sb2NhdGlvbi4KKyAqCisgKiBTaW5jZTogMS4xLjIxCisgKi8KK3Zv
aWQgd2Via2l0X3dlYl9mcmFtZV9hbGxvd19nZW9sb2NhdGlvbihXZWJLaXRXZWJGcmFtZSogZnJh
bWUsIGJvb2wgYWxsb3dlZCkKK3sKKyAgICBGcmFtZSogY29yZUZyYW1lID0gY29yZShmcmFtZSk7
CisgICAgaWYgKCFjb3JlRnJhbWUpCisgICAgICAgIHJldHVybjsKKworICAgIERPTVdpbmRvdyog
ZG9td2luZG93ID0gY29yZUZyYW1lLT5kb21XaW5kb3coKTsKKyAgICBpZiAoIWRvbXdpbmRvdykK
KyAgICAgICAgcmV0dXJuOworCisgICAgTmF2aWdhdG9yKiBuYXZpZ2F0b3IgPSBkb213aW5kb3ct
Pm5hdmlnYXRvcigpOworICAgIGlmICghbmF2aWdhdG9yKQorICAgICAgICByZXR1cm47CisKKyAg
ICBHZW9sb2NhdGlvbiogZ2VvbG9jYXRpb24gPSBuYXZpZ2F0b3ItPmdlb2xvY2F0aW9uKCk7Cisg
ICAgaWYgKCFnZW9sb2NhdGlvbikKKyAgICAgICAgcmV0dXJuOworCisgICAgZ2VvbG9jYXRpb24t
PnNldElzQWxsb3dlZChhbGxvd2VkKTsKKworICAgIHJldHVybjsKK30KZGlmZiAtLWdpdCBhL1dl
YktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmZyYW1lLmggYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXR3ZWJmcmFtZS5oCmluZGV4IDI4ZDcxMTMuLjk0MTFiMDggMTAwNjQ0Ci0tLSBhL1dlYktpdC9n
dGsvd2Via2l0L3dlYmtpdHdlYmZyYW1lLmgKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
d2ViZnJhbWUuaApAQCAtMTcwLDExICsxNzAsMTUgQEAgV0VCS0lUX0FQSSBXZWJLaXRXZWJEYXRh
U291cmNlICoKIHdlYmtpdF93ZWJfZnJhbWVfZ2V0X3Byb3Zpc2lvbmFsX2RhdGFfc291cmNlIChX
ZWJLaXRXZWJGcmFtZSAgICAgICAqZnJhbWUpOwogCiBXRUJLSVRfQVBJIFdlYktpdFNlY3VyaXR5
T3JpZ2luKgogd2Via2l0X3dlYl9mcmFtZV9nZXRfc2VjdXJpdHlfb3JpZ2luICAgICAgICAgKFdl
YktpdFdlYkZyYW1lICAgICAgICpmcmFtZSk7CiAKIFdFQktJVF9BUEkgV2ViS2l0TmV0d29ya1Jl
c3BvbnNlKgogd2Via2l0X3dlYl9mcmFtZV9nZXRfbmV0d29ya19yZXNwb25zZSAgICAgICAgKFdl
YktpdFdlYkZyYW1lICAgICAgICpmcmFtZSk7CiAKK1dFQktJVF9BUEkgdm9pZAord2Via2l0X3dl
Yl9mcmFtZV9hbGxvd19nZW9sb2NhdGlvbiAgICAgICAgICAgKFdlYktpdFdlYkZyYW1lICAgICAg
ICpmcmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
b29sIGFsbG93ZWQpOworCiBHX0VORF9ERUNMUwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYktp
dC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
d2Vidmlldy5jcHAKaW5kZXggZDZhOGI4My4uMGEwZGZlOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0
ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
d2Vidmlldy5jcHAKQEAgLTE1MywxNiArMTUzLDE3IEBAIGVudW0gewogICAgIE1PVkVfQ1VSU09S
LAogICAgIFBSSU5UX1JFUVVFU1RFRCwKICAgICBQTFVHSU5fV0lER0VULAogICAgIENMT1NFX1dF
Ql9WSUVXLAogICAgIFVORE8sCiAgICAgUkVETywKICAgICBEQVRBQkFTRV9RVU9UQV9FWENFRURF
RCwKICAgICBSRVNPVVJDRV9SRVFVRVNUX1NUQVJUSU5HLAorICAgIEdFT0xPQ0FUSU9OX1BFUk1J
U1NJT05fUkVRVUVTVEVELAogICAgIExBU1RfU0lHTkFMCiB9OwogCiBlbnVtIHsKICAgICBQUk9Q
XzAsCiAKICAgICBQUk9QX1RJVExFLAogICAgIFBST1BfVVJJLApAQCAtMjE1NCwxNiArMjE1NSwz
NCBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfY2xhc3NfaW5pdChXZWJLaXRXZWJWaWV3
Q2xhc3MqIHdlYlZpZXdDbGFzcykKICAgICAgICAgICAgIE5VTEwsIE5VTEwsCiAgICAgICAgICAg
ICB3ZWJraXRfbWFyc2hhbF9WT0lEX19PQkpFQ1RfT0JKRUNUX09CSkVDVF9PQkpFQ1QsCiAgICAg
ICAgICAgICBHX1RZUEVfTk9ORSwgNCwKICAgICAgICAgICAgIFdFQktJVF9UWVBFX1dFQl9GUkFN
RSwKICAgICAgICAgICAgIFdFQktJVF9UWVBFX1dFQl9SRVNPVVJDRSwKICAgICAgICAgICAgIFdF
QktJVF9UWVBFX05FVFdPUktfUkVRVUVTVCwKICAgICAgICAgICAgIFdFQktJVF9UWVBFX05FVFdP
UktfUkVTUE9OU0UpOwogCisgICAgLyoqCisgICAgICogV2ViS2l0V2ViVmlldzo6Z2VvbG9jYXRp
b24tcGVybWlzc2lvbi1yZXF1ZXN0ZWQ6CisgICAgICogQHdlYl92aWV3OiB0aGUgb2JqZWN0IG9u
IHdoaWNoIHRoZSBzaWduYWwgaXMgZW1pdHRlZAorICAgICAqIEBmcmFtZTogdGhlIGZyYW1lIHRo
YXQgcmVxdWVzdHMgcGVybWlzc2lvbgorICAgICAqCisgICAgICogV2hlbiBhICNXZWJLaXRXZWJG
cmFtZSB3YW50cyB0byBnZXQgaXRzIGdlb2xvY2F0aW9uIHBlcm1pc3Npb24uCisgICAgICoKKyAg
ICAgKiBTaW5jZTogMS4xLjIxCisgICAgICovCisgICAgd2Via2l0X3dlYl92aWV3X3NpZ25hbHNb
R0VPTE9DQVRJT05fUEVSTUlTU0lPTl9SRVFVRVNURURdID0gZ19zaWduYWxfbmV3KCJnZW9sb2Nh
dGlvbi1wZXJtaXNzaW9uLXJlcXVlc3RlZCIsCisgICAgICAgICAgICBHX1RZUEVfRlJPTV9DTEFT
Uyh3ZWJWaWV3Q2xhc3MpLAorICAgICAgICAgICAgKEdTaWduYWxGbGFncykoR19TSUdOQUxfUlVO
X0xBU1QpLAorICAgICAgICAgICAgMCwKKyAgICAgICAgICAgIE5VTEwsIE5VTEwsCisgICAgICAg
ICAgICBnX2NjbG9zdXJlX21hcnNoYWxfVk9JRF9fT0JKRUNULAorICAgICAgICAgICAgR19UWVBF
X05PTkUsIDEsCisgICAgICAgICAgICBXRUJLSVRfVFlQRV9XRUJfRlJBTUUpOworCiAgICAgLyoK
ICAgICAgKiBpbXBsZW1lbnRhdGlvbnMgb2YgdmlydHVhbCBtZXRob2RzCiAgICAgICovCiAgICAg
d2ViVmlld0NsYXNzLT5jcmVhdGVfd2ViX3ZpZXcgPSB3ZWJraXRfd2ViX3ZpZXdfcmVhbF9jcmVh
dGVfd2ViX3ZpZXc7CiAgICAgd2ViVmlld0NsYXNzLT53ZWJfdmlld19yZWFkeSA9IHdlYmtpdF93
ZWJfdmlld19yZWFsX3dlYl92aWV3X3JlYWR5OwogICAgIHdlYlZpZXdDbGFzcy0+Y2xvc2Vfd2Vi
X3ZpZXcgPSB3ZWJraXRfd2ViX3ZpZXdfcmVhbF9jbG9zZV93ZWJfdmlldzsKICAgICB3ZWJWaWV3
Q2xhc3MtPm5hdmlnYXRpb25fcmVxdWVzdGVkID0gd2Via2l0X3dlYl92aWV3X3JlYWxfbmF2aWdh
dGlvbl9yZXF1ZXN0ZWQ7CiAgICAgd2ViVmlld0NsYXNzLT53aW5kb3dfb2JqZWN0X2NsZWFyZWQg
PSB3ZWJraXRfd2ViX3ZpZXdfcmVhbF93aW5kb3dfb2JqZWN0X2NsZWFyZWQ7Ci0tIAoxLjcuMAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49320</attachid>
            <date>2010-02-23 13:16:51 -0800</date>
            <delta_ts>2010-02-23 13:27:34 -0800</delta_ts>
            <desc>patch v2</desc>
            <filename>bug-35210-20100223221648.patch</filename>
            <type>text/plain</type>
            <size>10063</size>
            <attacher name="arno.">a.renevier</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBhMjYzZDc2Li4xMjlmNzdj
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsMTUgQEAK
IAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBbR3RrXSBp
bXBsZW1lbnRzIENocm9tZUNsaWVudDo6cmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvbkZvckZy
YW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTIx
MAorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisKKzIwMTAtMDItMjMgIEFybm8gUmVuZXZp
ZXIgIDxhcm5vQHJlbmV2aWVyLm5ldD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKwogICAgICAgICBbR3RrXSB0ZXN0d2VidmlldyBkb2VzIG5vdCB3b3JrIHdoZW4gY2Fs
bGVkIHdpdGggYWJzb2x1dGUgcGF0aAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MzQ5NDAKIApkaWZmIC0tZ2l0IGEvR05VbWFrZWZpbGUuYW0gYi9HTlVt
YWtlZmlsZS5hbQppbmRleCA4NTRhMWIwLi41YTI1NTU0IDEwMDY0NAotLS0gYS9HTlVtYWtlZmls
ZS5hbQorKysgYi9HTlVtYWtlZmlsZS5hbQpAQCAtMzI3LDYgKzMyNyw3IEBAIHdlYmtpdGd0a19o
X2FwaSArPSBcCiAJJChzcmNkaXIpL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmluc3BlY3Rv
ci5oIFwKIAkkKHNyY2RpcikvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2VibmF2aWdhdGlvbmFj
dGlvbi5oIFwKIAkkKHNyY2RpcikvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2VicG9saWN5ZGVj
aXNpb24uaCBcCisJJChzcmNkaXIpL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdlb2xvY2F0aW9u
cG9saWN5ZGVjaXNpb24uaCBcCiAJJChzcmNkaXIpL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdl
YnJlc291cmNlLmggXAogCSQoc3JjZGlyKS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0
aW5ncy5oIFwKIAkkKHNyY2RpcikvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vid2luZG93ZmVh
dHVyZXMuaCBcCkBAIC0zNzUsNiArMzc2LDcgQEAgd2Via2l0Z3RrX3NvdXJjZXMgKz0gXAogCVdl
YktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmluc3BlY3Rvci5jcHAgXAogCVdlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdHdlYm5hdmlnYXRpb25hY3Rpb24uY3BwIFwKIAlXZWJLaXQvZ3RrL3dlYmtpdC93
ZWJraXR3ZWJwb2xpY3lkZWNpc2lvbi5jcHAgXAorCVdlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdl
b2xvY2F0aW9ucG9saWN5ZGVjaXNpb24uY3BwIFwKIAlXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3
ZWJyZXNvdXJjZS5jcHAgXAogCVdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmRhdGFiYXNlLmNw
cCBcCiAJV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0c2VjdXJpdHlvcmlnaW4uY3BwIFwKZGlmZiAt
LWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXgg
MjllMjM2YS4uNTUwMjk1OSAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIv
V2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTIsNiArMiwyMiBAQAogCiAgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgogCisgICAgICAgIFtHdGtdIGltcGxlbWVudHMgQ2hyb21lQ2xp
ZW50OjpyZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MjEwCisKKyAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEd0ay5oOgorICAgICAgICAqIGRvY3Mvd2Via2l0Z3RrLXNlY3Rpb25zLnR4
dDoKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0ZGVmaW5lcy5oOgorICAgICAgICAqIHdlYmtpdC93
ZWJraXRwcml2YXRlLmg6CisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwOgorICAg
ICAgICAoRE5EQ29udGVudHNSZXF1ZXN0Ojp3ZWJraXRfd2ViX3ZpZXdfY2xhc3NfaW5pdCk6Cisg
ICAgICAgICogd2Via2l0bWFyc2hhbC5saXN0OgorCisyMDEwLTAyLTIzICBBcm5vIFJlbmV2aWVy
ICA8YXJub0ByZW5ldmllci5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKICAgICAgICAgW0d0a10gdGVzdHdlYnZpZXcgZG9lcyBub3Qgd29yayB3aGVuIGNhbGxl
ZCB3aXRoIGFic29sdXRlIHBhdGgKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTM0OTQwCiAKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50R3RrLmNwcCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50R3RrLmNwcAppbmRleCA3NGY1ZTA3Li4xNjhhNjc3IDEwMDY0NAotLS0gYS9XZWJLaXQv
Z3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKKysrIGIvV2ViS2l0L2d0ay9X
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5j
bHVkZSAiQ1N0cmluZy5oIgogI2luY2x1ZGUgIkhpdFRlc3RSZXN1bHQuaCIKICNpbmNsdWRlICJL
VVJMLmgiCisjaW5jbHVkZSAid2Via2l0Z2VvbG9jYXRpb25wb2xpY3lkZWNpc2lvbi5oIgogI2lu
Y2x1ZGUgIndlYmtpdHdlYnZpZXcuaCIKICNpbmNsdWRlICJ3ZWJraXRuZXR3b3JrcmVxdWVzdC5o
IgogI2luY2x1ZGUgIndlYmtpdHByaXZhdGUuaCIKQEAgLTU3NSwxMCArNTc2LDI2IEBAIGJvb2wg
Q2hyb21lQ2xpZW50OjpzZXRDdXJzb3IoUGxhdGZvcm1DdXJzb3JIYW5kbGUpCiAgICAgcmV0dXJu
IGZhbHNlOwogfQogCi12b2lkIENocm9tZUNsaWVudDo6cmVxdWVzdEdlb2xvY2F0aW9uUGVybWlz
c2lvbkZvckZyYW1lKEZyYW1lKiwgR2VvbG9jYXRpb24qKQordm9pZCBDaHJvbWVDbGllbnQ6OnJl
cXVlc3RHZW9sb2NhdGlvblBlcm1pc3Npb25Gb3JGcmFtZShGcmFtZSogZnJhbWUsIEdlb2xvY2F0
aW9uKiBnZW9sb2NhdGlvbikKIHsKLSAgICAvLyBTZWUgdGhlIGNvbW1lbnQgaW4gV2ViQ29yZS9w
YWdlL0Nocm9tZUNsaWVudC5oCi0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBXZWJLaXRXZWJG
cmFtZSogd2ViRnJhbWUgPSBraXQoZnJhbWUpOworICAgIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcg
PSBnZXRWaWV3RnJvbUZyYW1lKHdlYkZyYW1lKTsKKworICAgIFdlYktpdEdlb2xvY2F0aW9uUG9s
aWN5RGVjaXNpb24qIHBvbGljeURlY2lzaW9uID0gd2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9k
ZWNpc2lvbl9uZXcod2ViRnJhbWUsIGdlb2xvY2F0aW9uKTsKKworICAgIGdib29sZWFuIGlzSGFu
ZGxlZCA9IGZhbHNlOworICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh3ZWJWaWV3LCAiZ2VvbG9j
YXRpb24tcG9saWN5LWRlY2lzaW9uLXJlcXVlc3RlZCIsIHdlYkZyYW1lLCBwb2xpY3lEZWNpc2lv
biwgJmlzSGFuZGxlZCk7CisgICAgaWYgKCFpc0hhbmRsZWQpIHsKKyAgICAgICAgLy8gc2lnbmFs
IGhhcyBub3QgYmVlbiBoYW5kbGVkLCBkZW55IGJ5IGRlZmF1bHQuCisgICAgICAgIHdlYmtpdF9n
ZW9sb2NhdGlvbl9wb2xpY3lfc2V0X3Blcm1pc3Npb24ocG9saWN5RGVjaXNpb24sIEZBTFNFKTsK
KyAgICB9Cit9CisKK3ZvaWQgQ2hyb21lQ2xpZW50OjpjYW5jZWxHZW9sb2NhdGlvblBlcm1pc3Np
b25SZXF1ZXN0Rm9yRnJhbWUoV2ViQ29yZTo6RnJhbWUqIGZyYW1lKQoreworICAgIFdlYktpdFdl
YkZyYW1lKiB3ZWJGcmFtZSA9IGtpdChmcmFtZSk7CisgICAgV2ViS2l0V2ViVmlldyogd2ViVmll
dyA9IGdldFZpZXdGcm9tRnJhbWUod2ViRnJhbWUpOworICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFt
ZSh3ZWJWaWV3LCAiZ2VvbG9jYXRpb24tcGVybWlzc2lvbi1yZXF1ZXN0LWNhbmNlbGVkIiwgd2Vi
RnJhbWUpOwogfQogCiB9CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0No
cm9tZUNsaWVudEd0ay5oIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRH
dGsuaAppbmRleCA2MmQ0OGZhLi42MTM5YjNhIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oCisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50R3RrLmgKQEAgLTExNyw3ICsxMTcsNyBAQCBuYW1lc3BhY2UgV2ViS2l0
IHsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IFdlYkNv
cmU6OkludFJlY3QmLCBjb25zdCBXZWJDb3JlOjpTY3JvbGxWaWV3KikgY29uc3Qge30KICAgICAg
ICAgdmlydHVhbCB2b2lkIHJlcXVlc3RHZW9sb2NhdGlvblBlcm1pc3Npb25Gb3JGcmFtZShXZWJD
b3JlOjpGcmFtZSosIFdlYkNvcmU6Okdlb2xvY2F0aW9uKik7Ci0gICAgICAgIHZpcnR1YWwgdm9p
ZCBjYW5jZWxHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Rm9yRnJhbWUoV2ViQ29yZTo6RnJh
bWUqKSB7IH0KKyAgICAgICAgdmlydHVhbCB2b2lkIGNhbmNlbEdlb2xvY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RGb3JGcmFtZShXZWJDb3JlOjpGcmFtZSopOwogCiAgICAgcHJpdmF0ZToKICAgICAg
ICAgV2ViS2l0V2ViVmlldyogbV93ZWJWaWV3OwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9kb2Nz
L3dlYmtpdGd0ay1zZWN0aW9ucy50eHQgYi9XZWJLaXQvZ3RrL2RvY3Mvd2Via2l0Z3RrLXNlY3Rp
b25zLnR4dAppbmRleCAyMzc5YzhiLi45MGM4ZGI0IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL2Rv
Y3Mvd2Via2l0Z3RrLXNlY3Rpb25zLnR4dAorKysgYi9XZWJLaXQvZ3RrL2RvY3Mvd2Via2l0Z3Rr
LXNlY3Rpb25zLnR4dApAQCAtMzUxLDYgKzM1MSwyNCBAQCBXZWJLaXRXZWJQb2xpY3lEZWNpc2lv
blByaXZhdGUKIDwvU0VDVElPTj4KIAogPFNFQ1RJT04+Cis8RklMRT53ZWJraXRnZW9sb2NhdGlv
bnBvbGljeWRlY2lzaW9uPC9GSUxFPgorPFRJVExFPldlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVj
aXNpb248L1RJVExFPgorV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbgord2Via2l0X2dl
b2xvY2F0aW9uX3BvbGljeV9zZXRfcGVybWlzc2lvbgorPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitX
RUJLSVRfSVNfR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OCitXRUJLSVRfSVNfR0VPTE9DQVRJ
T05fUE9MSUNZX0RFQ0lTSU9OX0NMQVNTCitXRUJLSVRfVFlQRV9HRU9MT0NBVElPTl9QT0xJQ1lf
REVDSVNJT04KK1dFQktJVF9HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT04KK1dFQktJVF9HRU9M
T0NBVElPTl9QT0xJQ1lfREVDSVNJT05fQ0xBU1MKK1dFQktJVF9HRU9MT0NBVElPTl9QT0xJQ1lf
REVDSVNJT05fR0VUX0NMQVNTCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0R2VvbG9jYXRp
b25Qb2xpY3lEZWNpc2lvbgorV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbkNsYXNzCitX
ZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uUHJpdmF0ZQorPC9TRUNUSU9OPgorCis8U0VD
VElPTj4KIDxGSUxFPndlYmtpdG5ldHdvcmtyZXF1ZXN0PC9GSUxFPgogPFRJVExFPldlYktpdE5l
dHdvcmtSZXF1ZXN0PC9USVRMRT4KIFdlYktpdE5ldHdvcmtSZXF1ZXN0CmRpZmYgLS1naXQgYS9X
ZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkZWZpbmVzLmggYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXRkZWZpbmVzLmgKaW5kZXggYTU4ODRmMy4uYjA2YTNiZiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0
ay93ZWJraXQvd2Via2l0ZGVmaW5lcy5oCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRl
ZmluZXMuaApAQCAtODksNiArODksOSBAQCB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0U2VjdXJpdHlP
cmlnaW5DbGFzcyBXZWJLaXRTZWN1cml0eU9yaWdpbkNsYXNzOwogdHlwZWRlZiBzdHJ1Y3QgX1dl
YktpdEhpdFRlc3RSZXN1bHQgV2ViS2l0SGl0VGVzdFJlc3VsdDsKIHR5cGVkZWYgc3RydWN0IF9X
ZWJLaXRIaXRUZXN0UmVzdWx0Q2xhc3MgV2ViS2l0SGl0VGVzdFJlc3VsdENsYXNzOwogCit0eXBl
ZGVmIHN0cnVjdCBfV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbiBXZWJLaXRHZW9sb2Nh
dGlvblBvbGljeURlY2lzaW9uOwordHlwZWRlZiBzdHJ1Y3QgX1dlYktpdEdlb2xvY2F0aW9uUG9s
aWN5RGVjaXNpb25DbGFzcyBXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uQ2xhc3M7CisK
IEdfRU5EX0RFQ0xTCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Vi
a2l0cHJpdmF0ZS5oIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0ZS5oCmluZGV4IDA0
NmYzM2UuLjEyZDgyNzkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZh
dGUuaAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2YXRlLmgKQEAgLTQ5LDYgKzQ5
LDcgQEAKICNpbmNsdWRlICJDU3RyaW5nLmgiCiAjaW5jbHVkZSA8ZW5jaGFudC5oPgogI2luY2x1
ZGUgIkdPd25QdHIuaCIKKyNpbmNsdWRlICJHZW9sb2NhdGlvbi5oIgogI2luY2x1ZGUgIkhpc3Rv
cnlJdGVtLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJQYWdlLmgiCkBAIC0y
NzYsNiArMjc3LDkgQEAgZXh0ZXJuICJDIiB7CiAgICAgV2ViS2l0TmV0d29ya1Jlc3BvbnNlKgog
ICAgIHdlYmtpdF9uZXR3b3JrX3Jlc3BvbnNlX25ld193aXRoX2NvcmVfcmVzcG9uc2UoY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzb3VyY2VSZXNwb25zZSk7CiAKKyAgICBXZWJL
aXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uKgorICAgIHdlYmtpdF9nZW9sb2NhdGlvbl9wb2xp
Y3lfZGVjaXNpb25fbmV3KFdlYktpdFdlYkZyYW1lKiwgV2ViQ29yZTo6R2VvbG9jYXRpb24qKTsK
KwogICAgIC8vIEZJWE1FOiBtb3ZlIHRoaXMgdG8gd2Via2l0bmV0d29ya3JlcXVlc3QuaCBvbmNl
IHRoZSBBUEkgaXMgYWdyZWVkIHVwb24uCiAgICAgV0VCS0lUX0FQSSBTb3VwTWVzc2FnZSoKICAg
ICB3ZWJraXRfbmV0d29ya19yZXF1ZXN0X2dldF9tZXNzYWdlKFdlYktpdE5ldHdvcmtSZXF1ZXN0
KiByZXF1ZXN0KTsKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcu
Y3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKaW5kZXggMTZjOTQ3Ny4u
NjZiNjRiMSAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAK
KysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKQEAgLTMxLDYgKzMxLDcg
QEAKIAogI2luY2x1ZGUgIndlYmtpdGRvd25sb2FkLmgiCiAjaW5jbHVkZSAid2Via2l0ZW51bXR5
cGVzLmgiCisjaW5jbHVkZSAid2Via2l0Z2VvbG9jYXRpb25wb2xpY3lkZWNpc2lvbi5oIgogI2lu
Y2x1ZGUgIndlYmtpdG1hcnNoYWwuaCIKICNpbmNsdWRlICJ3ZWJraXRuZXR3b3JrcmVxdWVzdC5o
IgogI2luY2x1ZGUgIndlYmtpdG5ldHdvcmtyZXNwb25zZS5oIgpAQCAtMTU4LDYgKzE1OSw4IEBA
IGVudW0gewogICAgIFJFRE8sCiAgICAgREFUQUJBU0VfUVVPVEFfRVhDRUVERUQsCiAgICAgUkVT
T1VSQ0VfUkVRVUVTVF9TVEFSVElORywKKyAgICBHRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT05f
UkVRVUVTVEVELAorICAgIEdFT0xPQ0FUSU9OX1BFUk1JU1NJT05fUkVRVUVTVF9DQU5DRUxFRCwK
ICAgICBMQVNUX1NJR05BTAogfTsKIApAQCAtMjE1Nyw2ICsyMTYwLDQ4IEBAIHN0YXRpYyB2b2lk
IHdlYmtpdF93ZWJfdmlld19jbGFzc19pbml0KFdlYktpdFdlYlZpZXdDbGFzcyogd2ViVmlld0Ns
YXNzKQogICAgICAgICAgICAgV0VCS0lUX1RZUEVfTkVUV09SS19SRVFVRVNULAogICAgICAgICAg
ICAgV0VCS0lUX1RZUEVfTkVUV09SS19SRVNQT05TRSk7CiAKKyAgICAvKioKKyAgICAgKiBXZWJL
aXRXZWJWaWV3OjpnZW9sb2NhdGlvbi1wb2xpY3ktZGVjaXNpb24tcmVxdWVzdGVkOgorICAgICAq
IEB3ZWJfdmlldzogdGhlIG9iamVjdCBvbiB3aGljaCB0aGUgc2lnbmFsIGlzIGVtaXR0ZWQKKyAg
ICAgKiBAZnJhbWU6IHRoZSBmcmFtZSB0aGF0IHJlcXVlc3RzIHBlcm1pc3Npb24KKyAgICAgKiBA
cG9saWN5X2RlY2lzaW9uOiBhIFdlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb24KKyAgICAg
KgorICAgICAqIFdoZW4gYSBAZnJhbWUgd2FudHMgdG8gZ2V0IGl0cyBnZW9sb2NhdGlvbiBwZXJt
aXNzaW9uLgorICAgICAqIFRoZSByZWNlaXZlciBtdXN0IHJlcGx5IHdpdGggYSBib29sZWFuIHdl
dGhlciBpdCBoYW5kbGVkIG9yIG5vdCB0aGUKKyAgICAgKiByZXF1ZXN0LiBJZiB0aGUgcmVxdWVz
dCBpcyBub3QgaGFuZGxlZCwgZGVmYXVsdCBiZWhhdmlvdXIgaXMgdG8gZGVueQorICAgICAqIGdl
b2xvY2F0aW9uLgorICAgICAqCisgICAgICogU2luY2U6IDEuMS4yMgorICAgICAqLworICAgIHdl
YmtpdF93ZWJfdmlld19zaWduYWxzW0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTl9SRVFVRVNU
RURdID0gZ19zaWduYWxfbmV3KCJnZW9sb2NhdGlvbi1wb2xpY3ktZGVjaXNpb24tcmVxdWVzdGVk
IiwKKyAgICAgICAgICAgIEdfVFlQRV9GUk9NX0NMQVNTKHdlYlZpZXdDbGFzcyksCisgICAgICAg
ICAgICAoR1NpZ25hbEZsYWdzKShHX1NJR05BTF9SVU5fTEFTVCksCisgICAgICAgICAgICAwLAor
ICAgICAgICAgICAgTlVMTCwgTlVMTCwKKyAgICAgICAgICAgIHdlYmtpdF9tYXJzaGFsX0JPT0xF
QU5fX09CSkVDVF9PQkpFQ1QsCisgICAgICAgICAgICBHX1RZUEVfQk9PTEVBTiwgMiwKKyAgICAg
ICAgICAgIFdFQktJVF9UWVBFX1dFQl9GUkFNRSwKKyAgICAgICAgICAgIFdFQktJVF9UWVBFX0dF
T0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTik7CisKKyAgICAvKioKKyAgICAgKiBXZWJLaXRXZWJW
aWV3OjpnZW9sb2NhdGlvbi1wZXJtaXNzaW9uLXJlcXVlc3QtY2FuY2VsZWQ6CisgICAgICogQHdl
Yl92aWV3OiB0aGUgb2JqZWN0IG9uIHdoaWNoIHRoZSBzaWduYWwgaXMgZW1pdHRlZAorICAgICAq
IEBmcmFtZTogdGhlIGZyYW1lIHRoYXQgY2FuY2VscyBnZW9sb2NhdGlvbiByZXF1ZXN0LgorICAg
ICAqCisgICAgICogV2hlbiBhIEBmcmFtZSB3YW50cyB0byBjYW5jZWwgZ2VvbG9jYXRpb24gcGVy
bWlzc2lvbiBpdCBoYWQgcmVxdWVzdGVkCisgICAgICogYmVmb3JlLgorICAgICAqCisgICAgICog
U2luY2U6IDEuMS4yMgorICAgICAqLworICAgIHdlYmtpdF93ZWJfdmlld19zaWduYWxzW0dFT0xP
Q0FUSU9OX1BPTElDWV9ERUNJU0lPTl9SRVFVRVNURURdID0gZ19zaWduYWxfbmV3KCJnZW9sb2Nh
dGlvbi1wZXJtaXNzaW9uLXJlcXVlc3QtY2FuY2VsZWQiLAorICAgICAgICAgICAgR19UWVBFX0ZS
T01fQ0xBU1Mod2ViVmlld0NsYXNzKSwKKyAgICAgICAgICAgIChHU2lnbmFsRmxhZ3MpKEdfU0lH
TkFMX1JVTl9MQVNUKSwKKyAgICAgICAgICAgIDAsCisgICAgICAgICAgICBOVUxMLCBOVUxMLAor
ICAgICAgICAgICAgZ19jY2xvc3VyZV9tYXJzaGFsX1ZPSURfX09CSkVDVCwKKyAgICAgICAgICAg
IEdfVFlQRV9OT05FLCAxLAorICAgICAgICAgICAgV0VCS0lUX1RZUEVfV0VCX0ZSQU1FKTsKKwog
ICAgIC8qCiAgICAgICogaW1wbGVtZW50YXRpb25zIG9mIHZpcnR1YWwgbWV0aG9kcwogICAgICAq
LwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXRtYXJzaGFsLmxpc3QgYi9XZWJLaXQvZ3Rr
L3dlYmtpdG1hcnNoYWwubGlzdAppbmRleCBmZWZkZmYzLi5kOGNhYTRjIDEwMDY0NAotLS0gYS9X
ZWJLaXQvZ3RrL3dlYmtpdG1hcnNoYWwubGlzdAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdG1hcnNo
YWwubGlzdApAQCAtMSw2ICsxLDcgQEAKIEJPT0xFQU46RU5VTSxJTlQKIEJPT0xFQU46SU5ULElO
VCxTVFJJTkcKIEJPT0xFQU46T0JKRUNUCitCT09MRUFOOk9CSkVDVCxPQkpFQ1QKIEJPT0xFQU46
T0JKRUNULE9CSkVDVCxPQkpFQ1QsT0JKRUNUCiBCT09MRUFOOk9CSkVDVCxPQkpFQ1QsU1RSSU5H
LE9CSkVDVAogQk9PTEVBTjpPQkpFQ1QsU1RSSU5HCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49321</attachid>
            <date>2010-02-23 13:27:34 -0800</date>
            <delta_ts>2010-02-23 23:16:58 -0800</delta_ts>
            <desc>patch v2.2</desc>
            <filename>35210.patch</filename>
            <type>text/plain</type>
            <size>16456</size>
            <attacher name="arno.">a.renevier</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBhMjYzZDc2Li4xMjlmNzdj
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsMTUgQEAK
IAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBbR3RrXSBp
bXBsZW1lbnRzIENocm9tZUNsaWVudDo6cmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvbkZvckZy
YW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTIx
MAorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisKKzIwMTAtMDItMjMgIEFybm8gUmVuZXZp
ZXIgIDxhcm5vQHJlbmV2aWVyLm5ldD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKwogICAgICAgICBbR3RrXSB0ZXN0d2VidmlldyBkb2VzIG5vdCB3b3JrIHdoZW4gY2Fs
bGVkIHdpdGggYWJzb2x1dGUgcGF0aAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MzQ5NDAKIApkaWZmIC0tZ2l0IGEvR05VbWFrZWZpbGUuYW0gYi9HTlVt
YWtlZmlsZS5hbQppbmRleCA4NTRhMWIwLi41YTI1NTU0IDEwMDY0NAotLS0gYS9HTlVtYWtlZmls
ZS5hbQorKysgYi9HTlVtYWtlZmlsZS5hbQpAQCAtMzI3LDYgKzMyNyw3IEBAIHdlYmtpdGd0a19o
X2FwaSArPSBcCiAJJChzcmNkaXIpL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmluc3BlY3Rv
ci5oIFwKIAkkKHNyY2RpcikvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2VibmF2aWdhdGlvbmFj
dGlvbi5oIFwKIAkkKHNyY2RpcikvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2VicG9saWN5ZGVj
aXNpb24uaCBcCisJJChzcmNkaXIpL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdlb2xvY2F0aW9u
cG9saWN5ZGVjaXNpb24uaCBcCiAJJChzcmNkaXIpL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdl
YnJlc291cmNlLmggXAogCSQoc3JjZGlyKS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0
aW5ncy5oIFwKIAkkKHNyY2RpcikvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vid2luZG93ZmVh
dHVyZXMuaCBcCkBAIC0zNzUsNiArMzc2LDcgQEAgd2Via2l0Z3RrX3NvdXJjZXMgKz0gXAogCVdl
YktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmluc3BlY3Rvci5jcHAgXAogCVdlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdHdlYm5hdmlnYXRpb25hY3Rpb24uY3BwIFwKIAlXZWJLaXQvZ3RrL3dlYmtpdC93
ZWJraXR3ZWJwb2xpY3lkZWNpc2lvbi5jcHAgXAorCVdlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdl
b2xvY2F0aW9ucG9saWN5ZGVjaXNpb24uY3BwIFwKIAlXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3
ZWJyZXNvdXJjZS5jcHAgXAogCVdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmRhdGFiYXNlLmNw
cCBcCiAJV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0c2VjdXJpdHlvcmlnaW4uY3BwIFwKZGlmZiAt
LWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXgg
MjllMjM2YS4uNTUwMjk1OSAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIv
V2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTIsNiArMiwyMiBAQAogCiAgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgogCisgICAgICAgIFtHdGtdIGltcGxlbWVudHMgQ2hyb21lQ2xp
ZW50OjpyZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MjEwCisKKyAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEd0ay5oOgorICAgICAgICAqIGRvY3Mvd2Via2l0Z3RrLXNlY3Rpb25zLnR4
dDoKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0ZGVmaW5lcy5oOgorICAgICAgICAqIHdlYmtpdC93
ZWJraXRwcml2YXRlLmg6CisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwOgorICAg
ICAgICAoRE5EQ29udGVudHNSZXF1ZXN0Ojp3ZWJraXRfd2ViX3ZpZXdfY2xhc3NfaW5pdCk6Cisg
ICAgICAgICogd2Via2l0bWFyc2hhbC5saXN0OgorCisyMDEwLTAyLTIzICBBcm5vIFJlbmV2aWVy
ICA8YXJub0ByZW5ldmllci5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKICAgICAgICAgW0d0a10gdGVzdHdlYnZpZXcgZG9lcyBub3Qgd29yayB3aGVuIGNhbGxl
ZCB3aXRoIGFic29sdXRlIHBhdGgKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTM0OTQwCiAKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50R3RrLmNwcCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50R3RrLmNwcAppbmRleCA3NGY1ZTA3Li4xNjhhNjc3IDEwMDY0NAotLS0gYS9XZWJLaXQv
Z3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKKysrIGIvV2ViS2l0L2d0ay9X
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5j
bHVkZSAiQ1N0cmluZy5oIgogI2luY2x1ZGUgIkhpdFRlc3RSZXN1bHQuaCIKICNpbmNsdWRlICJL
VVJMLmgiCisjaW5jbHVkZSAid2Via2l0Z2VvbG9jYXRpb25wb2xpY3lkZWNpc2lvbi5oIgogI2lu
Y2x1ZGUgIndlYmtpdHdlYnZpZXcuaCIKICNpbmNsdWRlICJ3ZWJraXRuZXR3b3JrcmVxdWVzdC5o
IgogI2luY2x1ZGUgIndlYmtpdHByaXZhdGUuaCIKQEAgLTU3NSwxMCArNTc2LDI2IEBAIGJvb2wg
Q2hyb21lQ2xpZW50OjpzZXRDdXJzb3IoUGxhdGZvcm1DdXJzb3JIYW5kbGUpCiAgICAgcmV0dXJu
IGZhbHNlOwogfQogCi12b2lkIENocm9tZUNsaWVudDo6cmVxdWVzdEdlb2xvY2F0aW9uUGVybWlz
c2lvbkZvckZyYW1lKEZyYW1lKiwgR2VvbG9jYXRpb24qKQordm9pZCBDaHJvbWVDbGllbnQ6OnJl
cXVlc3RHZW9sb2NhdGlvblBlcm1pc3Npb25Gb3JGcmFtZShGcmFtZSogZnJhbWUsIEdlb2xvY2F0
aW9uKiBnZW9sb2NhdGlvbikKIHsKLSAgICAvLyBTZWUgdGhlIGNvbW1lbnQgaW4gV2ViQ29yZS9w
YWdlL0Nocm9tZUNsaWVudC5oCi0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBXZWJLaXRXZWJG
cmFtZSogd2ViRnJhbWUgPSBraXQoZnJhbWUpOworICAgIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcg
PSBnZXRWaWV3RnJvbUZyYW1lKHdlYkZyYW1lKTsKKworICAgIFdlYktpdEdlb2xvY2F0aW9uUG9s
aWN5RGVjaXNpb24qIHBvbGljeURlY2lzaW9uID0gd2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9k
ZWNpc2lvbl9uZXcod2ViRnJhbWUsIGdlb2xvY2F0aW9uKTsKKworICAgIGdib29sZWFuIGlzSGFu
ZGxlZCA9IGZhbHNlOworICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh3ZWJWaWV3LCAiZ2VvbG9j
YXRpb24tcG9saWN5LWRlY2lzaW9uLXJlcXVlc3RlZCIsIHdlYkZyYW1lLCBwb2xpY3lEZWNpc2lv
biwgJmlzSGFuZGxlZCk7CisgICAgaWYgKCFpc0hhbmRsZWQpIHsKKyAgICAgICAgLy8gc2lnbmFs
IGhhcyBub3QgYmVlbiBoYW5kbGVkLCBkZW55IGJ5IGRlZmF1bHQuCisgICAgICAgIHdlYmtpdF9n
ZW9sb2NhdGlvbl9wb2xpY3lfc2V0X3Blcm1pc3Npb24ocG9saWN5RGVjaXNpb24sIEZBTFNFKTsK
KyAgICB9Cit9CisKK3ZvaWQgQ2hyb21lQ2xpZW50OjpjYW5jZWxHZW9sb2NhdGlvblBlcm1pc3Np
b25SZXF1ZXN0Rm9yRnJhbWUoV2ViQ29yZTo6RnJhbWUqIGZyYW1lKQoreworICAgIFdlYktpdFdl
YkZyYW1lKiB3ZWJGcmFtZSA9IGtpdChmcmFtZSk7CisgICAgV2ViS2l0V2ViVmlldyogd2ViVmll
dyA9IGdldFZpZXdGcm9tRnJhbWUod2ViRnJhbWUpOworICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFt
ZSh3ZWJWaWV3LCAiZ2VvbG9jYXRpb24tcGVybWlzc2lvbi1yZXF1ZXN0LWNhbmNlbGVkIiwgd2Vi
RnJhbWUpOwogfQogCiB9CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0No
cm9tZUNsaWVudEd0ay5oIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRH
dGsuaAppbmRleCA2MmQ0OGZhLi42MTM5YjNhIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oCisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50R3RrLmgKQEAgLTExNyw3ICsxMTcsNyBAQCBuYW1lc3BhY2UgV2ViS2l0
IHsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IFdlYkNv
cmU6OkludFJlY3QmLCBjb25zdCBXZWJDb3JlOjpTY3JvbGxWaWV3KikgY29uc3Qge30KICAgICAg
ICAgdmlydHVhbCB2b2lkIHJlcXVlc3RHZW9sb2NhdGlvblBlcm1pc3Npb25Gb3JGcmFtZShXZWJD
b3JlOjpGcmFtZSosIFdlYkNvcmU6Okdlb2xvY2F0aW9uKik7Ci0gICAgICAgIHZpcnR1YWwgdm9p
ZCBjYW5jZWxHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Rm9yRnJhbWUoV2ViQ29yZTo6RnJh
bWUqKSB7IH0KKyAgICAgICAgdmlydHVhbCB2b2lkIGNhbmNlbEdlb2xvY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RGb3JGcmFtZShXZWJDb3JlOjpGcmFtZSopOwogCiAgICAgcHJpdmF0ZToKICAgICAg
ICAgV2ViS2l0V2ViVmlldyogbV93ZWJWaWV3OwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9kb2Nz
L3dlYmtpdGd0ay1zZWN0aW9ucy50eHQgYi9XZWJLaXQvZ3RrL2RvY3Mvd2Via2l0Z3RrLXNlY3Rp
b25zLnR4dAppbmRleCAyMzc5YzhiLi45MGM4ZGI0IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL2Rv
Y3Mvd2Via2l0Z3RrLXNlY3Rpb25zLnR4dAorKysgYi9XZWJLaXQvZ3RrL2RvY3Mvd2Via2l0Z3Rr
LXNlY3Rpb25zLnR4dApAQCAtMzUxLDYgKzM1MSwyNCBAQCBXZWJLaXRXZWJQb2xpY3lEZWNpc2lv
blByaXZhdGUKIDwvU0VDVElPTj4KIAogPFNFQ1RJT04+Cis8RklMRT53ZWJraXRnZW9sb2NhdGlv
bnBvbGljeWRlY2lzaW9uPC9GSUxFPgorPFRJVExFPldlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVj
aXNpb248L1RJVExFPgorV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbgord2Via2l0X2dl
b2xvY2F0aW9uX3BvbGljeV9zZXRfcGVybWlzc2lvbgorPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitX
RUJLSVRfSVNfR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OCitXRUJLSVRfSVNfR0VPTE9DQVRJ
T05fUE9MSUNZX0RFQ0lTSU9OX0NMQVNTCitXRUJLSVRfVFlQRV9HRU9MT0NBVElPTl9QT0xJQ1lf
REVDSVNJT04KK1dFQktJVF9HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT04KK1dFQktJVF9HRU9M
T0NBVElPTl9QT0xJQ1lfREVDSVNJT05fQ0xBU1MKK1dFQktJVF9HRU9MT0NBVElPTl9QT0xJQ1lf
REVDSVNJT05fR0VUX0NMQVNTCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0R2VvbG9jYXRp
b25Qb2xpY3lEZWNpc2lvbgorV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbkNsYXNzCitX
ZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uUHJpdmF0ZQorPC9TRUNUSU9OPgorCis8U0VD
VElPTj4KIDxGSUxFPndlYmtpdG5ldHdvcmtyZXF1ZXN0PC9GSUxFPgogPFRJVExFPldlYktpdE5l
dHdvcmtSZXF1ZXN0PC9USVRMRT4KIFdlYktpdE5ldHdvcmtSZXF1ZXN0CmRpZmYgLS1naXQgYS9X
ZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkZWZpbmVzLmggYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXRkZWZpbmVzLmgKaW5kZXggYTU4ODRmMy4uYjA2YTNiZiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0
ay93ZWJraXQvd2Via2l0ZGVmaW5lcy5oCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRl
ZmluZXMuaApAQCAtODksNiArODksOSBAQCB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0U2VjdXJpdHlP
cmlnaW5DbGFzcyBXZWJLaXRTZWN1cml0eU9yaWdpbkNsYXNzOwogdHlwZWRlZiBzdHJ1Y3QgX1dl
YktpdEhpdFRlc3RSZXN1bHQgV2ViS2l0SGl0VGVzdFJlc3VsdDsKIHR5cGVkZWYgc3RydWN0IF9X
ZWJLaXRIaXRUZXN0UmVzdWx0Q2xhc3MgV2ViS2l0SGl0VGVzdFJlc3VsdENsYXNzOwogCit0eXBl
ZGVmIHN0cnVjdCBfV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbiBXZWJLaXRHZW9sb2Nh
dGlvblBvbGljeURlY2lzaW9uOwordHlwZWRlZiBzdHJ1Y3QgX1dlYktpdEdlb2xvY2F0aW9uUG9s
aWN5RGVjaXNpb25DbGFzcyBXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uQ2xhc3M7CisK
IEdfRU5EX0RFQ0xTCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Vi
a2l0Z2VvbG9jYXRpb25wb2xpY3lkZWNpc2lvbi5jcHAgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXRnZW9sb2NhdGlvbnBvbGljeWRlY2lzaW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi41NTkzOGNkCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQv
d2Via2l0Z2VvbG9jYXRpb25wb2xpY3lkZWNpc2lvbi5jcHAKQEAgLTAsMCArMSw4NiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMCBBcm5vIFJlbmV2aWVyCisgKgorICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
KyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
CisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAq
CisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAq
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KworI2luY2x1ZGUgIndlYmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNpb24uaCIKKworI2luY2x1
ZGUgIndlYmtpdHByaXZhdGUuaCIKKworI2luY2x1ZGUgIkdlb2xvY2F0aW9uLmgiCisKK3VzaW5n
IG5hbWVzcGFjZSBXZWJLaXQ7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworLyoqCisgKiBT
RUNUSU9OOndlYmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNpb24KKyAqIEBzaG9ydF9kZXNjcmlw
dGlvbjogTGlhaXNvbiBiZXR3ZWVuIFdlYktpdCBhbmQgdGhlIGFwcGxpY2F0aW9uIHJlZ2FyZGlu
ZyBhc3luY2hyb25vdXMgZ2VvbG9jYXRpb24gcG9saWN5IGRlY2lzaW9ucworICoKKyAqICNXZWJL
aXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uIG9iamVjdHMgYXJlIGdpdmVuIHRvIHRoZSBhcHBs
aWNhdGlvbiB3aGVuCisgKiBnZW9sb2NhdGlvbi1wb2xpY3ktZGVjaXNpb24tcmVxdWVzdGVkIHNp
Z25hbCBpcyBlbWl0dGVkLiBUaGUgYXBwbGljYXRpb24KKyAqIHVzZXMgaXQgdG8gdGVsbCB0aGUg
ZW5naW5lIHdoZXRoZXIgaXQgd2FudHMgdG8gYWxsb3cgb3IgZGVueSBnZW9sb2NhdGlvbiBmb3IK
KyAqIGdpdmVuIGZyYW1lLgorICovCisKK0dfREVGSU5FX1RZUEUoV2ViS2l0R2VvbG9jYXRpb25Q
b2xpY3lEZWNpc2lvbiwgd2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9kZWNpc2lvbiwgR19UWVBF
X09CSkVDVCk7CisKK3N0cnVjdCBfV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvblByaXZh
dGUgeworICAgIFdlYktpdFdlYkZyYW1lKiBmcmFtZTsKKyAgICBHZW9sb2NhdGlvbiogZ2VvbG9j
YXRpb247Cit9OworCisjZGVmaW5lIFdFQktJVF9HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT05f
R0VUX1BSSVZBVEUob2JqKSAgICAoR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKChvYmopLCBX
RUJLSVRfVFlQRV9HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT04sIFdlYktpdEdlb2xvY2F0aW9u
UG9saWN5RGVjaXNpb25Qcml2YXRlKSkKKworc3RhdGljIHZvaWQgd2Via2l0X2dlb2xvY2F0aW9u
X3BvbGljeV9kZWNpc2lvbl9jbGFzc19pbml0KFdlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNp
b25DbGFzcyogZGVjaXNpb25DbGFzcykKK3sKKyAgICBnX3R5cGVfY2xhc3NfYWRkX3ByaXZhdGUo
ZGVjaXNpb25DbGFzcywgc2l6ZW9mKFdlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb25Qcml2
YXRlKSk7Cit9CisKK3N0YXRpYyB2b2lkIHdlYmtpdF9nZW9sb2NhdGlvbl9wb2xpY3lfZGVjaXNp
b25faW5pdChXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uKiBkZWNpc2lvbikKK3sKKyAg
ICBkZWNpc2lvbi0+cHJpdiA9IFdFQktJVF9HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT05fR0VU
X1BSSVZBVEUoZGVjaXNpb24pOworfQorCitXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9u
KiB3ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5X2RlY2lzaW9uX25ldyhXZWJLaXRXZWJGcmFtZSog
ZnJhbWUsIEdlb2xvY2F0aW9uKiBnZW9sb2NhdGlvbikKK3sKKyAgICBnX3JldHVybl92YWxfaWZf
ZmFpbChmcmFtZSwgTlVMTCk7CisgICAgV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbiog
ZGVjaXNpb24gPSBXRUJLSVRfR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OKGdfb2JqZWN0X25l
dyhXRUJLSVRfVFlQRV9HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT04sIE5VTEwpKTsKKyAgICBX
ZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uUHJpdmF0ZSogcHJpdiA9IGRlY2lzaW9uLT5w
cml2OworCisKKyAgICBwcml2LT5mcmFtZSA9IGZyYW1lOworICAgIHByaXYtPmdlb2xvY2F0aW9u
ID0gZ2VvbG9jYXRpb247CisgICAgcmV0dXJuIGRlY2lzaW9uOworfQorCisvKioKKyAqIHdlYmtp
dF9nZW9sb2NhdGlvbl9wb2xpY3lfc2V0X3Blcm1pc3Npb24KKyAqIEBkZWNpc2lvbjogYSAjV2Vi
S2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbgorICoKKyAqIFdpbGwgc2VuZCB0aGUgYWxsb3cg
b3IgZGVueSBkZWNpc2lvbiB0byB0aGUgcG9saWN5IGltcGxlbWVudGVyLgorICoKKyAqIFNpbmNl
OiAxLjEuMjIKKyAqLwordm9pZCB3ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5X3NldF9wZXJtaXNz
aW9uKFdlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb24qIGRlY2lzaW9uLCBib29sIGFsbG93
ZWQpCit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfR0VPTE9DQVRJT05fUE9MSUNZ
X0RFQ0lTSU9OKGRlY2lzaW9uKSk7CisKKyAgICBXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lz
aW9uUHJpdmF0ZSogcHJpdiA9IGRlY2lzaW9uLT5wcml2OworICAgIHByaXYtPmdlb2xvY2F0aW9u
LT5zZXRJc0FsbG93ZWQoYWxsb3dlZCk7Cit9CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXRnZW9sb2NhdGlvbnBvbGljeWRlY2lzaW9uLmggYi9XZWJLaXQvZ3RrL3dlYmtpdC93
ZWJraXRnZW9sb2NhdGlvbnBvbGljeWRlY2lzaW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uZDc4MjVlNQotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNpb24uaApAQCAtMCwwICsxLDYxIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEwIEFybm8gUmVuZXZpZXIKKyAqCisgKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwor
ICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
KyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoK
KyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICog
Qm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiB3ZWJraXRnZW9sb2Nh
dGlvbnBvbGljeWRlY2lzaW9uX2gKKyNkZWZpbmUgd2Via2l0Z2VvbG9jYXRpb25wb2xpY3lkZWNp
c2lvbl9oCisKKyNpbmNsdWRlIDxnbGliLW9iamVjdC5oPgorI2luY2x1ZGUgPHdlYmtpdC93ZWJr
aXRkZWZpbmVzLmg+CisKK0dfQkVHSU5fREVDTFMKKworI2RlZmluZSBXRUJLSVRfVFlQRV9HRU9M
T0NBVElPTl9QT0xJQ1lfREVDSVNJT04gICAgICAgICAgICAod2Via2l0X2dlb2xvY2F0aW9uX3Bv
bGljeV9kZWNpc2lvbl9nZXRfdHlwZSgpKQorI2RlZmluZSBXRUJLSVRfR0VPTE9DQVRJT05fUE9M
SUNZX0RFQ0lTSU9OKG9iaikgICAgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX0NBU1Qo
KG9iaiksIFdFQktJVF9UWVBFX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTiwgV2ViS2l0R2Vv
bG9jYXRpb25Qb2xpY3lEZWNpc2lvbikpCisjZGVmaW5lIFdFQktJVF9HRU9MT0NBVElPTl9QT0xJ
Q1lfREVDSVNJT05fQ0xBU1Moa2xhc3MpICAgIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfQ0FTVCgoa2xh
c3MpLCAgV0VCS0lUX1RZUEVfR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OLCBXZWJLaXRHZW9s
b2NhdGlvblBvbGljeURlY2lzaW9uQ2xhc3MpKQorI2RlZmluZSBXRUJLSVRfSVNfR0VPTE9DQVRJ
T05fUE9MSUNZX0RFQ0lTSU9OKG9iaikgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZ
UEUoKG9iaiksIFdFQktJVF9UWVBFX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTikpCisjZGVm
aW5lIFdFQktJVF9JU19HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT05fQ0xBU1Moa2xhc3MpIChH
X1RZUEVfQ0hFQ0tfQ0xBU1NfVFlQRSgoa2xhc3MpLCAgV0VCS0lUX1RZUEVfR0VPTE9DQVRJT05f
UE9MSUNZX0RFQ0lTSU9OKSkKKyNkZWZpbmUgV0VCS0lUX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJ
U0lPTl9HRVRfQ0xBU1Mob2JqKSAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfQ0xBU1MoKG9iaiksICBX
RUJLSVRfVFlQRV9HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT04sIFdlYktpdEdlb2xvY2F0aW9u
UG9saWN5RGVjaXNpb25DbGFzcykpCisKK3R5cGVkZWYgc3RydWN0IF9XZWJLaXRHZW9sb2NhdGlv
blBvbGljeURlY2lzaW9uUHJpdmF0ZSBXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uUHJp
dmF0ZTsKK3N0cnVjdCBfV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbiB7CisgICAgR09i
amVjdCBwYXJlbnRfaW5zdGFuY2U7CisKKyAgICAvKjwgcHJpdmF0ZSA+Ki8KKyAgICBXZWJLaXRH
ZW9sb2NhdGlvblBvbGljeURlY2lzaW9uUHJpdmF0ZSogcHJpdjsKK307CisKK3N0cnVjdCBfV2Vi
S2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbkNsYXNzIHsKKyAgICBHT2JqZWN0Q2xhc3MgcGFy
ZW50X2NsYXNzOworCisgICAgLyogUGFkZGluZyBmb3IgZnV0dXJlIGV4cGFuc2lvbiAqLworICAg
IHZvaWQgKCpfd2Via2l0X3Jlc2VydmVkMCkgKHZvaWQpOworICAgIHZvaWQgKCpfd2Via2l0X3Jl
c2VydmVkMSkgKHZvaWQpOworICAgIHZvaWQgKCpfd2Via2l0X3Jlc2VydmVkMikgKHZvaWQpOwor
ICAgIHZvaWQgKCpfd2Via2l0X3Jlc2VydmVkMykgKHZvaWQpOworfTsKKworV0VCS0lUX0FQSSBH
VHlwZQord2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9kZWNpc2lvbl9nZXRfdHlwZSAodm9pZCk7
CisKK1dFQktJVF9BUEkgdm9pZAord2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9zZXRfcGVybWlz
c2lvbiAoV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbiogZGVjaXNpb24sIGJvb2wgYWxs
b3dlZCk7CisKK0dfRU5EX0RFQ0xTCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93
ZWJraXQvd2Via2l0cHJpdmF0ZS5oIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0ZS5o
CmluZGV4IDA0NmYzM2UuLjEyZDgyNzkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dl
YmtpdHByaXZhdGUuaAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2YXRlLmgKQEAg
LTQ5LDYgKzQ5LDcgQEAKICNpbmNsdWRlICJDU3RyaW5nLmgiCiAjaW5jbHVkZSA8ZW5jaGFudC5o
PgogI2luY2x1ZGUgIkdPd25QdHIuaCIKKyNpbmNsdWRlICJHZW9sb2NhdGlvbi5oIgogI2luY2x1
ZGUgIkhpc3RvcnlJdGVtLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJQYWdl
LmgiCkBAIC0yNzYsNiArMjc3LDkgQEAgZXh0ZXJuICJDIiB7CiAgICAgV2ViS2l0TmV0d29ya1Jl
c3BvbnNlKgogICAgIHdlYmtpdF9uZXR3b3JrX3Jlc3BvbnNlX25ld193aXRoX2NvcmVfcmVzcG9u
c2UoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzb3VyY2VSZXNwb25zZSk7CiAK
KyAgICBXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uKgorICAgIHdlYmtpdF9nZW9sb2Nh
dGlvbl9wb2xpY3lfZGVjaXNpb25fbmV3KFdlYktpdFdlYkZyYW1lKiwgV2ViQ29yZTo6R2VvbG9j
YXRpb24qKTsKKwogICAgIC8vIEZJWE1FOiBtb3ZlIHRoaXMgdG8gd2Via2l0bmV0d29ya3JlcXVl
c3QuaCBvbmNlIHRoZSBBUEkgaXMgYWdyZWVkIHVwb24uCiAgICAgV0VCS0lUX0FQSSBTb3VwTWVz
c2FnZSoKICAgICB3ZWJraXRfbmV0d29ya19yZXF1ZXN0X2dldF9tZXNzYWdlKFdlYktpdE5ldHdv
cmtSZXF1ZXN0KiByZXF1ZXN0KTsKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtp
dHdlYnZpZXcuY3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKaW5kZXgg
MTZjOTQ3Ny4uNjZiNjRiMSAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vi
dmlldy5jcHAKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKQEAgLTMx
LDYgKzMxLDcgQEAKIAogI2luY2x1ZGUgIndlYmtpdGRvd25sb2FkLmgiCiAjaW5jbHVkZSAid2Vi
a2l0ZW51bXR5cGVzLmgiCisjaW5jbHVkZSAid2Via2l0Z2VvbG9jYXRpb25wb2xpY3lkZWNpc2lv
bi5oIgogI2luY2x1ZGUgIndlYmtpdG1hcnNoYWwuaCIKICNpbmNsdWRlICJ3ZWJraXRuZXR3b3Jr
cmVxdWVzdC5oIgogI2luY2x1ZGUgIndlYmtpdG5ldHdvcmtyZXNwb25zZS5oIgpAQCAtMTU4LDYg
KzE1OSw4IEBAIGVudW0gewogICAgIFJFRE8sCiAgICAgREFUQUJBU0VfUVVPVEFfRVhDRUVERUQs
CiAgICAgUkVTT1VSQ0VfUkVRVUVTVF9TVEFSVElORywKKyAgICBHRU9MT0NBVElPTl9QT0xJQ1lf
REVDSVNJT05fUkVRVUVTVEVELAorICAgIEdFT0xPQ0FUSU9OX1BFUk1JU1NJT05fUkVRVUVTVF9D
QU5DRUxFRCwKICAgICBMQVNUX1NJR05BTAogfTsKIApAQCAtMjE1Nyw2ICsyMTYwLDQ4IEBAIHN0
YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld19jbGFzc19pbml0KFdlYktpdFdlYlZpZXdDbGFzcyog
d2ViVmlld0NsYXNzKQogICAgICAgICAgICAgV0VCS0lUX1RZUEVfTkVUV09SS19SRVFVRVNULAog
ICAgICAgICAgICAgV0VCS0lUX1RZUEVfTkVUV09SS19SRVNQT05TRSk7CiAKKyAgICAvKioKKyAg
ICAgKiBXZWJLaXRXZWJWaWV3OjpnZW9sb2NhdGlvbi1wb2xpY3ktZGVjaXNpb24tcmVxdWVzdGVk
OgorICAgICAqIEB3ZWJfdmlldzogdGhlIG9iamVjdCBvbiB3aGljaCB0aGUgc2lnbmFsIGlzIGVt
aXR0ZWQKKyAgICAgKiBAZnJhbWU6IHRoZSBmcmFtZSB0aGF0IHJlcXVlc3RzIHBlcm1pc3Npb24K
KyAgICAgKiBAcG9saWN5X2RlY2lzaW9uOiBhIFdlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNp
b24KKyAgICAgKgorICAgICAqIFdoZW4gYSBAZnJhbWUgd2FudHMgdG8gZ2V0IGl0cyBnZW9sb2Nh
dGlvbiBwZXJtaXNzaW9uLgorICAgICAqIFRoZSByZWNlaXZlciBtdXN0IHJlcGx5IHdpdGggYSBi
b29sZWFuIHdldGhlciBpdCBoYW5kbGVkIG9yIG5vdCB0aGUKKyAgICAgKiByZXF1ZXN0LiBJZiB0
aGUgcmVxdWVzdCBpcyBub3QgaGFuZGxlZCwgZGVmYXVsdCBiZWhhdmlvdXIgaXMgdG8gZGVueQor
ICAgICAqIGdlb2xvY2F0aW9uLgorICAgICAqCisgICAgICogU2luY2U6IDEuMS4yMgorICAgICAq
LworICAgIHdlYmtpdF93ZWJfdmlld19zaWduYWxzW0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lP
Tl9SRVFVRVNURURdID0gZ19zaWduYWxfbmV3KCJnZW9sb2NhdGlvbi1wb2xpY3ktZGVjaXNpb24t
cmVxdWVzdGVkIiwKKyAgICAgICAgICAgIEdfVFlQRV9GUk9NX0NMQVNTKHdlYlZpZXdDbGFzcyks
CisgICAgICAgICAgICAoR1NpZ25hbEZsYWdzKShHX1NJR05BTF9SVU5fTEFTVCksCisgICAgICAg
ICAgICAwLAorICAgICAgICAgICAgTlVMTCwgTlVMTCwKKyAgICAgICAgICAgIHdlYmtpdF9tYXJz
aGFsX0JPT0xFQU5fX09CSkVDVF9PQkpFQ1QsCisgICAgICAgICAgICBHX1RZUEVfQk9PTEVBTiwg
MiwKKyAgICAgICAgICAgIFdFQktJVF9UWVBFX1dFQl9GUkFNRSwKKyAgICAgICAgICAgIFdFQktJ
VF9UWVBFX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTik7CisKKyAgICAvKioKKyAgICAgKiBX
ZWJLaXRXZWJWaWV3OjpnZW9sb2NhdGlvbi1wZXJtaXNzaW9uLXJlcXVlc3QtY2FuY2VsZWQ6Cisg
ICAgICogQHdlYl92aWV3OiB0aGUgb2JqZWN0IG9uIHdoaWNoIHRoZSBzaWduYWwgaXMgZW1pdHRl
ZAorICAgICAqIEBmcmFtZTogdGhlIGZyYW1lIHRoYXQgY2FuY2VscyBnZW9sb2NhdGlvbiByZXF1
ZXN0LgorICAgICAqCisgICAgICogV2hlbiBhIEBmcmFtZSB3YW50cyB0byBjYW5jZWwgZ2VvbG9j
YXRpb24gcGVybWlzc2lvbiBpdCBoYWQgcmVxdWVzdGVkCisgICAgICogYmVmb3JlLgorICAgICAq
CisgICAgICogU2luY2U6IDEuMS4yMgorICAgICAqLworICAgIHdlYmtpdF93ZWJfdmlld19zaWdu
YWxzW0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTl9SRVFVRVNURURdID0gZ19zaWduYWxfbmV3
KCJnZW9sb2NhdGlvbi1wZXJtaXNzaW9uLXJlcXVlc3QtY2FuY2VsZWQiLAorICAgICAgICAgICAg
R19UWVBFX0ZST01fQ0xBU1Mod2ViVmlld0NsYXNzKSwKKyAgICAgICAgICAgIChHU2lnbmFsRmxh
Z3MpKEdfU0lHTkFMX1JVTl9MQVNUKSwKKyAgICAgICAgICAgIDAsCisgICAgICAgICAgICBOVUxM
LCBOVUxMLAorICAgICAgICAgICAgZ19jY2xvc3VyZV9tYXJzaGFsX1ZPSURfX09CSkVDVCwKKyAg
ICAgICAgICAgIEdfVFlQRV9OT05FLCAxLAorICAgICAgICAgICAgV0VCS0lUX1RZUEVfV0VCX0ZS
QU1FKTsKKwogICAgIC8qCiAgICAgICogaW1wbGVtZW50YXRpb25zIG9mIHZpcnR1YWwgbWV0aG9k
cwogICAgICAqLwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXRtYXJzaGFsLmxpc3QgYi9X
ZWJLaXQvZ3RrL3dlYmtpdG1hcnNoYWwubGlzdAppbmRleCBmZWZkZmYzLi5kOGNhYTRjIDEwMDY0
NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdG1hcnNoYWwubGlzdAorKysgYi9XZWJLaXQvZ3RrL3dl
YmtpdG1hcnNoYWwubGlzdApAQCAtMSw2ICsxLDcgQEAKIEJPT0xFQU46RU5VTSxJTlQKIEJPT0xF
QU46SU5ULElOVCxTVFJJTkcKIEJPT0xFQU46T0JKRUNUCitCT09MRUFOOk9CSkVDVCxPQkpFQ1QK
IEJPT0xFQU46T0JKRUNULE9CSkVDVCxPQkpFQ1QsT0JKRUNUCiBCT09MRUFOOk9CSkVDVCxPQkpF
Q1QsU1RSSU5HLE9CSkVDVAogQk9PTEVBTjpPQkpFQ1QsU1RSSU5HCg==
</data>
<flag name="review"
          id="32160"
          type_id="1"
          status="-"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49361</attachid>
            <date>2010-02-23 23:16:58 -0800</date>
            <delta_ts>2010-02-24 13:05:46 -0800</delta_ts>
            <desc>patch v2.3</desc>
            <filename>35210.patch</filename>
            <type>text/plain</type>
            <size>17770</size>
            <attacher name="arno.">a.renevier</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA2OTdjMGVhLi42M2Q4OTc4
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMTAtMDItMjMgIEFybm8gUmVuZXZpZXIgIDxhcm5vQHJlbmV2aWVyLm5ldD4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR3RrXSBpbXBsZW1lbnRz
IENocm9tZUNsaWVudDo6cmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvbkZvckZyYW1lCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTIxMAorCisgICAg
ICAgICogR05VbWFrZWZpbGUuYW06CisKIDIwMTAtMDItMjMgIExlYW5kcm8gUGVyZWlyYSAgPGxl
YW5kcm9AcHJvZnVzaW9uLm1vYmk+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgR3VzdGF2byBOb3Jv
bmhhIFNpbHZhLgpkaWZmIC0tZ2l0IGEvR05VbWFrZWZpbGUuYW0gYi9HTlVtYWtlZmlsZS5hbQpp
bmRleCA1ZjZhZjQ4Li5mYmJhYjRkIDEwMDY0NAotLS0gYS9HTlVtYWtlZmlsZS5hbQorKysgYi9H
TlVtYWtlZmlsZS5hbQpAQCAtMzI3LDYgKzMyNyw3IEBAIHdlYmtpdGd0a19oX2FwaSArPSBcCiAJ
JChzcmNkaXIpL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmluc3BlY3Rvci5oIFwKIAkkKHNy
Y2RpcikvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2VibmF2aWdhdGlvbmFjdGlvbi5oIFwKIAkk
KHNyY2RpcikvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2VicG9saWN5ZGVjaXNpb24uaCBcCisJ
JChzcmNkaXIpL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNp
b24uaCBcCiAJJChzcmNkaXIpL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnJlc291cmNlLmgg
XAogCSQoc3JjZGlyKS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5oIFwKIAkk
KHNyY2RpcikvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vid2luZG93ZmVhdHVyZXMuaCBcCkBA
IC0zNzUsNiArMzc2LDcgQEAgd2Via2l0Z3RrX3NvdXJjZXMgKz0gXAogCVdlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdHdlYmluc3BlY3Rvci5jcHAgXAogCVdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdl
Ym5hdmlnYXRpb25hY3Rpb24uY3BwIFwKIAlXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJwb2xp
Y3lkZWNpc2lvbi5jcHAgXAorCVdlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdlb2xvY2F0aW9ucG9s
aWN5ZGVjaXNpb24uY3BwIFwKIAlXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJyZXNvdXJjZS5j
cHAgXAogCVdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmRhdGFiYXNlLmNwcCBcCiAJV2ViS2l0
L2d0ay93ZWJraXQvd2Via2l0c2VjdXJpdHlvcmlnaW4uY3BwIFwKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Nr
aXBwZWQKaW5kZXggMzY1ODc5OC4uYjIxZTQ0YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQK
QEAgLTEyODMsMTcgKzEyODMsMTEgQEAgZmFzdC9kb20vY3NzVGFyZ2V0LWNyYXNoLmh0bWwKIGZh
c3QvZG9tL2ZyYW1lLWxvYWRpbmctdmlhLWRvY3VtZW50LXdyaXRlLmh0bWwKIGZhc3QvZG9tL0dl
b2xvY2F0aW9uL2NhbGxiYWNrLWV4Y2VwdGlvbi5odG1sCiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9l
cnJvci5odG1sCi1mYXN0L2RvbS9HZW9sb2NhdGlvbi9wZXJtaXNzaW9uLWRlbmllZC1hbHJlYWR5
LWNsZWFyLXdhdGNoLmh0bWwKLWZhc3QvZG9tL0dlb2xvY2F0aW9uL3Blcm1pc3Npb24tZGVuaWVk
LWFscmVhZHktZXJyb3IuaHRtbAotZmFzdC9kb20vR2VvbG9jYXRpb24vcGVybWlzc2lvbi1kZW5p
ZWQtYWxyZWFkeS1zdWNjZXNzLmh0bWwKLWZhc3QvZG9tL0dlb2xvY2F0aW9uL3Blcm1pc3Npb24t
ZGVuaWVkLXN0b3BzLXdhdGNoZXMuaHRtbAotZmFzdC9kb20vR2VvbG9jYXRpb24vcGVybWlzc2lv
bi1kZW5pZWQuaHRtbAogZmFzdC9kb20vR2VvbG9jYXRpb24vcG9zaXRpb24tc3RyaW5nLmh0bWwK
IGZhc3QvZG9tL0dlb2xvY2F0aW9uL3JlZW50cmFudC1lcnJvci5odG1sCiBmYXN0L2RvbS9HZW9s
b2NhdGlvbi9yZWVudHJhbnQtc3VjY2Vzcy5odG1sCiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9zdWNj
ZXNzLmh0bWwKIGZhc3QvZG9tL0dlb2xvY2F0aW9uL3RpbWVvdXQtY2xlYXItd2F0Y2guaHRtbAot
ZmFzdC9kb20vR2VvbG9jYXRpb24vdGltZW91dC16ZXJvLmh0bWwKIGZhc3QvZG9tL0dlb2xvY2F0
aW9uL3RpbWVvdXQuaHRtbAogZmFzdC9kb20vR2VvbG9jYXRpb24vd2F0Y2guaHRtbAogZmFzdC9k
b20vRWxlbWVudC9nZXRCb3VuZGluZ0NsaWVudFJlY3QuaHRtbApkaWZmIC0tZ2l0IGEvV2ViS2l0
L2d0ay9DaGFuZ2VMb2cgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCA3MzU5OWRhLi40MmIw
Yzc5IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9XZWJLaXQvZ3RrL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEwLTAyLTIzICBBcm5vIFJlbmV2aWVyICA8YXJu
b0ByZW5ldmllci5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgW0d0a10gaW1wbGVtZW50cyBDaHJvbWVDbGllbnQ6OnJlcXVlc3RHZW9sb2NhdGlv
blBlcm1pc3Npb25Gb3JGcmFtZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MzUyMTAKKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVu
dEd0ay5jcHA6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmg6Cisg
ICAgICAgICogZG9jcy93ZWJraXRndGstc2VjdGlvbnMudHh0OgorICAgICAgICAqIHdlYmtpdC93
ZWJraXRkZWZpbmVzLmg6CisgICAgICAgICogd2Via2l0L3dlYmtpdHByaXZhdGUuaDoKKyAgICAg
ICAgKiB3ZWJraXQvd2Via2l0d2Vidmlldy5jcHA6CisgICAgICAgIChETkRDb250ZW50c1JlcXVl
c3Q6OndlYmtpdF93ZWJfdmlld19jbGFzc19pbml0KToKKyAgICAgICAgKiB3ZWJraXRtYXJzaGFs
Lmxpc3Q6CisKIDIwMTAtMDItMjMgIExlYW5kcm8gUGVyZWlyYSAgPGxlYW5kcm9AcHJvZnVzaW9u
Lm1vYmk+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgR3VzdGF2byBOb3JvbmhhIFNpbHZhLgpkaWZm
IC0tZ2l0IGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwIGIv
V2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCmluZGV4IDc0ZjVl
MDcuLmZhMjQ3NTIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50R3RrLmNwcAorKysgYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVu
dEd0ay5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJDU3RyaW5nLmgiCiAjaW5jbHVk
ZSAiSGl0VGVzdFJlc3VsdC5oIgogI2luY2x1ZGUgIktVUkwuaCIKKyNpbmNsdWRlICJ3ZWJraXRn
ZW9sb2NhdGlvbnBvbGljeWRlY2lzaW9uLmgiCiAjaW5jbHVkZSAid2Via2l0d2Vidmlldy5oIgog
I2luY2x1ZGUgIndlYmtpdG5ldHdvcmtyZXF1ZXN0LmgiCiAjaW5jbHVkZSAid2Via2l0cHJpdmF0
ZS5oIgpAQCAtNTc1LDEwICs1NzYsMjQgQEAgYm9vbCBDaHJvbWVDbGllbnQ6OnNldEN1cnNvcihQ
bGF0Zm9ybUN1cnNvckhhbmRsZSkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXZvaWQgQ2hyb21l
Q2xpZW50OjpyZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUoRnJhbWUqLCBHZW9s
b2NhdGlvbiopCit2b2lkIENocm9tZUNsaWVudDo6cmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lv
bkZvckZyYW1lKEZyYW1lKiBmcmFtZSwgR2VvbG9jYXRpb24qIGdlb2xvY2F0aW9uKQogewotICAg
IC8vIFNlZSB0aGUgY29tbWVudCBpbiBXZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKLSAgICBu
b3RJbXBsZW1lbnRlZCgpOworICAgIFdlYktpdFdlYkZyYW1lKiB3ZWJGcmFtZSA9IGtpdChmcmFt
ZSk7CisgICAgV2ViS2l0V2ViVmlldyogd2ViVmlldyA9IGdldFZpZXdGcm9tRnJhbWUod2ViRnJh
bWUpOworCisgICAgV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbiogcG9saWN5RGVjaXNp
b24gPSB3ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5X2RlY2lzaW9uX25ldyh3ZWJGcmFtZSwgZ2Vv
bG9jYXRpb24pOworCisgICAgZ2Jvb2xlYW4gaXNIYW5kbGVkID0gRkFMU0U7CisgICAgZ19zaWdu
YWxfZW1pdF9ieV9uYW1lKHdlYlZpZXcsICJnZW9sb2NhdGlvbi1wb2xpY3ktZGVjaXNpb24tcmVx
dWVzdGVkIiwgd2ViRnJhbWUsIHBvbGljeURlY2lzaW9uLCAmaXNIYW5kbGVkKTsKKyAgICBpZiAo
IWlzSGFuZGxlZCkKKyAgICAgICAgd2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9kZW55KHBvbGlj
eURlY2lzaW9uKTsKK30KKwordm9pZCBDaHJvbWVDbGllbnQ6OmNhbmNlbEdlb2xvY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3RGb3JGcmFtZShXZWJDb3JlOjpGcmFtZSogZnJhbWUpCit7CisgICAgV2Vi
S2l0V2ViRnJhbWUqIHdlYkZyYW1lID0ga2l0KGZyYW1lKTsKKyAgICBXZWJLaXRXZWJWaWV3KiB3
ZWJWaWV3ID0gZ2V0Vmlld0Zyb21GcmFtZSh3ZWJGcmFtZSk7CisgICAgZ19zaWduYWxfZW1pdF9i
eV9uYW1lKHdlYlZpZXcsICJnZW9sb2NhdGlvbi1wZXJtaXNzaW9uLXJlcXVlc3QtY2FuY2VsZWQi
LCB3ZWJGcmFtZSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50R3RrLmggYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudEd0ay5oCmluZGV4IDYyZDQ4ZmEuLjYxMzliM2EgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgKKysrIGIvV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaApAQCAtMTE3LDcgKzExNyw3IEBAIG5hbWVzcGFjZSBX
ZWJLaXQgewogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3Qg
V2ViQ29yZTo6SW50UmVjdCYsIGNvbnN0IFdlYkNvcmU6OlNjcm9sbFZpZXcqKSBjb25zdCB7fQog
ICAgICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvbkZvckZyYW1l
KFdlYkNvcmU6OkZyYW1lKiwgV2ViQ29yZTo6R2VvbG9jYXRpb24qKTsKLSAgICAgICAgdmlydHVh
bCB2b2lkIGNhbmNlbEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RGb3JGcmFtZShXZWJDb3Jl
OjpGcmFtZSopIHsgfQorICAgICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsR2VvbG9jYXRpb25QZXJt
aXNzaW9uUmVxdWVzdEZvckZyYW1lKFdlYkNvcmU6OkZyYW1lKik7CiAKICAgICBwcml2YXRlOgog
ICAgICAgICBXZWJLaXRXZWJWaWV3KiBtX3dlYlZpZXc7CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3Rr
L2RvY3Mvd2Via2l0Z3RrLXNlY3Rpb25zLnR4dCBiL1dlYktpdC9ndGsvZG9jcy93ZWJraXRndGst
c2VjdGlvbnMudHh0CmluZGV4IDIzNzljOGIuLjE0MTI0YTEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9n
dGsvZG9jcy93ZWJraXRndGstc2VjdGlvbnMudHh0CisrKyBiL1dlYktpdC9ndGsvZG9jcy93ZWJr
aXRndGstc2VjdGlvbnMudHh0CkBAIC0zNTEsNiArMzUxLDI1IEBAIFdlYktpdFdlYlBvbGljeURl
Y2lzaW9uUHJpdmF0ZQogPC9TRUNUSU9OPgogCiA8U0VDVElPTj4KKzxGSUxFPndlYmtpdGdlb2xv
Y2F0aW9ucG9saWN5ZGVjaXNpb248L0ZJTEU+Cis8VElUTEU+V2ViS2l0R2VvbG9jYXRpb25Qb2xp
Y3lEZWNpc2lvbjwvVElUTEU+CitXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uCit3ZWJr
aXRfZ2VvbG9jYXRpb25fcG9saWN5X2FsbG93Cit3ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5X2Rl
bnkKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV0VCS0lUX0lTX0dFT0xPQ0FUSU9OX1BPTElDWV9E
RUNJU0lPTgorV0VCS0lUX0lTX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTl9DTEFTUworV0VC
S0lUX1RZUEVfR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OCitXRUJLSVRfR0VPTE9DQVRJT05f
UE9MSUNZX0RFQ0lTSU9OCitXRUJLSVRfR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OX0NMQVNT
CitXRUJLSVRfR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OX0dFVF9DTEFTUworPFNVQlNFQ1RJ
T04gUHJpdmF0ZT4KK1dlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb24KK1dlYktpdEdlb2xv
Y2F0aW9uUG9saWN5RGVjaXNpb25DbGFzcworV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lv
blByaXZhdGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+CiA8RklMRT53ZWJraXRuZXR3b3JrcmVx
dWVzdDwvRklMRT4KIDxUSVRMRT5XZWJLaXROZXR3b3JrUmVxdWVzdDwvVElUTEU+CiBXZWJLaXRO
ZXR3b3JrUmVxdWVzdApkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZGVmaW5l
cy5oIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZGVmaW5lcy5oCmluZGV4IGE1ODg0ZjMuLmIw
NmEzYmYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRlZmluZXMuaAorKysg
Yi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkZWZpbmVzLmgKQEAgLTg5LDYgKzg5LDkgQEAgdHlw
ZWRlZiBzdHJ1Y3QgX1dlYktpdFNlY3VyaXR5T3JpZ2luQ2xhc3MgV2ViS2l0U2VjdXJpdHlPcmln
aW5DbGFzczsKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRIaXRUZXN0UmVzdWx0IFdlYktpdEhpdFRl
c3RSZXN1bHQ7CiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0SGl0VGVzdFJlc3VsdENsYXNzIFdlYktp
dEhpdFRlc3RSZXN1bHRDbGFzczsKIAordHlwZWRlZiBzdHJ1Y3QgX1dlYktpdEdlb2xvY2F0aW9u
UG9saWN5RGVjaXNpb24gV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbjsKK3R5cGVkZWYg
c3RydWN0IF9XZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uQ2xhc3MgV2ViS2l0R2VvbG9j
YXRpb25Qb2xpY3lEZWNpc2lvbkNsYXNzOworCiBHX0VORF9ERUNMUwogCiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNpb24u
Y3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2VvbG9jYXRpb25wb2xpY3lkZWNpc2lvbi5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTA5NzU3MQotLS0gL2Rldi9u
dWxsCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNp
b24uY3BwCkBAIC0wLDAgKzEsMTAzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFybm8g
UmVuZXZpZXIKKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhl
IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICog
VGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w
bGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3Qs
IHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFu
a2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0Eu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSAid2Via2l0Z2VvbG9jYXRp
b25wb2xpY3lkZWNpc2lvbi5oIgorCisjaW5jbHVkZSAid2Via2l0cHJpdmF0ZS5oIgorCisjaW5j
bHVkZSAiR2VvbG9jYXRpb24uaCIKKwordXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKK3VzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOworCisvKioKKyAqIFNFQ1RJT046d2Via2l0Z2VvbG9jYXRpb25wb2xp
Y3lkZWNpc2lvbgorICogQHNob3J0X2Rlc2NyaXB0aW9uOiBMaWFpc29uIGJldHdlZW4gV2ViS2l0
IGFuZCB0aGUgYXBwbGljYXRpb24gcmVnYXJkaW5nIGFzeW5jaHJvbm91cyBnZW9sb2NhdGlvbiBw
b2xpY3kgZGVjaXNpb25zCisgKgorICogI1dlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb24g
b2JqZWN0cyBhcmUgZ2l2ZW4gdG8gdGhlIGFwcGxpY2F0aW9uIHdoZW4KKyAqIGdlb2xvY2F0aW9u
LXBvbGljeS1kZWNpc2lvbi1yZXF1ZXN0ZWQgc2lnbmFsIGlzIGVtaXR0ZWQuIFRoZSBhcHBsaWNh
dGlvbgorICogdXNlcyBpdCB0byB0ZWxsIHRoZSBlbmdpbmUgd2hldGhlciBpdCB3YW50cyB0byBh
bGxvdyBvciBkZW55IGdlb2xvY2F0aW9uIGZvcgorICogZ2l2ZW4gZnJhbWUuCisgKi8KKworR19E
RUZJTkVfVFlQRShXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uLCB3ZWJraXRfZ2VvbG9j
YXRpb25fcG9saWN5X2RlY2lzaW9uLCBHX1RZUEVfT0JKRUNUKTsKKworc3RydWN0IF9XZWJLaXRH
ZW9sb2NhdGlvblBvbGljeURlY2lzaW9uUHJpdmF0ZSB7CisgICAgV2ViS2l0V2ViRnJhbWUqIGZy
YW1lOworICAgIEdlb2xvY2F0aW9uKiBnZW9sb2NhdGlvbjsKK307CisKKyNkZWZpbmUgV0VCS0lU
X0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTl9HRVRfUFJJVkFURShvYmopICAgIChHX1RZUEVf
SU5TVEFOQ0VfR0VUX1BSSVZBVEUoKG9iaiksIFdFQktJVF9UWVBFX0dFT0xPQ0FUSU9OX1BPTElD
WV9ERUNJU0lPTiwgV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvblByaXZhdGUpKQorCitz
dGF0aWMgdm9pZCB3ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5X2RlY2lzaW9uX2NsYXNzX2luaXQo
V2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbkNsYXNzKiBkZWNpc2lvbkNsYXNzKQorewor
ICAgIGdfdHlwZV9jbGFzc19hZGRfcHJpdmF0ZShkZWNpc2lvbkNsYXNzLCBzaXplb2YoV2ViS2l0
R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvblByaXZhdGUpKTsKK30KKworc3RhdGljIHZvaWQgd2Vi
a2l0X2dlb2xvY2F0aW9uX3BvbGljeV9kZWNpc2lvbl9pbml0KFdlYktpdEdlb2xvY2F0aW9uUG9s
aWN5RGVjaXNpb24qIGRlY2lzaW9uKQoreworICAgIGRlY2lzaW9uLT5wcml2ID0gV0VCS0lUX0dF
T0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTl9HRVRfUFJJVkFURShkZWNpc2lvbik7Cit9CisKK1dl
YktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb24qIHdlYmtpdF9nZW9sb2NhdGlvbl9wb2xpY3lf
ZGVjaXNpb25fbmV3KFdlYktpdFdlYkZyYW1lKiBmcmFtZSwgR2VvbG9jYXRpb24qIGdlb2xvY2F0
aW9uKQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKGZyYW1lLCBOVUxMKTsKKyAgICBXZWJL
aXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uKiBkZWNpc2lvbiA9IFdFQktJVF9HRU9MT0NBVElP
Tl9QT0xJQ1lfREVDSVNJT04oZ19vYmplY3RfbmV3KFdFQktJVF9UWVBFX0dFT0xPQ0FUSU9OX1BP
TElDWV9ERUNJU0lPTiwgTlVMTCkpOworICAgIFdlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNp
b25Qcml2YXRlKiBwcml2ID0gZGVjaXNpb24tPnByaXY7CisKKworICAgIHByaXYtPmZyYW1lID0g
ZnJhbWU7CisgICAgcHJpdi0+Z2VvbG9jYXRpb24gPSBnZW9sb2NhdGlvbjsKKyAgICByZXR1cm4g
ZGVjaXNpb247Cit9CisKKy8qKgorICogd2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9hbGxvdwor
ICogQGRlY2lzaW9uOiBhICNXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uCisgKgorICog
V2lsbCBzZW5kIHRoZSBhbGxvdyBkZWNpc2lvbiB0byB0aGUgcG9saWN5IGltcGxlbWVudGVyLgor
ICoKKyAqIFNpbmNlOiAxLjEuMjIKKyAqLwordm9pZCB3ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5
X2FsbG93KFdlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb24qIGRlY2lzaW9uKQoreworICAg
IGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0lTX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTihk
ZWNpc2lvbikpOworCisgICAgV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvblByaXZhdGUq
IHByaXYgPSBkZWNpc2lvbi0+cHJpdjsKKyAgICBwcml2LT5nZW9sb2NhdGlvbi0+c2V0SXNBbGxv
d2VkKFRSVUUpOworfQorCisvKioKKyAqIHdlYmtpdF9nZW9sb2NhdGlvbl9wb2xpY3lfZGVueQor
ICogQGRlY2lzaW9uOiBhICNXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uCisgKgorICog
V2lsbCBzZW5kIHRoZSBkZW55IGRlY2lzaW9uIHRvIHRoZSBwb2xpY3kgaW1wbGVtZW50ZXIuCisg
KgorICogU2luY2U6IDEuMS4yMgorICovCit2b2lkIHdlYmtpdF9nZW9sb2NhdGlvbl9wb2xpY3lf
ZGVueShXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uKiBkZWNpc2lvbikKK3sKKyAgICBn
X3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT04oZGVj
aXNpb24pKTsKKworICAgIFdlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb25Qcml2YXRlKiBw
cml2ID0gZGVjaXNpb24tPnByaXY7CisgICAgcHJpdi0+Z2VvbG9jYXRpb24tPnNldElzQWxsb3dl
ZChGQUxTRSk7Cit9CisKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdlb2xv
Y2F0aW9ucG9saWN5ZGVjaXNpb24uaCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdlb2xvY2F0
aW9ucG9saWN5ZGVjaXNpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4y
N2UwZWYyCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2VvbG9j
YXRpb25wb2xpY3lkZWNpc2lvbi5oCkBAIC0wLDAgKzEsNjQgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgQXJubyBSZW5ldmllcgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAy
MTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIHdlYmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVj
aXNpb25faAorI2RlZmluZSB3ZWJraXRnZW9sb2NhdGlvbnBvbGljeWRlY2lzaW9uX2gKKworI2lu
Y2x1ZGUgPGdsaWItb2JqZWN0Lmg+CisjaW5jbHVkZSA8d2Via2l0L3dlYmtpdGRlZmluZXMuaD4K
KworR19CRUdJTl9ERUNMUworCisjZGVmaW5lIFdFQktJVF9UWVBFX0dFT0xPQ0FUSU9OX1BPTElD
WV9ERUNJU0lPTiAgICAgICAgICAgICh3ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5X2RlY2lzaW9u
X2dldF90eXBlKCkpCisjZGVmaW5lIFdFQktJVF9HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT04o
b2JqKSAgICAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCgob2JqKSwgV0VCS0lU
X1RZUEVfR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OLCBXZWJLaXRHZW9sb2NhdGlvblBvbGlj
eURlY2lzaW9uKSkKKyNkZWZpbmUgV0VCS0lUX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTl9D
TEFTUyhrbGFzcykgICAgKEdfVFlQRV9DSEVDS19DTEFTU19DQVNUKChrbGFzcyksICBXRUJLSVRf
VFlQRV9HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT04sIFdlYktpdEdlb2xvY2F0aW9uUG9saWN5
RGVjaXNpb25DbGFzcykpCisjZGVmaW5lIFdFQktJVF9JU19HRU9MT0NBVElPTl9QT0xJQ1lfREVD
SVNJT04ob2JqKSAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgob2JqKSwgV0VC
S0lUX1RZUEVfR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OKSkKKyNkZWZpbmUgV0VCS0lUX0lT
X0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTl9DTEFTUyhrbGFzcykgKEdfVFlQRV9DSEVDS19D
TEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRfVFlQRV9HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJ
T04pKQorI2RlZmluZSBXRUJLSVRfR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OX0dFVF9DTEFT
UyhvYmopICAoR19UWVBFX0lOU1RBTkNFX0dFVF9DTEFTUygob2JqKSwgIFdFQktJVF9UWVBFX0dF
T0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTiwgV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lv
bkNsYXNzKSkKKwordHlwZWRlZiBzdHJ1Y3QgX1dlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNp
b25Qcml2YXRlIFdlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb25Qcml2YXRlOworc3RydWN0
IF9XZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uIHsKKyAgICBHT2JqZWN0IHBhcmVudF9p
bnN0YW5jZTsKKworICAgIC8qPCBwcml2YXRlID4qLworICAgIFdlYktpdEdlb2xvY2F0aW9uUG9s
aWN5RGVjaXNpb25Qcml2YXRlKiBwcml2OworfTsKKworc3RydWN0IF9XZWJLaXRHZW9sb2NhdGlv
blBvbGljeURlY2lzaW9uQ2xhc3MgeworICAgIEdPYmplY3RDbGFzcyBwYXJlbnRfY2xhc3M7CisK
KyAgICAvKiBQYWRkaW5nIGZvciBmdXR1cmUgZXhwYW5zaW9uICovCisgICAgdm9pZCAoKl93ZWJr
aXRfcmVzZXJ2ZWQwKSAodm9pZCk7CisgICAgdm9pZCAoKl93ZWJraXRfcmVzZXJ2ZWQxKSAodm9p
ZCk7CisgICAgdm9pZCAoKl93ZWJraXRfcmVzZXJ2ZWQyKSAodm9pZCk7CisgICAgdm9pZCAoKl93
ZWJraXRfcmVzZXJ2ZWQzKSAodm9pZCk7Cit9OworCitXRUJLSVRfQVBJIEdUeXBlCit3ZWJraXRf
Z2VvbG9jYXRpb25fcG9saWN5X2RlY2lzaW9uX2dldF90eXBlICh2b2lkKTsKKworV0VCS0lUX0FQ
SSB2b2lkCit3ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5X2FsbG93IChXZWJLaXRHZW9sb2NhdGlv
blBvbGljeURlY2lzaW9uKiBkZWNpc2lvbik7CisKK1dFQktJVF9BUEkgdm9pZAord2Via2l0X2dl
b2xvY2F0aW9uX3BvbGljeV9kZW55IChXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uKiBk
ZWNpc2lvbik7CisKK0dfRU5EX0RFQ0xTCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0
ay93ZWJraXQvd2Via2l0cHJpdmF0ZS5oIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0
ZS5oCmluZGV4IDA0NmYzM2UuLjEyZDgyNzkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdHByaXZhdGUuaAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2YXRlLmgK
QEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNsdWRlICJDU3RyaW5nLmgiCiAjaW5jbHVkZSA8ZW5jaGFu
dC5oPgogI2luY2x1ZGUgIkdPd25QdHIuaCIKKyNpbmNsdWRlICJHZW9sb2NhdGlvbi5oIgogI2lu
Y2x1ZGUgIkhpc3RvcnlJdGVtLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJQ
YWdlLmgiCkBAIC0yNzYsNiArMjc3LDkgQEAgZXh0ZXJuICJDIiB7CiAgICAgV2ViS2l0TmV0d29y
a1Jlc3BvbnNlKgogICAgIHdlYmtpdF9uZXR3b3JrX3Jlc3BvbnNlX25ld193aXRoX2NvcmVfcmVz
cG9uc2UoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzb3VyY2VSZXNwb25zZSk7
CiAKKyAgICBXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uKgorICAgIHdlYmtpdF9nZW9s
b2NhdGlvbl9wb2xpY3lfZGVjaXNpb25fbmV3KFdlYktpdFdlYkZyYW1lKiwgV2ViQ29yZTo6R2Vv
bG9jYXRpb24qKTsKKwogICAgIC8vIEZJWE1FOiBtb3ZlIHRoaXMgdG8gd2Via2l0bmV0d29ya3Jl
cXVlc3QuaCBvbmNlIHRoZSBBUEkgaXMgYWdyZWVkIHVwb24uCiAgICAgV0VCS0lUX0FQSSBTb3Vw
TWVzc2FnZSoKICAgICB3ZWJraXRfbmV0d29ya19yZXF1ZXN0X2dldF9tZXNzYWdlKFdlYktpdE5l
dHdvcmtSZXF1ZXN0KiByZXF1ZXN0KTsKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dl
YmtpdHdlYnZpZXcuY3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKaW5k
ZXggMTZjOTQ3Ny4uNjZiNjRiMSAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
d2Vidmlldy5jcHAKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKQEAg
LTMxLDYgKzMxLDcgQEAKIAogI2luY2x1ZGUgIndlYmtpdGRvd25sb2FkLmgiCiAjaW5jbHVkZSAi
d2Via2l0ZW51bXR5cGVzLmgiCisjaW5jbHVkZSAid2Via2l0Z2VvbG9jYXRpb25wb2xpY3lkZWNp
c2lvbi5oIgogI2luY2x1ZGUgIndlYmtpdG1hcnNoYWwuaCIKICNpbmNsdWRlICJ3ZWJraXRuZXR3
b3JrcmVxdWVzdC5oIgogI2luY2x1ZGUgIndlYmtpdG5ldHdvcmtyZXNwb25zZS5oIgpAQCAtMTU4
LDYgKzE1OSw4IEBAIGVudW0gewogICAgIFJFRE8sCiAgICAgREFUQUJBU0VfUVVPVEFfRVhDRUVE
RUQsCiAgICAgUkVTT1VSQ0VfUkVRVUVTVF9TVEFSVElORywKKyAgICBHRU9MT0NBVElPTl9QT0xJ
Q1lfREVDSVNJT05fUkVRVUVTVEVELAorICAgIEdFT0xPQ0FUSU9OX1BFUk1JU1NJT05fUkVRVUVT
VF9DQU5DRUxFRCwKICAgICBMQVNUX1NJR05BTAogfTsKIApAQCAtMjE1Nyw2ICsyMTYwLDQ4IEBA
IHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld19jbGFzc19pbml0KFdlYktpdFdlYlZpZXdDbGFz
cyogd2ViVmlld0NsYXNzKQogICAgICAgICAgICAgV0VCS0lUX1RZUEVfTkVUV09SS19SRVFVRVNU
LAogICAgICAgICAgICAgV0VCS0lUX1RZUEVfTkVUV09SS19SRVNQT05TRSk7CiAKKyAgICAvKioK
KyAgICAgKiBXZWJLaXRXZWJWaWV3OjpnZW9sb2NhdGlvbi1wb2xpY3ktZGVjaXNpb24tcmVxdWVz
dGVkOgorICAgICAqIEB3ZWJfdmlldzogdGhlIG9iamVjdCBvbiB3aGljaCB0aGUgc2lnbmFsIGlz
IGVtaXR0ZWQKKyAgICAgKiBAZnJhbWU6IHRoZSBmcmFtZSB0aGF0IHJlcXVlc3RzIHBlcm1pc3Np
b24KKyAgICAgKiBAcG9saWN5X2RlY2lzaW9uOiBhIFdlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVj
aXNpb24KKyAgICAgKgorICAgICAqIFdoZW4gYSBAZnJhbWUgd2FudHMgdG8gZ2V0IGl0cyBnZW9s
b2NhdGlvbiBwZXJtaXNzaW9uLgorICAgICAqIFRoZSByZWNlaXZlciBtdXN0IHJlcGx5IHdpdGgg
YSBib29sZWFuIHdldGhlciBpdCBoYW5kbGVkIG9yIG5vdCB0aGUKKyAgICAgKiByZXF1ZXN0LiBJ
ZiB0aGUgcmVxdWVzdCBpcyBub3QgaGFuZGxlZCwgZGVmYXVsdCBiZWhhdmlvdXIgaXMgdG8gZGVu
eQorICAgICAqIGdlb2xvY2F0aW9uLgorICAgICAqCisgICAgICogU2luY2U6IDEuMS4yMgorICAg
ICAqLworICAgIHdlYmtpdF93ZWJfdmlld19zaWduYWxzW0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJ
U0lPTl9SRVFVRVNURURdID0gZ19zaWduYWxfbmV3KCJnZW9sb2NhdGlvbi1wb2xpY3ktZGVjaXNp
b24tcmVxdWVzdGVkIiwKKyAgICAgICAgICAgIEdfVFlQRV9GUk9NX0NMQVNTKHdlYlZpZXdDbGFz
cyksCisgICAgICAgICAgICAoR1NpZ25hbEZsYWdzKShHX1NJR05BTF9SVU5fTEFTVCksCisgICAg
ICAgICAgICAwLAorICAgICAgICAgICAgTlVMTCwgTlVMTCwKKyAgICAgICAgICAgIHdlYmtpdF9t
YXJzaGFsX0JPT0xFQU5fX09CSkVDVF9PQkpFQ1QsCisgICAgICAgICAgICBHX1RZUEVfQk9PTEVB
TiwgMiwKKyAgICAgICAgICAgIFdFQktJVF9UWVBFX1dFQl9GUkFNRSwKKyAgICAgICAgICAgIFdF
QktJVF9UWVBFX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTik7CisKKyAgICAvKioKKyAgICAg
KiBXZWJLaXRXZWJWaWV3OjpnZW9sb2NhdGlvbi1wZXJtaXNzaW9uLXJlcXVlc3QtY2FuY2VsZWQ6
CisgICAgICogQHdlYl92aWV3OiB0aGUgb2JqZWN0IG9uIHdoaWNoIHRoZSBzaWduYWwgaXMgZW1p
dHRlZAorICAgICAqIEBmcmFtZTogdGhlIGZyYW1lIHRoYXQgY2FuY2VscyBnZW9sb2NhdGlvbiBy
ZXF1ZXN0LgorICAgICAqCisgICAgICogV2hlbiBhIEBmcmFtZSB3YW50cyB0byBjYW5jZWwgZ2Vv
bG9jYXRpb24gcGVybWlzc2lvbiBpdCBoYWQgcmVxdWVzdGVkCisgICAgICogYmVmb3JlLgorICAg
ICAqCisgICAgICogU2luY2U6IDEuMS4yMgorICAgICAqLworICAgIHdlYmtpdF93ZWJfdmlld19z
aWduYWxzW0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTl9SRVFVRVNURURdID0gZ19zaWduYWxf
bmV3KCJnZW9sb2NhdGlvbi1wZXJtaXNzaW9uLXJlcXVlc3QtY2FuY2VsZWQiLAorICAgICAgICAg
ICAgR19UWVBFX0ZST01fQ0xBU1Mod2ViVmlld0NsYXNzKSwKKyAgICAgICAgICAgIChHU2lnbmFs
RmxhZ3MpKEdfU0lHTkFMX1JVTl9MQVNUKSwKKyAgICAgICAgICAgIDAsCisgICAgICAgICAgICBO
VUxMLCBOVUxMLAorICAgICAgICAgICAgZ19jY2xvc3VyZV9tYXJzaGFsX1ZPSURfX09CSkVDVCwK
KyAgICAgICAgICAgIEdfVFlQRV9OT05FLCAxLAorICAgICAgICAgICAgV0VCS0lUX1RZUEVfV0VC
X0ZSQU1FKTsKKwogICAgIC8qCiAgICAgICogaW1wbGVtZW50YXRpb25zIG9mIHZpcnR1YWwgbWV0
aG9kcwogICAgICAqLwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXRtYXJzaGFsLmxpc3Qg
Yi9XZWJLaXQvZ3RrL3dlYmtpdG1hcnNoYWwubGlzdAppbmRleCBmZWZkZmYzLi5kOGNhYTRjIDEw
MDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdG1hcnNoYWwubGlzdAorKysgYi9XZWJLaXQvZ3Rr
L3dlYmtpdG1hcnNoYWwubGlzdApAQCAtMSw2ICsxLDcgQEAKIEJPT0xFQU46RU5VTSxJTlQKIEJP
T0xFQU46SU5ULElOVCxTVFJJTkcKIEJPT0xFQU46T0JKRUNUCitCT09MRUFOOk9CSkVDVCxPQkpF
Q1QKIEJPT0xFQU46T0JKRUNULE9CSkVDVCxPQkpFQ1QsT0JKRUNUCiBCT09MRUFOOk9CSkVDVCxP
QkpFQ1QsU1RSSU5HLE9CSkVDVAogQk9PTEVBTjpPQkpFQ1QsU1RSSU5HCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49423</attachid>
            <date>2010-02-24 13:05:46 -0800</date>
            <delta_ts>2010-02-26 22:37:54 -0800</delta_ts>
            <desc>patch v2.4</desc>
            <filename>35210.patch</filename>
            <type>text/plain</type>
            <size>21106</size>
            <attacher name="arno.">a.renevier</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA2OTdjMGVhLi45MWQ4MWFk
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMTAtMDItMjQgIEFybm8gUmVuZXZpZXIgIDxhcm5vQHJlbmV2aWVyLm5ldD4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR3RrXSBpbXBsZW1lbnRz
IENocm9tZUNsaWVudDo6cmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvbkZvckZyYW1lCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTIxMAorCisgICAg
ICAgICogR05VbWFrZWZpbGUuYW06CisKIDIwMTAtMDItMjMgIExlYW5kcm8gUGVyZWlyYSAgPGxl
YW5kcm9AcHJvZnVzaW9uLm1vYmk+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgR3VzdGF2byBOb3Jv
bmhhIFNpbHZhLgpkaWZmIC0tZ2l0IGEvR05VbWFrZWZpbGUuYW0gYi9HTlVtYWtlZmlsZS5hbQpp
bmRleCA1ZjZhZjQ4Li5mYmJhYjRkIDEwMDY0NAotLS0gYS9HTlVtYWtlZmlsZS5hbQorKysgYi9H
TlVtYWtlZmlsZS5hbQpAQCAtMzI3LDYgKzMyNyw3IEBAIHdlYmtpdGd0a19oX2FwaSArPSBcCiAJ
JChzcmNkaXIpL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmluc3BlY3Rvci5oIFwKIAkkKHNy
Y2RpcikvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2VibmF2aWdhdGlvbmFjdGlvbi5oIFwKIAkk
KHNyY2RpcikvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2VicG9saWN5ZGVjaXNpb24uaCBcCisJ
JChzcmNkaXIpL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNp
b24uaCBcCiAJJChzcmNkaXIpL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnJlc291cmNlLmgg
XAogCSQoc3JjZGlyKS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5oIFwKIAkk
KHNyY2RpcikvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vid2luZG93ZmVhdHVyZXMuaCBcCkBA
IC0zNzUsNiArMzc2LDcgQEAgd2Via2l0Z3RrX3NvdXJjZXMgKz0gXAogCVdlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdHdlYmluc3BlY3Rvci5jcHAgXAogCVdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdl
Ym5hdmlnYXRpb25hY3Rpb24uY3BwIFwKIAlXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJwb2xp
Y3lkZWNpc2lvbi5jcHAgXAorCVdlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdlb2xvY2F0aW9ucG9s
aWN5ZGVjaXNpb24uY3BwIFwKIAlXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJyZXNvdXJjZS5j
cHAgXAogCVdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmRhdGFiYXNlLmNwcCBcCiAJV2ViS2l0
L2d0ay93ZWJraXQvd2Via2l0c2VjdXJpdHlvcmlnaW4uY3BwIFwKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzZTFlYWU2Li5j
MmUzZmQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTAtMDItMjQgIEFybm8gUmVuZXZpZXIg
IDxhcm5vQHJlbmV2aWVyLm5ldD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBbR3RrXSBpbXBsZW1lbnRzIENocm9tZUNsaWVudDo6cmVxdWVzdEdlb2xv
Y2F0aW9uUGVybWlzc2lvbkZvckZyYW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0zNTIxMAorCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1NraXBwZWQ6
CisKIDIwMTAtMDItMjMgIEJlbiBNdXJkb2NoICA8YmVubUBnb29nbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAppbmRleCAz
NjU4Nzk4Li4zYTA5NWZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tp
cHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZApAQCAtMTI4NCwxNiAr
MTI4NCwxMSBAQCBmYXN0L2RvbS9mcmFtZS1sb2FkaW5nLXZpYS1kb2N1bWVudC13cml0ZS5odG1s
CiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9jYWxsYmFjay1leGNlcHRpb24uaHRtbAogZmFzdC9kb20v
R2VvbG9jYXRpb24vZXJyb3IuaHRtbAogZmFzdC9kb20vR2VvbG9jYXRpb24vcGVybWlzc2lvbi1k
ZW5pZWQtYWxyZWFkeS1jbGVhci13YXRjaC5odG1sCi1mYXN0L2RvbS9HZW9sb2NhdGlvbi9wZXJt
aXNzaW9uLWRlbmllZC1hbHJlYWR5LWVycm9yLmh0bWwKLWZhc3QvZG9tL0dlb2xvY2F0aW9uL3Bl
cm1pc3Npb24tZGVuaWVkLWFscmVhZHktc3VjY2Vzcy5odG1sCi1mYXN0L2RvbS9HZW9sb2NhdGlv
bi9wZXJtaXNzaW9uLWRlbmllZC1zdG9wcy13YXRjaGVzLmh0bWwKLWZhc3QvZG9tL0dlb2xvY2F0
aW9uL3Blcm1pc3Npb24tZGVuaWVkLmh0bWwKIGZhc3QvZG9tL0dlb2xvY2F0aW9uL3Bvc2l0aW9u
LXN0cmluZy5odG1sCiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9yZWVudHJhbnQtZXJyb3IuaHRtbAog
ZmFzdC9kb20vR2VvbG9jYXRpb24vcmVlbnRyYW50LXN1Y2Nlc3MuaHRtbAogZmFzdC9kb20vR2Vv
bG9jYXRpb24vc3VjY2Vzcy5odG1sCiBmYXN0L2RvbS9HZW9sb2NhdGlvbi90aW1lb3V0LWNsZWFy
LXdhdGNoLmh0bWwKLWZhc3QvZG9tL0dlb2xvY2F0aW9uL3RpbWVvdXQtemVyby5odG1sCiBmYXN0
L2RvbS9HZW9sb2NhdGlvbi90aW1lb3V0Lmh0bWwKIGZhc3QvZG9tL0dlb2xvY2F0aW9uL3dhdGNo
Lmh0bWwKIGZhc3QvZG9tL0VsZW1lbnQvZ2V0Qm91bmRpbmdDbGllbnRSZWN0Lmh0bWwKZGlmZiAt
LWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXgg
NzM1OTlkYS4uMDhiNWE4NiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIv
V2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMC0wMi0yNCAgQXJubyBS
ZW5ldmllciAgPGFybm9AcmVuZXZpZXIubmV0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFtHdGtdIGltcGxlbWVudHMgQ2hyb21lQ2xpZW50OjpyZXF1
ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MjEwCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9DaHJvbWVDbGllbnRHdGsuY3BwOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudEd0ay5oOgorICAgICAgICAqIGRvY3Mvd2Via2l0Z3RrLXNlY3Rpb25zLnR4dDoKKyAgICAg
ICAgKiB3ZWJraXQvd2Via2l0Lmg6CisgICAgICAgICogd2Via2l0L3dlYmtpdGRlZmluZXMuaDoK
KyAgICAgICAgKiB3ZWJraXQvd2Via2l0Z2VvbG9jYXRpb25wb2xpY3lkZWNpc2lvbi5jcHA6IEFk
ZGVkLgorICAgICAgICAod2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9kZWNpc2lvbl9jbGFzc19p
bml0KToKKyAgICAgICAgKHdlYmtpdF9nZW9sb2NhdGlvbl9wb2xpY3lfZGVjaXNpb25faW5pdCk6
CisgICAgICAgICh3ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5X2RlY2lzaW9uX25ldyk6CisgICAg
ICAgICh3ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5X2FsbG93KToKKyAgICAgICAgKHdlYmtpdF9n
ZW9sb2NhdGlvbl9wb2xpY3lfZGVueSk6CisgICAgICAgICogd2Via2l0L3dlYmtpdGdlb2xvY2F0
aW9ucG9saWN5ZGVjaXNpb24uaDogQWRkZWQuCisgICAgICAgICogd2Via2l0L3dlYmtpdHByaXZh
dGUuaDoKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vidmlldy5jcHA6CisgICAgICAgIChETkRD
b250ZW50c1JlcXVlc3Q6OndlYmtpdF93ZWJfdmlld19jbGFzc19pbml0KToKKyAgICAgICAgKiB3
ZWJraXRtYXJzaGFsLmxpc3Q6CisKIDIwMTAtMDItMjMgIExlYW5kcm8gUGVyZWlyYSAgPGxlYW5k
cm9AcHJvZnVzaW9uLm1vYmk+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgR3VzdGF2byBOb3Jvbmhh
IFNpbHZhLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRHdGsuY3BwIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3Bw
CmluZGV4IDc0ZjVlMDcuLmExMTBjOTAgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcAorKysgYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEd0ay5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJDU3RyaW5n
LmgiCiAjaW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5oIgogI2luY2x1ZGUgIktVUkwuaCIKKyNpbmNs
dWRlICJ3ZWJraXRnZW9sb2NhdGlvbnBvbGljeWRlY2lzaW9uLmgiCiAjaW5jbHVkZSAid2Via2l0
d2Vidmlldy5oIgogI2luY2x1ZGUgIndlYmtpdG5ldHdvcmtyZXF1ZXN0LmgiCiAjaW5jbHVkZSAi
d2Via2l0cHJpdmF0ZS5oIgpAQCAtNTc1LDEwICs1NzYsMjQgQEAgYm9vbCBDaHJvbWVDbGllbnQ6
OnNldEN1cnNvcihQbGF0Zm9ybUN1cnNvckhhbmRsZSkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAK
LXZvaWQgQ2hyb21lQ2xpZW50OjpyZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUo
RnJhbWUqLCBHZW9sb2NhdGlvbiopCit2b2lkIENocm9tZUNsaWVudDo6cmVxdWVzdEdlb2xvY2F0
aW9uUGVybWlzc2lvbkZvckZyYW1lKEZyYW1lKiBmcmFtZSwgR2VvbG9jYXRpb24qIGdlb2xvY2F0
aW9uKQogewotICAgIC8vIFNlZSB0aGUgY29tbWVudCBpbiBXZWJDb3JlL3BhZ2UvQ2hyb21lQ2xp
ZW50LmgKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIFdlYktpdFdlYkZyYW1lKiB3ZWJGcmFt
ZSA9IGtpdChmcmFtZSk7CisgICAgV2ViS2l0V2ViVmlldyogd2ViVmlldyA9IGdldFZpZXdGcm9t
RnJhbWUod2ViRnJhbWUpOworCisgICAgV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbiog
cG9saWN5RGVjaXNpb24gPSB3ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5X2RlY2lzaW9uX25ldyh3
ZWJGcmFtZSwgZ2VvbG9jYXRpb24pOworCisgICAgZ2Jvb2xlYW4gaXNIYW5kbGVkID0gRkFMU0U7
CisgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKHdlYlZpZXcsICJnZW9sb2NhdGlvbi1wb2xpY3kt
ZGVjaXNpb24tcmVxdWVzdGVkIiwgd2ViRnJhbWUsIHBvbGljeURlY2lzaW9uLCAmaXNIYW5kbGVk
KTsKKyAgICBpZiAoIWlzSGFuZGxlZCkKKyAgICAgICAgd2Via2l0X2dlb2xvY2F0aW9uX3BvbGlj
eV9kZW55KHBvbGljeURlY2lzaW9uKTsKK30KKwordm9pZCBDaHJvbWVDbGllbnQ6OmNhbmNlbEdl
b2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RGb3JGcmFtZShXZWJDb3JlOjpGcmFtZSogZnJhbWUp
Cit7CisgICAgV2ViS2l0V2ViRnJhbWUqIHdlYkZyYW1lID0ga2l0KGZyYW1lKTsKKyAgICBXZWJL
aXRXZWJWaWV3KiB3ZWJWaWV3ID0gZ2V0Vmlld0Zyb21GcmFtZSh3ZWJGcmFtZSk7CisgICAgZ19z
aWduYWxfZW1pdF9ieV9uYW1lKHdlYlZpZXcsICJnZW9sb2NhdGlvbi1wb2xpY3ktZGVjaXNpb24t
Y2FuY2VsbGVkIiwgd2ViRnJhbWUpOwogfQogCiB9CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9y
dC9DaHJvbWVDbGllbnRHdGsuaAppbmRleCA2MmQ0OGZhLi42MTM5YjNhIDEwMDY0NAotLS0gYS9X
ZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oCisrKyBiL1dlYktpdC9n
dGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgKQEAgLTExNyw3ICsxMTcsNyBAQCBu
YW1lc3BhY2UgV2ViS2l0IHsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsUmVjdEludG9W
aWV3KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBjb25zdCBXZWJDb3JlOjpTY3JvbGxWaWV3Kikg
Y29uc3Qge30KICAgICAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RHZW9sb2NhdGlvblBlcm1pc3Np
b25Gb3JGcmFtZShXZWJDb3JlOjpGcmFtZSosIFdlYkNvcmU6Okdlb2xvY2F0aW9uKik7Ci0gICAg
ICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Rm9yRnJh
bWUoV2ViQ29yZTo6RnJhbWUqKSB7IH0KKyAgICAgICAgdmlydHVhbCB2b2lkIGNhbmNlbEdlb2xv
Y2F0aW9uUGVybWlzc2lvblJlcXVlc3RGb3JGcmFtZShXZWJDb3JlOjpGcmFtZSopOwogCiAgICAg
cHJpdmF0ZToKICAgICAgICAgV2ViS2l0V2ViVmlldyogbV93ZWJWaWV3OwpkaWZmIC0tZ2l0IGEv
V2ViS2l0L2d0ay9kb2NzL3dlYmtpdGd0ay1zZWN0aW9ucy50eHQgYi9XZWJLaXQvZ3RrL2RvY3Mv
d2Via2l0Z3RrLXNlY3Rpb25zLnR4dAppbmRleCAyMzc5YzhiLi4xNDEyNGExIDEwMDY0NAotLS0g
YS9XZWJLaXQvZ3RrL2RvY3Mvd2Via2l0Z3RrLXNlY3Rpb25zLnR4dAorKysgYi9XZWJLaXQvZ3Rr
L2RvY3Mvd2Via2l0Z3RrLXNlY3Rpb25zLnR4dApAQCAtMzUxLDYgKzM1MSwyNSBAQCBXZWJLaXRX
ZWJQb2xpY3lEZWNpc2lvblByaXZhdGUKIDwvU0VDVElPTj4KIAogPFNFQ1RJT04+Cis8RklMRT53
ZWJraXRnZW9sb2NhdGlvbnBvbGljeWRlY2lzaW9uPC9GSUxFPgorPFRJVExFPldlYktpdEdlb2xv
Y2F0aW9uUG9saWN5RGVjaXNpb248L1RJVExFPgorV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNp
c2lvbgord2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9hbGxvdword2Via2l0X2dlb2xvY2F0aW9u
X3BvbGljeV9kZW55Cis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9JU19HRU9MT0NBVElP
Tl9QT0xJQ1lfREVDSVNJT04KK1dFQktJVF9JU19HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT05f
Q0xBU1MKK1dFQktJVF9UWVBFX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTgorV0VCS0lUX0dF
T0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTgorV0VCS0lUX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJ
U0lPTl9DTEFTUworV0VCS0lUX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTl9HRVRfQ0xBU1MK
KzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uCitX
ZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uQ2xhc3MKK1dlYktpdEdlb2xvY2F0aW9uUG9s
aWN5RGVjaXNpb25Qcml2YXRlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgogPEZJTEU+d2Via2l0
bmV0d29ya3JlcXVlc3Q8L0ZJTEU+CiA8VElUTEU+V2ViS2l0TmV0d29ya1JlcXVlc3Q8L1RJVExF
PgogV2ViS2l0TmV0d29ya1JlcXVlc3QKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dl
YmtpdC5oIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0LmgKaW5kZXggNGNkMDcwOS4uMTdiMTk3
YiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0LmgKKysrIGIvV2ViS2l0L2d0
ay93ZWJraXQvd2Via2l0LmgKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlIDx3ZWJraXQvd2Vi
a2l0dmVyc2lvbi5oPgogI2luY2x1ZGUgPHdlYmtpdC93ZWJraXRkZWZpbmVzLmg+CiAjaW5jbHVk
ZSA8d2Via2l0L3dlYmtpdGRvd25sb2FkLmg+CisjaW5jbHVkZSA8d2Via2l0L3dlYmtpdGdlb2xv
Y2F0aW9ucG9saWN5ZGVjaXNpb24uaD4KICNpbmNsdWRlIDx3ZWJraXQvd2Via2l0aGl0dGVzdHJl
c3VsdC5oPgogI2luY2x1ZGUgPHdlYmtpdC93ZWJraXRuZXR3b3JrcmVxdWVzdC5oPgogI2luY2x1
ZGUgPHdlYmtpdC93ZWJraXRuZXR3b3JrcmVzcG9uc2UuaD4KZGlmZiAtLWdpdCBhL1dlYktpdC9n
dGsvd2Via2l0L3dlYmtpdGRlZmluZXMuaCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRlZmlu
ZXMuaAppbmRleCBhNTg4NGYzLi5iMDZhM2JmIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXRkZWZpbmVzLmgKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZGVmaW5lcy5o
CkBAIC04OSw2ICs4OSw5IEBAIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRTZWN1cml0eU9yaWdpbkNs
YXNzIFdlYktpdFNlY3VyaXR5T3JpZ2luQ2xhc3M7CiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0SGl0
VGVzdFJlc3VsdCBXZWJLaXRIaXRUZXN0UmVzdWx0OwogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdEhp
dFRlc3RSZXN1bHRDbGFzcyBXZWJLaXRIaXRUZXN0UmVzdWx0Q2xhc3M7CiAKK3R5cGVkZWYgc3Ry
dWN0IF9XZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uIFdlYktpdEdlb2xvY2F0aW9uUG9s
aWN5RGVjaXNpb247Cit0eXBlZGVmIHN0cnVjdCBfV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNp
c2lvbkNsYXNzIFdlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb25DbGFzczsKKwogR19FTkRf
REVDTFMKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRnZW9s
b2NhdGlvbnBvbGljeWRlY2lzaW9uLmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdlb2xv
Y2F0aW9ucG9saWN5ZGVjaXNpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjkwOTc1NzEKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRn
ZW9sb2NhdGlvbnBvbGljeWRlY2lzaW9uLmNwcApAQCAtMCwwICsxLDEwMyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMCBBcm5vIFJlbmV2aWVyCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl
cgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxl
IENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3Rv
biwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lu
Y2x1ZGUgIndlYmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNpb24uaCIKKworI2luY2x1ZGUgIndl
YmtpdHByaXZhdGUuaCIKKworI2luY2x1ZGUgIkdlb2xvY2F0aW9uLmgiCisKK3VzaW5nIG5hbWVz
cGFjZSBXZWJLaXQ7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworLyoqCisgKiBTRUNUSU9O
OndlYmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNpb24KKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjog
TGlhaXNvbiBiZXR3ZWVuIFdlYktpdCBhbmQgdGhlIGFwcGxpY2F0aW9uIHJlZ2FyZGluZyBhc3lu
Y2hyb25vdXMgZ2VvbG9jYXRpb24gcG9saWN5IGRlY2lzaW9ucworICoKKyAqICNXZWJLaXRHZW9s
b2NhdGlvblBvbGljeURlY2lzaW9uIG9iamVjdHMgYXJlIGdpdmVuIHRvIHRoZSBhcHBsaWNhdGlv
biB3aGVuCisgKiBnZW9sb2NhdGlvbi1wb2xpY3ktZGVjaXNpb24tcmVxdWVzdGVkIHNpZ25hbCBp
cyBlbWl0dGVkLiBUaGUgYXBwbGljYXRpb24KKyAqIHVzZXMgaXQgdG8gdGVsbCB0aGUgZW5naW5l
IHdoZXRoZXIgaXQgd2FudHMgdG8gYWxsb3cgb3IgZGVueSBnZW9sb2NhdGlvbiBmb3IKKyAqIGdp
dmVuIGZyYW1lLgorICovCisKK0dfREVGSU5FX1RZUEUoV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lE
ZWNpc2lvbiwgd2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9kZWNpc2lvbiwgR19UWVBFX09CSkVD
VCk7CisKK3N0cnVjdCBfV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvblByaXZhdGUgewor
ICAgIFdlYktpdFdlYkZyYW1lKiBmcmFtZTsKKyAgICBHZW9sb2NhdGlvbiogZ2VvbG9jYXRpb247
Cit9OworCisjZGVmaW5lIFdFQktJVF9HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT05fR0VUX1BS
SVZBVEUob2JqKSAgICAoR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKChvYmopLCBXRUJLSVRf
VFlQRV9HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT04sIFdlYktpdEdlb2xvY2F0aW9uUG9saWN5
RGVjaXNpb25Qcml2YXRlKSkKKworc3RhdGljIHZvaWQgd2Via2l0X2dlb2xvY2F0aW9uX3BvbGlj
eV9kZWNpc2lvbl9jbGFzc19pbml0KFdlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb25DbGFz
cyogZGVjaXNpb25DbGFzcykKK3sKKyAgICBnX3R5cGVfY2xhc3NfYWRkX3ByaXZhdGUoZGVjaXNp
b25DbGFzcywgc2l6ZW9mKFdlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb25Qcml2YXRlKSk7
Cit9CisKK3N0YXRpYyB2b2lkIHdlYmtpdF9nZW9sb2NhdGlvbl9wb2xpY3lfZGVjaXNpb25faW5p
dChXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uKiBkZWNpc2lvbikKK3sKKyAgICBkZWNp
c2lvbi0+cHJpdiA9IFdFQktJVF9HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT05fR0VUX1BSSVZB
VEUoZGVjaXNpb24pOworfQorCitXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uKiB3ZWJr
aXRfZ2VvbG9jYXRpb25fcG9saWN5X2RlY2lzaW9uX25ldyhXZWJLaXRXZWJGcmFtZSogZnJhbWUs
IEdlb2xvY2F0aW9uKiBnZW9sb2NhdGlvbikKK3sKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbChm
cmFtZSwgTlVMTCk7CisgICAgV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbiogZGVjaXNp
b24gPSBXRUJLSVRfR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OKGdfb2JqZWN0X25ldyhXRUJL
SVRfVFlQRV9HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT04sIE5VTEwpKTsKKyAgICBXZWJLaXRH
ZW9sb2NhdGlvblBvbGljeURlY2lzaW9uUHJpdmF0ZSogcHJpdiA9IGRlY2lzaW9uLT5wcml2Owor
CisKKyAgICBwcml2LT5mcmFtZSA9IGZyYW1lOworICAgIHByaXYtPmdlb2xvY2F0aW9uID0gZ2Vv
bG9jYXRpb247CisgICAgcmV0dXJuIGRlY2lzaW9uOworfQorCisvKioKKyAqIHdlYmtpdF9nZW9s
b2NhdGlvbl9wb2xpY3lfYWxsb3cKKyAqIEBkZWNpc2lvbjogYSAjV2ViS2l0R2VvbG9jYXRpb25Q
b2xpY3lEZWNpc2lvbgorICoKKyAqIFdpbGwgc2VuZCB0aGUgYWxsb3cgZGVjaXNpb24gdG8gdGhl
IHBvbGljeSBpbXBsZW1lbnRlci4KKyAqCisgKiBTaW5jZTogMS4xLjIyCisgKi8KK3ZvaWQgd2Vi
a2l0X2dlb2xvY2F0aW9uX3BvbGljeV9hbGxvdyhXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lz
aW9uKiBkZWNpc2lvbikKK3sKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19HRU9MT0NB
VElPTl9QT0xJQ1lfREVDSVNJT04oZGVjaXNpb24pKTsKKworICAgIFdlYktpdEdlb2xvY2F0aW9u
UG9saWN5RGVjaXNpb25Qcml2YXRlKiBwcml2ID0gZGVjaXNpb24tPnByaXY7CisgICAgcHJpdi0+
Z2VvbG9jYXRpb24tPnNldElzQWxsb3dlZChUUlVFKTsKK30KKworLyoqCisgKiB3ZWJraXRfZ2Vv
bG9jYXRpb25fcG9saWN5X2RlbnkKKyAqIEBkZWNpc2lvbjogYSAjV2ViS2l0R2VvbG9jYXRpb25Q
b2xpY3lEZWNpc2lvbgorICoKKyAqIFdpbGwgc2VuZCB0aGUgZGVueSBkZWNpc2lvbiB0byB0aGUg
cG9saWN5IGltcGxlbWVudGVyLgorICoKKyAqIFNpbmNlOiAxLjEuMjIKKyAqLwordm9pZCB3ZWJr
aXRfZ2VvbG9jYXRpb25fcG9saWN5X2RlbnkoV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lv
biogZGVjaXNpb24pCit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfR0VPTE9DQVRJ
T05fUE9MSUNZX0RFQ0lTSU9OKGRlY2lzaW9uKSk7CisKKyAgICBXZWJLaXRHZW9sb2NhdGlvblBv
bGljeURlY2lzaW9uUHJpdmF0ZSogcHJpdiA9IGRlY2lzaW9uLT5wcml2OworICAgIHByaXYtPmdl
b2xvY2F0aW9uLT5zZXRJc0FsbG93ZWQoRkFMU0UpOworfQorCmRpZmYgLS1naXQgYS9XZWJLaXQv
Z3RrL3dlYmtpdC93ZWJraXRnZW9sb2NhdGlvbnBvbGljeWRlY2lzaW9uLmggYi9XZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXRnZW9sb2NhdGlvbnBvbGljeWRlY2lzaW9uLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uMjdlMGVmMgotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdC9n
dGsvd2Via2l0L3dlYmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNpb24uaApAQCAtMCwwICsxLDY0
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFybm8gUmVuZXZpZXIKKyAqCisgKiBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICog
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh
aWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiB3ZWJr
aXRnZW9sb2NhdGlvbnBvbGljeWRlY2lzaW9uX2gKKyNkZWZpbmUgd2Via2l0Z2VvbG9jYXRpb25w
b2xpY3lkZWNpc2lvbl9oCisKKyNpbmNsdWRlIDxnbGliLW9iamVjdC5oPgorI2luY2x1ZGUgPHdl
YmtpdC93ZWJraXRkZWZpbmVzLmg+CisKK0dfQkVHSU5fREVDTFMKKworI2RlZmluZSBXRUJLSVRf
VFlQRV9HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT04gICAgICAgICAgICAod2Via2l0X2dlb2xv
Y2F0aW9uX3BvbGljeV9kZWNpc2lvbl9nZXRfdHlwZSgpKQorI2RlZmluZSBXRUJLSVRfR0VPTE9D
QVRJT05fUE9MSUNZX0RFQ0lTSU9OKG9iaikgICAgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RB
TkNFX0NBU1QoKG9iaiksIFdFQktJVF9UWVBFX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTiwg
V2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbikpCisjZGVmaW5lIFdFQktJVF9HRU9MT0NB
VElPTl9QT0xJQ1lfREVDSVNJT05fQ0xBU1Moa2xhc3MpICAgIChHX1RZUEVfQ0hFQ0tfQ0xBU1Nf
Q0FTVCgoa2xhc3MpLCAgV0VCS0lUX1RZUEVfR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OLCBX
ZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uQ2xhc3MpKQorI2RlZmluZSBXRUJLSVRfSVNf
R0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OKG9iaikgICAgICAgICAoR19UWVBFX0NIRUNLX0lO
U1RBTkNFX1RZUEUoKG9iaiksIFdFQktJVF9UWVBFX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lP
TikpCisjZGVmaW5lIFdFQktJVF9JU19HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT05fQ0xBU1Mo
a2xhc3MpIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfVFlQRSgoa2xhc3MpLCAgV0VCS0lUX1RZUEVfR0VP
TE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OKSkKKyNkZWZpbmUgV0VCS0lUX0dFT0xPQ0FUSU9OX1BP
TElDWV9ERUNJU0lPTl9HRVRfQ0xBU1Mob2JqKSAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfQ0xBU1Mo
KG9iaiksICBXRUJLSVRfVFlQRV9HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT04sIFdlYktpdEdl
b2xvY2F0aW9uUG9saWN5RGVjaXNpb25DbGFzcykpCisKK3R5cGVkZWYgc3RydWN0IF9XZWJLaXRH
ZW9sb2NhdGlvblBvbGljeURlY2lzaW9uUHJpdmF0ZSBXZWJLaXRHZW9sb2NhdGlvblBvbGljeURl
Y2lzaW9uUHJpdmF0ZTsKK3N0cnVjdCBfV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbiB7
CisgICAgR09iamVjdCBwYXJlbnRfaW5zdGFuY2U7CisKKyAgICAvKjwgcHJpdmF0ZSA+Ki8KKyAg
ICBXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uUHJpdmF0ZSogcHJpdjsKK307CisKK3N0
cnVjdCBfV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbkNsYXNzIHsKKyAgICBHT2JqZWN0
Q2xhc3MgcGFyZW50X2NsYXNzOworCisgICAgLyogUGFkZGluZyBmb3IgZnV0dXJlIGV4cGFuc2lv
biAqLworICAgIHZvaWQgKCpfd2Via2l0X3Jlc2VydmVkMCkgKHZvaWQpOworICAgIHZvaWQgKCpf
d2Via2l0X3Jlc2VydmVkMSkgKHZvaWQpOworICAgIHZvaWQgKCpfd2Via2l0X3Jlc2VydmVkMikg
KHZvaWQpOworICAgIHZvaWQgKCpfd2Via2l0X3Jlc2VydmVkMykgKHZvaWQpOworfTsKKworV0VC
S0lUX0FQSSBHVHlwZQord2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9kZWNpc2lvbl9nZXRfdHlw
ZSAodm9pZCk7CisKK1dFQktJVF9BUEkgdm9pZAord2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9h
bGxvdyAoV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbiogZGVjaXNpb24pOworCitXRUJL
SVRfQVBJIHZvaWQKK3dlYmtpdF9nZW9sb2NhdGlvbl9wb2xpY3lfZGVueSAoV2ViS2l0R2VvbG9j
YXRpb25Qb2xpY3lEZWNpc2lvbiogZGVjaXNpb24pOworCitHX0VORF9ERUNMUworCisjZW5kaWYK
ZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZhdGUuaCBiL1dlYktpdC9n
dGsvd2Via2l0L3dlYmtpdHByaXZhdGUuaAppbmRleCAwNDZmMzNlLi4xMmQ4Mjc5IDEwMDY0NAot
LS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2YXRlLmgKKysrIGIvV2ViS2l0L2d0ay93
ZWJraXQvd2Via2l0cHJpdmF0ZS5oCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSAiQ1N0cmlu
Zy5oIgogI2luY2x1ZGUgPGVuY2hhbnQuaD4KICNpbmNsdWRlICJHT3duUHRyLmgiCisjaW5jbHVk
ZSAiR2VvbG9jYXRpb24uaCIKICNpbmNsdWRlICJIaXN0b3J5SXRlbS5oIgogI2luY2x1ZGUgIlNl
dHRpbmdzLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgpAQCAtMjc2LDYgKzI3Nyw5IEBAIGV4dGVybiAi
QyIgewogICAgIFdlYktpdE5ldHdvcmtSZXNwb25zZSoKICAgICB3ZWJraXRfbmV0d29ya19yZXNw
b25zZV9uZXdfd2l0aF9jb3JlX3Jlc3BvbnNlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9u
c2UmIHJlc291cmNlUmVzcG9uc2UpOwogCisgICAgV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNp
c2lvbioKKyAgICB3ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5X2RlY2lzaW9uX25ldyhXZWJLaXRX
ZWJGcmFtZSosIFdlYkNvcmU6Okdlb2xvY2F0aW9uKik7CisKICAgICAvLyBGSVhNRTogbW92ZSB0
aGlzIHRvIHdlYmtpdG5ldHdvcmtyZXF1ZXN0Lmggb25jZSB0aGUgQVBJIGlzIGFncmVlZCB1cG9u
LgogICAgIFdFQktJVF9BUEkgU291cE1lc3NhZ2UqCiAgICAgd2Via2l0X25ldHdvcmtfcmVxdWVz
dF9nZXRfbWVzc2FnZShXZWJLaXROZXR3b3JrUmVxdWVzdCogcmVxdWVzdCk7CmRpZmYgLS1naXQg
YS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcCBiL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdHdlYnZpZXcuY3BwCmluZGV4IDE2Yzk0NzcuLmIwZjVkMTIgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCisrKyBiL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdHdlYnZpZXcuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAKICNpbmNsdWRlICJ3ZWJraXRk
b3dubG9hZC5oIgogI2luY2x1ZGUgIndlYmtpdGVudW10eXBlcy5oIgorI2luY2x1ZGUgIndlYmtp
dGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNpb24uaCIKICNpbmNsdWRlICJ3ZWJraXRtYXJzaGFsLmgi
CiAjaW5jbHVkZSAid2Via2l0bmV0d29ya3JlcXVlc3QuaCIKICNpbmNsdWRlICJ3ZWJraXRuZXR3
b3JrcmVzcG9uc2UuaCIKQEAgLTE1OCw2ICsxNTksOCBAQCBlbnVtIHsKICAgICBSRURPLAogICAg
IERBVEFCQVNFX1FVT1RBX0VYQ0VFREVELAogICAgIFJFU09VUkNFX1JFUVVFU1RfU1RBUlRJTkcs
CisgICAgR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OX1JFUVVFU1RFRCwKKyAgICBHRU9MT0NB
VElPTl9QT0xJQ1lfREVDSVNJT05fQ0FOQ0VMTEVELAogICAgIExBU1RfU0lHTkFMCiB9OwogCkBA
IC0yMTU3LDYgKzIxNjAsNDggQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X2NsYXNzX2lu
aXQoV2ViS2l0V2ViVmlld0NsYXNzKiB3ZWJWaWV3Q2xhc3MpCiAgICAgICAgICAgICBXRUJLSVRf
VFlQRV9ORVRXT1JLX1JFUVVFU1QsCiAgICAgICAgICAgICBXRUJLSVRfVFlQRV9ORVRXT1JLX1JF
U1BPTlNFKTsKIAorICAgIC8qKgorICAgICAqIFdlYktpdFdlYlZpZXc6Omdlb2xvY2F0aW9uLXBv
bGljeS1kZWNpc2lvbi1yZXF1ZXN0ZWQ6CisgICAgICogQHdlYl92aWV3OiB0aGUgb2JqZWN0IG9u
IHdoaWNoIHRoZSBzaWduYWwgaXMgZW1pdHRlZAorICAgICAqIEBmcmFtZTogdGhlIGZyYW1lIHRo
YXQgcmVxdWVzdHMgcGVybWlzc2lvbgorICAgICAqIEBwb2xpY3lfZGVjaXNpb246IGEgV2ViS2l0
R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbgorICAgICAqCisgICAgICogV2hlbiBhIEBmcmFtZSB3
YW50cyB0byBnZXQgaXRzIGdlb2xvY2F0aW9uIHBlcm1pc3Npb24uCisgICAgICogVGhlIHJlY2Vp
dmVyIG11c3QgcmVwbHkgd2l0aCBhIGJvb2xlYW4gd2V0aGVyIGl0IGhhbmRsZWQgb3Igbm90IHRo
ZQorICAgICAqIHJlcXVlc3QuIElmIHRoZSByZXF1ZXN0IGlzIG5vdCBoYW5kbGVkLCBkZWZhdWx0
IGJlaGF2aW91ciBpcyB0byBkZW55CisgICAgICogZ2VvbG9jYXRpb24uCisgICAgICoKKyAgICAg
KiBTaW5jZTogMS4xLjIyCisgICAgICovCisgICAgd2Via2l0X3dlYl92aWV3X3NpZ25hbHNbR0VP
TE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OX1JFUVVFU1RFRF0gPSBnX3NpZ25hbF9uZXcoImdlb2xv
Y2F0aW9uLXBvbGljeS1kZWNpc2lvbi1yZXF1ZXN0ZWQiLAorICAgICAgICAgICAgR19UWVBFX0ZS
T01fQ0xBU1Mod2ViVmlld0NsYXNzKSwKKyAgICAgICAgICAgIChHU2lnbmFsRmxhZ3MpKEdfU0lH
TkFMX1JVTl9MQVNUKSwKKyAgICAgICAgICAgIDAsCisgICAgICAgICAgICBOVUxMLCBOVUxMLAor
ICAgICAgICAgICAgd2Via2l0X21hcnNoYWxfQk9PTEVBTl9fT0JKRUNUX09CSkVDVCwKKyAgICAg
ICAgICAgIEdfVFlQRV9CT09MRUFOLCAyLAorICAgICAgICAgICAgV0VCS0lUX1RZUEVfV0VCX0ZS
QU1FLAorICAgICAgICAgICAgV0VCS0lUX1RZUEVfR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9O
KTsKKworICAgIC8qKgorICAgICAqIFdlYktpdFdlYlZpZXc6Omdlb2xvY2F0aW9uLXBvbGljeS1k
ZWNpc2lvbi1jYW5jZWxsZWQ6CisgICAgICogQHdlYl92aWV3OiB0aGUgb2JqZWN0IG9uIHdoaWNo
IHRoZSBzaWduYWwgaXMgZW1pdHRlZAorICAgICAqIEBmcmFtZTogdGhlIGZyYW1lIHRoYXQgY2Fu
Y2VscyBnZW9sb2NhdGlvbiByZXF1ZXN0LgorICAgICAqCisgICAgICogV2hlbiBhIEBmcmFtZSB3
YW50cyB0byBjYW5jZWwgZ2VvbG9jYXRpb24gcGVybWlzc2lvbiBpdCBoYWQgcmVxdWVzdGVkCisg
ICAgICogYmVmb3JlLgorICAgICAqCisgICAgICogU2luY2U6IDEuMS4yMgorICAgICAqLworICAg
IHdlYmtpdF93ZWJfdmlld19zaWduYWxzW0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTl9SRVFV
RVNURURdID0gZ19zaWduYWxfbmV3KCJnZW9sb2NhdGlvbi1wb2xpY3ktZGVjaXNpb24tY2FuY2Vs
bGVkIiwKKyAgICAgICAgICAgIEdfVFlQRV9GUk9NX0NMQVNTKHdlYlZpZXdDbGFzcyksCisgICAg
ICAgICAgICAoR1NpZ25hbEZsYWdzKShHX1NJR05BTF9SVU5fTEFTVCksCisgICAgICAgICAgICAw
LAorICAgICAgICAgICAgTlVMTCwgTlVMTCwKKyAgICAgICAgICAgIGdfY2Nsb3N1cmVfbWFyc2hh
bF9WT0lEX19PQkpFQ1QsCisgICAgICAgICAgICBHX1RZUEVfTk9ORSwgMSwKKyAgICAgICAgICAg
IFdFQktJVF9UWVBFX1dFQl9GUkFNRSk7CisKICAgICAvKgogICAgICAqIGltcGxlbWVudGF0aW9u
cyBvZiB2aXJ0dWFsIG1ldGhvZHMKICAgICAgKi8KZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Vi
a2l0bWFyc2hhbC5saXN0IGIvV2ViS2l0L2d0ay93ZWJraXRtYXJzaGFsLmxpc3QKaW5kZXggZmVm
ZGZmMy4uZDhjYWE0YyAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay93ZWJraXRtYXJzaGFsLmxpc3QK
KysrIGIvV2ViS2l0L2d0ay93ZWJraXRtYXJzaGFsLmxpc3QKQEAgLTEsNiArMSw3IEBACiBCT09M
RUFOOkVOVU0sSU5UCiBCT09MRUFOOklOVCxJTlQsU1RSSU5HCiBCT09MRUFOOk9CSkVDVAorQk9P
TEVBTjpPQkpFQ1QsT0JKRUNUCiBCT09MRUFOOk9CSkVDVCxPQkpFQ1QsT0JKRUNULE9CSkVDVAog
Qk9PTEVBTjpPQkpFQ1QsT0JKRUNULFNUUklORyxPQkpFQ1QKIEJPT0xFQU46T0JKRUNULFNUUklO
RwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdl
TG9nCmluZGV4IDQ3Yzg2OTYuLmIwN2NlZmEgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5n
ZUxvZworKysgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMC0w
Mi0yNCAgQXJubyBSZW5ldmllciAgPGFybm9AcmVuZXZpZXIubmV0PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtHdGtdIGltcGxlbWVudHMgQ2hyb21l
Q2xpZW50OjpyZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MjEwCisKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAgICAoZ2VvbG9jYXRp
b25Qb2xpY3lEZWNpc2lvblJlcXVlc3RlZCk6CisgICAgICAgIChjcmVhdGVXZWJWaWV3KToKKwog
MjAxMC0wMi0yMyAgTGVhbmRybyBQZXJlaXJhICA8bGVhbmRyb0Bwcm9mdXNpb24ubW9iaT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkuCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcAppbmRleCBhMmZjNzliLi5mNjM2YzExIDEwMDY0
NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3Bw
CisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAK
QEAgLTcyNSw2ICs3MjUsMTkgQEAgc3RhdGljIHZvaWQgZGF0YWJhc2VRdW90YUV4Y2VlZGVkKFdl
YktpdFdlYlZpZXcqIHZpZXcsIFdlYktpdFdlYkZyYW1lKiBmcmFtZSwgV2UKICAgICB3ZWJraXRf
c2VjdXJpdHlfb3JpZ2luX3NldF93ZWJfZGF0YWJhc2VfcXVvdGEob3JpZ2luLCA1ICogMTAyNCAq
IDEwMjQpOwogfQogCitzdGF0aWMgYm9vbAorZ2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvblJlcXVl
c3RlZChXZWJLaXRXZWJWaWV3KiwgV2ViS2l0V2ViRnJhbWUqLCBXZWJLaXRHZW9sb2NhdGlvblBv
bGljeURlY2lzaW9uKiBkZWNpc2lvbikKK3sKKyAgICBpZiAoIWdMYXlvdXRUZXN0Q29udHJvbGxl
ci0+aXNHZW9sb2NhdGlvblBlcm1pc3Npb25TZXQoKSkKKyAgICAgICAgcmV0dXJuIEZBTFNFOwor
ICAgIGlmIChnTGF5b3V0VGVzdENvbnRyb2xsZXItPmdlb2xvY2F0aW9uUGVybWlzc2lvbigpKQor
ICAgICAgICB3ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5X2FsbG93KGRlY2lzaW9uKTsKKyAgICBl
bHNlCisgICAgICAgIHdlYmtpdF9nZW9sb2NhdGlvbl9wb2xpY3lfZGVueShkZWNpc2lvbik7CisK
KyAgICByZXR1cm4gVFJVRTsKK30KKwogCiBzdGF0aWMgV2ViS2l0V2ViVmlldyogd2ViVmlld0Ny
ZWF0ZShXZWJLaXRXZWJWaWV3KiwgV2ViS2l0V2ViRnJhbWUqKTsKIApAQCAtNzc1LDYgKzc4OCw3
IEBAIHN0YXRpYyBXZWJLaXRXZWJWaWV3KiBjcmVhdGVXZWJWaWV3KCkKICAgICAgICAgICAgICAg
ICAgICAgICJzaWduYWw6OmNyZWF0ZS13ZWItdmlldyIsIHdlYlZpZXdDcmVhdGUsIDAsCiAgICAg
ICAgICAgICAgICAgICAgICAic2lnbmFsOjpjbG9zZS13ZWItdmlldyIsIHdlYlZpZXdDbG9zZSwg
MCwKICAgICAgICAgICAgICAgICAgICAgICJzaWduYWw6OmRhdGFiYXNlLXF1b3RhLWV4Y2VlZGVk
IiwgZGF0YWJhc2VRdW90YUV4Y2VlZGVkLCAwLAorICAgICAgICAgICAgICAgICAgICAgInNpZ25h
bDo6Z2VvbG9jYXRpb24tcG9saWN5LWRlY2lzaW9uLXJlcXVlc3RlZCIsIGdlb2xvY2F0aW9uUG9s
aWN5RGVjaXNpb25SZXF1ZXN0ZWQsIDAsCiAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKIAog
ICAgIFdlYktpdFdlYkluc3BlY3RvciogaW5zcGVjdG9yID0gd2Via2l0X3dlYl92aWV3X2dldF9p
bnNwZWN0b3Iodmlldyk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49675</attachid>
            <date>2010-02-26 22:37:54 -0800</date>
            <delta_ts>2010-02-26 23:18:22 -0800</delta_ts>
            <desc>patch v2.5</desc>
            <filename>0001-Bug-35210.patch</filename>
            <type>text/plain</type>
            <size>30259</size>
            <attacher name="arno.">a.renevier</attacher>
            
              <data encoding="base64">RnJvbSBkMTAyNzM0M2FmZGRkMTY2MzY4YzE3NDc5YzYyYWY4ZGZmNTUxZjNjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBcm5vIFJlbmV2aWVyIDxhcm5vQHJlbmV2aWVyLm5ldD4KRGF0
ZTogV2VkLCAyNCBGZWIgMjAxMCAyMTo1NTo0NyArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIEJ1ZyAj
MzUyMTAKCi0tLQogQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfCAgICA5ICsrCiBHTlVtYWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8ICAgIDIgKwogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgICA5ICsrCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBl
ZCAgICAgICAgICAgICAgICAgICB8ICAgIDUgLQogV2ViS2l0L2d0ay9DaGFuZ2VMb2cgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDI0ICsrKysrCiBXZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAgICAgICB8ICAgMjEgKysrKy0KIFdlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmggICAgICAgIHwgICAgMiArLQogV2ViS2l0
L2d0ay9kb2NzL3dlYmtpdGd0ay1kb2NzLnNnbWwgICAgICAgICAgICAgICAgfCAgICAxICsKIFdl
YktpdC9ndGsvZG9jcy93ZWJraXRndGstc2VjdGlvbnMudHh0ICAgICAgICAgICAgIHwgICAxOSAr
KysrCiBXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXQuaCAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgIDEgKwogV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZGVmaW5lcy5oICAgICAgICAgICAgICAg
ICAgfCAgICAzICsKIC4uLi9ndGsvd2Via2l0L3dlYmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNp
b24uY3BwIHwgIDEwMyArKysrKysrKysrKysrKysrKysrKwogLi4uL2d0ay93ZWJraXQvd2Via2l0
Z2VvbG9jYXRpb25wb2xpY3lkZWNpc2lvbi5oICAgfCAgIDY0ICsrKysrKysrKysrKwogV2ViS2l0
L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0ZS5oICAgICAgICAgICAgICAgICAgfCAgICA0ICsKIFdl
YktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwICAgICAgICAgICAgICAgIHwgICA0NSAr
KysrKysrKysKIFdlYktpdC9ndGsvd2Via2l0bWFyc2hhbC5saXN0ICAgICAgICAgICAgICAgICAg
ICAgIHwgICAgMSArCiBXZWJLaXRUb29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8ICAgMTEgKysKIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVu
ZGVyVHJlZS5jcHAgIHwgICAxNCArKysKIDE4IGZpbGVzIGNoYW5nZWQsIDMyOSBpbnNlcnRpb25z
KCspLCA5IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IFdlYktpdC9ndGsvd2Via2l0
L3dlYmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNpb24uY3BwCiBjcmVhdGUgbW9kZSAxMDA2NDQg
V2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2VvbG9jYXRpb25wb2xpY3lkZWNpc2lvbi5oCgpkaWZm
IC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IGUzZDYwNDAuLjRlNWVhYTkgMTAw
NjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsOCArMSwxNyBAQAorMjAx
MC0wMi0yNCAgQXJubyBSZW5ldmllciAgPGFybm9AcmVuZXZpZXIubmV0PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtHdGtdIGltcGxlbWVudHMgQ2hy
b21lQ2xpZW50OjpyZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MjEwCisKKyAgICAgICAg
KiBHTlVtYWtlZmlsZS5hbToKKwogMjAxMC0wMi0yNiAgQXJubyBSZW5ldmllciAgPGFybm9AcmVu
ZXZpZXIubmV0PgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCiAgICAg
ICAgIFtHdGtdIGlnbm9yZSBXZWJLaXQvZ3RrL2RvY3MvR05VbWFrZWZpbGUuaW4gaW4gLmdpdGln
bm9yZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU0
MjQKIAogICAgICAgICAqIC5naXRpZ25vcmU6CmRpZmYgLS1naXQgYS9HTlVtYWtlZmlsZS5hbSBi
L0dOVW1ha2VmaWxlLmFtCmluZGV4IDg1NGExYjAuLjVhMjU1NTQgMTAwNjQ0Ci0tLSBhL0dOVW1h
a2VmaWxlLmFtCisrKyBiL0dOVW1ha2VmaWxlLmFtCkBAIC0zMjIsMTYgKzMyMiwxNyBAQCB3ZWJr
aXRndGtfaF9hcGkgKz0gXAogCSQoc3JjZGlyKS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRzb3Vw
YXV0aGRpYWxvZy5oIFwKIAkkKHNyY2RpcikvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViYmFj
a2ZvcndhcmRsaXN0LmggXAogCSQoc3JjZGlyKS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJk
YXRhc291cmNlLmggXAogCSQoc3JjZGlyKS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJmcmFt
ZS5oIFwKIAkkKHNyY2RpcikvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViaGlzdG9yeWl0ZW0u
aCBcCiAJJChzcmNkaXIpL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmluc3BlY3Rvci5oIFwK
IAkkKHNyY2RpcikvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2VibmF2aWdhdGlvbmFjdGlvbi5o
IFwKIAkkKHNyY2RpcikvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2VicG9saWN5ZGVjaXNpb24u
aCBcCisJJChzcmNkaXIpL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdlb2xvY2F0aW9ucG9saWN5
ZGVjaXNpb24uaCBcCiAJJChzcmNkaXIpL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnJlc291
cmNlLmggXAogCSQoc3JjZGlyKS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5o
IFwKIAkkKHNyY2RpcikvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vid2luZG93ZmVhdHVyZXMu
aCBcCiAJJChzcmNkaXIpL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuaCBcCiAJJChz
cmNkaXIpL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmRhdGFiYXNlLmggXAogCSQoc3JjZGly
KS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRzZWN1cml0eW9yaWdpbi5oIFwKIAkkKHRvcF9idWls
ZGRpcikvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0dmVyc2lvbi5oCiAKQEAgLTM3MCwxNiArMzcx
LDE3IEBAIHdlYmtpdGd0a19zb3VyY2VzICs9IFwKIAlXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR2
ZXJzaW9uLmNwcCBcCiAJV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViYmFja2ZvcndhcmRsaXN0
LmNwcCBcCiAJV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViZGF0YXNvdXJjZS5jcHAgXAogCVdl
YktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmZyYW1lLmNwcCBcCiAJV2ViS2l0L2d0ay93ZWJraXQv
d2Via2l0d2ViaGlzdG9yeWl0ZW0uY3BwIFwKIAlXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJp
bnNwZWN0b3IuY3BwIFwKIAlXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJuYXZpZ2F0aW9uYWN0
aW9uLmNwcCBcCiAJV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2VicG9saWN5ZGVjaXNpb24uY3Bw
IFwKKwlXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRnZW9sb2NhdGlvbnBvbGljeWRlY2lzaW9uLmNw
cCBcCiAJV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2VicmVzb3VyY2UuY3BwIFwKIAlXZWJLaXQv
Z3RrL3dlYmtpdC93ZWJraXR3ZWJkYXRhYmFzZS5jcHAgXAogCVdlYktpdC9ndGsvd2Via2l0L3dl
YmtpdHNlY3VyaXR5b3JpZ2luLmNwcCBcCiAJV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0
dGluZ3MuY3BwIFwKIAlXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcCBcCiAJV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0d2Vid2luZG93ZmVhdHVyZXMuY3BwIFwKIAlXZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXR3b3JrZXJzLmNwcAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNTNlNzE2MC4uZGZmYTNmNCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSw4ICsxLDE3IEBACisyMDEwLTAyLTI0ICBBcm5vIFJlbmV2aWVyICA8YXJub0ByZW5l
dmllci5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgW0d0a10gaW1wbGVtZW50cyBDaHJvbWVDbGllbnQ6OnJlcXVlc3RHZW9sb2NhdGlvblBlcm1p
c3Npb25Gb3JGcmFtZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MzUyMTAKKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9Ta2lwcGVkOgorCiAyMDEwLTAy
LTI2ICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0YXZvLm5vcm9uaGFAY29sbGFib3JhLmNv
LnVrPgogCiAgICAgICAgIFJlYmFzZWxpbmUgb2YgcGxhdGZvcm0tc3BlY2lmaWMgcmVzdWx0cyBm
b3IgdGVzdC4KIAogICAgICAgICBTVkdSZXNvdXJjZUNsaXBwZXIgbmVlZHMgdG8gYmUgbW92ZWQg
dG8gUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zNTQyMQogCiAgICAgICAgICogcGxhdGZvcm0vZ3RrL3N2Zy9j
dXN0b20vdXNlLW9uLWNsaXAtcGF0aC13aXRoLXRyYW5zZm9ybWF0aW9uLWV4cGVjdGVkLnR4dDoK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKaW5kZXggYjNhY2ZmNS4uZDJhMjZlMyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL1NraXBwZWQKQEAgLTEyODAsMjYgKzEyODAsMjEgQEAgZmFzdC9jc3MvZ2V0Q29t
cHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLmh0bWwKIGZhc3QvY3Nz
L2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUuaHRtbAogZmFzdC9kb20vY2xpZW50LXdp
ZHRoLWhlaWdodC1xdWlya3MuaHRtbAogZmFzdC9kb20vY2xpZW50LXdpZHRoLWhlaWdodC5odG1s
CiBmYXN0L2RvbS9jc3NUYXJnZXQtY3Jhc2guaHRtbAogZmFzdC9kb20vZnJhbWUtbG9hZGluZy12
aWEtZG9jdW1lbnQtd3JpdGUuaHRtbAogZmFzdC9kb20vR2VvbG9jYXRpb24vY2FsbGJhY2stZXhj
ZXB0aW9uLmh0bWwKIGZhc3QvZG9tL0dlb2xvY2F0aW9uL2Vycm9yLmh0bWwKIGZhc3QvZG9tL0dl
b2xvY2F0aW9uL3Blcm1pc3Npb24tZGVuaWVkLWFscmVhZHktY2xlYXItd2F0Y2guaHRtbAotZmFz
dC9kb20vR2VvbG9jYXRpb24vcGVybWlzc2lvbi1kZW5pZWQtYWxyZWFkeS1lcnJvci5odG1sCi1m
YXN0L2RvbS9HZW9sb2NhdGlvbi9wZXJtaXNzaW9uLWRlbmllZC1hbHJlYWR5LXN1Y2Nlc3MuaHRt
bAotZmFzdC9kb20vR2VvbG9jYXRpb24vcGVybWlzc2lvbi1kZW5pZWQtc3RvcHMtd2F0Y2hlcy5o
dG1sCi1mYXN0L2RvbS9HZW9sb2NhdGlvbi9wZXJtaXNzaW9uLWRlbmllZC5odG1sCiBmYXN0L2Rv
bS9HZW9sb2NhdGlvbi9wb3NpdGlvbi1zdHJpbmcuaHRtbAogZmFzdC9kb20vR2VvbG9jYXRpb24v
cmVlbnRyYW50LWVycm9yLmh0bWwKIGZhc3QvZG9tL0dlb2xvY2F0aW9uL3JlZW50cmFudC1zdWNj
ZXNzLmh0bWwKIGZhc3QvZG9tL0dlb2xvY2F0aW9uL3N1Y2Nlc3MuaHRtbAogZmFzdC9kb20vR2Vv
bG9jYXRpb24vdGltZW91dC1jbGVhci13YXRjaC5odG1sCi1mYXN0L2RvbS9HZW9sb2NhdGlvbi90
aW1lb3V0LXplcm8uaHRtbAogZmFzdC9kb20vR2VvbG9jYXRpb24vdGltZW91dC5odG1sCiBmYXN0
L2RvbS9HZW9sb2NhdGlvbi93YXRjaC5odG1sCiBmYXN0L2RvbS9FbGVtZW50L2dldEJvdW5kaW5n
Q2xpZW50UmVjdC5odG1sCiBmYXN0L2RvbS9SYW5nZS9nZXRCb3VuZGluZ0NsaWVudFJlY3QuaHRt
bAogZmFzdC9kb20vUmFuZ2UvZ2V0Q2xpZW50UmVjdHMuaHRtbAogZmFzdC9kb20vbnVsbC1kb2N1
bWVudC1sb2NhdGlvbi1ocmVmLXB1dC1jcmFzaC5odG1sCiBmYXN0L2RvbS9udWxsLWRvY3VtZW50
LWxvY2F0aW9uLXB1dC1jcmFzaC5odG1sCiBmYXN0L2RvbS9udWxsLWRvY3VtZW50LWxvY2F0aW9u
LXJlcGxhY2UtY3Jhc2guaHRtbApkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9X
ZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCBhOWIzZTJmLi4yZGM1MmYyIDEwMDY0NAotLS0gYS9X
ZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSw4ICsx
LDMyIEBACisyMDEwLTAyLTI0ICBBcm5vIFJlbmV2aWVyICA8YXJub0ByZW5ldmllci5uZXQ+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0d0a10gaW1w
bGVtZW50cyBDaHJvbWVDbGllbnQ6OnJlcXVlc3RHZW9sb2NhdGlvblBlcm1pc3Npb25Gb3JGcmFt
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzUyMTAK
KworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHA6CisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmg6CisgICAgICAgICogZG9jcy93ZWJr
aXRndGstc2VjdGlvbnMudHh0OgorICAgICAgICAqIHdlYmtpdC93ZWJraXQuaDoKKyAgICAgICAg
KiB3ZWJraXQvd2Via2l0ZGVmaW5lcy5oOgorICAgICAgICAqIHdlYmtpdC93ZWJraXRnZW9sb2Nh
dGlvbnBvbGljeWRlY2lzaW9uLmNwcDogQWRkZWQuCisgICAgICAgICh3ZWJraXRfZ2VvbG9jYXRp
b25fcG9saWN5X2RlY2lzaW9uX2NsYXNzX2luaXQpOgorICAgICAgICAod2Via2l0X2dlb2xvY2F0
aW9uX3BvbGljeV9kZWNpc2lvbl9pbml0KToKKyAgICAgICAgKHdlYmtpdF9nZW9sb2NhdGlvbl9w
b2xpY3lfZGVjaXNpb25fbmV3KToKKyAgICAgICAgKHdlYmtpdF9nZW9sb2NhdGlvbl9wb2xpY3lf
YWxsb3cpOgorICAgICAgICAod2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9kZW55KToKKyAgICAg
ICAgKiB3ZWJraXQvd2Via2l0Z2VvbG9jYXRpb25wb2xpY3lkZWNpc2lvbi5oOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJraXQvd2Via2l0cHJpdmF0ZS5oOgorICAgICAgICAqIHdlYmtpdC93ZWJraXR3
ZWJ2aWV3LmNwcDoKKyAgICAgICAgKERORENvbnRlbnRzUmVxdWVzdDo6d2Via2l0X3dlYl92aWV3
X2NsYXNzX2luaXQpOgorICAgICAgICAqIHdlYmtpdG1hcnNoYWwubGlzdDoKKwogMjAxMC0wMi0y
NiAgQW50b25pbyBHb21lcyAgPHRvbmlraXRvb0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IFhhbiBMb3Blei4KICAgICAgICAgUGF0Y2ggYnkgQW50b25pbyBHb21lcyA8dG9uaWtp
dG9vQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW0dUS10gTWFrZSB3ZWJraXRfd2ViX3ZpZXdfZ3Jh
Yl9mb2N1cyB0byBhY3RpdmUgZm9jdXMgY29udHJvbGxlci4KICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1NDAyCiAKZGlmZiAtLWdpdCBhL1dlYktpdC9n
dGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcCBiL1dlYktpdC9ndGsvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcAppbmRleCA3NGY1ZTA3Li5hMTEwYzkwIDEwMDY0
NAotLS0gYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKKysr
IGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCkBAIC0yOCwx
NiArMjgsMTcgQEAKICNpbmNsdWRlICJGaWxlQ2hvb3Nlci5oIgogI2luY2x1ZGUgIkZsb2F0UmVj
dC5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZFJlcXVlc3QuaCIKICNpbmNsdWRlICJJbnRSZWN0Lmgi
CiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlICJDU3RyaW5nLmgiCiAjaW5j
bHVkZSAiSGl0VGVzdFJlc3VsdC5oIgogI2luY2x1ZGUgIktVUkwuaCIKKyNpbmNsdWRlICJ3ZWJr
aXRnZW9sb2NhdGlvbnBvbGljeWRlY2lzaW9uLmgiCiAjaW5jbHVkZSAid2Via2l0d2Vidmlldy5o
IgogI2luY2x1ZGUgIndlYmtpdG5ldHdvcmtyZXF1ZXN0LmgiCiAjaW5jbHVkZSAid2Via2l0cHJp
dmF0ZS5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiV2luZG93RmVh
dHVyZXMuaCIKICNpZiBFTkFCTEUoREFUQUJBU0UpCiAjaW5jbHVkZSAiRGF0YWJhc2VUcmFja2Vy
LmgiCiAjZW5kaWYKQEAgLTU3MCwxNSArNTcxLDI5IEBAIHZvaWQgQ2hyb21lQ2xpZW50OjppY29u
Rm9yRmlsZXMoY29uc3QgVmVjdG9yPFdlYkNvcmU6OlN0cmluZz4mLCBQYXNzUmVmUHRyPFdlYkNv
CiB9CiAKIGJvb2wgQ2hyb21lQ2xpZW50OjpzZXRDdXJzb3IoUGxhdGZvcm1DdXJzb3JIYW5kbGUp
CiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXZvaWQg
Q2hyb21lQ2xpZW50OjpyZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUoRnJhbWUq
LCBHZW9sb2NhdGlvbiopCit2b2lkIENocm9tZUNsaWVudDo6cmVxdWVzdEdlb2xvY2F0aW9uUGVy
bWlzc2lvbkZvckZyYW1lKEZyYW1lKiBmcmFtZSwgR2VvbG9jYXRpb24qIGdlb2xvY2F0aW9uKQog
ewotICAgIC8vIFNlZSB0aGUgY29tbWVudCBpbiBXZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgK
LSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIFdlYktpdFdlYkZyYW1lKiB3ZWJGcmFtZSA9IGtp
dChmcmFtZSk7CisgICAgV2ViS2l0V2ViVmlldyogd2ViVmlldyA9IGdldFZpZXdGcm9tRnJhbWUo
d2ViRnJhbWUpOworCisgICAgV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbiogcG9saWN5
RGVjaXNpb24gPSB3ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5X2RlY2lzaW9uX25ldyh3ZWJGcmFt
ZSwgZ2VvbG9jYXRpb24pOworCisgICAgZ2Jvb2xlYW4gaXNIYW5kbGVkID0gRkFMU0U7CisgICAg
Z19zaWduYWxfZW1pdF9ieV9uYW1lKHdlYlZpZXcsICJnZW9sb2NhdGlvbi1wb2xpY3ktZGVjaXNp
b24tcmVxdWVzdGVkIiwgd2ViRnJhbWUsIHBvbGljeURlY2lzaW9uLCAmaXNIYW5kbGVkKTsKKyAg
ICBpZiAoIWlzSGFuZGxlZCkKKyAgICAgICAgd2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9kZW55
KHBvbGljeURlY2lzaW9uKTsKK30KKwordm9pZCBDaHJvbWVDbGllbnQ6OmNhbmNlbEdlb2xvY2F0
aW9uUGVybWlzc2lvblJlcXVlc3RGb3JGcmFtZShXZWJDb3JlOjpGcmFtZSogZnJhbWUpCit7Cisg
ICAgV2ViS2l0V2ViRnJhbWUqIHdlYkZyYW1lID0ga2l0KGZyYW1lKTsKKyAgICBXZWJLaXRXZWJW
aWV3KiB3ZWJWaWV3ID0gZ2V0Vmlld0Zyb21GcmFtZSh3ZWJGcmFtZSk7CisgICAgZ19zaWduYWxf
ZW1pdF9ieV9uYW1lKHdlYlZpZXcsICJnZW9sb2NhdGlvbi1wb2xpY3ktZGVjaXNpb24tY2FuY2Vs
bGVkIiwgd2ViRnJhbWUpOwogfQogCiB9CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRHdGsuaAppbmRleCA2MmQ0OGZhLi42MTM5YjNhIDEwMDY0NAotLS0gYS9XZWJLaXQv
Z3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oCisrKyBiL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgKQEAgLTExMiwxNyArMTEyLDE3IEBAIG5hbWVz
cGFjZSBXZWJLaXQgewogICAgICAgICB2aXJ0dWFsIHZvaWQgZm9ybVN0YXRlRGlkQ2hhbmdlKGNv
bnN0IFdlYkNvcmU6Ok5vZGUqKSB7IH0KIAogICAgICAgICB2aXJ0dWFsIFBhc3NPd25QdHI8V2Vi
Q29yZTo6SFRNTFBhcnNlclF1aXJrcz4gY3JlYXRlSFRNTFBhcnNlclF1aXJrcygpIHsgcmV0dXJu
IDA7IH0KIAogICAgICAgICB2aXJ0dWFsIGJvb2wgc2V0Q3Vyc29yKFdlYkNvcmU6OlBsYXRmb3Jt
Q3Vyc29ySGFuZGxlKTsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsUmVjdEludG9WaWV3
KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBjb25zdCBXZWJDb3JlOjpTY3JvbGxWaWV3KikgY29u
c3Qge30KICAgICAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RHZW9sb2NhdGlvblBlcm1pc3Npb25G
b3JGcmFtZShXZWJDb3JlOjpGcmFtZSosIFdlYkNvcmU6Okdlb2xvY2F0aW9uKik7Ci0gICAgICAg
IHZpcnR1YWwgdm9pZCBjYW5jZWxHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Rm9yRnJhbWUo
V2ViQ29yZTo6RnJhbWUqKSB7IH0KKyAgICAgICAgdmlydHVhbCB2b2lkIGNhbmNlbEdlb2xvY2F0
aW9uUGVybWlzc2lvblJlcXVlc3RGb3JGcmFtZShXZWJDb3JlOjpGcmFtZSopOwogCiAgICAgcHJp
dmF0ZToKICAgICAgICAgV2ViS2l0V2ViVmlldyogbV93ZWJWaWV3OwogICAgICAgICBXZWJDb3Jl
OjpLVVJMIG1faG92ZXJlZExpbmtVUkw7CiAgICAgfTsKIH0KIAogI2VuZGlmIC8vIENocm9tZUNs
aWVudF9oCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL2RvY3Mvd2Via2l0Z3RrLWRvY3Muc2dtbCBi
L1dlYktpdC9ndGsvZG9jcy93ZWJraXRndGstZG9jcy5zZ21sCmluZGV4IDc3ZjM0ODIuLjZjODRk
Y2IgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvZG9jcy93ZWJraXRndGstZG9jcy5zZ21sCisrKyBi
L1dlYktpdC9ndGsvZG9jcy93ZWJraXRndGstZG9jcy5zZ21sCkBAIC0xMywxNiArMTMsMTcgQEAK
ICAgICA8dGl0bGU+Q2xhc3MgT3ZlcnZpZXc8L3RpdGxlPgogICAgIDx4aTppbmNsdWRlIGhyZWY9
InhtbC93ZWJraXR3ZWJ2aWV3LnhtbCIvPgogICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC93ZWJr
aXR3ZWJmcmFtZS54bWwiLz4KICAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvd2Via2l0d2Vic2V0
dGluZ3MueG1sIi8+CiAgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL3dlYmtpdHdlYmJhY2tmb3J3
YXJkbGlzdC54bWwiLz4KICAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvd2Via2l0d2ViaGlzdG9y
eWl0ZW0ueG1sIi8+CiAgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL3dlYmtpdHdlYm5hdmlnYXRp
b25hY3Rpb24ueG1sIi8+CiAgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL3dlYmtpdHdlYnBvbGlj
eWRlY2lzaW9uLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC93ZWJraXRnZW9sb2Nh
dGlvbnBvbGljeWRlY2lzaW9uLnhtbCIvPgogICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC93ZWJr
aXRuZXR3b3JrcmVxdWVzdC54bWwiLz4KICAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvd2Via2l0
bmV0d29ya3Jlc3BvbnNlLnhtbCIvPgogICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC93ZWJraXR3
ZWJpbnNwZWN0b3IueG1sIi8+CiAgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL3dlYmtpdHdlYmRh
dGFiYXNlLnhtbCIvPgogICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC93ZWJraXR3ZWJkYXRhc291
cmNlLnhtbCIvPgogICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC93ZWJraXR3ZWJyZXNvdXJjZS54
bWwiLz4KICAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvd2Via2l0ZG93bmxvYWQueG1sIi8+CiAg
ICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL3dlYmtpdGhpdHRlc3RyZXN1bHQueG1sIi8+CmRpZmYg
LS1naXQgYS9XZWJLaXQvZ3RrL2RvY3Mvd2Via2l0Z3RrLXNlY3Rpb25zLnR4dCBiL1dlYktpdC9n
dGsvZG9jcy93ZWJraXRndGstc2VjdGlvbnMudHh0CmluZGV4IDIzNzljOGIuLjE0MTI0YTEgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9ndGsvZG9jcy93ZWJraXRndGstc2VjdGlvbnMudHh0CisrKyBiL1dl
YktpdC9ndGsvZG9jcy93ZWJraXRndGstc2VjdGlvbnMudHh0CkBAIC0zNDYsMTYgKzM0NiwzNSBA
QCBXRUJLSVRfV0VCX1BPTElDWV9ERUNJU0lPTl9DTEFTUwogV0VCS0lUX1dFQl9QT0xJQ1lfREVD
SVNJT05fR0VUX0NMQVNTCiA8U1VCU0VDVElPTiBQcml2YXRlPgogV2ViS2l0V2ViUG9saWN5RGVj
aXNpb24KIFdlYktpdFdlYlBvbGljeURlY2lzaW9uQ2xhc3MKIFdlYktpdFdlYlBvbGljeURlY2lz
aW9uUHJpdmF0ZQogPC9TRUNUSU9OPgogCiA8U0VDVElPTj4KKzxGSUxFPndlYmtpdGdlb2xvY2F0
aW9ucG9saWN5ZGVjaXNpb248L0ZJTEU+Cis8VElUTEU+V2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lE
ZWNpc2lvbjwvVElUTEU+CitXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uCit3ZWJraXRf
Z2VvbG9jYXRpb25fcG9saWN5X2FsbG93Cit3ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5X2RlbnkK
KzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV0VCS0lUX0lTX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJ
U0lPTgorV0VCS0lUX0lTX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTl9DTEFTUworV0VCS0lU
X1RZUEVfR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OCitXRUJLSVRfR0VPTE9DQVRJT05fUE9M
SUNZX0RFQ0lTSU9OCitXRUJLSVRfR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OX0NMQVNTCitX
RUJLSVRfR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OX0dFVF9DTEFTUworPFNVQlNFQ1RJT04g
UHJpdmF0ZT4KK1dlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb24KK1dlYktpdEdlb2xvY2F0
aW9uUG9saWN5RGVjaXNpb25DbGFzcworV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvblBy
aXZhdGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+CiA8RklMRT53ZWJraXRuZXR3b3JrcmVxdWVz
dDwvRklMRT4KIDxUSVRMRT5XZWJLaXROZXR3b3JrUmVxdWVzdDwvVElUTEU+CiBXZWJLaXROZXR3
b3JrUmVxdWVzdAogd2Via2l0X25ldHdvcmtfcmVxdWVzdF9uZXcKIHdlYmtpdF9uZXR3b3JrX3Jl
cXVlc3RfZ2V0X3VyaQogd2Via2l0X25ldHdvcmtfcmVxdWVzdF9nZXRfbWVzc2FnZQogd2Via2l0
X25ldHdvcmtfcmVxdWVzdF9zZXRfdXJpCiA8U1VCU0VDVElPTiBTdGFuZGFyZD4KZGlmZiAtLWdp
dCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdC5oIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
LmgKaW5kZXggNGNkMDcwOS4uMTdiMTk3YiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay93ZWJraXQv
d2Via2l0LmgKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0LmgKQEAgLTE5LDE2ICsxOSwx
NyBAQAogICovCiAKICNpZm5kZWYgX19XRUJLSVRfSF9fCiAjZGVmaW5lIF9fV0VCS0lUX0hfXwog
CiAjaW5jbHVkZSA8d2Via2l0L3dlYmtpdHZlcnNpb24uaD4KICNpbmNsdWRlIDx3ZWJraXQvd2Vi
a2l0ZGVmaW5lcy5oPgogI2luY2x1ZGUgPHdlYmtpdC93ZWJraXRkb3dubG9hZC5oPgorI2luY2x1
ZGUgPHdlYmtpdC93ZWJraXRnZW9sb2NhdGlvbnBvbGljeWRlY2lzaW9uLmg+CiAjaW5jbHVkZSA8
d2Via2l0L3dlYmtpdGhpdHRlc3RyZXN1bHQuaD4KICNpbmNsdWRlIDx3ZWJraXQvd2Via2l0bmV0
d29ya3JlcXVlc3QuaD4KICNpbmNsdWRlIDx3ZWJraXQvd2Via2l0bmV0d29ya3Jlc3BvbnNlLmg+
CiAjaW5jbHVkZSA8d2Via2l0L3dlYmtpdHNvdXBhdXRoZGlhbG9nLmg+CiAjaW5jbHVkZSA8d2Vi
a2l0L3dlYmtpdHdlYmRhdGFzb3VyY2UuaD4KICNpbmNsdWRlIDx3ZWJraXQvd2Via2l0d2ViZnJh
bWUuaD4KICNpbmNsdWRlIDx3ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuaD4KICNpbmNsdWRlIDx3
ZWJraXQvd2Via2l0d2ViaW5zcGVjdG9yLmg+CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXRkZWZpbmVzLmggYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkZWZpbmVzLmgKaW5k
ZXggYTU4ODRmMy4uYjA2YTNiZiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
ZGVmaW5lcy5oCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRlZmluZXMuaApAQCAtODQs
MTEgKzg0LDE0IEBAIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRXZWJEYXRhYmFzZSBXZWJLaXRXZWJE
YXRhYmFzZTsKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRXZWJEYXRhYmFzZUNsYXNzIFdlYktpdFdl
YkRhdGFiYXNlQ2xhc3M7CiAKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRTZWN1cml0eU9yaWdpbiBX
ZWJLaXRTZWN1cml0eU9yaWdpbjsKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRTZWN1cml0eU9yaWdp
bkNsYXNzIFdlYktpdFNlY3VyaXR5T3JpZ2luQ2xhc3M7CiAKIHR5cGVkZWYgc3RydWN0IF9XZWJL
aXRIaXRUZXN0UmVzdWx0IFdlYktpdEhpdFRlc3RSZXN1bHQ7CiB0eXBlZGVmIHN0cnVjdCBfV2Vi
S2l0SGl0VGVzdFJlc3VsdENsYXNzIFdlYktpdEhpdFRlc3RSZXN1bHRDbGFzczsKIAordHlwZWRl
ZiBzdHJ1Y3QgX1dlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb24gV2ViS2l0R2VvbG9jYXRp
b25Qb2xpY3lEZWNpc2lvbjsKK3R5cGVkZWYgc3RydWN0IF9XZWJLaXRHZW9sb2NhdGlvblBvbGlj
eURlY2lzaW9uQ2xhc3MgV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbkNsYXNzOworCiBH
X0VORF9ERUNMUwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtp
dGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNpb24uY3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
Z2VvbG9jYXRpb25wb2xpY3lkZWNpc2lvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uOTA5NzU3MQotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dl
YmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNpb24uY3BwCkBAIC0wLDAgKzEsMTAzIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEwIEFybm8gUmVuZXZpZXIKKyAqCisgKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwor
ICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
KyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoK
KyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICog
Qm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
CisjaW5jbHVkZSAid2Via2l0Z2VvbG9jYXRpb25wb2xpY3lkZWNpc2lvbi5oIgorCisjaW5jbHVk
ZSAid2Via2l0cHJpdmF0ZS5oIgorCisjaW5jbHVkZSAiR2VvbG9jYXRpb24uaCIKKwordXNpbmcg
bmFtZXNwYWNlIFdlYktpdDsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCisvKioKKyAqIFNF
Q1RJT046d2Via2l0Z2VvbG9jYXRpb25wb2xpY3lkZWNpc2lvbgorICogQHNob3J0X2Rlc2NyaXB0
aW9uOiBMaWFpc29uIGJldHdlZW4gV2ViS2l0IGFuZCB0aGUgYXBwbGljYXRpb24gcmVnYXJkaW5n
IGFzeW5jaHJvbm91cyBnZW9sb2NhdGlvbiBwb2xpY3kgZGVjaXNpb25zCisgKgorICogI1dlYktp
dEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb24gb2JqZWN0cyBhcmUgZ2l2ZW4gdG8gdGhlIGFwcGxp
Y2F0aW9uIHdoZW4KKyAqIGdlb2xvY2F0aW9uLXBvbGljeS1kZWNpc2lvbi1yZXF1ZXN0ZWQgc2ln
bmFsIGlzIGVtaXR0ZWQuIFRoZSBhcHBsaWNhdGlvbgorICogdXNlcyBpdCB0byB0ZWxsIHRoZSBl
bmdpbmUgd2hldGhlciBpdCB3YW50cyB0byBhbGxvdyBvciBkZW55IGdlb2xvY2F0aW9uIGZvcgor
ICogZ2l2ZW4gZnJhbWUuCisgKi8KKworR19ERUZJTkVfVFlQRShXZWJLaXRHZW9sb2NhdGlvblBv
bGljeURlY2lzaW9uLCB3ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5X2RlY2lzaW9uLCBHX1RZUEVf
T0JKRUNUKTsKKworc3RydWN0IF9XZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uUHJpdmF0
ZSB7CisgICAgV2ViS2l0V2ViRnJhbWUqIGZyYW1lOworICAgIEdlb2xvY2F0aW9uKiBnZW9sb2Nh
dGlvbjsKK307CisKKyNkZWZpbmUgV0VCS0lUX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTl9H
RVRfUFJJVkFURShvYmopICAgIChHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUoKG9iaiksIFdF
QktJVF9UWVBFX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTiwgV2ViS2l0R2VvbG9jYXRpb25Q
b2xpY3lEZWNpc2lvblByaXZhdGUpKQorCitzdGF0aWMgdm9pZCB3ZWJraXRfZ2VvbG9jYXRpb25f
cG9saWN5X2RlY2lzaW9uX2NsYXNzX2luaXQoV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lv
bkNsYXNzKiBkZWNpc2lvbkNsYXNzKQoreworICAgIGdfdHlwZV9jbGFzc19hZGRfcHJpdmF0ZShk
ZWNpc2lvbkNsYXNzLCBzaXplb2YoV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvblByaXZh
dGUpKTsKK30KKworc3RhdGljIHZvaWQgd2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9kZWNpc2lv
bl9pbml0KFdlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb24qIGRlY2lzaW9uKQoreworICAg
IGRlY2lzaW9uLT5wcml2ID0gV0VCS0lUX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTl9HRVRf
UFJJVkFURShkZWNpc2lvbik7Cit9CisKK1dlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb24q
IHdlYmtpdF9nZW9sb2NhdGlvbl9wb2xpY3lfZGVjaXNpb25fbmV3KFdlYktpdFdlYkZyYW1lKiBm
cmFtZSwgR2VvbG9jYXRpb24qIGdlb2xvY2F0aW9uKQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9m
YWlsKGZyYW1lLCBOVUxMKTsKKyAgICBXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uKiBk
ZWNpc2lvbiA9IFdFQktJVF9HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT04oZ19vYmplY3RfbmV3
KFdFQktJVF9UWVBFX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTiwgTlVMTCkpOworICAgIFdl
YktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb25Qcml2YXRlKiBwcml2ID0gZGVjaXNpb24tPnBy
aXY7CisKKworICAgIHByaXYtPmZyYW1lID0gZnJhbWU7CisgICAgcHJpdi0+Z2VvbG9jYXRpb24g
PSBnZW9sb2NhdGlvbjsKKyAgICByZXR1cm4gZGVjaXNpb247Cit9CisKKy8qKgorICogd2Via2l0
X2dlb2xvY2F0aW9uX3BvbGljeV9hbGxvdworICogQGRlY2lzaW9uOiBhICNXZWJLaXRHZW9sb2Nh
dGlvblBvbGljeURlY2lzaW9uCisgKgorICogV2lsbCBzZW5kIHRoZSBhbGxvdyBkZWNpc2lvbiB0
byB0aGUgcG9saWN5IGltcGxlbWVudGVyLgorICoKKyAqIFNpbmNlOiAxLjEuMjIKKyAqLwordm9p
ZCB3ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5X2FsbG93KFdlYktpdEdlb2xvY2F0aW9uUG9saWN5
RGVjaXNpb24qIGRlY2lzaW9uKQoreworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0lTX0dF
T0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTihkZWNpc2lvbikpOworCisgICAgV2ViS2l0R2VvbG9j
YXRpb25Qb2xpY3lEZWNpc2lvblByaXZhdGUqIHByaXYgPSBkZWNpc2lvbi0+cHJpdjsKKyAgICBw
cml2LT5nZW9sb2NhdGlvbi0+c2V0SXNBbGxvd2VkKFRSVUUpOworfQorCisvKioKKyAqIHdlYmtp
dF9nZW9sb2NhdGlvbl9wb2xpY3lfZGVueQorICogQGRlY2lzaW9uOiBhICNXZWJLaXRHZW9sb2Nh
dGlvblBvbGljeURlY2lzaW9uCisgKgorICogV2lsbCBzZW5kIHRoZSBkZW55IGRlY2lzaW9uIHRv
IHRoZSBwb2xpY3kgaW1wbGVtZW50ZXIuCisgKgorICogU2luY2U6IDEuMS4yMgorICovCit2b2lk
IHdlYmtpdF9nZW9sb2NhdGlvbl9wb2xpY3lfZGVueShXZWJLaXRHZW9sb2NhdGlvblBvbGljeURl
Y2lzaW9uKiBkZWNpc2lvbikKK3sKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19HRU9M
T0NBVElPTl9QT0xJQ1lfREVDSVNJT04oZGVjaXNpb24pKTsKKworICAgIFdlYktpdEdlb2xvY2F0
aW9uUG9saWN5RGVjaXNpb25Qcml2YXRlKiBwcml2ID0gZGVjaXNpb24tPnByaXY7CisgICAgcHJp
di0+Z2VvbG9jYXRpb24tPnNldElzQWxsb3dlZChGQUxTRSk7Cit9CisKZGlmZiAtLWdpdCBhL1dl
YktpdC9ndGsvd2Via2l0L3dlYmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNpb24uaCBiL1dlYktp
dC9ndGsvd2Via2l0L3dlYmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNpb24uaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yN2UwZWYyCi0tLSAvZGV2L251bGwKKysrIGIvV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0Z2VvbG9jYXRpb25wb2xpY3lkZWNpc2lvbi5oCkBAIC0wLDAg
KzEsNjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXJubyBSZW5ldmllcgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVm
IHdlYmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNpb25faAorI2RlZmluZSB3ZWJraXRnZW9sb2Nh
dGlvbnBvbGljeWRlY2lzaW9uX2gKKworI2luY2x1ZGUgPGdsaWItb2JqZWN0Lmg+CisjaW5jbHVk
ZSA8d2Via2l0L3dlYmtpdGRlZmluZXMuaD4KKworR19CRUdJTl9ERUNMUworCisjZGVmaW5lIFdF
QktJVF9UWVBFX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTiAgICAgICAgICAgICh3ZWJraXRf
Z2VvbG9jYXRpb25fcG9saWN5X2RlY2lzaW9uX2dldF90eXBlKCkpCisjZGVmaW5lIFdFQktJVF9H
RU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT04ob2JqKSAgICAgICAgICAgIChHX1RZUEVfQ0hFQ0tf
SU5TVEFOQ0VfQ0FTVCgob2JqKSwgV0VCS0lUX1RZUEVfR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lT
SU9OLCBXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uKSkKKyNkZWZpbmUgV0VCS0lUX0dF
T0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTl9DTEFTUyhrbGFzcykgICAgKEdfVFlQRV9DSEVDS19D
TEFTU19DQVNUKChrbGFzcyksICBXRUJLSVRfVFlQRV9HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJ
T04sIFdlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb25DbGFzcykpCisjZGVmaW5lIFdFQktJ
VF9JU19HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT04ob2JqKSAgICAgICAgIChHX1RZUEVfQ0hF
Q0tfSU5TVEFOQ0VfVFlQRSgob2JqKSwgV0VCS0lUX1RZUEVfR0VPTE9DQVRJT05fUE9MSUNZX0RF
Q0lTSU9OKSkKKyNkZWZpbmUgV0VCS0lUX0lTX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTl9D
TEFTUyhrbGFzcykgKEdfVFlQRV9DSEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRfVFlQ
RV9HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT04pKQorI2RlZmluZSBXRUJLSVRfR0VPTE9DQVRJ
T05fUE9MSUNZX0RFQ0lTSU9OX0dFVF9DTEFTUyhvYmopICAoR19UWVBFX0lOU1RBTkNFX0dFVF9D
TEFTUygob2JqKSwgIFdFQktJVF9UWVBFX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTiwgV2Vi
S2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbkNsYXNzKSkKKwordHlwZWRlZiBzdHJ1Y3QgX1dl
YktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb25Qcml2YXRlIFdlYktpdEdlb2xvY2F0aW9uUG9s
aWN5RGVjaXNpb25Qcml2YXRlOworc3RydWN0IF9XZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lz
aW9uIHsKKyAgICBHT2JqZWN0IHBhcmVudF9pbnN0YW5jZTsKKworICAgIC8qPCBwcml2YXRlID4q
LworICAgIFdlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb25Qcml2YXRlKiBwcml2OworfTsK
Kworc3RydWN0IF9XZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uQ2xhc3MgeworICAgIEdP
YmplY3RDbGFzcyBwYXJlbnRfY2xhc3M7CisKKyAgICAvKiBQYWRkaW5nIGZvciBmdXR1cmUgZXhw
YW5zaW9uICovCisgICAgdm9pZCAoKl93ZWJraXRfcmVzZXJ2ZWQwKSAodm9pZCk7CisgICAgdm9p
ZCAoKl93ZWJraXRfcmVzZXJ2ZWQxKSAodm9pZCk7CisgICAgdm9pZCAoKl93ZWJraXRfcmVzZXJ2
ZWQyKSAodm9pZCk7CisgICAgdm9pZCAoKl93ZWJraXRfcmVzZXJ2ZWQzKSAodm9pZCk7Cit9Owor
CitXRUJLSVRfQVBJIEdUeXBlCit3ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5X2RlY2lzaW9uX2dl
dF90eXBlICh2b2lkKTsKKworV0VCS0lUX0FQSSB2b2lkCit3ZWJraXRfZ2VvbG9jYXRpb25fcG9s
aWN5X2FsbG93IChXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uKiBkZWNpc2lvbik7CisK
K1dFQktJVF9BUEkgdm9pZAord2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9kZW55IChXZWJLaXRH
ZW9sb2NhdGlvblBvbGljeURlY2lzaW9uKiBkZWNpc2lvbik7CisKK0dfRU5EX0RFQ0xTCisKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0ZS5oIGIvV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0ZS5oCmluZGV4IDc0ODYxYmUuLjA2NWU1NWQgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZhdGUuaAorKysgYi9XZWJLaXQv
Z3RrL3dlYmtpdC93ZWJraXRwcml2YXRlLmgKQEAgLTQ0LDE2ICs0NCwxNyBAQAogI2luY2x1ZGUg
PHdlYmtpdC93ZWJraXRuZXR3b3JrcmVxdWVzdC5oPgogI2luY2x1ZGUgPHdlYmtpdC93ZWJraXRz
ZWN1cml0eW9yaWdpbi5oPgogCiAjaW5jbHVkZSAiQXJjaGl2ZVJlc291cmNlLmgiCiAjaW5jbHVk
ZSAiQmFja0ZvcndhcmRMaXN0LmgiCiAjaW5jbHVkZSAiQ1N0cmluZy5oIgogI2luY2x1ZGUgPGVu
Y2hhbnQuaD4KICNpbmNsdWRlICJHT3duUHRyLmgiCisjaW5jbHVkZSAiR2VvbG9jYXRpb24uaCIK
ICNpbmNsdWRlICJIaXN0b3J5SXRlbS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVk
ZSAiUGFnZS5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50
R3RrLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJSZXNvdXJj
ZUhhbmRsZS5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgpAQCAtMjY2LDE2ICsyNjcs
MTkgQEAgZXh0ZXJuICJDIiB7CiAgICAgd2Via2l0X3dlYl9wb2xpY3lfZGVjaXNpb25fY2FuY2Vs
IChXZWJLaXRXZWJQb2xpY3lEZWNpc2lvbiogZGVjaXNpb24pOwogCiAgICAgV2ViS2l0TmV0d29y
a1JlcXVlc3QqCiAgICAgd2Via2l0X25ldHdvcmtfcmVxdWVzdF9uZXdfd2l0aF9jb3JlX3JlcXVl
c3QoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXNvdXJjZVJlcXVlc3QpOwogCiAg
ICAgV2ViS2l0TmV0d29ya1Jlc3BvbnNlKgogICAgIHdlYmtpdF9uZXR3b3JrX3Jlc3BvbnNlX25l
d193aXRoX2NvcmVfcmVzcG9uc2UoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVz
b3VyY2VSZXNwb25zZSk7CiAKKyAgICBXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uKgor
ICAgIHdlYmtpdF9nZW9sb2NhdGlvbl9wb2xpY3lfZGVjaXNpb25fbmV3KFdlYktpdFdlYkZyYW1l
KiwgV2ViQ29yZTo6R2VvbG9jYXRpb24qKTsKKwogICAgIC8vIEZJWE1FOiBtb3ZlIHRoaXMgdG8g
d2Via2l0bmV0d29ya3JlcXVlc3QuaCBvbmNlIHRoZSBBUEkgaXMgYWdyZWVkIHVwb24uCiAgICAg
V0VCS0lUX0FQSSBTb3VwTWVzc2FnZSoKICAgICB3ZWJraXRfbmV0d29ya19yZXF1ZXN0X2dldF9t
ZXNzYWdlKFdlYktpdE5ldHdvcmtSZXF1ZXN0KiByZXF1ZXN0KTsKIAogICAgIC8vIEZJWE1FOiBt
b3ZlIHRoaXMgZnVuY3Rpb25hbGl0eSBpbnRvIGEgJ1dlYktpdFdlYkRhdGFTb3VyY2UnIG9uY2Ug
aW1wbGVtZW50ZWQKICAgICBXRUJLSVRfQVBJIGdjaGFyKgogICAgIHdlYmtpdF93ZWJfZnJhbWVf
Z2V0X3Jlc3BvbnNlX21pbWVfdHlwZShXZWJLaXRXZWJGcmFtZSogZnJhbWUpOwogCmRpZmYgLS1n
aXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcCBiL1dlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdHdlYnZpZXcuY3BwCmluZGV4IGI4M2U0OWQuLjgzYmM0OGQgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCisrKyBiL1dlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdHdlYnZpZXcuY3BwCkBAIC0yNiwxNiArMjYsMTcgQEAKICAqICBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjEx
MC0xMzAxICBVU0EKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAid2Via2l0
d2Vidmlldy5oIgogCiAjaW5jbHVkZSAid2Via2l0ZG93bmxvYWQuaCIKICNpbmNsdWRlICJ3ZWJr
aXRlbnVtdHlwZXMuaCIKKyNpbmNsdWRlICJ3ZWJraXRnZW9sb2NhdGlvbnBvbGljeWRlY2lzaW9u
LmgiCiAjaW5jbHVkZSAid2Via2l0bWFyc2hhbC5oIgogI2luY2x1ZGUgIndlYmtpdG5ldHdvcmty
ZXF1ZXN0LmgiCiAjaW5jbHVkZSAid2Via2l0bmV0d29ya3Jlc3BvbnNlLmgiCiAjaW5jbHVkZSAi
d2Via2l0cHJpdmF0ZS5oIgogI2luY2x1ZGUgIndlYmtpdHdlYmluc3BlY3Rvci5oIgogI2luY2x1
ZGUgIndlYmtpdHdlYmJhY2tmb3J3YXJkbGlzdC5oIgogI2luY2x1ZGUgIndlYmtpdHdlYmhpc3Rv
cnlpdGVtLmgiCiAKQEAgLTE1MywxNiArMTU0LDE4IEBAIGVudW0gewogICAgIE1PVkVfQ1VSU09S
LAogICAgIFBSSU5UX1JFUVVFU1RFRCwKICAgICBQTFVHSU5fV0lER0VULAogICAgIENMT1NFX1dF
Ql9WSUVXLAogICAgIFVORE8sCiAgICAgUkVETywKICAgICBEQVRBQkFTRV9RVU9UQV9FWENFRURF
RCwKICAgICBSRVNPVVJDRV9SRVFVRVNUX1NUQVJUSU5HLAorICAgIEdFT0xPQ0FUSU9OX1BPTElD
WV9ERUNJU0lPTl9SRVFVRVNURUQsCisgICAgR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OX0NB
TkNFTExFRCwKICAgICBMQVNUX1NJR05BTAogfTsKIAogZW51bSB7CiAgICAgUFJPUF8wLAogCiAg
ICAgUFJPUF9USVRMRSwKICAgICBQUk9QX1VSSSwKQEAgLTIxNTksMTYgKzIxNjIsNTggQEAgc3Rh
dGljIHZvaWQgd2Via2l0X3dlYl92aWV3X2NsYXNzX2luaXQoV2ViS2l0V2ViVmlld0NsYXNzKiB3
ZWJWaWV3Q2xhc3MpCiAgICAgICAgICAgICBOVUxMLCBOVUxMLAogICAgICAgICAgICAgd2Via2l0
X21hcnNoYWxfVk9JRF9fT0JKRUNUX09CSkVDVF9PQkpFQ1RfT0JKRUNULAogICAgICAgICAgICAg
R19UWVBFX05PTkUsIDQsCiAgICAgICAgICAgICBXRUJLSVRfVFlQRV9XRUJfRlJBTUUsCiAgICAg
ICAgICAgICBXRUJLSVRfVFlQRV9XRUJfUkVTT1VSQ0UsCiAgICAgICAgICAgICBXRUJLSVRfVFlQ
RV9ORVRXT1JLX1JFUVVFU1QsCiAgICAgICAgICAgICBXRUJLSVRfVFlQRV9ORVRXT1JLX1JFU1BP
TlNFKTsKIAorICAgIC8qKgorICAgICAqIFdlYktpdFdlYlZpZXc6Omdlb2xvY2F0aW9uLXBvbGlj
eS1kZWNpc2lvbi1yZXF1ZXN0ZWQ6CisgICAgICogQHdlYl92aWV3OiB0aGUgb2JqZWN0IG9uIHdo
aWNoIHRoZSBzaWduYWwgaXMgZW1pdHRlZAorICAgICAqIEBmcmFtZTogdGhlIGZyYW1lIHRoYXQg
cmVxdWVzdHMgcGVybWlzc2lvbgorICAgICAqIEBwb2xpY3lfZGVjaXNpb246IGEgV2ViS2l0R2Vv
bG9jYXRpb25Qb2xpY3lEZWNpc2lvbgorICAgICAqCisgICAgICogV2hlbiBhIEBmcmFtZSB3YW50
cyB0byBnZXQgaXRzIGdlb2xvY2F0aW9uIHBlcm1pc3Npb24uCisgICAgICogVGhlIHJlY2VpdmVy
IG11c3QgcmVwbHkgd2l0aCBhIGJvb2xlYW4gd2V0aGVyIGl0IGhhbmRsZWQgb3Igbm90IHRoZQor
ICAgICAqIHJlcXVlc3QuIElmIHRoZSByZXF1ZXN0IGlzIG5vdCBoYW5kbGVkLCBkZWZhdWx0IGJl
aGF2aW91ciBpcyB0byBkZW55CisgICAgICogZ2VvbG9jYXRpb24uCisgICAgICoKKyAgICAgKiBT
aW5jZTogMS4xLjIyCisgICAgICovCisgICAgd2Via2l0X3dlYl92aWV3X3NpZ25hbHNbR0VPTE9D
QVRJT05fUE9MSUNZX0RFQ0lTSU9OX1JFUVVFU1RFRF0gPSBnX3NpZ25hbF9uZXcoImdlb2xvY2F0
aW9uLXBvbGljeS1kZWNpc2lvbi1yZXF1ZXN0ZWQiLAorICAgICAgICAgICAgR19UWVBFX0ZST01f
Q0xBU1Mod2ViVmlld0NsYXNzKSwKKyAgICAgICAgICAgIChHU2lnbmFsRmxhZ3MpKEdfU0lHTkFM
X1JVTl9MQVNUKSwKKyAgICAgICAgICAgIDAsCisgICAgICAgICAgICBOVUxMLCBOVUxMLAorICAg
ICAgICAgICAgd2Via2l0X21hcnNoYWxfQk9PTEVBTl9fT0JKRUNUX09CSkVDVCwKKyAgICAgICAg
ICAgIEdfVFlQRV9CT09MRUFOLCAyLAorICAgICAgICAgICAgV0VCS0lUX1RZUEVfV0VCX0ZSQU1F
LAorICAgICAgICAgICAgV0VCS0lUX1RZUEVfR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OKTsK
KworICAgIC8qKgorICAgICAqIFdlYktpdFdlYlZpZXc6Omdlb2xvY2F0aW9uLXBvbGljeS1kZWNp
c2lvbi1jYW5jZWxsZWQ6CisgICAgICogQHdlYl92aWV3OiB0aGUgb2JqZWN0IG9uIHdoaWNoIHRo
ZSBzaWduYWwgaXMgZW1pdHRlZAorICAgICAqIEBmcmFtZTogdGhlIGZyYW1lIHRoYXQgY2FuY2Vs
cyBnZW9sb2NhdGlvbiByZXF1ZXN0LgorICAgICAqCisgICAgICogV2hlbiBhIEBmcmFtZSB3YW50
cyB0byBjYW5jZWwgZ2VvbG9jYXRpb24gcGVybWlzc2lvbiBpdCBoYWQgcmVxdWVzdGVkCisgICAg
ICogYmVmb3JlLgorICAgICAqCisgICAgICogU2luY2U6IDEuMS4yMgorICAgICAqLworICAgIHdl
YmtpdF93ZWJfdmlld19zaWduYWxzW0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTl9SRVFVRVNU
RURdID0gZ19zaWduYWxfbmV3KCJnZW9sb2NhdGlvbi1wb2xpY3ktZGVjaXNpb24tY2FuY2VsbGVk
IiwKKyAgICAgICAgICAgIEdfVFlQRV9GUk9NX0NMQVNTKHdlYlZpZXdDbGFzcyksCisgICAgICAg
ICAgICAoR1NpZ25hbEZsYWdzKShHX1NJR05BTF9SVU5fTEFTVCksCisgICAgICAgICAgICAwLAor
ICAgICAgICAgICAgTlVMTCwgTlVMTCwKKyAgICAgICAgICAgIGdfY2Nsb3N1cmVfbWFyc2hhbF9W
T0lEX19PQkpFQ1QsCisgICAgICAgICAgICBHX1RZUEVfTk9ORSwgMSwKKyAgICAgICAgICAgIFdF
QktJVF9UWVBFX1dFQl9GUkFNRSk7CisKICAgICAvKgogICAgICAqIGltcGxlbWVudGF0aW9ucyBv
ZiB2aXJ0dWFsIG1ldGhvZHMKICAgICAgKi8KICAgICB3ZWJWaWV3Q2xhc3MtPmNyZWF0ZV93ZWJf
dmlldyA9IHdlYmtpdF93ZWJfdmlld19yZWFsX2NyZWF0ZV93ZWJfdmlldzsKICAgICB3ZWJWaWV3
Q2xhc3MtPndlYl92aWV3X3JlYWR5ID0gd2Via2l0X3dlYl92aWV3X3JlYWxfd2ViX3ZpZXdfcmVh
ZHk7CiAgICAgd2ViVmlld0NsYXNzLT5jbG9zZV93ZWJfdmlldyA9IHdlYmtpdF93ZWJfdmlld19y
ZWFsX2Nsb3NlX3dlYl92aWV3OwogICAgIHdlYlZpZXdDbGFzcy0+bmF2aWdhdGlvbl9yZXF1ZXN0
ZWQgPSB3ZWJraXRfd2ViX3ZpZXdfcmVhbF9uYXZpZ2F0aW9uX3JlcXVlc3RlZDsKICAgICB3ZWJW
aWV3Q2xhc3MtPndpbmRvd19vYmplY3RfY2xlYXJlZCA9IHdlYmtpdF93ZWJfdmlld19yZWFsX3dp
bmRvd19vYmplY3RfY2xlYXJlZDsKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0bWFyc2hh
bC5saXN0IGIvV2ViS2l0L2d0ay93ZWJraXRtYXJzaGFsLmxpc3QKaW5kZXggZmVmZGZmMy4uZDhj
YWE0YyAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay93ZWJraXRtYXJzaGFsLmxpc3QKKysrIGIvV2Vi
S2l0L2d0ay93ZWJraXRtYXJzaGFsLmxpc3QKQEAgLTEsMTEgKzEsMTIgQEAKIEJPT0xFQU46RU5V
TSxJTlQKIEJPT0xFQU46SU5ULElOVCxTVFJJTkcKIEJPT0xFQU46T0JKRUNUCitCT09MRUFOOk9C
SkVDVCxPQkpFQ1QKIEJPT0xFQU46T0JKRUNULE9CSkVDVCxPQkpFQ1QsT0JKRUNUCiBCT09MRUFO
Ok9CSkVDVCxPQkpFQ1QsU1RSSU5HLE9CSkVDVAogQk9PTEVBTjpPQkpFQ1QsU1RSSU5HCiBCT09M
RUFOOk9CSkVDVCxTVFJJTkcsUE9JTlRFUgogQk9PTEVBTjpPQkpFQ1QsU1RSSU5HLFNUUklORyxT
VFJJTkcKIEJPT0xFQU46U1RSSU5HLElOVCxTVFJJTkcKIEJPT0xFQU46Vk9JRAogRU5VTTpPQkpF
Q1QsT0JKRUNUCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKaW5kZXggNmZiMjJlMS4uZTY4ODU0MSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSw4ICsxLDE5IEBA
CisyMDEwLTAyLTI0ICBBcm5vIFJlbmV2aWVyICA8YXJub0ByZW5ldmllci5uZXQ+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0d0a10gaW1wbGVtZW50
cyBDaHJvbWVDbGllbnQ6OnJlcXVlc3RHZW9sb2NhdGlvblBlcm1pc3Npb25Gb3JGcmFtZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzUyMTAKKworICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChn
ZW9sb2NhdGlvblBvbGljeURlY2lzaW9uUmVxdWVzdGVkKToKKyAgICAgICAgKGNyZWF0ZVdlYlZp
ZXcpOgorCiAyMDEwLTAyLTI2ICBBcm5vIFJlbmV2aWVyICA8YXJub0ByZW5ldmllci5uZXQ+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCiAKICAgICAgICAgd2Via2l0LWJ1
aWxkIGNvdWxkIHBhc3MgdW5rbm93biBhcmd1bWVudHMgdG8gYXV0b2dlbi5zaAogICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU0NTQKIAogICAgICAgICAq
IFNjcmlwdHMvYnVpbGQtd2Via2l0OgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAKaW5kZXggYTJmYzc5Yi4uZjYzNmMxMSAxMDA2NDQKLS0t
IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcAorKysg
Yi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwCkBAIC03
MjAsMTYgKzcyMCwyOSBAQCBzdGF0aWMgdm9pZCBkYXRhYmFzZVF1b3RhRXhjZWVkZWQoV2ViS2l0
V2ViVmlldyogdmlldywgV2ViS2l0V2ViRnJhbWUqIGZyYW1lLCBXZQogICAgICAgICAgICAgd2Vi
a2l0X3NlY3VyaXR5X29yaWdpbl9nZXRfcHJvdG9jb2wob3JpZ2luKSwKICAgICAgICAgICAgIHdl
YmtpdF9zZWN1cml0eV9vcmlnaW5fZ2V0X2hvc3Qob3JpZ2luKSwKICAgICAgICAgICAgIHdlYmtp
dF9zZWN1cml0eV9vcmlnaW5fZ2V0X3BvcnQob3JpZ2luKSwKICAgICAgICAgICAgIHdlYmtpdF93
ZWJfZGF0YWJhc2VfZ2V0X25hbWUoZGF0YWJhc2UpKTsKICAgICB9CiAgICAgd2Via2l0X3NlY3Vy
aXR5X29yaWdpbl9zZXRfd2ViX2RhdGFiYXNlX3F1b3RhKG9yaWdpbiwgNSAqIDEwMjQgKiAxMDI0
KTsKIH0KIAorc3RhdGljIGJvb2wKK2dlb2xvY2F0aW9uUG9saWN5RGVjaXNpb25SZXF1ZXN0ZWQo
V2ViS2l0V2ViVmlldyosIFdlYktpdFdlYkZyYW1lKiwgV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lE
ZWNpc2lvbiogZGVjaXNpb24pCit7CisgICAgaWYgKCFnTGF5b3V0VGVzdENvbnRyb2xsZXItPmlz
R2VvbG9jYXRpb25QZXJtaXNzaW9uU2V0KCkpCisgICAgICAgIHJldHVybiBGQUxTRTsKKyAgICBp
ZiAoZ0xheW91dFRlc3RDb250cm9sbGVyLT5nZW9sb2NhdGlvblBlcm1pc3Npb24oKSkKKyAgICAg
ICAgd2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9hbGxvdyhkZWNpc2lvbik7CisgICAgZWxzZQor
ICAgICAgICB3ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5X2RlbnkoZGVjaXNpb24pOworCisgICAg
cmV0dXJuIFRSVUU7Cit9CisKIAogc3RhdGljIFdlYktpdFdlYlZpZXcqIHdlYlZpZXdDcmVhdGUo
V2ViS2l0V2ViVmlldyosIFdlYktpdFdlYkZyYW1lKik7CiAKIHN0YXRpYyBnYm9vbGVhbiB3ZWJJ
bnNwZWN0b3JTaG93V2luZG93KFdlYktpdFdlYkluc3BlY3RvciosIGdwb2ludGVyIGRhdGEpCiB7
CiAgICAgZ3RrX3dpbmRvd19zZXRfZGVmYXVsdF9zaXplKEdUS19XSU5ET1cod2ViSW5zcGVjdG9y
V2luZG93KSwgODAwLCA2MDApOwogICAgIGd0a193aWRnZXRfc2hvd19hbGwod2ViSW5zcGVjdG9y
V2luZG93KTsKICAgICByZXR1cm4gVFJVRTsKQEAgLTc3MCwxNiArNzgzLDE3IEBAIHN0YXRpYyBX
ZWJLaXRXZWJWaWV3KiBjcmVhdGVXZWJWaWV3KCkKICAgICAgICAgICAgICAgICAgICAgICJzaWdu
YWw6OnNjcmlwdC1wcm9tcHQiLCB3ZWJWaWV3U2NyaXB0UHJvbXB0LCAwLAogICAgICAgICAgICAg
ICAgICAgICAgInNpZ25hbDo6c2NyaXB0LWNvbmZpcm0iLCB3ZWJWaWV3U2NyaXB0Q29uZmlybSwg
MCwKICAgICAgICAgICAgICAgICAgICAgICJzaWduYWw6OnRpdGxlLWNoYW5nZWQiLCB3ZWJWaWV3
VGl0bGVDaGFuZ2VkLCAwLAogICAgICAgICAgICAgICAgICAgICAgInNpZ25hbDo6bmF2aWdhdGlv
bi1wb2xpY3ktZGVjaXNpb24tcmVxdWVzdGVkIiwgd2ViVmlld05hdmlnYXRpb25Qb2xpY3lEZWNp
c2lvblJlcXVlc3RlZCwgMCwKICAgICAgICAgICAgICAgICAgICAgICJzaWduYWw6OnN0YXR1cy1i
YXItdGV4dC1jaGFuZ2VkIiwgd2ViVmlld1N0YXR1c0JhclRleHRDaGFuZ2VkLCAwLAogICAgICAg
ICAgICAgICAgICAgICAgInNpZ25hbDo6Y3JlYXRlLXdlYi12aWV3Iiwgd2ViVmlld0NyZWF0ZSwg
MCwKICAgICAgICAgICAgICAgICAgICAgICJzaWduYWw6OmNsb3NlLXdlYi12aWV3Iiwgd2ViVmll
d0Nsb3NlLCAwLAogICAgICAgICAgICAgICAgICAgICAgInNpZ25hbDo6ZGF0YWJhc2UtcXVvdGEt
ZXhjZWVkZWQiLCBkYXRhYmFzZVF1b3RhRXhjZWVkZWQsIDAsCisgICAgICAgICAgICAgICAgICAg
ICAic2lnbmFsOjpnZW9sb2NhdGlvbi1wb2xpY3ktZGVjaXNpb24tcmVxdWVzdGVkIiwgZ2VvbG9j
YXRpb25Qb2xpY3lEZWNpc2lvblJlcXVlc3RlZCwgMCwKICAgICAgICAgICAgICAgICAgICAgIE5V
TEwpOwogCiAgICAgV2ViS2l0V2ViSW5zcGVjdG9yKiBpbnNwZWN0b3IgPSB3ZWJraXRfd2ViX3Zp
ZXdfZ2V0X2luc3BlY3Rvcih2aWV3KTsKICAgICBnX29iamVjdF9jb25uZWN0KEdfT0JKRUNUKGlu
c3BlY3RvciksCiAgICAgICAgICAgICAgICAgICAgICAic2lnbmFsOjppbnNwZWN0LXdlYi12aWV3
Iiwgd2ViSW5zcGVjdG9ySW5zcGVjdFdlYlZpZXcsIDAsCiAgICAgICAgICAgICAgICAgICAgICAi
c2lnbmFsOjpzaG93LXdpbmRvdyIsIHdlYkluc3BlY3RvclNob3dXaW5kb3csIDAsCiAgICAgICAg
ICAgICAgICAgICAgICAic2lnbmFsOjpjbG9zZS13aW5kb3ciLCB3ZWJJbnNwZWN0b3JDbG9zZVdp
bmRvdywgMCwKICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOwotLSAKMS43LjAKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49676</attachid>
            <date>2010-02-26 23:18:22 -0800</date>
            <delta_ts>2010-03-01 12:41:50 -0800</delta_ts>
            <desc>patch v2.6</desc>
            <filename>0001-Bug-35210.patch</filename>
            <type>text/plain</type>
            <size>30112</size>
            <attacher name="arno.">a.renevier</attacher>
            
              <data encoding="base64">RnJvbSBmZTk5ZWVmMTFhYWI2ZTQxMjU4OTM3NDhkNjQ0OGQ0NGUyMzcxNjQ3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBcm5vIFJlbmV2aWVyIDxhcm5vQHJlbmV2aWVyLm5ldD4KRGF0
ZTogV2VkLCAyNCBGZWIgMjAxMCAyMTo1NTo0NyArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIEJ1ZyAj
MzUyMTAKCi0tLQogQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfCAgICA5ICsrCiBHTlVtYWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8ICAgIDIgKwogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgICA5ICsrCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBl
ZCAgICAgICAgICAgICAgICAgICB8ICAgIDUgLQogV2ViS2l0L2d0ay9DaGFuZ2VMb2cgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDI0ICsrKysrCiBXZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAgICAgICB8ICAgMjEgKysrKy0KIFdlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmggICAgICAgIHwgICAgMiArLQogV2ViS2l0
L2d0ay9kb2NzL3dlYmtpdGd0ay1kb2NzLnNnbWwgICAgICAgICAgICAgICAgfCAgICAxICsKIFdl
YktpdC9ndGsvZG9jcy93ZWJraXRndGstc2VjdGlvbnMudHh0ICAgICAgICAgICAgIHwgICAxOSAr
KysrCiBXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXQuaCAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgIDEgKwogV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZGVmaW5lcy5oICAgICAgICAgICAgICAg
ICAgfCAgICAzICsKIC4uLi9ndGsvd2Via2l0L3dlYmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNp
b24uY3BwIHwgIDEwMyArKysrKysrKysrKysrKysrKysrKwogLi4uL2d0ay93ZWJraXQvd2Via2l0
Z2VvbG9jYXRpb25wb2xpY3lkZWNpc2lvbi5oICAgfCAgIDY0ICsrKysrKysrKysrKwogV2ViS2l0
L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0ZS5oICAgICAgICAgICAgICAgICAgfCAgICA0ICsKIFdl
YktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwICAgICAgICAgICAgICAgIHwgICA0NSAr
KysrKysrKysKIFdlYktpdC9ndGsvd2Via2l0bWFyc2hhbC5saXN0ICAgICAgICAgICAgICAgICAg
ICAgIHwgICAgMSArCiBXZWJLaXRUb29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8ICAgMTEgKysKIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVu
ZGVyVHJlZS5jcHAgIHwgICAxNCArKysKIDE4IGZpbGVzIGNoYW5nZWQsIDMyOSBpbnNlcnRpb25z
KCspLCA5IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IFdlYktpdC9ndGsvd2Via2l0
L3dlYmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNpb24uY3BwCiBjcmVhdGUgbW9kZSAxMDA2NDQg
V2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2VvbG9jYXRpb25wb2xpY3lkZWNpc2lvbi5oCgpkaWZm
IC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDg0MjhkN2EuLjY1ODI1MzcgMTAw
NjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsOCArMSwxNyBAQAorMjAx
MC0wMi0yNCAgQXJubyBSZW5ldmllciAgPGFybm9AcmVuZXZpZXIubmV0PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtHdGtdIGltcGxlbWVudHMgQ2hy
b21lQ2xpZW50OjpyZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MjEwCisKKyAgICAgICAg
KiBHTlVtYWtlZmlsZS5hbToKKwogMjAxMC0wMi0yNiAgQXJubyBSZW5ldmllciAgPGFybm9AcmVu
ZXZpZXIubmV0PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEd1c3Rhdm8gTm9yb25oYSBTaWx2YS4K
IAogICAgICAgICBbR3RrXSBpZ25vcmUgV2ViS2l0L2d0ay9kb2NzL0dOVW1ha2VmaWxlLmluIGlu
IC5naXRpZ25vcmUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTM1NDI0CiAKICAgICAgICAgKiAuZ2l0aWdub3JlOgpkaWZmIC0tZ2l0IGEvR05VbWFrZWZp
bGUuYW0gYi9HTlVtYWtlZmlsZS5hbQppbmRleCA4NTRhMWIwLi41YTI1NTU0IDEwMDY0NAotLS0g
YS9HTlVtYWtlZmlsZS5hbQorKysgYi9HTlVtYWtlZmlsZS5hbQpAQCAtMzIyLDE2ICszMjIsMTcg
QEAgd2Via2l0Z3RrX2hfYXBpICs9IFwKIAkkKHNyY2RpcikvV2ViS2l0L2d0ay93ZWJraXQvd2Vi
a2l0c291cGF1dGhkaWFsb2cuaCBcCiAJJChzcmNkaXIpL1dlYktpdC9ndGsvd2Via2l0L3dlYmtp
dHdlYmJhY2tmb3J3YXJkbGlzdC5oIFwKIAkkKHNyY2RpcikvV2ViS2l0L2d0ay93ZWJraXQvd2Vi
a2l0d2ViZGF0YXNvdXJjZS5oIFwKIAkkKHNyY2RpcikvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
d2ViZnJhbWUuaCBcCiAJJChzcmNkaXIpL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmhpc3Rv
cnlpdGVtLmggXAogCSQoc3JjZGlyKS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJpbnNwZWN0
b3IuaCBcCiAJJChzcmNkaXIpL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYm5hdmlnYXRpb25h
Y3Rpb24uaCBcCiAJJChzcmNkaXIpL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnBvbGljeWRl
Y2lzaW9uLmggXAorCSQoc3JjZGlyKS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRnZW9sb2NhdGlv
bnBvbGljeWRlY2lzaW9uLmggXAogCSQoc3JjZGlyKS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3
ZWJyZXNvdXJjZS5oIFwKIAkkKHNyY2RpcikvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0
dGluZ3MuaCBcCiAJJChzcmNkaXIpL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYndpbmRvd2Zl
YXR1cmVzLmggXAogCSQoc3JjZGlyKS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3Lmgg
XAogCSQoc3JjZGlyKS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJkYXRhYmFzZS5oIFwKIAkk
KHNyY2RpcikvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0c2VjdXJpdHlvcmlnaW4uaCBcCiAJJCh0
b3BfYnVpbGRkaXIpL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHZlcnNpb24uaAogCkBAIC0zNzAs
MTYgKzM3MSwxNyBAQCB3ZWJraXRndGtfc291cmNlcyArPSBcCiAJV2ViS2l0L2d0ay93ZWJraXQv
d2Via2l0dmVyc2lvbi5jcHAgXAogCVdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmJhY2tmb3J3
YXJkbGlzdC5jcHAgXAogCVdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmRhdGFzb3VyY2UuY3Bw
IFwKIAlXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJmcmFtZS5jcHAgXAogCVdlYktpdC9ndGsv
d2Via2l0L3dlYmtpdHdlYmhpc3RvcnlpdGVtLmNwcCBcCiAJV2ViS2l0L2d0ay93ZWJraXQvd2Vi
a2l0d2ViaW5zcGVjdG9yLmNwcCBcCiAJV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2VibmF2aWdh
dGlvbmFjdGlvbi5jcHAgXAogCVdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnBvbGljeWRlY2lz
aW9uLmNwcCBcCisJV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2VvbG9jYXRpb25wb2xpY3lkZWNp
c2lvbi5jcHAgXAogCVdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnJlc291cmNlLmNwcCBcCiAJ
V2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViZGF0YWJhc2UuY3BwIFwKIAlXZWJLaXQvZ3RrL3dl
YmtpdC93ZWJraXRzZWN1cml0eW9yaWdpbi5jcHAgXAogCVdlYktpdC9ndGsvd2Via2l0L3dlYmtp
dHdlYnNldHRpbmdzLmNwcCBcCiAJV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAg
XAogCVdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYndpbmRvd2ZlYXR1cmVzLmNwcCBcCiAJV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0d29ya2Vycy5jcHAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDQ5ZjBkOGEuLmM5MDMy
ODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsOCArMSwxNyBAQAorMjAxMC0wMi0yNCAgQXJubyBSZW5ldmllciAgPGFy
bm9AcmVuZXZpZXIubmV0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFtHdGtdIGltcGxlbWVudHMgQ2hyb21lQ2xpZW50OjpyZXF1ZXN0R2VvbG9jYXRp
b25QZXJtaXNzaW9uRm9yRnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTM1MjEwCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDoKKwog
MjAxMC0wMi0yNiAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBBbmRlcnMgQ2FybHNzb24uCiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1NDUwCiAgICAgICAgIENyYXNoIHdoZW4gYSBKYXZh
IGFycmF5IHByb3BlcnR5IGFjY2Vzc29yIHJhaXNlcyBhbiBleGNlcHRpb24KIAogICAgICAgICBB
ZGRpbmcgd2l0aCBhIEZBSUwgcmVzdWx0LCBiZWNhdXNlIHRoaXMgZG9lc24ndCByYWlzZSBhbiBl
eGNlcHRpb24gaW4gRmlyZWZveC4gSSBkb24ndCBrbm93CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVk
CmluZGV4IDZmZmMxOGIuLmRhNGJlYmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCkBAIC0x
MjgwLDI2ICsxMjgwLDIxIEBAIGZhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5
bGUtd2l0aG91dC1yZW5kZXJlci5odG1sCiBmYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1
dGVkLXN0eWxlLmh0bWwKIGZhc3QvZG9tL2NsaWVudC13aWR0aC1oZWlnaHQtcXVpcmtzLmh0bWwK
IGZhc3QvZG9tL2NsaWVudC13aWR0aC1oZWlnaHQuaHRtbAogZmFzdC9kb20vY3NzVGFyZ2V0LWNy
YXNoLmh0bWwKIGZhc3QvZG9tL2ZyYW1lLWxvYWRpbmctdmlhLWRvY3VtZW50LXdyaXRlLmh0bWwK
IGZhc3QvZG9tL0dlb2xvY2F0aW9uL2NhbGxiYWNrLWV4Y2VwdGlvbi5odG1sCiBmYXN0L2RvbS9H
ZW9sb2NhdGlvbi9lcnJvci5odG1sCiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9wZXJtaXNzaW9uLWRl
bmllZC1hbHJlYWR5LWNsZWFyLXdhdGNoLmh0bWwKLWZhc3QvZG9tL0dlb2xvY2F0aW9uL3Blcm1p
c3Npb24tZGVuaWVkLWFscmVhZHktZXJyb3IuaHRtbAotZmFzdC9kb20vR2VvbG9jYXRpb24vcGVy
bWlzc2lvbi1kZW5pZWQtYWxyZWFkeS1zdWNjZXNzLmh0bWwKLWZhc3QvZG9tL0dlb2xvY2F0aW9u
L3Blcm1pc3Npb24tZGVuaWVkLXN0b3BzLXdhdGNoZXMuaHRtbAotZmFzdC9kb20vR2VvbG9jYXRp
b24vcGVybWlzc2lvbi1kZW5pZWQuaHRtbAogZmFzdC9kb20vR2VvbG9jYXRpb24vcG9zaXRpb24t
c3RyaW5nLmh0bWwKIGZhc3QvZG9tL0dlb2xvY2F0aW9uL3JlZW50cmFudC1lcnJvci5odG1sCiBm
YXN0L2RvbS9HZW9sb2NhdGlvbi9yZWVudHJhbnQtc3VjY2Vzcy5odG1sCiBmYXN0L2RvbS9HZW9s
b2NhdGlvbi9zdWNjZXNzLmh0bWwKIGZhc3QvZG9tL0dlb2xvY2F0aW9uL3RpbWVvdXQtY2xlYXIt
d2F0Y2guaHRtbAotZmFzdC9kb20vR2VvbG9jYXRpb24vdGltZW91dC16ZXJvLmh0bWwKIGZhc3Qv
ZG9tL0dlb2xvY2F0aW9uL3RpbWVvdXQuaHRtbAogZmFzdC9kb20vR2VvbG9jYXRpb24vd2F0Y2gu
aHRtbAogZmFzdC9kb20vRWxlbWVudC9nZXRCb3VuZGluZ0NsaWVudFJlY3QuaHRtbAogZmFzdC9k
b20vUmFuZ2UvZ2V0Qm91bmRpbmdDbGllbnRSZWN0Lmh0bWwKIGZhc3QvZG9tL1JhbmdlL2dldENs
aWVudFJlY3RzLmh0bWwKIGZhc3QvZG9tL251bGwtZG9jdW1lbnQtbG9jYXRpb24taHJlZi1wdXQt
Y3Jhc2guaHRtbAogZmFzdC9kb20vbnVsbC1kb2N1bWVudC1sb2NhdGlvbi1wdXQtY3Jhc2guaHRt
bAogZmFzdC9kb20vbnVsbC1kb2N1bWVudC1sb2NhdGlvbi1yZXBsYWNlLWNyYXNoLmh0bWwKZGlm
ZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5k
ZXggZjQzZDA4NC4uM2RhYzcyOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysr
IGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsOCArMSwzMiBAQAorMjAxMC0wMi0yNCAgQXJu
byBSZW5ldmllciAgPGFybm9AcmVuZXZpZXIubmV0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFtHdGtdIGltcGxlbWVudHMgQ2hyb21lQ2xpZW50Ojpy
ZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MjEwCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudEd0ay5oOgorICAgICAgICAqIGRvY3Mvd2Via2l0Z3RrLXNlY3Rpb25zLnR4dDoKKyAg
ICAgICAgKiB3ZWJraXQvd2Via2l0Lmg6CisgICAgICAgICogd2Via2l0L3dlYmtpdGRlZmluZXMu
aDoKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0Z2VvbG9jYXRpb25wb2xpY3lkZWNpc2lvbi5jcHA6
IEFkZGVkLgorICAgICAgICAod2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9kZWNpc2lvbl9jbGFz
c19pbml0KToKKyAgICAgICAgKHdlYmtpdF9nZW9sb2NhdGlvbl9wb2xpY3lfZGVjaXNpb25faW5p
dCk6CisgICAgICAgICh3ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5X2RlY2lzaW9uX25ldyk6Cisg
ICAgICAgICh3ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5X2FsbG93KToKKyAgICAgICAgKHdlYmtp
dF9nZW9sb2NhdGlvbl9wb2xpY3lfZGVueSk6CisgICAgICAgICogd2Via2l0L3dlYmtpdGdlb2xv
Y2F0aW9ucG9saWN5ZGVjaXNpb24uaDogQWRkZWQuCisgICAgICAgICogd2Via2l0L3dlYmtpdHBy
aXZhdGUuaDoKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vidmlldy5jcHA6CisgICAgICAgIChE
TkRDb250ZW50c1JlcXVlc3Q6OndlYmtpdF93ZWJfdmlld19jbGFzc19pbml0KToKKyAgICAgICAg
KiB3ZWJraXRtYXJzaGFsLmxpc3Q6CisKIDIwMDktMTItMDQgIEd1c3Rhdm8gTm9yb25oYSBTaWx2
YSAgPGd1c3Rhdm8ubm9yb25oYUBjb2xsYWJvcmEuY28udWs+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgWGFuIExvcGV6LgogCiAgICAgICAgIFtHVEtdIE5lZWRzIHByb3BlciByZXBvcnRpbmcgb2Yg
ZnJhbWUgbG9hZGVyIGNhbGxiYWNrcywgaW4gRFJUCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjE3MAogCiAgICAgICAgIEFkZCBuZXcgc2lnbmFsIHRv
IHJlcG9ydCB3aGVuIHRoZSBkb2N1bWVudCBsb2FkIGlzIGZpbmlzaGVkIGZvciBhCmRpZmYgLS1n
aXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAgYi9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKaW5kZXggNzRmNWUwNy4u
YTExMGM5MCAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRHdGsuY3BwCisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3Rr
LmNwcApAQCAtMjgsMTYgKzI4LDE3IEBACiAjaW5jbHVkZSAiRmlsZUNob29zZXIuaCIKICNpbmNs
dWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRSZXF1ZXN0LmgiCiAjaW5jbHVk
ZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiQ1N0
cmluZy5oIgogI2luY2x1ZGUgIkhpdFRlc3RSZXN1bHQuaCIKICNpbmNsdWRlICJLVVJMLmgiCisj
aW5jbHVkZSAid2Via2l0Z2VvbG9jYXRpb25wb2xpY3lkZWNpc2lvbi5oIgogI2luY2x1ZGUgIndl
YmtpdHdlYnZpZXcuaCIKICNpbmNsdWRlICJ3ZWJraXRuZXR3b3JrcmVxdWVzdC5oIgogI2luY2x1
ZGUgIndlYmtpdHByaXZhdGUuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1
ZGUgIldpbmRvd0ZlYXR1cmVzLmgiCiAjaWYgRU5BQkxFKERBVEFCQVNFKQogI2luY2x1ZGUgIkRh
dGFiYXNlVHJhY2tlci5oIgogI2VuZGlmCkBAIC01NzAsMTUgKzU3MSwyOSBAQCB2b2lkIENocm9t
ZUNsaWVudDo6aWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpTdHJpbmc+JiwgUGFz
c1JlZlB0cjxXZWJDbwogfQogCiBib29sIENocm9tZUNsaWVudDo6c2V0Q3Vyc29yKFBsYXRmb3Jt
Q3Vyc29ySGFuZGxlKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CiAgICAgcmV0dXJuIGZhbHNl
OwogfQogCi12b2lkIENocm9tZUNsaWVudDo6cmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvbkZv
ckZyYW1lKEZyYW1lKiwgR2VvbG9jYXRpb24qKQordm9pZCBDaHJvbWVDbGllbnQ6OnJlcXVlc3RH
ZW9sb2NhdGlvblBlcm1pc3Npb25Gb3JGcmFtZShGcmFtZSogZnJhbWUsIEdlb2xvY2F0aW9uKiBn
ZW9sb2NhdGlvbikKIHsKLSAgICAvLyBTZWUgdGhlIGNvbW1lbnQgaW4gV2ViQ29yZS9wYWdlL0No
cm9tZUNsaWVudC5oCi0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBXZWJLaXRXZWJGcmFtZSog
d2ViRnJhbWUgPSBraXQoZnJhbWUpOworICAgIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcgPSBnZXRW
aWV3RnJvbUZyYW1lKHdlYkZyYW1lKTsKKworICAgIFdlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVj
aXNpb24qIHBvbGljeURlY2lzaW9uID0gd2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9kZWNpc2lv
bl9uZXcod2ViRnJhbWUsIGdlb2xvY2F0aW9uKTsKKworICAgIGdib29sZWFuIGlzSGFuZGxlZCA9
IEZBTFNFOworICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh3ZWJWaWV3LCAiZ2VvbG9jYXRpb24t
cG9saWN5LWRlY2lzaW9uLXJlcXVlc3RlZCIsIHdlYkZyYW1lLCBwb2xpY3lEZWNpc2lvbiwgJmlz
SGFuZGxlZCk7CisgICAgaWYgKCFpc0hhbmRsZWQpCisgICAgICAgIHdlYmtpdF9nZW9sb2NhdGlv
bl9wb2xpY3lfZGVueShwb2xpY3lEZWNpc2lvbik7Cit9CisKK3ZvaWQgQ2hyb21lQ2xpZW50Ojpj
YW5jZWxHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Rm9yRnJhbWUoV2ViQ29yZTo6RnJhbWUq
IGZyYW1lKQoreworICAgIFdlYktpdFdlYkZyYW1lKiB3ZWJGcmFtZSA9IGtpdChmcmFtZSk7Cisg
ICAgV2ViS2l0V2ViVmlldyogd2ViVmlldyA9IGdldFZpZXdGcm9tRnJhbWUod2ViRnJhbWUpOwor
ICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh3ZWJWaWV3LCAiZ2VvbG9jYXRpb24tcG9saWN5LWRl
Y2lzaW9uLWNhbmNlbGxlZCIsIHdlYkZyYW1lKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaCBiL1dlYktpdC9ndGsvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgKaW5kZXggNjJkNDhmYS4uNjEzOWIzYSAxMDA2NDQK
LS0tIGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAorKysgYi9X
ZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oCkBAIC0xMTIsMTcgKzEx
MiwxNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKICAgICAgICAgdmlydHVhbCB2b2lkIGZvcm1TdGF0
ZURpZENoYW5nZShjb25zdCBXZWJDb3JlOjpOb2RlKikgeyB9CiAKICAgICAgICAgdmlydHVhbCBQ
YXNzT3duUHRyPFdlYkNvcmU6OkhUTUxQYXJzZXJRdWlya3M+IGNyZWF0ZUhUTUxQYXJzZXJRdWly
a3MoKSB7IHJldHVybiAwOyB9CiAKICAgICAgICAgdmlydHVhbCBib29sIHNldEN1cnNvcihXZWJD
b3JlOjpQbGF0Zm9ybUN1cnNvckhhbmRsZSk7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIHNjcm9s
bFJlY3RJbnRvVmlldyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgY29uc3QgV2ViQ29yZTo6U2Ny
b2xsVmlldyopIGNvbnN0IHt9CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0R2VvbG9jYXRp
b25QZXJtaXNzaW9uRm9yRnJhbWUoV2ViQ29yZTo6RnJhbWUqLCBXZWJDb3JlOjpHZW9sb2NhdGlv
biopOwotICAgICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVx
dWVzdEZvckZyYW1lKFdlYkNvcmU6OkZyYW1lKikgeyB9CisgICAgICAgIHZpcnR1YWwgdm9pZCBj
YW5jZWxHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Rm9yRnJhbWUoV2ViQ29yZTo6RnJhbWUq
KTsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIFdlYktpdFdlYlZpZXcqIG1fd2ViVmlldzsKICAg
ICAgICAgV2ViQ29yZTo6S1VSTCBtX2hvdmVyZWRMaW5rVVJMOwogICAgIH07CiB9CiAKICNlbmRp
ZiAvLyBDaHJvbWVDbGllbnRfaApkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9kb2NzL3dlYmtpdGd0
ay1kb2NzLnNnbWwgYi9XZWJLaXQvZ3RrL2RvY3Mvd2Via2l0Z3RrLWRvY3Muc2dtbAppbmRleCA3
N2YzNDgyLi42Yzg0ZGNiIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL2RvY3Mvd2Via2l0Z3RrLWRv
Y3Muc2dtbAorKysgYi9XZWJLaXQvZ3RrL2RvY3Mvd2Via2l0Z3RrLWRvY3Muc2dtbApAQCAtMTMs
MTYgKzEzLDE3IEBACiAgICAgPHRpdGxlPkNsYXNzIE92ZXJ2aWV3PC90aXRsZT4KICAgICA8eGk6
aW5jbHVkZSBocmVmPSJ4bWwvd2Via2l0d2Vidmlldy54bWwiLz4KICAgICA8eGk6aW5jbHVkZSBo
cmVmPSJ4bWwvd2Via2l0d2ViZnJhbWUueG1sIi8+CiAgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1s
L3dlYmtpdHdlYnNldHRpbmdzLnhtbCIvPgogICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC93ZWJr
aXR3ZWJiYWNrZm9yd2FyZGxpc3QueG1sIi8+CiAgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL3dl
YmtpdHdlYmhpc3RvcnlpdGVtLnhtbCIvPgogICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC93ZWJr
aXR3ZWJuYXZpZ2F0aW9uYWN0aW9uLnhtbCIvPgogICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC93
ZWJraXR3ZWJwb2xpY3lkZWNpc2lvbi54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwv
d2Via2l0Z2VvbG9jYXRpb25wb2xpY3lkZWNpc2lvbi54bWwiLz4KICAgICA8eGk6aW5jbHVkZSBo
cmVmPSJ4bWwvd2Via2l0bmV0d29ya3JlcXVlc3QueG1sIi8+CiAgICAgPHhpOmluY2x1ZGUgaHJl
Zj0ieG1sL3dlYmtpdG5ldHdvcmtyZXNwb25zZS54bWwiLz4KICAgICA8eGk6aW5jbHVkZSBocmVm
PSJ4bWwvd2Via2l0d2ViaW5zcGVjdG9yLnhtbCIvPgogICAgIDx4aTppbmNsdWRlIGhyZWY9Inht
bC93ZWJraXR3ZWJkYXRhYmFzZS54bWwiLz4KICAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvd2Vi
a2l0d2ViZGF0YXNvdXJjZS54bWwiLz4KICAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvd2Via2l0
d2VicmVzb3VyY2UueG1sIi8+CiAgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL3dlYmtpdGRvd25s
b2FkLnhtbCIvPgogICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC93ZWJraXRoaXR0ZXN0cmVzdWx0
LnhtbCIvPgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9kb2NzL3dlYmtpdGd0ay1zZWN0aW9ucy50
eHQgYi9XZWJLaXQvZ3RrL2RvY3Mvd2Via2l0Z3RrLXNlY3Rpb25zLnR4dAppbmRleCAyMzc5Yzhi
Li4xNDEyNGExIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL2RvY3Mvd2Via2l0Z3RrLXNlY3Rpb25z
LnR4dAorKysgYi9XZWJLaXQvZ3RrL2RvY3Mvd2Via2l0Z3RrLXNlY3Rpb25zLnR4dApAQCAtMzQ2
LDE2ICszNDYsMzUgQEAgV0VCS0lUX1dFQl9QT0xJQ1lfREVDSVNJT05fQ0xBU1MKIFdFQktJVF9X
RUJfUE9MSUNZX0RFQ0lTSU9OX0dFVF9DTEFTUwogPFNVQlNFQ1RJT04gUHJpdmF0ZT4KIFdlYktp
dFdlYlBvbGljeURlY2lzaW9uCiBXZWJLaXRXZWJQb2xpY3lEZWNpc2lvbkNsYXNzCiBXZWJLaXRX
ZWJQb2xpY3lEZWNpc2lvblByaXZhdGUKIDwvU0VDVElPTj4KIAogPFNFQ1RJT04+Cis8RklMRT53
ZWJraXRnZW9sb2NhdGlvbnBvbGljeWRlY2lzaW9uPC9GSUxFPgorPFRJVExFPldlYktpdEdlb2xv
Y2F0aW9uUG9saWN5RGVjaXNpb248L1RJVExFPgorV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNp
c2lvbgord2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9hbGxvdword2Via2l0X2dlb2xvY2F0aW9u
X3BvbGljeV9kZW55Cis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9JU19HRU9MT0NBVElP
Tl9QT0xJQ1lfREVDSVNJT04KK1dFQktJVF9JU19HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT05f
Q0xBU1MKK1dFQktJVF9UWVBFX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTgorV0VCS0lUX0dF
T0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTgorV0VCS0lUX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJ
U0lPTl9DTEFTUworV0VCS0lUX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTl9HRVRfQ0xBU1MK
KzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uCitX
ZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uQ2xhc3MKK1dlYktpdEdlb2xvY2F0aW9uUG9s
aWN5RGVjaXNpb25Qcml2YXRlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgogPEZJTEU+d2Via2l0
bmV0d29ya3JlcXVlc3Q8L0ZJTEU+CiA8VElUTEU+V2ViS2l0TmV0d29ya1JlcXVlc3Q8L1RJVExF
PgogV2ViS2l0TmV0d29ya1JlcXVlc3QKIHdlYmtpdF9uZXR3b3JrX3JlcXVlc3RfbmV3CiB3ZWJr
aXRfbmV0d29ya19yZXF1ZXN0X2dldF91cmkKIHdlYmtpdF9uZXR3b3JrX3JlcXVlc3RfZ2V0X21l
c3NhZ2UKIHdlYmtpdF9uZXR3b3JrX3JlcXVlc3Rfc2V0X3VyaQogPFNVQlNFQ1RJT04gU3RhbmRh
cmQ+CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXQuaCBiL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdC5oCmluZGV4IDRjZDA3MDkuLjE3YjE5N2IgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9ndGsvd2Via2l0L3dlYmtpdC5oCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdC5oCkBA
IC0xOSwxNiArMTksMTcgQEAKICAqLwogCiAjaWZuZGVmIF9fV0VCS0lUX0hfXwogI2RlZmluZSBf
X1dFQktJVF9IX18KIAogI2luY2x1ZGUgPHdlYmtpdC93ZWJraXR2ZXJzaW9uLmg+CiAjaW5jbHVk
ZSA8d2Via2l0L3dlYmtpdGRlZmluZXMuaD4KICNpbmNsdWRlIDx3ZWJraXQvd2Via2l0ZG93bmxv
YWQuaD4KKyNpbmNsdWRlIDx3ZWJraXQvd2Via2l0Z2VvbG9jYXRpb25wb2xpY3lkZWNpc2lvbi5o
PgogI2luY2x1ZGUgPHdlYmtpdC93ZWJraXRoaXR0ZXN0cmVzdWx0Lmg+CiAjaW5jbHVkZSA8d2Vi
a2l0L3dlYmtpdG5ldHdvcmtyZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8d2Via2l0L3dlYmtpdG5ldHdv
cmtyZXNwb25zZS5oPgogI2luY2x1ZGUgPHdlYmtpdC93ZWJraXRzb3VwYXV0aGRpYWxvZy5oPgog
I2luY2x1ZGUgPHdlYmtpdC93ZWJraXR3ZWJkYXRhc291cmNlLmg+CiAjaW5jbHVkZSA8d2Via2l0
L3dlYmtpdHdlYmZyYW1lLmg+CiAjaW5jbHVkZSA8d2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmg+
CiAjaW5jbHVkZSA8d2Via2l0L3dlYmtpdHdlYmluc3BlY3Rvci5oPgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0ZGVmaW5lcy5oIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
ZGVmaW5lcy5oCmluZGV4IGE1ODg0ZjMuLmIwNmEzYmYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdGRlZmluZXMuaAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkZWZp
bmVzLmgKQEAgLTg0LDExICs4NCwxNCBAQCB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0V2ViRGF0YWJh
c2UgV2ViS2l0V2ViRGF0YWJhc2U7CiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0V2ViRGF0YWJhc2VD
bGFzcyBXZWJLaXRXZWJEYXRhYmFzZUNsYXNzOwogCiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0U2Vj
dXJpdHlPcmlnaW4gV2ViS2l0U2VjdXJpdHlPcmlnaW47CiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0
U2VjdXJpdHlPcmlnaW5DbGFzcyBXZWJLaXRTZWN1cml0eU9yaWdpbkNsYXNzOwogCiB0eXBlZGVm
IHN0cnVjdCBfV2ViS2l0SGl0VGVzdFJlc3VsdCBXZWJLaXRIaXRUZXN0UmVzdWx0OwogdHlwZWRl
ZiBzdHJ1Y3QgX1dlYktpdEhpdFRlc3RSZXN1bHRDbGFzcyBXZWJLaXRIaXRUZXN0UmVzdWx0Q2xh
c3M7CiAKK3R5cGVkZWYgc3RydWN0IF9XZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uIFdl
YktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb247Cit0eXBlZGVmIHN0cnVjdCBfV2ViS2l0R2Vv
bG9jYXRpb25Qb2xpY3lEZWNpc2lvbkNsYXNzIFdlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNp
b25DbGFzczsKKwogR19FTkRfREVDTFMKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXRnZW9sb2NhdGlvbnBvbGljeWRlY2lzaW9uLmNwcCBiL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNpb24uY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwOTc1NzEKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXQv
Z3RrL3dlYmtpdC93ZWJraXRnZW9sb2NhdGlvbnBvbGljeWRlY2lzaW9uLmNwcApAQCAtMCwwICsx
LDEwMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcm5vIFJlbmV2aWVyCisgKgorICog
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
KyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg
ZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0
aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKworI2luY2x1ZGUgIndlYmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNpb24u
aCIKKworI2luY2x1ZGUgIndlYmtpdHByaXZhdGUuaCIKKworI2luY2x1ZGUgIkdlb2xvY2F0aW9u
LmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
KworLyoqCisgKiBTRUNUSU9OOndlYmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNpb24KKyAqIEBz
aG9ydF9kZXNjcmlwdGlvbjogTGlhaXNvbiBiZXR3ZWVuIFdlYktpdCBhbmQgdGhlIGFwcGxpY2F0
aW9uIHJlZ2FyZGluZyBhc3luY2hyb25vdXMgZ2VvbG9jYXRpb24gcG9saWN5IGRlY2lzaW9ucwor
ICoKKyAqICNXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uIG9iamVjdHMgYXJlIGdpdmVu
IHRvIHRoZSBhcHBsaWNhdGlvbiB3aGVuCisgKiBnZW9sb2NhdGlvbi1wb2xpY3ktZGVjaXNpb24t
cmVxdWVzdGVkIHNpZ25hbCBpcyBlbWl0dGVkLiBUaGUgYXBwbGljYXRpb24KKyAqIHVzZXMgaXQg
dG8gdGVsbCB0aGUgZW5naW5lIHdoZXRoZXIgaXQgd2FudHMgdG8gYWxsb3cgb3IgZGVueSBnZW9s
b2NhdGlvbiBmb3IKKyAqIGdpdmVuIGZyYW1lLgorICovCisKK0dfREVGSU5FX1RZUEUoV2ViS2l0
R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbiwgd2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9kZWNp
c2lvbiwgR19UWVBFX09CSkVDVCk7CisKK3N0cnVjdCBfV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lE
ZWNpc2lvblByaXZhdGUgeworICAgIFdlYktpdFdlYkZyYW1lKiBmcmFtZTsKKyAgICBHZW9sb2Nh
dGlvbiogZ2VvbG9jYXRpb247Cit9OworCisjZGVmaW5lIFdFQktJVF9HRU9MT0NBVElPTl9QT0xJ
Q1lfREVDSVNJT05fR0VUX1BSSVZBVEUob2JqKSAgICAoR19UWVBFX0lOU1RBTkNFX0dFVF9QUklW
QVRFKChvYmopLCBXRUJLSVRfVFlQRV9HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT04sIFdlYktp
dEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb25Qcml2YXRlKSkKKworc3RhdGljIHZvaWQgd2Via2l0
X2dlb2xvY2F0aW9uX3BvbGljeV9kZWNpc2lvbl9jbGFzc19pbml0KFdlYktpdEdlb2xvY2F0aW9u
UG9saWN5RGVjaXNpb25DbGFzcyogZGVjaXNpb25DbGFzcykKK3sKKyAgICBnX3R5cGVfY2xhc3Nf
YWRkX3ByaXZhdGUoZGVjaXNpb25DbGFzcywgc2l6ZW9mKFdlYktpdEdlb2xvY2F0aW9uUG9saWN5
RGVjaXNpb25Qcml2YXRlKSk7Cit9CisKK3N0YXRpYyB2b2lkIHdlYmtpdF9nZW9sb2NhdGlvbl9w
b2xpY3lfZGVjaXNpb25faW5pdChXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uKiBkZWNp
c2lvbikKK3sKKyAgICBkZWNpc2lvbi0+cHJpdiA9IFdFQktJVF9HRU9MT0NBVElPTl9QT0xJQ1lf
REVDSVNJT05fR0VUX1BSSVZBVEUoZGVjaXNpb24pOworfQorCitXZWJLaXRHZW9sb2NhdGlvblBv
bGljeURlY2lzaW9uKiB3ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5X2RlY2lzaW9uX25ldyhXZWJL
aXRXZWJGcmFtZSogZnJhbWUsIEdlb2xvY2F0aW9uKiBnZW9sb2NhdGlvbikKK3sKKyAgICBnX3Jl
dHVybl92YWxfaWZfZmFpbChmcmFtZSwgTlVMTCk7CisgICAgV2ViS2l0R2VvbG9jYXRpb25Qb2xp
Y3lEZWNpc2lvbiogZGVjaXNpb24gPSBXRUJLSVRfR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9O
KGdfb2JqZWN0X25ldyhXRUJLSVRfVFlQRV9HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT04sIE5V
TEwpKTsKKyAgICBXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uUHJpdmF0ZSogcHJpdiA9
IGRlY2lzaW9uLT5wcml2OworCisKKyAgICBwcml2LT5mcmFtZSA9IGZyYW1lOworICAgIHByaXYt
Pmdlb2xvY2F0aW9uID0gZ2VvbG9jYXRpb247CisgICAgcmV0dXJuIGRlY2lzaW9uOworfQorCisv
KioKKyAqIHdlYmtpdF9nZW9sb2NhdGlvbl9wb2xpY3lfYWxsb3cKKyAqIEBkZWNpc2lvbjogYSAj
V2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbgorICoKKyAqIFdpbGwgc2VuZCB0aGUgYWxs
b3cgZGVjaXNpb24gdG8gdGhlIHBvbGljeSBpbXBsZW1lbnRlci4KKyAqCisgKiBTaW5jZTogMS4x
LjIyCisgKi8KK3ZvaWQgd2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9hbGxvdyhXZWJLaXRHZW9s
b2NhdGlvblBvbGljeURlY2lzaW9uKiBkZWNpc2lvbikKK3sKKyAgICBnX3JldHVybl9pZl9mYWls
KFdFQktJVF9JU19HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT04oZGVjaXNpb24pKTsKKworICAg
IFdlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb25Qcml2YXRlKiBwcml2ID0gZGVjaXNpb24t
PnByaXY7CisgICAgcHJpdi0+Z2VvbG9jYXRpb24tPnNldElzQWxsb3dlZChUUlVFKTsKK30KKwor
LyoqCisgKiB3ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5X2RlbnkKKyAqIEBkZWNpc2lvbjogYSAj
V2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbgorICoKKyAqIFdpbGwgc2VuZCB0aGUgZGVu
eSBkZWNpc2lvbiB0byB0aGUgcG9saWN5IGltcGxlbWVudGVyLgorICoKKyAqIFNpbmNlOiAxLjEu
MjIKKyAqLwordm9pZCB3ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5X2RlbnkoV2ViS2l0R2VvbG9j
YXRpb25Qb2xpY3lEZWNpc2lvbiogZGVjaXNpb24pCit7CisgICAgZ19yZXR1cm5faWZfZmFpbChX
RUJLSVRfSVNfR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OKGRlY2lzaW9uKSk7CisKKyAgICBX
ZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uUHJpdmF0ZSogcHJpdiA9IGRlY2lzaW9uLT5w
cml2OworICAgIHByaXYtPmdlb2xvY2F0aW9uLT5zZXRJc0FsbG93ZWQoRkFMU0UpOworfQorCmRp
ZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRnZW9sb2NhdGlvbnBvbGljeWRlY2lz
aW9uLmggYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRnZW9sb2NhdGlvbnBvbGljeWRlY2lzaW9u
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjdlMGVmMgotLS0gL2Rldi9u
dWxsCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNp
b24uaApAQCAtMCwwICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFybm8gUmVu
ZXZpZXIKKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25n
IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdy
aXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisg
Ki8KKworI2lmbmRlZiB3ZWJraXRnZW9sb2NhdGlvbnBvbGljeWRlY2lzaW9uX2gKKyNkZWZpbmUg
d2Via2l0Z2VvbG9jYXRpb25wb2xpY3lkZWNpc2lvbl9oCisKKyNpbmNsdWRlIDxnbGliLW9iamVj
dC5oPgorI2luY2x1ZGUgPHdlYmtpdC93ZWJraXRkZWZpbmVzLmg+CisKK0dfQkVHSU5fREVDTFMK
KworI2RlZmluZSBXRUJLSVRfVFlQRV9HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT04gICAgICAg
ICAgICAod2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9kZWNpc2lvbl9nZXRfdHlwZSgpKQorI2Rl
ZmluZSBXRUJLSVRfR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OKG9iaikgICAgICAgICAgICAo
R19UWVBFX0NIRUNLX0lOU1RBTkNFX0NBU1QoKG9iaiksIFdFQktJVF9UWVBFX0dFT0xPQ0FUSU9O
X1BPTElDWV9ERUNJU0lPTiwgV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbikpCisjZGVm
aW5lIFdFQktJVF9HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT05fQ0xBU1Moa2xhc3MpICAgIChH
X1RZUEVfQ0hFQ0tfQ0xBU1NfQ0FTVCgoa2xhc3MpLCAgV0VCS0lUX1RZUEVfR0VPTE9DQVRJT05f
UE9MSUNZX0RFQ0lTSU9OLCBXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uQ2xhc3MpKQor
I2RlZmluZSBXRUJLSVRfSVNfR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OKG9iaikgICAgICAg
ICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUoKG9iaiksIFdFQktJVF9UWVBFX0dFT0xPQ0FU
SU9OX1BPTElDWV9ERUNJU0lPTikpCisjZGVmaW5lIFdFQktJVF9JU19HRU9MT0NBVElPTl9QT0xJ
Q1lfREVDSVNJT05fQ0xBU1Moa2xhc3MpIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfVFlQRSgoa2xhc3Mp
LCAgV0VCS0lUX1RZUEVfR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OKSkKKyNkZWZpbmUgV0VC
S0lUX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTl9HRVRfQ0xBU1Mob2JqKSAgKEdfVFlQRV9J
TlNUQU5DRV9HRVRfQ0xBU1MoKG9iaiksICBXRUJLSVRfVFlQRV9HRU9MT0NBVElPTl9QT0xJQ1lf
REVDSVNJT04sIFdlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb25DbGFzcykpCisKK3R5cGVk
ZWYgc3RydWN0IF9XZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uUHJpdmF0ZSBXZWJLaXRH
ZW9sb2NhdGlvblBvbGljeURlY2lzaW9uUHJpdmF0ZTsKK3N0cnVjdCBfV2ViS2l0R2VvbG9jYXRp
b25Qb2xpY3lEZWNpc2lvbiB7CisgICAgR09iamVjdCBwYXJlbnRfaW5zdGFuY2U7CisKKyAgICAv
KjwgcHJpdmF0ZSA+Ki8KKyAgICBXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uUHJpdmF0
ZSogcHJpdjsKK307CisKK3N0cnVjdCBfV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbkNs
YXNzIHsKKyAgICBHT2JqZWN0Q2xhc3MgcGFyZW50X2NsYXNzOworCisgICAgLyogUGFkZGluZyBm
b3IgZnV0dXJlIGV4cGFuc2lvbiAqLworICAgIHZvaWQgKCpfd2Via2l0X3Jlc2VydmVkMCkgKHZv
aWQpOworICAgIHZvaWQgKCpfd2Via2l0X3Jlc2VydmVkMSkgKHZvaWQpOworICAgIHZvaWQgKCpf
d2Via2l0X3Jlc2VydmVkMikgKHZvaWQpOworICAgIHZvaWQgKCpfd2Via2l0X3Jlc2VydmVkMykg
KHZvaWQpOworfTsKKworV0VCS0lUX0FQSSBHVHlwZQord2Via2l0X2dlb2xvY2F0aW9uX3BvbGlj
eV9kZWNpc2lvbl9nZXRfdHlwZSAodm9pZCk7CisKK1dFQktJVF9BUEkgdm9pZAord2Via2l0X2dl
b2xvY2F0aW9uX3BvbGljeV9hbGxvdyAoV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbiog
ZGVjaXNpb24pOworCitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF9nZW9sb2NhdGlvbl9wb2xpY3lf
ZGVueSAoV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbiogZGVjaXNpb24pOworCitHX0VO
RF9ERUNMUworCisjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHBy
aXZhdGUuaCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZhdGUuaAppbmRleCA3NDg2MWJl
Li4wNjVlNTVkIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2YXRlLmgK
KysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0ZS5oCkBAIC00NCwxNiArNDQsMTcg
QEAKICNpbmNsdWRlIDx3ZWJraXQvd2Via2l0bmV0d29ya3JlcXVlc3QuaD4KICNpbmNsdWRlIDx3
ZWJraXQvd2Via2l0c2VjdXJpdHlvcmlnaW4uaD4KIAogI2luY2x1ZGUgIkFyY2hpdmVSZXNvdXJj
ZS5oIgogI2luY2x1ZGUgIkJhY2tGb3J3YXJkTGlzdC5oIgogI2luY2x1ZGUgIkNTdHJpbmcuaCIK
ICNpbmNsdWRlIDxlbmNoYW50Lmg+CiAjaW5jbHVkZSAiR093blB0ci5oIgorI2luY2x1ZGUgIkdl
b2xvY2F0aW9uLmgiCiAjaW5jbHVkZSAiSGlzdG9yeUl0ZW0uaCIKICNpbmNsdWRlICJTZXR0aW5n
cy5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIklu
c3BlY3RvckNsaWVudEd0ay5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xpZW50LmgiCiAjaW5j
bHVkZSAiUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKQEAg
LTI2NiwxNiArMjY3LDE5IEBAIGV4dGVybiAiQyIgewogICAgIHdlYmtpdF93ZWJfcG9saWN5X2Rl
Y2lzaW9uX2NhbmNlbCAoV2ViS2l0V2ViUG9saWN5RGVjaXNpb24qIGRlY2lzaW9uKTsKIAogICAg
IFdlYktpdE5ldHdvcmtSZXF1ZXN0KgogICAgIHdlYmtpdF9uZXR3b3JrX3JlcXVlc3RfbmV3X3dp
dGhfY29yZV9yZXF1ZXN0KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVzb3VyY2VS
ZXF1ZXN0KTsKIAogICAgIFdlYktpdE5ldHdvcmtSZXNwb25zZSoKICAgICB3ZWJraXRfbmV0d29y
a19yZXNwb25zZV9uZXdfd2l0aF9jb3JlX3Jlc3BvbnNlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVzcG9uc2UmIHJlc291cmNlUmVzcG9uc2UpOwogCisgICAgV2ViS2l0R2VvbG9jYXRpb25Qb2xp
Y3lEZWNpc2lvbioKKyAgICB3ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5X2RlY2lzaW9uX25ldyhX
ZWJLaXRXZWJGcmFtZSosIFdlYkNvcmU6Okdlb2xvY2F0aW9uKik7CisKICAgICAvLyBGSVhNRTog
bW92ZSB0aGlzIHRvIHdlYmtpdG5ldHdvcmtyZXF1ZXN0Lmggb25jZSB0aGUgQVBJIGlzIGFncmVl
ZCB1cG9uLgogICAgIFdFQktJVF9BUEkgU291cE1lc3NhZ2UqCiAgICAgd2Via2l0X25ldHdvcmtf
cmVxdWVzdF9nZXRfbWVzc2FnZShXZWJLaXROZXR3b3JrUmVxdWVzdCogcmVxdWVzdCk7CiAKICAg
ICAvLyBGSVhNRTogbW92ZSB0aGlzIGZ1bmN0aW9uYWxpdHkgaW50byBhICdXZWJLaXRXZWJEYXRh
U291cmNlJyBvbmNlIGltcGxlbWVudGVkCiAgICAgV0VCS0lUX0FQSSBnY2hhcioKICAgICB3ZWJr
aXRfd2ViX2ZyYW1lX2dldF9yZXNwb25zZV9taW1lX3R5cGUoV2ViS2l0V2ViRnJhbWUqIGZyYW1l
KTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAgYi9X
ZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAppbmRleCBkMmJlN2ZhLi43MzVjYTlh
IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAorKysgYi9X
ZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcApAQCAtMjYsMTYgKzI2LDE3IEBACiAg
KiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9z
dG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2lu
Y2x1ZGUgIndlYmtpdHdlYnZpZXcuaCIKIAogI2luY2x1ZGUgIndlYmtpdGRvd25sb2FkLmgiCiAj
aW5jbHVkZSAid2Via2l0ZW51bXR5cGVzLmgiCisjaW5jbHVkZSAid2Via2l0Z2VvbG9jYXRpb25w
b2xpY3lkZWNpc2lvbi5oIgogI2luY2x1ZGUgIndlYmtpdG1hcnNoYWwuaCIKICNpbmNsdWRlICJ3
ZWJraXRuZXR3b3JrcmVxdWVzdC5oIgogI2luY2x1ZGUgIndlYmtpdG5ldHdvcmtyZXNwb25zZS5o
IgogI2luY2x1ZGUgIndlYmtpdHByaXZhdGUuaCIKICNpbmNsdWRlICJ3ZWJraXR3ZWJpbnNwZWN0
b3IuaCIKICNpbmNsdWRlICJ3ZWJraXR3ZWJiYWNrZm9yd2FyZGxpc3QuaCIKICNpbmNsdWRlICJ3
ZWJraXR3ZWJoaXN0b3J5aXRlbS5oIgogCkBAIC0xNTQsMTYgKzE1NSwxOCBAQCBlbnVtIHsKICAg
ICBQUklOVF9SRVFVRVNURUQsCiAgICAgUExVR0lOX1dJREdFVCwKICAgICBDTE9TRV9XRUJfVklF
VywKICAgICBVTkRPLAogICAgIFJFRE8sCiAgICAgREFUQUJBU0VfUVVPVEFfRVhDRUVERUQsCiAg
ICAgUkVTT1VSQ0VfUkVRVUVTVF9TVEFSVElORywKICAgICBET0NVTUVOVF9MT0FEX0ZJTklTSEVE
LAorICAgIEdFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTl9SRVFVRVNURUQsCisgICAgR0VPTE9D
QVRJT05fUE9MSUNZX0RFQ0lTSU9OX0NBTkNFTExFRCwKICAgICBMQVNUX1NJR05BTAogfTsKIAog
ZW51bSB7CiAgICAgUFJPUF8wLAogCiAgICAgUFJPUF9USVRMRSwKICAgICBQUk9QX1VSSSwKQEAg
LTIxNjAsMTYgKzIxNjMsNTggQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X2NsYXNzX2lu
aXQoV2ViS2l0V2ViVmlld0NsYXNzKiB3ZWJWaWV3Q2xhc3MpCiAgICAgICAgICAgICBOVUxMLCBO
VUxMLAogICAgICAgICAgICAgd2Via2l0X21hcnNoYWxfVk9JRF9fT0JKRUNUX09CSkVDVF9PQkpF
Q1RfT0JKRUNULAogICAgICAgICAgICAgR19UWVBFX05PTkUsIDQsCiAgICAgICAgICAgICBXRUJL
SVRfVFlQRV9XRUJfRlJBTUUsCiAgICAgICAgICAgICBXRUJLSVRfVFlQRV9XRUJfUkVTT1VSQ0Us
CiAgICAgICAgICAgICBXRUJLSVRfVFlQRV9ORVRXT1JLX1JFUVVFU1QsCiAgICAgICAgICAgICBX
RUJLSVRfVFlQRV9ORVRXT1JLX1JFU1BPTlNFKTsKIAorICAgIC8qKgorICAgICAqIFdlYktpdFdl
YlZpZXc6Omdlb2xvY2F0aW9uLXBvbGljeS1kZWNpc2lvbi1yZXF1ZXN0ZWQ6CisgICAgICogQHdl
Yl92aWV3OiB0aGUgb2JqZWN0IG9uIHdoaWNoIHRoZSBzaWduYWwgaXMgZW1pdHRlZAorICAgICAq
IEBmcmFtZTogdGhlIGZyYW1lIHRoYXQgcmVxdWVzdHMgcGVybWlzc2lvbgorICAgICAqIEBwb2xp
Y3lfZGVjaXNpb246IGEgV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbgorICAgICAqCisg
ICAgICogV2hlbiBhIEBmcmFtZSB3YW50cyB0byBnZXQgaXRzIGdlb2xvY2F0aW9uIHBlcm1pc3Np
b24uCisgICAgICogVGhlIHJlY2VpdmVyIG11c3QgcmVwbHkgd2l0aCBhIGJvb2xlYW4gd2V0aGVy
IGl0IGhhbmRsZWQgb3Igbm90IHRoZQorICAgICAqIHJlcXVlc3QuIElmIHRoZSByZXF1ZXN0IGlz
IG5vdCBoYW5kbGVkLCBkZWZhdWx0IGJlaGF2aW91ciBpcyB0byBkZW55CisgICAgICogZ2VvbG9j
YXRpb24uCisgICAgICoKKyAgICAgKiBTaW5jZTogMS4xLjIyCisgICAgICovCisgICAgd2Via2l0
X3dlYl92aWV3X3NpZ25hbHNbR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OX1JFUVVFU1RFRF0g
PSBnX3NpZ25hbF9uZXcoImdlb2xvY2F0aW9uLXBvbGljeS1kZWNpc2lvbi1yZXF1ZXN0ZWQiLAor
ICAgICAgICAgICAgR19UWVBFX0ZST01fQ0xBU1Mod2ViVmlld0NsYXNzKSwKKyAgICAgICAgICAg
IChHU2lnbmFsRmxhZ3MpKEdfU0lHTkFMX1JVTl9MQVNUKSwKKyAgICAgICAgICAgIDAsCisgICAg
ICAgICAgICBOVUxMLCBOVUxMLAorICAgICAgICAgICAgd2Via2l0X21hcnNoYWxfQk9PTEVBTl9f
T0JKRUNUX09CSkVDVCwKKyAgICAgICAgICAgIEdfVFlQRV9CT09MRUFOLCAyLAorICAgICAgICAg
ICAgV0VCS0lUX1RZUEVfV0VCX0ZSQU1FLAorICAgICAgICAgICAgV0VCS0lUX1RZUEVfR0VPTE9D
QVRJT05fUE9MSUNZX0RFQ0lTSU9OKTsKKworICAgIC8qKgorICAgICAqIFdlYktpdFdlYlZpZXc6
Omdlb2xvY2F0aW9uLXBvbGljeS1kZWNpc2lvbi1jYW5jZWxsZWQ6CisgICAgICogQHdlYl92aWV3
OiB0aGUgb2JqZWN0IG9uIHdoaWNoIHRoZSBzaWduYWwgaXMgZW1pdHRlZAorICAgICAqIEBmcmFt
ZTogdGhlIGZyYW1lIHRoYXQgY2FuY2VscyBnZW9sb2NhdGlvbiByZXF1ZXN0LgorICAgICAqCisg
ICAgICogV2hlbiBhIEBmcmFtZSB3YW50cyB0byBjYW5jZWwgZ2VvbG9jYXRpb24gcGVybWlzc2lv
biBpdCBoYWQgcmVxdWVzdGVkCisgICAgICogYmVmb3JlLgorICAgICAqCisgICAgICogU2luY2U6
IDEuMS4yMgorICAgICAqLworICAgIHdlYmtpdF93ZWJfdmlld19zaWduYWxzW0dFT0xPQ0FUSU9O
X1BPTElDWV9ERUNJU0lPTl9SRVFVRVNURURdID0gZ19zaWduYWxfbmV3KCJnZW9sb2NhdGlvbi1w
b2xpY3ktZGVjaXNpb24tY2FuY2VsbGVkIiwKKyAgICAgICAgICAgIEdfVFlQRV9GUk9NX0NMQVNT
KHdlYlZpZXdDbGFzcyksCisgICAgICAgICAgICAoR1NpZ25hbEZsYWdzKShHX1NJR05BTF9SVU5f
TEFTVCksCisgICAgICAgICAgICAwLAorICAgICAgICAgICAgTlVMTCwgTlVMTCwKKyAgICAgICAg
ICAgIGdfY2Nsb3N1cmVfbWFyc2hhbF9WT0lEX19PQkpFQ1QsCisgICAgICAgICAgICBHX1RZUEVf
Tk9ORSwgMSwKKyAgICAgICAgICAgIFdFQktJVF9UWVBFX1dFQl9GUkFNRSk7CisKICAgICAvKgog
ICAgICAqIERPTS1yZWxhdGVkIHNpZ25hbHMuIFRoZXNlIHNpZ25hbHMgYXJlIGV4cGVyaW1lbnRh
bCwgZm9yIG5vdywKICAgICAgKiBhbmQgbWF5IGNoYW5nZSBBUEkgYW5kIEFCSS4gVGhlaXIgY29t
bWVudHMgbGFjayBvbmUgKiBvbgogICAgICAqIHB1cnBvc2UsIHRvIG1ha2UgdGhlbSBub3QgYmUg
Y2F0Y2hlZCBieSBndGstZG9jLgogICAgICAqLwogCiAgICAgLyoKICAgICAgKiBXZWJLaXRXZWJW
aWV3Ojpkb2N1bWVudC1sb2FkLWZpbmlzaGVkCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtp
dG1hcnNoYWwubGlzdCBiL1dlYktpdC9ndGsvd2Via2l0bWFyc2hhbC5saXN0CmluZGV4IGZlZmRm
ZjMuLmQ4Y2FhNGMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0bWFyc2hhbC5saXN0Cisr
KyBiL1dlYktpdC9ndGsvd2Via2l0bWFyc2hhbC5saXN0CkBAIC0xLDExICsxLDEyIEBACiBCT09M
RUFOOkVOVU0sSU5UCiBCT09MRUFOOklOVCxJTlQsU1RSSU5HCiBCT09MRUFOOk9CSkVDVAorQk9P
TEVBTjpPQkpFQ1QsT0JKRUNUCiBCT09MRUFOOk9CSkVDVCxPQkpFQ1QsT0JKRUNULE9CSkVDVAog
Qk9PTEVBTjpPQkpFQ1QsT0JKRUNULFNUUklORyxPQkpFQ1QKIEJPT0xFQU46T0JKRUNULFNUUklO
RwogQk9PTEVBTjpPQkpFQ1QsU1RSSU5HLFBPSU5URVIKIEJPT0xFQU46T0JKRUNULFNUUklORyxT
VFJJTkcsU1RSSU5HCiBCT09MRUFOOlNUUklORyxJTlQsU1RSSU5HCiBCT09MRUFOOlZPSUQKIEVO
VU06T0JKRUNULE9CSkVDVApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2Vi
S2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IGY0ZWM0YjguLjNhNTE5ZjkgMTAwNjQ0Ci0tLSBhL1dl
YktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKQEAgLTEsOCAr
MSwxOSBAQAorMjAxMC0wMi0yNCAgQXJubyBSZW5ldmllciAgPGFybm9AcmVuZXZpZXIubmV0Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtHdGtdIGlt
cGxlbWVudHMgQ2hyb21lQ2xpZW50OjpyZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJh
bWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MjEw
CisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwOgorICAg
ICAgICAoZ2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvblJlcXVlc3RlZCk6CisgICAgICAgIChjcmVh
dGVXZWJWaWV3KToKKwogMjAxMC0wMi0yNiAgQXJubyBSZW5ldmllciAgPGFybm9AcmVuZXZpZXIu
bmV0PgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCiAgICAgICAgIHdl
YmtpdC1idWlsZCBjb3VsZCBwYXNzIHVua25vd24gYXJndW1lbnRzIHRvIGF1dG9nZW4uc2gKICAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1NDU0CiAKICAg
ICAgICAgKiBTY3JpcHRzL2J1aWxkLXdlYmtpdDoKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwCmluZGV4IDc0ODBkODUuLjNlYmFkNDQgMTAw
NjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5j
cHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNw
cApAQCAtNzMxLDE2ICs3MzEsMjkgQEAgc3RhdGljIHZvaWQgZGF0YWJhc2VRdW90YUV4Y2VlZGVk
KFdlYktpdFdlYlZpZXcqIHZpZXcsIFdlYktpdFdlYkZyYW1lKiBmcmFtZSwgV2UKICAgICAgICAg
ICAgIHdlYmtpdF9zZWN1cml0eV9vcmlnaW5fZ2V0X3Byb3RvY29sKG9yaWdpbiksCiAgICAgICAg
ICAgICB3ZWJraXRfc2VjdXJpdHlfb3JpZ2luX2dldF9ob3N0KG9yaWdpbiksCiAgICAgICAgICAg
ICB3ZWJraXRfc2VjdXJpdHlfb3JpZ2luX2dldF9wb3J0KG9yaWdpbiksCiAgICAgICAgICAgICB3
ZWJraXRfd2ViX2RhdGFiYXNlX2dldF9uYW1lKGRhdGFiYXNlKSk7CiAgICAgfQogICAgIHdlYmtp
dF9zZWN1cml0eV9vcmlnaW5fc2V0X3dlYl9kYXRhYmFzZV9xdW90YShvcmlnaW4sIDUgKiAxMDI0
ICogMTAyNCk7CiB9CiAKK3N0YXRpYyBib29sCitnZW9sb2NhdGlvblBvbGljeURlY2lzaW9uUmVx
dWVzdGVkKFdlYktpdFdlYlZpZXcqLCBXZWJLaXRXZWJGcmFtZSosIFdlYktpdEdlb2xvY2F0aW9u
UG9saWN5RGVjaXNpb24qIGRlY2lzaW9uKQoreworICAgIGlmICghZ0xheW91dFRlc3RDb250cm9s
bGVyLT5pc0dlb2xvY2F0aW9uUGVybWlzc2lvblNldCgpKQorICAgICAgICByZXR1cm4gRkFMU0U7
CisgICAgaWYgKGdMYXlvdXRUZXN0Q29udHJvbGxlci0+Z2VvbG9jYXRpb25QZXJtaXNzaW9uKCkp
CisgICAgICAgIHdlYmtpdF9nZW9sb2NhdGlvbl9wb2xpY3lfYWxsb3coZGVjaXNpb24pOworICAg
IGVsc2UKKyAgICAgICAgd2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9kZW55KGRlY2lzaW9uKTsK
KworICAgIHJldHVybiBUUlVFOworfQorCiAKIHN0YXRpYyBXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3
Q3JlYXRlKFdlYktpdFdlYlZpZXcqLCBXZWJLaXRXZWJGcmFtZSopOwogCiBzdGF0aWMgZ2Jvb2xl
YW4gd2ViSW5zcGVjdG9yU2hvd1dpbmRvdyhXZWJLaXRXZWJJbnNwZWN0b3IqLCBncG9pbnRlciBk
YXRhKQogewogICAgIGd0a193aW5kb3dfc2V0X2RlZmF1bHRfc2l6ZShHVEtfV0lORE9XKHdlYklu
c3BlY3RvcldpbmRvdyksIDgwMCwgNjAwKTsKICAgICBndGtfd2lkZ2V0X3Nob3dfYWxsKHdlYklu
c3BlY3RvcldpbmRvdyk7CiAgICAgcmV0dXJuIFRSVUU7CkBAIC03ODIsMTYgKzc5NSwxNyBAQCBz
dGF0aWMgV2ViS2l0V2ViVmlldyogY3JlYXRlV2ViVmlldygpCiAgICAgICAgICAgICAgICAgICAg
ICAic2lnbmFsOjpzY3JpcHQtY29uZmlybSIsIHdlYlZpZXdTY3JpcHRDb25maXJtLCAwLAogICAg
ICAgICAgICAgICAgICAgICAgInNpZ25hbDo6dGl0bGUtY2hhbmdlZCIsIHdlYlZpZXdUaXRsZUNo
YW5nZWQsIDAsCiAgICAgICAgICAgICAgICAgICAgICAic2lnbmFsOjpuYXZpZ2F0aW9uLXBvbGlj
eS1kZWNpc2lvbi1yZXF1ZXN0ZWQiLCB3ZWJWaWV3TmF2aWdhdGlvblBvbGljeURlY2lzaW9uUmVx
dWVzdGVkLCAwLAogICAgICAgICAgICAgICAgICAgICAgInNpZ25hbDo6c3RhdHVzLWJhci10ZXh0
LWNoYW5nZWQiLCB3ZWJWaWV3U3RhdHVzQmFyVGV4dENoYW5nZWQsIDAsCiAgICAgICAgICAgICAg
ICAgICAgICAic2lnbmFsOjpjcmVhdGUtd2ViLXZpZXciLCB3ZWJWaWV3Q3JlYXRlLCAwLAogICAg
ICAgICAgICAgICAgICAgICAgInNpZ25hbDo6Y2xvc2Utd2ViLXZpZXciLCB3ZWJWaWV3Q2xvc2Us
IDAsCiAgICAgICAgICAgICAgICAgICAgICAic2lnbmFsOjpkYXRhYmFzZS1xdW90YS1leGNlZWRl
ZCIsIGRhdGFiYXNlUXVvdGFFeGNlZWRlZCwgMCwKICAgICAgICAgICAgICAgICAgICAgICJzaWdu
YWw6OmRvY3VtZW50LWxvYWQtZmluaXNoZWQiLCB3ZWJWaWV3RG9jdW1lbnRMb2FkRmluaXNoZWQs
IDAsCisgICAgICAgICAgICAgICAgICAgICAic2lnbmFsOjpnZW9sb2NhdGlvbi1wb2xpY3ktZGVj
aXNpb24tcmVxdWVzdGVkIiwgZ2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvblJlcXVlc3RlZCwgMCwK
ICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOwogCiAgICAgV2ViS2l0V2ViSW5zcGVjdG9yKiBp
bnNwZWN0b3IgPSB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2luc3BlY3Rvcih2aWV3KTsKICAgICBnX29i
amVjdF9jb25uZWN0KEdfT0JKRUNUKGluc3BlY3RvciksCiAgICAgICAgICAgICAgICAgICAgICAi
c2lnbmFsOjppbnNwZWN0LXdlYi12aWV3Iiwgd2ViSW5zcGVjdG9ySW5zcGVjdFdlYlZpZXcsIDAs
CiAgICAgICAgICAgICAgICAgICAgICAic2lnbmFsOjpzaG93LXdpbmRvdyIsIHdlYkluc3BlY3Rv
clNob3dXaW5kb3csIDAsCiAgICAgICAgICAgICAgICAgICAgICAic2lnbmFsOjpjbG9zZS13aW5k
b3ciLCB3ZWJJbnNwZWN0b3JDbG9zZVdpbmRvdywgMCwKICAgICAgICAgICAgICAgICAgICAgIE5V
TEwpOwotLSAKMS43LjAKCg==
</data>
<flag name="review"
          id="32611"
          type_id="1"
          status="-"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49738</attachid>
            <date>2010-03-01 12:41:50 -0800</date>
            <delta_ts>2010-03-02 17:27:31 -0800</delta_ts>
            <desc>patch v2.7</desc>
            <filename>0001-Bug-35210.patch</filename>
            <type>text/plain</type>
            <size>23401</size>
            <attacher name="arno.">a.renevier</attacher>
            
              <data encoding="base64">RnJvbSAyNTk3NTc3Y2M3MWNmNWFiZjk0M2YwOTU2YmE4ZWRlNjYwZDQyMzBlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBcm5vIFJlbmV2aWVyIDxhcm5vQHJlbmV2aWVyLm5ldD4KRGF0
ZTogV2VkLCAyNCBGZWIgMjAxMCAyMTo1NTo0NyArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIEJ1ZyAj
MzUyMTAKCi0tLQogQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfCAgICA5ICsrCiBHTlVtYWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8ICAgIDIgKwogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgICA5ICsrCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBl
ZCAgICAgICAgICAgICAgICAgICB8ICAgIDUgLQogV2ViS2l0L2d0ay9DaGFuZ2VMb2cgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDI0ICsrKysrCiBXZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAgICAgICB8ICAgMjEgKysrKy0KIFdlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmggICAgICAgIHwgICAgMiArLQogV2ViS2l0
L2d0ay9kb2NzL3dlYmtpdGd0ay1kb2NzLnNnbWwgICAgICAgICAgICAgICAgfCAgICAxICsKIFdl
YktpdC9ndGsvZG9jcy93ZWJraXRndGstc2VjdGlvbnMudHh0ICAgICAgICAgICAgIHwgICAxOSAr
KysrCiBXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXQuaCAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgIDEgKwogV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZGVmaW5lcy5oICAgICAgICAgICAgICAg
ICAgfCAgICAzICsKIC4uLi9ndGsvd2Via2l0L3dlYmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNp
b24uY3BwIHwgIDEwMCArKysrKysrKysrKysrKysrKysrKwogLi4uL2d0ay93ZWJraXQvd2Via2l0
Z2VvbG9jYXRpb25wb2xpY3lkZWNpc2lvbi5oICAgfCAgIDY0ICsrKysrKysrKysrKysKIFdlYktp
dC9ndGsvd2Via2l0L3dlYmtpdHByaXZhdGUuaCAgICAgICAgICAgICAgICAgIHwgICAgNCArCiBX
ZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcCAgICAgICAgICAgICAgICB8ICAgNDUg
KysrKysrKysrCiBXZWJLaXQvZ3RrL3dlYmtpdG1hcnNoYWwubGlzdCAgICAgICAgICAgICAgICAg
ICAgICB8ICAgIDEgKwogV2ViS2l0VG9vbHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgIDExICsrCiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJl
bmRlclRyZWUuY3BwICB8ICAgMTQgKysrCiAxOCBmaWxlcyBjaGFuZ2VkLCAzMjYgaW5zZXJ0aW9u
cygrKSwgOSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBXZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXRnZW9sb2NhdGlvbnBvbGljeWRlY2lzaW9uLmNwcAogY3JlYXRlIG1vZGUgMTAwNjQ0
IFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNpb24uaAoKZGlm
ZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA4NDI4ZDdhLi42NTgyNTM3IDEw
MDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIw
MTAtMDItMjQgIEFybm8gUmVuZXZpZXIgIDxhcm5vQHJlbmV2aWVyLm5ldD4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR3RrXSBpbXBsZW1lbnRzIENo
cm9tZUNsaWVudDo6cmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvbkZvckZyYW1lCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTIxMAorCisgICAgICAg
ICogR05VbWFrZWZpbGUuYW06CisKIDIwMTAtMDItMjYgIEFybm8gUmVuZXZpZXIgIDxhcm5vQHJl
bmV2aWVyLm5ldD4KIAogICAgICAgICBSZXZpZXdlZCBieSBHdXN0YXZvIE5vcm9uaGEgU2lsdmEu
CmRpZmYgLS1naXQgYS9HTlVtYWtlZmlsZS5hbSBiL0dOVW1ha2VmaWxlLmFtCmluZGV4IDg1NGEx
YjAuLjVhMjU1NTQgMTAwNjQ0Ci0tLSBhL0dOVW1ha2VmaWxlLmFtCisrKyBiL0dOVW1ha2VmaWxl
LmFtCkBAIC0zMjcsNiArMzI3LDcgQEAgd2Via2l0Z3RrX2hfYXBpICs9IFwKIAkkKHNyY2Rpcikv
V2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViaW5zcGVjdG9yLmggXAogCSQoc3JjZGlyKS9XZWJL
aXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJuYXZpZ2F0aW9uYWN0aW9uLmggXAogCSQoc3JjZGlyKS9X
ZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJwb2xpY3lkZWNpc2lvbi5oIFwKKwkkKHNyY2Rpcikv
V2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2VvbG9jYXRpb25wb2xpY3lkZWNpc2lvbi5oIFwKIAkk
KHNyY2RpcikvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2VicmVzb3VyY2UuaCBcCiAJJChzcmNk
aXIpL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmggXAogCSQoc3JjZGlyKS9X
ZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ3aW5kb3dmZWF0dXJlcy5oIFwKQEAgLTM3NSw2ICsz
NzYsNyBAQCB3ZWJraXRndGtfc291cmNlcyArPSBcCiAJV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
d2ViaW5zcGVjdG9yLmNwcCBcCiAJV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2VibmF2aWdhdGlv
bmFjdGlvbi5jcHAgXAogCVdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnBvbGljeWRlY2lzaW9u
LmNwcCBcCisJV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2VvbG9jYXRpb25wb2xpY3lkZWNpc2lv
bi5jcHAgXAogCVdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnJlc291cmNlLmNwcCBcCiAJV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0d2ViZGF0YWJhc2UuY3BwIFwKIAlXZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXRzZWN1cml0eW9yaWdpbi5jcHAgXApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDQ4NzE5YjkuLjA3MzA4NWQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMC0wMi0yNCAgQXJubyBSZW5ldmllciAgPGFybm9AcmVu
ZXZpZXIubmV0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFtHdGtdIGltcGxlbWVudHMgQ2hyb21lQ2xpZW50OjpyZXF1ZXN0R2VvbG9jYXRpb25QZXJt
aXNzaW9uRm9yRnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTM1MjEwCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDoKKwogMjAxMC0w
Mi0yOCAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHJvYmVydGhvZ2FuLm5ldD4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKaW5kZXgg
MWM5YzM3NS4uNGRkMDA4NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Nr
aXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKQEAgLTEyODUsMTYg
KzEyODUsMTEgQEAgZmFzdC9kb20vZnJhbWUtbG9hZGluZy12aWEtZG9jdW1lbnQtd3JpdGUuaHRt
bAogZmFzdC9kb20vR2VvbG9jYXRpb24vY2FsbGJhY2stZXhjZXB0aW9uLmh0bWwKIGZhc3QvZG9t
L0dlb2xvY2F0aW9uL2Vycm9yLmh0bWwKIGZhc3QvZG9tL0dlb2xvY2F0aW9uL3Blcm1pc3Npb24t
ZGVuaWVkLWFscmVhZHktY2xlYXItd2F0Y2guaHRtbAotZmFzdC9kb20vR2VvbG9jYXRpb24vcGVy
bWlzc2lvbi1kZW5pZWQtYWxyZWFkeS1lcnJvci5odG1sCi1mYXN0L2RvbS9HZW9sb2NhdGlvbi9w
ZXJtaXNzaW9uLWRlbmllZC1hbHJlYWR5LXN1Y2Nlc3MuaHRtbAotZmFzdC9kb20vR2VvbG9jYXRp
b24vcGVybWlzc2lvbi1kZW5pZWQtc3RvcHMtd2F0Y2hlcy5odG1sCi1mYXN0L2RvbS9HZW9sb2Nh
dGlvbi9wZXJtaXNzaW9uLWRlbmllZC5odG1sCiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9wb3NpdGlv
bi1zdHJpbmcuaHRtbAogZmFzdC9kb20vR2VvbG9jYXRpb24vcmVlbnRyYW50LWVycm9yLmh0bWwK
IGZhc3QvZG9tL0dlb2xvY2F0aW9uL3JlZW50cmFudC1zdWNjZXNzLmh0bWwKIGZhc3QvZG9tL0dl
b2xvY2F0aW9uL3N1Y2Nlc3MuaHRtbAogZmFzdC9kb20vR2VvbG9jYXRpb24vdGltZW91dC1jbGVh
ci13YXRjaC5odG1sCi1mYXN0L2RvbS9HZW9sb2NhdGlvbi90aW1lb3V0LXplcm8uaHRtbAogZmFz
dC9kb20vR2VvbG9jYXRpb24vdGltZW91dC5odG1sCiBmYXN0L2RvbS9HZW9sb2NhdGlvbi93YXRj
aC5odG1sCiBmYXN0L2RvbS9FbGVtZW50L2dldEJvdW5kaW5nQ2xpZW50UmVjdC5odG1sCmRpZmYg
LS1naXQgYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4
IGY0M2QwODQuLjNkYWM3MjggMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBi
L1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTAtMDItMjQgIEFybm8g
UmVuZXZpZXIgIDxhcm5vQHJlbmV2aWVyLm5ldD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBbR3RrXSBpbXBsZW1lbnRzIENocm9tZUNsaWVudDo6cmVx
dWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvbkZvckZyYW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTIxMAorCisgICAgICAgICogV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50R3RrLmNwcDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRHdGsuaDoKKyAgICAgICAgKiBkb2NzL3dlYmtpdGd0ay1zZWN0aW9ucy50eHQ6CisgICAg
ICAgICogd2Via2l0L3dlYmtpdC5oOgorICAgICAgICAqIHdlYmtpdC93ZWJraXRkZWZpbmVzLmg6
CisgICAgICAgICogd2Via2l0L3dlYmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNpb24uY3BwOiBB
ZGRlZC4KKyAgICAgICAgKHdlYmtpdF9nZW9sb2NhdGlvbl9wb2xpY3lfZGVjaXNpb25fY2xhc3Nf
aW5pdCk6CisgICAgICAgICh3ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5X2RlY2lzaW9uX2luaXQp
OgorICAgICAgICAod2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9kZWNpc2lvbl9uZXcpOgorICAg
ICAgICAod2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9hbGxvdyk6CisgICAgICAgICh3ZWJraXRf
Z2VvbG9jYXRpb25fcG9saWN5X2RlbnkpOgorICAgICAgICAqIHdlYmtpdC93ZWJraXRnZW9sb2Nh
dGlvbnBvbGljeWRlY2lzaW9uLmg6IEFkZGVkLgorICAgICAgICAqIHdlYmtpdC93ZWJraXRwcml2
YXRlLmg6CisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwOgorICAgICAgICAoRE5E
Q29udGVudHNSZXF1ZXN0Ojp3ZWJraXRfd2ViX3ZpZXdfY2xhc3NfaW5pdCk6CisgICAgICAgICog
d2Via2l0bWFyc2hhbC5saXN0OgorCiAyMDA5LTEyLTA0ICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEg
IDxndXN0YXZvLm5vcm9uaGFAY29sbGFib3JhLmNvLnVrPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IFhhbiBMb3Blei4KZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50R3RrLmNwcCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3Rr
LmNwcAppbmRleCA3NGY1ZTA3Li5hMTEwYzkwIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKKysrIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiQ1N0
cmluZy5oIgogI2luY2x1ZGUgIkhpdFRlc3RSZXN1bHQuaCIKICNpbmNsdWRlICJLVVJMLmgiCisj
aW5jbHVkZSAid2Via2l0Z2VvbG9jYXRpb25wb2xpY3lkZWNpc2lvbi5oIgogI2luY2x1ZGUgIndl
YmtpdHdlYnZpZXcuaCIKICNpbmNsdWRlICJ3ZWJraXRuZXR3b3JrcmVxdWVzdC5oIgogI2luY2x1
ZGUgIndlYmtpdHByaXZhdGUuaCIKQEAgLTU3NSwxMCArNTc2LDI0IEBAIGJvb2wgQ2hyb21lQ2xp
ZW50OjpzZXRDdXJzb3IoUGxhdGZvcm1DdXJzb3JIYW5kbGUpCiAgICAgcmV0dXJuIGZhbHNlOwog
fQogCi12b2lkIENocm9tZUNsaWVudDo6cmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvbkZvckZy
YW1lKEZyYW1lKiwgR2VvbG9jYXRpb24qKQordm9pZCBDaHJvbWVDbGllbnQ6OnJlcXVlc3RHZW9s
b2NhdGlvblBlcm1pc3Npb25Gb3JGcmFtZShGcmFtZSogZnJhbWUsIEdlb2xvY2F0aW9uKiBnZW9s
b2NhdGlvbikKIHsKLSAgICAvLyBTZWUgdGhlIGNvbW1lbnQgaW4gV2ViQ29yZS9wYWdlL0Nocm9t
ZUNsaWVudC5oCi0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBXZWJLaXRXZWJGcmFtZSogd2Vi
RnJhbWUgPSBraXQoZnJhbWUpOworICAgIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcgPSBnZXRWaWV3
RnJvbUZyYW1lKHdlYkZyYW1lKTsKKworICAgIFdlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNp
b24qIHBvbGljeURlY2lzaW9uID0gd2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9kZWNpc2lvbl9u
ZXcod2ViRnJhbWUsIGdlb2xvY2F0aW9uKTsKKworICAgIGdib29sZWFuIGlzSGFuZGxlZCA9IEZB
TFNFOworICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh3ZWJWaWV3LCAiZ2VvbG9jYXRpb24tcG9s
aWN5LWRlY2lzaW9uLXJlcXVlc3RlZCIsIHdlYkZyYW1lLCBwb2xpY3lEZWNpc2lvbiwgJmlzSGFu
ZGxlZCk7CisgICAgaWYgKCFpc0hhbmRsZWQpCisgICAgICAgIHdlYmtpdF9nZW9sb2NhdGlvbl9w
b2xpY3lfZGVueShwb2xpY3lEZWNpc2lvbik7Cit9CisKK3ZvaWQgQ2hyb21lQ2xpZW50OjpjYW5j
ZWxHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Rm9yRnJhbWUoV2ViQ29yZTo6RnJhbWUqIGZy
YW1lKQoreworICAgIFdlYktpdFdlYkZyYW1lKiB3ZWJGcmFtZSA9IGtpdChmcmFtZSk7CisgICAg
V2ViS2l0V2ViVmlldyogd2ViVmlldyA9IGdldFZpZXdGcm9tRnJhbWUod2ViRnJhbWUpOworICAg
IGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh3ZWJWaWV3LCAiZ2VvbG9jYXRpb24tcG9saWN5LWRlY2lz
aW9uLWNhbmNlbGxlZCIsIHdlYkZyYW1lKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgKaW5kZXggNjJkNDhmYS4uNjEzOWIzYSAxMDA2NDQKLS0t
IGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAorKysgYi9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oCkBAIC0xMTcsNyArMTE3LDcg
QEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIHNjcm9sbFJlY3RJ
bnRvVmlldyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgY29uc3QgV2ViQ29yZTo6U2Nyb2xsVmll
dyopIGNvbnN0IHt9CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0R2VvbG9jYXRpb25QZXJt
aXNzaW9uRm9yRnJhbWUoV2ViQ29yZTo6RnJhbWUqLCBXZWJDb3JlOjpHZW9sb2NhdGlvbiopOwot
ICAgICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdEZv
ckZyYW1lKFdlYkNvcmU6OkZyYW1lKikgeyB9CisgICAgICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxH
ZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Rm9yRnJhbWUoV2ViQ29yZTo6RnJhbWUqKTsKIAog
ICAgIHByaXZhdGU6CiAgICAgICAgIFdlYktpdFdlYlZpZXcqIG1fd2ViVmlldzsKZGlmZiAtLWdp
dCBhL1dlYktpdC9ndGsvZG9jcy93ZWJraXRndGstZG9jcy5zZ21sIGIvV2ViS2l0L2d0ay9kb2Nz
L3dlYmtpdGd0ay1kb2NzLnNnbWwKaW5kZXggNzdmMzQ4Mi4uNmM4NGRjYiAxMDA2NDQKLS0tIGEv
V2ViS2l0L2d0ay9kb2NzL3dlYmtpdGd0ay1kb2NzLnNnbWwKKysrIGIvV2ViS2l0L2d0ay9kb2Nz
L3dlYmtpdGd0ay1kb2NzLnNnbWwKQEAgLTE4LDYgKzE4LDcgQEAKICAgICA8eGk6aW5jbHVkZSBo
cmVmPSJ4bWwvd2Via2l0d2ViaGlzdG9yeWl0ZW0ueG1sIi8+CiAgICAgPHhpOmluY2x1ZGUgaHJl
Zj0ieG1sL3dlYmtpdHdlYm5hdmlnYXRpb25hY3Rpb24ueG1sIi8+CiAgICAgPHhpOmluY2x1ZGUg
aHJlZj0ieG1sL3dlYmtpdHdlYnBvbGljeWRlY2lzaW9uLnhtbCIvPgorICAgIDx4aTppbmNsdWRl
IGhyZWY9InhtbC93ZWJraXRnZW9sb2NhdGlvbnBvbGljeWRlY2lzaW9uLnhtbCIvPgogICAgIDx4
aTppbmNsdWRlIGhyZWY9InhtbC93ZWJraXRuZXR3b3JrcmVxdWVzdC54bWwiLz4KICAgICA8eGk6
aW5jbHVkZSBocmVmPSJ4bWwvd2Via2l0bmV0d29ya3Jlc3BvbnNlLnhtbCIvPgogICAgIDx4aTpp
bmNsdWRlIGhyZWY9InhtbC93ZWJraXR3ZWJpbnNwZWN0b3IueG1sIi8+CmRpZmYgLS1naXQgYS9X
ZWJLaXQvZ3RrL2RvY3Mvd2Via2l0Z3RrLXNlY3Rpb25zLnR4dCBiL1dlYktpdC9ndGsvZG9jcy93
ZWJraXRndGstc2VjdGlvbnMudHh0CmluZGV4IDIzNzljOGIuLjE0MTI0YTEgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9ndGsvZG9jcy93ZWJraXRndGstc2VjdGlvbnMudHh0CisrKyBiL1dlYktpdC9ndGsv
ZG9jcy93ZWJraXRndGstc2VjdGlvbnMudHh0CkBAIC0zNTEsNiArMzUxLDI1IEBAIFdlYktpdFdl
YlBvbGljeURlY2lzaW9uUHJpdmF0ZQogPC9TRUNUSU9OPgogCiA8U0VDVElPTj4KKzxGSUxFPndl
YmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNpb248L0ZJTEU+Cis8VElUTEU+V2ViS2l0R2VvbG9j
YXRpb25Qb2xpY3lEZWNpc2lvbjwvVElUTEU+CitXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lz
aW9uCit3ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5X2FsbG93Cit3ZWJraXRfZ2VvbG9jYXRpb25f
cG9saWN5X2RlbnkKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV0VCS0lUX0lTX0dFT0xPQ0FUSU9O
X1BPTElDWV9ERUNJU0lPTgorV0VCS0lUX0lTX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTl9D
TEFTUworV0VCS0lUX1RZUEVfR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OCitXRUJLSVRfR0VP
TE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OCitXRUJLSVRfR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lT
SU9OX0NMQVNTCitXRUJLSVRfR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OX0dFVF9DTEFTUwor
PFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb24KK1dl
YktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb25DbGFzcworV2ViS2l0R2VvbG9jYXRpb25Qb2xp
Y3lEZWNpc2lvblByaXZhdGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+CiA8RklMRT53ZWJraXRu
ZXR3b3JrcmVxdWVzdDwvRklMRT4KIDxUSVRMRT5XZWJLaXROZXR3b3JrUmVxdWVzdDwvVElUTEU+
CiBXZWJLaXROZXR3b3JrUmVxdWVzdApkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Vi
a2l0LmggYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXQuaAppbmRleCA0Y2QwNzA5Li4xN2IxOTdi
IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXQuaAorKysgYi9XZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXQuaApAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgPHdlYmtpdC93ZWJr
aXR2ZXJzaW9uLmg+CiAjaW5jbHVkZSA8d2Via2l0L3dlYmtpdGRlZmluZXMuaD4KICNpbmNsdWRl
IDx3ZWJraXQvd2Via2l0ZG93bmxvYWQuaD4KKyNpbmNsdWRlIDx3ZWJraXQvd2Via2l0Z2VvbG9j
YXRpb25wb2xpY3lkZWNpc2lvbi5oPgogI2luY2x1ZGUgPHdlYmtpdC93ZWJraXRoaXR0ZXN0cmVz
dWx0Lmg+CiAjaW5jbHVkZSA8d2Via2l0L3dlYmtpdG5ldHdvcmtyZXF1ZXN0Lmg+CiAjaW5jbHVk
ZSA8d2Via2l0L3dlYmtpdG5ldHdvcmtyZXNwb25zZS5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0
ay93ZWJraXQvd2Via2l0ZGVmaW5lcy5oIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZGVmaW5l
cy5oCmluZGV4IGE1ODg0ZjMuLmIwNmEzYmYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdGRlZmluZXMuaAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkZWZpbmVzLmgK
QEAgLTg5LDYgKzg5LDkgQEAgdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFNlY3VyaXR5T3JpZ2luQ2xh
c3MgV2ViS2l0U2VjdXJpdHlPcmlnaW5DbGFzczsKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRIaXRU
ZXN0UmVzdWx0IFdlYktpdEhpdFRlc3RSZXN1bHQ7CiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0SGl0
VGVzdFJlc3VsdENsYXNzIFdlYktpdEhpdFRlc3RSZXN1bHRDbGFzczsKIAordHlwZWRlZiBzdHJ1
Y3QgX1dlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb24gV2ViS2l0R2VvbG9jYXRpb25Qb2xp
Y3lEZWNpc2lvbjsKK3R5cGVkZWYgc3RydWN0IF9XZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lz
aW9uQ2xhc3MgV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbkNsYXNzOworCiBHX0VORF9E
RUNMUwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdlb2xv
Y2F0aW9ucG9saWN5ZGVjaXNpb24uY3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2VvbG9j
YXRpb25wb2xpY3lkZWNpc2lvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uN2FmZDhmYQotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdl
b2xvY2F0aW9ucG9saWN5ZGVjaXNpb24uY3BwCkBAIC0wLDAgKzEsMTAwIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEwIEFybm8gUmVuZXZpZXIKKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
CisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUg
Q09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9u
LCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIndlYmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNpb24uaCIKKworI2luY2x1ZGUgIndlYmtp
dHByaXZhdGUuaCIKKyNpbmNsdWRlICJHZW9sb2NhdGlvbi5oIgorCit1c2luZyBuYW1lc3BhY2Ug
V2ViS2l0OwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKKy8qKgorICogU0VDVElPTjp3ZWJr
aXRnZW9sb2NhdGlvbnBvbGljeWRlY2lzaW9uCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IExpYWlz
b24gYmV0d2VlbiBXZWJLaXQgYW5kIHRoZSBhcHBsaWNhdGlvbiByZWdhcmRpbmcgYXN5bmNocm9u
b3VzIGdlb2xvY2F0aW9uIHBvbGljeSBkZWNpc2lvbnMKKyAqCisgKiAjV2ViS2l0R2VvbG9jYXRp
b25Qb2xpY3lEZWNpc2lvbiBvYmplY3RzIGFyZSBnaXZlbiB0byB0aGUgYXBwbGljYXRpb24gd2hl
bgorICogZ2VvbG9jYXRpb24tcG9saWN5LWRlY2lzaW9uLXJlcXVlc3RlZCBzaWduYWwgaXMgZW1p
dHRlZC4gVGhlIGFwcGxpY2F0aW9uCisgKiB1c2VzIGl0IHRvIHRlbGwgdGhlIGVuZ2luZSB3aGV0
aGVyIGl0IHdhbnRzIHRvIGFsbG93IG9yIGRlbnkgZ2VvbG9jYXRpb24gZm9yCisgKiBhIGdpdmVu
IGZyYW1lLgorICovCisKK0dfREVGSU5FX1RZUEUoV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNp
c2lvbiwgd2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9kZWNpc2lvbiwgR19UWVBFX09CSkVDVCk7
CisKK3N0cnVjdCBfV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvblByaXZhdGUgeworICAg
IFdlYktpdFdlYkZyYW1lKiBmcmFtZTsKKyAgICBHZW9sb2NhdGlvbiogZ2VvbG9jYXRpb247Cit9
OworCisjZGVmaW5lIFdFQktJVF9HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT05fR0VUX1BSSVZB
VEUob2JqKSAgICAoR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKChvYmopLCBXRUJLSVRfVFlQ
RV9HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT04sIFdlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVj
aXNpb25Qcml2YXRlKSkKKworc3RhdGljIHZvaWQgd2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9k
ZWNpc2lvbl9jbGFzc19pbml0KFdlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb25DbGFzcyog
ZGVjaXNpb25DbGFzcykKK3sKKyAgICBnX3R5cGVfY2xhc3NfYWRkX3ByaXZhdGUoZGVjaXNpb25D
bGFzcywgc2l6ZW9mKFdlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb25Qcml2YXRlKSk7Cit9
CisKK3N0YXRpYyB2b2lkIHdlYmtpdF9nZW9sb2NhdGlvbl9wb2xpY3lfZGVjaXNpb25faW5pdChX
ZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uKiBkZWNpc2lvbikKK3sKKyAgICBkZWNpc2lv
bi0+cHJpdiA9IFdFQktJVF9HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT05fR0VUX1BSSVZBVEUo
ZGVjaXNpb24pOworfQorCitXZWJLaXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uKiB3ZWJraXRf
Z2VvbG9jYXRpb25fcG9saWN5X2RlY2lzaW9uX25ldyhXZWJLaXRXZWJGcmFtZSogZnJhbWUsIEdl
b2xvY2F0aW9uKiBnZW9sb2NhdGlvbikKK3sKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbChmcmFt
ZSwgTlVMTCk7CisgICAgV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbiogZGVjaXNpb24g
PSBXRUJLSVRfR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OKGdfb2JqZWN0X25ldyhXRUJLSVRf
VFlQRV9HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT04sIE5VTEwpKTsKKyAgICBXZWJLaXRHZW9s
b2NhdGlvblBvbGljeURlY2lzaW9uUHJpdmF0ZSogcHJpdiA9IGRlY2lzaW9uLT5wcml2OworCisg
ICAgcHJpdi0+ZnJhbWUgPSBmcmFtZTsKKyAgICBwcml2LT5nZW9sb2NhdGlvbiA9IGdlb2xvY2F0
aW9uOworICAgIHJldHVybiBkZWNpc2lvbjsKK30KKworLyoqCisgKiB3ZWJraXRfZ2VvbG9jYXRp
b25fcG9saWN5X2FsbG93CisgKiBAZGVjaXNpb246IGEgI1dlYktpdEdlb2xvY2F0aW9uUG9saWN5
RGVjaXNpb24KKyAqCisgKiBXaWxsIHNlbmQgdGhlIGFsbG93IGRlY2lzaW9uIHRvIHRoZSBwb2xp
Y3kgaW1wbGVtZW50ZXIuCisgKgorICogU2luY2U6IDEuMS4yMworICovCit2b2lkIHdlYmtpdF9n
ZW9sb2NhdGlvbl9wb2xpY3lfYWxsb3coV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbiog
ZGVjaXNpb24pCit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfR0VPTE9DQVRJT05f
UE9MSUNZX0RFQ0lTSU9OKGRlY2lzaW9uKSk7CisKKyAgICBXZWJLaXRHZW9sb2NhdGlvblBvbGlj
eURlY2lzaW9uUHJpdmF0ZSogcHJpdiA9IGRlY2lzaW9uLT5wcml2OworICAgIHByaXYtPmdlb2xv
Y2F0aW9uLT5zZXRJc0FsbG93ZWQoVFJVRSk7Cit9CisKKy8qKgorICogd2Via2l0X2dlb2xvY2F0
aW9uX3BvbGljeV9kZW55CisgKiBAZGVjaXNpb246IGEgI1dlYktpdEdlb2xvY2F0aW9uUG9saWN5
RGVjaXNpb24KKyAqCisgKiBXaWxsIHNlbmQgdGhlIGRlbnkgZGVjaXNpb24gdG8gdGhlIHBvbGlj
eSBpbXBsZW1lbnRlci4KKyAqCisgKiBTaW5jZTogMS4xLjIzCisgKi8KK3ZvaWQgd2Via2l0X2dl
b2xvY2F0aW9uX3BvbGljeV9kZW55KFdlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb24qIGRl
Y2lzaW9uKQoreworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0lTX0dFT0xPQ0FUSU9OX1BP
TElDWV9ERUNJU0lPTihkZWNpc2lvbikpOworCisgICAgV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lE
ZWNpc2lvblByaXZhdGUqIHByaXYgPSBkZWNpc2lvbi0+cHJpdjsKKyAgICBwcml2LT5nZW9sb2Nh
dGlvbi0+c2V0SXNBbGxvd2VkKEZBTFNFKTsKK30KKwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93
ZWJraXQvd2Via2l0Z2VvbG9jYXRpb25wb2xpY3lkZWNpc2lvbi5oIGIvV2ViS2l0L2d0ay93ZWJr
aXQvd2Via2l0Z2VvbG9jYXRpb25wb2xpY3lkZWNpc2lvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjI3ZTBlZjIKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXQvZ3RrL3dl
YmtpdC93ZWJraXRnZW9sb2NhdGlvbnBvbGljeWRlY2lzaW9uLmgKQEAgLTAsMCArMSw2NCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcm5vIFJlbmV2aWVyCisgKgorICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwK
KyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgd2Via2l0Z2Vv
bG9jYXRpb25wb2xpY3lkZWNpc2lvbl9oCisjZGVmaW5lIHdlYmtpdGdlb2xvY2F0aW9ucG9saWN5
ZGVjaXNpb25faAorCisjaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD4KKyNpbmNsdWRlIDx3ZWJraXQv
d2Via2l0ZGVmaW5lcy5oPgorCitHX0JFR0lOX0RFQ0xTCisKKyNkZWZpbmUgV0VCS0lUX1RZUEVf
R0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OICAgICAgICAgICAgKHdlYmtpdF9nZW9sb2NhdGlv
bl9wb2xpY3lfZGVjaXNpb25fZ2V0X3R5cGUoKSkKKyNkZWZpbmUgV0VCS0lUX0dFT0xPQ0FUSU9O
X1BPTElDWV9ERUNJU0lPTihvYmopICAgICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9D
QVNUKChvYmopLCBXRUJLSVRfVFlQRV9HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT04sIFdlYktp
dEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb24pKQorI2RlZmluZSBXRUJLSVRfR0VPTE9DQVRJT05f
UE9MSUNZX0RFQ0lTSU9OX0NMQVNTKGtsYXNzKSAgICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1Qo
KGtsYXNzKSwgIFdFQktJVF9UWVBFX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTiwgV2ViS2l0
R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbkNsYXNzKSkKKyNkZWZpbmUgV0VCS0lUX0lTX0dFT0xP
Q0FUSU9OX1BPTElDWV9ERUNJU0lPTihvYmopICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5D
RV9UWVBFKChvYmopLCBXRUJLSVRfVFlQRV9HRU9MT0NBVElPTl9QT0xJQ1lfREVDSVNJT04pKQor
I2RlZmluZSBXRUJLSVRfSVNfR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OX0NMQVNTKGtsYXNz
KSAoR19UWVBFX0NIRUNLX0NMQVNTX1RZUEUoKGtsYXNzKSwgIFdFQktJVF9UWVBFX0dFT0xPQ0FU
SU9OX1BPTElDWV9ERUNJU0lPTikpCisjZGVmaW5lIFdFQktJVF9HRU9MT0NBVElPTl9QT0xJQ1lf
REVDSVNJT05fR0VUX0NMQVNTKG9iaikgIChHX1RZUEVfSU5TVEFOQ0VfR0VUX0NMQVNTKChvYmop
LCAgV0VCS0lUX1RZUEVfR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OLCBXZWJLaXRHZW9sb2Nh
dGlvblBvbGljeURlY2lzaW9uQ2xhc3MpKQorCit0eXBlZGVmIHN0cnVjdCBfV2ViS2l0R2VvbG9j
YXRpb25Qb2xpY3lEZWNpc2lvblByaXZhdGUgV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lv
blByaXZhdGU7CitzdHJ1Y3QgX1dlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb24geworICAg
IEdPYmplY3QgcGFyZW50X2luc3RhbmNlOworCisgICAgLyo8IHByaXZhdGUgPiovCisgICAgV2Vi
S2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvblByaXZhdGUqIHByaXY7Cit9OworCitzdHJ1Y3Qg
X1dlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb25DbGFzcyB7CisgICAgR09iamVjdENsYXNz
IHBhcmVudF9jbGFzczsKKworICAgIC8qIFBhZGRpbmcgZm9yIGZ1dHVyZSBleHBhbnNpb24gKi8K
KyAgICB2b2lkICgqX3dlYmtpdF9yZXNlcnZlZDApICh2b2lkKTsKKyAgICB2b2lkICgqX3dlYmtp
dF9yZXNlcnZlZDEpICh2b2lkKTsKKyAgICB2b2lkICgqX3dlYmtpdF9yZXNlcnZlZDIpICh2b2lk
KTsKKyAgICB2b2lkICgqX3dlYmtpdF9yZXNlcnZlZDMpICh2b2lkKTsKK307CisKK1dFQktJVF9B
UEkgR1R5cGUKK3dlYmtpdF9nZW9sb2NhdGlvbl9wb2xpY3lfZGVjaXNpb25fZ2V0X3R5cGUgKHZv
aWQpOworCitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF9nZW9sb2NhdGlvbl9wb2xpY3lfYWxsb3cg
KFdlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb24qIGRlY2lzaW9uKTsKKworV0VCS0lUX0FQ
SSB2b2lkCit3ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5X2RlbnkgKFdlYktpdEdlb2xvY2F0aW9u
UG9saWN5RGVjaXNpb24qIGRlY2lzaW9uKTsKKworR19FTkRfREVDTFMKKworI2VuZGlmCmRpZmYg
LS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2YXRlLmggYi9XZWJLaXQvZ3RrL3dl
YmtpdC93ZWJraXRwcml2YXRlLmgKaW5kZXggNzQ4NjFiZS4uMDY1ZTU1ZCAxMDA2NDQKLS0tIGEv
V2ViS2l0L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0ZS5oCisrKyBiL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdHByaXZhdGUuaApAQCAtNDksNiArNDksNyBAQAogI2luY2x1ZGUgIkNTdHJpbmcuaCIK
ICNpbmNsdWRlIDxlbmNoYW50Lmg+CiAjaW5jbHVkZSAiR093blB0ci5oIgorI2luY2x1ZGUgIkdl
b2xvY2F0aW9uLmgiCiAjaW5jbHVkZSAiSGlzdG9yeUl0ZW0uaCIKICNpbmNsdWRlICJTZXR0aW5n
cy5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKQEAgLTI3MSw2ICsyNzIsOSBAQCBleHRlcm4gIkMiIHsK
ICAgICBXZWJLaXROZXR3b3JrUmVzcG9uc2UqCiAgICAgd2Via2l0X25ldHdvcmtfcmVzcG9uc2Vf
bmV3X3dpdGhfY29yZV9yZXNwb25zZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiBy
ZXNvdXJjZVJlc3BvbnNlKTsKIAorICAgIFdlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb24q
CisgICAgd2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9kZWNpc2lvbl9uZXcoV2ViS2l0V2ViRnJh
bWUqLCBXZWJDb3JlOjpHZW9sb2NhdGlvbiopOworCiAgICAgLy8gRklYTUU6IG1vdmUgdGhpcyB0
byB3ZWJraXRuZXR3b3JrcmVxdWVzdC5oIG9uY2UgdGhlIEFQSSBpcyBhZ3JlZWQgdXBvbi4KICAg
ICBXRUJLSVRfQVBJIFNvdXBNZXNzYWdlKgogICAgIHdlYmtpdF9uZXR3b3JrX3JlcXVlc3RfZ2V0
X21lc3NhZ2UoV2ViS2l0TmV0d29ya1JlcXVlc3QqIHJlcXVlc3QpOwpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXR3ZWJ2aWV3LmNwcAppbmRleCBkMmJlN2ZhLi4zMjhlMzgyIDEwMDY0NAotLS0gYS9XZWJLaXQv
Z3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXR3ZWJ2aWV3LmNwcApAQCAtMzEsNiArMzEsNyBAQAogCiAjaW5jbHVkZSAid2Via2l0ZG93bmxv
YWQuaCIKICNpbmNsdWRlICJ3ZWJraXRlbnVtdHlwZXMuaCIKKyNpbmNsdWRlICJ3ZWJraXRnZW9s
b2NhdGlvbnBvbGljeWRlY2lzaW9uLmgiCiAjaW5jbHVkZSAid2Via2l0bWFyc2hhbC5oIgogI2lu
Y2x1ZGUgIndlYmtpdG5ldHdvcmtyZXF1ZXN0LmgiCiAjaW5jbHVkZSAid2Via2l0bmV0d29ya3Jl
c3BvbnNlLmgiCkBAIC0xNTksNiArMTYwLDggQEAgZW51bSB7CiAgICAgREFUQUJBU0VfUVVPVEFf
RVhDRUVERUQsCiAgICAgUkVTT1VSQ0VfUkVRVUVTVF9TVEFSVElORywKICAgICBET0NVTUVOVF9M
T0FEX0ZJTklTSEVELAorICAgIEdFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTl9SRVFVRVNURUQs
CisgICAgR0VPTE9DQVRJT05fUE9MSUNZX0RFQ0lTSU9OX0NBTkNFTExFRCwKICAgICBMQVNUX1NJ
R05BTAogfTsKIApAQCAtMjE2NSw2ICsyMTY4LDQ4IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJf
dmlld19jbGFzc19pbml0KFdlYktpdFdlYlZpZXdDbGFzcyogd2ViVmlld0NsYXNzKQogICAgICAg
ICAgICAgV0VCS0lUX1RZUEVfTkVUV09SS19SRVFVRVNULAogICAgICAgICAgICAgV0VCS0lUX1RZ
UEVfTkVUV09SS19SRVNQT05TRSk7CiAKKyAgICAvKioKKyAgICAgKiBXZWJLaXRXZWJWaWV3Ojpn
ZW9sb2NhdGlvbi1wb2xpY3ktZGVjaXNpb24tcmVxdWVzdGVkOgorICAgICAqIEB3ZWJfdmlldzog
dGhlIG9iamVjdCBvbiB3aGljaCB0aGUgc2lnbmFsIGlzIGVtaXR0ZWQKKyAgICAgKiBAZnJhbWU6
IHRoZSBmcmFtZSB0aGF0IHJlcXVlc3RzIHBlcm1pc3Npb24KKyAgICAgKiBAcG9saWN5X2RlY2lz
aW9uOiBhIFdlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb24KKyAgICAgKgorICAgICAqIFdo
ZW4gYSBAZnJhbWUgd2FudHMgdG8gZ2V0IGl0cyBnZW9sb2NhdGlvbiBwZXJtaXNzaW9uLgorICAg
ICAqIFRoZSByZWNlaXZlciBtdXN0IHJlcGx5IHdpdGggYSBib29sZWFuIHdldGhlciBpdCBoYW5k
bGVkIG9yIG5vdCB0aGUKKyAgICAgKiByZXF1ZXN0LiBJZiB0aGUgcmVxdWVzdCBpcyBub3QgaGFu
ZGxlZCwgZGVmYXVsdCBiZWhhdmlvdXIgaXMgdG8gZGVueQorICAgICAqIGdlb2xvY2F0aW9uLgor
ICAgICAqCisgICAgICogU2luY2U6IDEuMS4yMworICAgICAqLworICAgIHdlYmtpdF93ZWJfdmll
d19zaWduYWxzW0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTl9SRVFVRVNURURdID0gZ19zaWdu
YWxfbmV3KCJnZW9sb2NhdGlvbi1wb2xpY3ktZGVjaXNpb24tcmVxdWVzdGVkIiwKKyAgICAgICAg
ICAgIEdfVFlQRV9GUk9NX0NMQVNTKHdlYlZpZXdDbGFzcyksCisgICAgICAgICAgICAoR1NpZ25h
bEZsYWdzKShHX1NJR05BTF9SVU5fTEFTVCksCisgICAgICAgICAgICAwLAorICAgICAgICAgICAg
TlVMTCwgTlVMTCwKKyAgICAgICAgICAgIHdlYmtpdF9tYXJzaGFsX0JPT0xFQU5fX09CSkVDVF9P
QkpFQ1QsCisgICAgICAgICAgICBHX1RZUEVfQk9PTEVBTiwgMiwKKyAgICAgICAgICAgIFdFQktJ
VF9UWVBFX1dFQl9GUkFNRSwKKyAgICAgICAgICAgIFdFQktJVF9UWVBFX0dFT0xPQ0FUSU9OX1BP
TElDWV9ERUNJU0lPTik7CisKKyAgICAvKioKKyAgICAgKiBXZWJLaXRXZWJWaWV3OjpnZW9sb2Nh
dGlvbi1wb2xpY3ktZGVjaXNpb24tY2FuY2VsbGVkOgorICAgICAqIEB3ZWJfdmlldzogdGhlIG9i
amVjdCBvbiB3aGljaCB0aGUgc2lnbmFsIGlzIGVtaXR0ZWQKKyAgICAgKiBAZnJhbWU6IHRoZSBm
cmFtZSB0aGF0IGNhbmNlbHMgZ2VvbG9jYXRpb24gcmVxdWVzdC4KKyAgICAgKgorICAgICAqIFdo
ZW4gYSBAZnJhbWUgd2FudHMgdG8gY2FuY2VsIGdlb2xvY2F0aW9uIHBlcm1pc3Npb24gaXQgaGFk
IHJlcXVlc3RlZAorICAgICAqIGJlZm9yZS4KKyAgICAgKgorICAgICAqIFNpbmNlOiAxLjEuMjMK
KyAgICAgKi8KKyAgICB3ZWJraXRfd2ViX3ZpZXdfc2lnbmFsc1tHRU9MT0NBVElPTl9QT0xJQ1lf
REVDSVNJT05fUkVRVUVTVEVEXSA9IGdfc2lnbmFsX25ldygiZ2VvbG9jYXRpb24tcG9saWN5LWRl
Y2lzaW9uLWNhbmNlbGxlZCIsCisgICAgICAgICAgICBHX1RZUEVfRlJPTV9DTEFTUyh3ZWJWaWV3
Q2xhc3MpLAorICAgICAgICAgICAgKEdTaWduYWxGbGFncykoR19TSUdOQUxfUlVOX0xBU1QpLAor
ICAgICAgICAgICAgMCwKKyAgICAgICAgICAgIE5VTEwsIE5VTEwsCisgICAgICAgICAgICBnX2Nj
bG9zdXJlX21hcnNoYWxfVk9JRF9fT0JKRUNULAorICAgICAgICAgICAgR19UWVBFX05PTkUsIDEs
CisgICAgICAgICAgICBXRUJLSVRfVFlQRV9XRUJfRlJBTUUpOworCiAgICAgLyoKICAgICAgKiBE
T00tcmVsYXRlZCBzaWduYWxzLiBUaGVzZSBzaWduYWxzIGFyZSBleHBlcmltZW50YWwsIGZvciBu
b3csCiAgICAgICogYW5kIG1heSBjaGFuZ2UgQVBJIGFuZCBBQkkuIFRoZWlyIGNvbW1lbnRzIGxh
Y2sgb25lICogb24KZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0bWFyc2hhbC5saXN0IGIv
V2ViS2l0L2d0ay93ZWJraXRtYXJzaGFsLmxpc3QKaW5kZXggZmVmZGZmMy4uZDhjYWE0YyAxMDA2
NDQKLS0tIGEvV2ViS2l0L2d0ay93ZWJraXRtYXJzaGFsLmxpc3QKKysrIGIvV2ViS2l0L2d0ay93
ZWJraXRtYXJzaGFsLmxpc3QKQEAgLTEsNiArMSw3IEBACiBCT09MRUFOOkVOVU0sSU5UCiBCT09M
RUFOOklOVCxJTlQsU1RSSU5HCiBCT09MRUFOOk9CSkVDVAorQk9PTEVBTjpPQkpFQ1QsT0JKRUNU
CiBCT09MRUFOOk9CSkVDVCxPQkpFQ1QsT0JKRUNULE9CSkVDVAogQk9PTEVBTjpPQkpFQ1QsT0JK
RUNULFNUUklORyxPQkpFQ1QKIEJPT0xFQU46T0JKRUNULFNUUklORwpkaWZmIC0tZ2l0IGEvV2Vi
S2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDg5ZTk0ZTEu
LmZhMDdkMzIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRU
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMC0wMi0yNCAgQXJubyBSZW5ldmll
ciAgPGFybm9AcmVuZXZpZXIubmV0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFtHdGtdIGltcGxlbWVudHMgQ2hyb21lQ2xpZW50OjpyZXF1ZXN0R2Vv
bG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTM1MjEwCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsv
RHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAgICAoZ2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvblJl
cXVlc3RlZCk6CisgICAgICAgIChjcmVhdGVXZWJWaWV3KToKKwogMjAxMC0wMi0yNiAgQXJubyBS
ZW5ldmllciAgPGFybm9AcmVuZXZpZXIubmV0PgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1
bXBSZW5kZXJUcmVlLmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVu
ZGVyVHJlZS5jcHAKaW5kZXggNzQ4MGQ4NS4uM2ViYWQ0NCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcAorKysgYi9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwCkBAIC03MzYsNiArNzM2LDE5
IEBAIHN0YXRpYyB2b2lkIGRhdGFiYXNlUXVvdGFFeGNlZWRlZChXZWJLaXRXZWJWaWV3KiB2aWV3
LCBXZWJLaXRXZWJGcmFtZSogZnJhbWUsIFdlCiAgICAgd2Via2l0X3NlY3VyaXR5X29yaWdpbl9z
ZXRfd2ViX2RhdGFiYXNlX3F1b3RhKG9yaWdpbiwgNSAqIDEwMjQgKiAxMDI0KTsKIH0KIAorc3Rh
dGljIGJvb2wKK2dlb2xvY2F0aW9uUG9saWN5RGVjaXNpb25SZXF1ZXN0ZWQoV2ViS2l0V2ViVmll
dyosIFdlYktpdFdlYkZyYW1lKiwgV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvbiogZGVj
aXNpb24pCit7CisgICAgaWYgKCFnTGF5b3V0VGVzdENvbnRyb2xsZXItPmlzR2VvbG9jYXRpb25Q
ZXJtaXNzaW9uU2V0KCkpCisgICAgICAgIHJldHVybiBGQUxTRTsKKyAgICBpZiAoZ0xheW91dFRl
c3RDb250cm9sbGVyLT5nZW9sb2NhdGlvblBlcm1pc3Npb24oKSkKKyAgICAgICAgd2Via2l0X2dl
b2xvY2F0aW9uX3BvbGljeV9hbGxvdyhkZWNpc2lvbik7CisgICAgZWxzZQorICAgICAgICB3ZWJr
aXRfZ2VvbG9jYXRpb25fcG9saWN5X2RlbnkoZGVjaXNpb24pOworCisgICAgcmV0dXJuIFRSVUU7
Cit9CisKIAogc3RhdGljIFdlYktpdFdlYlZpZXcqIHdlYlZpZXdDcmVhdGUoV2ViS2l0V2ViVmll
dyosIFdlYktpdFdlYkZyYW1lKik7CiAKQEAgLTc4Nyw2ICs4MDAsNyBAQCBzdGF0aWMgV2ViS2l0
V2ViVmlldyogY3JlYXRlV2ViVmlldygpCiAgICAgICAgICAgICAgICAgICAgICAic2lnbmFsOjpj
bG9zZS13ZWItdmlldyIsIHdlYlZpZXdDbG9zZSwgMCwKICAgICAgICAgICAgICAgICAgICAgICJz
aWduYWw6OmRhdGFiYXNlLXF1b3RhLWV4Y2VlZGVkIiwgZGF0YWJhc2VRdW90YUV4Y2VlZGVkLCAw
LAogICAgICAgICAgICAgICAgICAgICAgInNpZ25hbDo6ZG9jdW1lbnQtbG9hZC1maW5pc2hlZCIs
IHdlYlZpZXdEb2N1bWVudExvYWRGaW5pc2hlZCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICJz
aWduYWw6Omdlb2xvY2F0aW9uLXBvbGljeS1kZWNpc2lvbi1yZXF1ZXN0ZWQiLCBnZW9sb2NhdGlv
blBvbGljeURlY2lzaW9uUmVxdWVzdGVkLCAwLAogICAgICAgICAgICAgICAgICAgICAgTlVMTCk7
CiAKICAgICBXZWJLaXRXZWJJbnNwZWN0b3IqIGluc3BlY3RvciA9IHdlYmtpdF93ZWJfdmlld19n
ZXRfaW5zcGVjdG9yKHZpZXcpOwotLSAKMS43LjAKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>